一种可靠的分布式告警的实现方法与流程

文档序号:12494792阅读:139来源:国知局
一种可靠的分布式告警的实现方法与流程

本发明涉及综合监控技术领域,尤其涉及一种可靠的分布式告警系统的实现方法。



背景技术:

综合监控系统部署在地铁车站和地铁控制中心(又称中央或中心站或线网运营控制中心OCC)。综合监控系统采集车站机电设备的报警数据,在车站工作站进行显示,同时控制中心可通过车站服务器获取各个车站的报警数据进行集中的显示,其中,报警数据需要满足一下需求:报警数据可进行确认和关闭操作、车站和中央显示的报警数据应一致、综合监控系统要求报警实时显示等,而且车站可与控制中心断开连接,实现离线工作。

地铁报警系统存在中央和车站的概念,中央可集中显示报警信息,各个车站也可以独立显示本站的报警数据,但是基于以上需求,采用集中式的报警系统在此情况下不适用,如果采用中央集中生成报警方式,中央和车站离线时车站无法正常工作。而如果采用分层方式,车站生成报警并集中上传中央服务器,由中央服务器统一管理,则增加中央的运行压力,同时多层通信操作重复并不利于扩展。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种可靠的分布式告警系统的实现方法,其通过分布式方式进行报警的生成和传输,实现车站客户端可显示本站报警数据,中心客户端通过连接到车站服务器的方式进行报警的查询和管理操作。

本发明的目的采用以下技术方案实现:

一种可靠的分布式告警系统的实现方法,其应用于对地铁的中心站和多个车站的综合监控系统中,所述分布式告警系统包括服务器和工作站,其中,服务器部署有报警服务端和消息通信中间件模块;所述工作站部署有报警客户端;所述报警客户端通过消息通信中间件模块连接报警服务端;

每个车站均配置有至少一个服务器和多个工作站;所述车站的服务器以及车站的服务器中部署的报警服务端分别称为车站服务器和车站服务端;所述车站的工作站部署的报警客户端称为车站客户端;

所述中心站配置有至少一个服务器和多个工作站;所述中心站的服务器以及中心站的服务器中部署的报警服务端分别称为中心服务器和中心服务端;所述中心站的工作站部署的报警客户端称为中心客户端;

综合监控系统采集各个车站机电设备的报警数据,当报警数据源来自于某一车站时,由该车站的报警数据源向对应车站的车站服务端推送报警通知信息,车站服务端接收到所述报警通知消息后,推送报警数据到对应的车载服务器和中心服务器;

所述车站服务器通过其内部署的消息通信中间件模块将报警数据转发到车站客户端,所述中心服务器通过其内部署的消息通信中间件模块将报警数据转发到中心客户端。

所述综合监控系统还采集中心站的报警数据,当报警数据源来自于中心站时,由该中心站的报警数据源向中心服务端推送报警通知信息,中心服务端接收到所述报警通知消息后,推送报警数据到中心服务器;中心服务器再通过其内部署的消息通信中间件模块将报警数据转发到中心客户端。

所述消息通信中间件模块为基于订阅/发布模式的消息通信中间件模块。

所述车站服务端与其对应车站客户端的报警数据同步,所述同步的方法为:

步骤11、车站客户端尝试与其对应的车站服务器建立连接,以订阅主题,所述主题为报警通知,如果订阅主题成功,则执行步骤15,反之执行步骤13;

步骤12、车站客户端开始尝试与其对应的车站服务端建立连接,如果连接成功,则执行步骤15,反之执行步骤14;

步骤13、车站客户端从其对应车站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤11的操作直至订阅主题成功,然后执行步骤12;

步骤14、车站客户端从其对应车站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤12的操作直至车站客户端与其对应的车站服务端连接成功,然后执行步骤15;

步骤15、车站客户端向其对应的车站服务端发送报警数据同步请求,车站服务端对所述报警数据同步请求做出应答,并同步将报警数据发送给车站客户端,车站客户端将报警数据在对应的界面中显示,然后执行步骤16;

步骤16、当车站服务端接收到报警通知消息后,发布该报警通知消息到其对应的车站服务器中,然后车站服务器转发该报警通知消息到所有步骤11中订阅了主题的车站客户端上,然后执行步骤17;

