一种基于连续数据保护的快速恢复方法和系统技术方案

技术编号:22363835 阅读:39 留言:0更新日期:2019-10-23 04:36
本发明专利技术涉及一种基于连续数据保护的快速恢复方法和系统。该方法包括:1)根据需要恢复的时间点找到距离该时间点最近的时间基线,读取该时间基线的数据内容到内存中;2)读取和保存所述需要恢复的时间点和所述时间基线之间所有的磁盘IO操作;3)对所述磁盘IO操作对应的所有事件进行处理,记录数据变更信息并将其保存在内存中;4)利用内存中保存的所述时间基线的数据内容和所述数据变更信息,进行数据恢复。本发明专利技术不通过写磁盘就能快速恢复,能够克服现有的CDP技术在恢复时,基于磁盘上某个时间基线的数据不断的进行事件合并来读写磁盘,由此引起的大量磁盘IO消耗和磁盘空间占用问题。

A fast recovery method and system based on continuous data protection

【技术实现步骤摘要】
一种基于连续数据保护的快速恢复方法和系统
本专利技术涉及一种基于连续数据保护的快速恢复方法和系统,属于计算机数据备份容灾领域。
技术介绍
CDP(ContinuousDataProtection,持续数据保护)技术是数据备份
的一项重大突破,2011年,SNIA(全球网络存储工业协会)的CDP技术小组公布了CDP技术的三大条件:1.可以捕获任意的数据变化;2.至少可以备份到另外一个地方(异地容灾);3.可以恢复到任意时间点。CDP系统持续监测数据变化并记录这些变化,当灾难发生后,用户可用选择要恢复的任意时间点来恢复到灾难前的状态。传统的CDP恢复,在恢复前需要把恢复的目标数据还原到磁盘上,再基于磁盘上恢复后的数据进行事件合并后还原。对于恢复到异地不同系统的情景,这就增加了读写磁盘引起的IO的消耗,以及额外磁盘空间的占用。
技术实现思路
为了克服现有的CDP技术在恢复时,基于磁盘上某个时间基线(baseline)的数据不断的进行事件合并来读写磁盘,由此引起大量磁盘IO消耗和磁盘空间占用的问题,本专利技术提供了一种不通过写磁盘的方式就能快速恢复的方法和系统。本专利技术提供一种基于连续数据保护的快速恢复方法,包括以下步骤:1.根据需要恢复的时间点找到距离该时间点最近的时间基线,读取该时间基线的数据内容到内存中;2.读取和保存所述需要恢复的时间点和所述时间基线之间所有的磁盘IO操作;3.对所述磁盘IO操作对应的所有事件进行处理,记录数据变更信息并将其保存在内存中;4.利用内存中保存的所述时间基线的数据内容和所述数据变更信息,进行数据恢复。下面进一步说明上述步骤:步骤1:根据用户选择的需要恢复的某个时间点,找到距离该时间点最近的时间基线(baseline)。读取时间基线的数据内容到内存中。步骤2:根据用户选择的要恢复的某个时间点,和距离该时间点最近的时间基线(baseline),找到两个时间点(该要恢复的时间点和该时间基线)之间所有的磁盘IO操作,读取并保存到事件结构体(文中把“事件结构体”称为EventData)中。所述事件结构体记录操作事件的ID、文件的属性、文件被修改处的位置和长度、以及被修改内容所保存在修改数据保存文件中的具体位置。步骤3:处理步骤2所述磁盘IO操作对应的针对每个数据文件的IO事件队列。首先建立以文件ID为key,文件路径和文件标识为value的映射表,称为id映射表(idMap)。对于删除文件事件,在id映射表中标记删除该文件名。对于重命名事件,在id映射表中标记删除旧文件的id,修改新文件id的值为与旧文件id对应的文件属性和内容。对于创建文件事件,从id映射表中取消标记删除该文件名,并保存文件属性。对于写文件事件,从事件结构体中读取被修改文件的起始位置和偏移,并从修改数据保存文件对应的位置和偏移读取文件修改数据块并保存到内存中的数据修改记录结构体(CdpData)中。在解析事件队列的写操作时,具体方法是这样的:(1)先从事件结构体读取数据片段在修改数据保存文件中的位移和长度;(2)从修改数据保存文件中的指定位移处读取指定长度的数据到内存;(3)读取到内存的数据片段在保存到数据修改记录结构体之前,先与之前已经保存到数据修改记录结构体的所有数据片段进行比较,如果在文件中的内容区间有重复的区域,则对这两块数据片段的内容进行合并处理;如果没有与之前数据片段重复的区域则添加到修改片段列表中。步骤4:处理完所有事件操作并把操作结果保存到内存后,进入数据恢复流程,数据恢复过程采用按块读取文件内容,并发送到异地服务器的方式。在内存中合并数据的操作就是在恢复的这个阶段完成的,具体步骤如下:(1)从要发送的文件(即步骤1中读取的“时间基线的数据内容”)中循环读取固定大小的内容到内存,直到文件内容全部读取完成。(2)在步骤(1)的循环过程中每读取一段文件内容后,需要先判断该段内容是否与记录在数据修改记录结构体中的数据片段在文件中的位置有重复的区域(即有重叠的部分),如果有重叠部分,说明该段文件内容有被修改,需要从修改片段列表读取有重叠的文件内容,覆盖原有读取的文件内容,得到合并后的该文件片段的实际内容。(3)发送合并后的文件片段到目标服务器。(4)如果文件没有被修改,则不合并直接发送读取的文件内容到目标服务器。与上面方法对应地,本专利技术还一种基于连续数据保护的快速恢复系统,其包括:时间基线数据内容读取模块,负责根据需要恢复的时间点找到距离该时间点最近的时间基线,读取该时间基线的数据内容到内存中;磁盘IO操作保存模块,负责读取和保存所述需要恢复的时间点和所述时间基线之间所有的磁盘IO操作;事件处理模块,负责对所述磁盘IO操作对应的所有事件进行处理,记录数据变更信息并将其保存在内存中;数据恢复模块,负责利用内存中保存的所述时间基线的数据内容和所述数据变更信息,进行数据恢复。本专利技术的有益效果是:本专利技术不通过写磁盘就能快速恢复,能够克服现有的CDP技术在恢复时,基于磁盘上某个时间基线的数据不断的进行事件合并来读写磁盘,由此引起的大量磁盘IO消耗和磁盘空间占用问题。附图说明图1为CDP数据存储结构图。图2为CDP恢复事件合并流程图。图3为CDP恢复内存合并流程图。图4为CDP恢复内存合并算法示意图。具体实施方式下面通过具体实施例和附图,对本专利技术做进一步详细说明。图1为CDP数据存储结构图。如图1所示,Baseline是对被保护数据的定时备份,CDP是在Baseline数据的基础上,持续地监测数据变化并实时记录数据的变化。Baseline的实现方式有多种,可用用普通的磁盘存储,也可以用快照方式来实现。从生成Baseline的时刻开始,连续的磁盘IO操作实时被捕获并保存在单独的事件保存文件EventFile里;同时监测到的Baseline目录下数据的变化(捕获到写文件操作),也相应被写入到另一个独立的修改数据保存文件DataFile里;文件的路径和事件ID的对应关系会被写入文件路径保存文件namelist。(1)事件保存文件(EventFile):该文件中记录了一个个事件结构体,每个事件结构体记录了该操作事件的ID(eventid)、文件的属性、文件被修改处的位置和长度、以及被修改内容所保存在修改数据保存文件DataFile里的具体位置(poseinDataFile)。其中,文件的属性是指文件的用户权限,创建、修改及访问时间,安全属性等;文件被修改处的偏移是指文件被修改部分的位置和长度)。(2)修改数据保存文件(DataFile):该文件记录了所有被修改的文件的片段。(3)文件路径保存文件(namelist):该文件记录了所有被操作过的文件的原始路径(filepath),和与该文件对应的事件的ID(eventid)。图2为CDP恢复事件合并流程图。在数据恢复时,需要基于一个已有的磁盘数据的备份目录,将从数据备份时间点到要恢复到的时间点之间的所有事件进行处理,并将处理结果保存到内存中。具体事件处理的步骤如下:(1)读取文件路径保存文件和事件保存文件,建立以文件ID为key,文件路径和文件标识为value的映射表,名称为m_idMap。其中“文件标识”即下面步骤(3)~(5)中的标记1或0。(2)创建一个新的名为m_f本文档来自技高网...

