[发明专利]分布式事务处理方法及系统在审
申请号: | 202011326313.8 | 申请日: | 2020-11-24 |
公开(公告)号: | CN112416535A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 程冲;滕达;张丹枫;唐冬雪 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 方法 系统 | ||
本申请提供了一种分布式事务处理方法及系统,可用于金融领域或其他领域,该方法包括:应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。本申请能够提高分布式事务处理的可靠性。
技术领域
本申请涉及分布式服务技术领域,尤其涉及一种分布式事务处理方法及系统。
背景技术
分布式事务是指,事务的发起方、参与者、支持事务的服务器、资源服务器以及事务管理器位于分布式系统的不同节点上,针对复杂的业务场景,存在分层嵌套的子事务,即子事务会调用下层的其它子事务。
在分布式事务处理过程中,在事务信息传递部分,通常通过定义事务信息的公共输入和输出,采用这种方式业务接口的入参和出参必须继承自公共输入和输出,侵入性大,破坏了开闭原则;在事务信息存储部分,一种解决方案是,主事务侧存储链路上所有子事务的事务信息,统一由主事务发起所有子事务的二阶段调用,这种解决方案需要冗余保存分层嵌套的子事务服务的消费方引用。
发明内容
针对上述背景技术中的至少一个技术问题,本申请提出了一种分布式事务处理方法及系统,能够提高分布式事务处理的可靠性。
为了解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种分布式事务处理方法,包括:
应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,每个所述直接子事务表包括:事务和该事务的下一层事务之间的对应关系;
对所述底层子事务执行分布式处理操作;所述分布式处理操作包括:执行当前层的事务并判断上一层事务是否为主事务;
若确定所述上一层事务并非主事务,则对该上一层事务进行所述分布式处理操作;
若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理。
进一步地,所述应用目标分布式事务中的各个事务对应的直接子事务表,确定该目标分布式事务中的主事务对应的底层子事务,包括:
对所述主事务执行判断操作;所述判断操作包括:获取当前层的事务对应的直接子事务表;基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务;
若确定存在下一层事务,则对该下一层事务进行所述判断步骤;
若确定不存在下一层事务,则将当前层的事务作为底层子事务。
进一步地,所述基于所述当前层的事务对应的直接子事务表和所述主事务,判断是否存在下一层事务,包括:
将所述当前层的事务对应的事务标识和所述主事务对应的主事务标识写入RpcContext上下文中;
应用Filter机制,从所述RpcContext上下文中获取所述事务标识和主事务标识;
根据所述当前层的事务对应的直接子事务表、所述事务标识和主事务标识,判断是否存在下一层事务。
进一步地,在所述执行当前层的事务之后,还包括:
将所述当前层的事务对应的状态标记为已成功;
相对应的,所述若确定所述上一层事务为主事务,则完成所述目标分布式事务的处理,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011326313.8/2.html,转载请声明来源钻瓜专利网。