網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)本科畢業(yè)設(shè)計論文_第1頁
網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)本科畢業(yè)設(shè)計論文_第2頁
網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)本科畢業(yè)設(shè)計論文_第3頁
網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)本科畢業(yè)設(shè)計論文_第4頁
網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)本科畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

本科畢業(yè)設(shè)計論文題目網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)

畢業(yè)任務(wù)書設(shè)計設(shè)計論文一、題目網(wǎng)絡(luò)故障管理專家系統(tǒng)的研究與實現(xiàn)二、指導(dǎo)思想和目的要求指導(dǎo)學(xué)生綜合運用所學(xué)的基礎(chǔ)理論知識和專業(yè)技術(shù)知識,研究學(xué)習(xí)JAVA平臺下SNMP網(wǎng)絡(luò)程序的設(shè)計與開發(fā)技術(shù)以及Jess規(guī)則引擎;學(xué)習(xí)和掌握利用各種資料,尤其是網(wǎng)絡(luò)資源,分析和解決網(wǎng)絡(luò)故障管理專家系統(tǒng)設(shè)計與開發(fā)中遇到的各種實際問題;通過網(wǎng)絡(luò)故障管理專家系統(tǒng)項目的設(shè)計開發(fā),學(xué)習(xí)和掌握J(rèn)AVA平臺下設(shè)計與開發(fā)理論以及SNMP相關(guān)知識。三、主要技術(shù)指標(biāo)程序開發(fā)工具為Eclipse,頁面開發(fā)工具為Dreamweaver,數(shù)據(jù)庫為Oracle數(shù)據(jù)庫,規(guī)則引擎采用基于Java的Jess規(guī)則引擎。實現(xiàn)網(wǎng)絡(luò)故障專家系統(tǒng)的規(guī)則制定以及故障分析。實現(xiàn)的功能包括:網(wǎng)絡(luò)故障規(guī)則的制定;網(wǎng)絡(luò)故障規(guī)則的添加,修改,刪除;網(wǎng)絡(luò)故障告警信息的分析等。四、進度和要求2007年12月26日到2008年1月31日:完成畢業(yè)設(shè)計開題報告做完。這期間,在分析了大量的文獻資料后,決定采用以部分改良式的專家系統(tǒng)來部署整個系統(tǒng)。2008年2月1日到2008年3月1日:主要完成了部分知識儲備和部分技術(shù)的初步實施。上面系統(tǒng)中的四大模塊:數(shù)據(jù)庫;規(guī)則管理模塊;告警服務(wù)模塊;Web服務(wù)模塊。對于告警服務(wù)器模塊:研究AdventNet公司的SNMPJava開發(fā)包,研究怎樣通過使用開發(fā)包里的API來使管理站能與被管理站進行通信。這期間所有的trap信息接收及MIB信息的查詢都是通過使用模擬器來實現(xiàn)的。規(guī)則管理模塊:研究SandiaNationalLaboratories出品的基于Java平臺的規(guī)則引擎Jess系統(tǒng)。重點學(xué)習(xí)了怎樣去寫規(guī)則以及怎樣使規(guī)則能夠正常推理。數(shù)據(jù)庫部分:學(xué)習(xí)Oracle數(shù)據(jù)庫的使用和管理。這階段使用Oracle的數(shù)據(jù)庫進行規(guī)則信息的輸入,并通過規(guī)則管理模塊使用JDBC與其進行通信。2008年3月1日到2008年4月1日:對思科設(shè)備的告警信息進行歸類及分析研究。2008年4月1日到2008年4月17日:研究思科設(shè)備的規(guī)則信息結(jié)構(gòu)。因為規(guī)則信息是需要不斷的輸入的,所以這個工作一直不斷的進行下去。2008年4月18日到2008年4月2008年4月28日到2008年2008年5月5日到2008年52008年6月1日到2008年6月13日五、主要參考書及參考資料【1】AdventNet.AdventNetSNMPAPI4文檔[E]./.2008年1月。【2】SandiaNationalLaboratories.JessInAction[E].ErnestFriedman-Hill.2008年2月。【3】MetaStuff.dom4j1.6.1API[E]./projects/dom4j.2008年5月?!?】XMLNetworks.TRAPObjectsforcisco[E]./.2008年3月?!?】CiscoSystems.SNMPObjectNavigator[E]./Support/SNMP/do/BrowseOID.do?local=en.2008年3月?!?】W.RichardStevents.TCP/IP詳解卷一:協(xié)議[M].機械工業(yè)出版社.2007年11月?!?】李千目.一種基于自愈策略的網(wǎng)絡(luò)故障診斷系統(tǒng)[J].儀器儀表學(xué)報.2005年8月?!?】劉培奇.擴展產(chǎn)生式規(guī)則的網(wǎng)絡(luò)故障診斷專家系統(tǒng)[J].西安交通大學(xué)學(xué)報.2004年8月?!?】薛軍.基于專家系統(tǒng)的網(wǎng)絡(luò)故障智能管理系統(tǒng)的設(shè)計和實現(xiàn)[C].中國計算機學(xué)會第12屆網(wǎng)絡(luò)與數(shù)據(jù)通信學(xué)術(shù)會議.2002年12月?!?0】陳敏.網(wǎng)絡(luò)故障診斷專家系統(tǒng)中知識庫的設(shè)計[J].電子科技大學(xué)學(xué)報.2005年12月?!?1】楊廣明.網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù)的研究與實現(xiàn)[C].中國計算機學(xué)會第12屆網(wǎng)絡(luò)與數(shù)據(jù)通信學(xué)術(shù)會議.2002年12月。學(xué)生________指導(dǎo)教師___________系主任___________目錄摘要 IAbstract II第1章緒論 11.1設(shè)計的目的和意義 11.2專家系統(tǒng)發(fā)展情況簡介 11.3設(shè)計原理及規(guī)模介紹 2第2章理論分析 32.1SNMP技術(shù)及原理 32.1.1SNMP原理 32.1.2AdventNetSNMPAPI 52.2規(guī)則引擎及規(guī)則 62.2.1規(guī)則引擎的簡介和原理 62.2.2Jess規(guī)則引擎 72.3頁面開發(fā) 92.3.1MVC模式 92.3.2JavaServlet技術(shù)簡介 92.3.3XML的應(yīng)用 11第3章網(wǎng)絡(luò)故障管理專家系統(tǒng)的分析與設(shè)計 123.1專家系統(tǒng)設(shè)計目標(biāo) 123.2專家系統(tǒng)系統(tǒng)結(jié)構(gòu)及功能需求 123.3專家系統(tǒng)需求分析 133.3.1專家系統(tǒng)需求描述 133.4專家系統(tǒng)功能模塊 143.4.1Web服務(wù)器模塊 143.4.2數(shù)據(jù)庫模塊 153.4.3規(guī)則管理模塊 163.4.4告警服務(wù)器模塊 173.5本章小結(jié) 20第4章網(wǎng)絡(luò)故障管理專家系統(tǒng)的詳細(xì)設(shè)計 224.1網(wǎng)絡(luò)故障管理專家系統(tǒng)的環(huán)境 224.1.1開發(fā)和運行環(huán)境 224.2網(wǎng)絡(luò)故障管理專家系統(tǒng)的具體實現(xiàn) 224.2.1Web服務(wù)器模塊 224.2.2數(shù)據(jù)庫模塊的實現(xiàn) 244.2.3規(guī)則管理模塊 244.2.4告警服務(wù)模塊 264.3項目中的難點 274.3.1規(guī)則信息的收集 274.3.2規(guī)則知識 294.4本章小結(jié) 30第5章結(jié)論 315.1開發(fā)中遇到問題 315.2設(shè)計中的不足之處 35致謝 36參考文獻 37畢業(yè)設(shè)計小結(jié) 38摘要專家系統(tǒng)是一個具有智能特點的計算機程序,它的智能化主要表現(xiàn)為能夠在特定的領(lǐng)域內(nèi)模仿人類專家思維來求解復(fù)雜問題。因此,專家系統(tǒng)必須包含領(lǐng)域?qū)<业拇罅恐R,擁有類似人類專家思維的推理能力,并能用這些知識來解決實際問題。它能解決特定領(lǐng)域的具體問題,但是需要大量與研究領(lǐng)域問題密切相關(guān)的知識;能對自身的工作過程進行推理,基于知識的問題求解方法,知識庫與推理機分離等特點。本文關(guān)注的是網(wǎng)絡(luò)故障管理專家系統(tǒng),就是應(yīng)用專家知識來判斷和推理故障發(fā)生的原因等信息。著重進行了知識的采集,知識的存儲,推理規(guī)則的制定等方面的研究。規(guī)則引擎(即知識引擎)采用的是基于Java的Jess規(guī)則引擎。整個設(shè)計的思路是:從系統(tǒng)的告警服務(wù)模塊得到網(wǎng)絡(luò)中的故障報警信息,通過在規(guī)則引擎中匹配規(guī)則,分析出故障的具體原因和處理方法。規(guī)則信息可以通過瀏覽器進行添加,修改和刪除等操作。為了便于操作,規(guī)則使用標(biāo)準(zhǔn)的XML格式來定義。這樣系統(tǒng)的規(guī)則管理模塊和規(guī)則推理模塊都可以對規(guī)則進行靈活的操作。關(guān)鍵詞:專家系統(tǒng),SNMP,Jess,告警信息

AbstractExpertSystemisasmartpartofthecomputerprogram,andit'sintelligenttobeabletomimichumanexpertsinspecificareasthoughttosolvecomplexproblems.Therefore,theexpertsystemmusthavealargenumberofexperts’knowledgeinthisfield,andhavesimilarreasoningabilitywithhumanthinking,andcanusethisknowledgetosolvepracticalproblems.Itcansolvethespecificproblemsinspecificareas,butneedsasubstantialamountofresearchareascloselyrelatedtotheissueofknowledge,anditcanworkontheirownprocessofreasoning,knowledge-basedproblemsolvingmethods,knowledgebaseandtheinferenceofmutualseparation,etc.Thispaperisconcernedonnetworkfaultmanagementexpertsystem,whichusestheexpertknowledgeandreasoningmechanismtodeterminethereasonsforthefailureoccurred,andotherinformation.Wefocusontheacquisitionofknowledge,storageofknowledge,reasoningandsoon.Rulesengine(thatis,knowledgeengine)usesaJava-basedJessrulesengine.Thewholedesignisintheidea:thetrapinformationreceivedfromthenetworkfailurealarmmodule,matchrulesthroughtherulesengine,andconcludethefailureofthespecificcausesandtreatment.Throughthebrowser,usercanadd,editanddeleterules.Inordertofacilitatetheoperation,weusethestandardrulesoftheXMLformat.Thissystemofrulesmanagementmoduleandrulesreasoningmodulecanbeflexibleinoperatingrules.KEYWORDS:ExpertSystem,SNMP,Jess,Trap緒論設(shè)計的目的和意義網(wǎng)絡(luò)管理包括故障管理、配置管理、安全管理、性能管理、計費管理等五大部分。其中故障管理是網(wǎng)絡(luò)管理中最基本的也是最重要的功能之一。一個好的故障管理系統(tǒng)可以大大提高網(wǎng)絡(luò)管理的工作效率。近年來,隨著計算機網(wǎng)絡(luò)規(guī)模的不斷擴大,使得對整個網(wǎng)絡(luò)的維護和操作變得相當(dāng)復(fù)雜,一方面隨著網(wǎng)絡(luò)業(yè)務(wù)和網(wǎng)絡(luò)規(guī)模的增加,對網(wǎng)管人員專業(yè)素質(zhì)的要求也愈來愈高。另一方面,在網(wǎng)絡(luò)的運營管理和維護中,當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時,常常要求必須在最短的時間內(nèi),正確地判斷出網(wǎng)絡(luò)故障所在的位置、故障的類型和引起故障的原因等,以便及時對故障進行修復(fù)。然而,在實際的網(wǎng)絡(luò)中,一個故障的產(chǎn)生,往往會引發(fā)起多個告警事件。而且,隨著網(wǎng)絡(luò)的復(fù)雜性和應(yīng)用水平的不斷提高,告警的種類和數(shù)量會越來越多,這些告警中有許多是相互之間關(guān)聯(lián)的。這樣,就要求對眾多的告警信息進行相關(guān)性分析,快速進行網(wǎng)絡(luò)的故障診斷和定位。本課題的目的是構(gòu)建一個應(yīng)用于實際網(wǎng)絡(luò)系統(tǒng)中的,可以進行實時網(wǎng)絡(luò)故障檢測及定位的管理系統(tǒng)。它通過不斷添加新的規(guī)則來豐富故障管理專家知識庫。專家系統(tǒng)發(fā)展情況簡介隨著計算機、人工智能技術(shù)的發(fā)展和應(yīng)用,對智能化網(wǎng)絡(luò)管理的要求愈來愈高。目前實現(xiàn)智能化故障管理系統(tǒng)的技術(shù)有專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊理論等等。專家系統(tǒng)是人工智能應(yīng)用研究最活躍和最廣泛的課題之一,它是一個智能計算機程序系統(tǒng),其內(nèi)部具有大量專家水平的某個領(lǐng)域知識與經(jīng)驗,應(yīng)用人工智能技術(shù),根據(jù)某個領(lǐng)域一個或多個人類專家提供的知識和經(jīng)驗進行推理和判斷,模擬人類專家的決策過程,以解決那些需要專家決定的復(fù)雜問題。雖然專家系統(tǒng)能夠有效的模擬故障診斷專家完成故障診斷的過程,但是在實際應(yīng)用中仍存在一定缺陷,其主要問題是知識獲取的瓶頸問題、知識難以維護,以及不能有效的解決故障診斷中許多不確定因素,這些問題大大影響了故障診斷的準(zhǔn)確性。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦組織結(jié)構(gòu)和人類認(rèn)知過程的信息處理系統(tǒng)。它以其諸多優(yōu)點,如并行分布處理、自適應(yīng)、聯(lián)想記憶等,在智能故障診斷中受到越來越廣泛的重視,而且已顯示出巨大的潛力。神經(jīng)網(wǎng)絡(luò)方法雖然有利于克服專家系統(tǒng)的知識獲取瓶頸、知識庫維護困難等問題,但它不適于處理啟發(fā)性知識。而且,由于神經(jīng)網(wǎng)絡(luò)技術(shù)本身不夠完備,它的學(xué)習(xí)速度慢,訓(xùn)練時間長以及解釋功能弱,從而影響了神經(jīng)網(wǎng)絡(luò)的實用性。在故障診斷中,故障與征兆之間的關(guān)系往往是模糊的,因而診斷結(jié)果也必然是模糊的隨著模糊理論的發(fā)展及完善,模糊理論的一些優(yōu)點逐步被重視,如模糊理論可適應(yīng)不確定性問題;其模糊知識庫使用語言變量來表述專家知識。但是它也具有維護困難,不具備學(xué)習(xí)能力的缺點。本課題采用的專家系統(tǒng)技術(shù),主要是通過專家在分析,歸納總結(jié)故障癥狀之后添加新的規(guī)則來獲取新的知識。設(shè)計原理及規(guī)模介紹本設(shè)計是要構(gòu)建一個具備推理功能的網(wǎng)絡(luò)故障專家系統(tǒng)。它通過接收網(wǎng)絡(luò)中發(fā)來的告警信息并匹配事先添加好的規(guī)則來判斷故障的原因并得出故障處理的方案。本設(shè)計采用了基于Java的Jess規(guī)則引擎,采用分析特定網(wǎng)絡(luò)設(shè)備的告警信息(本設(shè)計主要參考的是思科的設(shè)備)的方法來制定規(guī)則。主要的研究手段是通過官方網(wǎng)站及相關(guān)技術(shù)資料查找關(guān)于思科設(shè)備的告警信息,并總結(jié)出規(guī)律,制定規(guī)則。整個研究的實驗期的網(wǎng)絡(luò)設(shè)備包括一臺管理站及一臺作為被管理站的服務(wù)器,但該程序會應(yīng)用于第四軍醫(yī)大學(xué)網(wǎng)絡(luò)中心的部分網(wǎng)絡(luò)中。理論分析SNMP技術(shù)及原理SNMP原理SNMP協(xié)議簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)是Internet組織用來管理Internet的網(wǎng)絡(luò)協(xié)議,隨著Internet所使用的TCP/IP協(xié)議族成為事實上的互連協(xié)議標(biāo)準(zhǔn),SNMP也成為計算機網(wǎng)絡(luò)管理方面大家實際遵循的標(biāo)準(zhǔn)。在SNMP管理模型中有三個基本組成部分:管理者(Manager),被管理代理(Agent)和管理信息庫(MIB)。管理站一般是一個單機設(shè)備或一個共享網(wǎng)絡(luò)中的一員,它是網(wǎng)絡(luò)管理員和網(wǎng)絡(luò)管理系統(tǒng)的接口,能將網(wǎng)絡(luò)管理員的命令轉(zhuǎn)換成對遠(yuǎn)程網(wǎng)絡(luò)元素的監(jiān)視和控制,同時從網(wǎng)上所有被管理實體的MIB(管理信息庫)中提取出信息數(shù)據(jù)。作為管理站,它還必須擁有能進行數(shù)據(jù)分析、故障發(fā)現(xiàn)等管理應(yīng)用軟件。整個管理站的管理工作是通過輪詢代理來完成的。管理者可以通過SNMP操作直接與被管理代理進行通信,獲得實時的設(shè)備信息,對網(wǎng)絡(luò)設(shè)備進行遠(yuǎn)程配置管理或者操作;也可以通過對數(shù)據(jù)庫的訪問獲得網(wǎng)絡(luò)設(shè)備的歷史信息,以決定網(wǎng)絡(luò)配置變化進行操作。SNMP被管理代理指的是用于跟蹤監(jiān)測被管理設(shè)備狀態(tài)的特殊軟件或硬件,每個代理都擁有自己本地的MIB。實際上,SNMP的管理任務(wù)是移交給被管理代理來執(zhí)行的。代理翻譯來自管理站的請求,驗證操作的可執(zhí)行性,通過直接與相應(yīng)的功能實體通信來執(zhí)行信息處理任務(wù),同時向管理站返回響應(yīng)信息。MIB信息為網(wǎng)管中被管理的資源,而網(wǎng)絡(luò)管理中的資源是以對象表示的,每個對象表示被管理資源的某方面屬性,這些對象形成了MIB庫。每個MIB變量記錄了每個相連網(wǎng)絡(luò)的狀態(tài)、通信量統(tǒng)計數(shù)據(jù)、發(fā)生差錯的次數(shù)以及內(nèi)部數(shù)據(jù)結(jié)構(gòu)的當(dāng)前內(nèi)容等。網(wǎng)絡(luò)管理者通過對MIB庫的存取訪問,來實現(xiàn)五大管理功能:性能管理、配置管理、安全管理、故障管理和計費管理。SNMP的五種消息類型SNMP中定義了五種消息類型:Get-Request、Get-Response、Get-Next-Request、Set-Request和Trap。(1)Get-Request、Get-Next-Request與Get-ResponseSNMP管理站用Get-Request消息從擁有SNMP代理的網(wǎng)絡(luò)設(shè)備中檢索信息,而SNMP代理則用Get-Response進行消息響應(yīng)。Get-Next-Request用于和Get-Request組合起來查詢特定的表對象中的列元素。如:首先通過下面的原語獲得所要查詢的設(shè)備的接口數(shù):{isoorg(3)dod(6)internet(1)mgmt(2)mib(1)interfaces(2)ifNumber(2)}然后再通過下面的原語,進行查詢(其中第一次用Get-Request,其后用Get-Next-Request):{isoorg(3)dod(6)internet(1)mgmt(2)mib(1)interfaces(2)ifTable(2)}(2)Set-RequestSNMP管理站用Set-Request可以對網(wǎng)絡(luò)設(shè)備進行遠(yuǎn)程配置(包括設(shè)備名、設(shè)備屬性、刪除設(shè)備或使某一個設(shè)備屬性有效/無效等)。(3)TrapSNMP代理使用Trap向SNMP管理站發(fā)送非請求消息,一般用于描述某一事件的發(fā)生。本論文中的接收的Trap信息主要是指一些網(wǎng)絡(luò)故障信息。SNMP管理信息庫MIB。管理信息庫MIB指明了網(wǎng)絡(luò)元素所維持的變量(即能夠被管理進程進行查詢和設(shè)置的信息)。MIB給出了一個網(wǎng)絡(luò)中所有可能的被管理對象的集合的數(shù)據(jù)結(jié)構(gòu)。SNMP的管理信息庫采用和域名系統(tǒng)DNS相似的樹型結(jié)構(gòu),它的根在最上面,根沒有名字。管理信息庫的對象命名舉例對象命名樹的頂級對象有三個,即ISO、ITU-T和這兩個組織的聯(lián)合體。在ISO的下面有4個結(jié)點,其中的一個(標(biāo)號3)是被標(biāo)識的組織。在其下面有一個美國國防部(DepartmentofDefense)的子樹(標(biāo)號是6),再下面就是Internet(標(biāo)號是1)。在只討論Internet中的對象時,可只畫出Internet以下的子樹,并在Internet結(jié)點旁邊標(biāo)注上{}即可。在Internet結(jié)點下面的第二個結(jié)點是mgmt(管理),標(biāo)號是2。再下面是管理信息庫,原先的結(jié)點名是mib。1991年定義了新的版本MIB-II,故結(jié)點名現(xiàn)改為mib-2,其標(biāo)識為{.2.1},或{Internet(1).2.1}。這種標(biāo)識為對象標(biāo)識符。圖STYLEREF1\s2.SEQ圖表\*ARABIC\s11管理信息庫對象名舉例最初的結(jié)點mib將其所管理的信息分為8個類別。現(xiàn)在的mib-2所包含的信息類別已超過40個。應(yīng)當(dāng)指出,MIB的定義與具體的網(wǎng)絡(luò)管理協(xié)議無關(guān),這對于廠商和用戶都有利。廠商可以在產(chǎn)品(如路由器)中包含SNMP代理軟件,并保證在定義新的MIB項目后該軟件仍遵守標(biāo)準(zhǔn)。用戶可以使用同一網(wǎng)絡(luò)管理客戶軟件來管理具有不同版本的MIB的多個路由器。當(dāng)然,一個沒有新的MIB項目的路由器不能提供這些項目的信息。這里要提一下MIB中的對象{.4.1},即enterprises(企業(yè)),其所屬結(jié)點數(shù)已超過3000。例如IBM為.4.1.2},Cisco為{.4.1.9},Novell為{.4.1.23}等。世界上任何一個公司、學(xué)校只要用電子郵件發(fā)往iana-mib@進行申請即可獲得一個結(jié)點名。這樣各廠家就可以定義自己的產(chǎn)品的被管理對象名,使它能用SNMP進行管理。AdventNetSNMPAPIAdventNetsnmpAPI開發(fā)包是由美國AdventNet,inc公司開發(fā)的一個專門用于處理管理站與被管理站之間傳遞的SNMP信息的一個開發(fā)包。它是可以用來創(chuàng)建跨平臺的Java的SNMP網(wǎng)絡(luò)管理程序和基于Web的SNMP網(wǎng)絡(luò)管理Applet程序的一組組件。它的主要特點是:完全支持snmpv1,snmpv2c和SNMPv3的。MIB信息的裝入。SNMP廣播:廣播SNMP數(shù)據(jù)包在整個網(wǎng)絡(luò)中自動發(fā)現(xiàn)在網(wǎng)絡(luò)中支持SNMP協(xié)議的設(shè)備。提供高層次的bean組件,例如,snmptarget,snmptable,snmppoller,trapreceiver便于應(yīng)用的開發(fā)。數(shù)據(jù)庫支持:提供可擴展存儲的MIB定義和SNMPv3的配置數(shù)據(jù)在任何關(guān)聯(lián)式資料庫,例如,MySQL和Oracle(本程序所使用的數(shù)據(jù)庫為Oracle)。MIB的瀏覽器:工具管理網(wǎng)絡(luò)和系統(tǒng)組件??梢宰鳛橐粋€獨立的應(yīng)用程序來運行,也可以作為益而高基于Web瀏覽器的程序來運行。還有其它的一些別的特點。規(guī)則引擎及規(guī)則規(guī)則引擎的簡介和原理專家系統(tǒng)是人工智能的一個分支,它模仿人類的推理方式,使用試探性的方法進行推理,并使用人類能理解的術(shù)語解釋和證明它的推理結(jié)論。專家系統(tǒng)有很多分類:神經(jīng)網(wǎng)絡(luò)、基于案例推理和基于規(guī)則系統(tǒng)等。規(guī)則引擎是基于規(guī)則的專家系統(tǒng)的一部分,基于規(guī)則的專家系統(tǒng)(RuleBasedExpertSystem--RBES)是專家系統(tǒng)中很重要的一個分支。RBES包括三部分規(guī)則庫,事實庫(也叫做工作內(nèi)存),推理引擎,結(jié)構(gòu)如圖2.2所示:圖STYLEREF1\s2.SEQ圖表\*ARABIC\s12基于規(guī)則的專家系統(tǒng)的結(jié)構(gòu)圖和人類的思維相對應(yīng),規(guī)則引擎存在兩者推理方式:演繹法(Forward-Chaining)和歸納法(Backward-Chaining)。演繹法從一個初始的事實出發(fā),不斷地應(yīng)用規(guī)則得出結(jié)論(或執(zhí)行指定的動作)。而歸納法則是從假設(shè)出發(fā),不斷地尋找符合假設(shè)的事實。Rete算法是目前效率最高的一個Forward-Chaining推理算法,Drools項目是Rete算法的一個面向?qū)ο蟮腏ava實現(xiàn)。規(guī)則引擎的推理步驟如下:將初始數(shù)據(jù)(fact)輸入工作引擎。使用類型匹配比較規(guī)則(rule)和事實(fact)。如果執(zhí)行規(guī)則存在沖突,即同時激活了多個規(guī)則,將沖突的規(guī)則放入沖突集合。解決沖突,將激活的規(guī)則按順序放入“議程”序列。使用規(guī)則引擎執(zhí)行“議程”序列中的規(guī)則。重復(fù)步驟2至5,直到執(zhí)行完畢所有“議程”中的規(guī)則。Jess規(guī)則引擎同大多數(shù)專家系統(tǒng)工具一樣,Jess的核心也是由事實庫、規(guī)則庫、推理機三大部分組成,并采用產(chǎn)生式規(guī)則作為基本的知識表達(dá)模式。在Jess中,事實包括簡單事實和對象事實。簡單事實就是一個描述事物的斷言,而對象事實除此之外還封裝了方法,可以接受外界信息改變自身的特征。這一概念本身并不是Jess首次提出的,ART-IM、CLIPS都支持這一概念。但Jess表達(dá)對象事實的方法確實別具一格:它用Java而非系統(tǒng)本身的語言來定義對象。在CLIPS6.0中,對象事實通過系統(tǒng)本身的語句defclass和make-instance來定義,但在Jess中,類的定義由Java語言書寫,編譯通過后即可動態(tài)地加入系統(tǒng)中。用Java虛擬機編譯通過后,通過defclass命令將該類加入系統(tǒng),它就可以執(zhí)行類似于CLIPS中對類的各種操作,如生成它的一個實例、調(diào)用它的方法等。由此可見,Jess可以方便地調(diào)用Java中的類庫,使用Java中的各種數(shù)據(jù)結(jié)構(gòu)和方法,從而具備其他系統(tǒng)不可比擬的優(yōu)良的嵌入能力。Jess通過模式匹配語言對事實進行操作。在Jess中,模式匹配操作符的類型有很多,從可以同任意事實進行匹配的單一操作符到只能同滿足特定約束值的事實進行匹配的復(fù)雜操作符。特別要指出的是,Jess中有“unique”條件元素,它告訴系統(tǒng)同該模式匹配的事實是惟一的。這樣,當(dāng)模式發(fā)現(xiàn)一條事實同它匹配后,就會停止對事實庫的檢索,在實際應(yīng)用中,這可以將系統(tǒng)的性能提高20%~30%,而CLIPS系統(tǒng)不支持這一條件元素。在Jess中,規(guī)則的表達(dá)形式沿用了CLIPS的語法結(jié)構(gòu),通過對規(guī)則前件和后件的限定,它可以支持內(nèi)容豐富的模式匹配語言。另外,Jess支持面向過程的編程方式,它提供了一些語句來控制規(guī)則后件的操作流程,如使用if…then…else和while…do…語句,這樣它就能很有效地利用面向過程編程的優(yōu)勢。總之,Jess的這些特性使系統(tǒng)擁有很強的知識表示能力。Jess支持前向和逆向推理兩種方式,前向推理同CLIPS的原理相同,逆向推理則是Jess不同于CLIPS的一個顯著特征。在Jess的逆向推理中,規(guī)則仍采用if…then…結(jié)構(gòu),但是在逆向推理時,推理引擎執(zhí)行的是前件沒有得到滿足的規(guī)則,這種行為常常被稱為目標(biāo)尋找。顯然,Jess同時支持前向和逆向推理的特點使其推理能力得到了加強。推理的效率很大程度上依賴于匹配算法的效率。Jess通過實現(xiàn)Rete匹配算法來提供非常高效的前向和逆向推理。Rete算法利用了專家系統(tǒng)中時間冗余性和結(jié)構(gòu)相似性這兩個特點,有效地減少了用于匹配操作的次數(shù)。因此,當(dāng)系統(tǒng)的性能是由匹配算法的質(zhì)量決定時,Jess的優(yōu)點將更為明顯。應(yīng)當(dāng)指出的是,Rete算法是一個以空間換取時間的算法,所以,應(yīng)用Jess時應(yīng)當(dāng)考慮內(nèi)存的消耗。頁面開發(fā)MVC模式MVC模式最早來源于Smalltalk程序設(shè)計語言中對界面的構(gòu)造方法,包括三種類型:Model(模型)是應(yīng)用對象,view(視圖)是界面對象,Controller(控制器)是用戶界面對用戶輸入的響應(yīng)。MVC的目的是增加代碼的重用率,減少數(shù)據(jù)表達(dá),數(shù)據(jù)描述和應(yīng)用操作的耦合度。同時也使得軟件可維護性,可修復(fù)性,可擴展性,靈活性以及封裝性大大提高。Model表示應(yīng)用的數(shù)據(jù)及操作這些數(shù)據(jù)的邏輯方法。任何和整個應(yīng)用相關(guān)的持久性數(shù)據(jù)都放在模型中。View將模型的當(dāng)前狀態(tài)呈現(xiàn)給用戶,具體的顯示方法由視圖負(fù)責(zé),因此一個模型可以適用于多個不同的視圖。在模型狀態(tài)改變后,通過模型和視圖之間的協(xié)議,視圖得知這種改變并修改自己的顯示。對于用戶的輸入,視圖將它們交給控制器處理。Control負(fù)責(zé)交互,將用戶輸入的數(shù)據(jù)導(dǎo)入模型;它還利用用戶的輸入將應(yīng)用轉(zhuǎn)向其他視圖。MVC模式在項目的頁面實現(xiàn)部分使用。其中在項目文件夾“Management”下的jsp文件就是其中的視圖,包“com.JessOraclePage”下的servlet文件就是其中的控制器,而包“com.JessOracle.model”下的文件就是模型。MVC模式的應(yīng)用使得整個系統(tǒng)操作和應(yīng)用層次分明,易于維護。JavaServlet技術(shù)簡介技術(shù)簡介Servlet技術(shù)是Sun公司提供的一種實現(xiàn)動態(tài)網(wǎng)頁的解決方案,它是基于Java編程語言的WEB服務(wù)器端編程技術(shù),主要用于在WEB服務(wù)器端獲得客戶端的訪問請求信息和動態(tài)生成對客戶端的響應(yīng)消息。Servlet技術(shù)也是JSP技術(shù)(另外一種動態(tài)網(wǎng)頁開發(fā)技術(shù))的基礎(chǔ)。一個Servlet程序就是一個實現(xiàn)了特殊接口的Java類,用于被支持Servlet的WEB服務(wù)器調(diào)用和運行,即只能運行于具有Servlet引擎的WEB服務(wù)器端。一個Servlet程序負(fù)責(zé)處理它所對應(yīng)的一個或一組URL地址的訪問請求,接收訪問請求信息和產(chǎn)生響應(yīng)內(nèi)容。Applet是用于瀏覽器端的Java小程序,在瀏覽器端被解釋執(zhí)行,用于在HTML網(wǎng)頁中實現(xiàn)一些桌面應(yīng)用程序的功能,被稱為“小應(yīng)用程序”。Servlet是用于WEB服務(wù)器端的Java小程序,它在WEB服務(wù)器端被解釋執(zhí)行,用于處理客戶端的請求和產(chǎn)生動態(tài)網(wǎng)頁內(nèi)容。源于Applet的命名,這種WEB服務(wù)器端的Java小程序就被命名為了Servlet,與Applet相對應(yīng),Servlet可以被稱之為“小服務(wù)程序”。Servlet與普通java程序相比,只是輸入信息的來源和輸出結(jié)果的目標(biāo)不一樣,所以,普通Java程序所能完成的大多數(shù)任務(wù),Servlet程序都可以完成。Servlet程序具有如下的一些基本功能:獲取客戶端通過HTML的FORM表單遞交的數(shù)據(jù)和URL后面的參數(shù)信息;創(chuàng)建對客戶端的響應(yīng)消息內(nèi)容;訪問服務(wù)器端的文件系統(tǒng);連接數(shù)據(jù)庫并開發(fā)基于數(shù)據(jù)庫的應(yīng)用;調(diào)用其它的Java類。編寫與編譯Servlet程序一個Servlet程序就是一個在WEB服務(wù)器端運行的特殊Java類,這個特殊的Java類必須實現(xiàn)javax.servlet.Servlet接口,Servlet接口定義了Servlet容器與Servlet程序之間通信的協(xié)議約定。為了簡化Servlet程序的編寫,ServletAPI中也提供了一個實現(xiàn)了Servlet接口的最簡單的Servlet類,其完整名稱為javax.servlet.GenericServlet,這個類實現(xiàn)了Servlet程序的基本特征和功能。ServletAPI中還提供了一個專用于HTTP協(xié)議的Servlet類,其名稱是javax.servlet.http.HttpServlet,它是GenericServlet的子類,在GenericServlet類的基礎(chǔ)上進行了一些針對HTTP特點的擴充。顯然,一個Java類只要繼承了GenericServlet或HttpServlet,它就是一個Servlet。反過來說,要編寫一個Servet類,這個類必須繼承GenericServlet類或HttpServlet類。為了充分利用HTTP協(xié)議的功能,在一般情況下,都應(yīng)讓自己編寫的Servlet類繼承HttpServlet類,而不是繼承GenericServlet類。查看HttpServlet類的幫助文檔,可以看到其中有一個名為service的方法,當(dāng)客戶端每次訪問一個Servlet程序時,Servlet引擎都將調(diào)用這個方法來進行處理。service方法接受兩個參數(shù),一個是用于封裝HTTP請求消息的對象,其類型為HttpServletRequest,另一個是代表HTTP響應(yīng)消息的對象,其類型為HttpServletResponse。調(diào)用HttpServletResponse對象的getWriter方法可以獲得一個文本輸出流對象,向這個流對象中寫入的數(shù)據(jù)將作為HTTP響應(yīng)消息的實體內(nèi)容部分發(fā)送給客戶端。XML的應(yīng)用XML(ExtensibleMarkupLanguage,可擴展標(biāo)記語言)是SGML(StandardGeneralizedMarkupLanguage,標(biāo)準(zhǔn)通用標(biāo)記語言)的子集。其主要優(yōu)勢在于它能夠表達(dá)數(shù)據(jù)的語義信息,因為XML基于開放的文本格式,所以它不需要改變現(xiàn)有的網(wǎng)絡(luò),而同HTML一樣使用HTT'P協(xié)議進行文本文檔的傳送。而且,因為XML將數(shù)據(jù)顯示與數(shù)據(jù)內(nèi)容分離,所以XML數(shù)據(jù)發(fā)送到客戶端后,可以使用多種方式顯示。網(wǎng)絡(luò)故障管理專家系統(tǒng)的分析與設(shè)計專家系統(tǒng)設(shè)計目標(biāo)本系統(tǒng)的目標(biāo)是要設(shè)計一個可以應(yīng)用到實際網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的能夠?qū)崟r檢測網(wǎng)絡(luò)故障并分析網(wǎng)絡(luò)故障原因的故障管理系統(tǒng)。該系統(tǒng)能夠通過由管理員不斷的添加網(wǎng)絡(luò)故障規(guī)則來豐富故障知識庫。該知識庫的規(guī)則用于匹配系統(tǒng)接收到的故障告警信息,并通過推理得出故障原因。其中需要注意以下兩點:系統(tǒng)能夠?qū)崟r接收來自網(wǎng)絡(luò)拓?fù)渲械墓收细婢畔?,并將其處理發(fā)送到專家?guī)斓囊?guī)則引擎部分進行規(guī)則匹配。管理員可以通過登錄來對知識庫中的規(guī)則進行添加、刪除、修改等操作,以此來完善、豐富知識庫。專家系統(tǒng)系統(tǒng)結(jié)構(gòu)及功能需求整個系統(tǒng)包含Web服務(wù)器模塊、數(shù)據(jù)庫模塊、規(guī)則庫管理模塊、告警服務(wù)模塊等四部分。圖3.1是本畢業(yè)設(shè)計系統(tǒng)結(jié)構(gòu)圖:圖STYLEREF1\s3.SEQ圖表\*ARABIC\s11網(wǎng)絡(luò)故障管理專家系統(tǒng)的結(jié)構(gòu)圖web服務(wù)器模塊:管理員通過web服務(wù)器模塊查看告警服務(wù)模塊傳來的故障診斷信息,以及時對故障進行排查。管理員或?qū)<夷芡ㄟ^web服務(wù)器模塊錄入設(shè)計好的規(guī)則,也可以對系統(tǒng)自動學(xué)習(xí)到的規(guī)則進行確認(rèn)并自動錄入到規(guī)則庫中。該模塊主要使用Servlet+JSP+JavaBean技術(shù)實現(xiàn)。數(shù)據(jù)庫模塊:數(shù)據(jù)庫里面存儲了規(guī)則信息、網(wǎng)絡(luò)拓?fù)湫畔?、告警記錄及網(wǎng)絡(luò)故障日志等信息。規(guī)則信息是判斷網(wǎng)絡(luò)故障的依據(jù)。網(wǎng)絡(luò)拓?fù)湫畔⒌墨@得由管理服務(wù)器的告警服務(wù)模塊通過對網(wǎng)絡(luò)設(shè)備進行輪詢獲得。告警記錄來于網(wǎng)絡(luò)設(shè)備發(fā)送的SNMP告警信息。網(wǎng)絡(luò)故障處理日志包括每次發(fā)生的故障、處理方法及結(jié)果,主要是為了便于以后網(wǎng)絡(luò)維護和故障分析。規(guī)則庫管理:規(guī)則庫管理模塊通過JDBC訪問數(shù)據(jù)庫中的規(guī)則信息。當(dāng)專家在分析故障癥狀之后添加一條新的規(guī)則時,由規(guī)則庫管理系統(tǒng)將該信息添加到數(shù)據(jù)庫中。另外,規(guī)則庫管理模塊自動學(xué)習(xí)到的規(guī)則在由管理員或者專家確認(rèn)后自動錄入到數(shù)據(jù)庫中,成為新的規(guī)則。本課題的規(guī)則引擎及規(guī)則的表達(dá)形式是基于Jess(javaexpertsystemshell)來開發(fā)的。告警服務(wù)模塊:該模塊實現(xiàn)與外部設(shè)備的交互,主要包括兩部分:一部分負(fù)責(zé)向網(wǎng)絡(luò)中的設(shè)備發(fā)送輪詢信息及接收相應(yīng)的反饋信息,并對該信息進行處理,從而獲得網(wǎng)絡(luò)中設(shè)備的運行狀態(tài),網(wǎng)絡(luò)拓?fù)涞刃畔?;另一部分,?dāng)網(wǎng)絡(luò)中的設(shè)備或拓?fù)涑霈F(xiàn)異常時,該模塊自動接收來自網(wǎng)絡(luò)的告警信息,結(jié)合上一部分輪詢獲得的信息,調(diào)用規(guī)則庫管理模塊獲得相應(yīng)的規(guī)則對告警信息進行過濾、分析,得出該故障的發(fā)生原因及定位。管理員可以通過瀏覽器及時準(zhǔn)確的發(fā)現(xiàn)并解決故障。專家系統(tǒng)需求分析專家系統(tǒng)需求描述作為一個應(yīng)用于實際網(wǎng)絡(luò)中的故障管理系統(tǒng),它的主要需求就來自于網(wǎng)絡(luò)管理員對于網(wǎng)絡(luò)故障檢測和處理的需求。管理員需要能夠?qū)崟r接收到故障信息并得出分析解決方案。作為一個能夠不斷豐富的專家知識庫,管理員可以通過登錄規(guī)則管理模塊對規(guī)則信息進行添加,修改和刪除等操作。專家系統(tǒng)功能模塊Web服務(wù)器模塊此模塊的架構(gòu)采用B/S(Browser/Server)模式。該模塊包括瀏覽器從Web服務(wù)器上獲得故障信息,得到處理意見,然后再去處理故障。網(wǎng)絡(luò)管理專家或者管理員可以通過瀏覽器調(diào)用規(guī)則庫管理模塊對規(guī)則進行添加、刪除和更新等操作。我們采用Push方式使故障信息從Web服務(wù)器上push到管理員或者專家的瀏覽器上,并通過報警提示音來提醒管理員或者專家及時處理故障問題。圖3.2是對于Push機制實現(xiàn)的示意圖。Push機制的實現(xiàn):Push機制客戶端實現(xiàn)客戶端是一個Applet類文件,當(dāng)瀏覽器在HTML文檔中找到這個類文件時,通過網(wǎng)絡(luò)將類文件裝載到瀏覽器所在的計算機上。Applet與告警服務(wù)器建立連接。Applet是一個多線程的程序,其中一個線程對告警服務(wù)器進行偵聽,接收報警服務(wù)器發(fā)來的故障報警,Applet主線程負(fù)責(zé)對GUI事件進行處理。Push機制中告警服務(wù)器端的實現(xiàn)告警服務(wù)器上運行的是一個多線程程序。其中,一個線程監(jiān)聽是否有新的客戶Applet請求連接。如果有,則為它創(chuàng)建一個對應(yīng)的線程并添加到Vector中,用于向客戶端報警。當(dāng)另一個線程接收到故障報警后,啟動Vector中的所有線程,向所有連接到告警服務(wù)器的客戶端報警,并將報警內(nèi)容寫入數(shù)據(jù)庫。圖STYLEREF1\s3.SEQ圖表\*ARABIC\s12網(wǎng)絡(luò)故障管理專家系統(tǒng)的結(jié)構(gòu)圖數(shù)據(jù)庫模塊知識庫的構(gòu)造:產(chǎn)生式規(guī)則表示知識;事實庫、規(guī)則庫均采用表數(shù)據(jù)結(jié)構(gòu)表示。事實庫:綜合數(shù)據(jù)庫,存放輸入的原始事實,推理得到的中間結(jié)果及最終結(jié)論。此系統(tǒng)中兩個事實庫,正向構(gòu)造使用一個庫,而反向推理過程用另一個事實庫規(guī)則庫:在數(shù)據(jù)庫中使用四個表來創(chuàng)建規(guī)則庫:規(guī)則前件庫;已激活的規(guī)則前件庫;規(guī)則后件庫;已激活的規(guī)則后件庫。其中規(guī)則前件表存放的是所定義的規(guī)則中的if語段。規(guī)則后件表存放的是所定義的規(guī)則中的then語段。已激活的規(guī)則前件庫存放的是接收到告警信息在規(guī)則匹配中匹配成功的if語段。已激活的規(guī)則后件庫存放的是由已激活的規(guī)則前件通過規(guī)則推理出的故障事實。規(guī)則前件庫:存放各條規(guī)則的前提條件,分兩個字段:規(guī)則名和事實(前提)。事實是規(guī)則的一個前提,如有n個前提,則庫中就要n條對應(yīng)規(guī)則的記錄。已激活的規(guī)則前件庫:存放的是已激活的前提條件。在本系統(tǒng)中,只有反向推理過程用到,存放需要求證的事實。規(guī)則后件庫:存放各條規(guī)則的結(jié)論。分三個字段:規(guī)則名;事實(結(jié)論)和該規(guī)則的前提條件的個數(shù)。已激活的規(guī)則后件庫:存放已經(jīng)激活的后件。對于正向推理,存放的是正向推理選擇的某個故障目標(biāo)。對于反向推理,則是取其內(nèi)容,找支持此目標(biāo)的前提是否滿足來證實該目標(biāo)或提高其可信度。規(guī)則管理模塊規(guī)則庫管理模塊包括管理規(guī)則部分、規(guī)則引擎中的推理引擎、知識自動學(xué)習(xí)機制等多個小模塊組成。管理規(guī)則:管理規(guī)則部分的功能主要是對規(guī)則進行添加、刪除和更新等操作。這些操作需要在網(wǎng)絡(luò)管理專家或者網(wǎng)絡(luò)管理員的確認(rèn)下進行最終的確認(rèn)動作。規(guī)則引擎的工作機制:規(guī)則引擎由規(guī)則庫、工作內(nèi)存和推理引擎三部分組成。規(guī)則庫存放的是系統(tǒng)應(yīng)用中所需要的所有的規(guī)則。這些規(guī)則包括前提約束條件和滿足條件應(yīng)觸發(fā)的動作。工作內(nèi)存用于存放規(guī)則引擎運行時的事實對象。而推理引擎是規(guī)則引擎的核心部分,它細(xì)分為模式匹配器、議程(Agenda)和執(zhí)行引擎等幾部分。圖3.3是規(guī)則引擎工作機制的示意圖。下面是規(guī)則引擎的工作機制:規(guī)則庫根據(jù)工作內(nèi)存中對象的索引快速檢索各個對象狀態(tài),與加載到規(guī)則引擎中的規(guī)則庫中各項規(guī)則前件進行匹配,激活符合條件的規(guī)則,放入沖突集中,此過程通過模塊匹配器實現(xiàn)。根據(jù)沖突解決策略,為沖突集中的規(guī)則制定優(yōu)先權(quán)。規(guī)則通過優(yōu)先權(quán)的高低,排序生成議程。議程中規(guī)則隊列接到規(guī)則引擎的觸發(fā)指令時,優(yōu)先權(quán)最高的規(guī)則被執(zhí)行。此過程由執(zhí)行引擎來實現(xiàn)。議程中的第一個規(guī)則執(zhí)行后,觸發(fā)規(guī)則的后件會改變工作內(nèi)存匯總的事實對象,可能會導(dǎo)致議程中某些規(guī)則的前提條件不再得到滿足。這些規(guī)則必須從議程中撤銷。反之,工作內(nèi)存中改變的數(shù)據(jù)對象會使規(guī)則庫中的一些新的規(guī)則前件得到匹配,從而激活一些新的規(guī)則進入沖突集。圖STYLEREF1\s3.SEQ圖表\*ARABIC\s13工作引擎的執(zhí)行機制以上四個階段不停循環(huán),產(chǎn)生一種動態(tài)的規(guī)則執(zhí)行鏈,直到議程中沒有規(guī)則可以被觸發(fā)或每個事實都處理完畢時停止。告警服務(wù)器模塊該模塊實現(xiàn)與外部設(shè)備的交互,主要包括兩部分:一部分負(fù)責(zé)向網(wǎng)絡(luò)中的設(shè)備發(fā)送輪詢信息及接收相應(yīng)的反饋信息,并對該信息進行處理,從而獲得網(wǎng)絡(luò)中設(shè)備的運行狀態(tài),網(wǎng)絡(luò)拓?fù)涞刃畔?;另一部分,?dāng)網(wǎng)絡(luò)中的設(shè)備或拓?fù)涑霈F(xiàn)異常時,該模塊自動接收來自網(wǎng)絡(luò)的告警信息,結(jié)合上一部分輪詢獲得的信息,調(diào)用規(guī)則庫管理模塊獲得相應(yīng)的規(guī)則對告警信息進行過濾、分析,得出該故障的發(fā)生原因及定位。管理員可以通過瀏覽器及時準(zhǔn)確的發(fā)現(xiàn)并解決故障。正常情況下:告警服務(wù)器模塊需要通過輪詢獲得網(wǎng)絡(luò)的運行狀態(tài)和網(wǎng)絡(luò)拓?fù)涞确矫娴男畔?。網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)是其中的一個非常重要的功能。既應(yīng)該有三層網(wǎng)絡(luò)設(shè)備的發(fā)現(xiàn),也應(yīng)該有二層設(shè)備的發(fā)現(xiàn)。對于三層拓?fù)浒l(fā)現(xiàn),有以下常用的基本方法:用SNMP獲得MIB拓?fù)湫畔?。用ICMP的Ping/Pingbroadcast命令判斷目的設(shè)備的存在性。利用ICMP的Traceroute命令獲得路由器與路由器間的連接關(guān)系。利用DNS命令發(fā)現(xiàn)域內(nèi)主機和路由器的相關(guān)拓?fù)?。利用ARP協(xié)議獲取同一以太網(wǎng)網(wǎng)段內(nèi)的所有活動主機的拓?fù)?。利用BGP,OSPF,RIP等路由協(xié)議獲得路由信息,從而快速獲得路由器間的連接關(guān)系以及子網(wǎng)拓?fù)涞?。三層設(shè)備及二層設(shè)備的發(fā)現(xiàn)MIB-II中的System、interfaces和ip組能為拓?fù)浒l(fā)現(xiàn)提供信息。通過這些信息可以發(fā)現(xiàn)一些設(shè)備的信息。System組:sysServices的值能用來輔助決定設(shè)備的類型。sysServices的取值按7位編碼來解釋。每一位對應(yīng)OSI結(jié)構(gòu)的一層。Interfaces組:ifNumber對象保存設(shè)備接口的數(shù)量。ifTable表里存放各個接口的類型、物理地址、速度、狀態(tài)等信息。Ip組:ipForwarding的值代表實體是否是IP網(wǎng)關(guān)。ipAddrTable保存設(shè)備IP地址的信息。包括IP地址,子網(wǎng)掩碼,對應(yīng)的物理接口。ipNetToMediaTable保存IP地址與MAC地址的映射表。ipRouteTable保存設(shè)備的路由表。其中ipRouteNextHop可以用來得到下一個路由器的IP地址,這樣就可以迭代出整個網(wǎng)絡(luò)中的所有路由器。Bridge的MIB中的dot1dBase組和dot1dTp組能為鏈路層拓?fù)浒l(fā)現(xiàn)提供有用的信息。dot1dBase組:dot1dBaseBridgeAddress交換機的MAC地址。dot1dBaseNumPorts交換機實際使用端口的個數(shù)。dot1dBaseType交換機的橋接類型。dot1dBasePortTable交換機實際使用的物理端口表。dot1dTp組:dot1dTpFdbAddress保存此交換機學(xué)習(xí)到的MAC地址。與此同時dot1dTpFdbPort保存此交換機學(xué)習(xí)到的MAC地址的端口號。第三層(網(wǎng)絡(luò)層)拓?fù)浒l(fā)現(xiàn)算法:通過SNMP協(xié)議來讀取路由器管理信息庫(MIB)中的路由表(ipRouteTable)。確定其相連的子網(wǎng)與其相鄰的路由器的地址。由于路由器一般連接多個子網(wǎng),具有多個IP地址,使在對網(wǎng)絡(luò)中路由器遍歷的時候可能出現(xiàn)重復(fù)??赏ㄟ^訪問MIB中的ipAddrTable確定路由器的全部地址,避免重復(fù)。鏈路層拓?fù)浒l(fā)現(xiàn)算法:算法的輸入信息是子網(wǎng)的IP地址(N),由三層拓?fù)浒l(fā)現(xiàn)。算法分為三個過程:Init(N)初始化程序,LinkLayer(N)主二層拓?fù)浒l(fā)現(xiàn)程序,DealSubTree(F,Fp,Temp,L2_Temp,Hub_num)處理端口Fp的連接關(guān)系。Init(N)對子網(wǎng)內(nèi)所有IP地址空間發(fā)送ICMP請求報文,得到所有活動設(shè)備并將其賦值給Alive。確定根節(jié)點:如果是管理服務(wù)器所在的子網(wǎng),根為管理服務(wù)器;如果是traceroute程序返回的最后一個路由器,將其賦值給Root。收集拓?fù)湫畔ⅲ簩ψ泳W(wǎng)內(nèi)每一活動設(shè)備發(fā)送SNMP報文,判斷設(shè)備類型,對于三層設(shè)備加入到三層設(shè)備集合中并得到其IP地址與MAC地址的映射表。對于二層設(shè)備加入到二層設(shè)備集合中,并確定其Up_Port端口。DealSubTree(F,Fp,Temp,L2_Temp,Hub_num)F是父節(jié)點交換機,F(xiàn)p是F上的一個非Up_Port端口。Temp為Fp端口的MAC地址表。L2_Temp為Fp端口上二層設(shè)備MAC地址的集合。Hub_Num為HUB數(shù)組的下標(biāo)。對Fp下的子樹進行處理,找到其根節(jié)點,建立連接。如果子樹的根為交換機則直接建立其與Fp的連接關(guān)系。如有子樹的根為HUB,則繼續(xù)處理HUB與其他交換機的連接關(guān)系,并將這些交換機加入到發(fā)現(xiàn)隊列中。LinkLayer(N)調(diào)用Init(N)收集信息確定根節(jié)點的連接關(guān)系取出交換機發(fā)現(xiàn)隊列中的第一個交換機F,對其各個非Up_Port端口進行處理(調(diào)用DealSubTree(F,Fp,Temp,L2_Temp,Hub_num)處理連接關(guān)系,并將新發(fā)現(xiàn)的交換機加入到發(fā)現(xiàn)隊列中)。F的各個端口處理完畢后,跳到第三步,發(fā)現(xiàn)隊列中的所有交換機都處理完畢。故障情況下:對網(wǎng)絡(luò)系統(tǒng)中常用的應(yīng)用服務(wù)系統(tǒng),如DNS、mail系統(tǒng)、ftp服務(wù),我們也將其納入故障診斷范圍。網(wǎng)絡(luò)應(yīng)用服務(wù)診斷,主要是通過應(yīng)用服務(wù)系統(tǒng)相應(yīng)的協(xié)議來實行診斷。出現(xiàn)故障時的三種處理方法:根據(jù)規(guī)則知識,判斷故障類型。無規(guī)則可循則查找故障案例。如存在相似案例,就可以借鑒它來進行故障診斷。否則,就與專家進行交互,處理故障。輪詢信息及告警信息的接收告警接收:設(shè)備一旦發(fā)生相應(yīng)的故障,那它主動向網(wǎng)管服務(wù)器的162端口號發(fā)送trap報文。Java套接字實現(xiàn):在Java中由DatagramSocket類和DatagramPacket類來實現(xiàn)UDP通信。本章小結(jié)本章詳細(xì)介紹了網(wǎng)絡(luò)故障管理專家系統(tǒng)的需求分析和功能設(shè)計并討論了技術(shù)的實現(xiàn)可能性,在下一章中我們將著重介紹模塊的實現(xiàn)。網(wǎng)絡(luò)故障管理專家系統(tǒng)的詳細(xì)設(shè)計網(wǎng)絡(luò)故障管理專家系統(tǒng)的環(huán)境開發(fā)和運行環(huán)境本課題是以實現(xiàn)網(wǎng)絡(luò)故障實時檢測和分析為目的,采用了人工智能中的專家系統(tǒng)技術(shù)來實現(xiàn)主體模塊。本設(shè)計的研究版是在個人機上WindowsXPProfessional操作系統(tǒng)上開發(fā)完成的。使用的編程語言是Java的JDK版本為J2SDK1.6,Eclipse3.2,Tomcat5.5集成開發(fā)環(huán)境,數(shù)據(jù)庫為Oracle8i,XML解析器采用的是dom4j開源軟件包。網(wǎng)絡(luò)故障管理專家系統(tǒng)的具體實現(xiàn)Web服務(wù)器模塊由于實習(xí)時間較緊,沒有去實現(xiàn)網(wǎng)絡(luò)故障分析信息Push(推向)管理員瀏覽器客戶端,而僅僅將故障信息輸出到控制臺。這部分主要實現(xiàn)了管理員通過瀏覽器登錄Web服務(wù)器來實現(xiàn)對規(guī)則的添加、刪除和修改功能。首先,管理員必須登錄服務(wù)器。用戶名和密碼在Oracle數(shù)據(jù)庫中存放,當(dāng)用戶名和密碼都正確時進入規(guī)則管理頁面,如圖4.1和圖4.2所示:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s11規(guī)則信息管理頁面圖STYLEREF1\s4.SEQ圖表\*ARABIC\s12規(guī)則信息管理頁面(續(xù))當(dāng)用戶點擊“添加新規(guī)則”時,彈出添加規(guī)則對話框,如圖4.3所示:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s13添加規(guī)則信息頁面當(dāng)用戶點擊“修改”時會修改相應(yīng)的規(guī)則信息,如圖4.4所示:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s14修改規(guī)則信息頁面當(dāng)用戶點擊“刪除”時會刪除相應(yīng)的規(guī)則。這里的規(guī)則信息的操作都是通過對一個XML格式的規(guī)則文件來進行的操作。這里采取的是dom4j開發(fā)包來操作XML。數(shù)據(jù)庫模塊的實現(xiàn)數(shù)據(jù)庫中建了3張表,分別是“EVENTLOG”(告警信息記錄表),“PRETABLE”(告警信息事實表),“BACKTABLE”(告警故障分析表)。分別用于存儲告警服務(wù)器模塊接收到的告警信息,故障事實,推理分析后得到的故障原因。具體在數(shù)據(jù)庫中的實現(xiàn)如表4.1、表4.2、表4.3所示:表STYLEREF1\s4.SEQ表\*ARABIC\s11告警信息記錄表名稱數(shù)據(jù)類型大小可否為空默認(rèn)值備注EventIDNUMBER10否無事件ID,主鍵EventDateDATE否無事件日期HostIPVARCHAR215否無設(shè)備IPHostNameVARCHAR215否無設(shè)備名稱SeverityVARCHAR210否無告警級別EventOIDVARCHAR225否無事件OID號EventVARCHAR250否無事件描述EventACKVARCHAR250否無對事件的處理表STYLEREF1\s4.SEQ表\*ARABIC\s12告警信息事實表名稱數(shù)據(jù)類型大小可否為空默認(rèn)值備注TrapIDNUMBER10否無告警ID,主鍵TrapDateDATE否無告警日期HostIPVARCHAR250否無設(shè)備IPTrapOIDVARCHAR250否無告警OID號EnterpriseIDVARCHAR250否無發(fā)生故障設(shè)備OID號TrapVarVARCHAR2250否無告警信息參數(shù)表STYLEREF1\s4.SEQ表\*ARABIC\s13故障分析表名稱數(shù)據(jù)類型大小可否為空默認(rèn)值備注HostIPVARCHAR215否無設(shè)備IP,主鍵TrapOIDVARCHAR225否無告警OID號EnterpriseIDVARCHAR225否無發(fā)生故障設(shè)備OID號TrapDesVARCHAR250否無故障信息描述規(guī)則管理模塊規(guī)則的表示在分析中,規(guī)則庫管理模塊通過JDBC訪問數(shù)據(jù)庫中的規(guī)則信息。當(dāng)專家在分析故障癥狀之后添加一條新的規(guī)則時,由規(guī)則庫管理系統(tǒng)將該信息添加到數(shù)據(jù)庫中。另外,規(guī)則庫管理模塊自動學(xué)習(xí)到的規(guī)則在由管理員或者專家確認(rèn)后自動錄入到數(shù)據(jù)庫中,成為新的規(guī)則。但是在我們的實際設(shè)計中,我們把規(guī)則全部存入到了一個文件中,而沒有存放在數(shù)據(jù)庫中。所有的規(guī)則是以XML格式來保存的。在Web服務(wù)器模塊中對規(guī)則進行的所有操作實際上都是對XML進行的操作。顯示規(guī)則就是檢索整個XML文件,并將所有的符合條件的節(jié)點顯示出來。添加,修改和刪除操作都是對該XML文件中的規(guī)則節(jié)點進行的操作。這個XML規(guī)則文件轉(zhuǎn)化為CLP文件后的一個規(guī)則信息如下:;假如發(fā)現(xiàn)trap的OID號是;假如發(fā)現(xiàn)trap的OID號是..5.5,那么就判定在該設(shè)備的認(rèn)證上出了問題,;并在事實庫中將該Trap事實去掉。(defruleauthenticationFailure"認(rèn)證出了問題"?TrapEvent<-(PreTable{trapOID=="...5.5"}(date?date)(hostIP?hostIP)(trapVar?trapVar)(enterpriseID?EnterpriseID))=>(add(newBackTable?hostIP"該設(shè)備登錄管理服務(wù)器但沒有通過認(rèn)證"?date?EnterpriseID))(retract?TrapEvent))在XML中的表示如圖4.6所示:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s16XML格式的規(guī)則以上就是一個規(guī)則的詳細(xì)表示。當(dāng)系統(tǒng)接收到一個告警信息時,告警服務(wù)模塊把告警信息封裝成一個告警對象,放入規(guī)則引擎中并對規(guī)則進行匹配。如果接收到一個“登錄服務(wù)器時認(rèn)證不正確”時,上面顯示的規(guī)則會被激發(fā),并分析出詳細(xì)的結(jié)果,圖4.7是在實習(xí)單位時接收到告警信息并匹配規(guī)則時的圖:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s17檢測到的告警信息對規(guī)則的管理對于規(guī)則的管理主要是管理員通過瀏覽器在成功登錄服務(wù)器后的操作??蓞⒖忌厦娴腤eb服務(wù)器模塊的設(shè)計。告警服務(wù)模塊該模塊實現(xiàn)與外部設(shè)備的交互,主要包括兩部分:一部分負(fù)責(zé)向網(wǎng)絡(luò)中的設(shè)備發(fā)送輪詢信息及接收相應(yīng)的反饋信息,并對該信息進行處理,從而獲得網(wǎng)絡(luò)中設(shè)備的運行狀態(tài),網(wǎng)絡(luò)拓?fù)涞刃畔?;另一部分,?dāng)網(wǎng)絡(luò)中的設(shè)備或拓?fù)涑霈F(xiàn)異常時,該模塊自動接收來自網(wǎng)絡(luò)的告警信息,結(jié)合上一部分輪詢獲得的信息,調(diào)用規(guī)則庫管理模塊獲得相應(yīng)的規(guī)則對告警信息進行過濾,分析得出該故障的發(fā)生原因及定位。下面的這段代碼用于接收告警信息的一段程序,它在源程序中是處于一個線程中的,源程序是個多線程程序。ifif(pdu.getCommand()==api.TRP2_REQ_MSG){//如果告警服務(wù)模塊接收到的是告警信息(非輪詢信息 trapObj=newPreTable();if(pdu.getEnterprise()!=null)//接收到的trap信息的EnterpriseOID。 trapObj.setEnterpriseID(pdu.getEnterprise().toString());else trapObj.setEnterpriseID("");trapObj.setHostIP(pdu.getAddress().toString()); trapObj.setTrapDate(newDate());trapObj.setTrapOID(pdu.getTrapOID().toString());//每一條過來的trap信息都帶有特定數(shù)量的參數(shù),所以只需要將每個參數(shù)的值按一定的順序存入即可。 StringtrapVar=""; for(inti=0;i<=pdu.getVariableBindings().size()-1;i++){ trapVar+=pdu.getVariable(i).toString()+';'; } trapObj.setTrapVar(trapVar); trapVec.add(trapObj);jessRule.fireRule(trapVec);//將接收到的告警信息放入規(guī)則引擎進行匹配。}目前的設(shè)計中僅僅實現(xiàn)了告警信息的接收,沒有實現(xiàn)網(wǎng)絡(luò)拓?fù)涞陌l(fā)現(xiàn)。采用AdventNet公司的SNMPJava開發(fā)包,可以使得接收并存儲告警信息變的很簡單。該程序可以接收到的網(wǎng)絡(luò)故障信息包括設(shè)備或者網(wǎng)絡(luò)拓?fù)涞奈锢碜兓蛘吲渲米兓?,同時也可以也可以通過使用相應(yīng)的協(xié)議來判斷一些應(yīng)用服務(wù)系統(tǒng)故障,例如web服務(wù)故障、mail服務(wù)故障、ftp服務(wù)故障。項目中的難點規(guī)則信息的收集網(wǎng)絡(luò)故障是由告警服務(wù)器模塊來接收的,要對這些故障信息進行分析并制定規(guī)則,就必須先收集網(wǎng)絡(luò)中的各個設(shè)備的MIB信息以及可以發(fā)送的Trap(告警)信息。然后制定相應(yīng)的規(guī)則。但是網(wǎng)絡(luò)設(shè)備廠商非常多,而每一個廠商的設(shè)備中的MIB(管理信息庫)信息都不同。另外,網(wǎng)絡(luò)中的設(shè)備也是多種多樣,比如有路由器、交換機、PC機等設(shè)備,而每一種設(shè)備的MIB信息也各不相同,因此要識別網(wǎng)絡(luò)的故障信息,工作量非常大。本設(shè)計針對的設(shè)備主要是思科的設(shè)備。由于每個告警信息中都有相應(yīng)的告警信息ID號,所以通過查詢ID號就可以找到網(wǎng)絡(luò)故障發(fā)生的原因。我們要做的就是把思科可能產(chǎn)生的告警全部總結(jié)出來,并制定相應(yīng)的規(guī)則。這樣做過之后,無論思科系統(tǒng)發(fā)出什么樣的故障告警,系統(tǒng)都能夠檢測并接收到,隨后的處理也會變的比較簡單。要搜索到所有的告警信息對象,就要先將思科的所有的MIB庫下載下來,然后一個個進行分析。圖4.8是思科告警對象與MIB的對應(yīng)圖:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s18思科設(shè)備的全部告警對象信息打開每一個告警(Trap)對象,就可以進入每一個Trap的詳細(xì)描述頁面。比如“ciscoFlashDeviceInsertedNotif”就是一個當(dāng)思科閃存設(shè)備插入機器是產(chǎn)生的一個消息。當(dāng)點擊進入后會有如圖4.9的顯示:圖STYLEREF1\s4.SEQ圖表\*ARABIC\s19ciscoFlashDeviceInsertedNotif告警對象的詳細(xì)描述上面的“DESCRIPTION”是對這個告警對象的詳細(xì)描述,而“OBJECTS”則是該告警信息的參數(shù)。這里共有兩個參數(shù):ciscoFlashDeviceMinPartitionSize和ciscoFlashDeviceName。其中第一個參數(shù)是代表這個插入的可移除設(shè)備的最小分區(qū)的大小,而另一個參數(shù)是這個可移除設(shè)備的名字。整個告警信息的描述是這樣的:在該機器上插入了一個最小分區(qū)大小為ciscoFlashDeviceMinPartitionSize,設(shè)備名字叫ciscoFlashDeviceName的可移除設(shè)備。這樣一條完整的告警分析就完成了。整個思科設(shè)備的告警對象約有2638個,每一個都做具體分析的話工作量極其大,并且顯得非常亂。針對第四軍醫(yī)大學(xué)網(wǎng)絡(luò)中心試驗網(wǎng)的實際情況,本設(shè)計圈定了可檢測告警信息的范圍,主要包括:登錄認(rèn)證、線路鏈接、遠(yuǎn)程操作、設(shè)置改變、設(shè)備實體插入、機器環(huán)境改變(比如及其內(nèi)部風(fēng)扇狀態(tài)出現(xiàn)問題)、允許ip設(shè)置、模塊變化等多個方面。測試期共挑選出25個告警對象并制定了相應(yīng)的規(guī)則。規(guī)則知識基于Jess的規(guī)則引擎的編寫也是一個非常復(fù)雜的事情。因為規(guī)則語言跟平時遇到的語言的語法規(guī)則大相徑庭,所以要重新學(xué)習(xí)這樣一門新的語言—Jess。該語言的元素包括事實,規(guī)則,原子,變量和函數(shù)。事實:用來表示已知的數(shù)據(jù)或信息。事實是一個N元式,由一對圓括號括住的一個或N個域組成,這些域的數(shù)據(jù)可以是三種不同的類型,即:字(以字母打頭的字符串)、符號串(括在一對雙引號內(nèi)的一個或多個字符串)、數(shù)值(整形數(shù)或?qū)嵭蛿?shù)),域之間用空格分開。所有事實都保存在在工作存儲器中,所以稱事實為工作內(nèi)存元素。事實舉例:(hight100m)表示“高度100米”可用命令“(assert事實名)”可以將一個事實添加到工作內(nèi)存中。規(guī)則:用來表示系統(tǒng)推理的有關(guān)知識。Jess中的規(guī)則是變形的產(chǎn)生式規(guī)則,可用defrule命令來定義,其格為如下:(defrule規(guī)則名[注釋]模式=>動作)待處理事件表:用于存儲匹配成功的規(guī)則集合,它相當(dāng)于一般產(chǎn)生式系統(tǒng)中的沖突集。原子、變量和函數(shù)一個jess程序由原子、數(shù)字、字符串組成。專用原子有nil、TRUE、FALSE。一個基本的句子單元稱為list。Jess中所有形式都是通過list實現(xiàn)的函數(shù)調(diào)用的形式。例如(colourorange)或(+456)等等。下面以一個例子來解釋下一個規(guī)則的制定:在基于Jess的規(guī)則引擎中,添加一個“有一個舊手機待機時間是23小時”的事實,并添加一個規(guī)則“當(dāng)有待機時間低于24個小時的舊手機時,購買新手機”。首先定義舊手機的模板:Jess>(deftemplate舊手機(slot價錢)(slot待機時間))接著添加事實:Jess>(assert(舊手機(待機時間23)))最后添加規(guī)則:當(dāng)舊手機的待機時間低于24個小時的時候,購買一部新手機。Jess>(defrule買手機?手機<-(舊手機(待機時間?time&:(<?time24)))(assert(購買新手機))(retract?手機))本章小結(jié)本章詳細(xì)介紹了網(wǎng)絡(luò)故障管理專家系統(tǒng)的設(shè)計及實現(xiàn),并對開發(fā)過程中出現(xiàn)的一些問題及解決方案進行了詳細(xì)的說明。這個系統(tǒng)的開發(fā)涉及到了很多較新的知識,因此在開發(fā)上有一定的技術(shù)難度。結(jié)論本課題的目的是要設(shè)計一個能夠檢測并分析網(wǎng)絡(luò)中的大部分故障的程序。由于工作量很大,因此在實際的設(shè)計中主要是針對實習(xí)單位(第四軍醫(yī)大學(xué)網(wǎng)絡(luò)中學(xué))的實際情況,對以太網(wǎng)中可能發(fā)生的故障進行規(guī)則制定(著重針對思科設(shè)備)。這項設(shè)計有很大的實際意義。它彌補了很多網(wǎng)絡(luò)管理系統(tǒng)中對故障管理缺失的漏洞,并能夠較好的完成實時故障檢測和分析,對于網(wǎng)絡(luò)管理有很大的促進作用。由于這項設(shè)計采用的是專家系統(tǒng)的技術(shù),可以由網(wǎng)絡(luò)管理員通過不斷的添加規(guī)則信息來豐富系統(tǒng)可以檢測的設(shè)備故障種類,因此是一個不斷豐富,不斷壯大的系統(tǒng)。另外由于開發(fā)程序用Java寫成,利于程序的移植,可以在多個平臺上同時使用。這里采用的規(guī)則引擎也是第一次接觸,通過深入研究網(wǎng)絡(luò)告警信息的內(nèi)容和參數(shù),設(shè)計了簡潔但非常實用的規(guī)則,使得能較好的判斷推理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論