欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Snmp通信系統(tǒng)和方法

文檔序號(hào):7958642閱讀:167來源:國(guó)知局
專利名稱:Snmp通信系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)通信系統(tǒng)和方法,特別涉及一種能夠進(jìn)行大批量數(shù)據(jù)查詢和指定復(fù)雜條件進(jìn)行數(shù)據(jù)處理的SNMP通信系統(tǒng)和方法。
背景技術(shù)
SNMP是目前業(yè)界流行的網(wǎng)絡(luò)管理標(biāo)準(zhǔn),為網(wǎng)絡(luò)管理系統(tǒng)提供了底層網(wǎng)絡(luò)管理的框架。SNMP協(xié)議的應(yīng)用非常廣泛,諸多種類的網(wǎng)絡(luò)設(shè)備、軟件和系統(tǒng)都采用該協(xié)議來實(shí)現(xiàn)網(wǎng)絡(luò)管理管理功能。
SNMP的網(wǎng)絡(luò)管理模型包括以下關(guān)鍵元素SNMP管理站(SNMPManager)、SNMP代理(SNMP Agent)、管理信息庫(MIB)和被管理設(shè)備(Managed Device)。SNMP管理站一般是一個(gè)分立的設(shè)備,是網(wǎng)絡(luò)管理員與網(wǎng)絡(luò)管理系統(tǒng)之間的接口。被管理的設(shè)備是網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),有時(shí)被稱為網(wǎng)元,被管理的設(shè)備可以是路由器、交換機(jī)、網(wǎng)橋、集線器、主機(jī)等,每個(gè)支持SNMP的網(wǎng)絡(luò)設(shè)備中都運(yùn)行著一個(gè)SNMP代理;SNMP代理是駐留在被管理設(shè)備上的網(wǎng)絡(luò)管理軟件模塊,負(fù)責(zé)收集和存儲(chǔ)管理信息,記錄網(wǎng)絡(luò)設(shè)備的各種情況。管理信息庫是由SNMP代理維護(hù)的一個(gè)信息存儲(chǔ)庫,是一個(gè)具有分層特性的信息的集合,它可以被網(wǎng)絡(luò)管理系統(tǒng)所控制。管理信息庫中定義了各種數(shù)據(jù)對(duì)象,作為設(shè)在代理處的管理站訪問點(diǎn)的集合,管理站可以通過直接控制這些數(shù)據(jù)對(duì)象去控制、配置或者監(jiān)控網(wǎng)絡(luò)設(shè)備。
SNMP管理站通過SNMP代理來進(jìn)行管理工作,SNMP代理的主要功能之一,就是協(xié)助SNMP管理站完成整個(gè)網(wǎng)絡(luò)的管理工作。SNMP代理定期收集被管理設(shè)備的重要信息,收集到的信息將用于確定獨(dú)立的網(wǎng)絡(luò)設(shè)備、部分網(wǎng)絡(luò)或者整個(gè)網(wǎng)絡(luò)運(yùn)行的狀態(tài)時(shí)候正常。SNMP管理站定期查詢SNMP代理收集到有關(guān)被管理設(shè)備的運(yùn)轉(zhuǎn)狀態(tài)、配置以及性能等信息。
SNMP管理站和SNMP代理之間運(yùn)行的協(xié)議操作包括GetRequest、GetNextRequest、SetRequest、GetResponse,它們的含義如下GetRequest用于獲取指定被管理對(duì)象的值的請(qǐng)求報(bào)文;GetNextRequest用于連續(xù)獲取一組被管理對(duì)象的值的請(qǐng)求報(bào)文;SetRequest用于設(shè)置指定的被管理對(duì)象的值的報(bào)文;GetResponse用于設(shè)置指定的被管對(duì)象的請(qǐng)求報(bào)文,是上述三個(gè)協(xié)議操作的返回。
在傳統(tǒng)意義上,SNMP管理站通過網(wǎng)絡(luò)向SNMP代理發(fā)送GetRequest、GetNextRequest、SetRequest等請(qǐng)求,SNMP代理接收該請(qǐng)求,根據(jù)MIB(管理信息庫)中的MIB文件對(duì)被管理設(shè)備的管理對(duì)象進(jìn)行操作,并向SNMP管理站發(fā)送GetResponse響應(yīng)包返回操作結(jié)果。這里每個(gè)管理的對(duì)象都是確定的,其含義和標(biāo)識(shí)通過MIB文件確定,每個(gè)管理對(duì)象都通過唯一的OID(對(duì)象標(biāo)識(shí)符)標(biāo)識(shí)。每個(gè)管理對(duì)象也是相互獨(dú)立的,互相之間也沒有關(guān)聯(lián)性,這也正是SNMP協(xié)議簡(jiǎn)單通用的特性。
下面描述其通用的處理過程當(dāng)SNMP管理站需要查詢被管設(shè)備某幾個(gè)管理對(duì)象的信息時(shí),在GetRequest中指定這幾個(gè)管理對(duì)象的OID,SNMP代理接收到該請(qǐng)求后,通過內(nèi)部接口從被管設(shè)備中獲取對(duì)應(yīng)的信息,并返回GetResponse響應(yīng)包回應(yīng)這幾個(gè)管理對(duì)象的信息。例如,SNMP管理站若想查詢被管設(shè)備的對(duì)象sysDesc、sysObjectID(標(biāo)準(zhǔn)RFC1213中定義的system(系統(tǒng))組的節(jié)點(diǎn))的信息,SNMP管理站在GetRequest請(qǐng)求包中指定sysDesc的OID值1.3.6.1.2.1.1.1.0和sysObjectID的OID值1.3.6.1.2.1.1.2.0,并將GetRequest請(qǐng)求包下發(fā)給SNMP代理,SNMP代理在GetResponse響應(yīng)包中返回對(duì)應(yīng)的值。
當(dāng)SNMP管理站需要對(duì)被管設(shè)備某幾個(gè)管理對(duì)象進(jìn)行設(shè)置時(shí),在SetRequest中指定這幾個(gè)管理對(duì)象的OID和對(duì)應(yīng)的值,SNMP代理就會(huì)將這幾個(gè)管理對(duì)象的操作設(shè)置到被管設(shè)備,并返回給SNMP管理站具體的操作結(jié)果。例如,SNMP管理站若想設(shè)置被管設(shè)備的對(duì)象sysContcat和sysName(標(biāo)準(zhǔn)RFC1213中定義的system組的節(jié)點(diǎn),支持read-write(讀寫))的信息,SNMP管理站在SetRequest請(qǐng)求包中指定sysContact的OID值1.3.6.1.2.1.1.4.0和需要設(shè)置的具體的管理對(duì)象值;并指定sysName的OID值1.3.6.1.2.1.1.5.0和需要設(shè)置的具體的管理對(duì)象的值,并將SetRequest請(qǐng)求包下發(fā)給SNMP代理,SNMP代理將對(duì)應(yīng)的值設(shè)置到被管設(shè)備,并在GetResponse響應(yīng)包中返回對(duì)應(yīng)的操作結(jié)果。
當(dāng)被管設(shè)備的管理對(duì)象存在多個(gè)時(shí),通常將其定義為mibTable,并通過表的索引來標(biāo)識(shí)對(duì)應(yīng)的管理對(duì)象。比如RFC1213中定義的ifTable端口組,此時(shí)SNMP管理站可通過GetNextRequest請(qǐng)求包來遍歷整張表的數(shù)據(jù),也可通過GetRequest請(qǐng)求包查詢具體某個(gè)索引的對(duì)象信息。
GetRequest、GetNextRequest和SetRequest請(qǐng)求包對(duì)應(yīng)的響應(yīng)包都是GetResponse。上面幾種模式的操作中,一般在GetRequest、GetNextRequest、SetRequest請(qǐng)求包中,管理對(duì)象和GetResponse響應(yīng)包中的對(duì)象是一一對(duì)應(yīng)的。在這種模式下,當(dāng)用戶需要通過設(shè)置簡(jiǎn)單的查詢條件,查詢一些比較復(fù)雜的被管設(shè)備的信息時(shí),通過這種傳統(tǒng)意義上的Get或者Set操作就難以實(shí)現(xiàn)。例如,SNMP管理站希望指定一個(gè)號(hào)碼段查詢?cè)撎?hào)碼段的用戶相關(guān)信息,包括用戶的上網(wǎng)時(shí)間、運(yùn)營(yíng)商信息等,或者希望設(shè)置某個(gè)號(hào)碼段用戶的某個(gè)屬性信息,通過這種傳統(tǒng)意義上的Get或者Set操作是無法實(shí)現(xiàn)的,就算操作起來也相當(dāng)麻煩(比如可以將用戶的號(hào)碼信息、上網(wǎng)時(shí)間、運(yùn)營(yíng)商信息等定義為一張mibTable,將號(hào)碼信息設(shè)置為表的索引,通過指定索引來輪詢操作該表),而且當(dāng)用戶想要改變查詢或者設(shè)置的條件時(shí),比如用戶想要設(shè)置某個(gè)號(hào)碼段在某個(gè)上網(wǎng)時(shí)間的某個(gè)屬性信息,通過上面定義的表也是無法實(shí)現(xiàn)的。此種情況下無法體現(xiàn)SNMP協(xié)議的簡(jiǎn)單通用性,反而加大了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)。
此外,SNMP協(xié)議對(duì)錯(cuò)誤碼的定義是比較簡(jiǎn)單的,一般在Get或者Set操作失敗時(shí),通過在GetResponse包中返回一個(gè)錯(cuò)誤碼來確定具體的錯(cuò)誤信息。但在下面的應(yīng)用場(chǎng)合,比如SNMP代理管理多個(gè)被管設(shè)備,某個(gè)Get或者Set操作需要SNMP代理同時(shí)從多個(gè)被管設(shè)備獲取信息,或者同時(shí)操作到多個(gè)被管設(shè)備,此時(shí)可能在多個(gè)被管設(shè)備上操作失敗,也可能在某個(gè)被管設(shè)備上操作失敗,而且失敗的原因也不一樣,只是通過一個(gè)簡(jiǎn)單的錯(cuò)誤碼是無法明確具體的錯(cuò)誤信息的。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種SNMP通信系統(tǒng)和方法,使得SNMP管理站可以非常簡(jiǎn)單地設(shè)置查詢條件或設(shè)置條件來查詢或設(shè)置復(fù)雜的管理對(duì)象。
依照本發(fā)明的SNMP通信系統(tǒng),其包括一SNMP管理站,一SNMP代理,以及被管設(shè)備,其中,SNMP管理站發(fā)送查詢條件或設(shè)置條件給SNMP代理,SNMP代理操作至相應(yīng)的被管設(shè)備,被管設(shè)備根據(jù)SNMP管理站和被管設(shè)備預(yù)先確定的接口,解析該查詢條件或設(shè)置條件,執(zhí)行相應(yīng)的查詢或設(shè)置操作。
在如上所述的SNMP通信系統(tǒng)中,當(dāng)SNMP管理站發(fā)送查詢條件給SNMP代理以執(zhí)行查詢操作時(shí),SNMP代理為該查詢分配一傳輸事務(wù)ID,并將其發(fā)送給SNMP管理站。
在如上所述的SNMP通信系統(tǒng)中,所述查詢條件包括期望查詢的返回記錄數(shù)。
在如上所述的SNMP通信系統(tǒng)中,如果查詢成功,SNMP代理將查詢結(jié)果描述信息存儲(chǔ)在查詢結(jié)果描述表中,將具體的查詢信息存儲(chǔ)在查詢結(jié)果記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢查詢結(jié)果描述表和查詢結(jié)果記錄表,獲取具體的查詢結(jié)果。
在如上所述的SNMP通信系統(tǒng)中,如果查詢或設(shè)置失敗,SNMP代理將具體的錯(cuò)誤信息存儲(chǔ)在錯(cuò)誤信息記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢錯(cuò)誤信息記錄表,獲取具體的錯(cuò)誤信息。
在如上所述的SNMP通信系統(tǒng)中,所述查詢條件包括對(duì)查詢結(jié)果進(jìn)行排序的參數(shù),SNMP代理根據(jù)該參數(shù),對(duì)查詢結(jié)果進(jìn)行排序,并將排序后的結(jié)果存儲(chǔ)在查詢結(jié)果描述表和查詢結(jié)果記錄表中。
在如上所述的SNMP通信系統(tǒng)中,如果SNMP代理在預(yù)定的時(shí)間內(nèi)檢查到SNMP管理站沒有對(duì)與某一查詢結(jié)果進(jìn)行操作,則將該查詢結(jié)果清除。
在如上所述的SNMP通信系統(tǒng)中,SNMP管理站可以針對(duì)一與查詢相對(duì)應(yīng)的傳輸事務(wù)ID,發(fā)送請(qǐng)求包給SNMP代理,請(qǐng)求清除該查詢結(jié)果。
依照本發(fā)明的SNMP通信方法,其包括步驟a,預(yù)先設(shè)置SNMP管理站和被管設(shè)備之間的接口;步驟b,SNMP管理站發(fā)送查詢條件或者設(shè)置條件給SNMP代理,SMMP代理操作至相應(yīng)的被管設(shè)備;步驟c,被管設(shè)備根據(jù)步驟a設(shè)置的接口,解析該查詢條件或設(shè)置條件,并執(zhí)行相應(yīng)的查詢或設(shè)置操作。
在如上所述的SNMP通信方法中,在步驟b中,當(dāng)SNMP管理站發(fā)送查詢條件給SNMP代理以執(zhí)行查詢操作時(shí),SNMP代理為該查詢分配一傳輸事務(wù)ID,并將其發(fā)送給SNMP管理站。
在如上所述的SNMP通信方法中,所述查詢條件包括期望查詢的返回記錄數(shù)。
在如上所述的SNMP通信方法中,在步驟c中,如果查詢成功,則SNMP代理將查詢結(jié)果描述信息存儲(chǔ)在查詢結(jié)果描述表中,將具體的查詢信息存儲(chǔ)在查詢結(jié)果記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢查詢結(jié)果描述表和查詢結(jié)果記錄表,獲取具體的查詢結(jié)果。
在如上所述的SNMP通信方法中,在步驟c中,如果查詢或設(shè)置失敗,SNMP代理將具體的錯(cuò)誤信息存儲(chǔ)在錯(cuò)誤信息記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢錯(cuò)誤信息記錄表,獲取具體的錯(cuò)誤信息。
在如上所述的SNMP通信方法中,在步驟b中發(fā)送的查詢條件包括對(duì)查詢結(jié)果進(jìn)行排序的參數(shù),在步驟c中,SNMP代理根據(jù)該參數(shù),對(duì)查詢結(jié)果進(jìn)行排序,并將排序后的結(jié)果存儲(chǔ)在查詢結(jié)果描述表和查詢結(jié)果記錄表中。
在如上所述的SNMP通信方法中,進(jìn)一步包括SNMP代理在預(yù)定的時(shí)間內(nèi)檢查SNMP管理站是否對(duì)某一查詢結(jié)果進(jìn)行操作的步驟,以及如果檢查到SNMP管理站沒有對(duì)該查詢結(jié)果進(jìn)行操作時(shí),將查詢結(jié)果清除的步驟。
在如上所述的SNMP通信方法中,SNMP管理站針對(duì)一與查詢相對(duì)應(yīng)的傳輸事務(wù)ID,發(fā)送請(qǐng)求包給SNMP代理,請(qǐng)求清除該查詢結(jié)果的步驟。
依照本發(fā)明,通過定義一MIB接口,從而使得SNMP管理站可以非常簡(jiǎn)單地設(shè)置查詢條件來查詢一些復(fù)雜的管理對(duì)象信息。
此外,SNMP代理為該查詢分配一傳輸事務(wù)ID,并將其發(fā)送給SNMP管理站,SNMP管理站需要根據(jù)這個(gè)傳輸事務(wù)ID來查詢具體的結(jié)果。從而每個(gè)SNMP管理站只能查詢與其自己發(fā)出的查詢條件相對(duì)應(yīng)的查詢結(jié)果,而不能查詢其它SNMP管理站發(fā)出的查詢操作,因此加強(qiáng)了SNMP協(xié)議數(shù)據(jù)傳輸?shù)陌踩浴?br> 此外,在滿足查詢條件的記錄數(shù)信息很多(大批量數(shù)據(jù)查詢)時(shí),SNMP管理站可以設(shè)置期望返回的記錄數(shù),以滿足實(shí)際的需求,從而減少SNMP代理所占用的內(nèi)存。
此外,針對(duì)某個(gè)具體的操作,特別是批量操作時(shí),在操作失敗時(shí)能夠獲取到完整的失敗信息。


