中文引用格式: 楊嘉佳. YJJFA:一種數(shù)據(jù)驅(qū)動(dòng)的高性能正則表達(dá)式匹配算法[J]. 電子技術(shù)應(yīng)用,2026,52(4):102-107.
英文引用格式: Yang Jiajia. YJJFA: a data-driven high-performance regular expression matching algorithm[J]. Application of Electronic Technique,2026,52(4):102-107.
引言
作為大數(shù)據(jù)處理的重要技術(shù)手段之一,正則表達(dá)式(以下簡(jiǎn)稱“正則”)因其強(qiáng)大的描述表達(dá)能力,在復(fù)雜數(shù)據(jù)的掃描處理中扮演重要角色。在人工智能時(shí)代背景下,正則表達(dá)式可以用于數(shù)據(jù)數(shù)據(jù)清洗、數(shù)據(jù)檢索等應(yīng)用場(chǎng)景。此外,較為典型的應(yīng)用還包括:基于正則表達(dá)式實(shí)現(xiàn)系統(tǒng)日志的特征提取、入侵檢測(cè)系統(tǒng)配置正則表達(dá)式實(shí)現(xiàn)網(wǎng)絡(luò)流量的深度檢測(cè)預(yù)警,以及利用正則表達(dá)式進(jìn)行基因組序列數(shù)據(jù)的發(fā)現(xiàn)等。
當(dāng)前,正則表達(dá)式的主流實(shí)現(xiàn)可分為非確定型有限自動(dòng)機(jī)(Nondeterministic Finite Automata, NFA)[1]和確定型有限自動(dòng)機(jī)(Deterministic Finite Automata, DFA)兩種方式[2]。假設(shè)模式長(zhǎng)度為m,那么NFA的空間復(fù)雜度僅為線性級(jí),但最壞情況下的時(shí)間復(fù)雜度可能為指數(shù)級(jí)。而DFA通過狀態(tài)轉(zhuǎn)移保證處理一個(gè)字符只消耗一次狀態(tài)轉(zhuǎn)移,卻有可能面臨著狀態(tài)空間爆炸問題。
實(shí)際上,在大數(shù)據(jù)和人工智能時(shí)代,一次狀態(tài)轉(zhuǎn)移只消耗一個(gè)字符的性能已遠(yuǎn)無(wú)法滿足大規(guī)模數(shù)據(jù)處理的性能需求。因此,如何提高DFA的匹配性能成為了本文研究的重點(diǎn)。為提高DFA的匹配性能,本文提出一種基于可信區(qū)域的高性能正則表達(dá)式數(shù)據(jù)加速匹配算法:通過將DFA狀態(tài)轉(zhuǎn)移表劃分出最優(yōu)信任區(qū)域減少非信任列的數(shù)量,同時(shí)利用輸入字符與非信任列在指令層級(jí)的比對(duì),最大限度獲得可略過的字符數(shù),減少內(nèi)存訪問的次數(shù)。
本文詳細(xì)內(nèi)容請(qǐng)下載:
http://m.ihrv.cn/resource/share/2000007046
作者信息:
楊嘉佳
(中國(guó)電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 100083)

