新四季網

一種用於報文處理的規則表項的優化方法及裝置製造方法

2023-06-08 20:07:56 3

一種用於報文處理的規則表項的優化方法及裝置製造方法
【專利摘要】本發明提供一種用於報文處理的規則表項的優化方法及裝置,用以提高報文處理的準確性,該方法中交換設備接收到待處理的數據包後,確定對該數據包進行處理的規則表項,並在採用該規則表項對數據包處理後,對該規則表項被使用的次數進行更新,根據更新後每個規則表項被使用的次數,對TCAM中保存的規則表項進行更新。本發明還提供了相應的裝置。由於在本發明實施例中通過統計每個規則表項被使用的次數,根據規則表項被使用的次數,對TCAM中保存的規則表項進行更新,因此可以在不大量佔用TCAM空間的情況下,保存較常被用戶使用的規則表項,從而可以降低TCAM空間資源的浪費,保證數據包被正常處理。
【專利說明】—種用於報文處理的規則表項的優化方法及裝置

【技術領域】
[0001]本發明涉及工業乙太網【技術領域】,尤其涉及一種用於報文處理的規則表項的優化方法及裝置。

【背景技術】
[0002]現有技術中,網絡設備在進行數據包的處理時,需要查詢CPU中保存的各流表,例如NAT轉換表,根據該NAT轉換表進行數據包的轉發。每個流表中保存有多組動作表項,標識對該數據包的處理動作,例如,對於NAT轉換表,每組動作表項中包括:內網的源IP位址和埠號信息,以及對應的外網的目的IP位址和埠號信息。由於在每個流表中保存有很多組動作表項,每個流表包含的數據量會非常的大,保存在CPU中的流表會給CPU的運行造成很大的壓力,影響CPU的處理效率,並且影響數據包的轉發效率。
[0003]為了提高數據包的轉發效率,現有技術中可以將對各個數據包進行處理的各流表中相應的動作表項保存到一個規則表項中,並將該規則表項存放到FPGA-TCAM硬體中。但TCAM的內存一般只有5M大小,因此TCAM內存空間的大小將會直接影響規則表項的大小。當存在大量的數據包需要轉發時,每個數據包需要查找的規則表項都不同,此時TCAM中將存儲大量的規則表項。
[0004]但是,在實際的數據包處理時,各規則表項中只有20%?30%的規則表項常被使用,剩餘的70%?80%的規則表項很少被使用或者偶爾某一集中時間段內被使用。但在現有技術中各規則表項的全部內容都被保存在TCAM中,而各規則表項中的很少被使用,或者偶爾某一集中時間段內被使用的規則表項將造成TCAM空間資源的浪費,另外,如果各規則表項佔用的空間大於TCAM的空間,各規則表項中常被使用的規則表項將無法正確下發到TCAM中,導致一些數據包無法被正常處理。


【發明內容】

