《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 多主體智能故障管理模型在ACR中的應(yīng)用研究

多主體智能故障管理模型在ACR中的應(yīng)用研究

2008-06-10
作者:朱 玉,邢朝華,張 研

  摘 要: 研究了多主體智能故障管理模型的結(jié)構(gòu)及系統(tǒng)構(gòu)成并給出了模型功能的實(shí)現(xiàn)。
  關(guān)鍵詞: 主體 智能 故障管理 模型


  隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,網(wǎng)絡(luò)的維護(hù)和操作變得相當(dāng)復(fù)雜。如何保證網(wǎng)絡(luò)安全、穩(wěn)定和可靠地運(yùn)行,一直是網(wǎng)絡(luò)管理領(lǐng)域的熱門研究課題。
  故障管理是網(wǎng)絡(luò)管理體系結(jié)構(gòu)的一個(gè)重要組成部分,主要包括檢測、隔離、確定故障因素、糾正故障等功能。設(shè)立故障管理的目標(biāo)是提高網(wǎng)絡(luò)可用性,降低網(wǎng)絡(luò)停機(jī)次數(shù)并迅速修復(fù)故障。作為高速骨干網(wǎng)絡(luò)上運(yùn)行的T比特路由器,對它進(jìn)行故障管理,以便在路由器發(fā)生故障時(shí)及時(shí)進(jìn)行修復(fù),避免影響網(wǎng)絡(luò)的使用。
  大規(guī)模匯聚接入路由器(ACR)系統(tǒng)中包括多個(gè)設(shè)備,而各個(gè)設(shè)備又是相互關(guān)聯(lián)的,一個(gè)設(shè)備的故障同時(shí)可能會(huì)引起另外一個(gè)或多個(gè)設(shè)備故障的發(fā)生,從而可能會(huì)導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓。傳統(tǒng)的故障管理方法只能對單設(shè)備故障進(jìn)行有效的管理,對多設(shè)備的關(guān)聯(lián)故障不能及時(shí)地進(jìn)行診斷及恢復(fù),不能保證網(wǎng)絡(luò)的正常運(yùn)行。
1 與現(xiàn)有故障管理技術(shù)" title="故障管理技術(shù)">故障管理技術(shù)的比較
  目前,研究故障診斷" title="故障診斷">故障診斷的方法主要有兩種類型:專家系統(tǒng)方法和人工神經(jīng)網(wǎng)絡(luò)" title="人工神經(jīng)網(wǎng)絡(luò)">人工神經(jīng)網(wǎng)絡(luò)方法。專家系統(tǒng)是在宏觀功能上模擬人的知識(shí)推理能力,是以邏輯推理為基礎(chǔ)模擬人類思維的符號(hào)主義人工智能方法,它是基于邏輯演繹的,對知識(shí)的處理所模擬的是人的邏輯思維機(jī)制。人工神經(jīng)網(wǎng)絡(luò)則是在微觀上模擬人的認(rèn)識(shí)能力,是以連接結(jié)構(gòu)為基礎(chǔ),通過模擬人類大腦結(jié)構(gòu)來模擬人類形象思維,它是基于集體計(jì)算的,對知識(shí)的處理所模擬的是人的邏輯思維機(jī)制。智能故障管理的研究一般集中在專家系統(tǒng)上,然而它不能適應(yīng)新的或不完備的數(shù)據(jù),不能處理概率問題,這使它很難應(yīng)用于大型動(dòng)態(tài)網(wǎng)絡(luò)。
  現(xiàn)有的智能故障管理技術(shù)主要有以下三個(gè)缺點(diǎn):
  (1)目前智能故障管理的研究主要集中在專家系統(tǒng)上,不能適應(yīng)新的或不完備的數(shù)據(jù),很難應(yīng)用于大型動(dòng)態(tài)網(wǎng)絡(luò)。
  (2)故障診斷的專家系統(tǒng)主要采用一種技術(shù),實(shí)際應(yīng)用范圍較窄。
  (3)主要進(jìn)行故障診斷,不支持故障自動(dòng)恢復(fù)。
  主體(Agent)是指能在動(dòng)態(tài)的多" title="的多">的多Agent領(lǐng)域采取靈活、自治活動(dòng)的計(jì)算機(jī)實(shí)體,智能Agent是具有實(shí)時(shí)處理多維信息、相互作用和能有效傳遞信念、意圖等智能的自治的軟件實(shí)體。它具有智能性、自治性、靈活性、開放性、適應(yīng)性、協(xié)作性和推理機(jī)制等特性。
  智能Agent的內(nèi)部行為表現(xiàn)為:通信管理器接收外部環(huán)境的信息,由推理機(jī)根據(jù)這些信息和Agent狀態(tài),進(jìn)行分析和理解,形成與其他Agent相一致的協(xié)同工作方式,并按該方式及自身能力(知識(shí)水平等),執(zhí)行相關(guān)的動(dòng)作,形成Agent新的狀態(tài),由此而進(jìn)一步引起新的Agent推理活動(dòng)。智能Agent的活動(dòng)行為是主動(dòng)進(jìn)行的,Agent的推理機(jī)每隔一時(shí)間片都要檢測通信狀態(tài)和自身狀態(tài),以確定其推理活動(dòng)的趨勢。
  同傳統(tǒng)的故障管理技術(shù)相比,智能Agent故障管理模型具有下面三個(gè)優(yōu)點(diǎn):
  (1)將多Agent技術(shù)應(yīng)用于復(fù)雜故障診斷領(lǐng)域,對診斷任務(wù)辨識(shí)、分解,綜合利用各Agent的內(nèi)部診斷機(jī)制,通過各Agent間的交互、協(xié)作,對故障進(jìn)行診斷,使故障診斷技術(shù)能應(yīng)用于大型動(dòng)態(tài)網(wǎng)絡(luò)及各種復(fù)雜設(shè)備。
  (2)各診斷Agent間綜合利用多種智能故障技術(shù),以便能對多數(shù)故障進(jìn)行診斷。
  (3)通過故障診斷結(jié)果,增加故障恢復(fù)模塊,對故障進(jìn)行自動(dòng)恢復(fù)。
