System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請涉及數(shù)據(jù)處理,尤其涉及一種決策樹生成方法、報文處理方法、設(shè)備和存儲介質(zhì)。
技術(shù)介紹
1、隨著信息技術(shù)的發(fā)展,在當(dāng)今的路由和防火墻等網(wǎng)絡(luò)設(shè)備中,報文分類是實(shí)現(xiàn)服務(wù)質(zhì)量(quality?of?service,簡稱qos)保證和安全防護(hù)的基本機(jī)制。報文分類的目的是根據(jù)網(wǎng)絡(luò)報文頭部的多個字段值來區(qū)分報文類型,從而對報文執(zhí)行相應(yīng)的差異化操作。報文分類器含有一個規(guī)則列表,其中每條規(guī)則由優(yōu)先級、匹配字段(也稱“維度”或“域”,后文統(tǒng)一使用字段表示)和匹配報文時采取的動作組成。
2、報文分類問題是從規(guī)則列表中找到與報文所匹配的優(yōu)先級最高的規(guī)則。目前廣泛使用的報文分類手段有基于三態(tài)內(nèi)容可尋址存儲器(ternary?content?addressablememory,簡稱tcam)的硬件方案和基于算法的軟件方案。在軟件算法中,決策樹方案因其可支持大容量規(guī)則,可擴(kuò)展性強(qiáng),查找速度快等優(yōu)點(diǎn)而被視為最有希望替代硬件的方法。
3、在決策樹構(gòu)建時,關(guān)鍵在于如何切割決策樹的節(jié)點(diǎn),實(shí)現(xiàn)遞歸建樹。通常,決策樹的節(jié)點(diǎn)切割方式有兩種:一是基于幾何空間切割的等分或等密切割。二是利用規(guī)則的比特位進(jìn)行的比特切割。幾何空間切割方案中,整個規(guī)則空間被切割成若干個獨(dú)立的子空間,規(guī)則各自被劃歸到不同的空間中,跨越多個子空間規(guī)則,將同時出現(xiàn)在所處的多個空間中,這一現(xiàn)象稱為規(guī)則復(fù)制。幾何空間切割往往伴隨著嚴(yán)重的規(guī)則復(fù)制、節(jié)點(diǎn)索引復(fù)雜、樹深過深等問題,且難以處理通配符處于任意位置的規(guī)則。比特切割則選擇有效的比特將規(guī)則映射到不同子節(jié)點(diǎn)中,從而避免了盲目的切割整
4、但比特切割并不能直接適用于所有的匹配字段,如目的端口號,它們往往以范圍的形式給出,這些范圍字段無法直接使用比特切割,相關(guān)的解決方案是在切割前或切割過程中將范圍字段擴(kuò)展成比特形式,一個以16bit表示的(范圍區(qū)間在0:65535)范圍字段,最多可以被擴(kuò)展成30條,若某規(guī)則存在兩個這樣的范圍字段,其或被擴(kuò)展至900條,擴(kuò)展后的規(guī)則全部都要參與后續(xù)的建樹過程,且存儲時每一條擴(kuò)展得到的規(guī)則都視為獨(dú)立的規(guī)則,致使有限的硬件資源所能處理、存儲的規(guī)則變得更少。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例的主要目的在于提供一種決策樹生成方法、報文處理方法、設(shè)備和存儲介質(zhì),實(shí)現(xiàn)自適應(yīng)選擇合適的切割方式對包含各種字段的規(guī)則集構(gòu)建決策樹,提高規(guī)則集的建樹速度和效率,降低存儲資源消耗。
2、第一方面,本申請實(shí)施例提供一種決策樹生成方法,包括:當(dāng)接收到待處理規(guī)則集時,檢測所述待處理規(guī)則集中是否存在范圍字段;若所述待處理規(guī)則集中存在范圍字段,將所述范圍字段轉(zhuǎn)化成掩碼形式,得到預(yù)處理后規(guī)則集;針對所述預(yù)處理后規(guī)則集的待切割目標(biāo)節(jié)點(diǎn),確定采用比特切割方式基于范圍字段切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第一規(guī)則復(fù)制率;判斷所述第一規(guī)則復(fù)制率是否大于或等于預(yù)設(shè)閾值;若所述第一規(guī)則復(fù)制率大于或等于所述預(yù)設(shè)閾值,確定采用幾何空間切割方式基于范圍字段切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第二規(guī)則復(fù)制率;根據(jù)所述第一規(guī)則復(fù)制率和所述第二規(guī)則復(fù)制率,確定適用于所述目標(biāo)節(jié)點(diǎn)的目標(biāo)切割方式,并采用所述目標(biāo)切割方式將對應(yīng)的目標(biāo)節(jié)點(diǎn)切割成兩個子節(jié)點(diǎn),根據(jù)切割結(jié)果生成所述待處理規(guī)則集對應(yīng)的決策樹。
3、于一實(shí)施例中,所述將所述范圍字段轉(zhuǎn)化成掩碼形式,包括:將待處理規(guī)則集中的范圍字段,擴(kuò)大成包含所述范圍字段限定的原始范圍區(qū)間、且可以用掩碼形式表示的目標(biāo)范圍區(qū)間,并將所述目標(biāo)范圍區(qū)間以掩碼形式表示。
4、于一實(shí)施例中,所述確定采用比特切割方式切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第一規(guī)則復(fù)制率,包括:將所述目標(biāo)節(jié)點(diǎn)中規(guī)則的所有字段轉(zhuǎn)換為比特串,在所述比特串中確定作為比特切割點(diǎn)的目標(biāo)比特位;統(tǒng)計所述比特串中位于所述目標(biāo)比特位的第一通配符數(shù)量,將所述第一通配符數(shù)量與所述目標(biāo)節(jié)點(diǎn)中所有規(guī)則數(shù)量之比確定為所述第一規(guī)則復(fù)制率。
5、于一實(shí)施例中,所述在所述比特串中確定作為比特切割點(diǎn)的目標(biāo)比特位,包括:根據(jù)所述比特串統(tǒng)計所述目標(biāo)節(jié)點(diǎn)的規(guī)則中未曾被作為切割點(diǎn)的候選比特位集合,并確定各個所述候選比特位為“1”的規(guī)則數(shù)量與所述候選比特位為“0”的規(guī)則數(shù)量之間的第一差值,以及統(tǒng)計所述比特串中位于各個所述候選比特位的第二通配符數(shù)量;根據(jù)所述第一差值和所述第二通配符數(shù)量,確定對應(yīng)所述候選比特位的第一衡量值,所述第一衡量值與所述第一差值的絕對值、所述第二通配符數(shù)量均呈正相關(guān);將所述候選比特位集合中對應(yīng)第一衡量值最小的候選比特位確定為所述目標(biāo)比特位。
6、于一實(shí)施例中,所述確定采用幾何空間切割方式基于范圍字段切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第二規(guī)則復(fù)制率,包括:確定所述目標(biāo)節(jié)點(diǎn)中的所有規(guī)則對應(yīng)的范圍字段的邊界值集合,所述邊界值集合包括所述目標(biāo)節(jié)點(diǎn)中所有范圍區(qū)間的上限值和下限值;從所述邊界值集合中選出作為幾何空間切割點(diǎn)的目標(biāo)邊界值;將所述目標(biāo)節(jié)點(diǎn)中范圍區(qū)間跨越所述目標(biāo)邊界值的規(guī)則數(shù)量與所述目標(biāo)節(jié)點(diǎn)中所有規(guī)則數(shù)量之比,確定為所述第二規(guī)則復(fù)制率。
7、于一實(shí)施例中,所述從所述邊界值集合中選出作為幾何空間切割點(diǎn)的目標(biāo)邊界值,包括:從所述邊界值集合中刪掉最大邊界值和最小邊界值,得到處理后邊界值集合;將所述處理后邊界值集合中的上限值增加第一預(yù)設(shè)值,并將所述候選邊界值集合中的下限值減少第二預(yù)設(shè)值,得到候選邊界值集合;針對所述候選邊界值集合中的每個候選邊界值,分別統(tǒng)計所述目標(biāo)節(jié)點(diǎn)中對應(yīng)范圍區(qū)間落入所述候選邊界值左側(cè)的第一規(guī)則數(shù)量和對應(yīng)范圍區(qū)間落入所述候選邊界值右側(cè)的第二規(guī)則數(shù)量,以及對應(yīng)范圍區(qū)間跨越所述候選邊界值的第三規(guī)則數(shù)量;根據(jù)所述第一規(guī)則數(shù)量和第二規(guī)則數(shù)量之間的第二差值、以及所述第三規(guī)則數(shù)量,確定所述候選邊界值對應(yīng)的第二衡量值,所述第二衡量值與所述第二差值的絕對值、所述第三規(guī)則數(shù)量均呈正相關(guān);將所述候選邊界值集合中對應(yīng)第二衡量值最小的候選邊界值確定為所述目標(biāo)邊界值。
8、于一實(shí)施例中,所述根據(jù)所述第一規(guī)則復(fù)制率和所述第二規(guī)則復(fù)制率,確定適用于所述目標(biāo)節(jié)點(diǎn)的目標(biāo)切割方式,并采用所述目標(biāo)切割方式將對應(yīng)的目標(biāo)節(jié)點(diǎn)切割成兩個子節(jié)點(diǎn),包括:判斷所述第一規(guī)則復(fù)制率是否小于所述第二規(guī)則復(fù)制率;若所述第一規(guī)則復(fù)制率小于所述第二規(guī)則復(fù)制率,采用比特切割方式將所述目標(biāo)節(jié)點(diǎn)映射成兩個子節(jié)點(diǎn);若所述第一規(guī)則復(fù)制率大于所述第二規(guī)則復(fù)制率,采用幾何空間切割方式將所述目標(biāo)節(jié)點(diǎn)映射成兩個子節(jié)點(diǎn);
9、于一實(shí)施例中,若所述第一規(guī)則復(fù)制率等于所述第二規(guī)則復(fù)制率,隨機(jī)從所述比特切割方式和幾何空間切割方式中確定一個目標(biāo)切割方式。
10、于一實(shí)施例中,所述目標(biāo)節(jié)點(diǎn)被切割成第一子節(jié)點(diǎn)和第二子節(jié)點(diǎn);所述采用比特切割方式將所述目標(biāo)節(jié)點(diǎn)映射成兩個子節(jié)點(diǎn),包括:將所述目標(biāo)節(jié)點(diǎn)中規(guī)則的所有字段轉(zhuǎn)換為比特串,在所述比特串中確定作為比特切割點(diǎn)的目標(biāo)比特位;將所述目標(biāo)節(jié)點(diǎn)中在所述目標(biāo)比特位上為“0”的規(guī)則歸入第一子節(jié)點(diǎn),將所述目標(biāo)節(jié)點(diǎn)中在所述目標(biāo)比特位上為“1”的規(guī)則歸入第本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種決策樹生成方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述范圍字段轉(zhuǎn)化成掩碼形式,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定采用比特切割方式切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第一規(guī)則復(fù)制率,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述比特串中確定作為比特切割點(diǎn)的目標(biāo)比特位,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定采用幾何空間切割方式基于范圍字段切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第二規(guī)則復(fù)制率,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從所述邊界值集合中選出作為幾何空間切割點(diǎn)的目標(biāo)邊界值,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一規(guī)則復(fù)制率和所述第二規(guī)則復(fù)制率,確定適用于所述目標(biāo)節(jié)點(diǎn)的目標(biāo)切割方式,并采用所述目標(biāo)切割方式將對應(yīng)的目標(biāo)節(jié)點(diǎn)切割成兩個子節(jié)點(diǎn),包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述目標(biāo)節(jié)點(diǎn)被切割成第一子節(jié)點(diǎn)和第二子節(jié)點(diǎn);所述采用比特切割方式將所述目標(biāo)節(jié)點(diǎn)映射成兩個
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述目標(biāo)節(jié)點(diǎn)被切割成第一子節(jié)點(diǎn)和第二子節(jié)點(diǎn);所述采用幾何空間切割方式將所述目標(biāo)節(jié)點(diǎn)映射成兩個子節(jié)點(diǎn),包括:
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
11.一種報文處理方法,其特征在于,所述方法包括:
12.一種決策樹生成裝置,其特征在于,所述裝置包括:
13.一種電子設(shè)備,其特征在于,包括:
14.一種計算機(jī)可讀存儲介質(zhì),其特征在于,所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)執(zhí)行指令,當(dāng)處理器執(zhí)行所述計算機(jī)執(zhí)行指令時,實(shí)現(xiàn)如權(quán)利要求1-11任一項(xiàng)所述的方法。
...【技術(shù)特征摘要】
1.一種決策樹生成方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述范圍字段轉(zhuǎn)化成掩碼形式,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定采用比特切割方式切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第一規(guī)則復(fù)制率,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述在所述比特串中確定作為比特切割點(diǎn)的目標(biāo)比特位,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定采用幾何空間切割方式基于范圍字段切割所述目標(biāo)節(jié)點(diǎn)時對應(yīng)的第二規(guī)則復(fù)制率,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從所述邊界值集合中選出作為幾何空間切割點(diǎn)的目標(biāo)邊界值,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一規(guī)則復(fù)制率和所述第二規(guī)則復(fù)制率,確定適用于所述目標(biāo)節(jié)點(diǎn)的目標(biāo)切割方式,并采用所述...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王相,
申請(專利權(quán))人:銳捷網(wǎng)絡(luò)股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。