一种采用快照恢复数据的方法和装置的制作方法

文档序号:6471627阅读:216来源:国知局
专利名称:一种采用快照恢复数据的方法和装置的制作方法
技术领域
本发明涉及数据保护技术领域,特别涉及一种采用快照恢复数据的方法 和装置。
背景技术
随着信息科学技术的广泛应用与不断发展,数据保护变得越来越重要。 为了能够在不中断主机业务的前提下,快速进行数据的备份,快照技术应运 而生。通常将进行读写的资源称为数据巻,实现快照而增加的资源称为快照 巻,在快照过程中,通常以数据块为单位进行数据处理。
最初的快照方式的核心的原理是初次写拷贝(COFW, Copy On First Write),在某一时间点为数据巻建立快照后,当对该数据巻上进行写操作 时,如果要进行写操作的资源块中的数据是第一次发生变化,则先将要进行 写操作的资源块当前存储的数据存储在快照巻中,并建立快照巻中各数据与 其来源的数据巻中资源块之间的对应关系;然后再向数据巻中的该资源块写 入数据。在此后写入数据的过程中,如果要进行写操作的资源块中的数据不 是第一次发生变化,则直接向资源块写入数据而不向快照巻存储数据。当发 生突发事件,例如病毒攻击或者人为操作失误,导致数据损坏业务不可用而 需要对数据巻中的数据进行恢复时,可以将快照巻中的数据块重新写入其对 应的数据巻的资源块。以图l为例,图中"/"之前的字母标识资源块,"/" 之后的数字标识该资源块中存储的数据,例如,A/1标识资源块A中存储数 据1。假设将要对数据巻中的资源块A、 E和I写入数据,则如果这些资源 块中的数据都是第一次发生变化,则先将资源块A、 E和I中的数据存储在 快照巻中,即生成快照,并建立各数据与资源块之间的对应关系,再向数据巻的资源块A、 E和I中写入新的数据;如果以后再次对资源块A、 E或I 写入数据,则不再生成快照直接写入数据。如果发生突发事件需要恢复数据, 则将快照巻中的各数据块写入其对应的数据巻中的资源块即可。
但是,由于最初的快照方式的快照巻中仅存储第 一次发生变化的数据, 因此,进行数据恢复时,仅能够将数据巻恢复到原始的状况。鉴于这种状况 现有技术中还存在另外一种快照方式,每隔固定的时间间隔创建一个快照, 该创建的快照用创建时的时刻进行标识,每个快照中数据的存储均采用 COFW的方式,直至下一个快照创建。如图2所示,假设每隔一个小时创建 一个快照,首先在9点时在快照巻中创建一个以9点作为标识的快照,对数 据巻在9点到10点第一次发生变化的数据进行存储,假设在此时间段中对 数据巻资源块A、 E和I中分别写入了数据10、 11和12,则在快照巻的9 点快照中存储资源块A、 E和I的数据1、 5和9,并建立各数据与其来源的 数据巻资源块之间的对应关系,然后将数据IO、 11和12写入数据巻资源块 A、 E和I;在10点再创建一个以10点作为标识的快照,对数据巻在10点 到11点第一次发生变化的数据进行存储,如果在10点到11点之间向数据 巻资源块D和G中分别写入数据13和14,则在快照巻10点快照中存储数 据巻资源块D和G中的数据4和7,并建立各数据与其来源的数据巻资源块 之间的对应关系,然后将数据13和14写入数据巻资源块D和G。此时,在 快照巻中形成了 9点快照和10点快照。如果在11点到12点之间向数据巻 资源块B、 C和D中分别写入数据15、 16和17,则先将数据巻资源块B、 C和D中的数据存储在11点快照中,在向数据巻资源块B、 C和D中分别 写入数据15、 16和17。并且如图2所示,建立的快照以链式结构进行排列, 最后建立的快照排列在链式结构的末端,并且,存在一个回滚指针总指向最 末端的快照,即回滚指针指向排在快照巻最末端的ll点快照。
如果在11点和12点之间发生突发状况需要恢复9点的数据,则可以先 将11点快照中的数据写入对应的数据巻资源块中;再利用IO点常规快照恢 复到IO点时的状况,即将IO点常规快照中的数据写入对应的数据巻资源块中,并将数据巻替换掉的数据写入最末端的常规快照即11点的常规快照; 进一步利用9点常规快照恢复到9点时的状况,即将9点常规快照中的数据 写入对应的数据巻资源块中,并将数据巻替换到的数据写入11点的常规快 照。采用这种方式可以将数据恢复到中间的某个时刻,而不是必须恢复到原 始时刻;但是,采用这种方式在进行数据恢复过程中,如果当前时刻和要恢 复的时刻不处于同 一 时间段,则需要将数据巻中被替换掉的数据仍存储在当 前时间段对应的快照中,这部分数据进行了重复存储,如图2中恢复到9点 状况后,9点快照和IO点快照中的数据还重复存储在11点快照中,显然, 这种方式浪费了快照巻的存储空间。

