The invention discloses a matching method, HTTP data set based on URL rules include: resolution matching each rule URL rule set; digital rule sets, decomposition and digital into a number of nodes will split after each URL rule is used to search the building; two more Hash list is each node after digitization by layer hash storage, the conflict node adopts two storage; according to the HTTP data object data keywords to edge edge matching of digital processing. The invention does not need the corresponding modification of the underlying hardware; thereby the invention has wide application range and lower hardware requirements; improve the matching ability of HTTP data stream; effective use of data structures between the memory space characteristics of mutual conversion, efficient string matching problem in character space the problem is converted into a numerical value in digital space.
【技術實現步驟摘要】
一種基于多URL規則集的HTTP數據匹配方法
本專利技術屬于數據分析
,尤其涉及一種基于多URL規則集的HTTP數據匹配方法。
技術介紹
基于URL(UniformResourceLocator,統一資源定位器)規則集的多模式字符串匹配方法被廣泛應用于防火墻、網絡流量數據分析與采集、WEB服務器負載均衡、WEB黑白名單、郵件分類及垃圾郵件檢測、入侵檢測及基于URL的內容分級等領域。近年來,云計算、大數據及人工智能等計算機領域的蓬勃發展,也極大的促進了機器人領域的發展,機器人領域的研究由當初的單體機器人逐漸發展到多機器人、群機器人、網絡機器人及云機器人等領域,這些領域也開始對URL匹配或基于特定協議的字符串匹配提出了需求。所謂的基于URL的多模式字符串匹配是指在一個包含多個URL字符串的集合中,找出目標字符串或數據流能匹配到的URL字符串規則子集合。目前,多模式字符串匹配方法主要有基于自動機的匹配方法,基于散列的匹配方法和基于位并行的匹配方法等。其中,基于自動機的匹配方法往往需要消耗巨大的存儲空間,這在嵌入式系統及部分硬件資源有限的機器人或可穿戴設備中是無法被接受的,而且這類方法可能會在特定規則集下發生嚴重的性能退化現象,往往只能支持較小規模的模式串集合;基于散列的匹配方法雖然匹配速度較快,但對于URL這種分布具有一定規律的模式串集合則很容易發生沖突,造成性能下降,雖然減小裝載因子可以在一定程度上減少沖突,但卻又造成了空間的浪費;基于位并行的匹配方法則受限于機器字寬,其適應范圍極窄,往往只支持數十個模式串。此外,還有一些基于這些經典方法進行改進的方法, ...
【技術保護點】
一種基于多URL規則集的HTTP數據匹配方法,其特征在于,所述基于多URL規則集的HTTP數據匹配方法包括以下步驟:步驟一,拆分待匹配URL規則集中的每一條規則;步驟二,數字化規則集,即將拆分后的每一條URL規則進行分解并數字化為若干個結點;建立用于搜索的哈希二分多鏈表,即將數字化后的每一個結點按層進行哈希存儲,對于沖突的結點采用二分存儲;步驟三,根據到達的目標數據關鍵詞對目標HTTP數據進行邊數字化邊匹配處理。
【技術特征摘要】
1.一種基于多URL規則集的HTTP數據匹配方法,其特征在于,所述基于多URL規則集的HTTP數據匹配方法包括以下步驟:步驟一,拆分待匹配URL規則集中的每一條規則;步驟二,數字化規則集,即將拆分后的每一條URL規則進行分解并數字化為若干個結點;建立用于搜索的哈希二分多鏈表,即將數字化后的每一個結點按層進行哈希存儲,對于沖突的結點采用二分存儲;步驟三,根據到達的目標數據關鍵詞對目標HTTP數據進行邊數字化邊匹配處理。2.如權利要求1所述的基于多URL規則集的HTTP數據匹配方法,其特征在于,將待匹配的URL規則數量為C的URL規則集中的每一條URL規則拆分為HOST和PATH兩部分,分別存入HOST集合H和PATH集合P;具體包括以下步驟:(1)設定初始URL集合U、HOST集合H、PATH集合P和循環計數標識i,將規則集中的URL按規則序號依次存入集合U中,將i置為1,并將集合H和集合P置空;(2)從集合U中取出第i條URL;(3)判斷第i條URL字符串是否含有“/”字符:如果有“/”字符,則將第一個“/”字符之前的部分存入集合H的第i個位置,將“/”及之后的部分存入集合P的第i個位置;如果沒有“/”字符,則將整條URL存入集合H的第i個位置,將“/”字符存入集合P的第i個位置;子規則加入集合時,所有字符按照URL中同樣的順序加入,以保證規則順序;(4)從集合U中刪除第i條URL,判定集合U是否為空,若不為空,則令i=i+1,轉步驟(2),若集合U為空,則執行將每個子規則拆分。3.如權利要求1所述的基于多URL規則集的HTTP數據匹配方法,其特征在于,將集合H和集合P中的每個子規則拆分為若干小段,每個小段長度為一個機器字長,并將每個小段轉換為一個正整數,分別存入HOST數字化集合Hd和PATH數字化集合Pd中的數組中,集合H中的每個子規則對應集合Hd中的一個數組,集合P中的每個子規則對應集合Pd中的一個數組;具體步驟包括:(1)用宿主機機器字長除以8,計算出用于規則分割的計數值n;(2)設定初始HOST數字化集合Hd、PATH數字化集合Pd、大循環計數標識i和小循環計數標識j,將集合Hd和集合Pd置空,并將i和j都置為1;(3)從集合H中取出第i條HOST規則,計算出該規則的長度LHi并進行數字化集合構建;計算LHi-(n*j-8)的值li,并判斷li的值:若li為0,轉到步驟(4);若li大于8,則取出第(n*j-7)到第n*j個字符,將這些n個字符強制轉換為1個無符號的整形數字Wj,并將Wj存入集合Hd中的第i個數組的第j個位置;若li小于8,則取出第(n*j-7)到第LHi個字符,將這些n個字符強制轉換為1個無符號的整形數字Wj,并將Wj存入集合Hd中的第i個數組的第j個位置;令j=j+1;(4)判斷i值:若i大于或等于C,令i=1,j=1,轉到步驟(5);若i小于C,令i=i+1,j=1,轉到步驟(3);(5)從集合P中取出第i條PATH規則,計算出該規則的長度LPi并進行數字化集合構建;計算LPi-(n*j-8)的值li,并判斷li的值:若li為0,轉到步驟(6);若li大于8,則取出第(n*j-7)到第n*j個字符,將這些n個字符強制轉換為1個無符號的整形數字Wj,并將Wj存入集合Pd中的第i個數組的第j個位置;若li小于8,則取出第(n*j-7)到第LPi個字符,將這些n個字符強制轉換為1個無符號的整形數字Wj,并將Wj存入集合Pd中的第i個數組的第j個位置;令j=j+1;(6)判斷i值:若i大于或等于C,轉到將集合Hd和集合Pd中數組按層進行哈希存儲;若i小于C,令i=i+1,j=1,轉到步驟(5)。4.如權利要求1所述的基于多URL規則集的HTTP數據匹配方法,其特征在于,將集合Hd和集合Pd中數組按層進行哈希存儲,對于沖突的數據采用二分存儲,建立哈希二分多鏈表結構,具體包括以下步驟:1)新建哈希二分多鏈表表頭結點Hp和臨時指針Lp,其中Hp包含兩個域,第一個域pNext是一個指針,用于指向哈希二分多鏈表的第一個哈希表,另一個域pKey是一個整數,用于記錄哈希二分多鏈表的第一個哈希表的關鍵字K;定循環計數標識i=1;2)取出Pd集合中所有數組的第1個數據,存入臨時數組Td,數組長度為Pd集合中的數組個數m;3)設定哈希關鍵字KEY=m、臨時計數j=m、平均沖突數據計數A=0、臨時沖突數據計數At=0及最大哈希探...
【專利技術屬性】
技術研發人員:譚慶平,李盼盼,曾平,徐建軍,邵則銘,孟憲凱,張南,鄧錦洲,張浩宇,仵思聰,劉鑫昊,唐國斐,謝勤政,顏穎,
申請(專利權)人:中國人民解放軍國防科學技術大學,
類型:發明
國別省市:湖南,43
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。