一种数据备份方法、装置、系统、设备及存储介质制造方法及图纸

技术编号:36374904 阅读:19 留言:0更新日期:2023-01-18 09:34
本说明书实施例公开了一种数据备份方法、装置、系统、设备及存储介质。所述方法包括:针对存储节点中存储数据进行物理备份,并将该存储节点中物理备份的开始时刻所对应的操作日志位点确定为第一位点;构建可提交事务集合,并确定存储节点的裁剪位点;其中,所述可提交事务集合包括:在所述第一位点到所述裁剪位点之间,存在提交事件的两阶段提交事务;所述存储节点的裁剪位点为,所述可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点;备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志。第一位点到所述裁剪位点之间的操作日志。第一位点到所述裁剪位点之间的操作日志。

【技术实现步骤摘要】
一种数据备份方法、装置、系统、设备及存储介质


[0001]本说明书实施例涉及数据库
,尤其涉及一种数据备份方法、装置、系统、设备及存储介质。

技术介绍

[0002]针对数据分散存储到至少两个存储节点的数据库,具体进行备份时,需要针对多个存储节点进行备份。
[0003]相关技术中,可以针对数据库进行逻辑备份。逻辑备份具体可以是通过select*查询获取数据库中所有表的数据进行备份。但是逻辑备份需要占用较多的数据库资源,影响数据库本身业务的执行。

技术实现思路