发明内容
有鉴于此,本发明提供了一种采用快照恢复数据的方法和装置,以便于 节约数据恢复过程中占用快照巻的空间。
一种采用快照恢复数据的方法,当接收到包含要恢复到的时刻的数据恢 复指令后,执行以下步骤
A、 将要所述要恢复到的时刻与数据巻中当前最末端的常规快照所对应的 时刻进行比较,如果所迷要恢复到的时刻小于当前最末端的常规快照所对应的 时刻,则将最末端的常规快照中的各数据写入对应的数据巻资源块,并删除该 最末端的常规快照;
B、 将所述要恢复到的时刻与数据巻中当前最末端的常;^见快照所对应的时刻 进行比较,如果所述要恢复到的时刻小于当前最末端的常规快照,则执行步骤 C;如果所述要恢复到的时刻等于当前最末端的常规快照,则执行步骤D;
C、 确定当前最末端的常规快照中各数据所对应的数据巻资源块,创建一个 回滚快照以上一个删除的常规快照所对应的时刻进行标识,将确定的数据巻资 源块中的数据存储在该回滚快照中,并将当前最末端的常规快照中的各数据写 入对应的数据巻资源块,删除当前最末端的常规快照,转至执行步骤B;
D、 确定当前最末端的常规快照中各数据所对应的数据巻资源块,创建一个回滚快照以上 一 个删除的常规快照所对应的时刻进行标识,将确定的数 据巻资源块中的数据存储在该回滚快照中,将当前最末端的常规快照中的各 数据写入对应的数据巻资源块,删除该最末端的常规快照,并将执行删除操 作后当前最末端的常规快照与创建的回滚快照相关联,创建一个常规快照以 要恢复到的时刻进行标识。
一种采用快照恢复数据的装置,该装置包括
第一比较单元,用于接收到包含要恢复到的时刻的数据恢复指令后,将要 恢复到的时刻与数据巻中当前最末端的常规快照所对应的时刻进行比较,如果 要恢复到的时刻小于当前最末端的常规快照所对应的时刻,则向第一处理单元 发送第一处理通知;
第一处理单元,用于接收到第一处理通知后,将最末端的常规快照中的各 数据写入对应的数据巻资源块,删除该最末端的常规快照,并向第二比较单元 发送第一比较通知;
第二比较单元,用于接收到第一比较通知后,将要恢复到的时刻与数据巻 中当前最末端的常规快照所对应的时刻进行比较,如果所述要恢复到的时刻小 于当前最末端的常规快照,则向第二处理单元发送第二处理通知;如果所述要 恢复到的时刻等于当前最末端的常规快照,则向第三处理单元发送第三处理通 知;
第二处理单元,用于接收到第二处理通知后,确定当前最末端的常规快照 中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规快照 所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该回滚快照中, 并将当前最末端的常规快照中的各数据写入对应的数据巻资源块,删除当前最 末端的常规快照,并向所述第二比较单元发送第一比较通知;
第三处理单元,用于接收到第三处理通知后,确定当前最末端的常规快照 中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规快照 所对应的时刻进行标识,将确定的数据巻资源块中的lt据存储在该回滚快照中, 将当前最末端的常规快照中的各数据写入对应的数据巻资源块,删除该最末端的常规快照,向第一关联单元发送关联通知;
第一关联单元,用于接收到关联通知后,将当前最末端的常规快照与创 建的回滚快照相关联,创建一个常规快照以要恢复到的时刻进行标识。
一种建立回滚快照的方法,所述回滚快照用于存储在数据恢复过程中数据
巻中被替换掉的数据;该方法包括
在进行数据恢复的过程中,将快照中的数据写入相应的数据巻资源块前, 如果数据巻资源块中将被替换的数据具有对应的常规快照时刻,则创建一个回 滚快照,并以被替换的数据对应的常规快照时刻进行标识,将当前最末端的常 规快照中的数据写入对应的数据巻资源块,并删除当前最末端的常规快照,直 到数据恢复过程停止,将当前最末端的常规快照与创建的回滚快照相关联。
一种上述方法建立的回滚快照恢复数据的方法,该方法包括
在数据恢复过程中,当所要恢复的时刻大于当前最末端的常规快照所对 应的时刻时,将当前最末端的常规快照中的数据写入对应的数据巻资源块 后,删除当前最末端的常规快照;
确定与当前最末端的常规快照相关联的回滚快照中各数据对应的数据 巻资源块;创建一个常规快照以该回滚快照所对应时刻的上 一 时刻进行标 识,将确定的数据巻资源块中的数据存储在创建的常规快照中,并将确定的 回滚快照中的各数据写入对应的数据巻资源块中,删除所述确定的回滚快 照、
由以上技术方案可以看出,利用本发明提供的方法和装置进行数据恢复 时,在将最末端的常规快照写入对应的数据巻资源块后,会及时将使用过的 常规快照删除,并在后续数据恢复过程中,每利用常规快照进行回滚操作, 即将常规快照中的数据写入对应的数据巻资源块后,及时删除使用过的常规 快照并相应创建一个回滚快照用来存储数据巻资源块中替换掉的数据,以保 证回滚掉的状态也能够再次恢复。而现有技术中的方式在进行数据恢复过程 中不仅保留常规快照,还会在当前时间段对应的常规快照中重复存储数据巻 资源块中替换掉的数据,而本发明建立相应的回滚快照后会立即删除相应的常规快照,不会额外占用快照巻的资源,很显然,本发明相对于现有技术中 的方法在数据恢复过程中能够占用较少的快照巻资源,更加节约快照巻空间。


