[发明专利]一种高交易并发量的处理方法在审
申请号: | 201710401191.6 | 申请日: | 2017-05-31 |
公开(公告)号: | CN107274162A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 屈鸿京 | 申请(专利权)人: | 深圳市长亮科技股份有限公司 |
主分类号: | G06Q20/10 | 分类号: | G06Q20/10;G06Q20/24;G06Q20/40;G06Q40/02;G06F17/30 |
代理公司: | 深圳市深软翰琪知识产权代理有限公司44380 | 代理人: | 吴雅丽 |
地址: | 518000 广东省深圳市南山区粤*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 交易 并发 处理 方法 | ||
技术领域
本发明涉及金融系统中存在高交易并发量的处理,尤其是针对银行业务系统中的热点账户的数据处理。
背景技术
当前银行业务系统中,经常会出现一些针对同一个账户进行大量的业务交易,例如同一个账户的频繁转账需要更新数据库中的账户记录,通常我们将一秒内交易并发量高达500笔的账户称为热点账户。相应的,对这些交易量大并涉及热点账户更新的业务,称之为热点账户业务;交易量小或不涉及热点账户更新的业务,视为非热点账户业务。
通常,对于银行业务系统中的一条账户记录的更新,一般需要如下过程,首先对这条账户记录的数据进行锁定(lock),锁定完成后,对其余额进行更新,然后释放锁定(unlock),这是为了防止其他业务对这个账户数据也同时进行操作,避免不必要的数据错误,保证同一时间只有一个业务主体在对其账户数据进行操作。假设数据库对数据进行一次更新需要使用10毫秒的时间,而如果遇到交易并发量巨大的热点账户,则需要一分钟内处理几千甚至上万次的操作,那么数据库就会来不及响应,最后崩溃。即便是到IT技术如此发达的今天,热点账户依然是困扰很多银行业务系统的顽疾。
现有的银行业务系统中没有对热点账户进行特别的处理,因而当出现热点账户时,具有如下问题:1、数据库行级锁导致响应时间长,交易处理缓慢;2、长时间的堆积堵塞,会导致很多交易请求最终超时失败,原因为系统的处理能力不够;3、而如果变更现有的锁定-更新-释放锁定的数据处理方式,则会存在资金风险、交易成功失败不确定风险。
发明内容
因此,针对上述的问题,本发明提出一种高交易并发量的处理方法,针对银行业务系统中的热点账户(高交易并发量)执行特别处理:采用临时止付及延时记账措施,实现一种临时止付延时记账方案,提高系统并发能力,解决热点账户导致的数据库来不及响应的顽疾。
具体的,为了解决上述技术问题,本发明所采用的技术方案是,一种高交易并发量的处理方法,包括:
预设一热点账户表,该热点账户表内预先存储了热点账户的账号;
接收账户的交易处理请求,查询该账户的账号是否在热点账户表里;其中,账户的交易处理请求包括余额更新、账户明细、动账通知、核算明细等等请求;
如果该账户存在于热点账户表里,则调用热点账户流程对该账户的交易处理请求进行处理;
热点账户流程处理账户的交易处理请求的过程中,在待处理账务队列中添加异步任务,该异步任务用于处理账户的交易,并将账户的交易分为两个流程处理,一个流程处理余额更新请求以及解止付;另一个流程处理除余额更新以外的账务处理请求,例如账户明细、动账通知、核算明细等等处理请求。
进一步的,热点账户流程对账户的交易处理请求进行处理,包括:
判断该账户是借方账户还是贷方账户,如果该账户是借方账户,则转到借方热点账户的处理步骤,如果该账户是贷方账户,则转到贷方热点账户的处理步骤。
其中,所述借方热点账户的处理步骤包括::
步骤1:在独立事务中处理借方止付,同时往热点账户临时止付表中添加止付记录;热点账户临时止付表用于记录处理过程中对账户实施临时止付的记录;
步骤2:对该借方账户的可用额度检查,如可用额度小于0则交易立即失败,并退出;可用额度由可用额度算法计算得到;
步骤3:如果可用额度大于0,对贷方账户更新;
步骤4:对借方账户更新,在待处理账务表(待处理账务队列)中添加异步任务,该异步任务分为两个流程(记为第一流程和第二流程)处理,第一流程处理余额更新以及解止付;第二流程处理除余额更新以外的账务处理;同时,添加账户余额变更的冲正日志;其中,处理时,第一流程只处理余额更新以及解止付,对借方账户明细、动账通知、核算明细等处理全部略过,由第二流程进行延时批量处理;
步骤5:若更新不成功,则交易失败、出现异常,释放借方止付:在热点账户临时止付表中删除本次交易添加的所有止付记录。本操作在主事务回滚后处理。
所述贷方热点账户的处理包括如下步骤:
步骤1:贷方账户更新:在待处理账务表中添加异步任务,该异步任务分为两个流程(记为第一流程和第二流程)处理,第一流程处理余额更新以及解止付;第二流程处理除余额更新以外的账务处理;其中,贷方账户明细、动账通知、核算明细等处理全部略过,由异步的延时批量处理;同时,添加账户余额变更的冲正日志;在热点账户临时止付表中添加止付记录(可采用负数),添加账户余额变更的冲正日志;
步骤2:借方账户更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市长亮科技股份有限公司,未经深圳市长亮科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710401191.6/2.html,转载请声明来源钻瓜专利网。