
本申請設計通信
技術領域:
,尤其涉及一種網絡設備中的緩存管理方法及裝置。
背景技術:
:網絡設備接收報文后,需要一定的緩存對報文進行存儲和調度。當存在較多的報文隊列時,如何對有限的緩存進行有效的利用,是網絡設備面臨的一個問題。現有技術中,一般使用的緩存管理方法包括:動態緩存管理方法:網絡設備將系統緩存作為共享緩存,按照先到先得的原則進行分配。報文入隊前,按照先到先得的原則進行分配。動態與靜態結合的緩存管理方法:同時使用靜態緩存管理和動態緩存管理兩種方式,分配一定的緩存空間的大小作為獨享緩存,分配給各個緩存隊列,剩余的緩存作為共享緩存,按照先到先得的原則進行分配。上述方法1)和2)中,緩存利用的公平性無法得到保證,部分先入隊的隊列發生擁塞而將共享緩存中的緩存資源耗盡,導致后續到達的不擁塞的隊列,由于申請不到緩存而發生丟包。技術實現要素:本申請提供了一種緩存管理方法及設備,保證共享緩存使用的公平性,減少丟包。第一方面,本申請提供了一種緩存管理方法。所述緩存包括共享緩存區,所述共享緩存區為N個緩存隊列提供共享的緩存空間,N為大于1的整數,所述N個緩存隊列包括第一緩存隊列。所述方法包括:首先,所述網絡設備接收報文,確定所述報文對應所述第一緩存隊列。然后,所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小是否大于第一門限值。所述第一門限值為所述共享緩存區的當前剩余的緩存空間的大小乘以門限系數所得到的值。所述門限系數與所述第一緩存隊列的優先級對應,所述門限系數大于0。所述共享緩存區的當前剩余的緩存空間的大小等于所述共享緩存區的配置的緩存空間的大小減去所述N個緩存對列當前占用的緩存空間的大小。如果所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小不大于第一門限值,則將所述報文存儲到所述共享緩存區中。通過設置共享緩存區中的動態緩存門限,使得網絡設備的擁塞程度較低時,共享緩存中剩余的緩存較多,與各緩存隊列對應的動態緩存門限較大,能充分利用緩存應對流量突發,保證緩存的使用效率。當擁塞程度較高時,嚴重擁塞的隊列由于使用的共享緩存達到動態門限,不能繼續獲取共享緩存;而不擁塞的隊列或擁塞程度較輕的隊列,使用的共享緩存未達到動態門限,則可以繼續獲取共享緩存,從而可以保證共享緩存使用的公平性。并且,由于按照優先級對隊列設置了不同的門限系數,在發生擁塞時,可以保證高優先級的報文優先獲取緩存,避免低優先級隊列的擁塞影響高優先級報文的轉發。在一種可能的設計中,所述緩存還包括突發緩存區。所述方法還包括:如果所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小大于所述第一門限值,并進一步確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于第二門限值,則所述網絡設備所述報文存儲到所述突發緩存區中。通過在緩存中設置突發緩存區,可以有效存儲非擁塞隊列或輕度擁塞隊列的突發流量,減少非擁塞隊列或輕度擁塞隊列的丟包,有效提升了系統的性能。在一種可能的設計中,所述緩存還包括獨享緩存區。所述獨享緩存區中包括N個子獨享緩存區,所述N個子獨享緩存區分別為所述N個緩存隊列提供獨享的緩存空間。所述N個子獨享緩存區與所述N個緩存隊列間的映射為一一對應。所述N個子獨享緩存區包括第一獨享緩存區,所述第一獨享緩存區為所述第一緩存隊列提供獨享的緩存空間。所述方法還包括:如果所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小大于所述第一門限值,則進一步確定所述第一獨享緩存區是否具有可用于存儲所述報文的緩存空間。如果所述網絡設備確定所述第一獨享緩存區具有可用于存儲所述報文的緩存空間后,則將所述報文存儲到所述第一獨享緩存區中。在網絡設備中設置所述獨享緩存區,并將獨享緩存區劃分為與各緩存隊列所對應的多個子獨享緩存區,從而為每個隊列提供獨享的緩存空間。對于每個緩存隊列來說,當無法繼續占用共享緩存區中的緩存空間時,可以使用其獨享的緩存區來緩存隊列中的報文,從而有效避免報文丟失。在一種可能的設計中,所述緩存還包括突發緩存區。所述方法進一步包括:如果所述網絡設備確定所述第一獨享緩存區不具有可用于存儲所述報文的緩存空間,并進一步確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于第三門限值,則將所述報文存儲到所述突發緩存區中。通過在所述緩存中設置突發緩存區,可以為未發生擁塞或僅發生輕度擁塞的隊列提供緩存空間,有效減少了非嚴重擁塞的隊列出現突發流量時所發生的丟包。第二方面,本申請提供了一種緩存管理裝置,所述緩存包括共享緩存區,所述共享緩存區為N個緩存隊列提供共享的緩存空間,N為大于1的整數,所述N個緩存隊列包括第一緩存隊列,所述緩存管理裝置包括接收模塊和處理模塊。該接收模塊用于接收報文。該處理模塊用于確定所述報文對應所述第一緩存隊列。該處理模塊,還用于確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小是否大于第一門限值。所述第一門限值為所述共享緩存區的當前剩余的緩存空間的大小乘以門限系數所得到的值。所述門限系數與所述第一緩存隊列的優先級對應,所述門限系數大于0。所述共享緩存區的當前剩余的緩存空間的大小等于所述共享緩存區的配置的緩存空間的大小減去所述N個緩存對列當前占用的緩存空間的大小。所述處理模塊,進一步用于在確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小不大于第一門限值后,將所述報文存儲到所述共享緩存區中。通過設置共享緩存區中的動態緩存門限,使得網絡設備的擁塞程度較低時,共享緩存中剩余的緩存較多,與各緩存隊列對應的動態緩存門限較大,能充分利用緩存應對流量突發,保證緩存的使用效率。當擁塞程度較高時,嚴重擁塞的隊列由于使用的共享緩存達到動態門限,不能繼續獲取共享緩存;而不擁塞的隊列或擁塞程度較輕的隊列,使用的共享緩存未達到動態門限,則可以繼續獲取共享緩存,從而可以保證共享緩存使用的公平性。并且,由于按照優先級對隊列設置了不同的門限系數,在發生擁塞時,可以保證高優先級的報文優先獲取緩存,避免低優先級隊列的擁塞影響高優先級報文的轉發。在一個可能的設計中,所述緩存還包括突發緩存區,所述處理模塊,進一步用于在確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小大于所述第一門限值并小于第二門限值后,將所述報文存儲到所述突發緩存區中。通過在緩存中設置突發緩存區,可以有效存儲非擁塞隊列或輕度擁塞隊列的突發流量,減少非擁塞隊列或輕度擁塞隊列的丟包,有效提升了系統的性能。在一個可能的設計中,所述緩存還包括獨享緩存區,所述獨享緩存區中包括N個子獨享緩存區,所述N個子獨享緩存區分別為所述N個緩存隊列提供獨享的緩存空間。所述N個子獨享緩存區與所述N個緩存隊列間的映射為一一對應。所述N個子獨享緩存區包括第一獨享緩存區,所述第一獨享緩存區為所述第一緩存隊列提供獨享的緩存空間。所述處理模塊,還用于在確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小大于所述第一門限值后,進一步確定所述第一獨享緩存區是否具有可用于存儲所述報文的緩存空間。所述處理模塊,進一步用于在確定所述第一獨享緩存區具有可用于存儲所述報文的緩存空間后,將所述報文存儲到所述第一獨享緩存區中。在網絡設備中設置所述獨享緩存區,并將獨享緩存區劃分為與各緩存隊列所對應的多個子獨享緩存區,從而為每個隊列提供獨享的緩存空間。對于每個緩存隊列來說,當無法繼續占用共享緩存區中的緩存空間時,可以使用其獨享的緩存區來緩存隊列中的報文,從而有效避免報文丟失。在一個可選的設計中,所述緩存還包括突發緩存區,所述處理模塊,還用于在確定所述第一獨享緩存區不具有可用于存儲所述報文的緩存空間后,進一步確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于第三門限值,則將所述報文存儲到所述突發緩存區中。通過在緩存中設置突發緩存區,可以有效存儲非擁塞隊列或輕度擁塞隊列的突發流量,減少非擁塞隊列或輕度擁塞隊列的丟包,有效提升了系統的性能。第三方面,本申請提供了一種緩存管理裝置,該裝置包括:通信接口、處理器和存儲器。其中通信接口、處理器以及所述存儲器之間可以通過總線系統相連。該存儲器用于存儲程序、指令或代碼,所述處理器用于執行所述存儲器中的程序、指令或代碼,完成前述方面設計中的方法。第四方面,本申請提供了一種通信系統,包括一種網絡設備,用于執行前述方面設計中的方法,方法的具體執行步驟可以參見前述方面,此處不再贅述。第五方面,本申請實施例提供了一種計算機可讀存儲介質,用于存儲計算機程序,該計算機程序用于執行前述方面設計的指令。附圖說明為了更清楚地說明本申請實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1(a)為本申請實施例提供的一種緩存管理方法的方法流程示意圖。圖1(b)為本申請實施例提供的一種緩存管理方法的方法流程示意圖。圖1(c)為本申請實施例提供的一種緩存管理方法的方法流程示意圖。圖1(d)為本申請實施例提供的一種緩存管理方法的方法流程示意圖。圖2為本申請實施例提供的一種緩存管理裝置的結構示意圖。圖3為本申請實施例提供的一種緩存管理裝置的硬件結構示意圖。具體實施方式除非有相反的說明,本申請實施例提及“第一”、“第二”以及“第三”等序數詞用于對多個對象進行區分,不用于限定多個對象的順序。下面結合圖1(a)對本申請實施例提供的緩存管理方法100進行詳細說明。S101、網絡設備接收報文,確定所述報文對應第一緩存隊列。該網絡設備例如可以是路由器,交換機等設備。所述網絡設備包括分類器,緩存和調度裝置。該緩存包括共享緩存區,所述共享緩存區為N個緩存隊列,例如,8個緩存隊列,提供共享的緩存空間,N為大于1的整數。所述N個緩存隊列包括第一緩存隊列。網絡設備接收所述報文后,首先進入分類器進行分類。分類器是一個報文處理引擎,根據報文的不同屬性,例如目的IP地址,優先級等參數,進行查表處理和分發。通過所述分類器對所述報文進行分類處理,確定該報文對應所述第一緩存隊列。在一個具體的實施方式中,所述網絡設備接收到一個二層的VLAN幀。該VLAN幀的幀頭的具體結構如表1所示:表1如表1所示,Vlan標簽中包括優先級Priority字段802.1p,Priority字段的長度為3比特,這樣共有8種優先級。8種優先級分別對應8個隊列,例如,如表2所示:表2其中,BE、AF、EF、CS代表隊列的標識碼。上述各隊列標識碼只是對隊列進行標識,隊列標識碼不代表服務等級的高低。在表1中采用上述隊列標識碼,只是為了更加直觀的說明各隊列優先級的相對高低。對于各隊列標識碼,也可以用隊列1,隊列2,隊列3,隊列4等,本申請不作限制。下面對BE、AF、EF、CS所對應的業務進行舉例說明。BE:沒有質量保證,一般對應于與傳統的IP分組投遞服務,只關注可達性,其他方面不作任何要求。IP網絡中,缺省的每跳行為(英文:PerHopBehavior,PHB)就是BE。任何路由器都必須支持BEPHB。AF:代表帶寬有保證、時延可控的服務,是用于視頻、語音以及企業VPN等業務。如表2所示,AF被細分成4個等級,并且每個等級例如可以有3個丟棄優先級,其表達形式為:AF1x-AF4x,x表示丟棄優先級,取值為1-3。EF:代表低時延、低抖動、低丟包率,對應于實際應用中的視頻、語音、會議電視等實時業務。CS:因為現網有些存量設備不支持差分服務,只解析差分服務碼點(英文:DifferentiatedServicesCodePoint,DSCP)的前3個比特,為了后向兼容,標準預留了所有格式為XXX000的DSCP值,這類值就對應為CSPHB。上述隊列所對應的業務分類只是例舉,本領域技術人員可以根據需要靈活設置,本申請對此不做具體限定。因此,當網絡設備接收到一個VLAN幀后,會根據VLAN幀頭的優先級,來確定與該報文相對應的緩存隊列。例如,VLAN幀頭中優先級字段的值為101,則可以確定該VLAN幀對應于隊列EF。在另一個具體的實施方式中,所述網絡設備接收一個因特網協議(英文:InternetProtocol,IP)報文。在該IP報文的報文頭中具有服務類型(英文:Typeofservice,Tos)字段,該Tos字段中已使用的6比特的標識為DSCP。每一個DSCP編碼值都被映射到一個已定義的緩存隊列,例如,如表3所示。通過確定報文中攜帶的DSCP的值,可以確定與報文對應的緩存隊列。表3表3中只是示例性的說明了部分DSCP的值與緩存隊列的映射關系,本申請對于DSCP的值與緩存隊列的具體映射關系,不作具體限定。S102、所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小是否大于第一門限值。在一個可選的實施方式中,可以根據第一緩存隊列在共享緩存區中的字節數,來確定所述第一緩存隊列當前占用的所述共享緩存區的緩存空間的大小,緩存空間的最小單位為1個字節。例如,在所述共享緩存區中,所述第一緩存隊列實際長度為1518個字節,則所述第一緩存隊列占用的所述共享緩存區中的緩存空間的大小為1518個字節。這種情況,可以使用字節數作為第一門限值。在另一個可選的實施方式中,可以根據該第一緩存隊列當前占用的共享緩存區中的緩存切片的數量,來確定所述第一緩存隊列當前占用的所述共享緩存區的緩存空間的大小,緩存空間的最小單位為一個緩存切片。例如,將所述共享緩存區的緩存資源劃分多個切片,每個切片可以具有固定的大小,例如256字節。緩存存儲報文時,根據每個報文的長度,分別分配1個或多個緩存切片。以單個緩存切片大小為256字節時,當共享緩存區中,第一緩存隊列的實際長度為1518個字節時,則所述第一緩存隊列占用的所述共享緩存區中的緩存空間的大小為6個緩存切片。這種情況,可以使用緩存切片的數量作為第一門限值。在另一個可選的實施方式中,還可以用第一緩存隊列在所述共享緩存區中排隊的報文的數量,來確定第一緩存隊列當前占用的所述共享緩存區去的緩存空間的大小,緩存空間的最小單位為一個報文。例如,共享緩存區配置可存儲的報文數量為N個,在共享緩存區中,第一緩存隊列中排隊的報文數量為M個,此時,所述第一緩存隊列占用的所述共享緩存區中的緩存空間的大小為M個報文。這種情況下,可以使用報文的數量作為第一門限值。下文中,將以字節數作為判斷緩存空間的大小的依據為例進行描述。S103、如果所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小不大于第一門限值,則將所述報文存儲到所述共享緩存區中。具體地,在所述網絡設備確定所述報文對應于于該第一緩存隊列后。則申請將該報文存儲到該共享緩存區中。首先,網絡設備需要確定在所述共享緩存區中,所述第一緩存隊列當前占用的緩存空間的大小是否大于第一門限值。該第一門限值為所述共享緩存區的當前剩余的緩存空間的大小乘以第一門限系數所得到的值。所述第一門限系數與所述第一緩存隊列的優先級對應,所述門限系數為大于0的常數。即所述第一門限系數為根據所述第一緩存隊列的優先級所配置的大于0的百分比系數。所述共享緩存區的當前剩余的緩存空間的大小等于所述共享緩存區的配置的緩存空間的大小減去所述N個緩存對列當前占用的緩存空間的大小。對于共享緩存區中的每個緩存隊列,都會配置一個相應的動態緩存門限。每個緩存隊列的動態緩存門限值=所述共享緩存區的當前剩余的緩存空間的大小(也可稱之為剩余共享緩存)*該緩存隊列的門限系數。其中,各緩存隊列的門限系數根據應用需要,可以配置不同的值。可選的,高優先級的隊列,配置的門限系數較大,低優先級的隊列,配置的門限系數較小。從而可以保證高優先級隊列能夠優先獲取共享緩存。所述共享緩存區的當前剩余的緩存空間的大小是變化的數值。在所述共享緩存區中,當前剩余的緩存空間較大時,各隊列對應的動態緩存門限值較大;當前剩余的緩存空間較小時,則各隊列對應的動態緩存門限值較小。當一個緩存隊列當前占用的共享緩存區中的緩存空間的大小不大于其動態門限值時,該緩存隊列可以繼續申請使用共享緩存區中的緩存空間。當一個緩存隊列當前占用的緩存空間的大小大于其動態門限值時,則共享緩存區不會再為該隊列分配緩存空間。舉例來說,網絡設備內具有8種隊列,分別對應8種不同的優先級,優先級從低到高分別為0、1、2、3、4、5、6、7,各隊列對應的門限系數如表4所示:隊列門限系數050%160%270%380%490%5100%6110%7120%表4由表4可知,隊列7的門限系數為120%,其動態緩存門限值=剩余共享緩存*120%,而隊列0的門限系數為50%,則隊列0的動態門限=剩余共享緩存*50%。假設,共享緩存區中配置的緩存空間的大小為800000字節,8個隊列當前占用的共享緩存區中的緩存空間的大小合計為700000字節,則所述共享緩存區當前剩余的緩存空間的大小為100000字節,即剩余共享緩存為100000字節。假設隊列7和隊列0當前占用的共享緩存區中的緩存空間的大小均為100000字節,則隊列7的動態門限值為120000字節,當前占用的共享緩存區中的緩存空間的大小不大于120000字節,則可以繼續申請共享緩存區中的緩存空間。而隊列0的動態門限值為50000字節,即隊列0當前占用的共享緩存區中的緩存空間的大小大于50000字節,則共享緩存區不會再為隊列0分配緩存空間。本申請中所述第一門限系數是指為該第一緩存隊列所分配的門限系數。該第一門限值即為該第一緩存隊列的動態門限值。該第一門限值是動態變化的。舉例來說,該網絡設備接收所述報文后,確定所述報文對應第一緩存隊列。根據S102,確定在所述共享緩存區中,所述第一緩存隊列當前占用的緩存空間的大小是否大于該第一門限值。假設,此時,共享緩存區的剩余緩存為100000字節,所述第一緩存隊列的門限系數為100%,則此時,該第一門限值為100000字節。假設,此時,共享緩存區的剩余緩存為50000字節,則此時,該第一門限值為50000字節。即,第一門限值是隨該共享緩存區的剩余共享緩存的變化而動態變化的。在網絡設備接收報文時,與該報文對應的緩存隊列的門限值,取決于當前的剩余共享緩存的大小。在本申請中,通過設置共享緩存區中的動態緩存門限,使得網絡設備的擁塞程度較低時,共享緩存中剩余的緩存較多,與各緩存隊列對應的動態緩存門限較大,能充分利用緩存應對流量突發,保證緩存的使用效率。當擁塞程度較高時,嚴重擁塞的隊列由于使用的共享緩存達到動態門限,不能繼續獲取共享緩存;而不擁塞的隊列或擁塞程度較輕的隊列,使用的共享緩存未達到動態門限,則可以繼續獲取共享緩存,從而可以保證共享緩存使用的公平性。并且,由于按照優先級對隊列設置了不同的門限系數,在發生擁塞時,可以保證高優先級的報文優先獲取緩存,避免低優先級隊列的擁塞影響高優先級報文的轉發。在本申請另一個具體的實施方式中,所述緩存還可以包括突發緩存區。所述突發緩存區用于為未發生擁塞的隊列提供緩存空間,以有效減少不擁塞的隊列出現突發流量時所發生的丟包。如圖1(b)所示,該方法100在S102后,還可以包括S104。S104、如果所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小大于所述第一門限值,并進一步確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于第二門限值,則將所述報文存儲到所述突發緩存區。其中,上述的第一緩存隊列當前占用的緩存中的緩存空間包括該第一緩存隊列在所述共享緩存區中當前占用的緩存空間。如果該第一緩存隊列當前還占用了所述突發緩存區中的緩存空間,則所述第一緩存隊列當前占用的緩存中的緩存空間除了包括該第一緩存隊列在所述共享緩存區中當前占用的緩存空間,還包括第一緩存隊列當前占用的所述突發緩存區中的緩存空間。所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于所述第二門限值表示所述第一緩存隊列沒有發生擁塞或發生輕度擁塞。在本申請實施例中,參照S102中的描述,可以根據第一緩存隊列的字節數,第一緩存隊列占用的緩存切片的數量或第一緩存隊列中排隊的報文的數量,來確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小是否小于所述第二門限值。具體地,在一個可選的實施方式中,根據第一緩存隊列在整個緩存中的字節數,來確定第一緩存隊列當前占用的所述緩存中的緩存空間的大小是否小于第二門限值。例如,在整個緩存中,第一緩存隊列的實際長度為3036字節,則第一緩存隊列占用的緩存中的緩存空間大小為3036字節。這種情況,可以選擇合適的字節數來作為第二門限值。對于第二門限值的取值,本申請不做具體限定。在另一個具體地實施方式中,根據第一緩存隊列當前占用的緩存中的緩存切片的數量,來確定第一緩存隊列當前占用的所述緩存中的緩存空間的大小是否小于第二門限值。例如,將所述緩存的緩存資源劃分多個切片,每個切片可以具有固定的大小,例如256字節。緩存存儲報文時,根據每個報文的長度,分別分配1個或多個緩存切片。以單個緩存切片大小為256字節時,當第一緩存隊列的實際長度為1518個字節時,則所述第一緩存隊列占用的所述緩存中的緩存空間的大小為6個緩存切片。這種情況,可以使用緩存切片的數量作為第二門限值。對于第二門限值的取值,本申請不做具體限定。例如,將第二門限值設定為5個緩存切片,當第一緩存隊列占用的緩存切片的數量小于5個時,則認為第一緩存隊列未發生擁塞或僅輕度擁塞。在另一個具體的實施方式中,根據第一緩存隊列中報文的數量,來確定第一緩存隊列當前占用的所述緩存中的緩存空間的大小是否小于第二門限值。當第一緩存隊列或者出端口的帶寬足夠時,報文即來即走,在緩存中停留的時間很短,第一緩存隊列中的報文數量在0-1之間變化,此時可以認為隊列沒有發生擁塞。若第一緩存隊列或出端口帶寬不足,或者入口流量大于第一緩存隊列或出端口的帶寬時,可能導致部分報文因為帶寬不足而暫時得不到調度,停留在第一緩存隊列中,造成隊列擁塞,報文累積,比如累積的報文的數量2個以上。這種情況下,可認為隊列處于擁塞。當累積報文不超過一個預設的第二門限值時,可認為隊列僅發生輕度擁塞。所述第二門限值的取值范圍例如可以是5-10,本申請不做具體限定。假設第二門限值取值為5,則當第一緩存隊列中累積的報文的數量不超過5時,可以申請使用突發緩存區的緩存資源。具體地,在本申請中,預先為每個緩存隊列占用所述緩存的緩存空間的大小設定對應的閾值。當一個緩存隊列所占用的所述緩存中的緩存空間大小不超過為該緩存隊列所預設的閾值時,表示該緩存隊列未發生擁塞或僅發生輕度擁塞。對于該第一緩存隊列,例如可以預先設置,設定其占用所述緩存的緩存空間的大小不超過第二門限值,認定該第一緩存隊列沒有發生擁塞或輕度擁塞。此時,當網絡設備在短時間內接收到突發流量,并確定上述突發流量均對應于該第一緩存隊列,并且網絡設備確定該第一緩存隊列在所述共享緩存區中當前占用的緩存空間大小已經超過所述第一門限值,則所述網絡設備需要進一步判斷所述第一緩存隊列當前占用的緩存中的緩存空間是否小于所述第二門限值。當所述網絡設備確定所述第一緩存隊列當前占用的緩存中的緩存空間小于所述第二門限值后,則將所述報文存儲到所述突發緩存區中。可選的,在將報文存儲到所述突發緩存區之前,所述網絡設備確定所述突發緩存區是否具有可用于存儲所述報文的緩存空間。如果所述網絡設備確定所述突發緩存區具有可用于存儲所述報文的緩存空間,則將所述報文存儲到所述突發緩存區。通過在緩存中設置突發緩存區,可以有效存儲非擁塞隊列的突發流量,減少不擁塞隊列的丟包,有效提升了系統的性能。本領域技術人員可以理解的是,當所述網絡設備確定第一緩存隊列當前占用的所述緩存中的緩存空間的大小大于該第二門限值時,可以選擇將該報文丟棄。在本申請的另一個具體的實施方式中,所述緩存還包括獨享緩存區,所述獨享緩存區中包括N個子獨享緩存區,所述N個子獨享緩存區分別為所述N個緩存隊列提供獨享的緩存空間,所述N個子獨享緩存區與所述N個緩存隊列間的映射為一一對應,所述N個子獨享緩存區包括第一獨享緩存區,所述第一獨享緩存區為所述第一緩存隊列提供獨享的緩存空間,如圖1(c)所示,在所述S102后,所述方法100還包括S105和S106。S105、如果所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小大于所述第一門限值,則進一步確定所述第一獨享緩存區是否具有可用于存儲所述報文的緩存空間。具體地,所述獨享緩存區中按照一定的規則,例如平均分配的原則或者按照優先級原則,將獨享緩存區的緩存空間分配給各緩存隊列。該第一獨享緩存區僅用于為第一緩存隊列提供獨享的緩存空間,即僅用于存儲進入到第一緩存隊列的報文。S106、如果所述網絡設備確定所述第一獨享緩存區具有可用于存儲所述報文的緩存空間,將所述報文存儲到所述第一獨享緩存區中。在網絡設備中設置所述獨享緩存區,并將獨享緩存區劃分為與各緩存隊列所對應的多個子獨享緩存區,從而為每個隊列提供獨享的緩存空間。對于每個緩存隊列來說,當無法繼續占用共享緩存區中的緩存空間時,可以使用其獨享的緩存區來緩存隊列中的報文,從而有效避免報文丟失。可選的,在本申請另一個具體的實施方式中,所述緩存還包括突發緩存區,如圖1(d)所示,在所述S105以后,所述方法100還包括S107和S108。S107、如果所述網絡設備確定所述第一獨享緩存區不具有可用于存儲所述報文的緩存空間,并進一步確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于第三門限值,則執行S108。所述第一緩存隊列當前占用的所述緩存中的緩存空間包括所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間以及所述第一緩存隊列當前占用的所述第一獨享緩存區中的緩存空間。如果該第一緩存隊列當前還占用了所述突發緩存區中的緩存空間,則所述第一緩存隊列當前占用的緩存中的緩存空間除了包括所述第一緩存隊列當前占用的所述緩存中的緩存空間包括所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間以及所述第一緩存隊列當前占用的所述第一獨享緩存區中的緩存空間,還包括第一緩存隊列當前占用的所述突發緩存區中的緩存空間。所述第一緩存隊列當前占用所述緩存中的緩存空間的大小小于所述第三門限值表示所述第一緩存隊列沒有發生擁塞或輕度擁塞。關于第三門限值的說明與相關設置,與第二門限值相似,此處不再贅述。本領域技術人員可以理解的是,當所述網絡設備確定第一緩存隊列當前占用的所述緩存中的緩存空間的大小大于該第三門限值時,可以選擇將該報文丟棄。S108、所述網絡設備將所述報文存儲到所述突發緩存區中。通過在所述緩存中設置突發緩存區,可以為未發生擁塞或僅發生輕度擁塞的隊列提供緩存空間,有效減少了非嚴重擁塞的隊列出現突發流量時所發生的丟包。為了執行上述實施例中的方法100,本申請實施例提供了一種緩存管理裝置200,所述緩存包括共享緩存區,所述共享緩存區為N個緩存隊列提供共享的緩存空間,N為大于1的整數,所述N個緩存隊列包括第一緩存隊列。參見圖2,該緩存管理裝置200包括接收模塊201和處理模塊202。接收模塊201,用于接收報文。處理模塊202,用于確定所述報文對應所述第一緩存隊列。所述處理模塊202,還用于確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小是否大于第一門限值,所述第一門限值為所述共享緩存區的當前剩余的緩存空間的大小乘以門限系數所得到的值,所述門限系數與所述第一緩存隊列的優先級對應,所述門限系數大于0,所述共享緩存區的當前剩余的緩存空間的大小等于所述共享緩存區的配置的緩存空間的大小減去所述N個緩存對列當前占用的緩存空間的大小。所述處理模塊202,進一步用于在確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小不大于第一門限值后,將所述報文存儲到所述共享緩存區中。在本申請中,通過設置共享緩存區中的動態緩存門限,使得網絡設備的擁塞程度較低時,共享緩存中剩余的緩存較多,與各緩存隊列對應的動態緩存門限較大,能充分利用緩存應對流量突發,保證緩存的使用效率。當擁塞程度較高時,嚴重擁塞的隊列由于使用的共享緩存達到動態門限,不能繼續獲取共享緩存;而不擁塞的隊列或擁塞程度較輕的隊列,使用的共享緩存未達到動態門限,則可以繼續獲取共享緩存,從而可以保證共享緩存使用的公平性。并且,由于按照優先級對隊列設置了不同的門限系數,在發生擁塞時,可以保證高優先級的報文優先獲取緩存,避免低優先級隊列的擁塞影響高優先級報文的轉發。可選的,所述緩存還包括突發緩存區,所述緩存還包括突發緩存區,所述處理模塊202,進一步用于在確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小大于所述第一門限值并小于第二門限值后,將所述報文存儲到所述突發緩存區中。通過在緩存中設置突發緩存區,可以有效存儲非擁塞隊列的突發流量,減少不擁塞隊列的丟包,有效提升了系統的性能。可選的,所述緩存還包括獨享緩存區,所述獨享緩存區中包括N個子獨享緩存區,所述N個子獨享緩存區分別為所述N個緩存隊列提供獨享的緩存空間,所述N個子獨享緩存區與所述N個緩存隊列間的映射為一一對應,所述N個子獨享緩存區包括第一獨享緩存區,所述第一獨享緩存區為所述第一緩存隊列提供獨享的緩存空間。所述處理模塊202,還用于在確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小大于所述第一門限值后,進一步確定所述第一獨享緩存區是否具有可用于存儲所述報文的緩存空間;所述處理模塊202,進一步用于在確定所述第一獨享緩存區具有可用于存儲所述報文的緩存空間后,將所述報文存儲到所述第一獨享緩存區中。在網絡設備中設置所述獨享緩存區,并將獨享緩存區劃分為與各緩存隊列所對應的多個子獨享緩存區,從而為每個隊列提供獨享的緩存空間。對于每個緩存隊列來說,當無法繼續占用共享緩存區中的緩存空間時,可以使用其獨享的緩存區來緩存隊列中的報文,從而有效避免報文丟失。可選的,所述處理模塊202,還用于在確定所述第一獨享緩存區不具有可用于存儲所述報文的緩存空間后,進一步確定所述第一緩存隊列當前占用的所述緩存中的緩存空間的大小小于第三門限值,則將所述報文存儲到所述突發緩存區中。接收模塊201和處理模塊202的具體工作流程參照前面方法實施例中的描述,此處不再重復。第一門限值,第一二門限值以及第三門限值的相關說明請參照方法實施例的描述,此處不再重復。在本申請中,緩存管理裝置可以是一個網絡設備,例如,所述網絡設備可以是路由器,交換機,光傳送網(英文:OpticalTransportNetwork,OTN)設備、分組傳送網(英文:PacketTransportNetwork,PTN)設備或者波分復用(英文:WavelengthDivisionMultiplexing,WDM)設備。緩存管理裝置也可以是網絡設備中的一個部件,圖3是本申請實施例提供的一種緩存管理裝置400的示意圖。該裝置400可用于執行圖1(a)-圖1(d)所示的方法100。如圖3所示,該裝置400包括:通信接口401、處理器402和存儲器403。該通信接口401、處理器402和存儲器403可以通過總線系統404相連。所述存儲器403用于存儲包括程序、指令或代碼。所述處理器402,用于執行所述存儲器403中的程序、指令或代碼,以控制輸入接口401接收信號以完成方法100中的相關操作。應理解,在本申請實施例中,上述處理器402可以是中央處理單元(英文:CentralProcessingUnit,簡稱為“CPU”),還可以是其他通用處理器、數字信號處理器(英文:DigitalSignalProcessor,DSP)、專用集成電路(英文:Application-SpecificIntegratedCircuit,ASIC)、現成可編程門陣列(英文:FieldProgrammableGateArray,FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。存儲器403可以包括只讀存儲器和隨機存取存儲器,并分別向各自對應的處理器提供指令和數據。存儲器一部分還可以包括非易失性隨機存取存儲器。例如,存儲器還可以存儲設備類型的信息。總線系統404除包括數據總線之外,還可以包括電源總線、控制總線和狀態信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線系統。在實現過程中,方法100的各步驟可以通過處理器402中的硬件的集成邏輯電路或者軟件形式的指令完成。結合本申請實施例所公開的定位方法的步驟可以直接體現為硬件處理器執行完成,或者用處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質分別位于上述各存儲器中,上述各處理器讀取對應的存儲器中的信息,結合其硬件完成上述方法100的步驟。為避免重復,這里不再詳細描述。需要說明的是,圖2提供的緩存管理裝置200,用于實現緩存管理方法100。一個具體的實現方式中,圖2中的處理模塊202可以用圖3中的處理器402實現,接收模塊201可以由圖3中的通信接口401實現。本申請還提供了一種通信系統,包括網絡設備,所述通信系統用于執行1對應的實施例的方法100。通信系統包括網絡設備,所述網絡設包括緩存。所述緩存包括共享緩存區,所述共享緩存區為N個緩存隊列提供共享的緩存空間,N為大于1的整數,所述N個緩存隊列包括第一緩存隊列,所述網絡設備接收報文,確定所述報文對應所述第一緩存隊列;所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小是否大于第一門限值,所述第一門限值為所述共享緩存區的當前剩余的緩存空間的大小乘以門限系數所得到的值,所述門限系數與所述第一緩存隊列的優先級對應,所述門限系數大于0,所述共享緩存區的當前剩余的緩存空間的大小等于所述共享緩存區的配置的緩存空間的大小減去所述N個緩存對列當前占用的緩存空間的大小;所述網絡設備確定所述第一緩存隊列當前占用的所述共享緩存區中的緩存空間的大小不大于第一門限值后,將所述報文存儲到所述共享緩存區中。本申請各個實施例中的各功能模塊可以集成在一個處理器中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上電路集成在一個電路中。上述各功能單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的。例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的。作為單元顯示的部件可以是或者也可以不是物理單元。即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。所述集成的單元如果以硬件結合軟件的形式實現并作為獨立的產品銷售或使用時,所述軟件可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案對現有技術做出貢獻的部分技術特征可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的部分或全部步驟。而前述的存儲介質可以是U盤、移動硬盤、只讀存儲器(英文:Read-OnlyMemory,ROM)、隨機存取存儲器(英文:RandomAccessMemory,RAM)、磁碟或者光盤。本說明書的各個部分均采用遞進的方式進行描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點介紹的都是與其他實施例不同之處。尤其,對于裝置和系統實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例部分的說明即可。應理解,在本申請的各種實施例中,上述各方法的序號的大小并不意味著執行順序的先后,各方法的執行順序應以其功能和內在邏輯確定,而不應對本申請實施例的實施過程構成任何限定。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的裝置或者方法,能夠以電子硬件實現。或者,能夠以電子硬件和計算機軟件的結合來實現。為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能。最后,需要說明的是:以上所述僅為本申請技術方案的較佳實施例而已。顯然,本領域技術人員可以對本申請進行各種改動和變型。當前第1頁1 2 3