APP下载

网络设备故障检测系统的实现与测试

2021-09-15曾庆毅

广西教育·C版 2021年5期
关键词:网络设备测试

【摘 要】本文论述网络设备故障检测系统的实现与测试,立足于网络设备故障检测管理工作,提出进行自动检测和分析的开发需求,从软件开发角度出发,开发设计系统的架构和功能模块,借助JavaEE技术进行开发实现,对系统功能和性能进行测试,确保其具有动态、有效、安全、稳定的故障诊断功能。

【关键词】网络设备 故障检测系统 测试

目前国内外的大型公司、集团等大多设置了网络运维部门或信息中心,负责对本单位网络设施的运维操作。这些单位的网络运维部门在信息化设备维护中采用传统的管理模式,大部分基于Web系统实现对本单位网络设备的缺陷检测、缺陷管理等,这种对缺陷检测监管的方式效率低且出错率高。如检测人员在缺陷检测过程中出现网络设备漏检的情况,导致网络缺陷检测工作不能高效完成,对缺陷检测人员的监管仅仅停留在数据记录上;同时,缺陷检测人员的任务分配不合理等情况也时有发生,导致缺陷检测工作管理较为混乱。在记录方式上,大部分采用Word或Excel的形式来存储设备的故障信息,或者通过简单的数据库管理系统来达到记录目的,导致缺陷检测工作的漏洞。

为使网络运维部门的网络缺陷检测工作得到更好开展,实现部门有效协同配合,及时明确故障问题是其中的关键。网络设备厂家、缺陷检测信息化专家提出了把业务控制、协调办公等手段应用于网络运维部门的缺陷检测当中的做法。

一、网络设备故障检测系统实现所需的技术支持

进行软件开发需要对操作系统进行选择,目前比较流行的计算机操作系统是Windows 7或者Windows 10。在本系统的开发中将会选择使用Windows 10作为开发的计算机操作系统,该操作系统响应速度比Windows 7要好,且兼容性和稳定性好。选择好操作系统以后,还需要对操作系统的应用软件进行配置,如应用程序服务器、数据库管理系统以及JavaEE开发环境等。

系统开发软件环境配置包括开发语言Java及环境支持JDK,开发工具选择的是Eclipse,数据库系统是MySQL5.7,应用程序服务器是Tomcat,系统前端开发使用Dreamweaver工具。

二、网络设备故障检测系统功能的实现

(一)网络设备管理模块

网络设备管理即以实现网络设备信息维护为目的,包括基础信息的维护和网络设备信息的维护。在对信息维护时,可以对网络设备的基本参数进行维护。为了能够提升系统的开发规范化,系统中的数据统一采用JSON格式进行传递,以确保数据访问请求和数据返回解析的一致性。在系统中通过用户前端界面获取相关参数,按照系统中的数据格式,以JSON方式向服务器发送,在服务器端会调用对应的业务类进行响应和处理,并借助数据库操作实现数据的提取,最终再通过标准格式数据实现返回处理。访问者借助浏览器,通过Jquery把JSON数据进行解析,获取服务端处理值,最终完成数据通信过程。

在完成网络设备基础信息管理后,就可以在后续的管理中获取设备运行状态信息,并且根据状态情况所触发的告警条件,通过系统发起告警提醒。提醒是通过前端界面向用户发起,在HTML5界面中有很多的提醒设置和方法,可根据不同的网络设备类型和提醒要求,设置对应的提醒样式和提醒时间。当触发条件满足以后,系统会调用对应的Javascript代码进行提示。整个网络设备的查询与提示按照下面流程进行:在客户端,用户通过系统获取网络设备运行情况,对应的查询请求通过JSON格式进行参数提交;用户访问请求被服务器系统接收以后,系统通过服务器发起查询请求,对应结果来自数据库;对应的数据传递也是通过JSON格式数据实现。在客户端接收到这些数据以后,系统会调用对应的方法进行数据显示。当满足告警提示条件以后,系统会显示出对应的网络设备以及告警信息。