圖1為本發(fā)明定義的MIB接口的示意圖;圖2為依照本發(fā)明的SNMP管理站,SNMP代理以及被管設(shè)備在執(zhí)行查詢操作時(shí)所執(zhí)行的流程圖;圖3為依照本發(fā)明的SNMP管理站,SNMP代理以及被管設(shè)備在執(zhí)行設(shè)置操作時(shí)所執(zhí)行的流程圖。
具體實(shí)施例方式
本發(fā)明提供一種擴(kuò)充SNMP通訊實(shí)現(xiàn)的一種技術(shù),通過定義通用的MIB接口和擴(kuò)充SNMP代理(SNMP Agent)以及SNMP管理站(SNMP Manager)實(shí)現(xiàn)該MIB接口,以實(shí)現(xiàn)在網(wǎng)絡(luò)管理系統(tǒng)中大批量數(shù)據(jù)查詢和指定復(fù)雜條件進(jìn)行數(shù)據(jù)處理。該技術(shù)解決了上面所說SNMP在查詢和設(shè)置時(shí)的一些缺陷,同時(shí)充分利用了SNMP協(xié)議的簡(jiǎn)單通用性,通過一個(gè)通用的MIB接口,滿足SNMP管理站任意指定查詢或者設(shè)置條件的操作。
下面,描述依照本發(fā)明的SNMP通信方法的流程圖。
首先,在步驟A中定義一個(gè)通用的MIB接口,可針對(duì)所有的查詢或者設(shè)置的操作,該接口是SNMP管理站和被管設(shè)備預(yù)先確定的。依照該接口,被管設(shè)備可以識(shí)別該定義的MIB接口所包括的命令碼和具體的參數(shù)等等;該MIB接口包括條件設(shè)置區(qū),結(jié)果顯示區(qū),以及錯(cuò)誤信息記錄區(qū),這將在下面參照?qǐng)D1進(jìn)行詳細(xì)描述。
步驟BSNMP管理站根據(jù)步驟A所設(shè)置的MIB接口,在條件設(shè)置區(qū)設(shè)置相關(guān)查詢或者設(shè)置的條件,通過SetRequest請(qǐng)求下發(fā)給SNMP代理,并預(yù)先設(shè)置一個(gè)傳輸事務(wù)ID值,以及希望返回的記錄數(shù)。SNMP代理將該請(qǐng)求轉(zhuǎn)換為被管設(shè)備可以識(shí)別的格式,并根據(jù)該請(qǐng)求所包含的信息,操作相應(yīng)的被管設(shè)備(即,相應(yīng)地操作至一個(gè)被管設(shè)備或多個(gè)被管設(shè)備)。接收到該請(qǐng)求的被管設(shè)備,根據(jù)步驟A定義的MIB接口,解析該查詢條件或者設(shè)置條件,進(jìn)行查詢和設(shè)置,并將結(jié)果發(fā)送給SNMP代理。然后,SNMP代理響應(yīng)相應(yīng)的GetResponse包,并返回一個(gè)實(shí)際的傳輸事務(wù)ID值以及相應(yīng)記錄數(shù);步驟CSNMP Manage根據(jù)返回的傳輸事務(wù)ID值以及對(duì)應(yīng)的記錄數(shù),在結(jié)果顯示區(qū)中通過GetRequest或者GetNextRequest操作輪詢?cè)摬樵儗?duì)應(yīng)的結(jié)果信息;步驟D若在步驟B中SNMP代理返回操作失敗,則SNMP管理站通過返回的傳輸事務(wù)ID值,通過GetRequest或者GetNextRequest操作輪詢錯(cuò)誤信息記錄區(qū),獲取具體的錯(cuò)誤信息記錄。
其中,對(duì)于設(shè)置操作,步驟C可以不需要;其中,對(duì)于步驟B,若SNMP管理站希望返回所有的查詢記錄數(shù),可指定希望返回的記錄數(shù)為0,SNMP代理在響應(yīng)包中會(huì)返回對(duì)應(yīng)該查詢實(shí)際的記錄數(shù)。
如圖1所示,其描述了本發(fā)明所定義的MIB接口的具體內(nèi)容,其包括條件設(shè)置區(qū)、結(jié)果顯示區(qū),以及錯(cuò)誤信息記錄區(qū)。
在條件設(shè)置區(qū)中,包括下面幾個(gè)葉子節(jié)點(diǎn)OID定義hwConfigcommandCode具體的查詢或者設(shè)置條件,字符串類型。SNMP管理站通過指定該節(jié)點(diǎn)的值來設(shè)置查詢或者設(shè)置的條件,條件由管理站側(cè)和被管設(shè)備側(cè)協(xié)同確定,包括命令碼和具體的參數(shù),比如設(shè)置查詢某個(gè)路由信息,命令碼是Qry RouteInfo,具體的參數(shù)為Route=***,具體的參數(shù)可以包括多種,如設(shè)定起止路由段,設(shè)置時(shí)間等信息,只要和被管設(shè)備確定了這些相關(guān)參數(shù),管理站就可以任意指定相關(guān)的查詢條件;hwConfigcommandTransID針對(duì)某個(gè)查詢的傳輸事務(wù)ID,整數(shù)類型。傳輸事務(wù)ID是SNMP管理站和SNMP代理之間針對(duì)某個(gè)查詢操作的唯一標(biāo)識(shí),由SNMP代理進(jìn)行分配。SNMP管理站在設(shè)置查詢條件時(shí),指定該節(jié)點(diǎn)的值為0,SNMP代理在返回的響應(yīng)包中分配具體的值;hwConfigrowCount期望返回的記錄數(shù),整數(shù)類型。SNMP管理站通過指定該節(jié)點(diǎn)的值設(shè)置針對(duì)某個(gè)查詢操作希望返回的記錄數(shù),這樣SNMP代理可以根據(jù)SNMP管理站設(shè)置的記錄數(shù)準(zhǔn)備相應(yīng)數(shù)據(jù),不需要將全部數(shù)據(jù)都準(zhǔn)備,以節(jié)省SNMP代理的內(nèi)存。若SNMP管理站希望返回滿足查詢條件的所有記錄數(shù),則指定該節(jié)點(diǎn)的值為0,SNMP代理在返回的響應(yīng)包中返回對(duì)應(yīng)查詢條件的具體的記錄數(shù)。
hwConfigCleanTransID在某個(gè)查詢結(jié)束后通知SNMP代理清除內(nèi)存信息的事務(wù)ID,整數(shù)類型。SNMP管理站在某個(gè)查詢結(jié)束后,設(shè)置該節(jié)點(diǎn)的值為對(duì)應(yīng)查詢的傳輸事務(wù)ID,SNMP代理接收該請(qǐng)求后清除對(duì)應(yīng)查詢的內(nèi)存。SNMP代理也可針對(duì)某個(gè)查詢定時(shí)檢查SNMP管理站是否有查詢操作,若沒有,SNMP代理也可自行清除對(duì)應(yīng)的內(nèi)存,以提高SNMP代理的性能。
結(jié)果顯示區(qū)包括兩張通用的mibTable表hwConfigResultDescTable和hwConfigResultTable。這兩個(gè)表hwConfigResultDescTable和hwConfigResultTable都存儲(chǔ)在SNMP代理中,SNMP代理根據(jù)每次查詢的結(jié)果,將相應(yīng)的信息填入這些表中,SNMP管理站利用相應(yīng)的索引,可以獲取相關(guān)的信息,這將在后面詳細(xì)描述。
hwConfigResultDescTable表包括針對(duì)某個(gè)查詢結(jié)果的描述信息,以傳輸事務(wù)ID作為索引,包括下面幾個(gè)節(jié)點(diǎn)定義hwConfigResultDescColumnIndex指定結(jié)果字段的MIB偏移量,給出本字段在hwConfigResultTable表中最后一個(gè).后面的數(shù)值;hwConfigResultDescColumnName結(jié)果字段名稱;hwConfigResultDescColumnType結(jié)果字段類型。
hwConfigResultTable表包括針對(duì)某個(gè)查詢的查詢結(jié)果,以傳輸事務(wù)ID和記錄號(hào)作為索引,包括下面幾個(gè)節(jié)點(diǎn)定義hwConfigResultIntVal1~hwConfigResultIntVal10,針對(duì)查詢結(jié)果是整型字段的取值節(jié)點(diǎn)定義,目前定義為10個(gè),可根據(jù)具體的應(yīng)用情況進(jìn)行擴(kuò)充;hwConfigResultStrVal1~hwConfigResultStrVal10,針對(duì)查詢結(jié)果是字符類型字段的取值節(jié)點(diǎn)定義,目前定義為10個(gè),可根據(jù)具體的應(yīng)用情況進(jìn)行擴(kuò)充;HwConfigResultDateTime1~hwConfigResultDateTime10,針對(duì)查詢結(jié)果是時(shí)間類型字段的取值節(jié)點(diǎn)定義,目前定義為10個(gè),可根據(jù)具體的應(yīng)用情況進(jìn)行擴(kuò)充;hwConfigResultIPAddr1~hwConfigResultIPAddr10,針對(duì)查詢結(jié)果是IP地址類型字段的取值節(jié)點(diǎn)定義,目前定義為10個(gè),可根據(jù)具體的應(yīng)用情況進(jìn)行擴(kuò)充。
錯(cuò)誤信息記錄區(qū)主要包括hwConfigErrRecordTable表,該表存儲(chǔ)在SNMP代理中。在查詢或者設(shè)置失敗時(shí),SNMP代理將相關(guān)的錯(cuò)誤信息存儲(chǔ)在該表中,SNMP管理站可以通過該表獲取具體的錯(cuò)誤信息,其主要用于在某個(gè)查詢或者設(shè)置操作,SNMP代理需要操作到多個(gè)被管設(shè)備時(shí)。該表以hwConfigErrRecordTransID(針對(duì)某次查詢或者設(shè)置操作失敗時(shí)設(shè)備側(cè)返回的事務(wù)ID,對(duì)應(yīng)設(shè)備側(cè)返回的錯(cuò)誤碼)和hwConfigErrRecordIndex(針對(duì)某此失敗事件信息的記錄號(hào))作為索引,包括下面幾個(gè)節(jié)點(diǎn)定義hwConfigErrRecordTime,失敗事件發(fā)生的時(shí)間;hwConfigErrRecordNodeName,操作到設(shè)備時(shí)產(chǎn)生錯(cuò)誤的對(duì)應(yīng)被管設(shè)備名稱;hwConfigErrRecordIPAddress,操作到設(shè)備時(shí)產(chǎn)生錯(cuò)誤的被管設(shè)備所在主機(jī)IP地址;hwConfigErrRecordObject,具體失敗的對(duì)象;hwConfigErrRecordCauseID,失敗的原因ID。
本發(fā)明涉及到SNMP管理站通過SNMP代理對(duì)被管設(shè)備的查詢操作和設(shè)置操作,其操作流程不一樣,下面分別進(jìn)行描述。
下面,參照?qǐng)D2,描述SNMP管理站11通過SNMP代理12對(duì)被管設(shè)備131-13n進(jìn)行查詢操作的流程。
首先,SNMP管理站11設(shè)置查詢條件,需要設(shè)置下面幾個(gè)參數(shù)在hwConfigcommandCode節(jié)點(diǎn)中指定命令碼和相應(yīng)的參數(shù)條件,這些條件是SNMP管理站11和被管設(shè)備協(xié)商確定的;在hwConfigcommandTransID節(jié)點(diǎn)中指定針對(duì)該查詢的事務(wù)ID值(TransID),該值由SNMP代理12分配,用來識(shí)別每次查詢,SNMP管理站11先設(shè)置該值為0,當(dāng)然SNMP管理站11也可以將該值設(shè)置為其他值;在hwConfigrowCount中指定期望SNMP代理12針對(duì)本次查詢期望返回的記錄數(shù),若希望SNMP代理12返回所有符合查詢條件的記錄,則SNMP管理站11設(shè)置該值為0。在指定這些節(jié)點(diǎn)后,SNMP管理站11組裝SetRequest請(qǐng)求包將查詢條件下發(fā)到SNMP代理12。在該例子中,設(shè)置的TransID為0。
SNMP代理12接收該請(qǐng)求后,可能需要到被管設(shè)備上獲取數(shù)據(jù),因此需要再通過SNMP代理12和被管設(shè)備的內(nèi)部接口操作到被管設(shè)備,而且可能操作到多個(gè)被管設(shè)備;此時(shí),SNMP代理12首先將SNMP管理站11發(fā)送的請(qǐng)求轉(zhuǎn)換為被管設(shè)備可以識(shí)別的格式,然后根據(jù)該請(qǐng)求所包含的信息,操作相應(yīng)的被管設(shè)備131-13n。接收到該請(qǐng)求的被管設(shè)備131-13n,根據(jù)所設(shè)置的MIB接口的內(nèi)容,解析該查詢條件,進(jìn)行查詢。接著,被管設(shè)備將操作結(jié)果(查詢結(jié)果)返回給SNMP代理12。
SNMP代理12判斷查詢被管設(shè)備的操作是否成功。若操作成功,統(tǒng)計(jì)實(shí)際的記錄數(shù),并根據(jù)SNMP管理站11在SetRequest請(qǐng)求包中設(shè)置的hwConfigrowCount值進(jìn)行相應(yīng)處理若SNMP管理站11在請(qǐng)求包中設(shè)置其值為0,則SNMP代理12設(shè)置響應(yīng)包中該節(jié)點(diǎn)的值為實(shí)際的記錄數(shù);若SNMP管理站11在請(qǐng)求包中設(shè)置的該節(jié)點(diǎn)值小于實(shí)際的記錄數(shù),則SNMP代理12設(shè)置響應(yīng)包中該節(jié)點(diǎn)的值為SNMP管理站11所期望返回的值;若SNMP管理站11在請(qǐng)求包中設(shè)置的該節(jié)點(diǎn)的值大于實(shí)際的記錄數(shù),則SNMP代理12設(shè)置響應(yīng)包中該節(jié)點(diǎn)的值為實(shí)際的記錄數(shù)。SNMP代理12同時(shí)針對(duì)該查詢分配一個(gè)唯一的查詢事務(wù)ID,并響應(yīng)GetResponse包給SNMP管理站11,在該包中返回實(shí)際的記錄數(shù)和傳輸事務(wù)ID。若查詢操作失敗,則響應(yīng)GetResponse包給SNMP管理站11,并明確對(duì)應(yīng)的錯(cuò)誤碼。此外,如果查詢成功,則SNMP代理12將相應(yīng)的信息填入存儲(chǔ)在SNMP代理12中的hwConfigResultDescTable表和hwConfigResultTable表中;如果查詢失敗,則SNMP代理12將相應(yīng)的信息填入存儲(chǔ)在SNMP代理12中的hwConfigErrRecordTable表中。
SNMP管理站11解析GetResponse包,若返回操作失敗,則獲取對(duì)應(yīng)的錯(cuò)誤碼信息,并以錯(cuò)誤碼作為索引,調(diào)用GetRequest或者GetNextRequest接口查詢存儲(chǔ)在SNMP代理12中的hwConfigErrRecordTable表獲取具體的失敗信息。
SNMP管理站11解析GetResponse包,若操作成功,SNMP管理站11先以SNMP代理12返回的傳輸事務(wù)ID作為索引,調(diào)用GetRequest或者GetNextRequest接口查詢存儲(chǔ)在SNMP代理12中的hwConfigResultDescTable表獲取查詢結(jié)果的描述信息,在獲取到結(jié)果的描述信息后,再調(diào)用GetRequest或者GetNextRequest接口查詢存儲(chǔ)在SNMP代理12中的hwConfigResultTable表獲取具體的結(jié)果信息。
在上面的操作中,若SNMP管理站11希望指定某個(gè)屬性進(jìn)行排序操作,則在下發(fā)給SNMP代理12的查詢條件中設(shè)置對(duì)應(yīng)排序的屬性,由SNMP代理12進(jìn)行相關(guān)的排序操作,結(jié)果顯示區(qū)中得到的記錄就是排序后的信息,這樣,就是SNMP管理站11還沒有獲取到所有的查詢結(jié)果,同樣可以進(jìn)行查詢結(jié)果的完整排序。
為提升SNMP代理12性能,SNMP代理12可設(shè)置一個(gè)周期檢測(cè)SNMP管理站11是否對(duì)查詢結(jié)果進(jìn)行操作在該周期內(nèi)SNMP代理12保證數(shù)據(jù)的完整性,若超過該周期SNMP管理站11并沒有進(jìn)行任何查詢操作,則SNMP代理12可清空對(duì)應(yīng)某個(gè)查詢的查詢記錄,以釋放內(nèi)存,此后若SNMP管理站11針對(duì)該查詢結(jié)果再進(jìn)行查詢操作,SNMP代理12返回一個(gè)特定的錯(cuò)誤碼,提示SNMP管理站11需要查詢?cè)O(shè)置查詢條件。SNMP管理站11也可通過設(shè)置hwConfigCleanTransID節(jié)點(diǎn)的值為某個(gè)查詢對(duì)應(yīng)的傳輸事務(wù)ID,下發(fā)SetRequest請(qǐng)求包要求SNMP代理12釋放對(duì)應(yīng)某個(gè)查詢的內(nèi)存。
下面,參照?qǐng)D3,描述SNMP管理站11通過SNMP代理12對(duì)被管設(shè)備131-13n進(jìn)行設(shè)置操作的流程。
首先,SNMP管理站11設(shè)置條件,只需要在hwConfigcommandCode節(jié)點(diǎn)中設(shè)置命令碼和相應(yīng)的參數(shù)條件即可,這些條件同樣是SNMP管理站11和被管設(shè)備協(xié)商確定的。SNMP管理站11組裝SetRequest請(qǐng)求包將設(shè)置條件下發(fā)到SNMP代理12。
SNMP代理12接收該請(qǐng)求后,可能需要到被管設(shè)備上獲取數(shù)據(jù),因此需要再通過SNMP代理12和被管設(shè)備的內(nèi)部接口操作到被管設(shè)備,而且可能操作到多個(gè)被管設(shè)備;此時(shí),SNMP代理12首先將SNMP管理站11發(fā)送的請(qǐng)求轉(zhuǎn)換為被管設(shè)備可以識(shí)別的格式,然后根據(jù)該請(qǐng)求所包含的信息,操作相應(yīng)的被管設(shè)備131-13n。接收到該請(qǐng)求的被管設(shè)備131-13n,根據(jù)所設(shè)置的MIB接口的內(nèi)容,解析該設(shè)置條件,進(jìn)行設(shè)置。接著,被管設(shè)備將操作結(jié)果(設(shè)置結(jié)果)返回給SNMP代理12。
SNMP代理12判斷操作(設(shè)置)是否成功,同時(shí)發(fā)送響應(yīng)SetRequest請(qǐng)求的GetResponse包給SNMP管理站11。若操作失敗,則以錯(cuò)誤碼作為索引,將相應(yīng)的失敗信息填充至hwConfigErrRecordTable表中,該hwConfigErrRecordTable表存儲(chǔ)在SNMP代理12中。
SNMP管理站11收到GetResponse包之后,解析該GetResponse包。當(dāng)確定操作失敗時(shí),獲取對(duì)應(yīng)的錯(cuò)誤碼信息,并以錯(cuò)誤碼作為索引,調(diào)用GetRequest或者GetNextRequest接口查詢存儲(chǔ)在SNMP代理12中的hwConfigErrRecordTable表獲取具體的失敗信息。
依照本發(fā)明,通過定義一MIB接口,使得SNMP管理站可以非常簡(jiǎn)單地設(shè)置查詢條件來查詢一些復(fù)雜的管理對(duì)象信息。此外,針對(duì)某個(gè)查詢操作,在SNMP管理站和SNMP代理之間可以通過一個(gè)唯一的傳輸事務(wù)ID標(biāo)識(shí),來保證信息的安全性。此外,在滿足查詢條件的記錄數(shù)信息很多(大批量數(shù)據(jù)查詢)時(shí),SNMP管理站可以設(shè)置期望返回的記錄數(shù),以滿足實(shí)際的需求,并減少SNMP代理所占用的內(nèi)存。此外,在SNMP管理站沒有完全獲取到所有的管理對(duì)象信息時(shí),允許對(duì)滿足查詢條件所有數(shù)據(jù)的完整排序。針對(duì)某個(gè)具體的操作,特別是批量操作時(shí),在操作失敗時(shí)能夠獲取到完整的失敗信息。
本實(shí)施例是為了使本領(lǐng)域普通技術(shù)人員理解而對(duì)本發(fā)明所進(jìn)行的詳細(xì)描述,但本領(lǐng)域普通技術(shù)人員可以想到,在不脫離本發(fā)明的權(quán)利要求所涵蓋的范圍內(nèi)還可以做出其它的變化和修改,其均在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種SNMP通信系統(tǒng),其包括一SNMP管理站,一SNMP代理,以及被管設(shè)備,其中,SNMP管理站發(fā)送查詢條件或設(shè)置條件給SNMP代理,SNMP代理操作至相應(yīng)的被管設(shè)備,被管設(shè)備根據(jù)SNMP管理站和被管設(shè)備預(yù)先確定的接口,解析該查詢條件或設(shè)置條件,執(zhí)行相應(yīng)的查詢或設(shè)置操作。
2.如權(quán)利要求1所述的SNMP通信系統(tǒng),其中,當(dāng)SNMP管理站發(fā)送查詢條件給SNMP代理以執(zhí)行查詢操作時(shí),SNMP代理為該查詢分配一傳輸事務(wù)ID,并將其發(fā)送給SNMP管理站。
3.如權(quán)利要求2所述的SNMP通信系統(tǒng),其中,所述查詢條件包括期望查詢的返回記錄數(shù)。
4.如權(quán)利要求3所述的SNMP通信系統(tǒng),其中,如果查詢成功,SNMP代理將查詢結(jié)果描述信息存儲(chǔ)在查詢結(jié)果描述表中,將具體的查詢信息存儲(chǔ)在查詢結(jié)果記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢查詢結(jié)果描述表和查詢結(jié)果記錄表,獲取具體的查詢結(jié)果。
5.如權(quán)利要求3所述的SNMP通信系統(tǒng),其中,如果查詢或設(shè)置失敗,SNMP代理將具體的錯(cuò)誤信息存儲(chǔ)在錯(cuò)誤信息記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢錯(cuò)誤信息記錄表,獲取具體的錯(cuò)誤信息。
6.如權(quán)利要求1-5任一項(xiàng)所述的SNMP通信系統(tǒng),其中,所述查詢條件包括對(duì)查詢結(jié)果進(jìn)行排序的參數(shù),SNMP代理根據(jù)該參數(shù),對(duì)查詢結(jié)果進(jìn)行排序,并將排序后的結(jié)果存儲(chǔ)在查詢結(jié)果描述表和查詢結(jié)果記錄表中。
7.如權(quán)利要求1-5任一項(xiàng)所述的SNMP通信系統(tǒng),其中,如果SNMP代理在預(yù)定的時(shí)間內(nèi)檢查到SNMP管理站沒有對(duì)與某一查詢結(jié)果進(jìn)行操作,則將該查詢結(jié)果清除。
8.如權(quán)利要求2-5任一項(xiàng)所述的SNMP通信系統(tǒng),其中,SNMP管理站針對(duì)一與查詢相對(duì)應(yīng)的傳輸事務(wù)ID,發(fā)送請(qǐng)求包給SNMP代理,請(qǐng)求清除該查詢結(jié)果。
9.一種SNMP通信方法,其包括步驟a,預(yù)先設(shè)置SNMP管理站和被管設(shè)備之間的接口;步驟b,SNMP管理站發(fā)送查詢條件或者設(shè)置條件給SNMP代理,SNMP代理操作至相應(yīng)的被管設(shè)備;步驟c,被管設(shè)備根據(jù)步驟a設(shè)置的接口,解析該查詢條件或設(shè)置條件,并執(zhí)行相應(yīng)的查詢或設(shè)置操作。
10.如權(quán)利要求9所述的SNMP通信方法,其中,在步驟b中,當(dāng)SNMP管理站發(fā)送查詢條件給SNMP代理以執(zhí)行查詢操作時(shí),SNMP代理為該查詢分配一傳輸事務(wù)ID,并將其發(fā)送給SNMP管理站。
11.如權(quán)利要求10所述的SNMP通信方法,其中,所述查詢條件包括期望查詢的返回記錄數(shù)。
12.如權(quán)利要求11所述的SNMP通信方法,其中,在步驟c中,如果查詢成功,則SNMP代理將查詢結(jié)果描述信息存儲(chǔ)在查詢結(jié)果描述表中,將具體的查詢信息存儲(chǔ)在查詢結(jié)果記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢查詢結(jié)果描述表和查詢結(jié)果記錄表,獲取具體的查詢結(jié)果。
13.如權(quán)利要求11所述的SNMP通信方法,其中,在步驟c中,如果查詢或設(shè)置失敗,SNMP代理將具體的錯(cuò)誤信息存儲(chǔ)在錯(cuò)誤信息記錄表中,SNMP管理站通過信息獲取請(qǐng)求,查詢錯(cuò)誤信息記錄表,獲取具體的錯(cuò)誤信息。
14.如權(quán)利要求9-13任一項(xiàng)所述的SNMP通信方法,其中,在步驟b中發(fā)送的查詢條件包括對(duì)查詢結(jié)果進(jìn)行排序的參數(shù),在步驟c中,SNMP代理根據(jù)該參數(shù),對(duì)查詢結(jié)果進(jìn)行排序,并將排序后的結(jié)果存儲(chǔ)在查詢結(jié)果描述表和查詢結(jié)果記錄表中。
15.如權(quán)利要求9-13任一項(xiàng)所述的SNMP通信方法,其進(jìn)一步包括SNMP代理在預(yù)定的時(shí)間內(nèi)檢查SNMP管理站是否對(duì)某一查詢結(jié)果進(jìn)行操作的步驟,以及如果檢查到SNMP管理站沒有對(duì)該查詢結(jié)果進(jìn)行操作時(shí),將查詢結(jié)果清除的步驟。
16.如權(quán)利要求10-13任一項(xiàng)所述的SNMP通信方法,其進(jìn)一步包括SNMP管理站針對(duì)一與查詢相對(duì)應(yīng)的傳輸事務(wù)ID,發(fā)送請(qǐng)求包給SNMP代理,請(qǐng)求清除該查詢結(jié)果的步驟。
全文摘要
本發(fā)明提供一種SNMP通信系統(tǒng)和方法。該SNMP通信系統(tǒng)包括一SNMP管理站,一SNMP代理,以及被管設(shè)備。SNMP管理站發(fā)送查詢條件或設(shè)置條件給SNMP代理,SNMP代理操作至相應(yīng)的被管設(shè)備,被管設(shè)備根據(jù)SNMP管理站和被管設(shè)備預(yù)先確定的接口,解析該查詢條件或設(shè)置條件,執(zhí)行相應(yīng)的查詢或設(shè)置操作。
文檔編號(hào)H04L29/06GK1859216SQ20061006639
公開日2006年11月8日 申請(qǐng)日期2006年4月5日 優(yōu)先權(quán)日2006年4月5日
發(fā)明者黃亞平 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广丰县| 松阳县| 深水埗区| 锡林郭勒盟| 龙胜| 绍兴市| 铁岭县| 镇安县| 龙岩市| 江北区| 城固县| 巴马| 泸溪县| 秦安县| 荣成市| 芮城县| 来凤县| 含山县| 德惠市| 宜丰县| 友谊县| 宁乡县| 长沙市| 平利县| 滦平县| 日照市| 夏邑县| 郁南县| 常山县| 南丹县| 松原市| 济南市| 肇庆市| 河西区| 湖州市| 博客| 库尔勒市| 沧州市| 苗栗市| 个旧市| 南汇区|