主動隊列管理方法、裝置和無線網絡控制器的製作方法
2023-10-05 07:07:09 5
專利名稱::主動隊列管理方法、裝置和無線網絡控制器的製作方法
技術領域:
:本發明涉及通信
技術領域:
,特別涉及主動隊列管理技術。
背景技術:
:傳輸控制協議(TransmitControlProtocol,TCP)是一種用於保障通信系統數據業務的可靠性的協議。當TCP應用於寬帶碼分多址(WidebandCodeDivisionMultipleAccess,WCDMA)等類似的網絡系統中時,一個無線承載(RadioBearer,RB)可以同時使用多個TCP連接,數據包在經過無線網絡控制器(RadioNetworkController,RNC)轉發前會進入緩存進行緩衝,多個TCP連接的數據包進入緩存後,可能在緩存中積壓,從而導致很大的排隊時延,還可能出現諸如同步數據包超時、網頁訪問的交互性差、鏈路效率下降等問題。這時會採取丟棄一部分數據包來緩解緩存中數據包的積壓。現有的丟棄一部分數據包的方法可以稱為主動隊列管理(ActiveQueueManagement,AQM)方案。AQM方案為當需要丟包時,丟棄隊尾的數據包或丟棄隊頭的數據包。然而,由於現有AQM方案丟棄部分數據包的方法中,按照隊列順序進行丟棄,而不對數據包進行區分,某些情況下可能導致重要數據包丟失。
發明內容本發明實施例提供了一種主動隊列管理方法、裝置和無線網絡控制器,從而可以在丟包處理時,實現有選擇地丟包。本發明實施例提供的主動隊列管理方法主要包括當達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;當判斷出緩存擁塞時,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在所述第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;根據獲取的優先級或者數據包的類型進行丟包。本發明實施例提供的主動隊列管理裝置主要包括判斷模塊,用於在達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;獲取模塊,用於在所述判斷模塊判斷緩存擁塞時,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;丟包模塊,用於根據所述獲取模塊獲取的數據包的類型或優先級進行丟包。本發明實施例還提供了一種無線網絡控制器,包括上述的主動隊列管理裝置。本發明實施例提供的主動隊列管理方法、裝置和無線網絡控制器,通過獲取緩存中的數據包的類型或者優先級,在需要丟包時,進行有選擇地丟包,進一步地能夠降低重要業務數據包被丟失的可能性或者減低對數據鏈路的影響,提高用戶感受度。為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明一實施例提供的主動隊列管理方法示意圖;圖2為本發明另一實施例提供的主動隊列管理方法示意圖;圖3為本發明實施例中網際網路協議版本六報文頭結構示意圖;圖4為本發明再一實施例提供的主動隊列管理方法示意圖;圖5為本發明一實施例提供的主動隊列管理裝置結構示意圖;圖6為本發明另一實施例提供的主動隊列管理裝置結構示意圖。具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。如圖1所示,本發明一實施例提供的一種主動隊列管理方法,該方法可以包括S101,當達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;在主動隊列管理時,丟包間隔可以理解為對緩衝隊列進行丟包處理的頻度,丟包間隔越小,丟包的密度越大,當達到丟包間隔時,判斷層二(對於寬帶碼分多址接入系統中,可以是無線鏈路控制層)的緩存是否擁塞,判斷緩存擁塞的方法可以是將緩存佔用量與預設的擁塞門限比較,例如如果緩存佔用量大於或等於預設的擁塞門限,可以認為此時緩存擁塞,執行S102。其中,此處的緩存佔用量可以是獲取的緩衝隊列的長度或者其他表示緩存佔用量的方式,而對於不同的表示緩存佔用量的方式,其各個門限的取值和/或表示方式可能有所不同。S102,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在所述第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;當緩存佔用量達到預設的擁塞門限,表示緩存已經處於擁塞狀態,則需要進行丟包處理。本實施例中,在進行丟包處理時,可以獲取接收的第一數據包的類型或者優先級與在所述第一數據包之前和/或之後接收的若干個數據包的類型或者優先級,也就是區分出數據包的類型或者優先級,以便在後續步驟中,可以進行有選擇地丟包。可以通過解析數據包報頭中的相關欄位獲取數據包的類型或者優先級的方式,例如對於網際網路協議版本六(Ipv6),可以直接通過其報文中的優先級欄位解析得到優先級,對於其他協議(例如Ipv4),可以通過解析報頭中的協議欄位以及報頭中的標誌欄位等欄位,獲知數據包的類型,而根據數據包類型,可以進一步或者數據包的優先級,例如,TCP數據包的優先級低於用戶數據報協議(UserDatagramProtocol,UDP)數據包的優先級。S103,根據獲取的優先級或者數據包的類型進行丟包。該步驟中,丟包的方式可以包括如果在第一數據包與其之前和/或之後接收的若干個數據包之中,存在TCP數據包和非TCP數據包,只丟棄TCP數據包;或者,丟棄低優先級的數據包等等,將在本發明後續實施例中詳細描述。本發明實施例的方法,通過獲取緩存中的數據包的類型或者優先級,在需要丟包時,進行有選擇地丟包,進一步地能夠降低重要業務數據包被丟失的可能性或者減低對數據鏈路的影響,,可以提高用戶的感受度。進一步地,本發明實施例中,還可以根據達到丟包間隔時的緩存佔用量調整丟包間隔,在調整丟包間隔時,可以根據不同情況,設置不同的丟包強度,也就是不同長度的丟包間隔。例如如果緩存佔用量大於預設的擁塞門限且小於預設的目標門限,將丟包間隔增大第一步長,如果緩存佔用量大於預設的目標門限且小於預設的最大門限,將丟包間隔減小第二步長;如果緩存佔用量大於預設的最大門限,將丟包間隔減小第三步長;如果緩存佔用量小於預設的擁塞門限,將丟包間隔增大第四步長。此處,第一步長《第二步長《第三步長,而各個步長可以根據實際需要設定。需要說明的是,擁塞門限<目標門限<最大門限,而在不同的場景和協議中,各個門限的取值可能會有所不同,本發明實施例不做限定。通過對丟包間隔的調整,可以控制緩存隊列長度,從而防止觸發由網絡擁塞所導致的慢啟動。此外,本發明實施例中,為了防止帶寬受限,還可以根據獲取的無線鏈路控制(RadioLinkControl,RLC)層的數據傳輸速率調整預設的擁塞門限。一般情況下,擁塞門限、目標門限、最大門限之間可以設置為固定的係數關係,擁塞門限的調整也就意味著目標門限、最大門限的調整。而根據RLC層的數據傳輸速率調整預設的擁塞門限的方式可以為數據傳輸速率越高,擁塞門限越高,例如可以將400Kbps對應的擁塞門限調整為100Kbytes,則可以將1500Kbps的擁塞門限調整為20Kbytes,而擁塞門限的初始值可以根據最大比特速率(MaxBitRate,MBR)來配置。通過解析數據包可以直接或間接地獲取緩存中的數據包的優先級信息,例如可以根據數據包的優先級欄位直接獲知數據包的優先級,也可以根獲取的數據包的類型確定出數據包的優先級,比如,可以將TCP數據包確定為優先級最低的數據包,用戶數據報協議(UserDatagramProtocol,UDP)數據包的優先級高於TCP數據包等等。本實施例將以網際網路協議版本六(InternetProtocolversion6,IPv6)場景下的主動隊列管理為例進行說明,如圖2所示,本發明另一實施例提供了一種主動隊列管理方法,該方法可以包括S201,判斷是否達到丟包間隔;如果達到丟包間隔,執行S202;否則,繼續等待。S202:判斷緩存佔用量是否達到預設的擁塞門限;如果數據包是緩存在PDCP層的話,可以根據PDCP層的緩存佔用量判斷是否擁塞,具體可以參照圖l所示實施例中的相關描述,此處不再贅述。如果緩存佔用量達到預設的擁塞門限,則可以認為此時擁塞,需要進行丟包處理,即執行S203。S203:解析達到丟包間隔時接收的第一數據包及其之前和/或之後到達的若干個數據包的優先級欄位,得到數據包的優先級;此處的若干個可以是任意數目,例如一個,兩個等等。可以獲取達到丟包間隔時接收的第一數據包及其之後到達的若干個數據包的優先級,也可以獲取到達丟包間隔時接收的第一數據包及其之前到達的若干個數據包的優先級,或者,也可以獲取到達丟包間隔時接收的第一數據包及其之前和之前到達的若干個數據包的優先級。可以根據協議的不同以及實際情況的需要採取不同的方式。對於網際網路協議版本六(InternetProtocolversion6,IPv6)等類似的協議而言,數據包會在分組數據會聚協議(PacketDataConvergenceProtocol,PDCP)層進行緩存,可以將緩存在PDCP層的數據包稱為緩存,並且其報文中可以存在表示數據包優先級的欄位。因此可以通過解析數據包的優先級欄位,得到上述數據包的優先級。其中,IPv6協議下的數據包報文頭格式可以如圖3所示,包括版本(4位),優先級欄位(8位),流標籤(20位),淨荷長度(16位),下一個首部(8位),跳極限(8位),原地址(128位),目的地址(128位),擴展首部,數據(淨荷)。而優先級欄位的內容可以如表1所示表l:優先級欄位的內容tableseeoriginaldocumentpage7tableseeoriginaldocumentpage8由表1可知,IPv6對於不同的業務類型,定義了不同的優先級。優先級數值越大表示優先級越高。其中,優先級為0-7的數據包是TCP數據包,優先級8-15的數據包為UDP數據包。可以理解的是,上述IPv6隻是具有優先級欄位的一種協議的舉例,其他具有優先級欄位的協議也可以通過獲取其優先級欄位來得到數據包的優先級,不同的場景下,對於不同類型的業務其定義的優先級可能也有所不同,對此本發明實施例不予限定。本實施例中,可以在PDCP頭壓縮前獲取緩存中的數據包的優先級欄位。此外,也可以在其他的時刻獲取緩存中的數據包的優先級欄位,對此本發明實施例不予限定。S204,根據得到的數據包的優先級進行丟包;如前所述,對於IPv6,可以根據其優先級欄位獲取數據包的優先級,而從表1中可知,如果丟棄某些數據包(如優先級12-15的數據包)的話,產生的影響較大或很大,可以考慮不丟棄,而只丟棄其他優先級的數據包。在根據優先級丟棄數據包時,可以將當前數據包和在該當前數據包之前和/或之後到達緩存的若干個數據包進行比較,丟棄低優先級的數據包。例如,可以丟棄優先級最低的非單線程下載的TCP數據包,而當沒有TCP數據包時,可以以丟棄優先級低於預設的優先級門限的UDP數據包,例如優先級低於11的UDP數據包,其中優先級較低的UDP可能是在UDP通信過程中發送的冗餘包,而將這些冗餘包丟棄後,對業務的影響不大,對用戶感受度的影響也不是很明顯。S205,根據緩存佔用量調整丟包間隔;該步驟中,具體的調整丟包間隔的方式可以參考前述實施例的相關描述,此處不再贅述。S206,根據RLC層的數據傳輸速率調整擁塞門限。該步驟中,具體的調整擁塞門限的方式可以參考前述實施例的相關描述,此處不再贅述。需要說明的是,S205與S206的執行順序不分先後,兩者之間沒有直接聯繫,而S205和S206可以在S203之前或者與S203同時執行,也可以在S204之前或者與S204同時執行,本實施例對此不做限定。上述實施例中,按照數據包的優先級來丟棄數據包,從而可以保證丟棄的數據包為低優先級的數據包,能夠降低重要業務數據包被丟失的可能性,進一步地,可以提高用戶感受度。此外,丟棄數據包時,也可以直接根據數據包的類型進行丟包處理,如圖4所示,本發明再一實施例提供了一種主動隊列管理方法,該方法可以包括S401,判斷是否達到丟包間隔;如果達到丟包間隔,執行S402;否則,繼續等待。S402:判斷緩存佔用量是否達到預設的擁塞門限;此步驟中,對緩存佔用量的判斷可以參照圖l所示實施例中的相關描述,此處不再贅述。如果緩存佔用量達到預設的擁塞門限,則可以認為此時擁塞,需要進行丟包處理,即執行S403。S403,獲取達到丟包間隔時接收的數據包及其之前和/或之後到達的若干個數據包的類型;通過解析數據包可以獲取數據包的類型,例如,對於Ipv4協議中,可以通過解析報頭中的協議欄位以及報頭中的標誌欄位等欄位,獲知數據包的類型。可以獲取達到丟包間隔時接收的第一數據包及其之後到達的若干個數據包的類型,也可以獲取到達丟包間隔時接收的第一數據包及其之前到達的若干個數據包的類型,或者,也可以獲取到達丟包間隔時接收的第一數據包及其之前和之前到達的若干個數據包的類型。可以根據協議的不同以及實際情況的需要採取不同的方式。需要說明的是,該步驟中,可以由進行業務識別的模塊或者TPE模塊等可以對數據包解析的模塊獲取數據包的類型;獲取的數據包類型可以包括TCP、非TCP等等,而非TCP類型的數據包包括但不限於TCP確認包、捎帶包、SYN(Synchronize,同步)包、FIN(Finish,結束)包、RST(Reset,復位)包,UDP包。S404,根據獲取的數據包的類型進行丟包;該步驟中,在丟包時可以限制丟包的類型,例如,只丟棄TCP數據包。而進一步地,為了避免對單線程的TCP數據包造成影響而帶來負增益,在只丟棄TCP數據包時,可以根據TCP的連接情況做出進一步區分,例如,當TCP的連接數目為1時,表示此時為單線程數據傳輸,可以不丟棄,;當TCP的連接數目為2且數據傳輸方向相反時,表示上、下行在同時傳輸,此時可以不丟棄;而對於TCP連接數等於2且數傳方向相同或者TCP連接數大於2的情況,可以將TCP數據包丟棄。而限制不丟棄TCP確認包可以避免對上傳業務產生負增益,不丟棄SYN、FIN、RST包,可以避免對TCP建鏈及拆鏈產生影響。同樣地,本實施例中也可以根據緩存佔用量對丟包間隔進行調整,以及根據RLC層的數據傳輸速率對擁塞門限進行調整,調整的方式與前述實施例類似,此處不再贅述。本實施例中的方法,根據數據包的類型進行丟包,對丟棄的數據包的類型進行限制,從而可以避免丟棄某些數據包對數據傳輸性能或者對於數據傳輸鏈路產生的影響。本發明一實施例還提供了一種主動隊列管理裝置,如圖5所示,該裝置可以包括判斷模塊501,用於在達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;獲取模塊502,用於在判斷模塊501判斷緩存擁塞時,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;丟包模塊503,用於根據獲取模塊502獲取的數據包的類型或優先級進行丟包。具體地,丟包模塊503進行丟包的方式可以包括如果在第一數據包與其之前和/或之後接收的若干個數據包之中,存在TCP數據包和非TCP數據包,只丟棄TCP數據包;或者,丟棄低優先級的數據包等等。對於如Ipv4等協議中,無法直接獲取數據包的優先級,可以通過解析報頭中的協議欄位以及報頭中的標誌欄位等欄位,獲知數據包的類型。獲取的數據包類型可以包括TCP、非TCP等等,而非TCP類型的數據包包括但不限於TCP確認包、捎帶包、SYN包、FIN包、RST包,UDP包。則丟包模塊503可以直接根據獲取模塊獲取的數據包的類型進行丟包。在丟包時可以限制丟包的類型,例如,只丟棄TCP數據包。而進一步地,為了避免對單線程的TCP數據包造成影響而帶來負增益,在只丟棄TCP數據包時,可以根據TCP的連接情況做出進一步區分,例如,當TCP的連接數目為1時,表示此時為單線程數據傳輸,可以不丟棄,;當TCP的連接數目為2且數據傳輸方向相反時,表示上、下行在同時傳輸,此時可以不丟棄;而對於TCP連接數等於2且數傳方向相同或者TCP連接數大於2的情況,可以將TCP數據包丟棄。而限制不丟棄TCP確認包可以避免對上傳業務產生負增益,不丟棄SYN、FIN、RST包,可以避免對TCP建鏈及拆鏈產生影響。本實施例的主動隊列管理裝置中各個模塊的執行處理過程可以參考圖1或者圖2或者圖4實施例中的相關描述,此處不再贅述。本發明實施例的裝置,通過獲取緩存中的數據包的類型或者優先級,在需要丟包時,進行有選擇地丟包,進一步地能夠降低重要業務數據包被丟失的可能性或者減低對數據鏈路的影響,,可以提高用戶的感受度。進一步地,為了防止觸發由網絡擁塞所導致的慢啟動,該主動隊列管理裝置還可以包括丟包間隔調整模塊,用於根據達到丟包間隔時的緩存佔用量調整丟包間隔。丟包間隔調整模塊對丟包間隔調整的方式可以參考前述方法實施例處的相關描述,此處不再贅述。此外,為了防止帶寬受限,該主動隊列管理裝置還可以包括擁塞門限調整模塊,根據獲取的RLC層的數據傳輸速率調整預設的擁塞門限。一般情況下,擁塞門限、目標門限、最大門限之間可以設置為固定的係數關係,擁塞門限的調整也就意味著目標門限、最大門限的調整。而擁塞門限調整模塊對擁塞門限調整的具體方式可以參考前述方法實施例處的相關描述,此處不再贅述。需要說明的是,本實施例中丟包間隔調整模塊和擁塞門限調整模塊可以同時存在,也可以各自單獨存在。通過解析數據包可以直接或間接地獲取緩存中的數據包的優先級信息,可以將獲取的優先級信息比較後進行丟包處理,其中,可以通過解析數據包的優先級欄位直接獲取數據包的優先級信息,如圖6所示,本發明另一實施例還提供了一種主動隊列管理裝置,該裝置可以包括判斷模塊601,獲取模塊602,丟包模塊603;其中判斷模塊601可以包括第一判斷子模塊6011,用於判斷是否達到丟包間隔;如果沒有達到丟包間隔,繼續等待。第二判斷子模塊6012,用於在第一判斷子模塊6011判斷出達到丟包間隔時,判斷緩存佔用量是否達到預設的擁塞門限;如果緩存佔用量達到預設的擁塞門限,則可以認為此時擁塞,需要進行丟包處理。獲取模塊602可以用於解析達到丟包間隔時接收的數據包及其之前和/或之後到達的若干個數據包的優先級欄位,得到數據包的優先級;或者,獲取模塊602可以包括第一獲取子模塊,用於解析達到丟包間隔時接收的數據包及其之前和/或之後到達的若干個數據包,得到數據包的類型;排序子模塊,用於根據第一獲取子模塊獲取得到的數據包的類型,對數據包的優先級進行排序,從而得到各數據包的優先級。此處的若干個可以是任意數目,例如一個,兩個等等。對於IPv6等類似的協議而言,數據包會在PDCP層進行緩存,可以將緩存在PDCP層的數據包稱為緩存,並且其報文中可以存在表示數據包優先級的欄位。因此可以通過解析數據包的優先級欄位,得到上述數據包的優先級。對於IPv6協議下數據包的報文頭格式可以參考圖3描述,而對於優先級欄位的內容可以參考表1所示,此處不再贅述。而丟包模塊603根據獲取模塊602的獲取的優先級進行丟包。在根據優先級丟棄數據包時,可以將當前數據包和在該當前數據包之前和/或之後到達緩存的若干個數據包進行比較,丟棄低優先級的數據包。例如,可以丟棄優先級最低的非單線程下載的TCP數據包,而當沒有TCP數據包時,可以以丟棄優先級低於預設的優先級門限的UDP數據包。具體可以參考圖2所示實施例中的相關描述,此處不再贅述。需要說明的是,本實施例中的主動隊列管理裝置也可以丟包間隔調整模塊和擁塞門限調整模塊,其基本功能和存在方式與前述實施例中的描述基本相同,此處不再贅述。本發明一實施例還提供了一種無線網絡控制器,該無線網絡控制器可以包括圖5或圖6實施例所示的任意一種主動隊列管理裝置。還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句"包括一個......"限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。以上對本發明實施例所提供的一種主動隊列管理方法和裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。權利要求一種主動隊列管理方法,其特徵在於,包括當達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;當判斷出緩存擁塞時,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在所述第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;根據獲取的優先級或者數據包的類型進行丟包。2.根據權利要求1所述的方法,其特徵在於,根據數據包的優先級欄位獲取所述第一數據包或者所述第一數據包之前和/或之後接收的若干個數據包的優先級;或者,根據數據包的類型對所述數據包的優先級進行排序。3.根據權利要求2所述的方法,其特徵在於,所述根據數據包的優先級欄位獲取所述第一數據包或者所述第一數據包之前和/或之後接收的若干個數據包的優先級之前包括在分組數據會聚協議頭壓縮前獲取數據包的優先級欄位。4.根據權利要求2-3任一項所述的方法,其特徵在於,所述根據獲取的優先級或者數據包的類型進行丟包包括丟棄低優先級的數據包。5.根據權利要求4所述的方法,其特徵在於,所述丟棄低優先級的數據包包括如果在第一數據包與在所述第一數據包之前和/或之後接收的若干個數據包中存在至少一個傳輸控制協議(TCP)數據包,丟棄優先級的最低的非單線程下載的TCP數據包;如果在第一數據包與在所述第一數據包之前和/或之後接收的若干個數據包中不存在TCP數據包,丟棄優先級低於預設的優先級門限的用戶數據報協議(UDP)數據包。6.根據權利要求1所述的方法,其特徵在於,所述根據獲取的優先級或者數據包的類型進行丟包包括只丟棄TCP數據包。7.根據權利要求6所述的方法,其特徵在於,所述只丟棄TCP數據包包括只丟棄單線程下載的TCP數據包。8.根據權利要求2所述的方法,其特徵在於,所述方法還進一步包括根據獲取的無線鏈路控制(RLC)層數據傳輸速率調整所述預設的擁塞門限。9.根據權利要求1所述的方法,其特徵在於,所述方法還進一步包括根據所述緩存佔用量調整所述丟包間隔如果所述緩存佔用量大於所述預設的擁塞門限且小於預設的目標門限,將所述丟包間隔增大第一步長,如果所述緩存佔用量大於所述預設的目標門限且小於預設的最大門限,將所述丟包間隔減小第二步長;如果所述緩存佔用量大於所述預設的最大門限,將所述丟包間隔減小第三步長;如果所述緩存佔用量小於所述預設的擁塞門限,將所述丟包間隔增大第四步長。10.根據權利要求l-4任一項所述的方法,其特徵在於,所述方法應用在網際網路協議版本六中。11.一種主動隊列管理裝置,其特徵在於,所述裝置包括判斷模塊,用於在達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;獲取模塊,用於在所述判斷模塊判斷緩存擁塞時,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;丟包模塊,用於根據所述獲取模塊獲取的數據包的類型或優先級進行丟包。12.如權利要求12所述的裝置,其特徵在於,所述判斷模塊包括第一判斷子模塊,用於判斷是否達到丟包間隔;第二判斷子模塊,用於在所述第一判斷子模塊判斷出達到丟包間隔時,判斷緩存佔用量是否達到預設的擁塞門限。13.如權利要求12所述的裝置,其特徵在於,所述獲取模塊通過解析達到丟包間隔時接收的數據包及其之前和/或之後到達的若干個數據包的優先級欄位,獲取數據包的優先級;或者,所述獲取模塊包括第一獲取子模塊,用於解析達到丟包間隔時接收的數據包及其之前和/或之後到達的若干個數據包,得到數據包的類型;排序子模塊,用於根據所述第一獲取子模塊獲取得到的數據包的類型,對數據包的優先級進行排序。14.如權利要求12-14任一項所述的裝置,其特徵在於,所述主動隊列管理裝置還包括丟包間隔調整模塊,用於根據達到丟包間隔時的緩存佔用量調整丟包間隔;和/或,擁塞門限調整模塊,根據獲取的無線鏈路控制層的數據傳輸速率調整預設的擁塞門限。15.—種無線網絡控制器,其特徵在於,所述無線網絡控制器包括如權利要求12-15任一項所述的主動隊列管理裝置。全文摘要本發明實施例公開了一種主動隊列管理方法,該主動隊列管理方法主要包括當達到丟包間隔時,將緩存佔用量與預設的擁塞門限比較,判斷緩存是否擁塞;當判斷出緩存擁塞時,獲取達到丟包間隔時的接收的第一數據包的類型或者優先級與在第一數據包之前和/或之後接收的若干個數據包的類型或者優先級;根據獲取的優先級或者數據包的類型進行丟包。本發明實施例還公開了主動隊列管理的裝置和無線網絡控制器。通過本發明實施例的方案,可以實現有選擇地丟包。文檔編號H04L1/00GK101753440SQ20091018921公開日2010年6月23日申請日期2009年12月18日優先權日2009年12月18日發明者廖軍華,張巖強,王宏偉,蘆巖,謝勝琳,趙方明申請人:華為技術有限公司