一种轨道交通综合监控系统通信前置机双机冗余的方法与流程

文档序号:20061036发布日期:2020-03-06 07:58阅读:1099来源:国知局
一种轨道交通综合监控系统通信前置机双机冗余的方法与流程

本发明涉及一种轨道交通综合监控系统中通信前置机(fep)双机冗余的方法。



背景技术:

随着轨道交通行业的高速发展,综合监控系统需要集成的子系统越来越多。由于各子系统接入的数据量庞大,协议不尽相同,物理接口方式各异,因此在多数情况下各子系统不与综合监控系统实时服务器直接对接,而是采用在实时服务器与各子系统之间增加通信前置机fep(frontendprocessor)的方式进行数据交互和数据预处理。这种方式不仅提高了综合监控系统实时服务器的稳定性与安全性,同时也减轻了实时服务器的数据处理压力。为保证通信前置机fep在单台故障情况下,综合监控系统仍能接收到各子系统的实时数据,保证地铁运营人员对各子系统的实时监控,通常会配置两台互为冗余的通信前置机。当其中一台通信前置机fep发生故障时,将切换至另一台通信前置机fep进行工作。

常见的通信前置机fep冗余方式为主备机方式,即当主机工作时,备机处于待命状态(以下称为冷备),当主机故障或数据链路断开时,切换至备机。此种冗余方式存在的问题为:当主机与某个子系统数据链路断开无法连接时,将会使备机激活,接管主机全部的数据链路进行重新连接,初次连接建立时会产生大量网络传输。同时,在主机进行冗余切换而备机与子系统连接未完全建立时,数据交互将会暂停,无法取得子系统中最新的数据进行交互。

另一种常见的通信前置机fep冗余方式为两台通信前置机fep同时处于工作状态(以下称为热备),与所有子系统进行连接,数据进行质量仲裁后存入实时库,当其中一台通信前置机fep故障或数据链路断开时,则只取未故障通信前置机fep中的数据进行交互。此种冗余方式存在的问题为:两台通信前置机fep同时与所有子系统进行连接,数据量比较庞大时,将产生大量的网络带宽浪费(两台通信前置机fep均正常工作时,只取其中一台的数据),双通道进行数据交互时还有可能造成子系统压力较大从而造成数据接口不稳定。并且部分子系统由于其接口特殊性,如串口通信,同时仅能一方与其进行数据交互,两台通信前置机fep无法同时与此类子系统接口进行数据交互。

同时通信前置机fep与综合监控实时服务器间也存在冗余结构,较常见的冗余方式为虚拟ip方式进行冗余,如windows系统中的nlb,linux系统中的lvs虚拟ip组件。此种方式存在问题为:两台通信前置机虚拟为一个虚拟ip,虽然给实时服务器部署及通信带来便捷,但是实时服务器无法明确感知到两台通信前置机fep中哪一台出现故障,不易进行数据拉取或推送时的数据质量校验。并且依赖虚拟ip组件的方式使得通信前置机fep软件跨平台能力较差,更换不同内核操作系统时往往不能够兼容且容易造成稳定性方面的隐患。



技术实现要素:

本发明的目的是提供一种应用于轨道交通综合监控系统中的不需要依赖第三方组件的通信前置机双机冗余的方法。

为了达到上述目的,本发明的技术方案是提供了一种轨道交通综合监控系统通信前置机双机冗余的方法,其特征在于,包括以下步骤:

(1)配置各个子系统的采集规约与冗余规则,其中,对每条与子系统进行数据交互的数据链路进行不同的冗余配置,依据子系统设备特征与协议特征采用冷热备模式共存的方式进行数据交互包括:

将协议特性为连接建立后客户端通过向服务器端轮询来取得寄存器或线圈的值的数据链路配置为冷备模式,在与子系统进行通信的通信前置机fep认为此数据链路断开时,仅将这一条数据链路交由另一台通信前置机fep进行通信,其他处在正常状态下的数据链路不进行切换;

将对网络宽带占用小,数据时效性要求较高且传输协议传输效率较高的数据链路配置为热备模式;将网络带宽占用较少,依据test测试帧判定对数据链路存活状态管理较为方便的数据链路配置为热备冗余模式;

