灾备端、生产端及两者之间的数据恢复方法与流程

文档序号:17720382发布日期:2019-05-22 02:06阅读:217来源:国知局
灾备端、生产端及两者之间的数据恢复方法与流程

本发明涉及数据传输与存储技术领域,具体涉及一种灾备端、生产端及两者之间的数据恢复方法。



背景技术:

为了满足较高等级的数据保护需求,并获取较小的rpo(recoverypointobject,恢复时间点目标)和rto(recoverytimeobject,恢复时间目标),现有技术一般结合容灾系统和备份系统生成副本并恢复数据,具体地,采用远程复制技术使得容灾端保留最新生成的副本以实现容灾,备份端保留多份历史副本以实现备份。

但上述结合仅仅是两个独立系统的功能的结合,不仅需要分别构建和维护容灾系统和备份系统,使得构建和维护成本居高不下,而且两个独立系统中的大部分数据重复且不能共享,导致存储空间的利用率较低,尤其是,当生产端中最新的数据由于逻辑错误或者病毒等原因与容灾端中最新生成的副本不一致时,容灾端无法代替生产端执行对应的功能,整个业务系统将会瘫痪,另外由于备份端不能代替生产端执行对应的功能,恢复数据时需要将备份端的数据返回至生产端,导致rto时间较长,整个业务系统的连续性不能得到很好的保证。



技术实现要素:

有鉴于此,本发明实施例提供一种灾备端、生产端及两者之间的数据恢复方法,能够由一个系统融合容灾和备份这两种功能。

本发明实施例所采用的技术方案是:

第一方面提供一种数据恢复方法,包括:灾备端周期性的为生产端中的数据生成副本,并存储周期性生成的副本,其中所述数据包括源数据及源数据的差量数据;灾备端选取被存储的副本,并利用被选取的副本恢复生产端中对应的数据,以代替生产端执行其功能,其中所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

结合第一方面,在第一种可能的实现方式中,灾备端按照预设周期周期性的为生产端中的数据生成副本,所述灾备端存储周期性生成的副本的步骤包括:灾备端选择与前一个副本的时间间隔等于预设周期的整数倍的副本进行存储。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述灾备端存储周期性生成的副本的步骤进一步包括:灾备端删除生成时长大于预设时间门限的副本,并存储生成时长小于或等于预设时间门限的副本;或者灾备端检测当前存储的副本的总数是否大于预设数量门限,并在总数大于预设数量门限时删除最早生成的副本。

结合第一方面,在第三种可能的实现方式中,灾备端按照从晚到早的生成顺序或者根据接收的指令选取所述被存储的副本,其中所述指令用于选定所述被存储的副本中的任意一个。

结合第一方面,在第四种可能的实现方式中,所述灾备端代替生产端执行其功能的步骤之后包括:灾备端将执行生产端的功能产生的数据复制到生产端,使得生产端生成并存储对应的副本。

第二方面提供一种灾备端,包括:生成模块,用于周期性的为生产端中的数据生成副本,其中所述数据包括源数据及源数据的差量数据;存储模块,用于存储生成模块周期性生成的副本;选取模块,用于选取存储模块存储的副本;执行模块,用于利用被选取模块选取的副本代替生产端执行其功能,其中所述被选取的副本包括生成模块最新生成的副本及在最新生成的副本之前生成的副本。

结合第二方面,在第一种可能的实现方式中,生成模块按照预设周期周期性的为生产端中的数据生成副本,存储模块存储与前一个副本的时间间隔等于预设周期的整数倍的副本。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,灾备端进一步包括计时计数模块,用于得到生成模块生成的各个所述副本的时长和当前被存储模块存储的副本的总数,存储模块进一步用于删除生成时长大于预设时间门限的副本,并存储生成时长小于或等于预设时间门限的副本,或者,存储模块进一步用于在所述总数大于预设数量门限时删除最早生成的副本。

结合第二方面,在第三种可能的实现方式中,灾备端进一步包括用于接收指令的收发模块,选取模块按照从晚到早的生成顺序或者根据收发模块接收的指令选取所述被存储的副本,其中所述指令用于选定所述被存储的副本中的任意一个。

结合第二方面,在第四种可能的实现方式中,灾备端进一步包括收发模块,收发模块用于将执行模块执行所述功能产生的数据复制到生产端,使得生产端生成并存储对应的副本。

第三方面提供一种数据恢复方法,包括:生产端周期性的将自身的数据复制到灾备端,使得灾备端周期性的为所述数据生成副本并存储周期性生成的副本,以及选取被存储的副本并利用被选取的副本代替生产端执行其功能,其中所述数据包括源数据及源数据的差量数据,所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

结合第三方面,在第一种可能的实现方式中,所述数据恢复方法还包括:生产端接收灾备端执行所述功能时产生的数据,以及周期性的为接收的数据生成副本并存储。

结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,生产端按照预设周期周期性的为接收的数据生成副本,所述生产端存储生产端周期性生成的副本的步骤包括:生产端选择与前一个副本的时间间隔等于预设周期的整数倍的副本进行存储。

结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述生产端存储生产端周期性生成的副本的步骤还包括:生产端删除生成时长大于预设时间门限的副本,并存储生成时长小于或等于预设时间门限的副本;或者生产端检测当前存储的副本的总数是否大于预设数量门限,并在所述总数大于预设数量门限时删除最早生成的副本。

结合第三方面,在第四种可能的实现方式中,生产端还选取灾备端存储的副本,并利用被生产端选取的副本执行对应的功能。

第四方面提供一种生产端,包括收发模块,用于周期性的将自身的数据复制到灾备端,使得灾备端周期性的为所述数据生成副本并存储周期性生成的副本,以及选取被存储的副本并利用被选取的副本代替生产端执行其功能,其中所述数据包括源数据及源数据的差量数据,所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

结合第四方面,在第一种可能的实现方式中,生产端进一步包括生成模块和存储模块,收发模块还用于接收灾备端执行所述功能时产生的数据,生成模块用于周期性的为接收的数据生成副本,存储模块用于存储生成模块周期性生成的副本。

结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,生成模块按照预设周期周期性的为接收的数据生成副本,存储模块存储与前一个副本的时间间隔等于预设周期的整数倍的副本。

结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,生产端进一步包括计时计数模块,用于得到生成模块生成的各个副本的时长和当前存储模块存储的副本的总数,存储模块进一步用于删除生成时长大于预设时间门限的副本,并存储生成时长小于或等于预设时间门限的副本,或者,存储模块进一步用于在所述总数大于预设数量门限时删除最早生成的副本。

结合第四方面,在第四种可能的实现方式中,生产端还包括选取模块和执行模块,选取模块用于选取灾备端存储的副本,执行模块利用被选取模块选取的副本执行对应的功能。

本发明实施例的灾备端、生产端及两者之间的数据恢复方法,在生产端出现灾难及故障时,灾备端可以利用存储的最新生成的副本恢复数据以代替生产端执行其功能,从而确保整个系统的继续正常运行,且rto时间较短,灾备端还可以利用存储的历史副本实现备份,从而有效避免生产端中的最新数据由于逻辑错误或者病毒等原因与最新生成的副本不一致时导致的整个业务系统瘫痪的问题,另外灾备端存储有历史副本,可以在生产端恢复正常时将历史副本反馈给生产端,使得生产端可以按需恢复对应时间点的数据,相比较于分别构建和维护容灾系统和备份系统,由灾备端一个系统融合容灾和备份这两种功能,可降低购买和维护成本,并且执行容灾和备份的数据共同存储于灾备端中,不仅可以实现数据共享,而且可以提高存储空间的利用率。

附图说明

图1是本发明第一实施例的数据恢复方法的流程示意图;

图2是本发明第二实施例的数据恢复方法的流程示意图;

图3是本发明第三实施例的数据恢复方法的流程示意图;

图4是本发明第四实施例的数据恢复方法的流程示意图;

图5是本发明的灾备端和生产端一实施例的原理框示意图;

图6是本发明的灾备端一实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明所提供的示例性的实施例的技术方案进行清楚、完整地描述。

图1是本发明第一实施例的数据恢复方法的流程示意图。如图1所示,本实施例的数据恢复方法包括以下:

步骤s11:灾备端周期性的为生产端中的数据生成副本,并存储周期性生成的副本,其中所述数据包括源数据及源数据的差量数据。

所谓源数据的差量数据指的是生产端利用源数据执行某些操作并实现对应功能后产生的与源数据不同的数据。

步骤s12:灾备端选取被存储的副本,并利用被选取的副本恢复生产端中对应的数据,以代替生产端执行其功能,其中所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

在最新生成的副本之前生成的副本即通常所说的历史副本。

上述方法可以利用快照技术将生产端中的数据进行备份,当生产端由于灾难等因素无法正常运行时,灾备端可利用最新生成的副本恢复数据以代替生产端执行其功能,并使整个系统继续正常运行,且当生产端中的数据由于逻辑错误或者病毒等原因出现错误时,灾备端可利用距离所述错误发生时间最近的一个历史副本进行数据恢复。

