韓建興,李卓桐,井音吉,趙永利,張 杰
(北京郵電大學(xué) 電子工程學(xué)院,北京 100876)
光網(wǎng)絡(luò)是當(dāng)今承載各類巨量業(yè)務(wù)的重要基礎(chǔ)設(shè)施,且為支撐短視頻和實時交互等新興業(yè)務(wù),光網(wǎng)絡(luò)規(guī)模將持續(xù)擴(kuò)大,其復(fù)雜性也將進(jìn)一步增強(qiáng)。這不可避免地讓光網(wǎng)絡(luò)軟硬件系統(tǒng)耦合關(guān)系更加復(fù)雜多樣,故障和告警更易傳播衍生。因此,在定位故障時,運維人員面臨著大量噪聲,憑借人工經(jīng)驗以及設(shè)備手冊的傳統(tǒng)方式,因其效率不足,已經(jīng)越加不能適應(yīng)實際需求。
從谷歌聲明將知識圖譜(Knowledge Graph,KG)用于改善搜索質(zhì)量[1]后,KG因其良好的組織和理解海量信息的能力而受到了學(xué)界與業(yè)界的高度重視,但當(dāng)前光網(wǎng)絡(luò)領(lǐng)域還少見其應(yīng)用。而KG可以豐富直觀地展現(xiàn)告警間關(guān)聯(lián)關(guān)系,充分挖掘數(shù)據(jù)間隱含信息,在排除衍生告警,推理根源告警,進(jìn)而確定故障原因方面大有助益。另外,有研究[2-3]表明,圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)在自動推理KG實體關(guān)系方面頗有前景,有望使KG在定位故障時進(jìn)一步減少對人工的依賴,提升故障定位效率。
本文首先給出了使用告警KG助力光網(wǎng)絡(luò)故障定位的方法。接著,采用結(jié)合KG與GNN的自動故障定位方案,減少了人工依賴,提高了故障定位效率。仿真結(jié)果表明了該方法的有效性。最后,本文還提出了聯(lián)合網(wǎng)絡(luò)拓?fù)渑c告警KG的故障定位方法,并在多故障定位場景中得到了較高準(zhǔn)確率。
KG首先由谷歌在2012年明確提出,并將其用于改善搜索質(zhì)量。KG以結(jié)構(gòu)化的形式描述客觀世界中的概念、實體及其關(guān)系,用節(jié)點代表實體,邊代表實體間的各種語義關(guān)系。自從谷歌宣布其將KG用于改善搜索質(zhì)量后,KG善于表示并發(fā)現(xiàn)數(shù)據(jù)間隱含關(guān)系的能力逐漸被人們認(rèn)可,并逐漸成為學(xué)術(shù)界與工業(yè)界的熱點研究方向。
光網(wǎng)絡(luò)的告警與故障處理目前主要由運維人員借助網(wǎng)絡(luò)管理系統(tǒng)(Network Management System,NMS)完成。當(dāng)有故障發(fā)生后,由于光網(wǎng)絡(luò)的復(fù)雜性,會衍生出巨量的告警信息,NMS會收集并將這些信息反饋給運維人員處理,但告警間的衍生關(guān)系復(fù)雜多樣,手工處理排除衍生告警很困難且低效。KG的數(shù)據(jù)組織方式及其數(shù)據(jù)關(guān)聯(lián)能力則能夠大力提升排除衍生告警的效率。
經(jīng)數(shù)據(jù)采集、本體構(gòu)建、知識獲取、知識存儲和知識融合等步驟后,可以得到告警KG,告警KG部分視圖如圖1所示。構(gòu)建KG的數(shù)據(jù)基礎(chǔ)主要是光網(wǎng)絡(luò)設(shè)備手冊和綜合網(wǎng)管手冊的html文件。由圖可知,實體節(jié)點共有4類:故障節(jié)點、緊急告警節(jié)點、重要告警節(jié)點和次要告警節(jié)點。節(jié)點間關(guān)系有兩種:故障和告警節(jié)點之間的導(dǎo)致關(guān)系、告警與告警之間的衍生關(guān)系。圖中告警節(jié)點的詳細(xì)信息如表1所示。
表1 告警節(jié)點的詳細(xì)信息
圖1 光網(wǎng)絡(luò)告警KG部分視圖
KG輔助故障定位的方法說明如下:當(dāng)某單個故障發(fā)生后,NMS顯示收到如下數(shù)個告警:RFA、LFA、TU_AIS、HP_LOM和AU_AIS。KG直觀地展現(xiàn)了告警間的衍生關(guān)系,運維人員能方便迅速地?fù)?jù)此進(jìn)行推理,RFA由LFA所衍生,TU_AIS可以衍生出LFA,又因為存在可衍生TU_AIS的HP_LOM和AU_AIS,所以推理得到故障節(jié)點業(yè)務(wù)配置錯誤,故障位置等更全面的信息可從根源告警HP_LOM和AU_AIS獲知。通過上述說明可知,與傳統(tǒng)手動查詢設(shè)備文檔的方法相比,借助KG來輔助定位故障有更高的效率,方便運維人員根據(jù)告警衍生鏈條快速追溯定位到根源告警,從而確定故障信息。
如上所述,使用KG輔助告警關(guān)系的人工推理是一種更高效的故障定位方式。但該方式的定位過程人工參與過多,實際生產(chǎn)中NMS所收到的告警信息規(guī)模巨大,這種自動化程度不足的故障定位方式難以滿足效率需求。據(jù)了解,學(xué)術(shù)界中,已有將GNN用于KG關(guān)系推理的初步成功嘗試[4],本文的自動故障定位方案即為采用結(jié)合KG與GNN推理根源告警的方案。
GNN最早由Gori提出[5],意在拓展神經(jīng)網(wǎng)絡(luò)所處理數(shù)據(jù)的范圍,在此之前,神經(jīng)網(wǎng)絡(luò)關(guān)注于提取歐氏空間數(shù)據(jù)的特征,如文本、圖像和語音等數(shù)據(jù),并取得了顯著的成績,但在實際場景中,有諸多非歐式空間生成的數(shù)據(jù),在處理該類數(shù)據(jù)時,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)方法表現(xiàn)欠佳。基于上述背景,旨在處理圖數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)GNN在借鑒了卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)等思想的基礎(chǔ)上應(yīng)運而生。在圖結(jié)構(gòu)中,節(jié)點特征由其自身特征以及與其相連的節(jié)點特征來決定,GNN的基本思想是,基于信息傳播機(jī)制,相鄰節(jié)點間通過信息傳播來聚合信息,更新自身狀態(tài)并不斷迭代到一個穩(wěn)定狀態(tài)。獲得所有節(jié)點的包含了其鄰居節(jié)點信息的狀態(tài)嵌入是GNN的學(xué)習(xí)目標(biāo)[6],GNN節(jié)點信息的傳播聚合通過神經(jīng)網(wǎng)絡(luò)完成。
如前所述,告警KG中的邊有導(dǎo)致和衍生兩種,而基礎(chǔ)的GNN沒有對邊進(jìn)行區(qū)分,不適用于此處根源告警推理的場景,而門控機(jī)制能夠克服該缺點,所以本文選擇GNN的變體門控圖神經(jīng)網(wǎng)絡(luò)(Gated Graph Neural Network,GGNN)[7]。圖2所示為故障節(jié)點自動推理流程,NMS上報的告警信息首先經(jīng)過去冗余等預(yù)處理,并使用編碼器實現(xiàn)告警向量化,然后使用向量初始化KG中每個節(jié)點的輸入特征。隨后,GGNN在所構(gòu)建KG的圖結(jié)構(gòu)中傳播聚合信息,并更新節(jié)點狀態(tài),最后經(jīng)過若干次迭代輸出得到故障節(jié)點,這時可據(jù)此得到根源告警節(jié)點,從中能了解到故障位置等更具體信息。
圖2 結(jié)合KG與GNN實現(xiàn)故障節(jié)點自動推理
上一節(jié)所述故障定位方案適用于單故障場景,而不適用于多故障場景。圖3所示為業(yè)務(wù)配置錯誤和數(shù)據(jù)配置錯誤兩個故障的場景,這時網(wǎng)元5的TU_AIS是衍生告警,而網(wǎng)元2的TU_AIS不是衍生告警,但方案未考慮衍生關(guān)系中暗含的位置約束,所以無法區(qū)分兩個告警,也就無法適應(yīng)多故障場景。考慮更實際的情況,應(yīng)該將網(wǎng)絡(luò)拓?fù)涞刃畔⒖紤]在內(nèi)以便適應(yīng)多故障場景,此處多故障場景指發(fā)生1個或多個故障的場景。本節(jié)提出一種聯(lián)合網(wǎng)絡(luò)拓?fù)渑c告警KG進(jìn)行故障定位的方案。首先與1.1節(jié)同理構(gòu)建告警KG,然后將網(wǎng)絡(luò)拓?fù)涞男畔?如圖4所示)融合到網(wǎng)絡(luò)狀態(tài)KG中。接著,將網(wǎng)絡(luò)狀態(tài)KG與告警KG聯(lián)合到一起,兩者的聯(lián)系在于其告警同名,所以一個自然簡單的聯(lián)合方法是為兩者的同名實體添加邊,如圖4所示。最后,用新的KG代替1.2節(jié)中的告警KG,同理使用GGNN進(jìn)行故障節(jié)點自動推理。
圖3 網(wǎng)絡(luò)狀態(tài)KG
圖4 聯(lián)合網(wǎng)絡(luò)拓?fù)涞腒G
仿真的主要設(shè)置如下所述。GGNN的訓(xùn)練與測試使用的是1 000組光傳送網(wǎng)的告警數(shù)據(jù),為方便模型訓(xùn)練,通過one-hot編碼器進(jìn)行告警數(shù)據(jù)向量化。訓(xùn)練時以Adam作為優(yōu)化器,交叉熵?fù)p失函數(shù)為目標(biāo)函數(shù)。
按照上述設(shè)置,得到圖5所示的性能仿真結(jié)果。由圖可知,在迭代500次后,最終GGNN的損失值收斂并穩(wěn)定在0.16附近,準(zhǔn)確率達(dá)到97%。除此基礎(chǔ)性能仿真外,文章還測試了KG規(guī)模與故障定位性能的關(guān)系,測試選用了3種規(guī)模的KG,節(jié)點數(shù)分別為15、20和25,仿真結(jié)果如圖6所示。由圖可知,KG規(guī)模增大后,故障定位時長因計算量的增長而隨之增加,但均在可接受范圍內(nèi)。此外,在這3組測試中,定位準(zhǔn)確率雖然隨KG規(guī)模的變化而略有波動,但是準(zhǔn)確率均未低于95%。
圖5 故障定位性能
圖6 不同規(guī)模KG的性能
最后分別在單故障和多故障場景下仿真得到未聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨概c聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨傅男阅軘?shù)據(jù),如表2所示。聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨冈诙喙收蠄鼍跋碌臏?zhǔn)確率相比未聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨赣忻黠@提升,且增加對拓?fù)湫畔⒌奶幚硭冻龅亩ㄎ粫r長代價很小。
表2 未聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨概c聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨傅男阅軐Ρ?/p>
本文利用KG更加強(qiáng)大的知識理解管理能力,提出了結(jié)合KG與GNN的自動故障定位方案,將運維人員從大量衍生告警所形成的噪聲中解放出來,減少了故障定位對人工的依賴,提高了故障定位效率。最后為突破只適用于單故障場景的限制,進(jìn)一步聯(lián)合了網(wǎng)絡(luò)拓?fù)湫畔?。仿真結(jié)果表明,聯(lián)合網(wǎng)絡(luò)拓?fù)浞桨冈诙喙收蠄鼍跋啾任绰?lián)合網(wǎng)絡(luò)拓?fù)浞桨笢?zhǔn)確率有顯著提升。