[發明專利]多模式的串匹配方法和裝置在審
| 申請號: | 201810084136.3 | 申請日: | 2018-01-29 |
| 公開(公告)號: | CN108418793A | 公開(公告)日: | 2018-08-17 |
| 發明(設計)人: | 程效波;何建鋒 | 申請(專利權)人: | 西安交大捷普網絡科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 710075 陜西省*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 移動表 方法和裝置 匹配位置 串匹配 多模式 模式串 文本串 滑動 滑動窗口 自動機 末尾 匹配驗證 位移量 中窗口 字符塊 算法 創建 記錄 | ||
1.一種多模式的串匹配方法,其特征在于,包括:
抓取一組數據包,獲取該組數據包負載的最長公共子序列作為模式串,根據該模式串創建Aho-Corasick自動機;
根據模式串創建移動表,所述的移動表記錄了所述的模式串中字符塊的位移量;
若文本串的滑動窗口未滑動至所述文本串的末尾,根據所述移動表尋找可能的匹配位置,所述滑動窗口的長度至少是2;
對根據所述移動表找到的可能的匹配位置,根據所述Aho-Corasick自動機進行匹配驗證;
根據所述移動表繼續尋找下一個可能的匹配位置,直至所述滑動窗口滑動至所述文本串的末尾。
2.如權利要求1所述的方法,其特征在于,在所述的抓取一組數據包,獲取該組數據包負載的最長公共子序列作為模式串之前,還包括:
設定數據包采集時間、數量,當采集時間或者采集到數量達到設定值時,停止采集數據包。
3.如權利要求1所述的方法,其特征在于,根據所述移動表尋找可能的匹配位置包括:查找所述移動表中記錄的,位移量為0的位置,并將所述位移量為0的位置作為可能的匹配位置。
4.如權利要求1所述的方法,其特征在于,對根據所述移動表找到的可能的匹配位置,根據所述Aho-Corasick自動機進行匹配驗證包括:讀取文本串的下一個字符;若當前狀態存在一個權值為所述下一個字符的下一個狀態,則跳轉至下一個狀態;若所述下一個狀態為終結狀態,則報告字符串匹配成功。
5.一種多模式的串匹配裝置,其特征在于,包括:
自動機創建模塊,用于抓取一組數據包,獲取該組數據包負載的最長公共子序列作為模式串,根據該模式串創建Aho-Corasick自動機;
移動表創建模塊,用于根據模式串創建移動表,所述的移動表記錄了所述的模式串中字符塊的位移量;
匹配位置尋找模塊,若文本串的滑動窗口未滑動至所述文本串的末尾,根據所述移動表尋找可能的匹配位置,所述滑動窗口的長度至少是2;
匹配驗證模塊,用于根據所述移動表找到的可能的匹配位置,根據所述Aho-Corasick自動機進行匹配驗證;
判斷模塊,用于根據所述移動表繼續尋找下一個可能的匹配位置,直至所述滑動窗口滑動至所述文本串的末尾。
6.如權利要求5所述的裝置,其特征在于,所述自動機創建模塊中包括設定模塊,用于在所述的抓取一組數據包,獲取該組數據包負載的最長公共子序列作為模式串之前,設定數據包采集時間、數量,當采集時間或者采集到數量達到設定值時,停止采集數據包。
7.如權利要求5所述的裝置,其特征在于,所述匹配位置尋找模塊具體用于:查找所述移動表中記錄的,位移量為0的位置,并將所述位移量為0的位置作為可能的匹配位置。
8.如權利要求5所述的裝置,其特征在于,所述匹配驗證模塊包括:
字符讀取單元,用于讀取文本串的下一個字符;
狀態跳轉單元,用于若當前狀態存在一個權值為所述下一個字符的下一個狀態,則跳轉至下一個狀態;
報告單元,用于若所述下一個狀態為終結狀態,則報告字符串匹配成功。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交大捷普網絡科技有限公司,未經西安交大捷普網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810084136.3/1.html,轉載請聲明來源鉆瓜專利網。