由于生产端无法正常运行及出现错误是随机的,相关人员无法预测到其发生的时间,这就需要灾备端记录多个不同时间的数据的副本,因此,本实施例的灾备端按照预设周期周期性的为生产端中的数据生成副本,实质上即是对生产端中的数据(阵列数据)按照一预设时间间隔产生快照副本,并存储在灾备端的数据库中,具体而言:

对生产端在一时间窗口内复制过来的数据,灾备端按照预设时间间隔产生副本,并存储在灾备端的数据库中,且生成的副本的数量=所述时间窗口/所述预设时间间隔,例如可设置时间窗口为24小时且预设周期为1小时,那么灾备端可在每天的整点时间对生产端中的数据进行快照以生成副本。当然,为了节省灾备端的存储空间并加快副本的提取速度,生快的副本可以为生产端中的数据的增量数据生成副本,即只记录相对于之前所记录的副本产生变化的数据。

为了尽可能对靠近生产端无法正常运行的时间点的数据生成副本,上述预设周期的取值一般较小,这无疑会导致生成副本的数量巨大,占据灾备端较多的存储空间。为避免这种情况,本发明进一步提供如图2所示的第二实施例的数据恢复方法,与上述实施例的不同之处在于,本实施例并非对每一预设周期产生的副本都进行存储,而是选择性存储,相当于在灾备端预置了一个副本存储策略。

如图2所示,本实施例的数据恢复方法包括以下:

步骤s21:灾备端周期性的为生产端中的数据生成副本,其中所述数据包括源数据及源数据的差量数据。

步骤s22:灾备端选择与前一个副本的时间间隔等于预设周期的整数倍的副本进行存储,即,规定了灾备端何时选取副本进行存储。

例如,预设周期t1为60秒,若当前副本的生成时间与前一个副本的生成时间之间的时间间隔t2为3600秒,3600秒=60*60秒,符合t2=n*t1(n为正整数)这一副本存储策略,则灾备端存储该当前生成的副本;若当前副本的生成时间与前一个副本的生成时间之间的时间间隔t2为3630秒,3500秒=60.5*60秒,不符合t2=n*t1这一副本存储策略,则灾备端不对该当前生成的副本进行存储。

步骤s23:灾备端选取当前被存储的副本,并利用被选取的副本恢复生产端中对应的数据,以代替生产端执行其功能,其中所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

在图1或图2所示实施例的基础上,灾备端还可以对已经存储的多个副本进行淘汰,进一步减少副本占用的存储空间。在图2所示实施例的基础上,如图3所示,所述数据恢复方法包括以下:

步骤s31:灾备端周期性的为生产端中的数据生成副本,其中所述数据包括源数据及源数据的差量数据。

步骤s32:灾备端选择与前一个副本的时间间隔等于预设周期的整数倍的副本进行存储。

步骤s33:灾备端删除生成时长大于预设时间门限的副本,并存储生成时长小于或等于预设时间门限的副本。

例如,预设时间门限t3为10天,表示每一副本在灾备端中被存储的时间为10天。其中,灾备端删除超过生成时长大于预设时间门限的副本的方式可以但不限于:一次性删除所有生成时长大于预设时间门限的副本;或者,在需要存储新生成的m个副本时,按照从早到晚的被存储顺序,删除已经存储的m个副本,其中m为正整数。

步骤s34:灾备端选取当前被存储的副本,并利用被选取的副本恢复生产端中对应的数据,以代替生产端执行其功能,其中所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

图4是本发明第四实施例的数据恢复方法的流程示意图。与图3所示实施例的不同之处在于,本实施例根据灾备端当前存储的副本的总数进行淘汰,以减少副本占用的存储空间。

如图4所示,所述数据恢复方法包括以下:

步骤s41:灾备端周期性的为生产端中的数据生成副本,其中所述数据包括源数据及源数据的差量数据。

步骤s42:灾备端选择与前一个副本的时间间隔等于预设周期的整数倍的副本进行存储。

步骤s43:灾备端检测当前存储的副本的总数是否大于预设数量门限,并在所述总数大于预设数量门限时删除最早生成的副本。

步骤s44:灾备端选取当前被存储的副本,并利用被选取的副本恢复生产端中对应的数据,以代替生产端执行其功能,其中所述被选取的副本包括最新生成的副本及在最新生成的副本之前生成的副本。

