[发明专利]分布式事务的低侵入补偿方法及装置在审
申请号: | 202110448380.5 | 申请日: | 2021-04-25 |
公开(公告)号: | CN113138840A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 李健;滕达;张丹枫;何佳存 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/14;G06F16/242;G06F16/27 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务 侵入 补偿 方法 装置 | ||
1.一种分布式事务的低侵入补偿方法,其特征在于,包括:
在接收到主事务请求时,针对每一子事务的业务SQL语句进行拦截;
解析每一子事务的业务SQL语句,获得每一子事务的SQL语句类型以及条件作为解析结果;
根据每一子事务的解析结果,生成每一子事务的业务SQL语句执行之前的前置数据快照及业务SQL语句执行之后的后置数据快照;
在接收到每一子事务回滚请求时,根据每一子事务的前置数据快照及后置数据快照,生成每一子事务的回滚SQL语句;所述回滚SQL语句用于完成回冲操作。
2.如权利要求1所述的分布式事务的低侵入补偿方法,其特征在于,还包括:在接收到每一子事务持久化操作请求时,将每一子事务对应的前置数据快照及后置数据快照删除。
3.如权利要求1所述的分布式事务的低侵入补偿方法,其特征在于,还包括:在向服务器注册子事务信息成功后,将每一子事务的前置数据快照及后置数据快照存储在本地数据库。
4.如权利要求3所述的分布式事务的低侵入补偿方法,其特征在于,利用代理JDBC的原生数据库组件Connection代理对象执行:在向服务器注册子事务信息成功后,将每一子事务的前置数据快照及后置数据快照存储在本地数据库的步骤。
5.如权利要求3所述的分布式事务的低侵入补偿方法,其特征在于,还包括:在向服务器注册子事务信息成功后,将业务SQL语句和快照存储SQL语句作为一个事务提交。
6.如权利要求5所述的分布式事务的低侵入补偿方法,其特征在于,利用代理JDBC的原生数据库组件Connection代理对象执行:在向服务器注册子事务信息成功后,将业务SQL语句和快照存储SQL语句作为一个事务提交的步骤。
7.如权利要求1所述的分布式事务的低侵入补偿方法,其特征在于,利用代理JDBC的原生数据库组件Statement代理对象执行:解析每一子事务的业务SQL语句,获得每一子事务的SQL语句类型以及条件作为解析结果,以及根据每一子事务的解析结果,生成每一子事务的业务SQL语句执行之前的前置数据快照及业务SQL语句执行之后的后置数据快照的步骤。
8.一种分布式事务的低侵入补偿装置,其特征在于,包括:
拦截单元,用于在接收到主事务请求时,针对每一子事务的业务SQL语句进行拦截;
解析单元,用于解析每一子事务的业务SQL语句,获得每一子事务的SQL语句类型以及条件作为解析结果;
数据快照生成单元,用于根据每一子事务的解析结果,生成每一子事务的业务SQL语句执行之前的前置数据快照及业务SQL语句执行之后的后置数据快照;
补偿单元,用于在接收到每一子事务回滚请求时,根据每一子事务的前置数据快照及后置数据快照,生成每一子事务的回滚SQL语句;所述回滚SQL语句用于完成回冲操作。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110448380.5/1.html,转载请声明来源钻瓜专利网。