北京广利核系统工程有限公司开发的核电专用仪控系统(SpeedyHold)是以核电站数据快速采集、核电站试验数据采集和核电站三废处理系统等系统需求为基础,开发出的能用于核电站众多仪控系统的产品系统平台,该平台具有高性能、高可靠性等系统特性,主要用于核电站对采样速度、采样精度和长期稳定性等方面特殊要求的相关系统。
在核电站各种仪控系统的招标书中均明确要求系统设计中应采用合适的冗余配置,使系统具有高度的可靠性。对于冗余系统而言,系统的无扰动切换以及系统数据的一致性是两个重点的设计对象,其设计的合理性和有效性直接影响到冗余系统的正常运行。
本文通过对数据服务器冗余设计中最为关键的无扰动切换以及数据一致性进行研究,借此来增强核电专用仪控系统的可靠性,为核电站的安全稳定运行创建良好的基础。
1 核电专用仪控系统设计
核电专用仪控系统为两层网络架构,管理网连接着工程师站、操作员站和数据服务器,系统网连接着控制站与数据服务器。数据服务器所处的位置如图1红色虚框所示。数据服务器承担着往下连接控制站,往上连接操作站,自身还要对数据进行分析和处理的重要作用。

图1 核电专用仪控系统架构图
2 核电专用仪控系统数据服务器冗余设计
数据服务器是核电专用仪控系统数据的核心及数据链路的桥梁, 在实际应用中一般配置两台数据服务器,这两台数据服务器采用主从机运行方式运行,只有主机对外提供服务,从机不对外提供服务,从机在主机发生故障时能迅速切换为主机,对外提供服务,切换过程无需人为干预。其对外提供服务的过程如图2所示。
对于数据服务器而言,由于主从机器同时运行,在设计上必然会出现主从机进行切换的情况,但是切换不能影响数据服务器对外提供服务的可靠性,因此对其进行无扰动的切换设计以及保证主从机数据的一致性尤为重要。
2.1 数据服务器无扰动切换设计
对于数据服务器来说,其无扰动切换需要达到的是对外服务的持续稳定,因此主从切换时首先要保证的是切换过程中对外服务的响应不能有丢失。其次,如果切换时间过长,会导致切换过程中对外服务的不确定性增加,也会影响数据服务器对外提供服务的效果。
(1)对外服务不间断设计
为了达到更高的可靠性,核电专用仪控系统采用主从网络和主从数据服务器设计,基于此数据服务器设计了三种对外提供服务的方式,即手动指定服务端请求、手动指定网络请求和自动服务端和网络请求。下面论述一下如何在这三种方式下实现对外服务的不间断设计。
手动指定服务端请求
在这种方式下,外部请求直接通过服务端的IP地址将请求的数据包发送给服务端,服务端不会随着主从的切换,而不对外部请求进行响应。即数据服务器的服务在主从切换过程中对外服务不会间断。
手动指定网络请求
在这种方式下,外部请求直接通过网络标识将请求的数据包发送给服务端,网络标识是系统初始化设置完成的,不会随着主从的切换而变化。数据服务器在此网络上的的服务不会在主从切换过程中间断。
自动服务端和网络请求
这种方式是数据服务器最主要的对外提供服务的方式,即外部服务不用关心网络的主从状态,也不用关心服务器的主从状态,直接将请求数据包通过主网络发送给主服务器。这样的设计基于在某些特定条件下,从服务器可能需要作为中转站,将一些数据包转发给主服务器。在这种方式下,为了避免通讯请求由于网络或者服务端的状态导致返回时间过长,核电仪控系统设计了请求超时时间,外部请求可以根据请求的数据量大小自主设置超时时间,当服务端未在此设置时间内返回数据时,网络通讯程序会自动返回,这样一方面避免了外部请求等待时间过长导致的自身逻辑处理问题。同时,也增加了对外服务的响应,不会因为主从服务器的切换导致外部请求丢失,数据服务器在此种状态下对外服务也不会中断。

