[发明专利]分布式跨区域的数据库事务处理在审
申请号: | 201980099051.5 | 申请日: | 2019-08-02 |
公开(公告)号: | CN114207600A | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 蔡乐;贾鑫;杜贵彬;赵殿奎;智雅楠 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2458 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 跨区 数据库 事务处理 | ||
1.一种分布式数据库,包括:
一个或多个处理器,被配置为:
确定包含一个或多个语句集的事务将在跨至少两个区域的多个数据库服务器上执行,其中每个区域与各自的基于混合逻辑时钟HLC的集中时间服务相关联;
使所述一个或多个语句集在所述跨至少两个区域的多个数据库服务器上执行;
从所述跨至少两个区域的所述多个数据库服务器获得多个基于HLC的准备时间戳;以及
选择一个最大的基于HLC的准备时间戳作为与所述事务关联的提交时间戳;以及
耦合到所述一个或多个处理器的一个或多个存储器,并配置为向所述一个或多个处理器提供指令。
2.根据权利要求1所述的分布式数据库,其中的所述一个或多个处理器被进一步配置为使所述跨至少两个区域的所述多个数据库服务器使用所述提交时间戳,提交与所述一个或多个语句集关联的执行结果。
3.根据权利要求1所述的分布式数据库,其中所述一个或多个处理器被进一步配置为返回与所述事务对应的提交结果。
4.根据权利要求1所述的分布式数据库,其中,根据应用程序发送的提示信息,确定包含一个或多个语句集的所述事务,将在所述跨至少两个区域的多个数据库服务器上执行。
5.根据权利要求1所述的分布式数据库,其中两个区域之间的网络延迟大于对应于所述至少两个区域的各个区域的各自基于HLC的集中时间服务之间的最大时钟偏差。
6.根据权利要求1所述的分布式数据库,其中所述一个或多个处理器被进一步配置为:获取受所述多个数据库服务器上的所述一个或多个语句集影响的数据锁。
7.根据权利要求1所述的分布式数据库,其中所述一个或多个处理器被进一步配置为向所述多个数据库服务器发送准备命令。
8.根据权利要求1所述的分布式数据库,其中所述一个或多个处理器被配置为对数据解锁,所述数据被所述多个数据库服务器上的所述一个或多个语句集影响。
9.根据权利要求1所述的分布式数据库,其中所述一个或多个处理器被进一步配置为:
从位于第一区域的数据库服务器接收更新,该第一区域区别于与该系统相关联的第二区域;
将与所述更新相关的基于HLC的时间戳与当前本地HLC时间相比较;以及
响应于与所述更新相关的基于HLC的时间戳大于当前本地HLC时间的判断,更新所述当前本地HLC时间。
10.根据权利要求9所述的分布式数据库,其中来自位于所述第一区域的数据库服务器的更新包含从所述数据库服务器读取的值。
11.根据权利要求1所述的分布式数据库,其中所述一个或多个处理器被进一步配置为:
接收所述事务带有的会话级HLC时间戳;
比较所述会话级HLC时间戳和当前本地HLC时间;以及
响应于所述会话级HLC时间戳大于所述当前本地HLC时间的判断,更新所述当前本地HLC时间。
12.根据权利要求1所述的分布式数据库,其中所述事务包括第一事务,其中所述一个或多个处理器被进一步配置为:
确定要在区域内的一数据库服务器组上执行第二事务;以及
在所述数据库服务器组上执行所述第二事务。
13.一种方法,包括:
确定包含一个或多个语句集的事务将在跨越至少两个区域的多个数据库服务器上执行,其中每个区域都与各自的基于混合逻辑时钟HLC的集中时间服务相关联;
使所述一个或多个语句集在所述跨越至少两个区域的多个数据库服务器上执行;
从所述跨越至少两个区域的所述多个数据库服务器获得多个基于HLC的准备时间戳;以及
选择一个最大的基于HLC的准备时间戳作为与所述事务关联的提交时间戳。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980099051.5/1.html,转载请声明来源钻瓜专利网。