[发明专利]分布式事务处理方法及装置在审
申请号: | 202010091320.8 | 申请日: | 2020-02-13 |
公开(公告)号: | CN111259083A | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 范凯杰;薛春雨 | 申请(专利权)人: | 神州数码融信软件有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455;G06F16/23;G06F16/21 |
代理公司: | 北京方韬法业专利代理事务所(普通合伙) 11303 | 代理人: | 党小林 |
地址: | 100000 北京市海淀区西北旺*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 方法 装置 | ||
1.一种分布式事务处理方法,应用于全局事务应用服务器,其特征在于,包括:
请求全局事务管理器记录事务的全局事务信息,并获取全局事务管理器返回的全局事务唯一标识;
执行全局事务中所有事务分支操作;
如果全局事务任意一个事务分支执行失败,请求全局事务管理器进行全局事务回滚;
如果全局事务所有事务分支对应的本地事务都提交成功,请求全局事务管理器进行全局事务提交。
2.根据权利要求1所述的分布式事务处理方法,其特征在于,还包括:
向全局事务管理器请求全局事务回滚。
3.一种分布式事务处理方法,应用于事务分支应用服务器,其特征在于,包括:
请求全局事务管理器记录事务分支的事务分支信息,并获取全局事务管理器返回的事务分支唯一标识;
对事务分支数据源执行的SQL进行拦截并解析;
根据解析结果生成SQL的前镜像记录;
执行SQL;
根据执行结果生成SQL的后镜像记录;
根据全局事务唯一标识向全局事务管理器注册事务分支,并获取全局事务管理器返回的事务分支唯一标识;
根据事务分支唯一标识,持久化当前事务分支中的前镜像记录及后镜像记录,作为回滚日志;
提交本地事务,并释放本地事务对应的连接资源。
4.根据权利要求3所述的分布式事务处理方法,其特征在于,对事务分支数据源执行的SQL进行拦截并解析,包括:
根据SQL的解析结果,向逻辑锁模块查询所需数据是否被其它事务锁定。
5.根据权利要求3所述的分布式事务处理方法,其特征在于,还包括:
在提交本地事务之前,根据SQL的前镜像记录及后镜像记录,请求逻辑锁模块加锁。
6.根据权利要求3所述的分布式事务处理方法,其特征在于,还包括:
如果事务分支执行失败,根据回滚日志进行事务回滚。
7.根据权利要求3所述的分布式事务处理方法,其特征在于,还包括:
获取全局事务管理器根据事务分支注册信息下发的事务分支提交命令;
根据事务分支提交命令,清除回滚日志。
8.根据权利要求3所述的分布式事务处理方法,其特征在于,还包括:
获取全局事务管理器根据事务分支注册信息下发的事务分支回滚命令;
根据事务分支回滚命令,锁定查询此事务分支修改过的任意一行记录数据;
如果锁定查询失败,中断当前事务分支回滚,并等待全局事务管理器重新发起事务分支回滚命令;
根据事务分支回滚命令,匹配对应的回滚日志;
根据回滚日志,执行事务分支回滚操作。
9.根据权利要求3所述的分布式事务处理方法,其特征在于,根据执行结果生成SQL的后镜像记录,包括:
如果所执行SQL为INSERT或UPDATE语句,尝试根据前像数据及SQL解析结果进行计算;
无法计算或计算失败,再根据SQL解析结果生成后像查询语句进行后像查询。
10.根据权利要求3所述的分布式事务处理方法,其特征在于,根据执行结果生成SQL的后镜像记录,包括:
如果所执行SQL为INSERT语句,且未包含所有主键信息,则通过连接获取所插入行缺失的主键值,再根据获取的主键值进行后像计算或后像查询。
11.根据权利要求3所述的分布式事务处理方法,其特征在于,执行SQL,包括:
如果所执行SQL为UPDATE或DELETE语句,且无法命中唯一记录,则在查询前像后,根据查询结果,修改SQL为根据前像结果进行UPDATE或DELETE。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于神州数码融信软件有限公司,未经神州数码融信软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010091320.8/1.html,转载请声明来源钻瓜专利网。