陸明祥
(蘇州工業(yè)職業(yè)技術(shù)學(xué)院,215104)
網(wǎng)絡(luò)故障管理是為了使網(wǎng)絡(luò)能夠保持正常穩(wěn)定的運行,在互聯(lián)網(wǎng)時代,一旦網(wǎng)絡(luò)出現(xiàn)問題就給人們的生活帶來很大不便,這就迫切需要我們采用合理的故障管理方法,及時發(fā)現(xiàn)故障并能夠快速解決。因此,研究如何通過網(wǎng)絡(luò)故障管理確保網(wǎng)絡(luò)正常運行,提高網(wǎng)絡(luò)的可靠性具有十分重要的現(xiàn)實和社會意義。
隨著網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大和網(wǎng)絡(luò)復(fù)雜性的增強(qiáng),傳統(tǒng)的網(wǎng)絡(luò)故障管理方法已難以適應(yīng)大規(guī)模的網(wǎng)絡(luò)管理。人工智能專家系統(tǒng)、數(shù)據(jù)挖掘、遺傳算法、神經(jīng)網(wǎng)絡(luò)和agent 技術(shù)逐漸被引入到網(wǎng)絡(luò)故障管理中[1-3]。在實際使用的故障管理智能化方法中,存在著一些不足之處,主要表現(xiàn)為:通用性差,移植性不強(qiáng);動態(tài)數(shù)據(jù)利用不平衡;學(xué)習(xí)能力差。
人工免疫算法具備多樣性、學(xué)習(xí)能力強(qiáng)、自適應(yīng)調(diào)整,Agent具備自主性、交互性、推理能力等特點,兩者結(jié)合恰好可以彌補(bǔ)上面的一些不足。同時,使用Agent 技術(shù)的能夠?qū)?fù)雜的網(wǎng)絡(luò)分解為幾個子網(wǎng)絡(luò),提高網(wǎng)絡(luò)故障管理效率。
在前面介紹理論的基礎(chǔ)上,我們提出了一個基于免疫 agent的網(wǎng)絡(luò)故障管理模型。下面對這個模型進(jìn)行詳細(xì)分析。
免疫 Agent 網(wǎng)絡(luò)模型的工作原理是,當(dāng)網(wǎng)絡(luò)發(fā)生故障的時候,搜集故障信息,然后經(jīng)過一定的處理后,以抗原的形式提交到本地 agent,本地 agent 首先在本地知識庫進(jìn)行搜索,看是否存在與抗原相匹配的故障類型,如果存在,那么輸出故障信息,同時發(fā)送匹配成功的激勵信號;否則發(fā)送協(xié)助信號,請求其他agent協(xié)助解決,其他 agent 接收到幫助信號以后,到自己agent 中的知識庫就行搜索,看是否存在相匹配的信息,如果存在,則將匹配到的故障類型發(fā)送給本地 agent,否則將故障信息交由人工解決。免疫 agent 模型如圖3.1 所示。
模型的運行是不斷進(jìn)行迭代的協(xié)同進(jìn)化過程。每進(jìn)行一次故障數(shù)據(jù)信息的診斷,模型就完成一次迭代過程。每一次迭代中,Agent 之間會進(jìn)行信息的交互,在迭代過程中每一個agent 的知識庫(也就是抗體集)會不斷的進(jìn)行更新,因而故障診斷能力會不斷的增強(qiáng),整個過程是始終是處于動態(tài)變化。
移動agent 由六種不同功能的agent 組成。下面對每種agent 功能進(jìn)行詳細(xì)介紹。
2.1.1.信息采集agent
信息采集是進(jìn)行故障診斷的前提。信息采集agent 主要是對網(wǎng)絡(luò)主機(jī)及所屬子網(wǎng)絡(luò)上的原始數(shù)據(jù)進(jìn)行收集,然后將收集到的原始數(shù)據(jù)保存,然后進(jìn)行一些預(yù)處理 (如分析數(shù)據(jù)傳輸采用的協(xié)議、丟包率等),為故障診斷準(zhǔn)備好數(shù)據(jù)信息。
2.1.2 故障診斷 agent
故障診斷agent 是整個系統(tǒng)的核心。一個故障診斷 agent通常只包含相對有限、獨立的故障檢測方法,提供對某一具體類型的數(shù)據(jù)分析服務(wù),因此它的檢測能力是非常有限的。故障診斷agent 根據(jù)本身的責(zé)任,它會主動發(fā)送請求給相關(guān)的信息采集agent,然后對返回的信息進(jìn)行分析,得出診斷結(jié)論。如果存在無法識別的異常,故障診斷 agent會將數(shù)據(jù)源信息、實際診斷方法、故障參數(shù)等信息作為本地存儲,發(fā)送給決策 agent 做下一步處理。
2.1.3 通信 agent
所謂的通信 agent 就是負(fù)責(zé)網(wǎng)絡(luò) agent 之間的相互通信。每個局域網(wǎng)都有一個通信 agent 而且是唯一,局域網(wǎng)內(nèi)的agent 之間必須通過通信agent 才能進(jìn)行交互,否則不能直接通信。通信agent 本身并不具備執(zhí)行診斷任務(wù)的能力,是為其他agent 服務(wù)的。
2.1.4 決策 agent
系統(tǒng)在故障診斷過程中可能遇到各種問題,如數(shù)據(jù)采集不完整、領(lǐng)域知識不完備等,這些因素增加了檢測結(jié)果的不確定性。對于比較簡單的任務(wù)而言,決策 agent 也許不是必需的,但是如果任務(wù)比較復(fù)雜,根據(jù)單一故障特征并不能確定問題的所在,此時決策agent 就發(fā)揮作用了。如果無法得出明確的診斷結(jié)論,這個時候決策agent 會將診斷信息發(fā)送給系統(tǒng)管理agent,請求人工處理,處理完成后,將處理信息添加到知識庫中,以備將來使用,這也就是學(xué)習(xí)過程。
2.1.5 知識管理agent(知識庫)
知識管理agent 主要功能是存儲相關(guān)領(lǐng)域的基本原理、專家的經(jīng)驗知識以及一些實際案例等,信息數(shù)據(jù)也是專家知識庫的重要部分。知識庫的內(nèi)容為各種故障的診斷提供了必需的知識。知識管理agent 主要是維護(hù)、搜索、轉(zhuǎn)換知識庫中的知識,包括協(xié)調(diào)全局、本地知識庫的管理的同步和關(guān)聯(lián),負(fù)責(zé)知識庫中知識的更新與學(xué)習(xí)。
2.1.6 系統(tǒng)管理agent
系統(tǒng)管理agent 是整個系統(tǒng)正常運行的保障,主要職責(zé)是負(fù)責(zé) agent 的創(chuàng)建、掛起、注銷等,并為各個agent 提供信息搜索功能。系統(tǒng)管理agent 中還為診斷任務(wù)聯(lián)盟提供信息存儲功能。
2.1.7 故障診斷中抗體庫算法設(shè)計
在整個系統(tǒng)中,故障診斷是系統(tǒng)中的最重要部分,而故障診斷的核心是抗體庫。本文基于免疫原理的設(shè)計了一種高效的算法,具體描述如下。
(1)初始種群,根據(jù)待解決問題的具體要求,隨機(jī)產(chǎn)生數(shù)量為N 的個體。
(2)根據(jù)專家知識和經(jīng)驗建立本地知識庫,本地知識庫包含的一系列的抗體集。
(3)本地知識庫接收其它Agent 的疫苗,然后進(jìn)行知識庫的更新,形成新的抗體集。
(4)抗原傳感器采集一定范圍內(nèi)的信息數(shù)據(jù)。
(5)如果判斷采集到的信息數(shù)據(jù)可能會存在異常,則發(fā)送協(xié)助解決信息給當(dāng)前免疫Agent,處于等待狀態(tài)并保持免疫耐受,轉(zhuǎn)步驟(8)。
信息數(shù)據(jù)與本地知識庫抗體進(jìn)行匹配,如果匹配成功,那么表明本地知識庫內(nèi)有對應(yīng)的解決方案(即存在抗體),然后進(jìn)行免疫應(yīng)答。
(6)將此抗體模式作為疫苗,發(fā)送刺激信號給其它相關(guān)免疫Agent,然后可以作為經(jīng)驗給其它免疫Agent 解決類似問題。
(7)進(jìn)入下一階段,轉(zhuǎn)到步驟(3)。
(8)若免疫Agent 返回的信息是繼續(xù)等待,那么繼續(xù)保持免疫耐受,并轉(zhuǎn)到步驟(7);若其它免疫Agent 返回經(jīng)驗知識作為參考,那么轉(zhuǎn)到步驟(5),并且學(xué)習(xí)參考經(jīng)驗知識并保存,然后對本地知識庫進(jìn)行更新,提供給下次免疫答復(fù)。
實際的操作過程中,我們首先需要定義網(wǎng)絡(luò)狀態(tài)和實體,網(wǎng)絡(luò)故障具體表現(xiàn)在網(wǎng)絡(luò)實體的某些的屬性值的超出了允許的范圍,然后系統(tǒng)就可以獲取網(wǎng)絡(luò)運行時的信息,對這些信息進(jìn)行預(yù)處理,將其轉(zhuǎn)換成具體問題的求解,最后將此問題求解方案通過一定的形式轉(zhuǎn)化成免疫算子,用于生成種群中的個體。
傳統(tǒng)的網(wǎng)絡(luò)故障管理一般采用的是集中式的管理,但是隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,網(wǎng)絡(luò)變的越來越復(fù)雜,集中式管理的缺點也逐漸暴露。目前的集中式管理模式大多通過遠(yuǎn)程代理進(jìn)行網(wǎng)絡(luò)信息的檢測,這種模式必須由管理者發(fā)出消息,因此缺少自主性,而且容易造成網(wǎng)絡(luò)帶寬的閑置。
基于免疫Agent 的智能故障管理系統(tǒng),能較好的地解決這些缺點,擺脫了依賴管理員和遠(yuǎn)程代理進(jìn)行檢測的被動方式。移動Agent 能實現(xiàn)對本地網(wǎng)絡(luò)的主動檢測。另外,網(wǎng)絡(luò)故障管理中引入移動Agent 增強(qiáng)了故障診斷能力,能對故障進(jìn)行自動修復(fù)。若移動Agent 自身處理不了,立即將提取故障信息發(fā)送給系統(tǒng)管理agent,系統(tǒng)管理agent 會在最短的時間內(nèi)給出故障診斷結(jié)果,然后發(fā)送給移動Agent,進(jìn)行修復(fù)處理。
本文提出的基于免疫agent 的網(wǎng)絡(luò)故障管理智能化系統(tǒng),相對于傳統(tǒng)的網(wǎng)絡(luò)故障管理,具有更好的靈活性和主動性,具有更高的效率和決策能力。我們將免疫算法和Agent 結(jié)合運用到網(wǎng)絡(luò)故障管理中,可以對一些不完整的信息進(jìn)行處理,提高了網(wǎng)絡(luò)管理智能化水平,特別適合于分布式的大型復(fù)雜網(wǎng)絡(luò),能更好地、更快的發(fā)現(xiàn)解決了網(wǎng)絡(luò)中存在各種問題。
[1]王偉,蘆東昕,唐 英.基于專家系統(tǒng)的網(wǎng)絡(luò)故障管理系統(tǒng)的設(shè)計[J].計算機(jī)工程與設(shè)計,2005,26(11):3031-3033.
[2]王洪元,史國棟等.數(shù)據(jù)挖掘技術(shù)在故障診斷中的應(yīng)用[J].江蘇石油化工學(xué)院學(xué)報,2001,13(4):42-44.
[3]戴忠健,蘇利敏.基于遺傳算法的網(wǎng)絡(luò)故障診斷專家系統(tǒng)的設(shè)計與實現(xiàn)[J].北京理工大學(xué)學(xué)報,2005,25(1):38-40.
[4]劉韜,王耀才,王致杰.一種基于人工免疫系統(tǒng)的聚類算法[J].計算機(jī)工程與應(yīng)用,2004(19):82~84.
[5]王汝傳,徐小龍,黃海平.智能 agent 及其在信息網(wǎng)絡(luò)中的應(yīng)用[M].北京郵電大學(xué)出版社,2006.