一种告警测试方法、装置以及系统与流程

文档序号:12751788阅读:465来源:国知局
一种告警测试方法、装置以及系统与流程

本发明涉及通信技术领域,尤指一种告警测试方法、装置以及系统。



背景技术:

在当前的通信系统中,网络管理系统(NNM,Network Node Management,以下简称网管)起到越来越重要的作用,可以说已经是通信系统不可或缺的一部分。其中,告警是通信设备的网管中非常重要的一个功能,运营商的运维工程人员通过对网管所接收到的告警进行实时监测,来获知设备和网络运行状况是否正常。

目前,对于告警处理的流程包括:当设备或者链路产生告警后直接上报到网管服务器上,运维工程人员需要坐在电脑旁实时监测告警上报情况,然后再进行分析并派单通知相关施工人员进行现场处理。上述流程经常会导致出现较大的处理延时,特别是严重级别的告警会导致业务中断,影响用户正常网络运营。为了确保实际使用时,网管具有稳定有效的告警功能,需要进行网管的告警测试。然而,在人力和设备资源有限的情况下,相关技术无法提供确保准确性、全面性和稳定性的告警测试方法。



技术实现要素:

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

本发明实施例提供了一种告警测试方法、装置及系统,能够确保告警测试的准确性、全面性和稳定性,降低告警测试难度。

本发明实施例提供了一种告警测试方法,包括:接收到测试启动指令后,连接网管服务器所维护的数据库;加载配置文件,读取网元信息,根据读取的网元信息,更新存储于数据库的网元表;在终端启动可视化操作界面;获取终端返回的可视化操作界面上配置的告警信息,生成告警报文;向网管服务器发送告警报文,由网管服务器解析告警报文得到告警信息,基于数据库中的网元表检验告警信息合法后,将告警信息发送给终端,接收终端返回的对告警信息的查收通知信息。

其中,可视化操作界面支持配置可操作的网元信息以及告警类型,可操作的网元信息从更新后的网元表中读取,可操作的告警类型从存储于数据库的告警类型表中读取。

其中,所述终端为移动终端,移动终端上设置有即时通信客户端;

所述接收到测试启动指令,包括:接收到即时通信服务器转发的由即时通信客户端发起的测试启动指令;

所述在终端启动可视化操作界面,包括:通过即时通信服务器控制移动终端上的即时通信客户端启动可视化操作界面。

其中,所述接收到测试启动指令后,连接网管服务器所维护的数据库,包括:

接收到测试启动指令后,向维护数据库的网管服务器发送数据库连接申请报文;

接收到网管服务器返回的携带数据库连接信息的应答报文后,根据数据库连接信息连接数据库。

其中,所述加载配置文件,读取网元信息,根据读取的网元信息,更新存储于数据库的网元表,包括:

加载配置文件,读取配置文件中的一条或多条网元信息;

针对读取的每条网元信息进行以下处理:

根据所述读取的网元信息,生成插入(INSERT)类型的结构化查询语言(SQL)脚本;

以网元的网络协议(IP)地址为索引,在检索到网元表中没有与读取的网元信息重复的索引时,执行读取的网元信息对应的SQL脚本,将读取的网元信息插入到网元表中。

其中,所述告警测试方法还包括:在检索到网元表中存在与读取的网元信息重复的索引时,记录重复索引的结果;基于记录的结果,修改配置文件中相关网元信息中网元的IP地址。

其中,所述配置文件中包括N条网元信息,每条网元信息对应模拟一个网元,每条网元信息至少包括:网元类型、网元的IP地址;其中,N为大于或等于1的整数。

其中,可视化操作界面上配置的告警信息包括:网元信息、告警类型、告警类型相关的绑定变量信息;或者,包括:发送周期、每个周期发送的网元信息和告警类型、每个周期发送的告警数量、每个告警类型相关的绑定变量信息。

其中,所述在终端启动可视化操作界面,包括:

根据加载的RMP文件,将从网管服务器的数据库读取的以对象标识符(OID)形式表示的网元信息、告警类型以及所述告警类型需要配置的绑定变量信息,以物理名称的形式显示在可视化操作界面;

其中,所述网元信息包括更新后的网元表中的网元信息,所述告警类型包括数据库的告警类型表中的告警类型;所述RMP文件是根据真实网元的管理信息库(MIB)文件转换得到的,所述RMP文件中存储MIB节点OID与物理名称之间的映射关系。

其中,所述获取终端返回的可视化操作界面上配置的告警信息,生成告警报文,包括:

获取终端返回的可视化操作界面上以物理名称的形式配置的告警信息;从RMP文件中查找物理名称对应的MIB节点OID,根据查找到的MIB节点OID,对配置的告警信息进行报文封装,生成告警报文。

本发明实施例还提供一种告警测试装置,包括:

连接模块,用于在接收到测试启动指令后,连接网管服务器所维护的数据库;

加载更新模块,用于加载配置文件,读取网元信息,根据读取的网元信息,更新存储于数据库的网元表;

界面启动模块,用于在终端启动可视化操作界面;

报文生成模块,用于获取终端返回的可视化操作界面上配置的告警信息,生成告警报文;

报文发送模块,用于向网管服务器发送告警报文,由网管服务器解析告警报文得到告警信息,基于数据库中的网元表检验告警信息合法后,将告警信息发送给终端,接收终端返回的对告警信息的查收通知信息。

本发明实施例还提供一种告警测试系统,包括:告警测试装置、网管服务器以及终端;

