【技术实现步骤摘要】
一种数据备份方法、装置、系统、设备及存储介质
[0001]本说明书实施例涉及数据库
,尤其涉及一种数据备份方法、装置、系统、设备及存储介质。
技术介绍
[0002]针对数据分散存储到至少两个存储节点的数据库,具体进行备份时,需要针对多个存储节点进行备份。
[0003]相关技术中,可以针对数据库进行逻辑备份。逻辑备份具体可以是通过select*查询获取数据库中所有表的数据进行备份。但是逻辑备份需要占用较多的数据库资源,影响数据库本身业务的执行。
技术实现思路
[0004]为了解决上述问题,本说明书实施例提供了一种数据备份方法、装置、系统、设备及存储介质。技术方案如下所示。
[0005]一种数据备份方法,应用于数据库,所述数据库中包括至少两个存储节点;所述方法包括:
[0006]针对存储节点中存储数据进行物理备份,并将该存储节点中物理备份的开始时刻所对应的操作日志位点确定为第一位点;
[0007]构建可提交事务集合,并确定存储节点的裁剪位点;
[0008]其中,所述可提交事务集合包括:在所述第一位点到所述裁剪位点之间,存在提交事件的两阶段提交事务;
[0009]所述存储节点的裁剪位点包括,所述可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点;
[0010]备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志。
[0011]一种数据备份装置,应用于数据库,所述数 ...
【技术保护点】
【技术特征摘要】
1.一种数据备份方法,应用于数据库,所述数据库中包括至少两个存储节点;所述方法包括:针对存储节点中存储数据进行物理备份,并将该存储节点中物理备份的开始时刻所对应的操作日志位点确定为第一位点;构建可提交事务集合,并确定存储节点的裁剪位点;其中,所述可提交事务集合包括:在所述第一位点到所述裁剪位点之间,存在提交事件的两阶段提交事务;所述存储节点的裁剪位点包括,所述可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点;备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志。2.根据权利要求1所述方法,所述确定存储节点的裁剪位点,包括:在预设事务完成时刻对应的操作日志位点之后,确定存储节点的裁剪位点;所述预设事务完成时刻包括:未完成事务集合中两阶段提交事务完成的时刻;所述未完成事务集合包括,在物理备份之后的第一时刻,所述数据库中未完成的两阶段提交事务。3.根据权利要求1所述方法,所述构建可提交事务集合,并确定存储节点的裁剪位点,包括:在确定未完成事务集合中的两阶段提交事务完成的情况下,发起针对存储节点的心跳事务;所述未完成事务集合包括,在物理备份之后的第一时刻,所述数据库中未完成的两阶段提交事务;在存储节点提交心跳事务成功的情况下,针对存储节点,将在第一时刻与心跳事务准备事件之间存在提交事件的两阶段提交事务,添加到当前可提交事务集合中;将心跳事务添加到当前可提交事务集合中;循环更新当前可提交事务集合和存储节点的当前裁剪位点,确认存储节点在第一时刻与当前裁剪位点之间存在提交事件的两阶段提交事务,包含在当前可提交事务集合中;其中,所述存储节点的当前裁剪位点包括,当前可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点。4.根据权利要求3所述方法,所述备份所述可提交事务集合,以及存储节点中所述第一位点到所述裁剪位点之间的操作日志,包括:循环结束后,备份当前可提交事务集合,以及存储节点中所述第一位点到当前裁剪位点之间的操作日志。5.根据权利要求3所述方法,所述循环更新当前可提交事务集合和存储节点的当前裁剪位点,包括:循环执行以下步骤,直到当前可提交事务集合没有新增事务:针对存储节点,将在心跳事务准备事件与当前裁剪位点之间存在提交事件的两阶段提交事务,添加到当前可提交事务集合中;针对存储节点,将当前可提交事务集合中针对该存储节点的两阶段提交事务之间,在该存储节点操作日志中最晚记录的准备事件结束位点,确定为当前裁剪位点。6.根据权利要求3所述方法,存储节点的当前裁剪位点确定方法,包括:
针对存储节点,从心跳事务提交事件开始,向前遍历操作日志中的准备事件;在当前遍历的准备事件对应两阶段提交事务,属于当前可提交事务集合的情况下,将该事务准备事件的结束位点,确定为该存储节点的当前裁剪位点。7.根据权利要求3所述方法,还包括:针对存储节点,确定不在心跳事务提交事件的结束位点之前的第二位点;所述针对存储节点,将在第一时刻与心跳事务准备事件之间存在提交事件的两阶段提交事务,添加到当前可提交事务集合中,包括:针对存储节点的预设操作日志,将在心跳事务准备事件之前存在提交事件的两阶段提交事务,添加到当前可提交事务集合中;所述预设操作日志包括:第一时刻和第二位点之间的操作日志;所述确认存储节点在第一时刻与当前裁剪位点之间存在提交事件的两阶段提交事务,包含在当前可提交事务集合中,包括:确认存储节点的预设操作日志中,在当前裁剪位点之前存在提交事件的两阶段提交事务,包含在当前可提交事务集合中。8.根据权利要求7所述方法,所述针对存储节点,确定不在心跳事务提交事件的结束位点之前的第二位点,包括:针对存储节点,将心跳事务提交事件的结束位点,确定为第二位点;或者在存储节点提交心跳事务成功的情况下,针对存储节点的操作日志,将第二时刻对应的位点,确定为第二位点;所述第二时刻不早于存储节点之间最晚记录的心跳事务提交事件的结束位点。9.根据权利要求2所述方法,所述两阶段提交事务完成,包括:所述两阶段提交事务所针对的存储节点,成功回滚该两阶段提交事务;或者所述两阶段提交事务所针对的存储节点,成功提交该两阶段提交事务。10...
【专利技术属性】
技术研发人员:丁顺杰,吴学强,吴迪,卢彪,陈默,
申请(专利权)人:阿里云计算有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。