CN113205407A - 分布式子事务处理方法及装置 - Google Patents
分布式子事务处理方法及装置 Download PDFInfo
- Publication number
- CN113205407A CN113205407A CN202110589992.6A CN202110589992A CN113205407A CN 113205407 A CN113205407 A CN 113205407A CN 202110589992 A CN202110589992 A CN 202110589992A CN 113205407 A CN113205407 A CN 113205407A
- Authority
- CN
- China
- Prior art keywords
- sub
- transaction
- transactions
- business logic
- group
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 230000002093 peripheral effect Effects 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- 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/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本发明公开了一种分布式子事务处理方法及装置,可用于但不限于金融领域,方法包括:接收外围系统发送的交易指令;根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;向外围系统发送所述执行结果。本发明可以提高事务执行效率,使服务总体性能满足业务要求,提升客户使用体验。
Description
技术领域
本发明公开了一种分布式子事务处理方法及装置,可应用于金融领域,也可应用于除金融领域以外的任意领域,本发明公开的分布式子事务处理方法及装置的应用领域不作限定。
背景技术
近年来,随着IT架构转型的不断推进,分布式架构成为大型企业信息系统建设的标准方案,分布式服务也成为系统服务设计的主流。分布式服务与传统服务相比,技术架构更加开放灵活,技术复杂度和不确定因素增加,对服务性能也有更高的要求。对要求事务一致性分布式服务,涉及主事务和各子事务的多个系统的协同处理,分布式服务的性能受到子事务性能的直接影响,提升分布式子事务性能,有利于提升系统的整体对外服务质量。
传统分布式服务受普通联机交易设计思维的影响,通常都是按串行方式对包含的多个子事务逐一执行,分布式服务总的执行时间由各子事务执行时间自然叠加,子事务数量越多,分布式服务总的执行时间就越长。在子事务数量非常多的业务场景下,如银行多借多贷业务场景,现有的分布式子事务处理方法的事务执行效率非常低,服务总体性能无法满足业务要求,严重影响客户使用体验。
因此,亟需一种可以克服上述问题的分布式子事务处理方案。
发明内容
本发明实施例提供一种分布式子事务处理方法,用以提高事务执行效率,使服务总体性能满足业务要求,提升客户使用体验,该方法包括:
接收外围系统发送的交易指令;
根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;
根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;
采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;
向外围系统发送所述执行结果。
本发明实施例提供一种分布式子事务处理装置,用以提高事务执行效率,使服务总体性能满足业务要求,提升客户使用体验,该装置包括:
指令接收模块,用于接收外围系统发送的交易指令;
集合生成模块,用于根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;
事务分组模块,用于根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;
事务执行模块,用于采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;
结果发送模块,用于向外围系统发送所述执行结果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述分布式子事务处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式子事务处理方法的计算机程序。
相比于现有技术中按串行方式对包含的多个子事务逐一执行实现分布式子事务处理的方案而言,本发明实施例通过接收外围系统发送的交易指令;根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;向外围系统发送所述执行结果。本发明实施例根据子事务之间的业务逻辑关系对子事务进行分组,对于业务逻辑不相关的子事务采用并行方式执行,有效提升服务的执行性能,减少服务超时概率,有效提升系统对客服务能力,使服务总体性能满足业务要求,提升客户使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中分布式子事务处理方法示意图;
图2~图3为本发明实施例中子事务分组方法示意图;
图4为本发明实施例中串行方式执行子事务流程图;
图5为本发明实施例中并行方式执行子事务流程图;
图6为本发明实施例中事务同步流程图;
图7为本发明具体实施例中分布式子事务处理方法示意图;
图8为本发明实施例中分布式子事务处理装置结构图;
图9是本发明实施例的计算机设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如前所述,针对银行多借多贷等传统多子事务业务场景,子事务间的执行效率是必须要关注的问题,否则服务总体性能可能无法满足业务要求,进而影响客户使用体验。
为了提高事务执行效率,使服务总体性能满足业务要求,提升客户使用体验,本发明实施例提供一种分布式子事务处理方法,如图1所示,该方法可以包括:
步骤101、接收外围系统发送的交易指令;
步骤102、根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;
步骤103、根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;
步骤104、采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;
步骤105、向外围系统发送所述执行结果。
由图1所示可以得知,本发明实施例通过接收外围系统发送的交易指令;根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;向外围系统发送所述执行结果。本发明实施例根据子事务之间的业务逻辑关系对子事务进行分组,对于业务逻辑不相关的子事务采用并行方式执行,有效提升服务的执行性能,减少服务超时概率,有效提升系统对客服务能力,使服务总体性能满足业务要求,提升客户使用体验。
实施例中,接收外围系统发送的交易指令;根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组。
本实施例中,在接收外围系统发送的交易指令之后,对交易数据进行合法性检查。
本实施例中,如图2所示,根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,包括:
步骤201、获得每个子事务的交易方账号;
步骤202、对每个子事务,若该子事务的交易方账号出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑相关子事务组,若该子事务的交易方账号未出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑不相关子事务组。
具体实施时,如图3所示,在子事务分组执行开始后,判断子事务是否已全部识别,若已全部识别则执行结束,若未全部识别,则生成除当前子事务外其他子事务的交易方账号集合,若该子事务的交易方账号出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑相关子事务组,若该子事务的交易方账号未出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑不相关子事务组。
需要说明的是,应用于不同业务场景,交易方账号有所不同,例如对于多借多贷业务场景,则交易方账号为收付方账号(收款账号和付款账号)。“多借多贷”业务场景可看作由多笔一对一转账子事务构成的交易,各笔一对一转账的付款账号与收款账号可能相同,也可能不同。对付款账号或收款账号相同的和付款账号、收款账号均不相同的子事务则可以分别编组,付款账号或收款账号相同的组成“业务逻辑相关子事务”组,该组内的子事务仍然保持串行执行;付款账号、收款账号均不相同的组成“业务逻辑不相关子事务”组,该组内的子事务并行执行。
实施例中,采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果。
本实施例中,采用串行方式执行所述业务逻辑相关子事务组中的子事务,包括:采用串行方式对业务逻辑相关子事务组中的子事务进行交易处理。
具体实施时,如图4所示,串行子事务执行开始后判断是否有子事务未处理,若有子事务为处理则调起一对一转账子事务,对子事务进行交易处理,然后返回子事务处理结果,直至所有子事务处理完成。
本实施例中,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,包括:按如下方式处理业务逻辑不相关子事务组中未处理的子事务,直至所述业务逻辑不相关子事务组中全部子事务处理完成:若业务逻辑不相关子事务组中未处理的子事务的个数大于预设数量,则从所述未处理的子事务中取预设数量的子事务;采用并行方式对所述预设数量的子事务进行交易处理;根据所述预设数量,更新业务逻辑不相关子事务组中未处理的子事务的个数。
具体实施时,如图5所示,并行子事务执行开始后全段是否有未处理的子事务,若有未处理的子事务,也即子事务的个数大于零,则判断未处理子事务的个数是否大于预设数量,若未处理子事务的个数大于预设数量则从未处理的子事务中取预设数量的子事务进行并行交易处理,然后从未处理的子事务个数中减去预设数量后作为更新后的业务逻辑不相关子事务组中未处理的子事务的个数,返回继续处理剩下的未处理子事务,直至所述业务逻辑不相关子事务组中全部子事务处理完成。若未处理子事务的个数小于或等于预设数量则取出全部未处理的子事务进行并行交易处理。
本实施例中,所述交易处理包括:余额更新处理,明细生成处理,日志登记处理其中之一或任意组合。
本实施例中,分布式子事务处理方法还包括:
在采用并行方式执行所述业务逻辑不相关子事务组中的子事务的过程中,进行业务逻辑不相关子事务组中子事务之间的同步处理。
本实施例中,分布式子事务处理方法还包括:
在采用串行方式执行所述业务逻辑相关子事务组中的子事务以及采用并行方式执行所述业务逻辑不相关子事务组中的子事务的过程中,进行业务逻辑相关子事务组与业务逻辑不相关子事务组之间的同步处理。
具体实施时,检测同步空间内子事务是否已全部执行,全部执行完才允许程序往后执行。同步处理分为:业务逻辑相关子事务与业务逻辑不相关子事务间同步以及业务逻辑不相关子事务内并行事务同步。如图6所示,判断是否开始事务同步,若开始则设置待处理子事务数及标识,在未开始事务同步时判断已处理事务是否等于设置的待处理子事务数,若等于则结束,若不等于则继续进行判断直至满足等于的要求后结束判断。
实施例中,向外围系统发送所述执行结果。
具体实施时,对子事务的执行结果进行整理后返回给服务调用方,会根据业务需求的不同进行不同的处理。
本发明提供了一种基于并行式子事务的分布服务设计方案,通过对服务内子事务重新设计,使无业务相关性的子事务可以并行执行,从而提升分布式式服务的整体性能,可以保障多借多贷等多子事务交易高效执行,进而提升对客服务能力。其改变了现有联机服务子事务串行执行设计模式,首先对服务内的子事务进行分类,分别划分为“业务逻辑相关子事务”和“业务逻辑不相关子事务”,对“业务逻辑不相关子事务”进行并行执行,然后通过子事务同步装置实现与“业务逻辑相关子事务”的同步。当包含多组“业务逻辑相关子事务”和“业务逻辑不相关子事务”时,各子事务组可以交替执行。本发明实施例可实现服务整体业务逻辑的高效执行,保证服务整体性能,减少服务超时概率,进而提升系统对客服务能力。
本发明实施例提供的分布式子事务处理方案通过识别逻辑不相关子事务并以并行方式执行,以此提升分布式服务的整体性能,具有如下的效果与优点:
1、通过设计并行子事务,有效提升服务的执行性能,类似多借多贷等复杂服务在平台系统也可实现,能在对客服务水平不降低的前提下,保障主机系统架构转型工程顺利进行。
2、借鉴通用并行程序设计思想,简单易懂,易于接受。不仅对分布式服务的设计有指导意义,对非分布式服务的设计也可参考。
下面给出一个具体实施例,说明本发明实施例中分布式子事务处理方案。在本具体实施例中,以“多借多贷”的业务场景为例进行详细说明。“多借多贷”可看作由多笔一对一转账子事务构成的交易,各笔一对一转账的付款账号与收款账号可能相同,也可能不同。对付款账号或收款账号相同的和付款账号、收款账号均不相同的子事务则可以分别编组,付款账号或收款账号相同的组成“业务逻辑相关子事务”组,该组内的子事务仍然保持串行执行;付款账号、收款账号均不相同的组成“业务逻辑不相关子事务”组,该组内的子事务并行执行。为方便说明,假设多借多贷业务为包含A1->B1(表示会计分录为借A1贷B1的一对一转账子事务)、A1->B2、A2->B1、A3->B3、A4->B4、A5->B5的交易。如图7所示,按如下步骤进行处理:
1、接收外围系统上送的多借多贷指令,在完成数据合法性检查之后,生成一对一转账的子事务集合,最后子事务集合交由事务识别单元进行业务逻辑相关性检查。
2、根据一对一转账的子事务集合,完成“业务逻辑相关子事务”和“业务逻辑不相关子事务”的识别,识别逻辑为:检查转账子事务中的收付方账号,若其没在其它的子事务的收付方账号集合中出现,则认为该子事务为业务逻辑不相关子事务,否则为业务逻辑相关子事务。对上述例子,则可以识别出(A1->B1、A1->B2、A2->B1)的“业务逻辑相关子事务”和(A3->B3、A4->B4、A5->B5)的“业务逻辑不相关子事务”。
3.、对“业务逻辑相关子事务”组的子事务进行执行,执行方式为串行方式,即(A1->B1、A1->B2、A2->B1)逐笔执行。
4、对“业务逻辑不相关子事务”组的子事务进行执行,执行方式为并行方式。在执行前需开启事务并行机制,事务执行完后需进行事务同步。即对(A3->B3、A4->B4、A5->B5)并行执行。
5、检测同步空间内子事务是否已全部执行,全部执行完才允许程序往后执行。共包含2个子单元,分别为业务逻辑相关子事务与业务逻辑不相关子事务间同步子单元(子单元1)及业务逻辑不相关子事务内并行事务同步子单元(子单元2)。子单元1实现(A1->B1、A1->B2、A2->B1)与(A3->B3、A4->B4、A5->B5)之间的同步;子单元2实现(A3->B3、A4->B4、A5->B5)内的同步。
6、对子事务的处理结果进行整理,然后返回给服务调用方,其根据业务需求的不同可进行不同的处理。
7、实现子事务逻辑的处理,即一对一转账处理,包括余额更新、明细、日志登记等。
基于同一发明构思,本发明实施例还提供了一种分布式子事务处理装置,如下面的实施例所述。由于这些解决问题的原理与分布式子事务处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图8为本发明实施例中分布式子事务处理装置的结构图,如图8所示,该装置包括:
指令接收模块801,用于接收外围系统发送的交易指令;
集合生成模块802,用于根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;
事务分组模块803,用于根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;
事务执行模块804,用于采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;
结果发送模块805,用于向外围系统发送所述执行结果。
一个实施例中,事务分组模块803进一步用于:
获得每个子事务的交易方账号;
对每个子事务,若该子事务的交易方账号出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑相关子事务组,若该子事务的交易方账号未出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑不相关子事务组。
一个实施例中,事务执行模块804进一步用于:
采用串行方式对业务逻辑相关子事务组中的子事务进行交易处理。
一个实施例中,事务执行模块804进一步用于:
按如下方式处理业务逻辑不相关子事务组中未处理的子事务,直至所述业务逻辑不相关子事务组中全部子事务处理完成:若业务逻辑不相关子事务组中未处理的子事务的个数大于预设数量,则从所述未处理的子事务中取预设数量的子事务;采用并行方式对所述预设数量的子事务进行交易处理;根据所述预设数量,更新业务逻辑不相关子事务组中未处理的子事务的个数。
一个实施例中,所述交易处理包括:余额更新处理,明细生成处理,日志登记处理其中之一或任意组合。
一个实施例中,所述的分布式子事务处理方法还包括:
第一同步模块,用于在采用并行方式执行所述业务逻辑不相关子事务组中的子事务的过程中,进行业务逻辑不相关子事务组中子事务之间的同步处理。
一个实施例中,所述的分布式子事务处理方法还包括:
第二同步模块,用于在采用串行方式执行所述业务逻辑相关子事务组中的子事务以及采用并行方式执行所述业务逻辑不相关子事务组中的子事务的过程中,进行业务逻辑相关子事务组与业务逻辑不相关子事务组之间的同步处理。
综上所述,本发明实施例通过接收外围系统发送的交易指令;根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;向外围系统发送所述执行结果。本发明实施例根据子事务之间的业务逻辑关系对子事务进行分组,对于业务逻辑不相关的子事务采用并行方式执行,有效提升服务的执行性能,减少服务超时概率,有效提升系统对客服务能力,使服务总体性能满足业务要求,提升客户使用体验。
基于前述发明构思,如图9所示,本发明还提出了一种计算机设备900,包括存储器910、处理器920及存储在存储器910上并可在处理器920上运行的计算机程序930,所述处理器920执行所述计算机程序930时实现前述分布式子事务处理方法。
基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述分布式子事务处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种分布式子事务处理方法,其特征在于,包括:
接收外围系统发送的交易指令;
根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;
根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;
采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;
向外围系统发送所述执行结果。
2.如权利要求1所述的分布式子事务处理方法,其特征在于,根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,包括:
获得每个子事务的交易方账号;
对每个子事务,若该子事务的交易方账号出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑相关子事务组,若该子事务的交易方账号未出现在其余子事务的交易方账号集合中,则将该子事务归为业务逻辑不相关子事务组。
3.如权利要求1所述的分布式子事务处理方法,其特征在于,采用串行方式执行所述业务逻辑相关子事务组中的子事务,包括:
采用串行方式对业务逻辑相关子事务组中的子事务进行交易处理。
4.如权利要求1所述的分布式子事务处理方法,其特征在于,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,包括:
按如下方式处理业务逻辑不相关子事务组中未处理的子事务,直至所述业务逻辑不相关子事务组中全部子事务处理完成:若业务逻辑不相关子事务组中未处理的子事务的个数大于预设数量,则从所述未处理的子事务中取预设数量的子事务;采用并行方式对所述预设数量的子事务进行交易处理;根据所述预设数量,更新业务逻辑不相关子事务组中未处理的子事务的个数。
5.如权利要求3或4任一项所述的分布式子事务处理方法,其特征在于,所述交易处理包括:余额更新处理,明细生成处理,日志登记处理其中之一或任意组合。
6.如权利要求1所述的分布式子事务处理方法,其特征在于,还包括:
在采用并行方式执行所述业务逻辑不相关子事务组中的子事务的过程中,进行业务逻辑不相关子事务组中子事务之间的同步处理。
7.如权利要求1所述的分布式子事务处理方法,其特征在于,还包括:
在采用串行方式执行所述业务逻辑相关子事务组中的子事务以及采用并行方式执行所述业务逻辑不相关子事务组中的子事务的过程中,进行业务逻辑相关子事务组与业务逻辑不相关子事务组之间的同步处理。
8.一种分布式子事务处理装置,其特征在于,包括:
指令接收模块,用于接收外围系统发送的交易指令;
集合生成模块,用于根据所述交易指令,生成对应的子事务集合,所述子事务集合中包含多个子事务;
事务分组模块,用于根据所述多个子事务之间的业务逻辑关系对所述多个子事务进行分组,得到业务逻辑相关子事务组和业务逻辑不相关子事务组;
事务执行模块,用于采用串行方式执行所述业务逻辑相关子事务组中的子事务,采用并行方式执行所述业务逻辑不相关子事务组中的子事务,得到子事务的执行结果;
结果发送模块,用于向外围系统发送所述执行结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110589992.6A CN113205407A (zh) | 2021-05-28 | 2021-05-28 | 分布式子事务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110589992.6A CN113205407A (zh) | 2021-05-28 | 2021-05-28 | 分布式子事务处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113205407A true CN113205407A (zh) | 2021-08-03 |
Family
ID=77023434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110589992.6A Pending CN113205407A (zh) | 2021-05-28 | 2021-05-28 | 分布式子事务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113205407A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335143A (zh) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN108415757A (zh) * | 2018-02-02 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法及装置 |
CN110083437A (zh) * | 2018-01-25 | 2019-08-02 | 北京欧链科技有限公司 | 处理区块链事务的方法及装置 |
CN111292192A (zh) * | 2020-02-18 | 2020-06-16 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111352719A (zh) * | 2020-03-31 | 2020-06-30 | 中国工商银行股份有限公司 | 交易簿记服务数据处理方法、装置及系统 |
CN111475262A (zh) * | 2020-04-02 | 2020-07-31 | 百度国际科技(深圳)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN111754347A (zh) * | 2020-06-28 | 2020-10-09 | 中国银行股份有限公司 | 跨境交易处理方法及装置 |
CN111754200A (zh) * | 2020-06-29 | 2020-10-09 | 深圳前海微众银行股份有限公司 | 一种业务处理方法及装置 |
CN111767143A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 交易数据处理方法、装置、设备及系统 |
CN112001797A (zh) * | 2020-10-28 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 对区块链中的交易进行分组的方法和装置 |
CN112445860A (zh) * | 2019-09-02 | 2021-03-05 | 北京京东振世信息技术有限公司 | 一种处理分布式事务的方法和装置 |
CN112541830A (zh) * | 2020-12-29 | 2021-03-23 | 中国工商银行股份有限公司 | 用于事务一致性的处理方法、处理装置、和处理系统 |
CN112767168A (zh) * | 2021-02-10 | 2021-05-07 | 中国工商银行股份有限公司 | 基于区块链的超级账本并行处理方法及并行处理装置 |
-
2021
- 2021-05-28 CN CN202110589992.6A patent/CN113205407A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335143A (zh) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN110083437A (zh) * | 2018-01-25 | 2019-08-02 | 北京欧链科技有限公司 | 处理区块链事务的方法及装置 |
CN108415757A (zh) * | 2018-02-02 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 分布式事务处理方法及装置 |
CN112445860A (zh) * | 2019-09-02 | 2021-03-05 | 北京京东振世信息技术有限公司 | 一种处理分布式事务的方法和装置 |
CN111292192A (zh) * | 2020-02-18 | 2020-06-16 | 杭州复杂美科技有限公司 | 一种交易并行执行方法、设备及存储介质 |
CN111352719A (zh) * | 2020-03-31 | 2020-06-30 | 中国工商银行股份有限公司 | 交易簿记服务数据处理方法、装置及系统 |
CN111475262A (zh) * | 2020-04-02 | 2020-07-31 | 百度国际科技(深圳)有限公司 | 区块链中事务请求处理方法、装置、设备和介质 |
CN111767143A (zh) * | 2020-06-24 | 2020-10-13 | 中国工商银行股份有限公司 | 交易数据处理方法、装置、设备及系统 |
CN111754347A (zh) * | 2020-06-28 | 2020-10-09 | 中国银行股份有限公司 | 跨境交易处理方法及装置 |
CN111754200A (zh) * | 2020-06-29 | 2020-10-09 | 深圳前海微众银行股份有限公司 | 一种业务处理方法及装置 |
CN112001797A (zh) * | 2020-10-28 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 对区块链中的交易进行分组的方法和装置 |
CN112541830A (zh) * | 2020-12-29 | 2021-03-23 | 中国工商银行股份有限公司 | 用于事务一致性的处理方法、处理装置、和处理系统 |
CN112767168A (zh) * | 2021-02-10 | 2021-05-07 | 中国工商银行股份有限公司 | 基于区块链的超级账本并行处理方法及并行处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846659B (zh) | 基于区块链的转账方法、装置及存储介质 | |
US11087371B2 (en) | Blockchain-based invoice creation method apparatus, and electronic device | |
CN110276614B (zh) | 分户账的更新方法和装置 | |
CN111161078A (zh) | 一种一对多的区块链转账实现方法 | |
CN111967967A (zh) | 基于区块链的跨行支付业务处理方法及装置 | |
CN112650605A (zh) | 一种基于智能合约的预言机调用过程实现方法及装置 | |
CN109086398A (zh) | 异步上链方法、设备及计算机可读存储介质 | |
CN109614263B (zh) | 一种容灾数据处理方法、装置及系统 | |
CN108762895B (zh) | 处理分布式事务的方法及装置 | |
CN115147202B (zh) | 一种银行业账务处理系统、方法及装置 | |
CN113205407A (zh) | 分布式子事务处理方法及装置 | |
CN111242614A (zh) | 钱包账户资产找回方法、收款保障方法、设备和存储介质 | |
CN111754347A (zh) | 跨境交易处理方法及装置 | |
WO2022179733A1 (en) | An apparatus, method and computer program product for identifying a validation check for a set of numbers | |
WO2022110404A1 (zh) | 资源转移方法、装置、设备和存储介质 | |
CN112035530A (zh) | 一种分布式实时支付系统中的交易报文匹配方法及系统 | |
CN111581108A (zh) | 基于业务系统交易测试的输入数据获取方法及装置 | |
CN111179524A (zh) | Atm机吞卡取回方法及装置 | |
CN110852866A (zh) | 用于对多个资源进行管理的方法、装置和存储介质 | |
CN115174589B (zh) | 区块链虚拟机的选择方法、装置、电子设备及存储介质 | |
CN111127003B (zh) | 钱包账户支付方法、设备和存储介质 | |
CN110782310B (zh) | 从第三方平台异步获取用户属性信息的方法、装置和系统 | |
CN115409592A (zh) | 资源转移方法、装置、设备及存储介质 | |
CN112581134A (zh) | 一种数据校验方法、装置及系统 | |
TW202145096A (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 |