[发明专利]基于分布式逻辑时间戳的分布式数据库管理方法及装置在审
申请号: | 201911014865.2 | 申请日: | 2019-10-23 |
公开(公告)号: | CN110795506A | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 许建辉;陈元熹;何国明;王涛 | 申请(专利权)人: | 广州巨杉软件开发有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 郭浩辉;麦小婵 |
地址: | 510060 广东省广州市广州番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 数据节点 协调节点 事务开始 时间戳 校时 仲裁 分布式数据库管理 分布式存储 分布式逻辑 时间戳顺序 时间相差 提升系统 消息发 回滚 预设 重试 网络 | ||
1.一种基于分布式逻辑时间戳的分布式数据库管理方法,其特征在于,所述分布式数据库包括协调节点、编目节点和数据节点,各个节点的本地逻辑时间分别根据预设的全局逻辑时间进行同步校时;
所述基于分布式逻辑时间戳的分布式数据库管理方法包括:
在事务开始时,将该事务的事务开始时间设为所述协调节点的本地逻辑时间;
在所述数据节点首次接收到所述协调节点发送的消息时,判断所述数据节点的本地逻辑时间与所述协调节点的本地逻辑时间的相差值是否超出预设的第一误差阈值;若是,则将所述数据节点的本地逻辑时间进行同步校时,同时,控制所述数据节点返回错误消息至所述协调节点,以使所述协调节点回滚该事务,并将所述协调节点的本地逻辑时间进行同步校时后,重试该事务;
在事务预提交时,将该事务的事务预提交时间设为所述协调节点的当前本地逻辑时间,判断所述事务预提交时间与所述事务开始时间的相差值是否大于该事务的事务容忍误差;若否,则暂缓执行;若是,则将所述事务预提交时间以及该事务的预提交消息发送到所有参与该事务的数据节点;
当两个不同事务访问相同数据时,判断所述两个不同事务的时间戳的相差值是否小于预设的第二误差阈值;若是,则从目标数据节点中按预设的算法选取一个数据节点作为仲裁节点,以对所述两个不同事务的时间戳顺序进行仲裁。
2.根据权利要求1所述的基于分布式逻辑时间戳的分布式数据库管理方法,其特征在于,所述预设的第一误差阈值为所述全局容忍误差的两倍。
3.根据权利要求1所述的基于分布式逻辑时间戳的分布式数据库管理方法,其特征在于,所述第二误差阈值的设定方式为:在访问相同数据的不同事务中,找出最大的事务容忍误差,将所述第二误差阈值设定为所述最大的事务容忍误差的两倍。
4.根据权利要求1所述的基于分布式逻辑时间戳的分布式数据库管理方法,其特征在于,所述全局容忍误差为根据系统状况进行动态变更;所述方法还包括:
当所述协调节点与所述编目节点进行同步校时时,获取当前系统全局容忍误差并进行记录;
在事务获取事务开始时间时,将所述当前系统全局容忍误差保存至该事务的元数据控制块中。
5.根据权利要求1所述的基于分布式逻辑时间戳的分布式数据库管理方法,其特征在于,还包括:
当事务修改、删除或插入数据时,将该事务的标识ID作为版本以对被改动的所述数据进行标记。
6.根据权利要求1所述的基于分布式逻辑时间戳的分布式数据库管理方法,其特征在于,事务的标识ID由该事务的事务开始时间以及参与该事务的协调节点的节点号组成。
7.一种基于分布式逻辑时间戳的分布式数据库管理装置,其特征在于,所述分布式数据库包括协调节点、编目节点和数据节点,各个节点的本地逻辑时间分别根据预设的全局逻辑时间进行同步校时;
所述基于分布式逻辑时间戳的分布式数据库管理装置包括:
事务时间管理模块,用于在事务开始时,将该事务的事务开始时间设为所述协调节点的本地逻辑时间;
事务访问管理模块,用于在所述数据节点首次接收到所述协调节点发送的消息时,判断所述数据节点的本地逻辑时间与所述协调节点的本地逻辑时间的相差值是否超出预设的第一误差阈值;若是,则将所述数据节点的本地逻辑时间进行同步校时,同时,控制所述数据节点返回错误消息至所述协调节点,以使所述协调节点回滚该事务,并将所述协调节点的本地逻辑时间进行同步校时后,重试该事务;
事务预提交管理模块,用于在事务预提交时,将该事务的事务预提交时间设为所述协调节点的当前本地逻辑时间,判断所述事务预提交时间与所述事务开始时间的相差值是否大于该事务的事务容忍误差;若否,则暂缓执行;若是,则将所述事务预提交时间以及该事务的预提交消息发送到所有参与该事务的数据节点;
分布式仲裁模块,用于当两个不同事务访问相同数据时,判断所述两个不同事务的时间戳的相差值是否小于预设的第二误差阈值;若是,则从目标数据节点中按预设的算法选取一个数据节点作为仲裁节点,以对所述两个不同事务的时间戳顺序进行仲裁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州巨杉软件开发有限公司,未经广州巨杉软件开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911014865.2/1.html,转载请声明来源钻瓜专利网。