CN101221522A - 一种容灾备份系统中数据同步的方法 - Google Patents
一种容灾备份系统中数据同步的方法 Download PDFInfo
- Publication number
- CN101221522A CN101221522A CNA2007100002350A CN200710000235A CN101221522A CN 101221522 A CN101221522 A CN 101221522A CN A2007100002350 A CNA2007100002350 A CN A2007100002350A CN 200710000235 A CN200710000235 A CN 200710000235A CN 101221522 A CN101221522 A CN 101221522A
- Authority
- CN
- China
- Prior art keywords
- record
- data
- type
- information
- syn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种容灾备份系统中数据同步的方法,在主用和备用系统之间实现数据同步,首先为数据记录表创建失步映像区;在同步周期内,将被修改表记录对应的同步信息插入失步映像区;同步周期到时后,主用系统从失步映像区中扫描失步记录,根据所述对应的同步信息,将需要同步的记录数据打包为同步数据包;主备用系统利用数据同步通道同步所述同步数据包;备用系统对接收的所述同步数据包进行解包,将同步数据写入数据记录表空间。本发明实现了主备系统之间增量数据修改的同步,由于仅需同步发生增量修改的字段或记录,无需同步未发生修改的数据,从而降低了主备用系统间数据同步的数据流量。
Description
技术领域
本发明涉及通信领域的数据同步技术,尤其涉及通讯领域主备冗余系统中主用、备用系统间数据同步的方法。
背景技术
数据通信系统通常要求系统具有很高的可靠性,而冗余备份是提高可靠性的一种基本方法。冗余系统中,对处于核心地位的系统一般采用1+1主备、1+1互备或者N+1主备等备份方式,一旦正在工作的主用系统发生故障时,备用系统能够快速的接管主用系统的工作而成为主用的地位。在使用主备冗余备份的系统中,特别是通讯系统中,涉及较多的动态数据和配置数据等,系统需要设计专门的数据库系统来维护这些数据。要想实现主备系统的切换对用户业务不产生影响,则系统必须保证主备系统之间的数据一致性,即实现主用、备用之间的数据同步。
现有技术中一般采用对需要同步的数据在主用系统进行压缩,再传送到备用系统后进行解压缩的方法来保证主用、备用系统的数据同步。
现有技术中也包含一种主备系统间的增量数据同步方法,以减少同步的数据量。以关系型数据库同步为例,增量数据包括增加的记录和修改的记录,将整条记录作为增量数据同步到备用系统。
从现有技术可以分析其存在以下不足:
1)对于采用压缩算法进行主备同步的方案,一方面增加了数据同步的复杂度;同时,由于采用压缩算法进行数据同步,如果在同步过程中发生异常,比如主用、备用系统的倒换使得备用系统上收到的压缩数据不全,可能会使备用系统不能够正确地解压缩同步过来的数据,此时,备用系统就达不到冗余的效果了,从而降低了系统的可靠性;
2)对于采用现有的增量同步方法实现的主备同步,由于将记录中某个字段的变化看作是整个记录的变化,与增加一条记录同等对待,实际上只是实现了增量增加数据同步,而没有实现增量修改的数据同步。
发明内容
本发明所要解决的技术问题在于,提供一种容灾系统中容灾备份系统中数据同步的方法,实现主备系统之间增量数据修改的同步,降低主备用系统间数据同步的数据流量。
本发明提供一种容灾备份系统中数据同步的实现方法,在主用和备用系统之间实现数据同步,所述方法包括如下步骤:
S1、为主、备系统上每一需要同步的数据记录表创建一个失步映像区;
S2、在同步周期内,主用系统修改数据记录表中的表记录,将被修改表记录对应的同步信息插入失步映像区作为失步记录;
S3、同步周期到时后,主用系统从失步映像区中扫描失步记录,根据所述对应的同步信息,将需要同步的记录数据打包为同步数据包;
S4、主备用系统利用数据同步通道同步所述同步数据包;
S5、备用系统对接收的所述同步数据包进行解包,将同步数据写入数据记录表空间。
进一步地,步骤S1中创建的所述失步映像区,采用单向队列管理主、备系统数据记录表中被修改的数据记录,其中,所述单向队列采用链表实现,该单向队列的每一个元素节点作为与被修改数据记录对应的失步记录,包括:下一个节点号、表记录号、失步类型、失步记录附加信息。
进一步地,所述失步类型用于标记主用系统上对记录进行修改的各种操作,包括:
插入数据同步SYN_INS类型,表示主用系统插入新记录操作;
或修改数据同步SYN_FLD类型,表示主用系统修改原有记录操作;
或删除数据同步SYN_DEL类型,表示主用系统删除原有记录操作。
进一步地,所述失步记录附加信息用于记录不同失步类型对应需要记录的额外的用于主备系统同步的信息:
如果失步类型为SYN_INS类型,则失步记录附加信息不需要;
如果失步类型为SYN_FLD类型,则失步记录附加信息是一组BIT位集合,每个BIT位表示主用系统的记录中某个字段是否需要主备同步,所述BIT位集合与记录字段的对应关系信息都存放在主用系统与备用系统;
如果失步类型为SYN_DEL类型,则失步记录附加信息是一组BYTE类型的存储区域,用来存放在主用系统上被删除的记录的关键字。
进一步地,步骤S2中,将被修改的记录对应的同步信息插入失步映像区作为失步记录的步骤进一步分为:
S21、将被修改的表记录的记录号插入失步映像区作为所述元素节点的表记录号;
S22、将被修改的表记录的失步类型写入失步映像区中所述元素节点的失步类型中;
S23、根据失步类型将所述被修改的表记录的同步信息写入失步记录附加信息中。
进一步地,步骤S22中,若同一记录在主备同步前发生了多次修改,则仅在所述失步映像区的一个元素节点上保存失步记录信息,对该失步记录进行多次修改时,将所述多次修改进行叠加后失步类型作为最终失步类型。
进一步地,步骤S3进一步可分为:
S31、主用系统根据表记录号扫描失步映像区,定位对应的失步记录;
S32、主用系统根据所述失步类型及失步记录附加信息,将主用系统表记录中的失步数据打包到同步数据包,其中:
如果失步类型为SYN_INS类型,则依次将失步类型、表记录的记录长度以及表记录的内容写入同步数据包中;
如果失步类型为SYN_FLD类型,则根据失步记录附加信息的BIT位集合确定字段是否需要同步,将需要同步的字段内容打包到同步数据包中去,同时将失步数据类型、所有失步字段的总长度、失步记录的关键字信息和失步字段的BIT位集合信息一并写入同步数据包;
如果失步类型是SYN_DEL类型,则依次将表记录的失步类型、失步记录的记录长度以及失步映像区中的失步记录附加信息的内容写入同步数据包中。
进一步地,步骤S4中包括:
主用系统利用消息机制通过同步数据通道将同步数据包发送到备用系统;
备用系统处理完成同步数据包后向主用系统发送响应消息。
进一步地,步骤S5进一步可分为:
S51、备用系统分解接收的同步数据包,获取当前同步的表信息;
S52、从不等长记录集中读取数据,将每一条同步过来的记录数据,写入备用系统的相应表空间中,其中,
如果失步类型是SYN_INS类型,则根据同步数据包中的记录长度信息从数据包读取数据内容,将新记录插入备用系统表空间;
如果失步类型是SYN_FLD类型,则根据同步数据包中的记录关键字信息定位备用系统表记录;定位到记录后,根据数据包中的表字段BIT位集合信息解包同步过来的数据,并修改表记录空间中与BIT位集合对应的字段的内容;
如果失步类型为SYN_DEL类型,则根据同步数据包中的记录关键字信息删除备用系统的表记录。
进一步地,所述主、备系统中均保存有表记录字段与BIT位集合的对应关系信息,BIT位置为1时,表示对应的字段需要同步,BIT位置为0时,表示对应的字段不需同步。
本发明采用BIT位集合与表字段之间的对应关系表,仅记录需要同步的字段信息,在同步时,仅需将需要同步的对应字段进行同步,而无需同步未修改的记录或记录中的字段,实现了主备系统之间增量数据修改的同步,有效地降低了主备用系统间数据同步的数据流量。
附图说明
图1为本发明实施例中进行主备数据同步的流程图;
图2为本发明实施例中失步映像区结构示意图;
图3为本发明技术方案的一种应用实例的组网及交互流程图。
具体实施方式
下面结合附图及具体实施例对本发明的技术方案作进一步详细的说明。
本发明目的在于实现主备系统之间增量数据修改的同步,降低主备用系统间数据同步的数据流量。为了达到上述目的,本发明的技术方案如附图1所示,进行增量修改的数据同步的过程主要包括以下步骤:
步骤1:创建失步映像区。
在步骤1中为每个需要同步的数据记录表创建一个失步映像区。所述“失步映像区”是采用单向队列来管理主用系统上的失步数据记录的,如附图2所示,所述单向队列包括一个头、一个尾、以及头尾之间的若干元素节点(node1、node2、...),其中,每一元素节点都包括:“下一个节点号”、“表记录号”、“失步类型”和“失步记录附加信息”等信息项。优选地,可以让每一个数据记录表对应一个失步映像区,使得因增加、或修改、或删除等原因造成的每一失步记录对应一个元素节点。发生记录失步后,需要将该失步记录的失步信息映射到该元素节点的对应信息项上。
所述“下一个节点号”信息,主要是用来描述本元素节点的下一个节点号,单向队列采用链表实现,例如节点1的“下一个节点号”可以设置为2,以表示节点1之后的节点为节点2。
所述“表记录号”信息,主要用来描述单向队列节点中存放的失步记录对应的记录号,在后面的所有步骤中,都是通过使用失步映像区中记载的记录号查找相应的需要同步的记录数据。优选地,该表记录号即为主用系统中数据记录表中对应该节点的表记录的记录号。
所述“失步类型”信息,主要用来标记主用系统上造成数据失步的各种操作。失步类型包括主用系统插入新记录操作,表示为插入数据同步(SYN_INS);失步类型还包括主用系统修改原有记录操作,表示为修改数据同步(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:同一记录发生多次修改后失步类型的修改叠加情况
对于主用系统中记录表的某一表记录被修改后,选择或创建一个元素节点用于保存该记录的失步信息,可以将下一节点的号码写入“下一个节点号”项中、将该被修改表记录的记录号写入“表记录号”中、将所作修改类型写入“失步类型”,如果是多次修改可以依照表1示方法,将多次叠加后的失步类型写入,和另外根据“失步类型”将必要的失步信息写入“失步记录附加信息”中。
由于主备同步,通常是定时周期进行的,对于定时周期内发生的修改都需要将表记录的失步信息,写入失步映像区中的对应节点上。可以在定时周期到时后,进行数据打包,将失步信息同步到备用系统。
步骤3:主用系统从失步映像区中扫描失步记录,打包需要同步的表记录。
在步骤3中,同步周期到时后,主用系统扫描失步映像区,按照元素节点上的失步类型及失步信息,从主用系统的数据记录表中读取失步数据,将失步数据打包到主备同步的同步数据包中,同时需要从失步映像区中删除该记录对应的元素节点;如果数据包写满或者主机上所有失步数据打包完毕,则写数据包包头信息。为了防止因打包错误造成不能正确接收,发送完数据同步包后,就将对应的元素节点从失步映像区中删除,同时保存这个发送的数据包的信息,只有等到备机有响应后,才打包发送下一个数据包,否则,就会等超时,重新发送这个数据包,如果重发3次还没有收到响应数据包,则将保存的同步包中的信息再回写到失步映像区中。
如果当前处理的失步记录的失步类型为SYN_INS类型,表示需要增加记录,则首先根据失步映像区中的表记录号定位表记录;定位到数据记录后,依次将表记录的失步类型、失步记录的记录长度以及主用系统上数据表上失步记录的内容写入同步数据包中。
如果当前处理的失步记录的失步类型为SYN_FLD类型,则首先根据失步映像区中的表记录号定位表记录;定位到数据记录后,根据失步映像区中“失步记录附加信息”的BIT位集合确定主用系统上数据表的对应字段是否需要同步,将需要同步的字段内容打包到同步数据包中去;还需要打包到同步数据包中去的信息包括:失步数据类型、所有失步字段的总长度、失步记录的关键字信息和失步字段的BIT位集合信息。
如果当前处理的失步记录的失步类型是SYN_DEL类型,则依次将表记录的失步类型、失步记录的记录长度以及失步映像区中的失步记录附加信息的内容写入同步数据包中。
步骤4:主备用系统利用数据同步通道同步失步数据。
在步骤4中,包括主用系统利用消息机制将打包完成的同步数据包发送到备用系统;还包括备用系统处理完成同步数据包后给主用系统发送响应消息。
步骤5:备用系统上解包所接收到的同步数据,写入备用系统上的数据表空间。
步骤5包括:分解同步数据包,获取当前同步的表信息;从不等长记录集中读取数据,处理每一条同步过来的数据,写入备用系统的表空间。
如果当前处理的记录的失步类型是SYN_INS类型的同步,则根据数据包中的记录长度信息从数据包读取数据内容,将新记录插入备用系统表空间;
如果当前处理记录的失步类型为SYN_FLD类型的同步,则根据同步数据包中的记录关键字信息定位备用系统表记录;定位到记录后,根据数据包中的表字段BIT位集合信息解包同步过来的数据,并修改表记录空间中与BIT位集合对应的字段的内容;
如果当前处理记录的失步类型为SYN_DEL类型的同步,则根据同步数据包中的记录关键字信息找到对应备用系统上对应的表记录,并将其删除。
附图3是移动通讯网络中采用1+1主备容灾方式的双归属系统的组成结构示意图。其中,两个交换机MSCS1和MSCS2构成了1+1主备方式下的双归属系统:
A)两个交换机MSCS1和MSCS2同时只有一个处于工作状态,而另外一个交换机处于备用状态,等待伙伴系统出现问题时切换为主用状态;
B)主用状态的交换机发生数据改变,需要通过数据同步通道将失步数据同步到备用交换机中。
如附图3所示,在当前情况下,MSCS1为主用状态,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的内容
IMSI | MSISDN | LAC | BearServ | TeleServ | SECCONTEXT |
在数据表R_MS中,IMSI表示国际移动用户识别码,MSISDN表示移动站ISDN,LAC表示区域码,BearServ表示承载业务,TeleServ表示电话业务,SECCONTEXT表示安全上下文。
首先,为R_MS表创建失步映像区,创建失步映像区单向队列,初始化队列节点;然后,建立R_MS表字段与BIT位的对应关系,如表3所示:
表3:R_MS表字段与BIT位的对应关系。
R_MS表字段 | BIT位 |
IMSI(国际移动用户识别码) | BIT0 |
MSISDN(移动站ISDN) | BIT1 |
LAC(区域码) | BIT2 |
BearServ(承载业务) | BIT3 |
TeleServ(电话业务) | BIT4 |
SECCONTEXT(安全上下文) | BIT5 |
... | ... |
表3所示的对应关系是分别存储在主备系统上的,主备一致。而失步映射区中仅在附加消息中存储发生变化的需要同步过去的字段的BIT值,例如,仅BIT1的bit位发生变化时,假定比特位置为1时表示需要同步,而置为0时或置为非1时为不需同步,则当BIT1=1时,对应的MSISDN字段需要被同步。
如附图3所示,移动通讯网络中,用户数据变化以及主备用系统之间的数据同步的大致过程如下:
首先,用户(UE)接入网络(步骤①);然后,主用MSCS1网元与HLR网元交互,修改用户数据(步骤②);由于MSCS1网元需要将最新的用户数据同步到备用系统,接着,主用系统MSCS1将失步的数据打包(步骤③);打包之后,通过数据同步通道将失步数据发送到备用系统MSCS2(步骤④);备用系统MSCS2接收到主用系统的同步数据包后,将同步数据解包,修改备用系统的数据与主用系统一致(步骤⑤)。
下面以具体的用户接入过程来说明一下本发明描述的双归属系统中主用与备用系统中的增量数据修改的数据同步的实现。假设在一段同步周期内,有用户U1、U2、U3和U4的用户数据在主用系统有数据更新,描述如下:
移动用户U1漫游到本地MSCS网络,在本局第一次位置更新,则MSCS1向用户U1归属的HLR查询到用户数据后,插入VLR数据库的R_MS表,记录号为N1,并且将R_MS表的新增记录N1添加到表的失步映像区中去,失步记录号为N1,失步类型为SYN_INS,失步记录附加信息不需要填写;
移动用户U2的位置信息发生了改变,做了一次局内位置更新,MSCS_1的VLR数据库中已经有了该用户U2的数据,记录号为N2,位置更新只是修改R_MS表中记录N2的区域码LAC的信息,并且将R_MS表的被修改记录N2添加到表的失步映像区中去,失步记录号为N2,失步类型为SYN_FLD,失步的附加信息中填写R_MS表LAC字段对应的BIT位信息,即将BIT位集合的BIT2位设置为1,表示LAC字段需要同步;
移动用户U3在MSCS1的VLR数据库中已经存在,记录号为N3;假设用户在HLR修改自己的BearServ和TeleServ信息;HLR通过MAP消息通知VLR数据库修改用户U3的签约信息,VLR数据库修改R_MS表的记录N3的BearServ和TeleServ信息,并且将R_MS表的被修改记录N3添加到表的失步映像区中去,失步记录号为N3,失步类型为SYN_FLD,失步的附加信息中填写R_MS表BearServ字段和TeleServ字段对应的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表的关键字。
移动用户U1、U2、U3和U4的数据在MSCS1的VLR数据库上已经修改,主用系统MSCS1与备用系统MSCS2数据同步周期到时,主用系统MSCS1的打包过程是:首先,扫描失步映像区,依次打包R_MS表的N1、N2、N3和N4记录。
打包记录N1的过程是:根据失步映像区中的记录号N1定位R_MS表,由于当前处理的记录的失步类型为SYN_INS类型,因此将失步类型、R_MS表的记录长度以及R_MS表当前记录的内容依次打包到同步数据包中,并且修改同步数据包的包头信息,主要是修改同步数据包中的记录数信息和包的有效长度信息;
打包记录N2的过程是:根据失步映像区中的记录号N2信息定位R_MS表,由于当前处理的记录的失步类型为SYN_FLD类型,因此当前记录长度是R_MS表关键字的长度、需要打包的失步BIT位集合的长度以及所有失步字段的总长度的总和,对于记录N2来说,失步的字段只有LAC字段;打包记录N2就是依次打包失步类型、打包记录的关键字(数据表中的IMSI字段信息),打包计算出来的当前记录长度信息、打包失步BIT位集合标志以及打包各个失步字段的内容;
打包记录N3的过程与记录N2的过程一样,只不过记录N3的失步字段为BearServ字段和TeleServ字段;
打包记录N4的过程:依次打包失步类型、打包同步记录长度以及打包失步记录的关键字信息(IMSI字段信息);对于SYN_DEL失步类型,同步记录长度即为关键字长度;由于主用系统中记录N4已经删除,因此失步记录的关键字信息(IMSI字段信息)只可以从失步映像区的附加信息中获取。
主用系统打包完成后,通过主备用系统的数据同步通道,将数据发送到备用系统,备用系统收到同步数据包后,进行数据包的解包。具体过程如下:
根据数据包表头信息得知本次同步的表为R_MS表,同步的记录数为4条;
首先,从数据包中读取第1条记录的记录头信息,记录的同步类型为SYN_INS,从数据包中读取整条记录信息,将同步数据插入备用系统上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表上与关键字信息匹配的记录。对于特定的表同步,主备上的关键字是一致的。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参考实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的技术方案的精神和范围,其均应涵盖在本发明的权利有求范围当中。
Claims (10)
1.一种容灾备份系统中数据同步的实现方法,在主用和备用系统之间实现数据同步,其特征在于,包括如下步骤:
S1、为主、备系统上每一需要同步的数据记录表创建一个失步映像区;
S2、在同步周期内,主用系统修改数据记录表中的表记录,将被修改表记录对应的同步信息插入失步映像区作为失步记录;
S3、同步周期到时后,主用系统从失步映像区中扫描失步记录,根据所述对应的同步信息,将需要同步的记录数据打包为同步数据包;
S4、主备用系统利用数据同步通道同步所述同步数据包;
S5、备用系统对接收的所述同步数据包进行解包,将同步数据写入数据记录表空间。
2.如权利要求1所述的方法,其特征在于,步骤S1中创建的所述失步映像区采用单向队列管理主、备系统数据记录表中被修改的数据记录,其中,所述单向队列采用链表实现,该单向队列的每一个元素节点作为与被修改数据记录对应的失步记录,包括:下一个节点号、表记录号、失步类型、失步记录附加信息。
3.如权利要求2所述的方法,其特征在于,所述失步类型用于标记主用系统上对记录进行修改的各种操作,包括:
插入数据同步SYN_INS类型,表示主用系统插入新记录操作;
或修改数据同步SYN_FLD类型,表示主用系统修改原有记录操作;
或删除数据同步SYN_DEL类型,表示主用系统删除原有记录操作。
4.如权利要求2或3所述的方法,其特征在于,所述失步记录附加信息用于记录不同失步类型对应需要记录的额外的用于主备系统同步的信息:
如果失步类型为SYN_INS类型,则失步记录附加信息不需要;
如果失步类型为SYN_FLD类型,则失步记录附加信息是一组BIT位集合,每个BIT位表示主用系统的记录中某个字段是否需要主备同步,所述BIT位集合与记录字段的对应关系信息都存放在主用系统与备用系统;
如果失步类型为SYN_DEL类型,则失步记录附加信息是一组BYTE类型的存储区域,用来存放在主用系统上被删除的记录的关键字。
5.如权利要求1或2所述的方法,其特征在于,步骤S2中将被修改的记录对应的同步信息插入失步映像区作为失步记录的步骤进一步分为:
S21、将被修改的表记录的记录号插入失步映像区作为所述元素节点的表记录号;
S22、将被修改的表记录的失步类型写入失步映像区中所述元素节点的失步类型中;
S23、根据失步类型将所述被修改的表记录的同步信息写入失步记录附加信息中。
6.如权利要求5所述的方法,其特征在于,步骤S22中若同一记录在主备同步前发生了多次修改,则仅在所述失步映像区的一个元素节点上保存失步记录信息,对该失步记录进行多次修改时,将所述多次修改进行叠加后失步类型作为最终失步类型。
7.如权利要求1-4中的任一权利要求所述的方法,其特征在于,步骤S3进一步可分为:
S31、主用系统根据表记录号扫描失步映像区,定位对应的失步记录;
S32、主用系统根据所述失步类型及失步记录附加信息,将主用系统表记录中的失步数据打包到同步数据包,其中:
如果失步类型为SYN_INS类型,则体次将失步类型、表记录的记录长度以及表记录的内容写入同步数据包中;
如果失步类型为SYN_FLD类型,则根据失步记录附加信息的BIT位集合确定字段是否需要同步,将需要同步的字段内容打包到同步数据包中去,同时将失步数据类型、所有失步字段的总长度、失步记录的关键字信息和失步字段的BIT位集合信息一并写入同步数据包;
如果失步类型是SYN_DEL类型,则依次将表记录的失步类型、失步记录的记录长度以及失步映像区中的失步记录附加信息的内容写入同步数据包中。
8.如权利要求1所述的方法,其特征在于,步骤S4中包括:
主用系统利用消息机制通过同步数据通道将同步数据包发送到备用系统;
备用系统处理完成同步数据包后向主用系统发送响应消息。
9.如权利要求1或2或3所述的方法,其特征在于,步骤S5进一步可分为:
S51、备用系统分解接收的同步数据包,获取当前同步的表信息;
S52、从不等长记录集中读取数据,将每一条同步过来的记录数据,写入备用系统的相应表空间中,其中,
如果失步类型是SYN_INS类型,则根据同步数据包中的记录长度信息从数据包读取数据内容,将新记录插入备用系统表空间;
如果失步类型是SYN_FLD类型,则根据同步数据包中的记录关键字信息定位备用系统表记录;定位到记录后,根据数据包中的表字段BIT位集合信息解包同步过来的数据,并修改表记录空间中与BIT位集合对应的字段的内容;
如果失步类型为SYN_DEL类型,则根据同步数据包中的记录关键字信息删除备用系统的表记录。
10.如权利要求1所述的方法,其特征在于,所述主、备系统中均保存有表记录字段与BIT位集合的对应关系信息,BIT位置为1时,表示对应的字段需要同步,BIT位置为0时,表示对应的字段不需同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100002350A CN101221522A (zh) | 2007-01-11 | 2007-01-11 | 一种容灾备份系统中数据同步的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100002350A CN101221522A (zh) | 2007-01-11 | 2007-01-11 | 一种容灾备份系统中数据同步的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101221522A true CN101221522A (zh) | 2008-07-16 |
Family
ID=39631377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100002350A Pending CN101221522A (zh) | 2007-01-11 | 2007-01-11 | 一种容灾备份系统中数据同步的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101221522A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101984413A (zh) * | 2010-11-17 | 2011-03-09 | 上海顶竹通讯技术有限公司 | 不同设备间的数据队列的同步方法及装置 |
CN102193787A (zh) * | 2010-03-01 | 2011-09-21 | 深圳市金蝶中间件有限公司 | 一种序列化和反序列化的方法、装置及系统 |
CN102447742A (zh) * | 2011-11-24 | 2012-05-09 | 中兴通讯股份有限公司 | 一种动态数据主备同步的方法、系统及一种元数据服务器 |
CN102495849A (zh) * | 2011-11-18 | 2012-06-13 | 中兴通讯股份有限公司 | 分布式系统数据同步的方法及装置 |
CN101635638B (zh) * | 2008-07-25 | 2012-10-17 | 中兴通讯股份有限公司 | 一种容灾系统及其容灾方法 |
CN103049353A (zh) * | 2012-12-21 | 2013-04-17 | 华为技术有限公司 | 一种数据备份方法及相关装置 |
CN103558754A (zh) * | 2013-10-29 | 2014-02-05 | 国家电网公司 | 一种水电站机组进水控制方法 |
CN104301990A (zh) * | 2014-10-10 | 2015-01-21 | 大唐移动通信设备有限公司 | 一种数据同步的方法及装置 |
CN104750744A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团河南有限公司 | 一种基于Oracle数据库的压缩数据同步方法及装置 |
CN105635295A (zh) * | 2016-01-08 | 2016-06-01 | 成都卫士通信息产业股份有限公司 | 一种IPSec VPN高性能数据同步方法 |
CN110012064A (zh) * | 2019-02-22 | 2019-07-12 | 视联动力信息技术股份有限公司 | 一种数据同步的方法和系统 |
CN110032478A (zh) * | 2018-01-11 | 2019-07-19 | 中兴通讯股份有限公司 | 一种主备中心数据实时同步方法、装置、系统及存储介质 |
CN111400111A (zh) * | 2020-03-12 | 2020-07-10 | 北京交大思诺科技股份有限公司 | 一种具有备机失步状态的安全计算机平台 |
CN112087514A (zh) * | 2020-09-10 | 2020-12-15 | 麦碳翁工业技术南京有限公司 | 一种信息管理平台对油罐区进行管理的方法 |
CN112527914A (zh) * | 2021-02-10 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 主备数据库同步方法、主节点、备节点及存储介质 |
-
2007
- 2007-01-11 CN CNA2007100002350A patent/CN101221522A/zh active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635638B (zh) * | 2008-07-25 | 2012-10-17 | 中兴通讯股份有限公司 | 一种容灾系统及其容灾方法 |
CN102193787B (zh) * | 2010-03-01 | 2014-12-17 | 深圳市金蝶中间件有限公司 | 一种序列化和反序列化的方法、装置及系统 |
CN102193787A (zh) * | 2010-03-01 | 2011-09-21 | 深圳市金蝶中间件有限公司 | 一种序列化和反序列化的方法、装置及系统 |
CN101984413A (zh) * | 2010-11-17 | 2011-03-09 | 上海顶竹通讯技术有限公司 | 不同设备间的数据队列的同步方法及装置 |
CN101984413B (zh) * | 2010-11-17 | 2013-04-03 | 上海顶竹通讯技术有限公司 | 不同设备间的数据队列的同步方法及装置 |
CN102495849A (zh) * | 2011-11-18 | 2012-06-13 | 中兴通讯股份有限公司 | 分布式系统数据同步的方法及装置 |
CN102495849B (zh) * | 2011-11-18 | 2017-07-14 | 南京中兴新软件有限责任公司 | 分布式系统数据同步的方法及装置 |
CN102447742A (zh) * | 2011-11-24 | 2012-05-09 | 中兴通讯股份有限公司 | 一种动态数据主备同步的方法、系统及一种元数据服务器 |
CN103049353B (zh) * | 2012-12-21 | 2016-01-06 | 华为技术有限公司 | 一种数据备份方法及相关装置 |
CN103049353A (zh) * | 2012-12-21 | 2013-04-17 | 华为技术有限公司 | 一种数据备份方法及相关装置 |
CN103558754A (zh) * | 2013-10-29 | 2014-02-05 | 国家电网公司 | 一种水电站机组进水控制方法 |
CN103558754B (zh) * | 2013-10-29 | 2016-12-07 | 国家电网公司 | 一种水电站机组进水控制方法 |
CN104750744A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团河南有限公司 | 一种基于Oracle数据库的压缩数据同步方法及装置 |
CN104750744B (zh) * | 2013-12-31 | 2018-05-22 | 中国移动通信集团河南有限公司 | 一种基于Oracle数据库的压缩数据同步方法及装置 |
CN104301990A (zh) * | 2014-10-10 | 2015-01-21 | 大唐移动通信设备有限公司 | 一种数据同步的方法及装置 |
CN104301990B (zh) * | 2014-10-10 | 2018-01-26 | 大唐移动通信设备有限公司 | 一种数据同步的方法及装置 |
CN105635295A (zh) * | 2016-01-08 | 2016-06-01 | 成都卫士通信息产业股份有限公司 | 一种IPSec VPN高性能数据同步方法 |
CN105635295B (zh) * | 2016-01-08 | 2019-04-09 | 成都卫士通信息产业股份有限公司 | 一种IPSec VPN高性能数据同步方法 |
CN110032478A (zh) * | 2018-01-11 | 2019-07-19 | 中兴通讯股份有限公司 | 一种主备中心数据实时同步方法、装置、系统及存储介质 |
CN110012064A (zh) * | 2019-02-22 | 2019-07-12 | 视联动力信息技术股份有限公司 | 一种数据同步的方法和系统 |
CN110012064B (zh) * | 2019-02-22 | 2022-12-23 | 视联动力信息技术股份有限公司 | 一种数据同步的方法和系统 |
CN111400111A (zh) * | 2020-03-12 | 2020-07-10 | 北京交大思诺科技股份有限公司 | 一种具有备机失步状态的安全计算机平台 |
CN111400111B (zh) * | 2020-03-12 | 2024-02-27 | 北京交大思诺科技股份有限公司 | 一种具有备机失步状态的安全计算机平台 |
CN112087514A (zh) * | 2020-09-10 | 2020-12-15 | 麦碳翁工业技术南京有限公司 | 一种信息管理平台对油罐区进行管理的方法 |
CN112527914A (zh) * | 2021-02-10 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 主备数据库同步方法、主节点、备节点及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101221522A (zh) | 一种容灾备份系统中数据同步的方法 | |
CN101136783B (zh) | 一种网管系统配置数据的备份、恢复方法及装置 | |
CN101102577B (zh) | 无线通信基站系统前后台数据库表数据增量同步方法 | |
RU2684192C1 (ru) | Способ и устройство для передачи потока службы в гибком ethernet | |
CN101426026B (zh) | 一种多服务器间数据同步的方法及系统 | |
US5517505A (en) | Synchronization method and apparatus for a wireless packet network | |
JPH09244936A (ja) | 共用データ・ファイルを管理するための方法及びシステム | |
CN103092927B (zh) | 一种分布式环境下的文件快速读写方法 | |
CN100399325C (zh) | 一种嵌入式数据库的数据备份和恢复方法 | |
CN103095769B (zh) | 跨机房的数据同步方法以及系统 | |
CN101446972B (zh) | 一种动态数据同步的方法和系统 | |
US20100322301A1 (en) | Image processor, image generator and computer program | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
CN103401795B (zh) | 一种内容中心网络中传输内容冗余的消除方法 | |
US7814068B2 (en) | Identifying changed records in a file stored on an electronic token | |
CN103825918B (zh) | 数据同步方法、终端设备、服务器和系统 | |
CN116016492A (zh) | 一种信息跨网传输方法、设备及介质 | |
CN101404797B (zh) | 长短消息的存储方法、存储管理装置以及存储系统 | |
US7113953B2 (en) | System and method for efficiently writing data from an in-memory database to a disk database | |
CN109086457A (zh) | 一种分布式视频帧随机读取的元数据服务系统及工作方法 | |
CN106982165A (zh) | 数据压缩方法及其系统 | |
CN102638569B (zh) | 一种文件分发同步方法及系统 | |
CN115883685B (zh) | 一种路径恢复方法 | |
CN100512037C (zh) | 一种主备冗余系统中数据同步的方法 | |
JP4821287B2 (ja) | 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080716 |