一种SCADA分布式平台下的心跳检测方法技术

技术编号:10970651 阅读:244 留言:0更新日期:2015-01-30 00:00
本发明专利技术公开了一种SCADA分布式平台下的心跳检测方法,使用心跳发送线程和接收线程来配合进行故障检测,发送线程向目标节点发送心跳,并通过判断心跳最大丢失次数来检测节点的状态;而接收线程用于接收心跳,并在正常接收到心跳后进行回复,否则将心跳最大丢失次数加1。在网络状态繁忙的情况下,暂停心跳发送线程和接收线程,使用命令包替代心跳来检测节点的状态,可以节省网络资源。本发明专利技术可以极大地提高系统的可用性,减小节点故障的误判率。

【技术实现步骤摘要】
—种SCADA分布式平台下的心跳检测方法
本专利技术涉及一种SCADA分布式平台下的心跳检测方法,属于SCADA系统检测

技术介绍
SCADA系统即数据采集与监视控制系统,可广泛应用于电力系统、水利监控系统、石油、化工、轨道交通等行业的数据采集与监视控制以及过程控制等诸多领域。SCADA系统是以计算机为基础的生产过程控制与调度自动化系统。它可以对各类运行环境、多种运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节、各类信号报警、历史数据存储等各项功能。 在大型分布式SCADA监控系统中,业务处理十分复杂,其安全性和可靠性是系统设计中的关键问题。随着分布式系统的规模不断扩大,系统中各个部分组件相互之间的依赖也不断复杂,在整个SCADA分布式系统中存在着由多台服务器和工作站组成的机群,这些服务器和工作站通过软硬件结合在一起,使它们提供的服务具备冗余容错功能,各个节点都需要相互监视服务程序的运行并及时沟通和协作,所以需要使用故障检测手段来检测各个节点的运行状况。 在服务器故障检测方法中,心跳检测算法是高可用分布式集群所使用的重要技术之一,能够较好地提高系统的可用性,网络中的各个节点在相互间定期使用数据包进行交换数据报消息,从而能够周期性地检测所有节点机器的工作状态,这些用于检测状态的消息就是心跳。通过心跳通讯,每个节点可以检查其它节点以及它们的应用程序的可用性,当某个节点机器的工作状态变化时,其它节点就能够通过心跳包是否正常来获取该节点机器的状态,如果节点服务器没有对心跳通讯做出响应,则正常工作的服务器会启动故障转移过程,包括对故障服务器拥有的资源和应用程序的所有权进行仲裁,仲裁是使用质询和辩护协议来执行的,即如果某个节点似乎发生了故障,则会在给定的时间内允许它以其它几种方式中的任何一种表明它仍处于正常运行当中,并且可以同其它正常的节点通讯,如果其它方式都不能证明该节点仍然在正常运行,则需要通知该节点的备用节点来接管其服务。 在典型的分布式SCADA监控系统中,子站和中心站都存在着至少两台以上的服务器,这些服务器之间可以心跳技术来获取其他服务器节点的状态信息。心跳机制在网络周期性地向所有服务器或工作站发送心跳包,用来判断节点是否“存活”,如果在一定的时间内,没有收到其他节点的心跳信息,就可以认为节点发生故障,进而开始对可能发生故障的节点进行全面测试,若节点无法通过测试,则认为节点宕机,交由备用节点接管,并给出报警信息,从而提高整个系统的可靠性。
技术实现思路
针对现有技术中存在的问题,本专利技术提供了一种SCADA分布式平台下的心跳检测方法。 —种SCADA分布式平台下的心跳检测方法,包括以下步骤:1)在SCADA分布式系统中的每个节点设计一个心跳检测服务进程,并在心跳检测服务进程中建立心跳发送线程和心跳接收线程;2)某节点的心跳发送线程向目标节点服务器发送心跳数据包,首先判断本节点针对目标节点的心跳最大丢失次数是否大于3,如果是,则判断目标节点服务器失效;否则,发送一次心跳数据包;3)目标节点的心跳接收线程接收心跳数据包,并判断是否超时,如果是则将本节点针对目标节点的心跳最大丢失次数加I ;否则,将本节点针对目标节点的心跳最大丢失次数置零,并回复正常收到心跳数据。 前述的步骤2)中,心跳发送线程每隔5秒钟发送一次心跳数据包。 前述的步骤3)中,超时是指对于每个心跳路径,超过心跳间隔乘以最大丢失次数仍没有收到心跳信息包时,心跳超时。 前述的步骤2),步骤3)中,心跳数据包的心跳信息包括主机信息,网卡、资源组、资源信息。 前述的按照心跳数据传播路径优先级发送命令,先通过优先级最高的心跳数据传播路径发送心跳命令,当心跳数据传播路径超时再通过优先级低的心跳数据传播路径发送。 前述的心跳数据包的发送和接收过程中,增加心跳CRC校验和判断,如果出现心跳数据异常,视为心跳丢失一次处理,将心跳最大丢失次数加1,写入日志。 前述的心跳数据包的发送方式包括传输控制协议TCP和数据报协议UDP两种方式。 前述的SCADA分布式多节点平台中,如果节点间有频繁的控制命令,则心跳发送线程停止发送心跳数据包,心跳接收线程停止回复心跳命令,而使用命令包替代心跳数据包来检测节点的状态,频繁控制命令操作结束后,心跳发送线程恢复发送心跳数据包,心跳接收线程恢复回复心跳命令,继续检测节点状态;所述频繁的控制命令定义超过20次/分钟的控制命令操作次数为频繁。 本专利技术的有益效果是:本专利技术首次在SCADA分布式平台中引入心跳检测机制来对网络中的服务器、工作站等节点进行故障检测,使用心跳发送线程和接收线程来配合进行故障检测;另外,在网络状态繁忙的情况下,暂停心跳发送线程和接收线程,使用命令包替代心跳数据包来检测节点的状态,可以节省网络资源。本专利技术可以极大地提高系统的可用性,减小节点故障的误判率。 【附图说明】 图1为本专利技术的心跳检测服务进程中心跳检测机制流程图;图2为本专利技术命令包替换心跳包示意图;图3为本专利技术心跳线程优化示意图。 【具体实施方式】 以下结合附图和具体实施例对本专利技术作进一步的详细说明。 本专利技术的SCADA分布式平台下的心跳检测方法及优化策略,主要包括四部分。 一、心跳线程设计为SCADA分布式系统中的每个节点(包括主备服务器、主备工作站)设计一个心跳检测服务进程,并在心跳检测服务进程中建立两个线程来实现心跳检测机制,如图1所示,心跳检测机制示意图。 心跳发送线程A:该线程用于每隔5秒钟,发送心跳数据包给目标节点服务器。在发送前首先判断本节点针对目标节点的心跳最大丢失次数是否大于3,如果是,则判断目标节点服务器失效;否则发送一次心跳数据包。 心跳接收线程B:该线程用于接收心跳数据包,并判断是否超时,如果超时,则将本节点针对目标节点的心跳最大丢失次数加1,否则,将本节点针对目标节点的心跳最大丢失次数置零,并回复正常收到心跳数据。 二、心跳数据包传播路径的规则心跳数据包传播路径遵循以下规则:(I)心跳超时值:对于每个心跳路径,超过心跳间隔乘以最大丢失次数仍没有收到心跳信息时,心跳超时。 (2)每个心跳数据包传播路径都一直发送和接收心跳信息,来判断心跳状态。心跳信息包括主机信息,网卡、资源组、资源等状态。 (3)按照心跳数据包传播路径优先级发送命令,先通过优先级最高的心跳数据包传播路径发送命令,如果心跳数据包传播路径超时再通过优先级低的心跳数据包传播路径发送。 (4)避免数据信息异常,增加心跳CRC(Cyclic Redundancy Check,循环冗余校验码)校验和判断,如果出现心跳数据异常,视为心跳丢失一次处理,将心跳最大丢失次数加1,并写入日志。 三、心跳发送方式在局域网中,传输控制协议(TCP)是一个面向连接的协议,提供可靠性保证、流量控制机制和差错恢复等功能。数据报协议(UDP)属于无连接协议,功能简单,对系统资源的消耗也较小。 心跳发送可以采用TCP方式和UDP两种方式发送心跳命令。对于分布式多服务器系统而言,每个节点之间都要相互进行通讯。由于TCP服务是提供端到端的通信,假如有η个节点,则每个节点至少要建立η-1个本文档来自技高网
...

