專利名稱:規(guī)則匹配裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理,特別是數(shù)據(jù)過濾技術(shù)。
背景技術(shù):
計(jì)算機(jī)系統(tǒng)現(xiàn)在運(yùn)行在一個(gè)近乎無所不在的互連環(huán)境中, 無論是連接到互聯(lián)網(wǎng)和網(wǎng)絡(luò)還是通過有線或無線技術(shù)。雖然在 線通訊的采用已經(jīng)為商務(wù)網(wǎng)絡(luò)和信息共享建立了無數(shù)新機(jī)會(huì), 但是也同時(shí)增加了網(wǎng)絡(luò)安全被試圖侵害、駭客攻擊、意圖訪問 保密信息,或者其他妨礙網(wǎng)絡(luò)通訊的行為的頻率。
最近,大量以偵測(cè)和阻止網(wǎng)絡(luò)中攻擊為目標(biāo)的計(jì)算機(jī)軟件 程序出現(xiàn),包括反病毒數(shù)據(jù)過濾,防火墻,侵入偵測(cè)/阻止和網(wǎng) 絡(luò)保護(hù)。幾乎每個(gè)現(xiàn)代網(wǎng)絡(luò)安全系統(tǒng)的核心都是 一 個(gè)內(nèi)容匹配 引擎,其掃描一個(gè)輸入數(shù)據(jù)流以尋找特定的內(nèi)容,這些內(nèi)容是 已知有威脅或危險(xiǎn)的數(shù)據(jù)。內(nèi)容匹配引擎也是一個(gè)已知的模式 匹配引擎,并且被掃描的特定內(nèi)容(模式)通常被稱作內(nèi)容(模 式)標(biāo)志存在于標(biāo)志數(shù)據(jù)庫中。如果在被掃描的數(shù)據(jù)流和在標(biāo) 志數(shù)據(jù)庫中的一個(gè)內(nèi)容標(biāo)志之間找到一個(gè)匹配, 一個(gè)警報(bào)就會(huì) 發(fā)出,并且被掃描的數(shù)據(jù)流會(huì)在其造成任何損害之前被捕捉住。 除了在網(wǎng)絡(luò)安全計(jì)算機(jī)軟件中的應(yīng)用,內(nèi)容匹配也被用于因特
網(wǎng)通訊協(xié)議(IP, internet protocol)路徑,其中每個(gè)穿過IP路 徑的數(shù)據(jù)流都可以;故追溯到其IP地址。
內(nèi)容匹配引擎的一個(gè)實(shí)施方式是利用一個(gè)處理器 (CPU/NPU)。在運(yùn)行中,標(biāo)志數(shù)據(jù)庫的內(nèi)容組^皮存儲(chǔ)在一個(gè) 夕卜部同步隨機(jī)存取存々者器(SRAM, synchronous random access memory,)或者 一 個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM, (dynamicrandom access memory )中。被處理器運(yùn)行的軟件比4交輸入數(shù)據(jù) 流和標(biāo)志數(shù)據(jù)庫中的內(nèi)容組以執(zhí)行內(nèi)容匹配功能。因?yàn)樘幚砥?br>
(CPU/NPU)不是專門用于執(zhí)行內(nèi)容匹配的,因此基于處理器 運(yùn)行的匹配速度十分慢。
內(nèi)容匹配引擎的另外一個(gè)實(shí)施方式是利用內(nèi)容可尋址存儲(chǔ) 器(CAM, content addressable memory)或者三重內(nèi)容可尋址 存儲(chǔ)器(TCAM, ternary content addressable memory )。 CAM
(TCAM)是一個(gè)存儲(chǔ)裝置,其尤其適用于匹配功能。然而, CAM (TCAM)是一個(gè)特別昂貴的存儲(chǔ)元件,其一般的費(fèi)用是 SRAM的五倍。而且,CAM ( TCAM)的存儲(chǔ)容量特別小并且
不能隨著標(biāo)志數(shù)據(jù)庫中內(nèi)容組的增加而調(diào)整。
內(nèi)容匹配引擎的另外一個(gè)實(shí)施方式是利用 一個(gè)現(xiàn)場(chǎng)可再編 牙呈門P車歹i] (( FRGA, field reprogrammable gate array ))。在運(yùn)4亍 中,在標(biāo)志數(shù)據(jù)庫中的內(nèi)容組被轉(zhuǎn)換成狀態(tài)圖并且在FRGA中 作為狀態(tài)機(jī)實(shí)施。FRGA被編程用來掃描輸入數(shù)據(jù)流以在其中 尋找標(biāo)志數(shù)據(jù)庫中已經(jīng)在FRGA中被轉(zhuǎn)換成狀態(tài)圖的內(nèi)容組。 然而, 一旦標(biāo)志數(shù)據(jù)庫中的內(nèi)容組被修改,F(xiàn)RGA必須被相應(yīng) 重新配置。 一般來說,此類重新配置需要大量時(shí)間以至于FRGA 的靈活性會(huì)受到影響。
總的來說,以上實(shí)施方式具有多種缺點(diǎn)。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供了一種用于對(duì)數(shù)據(jù)流實(shí)現(xiàn) 規(guī)則匹配的裝置,包括內(nèi)容匹配模塊,其用來搜索所述數(shù)據(jù) 流以尋找多個(gè)內(nèi)容;和
第一規(guī)則匹配模塊,其連接到所述內(nèi)容匹配模塊,根據(jù)所 述搜索結(jié)果,用來更新多個(gè)狀態(tài)寄存器,并且根據(jù)所述多個(gè)狀態(tài)寄存器,用來判斷規(guī)則組是否被所述數(shù)據(jù)流匹配;
其中所述規(guī)則組包含從所述內(nèi)容組中選出的具有 一個(gè)單一
內(nèi)容的簡(jiǎn)單規(guī)則,和從所述多個(gè)內(nèi)容中選出的具有多重內(nèi)容的
復(fù)雜規(guī)則,并且其中每個(gè)所述狀態(tài)寄存器表示其中一個(gè)規(guī)則是
否#皮所述凄t據(jù)流匹配。
本發(fā)明進(jìn)一步提供了 一種用來對(duì)數(shù)據(jù)流實(shí)現(xiàn)規(guī)則匹配的方
法,包括
搜索所述數(shù)據(jù)流尋找多個(gè)內(nèi)容;
根據(jù)所述搜索結(jié)果更新多個(gè)狀態(tài)寄存器;并且
根據(jù)所述多個(gè)狀態(tài)寄存器判斷所述規(guī)則組是否被所述數(shù)據(jù)
流匹配,
其中所述規(guī)則組包含具有一個(gè)單一內(nèi)容的簡(jiǎn)單規(guī)則和具有 多重內(nèi)容的復(fù)雜規(guī)則,并且其中所述多個(gè)狀態(tài)寄存器中的每個(gè) 狀態(tài)寄存器表示所述規(guī)則組中的 一 個(gè)規(guī)則是否被所述數(shù)據(jù)流匹 配。
本發(fā)明所述的規(guī)則匹配裝置和方法,可有效利用資源,并 具有相對(duì)高的靈活性和相對(duì)低的價(jià)格。
本發(fā)明的優(yōu)點(diǎn)將會(huì)通過如下說明書典型實(shí)施例的詳細(xì)說明 變得明顯,其中說明書應(yīng)該結(jié)合附圖理解,其中
圖l是根據(jù)本發(fā)明實(shí)施例的一個(gè)規(guī)則匹配系統(tǒng)的框圖; 圖2是根據(jù)本發(fā)明實(shí)施例的第 一規(guī)則匹配模型的框圖; 圖3是根據(jù)本發(fā)明實(shí)施例的 一 個(gè)狀態(tài)寄存器的結(jié)構(gòu)圖; 圖4是根據(jù)本發(fā)明實(shí)施例的一種用來對(duì)數(shù)據(jù)流實(shí)現(xiàn)規(guī)則匹 配方法的流程圖。
具體實(shí)施例方式
現(xiàn)在將會(huì)詳細(xì)參考本發(fā)明實(shí)施例。雖然本發(fā)明將會(huì)結(jié)合具 體實(shí)施例進(jìn)行說明,但是可以理解,如下說明不是意圖將本發(fā) 明限制在實(shí)施例中。相反,本發(fā)明覆蓋了所有的替代,修改和 等同方式,只要這些相關(guān)技術(shù)特征包含在本發(fā)明隨附的權(quán)利要 求書定義的主旨和范圍中。
圖l所示的是根據(jù)本發(fā)明一個(gè)實(shí)施例中 一個(gè)規(guī)則匹配系統(tǒng)
100的框圖。系統(tǒng)100包含一個(gè)匹配引擎110和一個(gè)標(biāo)志數(shù)據(jù)庫 120。標(biāo)志數(shù)據(jù)庫120存在于一個(gè)存儲(chǔ)元件中,例如SRAM或 DRAM,并包含內(nèi)容組,該內(nèi)容組進(jìn)一步^皮整理成規(guī)則組,該內(nèi) 容組可以包含具有一個(gè)單一內(nèi)容的簡(jiǎn)單規(guī)則組和具有多個(gè)內(nèi)容 的復(fù)雜規(guī)則組。匹配引擎110掃描數(shù)據(jù)流101,以在其中尋找在 標(biāo)志數(shù)據(jù)庫120中的規(guī)則組。在一個(gè)實(shí)施例中,為了加快規(guī)則匹 配, 一個(gè)數(shù)據(jù)過濾模塊103能被連接于數(shù)據(jù)流101和匹配引擎IIO 之間。 一個(gè)輸出模塊130也能被連接到匹配引擎IIO,以當(dāng)在數(shù) 據(jù)流101和在標(biāo)志數(shù)據(jù)庫12 0中的規(guī)則組之間找到 一 個(gè)匹配時(shí), 輸出模塊130提供一個(gè)警報(bào)信號(hào)。在一個(gè)實(shí)施例中,匹配引擎IIO 能進(jìn)一步包括一個(gè)內(nèi)容匹配模塊105,第一^L則匹配才莫塊107和 第二規(guī)則匹配模塊109。
數(shù)據(jù)過濾模塊103過濾數(shù)據(jù)流101,以便只有那些有可能與 在標(biāo)志數(shù)據(jù)庫12 0中的規(guī)則組匹配的數(shù)據(jù)被輸出到匹配引擎110 以進(jìn)行進(jìn)一步檢查。這樣,系統(tǒng)100的處理速度能被明顯提高。 在一個(gè)實(shí)施例中,數(shù)據(jù)過濾模塊103能在數(shù)據(jù)流101中尋找標(biāo)志 數(shù)據(jù)庫120中規(guī)則組的部分字符串,并且只有包含該部分字符串 的數(shù)據(jù)被輸出以便進(jìn)一步檢查。例如,在標(biāo)志數(shù)據(jù)庫120中的一 第一規(guī)則包含字符串"hinthint"其后跟有"virusvirusvirus",并 且在標(biāo)志數(shù)據(jù)庫120中的一第二規(guī)則包含字符串"playplay"其后跟有"basketbasketbasket"。不是在數(shù)據(jù)流101中尋找這些規(guī)則組 的全部字符串(例如,"hinthintvirusvirusvirus,,和 "playplaybasketbasketbasket"),而是由凄史據(jù)過濾才莫塊103尋找部 分字符串(例如,"hinthint"和"playplay"),并且只有在數(shù)據(jù)流 101中包含"hinthint"或"playplay"的數(shù)據(jù)被輸出到匹配引擎110 以便進(jìn)一步^r查。
為了進(jìn)一步加快系統(tǒng)100的處理速度,部分字符串可以采用 壓縮算法,例如哈希算法(hashing),被壓縮到同樣更短的部 分字符串。例如,包含"hinthint"和"playplay"的8位部分字符 串能被哈希壓縮成同樣的3位部分字符串(例如"abc")。在這種 情況下,數(shù)據(jù)過濾模塊103首先在數(shù)據(jù)流101中尋找3位被哈希壓 縮過的部分字符串"a b c ,,;如果在數(shù)據(jù)流101中找到被哈希壓縮 過的部分字符串"abc",從"abc"解壓出來的8位部分字符串(例 如"hinthint,,和"playplay,,)在數(shù)據(jù)流101中被進(jìn)一步搜索。以這 種方式,數(shù)據(jù)過濾模塊103的過濾速度被進(jìn)一 步提高使得系統(tǒng) IOO達(dá)到一個(gè)進(jìn)一步提高的處理速度。
內(nèi)容匹配模塊105從被數(shù)據(jù)過濾模塊103過濾的數(shù)據(jù)中搜索 在標(biāo)志數(shù)據(jù)庫12 0中的內(nèi)容組,并且只有那些在被過濾的數(shù)據(jù)中 被找到的內(nèi)容組被輸出到第 一規(guī)則匹配模塊107。在 一個(gè)實(shí)施例 中,在標(biāo)志數(shù)據(jù)庫120中每個(gè)獨(dú)一無二的內(nèi)容由一個(gè)獨(dú)一無二的 內(nèi)容標(biāo)識(shí)符(CID, content identifier )所標(biāo)記,并且在被過濾的 數(shù)據(jù)中找到的內(nèi)容組的CID組被匯報(bào)給第 一規(guī)則匹配模塊107 從而方便分類。例如,標(biāo)志數(shù)據(jù)庫120包含內(nèi)容組"abcdefg", "bla-bla-bla-bla,,, "hkejljmoetp,, , " 1 23455432 1 abcde,,, "leddisplay,,, "vpnfirewall","batterycollcharging", 等等。內(nèi)容 "abcdefg,, , "bla-bla-bla-bla,, , "hke川moetp,,, "1 23455432 labcde,,, "leddisplay", "vpnfirewall,,,"batterycollcharging,,分另ij凈皮才示i己成CID畫l , CID-2, CID-3, CID-4, CID-5, CID-6, CID-7。被過濾的數(shù)據(jù)包含一個(gè)字符串 "123國455xxxbbbbla一 bla畫bla- blaa",,dfafahkejljmoetpadjqer,H gadfleddisplay.... bafgsgvpnfirewa11….aabatterycollcharging"。在 被內(nèi)容匹配模塊105掃描后,內(nèi)容組"bla-bla-bla-bla", "hkejljmoetp,', "leddisplay,,, "vpnfirewall,' 和 "batterycollcharging,,能在被過濾的數(shù)據(jù)中被找到,并且每個(gè) CID組(CID國2, CID-3, CID-5, CID畫6, CID-7)作為匹配的 C I D組被匯報(bào)給第 一 規(guī)則匹配模塊1 0 7 。
如前所述,在標(biāo)志數(shù)據(jù)庫12 0中的多個(gè)內(nèi)容組3皮整理成規(guī)則 組。為了判斷數(shù)據(jù)流101與規(guī)則組是否匹配,第一規(guī)則匹配模塊 107能夠觸發(fā)包含由匹配的CID組所標(biāo)記的內(nèi)容組的相關(guān)規(guī)則 組以進(jìn)一步檢查。例如,內(nèi)容"abcdefg"構(gòu)成一個(gè)規(guī)則-l,內(nèi)容 組"bla-bla-bla-bla", "hkejljmoetp"和"vpnfirewall"構(gòu)成一個(gè)規(guī)則 -2,并且內(nèi)容組"bla-bla-bla-bla"和"1234554321abcde,,構(gòu)成 規(guī)則-3。因此,規(guī)則-l是一個(gè)簡(jiǎn)單規(guī)則并且規(guī)則-2和規(guī)則-3是 復(fù)雜規(guī)則組。 一個(gè)代表這些規(guī)則組的CID組如下規(guī)則-l:CID-l; 規(guī)則-2:CID-2, CID-3, CID-6;少見則-3: CID-2, CID-4。如前 假設(shè),CID-2, CID-3, CID-5, CID-6和CID-7作為匹配的CID 組被匯報(bào)。隨后,和規(guī)則-3 (其包含纟皮匹配的CID組標(biāo) 記的內(nèi)容組)被觸發(fā)以在第一規(guī)則匹配模塊107中進(jìn)一步檢查。 然而,規(guī)則-l被第一規(guī)則匹配模塊107忽略,因?yàn)樗鲆?guī)則-l不 包含任何被匹配的CID組標(biāo)記的內(nèi)容。并且,第一規(guī)則匹配模 塊10 7能作為 一 個(gè)狀態(tài)機(jī)被運(yùn)行,用來偵測(cè)是否所有被包含在被 觸發(fā)規(guī)則組中的所有內(nèi)容都被數(shù)據(jù)流101找到,并基于偵測(cè)結(jié)果 作出一個(gè)匹配的判斷,這一點(diǎn)會(huì)在以下部分詳細(xì)說明。因此, 第 一 規(guī)則匹配才莫塊107能作出規(guī)則-2被數(shù)據(jù)流101匹配的匹配判斷。然而,規(guī)則-3沒有被匹配,因?yàn)閿?shù)據(jù)流101不含有CID-4標(biāo) 記的內(nèi)容。以這種方式,系統(tǒng)100能夠在掃描數(shù)據(jù)流101尋找一 個(gè)復(fù)雜規(guī)則時(shí),和尋找一個(gè)簡(jiǎn)單規(guī)則時(shí)一樣高效。并且,被第 一規(guī)則匹配模塊107作出的匹配判斷可以被提供給輸出模塊130 (應(yīng)為130 ),以發(fā)出警報(bào)。
并且,對(duì)于一個(gè)在標(biāo)志數(shù)據(jù)庫120中具有多重內(nèi)容的復(fù)雜規(guī) 則,可以有附加的要求,例如一個(gè)順序要求,其用來在復(fù)雜頭見 則之內(nèi)為多重內(nèi)容設(shè)定一個(gè)順序,或者一個(gè)預(yù)定距離要求,其 用來在復(fù)雜規(guī)則之內(nèi)為內(nèi)容組設(shè)定一個(gè)距離限制。對(duì)于一個(gè)順 序要求,第一規(guī)則匹配模塊107能被設(shè)計(jì)成以一個(gè)嚴(yán)格的連續(xù)順 序從內(nèi)容匹配模塊105中接收被匹配的CID組,并且也作出匹配 判斷,這將在以后部分詳細(xì)說明。對(duì)于一個(gè)預(yù)定距離要求,當(dāng) 第一規(guī)則匹配模塊107已經(jīng)識(shí)別了所有由匹配的CID組標(biāo)記的 內(nèi)容組構(gòu)成的規(guī)則組后,第二規(guī)則匹配模塊109被專用于處理這 個(gè)限制。在下面的部分中對(duì)第二M^則匹配才莫塊109會(huì)作 一個(gè)更加 詳細(xì)的i兌明。
參考圖l能夠推導(dǎo)出,系統(tǒng)100采用一個(gè)多步驟方法,通過 不同的模塊一步一步檢查數(shù)據(jù)流IOI。以這種方式,在標(biāo)志數(shù)據(jù) 庫120中每個(gè)被匹配的規(guī)則都能被快速識(shí)別以至于系統(tǒng)效率械_ 提高。還有,系統(tǒng)100提供一個(gè)徹底的解決方案掃描數(shù)據(jù)流101, 以便查找具有多重內(nèi)容的復(fù)雜規(guī)則組和附加要求。另外,標(biāo)志 數(shù)據(jù)庫120能被容易地修改或者擴(kuò)充,因?yàn)闃?biāo)志數(shù)據(jù)庫120位于 SRAM或者DRAM中,其具有大的存儲(chǔ)空間并可以被重寫。 SRAM或DRAM是相對(duì)便宜的存儲(chǔ)元件。系統(tǒng)100能在一個(gè)集成 邏輯電路中運(yùn)行,例如, 一個(gè)在100k門(gate)范圍的現(xiàn)場(chǎng)可 編程門陣列(FPGA, ( Field Programmable Gate Array ))或?qū)S?集成電路(ASIC, (Application Specific Integrated Circuit)),其資源可以被有效利用。因此,系統(tǒng)100也有相對(duì)高的靈活性和
相對(duì)低的價(jià)格。
圖2顯示了根據(jù)本發(fā)明實(shí)施例第一 則匹配才莫塊10 7的 一 個(gè) 框圖。圖2中標(biāo)注相同標(biāo)記的元件具有相同的功能并且在此為了 簡(jiǎn)明起見不再贅述。第一規(guī)則匹配模塊107在此作為一個(gè)狀態(tài)機(jī) 203被運(yùn)行。狀態(tài)機(jī)203根據(jù)被匯報(bào)給狀態(tài)機(jī)203的所匹配CID 組,能判斷出在標(biāo)志數(shù)據(jù)庫120中的規(guī)則組是否被匹配。匹配的 CID組在此被標(biāo)記為201。并且,標(biāo)志數(shù)據(jù)庫120#:分成一個(gè)規(guī) 則塊205和一個(gè)狀態(tài)寄存器塊207。規(guī)則塊205存儲(chǔ)規(guī)則組,如上, 其具有以上述CID的表示。狀態(tài)寄存器塊207包含對(duì)應(yīng)規(guī)則組的 狀態(tài)寄存器組,其用來跟蹤對(duì)應(yīng)規(guī)則組的匹配結(jié)果。例如,狀 態(tài)寄存器l對(duì)應(yīng)規(guī)則-l并且跟蹤規(guī)則-l的匹配結(jié)果,狀態(tài)寄存器 2對(duì)應(yīng)規(guī)則-2并且跟蹤規(guī)則-2的匹配結(jié)果,狀態(tài)寄存器3對(duì)應(yīng)規(guī) 則-3并且跟蹤規(guī)則-3的匹配結(jié)果,并且狀態(tài)寄存器N對(duì)應(yīng)規(guī)則-N 并且跟蹤規(guī)則-N的匹配結(jié)果。每個(gè)狀態(tài)寄存器具有一定數(shù)量的 位。位數(shù)量取決于規(guī)則組中其中 一 個(gè)規(guī)則所具有的最大內(nèi)容數(shù)。
在運(yùn)行中,狀態(tài)機(jī)203能觸發(fā)包含所匹配CID組標(biāo)記的內(nèi)容 組的相關(guān)規(guī)則組(),以進(jìn)行檢查。如前所假設(shè),包含所匹配的 CID組的相關(guān)規(guī)則-2和規(guī)則-3被狀態(tài)機(jī)203觸發(fā)以進(jìn)行檢查。特 別地,每個(gè)狀態(tài)寄存器的每個(gè)位被設(shè)成邏輯l或者邏輯O,以表 示在每個(gè)規(guī)則中的內(nèi)容組中的某一個(gè)內(nèi)容是否在數(shù)據(jù)流IOI中 被發(fā)現(xiàn)。根據(jù)每個(gè)狀態(tài)寄存器的位值,狀態(tài)機(jī)203能判斷每個(gè)規(guī) 則是否^L數(shù)據(jù)流101匹配。
圖3是根據(jù)本發(fā)明 一 個(gè)實(shí)施例中 一 個(gè)狀態(tài)寄存器300的 一 個(gè) 結(jié)構(gòu)圖。對(duì)圖3的說明結(jié)合圖2。寄存器300具有M位,其表示在 數(shù)據(jù)流101中的規(guī)則組中其中 一 個(gè)規(guī)則具有最大的內(nèi)容數(shù)為M 。 在其中一個(gè)實(shí)施例中,最左邊的N位表示對(duì)應(yīng)狀態(tài)寄存器300的規(guī)則由N個(gè)內(nèi)容構(gòu)成,并且N個(gè)內(nèi)容的每個(gè)匹配結(jié)果被最左邊的 N位中的某一位追蹤。在一個(gè)實(shí)施例中,最左邊N位初始化為邏 輯0而其他的M-N位-故初始化為邏輯1。例如,對(duì)應(yīng)狀態(tài)寄存器 300的規(guī)則#皮歸屬于*見則-4,其由3個(gè)內(nèi)容構(gòu)成,該內(nèi)容組^皮分 別標(biāo)記為CID-1, CID-3和CID-5。這樣,N等于3。在運(yùn)行中, 最左邊3位被初始化為邏輯0同時(shí)其余M-3 (M減去3)位凈皮初始 化為邏輯l一位l ( Bl )位對(duì)應(yīng)CID-1,位2 ( B2 )對(duì)應(yīng)CID-3,并 且位3 ( B3 )對(duì)應(yīng)CID-5。如前所假設(shè),CID-3和CID-M乍為匹 配的CID組被匯報(bào)。因此,狀態(tài)寄存器300的位2 ( B2 )被更新 成邏輯l。相似地,位3(B3)也被更新成邏輯1。然而,位1(B1 ) 仍舊是邏輯0,因?yàn)镃ID-1不屬于被匹配的CID組。隨后,狀態(tài) 機(jī)2 0 3能判斷規(guī)則-4不被數(shù)據(jù)流101匹配,因?yàn)椴皇菭顟B(tài)存儲(chǔ)器 300的所有位都被設(shè)置成邏輯1。
另外,表示內(nèi)容組的匹配結(jié)果的N位能具有各種各樣的位 置分布于狀態(tài)寄存器300中,而不是被限制在最左邊的N個(gè)位 中。還有,只要如上功能能夠?qū)崿F(xiàn),狀態(tài)寄存器300能以不同的 方式被初始化。
并且,當(dāng)有一個(gè)如上所討i侖的順序要求時(shí),狀態(tài)4幾203被設(shè) 計(jì)成能以一個(gè)嚴(yán)格的連續(xù)順序接收被匹配的CID組。例如,當(dāng) 規(guī)則-4中的內(nèi)容組被要求具有順序CID-1, CID-3, CID-5時(shí),狀 態(tài)機(jī)203能被設(shè)計(jì)成,只有當(dāng)左邊臨近位已經(jīng)被設(shè)成邏輯1時(shí), 狀態(tài)機(jī)300的最左邊3個(gè)位才被設(shè)置成狀態(tài)1。優(yōu)點(diǎn)是,不必考慮 什么樣的順序被規(guī)則組要求,狀態(tài)機(jī)2 0 3都能夠選擇 一 個(gè)結(jié)構(gòu)來
存儲(chǔ)被要求的順序。
在一個(gè)實(shí)施例中,假設(shè)最大內(nèi)容數(shù)是16,對(duì)應(yīng)規(guī)則-l的狀 態(tài)寄存器1被初始化成0111-1111-1111-1111 (從最左邊B1到最右 邊B16),這是因?yàn)椋缜八龅睦又?,^L則-1包含一單獨(dú)CID(CID-1)并因此只有一單獨(dú)位(最左邊位B1)被設(shè)成邏輯O。 類似地,對(duì)應(yīng)規(guī)則-2的狀態(tài)寄存器2被初始化成 0001-1111-1111-1111 (從最左邊B1到最右邊B16 ),因?yàn)椋谌?上例子中,規(guī)則-2包含3個(gè)CID組(CID-2, CID-3和CID-6)并 因此這3個(gè)最左邊位B1—B3被設(shè)成邏輯0。以一個(gè)相似的方式, 對(duì)應(yīng)規(guī)則-3的狀態(tài)寄存器3被初始化成0011-1111-1111-1111 (從 最左邊B1到最右邊B16)。
假設(shè)(通過舉例方式)被匹配的CID組被狀態(tài)機(jī)203接收的 順序是CID-3, CID-5, CID-2, CID-6和CID-7,則狀態(tài)機(jī)203將 有次序地執(zhí)行隨后的操作。當(dāng)CID-3被接收后,狀態(tài)寄存器2將 被更新成OlOl-llll-llll-llll,因?yàn)橐?guī)則-2包含CID-3,而狀態(tài) 寄存器2對(duì)應(yīng)規(guī)則-2,并且第二個(gè)位對(duì)應(yīng)CID-3;狀態(tài)寄存器l 和3將會(huì)保持原來的值,分別為0111-1111-1111-1111和 0011-1111-1111-1111。以一個(gè)相似的方式,當(dāng)CID-5祐J妄收后, 狀態(tài)寄存器l, 2和3將會(huì)保持他們的原來的值,因?yàn)镃ID-5沒有 被包含在對(duì)應(yīng)規(guī)則組中。當(dāng)CID-2被接收后,狀態(tài)寄存器2和3 將4皮分別更新成1101-1111-1111-1 lll和1011-1111-1111-1111,因 為CID-2被包含在規(guī)則-2和規(guī)則-3中,并且對(duì)應(yīng)狀態(tài)寄存器2 和3的第 一 位;狀態(tài)寄存器1將會(huì)保持原來的值為 0111-1111-1111-1111。當(dāng)CID-6被接收后,狀態(tài)寄存器2將會(huì)被 更新成1111-1111-1111-1111,同時(shí)狀態(tài)寄存器1和3將會(huì)保持保 持它們?cè)瓉淼闹禐?111-1111-1111-1 lll和1011-1111-1111-1111。 當(dāng)CID-7被接收,狀態(tài)寄存器組l, 2和3將會(huì)保持他們?cè)瓉淼闹担?因?yàn)镃ID-7沒有^皮包含在相應(yīng)規(guī)則組中。當(dāng)所有被匹配的CID組 被搜索到后,狀態(tài)機(jī)2 0 3能夠判斷是否對(duì)應(yīng)規(guī)則組被數(shù)據(jù)流101 匹配。例如,狀態(tài)機(jī)203能判斷規(guī)則-2被^t據(jù)流101匹配,因?yàn)?狀態(tài)寄存器2的所有位都被設(shè)成邏輯1,同時(shí)規(guī)則-l和規(guī)則-3不被數(shù)據(jù)流101匹配,因?yàn)闋顟B(tài)寄存器1和3中不是所有位都被設(shè)成 邏輯l。
在一個(gè)實(shí)施例中,規(guī)則-2能包含一個(gè)附加的順序要求。例 如,規(guī)則-2中的內(nèi)容組被預(yù)設(shè)成順序CID-2,CID-3和CID-6。在 這種情況下,狀態(tài)機(jī)203能被設(shè)計(jì)成只有當(dāng)左邊臨近位已經(jīng)一皮設(shè) 成邏輯1時(shí),狀態(tài)寄存器2中的B1,B2和B3才能被設(shè)成邏輯1。這 樣,在以上例子中,狀態(tài)機(jī)203能判斷出,在CID-3被第一次接 收時(shí),規(guī)則-2沒有被數(shù)據(jù)流101匹配,因?yàn)闋顟B(tài)寄存器2將被更 新成0101-1111-1111-1111-1111,其不滿足狀態(tài)機(jī)203的預(yù)設(shè)構(gòu) 造。
再次參考圖1,標(biāo)志數(shù)據(jù)庫120可以包含具有多重內(nèi)容的復(fù) 雜規(guī)則和預(yù)設(shè)距離要求。例如, 一個(gè)在標(biāo)志數(shù)據(jù)庫120中的復(fù)雜 頭見則-5可以如下所示
規(guī)則畫5: "leddisplay,,,后面跟著"batterycollcharging,,,距 離剛好是50個(gè)字符,接著跟著"bla-bla-bla-bla",并且不超過 20個(gè)字符。
^口前戶斤*支i殳,"leddisplay,, , "batterycoolcharging,,牙口 "bla-bla-bla-bla,,分別被標(biāo)記為CID-5, CID-7和CID-2。 CID代表 的復(fù)雜規(guī)則-5如下
^見則-5: CID-5:, CID-7:=50, CID-2:<20
為了處理預(yù)設(shè)距離要求,內(nèi)容匹配模塊105將會(huì)不僅匯報(bào)被 匹配CID組給第 一 規(guī)則匹配模塊10 7,還會(huì)偵測(cè)在數(shù)據(jù)流101中 找到的內(nèi)容組的位置并發(fā)送被偵測(cè)到的位置給第二規(guī)則匹配模 塊109。如前假設(shè),CID-2, CID-3, CID-5, CID-6和CID-7作為 被匹配的CID組被內(nèi)容匹配模塊105匯報(bào)。另外,內(nèi)容匹配模塊 105也將會(huì)偵測(cè)在數(shù)據(jù)流101中被標(biāo)示為CID-2, CID-3, CID-5 CID-6,和CID-7的內(nèi)容的位置。其結(jié)果就是,內(nèi)容匹配模塊105將要獲得與這些位置結(jié)合的被匹配CID組。例如,內(nèi)容匹配模 塊105將獲得如下信息CID-5: 25, CID-7: 75, CID-2:100, CID-6:125, CID-3: 130,而這組信息則表示CID-5 , CID-7, CID-2 , CID-6和CID-3在數(shù)據(jù)流101中被找到的位置分別在25 , 75, 100, 125和130。
如前所討論,在數(shù)據(jù)流101通過第一規(guī)則匹配模塊105后, 與規(guī)則組相關(guān)的、沒有預(yù)設(shè)距離要求的匹配判斷能被直接匯報(bào) 給輸出模塊130。而且,對(duì)于具有預(yù)設(shè)距離要求的復(fù)雜規(guī)則-5, 第二規(guī)則匹配模塊109將開始檢查在規(guī)則-5中的多重內(nèi)容之間 的距離。
在這種情況下,第二規(guī)則匹配模塊109將要接收來自內(nèi)容匹 配模塊105的、被包含在復(fù)雜規(guī)則-5中的多重內(nèi)容的位置,以便 計(jì)算這些內(nèi)容之間的距離。例如,基于CID-5, CID-7和CID-2 的位置,第二規(guī)則匹配模塊109計(jì)算CID-5和CID-7之間的距離 是50個(gè)字符并且CID-7和CID-2之間的距離是25個(gè)字符。這樣, CID-7和CID-2之間的距離不滿足不大于20個(gè)字符的預(yù)設(shè)距離 要求。因此,第二規(guī)則匹配模塊109能做出匹配判斷,即復(fù)雜規(guī) 則-5不被數(shù)據(jù)流101匹配。
圖4是根據(jù)本發(fā)明一實(shí)施例中對(duì)數(shù)據(jù)流執(zhí)行規(guī)則匹配方法 的流程圖400。雖然在圖4中揭示了單個(gè)步驟作為示例,但這些 步驟只是舉例。就是說,本發(fā)明十分適合于圖4中引用示例的各 種各樣的其他實(shí)施步驟或者其他的變型。對(duì)圖4的說明是結(jié)合圖 l和圖2進(jìn)行的。
在框圖410中,數(shù)據(jù)流被過濾以便加快規(guī)則匹配。在一個(gè)實(shí) 施例中,數(shù)據(jù)過濾模塊103能搜索數(shù)據(jù)流101以尋找規(guī)則組的部 分字符串,從而根據(jù)搜索結(jié)果過濾數(shù)據(jù)流IOI。數(shù)據(jù)過濾步驟對(duì) 規(guī)則匹配是有益的但不是不可缺少的。在框圖420中,被過濾的數(shù)據(jù)流被搜索以尋找內(nèi)容組,從而 得到被匹配的內(nèi)容標(biāo)識(shí)符組。在一個(gè)實(shí)施例中,內(nèi)容匹配模塊 10 5能搜索來自數(shù)據(jù)過濾模塊10 3的被過濾的數(shù)據(jù)流以便尋找多 個(gè)內(nèi)容,并把在被過濾數(shù)據(jù)流中找到的內(nèi)容中的內(nèi)容標(biāo)識(shí)符組 作為被匹配的內(nèi)容標(biāo)識(shí)符組匯報(bào)。在框圖430中,根據(jù)被匹配內(nèi)容標(biāo)識(shí)符組,狀態(tài)寄存器組被 更新以判斷是否規(guī)則組被數(shù)據(jù)流匹配。在一個(gè)實(shí)施例中,第一 規(guī)則匹配模塊10 7能被作為 一 個(gè)狀態(tài)機(jī)2 0 3運(yùn)行,根據(jù)被匹配的 內(nèi)容標(biāo)識(shí)符組,用來更新在標(biāo)志數(shù)據(jù)庫120中的狀態(tài)寄存器組。 狀態(tài)寄存器組的位值能判斷規(guī)則組是否被數(shù)據(jù)流101匹配。在框圖440中,如果規(guī)則組要求一個(gè)預(yù)設(shè)距離要求,那么被 包含在規(guī)則組中的內(nèi)容之間的距離被沖企查以判斷是否該規(guī)則組 被數(shù)據(jù)流匹配。在一個(gè)實(shí)施例中,規(guī)則組包含具有單一內(nèi)容的 簡(jiǎn)單規(guī)則組和具有多重內(nèi)容的復(fù)雜規(guī)則組。復(fù)雜規(guī)則組能進(jìn)一 步包含一個(gè)預(yù)設(shè)距離要求。在這種情況下,第二規(guī)則匹配模塊 109被用來檢查多重內(nèi)容之間的距離。當(dāng)在檢查后,預(yù)設(shè)距離要 求被滿足,第二規(guī)則匹配模塊10 9能判斷復(fù)雜規(guī)則組被數(shù)據(jù)流 101匹配。在此所用的術(shù)語和表述是用來說明的術(shù)語,并不是限制, 并且沒有意圖,用這些術(shù)語和表述排除任何顯示和說明(或者 部分顯示和說明)的技術(shù)特征的等同特征,并且承認(rèn)在權(quán)利要 求范圍內(nèi)有各種各樣的修改是可能的。其他的修改,各種形式, 和變形也是可能的。因此,權(quán)利要求的意圖是覆蓋所有這些等 同和變形的方式。
權(quán)利要求
1.一種用于對(duì)數(shù)據(jù)流執(zhí)行規(guī)則匹配的裝置,其特征在于,包括內(nèi)容匹配模塊,其用來搜索所述數(shù)據(jù)流以尋找多個(gè)內(nèi)容;和第一規(guī)則匹配模塊,其連接到所述內(nèi)容匹配模塊,根據(jù)所述搜索結(jié)果,用來更新多個(gè)狀態(tài)寄存器,并且根據(jù)所述多個(gè)狀態(tài)寄存器,判斷規(guī)則組是否被所述數(shù)據(jù)流匹配;其中所述規(guī)則組包含從所述內(nèi)容組中選出的具有一個(gè)單一內(nèi)容的簡(jiǎn)單規(guī)則,和從所述多個(gè)內(nèi)容中選出的具有多重內(nèi)容的復(fù)雜規(guī)則,并且其中每個(gè)所述狀態(tài)寄存器表示其中一個(gè)規(guī)則是否被所述數(shù)據(jù)流匹配。
2. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,進(jìn)一步包括 數(shù)據(jù)過濾模塊,其連接到所述內(nèi)容匹配模塊以搜索所述數(shù)據(jù)流,以在其中尋找所述規(guī)則組的部分字符串,并且在所述數(shù) 據(jù)流被所述內(nèi)容匹配模塊搜索尋找所述多個(gè)內(nèi)容之前,根據(jù)所 述搜索結(jié)果過濾所述數(shù)據(jù)流。
3. 根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述部分字 符串被哈希壓縮成一個(gè)部分字符串并且所述數(shù)據(jù)流被搜索尋找 所述被哈希壓縮的部分字符串。
4. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,所述多個(gè)內(nèi) 容由多個(gè)內(nèi)容標(biāo)識(shí)符分別標(biāo)示,并且其中,根據(jù)被匹配的內(nèi)容 標(biāo)識(shí)符,相關(guān)規(guī)則組4皮觸發(fā)以用來檢查,所述^皮匹配內(nèi)容標(biāo)識(shí) 符標(biāo)示在所述數(shù)據(jù)流中被找到的所述內(nèi)容。
5. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,所述第一規(guī) 則匹配模塊被作為一個(gè)狀態(tài)機(jī)運(yùn)行。
6. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,所述第一規(guī) 則匹配模塊對(duì)在所述數(shù)據(jù)流中找到的所迷多個(gè)內(nèi)容規(guī)定 一 個(gè)順據(jù)流匹配。
7. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,所述復(fù)雜規(guī)則具有 一 個(gè)預(yù)設(shè)的距離要求。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,進(jìn)一步包括 第二規(guī)則匹配模塊,其連接到所述第一規(guī)則匹配模塊用來檢查在所述多重內(nèi)容之間的距離是否滿足所述預(yù)設(shè)距離要求,并且根據(jù)所述檢查結(jié)果判斷所述復(fù)雜規(guī)則是否被所述數(shù)據(jù)流匹配。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述內(nèi)容匹 配模塊在所述數(shù)據(jù)流中偵測(cè)所述多重內(nèi)容的位置,并且其中所述第二規(guī)則匹配才莫塊#:連接到所述內(nèi)容匹配才莫塊以便基于所述被偵測(cè)的位置計(jì)算所述多重內(nèi)容之間的距離。
10. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,用來執(zhí)行所述規(guī)則匹配的所述裝置在一個(gè)硬件中^皮運(yùn)4亍,所述石更件從至少 一個(gè)現(xiàn)場(chǎng)可編程門陣列和一個(gè)專用集成電路中選擇。
11. 根據(jù)權(quán)利要求l所述的裝置,其特征在于,所述多個(gè)內(nèi) 容被存儲(chǔ)在一個(gè)存儲(chǔ)元件中,所述存儲(chǔ)元件從至少一個(gè)同步隨 機(jī)存取器和一個(gè)動(dòng)態(tài)隨機(jī)存儲(chǔ)器中選擇。
12. —種用來對(duì)數(shù)據(jù)流執(zhí)行規(guī)則匹配的方法,其特征在于, 包括搜索所述數(shù)據(jù)流以尋找多個(gè)內(nèi)容;根據(jù)所述搜索結(jié)果更新多個(gè)狀態(tài)寄存器;并且根據(jù)所述多個(gè)狀態(tài)寄存器判斷規(guī)則組是否被所述數(shù)據(jù)流匹配,其中所述規(guī)則組包含具有一個(gè)單一內(nèi)容的簡(jiǎn)單規(guī)則和具有 多重內(nèi)容的復(fù)雜規(guī)則,并且其中所述多個(gè)狀態(tài)寄存器中的每個(gè)狀態(tài)寄存器表示所述規(guī)則組中的一個(gè)規(guī)則是否被所述數(shù)據(jù)流匹 配。
13. 根據(jù)權(quán)利要求12所述的方法,其特征在于,進(jìn)一步包括搜索所述數(shù)據(jù)流尋找所述規(guī)則組中的部分字符串;并且 在搜索所述數(shù)據(jù)流尋找所述多個(gè)內(nèi)容組之前根據(jù)所述搜索 結(jié)果過濾所述數(shù)據(jù)流。
14. 根據(jù)權(quán)利要求13所述的方法,其特征在于,進(jìn)一步包括哈希壓縮所述字符串成一個(gè)被哈希壓縮的部分字符串;并且搜索所述數(shù)據(jù)流尋找所述被哈希壓縮的部分字符串。
15. 根據(jù)權(quán)利要求12所述方法,其特征在于,進(jìn)一步包括 用多個(gè)內(nèi)容標(biāo)識(shí)符分別標(biāo)識(shí)所述多個(gè)內(nèi)容; 匯報(bào)所述多個(gè)內(nèi)容標(biāo)識(shí)符中其中 一個(gè)內(nèi)容標(biāo)識(shí)符,作為一個(gè)被匹配的內(nèi)容標(biāo)識(shí)符,其中所述被匹配的內(nèi)容標(biāo)識(shí)符標(biāo)識(shí)的 內(nèi)容在所述數(shù)據(jù)流中被找到;并且觸發(fā)相關(guān)規(guī)則組以根據(jù)所述被匹配的內(nèi)容標(biāo)識(shí)符檢查。
16. 根據(jù)權(quán)利要求12所述的方法,其特征在于,進(jìn)一步包括對(duì)在所述數(shù)據(jù)流中找到的多個(gè)內(nèi)容規(guī)定 一 個(gè)順序;并且 根據(jù)所述被規(guī)定的順序判斷所述規(guī)則組是否被所述數(shù)據(jù)流 匹配。
17. 根據(jù)權(quán)利要求12所述的方法,其特征在于,所述復(fù)雜 規(guī)則具有一個(gè)預(yù)設(shè)的距離要求。
18. 根據(jù)權(quán)利要求17所述的方法,其特征在于,進(jìn)一步包括檢查在所述多重內(nèi)容之間的距離是否滿足所述預(yù)設(shè)距離要 求,并且根據(jù)所述檢查結(jié)果判斷所述多重規(guī)則是否被所述數(shù)據(jù)流匹配。
19. 根據(jù)權(quán)利要求18所述的方法,其特征在于,進(jìn)一步包括在所述數(shù)據(jù)流中偵測(cè)所述多重內(nèi)容的位置;并且 基于所述被偵測(cè)的位置計(jì)算所述多重內(nèi)容之間的距離。
20. —種用來對(duì)數(shù)據(jù)流執(zhí)行規(guī)則匹配的系統(tǒng),其特征在于, 包括具有規(guī)則組的標(biāo)志數(shù)據(jù)庫,所述規(guī)則組包含多個(gè)內(nèi)容;并且匹配引擎連接到所述標(biāo)志數(shù)據(jù)庫用來搜索所述數(shù)據(jù)流以便 尋找所述多個(gè)內(nèi)容,并根據(jù)所述搜索結(jié)果更新多個(gè)狀態(tài)寄存器, 并且根據(jù)所述多個(gè)狀態(tài)寄存器判斷所述規(guī)則組是否被所述數(shù)據(jù) 流匹配;其中所述狀態(tài)寄存器組中的每個(gè)狀態(tài)寄存器顯示所述規(guī)則 組中其中規(guī)則是否被所述數(shù)據(jù)流匹配。
21. 根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,所述標(biāo)志 數(shù)據(jù)庫存在于一個(gè)存儲(chǔ)元件中,所述存儲(chǔ)元件從至少一個(gè)同步 隨機(jī)存取器和一個(gè)動(dòng)態(tài)隨機(jī)存儲(chǔ)器中選擇。
22. 根據(jù)權(quán)利要求20所述系統(tǒng),其特征在于,所述匹配引 擎在一個(gè)硬件中被運(yùn)行,所述硬件從至少一個(gè)現(xiàn)場(chǎng)可編程門陣列和一個(gè)專用集成電路中選擇。
23. 根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,進(jìn)一步包括數(shù)據(jù)過濾模塊,用來搜索所述規(guī)則組的部分字符串,并且在所述數(shù)據(jù)流被所述匹配引擎搜索尋找所述多個(gè)內(nèi)容之前,根 據(jù)所述搜索結(jié)果過濾所述數(shù)據(jù)流。
24. 根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,所述規(guī)則 組包含具有多重內(nèi)容的復(fù)雜規(guī)則和預(yù)設(shè)距離要求,并且其中所 述匹配引擎進(jìn)一步包括第一規(guī)則匹配模塊和第二規(guī)則匹配模 塊,通過檢查是否所述多重內(nèi)容在所述數(shù)據(jù)流中被找到,所述 第 一規(guī)則匹配模塊判斷所述復(fù)雜規(guī)則是否被所述數(shù)據(jù)流匹配, 并且通過檢查所述多重內(nèi)容之間的距離是否滿足所述預(yù)設(shè)距離 要求,所述第二規(guī)則匹配模塊判斷所述復(fù)雜規(guī)則是否被所述數(shù) 據(jù)流匹配。
25. 根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,所述匹配 引擎把在所述數(shù)據(jù)流中找到的所述多個(gè)內(nèi)容規(guī)定 一 個(gè)順序,并 且根據(jù)所述被規(guī)定的順序判斷是否所述規(guī)U 'J組被所述數(shù)據(jù)流匹 配。
全文摘要
本發(fā)明公開了一種規(guī)則匹配裝置和方法。所述規(guī)則匹配的裝置包含內(nèi)容匹配模塊和第一規(guī)則匹配模塊;所述內(nèi)容匹配模塊搜索所述數(shù)據(jù)流尋找內(nèi)容組;所述內(nèi)容組被整理成規(guī)則組,所述規(guī)則組包含具有單一內(nèi)容的簡(jiǎn)單規(guī)則和具有多重內(nèi)容的復(fù)雜規(guī)則;所述第一規(guī)則匹配模塊連接到所述內(nèi)容匹配模塊,根據(jù)所述內(nèi)容匹配模塊的一個(gè)搜索結(jié)果判斷是否所述規(guī)則組被所述數(shù)據(jù)流匹配;所述第一規(guī)則匹配模塊根據(jù)所述搜索結(jié)果更新多個(gè)狀態(tài)寄存器,并且每個(gè)狀態(tài)寄存器能顯示規(guī)則組中的一個(gè)規(guī)則是否被所述數(shù)據(jù)流匹配。本發(fā)明所述的規(guī)則匹配裝置和方法,可有效利用資源,并具有相對(duì)高的靈活性和相對(duì)低的價(jià)格。
文檔編號(hào)H04L29/06GK101409624SQ20081017020
公開日2009年4月15日 申請(qǐng)日期2008年10月9日 優(yōu)先權(quán)日2007年10月9日
發(fā)明者林明元, 符永貴 申請(qǐng)人:凹凸電子(武漢)有限公司