一种持续数据保护方法及装置与流程

文档序号:15615205发布日期:2018-10-09 21:11阅读:157来源:国知局

本发明涉及计算机领域,尤其涉及一种持续数据保护方法及装置。



背景技术:

snia(storagenetworkingindustryassociation,全球网络存储工业协会)对cdp(continuousdataprotection,持续数据保护)的定义为:持续数据保护是一种在不影响主要数据运行的前提下,可以实现持续捕捉或跟踪目标数据所发生的任何改变,并且能够恢复到此前任意时间点的技术方法。

cdp技术是对传统数据备份技术重大突破,为用户提供了新的数据保护手段,无须关注数据的备份过程,而是当灾难发生后选择需要恢复的时间点实现数据的快速恢复。从实现的技术层面看,可以分为应用级及文件级、块级cdp,各个实现的应用范围与场景各有差异。

现有技术中的块级cdp初始数据同步时间及占用的存储空间大,存储利用率较低。



技术实现要素:

有鉴于此,本发明提供一种持续数据保护方法及装置,能够提高存储利用率,并且降低持续数据保护与数据恢复对业务的影响。

基于上述目的本发明提供的持续数据保护方法,包括如下步骤:

接收发送至持续数据保护cdp主机源磁盘的数据操作请求;

将所述数据操作请求重定向到一预设的重定向时复制cdp保存盘上,在所述重定向时复制cdp保存盘端处理所述数据操作请求;

所述预设的重定向时复制cdp保存盘用于存储cdp历史数据。

可选的,所述接收发送至cdp主机源磁盘的数据操作请求的步骤之前,还包括:

建立所述源磁盘,使所述源磁盘为不占用实际存储空间的虚拟盘;

利用cdp环境提供的访问接口获取有效数据视图;

根据所述有效数据视图,将所述cdp历史数据中的cdp有效基准数据同步到一预设的恢复磁盘。

可选的,所述方法还包括:

收到cdp历史数据项删除请求;

删除待删除的cdp历史数据项,将剩余未删除历史数据项与元数据的对应关系进行重定向,变更剩余未删除历史数据项与元数据之间的对应关系。

可选的,所述删除待删除的cdp历史数据项、将剩余未删除历史数据项与元数据之间的对应关系进行重定向的步骤具体包括:

若扫描区间的起点不超过历史数据项的快照编号第一snapid且扫描区间终点为cdp历史数据项的最大快照编号第二snapid,检测所述待删除历史数据项是否还存在其他在所述扫描区间范围内的快照编号;若有,且所述第一snapid值等于所述扫描区间范围的snapid最小值,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1,第一snapid+2,一直到第二snapid;若有,且所述第一snapid值大于所述扫描区间范围的snapid最小值,则删除待删除的cdp历史数据项,保持剩余未删除历史数据项与元数据的对应关系不变;若无,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid;

若扫描区间的两个端点均为第一snapid,查询待删除的历史数据项对应的数据块在所述第一snapid+1到第二snapid之间的闭区间内是否存在依赖的cdp历史数据项,若存在则暂时保持cdp历史数据项与元数据的对应关系不变,触发输入输出合并,待输入输出合并完成后删除所述依赖的cdp历史数据项;若不存在依赖的cdp历史数据项则删除待删除的cdp历史数据项;

若扫描区间的起点为第一snapid、终点小于第二snapid,则保持剩余未删除历史数据项对应的snapid;

若扫描区间的起点为所述第一snapid、终点小于所述第一snapid,则将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid;

若扫描区间的起点小于所述第一snapid、终点为所述第一snapid,则将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid。

可选的,所述方法还包括:

收到cdp历史数据项恢复请求;

查询所述恢复请求对应的待恢复cdp历史数据项的变化情况;

恢复所述待恢复cdp历史数据项,在cdp历史数据使用过程中,将未变化的历史数据项写入一预设的恢复磁盘,所述恢复磁盘用于存储恢复后的cdp历史数据;在停止使用cdp历史数据时,将变化的历史数据项写入所述恢复磁盘。

可选的,所述查询所述恢复请求对应的待恢复cdp历史数据项的变化情况的步骤具体包括:

对待查询的历史数据项写io;

