基于卷备份的断点差异同步方法、系统及卷实时备份方法与流程

文档序号:34862963发布日期:2023-07-23 12:50阅读:40来源:国知局
基于卷备份的断点差异同步方法、系统及卷实时备份方法与流程

本发明属于数据容灾备份,涉及一种基于卷备份的断点差异同步方法、系统及卷实时备份方法。


背景技术:

1、数据备份是数据容灾的基础,数据备份的过程是将生产端的数据同步到目标端。差异同步是指获得每次变化的数据,再将变化的数据同步到目标端,以尽可能地减少每次的同步数据量,提高同步效率。

2、实时备份是指实时地对业务数据进行备份的方式。相对于传统定时备份的方式,实时备份可以达到极小的rpo(recovery point objective),最大程度上避免由于故障导致的数据丢失。卷实时备份是一种针对卷的实时备份技术,是数据容灾备份领域的重点研究问题。

3、目前,卷实时备份技术一般结合i/o数据监控技术,可以分为两个主要步骤:步骤1.生产卷同步:任务启动后,通过对生产卷创建快照,备份客户端将快照数据通过网络备份到服务端的镜像空间,完成首次同步;步骤2.生产卷变化数据实时监控:一旦快照创建后,备份客户端的驱动模块会监控生产卷i/o的变化,将实时变化数据同步到备份系统的日志空间。但是,如前所述,卷实时备份技术在执行步骤2生产卷变化数据实时监控时,若备份源生产主机出现正常重启或关闭重启的断点情况,每次都需要进行完全同步,这样会花费大量的时间,从而影响了生产卷同步的效率。

4、因此,如何能够在断点情况出现后快速完成生产卷同步,而后迅速开始生产卷变化数据实时监控,是当前急需解决的技术问题。


技术实现思路

1、本发明为了解决上述背景技术中的技术问题,提供一种基于卷备份的断点差异同步方法、系统及卷实时备份方法,所述方案如下:

2、第一个方面,提供了一种基于卷备份的断点差异同步方法,所述方法包括步骤:

3、将生产卷磁盘拆分为若干大小相同的数据块;

4、监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写i/o次数变量和备份读i/o次数变量组成;

5、当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写io次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读i/o;

6、当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;

7、在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写i/o次数与备份读i/o进行一致性校验,最后执行差异同步操作。

8、在其中一个实施例中,所述将生产卷磁盘拆分为若干大小相同的数据块步骤,包括:

9、将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2n兆,所述n为整数,取值为0-5;

10、对全部所述数据块进行依次编号。

11、在其中一个实施例中,在所述在监控驱动中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写i/o次数变量和备份读i/o次数变量组成步骤中,所述写i/o次数变量和所述备份读i/o次数变量均为32位整型变量。

12、在其中一个实施例中,所述在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写i/o次数与备份读i/o进行一致性校验,最后执行差异同步操作步骤,包括:

13、在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;

14、遍历备份确认记录表中的记录元素,并比较每个记录元素中写i/o次数与备份读i/o次数,获得一致性校验结果;

15、根据一致性校验结果,将写i/o次数与备份读i/o次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。

16、在其中一个实施例中,上述基于卷备份的断点差异同步方法,还包括步骤:

17、当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写i/o次数与备份读i/o进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。

18、第二个方面,提供了一种基于卷备份的断点差异同步系统,所述系统包括:

19、拆分生产卷磁盘模块,用于将生产卷磁盘拆分为若干大小相同的数据块;

20、创建备份确认记录表模块,用于监控驱动在内存中创建与生产卷对应的备份确认记录表,所述备份确认记录表由若干大小相同的记录元素组成,所述记录元素与所述数据块一一对应,每个所述记录元素由写i/o次数变量和备份读i/o次数变量组成;

21、更新备份确认记录表模块,用于当写磁盘时,监控驱动在备份确认记录表中记录生产卷每个数据块的写io次数;当备份变化数据时,监控驱动在备份确认记录表中更新生产卷每个数据块的备份读i/o;

22、拷贝备份确认记录表模块,用于当监测到生产系统的关机事件,将备份确认记录表从内存拷贝到磁盘;

23、处理生产系统重新启动模块,用于在生产系统重新启动后,先从磁盘恢复备份确认记录表到内存,再通过遍历并比较每个记录元素的写i/o次数与备份读i/o进行一致性校验,最后执行差异同步操作。

24、在其中一个实施例中,所述拆分生产卷磁盘模块,包括:

25、拆分生产卷磁盘单元,用于将所述生产卷磁盘拆分为若干数据块,每个所述数据块的大小为2n兆,所述n为整数,取值为0-5;

26、编号数据块单元,用于对全部所述数据块进行依次编号。

27、在其中一个实施例中,在所述创建备份确认记录表模块中,所述写i/o次数变量和所述备份读i/o次数变量均为32位整型变量。

28、在其中一个实施例中,所述处理生产系统重新启动模块,包括:

29、加载恢复单元,用于在生产系统重新启动后,从磁盘中将备份确认记录表加载到内存;

30、一致性校验单元,用于遍历备份确认记录表中的记录元素,并比较每个记录元素中写i/o次数与备份读i/o次数,获得一致性校验结果;

31、差异同步单元,用于根据一致性校验结果,将写i/o次数与备份读i/o次数不一致的记录元素所对应的数据块数据同步到备份服务端系统。

32、在其中一个实施例中,上述基于卷备份的断点差异同步系统,还包括:

