异地数据备份中的差错控制方法

文档序号:6555142阅读:151来源:国知局
专利名称:异地数据备份中的差错控制方法
技术领域
本发明提出了异地数据备份中的差错控制方法,属于数据备份与灾难恢复领域,用于实时检测和控制备份系统中备份数据与本地数据的一致性。
背景技术
在备份系统中,保证备份数据的正确性是备份技术最基本的要求,因此必须在备份过程中对备份数据进行有效的差错控制,以保证数据备份的正确性与有效性。为检测备份数据的正确性,传统的手段是采用事后比较的方法,但此法不能及时发现数据备份过程中差错的发生。
本发明所提出了一种高效的数据差错控制方法,可用于实时检测异地备份过程中的数据正确性,并能始终保证备份数据的有效性。本发明中,通过在备份过程中对本地数据与备份数据进行摘要的累积验证与确认,实现了对数据的高效差错控制。本发明可提高备份过程中数据差错控制的效率,保证备份数据的正确性。可广泛用于数据备份、数据镜像、数据容灾等相关领域。

发明内容
本发明主要用于保证异地数据备份过程中远程备份数据与本地数据的一致性。本发明采用累积校验的方法,在每次本地数据产生需要备份的数据时,本地端均使用摘要更新算法计算出反映当前本地数据状态的摘要值,并将当前本地数据状态摘要值连同需要备份的数据封装成备份数据单元发送到远端,远端接收到备份数据单元后,同样利用摘要更新算法计算出能反映远端数据状态的远端摘要值,并与本地摘要值进行比较,若两端摘要值一致则说明远端数据与本地数据一致,备份端可以实施数据备份;若两端摘要值不一致,则说明远端数据与本地端数据不一致,需要进行出错处理。通过使用累积检验方法,在备份过程中实时检测两端数据的一致性,确保在两端数据不一致时能够及时发现,保证备份数据的有效性和正确性。