所述告警测试装置,用于在接收到测试启动指令后,连接网管服务器所维护的数据库;加载配置文件,读取网元信息,根据读取的网元信息,更新存储于所述数据库的网元表;在终端启动可视化操作界面;获取终端返回的可视化操作界面上配置的告警信息,生成告警报文;向网管服务器发送告警报文;

所述网管服务器,用于接收告警报文,解析所述告警报文得到告警信息,基于所述数据库中的网元表检验所述告警信息合法后,将所述告警信息发送给所述终端,并接收所述终端返回的对所述告警信息的查收通知信息。

其中,所述终端为移动终端,所述移动终端上设置有即时通信客户端;

所述告警测试系统还包括:即时通信服务器;

所述告警测试装置,用于接收即时通信服务器转发的由即时通信客户端发起的测试启动指令,以及通过即时通信服务器控制移动终端上的即时通信客户端启动可视化操作界面。

其中,所述告警测试装置用于在接收到测试启动指令后,向网管服务器发送数据库连接申请报文;所述网管服务器用于接收所述数据库连接申请报文,在验证所述数据库连接申请报文合法后,发送携带数据库连接信息的应答报文;所述告警测试装置用于接收到所述应答报文后,根据所述数据库连接信息连接所述数据库。

其中,所述网管服务器还用于记录第一日志以及第二日志;所述第一日志用于记录所述告警测试装置连接所述数据库是否成功、所述告警测试装置向存储于所述数据库的网元表中插入网元信息是否成功、发送告警报文是否成功;所述第二日志用于记录根据接收到的告警报文解析得到的告警信息。

本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述告警测试方法。

与相关技术相比,本发明实施例提供的告警测试方法,包括:接收到测试启动指令后,连接网管服务器所维护的数据库;加载配置文件,读取网元信息,根据读取的网元信息,更新存储于所述数据库的网元表;在终端启动可视化操作界面;获取终端返回的可视化操作界面上配置的告警信息,生成告警报文;向网管服务器发送所述告警报文,由网管服务器解析告警报文得到告警信息,基于数据库中的网元表检验告警信息合法后,将告警信息发送给终端,并接收终端返回的对该告警信息的查收通知信息。本发明实施例提供的方案,能够确保告警测试的准确性、全面性和稳定性,降低告警测试难度。而且,通过模拟网元,大量减少实际设备的投入,避免因实际设备类型较多,测试覆盖不全而产生版本发布风险。

进一步地,本发明实施例可以通过手动配置构造所需设备的各种类型告警信息,这样可以极大地减少人工搭建各种测试环境、制造业务告警的工作量,规避某些特定环境无法产生告警导致测试遗漏的风险。

而且,本发明实施例将一系列真实设备的MIB文件转换成RMP文件,RMP文件存储MIB节点OID与物理名称之间的映射关系,在可视化操作界面操作的对象为物理名称,在进行报文交互时,可以先查找RMP文件中的映射表,获取物理名称对应的MIB节点的OID再进行报文交互,这样不会在可视化操作界面显示对用户而言可读性差的OID,而显示与OID存在映射关系的物理名称,从而大大提高界面的易用性,程序的可读性、灵活性和可移植性。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。

图1为本发明实施例一提供的告警测试方法的流程图;

图2为本发明实施例一中的微信网管系统的架构图;

图3为本发明实施例一提供的告警测试方法的实例示意图一;

图4为本发明实施例一提供的告警测试方法的实例示意图二;

图5为本发明实施例二提供的告警测试装置的示意图;

图6为本发明实施例三提供的告警测试系统的示意图。

具体实施方式

下文中将结合附图对本申请实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

针对相关技术中,网管的运维工程人员需要坐在电脑旁实时监测告警上报请求,再进行分析处理,而导致处理延时较大的问题,为了方便运维工程人员及时接收并处理现网设备上报的告警,可以基于设置在移动终端的即时通信客户端,开发网管告警平台。但是,基于即时通信客户端开发的网管告警平台需要具备以下几点:快速,即设备上告警产生后,即时通信客户端需要快速收到告警;灵活,即客户或者网管运维工程人员无需时时守在电脑旁监测告警,携带配置有即时通信客户端的移动终端可以随时随地查收告警;准确,即支持多种设备型号的多种告警类型,解析告警信息准确;稳定,特别是当运营商现场网络规模大、设备多的情况下,对连续多条告警,能够并发多条告警,例如说1秒钟之内上报100条告警时,网管服务器的响应能力和系统稳定性。

对于网管的告警测试方法,主要是尽力营造用户现场的网络环境进行告警制造。然而,不同用户的设备类型和拓扑不同、主控和业务板卡不同、网管版本和设备上的板卡软件版本不同、实际的业务配置也不相同等等,在这样的测试情况下主要存在以下问题:

针对全部设备类型进行告警测试,设备投入过高;现网的在用设备类型和板卡种类多达成百上千,网元、板卡造价不菲,供研发和测试使用的设备资源非常分散而且有限;如果把每一种设备类型都测试一遍的难度较大;

针对全部告警类型进行测试,不同的设备所注册的告警类型不尽相同,有许多告警是跟具体的业务配置相关联的,需要搭建特定的环境,配置业务才可制造出相关的告警,这对测试工程师的业务经验、技术要求很高;而且,即使是经验丰富的工程师、专家,也有可能在复杂的业务环境下无法制造出全部类型的告警;

针对告警并发性能的测试,例如1秒钟内上报100条告警,网管服务器的处理速度如何、系统会不会卡住,这样的性能测试对于测试工程师来说是不可能通过在实际设备上制造告警来完成的。

