APP下载

基于离群点检测的链路流量细粒度监测

2021-02-12李菁菁杨校林李俊何群辉

数据与计算发展前沿 2021年6期
关键词:离群链路阈值

李菁菁, 杨校林, 李俊, 何群辉

1.中国科学院计算机网络信息中心,北京 100083

2.中国科学院大学,北京 100049

引 言

当今科研活动越来越依赖数据、计算和网络传输的一体化深度融合支撑。科研活动对数据传输服务的质量稳定性要求越来越高。例如在天文和空间观测领域,VLBI(甚长基线干涉测量)技术能在具备极高角分辨率和测量精度的要求下将分布在相距较远的射电望远镜通过广域链路进行实时地面组网联测。这种精密实时联测能力在天体观测、大地测量、深空探索等工程领域有着重要作用[1]。以e-VLBI 为代表的一类科学应用对数据传输的抖动较为敏感,因此对广域网络链路流量实时传输的稳定性提出了较为严苛的要求。如果能在网络运行管理中对重点链路的局部流量尖峰或传输异常进行快速监测预警,则能辅助科研专网的运行管理者更好的保障此类链路的稳定运行。

当前科研网络流量传输监测的方法大部分是基于固定阈值。警戒阈值的设置一般基于当前线路传输能力的资源消耗情况,如果当前带宽消耗低于预留警戒线(比如20%),则监测预警模型向网络管理人员发出预警。这种监测预警方法在普通公众业务网络传输中可以及时监测到链路带宽耗尽导致的传输拥塞问题,但是在链路流量平均负载不高的情况下,则很难快速发现链路流量局部尖峰或传输异常。此外,固定阈值法的设定是否合理也较大程度影响网络流量异常的及时发现。如果阈值设定过高,则会导致更高的漏警率,阈值设定过低,则会导致误报率过高。同时,因为广域网络链路因为汇集了较多的节点的流入和流出,因此其链路流量尺度特性比局域网络链路更具多样性,如何快速在多种细粒度流量特征中识别出传输异常成为网络管理人员亟需解决的问题。

为了解决科研专网中重点链路的局部流量尖峰和传输异常的快速监测预警问题,本文基于局部离群点检测方法设计了一种新的链路流量监测预警模型,面向科研专网上的重点应用需求,快速发现在网链路流量中的细粒度的流量尖峰或传输异常信息并给出预警。

1 相关工作

1.1 局部流量快速监测预警

固定阈值预警方法是根据业务类型和线路负载情况设定固定的预警阈值,通过判定当前监测到的链路流量观测值是否超过设定阈值从而触发线路资源耗尽的预警。而实际业务链路中的流量是根据不同时间段而不断波动的,固定阈值法无法具备监测重点链路局部流量尖峰或局部传输异常的能力,必须引入动态自适应的局部流量监测预警机制捕捉细粒度的流量尖峰或局部传输异常。广域网链路汇聚流量是由途径节点汇入的大量细分传输流量组成,将流量数据按一定的映射关系转换成一定形式的数据点的集合,则根据数据流的行为特征来看,大量细分特征流量所对应的数据点应为正常数据点,而局部流量尖峰或局部传输异常所代表的数据点在特征分类中应为偏离数据点。根据连续随机分布原理,汇聚流量的数据点分布应符合正态分布,这些数据集中大部分数据点应为正常数据点,则偏离大部分数据点的个别数据点则是偏离数据点,偏离度较多的数据点一般并非因为随机因素产生[2]。因此,通过在给定规模的数据集中快速找出这些偏离数据点,即可通过数据点对应的细分流量,将其快速判定为链路汇聚流量中的局部尖峰或局部传输异常,而不受当前流量占链路传输负载能力的比例影响,解决了固定阈值预警方法的缺陷。

在中国,几乎所有的工业互联网平台业务都还没有完全进入到良好的盈利阶段,都还需要依靠本公司其他业务补贴。大家都在争取活久,因为唯有活下去才能有一丝希望。大家都在抢客户,都在花钱、烧钱、亏钱过日子,盈利是暂时不要去想了。

1.2 离群点快速检测算法

k-近邻是根据样本集中数据对象之间的距离排序进而选取与当前数据样本距离最小的k个数据对象。反向k-近邻是根据k-近邻来定义的,例如图2 示例,k为3,数据样本p1的KNN 为{p2,p3,p5},数据样本p2的KNN 为{p1,p3,p5},数据样本p3的KNN 为{p1,p2,p5},数据样本p4的KNN 为{p2,p5,p6},数据样本p5的KNN 为{p2,p3,p6},数据样本p6的KNN 为{p3,p5,p7},数据样本p7的KNN 为{p3,p5,p6},因此,数据样本p1的反向KNN(RKNN)为{p2,p3},数据样本p2的RKNN为{p1,p3,p4,p5},数据样本p3的RKNN 为{p1,p2,p5,p6,p7},数据样本p4的RKNN 为φ,数据样本p5的RKNN 为{p1,p2,p3,p4,p6,p7},数据样本p6的RKNN 为{p4,p5},数据样本p7的RKNN为{p6}。由此可见,k-近邻和反向k-近邻并不是对称的。

