网络信息系统异地数据镜像方法

文档序号:6555140阅读:281来源:国知局
专利名称:网络信息系统异地数据镜像方法
技术领域
本发明提出了一种网络信息系统异地数据镜像方法,属于信息安全领域。
背景技术
传统的异地数据镜像技术依赖专用高速线路,普遍需要架设光纤专线,且对远程备份中心系统配置要求很高,几乎就是要在异地建立一套与本地系统完全一模一样的信息处理中心,需要专人值守,整个系统的建设费用和维护费用非常昂贵。
中国专利公开号为CN2653593的申请案可实现数据的异地备份,但需要光纤网络和光纤交换设备,系统的建设费用和维护费用昂贵,且备份距离受到很大限制。中国专利公开号为CN1445672的申请案可以实现异构网络的数据镜像,但当本地数据中心产生海量数据变化时,将会导致严重的性能问题。
针对上述缺陷,本发明提出了一种网络信息系统异地数据镜像方法,支持本地数据中心的海量数据变化,对网络的带宽以及网络的稳定性要求低,支持专线/非专线灾难备份策略,支持Internet,极大地降低了容灾抗毁系统的成本,具有广阔的应用前景。

发明内容
本发明的核心包括数据状态同步、本地数据监控、海量数据高速缓存、异地重放、差错控制等5个部分。其中数据状态同步是指在系统最初开始运行前或者系统运行过程中本地数据与远程数据出现状态不一致时,使本地数据与远程数据状态一致。本地数据监控由数据监视模块DMON实现,对本地数据中心中需要镜像的数据进行精确的监控,全面记录本地数据中心数据变化的详细过程,确保在数据镜像时滴水不漏。DMON把监视到的数据变化情况送入海量数据高速缓存器Q。海量数据高速缓存器Q中需要镜像的数据通过异地重放完成本地数据在异地的重构。在数据的重放过程中采用差错控制技术确保数据的一致性。异地重放、差错控制由本地发送模块LSM以及远程重放模块RRM协作实现。
在详细阐述本发明前,先做如下定义(1)需镜像的对象集合设需镜像的对象集合T={数据文件,磁盘分区,磁盘,或者其他可访问的网络存储设备},表示所有需要镜像的对象。
(2)需镜像的对象列表定义需镜像的对象列表L={t|t∈T},表示服务器上需要镜像的对象。
(3)重放记录集合定义重放记录集合R={<target,offset,data,h>|target∈T,offset∈N,data∈{0,1}l,l∈N,h=<ht,hd>},其中target为发生数据变化的镜像对象,offset为变化数据在镜像对象的位置,data为变化数据的具体内容,h为摘要值,N为自然数集,ht为镜像对象数据状态的摘要值,hd为变化数据的摘要值。
(4)海量数据高速缓存器(简称为海量缓存器)定义海量数据高速缓存器Q=<r1,r2,...,rn>(r1∈R,t=1,2,...,n),海量缓存器用于缓存本地数据中心监控到的数据变化,供所有需镜像的服务器共享使用,以先进先出队列方式组织,分为两级缓存,分别位于主存和外存中。海量缓存器Q的大小可以灵活设定,Q越大,能够缓存的数据变化越多,用本发明设计的系统就能更好地容忍Internet的带宽限制、速度变化、网络中断等不利因素。实际使用中,海量缓存器Q的大小可以根据被监控服务器的路数,内存大小,镜像对象容量,系统数据的变化频率,网络的连接速度,容许网络中断的最大时间等来综合确定。
(5)摘要值的计算函数设data为t时刻的数据变化,hdt表示t时刻变化数据的摘要值,htt表示t时刻镜像对象数据状态的摘要值,计算方法为hdt=H(data)(1)htt=H0,iff t=t0H(htt-1+hdt),otherwise---(2)]]>其中,t0为最初开始镜像的时刻,H0是t0时刻镜像对象整个数据的摘要值。H为单向散列函数,可以是MD5、SHA-1等,+表示字符串的连接运算。从公式(2)可以看出,除t0时刻需要对镜像对象整个数据计算摘要值以外,其他时刻都是在前一时刻的基础上计算摘要值,因此在镜像过程中计算摘要值的资源开销很小。在开始镜像前,需要对本地镜像对象和远程对应对象做数据状态同步,因此开始备份时本地镜像对象的数据状态摘要值与远程镜像对象的数据状态摘要值相同。