图1是本发明的工作原理。
图2是本地端初始化的步骤。
图3是备份端初始化的步骤。
图4是本地端数据传输的步骤。
图5是备份端差错控制的步骤。
具体实施例方式
为进一步说明本发明的原理及特征,以下结合附图进行说明。
在说明之前,定义将使用的名词和符号1)H摘要算法,如MD5、SHA-1等。
2)DL本地端当前的数据状态。
DR备份端当前的数据状态。
3)D本地端的数据变化情况。
ED本地端变化数据的摘要值。
4)EL本地端当前状态对应的摘要值。
ELnew本地端发生数据变化后对应的摘要值。
5)ER备份端当前状态对应的摘要值。
ERnew备份端发生数据变化后对应的摘要值。
6)R备份数据单元。
图1是本发明的工作原理。
本发明主要实现了异地数据备份(镜像)过程中的差错控制功能,图1中本地监控模块FMON,对本地数据中心中需镜像的文件的数据变化进行监控,将当前数据的变化情况进行封装,并传递给本地镜像模块LMM。本地镜像模块LMM对数据变化情况进行处理并将之与其它信息如数据变化的摘要等封装成备份单元,发送到远端。远端的镜像模块接收备份单元,首先实施差错控制并通过在远端的异地重构完成对本地数据的备份。在数据的重放过程中采用差错控制技术确保数据的一致性。异地重放、差错控制技术由本地镜像模块LMM以及远程镜像模块RMM完成。
本方法在实施前,需保证备份端数据与本地端数据的一致性。因此,在备份开始前需完成相应的初始化工作。在初始化阶段,LMM及RMM通过对备份端数据与本地端数据的同步及一致性检测,使两端数据处于一致状态。当备份端数据与本地端数据处于一致状态后,差错控制方法即可实时检测备份过程是否有错误发生,以保证备份数据的有效性。
在备份过程中,FMON对本地数据中心中需要镜像的文件的数据变化进行监控,得到当前数据的变化情况D(主要为写操作,包括URL地址、文件名、文件路径、偏移量、写入数据等),传递给LMM。LMM计算数据变化情况D的摘要值ED,并利用摘要更新算法计算出反映当前本地数据状态的摘要值ELnew。LMM将D、ED、ELnew封装成备份单元R发送到远端。在远端,RMM接收到备份单元R,解析出D、ED、ELnew,并重新计算相关摘要值为ED′,ERnew。若ED=ED,则表明当前数据传输完整,否则,说明本地数据变化情况D在传送过程中已被破坏,需要重传;若ERnew=ELnew,则对应文件保持数据一致性,否则,表明本地端数据和备份端数据的当前状态不一致,两端数据需要重新进行同步。
停止备份时,本地端退出前,需将当前本地端数据对应的摘要EL保存到配置文件中,备份端退出时也需将当前备份端数据对应的摘要ER保存到配置文件中,以确保系统重新运行时,系统可以再次顺利运行。
图2是本地端初始化的步骤。
本发明的本地端初始化时,完成本地端初始摘要值的生成工作,并与备份端配合,完成必要的数据同步工作,以保证备份开始前本地与备份两端的数据处于一致状态。本地端初始化过程包括以下步骤
①获得本地端摘要值的步骤从本地端对应的配置文件中读取本地端对应的摘要值ELI.若读取EL失败,使用摘要算法H,对DL进行摘要运算,求出其对应的摘要值EL,即EL=H(DL)。
II.如果读取EL成功,转②执行。
②发送本地端摘要值的步骤发送本地端摘要值EL到备份端,确定本地端与备份端数据是否一致I.若本地端与备份端数据一致,转到④。
II.若本地端与备份端数据不一致,转到③实施数据同步。
③同步备份端与本地端数据的步骤对两端数据进行同步,同步完成后,转到②。
④保存本地端摘要值的步骤保存本地端摘要EL到本地端对应的配置文件中。
至此,本地端初始化工作完成,可以开始进行本地数据的备份。
图3是备份端初始化的步骤。
备份端初始化时,完成备份端摘要的生成工作,并与本地端配合,完成数据的同步工作,以使数据备份开始前本地与备份两端的数据处于一致状态。备份端初始化包括以下步骤①接收本地端摘要值的步骤备份端接收本地端的摘要EL。
②检测本地端数据与备份端数据是否一致的步骤,包括1)获得备份端摘要值的步骤从对应的配置文件中读取当前备份端数据对应的摘要值ERI.如果读取ER失败,使用摘要算法H,对DR进行摘要运算,求出其对应的摘要值ER,即ERH(DR)。
II.如果读取ER成功,转到2)。
2)比较本地端与备份端摘要值的步骤比较备份端摘要值ER与本地端摘要值EL,发送比较结果到本地端,具体步骤如下
I.如果ER与EL一致,转到④。
II.如果ER与EL不一致,转到③。
③同步备份端与本地端数据的步骤配合本地端,对本地端与备份端进行数据同步,同步完成后转到①。
④保存备份端摘要值的步骤保存备份端摘要值ER到备份端所对应的配置文件中。
图4是本地端数据传输的步骤。
备份过程中,本地端LMM从本地监控模块FMON得到本地数据的变化情况,使用摘要更新算法计算得出实施差错控制所需的相关数据摘要值,将本地数据变化情况及计算得到的摘要值,封装为备份单元发送到备份端。
本地端数据传输的步骤如下①得到本地端数据变化情况的步骤本地端需要镜像的文件发生数据改变时,从本地监控模块得到本地数据的变化情况D。
②计算本地端数据变化情况的摘要值的步骤使用摘要算法H得到本地端数据变化情见D对应的摘要值EDED=H(D)。
③计算本地端摘要值的步骤(a)获得本地端摘要值的步骤从本地端对应的配置文件中,读取本地端的摘要值EL。
(b)计算本地端新摘要值的步骤I 封装本地端摘要值EL与本地端数据变化情况对应的摘要值ED;II 利用摘要算法对封装后的数据进行摘要运算,得到本地端的新摘要值ELnewELnew=H(EL+ED)。
(c)更新本地端摘要值的步骤更新本地端的摘要值ELEL=ELnew,将EL保存入相应的配置文件中。
④发送备份数据单元到备份端的步骤将D、ED及ELnew封装成备份数据单元R(D+ED+ELnew),将备份数据单元R发送到备份端。
⑤接受备份端差错控制指令的步骤若收到备份成功标志,则转⑥;若收到备份端重传指令,则转④;若收到备份端报错标志,则报告错误,并进行出错处理。
⑥继续处理下一步本地端数据传输的步骤转到①,继续处理下一步本地端数据传输工作。
图5是备份端差错控制的步骤。
备份过程中,远程镜像模块RMM接收到本地端所发送的备份单元后,使用摘要更新算法实施相应的摘要运算,并利用备份单元中的相关摘要信息检测传输过程中数据是否出错,并确定两端数据是否一致。若数据在传输过程中出错,则要求本地端进行重传;若两端数据已不一致,则进行数据同步;若无错误发生,则远程端通过在备份端上进行数据重放工作,完成数据在异地的重构。
具体地,备份端差错控制的步骤包括以下步骤①接收本地端数据的步骤接收本地端发送过来的备份数据单元R。解析R,得到本地端的数据变化情况D,D对应的摘要值ED,及本地端的新摘要值ELnew。
②检测数据传输过程是否出错的步骤重新计算D的摘要ED′ED=H(D);比较ED′与ED,确定数据传输过程是否出错。若ED′≠ED,表示数据传输过程出错,向本地端发出重传指令,要求本地端重传备份数据单元R。
③检测备份端数据与本地端数据是否一致的步骤(a)获得备份端摘要值的步骤从备份端对应的配置文件中,读取备份端当前的摘要值ER。
(b)计算备份端新摘要值的步骤I 封装备份端摘要值ER与本地数据变化情况的摘要值ED′;II 利用摘要算法对封装后的数据进行摘要运算,得到备份端的新摘要值ERnew。即ERnew=H(ER+ED′)。
(c)比较本地端与备份端新摘要值的步骤比较ERnew与ELnew的值,发送比较结果到本地端,具体步骤如下
I.若ERnew与ELnew一致,表示备份端数据与本地数据一致,转④。
II.若ERnew与EL不一致,表示备份端数据与本地数据已处于不一致状态,需要对备份端及本地端实施数据同步,向本地端报错,并进行出错处理。
④实施数据备份的步骤根据本地数据变化情况D在远程重构远端的数据变化D′,将D′应用于备份端。
⑤更新备份端摘要值的步骤更新远程备份端的摘要值ERER=ERnew,将ER保存入备份端配置文件中。
⑥通知本地端备份成功的步骤向本地端发送备份成功标志。
⑦继续处理下一步备份工作转到①,实施下一步备份。
权利要求
1.一种异地数据备份中的差错控制方法,其特征在于包括以下步骤本地端初始化的步骤;备份端初始化的步骤;本地端数据传输的步骤;备份端差错控制的步骤;其中本地端初始化的步骤包括以下步骤获得本地端摘要值的步骤;发送本地端摘要值的步骤;同步备份端与本地端数据的步骤;保存本地端摘要值的步骤;备份端初始化的步骤包括以下步骤接收本地端摘要值的步骤;检测本地端数据与备份端数据是否一致的步骤;同步备份端与本地端数据的步骤;保存备份端摘要值的步骤;本地端数据传输的步骤包括以下步骤得到本地端数据变化情况的步骤;计算本地端数据变化情况的摘要值的步骤;计算本地端摘要值的步骤;发送备份数据单元到备份端的步骤;接受备份端差错控制指令步骤;继续处理下一步本地端数据传输的步骤;备份端差错控制的步骤包括以下步骤接收本地端数据的步骤;检测数据传输过程是否出错的步骤;检测备份端数据与本地端数据是否一致的步骤;实施数据备份的步骤;更新备份端摘要值的步骤;通知本地端备份成功的步骤;继续处理下一步备份工作的步骤。
2.权利要求1所述的一种异地数据备份中的差错控制方法,其特征在于备份端初始化的步骤中,检测本地端数据与备份端数据是否一致的步骤包括以下步骤获得备份端摘要值的步骤;比较本地端及备份端摘要值的步骤。
3.权利要求1所述的一种异地数据备份中的差错控制方法,其特征在于本地端数据传输的步骤中,计算本地端摘要值的步骤包括以下步骤获得本地端摘要值的步骤;计算本地端新摘要值的步骤;更新本地端摘要值的步骤。
4.权利要求3所述的一种异地数据备份中的差错控制方法,其特征在于本地端数据传输的步骤中,计算本地端摘要值的步骤中,计算本地端新摘要值的步骤包括以下步骤封装本地端摘要值与本地端数据变化情况对应的摘要值的步骤;利用摘要算法对封装后的数据进行摘要运算,得到本地端新摘要值的步骤。
5.权利要求1所述的一种异地数据备份中的差错控制方法,其特征在于备份端差错控制的步骤中,检测备份端数据与本地端数据是否一致的步骤包括以下步骤获得备份端摘要值的步骤;计算备份端新摘要值的步骤;比较本地端与备份端新摘要值的步骤。
6.权利要求5所述的一种异地数据备份中的差错控制方法,其特征在于备份端差错控制的步骤中,检测备份端数据与本地端数据是否一致的步骤中,计算备份端新摘要值的步骤包括以下步骤封装备份端摘要值与本地数据变化情况的摘要值的步骤;利用摘要算法对封装后的数据进行摘要运算,得到备份端的新摘要值的步骤。
全文摘要
本发明提出了一种异地数据备份中的差错控制方法,属于数据备份与灾难恢复领域。本发明通过累积检验方法,在每次本地数据产生需要备份的数据时,本地端均使用摘要更新算法计算出反映当前本地数据状态的摘要值,并将当前本地数据状态摘要值连同需要备份的数据封装成备份数据单元发送到备份端,备份端接收到备份数据单元后,同样利用摘要更新算法计算出能反映备份端数据状态的备份端摘要值,并与本地摘要值进行比较,若两端摘要值一致则说明备份端数据与本地端数据一致,备份端可以实施数据备份;若两端摘要值不一致,则说明备份端数据与本地端数据不一致,需要进行出错处理。通过使用累积检验方法,在备份过程中实时检测两端数据的一致性,确保在两端数据不一致时能够及时发现,保证备份数据的有效性和正确性。本发明具有效率高、实时性好,可广泛应用于数据备份、数据镜像、数据容灾等领域,应用前景广阔。
文档编号G06F11/14GK1818881SQ20061002046
公开日2006年8月16日 申请日期2006年3月10日 优先权日2006年3月10日
发明者李涛 申请人:四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1