对于仅可单通道进行数据传输的子系统,对此种数据链路配置为冷备,在通信前置机fep认为数据链路中断时,直接由另外一台通信前置机fep进行通信;

两台通信前置机fep同时处在激活状态进行工作,在一台完成上述配置后将此配置同步至另一台通信前置机fep的配置数据库中;

(2)信前置机fep间内置冗余规则实现方式,包括:

为实现通信前置机fep冷热备同时共存的双机同时运行的双激活模式,由两台通信前置机fep间实时建立数据链路连接并进行通信,通信前置机fep软件在运行后读取配置库中的配置,与对方建立连接,依据配置库中每项数据链路配置询问对方的链路建立状态;同时将对端通信前置机fep的ip地址配置入本机通信前置机fep中,进行通讯及心跳检测;

当与某个子系统的数据链路配置为热备模式时,在两台通信前置机fep与子系统建立数据链路后更新本机与子系统数据链路状态为可用,并通知对端通信前置机fep当前与此子系统数据链路状态,并进行数据同步,数据经过质量判断和时间戳判断后,写入至两台通信前置机fep实时库中;当其中一台通信前置机fep与此子系统数据链路中断后,中断的这台通信前置机fep发送数据链路中断状态通知至对端通信前置机fep,在进行数据校验时,仅取与此子系统数据链路未断开的通信前置机fep中的数据同步写入至两台通信前置机fep实时库中;

当与某个子系统的数据链路配置为冷备模式时,在其中一台通信前置机fep与子系统建立数据链路后更新本机与子系统数据链路状态为可用,并通知备用对端通信前置机fep当前数据链路状态,将数据写入至两台通信前置机fep实时库中;当这台与子系统通信的通信前置机fep与此子系统数据链路中断后,将发送数据链路中断状态通知至对端通信前置机fep,对端通信前置机fep接收到此通知后将自行建立数据链路至此子系统,数据链路建立完成后更新本机与子系统数据链路状态为可用,并通知对端通信前置机fep当前与此子系统数据链路状态,在数据写入时,取与此子系统当前处在可用状态的数据链路数据写入至两台通信前置机fep实时库中;

(3)通信前置机fep间相互通信协议实现,包括:

传输层通信协议采用面向可靠连接的tcp的协议,应用层采用自定义协议,自定义协议采用的通信报文结构包含固定的报文协议头、报文长度、报文类型、数据类型、报文内容、报文校验字节,其中:报文长度表示除去报文协议头与报文长度的报文总长度;报文类型表示协议当前传输的报文类型;数据类型表示当前数据包内的数据类型;报文内容表示数据内容;

通信流程包括以下步骤:

a)当通信前置机fep启动时,向对端通信前置机fep发送数据全量传送请求/响应帧,收到后开始进行数据链路状态同步,并对配置的每条数据链路进行主热备配置检查;

b)配置验证无误后,发送包含各子系统数据的数据载荷帧,并依据双方链路状态互相进行数据校验,校验无误后写入本机实时库;

c)数据同步完毕后,仅对值有变化的数据进行同步,采用突发传送帧;当各子系统数据链路产生改变时,同样采用上述的突发传送帧进行数据链路状态改变通知至对端通信前置机fep;

d)当无数据进行传输时,每n秒发送及响应一次指定报文类型的测试帧,数据帧超过m次无响应后,则认为与对端通信断开;

e)当与对端的通信前置机fep通信重新建立后,重复步骤a),即向对端通信前置机fep发送数据全量传送请求/响应帧,收到后开始进行数据链路状态同步,并对配置的每条数据链路进行主热备配置检查;

(4)基于host的通信前置机fep与综合监控实时服务器的跨操作系统平台冗余实现,包括:

通信前置机fep与综合监控系统实时服务器间的通信冗余机制采用基于局域网内host名称的方式进行通信,所有的通信均为短连接无状态通信,通信前置机fep与综合监控系统实时服务器各自维护本机的业务数据的状态,具体包括:

所有的综合监控系统实时服务器均采用相同的拓扑方式,每台综合监控实时服务器,均有2路物理链路连接至每个通信前置机fep中,并处在不同的环网;

综合监控系统实时服务器与通信前置机fep进行通信时,均采用通信前置机fep或综合监控系统实时服务器的host名作为通信地址而不采用物理ip地址,当环网中其中一路断开时,使用host名作为通信时将自动切换至环网中另一路物理链路,由于是短连接通信,切换物理链路后,仍可用原有的host名的进行建立及通信,并且物理链路切换时不会对业务数据状态产生影响。

优选地,步骤(2)中,建立通信前置机fep冗余系统时,使用通信前置机fep物理网卡直接与对端的通信前置机fep的物理网卡使用rj45接口线缆进行直连,不经过交换机,两台通信前置机fep间直连时物理网卡备置多个,使用其中两个物理网卡与对端的通信前置机fep进行通信,当其中一条物理链路中断时,切换至另一条链路进行通信。

优选地,步骤(2)中,当两台通信前置机fep间两条物理链路全部断开时,两台通信前置机fep间通讯无法建立,则两台通信前置机fep启用配置库中全部的数据链路连接,读取到的数据写入至本机通信前置机fep实时库中,并上送至上位机,并将每条数据链路状态同时上送至上位机,数据质量交由上位机进行判断。

优选地,步骤(3)中,所述报文内容最长不超过1024字节,所述报文内容中的每个数据内容由起始数据点号与报文值组成。

优选地,步骤(4)中,所述拓扑方式为综合监控系统实时服务器一的网卡与环网交换机一及通信前置机fep一的网卡组成环网一;综合监控实时服务器二的网卡与环网交换机二及通信前置机fep的网卡二组成环网二。

优选地,步骤(4)中,若某一台通信前置机fep从2路环网中完全断开,综合监控系统实时服务器立即感知到此台通信前置机fep通信中断,转而切换至另一台通信前置机fep进行后续通信。

相较于传统的将两台通信前置机fep采用虚拟ip与综合监控实时服务器的通信方式,本发明提供的冗余方式不需要依赖第三方组件,如linux系统中的lvs组件或windows系统中的nlb组件,仅采用hosttohost协议的通讯方式(与操作系统无关),因此在操作系统内核更换时也无需考虑使用不同的组件而造成不稳定的情况。

附图说明

图1为轨道交通综合监控系统数据处理方法流程图;

图2为本发明的系统图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明提供的一种轨道交通综合监控系统通信前置机双机冗余的方法包括配置各个子系统的采集规约与冗余规则;通信前置机fep间内置冗余规则实现方式;通信前置机fep间相互通信协议实现;基于host的通信前置机fep与综合监控实时服务器的跨操作系统平台冗余实现。具体而言:

(1)配置各个子系统的采集规约与冗余规则包括:

根据各个子系统设备特征与协议特征在通信前置机fep中进行通讯配置,生成统一格式的配置表。需要的数据包含:设备名称、所属子系统、设备名对应设备点名称(一对多关系)、采集周期、通信协议、数据点、数据类型、数据链路冗余类型、数据链路通道名称(作为区分各个不同数据链路字段使用)等。对每条与子系统进行数据交互的数据链路进行不同的冗余配置,依据子系统设备特征与协议特征采用冷热备模式共存的方式进行数据交互,保证了数据的可靠性,通信前置机fep切换时的数据时效性,减小了通信前置机fep与子系统进行数据交互时的网络带宽占用。实际使用场景举例说明如下:

为解决传统通信前置机fep整机热备模式在数据量比较庞大时,将产生大量的网络带宽浪费的问题,根据传输协议的特点将部分数据链路配置为冷备模式,如modbus协议(emcs机电系统常用协议),协议特性为连接建立后client通过向server轮询来取得寄存器或线圈的值,即一问一答模式,每个请求包询问的数据有数量限制,寄存器为125个,线圈2000个,需要不断进行轮询才能取到最新数据,因此在大数据量的场景下网络负载较高,不适宜使用热备双通道共同采集的模式,并且可能由于双通道同时轮询造成子系统压力较大从而造成数据接口不稳定。在与子系统进行通信的通信前置机fep认为此数据链路断开时,仅将这一条数据链路交由另一台通信前置机fep进行通信,其他处在正常状态下的数据链路不进行切换,不仅可以保证不会产生热备模式下双通道同时采集造成的网络带宽浪费问题,还能保证正常的数据链路仍与原有的通信前置机fep进行通信。仅对出现问题的数据链路进行切换,可保证其他数据链路的数据时效性,达到较为可靠的切换效果。