搜索所述历史数据项的io在dm_snapid_rbase+snapid的映射项,若未搜索到,则分配新的块chunk,重定向io到所述新分配的块chunk;若搜索到,则重定向io到搜索到的snapid,并进入下一步骤;其中,所述dm_snapid_rbase+snapid表示所述待查询的历史数据恢复后对其写io对应的snapid;;

对所述待查询的历史数据项读io;

搜索所述历史数据项的io对应的块chunk在dm_snapid_rbase+snapid的映射项,找到则重定向;若未找到,搜索io对应chunk的snapid,找到则重定向,未找到则从源磁盘中读取所述待查询的历史数据项。

同时,本发明提供一种持续数据保护装置,其特征在于,包括:

数据操作请求接收模块:用于接收发送至持续数据保护cdp主机源磁盘的数据操作请求;

重定向模块:用于将所述数据操作请求重定向到一预设的重定向时复制cdp保存盘上,在所述重定向时复制cdp保存盘端处理所述数据操作请求;

所述预设的重定向时复制cdp保存盘用于存储cdp历史数据。

可选的,所述装置还包括:

源磁盘建立模块:用于建立所述源磁盘,使所述源磁盘为不占用实际存储空间的虚拟盘;

有效数据视图获取模块:用于利用cdp环境提供的访问接口获取有效数据视图;

有效数据同步模块:用于根据所述有效数据视图,将所述cdp历史数据中的cdp有效基准数据同步到一预设的恢复磁盘。

可选的,所述方法还包括:

删除请求接收模块:用于收到cdp历史数据项删除请求;

删除及映射重定向模块:用于删除待删除的cdp历史数据项,将剩余未删除历史数据项与元数据的对应关系进行重定向,变更剩余未删除历史数据项与元数据之间的对应关系。

可选的,所述删除及映射重定向模块具体包括:

第一重定向单元:用于在扫描区间的起点不超过历史数据项的快照编号第一snapid且扫描区间终点为cdp历史数据项的最大快照编号第二snapid的情况下,检测所述待删除历史数据项是否还存在其他在所述扫描区间范围内的快照编号;若有,且所述第一snapid值等于所述扫描区间范围的snapid最小值,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1,第一snapid+2,一直到第二snapid;若有,且所述第一snapid值大于所述扫描区间范围的snapid最小值,则删除待删除的cdp历史数据项,保持剩余未删除历史数据项与元数据的对应关系不变;若无,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid;

第二重定向单元:用于在扫描区间的两个端点均为第一snapid的情况下,查询待删除的历史数据项对应的数据块在所述第一snapid+1到第二snapid之间的闭区间内是否存在依赖的cdp历史数据项,若存在则暂时保持cdp历史数据项与元数据的对应关系不变,触发输入输出合并,待输入输出合并完成后删除所述依赖的cdp历史数据项;若不存在依赖的cdp历史数据项则删除待删除的cdp历史数据项;

第三重定向单元:用于在扫描区间的起点大于第一snapid、终点小于第二snapid的情况下,保持剩余未删除历史数据项对应的snapid;

第四重定向单元:用于在扫描区间的起点为所述第一snapid、终点小于所述第一snapid的情况下,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid;

第五重定向单元:用于在扫描区间的起点小于第一snapid、终点为所述第一snapid,则将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid。

可选的,所述装置还包括:

恢复请求接收模块:用于接收cdp历史数据项恢复请求;

查询模块:用于查询所述恢复请求对应的待恢复cdp历史数据项的变化情况;

恢复模块:用于恢复所述待恢复cdp历史数据项,在cdp历史数据使用过程中,将未变化的历史数据项写入一预设的恢复磁盘,所述恢复磁盘用于存储恢复后的cdp历史数据;在停止使用cdp历史数据时,将变化的历史数据项写入所述恢复磁盘。

可选的,所述查询模块具体包括:

写io单元:用于对待查询的历史数据项写io;

写io查找单元:用于搜索所述历史数据项的io在dm_snapid_rbase+snapid的映射项,若未搜索到,则分配新的块chunk,重定向io到所述新分配的块chunk;若搜索到,则重定向io到搜索到的snapid,并进入下一步骤;其中,所述dm_snapid_rbase+snapid表示所述待查询的历史数据恢复后对其写io对应的snapid;

