基于数据挖掘的通信网络故障分类研究
2024-01-05王迎山
王迎山
(爱立信(中国)通信有限公司,北京 100102)
1 数据挖掘的理论和背景
在数据库技术和数据库管理系统广泛应用的背景下,人们积累的信息呈几何倍增加,其中大部分存储于多种数据媒介中的数据信息已经超出了人类的理解和概括能力,导致数据库成为“数据坟墓”,导致数据信息的利用率明显降低。传统数据库管理系统能够明显体现出数据录入、查询以及统计的高效性,但并不能在数据处理中找寻数据之间的关联和规则,导致人们无法利用充足的数据信息判断未来发展趋势。在这样的背景下,数据分析工具已经成为突破数据和信息之间界限的重要需求,而且在数据库技术持续创新发展的背景下,在人工智能技术支撑下的机器学习取得了明显成果,应用机器学习的方式挖掘数据之间的关联和规则已经成为提升数据分析整合效率的重要方式。
数据挖掘主要指借助算法从大量数据中挖掘信息的过程,而且数据挖掘可以分为有标签的和无标签的两种类型,有标签的数据挖掘主要用于数据分类和任务预测,无标签数据可以为找寻数据的关联提供便利条件。
2 网络故障诊断的理论概述
在我国科学技术持续创新的背景下,故障诊断已经成为人工智能领域的重要内容。将人工智能技术应用于故障诊断可以实现基于人类专家经验诊断技术的功能,可明显提升故障诊断水平。与人工智能技术相关的智能诊断方法主要有围绕规则、模型以及人工神经网络等类型,多样性的方法具备独特的功能优势和局限性。
目前,网络管理系统主要应用SNMP和Trap两种机制实现网络数据的收集,网络轮询机制主要通过控制网络管理进程的方式轮流查询整个网络设备的工作状态和参数,但是在网络规模持续扩大的背景下,轮询消耗的时间较长,而且增加了网络带宽的同时,致使故障出现概率大幅度增加,对故障信息收集的效率具有明显影响;Trap机制主要报告计算机节点代理进程的设备状态和参数,这种网络管理机制可有效减少时延,同时也可以明显减少带宽占用。
3 通信网络故障的类型
3.1 线路故障
诊断线路故障应采用检查线路流量的方式,并应用ping命令检查远端路由器的端口是否响应,最后应用tracetoute命令检查路由器配置的合理性,利用不同的检查命令找寻引发故障的原因,并有针对性应用方法解决线路故障。根据网络运行的实际情况,大部分网络线路故障都与路由器有关,所以很多人习惯将线路故障归纳为路由器故障。在路由器故障检测中需要科学地运用MIB浏览器,运用浏览器功能收集路由器的路由表和端口流量等数据信息,一般情况下,网络管理系统中都设有专门的管理进程,其管理进程主要检测路由器的关键数据信息,针对参数异常的信息及时发出警告。
3.2 主机故障
主机故障常缘于主机配置问题,主机的IP地址和其他主机的IP地址冲突很容易引发主机故障,或者IP地址的设定超出子网范围,导致ping命令检查过程中出现不通现象。安全故障也是主机故障的常见类型,例如,主机上缺少finger、rlogin等服务,非法入侵者很容易通过主机多余进程的服务和bug攻击主机,同时在网络攻击中很容易得到Administrator权限。
3.3 路由器故障
线路故障很多情况下会涉及路由器,因此部分线路故障也可以归咎为路由器故障,由于线路故障涉及两端不同的路由器,所以线路故障的处理涉及多个路由器,部分路由器故障仅限于本身故障,其典型故障为路由器CPU利用率过高或内存余量较小等。
4 数据挖掘的特征构造方法
4.1 数据特征构造方法
4.1.1 围绕警告标题做TF-IDF
警告标题是指故障发生时上报的名称,不同的警告标题标志着不同类型故障,例如,ETH_LOS标志着端口难以接收到信号,RHUB和pRRU之间链路的异常报告表示端口异常。
TF-IDF是一种围绕着信息检索和数据挖掘的加权技术,其中TF可以表示故障名词的出现频率,IDF则表示逆文本频率指数。IDF越大则表示有关某个词的文档越少,因此当IDF足够大时能够表现出良好的类别区分能力。应用TF-IDF转换警告标题可以有效统计警告标题,从而实现文本信息向数值信息的高效转换。
4.1.2 警告处理的时间特征
警告处理的时间特征主要表现在时间信息方面,通过对警告时间的处理可以快速提取出警告发生的具体时间,从中可以准确判断工作日或休息日等信息。
4.1.3 比率特征
比率特征是指针对各类特征求比例,例如,在比率特征可以反映警告标题出现的次数和故障标题的种类,从而求得警告标题在每个小区的比例情况和各小时警告发生的比例情况等。
在完成不同类型特征处理后便可以形成最终的训练集数据,而且技术人员可以将最新得到的数据集应用于集成学习模型中。
4.2 数据特征的选择方式
在完成数据处理和特征构造之后可以得到大量属性,技术人员应避免将所有的属性全部加入到模型训练中,部分属性在模型学习中很容易影响模型效果。本文应用的数据量含有近20 000个样本,而且各个样本中都含有较大数据量,如果将全部样本应用于模型训练中将对训练机器提出较高要求,而且算法运行缓慢,因此在数据特征的选择中应该合理筛选特征的基本属性,例如,技术人员可以应用LightGBM模型对数据特征进行合理筛选。
LightGBM是由微软团队开发出来的开源集成学习模型,该模型具有训练速度快和占用内存空间较小的特点,因此LightGBM模型被广泛应用于数据科学竞赛中。在数据训练之后,技术人员可以应用feature_importance()函数了解特征的重要性,该函数可以对训练之后的特征实行重要性排序。
在采用LightGBM模型评估之后发现有24个特征的重要性为0,表示这类特征没有应用价值,因此在特征学习中应该剔除这类特征,同时在对特征的详细分析中能够明显发现重要性值为0大多为有关时间的特征。而警告标题在TF-IDF处理之后,文本特征的重要性值较高,可以判断警告标题对故障分类具有重要意义。
5 网络故障诊断系统的整体规划
5.1 网络故障诊断系统的设计方案
网络故障诊断系统需要根据故障发生的原因进行科学设计,一般情况下,设计人员可以按照以下步骤科学合理设计故障诊断系统。①对网络运行中产生的各类信息进行汇编处理和分类,并建构完整的原始信息表[1]。②针对代理和管理者的职能设计相应模块,并设计原始信息搜集的过程。③采用故障训练的方法科学设计故障信息库和测试库。④应用特殊的方法对故障信息库进行知识挖掘,例如,应用决策树或神经网络的方式合理挖掘故障信息库中内容,将最终得到的规则集进行科学的模式评估,充分保障规则的准确性[2]。⑤结合实际情况对原始数据信息进行数据清理、选择以及集成等处理,利用掌握的规则对净化之后的数据进行科学分类。
5.2 网络故障诊断系统的结构
网络故障诊断系统主要由数据采集、故障诊断以及解释系统和人机接口组成。数据采集部分包含代理服务器和管理服务器的管理人员,数据采集的主要功能在于将节点机器上的数据信息发送到服务器上,并存储到服务器上的数据库中。故障诊断部分包含数据挖掘和数据预处理两个模块,数据挖掘模块的主要功能在于构建规则库和进行模式评估,并在数据诊断之后产生完整的结果。这部分所用到的故障信息库主要收集过往故障案例,并从案例分析中找寻发生故障的基本规则,测试库中收集到的故障案例主要用于规则评估。解释系统和人机接口的主要功能在于解释测试结果,接受用户的查询请求,并为用户提供良好的交互体验界面。
网络故障诊断系统的三个重要组成部分可以共同在网络环境下完成数据收集、数据挖掘和处理以及数据表示等功能,但是这三个部分所形成的软件环境存在较大差别,数据采集主要在各个节点服务器通信情况下完成,所以数据采集的软件环境受各个节点代理和服务器的实际情况影响;数据挖掘和分析主要在诊断服务器上工作,解释系统需要在与管理员交互之后解释测试结果,其系统整体架构如图1所示。
5.3 数据的采集和发送功能
数据采集工作流程为节点代理通过网络定期向诊断服务器发送网卡信息、CPU信息等与软件运行数据相关的信息,由管理进程将软件运行相关的信息接收并存放于中央数据库中。节点代理可以根据机器的类型获得各诊断代理上所提供的服务信息,并从中提取有价值的信息,最后结合数据库表项调用相应的发送函数。
数据采集主要分为系统信息采集和服务信息采集两个部分。系统信息主要为网络系统运行情况的判断提供参考依据,又可细分为网卡信息、处理器信息以及进程信息等。
服务信息是指各诊断节点代理上所运行有关服务信息,此信息获取方式主要通过诊断代理结合节点代理类型提取,其来源为节点代理服务进程。通过诊断代理可以通过与其他服务进程共享内存方式提取有价值信息,而后根据数据库表项为诊断服务器发送相应函数。
主机类型表主要功能在于描述被诊断节点代理的类型,其字段由节点代理在网络中的服务决定,服务类型的不同会导致收集的服务信息和诊断程序发送的服务信息表存在较大差异。主机类型表如表1所示。
表1 主机类型表
6 结束语
总的来说,依据通信网络告警和网络故障数据能够合理开展数据挖掘,并从中找寻有关数据的特征信息,因此将数据挖掘技术应用于通信网络故障管理可以提升网络管理效率,在应用数据挖掘技术时,需根据网络故障数据特性选择适宜数据挖掘技术,同时将数据潜在特征与原始数据一并纳入模型训练中。练结果来看,新数据集在XGBoost集成学习模型分类准确率更高,而且XGBoost和CNN算法可以缩短运行时间,确保网络管理能迅速完成网络故障的分类。