亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法及裝置制造方法

文檔序號(hào):8005367閱讀:246來源:國知局
對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法及裝置,本發(fā)明通過確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù)為每個(gè)需要分配待共享的緩存空間的隊(duì)列分配共享緩存空間,并隨著需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù)的變化為每個(gè)需要分配待共享的緩存空間的隊(duì)列分配共享緩存空間,實(shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)流量進(jìn)行緩存空間自動(dòng)調(diào)整分配,節(jié)約了硬件資源,有利于硬件實(shí)踐,同時(shí)提高了緩存空間的利用率。
【專利說明】對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到緩存領(lǐng)域,特別涉及到一種對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法及裝置。

【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)的普及,信息交流與信息共享成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠?。而隨著網(wǎng)絡(luò)中交互信息(數(shù)據(jù)包)的不斷增長,必然引起網(wǎng)絡(luò)擁塞。因此,如何避免擁塞顯得尤為重要,現(xiàn)在Internet (互聯(lián)網(wǎng))上使用得比較廣泛的擁塞避免機(jī)制是RED (RandomEarly Discard,隨機(jī)早期丟棄)機(jī)制。而RED機(jī)制的關(guān)鍵在于如何有效的使用有限的緩存資源,執(zhí)行合理的丟棄,從而實(shí)現(xiàn)擁塞避免,保障網(wǎng)絡(luò)的順暢。
[0003]在現(xiàn)有的采用RED機(jī)制的RED裝置的多隊(duì)列緩存中,通常的分配緩存方式包括--方式一、使用的都是按照端口、隊(duì)列的數(shù)量及隊(duì)列的優(yōu)先級(jí)來分配緩存的方式;方式二、采用指數(shù)移動(dòng)加權(quán)平均算法并配合其他函數(shù)實(shí)現(xiàn)多隊(duì)列共享緩存的方式。
[0004]然而,上述方式存在不可回避的缺陷:
[0005]缺陷一、采用上述方式一劃分緩存比較簡(jiǎn)單,但由于各隊(duì)列的緩存是預(yù)先分配,且分配完畢即是固定的,不能根據(jù)各隊(duì)列實(shí)時(shí)網(wǎng)絡(luò)流量進(jìn)行自動(dòng)調(diào)整,緩存利用率偏低,缺乏自適應(yīng)性,并且也無法真正達(dá)到共享緩存的效果,因?yàn)榉峙浜弥?,每個(gè)隊(duì)列能使用緩存的最大額度就是分配給自己的那一部分;
[0006]缺陷二、采用上述方式二進(jìn)行共享緩存,在激活隊(duì)列較少時(shí),緩存利用率偏低,并且算法相對(duì)復(fù)雜,不利于硬件實(shí)現(xiàn)。


【發(fā)明內(nèi)容】