读io单元:用于对所述待查询的历史数据项读io;

读io查找单元:用于搜索所述历史数据项的io对应的块chunk在dm_snapid_rbase+snapid的映射项,找到则重定向;若未找到,搜索io对应chunk的snapid,找到则重定向,未找到则从源磁盘中读取所述待查询的历史数据项。

从上面所述可以看出,本发明实施例提供的持续数据保护方法及装置,采用cdp保存盘保存cdp历史数据,提高存储利用率;在初始化时对cdp有效历史数据进行初始化,提高操作效率,减少数据同步时间。在删除cdp历史数据时,大幅度减少io压力,降低对前端应用的影响;在恢复cdp历史数据时,缩短恢复时间,使得数据恢复对cdp历史数据使用不造成干扰和中断。

附图说明

图1为本发明实施例的持续数据保护方法流程示意图;

图2为本发明实施例的数据恢复部分流程示意图;

图3为本发明实施例的持续数据保护装置结构示意图。

具体实施方式

为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明首先提供一种持续数据保护方法,其流程如图1所示,包括如下步骤:

步骤101:接收发送至持续数据保护cdp主机源磁盘的数据操作请求;

步骤102:将所述数据操作请求重定向到一预设的重定向时复制cdp保存盘上,在所述重定向时复制cdp保存盘端处理所述数据操作请求;

所述预设的重定向时复制cdp保存盘用于存储cdp历史数据。

由于cdp数据占据空间大,在cdp初始数据同步时,尤其是在块级cdp初始数据同步时,占用的时间较大,同时,大量的cdp历史数据也占据了大量的存储空间,本发明实施例将cdp历史数据存储到一个row-cdp(redirectonwritecontinuousdataprotection,重定向时复制连续数据保护)盘上,从而可以节省源磁盘本要占据的空间,提高存储利用率和运行速度。同时,传统的cdp方案多为cow-cdp(copyonwritecontinuousdataprotection,写时复制连续数据保护),在收到数据操作请求时,首先将源磁盘上即将写入位置的数据,即已有的cdp历史数据复制到cow-cdp保存盘上,然后将写io请求分发给底层的磁盘驱动处理,完成写请求。因而传统的cdp方案中,操作请求执行过程复杂。例如,一个写源磁盘写io的请求需要执行读源磁盘io、写cow-cdp保存盘io、写源磁盘io这三个请求,由于数据处理量大、请求数量多,因此会影响数据操作请求的处理性能。本发明将cdp历史数据保存在不同于源磁盘的另一存储上,即存储在row-cdp保存盘上,并对所有cdp历史数据项建立相应的snapid,将cdp历史数据项与snapid之间的对应关系进行存储,执行读、写操作时根据具体的snapid值从row-cdp保存盘中调取cdp历史数据项,从而解决了源磁盘占用大量内存空间的问题,同时在执行数据操作请求时,步骤也有所简化。例如,在执行写io请求时,只需通过查找源磁盘和row-cdp保存盘之间的数据映射、以及重定向写io请求这两步操作即可,使得数据操作请求的执行对cdp主机性能影响小。

在本发明具体实施例中,将所述数据操作请求重定向到一预设的重定向时复制cdp保存盘上时,可通过cachememory(高速缓冲存储器)进行缓存,以减少读映射元数据的io,减少对性能的影响。

在本发明具体实施例中,所述数据操作请求包括读io请求、写io请求。

由于源磁盘中不存储cdp历史数据,因此源磁盘的创建过程消耗时间缩短,在虚拟机(比如esxi)及云计算环境下,系统或应用数据并未全部使用后端分配给其使用的所有存储空间,在对此种系统或应用进行持续数据保护时,传统技术方案下依然需要多所有存储空间(包括已占用的空间和剩余空间)进行初始化,那么这样即浪费了存储空间又加大了初始化时间。为了改善这一问题,在本发明一些实施例中,所述接收发送至cdp主机源磁盘的数据操作请求的步骤之前,还包括:

建立所述源磁盘,使所述源磁盘为不占用实际存储空间的虚拟盘;

