CN1462116A - 一种主备冗余***中数据同步的方法 - Google Patents
一种主备冗余***中数据同步的方法 Download PDFInfo
- Publication number
- CN1462116A CN1462116A CN 02111898 CN02111898A CN1462116A CN 1462116 A CN1462116 A CN 1462116A CN 02111898 CN02111898 CN 02111898 CN 02111898 A CN02111898 A CN 02111898A CN 1462116 A CN1462116 A CN 1462116A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- memory
- region
- synchronization
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种主备冗余***中的数据同步方法,该方法是当主备用节点触发同步时,主用节点通过数据获取函数,轮询主用节点中每一个模块各个对象,获取需要同步的数据,再将所有数据排列在一定的内存区域,然后进行压缩并传送到备用节点,备用节点接收到同步数据后,执行上述操作的逆过程,从而实现了主、备用节点的数据同步。本发明的优点在于实现了对所有需要同步的数据的统一管理,克服了传统的由各模块分别同步自己的数据所带来的难以保证关联数据的一致性;通过执行压缩算法和采用成熟的滑动窗口协议提高了主、备用节点的通讯效率,保证主、备用节点之间通讯的可靠性。
Description
技术领域:
本发明涉及通讯领域主备冗余***中的一种数据同步的方法,尤其是通讯领域中基于IP技术的主备冗余***的一种数据同步的方法。
背景技术:
电信级的通讯设备通常要求设备具有很高的可靠性,而冗余是提高可靠性的一种基本方法。冗余***中,对处于核心地位的节点一般采用1+1备份或N+1备份,一旦正在工作的主用节点发生故障时,备用节点能很快接管主用节点的工作而成为主用的地位。在主备倒换***中,特别是数据产品,涉及到较多的动态数据以及配置数据等,***往往需要设计专门的数据库用来维护这些数据,要想实现用户业务的平滑过渡,使主、备用节点的倒换不会对设备正常的业务运行造成影响,必然涉及到主、备用节点之间的数据一致性问题,即应该实现主、备用节点之间的数据同步。申请号为6,188,695的美国专利《System and method formulti-node data synchronization》是爱立信公司于1997年12月18日向美国专利局提交的,该专利提出了一种多节点之间数据同步的解决方案,以索引管理器(index manager)给所有需要同步的数据统一分配索引(index),引入一种界定符表达方式将各种类型的索引统一表示,每个索引值均分配四个字节的存储单元,索引和数据存储地址以及数据传输函数(DTF)相关联,当进行数据同步时,将需要同步的信息传递给DTF,然后传送到备用节点的DTF来进行恢复。这种方法对于相对静态数据和相对比较固定的动态数据的同步和更新是适合的,但是在基于IP技术的数据同步中,还存在大量的动态数据,如路由表数据等,这种同步如果采用上述方法来实现,通过index索引到相应的数据需要经常更新,每次对数据的操作均需要修改相应的索引,操作效率比较低,耗费较多的***资源。
发明内容:
本发明所要解决的技术问题在于,为基于IP技术的主备冗余***提供了一种高效可靠的数据同步方法。
本发明的方法,其步骤包括:1、***上电启动后,主用节点和备用节点上都各自预先分配内存区域A和内存区域B,并注册需要同步的数据;2、主备用节点触发同步时,主用节点通过数据获取函数轮询每一个模块中各个对象的数据,获取需要同步的数据,存入主用节点的内存区域A中,并通过压缩算法将数据压缩到主用节点的内存区域B中;3、主用节点将其内存区域B中数据同步传送到备用节点,备用节点接收到同步数据后,将同步数据拷贝到备用节点的内存区域B中;4、备用节点通过解压缩算法,将其内存区域B中压缩的数据解压到备用节点的内存区域A中;5、备用节点根据其内存区域A中的数据设置同步的数据,跳转步骤3,执行下一周期的主备用节点的数据同步。
所述步骤1中,主备用节点注册需要同步的数据是通过调用数据同步模块提供的注册函数,将需要同步的数据进行注册,模块名记录到模块注册表中,需要同步的数据记录到对象注册表中。
所述步骤5中,备用节点根据其内存区域A中的数据设置同步的数据具体是备用节点的数据同步模块依次读取其内存区域A中的数据,先根据模块名查找模块注册表,找到模块名对应的对象注册表,再根据对象注册表中登记的对象名、对象索引及处理函数设置同步的数据。
所述步骤3中主用节点采用滑动窗口协议分包将其内存区域B中数据同步传送到备用节点。
采用本发明提供的主备冗余***中数据同步的方法,对于当IP技术中同步时存在大量的动态数据,保证了关联数据传送的一致性,因此,***在主、备用节点的倒换过程中能实现平滑的过渡。
附图说明:
下面结合附图对本发明做进一步的详细说明。
图1是常用的基于IP技术的主备冗余***的结构图;
图2是本发明的方法流程图;
图3是本发明中用于存放未经压缩的按统一格式组织的数据的内存区域A
的结构示意图;
图4是本发明中用于存放压缩后的数据的内存区域B的结构示意图。
具体实施方式:图1是是常用的基于IP技术的主备冗余***的结构图;主要由主、备用节点和若干业务单板组成。主、备用节点之间有一条数据通道用于数据传输和信息交互,发生主备倒换时,硬件电路上切断原主用(现备用)节点与各业务单板的连接,建立原备用(现主用)节点与各业务单板的连接。本发明所述的基于IP技术的主备冗余***一般都由主、备用节点和若干业务单板组成。主用节点和备用节点之间具有数据同步的交互通道,为了保证在主备倒换时,备用节点能够最大程度地接续原主用节点的工作状态继续运行,需要保证主用节点和备用节点之间的周期性的数据同步过程。图2是本发明的方法流程图,主用节点和备用节点分别运行不同的分支。***上电启动后,主、备用节点的数据同步模块分别执行步骤201和步骤301预先分配两块内存区域,其中区域A用于存放未经压缩的按统一格式组织的数据,区域B用于存放压缩后的数据。然后主、备用节点的各协议模块分别执行步骤202和步骤302调用数据同步模块提供的注册函数将需要同步的数据进行注册,模块名记录到模块注册表中,模块中需要同步的数据记录到对象注册表中。
表1是本发明的算法流程中使用到的模块注册表的结构列表,每一个协议模块有个模块名,通过模块名可以索引到该模块对应的对象注册表。
表1
以上将所有需要同步的数据按上述方法排列到内存区域A后,主用节点的数据同步模块执行步骤204将内存区域A中的数据压缩至内存区域B中,只压缩数据,头信息不压缩。然后执行步骤205采用滑动窗口协议将同步数据分包传送到备用节点。
备用节点的数据同步模块执行步骤303接收主用节点发送过来的同步数据,若接收到,则执行步骤304将接收的同步数据拷贝到内存区域B中。然后执行步骤305将内存区域B中的数据解压缩至内存区域A中,并利用头信息校验数据的正确性。接着,备用节点的数据同步模块执行步骤306从内存区域A中依次获取各协议模块的同步数据,根据模块名查找模块注册表,找到模块名对应的对象注册表,根据对象注册表中登记的对象名、对象索引及处理函数设置协议模块的数据。
对象名 | 数据类型 | 类型长度 | 索引 | 处理函数指针 |
对象1的对象名 | 对象1的数据类型 | 对象1的类型长度 | 对象1的索引 | 对象1的处理函数指针 |
对象2的对象名 | 对象2的数据类型 | 对象2的类型长度 | 对象2的索引 | 对象2的处理函数指针 |
… | … | … | … | |
对象n的对象名 | 对象n的数据类型 | 对象n的类型长度 | 对象n的索引 | 对象n的处理函数指针 |
表2
表2是本发明的算法流程中使用到的对象注册表的结构图,包含对象名(即需要同步的数据的名称)、数据类型、类型长度、索引和处理函数指针。其中,处理函数是由各协议模块提供的,用于获取或设置需要同步的数据。
图3是本发明中用于存放未经压缩的按统一格式组织的数据的内存区域A的结构示意图。首先存放一个头信息,用于记录所有非压缩同步数据的总长度、压缩后的数据长度以及CRC校验字节;然后依次存放各协议模块需要同步的数据,各模块数据的存放方法如下:首先存放模块类型标志、模块名长度和模块名;然后紧接着存放各种需要同步的数据。同步数据的存放采用统一的格式,即对象类型标志、对象数据长度和对象数据。对象数据则由对象名、对象索引和对象的实际取值组成,格式如下:
“对象名\n\对象索引1\n\对象索引2…\n\对象索引m\t\对象的实际取值”
其中,“\n”和“\t”是分隔符,“\n”用于分隔对象名和对象索引或分隔不同的对象索引;“\t”用于分割对象索引和对象的实际取值。每一个对象索引统一用4个字节存放。所有的需要同步的数据都可以转换成这种统一的表示格式。图4是本发明中用于存放压缩后的数据的内存区域B的结构示意图。首先存放头信息,格式同内存区域A的头信息,即所有非压缩同步数据的总长度、压缩后的数据长度以及循环冗余校验(CRC校验)字节;然后存放经过压缩的所有需要同步的数据。
经过上述步骤,实现了主、备用节点之间的数据同步。然后主、备用节点的数据同步模块周期地分别从步骤203和步骤303执行,实现主、备用节点之间周期地进行数据同步。
本发明公开了一种主备冗余***中数据同步的方法。本发明的优点在于将所有需要同步的数据采用了统一的数据格式表示,存放到内存区域,这样实现了对所有需要同步的数据的统一管理,因而克服了传统的由各模块分别同步自己的数据所带来的难以保证关联数据的一致性;通过执行压缩算法提高了主、备用节点的通讯效率;采用成熟的滑动窗口协议分包传送同步数据保证主、备用节点之间通讯的可靠性;通过周期性的数据同步保证了主、备用节点之间数据同步的即时和可靠性。
Claims (4)
1、一种主备冗余***中的数据同步方法,其特征在于包括以下步骤:
步骤1,***上电启动后,主用节点和备用节点上都各自预先分配内存区域A
和内存区域B,并注册需要同步的数据;
步骤2,主备用节点触发同步时,主用节点通过数据获取函数轮询每一个模块
中各个对象的数据,获取需要同步的数据,存入主用节点的内存区域
A中,并通过压缩算法将数据压缩到主用节点的内存区域B中;
步骤3,主用节点将其内存区域B中数据同步传送到备用节点,备用节点接收
到同步数据后,将同步数据拷贝到备用节点的内存区域B中;
步骤4,备用节点通过解压缩算法,将其内存区域B中压缩的数据解压到备用
节点的内存区域A中;
步骤5,备用节点根据其内存区域A中的数据设置同步的数据,跳转步骤3,执
行下一周期的主备用节点的数据同步。
2.根据权利要求1所述的一种主备冗余***中的数据同步方法,其特征在于,所述步骤1中,主备用节点注册需要同步的数据,具体是通过调用数据同步模块提供的注册函数,将需要同步的数据进行注册,模块名记录到模块注册表中,需要同步的数据记录到对象注册表中。
3.根据权利要求2所述的一种主备冗余***中的数据同步方法,其特征在于,所述步骤5中,备用节点根据其内存区域A中的数据设置同步的数据,具体是通过备用节点的数据同步模块依次读取其内存区域A中的数据,先根据模块名查找模块注册表,找到模块名对应的对象注册表,再根据对象注册表中登记的对象名、对象索引及处理函数设置同步的数据。
4.根据权利要求1所述的一种主备冗余***中的数据同步方法,其特征在于,所述步骤3中主用节点采用滑动窗口协议分包将其内存区域B中数据同步传送到备用节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021118981A CN100512037C (zh) | 2002-05-28 | 2002-05-28 | 一种主备冗余***中数据同步的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021118981A CN100512037C (zh) | 2002-05-28 | 2002-05-28 | 一种主备冗余***中数据同步的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1462116A true CN1462116A (zh) | 2003-12-17 |
CN100512037C CN100512037C (zh) | 2009-07-08 |
Family
ID=29741945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021118981A Expired - Lifetime CN100512037C (zh) | 2002-05-28 | 2002-05-28 | 一种主备冗余***中数据同步的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100512037C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442708C (zh) * | 2005-06-17 | 2008-12-10 | 上海华为技术有限公司 | 一种主备备份的方法及*** |
CN102064932A (zh) * | 2010-12-30 | 2011-05-18 | 上海顶竹通讯技术有限公司 | 不同设备间数据同步的方法及装置 |
CN103279269A (zh) * | 2013-05-31 | 2013-09-04 | 华为技术有限公司 | 一种应用程序之间的数据交互方法及装置、终端设备 |
CN104092563A (zh) * | 2014-06-13 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种业务配置信息的传输方法和设备 |
CN105892954A (zh) * | 2016-04-25 | 2016-08-24 | 乐视控股(北京)有限公司 | 基于多副本的数据存储方法和装置 |
CN111831490A (zh) * | 2020-06-30 | 2020-10-27 | 中国船舶重工集团公司第七一六研究所 | 一种冗余主备用节点之间内存同步方法及*** |
CN113055539A (zh) * | 2021-03-09 | 2021-06-29 | 南京莱斯电子设备有限公司 | 一种基于VoIP双冗余交换服务器的通信*** |
-
2002
- 2002-05-28 CN CNB021118981A patent/CN100512037C/zh not_active Expired - Lifetime
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100442708C (zh) * | 2005-06-17 | 2008-12-10 | 上海华为技术有限公司 | 一种主备备份的方法及*** |
CN102064932A (zh) * | 2010-12-30 | 2011-05-18 | 上海顶竹通讯技术有限公司 | 不同设备间数据同步的方法及装置 |
CN103279269A (zh) * | 2013-05-31 | 2013-09-04 | 华为技术有限公司 | 一种应用程序之间的数据交互方法及装置、终端设备 |
CN103279269B (zh) * | 2013-05-31 | 2016-03-02 | 华为技术有限公司 | 一种应用程序之间的数据交互方法及装置、终端设备 |
CN104092563A (zh) * | 2014-06-13 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种业务配置信息的传输方法和设备 |
CN104092563B (zh) * | 2014-06-13 | 2017-10-27 | 新华三技术有限公司 | 一种业务配置信息的传输方法和设备 |
CN105892954A (zh) * | 2016-04-25 | 2016-08-24 | 乐视控股(北京)有限公司 | 基于多副本的数据存储方法和装置 |
CN111831490A (zh) * | 2020-06-30 | 2020-10-27 | 中国船舶重工集团公司第七一六研究所 | 一种冗余主备用节点之间内存同步方法及*** |
CN111831490B (zh) * | 2020-06-30 | 2023-11-10 | 中国船舶集团有限公司第七一六研究所 | 一种冗余主备用节点之间内存同步方法及*** |
CN113055539A (zh) * | 2021-03-09 | 2021-06-29 | 南京莱斯电子设备有限公司 | 一种基于VoIP双冗余交换服务器的通信*** |
CN113055539B (zh) * | 2021-03-09 | 2022-07-05 | 南京莱斯电子设备有限公司 | 一种基于VoIP双冗余交换服务器的通信*** |
Also Published As
Publication number | Publication date |
---|---|
CN100512037C (zh) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754514B1 (en) | Distributed database cluster system, data synchronization method and storage medium | |
CN101102577B (zh) | 无线通信基站***前后台数据库表数据增量同步方法 | |
CN100388675C (zh) | 一种网管***中实现对前台数据配置的方法 | |
CN102693324B (zh) | 一种分布式数据库同步***、同步方法和节点管理方法 | |
CN102880475B (zh) | 计算机软件***中基于云计算的实时事件处理***及方法 | |
CN101907879B (zh) | 工业控制网络冗余容错*** | |
CN103905537A (zh) | 分布式环境下管理工业实时数据存储的*** | |
CN1937536A (zh) | 网管拓扑数据同步刷新的方法及*** | |
CN105260376A (zh) | 用于集群节点缩扩的方法、设备和*** | |
CN104468274A (zh) | 一种集群监控管理方法及*** | |
CN105760519A (zh) | 一种集群文件***及其文件锁分配方法 | |
CN100512037C (zh) | 一种主备冗余***中数据同步的方法 | |
CN102143006B (zh) | 通讯设备中的接口拓扑控制方法、***及装置 | |
CN1617600A (zh) | 一种归属位置寄存器的数据容灾方法 | |
CN1217270C (zh) | 一种同网异构数据备份***及其实现方法 | |
CN105005515B (zh) | 一种LAN‑free备份*** | |
CN1941927B (zh) | 向电信网络节点的数据分发 | |
CN1988477A (zh) | 具有高可用性特征的网络管理*** | |
CN1482764A (zh) | 一种主备后台网管数据同步的方法 | |
CN114564458B (zh) | 集群间数据同步的方法、装置、设备和存储介质 | |
CN111858103B (zh) | 软件***内模块高低版本通信兼容实现方法 | |
CN1992640B (zh) | 一种基于交换机后台的多业务接入单元的数据同步方法 | |
CN110719326B (zh) | 适应低质量通信链路的高可用软件***内数据同步方法 | |
CN111064660B (zh) | 主从通讯设备间平滑芯片Linkagg表项的方法和通讯*** | |
CN112202620A (zh) | 一种网络拓扑结构生成方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20090708 |