在上述各实施例中,灾备端既可以按照从晚到早的生成顺序对当前被存储的副本进行选取,以恢复对应时间点的数据,也可以根据接收到的指令对当前被存储的副本进行选取,其中所述指令由用户下发并用于选定当前被存储的副本中的任意一个,既可以为最新生成的副本也可以为在最新生成的副本之前生成的副本,即历史副本。具体地:

在生产端出现灾难及故障时,灾备端可以利用存储的最新生成的副本恢复数据以代替生产端执行其功能,从而确保整个系统的继续正常运行,由于无需将最新生成的副本再发送给一个正常的生产端,因此rto时间较短;其次,灾备端还可以利用存储的历史副本实现备份,从而有效避免生产端中的最新数据由于逻辑错误或者病毒等原因与最新生成的副本不一致时导致的整个业务系统瘫痪的问题;另外,灾备端存储有历史副本,可以在生产端恢复正常时将历史副本反馈给生产端,使得生产端可以按需恢复对应时间点的数据。

可见,相比较于分别构建和维护容灾系统和备份系统,本发明实施例由灾备端一个系统融合容灾和备份这两种功能,可降低购买和维护成本,并且执行容灾和备份的数据共同存储于灾备端中,不仅可以实现数据共享,而且可以提高存储空间的利用率。

进一步地,灾备端代替生产端执行其功能之后,灾备端可以将执行生产端的功能产生的数据复制到生产端,使得生产端生成并存储对应的副本,从而在该生产端恢复正常运行时直接利用所述副本恢复对应的数据,以继续进行整个业务,而不会产生较长的rto时间。

正常运行的生产端在接收灾备端执行所述功能时产生的数据之后,也可以周期性的为接收的数据生成副本并存储,其具体过程与前述的灾备端的相关过程及原理相同,此处不再赘述。

图5是本发明的灾备端和生产端一实施例的原理框示意图。如图5所示,灾备端51和生产端52构成一数据恢复系统,其中,灾备端51包括第一生成模块511、第一存储模块512、第一选取模块513以及第一执行模块514,生产端52包括第二收发模块526。

第二收发模块526用于周期性的将自身的数据复制到第一收发模块516,所述数据包括生产端52中的源数据及源数据的差量数据,第一生成模块511用于按照第一预设周期周期性的为所述数据生成副本。第一存储模块512用于存储第一生成模块511周期性生成的副本。

为了尽可能对靠近生产端52无法正常运行的时间点的数据生成副本,第一预设周期的取值一般较小,这无疑会导致生成副本的数量巨大,占据第一存储模块512较多的存储空间。为避免这种情况,第一存储模块512并非对每一第一预设周期产生的副本都进行存储,而是选择性存储,相当于在灾备端预置一个副本存储策略,具体地,第一存储模块512存储与前一个副本的时间间隔等于第一预设周期的整数倍的副本。

本实施例的灾备端51还可以对第一存储模块512已经存储的多个副本进行淘汰,进一步减少副本占用的存储空间,具体而言:

通过灾备端51的第一计时计数模块515得到第一生成模块511生成的各个副本的时长和当前被第一存储模块512存储的副本的总数,第一存储模块512删除生成时长大于第一预设时间门限的副本,仅存储生成时长小于或等于第一预设时间门限的副本,或者,第一存储模块512在所述总数大于第一预设数量门限时删除最早生成的副本。

第一选取模块513用于选取第一存储模块512存储的副本,所述选取方式可以但不限于:第一选取模块513按照从晚到早的生成顺序对当前被第一存储模块512存储的副本进行选取,或者,通过灾备端51的第一收发模块516接收用户下发的指令,并根据所述指令选取当前被第一存储模块512存储的副本,其中指令用于选定当前被第一存储模块512存储的副本中的任意一个,既可以为最新生成的副本也可以为在最新生成的副本之前生成的副本,即历史副本。

第一执行模块514用于利用被第一选取模块513选取的副本代替生产端52执行其功能。在生产端52出现灾难及故障时,第一执行模块514可以利用存储的最新生成的副本恢复数据以代替生产端52执行其功能,从而确保整个系统的继续正常运行,由于无需将最新生成的副本再发送给一个正常的生产端,因此rto时间较短。

其次,第一执行模块514还可以利用存储的历史副本实现备份,从而有效避免生产端52中的最新数据由于逻辑错误或者病毒等原因与最新生成的副本不一致时导致的整个业务系统瘫痪的问题;另外,第一存储模块512存储有历史副本,可以在生产端52恢复正常时将历史副本反馈给生产端52,使得生产端52可以按需恢复对应时间点的数据。