[0007]本發(fā)明的主要目的為提供一種對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法及裝置,旨在實(shí)現(xiàn)根據(jù)網(wǎng)絡(luò)流量進(jìn)行緩存自動(dòng)調(diào)整分配,進(jìn)而提高緩存空間的利用率。
[0008]本發(fā)明提出一種對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法,該方法包括:
[0009]分析各個(gè)隊(duì)列中是否存在需要分配待共享的緩存空間的隊(duì)列;
[0010]在存在需要分配待共享的緩存空間的隊(duì)列時(shí),確定需要分配待共享的緩存空間的隊(duì)列的個(gè)數(shù);
[0011]根據(jù)確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù),將待共享的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列。
[0012]優(yōu)選地,所述根據(jù)確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù),將待共享的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列的步驟包括:
[0013]將所述待共享的緩存空間中預(yù)留出預(yù)設(shè)值的緩存空間,并將預(yù)留后剩余的緩存空間作為待分配的緩存空間;
[0014]根據(jù)確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù),將所述待分配的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列。
[0015]優(yōu)選地,在所述分析各個(gè)隊(duì)列中是否存在需要分配待共享的緩存空間的隊(duì)列的步驟之前,該方法還包括:
[0016]將待獨(dú)享的緩存空間分配給各個(gè)隊(duì)列。
[0017]優(yōu)選地,所述將待獨(dú)享的緩存空間分配給各個(gè)隊(duì)列的步驟之后,該方法還包括:
[0018]分析為各個(gè)隊(duì)列分配的待獨(dú)享的緩存空間是否滿足各個(gè)隊(duì)列的執(zhí)行需要;
[0019]若有隊(duì)列被分配的待獨(dú)享的緩存空間不滿足執(zhí)行需要,則確定該隊(duì)列為需要分配待共享的緩存空間的隊(duì)列。
[0020]優(yōu)選地,在所述將待共享的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列的步驟之后,該方法還包括:
[0021]分析為各個(gè)需要分配待共享的緩存空間的隊(duì)列分配的共享緩存空間是否被占用;
[0022]當(dāng)有需要分配待共享的緩存空間的隊(duì)列被分配的共享緩存空間未被占用時(shí),則確定該隊(duì)列為不需要分配待共享的緩存空間的隊(duì)列,將確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù)減一,并根據(jù)減一后的隊(duì)列個(gè)數(shù),將待共享的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列。
[0023]一種對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的裝置,該裝置包括:
[0024]分析模塊,用于分析各個(gè)隊(duì)列中是否存在需要分配待共享的緩存空間的隊(duì)列;
[0025]處理模塊,用于在存在需要分配待共享的緩存空間的隊(duì)列時(shí),確定需要分配待共享的緩存空間的隊(duì)列的個(gè)數(shù);
[0026]分配模塊,用于根據(jù)確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù),將待共享的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列。
[0027]優(yōu)選地,所述處理模塊,還用于將所述待共享的緩存空間中預(yù)留出預(yù)設(shè)值的緩存空間,并將預(yù)留后剩余的緩存空間作為待分配的緩存空間;
[0028]所述分配模塊,還用于根據(jù)確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù),將所述待分配的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列。
[0029]優(yōu)選地,所述分配模塊,還用于將待獨(dú)享的緩存空間分配給各個(gè)隊(duì)列。
[0030]優(yōu)選地,所述分析模塊,還用于分析為各個(gè)隊(duì)列分配的待獨(dú)享的緩存空間是否滿足各個(gè)隊(duì)列的執(zhí)行需要;
[0031]所述處理模塊,還用于若有隊(duì)列被分配的待獨(dú)享的緩存空間不滿足執(zhí)行需要,則確定該隊(duì)列為需要分配待共享的緩存空間的隊(duì)列。
[0032]優(yōu)選地,所述分析模塊,還用于分析為各個(gè)需要分配待共享的緩存空間的隊(duì)列分配的共享緩存空間是否被占用;
[0033]所述處理模塊,還用于當(dāng)有需要分配待共享的緩存空間的隊(duì)列被分配的共享緩存空間未被占用時(shí),則確定該隊(duì)列為不需要分配待共享的緩存空間的隊(duì)列,將確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù)減一;
[0034]所述分配模塊,還用于根據(jù)減一后的隊(duì)列個(gè)數(shù),將待共享的緩存空間分配給各個(gè)需要分配待共享的緩存空間的隊(duì)列。
[0035]相對(duì)現(xiàn)有技術(shù),通過確定的需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù)為每個(gè)需要分配待共享的緩存空間的隊(duì)列分配共享緩存空間,并隨著需要分配待共享的緩存空間的隊(duì)列個(gè)數(shù)的變化為每個(gè)需要分配待共享的緩存空間的隊(duì)列分配共享緩存空間,實(shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)流量進(jìn)行緩存空間自動(dòng)調(diào)整分配,節(jié)約了硬件資源,有利于硬件實(shí)踐,同時(shí)提高了緩存空間的利用率。

【專利附圖】

【附圖說明】
[0036]圖1為本發(fā)明對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法的第一實(shí)施例的具體流程圖;
[0037]圖2為本發(fā)明對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法的第二實(shí)施例的具體流程圖;
[0038]圖3為本發(fā)明對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法的第三實(shí)施例的具體流程圖;
[0039]圖4為本發(fā)明對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法的第四實(shí)施例的具體流程圖;
[0040]圖5為本發(fā)明對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的方法的第五實(shí)施例的具體流程圖;
[0041]圖6為本發(fā)明對(duì)多隊(duì)列的緩存空間進(jìn)行分配控制的裝置的較佳實(shí)施例的具體架構(gòu)圖。
[0042]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。

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