專利名稱:網(wǎng)絡(luò)故障實時相關(guān)性分析方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,具體涉及一種網(wǎng)絡(luò)管理中基于領(lǐng)域綜合信息對網(wǎng)絡(luò)故障事件進(jìn)行實時相關(guān)性分析的方法及系統(tǒng)。
背景技術(shù):
在計算機(jī)和通信網(wǎng)絡(luò)中,當(dāng)某個設(shè)備或者服務(wù)發(fā)生故障時,會因為設(shè)備、服務(wù)和業(yè)務(wù)之間緊密聯(lián)系而引起一系列網(wǎng)絡(luò)事件,負(fù)責(zé)監(jiān)控該網(wǎng)絡(luò)的網(wǎng)絡(luò)管理系統(tǒng)通過設(shè)備發(fā)來的事件通知或者網(wǎng)管系統(tǒng)的輪詢監(jiān)控,會發(fā)現(xiàn)大量的異常事件,并通過SNMP Trap、Syslog或者Indication反映到網(wǎng)絡(luò)管理員的管理界面上,從而表現(xiàn)為“網(wǎng)絡(luò)故障風(fēng)暴”。由于這種故障風(fēng)暴往往在很短的時間內(nèi)導(dǎo)致大量的事件,淹沒了最根本的故障事件,讓管理員難以從中發(fā)現(xiàn)故障發(fā)生的真正原因,要解決故障,就需要從中分析出最根本的故障原因,也就是分析這些事件之間的相關(guān)性,尋求根源事件。為了進(jìn)行事件相關(guān)性分析,業(yè)界發(fā)展出幾種典型的方法如基于規(guī)則的分析(Rule Based Reasoning)、基于模型的分析(ModelBased Reasoning)、基于狀態(tài)轉(zhuǎn)移圖(State Transition Graph)的分析、基于代碼簿(CodeBook)的分析及基于案例的分析(Case-Based Reasoning),這些方法都能在一定程度上解決故障相關(guān)性分析的問題,并且各有優(yōu)點。但是這些方法均無法完全解決以下問題(1)無法動態(tài)的考慮網(wǎng)絡(luò)拓?fù)溥B結(jié)信息;(2)無選擇的處理所有的輸入事件,效率難以提高,資源消耗大;(3)推理過程過于依賴預(yù)設(shè)規(guī)則、特征表或模型,缺乏自動學(xué)習(xí)能力,缺少對知識庫以外的新情況的適應(yīng)能力和處理能力;(4)在固定的時間范圍內(nèi)觀察事件序列,不能動態(tài)的改變關(guān)聯(lián)分析的時間范圍;(5)在分析過程中缺少對條件概率和時間因素的考慮;(6)不能在基于靜態(tài)信息的分析過程中結(jié)合實時獲取的網(wǎng)絡(luò)運行參數(shù)。
發(fā)明內(nèi)容
本發(fā)明提供一種基于領(lǐng)域綜合信息對網(wǎng)絡(luò)故障事件進(jìn)行實時相關(guān)性分析的方法及系統(tǒng),克服了現(xiàn)有的故障關(guān)聯(lián)分析方法中忽視動態(tài)網(wǎng)絡(luò)狀態(tài)信息、推理過程過于依賴預(yù)設(shè)規(guī)則和缺乏自動學(xué)習(xí)能力等不足,可有效的識別故障源頭的關(guān)鍵事件并將其在網(wǎng)絡(luò)中定位。
本發(fā)明的技術(shù)內(nèi)容一種網(wǎng)絡(luò)故障實時相關(guān)性分析方法,包括(1)事件提取接口采集網(wǎng)絡(luò)中產(chǎn)生的各種故障事件,并寫入原始事件列表中;(2)從原始事件列表中讀取一條事件,通過歷史故障情景信息進(jìn)行事件匹配,對網(wǎng)絡(luò)設(shè)備、服務(wù)運行參數(shù)進(jìn)行實時檢測;(3)如果未有匹配事件,基于信息模型、拓?fù)湟蕾囮P(guān)系選取出與當(dāng)前處理的事件相關(guān)的網(wǎng)絡(luò)對象進(jìn)行實時檢測,并將實時檢測的結(jié)果作為條件應(yīng)用回推理過程中;(4)返回原始事件列表繼續(xù)查找與當(dāng)前處理事件相關(guān)的事件或者與實時檢測結(jié)果吻合的事件,并將該事件加入到工作列表中;(5)在原始事件列表中已經(jīng)沒有其他可以加入工作列表的事件,則從工作列表中的事件構(gòu)造一個新的故障情景并加入到歷史故障情景信息中,清空工作列表;(6)從原始事件列表中讀取下一個符合選擇策略的事件,返回到第二步,如果沒有事件在列表中,則掛起等待有事件輸入。
所述的信息模型包括(1)對被管理網(wǎng)絡(luò)中的各種被管理對象進(jìn)行面向?qū)ο蟪橄螅?2)按照抽象后的被管理類之間的繼承關(guān)系組成一個層次化的信息模型;(3)在信息模型中用關(guān)聯(lián)類定義被管理類之間的相互關(guān)系。所述拓?fù)湟蕾囮P(guān)系包括(1)在網(wǎng)絡(luò)運行中保持拓?fù)湟蕾囮P(guān)系與網(wǎng)絡(luò)實際拓?fù)涞囊恢拢?2)將故障相關(guān)性分析程序運行的網(wǎng)絡(luò)節(jié)點設(shè)為參考點;(3)通過參考點計算到達(dá)其他各個節(jié)點的可達(dá)性依賴關(guān)系。
(4)利用來自設(shè)備的拓?fù)涓淖兊耐ǜ嬗|發(fā)拓?fù)渫匠绦蛴勺钚碌耐負(fù)渲匦掠嬎阃負(fù)湟蕾囮P(guān)系;
所述推理過程包括(1)為每一步推理賦予一個置信概率,并通過計算每步的概率得出最后分析結(jié)果的概率;(2)在故障情景創(chuàng)建中定義時間約束函數(shù)來描述事件的時間特性以及相關(guān)聯(lián)的事件之間的時間關(guān)系;(3)用形式化方法進(jìn)行告警內(nèi)容的表示和匹配。
將歷史故障情景信息構(gòu)造為一張便于快速查詢的故障情景表。
所述原始故障事件采集進(jìn)一步包括(1)在處理不同的事件類型時,按照預(yù)定規(guī)則動態(tài)改變原始事件隊列的長度;(2)按照事件級別和用戶定義規(guī)則來決定哪些事件作為相關(guān)性分析的起始點;(3)對原始事件進(jìn)行預(yù)處理,針對不同協(xié)議的故障事件提供可擴(kuò)展的事件獲取接口,將它們轉(zhuǎn)化為統(tǒng)一的內(nèi)部格式并過濾。
所述構(gòu)造新的故障情景包括(1)提取故障特征參數(shù);(2)提取故障傳播路徑;(3)利用故障特征參數(shù)和傳播路徑構(gòu)造新的故障解決情景。
一種網(wǎng)絡(luò)故障實時相關(guān)性分析系統(tǒng),包括分析控制引擎用于按照分析控制引擎算法調(diào)用其他模塊和接口來完成故障相關(guān)性分析;事件提取接口用于接收網(wǎng)絡(luò)設(shè)備發(fā)來的各種網(wǎng)絡(luò)事件,將事件轉(zhuǎn)化為統(tǒng)一的格式,寫入原始事件列表,供分析控制引擎調(diào)用;實時網(wǎng)絡(luò)參數(shù)檢測接口用于檢測網(wǎng)絡(luò)中各種設(shè)備和服務(wù)的屬性、性能和可達(dá)性等實時信息,被分析控制引擎所調(diào)用,接受故障分析引擎的參數(shù)以決定對哪個網(wǎng)絡(luò)設(shè)備進(jìn)行實時檢測,并將結(jié)果返回給分析控制引擎;信息模型描述一系列對應(yīng)于網(wǎng)絡(luò)協(xié)議對象和設(shè)備對象的管理類,以及它們之間的相互依賴關(guān)系;信息模型查詢接口用于從信息模型中查詢管理類、管理類屬性和管理類之間關(guān)系的函數(shù),在運行時為分析控制引擎提供來自信息模型的信息;拓?fù)渫侥K用于被網(wǎng)絡(luò)拓?fù)涓淖兪录|發(fā)運行拓?fù)湟蕾囮P(guān)系生成算法,生成正確反映當(dāng)前網(wǎng)絡(luò)拓?fù)溥B結(jié)關(guān)系的拓?fù)湟蕾囮P(guān)系并存入拓?fù)湟蕾囮P(guān)系庫,拓?fù)湟蕾囮P(guān)系庫為分析控制引擎提供相關(guān)信息;故障情景表生成模塊用于在已經(jīng)找到相關(guān)性的一組事件上建立一個故障情景,并將此情景存入故障情景表中,通過故障情景表與后續(xù)的事件進(jìn)行匹配。
所述信息模型以散列表文件方式存儲,分析控制引擎在分析過程中通過模型查詢接口提取信息模型的信息。
進(jìn)一步包括預(yù)處理模塊按照預(yù)定的預(yù)處理規(guī)則對接收到的原始事件進(jìn)行預(yù)先處理。
本發(fā)明的技術(shù)效果充分利用了網(wǎng)絡(luò)中各種動態(tài)和靜態(tài)信息,實時信息和歷史信息,在網(wǎng)絡(luò)出現(xiàn)故障時,從復(fù)雜的故障現(xiàn)象及其引起的事件風(fēng)暴中,有效的識別故障源頭的關(guān)鍵事件并將其在網(wǎng)絡(luò)中定位;此外,因為在分析中應(yīng)用了與實際網(wǎng)絡(luò)拓?fù)錉顩r同步的拓?fù)湟蕾囮P(guān)系,以及實時獲取的網(wǎng)絡(luò)運行參數(shù),提高了故障定位的準(zhǔn)確性;通過對原始輸入事件進(jìn)行預(yù)處理(包括協(xié)議格式轉(zhuǎn)換、過濾和選擇),避免了從所有輸入的事件入手進(jìn)行相關(guān)性分析,提高了處理效率;利用構(gòu)造故障處理歷史情景表,使本方法具有了從歷史經(jīng)驗中自我學(xué)習(xí)的能力,而且用情景表對事件進(jìn)行快速匹配,使得有的事件可以直接在情景表中得到匹配,從而避免了對所有的事件都進(jìn)行全過程的相關(guān)性分析,處理效率得到提高;且由于在分析算法中應(yīng)用概率邏輯和時間約束函數(shù)、正則表達(dá)式模糊匹配,能夠更加靈活的處理事件之間的復(fù)雜關(guān)系,提高了相關(guān)性分析的適用能力。
圖1是本發(fā)明網(wǎng)絡(luò)故障實時相關(guān)性分析系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明網(wǎng)絡(luò)故障實時相關(guān)性分析方法的流程圖;圖3是本發(fā)明網(wǎng)絡(luò)故障實時相關(guān)性分析方法的拓?fù)湟蕾嚿伤惴鞒虉D;圖4是本發(fā)明網(wǎng)絡(luò)故障實時相關(guān)性分析方法的一個具體實施例的網(wǎng)絡(luò)示意圖;圖5是本發(fā)明網(wǎng)絡(luò)故障實時相關(guān)性分析方法的一個具體實施例中的信息模型的示意圖。
具體實施例方式
參考圖1,本發(fā)明以分析控制引擎為控制模塊,通過與信息模型查詢接口,事件提取接口和預(yù)處理模塊、實時網(wǎng)絡(luò)參數(shù)檢測接口、故障情景表生成模塊、拓?fù)渫侥K的交互來實施網(wǎng)絡(luò)故障實時相關(guān)性分析。具體步驟為1、事件提取接口以不同的協(xié)議(SNMP/SYSLOG等)提取來自各種網(wǎng)絡(luò)設(shè)備和業(yè)務(wù)對象的故障事件信息,并將它們的格式轉(zhuǎn)化為統(tǒng)一的內(nèi)部格式,然后通過事件預(yù)處理模塊,對這些事件信息進(jìn)行壓縮、過濾(按照預(yù)設(shè)的過濾器),寫入原始事件列表中;通過對原始事件進(jìn)行預(yù)處理,可有效提高處理效果;2、分析控制引擎從原始事件列表中按照原始事件級別和類型選擇性讀取一條事件進(jìn)行相關(guān)性分析;在分析過程中綜合應(yīng)用故障情景表、信息模型信息、實時檢測信息和拓?fù)湫畔?,在分析過程中會按照需要繼續(xù)從原始事件列表中讀取事件來構(gòu)造事件傳播路徑,直到無法再找到下一個可以匹配的事件為止;(1)將歷史故障情景信息構(gòu)造為一張便于快速查詢的故障情景表。在情景表中可進(jìn)行事件的快速匹配;(2)構(gòu)造面向?qū)ο蟮膶哟位W(wǎng)絡(luò)信息模型對網(wǎng)路中的硬件、鏈路、軟件和網(wǎng)絡(luò)服務(wù)等被管理對象進(jìn)行面向?qū)ο蟪橄?,按照這些抽象后的管理類之間的繼承關(guān)系組織成為一個層次化的信息模型。在此模型中同時用關(guān)聯(lián)類定義了被管理類之間的包含、依賴、連結(jié)等相互關(guān)系。模型以散列表(Hash)文件方式存儲,可通過模型對象管理接口訪問,利用模型定義的管理類的層次和相互依賴關(guān)系來進(jìn)行推導(dǎo);在信息模型中描述了一系列對應(yīng)于網(wǎng)絡(luò)協(xié)議對象和設(shè)備對象的管理類,以及它們之間各種各樣的關(guān)系。信息模型中定義的管理類可以分為拓?fù)渥幽P?、開放服務(wù)子模型和網(wǎng)絡(luò)通信子模型三個大類。
以下用開放服務(wù)系統(tǒng)子模型作為例子來介紹管理類的定義開放服務(wù)系統(tǒng)子模型主要用于描述數(shù)據(jù)通信網(wǎng)絡(luò)中的各個節(jié)點設(shè)備及其內(nèi)部各個模塊,它將一切提供數(shù)據(jù)傳輸服務(wù)或者數(shù)據(jù)處理服務(wù)的網(wǎng)絡(luò)節(jié)點抽象為一個開放的服務(wù)系統(tǒng),由軟件、硬件按照一種可擴(kuò)展和剪裁的方式進(jìn)行組合構(gòu)成不同的系統(tǒng),其中管理類為a、開放服務(wù)系統(tǒng)(Open Service System)代表一切在數(shù)據(jù)通信網(wǎng)絡(luò)上提供各層數(shù)據(jù)服務(wù)的系統(tǒng);包括路由器、交換機(jī)或者服務(wù)器等;b、軟件(software)開放服務(wù)系統(tǒng)中通過軟件實現(xiàn)的功能模塊;c、硬件(hardware)開放服務(wù)系統(tǒng)中通過硬件和固件實現(xiàn)的功能模塊;d、應(yīng)用(application)各種應(yīng)用程序,如郵件客戶端;e、操作系統(tǒng)(os)各種實時和分時操作系統(tǒng);如VxWorks,Windows,Unix,Linux等;f、資源(resource)系統(tǒng)中基本的共享對象如內(nèi)存、磁盤、CPU、中斷等;g、設(shè)備(device)組成硬件的各個模塊;h、服務(wù)(service)i、協(xié)議棧(protocol stack)j、內(nèi)核(kernel)k、驅(qū)動(driver)l、內(nèi)存(memory)m、硬盤(harddisk)n、中央處理器(cpu)o、總線(bus)p、適配器(adapter)q、網(wǎng)絡(luò)適配器(network adapter)u、控制器(controller)在該信息模型中存在管理類之間的各種依賴關(guān)系,如協(xié)議依賴關(guān)系、開發(fā)服務(wù)依賴關(guān)系等。
(3)實時檢測將推理過程和對網(wǎng)絡(luò)設(shè)備、服務(wù)運行參數(shù)的實時檢測結(jié)合起來。
(4)基于指定參考點進(jìn)行拓?fù)湟蕾囮P(guān)系實時計算將故障相關(guān)性分析程序運行的網(wǎng)絡(luò)節(jié)點設(shè)為參考點,在此基礎(chǔ)上計算到達(dá)其他各個節(jié)點的可達(dá)性依賴關(guān)系,并在網(wǎng)絡(luò)運行中保持與網(wǎng)絡(luò)拓?fù)涞耐?;拓?fù)湟蕾囮P(guān)系描述了節(jié)點和節(jié)點之間的物理性連結(jié),是協(xié)議互通性和服務(wù)可用性的基礎(chǔ)。其中參考點,指當(dāng)我們考慮到拓?fù)鋱D中某個節(jié)點的可達(dá)性時,作為出發(fā)點的那一節(jié)點,在實際的被管網(wǎng)絡(luò)中,往往就是網(wǎng)管平臺所處的節(jié)點,或者是網(wǎng)絡(luò)探測器(軟件或硬件)所處的節(jié)點位置。參考圖3,建立依賴關(guān)系是一個遞歸算法,每次拓?fù)浒l(fā)生改變后,都會觸發(fā)自動運行算法,更新依賴依賴關(guān)系,保證當(dāng)前故障定位和關(guān)聯(lián)的準(zhǔn)確性,從而達(dá)到下一步需要檢測的可能關(guān)聯(lián)的網(wǎng)絡(luò)實例對象的集合。
(5)在控制分析引擎內(nèi)部完成相關(guān)性分析方法最核心的邏輯,參考圖2,a、從列表中讀取一個事件Ei(i=1~n),在情景表中用該事件進(jìn)行匹配,看是否有跟該事件相關(guān)的故障歷史情景(該故障情景的特征事件與該事件匹配),對每一個符合的情景,按照步驟(b)處理;b、調(diào)用實時檢測模塊,對該情境中的相關(guān)對象類的相關(guān)實例(同時考慮與該事件產(chǎn)生節(jié)點相關(guān)的拓?fù)湟蕾嚨墓?jié)點)進(jìn)行實時狀態(tài)檢測,看返回結(jié)果是否符合情景描述的特征范圍;然后再到原始事件列表中搜索有沒有相關(guān)實例產(chǎn)生的后繼事件,看是否符合情景定義的特征;如果以上檢查通過,則標(biāo)記這些相關(guān)的事件并調(diào)用輸出模塊格式化輸出分析結(jié)果;c、如果(b)中檢測不符合,則調(diào)用模型查詢接口,在網(wǎng)絡(luò)信息模型中查詢與產(chǎn)生該事件的對象對應(yīng)的管理類;同時考慮與該事件產(chǎn)生節(jié)點相關(guān)的拓?fù)湟蕾嚨墓?jié)點,得到下一步需要檢測的可能相關(guān)的網(wǎng)絡(luò)實例對象的集合;d、調(diào)用實時檢測模塊檢測這些對象的當(dāng)前狀態(tài)是否符合星系模型中定義的關(guān)系所描述的特征范圍,然后檢查在原始事件列表中是否有這些對象發(fā)出的相關(guān)事件,如果有,則將這些事件加入到工作事件列表,轉(zhuǎn)步驟(e);如果以上檢測不通過,則檢查工作事件列表是否為空,如果為空轉(zhuǎn)步驟(e)如果不為空,則調(diào)用故障情景構(gòu)造模塊為這些事件構(gòu)造新的故障情景并加入到故障情景表中,同時清空工作事件列表;然后再標(biāo)記和移除這些事件并格式化輸出分析結(jié)果,轉(zhuǎn)步驟(e);e、從原始事件列表中讀取下一個符合選擇策略的事件,然后轉(zhuǎn)步驟(a),如果沒有事件在列表中,則掛起等待有事件輸入;其中,在上述步驟提及的匹配和實時狀態(tài)檢測的推理過程包括基于概率的規(guī)則推理為每一步推理賦予一個置信概率,并通過計算每步的概率得出最后分析結(jié)果的概率;對時間約束因素的處理在故障情景創(chuàng)建中定義時間約束函數(shù)來描述事件的時間特性以及相關(guān)聯(lián)的事件之間的時間關(guān)系;用正則表達(dá)式進(jìn)行告警內(nèi)容的模糊匹配。
3、當(dāng)完成一遍相關(guān)性分析后(完成對當(dāng)前事件列表中所有事件的掃描),為本遍分析中關(guān)聯(lián)到一起的事件構(gòu)造故障情景并加入到故障情景表,然后將這些事件移出原始事件列表并構(gòu)造輸出分析結(jié)果;4、在與分析控制引擎進(jìn)行以上工作的同時,事件采集模塊(包括事件采集接口和事件預(yù)處理模塊)還在同步的向原始事件列表中寫入新接收到的事件,拓?fù)渫侥K也同時監(jiān)控網(wǎng)絡(luò)拓?fù)涞淖兓?,隨時刷新網(wǎng)絡(luò)拓?fù)湟蕾囮P(guān)系庫;如果原始事件列表中沒有事件了,分析控制引擎將掛起,等待有新的事件寫入;事件預(yù)處理模塊將新的事件寫入原始事件列表時,如果發(fā)現(xiàn)分析控制引擎掛起,將喚醒該進(jìn)程。
具體采用一個局域網(wǎng)的例子說明,參考圖4,其中A,C,D是局域網(wǎng)中運行Linux操作系統(tǒng)的主機(jī),S是一臺三層交換機(jī),R是一臺連接此局域網(wǎng)與Web服務(wù)器的路由器,也是此局域網(wǎng)的網(wǎng)關(guān)。A、C直接與S相連,D直接與R相連,RP是一臺運行Windows的PC,也是我們執(zhí)行相關(guān)性分析的參考點,相關(guān)性分析系統(tǒng)就運行在這臺主機(jī)上。
首先,參考圖5,本實施例采用一個簡化的信息模型,在此網(wǎng)絡(luò)中主機(jī)A,C,D,RP,路由器R,交換機(jī)S都可以被看作是開放服務(wù)系統(tǒng),每個開放服務(wù)系統(tǒng)包含了一個協(xié)議棧,協(xié)議棧負(fù)責(zé)完成應(yīng)用與網(wǎng)絡(luò)上其他開放服務(wù)系統(tǒng)中對等實體間的通信。數(shù)據(jù)向下流經(jīng)應(yīng)用、操作系統(tǒng)、協(xié)議、接口,然后進(jìn)入物理網(wǎng)絡(luò),經(jīng)過二層轉(zhuǎn)發(fā)和三層路由到達(dá)另一個開放服務(wù)系統(tǒng),向上經(jīng)過接口、協(xié)議、操作系統(tǒng)直到另一端的應(yīng)用。
1)信息模型實例化以上的模型將在實際的網(wǎng)絡(luò)環(huán)境中生成一些對應(yīng)于以上模型實體的實例如路由器R上的應(yīng)用,我們將其命名為Application_R,R上的操作系統(tǒng),命名為OS_R,與此類推,我們得到其他實例Protocols_R,Interface_R;同樣對于主機(jī)A,我們得到Application_A,Service_A,OS_A,Protocols_A,Interface_A;對于主機(jī)C,我們得到Application_C,Service_B,OS_C,Protocols_C,Interface_C;
對于主機(jī)D,我們得到Application_D,Service_D,OS_D,Protocols_D,Interface_D;而且存在以下依賴關(guān)系A(chǔ)pplication->Service;Service->OS;OS->Protocols;Protocols->Interface;(注意這是一個簡化的模型);假設(shè)模型中有定義web_browse_in_url->DNS service;X.interface.fail等價于X.down;2)拓?fù)湟蕾囮P(guān)系生成對于圖4所示的網(wǎng)絡(luò),網(wǎng)絡(luò)管理平臺將通過自動發(fā)現(xiàn)得到其拓?fù)鋽?shù)據(jù),然后運行拓?fù)湟蕾囮P(guān)系生成算法,(以RP為參考點)得到以下拓?fù)湟蕾囮P(guān)系集合RD={A->S,C->S,S->R,D->R,Intemet->R,R->RP}其中’X->Y’的含義可以解釋為“要訪問X,必須先經(jīng)過Y”;R->RP表示R是與參考點RP直接相連的網(wǎng)絡(luò)節(jié)點;當(dāng)網(wǎng)絡(luò)拓?fù)浠騾⒖键c發(fā)生改變時,該算法自動更新依賴關(guān)系,從而保持依賴關(guān)系能夠反映實際的網(wǎng)絡(luò)運行狀況。
3)事件提取接口開始接收網(wǎng)絡(luò)中產(chǎn)生的各種事件。
假設(shè)在主機(jī)A上運行了一個DNS服務(wù)(可以看作一個服務(wù)),而在主機(jī)D上有個程序在不斷的訪問Web服務(wù)器上的主頁www.harboumetworks.com,可以將其看作一個Applicaion,我們命名為web_browse_in_url。
假設(shè)在某個時刻,事件提取接口從各個主機(jī)的SNMP代理接收到以下事件,這事件被格式化后表示如下<pre listing-type="program-listing"> { E0=RP.ping.S.failt0,表示t0時刻從RP上無法ping到交換機(jī)S, E1=RP.ping.C.failt1,表示t1時刻從RP上無法ping到主機(jī)C, E2=RP.ping.C.failt2,表示t2時刻從RP上無法ping到主機(jī)C, E3=D.web_browse_in_url.Web_Server.failt3表示t3時刻主機(jī)D上無法訪問Web服務(wù)器。<!-- SIPO <DP n="9"> --><dp n="d9"/> E4=RP.ping.A.failt4,表示t4時刻從RP上無法ping到主機(jī)A, E5=RP.ping.A.failt5,表示t5時刻從RP上無法ping到主機(jī)A, E6=R.downt6,表示t6時刻R失效, E7=RP.web_browse_in_url.web_server.failt7表示t7時刻主機(jī)RP上無法訪問Web服務(wù)器?! 8=R.upt8,表示t8時刻R恢復(fù)工作, }</pre>4)E0...E4隨后被送給預(yù)處理模塊處理后,得到壓縮后的原始事件集合,注意這里過濾了重復(fù)的事件(E2,E5)和故障狀態(tài)已經(jīng)解除的成對事件(E6,E8);{E0=RP.ping.S.failt0,表示t0時刻從RP上無法ping到交換機(jī)S,E1=RP.ping.C.failt1,表示t1時刻從RP上無法ping到主機(jī)C,E3=D.web_browse_in_url.Web_server.failt3表示t3時刻主機(jī)D上無法訪問Web服務(wù)器。
E4=RP.ping.A.failt4,表示t4時刻從RP上無法ping到主機(jī)A,E7=RP.web_browse_in_url.Web_Server.failt7表示t7時刻主機(jī)RP上無法訪問Web服務(wù)器。
}5)利用領(lǐng)域綜合信息對通信網(wǎng)絡(luò)中的故障事件進(jìn)行實時相關(guān)性分析(a)分析控制引擎從原始事件列表中讀取一條事件E0=RP.ping_S.failt0;從中解析出節(jié)點對象源節(jié)點RP,目的節(jié)點S,應(yīng)用對象RP.ping,ping屬于Applications;應(yīng)用對象狀態(tài)fail;將E0標(biāo)記并加入工作事件列表;(b)打開并查詢情景表中有無與RP,S,ping相關(guān)的情景,發(fā)現(xiàn)情景表為空(系統(tǒng)第一次初始化,還沒有加入新的情景),關(guān)閉情景表;(c)調(diào)用信息模型查詢接口,查詢ping(Application),得到關(guān)系A(chǔ)pplications->Services,Services->Protocols,Protocols->Interface;再查詢拓?fù)湟蕾囮P(guān)系庫,得到R->RP,S->R;(d)調(diào)用網(wǎng)絡(luò)狀態(tài)實時檢測接口,檢查S.Interface,發(fā)現(xiàn)S.Interface狀態(tài)為fail,則根據(jù)依賴關(guān)系可以推斷出以下結(jié)果S.Interface.fail==S.down;S.down=>A.down and C.down;A.down==A.Interface.fail=>A.application.fail and A.services.failC.down==C.Interface.fail=>C.application.fail and C.services.fail;A.services.fail=>A.DNS.fail=>*.browse_web_in_url.fail(e)從E1開始檢查原始事件列表。讀取E1E1=RP.ping.C.failt1,從中解析出節(jié)點對象源節(jié)點RP,目的節(jié)點C,應(yīng)用對象RP.ping,ping屬于Applications;應(yīng)用對象狀態(tài)fail;ping屬于application,要求RP和C,以及拓?fù)湟蕾嚨腟,R上的applications,services,protocols,interface均保持正常,則S.down,C.down均可推出E1,所以E1被關(guān)聯(lián)上,分析引擎將E1標(biāo)記并加入到工作事件列表中;繼續(xù)往下讀取E3E3=D.web_browse_in_url.Web_server.failt3解析得到節(jié)點對象D,Web_server;應(yīng)用對象web_browse_in_url;應(yīng)用對象狀態(tài)fail;根據(jù)前面得到的A.services.fail=>A.DNS.fail=>*.browse_web_in_url.fail,可以得出E3也是E1的相關(guān)事件,于是E3被標(biāo)記并加入到工作事件列表中。
同理,可以分析出E4和E7都是E1的相關(guān)事件,于是標(biāo)記該事件被加入到工作列表。
(f)發(fā)現(xiàn)原始事件列表中已經(jīng)沒有未標(biāo)記的事件,則調(diào)用輸出模塊對原始事件列表進(jìn)行格式化輸出
輸出告警<pre listing-type="program-listing"> Alarm1= { CauseRP.ping.S.failt0 Affects [ RP.ping.C.failt1 D.web_browse_in_url.Web_server.failt3 RP.ping.A.failt4 RP.web_browse_in_url.Web_Server.failt7 ] }</pre>(g)利用故障特征參數(shù)和故障傳播路徑為這些事件構(gòu)造新的故障解決情景ScenelS.down=>{A.down and C.down and*.web_browse_in_url.fail}并加入到故障情景表中。
(h)清空工作事件列表;從原始事件列表中移除這些事件。
(j)如果此時有新的事件加入到原始事件引擎則轉(zhuǎn)(3),否則掛起,等待新的事件輸入;(k)假設(shè)有新的事件來到E9=D.web_browse_in_url.Web_Server.failt9E10=A.downt10;(l)事件分析引擎讀取E9,在事件情景表中查詢,發(fā)現(xiàn)在Scene1中有*.web_browse_in_url.fail這個事件特征模式與之匹配,將E9加入到工作事件列表中,繼續(xù)查看在原始事件列表中是否有特征事件A.down和C.down,讀取到E10,滿足A.down,將E10加入工作事件列表;這時候列表中沒有其他的事件了,還余下一個特征C.down需要被證實,于是調(diào)用實時檢測接口,檢測發(fā)現(xiàn)C.down=true;于是情景得到匹配,直接得出結(jié)果S.down。以下同(1)描述的步驟。
在上一步中,如果對C的實時檢測結(jié)果C.down=false;則上述情景不能完全被置信,可以給予一個置信概率。表示還可能有其他的原因。
通過運用領(lǐng)域綜合信息,包括基于網(wǎng)絡(luò)信息模型的管理對象層次信息及相互關(guān)系、自動學(xué)習(xí)的故障處理歷史信息、實時采集的網(wǎng)絡(luò)運行參數(shù)、網(wǎng)絡(luò)動態(tài)拓?fù)湫畔?、事件時間特征等,并在推理過程中運用動態(tài)分析方法,較好解決了在復(fù)雜網(wǎng)絡(luò)環(huán)境中的故障相關(guān)性分析問題。
參考圖1,本發(fā)明網(wǎng)絡(luò)故障實時相關(guān)性分析系統(tǒng),包括分析控制引擎分析過程的主要控制邏輯執(zhí)行者,用于按照分析控制引擎算法調(diào)用其他模塊和接口來完成故障相關(guān)性分析;信息模型描述了一系列對應(yīng)于網(wǎng)絡(luò)協(xié)議對象和設(shè)備對象的管理類,以及它們之間各種各樣的關(guān)系,信息模型中定義的管理類可以分為拓?fù)渥幽P?、開放服務(wù)子模型和網(wǎng)絡(luò)通信子模型三個大類;信息模型查詢接口用于從信息模型中查詢管理類、管理類屬性和管理類之間關(guān)系的函數(shù),在運行時為分析控制引擎提供來自信息模型的信息;事件提取接口用于接收網(wǎng)絡(luò)設(shè)備發(fā)來的各種網(wǎng)絡(luò)事件,包括SNMPTRAP、SYSLOG、CMIP Event Report等各種協(xié)議的事件通告,將該事件轉(zhuǎn)化為統(tǒng)一的格式,并交給預(yù)處理模塊;預(yù)處理模塊用于對接收到的原始事件進(jìn)行簡單的過濾(按照設(shè)定的規(guī)則去除一些管理人員無需關(guān)心的事件)、壓縮(去除重復(fù)的事件)、重定義(把一個或多個事件重新定義為一個新的事件)等預(yù)先處理,有利于相關(guān)性分析;實時網(wǎng)絡(luò)參數(shù)檢測接口用于檢測網(wǎng)絡(luò)中各種設(shè)備和服務(wù)的屬性、性能和可達(dá)性等實時信息,被故障分析引擎所調(diào)用,接受故障分析引擎的參數(shù)以決定對哪個網(wǎng)絡(luò)設(shè)備進(jìn)行實時檢測,并將結(jié)果返回給故障分析引擎;故障情景表生成模塊用于在已經(jīng)找到相關(guān)性的一組事件上建立一個故障情景,并將此情景存入故障情景表中,這些建立的故障情景供后續(xù)分析快速查找使用,建立的故障情景可供后續(xù)分析快速查找并使用;拓?fù)渫侥K用于被網(wǎng)絡(luò)拓?fù)涓淖兪录|發(fā)運行拓?fù)湟蕾囮P(guān)系生成算法,生成正確反映當(dāng)前網(wǎng)絡(luò)拓?fù)溥B結(jié)關(guān)系的拓?fù)湟蕾囮P(guān)系并存入拓?fù)湟蕾囮P(guān)系庫,供故障相關(guān)性分析使用。
權(quán)利要求
1.一種網(wǎng)絡(luò)故障實時相關(guān)性分析方法,包括(1)事件提取接口采集網(wǎng)絡(luò)中產(chǎn)生的各種故障事件,并寫入原始事件列表中;(2)從原始事件列表中讀取一條事件,通過歷史故障情景信息進(jìn)行事件匹配,對網(wǎng)絡(luò)設(shè)備、服務(wù)運行參數(shù)進(jìn)行實時檢測;(3)如果未有匹配事件,基于信息模型、拓?fù)湟蕾囮P(guān)系選取出與當(dāng)前處理的事件相關(guān)的網(wǎng)絡(luò)對象進(jìn)行實時檢測,并將實時檢測的結(jié)果作為條件應(yīng)用回推理過程中;(4)返回原始事件列表繼續(xù)查找與當(dāng)前處理事件相關(guān)的事件或者與實時檢測結(jié)果吻合的事件,并將該事件加入到工作列表中;(5)在原始事件列表中已經(jīng)沒有其他可以加入工作列表的事件,則從工作列表中的事件構(gòu)造一個新的故障情景并加入到歷史故障情景信息中,清空工作列表;(6)從原始事件列表中讀取下一個符合選擇策略的事件,返回到第二步,如果沒有事件在列表中,則掛起等待有事件輸入。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)故障實時相關(guān)性分析方法,其特征在于所述的信息模型包括(1)對被管理網(wǎng)絡(luò)中的各種被管理對象進(jìn)行面向?qū)ο蟪橄螅?2)按照抽象后的被管理類之間的繼承關(guān)系組成一個層次化的信息模型;(3)在信息模型中用關(guān)聯(lián)類定義被管理類之間的相互關(guān)系。
3.如權(quán)利要求1或2所述的網(wǎng)絡(luò)故障實時相關(guān)性分析方法,其特征在于所述拓?fù)湟蕾囮P(guān)系包括(1)在網(wǎng)絡(luò)運行中保持拓?fù)湟蕾囮P(guān)系與網(wǎng)絡(luò)實際拓?fù)涞囊恢拢?2)將故障相關(guān)性分析程序運行的網(wǎng)絡(luò)節(jié)點設(shè)為參考點;(3)通過參考點計算到達(dá)其他各個節(jié)點的可達(dá)性依賴關(guān)系。(4)利用來自設(shè)備的拓?fù)涓淖兊耐ǜ嬗|發(fā)拓?fù)渫匠绦蛴勺钚碌耐負(fù)渲匦掠嬎阃負(fù)湟蕾囮P(guān)系;
4.如權(quán)利要求1所述的網(wǎng)絡(luò)故障實時相關(guān)性分析方法,其特征在于所述推理過程包括(1)為每一步推理賦予一個置信概率,并通過計算每步的概率得出最后分析結(jié)果的概率;(2)在故障情景創(chuàng)建中定義時間約束函數(shù)來描述事件的時間特性以及相關(guān)聯(lián)的事件之間的時間關(guān)系;(3)用形式化方法進(jìn)行告警內(nèi)容的表示和匹配。
5.如權(quán)利要求1所述的網(wǎng)絡(luò)故障實時相關(guān)性分析方法,其特征在于將歷史故障情景信息構(gòu)造為一張便于快速查詢的故障情景表。
6.如權(quán)利要求1所述的網(wǎng)絡(luò)故障實時相關(guān)性分析方法,其特征在于所述原始故障事件采集進(jìn)一步包括(1)在處理不同的事件類型時,按照預(yù)定規(guī)則動態(tài)改變原始事件隊列的長度;(2)按照事件級別和用戶定義規(guī)則來決定哪些事件作為相關(guān)性分析的起始點;(3)對原始事件進(jìn)行預(yù)處理,針對不同協(xié)議的故障事件提供可擴(kuò)展的事件獲取接口,將它們轉(zhuǎn)化為統(tǒng)一的內(nèi)部格式并過濾。
7.如權(quán)利要求1所述的網(wǎng)絡(luò)故障實時相關(guān)性分析方法,其特征在于所述構(gòu)造新的故障情景包括(1)提取故障特征參數(shù);(2)提取故障傳播路徑;(3)利用故障特征參數(shù)和傳播路徑構(gòu)造新的故障解決情景。
8.一種網(wǎng)絡(luò)故障實時相關(guān)性分析系統(tǒng),包括分析控制引擎用于按照分析控制引擎算法調(diào)用其他模塊和接口來完成故障相關(guān)性分析;事件提取接口用于接收網(wǎng)絡(luò)設(shè)備發(fā)來的各種網(wǎng)絡(luò)事件,將事件轉(zhuǎn)化為統(tǒng)一的格式,寫入原始事件列表,供分析控制引擎調(diào)用;實時網(wǎng)絡(luò)參數(shù)檢測接口用于檢測網(wǎng)絡(luò)中各種設(shè)備和服務(wù)的屬性、性能和可達(dá)性等實時信息,被分析控制引擎所調(diào)用,接受故障分析引擎的參數(shù)以決定對哪個網(wǎng)絡(luò)設(shè)備進(jìn)行實時檢測,并將結(jié)果返回給分析控制引擎;信息模型描述一系列對應(yīng)于網(wǎng)絡(luò)協(xié)議對象和設(shè)備對象的管理類,以及它們之間的相互依賴關(guān)系;信息模型查詢接口用于從信息模型中查詢管理類、管理類屬性和管理類之間關(guān)系的函數(shù),在運行時為分析控制引擎提供來自信息模型的信息;拓?fù)渫侥K用于被網(wǎng)絡(luò)拓?fù)涓淖兪录|發(fā)運行拓?fù)湟蕾囮P(guān)系生成算法,生成正確反映當(dāng)前網(wǎng)絡(luò)拓?fù)溥B結(jié)關(guān)系的拓?fù)湟蕾囮P(guān)系并存入拓?fù)湟蕾囮P(guān)系庫,拓?fù)湟蕾囮P(guān)系庫為分析控制引擎提供相關(guān)信息;故障情景表生成模塊用于在已經(jīng)找到相關(guān)性的一組事件上建立一個故障情景,并將此情景存入故障情景表中,通過故障情景表與后續(xù)的事件進(jìn)行匹配。
9.如權(quán)利要求8所述的網(wǎng)絡(luò)故障實時相關(guān)性分析系統(tǒng),其特征在于所述信息模型以散列表文件方式存儲,分析控制引擎在分析過程中通過模型查詢接口提取信息模型的信息。
10.如權(quán)利要求8或9所述的網(wǎng)絡(luò)故障實時相關(guān)性分析系統(tǒng),其特征在于進(jìn)一步包括預(yù)處理模塊按照預(yù)定的預(yù)處理規(guī)則對接收到的原始事件進(jìn)行預(yù)先處理。
全文摘要
本發(fā)明提供了一種網(wǎng)絡(luò)故障實時相關(guān)性分析方法及系統(tǒng),屬于計算機(jī)網(wǎng)絡(luò)通信領(lǐng)域。來自各種網(wǎng)絡(luò)設(shè)備和業(yè)務(wù)對象的故障事件信息寫入原始事件列表中,分析控制引擎從原始事件列表中按照原始事件級別和類型選擇性讀取事件進(jìn)行相關(guān)性分析,在動態(tài)的分析算法中綜合運用歷史故障分析情景、網(wǎng)絡(luò)動態(tài)性能參數(shù)、動態(tài)拓?fù)湫畔⒑褪录r間特征等各種領(lǐng)域信息,克服了現(xiàn)有的故障關(guān)聯(lián)分析方法中忽視動態(tài)網(wǎng)絡(luò)狀態(tài)信息、推理過程過于依賴預(yù)設(shè)規(guī)則和缺乏自動學(xué)習(xí)能力等不足,能夠?qū)收弦鸬脑际录线M(jìn)行有效的相關(guān)性分析,較好解決了網(wǎng)絡(luò)故障風(fēng)暴發(fā)生時的實時故障原因分析和故障定位問題。
文檔編號H04L12/26GK1529455SQ03134729
公開日2004年9月15日 申請日期2003年9月29日 優(yōu)先權(quán)日2003年9月29日
發(fā)明者譚俊, 譚 俊 申請人:港灣網(wǎng)絡(luò)有限公司