CN101777017A - 一种连续数据保护系统的快速恢复方法 - Google Patents
一种连续数据保护系统的快速恢复方法 Download PDFInfo
- Publication number
- CN101777017A CN101777017A CN201019185017A CN201019185017A CN101777017A CN 101777017 A CN101777017 A CN 101777017A CN 201019185017 A CN201019185017 A CN 201019185017A CN 201019185017 A CN201019185017 A CN 201019185017A CN 101777017 A CN101777017 A CN 101777017A
- Authority
- CN
- China
- Prior art keywords
- data
- cdp
- data block
- mapping table
- piece
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种连续数据保护系统的快速恢复方法。在生成某一时间点的磁盘映像时,CDP系统不需要获取磁盘全部数据块的映射关系,而是当计算机读取磁盘映像的某一个数据块时,CDP系统从日志中获取该数据块的映射关系,再从CDP数据区中获取数据块内容。该方法实现了磁盘数据块的按需恢复,能够在较短的时间内为用户提供任意时间点的磁盘映像。
Description
技术领域
本发明属于数据保护容灾备份技术领域,涉及一种块级连续数据保护系统的快速恢复方法。
背景技术
在处理信息数据时,为保护重要的数据信息,通常采用数据备份技术,以便在数据不可用时能从备份介质中恢复数据。但是在恢复数据时,两次备份之间的数据将会丢失。对于一些关键的信息系统,所能容忍的数据丢失量,即恢复点目标(RPO,Recovery Point Object)要尽可能的低,这就需要应用连续数据保护(CDP,Continuous Data Protection)技术。
CDP技术是将更改过的所有数据按时间顺序保存下来,在系统每次写操作时,都会生成带有时间戳的数据块版本,从而在恢复数据时能够获取任意一个时间点的数据状态。其中,块级CDP是将一个磁盘,即逻辑单元(LUN,LogicalUnit)划分为固定大小的数据块,并以数据块为单位记录数据变化,其特点是与应用的耦合比较低,性能和效率优于文件级CDP。
当需要恢复数据到某个指定的时间点时,带有块级CDP的系统可以从开始时间点遍历所有已经记录的修改过的数据块,一直到指定的时间点,从而恢复该时间点的数据状态,即,获得该时间点的磁盘的每一个逻辑块地址(LBA,Logical Block Address)与CDP所记录的数据块之间的映射关系。
为了缩短遍历时间,通常需要在CDP中定期产生数据快照,将某个时刻的映射关系存储起来。当要恢复快照时刻的数据时,就可以直接获得映射关系,也就无需再遍历CDP日志。当要恢复数据到其它时间点时,可从该时间点之前的那一次快照开始,遍历CDP日志直到该时间点,即可获得映射关系,也就无须从开始时间点遍历。
要恢复到任意时间点的数据,则需要从该时间点的上一次快照开始,遍历CDP日志,以获得该时间点的映射关系。该时间点与上次快照之间的时间间隔越长,日志区中的数据变化量相应增加,恢复所需的时间也就越长。
在恢复数据时,CDP为磁盘的所有数据块重建映射表之后,将产生一个磁盘映像供用户使用。但是,即使用户只需从CDP提供的磁盘映像中恢复少量文件或查看个别文件的内容,即,即使只需读取磁盘映像中的一小部分数据块,也必须等待CDP系统遍历日志区以获得所有数据块的映射表之后,才能使用磁盘映像。这就使得数据恢复过程较为耗时,无法做到快速恢复。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种在块级CDP系统中对任意时间点数据的快速恢复方法。在生成某一时间点的磁盘映像时,CDP系统不需要获取磁盘全部数据块的映射关系,而是当计算机读取磁盘映像的某一个数据块时,CDP系统从日志中获取该数据块的映射关系,再从CDP数据区中获取数据块内容。该方法实现了磁盘数据块的按需恢复,能够在较短的时间内为用户提供任意时间点的磁盘映像。
为实现上述目的,本发明所采用的技术方案如下:
一种连续数据保护系统的快速恢复方法。
CDP系统维护一张映射表,该表记录了磁盘中所有数据块的最后一次修改操作。对于每一个写入的数据块,CDP系统均生成一个链表节点,也就是生成一个记录该写操作的CDP元数据。CDP系统在该链表节点中记录下数据块的块号,并设置本节点的一个后向链接字段,以及映射表中相应块号的最后一次修改位置。数据块和链表节点分别写入CDP日志。
当需要恢复系统到某个指定时间点时,首先建立一个临时映射表,并将其中的内容全部设为-1。之后,将磁盘映像作为一个逻辑单元(LUN)提供给计算机使用。
当计算机对磁盘映像发起读请求时,CDP系统根据读请求中的数据块号,获得临时映射表的对应表项。当表项内容为-1时,从系统当前映射表开始,通过后向链接向前查找,一直查找到指定时间点之前的最新节点,此时,获取到该时间点此数据块在CDP日志数据区中的位置(即块号),并将它保存到临时映射表的对应表项中。
然后,根据临时映射表的表项内容,从CDP日志数据区中读出数据块内容,并返回给计算机。
本发明的有益效果是:
1)无需遍历CDP日志即可提供磁盘映像。当计算机读取磁盘映像的某个数据块时,CDP系统根据链表从CDP元数据中获取该数据块的映射关系,实现磁盘数据块的按需恢复。尤其适合于用户需要快速建立磁盘映像,读取其中一小部分文件的情况。
2)不依赖快照即可进行数据快速恢复。通过在CDP元数据中加入链接信息,使得可以从当前时间点快速回溯到指定的时间点,而不必从CDP日志的开始时间点或快照时间点开始遍历。
附图说明
图1为本发明的数据结构示意图;
图2本发明实施例中的后向链接示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述。
一种连续数据保护系统的快速恢复方法,其技术方案如下:
首先对CDP日志及元数据结构进行描述,如图1所示。
1、CDP日志
CDP日志包括数据区和元数据区。数据区用于保存数据块;元数据区用于保存链表节点,即CDP元数据。
数据区记录每一次数据块写操作的数据内容。数据区由M个数据块组成,块的编号为0≤k≤M-1。数据块的大小根据文件系统或上层应用的最小访问粒度确定(例如每块大小为4KB),将整个磁盘划分N个数据块,块地址的范围为0到N-1。
2、链表节点
链表节点作为CDP元数据,包括2个字段:数据块的块号、后向链接字段。每一个链表节点对应于一个数据块写操作。
链表节点在CDP日志的元数据区中顺序存放。日志能容纳的节点数为M,链表节点的序号为从1到M-1,节点记为Ck(1≤k≤M-1)。CDP系统不使用链表节点0。同时,设置一个计数器,从1开始计数,每当记录一个数据块写操作(即,在日志中加入一个CDP元数据)后,计数器便加1。链表节点的序号就是当前时刻计数器的计数值。
对于第k个数据块写操作(即,计数器为k时接收到的写操作,1≤k≤M-1),CDP系统把要写入该数据块的数据保存到CDP日志的数据区中,块地址为k,并把这个操作的元数据存储在链表节点Ck中。Ck中存储的内容为:
Ck.L:该数据块的块号L
Ck.r:后向链接,即,该数据块的上一次写操作的元数据节点序号r
图2表示了15次数据块写操作的链表节点。由图2中可以看出,共有8个数据块,块号为0至7。其中,数据块5未被写入。每个链表节点表示一次数据块写入操作,图中的横坐标是链表节点C1至C15的时刻,纵坐标是写入的数据块块号。例如,数据块6在时刻7和时刻13被写入,生成C7、C13。图中实线箭头表示后向链接。
3.映射表S
CDP系统在内存中设置一个映射表S,表中一共N项,每一项记录当前时刻每个磁盘数据块的最后一次修改操作,即,记录该操作的链表节点(CDP元数据)的序号。节点序号为0,表示该数据块未被修改。映射表S中的每一项在系统初始化时被置为0。
4.临时映射表W
在恢复某时间点k的数据状态时,CDP系统在内存中建立一个临时映射表W,表W一共有N项,在初始化时均被置为-1,并提供一个磁盘映像供计算机访问。当计算机读取磁盘映像某个数据块时,CDP系统通过临时映射表W获取该磁盘数据块在时间点k前的最后一次修改操作位置,即该操作的节点序号。节点序号为0时,表示该数据块在时间点k时未被修改。节点序号为-1时,表示该数据块的位置尚未确定。
5.秒级索引I
CDP系统设置一个索引表,每一秒在索引表的末尾增加一项,记录当前时刻计数器的计数值。由此使恢复时间点能够精确到秒级。
6.磁盘原始数据区R
磁盘原始数据区的容量和要保护的磁盘相同,其容纳了N个数据块。在建立CDP系统时,将磁盘上的所有数据块复制到磁盘原始数据区。
下面具体说明在CDP系统中针对某次写操作的数据恢复过程。
CDP系统设置并维护映射表S,表S记录磁盘中所有数据块的最后一次修改操作。记录数据块写入操作的方法具体如下:
CDP系统中记录一个磁盘数据块写操作,块号为B,0≤B≤N-1,要写入该块的原始数据为D。其流程如下:
首先,取得当前计数器的计数值为k,计数值加1。若k大于等于数据区数据块最大数M,说明日志区已满,系统不再记录数据块写操作。若k小于M,将原始数据D写入到日志的数据区k。
然后,构造此次数据块写操作的元数据,即链表节点Ck,Ck的2个字段Ck.L、Ck.r:
a)Ck.L=B,即记录该数据块对应的块号。
b)Ck.r=S[B],本链表节点Ck的后向链接指向该数据块的上一次修改位置,
即上一次修改操作的链表节点在CDP元数据区中的序号。
最后,更新映射表S,S[B]=k。
当需要恢复系统到用户指定的时间点时,CDP系统建立该时刻的磁盘映像供计算机访问。首先,在秒级索引I中获取该时刻的计数值,记为k。然后,将临时映射表W中的每一项初始化为-1。最后,使用临时映射表W构造一个虚拟磁盘,作为一个逻辑单元(LUN)供计算机访问。
在建立指定时间点k的磁盘映像后,CDP系统就接受计算机对磁盘映像的读取请求。从计算机的角度看,磁盘映像保存某一时刻所有磁盘数据块的内容,当收到一个读请求后,系统按顺序执行以下步骤:
首先,从读请求中获取数据块号B。
然后,读取临时映射表W中数据块号B的表项内容,即W[B]。如果W[B]=-1,则从当前映射表S中读取S[B],并从节点CS[B]开始,沿着后向链接查找。若查找过程中某链表节点Ci的序号i≤k,则记录W[B]=i,查找结束;如果链表中某个链表节点的后向链接Cj.r=0,数据块B在时间点k之前没有被修改,设置W[B]=0,查找结束。
如果W[B]=0,则直接从磁盘原始数据读出数据块(块号为B)返回给计算机;否则在CDP日志数据区中读出数据块(块号为W[B])返回给计算机R。
实施例
例如,在图2中,当前时刻为15,则当前系统映射表S的内容为:
S[0] S[1] S[2] S[3] S[4] S[5] S[6] S[7]
9 | 10 | 11 | 15 | 12 | 0 | 13 | 14 |
要建立指定时间点k=7的磁盘映像,要初始化一张临时映射表W,其中各项的值全部为-1。
若此时收到读请求,要读取块号为3(B=3)的数据块。由于W[3]=-1,S[3]=15,该数据块的后向链接节点为C15、C6、C3。查找过程中,沿该链表一直查找到C6才满足条件(i=6,6≤7),设置W[3]=6,将CDP日志数据区中块号为6的数据块读出,返回给计算机。以后,如果计算机要读取数据块3时,由于W[3]=6,直接从日志数据区中读出块号为6的数据块即可,而不需遍历后向链表。
若又收到读请求,要读取块号为7(B=7)的数据块。该数据块的后向链接节点为C14、C8。查找过程中,没有满足条件(i≤k)的节点Ci,设置W[7]=0,从磁盘原始数据区中读出数据块(块号为7),返回给计算机。
Claims (2)
1.一种连续数据保护系统的快速恢复方法,其特征在于:
CDP系统维护一张映射表,该表记录了磁盘中所有数据块的最后一次修改操作;对于每一个写入的数据块,CDP系统均生成一个链表节点,也就是生成一个记录该写操作的CDP元数据;CDP系统在该链表节点中记录下数据块的块号,并设置本节点的一个后向链接字段,以及映射表中相应块号的最后一次修改位置;数据块和链表节点分别写入CDP日志;
当需要恢复系统到某个指定时间点时,首先建立一个临时映射表,并将其中的内容全部设为-1;之后,将磁盘映像作为一个逻辑单元提供给计算机使用;
当计算机对磁盘映像发起读请求时,CDP系统根据读请求中的数据块号,获得临时映射表的对应表项;当表项内容为-1时,从系统当前映射表开始,通过后向链接向前查找,一直查找到指定时间点之前的最新节点,此时,获取到该时间点此数据块在CDP日志数据区中的位置,并将它保存到临时映射表的对应表项中;
然后,根据临时映射表的表项内容,从CDP日志数据区中读出数据块内容,并返回给计算机。
2.如权利要求1所述的一种连续数据保护系统的快速恢复方法,其特征在于,记录数据块写操作的方法具体如下:
CDP系统中记录一个磁盘数据块写操作,块号为B,0≤B≤N-1,要写入该块的原始数据为D,其流程如下:
首先,取得当前计数器的计数值为k,计数值加1;若k大于等于数据区数据块最大数M,说明日志区已满,系统不再记录数据块写操作;若k小于M,将原始数据D写入到日志的数据区k;
然后,构造此次数据块写操作的元数据,即链表节点Ck,Ck的2个字段Ck.L、Ck.r:
a)Ck.L=B,即记录该数据块对应的块号;
b)Ck.r=S[B],本链表节点Ck的后向链接指向该数据块的上一次修改位置,即上一次修改操作的链表节点在CDP元数据区中的序号;
最后,更新映射表S,S[B]=k。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010191850178A CN101777017B (zh) | 2010-02-08 | 2010-02-08 | 一种连续数据保护系统的快速恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010191850178A CN101777017B (zh) | 2010-02-08 | 2010-02-08 | 一种连续数据保护系统的快速恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101777017A true CN101777017A (zh) | 2010-07-14 |
CN101777017B CN101777017B (zh) | 2012-04-25 |
Family
ID=42513486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010191850178A Active CN101777017B (zh) | 2010-02-08 | 2010-02-08 | 一种连续数据保护系统的快速恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101777017B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521269A (zh) * | 2011-11-22 | 2012-06-27 | 清华大学 | 一种基于索引的计算机连续数据保护方法 |
CN103902406A (zh) * | 2012-12-31 | 2014-07-02 | 杨威锋 | 高可靠性固态存储设备的映射表信息的保存和恢复技术 |
CN104866435A (zh) * | 2015-06-06 | 2015-08-26 | 成都云祺科技有限公司 | 一种连续数据保护方法 |
CN106021016A (zh) * | 2015-03-27 | 2016-10-12 | 伊姆西公司 | 在快照之间的虚拟时间点访问 |
CN106919466A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种计算机磁盘数据持续保护方法 |
CN106919468A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种Linux服务器下磁盘数据恢复方法 |
CN106919467A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种Linux服务器下磁盘数据保护方法 |
CN106919469A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种Windows服务器下磁盘数据恢复方法 |
CN107436938A (zh) * | 2017-07-27 | 2017-12-05 | 国家电网公司 | 一种关系数据库前映像的附加日志解析方法 |
CN107885616A (zh) * | 2017-09-29 | 2018-04-06 | 上海爱数信息技术股份有限公司 | 一种基于文件系统解析的海量小文件备份恢复方法 |
CN108255642A (zh) * | 2017-12-25 | 2018-07-06 | 南京壹进制信息技术股份有限公司 | 一种连续数据保护中io数据管理的方法 |
CN109614266A (zh) * | 2018-12-05 | 2019-04-12 | 北京和利时系统工程有限公司 | 一种数据同步方法及装置 |
CN109614054A (zh) * | 2018-12-20 | 2019-04-12 | 广州鼎甲计算机科技有限公司 | 数据的读取方法和系统 |
CN110362424A (zh) * | 2019-05-23 | 2019-10-22 | 上海英方软件股份有限公司 | 一种基于连续数据保护的快速恢复方法和系统 |
CN111949447A (zh) * | 2020-08-11 | 2020-11-17 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及数据处理系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100555289C (zh) * | 2007-12-20 | 2009-10-28 | 中国科学院计算技术研究所 | 一种持续数据保护系统及其实现方法 |
CN101430657B (zh) * | 2008-11-17 | 2011-10-26 | 华中科技大学 | 一种连续数据保护方法 |
-
2010
- 2010-02-08 CN CN2010191850178A patent/CN101777017B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521269A (zh) * | 2011-11-22 | 2012-06-27 | 清华大学 | 一种基于索引的计算机连续数据保护方法 |
CN103902406A (zh) * | 2012-12-31 | 2014-07-02 | 杨威锋 | 高可靠性固态存储设备的映射表信息的保存和恢复技术 |
CN106021016A (zh) * | 2015-03-27 | 2016-10-12 | 伊姆西公司 | 在快照之间的虚拟时间点访问 |
CN104866435B (zh) * | 2015-06-06 | 2018-05-15 | 成都云祺科技有限公司 | 一种连续数据保护方法 |
CN104866435A (zh) * | 2015-06-06 | 2015-08-26 | 成都云祺科技有限公司 | 一种连续数据保护方法 |
CN106919466A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种计算机磁盘数据持续保护方法 |
CN106919468A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种Linux服务器下磁盘数据恢复方法 |
CN106919467A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种Linux服务器下磁盘数据保护方法 |
CN106919469A (zh) * | 2015-12-28 | 2017-07-04 | 湖南百里目科技有限责任公司 | 一种Windows服务器下磁盘数据恢复方法 |
CN107436938A (zh) * | 2017-07-27 | 2017-12-05 | 国家电网公司 | 一种关系数据库前映像的附加日志解析方法 |
CN107436938B (zh) * | 2017-07-27 | 2019-11-05 | 国家电网公司 | 一种关系数据库前映像的附加日志解析方法 |
CN107885616A (zh) * | 2017-09-29 | 2018-04-06 | 上海爱数信息技术股份有限公司 | 一种基于文件系统解析的海量小文件备份恢复方法 |
CN108255642A (zh) * | 2017-12-25 | 2018-07-06 | 南京壹进制信息技术股份有限公司 | 一种连续数据保护中io数据管理的方法 |
CN108255642B (zh) * | 2017-12-25 | 2020-11-10 | 南京壹进制信息科技有限公司 | 一种连续数据保护中io数据管理的方法 |
CN109614266A (zh) * | 2018-12-05 | 2019-04-12 | 北京和利时系统工程有限公司 | 一种数据同步方法及装置 |
CN109614266B (zh) * | 2018-12-05 | 2021-07-02 | 北京和利时系统工程有限公司 | 一种数据同步方法及装置 |
CN109614054A (zh) * | 2018-12-20 | 2019-04-12 | 广州鼎甲计算机科技有限公司 | 数据的读取方法和系统 |
CN110362424A (zh) * | 2019-05-23 | 2019-10-22 | 上海英方软件股份有限公司 | 一种基于连续数据保护的快速恢复方法和系统 |
CN111949447A (zh) * | 2020-08-11 | 2020-11-17 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101777017B (zh) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101777017B (zh) | 一种连续数据保护系统的快速恢复方法 | |
CN101777016B (zh) | 一种连续数据保护系统的快照存储和数据恢复方法 | |
US10157109B2 (en) | Method for restoring files from a continuous recovery system | |
US10031675B1 (en) | Method and system for tiering data | |
EP3098715B1 (en) | System and method for object-based continuous data protection | |
US9483511B2 (en) | Stubbing systems and methods in a data replication environment | |
US8352422B2 (en) | Data restore systems and methods in a replication environment | |
US8725698B2 (en) | Stub file prioritization in a data replication system | |
US9087008B1 (en) | Replicating a volume using snapshots | |
EP3159796B1 (en) | System and method for generating backups of a protected system from a recovery system | |
US9696939B1 (en) | Replicating data using deduplication-based arrays using network-based replication | |
CN101963982B (zh) | 基于位置敏感哈希的删冗存储系统元数据管理方法 | |
CN104040481B (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
CN101814044B (zh) | 元数据处理方法及装置 | |
CN105069048A (zh) | 一种小文件存储方法、查询方法和装置 | |
CN109144416B (zh) | 查询数据的方法和装置 | |
US10650024B2 (en) | System and method of replicating data in a distributed system | |
CN104360914A (zh) | 增量快照方法和装置 | |
CN104462389A (zh) | 基于分级存储的分布式文件系统实现方法 | |
Strzelczak et al. | Concurrent Deletion in a Distributed {Content-Addressable} Storage System with Global Deduplication | |
CN102722450B (zh) | 一种基于位置敏感哈希的删冗块设备存储方法 | |
CN103473258A (zh) | 云存储文件系统 | |
CN103176867A (zh) | 一种快速文件差异备份方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |