数据恢复处理方法、装置、设备、存储介质和程序产品与流程

文档序号:32065836发布日期:2022-11-05 00:42阅读:66来源:国知局
数据恢复处理方法、装置、设备、存储介质和程序产品与流程

1.本技术涉及数据处理技术领域,特别是涉及一种数据恢复处理方法、装置、设备、存储介质和程序产品。


背景技术:

2.tdsql-pg版(tdsql for postgresql,以下简称tdsql-pg)集高扩展性、sql高兼容度、完整的分布式事务支持、多级容灾及多维度资源隔离等功能于一身。
3.tdsql-pg通过定期备份新增的wal(write ahead log)日志文件来实现的日志级别的增量备份,wal日志生成需要多长时间,数据恢复过程中重放wal日志可能需要等量的时间。
4.具体地,在数据恢复过程中,需要将前一全量备份数据集以及与前一全量备份数据集关联的各个增量备份数据集逐一进行恢复,由于数据恢复量较大,使得该过程产生的恢复时间目标(recovery time objective,rto)较长、数据恢复效率较低。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高数据恢复效率的数据恢复处理方法、装置、设备、存储介质和程序产品。
6.第一方面,本技术提供了一种数据恢复处理方法,该方法包括:
7.根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
8.针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
9.根据各个数据块的目标状态进行数据恢复。
10.在其中一个实施例中,该方法还包括:
11.在备份阶段,根据数据库中的数据块生成初始位图文件,其中,初始位图文件中的每个逻辑位与数据库中的每个数据块一一对应;
12.对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件。
13.在其中一个实施例中,根据数据库中的数据块生成初始位图文件,包括:
14.获取数据库的各数据文件对应的索引文件;
15.根据各索引文件生成每个数据文件的数据块位图文件;
16.根据各数据块位图文件生成初始位图文件。
17.在其中一个实施例中,对于每一次备份,当数据块上的数据发生变化时,对初始位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件,包括:
18.对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备
份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为第一值;
19.其中,数据块上的数据相比于上一次备份发生变化包括:写入数据块或对数据块上的数据进行更改。
20.在其中一个实施例中,针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态,包括:
21.将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定目标数据块的目标状态;目标数据块为当前次备份相对于下一次备份未发生变化的数据块。
22.在其中一个实施例中,
23.根据恢复任务确定多个目标位图文件,包括:
24.获取备份阶段中每一次备份对应的元数据,其中,元数据用于描述备份信息;
25.根据恢复任务和元数据确定多个目标位图文件。
26.在其中一个实施例中,
27.根据恢复任务和元数据确定多个目标位图文件,包括:
28.获取依赖关系;依赖关系包括各个元数据之间的关联关系;
29.根据恢复任务、各个元数据和关联关系确定多个目标位图文件。
30.第二方面,本技术还提供了一种数据恢复处理装置。该装置包括:
31.查询模块,用于根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
32.分析模块,用于针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
33.恢复模块,用于根据各个数据块的目标状态进行数据恢复。
34.第三方面,本技术还提供了一种计算机设备,该计算机设备包括存储器和处理器,该存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
35.根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
36.针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
37.根据各个数据块的目标状态进行数据恢复。
38.第四方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
39.根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
40.针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
41.根据各个数据块的目标状态进行数据恢复。
42.第五方面,本技术还提供了一种计算机程序产品,该计算机程序产品包括计算机
程序,该计算机程序被处理器执行时实现以下步骤:
43.根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
44.针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
45.根据各个数据块的目标状态进行数据恢复。
46.上述数据恢复处理方法、装置、设备、存储介质和程序产品,为每个待恢复备份数据集建立各自对应的位图文件,将与恢复任务对应的位图文件作为目标位图文件,对于每一个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,区分出对于当前次备份来说哪些数据块是在后续未发生变化的,哪些数据块是在后续发生了变化的,对于后续未发生变化的数据块,即可从当前次备份的备份数据集中确定该数据块的目标状态,遍历各个目标位图文件,即可确定数据库中各个数块的目标状态;在进行数据恢复时,只需要一次性写入该数据块的目标状态,对于发生多次变化的数据块,无需重复写入该数据块的各个中间状态,降低了数据的重复写入次数,提高了数据恢复效率,实现了对数据库级别的快速恢复。
附图说明
47.图1为一个实施例中数据恢复处理方法的应用环境图;
48.图2为一个实施例中数据恢复处理方法的流程示意图;
49.图3为一个实施例中初始位图文件的示意图;
50.图4为另一个实施例中生成目标位图文件步骤流程示意图;
51.图5为另一个实施例中生成全量备份位图文件步骤流程示意图;
52.图6为另一个实施例中生成第一目标位图文件步骤流程示意图;
53.图7为另一个实施例中生成第二目标位图文件步骤流程示意图;
54.图8为另一个实施例中位图文件减法的示意图;
55.图9为另一个实施例中生成初始位图文件步骤的流程示意图;
56.图10为另一个实施例中确定目标位图文件步骤的流程示意图;
57.图11为另一个实施例中根据依赖关系确定目标位图文件步骤的流程示意图;
58.图12为一个实施例中数据恢复处理装置的结构框图;
59.图13为一个实施例中计算机设备的内部结构图。
具体实施方式
60.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
61.本技术实施例提供的数据恢复处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端
102和服务器104可以单独执行该数据恢复处理方法,也可以共同执行该数据恢复处理方法,具体地,以终端102和服务器104共同执行该数据恢复处理方法为例,服务器104作为恢复主机,终端102发送恢复任务至服务器104,服务器104根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;根据各个数据块的目标状态进行数据恢复。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
62.tdsql-pg通过定期备份新增的wal(write ahead log)日志文件来实现的日志级别的增量备份,wal日志生成需要多长时间,数据恢复过程中重放wal日志可能需要等量的时间。在数据恢复过程中,需要将前一全量备份数据集以及与前一全量备份数据集关联的各个增量备份数据集逐一进行恢复,以一个大小1tb的数据库为例,假设每周日全量备份1tb,周一到周六每天增量备份1/2tb,那么自上周日至本周六产生的数据量共4tb;若按照传统技术中的数据恢复处理方法,将数据恢复到周六的时间点,则需要先恢复上周日的全量备份,然后依次恢复周一至周六的各个增量备份,即,在数据恢复时,共需写入4tb的数据量,对于存在多次数据变化的数据块来说,逐次恢复该数据块的中间状态,造成数据重复写入、数据恢复量增大,进一步地,使得该过程产生的恢复时间目标(recovery time objective,rto)较长、数据恢复效率较低。
63.在一个实施例中,如图2所示,提供了一种数据恢复处理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
64.步骤202,根据恢复任务确定多个目标位图文件。
65.其中,恢复任务是控制服务器104(恢复主机)将获取到的备份资源恢复至目标设备上的数据恢复的指令,恢复任务可以是服务器104根据从终端102接收到的恢复请求生成的恢复任务,也可以是服务器104内设定的定时任务模块所发起的恢复任务。具体地,对于数据库来说,备份资源即为从数据库备份生成的数据文件(datafile),备份方式包括全量备份和增量备份,每次备份对应的数据作为一个备份数据集。每个恢复任务对应多个备份数据集,例如,该恢复任务对应的备份数据集为f1-i2-i3-i7-i4-i5,其中,以fn表示第n次备份做的是全量备份,in代表第n次备份做的是增量备份。
66.在本实施例的服务器104中包括:全局事务管理节点(gtm节点),一个或多个协调节点(cn节点),多个数据节点(dn节点)。gtm节点通过多连接方式分别与每个cn节点相连,可以用于提供全局事务服务,例如,分配事务id(identity,即,标识),在本实施例中事务为恢复任务;对于多个cn节点中的任一个,该cn节点可以通过多条连接分别与多个dn节点相连,用于控制dn对其上的数据进行处理,控制dn节点对其上的数据进行处理包括对dn节点上存储的数据进行备份操作或者恢复操作。
67.其中,每个备份数据集对应一个目标位图文件,目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的。为了获得各个备份数据集对应的目
标位图文件;首先建立数据库对应的初始位图文件,具体地,一个数据库被映射为多个不同的数据文件(datafile),这些数据文件(datafile)由底层的数据库操作系统来维护并存储于存储介质上。每个数据文件(datafile)分成定长的存储单元(称为块),块是存储分配和数据传输的基本单元,即,每个数据文件(datafile)以数据块为单位进行划分。而初始位图文件即是根据数据库中的各个数据块建立的,初始位图文件包括多个逻辑位且每个逻辑位与数据库的各个数据块一一对应,初始位图文件与数据库的初始状态对应,数据库的初始状态是指数据库中的各个数据块均未写入数据,初始位图文件中的每个逻辑位的数值被配置为初始值,例如图3所示,例如,初始位图文件共有16个逻辑位,对应数据库中的0-16个数据块,初始值可以为0。
68.具体地,在生成目标位图文件时,以初始位图文件为基础,根据数据库中各个数据块的变化情况对初始位图文件中逻辑位的数值进行调整。例如,在进行全量备份时,该时刻数据库中的各个数据块相比于数据库的初始状态相当于发生了写入操作,即,数据块发生了变化,故将初始位图文件中与该全量备份对应的数据块的逻辑位进行调整,得到该次全量备份对应的目标位图文件。又例如,在增量备份时,由于增量备份是指在一次全量备份或上一次增量备份后,以后每次的备份只需备份与前一次备份相比增加或者被修改的数据,因此增量备份所备份的数据块是指相比于上一次备份发生变化的数据块,故,增量备份对应的目标位图文件中进行调整的逻辑位对应的是相比于上一个目标位图文件发生变化的数据块。
69.具体地,例如,全量备份对应的16个逻辑位的数值相比于初始位图文件均进行了调整,该全量备份对应的目标位图文件为第零目标位图文件(即,全量位图备份文件);在第一次增量备份中,第5数据块至第12数据块相比于全量备份发生了变化,则对第零目标位图文件(即,全量位图备份文件)中的第5至第12逻辑位的数值进行调整,得到更新后的位图文件作为第一目标位图文件;第二次增量备份中,第6、7、8、10、11、12、14、15、16数据块相比于第一次增量备份发生了变化,则对第一目标位图文件中的第6、7、8、10、11、12、14、15、16数据块逻辑位的数值进行调整,得到更新后的位图文件作为第二目标位图文件;以此类推
……