[0005]鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種用於報文處理的規則表項的優化方法及裝置。
[0006]本發明實施例提供了一種用於報文處理的規則表項的優化方法,該方法包括:
[0007]交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項;
[0008]採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新;
[0009]根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0010]為了減小CPU的工作量,進一步有效的降低TCAM中保存的規則表項的數量,在本發明實施例中所述交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項包括:
[0011]交換設備將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
[0012]所述採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新包括:
[0013]所述TCAM判斷當前自身是否保存有確定的所述規則表項;
[0014]當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;
[0015]當自身未保存所述規則表項時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0016]為了減小CPU的工作量,進一步有效的降低TCAM中保存的規則表項的數量,所述交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項包括:
[0017]交換設備將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
[0018]所述採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新包括:
[0019]所述TCAM判斷當前自身是否保存有確定的所述規則表項;
[0020]當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;
[0021]當自身未保存所述規則表項時,判斷自身保存的規則表項的數量是否小於設定的數量閾值;
[0022]當自身保存的規則表項的數量小於設定的數量閾值時,向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新;當自身保存的規則表項的數量不小於設定的數量閾值時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0023]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新包括:
[0024]交換設備的CPU按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的每個規則表項被使用的次數;
[0025]根據接收到的TCAM返回的每個規則表項被使用的次數,及自身保存的按照第一時間間隔更新的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序;
[0026]將排序結果中位置靠前的設定數量的規則表項下發到TCAM中。
[0027]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新包括:
[0028]交換設備的CPU按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數;並
[0029]統計在第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和;
[0030]根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序;
[0031]將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間間隔設置為第二時間間隔;
[0032]將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該第二數量的規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
[0033]本發明實施例提供了一種用於報文處理的規則表項的優化裝置,所述裝置包括:
[0034]確定模塊,用於根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項;
[0035]次數更新模塊,用於採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新;
[0036]表項更新模塊,用於根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0037]為了減小CPU的工作量,進一步有效的降低TCAM中保存的規則表項的數量,在本發明實施例中所述確定模塊,具體用於將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
[0038]所述次數更新模塊,具體用於判斷當前自身是否保存有確定的所述規則表項;當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;當自身未保存所述規則表項時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0039]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述確定模塊,具體用於將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
[0040]所述次數更新模塊,具體用於判斷當前自身是否保存有確定的所述規則表項;當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;當自身未保存所述規則表項時,判斷自身保存的規則表項的數量是否小於設定的數量閾值;當自身保存的規則表項的數量小於設定的數量閾值時,向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新,當自身保存的規則表項的數量不小於設定的數量閾值時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0041]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述表項更新模塊,具體用於按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的每個規則表項被使用的次數;根據接收到的TCAM返回的按照第一時間間隔更新的每個規則表項被使用的次數,及自身保存的按照第一時間間隔更新的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序;將排序結果中位置靠前的設定數量的規則表項下發到TCAM中。
[0042]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述表項更新模塊,具體還用於按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數;並統計在第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和;根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序;將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間間隔設置為第二時間間隔;將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該組規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
[0043]本發明實施例提供了一種用於報文處理的規則表項的優化方法及裝置,該方法中交換設備接收到待處理的數據包後,確定對該數據包進行處理的規則表項,並在採用該規則表項對數據包處理後,對該規則表項被使用的次數進行更新,根據更新後每個規則表項被使用的次數,對TCAM中保存的規則表項進行更新。由於在本發明實施例中通過統計每個規則表項被使用的次數,根據規則表項被使用的次數,對TCAM中保存的規則表項進行更新,因此可以在TCAM空間中保存較常被用戶使用的規則表項,從而可以降低TCAM空間資源的浪費,保證數據包被正常處理。
[0044]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。

【專利附圖】

【附圖說明】
[0045]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0046]圖1為本發明實施例提供的一種用於報文處理的規則表項的優化過程;
[0047]圖2為本發明實施例一提供的一種用於報文處理的規則表項的優化過程;
[0048]圖3為本發明實施例二提供的一種用於報文處理的規則表項的優化過程:
[0049]圖4為本發明實施例三提供的一種用於報文處理的規則表項的優化過程;
[0050]圖5為本發明實施例四提供的一種用於報文處理的規則表項的優化過程;
[0051]圖6為本發明實施例提供的一種用於報文處理的規則表項的優化裝置結構圖。