LOF 算法时间复杂度过高,且计算对象的局部异常因子时只考虑了k-近邻对象,当对象分布存在两个及以上簇时,LOF 算法容易将处于簇边缘的正常对象误判成异常对象。如图1 中的两个密度不同的C1 簇和C2 簇,p点是处于C2 簇中的正常对象,p点是q点的k-近邻,q 点是p 点的反向k-近邻,但是按照LOF 算法的计算方式极易误判p点为异常对象。

图1 局部离群对象示意图Fig.1 Schematic diagram of local outliers

针对以上SOC估算的影响因素,本课题组进行了锂离子电池SOC估算的相应实验。实验以两组锂离子电池组为研究对象,每组电池组用3片锂离子电池串联而成,单体电池型号为INCMP58145155N-I,额定电压为3.7 V,额定容量10 Ah。具体的实验过程为将两组电池组每天先进行从10%~70%的深度放电,记录回跳电压,并搁置2 h,待电压恢复后,再进行 0.2 C 完全放电。每当放电深度设置的一个实验周期结束,改变放电倍率重复实验。并且分别置两组电池于高温和低温环境下,以观测环境温度对电池剩余容量的影响。实验采用蓄电池综合参数自动测试设备,型号为BTS-M 300 A/12 V。

定义2 (局部质心因子 local centroid factor)对象p的局部质心因子表征该对象的局部正常程度:

其中点状空间主要指以散点形式布置于滨水活动场所的空间,如船艇、建筑、桥梁和水门关等;线状空间主要指连接点状和面状空间的廊道,其本身也作为活动场所,如水系和滨水道路等;面状空间主要指有一定的面积和开敞性的空间,如码头和水上聚落等(图4~6,表3)。

对象p的局部异常因子采用如下公式:

定义3(局部异常因子 local outlier factor):

研究组:组内退行性膝关节骨性关节炎患者35例中有男性25例,女性10例;年龄60~70岁,平均(65.33±2.05)岁。

其中:

当前,随着企业的发展,项目全过程的预算在房产公司中的应用越来越多,应用十分普遍,通过房产公司的不断总结经验,累积与沉淀,已经探索了一条以房产项目费用为中心,对资金流动的管控为主要措施的全过程预算形式。即项目的成本费用是主要的管控目标,成本费用的支出计划为基点,对成本的进出作为重点管控为主要措施,费用的考核评价为考核标准的项目管理过程与成本费用管控方式。

定义1(局部密度 local outlier density):对象p的局部密度由两部分组成,一部分是其k-邻近距离的倒数,第二部分是底数为e,指数为负的k-邻近距离的指数:

离群点的通常定义是指在一个时间序列中,远离序列一般水平的极大值或者极小值。离群点检测是一种在数据挖掘领域广泛使用的重要技术,可以在较大规模的复杂数据集中剔除异常噪音,被广泛应用在网络监控、故障检测、数据清洗、垃圾过滤等领域。当前离群点检测的方法主要分为两类,第一类是传统类型,包括基于统计模型、基于距离模型、基于密度模型、基于偏离模型[3];第二类一般通过人工智能和模式识别进行检测[4],主要包括基于模糊粗糙集[5]和自组织映射等[6]。基于统计模型的方法对数据集全貌特征掌握度要求较高,基于距离模型的无法聚焦局部突变,Breunig 等人提出了基于局部密度的离群点检测方法LOF[7],但此方法对分布在群簇边缘的数据点存在一定的误判。Jin W.等人提出了INFLO[8]算法,通过在计算局部异常因子的同时考虑对象的k-近邻和反向k-近邻解决误判问题,但因为需要频繁查找对象的近邻导致算法时间复杂度较高。

图2 数据样本的k-近邻和反向k-近邻Fig.2 K-nearest neighbor and reverse k-nearest neighbor of data

本文实验验证数据集采用的是中国科技网(CSTNet)全国骨干网真实生产环境中采集的传输设备真实运行状态数据,每条数据均根据运行生产工单系统的记录分为正常数据点和有局部异常的数据点,动态对比基线使用AE-栈式混合LSTM 根据历史数据输入从而输出相应的判定基准值而得到。

