[发明专利]一种分布式事务处理方法、装置、介质和设备在审
| 申请号: | 202110237751.5 | 申请日: | 2021-03-04 |
| 公开(公告)号: | CN112925614A | 公开(公告)日: | 2021-06-08 |
| 发明(设计)人: | 徐威;何兵兵;丁骏 | 申请(专利权)人: | 杭州网易云音乐科技有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 万晓君 |
| 地址: | 310052 浙江省杭州市萧山区钱江世*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 事务处理 方法 装置 介质 设备 | ||
本公开涉及一种分布式事务处理方法、装置、介质和设备。在接收到分布式事务处理请求时,基于TCC协议来实现分布式事务处理。基于保存在业务数据库中的分支事务命令记录表和全局事务命令记录表,来实现对应的事务命令相关的配置和操作记录信息的保存,进而可以根据每个分支事务尝试阶段接口的执行结果,以及根据分支事务命令记录表和全局事务命令记录表,确定出的分布式事务以及每个分支事务的状态,实现对分布式事务确认阶段和撤销阶段的处理,从而实现分布式事务处理。由于分支事务命令记录表和全局事务命令记录表,与业务数据保存在同一个数据库中,可以基于同库协调的方式实现分布式事务处理,有效减少了网络IO,从而有效提升系统性能。
技术领域
本公开涉及计算机技术领域,特别涉及一种分布式事务处理方法、装置、介质和设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着业务需求和架构的变化,软件系统从单体应用发展到分布式系统后,通过将软件系统拆分成微服务,实现了系统容量的可伸缩性。将全局事务划分成若干个领域的分支事务,每个服务内部的数据一致性可由本地分支事务来保证。但由于网络丢包、硬件损坏、依赖超时等物理环境的复杂性,局部网络问题发生时,必然会对系统全局事务的一致性、可用性造成影响。
在BASE理论的基础上,为满足分布式系统柔性事务中数据的一致性,方法论层面的支持包括两阶段提交协议(2PC协议)、三阶段提交协议(3PC协议)、分布式事务标准协议(XA协议)和尝试、确认或撤销协议(TCC协议)。同时业界也提出了一些分布式事务解决方案,例如Seata、Lotter等,一般可以采用上述解决方案应用于软件系统中。
Seata是一款开源的分布式事务解决方案,提供简单易用的分布式事务服务,一般可采用Seata TXC模式。Seata TXC模式是基于两阶段提交模式设计的,解决了微服务场景下面临的分布式事务问题。但缺点是需要在业务中引入的Seata客户端通过Netty实现与协调者(TC模块)的通信,存在网络输入输出(IO)延迟,且由于Seata TXC模式是基于两阶段提交模式的,因此存在易发生同步阻塞、协调者单点故障、脑裂的问题,且协调者在第二阶段处理过程中,一旦发生故障则无法继续处理,资源无法得到释放。
Lottor基于可靠性消息事务模型实现,采用中心化服务调度的思想。优点在于利用服务器集中管理分布式事务,便于排查问题。但缺点是网络IO多,容易出现性能瓶颈,且业务方(包括生产方和消费方)需强依赖消息组件、因此须有完善的降级策略,业务方接入服务器需要先回查本地事务状态的逻辑,接入复杂性较高,只适用于业务量较小的场景。
因此,亟需提供一种高性能的分布式事务处理方案,至少解决上述提及的Seata和Lotter分布式事务解决方案存在的问题。
发明内容
本公开实施例提供一种分布式事务处理方法、装置、介质和设备,用于解决目前的分布式事务处理方案性能较差的问题。
第一方面,本公开提供了一种分布式事务处理方法,所述方法包括:
响应于分布式事务处理请求,调用所述分布式事务的每个分支事务的尝试阶段接口,根据每个分支事务尝试阶段接口的执行结果,更新预先生成的每个分支事务命令记录表,并更新预先生成的关联的全局事务命令记录表,所述分支事务命令记录表包括分支事务对应的事务命令相关的配置和操作记录信息,所述全局事务命令记录表包括所述分布式事务对应的事务命令相关的配置和操作记录信息,且所述分支事务命令记录表和所述全局事务命令记录表保存在业务数据库中;
响应于每个分支事务尝试阶段接口的执行结果均为执行成功,根据所述分支事务命令记录表和所述全局事务命令记录表,确定所述分布式事务以及每个分支事务的状态,根据确定出的所述分布式事务以及每个分支事务的状态,实现对所述分布式事务确认阶段的处理;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州网易云音乐科技有限公司,未经杭州网易云音乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110237751.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电磁继电器
- 下一篇:多柜门智能钥匙柜及智能取还钥匙系统





