本申请涉及计算机,尤其涉及一种交易处理方法和装置。
背景技术:
1、随着金融系统越来越多的接入互联网流量,金融系统正在受到爆炸式流量的冲击。特别地,在一些特殊的网络促销日中,大量的消费者涌入电商购物平台进行消费,施放于金融系统的压力激增,对金融系统构成巨大挑战。在一些场景中,比如,在互联网商户开展的抢购活动的场景中,以及在各种银行的理财产品的线上抢购活动的场景中,这类活动使账户余额和账户限额变成热点资源,并且当账户不是内部户时,需要防止超额,形成相关行业中难以解决的热点账户难题和热点限额难题。
2、在相关技术中,为了保证热点资源数据高并发计算的正确性,且防止交易金额超额,往往需要通过加锁来控制,即通过加锁来执行每一笔交易的记账和账户余额的更新,在每一笔交易的记账和账户余额更新完毕之后,才执行解锁。然而,每个加锁的事务执行时间过长,导致热点资源排队等待,形成热点资源问题。
技术实现思路
1、本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
2、本申请的一个方面提出一种交易处理方法和装置,采用同步记账或同步登记交易明细、异步汇总更新账户余额的方式,无需加锁,便可解决热点交易账户加锁而导致的长时间等待问题;在同步处理阶段,将热点交易账户下未超额的交易的交易明细登记在热点资源交易明细表中,使得在后续的异步汇总阶段中,仅需根据热点资源交易明细表中热点交易账户下的交易对交易账户的账户余额进行更新,可以有效解决热点交易账户的限额或超额问题,且由于无需加锁等待,在同步处理阶段,仅需满足一定条件,便可将热点交易账户下的交易的交易明细进行登记,极大地提升热点交易账户的记账性能,有效降低交易报错的数量;进而,将热点交易账户的记账和热点交易账户的余额更新分开执行,一方面可以高速记账,另一方面,可以并行执行余额更新,提高单位时间可执行并发数,提高并发处理交易能力。
3、本申请第一方面实施例提供了一种交易处理方法,所述方法包括:
4、在同步处理阶段,响应于接收到交易请求,在确定所述交易请求指向的第一交易账户为热点交易账户,且对应的第一交易金额未超额的情况下,将所述交易请求指向的第一交易的第一交易明细登记在热点资源交易明细表中,并标记所述第一交易的交易状态为第一设定状态;其中,所述交易请求携带所述第一交易金额;
5、在异步汇总阶段,从所述热点资源交易明细表中提取多个第二交易账户中任一所述第二交易账户下的第二交易的第二交易明细;其中,所述第二交易账户为热点交易账户,所述第二交易的交易状态为所述第一设定状态;并行执行各所述第二交易账户对应的余额更新线程,以基于对应的第二交易的第二交易明细,对所述第二交易账户的账户余额进行第一更新。
6、本申请第二方面实施例提供了一种交易处理装置,所述装置包括:
7、同步处理模块,用于在同步处理阶段,响应于接收到交易请求,在确定所述交易请求指向的第一交易账户为热点交易账户,且对应的第一交易金额未超额的情况下,将所述交易请求指向的第一交易的第一交易明细登记在热点资源交易明细表中,并标记所述第一交易的交易状态为第一设定状态;其中,所述交易请求携带所述第一交易金额;
8、异步汇总模块,用于在异步汇总阶段,从所述热点资源交易明细表中提取多个第二交易账户中任一所述第二交易账户下的第二交易的第二交易明细;其中,所述第二交易账户为热点交易账户,所述第二交易的交易状态为所述第一设定状态;并行执行各所述第二交易账户对应的余额更新线程,以基于对应的第二交易的第二交易明细,对所述第二交易账户的账户余额进行第一更新。
9、本申请第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例提出的交易处理方法。
10、本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面实施例提出的交易处理方法。
11、本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本申请第一方面实施例提出的交易处理方法。
12、本申请的实施例提供的技术方案至少带来以下有益效果:
13、本申请提出的交易处理方法,在同步处理阶段,响应于接收到交易请求,在确定交易请求指向的第一交易账户为热点交易账户,且对应的第一交易金额未超额的情况下,将交易请求指向的第一交易的第一交易明细登记在热点资源交易明细表中,并标记第一交易的交易状态为第一设定状态;其中,交易请求携带第一交易金额;在异步汇总阶段,从热点资源交易明细表中提取多个第二交易账户中任一第二交易账户下的第二交易的第二交易明细;其中,第二交易账户为热点交易账户,第二交易的交易状态为第一设定状态;并行执行各第二交易账户对应的余额更新线程,以基于对应的第二交易的第二交易明细,对第二交易账户的账户余额进行第一更新。由此,采用同步记账或同步登记交易明细、异步汇总更新账户余额的方式,无需加锁,便可解决热点交易账户加锁而导致的长时间等待问题;在同步处理阶段,将热点交易账户下未超额的交易的交易明细登记在热点资源交易明细表中,使得在后续的异步汇总阶段中,仅需根据热点资源交易明细表中热点交易账户下的交易对交易账户的账户余额进行更新,可以有效解决热点交易账户的限额或超额问题,且由于无需加锁等待,在同步处理阶段,仅需满足一定条件,便可将热点交易账户下的交易的交易明细进行登记,极大地提升热点交易账户的记账性能,有效降低交易报错的数量;进而,将热点交易账户的记账和热点交易账户的余额更新分开执行,一方面可以高速记账,另一方面,可以并行执行余额更新,提高单位时间可执行并发数,提高并发处理交易能力。
14、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种交易处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于接收到交易请求,在确定所述交易请求指向的第一交易账户为热点交易账户,且对应的第一交易金额未超额的情况下,将所述交易请求指向的第一交易的第一交易明细登记在热点资源交易明细表中,并标记所述第一交易的交易状态为第一设定状态,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一交易的交易状态,判断所述交易请求对应的第一交易金额是否超额,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一交易账户下的至少一个第三交易的第二交易金额,确定所述交易请求对应的第一交易金额是否超额,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一交易账户下的各所述第三交易的第二交易金额,确定所述第一交易账户对应的账户轧差,包括:
6.根据权利要求3所述的方法,其特征在于,所述第一交易的交易状态的确定,包括:
7.根据权利要求2所述的方法,其特征在于,在所述基于所述第一交易的交易状态,判断所述交易请求对应的第一交易金额是否超额之前,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述交易请求指向的第一交易账户为热点交易账户的确定,包括:
9.根据权利要求8所述的方法,其特征在于,所述方法包括:
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1-10中任一所述的方法,其特征在于,所述第二交易账户下的第二交易的数量为多笔;
12.一种交易处理装置,其特征在于,所述装置包括:
