[發(fā)明專利]正則表達式的匹配方法、裝置、電子設備及存儲介質有效
| 申請?zhí)枺?/td> | 201911421987.3 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN111177491B | 公開(公告)日: | 2023-08-25 |
| 發(fā)明(設計)人: | 王彬;覃永靖;程詩堯;馬江波 | 申請(專利權)人: | 奇安信科技集團股份有限公司;奇安信網(wǎng)神信息技術(北京)股份有限公司 |
| 主分類號: | G06F16/903 | 分類號: | G06F16/903;G06F16/951;G06F16/2455 |
| 代理公司: | 北京路浩知識產(chǎn)權代理有限公司 11002 | 代理人: | 鄭朝然 |
| 地址: | 100088 北京市西城區(qū)*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 正則 表達式 匹配 方法 裝置 電子設備 存儲 介質 | ||
本發(fā)明實施例提供了一種正則表達式的匹配方法、裝置、電子設備及存儲介質,在抽取標識每一正則表達式的字符串后,將字符串劃分為定長子串。通過定長子串去過濾與待匹配字符串匹配性較好的目標正則表達式,通過目標正則表達式進一步地確定待匹配字符串是否為網(wǎng)絡攻擊數(shù)據(jù)或者病毒。由于對字符串劃分了定長子串,過濾器中只需要存儲各字符組成長度為定長子串的所有可能字符串。相比于存儲每一正則表達式完整的字符串而言,大大降低了所需的存儲空間,且定長子串的所有可能字符串所需最大存儲空間可控,能夠避免過濾器發(fā)生內存溢出錯誤。
技術領域
本發(fā)明涉及計算機技術領域,尤其是涉及一種正則表達式的匹配方法、裝置、電子設備及存儲介質。
背景技術
海量(千萬級)正則表達式匹配引擎通常采用過濾方法實現(xiàn),包含“過濾器”和“驗證器”兩大核心模塊。“過濾器”采用抽取的有效指紋構建自動機實現(xiàn),“驗證器”采用NFA-DFA正則表達式引擎實現(xiàn)。但是,現(xiàn)有的“有效指紋”提取算法,均是針對“連接”操作的關鍵子串,沒有考慮正則表達式的“或”操作,進而過濾能力較低,并且“有效指紋”長度不可控,容易發(fā)生內存溢出錯誤。
由此,在實際應用過程中,由于正則表達式的長度不可控,正則表達式匹配過程中,尤其是存在大規(guī)模的正則表達式時,過濾器中需要大量的空間存放正則表達式的“有效指紋”,容易出現(xiàn)內存溢出,發(fā)生內存溢出錯誤。
發(fā)明內容
本發(fā)明實施例提供一種正則表達式的匹配方法、裝置、電子設備及存儲介質,用以解決現(xiàn)有技術中的由于正則表達式的長度不可控,正則表達式匹配過程中,尤其是存在大規(guī)模的正則表達式時,過濾器中需要大量的空間存放正則表達式的“有效指紋”,容易出現(xiàn)內存溢出,發(fā)生內存溢出錯誤的問題。
針對以上技術問題,第一方面,本發(fā)明的實施例提供了一種正則表達式的匹配方法,包括:
抽取用于標識每一正則表達式的字符串,并將每一字符串劃分為定長子串;
獲取從網(wǎng)絡抓取的待匹配字符串,將與所述待匹配字符串相匹配的定長子串作為目標定長子串;
根據(jù)所述目標定長子串的順序和內容,確定與所述待匹配字符串相匹配的目標正則表達式,以根據(jù)目標正則表達式判定所述待匹配字符串的安全性。
第二方面,本發(fā)明的實施例提供了一種正則表達式的匹配裝置,包括:
劃分模塊,用于抽取用于標識每一正則表達式的字符串,并將每一字符串劃分為定長子串;
匹配模塊,用于獲取從網(wǎng)絡抓取的待匹配字符串,將與所述待匹配字符串相匹配的定長子串作為目標定長子串;
確定模塊,用于根據(jù)所述目標定長子串的順序和內容,確定與所述待匹配字符串相匹配的目標正則表達式,以根據(jù)目標正則表達式判定所述待匹配字符串的安全性。
第三方面,本發(fā)明的實施例提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)以上所述的正則表達式的匹配方法的步驟。
第四方面,本發(fā)明的實施例提供一種非暫態(tài)可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)以上所述的正則表達式的匹配方法的步驟。
本發(fā)明的實施例提供了一種正則表達式的匹配方法、裝置、電子設備及存儲介質,在抽取標識每一正則表達式的字符串后,將字符串劃分為定長子串。通過定長子串去過濾與待匹配字符串匹配性較好的目標正則表達式,通過目標正則表達式進一步地確定待匹配字符串是否為網(wǎng)絡攻擊數(shù)據(jù)或者病毒。由于對字符串劃分了定長子串,過濾器中只需要存儲各字符組成長度為定長子串的所有可能字符串。相比于存儲每一正則表達式完整的字符串而言,大大降低了所需的存儲空間,且定長子串的所有可能字符串所需最大存儲空間可控,能夠避免過濾器發(fā)生內存溢出錯誤。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奇安信科技集團股份有限公司;奇安信網(wǎng)神信息技術(北京)股份有限公司,未經(jīng)奇安信科技集團股份有限公司;奇安信網(wǎng)神信息技術(北京)股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911421987.3/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:多標記業(yè)務處理的方法及裝置
- 下一篇:脈管封閉裝置





