[发明专利]分布式事务处理方法、协调装置、数据库及电子设备有效
申请号: | 201910208300.1 | 申请日: | 2019-03-19 |
公开(公告)号: | CN110018884B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 王光树;肖金亮;张森 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23;G06F16/2458 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许振新;朱文杰 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 事务处理 方法 协调 装置 数据库 电子设备 | ||
1.一种分布式事务处理方法,应用于分布式事务的协调装置,所述方法包括:
接收分布式数据库执行第一分布式事务的相应子事务的预提交指令之后返回的时间戳;
在接收到所述第一分布式事务涉及的所有分布式数据库返回的时间戳后,向所述第一分布式事务涉及的分布式数据库发送时间戳更新指令,所述时间戳更新指令用于指示将返回的最大时间戳作为所述第一分布式事务涉及的分布式数据库的全局时间戳;
响应于所述第一分布式事务的提交请求,向所述第一分布式事务涉及的分布式数据库发送子事务提交指令,所述子事务提交指令用于指示将第一分布式事务的相应子事务提交,并将提交时间戳设置为所述最大时间戳。
2.根据权利要求1所述的方法,所述方法还包括:
响应于第二分布式事务的子事务开始请求,复制目标分布式数据库的当前全局时间戳作为所述第二分布式事务的子事务的读取时间戳,所述目标分布式数据库是用于执行所述第二分布式事务的子事务的分布式数据库;
向所述第二分布式事务涉及的分布式数据库发送所述第二分布式事务的子事务开始指令,所述子事务开始指令中携带有所述读取时间戳。
3.根据权利要求2所述的方法,
在所述第一分布式事务的子事务和所述第二分布式事务的子事务访问同一分布式数据库中的同一数据对象的情况下,被访问的分布式数据库用于根据所述读取时间戳和所述提交时间戳确定所述第一分布式事务的子事务和所述第二分布式事务的子事务的执行顺序,并按所述执行顺序执行所述第一分布式事务的子事务和所述第二分布式事务的子事务。
4.根据权利要求3所述的方法,
如果所述第一分布式事务的子事务的提交时间戳大于或等于所述第二分布式事务的子事务的读取时间戳,则被访问的分布式数据库用于确定所述第二分布式事务的子事务的执行顺序在所述第一分布式事务的子事务之前;
如果所述第一分布式事务的子事务的提交时间戳小于所述第二分布式事务的子事务的读取时间戳,则被访问的分布式数据库用于确定所述第一分布式事务的子事务的执行顺序在所述第二分布式事务的子事务之前。
5.根据权利要求4所述的方法,
所述第一分布式事务的子事务为写事务,所述第二分布式事务的子事务为读事务。
6.根据权利要求4或5所述的方法,
如果被访问的分布式数据库的锁机制为表级锁,则被访问的同一数据对象为被访问的分布式数据库中的目标数据表;
如果被访问的分布式数据库的锁机制为行级锁,则被访问的同一数据对象为被访问的分布式数据库中的目标数据表中的目标记录。
7.根据权利要求1所述的方法,在接收分布式数据库执行第一分布式事务的相应子事务的预提交指令之后返回的时间戳之前,所述方法包括:
响应于第一分布式事务的开启请求,返回所述第一分布式事务的事务上下文;
响应于所述第一分布式事务的子事务的预提交请求,向所述第一分布式事务涉及的分布式数据库发送所述第一分布式事务的相应子事务的预提交指令,所述第一分布式事务的子事务是根据所述事务上下文确定的。
8.根据权利要求7所述的方法,在响应于所述第一分布式事务的子事务的预提交请求之前,所述方法还包括:
响应于所述第一分布式事务的子事务开启请求,开启所述第一分布式事务的子事务;
接收所述第一分布式事务的子事务的预设信息,所述预设信息用于确定执行所述第一分布式事务的目标子事务的目标分布式数据库和所述目标子事务的业务内容;
向所述目标分布式数据库发送所述目标子事务的开始指令和所述预设信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910208300.1/1.html,转载请声明来源钻瓜专利网。