发明内容
有鉴于此,本发明提供了一种告警监控系统及方法,可提高告警监控系统的可用性。
第一方面,本发明提供了一种告警监控系统,包括:
客户端、相互连接的实时处理系统和功能服务系统,其中,所述实时处理系统包括至少两台相互连接的第一服务器,所述功能服务系统包括至少两台相互连接的第二服务器;
所述至少两台第一服务器,用于接收所述至少两台第二服务器发送的第一目标指令,根据所述第一目标指令执行告警监控业务;
所述至少两台第二服务器,用于接收客户端发送的第二目标指令,根据所述第二目标指令向所述至少两台第一服务器发送第一目标指令。
进一步的,
所述至少两台第一服务器,包括:至少两个实时处理模块,其中,每一个实时处理模块对应一台第一服务器;
所述实时处理模块包括:
告警监控模块,用于根据所述第一目标指令获取第一告警信息;
告警归一化模块,用于将所述第一告警信息进行归一化处理以获取第二告警信息;
告警处理模块,用于将第二告警信息存储至数据库中。
进一步的,所述至少两台第二服务器,包括:至少两个告警查询模块,其中,每一个告警查询模块对应一台服务器;
所述至少两个告警查询模块,用于接收客户端发送的第三目标指令,所述第三目标指令指示所述至少两个告警查询模块查询数据库;
所述至少两个告警查询模块,用于向所述至少两个第一服务器发送携带查询请求的查询指令,获取查询数据库的权限,查询数据库以获取第三告警信息,并将所述第三告警信息转发至客户端。
进一步的,
针对每一个所述第一服务器,包括:第一处理器,用于运行当前第一服务器下的所述实时处理模块以产生至少两个实时处理进程;
针对每一个所述第二服务器,包括:第二处理器,用于运行当前第二服务器下的所述告警查询模块以产生至少两个告警查询进程。
进一步的,
所述至少两个第二服务器,进一步包括:至少两个系统设置模块,其中,每一个所述系统设置模块对应一台第二服务器;
所述至少两个系统设置模块,用于获取客户端发送的第四目标指令以执行系统设置业务,其中,所述第四目标指令指示所述至少两个系统设置模块在每一个所述第一服务器中和每一个所述第二服务器中分别设置节点管理器;以及,将任一所述第一服务器中的节点管理器设置为第一主节点管理器,将任一所述第二服务器中的节点管理器设置为第二主节点管理器;
针对每一个所述第一服务器下的节点管理器,用于在当前第一服务器下的任一实时处理进程故障时,隔离故障的实时处理进程;针对每一个所述第二服务器下的节点管理器,用于在当前第二服务器下的任一告警查询进程故障时,隔离故障的告警查询进程;
所述第一主节点管理器,用于当任一所述第一服务器宕机时,隔离宕机的第一服务器;所述第二主节点管理器,用于当任一所述第二服务器宕机时,隔离宕机的第二服务器。
第二方面,本发明提供了一种告警监控方法,包括:
客户端向包括至少两台相互连接的第二服务器的功能服务系统发送第二目标指令;
功能服务系统根据接收到的第二目标指令向包括至少两台相互连接的第一服务器的实时处理系统发送第一目标指令;
实时处理系统根据接收到的第一目标指令执行告警监控业务。
进一步的,所述实时处理系统根据接收到的第一目标指令执行告警监控业务,包括:
利用实时处理模块下的告警监控模块根据所述第一目标指令获取第一告警信息;
利用实时处理模块下的告警归一化模块将所述第一告警信息进行归一化处理以获取第二告警信息;
利用实时处理模块下的告警处理模块将第二告警信息存储至数据库中。
进一步的,还包括:
利用至少两个告警查询模块接收客户端发送的第三目标指令,所述第三目标指令指示所述至少两个告警查询模块查询数据库;
利用至少两个告警查询模块向所述至少两个第一服务器发送携带查询请求的查询指令,获取查询数据库的权限,查询数据库以获取第三告警信息,并将所述第三告警信息转发至客户端。
进一步的,还包括:
针对每一个第一服务器,分别利用当前第一服务器下的第一处理器运行每一个实时处理模块以产生至少两个实时处理进程;
针对每一个第二服务器,分别利用当前第二服务器下的第二处理器运行每一个告警查询模块以产生至少两个告警查询进程。
进一步的,还包括:
利用至少两个系统设置模块获取客户端发送的第四目标指令以执行系统设置业务,其中,所述第四目标指令指示所述至少两个系统设置模块在每一个所述第一服务器和每一个所述第二服务器中分别设置节点管理器;以及,将任一所述第一服务器中的节点管理器设置为第一主节点管理器,将任一所述第二服务器中的节点管理器设置为第二主节点管理器;
针对每一个所述第一服务器,在当前第一服务器下的任一实时处理进程故障时,利用当前第一服务器下的节点管理器隔离故障的实时处理进程;针对每一个所述第二服务器,在当前第二服务器下的任一告警查询进程故障时,利用当前第二服务器下的节点管理器隔离故障的告警查询进程;
以及,
当任一第一服务器宕机时,利用第一主节点管理器隔离宕机的第一服务器;当任一第二服务器宕机时,利用第二主节点管理器隔离宕机的第二服务器。
本发明提供了一种告警监控系统及方法,通过对告警监控系统进行分层架构,在实时处理系统中执行告警监控业务,完成告警监控系统的核心功能,以及通过功能服务系统与客户端进行信息交互以实现相应的功能服务,比如,向实时处理系统发送第一目标指令以使实时处理系统执行告警监控业务,即使功能服务系统故障时,不会影响告警监控系统下实时处理系统继续实现其核心功能;同时,将同一个业务模块分别部署在至少两个服务器中,可防止告警监控系统下单点服务器故障时导致相应的业务功能中断;终上所述,本发明通过对告警监控系统进行分层架构,以及利用多服务器的硬件资源优势,可提高告警监控系统的可用性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种告警监控系统,包括:
客户端1、相互连接的实时处理系统2和功能服务系统3,其中,所述实时处理系统2包括至少两台相互连接的第一服务器20,所述功能服务系统3包括至少两台相互连接的第二服务器30;
所述至少两台第一服务器20,用于接收所述至少两台第二服务器30发送的第一目标指令,根据所述第一目标指令执行告警监控业务;
所述至少两台第二服务器30,用于接收客户端1发送的第二目标指令,根据所述第二目标指令向所述至少两台第一服务器20发送第一目标指令。
本发明一实施例中,通过对告警监控系统进行分层架构,在实时处理系统中执行告警监控业务,完成告警监控系统的核心功能,以及通过功能服务系统与客户端进行信息交互以实现相应的功能服务,比如,向实时处理系统发送第一目标指令以使实时处理系统执行告警监控业务,即使功能服务系统故障时,不会影响告警监控系统下实时处理系统继续实现其核心功能;同时,将同一个业务模块分别部署在至少两个服务器中,可防止告警监控系统下单点服务器故障时导致相应的业务功能中断;终上所述,本发明通过对告警监控系统进行分层架构,以及利用多服务器的硬件资源优势,可提高告警监控系统的可用性。
需要说明的是,相互连接的第一服务器之间、实时处理系统和功能服务系统之间、功能服务系统和客户端之间均可通过消息队列进行通信。
进一步的,为了达到避免故障和预测故障的效果,在执行告警监控业务时,需要实时采集原始的告警信息,并将原始的告警信息进行相应的处理后入库以方便工作人员根据入库的告警信息进行相应的处理;具体地,如图2所示,本发明一个优选实施例中,所述至少两台第一服务器20,包括:至少两个实时处理模块201,其中,每一个实时处理模块201对应一台第一服务器20;
所述实时处理模块201包括:
告警监控模块2011,用于根据所述第一目标指令获取第一告警信息;
告警归一化模块2012,用于将所述第一告警信息进行归一化处理以获取第二告警信息;
告警处理模块2013,用于将第二告警信息存储至数据库中。
进一步的,为了便于工作人员通过客户端访问数据库以获取实时处理系统获取到的告警信息;参考图2,本发明一个优选实施例中,所述至少两台第二服务器30,包括:至少两个告警查询模块301,其中,每一个告警查询模块301对应一台第二服务器30;
所述至少两个告警查询模块301,用于接收客户端1发送的第三目标指令,所述第三目标指令指示所述至少两个告警查询模块301查询数据库;
所述至少两个告警查询模块301,用于向所述至少两个第一服务器20发送携带查询请求的查询指令,获取查询数据库的权限,查询数据库以获取第三告警信息,并将所述第三告警信息转发至客户端1。
本发明实施例中,通过告警监控模块、告警归一化模块以及告警处理模块实现告警监控业务核心功能,将完成告警监控业务核心功能的各个业务模块设置在实时处理系统中,将告警查询模块等实现功能服务的业务模块设置在功能服务系统中,可避免实现核心功能的模块与实现服务功能的各模块间产生资源竞争,提高业务处理能力;同时,将实现功能服务的各个模块设置在功能服务系统中,专用于与客户端进行信息交互以完成相应的业务,实时处理系统不再与客户端直接进行信息交互,可实现功能服务系统故障时,实时处理系统可继续实现其核心功能,进一步提高了告警监控系统的可用性。
进一步的,为了提高目标业务模块在执行目标业务时的处理速度,可在服务器下同时运行目标业务模块的多个业务进程,每一个业务进程均可单独实现其业务处理功能;具体地,本发明一个优选实施例中,针对每一个所述第一服务器20,包括:第一处理器(图中未示出),用于运行当前第一服务器20下的所述实时处理模块201以产生至少两个实时处理进程;
针对每一个所述第二服务器30,包括:第二处理器(图中未示出),用于运行当前第二服务器30下的所述告警查询模块301以产生至少两个告警查询进程。
进一步的,为了实现多个业务进程以及多个服务器时告警监控系统的容错机制,即确保任一业务进程故障或任一服务器故障时,其他的业务进程或服务器依然可继续执行相应的业务;本发明一个优选实施例中,所述至少两个第二服务器30,进一步包括:至少两个系统设置模块302,其中,每一个所述系统设置模块302对应一台第二服务器30;
所述至少两个系统设置模块302,用于获取客户端1发送的第四目标指令以执行系统设置业务,其中,所述第四目标指令指示所述至少两个系统设置模块302在每一个所述第一服务器20中和每一个所述第二服务器30中分别设置节点管理器(图中未示出);以及,将任一所述第一服务器20中的节点管理器设置为第一主节点管理器(图中未示出),将任一所述第二服务器30中的节点管理器设置为第二主节点管理器(图中未示出);
针对每一个所述第一服务器20下的节点管理器,用于在当前第一服务器20下的任一实时处理进程故障时,隔离故障的实时处理进程;针对每一个所述第二服务器30下的节点管理器,用于在当前第二服务器30下的任一告警查询进程故障时,隔离故障的告警查询进程;
所述第一主节点管理器,用于当任一所述第一服务器20宕机时,隔离宕机的第一服务器20;所述第二主节点管理器,用于当任一所述第二服务器30宕机时,隔离宕机的第二服务器30。
本发明实施例提供了一种告警监控方法,包括:
客户端向包括至少两台相互连接的第二服务器的功能服务系统发送第二目标指令;
功能服务系统根据接收到的第二目标指令向包括至少两台相互连接的第一服务器的实时处理系统发送第一目标指令;
实时处理系统根据接收到的第一目标指令执行告警监控业务。
为使本发明的目的、技术方案和优点更加清楚,下面根据告警监控系统及告警监控方法结合具体实施例对本发明做进一步地详细说明。
首先,分层架构设置告警监控系统,将告警监控系统中的各个业务模块根据其特性分别设置在实时处理系统和功能服务系统中;实时处理系统主要实现告警监控业务的核心功能,比如,获取原始告警信息,归一化处理原始告警信息以获取目标告警信息,将目标告警信息存储至数据库中以方便工作人员根据目标告警信息进行相应的处理,以达到避免故障和预测故障的效果;功能服务系统主要实现告警监控系统的其他功能服务,比如,提供告警信息查询功能、系统设置功能以及客户端扩展等。
其次,分层架构系统完成后,工作人员即可通过客户端与功能服务系统进行信息交互以进行相应的业务处理;比如,通过客户端向功能服务系统发送第二目标指令,所述第二目标指令指示功能服务系统向实时处理系统发送第一目标指令以使实时处理系统执行相应的告警监控业务;实时处理系统在执行告警监控业务的过程中,并不需要与客户端或功能服务系统进行信息交互,只需要通过告警监控模块、告警归一化模块以及告警处理模块等核心业务模块即可实现告警监控业务的核心功能;又如,通过客户端访问设置在功能服务系统中的告警查询模块,通过客户端向告警查询模块发送第三目标指令,所述第三目标指令指示告警查询模块向实时处理系统发送携带查询请求的查询指令以获取查询数据库的权限,当告警查询模块获取到查询数据库的权限后,即可查询数据库以获取第三告警信息(比如,数据库中记录的告警信息统计报表等),进而通过告警查询模块将第三告警信息转发至客户端以供工作人员参考。
可见,分层架构分离实现告警监控业务的核心功能模块和与客户端进行直接交互的功能服务模块,实时处理系统并不与客户端进行直接交互,可确保在其他功能服务模块故障或整个功能服务系统故障时,实时处理系统依然可继续实现其告警监控业务的核心功能;告警监控系统的可用性极高。
为了进一步确保告警监控系统的可用性,还可以通过单个服务器下运行多个业务进程的机制,以及通过硬件资源优势来实现,比如,包括使用多个服务器来实现相同的业务功能。
这里,单个服务器下运行多个业务进程时,需要实现容错机制,即其中一个业务进程故障时,不会影响其他业务进程继续执行相应的业务;同时,多个服务器实现相同业务功能时,也需要实现容错机制,即其中一个服务器故障时,不会影响其他服务器继续实现相应的业务功能。
具体地,本发明一实施例中,可通过设置在功能服务系统中的系统设置模块分别在每一个第一服务器和第二服务器中设置节点管理器,以及将任一第一服务器中的节点管理器设置为第一主节点管理器,将任一第二服务器中的节点管理器设置为第二主节点管理器;通过节点管理器,可实现进程级的调度管理,通过第一主节点管理器或第二主节点管理器可实现主机级的调度管理;举例来说,如图3所示,通过分别在第二服务器A和第二服务器B上运行第二处理器来实现告警查询业务;当告警查询进程A1故障时,节点管理器A可隔离告警查询进程A1,并将原本需要告警查询进程A1执行的业务调度至其他相同业务功能的业务进程(比如,告警查询进程A2、告警查询进程A3等);同理,当第二服务器A宕机时,可通过主节点管理器(节点管理器B)隔离第二服务器A,并将原本需要第二服务器A执行的业务调度至第二服务器B下的告警查询进程B1、告警查询进程B2或告警查询进程B3等具有告警查询功能的业务进程继续执行查询功能。
通过节点管理器以及第一主节点管理器、第二节点管理器等,还可以实现业务模块或服务器的独立更新,即需要对目标业务模块进行更新时,则通过相应的节点管理器隔离该目标业务模块,该业务模块更新完成后,在通过对应的节点管理器恢复其业务功能;服务器单独更新时可通过相似方法实现。
本发明各个实施例至少具有如下有益效果:
1、通过对告警监控系统进行分层架构,在实时处理系统中执行告警监控业务,完成告警监控系统的核心功能,以及通过功能服务系统与客户端进行信息交互以实现相应的功能服务,比如,向实时处理系统发送第一目标指令以使实时处理系统执行告警监控业务,即使功能服务系统故障时,不会影响告警监控系统下实时处理系统继续实现其核心功能;同时,将同一个业务模块分别部署在至少两个服务器中,可防止告警监控系统下单点服务器故障时导致相应的业务功能中断;终上所述,本发明通过对告警监控系统进行分层架构,以及利用多服务器的硬件资源优势,可提高告警监控系统的可用性。
2、通过分层结构以及多服务器的硬件资源优势,实现告警监控业核心功能的各业务模块单独设置在包括多个第一服务器的实时处理系统中,不必与客户端进行信息交互,避免完成告警监控业务核心功能的业务模块与实现其他相关功能服务的模块之间形成资源竞争,可提高告警监控系统下各业务功能模块实现核心功能的处理速度。
3、通过节点管理器以及第一主节点管理器、第二主节点管理器等,还可以实现业务模块和服务器的独立更新以及非正常工作时,进行调度管理,以使在某一个业务模块或服务器非正常工作时,将非正常工作的业务模块或服务器的业务调度至其他具有相同功能的业务模块或服务器继续执行相关业务。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。