同时,为了解决传统通信前置机fep整机冷备模式在切换时导致所有数据链路中断,重新建立数据链路期间无法取得全部子系统最新数据的问题,采用将那些对网络宽带占用小,数据时效性要求较高且传输协议传输效率较高的数据链路配置为热备模式的方式。如iec-60870-5-104(pscada电力系统常用协议),协议特性为连接建立后cleint需要发送startdatatransfer帧才可进行数据传输,client端发送总召唤帧后,server端发送全量数据至client端,总召唤结束后,server端仅对有变化的值进行数据上送至client端(逢变则传),期间无数据传输时,每20秒发送test测试帧进行数据链路保活。由于此这种协议特性,对网络带宽占用较少,对数据链路存活状态管理较为方便(依据test测试帧),因此对此类数据链路可以配置为热备冗余模式,即两台通信前置机fep均与子系统建立数据链路,但是仅有一台通信前置机fep对server端发送startdatatransfer帧进行数据传输与总召唤,另外一台通信前置机fep在数据链路建立后仅发送test测试帧对数据链路保活,不发送startdatatransfer帧,不进行数据传输,从而减小了对网络宽带占用。当这台正在与server端进行数据交互的通信前置机fep数据链路断开无法连接时,由另外一台通信前置机fep通过已经建立的数据链路发送startdatatransfer帧进行数据传输与总召唤,由于数据链路已经建立,在此条数据链路在通信前置机fep进行切换时,能够以非常快的速度获取子系统最新数据,并且无需重新建立数据链路。

对于部分仅可单通道进行数据传输的子系统,例如使用串口进行数据通信,通常对此种数据链路配置为冷备,在通信前置机fep认为数据链路中断时,直接由另外一台通信前置机fep进行通信,由于串口数据通信无需像tcp连接一样重新进行握手建立连接,切换时可直接通信,因此切换速度也能够满足数据时效性要求。

由于两台通信前置机fep同时处在激活状态进行工作,因此需保持两台通信前置机fep配置相同。需在一台配置完成后将此配置同步至另一台通信前置机fep的配置数据库中。

(2)通信前置机fep间内置冗余规则实现方式包括:

通信前置机fep间内置冗余规则实现方式根据上述配置各个子系统的采集规约与冗余规则步骤,需要实现通信前置机fep冷热备同时共存的双机同时运行的双激活模式,因此需要两台通信前置机fep间实时建立数据链路连接并进行通信。通信前置机fep软件在运行后读取配置库中的配置,与对方建立连接,依据配置库中每项数据链路配置询问对方的链路建立状态。同时需要将对端通信前置机fep的ip地址配置入本机通信前置机fep中,进行通讯及心跳检测。

因此,建立通信前置机fep冗余系统时需要使用通信前置机fep物理网卡直接与对端的通信前置机fep的物理网卡使用rj45接口线缆进行直连,不经过交换机,防止由于交换机故障导致通信前置机fep间通信中断,为防止单物理链路故障时通信前置机fep间通信中断,两台通信前置机fep间直连时物理网卡需备置多个,使用其中两个物理网卡与对端通信前置机fep进行通信,当其中一条物理链路中断时,可切换至另一条链路进行通信。参考说明书附图图1。

当与某个子系统的数据链路配置为热备模式时,在两台通信前置机fep与子系统建立数据链路后将会更新本机与子系统数据链路状态为可用,并通知对端通信前置机fep当前与此子系统数据链路状态,并进行数据同步,数据经过质量判断和时间戳判断后,写入至两台通信前置机fep实时库中。当其中一台通信前置机fep与此子系统数据链路中断后,中断的这台通信前置机fep将发送数据链路中断状态通知至对端通信前置机fep,在进行数据校验时,仅取与此子系统数据链路未断开(即数据链路状态为可用状态)的通信前置机fep中的数据同步写入至两台通信前置机fep实时库中。

