新四季網

一種規則匹配方法及設備與流程

2023-06-17 14:13:42


本發明涉及電子信息領域,尤其涉及一種規則匹配方法及設備。

背景技術:
IP(InternetProtocol,網絡協議)業務的爆炸性發展及寬帶業務迅猛增長,給運營商帶來了機遇的同時也帶來了挑戰。在網絡與業務的安全保障方面,協議中惡意特徵字規則數目多,並隨著網絡業務的發展而不斷增多。並且惡意特徵字規則出現位置不固定,無法預知準確位置,這些都給惡意數據段的識別帶來了挑戰。DPI(DeepPacketInspection,深度包檢測)技術作為一種網絡設備增強的過濾器,逐步將用戶管理、安全控制、精細的業務控制等能力有機地集成在一起,實現各類業務的動態感知、策略控制、QOS(QualityofService,服務質量)保障,以及網絡與業務的安全保障等功能,降低運營商的資本性支出與運營支出,為運營商提供一個電信業務的基礎運營平臺。DPI技術的關鍵是高效識別網絡上的各種應用。識別技術包含特徵字識別、應用層網關識別、行為模式識別。特徵字識別技術目前已經成為識別技術的主要方法之一,而「規則匹配技術」是特徵字識別的關鍵技術。因此,「規則匹配技術」的發展成為了識別惡意數段,維護網絡安全的重要部分。但是,在現有的技術中,因為只提取規則的特徵字進行哈希函數運算,繼而進行匹配,導致了對於規則的匹配精確度不足,效率較低,影響了網絡信息中惡意數段的過濾效果。

