亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于SDN架構(gòu)的網(wǎng)絡(luò)故障檢測(cè)與修復(fù)方法與流程

文檔序號(hào):11657244閱讀:268來源:國(guó)知局
基于SDN架構(gòu)的網(wǎng)絡(luò)故障檢測(cè)與修復(fù)方法與流程

本發(fā)明涉及一種基于sdn(softwaredefinenetwork,軟件定義網(wǎng)絡(luò))架構(gòu)的網(wǎng)絡(luò)故障檢測(cè)與修復(fù)方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)高速的飛速發(fā)展,互聯(lián)網(wǎng)已經(jīng)深入生活的方方面面,越來越多的業(yè)務(wù)采用“互聯(lián)網(wǎng)+”模式,如常見的點(diǎn)餐服務(wù)美團(tuán),出行打車服務(wù)滴滴出行,以及支付服務(wù)微信、支付寶等。因此,網(wǎng)絡(luò)系統(tǒng)的安全和穩(wěn)定是現(xiàn)代生活的一個(gè)基本的保證,如果出現(xiàn)崩潰,將會(huì)造成日常生活的崩潰或者巨大損失。據(jù)統(tǒng)計(jì),一個(gè)局域網(wǎng)在一年之內(nèi)出現(xiàn)的故障次數(shù)高達(dá)二十多次,由此產(chǎn)生的網(wǎng)絡(luò)中斷服務(wù)時(shí)間在十幾個(gè)小時(shí),而那些大的運(yùn)營(yíng)商如電信、移動(dòng)等公司,幾個(gè)小時(shí)的中斷可能造上億美元的經(jīng)濟(jì)損失,因此,如何保證網(wǎng)絡(luò)的安全運(yùn)行,并在出現(xiàn)故障時(shí)候能夠及時(shí)發(fā)現(xiàn),并進(jìn)行適當(dāng)?shù)男迯?fù)是當(dāng)前最為重要的問題之一。

目前,存在大量的網(wǎng)絡(luò)故障診斷方法,這些方法大都基于貝葉斯網(wǎng)絡(luò)、人工智能、神經(jīng)網(wǎng)絡(luò)等技術(shù),通常具有自主學(xué)習(xí)的功能,但卻是基于歷史信息的一種推斷,僅供網(wǎng)絡(luò)管理人員進(jìn)行網(wǎng)絡(luò)管理的一種參考,并且不能對(duì)故障進(jìn)行準(zhǔn)確定位,因此,不適合網(wǎng)絡(luò)故障檢測(cè)和自動(dòng)修復(fù)系統(tǒng)。

進(jìn)行故障檢測(cè)的前提是獲取當(dāng)前網(wǎng)絡(luò)的狀態(tài)信息,目前圍繞如何降低狀態(tài)獲取時(shí)的系統(tǒng)開銷,而又能保證故障檢測(cè)的實(shí)時(shí)性進(jìn)行了很多研究。分為三類:輪詢,該種方式規(guī)定t時(shí)間周期進(jìn)行定時(shí)獲取網(wǎng)絡(luò)狀態(tài)信息,但存在時(shí)間大小如何設(shè)置問題;事件通知,該種方式采用異步通知機(jī)制,但是存在代理端崩潰無法發(fā)送事件通知;輪詢和事件通知結(jié)合,該方式在一定程度上可以解決輪詢開銷和故障響應(yīng)時(shí)間問題,但是卻要求在代理端維持網(wǎng)絡(luò)的狀態(tài)信息,造成代理端的系統(tǒng)開銷和維護(hù)開銷。

目前進(jìn)行網(wǎng)絡(luò)故障檢測(cè)系統(tǒng),主要存在以下弊端與不足:

1.自動(dòng)化程度較低。網(wǎng)絡(luò)出現(xiàn)故障時(shí)候,系統(tǒng)不能及時(shí)對(duì)網(wǎng)絡(luò)故障進(jìn)行修復(fù),達(dá)到網(wǎng)絡(luò)快速恢復(fù)健康運(yùn)行的目的。

2.故障檢測(cè)準(zhǔn)確性較低。即無法對(duì)已知故障進(jìn)行準(zhǔn)確定位。

3.在進(jìn)行網(wǎng)絡(luò)狀態(tài)獲取時(shí)候,無法在系統(tǒng)開銷和故障響應(yīng)時(shí)間之間取得均衡。

在日益復(fù)雜的網(wǎng)絡(luò)環(huán)境下,這些故障檢測(cè)方法既不能做到故障的自動(dòng)化修復(fù),也不能降低進(jìn)行故障檢測(cè)的開銷。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是提供基于sdn架構(gòu)的網(wǎng)絡(luò)故障檢測(cè)與修復(fù)方法,既能確保故障的自動(dòng)化修復(fù),也能降低進(jìn)行故障檢測(cè)的開銷,且提高故障檢測(cè)準(zhǔn)確性,對(duì)已知故障進(jìn)行準(zhǔn)確定位。