可见,对于测试工程师来说,对网管告警平台进行全面的测试需要覆盖所有支持的网元类型(即前述的设备类型)、制造上报各种类型的告警,特别是模拟大批量告警并发的场景,这样需要投入大量的真实网元,搭建各种业务场景制造告警、大批量告警并发场景的难度非常大,工作量不可估计,往往因为环境错误、设备版本不匹配、业务知识不精通等原因导致告警制造不出来等问题。因此,在人力和设备资源有限的情况下,既能保证告警上报的准确性和全面性,又能测试大量告警并发上报时网管系统的稳定性,是目前测试工作首先要考虑并解决的问题。

基于此,本发明实施例提出了一种告警测试方法、装置及系统。

实施例一

本实施例提供一种告警测试方法。本实施例提供的告警测试方法可以用于测试网络管理系统的告警功能,网络管理系统可以包括网管服务器以及一个或多个终端。终端以移动终端为例,移动终端例如可以为智能手机、平板电脑等。移动终端上设置即时通信客户端,即时通信客户端例如可以为微信客户端。以微信客户端为例,网络管理系统的告警功能可以基于微信客户端的公众号进行开发,实现网管告警平台。网络管理系统还可以包括即时通信服务器,用于转发即时通信客户端与网管服务器之间的交互内容。

由于网管告警平台主要给网管的运维工程人员使用,因此,通过设置在移动终端上的即时通信客户端可以移动地、实时地获取被监测设备上报的告警,从而可以及时进行工程故障处理,减少中断业务时间。

本实施例提供的告警测试方法可以由告警发送(TrapSender)系统执行,TrapSender系统可以集成在网络管理系统的网管服务器中,或者,可以单独部署,例如部署在网管服务器之外的服务器上。

如图1所示,本实施例提供的告警测试方法,包括以下步骤:

步骤101:接收到测试启动指令后,连接网管服务器所维护的数据库。

其中,步骤101中,接收到测试启动指令,可以包括:接收到即时通信服务器转发的由即时通信客户端发起的测试启动指令。

其中,测试启动指令可以由移动终端上的即时通信客户端发起,例如,用户在即时通信客户端的人机交互界面点击测试功能或按钮后,即时通信客户端发起测试启动指令。其中,测试启动指令中可以携带通过即时通信客户端登陆网管服务器的用户信息。

其中,步骤101可以包括:

接收到测试启动指令后,向维护所述数据库的网管服务器发送数据库连接申请报文;

接收到网管服务器返回的携带数据库连接信息的应答报文后,根据所述数据库连接信息连接所述数据库。

一些实现方式中,根据测试启动指令携带的用户信息,数据库连接申请报文中可以封装所述用户信息,在网管服务器接收到数据库连接申请报文之后,可以先从中提取所述用户信息,采用安全策略对所述用户信息进行合法性校验,若校验不通过,则网管服务器丢弃该数据库连接申请报文;若校验通过,则网管服务器返回应答报文,且应答报文中携带数据库连接信息。例如,只有能登陆网管服务器的用户信息才能通过合法性校验,从而可以提高安全性。

步骤102:加载配置文件,读取网元信息,根据读取的网元信息,更新存储于数据库的网元表。

其中,配置文件中包括N条网元信息,每条网元信息对应模拟一个网元,每条网元信息至少可以包括:网元类型、网元的网络协议(IP,Internet Protocol)地址;其中,N为大于或等于1的整数。一些实现方式中,每条网元信息可以包括:网元类型、网元的IP地址、网元的友好名称、读或写共同体。每条网元信息的网元类型可以相同或不同,即配置文件中可以包括一种或多种网元类型。需要注意的是,在配置网元的IP地址时,需要确保使用该IP地址的网元可以与网管服务器相互通信。

其中,步骤102可以包括:

加载配置文件,读取配置文件中的一条或多条网元信息;

针对读取的每条网元信息进行以下处理:

根据所述读取的网元信息,生成INSERT(插入)类型的结构化查询语言(SQL,Structured Query Language)脚本;

以网元的IP地址为索引,在检索到所述网元表中没有与所述读取的网元信息重复的索引时,执行所述读取的网元信息对应的SQL脚本,将所述读取的网元信息插入到所述网元表中。

其中,在判断读取的网元信息与所述网元表中的网元信息是否重复时,以网元的IP地址为索引,检索网元表中是否有重复的索引,若存在重复的索引,则说明读取的网元信息与网元表中的网元信息重复,若不存在重复的索引,则说明读取的网元信息与网元表中的网元信息没有重复。

在一些实现方式中,在检索到所述网元表中存在与所述读取的网元信息重复的索引时,记录重复索引的结果;基于记录的结果,修改配置文件中相关网元信息中网元的IP地址。后续,可以再将修改后的网元信息插入网元表中,从而确保在网元表中完整插入配置文件中的网元信息,保证模拟网元的数目。

本实施例中,直接使用配置文件配置网元类型、网元名称、网元的IP地址等关键信息,TrapSender系统在启动时可以读取配置文件,生成读取的网元信息对应的SQL脚本,经过对配置文件中的网元信息和网元表中的网元信息进行是否重复的判断后,将配置文件中判断结果为没有重复的网元信息插入到数据库的网元表中。对于网管服务器来说,配置文件中的这些网元信息模拟的是真实的网元,网管服务器可以接收并处理这些模拟网元发送过来的Trap报文。如此,减少真实测试设备的投入,避免因实际设备类型较多,测试覆盖不全而产生版本发布风险。

步骤103:在终端启动可视化操作界面。

