[发明专利]分布式跨区域的数据库事务处理在审
申请号: | 201980099051.5 | 申请日: | 2019-08-02 |
公开(公告)号: | CN114207600A | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 蔡乐;贾鑫;杜贵彬;赵殿奎;智雅楠 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/2458 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 跨区 数据库 事务处理 | ||
本申请揭示了跨区域数据库的事务处理,包括:确定包含一个或多个语句集的事务要在多个数据库服务器上执行,这些服务器跨至少两个区域,其中每个区域都与各自的基于混合逻辑时钟(HLC)的集中时间服务相关联;使所述一个或多个语句集在所述跨至少两个区域的所述多个数据库服务器上执行;从所述跨至少两个区域的所述多个数据库服务器获得多个基于HLC的准备时间戳;并且,选择一个最大的基于HLC的准备时间戳作为与所述事务关联的提交时间戳。
背景技术
分布式数据库解决了独立数据库的可扩展性问题,允许数据库系统的计算和存储容量灵活地增加,而不受单个服务器的限制。在分布式方案中,数据库可以分布到不同的物理位置,以确保高可用性。如果只有一个全局锁,那么它的物理位置可能接近某些数据库实体,但远离其他数据库实体。对于较远的数据库实体,其所遭遇的与获取时钟相关的网络延迟将会非常高,并会对这些数据库实体的吞吐量产生不利影响。如果有多个时钟位于不同的物理位置,那么就需要周期性地同步这些时钟,以抑制时钟彼此之间自然偏差的负面影响。尽管存在时钟同步协议,但仍然存在非零时钟偏差,这可能会导致数据库发出的关于事务提交的时间戳与绝对时间内事务提交的时间戳不一致。数据库发出的时间戳所指示的事务提交顺序与绝对时间内的事务提交顺序之间的差异可能导致数据库数据的读取不一致,这可能最终导致执行这类读取的应用程序出现问题。
附图说明
本发明的各种实施例在以下详细描述和附图中公开。
图1是分布式数据库方案的示意图。
图2是在分布于不同区域的数据库中进行事务处理的系统实施例的图。
图3示出HLC实施例的图。
图4示出示数据库服务器示例的图。
图5示出用于在跨区域分布的数据库中处理事务的进程的实施例的流程图。
图6示出用于确定某个事务是否将被跨多个区域执行的进程的示例的流程图。
图7示出在一个区域内的一个或多个数据库上执行事务的进程的示例的流程图。
图8示出在跨越多个区域的一个或多个数据库中执行事务的进程的示例的流程图。
图9示出基于从非本地来源接收的更新用于更新本地HLC的进程的示例的流程图。
图10示出了在跨多个区域的分布式数据库中执行事务处理的示例进程的序列图。
具体实施方式
本发明可以以多种方式实现,包括作为一个进程;一个设备;一个系统;物品的组成部分;体现在计算机可读存储介质上的计算机程序产品;和/或一种处理器,例如一种被配置为执行由耦合到所述处理器的内存提供和/或存储的指令的处理器。在本具体实施方式中,这些实现方式,或本发明可能采取的任何其他形式,可以称为技术。一般来说,所披露过程的步骤顺序可以在本发明的范围内变更。除非另有说明,所描述的被配置为执行任务的部件,如处理器或内存,可以采用被临时配置为在给定时间内执行所述任务的通用组件,或者,采用为执行所述任务的制成的特定组件。正如这里所使用的,术语“处理器”是指一个或多个设备、电路和/或配置为处理数据——例如计算机程序指令——的处理核心。
下面提供了本发明一个或多个实施例的详细描述,以及说明本发明原理的附图。本发明所描述的与这些实施例相关,但本发明不限于任何实施例。本发明的范围仅受权利要求的限制,本发明涵盖许多替代选择、变型和等同物。为了提供对本发明的全面理解,以下描述中列出了许多具体细节。这些细节是为了举例的目的而提供的,发明可以根据权利要求实施,而不需要部分或全部这些具体细节。为了清晰起见,没有详细描述与本发明有关的技术领域中已知的技术内容,以避免本发明被不必要地遮盖。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980099051.5/2.html,转载请声明来源钻瓜专利网。