CN101777017B - 一种连续数据保护系统的快速恢复方法 - Google Patents

一种连续数据保护系统的快速恢复方法 Download PDF

Info

Publication number
CN101777017B
CN101777017B CN2010191850178A CN201019185017A CN101777017B CN 101777017 B CN101777017 B CN 101777017B CN 2010191850178 A CN2010191850178 A CN 2010191850178A CN 201019185017 A CN201019185017 A CN 201019185017A CN 101777017 B CN101777017 B CN 101777017B
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.)
Active
Application number
CN2010191850178A
Other languages
English (en)
Other versions
CN101777017A (zh
Inventor
周泽湘
李虓
肖建国
谭毓安
何广韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Original Assignee
BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING TOYOU FEIJI ELECTRONICS Co Ltd filed Critical BEIJING TOYOU FEIJI ELECTRONICS Co Ltd
Priority to CN2010191850178A priority Critical patent/CN101777017B/zh
Publication of CN101777017A publication Critical patent/CN101777017A/zh
Application granted granted Critical
Publication of CN101777017B publication Critical patent/CN101777017B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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。
CN2010191850178A 2010-02-08 2010-02-08 一种连续数据保护系统的快速恢复方法 Active CN101777017B (zh)

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 CN101777017A (zh) 2010-07-14
CN101777017B true 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)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521269B (zh) * 2011-11-22 2013-06-19 清华大学 一种基于索引的计算机连续数据保护方法
CN103902406A (zh) * 2012-12-31 2014-07-02 杨威锋 高可靠性固态存储设备的映射表信息的保存和恢复技术
US9940205B2 (en) * 2015-03-27 2018-04-10 EMC IP Holding Company LLC Virtual point in time access between snapshots
CN104866435B (zh) * 2015-06-06 2018-05-15 成都云祺科技有限公司 一种连续数据保护方法
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服务器下磁盘数据恢复方法
CN107436938B (zh) * 2017-07-27 2019-11-05 国家电网公司 一种关系数据库前映像的附加日志解析方法
CN107885616A (zh) * 2017-09-29 2018-04-06 上海爱数信息技术股份有限公司 一种基于文件系统解析的海量小文件备份恢复方法
CN108255642B (zh) * 2017-12-25 2020-11-10 南京壹进制信息科技有限公司 一种连续数据保护中io数据管理的方法
CN109614266B (zh) * 2018-12-05 2021-07-02 北京和利时系统工程有限公司 一种数据同步方法及装置
CN109614054B (zh) * 2018-12-20 2019-12-13 广州鼎甲计算机科技有限公司 数据的读取方法和系统
CN110362424B (zh) * 2019-05-23 2020-12-04 上海英方软件股份有限公司 一种基于连续数据保护的快速恢复方法和系统
CN111949447B (zh) * 2020-08-11 2024-06-21 北京天融信网络安全技术有限公司 一种数据处理方法及数据处理系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187948A (zh) * 2007-12-20 2008-05-28 中国科学院计算技术研究所 一种持续数据保护系统及其实现方法
CN101430657A (zh) * 2008-11-17 2009-05-13 华中科技大学 一种连续数据保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187948A (zh) * 2007-12-20 2008-05-28 中国科学院计算技术研究所 一种持续数据保护系统及其实现方法
CN101430657A (zh) * 2008-11-17 2009-05-13 华中科技大学 一种连续数据保护方法

Also Published As

Publication number Publication date
CN101777017A (zh) 2010-07-14

Similar Documents

Publication Publication Date Title
CN101777017B (zh) 一种连续数据保护系统的快速恢复方法
CN101777016B (zh) 一种连续数据保护系统的快照存储和数据恢复方法
US10031675B1 (en) Method and system for tiering data
US9087008B1 (en) Replicating a volume using snapshots
US9483511B2 (en) Stubbing systems and methods in a data replication environment
US8352422B2 (en) Data restore systems and methods in a replication environment
CN101963982B (zh) 基于位置敏感哈希的删冗存储系统元数据管理方法
US8725698B2 (en) Stub file prioritization in a data replication system
Ng et al. Revdedup: A reverse deduplication storage system optimized for reads to latest backups
US9696939B1 (en) Replicating data using deduplication-based arrays using network-based replication
US9389800B1 (en) Synthesizing virtual machine disk backups
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
US20170083412A1 (en) System and method for generating backups of a protected system from a recovery system
CN105069048A (zh) 一种小文件存储方法、查询方法和装置
CN102323958A (zh) 重复数据删除方法
CN109144416B (zh) 查询数据的方法和装置
CN103544045A (zh) 一种基于hdfs的虚拟机镜像存储系统及其构建方法
CN104360914A (zh) 增量快照方法和装置
CN104462389A (zh) 基于分级存储的分布式文件系统实现方法
Strzelczak et al. Concurrent Deletion in a Distributed {Content-Addressable} Storage System with Global Deduplication
CN104281717B (zh) 一种建立海量id映射关系的方法
US20160062844A1 (en) Computer system for backing up data
CN102722450B (zh) 一种基于位置敏感哈希的删冗块设备存储方法
CN105493080A (zh) 基于上下文感知的重复数据删除的方法和装置
CN103473258A (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