其中,可视化操作界面支持配置可操作的网元信息以及告警类型,可操作的网元信息可以从更新后的网元表中读取,可操作的告警类型可以从存储于数据库的告警类型表中读取。

其中,除了网元表,数据库中还存储有告警类型表,告警类型表记录了每种网元类型所支持的告警类型的详细信息,且告警类型表由网管服务器动态维护。如此,在TrapSender系统成功连接数据库后,可以直接从数据库中获取告警类型表中的所有告警类型的信息进行加载,不仅快速,而且准确、全面。

其中,步骤103可以包括:通过即时通信服务器控制移动终端上的即时通信客户端启动可视化操作界面。换言之,设置在移动终端上的即时通信客户端可以显示可视化操作界面。

在本实施例中,在TrapSender系统连接数据库并更新网元表之后,TrapSender系统可以从数据库加载更新后的网元表和告警类型表,并将加载得到的网元表和告警类型表通过一定方式显示在可视化操作界面。

其中,步骤103可以包括:

根据加载的RMP文件,将从网管服务器的数据库读取的以OID(Object Identifier,对象标识符)形式表示的网元信息、告警类型以及所述告警类型需要配置的绑定变量信息,以物理名称的形式显示在可视化操作界面;

其中,所述网元信息包括更新后的网元表中的网元信息,所述告警类型包括数据库的告警类型表中的告警类型;RMP文件是根据真实网元的MIB(Management Information Base,管理信息库)文件转换得到的,RMP文件中存储MIB节点的OID与物理名称之间的映射关系。OID是SNMP(Simple Network Management Protocol,简单网络管理协议)代理提供的具有唯一标识的键值。

其中,对于每种告警类型,包含多个不同的绑定变量,每个绑定变量可以用唯一的OID来标识,例如:槽位号、是否为恢复告警、告警级别等等。

其中,在可视化操作界面支持对网元信息、告警类型以及告警类型相关的绑定变量信息进行配置。例如,可视化操作界面上可以显示网元表中的所有网元信息以及所支持的告警类型,用户可以在可视化操作界面显示的信息中选择需要进行测试的网元信息和告警类型,再为确定的告警类型配置绑定变量。本申请并不限定网元表中的所有网元信息以及所支持的告警类型在可视化操作界面的显示方式,例如可以分行全部显示,或者,以下拉选项的方式显示。

其中,TrapSender系统在启动后可以加载默认的RMP文件,或者,用户可以在可视化操作界面上手动选择替换RMP文件。

步骤104:获取终端返回的可视化操作界面上配置的告警信息,生成告警报文。

其中,可视化操作界面上配置的告警信息可以包括:网元信息、告警类型、告警类型相关的绑定变量信息;或者,可以包括:发送周期、每个周期发送的网元信息和告警类型、每个周期发送的告警数量、每个告警类型相关的绑定变量信息。

其中,用户可以在可视化操作界面配置一条网元信息所支持的一种告警类型对应的告警;或者,用户可以在可视化操作界面配置多条告警,每条告警对应一条网元信息所支持的一种告警类型;或者,用户可以在可视化操作界面配置循环发送的多条告警。本申请对此并不限定。

其中,步骤104可以包括:

获取终端返回的可视化操作界面上以物理名称的形式配置的告警信息;从RMP文件中查找物理名称对应的MIB节点OID,根据查找到的MIB节点OID,对配置的告警信息进行报文封装,生成告警报文。

于本实施例中,如果直接在可视化操作界面的显示程序中植入OID,在可视化操作界面显示的为一系列OID,对于用户而言,可读性会非常差。因此,将一系列真实设备的MIB文件(可以是网管服务器能管理的所有设备的MIB文件全集,或者是根据需要收集的一系列设备的MIB文件集)转换成可被TrapSender系统加载的RMP文件,RMP文件可以抽象成一张映射表,以二进制的形式存储在*.rmp文件中。表中记录了MIB节点OID与物理名称之间的映射关系,还记录了MIB节点的类型、状态、访问方式等信息。这样在进行人机交互时,可以先查找上述的映射表,以获取MIB节点OID所对应的物理名称,然后在可视化操作界面以物理名称的方式进行信息显示;在进行网管服务器与TrapSender系统所模拟的虚拟网元之间的报文交互时,可以查找RMP文件内的映射表,通过物理名称查找到对应的MIB节点的OID,进行报文封装,从而完成SNMP报文交互。如此,在可视化操作界面无需显示对用户而言可读性较差的OID,从而大大提高界面的易用性,程序的可读性、灵活性和可移植性。

在本实施例中,TrapSender系统可以根据网元表中的网元类型,从数据库的告警类型表中读取每种网元类型所支持的所有告警类型。然后,在可视化操作界面由用户手动配置可以构造所需网元的各种告警信息,这样可以极大地减少人工搭建各种测试环境制造业务告警的工作量,规避某些特定环境无法产生告警导致测试遗漏的风险。

在本实施例中,可以在可视化操作界面指定发送周期(例如,以秒为单位)、每个周期发送的告警数量(根据网管服务器、网络等实际可处理情况进行配置)、每个周期发送的告警所包含的网元信息和告警类型、以及相关的绑定变量信息。通过配置周期批量发送告警信息可以模拟现网设备大量告警并发的场景,例如,在大量告警并发场景下,需要对网管服务器进行告警批量处理能力的测试时,需要制造大量告警同步上报,结合网络环境和网管服务器的处理速度,可以设置每秒钟上报N条告警报文,一般N的取值范围为100至500。

