服务器告警输出方法及系统的制作方法

文档序号:7986249阅读:220来源:国知局
服务器告警输出方法及系统的制作方法
【专利摘要】本发明公开了一种服务器告警输出方法及系统,所述方法包括:创建键值对数据库,其采用键值对的形式记录了服务器已发送至对应告警处理模块的历史告警信息;在服务器与告警处理模块建立连接后,获取告警处理模块上报的登陆参数信息,并依据该登陆参数信息选择对应的告警信息输出策略,并依据对应的告警信息输出策略对键值对数据库中的历史告警信息以及网管系统数据库中的全局告警信息进行告警匹配处理。采用本发明,服务器不会对已发送至告警处理模块的告警信息进行重复发送,并且可以保障在告警处理模块与服务器连接中断重连时获取告警信息的完整性。
【专利说明】服务器告警输出方法及系统
【技术领域】
[0001]本发明涉及电信网管【技术领域】,具体而言,涉及一种服务器告警输出方法及系统。【背景技术】
[0002]在电信网管软件领域,通信系统(包括传输系统、话务系统、安全系统、派单系统、动环系统等)的运行是否正常是通过告警来区别的。当系统运行异常时,触发告警信息,管理人员发现告警信息后进行处理,并确认告警信息;当系统恢复正常后,告警信息消除。
[0003]在实际应用过程中,经常需要将系统产生的告警信息输出到某些第三方,如将动环网管系统产生的告警信息通过短信息、邮件等方式通知管理和维护人员;或者将传输网管系统与第三方厂家进行对接,如将传输网管系统产生的告警信息以SNMP (SimpleNetwork Management Protocol,简单网络管理协议)协议输出到第三方厂家的话务网管系统等。
[0004]通常,在网管系统服务器输出告警信息的过程中,其遵循的基本原则主要包括:
[0005]1、在告警信息产生、消除、确认时,能够正常发送到告警处理模块,并且相同的告警信息不重复发送;
[0006]2、在服务器或者接收告警信息的告警处理模块发生异常重启后,服务器能够将异常期间的告警信息进行补发,保证传输的告警信息的完整性。
[0007]现有的告警输出方式大致分为以下两种:
[0008]1、不做任何的输出匹配算法,只要有告警处理模块登录,服务器都将所有的告警信息发送到告警处理模块,不管这些告警信息是否已经发送过。在服务器重启或者告警处理模块重新登录后,期间产生的告警信息无法补发;
[0009]2、网管系统服务器只负责发送告警,所有的匹配算法都在接收告警信息的告警处理模块端进行,此时,所有的告警处理模块都要进行告警匹配的设计。
[0010]由此,上述现有的两种处理方式存在一定的问题,分别为:
[0011]1、已经发送到告警处理模块的告警没有做记录,重启告警处理模块或者服务器后,告警信息会重复发送,每个告警处理模块必须专门针对这部分重复发送的告警信息进行匹配处理。为此,系统设计人员不仅要设计告警处理模块的业务上的实现方法,还要专门设计该告警处理模块的匹配算法。尤其是在将网管系统产生的告警信息输出到第三方厂家时,还必须双方配合协商匹配算法,显然其效率低下,不利于双方系统对接。
[0012]2、在服务器或者告警处理模块停止或退出过程中,如果有告警消除产生,且该告警消除对应的告警信息已经发送给相应的告警处理模块,在服务器或者告警处理模块重新启动后,现有的系统都只是获取当前系统所有的没有消除的告警信息,而那些已经消除的告警信息将无法获取,那么就会出现丢失告警消除的情况,告警输出模块某条告警可能后面一直都无法消除,这样就会导致服务器输出告警信息出现不完整以及不准确的情况。

