專利名稱:一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng)和方法
一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng)和方法技術(shù)領(lǐng)域
本發(fā)明屬于網(wǎng)絡(luò)安全領(lǐng)域,具體涉及一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng)和方法。
背景技術(shù):
常規(guī)文本匹配方法是在文本中搜索固定感興趣字串,但往往感興趣的字串不是固定不變的串,而是一系列形狀相近的正則特征串。另外,在常規(guī)文本匹配中,需要對(duì)感興趣的字串逐一在文本中掃描一遍,效率低下。
專利號(hào)CN200710119845. 2(—種快速內(nèi)容分析的多關(guān)鍵詞匹配方法)公開了一種快速內(nèi)容分析的多關(guān)鍵詞匹配方法。所述發(fā)明方法包括預(yù)處理階段和模式匹配階段。其中, 所述的預(yù)處理階段包括關(guān)鍵詞特征串裁剪和關(guān)鍵詞特征分片集合的構(gòu)建、基于關(guān)鍵詞特征分片集合的Bloom Filte (布隆過(guò)濾器)構(gòu)造,以及原始關(guān)鍵詞集合線性表構(gòu)造,所述關(guān)鍵詞匹配階段包括依據(jù)Bloom Filter實(shí)現(xiàn)當(dāng)前窗口中文本串不與任何關(guān)鍵詞特征分片匹配的快速判定;只在判定失敗情況下通過(guò)字符串比較操作實(shí)現(xiàn)與候選關(guān)鍵詞的精確匹配; 將文本匹配窗口連續(xù)多字節(jié)快速跳躍。本發(fā)明充分利用了待匹配文本與關(guān)鍵詞匹配成功概率異常低的特點(diǎn),可實(shí)現(xiàn)大數(shù)量關(guān)鍵詞場(chǎng)景下的高速匹配,非常適合病毒檢測(cè)等在線病毒掃描應(yīng)用。
專利號(hào)CN200610000801. 3( —種用于文本或網(wǎng)絡(luò)內(nèi)容分析的多關(guān)鍵詞匹配方法) 公開了一種用于文本或網(wǎng)絡(luò)內(nèi)容分析的多關(guān)鍵詞匹配方法,屬于文本或網(wǎng)絡(luò)內(nèi)容處理技術(shù)領(lǐng)域。首先根據(jù)待匹配的關(guān)鍵詞,建立以狀態(tài)為節(jié)點(diǎn)的有限狀態(tài)自動(dòng)機(jī),并記錄關(guān)鍵詞中的字符;根據(jù)字符對(duì)上述有限狀態(tài)自動(dòng)機(jī)進(jìn)行轉(zhuǎn)換,得到以字符為節(jié)點(diǎn)的有限狀態(tài)自動(dòng)機(jī),節(jié)點(diǎn)總數(shù)為m+1,m為上述關(guān)鍵詞中的字符數(shù);將待匹配的文本或網(wǎng)絡(luò)數(shù)據(jù)流作為以字符為節(jié)點(diǎn)的有限狀態(tài)自動(dòng)機(jī)的輸入,與關(guān)鍵詞進(jìn)行匹配。本發(fā)明方法與已有的AC方法相比,沒(méi)有引入任何附加計(jì)算。當(dāng)關(guān)鍵詞集合中所出現(xiàn)的字符數(shù)量少于最大可能字符數(shù)時(shí),可以大大降低內(nèi)存空間消耗。
目前對(duì)文本的匹配算法多采用關(guān)鍵字匹配算法,即KMP算法。但實(shí)際應(yīng)用中感興趣的不僅僅是固定不變的子串,還有一類形狀相近的正則特征串。這種場(chǎng)合下,KMP算法就不適用了。
本發(fā)明通過(guò)自動(dòng)機(jī)對(duì)任何文本進(jìn)行搜索、查詢、匹配相應(yīng)正則子串,同時(shí)利用自動(dòng)機(jī)技術(shù)對(duì)所有正則子串生成自動(dòng)機(jī),只需遍歷文本一遍,顯著提高匹配的速度,同時(shí)也提高在文本匹配中的精度。同時(shí),本發(fā)明方案還可以批量匹配一系列的文本文件。發(fā)明內(nèi)容
本發(fā)明克服現(xiàn)有技術(shù)不足,匹配處理模塊,按照不同用戶的需求進(jìn)行合適的替代。
本發(fā)明提供了一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng),其包括
l)Dfa匹配引擎,用于接收輸入文本;
2) dfa跳轉(zhuǎn)表,用于對(duì)Dfa匹配引擎接收的輸入文本進(jìn)行匹配查詢,如果匹配成功,則進(jìn)入匹配處理模塊,否則進(jìn)入下一輪的文本輸入匹配;
3)匹配處理模塊。
本發(fā)明提供的利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng),其DFA狀態(tài)機(jī)是通過(guò)將感興趣的固定串或正則特征串放置到配置文件中,然后對(duì)該配置文件編譯生成的。
本發(fā)明提供的利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng),DFA狀態(tài)機(jī)是多個(gè)不同的系列DFA狀態(tài)機(jī),其對(duì)應(yīng)于被進(jìn)行分組處理的配置文件。
本發(fā)明還提供了一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的方法,其包括
l)Dfa匹配步驟,接收輸入文本并利用dfa跳轉(zhuǎn)表對(duì)其進(jìn)行匹配查詢,如果匹配成功,則進(jìn)入匹配處理模塊,否則進(jìn)入下一輪的文本輸入匹配;
2)匹配處理步驟。
本發(fā)明提供的利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的方法,其DFA狀態(tài)機(jī)是通過(guò)將感興趣的固定串或正則特征串放置到配置文件中,然后對(duì)該配置文件編譯生成的。
本發(fā)明提供的利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的方法,其DFA狀態(tài)機(jī)是多個(gè)不同的系列DFA狀態(tài)機(jī),其對(duì)應(yīng)于被進(jìn)行分組處理的配置文件。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于通過(guò)采用該方案,可以實(shí)現(xiàn)靈活、有效、 精確的查找匹配串。同時(shí)利用該方案,還可以實(shí)現(xiàn)對(duì)相似文檔的批量匹配處理。
圖1是流程示意圖。
具體實(shí)施方式
為了解決這些問(wèn)題,本發(fā)明采用了狀態(tài)機(jī),將感興趣的固定串或正則特征串放置到一配置文件中,然后對(duì)該配置文件編譯生成DFA狀態(tài)機(jī)。這樣,只需遍歷文本文件一遍, 就能夠獲取所有匹配的精確信息。如果DFA狀態(tài)機(jī)太大,可以將該配置文件進(jìn)行分組處理, 生成一系列不同的DFA狀態(tài)機(jī)。具體實(shí)現(xiàn)方案如附圖1所示。Dfa匹配引擎接受輸入文本, 同時(shí)連接到dfa跳轉(zhuǎn)表中進(jìn)行匹配查詢。如果匹配不成功,則進(jìn)入下一輪的文本輸入匹配, 如果成功匹配,則進(jìn)入匹配處理模塊,記錄匹配的精確信息。然后再進(jìn)入下一輪的文本匹配中。
本發(fā)明通過(guò)將感興趣的固定串或正則特征串放置到一配置文件中,然后對(duì)該配置文件編譯生成DFA狀態(tài)機(jī)自動(dòng)機(jī),從而對(duì)任何文本進(jìn)行搜索、查詢、匹配相應(yīng)正則子串,顯著提高匹配的速度,同時(shí)也提高在文本匹配中的精度,此外還可以批量匹配一系列的文本文件。
以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其限制,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,所述領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行修改或者同等替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換, 其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng),其包括DDfa匹配引擎,用于接收輸入文本;2)dfa跳轉(zhuǎn)表,用于對(duì)Dfa匹配引擎接收的輸入文本進(jìn)行匹配查詢,如果匹配成功,則進(jìn)入匹配處理模塊,否則進(jìn)入下一輪的文本輸入匹配;3)匹配處理模塊。
2.權(quán)利要求1的系統(tǒng),其特征在于,其DFA狀態(tài)機(jī)是通過(guò)將感興趣的固定串或正則特征串放置到配置文件中,然后對(duì)該配置文件編譯生成的。
3.權(quán)利要求1的系統(tǒng),其特征在于,DFA狀態(tài)機(jī)是多個(gè)不同的系列DFA狀態(tài)機(jī),其對(duì)應(yīng)于被進(jìn)行分組處理的配置文件。
4.一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的方法,其包括DDfa匹配步驟,接收輸入文本并利用dfa跳轉(zhuǎn)表對(duì)其進(jìn)行匹配查詢,如果匹配成功, 則進(jìn)入匹配處理模塊,否則進(jìn)入下一輪的文本輸入匹配;2)匹配處理步驟。
5.權(quán)利要求4的方法,其特征在于,其DFA狀態(tài)機(jī)是通過(guò)將感興趣的固定串或正則特征串放置到配置文件中,然后對(duì)該配置文件編譯生成的。
6.權(quán)利要求4-5的方法,其特征在于,DFA狀態(tài)機(jī)是多個(gè)不同的系列DFA狀態(tài)機(jī),其對(duì)應(yīng)于被進(jìn)行分組處理的配置文件。
全文摘要
本發(fā)明提供一種利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng)和方法,其包括Dfa匹配引擎,用于接收輸入文本;dfa跳轉(zhuǎn)表,用于對(duì)Dfa匹配引擎接收的輸入文本進(jìn)行匹配查詢,如果匹配成功,則進(jìn)入匹配處理模塊,否則進(jìn)入下一輪的文本輸入匹配;匹配處理模塊。本發(fā)明提供的利用自動(dòng)機(jī)實(shí)現(xiàn)文本精確匹配的系統(tǒng)和方法,通過(guò)自動(dòng)機(jī)對(duì)任何文本進(jìn)行搜索、查詢、匹配相應(yīng)正則子串,同時(shí)利用自動(dòng)機(jī)技術(shù)對(duì)所有正則子串生成自動(dòng)機(jī),只需遍歷文本一遍,顯著提高匹配的速度,同時(shí)也提高在文本匹配中的精度。同時(shí),本發(fā)明方案還可以批量匹配一系列的文本文件。
文檔編號(hào)G06F17/30GK102521357SQ20111041522
公開日2012年6月27日 申請(qǐng)日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者劉朝輝, 劉燦, 姬乃軍, 張英文, 李鋒偉, 邵宗有 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司