一种连续数据保护的快照回收方法、装置、设备及存储介质与流程

摘要: 本技术涉及连续数据保护,更具体的说,是涉及一种连续数据保护的快照回收方法、装置、设备及存储介质。背景技术:1、连续数据保护依靠快照记录数据时序状态,通过位图标记...
一种连续数据保护的快照回收方法、装置、设备及存储介质与流程

本技术涉及连续数据保护,更具体的说,是涉及一种连续数据保护的快照回收方法、装置、设备及存储介质。

背景技术:

1、连续数据保护依靠快照记录数据时序状态,通过位图标记各数据块在快照中的修改记录,数据恢复时需反向检索目标快照前最近修改快照。连续数据保护系统持续捕获业务数据变更,以秒级频率生成快照,快照保留周期届满后需回收过期快照释放存储。连续数据保护快照采用写时重定向共享存储机制,新旧快照间存在复杂数据块引用依赖,直接删除过期快照会造成留存快照数据丢失。

2、当前主流存储方案如快照回收技术、wafl快照技术、虚拟化备份工具均配套快照回收逻辑,但连续数据保护每秒生成快照的超高频次,与传统文件系统、定时备份场景存在本质差异,现有回收机制难以适配连续数据保护高写入、海量快照的运行特征。

3、现有引用计数法需持续维护数据块计数值,快照创建阶段带来高额写路径开销;写时复制技术合并实现逻辑复杂,依赖多快照依赖关系维护;增量扫描回收需全量遍历全部数据块,tb级存储下扫描耗时极长。同时现有方案缺少轻量级恢复隔离机制,数据恢复与快照回收易发生数据块读写冲突,且无法实现基线自动向前滚动,影响历史数据恢复完整性。

4、如何提高连续数据保护在百万级快照下的快照回收效率,释放更多存储空间,同时保证恢复操作不受回收影响,是需要关注的问题。

技术实现思路

1、鉴于上述问题,本技术提供了一种连续数据保护的快照回收方法、装置、设备及存储介质,以提高连续数据保护在百万级快照下的快照回收效率,释放更多存储空间,同时保证恢复操作不受回收影响。

2、为了实现上述目的,现提出具体方案如下:

3、一种连续数据保护的快照回收方法,包括:

4、加载存储有数据块操作状态的位图文件;

5、按照从当前往历史的顺序,针对索引到所述位图文件的快照保留窗口期内的每一个目标快照,检查所述目标快照是否有所述数据块的修改记录;

6、若是,则读取所述目标快照自身的第一数据文件,并将所述第一数据文件写入基线文件中与所述目标快照对应的位置,删除所述位图文件中的所述第一数据文件;

7、若否,则通过位图搜索定位所述目标快照的最近的引用源快照,读取所述引用源快照的第二数据文件,并将所述第二数据文件写入所述基线文件中与所述目标快照对应的位置,不删除所述第二数据文件。

8、可选的,该方法还包括:

9、在完成所述快照保留窗口内所有快照数据回收后,删除所述位图文件内早于所述快照保留窗口期的数据文件;

10、在所述位图文件内,清除已被删除数据文件的快照的修改标记;

11、通知缓冲池将所述数据块写回磁盘;

12、在记存有所有快照的b+树中,删除已删除所述修改标记的各个快照的索引记录。

13、可选的,所述加载存储有数据块操作状态的位图文件,包括:

14、当预先设定的定时器触发周期性回收任务时,通过缓冲池加载存储有数据块操作状态的位图文件。

15、可选的,所述位图文件包含原始位图层、字摘要层和超级摘要层,所述字摘要层为所述原始位图层的高级索引层,所述超级摘要层为所述字摘要层的高级索引层;

16、所述通过位图搜索定位所述目标快照的最近的引用源快照,包括:

17、定位目标快照在所述原始位图层的第一目标字的第一目标位;

18、以所述第一目标位作为起始点,依次按照所述超级摘要层、所述字摘要层到所述原始位图层的索引顺序,前向查找包含修改标记的第二目标位;

19、根据所述第二目标位在所述位图数据层结构中的位置,定位最近修改过所述数据块的引用源快照。

20、可选的,在所述加载存储有数据块操作状态的位图文件之前,该方法还包括:

21、注册恢复隔离任务,以检查连续数据保护系统是否存在恢复任务;

22、若是,则跳过快照回收任务;

23、若否,则执行所述加载存储有数据块操作状态的位图文件;

24、在完成所述快照保留窗口内所有快照数据回收后,注销所述恢复隔离任务。

25、一种连续数据保护的快照回收装置,包括:

26、位图文件加载单元,用于加载存储有数据块操作状态的位图文件;

27、数据块修改检查单元,用于按照从当前往历史的顺序,针对索引到所述位图文件的快照保留窗口期内的每一个目标快照,检查所述目标快照是否有所述数据块的修改记录,若是,则执行自身文件直接写入基线单元,若否,则执行最近引用源文件写入基线单元;

28、所述自身文件直接写入基线单元,用于读取所述目标快照自身的第一数据文件,并将所述第一数据文件写入基线文件中与所述目标快照对应的位置,删除所述位图文件中的所述第一数据文件;

29、所述最近引用源文件写入基线单元,用于通过位图搜索定位所述目标快照的最近的引用源快照,读取所述引用源快照的第二数据文件,并将所述第二数据文件写入所述基线文件中与所述目标快照对应的位置,不删除所述第二数据文件。

30、可选的,该装置还包括:

31、更早数据文件删除单元,用于在完成所述快照保留窗口内所有快照数据回收后,删除所述位图文件内早于所述快照保留窗口期的数据文件;

32、修改标记清除单元,用于在所述位图文件内,清除已被删除数据文件的快照的修改标记;

33、数据块写回单元,用于通知缓冲池将所述数据块写回磁盘;

34、b+树索引记录删除单元,用于在记存有所有快照的b+树中,删除已删除所述修改标记的各个快照的索引记录。

35、可选的,所述位图文件加载单元,包括:

36、定时触发单元,用于当预先设定的定时器触发周期性回收任务时,通过缓冲池加载存储有数据块操作状态的位图文件。

37、可选的,所述最近引用源文件写入基线单元,包括:

38、第一目标位定位单元,用于定位目标快照在所述原始位图层的第一目标字的第一目标位;

39、前向查找单元,用于以所述第一目标位作为起始点,依次按照所述超级摘要层、所述字摘要层到所述原始位图层的索引顺序,前向查找包含修改标记的第二目标位;

40、引用源快照定位单元,用于根据所述第二目标位在所述位图数据层结构中的位置,定位最近修改过所述数据块的引用源快照。

41、可选的,该装置还包括:

42、恢复隔离检查单元,用于在所述加载存储有数据块操作状态的位图文件之前,注册恢复隔离任务,以检查连续数据保护系统是否存在恢复任务,若是,则执行跳过回收单元,若否,则执行所述位图文件加载单元;

43、所述跳过回收单元,用于跳过快照回收任务;

44、恢复隔离注销单元,用于在完成所述快照保留窗口内所有快照数据回收后,注销所述恢复隔离任务。

45、一种连续数据保护的快照回收设备,包括存储器和处理器;

46、所述存储器,用于存储程序;

47、所述处理器,用于执行所述程序,实现如上所述的连续数据保护的快照回收方法的各个步骤。

48、一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的连续数据保护的快照回收方法的各个步骤。

49、借由上述技术方案,本技术通过加载存储有数据块操作状态的位图文件,按照从当前往历史的顺序,针对索引到位图文件的快照保留窗口期内的每一个目标快照,检查目标快照是否有数据块的修改记录,若是,则读取目标快照自身的第一数据文件,并将第一数据文件写入基线文件中与目标快照对应的位置,删除位图文件中的第一数据文件,若否,则通过位图搜索定位目标快照的最近的引用源快照,读取引用源快照的第二数据文件,并将第二数据文件写入基线文件中与目标快照对应的位置,不删除第二数据文件。由此可见,通过基线向前扫描的模式,最后一个过期快照合并后删除,更早的过期快照直接删除,可一次回收周期内释放大量存储空间,提高了快照回收效率,由于最后一个过期快照数据合并至基线,保证基线始终包含保留窗口起始点附近的最新数据状态,使恢复操作不受回收影响,任何时间点恢复都可以定位到基线或保留窗口内的快照。