图1为现有技术中最初快照技术的示意图; 图2为现有技术中另一种快照技术的示意图; 图3为本发明实施例提供的详细方法流程图; 图4为本发明实施例提供的按常规方式写入数据的过程示意图; 图5为本发明实施例提供的在图4基础上恢复到IO点时状况的过程示 意图6为本发明实施例提供的在图5基础上恢复到11点时状况的过程示 意图7为本发明实施例提供的在图5基础上按常规方式写入数据的过程示 意图8为本发明实施例提供的在图7基础上恢复到11点时状况的过程示 意图9为本发明实施例提供的装置结构图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体 实施例对本发明进行详细描述。
本发明提供的方法是对现有技术中的第二种方式进行的改进,在进行正 常的写入操作过程中形成快照的方式相同,本发明在数据恢复过程中对快照 的处理方式进行了改进,增加了另外一种快照形式,为了以示区分,将正常 写入操作过程中形成的快照称为常规快照,将数据恢复过程中形成的快照称 为回滚快照。下面结合具体实施例对本发明提供的方法进行详细描述。图3为本发明 实施例提供的详细方法流程图。该实施例中,正常向数据巻写入数据时采用 的方法与现有技术中的第二种方法相同,即每隔一定的时间创建一个常规快 照,该常规快照用创建时的时刻进行标识,每个常规快照中数据的存储均采
用COFW的方式,直至下一个常规快照创建,仍假设每隔一个小时创建一 个常规快照,从9点到12点之间形成的快照的过程如图4所示。以下数据 恢复操作可以如图3所示,当接收到包含的要恢复到的时刻的数据恢复指令 后,该实施例中的方法可以包括以下步骤
步骤301:将要恢复到的时刻与快照巻中当前最末端的常规快照所对应 时刻进行比较;如果要恢复到的时刻小于最末端的常规快照所对应的时刻, 则执行步骤302;如果要恢复到的时刻等于最末端的常规快照所对应的时刻, 则执行步骤310;如果恢复到的时刻大于最末端的常规快照所对应的时刻, 则执行步骤311。
步骤302:将最末端的常规快照中的各数据写入对应的数据巻资源块, 并删除该最末端的常规快照。
步骤303:将要恢复的时刻与快照巻中当前最末端的常规快照所对应的 时刻进行比较,如果要恢复的时刻小于快照巻中当前最末端的常规快照所对 应的时刻,则执行步骤304;如果恢复的时刻等于快照巻中当前最末端的常 规快照所对应的时刻,则执行步骤305;如果恢复的时刻大于快照巻中当前 最末端的常规快照所对应的时刻,则执行步骤306。
步骤304:确定该最末端的常规快照中各数据所对应的数据巻资源块; 创建一个回滚快照以上一个删除的常规快照所对应时刻进行标识,将确定的 数据巻资源块中的数据存储在该回滚快照中,并将确定的常规快照中的各数 据写入对应的数据巻资源块中,删除该确定的常规快照,转至执行步骤303。
当多次循环执行步骤303和步骤304之后,可能会逐一删除多个常规快 照并相应创建多个回滚快照,创建的多个回滚快照按照创建时间的顺序也进 行链式排列,最后创建的回滚快照位于回滚快照链的最末端。步骤305:确定该最末端的常规快照中各数据所对应的数据巻资源块; 创建一个回滾快照以上一个删除的常规快照所对应时刻进行标识,将确定的 数据巻资源块中的数据存储在该回滚快照中,并将确定的常规快照中的各数 据写入对应的数据巻资源块中,删除该确定的常规快照,并将当前最末端的 常规快照与创建的回滚快照相关联,创建一个常规快照以要恢复到的时刻进 4亍标识,结束流牙呈。
步骤306:确定该最末端的常规快照中各数据所对应的数据巻资源块; 创建一个回滾快照以上一个被删除的常规快照所对应时刻进行标识,将确定 的数据巻资源块中的数据存储在该回滚快照中,并将确定的常规快照中的各 数据写入对应的数据巻资源块中,删除该确定的常规快照,并将当前最末端 的常规快照与创建的回滚快照相关联。
步骤307:确定与当前最末端的常规快照相关联的回滚快照中各数据对 应的数据巻资源块;创建 一 个常规快照以该回滚快照所对应时刻的上 一 时刻 进行标识,将确定的数据巻资源块中的数据存储在创建的常规快照中,并将 确定的回滚快照中的各数据写入对应的数据巻资源块中,删除该确定的回滚 快照。
步骤308:确定删除的回滚快照是否存在下一回滚快照,如果不存在, 则创建一个常规快照以要恢复到的时刻进行标识,结束流程;如果存在,则 执行步骤309。
步骤309:判断该下一回滚快照所对应的时刻是否小于或等于要恢复的 时刻,如果是,执行步骤307,否则,将该确定的回滚快照与当前最末端的 常规快照相关联,创建一个常规快照以要恢复到的时刻进行标识,结束流程。
步骤310:将最末端的常规快照中的各数据写入对应的数据巻资源块, 结束流程。
步骤311:将最末端的常规快照中的各数据写入对应的数据巻资源块, 并删除该最末端的常规快照,转至执行步骤307。
举一个例子在图4所示所形成的数据巻状况下,如果在11点至12点之间发生突发状况需要将数据巻恢复到IO点时的状况,则会向数据恢复装
置发送一个包含要恢复到IO点的数据恢复指令,在步骤301中确定出要恢 复的时刻小于快照巻当前最末端常规快照的时刻即11点,因此执行步骤 302,在步骤302中将最末端的常规快照即11点的常规快照中的各输入分别 写入对应的数据巻资源块B、 C和D中,并删除该11点的常规快照。此时, 回滚指针变为指向IO点的常规快照,即当前最末端的常规快照变为IO点。
然后,继续执行步骤303,将要恢复的时刻IO点与当前最末端的常规 快照所对应的时刻10点进行比较,确定要恢复的时刻与快照巻中当前最末 端的常规快照所对应的时刻相等,执行步骤305。确定该最末端快照中各数 据所对应的数据巻资源块为D和G,创建一个回滚快照以上一个被删除的常 规快照所对应的时刻进行标识,即11点进行标识。将数据巻中资源块D和 G的数据存储在创建的11点的回滚快照中,删除10点的常规快照,将11 点的回滚快照与当前最末端的常规快照即9点的常规快照相关联。为了保持 当前正常写入数据,因此,创建一个常规快照以要恢复到的时刻进行标识, 即创建一个IO点的常规快照,刚创建时该IO点的常规快照为空。此时恢复 到10点状态的流程可以结束,其恢复过程可以如图5所示。
如果此时仍在11点至12点之间,用户发现11点时数据巻的状况比较 好,想重新回到11点,则会向数据恢复装置发送一个包含要恢复到11点的 数据恢复指令,此时,在步骤301中确定要恢复到的时刻比当前最末端的常 规快照所对应的时刻大,执行步骤311,将作末端的常规快照即10点常规 快照中的数据写入对应的数据巻资源块,由于假设此时10点常规快照中尚 无数据,则不进行写入,直接删除该10点的常规快照,转至执行步骤307。 确定与当前最末端的常规快照即9点的常规快照相关联的回滚快照中各数 据对应的数据巻资源块,即D和G;创建一个常规快照以该回滚快照所对应 时刻的上一时刻进行标识,即创建一个IO点的常规快照,将数据巻资源块 D和G中的数据4和7存储在10点的常规快照,再将11点的回滚快照中的 各数据13和14写入数据巻的资源块D和G,删除该11点的回滚快照。继续执行步骤308,判断11点的回滚快照是否存在下一回滚快照,该实施例 中不存在,则创建一个常规快照以要恢复到的时刻进行标识,即创建一个 ll的常规快照,结束流程。该数据恢复过程如图6所示。
如果11点的回滚快照的下一回滚快照为12的回滚快照,并且要恢复到 的时刻为12点,则在步骤308中可以判断出下一回滚快照所对应的时刻等 于要恢复的时刻,则利用12点的回滚快照,继续循环到步骤307进行恢复 操作。
本发明所提供的上述数据恢复的方法并不会影响对数据巻正常的数据 读写,可以按照现有技术的方案进行正常数据读写,在此举一个例子,假设 用户数据恢复到IO点即图5所示的状况后,不再重新恢复到11点的状况, 而是继续进行数据巻正常的数据写入,例如,仍在11点至12点的时间段内, 对数据巻资源块E、 F和H要分别写入数据18、 19和20,则按照现有技术 中的方式,先将数据巻资源块E、 F和H中的数据先存储在10点常规快照 中,然后向数据巻资源块E、 F和H分別写入数据18、 19和20;在12点至 13点之间向数据巻资源块A和B中分别写入数据21和22,则先将数据巻 资源块A和B中的数据先存储在12点创建的12点常规快照中,然后向数 据巻资源块A和B中分别写入数据21和22。该过程可以如图7所示。
如果此时,用户要恢复到11点时的状态,则可以按照图3所述的流程 执行,执行过程会先利用IO点的常规快照使数据巻从当前状况恢复到10点 的状况,再利用与9点的常规快照存在关联的11点的回滚快照恢复到11点 的状况,其过程如图8所示。具体为在步骤301中首先判断要恢复的时刻 11点小于当前最末端的常规快照所对应的时刻即12点,执行步骤302,将 最末端的常规快照即12点的常规快照中的各数据写入对应的数据巻资源 块,并删除12点的常规快照。继续执行步骤303,将11点继续与当前最末 端的常规快照所对应的时刻10点进行比较后,转至执行步骤306。确定10 点常规快照中各数据所对应的数据巻资源块E、 F和H,创建一个回滚快照 以上一个被删除的常规快照所对应的时刻进行标识,即12点回滚快照,将确定的数据巻资源块E、 F和H中的数据18、 19和20存储在12点回滚快 照中,删除10点常规快照,将9点常规快照和12点回滾快照相关联。执行 步骤307,确定与9点相关联的回滾快照,如果在步骤307中发现与9点关 联的回滚快照有两个,即12点的回滚快照和11点的回滚快照,则选择其中 小于或等于要恢复到的时刻的回滚快照,在该例子中即选择11点的回滚快 照,确定11点回滚快照中各数据对应的数据巻资源块,即资源块D和G, 创建一个IO点的常规快照,将数据巻资源块中的数据存储在IO点的常规快 照中,并将数据巻资源块D和G中的数据4和7存储在10点的常规快照中, 将11点回滚快照中的各数据写入对应的数据巻资源块中,删除11点的回滚 快照,在步骤308中判断不存在下一个回滚快照,并创建一个ll点的常规 快照,结束流程。
常规快照和回滚快照占用的都是快照巻的资源,由于通常发生突发状况 的时候才会进行数据恢复,因此,回滚快照中存储的可能是问题数据或无用 数据,所以,当快照巻的资源已满需要释放一些快照时,可以首先选择将回 滚快照按照创建的先后顺序,将创建时间较早的回滚快照删除来释放快照巻 的资源,从而保证常规快照链的存在。对回滚快照进行删除可以采用对最顶 端的回滚快照进行溢出式的自动删除,也可以采用手动的方式对较早创建的 回滚快照进行删除。
从上述方法中可以看出,本发明能够建立用于存储在数据恢复过程中数据 巻中被替换掉的数据,具体为在进行数据恢复的过程中,将快照中的数据写 入相应的数据巻资源块前,如果数据巻资源块中将被替换的数据具有对应的常 规快照时刻,则创建一个回滚快照,并以被替换的数据对应的常规快照时刻进 行标识,将当前最末端的常规快照中的数据写入对应的数据巻资源块,并删除 当前最末端的常规快照,直到数据恢复过程停止,将当前最末端的常规快照与 创建的回滚快照相关联。
并且,可以利用建立的上述回滚快照恢复数据,在数据恢复过程中,当 所要恢复的时刻大于当前最末端的常规快照所对应的时刻时,将当前最末端的常规快照中的数据写入对应的数据巻资源块后,删除当前最末端的常规快 照;确定与当前最末端的常规快照相关联的回滚快照中各数据对应的数据巻
资源块;创建 一 个常规快照以该回滚快照所对应时刻的上 一 时刻进行标识, 将确定的数据巻资源块中的数据存储在创建的常规快照中,并将确定的回滚 快照中的各数据写入对应的数据巻资源块中,删除所述确定的回滚快照。
以上是对本发明所提供的方法进行的描述,下面对本发明提供的装置进行 详细描述。图9为本发明实施例提供的装置结构图,如图9所示,该装置可以 包括第一比较单元901、第一处理单元902、第二比较单元903、第二处理单 元904、第三处理单元卯5和第一关联单元906。
第一比较单元901,用于接收到包含要恢复到的时刻的数据恢复指令后, 将要恢复到的时刻与数据巻中当前最末端的常^L快照所对应的时刻进行比较, 如果要恢复到的时刻小于当前最末端的常规快照所对应的时刻,则向第 一处理 单元902发送第一处理通知。
第一处理单元902,用于接收到第一处理通知后,将最末端的常规快照中 的各数据写入对应的数据巻资源块,删除该最末端的常规快照,并向第二比较 单元903发送第一比较通知。
第二比较单元903,用于接收到第一比较通知后,将要恢复到的时刻与数 据巻中当前最末端的常规快照所对应的时刻进行比较,如果所述要恢复到的时 刻小于当前最末端的常规快照,则向第二处理单元904发送第二处理通知;如 果所述要恢复到的时刻等于当前最末端的常规快照,则向第三处理单元905发 送第三处理通知。
第二处理单元904,用于接收到第二处理通知后,确定当前最末端的常规 快照中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规 快照所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该回滚快 照中,并将当前最末端的常规快照中的各数据写入对应的数据巻资源块,删除 当前最末端的常规快照,并向所述第二比较单元903发送第一比较通知。
第三处理单元905,用于接收到第三处理通知后,确定当前最末端的常规快照中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规 快照所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该回滚快 照中,将当前最末端的常规快照中的各数据写入对应的数据巻资源块,删除该 最末端的常规快照,向第 一关联单元卯6发送关联通知。
第一关联单元906,用于接收到关联通知后,将当前最末端的常规快照与
创建的回滚快照相关联,创建一个常规快照以要恢复到的时刻进行标识。
更进一步地,该装置还可以包括第四处理单元卯7。
第一比较单元901,还用于如果确定要恢复到的时刻等于当前最末端的常 规快照所对应的时刻,向第四处理单元907发送第四处理通知。
第四处理单元907,用于接收到第四处理通知后,将当前最末端的常规快 照中的各数据写入对应的数据巻资源块。
另外,该装置还可以包括第五处理单元908、第六处理单元909和第三 比较单元910。
第一比较单元901,还用于如果确定要恢复到的时刻大于当前最末端的常 规快照所对应的时刻,向第五处理单元908发送第五处理通知。
第五处理单元908,用于接收到第五处理通知后,将最末端的常规快照中 的各数据写入对应的凄t据巻资源块,并删除该最末端的常My决照后,向第六处 理单元909发送第六处理通知。
第六处理单元909,用于接收到第六处理通知后,确定与当前最末端的常 规快照相关联的回滚快照中各数据对应的数据巻资源块,创建一个常规快照以 该回滚快照所对应时刻的上一时刻进行标识,将确定的数据巻资源块中的数据 存储在该创建的常M/决照中,并将确定的回滚快照中的各数据写入对应的数据 巻资源块中,删除该确定的回滚快照,向第三比4交单元910发送第二比较通知;
第三比较单元910,用于接收到第二比较通知后,确定删除的回滚快照的 下一回滚快照,判断该确定的回滚快照所对应的时刻是否小于或等于要恢复的 时刻,如果是,向第六处理单元909发送第六处理通知;如果否,则向第一关 联单元906发送关联通知。更优地,在第六处理单元和第三比较单元之间还包括判断处理单元911, 用于接收第二比较通知,判断第六处理单元909删除的回滚快照是否存在下一 回滚快照,如果是,则将第二比较通知发送给第三比较单元910;否则创建一 个常规快照以要恢复的时刻进行标识。
更进一步地,该装置还可以包括第七处理单元912。
第二比较单元903,还可以用于如果确定要恢复到的时刻大于当前最末端 的常规快照,则向第七处理单元912发送第七处理通知;
第七处理单元912,用于接收到第七处理通知后,确定当前最末端的常规 快照中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规 快照所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该创建的 回滚快照中,并将当前最末端的常规快照中各数据写入对应的数据巻资源块中, 删除当前最末端的常规快照,并将执行该删除操作后当前最末端的常规快照与 创建的回滚快照相关联,向第六处理单元909发送第六处理通知。
另外,上述第六处理单元909接收到第六处理通知后,如果与当前最末端 的常规快照相关联的回滚快照数目大于1,则从相关联的回滚快照中选择对应 时刻小于或等于要恢复到的时刻的回滚快照,并确定该选择的回滚快照中各数 据对应的数据巻资源块。
该装置还可以包括常规处理单元(在图中未示出)用于以固定的时间间 隔创建常规快照,并以创建时的时刻进行标识;在按照常规的方式向数据巻写 入数据时,如果要进行写入操作的数据巻资源块中的数据在当前时间段内是第 一次发生变化,则在写入数据之前,将要进行写入操作的数据巻资源块中的数 据存储在当前最末端的常规快照中。该常规处理单元是现有技术已有的单元, 在此不再赘述。
另外,该装置还可以包括删除处理单元(图中未示出)用于在快照巻资 源已满时,按照创建时间先后顺序对回滚快照进行溢出式删除,或者,按照用 户指令对回滚快照进行删除。
由以上描述可以看出,利用本发明提供的方法和装置进行数据恢复时,在将最末端的常规快照写入对应的数据巻资源块后,会及时将使用过的常规 快照删除,并在后续数据恢复过程中,每利用常规快照进行回滚操作,即将 常规快照中的数据写入对应的数据巻资源块后,及时删除使用过的常规快照 并相应创建 一个回滚快照用来存储数据巻资源块中替换掉的数据,以保证回 滚掉的状态也能够再次恢复。而现有技术中的方式在进行数据恢复过程中不 仅保留常规快照,还会在当前时间段对应的常规快照中重复存储数据巻资源 块中替换掉的数据,而本发明建立相应的回滚快照后会立即删除相应的常规 快照,不会额外占用快照巻的资源,很显然,本发明相对于现有技术中的方 法在数据恢复过程中能够占用较少的快照巻资源,更加节约快照巻空间。
更优地,本发明能够利用回滚快照中存储的数据方便地将回滚掉的状态 进行恢复,从而避免了因错误操作而丟失数据,又保证了快照巻资源的有效 利用,由于不需要在数据恢复过程中仍在当前时间点对应的常规快照中频繁 写入数据,因此,大大提升了数据恢复的速度。
更优地,当快照巻中已满时,可以将回滚快照中的数据进行溢出式删除 或手动选择删除,由于回滚快照相对于常规快照中的数据通常为问题数据或 无用的数据,因此,这种方式能够尽可能的保证有用数据的保存。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
权利要求
1、一种采用快照恢复数据的方法,其特征在于,当接收到包含要恢复到的时刻的数据恢复指令后,执行以下步骤A、将要所述要恢复到的时刻与数据卷中当前最末端的常规快照所对应的时刻进行比较,如果所述要恢复到的时刻小于当前最末端的常规快照所对应的时刻,则将最末端的常规快照中的各数据写入对应的数据卷资源块,并删除该最末端的常规快照;B、将所述要恢复到的时刻与数据卷中当前最末端的常规快照所对应的时刻进行比较,如果所述要恢复到的时刻小于当前最末端的常规快照,则执行步骤C;如果所述要恢复到的时刻等于当前最末端的常规快照,则执行步骤D;C、确定当前最末端的常规快照中各数据所对应的数据卷资源块,创建一个回滚快照以上一个删除的常规快照所对应的时刻进行标识,将确定的数据卷资源块中的数据存储在该回滚快照中,并将当前最末端的常规快照中的各数据写入对应的数据卷资源块,删除当前最末端的常规快照,转至执行步骤B;D、确定当前最末端的常规快照中各数据所对应的数据卷资源块,创建一个回滚快照以上一个删除的常规快照所对应的时刻进行标识,将确定的数据卷资源块中的数据存储在该回滚快照中,将当前最末端的常规快照中的各数据写入对应的数据卷资源块,删除该最末端的常规快照,并将执行删除操作后当前最末端的常规快照与创建的回滚快照相关联,创建一个常规快照以要恢复到的时刻进行标识。
2、 根据权利要求1所述的方法,其特征在于,在所述步骤A中,如果所 述要恢复到的时刻等于当前最末端的常规快照所对应的时刻,则将当前最末端 的常规快照中的各数据写入对应的数据巻资源块,结束流程。
3、 根据权利要求1所述的方法,其特征在于,在所述步骤A中,如果所 述要恢复到的时刻大于当前最末端的常规快照所对应的时刻,则执行以下步骤E、 将最末端的常规快照中的各数据写入对应的数据巻资源块,并删除该最末端的常规快照;F、确定与当前最末端的常规快照相关联的回滚快照中各数据对应的数据巻 资源块,创建一个常规快照以该回滚快照所对应时刻的上一时刻进行标识,将 确定的数据巻资源块中的数据存储在该创建的常规快照中,并将确定的回滚快 照中的各数据写入对应的数据巻资源块中,删除该确定的回滚快照;G 、确定删除的回滚快照的下 一 回滚快照,判断该确定的回滚快照所对应 的时刻是否小于或等于所述要恢复的时刻,如果是,则转至扭J亍步骤F,否则, 将确定的回滚快照与当前最末端的常规快照相关联,创建一个常规快照以所述 要恢复到的时刻进行标识。
4、 根据权利要求3所述的方法,其特征在于,在所述步骤F之后且步骤G 之前,还包括判断删除的回滾快照是否存在下一回滚快照,如果是,则继续 执行所述步骤G,否则,创建一个常规快照以所述要恢复到的时刻进行标识。
5、 根据权利要求3所述的方法,其特征在于,在所述步骤B中,如果所述 要恢复到的时刻大于当前最末端的常规快照,则执行以下步骤H、确定当前最末端的常规快照中各数据所对应的数据巻资源块,创建一 个回滚快照以上一个删除的常规快照所对应的时刻进行标识,将确定的数据巻 资源块中的数据存储在该创建的回滚快照中,并将当前最末端的常规快照中各 数据写入对应的数据巻资源块中,删除当前最末端的常规快照,并将执行该删 除操作后当前最末端的常规快照与创建的回滚快照相关联;执行所述步骤F。
6、 根据权利要求3或5所述的方法,其特征在于,在步骤F中如果与当前 最末端的常规快照相关联的回滚快照数目大于1,则从相关联的回滚快照中选 择所对应时刻小于或等于要恢复到的时刻的回滚快照,所述确定的操作为确 定该选择的回滚快照中各数据对应的数据巻资源块。
7、 根据权利要求1至5任一权项所述的方法,其特征在于,该方法还包括 以固定的时间间隔创建常规快照,并以创建时的时刻进行标识;在按照常规的方式向数据巻写入数据时,如果要进行写入操作的数据巻资 源块中的数据在当前时间段内是第一次发生变化,则在写入数据之前,将要进行写入操作的数据巻资源块中的数据存储在当前最末端的常规快照中。
8、 根据权利要求1至5任一权项所述的方法,其特征在于,如果快照巻的 资源已满,则按照创建时间先后顺序对回滚快照进行溢出式删除或手动删除。
9、 一种采用快照恢复数据的装置,其特征在于,该装置包括 第一比较单元,用于接收到包含要恢复到的时刻的数据恢复指令后,将要恢复到的时刻与数据巻中当前最末端的常规快照所对应的时刻进行比较,如果 要恢复到的时刻小于当前最末端的常规快照所对应的时刻,则向第一处理单元 发送第一处理通知;第一处理单元,用于接收到第一处理通知后,将最末端的常规快照中的各 数据写入对应的数据巻资源块,删除该最末端的常规快照,并向第二比较单元 发送第一比较通知;第二比较单元,用于接收到第一比较通知后,将要恢复到的时刻与数据巻 中当前最末端的常规快照所对应的时刻进行比较,如果所迷要恢复到的时刻小 于当前最末端的常规快照,则向第二处理单元发送第二处理通知;如果所述要 恢复到的时刻等于当前最末端的常规快照,则向第三处理单元发送第三处理通 知;第二处理单元,用于接收到第二处理通知后,确定当前最末端的常-见快照 中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常^L快照 所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该回滚快照中, 并将当前最末端的常规快照中的各数据写入对应的数据巻资源块,删除当前最 末端的常规快照,并向所述第二比较单元发送第一比较通知;第三处理单元,用于接收到第三处理通知后,确定当前最末端的常规快照 中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规快照 所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该回滚快照中, 将当前最末端的常规快照中的各数据写入对应的数据巻资源块,删除该最末端 的常规快照,向第一关联单元发送关联通知;第一关联单元,用于接收到关联通知后,将当前最末端的常规快照与创建的回滚快照相关联,创建一个常规快照以要恢复到的时刻进行标识。
10、 根据权利要求9所述的装置,其特征在于,该装置还包括第四处理单元;所述第一比较单元,还用于如果确定要恢复到的时刻等于当前最末端的常规快照所对应的时刻,向所述第四处理单元发送第四处理通知;所述第四处理单元,用于接收到第四处理通知后,将当前最末端的常规快 照中的各数据写入对应的数据巻资源块。
11、 根据权利要求9所述的装置,其特征在于,该装置还包括第五处理 单元、第六处理单元和第三比较单元;所述第 一比较单元,还用于如果确定要恢复到的时刻大于当前最末端的常 Mv决照所对应的时刻,向所述第五处理单元发送第五处理通知;所述第五处理单元,用于接收到第五处理通知后,将最末端的常规快照中 的各数据写入对应的数据巻资源块,并删除该最末端的常规快照后,向所述第 六处理单元发送第六处理通知;所述第六处理单元,用于接收到第六处理通知后,确定与当前最末端的常 规快照相关联的回滚快照中各数据对应的数据巻资源块,创建一个常规快照以 该回滚快照所对应时刻的上一时刻进行标识,将确定的数据巻资源块中的数据 存储在该创建的常规快照中,并将确定的回滚快照中的各数据写入对应的数据 巻资源块中,删除该确定的回滚快照,向所述第三比较单元发送第二比较通知;所述第三比较单元,用于接收到第二比较通知后,确定所述第六处理单元 删除的回滚快照的下一回滚快照,判断该确定的回滚快照所对应的时刻是否小 于或等于所述要恢复的时刻,如果是,向所述第六处理单元发送第六处理通知; 如果否,则向所述第一关联单元发送关联通知。
12、 根据权利要求11所述的装置,其特征在于,在所述第六处理单元和第 三比较单元之间还包括判断处理单元,用于接收所述第二比较通知,判断所 述第六处理单元删除的回滚快照是否存在下一回滚快照,如果是,则将所述第 二比较通知发送给所述第三比较单元;否则创建一个常规快照以所述要恢复的时刻进4t标识。
13、 根据权利要求IO所述的装置,其特征在于,该装置还包括第七处理 单元;所述第二比较单元,还用于如果确定所述要恢复到的时刻大于当前最末端的常规快照,则向所述第七处理单元发送第七处理通知;所述第七处理单元,用于接收到第七处理通知后,确定当前最末端的常规 快照中各数据所对应的数据巻资源块,创建一个回滚快照以上一个删除的常规 快照所对应的时刻进行标识,将确定的数据巻资源块中的数据存储在该创建的 回滚快照中,并将当前最末端的常规快照中各数据写入对应的数据巻资源块中, 删除当前最末端的常规快照,并将执行该删除操作后当前最末端的常规快照与 创建的回滚快照相关联,向第六处理单元发送第六处理通知。
14、 根据权利要求11或13所述的装置,其特征在于,所述第六处理单元 接收到所述第六处理通知后,如果与当前最末端的常规快照相关联的回滚快照 数目大于1,则从相关联的回滚快照中选择所对应时刻小于或等于要恢复到的 时刻的回滚快照,并确定该选择的回滚快照中各数据对应的数据巻资源块。
15、 根据权利要求9至13任一权项所述的装置,其特征在于,该装置还包 括常规处理单元,用于以固定的时间间隔创建常规快照,并以创建时的时刻 进行标识;在按照常规的方式向数据巻写入数据时,如果要进行写入操作的数 据巻资源块中的数据在当前时间段内是第一次发生变化,则在写入数据之前, 将要进行写入操作的数据巻资源块中的数据存储在当前最末端的常规快照中。
16、 根据权利要求9至13任一权项所述的装置,其特征在于,该装置还包 括删除处理单元,用于在快照巻资源已满时,按照创建时间先后顺序对回滚 快照进行溢出式删除,或者,按照用户指令对回滚快照进行删除。
17、 一种建立回滚快照的方法,所述回滚快照用于存储在数据恢复过程中 数据巻中被替换掉的数据,其特征在于,该方法包括在进行数据恢复的过程中,将快照中的数据写入相应的数据巻资源块前, 如果数据巻资源块中将被替换的数据具有对应的常规快照时刻,则创建一个回滚快照,并以被替换的数据对应的常规快照时刻进行标识,将当前最末端的常 规快照中的数据写入对应的数据巻资源块,并删除当前最末端的常规快照,直 到数据恢复过程停止,将当前最末端的常规快照与创建的回滚快照相关联。
18、 一种利用如权利要求17所釆用的方法建立的回滚快照恢复数据的 方法,其特4正在于,该方法包括在数据恢复过程中,当所要恢复的时刻大于当前最末端的常规快照所对 应的时刻时,将当前最末端的常规快照中的数据写入对应的数据巻资源块 后,删除当前最末端的常规快照;确定与当前最末端的常规快照相关联的回滚快照中各数据对应的数据 巻资源块;创建 一 个常规快照以该回滚快照所对应时刻的上 一 时刻进行标 识,将确定的数据巻资源块中的数据存储在创建的常规快照中,并将确定的 回滚快照中的各数据写入对应的数据巻资源块中,删除所述确定的回滚快 照。
全文摘要
本发明提供的采用快照恢复数据的方法和装置,在将最末端的常规快照写入对应的数据卷资源块后,会及时将使用过的常规快照删除,并在后续数据恢复过程中,每利用常规快照进行回滚操作,即将常规快照中的数据写入对应的数据卷资源块后,及时删除使用过的常规快照并相应创建一个回滚快照用来存储数据卷资源块中替换掉的数据,以保证回滚掉的状态也能够再次恢复。本发明在数据恢复过程中能够占用较少的快照卷资源,更加节约快照卷空间。
文档编号G06F11/14GK101419564SQ200810239360
公开日2009年4月29日 申请日期2008年12月11日 优先权日2008年12月11日
发明者迪 周, 策 孙, 杨西平 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1