利用cdp环境提供的访问接口获取有效数据视图;本发明实施例可以利用前端虚拟机或云计算环境下提供的数据接口获取有效数据;

根据所述有效数据视图,将所述cdp历史数据中的cdp有效基准数据同步到一预设的恢复磁盘,利用后端cdp保护技术,仅对所述有效数据进行初始化。

在本发明具体实施例中,所述cdp环境包括虚拟机环境和云计算平台。现有技术中,cdp历史数据存储在源磁盘上,在进行持续数据保护操作之前,直接在源磁盘上执行数据操作,而cdp历史数据量较大的时候,源磁盘占用空间较大,且源磁盘容量有限,性能降低,数据操作执行速度慢,同步的数据量大,初始化时间长。本发明可通过前端虚拟机环境和云计算平台提供的访问接口获取存储在row-cdp保存盘上的cdp历史数据的有效数据视图,利用有效数据视图将cdp有效数据同步到源磁盘,减少同步的数据量,从而节省源磁盘原本占用的空间的同时,不会对cdp保护过程造成影响。

在具体实施例中,对于不再需要的cdp历史数据项,可对其进行删除操作,减少cdp历史数据总量,节省不必要的空间占用,现有技术的cdp方案中,在删除历史cdp时间窗口期数据时会增加读写io(input/output,输入/输出)压力,对cdp过程有一定影响,应用停机时间比较长。

在删除cdp历史数据项时,所述方法还包括:

收到cdp历史数据项删除请求;所述cdp历史数据项删除请求,包括删除指示和用于指示待删除cdp历史数据项的数据指示;

删除待删除的cdp历史数据项,将剩余未删除历史数据项与元数据的对应关系进行重定向,变更剩余未删除历史数据项与元数据之间的对应关系。由于将cdp历史数据存储在row-cdp保存盘上时,cdp历史数据项删除之后,需要对剩余cdp历史数据进行合并,而在海量数据的情况下,数据合并会产生很大的输入输出压力,影响性能,因此本发明实施例在删除cdp历史数据项时,将剩余未删除历史数据项与元数据的对应关系进行重定向,即最大化重定向映射元数据,优化了cdp元数据,减少数据合并,从而减少输入输出压力,保证整个持续数据保护装置的性能。

在本发明一些实施例中,所述删除待删除的cdp历史数据项、将剩余未删除历史数据项与元数据之间的对应关系进行重定向的步骤具体包括:

若扫描区间包含待删除的历史数据项的快照编号第一snapid且扫描区间最大值为cdp历史数据项的最大快照编号第二snapid,例如,扫描区间为[第一snapid-x,第二snapid](x≥0),检测所述待删除历史数据项是否还存在其他在所述扫描区间范围内的快照编号;若有,且所述第一snapid值等于所述扫描区间范围的snapid最小值,例如,扫描区间为[第一snapid-x,第二snapid]且x为0,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1,第一snapid+2,一直到第二snapid;若有,且所述第一snapid值大于所述扫描区间范围的snapid最小值,例如,扫描区间为[第一snapid-x,第二snapid]且x大于0,则删除待删除的cdp历史数据项,保持剩余未删除历史数据项与元数据的对应关系不变;若无,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、……一直到第二snapid;

若扫描区间端点为第一snapid,即扫描区间为[第一snapid,第一snapid],查询待删除的历史数据项对应的数据块在所述第一snapid+1到第二snapid之间的闭区间内是否存在依赖的cdp历史数据项,若存在则暂时保持cdp历史数据项与元数据的对应关系不变,触发输入输出合并,待输入输出合并完成后删除所述依赖的cdp历史数据项;若不存在依赖的cdp历史数据项则删除待删除的cdp历史数据项;

若扫描区间的两个端点分别大于第一snapid、小于第二snapid,例如,扫描区间为[第一snapid-z,第一snapid+y],其中,z、y分别大于0,这种情况下,则保持剩余未删除历史数据项对应的snapid;

若扫描区间的起点为所述第一snapid、终点小于所述第一snapid,例如,扫描区间为[第一snapid,第一snapid+y],其中y大于0,这种情况下,则将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、……一直到第二snapid;

若扫描区间的终点为所述第一snapid,例如,扫描区间为[第一snapid-z,第一snapid],其中z大于0,这种情况下,则将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、……一直到第二snapid。

