王迎山
(愛立信(中國)通信有限公司,北京 100102)
在數據庫技術和數據庫管理系統廣泛應用的背景下,人們積累的信息呈幾何倍增加,其中大部分存儲于多種數據媒介中的數據信息已經超出了人類的理解和概括能力,導致數據庫成為“數據墳墓”,導致數據信息的利用率明顯降低。傳統數據庫管理系統能夠明顯體現出數據錄入、查詢以及統計的高效性,但并不能在數據處理中找尋數據之間的關聯和規則,導致人們無法利用充足的數據信息判斷未來發展趨勢。在這樣的背景下,數據分析工具已經成為突破數據和信息之間界限的重要需求,而且在數據庫技術持續創新發展的背景下,在人工智能技術支撐下的機器學習取得了明顯成果,應用機器學習的方式挖掘數據之間的關聯和規則已經成為提升數據分析整合效率的重要方式。
數據挖掘主要指借助算法從大量數據中挖掘信息的過程,而且數據挖掘可以分為有標簽的和無標簽的兩種類型,有標簽的數據挖掘主要用于數據分類和任務預測,無標簽數據可以為找尋數據的關聯提供便利條件。
在我國科學技術持續創新的背景下,故障診斷已經成為人工智能領域的重要內容。將人工智能技術應用于故障診斷可以實現基于人類專家經驗診斷技術的功能,可明顯提升故障診斷水平。與人工智能技術相關的智能診斷方法主要有圍繞規則、模型以及人工神經網絡等類型,多樣性的方法具備獨特的功能優勢和局限性。
目前,網絡管理系統主要應用SNMP和Trap兩種機制實現網絡數據的收集,網絡輪詢機制主要通過控制網絡管理進程的方式輪流查詢整個網絡設備的工作狀態和參數,但是在網絡規模持續擴大的背景下,輪詢消耗的時間較長,而且增加了網絡帶寬的同時,致使故障出現概率大幅度增加,對故障信息收集的效率具有明顯影響;Trap機制主要報告計算機節點代理進程的設備狀態和參數,這種網絡管理機制可有效減少時延,同時也可以明顯減少帶寬占用。
診斷線路故障應采用檢查線路流量的方式,并應用ping命令檢查遠端路由器的端口是否響應,最后應用tracetoute命令檢查路由器配置的合理性,利用不同的檢查命令找尋引發故障的原因,并有針對性應用方法解決線路故障。根據網絡運行的實際情況,大部分網絡線路故障都與路由器有關,所以很多人習慣將線路故障歸納為路由器故障。在路由器故障檢測中需要科學地運用MIB瀏覽器,運用瀏覽器功能收集路由器的路由表和端口流量等數據信息,一般情況下,網絡管理系統中都設有專門的管理進程,其管理進程主要檢測路由器的關鍵數據信息,針對參數異常的信息及時發出警告。
主機故障常緣于主機配置問題,主機的IP地址和其他主機的IP地址沖突很容易引發主機故障,或者IP地址的設定超出子網范圍,導致ping命令檢查過程中出現不通現象。安全故障也是主機故障的常見類型,例如,主機上缺少finger、rlogin等服務,非法入侵者很容易通過主機多余進程的服務和bug攻擊主機,同時在網絡攻擊中很容易得到Administrator權限。
線路故障很多情況下會涉及路由器,因此部分線路故障也可以歸咎為路由器故障,由于線路故障涉及兩端不同的路由器,所以線路故障的處理涉及多個路由器,部分路由器故障僅限于本身故障,其典型故障為路由器CPU利用率過高或內存余量較小等。
4.1.1 圍繞警告標題做TF-IDF
警告標題是指故障發生時上報的名稱,不同的警告標題標志著不同類型故障,例如,ETH_LOS標志著端口難以接收到信號,RHUB和pRRU之間鏈路的異常報告表示端口異常。
TF-IDF是一種圍繞著信息檢索和數據挖掘的加權技術,其中TF可以表示故障名詞的出現頻率,IDF則表示逆文本頻率指數。IDF越大則表示有關某個詞的文檔越少,因此當IDF足夠大時能夠表現出良好的類別區分能力。應用TF-IDF轉換警告標題可以有效統計警告標題,從而實現文本信息向數值信息的高效轉換。
4.1.2 警告處理的時間特征
警告處理的時間特征主要表現在時間信息方面,通過對警告時間的處理可以快速提取出警告發生的具體時間,從中可以準確判斷工作日或休息日等信息。
4.1.3 比率特征
比率特征是指針對各類特征求比例,例如,在比率特征可以反映警告標題出現的次數和故障標題的種類,從而求得警告標題在每個小區的比例情況和各小時警告發生的比例情況等。
在完成不同類型特征處理后便可以形成最終的訓練集數據,而且技術人員可以將最新得到的數據集應用于集成學習模型中。
在完成數據處理和特征構造之后可以得到大量屬性,技術人員應避免將所有的屬性全部加入到模型訓練中,部分屬性在模型學習中很容易影響模型效果。本文應用的數據量含有近20 000個樣本,而且各個樣本中都含有較大數據量,如果將全部樣本應用于模型訓練中將對訓練機器提出較高要求,而且算法運行緩慢,因此在數據特征的選擇中應該合理篩選特征的基本屬性,例如,技術人員可以應用LightGBM模型對數據特征進行合理篩選。
LightGBM是由微軟團隊開發出來的開源集成學習模型,該模型具有訓練速度快和占用內存空間較小的特點,因此LightGBM模型被廣泛應用于數據科學競賽中。在數據訓練之后,技術人員可以應用feature_importance()函數了解特征的重要性,該函數可以對訓練之后的特征實行重要性排序。
在采用LightGBM模型評估之后發現有24個特征的重要性為0,表示這類特征沒有應用價值,因此在特征學習中應該剔除這類特征,同時在對特征的詳細分析中能夠明顯發現重要性值為0大多為有關時間的特征。而警告標題在TF-IDF處理之后,文本特征的重要性值較高,可以判斷警告標題對故障分類具有重要意義。
網絡故障診斷系統需要根據故障發生的原因進行科學設計,一般情況下,設計人員可以按照以下步驟科學合理設計故障診斷系統。①對網絡運行中產生的各類信息進行匯編處理和分類,并建構完整的原始信息表[1]。②針對代理和管理者的職能設計相應模塊,并設計原始信息搜集的過程。③采用故障訓練的方法科學設計故障信息庫和測試庫。④應用特殊的方法對故障信息庫進行知識挖掘,例如,應用決策樹或神經網絡的方式合理挖掘故障信息庫中內容,將最終得到的規則集進行科學的模式評估,充分保障規則的準確性[2]。⑤結合實際情況對原始數據信息進行數據清理、選擇以及集成等處理,利用掌握的規則對凈化之后的數據進行科學分類。
網絡故障診斷系統主要由數據采集、故障診斷以及解釋系統和人機接口組成。數據采集部分包含代理服務器和管理服務器的管理人員,數據采集的主要功能在于將節點機器上的數據信息發送到服務器上,并存儲到服務器上的數據庫中。故障診斷部分包含數據挖掘和數據預處理兩個模塊,數據挖掘模塊的主要功能在于構建規則庫和進行模式評估,并在數據診斷之后產生完整的結果。這部分所用到的故障信息庫主要收集過往故障案例,并從案例分析中找尋發生故障的基本規則,測試庫中收集到的故障案例主要用于規則評估。解釋系統和人機接口的主要功能在于解釋測試結果,接受用戶的查詢請求,并為用戶提供良好的交互體驗界面。
網絡故障診斷系統的三個重要組成部分可以共同在網絡環境下完成數據收集、數據挖掘和處理以及數據表示等功能,但是這三個部分所形成的軟件環境存在較大差別,數據采集主要在各個節點服務器通信情況下完成,所以數據采集的軟件環境受各個節點代理和服務器的實際情況影響;數據挖掘和分析主要在診斷服務器上工作,解釋系統需要在與管理員交互之后解釋測試結果,其系統整體架構如圖1所示。
數據采集工作流程為節點代理通過網絡定期向診斷服務器發送網卡信息、CPU信息等與軟件運行數據相關的信息,由管理進程將軟件運行相關的信息接收并存放于中央數據庫中。節點代理可以根據機器的類型獲得各診斷代理上所提供的服務信息,并從中提取有價值的信息,最后結合數據庫表項調用相應的發送函數。
數據采集主要分為系統信息采集和服務信息采集兩個部分。系統信息主要為網絡系統運行情況的判斷提供參考依據,又可細分為網卡信息、處理器信息以及進程信息等。
服務信息是指各診斷節點代理上所運行有關服務信息,此信息獲取方式主要通過診斷代理結合節點代理類型提取,其來源為節點代理服務進程。通過診斷代理可以通過與其他服務進程共享內存方式提取有價值信息,而后根據數據庫表項為診斷服務器發送相應函數。
主機類型表主要功能在于描述被診斷節點代理的類型,其字段由節點代理在網絡中的服務決定,服務類型的不同會導致收集的服務信息和診斷程序發送的服務信息表存在較大差異。主機類型表如表1所示。

表1 主機類型表
總的來說,依據通信網絡告警和網絡故障數據能夠合理開展數據挖掘,并從中找尋有關數據的特征信息,因此將數據挖掘技術應用于通信網絡故障管理可以提升網絡管理效率,在應用數據挖掘技術時,需根據網絡故障數據特性選擇適宜數據挖掘技術,同時將數據潛在特征與原始數據一并納入模型訓練中。練結果來看,新數據集在XGBoost集成學習模型分類準確率更高,而且XGBoost和CNN算法可以縮短運行時間,確保網絡管理能迅速完成網絡故障的分類。