專利名稱:一種基于snmp協(xié)議的異步通信方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種基于SNMP協(xié)議的異步通信方法及裝置。
背景技術(shù):
簡單網(wǎng)絡(luò)管理協(xié)議(SimpleNetwork Management Protocol, SNMP)是網(wǎng)絡(luò)中用于管理網(wǎng)絡(luò)設(shè)備的標(biāo)準(zhǔn)應(yīng)用層協(xié)議。在基于SNMP協(xié)議的網(wǎng)絡(luò)管理系統(tǒng)中,管理站利用SNMP協(xié)議遠(yuǎn)程監(jiān)控管理網(wǎng)絡(luò)上所有支持SNMP協(xié)議的設(shè)備,被管理的設(shè)備即是ー個網(wǎng)絡(luò)節(jié)點(如終端、路由器、集線器等),管理站主要負(fù)責(zé)監(jiān)視設(shè)備狀態(tài)、修改設(shè)備配置、接收事件警告等?;赟NMP協(xié)議的網(wǎng)絡(luò)管理系統(tǒng)一般采用客戶端/服務(wù)器(Client/Server)結(jié)構(gòu)或管理姑/代理(Manager/Agent)結(jié)構(gòu),其中,代理是安裝在被管理設(shè)備上的軟件程序,其擁有本地的相關(guān)管理信息,并負(fù)責(zé)將該管理信息轉(zhuǎn)換為與SNMP相兼容的格式。 目前,SNMP協(xié)議只支持同步通訊,即在針對某一管理站的第一個操作完成,并在相應(yīng)的管理站等待到應(yīng)答后才能進(jìn)行第二個操作。實際應(yīng)用中,針對傳輸通信設(shè)備,經(jīng)常需要同時接入多個管理站,SNMP的同步通訊機(jī)制就可能會導(dǎo)致各個管理站不能同時操作通信設(shè)備,也就使得各個管理站操作通信設(shè)備時的性能不一樣,在管理站較多且通信設(shè)備的數(shù)據(jù)量較大時,還有可能會導(dǎo)致部分管理站由于等待時間過長而造成操作超時,從而降低了管理站的性能,影響了用戶的使用。
發(fā)明內(nèi)容
本發(fā)明提供一種基于SNMP協(xié)議的異步通信方法及裝置,用以基于SNMP協(xié)議進(jìn)行異步消息處理,提高消息處理效率,并有效地避免了管理站由于等待時間過長而造成超吋,提高了管理站的性能。本發(fā)明實施例提供的具體技術(shù)方案如下一種基于SNMP協(xié)議的異步通信方法,包括SNMP代理模塊接收各管理站發(fā)送的簡單網(wǎng)絡(luò)管理協(xié)議SNMP報文并進(jìn)行解析;所述SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括所述SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,井根據(jù)所述解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理;所述SNMP代理模塊接收所述業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。一種基于SNMP協(xié)議的異步通信裝置,包括第一處理單元,用于SNMP代理模塊接收各管理站發(fā)送的簡單網(wǎng)絡(luò)管理協(xié)議SNMP報文并進(jìn)行解析;第二處理單元,用于所述SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括所述SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,井根據(jù)所述解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理;第三處理單元,用于所述SNMP代理模塊接收所述業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站?;谏鲜黾夹g(shù)方案,本發(fā)明實施例中,SNMP代理模塊通過接收各管理站發(fā)送的SNMP報文并進(jìn)行解析,并對解析后的SNMP報文注冊命令處理對象,在該命令處理對象中保 存SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,再根據(jù)解析后的報文生成攜帯SNMP報文標(biāo)識的異步消息,下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后接收異步應(yīng)答消息,根據(jù)該異步應(yīng)答消息中攜帶的SNMP報文標(biāo)識確定對應(yīng)的命令處理對象,更新SNMP報文的處理狀態(tài)后,再構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。從而實現(xiàn)了對SNMP報文的并行處理,即實現(xiàn)了基于SNMP協(xié)議的異步消息處理,避免了每次處理一條SNMP報文所帶來的時間上的浪費,提高了消息處理效率,也有效地避免了管理站由于等待時間過長而造成超時,提高了管理站的性倉^:。
圖I為本發(fā)明實施例中基于SNMP協(xié)議的異步通信系統(tǒng)架構(gòu)圖;圖2為本發(fā)明實施例中包含SNMP代理模塊的設(shè)備結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例中基于SNMP協(xié)議的異步通信裝置結(jié)構(gòu)圖;圖4為本發(fā)明實施例中基于SNMP協(xié)議的異步通信方法流程圖。
具體實施例方式為了能夠基于SNMP協(xié)議進(jìn)行異步通信,實現(xiàn)消息的異步處理,提高消息處理效率,并避免管理站由于等待時間過長造成超時,以提高管理站的性能,本發(fā)明實施例提供了一種基于SNMP協(xié)議的異步通信方法及裝置。該方法為SNMP代理模塊接收各管理站發(fā)送的SNMP報文并進(jìn)行解析,針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,并根據(jù)解析后的SNMP報文生成攜帶SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理,并接收該業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。下面結(jié)合附圖對本發(fā)明優(yōu)選的實施例進(jìn)行詳細(xì)說明。如附圖I所示,本發(fā)明實施例中,基于SNMP協(xié)議的異步通信系統(tǒng)主要包括管理站10和包含SNMP代理模塊的設(shè)備11,其中,管理站10,用于向包含SNMP代理模塊的設(shè)備11發(fā)送SNMP報文,并接收包含SNMP代理模塊的設(shè)備11根據(jù)該SNMP報文返回的SNMP應(yīng)答報文;包含SNMP代理模塊的設(shè)備11,SNMP代理模塊用于接收各管理站發(fā)送的SNMP報文并進(jìn)行解析,針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,并根據(jù)解析后的SNMP報文生成攜帶SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至設(shè)備11的業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理,并接收該業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。如附圖2所示,本發(fā)明實施例中,包含SNMP代理模塊的設(shè)備主要包括SNMP代理模塊201和業(yè)務(wù)處理模塊202,其中,SNMP代理模塊201,用于接收各管理站發(fā)送的SNMP報文并進(jìn)行解析,針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,并根據(jù)解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊202進(jìn)行任務(wù)處理,接收該業(yè)務(wù)處理模塊202進(jìn)行任務(wù)處理后返回的攜帶SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站;業(yè)務(wù)處理模塊202,用于接收SNMP代理模塊201下發(fā)的異步消息,并根據(jù)該異步消息進(jìn)行相應(yīng)的任務(wù)處理,并在處理完成后向SNMP代理模塊201發(fā)送攜帯SNMP報文標(biāo)識的 異步應(yīng)答消息?;谏鲜鱿到y(tǒng)架構(gòu),如附圖3所示,本發(fā)明實施例中,基于SNMP協(xié)議的異步通信裝置主要包括以下處理單元第一處理單元301,用于SNMP代理模塊接收各管理站發(fā)送的SNMP報文并進(jìn)行解析;第二處理單元302,用于SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,并根據(jù)解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理;第三處理單元303,用于SNMP代理模塊接收業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新該命令處理對象中SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站?;谏鲜鱿到y(tǒng)架構(gòu),如附圖4所示,本發(fā)明實施例中,基于SNMP協(xié)議進(jìn)行異步通信的詳細(xì)流程如下步驟401 =SNMP代理模塊接收各管理站發(fā)送的SNMP報文并進(jìn)行解析。本發(fā)明實施例中,設(shè)備中的SNMP代理模塊同時接收各管理站發(fā)送的SNMP報文并分別保存至消息隊列,按照先進(jìn)先出的順序從該消息隊列中獲取SNMP報文,并按照SNMP代理模塊中設(shè)定的格式進(jìn)行解析,每解析一條SNMP報文后,從消息隊列中獲取下一條SNMP報文并進(jìn)行解析。不同設(shè)備的SNMP代理模塊中設(shè)定的格式并不相同。例如,設(shè)備中的SNMP代理模塊基于用戶數(shù)據(jù)報(UDP)通信協(xié)議接收管理站發(fā)送的SNMP報文,并保存至消息隊列,采用預(yù)定的時間間隔查詢該消息隊列是否為空,在確定該消息隊列非空時,按照先進(jìn)先出的順序從中消息隊列中獲取SNMP報文,并進(jìn)行解析以轉(zhuǎn)換為SNMP代理模塊中設(shè)定的格式。步驟402 =SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,并根據(jù)解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理。其中,SNMP報文標(biāo)識也可以用于標(biāo)識該SNMP報文對應(yīng)的管理站。命令處理對象中還可以包括SNMP命令碼,下發(fā)的SNMP報文信息以及SNMP應(yīng)答報文信息。本發(fā)明實施例中,SNMP報文的處理狀態(tài)至少為初始化注冊狀態(tài)、超時狀態(tài)、失敗狀態(tài)或成功狀態(tài)中的任意ー種。根據(jù)實際應(yīng)用場景的不同,可以重新設(shè)定SNMP報文的處理狀態(tài),并不僅限于以上4種。本發(fā)明實施例中,分別為每一條解析后的SNMP報文注冊命令處理對象,并將命令處理對象中包含的SNMP報文的處理狀態(tài)設(shè)為初始化注冊狀態(tài)。例如,針對解析后的SNMP報文,注冊命令處理對象時采用的數(shù)據(jù)結(jié)構(gòu)如下
權(quán)利要求
1.一種基于SNMP協(xié)議的異步通信方法,其特征在于,包括 SNMP代理模塊接收各管理站發(fā)送的簡單網(wǎng)絡(luò)管理協(xié)議SNMP報文并進(jìn)行解析; 所述SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括所述SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,井根據(jù)所述解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理; 所述SNMP代理模塊接收所述業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。
2.如權(quán)利要求I所述的方法,其特征在干,SNMP代理模塊接收管理站發(fā)送的簡單網(wǎng)絡(luò)管理協(xié)議SNMP報文并進(jìn)行解析,包括 同時接收各管理站發(fā)送的SNMP報文,并分別保存至消息隊列; 按照先進(jìn)先出的順序從所述消息隊列中獲取SNMP報文,并進(jìn)行解析,每解析一條SNMP報文后,從所述消息隊列中獲取下一條SNMP報文進(jìn)行解析。
3.如權(quán)利要求I或2所述的方法,其特征在于,所述SNMP報文的處理狀態(tài)至少包括初始化注冊狀態(tài)、超時狀態(tài)、失敗狀態(tài)或成功狀態(tài)中的任意ー種。
4.如權(quán)利要求3所述的方法,其特征在于,SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象時,包括 將所述命令處理對象中包含的SNMP報文的處理狀態(tài)設(shè)為初始化注冊狀態(tài)。
5.如權(quán)利要求4所述的方法,其特征在干,SNMP代理模塊接收所述業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站,包括 根據(jù)所述異步應(yīng)答消息攜帯的SNMP報文標(biāo)識確定對應(yīng)的命令處理對象,更新該命令處理對象中SNMP報文的處理狀態(tài),并在確定該命令處理對象中SNMP報文的處理狀態(tài)為非初始化狀態(tài)時,將該命令處理對象刪除,并構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。
6.一種基于SNMP協(xié)議的異步通信裝置,其特征在于,包括 第一處理單元,用于SNMP代理模塊接收各管理站發(fā)送的簡單網(wǎng)絡(luò)管理協(xié)議SNMP報文并進(jìn)行解析; 第二處理單元,用于所述SNMP代理模塊針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括所述SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,井根據(jù)所述解析后的SNMP報文生成攜帯SNMP報文標(biāo)識的異步消息,將該異步消息下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理; 第三處理單元,用于所述SNMP代理模塊接收所述業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帶SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。
7.如權(quán)利要求6所述的裝置,其特征在干,所述第一處理單元接收管理站發(fā)送的簡單網(wǎng)絡(luò)管理協(xié)議SNMP報文并進(jìn)行解析,具體為 同時接收各管理站發(fā)送的SNMP報文,并分別保存至消息隊列,按照先進(jìn)先出的順序從所述消息隊列中獲取SNMP報文,并進(jìn)行解析,每解析一條SNMP報文后,從所述消息隊列中獲取下一條SNMP報文進(jìn)行解析。
8.如權(quán)利要求6或7所述的裝置,其特征在干,第二處理單元注冊的命令處理對象中SNMP報文的處理狀態(tài)至少包括初始化注冊狀態(tài)、超時狀態(tài)、失敗狀態(tài)或成功狀態(tài)中的任意ー種。
9.如權(quán)利要求8所述的裝置,其特征在于,所述第二處理單元針對解析后的SNMP報文注冊命令處理對象吋,將所述命令處理對象中包含的SNMP報文的處理狀態(tài)設(shè)為初始化注冊狀態(tài)。
10.如權(quán)利要求9所述的裝置,其特征在于,所述第三處理單元接收所述業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理后返回的攜帯SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站,具體為 根據(jù)所述異步應(yīng)答消息攜帯的SNMP報文標(biāo)識確定對應(yīng)的命令處理對象,更新該命令處理對象中SNMP報文的處理狀態(tài),并在確定該命令處理對象中SNMP報文的處理狀態(tài)為非初始化狀態(tài)時,將該命令處理對象刪除,并構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。
全文摘要
本發(fā)明公開了一種基于SNMP協(xié)議的異步通信方法及裝置,用以基于SNMP協(xié)議進(jìn)行異步消息處理,提高消息處理效率,并有效避免管理站由于等待時間過長而造成超時,提高管理站的性能。該方法為SNMP代理模塊接收各管理站發(fā)送的SNMP報文并進(jìn)行解析,針對解析后的SNMP報文注冊命令處理對象,該命令處理對象中至少包括SNMP報文的處理狀態(tài)以及SNMP報文標(biāo)識,并根據(jù)解析后的SNMP報文生成攜帶SNMP報文標(biāo)識的異步消息,下發(fā)至業(yè)務(wù)處理模塊進(jìn)行任務(wù)處理接收返回的攜帶SNMP報文標(biāo)識的異步應(yīng)答消息,確定對應(yīng)的命令處理對象并更新SNMP報文的處理狀態(tài),構(gòu)造SNMP應(yīng)答報文發(fā)送至相應(yīng)的管理站。
文檔編號H04L12/24GK102694675SQ20111007457
公開日2012年9月26日 申請日期2011年3月25日 優(yōu)先權(quán)日2011年3月25日
發(fā)明者馬娟娟 申請人:中興通訊股份有限公司