国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種規(guī)則匹配方法和裝置的制作方法

      文檔序號(hào):6374561閱讀:186來源:國知局

      專利名稱::一種規(guī)則匹配方法和裝置的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及網(wǎng)絡(luò)
      技術(shù)領(lǐng)域
      ,尤其涉及一種規(guī)則匹配方法和裝置。
      背景技術(shù)
      :DPI(DeepPacketInspection,深度報(bào)文包檢測)技術(shù)作為ー種網(wǎng)絡(luò)設(shè)備增強(qiáng)的過濾器,逐步將用戶管理、安全控制、精細(xì)的業(yè)務(wù)控制等能力有機(jī)地集成在一起,實(shí)現(xiàn)各類業(yè)務(wù)的動(dòng)態(tài)感知、策略控制、Qos(QualityofService,服務(wù)質(zhì)量)保障,以及網(wǎng)絡(luò)與業(yè)務(wù)的安全保障等功能,降低運(yùn)營商的資本性支出與運(yùn)營支出,為運(yùn)營商提供一個(gè)電信業(yè)務(wù)的基礎(chǔ)運(yùn)營平臺(tái)。DPI技術(shù)基本原理包括檢測報(bào)文中高層協(xié)議(如應(yīng)用層)中的ー些特征字符,然后與狀態(tài)機(jī)(由規(guī)則編譯而成)進(jìn)行匹配,判斷檢測得到特征字符是預(yù)定的ー些關(guān)鍵字,井根據(jù)判斷結(jié)果進(jìn)行相應(yīng)的處理。DPI技術(shù)可以基于軟件或硬件實(shí)現(xiàn),軟件相對比較靈活,但性能較差(如速度慢、支持規(guī)則數(shù)量少)。在實(shí)際應(yīng)用中,為了提升性能,現(xiàn)有技術(shù)一般都使用硬件來實(shí)現(xiàn),如使用FPGA(Field-ProgrammableGrateArray,現(xiàn)場可編程門陣列)來實(shí)現(xiàn),但為了讓產(chǎn)品取得更好的性能提升,找到ー種更好的方法來提升性能一直是業(yè)界需要解決的問題。
      發(fā)明內(nèi)容本發(fā)明的實(shí)施例提供一種規(guī)則匹配方法和裝置,用于解決現(xiàn)有技術(shù)存在著的基于DPI技術(shù)的產(chǎn)品的性能仍然有待提升的問題。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種規(guī)則匹配方法,包括接收報(bào)文;檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的一個(gè)規(guī)則組的分類特性,所述多個(gè)規(guī)則組中的每個(gè)規(guī)則組由一條或多條規(guī)則按預(yù)定的分類特性劃分后得到,每個(gè)所述規(guī)則組編譯后對應(yīng)ー個(gè)狀態(tài)機(jī),所述狀態(tài)機(jī)用于對所述報(bào)文進(jìn)行匹配,其中,匹配時(shí)常用的狀態(tài)機(jī)存儲(chǔ)在讀寫速度較快的片內(nèi)存儲(chǔ)器當(dāng)中,其他狀態(tài)機(jī)存儲(chǔ)在讀寫速度較慢的片外存儲(chǔ)器當(dāng)中;當(dāng)檢測得到的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性吋,將所述ー個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有所述第一狀態(tài)機(jī)時(shí),將所述第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果。一種規(guī)則匹配裝置,包括接收單元,用于接收報(bào)文;檢測單元,檢測所述接收単元接收的所述報(bào)文中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組的ー個(gè)規(guī)則組的分類特性,并將檢測結(jié)果發(fā)送給匹配単元,其中,所述規(guī)則組為多個(gè),由一條或多條規(guī)則按預(yù)定的分類特性劃分后得至IJ,每個(gè)所述規(guī)則組編譯后對應(yīng)ー個(gè)狀態(tài)機(jī)以及狀態(tài)機(jī)標(biāo)識(shí),所述狀態(tài)機(jī)用于對所述報(bào)文進(jìn)行匹配,其中,匹配時(shí)常用的狀態(tài)機(jī)存儲(chǔ)在讀寫速度較快的片內(nèi)存儲(chǔ)器當(dāng)中,其他狀態(tài)機(jī)存儲(chǔ)在讀寫速度較慢的片外存儲(chǔ)器當(dāng)中;匹配単元,根據(jù)所述檢測單元發(fā)送的所述檢測結(jié)果得知當(dāng)所述檢測単元當(dāng)檢測得到的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性吋,將所述ー個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有所述第一狀態(tài)機(jī)時(shí),將所述第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果。本發(fā)明實(shí)施例提供的規(guī)則匹配方法和裝置中,對規(guī)則進(jìn)行了分組,這樣可以避免規(guī)則爆炸問題;將常用的狀態(tài)機(jī)存儲(chǔ)在片內(nèi)存儲(chǔ)器,匹配時(shí)優(yōu)先使用片內(nèi)存儲(chǔ)器中的狀態(tài)機(jī)進(jìn)行匹配,可以縮短匹配時(shí)間(片內(nèi)處理器讀寫速度快),提升產(chǎn)品性能。為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為現(xiàn)有技術(shù)中規(guī)則編譯成NFA的結(jié)構(gòu)圖;圖2為現(xiàn)有技術(shù)中規(guī)則編譯成DFA的結(jié)構(gòu)圖;圖3為本發(fā)明實(shí)施例I中一種規(guī)則匹配方法的流程圖;圖4為本發(fā)明實(shí)施例2中一種規(guī)則匹配方法中,一種對規(guī)則進(jìn)行分組的方法的流程圖;圖5為本發(fā)明實(shí)施例2中基于圖4的劃分方法對應(yīng)的檢測方法的流程圖;圖6為本發(fā)明實(shí)施例3中一種規(guī)則匹配方法中,一種對規(guī)則進(jìn)行分組的方法的流程圖;圖7為本發(fā)明實(shí)施例3中對規(guī)則進(jìn)行分組的方法中生成的規(guī)則組一的特征表示例圖;圖8為本發(fā)明實(shí)施例3中基于圖6的劃分方法對應(yīng)的檢測方法的流程圖;圖9為本發(fā)明實(shí)施例3中對規(guī)則進(jìn)行分組的方法中生成的規(guī)則組ニ的特征表示例圖;圖10為本發(fā)明實(shí)施例3中對規(guī)則進(jìn)行分組的方法中生成的規(guī)則組三的特征表示例圖;圖11為本發(fā)明實(shí)施例3中一種規(guī)則匹配方法中邏輯與運(yùn)算結(jié)果示例圖;圖12為本發(fā)明實(shí)施例4中一種規(guī)則匹配裝置的結(jié)構(gòu)圖;圖13為本發(fā)明實(shí)施例5中另ー種規(guī)則匹配裝置的結(jié)構(gòu)圖;圖14為本發(fā)明實(shí)施例6中又一種規(guī)則匹配裝置的結(jié)構(gòu)圖15為本發(fā)明實(shí)施例6中還又ー種規(guī)則匹配裝置的結(jié)構(gòu)圖;圖16為本發(fā)明實(shí)施例7中一種硬件架構(gòu)結(jié)構(gòu)圖。具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明實(shí)施例一種規(guī)則匹配方法和裝置進(jìn)行詳細(xì)描述。實(shí)施例I本發(fā)明實(shí)施例提供一種規(guī)則匹配方法,如圖3所示,該方法包括如下步驟301、接收報(bào)文;302、檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性,所述多個(gè)規(guī)則組中的每個(gè)規(guī)則組由一條或多條規(guī)則按預(yù)定的分類特性劃分后得到,每個(gè)所述規(guī)則組編譯后對應(yīng)ー個(gè)狀態(tài)機(jī),所述狀態(tài)機(jī)用于對所述報(bào)文進(jìn)行匹配,其中,匹配時(shí)常用的狀態(tài)機(jī)存儲(chǔ)在讀寫速度較快的片內(nèi)存儲(chǔ)器當(dāng)中,其他狀態(tài)機(jī)存儲(chǔ)在讀寫速度較慢的片外存儲(chǔ)器當(dāng)中;這里的片內(nèi)存儲(chǔ)器是指固化在處理芯片(如FPGA)內(nèi)部的存儲(chǔ)器,讀寫速度快,片外存儲(chǔ)器是指獨(dú)立與芯片內(nèi)部的存儲(chǔ)器(如DDRSDRAM,雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,或者flash存儲(chǔ)器),讀寫速度相對于片內(nèi)的較慢。為了取得更好的性能,本實(shí)施例優(yōu)選使用FPGA內(nèi)存的存儲(chǔ)器作為片內(nèi)存儲(chǔ)器,選用DDRSDRAM作為片外存儲(chǔ)器。如果對性能要求不高,也可以使用flash等速度相對慢一點(diǎn)的存儲(chǔ)器作為片外存儲(chǔ)器。FPGA芯片內(nèi)部的存儲(chǔ)器以及DDRSDRAM一般都是易失性存儲(chǔ)器,所以需要在上電時(shí)將存儲(chǔ)在其他存儲(chǔ)介質(zhì)中的狀態(tài)機(jī)加載到這些存儲(chǔ)器當(dāng)中,然后如果片內(nèi)外存儲(chǔ)器為非易失性存儲(chǔ)介質(zhì)時(shí)(如片外為flash存儲(chǔ)器吋),也可以事先將狀態(tài)機(jī)存儲(chǔ)在那里。步驟302中,可以認(rèn)為已經(jīng)通過加載流程將存儲(chǔ)在其他介質(zhì)當(dāng)中的狀態(tài)機(jī)存儲(chǔ)到了片內(nèi)外存儲(chǔ)器當(dāng)中。303、當(dāng)檢測得到的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性吋,將所述一個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有所述第一狀態(tài)機(jī)時(shí),將所述第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果??蛇x的,片內(nèi)存儲(chǔ)器又可包括兩種,ー種是靜態(tài)的,里面的內(nèi)容不會(huì)在程序運(yùn)行過程更新的存儲(chǔ)器(這里稱“靜態(tài)片內(nèi)存儲(chǔ)器”),即只要加載狀態(tài)后,就會(huì)一直存儲(chǔ)在那里。另ー種是動(dòng)態(tài)的,里面的內(nèi)容會(huì)在程序運(yùn)行過程中更新的存儲(chǔ)器,稱為“cache”緩存區(qū)域,會(huì)根據(jù)狀態(tài)機(jī)使用頻率更新里面的內(nèi)容,如有些狀態(tài)機(jī)需要不斷地從片外存儲(chǔ)器加載進(jìn)來,則會(huì)更新這些狀態(tài)機(jī)到cache中,或者有些cache中的狀態(tài)機(jī)很長一段時(shí)間內(nèi)都沒使用,則會(huì)將這些長期沒被使用的狀態(tài)機(jī)從cache中清除?;谶@種片內(nèi)存儲(chǔ)器架構(gòu),本實(shí)施例在判斷第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器吋,先判斷是否存儲(chǔ)在靜態(tài)片內(nèi)存儲(chǔ)器,如果是,則判斷是在片內(nèi),如果否,再判斷是否在cache中,如果是,則也判斷在片內(nèi),否則,判斷在片夕卜。當(dāng)判斷在片內(nèi)存儲(chǔ)器時(shí),那么就可以使用存儲(chǔ)在靜態(tài)片內(nèi)存儲(chǔ)器或者cache中的狀態(tài)機(jī)進(jìn)行匹配。當(dāng)判斷在片外存儲(chǔ)器時(shí),將所述第一狀態(tài)機(jī)從所述片外存儲(chǔ)器加載到cache中進(jìn)行匹配。當(dāng)然,如果片內(nèi)存儲(chǔ)器沒有這種架構(gòu)的話,那么只需要判斷一次即可,這里不再贅述??蛇x的,本實(shí)施例還可以基于多線程技術(shù)使用第一狀態(tài)機(jī)進(jìn)行匹配。例如,使用多線程中的一個(gè)線程來用第一狀態(tài)機(jī)進(jìn)行匹配,其他線程用其他狀態(tài)機(jī)進(jìn)行匹配,這樣可以并發(fā)執(zhí)行多個(gè)匹配,從而加快匹配速度。本實(shí)施例將規(guī)則按多個(gè)規(guī)則按同一分類特性劃分編譯成狀態(tài)機(jī),從而可以避免出現(xiàn)規(guī)則爆炸的情況;同時(shí),按狀態(tài)機(jī)的使用頻率將狀態(tài)機(jī)分別存儲(chǔ)在片內(nèi)外存儲(chǔ)器,在匹配過程中先找片內(nèi)的狀態(tài)機(jī)進(jìn)行匹配,再找片內(nèi)的狀態(tài)機(jī)進(jìn)行匹配,可以滿足大容量的存儲(chǔ)需求(片內(nèi)存儲(chǔ)器容量較大),又兼顧了速度的要求(片內(nèi)速度快),從而可以更好地提升了產(chǎn)品性能。實(shí)施例2在實(shí)施例I中,多個(gè)規(guī)則組中的每個(gè)規(guī)則組由一條或多條規(guī)則按預(yù)定的分類特性劃分后得到,這種劃分可以采用多種規(guī)則,本實(shí)施例將對其中一種規(guī)則具體的劃分方法以及基于這種劃分方法對應(yīng)的檢測方法進(jìn)行具體介紹,需要說明的是,這種劃分方法以及基于這種劃分方法對應(yīng)的檢測方法并不一定限定在實(shí)施例I所在的應(yīng)用場景,也可以應(yīng)用在其他需要用到劃分以及檢測的場景中,即本實(shí)施例可以單獨(dú)地存在并解決相應(yīng)的技術(shù)問題,并非一定要依賴于實(shí)施例I。如圖4所示,本實(shí)施例將一條或多條規(guī)則按預(yù)定的分類特性劃分成多個(gè)規(guī)則組包括如下步驟401、確定一條或多條規(guī)則中的每條規(guī)則的區(qū)別特征,使得一條或多條規(guī)則中存在盡可能多的不具備所述區(qū)別特征的其它規(guī)則,將具備相同區(qū)別特征的規(guī)則劃分為ー組,其中,區(qū)別特征為規(guī)則中從ー個(gè)偏移量開始的ー個(gè)或多個(gè)預(yù)定數(shù)量的連續(xù)字符;這里如果只有“一條”規(guī)則,那么顯然單獨(dú)劃分為ー組就可以了,這里為了說明方便,將這種例外與“多條”情況一起描述,針對“一條”的情況,本步驟中的“其他規(guī)則”理解為沒有規(guī)則即可。上述方案的意思也可以理解為將一條或多條與其他盡可能多的規(guī)則相比具備不同區(qū)別特征的規(guī)則分為ー組,其中,所述區(qū)別特征為從ー個(gè)偏移量開始的一個(gè)或多個(gè)預(yù)定數(shù)量的連續(xù)字符;如何確定區(qū)別特征,使得一條或多條規(guī)則中存在盡可能多的不具備該區(qū)別特征的其它規(guī)則,并將具備相同區(qū)別特征的規(guī)則劃分為ー組的具體實(shí)現(xiàn)為本領(lǐng)域技術(shù)人員所公知的技木,即本領(lǐng)域技術(shù)人員可以很容易通過技術(shù)手段來實(shí)現(xiàn)這個(gè)結(jié)果。例如可以是確定ー個(gè)規(guī)則的區(qū)別特征,然后遍歷一遍其他的規(guī)則是否具有該特征,如果都沒有,那么顯然可以滿足“使得一條或多條規(guī)則中存在盡可能多的不具備該區(qū)別特征的其它規(guī)則”的要求,將具備該區(qū)別特征規(guī)則單獨(dú)分成ー組即可,如果還有其他規(guī)則也具備該區(qū)別特征,那么就可以換個(gè)區(qū)別特征,如換ー下連續(xù)字符的偏移量或者預(yù)定數(shù)量。如果仍然有其他規(guī)則跟具備該區(qū)別特征,那么就確定ー個(gè)區(qū)別特征,能夠使得一條或多條規(guī)則中存在“盡可能多”的不具備該區(qū)別特征的其它規(guī)則即可,如總共4條規(guī)則,規(guī)則I有3個(gè)區(qū)別特征,對于規(guī)則I的區(qū)別特征1,其他規(guī)則中存在2條不具備區(qū)別特征I的規(guī)則;對于規(guī)則I的區(qū)別特征2,其他規(guī)則中存在2條不具備區(qū)別特征2的規(guī)則;對于規(guī)則I的區(qū)別特征3,其他規(guī)則中存在I條不具備區(qū)別特征3的規(guī)則,此時(shí),就可以選區(qū)別特征I或2作為分組的依據(jù)。除了上述先定初值,再遍歷的確定區(qū)別特征方式外,本領(lǐng)域技術(shù)人員也可以采用其他算法來實(shí)現(xiàn)最后的區(qū)別特征確定及規(guī)則組的劃分,這里并不進(jìn)行詳細(xì)說明,只描述最后劃分后的結(jié)果,即如果一條規(guī)則與其他盡可能多的規(guī)則(如其他全部規(guī)則)相比,具備獨(dú)有的區(qū)別特征,那么將這條規(guī)則單獨(dú)分為一組。舉個(gè)例子,假設(shè)區(qū)別特征中連續(xù)字符的預(yù)定數(shù)量為2,偏移量從O開始算,并假設(shè)有如下4個(gè)規(guī)則規(guī)則IAbcce;規(guī)則2:Abced;規(guī)則3:Bbcde;規(guī)則4:Bbced;可以看到,規(guī)則I中,從偏移量2開始,2個(gè)連續(xù)的字符為“cc”,這兩個(gè)連續(xù)的字符與其他規(guī)則中從該偏移量開始的2個(gè)連續(xù)字符都不相同(第2條規(guī)則中為“ce”,第3條規(guī)則中為“Cd”,第4條規(guī)則中也是“cd”),那么就可以將規(guī)則I單獨(dú)劃分為ー組,因?yàn)榇嬖谂c其他所有規(guī)則相比,都不同的區(qū)別特征,符合“盡可能多”原則。如果找不出與其他所有規(guī)則(假設(shè)其他規(guī)則總共N條規(guī)則)相比都具有不同的區(qū)別特征的一條規(guī)則,那么“盡可能多”的意思就是退一歩,找是否與其他N-I條規(guī)則相比具有不同的區(qū)別特征。例如,仍然針對上述4條規(guī)則,可以看到規(guī)則2并不具備與其他3條規(guī)則相比都有區(qū)別的區(qū)別特征(偏移量O開始的2個(gè)字符“ab”與規(guī)則I中的字符重復(fù),偏移量1,2,3開始的2個(gè)字符“bc”,“ce”,“ed”分別與規(guī)則3,4,4中的字符重復(fù)),因此,退一歩,找與其他2條規(guī)則(原來是3條,現(xiàn)在減I條)不同的區(qū)別特征,例如,規(guī)則2在從偏移量2開始的2個(gè)字符“ce”僅僅與規(guī)則4中對應(yīng)偏移量上的兩個(gè)字符的相同,與規(guī)則1,3這兩條規(guī)則中的都不同,則可以將這個(gè)作為自己的區(qū)別特征,將規(guī)則2劃分為ー個(gè)規(guī)則組。需要說明的是,此時(shí),也有可能存在其他的規(guī)則也具有該區(qū)別特征,如規(guī)則4中,從偏移量2開始的2個(gè)字符也是“ce”,則也可以將規(guī)則4與規(guī)則2—起劃分成一組??偠灾?,本實(shí)施例中的分組原則為盡量將ー些具有“獨(dú)特”的區(qū)別特征的規(guī)則分為ー組,這里的“獨(dú)特”最好是指該區(qū)別特征其他規(guī)則都不具備的;如果不滿足時(shí),可以放松限定,選“盡量獨(dú)特”的區(qū)別特征,即具備這個(gè)區(qū)別特征的其他規(guī)則最少最好。需要說明的是,上述方式是ー種優(yōu)選方式,實(shí)際應(yīng)用中,如果有一條或多條規(guī)則不滿足嚴(yán)格的“獨(dú)特”(如一開始就不找與其他所有規(guī)則不同,而找其他所有規(guī)則減I條規(guī)則不同),也是可以的,可以認(rèn)為這是ー種等同的實(shí)現(xiàn)手段。402、將所述區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為所述規(guī)則組的關(guān)鍵字,并將所述關(guān)鍵字存儲(chǔ)在所述偏移量對應(yīng)的存儲(chǔ)空間。其中,當(dāng)一條或多條規(guī)則存在多個(gè)區(qū)別特征時(shí),選取所述多個(gè)區(qū)別特征中其中一個(gè)區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為所述規(guī)則組的關(guān)鍵字,其中,選取的所述其中ー個(gè)區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字?jǐn)?shù)量相比于所述多個(gè)區(qū)別特征中除所述其中一個(gè)區(qū)別特征外其他區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字盡量少。例如,如果規(guī)則組在偏移量O存在區(qū)別特征,偏移量3也存在區(qū)別特征,如果在偏移量O的存儲(chǔ)空間相對于偏移量3的存儲(chǔ)空間要小時(shí),則將偏移量3上的區(qū)別特征作為所述規(guī)則組的關(guān)鍵字。403、對所述規(guī)則組的關(guān)鍵字進(jìn)行哈希運(yùn)算,得到對應(yīng)于所述規(guī)則組的預(yù)定哈希值,在與所述預(yù)定哈希值對應(yīng)的存儲(chǔ)地址上存儲(chǔ)所述關(guān)鍵字,其中,所述預(yù)定哈希值與所述存儲(chǔ)地址符合預(yù)定對應(yīng)關(guān)系。如圖5所示,基于上述規(guī)則組分類方法,相應(yīng)的“檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性”包括如下步驟501、計(jì)算所述報(bào)文中每ー個(gè)偏移量上所述預(yù)定數(shù)量的連續(xù)字符的當(dāng)前哈希值;502、查找與所述當(dāng)前哈希值對應(yīng)的當(dāng)前存儲(chǔ)地址是否有所述預(yù)定數(shù)量的連續(xù)字符,其中,所述當(dāng)前哈希值與所述當(dāng)前存儲(chǔ)地址符合所述預(yù)定對應(yīng)關(guān)系;503、如果有,則判斷檢測得到的所述報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;504、如果沒有,則判斷檢測得到的所述報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。本實(shí)施例通過特定的劃分方法以及基于哈希表查找的方法可以根據(jù)報(bào)文中的特征信息快速地判斷得到使用哪個(gè)狀態(tài)機(jī)對報(bào)文進(jìn)行匹配。實(shí)施例3本實(shí)施例將對其中另ー種規(guī)則具體的劃分方法以及基于這種劃分方法對應(yīng)的檢測方法進(jìn)行具體介紹,與實(shí)施例2類似,這種劃分方法以及基于這種劃分方法對應(yīng)的檢測方法并不一定限定在實(shí)施例I所在的應(yīng)用場景,也可以應(yīng)用在其他需要用到劃分以及檢測的場景中,即本實(shí)施例可以單獨(dú)地存在并解決相應(yīng)的技術(shù)問題,并非一定要依賴于實(shí)施例I以及實(shí)施例2。參見圖6,具體分組方法以及基于該分組方法執(zhí)行的一些其他預(yù)處理步驟如下601、將從相同偏移量開始,具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組??蛇x的,在進(jìn)行分組之前,根據(jù)是協(xié)議類型和/或是否是熱規(guī)則將對規(guī)則進(jìn)行劃分,得到一個(gè)或多個(gè)規(guī)則集,然后將每個(gè)規(guī)則集中從相同偏移量開始,具有盡量多相同字符的一個(gè)或多個(gè)規(guī)則劃分為一組。例如協(xié)議識(shí)別中的協(xié)議規(guī)則本身是TCP/UDP(TransmissionControlProtocol/UserDatagramProtocol傳輸控制協(xié)議/用戶數(shù)據(jù)包協(xié)議),是否為該設(shè)備上的熱規(guī)則,所述熱規(guī)則即經(jīng)常被匹配到的規(guī)則。獲得的規(guī)則組要保證在編譯生成狀態(tài)機(jī)之后,狀態(tài)機(jī)所占用的空間不能超過預(yù)設(shè)值,所述預(yù)設(shè)值是該狀態(tài)機(jī)最終在外存中所占用的空間。在對規(guī)則進(jìn)行分組時(shí),從相同偏移量開始,要盡量將盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。其中,所述盡量多相同字符,就是從相同偏移量開始,連續(xù)有盡量多相同字符的規(guī)則分為一組。例如以下規(guī)則規(guī)則I:·abed規(guī)則2.abcdmn規(guī)則3.abmn規(guī)則4.....abed其中規(guī)則I和2在偏移量為I到4的時(shí)候,字符信息都是a、b、C、d。而規(guī)則4雖然與規(guī)則I有完全相同的字符信息,但是沒有在相同的偏移量上。另外雖然規(guī)則3與規(guī)則1、2在偏移量為I和2上,具有相同的字符信息a和b,但是以盡量多相同字符為準(zhǔn)則,將規(guī)則I和2分為ー組,規(guī)則3分到另外ー組,規(guī)則4也分到另外的一組。對于在整個(gè)規(guī)則集中經(jīng)常出現(xiàn)的字符C0MM0N_CHAR(常用字符),例如協(xié)議識(shí)別中的0x00,分組時(shí)需要特別處理,不要讓太多組里同時(shí)出現(xiàn)每個(gè)位置都有C0MM0N_CHAR的情況。而且在分組之后,對ー些比較小的規(guī)則組或者分類特性很接近的規(guī)則組可以合并在一起,以降低規(guī)則組的個(gè)數(shù),便于減小步驟602生成的每個(gè)規(guī)則組對應(yīng)特征表的大小。602、生成與每個(gè)規(guī)則組對應(yīng)的特征表,特征表包括多個(gè)ニ維表項(xiàng),每個(gè)ニ維表項(xiàng)包括偏移量以及字符,當(dāng)規(guī)則組中的有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于特定偏移量及特定字符的ニ維表項(xiàng)的值為有效值;當(dāng)規(guī)則組中沒有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于特定偏移量及特定字符的ニ維表項(xiàng)的值為無效值;具體的,ニ維表項(xiàng)的具體實(shí)現(xiàn)形式可以采用ニ維數(shù)組,如定義如下的特征表table[O][‘a(chǎn),]table[O][‘b,]......table[‘A,]......其中,table[‘a(chǎn)’]為一個(gè)ニ維表項(xiàng),table為表項(xiàng)名,可自定義;該ニ維表項(xiàng)包括偏移量(O)以及字符(a),為了表示方便,這里用‘a(chǎn)’表示這個(gè)字符a被轉(zhuǎn)化成ー個(gè)ASCII碼后的數(shù)值,但實(shí)際上,這個(gè)ASCII碼仍然對應(yīng)著a這個(gè)字符,即仍可認(rèn)為ニ維數(shù)據(jù)包括字符a。參見圖7,為了表不方便,本實(shí)施例使用ニ維圖表來表不邏輯意義上的特征表,圖7中,橫軸為偏移量信息(從O開始數(shù)),縱軸為字符信息,每個(gè)橫軸縱軸交叉的格子等同于上述所說的ニ維表項(xiàng),每個(gè)交叉格子值就是ニ維表項(xiàng)對應(yīng)的值。例如,圖7中第二排從左數(shù)起(從I開始數(shù))第2個(gè)標(biāo)記為I的方格,由于對應(yīng)的橫軸是偏移量1,對應(yīng)的字符是b,因此,該交叉格就等同于table[I][‘b’],該表項(xiàng)對應(yīng)的值為I。圖7中,示出了0-4共5個(gè)偏移量,實(shí)際當(dāng)中,每條規(guī)則的長度不同,這里的偏移量也會(huì)有所不同,這里并不限定。同理,縱軸中的字符個(gè)數(shù)這里也不限定,實(shí)際當(dāng)中,一般都會(huì)對應(yīng)所有ASCII中的字符,但是如果實(shí)際應(yīng)用中確定只需要使用其中一部分字符,那么也可以僅包括這部分字符。圖7中的每個(gè)交叉格(ニ維表項(xiàng))需要對應(yīng)ー個(gè)有效值或無效值,為了表示方便,本實(shí)施例用I表示有效值,O表示無效值。填寫的依據(jù)是看規(guī)則組中是否有規(guī)則在特定偏移量上有特定字符,如果有,則填1,否則,填O。例如,圖7為ー個(gè)規(guī)則組對應(yīng)的特征表,該規(guī)則組包括abc.s,abxyt,ab.mn三條規(guī)則,那么,對于ニ維表項(xiàng)table[O][‘a(chǎn)’],由于第I個(gè)規(guī)PJCabc.s)中在偏移量O上有字符a,因此,table[O][‘a(chǎn)’]置為1,即圖7中橫軸為0,縱軸為a的交叉格置1,需要說明的是,這里是依據(jù)第I個(gè)規(guī)則來置1,實(shí)際中,也可以利用第2個(gè)或者第3個(gè)規(guī)則來置偏移量O,字符為O的ニ維表項(xiàng)對應(yīng)值為1,因?yàn)檫@些規(guī)則偏移量O上的字符都是a,S卩,只要有任何一個(gè)規(guī)則符合條件,都可以將ニ維表項(xiàng)table[‘a(chǎn)’]置Io同理,偏移量為2,字符為c的ニ維表項(xiàng)table[2][‘c’]也為I;偏移量為2,字符為X的ニ維表項(xiàng)table[2][‘X’]也為I。而由于三個(gè)規(guī)則中,并沒有符合偏移量為I,字符為a(三個(gè)規(guī)則在偏移量I上都是字符b),因此,ニ維表項(xiàng)table[I][a]對應(yīng)的值為0,即圖7中橫軸為1,縱軸b的交叉格的值為I。此外,規(guī)則中可以會(huì)出現(xiàn)ー些通配符,例如’可以表示匹配任何字符,對于規(guī)則abc.s,在偏移量為3的位置上,有一個(gè)通配符’,即表不在該偏移量位置可以是任何字符,因此,對應(yīng)于該偏移量的ニ維表項(xiàng)(如table[3][‘a(chǎn)’],table[3][‘b’],table[3][‘c’]……)都置I。603、生成與每個(gè)規(guī)則組對應(yīng)的結(jié)果比特位。基于上述規(guī)則組分類方法以及ー些預(yù)處理步驟(如602),參見圖8,相應(yīng)的“檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性”包括如下步驟801、將所述報(bào)文中的每個(gè)偏移量上的每個(gè)字符與每個(gè)規(guī)則組中對應(yīng)的特征表中的ニ維表項(xiàng)進(jìn)行匹配,如果包括當(dāng)前偏移量以及當(dāng)前字符的ニ維表項(xiàng)對應(yīng)的值為有效值,則匹配成功,否則,匹配失敗;802、當(dāng)為第一次匹配吋,將對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值設(shè)置為匹配結(jié)果的值,其中,當(dāng)匹配成功時(shí),所述匹配結(jié)果為1,匹配失敗時(shí),匹配結(jié)果為O;當(dāng)不為第一次匹配時(shí),更新對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值,更新后的值為先前的值與所述匹配結(jié)果進(jìn)行“與”運(yùn)算后得到的值;803、當(dāng)所述結(jié)果比特位最后為I時(shí),確定所述報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;當(dāng)所述結(jié)果比特位最后為O時(shí),確定所述報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。下面通過具體的例子進(jìn)行介紹。例如所述報(bào)文內(nèi)的字符信息為tamny,規(guī)則組一中的規(guī)則為abc.s,abxyt,ab.mn,特征表如圖7所示;規(guī)則組ニ中的規(guī)則為..mny,stmny,特征表如圖9所示;規(guī)則組三中的規(guī)則為xxxxy,x.bxy,特征表如圖10所示。將“tamny”與上述三個(gè)規(guī)則組對應(yīng)的特征表中的對應(yīng)偏移量上的字符信息進(jìn)行匹配,各個(gè)規(guī)則組分別對應(yīng)ー個(gè)生成的結(jié)果比特位,具體流程如下a)將報(bào)文中每個(gè)偏移量上每個(gè)字符與規(guī)則組中的ニ維表項(xiàng)匹配;即對于報(bào)文中的tamny,將各個(gè)偏移量上的字符與各個(gè)規(guī)則組進(jìn)行匹配,可以ー個(gè)一個(gè)匹配,也可以一次同時(shí)匹配三個(gè);如果包括當(dāng)前偏移量以及當(dāng)前字符的ニ維表項(xiàng)對應(yīng)的值為有效值,則認(rèn)為匹配成功,否則,匹配失敗。例如,報(bào)文中偏移量為O的字符為t,各規(guī)則中,只有規(guī)則組ニ中二維表項(xiàng)table2[‘t’]對應(yīng)的值為有效值(I),則認(rèn)為匹配成功;如果為無效值,則認(rèn)為匹配失??;b)當(dāng)為第一次匹配吋,將對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值設(shè)置為匹配結(jié)果的值,其中,當(dāng)匹配成功時(shí),所述匹配結(jié)果為1,匹配失敗時(shí),匹配結(jié)果為O;對于報(bào)文tamny,第一次匹配可以從偏移量為O的t開始,由于規(guī)則組ニ對應(yīng)的table2[‘t’]對應(yīng)的值為I,則認(rèn)為匹配成功,匹配結(jié)果為I,將規(guī)則組ニ對應(yīng)的結(jié)果比特位bit2的值設(shè)置為匹配結(jié)果的值,即bit2=l。反之,由于tablel[‘t’],table3[O][‘t’]對應(yīng)的值都為0,所以認(rèn)為匹配失敗,匹配結(jié)果為0,將規(guī)則組一、三分別對應(yīng)的結(jié)果比特位bitl,bit3分別置O。c)當(dāng)不為第一次匹配時(shí),更新對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值,更新后的值為先前的值與所述匹配結(jié)果進(jìn)行與運(yùn)算后得到的值;例如,報(bào)文中偏移量為I的字符為a,規(guī)則組ニ中的ニ維表項(xiàng)table2[l][‘a(chǎn)’]對應(yīng)的值為1,則匹配成功,匹配結(jié)果為1,則更新規(guī)則組ニ對應(yīng)的結(jié)果比特位bit2,更新后的值為先前的值(I)與匹配結(jié)果(I)進(jìn)行與運(yùn)算后得到的值,I與I后結(jié)果仍為I,因此,更新后的bit2值為I。對于bitl,tablel[l][‘a(chǎn)’]對應(yīng)的值為0,匹配失敗,匹配結(jié)果為0,O與先前的結(jié)果比特位的值O進(jìn)行與運(yùn)算后,最后bitl結(jié)果為O;對于bit3,table3[l][‘a(chǎn)’]對應(yīng)的值為1,匹配結(jié)果為1,I與先前的結(jié)果比特位的值O進(jìn)行與運(yùn)算后,最后bit3結(jié)果為O0進(jìn)行多次與運(yùn)算后,看各結(jié)果比特位最后的結(jié)果,如果為1,則認(rèn)為符合分類特性,否則,如果為0,則認(rèn)為不符合分類特性。參見圖11,為上述例子匹配過程中,各結(jié)果比特位變化示意圖,規(guī)則組一、ニ、三分別對應(yīng)于圖中所示比特位bitl,bit2,bit3。在偏移量為O時(shí),報(bào)文tamny中的t與規(guī)則組一、三不匹配與規(guī)則組ニ匹配,因此,置bitl、bit3為O,置bit2為I;在偏移量為I時(shí),報(bào)文tamny中的a與規(guī)則組ー不匹配,與規(guī)則組ニ、三匹配,匹配結(jié)果為分別為011,與前次結(jié)果比特位010相與后,更新后的各結(jié)果比特位010;在偏移量為2時(shí),報(bào)文tamny中的m與規(guī)則組一、ニ匹配,與規(guī)則組三不匹配,匹配結(jié)果分別為110,前與次結(jié)果比特位010相與后,更新后的各結(jié)果比特位為010;后面依次按上述方法運(yùn)算,最后各結(jié)果比特位為010,即bitl=0,bit2=l,bit3=0,即報(bào)文中的特征信息符合規(guī)則組二分類特性,不符合規(guī)則組一、三分類特性。需要說明的是,上述比特運(yùn)算的實(shí)現(xiàn)方式并不唯一,本領(lǐng)域技術(shù)人員在實(shí)現(xiàn)時(shí),可以如圖11所示的一次對多個(gè)結(jié)果比特位進(jìn)行運(yùn)算,也可以將這些結(jié)果比特位分別運(yùn)算。此夕卜,本領(lǐng)域技術(shù)人員也容易注意到,由于無論O或1,只要與O相與,最后的結(jié)果一定為0,因此,如果匹配結(jié)果中有0,可直接置該結(jié)果比特位最終結(jié)果為0,這些方式或其他類似的方式都可視為本實(shí)施例等同方式。通過本實(shí)施例,可以統(tǒng)ー對各規(guī)則組對應(yīng)的結(jié)果比特位進(jìn)行處理,便于軟件實(shí)現(xiàn)。本實(shí)施例通過特定的劃分方法以及基于比特位運(yùn)算可以根據(jù)報(bào)文中的特征信息快速地判斷得到使用哪個(gè)狀態(tài)機(jī)對報(bào)文進(jìn)行匹配。實(shí)施例4基于上述各實(shí)施例,本實(shí)施例提供了一種規(guī)則匹配裝置12,用于執(zhí)行上述各實(shí)施例的方法流程,參見圖12,包括接收單元121,用于接收報(bào)文;檢測單元122,檢測接收單元121接收的報(bào)文中的特征信息,判斷檢測得到的報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組的ー個(gè)規(guī)則組的分類特性,并將檢測結(jié)果發(fā)送給匹配単元,其中,規(guī)則組為多個(gè),由一條或多條規(guī)則按預(yù)定的分類特性劃分后得到,每個(gè)規(guī)則組編譯后對應(yīng)ー個(gè)狀態(tài)機(jī)以及狀態(tài)機(jī)標(biāo)識(shí),狀態(tài)機(jī)用于對報(bào)文進(jìn)行匹配,其中,匹配時(shí)常用的狀態(tài)機(jī)存儲(chǔ)在讀寫速度較快的片內(nèi)存儲(chǔ)器當(dāng)中,其他狀態(tài)機(jī)存儲(chǔ)在讀寫速度較慢的片外存儲(chǔ)器當(dāng)中;匹配単元123,根據(jù)檢測単元122發(fā)送的檢測結(jié)果得知當(dāng)檢測單元當(dāng)檢測得到的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性時(shí),將ー個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用第一狀態(tài)機(jī)對報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有第一狀態(tài)機(jī)時(shí),將第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用第一狀態(tài)機(jī)對報(bào)文進(jìn)行匹配,得到匹配結(jié)果。本實(shí)施例檢測單元以及匹配単元具體可以基于FPGA實(shí)現(xiàn),片內(nèi)存儲(chǔ)器使用FPGA自帶的存儲(chǔ)器,片外存儲(chǔ)器使用DDRSDRAM,以取得更好的性能。如何基于FPGA實(shí)現(xiàn)上述功能模塊屬于本領(lǐng)域技術(shù)人員公知的技木,這里不再贅述。實(shí)施例5基于實(shí)施例4,如圖13所示,本實(shí)施例的規(guī)則匹配裝置12還包括第一分組單元123,用于確定一條或多條規(guī)則中的每條規(guī)則的區(qū)別特征,使得一條或多條規(guī)則中存在盡可能多的不具備該區(qū)別特征的其它規(guī)則,將具備相同區(qū)別特征的規(guī)則劃分為ー組,其中,區(qū)別特征為規(guī)則中從ー個(gè)偏移量開始的ー個(gè)或多個(gè)預(yù)定數(shù)量的連續(xù)字符。第一分組單元的功能可以基于現(xiàn)有的編譯器實(shí)現(xiàn)。本實(shí)施例的規(guī)則匹配裝置12還可以包括關(guān)鍵字處理單元124,用于將區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為規(guī)則組的關(guān)鍵字,并將關(guān)鍵字存儲(chǔ)在偏移量對應(yīng)的存儲(chǔ)空間。該單元也可以基于現(xiàn)有的編譯器實(shí)現(xiàn)。這里的存儲(chǔ)空間為片內(nèi)的存儲(chǔ)空間,如果片內(nèi)存儲(chǔ)器是易失性的,則可以事先存儲(chǔ)在其他介質(zhì),然后運(yùn)行的時(shí)候拷貝到片內(nèi)存儲(chǔ)器,事先生成的空間地址與最終拷貝到片內(nèi)存儲(chǔ)空間的地址一一對應(yīng)。哈希值計(jì)算單元125,用于對關(guān)鍵字處理單元124處理得到的規(guī)則組的關(guān)鍵字進(jìn)行哈希運(yùn)算,得到對應(yīng)于規(guī)則組的預(yù)定哈希值,在與預(yù)定哈希值對應(yīng)的存儲(chǔ)地址上存儲(chǔ)關(guān)鍵字,其中,預(yù)定哈希值與存儲(chǔ)地址符合預(yù)定對應(yīng)關(guān)系。本単元具體可以基于FPGA實(shí)現(xiàn)。檢測單元122具體包括哈希值計(jì)算子単元1221,用于計(jì)算報(bào)文中每ー個(gè)偏移量上預(yù)定數(shù)量的連續(xù)字符的當(dāng)前哈希值;查找單元1222,用于查找與哈希值計(jì)算子單元計(jì)算得到的當(dāng)前哈希值對應(yīng)的當(dāng)前存儲(chǔ)地址是否有預(yù)定數(shù)量的連續(xù)字符,其中,當(dāng)前哈希值與當(dāng)前存儲(chǔ)地址符合預(yù)定對應(yīng)關(guān)系;第一判斷単元1223,如果有,則判斷檢測得到的報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;如果沒有,則判斷檢測得到的報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。其中,本實(shí)施例中的第一分組單元123還用于,當(dāng)一條或多條規(guī)則存在多個(gè)區(qū)別特征時(shí),選取多個(gè)區(qū)別特征中其中ー個(gè)區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為規(guī)則組的關(guān)鍵字,其中,選取的其中一個(gè)區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字?jǐn)?shù)量相比于多個(gè)區(qū)別特征中除其中一個(gè)區(qū)別特征外其他區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字盡量少。實(shí)施例6基于實(shí)施例4,如圖14所示,本實(shí)施例的規(guī)則匹配裝置還包括第二分組單元126,用于將從相同偏移量開始具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。本實(shí)施例的規(guī)則匹配裝置還包括第三分組單元127,用于根據(jù)是否是協(xié)議類型和/或是否是熱規(guī)則將對規(guī)則進(jìn)行劃分,得到一個(gè)或多個(gè)規(guī)則集,一個(gè)規(guī)則集包含ー個(gè)或多個(gè)規(guī)則;將每個(gè)規(guī)則集中包含的規(guī)則中從相同偏移量開始,具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。上述兩個(gè)分組單元是并列的關(guān)系,即可以只包括其中ー個(gè),該兩個(gè)單元都可以基于現(xiàn)有的編譯器實(shí)現(xiàn)。本實(shí)施例的規(guī)則匹配裝置還可以包括特征表生成単元128,用于生成與每個(gè)規(guī)則組對應(yīng)的特征表,特征表包括多個(gè)ニ維表項(xiàng),每個(gè)ニ維表項(xiàng)包括偏移量以及字符,當(dāng)規(guī)則組中的有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于特定偏移量及特定字符的ニ維表項(xiàng)的值為有效值;當(dāng)規(guī)則組中沒有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于特定偏移量及特定字符的ニ維表項(xiàng)的值為無效值。本単元可以基于現(xiàn)有的編譯器實(shí)現(xiàn)。結(jié)果比特位生成単元129,用于生成與每個(gè)規(guī)則組對應(yīng)的結(jié)果比特位.本単元可以基于FPGA實(shí)現(xiàn)。檢測單元122包括特征表匹配単元1224,用于將報(bào)文中的每個(gè)偏移量上的每個(gè)字符與每個(gè)規(guī)則組中對應(yīng)的特征表中的ニ維表項(xiàng)進(jìn)行匹配,如果包括當(dāng)前偏移量以及當(dāng)前字符的ニ維表項(xiàng)對應(yīng)的值為有效值,則匹配成功,否則,匹配失??;結(jié)果比特位設(shè)置単元1225,用于當(dāng)為第一次匹配吋,將對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位生成単元生成的結(jié)果比特位的值設(shè)置為匹配結(jié)果的值,其中,當(dāng)特征表匹配単元判斷匹配成功吋,匹配結(jié)果為1,當(dāng)特征表匹配単元判斷匹配失敗時(shí),匹配結(jié)果為O;當(dāng)不為第一次匹配時(shí),更新對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值,更新后的值為先前的值與匹配結(jié)果進(jìn)行“與”運(yùn)算后得到的值;第二判斷単元1226,用于當(dāng)經(jīng)過結(jié)果比特位設(shè)置単元處理后,結(jié)果比特位最后為I吋,確定報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;當(dāng)結(jié)果比特位最后為O吋,確定報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性?;谏鲜鰧?shí)施例4-6,各實(shí)施例中的片內(nèi)存儲(chǔ)器包括靜態(tài)片內(nèi)存儲(chǔ)器以及cache,靜態(tài)片內(nèi)存儲(chǔ)器中的內(nèi)容不會(huì)在程序運(yùn)行過程中更新,cache中的內(nèi)容會(huì)在程序運(yùn)行過程當(dāng)中更新;則如圖15所示的規(guī)則匹配裝置中檢測單元122包括存儲(chǔ)器判斷單元1227,用于判斷是否存儲(chǔ)在靜態(tài)片內(nèi)存儲(chǔ)器,如果是,則判斷是在片內(nèi);如果否,再判斷是否在cache中,如果是,則判斷在片內(nèi),否則,判斷在片外。此外,基于上述實(shí)施例4-6中的匹配単元基于多線程技術(shù)使用第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配。上述裝置可以取得方法實(shí)施例中相應(yīng)的有益效果,對于各個(gè)單元具體執(zhí)行步驟的描述,可以參考相應(yīng)的實(shí)施例,這里不再贅述。本實(shí)施例為了取得更好地性能,使用FPGA這種硬件處理器來處理,本領(lǐng)域技術(shù)人員也可以根據(jù)實(shí)際對性能方面的要求使用其他類似的處理器來實(shí)現(xiàn),這里不進(jìn)行具體介紹。實(shí)施例7基于上述各實(shí)施例,本實(shí)施例介紹ー種典型的硬件架構(gòu)來實(shí)現(xiàn)上述各實(shí)施例中的方法或各功能模塊,如圖16所示,包括FPGA芯片161,編譯器162。其中,F(xiàn)PGA芯片161用于完成運(yùn)行過程當(dāng)中的處理功能;編譯器162主要用于完成分組、編譯、以及ー些運(yùn)行時(shí)需要運(yùn)行的數(shù)據(jù)的生成(如上述實(shí)施例介紹的特征表生成,關(guān)鍵字存儲(chǔ)等)。編譯器可以基于現(xiàn)有的編譯器(一般使用軟件處理)實(shí)現(xiàn),即在現(xiàn)有的編譯器上增加一些軟件功能模塊來實(shí)現(xiàn)本實(shí)施例所需的方法流程及功能模塊,這些技術(shù)為本領(lǐng)域技術(shù)人員所公知的技木,這里不再贅述。以上各實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
      技術(shù)領(lǐng)域
      的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。權(quán)利要求1.一種規(guī)則匹配方法,其特征在于,包括接收報(bào)文;檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性,所述多個(gè)規(guī)則組中的每個(gè)規(guī)則組由一條或多條規(guī)則按預(yù)定的分類特性劃分后得到,每個(gè)所述規(guī)則組編譯后對應(yīng)ー個(gè)狀態(tài)機(jī),所述狀態(tài)機(jī)用于對所述報(bào)文進(jìn)行匹配,其中,匹配時(shí)常用的狀態(tài)機(jī)存儲(chǔ)在讀寫速度較快的片內(nèi)存儲(chǔ)器當(dāng)中,其他狀態(tài)機(jī)存儲(chǔ)在讀寫速度較慢的片外存儲(chǔ)器當(dāng)中;當(dāng)檢測得到的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性吋,將所述一個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有所述第一狀態(tài)機(jī)吋,將所述第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果。2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述按預(yù)定的分類特性劃分包括確定一條或多條規(guī)則中的每條規(guī)則的區(qū)別特征,使得所述一條或多條規(guī)則中存在盡可能多的不具備所述區(qū)別特征的其它規(guī)則,將具備相同區(qū)別特征的規(guī)則劃分為ー組,其中,所述區(qū)別特征為規(guī)則中從ー個(gè)偏移量開始的ー個(gè)或多個(gè)預(yù)定數(shù)量的連續(xù)字符。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括將所述區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為所述規(guī)則組的關(guān)鍵字,并將所述關(guān)鍵字存儲(chǔ)在所述偏移量對應(yīng)的存儲(chǔ)空間;對所述規(guī)則組的關(guān)鍵字進(jìn)行哈希運(yùn)算,得到對應(yīng)于所述規(guī)則組的預(yù)定哈希值,在與所述預(yù)定哈希值對應(yīng)的存儲(chǔ)地址上存儲(chǔ)所述關(guān)鍵字,其中,所述預(yù)定哈希值與所述存儲(chǔ)地址符合預(yù)定對應(yīng)關(guān)系;所述檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性包括計(jì)算所述報(bào)文中每ー個(gè)偏移量上所述預(yù)定數(shù)量的連續(xù)字符的當(dāng)前哈希值;查找與所述當(dāng)前哈希值對應(yīng)的當(dāng)前存儲(chǔ)地址是否有所述預(yù)定數(shù)量的連續(xù)字符,其中,所述當(dāng)前哈希值與所述當(dāng)前存儲(chǔ)地址符合所述預(yù)定對應(yīng)關(guān)系;如果有,則判斷檢測得到的所述報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;如果沒有,則判斷檢測得到的所述報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括當(dāng)一條或多條規(guī)則存在多個(gè)區(qū)別特征時(shí),選取所述多個(gè)區(qū)別特征中其中ー個(gè)區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為所述規(guī)則組的關(guān)鍵字,其中,選取的所述其中一個(gè)區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字?jǐn)?shù)量相比與所述多個(gè)區(qū)別特征中除所述其中一個(gè)區(qū)別特征外其他區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字盡量少。5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述按預(yù)定的分類特性劃分包括將從相同偏移量開始,具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述按預(yù)定的分類特性劃分包括根據(jù)是否是協(xié)議類型和/或是否是熱規(guī)則將對規(guī)則進(jìn)行劃分,得到一個(gè)或多個(gè)規(guī)則集,一個(gè)規(guī)則集包含一個(gè)或多個(gè)規(guī)則;將每個(gè)規(guī)則集中包含的規(guī)則中從相同偏移量開始,具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述方法還包括生成與每個(gè)規(guī)則組對應(yīng)的特征表,所述特征表包括多個(gè)ニ維表項(xiàng),每個(gè)ニ維表項(xiàng)包括偏移量以及字符,當(dāng)所述規(guī)則組中有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于所述特定偏移量及特定字符的ニ維表項(xiàng)的值為有效值;當(dāng)所述規(guī)則組中沒有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于所述特定偏移量及特定字符的ニ維表項(xiàng)的值為無效值;生成與每個(gè)規(guī)則組對應(yīng)的結(jié)果比特位;所述檢測所述報(bào)文內(nèi)容中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性包括將所述報(bào)文中的每個(gè)偏移量上的每個(gè)字符與每個(gè)規(guī)則組中對應(yīng)的特征表中的ニ維表項(xiàng)進(jìn)行匹配,如果包括當(dāng)前偏移量以及當(dāng)前字符的ニ維表項(xiàng)對應(yīng)的值為有效值,則匹配成功,否則,匹配失??;當(dāng)為第一次匹配吋,將對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值設(shè)置為匹配結(jié)果的值,其中,當(dāng)匹配成功時(shí),所述匹配結(jié)果為1,匹配失敗時(shí),匹配結(jié)果為O;當(dāng)不為第一次匹配時(shí),更新對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值,更新后的值為先前的值與所述匹配結(jié)果進(jìn)行“與”運(yùn)算后得到的值;當(dāng)所述結(jié)果比特位最后為I時(shí),確定所述報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;當(dāng)所述結(jié)果比特位最后為O時(shí),確定所述報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。8.根據(jù)權(quán)利要求1-7任一所述的方法,其特征在干,所述片內(nèi)存儲(chǔ)器包括靜態(tài)片內(nèi)存儲(chǔ)器以及緩存區(qū)域cache,所述靜態(tài)片內(nèi)存儲(chǔ)器中的內(nèi)容不會(huì)在程序運(yùn)行過程中更新,所述cache中的內(nèi)容會(huì)在程序運(yùn)行過程當(dāng)中更新;所述判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器包括判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在靜態(tài)片內(nèi)存儲(chǔ)器,如果是,則判斷是在片內(nèi);如果否,再判斷是否在cache中,如果是,則判斷在片內(nèi),否則,判斷在片外。9.根據(jù)權(quán)利要求1-8任一所述的方法,其特征在干所述使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配包括基于多線程技術(shù)使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配。10.一種規(guī)則匹配裝置,其特征在于,包括接收單元,用于接收報(bào)文;檢測單元,檢測所述接收単元接收的所述報(bào)文中的特征信息,判斷檢測得到的所述報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組的ー個(gè)規(guī)則組的分類特性,并將檢測結(jié)果發(fā)送給匹配単元,其中,所述規(guī)則組為多個(gè),由一條或多條規(guī)則按預(yù)定的分類特性劃分后得到,每個(gè)所述規(guī)則組編譯后對應(yīng)ー個(gè)狀態(tài)機(jī)以及狀態(tài)機(jī)標(biāo)識(shí),所述狀態(tài)機(jī)用于對所述報(bào)文進(jìn)行匹配,其中,匹配時(shí)常用的狀態(tài)機(jī)存儲(chǔ)在讀寫速度較快的片內(nèi)存儲(chǔ)器當(dāng)中,其他狀態(tài)機(jī)存儲(chǔ)在讀寫速度較慢的片外存儲(chǔ)器當(dāng)中;匹配単元,根據(jù)所述檢測單元發(fā)送的所述檢測結(jié)果得知當(dāng)所述檢測単元當(dāng)檢測得到的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性吋,將所述一個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有所述第一狀態(tài)機(jī)時(shí),將所述第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配,得到匹配結(jié)果。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括第一分組單元,所述第一分組單元用干確定一條或多條規(guī)則中的每條規(guī)則的區(qū)別特征,使得所述一條或多條規(guī)則中存在盡可能多的不具備該區(qū)別特征的其它規(guī)則,將具備相同區(qū)別特征的規(guī)則劃分為ー組,其中,所述區(qū)別特征為規(guī)則中從ー個(gè)偏移量開始的ー個(gè)或多個(gè)預(yù)定數(shù)量的連續(xù)字符。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括關(guān)鍵字處理單元,用于將所述區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為所述規(guī)則組的關(guān)鍵字,并將所述關(guān)鍵字存儲(chǔ)在所述偏移量對應(yīng)的存儲(chǔ)空間;哈希值計(jì)算單元,用于對關(guān)鍵字處理單元處理得到的所述規(guī)則組的關(guān)鍵字進(jìn)行哈希運(yùn)算,得到對應(yīng)于所述規(guī)則組的預(yù)定哈希值,在與所述預(yù)定哈希值對應(yīng)的存儲(chǔ)地址上存儲(chǔ)所述關(guān)鍵字,其中,所述預(yù)定哈希值與所述存儲(chǔ)地址符合預(yù)定對應(yīng)關(guān)系;所述檢測單元具體包括哈希值計(jì)算子単元,用于計(jì)算所述報(bào)文中每ー個(gè)偏移量上所述預(yù)定數(shù)量的連續(xù)字符的當(dāng)前哈希值;查找單元,用于查找與所述哈希值計(jì)算子単元計(jì)算得到的所述當(dāng)前哈希值對應(yīng)的當(dāng)前存儲(chǔ)地址是否有所述預(yù)定數(shù)量的連續(xù)字符,其中,所述當(dāng)前哈希值與所述當(dāng)前存儲(chǔ)地址符合所述預(yù)定對應(yīng)關(guān)系;第一判斷単元,如果有,則判斷檢測得到的所述報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;如果沒有,則判斷檢測得到的所述報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述第一分組單元還用于,當(dāng)一條或多條規(guī)則存在多個(gè)區(qū)別特征時(shí),選取所述多個(gè)區(qū)別特征中其中ー個(gè)區(qū)別特征中預(yù)定數(shù)量的連續(xù)字符作為所述規(guī)則組的關(guān)鍵字,其中,選取的所述其中一個(gè)區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字?jǐn)?shù)量相比于所述多個(gè)區(qū)別特征中除所述其中一個(gè)區(qū)別特征外其他區(qū)別特征中的偏移量對應(yīng)的存儲(chǔ)空間中存儲(chǔ)的關(guān)鍵字盡量少。14.根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括第二分組單元,用于將從相同偏移量開始,具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。15.根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括第三分組單元,用于根據(jù)是否是協(xié)議類型和/或是否是熱規(guī)則將對規(guī)則進(jìn)行劃分,得到一個(gè)或多個(gè)規(guī)則集,一個(gè)規(guī)則集包含一個(gè)或多個(gè)規(guī)則;將每個(gè)規(guī)則集中包含的規(guī)則中從相同偏移量開始,具有盡量多相同字符的ー個(gè)或多個(gè)規(guī)則劃分為一組。16.根據(jù)權(quán)利要求14或15所述的裝置,其特征在于,還包括特征表生成単元,用于生成與每個(gè)規(guī)則組對應(yīng)的特征表,所述特征表包括多個(gè)ニ維表項(xiàng),每個(gè)ニ維表項(xiàng)包括偏移量以及字符,當(dāng)所述規(guī)則組中的有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于所述特定偏移量及特定字符的ニ維表項(xiàng)的值為有效值;當(dāng)所述規(guī)則組中沒有規(guī)則在特定偏移量有特定字符時(shí),設(shè)置對應(yīng)于所述特定偏移量及特定字符的ニ維表項(xiàng)的值為無效值;結(jié)果比特位生成単元,用于生成與每個(gè)規(guī)則組對應(yīng)的結(jié)果比特位;所述檢測單元包括特征表匹配単元,用于將所述報(bào)文中的每個(gè)偏移量上的每個(gè)字符與每個(gè)規(guī)則組中對應(yīng)的特征表中的ニ維表項(xiàng)進(jìn)行匹配,如果包括當(dāng)前偏移量以及當(dāng)前字符的ニ維表項(xiàng)對應(yīng)的值為有效值,則匹配成功,否則,匹配失??;結(jié)果比特位設(shè)置単元,用于當(dāng)為第一次匹配吋,將對應(yīng)于用于匹配的規(guī)則組的所述結(jié)果比特位生成単元生成的結(jié)果比特位的值設(shè)置為匹配結(jié)果的值,其中,當(dāng)所述特征表匹配単元判斷匹配成功時(shí),所述匹配結(jié)果為1,當(dāng)所述特征表匹配単元判斷匹配失敗時(shí),匹配結(jié)果為O;當(dāng)不為第一次匹配時(shí),更新對應(yīng)于用于匹配的規(guī)則組的結(jié)果比特位的值,更新后的值為先前的值與所述匹配結(jié)果進(jìn)行“與”運(yùn)算后得到的值;第二判斷単元,用于當(dāng)經(jīng)過所述結(jié)果比特位設(shè)置単元處理后,所述結(jié)果比特位最后為I時(shí),確定所述報(bào)文中的特征信息符合預(yù)設(shè)的多個(gè)規(guī)則組中的ー個(gè)規(guī)則組的分類特性;當(dāng)所述結(jié)果比特位最后為O時(shí),確定所述報(bào)文中的特征信息不符合預(yù)設(shè)的規(guī)則組的分類特性。17.根據(jù)權(quán)利要求10-16任一所述的裝置,其特征在于,所述片內(nèi)存儲(chǔ)器包括靜態(tài)片內(nèi)存儲(chǔ)器以及cache,所述靜態(tài)片內(nèi)存儲(chǔ)器中的內(nèi)容不會(huì)在程序運(yùn)行過程中更新,所述cache中的內(nèi)容會(huì)在程序運(yùn)行過程當(dāng)中更新;所述檢測單元包括存儲(chǔ)器判斷単元,用于判斷所述第一狀態(tài)機(jī)是否存儲(chǔ)在靜態(tài)片內(nèi)存儲(chǔ)器,如果是,則判斷是在片內(nèi);如果否,再判斷是否在cache中,如果是,則判斷在片內(nèi),否則,判斷在片外。18.根據(jù)權(quán)利要求10-17任一所述的裝置,其特征在于,所述匹配単元基于多線程技術(shù)使用所述第一狀態(tài)機(jī)對所述報(bào)文進(jìn)行匹配。全文摘要本發(fā)明公開了一種規(guī)則匹配方法和裝置,涉及通信
      技術(shù)領(lǐng)域
      ,解決現(xiàn)有技術(shù)存在著的基于DPI技術(shù)的產(chǎn)品的性能仍然有待提升的問題。方法包括接收報(bào)文;檢測報(bào)文內(nèi)容中的特征信息,判斷檢測得到的報(bào)文中的特征信息是否符合預(yù)設(shè)的多個(gè)規(guī)則組中的一個(gè)規(guī)則組的分類特性;當(dāng)符合時(shí),將一個(gè)規(guī)則組對應(yīng)的狀態(tài)機(jī)確定為第一狀態(tài)機(jī);判斷第一狀態(tài)機(jī)是否存儲(chǔ)在片內(nèi)存儲(chǔ)器,如果是,則使用第一狀態(tài)機(jī)對報(bào)文進(jìn)行匹配,得到匹配結(jié)果;如果不是,當(dāng)片外存儲(chǔ)器存儲(chǔ)有第一狀態(tài)機(jī)時(shí),將第一狀態(tài)機(jī)從片外存儲(chǔ)器加載到片內(nèi)存儲(chǔ)器,使用第一狀態(tài)機(jī)對報(bào)文進(jìn)行匹配,得到匹配結(jié)果。本發(fā)明實(shí)施例可以讓產(chǎn)品取得更好的性能。文檔編號(hào)G06F17/30GK102868571SQ201210278778公開日2013年1月9日申請日期2012年8月7日優(yōu)先權(quán)日2012年8月7日發(fā)明者郭智,吳富強(qiáng),曾佳,迪帕克·曼沙拉姆尼,約翰·科特斯,孫靈燕,田聃申請人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1