系统提供了对网络设备运行情况的查询显示功能,通过JSON数据格式对请求进行接收和处理;服务端在接收到网络设备编号后,以编号方式进行查询,然后通过Jquery以数据查询的方式向客户端发送返回值,最终显示出来。

(二)监测数据采集与处理模块

网络监测系统中,积累了大量的网络设备运行日志文件,这些文件与网络设备基础文件和业务文件密切相关,因此本系统需要对监测系统中的文件进行导出操作。这些文件以附件形式进行存储,并将文件的属性信息存储在表格中。因此对网络设备的运行监测日志文件进行采集时,需采集文件和属性数据。

本系统获取到需要采集监测系统的所有日志文件目录,并进行相应的查询操作,等到相关数据全部获取以后,再对数据进行集中处理。在这些数据中,有部分是结构化的数据,可以通过规范的JSON格式数据进行解析处理,也有些非结构化的数据。有时候对网络设备的分析需要依赖这些非结构化的数据,因此,这两种格式的数据都不应该放弃,都需要进行查询并导入系统中。在具体实施中,可以借助JSON格式文件标准,实现对结构化数据进行管理,而对那些非结构化的数据,可以借助FTP站点的方式进行解析。

在具体设备监控数据的导入和管理中,通过JSON格式数据标准可以把规范的设备运行日志文件导入系统中,并由系统做好解析工作,最终把解析数据保存到数据库表中。对那些非格式化的数据文件,也需要进行处理。在程序中可以借助不同的类进行数据封装和处理,并且通过临时数组保存数据策略,实现对批量数据的导入管理。在非结构化数据中需要对FTP服务器的连通性进行测试,然后调取对应的设备运行参数日志文件。

系统中针对网络设备日志的读取是借助URL进行的,这样不同网络设备的运行指标就能进行分类存储,提升系统数据统计分析的准确性。在数据的导入中需要对URL的连通性进行测试,在确保数据畅通的情况下进行数据动态提取并插入到数据库中。在系统客户端发起数据查询需求以后,系统会借助JSON标准向后台数据库进行信息查询,并且返回标准的JSON数据结果。在实现中还需要注意的是,通过文件导入对象来发送服务请求时,是通过批量数据访问的方式进行的。这种数据处理效率比较高,但是执行效率却不高。因此要设计对应的网络设备,使之按照编号实现批量打包处理。这样,当进行数据查询请求时,对应的设备编号就按照批量處理的方式进行打包发送,并在服务器端实现批量解析和内容查询。此时,系统会根据查询结果,进一步分别进行汇总,并把结果封装打包后发送到客户端。当客户端下载对应的数据以后,就可以批量看到数据的呈现效果。如果要对数据进行存储管理,也可以进行直接上传,从而提升系统中数据的交互效果和导入速度。

以上方法完成了监测系统中日志文件附件的读取,以FTP站点访问的方式进行文件的共享处理。除了文件附件,监测系统中也存储了大量的文件的属性数据。由于监测系统采集了网络较多的业务系统,为了使网络设备运行数据的属性进行集成,系统会通过XML文件进行属性文件的交换操作。DTD是定义XML交换文件的格式标准,其通过定义变量解析了文件属性中每个字段的含义。除了读取这些原字段的含义外,还需要读取文件的属性与本系统的网络设备运行数据库结构的对应关系。

DTD文件中定义了要导入网络设备运行数据资料系统中的各个属性字段值,即数据库表中的字段属性,定义文件属性在监测系统中的属性名称与目标表中的属性名称等。DTD文件格式的读写是通过XML文件解析器来完成,并根据DTD中定义的属性,将结构化数据表格与XML文件建立对应关系。先在OA端根据文件存储情况,读取相应的业务数据表,提取相应的文件属性,然后按照对应的格式进行解析,并且分别将之存放到对应的数据库中。