当与某个子系统的数据链路配置为冷备模式时,在其中一台通信前置机fep与子系统建立数据链路后将会更新本机与子系统数据链路状态为可用,并通知备用对端通信前置机fep当前数据链路状态,将数据写入至两台通信前置机fep实时库中。当这台与子系统通信前置机fep与此子系统数据链路中断后,将发送数据链路中断状态通知至对端通信前置机fep,对端fep接收到此通知后将自行建立数据链路至此子系统,数据链路建立完成后将会更新本机与子系统数据链路状态为可用,并通知对端通信前置机fep当前与此子系统数据链路状态,在数据写入时,取与此子系统当前处在可用状态的数据链路数据写入至两台通信前置机fep实时库中。

当在一些较为特殊或极端的场景下,如两台通信前置机fep间两条物理链路全部断开时,两台通信前置机fep间通讯无法建立,则两台通信前置机fep会启用配置库中全部的数据链路连接,读取到的数据写入至本机通信前置机fep实时库中,并上送至上位机(如综合监控实时服务器),并将每条数据链路状态(可用,断开)同时上送至上位机,数据质量交由综合监控实时服务器进行判断。

(3)通信前置机fep间相互通信协议实现包括:

根据上述通信前置机fep间内置冗余规则实现方式步骤,两台通信前置机fep间需要实时进行数据同步,数据链路状态同步,数据校验,心跳检测等,因此需要定义一套通信协议进行上述操作。

传输层通信协议采用面向可靠连接的tcp的协议,应用层采用自定义协议,包含固定的报文协议头,报文长度,报文类型,数据类型,报文内容(载荷,payload),报文校验字节。通信报文主要结构定义如下(举例中报文均为16进制,且以小端模式发送,即低字节在前,高字节在后):

报文协议头(2字节):固定为eb90

报文长度(2字节):取值范围为0~65535正整数,表示除去报文协议头与报文长度的报文总长度(即去除4字节后的报文总长度)

报文类型(2字节):取值范围为0~65535正整数,表示协议当前传输的报文类型。目前报文类型主要有以下几种:

a)01:表示数据全量传送请求/响应帧。

b)02:表示数据突发传送报文帧。

c)03:测试帧,无数据载荷,无数据交互时每5秒发送及响应一次测试帧,数据帧超过4次无响应后,则认为与对端通信断开。

d)04:表示各子系统数据链路状态帧。

数据类型(1字节):表示当前数据包内的数据类型。目前数据类型主要有以下几种:

a)01:数字量(bool)。

b)02:模拟量(float)。

c)03:电度量(int)。

d)04:数据链路状态(byte)

其中数据链路状态类型值取值说明如下:

a)01:表示数据链路可用

b)02:数据链路可用且为备用状态

c)03:数据链路中断,尝试重连

d)04:重连失败,数据链路断开

报文内容(变长字节):长度范围为0~1024字节,表示数据内容,为防止mtu超过1500字节进行拆包发送,报文内容最长不可超过1024字节。其中每个数据内容由起始数据点号(3字节)与报文值(变长字节)组成。起始数据点号取值范围为0~16777215,数据点位与数据链路编号均从0开始进行编号。报文值根据数据类型不同,占用字节数也不同,有如下对应关系:

a)01类型:即数字量(bool)类型,每个数据占用1个字节中的1个比特位,即1字节表示8个数字量

b)02类型:即模拟量(float)类型,每个数据占用4字节,表示为有符号浮点数

c)03类型:即电度量(int)类型,每个数据占用4字节,表示为有符号整型

d)04类型:即数据链路状态(byte)类型,每个数据链路状态占用1字节,表示为0-255整数

报文校验字节(1字节):对报文内容相加后取最低1字节作为校验字节。

整体通信流程如下:

a)当通信前置机fep启动时,向对端通信前置机fep发送数据全量传送请求/响应帧(报文类型01),收到后开始进行数据链路状态同步(报文类型04),并对配置的每条数据链路进行主热备配置检查。