2 智能故障管理的模型
2.1 故障管理流程

  故障管理主要包括故障發(fā)現(xiàn)、故障診斷和故障恢復(fù)三個(gè)部分。故障管理的流程如圖1所示。


2.2 智能故障管理的自動(dòng)機(jī)模型
  智能故障管理的狀態(tài)機(jī)模型如圖2所示。


  模型用BNF形式化表示如下:
 ?。碱I(lǐng)域經(jīng)驗(yàn)知識(shí)>∷=<領(lǐng)域經(jīng)驗(yàn)知識(shí)頭><領(lǐng)域經(jīng)驗(yàn)知識(shí)體>
 ?。碱I(lǐng)域經(jīng)驗(yàn)知識(shí)頭>∷=<領(lǐng)域經(jīng)驗(yàn)知識(shí)名>[<經(jīng)驗(yàn)知識(shí)代碼>][<知識(shí)庫名>][<說明表>]
  <領(lǐng)域經(jīng)驗(yàn)知識(shí)體>∷=IF{<前提條件><運(yùn)算符>}+THEN<結(jié)論>
 ?。记疤釛l件>∷=項(xiàng)、變量或用戶定義的表達(dá)式名
 ?。歼\(yùn)算符>∷=AND|OR
  <結(jié)論>∷=表達(dá)式
  這一描述完全揭示了模型的三級(jí)信息形式,即模型的用戶視圖、概念結(jié)構(gòu)和可運(yùn)行實(shí)體。
3 智能Agent框架結(jié)構(gòu)
  依據(jù)智能Agent的內(nèi)部行為表現(xiàn),為完成故障的實(shí)時(shí)監(jiān)控、診斷及恢復(fù)功能,采用圖3所示的結(jié)構(gòu)來構(gòu)成智能Agent,內(nèi)部結(jié)構(gòu)采用統(tǒng)一模式來描述。


  通過上述定義可知,Agent是具有特定領(lǐng)域知識(shí)和問題求解能力,能自主工作和具有協(xié)作交互能力的智能實(shí)體,具有知識(shí)、模型和數(shù)據(jù)處理能力,基于Agen的語言L而進(jìn)行多Agent間復(fù)合問題求解規(guī)劃過程。Agent可由各Web節(jié)點(diǎn)組合而成,具有很好的可擴(kuò)展性和通用性。