[0004]为了解决上述问题,本说明书实施例提供了一种数据备份方法、装置、系统、设备及存储介质。技术方案如下所示。
[0005]一种数据备份方法,应用于数据库,所述数据库中包括至少两个存储节点;所述方法包括:
[0006]针对存储节点中存储数据进行物理备份,并将该存储节点中物理备份的开始时刻所对应的操作日志位点确定为第一位点;
[0007]构建可提交事务集合,并确定存储节点的裁剪位点;
[0008]其中,所述可提交事务集合包括:在所述第一位点到所述裁剪位点之间,存在提交事件的两阶段提交事务;
[0009]所述存储节点的裁剪位点包括,所述可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点;
[0010]备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志。
[0011]一种数据备份装置,应用于数据库,所述数据库中包括至少两个存储节点;所述装置包括:
[0012]物理备份单元,用于针对存储节点中存储数据进行物理备份,并将该存储节点中物理备份的开始时刻所对应的操作日志位点确定为第一位点;
[0013]构建单元,用于构建可提交事务集合,并确定存储节点的裁剪位点;
[0014]其中,所述可提交事务集合包括:在所述第一位点到所述裁剪位点之间,存在提交事件的两阶段提交事务;
[0015]所述存储节点的裁剪位点包括,所述可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点;
[0016]备份单元,用于备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志。
[0017]上述技术方案通过物理备份和备份操作日志,可以实现数据库中存储数据的备份,无需逻辑备份,可以减少数据库数据备份对数据库本身业务执行的影响。
附图说明
[0018]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0019]图1是本说明书实施例提供的一种数据备份方法的流程示意图;
[0020]图2是本说明书实施例提供的一种数据库的结构示意图;
[0021]图3是本说明书实施例提供的一种操作日志备份的原理示意图;
[0022]图4是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0023]图5是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0024]图6是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0025]图7是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0026]图8是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0027]图9是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0028]图10是本说明书实施例提供的另一种操作日志备份的原理示意图;
[0029]图11是本说明书实施例提供的另一种数据备份方法的流程示意图;
[0030]图12是本说明书实施例提供的一种数据恢复方法的流程示意图;
[0031]图13是本说明书实施例提供的另一种数据备份方法的流程示意图;
[0032]图14是本说明书实施例提供的一种数据备份装置的结构示意图;
[0033]图15是本说明书实施例提供的另一种数据备份装置的结构示意图;
[0034]图16是本说明书实施例提供的一种数据备份系统的架构示意图;
[0035]图17是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
[0036]为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于公开的范围。
[0037]针对数据分散存储到至少两个存储节点的数据库,具体进行备份时,需要针对多个存储节点进行备份。
[0038]相关技术中,可以针对数据库进行逻辑备份。逻辑备份具体可以是通过select*查询获取数据库中所有表的数据进行备份。但是逻辑备份需要占用较多的数据库资源,影响数据库本身业务的执行。
[0039]例如,由于逻辑备份需要扫描大量数据,会对数据库的性能造成一定的影响,通常需要放在业务低峰期执行。另外由于是逻辑备份且只能进行表级并行,对于数据库这种超大数据集的场景,整体吞吐能力较低,时间较长,备份效率较低。
[0040]为了解决上述问题,本说明书实施例提供了一种数据备份方法。该方法可以用于针对数据库中的存储数据进行备份。
[0041]在该方法中,可以针对数据库中的每个存储节点中全量存储数据进行物理备份。物理备份的具体解释可以参见相关技术。该数据库具体可以是分布式数据库,分布式数据库中的存储数据可以分散存储在至少两个存储节点中。
[0042]相比于逻辑备份,物理备份的备份效率较高,备份速度快,并且对数据库本身业务执行的影响较小。
[0043]针对数据库,数据分散存储在不同存储节点上,并且不同存储节点上的数据之间可以存在关联性。
[0044]例如,两个存储节点上可以针对同一笔交易分别存储有相应的记录,这两个记录之间存在关联。如果需要修改该笔交易的记录,就需要针对这两个存储节点修改相应的记录。
[0045]具体地,两个存储节点中的其中一个节点可以用于存储买方数据,另一个节点可以用于存储卖方数据。针对同一笔交易,需要分别在这两个存储节点存储卖方角度的记录和买方角度的记录。而这两个记录就具有关联性。
[0046]后续需要查询该笔交易的信息时,可以综合这两个记录进行查询,确保交易数据的完整性。
[0047]基于数据库中的数据关联性,需要数据库保持事务一致性,也就是事务对数据完整性约束的遵循。
[0048]例如,当一个事务需要修改两个存储节点上的关联记录,这两个存储节点上该事务的执行结果应当保持一致,都回滚成功本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据备份方法,应用于数据库,所述数据库中包括至少两个存储节点;所述方法包括:针对存储节点中存储数据进行物理备份,并将该存储节点中物理备份的开始时刻所对应的操作日志位点确定为第一位点;构建可提交事务集合,并确定存储节点的裁剪位点;其中,所述可提交事务集合包括:在所述第一位点到所述裁剪位点之间,存在提交事件的两阶段提交事务;所述存储节点的裁剪位点包括,所述可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点;备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志。2.根据权利要求1所述方法,所述确定存储节点的裁剪位点,包括:在预设事务完成时刻对应的操作日志位点之后,确定存储节点的裁剪位点;所述预设事务完成时刻包括:未完成事务集合中两阶段提交事务完成的时刻;所述未完成事务集合包括,在物理备份之后的第一时刻,所述数据库中未完成的两阶段提交事务。3.根据权利要求1所述方法,所述构建可提交事务集合,并确定存储节点的裁剪位点,包括:在确定未完成事务集合中的两阶段提交事务完成的情况下,发起针对存储节点的心跳事务;所述未完成事务集合包括,在物理备份之后的第一时刻,所述数据库中未完成的两阶段提交事务;在存储节点提交心跳事务成功的情况下,针对存储节点,将在第一时刻与心跳事务准备事件之间存在提交事件的两阶段提交事务,添加到当前可提交事务集合中;将心跳事务添加到当前可提交事务集合中;循环更新当前可提交事务集合和存储节点的当前裁剪位点,确认存储节点在第一时刻与当前裁剪位点之间存在提交事件的两阶段提交事务,包含在当前可提交事务集合中;其中,所述存储节点的当前裁剪位点包括,当前可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点。4.根据权利要求3所述方法,所述备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志,包括:循环结束后,备份当前可提交事务集合,以及存储节点中所述第一位点到当前裁剪位点之间的操作日志。5.根据权利要求3所述方法,所述循环更新当前可提交事务集合和存储节点的当前裁剪位点,包括:循环执行以下步骤,直到当前可提交事务集合没有新增事务:针对存储节点,将在心跳事务准备事件与当前裁剪位点之间存在提交事件的两阶段提交事务,添加到当前可提交事务集合中;针对存储节点,将当前可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点,确定为当前裁剪位点。6.根据权利要求3所述方法,存储节点的当前裁剪位点确定方法,包括:
针对存储节点,从心跳事务提交事件开始,向前遍历操作日志中的准备事件;在当前遍历的准备事件对应两阶段提交事务,属于当前可提交事务集合的情况下,将该事务准备事件的结束位点,确定为该存储节点的当前裁剪位点。7.根据权利要求3所述方法,还包括:针对存储节点,确定不在心跳事务提交事件的结束位点之前的第二位点;所述针对存储节点,将在第一时刻与心跳事务准备事件之间存在提交事件的两阶段提交事务,添加到当前可提交事务集合中,包括:针对存储节点的预设操作日志,将在心跳事务准备事件之前存在提交事件的两阶段提交事务,添加到当前可提交事务集合中;所述预设操作日志包括:第一时刻和第二位点之间的操作日志;所述确认存储节点在第一时刻与当前裁剪位点之间存在提交事件的两阶段提交事务,包含在当前可提交事务集合中,包括:确认存储节点的预设操作日志中,在当前裁剪位点之前存在提交事件的两阶段提交事务,包含在当前可提交事务集合中。8.根据权利要求7所述方法,所述针对存储节点,确定不在心跳事务提交事件的结束位点之前的第二位点,包括:针对存储节点,将心跳事务提交事件的结束位点,确定为第二位点;或者在存储节点提交心跳事务成功的情况下,针对存储节点的操作日志,将第二时刻对应的位点,确定为第二位点;所述第二时刻不早于存储节点之间最晚记录的心跳事务提交事件的结束位点。9.根据权利要求2所述方法,所述两阶段提交事务完成,包括:所述两阶段提交事务所针对的存储节点,成功回滚该两阶段提交事务;或者所述两阶段提交事务所针对的存储节点,成功提交该两阶段提交事务。10...

【专利技术属性】
技术研发人员:丁顺杰吴学强吴迪卢彪陈默
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1