一种数据备份方法、数据恢复方法及装置制造方法及图纸

技术编号:39166238 阅读:10 留言:0更新日期:2023-10-23 15:04
本申请实施例提供了一种数据备份方法、装置、电子设备及计算机可读存储介质,涉及分布式数据库技术领域。该方法包括:针对待备份数据分割得到的每一子备份数据,执行如下备份操作:接收针对子备份数据的备份请求;响应于备份请求,获取子备份数据对应的数据库节点的数据快照;基于子备份数据的数据范围,从数据快照中筛选得到待备份文件;将待备份文件上传到备份存储节点。本申请实施例通过获取数据库节点的数据快照,并从数据快照中筛选得到待备份文件,以完成数据备份,解决了数据备份与在线业务的资源冲突问题。业务的资源冲突问题。业务的资源冲突问题。

【技术实现步骤摘要】
一种数据备份方法、数据恢复方法及装置


[0001]本申请涉及分布式数据库
,具体而言,本申请涉及一种数据备份方法、数据恢复方法及装置。

技术介绍

[0002]分布式数据库是现代数据处理的核心,分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS(Database Management System,数据库管理系统)的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。这些数据库可以在多台计算机之间分布数据,以实现高可用性、伸缩性和容错性。
[0003]分布式数据库通常会将数据进行分片,分布存储到多个数据库节点中。在对分布式数据库中的数据进行备份时,现有方案一般采用逻辑扫方案:即基于数据分片(即主备份数据)获取数据快照,并对数据快照进行扫描,得到待备份的数据,以对扫描所确定的数据进行备份。由于扫描数据快照会消耗大量的IO(Input/Output,输入/输出)和CPU(Central Processing Unit,中央处理器)资源,会导致在线业务的请求时延上升且读写时的吞吐量下降,存在数据备份与在线业务的资源冲突问题。

技术实现思路