一些实现方式中,根据用户指定的网元信息和需要制造的告警类型,TrapSender系统可以将这些数据生成一张逻辑上的数据表,在用户指定发送周期后,TrapSender系统可以循环依次地读取该数据表中的告警信息进行上报,从而实现模拟现网大量设备并发上报告警的场景。例如,用户在可视化操作界面选中了网元A和网元B两个设备,每个网元配置了5种告警,TrapSender系统会生成一张包括10条告警的表,若周期发送Trap报文数量配置为100,则按照这张表里的告警,循环发送10次。

步骤105:向网管服务器发送告警报文,由网管服务器解析告警报文得到告警信息,基于数据库中的网元表检验所述告警信息合法后,将所述告警信息发送给终端,并接收终端返回的对所述告警信息的查收通知信息。

于本实施例中,用户在即时通信客户端所显示的可视化操作界面上单击‘确定’发送告警报文(即前述的Trap报文)后,TrapSender系统所模拟的SNMP代理程序会将可视化操作界面上配置的信息和TRAP首部封装成一个类型是TRAP的PDU(Protocol Data Unit,协议数据单元)数据包发送给网管服务器。并且,在TrapSender系统发送告警报文后,会在可视化操作界面给出告警报文是否发送成功的提示信息。

其中,网管服务器在接收到告警报文后,解析告警报文得到告警信息,判断解析得到的告警信息携带的网元信息是否合法,若合法,网管服务器在数据库存储解析得到的告警信息,并可以将解析得到的告警信息发送给移动终端上的即时通信客户端进行显示。若不合法,网管服务器可以丢弃接收到的告警报文。例如,网管服务器可以通过在数据库中的网元表中查找是否存在与告警信息携带的网元IP地址相同的网元信息,来确定告警信息携带的网元信息是否合法;若存在,则合法,若不存在,则不合法。另外,移动终端上的即时通信客户端接收到告警信息之后,需要正确显示告警,并向网管服务器发送接收到告警信息的告知消息(即前述的查收通知信息)。

其中,网管服务器可以打印日志,记录TrapSender系统连接数据库是否成功、加载配置文件向数据库中逐条插入网元信息是否成功、发送Trap报文是否成功。另外,网管服务器还可以通过另一份日志,记录告警的详细信息,例如可以包括告警ID、告警上报时间、告警类型、告警级别、告警源位置等详细信息。

综上可知,本实施例中,利用网管服务器通过SNMP管理网元的原理,构造一个TrapSender(告警发送)系统;对于网管服务器来说,这个系统就是N(N≥1)个实际的网元,网管服务器接收该系统发送的Trap报文(即前述的告警报文),解析之后间接地通过即时通信服务器发送给对应的即时通信客户端(例如,微信客户端)进行显示。TrapSender系统通过在即时通信客户端上申请获取网管服务器地址和数据库连接成功后,加载配置文件生成网元信息,插入数据库的网元表中,模拟不同类型的网元;启动可视化操作界面,在可视化操作界面上支持按不同的网元类型、不同的告警类型发送Trap报文,还支持周期批量发送Trap报文。通过RMP文件提供的真实MIB文件中物理名称与OID之间的映射表,实现报文交互。

下面通过一个实例说明本实施例提供的告警测试方法。于本实例中,以即时通信客户端为微信客户端为例进行说明。

微信客户端已成为许多企业级用户移动端开发平台的首选。其中,微信客户端的公众号面向个人、政府、企业等,通过这一平台,个人和企业都可以打造一个基于微信客户端的服务或营销推广平台。基于此,通信设备提供商为了提高服务水平,与互联网快速发展的时代接轨,可以将用户最关心的网管告警功能基于微信公众号进行二次开发,旨在使用户通过移动终端简捷地进行配置、快速发现告警、及时解决工程故障问题。这样的产品可以称之为“微信网络管理系统”,简称“微信网管”。

于本实例中,网络管理系统可以为微信网络管理系统。如图2所示,微信网络管理系统可以包括:微信网管服务器(对应前述的网管服务器)、移动终端(例如,智能手机)、微信服务器(对应前述的即时通信服务器)、TrapSender系统。移动终端上配置有微信客户端,微信客户端关注微信网管服务器的公众号,登录后可以启动TrapSender系统、接收和查看告警信息。TrapSender系统可以集成在微信网管服务器上,通过SNMP代理程序模拟N个真实网元(N≥1)。然而,本申请对于TrapSender系统的设置形式不限,TrapSender系统也可以和微信网管服务器分开部署。其中,安装微信网管服务器的PC(Personal Computer,个人电脑)机需要连接外网,并开放与微信服务器通信的端口(80端口),微信服务器只做报文透传(也即微信服务器仅作为转发微信网管服务器与微信客户端之间交互内容的中转设备),故可以忽略,即可以看做微信客户端与微信网管服务器直接通信。微信网管服务器在内网上要与TrapSender系统模拟的网元可以通信。

TrapSender系统在启动时,需要加载配置文件和RMP文件。

配置文件用于预先配置网元信息。例如,Ne_Node_Config.xml文件。配置文件中配置N条(N≥1)网元信息,每一条网元信息对应模拟一个网元,配置信息中可以包括一种或多种类型的网元,每条网元信息可以包含以下一项或多项:网元类型、网元的友好名称、网元的IP地址、读或写共同体、MAC(Media Access Control,介质访问控制)地址、SNMP版本号和端口。需要注意的是,配置文件中,使用配置的IP地址的网元要能与微信网管服务器互相通信。

一些实现方式中,配置文件可以如下所示:

