数据恢复方法及设备的制作方法

文档序号:6522589阅读:240来源:国知局
数据恢复方法及设备的制作方法
【专利摘要】本发明公开了一种数据恢复方法及设备,属于数据存储领域。所述方法包括:第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据;获得所述历史数据;将所述历史数据以及所述逻辑地址发送给所述第二存储设备。本发明通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并将该历史数据和该逻辑地址发送给第二存储设备,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
【专利说明】数据恢复方法及设备
【技术领域】
[0001]本发明涉及数据存储领域,特别涉及一种数据恢复方法及设备。
【背景技术】
[0002]ROW (Redirect On Write,重定向写)是一种应用非常广泛的数据写入方法。在基于ROW的数据存储系统中,当需要对某一逻辑地址对应的数据进行修改时,系统会保持该数据及其物理地址不变,为修改的数据分配新的物理地址并写入;管理人员定期为当前存储的数据建立快照,当系统中数据出错时,系统可以根据管理人员的指令进行快照回滚,将各个逻辑地址对应的数据更新为目标快照建立时刻点时的数据,从而将数据恢复至目标快照建立时的状态。
[0003]同时,为了避免因自然灾害等因素导致本地数据无法恢复而造成损失的情况,数据存储系统还对主存储设备上的数据进行远程复制,即将主存储设备上的数据复制给处于远端的从存储设备进行存储,以建立远程备份。
[0004]在基于ROW的数据存储系统中,现有的数据恢复方法,当系统中数据出错而进行快照回滚时,系统将主存储设备上的所有数据全部复制并发送给从存储设备进行数据恢复。
[0005]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0006]现有的基于ROW的数据存储系统中的数据恢复方法,每当系统中数据出错而进行快照回滚时,需要将主存储设备中所有数据复制给从存储设备,复制时间长,且浪费大量带宽资源。

【发明内容】

[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]将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0042]在第三方面的第一种可能实现方式中,所述方法还包括:
[0043]若判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在所述第二存储设备中存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
[0044]在第三方面的第二种可能实现方式中,所述获得所述历史数据,包括:
[0045]获取所述逻辑地址在所述目标快照时间点时对应的物理地址;
[0046]根据所述物理地址获得所述历史数据。
[0047]结合第三方面、第三方面的第一种可能实现方式或者第三方面的第二种可能实现方式,所述方法还包括:
[0048]在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息生成所述操作标记;
[0049]保存所述逻辑地址与所述操作标记之间的对应关系。
[0050]第四方面,提供了第一存储设备,所述第一存储设备应用于存储系统中,所述存储系统至少包括所述第一存储设备和第二存储设备,其中,所述第一存储设备周期性生成所述第一存储设备中的数据的快照,每次生成快照的时间点为一个快照时间点,所述第一存储设备包括:
[0051]指令接收模块,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间
占.[0052]确定模块,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据在所述目标快照时间点之后被从所述第一存储设备中删除,所述操作标记用于指示所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息;
[0053]判断模块,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0054]获得模块,用于若所述判断模块的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0055]第一发送模块,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0056]在第四方面的第一种可能实现方式中,所述第一存储设备还包括:
[0057]第二发送模块,用于若所述判断模块的判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在所述第二存储设备中存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
[0058]在第四方面的第二种可能实现方式中,所述获得模块,包括:
[0059]地址获取单元,获取所述逻辑地址在所述目标快照时间点时对应的物理地址;
[0060]数据获得单元,用于根据所述物理地址获得所述历史数据。
[0061]结合第四方面、第四方面的第一种可能实现方式或者第四方面的第二种可能实现方式,在第四方面的第三种可能实现方式中,所述第一存储设备还包括:
[0062]标记生成模块,用于在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息生成所述操作标记;
[0063]保存模块,用于保存所述逻辑地址与所述操作标记之间的对应关系。
[0064]本发明实施例提供的技术方案带来的有益效果是:
[0065]通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据改动的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
【专利附图】

