System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種基于自適應元組替換的高速數據包分類方法及應用,屬于計算機網絡領域中的數據包分類。
技術介紹
1、數據包分類是路由、防火墻、服務質量(qos)等網絡功能中至關重要的一部分。網絡設備需要根據預定義的規則對傳入的數據包進行分類,并根據匹配的規則采取相應操作。隨著現代數據中心網絡的規模和流量不斷增長,數據包分類的性能需求也隨之增加。例如,現有的軟件交換機如open?vswitch(ovs)廣泛用于虛擬化和軟件定義網絡(sdn)環境中,允許靈活管理和分配網絡資源。ovs使用的元組空間搜索(tss)算法在支持快速規則更新和穩定內存消耗方面表現優異,但在面對大規模規則集時,其分類性能會顯著下降。
2、為了提升分類效率,現有方法通常結合tss和決策樹(dt)以形成混合結構,從而在支持快速規則更新的同時提高分類速度。然而,隨著規則集的動態更新,混合結構中的決策樹容易失衡,導致特定分支的規則數量積累,進一步拖慢分類速度。現有方法通過周期性重建數據結構來維持分類性能,但這種重建過程耗時較長,嚴重影響服務的正常運行。
技術實現思路
1、針對現有技術的不足,本專利技術提供一種基于自適應元組替換的高速數據包分類方法,通過對混合數據結構中決策樹的瓶頸分支進行分析,并將其替換為輕量級的元組結構,實現分類速度的優化和內存占用的最小化。在大規模網絡規則集的頻繁更新環境下,保證數據包分類的高效性和穩定性。
2、本專利技術的技術方案如下:
3、一種基于自適應元組替換的
4、(1)分析混合結構中的決策樹,識別出影響分類性能的瓶頸分支;
5、(2)通過卡爾曼濾波預測規則更新的趨勢,確定需要替換的瓶頸分支;
6、(3)使用輕量級元組替換結構(picktss)替換決策樹中的瓶頸分支,優化分類性能。
7、優選的,步驟(1)中,首先通過對混合數據結構中的決策樹進行靜態分析,識別出影響分類性能的瓶頸分支。決策樹通過將搜索空間逐步劃分為較小的子空間來實現高效分類,但在規則更新過程中,決策樹的固定分支結構可能會在特定分支上積累過多的規則,導致在該分支上的匹配性能下降。因此,需要對決策樹的各個分支進行評估,確定是否存在影響匹性能的瓶頸分支。具體而言,評估分類性能的關鍵是比較決策樹和元組空間搜索(tss)的分類速度。首先,計算分類時間,對于tss,其分類時間可以通過ttss(rules)=k(rules)×thash計算,其中,k(rules)表示在tss匹配過程中需要遍歷的平均元組數量,thash表示哈希操作的平均時間;而決策樹dt的分類時間則取決于子樹的高度和線性匹配規則的平均數量,可通過計算;其中,h(rules)表示子樹的平均高度,tr為節點遞歸操作的平均時間,tm為單條規則匹配的平均時間,binth為決策樹葉節點中規則的最大數量;通過比較ttss和tdt,確定該分支在使用tss分類結構時匹配效率優于決策樹結構,并將這些分支標記為候選瓶頸分支。
8、進一步優選的,得到tss和決策樹的分類時間后,基于瓶頸分支搜索的遞歸算法進行對比,首先從根節點開始遞歸搜索子節點,逐一計算各個子節點的分類性能ttss和tdt;接著根據tss的分類時間和決策樹dt節點的分類時間,計算每個節點的平均時間消耗,該計算具體表示為:該節點的所有子節點的分類性能(可能為ttss或tdt)的平均值、加上tr的節點遞歸時間,并判斷是否為候選瓶頸分支;若某節點的總分類時間超過tss的分類時間,則標記該節點為候選瓶頸分支;若節點標記為候選瓶頸分支,則將其加入候選瓶頸分支列表,并檢查是否有該分支下的其他子節點已在列表,如有則清除對應已在列表的子節點,防止重復處理。
9、優選的,步驟(2)中,為了避免對當前規則集的過擬合,使用卡爾曼濾波器對候選瓶頸分支未來規則更新的趨勢進行預測;通過分析該分支上歷史的規則插入和刪除數據,卡爾曼濾波可以估算規則更新的未來趨勢,幫助確定是否需要替換決策樹中的瓶頸分支。
10、首先,通過狀態轉移方程描述規則更新的預測,系統規則更新時,對插入和刪除規則的數量進行采樣,這些數據被用作卡爾曼濾波器的輸入,其中卡爾曼濾波算法的狀態轉移方程如下:
11、
12、其中,分別表示時刻k的預測規則數量、插入規則數量和刪除規則數量;uk為外在控制變量的輸入值;矩陣a和b分別表示狀態轉移矩陣和控制輸入矩陣,定義為:
13、
14、在此,a和b表示插入和刪除規則的動態變化因子,通過對歷史數據的分析得出;當前的規則插入和刪除情況通過uk來反映;
15、其中預測規則數通過進行計算,插入規則數和刪除規則數分別通過和進行計算,常數m和n表示規則插入和刪除的比例關系;接下來,使用公式(1)中的卡爾曼濾波的狀態轉移方程進行狀態預測;
16、為了方便矩陣計算,向量uk包含當前時刻采樣得到真實規則數量rk,預測的協方差矩陣通過以下公式計算:
17、
18、其中,pk-1是上一次估計的協方差矩陣,其結果反映了系統的誤差,q為過程噪聲協方差矩陣,表示規則更新過程中的不確定性;
19、為了估算規則更新的實際情況,接下來,系統會根據當前的規則更新情況進行觀測,實際觀測的規則數zk由以下測量方程給出:
20、zk=hxk,h=[1,1,1](4)
21、其中,h為觀測矩陣,定義為h=[1,1,1],表示系統能夠直接觀測到規則數量、插入規則數量和刪除規則數量,xk=[rk,ik,dk],rk,ik,dk分別表示時刻k的真實采樣的規則數量、插入規則數量和刪除規則數量,xk即表示真實規則數量、插入規則數量和刪除規則數量的矩陣;通過測量方程zk=hxk獲得采樣值,其中zk是包含規則數、插入數和刪除數的向量;
22、在獲得測量數據后,根據當前觀測值,系統使用卡爾曼增益kk來修正預測值,增益計算公式為:
23、
24、其中,r是測量噪聲協方差矩陣,反映了實際觀測中的不確定性;通過卡爾曼增益,系統對預測的規則更新趨勢進行調整,修正后的狀態估計為:
25、
26、為經過卡爾曼濾波修正后的規則預測向量,其結果由預測方程結果和真實觀測結果xk經過公式(6)融合而成;
27、然后,協方差矩陣pk通過以下公式更新:
28、
29、最后,對于每個候選瓶頸分支,我們可以預測得到rk、ik和dk,通過比較ik-dk的值,我們可以確定該分支規則更新的未來趨勢,當ik-dk>0時,我們將其標記為真正的瓶頸分支,并執行步驟(3)元組替換。
30、優選的,步驟(3)中,確定了瓶頸分支后,使用輕量級的元組替換結構picktss對瓶頸分支進行替換;傳統的基于哈希的包分類結構tss對于參與分類的每個字段來劃分元組,并對每個字段上的前綴進行哈希來實現規則的匹配和更新。而p本文檔來自技高網...
【技術保護點】
1.一種基于自適應元組替換的高速數據包分類方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的基于自適應元組替換的高速數據包分類方法,其特征在于,步驟(1)中,首先通過對混合數據結構中的決策樹進行靜態分析,識別出影響分類性能的瓶頸分支;
3.根據權利要求2所述的基于自適應元組替換的高速數據包分類方法,其特征在于,得到TSS和決策樹的分類時間后,基于瓶頸分支搜索的遞歸算法進行對比,首先從根節點開始遞歸搜索子節點,逐一計算各個子節點的分類性能TTSS和TDT;接著根據TSS的分類時間和決策樹DT節點的分類時間,計算每個節點的平均時間消耗,該計算具體表示為:該節點的所有子節點的分類性能的平均值、加上Tr的節點遞歸時間,并判斷是否為候選瓶頸分支;若某節點的總分類時間超過TSS的分類時間,則標記該節點為候選瓶頸分支;若節點標記為候選瓶頸分支,則將其加入候選瓶頸分支列表,并檢查是否有該分支下的其他子節點已在列表,如有則清除對應已在列表的子節點。
4.根據權利要求1所述的基于自適應元組替換的高速數據包分類方法,其特征在于,步驟(2)中,為了避免對當前規
5.根據權利要求1所述的基于自適應元組替換的高速數據包分類方法,其特征在于,步驟(3)中,確定了瓶頸分支后,使用輕量級的元組替換結構PickTSS對瓶頸分支進行替換;PickTSS面向決策樹的局部分支,通過選擇部分字段進行元組劃分和哈希運算;
6.一種基于自適應元組替換的高速數據包分類系統,其特征在于,包括搜索模塊、預測模塊、替換優化模塊,搜索模塊用于分析混合結構中的決策樹,識別出影響分類性能的候選瓶頸分支;預測模塊用于通過卡爾曼濾波預測規則更新的趨勢,確定需要替換的瓶頸分支;替換優化模塊用于使用輕量級元組替換結構替換決策樹中的瓶頸分支,優化分類性能。
7.一種計算機可讀存儲介質,其特征在于,其上存儲有程序,該程序被處理器執行時實現如權利要求1所述的基于自適應元組替換的高速數據包分類方法中的步驟。
...【技術特征摘要】
1.一種基于自適應元組替換的高速數據包分類方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的基于自適應元組替換的高速數據包分類方法,其特征在于,步驟(1)中,首先通過對混合數據結構中的決策樹進行靜態分析,識別出影響分類性能的瓶頸分支;
3.根據權利要求2所述的基于自適應元組替換的高速數據包分類方法,其特征在于,得到tss和決策樹的分類時間后,基于瓶頸分支搜索的遞歸算法進行對比,首先從根節點開始遞歸搜索子節點,逐一計算各個子節點的分類性能ttss和tdt;接著根據tss的分類時間和決策樹dt節點的分類時間,計算每個節點的平均時間消耗,該計算具體表示為:該節點的所有子節點的分類性能的平均值、加上tr的節點遞歸時間,并判斷是否為候選瓶頸分支;若某節點的總分類時間超過tss的分類時間,則標記該節點為候選瓶頸分支;若節點標記為候選瓶頸分支,則將其加入候選瓶頸分支列表,并檢查是否有該分支下的其他子節點已在列表,如有則清除對應已在列表的子節點。
4.根據權利要求1...
【專利技術屬性】
技術研發人員:張棟,朱龍隆,余佳碩,吳榮榜,林宗燁,
申請(專利權)人:泉城省實驗室,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。