上述举例的配置文件中包括四条网元信息,模拟了四个网元。

配置文件中配置的各种网元类型的MIB(Management Information Base,管理信息库)文件,可以转换生成RMP文件。对于每种告警类型,包含多个不同的绑定变量,每个绑定变量用唯一的OID来标识,例如:槽位号、是否为恢复告警、告警级别等等。但如若直接在可视化操作界面的显示程序中植入OID,显示的为一系列OID,对于用户而言其可读性会非常差。在本实例中,将MIB文件(可以是微信网管服务器能管理的所有设备的MIB文件全集,或者是根据需要收集的一系列设备的MIB文件集)转换生成一张映射表,以二进制的形式存储在*.rmp文件中(即,RMP文件)。所述映射表中记录了MIB节点OID与物理名称之间的映射关系,还记录MIB节点的类型、状态、访问方式等信息。

于本实例中,在微信客户端上启动TrapSender系统后,微信客户端通过微信服务器向微信网管服务器发送连接网管数据库的请求报文(即前述的数据库连接申请报文),请求报文中封装了当前登陆微信网管服务器的用户信息,微信网管服务器收到请求报文后,先提取请求报文中封装的用户信息,调用安全管理模块基于提取的用户信息对用户进行合法性校验,若校验不通过,则微信网管服务器丢弃收到的请求报文。若校验通过,微信网管服务器给TrapSender系统发送封装了网管数据库连接信息(即前述的数据库连接信息)的应答报文。收到应答报文后,TrapSender系统基于应答报文中的网管数据库连接信息连接微信网管服务器所维护的数据库。

TrapSender系统可以加载Ne_Node_Config.xml文件(即配置文件),获取配置文件中的N条网元信息,逐条拼成数据库INSERT类型的SQL脚本。网元的IP地址是数据库的网元表中表项的索引,向网元表中插入网元信息之前,先进行索引是否重复的判断。如网元的IP地址没有重复,则将该条网元信息插入数据库的网元表中。如网元的IP地址重复,则放弃执行插入并在日志文件中打印详细的错误信息,如此,用户可以根据日志信息决定是否手动修改重复的IP地址再重新进行加载。

TrapSender系统启动后的可视化操作界面上所显示的可操作的网元信息从数据库的网元表中读取。每种网元类型支持的告警类型从数据库的告警类型表中读取。告警类型表记录了每种网元类型所支持的各种告警类型,该告警类型表是由微信网管服务器动态维护的。

本实例中,可以根据需要上报告警的网元类型,制作相匹配的RMP文件。TrapSender系统启动后,加载默认的RMP文件,在可视化操作界面上支持用户手动更新替换RMP文件。用户在微信客户端显示的可视化操作界面中选择网元类型和告警类型后,可以配置以物理名称的形式呈现的该告警类型相关的绑定变量信息,进行配置并保存。其中,每种告警需要配置的变量不尽相同。TrapSender系统支持配置多条告警记录。

用户在微信客户端所显示的可视化操作界面上单击‘确定’发送Trap报文(即前述的告警报文)后,TrapSender系统所模拟的SNMP代理程序会将可视化操作界面上配置的信息和TRAP首部封装成一个类型是TRAP的PDU数据包(也就是Trap报文)发送给微信网管服务器。TrapSender系统发送告警报文后,会在可视化操作界面给出告警报文是否发送成功的提示信息。

在微信客户端所显示的可视化操作界面上,用户可以选中多个网元信息、多种告警类型,并指定发送周期内上报的Trap报文数量。例如,TrapSender系统可以将所选中的网元和每个网元配置的告警类型依次编成一张表,循环地从这张表中读取并发送告警报文。例如,用户选中了网元A和网元B两个设备,每个网元配置了5种告警类型,则TrapSender系统会生成一张包括10条告警信息的表,若周期发送Trap报文数量配置为100,则TrapSender系统按照这张表里的告警信息,循环发送10次。

微信网管服务器收到TrapSender系统发送过来的Trap报文后,逐条进行解析,若解析后得到的网元信息存在于网元表中,则将解析到的告警信息存入数据库,并发送给微信客户端。微信客户端收到微信网管服务器发送的告警信息后,正确显示告警信息并给微信网管服务器发送告知消息。

此外,微信网管服务器可以打印日志,记录TrapSender系统连接数据库是否成功、加载配置文件向数据库中逐条插入网元信息是否成功、发送Trap报文是否成功。通过日志记录相关操作失败时的详细信息,可供使用者进行问题定位。另有一份日志文件,用于记录告警的详细信息,可以包括告警ID、告警上报时间、告警类型、告警级别、告警源位置等详细信息。

下面参照图3,对集成在微信网管服务器上的TrapSender系统的启动过程进行详细说明。

需要说明的是,在TrapSender系统启动之前,测试人员需要安装部署微信网管服务器和微信客户端,根据测试方案规划需测试的模拟网元,并配置Ne_Node_Config.xml文件(即前述的配置文件)。

如图3所示,TrapSender系统的启动过程可以包括以下步骤:

步骤301:启动TrapSender系统,向微信网管服务器发送申请报文(即前述的数据库连接申请报文);例如,微信客户端的人机交互界面上可以显示TrapSender系统的启动按钮,在用户点击该按钮后,微信客户端发起测试启动指令;

步骤302:微信网管服务器从收到的申请报文中提取用户信息,判断发送申请报文的用户是否合法,若合法转至步骤303,若不合法转至步骤311;

