本发明专利技术公开了一种SCADA系统的1+N冗余机制设计方法,在多台服务器宕机后只要存在一台资源够用的服务器正常运行时,仍然能够连续稳定的提供服务,保证了系统的可靠性。本发明专利技术的每个服务进程对象存在一个“服务器运行列表”,在各服务器系统启动后,每个服务进程对象会查看自己的“服务器运行列表”配置项,如果当前机器名称在配置项中,该进程就会启动,并同时向本机的实时数据库管理进程报告本进程;本机的实时数据库管理进程经过仲裁,判断该进程能否作为该任务的执行者;每台SCADA服务器的管理进程POMS Master决定哪台机器运行相应的进程,并在进程在某台服务器运行失败后,在其它服务器间调度进程的执行。
【技术实现步骤摘要】
一种SCADA系统的1+N冗余机制设计方法
本专利技术涉及SCADA分布式平台所应用的各个专业
,涵盖电力监控、水利监控、油气化工、轨道交通、煤炭矿井等自动化工业控制行业。
技术介绍
SCADA(SupervisoryControlAndDataAcquisition:SCADA)系统即数据采集与监视控制系统,是集计算机、网络、通信、传感等技术于一体的工业自动化控制系统,可广泛应用于电力、水利、石油、化工、轨道交通等行业的数据采集与监视控制等诸多领域。SCADA系统可以实时采集现场数据,对工业现场进行本地或者远程控制、对工艺流程进行全面、实时监视,为生产调度和管理提供必要的数据,并可藉此运用先进控制论算法提供更进一步的辅助分析和生产调度决策。为了保证SCADA系统连续有效的运行,其功能可靠性和稳定性都需要给予特别的考虑。一般而言,SCADA系统可以从软件、硬件、网络通信链路等方面采用多层次的冗余技术来达到较高的可用性和可靠性。特别是SCADA系统所采用的服务器,作为关键部件,其上不仅运行有实时数据库服务,还要提供各种服务进程,因此SCADA服务器一般采用冗余模式。SCADA系统平台采用分层分布式的运行方式,系统中的任何一个应用进程都可以根据需要配置在不同的一个或多个节点机器分布运行,所有的进程都具备1+N多冗余功能,该技术可极大地提升系统的容错能力。所有的应用服务程序不仅具有一个正在运行的进程,还有能完成同样功能的后备进程热备用在N个其它节点上,如果当前运行进程的机器出现单点故障,其它节点的备用进程会按照选举算法或配置的有限策略迅速接管故障节点所承担的服务,极端情况下,若还存在一个能够正常提供服务的节点,则在最后所有服务都将在该节点上运行(性能允许情况下)。本专利技术创造将详述SCADA系统平台1+N冗余容错机制的实现原理。
技术实现思路
针对现有技术中存在的问题,本专利技术的目的是设计一种SCADA系统的1+N冗余机制设计方法,在多台服务器宕机后只要存在一台资源够用的服务器正常运行时,其仍然能够连续稳定的提供服务,保证了系统的可靠性。为了实现上述专利技术目的,本专利技术采用的技术方案为:一种SCADA系统的1+N冗余机制设计方法,其特征在于:步骤一、每个服务进程对象存在一个“服务器运行列表”配置项用于存储该服务应该运行在哪些服务器上,配置在列表前的服务器拥有更优先的执行权利;只有“服务器运行列表”中配置了服务器的名称,该服务才能在该服务器上运行,否则不会在该服务器上运行;步骤二、每台SCADA服务器有一个实时数据库,各服务器之间的实时数据库实时同步,以及一个实时数据库管理进程负责管理该实时数据库;在各服务器系统启动后,每个服务进程对象会查看自己的“服务器运行列表”配置项,如果当前机器名称在配置项中,该进程就会启动,并同时向本机的实时数据库管理进程报告本进程是可用的,并填写到实时数据库该服务进程对象的实时属性“候选列表”中;步骤三、本机的实时数据库管理进程经过仲裁,判断该进程可以作为该任务的执行者,并填写到实时数据库该服务进程对象的实时属性“执行者列表”中;实时数据库管理进程通过检查侯选列表中的侯选成员和判断侯选成员是否在机器上运行来实现进程死亡检测;如果在机器上有一个侯选成员,实时数据库管理进程定期与该侯选成员进程进行通信,如果在下一个通信周期之前应用没得到响应,本机实时数据库认为该侯选成员应用程序已经死亡;步骤四、每台SCADA服务器的实时库中还存在一个负责进行容错仲裁的管理进程POMSMaster,它决定哪台机器运行相应的进程,并在进程在某台服务器运行失败后,在其它服务器间调度进程的执行;该管理进程POMSMaster通过监控通讯报文来确定运行在网络上的该任务的计算机是否存在故障;如果在预定的时间内管理进程POMSMaster没有从该服务器上接收到同步信息包,或从非同步机上接收到同步信息包,管理进程POMSMaster把该服务器定为不同步;如果预定的时间内收到该同步信息包,并确认该服务器同步,管理进程POMSMaster将负责从每个进程的“执行者列表”中选择其中一个作为该任务的实际执行者。本专利技术的有益效果作为综合监控系统软件平台中的核心机制,本专利技术所设计的1+N冗余机制能够保证系统持续稳定、可靠的运行,该机制已经在大型系统中得到了应用与验证,目前已成功应用于南京地铁、沈阳地铁、武汉地铁、淮安有轨电车等多条城市轨道交通综合监控系统中,并深受用户好评。SCADA系统自身的复杂性,决定了冗余技术的复杂度,本专利技术所设计的1+N冗余机制,在多台服务器宕机后只要存在一台资源够用的服务器正常运行时,其仍然能够连续稳定的提供服务,保证了系统的可靠性,在极大程度上减少了因系统故障带来的不确定性因素并节省了维护成本。附图说明图1为本专利技术实施例的进程配置列表图。图2为本专利技术实施例的1+N冗余的实施步骤流程图。图3为本专利技术实施例的三台服务器同步运行正常示意图。图4为本专利技术实施例的1+N冗余的切换过程(scada1发生故障)示意图。图5为本专利技术实施例的1+N冗余的切换过程(scada1、scada3发生故障)示意图。图6为本专利技术实施例的1+N冗余的切换过程(scada1、scada3发生故障后scada1恢复)示意图。具体实施方式以下结合附图和具体实施例对本专利技术作进一步详细说明。假设1:完成一个SCADA系统的所有功能服务有5个,即历史数据存储进程、数据采集进程、报警进程、程控管理进程、计算服务进程。假设2:当前控制中心的局域网上有3台SCADA服务器,分别取名为scada1,scada2,scada3,如图1所示:本实施例的进程配置列表图。图1中带“斜体下划线”的表示当前服务优先运行在哪一台机器上;其它不带“斜体下划线”的表示机器上该任务处于热备激活状态。SCADA系统的1+N冗余机制设计过程如下:(1)用户配置每个服务进程对象存在一个“服务器运行列表(PreferredList)”配置项用于存储该服务应该运行在哪些服务器上,最简单的算法是配置在列表前的服务器拥有更优先的执行权利。只有“服务器运行列表(PreferredList)”中配置了服务器的名称,该服务才可能在该服务器上运行,否则不会在该服务器上运行。图1中各进程的PreferredList配置如下表1所示。表1各进程的PreferredList、ResumeMode配置表服务进程PreferredList配置ResumeMode历史数据存储进程'scada1,scada3,scada2'Automatic数据采集进程'scada2,scada1,scada3'Automatic报警进程'scada2,scada3,scada1'Automatic程控管理进程'scada3,scada2,scada1'Automatic计算服务进程'scada3,scada1,scada2'Automatic表1中的ResumeMode配置项表明该服务是否会自动(Automatic)调整到优选服务器上运行,可配置为Automatic、Manual。以历史数据存储进程为例,其优先运行在scada1机器上,scada2,scada3作为备用,scada1上的该进程失效后优先由scada本文档来自技高网...
【技术保护点】
1.一种SCADA系统的1+N冗余机制设计方法,其特征在于:步骤一、每个服务进程对象存在一个“服务器运行列表”配置项用于存储该服务应该运行在哪些服务器上,配置在列表前的服务器拥有更优先的执行权利;只有“服务器运行列表”中配置了服务器的名称,该服务才能在该服务器上运行,否则不会在该服务器上运行;步骤二、在各服务器系统启动后,每个服务进程对象会查看自己的“服务器运行列表”配置项,如果当前机器名称在配置项中,该进程就会启动,并同时向本机的实时数据库管理进程报告本进程是可用的,并填写到实时数据库该服务进程对象的实时属性“候选列表”中;步骤三、本机的实时数据库管理进程经过仲裁,判断该进程可以作为该任务的执行者,并填写到实时数据库该服务进程对象的实时属性“执行者列表”中;实时数据库管理进程通过检查侯选列表中的侯选成员和判断侯选成员是否在机器上运行来实现进程死亡检测;如果在机器上有一个侯选成员,实时数据库管理进程定期与该侯选成员进程进行通信,如果在下一个通信周期之前应用没得到响应,本机实时数据库认为该侯选成员应用程序已经死亡;步骤四、每台SCADA服务器的实时库中还存在一个负责进行容错仲裁的管理进程POMS Master,它决定哪台机器运行相应的进程,并在进程在某台服务器运行失败后,在其它服务器间调度进程的执行;该管理进程POMS Master通过监控通讯报文来确定运行在网络上的该任务的计算机是否存在故障。...
【技术特征摘要】
1.一种SCADA系统的1+N冗余机制设计方法,其特征在于:步骤一、每个服务进程对象存在一个“服务器运行列表”配置项用于存储该服务应该运行在哪些服务器上,配置在列表前的服务器拥有更优先的执行权利;只有“服务器运行列表”中配置了服务器的名称,该服务才能在该服务器上运行,否则不会在该服务器上运行;步骤二、在各服务器系统启动后,每个服务进程对象会查看自己的“服务器运行列表”配置项,如果当前机器名称在配置项中,该进程就会启动,并同时向本机的实时数据库管理进程报告本进程是可用的,并填写到实时数据库该服务进程对象的实时属性“候选列表”中;步骤三、本机的实时数据库管理进程经过仲裁,判断该进程可以作为该任务的执行者,并填写到实时数据库该服务进程对象的实时属性“执行者列表”中;实时数据库管理进程通过检查侯选列表中的侯选成员和判断侯选成员是否在机器上运行来实现进程死亡检测;如果在机器上有一个侯选成员,实时数据库管理进程定期与该侯选成员进程进行通信,如果在下一个通信周期之前应用没得到响应,本机实时数据库认为该侯选成员应用程序已经死亡;步骤四、每台SCADA服务器的实时库中还存在一个负责进行容错仲裁的管理进程POMSMaster,它决定哪台机器运行相应的进程,并在进程在某台服务器运行失败后,在其它服务器间调度进程的执行;该管理进程POMSMaster通过监控通讯报文来确定运行在网络上的该任务的计算机是否存在故障。2.根据权利要求1所述的SCADA系统的1+N冗余机制设计方法,其特征在于,步骤二中:每台SCADA服务器有一个实时数据库,各服务器之间的实时数据库实时同步,以及一个实时数据库管理进程负责管理该实时数据库。3.根据权利要求1所述...
【专利技术属性】
技术研发人员:李佑文,曹黎明,王志心,褚红健,葛晋旭,
申请(专利权)人:南京国电南自轨道交通工程有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。