算法伪代码如下:

Algorithm In put: k, D, a threshold T Output: label of p in D Method: 1.FOR each p in D DO 2.Get its inf based on definition 2;

3.IF inf > 1 THEN 4.ELLabel p as a normal point;5.SE 6.N = getRKNN(p);7.IF N > = avg (RKNN) THEN 8.Get its lof based on definition 3;9.// not consider its RNN;10.IF lof > = T THEN 11.label p as an outlier;12.ELSE label p as a normal point;13.ELSE 14.Get its lof based on definition 3;15.// must consider its RNN;16.IF lof >= T THEN 17.label p as an outlier;18.ELSE label p as a normal point;19.ENDFOR 20.Return (p, lof_score, label of p in D)

2 基于离群点检测的链路流量监测预警模型

固定阈值法是设定固定的基线,通过对比当前观测值是否超出固定基线的大小进行判定的,只能判断链路带宽资源剩余量是否逼近警戒阈值[10]。因为科研观测对数据传输稳定性的严苛要求,需要监测的目的并非是警戒带宽资源剩余量,而是当前链路流量的局部特征是否存在突变或者异常,此时检测判定所需比对的基线应是随着时间序列而动态变化的动态检测基线。动态检测基线[11]一般是通过统计方法例如计算不同时序下数据集合的局部质心,也可以是通过对历史对照数据的机器学习模型输出结果检测基线,然后通过滑动窗口模型快速计算和比对当前观测值与动态基线从而实现对动态流量的局部细粒度实时监测。

本文通过建立滑动时间窗口模型进行链路观测数据与动态基线的计算和比对处理。滑动时间窗口模型具体如图3 所示。滑动窗口的设计步长为1,窗口的大小为288。每个步长对应5 分钟的观测值,288 个步长对应1440 分钟即窗口大小对应为1 个自然日的时间区域。窗口在滑动时,窗口大小不变,同时随着窗口的滑动,在窗口覆盖的时间区域内不断剔除1 个步长的旧数据并添加这个滑入窗口内1个步长的新数据。根据改进局部异常点检测算法在指定时间窗口内对数据进行计算比对并判断是否为离群点,若该时刻观测值与动态判定基线的计算结果触发告警,则输出异常时刻,否则为正常时刻,然后继续将窗口滑动下一个步长。

图3 时间滑动窗口Fig.3 Time sliding window

(4)构造标志:区域内矿床分布在火山构造内或附近,并受断裂构造控制,断裂构造带既是成矿热液的运移通道,也是控矿和容矿场所,特别是构造复合地段,更是成矿的有利部位,因此,火山构造和断裂可视为本区金矿体的良好间接找矿标志。

step 1:获取当前时间窗口WT 的网络流量观测值和动态基线当前值,计算时间窗口内链路网络流量残差序列,并对窗口内的残差序列做z-score 变换。

step 2:根据改进局部异常点算法计算当前时间时刻T 的网络流量是否符合离群判定,若符合,则触发异常告警。

step 3:窗口向前滑动,进入下一时刻,进行step 1。

整个数据处理过程的基本步骤如下:

3 实验过程和分析

3.1 实验条件和数据集说明

改进的局部离群点算法的流程为:首先根据定义2 判定数据对象的局部质心因子,如果该数据对象的局部质心因子大于等于1,说明它是其k-邻域的局部质心,其k-邻域的所有数据对象可以以它为中心点形成一个点簇,它位于该簇数据点最密集的地方,所以它一定不是局部异常点,如果数据对象的局部质心因子小于1,则不能认定该数据对象是局部正常点,需要进一步判定;如果数据对象的反向k-近邻对象个数大于等于全局反向k近邻对象个数的均值,在计算局部异常因子时,不需要考虑数据对象的反向k-近邻,这是因为在多簇数据分布的环境下,大部分数据分布在簇内部,只有少量的数据分布在簇的边缘,计算簇内部数据对象的局部异常因子时不需要考虑其反向k-近邻,而簇边缘数据对象的反向k-近邻一定比簇内部的反向k-近邻对象数量少;如果数据对象的反向k-近邻个数小于全局对象反向k-近邻数目均值,则必须同时考虑该数据对象的k-近邻对象和反向k-近邻对象。这种离群点快速监测方法可以快速对离群点进行判定,能在多簇环境下保持判定精度,同时提升了识别效率[9]。

图4 为近一年内随机挑选的48 小时的网络流量观测值和动态对比基线之间的残差示意图,图5 为随机挑选的两天内的网络流量观测值和网络流量预测值之间的残差直方图。通过两图可得出网络流量残差没有出现零均值、同方差的情况。

