多地域自动化设备接入、状态同步与故障恢复方法及系统与流程

摘要: 本技术涉及分布式自动化设备控制,具体涉及一种面向多地域自动化设备的分布式接入、状态同步与故障恢复方法及系统。此外,本发明还涉及实现前述方法的电子设备和计算机可读...
多地域自动化设备接入、状态同步与故障恢复方法及系统与流程

本技术涉及分布式自动化设备控制,具体涉及一种面向多地域自动化设备的分布式接入、状态同步与故障恢复方法及系统。此外,本发明还涉及实现前述方法的电子设备和计算机可读存储介质。

背景技术:

1、跨地域自动化控制是指利用云计算、物联网(iot)及边缘计算技术,打破物理空间与网络段限制,实现对分布在不同城市、办公地点或部署地点的设备、资源及业务进行统一管控、智能联动与自动协同的技术体系。其核心目标是解决传统本地化管控的“数据孤岛”与“响应滞后”问题,实现全域资源的‌无缝协同‌与‌高效运行‌。

2、在跨地域自动化控制场景中,控制服务端通常需要同时管理部署在不同办公地点、机房或边缘网络中的代理节点,并通过代理节点进一步控制手机、浏览器容器、串口控制器、虚拟设备或其他自动化终端。由于代理节点和设备处于不同网络环境,往往存在网络地址转换、动态端口、临时断网、路由切换、操作系统重启以及外部程序重新分配本地端点等情况。

3、现有技术常将代理节点当前ip地址、端口或进程会话作为设备控制地址,并通过简单心跳判断在线状态。当代理节点重启或设备被重新枚举后,原设备可能获得新的本地端口或进程标识,控制服务端难以判断新发现对象是否为原设备,容易形成重复设备记录、任务目标漂移或控制命令发送至陈旧端点。另一方面,在网络抖动时,旧连接和新连接可能短时间并存,若缺少连接代际和围栏机制,陈旧连接仍可能继续上报状态或执行延迟命令。

4、此外,现有状态同步方案普遍采用定时全量上报或简单覆盖。全量上报会在设备数量较多时产生较大的网络与数据库压力,简单覆盖又无法识别状态版本倒退和离线期间的状态缺口。控制命令在超时重试时也可能被重复执行,特别是启动应用、修改设备配置或执行外部动作等非天然幂等操作,重复执行会破坏设备状态和任务一致性。

技术实现思路

1、为了解决现有技术中存在的以动态网络地址或临时端点直接标识设备导致设备身份漂移、陈旧连接并发、状态缺口以及控制命令重复执行的问题,本技术提供一种面向多地域自动化设备的分布式接入、状态同步与故障恢复方法及系统。

2、在第一方面中,本技术提供一种分布式接入、状态同步与故障恢复方法。

3、所述方法包括:由部署于不同地域的地域代理节点发现自动化设备,基于设备稳定属性生成物理特征摘要,根据所述物理特征摘要为所述自动化设备分配或继承逻辑设备标识,并建立所述逻辑设备标识与当前物理通信端点之间的端点映射关系,以及维护用于表示所述物理通信端点变化状态的端点代际号。

4、所述地域代理节点向控制服务端主动发起持久连接,经身份认证后,由所述控制服务端为所述地域代理节点签发连接纪元和连接租约,并通过心跳机制维持所述连接租约。

5、所述地域代理节点侧分别维护设备期望状态、设备观测状态和本地状态日志,将设备状态变化写入具有本地版本号的所述本地状态日志,并向所述控制服务端发送状态增量;由所述控制服务端周期性下发状态摘要校验信息,并在所述状态摘要不一致时,根据已确认版本号确定需要补传的状态日志版本区间,触发对应版本区间的差异日志补传;当所述差异日志无法用于状态修复时,触发完整状态快照修复。

6、所述控制服务端生成控制命令,所述控制命令包含命令标识、目标逻辑设备标识、目标端点代际号、执行期限及围栏令牌;所述地域代理节点将所述目标逻辑设备标识解析为当前物理通信端点,在校验所述连接纪元、目标端点代际号及围栏令牌后,幂等执行所述控制命令,并向所述控制服务端反馈执行阶段回执和执行结果摘要。