33、处理备份服务端重新启动模块,用于当备份客户端系统检测到备份服务端重新启动,备份客户端系统连接并询问备份服务端系统是否执行快速差异同步操作,若是,则通过遍历并比较每个记录元素的写i/o次数与备份读i/o进行一致性校验,再执行差异同步操作;若否,直接进行实时监控。

34、第三个方面,提供一种卷实时备份方法,利用上述基于卷备份的断点差异同步方法,还包括步骤:

35、监控驱动实时监控并捕获i/o变化数据,再构造与该i/o变化数据相应的第一结构体,所述第一结构体具有结构头,所述结构头包括i/o变化数据长度;

36、通过第一变量,将内存缓存和文件缓存用同一个第二结构体进行表征,所述第一变量包括缓存中已放有第一结构体对象的数量和完全的缓存空间大小;

37、通过第二变量和第三变量,将监控驱动写指针与变化数据发送程序读指针用同一个第三结构体进行表征,所述第二变量包括写指针的缓存位置和写指针的切换次数;所述第三变量包括读指针的缓存位置和读指针的切换次数;

38、在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存,其中所述第一信息包括写指针的当前缓存位置、写指针占用当前缓存的程度、写指针的当前切换次数、读指针的当前缓存位置、读指针的当前切换次数;

39、在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存,其中所述第二信息包括写指针的当前缓存位置、写指针的当前切换次数、读指针的当前缓存位置、读指针读取当前缓存的程度和读指针的当前切换次数;

40、其中下一个缓存为内存缓存或文件缓存;初始缓存为内存缓存。

41、在其中一个实施例中,所述在进行数据缓存时,根据第一结构体、第二结构体和第三结构体,获取第一信息,再根据第一信息,将写指针切换到当前缓存的头部或切换到下一个缓存的步骤,包括:

42、根据第一信息判断写指针是否切换到当前缓存的头部:

43、若同时满足三个条件:(1)写指针与读指针当前位于相同缓存;(2)写指针与读指针当前切换次数相等;(3)写指针占用当前缓存长度p1加上i/o变化数据对象长度p2的总值p4大于当前缓存的分配边界长度p3,或写指针占用当前缓存长度p1等于当前缓存的分配边界长度p3,即判断写指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存写入i/o变化数据,直到同时满足上述三个条件;

44、根据第一信息判断写指针是否切换到下一个缓存:

45、若同时满足三个条件:(1)写指针与读指针在当前缓存碰撞或预计碰撞;(2)写指针与读指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断写指针切换到下一个缓存;若未同时满足上述三个条件,则继续在当前缓存写入i/o变化数据,直到同时满足上述三个条件。

46、在其中一个实施例中,所述在进行数据同步时,根据第一结构体、第二结构体和第三结构体,获取第二信息,再根据第二信息,将读指针切换到当前缓存的头部或切换到下一个缓存或切回到初始缓存步骤,包括:

47、根据第二信息判断读指针是否切换到当前缓存的头部:

48、若同时满足三个条件:(1)读指针位于当前缓存尾部;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量大于0,即判断读指针切换到当前缓存的头部;若未同时满足上述三个条件,则继续在当前缓存读取i/o变化数据,直到同时满足上述三个条件;

49、根据第二信息判断读指针是否切换到下一个缓存:

50、若同时满足两个条件:(1)读指针与写指针当前切换次数不相等;(2)当前缓存中已放有第一结构体对象的数量为0,即判断读指针切换到下一个缓存;若未同时满足上述两个条件,则继续在当前缓存读取i/o变化数据,直到同时满足上述两个条件;

51、根据第二信息判断读指针是否切回到初始缓存:

52、若同时满足四个条件:(1)读指针与写指针在当前缓存碰撞;(2)读指针与写指针当前切换次数相等;(3)当前缓存中已放有第一结构体对象的数量为0;(4)读指针当前位于文件缓存,即判断读指针回到初始缓存;若未同时满足上述四个条件,则继续在当前缓存读取i/o变化数据,直到同时满足上述四个条件。

53、在其中一个实施例中,在所述通过第一变量,将内存缓存和文件缓存用同一个第二结构体进行表征的步骤中,所述第一变量还包括实际的缓存空间大小;

54、在进行数据缓存时,根据第一信息,写指针将当前实际的缓存空间尾部作为当前缓存尾部,再将写指针切换到当前缓存的头部;

55、在进行数据同步时,根据第二信息,读指针将当前实际的缓存空间尾部作为当前缓存尾部,再将读指针切换到当前缓存的头部。

56、在其中一个实施例中,上述卷实时备份方法还包括步骤:

57、获取空闲的内存缓存和文件缓存;

58、将所述文件缓存拆分为n个子文件缓存,所述n为2或3;

59、以内存缓存为首,按序设置内存缓存和n个子文件缓存,当写指针或读指针切换到下一个缓存时,按内存缓存和n个子文件的顺序依次执行切换。

60、本发明的有益效果是:

61、1.本发明通过比较数据块的写io次数和数据块的读io次数进行一致性校验,该校验方式准确且简便;

62、2.本发明当监测到生产系统的关机事件,会将备份确认记录表从内存刷新到磁盘上,以文件形式进行保存,确保了备份源生产主机在出现正常重启或关闭重启的断点情况下不丢失备份确认记录表,也确保了可以正常且快速进行差异同步,整体稳定性较好;

63、3.本发明将磁盘拆分为若干大小相同的数据块,通过驱动监控的备份确认记录表记录每个数据块的写io次数和每个数据块的读io次数,之后再通过校验数据块的读/写io次数一致情况,可以对不一致的数据块进行差异同步,该方法帮助生产主机在遭遇断点后可进行差异同步而非进行完全同步,从而快速进入到实时监控阶段。

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