一种综合监控系统转让专利

申请号 : CN201710778655.5

文献号 : CN107608285B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱旭东唐述马格日乐图潘海港

申请人 : 北京南凯自动化系统工程有限公司

摘要 :

本发明提供一种综合监控系统,包括分布式的多个监控节点,每个所述监控节点包括RPC客户端和RPC服务端;其中,所述RPC客户端用于当所属监控节点监测到报警信息时,基于远程过程调用RPC框架,根据所述报警信息获得RPC消息;所述RPC服务端用于基于远程过程调用RPC框架,对接收到的其他所有监控节点发送的RPC消息进行解析,获得报警应对策略。本发明实现了综合监控系统中各监控节点间的报警事件实时同步,确保了大量报警事件在结构化存储的同时拥有快速的索引速度和存取速度,缩短了报警事件处理的响应时间。

权利要求 :

1.一种综合监控系统,包括分布式的多个监控节点,其特征在于,每个所述监控节点包括RPC客户端和RPC服务端;

其中,所述RPC客户端用于当所属监控节点监测到报警信息时,基于远程过程调用RPC框架,根据所述报警信息获得RPC消息;

所述RPC服务端用于基于远程过程调用RPC框架,对接收到的其他所有监控节点发送的RPC消息进行解析,获得报警应对策略;

所述监控节点还包括:

发送模块,与所述RPC客户端连接,所述发送模块用于接收所述RPC客户端获得的所述RPC消息,经由综合监控系统的主干网发送至其他所有监控节点;以及接收模块,与其他所有监控节点的发送模块通信连接,以接收RPC消息,以及将接收到的RPC消息发送至所述监控节点的RPC服务端;

所述RPC客户端具体包括:

空RPC消息生成模块,用于当所属监控节点监测到所述报警信息时,基于远程过程调用RPC框架生成空RPC消息;以及RPC消息发送模块,用于在所述空RPC消息中添加参数和编码,获得所述RPC消息;

其中,所述参数包括所属监控节点监测到的报警信息,所述报警信息包括报警事件以及报警事件的发生时间;所述编码用于表示对应所述报警事件的报警应对策略。

2.如权利要求1所述的综合监控系统,其特征在于,所述RPC服务端具体包括:解析模块,用于对所述接收到的其他所有监控节点发送的RPC消息进行解析,获得所述参数和编码;

报警信息发送模块,用于根据所述参数,遍历报警信息索引表,获得并发送对应的报警信息;以及报警应对策略获得模块,根据所述编码,遍历报警应对策略索引表,获得并执行对应所述编码的报警应对策略。

3.如权利要求2所述的综合监控系统,其特征在于,每个所述监控节点还包括:存储器,用于接收并存储所述RPC服务端发送的报警信息;

其中,所述存储器中设置基于内存映射文件技术的公用存储区间,所述公用存储区间按时序存储待处理的报警信息,以使所有监控节点的RPC服务端仅执行公用存储区间中报警信息对应的报警应对策略。

4.如权利要求3所述的综合监控系统,其特征在于,所述RPC服务端还包括:报警信息修改模块,用于当开始执行所述公用存储区间中的报警信息对应的报警应对策略时,将该报警信息的标识修改为已读。

5.如权利要求3所述的综合监控系统,其特征在于,所述存储器还包括:历史存储区,用于接收并存储所属监控节点中报警信息发送模块在一定时间内发送的所有报警信息,并按时序将存储的报警信息发送至所述公用存储区间。

6.如权利要求5所述的综合监控系统,其特征在于,所述RPC服务端还包括:报警信息转存模块,用于当报警应对策略执行完成后,发送执行完成的报警应对策略对应的报警信息。

7.如权利要求6所述的综合监控系统,其特征在于,所述存储器还包括:存储索引区,用于接收并存储所属监控节点的报警信息转存模块发送的报警信息。

8.如权利要求7所述的综合监控系统,其特征在于,所述存储索引区基于B+树数据结构存储所有监控节点处理过的RPC消息。

说明书 :

一种综合监控系统

技术领域

[0001] 本发明涉及地铁监控技术领域,更具体地,涉及综合监控系统。

背景技术

[0002] 城市轨道交通综合监控系统(英文名称:Integrated Supervisory Control System,英文简称:ISCS,中文简称:综合监控系统),在地铁行业中不可或缺,是覆盖全线运营工点(控制中心、车站、车辆基地)的大型分层分布式系统,实现固定机电设备监控、远程调度及各专业的协调调度功能。
[0003] ISCS系统是一个分布式系统,系统中的每个监控节点都有可能成为报警信息源,一旦某一个监控节点产生报警信息,其他所有监控节点必须同时显示该报警信息信息。因此如何同步报警信息发生源的监控节点与各接收监控节点之间的报警信息信息,确保所有监控节点能够同步显示报警信息是ISCS系统需要解决的首要问题。
[0004] 并且由于ISCS系统所要监控的设备数量众多,涉及到的具体监测点成千上万,往往同一个监测点处于不同状态时会产生不同的报警信息,整个ISCS在实际运行时可能产生的报警信息种类庞杂、数据量巨大,一旦遇到突发事件,比如整个监控环境出现大面积故障情况时,报警信息将爆炸式产生,在短时间内充斥于系统环境中。此时,如何保证不遗漏任何报警信息、所有报警信息及时得到有序处理,是业内迟迟无法解决的问题。

发明内容

[0005] 本发明提供一种克服上述问题或者至少部分地解决上述问题的综合监控系统。
[0006] 根据本发明的一个方面,提供一种综合监控系统,包括分布式的多个监控节点,每个所述监控节点包括RPC客户端和RPC服务端;
[0007] 其中,所述RPC客户端用于当所属监控节点监测到报警信息时,基于远程过程调用RPC框架,根据所述报警信息获得RPC消息;
[0008] 所述RPC服务端用于基于远程过程调用RPC框架,对接收到的其他所有监控节点发送的RPC消息进行解析,获得报警应对策略。
[0009] 优选地,每个所述监控节点还包括:
[0010] 发送模块,与所述RPC客户端连接,所述发送模块用于接收所述RPC客户端获得的所述RPC消息,经由综合监控系统的主干网发送至其他所有监控节点;以及[0011] 所述接收模块,与其他所有监控节点的发送模块通信连接,以接收RPC消息,以及将接收到的RPC消息发送至所述监控节点的RPC服务端。
[0012] 优选地,所述RPC客户端具体包括:
[0013] 空RPC消息生成模块,用于当所属监控节点监测到所述报警信息时,基于远程过程调用RPC框架生成空RPC消息;以及
[0014] RPC消息发送模块,用于在所述空RPC消息中添加参数和编码,获得所述RPC消息;
[0015] 其中,所述参数包括所属监控节点监测到的报警信息,所述报警信息包括报警事件以及报警事件的发生时间;所述编码用于表示对应所述报警事件的报警应对策略。
[0016] 优选地,所述RPC服务端具体包括:
[0017] 解析模块,用于对所述接收到的其他所有监控节点发送的RPC消息进行解析,获得所述参数和编码;
[0018] 报警信息发送模块,用于根据所述参数,遍历报警信息索引表,获得并发送对应的报警信息;以及
[0019] 报警应对策略获得模块,根据所述编码,遍历报警应对策略索引表,获得并执行对应所述编码的报警应对策略。
[0020] 优选地,每个所述监控节点还包括:
[0021] 存储器,用于接收并存储所述RPC服务端发送的报警信息;
[0022] 其中,所述存储器中设置基于内存映射文件技术的公用存储区间,所述公共存储区间按时序存储待处理的报警信息,以使所有监控节点的RPC服务端仅执行公用存储区间中报警信息对应的报警应对策略。
[0023] 优选地,所述RPC服务端还包括:
[0024] 报警信息修改模块,用于当开始执行所述公共存储区间中的报警信息对应的报警应对策略时,将该报警信息的标识修改为已读。
[0025] 优选地,所述存储器还包括:
[0026] 历史存储区,用于接收并存储所属监控节点中报警信息发送模块在一定时间内发送的所有报警信息,并按时序将存储的报警信息发送至所述公共存储区间。
[0027] 优选地,所述RPC服务端还包括:
[0028] 报警信息转存模块,用于当报警应对策略执行完成后,发送执行完成的报警应对策略对应的报警信息。
[0029] 优选地,所述存储器还包括:
[0030] 存储索引区,用于接收并存储所属监控节点的报警信息转存模块发送的报警信息。
[0031] 优选地,所述存储索引区基于B+树数据结构存储所有监控节点处理过的RPC消息。
[0032] 本申请提出的一种综合监控系统,通过在各监控节点上预设RPC客户端和RPC服务端,利用包含报警事件内容参数的RPC过程调用实现各节点间的报警事件同步。综合监控系统包含多个分布式节点,各个节点都可能产生报警事件,因此所有节点都可能充当报警事件源节点,同时各个节点还需要能够充当接收处理其他节点报警事件的目的节点。在本发明的同步机制中,当节点产生报警事件充当源节点时调用RPC客户端主动向其他监控节点传送报警事件;当节点收到源节点的RPC调用请求时将充当目的节点,调用RPC服务端解析处理源节点发送过来的报警事件实现源节点与目的节点间的报警事件同步。
[0033] 综合监控系统运行时会收集到大量事件,为解决短时间内收到数量巨大的事件,导致的处理不及时而丢失事件问题,本发明采用内存映射技术构造存储报警事件缓冲区,即在内存中开辟共用的内存块来存储新产生的事件,不同模块均可定位到该缓冲池读取事件进行后续处理,并构造了专门的B+树存储结构来保存报警事件关键信息,实现了报警事件的快速索引,有效提高了报警事件的存取速度,最后还利用内存映射文件技术实现了历史数据存盘功能。