本發(fā)明的技術(shù)方案是:

第一步,構(gòu)建一個(gè)集中與分布相結(jié)合的網(wǎng)絡(luò)系統(tǒng),它由n個(gè)網(wǎng)絡(luò)設(shè)備、一臺(tái)集中管理服務(wù)器以及一臺(tái)監(jiān)控計(jì)算機(jī)構(gòu)成,它們通過互聯(lián)網(wǎng)相連。

網(wǎng)絡(luò)設(shè)備主要是路由器,其上部署有agent代理模塊,n個(gè)網(wǎng)絡(luò)設(shè)備均與集中管理服務(wù)器相連。agent代理模塊負(fù)責(zé)獲取網(wǎng)絡(luò)狀態(tài)信息(主要指網(wǎng)絡(luò)設(shè)備的狀態(tài)信息,包括路由協(xié)議的網(wǎng)絡(luò)狀態(tài)信息。網(wǎng)絡(luò)狀態(tài)信息包括網(wǎng)絡(luò)狀態(tài)關(guān)鍵字和網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值,網(wǎng)絡(luò)狀態(tài)關(guān)鍵字指網(wǎng)絡(luò)設(shè)備運(yùn)行的各種網(wǎng)絡(luò)協(xié)議中描述網(wǎng)絡(luò)狀態(tài)的屬性;網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值指網(wǎng)絡(luò)協(xié)議運(yùn)行時(shí)網(wǎng)絡(luò)狀態(tài)關(guān)鍵字對(duì)應(yīng)的數(shù)值),并對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行配置。agent代理模塊通過南向接口將網(wǎng)路狀態(tài)信息送給集中管理服務(wù)器,常見南向接口有cli(clientlineinterface,命令行)、snmp(simplenetworkmanagerprotocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)、netconf(networkconfigurationprotocol,網(wǎng)絡(luò)配置協(xié)議)等。

集中管理服務(wù)器除安裝業(yè)務(wù)層模塊,還安裝有對(duì)網(wǎng)絡(luò)故障進(jìn)行檢測(cè)和修復(fù)的控制層模塊。

控制層模塊由網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊、故障檢測(cè)推理模塊、網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)和專家知識(shí)庫(kù)組成。網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊設(shè)置一個(gè)故障標(biāo)志位,初始化為0,當(dāng)故障標(biāo)志位為1,說明網(wǎng)絡(luò)當(dāng)前存在故障,否則不存在故障。網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊接收業(yè)務(wù)層模塊發(fā)來的故障檢測(cè)指令,根據(jù)故障檢測(cè)指令對(duì)相應(yīng)的網(wǎng)絡(luò)協(xié)議進(jìn)行檢測(cè)和修復(fù);網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊與n個(gè)網(wǎng)絡(luò)設(shè)備的agent代理模塊相連、業(yè)務(wù)層模塊、故障檢測(cè)推理模塊相連;網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊從agent代理模塊獲取網(wǎng)絡(luò)狀態(tài)信息,將網(wǎng)絡(luò)狀態(tài)信息存儲(chǔ)到網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中;網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊從故障檢測(cè)推理模塊接收故障修復(fù)策略,執(zhí)行故障修復(fù)策略進(jìn)行修復(fù),執(zhí)行完故障修復(fù)策略后,將網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中與該故障相對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)信息刪除;網(wǎng)絡(luò)故障檢測(cè)推理模塊與網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊、網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)、專家知識(shí)庫(kù)以及監(jiān)控計(jì)算機(jī)相連,根據(jù)專家知識(shí)庫(kù)對(duì)當(dāng)前的網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中網(wǎng)絡(luò)狀態(tài)信息進(jìn)行檢測(cè),如果某條網(wǎng)絡(luò)狀態(tài)信息滿足專家知識(shí)庫(kù)中故障條件,說明當(dāng)前網(wǎng)絡(luò)存在故障,則故障檢測(cè)推理模塊將專家知識(shí)庫(kù)給出的故障修復(fù)策略發(fā)送給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊,否則,說明存在未知故障需要監(jiān)控計(jì)算機(jī)進(jìn)一步確認(rèn),則故障檢測(cè)推理模塊將故障信息發(fā)送給監(jiān)控計(jì)算機(jī)。

業(yè)務(wù)層模塊向網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊發(fā)送故障檢測(cè)指令,故障檢測(cè)指令包括ospf故障檢測(cè)指令、bgp故障檢測(cè)指令等各種路由協(xié)議檢測(cè)指令,網(wǎng)絡(luò)設(shè)備運(yùn)行m種網(wǎng)絡(luò)協(xié)議,則有m中故障檢測(cè)指令,m為正整數(shù)。

網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)絡(luò)狀態(tài)信息,在實(shí)際應(yīng)用中采用mysql數(shù)據(jù)庫(kù),有k個(gè)表項(xiàng),表項(xiàng)內(nèi)容為<網(wǎng)絡(luò)狀態(tài)關(guān)鍵字,網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值>。k為n個(gè)網(wǎng)絡(luò)設(shè)備上運(yùn)行的所有網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的總數(shù),網(wǎng)絡(luò)狀態(tài)關(guān)鍵字由網(wǎng)絡(luò)管理員通過cli向網(wǎng)絡(luò)設(shè)備獲取,網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值則由網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊收集,若網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值異常,表示網(wǎng)絡(luò)出現(xiàn)故障。

專家知識(shí)庫(kù)是存貯故障條件和故障修復(fù)策略的數(shù)據(jù)庫(kù),故障條件和故障修復(fù)策略以產(chǎn)生式規(guī)則的形式存貯,這些產(chǎn)生式以樹型數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ),專家知識(shí)庫(kù)由監(jiān)控計(jì)算機(jī)負(fù)責(zé)初始化以及更新和維護(hù)操作。產(chǎn)生式規(guī)則的前半部分是故障條件,多個(gè)故障條件之間采用邏輯運(yùn)算符(包括and即“且”、or即“或”兩種)進(jìn)行連接,后半部分是對(duì)應(yīng)該故障修復(fù)策略(即網(wǎng)絡(luò)協(xié)議配置命令)。故障條件內(nèi)容為<網(wǎng)絡(luò)狀態(tài)關(guān)鍵字,邏輯符號(hào),臨界數(shù)值>,其中故障條件中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字和網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字相同,邏輯符號(hào)包括“>”(大于)、”==”(等于)、“<”(小于)三種,臨界數(shù)值是判定網(wǎng)絡(luò)是否故障的依據(jù),當(dāng)網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值高于或者低于或者等于臨界數(shù)值時(shí),網(wǎng)絡(luò)就可能出現(xiàn)故障。如故障條件為<spf,>,1000>的含義是ospf路由協(xié)議運(yùn)行spf算法次數(shù)大于1000,網(wǎng)絡(luò)存在路由震蕩故障。

監(jiān)控計(jì)算機(jī)上安裝有用戶接口模塊,用戶接口模塊與故障檢測(cè)推理模塊、專家知識(shí)庫(kù)相連,負(fù)責(zé)將從故障檢測(cè)推理模塊接收的判定為未知的故障進(jìn)行顯示,供網(wǎng)絡(luò)管理員在排除故障過程中進(jìn)行參考;同時(shí)用戶接口模塊還提供專家知識(shí)錄入接口供網(wǎng)絡(luò)管理員錄入故障條件和故障修復(fù)策略到專家知識(shí)庫(kù)中。

第二步,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊初始化網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù),將網(wǎng)絡(luò)狀態(tài)關(guān)鍵字置為網(wǎng)絡(luò)設(shè)備中運(yùn)行的各種網(wǎng)絡(luò)協(xié)議描述網(wǎng)絡(luò)狀態(tài)的屬性,所有網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值置空,并將故障標(biāo)志位置0。

第三步,監(jiān)控計(jì)算機(jī)對(duì)專家知識(shí)庫(kù)進(jìn)行初始化,將故障條件和故障修復(fù)策略以產(chǎn)生式集合的形式進(jìn)行組織,并將產(chǎn)生式集合(包括多條產(chǎn)生式,一條產(chǎn)生式包含一條故障條件以及對(duì)應(yīng)的修復(fù)策略)轉(zhuǎn)化為一個(gè)包含故障條件和故障修復(fù)策略的樹型結(jié)構(gòu),方法是:

采用樹的形式對(duì)產(chǎn)生式進(jìn)行存儲(chǔ),當(dāng)樹節(jié)點(diǎn)是根節(jié)點(diǎn)時(shí),樹節(jié)點(diǎn)存儲(chǔ)指向子節(jié)點(diǎn)的指針;當(dāng)樹節(jié)點(diǎn)是非葉子節(jié)點(diǎn)也非根節(jié)點(diǎn)時(shí)(所謂葉子節(jié)點(diǎn)是指該節(jié)點(diǎn)沒有子節(jié)點(diǎn))時(shí),樹節(jié)點(diǎn)由指針和故障條件組成;當(dāng)樹節(jié)點(diǎn)是葉子節(jié)點(diǎn)時(shí),樹節(jié)點(diǎn)由故障修復(fù)策略組成;父子(其中子節(jié)點(diǎn)不是葉子節(jié)點(diǎn))節(jié)點(diǎn)間是“and”關(guān)系,父節(jié)點(diǎn)和子節(jié)點(diǎn)中的故障條件在產(chǎn)生式規(guī)則中是“and”關(guān)系;兄弟節(jié)點(diǎn)間是“or”關(guān)系(兄弟節(jié)點(diǎn)中的故障條件在產(chǎn)生式規(guī)則中是”or”關(guān)系)或者無邏輯關(guān)系(兄弟節(jié)點(diǎn)中的故障條件不屬于同一條產(chǎn)生式規(guī)則);產(chǎn)生式集合有l(wèi)條產(chǎn)生式規(guī)則,根節(jié)點(diǎn)就有l(wèi)個(gè)子節(jié)點(diǎn),從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑存儲(chǔ)一條產(chǎn)生式規(guī)則。l為正整數(shù),采用以上存儲(chǔ)方法即可將產(chǎn)生式集合轉(zhuǎn)化為一個(gè)包含故障條件和故障修復(fù)策略的樹型結(jié)構(gòu)。

第四步,業(yè)務(wù)層模塊給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊發(fā)送故障檢測(cè)指令。

第五步,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊接收到業(yè)務(wù)層發(fā)來的故障檢測(cè)指令后,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊并行地和n個(gè)路由器上的agent代理模塊建立通信,根據(jù)故障檢測(cè)指令的不同,采用自適應(yīng)輪詢算法通過南向接口從n個(gè)網(wǎng)絡(luò)設(shè)備的agent代理模塊獲取不同網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)狀態(tài)信息,故障檢測(cè)推理模塊基于網(wǎng)絡(luò)狀態(tài)信息進(jìn)行故障的檢測(cè)與修復(fù),方法如下:

5.1設(shè)置dt=t1,dt是網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊實(shí)際采用輪詢周期,t1和t2為監(jiān)控計(jì)算機(jī)根據(jù)經(jīng)驗(yàn)預(yù)先設(shè)置的輪詢周期下限和上限數(shù)值,t1一般設(shè)為5分鐘,t2一般設(shè)為30分鐘。

5.2每隔dt時(shí)間,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊將故障檢測(cè)指令發(fā)送給agent代理模塊。

5.3agent代理模塊接收到故障檢測(cè)命令后,判斷是要檢測(cè)何種協(xié)議的故障,通過cli獲取該協(xié)議所對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)信息中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值,并將該協(xié)議所對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)信息中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值發(fā)送給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊。

5.4網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊接收到網(wǎng)絡(luò)狀態(tài)信息后,一方面將網(wǎng)絡(luò)狀態(tài)信息存儲(chǔ)到網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中,一方面將網(wǎng)絡(luò)狀態(tài)信息交給故障檢測(cè)推理模塊。

5.5故障檢測(cè)推理模塊運(yùn)行故障匹配算法進(jìn)行故障檢測(cè)與修復(fù),故障匹配算法采用樹的深度優(yōu)先遍歷算法,從根節(jié)點(diǎn)開始遍歷,方法如下:

5.5.1判斷當(dāng)前樹節(jié)點(diǎn)是否為葉子節(jié)點(diǎn),如果是,轉(zhuǎn)5.5.3;否則,根據(jù)當(dāng)前樹節(jié)點(diǎn)中存儲(chǔ)的故障條件中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字查找網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù),獲得該網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值,轉(zhuǎn)5.5.2。

5.5.2將獲取的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值與當(dāng)前樹節(jié)點(diǎn)的故障條件中的臨界數(shù)值進(jìn)行比較,判斷獲取的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值是否滿足當(dāng)前樹節(jié)點(diǎn)的故障條件中的邏輯關(guān)系。如果滿足,說明當(dāng)前樹節(jié)點(diǎn)的故障條件滿足,則令當(dāng)前樹節(jié)點(diǎn)為當(dāng)前樹節(jié)點(diǎn)的子節(jié)點(diǎn),轉(zhuǎn)5.5.1,繼續(xù)深度遍歷;否則,說明該條產(chǎn)生式故障條件不滿足,需進(jìn)行其他產(chǎn)生式的故障條件判斷,轉(zhuǎn)5.5.6。

5.5.3此時(shí)當(dāng)前樹節(jié)點(diǎn)為葉子節(jié)點(diǎn),說明網(wǎng)絡(luò)存在故障,將故障標(biāo)志位置1,同時(shí)故障檢測(cè)推理模塊從該葉子節(jié)點(diǎn)中獲取修復(fù)策略,轉(zhuǎn)5.5.4。

5.5.4故障檢測(cè)推理模塊判斷修復(fù)策略是否為空,如果不為空,說明該故障是已知故障,故障檢測(cè)推理模塊將修復(fù)策略發(fā)送給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊通過南向接口將故障修復(fù)策略發(fā)送給agent代理模塊,轉(zhuǎn)5.5.5;否則說明故障為未知故障,則故障檢測(cè)推理模塊將該故障發(fā)送給監(jiān)控計(jì)算機(jī),將故障顯示出來,以便監(jiān)控計(jì)算機(jī)進(jìn)行分析和錄入該故障對(duì)應(yīng)的故障條件和修復(fù)策略,轉(zhuǎn)5.5.6。

5.5.5agent代理模塊接收到故障修復(fù)策略后,agent代理模塊執(zhí)行故障修復(fù)策略(一系列的網(wǎng)絡(luò)協(xié)議配置命令),完成對(duì)網(wǎng)絡(luò)協(xié)議的配置,便可以消除故障,轉(zhuǎn)5.5.6。

5.5.6判斷當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)是否還存在未被遍歷的子節(jié)點(diǎn),如果存在,令當(dāng)前樹節(jié)點(diǎn)為該未被遍歷的子節(jié)點(diǎn),轉(zhuǎn)5.5.1,對(duì)未被遍歷的子節(jié)點(diǎn)進(jìn)行遍歷;如果不存在,判定當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)是否為根節(jié)點(diǎn),如果不是,則令當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)為當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)的父節(jié)點(diǎn)轉(zhuǎn)5.5.6;如果當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)為根節(jié)點(diǎn),說明整個(gè)樹遍歷結(jié)束,轉(zhuǎn)5.6。

5.6網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊判斷故障標(biāo)志位是否為1,如果為1,說明當(dāng)前網(wǎng)絡(luò)狀態(tài)較差,需要經(jīng)常獲取網(wǎng)絡(luò)狀態(tài)信息進(jìn)行檢查,因此令dt=t1,同時(shí)將故障標(biāo)志位置0,轉(zhuǎn)5.2;否則,說明網(wǎng)絡(luò)不存在故障(即當(dāng)前網(wǎng)絡(luò)狀態(tài)良好),將dt加1分鐘(下次獲取網(wǎng)絡(luò)狀態(tài)信息時(shí)間間隔延長(zhǎng),因?yàn)榫W(wǎng)絡(luò)狀態(tài)良好,不需要經(jīng)常進(jìn)行獲取網(wǎng)絡(luò)狀態(tài)信息進(jìn)行檢測(cè),將dt變大,降低系統(tǒng)開銷)轉(zhuǎn)5.7。

5.7如果dt>t2(不能將下次獲取網(wǎng)絡(luò)狀態(tài)信息的時(shí)間間隔無限,)則將dt=t1,轉(zhuǎn)5.2。

與現(xiàn)有技術(shù)相比,本發(fā)明具有以下技術(shù)優(yōu)點(diǎn):

1、本發(fā)明第五步基于自適應(yīng)輪詢算法獲取網(wǎng)絡(luò)狀態(tài)信息,減少了網(wǎng)絡(luò)獲取狀態(tài)信息造成的系統(tǒng)開銷,最大可減少50%。

2、本發(fā)明第五步基于產(chǎn)生式規(guī)則的故障匹配算法,可以實(shí)現(xiàn)故障的快速準(zhǔn)確檢測(cè)和自動(dòng)修復(fù)。對(duì)已知故障檢測(cè)的準(zhǔn)確率為100%,實(shí)驗(yàn)中,對(duì)50個(gè)路由器組成的的網(wǎng)絡(luò)規(guī)模進(jìn)行故障恢復(fù)的最大時(shí)間為5分鐘,且最大故障恢復(fù)時(shí)間隨路由器的個(gè)數(shù)增加而有所增加。

附圖說明

圖1是本發(fā)明總體流程圖。

圖2是本發(fā)明第一步構(gòu)建的集中與分布相結(jié)合的網(wǎng)絡(luò)系統(tǒng)邏輯結(jié)構(gòu)示意圖。

圖3是本發(fā)明集中與分布式相結(jié)合的網(wǎng)絡(luò)系統(tǒng)上軟件框架部署邏輯結(jié)構(gòu)圖。

圖4是本發(fā)明第五步網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊獲取網(wǎng)絡(luò)狀態(tài)信息及故障檢測(cè)推理模塊進(jìn)行故障的檢測(cè)與修復(fù)的流程圖。

具體實(shí)施方法

圖1為本發(fā)明的總體流程圖;本發(fā)明包括以下幾個(gè)步驟:

第一步,構(gòu)建一個(gè)如圖2所示的集中與分布相結(jié)合的網(wǎng)絡(luò)系統(tǒng),它由n個(gè)網(wǎng)絡(luò)設(shè)備、一臺(tái)集中管理服務(wù)器以及一臺(tái)監(jiān)控計(jì)算機(jī)構(gòu)成,它們通過互聯(lián)網(wǎng)相連。

如圖3所示,網(wǎng)絡(luò)設(shè)備主要是路由器,其上部署有agent代理模塊,n個(gè)網(wǎng)絡(luò)設(shè)備均與集中管理服務(wù)器相連。agent代理模塊負(fù)責(zé)獲取網(wǎng)絡(luò)狀態(tài)信息,并對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行配置。agent代理模塊通過南向接口將網(wǎng)路狀態(tài)信息送給集中管理服務(wù)器。

集中管理服務(wù)器除安裝業(yè)務(wù)層模塊,還安裝有對(duì)網(wǎng)絡(luò)故障進(jìn)行檢測(cè)和修復(fù)的控制層模塊。

控制層模塊由網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊、故障檢測(cè)推理模塊、網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)和專家知識(shí)庫(kù)組成。網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊設(shè)置一個(gè)故障標(biāo)志位,初始化為0,當(dāng)故障標(biāo)志位為1,說明網(wǎng)絡(luò)當(dāng)前存在故障,否則不存在故障。網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊接收業(yè)務(wù)層模塊發(fā)來的故障檢測(cè)指令,根據(jù)故障檢測(cè)指令對(duì)相應(yīng)的網(wǎng)絡(luò)協(xié)議進(jìn)行檢測(cè)和修復(fù);網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊與n個(gè)網(wǎng)絡(luò)設(shè)備的agent代理模塊相連、業(yè)務(wù)層模塊、故障檢測(cè)推理模塊相連;網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊從agent代理模塊獲取網(wǎng)絡(luò)狀態(tài)信息,將網(wǎng)絡(luò)狀態(tài)信息存儲(chǔ)到網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中;網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊從故障檢測(cè)推理模塊接收故障修復(fù)策略,執(zhí)行故障修復(fù)策略進(jìn)行修復(fù),執(zhí)行完故障修復(fù)策略后,將網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中與該故障相對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)信息刪除;網(wǎng)絡(luò)故障檢測(cè)推理模塊與網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊、網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)、專家知識(shí)庫(kù)以及監(jiān)控計(jì)算機(jī)相連,根據(jù)專家知識(shí)庫(kù)對(duì)當(dāng)前的網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中網(wǎng)絡(luò)狀態(tài)信息進(jìn)行檢測(cè),如果某條網(wǎng)絡(luò)狀態(tài)信息滿足專家知識(shí)庫(kù)中故障條件,說明當(dāng)前網(wǎng)絡(luò)存在故障,則故障檢測(cè)推理模塊將專家知識(shí)庫(kù)給出的故障修復(fù)策略發(fā)送給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊,否則,說明存在未知故障需要監(jiān)控計(jì)算機(jī)進(jìn)一步確認(rèn),則故障檢測(cè)推理模塊將故障信息發(fā)送給監(jiān)控計(jì)算機(jī)。

業(yè)務(wù)層模塊向網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊發(fā)送故障檢測(cè)指令,故障檢測(cè)指令包括ospf故障檢測(cè)指令、bgp故障檢測(cè)指令等各種路由協(xié)議檢測(cè)指令,網(wǎng)絡(luò)設(shè)備運(yùn)行m種網(wǎng)絡(luò)協(xié)議,則有m中故障檢測(cè)指令,m為正整數(shù)。

網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)絡(luò)狀態(tài)信息,在實(shí)際應(yīng)用中采用mysql數(shù)據(jù)庫(kù)有k個(gè)表項(xiàng),表項(xiàng)內(nèi)容為<網(wǎng)絡(luò)狀態(tài)關(guān)鍵字,網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值>。k為n個(gè)網(wǎng)絡(luò)設(shè)備上運(yùn)行的所有網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的總數(shù),網(wǎng)絡(luò)狀態(tài)關(guān)鍵字由網(wǎng)絡(luò)管理員通過cli向網(wǎng)絡(luò)設(shè)備獲取,網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值則由網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊收集,若網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值異常,表示網(wǎng)絡(luò)出現(xiàn)故障。。

專家知識(shí)庫(kù)是存貯故障條件和故障修復(fù)策略的數(shù)據(jù)庫(kù),故障條件和故障修復(fù)策略以產(chǎn)生式規(guī)則的形式存貯,這些產(chǎn)生式以樹型數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ),專家知識(shí)庫(kù)由監(jiān)控計(jì)算機(jī)負(fù)責(zé)初始化以及更新和維護(hù)操作。產(chǎn)生式規(guī)則的前半部分是故障條件,多個(gè)故障條件之間采用邏輯運(yùn)算符(包括and即“且”、or即“或”兩種)進(jìn)行連接,后半部分是對(duì)應(yīng)該故障修復(fù)策略(即網(wǎng)絡(luò)協(xié)議配置命令)。故障條件內(nèi)容為<網(wǎng)絡(luò)狀態(tài)關(guān)鍵字,邏輯符號(hào),臨界數(shù)值>,其中故障條件中的網(wǎng)絡(luò)關(guān)鍵字和網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中的網(wǎng)絡(luò)關(guān)鍵字相同,邏輯符號(hào)包括“>”(大于)、”==”(等于)、“<”(小于)三種,臨界數(shù)值是判定網(wǎng)絡(luò)是否故障的依據(jù),當(dāng)網(wǎng)絡(luò)關(guān)鍵字的數(shù)值高于或者低于或者等于臨界數(shù)值時(shí),網(wǎng)絡(luò)就可能出現(xiàn)故障。

監(jiān)控計(jì)算機(jī)上安裝有用戶接口模塊,用戶接口模塊與故障檢測(cè)推理模塊、專家知識(shí)庫(kù)相連,負(fù)責(zé)將從故障檢測(cè)推理模塊接收的判定為未知的故障進(jìn)行顯示,供網(wǎng)絡(luò)管理員在排除故障過程中進(jìn)行參考;同時(shí)用戶接口模塊還提供專家知識(shí)錄入接口供網(wǎng)絡(luò)管理員錄入故障條件和故障修復(fù)策略到專家知識(shí)庫(kù)中。

第二步,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊初始化網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù),將網(wǎng)絡(luò)狀態(tài)關(guān)鍵字置為網(wǎng)絡(luò)設(shè)備中運(yùn)行的各種網(wǎng)絡(luò)協(xié)議描述網(wǎng)絡(luò)狀態(tài)的屬性,所有網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值置空,并將故障標(biāo)志位置0。

第三步,監(jiān)控計(jì)算機(jī)對(duì)專家知識(shí)庫(kù)進(jìn)行初始化,將故障條件和故障修復(fù)策略以產(chǎn)生式集合的形式進(jìn)行組織,并將產(chǎn)生式集合以樹型數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)。

第四步,業(yè)務(wù)層模塊給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊發(fā)送故障檢測(cè)指令。

第五步,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊接收到業(yè)務(wù)層發(fā)來的故障檢測(cè)指令后,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊并行地和n個(gè)路由器上的agent代理模塊建立通信,根據(jù)故障檢測(cè)指令的不同,采用自適應(yīng)輪詢算法通過南向接口從n個(gè)網(wǎng)絡(luò)設(shè)備的agent代理模塊獲取不同網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)狀態(tài)信息,故障檢測(cè)推理模塊基于網(wǎng)絡(luò)狀態(tài)信息進(jìn)行故障的檢測(cè)與修復(fù),方法如圖4所示:

5.1設(shè)置dt=t1,dt是網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊實(shí)際采用輪詢周期,t1和t2為監(jiān)控計(jì)算機(jī)根據(jù)經(jīng)驗(yàn)預(yù)先設(shè)置的輪詢周期下限和上限數(shù)值,t1一般設(shè)為5分鐘,t2一般設(shè)為30分鐘。

5.2每隔dt時(shí)間,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊將故障檢測(cè)指令發(fā)送給agent代理模塊。

5.3agent代理模塊接收到故障檢測(cè)命令后,判斷是要檢測(cè)何種協(xié)議的故障,通過cli獲取該協(xié)議所對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)信息中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值,并將該協(xié)議所對(duì)應(yīng)的網(wǎng)絡(luò)狀態(tài)信息中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值發(fā)送給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊。

5.4網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊接收到網(wǎng)絡(luò)狀態(tài)信息后,一方面將網(wǎng)絡(luò)狀態(tài)信息存儲(chǔ)到網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù)中,一方面將網(wǎng)絡(luò)狀態(tài)信息交給故障檢測(cè)推理模塊。

5.5故障檢測(cè)推理模塊運(yùn)行故障匹配算法進(jìn)行故障檢測(cè)與修復(fù),故障匹配算法采用樹的深度優(yōu)先遍歷算法,從根節(jié)點(diǎn)開始遍歷,方法如下:

5.5.1判斷當(dāng)前樹節(jié)點(diǎn)是否為葉子節(jié)點(diǎn),如果是,轉(zhuǎn)5.5.3;否則,根據(jù)當(dāng)前樹節(jié)點(diǎn)中存儲(chǔ)的故障條件中的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字查找網(wǎng)絡(luò)狀態(tài)參數(shù)數(shù)據(jù)庫(kù),獲得該網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值,轉(zhuǎn)5.5.2。

5.5.2將獲取的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值與當(dāng)前樹節(jié)點(diǎn)的故障條件中的臨界數(shù)值進(jìn)行比較,判斷獲取的網(wǎng)絡(luò)狀態(tài)關(guān)鍵字的數(shù)值是否滿足當(dāng)前樹節(jié)點(diǎn)的故障條件中的邏輯關(guān)系。如果滿足,說明當(dāng)前樹節(jié)點(diǎn)的故障條件滿足,則令當(dāng)前樹節(jié)點(diǎn)為當(dāng)前樹節(jié)點(diǎn)的子節(jié)點(diǎn),轉(zhuǎn)5.5.1,繼續(xù)深度遍歷;否則,說明該條產(chǎn)生式故障條件不滿足,需進(jìn)行其他產(chǎn)生式的故障條件判斷,轉(zhuǎn)5.5.6。

5.5.3此時(shí)當(dāng)前樹節(jié)點(diǎn)為葉子節(jié)點(diǎn),說明網(wǎng)絡(luò)存在故障,將故障標(biāo)志位置1,同時(shí)故障檢測(cè)推理模塊從該葉子節(jié)點(diǎn)中獲取修復(fù)策略,轉(zhuǎn)5.5.4。

5.5.4故障檢測(cè)推理模塊判斷修復(fù)策略是否為空,如果不為空,說明該故障是已知故障,故障檢測(cè)推理模塊將修復(fù)策略發(fā)送給網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊,網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊通過南向接口將故障修復(fù)策略發(fā)送給agent代理模塊,轉(zhuǎn)5.5.5;否則說明故障為未知故障,則故障檢測(cè)推理模塊將該故障發(fā)送給監(jiān)控計(jì)算機(jī),將故障顯示出來,以便監(jiān)控計(jì)算機(jī)進(jìn)行分析和錄入該故障對(duì)應(yīng)的故障條件和修復(fù)策略,轉(zhuǎn)5.5.6。

5.5.5agent代理模塊接收到故障修復(fù)策略后,agent代理模塊執(zhí)行故障修復(fù)策略(一系列的網(wǎng)絡(luò)協(xié)議配置命令),完成對(duì)網(wǎng)絡(luò)協(xié)議的配置,便可以消除故障,轉(zhuǎn)5.5.6。

5.5.6判斷當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)是否還存在未被遍歷的子節(jié)點(diǎn),如果存在,令當(dāng)前樹節(jié)點(diǎn)為該未被遍歷的子節(jié)點(diǎn),轉(zhuǎn)5.5.1,對(duì)未被遍歷的子節(jié)點(diǎn)進(jìn)行遍歷;如果不存在,判定當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)是否為根節(jié)點(diǎn),如果不是,則令當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)為當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)的父節(jié)點(diǎn)轉(zhuǎn)5.5.6;如果當(dāng)前樹節(jié)點(diǎn)的父節(jié)點(diǎn)為根節(jié)點(diǎn),說明整個(gè)樹遍歷結(jié)束,轉(zhuǎn)5.6。

5.6網(wǎng)絡(luò)狀態(tài)參數(shù)獲取和策略執(zhí)行模塊判斷故障標(biāo)志位是否為1,如果為1,說明當(dāng)前網(wǎng)絡(luò)狀態(tài)較差,需要經(jīng)常獲取網(wǎng)絡(luò)狀態(tài)信息進(jìn)行檢查,因此令dt=t1,同時(shí)將故障標(biāo)志位置0,轉(zhuǎn)5.2;否則,說明網(wǎng)絡(luò)不存在故障(即當(dāng)前網(wǎng)絡(luò)狀態(tài)良好),將dt加1分鐘(下次獲取網(wǎng)絡(luò)狀態(tài)信息時(shí)間間隔延長(zhǎng),因?yàn)榫W(wǎng)絡(luò)狀態(tài)良好,不需要經(jīng)常進(jìn)行獲取網(wǎng)絡(luò)狀態(tài)信息進(jìn)行檢測(cè),將dt變大,降低系統(tǒng)開銷)轉(zhuǎn)5.7。

5.7如果dt>t2(不能將下次獲取網(wǎng)絡(luò)狀態(tài)信息的時(shí)間間隔無限,)則將dt=t1,轉(zhuǎn)5.2。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1