基于snmp優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于SNMP優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng),所述方法包括:接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng);若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。本發(fā)明的基于SNMP優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng),可根據(jù)來自各SNMP代理站的SNMP響應(yīng)數(shù)據(jù)包動態(tài)調(diào)節(jié)對應(yīng)的SNMP請求報文的參數(shù),可減少錯誤信息與提高收集或檢索數(shù)據(jù)信息的效率和準(zhǔn)確率。
【專利說明】基于SNMP優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信【技術(shù)領(lǐng)域】,特別是涉及一種基于SNMP優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng)。
【背景技術(shù)】
[0002]在現(xiàn)有通過簡單網(wǎng)絡(luò)管理協(xié)議(SimpleNetwork Management Protocol, SNMP)進行數(shù)據(jù)通信的技術(shù)中,SNMP管理站與SNMP代理站之間通過SNMP報文進行數(shù)據(jù)交互。SNMP報文包括Get、Get-Next、Get-Bulk、Set請求,其中Get-Bulk請求是用于獲取大數(shù)據(jù)量的主要手段,目的是最少化檢索大批管理信息所需的協(xié)議交換次數(shù),但檢索大批管理信息的能力受各SNMP代理站的能力限制。若請求的數(shù)據(jù)量超過SNMP代理站的檢索能力,無法返回所有請求的響應(yīng),SNMP代理站將返回一個沒有數(shù)據(jù)的錯誤消息。因此SNMP管理站在發(fā)送數(shù)據(jù)請求時,一方面要讓SNMP代理站返回盡可能多的數(shù)據(jù),另一方面也要考慮SNMP代理站的設(shè)備檢索大批管理信息的能力。
[0003]但是在電信網(wǎng)絡(luò)設(shè)備中,由于設(shè)備數(shù)量相對較多,SNMP代理站要求較低,而且各SMNP代理站很大程度上由技術(shù)能力參差不齊的不同廠家提供,因此各SNMP代理站不同負荷的設(shè)備的處理查詢的能力不同,常常會對管理站的請求返回錯誤消息,從而導(dǎo)致SNMP管理站無法獲取到所需數(shù)據(jù)結(jié)果。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對上述SNMP管理站與SNMP代理站之間通過SNMP報文進行數(shù)據(jù)交互時,SNMP代理站常常返回錯誤消息,導(dǎo)致SNMP管理站無法獲取到所需數(shù)據(jù)結(jié)果問題,提供一種基于SNMP優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng)。
[0005]一種基于SNMP優(yōu)化數(shù)據(jù)通信的方法,包括以下步驟:
[0006]接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng);
[0007]若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
[0008]一種基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),包括:
[0009]判斷單元,用于接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng);
[0010]調(diào)整單元,用于在所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)時,解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
[0011]本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法和系統(tǒng),接收SNMP響應(yīng)數(shù)據(jù)包后,解析所述SNMP響應(yīng)數(shù)據(jù)包,根據(jù)解析結(jié)果對與SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值和Non-repeater參數(shù)值,可根據(jù)來自各SNMP代理站的SNMP響應(yīng)數(shù)據(jù)包動態(tài)調(diào)節(jié)對應(yīng)的SNMP請求報文的參數(shù),使SNMP管理站發(fā)送的SNMP請求報文與各SNMP代理站自身的信息獲取能力相適應(yīng),最終可減少錯誤信息與提高收集或檢索數(shù)據(jù)信息的效率和準(zhǔn)確率。
【專利附圖】
【附圖說明】
[0012]圖1是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法第一實施方式的流程示意圖;
[0013]圖2是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法第二實施方式的流程示意圖;
[0014]圖3是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法第三實施方式的流程示意圖;
[0015]圖4是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)第一實施方式的結(jié)構(gòu)示意圖。
【具體實施方式】
[0016]請參閱圖1,圖1是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法第一實施方式的流程示意圖。
[0017]本實施方式的所述基于SNMP優(yōu)化數(shù)據(jù)通信的方法包括以下步驟:
[0018]步驟101,接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng)。
[0019]步驟102,若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
[0020]本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法,接收SNMP響應(yīng)數(shù)據(jù)包后,解析所述SNMP響應(yīng)數(shù)據(jù)包,根據(jù)解析結(jié)果對與SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值和Non-repeater參數(shù)值,可根據(jù)來自各SNMP代理站的SNMP響應(yīng)數(shù)據(jù)包動態(tài)調(diào)節(jié)對應(yīng)的SNMP請求報文的參數(shù),使SNMP管理站發(fā)送的SNMP請求報文與各SNMP代理站自身的信息獲取能力相適應(yīng),最終可減少錯誤信息與提高收集或檢索數(shù)據(jù)信息的效率和準(zhǔn)確率。
[0021 ] 其中,對于步驟101,所述SNMP響應(yīng)數(shù)據(jù)包為SNMP代理站響應(yīng)SNMP管理站的SNMP請求報文,返回的數(shù)據(jù)信息。優(yōu)選地,單個SNMP管理站可以向多個不同的SNMP代理站發(fā)送不同的SNMP請求報文,還可以向單個SNMP代理站發(fā)送多個不同的SNMP請求報文;單個SNMP代理站也可以響應(yīng)多個SNMP管理站的SNMP報文請求向多個SNMP管理站返回SNMP響應(yīng)數(shù)據(jù)包,還可以響應(yīng)單個SNMP管理站的多個SNMP報文請求。因此,對接收SNMP響應(yīng)數(shù)據(jù)包要進行辨識,需要找到對應(yīng)的SNMP管理站和對應(yīng)的SNMP報文。
[0022]在一個實施例中,所述接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng)的步驟包括以下步驟:
[0023]步驟1011,根據(jù)所述SNMP響應(yīng)數(shù)據(jù)包的發(fā)送ID,判斷當(dāng)前SNMP管理站是否向所述發(fā)送ID對應(yīng)的SNMP代理站發(fā)送過SNMP請求報文。
[0024]步驟1012,若是,則將所述發(fā)送ID與所述SNMP管理站記錄的已發(fā)送的SNMP請求報文的請求ID進行匹配,若匹配成功,則所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)。
[0025]其中,所述發(fā)送ID優(yōu)選為生成所述SNMP響應(yīng)數(shù)據(jù)包的SNMP代理站的序列號或帳號。所述請求ID優(yōu)選地包括SNMP請求報文發(fā)往的SNMP代理站的信息。
[0026]在其他實施方式中,本領(lǐng)域技術(shù)人員也可使用除ID外的本領(lǐng)域慣用的其他信息標(biāo)識所述SNMP響應(yīng)數(shù)據(jù)包或所述SNMP請求報文。
[0027]在另一個實施例中,在執(zhí)行所述接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng)的步驟之前,還包括以下步驟:
[0028]獲取與待發(fā)送SNMP請求報文對應(yīng)的各參數(shù)的最新參數(shù)值,將獲取的各參數(shù)的最新參數(shù)值配置到所述待發(fā)送SNMP請求報文中,并發(fā)送配置后的SNMP請求報文。
[0029]其中,在將獲取的各參數(shù)的最新參數(shù)值配置到所述待發(fā)送SNMP請求報文中時,可對SNMP請求報文中的各參數(shù)下發(fā)使能開關(guān),當(dāng)某一參數(shù)的使能開關(guān)為關(guān)時,則不根據(jù)交互結(jié)果(SNMP響應(yīng)數(shù)據(jù)包)對該對應(yīng)參數(shù)做調(diào)整。
[0030]優(yōu)選地,在發(fā)送配置后的SNMP請求報文可同時標(biāo)記該SNMP請求報文的請求ID。如果當(dāng)前發(fā)送的SNMP報文為首次發(fā)送(即第一次向?qū)?yīng)SNMP代理站發(fā)送請求或請求的信息為第一次請求),則獲取默認配置參數(shù)進行配置。如果不是首次發(fā)送,則獲取默認參數(shù)的最新修改值。
[0031]對于步驟102,所述Max-repetitions參數(shù)值和所述Non-repeater參數(shù)值為SNMP請求報文中Get-Bulk請求的兩個參數(shù)的參數(shù)值,一個是Non-repeater參數(shù),表示按正常Get-Next-Request操作的變量個數(shù),另一個是Max-repetitions參數(shù),表示其余變量檢索后繼個數(shù)。
[0032]若根據(jù)SNMP請求報文進行信息檢索,SNMP代理站需檢索的變量的個數(shù)為N+M*R,其中,N代表Non-repeater參數(shù),M代表Max-repetitions參數(shù),R代表每列的對象個數(shù)。SNMP請求報文中N值越大,數(shù)據(jù)交互質(zhì)量越高,但同時交互次數(shù)越多,交互效率越低;SNMP請求報文中M值越大,交互效率越高,但同時M越大對SNMP代理站CPU和內(nèi)存資源的消耗的就會越多,甚至將耗盡,導(dǎo)致網(wǎng)絡(luò)設(shè)備掛死。因此,本發(fā)明的技術(shù)人員可通過反復(fù)的調(diào)試和總結(jié),得出一個調(diào)整所述Max-repetitions參數(shù)值和所述Non-repeater參數(shù)值的經(jīng)驗庫。然后根據(jù)經(jīng)驗庫設(shè)定減小所述Max-repetitions參數(shù)值的具體減少量值和增大所述Non-repeater參數(shù)值的具體增大量值。優(yōu)選地,可將所述減少量值設(shè)為1,將所述增大量值設(shè)為5。
[0033]在一個實施例中,本實施方式的所述基于SNMP優(yōu)化數(shù)據(jù)通信的方法,在執(zhí)行所述接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng)的步驟之前,還可包括以下步驟:
[0034]步驟1021,獲取發(fā)往同一 SNMP代理站請求相同信息的多個SNMP請求報文,分析獲取的多個SNMP請求報文,獲取各SNMP請求報文對應(yīng)的超時時長、Non-repeater參數(shù)值和Max-repetitions 參數(shù)值。
[0035]步驟1022,獲取與所述獲取的多個SNMP請求報文對應(yīng)的SNMP響應(yīng)數(shù)據(jù)包,通過分析獲取的SNMP響應(yīng)數(shù)據(jù)包,獲取所述SNMP響應(yīng)數(shù)據(jù)包中返回的實際列數(shù)和實際行數(shù)。
[0036]步驟1023,分析各SNMP請求報文的超時時長與各SNMP響應(yīng)數(shù)據(jù)包中的實際列數(shù)和實際行數(shù),獲得Non-repeater參數(shù)值和Max-repetitions參數(shù)值與實際列數(shù)和實際行數(shù)或超時時長間的對應(yīng)關(guān)系,得出Non-repeater參數(shù)和Max-repetitions參數(shù)對應(yīng)不同超時時長的調(diào)整值范圍,或當(dāng)前Non-repeater參數(shù)和Max-repetitions參數(shù)對應(yīng)不同實際列數(shù)和不同實際行數(shù)的調(diào)整值范圍。
[0037]在本實施例中,通過上述步驟,可建立一個根據(jù)所述超時時長或所述實際列數(shù)和所述實際行數(shù)調(diào)整Non-repeater參數(shù)和Max-repetitions參數(shù)的經(jīng)驗庫。根據(jù)經(jīng)驗庫中的調(diào)整幅度調(diào)整解Non-repeater參數(shù)和Max-repetitions參數(shù),可避免網(wǎng)絡(luò)的變化、SNMP代理設(shè)備業(yè)務(wù)能力的不同以及業(yè)務(wù)負荷變化引起的數(shù)據(jù)丟包、超時等問題,從而保證了 SNMP管理站和SNMP代理站間信息交互的高效性以及數(shù)據(jù)的準(zhǔn)確性。
[0038]在另一個實施例中,本實施方式所述基于SNMP優(yōu)化數(shù)據(jù)通信的方法,在執(zhí)行所述減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值的步驟之后,還可包括以下步驟:
[0039]將所述SNMP請求報文的請求ID與增大的Non-repeater參數(shù)值和減小的Max-repetitions參數(shù)值對應(yīng)存儲。
[0040]請參閱圖2,圖2是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法第二實施方式的流程示意圖。
[0041]本實施方式所述基于SNMP優(yōu)化數(shù)據(jù)通信的方法與第一實施方式的主要區(qū)別在于:所述若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值的步驟包括以下步驟:
[0042]步驟201,若所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包是否為超時數(shù)據(jù)包,若是,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater 參數(shù)值。
[0043]步驟202,若不是超時數(shù)據(jù)包,則根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中的數(shù)據(jù)是否完整,若不完整,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
[0044]其中,對于步驟201,減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值時,可根據(jù)超時時長減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,也可根據(jù)設(shè)定值減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,還可根據(jù)本領(lǐng)域技術(shù)人員慣用的其他方式減小所述Max-repetitions參數(shù)值和增大所述 Non-repeater 參數(shù)值。
[0045]對于步驟202,減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值時,可根據(jù)所述SNMP響應(yīng)數(shù)據(jù)包的信息完整度減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,也可根據(jù)設(shè)定值減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,還可根據(jù)本領(lǐng)域技術(shù)人員慣用的其他方式減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值。
[0046]在本實施方式中,減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值時,依據(jù)超時時長或信息完整度的獲取方法可與第一實施方式步驟102的實施例中獲取的方法相同,減小所述Max-repetitions參數(shù)值的幅度可設(shè)定為1,增大所述Non-repeater參數(shù)值的幅度可設(shè)定為5。
[0047]本實施方式所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,通過分析SNMP響應(yīng)數(shù)據(jù)包是否為超時數(shù)據(jù)包以及是否為完整數(shù)據(jù)包,可根據(jù)SNMP代理站的當(dāng)前網(wǎng)絡(luò)環(huán)境自動調(diào)整Non-repeater參數(shù)和Max-repetitions參,保證SNMP響應(yīng)數(shù)據(jù)包中數(shù)據(jù)的完整性和可靠性,提升SNMP管理站或SNMP代理站的數(shù)據(jù)采集性能,不依完全賴廠家提供的SNMP代理設(shè)備。
[0048]請參閱圖3,圖3是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的方法第三實施方式的流程示意圖。
[0049]本實施方式所述基于SNMP優(yōu)化數(shù)據(jù)通信的方法與第一實施方式的主要區(qū)別在于:在所述若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息的步驟之后,還包括以下步驟:
[0050]步驟301,若所述SNMP響應(yīng)數(shù)據(jù)包中不存在錯誤消息,獲取所述SNMP響應(yīng)數(shù)據(jù)包攜帶的請求時長、列變量個數(shù)和所有變量個數(shù)。
[0051]步驟302,通過預(yù)設(shè)的調(diào)整經(jīng)驗庫,查找與獲取的請求時長、列變量個數(shù)和所有變量個數(shù)對應(yīng)的調(diào)整值,對所述SNMP請求報文中配置的Non-repeater參數(shù)和Max-repetitions參數(shù)進行相應(yīng)調(diào)整。
[0052]其中,對于步驟301,所述列變量個數(shù)等價于第一實施方式中的實際列數(shù),即SNMP代理站進行信息檢索時檢索的信息的列數(shù),所有變量個數(shù)與第一實施方式中的實際行數(shù)和實際列數(shù)存在預(yù)定的對應(yīng)關(guān)系。所述請求時長等價于第一實施方式中的超時時長,即發(fā)送SNMP報文與接收到SNMP響應(yīng)數(shù)據(jù)包間的時間間隔。
[0053]對于步驟302,所述預(yù)設(shè)的經(jīng)驗庫與第一實施方式中獲取經(jīng)驗庫的方式相同,該預(yù)設(shè)的經(jīng)驗庫中請求時長、列變量個數(shù)和所有變量個數(shù)對應(yīng)的具體調(diào)整值與第一實施方式中可不同。
[0054]本實施方式所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,在SNMP響應(yīng)數(shù)據(jù)包中不存在錯誤信息的情況下,進一步通過分析請求時長、列變量個數(shù)和所有變量個數(shù),調(diào)整Non-repeater參數(shù)和Max-repetitions參數(shù),可使SNMP報文與對應(yīng)的SNMP代理站的能力或SNMP代理站的網(wǎng)絡(luò)環(huán)境更貼合,在保證信息交互的效率的同時,節(jié)約SNMP代理站的內(nèi)存資源和CPU。
[0055]請參閱圖4,圖4是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)第一實施方式的結(jié)構(gòu)示意圖。
[0056]本實施方式的所述基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)包括判斷單元100和調(diào)整單元,其中:
[0057]判斷單元100,用于接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng).[0058]調(diào)整單元200,用于在所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)時,解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
[0059]本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),接收SNMP響應(yīng)數(shù)據(jù)包后,解析所述SNMP響應(yīng)數(shù)據(jù)包,根據(jù)解析結(jié)果對與SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值和Non-repeater參數(shù)值,可根據(jù)來自各SNMP代理站的SNMP響應(yīng)數(shù)據(jù)包動態(tài)調(diào)節(jié)對應(yīng)的SNMP請求報文的參數(shù),使SNMP管理站發(fā)送的SNMP請求報文與各SNMP代理站自身的信息獲取能力相適應(yīng),最終可減少錯誤信息與提高收集或檢索數(shù)據(jù)信息的效率和準(zhǔn)確率。
[0060]其中,對于判斷單元100,所述SNMP響應(yīng)數(shù)據(jù)包為SNMP代理站響應(yīng)SNMP管理站的SNMP請求報文,返回的數(shù)據(jù)信息。優(yōu)選地,單個SNMP管理站可以向多個不同的SNMP代理站發(fā)送不同的SNMP請求報文,還可以向單個SNMP代理站發(fā)送多個不同的SNMP請求報文;單個SNMP代理站也可以響應(yīng)多個SNMP管理站的SNMP報文請求向多個SNMP管理站返回SNMP響應(yīng)數(shù)據(jù)包,還可以響應(yīng)單個SNMP管理站的多個SNMP報文請求。因此,對接收SNMP響應(yīng)數(shù)據(jù)包要進行辨識,需要找到對應(yīng)的SNMP管理站和對應(yīng)的SNMP報文。
[0061]在一個實施例中,所述判斷單元100還用于:
[0062]根據(jù)所述SNMP響應(yīng)數(shù)據(jù)包的發(fā)送ID,判斷當(dāng)前SNMP管理站是否向所述發(fā)送ID對應(yīng)的SNMP代理站發(fā)送過SNMP請求報文。
[0063]若是,則將所述發(fā)送ID與所述SNMP管理站記錄的已發(fā)送的SNMP請求報文的請求ID進行匹配,若匹配成功,則所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)。
[0064]其中,所述發(fā)送ID優(yōu)選為生成所述SNMP響應(yīng)數(shù)據(jù)包的SNMP代理站的序列號或帳號。所述請求ID優(yōu)選地包括SNMP請求報文發(fā)往的SNMP代理站的信息。
[0065]在其他實施方式中,本領(lǐng)域技術(shù)人員也可使用除ID外的本領(lǐng)域慣用的其他信息標(biāo)識所述SNMP響應(yīng)數(shù)據(jù)包或所述SNMP請求報文。
[0066]在另一個實施例中,本實施方式所述基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)還包括發(fā)送單元,用于獲取與待發(fā)送SNMP請求報文對應(yīng)的各參數(shù)的最新參數(shù)值,將獲取的各參數(shù)的最新參數(shù)值配置到所述待發(fā)送SNMP請求報文中,并發(fā)送配置后的SNMP請求報文。
[0067]其中,在將獲取的各參數(shù)的最新參數(shù)值配置到所述待發(fā)送SNMP請求報文中時,可對SNMP請求報文中的各參數(shù)下發(fā)使能開關(guān),當(dāng)某一參數(shù)的使能開關(guān)為關(guān)時,則不根據(jù)交互結(jié)果(SNMP響應(yīng)數(shù)據(jù)包)對該對應(yīng)參數(shù)做調(diào)整。
[0068]優(yōu)選地,在發(fā)送配置后的SNMP請求報文可同時標(biāo)記該SNMP請求報文的請求ID。如果當(dāng)前發(fā)送的SNMP報文為首次發(fā)送(即第一次向?qū)?yīng)SNMP代理站發(fā)送請求或請求的信息為第一次請求),則獲取默認配置參數(shù)進行配置。如果不是首次發(fā)送,則獲取默認參數(shù)的最新修改值。
[0069]對于調(diào)整單兀200,所述Max-repetitions參數(shù)值和所述Non-repeater參數(shù)值為SNMP請求報文中Get-Bulk請求的兩個參數(shù)的參數(shù)值,一個是Non-repeater參數(shù),表示按正常Get-Next-Request操作的變量個數(shù),另一個是Max-repetitions參數(shù),表示其余變量檢索后繼個數(shù)。
[0070]若根據(jù)SNMP請求報文進行信息檢索,SNMP代理站需檢索的變量的個數(shù)為N+M*R,其中,N代表Non-repeater參數(shù),M代表Max-repetitions參數(shù),R代表每列的對象個數(shù)。SNMP請求報文中N值越大,數(shù)據(jù)交互質(zhì)量越高,但同時交互次數(shù)越多,交互效率越低;SNMP請求報文中M值越大,交互效率越高,但同時M越大對SNMP代理站CPU和內(nèi)存資源的消耗的就會越多,甚至將耗盡,導(dǎo)致網(wǎng)絡(luò)設(shè)備掛死。因此,本發(fā)明的技術(shù)人員可通過反復(fù)的調(diào)試和總結(jié),得出一個調(diào)整所述Max-repetitions參數(shù)值和所述Non-repeater參數(shù)值的經(jīng)驗庫。然后根據(jù)經(jīng)驗庫設(shè)定減小所述Max-repetitions參數(shù)值的具體減少量值和增大所述Non-repeater參數(shù)值的具體增大量值。優(yōu)選地,可將所述減少量值設(shè)為1,將所述增大量值設(shè)為5。
[0071]在一個實施例中,本實施方式的所述基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),還可包括調(diào)試單元,用于執(zhí)行以下操作:
[0072]獲取發(fā)往同一 SNMP代理站請求相同信息的多個SNMP請求報文,分析獲取的多個SNMP請求報文,獲取各SNMP請求報文對應(yīng)的超時時長、Non-repeater參數(shù)值和Max-repetitions 參數(shù)值;
[0073]獲取與所述獲取的多個SNMP請求報文對應(yīng)的SNMP響應(yīng)數(shù)據(jù)包,通過分析獲取的SNMP響應(yīng)數(shù)據(jù)包,獲取所述SNMP響應(yīng)數(shù)據(jù)包中返回的實際列數(shù)和實際行數(shù);
[0074]分析各SNMP請求報文的超時時長與各SNMP響應(yīng)數(shù)據(jù)包中的實際列數(shù)和實際行數(shù),獲得Non-repeater參數(shù)值和Max-repetitions參數(shù)值與實際列數(shù)和實際行數(shù)或超時時長間的對應(yīng)關(guān)系,得出Non-repeater參數(shù)和Max-repetitions參數(shù)對應(yīng)不同超時時長的調(diào)整值范圍,或當(dāng)前Non-repeater參數(shù)和Max-repetitions參數(shù)對應(yīng)不同實際列數(shù)和不同實際行數(shù)的調(diào)整值范圍。
[0075]在本實施例中,通過上述操作,可建立一個根據(jù)所述超時時長或所述實際列數(shù)和所述實際行數(shù)調(diào)整Non-repeater參數(shù)和Max-repetitions參數(shù)的經(jīng)驗庫。根據(jù)經(jīng)驗庫中的調(diào)整幅度調(diào)整解Non-repeater參數(shù)和Max-repetitions參數(shù),可避免網(wǎng)絡(luò)的變化、SNMP代理設(shè)備業(yè)務(wù)能力的不同以及業(yè)務(wù)負荷變化引起的數(shù)據(jù)丟包、超時等問題,從而保證了 SNMP管理站和SNMP代理站間信息交互的高效性以及數(shù)據(jù)的準(zhǔn)確性。
[0076]在另一個實施例中,調(diào)整單元200還用于在減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值的之后,將所述SNMP請求報文的請求ID與增大的Non-repeater參數(shù)值和減小的Max-repetitions參數(shù)值對應(yīng)存儲。
[0077]以下所述是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)第二實施方式。
[0078]本實施方式所述基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)與第一實施方式的主要區(qū)別在于:調(diào)整單元200進一步用于:
[0079]在所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)時,解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包是否為超時數(shù)據(jù)包,若是,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater 參數(shù)值。
[0080]若不是超時數(shù)據(jù)包,則根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中的數(shù)據(jù)是否完整,若不完整,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
[0081]其中,對于調(diào)整單元200,是超時數(shù)據(jù)包時,減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值時,可根據(jù)超時時長減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,也可根據(jù)設(shè)定值減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,還可根據(jù)本領(lǐng)域技術(shù)人員慣用的其他方式減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值。
[0082]SNMP響應(yīng)數(shù)據(jù)包中的數(shù)據(jù)不完整時,減小所述Max-repetitions參數(shù)值和增大所述Non-Mpeater參數(shù)值時,可根據(jù)所述SNMP響應(yīng)數(shù)據(jù)包的信息完整度減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,也可根據(jù)設(shè)定值減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值,還可根據(jù)本領(lǐng)域技術(shù)人員慣用的其他方式減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值。
[0083]在本實施方式中,減小所述Max-repetitions參數(shù)值和增大所述Non-repeater參數(shù)值時,依據(jù)超時時長或信息完整度的獲取方式可與第一實施方式的實施例中獲取的方式相同,減小所述Max-repetitions參數(shù)值的幅度可設(shè)定為I,增大所述Non-repeater參數(shù)值的幅度可設(shè)定為5。
[0084]本實施方式所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),通過分析SNMP響應(yīng)數(shù)據(jù)包是否為超時數(shù)據(jù)包以及是否為完整數(shù)據(jù)包,可根據(jù)SNMP代理站的當(dāng)前網(wǎng)絡(luò)環(huán)境自動調(diào)整Non-repeater參數(shù)和Max-repetitions參,保證SNMP響應(yīng)數(shù)據(jù)包中數(shù)據(jù)的完整性和可靠性,提升SNMP管理站或SNMP代理站的數(shù)據(jù)采集性能,不依完全賴廠家提供的SNMP代理設(shè)備。
[0085]以下所述是本發(fā)明基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)第三實施方式。
[0086]本實施方式所述基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng)與第一實施方式的主要區(qū)別在于:調(diào)整單元200進一步還用于:
[0087]在所述SNMP響應(yīng)數(shù)據(jù)包中不存在錯誤消息時,獲取所述SNMP響應(yīng)數(shù)據(jù)包攜帶的請求時長、列變量個數(shù)和所有變量個數(shù)。
[0088]通過預(yù)設(shè)的調(diào)整經(jīng)驗庫,查找與獲取的請求時長、列變量個數(shù)和所有變量個數(shù)對應(yīng)的調(diào)整值,對所述SNMP請求報文中配置的Non-repeater參數(shù)和Max-repetitions參數(shù)進行相應(yīng)調(diào)整。
[0089]其中,對于調(diào)整單元200,所述列變量個數(shù)等價于第一實施方式中的實際列數(shù),即SNMP代理站進行信息檢索時檢索的信息的列數(shù),所有變量個數(shù)與第一實施方式中的實際行數(shù)和實際列數(shù)存在預(yù)定的對應(yīng)關(guān)系。所述請求時長等價于第一實施方式中的超時時長,即發(fā)送SNMP報文與接收到SNMP響應(yīng)數(shù)據(jù)包間的時間間隔。
[0090]所述預(yù)設(shè)的經(jīng)驗庫與第一實施方式中獲取經(jīng)驗庫的方式相同,該預(yù)設(shè)的經(jīng)驗庫中請求時長、列變量個數(shù)和所有變量個數(shù)對應(yīng)的具體調(diào)整值與第一實施方式中可不同。
[0091]本實施方式所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),在SNMP響應(yīng)數(shù)據(jù)包中不存在錯誤信息的情況下,進一步通過分析請求時長、列變量個數(shù)和所有變量個數(shù),調(diào)整Non-repeater參數(shù)和Max-repetitions參數(shù),可使SNMP報文與對應(yīng)的SNMP代理站的能力或SNMP代理站的網(wǎng)絡(luò)環(huán)境更貼合,在保證信息交互的效率的同時,節(jié)約SNMP代理站的內(nèi)存資源和CPU。
[0092]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種基于SNMP優(yōu)化數(shù)據(jù)通信的方法,其特征在于,包括以下步驟: 接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng); 若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
2.根據(jù)權(quán)利要求1所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,其特征在于,所述若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值的步驟包括以下步驟: 若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包是否為超時數(shù)據(jù)包,若是,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值; 若不是超時數(shù)據(jù)包,則根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中的數(shù)據(jù)是否完整,若不完整,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
3.根據(jù)權(quán)利要求1所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,其特征在于,在執(zhí)行所述接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng)的步驟之前,還包括以下步驟:` 獲取與待發(fā)送SNMP請求報文對應(yīng)的各參數(shù)的最新參數(shù)值,將獲取的各參數(shù)的最新參數(shù)值配置到所述待發(fā)送SNMP請求報文中,并發(fā)送配置后的SNMP請求報文。
4.根據(jù)權(quán)利要求1所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,其特征在于,所述接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng)的步驟包括以下步驟: 根據(jù)所述SNMP響應(yīng)數(shù)據(jù)包的發(fā)送ID,判斷當(dāng)前SNMP管理站是否向所述發(fā)送ID對應(yīng)的SNMP代理站發(fā)送過SNMP請求報文; 若是,則將所述發(fā)送ID與所述SNMP管理站記錄的已發(fā)送的SNMP請求報文的請求ID進行匹配,若匹配成功,則所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)。
5.根據(jù)權(quán)利要求1所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,其特征在于,在執(zhí)行所述減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值的步驟之后,還包括以下步驟: 將所述SNMP請求報文的請求ID與增大的Non-repeater參數(shù)值和減小的Max-repetitions參數(shù)值對應(yīng)存儲。
6.根據(jù)權(quán)利要求1至5中任意一項所述的基于SNMP優(yōu)化數(shù)據(jù)通信的方法,其特征在于,在所述若對應(yīng),解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息的步驟之后,還包括以下步驟: 若所述SNMP響應(yīng)數(shù)據(jù)包中不存在錯誤消息,獲取所述SNMP響應(yīng)數(shù)據(jù)包攜帶的請求時長、列變量個數(shù)和所有變量個數(shù); 通過預(yù)設(shè)的調(diào)整經(jīng)驗庫,查找與獲取的請求時長、列變量個數(shù)和所有變量個數(shù)對應(yīng)的調(diào)整值,對所述SNMP請求報文中配置的Non-repeater參數(shù)和Max-repetitions參數(shù)進行相應(yīng)調(diào)整。
7.一種基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),其特征在于,包括: 判斷單元,用于接收SNMP響應(yīng)數(shù)據(jù)包,并判斷所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文是否對應(yīng); 調(diào)整單元,用于在所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)時,解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中是否存在錯誤消息,若存在,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
8.根據(jù)權(quán)利要求7所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),其特征在于,所述調(diào)整單元進一步用于: 在所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)時,解析所述SNMP響應(yīng)數(shù)據(jù)包,并根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包是否為超時數(shù)據(jù)包,若是,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值; 若不是超時數(shù)據(jù)包,則根據(jù)解析結(jié)果判斷所述SNMP響應(yīng)數(shù)據(jù)包中的數(shù)據(jù)是否完整,若不完整,則減小與所述SNMP請求報文對應(yīng)的Max-repetitions參數(shù)值、增大與所述SNMP請求報文對應(yīng)的Non-repeater參數(shù)值。
9.根據(jù)權(quán)利要求7所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),其特征在于,還包括發(fā)送單元,用于獲取與待發(fā)送SNMP請求報文對應(yīng)的各參數(shù)的最新參數(shù)值,將獲取的各參數(shù)的最新參數(shù)值配置到所述待發(fā)送SNMP請求報`文中,并發(fā)送配置后的SNMP請求報文。
10.根據(jù)權(quán)利要求7所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),其特征在于,所述判斷單元還用于: 根據(jù)所述SNMP響應(yīng)數(shù)據(jù)包的發(fā)送ID,判斷當(dāng)前SNMP管理站是否向所述發(fā)送ID對應(yīng)的SNMP代理站發(fā)送過SNMP請求報文; 若是,則將所述發(fā)送ID與所述SNMP管理站記錄的已發(fā)送的SNMP請求報文的請求ID進行匹配,若匹配成功,則所述SNMP響應(yīng)數(shù)據(jù)包與發(fā)送的SNMP請求報文對應(yīng)。
11.根據(jù)權(quán)利要求7所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),其特征在于,所述調(diào)整單元還用于將所述SNMP請求報文的請求ID與增大的Non-repeater參數(shù)值和減小的Max-repetitions參數(shù)值對應(yīng)存儲。
12.根據(jù)權(quán)利要求7至11中任意一項所述的基于SNMP優(yōu)化數(shù)據(jù)通信的系統(tǒng),其特征在于,所述調(diào)整單元還用于: 在所述SNMP響應(yīng)數(shù)據(jù)包中不存在錯誤消息時,獲取所述SNMP響應(yīng)數(shù)據(jù)包攜帶的請求時長、列變量個數(shù)和所有變量個數(shù); 通過預(yù)設(shè)的調(diào)整經(jīng)驗庫,查找與獲取的請求時長、列變量個數(shù)和所有變量個數(shù)對應(yīng)的調(diào)整值,對所述SNMP請求報文中配置的Non-repeater參數(shù)和Max-repetitions參數(shù)進行相應(yīng)調(diào)整。
【文檔編號】H04L12/24GK103684884SQ201310752577
【公開日】2014年3月26日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】傅鋒, 張銳, 李隴科, 唐錦坤 申請人:京信通信系統(tǒng)(中國)有限公司