综合监控前置通信控制器双机冗余按口切换方法
技术领域
本发明涉及城市轨道交通综合监控系统的接口技术领域,更具体地讲,涉及到前置通信控制器双机热备冗余的按口切换技术。
背景技术
随着国内城市轨道交通的迅速发展,各种自动化技术在地铁机电设备管理上得到了广泛应用,比如环境监控系统、火灾监控系统、供电系统、视频监控系统、广播控制系统、售检票系统、安全门系统、门禁系统等等。在早期,这些系统一般是分立设置,独立管理,各系统有自己的人机界面系统。这样的设置存在着系统间软硬件平台参差不齐,系统结构及通信协议种类繁杂,系统资源共享困难以及各系统硬件设备配置重复,不利于维护管理等缺点。随着自动化技术的发展,越来越多的地铁线路开始考虑和实施综合监控系统,通过综合监控系统统一的软硬件平台, 统一的人机交互界面,实现资源共享,互联互通,有利于紧急情况下的事件处理,提高地铁整体运营调度管理水平。
要将上述各个机电系统整合到统一的综合监控系统,首先要解决的是通信接口技术问题。前置通信控制器正是综合监控系统与各机电系统之间实现接口转换的关键设备。前置通信控制器的主要功能是:通过自身配备的串行口、以太网以及现场总线等通信介质,按照指定的通信协议接收各机电系统所采集的实时数据进行集中收集,然后转换成统一的数据格式后转发给车站或控制中心的综合监控实时服务器;同时前置通信控制器接收车站或控制中心实时服务器发出的各种形式的控制命令并转发给相应的机电系统。
由上文功能描述可以看出,前置通信控制器是综合监控系统与各机电系统之间的数据及控制命令枢纽,它的可靠性和稳定性直接决定了综合监控系统的可靠性和稳定性。因此在大多数的城市轨道交通综合监控系统应用中,前置通信控制器均要求双机热备,在故障情况下实现自动主备切换。
在以往的综合监控系统中,前置通信控制器采用的是整机冗余切换技术。互为冗余的两台前置通信控制器在任何时刻一台处于值班状态,另一台处于备用状态;所有的接口协议转换任务均在值班的前置通信控制器上运行。而备用状态的前置通信控制器不做任何协议转换,仅仅负责监视值班的前置通信控制器。值班/备用切换的判断依据主要有两种,一种是一般情况下不切换,只有在值班机故障情况下(如死机)才进行切换;另一种是对各个接口协议转换任务的重要程度及健康状况进行加权计算,然后双机之间比较权重,最终决定需不需要进行值班/备用切换。
整机冗余切换技术主要的缺点是:
1)无法进行局部切换。若某个接口协议转换任务在值班机出现运行故障,但若是整机不满足切换条件,则只能任其保持故障状态。
2)双机负荷不均等。值班机运行所有接口协议转换任务,CPU负荷较高,而备用机CPU几乎空闲,造成性能上的浪费。
3)切换时系统扰动较大、切换周期长。发生整机切换时所有的接口协议转换任务都要从原先的值班机切到原先的备用机,所有的接口通信要关闭再打开,所有的数据需要同步,不仅造成很大的系统扰动,切换周期也很长。并且切换过程中所有的实时数据停止刷新。
4)切换可能带来新的故障。在原先的值班机正常运行的接口协议转换任务被切换到原先的备用机后可能无法继续正常运行。
所谓的“按口切换”是形象的称谓,因为早期的接口通信主要以串口为主,每个接口协议转换任务一般对应到一个具体的物理通信端口。随着网络通信技术的成熟,轨道交通中越来越多的机电系统采用了以太网接口技术。由于一个以太网物理端口具有可同时承载多个通信业务的特点,因此在实际工程应用中综合监控前置通信控制器的一个以太网物理端口往往同时与若干个机电系统接口,也就是说在网络接口技术中往往是多个接口协议转换任务对应到一个物理通信端口。所以,对于本发明,所谓的“按口切换”更准确的称谓应该是“按接口协议转换任务切换”。
互为冗余的2台前置通信控制器无论是硬件配置或是软件配置完全相同(除了个别参数有差别,如IP地址等)。他们之间有专用的冗余交互通道用于冗余切换等相关信息的交互。
发明内容
本发明针对轨道交通综合监控前置通信控制器双机冗余系统提供了一套“按口切换”的解决方案。其目的是:在互为冗余的通信控制器双机之间实现面向接口协议转换任务的值班/备用切换。
为解决上述技术问题,本发明提供一种综合监控前置通信控制器双机冗余按口切换方法,其特征在于,包括以下步骤:
1)采用面向对象的实时数据库,即将各个接口对象抽象成“节点”用于按接口对象保存实时数据,只有特定的接口协议转换任务在本机值班状态时才可向该节点写数据;
2)接口协议转换任务拥有独立的进程空间,即互为值班/备用的两机对应任务之间的值班/备用状态是互斥的;
3)双机数据冗余交互:冗余交互信息包括各自的运行状态,接口协议转换任务根据自己的状态及对侧任务的状态判断是否需要进行值班/备用切换;
4)实时数据同步:面向节点进行数据同步,通过实时数据同步确保两台通信控制器中拥有一致的、完整的实时数据。
前述的综合监控前置通信控制器双机冗余按口切换方法,其特征在于:在步骤3)中,接口协议转换任务的值班/备用切换分两种情况进行判别:
31)在通信控制器上电阶段接口协议转换任务的值班/备用的判别:通过比较两台通信控制器的上电时间进行判断,先上电的通信控制器所有任务为值班状态,后上电的通信控制器中所有任务为备用状态;
32)在运行阶段接口协议转换任务的值班/备用的判断:依据值班/备用双机上对应任务的运行状态进行判断。
前述的综合监控前置通信控制器双机冗余按口切换方法,其特征在于:在步骤32)中,判断的步骤为:
a)首先判断冗余交互通道是否中断,如果中断则强制本机任务值班,如果没有中断则进一步判断任务是否在本机值班;
b)如果任务不在本机值班,则获取对侧任务状态,对侧任务状态异常,则强制本机值班,对侧任务状态正常,则返回步骤a);
c)如果任务在本机值班,则判断本机任务通信是否异常,如果本机任务异常侧强制本机任务备用,如果本机任务通信正常,则返回步骤a)。
前述的综合监控前置通信控制器双机冗余按口切换方法,其特征在于:在步骤4)中,数据同步方向取决于节点所属接口协议转换任务在哪台通信控制器上值班,由值班机向备用机方向同步。
本发明的有益效果:本发明的综合监控前置通信控制器双机冗余按口切换方法将接口协议转换任务作为切换对象,大大提高了综合监控系统的可靠性及可用性,将故障切换对系统的扰动降到最低程度,缩短了故障切换周期,并使得双机的CPU负荷更加均等,从而提高了双机冗余通信控制器的性能。
附图说明
图1为双机冗余按口切换中的值班/备用切换关系模型。
图2为通信控制器上电时任务值班/备用判断流程。
图3为通信控制器运行阶段任务值班/备用判断流程。
图4 为双机冗余通信控制器按口切换实施案例。
具体实施方式
附图1给出了双机冗余按口切换中的值班/备用切换关系模型。互为冗余的两台通信控制器A机、B机为对等关系;A、B机运行有相同接口协议转换任务;A、B机上相同的接口协议转换任务间为值班/备用互斥关系,可相互切换。
面向对象的实时数据库技术:要实现面向接口协议转换任务的值班/备用切换,首先要解决的是有效的实时数据存储管理。本发明采用面向对象技术,将各个接口对象抽象成“节点”。节点是通信控制器中一片连续的存储区域,用于存储特定接口对象的所有实时数据。每个节点对应一个唯一的接口协议转换任务,也就是说,只有特定的接口协议转换任务在本机值班状态时才可向该节点写数据。如,接口对象为环境监测系统(BAS),则两台前置通信控制器在组态时均创建“BAS节点”,“BAS节点”中存储了环境监测系统所有实时数据(包括AI量、DI量等)。当BAS接口协议转换任务在A机值班,那么A机的BAS接口协议转换任务可向A机的“BAS节点”写数据,此时B机的“BAS节点”的实时数据只能由数据同步模块进行刷新。这是为了确保实时数据的唯一性。
接口协议转换任务拥有独立的进程空间:接口协议转换任务的功能是通过对特定接口对象进行通信协议的解析,从而接收接口对象的实时数据或者向接口对象发送控制指令。每个接口协议转换任务拥有独立的进程空间才可分别对其进行值班/备用切换。在某一时刻有些接口协议转换任务可能在A机值班,在B机备用;而另一些接口协议转换任务则在B机值班,在A机备用。A、B机对应任务之间的值班/备用状态是互斥的。
双机数据冗余交互:两台通信控制器上互为冗余的接口协议转换任务之间必须进行必要的信息交互,这些信息主要包括各自的运行状态。接口协议转换任务根据自己的状态及对侧任务的状态判断是否需要进行值班/备用切换。
实时数据同步:通信控制器的功能不仅仅是采集实时数据,还包括向综合监控服务器转发实时数据的功能。转发数据的功能也是由某个接口协议转换任务来实现的(称之为“数据转发任务” )。数据转发任务所转发的数据可能来自不同的节点。如,某个转发任务在A机值班,它同时转发了环境监测系统(BAS)以及火灾监控系统(FAS)的数据,假设BAS接口协议转换任务在A机值班,FAS接口协议转换任务在B机值班,如果没有实时数据同步,该转发任务就无法获得B机上的的FAS节点数据。实时数据同步功能面向节点进行数据同步,数据同步方向取决于节点所属接口协议转换任务在哪台通信控制器上值班。在上述的举例中BAS任务在A机值班,则BAS节点的数据同步方向是A机BAS节点向B机BAS节点同步数据;FAS任务在B机值班,则BAS节点的数据同步方向是B机FAS节点向A机FAS节点同步数据。如此可以确保两台通信控制器中永远拥有一致的、完整的实时数据。
接口协议转换任务值班/备用切换判别流程:在本发明中接口协议转换任务的值班/备用切换分两种情况进行判别。首先是在通信控制器上电阶段的判别,见附图2通信控制器上电时任务值班/备用判断流程。该流程主要通过比较两台通信控制器的上电时间进行判断,先上电的通信控制器所有任务为值班状态,后上电的通信控制器中所有任务为备用状态。
其次是运行阶段任务值班/备用判断流程,见附图3通信控制器运行阶段任务值班/备用判断流程。该流程是各个接口协议转换任务的值班/备用判断流程。主要判断依据是双机上对应任务的运行状态。
下面是本发明的一个实际案例的实施方式,包括了采用本发明的方法实现的一个具体的地铁综合监控系统双机冗余前置通信控制器按口切换过程。
某地铁综合监控项目,前置通信控制器采用嵌入式X86 PC104硬件平台,操作系统采用VxWorks。
见附图4 双机冗余通信控制器按口切换实施案例。该项目通过前置通信控制器接入了3个机电子系统:环境监控系统(BAS)、火灾监控系统(FAS)以及门禁系统(ACS)。
初始状态是:FAS、ACS接口协议转换任务在A机值班,A机的FAS接口协议转换任务负责向A机的FAS节点写入实时数据;A机的ACS接口协议转换任务负责向A机的ACS节点写入实时数据;BAS接口协议转换任务在B机值班,B机的BAS接口协议转换任务负责向B机的BAS节点写入实时数据;而A机的BAS节点,以及B机的FAS节点、ACS节点,其实时数据由对侧的节点同步而来。
假设原先在A机值班的FAS接口协议转换任务发生故障,此时A机上的FAS接口协议转换任务监测到故障后主动切换至备用状态,不再往本机FAS节点写实时数据;而B机上的FAS接口协议转换任务通过冗余交互获知对方故障,于是强制切换为值班状态,并负责往本机FAS节点写入实时数据,并通过数据同步功能将该实时数据同步到A机的FAS节点中。
通过上述实施案例可以看出,单个接口协议转换任务因故障发生值班/备用切换不影响其他接口任务的运行;单个接口协议转换任务切换只是变换了其所属节点的数据同步方向,不对其他节点的实时数据造成影响;双机中的实时数据始终保证完整、一致。
上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。