轨道交通通信集中告警系统设计与实现

2017-08-30 00:17重庆市轨道交通集团有限公司
电子世界 2017年15期
关键词:线程子系统客户端

重庆市轨道交通(集团)有限公司 义 军

轨道交通通信集中告警系统设计与实现

重庆市轨道交通(集团)有限公司 义 军

通信集中告警系统(Centralized Communication Alarm System)就是利用计算机系统及网络传输技术,它是在通信各子系统网管终端的基础上,增加的一级集中告警系统,对轨道交通各通信系统进行信息采集并集中反映到告警终端,使维护人员能及时了解轨道交通通信系统的故障信息以便于处理。本文针对现有CCAS误报、漏报严重,使用困难的现状,在充分掌握运维人员需求的基础上综合分析现有系统的一些设计理念和业务逻辑,并结合国内相关系统的技术和文献,设计并实现了一套集中告警系统,实践证明,该系统运行稳定、告警准确、使用方便,非常具有借鉴意义。

通信集中告警系统;信息采集;故障信息

0 引言

轨道交通通信系统涉及的子系统种类繁多,实现其告警信息的统一管理一直以来都是运维的客观需要。目前,由于各通信子系统由多家厂商提供、不同的厂家均采用自己的接口协议以及相互配合协调方面的问题导致目前的实施效果很不理想。当今国内采用的集中告警系统一般都采用分布式的C/S架构系统来开发设计,告警系统主要包括系统服务器、告警显示客户端等。告警系统服务器负责采集各子系统的告警数据,将不同协议的告警数据转换成系统内部统一格式并存入数据库。告警解析模块根据不同设备类型的告警状态匹配规则进行告警分析定位,将分析结果提交给服务器,服务器再将告警结果转发给告警显示客户端显示,告警显示客户端提供人机操作界面,通过监控拓扑图来显示网络及设备的运行状态。

总之,轨道交通通信系统信息的集中化管理,一直以来都是通信系统运维的焦点,相信随着国内轨道交通行业的逐渐成熟,集中告警系统将会发挥更加重要的作用。

1 系统架构设计

1.1 系统功能架构

本集中告警系统功能架构的设计以系统应用功能为依据,采用了层次化分解设计方法,将整个系统从功能上划分为了应用层、服务层和接口层这三个层次,如图1所示。

图1 系统功能架构

接口层是本系统的基础支撑,为上层提供基本的数据及通信访问接口;服务层是本系统的业务支撑,为上层业务应用提供必要的连接、数据、报文、通信服务;应用层基于接口层和服务层提供的服务打造,以各应用子程序或子系统逻辑功能来划分功能模块,主要功能包含告警显示、查询、统计、处理及系统管理/配置等应用功能。

1.2 系统体系架构

在充分分析了现有系统的设计理念和用户需求后,结合当前通信系统主流软件技术路线,确定本系统体系架构主要以子系统和系统组成模块来进行划分,对系统功能架构在技术层面上进行子系统应用功能的整合、内外部通信接口关系的确定、系统公共组件的提取,最终形成本系统的体系架构,如图2所示。

图2 系统体系架构

图2所示中虚线框内为集中告警系统各组成子系统,主要分为ADTS、TServer和DCPS三部分,各子系统基于系统公共组组件库搭建;蓝色连接线表示TCP长连接,红色连接线表示数据库访问。

整个集中告警系统主要包含系统公共组件库和各组成子系统这两大部分,各组成部分功能如下:

ADTS:负责告警信息的显示、处理以及系统配置、管理等功能。

TServer:负责管理和维护各TCP客户端与TCP通信管理器之间的通信连接,并将各内部组件之间的业务逻辑层的消息转发给相应的目标组件。

DCPS:负责系统所有告警业务数据的采集、处理。

数据库系统:负责各通信系统的告警数据、状态数据、配置数据的记录。

系统公共组件:为各子系统提供基础模块支撑,主要包括通信接口模块、通信管理模块、通用数据结构模块(队列等)、日志模块、其它应用模块等。

1.3 系统技术架构

基于项目各通信专业系统数据采集效率及告警信息处理及时性之需求,本系统采用分布式C/S架构,系统各组件之间的通信以TCP连接基础。系统技术架构如图3所示。

系统技术架构中主要包含三个组成部分,具体如下:

客户端/client:客户端程序,基于系统公共组件库搭建,主要完成用户界面、告警业务逻辑处理等功能(系统配置、告警信息显示及处理等),和服务端程序TCP连接进行通信。

服务端/server:服务端程序,基于系统公共组件库搭建,主要完成报文转发、TCP连接服务、业务数据处理等功能。

系统公共组件库:参见1.2节。

图3 系统技术架构

1.4 系统部署架构

基于系统工程架构对系统各组件及子系统的划分,系统部署架构主要从逻辑角度和物理角度对系统各组成子系统及外部系统的组成关系进行阐述。

系统部署逻辑架构是从系统部署的逻辑构成角度来进行阐述的,主要针对的是系统工程架构中各组成子系统与系统部署环境(应用服务器、数据库服务器、文件服务器和其他服务器)的逻辑对应关系,如图4所示。

图4 系统部署-逻辑架构

系统部署物理架构是从系统部署的物理角度来进行阐述的,明确部署环境与物理区域之间的对应关系,如图5所示。

图5 系统部署-物理架构

2 系统关键技术设计

2.1 内部子系统多线程设计模型