b)配置验证无误后,发送包含各子系统数据的数据载荷帧,并依据双方链路状态互相进行数据校验,校验无误后写入本机实时库。

c)数据同步完毕后,仅对值有变化的数据进行同步,采用报文类型为02的突发传送帧。当各子系统数据链路产生改变时,同样采用报文类型为02的突发传送帧进行数据链路状态改变通知至对端通信前置机fep。

d)当无数据进行传输时,每5秒发送及响应一次报文类型为03的测试帧,数据帧超过4次无响应后,则认为与对端通信断开。

e)当与对端的通信前置机fep通信重新建立后,重复a步骤,即向对端通信前置机fep发送数据全量传送请求/响应帧(报文类型01),收到后开始进行数据链路状态同步(报文类型04),并对配置的每条数据链路进行主热备配置检查。

4)所述基于host的通信前置机fep与综合监控实时服务器的跨操作系统平台冗余实现步骤包括:

在此种通信前置机fep冗余方案中,通信前置机fep与综合监控系统实时服务器间的通信冗余机制将采用基于局域网内host名称的方式进行通信,而不采用虚拟ip的方式,所有的通信均为短连接无状态通信,通信前置机fep与综合监控系统实时服务器各自维护本机的业务数据的状态。

通信前置机fep与综合监控实时服务器的冗余实现为:

综合监控系统实时服务器一的网卡与环网交换机一及通信前置机fep一的网卡组成环网一。综合监控实时服务器二的网卡与环网交换机二及通信前置机fep二的网卡组成环网二。所有的综合监控系统实时服务器均为此种拓扑方式,因此每台综合监控实时服务器,均有2路物理链路连接至每个通信前置机fep中,并处在不同的环网。参考图2。

综合监控系统实时服务器与通信前置机fep进行通信时,均采用通信前置机fep或综合监控系统实时服务器的host名作为通信地址而不采用物理ip地址,当环网中其中一路断开时,使用host名作为通信时将自动切换至环网中另一路物理链路,由于是短连接通信,切换物理链路后,仍可用原有的host名的进行建立及通信,并且物理链路切换时不会对业务数据状态产生影响。

在较极端的情况下,如某一台通信前置机fep从2路环网中完全断开,综合监控系统实时服务器将会立即感知到此台通信前置机fep通信中断,转而切换至另一台通信前置机fep进行后续通信。

本发明具体可以包括以下步骤:

第一步:根据各个子系统设备特征与协议特征在通信前置机fep中进行通讯配置,生成统一格式的配置表,需要的数据包含:设备名称、所属子系统、设备名对应设备点名称(一对多关系)、采集周期、通信协议、数据点、数据类型、数据链路冗余类型、数据链路通道名称(作为区分各个不同数据链路字段使用)等。依据子系统设备特征与协议特征对每条与子系统进行数据交互的数据链路进行不同的冗余配置,配置完成后部署于两台通信前置机fep中。

第二步:在两台通信前置机fep间加入两条直连至对端通信前置机fep的rj45接口心跳线,两条心跳线各占用通信前置机fep上的一个物理网卡。

第三步:通信前置机fep各使用一个物理网卡连接至a,b环网交换机,配置ip地址,与综合监控系统实时服务器建立物理网络连接。

第四步:在通信前置机fep中与综合监控实时服务器中配置除本身外其余各台通信前置机fep与综合监控系统实时服务器的host名称(进行hosttohost通信使用)。

第五步:部署通信前置机fep中与各子系统的通信模块,通信前置机fep间的冗余监测模块,通信前置机fep间的数据同步模块与数据链路同步模块。

第六步:部署完成后,启动两台通信前置机fep中的各个模块。

第七步:查看两台通信前置机fep实时库中数据与设备实际数据是否匹配;查看两台通信前置机fep中数据是否同步;查看两台通信前置机fep中数据链路状态是否同步;查看数据质量判断是否准确;查看两台通信前置机fep与综合监控系统实时服务器hosttohost通讯是否正常。

若第七步检测均正常,则实施部署成功。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1