[發明專利]一種域名過濾SWM多模式匹配算法及應用在審
| 申請號: | 201610588480.7 | 申請日: | 2016-07-25 |
| 公開(公告)號: | CN107657173A | 公開(公告)日: | 2018-02-02 |
| 發明(設計)人: | 余漫游 | 申請(專利權)人: | 長沙有干貨網絡技術有限公司 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 410011 湖南省長沙市芙蓉區*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 域名 過濾 swm 模式 匹配 算法 應用 | ||
技術領域
本發明涉及多模式匹配算法領域,是一種WM算法的改進算法。
背景技術
隨著網絡技術的發展,互聯網在人們日常生活中的作用越來越大,同時掛馬網頁、詐騙網頁、色情網頁等非法網站也給正常的網絡秩序帶來了巨大的挑戰,針對這種問題的一種處理方法是在網絡的關鍵位置,如內網與外網連接的邊界,布置基于網絡的入侵檢測系統(NIDS: Network-Based Intrusion Detection System),對非法網站的域名進行過濾。
發明內容
為了解決在最短模式長度較小的情況下,WM算法性能隨著模式集規模增大而顯著降低的問題,本發明在WM算法基礎上,進一步優化跳躍機制和匹配方法,并提出了模式分集的思想,設計了一種新的多模式匹配算法-SWM(SubsetWu-Manber)算法,并將其應用在域名過濾問題中,SWM算法的處理順序即字符串掃描從左向右,對模式的匹配從后向前進行。
1、預處理過程主要工作是建立多個檢索表,具體流程如下:
1)確定模式了集分界M,將模式集合分為P1, P2兩個子集;
2)統計得到P1, P2模式子集的最小模式長度m1, m2,確定匹配子串基本長度B;
3)對于P1模式子集,按照最小模式長度m1,構建SHIFT11, HASH1, PREFIX1三個表;
4)對于P2模式子集,按照P2子集的最小模式長度m2,構建SHIFT21, SHIFT22, SHIFT23;HASH2,PREFIX2五個表
使用SHIFT23有兩個原因:一個原因是計算跳轉表索引的hash 1函數實現B個字符的hash計算,比PREFIX表的變長hash2函數運算簡單,相當于增加一次簡單的前綴確認;第二個原因是SHIFT23表是用于字符串B3的匹配確認,而B3遠離B1、B2,能夠一定程度上緩解連續相同字符串帶來的匹配沖突;
HASH1/HASH2每項包含模式鏈表指針、PREFIX1/PREFIX2表指針以及模式鏈表中最短模式長度,模式鏈表存儲經過多級匹配后hashl值相同的所有模式;PREFIXI/PREFIX2表存儲模式鏈表中每個模式按照最短模式長度計算的前綴hash(此處使用hash2函數)。
匹配從字符串的第m個字符開始,字符串的掃描從左向右;對模式的匹配是從右向左進行的,每次子串匹配的長度為B=2,設當前位置為i,則步驟如下:
1)計算Bi = ti=B+1…t這B個字符的hashl值,得到h1;
2)查SHIFT11表得到s1 1=SHIFT 1 1(h1 ),如果s 1 1 = 0,轉7);如果s 1 1>0,計算B4= ti=B+1…ti+1這B個字符的hashl值h4,查SHIFT 11表得到s14 = SHZFT11(h4),計算s1=max(sips14 +1);
3)查SHIFT21表得到s21=SHIFT 21(h1),如果s21>0,查表SHIFT21得到s24=SHIFT 21(h4),計算s2 = max(s21, s24 +1),取s= min(s1 , s2 ),根據這個值向后移動相應的長度,并轉到1);如果s21 = 0,則繼續;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于長沙有干貨網絡技術有限公司,未經長沙有干貨網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610588480.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種一次性無菌微生物培養皿空氣過濾裝置
- 下一篇:一種一次性無菌微生物培養皿





