CN109117323A - 一种双机热备系统中的主备切换方法 - Google Patents
一种双机热备系统中的主备切换方法 Download PDFInfo
- Publication number
- CN109117323A CN109117323A CN201811012051.0A CN201811012051A CN109117323A CN 109117323 A CN109117323 A CN 109117323A CN 201811012051 A CN201811012051 A CN 201811012051A CN 109117323 A CN109117323 A CN 109117323A
- Authority
- CN
- China
- Prior art keywords
- machine
- standby
- host
- collisions
- shipper
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种双机热备系统中的主备切换方法,双机分别自检,采集自检信息,包括本机是否健康、主备机身份和ID号;采用心跳包机制,双机互相发送心跳包,心跳包中包含自检信息;双机分别保存本机自检信息和最后一次收到的他机自检信息;双机分别检测ID号,若双机ID号冲突,则进行ID号协商。本发明能够实现双机热备系统中的主备切换功能,且具有不需要中心节点和不需要预设主备身份优先级的优点。
Description
技术领域
本发明涉及计算机领域,具体涉及一种备份系统的切换方法。
背景技术
涉及电力、通信、监控等关键设施系统中,服务的可靠性和连续性至关重要。这些重要系统都需要一定的热备冗余机制,即当服务提供设备出现异常时,能够保证这些系统的正常运行,防止出现灾难性后果。
双机热备系统指两台相同的服务提供设备同时工作,一台为主服务提供设备,简称主机,向外部提供服务;另外一台为备用服务提供设备,简称备机。主机发生故障时,备机接替主机,向外部提供服务。
如何进行主备切换是双机热备系统的核心问题。目前,双机热备系统中的主备切换方法,或是依赖“中心节点”对主备身份进行仲裁和控制;或是使用设备硬件标识预设主备身份优先级,当设备更换以后需要重新配置参数,不利于后期的更新和维护。
发明内容
为了克服现有技术的不足,本发明提供一种双机热备系统中的主备切换方法,不需要中心节点和不需要预设主备身份优先级。
本发明解决其技术问题所采用的技术方案包括以下步骤:
(1)双机分别自检,采集自检信息,包括本机是否健康、主备机身份和ID号;
(2)采用心跳包机制,双机互相发送心跳包,心跳包中包含自检信息;
(3)双机分别保存本机自检信息和最后一次收到的他机自检信息;
(4)双机分别检测ID号,若双机ID号冲突,则进行ID号协商;
若双机主备机身份冲突,则进行主备机身份协商;
若主机发现本机不健康、他机健康,则将自身降级为备机,向他机发送升级主机指令;他机收到升级主机指令后,升级为主机;
若备机预设时限内未收到他机的心跳包,则升级为主机。
所述的ID号协商,具体包括:
双机分别维护自身的ID号和ID号冲突数,ID号冲突数在软件启动时初始化为随机数,ID号仅有两个有效值:ID_A(默认ID)和ID_B;
监测到ID号冲突后,本机将ID号冲突报文发送给他机,ID号冲突报文中包含ID号和ID号冲突数;
收到ID号冲突报文后,若本机的ID号冲突数小于他机的ID号冲突数,将本机的ID号由ID_A更改为ID_B;若本机的ID号冲突数大于他机的ID号冲突数,发送ID号冲突报文给他机;若本机的ID号冲突数等于他机的ID号冲突数,重新生成本机的ID号冲突数,并发送ID号冲突报文给他机。
所述的主备机身份协商,具体包括:
本机与他机均健康时,若本机ID号为默认ID,则更改本机的主备机身份;
本机不健康,他机健康时,若本机为主机,则本机降级为备机;若本机为备机,本机主备机身份不变;
本机健康,他机不健康时,若本机为备机,则本机升级为主机;若本机为主机,本机主备机身份不变。
本发明的有益效果是:能够实现双机热备系统中的主备切换功能,且具有不需要中心节点和不需要预设主备身份优先级的优点。
附图说明
图1是实施例1所提供的双机热备系统中的主备切换方法的流程示意图;
图2是实施例2所提供的双机热备系统中的主备切换方法中,ID号协商的流程示意图;
图3是实施例3所提供的双机热备系统中的主备切换方法中,主备机身份协商的流程示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明提供一种双机热备系统中的主备切换方法,包括以下步骤:
双机分别自检,采集自检信息,该信息包括是否健康、主备机身份、ID号,其中主备机身份和ID号从配置文件中读取;
采用心跳包机制,双机互相发送心跳包,心跳包中包含自检信息;
双机分别保存本机自检信息和最后一次收到的他机自检信息;
若双机ID号冲突,则进行ID号协商;
若双机主备机身份冲突,则进行主备机身份协商;
若主机发现本机不健康、他机健康,则将自身降级为备机,向他机发送升级主机指令;他机收到升级主机指令后,升级为主机;
若备机预设时限内未收到他机的心跳包,则升级为主机。
所述的ID号协商,具体包括:
双机分别维护自身的ID号和ID号冲突数,ID号冲突数在软件启动时初始化为随机数,ID号仅有两个有效值:ID_A(默认ID)和ID_B;
监测到ID号冲突后,本机将ID号冲突报文发送给他机,ID号冲突报文中包含ID号和ID号冲突数;
收到ID号冲突报文后,若本机的ID号冲突数小于他机的ID号冲突数,将本机的ID号由ID_A更改为ID_B;若本机的ID号冲突数大于他机的ID号冲突数,发送ID号冲突报文给他机;若本机的ID号冲突数等于他机的ID号冲突数,重新生成本机的ID号冲突数,并发送ID号冲突报文给他机。
所述的主备机身份协商,具体包括:
本机与他机均健康时,若本机ID号为默认ID,则更改本机的主备机身份;
本机不健康,他机健康时,若本机为主机,则本机降级为备机;若本机为备机,本机主备机身份不变;
本机健康,他机不健康时,若本机为备机,则本机升级为主机;若本机为主机,本机主备机身份不变。
实施例1
图1是本发明实施例1所提供的双机热备系统中的主备切换方法的流程示意图。参见图1所示,本发明实施例所提供的主备切换方法包括:
步骤101:双机分别自检,采集自检信息,该信息包括是否健康、主备机身份、ID号,其中主备机身份和ID号从配置文件中读取;
步骤102:采用心跳包机制,双机互相发送心跳包,心跳包中包含自检信息;
步骤103:双机分别保存本机自检信息和最后一次收到的他机自检信息;
步骤104:若双机ID号冲突,则进行ID号协商;
步骤105:若双机主备机身份冲突,则进行主备机身份协商;
步骤106:若主机发现本机不健康、他机健康,则将自身降级为备机,向他机发送升级主机指令;他机收到升级主机指令后,升级为主机;
步骤107:若备机预设时限内未收到他机的心跳包,则升级为主机。
本发明提供的主备切换方法,相比现有技术而言,不依赖于中心节点,双机的地位平等,增强了整个系统的健壮性;通过ID号协商和主备机身份协商的方法解决了现有技术需要预设优先级的问题。
本实施例中,双机均接收相同外部设备(双机以外)的数据输入,并通过数据输出的方式向外部提供服务。双机分别自检,采集是否健康、主备机身份、ID号等信息:是否健康信息综合本机状态和与外部设备链路状态得出;主备机身份和ID号信息从配置文件中读取,这两个信息不会因为设备掉电重启而丢失。双机采用心跳包机制,互相发送自检信息。双机分别保存本机的自检信息和最后一次收到的他机自检信息。如果发现ID号冲突,进行ID号协商:ID号用作当双机主备机身份冲突且健康程度相当时的主备机身份确定。如果发现主备机身份冲突,则进行主备机身份协商。若主机发现本机不健康、他机健康,则将自身降级为备机,向他机发送升级主机指令;他机收到升级主机指令后,升级为主机。若备机预设时限内未收到他机的心跳包,则升级为主机。
本实施例中,若ID号冲突和主备机身份冲突同时发生,优先处理ID号冲突,进行ID号协商,ID号协商完毕后,再处理主备机身份冲突,进行主备机身份协商。
本实施例正常运行的前提是双机之间通讯正常。
实施例2
图2是本发明实施例2所提供的双机热备系统中的主备切换方法中,ID号协商的流程示意图,参见图2所示,具体包括:
步骤201:双机分别维护自身的ID号和ID号冲突数,ID号冲突数在软件启动时初始化为随机数,ID号仅有两个有效值:ID_A(默认ID)和ID_B,;
步骤202:监测到ID号冲突后,本机将ID号冲突报文发送给他机,ID号冲突报文中包含ID号和ID号冲突数;
步骤203:收到ID号冲突报文后,若本机的ID号冲突数小于他机的ID号冲突数,将本机的ID号由ID_A更改为ID_B;若本机的ID号冲突数大于他机的ID号冲突数,发送ID号冲突报文给他机;若本机的ID号冲突数等于他机的ID号冲突数,重新生成本机的ID号冲突数,并发送ID号冲突报文给他机。
本实施例中,双机各自维护ID号和ID号冲突数:ID号仅有两个有效值,ID_A和ID_B,ID_A为默认的ID号,一般情况下,ID号协商仅在系统初次运行或者更换双机后执行;ID号冲突数是一个随机数,设备启动后会自动生成,用来进行ID号协商。监测到ID号冲突后,本机将ID号冲突报文发送给他机,ID号冲突报文中包含ID号和ID号冲突数。接收到ID号冲突报文后,本机通过以下流程解决ID号冲突:若本机的ID号冲突数小于他机的ID号冲突数,将本机的ID号由ID_A更改为ID_B;若本机的ID号冲突数大于他机的ID号冲突数,发送ID号冲突报文给他机;若本机的ID号冲突数等于他机的ID号冲突数,重新生成本机的ID号冲突数,并发送ID号冲突报文给他机。
例如:ID号协商过程(假定双机分别为机器1和机器2):
机器1ID为5,ID号冲突数为10001;
机器2ID为5,ID号冲突数为10002;
机器1和机器2均会监测到ID号冲突,发送ID号冲突报文给对方;
机器1收到来自机器2的ID号冲突报文后,发现自身的ID号冲突数10001小于机器2的ID号冲突数10002,将自身的ID由5改成6;
机器2收到来自机器1的ID号冲突报文后,发现自身的ID号冲突数10002大于机器2的ID号冲突数10001,自身ID不变;
至此,机器1和机器2的ID号冲突已解决。
实施例3
图3是本发明实施例3所提供的双机热备系统中的主备切换方法中,主备机身份协商的流程示意图,参见图3所示,具体包括:
步骤301:本机与他机均健康时,若本机ID号为默认ID,则更改本机的主备机身份;
步骤302:本机不健康,他机健康时,若本机为主机,则本机降级为备机;若本机为备机,本机主备机身份不变;
步骤303:本机健康,他机不健康时,若本机为备机,则本机升级为主机;若本机为主机,本机主备机身份不变。
本实施例中的主备机身份协商,本机根据本机和他机的健康与否确定自身的主备机身份。
例如:主备机身份协商过程(假定双机分别为机器1和机器2):
机器1ID为5(默认ID),主备机身份为主机,健康;
机器2ID为6,主备机身份为主机,健康;
机器1和机器2均会监测到主备机身份冲突;
机器1发现自身和机器2均健康,且自身ID为5,是默认ID,则更改自身主备机身份为备机;
机器1发现自身和机器2均健康,且自身ID为6,不是默认ID,则不做任何操作;
至此,机器1和机器2的主备机身份冲突已解决。
Claims (3)
1.一种双机热备系统中的主备切换方法,其特征在于包括下述步骤:
(1)双机分别自检,采集自检信息,包括本机是否健康、主备机身份和ID号;
(2)采用心跳包机制,双机互相发送心跳包,心跳包中包含自检信息;
(3)双机分别保存本机自检信息和最后一次收到的他机自检信息;
(4)双机分别检测ID号,若双机ID号冲突,则进行ID号协商;
若双机主备机身份冲突,则进行主备机身份协商;
若主机发现本机不健康、他机健康,则将自身降级为备机,向他机发送升级主机指令;他机收到升级主机指令后,升级为主机;
若备机预设时限内未收到他机的心跳包,则升级为主机。
2.根据权利要求1所述的双机热备系统中的主备切换方法,其特征在于,所述的ID号协商,具体包括:
双机分别维护自身的ID号和ID号冲突数,ID号冲突数在软件启动时初始化为随机数,ID号仅有两个有效值:ID_A(默认ID)和ID_B;
监测到ID号冲突后,本机将ID号冲突报文发送给他机,ID号冲突报文中包含ID号和ID号冲突数;
收到ID号冲突报文后,若本机的ID号冲突数小于他机的ID号冲突数,将本机的ID号由ID_A更改为ID_B;若本机的ID号冲突数大于他机的ID号冲突数,发送ID号冲突报文给他机;若本机的ID号冲突数等于他机的ID号冲突数,重新生成本机的ID号冲突数,并发送ID号冲突报文给他机。
3.根据权利要求1所述的双机热备系统中的主备切换方法,其特征在于,所述的主备机身份协商,具体包括:
本机与他机均健康时,若本机ID号为默认ID,则更改本机的主备机身份;
本机不健康,他机健康时,若本机为主机,则本机降级为备机;若本机为备机,本机主备机身份不变;
本机健康,他机不健康时,若本机为备机,则本机升级为主机;若本机为主机,本机主备机身份不变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811012051.0A CN109117323A (zh) | 2018-08-31 | 2018-08-31 | 一种双机热备系统中的主备切换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811012051.0A CN109117323A (zh) | 2018-08-31 | 2018-08-31 | 一种双机热备系统中的主备切换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109117323A true CN109117323A (zh) | 2019-01-01 |
Family
ID=64861401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811012051.0A Pending CN109117323A (zh) | 2018-08-31 | 2018-08-31 | 一种双机热备系统中的主备切换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117323A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175093A (zh) * | 2019-05-31 | 2019-08-27 | 中国电子科技集团公司第五十四研究所 | 一种主备交叉复用的星载数据接口管理模块 |
CN110532132A (zh) * | 2019-03-22 | 2019-12-03 | 合肥工大高科信息科技股份有限公司 | 热备服务器安全控制方法、介质及设备 |
CN113625540A (zh) * | 2021-07-19 | 2021-11-09 | 交控科技股份有限公司 | 双机热备控制方法、装置及双机热备系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421478B1 (en) * | 2002-03-07 | 2008-09-02 | Cisco Technology, Inc. | Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration |
CN101465769A (zh) * | 2009-01-16 | 2009-06-24 | 华中科技大学 | 双控制器磁盘阵列的动态故障检测系统 |
CN104793896A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种双控设备的单双控切换方法及装置 |
-
2018
- 2018-08-31 CN CN201811012051.0A patent/CN109117323A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421478B1 (en) * | 2002-03-07 | 2008-09-02 | Cisco Technology, Inc. | Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration |
CN101465769A (zh) * | 2009-01-16 | 2009-06-24 | 华中科技大学 | 双控制器磁盘阵列的动态故障检测系统 |
CN104793896A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种双控设备的单双控切换方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532132A (zh) * | 2019-03-22 | 2019-12-03 | 合肥工大高科信息科技股份有限公司 | 热备服务器安全控制方法、介质及设备 |
CN110532132B (zh) * | 2019-03-22 | 2022-04-12 | 合肥工大高科信息科技股份有限公司 | 热备服务器安全控制方法、介质及设备 |
CN110175093A (zh) * | 2019-05-31 | 2019-08-27 | 中国电子科技集团公司第五十四研究所 | 一种主备交叉复用的星载数据接口管理模块 |
CN110175093B (zh) * | 2019-05-31 | 2023-03-14 | 中国电子科技集团公司第五十四研究所 | 一种主备交叉复用的星载数据接口管理系统 |
CN113625540A (zh) * | 2021-07-19 | 2021-11-09 | 交控科技股份有限公司 | 双机热备控制方法、装置及双机热备系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6502203B2 (en) | Method and apparatus for cluster system operation | |
CN101072125B (zh) | 集群结构及其控制单元 | |
CN109104351B (zh) | 列车网络节点和基于CANopen协议的列车网络节点监测方法 | |
CN110474943B (zh) | 基于mvb与以太网的车辆网冗余系统及网关切换方法 | |
CN109117323A (zh) | 一种双机热备系统中的主备切换方法 | |
EP1344133B1 (en) | A method of improving the availability of a computer clustering system through the use of a network medium link state function | |
CN100426751C (zh) | 保证集群系统中配置信息一致的方法 | |
WO2018233645A1 (zh) | 基于CANopen协议的列车网络数据传输方法、系统及其装置 | |
JPH0363744A (ja) | コンピユータ・ネツトワークにおける適用業務セッションの保存方法、制御方法及び保存装置 | |
US6430636B1 (en) | Method and system for a physical bus selector | |
WO2016062037A1 (zh) | 通过接口卡传输信息、控制器故障处理方法、装置及系统 | |
CN105159851A (zh) | 多控存储系统 | |
CN103246213A (zh) | 冗余控制装置之间的备用同步连接 | |
CN111343019B (zh) | 一种重连方法、装置和存储介质 | |
CN109194497A (zh) | 面向软件无线电系统的双srio网络备份系统 | |
CN108847879A (zh) | 基于总线控制器的双机故障检测及恢复方法 | |
CN107919979B (zh) | 控制器状态处理方法及装置 | |
CN105763442A (zh) | 主备倒换lacp聚合链路不中断的pon系统及方法 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN116232862A (zh) | 一种智能网卡切换方法、控制器及系统 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
JP6134720B2 (ja) | 接続方法 | |
CN106326042B (zh) | 一种运行状态确定方法及装置 | |
US10095590B2 (en) | Controlling the operating state of a fault-tolerant computer system | |
JP5176914B2 (ja) | 伝送装置及び冗長構成部の系切替え方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190101 |
|
WD01 | Invention patent application deemed withdrawn after publication |