7、当发生网络中断、地域代理节点重启或物理通信端点变化时,所述地域代理节点重新发现所述自动化设备,根据所述物理特征摘要识别并继承对应的逻辑设备标识;在所述物理通信端点发生变化时递增对应的端点代际号;恢复连接租约,并回放所述本地状态日志中的未确认记录,以完成设备连接和任务状态的故障恢复。

8、优选地,所述地域代理节点针对其所连接的每一自动化设备维护连接状态机,所述连接状态机用于表征并管理所述自动化设备的连接生命周期,至少包括离线状态、发现状态、连接状态、认证状态、就绪状态、降级状态、恢复状态和隔离状态。

9、优选地,当不能获取完整稳定属性时,基于已获取的稳定属性和最近一次绑定记录计算候选相似度;当候选相似度高于设定阈值且不存在逻辑设备标识冲突时,继承原逻辑设备标识;当候选相似度低于或等于设定阈值或者存在逻辑设备标识冲突时,不继承原逻辑设备标识,并将所述自动化设备置于待确认状态。

10、优选地,对首次接收且校验通过的控制命令,通过条件更新或事务将所述控制命令的执行状态由已接收状态原子转换为执行中状态,并在控制命令执行过程中,将用于表征当前执行阶段的执行检查点持久化记录于命令执行表中;对于重复接收的控制命令,不重复执行对应的外部控制动作,并根据所述控制命令当前的执行状态,向所述控制服务端反馈已持久化的执行阶段回执或执行结果摘要。

11、优选地,当所述自动化设备对应的连接状态机处于降级状态时,根据控制命令的类别对所述控制命令进行分类处理。

12、在第二方面中,本技术提供一种分布式接入、状态同步与故障恢复系统,包括控制服务端、至少一个地域代理节点以及连接于所述地域代理节点的至少一个自动化设备,所述自动化设备通过设备适配器与地域代理节点通信;其中,控制服务端包括连接纪元管理模块、租约管理模块、状态汇聚与摘要校验模块、控制命令模块及围栏令牌模块,其功能是负责连接纪元、连接租约、状态汇聚、命令编排和围栏令牌管理;地域代理节点包括设备发现模块、逻辑身份绑定模块、端点解析模块、连接租约模块、状态日志模块、命令幂等模块及故障恢复模块,其功能是负责设备发现、逻辑身份绑定、端点解析、本地日志、命令执行和故障恢复。

13、与现有技术相比,本技术至少具有以下有益效果:

14、(1)通过将逻辑设备标识与物理通信端点解耦,并利用物理特征摘要和端点代际号维护设备身份及端点映射关系,使自动化设备在本地通信端口变化、地域代理节点重启或重新接入后仍能够保持稳定的逻辑身份,降低因物理端点变化导致设备身份漂移和控制目标错误的问题。

15、(2)通过地域代理节点主动向控制服务端建立持久连接,并结合连接纪元、连接租约和围栏令牌进行有效性校验,使部署于不同地域、不同局域网环境中的自动化设备能够通过地域代理节点接受统一管理,同时降低旧连接或失效连接继续修改设备状态或者执行控制命令的风险。

16、(3)通过设备期望状态、设备观测状态、本地状态日志、状态增量以及状态摘要校验相结合的状态同步机制,在网络中断或者地域代理节点暂时离线后,可以根据版本信息补传缺失的状态日志,并在差异日志无法完成修复时采用完整状态快照恢复,从而提高控制服务端与地域代理节点之间设备状态同步的完整性和故障恢复能力。

17、(4)通过逻辑设备标识、端点代际号、连接纪元和围栏令牌对控制命令进行校验,并采用幂等执行机制,使重复下发、延迟到达或者针对旧通信端点产生的控制命令不会重复触发或者错误作用于当前自动化设备,提高分布式环境下控制命令执行的可靠性。

18、(5)通过持久化控制命令的执行阶段和执行结果,在发生网络超时、重复下发或者地域代理节点重启时,可以识别控制命令已有的执行状态,避免相同控制命令重复触发外部设备动作,并提高任务执行状态恢复和追踪能力。

19、(6)通过地域代理节点针对自动化设备维护连接状态机,并针对就绪、降级、恢复和隔离等不同连接状态实施相应的控制策略,使设备发生局部连接异常时能够进行分级处理,而无需将所有异常统一作为设备完全离线处理,从而提高多地域自动化设备接入系统的连续运行能力和异常处理能力。