所述第二snapid为cdp历史数据项的最大id值,例如0x7fffffff,可用dm_snapid_reseved进行定义。普通的cdp历史数据项的snapid小于dm_snapid_reseved,按照一秒一个cdp历史数据项快照点计算,可使用68年。

在本发明一些实施例中,所述方法还包括:

收到cdp历史数据项恢复请求;

查询所述恢复请求对应的待恢复cdp历史数据项的变化情况;

恢复所述待恢复cdp历史数据项:

在cdp历史数据使用过程中,将未变化的历史数据项写入一预设的恢复磁盘,所述恢复磁盘用于存储恢复后的cdp历史数据;具体实施例中,定义dm_snapid_rbase为cdp历史快照数据向恢复写io时对应变化映射项基点snapid值,即恢复后的cdp历史数据项的snapid值均大于dm_snapid_rbase,同时定义dm_snapid_rbase的具体数值为0x80000000。通过querydiffmap工具分段查询各个分段的snapid对应的未变化历史数据视图,然后根据此视图读取cdp历史数据并写入恢复磁盘,使得所读取的cdp历史数据恢复到所述恢复磁盘;

在停止使用cdp历史数据时,将变化的历史数据项写入所述恢复磁盘;具体实施例中,当cdp历史数据不在使用时,应用停机,通过querydiffmap工具分段查询各个分段的snapid的数据视图,然后根据此视图读取数据并写入恢复磁盘。

在进一步的具体实施例中,如图2所示,通过querydiffmap工具分段查询各个分段的snapid对应的未变化历史数据视图、然后根据此视图读取cdp历史数据并写入恢复磁盘的步骤具体包括:

步骤201:通过querydiffmap工具分段查询各个分段的snapid对应的未变化历史数据视图;

步骤202:查询成功时,通过所述历史数据视图读取待恢复的cdp历史数据;

步骤203:将待恢复的cdp历史输入写入恢复磁盘;

步骤204:判断是否恢复至待恢复的cdp历史数据所在的磁盘末尾,若否,返回步骤201。

上述实施例中,在进行cdp历史数据项恢复时,无需停机操作,在不使用cdp历史数据时,将发生变化的cdp历史数据进行恢复;在使用cdp历史数据时,对未变化的历史数据进行恢复,从而不会因为恢复数据而对数据使用造成影响。

在现有的cdp历史数据恢复方案中,块级cdp恢复技术有一定缺陷,对数据进行持续保护时,需要建立一个虚拟卷,并将此虚拟卷通过san(storageareanetwork,存储域网络)网络分配给前端应用使用,为了保持原有历史数据不被破坏且不影响其它历史数据,若采用对此虚拟卷再次设置快照的方法,对虚拟卷的读写io的操作被重定向到此虚拟卷在row-cdp存储盘中存储的快照卷上,整体设备结构与管理变得复杂,性能也有点影响,为此,本发明对历史数据io处理流程进行优化,具体的,所述查询历史数据项的变化情况的步骤具体包括:

对一待查询的历史数据项写io;

搜索所述历史数据项的io在dm_snapid_rbase+snapid的映射项,若未搜索到,则分配新的块chunk,重定向io到所述新分配的块chunk;若搜索到,则重定向io到搜索到的snapid,并进入下一步骤;其中,所述dm_snapid_rbase+snapid表示所述待查询的历史数据恢复后对其写io对应的snapid;

对所述待查询的历史数据项读io;

搜索所述历史数据项的io对应的块chunk在dm_snapid_rbase+snapid的映射项,找到则重定向;若未找到,搜索io对应chunk的snapid,找到则重定向,未找到则从源磁盘中读取所述待查询的历史数据项。

同时,本发明还提供一种持续数据保护装置,包括:

数据操作请求接收模块301:用于接收发送至持续数据保护cdp主机源磁盘的数据操作请求;

重定向模块302:用于将所述数据操作请求重定向到一预设的重定向时复制cdp保存盘上,在所述重定向时复制cdp保存盘端处理所述数据操作请求;

所述预设的重定向时复制cdp保存盘用于存储cdp历史数据。

在本发明一些实施例中,所述装置还包括:

源磁盘建立模块:用于建立所述源磁盘,使所述源磁盘为不占用实际存储空间的虚拟盘;

有效数据视图获取模块:用于利用cdp环境提供的访问接口获取有效数据视图;

有效数据同步模块:用于根据所述有效数据视图,将所述cdp历史有效数据中的cdp有效数据同步到一预设的恢复磁盘。

在本发明一些实施例中,所述方法还包括:

删除请求接收模块:用于收到cdp历史数据项删除请求;

删除及映射重定向模块:用于删除待删除的cdp历史数据项将剩余未删除历史数据项与元数据的对应关系进行重定向,变更剩余未删除历史数据项与元数据之间的对应关系。

在本发明一些实施例中,所述删除及映射重定向具体包括:

第一重定向单元:用于在扫描区间包含待删除的历史数据项的快照编号第一snapid且扫描区间最大值为cdp历史数据项的最大快照编号第二snapid的情况下,检测所述待删除历史数据项是否还存在其他在所述扫描区间范围内的快照编号;若有,且所述第一snapid值等于所述扫描区间范围的snapid最小值,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1,第一snapid+2,一直到第二snapid;若有,且所述第一snapid值大于所述扫描区间范围的snapid最小值,则删除待删除的cdp历史数据项,保持剩余未删除历史数据项与元数据的对应关系不变;若无,则删除待删除的cdp历史数据项,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid;

第二重定向单元:用于在扫描区间的两个端点均为第一snapid的情况下,查询待删除的历史数据项对应的数据块在所述第一snapid+1到第二snapid之间的闭区间内是否存在依赖的cdp历史数据项,若存在则暂时保持cdp历史数据项与元数据的对应关系不变,触发输入输出合并,待输入输出合并完成后删除所述依赖的cdp历史数据项;若不存在依赖的cdp历史数据项则删除待删除的cdp历史数据项;

第三重定向单元:用于在扫描区间的起点大于第一snapid、终点小于第二snapid的情况下,保持剩余未删除历史数据项对应的snapid;

第四重定向单元:用于在扫描区间的起点为所述第一snapid、终点小于所述第一snapid的情况下,将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid;

第五重定向单元:用于在扫描区间的起点小于第一snapid、终点为所述第一snapid,则将剩余未删除历史数据项对应的snapid依次修改为第一snapid+1、第一snapid+2、一直到第二snapid。

在本发明一些实施例中,所述装置还包括:

恢复请求接收模块:用于接收cdp历史数据项恢复请求;

查询模块:用于查询所述恢复请求对应的待恢复cdp历史数据项的变化情况;

恢复模块:用于恢复所述待恢复cdp历史数据项,在cdp历史数据使用过程中,将未变化的历史数据项写入一预设的恢复磁盘,所述恢复磁盘用于存储恢复后的cdp历史数据;在停止使用cdp历史数据时,将变化的历史数据项写入所述恢复磁盘。

在本发明一些实施例中,所述查询模块具体包括:

写io单元:用于对待查询的历史数据项写io;

写io查找单元:用于搜索所述历史数据项的io在dm_snapid_rbase+snapid的映射项,若未搜索到,则分配新的块chunk,重定向io到所述新分配的块chunk;若搜索到,则重定向io到搜索到的snapid,并进入下一步骤;其中,所述dm_snapid_rbase+snapid表示所述待查询的历史数据恢复后对其写io对应的snapid;

读io单元:用于对所述待查询的历史数据项读io;

读io查找单元:用于搜索所述历史数据项的io对应的块chunk在dm_snapid_rbase+snapid的映射项,找到则重定向;若未找到,搜索io对应chunk的snapid,找到则重定向,未找到则从源磁盘中读取所述待查询的历史数据项。

从上面所述可以看出,本发明实施例提供的持续数据保护方法及装置,采用cdp保存盘保存cdp历史数据,提高存储利用率;在初始化时对cdp有效历史数据进行初始化,提高操作效率,减少数据同步时间。在删除cdp历史数据时,大幅度减少io压力,降低对前端应用的影响;在恢复cdp历史数据时,缩短恢复时间,使得数据恢复对cdp历史数据使用不造成干扰和中断。

应当理解,本说明书所描述的多个实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1