【技术实现步骤摘要】
一种拆分记账方法、账务系统及支付系统
本专利技术涉及在线支付业务领域,尤其涉及一种拆分记账方法、账务系统及支付系统。
技术介绍
当前,在线支付应用的行业越来越广泛,例如电商、航旅、数娱、在线教育、投资理财、大宗交易、基金保险等等。在线支付通常需要引入第三方支付平台。第三方支付平台通常有自己的一套客户/账户/账务系统。在第三方支付平台的账务系统的处理中,数据从一个账户转出,或者有数据转入一个账户,账户都会收到记账请求,并都有一个记账处理的过程。记账处理过程主要包括两部分,一是记录记账凭证,二是更新账户的余额。现有的记账方式一般为一个账户一条余额记录,为了保证账户不被其他请求影响数据的准确性,在进行记账处理时,会先对账户的资源加锁,记账处理完毕后会自动释放锁。随着账务处理业务量的增大,账务数据库中的账户常常会在瞬间产生多个并发操作,但所有对应的并发线程中只有一个线程能够持有当前账户的资源锁,其他线程必须等待该锁被释放后再逐一进行记账处理,这样该账户将会被频繁加锁释锁,使该账户成为账务数据库热点,即热点账户,产生性能瓶颈点,严重影响账务数据库的性能。因此,需要提供一种记账方法,解决热点账户高并发的能力受制于数据库悲观锁的瓶颈限制的问题,以提高热点账户的并发量及吞吐量。
技术实现思路
本专利技术的目的在于提供一种拆分记账方法,以解决上述技术背景中提出的问题。为实现上述目的,本专利技术采用以下技术方案:本专利技术第一个方面提供了一种拆分记账方法,包括:获取账户的记账请求;判断所述账户是否属于热点账户,所述热点账户是指在交易系统中发生资金进出操作、加锁解锁操作的频率大于预 ...
【技术保护点】
1.一种拆分记账方法,其特征在于,包括:获取账户的记账请求;判断所述账户是否属于热点账户,所述热点账户是指在交易系统中发生资金进出操作、加锁解锁操作的频率大于预设阈值的账户;若所述账户属于热点账户,则进入拆分记账流程,所述拆分记账流程包括:从所述交易系统的内存中获取所述热点账户的账户余额,得到以分为单位的余额数字;将所述余额数字按照十进制单位的顺序,拆分为共计N个余额单位表,N为所述余额数字在十进制表示状态下的位数;每个余额单位表中包含M行记录,M为其所在的余额单位表所表示的十进制单位的数值;每一行记录具有一个主键ID;当所述记账请求为支出请求时,若支出金额在资金控制阈值内,则根据支出金额,分别从不同的余额单位表中删除相应行数的记录,更新所述热点账户的账户余额,并将最后一笔记录的主键ID缓存于一缓存单元,结束本次拆分记账流程;否则,拒绝本次交易;所述资金控制阈值是根据所述热点账户的历史资金流出数据得到的安全金额;当所述记账请求为入账请求时,则根据入账金额,分别从不同的余额单位表中增加相应行数的记录,更新所述热点账户的账户余额,并将最后一笔记录的主键ID缓存于一缓存单元,结束本次拆分记账 ...
【技术特征摘要】
1.一种拆分记账方法,其特征在于,包括:获取账户的记账请求;判断所述账户是否属于热点账户,所述热点账户是指在交易系统中发生资金进出操作、加锁解锁操作的频率大于预设阈值的账户;若所述账户属于热点账户,则进入拆分记账流程,所述拆分记账流程包括:从所述交易系统的内存中获取所述热点账户的账户余额,得到以分为单位的余额数字;将所述余额数字按照十进制单位的顺序,拆分为共计N个余额单位表,N为所述余额数字在十进制表示状态下的位数;每个余额单位表中包含M行记录,M为其所在的余额单位表所表示的十进制单位的数值;每一行记录具有一个主键ID;当所述记账请求为支出请求时,若支出金额在资金控制阈值内,则根据支出金额,分别从不同的余额单位表中删除相应行数的记录,更新所述热点账户的账户余额,并将最后一笔记录的主键ID缓存于一缓存单元,结束本次拆分记账流程;否则,拒绝本次交易;所述资金控制阈值是根据所述热点账户的历史资金流出数据得到的安全金额;当所述记账请求为入账请求时,则根据入账金额,分别从不同的余额单位表中增加相应行数的记录,更新所述热点账户的账户余额,并将最后一笔记录的主键ID缓存于一缓存单元,结束本次拆分记账流程。2.根据权利要求1所述的一种拆分记账方法,其特征在于,所述记账请求为支出请求时:第T-1余额单位表中的已有的记录的行数为a,欲删除的行数为b,a、b为大于等于0且小于等于9的自然数;当a≥b时,第T-1余额单位表中的记录更新为(a-b)行;当a<b时,第T-1余额单位表中增加(10-b)行新记录,同时,与其相邻的更高单位的第T余额单位表中删除一行记录;其中,T为大于等于2且小于等于N的自然数。3.根据权利要求1所述的一种拆分记账方法,其特征在于,所述记账请求为入账请求时:第T-1余额单位表中的已有的记录的行数为a,欲增加的行数为c,a、c为大于等于0且小于等于9的自然数;当a+c≤9时,第T-1余额单位表中的记录更新为(a+c)行;当a+c>9时,第T-1余额单位表中删除(10–c)行记录,同时,与其相邻的更高单位的第T余额单位表中增加一行记录;其中,T为大于等于2且小于等于N的自然数。4.根据权利要求1所述的一种拆分记账方法,其特征在于,所述拆分记账方法还包括并发处理流程,所述并发处理流程包括:当每个记账请求到来时,若需要更新所述余额单位表的记录,则获取所述缓存单元中该余额单位表中最后一笔记录的主键ID的值ID;从所述缓存单元中抢占主键ID区域进行记账操作;所述主键ID区域为ID+1,ID+2,……,ID+K,K为大于等于1的自然数,表示欲删除或欲增加记录的行数。5.根据权利要求1所述的一种拆分记账方法,其特征在于,所述拆分记账方法还包括:第T-1余额单位表中的已有的记录的行数为a,欲删除的行数为b,a、b为大于等于0且小于等于9的自然数;当第T-1余额单位表中的记录在删除过程中出现异常,则a≥b时,第T-1余额单位表中的记录增加b行;a&...
【专利技术属性】
技术研发人员:舒蓁,王峰,
申请(专利权)人:宝付网络科技上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。