4 智能Agent系統(tǒng)構(gòu)成
  模型結(jié)構(gòu)構(gòu)成如圖4所示。


  下面對結(jié)構(gòu)中的相關(guān)部分進(jìn)行簡要的介紹:
  (1)通信接口" title="通信接口">通信接口
  通信接口有兩個(gè)功能:輸入信息處理、系統(tǒng)輸出表示。主要功能是把輸入信息轉(zhuǎn)變?yōu)橄鄳?yīng)的知識(shí)查詢與操縱語言KQML(Knowledge Query and Manipulation Language)消息格式進(jìn)行發(fā)送,同時(shí)還負(fù)責(zé)顯示系統(tǒng)的處理結(jié)果或信息。通信接口的設(shè)計(jì)要注意應(yīng)用重用性。
  (2)信息獲取Agent
  故障信息管理不只是一個(gè)簡單的集中式數(shù)據(jù)庫和知識(shí)庫,而且信息的格式也可能不同,因此信息的獲取就顯得非常重要。信息獲取Agent封裝了信息的存取過程,通過KQML與外界交互信息,內(nèi)部采用JDBC、ODBC等方式存取信息。
  (3)任務(wù)管理Agent
  任務(wù)管理Agent主要包括信息預(yù)處理、任務(wù)分解及任務(wù)控制等。
  信息預(yù)處理主要是信息的過濾、分類和關(guān)聯(lián)。
  信息過濾,是指將采集到的故障信息根據(jù)定義的規(guī)則進(jìn)行過濾,去除無關(guān)的告警信息的動(dòng)作。廣義地,可以指從多個(gè)告警中過濾出少數(shù)告警的任何動(dòng)作。
  信息分類,是指將告警信息按照告警等級(jí)進(jìn)行分類,根據(jù)告警信息的等級(jí)及策略優(yōu)先級(jí)決定處理的順序。
  信息關(guān)聯(lián),是指從大量的告警信息中發(fā)現(xiàn)頻繁出現(xiàn)的項(xiàng)集模式知識(shí),通過剔除不必要和不相關(guān)的信息,提高信息的語義表達(dá),幫助找出產(chǎn)生事件的真正問題或條件。
  任務(wù)分解的原則是診斷子任務(wù)目標(biāo)明確,并且使子任務(wù)間的耦合盡量少,以簡化完成子任務(wù)的診斷Agent之間的協(xié)作和通信。一般來說,在高層(粗粒度上)多采用結(jié)構(gòu)分解,而底層(細(xì)粒度上)多采用故障分解,這與人們一般的診斷思路相一致。這種綜合分解可以一直進(jìn)行到設(shè)備某個(gè)基本結(jié)構(gòu)的一個(gè)明確的故障問題。這種目標(biāo)明確的診斷子任務(wù)稱為診斷活動(dòng)。診斷活動(dòng)與一般的診斷子任務(wù)的區(qū)別是診斷活動(dòng)包含明確的故障診斷操作。對診斷領(lǐng)域問題進(jìn)行分布式任務(wù)分解,將得到一個(gè)層次結(jié)構(gòu)清晰的診斷任務(wù)樹。
  當(dāng)某故障問題的診斷可能或必須通過多個(gè)診斷Agent協(xié)作完成時(shí),必須考慮多個(gè)診斷Agent間的協(xié)調(diào)與合作問題。對于某診斷任務(wù),各個(gè)診斷Agent具有不同的性能。因此須選擇耗費(fèi)系統(tǒng)資源最少、診斷效果最好的診斷Agent來完成診斷任務(wù)。這就是診斷Agent的協(xié)調(diào)問題。量化診斷Agent診斷性能是解決Agent間協(xié)調(diào)問題的關(guān)鍵。另外,對于復(fù)雜的故障論斷問題須基于多Agent的思想,將其分解并運(yùn)用多種故障診斷方法協(xié)同完成,這就是多診斷Agent間的使用問題。為了完成共同診斷任務(wù)而合作的診斷Agent的集體形成一個(gè)診斷Agent聯(lián)盟。這要求每個(gè)Agent對其他Agent的功能、效率有較詳細(xì)的了解。因此,在設(shè)計(jì)時(shí)要把其他Agent的資料放在Agent的數(shù)據(jù)庫內(nèi),并且Agent自身能夠根據(jù)實(shí)際情況對數(shù)據(jù)庫進(jìn)行修改,根據(jù)這些資料選擇合作對象。
  (4)診斷Agent
  診斷Agent實(shí)現(xiàn)各種具體的分析和診斷算法。包含F(xiàn)FTr Agent、小波分析Agent、時(shí)序模型Agent等分析方法以及神經(jīng)網(wǎng)絡(luò)Agent、遺傳算法Agent、專家系統(tǒng)Agent等智能診斷模型。診斷Agent同時(shí)對知識(shí)庫進(jìn)行管理。
  (5)用戶界面Agent
  用戶界面Agent的主要功能是代替?zhèn)鹘y(tǒng)智能決策系統(tǒng)中的問題與人機(jī)交互系統(tǒng)來與用戶進(jìn)行交互。它采用一種間接管理風(fēng)格。在基于該模型的系統(tǒng)中,用戶只需給出大概的指導(dǎo)即可以控制系統(tǒng)的運(yùn)行,而無須顯式地告訴計(jì)算機(jī)具體的行為。由于Agent本身具有面向目標(biāo)(即能夠展現(xiàn)出一種導(dǎo)向目標(biāo)的行為)和協(xié)作性(可協(xié)商)的特點(diǎn),因此它可以針對不同用戶進(jìn)行不同的處理。用戶界面Agent可以針對不同的用戶進(jìn)行個(gè)性化處理,從而能夠適應(yīng)于特定用戶的特定行為。當(dāng)它能夠確定用戶在某個(gè)特定的情況下將如何作出反應(yīng)時(shí),它就開始替代或者幫助用戶完成相應(yīng)的任務(wù)。
  (6)故障恢復(fù)Agent
  根據(jù)診斷Agent給出的診斷結(jié)果及方法對故障進(jìn)行恢復(fù),可通過自動(dòng)恢復(fù)腳本或POST方法實(shí)現(xiàn)。
  (7)系統(tǒng)功能的實(shí)現(xiàn)
  面向Agent的軟件機(jī)制是設(shè)計(jì)各應(yīng)用領(lǐng)域的多Agent的軟件技術(shù)基礎(chǔ),包括面向Agent的分布式軟件協(xié)議(CORBA、COM/DCOM)、Agent間的通信語言KQML、面向Agent的開發(fā)環(huán)境平臺(tái)以及面向Agent的程序設(shè)計(jì)(AOP)等。
  系統(tǒng)可采用CORBA來實(shí)現(xiàn)診斷Agent間的通信,CORBA的平臺(tái)無關(guān)性和語言無關(guān)性對多Agent智能故障診斷及恢復(fù)的實(shí)現(xiàn)至關(guān)重要,不考慮操作系統(tǒng)和編程語言的差異將大大減輕系統(tǒng)開發(fā)的工作量。
  KQML是用來實(shí)現(xiàn)各Agent交互的消息格式和消息處理協(xié)議。它使得Agent能夠和其他的Agent以及Agent所運(yùn)行的環(huán)境進(jìn)行知識(shí)和信息的交換。它提供了一套標(biāo)準(zhǔn)的Agent通信原語,從而使得使用這種語言的Agent之間都可以進(jìn)行交流和共享信息。KQML定義了一種Agent之間傳遞信息的標(biāo)準(zhǔn)語法和動(dòng)作。這些動(dòng)作主要是從Speech Act理論中演化出來的,例如tell、perform、reply等。雖然還有其他Agent通信語言,但為了保證系統(tǒng)將來的兼容性,故選擇KQML作為通信語言。另外,KQML與Agent間的具體通信方式(如采用的協(xié)議和網(wǎng)絡(luò)的具體形式)無關(guān),所以KQML可以有很多種實(shí)現(xiàn)方法(如通過TCP/IP或電子郵件實(shí)現(xiàn))。
  故障診斷Agent的知識(shí)庫建立和維護(hù)采用Visual Prolog開發(fā)平臺(tái),系統(tǒng)的知識(shí)庫主要是通過人工方式建立的,故障診斷Agent可對知識(shí)庫進(jìn)行修改和添加。
  在傳統(tǒng)智能故障管理的基礎(chǔ)上,結(jié)合Agent技術(shù),提出了多Agent智能故障管理模型,并給出了其實(shí)現(xiàn)方法。該方法克服了傳統(tǒng)故障管理方法的許多不足,大大提高了大規(guī)模匯聚接入路由器的設(shè)備及網(wǎng)絡(luò)的性能,保證了網(wǎng)絡(luò)的正常運(yùn)行。
參考文獻(xiàn)
1 聶勤務(wù).分布式智能故障診斷模型的MAS實(shí)現(xiàn)研究[J].計(jì)算機(jī)工程與應(yīng)用,2004;(30)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。