欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

采用基于ac算法的正則匹配的流量過濾方法及裝置的制作方法

文檔序號:6444934閱讀:222來源:國知局
專利名稱:采用基于ac算法的正則匹配的流量過濾方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種采用基于AC算法的正則匹配的流量過濾方法及裝置。
背景技術(shù)
現(xiàn)有技術(shù)的AC算法(Aho_CoraSiCk,自動(dòng)機(jī)匹配算法)首先建立三個(gè)函數(shù)即轉(zhuǎn)向函數(shù)、失效函數(shù)及輸出函數(shù),根據(jù)三個(gè)函數(shù)及多模式字符串建立一個(gè)確定性的樹形的有限狀態(tài)機(jī),將被匹配的主字符串作為該有限狀態(tài)機(jī)的輸入使該有限狀態(tài)機(jī)根據(jù)所述的主字符串進(jìn)行狀態(tài)轉(zhuǎn)換,當(dāng)有限狀態(tài)機(jī)達(dá)到某些特定的狀態(tài)時(shí)則說明發(fā)生模式匹配。其中,轉(zhuǎn)向函數(shù)g表示一種狀態(tài)之間的轉(zhuǎn)向關(guān)系,例如,g(pre, X) = next,表示狀態(tài)pre在輸入一個(gè)字符X后轉(zhuǎn)換為狀態(tài)next,如果在模式串中不存在這樣的轉(zhuǎn)換,則next = failture即轉(zhuǎn)換失??;失效函數(shù)f也表示一種狀態(tài)之間的轉(zhuǎn)向關(guān)系,例如,f (pre) = next,是在比較失配的情況下使用的轉(zhuǎn)換關(guān)系;輸出函數(shù)output表示狀態(tài)和模式字符串之間的一種關(guān)系,例如,output⑴={P},表示當(dāng)狀態(tài)機(jī)到達(dá)狀態(tài)i時(shí),模式字符串集合{P}中的所有模式字符串可能已經(jīng)完成匹配。AC算法存在的優(yōu)點(diǎn)是,時(shí)間復(fù)雜度為O (η),并且簡明、高效、通用性強(qiáng),因此被廣泛使用。但是,現(xiàn)有技術(shù)的AC算法存在缺陷,AC算法僅支持完全的字符串匹配,不支持帶正則特性的多模目標(biāo)字 符串的匹配,在流量檢測及過濾過程中,會(huì)造成相似的目標(biāo)字符串的重復(fù)大量分配,從而造成內(nèi)存空間被大量占用,影響工作效率,甚至造成系統(tǒng)的崩潰。

發(fā)明內(nèi)容
本發(fā)明旨在至少解決上述技術(shù)問題之一。為此,本發(fā)明的一個(gè)目的在于提出一種支持正則語法的字符串多模匹配以避免目標(biāo)字符串的重復(fù)分配及節(jié)約內(nèi)存的采用基于AC算法的正則匹配的流量過濾方法。本發(fā)明的另一目的在于提出一種采用基于AC算法的正則匹配的流量過濾裝置。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明第一方面的實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法包括以下步驟:初始化AC狀態(tài)機(jī)表;將正則模式串加入至所述AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī);將輸入的主字符串與所述正則模式串進(jìn)行匹配;如果所述輸入的主字符串與正則模式串匹配,則對所述輸入的主字符串進(jìn)行過濾。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,支持正則語法的正則字符串的多模匹配,可以避免流量檢測及過濾中目標(biāo)字符串的重復(fù)分配,從而節(jié)約了內(nèi)存空間,提高了流量過濾的效率。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明第二方面的實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置包括:初始化模塊,用于初始化AC狀態(tài)機(jī)表;創(chuàng)建模塊,用于將正則模式串加入至所述AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī);匹配模塊,用于將輸入的主字符串與所述正則模式串進(jìn)行匹配;以及過濾模塊,如果所述輸入的主字符串與正則模式串匹配,所述過濾模塊用于對所述輸入的主字符串進(jìn)行過濾。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,支持正則語法的正則字符串的多模匹配,可以避免流量檢測及過濾中目標(biāo)字符串的重復(fù)分配,從而節(jié)約了內(nèi)存空間,使用該裝置可以提高流量過濾的工作效率。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。