【附图说明】
[0066]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0067]图1是本发明提供的存储系统的系统构成图;
[0068]图2是本发明一个实施例提供的数据恢复方法的方法流程图;
[0069]图3是本发明另一实施例提供的数据恢复方法的方法流程图;
[0070]图4是本发明另一实施例提供的逻辑地址、物理地址以及操作标记之间的对应关系不意图;
[0071]图5是本发明一个实施例提供的第一存储设备的结构示意图;[0072]图6是本发明另一实施例提供的第一存储设备的结构示意图;
[0073]图7是本发明又一实施例提供的第一存储设备的结构示意图;
[0074]图8是本发明又一实施例提供的第一存储设备的结构示意图;
[0075]图9是本发明一个实施例提供的数据恢复方法的方法流程图;
[0076]图10是本发明另一实施例提供的数据恢复方法的方法流程图;
[0077]图11是本发明另一实施例提供的逻辑地址、物理地址以及操作标记之间的对应关系不意图;
[0078]图12是本发明一个实施例提供的第一存储设备的结构示意图;
[0079]图13是本发明另一实施例提供的第一存储设备的结构示意图;
[0080]图14是本发明又一实施例提供的第一存储设备的结构示意图;
[0081]图15是本发明又一实施例提供的第一存储设备的结构示意图。
【具体实施方式】
[0082]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0083]本发明提供的方案可以用于一种存储系统中,如图1所示,该存储系统至少包括第一存储设备和第二存储设备,其中,第二存储设备为第一存储设备的备份,用户每次在第一存储设备中写入数据时,第一存储设备都将写入的数据发送给第二存储设备进行备份存储。此外,第一存储设备还周期性生成第一存储设备中的数据的快照,每次生成快照的时间点为一个快照时间点,当第一存储设备中的数据出错时,第一存储设备可以根据在目标快照时间点建立的快照将数据恢复至该目标快照时间点时的状态。其中,在进行数据恢复时,第一存储设备通常需要对两类数据进行恢复:一类是在该目标快照时间点之后写入第一存储设备的数据,另一类是在该目标快照时间点之后从第一存储设备中删除的数据。本发明下述实施例分别对着两类数据的恢复过程进行描述。
[0084]请参见图2,其示出了本发明一个实施例提供的数据恢复方法的方法流程图。该数据恢复方法可以用于如图1所示的存储系统中,当第一存储设备中的数据错处进行数据恢复时,对第二存储设备中的数据进行相应的恢复。该数据恢复方法可以包括:
[0085]步骤102,第一存储设备接收数据恢复指令,该数据恢复指令包括目标快照时间
占.[0086]步骤104,根据事先保存的逻辑地址与操作标记之间的对应关系确定该逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备或者从所述第一存储设备中删除的数据,该操作标记用于指示该逻辑地址中存储的数据写入第一存储设备的时间信息;
[0087]步骤106,判断该逻辑地址在目标快照时间点是否存储有历史数据;
[0088]步骤108,若判断结果为该逻辑地址在目标快照时间点存储有历史数据,则获得该历史数据;
[0089]步骤110,将该历史数据以及该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据。
[0090]综上所述,本发明实施例提供的数据恢复方法,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据写入的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0091]为了对上述图2所示的数据恢复方法做进一步的描述,请参见图3,其示出了本发明另一实施例提供的数据恢复方法的方法流程图。该数据恢复方法可以用于如图1所示的存储系统中,当第一存储设备中的数据错处进行数据恢复时,对第二存储设备中的数据进行相应的恢复。以第一存储设备基于ROW进行数据存储为例,该数据恢复方法可以包括:
[0092]步骤202,第一存储设备接收数据恢复指令,该数据恢复指令包括目标快照时间
占.[0093]该数据恢复指令可以是管理人员在第一存储设备上进行快照回滚操作时发出的快照回滚指令。具体的,当第一存储设备中发生硬盘写错误、文件损坏或程序故障时,管理人员可以向第一存储设备发出快照回滚指令,该快照回滚指令用于指示第一存储设备将数据恢复至目标快照时间点时的状态。
[0094]步骤204,根据事先保存的逻辑地址与操作标记之间的对应关系确定该逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据;
[0095]其中,该操作标记用于指示该逻辑地址中存储的数据写入第一存储设备的时间信息。在最近一次生成该第一存储设备中的数据的快照时,第一存储设备根据该逻辑地址中存储的数据写入该第一存储设备的时间信息生成该操作标记,并保存该逻辑地址与该操作标记之间的对应关系。当第一存储设备接收到包含有目标快照时间点的数据恢复指令时,可以根据存储的该逻辑地址与该操作标记之间的对应关系确定该逻辑地址中的数据是否是在该目标快照时间点之后写入第一存储设备的数据。
[0096]在基于ROW存储数据时,第一存储设备中的写入数据的情形主要有两种:新写入一个逻辑地址中的数据或者对已有逻辑地址中的数据进行修改。每一次生成数据的快照时,第一存储设备对应存储各个数据的逻辑地址和物理地址之间的对应关系,同时,第一存储设备还根据各个逻辑地址中的数据的写入时间为各个逻辑地址生成对应的操作标记,并存储生成的操作标记和各个逻辑地址之间的对应关系。其中,该操作标记具体可以是生成快照时的快照时间点,也可以是各个快照的流水号或者事务号等。
[0097]具体的,以操作标记为快照时间点为例,假设第一存储设备先后3次生成数据的快照,每次生成快照时存储的各个逻辑地址与物理地址以及操作标记之间的对应关系如图4所示。其中,在tl时刻之前,第一存储设备中存储有a、b、c和d四个数据,该四个数据的逻辑地址分别为L1、 L2、L3和L4,物理地址分别为P1、P2、P3和P4。在tl时刻时,第一存储设备首次生成数据的快照,同时生成各个逻辑地址对应的操作标记为tl,该操作标记tl用于指示对应的逻辑地址中的数据的写入时间在tl时刻之前。在tl时刻到t2时刻之间的时间段内,逻辑地址为LI的数据被修改为a’,对应的物理地址修改为Ρ1',其余逻辑地址对应的数据和物理地址不变,在t2时刻时,第一存储设备第二次生成数据的快照,同时生成逻辑地址L1对应的操作标记为t2,生成其余逻辑地址对应的操作标记为tl,其中,该操作标记t2用于指示逻辑地址LI中的数据的写入时间在tl时刻到t2时刻之间。在t2时刻到t3时刻之间的时间段内,逻辑地址为L1、L2、L3和L4的数据保持不变,同时新增一个逻辑地址为L5,对应的数据为e,其物理地址为P5 ;在t3时刻时,第一存储设备第三次生成数据的快照,同时生成逻辑地址L5对应的操作标记为t3,生成逻辑地址LI对应的操作标记为t2,生成其余逻辑地址对应的操作标记为tl,其中,该操作标记t3用于指示逻辑地址L5中的数据的写入时间在t2时刻到t3时刻之间。
[0098]在t3时刻之后,当第一存储设备接收到数据恢复指令时,若该数据恢复指令中的目标快照时间点为tl,此时,第一存储设备获取t3时刻生成的各个逻辑地址与操作标记之间的对应关系,并确定对应的操作标记大于tl的逻辑地址中的数据为tl时刻之后写入第一存储设备的数据,即逻辑地址为LI和L5中的数据为tl时刻之后写入第一存储设备的数据。
[0099]此外,第一存储设备每次写入数据或者删除数据时,都会与第二存储设备进行数据同步。比如,当第一存储设备新写入一个逻辑地址对应的数据或者对原有逻辑地址中的数据进行修改时,将写入的数据发送给第二存储设备,由第二存储设备进行数据更新;当第一存储设备将原有逻辑地址中的数据删除时,向第二存储设备发送删除通知,由第二存储设备将对应的逻辑地址中的数据删除。
[0100]步骤206,判断该逻辑地址在目标快照时间点是否存储有历史数据;若是,进入步骤208,否则,进入步骤212 ;
[0101]第一存储设备确定某一逻辑地址中的数据为在目标快照时间点之后写入第一存储设备的数据之后,可以获取目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系,并根据目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系判断该逻辑地址在该目标快照时间点时是否对应有物理地址,若目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系表明在目标快照时间点时该逻辑地址对应有物理地址,则判断出该逻辑地址在目标快照时间点存储有历史数据;若目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系表明在目标快照时间点时该逻辑地址未对应有物理地址或者在目标快照时间点时不存在该逻辑地址,则判断出该逻辑地址在目标快照时间点未存储历史数据。
[0102]步骤208,获得该历史数据;
[0103]当判断出该逻辑地址在目标快照时间点时存储有历史数据时,第一存储设备获取该逻辑地址在目标快照时间点时对应的物理地址,并根据该物理地址获得该历史数据。
[0104]以图4为例,其中逻辑地址LI和L4在11时刻时对应有物理地址,则判断逻辑地址LI和L4在tl时刻存储有历史数据,第一存储设备将tl时刻时逻辑地址LI对应的物理地址Pl中存储的数据a获得为逻辑地址LI的历史数据,并将tl时刻时逻辑地址L4对应的物理地址P4中存储的数据d获得为逻辑地址L4的历史数据。
[0105]步骤210,将该历史数据以及该逻辑地址发送给第二存储设备;
[0106]第一存储设备将该历史数据以及该逻辑地址发送给第二存储设备,使得第二存储设备将自身存储的该逻辑地址对应的数据替换为该历史数据,已完成数据的恢复。
[0107]以图4为例,第一存储设备将逻辑地址LI和数据a发送给第二存储设备,并将逻辑地址L4和数据d发送给第二存储设备,使得第二存储设备将第二存储设备中的逻辑地址LI和L4对应的数据替换为a和d,从而完成数据的恢复。
[0108]步骤212,将该逻辑地址以及与该逻辑地址对应的删除指示发送给第二存储设备;
[0109]当判断出该逻辑地址在目标快照时间点时存储有历史数据时,第一存储设备将该逻辑地址以及与该逻辑地址对应的删除指示发送给第二存储设备,使得第二存储设备在存储有与该逻辑地址对应的数据时,根据该删除指示将第二存储设备中存储的与该逻辑地址对应的数据删除。其中,该删除指示可以是一个用于指示第二存储设备删除数据的删除代码,第二存储设备接收到该删除代码后,检测第二存储设备中是否存储有与该逻辑地址对应的数据,并在检测出第二存储设备中存储有与该逻辑地址对应的数据时,将第二存储设备中的该逻辑地址对应的数据删除。
[0110]依旧以图4为例,其中,tl时刻时第一存储设备中不存在逻辑地址L5,即表示逻辑地址L5在tl时刻时未存储有历史数据,此时,第一存储设备向第二存储设备发送逻辑地址L5和删除代码。由于在t3时刻到第一存储设备接收到数据恢复指令的这一段时间内,该逻辑地址L5中的历史数据可能被从第一存储设备和第二存储设备中删除,因此,该第二存储设备接收到该删除代码后,首先检测本地是否存储有逻辑地址L5对应的数据,若有,则将第二存储设备中与逻辑地址L5对应的数据删除。
[0111]综上所述,本发明实施例提供的数据恢复方法,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据写入的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0112]请参见图5,其示出了本发明一个实施例提供的第一存储设备的结构示意图,该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图2或图3所示的数据恢复方法。该第一存储设备可以包括:
[0113]指令接收模块301,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间
占.[0114]确定模块302,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据,所述操作标记用于指示所述逻辑地址中存储的数据写入所述第一存储设备的时间信息;
[0115]判断模块303,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0116]获得模块304,用于若所述判断模块303的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0117]第一发送模块305,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。[0118]综上所述,本发明实施例提供的第一存储设备,通过在接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据写入的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0119]为了对上述图5所示的第一存储设备做进一步的描述,请参见图6,其示出了本发明另一实施例提供的第一存储设备的结构示意图。该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图2或图3所示的数据恢复方法。该第一存储设备可以包括:
[0120]指令接收模块401,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间
占.[0121]确定模块402,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据,所述操作标记用于指示所述逻辑地址中存储的数据写入所述第一存储设备的时间信息;
[0122]判断模块403,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0123]获得模块404,用于若所述判断模块403的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0124]第一发送模块405,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0125]所述第一存储设备还包括:
[0126]第二发送模块406,用于若所述判断模块403的判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
[0127]所述获得模块404,包括:
[0128]地址获取单元404a,获取所述逻辑地址在所述目标快照时间点时对应的物理地址;
[0129]数据获得单元404b,用于根据所述物理地址获得所述历史数据。
[0130]所述第一存储设备还包括:
[0131]标记生成模块407,用于在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据写入所述第一存储设备的时间信息生成所述操作标记;
[0132]保存模块408,用于保存所述逻辑地址与所述操作标记之间的对应关系。
[0133]综上所述,本发明实施例提供的第一存储设备,通过在接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据写入的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0134]请参见图7,其示出了本发明又一实施例提供的第一存储设备的结构示意图,该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图2或图3所示的数据恢复方法。该第一存储设备可以包括:
[0135]至少一个I/O接口 001、至少一个处理器002,比如CPU、存储器003和显示器004 ;
存储器003可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器003可选的可以包含至少一个位于远离前述处理器002的存储装置。在一些实施方式中,存储器003存储了如下的元素,模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0136]操作系统0031,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务;
[0137]应用模块0032,包含一个或多个模块,所述一个或多个模块被配置由所述一个或多个处理器002执行,所述一个或多个模块具有如下功能:
[0138]所述第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;
[0139]根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据,所述操作标记用于指示所述逻辑地址中存储的数据写入所述第一存储设备的时间信息;
[0140]判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0141]若判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0142]将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0143]综上所述,本发明实施例提供的第一存储设备,通过在接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据写入的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0144]为了对上述图7所示的第一存储设备做进一步的描述,请参见图8,其示出了本发明又一实施例提供的第一存储设备的结构示意图。该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图2或图3所示的数据恢复方法。该第一存储设备可以包括:
[0145]至少一个I/O接口 005、至少一个处理器006,比如CPU、存储器007和显示器008 ;
存储器007可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器007可选的可以包含至少一个位于远离前述处理器006的存储装置。在一些实施方式中,存储器007存储了如下的元素,模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0146]操作系统0071,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务;
[0147]应用模块0072,包含一个或多个模块,所述一个或多个模块被配置由所述一个或多个处理器006执行,所述一个或多个模块具有如下功能:
[0148]所述第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;
[0149]根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据,所述操作标记用于指示所述逻辑地址中存储的数据写入所述第一存储设备的时间信息;
[0150]判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0151]若判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0152]将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0153]所述功能还包括:
[0154]若判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
[0155]所述获得所述历史数据,包括:
[0156]获取所述逻辑地址在所述目标快照时间点时对应的物理地址;
[0157]根据所述物理地址获得所述历史数据。
[0158]所述功能还包括:
[0159]在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据写入所述第一存储设备的时间信息生成所述操作标记;
[0160]保存所述逻辑地址与所述操作标记之间的对应关系。
[0161]综上所述,本发明实施例提供的第一存储设备,通过在接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后写入第一存储设备的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据写入的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。[0162]请参见图9,其示出了本发明一个实施例提供的数据恢复方法的方法流程图。该数据恢复方法可以用于如图1所示的存储系统中,当第一存储设备中的数据错处进行数据恢复时,对第二存储设备中的数据进行相应的恢复。该数据恢复方法可以包括:
[0163]步骤502,第一存储设备接收数据恢复指令,该数据恢复指令包括目标快照时间
占.[0164]步骤504,根据事先保存的逻辑地址与操作标记之间的对应关系确定该逻辑地址中存储的数据是在目标快照时间点之后被从所述第一存储设备中删除的数据,该操作标记用于指示该逻辑地址中存储的数据被从第一存储设备中删除的时间信息;
[0165]步骤506,判断该逻辑地址在目标快照时间点是否存储有历史数据;
[0166]步骤508,若判断结果为该逻辑地址在目标快照时间点存储有历史数据,则获得该历史数据;
[0167]步骤510,将该历史数据以及该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据。
[0168]综上所述,本发明实施例提供的数据恢复方法,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据删除的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0169]为了对上述图9所示的数据恢复方法做进一步的描述,请参见图10,其示出了本发明另一实施例提供的数据恢复方法的方法流程图。该数据恢复方法可以用于如图1所示的存储系统中,当第一存储设备中的数据错处进行数据恢复时,对第二存储设备中的数据进行相应的恢复。以第一存储设备基于ROW进行数据存储为例,该数据恢复方法可以包括:
[0170]步骤602,第一存储设备接收数据恢复指令,该数据恢复指令包括目标快照时间
占.[0171]该数据恢复指令可以是管理人员在第一存储设备上进行快照回滚操作时发出的快照回滚指令。具体的,当第一存储设备中发生硬盘写错误、文件损坏或程序故障时,管理人员可以向第一存储设备发出快照回滚指令,该快照回滚指令用于指示第一存储设备将数据恢复至目标快照时间点时的状态。
[0172]步骤604,根据事先保存的逻辑地址与操作标记之间的对应关系确定该逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据;
[0173]其中,该操作标记用于指示该逻辑地址中存储的数据被从第一存储设备中删除的时间信息。在最近一次生成该第一存储设备中的数据的快照时,第一存储设备根据该逻辑地址中存储的数据被从该第一存储设备中删除的时间信息生成该操作标记,并保存该逻辑地址与该操作标记之间的对应关系。当第一存储设备接收到包含有目标快照时间点的数据恢复指令时,可以根据存储的该逻辑地址与该操作标记之间的对应关系确定该逻辑地址中的数据是否是在该目标快照时间点之后被从第一存储设备中删除的数据。[0174]在基于ROW存储数据过程中,每一次生成数据的快照时,第一存储设备对应存储各个数据的逻辑地址和物理地址之间的对应关系,同时,第一存储设备还根据各个逻辑地址中的数据的删除时间为各个逻辑地址生成对应的操作标记,并存储生成的操作标记和各个逻辑地址之间的对应关系。其中,该操作标记具体可以是生成快照时的快照时间点,也可以是各个快照的流水号或者事务号等。
[0175]具体的,以操作标记为快照时间点为例,假设第一存储设备先后2次生成数据的快照,每次生成快照时存储的各个逻辑地址与物理地址以及操作标记之间的对应关系如图
11所示。其中,在tl时刻之前,第一存储设备中存储有a、b、c和d四个数据,该四个数据的逻辑地址分别为L1、L2、L3和L4,物理地址分别为P1、P2、P3和P4。在tl时刻时,第一存储设备首次生成数据的快照,同时生成各个逻辑地址对应的操作标记为tl,该操作标记tl用于指示对应的逻辑地址中的数据的写入时间在tl时刻之前。在tl时刻到t2时刻之间的时间段内,逻辑地址为L1、L2和L3的数据保持不变,逻辑地址为L4对应的数据d被删除;在t2时刻时,第一存储设备第二次生成数据的快照,同时生成逻辑地址L4对应的操作标记为t2,生成其余逻辑地址对应的操作标记为tl,其中,该操作标记t2用于指示逻辑地址L4中的数据的删除时间在t2时刻到t3时刻之间。
[0176]在t2时刻之后,当第一存储设备接收到数据恢复指令时,若该数据恢复指令中的目标快照时间点为tl,此时,第一存储设备获取t2时刻生成的各个逻辑地址与操作标记之间的对应关系,并确定对应的操作标记大于tl的逻辑地址中的数据为tl时刻之后写入第一存储设备或者从第一存储设备删除的数据,即逻辑地址L4中的数据为tl时刻之后被从第一存储设备删除的数据。
[0177]此外,第一存储设备每次写入数据或者删除数据时,都会与第二存储设备进行数据同步。比如,当第一存储设备新写入一个逻辑地址对应的数据或者对原有逻辑地址中的数据进行修改时,将写入的数据发送给第二存储设备,由第二存储设备进行数据更新;当第一存储设备将原有逻辑地址中的数据删除时,向第二存储设备发送删除通知,由第二存储设备将对应的逻辑地址中的数据删除。
[0178]步骤606,判断该逻辑地址在目标快照时间点是否存储有历史数据;若是,进入步骤608,否则,进入步骤612 ;
[0179]第一存储设备确定某一逻辑地址中的数据为在目标快照时间点之后被从第一存储设备中删除的数据之后,可以获取目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系,并根据目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系判断该逻辑地址在该目标快照时间点时是否对应有物理地址,若目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系表明在目标快照时间点时该逻辑地址对应有物理地址,则判断出该逻辑地址在目标快照时间点存储有历史数据;若目标快照时间点时生成的各个逻辑地址与物理地址之间的对应关系表明在目标快照时间点时该逻辑地址未对应有物理地址或者在目标快照时间点时不存在该逻辑地址,则判断出该逻辑地址在目标快照时间点未存储历史数据。
[0180]步骤608,获得该历史数据;
[0181]当判断出该逻辑地址在目标快照时间点时存储有历史数据时,第一存储设备获取该逻辑地址在目标快照时间点时对应的物理地址,并根据该物理地址获得该历史数据。[0182]以图11为例,其中逻辑地址L4在tl时刻时对应有物理地址,则判断逻辑地址L4在tl时刻存储有历史数据,第一存储设备将tl时刻时逻辑地址L4对应的物理地址P4中存储的数据d获得为逻辑地址L4的历史数据。
[0183]步骤610,将该历史数据以及该逻辑地址发送给第二存储设备;
[0184]第一存储设备将该历史数据以及该逻辑地址发送给第二存储设备,使得第二存储设备将自身存储的该逻辑地址对应的数据替换为该历史数据,已完成数据的恢复。
[0185]以图4为例,第一存储设备将逻辑地址L4和数据d发送给第二存储设备,使得第二存储设备将第二存储设备中的逻辑地址L4对应的数据替换为d,从而完成数据的恢复。
[0186]步骤612,将该逻辑地址以及与该逻辑地址对应的删除指示发送给第二存储设备;
[0187]当判断出该逻辑地址在目标快照时间点时存储有历史数据时,第一存储设备将该逻辑地址以及与该逻辑地址对应的删除指示发送给第二存储设备,使得第二存储设备在存储有与该逻辑地址对应的数据时,根据该删除指示将第二存储设备中存储的与该逻辑地址对应的数据删除。其中,该删除指示可以是一个用于指示第二存储设备删除数据的删除代码。
[0188]由于在第一存储设备最近一次生成数据的快照以及逻辑地址与操作标记之间的对应关系时刻至第一存储设备接收到数据恢复指令之间的一段时间内,第一存储设备中可能重新写入该逻辑地址中的数据并备份至第二存储设备,因此,第二存储设备接收到该删除代码后,首先检测第二存储设备中是否存储有与该逻辑地址对应的数据,并在检测出第二存储设备中存储有与该逻辑地址对应的数据时,将第二存储设备中的该逻辑地址对应的数据删除。
[0189]综上所述,本发明实施例提供的数据恢复方法,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据删除的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0190]请参见图12,其示出了本发明一个实施例提供的第一存储设备的结构示意图,该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图9或图10所示的数据恢复方法。该第一存储设备可以包括:
[0191]指令接收模块701,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间
占.[0192]确定模块702,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后被从所述第一存储设备中删除的数据,所述操作标记用于指示所述逻辑地址中存储的数据从所述第一存储设备中删除的时间信息;
[0193]判断模块703,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0194]获得模块704,用于若所述判断模块703的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0195]第一发送模块705,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0196]综上所述,本发明实施例提供的第一存储设备,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据删除的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0197]为了对上述图12所示的第一存储设备做进一步的描述,请参见图13,其示出了本发明另一实施例提供的第一存储设备的结构示意图。该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图9或图10所示的数据恢复方法。该第一存储设备可以包括:
[0198]指令接收模块801,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间
占.[0199]确定模块802,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后被从所述第一存储设备中删除的数据,所述操作标记用于指示所述逻辑地址中存储的数据从所述第一存储设备中删除的时间信息;
[0200]判断模块803,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0201]获得模块804,用于若所述判断模块803的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0202]第一发送模块805,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0203]所述第一存储设备还包括:
[0204]第二发送模块806,用于若所述判断模块803的判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
[0205]所述获得模块804,包括:
[0206]地址获取单元804a,获取所述逻辑地址在所述目标快照时间点时对应的物理地址;
[0207]数据获得单元804b,用于根据所述物理地址获得所述历史数据。
[0208]所述第一存储设备还包括:
[0209]标记生成模块807,用于在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据从所述第一存储设备中删除的时间信息生成所述操作标记;
[0210]保存模块808,用于保存所述逻辑地址与所述操作标记之间的对应关系。
[0211]综上所述,本发明实施例提供的第一存储设备,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据删除的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0212]请参见图14,其示出了本发明又一实施例提供的第一存储设备的结构示意图,该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图9或图10所示的数据恢复方法。该第一存储设备可以包括:
[0213]至少一个I/O接口 009、至少一个处理器010,比如CPU、存储器011和显示器012 ;
存储器011可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器011可选的可以包含至少一个位于远离前述处理器010的存储装置。在一些实施方式中,存储器011存储了如下的元素,模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0214]操作系统0111,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务;
[0215]应用模块0112,包含一个或多个模块,所述一个或多个模块被配置由所述一个或多个处理器010执行,所述一个或多个模块具有如下功能:
[0216]所述第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;
[0217]根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入被从所述第一存储设备中删除的数据,所述操作标记用于指示所述逻辑地址中存储的数据从所述第一存储设备中删除的时间信息;
[0218]判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0219]若判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0220]将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0221]综上所述,本发明实施例提供的第一存储设备,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据删除的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0222]为了对上述图14所示的第一存储设备做进一步的描述,请参见图15,其示出了本发明又一实施例提供的第一存储设备的结构示意图。该第一存储设备用于如图1所示的存储系统中,且该第一存储设备可以用于执行图9或图10所示的数据恢复方法。该第一存储设备可以包括:
[0223]至少一个I/O接口 013、至少一个处理器014,比如CPU、存储器015和显示器016 ;存储器015可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器015可选的可以包含至少一个位于远离前述处理器014的存储装置。在一些实施方式中,存储器007存储了如下的元素,模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0224]操作系统0151,包含各种程序,用于实现各种基础业务以及处理基于硬件的任务;
[0225]应用模块0152,包含一个或多个模块,所述一个或多个模块被配置由所述一个或多个处理器014执行,所述一个或多个模块具有如下功能:
[0226]所述第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;
[0227]根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后被从所述第一存储设备中删除的数据,所述操作标记用于指示所述逻辑地址中存储的数据从所述第一存储设备中删除的时间信息;
[0228]判断所述逻辑地址在所述目标快照时间点是否存储有历史数据;
[0229]若判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据;
[0230]将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
[0231]所述功能还包括:
[0232]若判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
[0233]所述获得所述历史数据,包括:
[0234]获取所述逻辑地址在所述目标快照时间点时对应的物理地址;
[0235]根据所述物理地址获得所述历史数据。
[0236]所述功能还包括:
[0237]在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据从所述第一存储设备中删除的时间信息生成所述操作标记;
[0238]保存所述逻辑地址与所述操作标记之间的对应关系。[0239]综上所述,本发明实施例提供的第一存储设备,通过在第一存储设备接收包括目标快照时间点的数据恢复指令,确定逻辑地址中存储的数据是在目标快照时间点之后被从第一存储设备中删除的数据,并判断出该逻辑地址在目标快照时间点存储有历史数据后,将该历史数据和该逻辑地址发送给第二存储设备,使得第二存储设备将第二存储设备中存储的与该逻辑地址对应的数据恢复成该历史数据,即第一存储设备在进行数据恢复时,只需要向第二存储设备发送在目标快照时间点之后发生数据删除的逻辑地址在目标快照时间点时对应的历史数据,解决了现有技术中需要将主存储设备中所有数据全部复制给从存储设备的问题,达到减少复制时间,节约带宽资源的目的。
[0240]需要说明的是:上述实施例提供的第一存储设备在进行数据恢复时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的第一存储设备与数据恢复的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0241 ] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0242]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0243]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据恢复方法,其特征在于,所述方法应用于存储系统中,所述存储系统至少包括第一存储设备和第二存储设备,其中,所述第一存储设备周期性生成所述第一存储设备中的数据的快照,每次生成快照的时间点为一个快照时间点,所述方法包括: 所述第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据,所述操作标记用于指示所述逻辑地址中存储的数据写入所述第一存储设备的时间信息; 判断所述逻辑地址在所述目标快照时间点是否存储有历史数据; 若判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据; 将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 若判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在所述第二存储设备中存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
3.根据权利要求1所述的方法,其特征在于,所述获得所述历史数据,包括: 获取所述逻辑地址在所述目标快照时间点时对应的物理地址; 根据所述物理地址获得所述历史数据。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括: 在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据写入所述第一存储设备的时间信息生成所述操作标记; 保存所述逻辑地址与所述操作标记之间的对应关系。
5.第一存储设备,其特征在于,所述第一存储设备应用于存储系统中,所述存储系统至少包括所述第一存储设备和第二存储设备,其中,所述第一存储设备周期性生成所述第一存储设备中的数据的快照,每次生成快照的时间点为一个快照时间点,所述第一存储设备包括: 指令接收模块,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间点; 确定模块,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据是在所述目标快照时间点之后写入所述第一存储设备的数据,所述操作标记用于指示所述逻辑地址中存储的数据写入所述第一存储设备的时间信息; 判断模块,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据; 获得模块,用于若所述判断模块的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据; 第一发送模块,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
6.根据权利要求5所述的第一存储设备,其特征在于,所述第一存储设备还包括:第二发送模块,用于若所述判断模块的判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在所述第二存储设备中存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
7.根据权利要求5所述的第一存储设备,其特征在于,所述获得模块,包括: 地址获取单元,获取所述逻辑地址在所述目标快照时间点时对应的物理地址; 数据获得单元,用于根据所述物理地址获得所述历史数据。
8.根据权利要求5至7任一所述的第一存储设备,其特征在于,所述第一存储设备还包括: 标记生成模块,用于在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据写入所述第一存储设备的时间信息生成所述操作标记; 保存模块,用于保存所述逻辑地址与所述操作标记之间的对应关系。
9.一种数据恢复方法,其特征在于,所述方法应用于存储系统中,所述存储系统至少包括第一存储设备和第二存储设备,其中,所述第一存储设备周期性生成所述第一存储设备中的数据的快照,每次生成快照的时间点为一个快照时间点,所述方法包括: 所述第一存储设备接收数据恢复指令,所述数据恢复指令包括目标快照时间点;根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据在所述目标快照时间点之后被从所述第一存储设备中删除,所述操作标记用于指示所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息; 判断所述逻辑地址在所述目标快照时间点是否存储有历史数据; 若判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据; 将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括: 若判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在所述第二存储设备中存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
11.根据权利要求9所述的方法,其特征在于,所述获得所述历史数据,包括: 获取所述逻辑地址在所述目标快照时间点时对应的物理地址; 根据所述物理地址获得所述历史数据。
12.根据权利要求9至11任一所述的方法,其特征在于,所述方法还包括: 在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息生成所述操作标记; 保存所述逻辑地址与所述操作标记之间的对应关系。
13.第一存储设备,其特征在于,所述第一存储设备应用于存储系统中,所述存储系统至少包括所述第一存储设备和第二存储设备,其中,所述第一存储设备周期性生成所述第一存储设备中的数据的快照,每次生成快照的时间点为一个快照时间点,所述第一存储设备包括: 指令接收模块,用于接收数据恢复指令,所述数据恢复指令包括目标快照时间点; 确定模块,用于根据事先保存的逻辑地址与操作标记之间的对应关系确定所述逻辑地址中存储的数据在所述目标快照时间点之后被从所述第一存储设备中删除,所述操作标记用于指示所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息; 判断模块,用于判断所述逻辑地址在所述目标快照时间点是否存储有历史数据; 获得模块,用于若所述判断模块的判断结果为所述逻辑地址在所述目标快照时间点存储有所述历史数据,则获得所述历史数据; 第一发送模块,用于将所述历史数据以及所述逻辑地址发送给所述第二存储设备,使得所述第二存储设备将所述第二存储设备中存储的与所述逻辑地址对应的数据恢复成所述历史数据。
14.根据权利要求13所述的第一存储设备,其特征在于,所述第一存储设备还包括: 第二发送模块,用于若所述判断模块的判断结果为所述逻辑地址在所述目标快照时间点未存储有所述历史数据,则将所述逻辑地址以及与所述逻辑地址对应的删除指示发送给所述第二存储设备,使得所述第二存储设备在所述第二存储设备中存储有与所述逻辑地址对应的数据时,根据所述删除指示将所述第二存储设备中存储的与所述逻辑地址对应的数据删除。
15.根据权利要求13所述的第一存储设备,其特征在于,所述获得模块,包括: 地址获取单元,获取所述逻`辑地址在所述目标快照时间点时对应的物理地址; 数据获得单元,用于根据所述物理地址获得所述历史数据。
16.根据权利要求13至15任一所述的第一存储设备,其特征在于,所述第一存储设备还包括: 标记生成模块,用于在最近一次生成所述第一存储设备中的数据的快照时,根据所述逻辑地址中存储的数据被从所述第一存储设备中删除的时间信息生成所述操作标记; 保存模块,用于保存所述逻辑地址与所述操作标记之间的对应关系。
【文档编号】G06F11/14GK103678039SQ201310655743
【公开日】2014年3月26日 申请日期:2013年12月5日 优先权日:2013年12月5日
【发明者】李大权, 欧阳戟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1