[发明专利]分布式事务处理方法、装置、计算机设备及存储介质在审
申请号: | 202010598635.1 | 申请日: | 2020-06-28 |
公开(公告)号: | CN111857978A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 杨智广 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 陈黎明;宋薇薇 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及一种分布式事务处理方法、装置、计算机设备及存储介质。所述方法包括:事务发起节点向事务控制节点发送事务操作请求,所事务操作请求包括若干业务操作;事务控制节点接收事务操作请求,并调用业务节点运行业务执行程序,以获取若干业务操作对应的若干执行结果;事务控制节点根据若干执行结果向事务发起节点返回事务执行成功或事务执行失败;响应于事务控制节点向事务发起节点返回事务执行失败,则事务控制节点调用业务节点运行回滚程序。本发明的方案实现了事务控制独立于业务节点,避免因发起事务的业务节点故障造成事务中断,事务控制不入侵业务节点,具有较佳的通用性。
技术领域
本发明涉及数据处理技术领域,具体来说涉及一种分布式事务处理方法、装置、计算机设备及存储介质。
背景技术
分布式系统架构中,整个业务流程由多个业务节点提供多个服务共同完成,一个业务逻辑往往需要操作多个服务上的数据。为了保证多个服务的数据一致性,通常需要引入分布式事务机制来处理,每个事务包含着多个节点上的不同业务操作,事务的执行结果只能全部成功或者全部失败。
目前,传统的分布式事务处理主要有采用XA事务协议和TCC(Try-Confirm-Cancel)事务协议。XA事务协议多用在分布式数据库的事务中,能够保证数据的强一致性(在任意时刻所有业务节点的数据均一致、完整),但其性能开销较大;TCC事务协议多用于对性能要求比较高的场景中,能够保证数据最终一致。以上两种事务协议存在引入成本较高,对业务系统的侵入性强的问题,并且事务协调者(分布式事务过程中负责协调事务参与者的节点)通常需要事务发起点担当,一旦协调者宕机,容易造成数据不一致。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种独立于业务系统而存在的分布式事务处理方法、装置、计算机设备及存储介质。
根据本发明的一面,提供了一种分布式事务处理方法,所述方法包括:
事务发起节点向事务控制节点发送事务操作请求,所述事务操作请求包括若干业务操作;
事务控制节点接收所述事务操作请求,并调用所述业务节点运行业务执行程序,以获取若干业务操作对应的若干执行结果;
事务控制节点根据所述若干执行结果向事务发起节点返回事务执行成功或事务执行失败;
响应于事务控制节点向所述事务发起节点返回事务执行失败,则事务控制节点调用所述业务节点运行回滚程序。
在其中一个实施例中,所述事务控制节点包括协调器,以及与若干业务操作对应的若干代理器;
所述事务控制节点接收所述事务操作请求,并调用所述业务节点运行业务执行程序,以获取若干业务操作对应的若干执行结果的步骤包括:
所述协调器接收所述事务操作请求,并为每个业务操作创建代理器,其中,所述代理器绑定业务执行API和回滚API;
所述协调器向所述若干代理器发送执行请求;
所述若干代理器利用所述业务执行API调用所述业务节点;
所述业务节点运行所述业务执行程序,并生成若干执行结果。
在其中一个实施例中,所述事务控制节点根据所述若干执行结果向事务发起节点返回事务执行成功或事务执行失败的步骤包括:
业务节点将若干执行结果返回至对应的若干代理器;
若干代理器将所述若干执行结果返回至所述协调器;
响应于所述协调器收到的若干执行结果均为成功,则所述协调器向所述事务发起节点返回事务执行成功;
响应于所述协调器收到的若干执行结果中存在失败,则所述协调器向所述事务发起节点返回事务执行失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010598635.1/2.html,转载请声明来源钻瓜专利网。