论文部分内容阅读
随着网络技术以及数字通讯技术的迅速发展,工业自动化领域发生了巨大的变化,逐渐形成了自动化领域的开放系统和互联的通讯网络。在分布式控制系统中,软件技术是一个重要的组成部分。组态软件是近年来工控领域十分活跃的部分,它的出现并兴起为工控软件的设计注入了新的活力。组态软件解决了传统控制系统软件封闭的模式,增强了软件的通用性,在实际应用的工程中不用再进行大量的重复性编程工作,提高了软件的复用率。本文以组态软件为背景,分析了当前组态软件在应用中的不足。针对组态软件中组态文件一致性的具体应用需求,借鉴集群系统结构的灵活性与可扩放性,以及分布式事务处理中的两阶段提交协议,提出了一个基于集群系统的组态文件分布式锁。文章主要解决了两个问题:1:HMI(Human Machine Interface,简称HMI)集群结构的动态管理和维护。2:组态文件分布式锁的实现形式及交互规程,即分布式锁协议。该分布式锁协议具有实时性,非阻塞及可持久等特点。目前此系统已应用于某组态软件。对于第一个问题,本文首先描述了组态软件的概念及其发展,探讨了常用组态软件的软件结构,特点及设计思想,并在此基础上得到了HMI集群的具体需求。然后结合集群及心跳检测的基本原理,设计了集群系统的动态管理和维护协议,包括集群的启动及节点上线协议,节点离线和退出协议等集群节点的正常动态管理协议。以及考虑到集群中节点的异常情况,设计了节点状态查询协议和自举协议,实现了心跳检测机制及主节点的选举方法。对于本文另一个重要问题,即分布式锁的研究与实现。首先分析了该系统中分布式锁的具体需求,并在此基础上设计了此分布式锁的语义和具体实现形式,最后根据两阶段提交协议,以算法的形式给出了分布式锁的交互规程。并解决了可能出现的网络阻塞问题。在最后,对本系统的性能进行了简要分析,并给出了实际的测试结果,说明本解决方案能够达到实际应用目标。