通过DTD定义运行监测文件属性与本系统的文件属性的对应关系后,可进行运行监测数据与系统数据之间的导出、导入操作。

(三)网络设备故障管理模块

网络设备故障管理模块需要向运行监测平台查询有关某设备的具体运行情况信息,以获取设备故障数据。因此,在数据交互中需要通过一个具有识别特征的数据识别系统的运行情况。因为系统中统一的数据交互格式是JSON,所以在请求中需要包含一个设备ID,以便在解析以后可以向数据库查询对应的设备运行状态信息,其中包括设备运行代码以及监测参数数据。当服务器端接收到对应的查询请求以后,会根据对应的设备ID进行设备状态查询,并通过前端界面把结果记录、解析和显示,具体的流程如下:

(1)客户端用户通过系统查询界面发送了解某台设备运行状态请求时,提交的请求为设备ID的JSON格式数据请求,请求的信息包括基本的设备ID、设备运行状态、设备故障ID信息和设备其他必要信息。

(2)程序借助HTTP协议把用户请求进行封装和传递,服务器端程序将接收用户请求,并做进一步解析处理。

(3)程序调用相应的接口,完成服务器端对象的实例化,并由对象完成数据的提取和判断分析,然后向数据库发起查询数据请求。

(4)系统提取到对应的设备ID的运行状态信息以后,通过业务逻辑层将数据从数据库向前端通讯传递。

(5)服务器端和客户端借助HTTP协议将数据由服务器端向客户端传送,并且在客户端进行解析和效果呈现。

(6)在客户端,系统将按照HTML和CSS结构把获取的数据显示出来,向用户提供可视化和图形化的呈现方式。

本系统由于涉及设备维护管理,因此系统中的数据实时性要求比较高,需要结合数据交互需求实现,故采用实时数据接口和数据库的方式,以得到预期效果。

(四)网络设备故障诊断模块

本系统最终通过使用OPTICS规则推理引擎,分析采集到的网络设备监测数据,以对网络设备故障进行诊断,即创建Rete网络并执行评估推理,得到推理结果,进行存储以及用于报表生成。

本系统通过获取设备运行状态和参数,对网络设备的故障情况进行分析,并统计、汇总所有故障信息,最终对不同类设备和不同类故障进行统计分析,发出系统告警。在具体实现诊断算法中,通过设备特征进行故障判断。算法实现的核心目标是故障特征的相关性系数,通过该值把网络设备的故障特征距离矩阵计算出来。具体过程如下。

1.初始化设备特征

在设备故障的历史库中,存在有大量的不同故障和对应的信息数据,且不同的故障特征有不同的参数值,需要借助数组把设备特征进行分别记录保存,这里定义的数组是“charactersList[]”。在数据处理中,需要对设备提供的数据进行预处理,以便使统计结果更加准确。系统中不同的特征参数可以看作该特征处于变化之中,在统计时可以根据设备特征进行分类汇总,可以对动态特征设置维护管理功能,以适应设备和特征之间的关系变化。

2.读取设备状态样点数据

借助数组记录和分析设备状态,在算法中,先通过“TypesList[]”对故障进行分类和统计,然后通过“charactersList[i]”对设备特征进行分类和统计,标注不同的设备类型的为数组“CharacterList[i].type[]”。

3.计算相似度

对设备状态样点进行特征分析时,选择某一数据特征作为中心,然后进行样点矩阵计算,对应的取值范围为“distance∈[0…1]”。

4.统计查询设备同类特征的生成故障诊断信息

程序中把設备特征表示为“characterid”,对应的距离矩阵序号为“characterid.index”。

计算特征向量,并从小到大进行排列,再通过设定的最小领域半径进行簇划分,于是得到对应的均值“{avaerage_1,avaerage_2,…,avaerage_n}”,这里的n表示设备特征“characterid”的个数。进一步对“characterid.index”进行查找,并找到最大值“avaerage_k”,其中,k表示的是所有要求特征对应的簇类。设簇集合为“type_i={type_i_1,type _ i _2,…,type _ i _n}”。

5.查找某一具体设备同类特征的生成故障的诊断信息

针对某一具体网络设备,对其中特征进行划定,即选取“charactersList[]”数组中的某一个值,经过以上2到4流程,得到簇集合“type_j={ type _j_1,type _ j _2,…,type _ j_n}”。

6.求最后的簇集合

各自计算不同“charactersList[]”的分类簇,然后求其交集“type_1,type_2,…,type_k”,于是得到最终的生成故障诊断结果。

三、网络设备故障检测系统的测试

(一)系统功能测试

在软件开发过程中,一个稳定的、可以满足用户使用需求的系统必然要经历测试的过程,否则系统是不能轻易上线的。通过对系统进行测试,可以对系统的整体质量有明确的认识,可以对开发中潜在的问题进行摸底,并进一步完善软件。在测试工作中,对系统功能和系统兼容性进行测试。本系统需要对目前使用较多的浏览器进行测试,如对谷歌、百度以及火狐浏览器等进行兼容性测试。如果测试合格,表明系统在实现网络设备管理时,其基础信息的维护、数据校验等功能达到了预定的目标,且说明系统对设备故障能够实现录入、查询等相关操作,能够根据设备提供的信息查出故障。

(二)系统性能测试

随着维护人员对软件系统的使用增加,他们对软件系统的响应体验要求也日渐提高。在过去互联网不发达的年代,系统的响应时间普遍延迟,尤其在有重大活动时,如网络安全大检查时,服务器响应体验很差。为了能够为广大用户提供更好的响应体验,要对系统的运行性能进行评估,要多次对系统进行实际场景模拟测试。一般要通过第三方工具“LoadRunner Windows 版”对不同用户量进行模拟测试。

在分别完成系统的功能测试和性能测试以后,要对系统进行集成测试,以确保系统测试的完整性。对系统进行60轮完整的集成测试,在前16次测试中,系统运行出现问题,如系统页面跳转错误、设备预警提醒表述不清等;经过对程序代码进行修改,系统的各项功能最终都可以正常使用,如网络设备选择信息是有效的,直到重新选择新的网络设备单元。

在该测试中,所配置的软硬件环境和实际应用场景一致,因此测试效果可靠。从整个系统的运行情况来看,此次服务器配置完全可以满足使用要求。系统的点击率和吞吐量符合预期,系统本身以及服务器的配置可以满足使用要求,并且在进行预警提示时也是准确的。

在网络设备故障各项开发指标完成以后,对系统分别展开软件测试工作。通过对系统进行功能测试、性能测试、集成测试后,得到结论:系统达到了预期的目标,具有动态、有效、安全、稳定的故障诊断功能。

【参考文献】

[1]刘翔元.基于网络流量分析的网络设备类型识别关键技术研究[D].南京:南京邮电大学,2019.

[2]于凡超.智能变电站通信網络设备故障诊断的设计与实现[D].重庆:重庆邮电大学,2019.

[3]王鹤.基于人工免疫的网络设备管理及故障诊断Web系统[D].上海:东华大学,2018.

[4]王俊,张贤孝.基于Adaboost的网络设备故障诊断算法[J].数字通信世界,2017(9).

[5]许子先,郑威.基础网络设备安全风险分析[J].电信网技术,2017(4).

【作者简介】曾庆毅(1981— ),男,工程硕士,梧州职业学院讲师,研究方向为计算机网络技术,网络安全。

(责编 丁 梦)

猜你喜欢

网络设备测试
网络设备的安装与调试课程思政整体设计
幽默大测试
幽默大测试
幽默大测试
一种基于C# 的网络设备自动化登录工具的研制
“摄问”测试
“摄问”测试
“摄问”测试
防范加固SNMP团体名漏洞
基于列车监测网络设备的射频功放模块设计