韓志強 馬海香
【摘 要】本文對計算機網絡存在的故障進行了分析,提出了基于改進支持向量機的計算機網絡故障診斷模型,并進行了實例仿真。仿真結果表明:本文提出的模型可以有效降低訓練次數和訓練時間,提高計算機網絡故障診斷效率。
【關鍵詞】計算機網絡;故障診斷;支持向量機
1.概述
網絡故障診斷的目標是最大限度地增加網絡的可用時間,提高網絡設備的利用率、網絡性能、服務質量和安全性,簡化混合網絡環境下的管理和減少控制網絡運行成本,以延長網絡的使用壽命。故障診斷的實質就是模式識別,由于網絡設備的復雜性和故障形式的多樣性,使網絡故障征兆和故障狀態之間不是簡單的一一對應關系,從故障征兆集到故障狀態集是一個復雜的非線性映射。
智能故障診斷技術包括支持向量機、灰色理論、模式識別、故障樹分析、診斷專家系統等。前四種技術只是在某種程度上運用了邏輯推理知識,部分解決了診斷過程中諸如信息模糊、不完全、故障分類和定位等問題,而診斷專家系統則可以以自身為平臺,綜合其他診斷技術,形成混合智能故障診斷系統[1]。狹義的智能診斷技術一般就指專家系統。
支持向量機(SVM)是由CorinnaCortes和Vapnik等人在上世紀80年代初提出來的樣本學習技術,它的優勢在于基于系統風險最小化的原則,尤其在解決非線性、小樣本以及高維模式識別等問題中表現出色。支持向量機理論是建立在統計學習理論的VC維理論[2]基礎上,根據有限的樣本空間在對任意樣本的識別能力和對特定訓練樣本的學習精度之間尋求最佳的平衡,以達到獲取最好的學習能力的目的。
2.計算機網絡故障分析
現代計算機網絡技術日新月異,飛速發展的時代里,計算機網絡遍及世界各個角落,應用在各行各業,普及到千家萬戶,它給人們可謂帶來了諸多便利,但同時也帶來了很多的煩惱,根據常見的網絡故障歸類為:
2.1線路故障
在日常網絡維護中,線路故障的發生率是相當高的,約占發生故障的70%。線路故障通常包括線路損壞及線路受到嚴重電磁干擾。
2.2端口故障
端口故障通常包括插頭松動和端口本身的物理故障。
2.3集線器或路由器故障
集線器或路由器故障在此是指物理損壞,無法工作,導致網絡不通。
2.4主機物理故障
網卡故障,也歸為主機物理故障,因為網卡多裝在主機內,靠主機完成配置和通信,即可以看作網絡終端。此類故障通常包括網卡松動,網卡物理故障,主機的網卡插槽故障和主機本身故障。邏輯故障中的最常見情況是配置錯誤,也就是指因為網絡設備的配置錯誤而導致的網絡異常或故障。
2.5路由器邏輯故障
路由器邏輯故障通常包括路由器端口參數設定有誤,路由器路由配置錯誤、路由器CPU利用率過高和路由器內存余量太小等。
2.6一些重要進程或端口關閉
一些有關網絡連接數據參數得重要進程或端口受系統或病毒影響而導致意外關閉。
2.7主機邏輯故障
主機邏輯故障所造成網絡故障率是較高的,通常包括網卡的驅動程序安裝不當、網卡設備有沖突、主機的網絡地址參數設置不當、主機網絡協議或服務安裝不當和主機安全性故障等。
3.改進支持向量機算法
本文提出一種新的支持向量機等量學習算法,該算法的思想是:首先對原始樣本求解中心距離比值參數來對樣本向量集進行排序,訓練此集合得到初始分類器,記此時得到的支持向量集為Sv,然后在新增樣本中求出此樣本集對應的中心距離參數值。將新增的中心樣本參數值與原參數值一同進行排序,根據參數大小取排序前n位的樣本進行訓練,得到加入重新選取樣本后的新訓練集中SV,這些樣本在下次訓練時有成為參與訓練的樣本向量,訓練此集合得到新的分類器。
算法過程描述如下:
前提:假設Sv為初始樣本集,T為新增樣本集;
算法目標:尋找基于的SVM分類器,其中TV的樣本集容量固定為n。
Step1:對Sv中每個樣本點計算其中心距離比值參數,并據此對求出的中心距離比值參數排序表;
Step2:對Sv進行SVM訓練,得到分類器S;
Step3:檢查增量過程是否繼續,如果沒有,算法結束,S為最終分類器;
Step4:求出新增樣本集T的中心距離比值參數值,將其與B進行排序,取前n個作為新的參數排序表Bv;
Step5:把新參數排序表Bv對應的樣本向量集TV進行訓練得到新的分類器S;
Step6:保存新的參數排序表Bv,轉至step1。
該算法處理新增樣本集時用參數窗口代替時間樣本進行訓練學習,在不影響訓練速度的情況下,可以提高分類精度。對于新增樣本,利用中心距離比值參數來判斷是否需要加入訓練學習。如果需要重新學習,則將原參數值排序表進行更新,并訓練新排序表對應的新的待訓練樣本集,獲得新的分類器。這樣可以舍棄更多的無用信息,保留有用信息,減少訓練時間的同時,提高了分類精度。
4.基于SVM方法的計算機網絡故障診斷實例
4.1免疫agent故障管理模型
免疫Agent網絡模型的工作原理是,當網絡發生故障的時候,搜集故障信息,然后經過一定的處理后,以抗原的形式提交到本地agent,本地agent首先在本地知識庫進行搜索,看是否存在與抗原相匹配的故障類型,如果存在,那么輸出故障信息,同時發送匹配成功的激勵信號;否則發送協助信號,請求其他agent協助解決,其他agent接收到幫助信號以后,到自己agent中的知識庫就行搜索,看是否存在相匹配的信息,如果存在,則將匹配到的故障類型發送給本地agent,否則將故障信息交由人工解決。
模型的運行是不斷進行迭代的協同進化過程。每進行一次故障數據信息的診斷,模型就完成一次迭代過程。每一次迭代中,Agent之間會進行信息的交互,在迭代過程中每一個agent的知識庫(也就是抗體集)會不斷的進行更新,因而故障診斷能力會不斷的增強,整個過程是始終是處于動態變化。
4.2Agent各功能模塊介紹
移動agent由六種不同功能的agent組成。下面對每種agent功能進行詳細介紹。
(1)信息采集agent
信息采集是進行故障診斷的前提。信息采集agent主要是對網絡主機及所屬子網絡上的原始數據進行收集,然后將收集到的原始數據保存,然后進行一些預處理(如分析數據傳輸采用的協議、丟包率等),為故障診斷準備好數據信息。
(2)故障診斷agent
故障診斷agent是整個系統的核心。一個故障診斷agent通常只包含相對有限、獨立的故障檢測方法,提供對某一具體類型的數據分析服務,因此它的檢測能力是非常有限的。故障診斷agent根據本身的責任,它會主動發送請求給相關的信息采集agent,然后對返回的信息進行分析,得出診斷結論。如果存在無法識別的異常,故障診斷agent會將數據源信息、實際診斷方法、故障參數等信息作為本地存儲,發送給決策agent做下一步處理。
(3)通信agent
所謂的通信agent就是負責網絡agent之間的相互通信。每個局域網都有一個通信agent而且是唯一,局域網內的agent之間必須通過通信agent才能進行交互,否則不能直接通信。通信agent本身并不具備執行診斷任務的能力,是為其他agent服務的。
(4)決策agent
系統在故障診斷過程中可能遇到各種問題,如數據采集不完整、領域知識不完備等,這些因素增加了檢測結果的不確定性。對于比較簡單的任務而言,決策agent也許不是必需的,但是如果任務比較復雜,根據單一故障特征并不能確定問題的所在,此時決策agent就發揮作用了。如果無法得出明確的診斷結論,這個時候決策agent會將診斷信息發送給系統管理agent,請求人工處理,處理完成后,將處理信息添加到知識庫中,以備將來使用,這也就是學習過程。
5.結語
本文對計算機網絡故障進行了分析,提出了改進的支持向量機算法,建立了改進支持向量機網絡訓練和仿真模型。針對計算機網絡故障這一診斷實例,對其進行了實例仿真,實驗結果表明了該方法的優越性。
參考文獻:
[1] 江芳澤,黃曉東.基于辯識神經網絡魯棒性研究協[J].電子技術應用,2002,44(16):93-101.
[2] 錢藝,李占才.一種神經網絡并行處理器的體系結構[J].小型微型計算機系統,2007,28(10):1902-1905.
[3] 李玲玲,劉希玉.基于粒子群優化算法的并行學習神經網絡集成構造方法[J].山東科學,2007,20(4):16-20.
(作者單位:長城汽車股份有限公司)