步骤303:微信网管服务器向TrapSender系统发送携带数据库连接信息的应答报文。即,微信网管服务器在校验用户信息合法后,才将数据库连接信息反馈给TrapSender系统,用于进行数据库连接,只有能登陆微信网管服务器的用户才可以启动TrapSender系统,从而提高系统安全性。

步骤304:TrapSender系统获取数据库连接信息后,连接微信网管服务器所维护的数据库,判断是否成功连接数据库,若成功转步骤305,若不成功转步骤311;

步骤305:TrapSender系统读取Ne_Node_Config.xml文件,遍历该文件中的N条网元信息,取第M条网元信息生成INSERT类型的SQL脚本(初始化M=1,以后逐步加1,直到M=N);

步骤306:TrapSender系统判断第M条网元信息与数据库的网元表中的数据是否有主键字段(网元的IP地址)冲突;如果没有冲突,转步骤307,如果有冲突,则转步骤311后再转步骤308;

步骤307:TrapSender系统执行SQL脚本,将第M条网元信息插入数据库的网元表中;

步骤308:TrapSender系统判断是否将Ne_Node_Config.xml文件中的全部网元信息都处理完成,即M是否等于N,若M=N,则转步骤309,若M<N,则M=M+1,并转步骤305;

步骤309:TrapSender系统启动成功,获取数据库的网元表中所有的网元信息,例如可以显示在微信客户端的可视化操作界面上;

步骤310:TrapSender系统查找数据库的告警类型表,获取可视化操作界面上每种网元类型所支持的所有的告警类型,例如,可以显示在微信客户端的可视化操作界面上;至此,TrapSender系统的启动过程结束。

步骤311:微信网管服务器记录错误信息,写入日志。

其中,日志文件中可以记录TrapSender系统启动过程中数据库连接是否成功、网元信息插入数据库的操作是否成功,当操作失败时,可以记录详细信息供使用者进行问题定位。

下面参照图4,说明TrapSender系统模拟真实网元向微信网管服务器上报告警的过程。如图4所示,上述过程可以包括以下步骤:

步骤401:成功启动TrapSender系统;需要说明的是,在启动TrapSender系统之前,测试人员需要根据测试方案和测试设计规划好待测试的网元类型和告警类型,配置Ne_Node_Config.xml文件,并部署完成微信网管服务器和微信客户端;

步骤402:根据制作好的RMP文件,可以在微信客户端显示的可视化操作界面上替换更新RMP文件,本步骤的操作是可选的,例如,TrapSender系统可以加载默认的RMP文件;

本实例中,将一系列真实设备的MIB文件转换成可被TrapSender系统加载的RMP文件,RMP文件实际上可抽象成一张映射表,表中存储的是MIB节点的物理名称与OID之间的映射关系。

步骤403:TrapSender系统支持在可视化操作界面上显示预先配置的多种网元类型,以及从微信网管服务器所维护的数据库中获取的各种网元类型所支持的所有告警类型,供用户进行选择;并且TrapSender系统可以接收对所显示内容的用户选择指令,以确定用户选择的网元类型和告警类型,配置关键的绑定变量信息。

需要注意的是:每种网元类型所支持的告警类型是从数据库的告警类型表中获取的,TrapSender系统只是从数据库表中读取,不做告警类型的管理操作。微信网管服务器在数据库中动态维护一张告警类型表,准确记录每种网元类型所支持的各种告警类型的详细信息。

步骤404:在确定用户指定的网元和告警类型后,TrapSender系统判断是否需要周期进行告警上报,若不需要,转步骤405,若需要则转步骤406;

步骤405:TrapSender系统根据可视化操作界面配置的信息,在接收到用户对报文的发送指令后,发送Trap报文;

步骤406:TrapSender系统确定指定周期(例如,1秒)内发送Trap报文的数量,该数量可以根据微信网管服务器处理能力、网络情况等综合而定,例如1秒可以发送100条;在接收到用户对报文的发送指令后,发送Trap报文;

步骤407:微信网管服务器收到Trap报文后,进行解析得到告警信息;

步骤408:微信网管服务器判断告警信息对应的模拟网元的网元IP地址是否合法,即查找数据库的网元表中是否存在与该模拟网元相同的网元信息,若合法,则转步骤409,若不合法,则转步骤410;

步骤409:微信网管服务器将解析得到的告警信息存入数据库,并将解析得到的告警发送给微信客户端,微信客户端收到微信网管服务器推送上来的告警并依次显示,并发送告知消息(即前述的查收通知信息)给微信网管服务器;之后,执行步骤410;

步骤410:微信网管服务器打印日志,记录详细信息。

实施例二

本实施例提供一种告警测试装置。本实施例提供的告警测试装置可以用于测试网络管理系统的告警功能,网络管理系统可以包括网管服务器以及一个或多个终端。终端以移动终端为例,移动终端例如可以为智能手机、平板电脑等。移动终端上设置即时通信客户端,即时通信客户端例如可以为微信客户端。以微信客户端为例,网络管理系统的告警功能可以基于微信客户端的公众号进行开发,实现网管告警平台。网络管理系统还可以包括即时通信服务器,用于转发即时通信客户端与网管服务器之间的交互内容。

由于网管告警平台主要给网管运维工程人员使用,通过设置在移动终端上的即时通信客户端可以移动地、实时地获取被监测设备上报的告警,从而可以及时进行工程故障处理,减少中断业务时间。

如图5所示,本实施例提供的告警测试装置包括:

连接模块,用于在接收到测试启动指令后,连接网管服务器所维护的数据库;

加载更新模块,用于加载配置文件,读取网元信息,根据读取的网元信息,更新存储于所述数据库的网元表;

