[发明专利]一种分布式事务协调器大幅提高性能方法及系统在审
申请号: | 202310337973.3 | 申请日: | 2023-03-31 |
公开(公告)号: | CN116414527A | 公开(公告)日: | 2023-07-11 |
发明(设计)人: | 吕先正;徐晓剑;刘文涛;程佳;冯振海;刘博 | 申请(专利权)人: | 中信银行股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50;G06F3/06 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 窦雅利;张峰 |
地址: | 100020 北京市朝阳区光*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 事务 协调 大幅 提高 性能 方法 系统 | ||
1.一种分布式事务协调器大幅提高性能方法,其特征在于,包括:
S1、客户端调用服务A,开启待处理分布事务;
S2、事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
S3、访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
S4、服务A调用服务B,将事务上下文传递至服务B;
S5、服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
S6、服务B将更新后的事务上下文返回至服务A;
S7、服务A接收到服务B的响应,全局事务第一阶段完成调用;
S8、事务协调器向第一资源管理器以及第二资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
2.如权利要求1所述的方法,其特征在于,所述步骤S2包括子步骤:
S21、事务协调器判断待处理分布事务是否为第一次执行;
S22、若待处理分布事务是第一次执行,则事务协调器将事务信息写入存储;
S23、若待处理分布事务不是第一次执行,则判断是否存在预先分配的事务标识;
S24、若不存在预先分配的事务标识,则将处理过此类待处理分布事务的资源管理器与待处理分布事务进行关联,并存储事务信息以及关联事务资源信息;
S25、若存在预先分配的事务标识,事务管理器从预先设置的事务标识中分配事务标识。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:事务协调器向第一资源管理器以及第二资源管理器发起第二阶段回滚,多个事务分支合并执行,将完成的全局事务状态更新。
4.如权利要求1所述的方法,其特征在于,所述步骤S8包括:
事务协调器向第一资源管理器发起第二阶段提交;
第一资源管理器将多个事务分支合并执行,发送至事务协调器;
事务协调器检查所有分支是否完成;
若所有分支已完成,则将完成状态写入异步队列。
5.如权利要求1所述的方法,其特征在于,所述步骤S8还包括:
事务协调器向第二资源管理器发起第二阶段提交;
第二资源管理器将多个事务分支合并执行,发送至事务协调器;
事务协调器检查所有分支是否完成;
若所有分支已完成,则将完成状态写入异步队列。
6.如权利要求1所述的方法,其特征在于,所述步骤S7包括:
服务A将服务B响应的事务上下文更新。
7.一种分布式事务协调器大幅提高性能系统,其特征在于,包括:
事务开启模块,用于调用服务A,开启待处理分布事务;
全局事务标识分配模块,用于事务管理器向事务协调器注册待处理全局事务,事务协调器分配全局事务标识,将全局事务标识和预测的事务关联资源信息保存到事务上下文;
第一分支标识生成模块,用于访问第一资源管理器,向事务协调器注册事务分支,生成第一分支标识,保存至事务上下文;将第一资源管理器更新到预测资源中;
服务调用模块,用于服务A调用服务B,将事务上下文传递至服务B;
第二分支标识生成模块,用于服务B访问第二资源管理器,向事务协调器注册事务分支,生成第二分支标识,保存至事务上下文;将第二资源管理器更新到预测资源中;
返回模块,用于服务B将更新后的事务上下文返回至服务A;
响应接收模块,用于服务A接收到服务B的响应,全局事务第一阶段完成调用;
分支合并执行模块,用于事务协调器向第一资源管理器以及第一资源管理器发起第二阶段提交,多个事务分支合并执行,将完成的全局事务状态更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信银行股份有限公司,未经中信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310337973.3/1.html,转载请声明来源钻瓜专利网。