[发明专利]一种SCADA分布式平台下的心跳检测方法在审
| 申请号: | 201410670549.1 | 申请日: | 2014-11-20 |
| 公开(公告)号: | CN104320311A | 公开(公告)日: | 2015-01-28 |
| 发明(设计)人: | 李佑文;包德梅;刘志超;颜儒彬;曹黎明;罗存;褚红健;岳以洋 | 申请(专利权)人: | 国电南京自动化股份有限公司 |
| 主分类号: | H04L12/26 | 分类号: | H04L12/26 |
| 代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林;许婉静 |
| 地址: | 210009 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 scada 分布式 平台 心跳 检测 方法 | ||
技术领域
本发明涉及一种SCADA分布式平台下的心跳检测方法,属于SCADA系统检测技术领域。
背景技术
SCADA系统即数据采集与监视控制系统,可广泛应用于电力系统、水利监控系统、石油、化工、轨道交通等行业的数据采集与监视控制以及过程控制等诸多领域。SCADA系统是以计算机为基础的生产过程控制与调度自动化系统。它可以对各类运行环境、多种运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节、各类信号报警、历史数据存储等各项功能。
在大型分布式SCADA监控系统中,业务处理十分复杂,其安全性和可靠性是系统设计中的关键问题。随着分布式系统的规模不断扩大,系统中各个部分组件相互之间的依赖也不断复杂,在整个SCADA分布式系统中存在着由多台服务器和工作站组成的机群,这些服务器和工作站通过软硬件结合在一起,使它们提供的服务具备冗余容错功能,各个节点都需要相互监视服务程序的运行并及时沟通和协作,所以需要使用故障检测手段来检测各个节点的运行状况。
在服务器故障检测方法中,心跳检测算法是高可用分布式集群所使用的重要技术之一,能够较好地提高系统的可用性,网络中的各个节点在相互间定期使用数据包进行交换数据报消息,从而能够周期性地检测所有节点机器的工作状态,这些用于检测状态的消息就是心跳。通过心跳通讯,每个节点可以检查其它节点以及它们的应用程序的可用性,当某个节点机器的工作状态变化时,其它节点就能够通过心跳包是否正常来获取该节点机器的状态,如果节点服务器没有对心跳通讯做出响应,则正常工作的服务器会启动故障转移过程,包括对故障服务器拥有的资源和应用程序的所有权进行仲裁,仲裁是使用质询和辩护协议来执行的,即如果某个节点似乎发生了故障,则会在给定的时间内允许它以其它几种方式中的任何一种表明它仍处于正常运行当中,并且可以同其它正常的节点通讯,如果其它方式都不能证明该节点仍然在正常运行,则需要通知该节点的备用节点来接管其服务。
在典型的分布式SCADA监控系统中,子站和中心站都存在着至少两台以上的服务器,这些服务器之间可以心跳技术来获取其他服务器节点的状态信息。心跳机制在网络周期性地向所有服务器或工作站发送心跳包,用来判断节点是否“存活”,如果在一定的时间内,没有收到其他节点的心跳信息,就可以认为节点发生故障,进而开始对可能发生故障的节点进行全面测试,若节点无法通过测试,则认为节点宕机,交由备用节点接管,并给出报警信息,从而提高整个系统的可靠性。
发明内容
针对现有技术中存在的问题,本发明提供了一种SCADA分布式平台下的心跳检测方法。
一种SCADA分布式平台下的心跳检测方法,包括以下步骤:
1)在SCADA分布式系统中的每个节点设计一个心跳检测服务进程,并在心跳检测服务进程中建立心跳发送线程和心跳接收线程;
2)某节点的心跳发送线程向目标节点服务器发送心跳数据包,首先判断本节点针对目标节点的心跳最大丢失次数是否大于3,如果是,则判断目标节点服务器失效;否则,发送一次心跳数据包;
3)目标节点的心跳接收线程接收心跳数据包,并判断是否超时,如果是则将本节点针对目标节点的心跳最大丢失次数加1;否则,将本节点针对目标节点的心跳最大丢失次数置零,并回复正常收到心跳数据。
前述的步骤2)中,心跳发送线程每隔5秒钟发送一次心跳数据包。
前述的步骤3)中,超时是指对于每个心跳路径,超过心跳间隔乘以最大丢失次数仍没有收到心跳信息包时,心跳超时。
前述的步骤2),步骤3)中,心跳数据包的心跳信息包括主机信息,网卡、资源组、资源信息。
前述的按照心跳数据传播路径优先级发送命令,先通过优先级最高的心跳数据传播路径发送心跳命令,当心跳数据传播路径超时再通过优先级低的心跳数据传播路径发送。
前述的心跳数据包的发送和接收过程中,增加心跳CRC校验和判断,如果出现心跳数据异常,视为心跳丢失一次处理,将心跳最大丢失次数加1,写入日志。
前述的心跳数据包的发送方式包括传输控制协议TCP和数据报协议UDP两种方式。
前述的SCADA分布式多节点平台中,如果节点间有频繁的控制命令,则心跳发送线程停止发送心跳数据包,心跳接收线程停止回复心跳命令,而使用命令包替代心跳数据包来检测节点的状态,频繁控制命令操作结束后,心跳发送线程恢复发送心跳数据包,心跳接收线程恢复回复心跳命令,继续检测节点状态;所述频繁的控制命令定义超过20次/分钟的控制命令操作次数为频繁。
本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国电南京自动化股份有限公司,未经国电南京自动化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410670549.1/2.html,转载请声明来源钻瓜专利网。