界面启动模块,用于在终端启动可视化操作界面;

报文生成模块,用于获取所述终端返回的可视化操作界面上配置的告警信息,生成告警报文;

报文发送模块,用于向所述网管服务器发送所述告警报文,由所述网管服务器解析所述告警报文得到告警信息,基于所述数据库中的网元表检验所述告警信息合法后,将所述告警信息发送给所述终端,接收所述终端返回的对该告警信息的查收通知信息。

其中,所述可视化操作界面支持配置可操作的网元信息以及告警类型,所述可操作的网元信息从所述更新后的网元表中读取,可操作的告警类型从存储于数据库的告警类型表中读取。

一些实现方式中,连接模块通过以下方式接收到测试启动指令:接收到即时通信服务器转发的由所述即时通信客户端发起的测试启动指令;

界面启动模块通过以下方式在终端启动可视化操作界面:通过即时通信服务器控制移动终端上的即时通信客户端启动可视化操作界面。

一些实现方式中,连接模块通过以下方式连接网管服务器所维护的数据库:

接收到测试启动指令后,向维护所述数据库的网管服务器发送数据库连接申请报文;

接收到网管服务器返回的携带数据库连接信息的应答报文后,根据所述数据库连接信息连接所述数据库。

一些实现方式中,配置文件中包括N条网元信息,每条网元信息对应模拟一个网元,每条网元信息至少可以包括:网元类型、网元的网络协议(IP,Internet Protocol)地址;其中,N为大于或等于1的整数。

一些实现方式中,加载更新模块,用于:

加载配置文件,读取配置文件中的一条或多条网元信息;

针对读取的每条网元信息进行以下处理:

根据所述读取的网元信息,生成INSERT类型的SQL脚本;

以网元的IP地址为索引,在检索到所述网元表中没有与所述读取的网元信息重复的索引时,执行所述读取的网元信息对应的SQL脚本,将所述读取的网元信息插入到所述网元表中。

一些实现方式中,告警测试装置还可以包括:配置更新模块,用于在检索到所述网元表中存在与所述读取的网元信息重复的索引时,记录重复索引的结果;基于记录的结果,修改配置文件中相关网元信息中网元的IP地址。

一些实现方式中,界面启动模块,用于通过以下方式在终端启动可视化操作界面:

根据加载的RMP文件,将从网管服务器的数据库读取的以OID形式表示的网元信息、告警类型以及所述告警类型需要配置的绑定变量信息,以物理名称的形式显示在可视化操作界面;

其中,所述网元信息包括更新后的网元表中的网元信息,所述告警类型包括存储于数据库的告警类型表中的告警类型;RMP文件是根据真实网元的MIB文件转换得到的,RMP文件中存储MIB节点的OID与物理名称之间的映射关系。

一些实现方式中,报文生成模块,用于通过以下方式生成告警报文:

获取终端返回的可视化操作界面上以物理名称的形式配置的告警信息;从RMP文件中查找物理名称对应的MIB节点OID,根据查找到的MIB节点OID对配置的告警信息进行报文封装,生成告警报文。

关于本实施例所述的告警测试装置的具体实现细节可以参照实施例一中关于TrapSender系统的描述,故于此不再赘述。

实施例三

本实施例提供一种告警测试系统。如图6所示,本实施例提供的告警测试系统可以包括:告警测试装置、网管服务器以及终端(例如,移动终端);

所述告警测试装置,用于在接收到测试启动指令后,连接网管服务器所维护的数据库;加载配置文件,读取网元信息,根据读取的网元信息,更新存储于所述数据库的网元表;在终端启动可视化操作界面;获取终端返回的所述可视化操作界面上配置的告警信息,生成告警报文;向网管服务器发送所述告警报文;

所述网管服务器,用于接收所述告警报文,解析所述告警报文得到告警信息,基于所述数据库中的网元表检验所述告警信息合法后,将所述告警信息发送给所述终端,并接收所述终端返回的对该告警信息的查收通知信息。

其中,终端为移动终端,移动终端上设置有即时通信客户端(例如,微信客户端)。

一些实现方式中,告警测试系统还包括:即时通信服务器;

告警测试装置,用于接收即时通信服务器转发的由即时通信客户端发起的测试启动指令,以及通过即时通信服务器控制移动终端上的即时通信客户端启动可视化操作界面。

其中,可视化操作界面支持配置可操作的网元信息以及告警类型,所述可操作的网元信息从所述更新后的网元表中读取,可操作的告警类型从存储于数据库的告警类型表中读取。

其中,所述告警测试装置用于在接收到测试启动指令后,向网管服务器发送数据库连接申请报文;所述网管服务器用于接收所述数据库连接申请报文,在验证所述数据库连接申请报文合法后,发送携带数据库连接信息的应答报文;所述告警测试装置用于接收到所述应答报文后,根据所述数据库连接信息连接所述数据库。

其中,所述网管服务器还用于记录第一日志以及第二日志;所述第一日志用于记录所述告警测试装置连接所述数据库是否成功、所述告警测试装置向存储于所述数据库的网元表插入网元信息是否成功、发送告警报文是否成功;所述第二日志用于记录根据接收到的告警报文解析得到的告警信息。

其中,所述网管服务器还用于动态维护存储于数据库的告警类型表。

关于告警测试装置的说明可以参照实施例二所述,故于此不再赘述。

本实施例的告警测试系统的应用可以参照实施例一中的实例描述,故于此不再赘述。

此外,本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述告警测试方法。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本申请不限制于任何特定形式的硬件和软件的结合。

虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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