
2. 安康学院 电子与信息工程学院, 陕西 安康 725000
巡检是网络运维中最重要的一项工作,通过巡检能够第一时间掌握设备的运行状况,及时发现潜在的隐患,在网络运维中的地位无可替代.传统的巡检方式主要以人工巡检为主,其他方法为辅,故障与隐患一般通过电话方式上报,巡检记录主要通过手工方式来管理,因而传统的巡检方式缺乏对巡检的实时跟踪监控,缺乏对巡检维护质量的定量考核,也不能够实现巡检结果和故障隐患的自动上报和处理,巡检管理工作效率比较低.目前,人们已开始考虑将人工智能引入巡检系统,构造智能化巡检,并利用机器学习的方法去预测网络异常.基于此,本文提出了一种基于BPNN(BP神经网络)的智能巡检异常预测模型,对网络运维系统采集的数据进行处理、学习,并自动发现网络的异常,提高了网络的安全性能.
1 智能异常预测概述网络异常是指在网络正常运行过程中,由于系统资源逐渐耗尽或者网络攻击导致数据流量异常,引起系统崩溃或者用户无法工作的现象.网络异常主要是观察到的行为(如CPU负载,内存使用率等)不正常,或者由于其它不相关的进程消耗了系统资源,数据流入、流出变化超出一定的范围等行为.当系统识别到相应的变化时,主动发出信息,让管理员进行处理,调整网络资源的配置.在异常预测研究领域,目前有大量的研究. Ramaki等[1]提出一种实时片段关联算法,它通过因果关联矩阵对警报数据进行因果关联,并对警报序列进行频繁项挖掘,根据得到的频繁项集结果实现异常检测. Gu等[2]提出使用基于流的决策树分类模型的方法进行异常预测,将当前的状态分为normal,alert,failure 3种. Tan等[3]提出了基于流处理的异常预测模型,主要是使用马尔科夫链对多变量进行预测,再将预测值进行贝叶斯分类,对预测状态分为两类,abnormal和normal,如果是类abnormal,则报警;Ding等[4]使用异常探测标识训练数据,再用决策树的方法进行分类,将状态分为alert,anomaly和normal 3类,在实时监控时使用贝叶斯分析法来识别当前的上下文,再确定使用相应的预测模型.江务学[5]提出了一种基于改进递归神经网络模型的非线性网络流量预测方法,通过引入遗传算法进行全局最优寻解的模型建立.这些模型大多只是基于回归技术的模型,有一定的局限性,预测结果存在较大的误差.
在智能巡检领域,智能巡检系统主要用来实现对网元数据的实时采集,并对相应的性能指标进行异常检测[6-7].文献[8-9]提出了一种主成分分析方法,对提取的原始数据进行特征提取,文献[10]提出了一种基于禁忌算法和BP神经网络的网络入侵检测算法,文献[11]提出了一种改进粒子群优化的小波神经网络模型,这些方法主要是针对单一阈值实现网络预测,因而误报率比较高.而在实际网络中识别网络异常是一个由多种因素相互影响的状态,需要对异常数据作综合分析判断.
针对以上研究方法存在的不足,本文提出了一种基于BPNN(BP神经网络)的智能巡检异常预测模型.首先,对网络运维系统中采集的性能数据,进行特征提取;其次,对数据进行归一化处理,再对归一化的数据进行矩阵构建,确定网络训练的样本数据,通过自主学习发现网络异常.最后通过实验验证本文所提方法在智能巡检异常预测方面的准确率和效率.
2 基于BPNN的智能巡检异常预测模型 2.1 模型总体设计利用神经网络进行网络异常预测的基本思想是用一系列数据单元训练神经单元,在给定一组输入数据后,预测出输出数据;反向传播(Back Propagation,BP)算法对大量数据的训练能力及其良好的鲁棒性使得它在数据分类和预测方面得到广泛应用.
先利用BP神经网络模型对网络实时监控数据进行训练,计算预测数据与实测数据的误差,通过调整后还原数据得出数据的真实区间范围,根据数据状态概率,选取概率最大的区间为预测值区间,其均值就为预测值.
2.2 BPNN异常预测模型的构建在网络运行过程中,发现影响网络异常的性能指标很多,传统的网络异常预警主要是针对每一个性能指标设定相应的阈值进行预测告警,这就导致网络异常的误报率较多,需要人工去判断真实的情况. BP神经网络模式通过对所有网元性能参数的统计与分析,利用BP神经网络良好的非线性映射性能和学习能力,实现对网元结点性能的综合预测. BP网络模型可以调整性能参数的种类和个数,具有较强的灵活性及较强的适应能力.还可以通过对采集到的不同时段性能数据来反复训练网络,使训练出来的网络更接近于真实网络,其预测结果更适应于真实网络.
本文使用的是中国移动某分公司2018年9月网络运维管理系统采集到的网元性能指标数据,采集的数据以小时为单位,每天采集24组数据,总共720个数据样本,每一个数据样本主要包含17个属性,如表 1所示.
![]() |
表 1 预处理数据 |
表 1的样本数据大多数是数值类型的数据,对于非数值类型的数据可以通过转换成数值类型进行运算,对于数据值偏大的参数指标,如userSessionNum、userConcurrentNum、LinkOutFlow、LinkInFlow等,为保证网络的性能和稳定性,使用Matlab中自带的mapminmax函数对相应的数据进行归一化处理,将数据值的范围归一到(0,1).将数字归一化可以避免不同量级的数据之间相互影响,也可以加快网络学习的速度.将样本数据进行网络构建与训练,将训练好的网络输出进行异常预测.在样本数据中标识网络状态两类:normal和abnormal,因此在输出样本中只需2个值,设定阈值,当值小于该阈值时输出为normal,否则为abnormal.智能巡检异常预测模型如图 1所示.
![]() |
图 1 基于BPNN的网络异常预测模型 |
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一[12]. BP网络是由输入层、隐藏层和输出层构成的网络. BP网络的结构主要包括以下几个方面:BP网络的层数、神经元激活函数、每层的神经元个数. BP神经网络的层数选择3层的神经网络,当训练误差不能满足阈值约束时,在每层增加新的神经元.
BP神经网络预测模型如图 2所示,BP网络实现网络异常预测需要找到影响网络性能的特征数据,通过本文对网络的性能指标与网络状态的数据分析,确定网络模型的输入为已选定的17个特征向量,即X=(x1,x2,…xj,…x17)T.
![]() |
图 2 BP神经网络预测模型结构图 |
输出的数据主要是综合判断网络当前的状态,网络中网络状态的标识有2类:normal和abnormal,因此在输出样本中只需2个值,设定阈值,当小于该阈值时输出判断normal,否则为abnormal.
隐藏层神经元的激励函数通常采用Sigmoid函数.隐藏层的神经元个数可以含一个或者多个神经元,隐藏层需要在实验过程中确定,图 2中省略号表示隐藏层的个数不确定.训练样本比例为70%,检验样本量为30%.权重更新优化采用梯度下降算法(最速下降法).
2.4 利用训练好的网络进行异常预测BP算法的学习过程分为正向和反向2个过程,在正向阶段,BP神经网络输入层接收到输入信息,然后从隐藏层到输出层逐层计算每个单元的输出值,如果网络的输出与期望值不一致或者还未达到终止条件,网络进入反向学习阶段.在反向阶段,BP神经网络利用最速下降法将输出误差经过隐藏层逐层反向传递,并根据每层计算得到的误差调整对应神经元的权值和阈值. BP神经网络会在此学习算法下重复以上2个过程,直到网络输出值域与期望值域之间的误差处于误差允许范围内或者达到最大终止条件时停止学习.根据分析,网络训练的过程如下所示:
Step1:首先对数据进行归一化处理;
Step2:网络初始化.网络初始对权值矩阵进行随机赋值,设置网络误差E为0,学习率η为0.1,网络训练后的精度要求Emin为0.001;
Step3:输入训练样本,其中70%作为训练样本集,剩余的30%作为测试样本集,计算各层的输出;
Step4:计算网络输出的误差;
Step5:调整各层的权值;
$ \begin{array}{l} \Delta {w_{ij}} = - \eta \frac{{\delta E}}{{\delta {W_{ij}}}}i = 1, 2, \cdots , 17;{\rm{ }}j = 1, 2, \cdots , m\\ \Delta {w_{jo}} = - \eta \frac{{\delta E}}{{\delta {W_{jo}}}}{\rm{ }}j = 1, 2, \cdots , m;{\rm{ }}o = 1, 2, \cdots , p \end{array} $ |
Step6:检查所有样本的训练.若p<5,计数器加1,返回Step2,否则进行下一步;
Step7:检查网络的总体误差是否达到精度的要求,若E<Emin,训练结束,否则将E置0,p置为1,返回Step2.
最后将网络预测的序列与真实数据对照比较.如果偏差大于0.05,则将结果标记为异常并提交异常预警给报警系统;否则为正常.为了确定非随机因素的影响,取相同的训练和测试样本进行多次运算,确保异常预测的准确率.
3 实验与分析本文实验所采用的数据是中国移动某分公司2018年9月网络运维管理系统采集到的网元性能指标数据,采集的数据粒度是以小时为单位,每天24组数据,共采集一个月720个数据样本,其中每一个数据样本主要包含17个属性.其中70%作为训练样本集,30%作为测试样本集.
目前大多数网络异常预测均是基于单一指标的阈值进行检测预警,这样存在较高的误报率和漏检率.本文将采集到的多个网元参数指标通过BPNN神经网络进行异常检测和预测,可以更好地保证检测系统的准确性及工作效率. 图 3为检测样本的预测值与样本值对比图,图 4为检测样本预测值与样本值的误差时序图,表 2为部分检测样本预测值与样本值的数据对照表.从图 3可以看出,BP算法中样本预测值曲线与真实值曲线较接近,二者贴合紧密,预测值较精确.由图 4和表 2可知,曲线变化的异常点,样本误差值也大于阈值,由此可以通过图像判断这些曲线变化的异常点为检测样本中的数据异常点.将检测的异常点输出并在数据集中查找,发现通过图像判断出的异常点和实际检测出的异常值一致,就是实际检测样本中的异常值.
![]() |
图 3 真实值与预测值 |
![]() |
图 4 9月预测误差时序图 |
![]() |
表 2 神经网络训练部分结果 |
在传统的巡检中,通过单一阈值触发来发现网络异常现象,工作效率极其低下.在智能巡检系统中,能实现网络状态的间隔自动巡检,并主动将异常状态发送至告警系统,但是需要人为进行识别.而BP神经网络可以通过网络提前预测,判断异常并主动将信息发送至告警系统,大大提高了预测速度,保障了网络的安全,异常预测性能对比如表 3所示.
![]() |
表 3 异常预测性能对比 |
通过实验和数据分析,在神经网络学习训练时,应事先对数据进行预处理才能够让神经网络有较好的识别能力;且神经网络训练周期较长,参数较多,网络训练有一定的难度,训练的时间较长.但是一旦网络结构确定,它的检测效率相比其它巡检方法会提高,且模型存储简单、易于更新.
4 结论本文针对传统网络异常发现主要基于单一的性能参数进行阈值触发,存在误报率较高,效率低的问题,提出了一种基于BPNN的智能巡检异常预测模型.首先,对网络性能参数进行特征提取,数据初始化处理,使其作为神经网络样本进行训练学习;然后,根据误差阈值调整网络参数,直到误差低于阈值.通过实验证明BP神经网络异常预测模型可有效实现网络异常的发现,具有较高的准确率,大大提高了巡检的质量和效率.未来可进行的研究方向有:(1)进一步对网络采集的数据通过工作日与周末、闲时与忙时的细化来提高预测的精准度;(2)对后期训练得到的数据进一步优化处理;(3)通过网络数据与高斯分布结合对网络异常进行预测.
[1] |
RAMAKI A A, AMINI M, EBRAHIMI A R. RTECA:Real Time Episode Correlation Algorithm for Multi-Step Attack Scenarios Detection[J]. Computers & Security, 2015, 49: 206-219. |
[2] |
GU X H, PAPADIMITRIOU S, YU P S, et al. Toward Predictive Failure Management for Distributed Stream Processing Systems[C]//The 28th International Conference on Distributed Computing Systems. Beijing, China: IEEE, 2008: 825-832. https://ieeexplore.ieee.org/document/4595959/
|
[3] |
TAN Y M, GU X H, WANG H X. Adaptive System Anomaly Prediction for Large-Scale Hosting Infrastructures[C]//Acm Symposium on Principles of Distributed Computing. New York, NY, USA: ACM, 2010: 173-182. https://www.mendeley.com/catalogue/adaptive-system-anomaly-prediction-largescale-hosting-infrastructures/
|
[4] |
DING S F, SU C Y, YU J Z. An Optimizing BP Neural Network Algorithm Based on Genetic Algorithm[J]. Artificial Intelligence Review, 2011, 36(2): 153-162. DOI:10.1007/s10462-011-9208-z |
[5] |
江务学. 基于结构优化递归神经网络的网络流量预测[J]. 西南大学学报(自然科学版), 2016, 38(2): 149-154. |
[6] |
饶小毛, 郭鑫, 周锦伟. 以物联网技术为核心的运维智慧巡检研究[J]. 电信技术, 2014, 1(6): 85-87. |
[7] |
陈新慧.交换机智能巡检系统设计与实现[D].成都: 电子科技大学, 2012. http://cdmd.cnki.com.cn/Article/CDMD-10614-1012470604.htm
|
[8] |
黄思慧, 陈万忠, 李晶. 基于PCA和ELM的网络入侵检测技术[J]. 吉林大学学报(信息科学版), 2017(5): 106-113. |
[9] |
高妮, 高岭, 贺毅岳, 等. 基于自编码网络特征降维的轻量级入侵检测模型[J]. 电子学报, 2017, 45(3): 730-739. DOI:10.3969/j.issn.0372-2112.2017.03.033 |
[10] |
周丽娟. 一种改进的基于TS-BPNN的网络入侵检测方法[J]. 陕西理工大学学报(自然科学版), 2018, 34(5): 45-49. DOI:10.3969/j.issn.1673-2944.2018.05.009 |
[11] |
张兰. 改进PSO的WNN模型在短期负荷预测中的应用[J]. 西南师范大学学报(自然科学版), 2017, 42(6): 100-104. |
[12] |
阎平凡, 张长水. 人工神经网络与模拟进化计算[M]. 北京: 清华大学出版社, 2005: 26-30.
|
2. School of Electronic and Information Engineering, Ankang University, Ankang Shaanxi 725000, China