70.步骤204,针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态。
71.其中,数据块的目标状态表征数据块最后一次变化对应的数据;具体地,在查找每个数据块的最终状态时,本实施例中,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件所表征的各个数据块的状态,将各个数据块的当前状态与下一状态进行比对,即可区分出对于当前次备份来说哪些数据块是在后续未发生变化的,哪些数据块是在后续发生了变化的,对于后续未发生变化的数据块,即可从当前次备份的备份数据集中确定该数据块的目标状态。通过遍历各个目标位图文件,可得到整个数据库中各个数据块的目标状态。
72.步骤206,根据各个数据块的目标状态进行数据恢复。
73.其中,在进行数据恢复时,基于目标位图文件中各个逻辑位与数据块的一一对应关系实现恢复数据的操作;在本实施例中,对于每个数据块只需要写入该数据块的目标状态,对于存在多次变化的数据块,无需重复恢复该数据块的各个中间状态,降低了无效操
作,提高了数据恢复效率,实现了对数据库级别的快速恢复。
74.上述数据恢复处理方法中,为每个待恢复备份数据集建立各自对应的位图文件,将与恢复任务对应的位图文件作为目标位图文件,对于每一个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,区分出对于当前次备份来说哪些数据块是在后续未发生变化的,哪些数据块是在后续发生了变化的,对于后续未发生变化的数据块,即可从当前次备份的备份数据集中确定该数据块的目标状态,遍历各个目标位图文件,即可确定数据库中各个数块的目标状态;在进行数据恢复时只需要一次性写入该数据块的目标状态,对于发生多次变化的数据块,无需重复写入该数据块的各个中间状态,降低了数据的重复写入次数,提高了数据恢复效率,实现了对数据库级别的快速恢复。
75.在一个实施例中,方法还包括:如图4所示,步骤302,在备份阶段,根据数据库中的数据块生成初始位图文件。
76.初始位图文件中的每个逻辑位与数据库中的每个数据块一一对应。具体地,数据库中的每个数据块可以是指数据库中的有效数据块,即被用于存入数据的数据块,也可以是指数据库中的所有数据块。初始位图文件中各个逻辑位的数值被配置为初始值,逻辑位的数值以二进制的形式来表示,例如,初始值可以被配置为0。
77.步骤304,对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件。
78.其中,对逻辑位的数值进行更新的方式可以是:方式1)对各个逻辑位基于统一的数值进行赋值,或者是,方式2)对各个逻辑位基于不同的数值进行更新。
79.为了降低计算量,采用上述方式1)在一个实施例中,步骤304中对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件,包括:对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为第一值。
80.其中,数据块上的数据相比于上一次备份发生变化包括:写入数据块或对数据块上的数据进行更改。具体地,对于全量备份来说,初始位图文件对应的是初始备份,作为全量备份对应的上一备份,全量备份时刻的数据块相比于数据库的初始状态发生了变化(即,写入操作),此时将初始位图文件中所有的所有逻辑位设置为第一值,得到该次全量备份对应的目标位图文件。对于各个增量备份,该增量备份对应的备份数据集记录了相比于上一次备份发生了变化的数据块,因此,将上一目标位图文件中发生变化的数据块对应的逻辑位置为第一值,即得到该次增量备份对应的目标位图文件。进一步地,将目标位图文件中相比于上一次备份未发生变化的数据块对应的逻辑位的数值设置为第二值。其中,第一值可以为1,第二值可以为0。如图5和图6所示,为全量备份对应的目标位图文件(即,全量备份位图文件,且该全量备份位图文件也可定义为第零目标位图文件),以及第一次增量备份对应的第一目标位图文件,以此类推......。
81.本实施例中,通过将逻辑位设置为第一值以标记相比于上一次备份发生变化的数据块,在当前次目标位图文件与下一目标位图文件进行比较时,能够基于对逻辑位数值的比较结果,快速查询出各个数据块的目标状态。
82.在一个实施例中,步骤204中针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态,包括:将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定目标数据块的目标状态。
83.其中,当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件与矩阵减法相同,将前次备份对应的目标位图文件中的各个逻辑位减去下一备份对应的目标位图文件中相应位置的各个逻辑位。
84.其中,目标数据块为当前次备份相对于下一次备份未发生变化的数据块。如图7所示,为接步骤304中示例的第二次增量备份对应的第二目标位图文件,结合上述步骤202和步骤304中的示例,可得,第一目标位图文件中的第5至第16逻辑位被配置为1,其他逻辑位被配置为0;第二目标位图文件中的第6、7、8、10、11、12、14、15、16逻辑位被配置为1,其他逻辑位被配置为0;如图8所示,将第一目标位图文件减去第二目标位图文件,对第一目标位图文件进行更新,此时更新后的第一目标位图文件中只有第5、9、13逻辑位的数值为1;对于第一目标位图文件来说,该数值为1的逻辑位对应的数据块即为第一目标位图文件对应的目标数据块,表征目标数据块在第二次增量备份中未发生变化,由于第三次增量备份只标记在第二次增量备份数据集(即,第6、7、8、10、11、12、14、15、16数据块)的基础上发生变化的数据,由于第四次增量备份只标记在第三次增量备份数据集,因此,后续增量备份不再涉及第5、9、13数据块,故第5、9、13数据块的目标状态能够在第一目标位图文件对应的备份数据集中查找确定,以此类推
……
,确定各个目标位图文件对应的目标数据块以及各个目标数据块的目标状态。
85.在一个实施例中,如图9所示,步骤302中根据数据库中的数据块生成初始位图文件,包括:
86.步骤3021,获取数据库的各数据文件对应的索引文件。
87.其中,索引文件用于表征数据文件的逻辑地址空间和数据文件的物理地址区间之间的对应关系。例如,索引文件包括与数据文件中各数据块对应的索引项,索引内容包括数据块在数据库对应存储介质中的偏移位置、该数据块的大小以及是否加密和压缩存储等信息等等。
88.步骤3022,根据各索引文件生成每个数据文件的数据块位图文件。
89.其中,数据库包含了多个数据文件,每个数据文件对应有各自的索引文件,根据各个索引文件生成每个数据文件各自对应的数据块位图文件,由于索引文件中的各个索引项各自记录了每个数据块的偏移位置,因此,在建立数据块位图文件时,建立各个逻辑位与各个索引项之间的关联,即可建立各个逻辑位与各个数据块之间的对应关系。
90.步骤3023,根据各数据块位图文件生成初始位图文件。
91.其中,将各个数据块位图文件进行合并,即生成了初始位图文件。
92.本实施例中,通过索引文件中的索引项,在建立位图文件时,无需再次建立位图文件与各个数据块物理地址之间的关系,只需要建立位图文件与索引文件之间的关系,即可得到与各个数据块对应的初始位图文件。
93.在一个实施例中,如图10所示,步骤206中根据恢复任务确定多个目标位图文件,包括:
94.步骤2061,获取备份阶段中每一次备份对应的元数据。
95.其中,元数据用于描述该次备份对应的备份信息,备份信息至少包括该次备份的数据文件、数据文件的存存储位置、备份数据集的存储位置、该次备份数据集的名称以及该次备份时间。每次备份的元数据生成后,将该元数据更新至数据库已建立的数据仓库目录(catalog)中。具体地,数据仓库目录(catalog)例如,f1-f2-i3-f4-i5-i6-i7-f8-i9,其中,f1、f2、i3、f4、i5、i6、i7、f8、i9分别为各个元数据中包含的备份数据集的名称。
96.步骤2062,根据恢复任务和元数据确定多个目标位图文件。
97.其中,根据恢复任务确定待恢复备份数据集,根据待恢复备份数据集查找各个目标位图文件。具体地,恢复任务可以由用户设定,此时用户可以手动选定待恢复的各个备份数据集的名称;或者是,恢复任务也可以是根据恢复主机中配置的定时模块触发的,即在到达定时时间点后,自动查找需要恢复的各个待恢复备份数据集。进一步地,为了便于快速查找恢复任务对应的待恢复备份数据集,可先通过恢复任务在数据仓库目录(catalog)中查找恢复任务对应的各个元数据,根据各个元数据关联得到各个待恢复备份数据集。
98.当恢复任务也可以是根据恢复主机中配置的定时模块触发时,在一个实施例中,如图11所示,步骤2062中根据恢复任务和元数据确定多个目标位图文件,包括:
99.步骤20611,获取依赖关系。
100.其中,依赖关系包括各个元数据之间的关联关系,具体地,在生成元数据时,根据元数据对应的备份数据集确定依赖关系;即,若当前备份数据集是在上一备份数据集的基础上进行修改或增加得到的,则当前备份数据集依赖于上一备份数据集。
101.步骤20612,根据恢复任务、各个元数据和关联关系确定多个目标位图文件。
102.其中,当恢复任务也可以是根据恢复主机中配置的定时模块触发时,恢复任务包含恢复时间点,根据恢复时间点在依赖链表中查找该恢复时间点之前的上一全量备份数据集对应的元数据,并作为起点元数据;将起点元数据对应的时间起点与待恢复时间点之间的元数据、以及起点元数据作为目标元数据,根据各个目标元数据查找各个目标位图文件。例如:数据仓库目录中的各个元数据为f1-f2-i3-f4-i5-i6-i7-f8-i9,如果恢复时间点为i7与f8之间的时间点,那么需要恢复依次恢复f4-i5-i6-i7,[f4、i5、i6、i7]就是一个恢复依赖链表,根据依赖链表中的各个目标元数据,确定各个目标位图文件。
[0103]
根据恢复任务确定恢复时间点,根据恢复时间点在依赖链表中查找该恢复时间点之前的上一全量备份数据集对应的元数据,并作为起点元数据;将起点元数据对应的时间起点与待恢复时间点之间的元数据、以及起点元数据作为目标元数据,根据各个目标元数据查找各个目标位图文件。对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为1,将上一次备份后得到的位图文件中未发生变化的数据块对应的逻辑位的数值设置0,得到该次备份对应的目标位图文件。针对每个目标位图文件,将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定该目标位图文件对应的目标数据块,根据该目标位图文件对应的备份数据集确定目标数据块的目标状态,确定各个目标位图文件对应的目标数据块以及各个目标数据块的目标状态,根据各个数据块的目标状态进行数据恢复。
[0104]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确
的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0105]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据恢复处理方法的数据恢复处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据恢复处理装置实施例中的具体限定可以参见上文中对于数据恢复处理方法的限定,在此不再赘述。
[0106]
在一个实施例中,如图12所示,提供了一种数据恢复处理装置100,包括查询模块110、分析模块120和恢复模块130,其中:
[0107]
查询模块110,用于根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
[0108]
分析模块120,用于针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
[0109]
恢复模块130,用于根据各个数据块的目标状态进行数据恢复。
[0110]
在一个实施例中,恢复装置还包括生成模块,生成模块包括:
[0111]
初始单元,用于在备份阶段,根据数据库中的数据块生成初始位图文件,其中,初始位图文件中的每个逻辑位与数据库中的每个数据块一一对应;
[0112]
更新单元,用于对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件。
[0113]
在一个实施例中,初始单元还用于获取数据库的各数据文件对应的索引文件;
[0114]
根据各索引文件生成每个数据文件的数据块位图文件;
[0115]
根据各数据块位图文件生成初始位图文件。
[0116]
在一个实施例中,更新单元还用于对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为第一值;
[0117]
其中,数据块上的数据相比于上一次备份发生变化包括:写入数据块或对数据块上的数据进行更改。
[0118]
在一个实施例中,分析模块120还用于将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定目标数据块的目标状态;目标数据块为当前次备份相对于下一次备份未发生变化的数据块。
[0119]
在一个实施例中,查询模块110包括:
[0120]
记录单元,用于获取备份阶段中每一次备份对应的元数据,其中,元数据用于描述备份信息;
[0121]
关联单元,用于根据恢复任务和元数据确定多个目标位图文件。
[0122]
在一个实施例中,关联单元还用于获取依赖关系;依赖关系包括各个元数据之间的关联关系;
[0123]
根据恢复任务、各个元数据和关联关系确定多个目标位图文件。
[0124]
上述数据恢复处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0125]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据恢复处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0126]
本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0127]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0128]
根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
[0129]
针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
[0130]
根据各个数据块的目标状态进行数据恢复。
[0131]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在备份阶段,根据数据库中的数据块生成初始位图文件,其中,初始位图文件中的每个逻辑位与数据库中的每个数据块一一对应;对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件。
[0132]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取数据库的各数据文件对应的索引文件;根据各索引文件生成每个数据文件的数据块位图文件;根据各数据块位图文件生成初始位图文件。
[0133]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为第一值;其中,数据块上的数据相比于上一次备份发生变化包括:写入数据块或对数据块上的数据进行更改。
[0134]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定目标数据块的目标状态;目标数据块为当前次备份相对于下一次备份未发生变化的数据块。
[0135]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取备份阶段中每一次备份对应的元数据,其中,元数据用于描述备份信息;根据恢复任务和元数据确定多个目标位图文件。
[0136]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取依赖关系;依赖关系包括各个元数据之间的关联关系;根据恢复任务、各个元数据和关联关系确定多个目标位图文件。
[0137]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0138]
根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
[0139]
针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
[0140]
根据各个数据块的目标状态进行数据恢复。
[0141]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在备份阶段,根据数据库中的数据块生成初始位图文件,其中,初始位图文件中的每个逻辑位与数据库中的每个数据块一一对应;对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件。
[0142]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取数据库的各数据文件对应的索引文件;根据各索引文件生成每个数据文件的数据块位图文件;根据各数据块位图文件生成初始位图文件。
[0143]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为第一值;其中,数据块上的数据相比于上一次备份发生变化包括:写入数据块或对数据块上的数据进行更改。
[0144]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定目标数据块的目标状态;目标数据块为当前次备份相对于下一次备份未发生变化的数据块。
[0145]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取备份阶段中每一次备份对应的元数据,其中,元数据用于描述备份信息;根据恢复任务和元数据确定多个目标位图文件。
[0146]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取依赖关系;依赖关系包括各个元数据之间的关联关系;根据恢复任务、各个元数据和关联关系确定多个目标位图文件。
[0147]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0148]
根据恢复任务确定多个目标位图文件;目标位图文件为在备份阶段,根据初始位图文件和数据库中的数据块的变化情况生成的;
[0149]
针对每个目标位图文件,根据当前次备份对应的目标位图文件与下一次备份对应
的目标位图文件,确定各个数据块的目标状态;其中,数据块的目标状态表征数据块最后一次变化对应的数据;
[0150]
根据各个数据块的目标状态进行数据恢复。
[0151]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在备份阶段,根据数据库中的数据块生成初始位图文件,其中,初始位图文件中的每个逻辑位与数据库中的每个数据块一一对应;对于每一次备份,当数据块上的数据发生变化时,对上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值进行更新,得到目标位图文件。
[0152]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取数据库的各数据文件对应的索引文件;根据各索引文件生成每个数据文件的数据块位图文件;根据各数据块位图文件生成初始位图文件。
[0153]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对于每一次备份,当数据块上的数据相比于上一次备份发生变化时,将上一次备份后得到的位图文件中与变化的数据块对应的逻辑位的数值设置为第一值;其中,数据块上的数据相比于上一次备份发生变化包括:写入数据块或对数据块上的数据进行更改。
[0154]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将当前次备份对应的目标位图文件减去下一次备份对应的目标位图文件,确定目标数据块的目标状态;目标数据块为当前次备份相对于下一次备份未发生变化的数据块。
[0155]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取备份阶段中每一次备份对应的元数据,其中,元数据用于描述备份信息;根据恢复任务和元数据确定多个目标位图文件。
[0156]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取依赖关系;依赖关系包括各个元数据之间的关联关系;根据恢复任务、各个元数据和关联关系确定多个目标位图文件。
[0157]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0158]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,
不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0159]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0160]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1