本文通过室内试验对软粘土固结特性进行分析得出地基土在不同固结荷载下剪切模量与时间的关系。在此基础上考虑时间因素对剪切模量的影响,建立摩阻力与时间、剪切模量相关的微分方程。

图4 流量残差波动图Fig.4 Traffic residual fluctuation graph

图5 流量残差频数分布直方图Fig.5 Histogram of flow residual frequency distribution

3.2 确认最佳触发阈值的对照实验

第一阶段需要通过两组实验确定离群点动态基线判定的最佳阈值h,当某时刻观测值的离群判定超过h,则触发局部异常告警。两组实验的每组训练集数据为10 天内产生的共2,880 条的流量历史数值,即2,880 条数据。第一组训练集共有8 个告警时刻点,第二组训练集共有14 个告警时刻点。

图6 和图7 为两组实验在不同阈值h下, 模型的精确率、召回率以及F1-score 的变化。根据这两组实验结果可以得出,当最佳阈值h设置为1.2 时,两组实验的精确率和召回率均可达到最高的调和值。

通过实验和访谈,实验对象认为以情感态度价值观为主的课程在一定程度上虽然可以缓解学习障碍,但不能做到面面俱到。学习本身是一个复杂的过程,学习者的需求也是因人而异的,在面对技能的学习上,生动的语言描述和和情感价值观的讲授方法并不是特别有效,而更加有效的课程设计策略还有待研究。据此,实验过后,继续寻找文献,发现只有黄璐[19]为学者们提供了一些设计策略(见表2)可供参考。

图6 第一组实验的模型评价指标变化Fig.6 Changes in model evaluation indicators for the first set of experiments

图7 第二组实验的模型评价指标变化Fig.7 Changes in model evaluation indicators for the second set of experiments

3.3 模型验证结果

确定最佳阈值h 之后,在测试集上验证最佳阈值h 的效果。当测试集设定为5 天内包含5 个异常离群点位置的1440 条流量数据,测试结果如表1 所示,其中真阳性个数为4,假阳性个数2,假阴性个数为1。图8 为流量残差示意图。图8 中的A 时刻对应的时刻即是离群判定点,对应触发因子为1.25大于触发阈值1.2,同理,B 点和C 点的触发因子分别为1.23 和1.4,在对应的时间窗口内也会触发,因此本模型在h=1.2 的条件下可以将绝大部分细粒度的流量正确识别并触发告警。

图8 网络流量残差示意图Fig.8 Schematic diagram of network traffic residuals

表1 模型实验验证结果Table 1 Model experiment verification results

基于最佳阈值h=1.2,将此模型置于骨干网络生产环境中进行实网验证效果,验证结果如图9 所示。在上海天文台利用中国科技网京沪10Gb 长途干线进行VLBI 联测时,长途干线链路流量使用传统方法监测预警的固定阈值一般设定为图中的8Gb 红色虚线,在5 天的观测周期中,8Gb 的固定阈值红线无一次命中触发,而使用新型监测模型能快速命中触发5次局部细粒度流量突变预警。在中国科技网生产环境中的实网验证表明,预警触发点与实际生产工单数据中的异常记录点全部吻合,具备工程应用的可行性。

图9 基于固定阈值的网络流量预警Fig.9 Network traffic warning based on fixed threshold

4 结束语

随着网络规模的不断扩大,网络流量的组成类型越来越复杂,联合精密观测等科研应用对科研专网的传输稳定性要求越来越高,这对网络传输质量保障工作带来了极大的挑战。本文提出的基于快速离群点检测算法和滑动窗口模型的局部细粒度流量异常预警模型已通过实网验证其有效性。在精密观测的网络传输保障中,能准确快速地检测链路流量的细粒度异常只是相关工作的第一步,随着人工智能技术与软件定义网络技术的结合,SDN 智能路由技术和机器学习流量工程研究的开展,高质量的广域网数据传输保障、网络安全预警预测等新技术的不断涌现,链路的细粒度精密测量和精确预警辅以更敏捷的资源调度管理技术和更完善的细粒度流量智能分类分发能力,就能不断提高大规模广域网络的实时运行服务能力和传输质量保障水平,为科研专网辅助精密科学观测工作提供更强的能力支撑。

利益冲突声明

所有作者声明不存在利益冲突关系。

猜你喜欢

离群链路阈值
一种基于邻域粒度熵的离群点检测算法
土石坝坝体失稳破坏降水阈值的确定方法
天空地一体化网络多中继链路自适应调度技术
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
基于星间链路的导航卫星时间自主恢复策略
浅析民航VHF系统射频链路的调整
一种相似度剪枝的离群点检测算法
从数学的角度初步看离群点检测算法
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
候鸟