【发明内容】
[0013]为了解决现有技术存在的对已发送告警信息进行重复发送以及告警信息发送不完整的问题,本发明的目的在于提供一种服务器告警输出方法及系统。
[0014]为了达到本发明的目的,本发明采用以下技术方案实现:
[0015]一种服务器告警输出方法,包括:
[0016]创建键值对数据库,其采用键值对的形式记录了服务器已发送至对应告警处理模块的历史告警信息;
[0017]在服务器与告警处理模块建立连接后,获取告警处理模块上报的登陆参数信息,并依据该登陆参数信息选择对应的告警信息输出策略,并依据对应的告警信息输出策略对键值对数据库中的历史告警信息以及网管系统数据库中的全局告警信息进行告警匹配处理。
[0018]优选地,所述告警匹配处理包括:
[0019]服务器或告警处理模块异常期间服务器未发送的告警信息补发处理;
[0020]和/或,已发送至告警处理模块的告警信息不再重复发送处理;
[0021]和/或,网管系统产生的重复告警信息只发送一次处理。
[0022]优选地,所述登陆参数包括第一参数match以及第二参数needcachesendalarm,服务器依据告警处理模块上报的这些登陆参数信息选择对应的告警信息输出策略的规则为:
[0023]当match为0,即表示该告警处理模块不需要服务器进行告警匹配处理,服务器收到该登陆参数后,将键值对数据库中缓存的与该告警处理模块对应的历史告警信息记录清空;
[0024]当match为1,即表示该告警处理模块需要服务器进行告警匹配处理,服务器收到该登陆参数后,通过对键值对数据库进行反序列化处理得到与该告警处理模块对应的已发送的历史告警信息,其中,所述历史告警信息包括告警记录A以及告警确认记录B,如果网管系统数据库当前要发送给该告警处理模块的当前告警信息已经在告警记录A中出现,则表示该告警信息已经发送过,服务器不需要将其再次发送,否则,服务器需要将该当前告警信息发送至该告警处理模块;如果网管系统数据库当前要发送的当前告警确认在告警确认记录B中出现,表示该当前告警确认已经发送过,服务器不需要再次发送,否则,服务器需要将该当前告警确认发送至该告警处理模块;
[0025]当needcachesendalarm为O,即表示该告警处理模块不需要服务器缓存其已发送的告警信息和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息以及告警确认信息不执行缓存到键值对数据库中;
[0026]当needcachesendalarm为I,即表示该告警处理模块需要服务器缓存其已发送的告警和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息和告警确认信息将执行缓存到键值对数据库中。
[0027]优选地,在创建所述键值对数据库之后,在服务器启动时,建立与键值对数据库的连接,服务器利用反序列化工具反序列化该键值对数据库中已经发送的历史告警信息。
[0028]优选地,所述键值对数据库为基于No-Sql技术的Redis键值对数据库,所述反序列化工具为Protocol Buffer。
[0029]一种服务器告警输出系统,包括:[0030]键值对数据库,其连接至服务器,用于采用键值对的形式记录服务器已发送至对应告警处理模块的历史告警信息;
[0031]服务器,用于在与告警处理模块建立连接后,获取告警处理模块上报的登陆参数信息,并依据该登陆参数信息选择对应的告警信息输出策略,并依据对应的告警信息输出策略对键值对数据库中的历史告警信息以及网管系统数据库中的全局告警信息进行告警匹配处理。
[0032]至少一个告警处理模块,用于在登陆服务器时,上报登陆参数。
[0033]优选地,服务器执行的所述告警匹配处理包括:
[0034]服务器或告警处理模块异常期间服务器未发送的告警信息补发处理;
[0035]和/或,已发送至告警处理模块的告警信息不再重复发送处理;
[0036]和/或,网管系统产生的重复告警信息只发送一次处理。
[0037]优选地,所述登陆参数包括第一参数match以及第二参数needcachesendalarm,服务器依据告警处理模块上报的这些登陆参数信息选择对应的告警信息输出策略的规则为:
[0038]当match为0,即表示该告警处理模块不需要服务器进行告警匹配处理,服务器收到该登陆参数后,将键值对数据库中缓存的与该告警处理模块对应的历史告警信息记录清空;
[0039]当match为1,即表示该告警处理模块需要服务器进行告警匹配处理,服务器收到该登陆参数后,通过对键值对数据库进行反序列化处理得到与该告警处理模块对应的已发送的历史告警信息,其中,所述历史告警信息包括告警记录A以及告警确认记录B,如果网管系统数据库当前要发送给该告警处理模块的当前告警信息已经在告警记录A中出现,则表示该告警信息已经发送过,服务器不需要将其再次发送,否则,服务器需要将该当前告警信息发送至该告警处理模块;如果网管系统数据库当前要发送的当前告警确认在告警确认记录B中出现,表示该当前告警确认已经发送过,服务器不需要再次发送,否则,服务器需要将该当前告警确认发送至该告警处理模块;
[0040]当needcachesendalarm为0,即表示该告警处理模块不需要服务器缓存其已发送的告警信息和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息以及告警确认信息不执行缓存到键值对数据库中;
[0041]当needcachesendalarm为I,即表示该告警处理模块需要服务器缓存其已发送的告警和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息和告警确认信息将执行缓存到键值对数据库中。
[0042]优选地,在服务器启动时,其首先建立与键值对数据库的连接,并利用反序列化工具反序列化该键值对数据库中已经发送的历史告警信息。
[0043]优选地,所述键值对数据库为基于No-Sql技术的Redis键值对数据库,所述反序列化工具为Protocol Buffer。
[0044]本发明通过利用本地创建的键值对数据库,保存已经发送到各个告警处理模块的历史告警记录,并使得告警处理模块根据不同的事件(例如告警处理模块正常登陆服务器、告警处理模块登录完成后接收告警、服务器或告警处理模块异常恢复后重新登陆等)向服务器上报不同的登陆参数,从而服务器端能够依据这些登陆参数来自动完成告警信息的输出匹配,进而对于各个告警处理模块不用再去设计复杂的匹配算法,降低了系统设计的难度,并且能够解决现有技术中存在的对已发送告警信息进行重复发送以及告警信息发送不完整的技术问题,服务器不会对已发送至告警处理模块的告警信息进行重复发送,并且可以保障在告警处理模块与服务器连接中断重连时获取告警信息的完整性。
【专利附图】

