管理信息庫文件生成方法及裝置、數(shù)據(jù)處理系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種管理信息庫文件生成方法,收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配對象標(biāo)識符OID信息,記錄構(gòu)成OID信息的各子OID的信息,并根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成管理信息庫MIB文件。同時本發(fā)明還公開了一種管理信息庫文件生成裝置、基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng)。利用本發(fā)明能夠?qū)崿F(xiàn)MIB文件的自動生成,節(jié)省了人力、物力,同時本發(fā)明還能夠生成腳本語言Lua文件,Lua文件小巧,應(yīng)用靈活性較強(qiáng),更適用于嵌入式系統(tǒng)。
【專利說明】管理信息庫文件生成方法及裝置、數(shù)據(jù)處理系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及基于簡單網(wǎng)絡(luò)管理協(xié)議(SNMP, Simple Network ManagementProtocol)的通信技術(shù),具體涉及一種管理信息庫(MIB,Management Information Base)文件生成方法及裝置、基于SNMP的數(shù)據(jù)處理系統(tǒng)。
【背景技術(shù)】
[0002]SNMP 是由互聯(lián)網(wǎng)工程任務(wù)組(IETF, Interner Engineering Task Force)定義的一套網(wǎng)絡(luò)管理協(xié)議。目前SNMP協(xié)議已經(jīng)得到了廣泛的應(yīng)用。
[0003]SNMP網(wǎng)絡(luò)管理系統(tǒng)包括兩個部分:前臺與后臺。后臺可訪問的所有網(wǎng)絡(luò)設(shè)備以及網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系等信息是通過管理信息庫文件來反映的。依據(jù)上述信息,后臺利用MIB生成工具生成MIB文件。網(wǎng)絡(luò)管理人員可通過MIB瀏覽器查看到MIB文件,便于查詢或修改網(wǎng)絡(luò)設(shè)備的配置、尋找故障原因。
[0004]因MIB文件記錄了網(wǎng)絡(luò)設(shè)備的信息以及網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系,所以從結(jié)構(gòu)上可以認(rèn)為MIB文件是包括分支節(jié)點(diǎn)和葉節(jié)點(diǎn)的樹型結(jié)構(gòu)。代表著同一個網(wǎng)絡(luò)設(shè)備的信息通常處于同一個分支節(jié)點(diǎn)的葉節(jié)點(diǎn)上。所述網(wǎng)絡(luò)設(shè)備的信息包括網(wǎng)絡(luò)設(shè)備的配置、運(yùn)行狀態(tài)等。若將網(wǎng)絡(luò)設(shè)備的配置作為一分支節(jié)點(diǎn),那么網(wǎng)絡(luò)設(shè)備的端口號、網(wǎng)絡(luò)協(xié)議(HMnternetProtocol)地址就可作為網(wǎng)絡(luò)設(shè)備的配置這個分支節(jié)點(diǎn)上的兩個葉節(jié)點(diǎn)。通常將處于葉節(jié)點(diǎn)位置上的內(nèi)容稱為MIB對象。在樹型結(jié)構(gòu)中,為區(qū)分葉節(jié)點(diǎn)的不同,會為每一個MIB對象分配一個對象標(biāo)識符(0ID, Object IDentifier),用于標(biāo)識處于葉節(jié)點(diǎn)位置的MIB對象。OID具有標(biāo)識唯一性。
[0005]圖1為SNMP協(xié)議規(guī)定的對象標(biāo)識結(jié)構(gòu)示意圖,如圖1所示,無根節(jié)點(diǎn),下面的三個分支分別為:國際電報電話咨詢委員會(CCITT, International Telephone and TelegraphConsultative Committee)負(fù)責(zé)管理分支 0,國際化標(biāo)準(zhǔn)組織(ISO, InternationalStandard Organized)負(fù)責(zé)管理分支1,CCITT和ISO聯(lián)合機(jī)構(gòu)J0INT-1S0CCITT負(fù)責(zé)管理分支2。在分支I下面,ORG(Organizations)代表組織部門,再下面,DOD(United StatesDepartment of Defense)代表美國國防部,再下面就是互聯(lián)網(wǎng)INTERNET。
[0006]在網(wǎng)絡(luò)管理中,主要使用的INTERNET所在的分支,節(jié)點(diǎn)INTERNET的OID為:.1S0.0RG.D0D.1NTERNET,用節(jié)點(diǎn)標(biāo)號表示為:.1.3.6.1。由此可見,點(diǎn)符號代表著節(jié)點(diǎn)之間由上到下的層次關(guān)系,每個數(shù)字代表著節(jié)點(diǎn)所在的分支。在節(jié)點(diǎn)INTERNET下,存在有節(jié)點(diǎn)標(biāo)號為:.1.3.6.1.4.1,即代表企業(yè),目前其所屬節(jié)點(diǎn)數(shù)已超過3000。例如國際商業(yè)機(jī)器公司(IBM, International Business Machines Corporation)公司為:.1.3.6.1.4.1.2,思科(Cisco)公司為:.1.3.6.1.4.1.9等。這樣各廠家就方便定義自己產(chǎn)品的對象名或?qū)傩?,使產(chǎn)品能夠融入到SNMP。
[0007]舉個例子,OID信息為:.1.3.6.1.4.1.25506.2.40.2.3.1 ;也可以表示為:.1S0.0RG.D0D.1NTERNET.PRIVATE.ENTERPRISE, c.common(c 公司).ifext.hh3cifextgroup.1f interfaces, ifphysicalnumber。這里,.1.3.6.1.4.1 為固定部分。字段 25506 代表著廠商信息如C公司,一般稱為廠商根節(jié)點(diǎn),該字段向右的各字段則為C公司內(nèi)部定義的參數(shù),可以根據(jù)C公司生產(chǎn)產(chǎn)品的實(shí)際情況進(jìn)行更改。
[0008]現(xiàn)有SNMP中,前臺、后臺之間的交互過程如下所述:后臺向前臺查詢一個MIB對象的取值時,后臺將該OID發(fā)送至前臺。
[0009]因在SNMP網(wǎng)絡(luò)管理系統(tǒng)啟動時,前臺利用MIB2C(MIB-2C版本)工具將MIB文件記錄的內(nèi)容按照預(yù)設(shè)的規(guī)則生成了軟件代碼,并針對代碼中的每一個變量定義相應(yīng)的變量的取值獲取方式(根據(jù)變量的數(shù)據(jù)類型,如實(shí)時數(shù)據(jù)根據(jù)實(shí)時數(shù)據(jù)變量注冊函數(shù)獲取變量的取值;控制數(shù)據(jù)根據(jù)控制數(shù)據(jù)變量注冊函數(shù)獲取變量的取值)。將所述MIB對象看成一個變量,前臺可通過相應(yīng)數(shù)據(jù)類型的變量注冊函數(shù)獲取到這個變量的取值。
[0010]前臺將獲取到的MIB對象的取值發(fā)送至后臺,網(wǎng)絡(luò)管理人員可通過MIB瀏覽器查看到變量的取值。
[0011]上述過程為后臺向前臺查詢一個MIB對象(變量)的取值,還可以修改一個MIB對象的取值,這些均為現(xiàn)有技術(shù)這里不再贅述。
[0012]SNMP協(xié)議是通過遍歷樹型結(jié)構(gòu)中的每一個節(jié)點(diǎn)訪問網(wǎng)絡(luò)設(shè)備的信息。
[0013]由上所述可知,現(xiàn)有常規(guī)方法,網(wǎng)絡(luò)設(shè)備信息和網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系等信息需要人為收集并輸入到后臺;前臺在生成軟件代碼后,還需要定義代碼中的每一個變量的取值的獲取方式。這無疑增加了人力、物力的消耗,而且不能夠靈活適應(yīng)有關(guān)SNMP的管理系統(tǒng)開發(fā)項(xiàng)目的需求,靈活性差。
【發(fā)明內(nèi)容】
[0014]有鑒于此,本發(fā)明的主要目的在于提供管理信息庫文件生成裝置及方法、基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng),可節(jié)省人力、物力、增加應(yīng)用靈活性。
[0015]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0016]本發(fā)明提供了一種管理信息庫文件生成方法,所述方法包括:
[0017]收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配對象標(biāo)識符OID信息,記錄構(gòu)成OID信息的各子OID的信息;
[0018]根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成管理信息庫MIB文件。
[0019]上述方案中,所述記錄構(gòu)成OID信息的各子OID的信息為:
[0020]所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ;其中,
[0021]第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值;
[0022]變量以標(biāo)量形式存儲時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ;
[0023]變量以表格中元素形式存儲時,表格中存儲的屬性相同的變量有至少兩個時,為所述變量標(biāo)識內(nèi)部編號;變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為變量作為元素添加到表格中的序號、第六子OID為內(nèi)部編號。
[0024]上述方案中,所述為所述變量分配對象標(biāo)識符OID信息,包括:
[0025]所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子OID、第五子OID和第六子OID ;
[0026]第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值;
[0027]確定出變量為標(biāo)量時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ;
[0028]確定出變量為表格中的元素時,表格中存儲有至少兩個相同屬性的變量時,為所述變量標(biāo)識內(nèi)部編號;變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為變量作為元素添加到表格中的序號、第六子OID為內(nèi)部編號。
[0029]上述方案中,所述方法還包括:生成MIB文件時,還生成腳本語言Lua文件;
[0030]所述Lua文件記錄變量的OID信息,以及變量的取值的存儲地址信息。
[0031]本發(fā)明還提供了一種管理信息庫文件生成裝置,所述裝置包括:收集單元、確定單元、分配記錄單元和生成單元;其中,
[0032]所述收集單元,用于收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息;
[0033]所述確定單元,用于確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量;
[0034]所述分配記錄單元,用于為所述變量分配OID信息,記錄構(gòu)成OID信息的各子OID的信息;
[0035]所述生成單元,用于根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件。
[0036]上述方案中,所述分配記錄單元記錄的構(gòu)成OID信息的各子OID的信息為:
[0037]所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ;其中,
[0038]第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值;
[0039]變量以標(biāo)量形式存儲時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ;
[0040]變量以表格中元素形式存儲時,表格中存儲的屬性相同的變量至少有兩個時,為所述變量標(biāo)識內(nèi)部編號;變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為變量作為元素添加到表格中的序號、第六子OID為內(nèi)部編號。
[0041]上述方案中,所述分配記錄單元為所述變量分配對象標(biāo)識符OID信息為:
[0042]所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ;
[0043]第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值;
[0044]確定出變量為標(biāo)量時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ;
[0045]確定出變量為表格中的元素時,表格中存儲有至少兩個相同屬性的變量時,為所述變量標(biāo)識內(nèi)部編號,變量的第三子OID為表格在第二子OID下的序號、第四子OID取值為1,第五子OID為變量作為元素添加到表格中的序號、第六子OID為內(nèi)部編號。
[0046]上述方案中,所述生成單元在生成所述MIB文件的同時,還用于生成Lua文件;
[0047]其中,所述Lua文件記錄變量的OID信息,以及變量的取值的存儲地址信息。
[0048]本發(fā)明提供了一種基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括:生成裝置、前臺和后臺;其中,
[0049]所述生成裝置,用于收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配OID信息,記錄構(gòu)成OID信息的各子OID的信息,根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件、生成Lua文件,并將所述MIB文件發(fā)送至所述后臺、將所述Lua文件發(fā)送至所述前臺;
[0050]所述后臺,用于查詢MIB文件的變量時,將查詢信息發(fā)送至所述前臺;并在接收到封裝的查詢結(jié)果SNMP數(shù)據(jù)包后,解析出查詢結(jié)果并輸出;
[0051]所述前臺,用于接收到所述查詢信息時,解析出查詢信息中變量的OID信息,并依據(jù)所述Lua文件,獲取變量的取值,將變量的OID信息和獲取到的變量的取值封裝成SNMP數(shù)據(jù)包,發(fā)送至所述后臺。
[0052]上述方案中,所述基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng)中采用的生成裝置為所述的管理信息庫文件生成裝置。
[0053]本發(fā)明提供的管理信息庫文件生成裝置及方法、基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng),生成裝置的數(shù)據(jù)字典收集有變量和變量屬性,依據(jù)數(shù)據(jù)字典生成MIB文件和Lua文件;后臺查詢MIB文件中的變量時,發(fā)送查詢信息至前臺;前臺解析出查詢信息中變量的OID信息,并依據(jù)Lua文件,獲取變量的取值,將變量的OID信息和獲取到的變量的取值封裝成SNMP數(shù)據(jù)包并發(fā)送至后臺;后臺從SNMP數(shù)據(jù)包中解析出變量的OID信息和變量的取值并進(jìn)行顯示。本發(fā)明可實(shí)現(xiàn)MIB文件的自動生成,在新增、刪除和修改網(wǎng)絡(luò)設(shè)備信息的變量時,只需更新數(shù)據(jù)字典即可。Lua文件靈活性強(qiáng),適用于嵌入式系統(tǒng)。利用本發(fā)明,在增加應(yīng)用靈活性的同時能夠節(jié)省人力、物力。
【專利附圖】
【附圖說明】
[0054]圖1為簡單網(wǎng)絡(luò)管理協(xié)議規(guī)定的對象標(biāo)識結(jié)構(gòu)示意圖;
[0055]圖2為本發(fā)明的管理信息庫文件生成裝置的組成結(jié)構(gòu)示意圖;
[0056]圖3為本發(fā)明的實(shí)現(xiàn)分配OID信息的流程示意圖;
[0057]圖4為本發(fā)明的基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng)的組成結(jié)構(gòu)示意圖。【具體實(shí)施方式】
[0058]本發(fā)明提供了 一種管理信息庫文件生成裝置,如圖2所示,所述生成裝置21包括:收集單元210、確定單元211、分配記錄單元212和生成單元213 ;其中,
[0059]所述收集單元210,用于收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息;
[0060]所述確定單元211,用于確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量;
[0061]所述分配記錄單元212,用于為所述變量分配OID信息,記錄構(gòu)成OID信息的各子OID的信息;
[0062]所述生成單元213,用于根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件。
[0063]其中,所述分配記錄單元212將變量和變量屬性收集在數(shù)據(jù)字典中,所述變量屬性包括變量代表的網(wǎng)絡(luò)設(shè)備的名稱、網(wǎng)絡(luò)設(shè)備的類型、網(wǎng)絡(luò)設(shè)備中的參數(shù)的取值范圍、網(wǎng)絡(luò)設(shè)備的數(shù)量等。
[0064]所述生成單元213根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件為:將變量、變量屬性及變量的OID信息集合成一個文件,并按照抽象語法標(biāo)記(ASN.1,AbstractSyntax Notation One)規(guī)定的標(biāo)準(zhǔn)將此文件進(jìn)行命名即可形成MIB文件。
[0065]在生成所述MIB文件的同時,所述生成單元213還用于生成腳本語言Lua文件;所述Lua文件記錄有:變量的OID信息及變量的取值的存儲地址信息。
[0066]所述生成裝置21還包括發(fā)送單元214,用于發(fā)送所述MIB文件和所述Lua文件。
[0067]進(jìn)一步的,所述分配記錄單元212為所述變量分配OID信息為:所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ;
[0068]第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值;
[0069]確定出變量為標(biāo)量時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ;
[0070]確定出變量為表格中的元素時,表格中存儲有至少兩個相同屬性的變量時,為所述變量標(biāo)識內(nèi)部編號,變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為變量作為兀素添加到表格中的序號、第六子OID為內(nèi)部編號。
[0071]本發(fā)明還提供了一種管理信息庫文件生成方法,所述方法包括:
[0072]收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配對象標(biāo)識符OID信息,記錄構(gòu)成OID信息的各子OID的信息;
[0073]根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成管理信息庫MIB文件。
[0074]進(jìn)一步地,所述為所述變量分配對象標(biāo)識符OID信息為:
[0075]第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值;
[0076]確定出變量為標(biāo)量時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ;
[0077]確定出變量為表格中的元素時,表格中存儲有至少兩個相同屬性的變量時,為所述變量標(biāo)識內(nèi)部編號,變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為變量作為兀素添加到表格中的序號、第六子OID為內(nèi)部編號。
[0078]具體的,本發(fā)明實(shí)現(xiàn)為變量分配OID信息的流程如圖3所示:
[0079]步驟30:將當(dāng)前變量的第一子OID的取值為當(dāng)前變量的數(shù)據(jù)類型;
[0080]這里,數(shù)據(jù)字典中已說明每個變量的數(shù)據(jù)類型,如告警數(shù)據(jù),實(shí)時數(shù)據(jù),參數(shù),控制
且雄里寺。
[0081]步驟31:將當(dāng)前變量的第二子OID的取值為在所述數(shù)據(jù)類型下當(dāng)前變量代表的對象值;
[0082]這里,數(shù)據(jù)字典中已說明每個變量代表的對象、如系統(tǒng),交流器,整流器等。
[0083]步驟32:判斷當(dāng)前變量的數(shù)量取值為I個還是多個(兩個及以上);
[0084]當(dāng)判斷出當(dāng)前變量的數(shù)量取值為I個時,執(zhí)行步驟33 ;
[0085]當(dāng)判斷出當(dāng)前變量的數(shù)量取值為多個時,執(zhí)行步驟34 ;[0086]這里,數(shù)據(jù)字典收集有變量的數(shù)量這一變量屬性,在數(shù)據(jù)字典導(dǎo)入數(shù)據(jù)庫中時,判斷當(dāng)前變量的數(shù)量的取值為I個還是多個;當(dāng)判斷出當(dāng)前變量的數(shù)量的取值為I個時,說明此時數(shù)據(jù)字典中沒有存在與當(dāng)前變量具有相同屬性的其他變量;
[0087]當(dāng)判斷出當(dāng)前變量的數(shù)量的取值為兩個及以上時,說明在數(shù)據(jù)字典中存在有與當(dāng)前變量屬性相同的其他變量,為區(qū)分具有相同屬性的變量,在數(shù)據(jù)庫中將為具有相同屬性的變量標(biāo)識上內(nèi)部編號。
[0088]步驟33:確定當(dāng)前變量為標(biāo)量,計(jì)算此時第二子OID對應(yīng)的其他標(biāo)量和表格的數(shù)量之和,計(jì)算出的值再加上I就為當(dāng)前變量的第三子OID的值;因當(dāng)前變量為標(biāo)量,故取第四子0ID、第五子0ID、第六子OID的取值均為0,流程結(jié)束。
[0089]步驟34:確定當(dāng)前變量為表格中的一個元素,判斷當(dāng)前元素的內(nèi)部編號是否為I ;
[0090]當(dāng)判斷出當(dāng)前元素的內(nèi)部編號不為I時,執(zhí)行步驟35 ;
[0091]當(dāng)判斷出當(dāng)前元素的內(nèi)部編號為I時,執(zhí)行步驟36 ;
[0092]步驟35:說明在當(dāng)前變量出現(xiàn)在承載有所述當(dāng)前元素的表格之前,內(nèi)部編號為I的變量已經(jīng)出現(xiàn),并已添加到數(shù)據(jù)庫中的一個表格作為表格中的第一個元素。將當(dāng)前變量的第三子0ID、第四子OID和第五子OID的取值為內(nèi)部編號為I的元素的第三子0ID、第四子OID和第五子0ID、當(dāng)前變量的第六子OID取值為當(dāng)前元素的內(nèi)部編號,流程結(jié)束。
[0093]步驟36:判斷承載有所述當(dāng)前元素的表格是否已經(jīng)出現(xiàn);
[0094]判斷出所述表格沒有出現(xiàn),執(zhí)行步驟37 ;
[0095]如果判斷出所述表格已經(jīng)出現(xiàn)時,執(zhí)行步驟38 ;
[0096]步驟37:新建一個包含當(dāng)前元素的表格,并計(jì)算此時第二子OID對應(yīng)的表格總數(shù),計(jì)算出的總數(shù)值作為當(dāng)前元素的第三子OID的取值,因當(dāng)前元素為所述新建的表格中的變量,所以當(dāng)前變量的第四子OID取值為I ;因當(dāng)前元素為到所述新建立的表格的第一個變量,所以第五子OID取值為1,第六子OID取值為內(nèi)部編號值1,流程結(jié)束。
[0097]這里,所述新建立的表格的第三子OID的取值與當(dāng)前變量的第三子OID的取值相同。
[0098]步驟38:將當(dāng)前元素的第三子OID的取值為包含當(dāng)前元素的表格的第三子0ID,因當(dāng)前元素為表格中的一個變量,所以當(dāng)前元素的第四子OID取值為I ;因元素添加到表格中具有次序性,那么當(dāng)前元素的第五子OID取值取決于當(dāng)前元素是第幾個添加到表格中的變量;當(dāng)前元素的第六子OID為內(nèi)部編號I,流程結(jié)束。
[0099]按照上述方案,為每個變量分配唯一一個OID信息。變量、變量屬性及變量的OID信息等內(nèi)容按照ASN.1的標(biāo)準(zhǔn)進(jìn)行命名即可形成MIB文件。在數(shù)據(jù)字典導(dǎo)入到數(shù)據(jù)庫的同時,為每一個變量分配一個存儲地址,變量的OID信息能夠唯一標(biāo)識變量,則Lua文件記錄有變量的OID信息與變量的存儲地址之間的對應(yīng)關(guān)系。
[0100]本發(fā)明還提供了一種基于簡單網(wǎng)絡(luò)管理協(xié)議SNMP的數(shù)據(jù)處理系統(tǒng),如圖4所示,所述系統(tǒng)包括:生成裝置21、前臺22和后臺23。其中,
[0101]所述生成裝置21,用于收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配OID信息,記錄構(gòu)成OID信息的各子OID的信息,根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件,生成Lua文件,并將所述MIB文件發(fā)送至所述后臺、將所述Lua文件發(fā)送至所述前臺;
[0102]所述后臺22,用于查詢MIB文件的變量時,將查詢信息發(fā)送至所述前臺23 ;并在接收到封裝的查詢結(jié)果SNMP數(shù)據(jù)包后,解析出查詢結(jié)果并輸出;
[0103]所述前臺23,用于接收到所述查詢信息時,解析出查詢信息中變量的OID信息,并依據(jù)所述Lua文件,獲取變量的取值,將變量的OID信息和獲取到的變量的取值封裝成SNMP數(shù)據(jù)包,發(fā)送至所述后臺22。
[0104]其中,所述查詢信息包括:查詢命令、變量(MIB對象)的OID信息。
[0105]具體的,所述生成裝置21、具體可以為所述分配記錄單元212將所述數(shù)據(jù)字典導(dǎo)入到數(shù)據(jù)庫,為便于區(qū)分?jǐn)?shù)據(jù)字典中記錄的變量之間的層次關(guān)系。因變量的OID信息可以唯一標(biāo)識變量,故依據(jù)變量之間的層次關(guān)系,所述分配記錄單元212將為每個變量分配一個OID信息,所述OID信息包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子0ID。所述生成單元213將變量、變量屬性及變量的OID信息集合成一個文件,并按照ASN.1規(guī)定的標(biāo)準(zhǔn)對此文件進(jìn)行命名即可形成MIB文件。
[0106]將數(shù)據(jù)字典導(dǎo)入到數(shù)據(jù)庫的同時,所述分配記錄單元212將為數(shù)據(jù)庫中的每一個變量的取值分配一個存儲地址,所述生成單元213將變量的OID信息及變量的取值的存儲地址進(jìn)行關(guān)聯(lián)保存即可形成Lua文件。
[0107]變量分為標(biāo)量和表格中的元素,可認(rèn)為標(biāo)量就是一個簡單的變量,表格是數(shù)組,記錄有具有相同屬性的變量。表格中每一個變量稱為表格中的兀素,表格中的兀素的OID信息表不為:Y.X ;其中,Y為表格的OID信息,X為兀素在表格中的內(nèi)部編號。
[0108]所述分配記錄單元212為每個變量分配一個OID信息,即為標(biāo)量和表格中的每一個元素分配一個OID信息。所分配的OID信息以廠商或企業(yè)為根節(jié)點(diǎn)。
[0109]這里,用X.Y.Ζ.Μ.N.B的形式來表示當(dāng)前變量的OID信息,則定義X為OID信息的第一子0ID、Y為第二子OID、Z為第三子OID、M為第四子0ID、N為第五子0ID、B為第六子OID0采用下面所述的方法獲取第一子OID到第六子OID的取值。
[0110]所述生成裝置21、具體可以為所述分配記錄單元212為變量分配OID信息為:
[0111]數(shù)據(jù)字典收集有變量的數(shù)量的這一項(xiàng),在數(shù)據(jù)字典導(dǎo)入數(shù)據(jù)庫中時,所述分配記錄單元212判斷當(dāng)前變量的數(shù)量的取值為I還是多個(兩個及以上);當(dāng)判斷出當(dāng)前變量的數(shù)量的取值為I個時,說明此時數(shù)據(jù)字典中沒有存在與當(dāng)前變量具有相同屬性的其他變量;
[0112]當(dāng)判斷出當(dāng)前變量的數(shù)量的取值為多個時,說明在數(shù)據(jù)字典中存在有與當(dāng)前變量屬性相同的其他變量。為區(qū)分具有相同屬性的變量,在數(shù)據(jù)庫中所述分配記錄單元212將為具有相同屬性的變量標(biāo)識上內(nèi)部編號,如數(shù)據(jù)字典中收集有電池,數(shù)量為四,因這四組電池均具有電池電壓、電池電流和電池溫度等電池相關(guān)屬性,所以,在將上述信息導(dǎo)入到數(shù)據(jù)庫中時,將這四組電池排列到同一個表格中,表格中的元素為電池電壓、電池電流和電池溫度,并將這些元素分別標(biāo)識上內(nèi)部編號:電池電壓1、電池電壓2、電池電壓3、電池電壓4、電池電流1、電池電流2、電池電流3、電池電流4等等。
[0113]因數(shù)據(jù)字典中已經(jīng)說明有變量的數(shù)據(jù)類型,如告警數(shù)據(jù),實(shí)時數(shù)據(jù),參數(shù),控制量等,也說明有在所述數(shù)據(jù)類型下變量代表的對象、如系統(tǒng),交流器,整流器等,所以,所述分配記錄單元212將當(dāng)前變量的第一子OID取值為當(dāng)前變量的數(shù)據(jù)類型值、第二子OID取值為當(dāng)前變量代表的對象值。
[0114]所述分配記錄單元212判斷在數(shù)據(jù)字典記錄的當(dāng)前變量的數(shù)量的取值為I還是為多個(兩個及以上);判斷出當(dāng)前變量的數(shù)量的取值為I個時,確定當(dāng)前變量為標(biāo)量,此時因第二子OID下還會存在不同于當(dāng)前變量的其他標(biāo)量和表格中的元素,那么分配記錄單元212計(jì)算此時第二子OID下的其他標(biāo)量和表格的數(shù)量之和,計(jì)算出的值再加上I就作為當(dāng)前變量的第三子OID的值,第四子0ID、第五子0ID、第六子OID的取值均為O。第一子OID到第六子OID的取值即構(gòu)成了當(dāng)前標(biāo)量的OID信息。
[0115]所述分配記錄單元212判斷出當(dāng)前變量的數(shù)量的取值為多個時,確定當(dāng)前變量為表格中的一個兀素。
[0116]接著,判斷所述當(dāng)前元素的內(nèi)部編號是否為I ;
[0117]判斷出所述當(dāng)前元素的內(nèi)部編號為I時,說明在所述當(dāng)前元素出現(xiàn)在承載有所述當(dāng)前元素的表格之前,內(nèi)部編號為I的元素已經(jīng)出現(xiàn)在所述表格中,那么所述當(dāng)前元素的第三子0ID、第四子OID和第五子OID的取值與內(nèi)部編號為I的元素的第三子0ID、第四子OID和第五子OID的取值相同,第六子OID取值為所述當(dāng)前元素的內(nèi)部編號。
[0118]判斷出所述當(dāng)前元素的內(nèi)部編號為I時,接著判斷承載有所述當(dāng)前元素的表格是否已經(jīng)出現(xiàn);
[0119]如果判斷出所述表格沒有出現(xiàn),那么新建一個包含所述當(dāng)前元素的表格,并計(jì)算此時第二子OID節(jié)點(diǎn)下對應(yīng)的表格總數(shù),計(jì)算出的總數(shù)值作為當(dāng)前元素的第三子OID的取值,所述新建的表格的第三子OID與當(dāng)前元素的第三子OID的取值相同。因當(dāng)前元素為所述新建的表格中的一個變量,所以當(dāng)前元素的第四子OID取值為I ;因當(dāng)前變量為所述新建的表格中的第一個元素,所以第五子OID取值為1,第六子OID取值為內(nèi)部編號I。
[0120]如果判斷出所述表格已經(jīng)出現(xiàn),那么當(dāng)前元素的第三子OID取值與所述表格的第三子OID取值一致。因當(dāng)前元素為所述表格中的變量,所以當(dāng)前元素的第四子OID取值為I ;因變量添加到表格中具有次序性,那么當(dāng)前元素的第五子OID取值取決于當(dāng)前元素是第幾個添加到表格中的變量;當(dāng)前元素的第六子OID為內(nèi)部編號I。
[0121 ] 依據(jù)上述方法,所述分配記錄單元212為每個變量分配一個OID信息,所述生成單元213將變量、變量屬性及變量的OID信息等內(nèi)容進(jìn)行集合,并按照ASN.1的標(biāo)準(zhǔn)進(jìn)行命名即可形成MIB文件。
[0122]這里,將數(shù)據(jù)字典導(dǎo)入到數(shù)據(jù)庫的同時,所述分配記錄單元212將為每一個變量的取值分配一個存儲地址,變量的OID信息唯一標(biāo)識變量,所述生成單元213生成Lua文件,所述Lua文件記錄有變量的OID信息與變量的取值的存儲地址之間的對應(yīng)關(guān)系。
[0123]在所述MIB文件和所述Lua文件生成之后,所述生成裝置21、具體可以為所述發(fā)送單元214將所述MIB文件發(fā)送至所述后臺22、將所述Lua文件發(fā)送至所述前臺23。
[0124]所述后臺22接收所述MIB文件,當(dāng)查詢MIB文件的變量(MIB對象)的取值時,發(fā)送查詢信息至所述前臺23。
[0125]所述前臺23接收到查詢信息后,解析出查詢信息中變量的OID信息,并依據(jù)所述Lua文件記錄的變量的OID信息與變量的取值的存儲地址之間的對應(yīng)關(guān)系,利用哈希算法獲取存儲地址中的變量的取值,并將OID信息和獲取到的變量的取值封裝成SNMP數(shù)據(jù)包,發(fā)送至所述后臺22。[0126]所述后臺22接收封裝的查詢結(jié)果SNMP數(shù)據(jù)包后,解析出查詢結(jié)果并輸出;即:解析出變量的OID信息和變量的取值并顯示,以便網(wǎng)絡(luò)管理人員查看。
[0127]上述為所述前臺23能夠獲取到變量的取值的過程,但是由于網(wǎng)絡(luò)的不確定性,所述前臺23還存在有獲取不到變量的取值的情況。針對這一情況,所述前臺23將變量的OID信息和獲取變量的取值的失敗結(jié)果封裝成SNMP數(shù)據(jù)包發(fā)送至所述后臺22。所述后臺22從SNMP數(shù)據(jù)包中解析出變量的OID信息和獲取變量的取值的失敗結(jié)果信息,并顯示,以方便網(wǎng)絡(luò)管理人員尋找網(wǎng)絡(luò)故障原因。
[0128]上面對本發(fā)明的技術(shù)方案描述中,變量的OID信息采用第一子OID到第六子OID的形式進(jìn)行表示,還可以根據(jù)網(wǎng)絡(luò)設(shè)備的使用情況,采用第一子OID到第N子(N為大于6的正整數(shù))0ID的形式進(jìn)行變量的唯一標(biāo)識;為快速獲取變量的取值,采用了哈希算法,此外還可以采用折半、活躍表等算法。
[0129]本發(fā)明提供的管理信息庫文件生成方法及裝置、基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng),與現(xiàn)有的MIB文件中的信息需要人為收集這一特點(diǎn)不同,本發(fā)明依據(jù)數(shù)據(jù)字典,生成裝置自動生成MIB文件和Lua文件。后臺依據(jù)生成的MIB文件,網(wǎng)絡(luò)維護(hù)人員可隨時查看或修改網(wǎng)絡(luò)設(shè)備信息的變量。前臺依據(jù)Lua文件和哈希算法可快速獲得變量的取值。因在實(shí)際應(yīng)用中,前臺通常采用嵌入式技術(shù),Lua文件因其具有小巧、靈活的優(yōu)勢,更適用于嵌入式系統(tǒng)。利用本發(fā)明,新增、刪除和修改網(wǎng)絡(luò)設(shè)備信息的變量時,只需對數(shù)據(jù)字典進(jìn)行更新即可,無需再人為修改MIB文件,可節(jié)省人力、物力、同時應(yīng)用靈活性得到一定程度的提高。
[0130]以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種管理信息庫文件生成方法,其特征在于,所述方法包括: 收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配對象標(biāo)識符OID信息,記錄構(gòu)成OID信息的各子OID的信息; 根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成管理信息庫MIB文件。
2.根據(jù)權(quán)利要求1所述的管理信息庫文件生成方法,其特征在于,所述記錄構(gòu)成OID信息的各子OID的信息為: 所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ;其中, 第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值; 變量以標(biāo)量形式存儲時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ; 變量以表格中元素形式存儲時,表格中存儲的屬性相同的變量有至少兩個時,為所述變量標(biāo)識內(nèi)部編號;變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為 變量作為兀素添加到表格中的序號、第六子OID為內(nèi)部編號。
3.根據(jù)權(quán)利要求1所述的管理信息庫文件生成方法,其特征在于,所述為所述變量分配對象標(biāo)識符OID信息,包括: 所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ; 第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值; 確定出變量為標(biāo)量時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ; 確定出變量為表格中的元素時,表格中存儲有至少兩個相同屬性的變量時,為所述變量標(biāo)識內(nèi)部編號;變量的第三子OID為表格在第二子OID下的序號、第四子OID為I,第五子OID為變量作為兀素添加到表格中的序號、第六子OID為內(nèi)部編號。
4.根據(jù)權(quán)利要求1所述的管理信息庫文件生成方法,其特征在于,所述方法還包括:生成MIB文件時,還生成腳本語言Lua文件; 所述Lua文件記錄變量的OID信息,以及變量的取值的存儲地址信息。
5.一種管理信息庫文件生成裝置,其特征在于,所述裝置包括:收集單元、確定單元、分配記錄單元和生成單元;其中, 所述收集單元,用于收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的彳目息; 所述確定單元,用于確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量; 所述分配記錄單元,用于為所述變量分配OID信息,記錄構(gòu)成OID信息的各子OID的信息; 所述生成單元,用于根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件。
6.根據(jù)權(quán)利要求5所述的管理信息庫文件生成裝置,其特征在于,所述分配記錄單元記錄的構(gòu)成OID信息的各子OID的信息為:所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ;其中, 第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值; 變量以標(biāo)量形式存儲時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ; 變量以表格中元素形式存儲時,表格中存儲的屬性相同的變量至少有兩個時,為所述變量標(biāo)識內(nèi)部編號;變量的第三子OID為表格在第二子OID下的序號、第四子OID為1,第五子OID為變量作為兀素添加到表格中的序號、第六子OID為內(nèi)部編號。
7.根據(jù)權(quán)利要求5所述的管理信息庫文件生成裝置,其特征在于,所述分配記錄單元為所述變量分配對象標(biāo)識符OID信息為: 所述OID信息依次包括以下子OID:第一子0ID、第二子0ID、第三子0ID、第四子0ID、第五子OID和第六子OID ; 第一子OID為變量的數(shù)據(jù)類型值;第二子OID為變量對應(yīng)的對象值; 確定出變量為標(biāo)量時,第三子OID為標(biāo)量在第二子OID下的序號,第四子0ID、第五子0ID、第六子OID為O ; 確定出變量為表 格中的元素時,表格中存儲有至少兩個相同屬性的變量時,為所述變量標(biāo)識內(nèi)部編號,變量的第三子OID為表格在第二子OID下的序號、第四子OID取值為1,第五子OID為變量作為兀素添加到表格中的序號、第六子OID為內(nèi)部編號。
8.根據(jù)權(quán)利要求5所述的管理信息庫文件生成裝置,其特征在于,所述生成單元在生成所述MIB文件的同時,還用于生成Lua文件; 其中,所述Lua文件記錄變量的OID信息,以及變量的取值的存儲地址信息。
9.一種基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng),其特征在于,所述系統(tǒng)包括:生成裝置、前臺和后臺;其中, 所述生成裝置,用于收集網(wǎng)絡(luò)設(shè)備的信息、所述網(wǎng)絡(luò)設(shè)備與其他網(wǎng)絡(luò)設(shè)備之間的組織關(guān)系的信息,確定所述網(wǎng)絡(luò)設(shè)備信息及所述網(wǎng)絡(luò)設(shè)備的組織關(guān)系信息對應(yīng)的變量,并為所述變量分配OID信息,記錄構(gòu)成OID信息的各子OID的信息,根據(jù)所述網(wǎng)絡(luò)設(shè)備的變量的OID信息生成MIB文件、生成Lua文件,并將所述MIB文件發(fā)送至所述后臺、將所述Lua文件發(fā)送至所述前臺; 所述后臺,用于查詢MIB文件的變量時,將查詢信息發(fā)送至所述前臺;并在接收到封裝的查詢結(jié)果SNMP數(shù)據(jù)包后,解析出查詢結(jié)果并輸出; 所述前臺,用于接收到所述查詢信息時,解析出查詢信息中變量的OID信息,并依據(jù)所述Lua文件,獲取變量的取值,將變量的OID信息和獲取到的變量的取值封裝成SNMP數(shù)據(jù)包,發(fā)送至所述后臺。
10.根據(jù)權(quán)利要求9所述的基于簡單網(wǎng)絡(luò)管理協(xié)議的數(shù)據(jù)處理系統(tǒng),其特征在于,所述生成裝置為權(quán)利要求5至8任一所述的管理信息庫文件生成裝置。
【文檔編號】H04L12/24GK103997412SQ201310052627
【公開日】2014年8月20日 申請日期:2013年2月18日 優(yōu)先權(quán)日:2013年2月18日
【發(fā)明者】嚴(yán)勇文, 林良敏 申請人:中興通訊股份有限公司