图1是本发明的体系架构。
图2是数据状态同步的步骤。
图3是本地数据监控的步骤。
图4是海量数据高速缓存的步骤。
图5是异地重放的步骤。
图6是差错控制的步骤。
具体实施例方式
以下结合附图详细说明本发明的具体方法。
图1是本发明的体系架构。
本发明在实现上分为本地和远程两个部分,本地部分包括若干个需要数据镜像的本地服务器,远程部分包括一个或者多个远程服务器。本地的每一台服务器上都有一个数据监视模块DMON、镜像对象列表L。海量数据高速缓存器Q既可以位于本地服务器,也可以位于一台单独的机器,并可以为多个本地服务器共享。本地发送模块LSM与海量缓存器Q同处一台机器。远程重放模块RRM位于远程服务器。一个远程服务器可以为多个本地服务器共享。
数据监视模块DMON监听操作系统的写操作,如果该写操作的镜像对象T在镜像对象列表L中(需远程镜像),则产生一个重放记录R,送入海量缓存器Q的尾部。本地发送模块LSM不断地从海量缓存器Q的头部取出重放记录R,发送到远程服务器,远程重放模块RRM根据收到的重放记录R对相应的镜像对象在同样的位置重写一遍,从而完成镜像对象的数据异地镜像工作。
图2是数据状态同步的步骤。
本地数据中心与远程备份中心数据状态同步的具体步骤如下(1)对镜像对象进行块划分将本地镜像对象与远程对应对象划分为n个大小为S的块(最一块可小于S)。
(2)对每一块进行数据同步从第1块开始,对每一块进行如下步骤①计算本地镜像对象该块的摘要值设该块的内容为data,用公式(1)计算该块的摘要值h。
②计算远程对应对象对应块的摘要值设该块的内容为data’,用公式(1)计算该块的摘要值h’。
③根据摘要值更新远程对应块的内容如果h和h’不等,则用本地数据块的内容更新远程对应块的数据。
(3)清空海量缓存器清空海量缓存器Q的所有记录,并释放其所占空间。
图3是本地数据监控的步骤。
本地数据监控由数据监视模块DMON实现,具体步骤如下(1)监视操作系统对镜像对象进行写操作当数据监视模块监听到操作系统对某个对象T进行了操作时,如果该操作是写操作并且被操作的对象T是在镜像对象列表L中,则转(2),否则转(1)。
(2)把变化数据发送给海量数据高速缓存器把步骤(1)监视到的镜像对象、写操作在镜像对象的偏移位置、要写入的具体内容等信息发送给海量缓存器Q,重新回到(1)。
图4是海量数据高速缓存的步骤。
海量缓存器Q收到数据监视模块DMON送来的变化数据时,对其进行处理,产生重放记录,添加到Q的尾部,具体步骤如下(1)计算变化数据摘要值根据公式(1)计算变化数据的摘要值hdt。
(2)计算镜像对象数据状态摘要值根据公式(2)计算镜像对象数据状态的摘要值htt。
(3)封装产生重放记录把镜像对象、写操作在镜像对象的偏移位置、要写入的具体内容、摘要值hdt、htt封装成一个重放记录R。
(4)把重放记录存入海量数据高速缓存器将重放记录R添加到海量缓存器Q的尾部。
图5是异地重放的步骤。
所谓异地重放就是将海量缓存器Q中的重放记录R按同样顺序在远程服务器对应对象的相应位置重新再写一遍,从而完成本地数据变化在异地同步重构的工作。异地重放通过本地发送模块LSM和远程重放模块RRM协作完成。
具体步骤如下(1)从海量数据高速缓存器取出重放记录如果海量数据高速缓存器Q中还有未处理的重放记录,则从海量缓存器Q的头部取出一条重放记录R,否则转(1)。
(2)把重放记录发送到远程服务器通过网络将重放记录R发送到远程服务器。
(3)在远程服务器上进行远程重放远程服务器根据重放记录R的内容对相应的对象,在对应的偏移位置,写入相应的数据,从而实现数据在远程服务器上的异地重构。在远程重放过程中,还要进行差错控制,以确保数据的一致性。
(4)根据远程重放结果进行处理如果远程服务器要求重传,则将重放记录R重新发送到远程端。如果远程服务器要求数据状态重新同步,则对本地服务器上的镜像对象和远程服务器对应的对象进行数据状态同步。远程重放结果进行处理完成后转到(1),处理下一个重放记录。
图6是差错控制的步骤。
异地重放时,需要进行严格的差错控制,其方法为通过比较变化数据摘要值和镜像对象数据状态摘要值来实现,具体步骤如下(1)通过变化数据摘要值控制重放记录重传具体方法为比较变化数据的摘要值,具体步骤如下①重新计算变化数据的摘要值对LSM发送过来的重放记录R,根据公式(1)重新计算变化数据的摘要值hdt’;②提取原来的变化数据摘要值从重放记录R中提取原来的摘要值hdt;③比较变化数据摘要值如果hdt’=hdt,则变化数据传送无误,否则请求重新发送重放记录R。
(2)通过镜像对象数据状态摘要值控制数据状态重新同步具体方法为比较镜像对象的数据状态的摘要值,具体步骤如下①计算远程服务器对应对象的数据状态摘要值根据公式(2)计算远程服务器对应对象的数据状态摘要值htt’;②提取本地服务器镜像对象的数据状态摘要值从重放记录R中提取本地服务器镜像对象的数据状态摘要值hdt;③比较镜像对象数据状态摘要值如果htt’=htt,则本地服务器镜像对象的数据状态与远程服务器对应对象的数据状态一致,否则要求对本地服务器镜像对象和远程服务器对应对象进行数据状态同步工作。
权利要求
1.一种网络信息系统异地数据镜像方法,其特征在于包括以下步骤数据状态同步的步骤;本地数据监控的步骤;海量数据高速缓存的步骤;异地重放的步骤;差错控制的步骤;其中(1)数据状态同步的步骤包括以下步骤对镜像对象进行块划分的步骤;对每一块进行数据同步的步骤;清空海量缓存器的步骤;(2)本地数据监控的步骤包括以下步骤监视操作系统对镜像对象进行写操作的步骤;把变化数据发送给海量数据高速缓存器的步骤;(3)海量数据高速缓存的步骤包括以下步骤计算变化数据摘要值的步骤;计算镜像对象数据状态摘要值的步骤;封装产生重放记录的步骤;把重放记录存入海量数据高速缓存器的步骤;(4)异地重放的步骤包括以下步骤从海量数据高速缓存器取出重放记录的步骤;把重放记录发送到远程服务器的步骤;在远程服务器上进行远程重放的步骤;根据远程重放结果进行处理的步骤;(5)差错控制的步骤包括以下步骤通过变化数据摘要值控制重放记录重传的步骤;通过镜像对象数据状态摘要值控制数据状态重新同步的步骤。
2.权利要求1所述的一种网络信息系统异地数据镜像方法,其特征在于数据状态同步的步骤中,对每一块进行数据同步的步骤包括以下步骤计算本地镜像对象该块摘要值的步骤;计算远程对应对象对应块摘要值的步骤;根据摘要值更新远程对应块内容的步骤。
3.权利要求1所述的一种网络信息系统异地数据镜像方法,其特征在于差错控制的步骤中,通过变化数据摘要值控制重放记录重传的步骤包括以下步骤重新计算变化数据的摘要值的步骤;提取原来的变化数据摘要值的步骤;比较变化数据摘要值的步骤。
4.权利要求1所述的一种网络信息系统异地数据镜像方法,其特征在于差错控制的步骤中,通过镜像对象数据状态摘要值控制数据状态重新同步的步骤包括以下步骤计算远程服务器对应对象的数据状态摘要值的步骤;提取本地服务器镜像对象的数据状态摘要值的步骤;比较镜像对象数据状态摘要值的步骤。
全文摘要
本发明提出了一种网络信息系统异地数据镜像方法,属于信息安全领域。本发明通过数据状态同步、本地数据监控、海量数据高速缓存、异地重放、差错控制等技术,在不影响本地数据中心服务器效率的情况下,实现了本地数据中心数据在异地的实时重构,解决了本地数据带宽与备份线路带宽之间的突出矛盾,大大降低了对备份网络带宽的要求和对网络其他资源的占用,提高了系统的效率。同时,即使中途网络出现故障、或带宽不稳定,系统也可容忍,本地数据中心数据的任何细微改变都会被正确及时送达远程备份中心,确保了本地数据中心和远端备份中心数据的一致性。本发明支持专线/非专线灾难备份策略,支持Internet,极大地降低了容灾抗毁系统的成本,具有广阔的应用前景。
文档编号G06F11/14GK1831782SQ200610020460
公开日2006年9月13日 申请日期2006年3月10日 优先权日2006年3月10日
发明者李涛 申请人:四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1