进一步地,第一执行模块514执行生产端52的功能之后,第一收发模块516可用于将第一执行模块514执行所述功能产生的数据复制到第二收发模块526,正常运行的生产端52在接收灾备端执行所述功能时产生的数据之后,也可以周期性的为接收的数据生成副本并存储,其具体过程与前述的灾备端51的相关过程及原理相同,具体如下:

第二生成模块521按照第二预设周期周期性的为接收的数据生成副本,第二存储模块522用于存储第二生成模块521周期性生成的副本,具体可存储与前一个副本的时间间隔等于第二预设周期的整数倍的副本,进一步地,通过生产端52的第二计时计数模块525得到第二生成模块521生成的各个副本的时长和当前被第二存储模块522存储的副本的总数,第二存储模块522删除生成时长大于第二预设时间门限的副本,仅存储生成时长小于或等于第二预设时间门限的副本,或者,第一存储模块512在所述总数大于第二预设数量门限时删除最早生成的副本。其中,第二预设周期与前述第一预设周期、第二预设时间门限与前述第一预设时间门限、第二预设数量门限与前述第一预设数量门限之间没有必然联系,对应的两者取值可以相同也可以不相同。

在生产端52恢复正常时,生产端52的第二选取模块523可选取灾备端51的第一存储模块512存储的副本(例如历史副本),生产端52的第二执行模块524利用被第二选取模块523选取的副本执行对应的功能,使得生产端52可以按需恢复对应时间点的数据。

以上所描述的灾备端51和生产端52的各个模块结构,对应执行上述各实施例所述的数据恢复方法,因此具有与其相同的技术效果。

应该理解到,上述灾备端51和生产端52的实施例仅仅是示意性的,所描述的模块仅仅为一种逻辑功能划分,实际实现时可以有其他划分方式,例如多个模块可以结合或者集成到另一个系统中。另外,模块相互之间的耦合或通信连接可以是通过一些接口,也可以是电性或其它的形式。上述各个功能模块作为灾备端51和生产端52的组成部分,可以是或者也可以不是物理框,既可位于一个地方,也可分布到多个网络单元上,既可采用软件功能框的形式实现,也可采用硬件的形式实现,例如图6所示的灾备端60的结构示意图。

灾备端60包括收发器61、存储器62、处理器63及总线64,收发器61、存储器62、处理器63通过总线64连接,其中:

收发器61用于建立灾备端60与生产端之间的连接,从而用于进行灾备端60与生产端之间各种数据的收发。

存储器62可以实现为计算机的软盘、u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等的一种或多种。存储器62存储有应用程序,用以实现例如图1-图4所示的数据恢复方法。

处理器63通过调用存储器62中存储的应用程序,执行如下操作:

处理器63控制收发器61接收生产端发送的数据,所述数据包括生产端中的源数据及源数据的差量数据,并按照预设周期周期性的为所述数据生成副本,以及将生成的副本存储于存储器62中。

其中,为降低周期性生成的副本在存储器62中占用的存储空间,处理器63可选取与前一个副本的时间间隔等于预设周期的整数倍的副本存储于存储器62中,进一步地,处理器63控制存储器62删除生成时长大于预设时间门限的副本,仅存储生成时长小于或等于预设时间门限的副本,或者,在检测到存储器62中存储的副本的总数大于预设数量门限时,控制存储器62删除最早生成的副本。

处理器63进一步选取存储器62当前存储的副本,以代替生产端执行其功能。在生产端出现灾难及故障时,处理器63可以利用存储器62当前存储的最新生成的副本恢复数据以代替生产端执行其功能,从而确保整个系统的继续正常运行,由于无需将最新生成的副本再发送给一个正常的生产端,因此rto时间较短。

处理器63还可以利用存储器62当前存储的历史副本实现备份,从而有效避免生产端中的最新数据由于逻辑错误或者病毒等原因与最新生成的副本不一致时导致的整个业务系统瘫痪的问题。另外,存储器62存储有历史副本,处理器63可以在生产端恢复正常时控制收发器61将历史副本反馈给生产端,使得生产端可以按需恢复对应时间点的数据。

进一步地,处理器63执行生产端的功能之后,可控制收发器61将执行所述功能产生的数据复制到生产端,正常运行的生产端在接收灾备端执行所述功能时产生的数据之后,也可以周期性的为接收的数据生成副本并存储以及选取,从而恢复对应时间点的数据,其具体过程与前述的灾备端60的相关过程及原理相同,此处不再赘述。

本领域技术人员可以清楚地了解到,上述灾备端60和生产端的上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中,即,本发明实施例可以以软件产品的形式体现出来,其包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明中的各个实施例所述方法的全部或部分步骤。

在此基础上,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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