[發明專利]一種基于DFA的協議解析方法有效
| 申請號: | 201310102083.0 | 申請日: | 2013-03-27 |
| 公開(公告)號: | CN103188267A | 公開(公告)日: | 2013-07-03 |
| 發明(設計)人: | 倪宏;李軍;陳君;李明哲 | 申請(專利權)人: | 中國科學院聲學研究所;北京中科華影傳媒技術有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 北京億騰知識產權代理事務所 11309 | 代理人: | 陳霽 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 dfa 協議 解析 方法 | ||
技術領域
本發明涉及協議解析,尤其涉及一種基于DFA的協議解析方法。
背景技術
協議是各種計算機應用中及應用間通信的方式,而協議解析成為一種特別是在網絡應用中不可或缺的技術。通訊雙方將通信內容封裝在協議中,再將協議字符串傳遞給對方。進一步,從協議字符串中解析出協議內容的速度,直接影響系統的性能。
協議解析,其本質為字符串中協議字段的查找。目前主要的方法有純軟件的協議解析、基于字符串匹配算法的協議解析和基于硬件的協議解析等。純軟件的解析方法使用操作系統中的字符串查找和比較函數,其性能非常有限?;谧址ヅ渌惴ǖ膮f議解析雖然比使用操作系統的字符串函數快很多,但還是受服務器芯片性能限制而越來越無法滿足高并發、大數據量的網絡應用需求。隨著網絡應用的快速發展,出現了基于硬件的協議解析方法,這種解析方法的性能較高。然而,基于硬件的協議解析方法存在擴展性差的缺陷,只能適用于一些預設的固定場景。
發明內容
本發明的目的是提供一種能夠克服上述缺陷的基于DFA引擎的協議解析方法。
本發明提供了一種基于DFA的協議解析方法,包括:獲取待解析協議內容中的字段名稱和字段分割符;將所述字段名稱和所述字段分割符作為模式串,根據所述模式串構建模式查找樹;將所述模式查找樹和待解析協議內容作為有限狀態自動機的輸入,利用所述DFA在待解析協議內容中對所述模式串進行匹配;以及根據匹配結果將待解析協議中的協議字段值提取出來。
優選地,所述模式查找樹的根節點不包含字符,除根節點之外的其他節點至少包含一個字符,每個節點的所有子節點包含的字符都不相同。
優選地,根據所述模式串構建模式查找樹的步驟包括:對所述模式查找樹進行優化壓縮,在優化壓縮后的模式查找樹中,除根節點之外的其他節點包含一個或多個字符。
優選地,所述模式串在所述查找樹中是從根節點到其他任一節點的路徑上的所有節點中包含的字符的順序組合。
優選地,所述模式查找樹的各個節點對應于所述DFA的各個狀態,當所述匹配中出現失配時,所述DFA狀態從所述模式查找樹中對應DFA當前狀態的節點跳轉到下一節點。
優選地,所述利用所述DFA在待解析協議內容中對所述模式串進行匹配的步驟包括:通過利用DFA在待解析協議內容中匹配所述字段名稱,得到所述字段名稱在待解析協議內容中的字段名稱位置;通過利用DFA在待解析協議內容中所述字段名稱位置開始匹配所述字段分割符,得到與所述字段名稱對應的字段分割符的位置;以及根據所述字段名稱位置及其對應的字段分割符的位置,提取出與所述字段名稱對應的協議字段值。
優選地,所述字段名稱和所述字段分割符的獲取是通過待解析協議的擴展巴克斯范式ABNF實現的。
優選地,所述模式串中包含一個或多個字段名稱和一個字段分割符。
本發明一方面使用字符串多模式匹配構建模式查找樹,另一方面使用DFA引擎,構建的模式查找樹中的各個節點作為DFA中的各個狀態,通過DFA引擎實現了字符串的快速匹配,大大提高了協議解析速度。
附圖說明
圖1是根據本發明實施例的基于DFA的協議解析方法的流程圖;
圖2是根據本發明實施例的模式查找樹的示意圖;
圖3是根據本發明實施例的模式查找樹在壓縮后的示意圖;
圖4是根據本發明實施例的基于DFA的匹配示意圖;以及
圖5是根據本發明實施例的根據匹配位置獲取字段值的示意圖。
具體實施方式
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
本發明提出了一種使用DFA引擎的協議快速解析方法,首先根據待解析協格式中的模式串構建模式匹配查找樹,將查找樹的各個節點作為DFA狀態機的不同狀態,使用DFA引擎對原始文本進行快速匹配查找,找到協議中相應的模式串后給出協議內容的定位信息,進一步可解析得到相應的協議內容。本發明通過將多模式匹配與DFA引擎相結合,大大提高了協議解析速度。
圖1是根據本發明實施例的基于DFA的協議解析方法的流程圖。
在步驟101,獲取待解析協議中的字段名稱和字段分割符。
在接收到待解析協議內容后,可根據待解析協議的擴展巴克斯范式(Angmented?Backus?Naur?Form,ABNF)等格式得到待解析協議中的各個字段名稱和字段分割符。
在步驟102,形成待查找模式串。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院聲學研究所;北京中科華影傳媒技術有限公司,未經中國科學院聲學研究所;北京中科華影傳媒技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310102083.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:散熱方法和計算機
- 下一篇:一種軌道式巡檢機器人的精確定位方法