为了减少开发工作量和维护成本、降低开发难度,在设计系统时尽量使各个组件的设计采用相同或者类似的模型或模式来实现,以达到在设计模式层面上的复用。在多线程程序的设计开发过程中,我们总结、抽象出一套多线程设计模型,基于设计模式复用之理念,本系统的各个组件、子系统都将采用统一的多线程设计模型来进行开发设计。在实际开发过程中,可基于开发类库中的线程类来灵活,进行应用线程类的派生,如:VC平台(MFC类库)则从CwinThread类派生出应用线程类;QT平台则从Qthread类派生出应用线程类。线程间的通信方式以队列数据结构为主。如图6所示。

图6 多线程设计模型

数据发送流程:

(1)业务处理线程有数据发送需求。

(2)业务数据入下行队列。

(3)通信客户端线程从下行队列取数据后向Tserver发送。

(4)Tserver完成业务数据的转发、交付。

数据接收流程:

(1)通信客户端线程接收Tserver发来的数据。

(2)业务数据入上行队列。

(3)消息处理线程从上行队列取数据、解析后进行相应的业务逻辑处理。

上述多线程设计模型适合所有子系统及组件,各子系统和组件采用同样的设计模型进行应用程序设计,各子系统的差异主要体现在业务处理线程中具体业务处理逻辑上。

2.2 系统接口

系统涉及的接口种类(包含各通信子系统及综合监控(ISCS)等)及厂商较多,各接口设计概述如下:

(1)Snmp接口

简单网络管理协议(SNMP),通信设备厂商采用的一种比较常见的基于UDP的网管接口协议,一般来说,通信设备商实现SNMP代理端功能,网管、告警系统等程序实现SNMP管理端功能,这里采用开源代码snmp++进行开发。

(2)Corba接口

通用对象请求代理体系结构(CORBA),网管系统北向接口所采用的一种比较常见的接口体系,它和snmp最大的不同是,corba接口基于TCP。设计开发和snmp类似,通信厂商实现服务端功能,网管、告警系统等程序利用厂商所提供的IDL文件进行管理客户端的开发,这里采用开源代码ACE-TAO进行开发。

(3)socket接口

系统中各客户端模块或客户端后台进程与服务器进程之间通信主要采取的是socket接口,主要针对的是内部通信协议、报文解析和内外部协议转换。由于本系统内部通信需要较高的可靠性,它直接影响到整个系统的稳定性和可靠性,因此,我们采用的是TCP协议。

3 系统实现及应用

本系统服务端以ubuntu 14.04.4 desktop为开发环境,QT 4.8.5(for linux)为集成开发工具进行开发,数据库采用MySQL 5.5.42 for Linux;客户端以Win10为开发环境,QT 4.8.5(for windows)为集成开发工具。服务端和客户端均使用C++实现,集中告警系统客户端界面如图7所示。

图7 集中告警系统界面

整个客户端分为操作部分和显示部分,操作部分主要分成告警显示、查询统计和设置三个大模块,显示部分主要分为告警信息的站点拓扑图显示和其下端的告警信息详情这两个部分。告警信息可通过站点拓扑图进行过滤,告警显示方式可通过操作区进行快速切换。此外,可以通过查询统计功能对当前的告警信息进行统计并以柱形图、饼状图和折线图等多种方式进行展现。在告警列表中还可通过右键为某个告警信息添加维护信息,其中可以说明故障的排除方法,经验总结等。对于一些维护人员已经确认解决了的故障但系统未及时更新的故障可以通过“人工确认”进行故障的确认,确认后的故障将从告警列表中删除,站点拓扑图中也不再提示,故障维护记录中会记录此条信息。

本系统通过长时间的测试,体现出极高的稳定性、可靠性和准确性,可解决当前集中告警系统不稳定、错报、漏报等问题,无论用于原系统的改造或新线的建设都是不错的选择。实践证明,本次设计采用的架构稳定可靠,具备极高的实用性,特别是在各组件的设计上采用相同或相似模型或模式的设计理念成功降低了开发难度节省了开发时间,为今后类似项目的设计提供了极大的参考性和借鉴意义。

4 结束语

随着我国城市轨道交通的迅速发展,通信系统也在逐步走向成熟,不仅对维护人员也对开发和技改人员提出了更高的要求,要求我们在熟练运用各种技能和工具的同时还要能准确掌握用户的需求,并能将当前相关领域的先进技术运用到实际工作中来。虽然这次我们成功地实现了集中告警系统解决了当前遇到的问题,但在一些地方仍需要完善和加强,我们要及时、认真地总结本项目中的经验教训,使之成为我们珍贵的知识财富并在今后的项目中不断地完善自我,为我们的轨道运营提供坚实的保障

[1]贾志华.地铁通信系统的集中告警[J].工程实践及应用技术,2010,36(2): 62-64.

[2]李士东.轨道交通专用通信集中告警系统设计[J].综合电子信息技术,2012,38(3):58-61.

[3]罗嘉红.电信综合告警集中显示系统方案[J].广西通信技术,2007(3):37-39.

[4]陈东伐.城市轨道交通通信集中告警系统的方案设计[J].学术专论,2011(8):51-53+68.

[5]汪晓臣,于鑫,等.城市轨道交通通信集中告警系统设计与实现[J].现代城市轨道交通,2014(3):27-30.

义军(1983—),重庆人,硕士,现就职于重庆市轨道交通(集团)有限公司。

猜你喜欢
线程子系统客户端
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
基于国产化环境的线程池模型研究与实现
驼峰测长设备在线监测子系统的设计与应用
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
浅谈linux多线程协作
线程池技术在B/S网络管理软件架构中的应用
车载ATP子系统紧急制动限制速度计算