【具體實施方式】
[0052]為了降低TCAM空間資源的浪費,保證數據包被正常處理,本發明實施例提供了一種用於報文處理的規則表項的優化方法及裝置。
[0053]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
[0054]下面結合說明附圖,對本發明實施例進行說明。
[0055]圖1為本發明實施例提供的一種用於報文處理的規則表項的優化過程,該過程包括以下步驟:
[0056]SlOl:交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項。
[0057]具體的,在本發明實施例中交換設備通過物理網口接收到待處理的數據包後,將該待處理的數據包發送到FPGA的TCAM進行處理。TCAM接收到該待處理的數據包後,確定對該待處理的數據包進行處理的規則表項。
[0058]在本發明實施例中每個規則表項中保存有對相應數據包處理的各動作表項,各動作表項標識對該數據包的處理動作,例如,地址和埠號的轉換處理等動作,對五元組、12元組的處理動作等。
[0059]S102:採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新。
[0060]在發明實施例中為了降低TCAM空間資源的浪費,保證數據包被正常處理,記錄每個規則表項被使用的次數,根據每個規則表項是否被使用,確定是否對該規則表項被使用的次數進行更新。
[0061]具體的,例如本地保存了 1000個規則表項,當確定採用規則表項A對當前待處理的數據包進行處理時,採用規則表項A對該數據包進行處理,並對應的將該規則表項A的被使用的次數更新,即將該規則表項A被使用的次數加一。
[0062]S103:根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0063]在設定的時間間隔到來時,交換設備統計每個規則表項被使用的次數,根據每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0064]由於在本發明實施例中通過統計每個規則表項被使用的次數,根據規則表項被使用的次數,對TCAM中保存的規則表項進行更新,因此可以在不大量佔用TCAM空間的情況下,將較常被用戶使用的規則表項下發到TCAM,從而可以降低TCAM空間資源的浪費,保證數據包被正常處理。
[0065]在本發明實施例中為了有效的降低TCAM空間資源的浪費,保證數據包被正常處理,可以在交換設備的TCAM中保存一些較常被使用的規則表項,但大部分的規則表項還是保存在交換設備的CPU中。為了實現對每個規則表項被使用的次數的記錄,交換設備的TCAM和CPU都可以對自身保存的每個規則表項被使用的次數進行更新。
[0066]CPU可以首先將設定數量的規則表項下發到TCAM,該設定數量的規則表項可以是CPU任意下發給TCAM的,即CPU將設定數量的任意規則表項下發到TCAM。
[0067]當交換設備通過物理網口接收到待處理的數據包時,將該待處理的數據包發送到TCAM, TCAM確定對該數據包進行處理的規則表項。當TCAM本地保存有該規則表項時,採用本地保存的該規則表項對該數據包進行處理,並對該規則表項被使用的次數進行更新,將該規則表項被使用的次數加一。當TCAM本地未保存該規則表項時,為了實現對該數據包的處理,TCAM將該數據包發送到CPU,由於CPU中保存有所有的規則表項,因此當將該數據包發送到CPU後,CPU根據自身保存的規則表項對該數據包進行處理,並在本地對該規則表項被使用的次數進行更新,將該規則表項被使用的次數加一。
[0068]TCAM和CPU根據自身保存的每個規則表項是否被使用,對對應規則表項被使用的次數進行更新。當設定的時間間隔到來時,CPU根據自身及TCAM中每個規則表項被使用的次數,對規則表項進行排序,將使用次數較高的設定數量的規則表項更新到TCAM。
[0069]圖2為本發明實施例一提供的一種用於報文處理的規則表項的優化過程,該過程包括以下步驟:
[0070]S201:交換設備通過物理網口接收待處理的數據包,將接收到的數據包發送到TCAM。
[0071]S202:TCAM確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項。
[0072]S203:TCAM判斷當前自身是否保存有所述規則表項,當判斷結果為是時,進行步驟S204,否則,進行步驟S205。
[0073]S204:採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新。
[0074]S205:將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0075]S206:按照設定的時間間隔,根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0076]為了降低TCAM空間資源的浪費,保證數據包被正常處理,可以設置TCAM中保存的規則表項的數量,在數據包處理之初,TCAM中未保存有任何規則表項。當TCAM接收到交換設備發送的待處理的數據包時,確定對該數據包進行處理的規則表項,在判斷本地未保存該規則表項時,且自身保存的規則表項的數量小於設定的數量閾值時,TCAM向CPU請求該規則表項,並採用請求的該規則表項對該數據包進行處理,並在本地對該規則表項被使用的次數進行更新,即將該規則表項被使用的次數加一。
[0077]當TCAM判斷本地未保存該規則表項,但自身保存的規則表項的數量不小於設定的閾值時,TCAM將該數據包發送到CPU,由於CPU中保存有所有的規則表項,因此當將該數據包發送到CPU後,CPU根據自身保存到規則表項對該數據包進行處理,並且CPU在其本地對該規則表項被使用的次數進行更新,將該規則表項被使用的次數加一。
[0078]圖3為本發明實施例二提供的一種用於報文處理的規則表項的優化過程,該過程包括以下步驟:
[0079]S301:交換設備通過物理網口接收待處理的數據包,將接收到的數據包發送到TCAM。
[0080]S302:TCAM確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項。
[0081]S303:TCAM判斷當前自身是否保存有所述規則表項,當判斷結果為是時,進行步驟S304,否則,進行步驟S305。
[0082]S304:採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新。
[0083]S305:TCAM判斷自身保存的規則表項的數量是否小於設定的數量閾值,當判斷結果為是時,進行步驟S306,否則,進行步驟S307。
[0084]S306 =TCAM向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並在本地對所述規則表項被使用的次數進行更新。
[0085]S307 =TCAM將所述數據包發送到CPU,CPU根據自身保存的規則表項對該數據包進行處理,且CPU在其本地對處理所述數據包的規則表項被使用的次數進行更新。
[0086]S308 =CPU按照設定的時間間隔,根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0087]本發明實施例中在TCAM中可以保存設定數量閾值的規則表項,當TCAM確定對數據包進行處理的規則表項未保存在本地時,且本地保存的規則表項的數量小於設定數量閾值時,則TCAM向CPU請求對該數據包進行處理的規則表項,並將從CPU請求的該規則表項保存到本地,後續如果再有數據包需要採用該規則表項處理,則TCAM可以直接採用本地保存的該規則表項處理,無需再向CPU請求,從而降低了 CPU的工作量。當TCAM中未保存對數據包進行處理的規則表項,並且自身本地保存的規則表項的數量不小於設定的數量閾值時,TCAM將該數據包發送到CPU,CPU根據自身保存的規則表項對該數據包進行處理。
[0088]因為有的規則表項被使用的次數記錄在TCAM中,有的規則表項被使用的次數記錄在CPU中,交換設備的CPU按照設定的時間間隔統計每個規則表項被使用的次數,根據每個規則表項被使用的次數,對TCAM中保存的規則表項進行更新。
[0089]交換設備的CPU可以按照設定的時間間隔,對TCAM中保存的規則表項進行更新,該時間間隔例如可以為第一時間間隔,具體的,根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新包括:
[0090]交換設備的CPU按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的每個規則表項被使用的次數;
[0091]根據接收到的TCAM返回的每個規則表項被使用的次數,及自身保存的按照第一時間間隔更新的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序;
[0092]將排序結果中位置靠前的設定數量的規則表項下發到TCAM中。
[0093]在本發明實施例中交換設備的CPU按照設定的第一時間間隔,對TCAM中保存的規則表項進行更新。具體的,當第一時間間隔到來時,CPU獲取自身及TCAM中保存的每個規則表項被使用的次數。一部分規則表項被使用的次數保存在CPU中,還有一部分規則表項被使用的次數保存在TCAM中,CPU在每個第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的每個規則表項被使用的次數。TCAM接收到CPU發送的請求後,將在本地保存的每個規則表項被使用的次數發送到CPU。
[0094]圖4為本發明實施例三提供的一種用於報文處理的規則表項的優化過程,該過程包括以下步驟:
[0095]S401:交換設備通過物理網口接收待處理的數據包,將接收到的數據包發送到TCAM。
[0096]S402 =TCAM確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項。
[0097]S403:TCAM判斷當前自身是否保存有所述規則表項,當判斷結果為是時,進行步驟S404,否則,進行步驟S405。
[0098]S404:採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新。
[0099]S405:TCAM判斷自身保存到規則表項的數量是否小於設定的數量閾值,當判斷結果為是時,進行步驟S406,否則,進行步驟S407。
[0100]S406 =TCAM向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新。
[0101]S407:TCAM將所述數據包發送到CPU,CPU根據自身保存的規則表項對該數據包進行處理,且CPU在其本地對處理所述數據包的規則表項被使用的次數進行更新。
[0102]S408 =CPU按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的每個規則表項被使用的次數。
[0103]S409:CPU根據接收到的TCAM返回的每個規則表項被使用的次數,及自身保存的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序。
[0104]S410 =CPU將排序結果中位置靠前的設定數量的規則表項下發到TCAM中。
[0105]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,在本發明實施例中可以將較常使用的規則表項保存在TCAM中。另外,由於一些規則表項可能偶爾在某一集中時間段內使用,為了保證TCAM中保存的規則表項,能夠滿足當前對報文處理的需求,因此在本發明實施例中可以設置第一時間間隔,定期的對TCAM中保存的規則表項進行更新。
[0106]另外,在本發明實施例中為了進一步提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,確定規則表項中較常被使用的,並設置經常被使用的規則表項的更新時間為第二時間間隔,將經常被使用的規則表項的更新時間設置為第一時間間隔,其中第二時間間隔大於第一時間間隔,第二時間間隔為第一時間間隔的整數倍。
[0107]具體的,所述將排序結果中位置靠前的設定數量的規則表項下發到TCAM中包括:
[0108]交換設備的CPU按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數;並
[0109]統計在第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和;
[0110]根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序;
[0111]將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間間隔設置為第二時間間隔;
[0112]將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該第二數量的規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
[0113]通過上述方式可以將較常被使用的規則表項的更新頻率調整為第二時間間隔,其中第二時間間隔為第一時間間隔的整數倍,例如可以是3倍、5倍、7倍等。另外,為了在對TCAM中的規則表項進行更新時,使TCAM分辨出每個規則表項的更新周期,CPU在向TCAM下發每個規則表項時,可以標識出每個規則表項的更新時間間隔,例如I表示採用第一時間間隔更新,O表示採用第二時間間隔更新。TCAM還可以按照更新時間間隔的不同,劃分不同的規則表項存儲區域,分別為第一區域和第二區域,將按照第一時間間隔更新的規則表項保存在第一區域中,將按照第二時間間隔更新的規則表項保存在第二區域中。
[0114]TCAM接收到CPU下發的每個規則表項後,採用CPU下發的每個規則表項對自身保存的規則表項進行更新,即採用本次CPU下發的規則表項替換本地已經保存的規則表項,並記錄每個規則表項被使用的次數。
[0115]當第一時間間隔到來時,CPU向TCAM發送請求信息,獲取TCAM保存的每個按照第一時間間隔更新的規則表項被使用的次數。TCAM接收到該請求信息後,將本地保存的按照第一時間間隔更新的每個規則表項被使用的次數發送到CPU。CPU接收到TCAM發送的按照第一時間間隔更新的每個規則表項被使用的次數,並根據本地保存的按照第一時間間隔更新的每個規則表項被使用的次數,統計按照第一時間間隔更新的每個規則表項被使用的次數,根據被使用的次數由大到小的順序對每個規則表項進行排序,將排序結果中靠前的第一設定數量的規則表項下發到TCAM,TCAM根據接收到的規則表項,對本地保存的按照第一時間間隔更新的規則表項進行更新。
[0116]當第二時間間隔到來時,CPU向TCAM發送請求信息,獲取TCAM保存的每個按照第二時間間隔更新的規則表項被使用的次數。TCAM接收到該請求信息後,將本地保存的按照第二時間間隔更新的每個規則表項被使用的次數發送到CPU。CPU接收到TCAM發送的按照第二時間間隔更新的每個規則表項被使用的次數,並根據本地保存的按照第二時間間隔更新的每個規則表項被使用的次數,統計按照第二時間間隔更新的每個規則表項被使用的次數。
[0117]另外,由於第二時間間隔為第一時間間隔的整數倍,因此可以認為在每個第二時間間隔的時間段中包括整數個第一時間間隔,根據在每個第一時間間隔中統計的按照第一時間間隔更新的每個規則表項被使用的次數,確定在該第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項被使用的次數的總和。將統計的按照第二時間間隔更新的每個規則表項被使用的次數,及確定的在該第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項被使用次數的總和,按照被使用的次數從大到小的順序對規則表項進行排序,將排序結果中靠前的第一數量的規則表項下發到TCAM,TCAM根據接收到的規則表項,對本地保存的按照第二時間間隔更新的規則表項進行更新。
[0118]另外,因為第二時間間隔為第一時間間隔的整數倍,因此當根據第二時間間隔對TCAM中保存的規則表項進行更新時,按照第一時間間隔更新的規則表項也在更新,因此將當前該第一時間間隔中排序結果位置靠前的第二數量的規則表項下發到TCAM,將該第二數量的規則表項的更新時間間隔設置為第一時間間隔,TCAM根據接收到的規則表項,對本地保存的按照第一時間間隔更新的規則表項進行更新。
[0119]圖5為本發明實施例四提供的一種用於報文處理的規則表項的優化過程,該過程包括以下步驟:
[0120]S501:交換設備通過物理網口接收待處理的數據包,將接收到的數據包發送到TCAM。
[0121]S502:TCAM確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項。
[0122]S503:TCAM判斷當前自身是否保存有所述規則表項,當判斷結果為是時,進行步驟S504,否則,進行步驟S505。
[0123]S504:採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新。
[0124]S505:TCAM判斷自身保存到規則表項的數量是否小於設定的數量閾值,當判斷結果為是時,進行步驟S506,否則,進行步驟S507。
[0125]S506 =TCAM向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新。
[0126]S507:TCAM將所述數據包發送到CPU,CPU根據自身保存的規則表項對該數據包進行處理,且CPU在其本地對處理所述數據包的規則表項被使用的次數進行更新。
[0127]S508:CPU按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數。
[0128]S509:統計每個按照第一時間間隔更新的規則表項在第二時間間隔的時間段中的每個第一時間間隔中被使用的次數的總和。
[0129]S510:根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的規則表項被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序。
[0130]S511:將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該組規則表項的更新時間間隔設置為第二時間間隔。將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該組規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
[0131]下面通過一個具體的實施例對本發明進行詳細說明。
[0132]交換設備通過物理埠接收到IP+埠號為192.168.2.3:3456的數據包,將該數據包發送到TCAM,TCAM確定該數據包發送到外網IP+埠號236.251.31.35:80,TCAM查找本地是否保存處理該數據包的規則表項,當本地保存有該規則表項時,採用本地保存的該規則表項處理該數據包,將該數據包的IP+埠號替換為236.251.31.35:3536,並在本地將該規則表項被使用的次數加I。
[0133]當本地未保存該規則表項時,TCAM判斷自身保存的規則表項的數量是否小於設定的數量閾值(1000),當本地保存的規則表項的數量小於設定的數量閾值時,TCAM向CPU請求該規則表項,將請求的該規則表項保存到本地後,採用保存的該規則表項處理該數據包,並在本地將該規則表項被使用的次數加I ;當本地保存的規則表項的數量不小於設定的數量閾值時,TCAM將該數據包發送到CPU,CPU採用自身保存的規則表項對該數據包進行處理,CPU在本地將對該數據包進行處理的規則表項被使用的次數加I。
[0134]CPU按照設定的第一時間間隔向TCAM發送請求信息,獲取TCAM保存的按照第一時間間隔更新的每個規則表項被使用的次數,TCAM接收到該請求信息後,將本地保存的按照第一時間間隔更新的每個規則表項被使用的次數發送到CPU。CPU接收到TCAM發送的按照第一時間間隔更新的每個規則表項被使用的次數,並根據本地保存的按照第一時間間隔更新的每個規則表項被使用的次數,統計按照第一時間間隔更新的每個規則表項被使用的次數,根據被使用的次數由大到小的順序對每個規則表項進行排序,將排序結果中靠前的第一設定數量(1000)的規則表項下發到TCAM,TCAM根據接收到的規則表項,對本地保存的按照第一時間間隔更新的規則表項進行更新。
[0135]之後,在每個第一時間間隔CPU按照上述方式,對TCAM中保存的規則表項進行更新。
[0136]或者,也可以設置兩個時間間隔,第一時間間隔和第二時間間隔,其中第二時間間隔為第一時間間隔的整數倍,在每個時間間隔分別對不同使用頻率的規則表項進行更新。
[0137]例如第二時間間隔為第一時間間隔的3倍。在第一個第二時間間隔到來之前,會存在兩個第一時間間隔。針對這兩個第一時間間隔,在每個第一時間間隔到來時,CPU向TCAM發送請求信息,獲取TCAM保存的按照第一時間間隔更新的每個規則表項被使用的次數,TCAM接收到該請求信息後,將本地保存的按照第一時間間隔更新的每個規則表項被使用的次數發送到CPU。CPU接收到TCAM發送的按照第一時間間隔更新的每個規則表項被使用的次數,並根據本地保存的按照第一時間間隔更新的每個規則表項被使用的次數,統計按照第一時間間隔更新的每個規則表項被使用的次數,根據被使用的次數由大到小的順序對每個規則表項進行排序,將排序結果中靠前的第一設定數量(1000)的規則表項下發到TCAM,TCAM根據接收到的規則表項,對本地保存的按照第一時間間隔更新的規則表項進行更新。
[0138]第三個第一時間間隔到來時,也是第一個第二時間間隔到來時,CPU向TCAM發送請求信息,獲取TCAM保存的按照第一時間間隔更新的每個規則表項被使用的次數,根據TCAM返回的每個規則表項被使用的次數,自身保存的該第一時間間隔中每個規則表項被使用的次數,統計三次第一時間間隔中每個規則表項被使用的次數的總和,按照每個規則表項被使用次數的總和,對規則表項進行排序,將排序結果中位置靠前的第一數量(第I?200)的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間設置為第二時間間隔。並將該排序結果中位置靠前的第二數量的(第201?1000)的規則表項下發到TCAM,將該第二數量的規則表項的更新時間間隔設置為第一時間間隔。
[0139]或者,因為在當前的第一時間間隔也統計了每個按照第一時間間更新的規則表項被使用的次數,因此針對當前該第一時間時間間隔的排序結果中位置靠前的第二數量(800)的其他規則表項下發到TCAM,並將該第二數量的規則表項的更新時間間隔設置為第一時間間隔。由於在統計的過程中,可能當前在第一時間間隔統計出的位置靠前的規則表項,與下發到TCAM中按照第二時間間隔更新的規則表項相同,因此在確定當前第一時間間隔排序結果中位置靠前的第二數量的規則表項時,確定的是與第二時間間隔確定的規則表項不同的。
[0140]例如,第一數量為200,第二數量為800,將排序結果中位置靠前的第I?200個規則表項下發到TCAM,將該200個規則表項的更新時間設置為第二時間間隔,CPU根據在當前第一時間間隔的排序結果中確定800個其他規則表項下發到TCAM,將該800個規則表項的更新時間設置為第一時間間隔,在確定該800個其他規則表項時,按照排序結果中的位置,從前往後依次查找與第二時間間隔更新的規則表項不同的規則表項,查找出800個規則表項,即為確定的採用第一時間間隔更新的規則表項。
[0141]在之後的每個第一時間間隔只更新第二數量的規則表項即可,在每個第二時間間隔更新第一數量的規則表項。即使TCAM中保存的按照第二時間間隔更新的規則表項為第一數量,使TCAM中保存的按照第二時間間隔更新的規則表項為第二數量。
[0142]由於在本發明實施例中通過統計每個規則表項被使用的次數,根據規則表項被使用的次數,對TCAM中保存的規則表項進行更新,因此可以在不大量佔用TCAM空間的情況下,保存較常被用戶使用的規則表項,從而可以降低TCAM空間資源的浪費,保證數據包被正常處理。
[0143]圖6為本發明實施例提供的一種用於報文處理的規則表項的優化裝置結構圖,所述裝置包括:
[0144]確定模塊61,用於根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項;
[0145]次數更新模塊62,用於採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新;
[0146]表項更新模塊63,用於根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
[0147]為了減小CPU的工作量,進一步有效的降低TCAM中保存的規則表項的數量,在本發明實施例中所述確定模塊61,具體用於將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
[0148]所述次數更新模塊62,具體用於判斷當前自身是否保存有確定的所述規則表項;當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;當自身未保存所述規則表項時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0149]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述確定模塊61,具體用於將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項;
[0150]所述次數更新模塊62,具體用於判斷當前自身是否保存有確定的所述規則表項;當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;當自身未保存所述規則表項時,判斷自身保存的規則表項的數量是否小於設定的數量閾值;當自身保存的規則表項的數量小於設定的數量閾值時,向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新,當自身保存的規則表項的數量不小於設定的數量閾值時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
[0151]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述表項更新模塊63,具體用於按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第一時間間隔更新的每個規則表項被使用的次數;根據接收到的TCAM返回的每個規則表項被使用的次數,及自身保存的按照第一時間間隔更新的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序;將排序結果中位置靠前的設定數量的規則表項下發到TCAM中。
[0152]為了能夠提高數據包的處理效率,保證TCAM中保存的規則表項為較常使用的規則表項,減少TCAM與CPU的交互次數,所述表項更新模塊63,具體還用於按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數;並統計在第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和;根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序;將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間間隔設置為第二時間間隔;將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該組規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
[0153]本發明實施例提供了一種用於報文處理的規則表項的優化方法及裝置,該方法中交換設備接收到待處理的數據包後,確定對該數據包進行處理的規則表項,並在採用該規則表項對數據包處理後,對該規則表項被使用的次數進行更新,根據更新後每個規則表項被使用的次數,對TCAM中保存的規則表項進行更新。由於在本發明實施例中通過統計每個規則表項被使用的次數,根據規則表項被使用的次數,對TCAM中保存的規則表項進行更新,因此可以在不大量佔用TCAM空間的情況下,保存較常被用戶使用的規則表項,從而可以降低TCAM空間資源的浪費,保證數據包被正常處理。
[0154]在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
[0155]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0156]類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循【具體實施方式】的權利要求書由此明確地併入該【具體實施方式】,其中每個權利要求本身都作為本發明的單獨實施例。
[0157]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
[0158]此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0159]本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的用於報文處理的規則表項的優化裝置中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0160]應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0161]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種用於報文處理的規則表項的優化方法,其特徵在於,該方法包括: 交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項; 採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新; 根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
2.如權利要求1所述的方法,其特徵在於,所述交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項包括: 交換設備將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項; 所述採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新包括: 所述TCAM判斷當前自身是否保存有確定的所述規則表項; 當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新; 當自身未保存所述規則表項時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
3.如權利要求1所述的方法,其特徵在於,所述交換設備根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項包括: 交換設備將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項; 所述採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新包括: 所述TCAM判斷當前自身是否保存有確定的所述規則表項; 當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新; 當自身未保存所述規則表項時,判斷自身保存的規則表項的數量是否小於設定的數量閾值; 當自身保存的規則表項的數量小於設定的數量閾值時,向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新;當自身保存的規則表項的數量不小於設定的數量閾值時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
4.如權利要求1?3任一項所述的方法,其特徵在於,所述根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新包括: 交換設備的CPU按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第一時間間隔更新的每個規則表項被使用的次數; 根據接收到的TCAM返回的每個規則表項被使用的次數,及自身保存的按照第一時間間隔更新的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序; 將排序結果中位置靠前的設定數量的規則表項下發到TCAM中。
5.如權利要求4所述的方法,其特徵在於,所述根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新包括: 交換設備的CPU按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數;並 統計在第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和; 根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序; 將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間間隔設置為第二時間間隔; 將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該第二數量的規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
6.一種用於報文處理的規則表項的優化裝置,其特徵在於,所述裝置包括: 確定模塊,用於根據接收到的待處理的數據包,確定對所述數據包進行處理的規則表項,其中所述規則表項中保存有對該數據包進行處理的各動作表項; 次數更新模塊,用於採用確定的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新; 表項更新模塊,用於根據更新後每個規則表項被使用的次數,對TCAM中保存的各規則表項進行更新。
7.如權利要求6所述的裝置,其特徵在於,所述確定模塊,具體用於將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項; 所述次數更新模塊,具體用於判斷當前自身是否保存有確定的所述規則表項;當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;當自身未保存所述規則表項時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
8.如權利要求6所述的裝置,其特徵在於,所述確定模塊,具體用於將接收到的數據包發送到TCAM,TCAM確定對所述數據包進行處理的規則表項; 所述次數更新模塊,具體用於判斷當前自身是否保存有確定的所述規則表項;當自身保存有所述規則表項時,採用自身保存的所述規則表項處理所述數據包,並在本地對所述規則表項被使用的次數更新;當自身未保存所述規則表項時,判斷自身保存的規則表項的數量是否小於設定的數量閾值;當自身保存的規則表項的數量小於設定的數量閾值時,向CPU請求所述規則表項,採用請求的所述規則表項對所述數據包進行處理,並對所述規則表項被使用的次數進行更新,當自身保存的規則表項的數量不小於設定的數量閾值時,將所述數據包發送到CPU,通過CPU中保存的規則表項對所述數據包進行處理,並使CPU在其本地對所述規則表項被使用的次數進行更新。
9.如權利要求6?8任一項所述的裝置,其特徵在於,所述表項更新模塊,具體用於按照設定的第一時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第一時間間隔更新的每個規則表項被使用的次數;根據接收到的TCAM返回的每個規則表項被使用的次數,及自身保存的按照第一時間間隔更新的每個規則表項被使用的次數,按照被使用的次數從大到小的順序對每個規則表項進行排序;將排序結果中位置靠前的設定數量的規則表項下發到TCAM 中。
10.如權利要求9所述的裝置,其特徵在於,所述表項更新模塊,具體還用於按照設定的第二時間間隔,向TCAM發送請求信息,獲取TCAM保存的按照第二時間間隔更新的每個規則表項被使用的次數;並統計在第二時間間隔的時間段中,按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和;根據接收到的TCAM返回的按照第二時間間隔更新的每個規則表項被使用的次數,自身保存的按照第二時間間隔更新的每個規則表項被使用的次數,及統計的按照第一時間間隔更新的每個規則表項在每個第一時間間隔中被使用的次數的總和,按照被使用的次數從大到小的順序對每個規則表項進行排序;將排序結果中位置靠前的第一數量的規則表項下發到TCAM中,並將該第一數量的規則表項的更新時間間隔設置為第二時間間隔;將在當前第一時間間隔中的排序結果中位置靠前的第二數量的其他規則表項下發到TCAM,並將該組規則表項的更新時間間隔設置為第一時間間隔,其中第二時間間隔為第一時間間隔的整數倍。
【文檔編號】H04L12/751GK104363177SQ201410638579
【公開日】2015年2月18日 申請日期:2014年11月6日 優先權日:2014年11月6日
【發明者】王利峰 申請人:北京東土科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