[发明专利]基于分布式逻辑时间戳的分布式数据库管理方法及装置在审
申请号: | 201911014865.2 | 申请日: | 2019-10-23 |
公开(公告)号: | CN110795506A | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 许建辉;陈元熹;何国明;王涛 | 申请(专利权)人: | 广州巨杉软件开发有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 郭浩辉;麦小婵 |
地址: | 510060 广东省广州市广州番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 数据节点 协调节点 事务开始 时间戳 校时 仲裁 分布式数据库管理 分布式存储 分布式逻辑 时间戳顺序 时间相差 提升系统 消息发 回滚 预设 重试 网络 | ||
本发明公开了一种基于分布式逻辑时间戳的分布式数据库管理方法及装置,方法包括:对事务的事务开始时间进行设置;若数据节点与协调节点的本地逻辑时间的相差值超出预设的阈值,则将数据节点的本地逻辑时间进行校时,并使协调节点回滚该事务,在将协调节点的时间进行校时后,重试该事务;若事务预提交时间与事务开始时间相差值大于该事务的事务容忍误差,则将事务预提交时间以及该事务的预提交消息发送到所有参与该事务的数据节点;根据两个不同事务的时间戳的相差值情况,选取一个数据节点作为仲裁节点以对两个不同事务的时间戳顺序进行仲裁。本发明能够在满足分布式存储和处理的要求的同时,减少网络的开销,从而有效提升系统的整体性能。
技术领域
本发明涉及数据库技术领域,尤其是涉及一种基于分布式逻辑时间戳的分布式数据库管理方法及装置。
背景技术
分布式数据库管理系统是分布式系统中的实际应用中非常重要的部分,它不仅具备和使用了所有分布式系统的特性,还对数据存储,处理提出了更高的要求。数据库管理系统自上世纪八十年代开始被广泛的应用,最初数据库都在一台计算机上部署,所有交易在这一个单机数据库内处理。随这数据量和业务量的急剧扩大,单机已无法满足数据存储和数据处理能力的要求,分布式数据库系统成为各类应用部署的首选架构。解决好分布式数据库中分布式存储,分布式运算和高并发下的低延时响应对其他分布式系统有极大的借鉴意义。
在分布式数据系统中通常需要维护一个全局唯一性的ID来区别并发的事务,标识产生或变更的数据。这个ID通常有如下特征:不能有单点故障,以时间为序或包含时间,可以控制数据分片的ID,不要太长。
实现这样一个全局唯一的ID通常结合事务发起的时间,依赖时间戳加上其他的一些标识位来。这个时间戳的产生一般有两种:基于硬件的时钟和基于软件实现的逻辑时钟。前者利用原子的特性,利用硬件实现,保证每个时钟设备在很长时间内相互误差小到可以忽略。这样参与集群的各计算节点可以直接查询并使用本地时钟作为全局时间戳。其缺点是成本非常高,无法推广应用。实际应用中更多利用软件实现的逻辑时钟。现有的实现多是在分布式系统计算机集群中部署一台或一个小的集群(全局事务管理节点GTM)来产生分发一个统一的包含时间戳全局ID,集群中所有其他计算机同步查询GTM来获得一个ID。这个ID具有递增属性,从而保证每次查询得到的ID唯一。这样实现的缺点是当系统集群规模很大,并发操作很多时,GTM的负载会很重,同时网络开销会非常大,导致系统整体性能降低。同时,为避免单点故障使用小集群中实现GTM也非常复杂,且无法完全保证可靠性。
发明内容
本发明实施例提供了一种基于分布式逻辑时间戳的分布式数据库管理方法及装置,能够避免强制所有参与节点从GTM中获取唯一ID的步骤,从而能够在满足分布式存储和处理的要求的同时,减少网络的开销,提升系统的整体性能。
为了解决上述技术问题,本发明实施例提供了一种基于分布式逻辑时间戳的分布式数据库管理方法,所述分布式数据库包括协调节点、编目节点和数据节点,各个节点的本地逻辑时间分别根据预设的全局逻辑时间进行同步校时;
所述基于分布式逻辑时间戳的分布式数据库管理方法包括:
在事务开始时,将该事务的事务开始时间设为所述协调节点的本地逻辑时间;
在所述数据节点首次接收到所述协调节点发送的消息时,判断所述数据节点的本地逻辑时间与所述协调节点的本地逻辑时间的相差值是否超出预设的第一误差阈值;若是,则将所述数据节点的本地逻辑时间进行同步校时,同时,控制所述数据节点返回错误消息至所述协调节点,以使所述协调节点回滚该事务,并将所述协调节点的本地逻辑时间进行同步校时后,重试该事务;
在事务预提交时,将该事务的事务预提交时间设为所述协调节点的当前本地逻辑时间,判断所述事务预提交时间与所述事务开始时间的相差值是否大于该事务的事务容忍误差;若否,则暂缓执行;若是,则将所述事务预提交时间以及该事务的预提交消息发送到所有参与该事务的数据节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州巨杉软件开发有限公司,未经广州巨杉软件开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911014865.2/2.html,转载请声明来源钻瓜专利网。