技術實現要素:
本發明的實施例提供一種規則匹配方法及設備,能夠提高規則匹配的精度以及規則匹配的效率。為達到上述目的,本發明的實施例採用如下技術方案:第一方面,一種規則匹配方法,包括:規則匹配設備在報文中提取報文規則;所述規則匹配設備在所述報文規則中提取特徵字,並生成所述報文規則的域標識符;所述規則匹配設備將所述報文規則的特徵字與所述報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值;分別在每一個所述哈希函數對應的哈希表中查找對應的所述哈希值的地址中存儲的數據;若每個所述哈希值的地址中存儲的數據均為預設值,則所述報文規則匹配成功;否則所述報文規則匹配失敗。在第一種可能的實現方式中,結合第一方面,所述規則匹配設備在報文中提取報文規則之前,還包括:所述規則匹配設備在待匹配規則中提取所述待匹配規則的特徵字,並生成所述待匹配規則的域標識符;將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所述預設數量的哈希函數運算生成預設數量的標準哈希值;分別在每一個所述哈希函數對應的所述哈希表中查找對應的所述標準哈希值的地址,並將每個所述標準哈希值的地址中存儲的數據改為所述預設值。在第二種可能的實現方式中,結合第一方面的第一種可能的實現方式,所述規則匹配設備在所述報文規則中提取特徵字,並生成所述報文規則的域標識符之後,還包括:所述規則匹配設備將所述報文規則的特徵字與所述報文規則的域標識符進行預設的主哈希函數運算得到主哈希值;將所述主哈希值作為入口Entry表的行地址,在所述Entry表的行地址對應的行中,查找所述報文規則的特徵字與所述報文規則的域標識符;若查找到所述報文規則的特徵字與所述報文規則的域標識符,則所述報文規則匹配成功;否則所述報文規則匹配失敗。在第三種可能的實現方式中,結合第一方面的第二種可能的實現方式,所述規則匹配設備在待匹配規則中提取所述待匹配規則的特徵字,並生成所述待匹配規則的域標識符之後,還包括:所述規則匹配設備在所述預設數量的哈希函數中選擇一個哈希函數作為所述預設的主哈希函數;將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所 述預設的主哈希函數運算得到標準主哈希值;將所述標準主哈希值作為所述Entry表的預設行地址,將所述待匹配規則的特徵字與所述待匹配規則的域標識符存入所述Entry表的預設行地址對應的Entry表的行。在第四種可能的實現方式中,結合第一方面的第三種可能的實現方式,所述方法還包括:所述規則匹配設備根據所述待匹配規則獲取所述待匹配規則的組標識符,所述待匹配規則的組標識符與所述待匹配規則的特徵字及所述待匹配規則的域標識符一一對應;所述規則匹配設備將所述待匹配規則的組標識符存入所述Entry表的預設行地址對應的Entry表的行,以便於根據所述待匹配規則的組標識符在所述Entry表的行地址對應的行中查找所述報文規則的特徵字與所述報文規則的域標識符。在第五種可能的實現方式中,結合第一方面的第四種可能的實現方式,所述規則匹配設備將所述報文規則的特徵字與所述報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值之前,還包括:所述規則匹配設備根據所述報文規則獲取所述報文規則的偏移值;所述規則匹配設備將所述報文規則的特徵字與所述報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,包括:所述規則匹配設備將所述報文規則的特徵字、所述報文規則的域標識符和所述報文規則的偏移值進行所述預設數量的哈希函數運算生成預設數量的所述哈希值;所述規則匹配設備將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所述預設數量的哈希函數運算生成預設數量的標準哈希值之前,還包括:所述規則匹配設備根據所述待匹配規則獲取所述待匹配規則的偏移值;所述規則匹配設備將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所述預設數量的哈希函數運算生成預設數量的標準哈 希值,包括:所述規則匹配設備將所述待匹配規則的特徵字、所述待匹配規則的域標識符和所述待匹配規則的偏移值進行所述預設數量的哈希函數運算生成預設數量的所述標準哈希值。在第六種可能的實現方式中,結合第一方面的第五種可能的實現方式,所述規則匹配設備將所述報文規則的特徵字與所述報文規則的域標識符進行預設的主哈希函數運算得到主哈希值,將所述主哈希值作為所述Entry表的行地址,在所述Entry表的行地址對應的Entry表的行中,查找所述報文規則的特徵字與所述報文規則的域標識符,包括:所述規則匹配設備將所述報文規則的特徵字、所述報文規則的域標識符和所述報文規則的偏移值進行所述預設的主哈希函數運算得到所述主哈希值,將所述主哈希值作為所述Entry表的行地址,在所述Entry表的行地址對應的Entry表的行中,查找所述報文規則的特徵字、所述報文規則的域標識符和所述報文規則的偏移值;所述將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所述預設的主哈希函數運算得到標準主哈希值,將所述標準主哈希值作為所述Entry表的預設行地址,將所述待匹配規則的特徵字與所述待匹配規則的域標識符存入所述Entry表的預設行地址對應的Entry表的行,包括:所述規則匹配設備將所述待匹配規則的特徵字、所述待匹配規則的域標識符和所述待匹配規則的偏移值進行所述預設的主哈希函數運算得到所述標準主哈希值,將所述標準主哈希值作為所述Entry表的預設行地址,將所述待匹配規則的特徵字、所述待匹配規則的域標識符和所述待匹配規則的偏移值存入所述Entry表的預設行地址對應的Entry表的行。在第七種可能的實現方式中,結合第一方面的第一種可能的實現方式、第一方面的第二種可能的實現方式、第一方面的第三種可能的實現方式、第一方面的第四種可能的實現方式和第一方面的第五種可能的實現方式,所述規則匹配設備在待匹配規則中提取所述待匹配規則的特徵字之前,還包括:所述規則匹配設備將位置不固定的匹配規則的起始字符改寫為預 設起始字符;所述規則匹配設備將起始字符改寫為預設起始字符的匹配規則進行分組,以便於所述規則匹配設備將所述分組後的匹配規則作為所述待匹配規則。在第八種可能的實現方式中,結合第一方面的第七種可能的實現方式,所述規則匹配設備將起始字符改寫為預設起始字符的匹配規則進行分組,包括:所述規則匹配設備在所述位置不固定的匹配規則的特徵字中選擇預設特徵字,提取所述預設特徵字;所述規則匹配設備將所述位置不固定的匹配規則中擁有共同所述預設特徵字的規則分為一組。在第九種可能的實現方式中,結合第一方面的第八種可能的實現方式,所述規則匹配設備在所述位置不固定的匹配規則的特徵字中選擇預設特徵字之前,還包括:所述規則匹配設備在所述位置不固定的匹配規則中,提取含有達到閾值長度的相同字符的匹配規則;所述規則匹配設備將所述達到閾值長度的相同字符作為一條匹配規則替換所述含有達到閾值長度的相同字符的匹配規則。。在第十種可能的實現方式中,結合第一方面的第八種可能的實現方式,所述規則匹配設備將所述位置不固定的匹配規則中擁有共同預設特徵字的規則分為一組,還包括:所述規則匹配設備計算同一個所述預設特徵字在不同的所述位置不固定的匹配規則中的最大偏移值;所述規則匹配設備在所述同一組的每個所述位置不固定的匹配規則中,將所述預設特徵字的偏移值改寫為所述最大偏移值。第二方面,一種規則匹配設備,包括:提取單元,用於在報文中提取報文規則,在所述報文規則中提取特徵字,並生成所述報文規則的域標識符,將所述報文規則的特徵字與所述報文規則的域標識符傳輸至匹配單元;所述匹配單元,用於接收所述提取單元傳輸的所述報文規則的特 徵字與所述報文規則的域標識符,將所述報文規則的特徵字與所述報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個所述哈希函數對應的哈希表中查找對應的所述哈希值的地址中存儲的數據,若每個所述哈希值的地址中存儲的數據均為預設值,則所述報文規則匹配成功;否則所述報文規則匹配失敗。在第一種可能的實現方式中,結合第一方面,所述提取單元,還用於在所述待匹配規則中提取所述待匹配規則的特徵字,並生成所述待匹配規則的域標識符,將所述待匹配規則的特徵字與所述待匹配規則的域標識符傳輸至所述匹配單元;所述匹配單元,還用於接收所述提取單元傳輸的所述待匹配規則的特徵字與所述待匹配規則的域標識符,將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所述預設數量的哈希函數運算生成預設數量的標準哈希值,分別在每一個所述哈希函數對應的所述哈希表中查找對應的所述標準哈希值的地址,並將每個所述標準哈希值的地址中存儲的數據改為所述預設值。在第二種可能的實現方式中,結合第一方面的第一種可能的實現方式,所述匹配單元,還用於將所述報文規則的特徵字與所述報文規則的域標識符進行預設的主哈希函數運算得到主哈希值,將所述主哈希值作為入口Entry表的行地址,在所述Entry表的行地址對應的Entry表的行中,查找所述報文規則的特徵字與所述報文規則的域標識符,若查找到所述報文規則的特徵字與所述報文規則的域標識符,則所述報文規則匹配成功;否則所述報文規則匹配失敗。在第三種可能的實現方式中,結合第一方面的第二種可能的實現方式,所述匹配單元,還用於在所述預設數量的哈希函數中選擇一個哈希函數作為所述預設的主哈希函數,將所述待匹配規則的特徵字與所述待匹配規則的域標識符進行所述預設的主哈希函數運算得到標準主哈希值,將所述標準主哈希值作為所述Entry表的預設行地址,將所述待匹配規則的特徵字與所述待匹配規則的域標識符存入所述Entry表的預設行地址對應的Entry表的行。在第四種可能的實現方式中,結合第一方面的第三種可能的實現 方式,所述提取單元,還用於根據所述待匹配規則獲取所述待匹配規則的組標識符,將所述待匹配規則的組標識符傳輸至所述匹配單元,所述待匹配規則的組標識符與所述待匹配規則的特徵字及所述待匹配規則的域標識符一一對應;所述匹配單元,還用於接收所述提取單元傳輸的所述待匹配規則的組標識符,將所述待匹配規則的組標識符存入所述Entry表的預設行地址對應的Entry表的行,以便於所述匹配單元根據所述待匹配規則的組標識符在所述Entry表的行地址對應的行中查找所述報文規則的特徵字與所述報文規則的域標識符。在第五種可能的實現方式中,結合第一方面的第四種可能的實現方式,所述提取單元,還用於根據所述報文規則獲取所述報文規則的偏移值,並將所述報文規則的偏移值傳輸至所述匹配單元;所述匹配單元,還用於接收所述提取單元傳輸的所述報文規則的偏移值,將所述報文規則的特徵字、所述報文規則的域標識符和所述報文規則的偏移值進行所述預設數量的哈希函數運算生成預設數量的所述哈希值;所述提取單元,還用於根據所述待匹配規則獲取所述待匹配規則的偏移值,並將所述待匹配規則的偏移值傳輸至所述匹配單元;所述匹配單元,還用於接收所述提取單元傳輸的所述待匹配規則的偏移值,將所述待匹配規則的特徵字、所述待匹配規則的域標識符和所述待匹配規則的偏移值進行所述預設數量的哈希函數運算生成預設數量的所述標準哈希值。在第六種可能的實現方式中,結合第一方面的第五種可能的實現方式,所述匹配單元,還用於將所述報文規則的特徵字、所述報文規則的域標識符和所述報文規則的偏移值進行所述預設的主哈希函數運算得到所述主哈希值,將所述主哈希值作為所述Entry表的行地址,在所述Entry表的行地址對應的Entry表的行中,查找所述報文規則的特徵字、所述報文規則的域標識符和所述報文規則的偏移值;所述匹配單元,還用於將所述待匹配規則的特徵字、所述待匹配規則的域標識符和所述待匹配規則的偏移值進行所述預設的主哈希函數運算得到所述標準主哈希值,將所述標準主哈希值作為所述Entry表的預設行地址,將所述待匹配規則的特徵字、所述待匹配規則的域標識符和所述待匹配規則的偏移值存入所述Entry表的預設行地址對應的Entry表的行。在第七種可能的實現方式中,結合第一方面的第一種可能的實現方式、第一方面的第二種可能的實現方式、第一方面的第三種可能的實現方式、第一方面的第四種可能的實現方式和第一方面的第五種可能的實現方式,所述規則匹配設備還包括分組單元;所述分組單元,用於將位置不固定的匹配規則的起始字符改寫為預設起始字符;所述分組單元,還用於將起始字符改寫為預設起始字符的匹配規則進行分組,以便於所述匹配單元將所述分組後的匹配規則作為所述待匹配規則。在第八種可能的實現方式中,結合第一方面的第七種可能的實現方式,所述分組單元,還用於在所述位置不固定的匹配規則的特徵字中選擇預設特徵字,提取所述預設特徵字,將所述位置不固定的匹配規則中擁有共同所述預設特徵字的規則分為一組。在第九種可能的實現方式中,結合第一方面的第八種可能的實現方式,所述分組單元,還用於在所述位置不固定的匹配規則中,提取含有達到閾值長度的相同字符的匹配規則,將所述達到閾值長度的相同字符作為一條匹配規則替換所述含有達到閾值長度的相同字符的匹配規則。在第十種可能的實現方式中,結合第一方面的第八種可能的實現方式,所述分組單元,還用於計算同一個所述預設特徵字在不同的所述位置不固定的匹配規則中的最大偏移值,在所述同一組的每個所述位置不固定的匹配規則中,將所述預設特徵字的偏移值改寫為所述最大 偏移值。本發明的實施例提供的規則匹配方法及設備,通過將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功,否則報文規則匹配失敗,從而提高了規則匹配的效率。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹。圖1為本發明的實施例提供的一種規則匹配方法;圖2為本發明的另一實施例提供的一種規則匹配方法;圖3為本發明的實施例提供的規則匹配方法中的一種規則分組方法;圖4為本發明的實施例提供的一種規則匹配設備;圖5為本發明的另一實施例提供的一種規則匹配設備。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。目前,規則匹配技術大多都是基於FPGA(Field-ProgrammableGateArray,現場可編程門陣列)晶片實現的,它是作為ASIC(ApplicationSpecificIntegratedCircuit,專用集成電路)領域中的一種半定製電路而出現的。本發明的實施例在FPGA晶片的背景下,提供了一種規則匹配方法,如圖1所示,當然,本發明的實施例不局限於使用FPGA晶片,通過其他晶片也可以實現,只不過優選的使用FPGA晶片作為硬體基礎,該方法包括以下步驟:101、規則匹配設備在報文中提取報文規則。102、規則匹配設備在報文規則中提取特徵字,並生成報文規則的域標識符。其中,報文規則的特徵字是報文規則的一部分字符串,它包含了自身規則可以區別於其他規則的獨有的特徵。報文規則的域標識符包 含報文規則出現的位置信息,增加域標識符提高了規則匹配的精度與效率。103、規則匹配設備將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值。104、規則匹配設備分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據。若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功;否則報文規則匹配失敗。此處預設數量的哈希函數為多個不同的哈希算法,一般為4個哈希函數,每一個哈希函數對應一個哈希表。四個哈希表都存儲於晶片內,表的寬度一般為1bit,深度可以自行設定,一般為32K。哈希表能夠將關鍵字(此處為報文規則的特徵字與報文規則的域標識符)映射到表中的一個地址(即哈希表的行號),優選的,將通過哈希函數運算得到的函數值直接作為行號,建立映射關係。如果函數值映射的地址中沒有存儲預設值,代表這條規則並未出現,即匹配失敗。本發明的實施例提供的規則匹配方法,通過將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功,否則報文規則匹配失敗,從而提高了規則匹配的效率。進一步的,本發明的另一實施例提供一種規則匹配方法,參照圖2所示,該方法包括:201、規則匹配設備在待匹配規則中提取待匹配規則的特徵字,生成待匹配規則的域標識符,並獲取待匹配規則的組標識符。如果待匹配規則有固定偏移,則其關鍵字還包括待匹配規則的偏移值。具體的,規則匹配設備從待匹配規則中提取待匹配規則的特徵字,根據待匹配規則生成待匹配規則的域標識符及待匹配規則的偏移值,根據待匹配規則獲取待匹配規則的組標識符。待匹配規則的偏移值代表了待匹配規則位置偏移的字符數,待匹配規則的組標識符代表該待匹配規則屬於哪一組。待匹配規則的組標識符、待匹配規則的偏移值、待匹配規則的特徵字和待匹配規則的域標識符之間都是一一對應的。202、規則匹配設備將待匹配規則的特徵字與待匹配規則的域標識符進行預設數量的哈希函數運算生成預設數量的標準哈希值。如果待匹配規則有偏移值,則要將待匹配規則的特徵字、待匹配規則的域標識符和待匹配規則的偏移值進行預設數量的哈希函數運算生成預設數量的標準哈希值。203、規則匹配設備分別在每一個哈希函數對應的哈希表中查找對應的標準哈希值的地址,並將每個標準哈希值的地址中存儲的數據改為預設值。可選的,本發明的實施例中哈希表寬度為1bit,哈希表地址中存儲的初始值為0,將初始值改為1作為預設值。204、規則匹配設備在預設數量的哈希函數中選擇一個哈希函數作為預設的主哈希函數,將待匹配規則的特徵字與待匹配規則的域標識符進行預設的主哈希函數運算得到標準主哈希值。如果待匹配規則有偏移值,則要將待匹配規則的特徵字、待匹配規則的域標識符和待匹配規則的偏移值進行預設的主哈希函數運算得到標準主哈希值,205、規則匹配設備將標準主哈希值作為Entry表的預設行地址,將待匹配規則的特徵字、待匹配規則的域標識符和待匹配規則的組標識符存入Entry表的預設行地址對應的Entry表的行。如果待匹配規則有偏移值,也要將待匹配規則的偏移值存入Entry表的預設行地址對應的行中。其中,Entry表是存儲於晶片外的固定寬度的表,其深度和哈希表一致,Entry表的行號和預設的主哈希函數的哈希表的行號也是一致的。Entry表用於存放規則的關鍵字以便於進行精確匹配。206、規則匹配設備在報文中提取報文規則,在報文規則中提取報文規則的特徵字,並根據報文規則生成報文規則的域標識符。如果報文規則位置固定,還要根據報文規則獲取報文規則的偏移值。207、規則匹配設備將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值。如果報文規則有偏移值,則要將報文規則的特徵字、報文規則的 域標識符和報文規則的偏移值進行預設數量的哈希函數運算生成預設數量的哈希值。208、規則匹配設備分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據。若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功;否則報文規則匹配失敗。對照步驟202,可選的,預設值是1,如果存儲的數據是1,代表待匹配規則中含有這個規則,即報文規則匹配成功,如果存儲的數據是0,代表待匹配規則中不含有這個規則,即報文規則匹配不成功。209、規則匹配設備將報文規則的特徵字與報文規則的域標識符進行預設的主哈希函數運算得到主哈希值。如果報文規則有偏移值,則要將報文規則的特徵字、報文規則的域標識符和報文規則的偏移值進行預設的主哈希函數運算得到主哈希值。210、規則匹配設備將主哈希值作為Entry表的行地址,在Entry表的行地址對應的行中,根據待匹配規則的組標識符查找報文規則的特徵字與報文規則的域標識符。如果報文規則有偏移值,則規則匹配設備在Entry表的行地址對應的行中,根據待匹配規則的組標識符查找報文規則的特徵字、報文規則的域標識符和報文規則的報文規則的偏移值。若查找到報文規則的特徵字與報文規則的域標識符,或查找到報文規則的特徵字、報文規則的域標識符和報文規則的偏移值,則表示待匹配規則中包含這個規則,報文規則匹配成功,否則,就表示待匹配規則中不包含這個規則,報文規則匹配失敗。可選的,參照圖3所示,在規則匹配設備獲取待匹配規則的關鍵字之前,該方法還包括對位置不固定的規則進行分組的方法,包括以下步驟:301、規則匹配設備將位置不固定的匹配規則的起始字符改寫為預設起始字符。一般,位置不固定的規則的起始字符為*,本發明的實施例中,優選的,可以將起始字符改為^。302、規則匹配設備在位置不固定的匹配規則(即起始字符為預設 字符的規則)中,提取含有達到閾值長度的相同字符的匹配規則。303、規則匹配設備將達到閾值長度的相同字符作為一條匹配規則替換含有達到閾值長度的相同字符的匹配規則。例如規則(1)^abcdede,規則(2)^abcdegid,這兩條規則可以合併為一條新的規則^abcde,也就是將兩個相似規則的共同部分提取出來作為新的規則參與分組。304、規則匹配設備在位置不固定的匹配規則的特徵字中選擇預設特徵字,提取預設特徵字,將位置不固定的匹配規則中擁有共同預設特徵字的規則分為一組。本發明的實施例中,在選擇預設特徵字的時候,優選的,可以選取對應規則數少的特徵字,保留經常在匹配的時候命中的特徵字,只有在沒有其他特徵字的情況下再選擇經常命中的特徵字。305、規則匹配設備計算同一個預設特徵字在不同位置不固定的匹配規則中的最大偏移值,在同一組的每個位置不固定的匹配規則中,將預設特徵字的偏移值改寫為最大偏移值,即增加「^.{MaxOffset-CurrentOffset}」,其中,「.」表示對任意規則增加該字符串,這樣可以使得預設特徵字在不同規則中的最大偏移值都為MaxOffset。本發明的實施例提供的規則匹配方法,通過將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功,否則報文規則匹配失敗,從而提高了規則匹配的效率。本發明的實施例提供一種規則匹配設備,參照圖4所示,該規則匹配設備40包括相互連接的提取單元401和匹配單元402。其中,提取單元401,用於在報文中提取報文規則,在報文規則中提取特徵字,並生成報文規則的域標識符,將報文規則的特徵字與報文規則的域標識符傳輸至匹配單元402。匹配單元402,用於接收提取單元401傳輸的報文規則的特徵字與報文規則的域標識符,將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個哈 希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功;否則匹配不成功。本發明的實施例提供的規則匹配設備,通過將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功,否則報文規則匹配失敗,從而提高了規則匹配的效率。可選的,提取單元401在待匹配規則中提取待匹配規則的特徵字,並生成待匹配規則的域標識符,將待匹配規則的特徵字與待匹配規則的域標識符傳輸至匹配單元402。匹配單元402接收提取單元401傳輸的待匹配規則的特徵字與待匹配規則的域標識符,將待匹配規則的特徵字與待匹配規則的域標識符進行預設數量的哈希函數運算生成預設數量的標準哈希值,分別在每一個哈希函數對應的哈希表中查找對應的標準哈希值的地址,並將每個標準哈希值的地址中存儲的數據改為預設值。可選的,匹配單元402,還用於在預設數量的哈希函數中選擇一個哈希函數作為預設的主哈希函數,將待匹配規則的特徵字與待匹配規則的域標識符進行預設的主哈希函數運算得到標準主哈希值,將標準主哈希值作為Entry表的預設行地址,將待匹配規則的特徵字與待匹配規則的域標識符存入Entry表的預設行地址對應的Entry表的行。匹配單元402,還用於將報文規則的特徵字與報文規則的域標識符進行預設的主哈希函數運算得到主哈希值,將主哈希值作為Entry表的行地址,在Entry表的行地址對應的Entry表的行中,查找報文規則的特徵字與報文規則的域標識符,若查找到報文規則的特徵字與報文規則的域標識符,則報文規則匹配成功,否則報文規則匹配失敗。具體的,提取單元401,還用於根據待匹配規則獲取待匹配規則的組標識符,將待匹配規則的組標識符傳輸至匹配單元402,待匹配規則的組標識符與待匹配規則的特徵字及待匹配規則的域標識符一一對應。匹配單元402接收提取單元401傳輸的待匹配規則的組標識符, 將待匹配規則的組標識符存入Entry表的預設行地址對應的Entry表的行,以便於匹配單元402根據待匹配規則的組標識符在Entry表的行地址對應的行中查找報文規則的特徵字與報文規則的域標識符。進一步的,提取單元401,還用於根據待匹配規則獲取待匹配規則的偏移值,並將待匹配規則的偏移值傳輸至匹配單元402。匹配單元402接收提取單元401傳輸的待匹配規則的偏移值,將待匹配規則的特徵字、待匹配規則的域標識符和待匹配規則的偏移值進行預設數量的哈希函數運算生成預設數量的標準哈希值。提取單元401,還用於根據報文規則獲取報文規則的偏移值,並將報文規則的偏移值傳輸至匹配單元402。匹配單元402接收提取單元401傳輸的報文規則的偏移值,將報文規則的特徵字、報文規則的域標識符和報文規則的偏移值進行預設數量的哈希函數運算生成預設數量的哈希值。進一步可選的,匹配單元402,還用於將待匹配規則的特徵字、待匹配規則的域標識符和待匹配規則的偏移值進行預設的主哈希函數運算得到標準主哈希值,將主哈希值作為Entry表的預設行地址,將待匹配規則的特徵字、待匹配規則的域標識符和待匹配規則的偏移值存入Entry表的預設行地址對應的Entry表的行。匹配單元402,還用於將報文規則的特徵字、報文規則的域標識符和報文規則的偏移值進行預設的主哈希函數運算得到主哈希值,將主哈希值作為Entry表的行地址,在Entry表的行地址對應的Entry表的行中,查找報文規則的特徵字、報文規則的域標識符和報文規則的偏移值。可選的,該規則匹配設備40還包括分組單元403。分組單元403用於將位置不固定的待匹配規則的起始字符改寫為預設起始字符;分組單元403在位置不固定的匹配規則中,提取含有達到閾值長度的相同字符的匹配規則;將閾值長度的相同字符作為一條匹配規則替換含有達到閾值長度的相同字符的匹配規則。分組單元403在位置不固定的匹配規則的特徵字中選擇預設特徵字,提取預設特徵字,將位置不固定的匹配規則中擁有共同預設特徵 字的規則分為一組。分組單元403計算同一個預設特徵字在不同的位置不固定的匹配規則中的最大偏移值,在同一組的每個位置不固定的規則中,將預設特徵字的偏移值改寫為最大偏移值。本發明的實施例提供的規則匹配方法及設備,通過將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設數量的哈希值,分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功,否則報文規則匹配失敗,從而提高了規則匹配的效率。本發明的另一實施例提供了一種規則匹配設備,參照圖5所示。該設備可以嵌入或本身就是微處理計算機,比如:通用計算機、客戶定製機、手機終端或平板機等便攜設備,該規則匹配設備5001包括:至少一個處理器5011、存儲器5012、和總線5013,該至少一個處理器5011和存儲器5012通過總線5013連接並完成相互間的通信。該總線5013可以是ISA(IndustryStandardArchitecture,工業標準體系結構)總線、PCI(PeripheralComponent,外部設備互連)總線或EISA(ExtendedIndustryStandardArchitecture,擴展工業標準體系結構)總線等。該總線5013可以分為地址總線、數據總線、控制總線等。為便於表示,圖5中僅用一條粗線表示,但並不表示僅有一根總線或一種類型的總線。其中:存儲器5012用於存儲可執行程序代碼,該程序代碼包括計算機操作指令。存儲器5012可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatilememory),例如至少一個磁碟存儲器。處理器5011可能是一個中央處理器5011(CentralProcessingUnit,簡稱為CPU),或者是特定集成電路(ApplicationSpecificIntegratedCircuit,簡稱為ASIC),或者是被配置成實施本發明實施例的一個或多個集成電路。本發明中,處理器5011用於調用存儲器5012中的程序代碼,用以執行上述設備實施例中提取單元、匹配單元及分組單元的操作,具體描述參照圖4對應的設備實施例,這裡不再贅述。本發明的實施例提供的規則匹配方法及設備,通過將報文規則的特徵字與報文規則的域標識符進行預設數量的哈希函數運算生成預設 數量的哈希值,分別在每一個哈希函數對應的哈希表中查找對應的哈希值的地址中存儲的數據,若每個哈希值的地址中存儲的數據均為預設值,則報文規則匹配成功,否則報文規則匹配失敗,從而提高了規則匹配的效率。以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