趙 良,張 賀,薛金明,潘 皓(.中國(guó)聯(lián)通研究院,北京 00048;.中國(guó)聯(lián)通江蘇分公司,江蘇南京 009)
隨著5G 時(shí)代的來(lái)臨,ICT 產(chǎn)業(yè)全面融合,SDN/NFV、云和大數(shù)據(jù)等新技術(shù)的出現(xiàn)和發(fā)展,使得運(yùn)營(yíng)商面臨來(lái)自各方面的嚴(yán)峻挑戰(zhàn)?;谌斯し绞降膫鹘y(tǒng)運(yùn)維技術(shù),已經(jīng)不能滿足運(yùn)營(yíng)商未來(lái)網(wǎng)絡(luò)高效運(yùn)營(yíng)和維護(hù)的要求,特別是在自動(dòng)監(jiān)控網(wǎng)絡(luò)異常和排障、提升網(wǎng)絡(luò)運(yùn)維效率以及降低運(yùn)營(yíng)成本等方面,自動(dòng)化智能化運(yùn)維技術(shù)成為高效運(yùn)維的必然之選。
承載網(wǎng)絡(luò)故障的根因分析一直是個(gè)困擾運(yùn)營(yíng)商的疑難問(wèn)題,其由不同廠家、不同設(shè)備類型構(gòu)成,現(xiàn)網(wǎng)一旦出現(xiàn)故障,不同網(wǎng)絡(luò)層級(jí)、模塊、廠家、設(shè)備類型的大量故障告警就會(huì)出現(xiàn),造成大量突發(fā)故障的假象,據(jù)統(tǒng)計(jì)現(xiàn)網(wǎng)單個(gè)地(市)每月告警量就可達(dá)到上百萬(wàn)條。傳統(tǒng)采取人工處理方式消耗了大量的資源,運(yùn)維成本居高不下。目前現(xiàn)網(wǎng)運(yùn)維對(duì)于網(wǎng)絡(luò)故障告警的處理主要采用人工總結(jié)經(jīng)驗(yàn)的方式,排障效率低、故障定位難、運(yùn)維難度大。
中國(guó)SDN/NFV 產(chǎn)業(yè)聯(lián)盟在其發(fā)布的《網(wǎng)絡(luò)人工智能應(yīng)用白皮書(shū)》上提到過(guò)網(wǎng)絡(luò)人工智能的概念,指將人工智能技術(shù)應(yīng)用在網(wǎng)絡(luò)中,使用機(jī)器替代或優(yōu)化目前依靠人工進(jìn)行的工作,使運(yùn)營(yíng)商能夠更加便捷地提供更加優(yōu)質(zhì)的網(wǎng)絡(luò)服務(wù)。目前全球多家運(yùn)營(yíng)商都發(fā)布了各自的人工智能戰(zhàn)略,希望引入人工智能技術(shù)到網(wǎng)絡(luò)規(guī)劃、建設(shè)、維護(hù)及優(yōu)化等各個(gè)方面,幫助自身實(shí)現(xiàn)網(wǎng)絡(luò)智能化。其中,最為關(guān)注的熱點(diǎn)是實(shí)現(xiàn)智能運(yùn)維,降低運(yùn)維成本。
在故障溯源方面,著名的IT 研究與顧問(wèn)咨詢公司Gartner 在2016 年提出AIOps(Artificial Intelligence for IT Operations)的概念,即通過(guò)人工智能的方式來(lái)支撐現(xiàn)在日益復(fù)雜的運(yùn)維工作。AIOps 可以在深度集成DevOps 工具鏈的基礎(chǔ)上獲取系統(tǒng)數(shù)據(jù),然后通過(guò)機(jī)器學(xué)習(xí)算法進(jìn)行數(shù)據(jù)分析,更深度地解析數(shù)據(jù)中所蘊(yùn)藏的運(yùn)維信息。國(guó)內(nèi)外各大公司,例如AT&T、Microsoft、Facebook、百度、阿里巴巴等都在他們的運(yùn)維系統(tǒng)中實(shí)驗(yàn)或部署了機(jī)器學(xué)習(xí)算法,助力某些運(yùn)維任務(wù)智能化。華為諾亞方舟實(shí)驗(yàn)室開(kāi)發(fā)了智能故障診斷系統(tǒng),利用網(wǎng)絡(luò)故障的歷史記錄數(shù)據(jù)自動(dòng)構(gòu)建通信領(lǐng)域知識(shí)圖譜,并在知識(shí)圖譜上進(jìn)行概率推理,以自動(dòng)問(wèn)答的形式幫助工程師找出故障的根本原因。中國(guó)移動(dòng)也發(fā)布了其AIOps 智能網(wǎng)絡(luò)運(yùn)維系統(tǒng),旨在強(qiáng)調(diào)實(shí)現(xiàn)以運(yùn)維為中心依托數(shù)據(jù)挖掘技術(shù)與機(jī)器學(xué)習(xí)、深度學(xué)習(xí)算法,實(shí)現(xiàn)網(wǎng)絡(luò)故障早發(fā)現(xiàn),由被動(dòng)的處理問(wèn)題改為積極的預(yù)防問(wèn)題,從而提高整體資源的利用率和運(yùn)維效率,降低運(yùn)維成本。
為了解決承載網(wǎng)絡(luò)的海量告警故障定位難的問(wèn)題,本文提出運(yùn)用人工智能和大數(shù)據(jù)技術(shù),設(shè)計(jì)了一系列對(duì)承載網(wǎng)絡(luò)告警數(shù)據(jù)進(jìn)行過(guò)濾、壓縮、關(guān)聯(lián)分析、故障溯源和派單的算法,開(kāi)發(fā)了一套承載網(wǎng)絡(luò)告警分析系統(tǒng)。通過(guò)系統(tǒng)對(duì)現(xiàn)網(wǎng)數(shù)據(jù)的智能分析,快速實(shí)現(xiàn)告警關(guān)聯(lián)壓縮、故障精準(zhǔn)定位和故障原因診斷的任務(wù)目標(biāo)。
系統(tǒng)總體架構(gòu)如圖1 所示,通過(guò)對(duì)現(xiàn)網(wǎng)海量的告警、資源、拓?fù)?、工單等?shù)據(jù)的綜合關(guān)聯(lián)分析和訓(xùn)練模型學(xué)習(xí),自動(dòng)生成各種告警關(guān)聯(lián)規(guī)則,準(zhǔn)確定位根因告警,自動(dòng)實(shí)現(xiàn)故障原因診斷和故障派單。功能上分為離線分析和在線處理2個(gè)部分。紅色標(biāo)識(shí)的為離線關(guān)聯(lián)規(guī)則分析的信息處理流,綠色標(biāo)識(shí)的為在線告警識(shí)別的信息處理流。系統(tǒng)整體是一個(gè)數(shù)據(jù)信息的處理機(jī),其中相關(guān)模塊通過(guò)不同的組合可以完成不同的目標(biāo)任務(wù)。
圖1 智能告警分析系統(tǒng)總體架構(gòu)
系統(tǒng)中引入人工智能的主要算法包括告警關(guān)聯(lián)自動(dòng)挖掘算法和故障自動(dòng)派單算法。
2.2.1 告警關(guān)聯(lián)規(guī)則自動(dòng)挖掘算法
基于人工智能技術(shù)對(duì)當(dāng)前的告警中關(guān)鍵信息進(jìn)行恰當(dāng)?shù)姆治鎏幚?,通過(guò)對(duì)告警信息進(jìn)行規(guī)則匹配、時(shí)間序列模式挖掘等流程實(shí)現(xiàn)對(duì)告警信息的過(guò)濾、壓縮,并依據(jù)各個(gè)告警之間的關(guān)聯(lián)性來(lái)確定告警根源。實(shí)現(xiàn)從現(xiàn)網(wǎng)海量數(shù)據(jù)中挖掘告警之間的關(guān)聯(lián)規(guī)則,形成統(tǒng)一有效的告警關(guān)聯(lián)規(guī)則知識(shí)庫(kù)。告警關(guān)聯(lián)規(guī)則自動(dòng)挖掘具體流程如圖2所示。
圖2 告警關(guān)聯(lián)規(guī)則自動(dòng)挖掘算法流程
本文提出了基于PrefixSpan 算法改進(jìn)的關(guān)聯(lián)矩陣挖掘算法,該算法的最大優(yōu)勢(shì)在于結(jié)合算法和網(wǎng)絡(luò)原理,可以在規(guī)則挖掘過(guò)程中自動(dòng)挖掘出告警之間的約束條件,如同一網(wǎng)元、同一端口、直連對(duì)端網(wǎng)元、直連對(duì)端端口、同一業(yè)務(wù)隧道同網(wǎng)元、同一業(yè)務(wù)隧道對(duì)端網(wǎng)元、同一業(yè)務(wù)隧道對(duì)端端口、同環(huán)途徑網(wǎng)元等,從而避免傳統(tǒng)算法對(duì)規(guī)則挖掘時(shí)不考慮約束條件的問(wèn)題,提升挖掘算法對(duì)規(guī)則挖掘的精確度。
2.2.2 故障智能派單算法
在歷史工單數(shù)據(jù)和現(xiàn)有歷史告警過(guò)濾、壓縮、根源-衍生關(guān)聯(lián)分析結(jié)果的基礎(chǔ)上,通過(guò)機(jī)器學(xué)習(xí)技術(shù)提取系列告警模式特征,運(yùn)用神經(jīng)網(wǎng)絡(luò)算法來(lái)進(jìn)行故障派單,并給出基于大數(shù)據(jù)推測(cè)的故障原因診斷,如設(shè)備故障、設(shè)備掉電、線路故障等。
圖3 示出的是故障派單處理流程,故障智能派單算法分為離線訓(xùn)練預(yù)測(cè)模型和在線派單處理2 個(gè)部分。先利用機(jī)器學(xué)習(xí),學(xué)習(xí)歷史告警與派單之間的關(guān)系,然后再在在線告警過(guò)濾與識(shí)別結(jié)果的基礎(chǔ)上用前一步訓(xùn)練的模型指導(dǎo)在線派單。
圖3 故障派單處理流程
2.2.2.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理的具體流程如下。
a)將網(wǎng)元表、鏈路表、業(yè)務(wù)表、離線告警表導(dǎo)入數(shù)據(jù)庫(kù)中并清洗告警數(shù)據(jù)。再利用告警關(guān)聯(lián)規(guī)則知識(shí)庫(kù)對(duì)其進(jìn)行告警關(guān)聯(lián)關(guān)系分析處理。處理完成之后,數(shù)據(jù)就會(huì)被錄入數(shù)據(jù)庫(kù)并包含了根源衍生關(guān)系(見(jiàn)圖4)。其中每個(gè)節(jié)點(diǎn)都代表一個(gè)實(shí)際發(fā)生的告警,連接2 個(gè)節(jié)點(diǎn)的邊代表了一條唯一的規(guī)則,有一個(gè)確定的規(guī)則ID與之對(duì)應(yīng)。
圖4 關(guān)聯(lián)告警的根源衍生關(guān)系
b)提取歷史工單中的派單與告警之間的關(guān)系。得到派單列表和每個(gè)派單對(duì)應(yīng)的關(guān)聯(lián)告警。
c)對(duì)于b)中能找到的某一派單下的每一條關(guān)聯(lián)告警,查找這條告警根源衍生關(guān)系。如果該告警存在根源衍生關(guān)系,則遍歷這個(gè)根源衍生關(guān)系,直至找到這個(gè)關(guān)聯(lián)告警的根源告警。得到一系列派單和每一條派單對(duì)應(yīng)的一系列根源告警。
d)對(duì)于c)得到的根源告警和其對(duì)應(yīng)的派單,再根據(jù)根源衍生關(guān)系,遍歷每一個(gè)根源告警對(duì)應(yīng)的根源衍生樹(shù)。
e)對(duì)于任一根源衍生樹(shù),取構(gòu)成樹(shù)的邊的集合,構(gòu)造特征向量。
2.2.2.2 構(gòu)造訓(xùn)練測(cè)試樣本
對(duì)于構(gòu)造的特征向量,由于其是從派單表中的實(shí)際派單取得的,所以這些根源衍生樹(shù)代表的根源衍生關(guān)系都需要分配工單。除此以外該廠家地(市)下的所有根源衍生樹(shù)都被認(rèn)為是無(wú)效的,即不需要派單。因此將該廠家地(市)下的根源衍生樹(shù)分為2 類,一類是從派單表的關(guān)聯(lián)告警中提取的(簡(jiǎn)稱正樣本),另一類是除第一類外其他的所有根源衍生樹(shù)(簡(jiǎn)稱負(fù)樣本)。正樣本被認(rèn)為是要派單的根源衍生樹(shù),每棵樹(shù)都構(gòu)造出一個(gè)特征向量,并被打上正的標(biāo)簽。負(fù)樣本被認(rèn)為是不要派單的根源衍生樹(shù),同樣構(gòu)造出一個(gè)特征向量。但是由于負(fù)樣本的比例遠(yuǎn)遠(yuǎn)大于正樣本,為了平衡需要?jiǎng)h除其中重復(fù)出現(xiàn)的特征向量,以保證同樣的負(fù)樣本只出現(xiàn)一次。
2.2.2.3 構(gòu)造模型
神經(jīng)網(wǎng)絡(luò)模型如圖5所示。為一個(gè)全連接的神經(jīng)網(wǎng)絡(luò),最底層的節(jié)點(diǎn)代表輸入層,每個(gè)位置代表一維輸入向量。每個(gè)節(jié)點(diǎn)會(huì)與上層(隱含層1)的每個(gè)節(jié)點(diǎn)相連。隱含層1 的每個(gè)節(jié)點(diǎn)也會(huì)與隱含層2 的每個(gè)節(jié)點(diǎn)相連。隱含層2的每個(gè)節(jié)點(diǎn)還會(huì)與輸出層的每個(gè)節(jié)點(diǎn)相連。每個(gè)節(jié)點(diǎn)是一個(gè)神經(jīng)元,中間蘊(yùn)含了一系列操作。每條邊中會(huì)包含相連2個(gè)節(jié)點(diǎn)的運(yùn)算參數(shù)。
圖5 智能故障派單神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
智能告警分析系統(tǒng)關(guān)聯(lián)規(guī)則來(lái)源于對(duì)現(xiàn)網(wǎng)海量告警數(shù)據(jù)的挖掘分析,應(yīng)用于對(duì)現(xiàn)網(wǎng)告警的識(shí)別和壓縮。因此,真實(shí)的告警數(shù)據(jù)是系統(tǒng)最為關(guān)鍵的要素。告警數(shù)據(jù)越豐富,系統(tǒng)處理效果越好,在本文研究過(guò)程中采集了現(xiàn)網(wǎng)海量告警和資源數(shù)據(jù)用于大數(shù)據(jù)挖掘,并在省分試點(diǎn)部署系統(tǒng),對(duì)于現(xiàn)網(wǎng)的實(shí)時(shí)告警進(jìn)行分析處理,驗(yàn)證系統(tǒng)的可用性和有效性。
圖6 為系統(tǒng)部署架構(gòu),即智能告警分析系統(tǒng)部署在集團(tuán)云資源池中,采用一級(jí)架構(gòu),各省分利用現(xiàn)有ESB 系統(tǒng)進(jìn)行告警和資源數(shù)據(jù)的上傳,可供用戶在任何地點(diǎn)通過(guò)瀏覽器便捷訪問(wèn),簡(jiǎn)單高效,節(jié)約成本。
圖6 系統(tǒng)目標(biāo)部署架構(gòu)
智能告警分析系統(tǒng)功能包括規(guī)則庫(kù)管理、黑名單管理、告警關(guān)聯(lián)規(guī)則挖掘、告警在線分析、在線派單、告警和資源獲取接口、拓?fù)鋱D查詢、告警查詢、任務(wù)管理和用戶管理等功能(見(jiàn)圖7)。
圖7 智能告警分析系統(tǒng)功能項(xiàng)
系統(tǒng)目前已通過(guò)億萬(wàn)量級(jí)的告警數(shù)據(jù)挖掘,完成建立統(tǒng)一的主流廠商承載網(wǎng)絡(luò)告警關(guān)聯(lián)規(guī)則知識(shí)庫(kù)。
對(duì)于實(shí)時(shí)告警,系統(tǒng)可以自動(dòng)對(duì)需要派單的告警進(jìn)行派單和故障原因診斷。當(dāng)運(yùn)維人員需要結(jié)合網(wǎng)絡(luò)拓?fù)洳榭垂收衔恢脮r(shí),可以點(diǎn)擊相關(guān)告警按鈕直接將告警投影在物理拓?fù)渖喜榭础?/p>
經(jīng)過(guò)綜合測(cè)試,系統(tǒng)對(duì)實(shí)時(shí)告警的分析處理壓縮率可達(dá)到99%以上;故障派單結(jié)果與現(xiàn)網(wǎng)故障匹配,準(zhǔn)確率高;可對(duì)全省各個(gè)地(市)實(shí)時(shí)告警同時(shí)進(jìn)行在線關(guān)聯(lián)分析、故障原因診斷和派單處理,以實(shí)現(xiàn)故障的快速定位。
本文提出了一系列基于人工智能的承載網(wǎng)絡(luò)告警分析算法,開(kāi)發(fā)了一套承載網(wǎng)絡(luò)告警分析系統(tǒng),從而實(shí)現(xiàn)通過(guò)智能化和自動(dòng)化手段對(duì)網(wǎng)絡(luò)告警故障進(jìn)行自動(dòng)分析和處理,提高運(yùn)維效率,以此節(jié)約人力和資源成本。通過(guò)從海量現(xiàn)網(wǎng)數(shù)據(jù)中挖掘告警間的關(guān)聯(lián)規(guī)則,已建立主流承載廠家設(shè)備的統(tǒng)一告警關(guān)聯(lián)規(guī)則知識(shí)庫(kù),實(shí)現(xiàn)故障準(zhǔn)確派單和故障原因的快速診斷。訓(xùn)練模型對(duì)于學(xué)習(xí)各廠家的告警和派單通用,無(wú)需各省分各廠家人工總結(jié)規(guī)則,解決了不同省分公司不同廠家由于一線運(yùn)維人員的經(jīng)驗(yàn)和技術(shù)水平差異而帶來(lái)的網(wǎng)絡(luò)維護(hù)能力參差不齊的問(wèn)題。系統(tǒng)對(duì)實(shí)時(shí)告警的壓縮率可達(dá)到99%以上。訓(xùn)練模型的派單準(zhǔn)確率在95%以上。從網(wǎng)絡(luò)管理的角度來(lái)看,排障過(guò)程花費(fèi)時(shí)間更短,資源消耗更少,運(yùn)維效率更高,是其內(nèi)部提高企業(yè)OPEX 的主要貢獻(xiàn)因素;從用戶使用的角度來(lái)看,網(wǎng)絡(luò)性能更好,網(wǎng)絡(luò)故障更小,用戶體驗(yàn)會(huì)更好,提升運(yùn)營(yíng)商網(wǎng)絡(luò)的核心競(jìng)爭(zhēng)力。