[发明专利]一种分布式系统全局一致性的时间点恢复方法及装置有效
申请号: | 202110507986.1 | 申请日: | 2021-05-10 |
公开(公告)号: | CN113238892B | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 马修·范迪克;何国明;许建辉;陈元熹 | 申请(专利权)人: | 深圳巨杉数据库软件有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/23;G06F16/27 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 陈旭红;吴落 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 系统 全局 一致性 时间 恢复 方法 装置 | ||
本发明公开了一种分布式系统全局一致性的时间点恢复方法及装置,所述方法,包括:根据全局各节点的信息确定目标逻辑时间;参照所述目标逻辑时间,各所述节点独立并发的回滚全局事务至协调节点的所述目标逻辑时间,实现全局一致的时间点状态。本发明根据全局各节点的信息确定目标逻辑时间,再进行回滚操作,实现了在分布式数据库中的全局事务按时间一致点恢复,达到了全局一致的时间点状态。
技术领域
本发明涉及分布式系统时间点管理技术领域,尤其涉及一种全局一致性时间点的实现方法及装置。
背景技术
在分布式数据库中,各个数据节点通常使用独立的日志来记录发生在本节点上数据的变更,在备份甚至恢复时也是按节点独立进行。这样做的好处在于可以提高各节点间的并发性,特别是在节点需要恢复时,各节点可以独立处理。但在全局事务需要跨多节点时,对如何保证节点间的事务在回放时仍然能保证全局事务的一致性提出了一个巨大的挑战。比如下面列出的两种场景:
1.由于备份开始时间的差距,某些节点的备份中可能包含了某个事务的提交日志,但其他节点的备份中尚未包含那些事务的提交日志信息。那么各节点独立实现恢复时部分节点会完成该事务,部分节点会回滚该事务,这样就无法保证所有节点恢复后整个分布式数据库数据的全局一致性。
2.分步式数据库在线恢复到过去某一时间点,由于各参与节点机器时间可能存在差异,虽然所有节点都有足够的日志进行回滚,但在对应特定时间点各节点事务状态可能不一致,如果各节点独立恢复的话,最终还是可能会造成特定事务在部分节点提交,而在另外的节点上回滚了,无法实现全局事务的一致性。
若采用全局统一的逻辑日志,虽然可以保证全局事务的一致性,但各节点上的操作必须相互协调,无法实现独立并发操作,导致性能效率低下。
发明内容
本发明目的在于,提供一种分布式系统全局一致性的时间点恢复方法及装置,以解决全局不统一的问题。
为实现上述目的,本发明提供一种分布式系统全局一致性的时间点恢复方法,包括:
根据全局各节点的信息确定目标逻辑时间;
参照所述目标逻辑时间,各所述节点独立并发的回滚全局事务至协调节点的所述目标逻辑时间,实现全局一致的时间点状态。
优选地,所述根据全局各节点的信息确定目标逻辑时间,包括:
根据所述时间序列协议,在各所述节点将所述逻辑时间与所述机器时间作对应转换,根据当下时间点(RTb,LTb)确定历史时间点记录(RTa,LTa),其中,RT是机器时间,LT是逻辑时间;
若当下时间点的机器时间为RTb,且RTa<RTb,计算对应的逻辑时间LTb,如下:
LTb=LTa+(RTb-RTa);
若当下时间点的逻辑时间为LTb,且LTa<LTb,计算对应的机器时间RTb,如下:
RTb=RTa+(LTb-LTa)。
优选地,所述根据全局各节点的信息确定目标逻辑时间,包括:
所述全局各节点的信息包括全局事务,根据给定的逻辑时间点,比较所述全局事务在读事务的开始时间与写事务的提交时间,确定在所述给定的逻辑时间点是否已经提交,若未提交,则所述全局事务在所述给定的逻辑时间点恢复时进行回滚;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳巨杉数据库软件有限公司,未经深圳巨杉数据库软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110507986.1/2.html,转载请声明来源钻瓜专利网。