本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中,圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法的流程圖;圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法的流程圖;圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法的流程圖;圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖;以及圖7是根據(jù)本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為:表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。下面參考說明書附圖描述根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法。一種采用基于AC算法的正則匹配的流量過濾方法,包括以下步驟:初始化AC狀態(tài)機(jī)表;將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī);將輸入的主字符串與正則模式串進(jìn)行匹配;如果輸入的主字符串與正則模式串匹配,則對輸入的主字符串進(jìn)行過濾。圖1為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法的流程圖。如圖1所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,包括下述步驟。步驟SlOl,初始化AC狀態(tài)機(jī)表。具體地,AC狀態(tài)機(jī)表包括轉(zhuǎn)向表(goto)、失效表(fail)以及輸出表(output),分別對應(yīng)AC算法的三個(gè)函數(shù)即轉(zhuǎn)向函數(shù)、失效函數(shù)及輸出函數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,初始化過程還包括AC狀態(tài)機(jī)的內(nèi)存池的分配。步驟S102,將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī)。具體地,首先將正則模式串加入到AC狀態(tài)機(jī)表中,然后,根據(jù)正則模式串建立非確定性狀態(tài)機(jī)即完成轉(zhuǎn)向表的建立,再轉(zhuǎn)換為確定性狀態(tài)機(jī)即完成失效表的建立,最后完成AC狀態(tài)機(jī)的建立。其中,正則模式串可為包含正則語法的多模目標(biāo)字符串。在本發(fā)明的一個(gè)實(shí)施例中,正則模式串包括任意表示符號(.*),具體地,(.*)表示任意符號出現(xiàn)O次或多次,例如ab(.*)cd、abc(.*)bcd等。在本發(fā)明的另一個(gè)實(shí)施例中,正則模式串還可包括開始符號~和截止符號$,例如~ab$等。步驟S103,將輸入的主字符串與正則模式串進(jìn)行匹配。具體地,將輸入的主字符串與正則模式串匹配之后,獲得匹配結(jié)果,然后釋放AC狀態(tài)機(jī),并將分配的內(nèi)存池回收,以釋放內(nèi)存空間。由此節(jié)約內(nèi)存空間。步驟S104,如果輸入的主字符串與正則模式串匹配,則對輸入的主字符串進(jìn)行過濾。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,支持正則語法的正則字符串的多模匹配,可以避免流量檢測及過濾中目標(biāo)字符串的重復(fù)分配,從而節(jié)約了內(nèi)存空間,提高了流量過濾的效率。圖2為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法的流程圖。如圖2所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,包括下述步驟。步驟S201,初始化AC狀態(tài)機(jī)表。具體地,AC狀態(tài)機(jī)表包括轉(zhuǎn)向表(goto)、失效表(fail)以及輸出表(output),分別對應(yīng)AC算法的三個(gè)函數(shù)即轉(zhuǎn)向函數(shù)、失效函數(shù)及輸出函數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,初始化過程還包括AC狀態(tài)機(jī)的內(nèi)存池的分配。步驟S202,將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī)。具體地,首先將正則模式串加入到AC狀態(tài)機(jī)表中,然后,根據(jù)正則模式串建立非確定性狀態(tài)機(jī)即完成轉(zhuǎn)向表的建立,再轉(zhuǎn)換為確定性狀態(tài)機(jī)即完成失效表的建立,最后完成AC狀態(tài)機(jī)的建立。其中,正則模式串可為包含正則語法的多模目標(biāo)字符串。在本發(fā)明的一個(gè)實(shí)施例中,正則模式串包括任意表示符號(.*),具體地,(.*)表示任意符號出現(xiàn)O次或多次,例如ab(.*)cd、abc(.*)bcd等。在本發(fā)明的另一個(gè)實(shí)施例中,正則模式串還可包括開始符號~和截止符號$,例如~ab$等。步驟S203,根據(jù)任意表示符號對正則模式串進(jìn)行劃分以生成正則模式串對應(yīng)的多個(gè)子串。例如:給定正則模式串a(chǎn)b (.*) Cd,任意表示符號(.*)將正則模式串a(chǎn)b (.*) cd劃分為對應(yīng)的兩個(gè)子串a(chǎn)b和Cd。又如:給定正則模式串a(chǎn)bc(.*) bed,根據(jù)任意表示符號(.*)將正則模式串a(chǎn)bc(.*)bed劃分為對應(yīng)的兩個(gè)子串a(chǎn)bc和bed。步驟S204,將多個(gè)子串的每一個(gè)均與輸入的主字符串進(jìn)行匹配以生成匹配信息。在本發(fā)明的一個(gè)實(shí)施例中,匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。其中,子串ID中包括正則模式串ID、子串在正則模式串中出現(xiàn)的順序和正則模式串中子串的個(gè)數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,對于正則模式串中包括開始符號~和截止符號$,不必進(jìn)行子串劃分,例如~ab$,直接判斷匹配發(fā)生起始位置和匹配發(fā)生終止位置是不是主字符串的開頭和結(jié)尾,如果是,則發(fā)生匹配,否則未發(fā)生匹配。具體地,將每個(gè)劃分的字串與輸入的主字符串進(jìn)行匹配,例如,將根據(jù)正則模式串a(chǎn)b (.*) cd劃分的兩個(gè)子串a(chǎn)b和cd均與一個(gè)輸入的主字符串a(chǎn)bc進(jìn)行匹配。使用pattern的ID表示匹配信息,每個(gè)子串對應(yīng)一個(gè)pattern的ID,假設(shè)子串a(chǎn)b的pattern的ID為0x21FF,子串cd的pattern的ID為0x22FF,在此規(guī)定每個(gè)子串pattern的ID的低16相同,該相同的低16位表示模式串ID,例如OxOOFF ;每個(gè)子串的pattern的ID的16位至23位表不每個(gè)子串在I旲塊串中出現(xiàn)的順序并表不為每個(gè)子串ID,例如子串a(chǎn)b和子串cd在正則模式串a(chǎn)b (.*) Cd中出現(xiàn)的順序,子串a(chǎn)b為I出現(xiàn)在前,子串Cd為2出現(xiàn)在后,即子串a(chǎn)b的ID為1,子串Cd的ID為2 ;每個(gè)子串pattern的ID的24至31位表示正則模式串被劃分成的子串個(gè)數(shù),例如正則模式串a(chǎn)b(.*) Cd被劃分成的子串個(gè)數(shù)為2。步驟S205,根據(jù)匹配信息判斷輸入的主字符串與正則模式串是否匹配。在本發(fā)明的一個(gè)實(shí)施例中,在步驟S205之前還根據(jù)子串ID中子串在正則模式串中出現(xiàn)的順序?qū)ζヅ涞淖哟M(jìn)行去重。例如,當(dāng)匹配到達(dá)輸入的主字符串的末尾時(shí),比較所有ID的16位至23位,對16位至23位相等的子串進(jìn)行去重。去重之后,比較ID的16位至23位和24位至31位,如果去重之后的子串總數(shù)與ID的24位至31位的值相等時(shí),則正則模式串發(fā)生匹配。根據(jù)去重操作可以提高匹配的準(zhǔn)確性。在本發(fā)明的一個(gè)實(shí)施例中,將輸入的主字符串與正則模式串匹配之后,獲得匹配結(jié)果,然后釋放AC狀態(tài)機(jī),并將分配的內(nèi)存池回收,以釋放內(nèi)存空間。由此可進(jìn)一步節(jié)約內(nèi)存空間。
步驟S206,如果輸入的主字符串與正則模式串匹配,則對輸入的主字符串進(jìn)行過濾。應(yīng)當(dāng)理解,將子串按照一定的順序或者位置依次與輸入的主字符串進(jìn)行匹配時(shí),是以正則表達(dá)式所表達(dá)的方式進(jìn)行匹配,在上述例子的子串a(chǎn)b和Cd的查找過程中,是按照兩個(gè)獨(dú)立的字符串進(jìn)行查找,但與完全獨(dú)立的兩個(gè)字符串查找有所區(qū)別,子串a(chǎn)b和Cd又同屬于一個(gè)正則模式串ID,每個(gè)子串在正則模式串例如ab(.*)cd中出現(xiàn)的順序不同,并且兩者之間具有相關(guān)性。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,可對任意表示符號所表示的正則模式串進(jìn)行進(jìn)行多模匹配,并且提高了匹配的準(zhǔn)確性。圖3為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法的流程圖。如圖3所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,包括下述步驟。步驟S301,初始化AC狀態(tài)機(jī)表。具體地,初始化的AC狀態(tài)機(jī)表包括轉(zhuǎn)向表(goto)、失效表(fail)和輸出表(output),分別對應(yīng)AC算法的三個(gè)函數(shù)即轉(zhuǎn)向函數(shù)、失效函數(shù)及輸出函數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,初始化過程還包括AC狀態(tài)機(jī)的內(nèi)存分配。步驟S302,將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī)。具體地,首先將正則模式串加入到AC狀態(tài)機(jī)表中,然后,根據(jù)正則模式串建立非確定性狀態(tài)機(jī)即完成轉(zhuǎn)向表的建立,再轉(zhuǎn)換為確定性狀態(tài)機(jī)即完成失效表的建立,最后完成AC狀態(tài)機(jī)的建立。其中,正則模式串可為包含正則語法的多模目標(biāo)字符串。在本發(fā)明的一個(gè)實(shí)施例中,正則模式串包括任意表示符號(.*),具體地,(.*)表示任意符號出現(xiàn)O次或多次,例如ab(.*)cd、abc(.*)bcd等。在本發(fā)明的另一個(gè)實(shí)施例中,正則模式串還可包括開始符號~和截止符號$,例如~ab$等。步驟S303,根據(jù)任意表示符號對正則模式串進(jìn)行劃分以生成正則模式串對應(yīng)的多個(gè)子串。例如:給定正則模式串a(chǎn)b (.*) Cd,任意表示符號(.*)將正則模式串a(chǎn)b (.*) cd劃分為對應(yīng)的兩個(gè)子串a(chǎn)b和Cd。又如:給定正則模式串a(chǎn)bc(.*) bed,根據(jù)任意表示符號(.*)將正則模式串a(chǎn)bc (.*) bed劃分為對應(yīng)的兩個(gè)子串a(chǎn)bc和bed。步驟S304,將多個(gè)子串的每一個(gè)均與輸入的主字符串進(jìn)行匹配以生成匹配信息。在本發(fā)明的一個(gè)實(shí)施例中,匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。其中,子串ID中包括正則模式串ID、子串在正則模式串中出現(xiàn)的順序和正則模式串中子串的個(gè)數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,對于正則模式串中包括開始符號~和截止符號$,不必進(jìn)行子串劃分,例如~ab$,直接判斷匹配發(fā)生起始位置和匹配發(fā)生終止位置是不是主字符串的開頭和結(jié)尾,如果是,則發(fā)生匹配,否則未發(fā)生匹配。具體地,將每個(gè)劃分的字串與輸入的主字符串進(jìn)行匹配,例如,將根據(jù)正則模式串a(chǎn)b (.*) cd劃分的兩個(gè)子串a(chǎn)b和cd均與一個(gè)輸入的主字符串a(chǎn)bc進(jìn)行匹配。使用pattern的ID表示匹配信息,每個(gè)子串對應(yīng)一個(gè)pattern的ID,假設(shè)子串a(chǎn)b的pattern的ID為0x21FF,子串cd的pattern的ID為0x22FF,在此規(guī)定每個(gè)子串pattern的ID的低16相同,該相同的低16位表示模式串ID,例如OxOOFF ;每個(gè)子串的pattern的ID的16位至23位表不每個(gè)子串在I旲塊串中出現(xiàn)的順序并表不為每個(gè)子串ID,例如子串a(chǎn)b和子串cd在正則模式串a(chǎn)b(.*) Cd中出現(xiàn)的順序,子串a(chǎn)b為I出現(xiàn)在前,子串Cd為2出現(xiàn)在后,即子串a(chǎn)b的ID為1,子串Cd的ID為2 ;每個(gè)子串pattern的ID的24至31位表示正則模式串被劃分成的子串個(gè)數(shù),例如正則模式串a(chǎn)b(.*) Cd被劃分成的子串個(gè)數(shù)為2。步驟S305,記錄匹配的子串及對應(yīng)的匹配信息。具體地,在每個(gè)劃分的字串與輸入的主字符串的匹配過程中同時(shí)記錄匹配的子串及對應(yīng)的匹配信息。在本發(fā)明的一個(gè)實(shí)施例中,在記錄匹配的子串及對應(yīng)的匹配信息之前還根據(jù)子串ID中子串在正則模式串中出現(xiàn)的順序?qū)ζヅ涞淖哟M(jìn)行去重。例如,當(dāng)匹配到達(dá)輸入的主字符串的末尾時(shí),比較所有ID的16位至23位,對16位至23位相等的子串進(jìn)行去重。根據(jù)去重操作可以提高匹配的準(zhǔn)確性。步驟S306,根據(jù)匹配信息對匹配的子串進(jìn)行排序。例如,可以依據(jù)模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置對匹配的子串進(jìn)行排序。步驟S307,判斷輸入的主字符串是否包含正則模式串的全部子串。步驟S308,如果包含正則模式串的全部子串,則進(jìn)一步判斷排序后相鄰兩個(gè)子串中在后子串的匹配發(fā)生起始位置大于在先子串的匹配發(fā)生終止位置。如果輸入的主字符串未包含正則模式串的全部子串,則判斷輸入的主字符串與正則模式串不匹配,轉(zhuǎn)入步驟S311。由此,可以進(jìn)一步提高匹配的準(zhǔn)確性,例如,給定正則模式串a(chǎn)bc(.*)bcd對輸入的主字符串a(chǎn)bed進(jìn)行匹配,如果沒有該步驟則會(huì)得出匹配結(jié)果,實(shí)際沒有發(fā)生匹配,輸入的主字符串a(chǎn)bed可以分別匹配子串a(chǎn)bc和子串bed,并且先匹配子串a(chǎn)bc,后匹配子串bed,但是匹配發(fā)生了重疊,這時(shí),根據(jù)匹配發(fā)生起始位置和匹配發(fā)生終止位置可以得出正確的匹配結(jié)果,如子串a(chǎn)bc發(fā)生匹配時(shí),匹配發(fā)生起始位置和匹配發(fā)生終止位置記為[1,3],子串bed發(fā)生匹配時(shí),匹配發(fā)生起始位置和匹配發(fā)生終止位置記為[2,4],此時(shí)后子串bed的匹配發(fā)生起始位置小于在先子串a(chǎn)bc的匹配發(fā)生終止位置,匹配未成功。步驟S309,如果判斷大于,則判斷輸入的主字符串與正則模式串匹配。具體地,排序后相鄰兩個(gè)子串中在后子串的匹配發(fā)生起始位置大于在先子串的匹配發(fā)生終止位置,則由此判斷輸入的主字符串與正則模式串匹配。如果排序后相鄰兩個(gè)子串中在后子串的匹配發(fā)生起始位置不大于在先子串的匹配發(fā)生終止位置,則判斷輸入的主字符串與正則模式串不匹配,轉(zhuǎn)入步驟S311。步驟S310,對輸入的主字符串進(jìn)行過濾。具體地,根據(jù)步驟S309的判斷結(jié)果,如果輸入的主字符串與正則模式串匹配,則對輸入的主字符串進(jìn)行過濾。步驟S311,輸入的主字符串與正則模式串不匹配。具體地,當(dāng)輸入的主字符串與正則模式串不匹配時(shí),不對輸入的主字符串進(jìn)行過濾。此時(shí),釋放AC狀態(tài)機(jī),并將分配的內(nèi)存池回收,以釋放內(nèi)存空間。應(yīng)當(dāng)理解,將子串按照一定的順序或者位置依次與輸入的主字符串進(jìn)行匹配時(shí),是以正則表達(dá)式所表達(dá)的方式進(jìn)行匹配,在上述例子的子串a(chǎn)b和Cd的查找過程中,是按照兩個(gè)獨(dú)立的字符串進(jìn)行查找,但與完全獨(dú)立的兩個(gè)字符串查找有所區(qū)別,子串a(chǎn)b和Cd又同屬于一個(gè)正則模式串ID,每個(gè)子串在正則模式串例如ab(.*)cd中出現(xiàn)的順序不同,并且兩者之間具有相關(guān)性。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法,進(jìn)一步提高匹配的準(zhǔn)確性。下面參考說明書附圖描述根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置。一種采用基于AC算法的正則匹配的流量過濾裝置,包括:初始化模塊,用于初始化AC狀態(tài)機(jī)表。創(chuàng)建模塊,用于將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī)。匹配模塊,用于將輸入的主字符串與正則模式串進(jìn)行匹配。過濾模塊,如果輸入的主字符串與正則模式串匹配,過濾模塊用于對輸入的主字符串進(jìn)行過濾。圖4為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖。如圖4所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,包括初始化模塊100、創(chuàng)建模塊200、匹配模塊300和過濾模塊400。具體地,初始化模塊100用于初始化AC狀態(tài)機(jī)表。其中,AC狀態(tài)機(jī)表包括轉(zhuǎn)向表(goto)、失效表(fail)以及輸出表(output),分別對應(yīng)AC算法的三個(gè)函數(shù)即轉(zhuǎn)向函數(shù)、失效函數(shù)及輸出函數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,初始化過程還包括AC狀態(tài)機(jī)的內(nèi)存池的分配。創(chuàng)建模塊200用于將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī)。具體地,首先將正則模式串加入到AC狀態(tài)機(jī)表中,然后,根據(jù)正則模式串建立非確定性狀態(tài)機(jī)即完成轉(zhuǎn)向表的建立,再轉(zhuǎn)換為確定性狀態(tài)機(jī)即完成失效表的建立,最后完成AC狀態(tài)機(jī)的建立。其中,正則模式串可為包含正則語法的多模目標(biāo)字符串。在本發(fā)明的一個(gè)實(shí)施例中,正則模式串包括任意表示符號(.*),具體地,(.*)表示任意符號出現(xiàn)O次或多次,例如ab(.*)cd、abc(.*)bcd等。在本發(fā)明的另一個(gè)實(shí)施例中,正則模式串還可包括開始符號~和截止符號$,例如~ab$等。匹配模塊300用于將輸入的主字符串與正則模式串進(jìn)行匹配。其中,在本發(fā)明的一個(gè)實(shí)施例中,通過匹配模塊300將輸入的主字符串與正則模式串匹配之后,獲得匹配結(jié)果,然后釋放AC狀態(tài)機(jī),并將分配的內(nèi)存池回收,以釋放內(nèi)存空間。由此可節(jié)約內(nèi)存空間。根據(jù)匹配模塊300的匹配結(jié)果,如果輸入的主字符串與正則模式串匹配,過濾模塊400用于對輸入的主字符串進(jìn)行過濾。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,支持正則語法的正則字符串的多模匹配,可以避免流量檢測及過濾中目標(biāo)字符串的重復(fù)分配,從而節(jié)約了內(nèi)存空間,使用該裝置可以提高流量過濾的工作效率。圖5為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖。如圖5所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,包括初始化模塊100、創(chuàng)建模塊200、子串劃分單元310、匹配信息生成單元320、匹配單元330和過濾模塊400。在本發(fā)明的一個(gè)實(shí)施例中,匹配模塊300包括子串劃分單元310、匹配信息生成單元320和匹配單元330。具體地,子串劃分單元310用于根據(jù)任意表示符號對正則模式串進(jìn)行劃分以生成正則模式串對應(yīng)的多個(gè)子串。例如:給定正則模式串a(chǎn)b(.*) Cd,任意表示符號(.*)將正則模式串a(chǎn)b (.*) cd劃分為對應(yīng)的兩個(gè)子串a(chǎn)b和cd。又如:給定正則模式串a(chǎn)bc(.*)bcd,根據(jù)任意表示符號(.*)將正則模式串a(chǎn)bc(.*)bed劃分為對應(yīng)的兩個(gè)子串a(chǎn)bc和bed。匹配信息生成單元320用于將多個(gè)子串的每一個(gè)均與輸入的主字符串進(jìn)行匹配以生成匹配信息。在本發(fā)明的一個(gè)實(shí)施例中,匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。其中,子串ID中包括正則模式串ID、子串在正則模式串中出現(xiàn)的順序和正則模式串中子串的個(gè)數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,對于正則模式串中包括開始符號~和截止符號$,不必根據(jù)子串劃分單元310進(jìn)行子串劃分,例如~ab$,直接根據(jù)匹配模塊300判斷匹配發(fā)生起始位置和匹配發(fā)生終止位置是不是主字符串的開頭和結(jié)尾,如果是,則發(fā)生匹配,否則未發(fā)生匹配。具體地,將每個(gè)劃分的字串與輸入的主字符串進(jìn)行匹配,例如,將根據(jù)正則模式串a(chǎn)b (.*) cd劃分的兩個(gè)子串a(chǎn)b和cd均與一個(gè)輸入的主字符串a(chǎn)bc進(jìn)行匹配。使用pattern的ID表示匹配信息,每個(gè)子串對應(yīng)一個(gè)pattern的ID,假設(shè)子串a(chǎn)b的pattern的ID為0x21FF,子串cd的pattern的ID為0x22FF,在此規(guī)定每個(gè)子串pattern的ID的低16相同,該相同的低16位表示模式串ID,例如OxOOFF ;每個(gè)子串的pattern的ID的16位至23位表不每個(gè)子串在I旲塊串中出現(xiàn)的順序并表不為每個(gè)子串ID,例如子串a(chǎn)b和子串cd在正則模式串a(chǎn)b (.*) Cd中出現(xiàn)的順序,子串a(chǎn)b為I出現(xiàn)在前,子串Cd為2出現(xiàn)在后,即子串a(chǎn)b的ID為1,子串Cd的ID為2 ;每個(gè)子串pattern的ID的24至31位表示正則模式串被劃分成的子串個(gè)數(shù),例如正則模式串a(chǎn)b(.*) Cd被劃分成的子串個(gè)數(shù)為2。匹配單元330用于根據(jù)匹配信息判斷輸入的主字符串與正則模式串是否匹配。例如,當(dāng)匹配到達(dá)輸入的主字符串的末尾時(shí),比較ID的16位至23位和24位至31位,當(dāng)子串總數(shù)與ID的24位至31位的值相等時(shí),則正則模式串發(fā)生匹配。應(yīng)當(dāng)理解,將子串按照一定的順序或者位置依次與輸入的主字符串進(jìn)行匹配時(shí),是以正則表達(dá)式所表達(dá)的方式進(jìn)行匹配,在上述例子的子串a(chǎn)b和Cd的查找過程中,是按照兩個(gè)獨(dú)立的字符串進(jìn)行查找,但與完全獨(dú)立的兩個(gè)字符串查找有所區(qū)別,子串a(chǎn)b和Cd又同屬于一個(gè)正則模式串ID,每個(gè)子串在正則模式串例如ab(.*)cd中出現(xiàn)的順序不同,并且兩者之間具有相關(guān)性。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,可對任意表示符號所表示的正則模式串進(jìn)行進(jìn)行多模匹配。圖6為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖。如圖6所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,包括初始化模塊100、創(chuàng)建模塊200、子串劃分單元310、匹配信息生成單元320、匹配單元
330、去重單元340和過濾模塊400。在本發(fā)明的一個(gè)實(shí)施例中,匹配模塊300包括子串劃分單元310、匹配信息生成單元320、匹配單元330和去重單元340。在本發(fā)明的一個(gè)實(shí)施例中,匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。其中,子串ID中包括正則模式串ID、子串在正則模式串中出現(xiàn)的順序和正則模式串中子串的個(gè)數(shù)。去重單元340用于根據(jù)子串ID中子串在正則模式串中出現(xiàn)的順序?qū)ζヅ涞淖哟M(jìn)行去重。例如,當(dāng)匹配到達(dá)輸入的主字符串的末尾時(shí),比較所有ID的16位至23位,對16位至23位相等的子串進(jìn)行去重。去重之后,比較ID的16位至23位和24位至31位,如果去重之后的子串總數(shù)與ID的24位至31位的值相等時(shí),則正則模式串發(fā)生匹配。根據(jù)去重操作可以提高匹配的準(zhǔn)確性。應(yīng)當(dāng)理解,將子串按照一定的順序或者位置依次與輸入的主字符串進(jìn)行匹配時(shí),是以正則表達(dá)式所表達(dá)的方式進(jìn)行匹配,在上述例子的子串a(chǎn)b和Cd的查找過程中,是按照兩個(gè)獨(dú)立的字符串進(jìn)行查找,但與完全獨(dú)立的兩個(gè)字符串查找有所區(qū)別,子串a(chǎn)b和Cd又同屬于一個(gè)正則模式串ID,每個(gè)子串在正則模式串例如ab(.*)cd中出現(xiàn)的順序不同,并且兩者之間具有相關(guān)性。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,通過增加的去重單元可以提高匹配的準(zhǔn)確性。圖7為本發(fā)明一個(gè)實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置的結(jié)構(gòu)框圖。如圖7所示,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,包括初始化模塊100、創(chuàng)建模塊200、子串劃分單元310、匹配信息生成單元320、記錄子單元
331、排序子單元332、第一判斷子單元333、第二判斷子單元334、匹配確定子單元335、去重單元340和過濾模塊400。在本發(fā)明的一個(gè)實(shí)施例中,匹配單元330包括記錄子單元331、排序子單元332、第一判斷子單元333、第二判斷子單元334和匹配確定子單元335。在本發(fā)明的一個(gè)實(shí)施例中,匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。其中,子串ID中包括正則模式串ID、子串在正則模式串中出現(xiàn)的順序和正則模式串中子串的個(gè)數(shù)。記錄子單元331用于記錄匹配的子串及對應(yīng)的匹配信息。具體地,在每個(gè)劃分的字串與輸入的主字符串的匹配過程中同時(shí)記錄匹配的子串及對應(yīng)的匹配信息。排序子單元332用于根據(jù)匹配信息對匹配的子串進(jìn)行排序。例如,可以依據(jù)模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置對匹配的子串進(jìn)行排序。第一判斷子單元333用于判斷輸入的主字符串是否包含正則模式串的全部子串。第二判斷子單元334根據(jù)第一判斷子單元333的判斷結(jié)果,如果包含正則模式串的全部子串,第二判斷子單元334用于進(jìn)一步判斷排序后相鄰兩個(gè)子串中在后子串的匹配發(fā)生起始位置大于在先子串的匹配發(fā)生終止位置。根據(jù)第二判斷子單元334可以進(jìn)一步提高匹配的準(zhǔn)確性,例如,給定正則模式串a(chǎn)bc(.*)bed對輸入的主字符串a(chǎn)bed進(jìn)行匹配,如果沒有該步驟則會(huì)得出匹配結(jié)果,實(shí)際沒有發(fā)生匹配,輸入的主字符串a(chǎn)bed可以分別匹配子串a(chǎn)bc和子串bed,并且先匹配子串a(chǎn)bc,后匹配子串bed,但是匹配發(fā)生了重疊,這時(shí),根據(jù)匹配發(fā)生起始位置和匹配發(fā)生終止位置可以得出正確的匹配結(jié)果,如子串a(chǎn)bc發(fā)生匹配時(shí),匹配發(fā)生起始位置和匹配發(fā)生終止位置記為[1,3],子串bed發(fā)生匹配時(shí),匹配發(fā)生起始位置和匹配發(fā)生終止位置記為[2,4],此時(shí)后子串bed的匹配發(fā)生起始位置小于在先子串a(chǎn)bc的匹配發(fā)生終止位置,匹配未成功。匹配確定子單元335根據(jù)第二判斷子單元334的判斷結(jié)果,如果判斷大于,匹配確定子單元335判斷輸入的主字符串與所述正則模式串匹配。應(yīng)當(dāng)理解,將子串按照一定的順序或者位置依次與輸入的主字符串進(jìn)行匹配時(shí),是以正則表達(dá)式所表達(dá)的方式進(jìn)行匹配,在上述例子的子串a(chǎn)b和Cd的查找過程中,是按照兩個(gè)獨(dú)立的字符串進(jìn)行查找,但與完全獨(dú)立的兩個(gè)字符串查找有所區(qū)別,子串a(chǎn)b和Cd又同屬于一個(gè)正則模式串ID,每個(gè)子串在正則模式串例如ab(.*)cd中出現(xiàn)的順序不同,并且兩者之間具有相關(guān)性。根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾裝置,通過增加的去重單元可以提高匹配的準(zhǔn)確性。應(yīng)當(dāng)理解,根據(jù)本發(fā)明實(shí)施例的采用基于AC算法的正則匹配的流量過濾方法及裝置,不僅適用于流量過濾中,也適用于任何多模字符串匹配的任何應(yīng)用場景中。應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
權(quán)利要求
1.一種采用基于AC算法的正則匹配的流量過濾方法,其特征在于,包括以下步驟: 初始化AC狀態(tài)機(jī)表; 將正則模式串加入至所述AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī); 將輸入的主字符串與所述正則模式串進(jìn)行匹配; 如果所述輸入的主字符串與正則模式串匹配,則對所述輸入的主字符串進(jìn)行過濾。
2.如權(quán)利要求1所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,所述正則模式串包括任意表不符號。
3.如權(quán)利要求2所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,所述將輸入的主字符串與所述正則模式串進(jìn)行匹配進(jìn)一步包括: 根據(jù)所述任意表示符號對所述正則模式串進(jìn)行劃分以生成所述正則模式串對應(yīng)的多個(gè)子串; 將所述多個(gè)子串的每一個(gè)均與所述輸入的主字符串進(jìn)行匹配以生成匹配信息;以及 根據(jù)所述匹配信息判斷所述輸入的主字符串與所述正則模式串是否匹配。
4.如權(quán)利要求3所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,所述匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。
5.如權(quán)利要求4所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,其中,所述子串ID中包括所述正則模式串ID、所述子串在所述正則模式串中出現(xiàn)的順序和所述正則模式串中子串的個(gè)數(shù)。
6.如權(quán)利要求5所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,還包括: 根據(jù)所述子串ID中所述子串在所述正則模式串中出現(xiàn)的順序?qū)ζヅ涞淖哟M(jìn)行去重。
7.如權(quán)利要求4所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,所述根據(jù)匹配信息判斷所述輸入的主字符串與所述正則模式串是否匹配進(jìn)一步包括: 記錄匹配的子串及對應(yīng)的匹配信息; 根據(jù)所述匹配信息對匹配的子串進(jìn)行排序; 判斷所述輸入的主字符串是否包含所述正則模式串的全部子串; 如果包含所述正則模式串的全部子串,則進(jìn)一步判斷排序后相鄰兩個(gè)子串中在后子串的匹配發(fā)生起始位置大于在先子串的匹配發(fā)生終止位置; 如果判斷大于,則判斷所述輸入的主字符串與所述正則模式串匹配。
8.如權(quán)利要求1所述的采用基于AC算法的正則匹配的流量過濾方法,其特征在于,所述正則模式串包括開始符號和截止符號。
9.一種采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,包括: 初始化模塊,用于初始化AC狀態(tài)機(jī)表; 創(chuàng)建模塊,用于將正則模式串加入至所述AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī); 匹配模塊,用于將輸入的主字符串與所 述正則模式串進(jìn)行匹配;以及過濾模塊,如果所述輸入的主字符串與正則模式串匹配,所述過濾模塊用于對所述輸入的主字符串進(jìn)行過濾。
10.如權(quán)利要求9所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,所述正則模式串包括任意表不符號。
11.如權(quán)利要求10所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,所述匹配模塊進(jìn)一步包括: 子串劃分單元,用于根據(jù)所述任意表示符號對所述正則模式串進(jìn)行劃分以生成所述正則模式串對應(yīng)的多個(gè)子串; 匹配信息生成單元,用于將所述多個(gè)子串的每一個(gè)均與所述輸入的主字符串進(jìn)行匹配以生成匹配信息;以及 匹配單元,用于根據(jù)所述 匹配信息判斷所述輸入的主字符串與所述正則模式串是否匹配。
12.如權(quán)利要求11所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,所述匹配信息包括正則模式串ID、子串ID、匹配發(fā)生起始位置和匹配發(fā)生終止位置。
13.如權(quán)利要求12所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,其中,所述子串ID中包括所述正則模式串ID、所述子串在所述正則模式串中出現(xiàn)的順序和所述正則模式串中子串的個(gè)數(shù)。
14.如權(quán)利要求13所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,所述匹配模塊還包括去重單元,用于根據(jù)所述子串ID中所述子串在所述正則模式串中出現(xiàn)的順序?qū)ζヅ涞淖哟M(jìn)行去重。
15.如權(quán)利要求12所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,所述匹配單元進(jìn)一步包括: 記錄子單元,用于記錄匹配的子串及對應(yīng)的匹配信息; 排序子單元,用于根據(jù)所述匹配信息對匹配的子串進(jìn)行排序; 第一判斷子單元,用于判斷所述輸入的主字符串是否包含所述正則模式串的全部子串; 第二判斷子單元,根據(jù)所述第一判斷子單元的判斷結(jié)果,如果包含所述正則模式串的全部子串,所述第二判斷子單元用于進(jìn)一步判斷排序后相鄰兩個(gè)子串中在后子串的匹配發(fā)生起始位置大于在先子串的匹配發(fā)生終止位置;以及 匹配確定子單元,根據(jù)所述第二判斷子單元的判斷結(jié)果,如果判斷大于,所述匹配確定子單元判斷所述輸入的主字符串與所述正則模式串匹配。
16.如權(quán)利要求9所述的采用基于AC算法的正則匹配的流量過濾裝置,其特征在于,所述正則模式串包括開始符號和截止符號。
全文摘要
本發(fā)明提出一種采用基于AC算法的正則匹配的流量過濾方法及裝置。所述方法包括以下步驟初始化AC狀態(tài)機(jī)表;將正則模式串加入至AC狀態(tài)機(jī)表,并建立AC狀態(tài)機(jī);將輸入的主字符串與正則模式串進(jìn)行匹配;如果輸入的主字符串與正則模式串匹配,則對輸入的主字符串進(jìn)行過濾。根據(jù)本發(fā)明實(shí)施例的方法,支持正則語法的正則字符串的多模匹配,從而可以避免流量檢測及過濾中目標(biāo)字符串的重復(fù)分配,節(jié)約內(nèi)存空間,提高了流量過濾的效率。
文檔編號G06F17/30GK103186640SQ20111046036
公開日2013年7月3日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者李鵬程, 劉濤, 劉寧 申請人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
涿鹿县| 察隅县| 新沂市| 宜春市| 资中县| 神木县| 溧阳市| 鞍山市| 饶平县| 什邡市| 凌源市| 西贡区| 兴安县| 丹阳市| 皋兰县| 锦州市| 颍上县| 句容市| 武山县| 武平县| 扎囊县| 广西| 麻阳| 江口县| 临颍县| 维西| 舒兰市| 石林| 秦安县| 柯坪县| 本溪| 十堰市| 贞丰县| 民权县| 呼伦贝尔市| 寿光市| 南雄市| 岳阳县| 正宁县| 阳高县| 岢岚县|