恢复数据文件的方法、装置和客户端制造方法及图纸

技术编号:35648176 阅读:21 留言:0更新日期:2022-11-19 16:42
本申请涉及备份处理技术领域,提供了一种恢复数据文件方法、装置和设备,实现了只恢复发生了异化的数据。该方法主要包括:若数据块里的数据在下次备份发生了变化,则在下次备份的指纹文件中,该数据块的指纹版本为下次备份对应的备份版本,若数据块在下次备份未发生变化,则在下次备份的指纹文件中,该数据块的指纹版本为上次备份对应的备份版本;若数据块在第一指纹文件和第二指纹文件中的指纹不一致或指纹版本不一致,则将该数据块作为异化数据块;根据该异化数据块在与目标备份版本对应的备份上的数据,进行当前时刻的数据文件的恢复。复。复。

【技术实现步骤摘要】
恢复数据文件的方法、装置和客户端


[0001]本申请涉及备份处理
,特别是涉及一种数据文件的恢复方法、装置和客户端。

技术介绍

[0002]数据库的数据可以通过数据文件的形式进行存储的,数据库使用数据文件存储数据时,可以将数据文件进行分片,得到相应的数据块,以数据块为最小逻辑单位,存储相应的数据。
[0003]随着时间的推移,数据文件存储的数据会发生变化或者损坏,例如,从第一时刻到第二时刻,数据文件存储的数据可能发生变化或损坏;为了获取变化前的数据或未损坏的数据,出现了数据文件的恢复技术。在恢复数据文件的技术中,可以只恢复发生变化或发生损坏的数据,从而实现数据文件的快速恢复。但是,在快速恢复的时候,目前并没有具体可行的方法,来准确找到变化前的数据或未损坏的数据。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种恢复数据文件的方法、装置、客户端、计算机可读存储介质和计算机程序产品。
[0005]本申请提供一种恢复数据文件的方法,所述方法包括:
[0006]对数据文件进行多次备份后,确定各次备份的指纹文件;各次备份的指纹文件包括与该次备份对应的备份版本、所述数据文件的各数据块的指纹以及指纹版本;相较于上次备份,若数据块里的数据在下次备份发生了变化,则在下次备份的指纹文件中,所述数据块的指纹版本为下次备份对应的备份版本,若数据块里的数据在下次备份未发生变化,则在下次备份的指纹文件中,所述数据块的指纹版本为上次备份对应的备份版本;
[0007]若需恢复时刻未进行备份,则将所述需恢复时刻前且距所述需恢复时刻最近的一次备份的指纹文件,作为第一指纹文件;
[0008]若当前时刻未进行备份,且本地存有所述数据文件的情况下,则根据当前时刻前且距所述当前时刻最近的一次备份的指纹文件,得到所述当前时刻的指纹文件并将所述当前时刻的指纹文件作为第二指纹文件;
[0009]比对数据块在所述第一指纹文件和所述第二指纹文件中的指纹是否一致,以及在所述第一指纹文件和所述第二指纹文件中的指纹版本是否一致;
[0010]若数据块在所述第一指纹文件和所述第二指纹文件中的指纹不一致,或者在所述第一指纹文件和所述第二指纹文件中的指纹版本不一致,则将该数据块作为异化数据块;
[0011]根据所述异化数据块在与目标备份版本对应的备份上的数据,进行所述当前时刻的数据文件的恢复;所述目标备份版本是根据所述异化数据块在所述第一指纹文件中的指纹版本得到的。
[0012]本申请还提供一种恢复数据文件的装置,所述装置包括:
[0013]备份模块,用于对数据文件进行多次备份后,确定各次备份的指纹文件;各次备份的指纹文件包括与该次备份对应的备份版本、所述数据文件的各数据块的指纹以及指纹版本;相较于上次备份,若数据块里的数据在下次备份发生了变化,则在下次备份的指纹文件中,所述数据块的指纹版本为下次备份对应的备份版本,若数据块里的数据在下次备份未发生变化,则在下次备份的指纹文件中,所述数据块的指纹版本为上次备份对应的备份版本;
[0014]第一指纹文件获取模块,用于若需恢复时刻未进行备份,则将所述需恢复时刻前且距所述需恢复时刻最近的一次备份的指纹文件,作为第一指纹文件;
[0015]第二指纹文件获取模块,用于若当前时刻未进行备份,且本地存有所述数据文件的情况下,则根据当前时刻前且距所述当前时刻最近的一次备份的指纹文件,得到所述当前时刻的指纹文件并将所述当前时刻的指纹文件作为第二指纹文件;
[0016]指纹文件对比模块,用于比对数据块在所述第一指纹文件和所述第二指纹文件中的指纹是否一致,以及在所述第一指纹文件和所述第二指纹文件中的指纹版本是否一致;
[0017]异化数据块获取模块,用于若数据块在所述第一指纹文件和所述第二指纹文件中的指纹不一致,或者在所述第一指纹文件和所述第二指纹文件中的指纹版本不一致,则将该数据块作为异化数据块;
[0018]数据文件恢复模块,用于根据所述异化数据块在与目标备份版本对应的备份上的数据,进行所述当前时刻的数据文件的恢复;所述目标备份版本是根据所述异化数据块在所述第一指纹文件中的指纹版本得到的。
[0019]本申请提供一种客户端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述方法。
[0020]本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述方法。
[0021]本申请提供一种计算机程序产品,其上存储有计算机程序,所述计算机程序被处理器执行上述方法。
[0022]上述恢复数据文件的方法、装置、客户端、计算机可读存储介质和计算机程序产品,对数据文件进行多次备份后,确定各次备份的指纹文件,各次备份的指纹文件包括与该次备份对应的备份版本、所述数据文件的各数据块的指纹以及指纹版本,相较于上次备份,若数据块里的数据在下次备份发生了变化,则在下次备份的指纹文件中,所述数据块的指纹版本为下次备份对应的备份版本,若数据块里的数据在下次备份未发生变化,则在下次备份的指纹文件中,所述数据块的指纹版本为上次备份对应的备份版本,这样,就实现了各数据块与备份版本的一一对应关系的确定。
[0023]在进行恢复操作时:确定需恢复时刻,若所述需恢复时刻未进行备份,则将所述需恢复时刻前且距所述需恢复时刻最近的一次备份的指纹文件,作为第一指纹文件,若当前时刻未进行备份,且客户端本地存有所述数据文件的情况下,则根据当前时刻前且距所述当前时刻最近的一次备份的指纹文件,得到所述当前时刻的指纹文件并将所述当前时刻的指纹文件作为第二指纹文件,比对数据块在第一指纹文件和第二指纹文件中的指纹是否一致,以及在第一指纹文件和第二指纹文件中的指纹版本是否一致,若数据块在第一指纹文件和第二指纹文件中的指纹不一致,或者在第一指纹文件和第二指纹文件中的指纹版本不
一致,则将该数据块作为异化数据块,根据异化数据块在第一指纹文件中的指纹版本,确定目标备份版本,因此,根据所述异化数据块在与目标备份版本对应的备份上的数据,准确获取到发生变化前或未损坏的数据;然后根据找到的发生变化前或未损坏的数据,进行所述当前时刻的数据文件的恢复,实现数据文件的快速恢复。
附图说明
[0024]图1为一个实施例中恢复数据文件的应用环境图;
[0025]图2为一个实施例中恢复数据文件的流程示意图;
[0026]图3为一个实施例中恢复数据文件的流程示意图;
[0027]图4为一个实施例中恢复数据文件的流程示意图;
[0028]图5为一个实施例中恢复数据文件的流程示意图;
[0029]图6为一个实施例中恢复数据文件的结构框图;
[0030]图7为一个实施例中客户端的内部结构图。
具体实施方式
[0031]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种恢复数据文件的方法,其特征在于,应用于客户端,所述方法包括:对数据文件进行多次备份后,确定各次备份的指纹文件;各次备份的指纹文件包括与该次备份对应的备份版本、所述数据文件的各数据块的指纹以及指纹版本;相较于上次备份,若数据块里的数据在下次备份发生了变化,则在下次备份的指纹文件中,所述数据块的指纹版本为下次备份对应的备份版本,若数据块里的数据在下次备份未发生变化,则在下次备份的指纹文件中,所述数据块的指纹版本为上次备份对应的备份版本;若需恢复时刻未进行备份,则将所述需恢复时刻前且距所述需恢复时刻最近的一次备份的指纹文件,作为第一指纹文件;若当前时刻未进行备份,且本地存有所述数据文件的情况下,则根据当前时刻前且距所述当前时刻最近的一次备份的指纹文件,得到所述当前时刻的指纹文件并将所述当前时刻的指纹文件作为第二指纹文件;比对数据块在所述第一指纹文件和所述第二指纹文件中的指纹是否一致,以及在所述第一指纹文件和所述第二指纹文件中的指纹版本是否一致;若数据块在所述第一指纹文件和所述第二指纹文件中的指纹不一致,或者在所述第一指纹文件和所述第二指纹文件中的指纹版本不一致,则将该数据块作为异化数据块;根据所述异化数据块在与目标备份版本对应的备份上的数据,进行所述当前时刻的数据文件的恢复;所述目标备份版本是根据所述异化数据块在所述第一指纹文件中的指纹版本得到的。2.根据权利要求1所述的方法,其特征在于,若当前时刻未进行备份,且本地存有所述数据文件的情况下,则根据当前时刻前且距所述当前时刻最近的一次备份的指纹文件,得到所述当前时刻的指纹文件,包括:若当前时刻未进行备份,且本地存有所述数据文件的情况下,获取当前时刻前且距所述当前时刻最近的一次备份的指纹文件;将在当前时刻相较于上一备份时刻发生数据变化或数据损坏的数据块作为目标数据块;当前时刻的上一备份时刻为当前时刻前且距所述当前时刻最近的一次备份的时刻;在当前时刻前且距所述当前时刻最近的一次备份的指纹文件中,将所述目标数据块对应的指纹版本改为非备份版本;将改后得到的指纹文件,作为当前时刻的指纹文件。3.根据权利要求2所述的方法,其特征在于,确定在当前时刻相较于上一备份时刻发生数据变化或数据损坏的数据块,包括:获取数据块在当前时刻的指纹以及上一备份时刻的指纹;若数据块在当前时刻的指纹与上一备份时刻的指纹不一致,则确定该数据块在当前时刻相较于上一备份时刻发生变化。4.根据权利要求1所述的方法,其特征在于,若当前时刻未进行备份,且本地存有所述数据文件的情况下,则根据当前时刻前且距所述当前时刻最近的一次备份的指纹文件,得到所述当前时刻的指纹文件,包括:若当前时刻未进行备份,且本地存有所述数据文件的情况下,获取当前时刻前且距所述当前时刻最近的一次备份的指纹文件;若各数据块在当前时刻相较于上一备份时刻未发生数据变化和数据损坏,则将当前时
刻前且距所述当前时刻最近的一次备份的指纹文件,作为当前时刻的指纹文件。5.根据权利要求1所述的方法,其特征在于,在根据所述异化数据块在与目标备份版本对应的备份上的数据,进行所述当前时刻的数据文件的恢复之前,所述方法还包括:将所述异化数据块的指纹数据发给存储服务器,以使存储服务器执行如下步骤:获取所述异化数据块在目标备份版本对应的备份的位图中所处的位置;在目标备份版本对应的备...

【专利技术属性】
技术研发人员:杨海锋马立珂王子骏
申请(专利权)人:广州鼎甲计算机科技有限公司
类型:发明
国别省市:

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

1