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