一种容灾备份系统中数据同步的方法

文档序号:6570867阅读:296来源:国知局

专利名称::一种容灾备份系统中数据同步的方法
技术领域
:本发明涉及通信领域的数据同步技术,尤其涉及通讯领域主备冗余系统中主用、备用系统间数据同步的方法。
背景技术
:数据通信系统通常要求系统具有很高的可靠性,而冗余备份是提高可靠性的一种基本方法。冗余系统中,对处于核心地位的系统一般采用1+1主备、1+1互备或者N+l主备等备份方式,一旦正在工作的主用系统发生故障时,备用系统能够快速的接管主用系统的工作而成为主用的地位。在使用主备冗余备份的系统中,特别是通讯系统中,涉及较多的动态数据和配置数据等,系统需要设计专门的数据库系统来维护这些数据。要想实现主备系统的切换对用户业务不产生影响,则系统必须保证主备系统之间的数据一致性,即实现主用、备用之间的数据同步。现有技术中一般采用对需要同步的数据在主用系统进行压缩,再传送到备用系统后进行解压缩的方法来保证主用、备用系统的数据同步。现有技术中也包含一种主备系统间的增量数据同步方法,以减少同步的数据量。以关系型数据库同步为例,增量数据包括增加的记录和修改的记录,将整条记录作为增量数据同步到备用系统。从现有技术可以分析其存在以下不足1)对于采用压缩算法进行主备同步的方案,一方面增加了数据同步的复杂度;同时,由于采用压缩算法进行数据同步,如果在同步过程中发生异常,比如主用、备用系统的倒换使得备用系统上收到的压缩数据不全,可能会使备用系统不能够正确地解压缩同步过来的数据,此时,备用系统就达不到冗余的效果了,从而降低了系统的可靠性;2)对于采用现有的增量同步方法实现的主备同步,由于将记录中某个字段的变化看作是整个记录的变化,与增加一条记录同等对待,实际上只是实现了增量增加数据同步,而没有实现增量修改的数据同步。
发明内容本发明所要解决的技术问题在于,提供一种容灾系统中容灾备份系统中数据同步的方法,实现主备系统之间增量数据修改的同步,降低主备用系统间数据同步的数据流量。本发明提供一种容灾备份系统中数据同步的实现方法,在主用和备用系统之间实现数据同步,所述方法包括如下步骤51、为主、备系统上每一需要同步的数据记录表创建一个失步映像区;52、在同步周期内,主用系统修改数据记录表中的表记录,将被修改表记录对应的同步信息插入失步映像区作为失步记录;53、同步周期到时后,主用系统从失步映像区中扫描失步记录,根据所述对应的同步信息,将需要同步的记录数据打包为同步数据包;54、主备用系统利用数据同步通道同步所述同步数据包;55、备用系统对接收的所述同步数据包进行解包,将同步数据写入数据记录表空间。进一步地,步骤S1中创建的所述失步映像区,采用单向队列管理主、备系统数据记录表中被修改的数据记录,其中,所述单向队列采用链表实现,该单向队列的每一个元素节点作为与被修改数据记录对应的失步记录,包括下一个节点号、表记录号、失步类型、失步记录附加信息。进一步地,所述失步类型用于标记主用系统上对记录进行修改的各种操作,包括插入数据同步SYN—INS类型,表示主用系统插入新记录操作;或修改数据同步SYN_FLD类型,表示主用系统修改原有记录操作;或删除数据同步SYN—DEL类型,表示主用系统删除原有记录操作。进一步地,所述失步记录附加信息用于记录不同失步类型对应需要记录的额外的用于主备系统同步的信息如果失步类型为SYN一INS类型,则失步记录附加信息不需要;如果失步类型为SYN—FLD类型,则失步记录附加信息是一组BIT位集合,每个BIT位表示主用系统的记录中某个字段是否需要主备同步,所述BIT位集合与记录字段的对应关系信息都存放在主用系统与备用系统;如果失步类型为SYN—DEL类型,则失步记录附加信息是一组BYTE类型的存储区域,用来存放在主用系统上被删除的记录的关键字。进一步地,步骤S2中,将被修改的记录对应的同步信息插入失步映像区作为失步记录的步骤进一步分为521、将被修改的表记录的记录号插入失步映像区作为所述元素节点的表记录号;522、将被修改的表记录的失步类型写入失步映像区中所述元素节点的失步类型中;523、根据失步类型将所述被修改的表记录的同步信息写入失步记录附加信息中。进一步地,步骤S22中,若同一记录在主备同步前发生了多次修改,则仅在所述失步映像区的一个元素节点上保存失步记录信息,对该失步记录进行多次修改时,将所述多次修改进行叠加后失步类型作为最终失步类型。进一步地,步骤S3进一步可分为531、主用系统根据表记录号扫描失步映像区,定位对应的失步记录;532、主用系统根据所述失步类型及失步记录附加信息,将主用系统表记录中的失步数据打包到同步数据包,其中如果失步类型为SYN—INS类型,则依次将失步类型、表记录的记录长度以及表记录的内容写入同步数据包中;如果失步类型为SYN—FLD类型,则根据失步记录附加信息的BIT位集合确定字段是否需要同步,将需要同步的字段内容打包到同步数据包中去,同时将失步数据类型、所有失步字段的总长度、失步记录的关键字信息和失步字段的BIT位集合信息一并写入同步数据包;如果失步类型是SYN—DEL类型,则依次将表记录的失步类型、失步记录的记录长度以及失步映像区中的失步记录附加信息的内容写入同步数据包中。进一步地,步骤S4中包括主用系统利用消息机制通过同步数据通道将同步数据包发送到备用系统;备用系统处理完成同步数据包后向主用系统发送响应消息。进一步地,步骤S5进一步可分为551、备用系统分解接收的同步数据包,获取当前同步的表信息;552、从不等长记录集中读取数据,将每一条同步过来的记录数据,写入备用系统的相应表空间中,其中,如果失步类型是SYN一INS类型,则根据同步数据包中的记录长度信息从数据包读取数据内容,将新记录插入备用系统表空间;如果失步类型是SYN—FLD类型,则根据同步数据包中的记录关键字信息定位备用系统表记录;定位到记录后,根据数据包中的表字段BIT位集合信息解包同步过来的数据,并修改表记录空间中与BIT位集合对应的字段的内容;如果失步类型为SYN—DEL类型,则根据同步数据包中的记录关键字信息删除备用系统的表记录。进一步地,所述主、备系统中均保存有表记录字段与BIT位集合的对应关系信息,BIT位置为1时,表示对应的字段需要同步,BIT位置为O时,表示对应的字段不需同步。本发明采用BIT位集合与表字段之间的对应关系表,仅记录需要同步的字段信息,在同步时,仅需将需要同步的对应字段进行同步,而无需同步未修改的记录或记录中的字段,实现了主备系统之间增量数据修改的同步,有效地降低了主备用系统间数据同步的数据流量。图1为本发明实施例中进行主备数据同步的流程图2为本发明实施例中失步映像区结构示意图3为本发明技术方案的一种应用实例的组网及交互流程图。具体实施例方式下面结合附图及具体实施例对本发明的技术方案作进一步详细的说明。本发明目的在于实现主备系统之间增量数据修改的同步,降低主备用系统间数据同步的数据流量。为了达到上述目的,本发明的技术方案如附图1所示,进行增量修改的数据同步的过程主要包括以下步骤步骤l:创建失步映像区。在步骤1中为每个需要同步的数据记录表创建一个失步映像区。所述"失步映像区"是采用单向队列来管理主用系统上的失步数据记录的,如附图2所示,所述单向队列包括一个头、一个尾、以及头尾之间的若干元素节点(nodel、node2、…),其中,每一元素节点都包括"下一个节点号"、"表记录号"、"失步类型,,和"失步记录附加信息"等信息项。优选地,可以让每一个数据记录表对应一个失步映像区,使得因增加、或修改、或删除等原因造成的每一失步记录对应一个元素节点。发生记录失步后,需要将该失步记录的失步信息映射到该元素节点的对应信息项上。所述"下一个节点号"信息,主要是用来描述本元素节点的下一个节点号,单向队列采用链表实现,例如节点1的"下一个节点号,,可以设置为2,以表示节点1之后的节点为节点2。所述"表记录号"信息,主要用来描述单向队列节点中存放的失步记录对应的记录号,在后面的所有步骤中,都是通过使用失步映像区中记载的记录号查找相应的需要同步的记录数据。优选地,该表记录号即为主用系统中数据记录表中对应该节点的表记录的记录号。所述"失步类型"信息,主要用来标记主用系统上造成数据失步的各种操作。失步类型包括主用系统插入新记录操作,表示为插入数据同步(SYNJNS);失步类型还包括主用系统修改原有记录操作,表示为修改数据同步(SYN—FLD);失步类型还包括主用系统删除原有记录操作,表示为删除数据同步(SYN—DEL)。所述"失步记录附加信息,,信息,主要用来记录在SYN—FLD失步和SYN—DEL失步时需要记录的一些额外的用于主备用系统同步的信息。如果失步类型为SYN—INS类型,则失步记录附加信息不需要,可以置为空或其它默认值;如果失步类型为SYN一FLD类型,则失步记录附加信息是一组BIT位集合,每个BIT位与该节点对应的表记录的某个字段——对应,该BIT位可以用来表示对应字段是否需要主备同步;主用系统与备用系统都存放有BIT位集合与表字段的对应关系的信息,可以采用一个对应关系表的形式进行保存所述对应关系;优选地,可以设定BIT位取值为1时,表示对应字段需要被同步,而设定BIT位取值为0或非1值时,表示对应字段不需要被同步。如果失步类型为SYN—DEL类型,则失步记录附加信息是一组BYTE类型的存储区域,用来存放在主用系统上被删除的记录的关键字。由于每条记录都会有关键字信息,通过关键字可以唯一确定一条存在的记录,在主用系统删除某一记录后,该记录的内容也会被删除,因此,在删除记录之前,将该被删除记录的关键字存放到失步映像区中。优选地,可以选取表记录中可以唯一标识该记录的字段作为关键字。所述主、备用系统都需要创建失步映像区,备用系统在数据同步过程中只需要失步映像区中的BIT位与表字段的对应关系,主机在打包时,将失步映像区中的所有信息都打包到同步包中的,备机要能够根据失步映像区中的信息识别同步过来的数据包,并且能够正确的解包;主备用都创建失步映像区还因为主备用系统发生倒换后,新的主用系统就需要开始使用失步映像区同步数据到新的备用系统中了。主备同步主备用系统都需要遵循的一些规则或者协议。步骤2:主用系统上数据表数据被应用修改,将表记录信息插入失步映像区。在步骤2中,主用系统数据表的数据记录被应用修改后,将被修改的表记录号插入失步映像区;对于同一条记录在主备同步前发生了多次修改的情况,失步映像区中只需要有一个节点保存该失步记录信息,所记栽的失步记录信息是主用系统多次修改的叠加。对于同一条记录发生多次修改,不必重新占用新的元素节点来存储每次修改的失步信息,而只用一个节点保留最后叠加得到的失步信息即可,所有可能出现的失步类型的修改叠加情况如表1所示表1:同一记录发生多次修改后失步类型的修改叠加情况记录的原有失步类型记录新设置失步类型失步类型的叠加结果<table>tableseeoriginaldocumentpage11</column></row><table>对于主用系统中记录表的某一表记录被修改后,选择或创建一个元素节点用于保存该记录的失步信息,可以将下一节点的号码写入"下一个节点号"项中、将该被修改表记录的记录号写入"表记录号,,中、将所作修改类型写入"失步类型",如果是多次修改可以依照表l示方法,将多次叠加后的失步类型写入,和另外根据"失步类型,,将必要的失步信息写入"失步记录附加信息"中。由于主备同步,通常是定时周期进行的,对于定时周期内发生的修改都需要将表记录的失步信息,写入失步映像区中的对应节点上。可以在定时周期到时后,进行数据打包,将失步信息同步到备用系统。步骤3:主用系统从失步映像区中扫描失步记录,打包需要同步的表记录。在步骤3中,同步周期到时后,主用系统扫描失步映像区,按照元素节点上的失步类型及失步信息,从主用系统的数据记录表中读取失步数据,将失步数据打包到主备同步的同步数据包中,同时需要从失步映像区中删除该记录对应的元素节点;如果数据包写满或者主机上所有失步数据打包完毕,则写数据包包头信息。为了防止因打包错误造成不能正确接收,发送完数据同步包后,就将对应的元素节点从失步映像区中删除,同时保存这个发送的数据包的信息,只有等到备机有响应后,才打包发送下一个数据包,否则,就会等超时,重新发送这个数据包,如果重发3次还没有收到响应数据包,则将保存的同步包中的信息再回写到失步映像区中。如果当前处理的失步记录的失步类型为SYN—INS类型,表示需要增加记录,则首先才艮据失步映像区中的表记录号定位表记录;定位到数据记录后,依次将表记录的失步类型、失步记录的记录长度以及主用系统上数据表上失步记录的内容写入同步数据包中。如果当前处理的失步记录的失步类型为SYN一FLD类型,则首先根据失步映像区中的表记录号定位表记录;定位到数据记录后,根据失步映像区中"失步记录附加信息"的BIT位集合确定主用系统上数据表的对应字段是否需要同步,将需要同步的字段内容打包到同步数据包中去;还需要打包到同步数据包中去的信息包括失步数据类型、所有失步字段的总长度、失步记录的关键字信息和失步字段的BIT位集合信息。如果当前处理的失步记录的失步类型是SYN—DEL类型,则依次将表记录的失步类型、失步记录的记录长度以及失步映像区中的失步记录附加信息的内容写入同步数据包中。步骤4:主备用系统利用数据同步通道同步失步数据。在步骤4中,包括主用系统利用消息机制将打包完成的同步数据包发送到备用系统;还包4舌备用系统处理完成同步凝:据包后纟会主用系统发送响应消自步骤5:备用系统上解包所接收到的同步数据,写入备用系统上的数据表空间。步骤5包括分解同步数据包,获取当前同步的表信息;从不等长记录集中读取数据,处理每一条同步过来的数据,写入备用系统的表空间。如果当前处理的记录的失步类型是SYN—INS类型的同步,则根据数据包中的记录长度信息从数据包读取数据内容,将新记录插入备用系统表空间;如果当前处理记录的失步类型为SYN—FLD类型的同步,则根据同步数据包中的记录关键字信息定位备用系统表记录;定位到记录后,根据数据包中的表字段BIT位集合信息解包同步过来的数据,并修改表记录空间中与BIT位集合对应的字段的内容;如果当前处理记录的失步类型为SYN—DEL类型的同步,则根据同步数据包中的记录关键字信息找到对应备用系统上对应的表记录,并将其删除。附图3是移动通讯网络中采用1+1主备容突方式的双归属系统的组成结构示意图。其中,两个交换机MSCS1和MSCS2构成了l+l主备方式下的双归属系统A)两个交换机MSCS1和MSCS2同时只有一个处于工作状态,而另外一个交换机处于备用状态,等待伙伴系统出现问题时切换为主用状态;B)主用状态的交换机发生数据改变,需要通过数据同步通道将失步数据同步到备用交换机中。如附图3所示,在当前情况下,MSCSl为主用状态,MSCS2为备用状态;MSCS2在备用状态下会关闭到其它网元的所有信令链路,只保持与MSCS1的心跳连接以及数据同步通道,在MSCS1交换机发生数据改变时,可以将失步数据同步到备用交换机MSCS2中。移动通讯网络组网中,可以把VLR(拜访地位置寄存器)数据库作为MSCS网元的一部分;VLR数据库中存放有拜访本地MSCS网络的移动用户的各种签约信息;用户通过无线侧经过RNS/BSS接入本地MSCS,本地MSCS会与用户归属的HLR(归属位置寄存器)交互,查询用户的签约信息,并将用户的签约信息存放在VLR数据库中。下面以基本用户信息为例,说明本发明是如何实现用户的签约信息在主用系统MSCS1更新后,同步到备用系统MSCS2交换机的过程。如表2,假设移动用户有如下基本签约信息,存放在主用系统的数据表R—MS中(R—MS为表的名字),表的IMSI字段为表的关键字。表2:数据表R—MS的内容IMSIMSISDNLACBcarScrTdeSerSECCONTEXTVi在数据表R—MS中,IMSI表示国际移动用户识别码,MSISDN表示移动站ISDN,LAC表示区域码,BearServ表示承载业务,TeleServ表示电话业务,SECCONTEXT表示安全上下文。首先,为!^MS表创建失步映像区,创建失步映像区单向队列,初始化队列节点;然后,建立RMS表字段与BIT位的对应关系,如表3所示表3:RMS表字段与BIT位的对应关系。RMS表字段BIT位IMSI(国际移动用户识别码)BITOMSISDN(移动站ISDN)BIT1LAC(区域码)BIT2BearServ(承载业务)BIT3TeleServ(电话业务)BIT4SECCONTEXT(安全上下文)BIT5...…表3所示的对应关系是分别存储在主备系统上的,主备一致。而失步映射区中仅在附加消息中存储发生变化的需要同步过去的字段的BIT值,例如,仅BIT1的bit位发生变化时,假定比特位置为1时表示需要同步,而置为0时或置为非1时为不需同步,则当BIT14时,对应的MSISDN字段需要被同步。如附图3所示,移动通讯网络中,用户数据变化以及主备用系统之间的数据同步的大致过程如下首先,用户(UE)接入网络(步骤①);然后,主用MSCS1网元与HLR网元交互,修改用户数据(步骤②);由于MSCS1网元需要将最新的用户数据同步到备用系统,接着,主用系统MSCS1将失步的数据打包(步骤③);打包之后,通过数据同步通道将失步数据发送到备用系统MSCS2(步骤④);备用系统MSCS2接收到主用系统的同步数据包后,将同步数据解包,修改备用系统的数据与主用系统一致(步骤)。下面以具体的用户接入过程来说明一下本发明描述的双归属系统中主用与备用系统中的增量数据修改的数据同步的实现。假设在一段同步周期内,有用户U1、U2、U3和U4的用户数据在主用系统有数据更新,描述如下移动用户U1漫游到本地MSCS网络,在本局第一次位置更新,则MSCS1向用户U1归属的HLR查询到用户数据后,插入VLR数据库的R一MS表,记录号为N,,并且将R—MS表的新增记录N,添加到表的失步映像区中去,失步记录号为Ni,失步类型为SYN—INS,失步记录附加信息不需要填写;移动用户U2的位置信息发生了改变,做了一次局内位置更新,MSCS1的VLR数据库中已经有了该用户U2的数据,记录号为N位置更新只是修改R一MS表中记录N2的区域码LAC的信息,并且将R—MS表的被修改记录N2添加到表的失步映像区中去,失步记录号为N2,失步类型为SYN一FLD,失步的附加信息中填写R_MS表LAC字段对应的BIT位信息,即将BIT位集合的BIT2位设置为1,表示LAC字段需要同步;移动用户U3在MSCS1的VLR数据库中已经存在,记录号为Ng;假设用户在HLR修改自己的BearServ和TeleServ信息;HLR通过MAP消息通知VLR数据库修改用户U3的签约信息,VLR数据库修改R—MS表的记录N3的BearServ和TeleServ孑言息,并且将R—MS表的净皮寸奮改i己录N3添加到表的失步映像区中去,失步记录号为N3,失步类型为SYN—FLD,失步的附加信息中填写R—MS表BearServ字段和TekServ字段对应的BIT位信息,即将BIT位集合的BIT3和BIT4位置为1,表示BearServ字段和TeleServ字段需要同步;移动用户U4从本地MSCS网络漫游到其它网络,MSCS1的VLR数据库中原来包含有用户U4的用户数据,记录号为N4;由于用户4离开本地漫游到其它MSCS局管辖的区域,HLR通知MSCS1从VLR数据库中删除用户U4;MSCS1接受到MAP消息后,从VLR数据库删除R—MS表的记录N4;并且将R—MS表的被删除记录N4添加到表的失步映像区中去,失步记录号为N4,失步类型为SYN—DEL,失步的附加信息中填写R—MS被删除用户记录的用户IMSI号码。这里所述IMSI号码就是R—MS表的关键字。移动用户Ul、U2、U3和U4的数据在MSCS1的VLR数据库上已经修改,主用系统MSCS1与备用系统MSCS2数据同步周期到时,主用系统MSCS1的打包过程是首先,扫描失步映像区,依次打包R—MS表的N,、N2、N3和N4记录。打包记录的过程是根据失步映像区中的记录号N,定位R—MS表,由于当前处理的记录的失步类型为SYN—INS类型,因此将失步类型、R—MS表的记录长度以及R一MS表当前记录的内容依次打包到同步数据包中,并且修改同步数据包的包头信息,主要是修改同步数据包中的记录数信息和包的有效长度信息;打包记录N2的过程是根据失步映像区中的记录号N2信息定位R一MS表,由于当前处理的记录的失步类型为SYN—FLD类型,因此当前记录长度是R—MS表关键字的长度、需要打包的失步BIT位集合的长度以及所有失步字段的总长度的总和,对于记录N2来说,失步的字段只有LAC字段;打包记录N2就是依次打包失步类型、打包记录的关键字(数据表中的IMSI字段信息),打包计算出来的当前记录长度信息、打包失步BIT位集合标志以及打包各个失步字段的内容;打包记录Ns的过程与记录N2的过程一样,只不过记录Ns的失步字段为BearServ字l殳和TeleServ字,史;打包记录N4的过程依次打包失步类型、打包同步记录长度以及打包失步记录的关键字信息(IMSI字段信息);对于SYN—DEL失步类型,同步记录长度即为关键字长度;由于主用系统中记录N4已经删除,因此失步记录的关键字信息(IMSI字段信息)只可以从失步映像区的附加信息中获取。主用系统打包完成后,通过主备用系统的数据同步通道,将数据发送到备用系统,备用系统收到同步数据包后,进行数据包的解包。具体过程如下根据数据包表头信息得知本次同步的表为R—MS表,同步的记录数为4条;首先,从数据包中读取第1条记录的记录头信息,记录的同步类型为SYNJNS,从数据包中读取整条记录信息,将同步数据插入备用系统上R—MS的表空间;然后,解包第2条记录,从数据包中读取记录头信息,同步类型为SYN—FLD,需要根据同步数据包中的关键字信息(IMSI)定位备用系统上的R—MS表,并且根据同步数据包中记录的BIT位信息(BIT2位为1),从数据包中读取数据修改备用系统上R_MS表的LAC字段的内容;利用同样的方法解包第3条记录,只不过数据包中的BIT位集合信息显示有两个字段的内容需要修改,用同步数据包中的数据修改备用系统上R—MS表的BearServ字段和TeleServ字段的内容;最后,解包第4条记录的过程为从数据包中读取记录头信息,同步类型为SYN一DEL,根据同步数据包中打包的记录的关键字信息(IMSI)删除备用系统中R—MS表上与关键字信息匹配的记录。对于特定的表同步,主备上的关键字是一致的。以上实施例仅用以说明本发明的技术方案而非限制,尽管参考实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的技术方案的精神和范围,其均应涵盖在本发明的权利有求范围当中。权利要求1.一种容灾备份系统中数据同步的实现方法,在主用和备用系统之间实现数据同步,其特征在于,包括如下步骤S1、为主、备系统上每一需要同步的数据记录表创建一个失步映像区;S2、在同步周期内,主用系统修改数据记录表中的表记录,将被修改表记录对应的同步信息插入失步映像区作为失步记录;S3、同步周期到时后,主用系统从失步映像区中扫描失步记录,根据所述对应的同步信息,将需要同步的记录数据打包为同步数据包;S4、主备用系统利用数据同步通道同步所述同步数据包;S5、备用系统对接收的所述同步数据包进行解包,将同步数据写入数据记录表空间。2、如权利要求1所述的方法,其特征在于,步骤S1中创建的所述失步映像区采用单向队列管理主、备系统数据记录表中被修改的数据记录,其中,所述单向队列采用链表实现,该单向队列的每一个元素节点作为与被修改数据记录对应的失步记录,包括下一个节点号、表记录号、失步类型、失步记录附加信息。3、如权利要求2所述的方法,其特征在于,所述失步类型用于标记主用系统上对记录进行修改的各种操作,包括插入数据同步SYN一INS类型,表示主用系统插入新记录操作;或修改数据同步SYN—FLD类型,表示主用系统修改原有记录操作;或删除数据同步SY^^DEL类型,表示主用系统删除原有记录操作。4、如权利要求2或3所述的方法,其特征在于,所述失步记录附加信息用于记录不同失步类型对应需要记录的额外的用于主备系统同步的信息如果失步类型为SYNJNS类型,则失步记录附加信息不需要;如果失步类型为SYN—FLD类型,则失步记录附加信息是一组BIT位集合,每个BIT位表示主用系统的记录中某个字段是否需要主备同步,所述BIT位集合与记录字段的对应关系信息都存放在主用系统与备用系统;如果失步类型为SYN—DEL类型,则失步记录附加信息是一组BYTE类型的存储区域,用来存放在主用系统上被删除的记录的关键字。5、如权利要求1或2所述的方法,其特l在于,步骤S2中将被修改的记录对应的同步信息插入失步映像区作为失步记录的步骤进一步分为S21、将^:修改的表记录的记录号插入失步映像区作为所述元素节点的表记录号;S22、将被修改的表记录的失步类型写入失步映像区中所述元素节点的失步类型中;S23、根据失步类型将所述被修改的表记录的同步信息写入失步记录附加信息中。6、如权利要求5所述的方法,其特征在于,步骤S22中若同一记录在主备同步前发生了多次修改,则仅在所述失步映像区的一个元素节点上保存失步记录信息,对该失步记录进行多次修改时,将所述多次修改进行叠加后失步类型作为最终失步类型。7、如权利要求1-4中的任一权利要求所述的方法,其特征在于,步骤S3进一步可分为S31、主用系统根据表记录号扫描失步映像区,定位对应的失步记录;S32、主用系统根据所述失步类型及失步记录附加信息,将主用系统表记录中的失步数据打包到同步数据包,其中如果失步类型为SYN—INS类型,则依次将失步类型、表记录的记录长度以及表记录的内容写入同步数据包中;如果失步类型为SYN—FLD类型,则根据失步记录附加信息的BIT位集合确定字段是否需要同步,将需要同步的字段内容打包到同步数据包中去,同时将失步数据类型、所有失步字段的总长度、失步记录的关键字信息和失步字段的BIT位集合信息一并写入同步数据包;如果失步类型是SYN—DEL类型,则依次将表记录的失步类型、失步记录的记录长度以及失步映像区中的失步记录附加信息的内容写入同步数据包中。8、如权利要求l所述的方法,其特征在于,步骤S4中包括主用系统利用消息机制通过同步数据通道将同步数据包发送到备用系统;备用系统处理完成同步数据包后向主用系统发送响应消息。9、如权利要求1或2或3所述的方法,其特征在于,步骤S5进一步可分为551、备用系统分解接收的同步数据包,获取当前同步的表信息;552、从不等长记录集中读取数据,将每一条同步过来的记录数据,写入备用系统的相应表空间中,其中,如果失步类型是SYNJNS类型,则根据同步数据包中的记录长度信息从数据包读取数据内容,将新记录插入备用系统表空间;如果失步类型是SYN一FLD类型,则根据同步数据包中的记录关键字信息定位备用系统表记录;定位到记录后,根据数据包中的表字段BIT位集合信息解包同步过来的数据,并修改表记录空间中与BIT位集合对应的字段的内容;如果失步类型为SYN一DEL类型,则根据同步数据包中的记录关键字信息删除备用系统的表记录。10、如权利要求l所述的方法,其特征在于,所述主、备系统中均保存有表记录字段与BIT位集合的对应关系信息,BIT位置为1时,表示对应的字段需要同步,BIT位置为0时,表示对应的字段不需同步。全文摘要本发明公开了一种容灾备份系统中数据同步的方法,在主用和备用系统之间实现数据同步,首先为数据记录表创建失步映像区;在同步周期内,将被修改表记录对应的同步信息插入失步映像区;同步周期到时后,主用系统从失步映像区中扫描失步记录,根据所述对应的同步信息,将需要同步的记录数据打包为同步数据包;主备用系统利用数据同步通道同步所述同步数据包;备用系统对接收的所述同步数据包进行解包,将同步数据写入数据记录表空间。本发明实现了主备系统之间增量数据修改的同步,由于仅需同步发生增量修改的字段或记录,无需同步未发生修改的数据,从而降低了主备用系统间数据同步的数据流量。文档编号G06F11/16GK101221522SQ20071000023公开日2008年7月16日申请日期2007年1月11日优先权日2007年1月11日发明者姚本进申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1