專利名稱:一種處理報文的方法、設備和系統的制作方法
技術領域:
本發明涉及數據通訊領域,具體地說,涉及一種處理報文的方法、設備和系統。
背景技術:
簡單網絡管理協議(SNMP, Simple Network Management Protocol)是一種廣泛使用的用于進行網絡管理的協議,由管理端MANAGER和代理端AGENT組成。通信設備和網管之間通常采用SNMP協議來進行通訊,網管作為MANAGER端,設備作為AGENT端。SNMP協議是基于用戶數據報協議(UDP,User Datagram Protocol)之上的實現,由于UDP協議是不可靠的,因此SNMP報文在傳輸過程中會發生丟失的情況。 網管通常采用SNMP協議的配置請求消息來將配置數據下發給設備,設備通過響應消息來發送處理結果。如果響應消息在傳輸的過程中丟失了,那么后果將很嚴重。
在現有技術中,如果設備已經處理了網管發送的配置請求報文,那么設備中數據的狀態已經發生了改變,但是網管卻沒有收到響應報文。那么網管將會重新發送一個配置請求報文,這就造成了配置數據的重復下發。這樣用戶在網管上看到的數據狀態和設備的實際數據狀態不一致。并且設備會以一個配置錯誤消息來響應網管,網管通過識別響應報文中的各種不同的錯誤碼來判斷本次配置消息是否下發成功。 這樣,設備執行了兩次數據配置操作,執行速度慢,并且容易引發問題。同時,網管承擔了對響應報文中不同的配置錯誤信息的解析,加重了網管的負擔。
發明內容
本發明實施例提供了一種報文處理的方法、設備和系統,可以解決數據通信中響
應報文丟失的問題,提升通信系統的可維護性。 本發明實施例提供的一種報文處理的方法,包括 接收網管發送的第一配置請求報文,對所述第一配置請求報文進行判斷,如果是首次接收所述第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文; 如果不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將所述第一配置請求報文匹配的所述第一響應報文發送給所述網管。
本發明實施例還提供了一種通信設備,包括
接收單元,用于接收網管發送的第一配置請求報文;
判斷單元,用于對所述接收的第一配置請求報文進行判斷; 配置單元,用于在所述判斷單元判斷出是首次接收所述第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文; 匹配單元,用于在所述判斷單元判斷出不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將所述第一配置請求報文匹配的所述
4第一響應報文發送給所述網管。 本發明實施例還提供了 一種通信系統,包括第一設備和第二設備, 所述第二設備用于接收所述第一設備發送的第一配置請求報文,并對第一配置請
求報文進行判斷,如果是首次接收所述第一配置請求報文,則根據該第一配置請求報文進
行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;如果
不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹
配,將與所述第一配置請求報文匹配的第一響應報文發送給所述第一設備。 利用本發明實施例所提供的報文處理方法、設備和系統,如果配置請求報文對應
的響應報文丟失,接收配置請求報文的設備在重新接收到同樣的配置請求報文后不需要重
復執行數據配置操作,從而解決了設備執行速度慢等問題。而且,網管不需要解析重復配置
數據而產生的配置錯誤信息,從而大大減輕了網管的負擔。
圖1為本發明一實施例提供的報文處理方法流程 圖2為本發明一實施例提供的報文示意 圖3為本發明一實施例提供的通信設備的結構示意 圖4為本發明一實施例提供的通信系統的結構示意 圖5為本發明一實施例提供的通信系統的結構示意圖。
具體實施例方式
本發明實施例提供了一種報文處理的方法,包括接收網管發送的第一配置請求報文,對第一配置請求報文進行判斷,如果是首次接收該第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;如果不是首次接收該第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將所述第一配置請求報文匹配的所述第一響應報文發送給網管。
下面以網管和設備之間的配置流程為例來進行說明。如圖1所示,本發明實施例提供的報文處理方法如下。 S100,設備接收網管發送的配置請求報文。 S102,判斷是否是首次接收到該配置請求報文,如果是,則執行S104;否則執行S106。 S104,設備進行數據配置,生成該配置請求報文對應的響應報文,并存儲該配置請求報文對應的響應報文。 網管通過配置請求報文將配置數據發給設備,設備根據配置請求報文攜帶的配置
數據進行數據的配置,并通過發送響應報文將配置的結果發送給網管。在本實施例中,設備
還存儲該響應報文。其中,發送響應報文和存儲響應報文無前后順序之分。 S106,將接收的配置請求報文與存儲的響應報文進行匹配,發送該配置請求報文
對應的響應報文。 由于設備在首次接收到一個配置請求報文后,存儲了與配置請求報文對應的響應報文。比如設備首次接收到配置請求報文A,則存儲與配置請求報文A所對應的響應報文Al。這樣,在下次(不限于是第二次)重新接收到該配置請求報文A,設備搜索已存儲的響應報文,查找與配置請求報文A匹配的響應報文Al,如果匹配成功,則將匹配到的響應報文Al發送給網管。 其中,設備搜索響應報文A1時,設備中可能只存儲了響應報文A1 ;也可能已經存儲了多個響應報文,在這多個響應報文中,包括配置請求報文A所對應的響應報文Al。
由于在現有技術中,網管第一次發送配置請求報文(比如是配置請求報文B)給設備,設備配置數據成功,生成配置請求報文B對應的響應報文Bl,并發送給網管。在發送的過程中,響應報文Bl丟失,導致網管沒有接收到該響應報文Bl 。這樣,網管會第二次發送同樣的配置請求報文B給設備,設備會重新根據配置請求報文B進行數據配置。由于設備已經配置過同樣的數據,所以設備會發送一個配置錯誤信息給網管。這樣,網管就要對不同的配置錯誤信息進行解析,從而加重了網管的負擔。 通過本發明提供的上述實施例,可以解決在實際操作中存在的上述問題。在本發
明實施例中,如果配置請求報文對應的響應報文丟失,設備在重新接收到同樣的配置請求
報文后不需要重復執行數據配置操作,從而解決了設備執行速度慢等問題。而且,網管不需
要解析重復配置數據而產生的配置錯誤信息,從而大大減輕了網管的負擔。 在本發明另一實施例中,網管和設備之間可以通過SNMP協議進行通信。其中,配
置請求報文可以是SetRequest報文,響應報文可以是Response報文。 通過IP地址、UDP端口號和RequestID能夠唯一標識一個SetRequest報文。如
圖2所示,是SetRequest報文的示意圖。例如, 一個SetRequest報文的IP地址可以是
10. 144.66. 125, UDP端口號可以是12034, RequestID可以是1。另 一個SetRequest報
文的IP地址可以是10. 144.66.67, UDP端口號可以是22345, RequestID可以是2。根據
SetRequest報文的IP地址,UDP端口號和RequestID可以找到相應的報文,也就可以找到
報文中的配置數據。 SetRequest報文所對應的Response報文中也包括上述的IP地址,UDP端口號和RequestID。設備在接收到一個SetRequest報文后,查找設備中所存儲的響應報文,判斷是否包括有與該SetRequest報文中所包括的IP地址,UDP端口號和RequestID三者都一致的響應報文。如果找到一致的響應報文,則判斷出不是首次接收該SetRequest報文,即以前已經接收過同樣的報文。如果沒有找到一致的響應報文,則判斷出是首次接收該SetRequest報文。例如SetRequest報文1中包括IP地址l,UDP端口號1和RequestIDl。設備中包括一個響應報文2,該響應報文2中包括IP地址2, UDP端口號2和RequestlD2。設備接收到SetRequest報文1,查找設備中所存儲的響應報文,發現IP地址2與IP地址1相同,UDP端口號2與UDP端口號1相同,RequestlD2與RequestIDl相同。則設備判斷出不是首次接收該SetRequest報文1。 將接收的配置請求報文與存儲的響應報文進行匹配,也可以通過將SetRequest報文中包括的IP地址、UDP端口號和RequestID與響應報文中包括的IP地址、UDP端口號和RequestID進行匹配,如果三者分別一致,則表明匹配成功;否則,匹配失敗。例如,SetRequest報文3中包括IP地址3,UDP端口號3和RequestlD3。設備中存儲的響應報文中包括一個響應報文4,該響應報文4中包括IP地址4,UDP端口號4和RequestlD4。設備接收到SetRequest報文3,查找設備中所存儲的響應報文,發現IP地址4與IP地址3相
6同,UDP端口號4與UDP端口號3相同,RequestlD4與RequestlD3相同。則表明匹配成功。
可以通過在設備內部創建一個緩存隊列,用來存儲響應報文。其中,緩存隊列可以用來存儲處理成功的Response報文的IP地址,UDP端口號,RequestID和用來存儲處理成功的Response報文指針,當然也不限于此。其中,如果采用記錄Response報文指針的方式,設備根據指針可以找到Response報文,可以節省設備的內存。例如指針可以是0x10034。
在本發明的另一實施例中,設備不僅保存響應報文,而且還存儲響應報文的產生時間。在將該配置請求報文與存儲的響應報文進行匹配時,對響應報文的產生時間進行檢測,若已經超過了該響應報文的存活時間,則丟棄存儲的響應報文。 其中,可以在將配置請求報文與存儲的響應報文進行匹配時對響應報文的產生時間進行檢領U,也可以每隔一段時間對響應報文的產生時間進行檢領U,當然也不限于此。響應報文的存活時間可以是預先設置的閾值;也可以每隔一段時間對存活時間進行調整;如果包括多種響應報文,那么每種響應報文的存活時間也可以設置成不同的時間,當然也不限于此。 本發明實施例還提供了一種通信設備。如圖3所示,為通信設備的結構示意圖。該通信設備包括接收單元30、判斷單元32、配置單元34和匹配單元36。接收單元30,用于接收第一配置請求報文;判斷單元32,用于對接收的第一配置請求報文進行判斷;配置單元34,用于在判斷單元判斷出是首次接收該第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;匹配單元36,用于在所述判斷單元判斷出不是首次接收該第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,發送與該第一配置請求報文匹配的第一響應報文。 可選的,該通信設備還可以包括存儲單元38,用來存儲響應報文的產生時間。
可選的,還可以包括丟棄單元39,在響應報文的產生時間超過預設閾值時,丟棄該響應報文。 若所述配置請求報文為SetRequest報文,響應報文為Response報文,則判斷單元可以根據SetRequest報文中包括的IP地址、UDP端口號和RequestID,判斷是否是首次接收該SetRequest報文。 在本實施例中,具體的執行方法與本發明所提供的方法實施例相似,可以參考方法實施例中的內容,這里不再一一重復。利用本實施例提供的通信設備,可以解決了現有技術中設備執行速度慢等問題。 本發明一實施例還提供了一種通信系統。如圖4所示,為該系統的結構示意圖,包括第一設備40和第二設備42。 第二設備42,用于接收第一設備40發送的第一配置請求報文,并對第一配置請
求報文進行判斷,如果是首次接收所述第一配置請求報文,則根據該第一配置請求報文進
行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;如果
不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹
配,將與所述第一配置請求報文匹配的第一響應報文發送給第一設備40。 如圖5所示,為本發明另一實施例提供的通信系統的結構示意圖。該第二設備42
包括接收單元420、判斷單元422、配置單元424和匹配單元426。接收單元420,用于接收第一設備40發送的第一配置請求報文;判斷單元422,用于對接收的第一配置請求報文進行判斷;配置單元424,用于在判斷單元判斷出是首次接收該第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;匹配單元426,用于在所述判斷單元判斷出不是首次接收該第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將與該第一配置請求報文匹配的第一響應報文發送到第一設備40。 可選的,第二設備還可以包括存儲單元428,用來存儲響應報文的產生時間。
可選的,第二設備還可以包括丟棄單元429,在響應報文的產生時間超過預設閾值時,丟棄該響應報文。 具體的,第一設備可以為網管,第二設備為該網管所管理的設備。網管和設備之間可以通過SNMP協議進行通信。其中,配置請求報文可以是SetRequest報文,響應報文可以是Response報文。則判斷單元422可以根據SetRequest報文中包括的IP地址、UDP端口號和RequestID,判斷是否是首次接收該SetRequest報文。 在本發明實施例提供的通信系統中,具體的執行方法與本發明實施例所提供的方法實施例相似,可以參考方法實施例中的內容,這里不再一一重復。利用本發明實施例提供的通信系統,可以解決現有技術中設備執行速度慢等問題。 通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的硬件平臺的方式來實現,當然也可以全部通過硬件來實施。基于這樣的理解,本發明的技術方案對背景技術做出貢獻的全部或者部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。 以上所述,僅為本發明較佳的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。
權利要求
一種報文處理方法,其特征在于,包括接收網管發送的第一配置請求報文,對所述第一配置請求報文進行判斷,如果是首次接收所述第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;如果不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將所述第一配置請求報文匹配的所述第一響應報文發送給所述網管。
2. 如權利要求1所述的方法,其特征在于,所述第一配置請求報文為SetRequest報文,所述第一響應報文為Response報文,所述將該第一配置請求報文與存儲的響應報文進行匹配包括將所述SetRequest報文中包括的IP地址、用戶數據報協議UDP端口號和RequestID,與存儲的響應報文中包括的IP地址、UDP端口號和RequestID進行匹配。
3. 如權利要求1所述的方法,其特征在于,所述第一配置請求報文為SetRequest報文,所述響應報文為Response報文,對所述第一配置請求報文進行判斷包括根據所述SetRequest報文中包括的IP地址、UDP端口號和RequestID,判斷是否是首次接收所述SetRequest報文。
4. 如權利要求l所述的方法,其特征在于,進一步包括記錄所述首次接收的第一配置請求報文對應的第一響應報文的產生時間;如果所述產生時間超過了預設的閾值,則丟棄所述第一響應報文。
5. —種通信設備,其特征在于,包括接收單元,用于接收網管發送的第一配置請求報文;判斷單元,用于對所述接收的第一配置請求報文進行判斷;配置單元,用于在所述判斷單元判斷出是首次接收所述第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;匹配單元,用于在所述判斷單元判斷出不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將所述第一配置請求報文匹配的所述第一響應報文發送給所述網管。
6. 如權利要求5所述的通信設備,其特征在于,判斷單元用于根據所述第一配置請求報文中包括的IP地址、UDP端口號和RequestID,判斷是否是首次接收所述第一配置請求報文,所述第一配置請求報文為SetRequest報文。
7. 如權利要求5或6所述的通信設備,其特征在于,進一步包括存儲單元,用于存儲所述第一響應報文的產生時間。
8. 如權利要求7所述的設備,其特征在于,進一步包括丟棄單元,用于在所述第一響應報文的產生時間超過預設閾值時,丟棄所述第一響應報文。
9. 一種通信系統,其特征在于,包括第一設備和第二設備,所述第二設備用于接收所述第一設備發送的第一配置請求報文,并對第一配置請求報文進行判斷,如果是首次接收所述第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;如果不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將與所述第一配置請求報文匹配的第一響應報文發送給所述第一設備'
全文摘要
本發明實施例提供了一種處理報文的方法,包括接收網管發送的第一配置請求報文,對所述第一配置請求報文進行判斷,如果是首次接收所述第一配置請求報文,則根據該第一配置請求報文進行數據配置,生成該第一配置請求報文對應的第一響應報文,并存儲該第一響應報文;如果不是首次接收所述第一配置請求報文,則將該第一配置請求報文與存儲的響應報文進行匹配,將所述第一配置請求報文匹配的所述第一響應報文發送給網管。本發明實施例還提供了一種處理報文的通信設備和通信系統。通過本發明實施例提供的處理報文的方法、設備和系統,解決了因為響應報文丟失而引起的重復配置數據的問題。
文檔編號H04L12/24GK101741605SQ20081021743
公開日2010年6月16日 申請日期2008年11月11日 優先權日2008年11月11日
發明者史曙光, 姚雄 申請人:華為技術有限公司