CN117311136B - 基于互联心跳监测机制的双机运行方法及装置 - Google Patents
基于互联心跳监测机制的双机运行方法及装置 Download PDFInfo
- Publication number
- CN117311136B CN117311136B CN202311596991.XA CN202311596991A CN117311136B CN 117311136 B CN117311136 B CN 117311136B CN 202311596991 A CN202311596991 A CN 202311596991A CN 117311136 B CN117311136 B CN 117311136B
- Authority
- CN
- China
- Prior art keywords
- host
- information
- diagnosis
- data acquisition
- heartbeat message
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000007246 mechanism Effects 0.000 title claims abstract description 62
- 238000012544 monitoring process Methods 0.000 title claims abstract description 58
- 238000003745 diagnosis Methods 0.000 claims abstract description 258
- 238000004891 communication Methods 0.000 claims abstract description 122
- 238000012545 processing Methods 0.000 claims description 36
- 230000009977 dual effect Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004806 packaging method and process Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004092 self-diagnosis Methods 0.000 description 2
- 101100457838 Caenorhabditis elegans mod-1 gene Proteins 0.000 description 1
- 101150110972 ME1 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 101150042618 comm2 gene Proteins 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明属于双主机冗余控制技术领域,提供了一种基于互联心跳监测机制的双机运行方法及装置,该方法包括:确定第一主机的工作状态信息;对第一主机的多个数据采集模块、多个数据采集通道和对外通讯链路分别进行状态诊断,得到第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息;向第二主机发送第一心跳报文;在接收到第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态。本发明所述方法在不引入额外的仲裁模块前提下,通过较低的硬件成本实现双机冗余,双机通过监测互联心跳信号,在任一主机的任一单元模块发生故障时,可自主实现无扰动切换,保障数据采集的不间断性,提高了船用设备的数据采集性能。
Description
技术领域
本发明涉及双主机冗余控制技术领域,尤其涉及一种基于互联心跳监测机制的双机运行方法及装置。
背景技术
在船舶动力或电力控制系统中,数据采集装置的可靠性程度直接关系到船舶航行的稳定和安全;而采用冗余技术成为提高数据采集装置的可靠性的途径之一。
相关技术中,在普通的工业控制系统的常用冗余方式是在满足基本功能要求的部件之外,进行硬件资源的重复配置,再设计额外的仲裁模块实现主从切换,这样不仅增加了硬件成本和空间布局,而且引入了新的故障隐患点,还需要进行系统同步,对于空间和功能集成度要求高、可靠性要求高的船用设备并不适用。
发明内容
本发明提供一种基于互联心跳监测机制的双机运行方法及装置,用以解决现有技术中的数据采集设备采取冗余方式进行资源配置时需要设计额外的仲裁模块实现主从切换,导致硬件成本和空间布局增大,而且引入了新的故障隐患点的缺陷,提高了船用设备的数据采集性能。
本发明提供一种基于互联心跳监测机制的双机运行方法,应用于第一主机,包括:
确定所述第一主机的工作状态信息;
对所述第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对所述第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对所述第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;
通过互联心跳线路向第二主机发送第一心跳报文,所述第一心跳报文包括所述第一主机的工作状态信息、所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息;
在接收到所述第二主机发送的第二心跳报文的情况下,根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态,其中,所述第二心跳报文包括所述第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息。
根据本发明提供的一种基于互联心跳监测机制的双机运行方法,所述根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态包括:
基于所述第二心跳报文确定所述第二主机的工作状态信息;
在所述第一主机的工作状态信息为从工作模式,且所述第二主机的工作状态信息为从工作模式或者未接收到所述第二心跳报文的情况下,将所述第一主机切换至主工作模式。
根据本发明提供的一种基于互联心跳监测机制的双机运行方法,所述根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态还包括:
根据所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息确定所述第一主机的数据采集强度,根据所述第二主机的工作状态信息确定所述第二主机的数据采集强度;
在所述第一主机的工作状态信息为主工作模式,且所述第一主机的数据采集强度低于所述第二主机的数据采集强度或者所述第一通讯诊断信息异常的情况下,将所述第一主机切换至从工作模式。
根据本发明提供的一种基于互联心跳监测机制的双机运行方法,在所述确定所述第一主机的工作状态信息之后,所述方法还包括:
在所述第一主机的工作状态信息为主工作模式的情况下,通过所述第一主机的主处理器的独立网口定时对外发送数据包。
根据本发明提供的一种基于互联心跳监测机制的双机运行方法,在所述确定所述第一主机的工作状态信息之前,所述方法还包括:
对所述第一主机上电,并启动硬件自检程序,以确定所述第一主机的工作状态信息。
本发明还提供一种基于互联心跳监测机制的双机运行方法,应用于第二主机,包括:
确定所述第二主机的工作状态信息;
对所述第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对所述第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对所述第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息;
通过互联心跳线路向第一主机发送第二心跳报文,所述第二心跳报文包括所述第二主机的工作状态信息、所述第二模块诊断信息、所述第二通道诊断信息和所述第二通讯诊断信息;
在接收到所述第一主机发送的第一心跳报文的情况下,根据所述第一心跳报文和所述第二心跳报文调整所述第二主机的工作状态,其中,所述第一心跳报文包括所述第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
本发明还提供一种基于互联心跳监测机制的双机运行装置,包括:
第一检测模块,用于确定第一主机的工作状态信息;
第一诊断模块,用于对所述第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对所述第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对所述第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;
第一发送模块,用于通过互联心跳线路向第二主机发送第一心跳报文,所述第一心跳报文包括所述第一主机的工作状态信息、所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息;
第一处理模块,用于在接收到所述第二主机发送的第二心跳报文的情况下,根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态,其中,所述第二心跳报文包括所述第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息。
本发明还提供一种基于互联心跳监测机制的双机运行装置,包括:
第二检测模块,用于确定第二主机的工作状态信息;
第二诊断模块,用于对所述第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对所述第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对所述第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息;
第二发送模块,用于通过互联心跳线路向第一主机发送第二心跳报文,所述第二心跳报文包括所述第二主机的工作状态信息、所述第二模块诊断信息、所述第二通道诊断信息和所述第二通讯诊断信息;
第二处理模块,用于在接收到所述第一主机发送的第一心跳报文的情况下,根据所述第一心跳报文和所述第二心跳报文调整所述第二主机的工作状态,其中,所述第一心跳报文包括所述第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于互联心跳监测机制的双机运行方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于互联心跳监测机制的双机运行方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于互联心跳监测机制的双机运行方法。
本发明提供的基于互联心跳监测机制的双机运行方法及装置,通过确定第一主机的工作状态信息,并对第一主机的多个数据采集模块、多个数据采集通道、进行状态诊断和对外通讯链路分别进行状态诊断,得到对应的第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息,再通过互联心跳线路向第二主机发送第一心跳报文,并在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,在不引入额外的仲裁模块前提下,通过较低的硬件成本实现双机冗余,双机通过监测互联心跳信号,在任一主机的任一单元模块发生故障时,可自主实现无扰动切换,保障数据采集的不间断性,提高了船用设备的数据采集性能。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之一;
图2是本发明提供的主机A、主机B和交换机进行数据交互的界面示意图;
图3是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之二;
图4是本发明提供的基于互联心跳监测机制的双机运行装置的结构示意图之一;
图5是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之三;
图6是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之四;
图7是本发明提供的基于互联心跳监测机制的双机运行装置的结构示意图之二;
图8是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图7描述本发明的基于互联心跳监测机制的双机运行方法及装置。
图1是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之一,如图1所示,该基于互联心跳监测机制的双机运行方法,应用于第一主机,包括如下步骤:
步骤110、确定第一主机的工作状态信息。
在该步骤中,第一主机包括船用设备的CPU(Central Processing Unit,中央处理器),用于控制船舶控制系统的工作状态或者运动状态。
在该实施例中,第一主机可以是数据采集设备。
在该步骤中,主机的工作状态信息包括该主机的工作模式,例如,主机处于主工作模式,或者从工作模式。
在该实施例中,可以根据双主机中各主机上电启动的时间先后顺序,确定各主机的初始状态的主从身份;例如,在主机A和主机B均保持正常工作的情况下,主机A在t(t为正数)时刻开始上电,主机B在t+1时刻开始上电,则主机A处于主工作状态,并通过以太网向外发送数据,主机B处于从工作状态,不向外发送数据。
在该实施例中,本发明的船用设备采用双主机冗余切换机制,在任意时刻,有且仅有一台主机处于主工作状态(Master),另一台主机处于从工作状态(Slave);两台主机的主处理模块均正常从数据采集模块获取各采集通道的数据,经历完全一样的处理、运算以及打包步骤,但仅有处于主工作状态的主机通过以太网对外发送数据,处于从工作状态的主机不发送数据。
步骤120、对第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息。
在该步骤中,第一主机包括多个数据采集模块,用于采集多个采集通道的数据。
在该实施例中,双机冗余数据采集装置包括两台冗余主机(第一主机和第二主机)和显示终端,其中,显示终端通过交换机与两台主机相连,接收并显示处于主工作模式的主机对外发送的数据,在终端的应用程序内设置对主机通讯指令的答复流程,用于实现主机对外通讯链路的状态诊断;主机将自身工作模式打包进数据发送给终端,以便于监测两台主机的状态。
在该实施例中,每台主机内配置四个相同的数据采集模块,模块1和模块2互为冗余,模块3和棋块4互为冗余;每个模块配置两路CAN总线通道,分别采集两个CAN子网的数据;其中,模块1的通道l和模块2的通道1互为冗余,采集CAN子网1的相同数据;模块1的通道2和模块2的通道2互为冗余,采集CAN子网2的相同数据;模块3的通道1和模块4的通道1互为冗余,采集CAN子网3的相同数据;模块3的通道2和模块4的通道2互为冗余,采集CAN子网4的相同数据。
在该实施例中,数据采集主机状态自诊断、采集、处理、打包、发送的流程设置每秒执行一次。
图2是本发明提供的主机A、主机B和交换机进行数据交互的界面示意图,在图2所示的实施例中,冗余数据采集主机包括主机A、主机B和交换机,每个主机包括一个主处理模块、N个数据采集模块,每个数据采集模块包括M个数据采集通道;每个主机还包括一个冗余电源模块,用于对该主机各单元供电,以保证主机的正常运行;主处理模块包括网络控制器和网络交换芯片,网路控制器通过以太网与交换机进行数据交互,网络交换芯片能够提供以太网交换接口与数据采集模块通信,用于接收采集到的数据;主机A与主机B通过冗余心跳线(对应互联心跳线路)实现心跳报文的互传。
在一些实施例中,在确定第一主机的工作状态信息之前,对第一主机上电,并启动硬件自检程序,以确定第一主机的工作状态信息。
在该实施例中,数据采集主机A上电后启动自检程序,在各单元功能正常,且应用程序正常启动的情况下,主机A进入Slave模式(从工作模式),并执行多状态诊断进程。
下面,以第一主机上电后的默认状态设置为从工作模式,由从工作模式切换至主工作模式的切换机制为例,对双主机的运行过程进行说明:
在该实施例中,主机A通过如下步骤实现工作状态的切换:
(1)数据采集主机A上电后首先进入从工作模式,并将工作模式存入变量Mode1,设置为0;
(2)启动主机A的硬件自检程序,检查主机A的各功能单元是否能正常工作,若主机A的功能单元工作正常,则进入步骤(3);若工作异常,则返回步骤(1);
(3)启动主机A的应用程序,若启动成功,则主机A处于从工作模式Slave,并进入步骤(4);若启动失败,则返回步骤(1);
(4)对主机A内N个数据采集模块进行状态诊断,具体实现方法为:利用主机A的主处理模块向各个采集模块发送通讯指令,并判断主处理模块是否能正常接收到采集模块的答复,将诊断结果存入数组Unit[N]1;若接收到正常答复,将对应采集模块位置的状态量设置1;若未接收到正常答复,则将对应采集模块位置的状态量设置0;
(5)对主机A的MN个数据采集通道进行状态诊断,具体实现方法为:针对每个通道,检测主处理模块在连续p秒内接收各通道数据的情况,并将诊断结果存入二维数组Channel[N][M]1,若在连续p秒收到数据,将对应通道位置的状态量置1;若未收到数据,将对应通道位置的状态量置0。
其中,p可以根据用户实际需求设置,例如,p=3。
(6)对主机A的对外通讯链路进行状态诊断,具体实现方式为:利用主处理模块向外部终端发送通讯指令,判断是否能正常接收到外部终端的答复,并将诊断结果存入变量Comm1,若接收到正常答复,将变量置1;若未接收到正常答复,将变量置0。
在一些实施例中,在第一主机的工作状态信息为主工作模式的情况下,通过第一主机的主处理器的独立网口定时对外发送数据包。
在该实施例中,每台数据采集主机的核心是一块集成高速网卡的主处理模块,其中,网络交换芯片提供以太网交换接口与数据采集模块通信,用于接收采集数据;主处理模块对采集数据进行运算处理,封装为上层运行管理类设备所需的信息报文,并通过网络控制器的独立网口发送给交换机,实现点对点的数据分发。
在该实施例中,若主机A处于主工作模式Master,通过主处理器的独立网口定时对外发送处理打包后的数据。
步骤130、通过互联心跳线路向第二主机发送第一心跳报文,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
在该步骤中,两台数据采集主机A和B通过互联心跳线路实现网络互联;网络交换芯片为主机发出的心跳信号提供以太网交换接口,两台主机在启动之后通过互联心跳线路保持通讯,并分别将自身的状态信息发送给对方;每台主机通过自检判断自身状态,通过监测心跳信号判断对方状态,通过有效的仲裁机制实现主从的自动切换。
在该实施例中,每台数据采集主机内所有模块均由冗余电源模块供电,保障供电的稳定可靠。
以主机A处于从工作模式Slave为例,在主机A的主处理模块获取第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息之后,通过互联心跳线路向主机B发送第一心跳报文,该第一心跳报文包含:Mode1、Unit[N]1、Channel[N][M]1和Comm1;主机A根据系统需求,进行正常的数据采集、处理、运算和打包。
步骤140、在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,其中,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息。
在该步骤中,主机A根据向主机B发送的第一心跳报文,以及接收主机B发送的第二心跳报文,实现对主机B心跳的检测,再通过有效的仲裁机制实现主机工作状态的切换。
比如,对于处于主工作模式的主机,当自身对外通讯链路异常或者自身采集能力弱于对应的冗余主机,主机会将自身工作模式由主工作模式切换至从工作模式,以主动释放控制权;对于处于从工作模式的主机,当检测不到对应冗余主机的心跳信号或者冗余主机处于从工作模式的情况下,主机才会将自身工作模式由从工作模式切换至主,以抢占控制权。
在该实施例中,主机A处于从工作模式Slave,在通过互联心跳线路向第二主机发送第一心跳报文之后,再通过如下步骤实现工作状态的切换:
(7)判断主机A是否能接收到主机B发送的第二心跳报文,若正常接收,则进入步骤(8);若不能接收到第二心跳报文,则维持当前的从工作模式,并返回步骤(1);
(8)解析第二心跳报文,即从第二心跳报文中解析出主机B对应的第二主机的工作状态信息Mode2、第二模块诊断信息Unit[N]2、第二通道诊断信息Channel[N][M]2和第二通讯诊断信息Comm2。
在该实施例中,可根据第二主机的工作状态信息Mode2调节第一主机的工作模式,例如,根据Mode2确定第二主机处于从工作模式,则将第一主机的工作状态由从工作模式切换至主工作模式。
在该实施例中,若主机A处于主工作模式Master,可以根据主机B的第二通讯诊断信息Comm2的异常情况调整第一主机的工作状态,例如,当解析主机B的Comm2为0时,主机A维持自身的主工作模式,否则,通过比较两台主机的模块诊断信息Unit[N]和通道诊断信息Channel[N][M]计算各主机的数据采集能力,进而确定各主机的主从身份,具体的,将数据采集能力更强的主机切换至主工作模式。
在一些实施例中,根据第二心跳报文和第一心跳报文调整第一主机的工作状态包括:基于第二心跳报文确定第二主机的工作状态信息;在第一主机的工作状态信息为从工作模式,且第二主机的工作状态信息为从工作模式或者未接收到第二心跳报文的情况下,将第一主机切换至主工作模式。
以主机A处于从工作模式Slave为例,在主机A通过互联心跳线路向主机B发送第一心跳报文之后,主机A可通过检查第一通讯诊断信息Comm1确定自身工作状态。
比如,若主机A的Comm1为0时,维持自身从工作模式;若主机A的Comm1为1时,则判断主机A是否能接收到数据主机B发送的第二心跳报文,若不能正常接收,将主机A的从工作模式切换至主工作模式,并将对应的Mode1设为1,进入主工作模式流程;若主机A不能接收到第二心跳报文,则继续对主机A的N个数据采集模块进行状态诊断以及执行后续过程,依次循环。
在该实施例中,对主机A上电,等待5秒后给主机B上电,在经历10秒的自检和启动时间后,观察到显示终端显示主机A为主工作模式,主机B为从工作模式,且两台主机的数据采集功能正常;按下主机A的主机面板上的复位按钮进行手动重启,观察到显示终端显示主机A切换至从工作模式,主机B切换至主工作模式,实际切换时间约为1秒。
需要说明的是,两台主机上电后均将自身状态设置为从工作模式,然后按照相同的步骤执行程序。由于主机A先上电5秒,所以能够执行至“判断主机A能否接收到主机B发送的第二心跳报文”的步骤;若主机A自检和启动时间较长,主机B尚未开始向主机A发送第二心跳报文,则主机A无法接收到第二心跳报文,即主机A将自身从工作模式切换至主工作模式,若主机A自检和启动时间较短,主机B已向主机A发送第二心跳报文,主机A通过第二心跳报文解析得到主机B的工作状态为从工作模式,则主机A也将自身从工作模式切换至主工作模式。
对应的,主机B处于从工作模式,当主机A复位后将自身工作状态设为从工作模式,由于主程序循环依次需要1秒,在主机A刚完成复位,且主机B通过接收第一心跳报文解析得到主机A处于从工作模式的情况下,则主机B将自身从工作模式切换至主工作模式;否则,当主机B开始向主机A发送第二心跳报文,但主机A上位完成自检和程序启动,则主机B无法接收到主机A发送的第一心跳报文,则主机B也将自身从工作模式切换至主工作模式。
在该实施例中,在船用设备的数据采集装置运行过程中,操作人员能够通过复位按钮进行人为的主从切换,在不停机的前提下能够定期检修两台主机,以及时排出故障隐患。
图3是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之二,在图3所示的实施例中,主机A上电并启动自检程序,以检查各单元是否能正常工作,并检测是否能正常启动应用程序,在应用程序能够成功启动的情况下,主机A进入Slave模式(从工作模式),并依次执行主机A的N个数据采集模块状态诊断、MN个数据采集通道状态诊断、对外通讯链路状态诊断;向主机B发送包含诊断信息和自身工作模式的心跳报文(即第一心跳报文,包含Mode1、Unit[N]1、Channel[N][M]1和Comm1),并进行数据采集、处理、运算和打包的操作;在主机A对外链路通讯正常的情况下,检测主机A能够接收到主机B发送的心跳报文(即第二心跳报文,包含Mode2、Unit[N]2、Channel[N][M]2和Comm2),若能够接收到第二心跳报文,解析第二心跳报文获取主机B的工作模式(Mode2=0,则主机B处于从工作模式,Mode2=1,则主机B处于主工作模式),当检测到主机B处于主工作模式Master时,继续对主机A进行不同的状态诊断,当检测到主机B处于从工作模式Slave时,将主机A的工作模式切换至主工作模式Master;在主机A自检过程中,当检测到存在功能单元不能正常工作或者应用程序不能启动成功,直接退出自检程序,并结束任务。
本发明实施例提供的基于互联心跳监测机制的双机运行方法,通过第二心跳报文确定第二主机的工作状态信息,并在第一主机的工作状态信息为从工作模式,且第二主机的工作状态信息为从工作模式或者未接收到第二心跳报文的情况下,将第一主机切换至主工作模式,实现了在不停机的前提下定期检修两台主机,提高了故障排查效率。
在一些实施例中,根据第二心跳报文和第一心跳报文调整第一主机的工作状态还包括:根据第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息确定第一主机的数据采集强度,根据第二主机的工作状态信息确定第二主机的数据采集强度;在第一主机的工作状态信息为主工作模式,且第一主机的数据采集强度低于第二主机的数据采集强度或者第一通讯诊断信息异常的情况下,将第一主机切换至从工作模式。
以主机A处于主工作模式Master为例,在主机A通过互联心跳线路向主机B发送第一心跳报文之后,主机A可通过检查第一通讯诊断信息Comm1确定自身工作状态。
比如,若主机A的Comm1为0时,主机A从主工作模式切换至从工作模式,并将的Mode1设为0,进入从工作模式流程;若主机A不能接收到数据主机B发送的第二心跳报文,维持自身主工作模式,若不能正常接收第二心跳报文,解析第二心跳报文,并通过第二通讯诊断信息Comm2确定自身工作状态,当Comm2=0时,主机A从主工作模式切换至从工作模式,当Comm2=1时,通过比较两台主机的模块诊断信息Unit[N]和通道诊断信息Channel[N][M]计算各主机的数据采集能力(数据采集强度),进而确定各主机的主从身份。
在该实施例中,记主机A的数据采集强度为FA,主机B的数据采集强度为FB,可通过如下方式确定FA和FB的大小:
(1)主机A的所有数据采集模块互不冗余,数据采集通道互不冗余,通过数量评定确定FA与FB之间的大小;记Unit[N]1中“1”的数量为UA,Unit[N]2中“1”的数量为UB,当UA>UB,则FA=1,FB=0,UA<UB,则FA=0,FB=1;若UA=UB,记Channel[N][M]1中“1”的数量为CA,Channel[N][M]2中“1”的数量为CB,当CA>CB,则FA=1,FB=0,UA<UB,则FA=0,FB=1;若UA=UB,则FA=1,FB=1。
(2)主机A的数据采集模块或数据采集通道涉及冗余配置,则对应数据采集强度的评定方法可以根据数据采集模块和数据采集通道的配置方式自定义设置。
在该实施例中,根据上述数据采集强度的评定方法确定FA>FB时,主机A维持主工作模式Master,若FA>FB,主机A将主工作模式切换至从工作模式。
在该实施例中,对主机A上电,等待5秒后给主机B上电,主机A切换至主工作模式,在运行过程中,拔掉主机A与交换机的连接电缆,通过显示终端观察到主机A切换至从工作模式,主机B切换至从工作模式,且两台主机的数据采集功能正常,实际切换时间约为1秒。
需要说明的是,在拔掉主机A与交换机的连接电缆之后,主机A对外发送通讯指令,无法接收到终端的回复,则当主机A根据第一通讯诊断信息Comm1检查自身对完通讯链路状态时,对应的Comm1=0,主机A将自身主工作模式切换至从工作模式;当主机B接收到主机A发送的第一心跳报文之后,解析第一心跳报文并确定主机A的Mode1=0(主机A处于从工作模式),主机B将自身从工作模式切换至主工作模式;当主机A接收到主机B发送的第二心跳报文之后,解析第二心跳报文并确定主机B的Mode2=1,主机A维持自身从工作模式。
在该实施例中,拆除主机A的数据采集模块1和2,先对主机A上电,等待5秒后给主机B上电,通过显示终端观察到主机A闪现了一下主工作模式后迅速切换至从工作模式,对应的子网1和2数据异常,子网3和4数据正常,然后主机B切换至主工作模式,数据采集功能正常。
需要说明的是,主机A先上电,进入主工作模式,然后对主机A的N个数据采集模块进行状态诊断时,将对应的第一模块诊断结果存入至Unit[4]1中,即Unit[4]1:0101,然后执行数据采集通道诊断,得到第一通道诊断信息Channel[4][2]1:
;
通过解析主机B发送的第二心跳报文,得到主机B的第二模块诊断信息Unit[4]2:1111,第二通道诊断信息Channel[4][2]2:
;
若两台主机对应数据采集模块、数据采集通道均互为冗余,则首先比较两台主机可正常采集的子网数量比较各自的数据采集强度,采集的子网数量更多的主机的数据采集强度更大,即数据采集能力更强,若采集子网数量相等,则比较可正常采集的通道数量,采集的通道数量更多的主机的数据采集强度更大,示例如下:
(1)计算主机A子网1可采通道数:
NA1= Channel[0][0]1+ Channel[1][0]1=0;
计算主机A子网2可采通道数:
NA2= Channel[0][1]1+ Channel[1][1]1=0;
计算主机A子网3可采通道数:
NA3= Channel[2][0]1+ Channel[3][0]1=2;
计算主机A子网4可采通道数:
NA4= Channel[2][1]1+ Channel[3][1]1=2;
(2)计算主机B子网1可采通道数:
NB1= Channel[0][0]2+ Channel[1][0]2=2;
计算主机B子网2可采通道数:
NB2= Channel[0][1]2+ Channel[1][1]2=2;
计算主机B子网3可采通道数:
NB3= Channel[2][0]2+ Channel[3][0]2=2;
计算主机B子网4可采通道数:
NB4= Channel[2][1]2+ Channel[3][1]2=2;
(3)记NB[4]中不为0的个数为主机A可正常采集的子网数量为2,即FA=2;NB[4]中不为0的个数为主机B可正常采集的子网数量为4,即FB=4。
需要说明的是,由于FA<FB,则主机A的数据采集能力弱于主机B,则主机A的工作状态切换至从工作模式;当主机B根据主机A发送的第一心跳报文,并解析到主机A的工作状态信息Mode1=0(主机A处于从工作模式),主机B将自身工作状态切换至主工作模式,当主机A根据主机B发送的第二心跳报文,并解析到主机B的工作状态信息Mode2=1(主机B处于主工作模式),主机A维持自身的从工作模式。
在该实施例中,在该实施例中,在船用设备的数据采集装置运行过程中,当主工作模式的主机出现故障,另一台从工作模式的主机可以迅速无扰动地切换至主工作模式,以保持数据采集功能的正常和不间断性,在无人为干预的情况下,显示终端显示两台主机的工作模式发生了切换,便于提示操作人主机的具体故障信息(例如,哪台主机发生故障),操作人员能够对该主机进行检查和维修,以保证系统的持续运行。
本发明实施例提供的基于互联心跳监测机制的双机运行方法,通过第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息确定第一主机的数据采集强度,根据第二主机的工作状态信息确定第二主机的数据采集强度,并在第一主机的工作状态信息为主工作模式,且第一主机的数据采集强度低于第二主机的数据采集强度或者第一通讯诊断信息异常的情况下,将第一主机切换至从工作模式,能够保证船用设备的数据采集装置在运行过程中将正常运行的主机迅速、无扰动地切换至主工作模式,以保持数据采集的持续性,提高了数据采集效率。
下面对本发明提供的基于互联心跳监测机制的双机运行装置进行描述,下文描述的基于互联心跳监测机制的双机运行装置与上文描述的基于互联心跳监测机制的双机运行方法可相互对应参照。
图4是本发明提供的基于互联心跳监测机制的双机运行装置的结构示意图之一,如图4所示,该基于互联心跳监测机制的双机运行装置包括第一检测模块410、第一诊断模块420、第一发送模块430和第一处理模块440。
第一检测模块410,用于确定第一主机的工作状态信息;
第一诊断模块420,用于对第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;
第一发送模块430,用于通过互联心跳线路向第二主机发送第一心跳报文,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息;
第一处理模块440,用于在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,其中,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息。
本发明实施例提供的基于互联心跳监测机制的双机运行装置,通过确定第一主机的工作状态信息,并对第一主机的多个数据采集模块、多个数据采集通道、进行状态诊断和对外通讯链路分别进行状态诊断,得到对应的第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息,再通过互联心跳线路向第二主机发送第一心跳报文,并在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,在不引入额外的仲裁模块前提下,通过较低的硬件成本实现双机冗余,并且双机通过监测互联心跳信号,在任一主机的任一单元模块发生故障时,可自主实现无扰动切换,保障数据采集的不间断性,提高了船用设备的数据采集性能。
图5是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之三,如图5所示,该基于互联心跳监测机制的双机运行方法,应用于第二主机,包括如下步骤:
步骤510、确定第二主机的工作状态信息。
在该步骤中,第二主机包括船用设备的CPU,用于控制船舶控制系统的工作状态或者运动状态。
在该实施例中,第二主机可以是数据采集设备。
在该步骤中,主机的工作状态信息包括该主机的工作模式,例如,主机处于主工作模式,或者从工作模式。
在该实施例中,可以根据双主机中各主机上电启动的时间先后顺序,确定各主机的初始状态的主从身份;例如,在主机A和主机B均保持正常工作的情况下,主机A在t(t为正数)时刻开始上电,主机B在t+1时刻开始上电,则主机A处于主工作状态,并通过以太网向外发送数据,主机B处于从工作状态,不向外发送数据。
步骤520、对第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息。
在该步骤中,第二主机包括多个数据采集模块,用于采集多个采集通道的数据。
在该实施例中,第二主机内配置四个相同的数据采集模块,模块1和模块2互为冗余,模块3和棋块4互为冗余;每个模块配置两路CAN总线通道,分别采集两个CAN子网的数据;其中,模块1的通道l和模块2的通道1互为冗余,采集CAN子网1的相同数据;模块1的通道2和模块2的通道2互为冗余,采集CAN子网2的相同数据;模块3的通道1和模块4的通道1互为冗余,采集CAN子网3的相同数据;模块3的通道2和模块4的通道2互为冗余,采集CAN子网4的相同数据。
在该实施例中,数据采集主机状态自诊断、采集、处理、打包、发送的流程设置每秒执行一次。
在一些实施例中,在确定第二主机的工作状态信息上电,在对第二主机上电,并启动硬件自检程序,以确定第二主机的工作状态信息。
在该实施例中,数据采集主机B上电后启动自检程序,在各单元功能正常,且应用程序正常启动的情况下,主机B进入Slave模式,并执行多状态诊断进程。
下面,以第二主机由主工作模式切换至从工作模式的切换机制为例,对双主机的运行过程进行说明:
在该实施例中,主机B处于从工作模式Master,通过如下步骤实现工作状态的切换:
(1)主机B处于主工作模式,并将工作模式存入变量Mode2,设置为1,通过主机B的主处理器的独立网口定时向外发送处理打包后的数据;
(2)对主机B内N个数据采集模块进行状态诊断,具体实现方法为:利用主机B的主处理模块向各个采集模块发送通讯指令,并判断主处理模块是否能正常接收到采集模块的答复,将诊断结果存入数组Unit[N]2;若接收到正常答复,将对应采集模块位置的状态量设置1;若未接收到正常答复,则将对应采集模块位置的状态量设置0。
在一些实施例中,在第一主机的工作状态信息为主工作模式的情况下,通过第一主机的主处理器的独立网口定时对外发送数据包。
在该实施例中,每台数据采集主机的核心是一块集成高速网卡的主处理模块,其中的网络交换芯片提供以太网交换接口与数据采集模块通信,用于接收采集数据;主处理模块对采集数据进行运算处理,封装为上层运行管理类设备所需的信息报文,通过网络控制器的独立网口发送给交换机,实现点对点的数据分发。
在该实施例中,若主机B处于从工作模式Slave,不向外发送数据。
步骤530、通过互联心跳线路向第一主机发送第二心跳报文,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息。
在该步骤中,两台数据采集主机A和B通过互联心跳线路实现网络互联;网络交换芯片为主机发出的心跳信号提供以太网交换接口,两台主机在启动之后通过互联心跳线路保持通讯,并分别将自身的状态信息发送给对方;每台主机通过自检判断自身状态,通过监测心跳信号判断对方状态,通过有效的仲裁机制实现主从的自动切换。
在该实施例中,每台数据采集主机内所有模块均由冗余电源模块供电,保障供电的稳定可靠。
以主机B处于主工作模式Master为例,在主机B的主处理模块获取第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息之后,通过互联心跳线路向主机A发送包含:Mode2、Unit[N]2、Channel[N][M]2和Comm2的第二心跳报文。
在该实施例中,在主机B向主机A发送第二心跳报文之前,可通过如下步骤进行运行状态的切换:
(3)对主机B的MN个数据采集通道进行状态诊断,具体实现方法为:针对每个通道,检测主处理模块在连续p秒内接收各通道数据的情况,并将诊断结果存入二维数组Channel[N][M]2,若在连续p秒收到数据,将对应通道位置的状态量置1;若未收到数据,将对应通道位置的状态量置0;
其中,p可以根据用户实际需求设置,例如,p=3;
(4)对主机B的对外通讯链路进行状态诊断,具体实现方式为:利用主处理模块向外部终端发送通讯指令,判断是否能正常接收到外部终端的答复,并将诊断结果存入变量Comm2,若接收到正常答复,将变量置1;若未接收到正常答复,将变量置0;
(5)通过互联心跳线路向主机A发送第二心跳报文,包括Mode2、Unit[N]2、Channel[N][M]2和Comm2;
(6)根据系统需求,进行正常的数据采集、处理、运算和打包。
步骤540、在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,其中,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
在该步骤中,主机B根据向主机A发送的第二心跳报文,以及接收主机A发送的第一心跳报文,实现对主机A心跳的检测,再通过有效的仲裁机制实现主机工作状态的切换。
在该实施例中,主机B处于主工作模式Master,在通过互联心跳线路向第一主机发送第二心跳报文之后,再通过如下步骤实现工作状态的切换:
(7)通过第二通讯诊断信息Comm2检查对外通讯链路状态是否正常,当Comm2=0,主机B切换至从工作模式,并将Mode2设为0;
(8)当Comm2=1,判断主机B是否能接收到主机A发送的第一心跳报文,若不能正常接收,则主机B维持主工作模式;
(9)若判断主机B能接收到主机A发送的第一心跳报文,解析第一心跳报文,得到Mode21、Unit[N]1、Channel[N][M]1和Comm1;
(10)根据Comm1检查主机A的对外通讯链路状态是否正常,若Comm1=0,则主机B维持主工作模式;
(11)若Comm1=1,通过比较两台主机的模块诊断信息Unit[N]和通道诊断信息Channel[N][M]计算各主机的数据采集能力,进而确定各主机的主从身份,具体的,将数据采集能力更强的主机切换至主工作模式;两台主机各自的数据采集能力的计算方式与上述实施例相同,本实施例不再赘述。
图6是本发明提供的基于互联心跳监测机制的双机运行方法的流程示意图之四,在图6所示的实施例中,当主机A处于Master模式(主工作模式),通过独立网口定时对外发送数据包,并依次执行主机A的N个数据采集模块状态诊断、MN个数据采集通道状态诊断、对外通讯链路状态诊断;向主机B发送包含诊断信息和自身工作模式的心跳报文(即第一心跳报文,包含Mode1、Unit[N]1、Channel[N][M]1和Comm1),并进行数据采集、处理、运算和打包的操作;在主机A对外链路通讯正常的情况下,检测主机A能够接收到主机B发送的心跳报文(即第二心跳报文,包含Mode2、Unit[N]2、Channel[N][M]2和Comm2),若能够接收到第二心跳报文,解析第二心跳报文获取主机B的诊断状态信息,并检查主机B的对外通讯链路是否正常,若正常,则根据模块和通道配置方式,综合比较模块和通道状态,以评定各主机的数据采集能力(对应数据采集强度),并在主机B的采集能力强于主机A的采集能力的情况下,将主机A的工作模式切换至从工作模式Slave;若主机B的对外通讯链路不正常,则直接将主机A的工作模式切换至从工作模式Slave。
本发明实施例提供的基于互联心跳监测机制的双机运行方法,通过确定第二主机的工作状态信息,并对第二主机的多个数据采集模块、多个数据采集通道、进行状态诊断和对外通讯链路分别进行状态诊断,得到对应的第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息,再通过互联心跳线路向第一主机发送第二心跳报文,并在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,在不引入额外的仲裁模块前提下,通过较低的硬件成本实现双机冗余,并且双机通过监测互联心跳信号,在任一主机的任一单元模块发生故障时,可自主实现无扰动切换,保障数据采集的不间断性,提高了船用设备的数据采集性能。
下面对本发明提供的基于互联心跳监测机制的双机运行装置进行描述,下文描述的基于互联心跳监测机制的双机运行装置与上文描述的基于互联心跳监测机制的双机运行方法可相互对应参照。
图7是本发明提供的基于互联心跳监测机制的双机运行装置的结构示意图之二,如图7所示,该基于互联心跳监测机制的双机运行装置包括第二检测模块710、第二诊断模块720、第二发送模块730和第二处理模块740。
第二检测模块710,用于确定第二主机的工作状态信息;
第二诊断模块720,用于对第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息;
第二发送模块730,用于通过互联心跳线路向第一主机发送第二心跳报文,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;
第二处理模块740,用于在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,其中,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
本发明实施例提供的基于互联心跳监测机制的双机运行装置,通过确定第二主机的工作状态信息,并对第二主机的多个数据采集模块、多个数据采集通道、进行状态诊断和对外通讯链路分别进行状态诊断,得到对应的第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息,再通过互联心跳线路向第一主机发送第二心跳报文,并在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,在不引入额外的仲裁模块前提下,通过较低的硬件成本实现双机冗余,并且双机通过监测互联心跳信号,在任一主机的任一单元模块发生故障时,可自主实现无扰动切换,保障数据采集的不间断性,提高了船用设备的数据采集性能。
图8是本发明提供的电子设备的结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行基于互联心跳监测机制的双机运行方法,应用于第一主机,该方法包括:确定第一主机的工作状态信息;对第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;通过互联心跳线路向第二主机发送第一心跳报文,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息;在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,其中,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;或者,执行基于互联心跳监测机制的双机运行方法,应用于第二主机,该方法包括:确定第二主机的工作状态信息;对第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息;通过互联心跳线路向第一主机发送第二心跳报文,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,其中,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于互联心跳监测机制的双机运行方法,应用于第一主机,该方法包括:确定第一主机的工作状态信息;对第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;通过互联心跳线路向第二主机发送第一心跳报文,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息;在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,其中,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;或者,执行基于互联心跳监测机制的双机运行方法,应用于第二主机,该方法包括:确定第二主机的工作状态信息;对第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息;通过互联心跳线路向第一主机发送第二心跳报文,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,其中,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于互联心跳监测机制的双机运行方法,应用于第一主机,该方法包括:确定第一主机的工作状态信息;对第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;通过互联心跳线路向第二主机发送第一心跳报文,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息;在接收到第二主机发送的第二心跳报文的情况下,根据第二心跳报文和第一心跳报文调整第一主机的工作状态,其中,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;或者,执行基于互联心跳监测机制的双机运行方法,应用于第二主机,该方法包括:确定第二主机的工作状态信息;对第二主机的多个数据采集模块进行状态诊断,得到第二模块诊断信息,对第二主机的多个数据采集通道进行状态诊断,得到第二通道诊断信息,对第二主机的对外通讯链路进行状态诊断,得到第二通讯诊断信息;通过互联心跳线路向第一主机发送第二心跳报文,第二心跳报文包括第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;在接收到第一主机发送的第一心跳报文的情况下,根据第一心跳报文和第二心跳报文调整第二主机的工作状态,其中,第一心跳报文包括第一主机的工作状态信息、第一模块诊断信息、第一通道诊断信息和第一通讯诊断信息。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于互联心跳监测机制的双机运行方法,应用于第一主机,所述第一主机为双机中的任一台,其特征在于,包括:
确定所述第一主机的工作状态信息;
对所述第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对所述第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对所述第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;
通过互联心跳线路向第二主机发送第一心跳报文,所述第一心跳报文包括所述第一主机的工作状态信息、所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息;
在接收到所述第二主机发送的第二心跳报文的情况下,根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态,其中,所述第二心跳报文包括所述第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;
所述根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态还包括:
根据所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息确定所述第一主机的数据采集强度,根据所述第二主机的工作状态信息确定所述第二主机的数据采集强度;
在所述第一主机的工作状态信息为主工作模式,且所述第一主机的数据采集强度低于所述第二主机的数据采集强度情况下,将所述第一主机切换至从工作模式;
设主机A的数据采集强度为FA,主机B的数据采集强度为FB,通过如下方式确定FA和FB的大小:
在主机A的所有数据采集模块互不冗余,且数据采集通道互不冗余的情况下,记Unit[N]1中“1”的数量为UA,Unit[N]2中“1”的数量为UB,当UA>UB,则FA=1,FB=0,UA<UB,则FA=0,FB=1;若UA=UB,记Channel[N][M]1中“1”的数量为CA,Channel[N][M]2中“1”的数量为CB,当CA>CB,则FA=1,FB=0,CA<CB,则FA=0,FB=1;若CA=CB,则FA=1,FB=1;
其中,主机A为第一主机,主机B为第二主机;Unit[N]1为第一模块诊断信息,Unit[N]2为第二模块诊断信息,Channel[N][M]1为第一通道诊断信息,Channel[N][M]2为第二通道诊断信息;
显示终端通过交换机分别与所述第一主机和所述第二主机连接,所述显示终端用于接收并显示处于主工作模式的主机对外发送的数据,并通过在应用程序内设置对主机通讯指令的答复流程,以实现主机对外通讯链路的状态诊断。
2.根据权利要求1所述的基于互联心跳监测机制的双机运行方法,其特征在于,所述根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态包括:
基于所述第二心跳报文确定所述第二主机的工作状态信息;
在所述第一主机的工作状态信息为从工作模式,且所述第二主机的工作状态信息为从工作模式或者未接收到所述第二心跳报文的情况下,将所述第一主机切换至主工作模式。
3.根据权利要求1所述的基于互联心跳监测机制的双机运行方法,其特征在于,在所述确定所述第一主机的工作状态信息之后,所述方法还包括:
在所述第一主机的工作状态信息为主工作模式的情况下,通过所述第一主机的主处理器的独立网口定时对外发送数据包。
4.根据权利要求1所述的基于互联心跳监测机制的双机运行方法,其特征在于,在所述确定所述第一主机的工作状态信息之前,所述方法还包括:
对所述第一主机上电,并启动硬件自检程序,以确定所述第一主机的工作状态信息。
5.一种基于互联心跳监测机制的双机运行装置,其特征在于,包括:
第一检测模块,用于确定第一主机的工作状态信息,所述第一主机为双机中的任一台;
第一诊断模块,用于对所述第一主机的多个数据采集模块进行状态诊断,得到第一模块诊断信息,对所述第一主机的多个数据采集通道进行状态诊断,得到第一通道诊断信息,对所述第一主机的对外通讯链路进行状态诊断,得到第一通讯诊断信息;
第一发送模块,用于通过互联心跳线路向第二主机发送第一心跳报文,所述第一心跳报文包括所述第一主机的工作状态信息、所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息;
第一处理模块,用于在接收到所述第二主机发送的第二心跳报文的情况下,根据所述第二心跳报文和所述第一心跳报文调整所述第一主机的工作状态,其中,所述第二心跳报文包括所述第二主机的工作状态信息、第二模块诊断信息、第二通道诊断信息和第二通讯诊断信息;
所述第一处理模块还用于:
根据所述第一模块诊断信息、所述第一通道诊断信息和所述第一通讯诊断信息确定所述第一主机的数据采集强度,根据所述第二主机的工作状态信息确定所述第二主机的数据采集强度;
在所述第一主机的工作状态信息为主工作模式,且所述第一主机的数据采集强度低于所述第二主机的数据采集强度的情况下,将所述第一主机切换至从工作模式;
设主机A的数据采集强度为FA,第二主机B的数据采集强度为FB,通过如下方式确定FA和FB的大小:
在主机A的所有数据采集模块互不冗余,且数据采集通道互不冗余的情况下,记Unit[N]1中“1”的数量为UA,Unit[N]2中“1”的数量为UB,当UA>UB,则FA=1,FB=0,UA<UB,则FA=0,FB=1;若UA=UB,记Channel[N][M]1中“1”的数量为CA,Channel[N][M]2中“1”的数量为CB,当CA>CB,则FA=1,FB=0,CA<CB,则FA=0,FB=1;若CA=CB,则FA=1,FB=1;
其中,主机A为第一主机,主机B为第二主机;Unit[N]1为第一模块诊断信息,Unit[N]2为第二模块诊断信息,Channel[N][M]1为第一通道诊断信息,Channel[N][M]2为第二通道诊断信息;
显示终端通过交换机分别与所述第一主机和所述第二主机连接,所述显示终端用于接收并显示处于主工作模式的主机对外发送的数据,并通过在应用程序内设置对主机通讯指令的答复流程,以实现主机对外通讯链路的状态诊断。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述基于互联心跳监测机制的双机运行方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于互联心跳监测机制的双机运行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311596991.XA CN117311136B (zh) | 2023-11-28 | 2023-11-28 | 基于互联心跳监测机制的双机运行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311596991.XA CN117311136B (zh) | 2023-11-28 | 2023-11-28 | 基于互联心跳监测机制的双机运行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117311136A CN117311136A (zh) | 2023-12-29 |
CN117311136B true CN117311136B (zh) | 2024-03-01 |
Family
ID=89255538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311596991.XA Active CN117311136B (zh) | 2023-11-28 | 2023-11-28 | 基于互联心跳监测机制的双机运行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117311136B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040045560A (ko) * | 2002-11-25 | 2004-06-02 | 현대중공업 주식회사 | 선박 감시제어용 임베디드 확장경보시스템 및 그 제어방법 |
WO2007074105A2 (de) * | 2005-12-29 | 2007-07-05 | Endress+Hauser Process Solutions Ag | Verfahren zur anlagenüberwachung mit einem feldbus der prozessautomatisierungstechnik |
CN102170368A (zh) * | 2011-04-18 | 2011-08-31 | 北京航空航天大学 | 一种面向大尺寸构件的分布式测量系统的智能故障定位方法 |
JP2012059193A (ja) * | 2010-09-13 | 2012-03-22 | Toshiba Corp | 監視制御システム、およびこれに利用する監視制御装置、監視制御方法 |
CN103257350A (zh) * | 2012-05-07 | 2013-08-21 | 中国交通通信信息中心 | 一种双机双工自动切换方法 |
CN103955188A (zh) * | 2014-04-24 | 2014-07-30 | 清华大学 | 支持冗余切换功能的控制系统及方法 |
CN205068032U (zh) * | 2015-05-28 | 2016-03-02 | 孙军 | 可降级的同步表决计算机控制系统 |
EP3252606A1 (en) * | 2016-05-31 | 2017-12-06 | IG Knowhow Limited | Methods for synchronisation of independent data handling system |
CN109839041A (zh) * | 2018-12-28 | 2019-06-04 | 北京航天测控技术有限公司 | 一种基于去中心化集群计算架构的免维护测控方法 |
KR102076429B1 (ko) * | 2018-12-20 | 2020-02-12 | (주)파이브텍 | 345kV용 IoT 집중감시제어반을 이용한 SCADA 감시 제어 방법 |
CN112526867A (zh) * | 2020-11-30 | 2021-03-19 | 重庆红江机械有限责任公司 | 一种冗余切换装置及其控制方法 |
CN112685236A (zh) * | 2020-12-31 | 2021-04-20 | 科华恒盛股份有限公司 | 数据管理系统的双机互备方法及系统 |
CN112698989A (zh) * | 2020-12-31 | 2021-04-23 | 科华恒盛股份有限公司 | 数据采集系统的双机互备方法及系统 |
CN114610551A (zh) * | 2022-03-07 | 2022-06-10 | 北京计算机技术及应用研究所 | 一种基于fpga故障检测的双机热备系统的实现方法 |
CN115562233A (zh) * | 2022-10-18 | 2023-01-03 | 中车株洲电力机车研究所有限公司 | 轨道交通车载控制系统安全控制装置 |
CN115765194A (zh) * | 2022-11-25 | 2023-03-07 | 上海船舶运输科学研究所有限公司 | 基于双监控网络的船舶电力监控系统 |
CN115913906A (zh) * | 2022-11-15 | 2023-04-04 | 中船航海科技有限责任公司 | 一种船用冗余控制系统及方法 |
CN115987713A (zh) * | 2022-12-28 | 2023-04-18 | 合肥工大高科信息科技股份有限公司 | 热备计算机联锁系统的联锁机双cpu数据选择方法 |
CN116699964A (zh) * | 2023-06-08 | 2023-09-05 | 南京南瑞继保电气有限公司 | 一种工业过程控制器冗余运行方法和系统 |
CN116755320A (zh) * | 2023-05-26 | 2023-09-15 | 北鲲睿航科技(上海)有限公司 | 一种基于双热备份系统的余度管理方法及系统、增强辅助驾驶系统 |
-
2023
- 2023-11-28 CN CN202311596991.XA patent/CN117311136B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040045560A (ko) * | 2002-11-25 | 2004-06-02 | 현대중공업 주식회사 | 선박 감시제어용 임베디드 확장경보시스템 및 그 제어방법 |
WO2007074105A2 (de) * | 2005-12-29 | 2007-07-05 | Endress+Hauser Process Solutions Ag | Verfahren zur anlagenüberwachung mit einem feldbus der prozessautomatisierungstechnik |
JP2012059193A (ja) * | 2010-09-13 | 2012-03-22 | Toshiba Corp | 監視制御システム、およびこれに利用する監視制御装置、監視制御方法 |
CN102170368A (zh) * | 2011-04-18 | 2011-08-31 | 北京航空航天大学 | 一种面向大尺寸构件的分布式测量系统的智能故障定位方法 |
CN103257350A (zh) * | 2012-05-07 | 2013-08-21 | 中国交通通信信息中心 | 一种双机双工自动切换方法 |
CN103955188A (zh) * | 2014-04-24 | 2014-07-30 | 清华大学 | 支持冗余切换功能的控制系统及方法 |
CN205068032U (zh) * | 2015-05-28 | 2016-03-02 | 孙军 | 可降级的同步表决计算机控制系统 |
EP3252606A1 (en) * | 2016-05-31 | 2017-12-06 | IG Knowhow Limited | Methods for synchronisation of independent data handling system |
KR102076429B1 (ko) * | 2018-12-20 | 2020-02-12 | (주)파이브텍 | 345kV용 IoT 집중감시제어반을 이용한 SCADA 감시 제어 방법 |
CN109839041A (zh) * | 2018-12-28 | 2019-06-04 | 北京航天测控技术有限公司 | 一种基于去中心化集群计算架构的免维护测控方法 |
CN112526867A (zh) * | 2020-11-30 | 2021-03-19 | 重庆红江机械有限责任公司 | 一种冗余切换装置及其控制方法 |
CN112685236A (zh) * | 2020-12-31 | 2021-04-20 | 科华恒盛股份有限公司 | 数据管理系统的双机互备方法及系统 |
CN112698989A (zh) * | 2020-12-31 | 2021-04-23 | 科华恒盛股份有限公司 | 数据采集系统的双机互备方法及系统 |
CN114610551A (zh) * | 2022-03-07 | 2022-06-10 | 北京计算机技术及应用研究所 | 一种基于fpga故障检测的双机热备系统的实现方法 |
CN115562233A (zh) * | 2022-10-18 | 2023-01-03 | 中车株洲电力机车研究所有限公司 | 轨道交通车载控制系统安全控制装置 |
CN115913906A (zh) * | 2022-11-15 | 2023-04-04 | 中船航海科技有限责任公司 | 一种船用冗余控制系统及方法 |
CN115765194A (zh) * | 2022-11-25 | 2023-03-07 | 上海船舶运输科学研究所有限公司 | 基于双监控网络的船舶电力监控系统 |
CN115987713A (zh) * | 2022-12-28 | 2023-04-18 | 合肥工大高科信息科技股份有限公司 | 热备计算机联锁系统的联锁机双cpu数据选择方法 |
CN116755320A (zh) * | 2023-05-26 | 2023-09-15 | 北鲲睿航科技(上海)有限公司 | 一种基于双热备份系统的余度管理方法及系统、增强辅助驾驶系统 |
CN116699964A (zh) * | 2023-06-08 | 2023-09-05 | 南京南瑞继保电气有限公司 | 一种工业过程控制器冗余运行方法和系统 |
Non-Patent Citations (2)
Title |
---|
基于LabVIEW DSC的双机热备的通用实现;宁鸥;阳世荣;;计算机应用与软件(第08期);全文 * |
孙超 ; 刘勇 ; .集控站前置多通道的设计和应用方案.华北电力技术.2008,(第12期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN117311136A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10491671B2 (en) | Method and apparatus for switching between servers in server cluster | |
EP2663038A1 (en) | Switch chip port management method, main control board, switch board, and system | |
CN113726573B (zh) | 冗余网络通信方法、装置、电子设备及存储介质 | |
CN104079454A (zh) | 一种设备异常检测方法和设备 | |
CN110990328B (zh) | 一种TBox的双处理器间可靠通信的方法及系统 | |
CN115913906A (zh) | 一种船用冗余控制系统及方法 | |
CN112887176B (zh) | 一种基于心跳报文的计算机联锁子系统主备切换系统 | |
CN117311136B (zh) | 基于互联心跳监测机制的双机运行方法及装置 | |
CN107333252B (zh) | 通信异常处理方法、装置及智能卡终端 | |
CN113377701A (zh) | 基于复杂可编程逻辑器件cpld的串口控制系统及其通信方法 | |
CN108983695A (zh) | 一种基于复杂可编程逻辑器件的主从切换方法和装置 | |
CN115408240B (zh) | 一种冗余系统主备方法、装置、设备及储存介质 | |
CN110749046B (zh) | 空调器的控制方法、装置、空调器及计算机可读存储介质 | |
CN105939224A (zh) | 一种解决双机热备双主问题的方法及装置 | |
CN105959193A (zh) | 列车控制方法和系统 | |
JP7035511B2 (ja) | プログラマブルコントローラ及び二重化システム | |
CN102742214A (zh) | 改善高可用性系统可靠性的方法和装置 | |
CN104185204B (zh) | 一种连接状态检测方法和装置 | |
CN104038365A (zh) | 用于电、光及远程环回模式下交换机间链路和节点链路测试的诊断端口 | |
CN110087333A (zh) | 一种防止业务中断的方法、装置、设备及存储介质 | |
JP2004213412A (ja) | 二重化制御装置 | |
CN112540884B (zh) | 热备份效果检测方法、装置、系统和计算机可读介质 | |
CN114884803B (zh) | 多重冗余状态的处理方法、装置、设备和介质 | |
JPH11338724A (ja) | スタンバイシステム、スタンバイ方法、および記録媒体 | |
CN108388488A (zh) | 一种智能平台管理系统及故障处理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |