本站小編為你精心準備了網絡信息監控中的多模式匹配算法參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
隨著網絡技術的發展,網絡信息安全的重要性變得日益突出,現有網絡信息監控系統,在網絡協議還原和分析方面的性能比較低,達不到信息監控的需要。在網絡信息監控系統中,多模式匹配算法是解決對敏感內容過濾的最佳的選擇,然而模式匹配在整個檢測過程中需要花費大量時間,因此,模式匹配算法的性能將影響整個網絡信息監控系統的工作效率。本文在AC算法的基礎上,結合BM算法,提出快速的多模式匹配算法,在匹配中,跳過無用的字符,使用匹配中失敗的信息,實現文本串的快速匹配,減少算法的時間復雜度。
1AC算法
AC算法是多模式匹配算法,利用有限自動機把字符比較轉化為狀態轉移。首先,對模式串集合預處理,構成樹型有限狀態自動機,它包含一組狀態,每個狀態用一個數字來表示。狀態機讀取文本串中的字符,通過產生狀態轉移的方式或發送輸出來處理文本,只需掃描一次文本串就能夠找出與其匹配的模式串。
2BM算法
BM算法是一種精確字符串匹配算法。該算法將文本串和模式串的最左端對齊,然后從模式串的最后一個字符與文本串開始比較,若匹配失敗,模式串則向右滑動一段距離。
為了提高速度,利用模式匹配失敗時所在的位置和距離,增加跳躍的距離,這就是快速的多模式匹配算法———N_AC_BM算法[1]。
3.1算法的基本思想給定一個文本串要查找模式串,從最右向左對模式串進行匹配,若找到模式串尾字符,則再從右向左比較剩余字符,最后將指針跳過尾字符所對應的距離。
3.2算法詳細描述詳細算法如下。
4實驗結果分析
為了驗證本算法,選5Mbit的一個文本串,與AC算法和BM算法進行比較,測試環境為操作系統WinXP,CPU4.8GHz、內存4GB。實驗結果如表1、表2所示。通過實驗可知:本文的算法,花費時間大約是BM算法的1/5,AC算法的1/3[4]。隨著模式串長度的增加、模式串數目的增多,本文所設計的算法所花時間更少有很大的優勢。
5結束語
在網絡信息監控中模式匹配的速度是非常重要的。本文的快速的模式匹配算法———N_AC_BM算法,結合有限狀態自動機的工作原理,利用單模式匹配的BM算法和多模式匹配的AC算法優點,實現了一種快速的多模式匹配算法,N_AC_BM算法通過對匹配失效字符的判斷,減少了無效的跳轉和匹配。實驗證明,N_AC_BM算法大大提高了匹配速度,具有明顯的優勢。
作者:雷赟 呂靜 單位:江西理工大學 圖書館 江西省圖書館