专利名称:基于简单网络管理协议的告警解析方法、工作站及系统的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种基于简单网络管理协议的解析方法、工作站及系统。
背景技术:
目前几乎所有网络通信设备都具备了 SNMP (SimpleNetwork ManagementProtocol,简单网络管理协议)网路管理功能,SNMP协议是匪S网络管理系统(NetworkManagement System)所能够管理的一种协议。SNMP协议网管代理进行通信和操作。网管代理与网络管理工作站之间通过标准的SNMP协议来进行通信。SNMP网管系统可以完成对被管设备的配置管理、性能管理和故障管理等功能。SNMP Trap (简单网络管理协议陷阱)是SNMP代理向一个或多个预配置的网络管理工作站发送的一种非请求性通知消息,其用于向管理者报告被管理对象的状态变化。目前网管故障管理采用的技术是直接解析SNMP Trap数据包,根据SNMP Trap数据包中的OID (Object Identifiers,对象标识符)定制成相应级别和名称的告警,然后保存到数据,最后再界面上显示。然而,现有的故障解析比较固定,虽然可以通过配置文件将OID配置到解析文件中,但是对于有业务逻辑的告警上报,无法做到根据业务规则进行解析。
发明内容
本发明实施方式所要解决的技术问题在于,提供一种基于简单网络管理协议的告警解析方法,该方法包括以下步骤
接收网管代理的告警信息;
根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。其中,在接收网管代理的告警信息的步骤中,接收网管代理的简单网络管理协议陷阱数据包。在根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息的步骤中还包括以下步骤
根据简单网络管理协议陷阱数据包获取对象标识符;
判断所述对象标识符是否包含在预存的简单网络管理协议配置文件中,所述简单网络管理协议配置文件包括管理信息库节点名称所对应的字段信息;
当所述对象标识符包含在预存的简单网络管理协议配置文件中时,对简单网络管理协议陷阱数据包的绑定参数进行解析,并生产一个事件对象模型,所述事件对象模型为所述对象标识符对应的告警信息的数据结构。在对简单网络管理协议陷阱数据包的绑定参数进行解析,并生产一个事件对象模型的步骤之后还包括以下步骤判断所述对象标识符是否包含在预存的规则配置文件中,所述预存的规则配置文件中包括至少一个对应所述对象标识符的业务规则;
当所述对象标识符包含在预存的规则配置文件中时,对所述简单网络管理协议陷阱数据包含的绑定参数执行相应的业务规则;生成执行所述业务规则的执行结果;将所述执行结果转化为适用于不同语言使用者的告警信息;将所述告警信息存储到数据库中;显示所述告警信息。在对所述简单网络管理协议陷阱数据包含的绑定参数执行相应的业务规则的步骤及所述生成执行所述业务规则的执行结果步骤之间还包括以下步骤
当所述对象标识符对应所述规则配置文件中多个业务规则时,则仅执行第一个符合条件的业务规则。相应的,本发明实施方式还提供了一种基于简单网络管理协议的告警解析网络管理工作站,其包括
接收模块,用于接收网管代理的告警信息;
所述告警生成模块,用于根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。其中,所述接收模块用于接收所述网管代理的简单网络管理协议陷阱数据包,所述告警生成模块包括
标识符获取子模块,用于根据简单网络管理协议陷阱数据包获取对象标识符;标识符匹配子模块,用于判断所述对象标识符是否包含在预存的简单网络管理协议配置文件中,所述简单网络管理协议配置文件包括管理信息库节点名称所对应的字段信息;
解析子模块,用于对简单网络管理协议陷阱数据包的绑定参数进行解析,并生产一个事件对象模型,所述事件对象模型为对象标识符对应的告警信息的数据结构。所述告警生成模块还包括
规则匹配子模块,用于判断所述对象标识符是否包含在预存的规则配置文件中;执行子模块,用于对所述简单网络管理协议陷阱数据包含的绑定参数执行相应的业务规则;
结果子模块,用于生成执行所述业务规则的执行结果;
国际化子模块,用于将所述执行结果转化为适用于不同语言使用者的告警信息;存储子模块,用于将所述告警信息存储到数据库中;显示子模块,显示所述告警信息。所述告警生成模块还包括
选择子模块用于当所述对象标识符对应所述规则配置文件中多个业务规则时,仅执行第一个符合条件的业务规则。本发明实施方式还提供了一种基于简单网络管理协议的告警解析的系统,该系统包括上述的网络管理工作站和一运行在被管设备上的网管代理,所述网管代理向所述网络
管理工作站发送告警。本发明提供的基于简单网络管理协议的告警解析方法由于采用了包括业务规则的规则配置文件,从而能够对于有业务逻辑的告警上报进行解析。另外,配置文件的操作是多个判断规则的并行操作。因此,性能更稳定,容错性更好,开发过程中工作效率更高。并且修改时,只需要修改规则配置文件的不同参数就能适应不同的情况,开发成本低,减少维护工作量。同时,所述规则判断过程可以作为一个单独的工作模块,增加到现有系统中,还可按不同需要从系统中删除。不影响现有系统的运作。
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的基于简单网络管理协议的解析方法的第一实施方式的流程图2是本发明提供的基于简单网络管理协议的解析系统的第一实施方式的结构框图;图3是本发明提供的基于简单网络管理协议的解析方法的第二实施方式的流程图;图4是本发明提供的基于简单网络管理协议的解析系统的第二实施方式的结构框图。
具体实施例方式下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。在本发明实施方式中,通过采用了包括业务规则的规则配置文件,从而能够对于有业务逻辑的告警上报进行解析。请参阅图1,为本发明提供的第一实施方式提供的基于简单网络管理协议的解析方法。该方法包括一下步骤
步骤101,接收网管代理的告警信息。本实施方式中,从被管理设备上的网管代理20获取简单网络管理协议陷阱数据包(以下简称SNMP Trap数据包)J^SNMP Trap数据包进行解码,提取解码后的SNMP Trap数据包中的0ID,并判断是否包含在简单网络管理协议配置文件中,如果SNMP Trap数据包所携带的OID值与简单网络管理协议配置文件中保存的一条告警信息的数据结构的OID值相同,则对SNMP Trap数据包的绑定参数进行解析,并生产一个事件对象模型。所述简单网络管理协议配置文件为现有的配置文件,所述简单网络管理协议配置文件由第三方定义的xml文件,其中包括MIB (Management Information Base,管理信息库)节点名称所对应的字段信息。所述事件对象模型为OID对应的告警信息的数据结构。本实施方式中,所述数据结构为一种键值对格式。步骤103,根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。本实施方式中,所述预存的规则配置文件中包括至少一个对应OID的业务规则。具体地,所述各业务规则包括至少一个条件操作,所述条件操作可以是“大于”,“小于”,“等于”等比较操作;或者是“与”和“或”等条件操作;或者是重定向告警名称,告警级别,告警分类,告警详情信息在告警详情等赋值操作;或者是通过java国际化API,将SNMP Trap上报的数字或者英文名称替换为业务逻辑相关的告警描述的编译操作等等。本步骤中,根据所述事件对象模型去查找相应的业务规则,如果不存在对应的业务规则,那么丢弃所述事件对象模型。如果存在对应的业务规则,那么根据所述SNMP Trap数据包中绑定参数的信息,执行相应业务规则,并生成符合业务逻辑的告警信息。请参阅图2,为本发明第一实施方式提供的基于简单网络管理协议的解析系统100的结构框图。所述简单网络管理协议的解析系统100包括网络管理工作站10和一运行在被管设备上的网管代理20。所述网管代理20用于向所述网络管理工作站10发送告警信息。本实施方式中,所述网管代理20向所述网络管理工作站10发送包含告警信息的SNMP Trap数据包。所述网络管理工作站10包括接收模块11及告警生成模块12。所述接收模块11用于接收网管代理20的告警。本实施方式中,所述接收模块11根据第一实施方式的步骤101生产事件对象模型。所述告警生成模块12用于根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。本实施方式中,所述告警生成模块12获取一预存的规则配置文件,所述规则配置文件中包括至少一个业务规则,根据所述告警信息在所述规则配置文件中查找对应的所述业务规则,执行所述业务规则,生成符合业务逻辑的告警信息。本实施方式中,所述接收模块11根据第一实施方式的步骤103生成符合业务逻辑的告警信息。请参阅图3,为本发明提供的第二实施方式提供的基于简单网络管理协议的解析方法。该方法包括一下步骤
步骤201,接收网管代理的SNMP Trap数据包。步骤203,根据SNMP iTrap数据包获取OID。本实施方式中,对获取的SNMP Trap数据包进行解码,再提取解码后的SNMP Trap数据包中的0ID。步骤205,判断所述OID是否包含在预存的简单网络管理协议配置文件中。本实施方式中,所述简单网络管理协议配置文件为现有的配置文件,所述简单网络管理协议配置文件由第三方定义的xml文件,其中包括MIB节点名称所对应的字段信息。步骤207,当所述01D包含在预存的简单网络管理协议配置文件中时,对SNMPTrap数据包的绑定参数进行解析,并生产一个事件对象模型,所述事件对象模型为OID对应的告警信息的数据结构。本实施方式中,所述数据结构为一种键值对格式。步骤209,判断所述OID是否包含在预存的规则配置文件中。所述预存的规则配置文件中包括至少一个对应OID的业务规则。具体地,所述各业务规则包括至少一个条件操作,所述条件操作可以是“大于”,“小于”,“等于”等比较操作;或者是“与”和“或”等条件操作;或者是重定向告警名称,告警级别,告警分类,告警详情信息在告警详情等赋值操作;或者是通过java国际化API,将SNMP Trap上报的数字或者英文名称替换为适用于不同语言使用者的编译操作等等。具体地,本实施方式中,所述步骤209中,先加载事件规则配置文件,然后根据OID在规则配置文件中去查找相应的业务规则。步骤211,当所述OID包含在预存的规则配置文件中时,对SNMP Trap数据包含的绑定参数执行相应的业务规则。具体地,当所述OID包含在预存的规则配置文件中时,解析所述事件对象模型中的绑定字段信息。然后获取所述OID对应的业务规则的所有条件,将所述事件对象模型中的绑定字段信息带入各个条件,并返回各条件计算的结果。本实施方式中,返回布尔类型的结果列表。由于所述OID的绑定参数可能满足多个条件,而为了防止造成用户困扰,使用户获得一个明确的信息。本实施方式中,所述业务规则中还包括“与”和“或”的操作。当所述OID的绑定参数满足多个条件时,将各条件进行“与”操作,并获得“与”操作的结果。所述规则配置文件中还包括与“与”操作对应的结果信息。当所述OID的绑定参数满足多个条件时,将从所述规则配置文件中返回对应的结果。当所述OID的绑定参数满足多个条件时,还可以将各条件进行“或”操作,并获得“或”操作的结果。本实施方式中,当所述OID的绑定参数满足多个条件时,返回第一个满足条件的结果。当然,本实施方式中,为了方便修改所述事件对象模型中的绑定字段信息所表示的含义,及根据不同需要修改所述事件对象模型中的绑定字段信息所表示的含义。还可以重定向告警名称、告警级别、告警分类及告警详情信息。即将所述事件对象模型中的绑定字段信息根据不同需要定义不同的告警名称、告警级别、告警分类及告警详情信息。例如,对应同一个告警名称可以定义成环境报警,也可以定义成温度报警。告警级别可以根据系统的适应性,对同一个告警级别定义为严重告警或致命报警。当然,在实施方式中,还可以直接将所述事件对象模型中的绑定字段信息或上述重定向的告警名称、告警级别、告警分类及告警详情信息通过java国际化API,修改为适用于不同语言人群的信息。本步骤在步骤205之后执行有利于提高处理效率。无需对所有SNMP Trap数据包含的绑定参数进行解析。步骤213,当所述OID对应所述规则配置文件中多个业务规则时,则仅执行第一个符合条件的业务规则。本实施方式中,当所述OID的绑定参数满足多个条件时,也可以将各条件进行“与”操作,并获得“与”操作的结果。所述规则配置文件中还包括与“与”操作对应的结果信息。当所述OID的绑定参数满足多个条件时,将从所述规则配置文件中返回对应的结果。步骤215,生成执行所述业务规则的执行结果。本实施方式中,获取执行所述业务规则的执行结果,并将所述业务规则的执行结果转换为事件。步骤217,将所述执行结果转化为适用于不同语言使用者的告警信息。本实施方式中,通过java国际化API,将所述执行结果中的数字、字符编码、日期等转化为适用于不同语言使用者的信息。具体地,加载国际化资源文件,解析所述执行结果中需要进行国际化处理的资源,将所述执行结果中的绑定字段信息和资源信息绑定,生成与业务相关的定制化事件。将语言的转化的过程在该步骤中执行,而不是在步骤209中执行,能够只对符合要求的信息转化,而无需将所有信息都转化,能够提高效率。步骤219,将所述告警信息存储到数据库中。本实施方式中,将所述定制化事件转换为适用于系统的告警对象,然后将所述告警对象中的告警信息存储于数据库中。步骤221,显示所述告警信息。本实施方式中,将所述告警信息在界面上显示。在所述步骤209中,当所述OID不包含在预存的规则配置文件中时,进行其他操作,而不再进行后续的步骤211-221。在所述步骤205中,当所述OID不包含在预存的简单网络管理协议配置文件中时,进行其他操作,而不再进行后续的步骤207-221。在其他实施方式中,所述步骤219及步骤221可以任选一个。请参阅图4,本发明第二实施方式提供的基于简单网络管理协议的解析系统300与第一实施方式的基于简单网络管理协议的解析系统100基本相同。所述基于简单网络管理协议的解析系统300包括接收模块310及告警生成模块320。所述接收模块310用于接收网管代理的SNMP Trap数据包。所述告警生成模块320包括标识符获取子模块321、标识符匹配子模块322、告警生成模块323、解析子模块324、规则匹配子模块325、执行子模块326、选择子模块327、结果子模块328、国际化子模块329、存储子模块330及显示子模块331。所述标识符获取子模块321用于根据SNMP Trap数据包获取OID。本实施方式中,所述标识符获取子模块322采用所述步骤203的方法提取SNMP Trap数据包中的0ID。所述标识符匹配子模块323用于判断所述OID是否包含在预存的简单网络管理协议配置文件中。本实施方式中,所述标识符匹配子模块323采用所述步骤205的方法判断。所述解析子模块3M用于对SNMP Trap数据包的绑定参数进行解析,并生产一个事件对象模型,所述事件对象模型为OID对应的告警信息的数据结构。本实施方式中,所述数据结构为一种键值对格式。所述规则匹配子模块325用于判断所述OID是否包含在预存的规则配置文件中。本实施方式中,所述规则匹配子模块325采用步骤209的方法判断所述OID是否包含在预存的规则配置文件中。所述执行子模块3 用于对所述SNMP Trap数据包含的绑定参数执行相应的业务规则。本实施方式中,所述执行子模块3 采用步骤211的方法对所述SNMP Trap数据包含的绑定参数执行相应的业务规则。所述选择子模块327用于当所述OID对应所述规则配置文件中多个业务规则时,仅执行第一个符合条件的业务规则。所述结果子模块3 用于生成执行所述业务规则的执行结果。本实施方式中,获取执行所述业务规则的执行结果,并将所述业务规则的执行结果转换为事件。所述国际化子模块3 用于将所述执行结果转化为适用于不同语言使用者的告警信息。本实施方式中,所述国际化子模块3 采用步骤217的方法进行语言转换。所述存储子模块330用于将所述告警信息存储到数据库中。本实施方式中,所述存储子模块330将所述定制化事件转换为适用于系统的告警对象,然后将所述告警对象中的告警信息存储于数据库中。所述显示子模块332显示所述告警信息。本实施方式中,将所述告警信息在界面上显不。因为在简单网络管理协议配置文件外增加多条判断语句的硬编码,各判断语句之间存在上下的层次关系,修改其中一个判断语句,就要对之后的其他语句做相应修改,容易出错,不易维护。同时调试过程时间长,开发周期长。而本发明提供的基于简单网络管理协议的解析方法及系统由于采用了规则配置文件,配置文件的操作是多个判断规则的并行操作,因此,性能更稳定,容错性更好,开发过程中工作效率更高。并且修改时,只需要修改规则配置文件的不同参数就能适应不同的情况,开发成本低,减少维护工作量。另外,所述规则判断过程可以作为一个单独的工作模块,增加到现有系统中,还可按不同需要从系统中删除。不影响现有系统的运作。 以上所揭露的仅为本发明一种较佳实施方式而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种基于简单网络管理协议的告警解析方法,该方法包括以下步骤接收网管代理的告警信息;根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。
2.如权利要求1所述的基于简单网络管理协议的告警解析方法,其特征在于,在接收网管代理的告警信息的步骤中,接收网管代理的简单网络管理协议陷阱数据包。
3.如权利要求2所述的基于简单网络管理协议的告警解析方法,其特征在于,在根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息的步骤中还包括以下步骤根据简单网络管理协议陷阱数据包获取对象标识符;判断所述对象标识符是否包含在预存的简单网络管理协议配置文件中,所述简单网络管理协议配置文件包括管理信息库节点名称所对应的字段信息;当所述对象标识符包含在预存的简单网络管理协议配置文件中时,对简单网络管理协议陷阱数据包的绑定参数进行解析,并生产一个事件对象模型,所述事件对象模型为所述对象标识符对应的告警信息的数据结构。
4.如权利要求3所述的基于简单网络管理协议的告警解析方法,其特征在于,在对简单网络管理协议陷阱数据包的绑定参数进行解析,并生产一个事件对象模型的步骤之后还包括以下步骤判断所述对象标识符是否包含在预存的规则配置文件中,所述预存的规则配置文件中包括至少一个对应所述对象标识符的业务规则;当所述对象标识符包含在预存的规则配置文件中时,对所述简单网络管理协议陷阱数据包含的绑定参数执行相应的业务规则;生成执行所述业务规则的执行结果;将所述执行结果转化为适用于不同语言使用者的告警信息;将所述告警信息存储到数据库中;显示所述告警信息。
5.如权利要求4所述的基于简单网络管理协议的告警解析方法,其特征在于,在对所述简单网络管理协议陷阱数据包含的绑定参数执行相应的业务规则的步骤及所述生成执行所述业务规则的执行结果步骤之间还包括以下步骤当所述对象标识符对应所述规则配置文件中多个业务规则时,则仅执行第一个符合条件的业务规则。
6.一种基于简单网络管理协议的告警解析网络管理工作站,其包括接收模块,用于接收网管代理的告警信息;所述告警生成模块,用于根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。
7.如权利要求6所述的基于简单网络管理协议的告警解析网络管理工作站,其特征在于,所述接收模块用于接收所述网管代理的简单网络管理协议陷阱数据包,所述告警生成模块包括标识符获取子模块,用于根据简单网络管理协议陷阱数据包获取对象标识符;标识符匹配子模块,用于判断所述对象标识符是否包含在预存的简单网络管理协议配置文件中,所述简单网络管理协议配置文件包括管理信息库节点名称所对应的字段信息;解析子模块,用于对简单网络管理协议陷阱数据包的绑定参数进行解析,并生产一个事件对象模型,所述事件对象模型为对象标识符对应的告警信息的数据结构。
8.如权利要求7所述的基于简单网络管理协议的告警解析网络管理工作站,其特征在于,所述告警生成模块还包括规则匹配子模块,用于判断所述对象标识符是否包含在预存的规则配置文件中;执行子模块,用于对所述简单网络管理协议陷阱数据包含的绑定参数执行相应的业务规则;结果子模块,用于生成执行所述业务规则的执行结果;国际化子模块,用于将所述执行结果转化为适用于不同语言使用者的告警信息;存储子模块,用于将所述告警信息存储到数据库中;显示子模块,显示所述告警信息。
9.如权利要求8所述的基于简单网络管理协议的告警解析网络管理工作站,其特征在于,所述告警生成模块还包括选择子模块用于当所述对象标识符对应所述规则配置文件中多个业务规则时,仅执行第一个符合条件的业务规则。
10.一种基于简单网络管理协议的告警解析的系统,该系统包括如权利要求6-9任一项所述的网络管理工作站和一运行在被管设备上的网管代理,所述网管代理向所述网络管理工作站发送告警。
全文摘要
本发明实施方式公开了一种基于简单网络管理协议的告警解析方法,该方法包括以下步骤接收网管代理的告警信息;根据所述告警信息在预存的规则配置文件中查找对应的业务规则,并根据所述业务规则生成符合业务逻辑的告警信息。本发明提供的基于简单网络管理协议的告警解析方法由于采用了包括业务规则的规则配置文件,从而能够对于有业务逻辑的告警上报进行解析。另,本发明还提供一种基于简单网络管理协议的告警解析网络管理工作站及系统。
文档编号H04L29/06GK102387043SQ20111040325
公开日2012年3月21日 申请日期2011年12月7日 优先权日2011年12月7日
发明者后祥龙 申请人:深圳市同洲视讯传媒有限公司