一种多网冗余的分层分布式可编程容错仲裁服务系统的制作方法

文档序号:35454952发布日期:2023-09-14 16:56阅读:39来源:国知局
一种多网冗余的分层分布式可编程容错仲裁服务系统的制作方法

本发明涉及工业控制系统领域,具体来说,涉及一种多网冗余的分层分布式可编程容错仲裁服务系统。


背景技术:

1、目前,国内外现有系统的冗余一般采用主备模式,通过应用本身通讯实现各自的主备切换,这种方式通用性差,应用开发存在大量重复工作。也有使用通用的第三方公共服务实现应用的主备选举,选举时间较长,需要至少3个节点才能选举且无法定制应用特有的选举策略,一般只适用于单网的网络环境,对分布式节点的对时要求高度一致。对于工业控制领域要求的双网或多网冗余、分层分布式的运行环境且系统对时会偶发异常,各个应用异常后需要的秒级容错,无法满足新一代自动化系统的要求。

2、中国授权发明公开号cn112737844a公开了一种冗余系统中主备切换的方法和装置,应用于第一服务器,方法包括:当主备状态为备用状态,且需要执行主备切换时,将第一服务器的主备状态设置为主用状态;判断第一服务器的ip地址是否为主用ip地址;若不是主用ip地址,进入切换准备模式,在该模式下丢弃收到网络数据包;将第一服务器的ip地址配置为地址协议栈中记录的主用ip地址,退出切换准备模式,与访问主用ip地址的客户端交互。通过重置切换至主用状态服务器的ip地址,每个服务器都以主用ip地址和客户端交互,发生主备切换后,客户端可以继续访问主用ip地址,无需重新查找并指定新ip地址,从而解决主备切换导致的数据交互效率降低问题。

3、中国授权发明公开号cn112506633a公开了一种多机冗余系统及处理方法,所述处理方法包括:步骤1:将所有装置分别与外部的各个子系统建立通信连接;步骤2:将所有装置均通过各个接口应用进程与对应的子系统建立通信连接;步骤3:具有主接口应用进程所在的装置记为活跃装置,其余装置记为睡眠装置;步骤4:检测活跃装置与各个子系统通信是否正常,若是,则继续保持当前状态,若否,则进行切换操作,得到新的主接口应用进程和辅接口应用进程;步骤5:重复步骤3和步骤4,不断进行采集子系统的设备信息,直至采集结束。本发明能够有效提高冗余机的可靠性和高可用性,以及方便软件升级。

4、然而,上述第一个技术方案存在以下缺陷:该方法通过重置修改第一服务器的ip地址为主用ip地址的方式实现主备切换,客户端使用主用ip地址与第一服务器通讯。在服务器切换期间会服务器会丢失客户端的网络数据。切换时采用服务器整体切换的模式,第二服务器开机且处于闲置状态,造成计算资源的浪费。服务器的切换采用修改ip地址的方式实现,当服务器出现ip地址更换失败时,会出现系统不可用的情况。且该技术方案未考虑双网或多网络的情况,导致系统可靠性降低。

5、第二个技术方案存在以下缺陷:该方法主要描述了通过活跃装置检测各个子系统的通讯状态,并发送切换命令往服务器,通过服务器实现接口处理机中的接口应用进程的主备切换。该方式避免了第一个技术方案中的接口处理机的整体切换,却忽视了系统的故障瓶颈。当系统中服务器故障或服务器与接口处理机通讯中断时,该接口处理机中的应用进程将无法切换,导致系统整体不可用。

6、针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现思路

1、针对相关技术中的问题,本发明提出一种多网冗余的分层分布式可编程容错仲裁服务系统,主要是用来解决分布式应用中经常遇到的一些多节点间的应用的容错问题。系统支持分层部署,上下层网络互通时,所有节点作为一个系统运行。上下层网络中断时,本层及其下层子系统独立运行,不影响本层及其下层子系统的所有服务独立运行。上下层网络恢复时,本层网络与上层网络快速交换断面,恢复到中断前的一个系统运行。系统中的仲裁服务使用一主多备部署,使用基于运行状态的不同权重和静态优先级相结合的在线可编程逻辑容错策略快速选举出服务仲裁者。系统中唯一仲裁服务主节点负责网络中其他应用进程的主节点或主线程的主备选举,支持应用服务一主多备的部署,支持主备无损切换。支持各节点时钟不一致或时钟跳变情况下功能不受影响。本系统可以适用于大型配网、调度、轨道综控等自动化系统中,统一解决这些自动化系统中的应用冗余切换、应用管理问题,从而可以有效地克服现有相关技术所存在的上述技术问题。

2、为此,本发明采用的具体技术方案如下:

3、一种多网冗余的分层分布式可编程容错仲裁服务系统,该系统包括仲裁服务进程和仲裁服务接口;

4、仲裁服务进程,用于提供功能服务,并根据角色的不同运行对应的模块;

5、仲裁服务接口,用于实现应用进程与仲裁服务节点的交互,发送应用进程的认证消息,接收应用进程的主备节点信息和其他交互信息,确定本应用的主节点和应用间交互的内容。

6、进一步的,仲裁服务进程包括配置更新模块、应用主备选举模块、仲裁服务主备选举模块、过期消息处理模块、实时库、多网冗余消息处理模块、时间跳变消息处理模块、消息接收模块及消息发送模块;

7、配置更新模块,用于负责在线监测节点的配置文件和可编程逻辑文件的变更;