【附图说明】
[0045]图1为本发明实施例加载已经发送过的历史告警信息的处理流程示意图;
[0046]图2为本发明实施例模块消除告警补发流程;
[0047]图3为本发明实施例告警发送流程示意图;
[0048]图4为本发明实施例将数据从键值对数据库同步到本地磁盘文件的流程示意图;
[0049]图5为本发明实施例服务器告警输出系统结构示意图。
[0050]本发明目的的实现、功能特点及优异效果,下面将结合具体实施例以及附图做进一步的说明。
【具体实施方式】
[0051]下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0052]本发明实施例提供的一种服务器告警输出方法,包括如下步骤:
[0053]S10、创建键值对数据库,其采用键值对的形式记录了服务器已发送至对应告警处理模块的历史告警信息;
[0054]S20、在服务器与告警处理模块建立连接后,获取告警处理模块上报的登陆参数信息,并依据该登陆参数信息选择对应的告警信息输出策略,并依据对应的告警信息输出策略对键值对数据库中的历史告警信息以及网管系统数据库中的全局告警信息进行告警匹配处理。
[0055]在所述步骤SlO中,所述键值对数据库用于缓存服务器发送至各个告警处理模块的历史告警信息,其数据采用键值对(Key-Value)的形式予以缓存。例如,在本实施例中,在所述键值对数据库中保存的键值对信息的数据结构为:
[0056]
【权利要求】
1.一种服务器告警输出方法,其特征在于,包括: 创建键值对数据库,其采用键值对的形式记录了服务器已发送至对应告警处理模块的历史告警信息; 在服务器与告警处理模块建立连接后,获取告警处理模块上报的登陆参数信息,并依据该登陆参数信息选择对应的告警信息输出策略,并依据对应的告警信息输出策略对键值对数据库中的历史告警信息以及网管系统数据库中的全局告警信息进行告警匹配处理。
2.如权利要求1所述的服务器告警输出方法,其特征在于,所述告警匹配处理包括: 服务器或告警处理模块异常期间服务器未发送的告警信息补发处理; 和/或,已发送至告警处理模块的告警信息不再重复发送处理; 和/或,网管系统产生的重复告警信息只发送一次处理。
3.如权利要求2所述的服务器告警输出方法,其特征在于,所述登陆参数包括第一参数match以及第二参数needcachesendalarm,服务器依据告警处理模块上报的这些登陆参数信息选择对应的告警信息输出策略的规则为: 当match为O,即表示该告警处理模块不需要服务器进行告警匹配处理,服务器收到该登陆参数后,将键值对数据库中缓存的与该告警处理模块对应的历史告警信息记录清空; 当match为1,即表示该告警处理模块需要服务器进行告警匹配处理,服务器收到该登陆参数后,通过对键值对数据库进行反序列化处理得到与该告警处理模块对应的已发送的历史告警信息,其中,所述历史告警信息包括告警记录A以及告警确认记录B,如果网管系统数据库当前要发送给该告警处理模块的当前告警信息已经在告警记录A中出现,则表示该告警信息已经发送过,服务器不需要将其再次发送,否则,服务器需要将该当前告警信息发送至该告警处理模块;如果网管系统数据库当前要发送的当前告警确认在告警确认记录B中出现,表示该当前告警确认已经发送过,服务器不需要再次发送,否则,服务器需要将该当前告警确认发送至该告警处理模块; 当needcachesendalarm为O,即表示该告警处理模块不需要服务器缓存其已发送的告警信息和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息以及告警确认信息不执行缓存到键值对数据库中; 当needcachesendalarm为I,即表示该告警处理模块需要服务器缓存其已发送的告警和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息和告警确认信息将执行缓存到键值对数据库中。
4.如权利要求1所述的服务器告警输出方法,其特征在于,在创建所述键值对数据库之后,在服务器启动时,建立与键值对数据库的连接,服务器利用反序列化工具反序列化该键值对数据库中已经发送的历史告警信息。
5.如权利要求4所述的服务器告警输出方法,其特征在于,所述键值对数据库为基于No-Sql技术的Redis键值对数据库,所述反序列化工具为Protocol Buffer。
6.一种服务器告警输出系统,其特征在于,包括: 键值对数据库,其连接至服务器,用于采用键值对的形式记录服务器已发送至对应告警处理模块的历史告警信息; 服务器,用于在与告警处理模块建立连接后,获取告警处理模块上报的登陆参数信息,并依据该登陆参数信息选择对应的告警信息输出策略,并依据对应的告警信息输出策略对键值对数据库中的历史告警信息以及网管系统数据库中的全局告警信息进行告警匹配处理。 至少一个告警处理模块,用于在登陆服务器时,上报登陆参数。
7.如权利要求6所述的服务器告警输出系统,其特征在于,服务器执行的所述告警匹配处理包括: 服务器或告警处理模块异常期间服务器未发送的告警信息补发处理; 和/或,已发送至告警处理模块的告警信息不再重复发送处理; 和/或,网管系统产生的重复告警信息只发送一次处理。
8.如权利要求7所述的服务器告警输出系统,其特征在于,所述登陆参数包括第一参数match以及第二参数needcachesendalarm,服务器依据告警处理模块上报的这些登陆参数信息选择对应的告警信息输出策略的规则为:当match为O,即表示该告警处理模块不需要服务器进行告警匹配处理,服务器收到该登陆参数后,将键值对数据库中缓存的与该告警处理模块对应的历史告警信息记录清空; 当match为1,即表示该告警处理模块需要服务器进行告警匹配处理,服务器收到该登陆参数后,通过对键值对数据库进行反序列化处理得到与该告警处理模块对应的已发送的历史告警信息,其中,所述历史告警信息包括告警记录A以及告警确认记录B,如果网管系统数据库当前要发送给该告警处理模块的当前告警信息已经在告警记录A中出现,则表示该告警信息已经发送过,服务器不需要将其再次发送,否则,服务器需要将该当前告警信息发送至该告警处理模块;如果网管系统数据库当前要发送的当前告警确认在告警确认记录B中出现,表示该当前告警确认已经发送过,服务器不需要再次发送,否则,服务器需要将该当前告警确认发送至该告警处理模块; 当needcachesendalarm为O,即表示该告警处理模块不需要服务器缓存其已发送的告警信息和告警确认信息至键值对数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息以及告警确认信息不执行缓存到键值对数据库中; 当needcachesendalarm为1,即表示该告警处理模块需要服务器缓存其已发送的告警和告警确认信息至键值对 数据库中,服务器收到该登录参数后,服务器对所有已发送至该告警处理模块的告警信息和告警确认信息将执行缓存到键值对数据库中。
9.如权利要求6所述的服务器告警输出系统,其特征在于,在服务器启动时,其首先建立与键值对数据库的连接,并利用反序列化工具反序列化该键值对数据库中已经发送的历史告警信息。
10.如权利要求9所述的服务器告警输出系统,其特征在于,所述键值对数据库为基于No-Sql技术的Redis键值对数据库,所述反序列化工具为Protocol Buffer。
【文档编号】H04L12/24GK103840962SQ201210486810
【公开日】2014年6月4日 申请日期:2012年11月26日 优先权日:2012年11月26日
【发明者】肖东晖, 田波 申请人:深圳中兴力维技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1