• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于多URL規則集的HTTP數據匹配方法組成比例

    技術編號:15437406 閱讀:79 留言:0更新日期:2017-05-26 03:29
    本發明專利技術公開了一種基于多URL規則集的HTTP數據匹配方法,包括:拆分待匹配URL規則集中的每一條規則;數字化規則集,即將拆分后的每一條URL規則進行分解并數字化為若干個結點;建立用于搜索的哈希二分多鏈表,即將數字化后的每一個結點按層進行哈希存儲,對于沖突的結點采用二分存儲;根據到達的目標數據關鍵詞對目標HTTP數據進行邊數字化邊匹配處理。本發明專利技術不需要對底層硬件進行相應修改;從而使本發明專利技術具有較寬的應用范圍及較低的硬件要求;有效提升了HTTP數據流的匹配能力;有效的利用內存空間中數據結構之間可以相互轉換的特點,有效的將字符空間中的字符串匹配問題轉換成了數字空間中的數值大小比較問題。

    A HTTP data matching method based on multi URL rule set

    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這種分布具有一定規律的模式串集合則很容易發生沖突,造成性能下降,雖然減小裝載因子可以在一定程度上減少沖突,但卻又造成了空間的浪費;基于位并行的匹配方法則受限于機器字寬,其適應范圍極窄,往往只支持數十個模式串。此外,還有一些基于這些經典方法進行改進的方法,但這些方法都沒有很好的結合HTTP協議特點及字符串的數字特征,性能提升依然有限。HTTP協議即超文本傳輸協議,是人們在TCP協議基礎上提出的一種應用層協議,主要用于萬維網應用領域,目前最新版本是1999年發布的HTTP1.1版。在HTTP協議中,消息分為請求消息和響應消息兩種,大部分實際應用主要關心請求消息。在HTTP的請求消息中,方法、資源指示符及協議版本等信息被包含在消息首行中,請求消息中的Request-URI和Host頭域則對所請求的資源進行精確定位。由于HTTP協議具有簡捷、方便等特點,在各種媒體資源的表達與傳輸方面具有較大優勢,因此在提出后得到了極大的發展。近年來,隨著網絡數據流量的逐年遞增,各領域對數據匹配速度要求越來越高,甚至要求基于多URL規則集的數據匹配方法在數萬條甚至數百萬條規則下達到數10Gbps的HTTP數據流量處理能力。面對這種快速發展的需求,利用現有的多模式匹配方法進行URL規則集匹配已不能滿足工程應用需求(處理速度慢,導致系統吞吐性能降低。比如在WEB服務器的負載均衡和防火墻黑白名單管理方面,較慢的算法會導致服務器處理能力降低,從而使用戶訪問速度變慢),HTTP數據報文匹配速度過慢。如何結合HTTP協議的基本特點和字符串的數字特征,快速地進行URL規則集與HTTP目標數據流的匹配,是本領域技術人員亟需解決的技術問題。綜上所述,現有的多模式匹配方法進行URL規則集匹配存在處理速度慢,導致系統吞吐性能降低。
    技術實現思路
    本專利技術的目的在于提供一種基于多URL規則集的HTTP數據匹配方法,旨在解決現有的多模式匹配方法進行URL規則集匹配存在處理速度慢,導致系統吞吐性能降低的問題。本專利技術是這樣實現的,一種基于多URL規則集的HTTP數據匹配方法,所述基于多URL規則集的HTTP數據匹配方法包括以下步驟:步驟一,拆分待匹配URL規則集中的每一條規則;步驟二,數字化規則集,即將拆分后的每一條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為空,則執行將每個子規則拆分。進一步,將集合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)。進一步,將集合Hd和集合Pd中數組按層進行哈希存儲,對于沖突的數據采用二分存儲,建立哈希二分多鏈表結構,具體包括以下步驟:1)新建哈希二分多鏈表表頭結點Hp和臨時指針Lp,其中Hp包含兩個域,第一個域pNext是一個指針,用于指向哈希二分多鏈表的第一個哈希表,本文檔來自技高網
    ...
    一種基于多URL規則集的HTTP數據匹配方法

    【技術保護點】
    一種基于多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

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码人妻精品丰满熟妇区| 大胆日本无码裸体日本动漫 | 国产乱人伦无无码视频试看| 亚洲AV无码一区二区一二区| AV无码精品一区二区三区宅噜噜 | 亚洲人成人无码网www国产| 亚洲AV日韩AV永久无码绿巨人| 麻豆国产精品无码视频| 中日精品无码一本二本三本| 中文无码字慕在线观看| 一本加勒比HEZYO无码资源网| 日韩免费a级毛片无码a∨| 日韩乱码人妻无码中文字幕久久| 天堂无码在线观看| 国产精品无码专区AV在线播放 | 无码人妻H动漫中文字幕| 久久久无码精品亚洲日韩按摩| 中文无码AV一区二区三区| 人妻无码精品久久亚瑟影视| 无码国产精成人午夜视频不卡| 久久久久亚洲av无码尤物| 亚洲成AV人片天堂网无码| 亚洲自偷自偷偷色无码中文| 国产在线精品无码二区二区| 无码高潮少妇毛多水多水免费| 亚洲熟妇无码av另类vr影视| 精品无码日韩一区二区三区不卡 | 无码H肉动漫在线观看| 成年无码av片在线| 亚洲无码高清在线观看 | 亚洲成av人片在线观看无码不卡| 亚洲av无码成人精品区| 伊人蕉久中文字幕无码专区| 免费无码一区二区三区蜜桃大 | 亚洲午夜无码AV毛片久久| 人妻少妇乱子伦无码专区| 亚洲午夜无码AV毛片久久| 国产亚洲情侣一区二区无码AV | 精品深夜AV无码一区二区老年| 久久久无码一区二区三区| 亚洲国产精品无码久久九九大片|