【技术保护点】
一种SCADA分布式平台下的心跳检测方法,其特征在于,包括以下步骤:1)在SCADA分布式系统中的每个节点设计一个心跳检测服务进程,并在心跳检测服务进程中建立心跳发送线程和心跳接收线程;2)某节点的心跳发送线程向目标节点服务器发送心跳数据包,首先判断本节点针对目标节点的心跳最大丢失次数是否大于3,如果是,则判断目标节点服务器失效;否则,发送一次心跳数据包;3)目标节点的心跳接收线程接收心跳数据包,并判断是否超时,如果是则将本节点针对目标节点的心跳最大丢失次数加1;否则,将本节点针对目标节点的心跳最大丢失次数置零,并回复正常收到心跳数据。

【技术特征摘要】
1.一种SCADA分布式平台下的心跳检测方法,其特征在于,包括以下步骤: 1)在SCADA分布式系统中的每个节点设计一个心跳检测服务进程,并在心跳检测服务进程中建立心跳发送线程和心跳接收线程; 2)某节点的心跳发送线程向目标节点服务器发送心跳数据包,首先判断本节点针对目标节点的心跳最大丢失次数是否大于3,如果是,则判断目标节点服务器失效;否则,发送一次心跳数据包; 3)目标节点的心跳接收线程接收心跳数据包,并判断是否超时,如果是则将本节点针对目标节点的心跳最大丢失次数加I ;否则,将本节点针对目标节点的心跳最大丢失次数置零,并回复正常收到心跳数据。2.根据权利要求1所述的一种SCADA分布式平台下的心跳检测方法,其特征在于,所述步骤2)中,心跳发送线程每隔5秒钟发送一次心跳数据包。3.根据权利要求1所述的一种SCADA分布式平台下的心跳检测方法,其特征在于,所述步骤3)中,超时是指对于每个心跳路径,超过心跳间隔乘以最大丢失次数仍没有收到心跳信息包时,心跳超时。4.根据权利要求1所述的一种SCADA分布式平台下的心跳检测方法,其特征在于,所述步骤2),步骤3)中,心跳数据包的心跳信息包括主机信息,网卡、...

【专利技术属性】
技术研发人员:李佑文包德梅刘志超颜儒彬曹黎明罗存褚红健岳以洋
申请(专利权)人:国电南京自动化股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1