您好, 访客   登录/注册

网络故障预警算法研究

来源:用户上传      作者:

  摘要:随着网络规模的不断扩大,为了保障网络安全、稳定运行,需要一种更高效的网络故障预警算法。通过对传统网络故障预警算法优缺点的分析,针对其缺点进行优化改进,采用离群点检测算法建立网络故障预警模型。对异常检测算法数据进行预处理,在Hadoop平台上计算数据异常指数,并不断调整阈值参数。实验结果表明,改进型离群点检测算法故障检测率达到98%,可对网络故障进行有效预警。
  关键词:网络故障;故障预警;离群点;Hadoop平台
  DOI:10. 11907/rjdk. 192345 开放科学(资源服务)标识码(OSID):
  中图分类号:TP309 文獻标识码:A 文章编号:1672-7800(2020)007-0194-04
  Research on Algorithm of the Fault Early Warning of Network
  LI Zi-wei,DING Yue-wei
  (School of Optical Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)
  Abstract:In order to meet the requirements of increasing network scale in automation operation and maintenance, a more efficient network fault early warning algorithm is proposed in this paper. It is hoped to improve the performance of algorithm of the fault early warning of network through the study of  the traditional algorithm of the fault early warning of network and analysis of its advantages and disadvantages. This paper proposes the alarm and fault identification based on outlier detection algorithm. Firstly, the model of fault early warning of network are established. Then the data of outlier detection algorithm are preprocessed, threshold values are adjusted, and the performance of this algorithm is verified on Hadoop platform. The experimental process and results of network fault early warning are analyzed the improved outlier detection algorithm achieves 98% fault detection rate. The result show that this algorithm is efficient to warn network faults.
  Key Words: network fault; fault early warning; network; outlier; Hadoop platform
  0 引言
  随着移动互联网的快速发展,网络设备大规模投入使用必然会出现一些故障,从而影响网络安全、稳定运行。网络故障在所难免,因此故障管理作为网络管理中的一个重要组成部分,需要一套科学的管理方法[1]。一旦故障产生,则会在网络中传播,产生大量告警事件。如何能快速、有效地从这些告警事件中准确地进行事件关联,从而给故障定位,是故障管理过程中一个亟待解决的问题[2]。
  如今随着网络规模不断扩大,网元结构逐渐复杂化,数据业务蓬勃发展,网络故障、设备告警呈现出激增趋势,运营商的网络运营与维护面临巨大挑战[4]。因此,通过对大量设备数据的接入和告警关联(Alarm Correlation,AC)[5]进行故障智能预警,可减少故障造成的损失。在这一思路的指导下,学者们提出了FP-growth算法、在线学习算法、Aprior算法以及改进型FP-growth算法[6-9]。但这些传统算法只能针对其中某一个或几个节点进行故障预警,而不能从全局角度发现网络异常。在日志分析过程中,发现网络异常处会形成离群点,因此学者们提出多种离群点检测算法。如文献[10]提出一种基于机器学习的贝叶斯网络离群点检测算法;文献[11]指出基于空间的离群点检测算法有待改进,并提出基于地统计学的离群点检测算法;文献[10]-[14]阐述了现有离群点检测算法存在的对环境动态变化适应性差、网络开销过大、网络数据库安全性低、离群点维度较高、异常阈值需要手动设定等诸多缺点。同时,包括离群点检测算法在内的多种传统异常检测算法都存在运算数据量过于庞大的问题。
  本文通过对网络日志数据进行预处理,以减少工作量。在事故发生的早期检测到异常情况,可使管理员有更多时间采取正确的行动。传统异常检测算法大多是对原始数据进行离群点检测,为了更好地对异常点进行检测,需要对异常检测算法进行改进。因此,本文提出一种首先对初始数据进行预处理的网络故障预警算法。网络故障预警流程如图1所示, 预警模型如图2所示。   1 数据预处理
  1.1 预处理原理
  离群点是指与多数点距离超过某个特定数值的点。将正常的点进行聚合,根据密度进行排序,并减少对k近邻的查找。将数据集中形成小集合的相似点去除,选取其中一个点,然后计算该点与其它点的距离,如果与其它集合中心的距离小于等于r/2,则将该点划入该集合;若大于r/2,则将该点作为新的集合中心。集合中点的个数小于k的集合保留,其余集合全都删去。若一个集合的中心点为o,在公式(1)中,集合中数据个数不小于k。在半径为r的圆中,p、q的距离小于等于r。
  因此,去除的点p是非离群点。然后对剩下的点进行整合,劃分为几个集合,以提高查找效率。按照密度进行排序,并根据离群点存在于该集合中的程度,将集合中点较少的集合定义为离群点集合,将点较多的集合定义为非离群点集合。对数据点进行离群点检测,通常需要访问所有对象,并对集合离群程度进行评估。每个对象的k邻近程度都需要进行评估,导致时间复杂度非常高。因此,此处通过数据预处理降低算法计算量。
  1.2 预处理方法
  若[Avg(p)D(p,ai)<Y],则不需要继续查找,可删除部分非离群点以提升算法效率。公式中p是本文需要求的点,D是p、q之间距离,Y是离群阈值。通常选取多个离群度的最低点作为阈值,根据三角形两边之和大于第三边的特性得到公式(2)。
  查找p的邻近点,如果公式(5)与公式(6)成立,则p并非本文所要找的离群点。因为p的离群程度均小于已知点,所以不必继续查找p的邻近点。随着对另一个数据点P的k近邻查找的进行,P的k近邻中的最远者总是会被距离其更近者所取代,因此该数据点的k近邻平均距离,也即离群度随着查找的进行总是不断变小。Y是目前已得到n个候选离群点中的最小值,如果目前点P查找到的k近邻平均距离已小于Y,那么再查找下去,其离群度也只会小于Y,也即是说,其离群度小于所有目前已知的n个候选离群点,因此不需要再计算P与数据集中其它点之间的距离。
  1.3 预处理过程
  算法运行时,p的邻居会不断地被更近的邻居所替代,所以其离群度会持续降低。已知数个离群点的最小值,继续查找仍不会找到大于Y的离群度,所以无需继续查找。对相似度高的数据点进行归类与排序,从而提高预处理效率。相似数据会被归为同类,所以先在同一个类别中查找,可提高查找效率。原始数据与预处理后数据对比如图4所示。
  2 异常检测
  2.1 异常值
  异常值在某些条件下是有意义且充分的,但在聚类不同时无法得到令人满意的值。离群值不是二元属性,相反,可为每个对象分配一个离群因子。对于给定p的距离k,p的k距离邻域包含与p的距离不大于k的邻域。网络事件是由所发生的事件与时间所组成的,网络节点日志可直观反映与记录网络当前状态的变化。
  网络设备的日志状态会在正常状态与异常状态之间切换,当网络正常运行时,网络设备日志显示正常状态,当网络故障发生时,网络设备日志显示异常状态。不同日志之间数据也互不相同,对所有类似日志进行归类,并对相似的日志数据进行编码。根据时间绘制出日志不同的数据点分布图,且将不同类型日志频率记录在案。本文通过该过程对原始、复杂的网络设备日志进行数据化处理,每一个数据点之间有不同的动态过程,可以画出异常点、离群点的位置从而进行直观展示。
  使用离群点检测方法对网络设备日志数据点进行衡量。在网络正常运行时,网络设备产生的日志中,产生的异常点数量是微乎其微的,所以使用离群点检测方法时效率非常高。另外,使用离群点检测方法对每条日志指数进行评估,可保证检测的准确度。
  2.2 异常指数
  根据网络设备日志数据点分布情况,可直观感受到哪些网络日志为故障日志。正常网络日志形成的点密度很高,而故障所产生的点会形成离群点。根据上述各个过程将网络设备日志语言转换成结构化语言,可在全局异常检测中有效利用日志产生的数据。如今很多算法无法从全局进行网络故障预警,而使用全局异常检测算法可以更加准确地从宏观角度进行预警。对每一个网络日志点进行异常评估,看其是否为离群点。在全局异常检测中,本文使用异常指数对异常点进行评估,异常指数定义如公式(6)所示。
  其中,[Nk(p)]表示p的k近邻距离。p的离群因子捕获了本文调用的一个离群点,其是局部可达性比率的平均值。需要注意的是,p的局部可达性密度越低,p最近邻局部可达性密度的异常指数值越高。采用全局网络故障预警方法可以快速、有效地进行网络故障评估,在某个指定的网络设备日志中,日志所形成的网络设备日志点分布能够直接反映网络设备在这一时间段的状态是否正常。异常因子的异常指数越低,表明异常值越小,说明该网络设备的日志点落在密度较大区域,相反,该日志点离群越远,该点异常值越高。当异常指数值高于预定值,则会发出警告。
  网络设备日志中的绝大多数日志都是重复且相似的,只需抽出其中相似的日志进行归纳,选取其中一部分进行公式计算,以减少计算量,从而节省网络设备日志计算时间,提高执行效率。该方式解决了因分析日志导致的大量时间消耗问题,使得全局异常检测能够更加精准、高效。
  3 实验研究
  3.1 实验环境
  本文搭建实验环境如下:采用伪分布式平台,Hadoop版本号为2.8.3[20],将6台服务器虚拟成一个集群,1台作为主服务器,其余5台作为从服务器。本文使用仿真数据进行故障预警实验,并与传统算法进行比较。
  3.2 实验步骤
  实验具体步骤如下:①对网络设备日志进行结构化预处理;②使用改进型离群点检测算法对所得数据进行简化处理;③计算单个网络节点不同时间的异常指数,并将异常程度以折线图形式表现出来。
  3.3 实验结果分析
  改进型离群点检测算法检出率如表1所示。   由图5可知,该网络设备的故障点异常指数为7.253,且在图中表现为离群点,网络设备在此时出现故障。通过图5可以轻松找出离群点,实验结果符合预期。因改进型离群点检测算法在检测时保留了数据主干,提高了工作效率,弥补了采用传统算法在非主干数据部分需要额外耗时以及准确率不足的缺点,从而提高了全局故障预警效率。由实验结果可以看出,改进型离群点算法根据不同时间的离群点分布差异,对结果的分析更为全面、客观,实现了预期的设计目标。
  4 结语
  基于大数据的网络运维服务采用各种监控、报警及报表服务工具,通过全面的网络监控与大数据智能分析,可在早期阶段发现故障并进行预警。通过对传统网络故障预警算法优缺点的分析,并针对其缺点进行优化改进,采用离群点检测算法建立网络故障预警模型。实验结果表明,改进型离群点检测算法故障检测率达到98%,可对网络故障进行有效预警。下一步工作将针对ospf邻居状态抖动、端口flapping、模块收发光异常等故障预警进行研究。
  参考文献:
  [1] 陆明祥. 计算机网络故障管理智能化探析[J]. 电子测试,2013(10):120-121.
  [2] 贺艳芳,石坚. SDH告警显示预处理和告警关联分析[J]. 科学技术与工程,2006,6(4):487-499.
  [3] 杜涛. 多用户网络高风险连锁故障区域预警方法仿真[J]. 计算机仿真,2019,36(7):328-330.
  [4] 陈威. 移动通信运维大数据应用价值探讨研究[J]. 信息通信,2016(10):59-60.
  [5] ZHAO B, LUO G. An alarm correlation algorithm based on similarity distance and deep network[C].  International Conference on Intelligent Computing,2016:359-368.
  [6] HAN J,PEI J,YIN Y. Mining frequent patterns without candidate generation[C]. Proceedings of the 2000 ACM SIGMOD Internal Conference on Management of Data,2000.
  [7] 刘启元,张聪,沈一栋,等. 信度网结构在线学习算法[J]. 软件学报,2002,13(12):2297-2304.
  [8] JIANG W,CHEN Y, LIAO Y. Correlation analysis of alarm databased on fuzzy rule in power network[M]. Switzerland:Springer,2018.
  [9] MAN Y,CHEN Z P,CHUAN J B,et al. The study of cross networks alarm correlation based on big data technology[C]. International Conference on Human Centered Computing,2016:739-745.
  [10] DWIVEDI R K,PANDEY S,KUMAR R.A study on machine learning approaches for outlier detection in wireless sensor network[C].  International Conference on Cloud Computing, Data Science & Engineering,2018.
  [11] 劉莘, 张绍良, 王飞, 等.  基于地统计学的空间离群点检测算法的研究[J].  计算机应用研究, 2016,33(12):3700-3704.
  [12] WANG ZM,SONG GH,GAO C. An isolation-based distributed outlier detection framework using nearest neighbor ensembles for wireless sensor networks[J].  IEEE Access,2019,7:96319-96333.
  [13] SAKR M,ATWA W,KESHK A. Sub-grid partitioning algorithm for distributed outlier detection on big data[C]. 2018 13th International Conference on Computer Engineering and Systems (ICCES),2018:252-257.
  [14] NAGAMANI C, CHITTINENI S. Network intrusion detection mechanisms using outlier detection[C]. 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), 2018.
  [15] HAQUE A,MINENO H. Contextual outlier detection in sensor data using minimum spanning tree based clustering[C]. International Conference on Computer, Communication,Chemical, Material and Electronic Engineering (IC4ME2),2018.
  [16] LIU R Y,ZHU Q S. A network anomaly detection algorithm based on natural neighborhood graph[C]. International Joint Conference on Neural Networks (IJCNN),2018.
  [17] YADAV S,TRIVEDI M C,SINGH V K,et al. Securing AODV routing protocol against black hole attack in manet using outlier detection scheme[C]. IEEE Uttar Pradesh Section International Conference on Electrical, Computer and Electronics (UPCON),2018.
  [18] PATIL S D,VIJAYAKUMAR B P. An outlier detection scheme for wireless sensor networks[C]. International Conference on Wireless Networks and Embedded Systems (WECON),2016.
  [19] 章铎.  基于大数据挖掘的故障预警系统研究与实现[D]. 北京:北京邮电大学,2014.
  [20] 唐世庆,李云龙,田凤明,等. 基于Hadoop的云计算与存储平台研究与实现[J]. 兵器装备工程学报,2014(8):97-100.
  (责任编辑:黄 健)
转载注明来源:https://www.xzbu.com/8/view-15286490.htm