附图说明

[0034] 图1为根据本发明实施例的综合监控系统的功能框图;
[0035] 图2为根据本发明实施例的RPC服务端的功能框图;
[0036] 图3为根据本发明一个实施例的工作流程示意图;
[0037] 图4为根据本发明一个实施例的工作流程示意图;
[0038] 图5为根据本发明一个实施例的工作流程示意图。

具体实施方式

[0039] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0040] 为了克服现有ISCS系统中各监控节点无法同步报警时间消息的问题,本发明提供了一种综合监控系统,参见图1,包括分布式的多个监控节点,每个所述监控节点包括RPC客户端和RPC服务端;
[0041] 其中,所述RPC客户端用于当所属监控节点监测到报警信息时,基于远程过程调用RPC框架,根据所述报警信息获得RPC消息;
[0042] 所述RPC服务端用于基于远程过程调用RPC框架,对接收到的其他所有监控节点发送的RPC消息进行解析,获得报警应对策略。
[0043] 需要说明的是,RPC(英文全称:Remote Procedure Call Protocol,中文名称:远程过程调用协议),简单的来说就是像调用本地服务一样调用远程服务。RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。
[0044] 报警信息包括报警事件以及报警事件的发生时间,报警事件包括但不限于地铁系统中电力设备、火灾监控设备、区间环控设备、环境参数、屏蔽门设备、防淹门设备、电扶梯设备、照明设备、门禁设备、自动售检票设备、广播和闭路电视设备、乘客信息显示系统的故障和/或告警,例如屏蔽门无法正常关闭、电扶梯突然停止运行、照明设备无法正常照明、门禁设备失效等等。
[0045] 对于报警应对策略来说,报警应对策略是与报警事件对应,例如如果屏蔽门无法正常关闭。报警应对策略可以是发出屏蔽门无法正常关闭的提示信息,也可以是控制屏蔽门进行自我诊断、重启等策略。
[0046] 在实际应用时,所有监控节点都统一写入报警事件和报警应对策略,这样能保证任何一个监控节点都可以在获得RPC消息时执行报警应对策略,促使报警事件尽快解决。
[0047] 本实施例通过在各监控节点上设置RPC客户端和RPC服务端,利用包含报警信息的RPC过程调用实现各节点间的报警信息同步。由于ISCS包含多个监控节点,各个监控节点都可能产生报警信息,因此所有节点都可能充当报警信息源节点,同时各个节点还需要能够充当接收处理其他节点报警信息的目的节点。在本实施例的同步机制中,当监控节点产生报警信息充当源节点时,调用RPC客户端主动向其他ISCS节点传送报警信息;当节点收到源节点的RPC调用请求时将充当目的节点,调用RPC服务端程序解析处理源节点发送过来的报警信息实现源节点与目的节点间的报警信息同步。
[0048] 在上述实施例的基础上,本实施例中每个监控节点还包括:
[0049] 发送模块,与RPC客户端连接,发送模块用于接收RPC客户端获得的RPC消息,经由综合监控系统的主干网发送至其他所有监控节点;以及
[0050] 接收模块,与其他所有监控节点的发送模块通信连接,以接收RPC消息,以及将接收到的RPC消息发送至监控节点的RPC服务端。
[0051] 在一个可选实施例中,综合监控系统存在监控节点A和监控节点B,该综合监控系统的工作流程,参加图3包括:
[0052] 101、监控节点A监测到报警信息,RPC客户端基于远程过程调用RPC框架,根据所述报警信息获得RPC消息;
[0053] 102、监控节点A的发送模块将RPC消息通过综合监控系统的主干网进行发送至监控节点B;
[0054] 103、监控节点B的接收模块接收经由主干网发送的RPC消息,之后再发送给监控节点B的RPC服务端;
[0055] 104、监控节点B的RPC服务端对接收到的RPC消息进行解析,获得报警应对策略。
[0056] 在上述各实施例的基础上,RPC客户端具体包括:
[0057] 空RPC消息生成模块,用于当所属监控节点监测到所述报警信息时,基于远程过程调用RPC框架生成空RPC消息;以及
[0058] RPC消息发送模块,用于在所述空RPC消息中添加参数和编码,获得所述RPC消息;
[0059] 其中,所述参数包括所属监控节点监测到的报警信息,所述报警信息包括报警事件以及报警事件的发生时间;所述编码用于表示对应所述报警事件的报警应对策略。
[0060] 需要说明的是,对于参数来说,是RPC框架下信息传输所必须设置的内容,以两个监控节点为例,如果监控节点A想要调用监控节点B上提供的函数/方法,由于两个监控节点不在一个内存空间,不能直接调用,因此需要通过网络传达调用的数据,因此在建立TCP连接后,首先需要考虑寻址的问题,也就是说,监控节点A的RPC客户端怎么告诉底层的RPC框架,如何连接到监控节点B的RPC服务端,以及特定的端口,方法的名称是什么,这样才能完成调用,当监控节点A上的RPC客户端发起远程过程调用时,方法的参数需要通过底层的网络协议例如TCP传递到监控节点B。
[0061] 可以理解的是,由于网络协议是基于二进制的,因此参数的值还需要序列化成二进制的形式,也就是序列号(serialize)或编组(marshal),通过须知和传输将序列化的二进制发送到监控节点B的RPC服务端,监控节点B的RPC服务端对参数进行反序列化(序列化的逆操作),恢复成内存中的表达方式,然后找到对应的方法(寻址的一部分)进行本地调用,得到监控节点A监测到的报警信息以及对应该报警信息的报警应对策略。
[0062] 报警信息包括报警事件的发生时间的好处在于,RPC服务器可以根据发生时间的顺序,由早至晚依次进行解析,保证先出现的报警事件优先解决。通过在RPC消息中添加编码,而不是直接添加报警应对策略,能够减少数据包大小,减轻消息传输的负荷,也减少了传输丢包率。需要注意的是,每一个监控节点都内置一个编码与报警应对策略的对应表,称之为报警应对策略索引表,例如,编码:001,对应的报警应对策略为重启报表打印机;编码:357,对应的策略为通知值班人员对某门禁设备进行手动开启,等等。
[0063] 在上述各实施例的基础上,RPC服务端,参见图2,具体包括:
[0064] 解析模块,用于对所述接收到的其他所有监控节点发送的RPC消息进行解析,获得所述参数和编码;
[0065] 报警信息发送模块,用于根据所述参数,遍历报警信息索引表,获得并发送对应的报警信息;以及
[0066] 报警应对策略获得模块,根据所述编码,遍历报警应对策略索引表,获得并执行对应所述编码的报警应对策略。
[0067] 以存在监控节点A和监控节点B两个监控为例,本发明一个实施例综合监控系统的工作流程,参见图4,包括:
[0068] 201、监控节点A监测到报警信息,监控节点A的空RPC消息生成模块基于远程过程调用RPC框架生成空RPC消息;
[0069] 202、RPC消息发送模块在空RPC消息中添加参数和编码,获得RPC消息,参数包括所属监控节点监测到的报警信息,报警信息包括报警事件以及报警事件的发生时间;编码用于表示对应所述报警事件的报警应对策略;
[0070] 203、监控节点A的发送模块将生成的RPC消息发送至监控节点B的接收模块,该接收模块再进一步发送给监控节点B的解析模块;
[0071] 204、该解析模块对所述接收到的所属监控节点和其他所有监控节点发送的RPC消息进行解析,获得所述参数和编码;
[0072] 205、监控节点B的报警信息发送模块根据所述参数,遍历报警信息索引表,获得并发送对应的报警信息,报警应对策略获得模块根据编码,遍历报警应对策略索引表,获得并执行对应编码的报警应对策略。
[0073] 需要说明的是,本实施例中的RPC服务端在获得RPC消息后,通过上述模块的运行,就可以对报警事件进行处理,进一步地,通过对不同的监控节点设置“设备角色”(主设备还是从设备)以及“操作员登录角色”来控制上层应用对报警事件的操作权限。例如,存在监控节点A、B和C,预先设置监控节点B为主设备,监控节点A为监控节点B的从设备,那么当监控节点A发出RPC消息时,只有监控节点B才会对该RPC消息进行处理。在一个可选实施例中,显示报警是一个没有实际操控的动作,所以可以将显示报警信息作为一个缺省策略和通用策略,这种策略各节点设备同时执行也是可以的。
[0074] 在上述各实施例的基础上,每个所述监控节点还包括:存储器,用于接收并存储RPC服务端发送的报警信息;其中,存储器中设置基于内存映射文件技术的公用存储区间,所述公共存储区间按时序存储待处理的报警信息,以使所有监控节点的RPC服务端仅执行公用存储区间中报警信息对应的报警应对策略。
[0075] 需要说明的是,存储器还具有历史数据存盘功能,该功能包括将驻留于逻辑内存空间中的历史事件信息转存至oracle等数据库中存储。
[0076] 对于内存映射文件技术来说,是由一个文件到一块内存的映射。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。内存映射文件技术的优势在于,这种数据共享是让两个或多个进程映射同一文件映射对象的视图,即它们在共享同一物理存储页。这样,当一个进程向内存映射文件的一个视图写入数据时,其他的进程立即在自己的视图中看到变化。
[0077] 本发明实施例通过结合内存映射文件技术,使得所有监控节点在面对同一个报警信息时,当一个监控节点向公用存储区间存储时,其他监控节点都可以在公共存储区间看到报警信息更新,同时,监控节点在读取(并执行)报警信息后,其他监控节点也可以看到高报警信息已被读取,那么就不需要重复读取,提高了报警处理的效率,并且由于本发明实施例中的报警信息都记录报警信息的发生时间,在公共存储区间按时序存储报警信息,所有监控节点按时序进行处理,也避免了在短时间内收到数量巨大的报警信息而不知如何处理的问题。
[0078] 以存在监控节点A和监控节点B两个监控为例,本发明一个实施例综合监控系统的工作流程,参见图5,包括:
[0079] 301、监控节点A监测到报警信息,监控节点A的空RPC消息生成模块基于远程过程调用RPC框架生成空RPC消息;
[0080] 302、RPC消息发送模块在空RPC消息中添加参数和编码,获得RPC消息,参数包括所属监控节点监测到的报警信息,报警信息包括报警发生时间;编码用于表示对应所述报警信息的报警应对策略;
[0081] 303、监控节点A的发送模块将生成的RPC消息发送至监控节点B的接收模块,该接收模块再进一步发送给所属监控节点的解析模块;
[0082] 304、该解析模块对所述接收到的所属监控节点和其他所有监控节点发送的RPC消息进行解析,获得所述参数和编码;
[0083] 305、监控节点B的报警信息发送模块根据所述参数,遍历报警信息索引表,获得对应的报警信息,并将报警信息发送至存储器的公用存储区间中;
[0084] 306、监控节点B的报警应对策略获得模块按顺序读取公用存储区间中的报警信息,由于报警信息和编码具有对应关系,通过报警信息对应的编码,遍历报警应对策略索引表,获得并执行对应所述编码的报警应对策略。
[0085] 需要说明的是,由上述各实施例可知,报警事件和编码存在对应关系,每一个报警事件都具有唯一的编码,本发明实施例的监控节点还存储由报警事件和编码的对应关系表,报警应对策略获得模块通过该对应关系表,就可以获知对应任何一个报警信息的编码。
[0086] 在上述各实施例的基础上,RPC服务端还包括:报警信息修改模块,用于当开始执行所述公共存储区间中的报警信息对应的报警应对策略时,将该报警信息的标识修改为已读。
[0087] 需要说明的是,报警信息中还具有标识位,当报警信息存储至公共存储区间时,标识位中的标识为未读,当报警信息被读取,并开始执行对应的报警应对策略时,标识由未读修改为已读。
[0088] 在一个可选实施例中,报警信息修改模块还可以与报警应对策略获得模块连接,报警应对策略获得模块还用于在执行报警应对策略后向报警信息修改模块发送确认消息,报警信息修改模块在收到确认消息后,再将对应的报警信息的标识进一步由已读修改为已执行,这样操作能够保证报警处理的鲁棒性。
[0089] 在上述各实施例的基础上,存储器还包括:历史存储区,用于接收并存储所属监控节点中报警信息发送模块在一定时间内发送的所有报警信息,并按时序将存储的报警信息发送至所述公共存储区间。
[0090] 例如,如果报警信息发送模块在一定时间内发送了100条报警信息,但RPC服务端的处理能力并不能迅速完成对这100条报警信息的处理工作,那么根据本发明实施例,报警信息发送模块首先将这100条报警信息发送至历史存储区,然后历史存储区按时间顺序,将这100条报警信息中前20个报警事件发送到公共存储区间,然后由综合监控系统中的监控节点进行处理,处理完成后,再按照时间顺序把第21-40各报警时间发送到公共存储区间,直至这100条报警信息处理完毕。
[0091] 在上述各实施例的基础上,RPC服务端还包括:报警信息转存模块,用于当报警应对策略执行完成后,发送执行完成的报警应对策略对应的报警信息。相应地,存储器还包括:存储索引区,用于接收并存储所属监控节点的报警信息转存模块发送的报警信息。
[0092] 在上述各实施例的基础上,存储索引区基于B+树数据结构存储所有监控节点处理过的RPC消息。
[0093] 对于B+数数据结构来说,它属于一种多路搜索树,其定义基本与B-树相同,除了:非叶子结点的子树指针与关键字个数相同;非叶子结点的子树指针P[i],指向关键字值属于[K[i],K[i+1])的子树(B-树是开区间);为所有叶子结点增加一个链指针;所有关键字都在叶子结点出现;B+树的搜索与B-树也基本相同,区别是B+树只有达到叶子结点才命中(B-树可以在非叶子结点命中),其性能也等价于在关键字全集做一次二分查找;B+的特性:所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;不可能在非叶子结点命中;非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层;更适合文件索引系统。
[0094] 最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。