李子為 丁岳偉
摘要:隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,為了保障網(wǎng)絡(luò)安全、穩(wěn)定運(yùn)行,需要一種更高效的網(wǎng)絡(luò)故障預(yù)警算法。通過(guò)對(duì)傳統(tǒng)網(wǎng)絡(luò)故障預(yù)警算法優(yōu)缺點(diǎn)的分析,針對(duì)其缺點(diǎn)進(jìn)行優(yōu)化改進(jìn),采用離群點(diǎn)檢測(cè)算法建立網(wǎng)絡(luò)故障預(yù)警模型。對(duì)異常檢測(cè)算法數(shù)據(jù)進(jìn)行預(yù)處理,在Hadoop平臺(tái)上計(jì)算數(shù)據(jù)異常指數(shù),并不斷調(diào)整閾值參數(shù)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)型離群點(diǎn)檢測(cè)算法故障檢測(cè)率達(dá)到98%,可對(duì)網(wǎng)絡(luò)故障進(jìn)行有效預(yù)警。
關(guān)鍵詞:網(wǎng)絡(luò)故障;故障預(yù)警;離群點(diǎn);Hadoop平臺(tái)
DOI:10. 11907/rjdk. 192345 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP309文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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 引言
隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)設(shè)備大規(guī)模投入使用必然會(huì)出現(xiàn)一些故障,從而影響網(wǎng)絡(luò)安全、穩(wěn)定運(yùn)行。網(wǎng)絡(luò)故障在所難免,因此故障管理作為網(wǎng)絡(luò)管理中的一個(gè)重要組成部分,需要一套科學(xué)的管理方法[1]。一旦故障產(chǎn)生,則會(huì)在網(wǎng)絡(luò)中傳播,產(chǎn)生大量告警事件。如何能快速、有效地從這些告警事件中準(zhǔn)確地進(jìn)行事件關(guān)聯(lián),從而給故障定位,是故障管理過(guò)程中一個(gè)亟待解決的問(wèn)題[2]。
如今隨著網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,網(wǎng)元結(jié)構(gòu)逐漸復(fù)雜化,數(shù)據(jù)業(yè)務(wù)蓬勃發(fā)展,網(wǎng)絡(luò)故障、設(shè)備告警呈現(xiàn)出激增趨勢(shì),運(yùn)營(yíng)商的網(wǎng)絡(luò)運(yùn)營(yíng)與維護(hù)面臨巨大挑戰(zhàn)[4]。因此,通過(guò)對(duì)大量設(shè)備數(shù)據(jù)的接入和告警關(guān)聯(lián)(Alarm Correlation,AC)[5]進(jìn)行故障智能預(yù)警,可減少故障造成的損失。在這一思路的指導(dǎo)下,學(xué)者們提出了FP-growth算法、在線學(xué)習(xí)算法、Aprior算法以及改進(jìn)型FP-growth算法[6-9]。但這些傳統(tǒng)算法只能針對(duì)其中某一個(gè)或幾個(gè)節(jié)點(diǎn)進(jìn)行故障預(yù)警,而不能從全局角度發(fā)現(xiàn)網(wǎng)絡(luò)異常。在日志分析過(guò)程中,發(fā)現(xiàn)網(wǎng)絡(luò)異常處會(huì)形成離群點(diǎn),因此學(xué)者們提出多種離群點(diǎn)檢測(cè)算法。如文獻(xiàn)[10]提出一種基于機(jī)器學(xué)習(xí)的貝葉斯網(wǎng)絡(luò)離群點(diǎn)檢測(cè)算法;文獻(xiàn)[11]指出基于空間的離群點(diǎn)檢測(cè)算法有待改進(jìn),并提出基于地統(tǒng)計(jì)學(xué)的離群點(diǎn)檢測(cè)算法;文獻(xiàn)[10]-[14]闡述了現(xiàn)有離群點(diǎn)檢測(cè)算法存在的對(duì)環(huán)境動(dòng)態(tài)變化適應(yīng)性差、網(wǎng)絡(luò)開(kāi)銷過(guò)大、網(wǎng)絡(luò)數(shù)據(jù)庫(kù)安全性低、離群點(diǎn)維度較高、異常閾值需要手動(dòng)設(shè)定等諸多缺點(diǎn)。同時(shí),包括離群點(diǎn)檢測(cè)算法在內(nèi)的多種傳統(tǒng)異常檢測(cè)算法都存在運(yùn)算數(shù)據(jù)量過(guò)于龐大的問(wèn)題。
本文通過(guò)對(duì)網(wǎng)絡(luò)日志數(shù)據(jù)進(jìn)行預(yù)處理,以減少工作量。在事故發(fā)生的早期檢測(cè)到異常情況,可使管理員有更多時(shí)間采取正確的行動(dòng)。傳統(tǒng)異常檢測(cè)算法大多是對(duì)原始數(shù)據(jù)進(jìn)行離群點(diǎn)檢測(cè),為了更好地對(duì)異常點(diǎn)進(jìn)行檢測(cè),需要對(duì)異常檢測(cè)算法進(jìn)行改進(jìn)。因此,本文提出一種首先對(duì)初始數(shù)據(jù)進(jìn)行預(yù)處理的網(wǎng)絡(luò)故障預(yù)警算法。網(wǎng)絡(luò)故障預(yù)警流程如圖1所示, 預(yù)警模型如圖2所示。
1 數(shù)據(jù)預(yù)處理
1.1 預(yù)處理原理
離群點(diǎn)是指與多數(shù)點(diǎn)距離超過(guò)某個(gè)特定數(shù)值的點(diǎn)。將正常的點(diǎn)進(jìn)行聚合,根據(jù)密度進(jìn)行排序,并減少對(duì)k近鄰的查找。將數(shù)據(jù)集中形成小集合的相似點(diǎn)去除,選取其中一個(gè)點(diǎn),然后計(jì)算該點(diǎn)與其它點(diǎn)的距離,如果與其它集合中心的距離小于等于r/2,則將該點(diǎn)劃入該集合;若大于r/2,則將該點(diǎn)作為新的集合中心。集合中點(diǎn)的個(gè)數(shù)小于k的集合保留,其余集合全都刪去。若一個(gè)集合的中心點(diǎn)為o,在公式(1)中,集合中數(shù)據(jù)個(gè)數(shù)不小于k。在半徑為r的圓中,p、q的距離小于等于r。
因此,去除的點(diǎn)p是非離群點(diǎn)。然后對(duì)剩下的點(diǎn)進(jìn)行整合,劃分為幾個(gè)集合,以提高查找效率。按照密度進(jìn)行排序,并根據(jù)離群點(diǎn)存在于該集合中的程度,將集合中點(diǎn)較少的集合定義為離群點(diǎn)集合,將點(diǎn)較多的集合定義為非離群點(diǎn)集合。對(duì)數(shù)據(jù)點(diǎn)進(jìn)行離群點(diǎn)檢測(cè),通常需要訪問(wèn)所有對(duì)象,并對(duì)集合離群程度進(jìn)行評(píng)估。每個(gè)對(duì)象的k鄰近程度都需要進(jìn)行評(píng)估,導(dǎo)致時(shí)間復(fù)雜度非常高。因此,此處通過(guò)數(shù)據(jù)預(yù)處理降低算法計(jì)算量。
1.2 預(yù)處理方法
若[Avg(p)D(p,ai) 查找p的鄰近點(diǎn),如果公式(5)與公式(6)成立,則p并非本文所要找的離群點(diǎn)。因?yàn)閜的離群程度均小于已知點(diǎn),所以不必繼續(xù)查找p的鄰近點(diǎn)。隨著對(duì)另一個(gè)數(shù)據(jù)點(diǎn)P的k近鄰查找的進(jìn)行,P的k近鄰中的最遠(yuǎn)者總是會(huì)被距離其更近者所取代,因此該數(shù)據(jù)點(diǎn)的k近鄰平均距離,也即離群度隨著查找的進(jìn)行總是不斷變小。Y是目前已得到n個(gè)候選離群點(diǎn)中的最小值,如果目前點(diǎn)P查找到的k近鄰平均距離已小于Y,那么再查找下去,其離群度也只會(huì)小于Y,也即是說(shuō),其離群度小于所有目前已知的n個(gè)候選離群點(diǎn),因此不需要再計(jì)算P與數(shù)據(jù)集中其它點(diǎn)之間的距離。 1.3 預(yù)處理過(guò)程 算法運(yùn)行時(shí),p的鄰居會(huì)不斷地被更近的鄰居所替代,所以其離群度會(huì)持續(xù)降低。已知數(shù)個(gè)離群點(diǎn)的最小值,繼續(xù)查找仍不會(huì)找到大于Y的離群度,所以無(wú)需繼續(xù)查找。對(duì)相似度高的數(shù)據(jù)點(diǎn)進(jìn)行歸類與排序,從而提高預(yù)處理效率。相似數(shù)據(jù)會(huì)被歸為同類,所以先在同一個(gè)類別中查找,可提高查找效率。原始數(shù)據(jù)與預(yù)處理后數(shù)據(jù)對(duì)比如圖4所示。 2 異常檢測(cè) 2.1 異常值 異常值在某些條件下是有意義且充分的,但在聚類不同時(shí)無(wú)法得到令人滿意的值。離群值不是二元屬性,相反,可為每個(gè)對(duì)象分配一個(gè)離群因子。對(duì)于給定p的距離k,p的k距離鄰域包含與p的距離不大于k的鄰域。網(wǎng)絡(luò)事件是由所發(fā)生的事件與時(shí)間所組成的,網(wǎng)絡(luò)節(jié)點(diǎn)日志可直觀反映與記錄網(wǎng)絡(luò)當(dāng)前狀態(tài)的變化。 網(wǎng)絡(luò)設(shè)備的日志狀態(tài)會(huì)在正常狀態(tài)與異常狀態(tài)之間切換,當(dāng)網(wǎng)絡(luò)正常運(yùn)行時(shí),網(wǎng)絡(luò)設(shè)備日志顯示正常狀態(tài),當(dāng)網(wǎng)絡(luò)故障發(fā)生時(shí),網(wǎng)絡(luò)設(shè)備日志顯示異常狀態(tài)。不同日志之間數(shù)據(jù)也互不相同,對(duì)所有類似日志進(jìn)行歸類,并對(duì)相似的日志數(shù)據(jù)進(jìn)行編碼。根據(jù)時(shí)間繪制出日志不同的數(shù)據(jù)點(diǎn)分布圖,且將不同類型日志頻率記錄在案。本文通過(guò)該過(guò)程對(duì)原始、復(fù)雜的網(wǎng)絡(luò)設(shè)備日志進(jìn)行數(shù)據(jù)化處理,每一個(gè)數(shù)據(jù)點(diǎn)之間有不同的動(dòng)態(tài)過(guò)程,可以畫(huà)出異常點(diǎn)、離群點(diǎn)的位置從而進(jìn)行直觀展示。 使用離群點(diǎn)檢測(cè)方法對(duì)網(wǎng)絡(luò)設(shè)備日志數(shù)據(jù)點(diǎn)進(jìn)行衡量。在網(wǎng)絡(luò)正常運(yùn)行時(shí),網(wǎng)絡(luò)設(shè)備產(chǎn)生的日志中,產(chǎn)生的異常點(diǎn)數(shù)量是微乎其微的,所以使用離群點(diǎn)檢測(cè)方法時(shí)效率非常高。另外,使用離群點(diǎn)檢測(cè)方法對(duì)每條日志指數(shù)進(jìn)行評(píng)估,可保證檢測(cè)的準(zhǔn)確度。 2.2 異常指數(shù) 根據(jù)網(wǎng)絡(luò)設(shè)備日志數(shù)據(jù)點(diǎn)分布情況,可直觀感受到哪些網(wǎng)絡(luò)日志為故障日志。正常網(wǎng)絡(luò)日志形成的點(diǎn)密度很高,而故障所產(chǎn)生的點(diǎn)會(huì)形成離群點(diǎn)。根據(jù)上述各個(gè)過(guò)程將網(wǎng)絡(luò)設(shè)備日志語(yǔ)言轉(zhuǎn)換成結(jié)構(gòu)化語(yǔ)言,可在全局異常檢測(cè)中有效利用日志產(chǎn)生的數(shù)據(jù)。如今很多算法無(wú)法從全局進(jìn)行網(wǎng)絡(luò)故障預(yù)警,而使用全局異常檢測(cè)算法可以更加準(zhǔn)確地從宏觀角度進(jìn)行預(yù)警。對(duì)每一個(gè)網(wǎng)絡(luò)日志點(diǎn)進(jìn)行異常評(píng)估,看其是否為離群點(diǎn)。在全局異常檢測(cè)中,本文使用異常指數(shù)對(duì)異常點(diǎn)進(jìn)行評(píng)估,異常指數(shù)定義如公式(6)所示。 其中,[Nk(p)]表示p的k近鄰距離。p的離群因子捕獲了本文調(diào)用的一個(gè)離群點(diǎn),其是局部可達(dá)性比率的平均值。需要注意的是,p的局部可達(dá)性密度越低,p最近鄰局部可達(dá)性密度的異常指數(shù)值越高。采用全局網(wǎng)絡(luò)故障預(yù)警方法可以快速、有效地進(jìn)行網(wǎng)絡(luò)故障評(píng)估,在某個(gè)指定的網(wǎng)絡(luò)設(shè)備日志中,日志所形成的網(wǎng)絡(luò)設(shè)備日志點(diǎn)分布能夠直接反映網(wǎng)絡(luò)設(shè)備在這一時(shí)間段的狀態(tài)是否正常。異常因子的異常指數(shù)越低,表明異常值越小,說(shuō)明該網(wǎng)絡(luò)設(shè)備的日志點(diǎn)落在密度較大區(qū)域,相反,該日志點(diǎn)離群越遠(yuǎn),該點(diǎn)異常值越高。當(dāng)異常指數(shù)值高于預(yù)定值,則會(huì)發(fā)出警告。 網(wǎng)絡(luò)設(shè)備日志中的絕大多數(shù)日志都是重復(fù)且相似的,只需抽出其中相似的日志進(jìn)行歸納,選取其中一部分進(jìn)行公式計(jì)算,以減少計(jì)算量,從而節(jié)省網(wǎng)絡(luò)設(shè)備日志計(jì)算時(shí)間,提高執(zhí)行效率。該方式解決了因分析日志導(dǎo)致的大量時(shí)間消耗問(wèn)題,使得全局異常檢測(cè)能夠更加精準(zhǔn)、高效。 3 實(shí)驗(yàn)研究 3.1 實(shí)驗(yàn)環(huán)境 本文搭建實(shí)驗(yàn)環(huán)境如下:采用偽分布式平臺(tái),Hadoop版本號(hào)為2.8.3[20],將6臺(tái)服務(wù)器虛擬成一個(gè)集群,1臺(tái)作為主服務(wù)器,其余5臺(tái)作為從服務(wù)器。本文使用仿真數(shù)據(jù)進(jìn)行故障預(yù)警實(shí)驗(yàn),并與傳統(tǒng)算法進(jìn)行比較。 3.2 實(shí)驗(yàn)步驟 實(shí)驗(yàn)具體步驟如下:①對(duì)網(wǎng)絡(luò)設(shè)備日志進(jìn)行結(jié)構(gòu)化預(yù)處理;②使用改進(jìn)型離群點(diǎn)檢測(cè)算法對(duì)所得數(shù)據(jù)進(jìn)行簡(jiǎn)化處理;③計(jì)算單個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)不同時(shí)間的異常指數(shù),并將異常程度以折線圖形式表現(xiàn)出來(lái)。 3.3 實(shí)驗(yàn)結(jié)果分析 改進(jìn)型離群點(diǎn)檢測(cè)算法檢出率如表1所示。 由圖5可知,該網(wǎng)絡(luò)設(shè)備的故障點(diǎn)異常指數(shù)為7.253,且在圖中表現(xiàn)為離群點(diǎn),網(wǎng)絡(luò)設(shè)備在此時(shí)出現(xiàn)故障。通過(guò)圖5可以輕松找出離群點(diǎn),實(shí)驗(yàn)結(jié)果符合預(yù)期。因改進(jìn)型離群點(diǎn)檢測(cè)算法在檢測(cè)時(shí)保留了數(shù)據(jù)主干,提高了工作效率,彌補(bǔ)了采用傳統(tǒng)算法在非主干數(shù)據(jù)部分需要額外耗時(shí)以及準(zhǔn)確率不足的缺點(diǎn),從而提高了全局故障預(yù)警效率。由實(shí)驗(yàn)結(jié)果可以看出,改進(jìn)型離群點(diǎn)算法根據(jù)不同時(shí)間的離群點(diǎn)分布差異,對(duì)結(jié)果的分析更為全面、客觀,實(shí)現(xiàn)了預(yù)期的設(shè)計(jì)目標(biāo)。 4 結(jié)語(yǔ) 基于大數(shù)據(jù)的網(wǎng)絡(luò)運(yùn)維服務(wù)采用各種監(jiān)控、報(bào)警及報(bào)表服務(wù)工具,通過(guò)全面的網(wǎng)絡(luò)監(jiān)控與大數(shù)據(jù)智能分析,可在早期階段發(fā)現(xiàn)故障并進(jìn)行預(yù)警。通過(guò)對(duì)傳統(tǒng)網(wǎng)絡(luò)故障預(yù)警算法優(yōu)缺點(diǎn)的分析,并針對(duì)其缺點(diǎn)進(jìn)行優(yōu)化改進(jìn),采用離群點(diǎn)檢測(cè)算法建立網(wǎng)絡(luò)故障預(yù)警模型。實(shí)驗(yàn)結(jié)果表明,改進(jìn)型離群點(diǎn)檢測(cè)算法故障檢測(cè)率達(dá)到98%,可對(duì)網(wǎng)絡(luò)故障進(jìn)行有效預(yù)警。下一步工作將針對(duì)ospf鄰居狀態(tài)抖動(dòng)、端口flapping、模塊收發(fā)光異常等故障預(yù)警進(jìn)行研究。 參考文獻(xiàn): [1] 陸明祥. 計(jì)算機(jī)網(wǎng)絡(luò)故障管理智能化探析[J]. 電子測(cè)試,2013(10):120-121. [2] 賀艷芳,石堅(jiān). SDH告警顯示預(yù)處理和告警關(guān)聯(lián)分析[J]. 科學(xué)技術(shù)與工程,2006,6(4):487-499. [3] 杜濤. 多用戶網(wǎng)絡(luò)高風(fēng)險(xiǎn)連鎖故障區(qū)域預(yù)警方法仿真[J]. 計(jì)算機(jī)仿真,2019,36(7):328-330. [4] 陳威. 移動(dòng)通信運(yùn)維大數(shù)據(jù)應(yīng)用價(jià)值探討研究[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] 劉啟元,張聰,沈一棟,等. 信度網(wǎng)結(jié)構(gòu)在線學(xué)習(xí)算法[J]. 軟件學(xué)報(bào),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] 劉莘, 張紹良, 王飛, 等.? 基于地統(tǒng)計(jì)學(xué)的空間離群點(diǎn)檢測(cè)算法的研究[J].? 計(jì)算機(jī)應(yīng)用研究, 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] 章鐸.? 基于大數(shù)據(jù)挖掘的故障預(yù)警系統(tǒng)研究與實(shí)現(xiàn)[D]. 北京:北京郵電大學(xué),2014. [20] 唐世慶,李云龍,田鳳明,等. 基于Hadoop的云計(jì)算與存儲(chǔ)平臺(tái)研究與實(shí)現(xiàn)[J]. 兵器裝備工程學(xué)報(bào),2014(8):97-100. (責(zé)任編輯:黃 ?。?/p>