图2 数据服务器外部请求处理图
(2)主从快速切换设计
在核电仪控系统的数据服务器主从切换机制设计中,主要考虑了如下三种导致主从切换的因素:数据服务器任务故障、管理网双网故障和用户人为操作。针对每种因素导致的主从切换都有一个共同的前提条件,即主机需要切换时需要诊断从机是否正常,如果从机也处于故障状态,则不进行主从切换。下面具体论述一下在这三种情况下主从快速切换的设计:
数据服务器任务故障
数据服务器任务故障指的是当主机的某个任务发生故障时,从机如处于节点运行正常状态,则发生主从切换,否则不进行切换。
数据服务器设计了主从服务任务诊断模块进行主从诊断,通过主从诊断规则,获得和设置当前数据服务器的主从状态。具体设计上主从服务任务诊断模块首先进行主从的判断,然后提供主从状态接口,来继承主从诊断功能。服务任务之间的主从数据对齐由服务任务自己实现。每个服务任务,通过检测本机网络故障情况以及检测对方任务的状态,来决定自己的主从。诊断设计为在一定时间间隔内周期进行诊断,以便在需要进行主从切换时能迅速进行主从属性切换,而又不会影响计算机CPU的瞬时负荷。当前数据服务器任务故障的诊断时间不超过150ms,由数据服务器任务故障导致的主从服务器切换时间不超过200ms。
管理网双网故障
管理网双网故障指的是当主机的双网都故障时,主机节点直接退出,当从机网络能正常使用时自动升级为主机。
数据服务器设计了双网冗余模块进行管理网的双网故障诊断,在一个网络出现故障时以不影响数据传输为前提将数据从备用网发送出去。在设计中如果请求数据包选择具体的网络,则可以根据其选择直接进行数据的发送。同时提供任意网络发送的功能,任意网络发送时可以随机选择一个进行诊断,如果诊断成功,则使用此网络进行发送,并且记录下此网络属性,在以后的请求中继续使用此网络,如果诊断失败,则需要切换到另外一个进行发送,同时也记录下此网络的属性,在以后的请求中使用此网络。通过这样的手段可以达到主从网络诊断的目的。同时减少切换时间,在最坏情况下(即依次需要诊断管理网双服务器和双网络),由管理网双网故障导致的主从服务器切换时间不超过200ms。
用户人为操作
人为操作指的是当用户人为停止了主从机监视,此时认为此节点故障。是否可以进行切换,取决于对方节点运行是否正常。如果对方节点正常运行,则进行主从切换。另外无论主从机哪一方发生系统退出,另一方都会自动升为主机,此时不再判断对方是否处于运行故障状态。
在这种情况下,服务器主机会直接通知服务器从机升为主机,并且自身降为从机,其切换是实时的,整个切换时间取决于服务器主从机通讯的时间,由用户人为操作导致的服务器主从切换时间不超过50ms。
综合上述设计,数据服务器在切换过程中对外服务不会间断,且切换时间最长不超过200ms,对于核电站仪控系统来说,这样的指标已经超越了服务器切换时间不超过500ms的技术规格书要求。
2.2 数据服务器数据一致性设计
对于数据服务器来说,虽然冗余能确保系统可靠性的增加,但是如果冗余的系统数据不一致,则在冗余切换的过程中会出现同一时刻不一致的数据,给系统的运行带来不确定的问题,针对这个问题,核电专用仪控系统进行了数据对齐的设计,确保系统的数据保持一致。在数据对齐的设计中,有两个至关重要的设计,即启动数据对齐设计和运行数据一致性设计。
(1)启动数据对齐设计
为了保持启动数据对齐,数据服务器中的各个任务在初始启动的数据创建时使用了磁盘文件与内存相映射的方式,并且将任务启动分为了冷启动、热启动和备份启动三种不同的方式。
冷启动数据对齐
冷启动即系统在初始化状态下启动,在这种状态下系统无任何历史数据。系统离线编辑完初始启动的数据,这些数据称为冷数据,在主任务启动时读取冷数据并创建其使用的实时数据,这个实时数据称为热数据。从任务启动时向主任务请求当前的热数据文件,并用请求的热数据文件构建自己的实时数据,来保证启动时主从数据一致。在数据对齐的瞬间,将对齐的内存数据区上锁。另外,对于长期连续记录历史数据的任务,由于历史数据文件可能较大,如果启动时连续对齐将会导致系统负荷增加,因此系统设计了文件对齐线程,在启动后逐步对齐文件数据。
热启动数据对齐
热启动即系统在上次运行数据的基础上启动。主任务热启动时加载之前保存的热数据,从任务启动时向主任务请求当前的热数据文件,并用请求的热数据文件构建自己的实时数据,来保证启动时主从数据一致。在数据对齐的瞬间,也需要将对齐的内存数据区上锁以保证数据的一致性。
备份启动数据对齐
从任务的启动称为备份启动。从任务启动时向主任务请求当前的热数据文件,并用请求的热数据文件构建自己的实时数据,来保证启动时主从数据一致。在数据对齐的瞬间,也会将对齐的内存数据区上锁来保证数据的一致性。
(2)运行数据一致性设计
在运行过程中只有主服务器对外提供数据服务。当主服务器处理更改实时数据状态的数据时,将此服务请求发送到主从一致消息队列,由主从发送线程负责将此服务请求转发从服务器。从服务器收到服务请求后执行与主服务器相同的处理逻辑,由此来保持运行过程中的主从数据一致。如图3所示。

图3 数据服务器运行主从一致设计图
通过上述设计,数据服务器在运行过程中主从服务器数据保持一致,因此在冗余切换后也能保证对外提供服务的一致,提高了系统运行的可靠性。
3 结语
本文通过对核电专用仪控系统的数据服务器进行冗余设计,验证了数据服务器无扰动切换和数据一致性功能,认为通过对数据服务器进行冗余设计来提高核电专用仪控系统的可靠性是可行的。并且此套冗余方案在阳江核电站3&4号机核电三废处理系统项目中得到了实际的应用,顺利通过了业主组织的工厂验收测试,得到了阳江核电站3&4号机业主和中广核设计院专家的一致认可。
参考文献:
[1] 王常力, 罗安. 分布式控制系统(DCS)设计与应用实例[M]. 北京: 电子工业出版社, 2010.
[2] 金以慧, 郭仲伟. 过程系统控制与管理[M]. 北京: 中国石化出版社, 1998.
[3] 郭宗仁. 可编程控制器应用系统设计及通信网络技术[M]. 北京: 人民邮电出版社, 2002.
[4] 阳宪惠. 工业数据通信与控制网络[M]. 北京: 清华大学出版社, 2003.6.
[5] 顾兴元. 计算机控制系统[M]. 北京: 冶金工业出版社, 1981.
[6] 黄锡滋. 软件可靠性安全性与质量保证[M]. 北京:机械工业出版社, 2003.
[7] Ian Sommerville著. 程成, 陈霞, 等译. 软件工程[M]. 北京: 机械工业出版社, 2003.
[8] Military Handbook. Reliability Prediction of Elevtronic Equipment[M].MIL-HDBK-217F, Washington, DC, U.S Department of Defense, 1991.
作者简介
彭立(1981-),男,湖北天门人,高级工程师,硕士,现就职于北京广利核系统工程有限公司,主要研究方向为核电站数字化仪控系统。
摘自《自动化博览》2月刊
|