蔣家駒 王伊婷 趙 娟 紀應天 呂 嚴 孟 浩
1.中國移動紫金(江蘇)創新研究院;2.中國移動通信研究院;3.中國移動通信集團江蘇有限公司
隨著5G、NFV業務的逐步擴大,網絡逐漸呈現出IT化、切片化、垂直化、定制化的四化特征。由于四化特征的影響,網絡專業細化越來越明顯,導致原本純專家經驗的運維模式很難繼續維系,故障隱患越來越難被發現。針對這一難題,本文提出了一種基于異常值檢測的核心網隱患故障發現算法,通過引入設備告警、性能指標、撥測數據、工程信息等網絡情況的表征數據,利用KDE(核密度估計)、PYOD(python異常檢測算法工具)等機器學習、深度學習算法,對網絡設備的表征數據的分布密度函數進行重建,并基于此概率分布密度模型對數據存在的異常概率點進行標注,從而發現網絡中的異常點也就是故障隱患點。最后進行多維網絡數據的橫向比較,從而判斷影響網絡健康的具體指標,輸出健康度畫像報告。
故障隱患發現是現網設備運行維護工作中的重要一環,維護人員通過對現網運行數據進行分析,從而發現網絡存在的故障隱患,并將其解決。目前主要的網絡故障隱患的發現方法有告警提示法、性能指標法、業務撥測法。其中告警提示法是通過監控設備告警來發現網絡故障,但是隨著設備的增多,僅靠人力已無法監控全量告警信息,可能會出現漏失故障信息的情況。性能指標法對網絡運行中的各類業務KPI指標設置固定閾值,當指標低于閾值時,便會產生相關告警,從而發現故障,但是固定閾值會導致該方法的適應能力較差。業務撥測法會模擬用戶使用網絡業務,正常情況下,撥測都會順利完成,當故障發生時,業務撥測會失敗,從而發現故障,但業務撥測法發現的故障在網絡中已經真實發生,存在一定的滯后性,同時因為撥測需要占用大量卡號資源,使用成本較高。基于現狀分析可以發現,研發一種對人力要求低、適應能力強、實時性強的故障隱患發現方法就是運營商迫切需要解決的問題。
近年來,隨著人工智能水平的發展,基于大數據的異常檢測方法已經逐步完善,Markus等提出了基于直方圖的異常值得分方法(Histogram-based Outlier Score,HBOS),通過分析歷史的離群點檢測異常;Yue Zhao等提出的多個異常檢測算法的并行集成框架(Locally Selective Combination in Parallel Outlier Ensembles,LSCP)提供了多異常模型并行處理思路;Breunig等提出了局部離群因子檢測方法(Local Outlier Factor,LOF),通過分析樣本點的鄰域密度檢測異常;Kriegel等提出了基于角度的離群點檢測方法(Angle-based outlier detection,ABOD),通過計算每個樣本與所有其他樣本對所形成的夾角的方差檢測異常。通過這些異常檢測算法可以發現與大部分樣本不同的對象,也就是數據的離群點。對于網絡的運行指標而言,通過異常檢測發現的離群點就可能是網絡的運行異常狀態表征。
前文所述的,通過異常檢測方法可以發現網絡指標的離群點,也就是網絡的異常狀態。目前網絡狀態表征數據主要有告警數據、性能數據、撥測數據、工程割接數據等。
告警數據波動是網絡狀態出現異常時最為直觀的體現,其中告警量size,為當前5分鐘時間切片內的告警量;1天環比告警量差值diff1day為當前時刻與昨日同時刻告警量的差值大小,計算公式diff1day=sizetoday-sizeyesterday;1周環比告警量差值diff7day為當前時刻與上周同時刻告警量的差值,計算公式diff7day=sizetoday-sizelastweek;同池組告警量差值pool_diff為當前時刻下,本設備與本設備所屬的池組下其他設備的告警量差值,計算公式pool_diff=sizetoday-1/nΣpoolsize。對告警量、1天環比告警量差值、1周環比告警量差值、同池組告警量差值進行異常檢測可以捕捉設備自身或池組內部的告警異常波動情況。
性能數據是網絡設備運行穩定性的體現指標,根據網絡設備的不同分類,如表1所示,又可將性能指標分為信令面指標和用戶面指標兩類,對這兩類性能指標進行異常檢測可以發現網絡中出現波動的不穩定點。

表1 模型輸入性能數據表
將告警數據、性能數據以及撥測數據和工程割接數據帶入異常檢測模型進行計算,模型選擇python的異常檢測工具PYOD庫,選取的算法包含以下12種異常檢測算法,如表2所示,并按圖1流程進行模型分析,最終輸出數據是否異常的判定結果。

圖1 PYOD異常檢測流程圖

表2 PYOD庫引入算法表
網絡運行數據經過異常檢測模型會輸出當前時刻是否為異常的判斷,但此時并不確定哪個數據維度才是引起設備異常的主因,所以還需要進行主要異常維度判斷。在輸入核密度估計模型進行主因確認前,需要對多維數據進行預處理:
(1)對于信令面性能指標“TAU成功率”、“附著成功率”、“業務請求成功率”、“X2切換成功率”、“尋呼成功率”,用戶面性能指標“HTTP會話響應成功率大于500KB”,采用公式1進行預處理計算:

其中p為原始值,p'為預處理后后續模型的輸入值。
(2)對于上述經過公式1計算的信令面指標以及用戶面性能指標“HTTP會話平均響應時延大于500KB(ms)”、“HTTP下載速率大于500KB(Kbps)”、“HTTP500下行流量(MB)”,采用公式2來進行歸一化處理:

其中x為原始值,xmin為7日內該維度的最小值,xmax為7日內的最大值,x'為預處理后后續模型的輸入值。
(3)對于告警類數據“size”、“diff1day”、“diff7day”、“pool_diff”,首先進行歸一化處理:

其中a為原始值,amin為7日內該維度的最小值,amax為7日內的最大值,a'為歸一化值。
考慮到size的業務含義即網元告警量滿足泊松分布,開方處理使這些指標轉變為高斯分布,并保留符號:

其中a'為公式3得出的歸一化值,a''為高斯變換后的值。
將預處理后的數據輸入核密度KDE模型進行密度擬合,輸入數據的時間長度為近7日,總計7*12*24=2016個輸入數據。由于數據已經轉變為高斯分布,選擇高斯核的核密度函數繼續計算:

其中K(x)為核密度函數,這里使用了高斯核密度函數。x為輸入數據。h為帶寬(bandwidth),是模型訓練的另一個參數,這里使用公式6進行確定:

其中R(k),m2(k)滿足:

n為輸入數據數,即2016。
至此可利用公式5進行核密度估計,計算得到輸入數據的change degree,也就是在核密度中的概率,流程如圖2所示。

圖2 核密度估計變化率計算流程圖
由于核密度估計為純數據分析,在結果輸出時還需結合固化經驗對其進行修正,以增加結果準確性。
(1)對于信令面性能指標“TAU成功率”、“附著成功率”、“業務請求成功率”、“X2切換成功率”、“尋呼成功率”,用戶面性能指標“HTTP會話響應成功率大于500KB”、“HTTP下載速率大于500KB(Kbps)”,這7個指標出現原始值大于歷史7天均值時,change degree置為0。
(2)對于用戶面性能指標“HTTP會話平均響應時延大于500KB(ms)”,當指標原始值小于歷史7天均值時,將對應change degree置為0。
(3)對于用戶面性能指標“HTTP500下行流量(MB)”,設fnow為今日流量,fyesterday為昨日同時間流量,則當滿足時,change degree置為0。
經過修正后,比較各數據維度的change degree,其中值最大的維度是引起異常的主要因素,也就是主要的故障隱患點。
如前所述,將網絡運行數據通過PYOD的異常檢測算法和核密度估計算法,可以輸出網絡運行數據中是否存在異常點,以及引起異常的主要因素。按圖1、圖2流程進行算法部署。
采用現網數據輸入模型進行實驗,告警數據按5分鐘粒度進行切片,性能數據按5分鐘粒度文件入庫,數據集一天總計共12*24=288個。模型異常檢測輸出結果如圖3所示。

圖3 異常點檢測結果
抽取了LTE核心網3個網元進行結果驗證:
MME1:總共1533個結果,判斷為異常的點數為12,判定正確的異常數為8,即TP=8,判定錯誤的異常為4,即FP=4,不存在未定位出的異常,即FN=0,TN=1533-12=1521。可 算 出 準 確 率ACC=(8+1521)/(8+4+1521)=99.74%,精準率P=8/12=66.7%,召回率R=8/(8+0)=100%,F1=2*66.7%*100%/(66.7%+100%)=80%。
MME2:總共1439個結果,判定為異常的點數為43,TP=19,FP=24,FN=0,TN=1439-43=1396,ACC=(19+1396)/(19+24+1396)=98.33%,P=19/(19+24)=44.19%,R=19/(19+0)=100%,F1=2*44.19%*100%/(44.19%+100%)=61.29%。
SAEGW3:總共1249個結果,判定為異常的點數為1,TP=1,FP=0,FN=0,TN=1248,ACC=(1+1248)/(1+1248)=100%,P=1/(1+0)=100%.R=1/(1+0)=100%,F1=2*100%*100%/(100%+100%)=100%。
綜上平均準確率ACC=(99.74%+98.33%+100%)/3=99.36%。
精準率P=(66.7%+44.19%+100%)/3=70.3%。
召回率R=(100%+100%+100%)/3=100%。
F1=(80%+61.29%+100%)= 80.43%。
從實驗結果可以看出,在LTE核心網元的異常檢測中算法的平均準確率達到了99.36%,F1值達到了80.43%,取得了不錯的效果。
此外基于實驗結果,將本文所提出的異常檢測法與目前現行的幾種方法進行分析判斷時間對比,如表3所示,可以看到異常檢測法在目前三類主要的故障類型中均優于其他三種方法,具備較強的應用場景適應能力。這也體現了本方法在現網運維中具有較高的使用價值。

表3 各類方法故障判斷時間對比表
隨著網絡技術的演進,網絡監控維護工作也變得日益復雜。本文就網絡隱患故障的發現方法進行探討,提出了一種基于異常檢測分析的網絡隱患故障發現方法。從本文的實驗結果可以發現,這一算法相較于現行的方法而言,具有更廣的應用場景和較高的準確性,已經具備現網的使用價值,為提高網絡維護效率,降低網絡故障風險帶來了新的思路。