8、应用主备选举模块,用于利用配置的选举逻辑在若干节点上选举应用进程的主备节点;

9、仲裁服务主备选举模块,用于利用配置的选举逻辑从若干节点中选举出仲裁服务的主节点,并将该信息存入实时库;

10、过期消息处理模块,用于检索实时库中带时限的消息,并在消息过期时将其从实时库中删除,同时通知订阅该消息的节点;

11、实时库,用于存储系统中的各种节点状态、各个应用的主备信息及各个应用分布式存储的其他自定义信息,并提供状态的查询功能;

12、多网冗余消息处理模块,用于从多个网络接收其他节点发送的消息,负责对消息去重,并根据消息类型路由到其他处理模块,还用于与实时库相配合实现仲裁服务的无损切换和应用进程的无损切换;

13、时间跳变消息处理模块,用于检查本节点是否发生时间跳变,并在主节点直接记录时间跳变信息,在备节点记录跳变信息的同时处理从主节点接收的消息时标的转换,确保主备切换时带时效消息的正确处理;

14、消息接收模块,用于从多个网段订阅其他节点发送的消息,记录日志并发送给多网冗余消息处理模块进行进一步的处理;

15、消息发送模块,用于将多网冗余消息处理模块发送的消息可靠的发送给订阅该消息的节点。

16、进一步的,该系统支持分层部署,在双网或多网环境下,上下层任一网络连通时,所有节点作为一个系统运行,上下层网络全部中断时,本层子系统独立运行,上下层网络恢复时,本层网络与上层网络快速交换断面,恢复到中断前的一个系统运行。

17、进一步的,仲裁服务进程收到节点配置变化后实时处理并生效,若可编程逻辑文件的变更且节点角色是主节点或备节点,则收到通知后进行主备选举逻辑的变更。

18、进一步的,配置的选举逻辑根据节点运行状态和静态优先级进行在线可编程逻辑选举;

19、其中,仲裁服务主节点的选举和应用服务的主备选举根据节点的cpu利用率、内存利用率、若干网络的通讯状态及若干网络通讯速率的运行状态的不同权重和瞬时静态优先级相结合的复合容错策略来实现。

20、进一步的,根据消息类型路由到其他处理模块包括:

21、判断消息的类型,若为认证类消息则发送给应用主备选举模块,若为普通消息则存储入实时库,若为带时限的消息则进行时间跳变消息处理后存储入实时库。

22、进一步的,仲裁服务的无损切换包括:

23、仲裁服务的备节点通过消息接收模块同时接收其他应用和仲裁服务主节点发送的带识别码的同一消息;

24、当仲裁服务的备节点收到其他应用发布的消息时,则将该消息缓存入本节点的实时库并打上发送源标记和主节点未处理标记;

25、当仲裁服务的备节点随后收到主节点转发的该消息时,则在该消息上打上已由主节点处理的标记;

26、仲裁服务的备节点若只接收到应用发送的消息而未接收到主节点转发的该消息,且此时仲裁服务的主节点异常而备节点切换为主节点时,则继续处理带未处理标记的消息,处理后发布到其他应用,从而实现仲裁服务的无损切换。

27、进一步的,应用进程的无损切换包括:

28、应用进程的主节点通过仲裁服务接口发送已处理的消息,该消息通过仲裁服务主节点的消息接收模块接收后,发送给所有该应用进程的备节点;

29、应用进程的备节点通过接收该消息明确主节点的消息处理进度,从而在发生主备切换时无损继续消息的处理。

30、进一步的,经过主备节点切换后,备节点的所有带时效消息即具备本机的单调时钟,与绝对时间无关,从而实现仲裁主备节点切换时的带时效消息处理与绝对时间无关。

31、进一步的,时间跳变消息处理模块在检查本节点是否发生时间跳变,并在主节点直接记录时间跳变信息,在备节点记录跳变信息的同时处理从主节点接收的消息时标的转换,确保主备切换时带时效消息的正确处理时包括:

32、仲裁服务主节点在接收到其他节点中应用的认证信息后利用单调时间对该消息设置本机失效时标;

33、仲裁服务备节点启动后从主节点同步各个应用的认证信息断面,同时接收到主节点的实时转发的其他节点上应用的认证信息后,利用单调时间对该消息设置本机失效时标,备节点同时记录主节点和本机的单调时间差;

34、当备节点启动时从主节点拉取消息断面,且该断面未包含备节点本身的单调时间,当备节点从主节点接收断面信息时,从该断面消息中提取主节点的单调时间,并与本身的单调时间比较计算出单调时间差,为每个断面消息写入本机的单调时间;

35、当仲裁服务主节点失效时,备用仲裁服务节点立刻接管,使得绝对时间的跳变不对本机的消息是否失效的判断产生影响,实现对节点时钟跳变免疫。

36、本发明的有益效果为:本发明设计了一种多网冗余的分层分布式可编程容错仲裁服务系统,可以在支持分层分布式网络架构情况下提供了多网冗余的容错仲裁服务,支持仲裁服务与容错应用间的网络交叉故障。仲裁服务支持自身的主备无损切换和其他分布式节点中的容错应用的无损切换,支持切换逻辑在线可编程并实时生效,可以系统运行过程中在线调整仲裁策略,不断迭代而确定最优的选举策略。并且本系统支持无对时或时钟跳变环境下的正常运行,避免了对授时系统的依赖,极大提高了自动化系统的可靠性和可用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1