本發明涉及通信領域,具體而言,涉及一種陷阱Trap報文處理方法及裝置。
背景技術:
在網絡通訊環境下,網絡管理系統主要負責網絡的告警管理、安全管理、配置管理等工作,其中,告警管理對網絡維護的正常運行起著非常重要的作用。
在當前網絡通訊設備領域中,網元由于環境影響或硬件故障而發生異常情況時,需要以告警的方式上報到網管系統。鑒于簡單網絡管理系統(Simple Network Management System,簡稱為SNMP)協議的簡易性和成熟性,被各大設備提供商廣泛使用。設備的告警信息通常采用發送SNMP陷阱Trap報文到網管系統,網管系統解析Trap報文為告警數據的方式。
隨著網絡設備規模的增大,網管系統接收到的整個網絡中的網元Trap報文十分龐大,對業務影響小或者無影響的Trap報文被網管系統接收并解析處理,大量浪費了網管系統的計算資源,并且無用Trap報文過多還會撐滿告警業務處理緩沖池,導致后來的重要告警丟失。因此對無用Trap報文的丟棄是必不可少的部分。
目前相關技術中的告警丟棄處理技術中主要采用的是Trap報文經過協議棧解析后上報給網管系統,在系統中映射成業務告警信息后再根據業務過濾規則進行丟棄,協議棧對SNMP Trap報文的用戶數據包協議(User Datagram Protocol,簡稱為UDP)報文解析雖然快,但經過后面流程的業務映射等流程都浪費了系統資源,浪費量和無用Trap報文的數量成正比。另外用戶通過網管系統配置的告警丟棄規則通常只能精確到告警碼,而此告警碼下如果具備特殊屬性值的Trap報文對網管系統具備特殊意義不該丟棄時,也被丟棄了,無法做到一個告警碼下具備特殊屬性值的Trap報文不丟棄,而其他則丟棄。因此,在相關技術中存在著有用的Trap報文會被丟棄,Trap報文的誤丟棄率高的問題。
針對相關技術中存在的由于有用的Trap報文會被無用的Trap報文淹沒而被丟棄,從而導致的Trap報文的誤丟棄率高的問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明提供了一種陷阱Trap報文處理方法及裝置,以至少解決相關技術中存在的有用的Trap報文會被無用的Trap報文淹沒而被丟棄,從而導致的Trap報文的誤丟棄率高的問題。
根據本發明的一個方面,提供了一種陷阱Trap報文處理方法,包括:接收用于標識設備告警信息的Trap報文;將所述Trap報文與用于丟棄Trap報文的丟棄規則進行匹配;根據匹配結果對所述Trap報文進行處理。
可選地,所述丟棄規則包括以下至少之一:丟棄預配置的Trap對象標識符OID標識的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性為第一預定屬性值的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性非第二預定屬性值的Trap報文。
可選地,在接收用于標識設備告警信息的所述Trap報文之前,還包括:解析所述丟棄規則;根據解析后的丟棄規則生成具備預定內存結構的丟棄規則。
可選地,將所述Trap報文與用于丟棄Trap報文的丟棄規則進行匹配包括:對所述Trap報文進行原始的協議層結構解析;將解析后的Trap報文和所述具備預定內存結構的丟棄規則進行匹配。
可選地,根據匹配結果對所述Trap報文進行處理包括:當所述Trap報文與所述丟棄規則相匹配時,丟棄所述Trap報文;和/或,當所述Trap報文與所述丟棄規則不匹配時,將所述Trap報文映射成告警信息;將所述告警信息發送給用于對所述告警信息進行處理的上層模塊。
根據本發明的另一方面,提供了一種陷阱Trap報文處理裝置,包括:接收模塊,用于接收用于標識設備告警信息的Trap報文;匹配模塊,用于將所述Trap報文與用于丟棄Trap報文的丟棄規則進行匹配;處理模塊,用于根據匹配結果對所述Trap報文進行處理。
可選地,所述丟棄規則包括以下至少之一:丟棄預配置的Trap對象標識符OID標識的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性為第一預定屬性值的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性非第二預定屬性值的Trap報文。
可選地,所述裝置還包括:解析模塊,用于解析所述丟棄規則;生成模塊,用于根據解析后的丟棄規則生成具備預定內存結構的丟棄規則。
可選地,所述匹配模塊包括:解析單元,用于對所述Trap報文進行原始的協議層結構解析;匹配單元,用于將解析后的Trap報文和所述具備預定內存結構的丟棄規則進行匹配。
可選地,所述處理模塊包括:丟棄單元,用于當所述Trap報文與所述丟棄規則相匹配時,丟棄所述Trap報文;和/或,映射單元,用于當所述Trap報文與所述丟棄規則不匹配時,將所述Trap報文映射成告警信息;發送單元,用于將所述告警信息發送給用于對所述告警信息進行處理的上層模塊。
通過本發明,采用接收用于標識設備告警信息的Trap報文;將所述Trap報文與用于丟棄Trap報文的丟棄規則進行匹配;根據匹配結果對所述Trap報文進行處理,解決了相關技術中存在的有用的Trap報文會被無用的Trap報文淹沒而被丟棄,從而導致的Trap報文的誤丟棄率高的問題,進而達到了降低Trap報文的誤丟棄率的效果。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的陷阱Trap報文處理方法的流程圖;
圖2是根據本發明實施例的陷阱Trap報文處理裝置的結構框圖;
圖3是根據本發明實施例的陷阱Trap報文處理裝置的優選結構框圖;
圖4是根據本發明實施例的陷阱Trap報文處理裝置中匹配模塊24的結構框圖;
圖5是根據本發明實施例的陷阱Trap報文處理裝置中處理模塊26的結構框圖;
圖6是根據本發明實施例的Trap報文丟棄處理結構框圖;
圖7是根據本發明實施例的使用Trap OID和屬性指定丟棄特定Trap報文的判斷流程圖;
圖8是根據本發明實施例的使用Trap OID和屬性例外指定丟棄特定Trap報文的判斷流程圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種陷阱Trap報文處理方法,圖1是根據本發明實施例的陷阱Trap報文處理方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,接收用于標識設備告警信息的Trap報文;
步驟S104,將該Trap報文與用于丟棄Trap報文的丟棄規則進行匹配;
步驟S106,根據匹配結果對該Trap報文進行處理。
通過上述步驟,在執行Trap報文的丟棄處理時,是將Trap報文與丟棄規則進行匹 配的,相對于相關技術中的將Trap報文對應的告警碼與丟棄規則進行匹配,上述實施例中的匹配更為精細,能夠根據Trap報文本身的一些特性來決定是否對該Trap報文執行丟棄處理。從而解決了相關技術中存在的有用的Trap報文會被無用的Trap報文淹沒而被丟棄,從而導致的Trap報文的誤丟棄率高的問題,進而達到了降低Trap報文的誤丟棄率的效果。
在一個可選的實施例中,上述丟棄規則包括以下至少之一:丟棄預配置的Trap對象標識符OID標識的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性為第一預定屬性值的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性非第二預定屬性值的Trap報文。從上述的丟棄規則中可以看出,后兩種丟棄規則中不僅考慮了Trap報文的Trap OID,還考慮了Trap報文的屬性值,進一步提高了Trap報文丟棄的準確率。上述的丟棄規則進行幾種示例,還可以有其他的丟棄規則,例如,丟棄除某個Trap OID標識的Trap報文之外的其他Trap報文。相對于相關技術中的丟棄方式,上述丟棄規則的粒度更為精細,從而解決了相關技術中存在的丟棄粒度過大而導致的Trap報文誤丟棄率高的問題,有效降低了Trap報文的誤丟棄率。
在一個可選的實施例中,在接收用于標識設備告警信息的Trap報文之前,還包括:解析上述丟棄規則;根據解析后的丟棄規則生成具備預定內存結構的丟棄規則。將丟棄規則處理成具備預定內存結構的丟棄規則能夠更方便的同Trap報文進行匹配。
在一個可選的實施例中,將Trap報文與用于丟棄Trap報文的丟棄規則進行匹配包括:對Trap報文進行原始的協議層結構解析;將解析后的Trap報文和具備預定內存結構的丟棄規則進行匹配。
在一個可選的實施例中,根據匹配結果對Trap報文進行處理包括:當該Trap報文與丟棄規則相匹配時,丟棄該Trap報文;和/或,當該Trap報文與丟棄規則不匹配時,將該Trap報文映射成告警信息;將告警信息發送給用于對告警信息進行處理的上層模塊。即,當Trap報文的Trap OID或者Trap報文的Trap OID和屬性值和丟棄規則中規定的相對應時,說明該Trap報文是應該被丟棄的,從而對該Trap報文執行丟棄處理。否則,說明該Trap報文對網管系統具備一定的意義,不應該丟棄,從而將從Trap報文中映射出的告警信息發送給上層模塊進行處理。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。
在本實施例中還提供了一種陷阱Trap報文處理裝置,該裝置用于實現上述實施例 及優選實施方式,已經進行過說明的不再贅述。如以下所使用的,術語“模塊”可以實現預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現,但是硬件,或者軟件和硬件的組合的實現也是可能并被構想的。
圖2是根據本發明實施例的陷阱Trap報文處理裝置的結構框圖,如圖2所示,該裝置包括接收模塊22、匹配模塊24和處理模塊26,下面對該裝置進行說明。
接收模塊22,用于接收用于標識設備告警信息的Trap報文;匹配模塊24,連接至上述接收模塊22,用于將Trap報文與用于丟棄Trap報文的丟棄規則進行匹配;處理模塊26,連接至上述匹配模塊24,用于根據匹配結果對Trap報文進行處理。
可選地,上述丟棄規則包括以下至少之一:丟棄預配置的Trap對象標識符OID標識的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性為第一預定屬性值的Trap報文;丟棄預配置的Trap對象標識符OID標識的,且報文屬性非第二預定屬性值的Trap報文。
圖3是根據本發明實施例的陷阱Trap報文處理裝置的優選結構框圖,如圖3所示,該裝置除包括圖2所示的所有模塊外,還包括解析模塊32和生成模塊34,下面對該裝置進行說明。
解析模塊32,用于解析上述丟棄規則;生成模塊34,連接至上述解析模塊32和接收模塊22,用于根據解析后的丟棄規則生成具備預定內存結構的丟棄規則。
圖4是根據本發明實施例的陷阱Trap報文處理裝置中匹配模塊24的結構框圖,如圖4所示,該匹配模塊24包括解析單元42和匹配單元44,下面對該匹配模塊24進行說明。
解析單元42,用于對Trap報文進行原始的協議層結構解析;匹配單元44,連接至上述解析單元42,用于將解析后的Trap報文和具備預定內存結構的丟棄規則進行匹配。
圖5是根據本發明實施例的陷阱Trap報文處理裝置中處理模塊26的結構框圖,如圖5所示,該處理模塊26包括丟棄單元52,和/或映射單元54、發送單元56,下面對該處理模塊26進行說明。
丟棄單元52,用于當Trap報文與丟棄規則相匹配時,丟棄該Trap報文;和/或,映射單元54,用于當Trap報文與丟棄規則不匹配時,將該Trap報文映射成告警信息;發送單元56,連接至上述映射單元54,用于將上述告警信息發送給用于對告警信息進行處理的上層模塊。
從上述實施例可知,本發明實施例中提供的是一種基于SNMP Trap報文進行丟棄的方法,從而使丟棄行為發生在進入業務層處理前,并且不區分設備,對全網生效。基于Trap OID丟棄規則基礎上可以進一步配置具備特定屬性和屬性值的Trap的丟棄方法。從而克服現有網管系統告警丟棄效率低、粒度無法精確到Trap屬性的問題。對基于Trap 方法的設備業務開通具有重要意義。
圖6是根據本發明實施例的Trap報文丟棄處理結構框圖,如圖6所示,包括丟棄規則解析器62(同上述的接收模塊22和解析單元42)、Trap報文解析處理器64(同上述的解析模塊32和生成模塊34)、丟棄處理器66(同上述的丟棄單元52)和上報發送器68(同上述的映射單元54和發送單元56),下面對各部分進行說明。
丟棄規則解析器62:將預先設置的告警丟棄規則(同上述的丟棄規則)解析成系統內存中的數據結構。
Trap報文解析處理器64:從網管Trap接收端口接收Trap報文,并按照協議格式解析報文數據結構。
丟棄處理器66:根據丟棄規則快速匹配Trap報文中的特征。對于匹配成功Trap報文的進行丟棄處理。
上報發送器68:將未被丟棄的Trap報文經過映射等處理轉化為網管系統中的告警信息,并推送給網管上層處理模塊。
其中Trap報文解析處理器64、丟棄規則解析器62、丟棄處理器66可以直接位于SNMP協議棧中,這樣處理效率最高。
本發明實施例中還提供了一種Trap報文的丟棄處理方法,包括以下步驟:
步驟A.將預先設置的告警丟棄規則解析成系統內存中的數據結構;
步驟B.從網管Trap接收端口接收Trap報文,并按照協議格式解析報文數據結構;
步驟C.根據丟棄規則快速匹配Trap報文中的特征,對于匹配成功的Trap報文進行丟棄處理;
步驟D.將未被丟棄的Trap報文經過映射等處理轉化為網管系統中的告警信息,并推送給網管上層處理模塊。
本發明實施例中定制告警丟棄規則的方法是直接基于Trap報文結構配置網管系統告警丟棄規則,用于在告警進入業務層處理前根據協議報文字段進行告警丟棄,無需業務分析,該丟棄規則可以采用如下形式:
形式1:配置丟棄Trap報文的Trap OID,所有符合此Trap OID的Trap報文均被丟棄;
形式2:配置丟棄Trap報文的Trap OID,同時配置屬性區域結構中指定位置的屬性OID或者重要性value的正則表達式(同上述的報文屬性為第一預定屬性值)。所有符合此Trap OID,并且在指定位置出現了屬性OID或者匹配正則表達式value的Trap報文被丟棄;
形式3:配置丟棄Trap報文的Trap OID,同時配置符合此Trap OID下的Trap報文例外(同上述的報文屬性非第二預定屬性值的Trap報文)。例外通過Trap中指定位置的屬性OID和value的符合配置正則表達式指定。在此方式下,當實際接收到的Trap報文的Trap OID符合上述Trap報文例外指定的規則,那么繼續上報該Trap報文,否則丟棄該Trap報文。
下面結合具體的丟棄規則對本發明進行舉例說明。
實施例一
使用Trap OID方式指定丟棄Trap報文的過程:
步驟1.系統啟動后丟棄規則解析器62解析預定義的告警丟棄規則,生成內存中便于丟棄處理器66快速讀取的內存結構。所配置的丟棄規則采用上述1的方式,如:
/trap/1/exclude/oid=.1.3.6.1.2.1.11.2
表示符合Trap OID是.1.3.6.1.2.1.11.2的Trap報文將被丟棄,其他Trap報文上報到上層業務模塊。
步驟2.網管系統在告警接收端口接收到Trap報文,Trap解析處理器64對Trap報文進行原始的協議層結構解析。
步驟3.解析后的Trap結構進入丟棄處理器66,此處完成Trap OID和屬性字段與預配置的規則比較,根據比較結構丟棄告警,或者送入上報發送器68。
步驟4.上報發送器68將告警分別送入各個需要接收告警進行業務處理的上層模塊。
實施例二
使用Trap OID和屬性指定丟棄特定Trap報文的過程:
步驟1.系統啟動后丟棄規則解析器62解析預定義的告警丟棄規則,生成內存中便于丟棄處理器66快速讀取的內存結構。例如所配置的丟棄規則采用上述形式二中的方式,如:
/trap/1/exclude/oid=.1.3.6.1.2.1.11.2
/trap/1/exclude/value=2_.1.3.6.1.2.1.2.2.1.1_^[0-9]*$
在此實施例中配置了第1條告警丟棄規則,表示符合Trap OID是.1.3.6.1.2.1.11.2,并且屬性區域中第2個屬性的key是.1.3.6.1.2.1.2.2.1.1,并且value符合正則表達式^[0-9]*$的Trap將被丟棄。
步驟2.網管系統在告警接收端口接收到Trap后,Trap解析處理器64對Trap進 行原始的協議層結構解析。
步驟3.解析后的Trap結構進入丟棄處理器66,此處完成TrapOID和屬性字段與預配置的規則比較,根據比較結構丟棄告警,或者送入上報發送器68。
詳細判斷流程如圖7所示,圖7是根據本發明實施例的使用Trap OID和屬性指定丟棄特定Trap報文的判斷流程圖。圖7中包括如下步驟:S1解析報文中Trap OID,在D1中判斷,如果在規則中沒有找到相應的Trap OID規則就通過S4,進入到步驟4。如果配置了此Trap OID規則,S2解析報文中屬性字段提取屬性OID和值,并在D2中判斷,匹配規則exclude則丟棄S3,不送入步驟4,否則S4送入步驟4。
步驟4.上報發送器68將告警信息分別送入各個需要接收告警進行業務處理的上層模塊。
實施例三
使用Trap OID和屬性例外指定丟棄特定Trap報文的過程:
步驟1.系統啟動后62丟棄規則解析器解析預定義的告警丟棄規則,生成內存中便于丟棄處理器66快速讀取的內存結構。例如所配置的丟棄規則采用上述形式三的方式,如:
/trap/1/exclude/oid=.1.3.6.1.2.1.11.2
/trap/1/exception/value=2_.1.3.6.1.2.1.2.2.1.1_^[0-9]*$
在實施例三中配置了第1條告警丟棄規則,表示符合Trap OID是.1.3.6.1.2.1.11.2的Trap將被丟棄,但有個例外,就是如果屬性區域中第2個屬性的key是.1.3.6.1.2.1.2.2.1.1,并且value符合正則表達式^[0-9]*$的Trap將不被此規則影響,繼續上報到上層業務模塊。
步驟2.網管系統在告警接收端口接收到Trap后,Trap解析處理器64對Trap進行原始的協議層結構解析。
步驟3.解析后的Trap結構進入丟棄處理器66,此處完成TrapOID和屬性字段與預配置的規則比較,根據比較結構丟棄告警,或者送入上報發送器68。
詳細判斷流程如圖8所示,圖8是根據本發明實施例的使用Trap OID和屬性例外指定丟棄特定Trap報文的判斷流程圖。該流程包括如下步驟:S1解析Trap報文中的TrapOID,在D1中判斷,如果在丟棄規則中沒有找到相應的TrapOID規則就通過S4,進入到步驟4。如果配置了此TrapID規則,S2解析報文中屬性字段提取屬性OID和值,并在D2中判斷,沒有匹配規則exception則丟棄S3,不送入步驟4,否則S4送入步驟 4。
步驟4.上報發送器68將告警信息分別送入各個需要接收告警進行業務處理的上層模塊。
相關技術中的告警丟棄或者過濾方法都是基于特定告警發生源,或者Trap經過業務解析、映射之后的用戶可理解的告警碼比對和丟棄。相對于相關技術中的方案,本發明實施例中的方案是基于Trap報文數據,沒有進入任何業務處理層前的丟棄,同時不區分告警發生源,對全網設備發來的告警生效,處理效率高,系統開銷小。并且能夠基于Trap OID配置的丟棄規則之上進一步根據Trap報文中的屬性指定采取的動作,做到細粒度的告警丟棄規則配置。基于Trap的設備業務自動開通網管系統通常只關心少量Trap類型,本發明實施例中的方案對于這樣的系統具有重要意義。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現的,對于后者,可以通過以下方式實現,但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
本發明的實施例還提供了一種存儲介質。可選地,在本實施例中,上述存儲介質可以被設置為存儲用于執行以下步驟的程序代碼:
S1,接收用于標識設備告警信息的Trap報文;
S2,將該Trap報文與用于丟棄Trap報文的丟棄規則進行匹配;
S3,根據匹配結果對該Trap報文進行處理。
可選地,在本實施例中,上述存儲介質可以包括但不限于:U盤、只讀存儲器(Read-Only Memory,簡稱為ROM,)、隨機存取存儲器(Random Access Memory,簡稱為RAM)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何 修改、等同替換、改進等,均應包含在本發明的保護范圍之內。