[0004]本申请实施例提供了一种数据备份方法、数据恢复方法及装置,可以解决数据备份与在线业务的资源冲突问题。所述技术方案如下:
[0005]根据本申请实施例的一个方面,提供了一种数据备份方法,应用于分布式数据库中的多个数据库节点,该方法包括:
[0006]针对待备份数据分割得到的每一子备份数据,执行如下备份操作:
[0007]接收针对子备份数据的备份请求;
[0008]响应于备份请求,获取子备份数据对应的数据库节点的数据快照;其中,各子备份数据分布式存储于多个数据库节点中,每一子备份数据对应一数据库节点;
[0009]基于子备份数据的数据范围,从数据快照中筛选得到待备份文件;
[0010]将待备份文件上传到备份存储节点。
[0011]在一个可能的实现方式中,上述将待备份文件上传到备份存储节点之后,还包括:
[0012]将数据快照的时间戳、数据范围和待备份文件的文件名发送至备份客户端,以使得备份客户端将时间戳、数据范围和文件名保存至元信息文件中,并将元信息文件上传至备份存储节点中;其中,将元信息文件上传至备份存储节点中发生在针对所有子备份数据完成备份操作之后。
[0013]在一个可能的实现方式中,上述获取数据库节点的数据快照之前,包括:
[0014]将分布式数据库的内存中的缓存数据写入磁盘;其中,缓存数据包括在数据快照
的时间戳之前发起的、待处理的数据库读写数据;数据快照包括缓存数据。
[0015]根据本申请实施例的又一个方面,提供了一种数据恢复方法,应用于分布式数据库中的多个数据库节点,该方法包括:
[0016]获取数据恢复请求;
[0017]响应于数据恢复请求从备份存储节点中下载对应数据库节点的数据快照,并从数据快照中筛选得到备份文件;其中,备份文件是通过上述第一方面所提供的数据备份方法存储到备份存储节点的。
[0018]在又一个可能的实现方式中,上述方法还包括:
[0019]将备份文件作为目标文件写入磁盘;
[0020]通过预设接口将目标文件从磁盘导入数据库节点的存储引擎。
[0021]在另一个可能的实现方式中,上述从数据快照中筛选得到备份文件,包括:
[0022]基于数据范围和目标文件名从数据快照中筛选得到候选数据;
[0023]根据待恢复数据的目标时间戳从候选数据中筛选确定备份文件。
[0024]在另一个可能的实现方式中,上述根据待恢复数据的目标时间戳从候选数据中筛选确定备份文件,包括:
[0025]确定每一候选数据对应的候选时间戳;
[0026]当从候选数据中筛选出第一候选数据,则将第一候选数据作为备份文件;其中,第一候选数据的候选时间戳等于目标时间戳;
[0027]当无法从候选数据中筛选出第一候选数据,则从候选数据中筛选出第二候选数据,将第二候选数据作为备份文件;其中,第二候选数据的候选时间戳是不晚于目标时间戳的候选时间戳中的最大值。
[0028]根据本申请实施例的另一个方面,提供了一种数据备份装置,该装置包括:
[0029]备份模块,用于针对待备份数据分割得到的每一子备份数据,执行如下备份操作:
[0030]接收针对子备份数据的备份请求;
[0031]响应于备份请求,获取子备份数据对应的数据库节点的数据快照;其中,各子备份数据分布式存储于多个数据库节点中,每一子备份数据对应一数据库节点;
[0032]基于子备份数据的数据范围,从数据快照中筛选得到待备份文件;
[0033]将待备份文件上传到备份存储节点。
[0034]根据本申请实施例的另一个方面,提供了一种数据恢复装置,该装置包括:
[0035]获取模块,用于获取数据恢复请求;
[0036]恢复模块,用于响应于数据恢复请求从备份存储节点中下载对应数据库节点的数据快照,并从数据快照中筛选得到备份文件;其中,备份文件是通过上述第三方面所提供的数据备份装置存储到备份存储节点的。
[0037]根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,上述处理器执行计算机程序以实现本申请实施例第一方面所示方法的步骤。
[0038]根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
[0039]根据本申请实施例的一个方面,提供了一种计算机程序产品,其包括计算机程序,
该计算机程序被处理器执行时实现本申请实施例第一方面所示方法的步骤。
[0040]本申请实施例提供的技术方案带来的有益效果是:
[0041]本申请实施例通过与子备份数据对应的数据库节点接收备份数据库发送的备份请求,数据库节点响应于该备份请求,获取该数据库节点的数据快照,并基于子备份数据的数据范围,从数据快照中筛选得到待备份文件,以将待备份文件上传到备份存储节点中。本申请实施例直接获取数据库节点的数据快照,并从数据快照中筛选得到待备份文件,以完成备份数据快照中与子备份数据相关的待备份文件;也就是说,本申请实施例中是直接将数据快照所涉及的物理文件作为待备份文件,以完成数据备份,区别于现有技术中针对数据快照进行逻辑扫描分析,以备份扫描到的数据;本申请避免了逻辑扫操作导致的大量IO和CPU资源耗费,有效规避了在线业务的请求时延上升和读写时的吞吐量下降,解决了数据备份与在线业务的资源冲突问题。
[0042]另一方面,本申请实施例通过数据库节点获取恢复客户端发送的数据恢本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据备份方法,应用于分布式数据库中的多个数据库节点,其特征在于,包括:针对待备份数据分割得到的每一子备份数据,执行如下备份操作:接收针对所述子备份数据的备份请求;响应于所述备份请求,获取所述子备份数据对应的数据库节点的数据快照;其中,各所述子备份数据分布式存储于多个数据库节点中,每一子备份数据对应一数据库节点;基于所述子备份数据的数据范围,从所述数据快照中筛选得到待备份文件;将所述待备份文件上传到备份存储节点。2.根据权利要求1所述的方法,其特征在于,所述将所述待备份文件上传到备份存储节点之后,还包括:将所述数据快照的时间戳、数据范围和所述待备份文件的文件名发送至备份客户端,以使得所述备份客户端将所述时间戳、数据范围和文件名保存至元信息文件中,并将元信息文件上传至备份存储节点中;其中,所述将元信息文件上传至备份存储节点中发生在针对所有子备份数据完成备份操作之后。3.根据权利要求1所述的方法,其特征在于,所述获取所述数据库节点的数据快照之前,包括:将分布式数据库的内存中的缓存数据写入磁盘;其中,所述缓存数据包括在数据快照的时间戳之前发起的、待处理的数据库读写数据;所述数据快照包括所述缓存数据。4.一种数据恢复方法,应用于分布式数据库中的多个数据库节点,其特征在于,所述方法还包括:获取数据恢复请求;响应于所述数据恢复请求从备份存储节点中下载对应数据库节点的数据快照,并从所述数据快照中筛选得到备份文件;其中,所述备份文件是通过权利要求1

3任一项所述方法存储到备份存储节点的。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述备份文件作为目标文件写入磁盘;通过预设接口将所述目标文件从磁盘导入所述数据库节点的存储引擎。6.根据权利要求4所述的方法,其特征在于,所述从数据快照中筛选得到备份文件...

【专利技术属性】
技术研发人员:沈泰宁刘奇黄东旭崔秋
申请(专利权)人:平凯星辰北京科技有限公司
类型:发明
国别省市:

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

1