CN107977837A - 热点账户的余额控制方法及装置 - Google Patents
热点账户的余额控制方法及装置 Download PDFInfo
- Publication number
- CN107977837A CN107977837A CN201711104944.3A CN201711104944A CN107977837A CN 107977837 A CN107977837 A CN 107977837A CN 201711104944 A CN201711104944 A CN 201711104944A CN 107977837 A CN107977837 A CN 107977837A
- Authority
- CN
- China
- Prior art keywords
- remaining sum
- account
- sub
- hot spot
- threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/227—Payment schemes or models characterised in that multiple accounts are available, e.g. to the payer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供了一种热点账户的余额控制方法及装置,其中,该方法包括:当判断交易请求的交易金额绝对值大于第一阈值时,控制处理交易请求的进程与第一余额子账户进行交互处理;当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理交易请求的进程与第二余额子账户进行交互处理;上述热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;第一余额子账户中的余额大于第二阈值,第二余额子账户中的余额小于第三阈值,第二阈值大于第三阈值。上述技术方案提高了热点账户余额控制的并发率和稳定性,从而提高了热点账户交易的处理效率和稳定性。
Description
技术领域
本发明涉及余额控制技术领域,特别涉及一种热点账户的余额控制方法及装置。
背景技术
高频率访问的账户为热点账户。对于这样一个金融交易频率大的热点账户,由于存取款都需要进行余额检查并且更新余额,现有对热点账户的余额控制压力大,导致热点账户的交易处理效率低。
发明内容
本发明实施例提供了一种热点账户的余额控制方法,用以提高热点账户余额控制的并发率和稳定性,该方法包括:
当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第一余额子账户进行交互处理,更新第一余额子账户中的余额;
当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额;
热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;第一余额子账户中的余额大于第二阈值,第二余额子账户中的余额小于第三阈值,第二阈值大于第三阈值。
本发明实施例还提供了一种热点账户的余额控制装置,用以提高热点账户余额控制的并发率和稳定性,该装置包括:
第一余额子账户控制单元,用于当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第一余额子账户进行交互处理,更新第一余额子账户中的余额;
第二余额子账户控制单元,用于当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额;
热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;第一余额子账户中的余额大于第二阈值,第二余额子账户中的余额小于第三阈值,第二阈值大于第三阈值。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上所述的热点账户的余额控制方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行如上所述的热点账户的余额控制方法。
本发明实施例提供的技术方案:
首先,将热点账户的余额分为N个子账户,每个子账户独立进行余额控制,每个子账户不需要和其它子账户进行交互,因此,整体并发性能提高接近N倍,账户余额更新压力不是集中到一个账户上,分散了交易的压力,减轻了热点账户的余额处理的压力。
其次,将N个余额子账户分为一个第一余额子账户和M个第二余额子账户,第一余额子账户中的余额大于第二阈值,第二余额子账户中的余额小于第三阈值,第二阈值大于第三阈值,这样第一余额子账户中的余额远大于第二余额子账户中的余额,当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第一余额子账户中的余额;当判断外部交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额,减少了余额小的第二余额子账户中余额不足的频率,实现了对热点账户余额稳定地控制。
综上所述,本发明实施例提供的技术方案提高了热点账户余额控制的并发率和稳定性,从而提高了热点账户交易的处理效率和稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例中热点账户的余额控制方案的原理示意图;
图2是本发明实施例中从生产环境采集的某账户交易金额分布示意图;
图3是本发明实施例中热点账户的余额控制方法的流程示意图;
图4是本发明实施例中N个账户的余额设置分布的示意图;
图5是本发明实施例中不能中途解锁的情况下余额控制的流程示意图;
图6是本发明实施例中可解锁交易逻辑情况下余额控制的流程示意图;
图7是本发明实施例中热点账户的余额控制装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
银行某些账户由于特殊用途,而导致交易量特别大,而由于账户的特殊性不宜划分为多个账户,由于硬性要求客户将账户拆分为多个账户,这样做的结果导致银行的对外服务质量变差,客户不能透明地对待账户,因此,这就使得必须同时解决账户的余额控制问题和并发访问问题。
由于发明人考虑到现有技术存在的技术问题,提出了本发明的热点账户的余额控制的技术方案:
A.余额分桶:在绝大多数情况下,高频访问的账户,多半是企业的公用账户,其中会有大量的资金积存,如果要实现余额控制的并行化处理,这是非常重要的。在实际应用中,可根据账户资金积存的情况和账户交易频度以及环境所能提供的资源,将账户余额按照一定比例分为N个子账户(本文简称为桶)独立进行余额控制,如图1所示。由于绝大多数情况,桶子的余额是足够的,所以可以不需要和其他桶子进行交互,整体并发性能提高接近N倍。
本发明实施例中大桶均指的是第一余额子账户,小桶指的第二余额子账户。本发明实施例中将一个热点账户的余额分成N桶,即N个余额子账户,该方案是将一个热点账户的余额分成N个子账户,而不是上文所提到的硬性要求客户将账户拆分为多个账户,意义不同。
B.适时串行化:账户余额分桶以后,如果出现单桶余额不足的情况,为了避免访问其他桶造成死锁,采用从大桶开始的串行化处理。
C.设置大桶:由于账户交易金额并不是均衡的,实际上应当是符合指数分布。对于交易金额特别巨大的(超过某个设定阈值,可以是第一阈值),交易路由到大桶处理。大桶(第一余额子账户)包含账户设定比例的余额(例如是大于第二阈值的余额)。如果大桶余额仍然不足,则依次访问剩余小桶(第二余额子账户)。
D.小桶余额匀化处理:在小桶支取余额不足时,首先扣减大桶余额,如果大桶余额充足(超过设定的和平均交易余额的设定比例,例如大于第五阈值),则将大桶余额划出一部分(设定的划拨金额,即设定金额),拨入余额不足的小桶。存入较小金额(例如小于第四阈值时)时,也存入小桶中,这样就使得小桶余额保持基本的平衡。
本发明实施例提供的热点账户的余额控制技术方案适用于交易金额小的交易多,交易金额越大,发生频率越低的热点账户,理由是发明人经过了大量的实验,在某时间段内,对多个不同的热点账户的交易进行了分析,分析结果如下:
图2是从生产环境采集的某账户交易金额分布图,横坐标为交易金额绝对值,纵坐标为此种交易金额附近的交易数量的比例,根据图2所示,上述分布的特征为:发生额绝对值较小的交易比较密集,而发生额大的,比较稀疏。
根据上述可知,交易请求与交易请求之间理论上是不存在相关性,这就导致每个交易请求的交易金额近似符合指数分布,就是交易金额小的交易多,交易金额越大,发生频率越低。如果符合这个分布,就比较适合使用本发明实施例提出的分桶方法(将热点账户的余额分成N个余额子账户)。
下面对本发明提出的热点账户的余额控制的技术方案进行详细介绍。
图3是本发明实施例中热点账户的余额控制方法的流程示意图,如图3所示,该方法包括:
步骤101:当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第一余额子账户进行交互处理,更新第一余额子账户中的余额;
步骤102:当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额;
热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;第一余额子账户中的余额大于第二阈值,第二余额子账户中的余额小于第三阈值,第二阈值大于第三阈值。
本发明实施例提供的技术方案:
首先,将热点账户的余额分为N个子账户,每个子账户独立进行余额控制,每个子账户不需要和其它子账户进行交互,因此,整体并发性能提高接近N倍,账户余额更新压力不是集中到一个账户上,分散了交易的压力,减轻了热点账户的余额处理的压力。
其次,将N个余额子账户分为一个第一余额子账户和M个第二余额子账户,第一余额子账户中的余额大于第二阈值,第二余额子账户中的余额小于第三阈值,第二阈值大于第三阈值,这样第一余额子账户中的余额远大于第二余额子账户中的余额,当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第一余额子账户中的余额;当判断外部交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额,减少了余额小的第二余额子账户中余额不足的频率,实现了对热点账户余额稳定地控制。
综上所述,本发明实施例提供的技术方案提高了热点账户余额控制的并发率和稳定性,从而提高了热点账户交易的处理效率和稳定性。
具体实施时,本发明实施例中第一余额子账户(大桶)的数量也可以根据实际工作需要设置2个或2个以上。
发明人发现:对于余额控制要求不严格的,可以采用异步补录的方式完成,就是联机只是完成子账户的入账,子账户允许透支,在后台启动补录进程,补录进程串行完成所有入账操作的账户余额更新。由于账户余额和子账户余额之间并非是同步的,所以余额控制会出现假的余额不足现象,甚至假的余额充足现象。为了避免这种余额假充足和不足的现象,发明人提出了如下方案:
在一个实施例中,上述热点账户的余额控制方法还可以包括:
当交易请求为取款请求时,在判断N个余额子账户其中之一的余额不足时,控制从第一余额子账户开始至第二余额子账户的串行化更新余额。
具体实施时,串行化处理,主要是保证余额的判定是真实的。在余额不足时,实际上未必是所有桶之和不足时,要动用其他桶的余额,往往设计不好就会造成死锁。交易本身很难判定死锁,也避免不了余额仍然不足的问题。串行化可以简单彻底地解决死锁问题,所有多桶加锁都从大桶开始。
因此,通过上述可知,余额不足时的简化串行处理机制,这个机制不仅简洁,保证余额的真实性,而且从原理上彻底解决了死锁问题。
在一个实施例中,当外部交易请求为取款请求时,在判断N个余额子账户其中之一的余额不足时,控制从第一余额子账户开始至第二余额子账户的串行化更新余额,可以包括:
以从第一余额子账户开始至M个第二余额子账户的顺序,为第一余额子账户和每个第二余额子账户各设置一个串行标志,将每笔交易请求加入与第一余额子账户交互的队列;
依次为N个余额子账户加锁;
当判断N个余额子账户的余额合并后余额充足时,扣减余额,如果不充足,进行交易失败回滚操作。
通过上述可知,具体实施时,串行化更新余额主要包括如下步骤:
a)设置串行标志,所有入桶(N个余额子账户)操作将因该标志被串行化,所有操作遇到该串行标志后,都加入大桶(第一余额子账户)操作队列,而不是在小桶(第二余额子账户)处排队;
b)依次加锁小桶,需要等待已经获得小桶锁的操作处理完成;
c)所有小桶处理完成后,小桶和大桶的余额合并可得出最终的余额是否充足的情况,如果充足,交易结束,如果不充足,交易失败回滚。
在一个实施例中,上述热点账户的余额控制方法还可以包括:
当判断交易请求为存款请求,存款请求中的交易金额小于第四阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,将存款请求中的交易金额更新至第二余额子账户中;所述第四阈值小于第三阈值。
具体实施时,存入较小金额(交易金额小于第四阈值)时,也存入小桶(第二余额子账户)中,这样就使得小桶余额保持基本的平衡,保证了余额控制的稳定性,交易稳定进行。
在一个实施例中,上述热点账户的余额控制方法还可以包括:
当判断第一余额子账户的余额超过第五阈值时,将第一余额子账户的余额划出设定金额至第二余额子账户中;所述第五阈值根据交易金额均值的比例进行设定。
具体实施时,大桶余额超过设定上限(第一余额子账户的余额超过第五阈值),给所有小桶分配额度,使得小桶余额不至于太少,保证了余额控制的稳定性。
具体分配给哪个小桶(第二余额子账户),可以是判断哪个少给哪个,或是平均分发,实现了对小桶(第二余额子账户)余额均匀化处理,小桶余额匀化处理的算法有多种,但考虑到效率,尽量减少无谓的匀化处理,本发明采用余不足时刻才进行从大桶划拨,而不是小桶之间划拨,或者另起划拨进程。将大桶(第一余额子账户)余额划拨到小桶(第二余额子账户),使得小桶余额保持可用,保证了余额控制的稳定性,进而保证热点账户并发交易的稳定进行。
具体实施时,在小桶(第二余额子账户)余额不足时,适时补充小桶余额,可以减少补充频率,例如像小桶补充余额可以发生在串行化更新余额期间,这样不必单独占用***资源,另加进程,节省了***资源。
在一个实施例中,上述热点账户的余额控制方法还可以包括:根据更新第一余额子账户中余额的频率小于1/N的频率的场景,设定所述第一阈值;
第二余额子账户中的余额大于所述第一阈值。
具体实施时,由于交易金额的分布特征,特设置一个大桶,M个小桶来分散交易的压力,为了叙述方便,本发明实施例以设置1个大桶,10个小桶举例说明,如图4所示。凡是交易金额绝对值大于某一个设定值A(比如均值的5倍,设定值A可以是第一阈值),由大桶来处理,其余的随机选取,A的值保证小于1/11的交易会落到大桶里,但A不宜设置得过大,因为这会导致路由到小桶的大金额交易很快余额不足或者小桶的余额铺底过高。
具体实施时,在主机CICS环境中,可以根据AOR(应用程序所在的CICS)数目来设定小桶数目,每个AOR对应一个小桶。
具体实施时,账户余额在迁移时,在每个小桶中配备大于A的余额B(视总余额而定,比如10倍的A,也就是平均50笔纯借记交易),使得绝大部分小金额交易不会导致小桶余额不足。
在一个实施例中,上述热点账户的余额控制方法还可以包括:
根据不同的场景下对热点账户的评估测试结果,分析出热点账户的特征,根据热点账户的特征,重新设定第一阈值、第二阈值、第三阈值、M的值和N的值。
发明人发现:由于账户热点问题是一个难以解决的问题,所以本发明中的关键是要找到热点账户的特征,然后根据特征配备合适的参数,才能比较好的解决。可调节的参数,应对不同的场景需要根据实测以及评估设置不同的参数,以达到对应的场景下最优的并发方案,这就是解决从本质上不存在完美解决账户热点问题的方法。
具体实施时,在热点方案部署时,要把原有账户的余额按照设置的参数调配到小桶中;根据场景评估验证参数,并将参数设置到***中,并且分配合适数量的小桶;在后续账户使用情况发生变化时,要适时调整参数,以使***时刻保持在最优状态。
具体参数设定策略请参照下表1:
表1
下面结合附图5和图6举实例进行说明,以便理解本发明是如何实施的。
首先,结合附图5介绍不能中途解锁的情况下余额控制方案。
进行对于某些数据库,不支持交易中途解锁的操作,需要在内存设计串行标志,用以阻止已经在串行化处理时,仍然去加锁小桶,导致死锁的风险,或者使整体逻辑复杂化。下面的交易逻辑是针对这种不能中途解锁的情况下设计的。
步骤1、大桶筛选:
根据交易金额判断,是否需要进入大桶队列;
如果金额大于设定值,则通过加锁大桶锁,加入大桶处理队列;
如果金额小于等于设定值,则开始进入某个小桶;
步骤2、大桶处理:
获得大桶锁后,开始在大桶队列处理余额;
如果余额充足,则进行大桶扣减;
大桶扣减完成后,进行2.1大桶余额分发工作;
如果余额不足,开始进行2.2全桶扣减;
大桶处理完成,离开串行区,使得下一个处理进入大桶处理;
步骤2.1、大桶余额分发工作:
大桶余额超过设定上限,给所有小桶分配额度,使得小桶余额不至于太少。
步骤2.2、全桶扣减,此时,所有大小桶操作将被串行化:
a)设置串行标志,所有入桶操作将因该标志被串行化,所有操作遇到该标识后,都加入大桶操作队列,而不是在小桶处排队;。
b)依次加锁小桶,需要等待已经获得小桶锁的操作处理完成;
c)所有小桶处理完成后,和大桶的余额合并可得出最终的余额是否充足的情况,如果充足,交易结束,如果不充足,交易失败回滚。
步骤3、小桶操作:
随机算法,选择合适的小桶;
使用非加锁方式查看小桶余额是否充足,此步骤为不精确判定,主要是预防小桶余额不足仍然加锁浪费资源的情况,如果不充足,则返回仍然加入大桶操作,可解锁交易逻辑流程图中,此步骤不需要。
判断串行标志,如果标志已经被设定,则同样需要返回加入大桶操作队列;
加锁大桶开始操作,开始进行小桶操作排队;
获得小桶操作的锁,完成排队;
判断余额是否充足,由于某些场景是不可解锁的,所以无法解锁返回大桶,只能报错返回;
可解锁交易逻辑流程图中,对于可解锁的环境,此步骤时,直接解锁返回到大桶操作队列;
余额充足时,扣减余额;
解锁小桶,完成交易。
举一实例:大桶分发上限50万,余额50万;小桶铺底2万,余额2万,路由大桶设定值1万。本账户假设为存取属于比较均衡的模式,所以存取遵守相似的规则,举体余额控制实例请参见下表2。
表2
其次,结合附图6介绍可解锁交易逻辑情况下余额控制方案。
如果使用可解锁的***,比如VSAM文件作为桶子,就可以避免非真正余额不足的报错,图6是本发明实施例中可解锁交易逻辑情况下余额控制的流程示意图,具体实施步骤请参见上述不能中途解锁的情况下余额控制的方案步骤。
基于同一发明构思,本发明实施例中还提供了一种热点账户的余额控制装置,如下面的实施例。由于热点账户的余额控制装置解决问题的原理与热点账户的余额控制方法相似,因此热点账户的余额控制装置的实施可以参考热点账户的余额控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是本发明实施例中热点账户的余额控制装置的结构示意图,如图7所示,该装置包括:
第一余额子账户控制单元02,用于当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第一余额子账户进行交互处理,更新第一余额子账户中的余额;
第二余额子账户控制单元04,用于当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额;
所述热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;所述第一余额子账户中的余额大于第二阈值,所述第二余额子账户中的余额小于第三阈值,所述第二阈值大于第三阈值。
在一个实施例中,上述热点账户的余额控制装置还可以包括:
串行处理单元,用于当交易请求为取款请求时,在判断N个余额子账户其中之一的余额不足时,控制从第一余额子账户开始至第二余额子账户的串行化更新余额。
在一个实施例中,所述串行处理单元具体可以用于:
以从第一余额子账户开始至M个第二余额子账户的顺序,为第一余额子账户和每个第二余额子账户各设置一个串行标志,将每笔交易请求加入与第一余额子账户交互的队列;
依次为N个余额子账户加锁;
当判断N个余额子账户的余额合并后余额充足时,扣减余额,如果不充足,进行交易失败回滚操作。
在一个实施例中,上述热点账户的余额控制装置还可以包括:
小金额处理单元,用于当判断交易请求为存款请求,存款请求中的交易金额小于第四阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,将存款请求中的交易金额更新至第二余额子账户中;所述第四阈值小于第三阈值。
在一个实施例中,上述热点账户的余额控制装置还可以包括:
均匀化处理单元,用于当判断第一余额子账户的余额超过第五阈值时,将第一余额子账户的余额划出设定金额至第二余额子账户中;所述第五阈值根据交易金额均值的比例进行设定。
在一个实施例中,上述热点账户的余额控制装置还可以包括:
参数更新单元,用于根据不同的场景下对热点账户的评估测试结果,分析出热点账户的特征;根据热点账户的特征,重新设定第一阈值、第二阈值、第三阈值、M的值和N的值。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上所述的热点账户的余额控制方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行如上所述的热点账户的余额控制方法。
本发明实施提供的技术方案的有益技术效果为:
1、分桶策略,即将热点账户的余额分为N个子账户的策略:
这个策略是压力分散的比较典型的方法,账户余额更新压力不是集中到一个点上,提高了热点账户的并发处理能力。
2、大桶+小桶策略,即将N个余额子账户分为一个第一余额子账户和M个第二余额子账户的策略:
交易金额的不一致性会导致分桶和余额不足的矛盾,将超大金额的交易使用特殊大桶处理,使得小桶处理的金额分布非常有限且可控,保留余额不多的情况下也能在相当的交易数量下不至于发生余额不足的情况,保持了小桶能够更多独立承担分桶压力。
3、串行化更新余额策略:
在余额不足时,实际上未必是所有桶之和不足时,要动用其他桶的余额,往往设计不好就会造成串行化。交易本身很难判定死锁,也避免不了余额仍然不足的问题。串行化可以简单彻底地解决死锁问题,所有多桶加锁都从大桶开始。
4、小桶余额匀化处理策略:
在小桶余额不足时,适时补充小桶余额,可以减少补充频率,补充发生在串行化的期间,不必单独占用***资源,另加进程。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种热点账户的余额控制方法,其特征在于,包括:
当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第一余额子账户进行交互处理,更新第一余额子账户中的余额;
当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额;
所述热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;所述第一余额子账户中的余额大于第二阈值,所述第二余额子账户中的余额小于第三阈值,所述第二阈值大于第三阈值。
2.如权利要求1所述的热点账户的余额控制方法,其特征在于,还包括:
当交易请求为取款请求时,在判断N个余额子账户其中之一的余额不足时,控制从第一余额子账户开始至第二余额子账户的串行化更新余额。
3.如权利要求1所述的热点账户的余额控制方法,其特征在于,当交易请求为取款请求时,在判断N个余额子账户其中之一的余额不足时,控制从第一余额子账户开始至第二余额子账户的串行化更新余额,包括:
以从第一余额子账户开始至M个第二余额子账户的顺序,为第一余额子账户和每个第二余额子账户各设置一个串行标志,将每笔交易请求加入与第一余额子账户交互的队列;
依次为N个余额子账户加锁;
当判断N个余额子账户的余额合并后余额充足时,扣减余额,如果不充足,进行交易失败回滚操作。
4.如权利要求1所述的热点账户的余额控制方法,其特征在于,还包括:
当判断交易请求为存款请求,存款请求中的交易金额小于第四阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,将存款请求中的交易金额更新至第二余额子账户中;所述第四阈值小于第三阈值。
5.如权利要求1所述的热点账户的余额控制方法,其特征在于,还包括:
当判断第一余额子账户的余额超过第五阈值时,将第一余额子账户的余额划出设定金额至第二余额子账户中;所述第五阈值根据交易金额均值的比例进行设定。
6.如权利要求1所述的热点账户的余额控制方法,其特征在于,还包括:根据更新第一余额子账户中余额的频率小于1/N的频率的场景,设定所述第一阈值;
所述第二余额子账户中的余额大于所述第一阈值。
7.如权利要求1所述的热点账户的余额控制方法,其特征在于,还包括:
根据不同的场景下对热点账户的评估测试结果,分析出热点账户的特征,根据热点账户的特征,重新设定第一阈值、第二阈值、第三阈值、M的值和N的值。
8.一种热点账户的余额控制装置,其特征在于,包括:
第一余额子账户控制单元,用于当判断交易请求的交易金额绝对值大于第一阈值时,控制处理所述交易请求的进程与第一余额子账户进行交互处理,更新第一余额子账户中的余额;
第二余额子账户控制单元,用于当判断交易请求的交易金额绝对值小于等于第一阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,更新第二余额子账户中的余额;
所述热点账户包括:N个余额子账户,N为大于1的整数;其中,N个余额子账户包括一个第一余额子账户和M个第二余额子账户,M为大于等于1的整数;所述第一余额子账户中的余额大于第二阈值,所述第二余额子账户中的余额小于第三阈值,所述第二阈值大于第三阈值。
9.如权利要求8所述的热点账户的余额控制装置,其特征在于,还包括:
串行处理单元,用于当交易请求为取款请求时,在判断N个余额子账户其中之一的余额不足时,控制从第一余额子账户开始至第二余额子账户的串行化更新余额。
10.如权利要求9所述的热点账户的余额控制装置,其特征在于,所述串行处理单元具体用于:
以从第一余额子账户开始至M个第二余额子账户的顺序,为第一余额子账户和每个第二余额子账户各设置一个串行标志,将每笔交易请求加入与第一余额子账户交互的队列;
依次为N个余额子账户加锁;
当判断N个余额子账户的余额合并后余额充足时,扣减余额,如果不充足,进行交易失败回滚操作。
11.如权利要求8所述的热点账户的余额控制装置,其特征在于,还包括:
小金额处理单元,用于当判断交易请求为存款请求,存款请求中的交易金额小于第四阈值时,控制处理所述交易请求的进程与第二余额子账户进行交互处理,将存款请求中的交易金额更新至第二余额子账户中;所述第四阈值小于第三阈值。
12.如权利要求8所述的热点账户的余额控制装置,其特征在于,还包括:
均匀化处理单元,用于当判断第一余额子账户的余额超过第五阈值时,将第一余额子账户的余额划出设定金额至第二余额子账户中;所述第五阈值根据交易金额均值的比例进行设定。
13.如权利要求8所述的热点账户的余额控制装置,其特征在于,还包括:
参数更新单元,用于根据不同的场景下对热点账户的评估测试结果,分析出热点账户的特征,根据热点账户的特征,重新设定第一阈值、第二阈值、第三阈值、M的值和N的值。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711104944.3A CN107977837A (zh) | 2017-11-10 | 2017-11-10 | 热点账户的余额控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711104944.3A CN107977837A (zh) | 2017-11-10 | 2017-11-10 | 热点账户的余额控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107977837A true CN107977837A (zh) | 2018-05-01 |
Family
ID=62013266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711104944.3A Pending CN107977837A (zh) | 2017-11-10 | 2017-11-10 | 热点账户的余额控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977837A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087086A (zh) * | 2018-08-01 | 2018-12-25 | 中信百信银行股份有限公司 | 控制热点账户交易的方法 |
CN109377355A (zh) * | 2018-12-07 | 2019-02-22 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN109389484A (zh) * | 2018-09-26 | 2019-02-26 | 中国平安人寿保险股份有限公司 | 账户出账方法、装置、计算机设备和存储介质 |
CN109508970A (zh) * | 2018-10-26 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 基于区块链的汇款方法及装置 |
CN109741170A (zh) * | 2018-12-25 | 2019-05-10 | 银清科技(北京)有限公司 | 分账户处理方法及*** |
CN109918200A (zh) * | 2019-03-04 | 2019-06-21 | 中国工商银行股份有限公司 | 热点账户处理方法、装置及*** |
CN110189124A (zh) * | 2019-05-24 | 2019-08-30 | 杭州复杂美科技有限公司 | 防攻击方法、设备和存储介质 |
CN110400211A (zh) * | 2019-07-26 | 2019-11-01 | 中移电子商务有限公司 | 一种用户账户资金管理方法、装置及存储介质 |
CN111899001A (zh) * | 2018-08-30 | 2020-11-06 | 创新先进技术有限公司 | 基于区块链的汇款方法及装置 |
CN112381537A (zh) * | 2020-11-05 | 2021-02-19 | 上海汇付数据服务有限公司 | 一种热点账户记账的方法 |
CN112634024A (zh) * | 2020-12-29 | 2021-04-09 | 吉林亿联银行股份有限公司 | 一种热点账户的余额处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447604A (zh) * | 2014-08-04 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种账户处理方法及装置 |
CN105931109A (zh) * | 2015-09-18 | 2016-09-07 | ***股份有限公司 | 一种实现账户余额更新的方法及装置 |
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
-
2017
- 2017-11-10 CN CN201711104944.3A patent/CN107977837A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447604A (zh) * | 2014-08-04 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种账户处理方法及装置 |
CN105931109A (zh) * | 2015-09-18 | 2016-09-07 | ***股份有限公司 | 一种实现账户余额更新的方法及装置 |
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087086A (zh) * | 2018-08-01 | 2018-12-25 | 中信百信银行股份有限公司 | 控制热点账户交易的方法 |
CN111899001A (zh) * | 2018-08-30 | 2020-11-06 | 创新先进技术有限公司 | 基于区块链的汇款方法及装置 |
CN109389484A (zh) * | 2018-09-26 | 2019-02-26 | 中国平安人寿保险股份有限公司 | 账户出账方法、装置、计算机设备和存储介质 |
CN109508970A (zh) * | 2018-10-26 | 2019-03-22 | 阿里巴巴集团控股有限公司 | 基于区块链的汇款方法及装置 |
CN109377355A (zh) * | 2018-12-07 | 2019-02-22 | 中国银行股份有限公司 | 交易数据处理方法及装置 |
CN109741170A (zh) * | 2018-12-25 | 2019-05-10 | 银清科技(北京)有限公司 | 分账户处理方法及*** |
CN109741170B (zh) * | 2018-12-25 | 2021-03-19 | 银清科技有限公司 | 分账户处理方法及*** |
CN109918200A (zh) * | 2019-03-04 | 2019-06-21 | 中国工商银行股份有限公司 | 热点账户处理方法、装置及*** |
CN110189124A (zh) * | 2019-05-24 | 2019-08-30 | 杭州复杂美科技有限公司 | 防攻击方法、设备和存储介质 |
CN110400211A (zh) * | 2019-07-26 | 2019-11-01 | 中移电子商务有限公司 | 一种用户账户资金管理方法、装置及存储介质 |
CN112381537A (zh) * | 2020-11-05 | 2021-02-19 | 上海汇付数据服务有限公司 | 一种热点账户记账的方法 |
CN112634024A (zh) * | 2020-12-29 | 2021-04-09 | 吉林亿联银行股份有限公司 | 一种热点账户的余额处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977837A (zh) | 热点账户的余额控制方法及装置 | |
US8316373B2 (en) | Concurrent data processing and electronic bookkeeping | |
US8660920B2 (en) | Managed deposit program | |
CN104239141B (zh) | 数据中心中基于工作流关键路径的任务优化调度方法 | |
US11210735B2 (en) | Data processing method, system, and non-transitory computer-readable medium | |
CN107239951A (zh) | 一种基于第三代区块链的可扩展央行数字货币交易方法 | |
CN108446975A (zh) | 一种额度管理方法及装置 | |
CN104504804B (zh) | 配钞方法、配钞装置以及金融自助设备 | |
WO2020220741A1 (zh) | 一种基于区块链的业务溯源方法、装置以及电子设备 | |
CN110060036B (zh) | 一种拆分记账方法、账务***及支付*** | |
WO2001090972A2 (en) | Transaction system | |
CN107862615A (zh) | 理赔信息处理方法、装置、计算机设备和存储介质 | |
CN114047971B (zh) | 边缘计算资源分配方法及装置 | |
CN109829823A (zh) | 一种境外旅客购物离境退税业务信息管理平台及方法 | |
CN109377355A (zh) | 交易数据处理方法及装置 | |
Güntzer et al. | Efficient algorithms for the clearing of interbank payments | |
CN109325763A (zh) | 一种计算机执行的交易处理方法和装置 | |
CN101963969A (zh) | Oracle RAC***中实现负载均衡的方法和数据库服务器 | |
CN107545376A (zh) | 一种下发任务的方法、装置及*** | |
CN109615508A (zh) | 用于网银***的数据汇总核对方法及子*** | |
CN107403382A (zh) | 资产匹配*** | |
CN110427389A (zh) | 一种用于区块链数字货币的数据处理和查询方法 | |
CN105991571B (zh) | 一种信息处理方法及装置 | |
CN111866062B (zh) | 一种云服务交易的可信协商方法及装置 | |
CN110826911B (zh) | 基于大数据的决策方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180501 |
|
RJ01 | Rejection of invention patent application after publication |