步骤17、操作员对任意车站客户端收到的报警通知消息进行报警操作,被进行报警操作后的报警通知消息称为更改后的报警通知消息,车站客户端将其更改后的报警通知消息发送到车站客户端对应的车站服务端上,车站服务端对其对应车站的数据库进行更新,然后并将其接收到的更改后的报警通知消息发送给车站服务端对应的车站服务器,车站服务器将该更改后的报警通知消息转发到所有步骤11中订阅了主题的车站客户端上,所有车站客户端根据其接收到的更改后的报警通知消息重新刷新界面。

所述车站服务端与其对应车站客户端的报警数据同步过程中,在执行步骤15至步骤17时,车站客户端定时向其对应的车站服务端发送心跳信息,当发现车站客户端与车站服务端的连接断开后,则在重新连接后重新执行步骤15至步骤17的操作。

所述中心服务端与中心客户端的报警数据同步,所述同步的方法为:

步骤21、中心客户端尝试与中心服务器建立连接,以订阅主题,所述主题为报警通知,如果订阅主题成功,则执行步骤25,反之执行步骤23;

步骤22、中心客户端开始尝试与中心服务端建立连接,如果连接成功,则执行步骤25,反之执行步骤24;

步骤23、中心客户端从中心站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤21的操作直至订阅主题成功,然后执行步骤22;

步骤24、中心客户端从中心站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤22的操作直至中心客户端与中心服务端连接成功,然后执行步骤25;

步骤25、中心客户端向中心服务端发送报警数据同步请求,中心服务端对所述报警数据同步请求做出应答,并同步将报警数据发送给中心客户端,中心客户端将报警数据在对应的界面中显示,然后执行步骤26;

步骤26、当中心服务器到报警通知消息后,转发该报警通知消息到所有步骤21中订阅了主题的中心客户端上,然后执行步骤27;

步骤27、操作员对任意中心客户端收到的报警通知消息进行报警操作,被进行报警操作后的报警通知消息称为更改后的报警通知消息,中心客户端将其更改后的报警通知消息同时发送到中心服务端,中心服务端对中心站的数据库进行更新,然后并将其接收到的更改后的报警通知消息发送给中心服务器,中心服务器将该更改后的报警通知消息转发到所有步骤21中订阅了主题的中心客户端上,所有中心客户端根据其接收到的更改后的报警通知消息重新刷新界面。

优选地,所述中心服务端与中心客户端的报警数据同步过程中,在执行步骤25至步骤27时,中心客户端定时向中心服务端发送心跳信息,当发现中心客户端与中心服务端的连接断开后,则在重新连接后重新执行步骤25至步骤27的操作。

优选地,步骤27中,中心客户端还将其更改后的报警通知消息发送到向中心服务器发送报警通知消息的车站对应的车站服务端上,车站服务端对其对应车站的数据库进行更新,然后并将其接收到的更改后的报警通知消息发送给车站服务端对应的车站服务器,车站服务器将该更改后的报警通知消息转发到所有步骤11中订阅了主题的车站客户端上,所有车站客户端根据其接收到的更改后的报警通知消息重新刷新界面。

优选地,所述分布式告警系统还包括预案服务端,其中,所述车站服务端连接到与其对应车站的预案服务端以调用执行预案的接口实现该车站的全自动报警操作;所述中心服务端连接到与中心站的预案服务端以调用执行预案的接口实现地铁的全自动报警操作。

优选地,每个车站以及中心站均配置两台互为冗余的热备份服务器。

相比现有技术,本发明的有益效果在于:

1、采用分布式方式进行报警(也即是告警)的生成和传输,由车站生成并管理本车站的报警数据,车站客户端可显示本站报警数据,中心客户端通过连接到车站服务器的方式进行报警的查询和管理操作,当中心站与车站处于离线状态时,车站可独立管理本站报警数据,直到网络恢复后,车站将本站报警数据同步到中央客户端,中心站与车站报警信息保持一致;

2、分布式告警系统同样可用于报警系统的横向和纵向扩展,可动态增加车站,将报警数据加入中心站;可建立多条线路的运营控制中心,运营控制中心客户端可直接与不同线路的车站报警系统通信并同步该车站报警;

3、实现了负载均衡的报警系统,报警以车站为单位,易于报警系统的扩展,可实现一个中心、多个中心的架构模式,提高了报警的实时性。

附图说明

图1为本发明的分布式告警系统的实现方法的网络架构图;

图2为本发明客户端和服务端同步的流程图;

图3为本发明报警操作中报警颜色的迁移图;

图4为本发明报警操作中报警状态的迁移图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述:

请参照图1所示,一种可靠的分布式告警系统的实现方法,其应用于对地铁的中心站和多个车站的综合监控系统中,分布式告警系统包括服务器和工作站,其中,服务器部署有报警服务端(Alarm Agent)、ICE(面向对象的RPC消息通信中间件,简称消息通信中间件)模块和数据库;工作站部署有报警客户端(Alarm Client);报警客户端通过消息通信中间件模块连接报警服务端;在本发明中,对于地铁适用的报警客户端主动推送消息到多个报警服务端的情况,在车站和中心站部署的消息通信中间件模块均采用ICE Strom(基于订阅/发布模式的消息通信中间件)模块,当然,消息通信中间件也可以采用CORBA、WebService、消息队列、WCF、Remoting等实现,或者使用其他网络通信协议实现报警客户端和报警服务端的通讯,其网络通信协议包括但不限于TCP/IP、HTTP、UDP等。另外,服务器和工作站可采用Unix架构服务器、x86架构服务器、云计算服务器、工控机、PC机、便携式计算设备、移动设备等具有运算能力的计算机设备。

在本发明较佳的实施例中,每个车站均配置有互为冗余的热备份服务器和多个工作站;车站的服务器以及车站的服务器中部署的报警服务端分别称为车站服务器和车站服务端;车站的工作站部署的报警客户端称为车站客户端;中心站同样配置有互为冗余的热备份服务器和多个工作站;中心站的服务器以及中心站的服务器中部署的报警服务端分别称为中心服务器和中心服务端;中心站的工作站部署的报警客户端称为中心客户端。

综合监控系统采集各个车站机电设备的报警数据,当报警数据源来自于某一车站时,由该车站的报警数据源向对应车站的车站服务端推送报警通知信息,车站服务端接收到报警通知消息(也即是报警数据,该报警数据可在车站客户端和中心客户端进行相应的报警操作,)后,推送报警数据到对应的车载服务器和中心服务器;车站服务器通过其内部署的消息通信中间件模块将报警数据转发到车站客户端,中心服务器通过其内部署的消息通信中间件模块将报警数据转发到中心客户端。上述各种操作会产生事件记录,事件记录插入数据库中形成事件表。

报警客户端和报警服务端的通信通道有2个,一个是直接和报警服务端建立连接,用于报警数据的同步和更新报警操作消息。还有一个是与报警服务器建立连接,订阅主题,接收报警通知消息。为了解决数据同步问题,严格按图2所示的流程,其中客户端和服务端的启动先后顺序任意。

对于车站服务端与其对应车站客户端的报警数据同步,其同步的方法包括以下步骤:

步骤11、车站客户端尝试与其对应的车站服务器建立连接,以订阅主题,主题为报警通知,如果订阅主题成功,则执行步骤15,反之执行步骤13;

步骤12、车站客户端开始尝试与其对应的车站服务端建立连接,如果连接成功,则执行步骤15,反之执行步骤14;

步骤13、车站客户端从其对应车站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤11的操作直至订阅主题成功,然后执行步骤12;

步骤14、车站客户端从其对应车站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤12的操作直至车站客户端与其对应的车站服务端连接成功,然后执行步骤15;

步骤15、车站客户端向其对应的车站服务端发送报警数据同步请求,车站服务端对报警数据同步请求做出应答,并同步将报警数据发送给车站客户端,车站客户端将报警数据在对应的界面中显示,然后执行步骤16;

步骤16、当车站服务端接收到报警通知消息后,发布该报警通知消息到其对应的车站服务器中,然后车站服务器转发该报警通知消息到所有步骤11中订阅了主题的车站客户端上,然后执行步骤17;

步骤17、操作员对任意车站客户端收到的报警通知消息进行报警操作,被进行报警操作后的报警通知消息称为更改后的报警通知消息,车站客户端将其更改后的报警通知消息发送到车站客户端对应的车站服务端上,车站服务端对其对应车站的数据库进行更新,然后并将其接收到的更改后的报警通知消息发送给车站服务端对应的车站服务器,车站服务器将该更改后的报警通知消息转发到所有步骤11中订阅了主题的车站客户端上,所有车站客户端根据其接收到的更改后的报警通知消息重新刷新界面。

需要注意的是:车站服务端与其对应车站客户端的报警数据同步过程中,在执行步骤15至步骤17时,车站客户端定时向其对应的车站服务端发送心跳信息,当发现车站客户端与车站服务端的连接断开后,则在重新连接后重新执行步骤15至步骤17的操作。

而对于在中心站获取上述车站的报警数据时,中心服务端与中心客户端的报警数据也要同步,同时,还要在中心客户端对报警通知消息的更改同步到产生报警数据源的车站,即又使得产生报警数据源的车站对应的车站服务端与车站客户端的报警数据同步,请参照图1和图2所示,中心服务端与中心客户端的报警数据同步的方法包括以下步骤:

步骤21、中心客户端尝试与中心服务器建立连接,以订阅主题,主题为报警通知,如果订阅主题成功,则执行步骤25,反之执行步骤23;

步骤22、中心客户端开始尝试与中心服务端建立连接,如果连接成功,则执行步骤25,反之执行步骤24;

步骤23、中心客户端从中心站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤21的操作直至订阅主题成功,然后执行步骤22;

步骤24、中心客户端从中心站的数据库里加载报警数据并在其对应的界面中显示,同时,继续尝试完成步骤22的操作直至中心客户端与中心服务端连接成功,然后执行步骤25;

步骤25、中心客户端向中心服务端发送报警数据同步请求,中心服务端对报警数据同步请求做出应答,并同步将报警数据发送给中心客户端,中心客户端将报警数据在对应的界面中显示,然后执行步骤26;

步骤26、当中心服务器到报警通知消息后,转发该报警通知消息到所有步骤21中订阅了主题的中心客户端上,然后执行步骤27;

步骤27、操作员对任意中心客户端收到的报警通知消息进行报警操作,被进行报警操作后的报警通知消息称为更改后的报警通知消息,中心客户端将其更改后的报警通知消息同时发送到中心服务端,中心服务端对中心站的数据库进行更新,然后并将其接收到的更改后的报警通知消息发送给中心服务器,中心服务器将该更改后的报警通知消息转发到所有步骤21中订阅了主题的中心客户端上,所有中心客户端根据其接收到的更改后的报警通知消息重新刷新界面;中心客户端还将其更改后的报警通知消息发送到向中心服务器发送报警通知消息的车站(即产生报警数据源的车站)对应的车站服务端上,车站服务端对其对应车站的数据库进行更新,然后并将其接收到的更改后的报警通知消息发送给车站服务端对应的车站服务器,车站服务器将该更改后的报警通知消息转发到所有步骤11中订阅了主题的车站客户端上,所有车站客户端根据其接收到的更改后的报警通知消息重新刷新界面。

需要注意的是:中心服务端与中心客户端的报警数据同步过程中,在执行步骤25至步骤27时,中心客户端定时向中心服务端发送心跳信息,当发现中心客户端与中心服务端的连接断开后,则在重新连接后重新执行步骤25至步骤27的操作。

综合监控系统还采集中心站的报警数据,当报警数据源来自于中心站时,由该中心站的报警数据源向中心服务端推送报警通知信息,中心服务端接收到报警通知消息后,仅推送报警数据到中心服务器;中心服务器再通过其内部署的消息通信中间件模块将报警数据转发到中心客户端。此时,中心服务端与中心客户端的报警数据同步的过程就不包括向车站服务端发送相应的更改后的报警通知消息了,其过程这里不再赘述。

另外,分布式告警系统还包括预案服务端,预案服务端可以单独部署于一服务器中,也可以部署于相对应的车站服务器或中心服务器中。车站服务端连接到与其对应车站的预案服务端以调用执行预案的接口实现该车站的全自动报警操作;中心服务端连接到与中心站的预案服务端以调用执行预案的接口实现地铁的全自动报警操作。

请参照图3所示,报警产生时,在客户端(车站客户端或/和中心客户端)的界面(例如报警条)显示闪烁状态,报警颜色根据报警等级由最低等级到最高等级分别显示为黄、橙、紫、红四种颜色,操作员确认报警后,报警信息闪烁状态消失,颜色不变。报警信息自动关闭或手动关闭时,报警颜色显示为绿色。报警操作包含:报警、报警确认、报警关闭几种状态,其状态迁移过程如图4所示。

需要说明的是:上述本发明较佳的实施例中仅对多个车站中一个车站发生报警时进行操作,事实上,对二个或以上车站同时或不同时报警的情况与其类似,此种情况下,除该二个或以上车站自身的客户端会显示相应的报警通知消息外,它们的报警通知消息会均集中显示到中心客户端上。同时,本发明不仅适用于一条地铁线路中一个中心多个车站形成的分布式告警系统;同样也适用于一条地铁线路包含多个中心分别集中管理多个车站、一条地铁线路包含多个中心交叉管理多个车站的系统架构以及多条地铁线路情况下,一条地铁线路设立一个或多个线网中心,并通过该一个或多个线网中心管理多条地铁线路中心的形成的分布式告警系统。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

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