分布式事务处理方法及系统技术方案

技术编号:27515493 阅读:20 留言:0更新日期:2021-03-02 18:48
本申请提供了一种分布式事务处理方法及系统,可用于金融领域或其他领域,该方法包括:应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。本申请能够提高分布式事务处理的可靠性。分布式事务处理的可靠性。分布式事务处理的可靠性。

【技术实现步骤摘要】
分布式事务处理方法及系统


[0001]本申请涉及分布式服务
,尤其涉及一种分布式事务处理方法及系统。

技术介绍

[0002]分布式事务是指,事务的发起方、参与者、支持事务的服务器、资源服务器以及事务管理器位于分布式系统的不同节点上,针对复杂的业务场景,存在分层嵌套的子事务,即子事务会调用下层的其它子事务。
[0003]在分布式事务处理过程中,在事务信息传递部分,通常通过定义事务信息的公共输入和输出,采用这种方式业务接口的入参和出参必须继承自公共输入和输出,侵入性大,破坏了开闭原则;在事务信息存储部分,一种解决方案是,主事务侧存储链路上所有子事务的事务信息,统一由主事务发起所有子事务的二阶段调用,这种解决方案需要冗余保存分层嵌套的子事务服务的消费方引用。

技术实现思路

[0004]针对上述
技术介绍
中的至少一个技术问题,本申请提出了一种分布式事务处理方法及系统,能够提高分布式事务处理的可靠性。
[0005]为了解决上述技术问题,本申请提供以下技术方案:
[0006]第一方面,本申请提供一种分布式事务处理方法,包括:
[0007]应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;
[0008]对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;
[0009]若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;
[0010]若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。
[0011]进一步地,所述应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,包括:
[0012]对所述主事务执行判断操作;所述判断操作包括:获取当前层的事务对应的直接子事务表;基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务;
[0013]若确定存在下一层事务,则对该下一层事务进行所述判断步骤;
[0014]若确定不存在下一层事务,则将当前层的事务作为底层子事务。
[0015]进一步地,所述基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务,包括:
[0016]将所述当前层的事务对应的事务标识和所述主事务对应的主事务标识写入
RpcContext上下文中;
[0017]应用Filter机制,从所述RpcContext上下文中获取所述事务标识和主事务标识;
[0018]根据所述当前层的事务对应的直接子事务表、所述事务标识和主事务标识,判断是否存在下一层事务。
[0019]进一步地,在所述执行当前层的事务之后,还包括:
[0020]将所述当前层的事务对应的状态标记为已成功;
[0021]相对应的,所述若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理,包括:
[0022]若确定所述上一层事务为主事务,则将所述主事务的状态标记为已成功,完成所述目标分布式事务的处理。
[0023]第二方面,本申请提供一种分布式事务处理系统,包括:
[0024]确定装置,用于应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;
[0025]执行装置,用于对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;
[0026]处理装置,用于若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;
[0027]确定主事务装置,用于若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。
[0028]进一步地,所述确定装置,包括:
[0029]判断模块,用于对所述主事务执行判断操作;所述判断操作包括:获取当前层的事务对应的直接子事务表;基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务;
[0030]下一次判断模块,用于若确定存在下一层事务,则对该下一层事务进行所述判断步骤;
[0031]确定底层子事务模块,用于若确定不存在下一层事务,则将当前层的事务作为底层子事务。
[0032]进一步地,所述判断模块,包括:
[0033]写入单元,用于将所述当前层的事务对应的事务标识和所述主事务对应的主事务标识写入RpcContext上下文中;
[0034]获取单元,用于应用Filter机制,从所述RpcContext上下文中获取所述事务标识和主事务标识;
[0035]事务判断单元,用于根据所述当前层的事务对应的直接子事务表、所述事务标识和主事务标识,判断是否存在下一层事务。
[0036]进一步地,所述执行装置,还包括:
[0037]标记单元,用于将所述当前层的事务对应的状态标记为已成功;
[0038]相对应的,所述确定主事务装置,包括:
[0039]确定主事务单元,用于若确定所述上一层事务为主事务,则将所述主事务的状态
标记为已成功,完成所述目标分布式事务的处理。
[0040]第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的分布式事务处理方法。
[0041]第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的分布式事务处理方法。
[0042]由上述技术方案可知,本申请提供一种分布式事务处理方法及系统。其中,该方法包括:应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。,能够提高分布式事务处理的可靠性;能够隐式传递事务信息,无需业务接口改造输入和输出,做到业务无感;采用分层自治的思想,在分层嵌套的子事务的本地数据库,存储下一层所有子事务的事务信息,能够消除服务消费方冗余的引用,可以降低系统中的单点压力,同时可以及时感知主事务整个链路的执行结果;具体地,其优点如下:1.业务侵入性小。基本分布式服务的RpcContext上下文,隐式完成事务信息的传递,无需业务接口改造输入和输出,做到业务无感。2.二阶段结果快速感知。基于本地数据库,存储下一层所有子事务的事务信息,快速感知主事务整个链路的执行结果。
附图说明<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式事务处理方法,其特征在于,包括:应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。2.根据权利要求1所述的分布式事务处理方法,其特征在于,所述应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,包括:对所述主事务执行判断操作;所述判断操作包括:获取当前层的事务对应的直接子事务表;基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务;若确定存在下一层事务,则对该下一层事务进行所述判断步骤;若确定不存在下一层事务,则将当前层的事务作为底层子事务。3.根据权利要求2所述的分布式事务处理方法,其特征在于,所述基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务,包括:将所述当前层的事务对应的事务标识和所述主事务对应的主事务标识写入RpcContext上下文中;应用Filter机制,从所述RpcContext上下文中获取所述事务标识和主事务标识;根据所述当前层的事务对应的直接子事务表、所述事务标识和主事务标识,判断是否存在下一层事务。4.根据权利要求1所述的分布式事务处理方法,其特征在于,在所述执行当前层的事务之后,还包括:将所述当前层的事务对应的状态标记为已成功;相对应的,所述若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理,包括:若确定所述上一层事务为主事务,则将所述主事务的状态标记为已成功,完成所述目标分布式事务的处理。5.一种分布式事务处理系统,其特征在于,包括:确定装置,用于应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务...

【专利技术属性】
技术研发人员:程冲滕达张丹枫唐冬雪
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1