[发明专利]分布式事务提交方法、系统及计算设备有效
申请号: | 201911308314.7 | 申请日: | 2019-12-18 |
公开(公告)号: | CN112995262B | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 王豪;石益宇;王琢 | 申请(专利权)人: | 中国移动通信集团浙江有限公司;中国移动通信集团有限公司 |
主分类号: | H04L67/60 | 分类号: | H04L67/60;H04L67/10;G06F9/46 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 王广涛 |
地址: | 310016 *** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务 提交 方法 系统 计算 设备 | ||
本发明实施例涉及通信技术领域,公开了一种分布式事务提交方法、系统及计算设备。该方法应用于分布式事务提交系统,系统包括协调者模块、一致性模块和参与者模块;该方法包括:协调者模块根据参与者模块发送的准备结果反馈信息,发送提交/中止请求至一致性模块;一致性模块记录请求类型,生成提交/中止请求的全局事务标识;一致性模块返回全局事务标识;协调者模块发送全局事务标识和提交/中止请求至参与者模块;参与者模块根据提交/中止请求或超时状态进行事务处理,记录事务处理类型,返回事务处理类型和全局事务标识至一致性模块;一致性模块使数据不一致的参与者模块重新进行事务处理。通过上述方式,本发明实施例能够提高数据的一致性。
技术领域
本发明实施例涉及通信技术领域,具体涉及一种分布式事务提交方法、系统及计算设备。
背景技术
在微服务架构模式下,各个服务单元各自有独立的数据持久层,一个业务请求需要多个微服务单元共同协作,要求各服务单元要么同时成功,要么同时失败,但微服务实例分别部署在不同的进程或主机节点上,每个服务实例的状态、网络等情况时不可预知的,因此,如何保持一个业务请求中分布式的各单元服务数据保持一致性成为微服务架构中一个关键的问题。
目前,分布式事务提交主要通过两阶段提交协议或三阶段提交协议实现,但均存在数据不一致的问题。
发明内容
鉴于上述问题,本发明实施例提供了一种分布式事务提交方法、系统及计算设备,能够提高数据的一致性。
根据本发明实施例的一个方面,提供了一种分布式事务提交方法,应用于分布式事务提交系统,所述分布式事务提交系统包括:协调者模块、一致性模块以及若干参与者模块;
所述方法包括:
所述协调者模块接收所述参与者模块发送的准备结果反馈信息;
所述协调者模块根据所述准备结果反馈信息,发送提交/中止请求至所述一致性模块;
所述一致性模块根据所述提交/中止请求,记录请求类型,并生成所述提交/中止请求的全局事务标识;
所述一致性模块返回所述全局事务标识至所述协调者模块;
所述协调者模块发送所述全局事务标识以及所述提交/中止请求至所述参与者模块;
所述参与者模块根据所述提交/中止请求或超时状态,进行事务处理,并记录事务处理类型,将所述事务处理类型和所述全局事务标识返回至所述一致性模块;
所述一致性模块根据所述全局事务标识、所述事务处理类型以及所述请求类型,判断是否存在数据不一致的所述参与者模块,若是,则使数据不一致的所述参与者模块重新进行事务处理。
在一种可选的方式中,所述准备结果反馈信息为确认响应信息或者否定响应信息,所述提交/中止请求为提交请求或者中止请求;
则,所述根据所述准备结果反馈信息,发送提交/中止请求至所述一致性模块,进一步包括:
判断所述准备结果反馈信息中是否存在所述否定响应信息;
若存在所述否定响应信息,则发送所述中止请求至所述一致性模块;
若不存在所述否定响应信息,则发送所述提交请求至所述一致性模块。
在一种可选的方式中,所述根据所述准备结果反馈信息,发送提交/中止请求至所述一致性模块,进一步还包括:
判断是否接收到全部所述参与者模块发送的准备结果反馈信息;
若是,则执行判断所述准备结果反馈信息中是否存在所述否定响应信息的步骤;
若否,则发送所述中止请求至所述一致性模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团浙江有限公司;中国移动通信集团有限公司,未经中国移动通信集团浙江有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911308314.7/2.html,转载请声明来源钻瓜专利网。