一種利用插件化實(shí)現(xiàn)mib中特殊oid采集和解析的方法
【專利摘要】本發(fā)明特別涉及一種利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法。該利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,包括SNMP采集模塊,在所述SNMP采集模塊的程序插件目錄下部署第三方插件;所述SNMP采集模塊自動加載第三方插件,采集網(wǎng)絡(luò)設(shè)備的OID,并依據(jù)網(wǎng)絡(luò)設(shè)備的廠商,設(shè)備型號和采集OID,判斷當(dāng)前OID是否為特殊OID,如果是特殊OID,則調(diào)用第三方插件采集和解析特殊OID。該利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,通過采用插件化實(shí)現(xiàn)MIB庫中特殊OID采集和解析的機(jī)制,完美地解決了特殊OID采集的問題,并且能適應(yīng)各種各樣特殊OID采集要求,具有很強(qiáng)靈活性、可擴(kuò)展性,具備普遍的適應(yīng)性。
【專利說明】
一種利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法。適用于所有基于簡單網(wǎng)絡(luò)管理協(xié)議S匪P,在IP網(wǎng)絡(luò)(基于TCP/IP協(xié)議組建的網(wǎng)絡(luò))中對網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行采集、監(jiān)控和管理的場景。
【背景技術(shù)】
[0002]在信息技術(shù)高速發(fā)展和普及的今天,網(wǎng)絡(luò)通信作為信息傳輸?shù)闹饕ǖ酪呀?jīng)滲透到當(dāng)今每一個(gè)行業(yè)和業(yè)務(wù)領(lǐng)域,成為重要的生產(chǎn)力因素。而網(wǎng)絡(luò)通信服務(wù)是由大量的底層網(wǎng)絡(luò)設(shè)備比如交換機(jī)、路由器等提供的,這些網(wǎng)絡(luò)設(shè)備的工作狀態(tài)的好壞直接影響網(wǎng)絡(luò)通信服務(wù)質(zhì)量。所以對網(wǎng)絡(luò)設(shè)備提供高效的采集、監(jiān)控和管理能力,對提升網(wǎng)絡(luò)通信質(zhì)量是至關(guān)重要。
[0003]為了能夠?qū)Σ煌瑥S商的不同網(wǎng)絡(luò)設(shè)備的提供統(tǒng)一管理,規(guī)避由于差異化帶來的管理成本和管理風(fēng)險(xiǎn),國際標(biāo)準(zhǔn)化組織針對網(wǎng)絡(luò)設(shè)備的管理提出SNMP(Simple networkmanagement protocol)協(xié)議和MIB(Management Informat1n Base)規(guī)范。該協(xié)議自上世紀(jì)九十年代初提出后,得到迅猛發(fā)展,成為1990年之后TCP/IP網(wǎng)絡(luò)中應(yīng)用最為廣泛的網(wǎng)絡(luò)管理協(xié)議,成為高效管理大型網(wǎng)絡(luò)的有力工具。
[0004]國際標(biāo)準(zhǔn)化組織為了讓網(wǎng)絡(luò)設(shè)備廠商遵循MIB規(guī)范標(biāo)準(zhǔn),雖然制定了很多標(biāo)準(zhǔn)化文件比如S匪Pv2-MIB,IF-MIB等,來指導(dǎo)和約束網(wǎng)絡(luò)設(shè)備廠商,但是由于各種各樣的原因,網(wǎng)絡(luò)設(shè)備中還是或多或少總是存在一些不規(guī)范的MIB使用情況,造成MIB中一些特殊的對象標(biāo)識符0ID(0bject identifier)無法正常采集,而這些OID就被稱之為特殊0ID。
[0005]網(wǎng)絡(luò)設(shè)備MIB庫中的特殊OID的業(yè)務(wù)場景可參考如下場景(但不限于下列場景):
I )0ID數(shù)據(jù)類型定義與真實(shí)數(shù)值類型不符,按SNMP方式采集之后,必須進(jìn)行特殊轉(zhuǎn)換才能正常使用。比如OID數(shù)據(jù)類型定義為String(字符類型),但是其數(shù)值內(nèi)容為字符串“1.23876E-10”、“5076.435”等,必須轉(zhuǎn)換為數(shù)字類型的數(shù)值,才能參與后繼各種業(yè)務(wù)計(jì)算。
[0006]2)0ID命名規(guī)則采用廠商不規(guī)范語法,對采集后的OID數(shù)據(jù)值進(jìn)行解析時(shí),必須按廠商特定規(guī)則來解析才能獲取正確的數(shù)值。比如O I D命名為1.2.3.4.5.1nstancel.1nstance〗.1nstance3,而按國際標(biāo)準(zhǔn)化組織要求,一個(gè)OID中只能有一個(gè)實(shí)例,對于含多個(gè)實(shí)例的OID在進(jìn)行解析時(shí),只能按特定規(guī)則來解析,才能獲取正確的數(shù)據(jù)。
[0007]3)0ID的數(shù)值在采集時(shí),需要根據(jù)其他OID的數(shù)值作為條件判斷的依據(jù),才能獲取到正確的數(shù)值,比如1.3.6.1.2.1.1.1 = "APNN0S" then SnmpGet 1.3.6.1.2.1.1.7,如上述公式所示,需要先采集1.3.6.1.2.1.1.1,并且當(dāng)該OID值為“APNN0S”時(shí),才能再去采集 1.3.6.1.2.1.1.7 的數(shù)值。
[0008]綜上所述,網(wǎng)絡(luò)設(shè)備中普遍存在特殊OID的業(yè)務(wù)場景,這些特殊業(yè)務(wù)場景有很多種,無法一一列舉。要一勞永逸解決此類特殊OID采集的問題,就需要一種全新的網(wǎng)絡(luò)設(shè)備MIB庫的OID數(shù)據(jù)采集機(jī)制,能適應(yīng)各種各樣特殊OID采集要求,并且這種采集機(jī)制必須是靈活的,可擴(kuò)展的,具備普遍的適應(yīng)性。
[0009]基于此,本發(fā)明設(shè)計(jì)了一種利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法。
【發(fā)明內(nèi)容】
[0010]本發(fā)明為了彌補(bǔ)現(xiàn)有技術(shù)的缺陷,提供了一種簡單高效的利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法。
[0011]本發(fā)明是通過如下技術(shù)方案實(shí)現(xiàn)的:
一種利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,其特征在于:包括SNMP采集模塊,在所述SNMP采集模塊的程序插件目錄下部署第三方插件;所述SNMP采集模塊自動加載第三方插件,采集網(wǎng)絡(luò)設(shè)備的0ID,并依據(jù)網(wǎng)絡(luò)設(shè)備的廠商,設(shè)備型號和采集0ID,判斷當(dāng)前OID是否為特殊OID,如果是特殊OID,則調(diào)用第三方插件采集和解析特殊OID。
[0012]本發(fā)明利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,包括以下步驟:
(1)收集網(wǎng)絡(luò)設(shè)備的MIB庫中特殊OID的業(yè)務(wù)規(guī)則,并基于該業(yè)務(wù)規(guī)則,梳理對應(yīng)的采集規(guī)則和解析規(guī)則,為后繼第三方插件開發(fā)提供理論基礎(chǔ);
(2)按照網(wǎng)絡(luò)設(shè)備的廠商、設(shè)備型號,版本和OID的層次,來命名和創(chuàng)建JAR文件;
(3)基于步驟(I)中收集采集規(guī)則和解析規(guī)則,對Java類中的采集接口、解析接口,進(jìn)行編碼實(shí)現(xiàn),將采集和解析業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯的方式來實(shí)現(xiàn),完成第三方插件的開發(fā);
(4)將開發(fā)完成的第三方插件,按照廠商,設(shè)備型號和OID目錄層次進(jìn)行部署,該部署只需要將JAR文件拷貝到對應(yīng)目錄下即可,不需要進(jìn)行額外的注冊;
(5)所述SNMP采集模塊在進(jìn)行網(wǎng)絡(luò)設(shè)備采集時(shí),自動判斷當(dāng)前OID是否為特殊0ID,如果是特殊OID,則自動加載第三方插件JAR包,并動態(tài)構(gòu)建Java類,然后調(diào)用Java類中的采集接口和解析接口,實(shí)現(xiàn)對網(wǎng)絡(luò)設(shè)備中MIB庫中特殊OID采集和解析。
[0013]所述第三方插件是按照廠商,設(shè)備型號,版本和OID的命名方式生成的JAR格式的特殊OID的采集解析插件文件,并且按照規(guī)范要求生成JAVA類定義,然后根據(jù)廠商提供的特殊OID采集和解析的業(yè)務(wù)規(guī)則,編寫相應(yīng)的采集和解析算法邏輯,最后將開發(fā)完成的插件JAR文件部署到SNMP采集程序的插件目錄下;
所述SNMP采集模塊在部署第三方插件JAR文件時(shí),按照廠商,設(shè)備型號,版本和OID的目錄層次結(jié)構(gòu)來部署插件JAR文件;所述第三方插件文件部署完成之后,所述SNMP采集模塊在執(zhí)行采集任務(wù)時(shí),根據(jù)要采集設(shè)備的廠商,型號和OID,自動加載第三方插件JAR文件,動態(tài)創(chuàng)建Java類,然后分別調(diào)用Java類的采集接口進(jìn)行采集,采集完成之后,再調(diào)用解析接口進(jìn)行解析;完成當(dāng)前設(shè)備的采集解析之后,動態(tài)釋放當(dāng)前Java類,再根據(jù)下一個(gè)要采集的設(shè)備的廠商,型號和OID,動態(tài)創(chuàng)建其他插件的Java類進(jìn)行采集和解析,如此類似循環(huán),直至完成所有設(shè)備的采集解析。
[0014]本發(fā)明的有益效果是:該利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,通過采用插件化實(shí)現(xiàn)MIB庫中特殊OID采集和解析的機(jī)制,完美地解決了特殊OID采集的問題,并且能適應(yīng)各種各樣特殊OID采集要求,具有很強(qiáng)靈活性、可擴(kuò)展性,具備普遍的適應(yīng)性。
[0015]具體來說,該利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,相比現(xiàn)有技術(shù)具有以下優(yōu)勢:
I)利用插件化技術(shù),可以將SNMP采集程序與特殊OID的采集和解析的邏輯分離出來,避免在SNMP的采集程序中由于寫入各種各樣的特殊OID的采集和邏輯,導(dǎo)致S匪P的采集程序的整體邏輯非常龐大,并且難以維護(hù)。
[0016]2)利用插件化技術(shù),當(dāng)需要對接新接入網(wǎng)絡(luò)設(shè)備時(shí),第三方開發(fā)者只需要關(guān)注插件本身開發(fā)是否滿足規(guī)范要求,以及插件本身的采集和解析的業(yè)務(wù)邏輯是否正確,無需關(guān)注S匪P采集程序。同時(shí)這種插件化技術(shù),提供了一種開放的技術(shù)標(biāo)準(zhǔn),對于第三方來開發(fā)OID的采集插件,具有非常有益的指導(dǎo)作用。
[0017]3)利用插件化技術(shù),實(shí)現(xiàn)采集和解析的Java類的動態(tài)創(chuàng)建和加載,可以極大的提高M(jìn)IB庫中特殊OID的采集和解析效率,這種機(jī)制遠(yuǎn)比在SNMP采集程序中通過寫條件判斷語句的方式來執(zhí)行采集和解析的方式要效率高很多。
【附圖說明】
[0018]附圖1為本發(fā)明的第三方插件開發(fā)規(guī)范示意圖;
附圖2為本發(fā)明的第三方插件部署示意圖;
附圖3為本發(fā)明的第三方插件工作示意圖;
附圖4為本發(fā)明利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析流程示意圖;
附圖5為本發(fā)明針對電信網(wǎng)絡(luò)的性能管理系統(tǒng)的SNMP采集的插件化采集流程示意圖。
【具體實(shí)施方式】
[0019]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行詳細(xì)的說明。應(yīng)當(dāng)說明的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]該利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,包括SNMP采集模塊,在所述SNMP采集模塊的程序插件目錄下部署第三方插件;所述S匪P采集模塊自動加載第三方插件,采集網(wǎng)絡(luò)設(shè)備的0ID,并依據(jù)網(wǎng)絡(luò)設(shè)備的廠商,設(shè)備型號和采集0ID,判斷當(dāng)前OID是否為特殊OID,如果是特殊OID,則調(diào)用第三方插件采集和解析特殊OID。和插件包
本發(fā)明利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,包括以下步驟:
(1)收集網(wǎng)絡(luò)設(shè)備的MIB庫中特殊OID的業(yè)務(wù)規(guī)則,并基于該業(yè)務(wù)規(guī)則,梳理對應(yīng)的采集規(guī)則和解析規(guī)則,為后繼第三方插件開發(fā)提供理論基礎(chǔ);
(2)按照網(wǎng)絡(luò)設(shè)備的廠商、設(shè)備型號,版本和OID的層次,來命名和創(chuàng)建JAR文件;
(3)基于步驟(I)中收集采集規(guī)則和解析規(guī)則,對Java類中的采集接口、解析接口,進(jìn)行編碼實(shí)現(xiàn),將采集和解析業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯的方式來實(shí)現(xiàn),完成第三方插件的開發(fā);
(4)將開發(fā)完成的第三方插件,按照廠商,設(shè)備型號和OID目錄層次進(jìn)行部署,該部署只需要將JAR文件拷貝到對應(yīng)目錄下即可,不需要進(jìn)行額外的注冊;
(5)所述SNMP采集模塊在進(jìn)行網(wǎng)絡(luò)設(shè)備采集時(shí),自動判斷當(dāng)前OID是否為特殊0ID,如果是特殊OID,則自動加載第三方插件JAR包,并動態(tài)構(gòu)建Java類,然后調(diào)用Java類中的采集接口和解析接口,實(shí)現(xiàn)對網(wǎng)絡(luò)設(shè)備中MIB庫中特殊OID采集和解析。
[0021]所述第三方插件是按照廠商,設(shè)備型號,版本和OID的命名方式生成的JAR格式的特殊OID的采集解析插件文件,并且按照規(guī)范要求生成JAVA類定義,然后根據(jù)廠商提供的特殊OID采集和解析的業(yè)務(wù)規(guī)則,編寫相應(yīng)的采集和解析算法邏輯,最后將開發(fā)完成的插件JAR文件部署到SNMP采集程序的插件目錄下;
所述SNMP采集模塊在部署第三方插件JAR文件時(shí),按照廠商,設(shè)備型號,版本和OID的目錄層次結(jié)構(gòu)來部署插件JAR文件;所述第三方插件文件部署完成之后,所述SNMP采集模塊在執(zhí)行采集任務(wù)時(shí),根據(jù)要采集設(shè)備的廠商,型號和OID,自動加載第三方插件JAR文件,動態(tài)創(chuàng)建Java類,然后分別調(diào)用Java類的采集接口進(jìn)行采集,采集完成之后,再調(diào)用解析接口進(jìn)行解析;完成當(dāng)前設(shè)備的采集解析之后,動態(tài)釋放當(dāng)前Java類,再根據(jù)下一個(gè)要采集的設(shè)備的廠商,型號和OID,動態(tài)創(chuàng)建其他插件的Java類進(jìn)行采集和解析,如此類似循環(huán),直至完成所有設(shè)備的采集解析。
[0022]如附圖1所不,第三方插件Java類名為snmp.service.Collect Parse Service;Java類JAR包命名為廠商-型號-版本-0ID.jar;插件采集接口為get Oid ListO ;插件解析接口為resolve Oid ListO。
[0023]以電信領(lǐng)域綜合網(wǎng)絡(luò)管理的性能管理系統(tǒng)(PM系統(tǒng))為例,來說明本發(fā)明的具體應(yīng)用。性能管理系統(tǒng)是用于對電信網(wǎng)絡(luò)全網(wǎng)承載的網(wǎng)絡(luò)負(fù)荷管理為基礎(chǔ)的管理系統(tǒng)。管理內(nèi)容包括網(wǎng)絡(luò)負(fù)荷的流量流向管理、網(wǎng)絡(luò)運(yùn)行的效率管理、網(wǎng)絡(luò)資源的配置使用情況管理、呼叫失敗的原因分析等,涉及到海量的業(yè)務(wù)數(shù)據(jù)的采集、匯總、存儲和查詢等環(huán)節(jié)。其中,性能管理系統(tǒng)對傳輸網(wǎng)中網(wǎng)絡(luò)設(shè)備的采集,絕大多數(shù)情況下,都是使用SNMP方式進(jìn)行數(shù)據(jù)采集,因此就會面臨網(wǎng)絡(luò)設(shè)備MIB庫中有特殊OID的問題。對于此類問題采用插件化來實(shí)現(xiàn)MIB庫中特殊OID的采集和解析,能夠做到完美解決。
[0024]如附圖5所示,針對電信網(wǎng)絡(luò)的性能管理系統(tǒng)的S匪P采集使用插件采集的【具體實(shí)施方式】如下:
步驟201:收集要接入的網(wǎng)絡(luò)設(shè)備的廠商、設(shè)備型號、版本,和對應(yīng)MIB庫信息,并從局方獲取局方用戶希望監(jiān)控的網(wǎng)絡(luò)設(shè)備的指標(biāo)信息,通過分析指標(biāo)與MIB庫中OID業(yè)務(wù)映射含義,從而確定每一種網(wǎng)絡(luò)設(shè)備型號,需要采集那些0ID,從而形成OID采集列表。
[0025]步驟2O 2:基于2 OI步驟中,從收集到的OID采集列表中,識別出需要特殊采集的0ID,并從廠商處獲取這些特殊OID的業(yè)務(wù)定義和具體業(yè)務(wù)應(yīng)用方式,從而整理出來這些OID的采集規(guī)則和解析規(guī)則,為后繼編寫插件提供理論指導(dǎo),這一步驟是非常關(guān)鍵的。
[0026]步驟203:基于202步驟獲取到OID采集規(guī)則和解析規(guī)則,編寫采集插件,該插件必須遵循第三方OID采集插件的開發(fā)規(guī)范,完成采集插件的開發(fā)之后,最終形成JAR文件。
[0027]步驟204:將開發(fā)完成的JAR文件,按照廠商、設(shè)備型號、OID目錄層次結(jié)構(gòu),部署到SNMP采集程序的插件目錄下。
[0028]通過上面的實(shí)施方式,就完成利用插件化實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備中MIB庫中特殊OID的采集和解析的實(shí)施,后繼SNMP采集程序在執(zhí)行采集任務(wù)時(shí),會自動識別特殊OID,并動態(tài)創(chuàng)建和調(diào)用對應(yīng)插件,實(shí)現(xiàn)特殊OID的采集和解析,無需人工參與。
【主權(quán)項(xiàng)】
1.一種利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,其特征在于:包括S匪P采集模塊,在所述SNMP采集模塊的程序插件目錄下部署第三方插件;所述SNMP采集模塊自動加載第三方插件,采集網(wǎng)絡(luò)設(shè)備的0ID,并依據(jù)網(wǎng)絡(luò)設(shè)備的廠商,設(shè)備型號和采集0ID,判斷當(dāng)前OID是否為特殊OID,如果是特殊OID,則調(diào)用第三方插件采集和解析特殊OID。2.根據(jù)權(quán)利要求1所述的利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,其特征在于包括以下步驟: (1)收集網(wǎng)絡(luò)設(shè)備的MIB庫中特殊OID的業(yè)務(wù)規(guī)則,并基于該業(yè)務(wù)規(guī)則,梳理對應(yīng)的采集規(guī)則和解析規(guī)則,為后繼第三方插件開發(fā)提供理論基礎(chǔ); (2)按照網(wǎng)絡(luò)設(shè)備的廠商、設(shè)備型號,版本和OID的層次,來命名和創(chuàng)建JAR文件; (3)基于步驟(I)中收集采集規(guī)則和解析規(guī)則,對Java類中的采集接口、解析接口,進(jìn)行編碼實(shí)現(xiàn),將采集和解析業(yè)務(wù)邏輯轉(zhuǎn)化為程序邏輯的方式來實(shí)現(xiàn),完成第三方插件的開發(fā); (4)將開發(fā)完成的第三方插件,按照廠商,設(shè)備型號和OID目錄層次進(jìn)行部署,該部署只需要將JAR文件拷貝到對應(yīng)目錄下即可,不需要進(jìn)行額外的注冊; (5)所述SNMP采集模塊在進(jìn)行網(wǎng)絡(luò)設(shè)備采集時(shí),自動判斷當(dāng)前OID是否為特殊OID,如果是特殊OID,則自動加載第三方插件JAR包,并動態(tài)構(gòu)建Java類,然后調(diào)用Java類中的采集接口和解析接口,實(shí)現(xiàn)對網(wǎng)絡(luò)設(shè)備中MIB庫中特殊OID采集和解析。3.根據(jù)權(quán)利要求1或2所述的利用插件化實(shí)現(xiàn)MIB中特殊OID采集和解析的方法,其特征在于:所述第三方插件是按照廠商,設(shè)備型號,版本和OID的命名方式生成的JAR格式的特殊OID的采集解析插件文件,并且按照規(guī)范要求生成JAVA類定義,然后根據(jù)廠商提供的特殊OID采集和解析的業(yè)務(wù)規(guī)則,編寫相應(yīng)的采集和解析算法邏輯,最后將開發(fā)完成的插件JAR文件部署到SNMP采集程序的插件目錄下; 所述SNMP采集模塊在部署第三方插件JAR文件時(shí),按照廠商,設(shè)備型號,版本和OID的目錄層次結(jié)構(gòu)來部署插件JAR文件;所述第三方插件文件部署完成之后,所述SNMP采集模塊在執(zhí)行采集任務(wù)時(shí),根據(jù)要采集設(shè)備的廠商,型號和OID,自動加載第三方插件JAR文件,動態(tài)創(chuàng)建Java類,然后分別調(diào)用Java類的采集接口進(jìn)行采集,采集完成之后,再調(diào)用解析接口進(jìn)行解析;完成當(dāng)前設(shè)備的采集解析之后,動態(tài)釋放當(dāng)前Java類,再根據(jù)下一個(gè)要采集的設(shè)備的廠商,型號和OID,動態(tài)創(chuàng)建其他插件的Java類進(jìn)行采集和解析,如此類似循環(huán),直至完成所有設(shè)備的采集解析。
【文檔編號】H04L12/24GK105847047SQ201610163430
【公開日】2016年8月10日
【申請日】2016年3月22日
【發(fā)明人】盧向輝, 李建明
【申請人】浪潮通信信息系統(tǒng)有限公司