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