新四季網

對多隊列的緩存空間進行分配控制的方法及裝置製造方法

2023-10-28 16:23:52

對多隊列的緩存空間進行分配控制的方法及裝置製造方法
【專利摘要】本發明公開了一種對多隊列的緩存空間進行分配控制的方法及裝置,本發明通過確定的需要分配待共享的緩存空間的隊列個數為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,並隨著需要分配待共享的緩存空間的隊列個數的變化為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,實現了根據網絡流量進行緩存空間自動調整分配,節約了硬體資源,有利於硬體實踐,同時提高了緩存空間的利用率。
【專利說明】對多隊列的緩存空間進行分配控制的方法及裝置

【技術領域】
[0001]本發明涉及到緩存領域,特別涉及到一種對多隊列的緩存空間進行分配控制的方法及裝置。

【背景技術】
[0002]隨著網絡的普及,信息交流與信息共享成為人們日常生活中必不可少的一部分。而隨著網絡中交互信息(數據包)的不斷增長,必然引起網絡擁塞。因此,如何避免擁塞顯得尤為重要,現在Internet (網際網路)上使用得比較廣泛的擁塞避免機制是RED (RandomEarly Discard,隨機早期丟棄)機制。而RED機制的關鍵在於如何有效的使用有限的緩存資源,執行合理的丟棄,從而實現擁塞避免,保障網絡的順暢。
[0003]在現有的採用RED機制的RED裝置的多隊列緩存中,通常的分配緩存方式包括--方式一、使用的都是按照埠、隊列的數量及隊列的優先級來分配緩存的方式;方式二、採用指數移動加權平均算法並配合其他函數實現多隊列共享緩存的方式。
[0004]然而,上述方式存在不可迴避的缺陷:
[0005]缺陷一、採用上述方式一划分緩存比較簡單,但由於各隊列的緩存是預先分配,且分配完畢即是固定的,不能根據各隊列實時網絡流量進行自動調整,緩存利用率偏低,缺乏自適應性,並且也無法真正達到共享緩存的效果,因為分配好之後,每個隊列能使用緩存的最大額度就是分配給自己的那一部分;
[0006]缺陷二、採用上述方式二進行共享緩存,在激活隊列較少時,緩存利用率偏低,並且算法相對複雜,不利於硬體實現。


【發明內容】

[0007]本發明的主要目的為提供一種對多隊列的緩存空間進行分配控制的方法及裝置,旨在實現根據網絡流量進行緩存自動調整分配,進而提高緩存空間的利用率。
[0008]本發明提出一種對多隊列的緩存空間進行分配控制的方法,該方法包括:
[0009]分析各個隊列中是否存在需要分配待共享的緩存空間的隊列;
[0010]在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列的個數;
[0011]根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0012]優選地,所述根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列的步驟包括:
[0013]將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;
[0014]根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0015]優選地,在所述分析各個隊列中是否存在需要分配待共享的緩存空間的隊列的步驟之前,該方法還包括:
[0016]將待獨享的緩存空間分配給各個隊列。
[0017]優選地,所述將待獨享的緩存空間分配給各個隊列的步驟之後,該方法還包括:
[0018]分析為各個隊列分配的待獨享的緩存空間是否滿足各個隊列的執行需要;
[0019]若有隊列被分配的待獨享的緩存空間不滿足執行需要,則確定該隊列為需要分配待共享的緩存空間的隊列。
[0020]優選地,在所述將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列的步驟之後,該方法還包括:
[0021]分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用;
[0022]當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,並根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0023]一種對多隊列的緩存空間進行分配控制的裝置,該裝置包括:
[0024]分析模塊,用於分析各個隊列中是否存在需要分配待共享的緩存空間的隊列;
[0025]處理模塊,用於在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列的個數;
[0026]分配模塊,用於根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0027]優選地,所述處理模塊,還用於將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;
[0028]所述分配模塊,還用於根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0029]優選地,所述分配模塊,還用於將待獨享的緩存空間分配給各個隊列。
[0030]優選地,所述分析模塊,還用於分析為各個隊列分配的待獨享的緩存空間是否滿足各個隊列的執行需要;
[0031]所述處理模塊,還用於若有隊列被分配的待獨享的緩存空間不滿足執行需要,則確定該隊列為需要分配待共享的緩存空間的隊列。
[0032]優選地,所述分析模塊,還用於分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用;
[0033]所述處理模塊,還用於當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一;
[0034]所述分配模塊,還用於根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0035]相對現有技術,通過確定的需要分配待共享的緩存空間的隊列個數為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,並隨著需要分配待共享的緩存空間的隊列個數的變化為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,實現了根據網絡流量進行緩存空間自動調整分配,節約了硬體資源,有利於硬體實踐,同時提高了緩存空間的利用率。