【技术保护点】
1.一种基于连续数据保护的快速恢复方法,其特征在于,包括以下步骤:1)根据需要恢复的时间点找到距离该时间点最近的时间基线,读取该时间基线的数据内容到内存中;2)读取和保存所述需要恢复的时间点和所述时间基线之间所有的磁盘IO操作;3)对所述磁盘IO操作对应的所有事件进行处理,记录数据变更信息并将其保存在内存中;4)利用内存中保存的所述时间基线的数据内容和所述数据变更信息,进行数据恢复。

【技术特征摘要】
1.一种基于连续数据保护的快速恢复方法,其特征在于,包括以下步骤:1)根据需要恢复的时间点找到距离该时间点最近的时间基线,读取该时间基线的数据内容到内存中;2)读取和保存所述需要恢复的时间点和所述时间基线之间所有的磁盘IO操作;3)对所述磁盘IO操作对应的所有事件进行处理,记录数据变更信息并将其保存在内存中;4)利用内存中保存的所述时间基线的数据内容和所述数据变更信息,进行数据恢复。2.根据权利要求1所述的方法,其特征在于,步骤2)将所述磁盘IO操作保存到事件保存文件中的事件结构体中,并将文件的路径和事件ID的对应关系写入文件路径保存文件;所述事件结构体记录操作事件的ID、文件的属性、文件被修改处的位置和长度、以及被修改内容所保存在修改数据保存文件中的具体位置。3.根据权利要求1所述的方法,其特征在于,步骤3)包括:3.1)建立以文件ID为key,文件路径和文件标识为value的映射表,称为id映射表;3.2)对于删除文件事件,在id映射表中标记删除文件名;3.3)对于重命名事件,在id映射表中标记删除旧文件的id,修改新文件id的值为与旧文件id对应的文件属性和内容;3.4)对于创建文件事件,从id映射表中取消标记删除该文件名,并保存文件属性;3.5)对于写文件事件,从事件结构体中读取被修改文件的起始位置和偏移,并从修改数据保存文件对应的位置和偏移读取文件修改数据块并保存到内存的数据修改记录结构体中。4.根据权利要求3所述的方法,其特征在于,步骤3.5)包括:(a)从事件结构体读取数据片段在修改数据保存文件中的位移和长度;(b)从修改数据保存文件中的指定位移处读取指定长度的数据到内存;(c)读取到内存的数据片段在保存到数据修改记录结构体之前,先与之前已经保存到数据修改记录结构体的所有数据片段进行比较,如果在文件中的内容区间有重复的区域,则对这两块数据片段的内容进行合并处理;如果没有与之前数据片段重复的区域则添加到修改片段列表中。5.根据权利要求3或4所述的方法,其特征在于,步骤4)每次读取的文件片段的长度为固定字节,在读完文件片段的内容到内存后,查找在该文件片段中是否有被修改的文件内容,如果有,则...

【专利技术属性】
技术研发人员:朱黎娟胡军擎周华江俊
申请(专利权)人:上海英方软件股份有限公司
类型:发明
国别省市:上海,31

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

1