亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種高效的多模式字符串匹配算法

        2014-06-02 07:49:48許家銘李曉東鍵1
        計算機(jī)工程 2014年3期
        關(guān)鍵詞:右移失配字符

        許家銘,李曉東,金 鍵1,,馬 盈

        ?

        一種高效的多模式字符串匹配算法

        許家銘1,2,3,李曉東2,金 鍵1,2,馬 盈4

        (1. 中國互聯(lián)網(wǎng)絡(luò)信息中心,北京 100190;2. 中國科學(xué)院計算機(jī)網(wǎng)絡(luò)信息中心,北京 100190;3. 中國科學(xué)院大學(xué),北京 100190;4. 東北師范大學(xué)理想信息技術(shù)研究院,長春 130117)

        在Fan-Su(FS)多模式字符串匹配算法基礎(chǔ)上,結(jié)合BM-Horspool(BMH)算法和Quick Search(QS)算法的優(yōu)點(diǎn),提出一種高效的多模式字符串匹配算法。該算法能夠充分利用本次匹配失敗和部分匹配成功的信息,一方面增加模式樹根節(jié)點(diǎn)失配的概率,提高匹配過程中失配時的跳躍距離。另一方面避免不必要的狀態(tài)轉(zhuǎn)移,實(shí)現(xiàn)不匹配時的連續(xù)跳轉(zhuǎn)。分析指出,在最好情況和平均情況下,時間復(fù)雜度均優(yōu)于ACBM算法和FS算法。實(shí)驗(yàn)結(jié)果表明,一般情況下該算法的查找時間僅為AC算法的10%~35%, ACBM算法的50%~60%,F(xiàn)S算法的70%左右,F(xiàn)SQB算法的65%左右。

        字符串匹配;多模式匹配;有限自動狀態(tài)機(jī);算法復(fù)雜度;網(wǎng)絡(luò)安全;信息檢索

        1 概述

        模式匹配算法在文本挖掘、信息檢索、模式識別、圖像處理以及網(wǎng)絡(luò)安全等領(lǐng)域中被普遍采用。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,巨大的流量承載著各種信息充斥著網(wǎng)絡(luò),如何高效地實(shí)現(xiàn)針對信息內(nèi)容的檢測過濾,成為網(wǎng)絡(luò)安全領(lǐng)域的一個關(guān)鍵問題,模式匹配算法正是內(nèi)容檢測的一項(xiàng)關(guān)鍵技術(shù)。

        經(jīng)典的單模匹配算法主要包括KMP算法[1]、Boyer- Moore(BM)算法[2]、BM-Horspool(BMH)算法[3]以及Quick- Search(QS)算法[4]。其中,KMP算法利用已匹配信息,實(shí)現(xiàn)了無回溯的比較,時間復(fù)雜度為()(和分別為文本串和模式串的長度)。BM算法是一種經(jīng)典的跳躍式匹配算法,平均情況下比KMP更快,最好情況下時間復(fù)雜度為(/)。BMH算法是對BM算法的簡化實(shí)現(xiàn)。QS算法則在BMH算法基礎(chǔ)上進(jìn)行改進(jìn),最好情況下時間復(fù)雜度為(/(+1))。

        多模式匹配是從文本串[1:]中一次查找多個模式串1,2,…,P,所有模式串構(gòu)成集合{}。其中,為{}中模式串的數(shù)目;為所有模式串長度之和;m為模式串P的長度;為最短模式串的長度;為最長模式串的長度;是字符集;是字符集大小。多模匹配的經(jīng)典算法主要包括:Aho-Corasick(AC)算法[5],ACBM算法[6],F(xiàn)S算法[7]以及FSQB算法[8]。其中,AC算法通過預(yù)處理,將多個模式串轉(zhuǎn)換為樹型有限自動狀態(tài)機(jī)(DFSA),對文本串掃描一次就可完成所有模式串匹配,匹配時間復(fù)雜度為()。ACBM算法融合了AC算法和BM算法思想,并在開源入侵檢測系統(tǒng)Snort上實(shí)現(xiàn)[9],平均情況下效率優(yōu)于AC算法,最好情況下時間復(fù)雜度為(/)。FS算法將BM算法與DFSA結(jié)合并改進(jìn),平均情況下效率優(yōu)于ACBM算法,最好情況下時間復(fù)雜度為(/)。FSQB算法則將QS算法與DFSA結(jié)合并改進(jìn),最好情況下時間復(fù)雜度為(/(1))。

        雖然ACBM算法、FS算法和FSQB算法在實(shí)際應(yīng)用中表現(xiàn)優(yōu)異,但仍未能充分利用匹配不成功的信息,導(dǎo)致跳躍距離有限,匹配效率受模式串?dāng)?shù)目影響較大。本文在FS算法的基礎(chǔ)上,汲取BMH算法和QS算法思想,并提出進(jìn)一步的改進(jìn),充分利用匹配失敗的信息,跳過更多無需比較的字符,避免無用的狀態(tài)轉(zhuǎn)移。

        2 相關(guān)算法

        2.1 BM算法

        BM算法的基本思想是從右向左進(jìn)行逆向匹配。在預(yù)處理時構(gòu)造壞字符表和好后綴表;在匹配時利用壞字符和好后綴啟發(fā)性規(guī)則,跳過盡量多的字符。算法基本流程如下:首先從0開始,將文本串的第個字符與模式串的左端對齊。然后從與的最右端字符開始匹配,若匹配則向左依次匹配下一字符,直到匹配成功或發(fā)生失配。發(fā)生失配時,根據(jù)情況將向右移動,若失配發(fā)生在的最右端字符,則使用壞字符表跳轉(zhuǎn),使字符[]與其在中出現(xiàn)的下一位置對齊;若已匹配部分子串并在[]和[]處失配,則使用好后綴表跳轉(zhuǎn),使已匹配子串與其在中出現(xiàn)的下一位置對齊。

        壞字符表記錄字符在中出現(xiàn)的最靠右位置,定義為:

        好后綴表記錄各后綴在中重復(fù)出現(xiàn)的最靠右位置,定義如下:

        2.2 BMH算法和QS算法

        2.3 FS算法

        在匹配時采用改進(jìn)的啟發(fā)規(guī)則,匹配算法描述如下[7]:

        算法1 FS多模匹配算法

        輸入文本串[1:],,,1和2函數(shù)

        輸出模式串在文本中匹配的位置

        i = minlen;

        state = 0;

        while i ≤ n do

        begin

        if goto(state, T[i]) == 0 then

        begin

        if state == 0 then

        i = i + skip1(T[i]);

        else

        i = i + skip2(state, T[i]);

        state = 0;

        end

        else

        begin

        state = goto(state, T[i]);

        if output(state) != NULL then

        print i;

        i = i–1;

        end

        end

        3 改進(jìn)的快速多模匹配算法

        3.1 壞字符規(guī)則的改進(jìn)

        在匹配過程中發(fā)生失配時,充分利用失配信息,增加模式串跳躍距離,是進(jìn)一步提高多模式匹配算法效率的關(guān)鍵。分析和實(shí)驗(yàn)表明:模式串?dāng)?shù)目很少時,壞字符規(guī)則起主要加速作用,好后綴規(guī)則優(yōu)化效果不明顯;隨著模式串?dāng)?shù)目的增加,好后綴和單個字符出現(xiàn)的概率逐漸增加,好后綴規(guī)則優(yōu)化效果逐漸增強(qiáng),壞字符規(guī)則優(yōu)化效果雖明顯減弱,但仍起主要加速作用,如圖1~圖4所示。

        圖1 查找時間隨模式串?dāng)?shù)目變化的情況

        圖2 平均比較數(shù)隨模式串?dāng)?shù)目變化的情況

        圖3 函數(shù)調(diào)用隨模式串?dāng)?shù)目變化的情況

        圖4 函數(shù)跳轉(zhuǎn)距離隨模式串?dāng)?shù)目變化的情況

        在圖1~圖4中,文本串為Reuters-21578[11],模式串選自Wordfrequency網(wǎng)站[12],模式串長度在11~15之間。

        BMH算法和QS算法僅使用壞字符規(guī)則,就獲得了很好的效果。但在失配時,BMH算法僅使用字符[]決定右移量,最大為;QS算法僅使用字符[1]決定右移量,最大為1。但隨著{}的增大,各字符在模式串尾部出現(xiàn)的概率也隨之增加,導(dǎo)致2個算法都很難達(dá)到最大的右移距離,優(yōu)化效果有限。

        本文在FS算法的基礎(chǔ)上,吸收BMH算法和QS算法思想,對壞字符規(guī)則進(jìn)行改進(jìn),使用雙字符[:1]構(gòu)造壞字符表,同時增加發(fā)現(xiàn)壞字符的概率和達(dá)到最大右移距離的概率。但只使用雙字符進(jìn)行跳轉(zhuǎn),會使最大右移距離僅為。

        具體分析如下:為保證不遺漏任何可能的匹配,固定匹配窗口大小為,當(dāng)[:1]在{}中出現(xiàn)時,最大右移距離為;當(dāng)[:1]未在{}中出現(xiàn)時,分為如下2種情況:

        (1)字符[1]未在所有模式串靠右端的第個字符中出現(xiàn)時,模式樹可向右移1個字符,使匹配窗口左端與[2]對齊,右端與[1]對齊。

        (2)字符[1]出現(xiàn)在某個模式P的最左端,且P的長度為時,模式樹僅能向右移個字符,使匹配窗口左端與[1]對齊,右端與[]對齊。

        基于以上分析,改進(jìn)的壞字符規(guī)則將使用單字符[1]和雙字符[:1]共同決定模式樹右移距離,在增加發(fā)現(xiàn)壞字符概率和達(dá)到最大右移距離概率的同時,使得最大右移距離為1,增加了失配時的平均右移距離,跳過更多無需比較的字符,進(jìn)一步減少了匹配過程中的比較次數(shù)。定義如下:

        可分為如下3種情況,其中,12=[:1]:

        (1)當(dāng)2未在模式串集合中出現(xiàn)時,模式樹可右移1,使匹配窗口左端與[2]對齊,右端與[1]對齊。

        (2)當(dāng)2出現(xiàn)在最短模式串集合的最左端時,模式樹可右移,使匹配窗口左端與[1]對齊,右端與[]對齊。

        這樣,既保證了右移過程中不會遺漏任何可能的匹配,又提高了發(fā)現(xiàn)壞字符和達(dá)到最大跳躍距離的概率,獲得了更大的跳躍距離。實(shí)際上還可同時考慮更多字符,進(jìn)一步增加跳躍距離和達(dá)到最大跳躍距離的概率。但同時考慮的字符越多,壞字符表所占空間也越大??墒褂霉<夹g(shù)對壞字符表進(jìn)行壓縮,以降低空間復(fù)雜度。

        3.2 壞前綴規(guī)則

        FS算法在某些特殊情況下,效率會迅速下降[2,7]。本文針對其中一種特殊情況進(jìn)行優(yōu)化,并結(jié)合入侵檢測系統(tǒng)中對報文內(nèi)容的匹配和過濾進(jìn)行說明。

        對URL和郵箱地址中域名[13]關(guān)鍵字的檢索和過濾,是入侵檢測系統(tǒng)的一項(xiàng)主要工作。由于域名命名空間呈倒置的樹形結(jié)構(gòu),域名字串具有從右到左的層次結(jié)構(gòu),其不同后綴的數(shù)目有限,而不同前綴和主體的數(shù)目則很大。具有類似特征的文本和模式集合,將導(dǎo)致算法在發(fā)現(xiàn)失配之前,進(jìn)行許多無用的比較;在發(fā)現(xiàn)失配之后,右移跳躍很小的距離;在匹配過程中,對同一字符重復(fù)比較多次,導(dǎo)致效率迅速下降。

        本文引入壞前綴規(guī)則,在發(fā)現(xiàn)匹配窗口[1:]內(nèi)包含長度為的壞前綴時,啟用改進(jìn)的壞字符規(guī)則,跳過更多無需比較的字符。壞前綴表標(biāo)記集合{}中,所有滿足條件的字符串為true,定義如下:

        3.3 改進(jìn)的匹配算法

        由于改進(jìn)的壞字符規(guī)則,考察了當(dāng)前匹配窗口的下一個字符[1],因此在匹配部分模式后再發(fā)生失配時,壞字符表的跳躍距離就有可能大于好后綴表的跳躍距離,此時應(yīng)選擇兩者中較大的值作為跳躍距離。另外,在發(fā)生失配并跳轉(zhuǎn)后,當(dāng)前狀態(tài)為模式樹根節(jié)點(diǎn),此時可以利用壞前綴和壞字符表進(jìn)行連續(xù)跳轉(zhuǎn),避免不必要的狀態(tài)轉(zhuǎn)移。匹配算法描述如下:

        算法2 FSA改進(jìn)的多模匹配算法

        輸入文本串[1:],,,1,2和函數(shù)

        輸出模式串在文本中匹配的位置

        i = minlen;

        state = 0;

        while !ispref(T[i–minlen+1:i–minlen+d]) || goto(state, T[i]) == 0 do

        i = i + skip1(T[i], T[i+1]);

        while i ≤ n do

        begin

        if goto(state, T[i]) == 0 then

        begin

        if state == 0 then

        i = i + skip1(T[i], T[i+1]);

        else

        begin

        t = i + state.depth;

        i = i + max{skip1(T[t], T[t +1])+ state.depth, skip2(state, T[i])};

        end

        state = 0;

        while !ispref(T[i–minlen+1:i–minlen+d])||goto (state, T[i]) == 0 do

        i = i + skip1(T[i], T[i+1]);

        end

        else

        begin

        state = goto(state, T[i]);

        if output(state) != NULL then

        print i;

        i = i – 1;

        end

        end

        示例說明:文本串[1:]為"toldsheignorehererrors",模式串集合{}為{,,,},=3,取=2。函數(shù)轉(zhuǎn)移圖如圖5所示。

        圖5 反向自動機(jī)goto函數(shù)轉(zhuǎn)移

        各個函數(shù)表如表1~表4所示。匹配過程如表5所示,其中,每一行表示在匹配過程中,當(dāng)前狀態(tài)有輸出或輸入字符失配;方括號內(nèi)為當(dāng)前匹配窗口,加粗帶下劃線字符為當(dāng)前比較字符,斜線表示無值。

        表1 output函數(shù)表

        表2 ispref函數(shù)表(d=2)

        表3 skip1函數(shù)表

        表4 skip2函數(shù)表(minlen=3)

        表5 匹配過程

        4 時間復(fù)雜度分析

        4.1 預(yù)處理階段

        4.2 匹配階段

        其中,()為匹配1個字符所花費(fèi)的代價;()為從右向左匹配到第1個字符才發(fā)生失配的概率;(,)為此時右移距離為的概率。

        其中,()意義同上;1()和2()分別為此時使用函數(shù)1和2跳轉(zhuǎn)的概率;1(,)和2(,)分別為此時調(diào)用函數(shù)1和2右移距離為的概率。

        本文算法通過改進(jìn)壞字符規(guī)則,引入壞前綴規(guī)則,提高了發(fā)現(xiàn)壞字符的概率,減少了發(fā)現(xiàn)失配所花費(fèi)的代價,并在失配時提高了使用1函數(shù)跳轉(zhuǎn)的概率1()和取較大值的概率,向右跳過更多無需比較的字符,使最大右移距離達(dá)到1。通過改進(jìn)匹配算法,在失配時避免不必要的狀態(tài)轉(zhuǎn)移,實(shí)現(xiàn)了失配時的連續(xù)跳轉(zhuǎn),在花費(fèi)相同的代價下,獲得更多的跳轉(zhuǎn)??傊?,本文算法使代價函數(shù)的分子減小分母增大。平均情況下,本文算法較ACBM算法、FS算法和FSQB算法的時間復(fù)雜度更優(yōu)。

        5 實(shí)驗(yàn)分析

        為測試本文FSA算法的性能,并與AC算法、ACBM算法、FS算法和FSQB算法進(jìn)行橫向?qū)Ρ?,選取以下6個評價指標(biāo)進(jìn)行考察:(1)查找時間。(2)文中單個字符平均比較次數(shù),即算法執(zhí)行字符比較操作總數(shù)除以文本長度。 (3)跳轉(zhuǎn)函數(shù)調(diào)用次數(shù),即分別調(diào)用函數(shù)1和2的次數(shù)。(4)跳轉(zhuǎn)函數(shù)跳躍距離,即分別調(diào)用函數(shù)1和2跳過的總字符數(shù)。(5)平均收益,即跳躍距離之和除以比較操作數(shù)之和。(6)平均代價,即發(fā)現(xiàn)失配所花的代價之和除以跳躍距離之和。

        實(shí)驗(yàn)環(huán)境如下:Windows 7操作系統(tǒng),Core i7 3.40 GHz CPU,4 GB內(nèi)存;AC算法和ACBM算法均選用開源軟件Snort中的實(shí)現(xiàn)版本,F(xiàn)S算法、FSQB算法和本文算法均采用C++語言實(shí)現(xiàn)。

        待匹配文本由路透社的Reuters-21578新聞文本數(shù)據(jù)集組成,共約28 MB。待匹配模式串集合,從Wordfrequency網(wǎng)站提供的高頻詞匯表中隨機(jī)選取。為考察模式串長度和數(shù)目對算法性能的影響,模式串按長度分為4個部分,各部分再按照串?dāng)?shù)目分為8組,各組模式串?dāng)?shù)目從10~150以20為單位遞增。

        表6顯示了不同模式串長度和數(shù)目下,F(xiàn)SA算法較其他算法都有更好的性能。

        表6 查找時間 ms

        與FS算法和FSQB算法相比,F(xiàn)SA算法在模式串較長和模式數(shù)較少時,性能改進(jìn)更多。當(dāng)模式串長度在1~5之間且模式較少時,F(xiàn)SA算法查找時間僅為AC算法的25%~50%,ACBM算法的60%左右,F(xiàn)S算法的75%左右,F(xiàn)SQB算法的60%~80%。當(dāng)模式串長度大于6時,F(xiàn)SA算法對性能的改進(jìn)更大。

        在實(shí)際應(yīng)用中,大部分模式串的長度都在6以上[7]。為比較一般情況下算法的平均性能,隨機(jī)選取長度在6以上模式串進(jìn)行實(shí)驗(yàn)測試。

        圖6中數(shù)據(jù)顯示,隨著模式串?dāng)?shù)目增加,AC算法的查找時間基本穩(wěn)定,其余算法的查找時間和平均比較操作數(shù),均呈亞線性增長,且增長速率逐漸放緩。其中,模式串長度≥6;FSA算法的查找時間是AC算法的10%~35%,ACBM算法的50%~60%,F(xiàn)S算法的70%左右,F(xiàn)SQB算法的65%左右;平均比較操作數(shù)是AC算法的10%~17%,ACBM算法的45%~50%,F(xiàn)S算法的55%左右,F(xiàn)SQB算法的65%左右。

        圖6 查找時間和平均比較操作數(shù)

        在算法執(zhí)行的過程中,比較操作和狀態(tài)轉(zhuǎn)移是十分耗時的。與FS算法和FSQB算法相比,F(xiàn)SA算法進(jìn)一步減少了比較操作和狀態(tài)轉(zhuǎn)移,進(jìn)而在性能上獲得了明顯提升,如圖7、圖8所示,其中,模式串長度≥6。

        可以看出,在模式串較少時,F(xiàn)S算法、FSQB算法和FSA算法都有較好的性能,但FSA算法平均代價更低,性能也更加穩(wěn)定。這是因?yàn)樵谀J酱^少時,模式串集合中出現(xiàn)的字符較少,F(xiàn)S算法和FSQB算法跳轉(zhuǎn)函數(shù)的值較大,發(fā)現(xiàn)壞字符的概率也較大,1函數(shù)的優(yōu)化作用十分明顯;但隨著模式串?dāng)?shù)的增加,單個字符出現(xiàn)的概率迅速升高,好后綴出現(xiàn)的概率不斷增加,跳轉(zhuǎn)函數(shù)的值和發(fā)現(xiàn)壞字符的概率則迅速減小,1函數(shù)的優(yōu)化作用明顯減弱。然而雙字符出現(xiàn)的概率,及其隨模式串?dāng)?shù)增加而增加的速率,都要比單字符小得多。因此,F(xiàn)SA算法使用改進(jìn)的壞字符和壞前綴規(guī)則,增加了調(diào)用1函數(shù)的概率,使1函數(shù)在模式串較多時仍具有較大的值,且始終起絕大部分的優(yōu)化作用,大幅減少了比較操作數(shù)。

        圖7 壞字符規(guī)則和好后綴規(guī)則優(yōu)化效果對比

        圖8 平均收益和平均代價

        6 結(jié)束語

        本文將BMH算法和QS算法與FS算法相結(jié)合,提出了一種快速的多模式匹配算法。在匹配過程中能夠盡可能多地跳過無需比較的字符,實(shí)現(xiàn)了不匹配時的連續(xù)跳轉(zhuǎn),使匹配效率大幅提高。實(shí)驗(yàn)結(jié)果表明,平均情況下本文算法有較好的性能,在各項(xiàng)評價指標(biāo)上均優(yōu)于ACBM算法、FS算法和FSQB算法,且對模式串?dāng)?shù)目的增加不敏感,性能更加穩(wěn)定。本文算法可應(yīng)用于多種領(lǐng)域,如入侵檢測、信息檢索等。后續(xù)研究工作將在提高匹配效率的基礎(chǔ)上,對算法進(jìn)行改進(jìn),以降低最壞情況下的時間復(fù)雜度。

        [1] Knuth D E, Morris J H, Pratt V R. Fast Pattern Matching in Strings[J]. SIAM Journal on Computing, 1977, 6(2): 323-350.

        [2] Boyer R S, Moore J S. A Fast String Searching Algorithm[J]. Communications of the ACM, 1977, 20(10): 762-772.

        [3] Horspool R N. Practical Fast Searching in Strings[J]. Software Practice & Experience, 1980, 10(6): 501-506.

        [4] Sunday D M. A Very Fast Substring Searching Algorithm[J]. Communications of the ACM, 1990, 33(8): 132-142.

        [5] Aho A V, Corasick M J. Efficient String Matching: An Aid to Bibliographic Search[J]. Communications of the ACM, 1975, 18(6): 333-340.

        [6] Walter B C. A String Matching Algorithm Fast on the Ave- rage[C]//Proc. of the 6th International Colloquium on Automata, Languages, and Programming. Graz, Austria: [s. n.], 1979.

        [7] Fan Jang-Jong, Su Keh-Yih. An Efficient Algorithm for Matching Multiple Patterns[J]. IEEE Transactions on Knowledge and Data Engineering, 1993, 5(2): 339-351.

        [8] 王永成, 沈 州, 許一震. 改進(jìn)的多模式匹配算法[J]. 計算機(jī)研究與發(fā)展, 2002, 39(1): 55-60.

        [9] Coit C J, Staniford S, McAlerney J. Towards Faster String Matching for Intrusion Detection or Exceeding the Speed of Snort[C]//Proc. of DARPA Information Survivability Conference. [S. l.]: IEEE Press, 2001.

        [10]Lecroq T. Experimental Results on String Matching Algorithms[J]. Software Practice & Experience, 1995, 25(7): 727-765.

        [11]Lewis D. Reuters-21578 Text Categorization Collection[EB/OL]. (1999-02-16). http://kdd.ics.uci.edu/databases/reuters21578/ reuters21578.html.

        [12] Davies M. Word Frequency and Collocates Data[EB/OL]. (2012-04-20). http://www.wordfrequency.info.

        [13] Albitz P, Liu C. DNS and BIND[M]. 5th ed. [S. l.]: O’Reilly Media, 2006.

        編輯 顧逸斐

        An Efficient Multiple Patterns String Matching Algorithm

        XU Jia-ming1,2,3, LI Xiao-dong2, JIN Jian1,2, MA Ying4

        (1. China Internet Network Information Center, Beijing 100190, China; 2. Computer Network Information Center, Chinese Academy of Sciences, Beijing 100190, China; 3. University of Chinese Academy of Sciences, Beijing 100190, China; 4. Ideal Research Institute of Information Technology, Northeast Normal University, Changchun 130117, China)

        Combined with the advantages of BM-Horspool(BMH) algorithm and Quick-Search(QS) algorithm, an effective algorithm to perform multiple patterns matching in a string is proposed on the concept of Fan-Su(FS) algorithm. To reduce the number of comparisons, and improve the efficiency of matching, the proposed algorithm skips as many characters as possible and avoids useless state transitions, by making full use of the successful and failing information during the matching. Experimental results show that the proposed algorithm can achieve more excellent performance than the ACBM algorithm and FS algorithm. The time it takes for the proposed algorithm to search a string is only 10%~35% of the AC algorithm, 50%~60% of the ACBM algorithm, 70% of the FS algorithm, and 65% of the FSQB algorithm.

        string matching; multiple patterns matching; finite state automata; algorithm complexity; network security; information retrieval

        1000-3428(2014)03-0315-07

        A

        TP301.6

        國家自然科學(xué)基金資助項(xiàng)目“多模態(tài)Web作弊間的統(tǒng)計機(jī)器學(xué)習(xí)方法研究”(61005029)。

        許家銘(1987-),男,碩士研究生,主研方向:網(wǎng)絡(luò)安全,下一代互聯(lián)網(wǎng)技術(shù);李曉東,研究員;金 鍵,高級工程師;馬 盈,碩士研究生。

        2013-01-15

        2013-03-13 E-mail:xujiaming@cnnic.cn

        10.3969/j.issn.1000-3428.2014.03.067

        猜你喜歡
        右移失配字符
        “水溶液中的離子平衡”的“不一定”
        基于無差拍電流預(yù)測控制的PMSM電感失配研究
        尋找更強(qiáng)的字符映射管理器
        華容道玩法大解密
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:50
        消失的殖民村莊和神秘字符
        太極拳養(yǎng)生八式(上)
        少林與太極(2018年8期)2018-08-26 05:53:58
        基于特征分解的方位向多通道SAR相位失配校正方法
        殘留應(yīng)變對晶格失配太陽電池設(shè)計的影響
        国产精品免费av片在线观看| 中文字幕 在线一区二区| 麻豆精品在线视频观看| 97久久国产亚洲精品超碰热| 中文字幕亚洲欧美日韩2019| 亚洲中文欧美日韩在线人| 少妇被日到高潮的视频| 大香蕉av一区二区三区| 在线观看精品视频网站| 国产成人影院一区二区| av中文字幕在线资源网| 亚洲av区,一区二区三区色婷婷| 国产精品r级最新在线观看| 国产日韩欧美在线| 日韩精品高清不卡一区二区三区| 亚洲最好看的中文字幕| 人妻精品动漫h无码网站| av无码精品一区二区乱子| 按摩偷拍一区二区三区| 国产婷婷色一区二区三区| 小sao货水好多真紧h视频| 天堂Av无码Av一区二区三区| 亚洲精品国产av日韩专区| 国产边摸边吃奶叫床视频| 99er视频| 日本熟妇免费一区二区三区| 综合亚洲伊人午夜网| 精品久久人人爽天天玩人人妻| 亚洲精品国产二区三区在线| 国产av熟女一区二区三区密桃| 国产午夜福利在线观看红一片| 久久国产精品不只是精品| 成人在线视频亚洲国产| 精品无码人妻夜人多侵犯18| 久久棈精品久久久久久噜噜| 久久AⅤ天堂Av无码AV| 精品久久综合日本久久综合网| 久久99精品九九九久久婷婷| 国产AV无码专区亚洲AV桃花庵| 永久免费看黄网站性色| 中文字幕日本人妻久久久免费 |