设备网关的主备切换方法、装置及计算机可读存储介质与流程
未命名
09-13
阅读:73
评论:0

1.本技术涉及设备控制技术领域,具体涉及一种设备网关的主备切换方法、装置及计算机可读存储介质。
背景技术:
2.modbus是一种串行通信协议,是莫迪康公司(现在的施耐德电气)于1979年为使用可编程逻辑控制器通信而发表。modbus已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间常用的连接方式。
3.为了避免modbus设备网关故障导致数据传输中断问题,往往会为设备配置主备集群的modbus设备网关。在modbus设备网关故障时通过主备设备网关切换以保障数据传输。
4.然而,目前modbus设备网关在进行主备切换时需要多次确认才可以确认主设备网关异常,该方法导致设备网关的主备切换效率较低。
技术实现要素:
5.本技术实施例提供一种设备网关的主备切换方法、装置及计算机可读存储介质,该方法可以提升设备网关的主备切换效率,进而保证设备网关的高可用性。
6.本技术第一方面提供一种设备网关的主备切换方法,所述方法由主备网关仲裁系统中的仲裁服务器执行,方法包括:
7.获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,所述第一仲裁请求包含所述备用设备网关的主备优先级数据;
8.根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息;
9.接收所述当前主设备网关基于所述状态检测信息返回的设备网关状态信息;
10.当根据所述设备网关状态信息确定所述当前主设备网关异常时,根据所述备用设备网关的主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果;
11.根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。
12.本技术第二方面提供一种设备网关的主备切换方法,该方法由设备网关集群中备用设备网关执行,所述设备网关集群包括主设备网关和至少一个备用设备网关,所述方法包括:
13.接收所述主设备网关发送的心跳报文;
14.当在预设时间段内未接收到所述主设备网关发送的心跳报文时,向主备网关仲裁系统中的仲裁服务器发送第一仲裁请求,所述第一仲裁请求包括对应的设备网关的主备优先级数据;
15.接收所述仲裁服务器基于所述第一仲裁请求返回的主备切换指令;
16.根据所述主备切换指令对所述设备网关的主备状态进行切换。
17.本技术第三方面还提供一种设备网关的主备切换方法,该方法由设备网关集群中主设备网关执行,所述设备网关集群包括主设备网关和至少一个备用设备网关,所述方法包括:
18.向备用设备网关发送心跳报文;
19.基于与仲裁系统中仲裁服务器之间预先构建的双向流模式连接接收所述仲裁服务器发送的状态检测信息;
20.基于所述状态检测信息向所述仲裁服务器发送设备网关状态信息;
21.接收所述仲裁服务器发送的主备切换指令;
22.根据所述主备切换指令切换主备状态。
23.相应的,本技术第四方面提供一种设备网关的主备切换装置,装置包括:
24.获取单元,获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,所述第一仲裁请求包含所述备用设备网关的主备优先级数据;
25.第一发送单元,用于根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息;
26.接收单元,用于接收所述当前主设备网关基于所述状态检测信息返回的设备网关状态信息;
27.处理单元,用于当根据所述设备网关状态信息确定所述当前主设备网关异常时,根据所述备用设备网关的主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果;
28.第二发送单元,用于根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。
29.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
30.获取子单元,用于当接收到所述设备网关集群中备用设备网关发送的第二仲裁请求时,获取所述备用设备网关的主备优先级数据;
31.第一发送子单元,用于当所述备用设备网关的主备优先级数据指示的优先级为预设优先级时,向所述备用设备网关发送用于切换为主设备网关的主网关切换指令,以及向所述当前主设备网关发送用于切换为备用设备网关的备用网关切换指令。
32.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
33.识别子单元,用于当获取到所述设备网关集群中每个设备网关发送的主备状态信息时,基于所述主备状态信息对所述设备网关集群中的设备网关进行主备网关识别处理;
34.第一处理子单元,用于当识别到所述设备网关集群中包含多个主设备网关时,基于每一主设备网关的主备优先级数据对所述多个主设备网关进行主备仲裁处理,得到第二仲裁结果;
35.第二发送子单元,用于根据所述第二仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令。
36.在一些实施例中,处理子单元,包括:
37.获取模块,用于获取所述设备网关集群中每一主设备网关发送的主备优先级数据;
38.选择模块,用于根据所述主备优先级数据从所述多个主设备网关中选择主备优先
级满足主设备网关条件的目标主设备网关;
39.第二发送子单元,还用于:
40.向所述目标主设备网关发送用于保持主设备网关的主网关切换指令,以及向所述设备网关集群中除所述目标主设备网关之外的主设备网关发送用于切换为备用设备网关的备用网关切换指令。
41.在一些实施例中,第一发送单元,包括:
42.生成子单元,用于根据所述第一仲裁请求生成状态检测信息;
43.第三发送子单元,用于基于预先构建的双向流模式连接向所述设备网关集群中当前主设备网关发送所述状态检测信息。
44.在一些实施例中,处理单元,包括:
45.第一确定子单元,用于根据所述备用设备网关的主备优先级数据确定备用设备网关中主备优先级满足主设备网关条件的备用设备网关为目标备用设备网关;
46.第二发送单元,还用于:
47.向所述目标备用设备网关发送切换为主设备网关的主网关切换指令,以及向所述当前主设备网关发送切换为备用设备网关的备用网关切换指令。
48.在一些实施例中,第二发送单元,包括:
49.第四发送子单元,用于向所述主备网关仲裁系统中目标仲裁服务器发送仲裁结果验证请求,所述仲裁结果验证请求包括验证信息,所述验证信息包括所述备用设备网关的主备优先级数据、所述当前主设备网关的身份信息以及所述第一仲裁结果;
50.第一接收子单元,用于接收所述目标仲裁服务器基于所述验证信息返回的验证结果;
51.第五发送子单元,用于当所述验证结果指示所述第一仲裁结果验证通过时,向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。
52.在一些实施例中,第一仲裁请求还包括所述备用设备网关的存储空间信息;处理单元,包括:
53.第二确定子单元,用于根据所述主备优先级数据从所述多个主设备网关中确定主备优先级符合预设主网关条件的至少一个候选主设备网关;
54.第二处理子单元,用于根据所述候选主设备网关的存储空间信息对所述至少一个候选主设备网关进行主备仲裁处理,得到第一仲裁结果。
55.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
56.第二接收子单元,用于基于预先构建的双向流模式连接周期性地接收所述设备网关集群中当前主设备网关发送的心跳报文;
57.检测子单元,用于根据当前主设备网关发送的心跳报文对当前主设备网关进行异常检测;
58.第一发送单元,还用于:
59.当检测到当前主设备网关未发生异常时,根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息。
60.在一些实施例中,所述主备网关仲裁系统包括主仲裁服务器以及至少一个备用仲
裁服务器,所述设备网关的主备切换装置装载于备用仲裁服务器中,所述方法还包括:
61.第六发送子单元,用于向所述主备网关仲裁系统中主仲裁服务器发送所述第一仲裁请求;
62.第三接收子单元,用于接收所述主仲裁服务器基于所述第一仲裁请求返回的仲裁参考结果;
63.第二发送单元,包括:
64.验证子单元,用于根据所述仲裁参考结果对所述第一仲裁结果进行验证;
65.第七发送子单元,用于当所述第一仲裁结果验证通过时,根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令。
66.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
67.选举子单元,用于当检测到所述主仲裁服务器状态异常时,从所述至少一个备用仲裁服务器中选举主仲裁服务器,得到第一选举结果,并向所述主备网关仲裁系统中除自身以外的其余备用仲裁服务器广播主仲裁服务器选举请求;
68.第四接收子单元,用于接收所述其余备用仲裁服务器基于所述主仲裁服务器选举请求返回的第二选举结果;
69.确定子单元,用于根据所述第一选举结果和所述第二选举结果确定所述主备网关仲裁系统的主仲裁服务器;
70.第八发送子单元,用于根据主仲裁服务器的确定结果向所述主备网关仲裁系统中备用仲裁服务器发送对应的主备仲裁服务器切换指令。
71.本技术第三方面还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本技术第一方面所提供的设备网关的主备切换方法中的步骤。
72.相应的,本技术第五方面提供一种设备网关的主备切换装置,所述装置应用于设备网关集群中的备用设备网关,所述设备网关集群包括主设备网关和至少一个备用设备网关,所述装置包括:
73.第二接收单元,用于接收所述主设备网关发送的心跳报文;
74.第三发送单元,用于当在预设时间段内未接收到所述主设备网关发送的心跳报文时,向主备网关仲裁系统中的仲裁服务器发送第一仲裁请求,所述第一仲裁请求包括对应的设备网关的主备优先级数据;
75.第三接收单元,用于接收所述仲裁服务器基于所述第一仲裁请求返回的主备切换指令;
76.第一切换单元,用于根据所述主备切换指令对所述设备网关的主备状态进行切换。
77.相应的,本技术第六方面提供一种设备网关的主备切换装置,所述装置应用于设备网关集群中的主设备网关,所述设备网关集群包括主设备网关和至少一个备用设备网关,所述装置包括:
78.第四发送单元,向备用设备网关发送心跳报文;
79.第四接收单元,用于基于与仲裁系统中仲裁服务器之间预先构建的双向流模式连接接收所述仲裁服务器发送的状态检测信息;
80.第五发送单元,用于基于所述状态检测信息向所述仲裁服务器发送设备网关状态信息;
81.第五接收单元,用于接收所述仲裁服务器发送的主备切换指令;
82.第二切换单元,用于根据所述主备切换指令切换主备状态。
83.本技术第七方面提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本技术第一方面所提供的设备网关的主备切换方法中的步骤。
84.本技术第八方面提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面所提供的设备网关的主备切换方法中的步骤。
85.本技术实施例提供的设备网关的主备切换方法,通过获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,第一仲裁请求包含备用设备网关的主备优先级数据;根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收当前主设备网关基于状态检测信息返回的设备网关状态信息;当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
86.本技术提供的设备网关的主备切换方法,在设备网关集群中备用设备网关发现主设备网关异常时,便会向主备网关仲裁系统请求仲裁,主备网关仲裁系统可以直接对主设备网关进行状态检测,当检测到主设备网关确定异常时便可以直接在备用设备网关中重新确定新的主设备网关进行切换。相对于现有主备切换方式,无需对主设备网关进行多次确认,因此,该方法可以大大提升设备网关的主备切换效率,进而可以保证设备网关的高可用性。
附图说明
87.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
88.图1是本技术中设备网关的主备切换的一个场景示意图;
89.图2是本技术提供的设备网关的主备切换方法的流程示意图;
90.图3是本技术提供的设备网关的主备切换方法的另一流程示意图;
91.图4是本技术提供的控制系统的架构示意图;
92.图5设备网关的几种状态之间的切换关系图;
93.图6是仲裁系统和设备网关集群之间的一个交互示意图;
94.图7是仲裁系统和设备网关集群之间的另一交互示意图;
95.图8是仲裁系统和设备网关集群之间的又一交互示意图;
96.图9是仲裁系统和设备网关集群之间的又一交互示意图;
97.图10是仲裁系统和设备网关集群之间的又一交互示意图;
98.图11是仲裁系统和设备网关集群之间的又一交互示意图;
99.图12是仲裁系统和设备网关集群之间的又一交互示意图;
100.图13是本技术提供的设备网关的主备切换装置的结构示意图;
101.图14是本技术提供的计算机设备的结构示意图。
具体实施方式
102.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
103.本发明实施例提供一种设备网关的主备切换方法、装置、计算机可读存储介质及计算机设备。其中,该设备网关的主备切换方法可以使用于设备网关的主备切换装置中。该设备网关的主备切换装置可以集成在计算机设备中,该计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,服务器可以为区块链中的节点。
104.请参阅图1,为本技术提供的设备网关的主备切换方法的一场景示意图。如图所示,在设备网关集群10中包括主设备网关11以及至少一个备用设备网关12。在运行过程中,主设备网关11周期性地向备用设备网关12发送心跳报文,备用设备网关12根据接收到的心跳报文对主设备网关11进行心跳检测。当备用设备网关12检测到主设备网关11心跳检测异常时,便会向仲裁服务器21发送仲裁请求,仲裁请求中包含每一备用设备网关12的优先级数据。仲裁服务器21接收到备用设备网关12发送的仲裁请求后,根据该仲裁请求向设备网关集群中主设备网关11发送状态检测信息,主设备网关11响应于接收到的状态检测信息,向仲裁服务器21返回其自身的设备网关状态信息。仲裁服务器21根据接收到的主设备网关11的设备网关状态信息确定其当前状态为异常时,则根据备用设备网关12的主备优先级数据进行仲裁处理,从至少一个备用设备网关中确定一个新的主设备网关,得到仲裁结果。然后向设备网关集群中的主设备网关11和备用设备网关12发送仲裁结果以及对应的切换指令,该切换指令指示每一设备网关需要切换到的主备状态。
105.需要说明的是,图1所示的设备网关的主备切换场景示意图仅仅是一个示例,本技术实施例描述的设备网关的主备切换场景是为了更加清楚地说明本技术的技术方案,并不构成对于本技术提供的技术方案的限定。本领域普通技术人员可知,随着设备网关的主备切换场景演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。
106.基于上述实施场景以下分别进行详细说明。
107.在相关技术中,在一些工业设备应用较多的领域,例如轨道交通领域中,包含了多种采用modbus协议的专业设备,对这些专业设备的运行数据进行采集,可以通过modbus设备网关来进行轮询采集。由于这些专业设备的数据采集的即时性对设备运行的安全性至关
重要,因此modbus设备网关必须具有高可用性,为了避免modbus设备网关宕机导致无法采集到设备数据,往往会为每一设备都配置一个主备设备网关集群。在正常运行时,设备通过主设备网关进行数据上报,以及通过主设备网关将设备数据广播给其他备用设备网关。当主设备网关出现故障或者宕机时,便将该主设备网关切换为备用设备网关,同时将备用设备网关切换为主设备网关进行数据上报和广播。
108.目前,当检测到主设备网关心跳异常时,一般采用哨兵模式来进行主备切换。具体地,每个哨兵节点以每秒钟一次的频率向它所知的主设备网关和备用设备网关以及其他哨兵节点发送一个ping命令。如果一个节点距离最后一次有效回复ping命令的时间超过指定的值(一般配置为30秒),则这个设备网关会被哨兵节点标记为主观下线。如果一个主设备网关被标记为主观下线,则正在观测这个主设备网关的所有哨兵节点要以每秒一次的频率确认主设备网关的确进入了主观下线状态。当有足够数量的哨兵节点(大于等于配置文件指定的值)在指定的时间范围内确认主设备网关的确进入了主观下线状态,则主设备网关会被标记为客观下线。在一般情况下,每个哨兵节点会以每10秒一次的频率向它已知的所有主设备网关和备用设备网关发送info命令。当主设备网关被哨兵节点标记为客观下线时,哨兵节点向下线的主设备网关的所有备用设备网关发送info命令的频率会从10秒一次改为每秒一次。若没有足够数量的哨兵节点同意主设备网关已经下线,主设备网关的客观下线状态就会被移除。若主设备网关重新向哨兵节点的ping命令返回有效回复,主设备网关的主观下线状态就会被移除。
109.也就是每个备用设备网关都会每隔1秒钟对主设备网关进行主动探活,当某个哨兵节点连续30秒,都没有收到被探测的主设备网关正确响应时,此哨兵节点将会认为对应主设备网关处于主观下线状态。只有当哨兵仲裁系统中超过一定数量个哨兵节点(一般配置为超过半数的节点n/2+1),都判定主设备网关处于主观下线状态时,哨兵系统才会判定此主设备网关为客观下线装填,随后对设备网关集群进行故障恢复处理,重新选出主数据节点。
110.哨兵模式故障检测的时间过长,哨兵节点对设备网关的探活时间间隔是1秒,对单个主设备网关的主观下线判定长达30秒,远远无法满足modbus设备网关的主备切换时间要求(轨道交通行业标准要求,主备切换小于1秒)。单个哨兵集群只能观测单个设备网关集群,无法同时观测负责多个设备网关集群的故障检测及恢复。modbus设备网关一般部署在资源紧凑型的物联边缘,同时会存在多个设备网关集群,如果使用哨兵方案,将会需要大量的机器资源用于构建哨兵系统。由于每个节点都需要主动探测所有设备网关,随着设备网关数量增加,哨兵系统和设备网关在探活的交互上,将会消耗非常多的资源(cpu、网络等),导致这种哨兵系统的设计不可能支持规模过大的主备设备网关集群。对此,本技术提供了一种设备网关的主备切换方法,以期一方面能够提升设备网关的主备切换效率,另一方面能够满足多个设备网关集群的同时主备切换控制。
111.本技术实施例将备用设备网关的主备切换装置的角度进行描述,该设备网关的主备切换装置可以集成在计算机设备中。其中,计算机设备可以是终端也可以是服务器,如仲裁服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数
据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。如图2所示,为本技术提供的设备网关的主备切换方法的流程示意图,该方法包括:
112.步骤101,获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求。
113.其中,设备网关集群可以为对一个工业设备进行数据采集上报的多个设备网关组成的集群。在一实施例中,一个设备网关集群可以包含一个主设备网关和一个备用设备网关;在另一实施例中,一个设备网关集群也可以具有一个主设备网关和多个备用设备网关。
114.在工业设备的运行过程中,该工业设备对应的设备网关集群中的主设备网关会对工业设备的运行数据进行实时的采集并进行上报,同时主设备网关还会向同一设备网关集群中的其他备用设备网关周期性地发送心跳报文以广播其采集到的工业设备的运行数据。备用设备网关便根据主设备网关发送的心跳报文来对主设备网关的运行状态进行心跳检测。心跳检测正常时,备用设备网关则继续进行心跳检测,当检测到心跳异常时,例如在预设时间段内备用设备网关没有接收到主设备网关发送的心跳报文时,便会触发备用设备网关进行相应的反馈。在本技术实施例中,设置了专门用于对设备网关的主备状态进行控制的主备网关仲裁系统,该主备网关仲裁系统中包含了仲裁服务器。当备用设备网关对主设备网关的心跳检测异常时,便会向主备网关仲裁系统中的仲裁服务器发送仲裁请求。
115.其中,由于设备网关集群中会存在一主多备的情况,当设备网关集群中存在多个备用设备网关集群时,当检测到主设备网关心跳异常时,多个备用设备网关便都会向仲裁服务器发送仲裁请求,此时为了对多个备用设备网关进行区分以及仲裁需要,每个备用设备网关在向仲裁服务器发送的仲裁请求中可以携带该备用设备网关的主备优先级数据。其中,该主备优先级数据可以根据设备网关的性能数据来提前设定的,即根据设备网关的数据处理能力来确定。一般情况下,数据处理能力越强的设备网关,其具有更高的主备优先级数据。一般情况下,主备优先级数据可以设置为0~255中任意一个数值,当设备网关的主备优先级数据为255时,则确定其具有最高优先级。
116.仲裁服务器在接收到备用设备网关发送的包含主备优先级数据的仲裁请求后,便可以进一步基于该仲裁请求对设备网关集群中的设备网关进行相应的主备仲裁。
117.步骤102,根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息。
118.其中,在本技术实施例中,当仲裁服务器接收到备用设备网关发送的仲裁请求后,便可以对设备网关集群中的当前主设备网关发送状态检测信息以检测设备网关集群中的当前主设备网关是否确定故障,即判断是否确实需要进行相应的主备切换以保证设备网关集群中存在一个可用的主设备网关,从而保证设备网关的高可靠性。
119.具体地,在一些实施例中,根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息,包括:
120.1、根据第一仲裁请求生成状态检测信息;
121.2、基于预先构建的双向流模式连接向设备网关集群中当前主设备网关发送状态检测信息。
122.其中,在本技术实施例中,仲裁服务器与设备网关集群中的每一设备网关之间可
以预先构建grpc双向流模式连接。其中,grpc是一个高性能、开源和通用的rpc(remote procedure call,即远程过程调用)框架,基于序列化协议开发,且支持众多开发语言。面向服务端和移动端,基于http/2(hyper text transfer protocol,即超文本传输协议)设计,带来诸如双向流、流控、头部压缩、单tcp(transmission control protocol,即传输控制协议)连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。
123.具体地,当仲裁服务器接收到备用设备网关的仲裁请求时,仲裁服务器可以先根据该仲裁请求生成相应的状态检测信息。然后仲裁服务器可以基于预先与设备网关之间构建的grpc双向流模式连接将生成的状态检测信息发送给当前主设备网关以对该当前主设备网关进行状态检测。
124.在一些实施例中,本技术提供的设备网关的主备切换方法,还包括:
125.基于预先构建的双向流模式连接周期性地接收设备网关集群中当前主设备网关发送的心跳报文;
126.根据当前主设备网关发送的心跳报文对当前主设备网关进行异常检测;
127.根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息,包括:
128.当检测到当前主设备网关未发生异常时,根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息。
129.其中,在本技术实施例中,仲裁服务器与当前主设备网关之间还可以基于预先构建的grpc双向流模式连接进行周期性地心跳检测。具体地,可以设置当前主设备网关周期性地基于预先构建的grpc双向流模式连接向仲裁服务器发送心跳报文,该心跳报文可以指示主设备网关当前是否异常。如此,仲裁服务器在接收到备用设备网关发送的仲裁请求时,基于与当前主设备网关之间的心跳检测确定当前主设备网关已经出现异常,例如出现宕机情况,已经无法基于预先构建的grpc双向流连接进行通信,则无需再想当前主设备网关发送状态检测信息进行状态检测了,可以直接基于备用设备网关的主备优先级数据进行主备仲裁。从而可以进一步提升设备网关的主备切换效率。当根据仲裁服务器对当前主设备网关的心跳检测确定当前主设备网关未发生宕机异常时,则可以进一步向主设备网关发送状态检测信息以进一步判断主设备网关是否存在数据上报功能异常。
130.步骤103,接收当前主设备网关基于状态检测信息返回的设备网关状态信息。
131.其中,当前主设备网关在接收到仲裁服务器基于预先构建的grpc双向流模式连接发送的状态检测信息后,便可以基于该状态检测信息获取自身的数据上报功能状态(数据上报功能状态还包括向备用设备网关发送心跳报文功能的状态),得到设备网关状态信息。然后当前主设备网关将自身的设备网关状态信息进一步发送给仲裁服务器进行仲裁处理。
132.仲裁服务器在接收到当前主设备网关基于预先构建的grpc双向流模式连接返回的设备网关状态信息后,便可以从中读取出当前主设备网关的设备网关状态,以确认其是否还具备作为主设备网关的能力。若仍具备作为主设备网关的能力,则不进行切换;若已经不再具备作为主设备网关的能力,则需切换其他备用设备网关为主设备网关,并将当前主设备网关切换为备用设备网关。
133.步骤104,当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果。
134.其中,仲裁服务器在接收到当前主设备网关返回的设备网关状态信息后,便可以从该设备网关状态信息中提取出当前主设备网关的状态。若当前主设备网关状态异常,则需要将其主备状态切换为备用设备网关的状态,并需要在当前的备用设备网关中选定一个切换为主设备网关的状态。
135.当设备网关集群中包含了一个主设备网关和一个备用设备网关时,则当检测到当前主设备网关心跳异常,且仲裁服务器确认当前主设备网关状态异常时,则直接裁定当前备用设备网关切换为主设备网关。当设备网关集群中包含了一个主设备网关和多个备用设备网关时,则在检测到主设备网关心跳异常时,就会有多个备用设备网关向仲裁服务器发送仲裁请求,如此仲裁服务器在确认了当前主设备网关状态异常时,则需要在多个备用设备网关中选择一个切换为主设备网关。
136.具体地,仲裁服务器可以对多个备用设备网关的主备优先级数据进行获取,由于设备网关的主备优先级数据代表了设备网关的数据处理能力,那么此时仲裁服务器便可以选取多个备用设备网关中主备优先级数据最高的备用设备网关切换为主设备网关,其余备用设备网关的状态保持不变。
137.即,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果,包括:
138.1、根据备用设备网关的主备优先级数据确定备用设备网关中主备优先级满足主设备网关条件的备用设备网关为目标备用设备网关;
139.2、向目标备用设备网关发送切换为主设备网关的主网关切换指令,以及向当前主设备网关发送切换为备用设备网关的备用网关切换指令。
140.此处,主设备网关条件可以为主备优先级最高,也可以为主备优先级数据高于预设值。例如,当备用设备网关中存在主备优先级数据为255(最高优先级)的,则直接确定其切换为主设备网关。若备用设备网关中不存在优先级数据为255的,则可以选择优先级数据最高的,或者可以选择优先级数据大于预设值的任意一个备用设备网关切换为主设备网关。
141.在一些实施例中,备用设备网关向仲裁服务器发送的仲裁请求中还可以包括备用设备网关的存储空间信息,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果,包括:
142.根据主备优先级数据从多个主设备网关中确定主备优先级符合预设主网关条件的至少一个候选主设备网关;
143.根据候选主设备网关的存储空间信息对至少一个候选主设备网关进行主备仲裁处理,得到第一仲裁结果。
144.在本技术实施例中,当仲裁服务器根据当前主设备网关返回的设备网关状态信息确定主设备网关异常,而在多个备用设备网关中确定了多个主备优先级数据符合预设主网关条件的备用设备网关时,可以进一步根据仲裁请求中包含的设备网关的存储空间信息进一步进行仲裁,得到仲裁结果。
145.具体地,仲裁服务器根据每一备用设备网关的主备优先级数据从多个设备网关中确定了多个主备优先级符合预设主网关条件的备用设备网关时,将这多个备用设备网关确定为候选主设备网关。仲裁服务器进一步获取每一候选主设备网关的存储空间信息,然后
根据存储空间信息在多个候选主设备网关中确定存储空间最大的设备网关来切换为主设备网关。采用本技术提供的方法,可以根据多个因素挑选出最适合的设备网关作为新的主设备网关,保证了切换后的数据上报能力,从而保证了modbus设备网关的高可用性。
146.步骤105,根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
147.其中,仲裁服务器在仲裁处理得到仲裁结果后,便可以根据仲裁结果生成每一设备网关对应的主备切换指令,主备切换指令指示了每一设备网关需要切换到的主备状态。具体地,当仲裁服务器确定当前主设备网关状态异常且裁定了多个备用设备网关中的一个需要切换为主设备网关时。则向当前主设备网关发送切换为备用设备网关的切换指令,以及向仲裁为需要切换为主设备网关的当前备用设备网关发送切换为主设备网关的切换指令,向其他备用设备网关发送状态保持不变的指令。
148.在一些实施例中,根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态,包括:
149.1、向主备网关仲裁系统中目标仲裁服务器发送仲裁结果验证请求,仲裁结果验证请求包括验证信息,验证信息包括备用设备网关的主备优先级数据、当前主设备网关的身份信息以及第一仲裁结果;
150.2、接收目标仲裁服务器基于验证信息返回的验证结果;
151.3、当验证结果指示第一仲裁结果验证通过时,向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
152.其中,在本技术实施例中,为了保证仲裁服务器的仲裁结果的准确性,可以基于主备网关仲裁系统中其他仲裁服务器对当前仲裁服务器的仲裁结果进行验证。
153.具体地,当仲裁服务器生成了仲裁结果后,可以向主备网关仲裁系统中的目标仲裁服务器(该目标仲裁服务器可以为主备网关仲裁系统中专用的验证服务器)发送包含验证信息的验证请求。该验证信息中包含了向仲裁服务器发送仲裁请求的备用设备网关的主备优先级数据、当前主设备网关的身份信息以及仲裁服务器作出的仲裁结果。验证服务器可以基于上述信息进行再次仲裁,得到验证仲裁结果,然后基于验证仲裁结果对仲裁服务器作出的仲裁结果进行验证,并向仲裁服务器返回验证结果。
154.仲裁服务器在接收到目标仲裁服务器返回的验证结果后,对验证结果进行识别,当验证结果为验证通过时,仲裁服务器便可以根据该仲裁结果向设备网关发送相应的主备切换指令。若验证结果为验证不通过,则需要重新进行仲裁与验证,直至验证通过。
155.其中,在一些实施例中,仲裁服务器也可以不必每次都将仲裁结果发送给目标仲裁服务器进行验证,可以定期(例如每天一次)向目标仲裁服务器发送仲裁结果进行验证。以保证仲裁服务器在这个周期内的仲裁结果是能够经受验证的。该方法可以保证仲裁服务器的仲裁结果的准确性,也就保证了设备网关的主备切换的准确性,避免误切换导致的资源浪费,也可以避免切换不及时导致的设备网关可靠性降低。
156.在一些实施例中,本技术提供的主备网关仲裁系统可以包括主仲裁服务器以及至少一个备用仲裁服务器,本技术提供的主备设备网关的切换方法可以由备用仲裁服务器执行,该方法还可以包括:
157.向主备网关仲裁系统中主仲裁服务器发送第一仲裁请求;
158.接收主仲裁服务器基于第一仲裁请求返回的仲裁参考结果;
159.根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,包括:
160.根据仲裁参考结果对第一仲裁结果进行验证;
161.当第一仲裁结果验证通过时,根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令。
162.即在本技术实施例中,主备网关仲裁系统中的仲裁服务器也可以为主备架构,主仲裁服务器可以具有更好的数据处理能力。当备用仲裁服务器的仲裁结果需要验证时,可以基于主仲裁系统的仲裁结果对其进行验证,从而保证备用仲裁服务器的仲裁结果的准确性。
163.在一些实施例中,本技术提供的设备网关的主备切换方法还可以包括:
164.当检测到主仲裁服务器状态异常时,从至少一个备用仲裁服务器中选举主仲裁服务器,得到第一选举结果,并向主备网关仲裁系统中除自身以外的其余备用仲裁服务器广播主仲裁服务器选举请求;
165.接收其余备用仲裁服务器基于主仲裁服务器选举请求返回的第二选举结果;
166.根据第一选举结果和第二选举结果确定主备网关仲裁系统的主仲裁服务器;
167.根据主仲裁服务器的确定结果向主备网关仲裁系统中备用仲裁服务器发送对应的主备仲裁服务器切换指令。
168.其中,在本技术实施例中,当主备网关仲裁系统中的主仲裁服务器出现异常时,备用仲裁服务器之间也可以进一步通过选举确定新的主仲裁服务器。具体地,当备用仲裁服务器检测到主仲裁服务器状态异常时,从多个备用仲裁服务器中先进行主仲裁服务器选举,得到第一选举结果,并向主备网关仲裁系统中的其他备用仲裁服务器广播主仲裁服务器选举请求。然后,接收其余备用仲裁服务器基于该主仲裁服务器选举请求返回的第二选举结果。然后可以根据第一选举结果和第二选举结果确定新的主仲裁服务器,然后向每一仲裁服务器发送对应的切换指令。
169.在一些实施例中,本技术提供的设备网关的主备切换方法,还包括:
170.当接收到设备网关集群中备用设备网关发送的第二仲裁请求时,获取备用设备网关的主备优先级数据;
171.当备用设备网关的主备优先级数据指示的优先级为预设优先级时,向备用设备网关发送用于切换为主设备网关的主网关切换指令,以及向当前主设备网关发送用于切换为备用设备网关的备用网关切换指令。
172.其中,在本技术实施例中,在一些情况下,备用设备网关也可以向仲裁服务器发送仲裁请求。例如,若设备网关中的初始主设备网关因故障被降级为备用设备网关,初始备用设备网关中的一个被提级为主设备网关后。设备网关的维护人员可以对初始主设备网关进行故障排查以及修复,然后初始主设备网关便可以进行初始化以及重启。当初始主设备网关重启完成后便可以向仲裁服务器发送仲裁请求(此时初始主设备网关的主备状态仍为备用设备网关)。此处仲裁请求可以称为第二仲裁请求。
173.仲裁服务器在接收到第二仲裁请求时,可以进一步对发送该仲裁请求的设备网关进行主备优先级数据的获取。在获取到该设备网关的主备优先级数据后,便对该主备优先
级数据进行判断,以确定该主备优先级数据指示的优先级是否为预设的优先级(例如最高优先级),如果基于该主备优先级数据确定发送仲裁请求的设备网关为最高优先级的设备网关时,则将其切换为主设备网关,并将设备网关集群中当前主设备网关切换为备用设备网关。该方法可以在主设备网关宕机重启后即时将其重新切换为主设备网关,从而保证高性能设备网关的高使用率。从而提升modbus设备网关的整体性能。
174.在一些实施例中,本技术提供的设备网关的主备切换方法,还包括:
175.a、当获取到设备网关集群中每个设备网关发送的主备状态信息时,基于主备状态信息对设备网关集群中的设备网关进行主备网关识别处理;
176.b、当识别到设备网关集群中包含多个主设备网关时,基于每一主设备网关的主备优先级数据对多个主设备网关进行主备仲裁处理,得到第二仲裁结果;
177.c、根据第二仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令。
178.在一些情况下,设备网关集群中会面临脑裂问题,即在一个设备网关集群中出现多个主设备网关的情况。由于modbus设备数据轮询时只从主设备网关进行数据轮询,多主问题会导致modbus设备数据轮询压力过大甚至产生故障。对此,本技术提供的设备网关的主备切换方法中,仲裁服务器还可以周期性地对设备网关集群中的设备网关的主备状态信息进行获取。或者,也可以设置设备网关集群中的设备网关周期性地向仲裁服务器上报自身的主备状态信息。
179.当仲裁服务器获取到设备网关集群中每一设备网关的主备状态信息后,便可以进一步对每一设备网关进行主备网关识别处理。如果识别到设备网关集群中只有一个主设备网关,则确认设备网关集群中不存在脑裂问题。若识别到设备网关集群中存在多个主设备网关时,则确定设备网关集群存在脑裂问题,需要进行相应的处理。
180.当仲裁服务器检测到设备网关集群中存在多个主设备网关时,可以根据这多个主设备网关的主备优先级数据来进行主动仲裁,得到第二仲裁结果。具体地,可以为将多个主设备网关中主备优先级数据满足主设备网关条件的主设备网关确定为最终的目标主设备网关,将其他主设备网关切换为备用设备网关。
181.即基于每一主设备网关的主备优先级数据对多个主设备网关进行主备仲裁处理,得到第二仲裁结果,包括:
182.获取设备网关集群中每一主设备网关发送的主备优先级数据;
183.根据主备优先级数据从多个主设备网关中选择主备优先级满足主设备网关条件的目标主设备网关;
184.根据第二仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,包括:
185.向目标主设备网关发送用于保持主设备网关的主网关切换指令,以及向设备网关集群中除目标主设备网关之外的主设备网关发送用于切换为备用设备网关的备用网关切换指令。
186.其中,在本技术实施例中,满足主设备网关条件的目标主设备网关有且只能有一个,因此可以将多个主设备网关中主备优先级数据最高的主设备网关确定为目标主设备网关,并向其发送保持主设备网关的指令;向其他主设备网关发送切换为备用设备网关的切换指令。
187.本技术实施例中,主备网关仲裁系统中的仲裁服务器通过对设备网关集群中的设备网关的主备状态信息进行周期性地获取以及脑裂检测、主动仲裁,可以有效避免脑裂问题导致的资源消耗增加甚至导致系统崩溃的问题,从而大大提升了modbus设备网关的可靠性。
188.其中,在一些实施例中,由于本技术提供的设备网关的主备切换方法中,主备网关仲裁系统中的仲裁服务器与设备网关集群中的每一设备网关都预先构建的grpc双向流模式连接,并且可以基于该grpc双向流模式连接进行数据传输。那么仲裁服务器便可以基于该grpc双向流模式连接对设备网关集群中的每一设备网关进行心跳检测,该心跳检测接收的内容具体可以为主设备网关的设备网关状态信息,而且仲裁服务器可以预先获取每一设备网关的主备优先级数据。如此,当备用设备网关检测到主设备网关心跳异常时,可能的原因便是主设备网关的数据发送能力存在故障,那么此时仲裁服务器也可以基于其对主设备网关的心跳检测已经确定了主设备网关的异常。当接收到备用设备网关发送的仲裁请求时,仲裁服务器便无需再重复向主设备网关进行状态检测,直接进行仲裁处理并向各个设备网关发送仲裁结果和对应的切换指令即可。该方法可以通过提前对主设备网关进行状态检测的方法来减少仲裁请求发起后的仲裁时间,从而可以大大提升设备网关的主备切换效率。
189.根据上述描述可知,本技术实施例提供的设备网关的主备切换方法,通过获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,第一仲裁请求包含备用设备网关的主备优先级数据;根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收当前主设备网关基于状态检测信息返回的设备网关状态信息;当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
190.本技术提供的设备网关的主备切换方法,在设备网关集群中备用设备网关发现主设备网关异常时,便会向主备网关仲裁系统请求仲裁,主备网关仲裁系统可以直接对主设备网关进行状态检测,当检测到主设备网关确定异常时便可以直接在备用设备网关中重新确定新的主设备网关进行切换。相对于现有主备切换方式,无需对主设备网关进行多次异常确认,因此,该方法可以大大提升设备网关的主备切换效率,进而可以保证设备网关的高可用性。
191.本技术还提供了一种设备网关的主备切换方法,该方法可以使用于计算机设备中,该计算机设备可以为服务器。如图3所示,为本技术提供的设备网关的主备切换方法的另一流程示意图,方法具体包括:
192.步骤201,响应于设备网关的启动指令,设备网关集群中的设备网关根据主备优先级数据进行主备状态判定及主备切换。
193.其中,本技术提供的设备网关的主备切换方法,其本质是基于仲裁系统(即前述主备网关仲裁系统)对设备网关的主备状态进行控制的方法。在该系统中,主要申明三个比较重要的参数:设备网关集群名称,该名称全局唯一;设备网关的主备优先级数值(下文简称优先级数据),取值范围0~255,数值越大优先级越高,优先级越高的设备网关,优先成为主设备网关,进行modbus设备轮询;仲裁系统的连接地址。如图4所示,为本技术提供的控制系
统的架构示意图。如图所示,仲裁系统中可以包括多个仲裁服务器,或者称为仲裁节点,一个仲裁服务器可以处理一个设备的网关集群的主备状态控制事宜。在本技术实施例中,以一个设备网关集群具有一主一备(即一个主设备网关和一个备用设备网关)为例进行描述,每一设备网关都有其对应的优先级数据。
194.当工业设备的设备网关开始启用时,设备网关可以根据其在设备网关集群中优先级高低来确定自身的主备状态,优先级最高的为主设备网关,其他为备用设备网关。然后,设备网关根据上述确定的主备关系来切换自身的主备状态。正常工作时,主设备网关处理设备数据,并间隔一定的时间向其他备用设备网关发送通告报文,通告报文采用用户数据报协议(user datagram protocol,udp)协议,这样免去通信连接的建立耗时,通告报文中包含主设备网关的优先级数值。但如果主设备网关收到优先级更大的通告报文,则立即扭转为备用设备网关状态,不再处理设备数据。备用设备网关采用心跳模式来对主设备网关发送的周期性通告报文进行检测,如果在预设时间内没有收到来自主设备网关的通告报文,则向仲裁系统申请仲裁。如图5所示,为设备网关的几种状态之间的切换关系图。当设备网关启动时,检测到设备网关的优先级数据如果是255,则直接判定其主备状态为主设备网关并进行状态扭转;如果优先级数据小于255,则直接判定为备用设备网关并进行状态扭转。如果多个设备网关优先级数据都小于255,则可以确定优先级数据最高的为主设备网关,其余设备网关为备用设备网关。主设备网关在使用过程中如果收到优先级数据更大的报文,则自动扭转为备用设备网关。当备用设备网关检测到主设备网关的心跳异常,向仲裁系统发起仲裁并被仲裁为裁定主设备网关时,备用设备网关状态扭转为主设备网关。
195.步骤202,设备网关集群中主设备网关周期性向备用设备网关发送心跳报文,以及向仲裁系统中的仲裁服务器上报主备状态信息。
196.其中,在工业设备的正常运行过程中,其对应的设备网关集群中的主设备网关会周期性地采集工业设备的运行数据并进行上报。同时,主设备网关还会周期性地向同一设备网关集群中的备用设备网关发送心跳报文,心跳报文中包含了主设备网关的优先级数据以及采集到的工业设备的运行数据。
197.同时,设备网关集群中的主设备网关和备用设备网关还会周期性地向仲裁服务器上报自身的主备状态信息,以便仲裁服务器对设备网关集群进行脑裂检测。
198.步骤203,当设备网关集群中的备用设备网关检测到主设备网关心跳异常时,向仲裁系统中的仲裁服务器发送仲裁请求。
199.其中,设备网关集群中的备用设备网关在接收主设备网关周期性发送的心跳报文时,也会基于该心跳报文对主设备网关进行心跳检测。当备用设备网关检测到主设备网关心跳异常,例如在预设时间段内未能接收到主设备网关发送的心跳报文时,便会向仲裁系统中的仲裁服务器发送仲裁请求。如前所述,本技术实施例中以设备网关集群包括一主一备为例进行说明。当设备网关集群中包括一主多备时,则备用设备网关向仲裁服务器发送仲裁请求时需同时携带自身的优先级数据,以便仲裁系统作出仲裁。
200.步骤204,仲裁系统中的仲裁服务器根据仲裁请求向设备网关集群中的主设备网关发送状态检测信息。
201.仲裁系统中的仲裁服务器在接收到备用设备网关发送的仲裁请求后,便可以向设备网关集群中的主设备网关发送状态检测信息。其中,在本技术实施例中,仲裁服务器与设
备网关集群中的每一设备网关可以预先构建grpc双向流模式连接,当仲裁服务器接收到仲裁请求时,便可以基于预先构建的grpc双向流模式连接向设备网关集群中的主设备网关发送状态检测信息。
202.步骤205,设备网关集群中的主设备网关基于状态检测信息向仲裁系统中的仲裁服务器返回设备网关状态信息。
203.设备网关集群中的主设备网关在接收到仲裁服务器基于预先构建的grpc双向流模式林连接发送的状态检测信息后,便可以响应于该状态检测信息获取自身的设备网关状态信息,然后基于前述grpc双向流模式连接将获取到的自身的设备网关状态信息返回给仲裁服务器进行仲裁。
204.步骤206,当仲裁服务器基于设备网关状态信息确定主设备网关异常时,向主设备网关发送切换为备用设备网关的切换指令,以及向备用设备网关发送切换为主设备网关的切换指令。
205.仲裁服务器在接收到主设备网关基于预先构建的grpc双向流连接返回的设备网关状态信息后,根据该设备网关状态信息确定主设备网关是否异常。当仲裁服务器确认主设备网关异常时,则向主设备网关发送切换为备用设备网关的切换指令,同时向备用设备网关发送切换为主设备网关的切换指令。设备网关集群中的设备网关在接收到仲裁服务器发送的切换指令时,便立即进行相应的切换。
206.步骤207,当仲裁服务器基于设备网关上传的主备状态信息检测到设备网关集群中存在多个主设备网关时,仲裁服务器基于多个主设备网关的优先级数据进行仲裁处理,得到仲裁结果。
207.其中,仲裁服务器在周期性接收到设备网关集群中的设备网关发送的主备状态信息时,还会周期性地基于接收到的主备状态信息对设备网关集群进行脑裂检测,即检测设备网关集群中是否存在多个(至少2个)设备网关。当仲裁服务器检测到设备网关集群中存在多个主设备网关时,便可以进一步获取每一主设备网关的优先级数据,然后根据每一设备网关的优先级数据进行仲裁处理,得到仲裁结果。具体地,仲裁处理的过程可以为将优先级数据最高的主设备网关保持为最终的主设备网关,将其他主设备网关切换为备用设备网关,以保证设备网关集群中只存在一个主设备网关,即解决脑裂问题。
208.步骤208,仲裁服务器根据仲裁结果生成每一设备网关的切换指令,并将切换指令发送给对应的设备网关。
209.仲裁服务器在对脑裂问题进行仲裁得到仲裁结果后,便可以根据仲裁结果生成每一设备网关的切换指令,然后将切换指令发送给对应的设备网关。
210.步骤209,设备网关集群中的设备网关根据切换指令对主备状态进行切换。
211.设备网关集群中的设备网关在接收到仲裁服务器发送的切换指令后,便立即根据切换指令对自身的主备状态进行切换,以避免脑裂问题对设备网关集群带来的资源消耗和崩溃风险。
212.为了进一步明确仲裁系统和设备网关集群之间的交互关系,下面采用交互时序图对本方案进行详细的介绍。如图6所示,为仲裁系统和设备网关集群之间的交互时序图。如图所示,仲裁系统中包括至少一个仲裁服务器(图中只示出一个),设备网关集群中包括一个主设备网关和至少一个备用设备网关(图中只示出一个)。仲裁系统中的仲裁服务器与设
备网关集群中的主设备网关以及备用设备网关之间的交互具体包括如下步骤:
213.s101:主设备网关获取设备运行数据并上报。
214.s102:主设备网关向备用设备网关发送心跳报文。
215.s103:备用设备网关基于心跳报文对主设备网关进行心跳检测。
216.s104:当心跳检测失败时,备用设备网关向仲裁服务器发送仲裁请求。
217.s105:仲裁服务器向主设备网关发送状态检测信息。
218.s106:主设备网关获取自身的设备网关状态信息。
219.s107:主设备网关将设备网关状态信息发送给仲裁服务器。
220.s108:仲裁服务器基于设备网关状态信息确定主设备网关的状态。
221.s109:当检测到主设备网关状态异常时,仲裁服务器向主设备网关发送状态切换指令。
222.s110:当检测到主设备网关状态异常时,仲裁服务器向备用设备网关发送状态切换指令。
223.s111:主设备网关将自身状态切换为备用设备网关。
224.s112:备用设备网关将自身状态切换为主设备网关。
225.具体地,请继续参阅图7,为仲裁系统和设备网关集群的另一交互示意图。其中,仲裁系统中仲裁节点之间采用raft算法连接,其中raft算法为一种分布式一致性算法。当备用设备网关a2采用udp协议对主设备网关a1进行心跳检测确定心跳检测失败时,执行步骤s1:设备网关a2向仲裁节点1请求仲裁结果;然后执行步骤s2:仲裁节点1对主设备网关a1进行仲裁检测且检测失败;则继续执行步骤s3:将设备网关a2升级为主设备网关。
226.请继续参阅图8,为仲裁系统和设备网关集群的又一交互示意图。当备用设备网关a2采用udp协议对主设备网关a1进行心跳检测确定心跳检测失败时,执行步骤s4:设备网关a2向仲裁节点1请求仲裁结果;然后执行步骤s5:仲裁节点1对主设备网关a1进行仲裁检测且检测成功;则继续执行步骤s3:将设备网关a2保持为备用设备网关。
227.如图9所示,为仲裁系统与设备网关集群的又一交互示意图。在该场景下,仲裁服务器与设备网关集群中的主设备网关以及备用设备网关之间的交互过程包括如下步骤:
228.s201:主设备网关获取自身主备状态信息。
229.s202:备用设备网关获取自身主备状态信息。
230.s203:主设备网关将自身主备状态信息发送给仲裁服务器。
231.s204:备用设备网关将自身主备状态信息发送给仲裁服务器。
232.s205:仲裁服务器基于接收到的主备状态信息进行脑裂检测。
233.s206:当检测到存在脑裂问题时,仲裁服务器向主设备网关发送状态保持指令。
234.s207:当检测到存在脑裂问题时,仲裁服务器向备用设备网关发送状态切换指令。
235.s208:备用设备网关将当前的主设备网关状态切换为备用设备网关状态。
236.如图10所示,为仲裁系统与设备网关集群的又一交互示意图。在该场景下,仲裁服务器与设备网关集群中的主设备网关以及备用设备网关之间的交互过程包括如下步骤:
237.s301:主设备网关宕机重启。(此时主设备网关的状态为备用设备网关状态,而备用设备网关的状态为主设备网关状态)
238.s302:主设备网关向仲裁服务器发送仲裁请求。
239.s303:仲裁服务器基于主设备网关的优先级数据进行仲裁。(判断其是否符合主设备网关条件)
240.s304:裁定主设备网关符合主设备网关条件时,仲裁服务器向主设备网关发送状态切换指令。
241.s305:裁定主设备网关符合主设备网关条件时,仲裁服务器向备用设备网关发送状态切换指令。
242.s306:主设备网关将其主备状态由备用设备网关状态切换为主设备网关状态。
243.s307:备用设备网关将其主备状态由主设备网关状态切换为备用设备网关状态。
244.具体地,请继续参阅图11,为仲裁系统与设备网关集群的又一交互示意图。当设备网关a1重启完成后,其当前的状态为备用设备网关,此时可以执行步骤s7:设备网关a1向仲裁节点1发起仲裁申请成为主设备网关。然后便进入步骤s8:仲裁节点a1对当前主设备网关a2发起仲裁检测,当对设备网关a2检测成功,即设备网关a2状态正常时,便可以进一步执行步骤s9:设备网关a1保持备用设备网关。
245.请继续参阅图12,为为仲裁系统与设备网关集群的又一交互示意图。当设备网关a1重启完成后,其当前的状态为备用设备网关,此时可以执行步骤s10:设备网关a1向仲裁节点1发起仲裁申请成为主设备网关。然后便进入步骤s11:仲裁节点a1对当前主设备网关a2发起仲裁检测,当对设备网关a2检测失败,即设备网关a2状态异常时,便可以进一步执行步骤s2:设备网关a1升级为主设备网关。
246.根据上述描述可知,本技术提供的设备网关的主备切换方法,通过获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,第一仲裁请求包含备用设备网关的主备优先级数据;根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收当前主设备网关基于状态检测信息返回的设备网关状态信息;当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
247.以此,本技术提供的设备网关的主备切换方法,在设备网关集群中备用设备网关基于对主设备网关的心跳检测发现主设备网关异常时,便会向主备网关仲裁系统请求仲裁,主备网关仲裁系统可以直接对主设备网关进行状态检测,当检测到主设备网关确定异常时便可以直接在备用设备网关中重新确定新的主设备网关进行切换。相对于现有技术中需对主设备网关进行多次下线确认,该方法可以大大提升设备网关的主备切换效率,进而可以保证设备网关的高可用性。
248.为了更好地实施以上设备网关的主备切换方法,本技术实施例还提供一种设备网关的主备切换装置,该设备网关的主备切换装置可以集成在终端或服务器中。
249.例如,如图13所示,为本技术实施例提供的设备网关的主备切换装置的结构示意图,该设备网关的主备切换装置可以包括获取单元301、第一发送单元302、接收单元303、处理单元304以及第二发送单元305,如下:
250.获取单元301,获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,所述第一仲裁请求包含所述备用设备网关的主备优先级数据;
251.第一发送单元302,用于根据所述第一仲裁请求向所述设备网关集群中当前主设
备网关发送状态检测信息;
252.接收单元303,用于接收所述当前主设备网关基于所述状态检测信息返回的设备网关状态信息;
253.处理单元304,用于当根据所述设备网关状态信息确定所述当前主设备网关异常时,根据所述备用设备网关的主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果;
254.第二发送单元305,用于根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。
255.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
256.获取子单元,用于当接收到所述设备网关集群中备用设备网关发送的第二仲裁请求时,获取所述备用设备网关的主备优先级数据;
257.第一发送子单元,用于当所述备用设备网关的主备优先级数据指示的优先级为预设优先级时,向所述备用设备网关发送用于切换为主设备网关的主网关切换指令,以及向所述当前主设备网关发送用于切换为备用设备网关的备用网关切换指令。
258.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
259.识别子单元,用于当获取到设备网关集群中每个设备网关发送的主备状态信息时,基于主备状态信息对设备网关集群中的设备网关进行主备网关识别处理;
260.第一处理子单元,用于当识别到设备网关集群中包含多个主设备网关时,基于每一主设备网关的主备优先级数据对多个主设备网关进行主备仲裁处理,得到第二仲裁结果;
261.第二发送子单元,用于根据第二仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令。
262.在一些实施例中,处理子单元,包括:
263.获取模块,用于获取设备网关集群中每一主设备网关发送的主备优先级数据;
264.选择模块,用于根据主备优先级数据从多个主设备网关中选择主备优先级满足主设备网关条件的目标主设备网关;
265.第二发送子单元,还用于:
266.向目标主设备网关发送用于保持主设备网关的主网关切换指令,以及向设备网关集群中除目标主设备网关之外的主设备网关发送用于切换为备用设备网关的备用网关切换指令。
267.在一些实施例中,第一发送单元,包括:
268.生成子单元,用于根据第一仲裁请求生成状态检测信息;
269.第三发送子单元,用于基于预先构建的双向流模式连接向设备网关集群中当前主设备网关发送状态检测信息。
270.在一些实施例中,处理单元,包括:
271.第一确定子单元,用于根据备用设备网关的主备优先级数据确定备用设备网关中主备优先级满足主设备网关条件的备用设备网关为目标备用设备网关;
272.第二发送单元,还用于:
273.向目标备用设备网关发送切换为主设备网关的主网关切换指令,以及向当前主设备网关发送切换为备用设备网关的备用网关切换指令。
274.在一些实施例中,第二发送单元,包括:
275.第四发送子单元,用于向主备网关仲裁系统中目标仲裁服务器发送仲裁结果验证请求,仲裁结果验证请求包括验证信息,验证信息包括备用设备网关的主备优先级数据、当前主设备网关的身份信息以及第一仲裁结果;
276.第一接收子单元,用于接收目标仲裁服务器基于验证信息返回的验证结果;
277.第五发送子单元,用于当验证结果指示第一仲裁结果验证通过时,向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
278.在一些实施例中,第一仲裁请求还包括备用设备网关的存储空间信息;处理单元,包括:
279.第二确定子单元,用于根据主备优先级数据从多个主设备网关中确定主备优先级符合预设主网关条件的至少一个候选主设备网关;
280.第二处理子单元,用于根据候选主设备网关的存储空间信息对至少一个候选主设备网关进行主备仲裁处理,得到第一仲裁结果。
281.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
282.第二接收子单元,用于基于预先构建的双向流模式连接周期性地接收设备网关集群中当前主设备网关发送的心跳报文;
283.检测子单元,用于根据当前主设备网关发送的心跳报文对当前主设备网关进行异常检测;
284.第一发送单元,还用于:
285.当检测到当前主设备网关未发生异常时,根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息。
286.在一些实施例中,主备网关仲裁系统包括主仲裁服务器以及至少一个备用仲裁服务器,设备网关的主备切换装置装载于备用仲裁服务器中,方法还包括:
287.第六发送子单元,用于向主备网关仲裁系统中主仲裁服务器发送第一仲裁请求;
288.第三接收子单元,用于接收主仲裁服务器基于第一仲裁请求返回的仲裁参考结果;
289.第二发送单元,包括:
290.验证子单元,用于根据仲裁参考结果对第一仲裁结果进行验证;
291.第七发送子单元,用于当第一仲裁结果验证通过时,根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令。
292.在一些实施例中,本技术提供的设备网关的主备切换装置,还包括:
293.选举子单元,用于当检测到主仲裁服务器状态异常时,从至少一个备用仲裁服务器中选举主仲裁服务器,得到第一选举结果,并向主备网关仲裁系统中除自身以外的其余备用仲裁服务器广播主仲裁服务器选举请求;
294.第四接收子单元,用于接收其余备用仲裁服务器基于主仲裁服务器选举请求返回的第二选举结果;
295.确定子单元,用于根据第一选举结果和第二选举结果确定主备网关仲裁系统的主仲裁服务器;
296.第八发送子单元,用于根据主仲裁服务器的确定结果向主备网关仲裁系统中备用仲裁服务器发送对应的主备仲裁服务器切换指令。
297.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
298.根据上述描述可知,本技术实施例提供的设备网关的主备切换装置,通过获取单元301获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,第一仲裁请求包含备用设备网关的主备优先级数据;第一发送单元302根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收单元303接收当前主设备网关基于状态检测信息返回的设备网关状态信息;处理单元304当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;第二发送单元305根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
299.以此,本技术提供的设备网关的主备切换方法,在设备网关集群中备用设备网关基于对主设备网关的心跳检测发现主设备网关异常时,便会向主备网关仲裁系统请求仲裁,主备网关仲裁系统可以直接对主设备网关进行状态检测,当检测到主设备网关确定异常时便可以直接在备用设备网关中重新确定新的主设备网关进行切换。相对于现有技术中需对主设备网关进行多次下线确认,该方法可以大大提升设备网关的主备切换效率,进而可以保证设备网关的高可用性。
300.本技术实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,如图14所示,为本技术提供的计算机设备的结构示意图。具体来讲:
301.该计算机设备可以包括一个或者一个以上处理核心的处理单元401、一个或一个以上存储介质的存储单元402、电源模块403和输入模块404等部件。本领域技术人员可以理解,图14中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
302.处理单元401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储单元402内的软件程序和/或模块,以及调用存储在存储单元402内的数据,执行计算机设备的各种功能和处理数据。可选的,处理单元401可包括一个或多个处理核心;优选的,处理单元401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、对象界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理单元401中。
303.存储单元402可用于存储软件程序以及模块,处理单元401通过运行存储在存储单元402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储单元402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能以及网页访问等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储单元402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器
件。相应地,存储单元402还可以包括存储器控制器,以提供处理单元401对存储单元402的访问。
304.计算机设备还包括给各个部件供电的电源模块403,优选的,电源模块403可以通过电源管理系统与处理单元401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源模块403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
305.该计算机设备还可包括输入模块404,该输入模块404可用于接收输入的数字或字符信息,以及产生与对象设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
306.尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理单元401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储单元402中,并由处理单元401来运行存储在存储单元402中的应用程序,从而实现各种功能,如下:
307.获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,第一仲裁请求包含备用设备网关的主备优先级数据;根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收当前主设备网关基于状态检测信息返回的设备网关状态信息;当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
308.应当说明的是,本技术实施例提供的计算机设备与上文实施例中的方法属于同一构思,以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
309.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
310.为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种方法中的步骤。例如,该指令可以执行如下步骤:
311.获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,第一仲裁请求包含备用设备网关的主备优先级数据;根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收当前主设备网关基于状态检测信息返回的设备网关状态信息;当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令,主备切换指令指示设备网关需要切换到的主备状态。
312.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
313.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
314.由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任
一种方法中的步骤,因此,可以实现本发明实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
315.其中,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述设备网关的主备切换方法中各种可选实现方式中提供的方法。
316.以上对本发明实施例所提供的设备网关的主备切换方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种设备网关的主备切换方法,其特征在于,所述方法由主备网关仲裁系统中的仲裁服务器执行,所述方法包括:获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,所述第一仲裁请求包含所述备用设备网关的主备优先级数据;根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息;接收所述当前主设备网关基于所述状态检测信息返回的设备网关状态信息;当根据所述设备网关状态信息确定所述当前主设备网关异常时,根据所述备用设备网关的主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当接收到所述设备网关集群中备用设备网关发送的第二仲裁请求时,获取所述备用设备网关的主备优先级数据;当所述备用设备网关的主备优先级数据指示的优先级为预设优先级时,向所述备用设备网关发送用于切换为主设备网关的主网关切换指令,以及向所述当前主设备网关发送用于切换为备用设备网关的备用网关切换指令。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当获取到所述设备网关集群中每个设备网关发送的主备状态信息时,基于所述主备状态信息对所述设备网关集群中的设备网关进行主备网关识别处理;当识别到所述设备网关集群中包含多个主设备网关时,基于每一主设备网关的主备优先级数据对所述多个主设备网关进行主备仲裁处理,得到第二仲裁结果;根据所述第二仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令。4.根据权利要求3所述的方法,其特征在于,所述基于每一主设备网关的主备优先级数据对所述多个主设备网关进行主备仲裁处理,得到第二仲裁结果,包括:获取所述设备网关集群中每一主设备网关发送的主备优先级数据;根据所述主备优先级数据从所述多个主设备网关中选择主备优先级满足主设备网关条件的目标主设备网关;所述根据所述第二仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,包括:向所述目标主设备网关发送用于保持主设备网关的主网关切换指令,以及向所述设备网关集群中除所述目标主设备网关之外的主设备网关发送用于切换为备用设备网关的备用网关切换指令。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息,包括:根据所述第一仲裁请求生成状态检测信息;基于预先构建的双向流模式连接向所述设备网关集群中当前主设备网关发送所述状态检测信息。6.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述备用设备网关的
主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果,包括:根据所述备用设备网关的主备优先级数据确定备用设备网关中主备优先级满足主设备网关条件的备用设备网关为目标备用设备网关;所述根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态,包括:向所述目标备用设备网关发送切换为主设备网关的主网关切换指令,以及向所述当前主设备网关发送切换为备用设备网关的备用网关切换指令。7.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态,包括:向所述主备网关仲裁系统中目标仲裁服务器发送仲裁结果验证请求,所述仲裁结果验证请求包括验证信息,所述验证信息包括所述备用设备网关的主备优先级数据、所述当前主设备网关的身份信息以及所述第一仲裁结果;接收所述目标仲裁服务器基于所述验证信息返回的验证结果;当所述验证结果指示所述第一仲裁结果验证通过时,向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。8.根据权利要求1-4中任一项所述的方法,其特征在于,所述第一仲裁请求还包括所述备用设备网关的存储空间信息;所述当根据所述设备网关状态信息确定所述当前主设备网关异常时,根据所述备用设备网关的主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果,包括:根据所述主备优先级数据从所述多个主设备网关中确定主备优先级符合预设主网关条件的至少一个候选主设备网关;根据所述候选主设备网关的存储空间信息对所述至少一个候选主设备网关进行主备仲裁处理,得到第一仲裁结果。9.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:基于预先构建的双向流模式连接周期性地接收所述设备网关集群中当前主设备网关发送的心跳报文;根据当前主设备网关发送的心跳报文对当前主设备网关进行异常检测;所述根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息,包括:当检测到当前主设备网关未发生异常时,根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息。10.根据权利要求1-4中任一项所述的方法,其特征在于,所述主备网关仲裁系统包括主仲裁服务器以及至少一个备用仲裁服务器,所述方法由备用仲裁服务器执行,所述方法还包括:向所述主备网关仲裁系统中主仲裁服务器发送所述第一仲裁请求;接收所述主仲裁服务器基于所述第一仲裁请求返回的仲裁参考结果;根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指
令,包括:根据所述仲裁参考结果对所述第一仲裁结果进行验证;当所述第一仲裁结果验证通过时,根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:当检测到所述主仲裁服务器状态异常时,从所述至少一个备用仲裁服务器中选举主仲裁服务器,得到第一选举结果,并向所述主备网关仲裁系统中除自身以外的其余备用仲裁服务器广播主仲裁服务器选举请求;接收所述其余备用仲裁服务器基于所述主仲裁服务器选举请求返回的第二选举结果;根据所述第一选举结果和所述第二选举结果确定所述主备网关仲裁系统的主仲裁服务器;根据主仲裁服务器的确定结果向所述主备网关仲裁系统中备用仲裁服务器发送对应的主备仲裁服务器切换指令。12.一种设备网关的主备切换装置,其特征在于,所述装置应用于主备网关仲裁系统中的仲裁服务器,所述装置包括:获取单元,获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求,所述第一仲裁请求包含所述备用设备网关的主备优先级数据;第一发送单元,用于根据所述第一仲裁请求向所述设备网关集群中当前主设备网关发送状态检测信息;接收单元,用于接收所述当前主设备网关基于所述状态检测信息返回的设备网关状态信息;处理单元,用于当根据所述设备网关状态信息确定所述当前主设备网关异常时,根据所述备用设备网关的主备优先级数据对所述备用设备网关进行主备仲裁处理,得到第一仲裁结果;第二发送单元,用于根据所述第一仲裁结果向所述设备网关集群中每个设备网关发送对应的主备切换指令,所述主备切换指令指示所述设备网关需要切换到的主备状态。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至11中任一项所述的设备网关的主备切换方法中的步骤。14.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的设备网关的主备切换方法中的步骤。15.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至11中任一项所述的设备网关的主备切换方法中的步骤。
技术总结
本申请公开了一种设备网关的主备切换方法、装置及计算机可读存储介质,方法由主备网关仲裁系统中的仲裁服务器执行,方法通过获取设备网关集群中至少一个备用设备网关发送的第一仲裁请求;根据第一仲裁请求向设备网关集群中当前主设备网关发送状态检测信息;接收当前主设备网关基于状态检测信息返回的设备网关状态信息;当根据设备网关状态信息确定当前主设备网关异常时,根据备用设备网关的主备优先级数据对备用设备网关进行主备仲裁处理,得到第一仲裁结果;根据第一仲裁结果向设备网关集群中每个设备网关发送对应的主备切换指令。该方法可以大大提升设备网关的主备切换效率。该方法可以大大提升设备网关的主备切换效率。该方法可以大大提升设备网关的主备切换效率。
技术研发人员:杨宽宽 黄朝晖 艾义 蔡昌俊 王迪军 段帅 赖文海 陆桥 严欣 李漾 石芳铭 彭伟泽 何志平
受保护的技术使用者:广州地铁集团有限公司
技术研发日:2022.09.30
技术公布日:2023/9/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:显示屏亮度调节方法及电子设备与流程 下一篇:一种备忘录存储方法及电子设备与流程