- 博客(462)
- 资源 (1)
- 收藏
- 关注

原创 基于订单号可重入的交易系统接口设计探讨
基于订单号可重入的交易系统接口设计探讨 在交易系统的设计和实现中,接口的可重入性设计是及其关键的,可重入性也叫接口操作的冥等性保障,那么什么叫冥等性呢?在交易系统中,为什么需要这个特性? 冥等性,顾名思义,就是接口的多次操作和一次操作的效果是一样的,这里的效果指的是对后端系统的状态变更不存在副作用(side-effect)。举一个例子,比如查询类接口,都是具有冥等性的,对同一输入参数的多次查询操作,都没有对后端系统的状态变更产生副作用,或者说,后端系统的状态不会因为该查询接口...
2021-10-05 15:41:27
3891

原创 不合理超时设置带来的“坑”
在后台服务的实现中,我们通过基于TCP/UDP协议封装起来的RPC机制实现了跟不同系统的通信,进而协同各个系统完成一系列业务流程和功能的执行,在这个过程中,每个参与合作的子系统都有自己的能力描述,如并发能力,响应速度,接口稳定性和安全级别等。并发能力是其中非常关键的一个指标,我们常用TPS等指标进行描述,表示单位时间内能够处理的事务数量。在多进程模型中:假如系统启用了n个处...
2019-10-05 11:15:30
1674
原创 以太坊的三种同步模式
全同步:获取区块链所有区块的header和body,并校验其中的每一笔交易,需要下载所有的区块数据信息,同步速度最慢,但是数据最全; 快速同步:获取区块链所有区块的header和body,抽查其中的区块进行检查,概率性地保证整个区块链的合法性。在接近最新区块时切换为全同步方式。此方法可能会对历史数据有丢失,但不影响今后的使用; 轻同步:仅下载区块链的header。...
2019-12-10 11:33:28
2587
原创 【设计价值观】架构设计核心价值观之一
一,变更是万恶之源,所有架构设计的核心挑战是如何应对变更。 变更来源很多,可能来自业务特性的变化,也可能来自用户行为触发的系统资源调度变化。二,好的原则应该是:变更的范围应该跟变更的频度成反比。 如果一个变更涉及的范围很大,我们应该控制它变更的频率,相反,若一个变更的频率很大,我们应该减少变更的影响范围。...
2019-09-29 15:34:28
1107
转载 GeoHash原理分析
引子机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算所在位置P与北京所有餐馆的距离,然后返回距离<=1000米的餐馆。小得意了一会儿,机...
2018-11-02 09:50:57
1096
原创 模拟单机故障很有用的文件/proc/sysrq-trigger
# 立即重新启动计算机echo "b" > /proc/sysrq-trigger # 立即关闭计算机echo "o" > /proc/sysrq-trigger # 导出内存分配的信息 (可以用/var/log/message 查看)echo "m" > /proc/sysrq-trigger # 导出当前CPU寄存器信息和标志位的信息
2018-01-02 11:48:49
6159
原创 互联网金融的分类监管主体
根据最新出台的《关于促进互联网金融健康发展的指导意见》,对互联网金融涉及的业态和对应的监管主体进行了明确,总结如下:一,互联网金融是传统金融机构与互联网企业(以下统称从业机构)利用互联网技术和信息通信技术实现资金融通、支付、投资和信息中介服务的新型金融业务模式。二,主要业态: (1)互联网支付。互联网支付是指通过计算机、手机等设备,依托互联网发起支付指令、转移货币资金的服务。互联网支付
2017-08-02 20:36:50
10208
原创 关于会计对账的一点总结和思考
会计学有一个很重要和很出名的公式,相信很多人都见过:资产 = 负债 + 所有者权益 + 收入 – 费用 但会计学上还有另外一个比较隐蔽的公式,虽然不像上面的公式那么出名,但也经常能见到它(或者变种运用)的身影那就是,即期末值=期初值+期间变化值,也就是期末值=期初值+期间入-期间出。该公式非常简单,也很容易理解,并且大量的用于计算和核对两个前后时间点的会计值的关系,
2017-01-22 14:50:50
10633
1
原创 江南愤青关于对互联网金融的一点看法
本文是笔者近期在听江南愤青《关于互联网金融的一点看法》后,快速梳理的笔记,作为一些主要观点的总结,具体如下: 一,关于信贷1,对企业借贷,主要依赖周期性行业,在经济周期好的时候,整体行业赚钱,那么信贷的坏账率就低,否则,经济周期不好,整体亏钱,信贷坏账率就高。2,客户群:帐好的人即很有钱的人无需借钱,账不好的人借不到钱,因此,核心客户群是寻找那些账不好不坏的人,只有能赚钱的人才会借
2016-09-14 08:50:07
4909
原创 非银行支付机构网络支付业务管理办法对第三方支付账户的影响
2016年7月1日开始正式实施的>对第三方支付的帐户有更严格的要求,按照监管规则实施分类管理,笔者在理解相关管理办法的基础上进行了简单梳理,总结如下: 其中:第十五条、因交易取消(撤销)、退货、交易不成功或者投资理财等金融类产品赎回等原因需划回资金的,相应款项应当划回原扣款账户。---tenfy:监管对退款原路返回的要求。 第二十条、支付机构应当依照中国人
2016-06-17 20:47:06
9598
原创 互联网+消费金融的打法思考
最近几年,互联网+已经形成了业界和国家战略,各行各业也开始积极的拥抱互联网,其中一个很重要的领域:互联网+金融,随着余额宝,微信红包等的走红,广大民众也开始逐步理解和接受互联网+金融的理念和模式。 互联网+消费金融,笔者认为是最具挑战性的一个,消费金融=消费+金融,而消费的核心是场景,金融的核心是风控,为什么这么说呢?大家知道,蚂蚁金服的整个互联网金融战略其实是建立在其电商成功
2016-05-11 18:46:13
5288
原创 使用flock命令确保脚本单例执行
使用flock命令确保脚本单例执行 问题的背景: 我们常常需要通过crontab部署某个脚本运行某些定时任务,但在实际的过程中,一旦处理不好可能导致在同一时刻出现脚本的多个运行副本,比如crontab的调度是每5 分钟运行一次脚本,如果运行的脚本能够在5分钟内处理完任务并退出,则没问题,同一时刻最多只有一个脚本在运行,但如果脚本如果无法在5分钟内处理完任务并退出,则意味着在
2016-03-30 10:59:50
12968
原创 关于android apk包签名的简要说明
1, Andoid系统会在安装apk的时候,检查签名,签名不同,没有签名或者签名不通过的,不能进行安装或者覆盖,方法是:获取打包在apk里面的数字证书(里面有公钥),该证书是自签名证书,用证书公钥验证该证书的合法性(该证书有自己的私钥对该证书进行签名,而不是第三方权威机构的私钥),判断证书的有效期,然后利用该证书的公钥对包文件的签名进行验证。2, 对于发布者来说,需要生成xxx.k
2016-03-23 09:29:09
5099
1
原创 quick-mark: How Latency is Measured
our latency measurements target the hardware latency and are performedusing NetPIPE from:http://www.scl.ameslab.gov/netpipe/ NetPIPE performs a ping-pong transfer of various-sized packets to
2016-02-19 18:12:40
3353
原创 减少网卡中断收包产生的CPU消耗
目标:减少网卡中断收包产生的CPU消耗。优化的措施:1, 减少收包的队列数:igb.RSS2, 减少中断调用的次数:rx-usecs Some useful tips:1, IGB driver requires the following parameterigb.RSSwhich demonstrates the number of Receive-Sid
2015-12-30 15:29:15
7326
原创 快速备注一下IMSI和IMEI的区别
baidu了一下,结果如下:一,IMSI国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,使用0~9的数字。二,IMEIIMEI(International Mobile Equipment Id
2015-12-20 13:19:26
27713
1
原创 性能优化:Swap调优
目标:解决大量Log写入占用大量的File Cache,内容利用不充分导致swap基本原则:尽量使用内存,减少swap,同时,尽早flush到外存,早点释放内存给写cache使用。---特别在持续的写入操作中,此优化非常有效。调优措施:vm.swapiness :60 改成 10vm.dirty_ratio:90 改成 10vm.dirty_background_ratio:6
2015-12-05 14:42:16
28356
1
转载 Better Linux Disk Caching & Performance with vm.dirty_ratio & vm.dirty_background_ratio
by BOB PLANKERS on DECEMBER 22, 2013in BEST PRACTICES,CLOUD,SYSTEM ADMINISTRATION,VIRTUALIZATIONThis is post #16 in my December 2013 series about Linux Virtual MachinePerformance Tuning. For mor
2015-12-05 14:21:04
4452
原创 互联网金融系列-支付清算体系例子-下
笔者上一篇《互联网金融系列-支付清算体系介绍-上》已经比较全面的介绍了以银联为例子的支付清算体系,为了更好的理解里面的运作,本章以两个例子为重点,全面剖析整个清算的过程。1,记账原则 这块跟会计相关,不清楚的同学可以先看一下笔者之前的文章《第三方支付架构设计之-账户体系》,在会计学上,需要分清楚一个概念:会计主体,简言之,就是会计信息体现或者代表谁的经济利益,代表给谁做的账。
2015-08-10 14:07:53
30833
1
原创 互联网金融系列-支付清算体系介绍-上
一,支付清算体系的简介 支付清算体系是一个国家的金融基础设施,或说公共服务。我国由央行主管此事,目前大体维持“结算-清算”二级制的支付体系。通俗地讲,银行与商户、消费者之间为结算关系,而银行之间构成清算关系,两个层次交易完成后,支付环节才算终了。清算,其实就是因跨行交易而产生的银行间债务债权进行定期净轧(比如每日),以结清因跨行交易产生的债务债权。清算更为底层,是一个平台,由央行主
2015-08-05 11:24:41
66667
原创 Android媒体播放器MediaPlayer类的使用总结
MediaPlayer封装了播放音频和视频的能力,简单总结如下:1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用create的方式,如: MediaPlayer mp = MediaPlayer.create(this, R.raw.test_medi
2015-07-22 23:38:09
7747
原创 android中无法在华为手机输出Log.v和Log.d级别的日志问题总结
需要打开华为手机的相关Log开关,具体步骤如下:1. 进入拨号界面输入:*#*#2846579#*#*2. 依次选择ProjectMenu---后台设置----LOG设置---LOG开关 点击打开, 然后在LOG级别选VERBOSE3、 重新启动手机
2015-06-30 13:18:22
15823
原创 Android开发:getViewById返回null的原因定位
最近在研究开发一些基于Android的App,遇到了一些问题,其中一个比较关键的是在Activity中的onCreate()方法中获取Button对象,代码大概如下: private Button mTrueButton;@Overridepublic void onCreate(Bundle savedInstanceState){ super.onCreate(save
2015-06-22 23:06:07
6072
原创 黑暗中的管理效能提升总结
今天,非常有幸参加了一次提升管理效能的培训,我们在黑暗中组建团队,并通过团队完成了一系列看起来不可思议的项目,在这个过程中,我们走过弯路,遇到过挫折,但团队快速进行总结,重新整理思路,通过一次次高效的合作最终完成了一系列既定的目标。 我想,这样的训练非常有意义,并且坚信训练中遇到的各种各样的问题,也是我们在实际团队管理中遇到的真实问题的写照,每一个项目都是现实问题的一个缩影,对这些问
2015-05-14 23:29:51
3851
转载 HCE技术实战分析
Google开始放出HCE的支持后,掀起了巨大的反响。 摆脱了SWP-SIM对运营商的依赖,摆脱了eSE对手机厂商的依赖,其对于产业生态的影响不言而喻。网上基于HCE的前景和应用讨论的不亦乐乎,但技术层面的资料却乏善可陈。现我们就通过一个具体的实现来揭秘HCE,同时给出一个技术层面的理解。 首先,需要的环境: 一个支持Android 4.4.2 SDK的开发
2015-04-15 20:24:06
3029
原创 降低IO操作的利器/dev/shm
IO问题是比较重要的一部分,mysqldump之后的数据若还需要进行一次sed替换表名进行路由,更是加重了IO的压力,这时候就可以使用linux自带的/dev/shm目录保存、修改、导出数据。这个目录就是把内存当作了普通文件系统(tmpfs)挂载到了/dev/shm
2015-03-31 14:54:36
2572
原创 第三方支付架构设计之—自有账户支付
笔者在上一篇blog>中已经稍微全面的阐述了第三方支付架构设计中的账户体系,在该体系中,其实涉及了各种各样的账户:银行侧账户(包括用户在银行侧的账户:用户借记卡,信用卡,商户在银行侧的清算账户,结算账户等),第三方支付自有账户(跟银行侧账户比较类似,包括用户在第三方支付公司的账户和商户在第三方支付公司的账户)等。 我们知道,第三方支付本身是不直接接触实际资金的,所有的资金流必
2015-01-31 23:22:57
23406
2
原创 第三方支付架构设计之—帐户体系
第三方支付架构设计之—帐户体系一, 什么是第三方支付? 什么是第三方支付?相信很多人对这个名字很熟悉,不管是从各种媒体等都经常听到,可以说是耳熟能熟。但,如果非得给这个名词总结出一个概念,却发现很难准确和全面的表述清楚。不过关系不大,我们无法给出一个很准确的概念的时候,我们就列举一下实际生活中我们经常使用第三方支付的例子:支付宝,财付通,微信支付等等,这些就是我们国
2014-12-01 23:29:56
109867
4
原创 PBOC2.0安全系列之—脱机认证之动态数据认证(DDA)
动态数据认证:一,什么是动态数据认证(DDA)由于上篇 PBOC2.0安全系列之—脱机认证之静态数据认证(SDA)>>已经对静态数据认证部分做了详细的分析,一些基本知识本章不重复说明,需要明确指出的是:无论SDA和DDA,两者都是属于脱机认证的范围。在上一篇中,我们知道静态数据认证(SDA)的目标是解决发卡行静态数据的防篡改,但局限是无法防止复制卡或者伪造卡的情况,而这种复制卡和伪
2014-11-12 15:55:39
8456
原创 PBOC2.0安全系列之—脱机认证之静态数据认证(SDA)
PBOC2.0安全系列之—脱机认证之静态数据认证(SDA)一,什么是PBOC2.02005年3月13日,人民银行发布第55号文,正式颁发了《中国金融集成电路(IC)卡规范》(简称PBOC2.0)。该规范补充完善电子钱包/存折应用;增加借/贷记应用;增加非接触式IC卡物理特性标准;增加电子钱包扩展应用指南、借/贷记应用个人化指南等内容。 二,什么是脱机认证?PBOC数据认证方面,
2014-11-10 19:02:36
8926
3
原创 【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
1. HTTPS1.1. 什么是HTTPSHTTPS(HypertextTransfer Protocol Secure)即安全的HTTP。HTTPS的安全基础是安全套接层(Secure Sockets Layer,SSL)。HTTP工作在应用层(OSI模型的最高层),SSL协议工作在一个较低的子层,位于TCP/IP协议和HTTP协议之间。在HTTP报文传输前对其加密,并在到达时对其解密
2014-11-09 23:06:27
18356
原创 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
一,对称加密所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k。 对称加解密的过程如下:发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密钥)才能进行通信。发送端用共享密钥k对明文p进行加密,得到密文c,并将得到的密文发送给接收端,接收端收到密文后,并用其相同的共享密钥k对密文进行解密,得出明文p。 一般加密和解密的
2014-11-08 17:48:03
11402
7
转载 PBOC规范研究之四、文件结构及访问
来自:http://blog.sina.com.cn/s/blog_a20257d80101l9k5.html
2014-10-29 19:12:24
4954
原创 PBOC APUD指令学习--SELECT命令
一,终端发送的数据: 00 A4 04 00 0E 命令解释: LC(0E)是终端发送给卡片数据的长度. 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 解释:终端首先尝试用目录选择方法选择应用,用PSE名“1PAY.SYS.DDF01”向卡片发送SE
2014-10-29 18:47:39
10686
转载 nginx折腾记(HTTP性能能测试,与Apache对比)
来自:http://www.cnblogs.com/killkill/archive/2010/04/14/1711810.html
2014-10-24 14:24:11
1871
原创 备注一下两个关于网络协议栈的网址
http://blog.chinaunix.net/uid-24148050-id-464587.htmlhttp://godorz.info/2011/09/
2014-07-11 10:49:11
1064
原创 依赖外部数据源准确性的活动设计
最近团队做了一个世界杯的活动,活动的内容很简单:用户在比赛前进行竞猜比赛结果并支付一定的金额提交,如果比赛结束10分钟后,竞猜正确,则有机会获得一定的礼物赠送。那么这个活动中,很关键的一个问题是:系统如何准确的知道在比赛结束10分钟后的结果;基本思路有两种:一,一个人值班,实时观察比赛,一旦有结果,马上录入系统; 这个方法的好处是:不容易出错,因为是人工确认后录入的,但最大的问题是
2014-07-11 10:45:43
1446
原创 移动互联网的架构设计浅谈一
一,图片体验的优化。 在手机上显示图片,速度是一个非常重要的体验点,试想,如果您打开一个网站,发现里面的图片一直显示失败或者是x,稍微做得好一点的,可能是一个不消失的loading或者是菊花等等,但不管如何, 没能快速的拉取和展示图片对用户体验是一个极大的挑战。那么,手机上的图片体验如何做呢?这里笔者有些小总结: 1,减少图片的大小。在失真度和图片大小中做好折衷,尽量利用
2014-06-24 15:34:06
10703
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人