双机热备系统主备模式切换的方法与流程

文档序号:25089622发布日期:2021-05-18 21:40阅读:1468来源:国知局
双机热备系统主备模式切换的方法与流程

1.本发明涉及工控安全技术领域,尤其涉及一种双机热备系统主备模式切换的方法。


背景技术:

2.在工业生产活动中,管理信息网一般采集工业生产网的关键数据生成监控信息。但是为保障生产网的安全性,防止非法入侵,可以使用单向网闸实现工业生产网向管理信息网单向发送数据。
3.单向网闸采用“2+1”模型架构设计,即双主机(内端机和外端机)和单向隔离部件,将数据从工业生产网(内端机一侧)向管理信息网(外端机一侧)摆渡。一般实现原理是,内端机收到网络数据后,进行应用层数据剥离,采用私有通讯协议,仅将应用层数据单向摆渡到外端机,外端机再根据配置转发应用层数据。
4.单向网闸作为数据传输的重要节点,一旦出现单点故障(single points of failure,简称spof),可能导致信息传输失败,严重的可能引起网络故障。双机热备技术可以有效解决单点故障的问题,由两台单向网闸进行主备模式部署。正常工作时,两台单向网闸设备分别工作于主模式和备模式。主模式的设备正常工作时,备模式工作的设备待命,并接收主模式设备的同步信号。当主模式设备工作异常时会向备模式设备发送主备切换命令,或者主模式设备异常后不能发送周期同步信号,备模式设备收到主备切换命令或者接收同步信号超时后,认为主模式设备故障,备模式设备切换为主模式,替代主模式设备进行数据传输服务。
5.但是需要注意的是,当对于工作在主模式下的单向网闸的故障是由外端机异常所导致时,需要将该故障单向网闸的外端机切换至备模式,同时将该故障单向网闸的内端机切换至备模式。但是由于单向网闸中内端机和外端机之间是单向通信的关系,所以无法响应于外端机的模式切换来控制相应内端机进行模式切换。
6.为解决以上问题,现有技术中有两种方法:
7.方法1、采用了双向网闸(内端机和外端机之间双向通信)替换单向网闸。如图1所示为采用双向网闸的双机热备系统原理框图。如图1所示,两台形成主备关系的双向网闸,工作于主模式的双向网闸的一侧(例如,外端机)出现故障时,可以通过tcp协议通知双向网闸的另一侧(例如,内端机)切换到备模式,实现网闸两侧模式协同一致。但是,由于外端机能够向内端机发送数据通信,导致了安全隐患的存在。
8.方法2、如图2所示为采用转换传输路径方式的双机热备系统原理框图。如图2所示,使用转换传输路径的方法来绕开故障主机,但是效率低且耗费资源(需要三台主机同时工作来传输数据)。
9.如果单向网闸没有一个有效的方法同步内外端机主备模式,那么当1号设备内端机发生故障,就会切换成备模式,2号设备内端机就会切换成主模式,而此时的1号设备外端机无法得知内端机已切换到备模式而认为自己还是主模式,2号设备外端机无法得知内端
机已切换为主模式而认为自己还是备模式,这就导致双主设备的存在,而数据也无法正常传输(如图3);通过转换数据传输路径(如图2)的方式虽然可以保证数据的正常传输,但是多了一台设备的转发,不仅数据传输效率变低、延时变长、耗费资源,而且没有真正意义上的实现单向网闸内端机和外端机的主备同步切换。


技术实现要素:

10.本发明实施例提供一种双机热备系统主备模式切换的方法、电子设备及计算机可读存储介质,用于至少解决上述技术问题之一。
11.第一方面,本发明实施例提供一种双机热备系统主备模式切换的方法,其中,双机热备系统包括初始状态工作于主模式的第一单向网闸和初始状态工作于备模式的第二单向网闸,该方法包括:
12.通过所述第一单向网闸的单向隔离卡提供参考电平,所述参考电平用于所述第一单向网闸的外端机向内端机同步主备模式;
13.当所述第一单向网闸的外端机切换至备模式时,通过所述第一单向网闸的外端机配置第一参考电平;
14.当所述第一单向网闸的内端机检测到所述第一参考电平时切换至备模式。
15.第二方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项双机热备系统主备模式切换的方法。
16.第三方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项双机热备系统主备模式切换的方法。
17.第四方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项双机热备系统主备模式切换的方法。
18.本发明实施例的有益效果在于:通过高低电平的配合,单向网闸的内端机和外端机能迅速知道对方的状态是主模式还是备模式,从而调整自己的状态,完美的解决了单向网闸不能实时同步内端机和外端机主备状态的问题,真正意义上实现了单向网闸的内端机和外端机的同步主备切换,提高了单向网闸主备切换效率。
附图说明
19.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为采用双向网闸的双机热备系统原理框图;
21.图2为采用转换传输路径方式的双机热备系统原理框图;
22.图3为双主机网闸结构示意图;
23.图4为本发明的双机热备系统主备模式切换的方法的一实施例的流程图;
24.图5为本发明的双机热备系统主备模式切换的方法的另一实施例的流程图;
25.图6为本发明一实施例中的内端机同步主备模式到外端机的流程图;
26.图7为本发明一实施例中的外端机同步主备模式到内端机流程图;
27.图8为本发明一实施例中的单向网闸双机热备拓扑图;
28.图9为本发明一实施例中的内端机异常发送主备切换命令的示意图;
29.图10为本发明一实施例中的内端机异常不发送主备切换命令的示意图;
30.图11为本发明的一实施例中的外端机故障发送主备同步切换命令的示意图;
31.图12为本发明的一实施例中的外端机故障不发送主备切换命令的示意图;
32.图13为本发明一实施例中的主模式电平变化示意图;
33.图14为本发明一实施例中的备模式电平变化示意图;
34.图15为本发明的电子设备的一实施例的结构示意图。
具体实施方式
35.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
37.本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
38.在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。
39.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
40.如图4所示,本发明的实施例提供一种双机热备系统主备模式切换的方法。其中,双机热备系统包括初始状态工作于主模式的第一单向网闸和初始状态工作于备模式的第二单向网闸,所述方法包括:
41.s11、通过所述第一单向网闸的单向隔离卡提供参考电平,所述参考电平用于所述第一单向网闸的外端机向内端机同步主备模式;
42.s12、当所述第一单向网闸的外端机切换至备模式时,通过所述第一单向网闸的外端机配置第一参考电平(例如,0v);
43.s13、当所述第一单向网闸的内端机检测到所述第一参考电平时切换至备模式。
44.本实施例中通过高低电平的配合,单向网闸的内端机和外端机能迅速知道对方的状态是主模式还是备模式,从而调整自己的状态,完美的解决了单向网闸不能实时同步内端机和外端机主备状态的问题,真正意义上实现了单向网闸的内端机和外端机的同步主备切换,提高了单向网闸主备切换效率。
45.如图5所示,本发明的另一实施例提供一种双机热备系统主备模式切换的方法,在该实施例中还包括:
46.s21、当所述第一单向网闸的外端机切换至备模式时,向所述第二单向网闸的外端机发送主备模式切换指令;
47.s22、所述第二单向网闸的外端机根据接收到的所述主备模式切换指令切换至主模式,并配置第二参考电平(例如,5v);
48.s23、当所述第二单向网闸的内端机检测到所述第二参考电平时切换至主模式。示例性地,当所述第二单向网闸的内端机检测到所述第二参考电平时,如果所述第二参考电平维持了多个检测周期,则所述第二单向网闸的内端机切换至主模式。
49.本实施例中实现了双机热备系统中两个单向网闸在主备模式之间的协同切换,在单向网闸设备的内端机发生故障时,不仅能够及时通知外端机进行主备切换,而且还能通知平行设置的另一个单向网闸的内端机,进而实现两个单项网闸之间的主备模式切换。
50.在一些实施例中,本发明的双机热备系统主备模式切换的方法还包括:当所述第一单向网闸的外端机切换至备模式时,停止向所述第二单向网闸的外端机发送心跳信号。
51.在一些实施例中,本发明的双机热备系统主备模式切换的方法还包括:当所述第二单向网闸的外端机超过预设时长未收到来自所述第一向网闸的外端机的心跳信号时切换至主模式,并且配置第二参考电平;当所述第二单向网闸的内端机检测到所述第二参考电平时切换至主模式。示例性地,预设时长为多个心跳信号的周期。
52.在一些实施例中,本发明的双机热备系统主备模式切换的方法还包括:当所述第二单向网闸的外端机再次接收到来自所述第一向网闸的外端机的心跳信号时切换至备模式。
53.在一些实施例中,本发明的双机热备系统主备模式切换的方法还包括:当所述第一单向网闸的内端机切换至备模式时,向所述第一单向网闸的外端机连续多次发送主备模式切换指令;当所述第一单向网闸的外端机收到所述连续多个主备模式切换指令时,所述第一单向网闸的外端机切换至备模式。
54.在一些实施例中,针对单向网闸进行主备模式切换时可能存在双主设备,或者不当的切换导致数据传输效率变低、延时变长、耗费资源的问题,并且真正意义上实现单向网
闸的实时主备同步切换,第一,需要在单向网闸设备的内端机发生故障时,能够及时通知外端机进行主备切换;第二,在数据不能由外端机传输到内端机的前提下,当外端机发生故障时,也能及时通知内端机进行主备切换。
55.本发明实现了一种双机热备系统主备模式切换的方法,能够在数据只能由内端机流向外端机的情况下,一侧发生故障时,另一侧能及时检测到状态变化,同时进行主备切换。本发明中内端机和外端机所采用的主备状态同步机制概括为两种。
56.如图6所示为本发明的一实施例中的内端机同步主备模式到外端机的流程图。在该实施例中,内端机到外端机的主备模式切换通过单向(single

track)私有协议(以下简称私有协议s,如基于udp的私有协议)通知;当内端机由主模式切换为备模式时,向外端机发送切换备模式命令,外端机收到切换备模式命令时,从主模式切换为备模式;当内端机由备模式切换为主模式时,向外端机发送切换主模式命令,外端机收到切换主模式命令时,从备模式切换为主模式。为保证可靠性和减少误报性,内端机的主备模式改变时,会连续发送3次切换备模式或切换主模式命令,只有当外端机连续收到3次切换备模式或切换主模式命令时,才执行主备模式切换的动作。
57.如图7所示为本发明的一实施例中的外端机同步主备模式到内端机流程图。在该实施例中,外端机到内端机的同步通过设置和读取高低电平0v或5v,由单向隔离卡(或单独的电平反馈线)提供高低电平反馈,外端机通过特定接口对电平信号设置,内端机通过特定接口实时读取电平信号;当外端机将电平设置为低电平0v时,代表外端机由主模式切换为备模式;当内端机读到低电平0v时,主模式切换为备模式;当外端机将电平设置为高电平5v时,代表外端机由备模式切换为主模式;内端机读取到高电平5v时,备模式切换为主模式。
58.此方案安全可靠,既保证了单向网闸数据流的单向传输性,又能通过高低电平反馈主备模式信息;由于内端机和外端机只是对高低电平的读取和设置,而且电平信号只能是0v和5v,所以不可能存在非法数据流或者攻击由外端机传输到内端机,从源头避免了威胁。
59.如图8所示为本发明的一实施例中的单向网闸双机热备拓扑图。在该实施例中所描述的单向网闸双机热备中,内端机之间、外端机之间的主备关系是通过双向(duplex)私有协议(以下简称私有协议d)维持和切换。当内端机中有一台主备模式变化时,通过私有协议d通知另一台切换主备模式。如处于主模式的1号设备内外端机定期给处于备模式的2号设备内外端机通过私有协议d发送心跳包,2号设备的内外端机能周期收到心跳包,则认为1号设备正常工作(如图8)。
60.当心跳包异常或内外端机故障时,主备同步切换有以下4种情况(对应图9至图12)。
61.如图9所示为本发明的一实施例中的内端机异常发送主备切换命令的示意图。在该实施例中,1号设备内端机检测到故障时(比如业务口掉线,即具备通知外端机的能力),主模式切换为备模式,停止向2号设备内端机发送心跳信息,通过私有协议s向1号设备外端机连续发送3次切换备模式命令,同时通过私有协议d通知2号设备内端机切换为主模式、开始向1号设备内端机发送心跳包、将电平由高电平设置为低电平;当1号设备外端机收到连续3次切换备模式命令,切换为备模式,停止向2号设备外端机发送心跳包,并通知2号设备外端机切换为主模式、开始向1号设备外端机发送心跳包、将电平由低电平设置为高电平。
62.如图10所示为本发明的一实施例中的内端机异常不发送主备切换命令的示意图。在该实施例中,2号设备内端机在超过心跳间隔时间未收到1号设备内端机通过私有协议d发送的心跳包,就认为1号设备内端机出现故障(比如宕机,即不具备通知外端机的能力),这时2号设备内端机切换为主模式,开始向1号设备内端机发送心跳包(待1号设备内端机恢复正常,由于收到心跳包,主动切换为备模式),然后通过私有协议s向2号设备外端机连续发送3次切换主模式命令;当2号设备外端机收到连续3次切换主模式命令时,切换为主模式,开始向1号设备外端机发送心跳包,将电平由低电平设置为高电平;然后2号设备通知1号设备外端机切换为备模式、停止发送心跳包、将电平由高电平设置为低电平。
63.如图11所示为本发明的一实施例中的外端机故障发送主备同步切换命令的示意图。在该实施例中,1号设备外端机检测到故障时(比如业务口掉线,即具备通知内端机的能力),切换为备模式,停止向2号设备外端机发送心跳包,将电平信号设置为低电平0v(原来为高电平5v),并通知2号设备外端机切换为主模式、开始向1号设备外端机发送心跳包、设置电平由低电平0v为高电平5v;当2号设备内端机读取到低高电平0v5v,切换为主模式,开始向1号设备内端机发送心跳包,并通知1号设备内端机切换为备模式、停止向2号设备内端机发送心跳包(也可以当1号设备内端机读取到低电平信号0v时,切换为备模式,停止发送心跳包,并通知2号设备内端机切换为主模式、开始发送心跳包)。
64.如图12所示为本发明的一实施例中的外端机故障不发送主备切换命令的示意图。在该实施例中,2号设备外端机在超过心跳间隔时间未收到1号设备外端机通过私有协议d发送的心跳包,就认为1号设备外端机出现了故障(比如宕机,即不具备通知内端机的能力),这时2号设备外端机切换为主模式,开始向1号设备外端机发送心跳包(待1号设备外端机恢复正常,由于收到心跳包,主动切换为备模式),设置电平由低电平0v为高电平5v;当2号设备内端机读取到高电平信号5v时,切换为主模式,开始向1号设备内端机发送心跳包,并通知1号设备内端机切换为备模式、停止发送心跳包。
65.在接收由私有协议d发送的主备心跳数据包超时判断中,为了减少因为时间的偶然不同步导致的误操作,备模式一般在3个心跳周期内均未收到心跳数据,才进行切换为主模式操作。
66.如上描述的电平反馈线的电平0v、5v可作为判断外端机工作模式的状态,内端机一般在连续三个检测周期内检测到电压值一致,才可以作为判断外端机工作模式的依据。
67.如果考虑到电子电路电压的抖动,为了保证模式判断的准确可靠,通过配置,可以使用电压变化事件表示工作模式,有效降低误报的可能性,如当0v切换到5v代表主模式,当5v切换到0v代表备模式,内端机检测电平切换,且变化后电压稳定维持三个检测周期,才进行模式切换。如图13所示为本发明的一实施例中的主模式电平变化示意图。如图14所示为本发明的一实施例中的备模式电平变化示意图。
68.通过单向私有协议与高低电平的配合,单向网闸的内端机和外端机能迅速知道对方的状态是主模式还是备模式,从而调整自己的状态,完美的解决了单向网闸不能实时同步内端机和外端机主备状态的问题,真正意义上实现了单向网闸的内端机和外端机的同步主备切换,提高了单向网闸主备切换效率。
69.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为
依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
70.在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项双机热备系统主备模式切换的方法。
71.在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项双机热备系统主备模式切换的方法。
72.在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行双机热备系统主备模式切换的方法。
73.在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现双机热备系统主备模式切换的方法。
74.图15是本申请另一实施例提供的执行双机热备系统主备模式切换的方法的电子设备的硬件结构示意图,如图15所示,该设备包括:
75.一个或多个处理器1510以及存储器1520,图15中以一个处理器1510为例。
76.执行双机热备系统主备模式切换的方法的设备还可以包括:输入装置1530和输出装置1540。
77.处理器1510、存储器1520、输入装置1530和输出装置1540可以通过总线或者其他方式连接,图15中以通过总线连接为例。
78.存储器1520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的双机热备系统主备模式切换的方法对应的程序指令/模块。处理器1510通过运行存储在存储器1520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例双机热备系统主备模式切换的方法。
79.存储器1520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据双机热备系统主备模式切换的装置的使用所创建的数据等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1520可选包括相对于处理器1510远程设置的存储器,这些远程存储器可以通过网络连接至双机热备系统主备模式切换的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
80.输入装置1530可接收输入的数字或字符信息,以及产生与双机热备系统主备模式切换的装置的用户设置以及功能控制有关的信号。输出装置1540可包括显示屏等显示设
备。
81.所述一个或者多个模块存储在所述存储器1520中,当被所述一个或者多个处理器1510执行时,执行上述任意方法实施例中的双机热备系统主备模式切换的方法。
82.上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
83.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
84.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
85.最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1