一种高效恢复CDP系统IO数据的方法及系统技术方案

技术编号:22054705 阅读:37 留言:0更新日期:2019-09-07 15:04
本发明专利技术涉及一种高效恢复CDP系统IO数据的方法及系统,该方法包括:获取与IO数据恢复任务对应的所有IO数据文件,将所述所有IO数据文件按照时间戳递减排序,同时建立与数据源卷对应的检测位图,将检测位图中的bit位初始值设为0;读取所有IO数据文件,获得每条IO数据对应的偏移和长度;对每条IO数据进行去重检测以剔除已恢复数据,得到每条IO数据对应的未恢复数据块集合;遍历所述未恢复数据块集合并进行IO合并计算,将得到的合并IO进行恢复写入。与现有技术相比,本发明专利技术具有速度快和效率高等优点。

An Efficient Method and System for Restoring IO Data in CDP System

【技术实现步骤摘要】
一种高效恢复CDP系统IO数据的方法及系统
本专利技术涉及数据备份容灾领域的IO数据恢复方法,尤其是涉及一种高效恢复CDP系统IO数据的方法及系统。
技术介绍
随着互联网、大数据、计算机技术的迅猛发展,如今绝大部分企业都使用计算机来运作自己的核心业务,由此而产生的业务数据也日益成为企业的生命源泉,数据丢失可能导致业务中断而遭受巨大经济损失,如何有效地保护这些核心数据也成为了企业面临的巨大挑战和关注的焦点。块级CDP数据保护技术是数据保护领域里比较成熟的一种技术,有别于传统周期性统数据备份技术,块级CDP数据保护技术可以不断检测关键数据的变化实现数据保护,当灾难发生后简单选择需要恢复的时间点就可以快速恢复。具体地,其在块设备层监控系统IO,首先对要保护的卷进行初始化生成初始化副本,然后对监控卷进行增量备份,实时捕获系统IO,将落在监控卷区域内的IO拷贝一份并存放到存储介质上,以便达到持续保护数据的目的。在系统发生灾难后,通过选择任意系统IO,然后恢复该任意系统IO之前的所有IO数据,即可将系统恢复到灾难前的任意时刻。现有块级CDP技术在恢复IO数据时,基本都是按照IO时间戳递增的方式从第一条IO一直恢复到所选定的系统IO,以保证IO的写入顺序,恢复完成后,系统即可恢复到指定的IO时刻。但是这种恢复IO数据的方法会恢复大量重复的IO数据,并且偏移相邻的IO会分成多次恢复,这会严重影响系统灾难恢复的时间和恢复效率。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种高效恢复CDP系统IO数据的方法及系统。本专利技术的目的可以通过以下技术方案来实现:一种高效恢复CDP系统IO数据的方法,包括以下步骤:1)获取与IO数据恢复任务对应的所有IO数据文件,将所述所有IO数据文件按照时间戳递减排序,同时建立与数据源卷对应的检测位图,将检测位图中的bit位初始值设为0;2)读取所有IO数据文件,获得每条IO数据对应的偏移和长度;3)对每条IO数据进行去重检测以剔除已恢复数据,得到每条IO数据对应的未恢复数据块集合;4)遍历所述未恢复数据块集合并进行IO合并计算,将得到的合并IO进行恢复写入。进一步地,步骤1)中,所述IO数据恢复任务的信息包括IO起始时间戳、IO结束时间戳、恢复数据源卷以及目标介质。进一步地,步骤3)所述去重检测过程具体为:根据所述每条IO数据对应的偏移和长度在检测位图中查找该IO数据对应的bit位是否都为1,若是,则跳过该IO数据,读取下一条IO数据,若否,则将该IO数据在检测位图中对应的bit位为0的数据块集合保留,形成未恢复数据块集合。进一步地,所述IO合并计算的过程包括以下步骤:401)读取一条未恢复IO数据,其偏移为offset1,长度为length1,当前合并IO的偏移为offset,长度为length;402)如果当前合并IO的偏移offset=0,长度length=0,则更新合并IO的偏移为offset=offset1,长度为length=length1,拷贝该条IO的数据到合并IO的数据区中,否则执行步骤403);403)如果满足offset1+length1=offset,则更新合并IO的offset=offset1,长度length=length+length1,同时将该数据块的数据拷贝到合并IO数据的前面,否则执行步骤404);404)如果满足offset+length=offset2,则更新合并IO的长length=length+length2,同时将该数据块的数据拷贝到合并IO数据的后面,否则执行步骤405)。405)将合并IO进行恢复写入,同时将合并IO的偏移offset和长度length重置为0,继续执行步骤401)直至遍历完所有IO数据文件。本专利技术还提供一种高效恢复CDP系统IO数据的系统,包括:恢复控制模块,用于获取与IO数据恢复任务对应的所有IO数据文件,将所述所有IO数据文件按照时间戳递减排序,同时建立与数据源卷对应的检测位图,将检测位图中的bit位初始值设为0;IO数据读写模块,包括用于读取并分析IO数据文件的读取单元和用于将合并IO所在数据源卷写入对应目标介质的写入单元,所述读取单元获得每条IO数据对应的偏移和长度;IO去重检测模块,用于对每条IO数据进行去重检测以剔除已恢复数据,得到每条IO数据对应的未恢复数据块集合;IO合并模块,用于遍历所述未恢复数据块集合并进行IO合并处理。进一步地,所述IO数据恢复任务的信息包括IO起始时间戳、IO结束时间戳、恢复数据源卷以及目标介质。进一步地,所述去重检测的具体过程如下:根据所述每条IO数据对应的偏移和长度在检测位图中查找该IO数据对应的bit位是否都为1,若是,则跳过该IO数据,读取下一条IO数据,若否,则将该IO数据在检测位图中对应的bit位为0的数据块集合保留,形成未恢复数据块集合。进一步地,所述IO合并模块包括:接收单元,用于接收IO去重检测模块传递的每条IO数据对应的未恢复数据块集合,其偏移为offset1,长度为length1,当前合并IO的偏移为offset,长度为length;第一判断单元,用于判断是否存在当前合并IO的偏移offset=0且长度length=0,若是,则更新合并IO的偏移为offset=offset1,长度为length=length1,拷贝该条IO的数据到合并IO的数据区中,若否,则产生第二判断信号;第二判断单元,在接收到所述第二判断信号时响应,用于判断是否存在offset1+length1=offset,若是,则更新合并IO的offset=offset1,长度length=length+length1,同时将该数据块的数据拷贝到合并IO数据的前面,若否,则产生第三判断信号;第三判断单元,在接收到所述第三判断信号时响应,用于判断是否存在ffset+length=offset2,若是,则更新合并IO的长度length=length+length2,同时将该数据块的数据拷贝到合并IO数据的后面,若否,则产生写入信号;恢复重置单元,用于将合并IO传递到写入单元进行恢复写入,将合并IO的偏移offset和长度length重置为0,产生继续执行信号发送至接收单元,直至遍历完所有IO数据文件。与现有技术相比,本专利技术具有以如下有益效果:(1)本专利技术按照时间戳递减的顺序将需要恢复的IO数据文件进行排序和处理,保证在第一次恢复某个偏移处的IO数据时,一定是最新时间点的IO数据,可以避免恢复大量重复的IO数据,提高恢复效率;(2)本专利技术通过建立数据源卷的检测位图,根据检测位图进行去重检测,可以过滤掉大量重复的已恢复IO数据,极大地提升了IO数据恢复速度和恢复效率;(3)本专利技术通过计算前后的IO的偏移和长度,将相邻的多条IO数据合并成一条IO数据,对应地恢复IO数据的次数也由多次化简为一次,提高了恢复的速度和效率。附图说明图1为IO数据高效恢复流程图;图2为IO数据高效恢复系统结构图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。实施例1如图1所示,本实施本文档来自技高网...

【技术保护点】
1.一种高效恢复CDP系统IO数据的方法,其特征在于,包括以下步骤:1)获取与IO数据恢复任务对应的所有IO数据文件,将所述所有IO数据文件按照时间戳递减排序,同时建立与数据源卷对应的检测位图,将检测位图中的bit位初始值设为0;2)读取所有IO数据文件,获得每条IO数据对应的偏移和长度;3)对每条IO数据进行去重检测以剔除已恢复数据,得到每条IO数据对应的未恢复数据块集合;4)遍历所述未恢复数据块集合并进行IO合并计算,将得到的合并IO进行恢复写入。

【技术特征摘要】
1.一种高效恢复CDP系统IO数据的方法,其特征在于,包括以下步骤:1)获取与IO数据恢复任务对应的所有IO数据文件,将所述所有IO数据文件按照时间戳递减排序,同时建立与数据源卷对应的检测位图,将检测位图中的bit位初始值设为0;2)读取所有IO数据文件,获得每条IO数据对应的偏移和长度;3)对每条IO数据进行去重检测以剔除已恢复数据,得到每条IO数据对应的未恢复数据块集合;4)遍历所述未恢复数据块集合并进行IO合并计算,将得到的合并IO进行恢复写入。2.根据权利要求1所述的一种高效恢复CDP系统IO数据的方法,其特征在于,步骤1)中,所述IO数据恢复任务的信息包括IO起始时间戳、IO结束时间戳、恢复数据源卷以及目标介质。3.根据权利要求1所述的一种高效恢复CDP系统IO数据的方法,其特征在于,步骤3)所述去重检测过程具体为:根据所述每条IO数据对应的偏移和长度在检测位图中查找该IO数据对应的bit位是否都为1,若是,则跳过该IO数据,读取下一条IO数据,若否,则将该IO数据在检测位图中对应的bit位为0的数据块集合保留,形成未恢复数据块集合。4.根据权利要求1所述的一种高效恢复CDP系统IO数据的方法,其特征在于,所述IO合并计算的过程包括以下步骤:401)读取一条未恢复IO数据,其偏移为offset1,长度为length1,当前合并IO的偏移为offset,长度为length;402)如果当前合并IO的偏移offset=0,长度length=0,则更新合并IO的偏移为offset=offset1,长度为length=length1,拷贝该条IO的数据到合并IO的数据区中,否则执行步骤403);403)如果满足offset1+length1=offset,则更新合并IO的offset=offset1,长度length=length+length1,同时将该数据块的数据拷贝到合并IO数据的前面,否则执行步骤404);404)如果满足offset+length=offset2,则更新合并IO的长length=length+length2,同时将该数据块的数据拷贝到合并IO数据的后面,否则执行步骤405)。405)将合并IO进行恢复写入,同时将合并IO的偏移offset和长度length重置为0,继续执行步骤401)直至遍历完所有IO数据文件。5.一种高效恢复CDP系统IO数据的系统,其特征在于,包括:恢复控制模块,用于获取与IO数据恢复任务对应的所有IO数据文件,将所述所有IO数据文...

【专利技术属性】
技术研发人员:鲍苏宁
申请(专利权)人:上海爱数信息技术股份有限公司人民法院信息技术服务中心
类型:发明
国别省市:上海,31

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

1