【專利附圖】

【附圖說明】
[0036]圖1為本發明對多隊列的緩存空間進行分配控制的方法的第一實施例的具體流程圖;
[0037]圖2為本發明對多隊列的緩存空間進行分配控制的方法的第二實施例的具體流程圖;
[0038]圖3為本發明對多隊列的緩存空間進行分配控制的方法的第三實施例的具體流程圖;
[0039]圖4為本發明對多隊列的緩存空間進行分配控制的方法的第四實施例的具體流程圖;
[0040]圖5為本發明對多隊列的緩存空間進行分配控制的方法的第五實施例的具體流程圖;
[0041]圖6為本發明對多隊列的緩存空間進行分配控制的裝置的較佳實施例的具體架構圖。
[0042]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。

【具體實施方式】
[0043]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0044]如圖1所示,為本發明對多隊列的緩存空間進行分配控制的方法的第一實施例的具體流程圖。
[0045]需要強調的是:圖1所示流程圖僅為一個較佳實施例,本領域的技術人員當知,任何圍繞本發明思想構建的實施例都不應脫離於如下技術方案涵蓋的範圍:
[0046]分析各個隊列中是否存在需要分配待共享的緩存空間的隊列;在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列的個數;根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0047]以下是本實施例逐步實現對多隊列的緩存進行控制的具體步驟:
[0048]步驟S11,分析各個隊列中是否存在需要分配待共享的緩存空間的隊列。
[0049]具體的,實時或定時分析各個隊列是否需要分配待共享的緩存空間的隊列。
[0050]步驟S12,在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列個數。
[0051]具體的,當存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列個數;例如,當找出有3個需要分配待共享的緩存空間的隊列時,即需要分配待共享的緩存空間的隊列個數為3。
[0052]步驟S13,根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0053]具體的,獲取待共享的緩存空間的大小,即為總的多隊列待共享的緩存空間的大小,例如,可以是100M,也還可以是其他任意預先設置的共享緩存空間;將所述獲取的多隊列的共享緩存空間的大小根據所述確定的需要分配待共享的緩存空間的隊列個數平均分配給各個需要分配待共享的緩存空間的隊列。例如,獲取的多隊列的共享緩存空間的大小是100M,確定的需要分配待共享的緩存空間的隊列個數是4個,則將100M共享緩存空間平均分配給4個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間的大小為25M ;需要分配待共享的緩存空間的隊列得到共享緩存空間大小的計算公式為:Q共隊列=Q共/N,其中,Q共為總的多隊列的共享緩存大小,N為需要分配待共享的緩存空間的隊列個數,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間的獨享。在本發明其他實施例中,分配待共享的緩存空間的大小給需要分配待共享的緩存空間的隊列的方式,還可以是按照各個隊列的優先級高低順序及各個優先級對應的預設的參數將獲取的多隊列的共享緩存空間的大小分配給各個需要分配待共孚的緩存空間的隊列。
[0054]通過確定的需要分配待共享的緩存空間的隊列個數為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,並隨著需要分配待共享的緩存空間的隊列個數的變化為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,實現了根據網絡流量進行緩存空間自動調整分配,節約了硬體資源,有利於硬體實踐,同時提高了緩存空間的利用率。
[0055]如圖2所示,為本發明對多隊列的緩存空間進行分配控制的方法的第二實施例的具體流程圖。
[0056]基於上述第一實施例,步驟S13包括:
[0057]步驟S14,將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;
[0058]步驟S15,根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0059]具體的,獲取待共享的緩存空間的大小,即為多隊列分配的共享緩存空間的大小,例如,可以是100M,也還可以是其他任意預先設置的共享緩存空間;預留預設值的共享緩存空間,所述預設值可以是10M,或15M或30M等任意提前設置的共享緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。例如,獲取的多隊列的共享緩存空間的大小是100M,預留出預設值的緩存空間的預設值為15M,獲取的需要分配待共享的緩存空間的隊列個數是5個,則將100M減去15M之後的共享緩存空間85M作為待分配的緩存空間,將所述待分配的緩存空間85M平均分配給5個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間的大小為17M ;需要分配待共享的緩存空間的隊列得到共享緩存空間的大小的計算公式為:Q共隊列=(Q共-Q預留)/N,其中,Q共為總的多隊列的共享緩存空間,N為需要分配待共享的緩存空間的隊列個數,Q預留為按照預設值預留的多隊列的共享緩存空間,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間。
[0060]通過預留預設值的共享緩存空間,以便在總的共享緩存空間在被一個或多個需要分配待共享的緩存空間的隊列全部佔用時,其他隊列有共享緩存空間可用,能更加靈活的分配多隊列的共享緩存空間,提高用戶體驗。
[0061]如圖3所示,為本發明對多隊列的緩存空間進行分配控制的方法的第三實施例的具體流程圖。
[0062]基於上述第一實施例,在步驟Sll之前,還包括:
[0063]步驟S16,將待獨享的緩存空間分配給各個隊列。
[0064]具體的,獲取多隊列中總的隊列個數,待獨享的緩存空間、各個隊列在多隊列中的優先級以及各個優先級對應的分配係數;例如,隊列的個數為4個,分別是隊列A、隊列B、隊列C和隊列D,多隊列的總的獨享緩存空間的大小為200M,各個隊列的優先級順序為:隊列A、隊列B、隊列C及隊列D,各個隊列的對應的分配係數。根據獲取的隊列的優先級的高低順序、總的隊列個數以及各個優先級對應的分配係數,將所述待獨享緩存空間對應的分配給各個隊列,根據各個隊列的優先級的高低順序,高優先級的隊列和低優先級的隊列分配的獨享緩存可以不同,也可以將待獨享的緩存空間平均分配給各個隊列。當將待獨享的緩存空間平均分配給各個隊列時,其公式可以是Q獨隊列=Q獨/n,其中Q獨隊列為隊列分配的獨享緩存空間,Q獨為多隊列總的獨享緩存空間,η為多隊列中的隊列個數;當高優先級的隊列和低優先級的隊列分配的獨享緩存空間可以不同時,其公式可以是Q獨隊列=(Q獨/n)*c,c為優先級對應的分配常數,也還可以是其他任意適用的計算方式得到每個隊列分配的獨享緩存空間,所述優先級根據每個隊列的流量的大小來動態設置,即每個隊列在每個不同的時刻優先級是不一致的。例如,按照Q獨隊列=Q獨/n,分配待獨享的緩存空間,待獨享的緩存空間Q獨=200M,多隊列中的隊列個數n=4,Q獨對列=Q獨/n=200M/4=50M ;按照Q獨隊列=(Q獨/n ) *c分配待獨享的緩存空間,若隊列A的優先級對應的分配常數為1.5,隊列B優先級對應的分配常數為1.2,隊列C優先級對應的分配常數為0.8,隊列D優先級對應的分配常數為0.5,則對應的隊列A分配的獨享緩存空間為Q獨對列A= (200M/4) *1.5=50Μ*1.5=75Μ,隊列B分配的獨享緩存空間為Q獨對列B= (200Μ/4) * I.2=50Μ* I.2=60Μ,隊列C分配的獨享緩存空間為Q獨對列C= (200Μ/4) *0.8=50Μ*0.8=40Μ,隊列D分配的獨享緩空間存為Q獨對列D=(200M/4)*0.5=50M*0.5=25M。本實施例中,優選地以根據獲取的隊列的優先級的高低順序,將所述待獨享的緩存空間對應的分配給各個隊列,根據各個隊列的優先級的高低順序,高優先級的隊列和低優先級的隊列分配的獨享緩存空間可以不同的方式分配多隊列的獨享緩存空間,即按照公式Q獨隊列=(Q獨/n) *c分配待獨享的緩存空間。
[0065]通過按照預設優先級對應的分配常數給各個隊列合理的分配待獨享的緩存空間,使得獨享緩存空間的分配按照各個隊列的流量的大小合理分配,提高獨享緩存空間分配的靈活性,使得獨享緩存空間能得到更好更合理的利用,進而提高獨享緩存空間的利用率。
[0066]如圖4所示,為本發明對多隊列的緩存進行分配控制的方法的第四實施例的具體流程圖。
[0067]基於上述第一實施例,在步驟S13之後,還包括:
[0068]步驟S17,分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用。
[0069]具體的,在獲取待共享的緩存空間,將所述待共享的緩存空間根據確定的需要分配待共享的緩存空間的隊列個數分配給各個需要分配待共享的緩存空間的隊列之後,分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用,即分析存入該隊列的共享緩存空間內的數據包是否被調度出隊。
[0070]步驟S18,當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一。
[0071]具體的,當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一。例如,選取平均分配待共享的緩存空間的方式,獲取待共享的緩存空間的大小是100M,確定的需要分配待共享的緩存空間的隊列個數是4個,則將100M待共享的緩存空間平均分配給4個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間為25M ;需要分配待共享的緩存空間的隊列得到的共享緩存空間的計算公式為:Q共隊列=Q共/N,其中,Q共為待共享的緩存空間,N為需要分配待共享的緩存空間的隊列個數,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間;當存入某個隊列的共享緩存空間內的數據包被調度出隊時,即為隊列分配的共享緩存空間不被佔用,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,即需要分配待共享的緩存空間的隊列個數變為3個。
[0072]步驟S19,根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共孚的緩存空間的隊列。
[0073]具體的,例如,確定的需要分配待共享的緩存空間的隊列個數為4個,當存入某個隊列的共享緩存空間內的數據包被調度出隊時,即為隊列分配的共享緩存空間不被佔用,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,即需要分配待共享的緩存空間的隊列個數變為3個,則將100M待共享的緩存空間平均分配給3個需要分配待共享的緩存空間的隊列,Q共隊列=Q共/N=100M/3=33.33M。
[0074]通過當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,將確定的需要分配待共享的緩存空間的隊列個數減一,並根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列,通過動態監控需要分配待共享的緩存空間的隊列個數並及時對待共享的緩存空間重新分配,提高待共享的緩存空間分配的靈活性,使得緩存能得到更好更合理的利用,進而提高緩存空間的利用率。
[0075]如圖5所示,為本發明對多隊列的緩存進行分配控制的方法的第五實施例的具體流程圖。
[0076]基於上述第二實施例,在步驟S15之後,包括:
[0077]步驟S20,分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用。
[0078]具體的,將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列之後,分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用,即分析存入該隊列的共享緩存空間內的數據包是否被調度出隊。
[0079]步驟S21,當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一。
[0080]具體的,當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一。例如,選取平均分配待共享的緩存空間的方式,獲取待共享的緩存空間的大小是100M,確定的需要分配待共享的緩存空間的隊列個數是5個,預留出預設值的緩存空間的預設值為15M,則將100M減去15M之後的共享緩存空間85M作為待分配的緩存空間,將待分配的緩存空間平均分配給5個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間為17M ;需要分配待共享的緩存空間的隊列得到的共享緩存空間的計算公式為:Q共隊列=(Q共-Q預留)/N,其中,Q共為總的多隊列的共享緩存空間,N為需要分配待共享的緩存空間的隊列個數,Q預留為按照預設值預留的多隊列的共享緩存空間,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間;當存入某個隊列的共享緩存空間內的數據包被調度出隊時,即為隊列分配的共享緩存空間不被佔用,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,即需要分配待共享的緩存空間的隊列個數變為4個。
[0081]步驟S22,根據減一後的隊列個數,將待分配的緩存空間分配給各個需要分配待共孚的緩存空間的隊列。
[0082]具體的,例如,確定的需要分配待共享的緩存空間的隊列個數為5個,當存入某個隊列的共享緩存空間內的數據包被調度出隊時,即為隊列分配的共享緩存空間不被佔用,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,即需要分配待共享的緩存空間的隊列個數變為4個,則將85M待分配的緩存空間平均分配給4個需要分配待共享的緩存空間的隊列,Q共隊列=Q共隊列=(Q共-Q預留)/N= (100M-85M) /4=22.5M。
[0083]通過當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,將確定的需要分配待分配的緩存空間的隊列個數減一,並根據減一後的隊列個數,將待分配的緩存空間分配給各個需要分配待分配的緩存空間的隊列,通過動態監控需要分配待分配的緩存空間的隊列個數並及時對待分配的緩存空間重新分配,提高待共享的緩存空間分配的靈活性,使得緩存能得到更好更合理的利用,進而提高緩存空間的利用率。
[0084]如圖6所示,為本發明對多隊列的緩存空間進行分配控制的裝置的較佳實施例的具體架構圖。該裝置包括:分析模塊10,處理模塊20及分配模塊30,
[0085]所述分析模塊10,用於分析各個隊列中是否存在需要分配待共享的緩存空間的隊列。
[0086]具體的,分析模塊10實時或定時分析各個隊列是否需要分配待共享的緩存空間的隊列。
[0087]所述處理模塊20,用於在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列的個數。
[0088]具體的,當存在需要分配待共享的緩存空間的隊列時,處理模塊20確定需要分配待共享的緩存空間的隊列個數;例如,當找出有3個需要分配待共享的緩存空間的隊列時,即需要分配待共享的緩存空間的隊列個數為3。
[0089]所述分配模塊30,用於根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0090]具體的,分配模塊30獲取待共享的緩存空間的大小,即為總的多隊列待共享的緩存空間的大小,例如,可以是100M,也還可以是其他任意預先設置的共享緩存空間;分配模塊30將所述獲取的多隊列的共享緩存空間的大小根據所述確定的需要分配待共享的緩存空間的隊列個數平均分配給各個需要分配待共享的緩存空間的隊列。例如,分配模塊30獲取的多隊列的共享緩存空間的大小是100M,處理模塊20確定的需要分配待共享的緩存空間的隊列個數是4個,則分配模塊30將100M共享緩存空間平均分配給4個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間的大小為25M ;需要分配待共享的緩存空間的隊列得到共享緩存空間大小的計算公式為:Q共隊列=Q共/N,其中,Q共為總的多隊列的共享緩存大小,N為需要分配待共享的緩存空間的隊列個數,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間的獨享。在本發明其他實施例中,分配模塊30分配待共享的緩存空間的大小給需要分配待共享的緩存空間的隊列的方式,還可以是按照各個隊列的優先級高低順序及各個優先級對應的預設的參數將獲取的多隊列的共享緩存空間的大小分配給各個需要分配待共享的緩存空間的隊列。
[0091]通過分配模塊30根據處理模塊20確定的需要分配待共享的緩存空間的隊列個數為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,並隨著需要分配待共享的緩存空間的隊列個數的變化為每個需要分配待共享的緩存空間的隊列分配共享緩存空間,實現了根據網絡流量進行緩存空間自動調整分配,節約了硬體資源,有利於硬體實踐,同時提高了緩存空間的利用率。
[0092]進一步地,所述處理模塊20,還用於將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;
[0093]所述分配模塊30,還用於根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0094]具體的,分配模塊30獲取待共享的緩存空間的大小,即為多隊列分配的共享緩存空間的大小,例如,可以是100M,也還可以是其他任意預先設置的共享緩存空間;處理模塊20預留預設值的共享緩存空間,所述預設值可以是10M,或15M或30M等任意提前設置的共享緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間;分配模塊30根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。例如,分配模塊30獲取的多隊列的共享緩存空間的大小是100M,處理模塊20預留出預設值的緩存空間的預設值為15M,獲取的需要分配待共享的緩存空間的隊列個數是5個,則將100M減去15M之後的共享緩存空間85M作為待分配的緩存空間,分配模塊30將所述待分配的緩存空間85M平均分配給5個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間的大小為17M;需要分配待共享的緩存空間的隊列得到共享緩存空間的大小的計算公式為:Q共隊列=(Q共-Q預留)/N,其中,Q共為總的多隊列的共享緩存空間,N為需要分配待共享的緩存空間的隊列個數,Q預留為按照預設值預留的多隊列的共享緩存空間,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間。
[0095]通過處理模塊20預留預設值的共享緩存空間,以便在總的共享緩存空間在被一個或多個需要分配待共享的緩存空間的隊列全部佔用時,其他隊列有共享緩存空間可用,能更加靈活的分配多隊列的共享緩存空間,提高用戶體驗。
[0096]進一步地,所述分配模塊30,還用於將待獨享的緩存空間分配給各個隊列。
[0097]具體的,處理模塊20獲取多隊列中總的隊列個數,待獨享的緩存空間、各個隊列在多隊列中的優先級以及各個優先級對應的分配係數;例如,隊列的個數為4個,分別是隊列A、隊列B、隊列C和隊列D,多隊列的總的獨享緩存空間的大小為200M,各個隊列的優先級順序為:隊列A、隊列B、隊列C及隊列D,各個隊列的對應的分配係數。分配模塊30根據獲取的隊列的優先級的高低順序、總的隊列個數以及各個優先級對應的分配係數,將所述待獨享緩存空間對應的分配給各個隊列。分配模塊30根據各個隊列的優先級的高低順序,高優先級的隊列和低優先級的隊列分配的獨享緩存可以不同,也可以將待獨享的緩存空間平均分配給各個隊列。當分配模塊30將待獨享的緩存空間平均分配給各個隊列時,其公式可以是Q獨隊列=Q獨/n,其中Q獨隊列為隊列分配的獨享緩存空間,Q獨為多隊列總的獨享緩存空間,η為多隊列中的隊列個數;分配模塊30當高優先級的隊列和低優先級的隊列分配的獨享緩存空間可以不同時,其公式可以是Q獨隊列=(Q獨/n)*c,c為優先級對應的分配常數,也還可以是其他任意適用的計算方式得到每個隊列分配的獨享緩存空間,所述優先級根據每個隊列的流量的大小來動態設置,即每個隊列在每個不同的時刻優先級是不一致的。例如,分配模塊30按照Q獨隊列=Q獨/n,分配待獨享的緩存空間,待獨享的緩存空間Q獨=200M,多隊列中的隊列個數n=4,Q獨對列=Q獨/n=200M/4=50M ;按照Q獨隊列=(Q獨/n)*c分配待獨享的緩存空間,若隊列A的優先級對應的分配常數為1.5,隊列B優先級對應的分配常數為1.2,隊列C優先級對應的分配常數為0.8,隊列D優先級對應的分配常數為0.5,則對應的隊列A分配的獨享緩存空間為Q獨對列A=(200M/4)*1.5=50M*1.5=75M,隊列B分配的獨享緩存空間為Q獨對列B=(200M/4)*1.2=50M*1.2=60M,隊列C分配的獨享緩存空間為Q獨對列C=(200M/4)*0.8=50M*0.8=40M,隊列D分配的獨享緩空間存為Q獨對列D=(200M/4)*0.5=50M*0.5=25M。本實施例中,優選地以根據獲取的隊列的優先級的高低順序,分配模塊30將所述待獨享的緩存空間對應的分配給各個隊列,根據各個隊列的優先級的高低順序,高優先級的隊列和低優先級的隊列分配的獨享緩存空間可以不同的方式分配多隊列的獨享緩存空間,即按照公式Q獨隊列=(Q獨/n) *c分配待獨享的緩存空間。
[0098]通過分配模塊30按照預設優先級對應的分配常數給各個隊列合理的分配待獨享的緩存空間,使得獨享緩存空間的分配按照各個隊列的流量的大小合理分配,提高獨享緩存空間分配的靈活性,使得獨享緩存空間能得到更好更合理的利用,進而提高獨享緩存空間的利用率。
[0099]進一步地,所述分析模塊10,還用於分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用。
[0100]具體的,在獲取待共享的緩存空間,將所述待共享的緩存空間根據確定的需要分配待共享的緩存空間的隊列個數分配給各個需要分配待共享的緩存空間的隊列之後,分析模塊10分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用,即分析存入該隊列的共享緩存空間內的數據包是否被調度出隊。
[0101]所述處理模塊20,還用於當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一。
[0102]具體的,當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則分析模塊10確定該隊列為不需要分配待共享的緩存空間的隊列,處理模塊20將確定的需要分配待共享的緩存空間的隊列個數減一。例如,選取平均分配待共享的緩存空間的方式,分配模塊30獲取待共享的緩存空間的大小是100M,處理模塊20確定的需要分配待共享的緩存空間的隊列個數是4個,則分配模塊30將100M待共享的緩存空間平均分配給4個需要分配待共享的緩存空間的隊列,每個需要分配待共享的緩存空間的隊列得到的共享緩存空間為25M ;需要分配待共享的緩存空間的隊列得到的共享緩存空間的計算公式為:Q共隊列=Q共/N,其中,Q共為待共享的緩存空間,N為需要分配待共享的緩存空間的隊列個數,Q共隊列為每個需要分配待共享的緩存空間的隊列分配的共享緩存空間;當存入某個隊列的共享緩存空間內的數據包被調度出隊時,即為隊列分配的共享緩存空間不被佔用,則處理模塊20確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,即需要分配待共享的緩存空間的隊列個數變為3個。
[0103]所述分配模塊30,還用於根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
[0104]具體的,例如,處理模塊20確定的需要分配待共享的緩存空間的隊列個數為4個,當存入某個隊列的共享緩存空間內的數據包被調度出隊時,即為隊列分配的共享緩存空間不被佔用,則處理模塊20確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,即需要分配待共享的緩存空間的隊列個數變為3個,則分配模塊30將100M待共享的緩存空間平均分配給3個需要分配待共享的緩存空間的隊列,Q共隊列=Q共/N=100M/3=33.33M。
[0105]通過當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,將處理模塊20確定的需要分配待共享的緩存空間的隊列個數減一,並根據減一後的隊列個數,分配模塊30將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列,通過動態監控需要分配待共享的緩存空間的隊列個數並及時對待共享的緩存空間重新分配,提高待共享的緩存空間分配的靈活性,使得緩存能得到更好更合理的利用,進而提高緩存空間的利用率。
[0106]以上所述僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發明的專利保護範圍內。
【權利要求】
1.一種對多隊列的緩存空間進行分配控制的方法,其特徵在於,該方法包括: 分析各個隊列中是否存在需要分配待共享的緩存空間的隊列; 在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列的個數; 根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
2.根據權利要求1所述的對多隊列的緩存空間進行分配控制的方法,其特徵在於,所述根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列的步驟包括: 將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間; 根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
3.根據權利要求1或2所述的對多隊列的緩存空間進行分配控制的方法,其特徵在於,在所述分析各個隊列中是否存在需要分配待共享的緩存空間的隊列的步驟之前,該方法還包括: 將待獨享的緩存空間分配給各個隊列。
4.根據權利要求3所述的對多隊列的緩存空間進行分配控制的方法,其特徵在於,所述將待獨享的緩存空間分配給各個隊列的步驟之後,該方法還包括: 分析為各個隊列分配的待獨享的緩存空間是否滿足各個隊列的執行需要; 若有隊列被分配的待獨享的緩存空間不滿足執行需要,則確定該隊列為需要分配待共孚的緩存空間的隊列。
5.根據權利要求1或2所述的對多隊列的緩存空間進行分配控制的方法,其特徵在於,在所述將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列的步驟之後,該方法還包括: 分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用; 當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一,並根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
6.一種對多隊列的緩存空間進行分配控制的裝置,其特徵在於,該裝置包括: 分析模塊,用於分析各個隊列中是否存在需要分配待共享的緩存空間的隊列; 處理模塊,用於在存在需要分配待共享的緩存空間的隊列時,確定需要分配待共享的緩存空間的隊列的個數; 分配模塊,用於根據確定的需要分配待共享的緩存空間的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
7.根據權利要求6所述的對多隊列的緩存空間進行分配控制的裝置,其特徵在於, 所述處理模塊,還用於將所述待共享的緩存空間中預留出預設值的緩存空間,並將預留後剩餘的緩存空間作為待分配的緩存空間; 所述分配模塊,還用於根據確定的需要分配待共享的緩存空間的隊列個數,將所述待分配的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
8.根據權利要求6或7所述的對多隊列的緩存空間進行分配控制的裝置,其特徵在於, 所述分配模塊,還用於將待獨享的緩存空間分配給各個隊列。
9.根據權利要求8所述的對多隊列的緩存空間進行分配控制的裝置,其特徵在於, 所述分析模塊,還用於分析為各個隊列分配的待獨享的緩存空間是否滿足各個隊列的執行需要; 所述處理模塊,還用於若有隊列被分配的待獨享的緩存空間不滿足執行需要,則確定該隊列為需要分配待共享的緩存空間的隊列。
10.根據權利要求6或7所述的對多隊列的緩存空間進行分配控制的裝置,其特徵在於, 所述分析模塊,還用於分析為各個需要分配待共享的緩存空間的隊列分配的共享緩存空間是否被佔用; 當為隊列分配的共享緩存不被佔用時,判定該隊列恢復未激活狀態, 所述處理模塊,還用於當有需要分配待共享的緩存空間的隊列被分配的共享緩存空間未被佔用時,則確定該隊列為不需要分配待共享的緩存空間的隊列,將確定的需要分配待共享的緩存空間的隊列個數減一; 所述分配模塊,還用於根據減一後的隊列個數,將待共享的緩存空間分配給各個需要分配待共享的緩存空間的隊列。
【文檔編號】H04L12/801GK104426790SQ201310377185
【公開日】2015年3月18日 申請日期:2013年8月26日 優先權日:2013年8月26日
【發明者】陳杭洲 申請人:中興通訊股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