亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

緩存管理方法及裝置制造方法

文檔序號(hào):7778742閱讀:200來(lái)源:國(guó)知局
緩存管理方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例提供一種緩存管理方法及裝置。本發(fā)明的緩存管理方法,包括:判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列;若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。本發(fā)明實(shí)施例可提高緩存的利用率。
【專(zhuān)利說(shuō)明】緩存管理方法及裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明實(shí)施例涉及網(wǎng)絡(luò)技術(shù),尤其涉及一種緩存管理方法及裝置。
【背景技術(shù)】
[0002]隨著多媒體數(shù)據(jù)流需求的迅速增長(zhǎng),交換機(jī)的緩存管理變得格外重要。共享緩存作為交換機(jī)中常用的緩存結(jié)構(gòu),所有的輸入和輸出端口都共享一個(gè)緩存空間?,F(xiàn)有技術(shù)中常用的共享緩存的管理方法,主要包括靜態(tài)閾值方法和動(dòng)態(tài)閾值方法。
[0003]靜態(tài)閾值方法,為固定為每個(gè)隊(duì)列和/或端口分配一定的緩存,其他緩存或端口不能搶占,雖然可保證緩存共享的公平性,但緩存的利用率較低。動(dòng)態(tài)閾值方法,為每個(gè)隊(duì)列和/或端口配置一定的緩存占用比例因子,在應(yīng)用過(guò)程中,根據(jù)剩余的共享緩存,動(dòng)態(tài)的為每個(gè)隊(duì)列分配可用緩存。該方法由于配置過(guò)程較復(fù)雜而使得可提高的緩存利用率的受到一定的限制。
[0004]現(xiàn)有技術(shù)中,緩存管理方法的緩存利用率較低。

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

[0005]本發(fā)明實(shí)施例提供一種緩存管理方法及裝置,以解決現(xiàn)有技術(shù)中緩存利用率低的問(wèn)題。
[0006]第一方面,本發(fā)明實(shí)施例提供一種緩存管理方法,包括:
[0007]判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列;
[0008]若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0009]根據(jù)第一方面,在第一方面的第一種可能實(shí)現(xiàn)的方式中,所述判斷第一流隊(duì)列的隊(duì)列長(zhǎng)度是否超出隊(duì)列緩存閾值之前,還包括:
[0010]判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口 ;
[0011 ] 若所述當(dāng)前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將所述當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為所述第一流隊(duì)列。
[0012]根據(jù)第一方面的第一種可能實(shí)現(xiàn)的方式,在第二種可能實(shí)現(xiàn)的方式中,所述隊(duì)列緩存閾值包括至少兩個(gè)不同優(yōu)先級(jí)的緩存閾值;
[0013]所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,包括:
[0014]將所述第一流隊(duì)列中流隊(duì)列的隊(duì)列長(zhǎng)度與所述隊(duì)列緩存閾值中最高優(yōu)先級(jí)的緩存閾值進(jìn)行比較,判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列;
[0015]若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,包括:
[0016]若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則對(duì)所述超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。[0017]根據(jù)第一方面的第二種可能實(shí)現(xiàn)的方式,在第三種可能實(shí)現(xiàn)的方式中,所述方法,還包括:
[0018]若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,確定所述當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口,并將所述端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列;
[0019]按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第二流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列;
[0020]若所述第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0021]根據(jù)第一方面的第三種可能實(shí)現(xiàn)的方式,在第四種可能實(shí)現(xiàn)的方式中,所述方法,還包括:
[0022]若所述第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則發(fā)送第一告警提示信息;所述第一告警指示信息包括配置錯(cuò)誤提示信肩、O
[0023]根據(jù)第一方面的第二種可能實(shí)現(xiàn)的方式,在第五種可能實(shí)現(xiàn)的方式中,若所述當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,確定所述當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,并將所述端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口所具有的流隊(duì)列確定為所述第一流隊(duì)列。
[0024]根據(jù)第一方面的第五種可能實(shí)現(xiàn)的方式中,在第六種可能實(shí)現(xiàn)的方式中,所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,還包括:
[0025]若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列;
[0026]若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,還包括:
[0027]若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0028]根據(jù)第一方面的第六種可能實(shí)現(xiàn)的方式,在第七種可能實(shí)現(xiàn)的方式中,所述方法,還包括:
[0029]若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第二告警提示信息;所述第二告警指示信息包括配置錯(cuò)誤提示信息。
[0030]根據(jù)第一方面的第四種或第七種可能實(shí)現(xiàn)的方式,在第八種可能實(shí)現(xiàn)的方式中,在所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,還包括:
[0031]根據(jù)所述第一流隊(duì)列的優(yōu)先級(jí),設(shè)置所述隊(duì)列緩存閾值。
[0032]根據(jù)第一方面的第一種可能實(shí)現(xiàn)的方式,在第九種可能實(shí)現(xiàn)的方式,所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和小于等于共享緩存的N倍;所述當(dāng)前系統(tǒng)的總緩存包括所述共享緩存;
[0033]所述N為所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和與所述當(dāng)前系統(tǒng)的實(shí)際緩存的比值。[0034]根據(jù)第一方面的第九種可能實(shí)現(xiàn)的方式,在第十種可能實(shí)現(xiàn)的方式中,所述判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口之前,還包括:
[0035]判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存的閾值;所述當(dāng)前系統(tǒng)的總緩存,還包括所述保護(hù)緩存;
[0036]當(dāng)所述當(dāng)前系統(tǒng)的空閑緩存小于所述保護(hù)緩存的閾值時(shí),執(zhí)行判斷所述當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口的操作。
[0037]根據(jù)第一方面的第十種可能實(shí)現(xiàn)的方式,在第十一種可能實(shí)現(xiàn)的方式中,在所述判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值之前,還包括:
[0038]根據(jù)所述當(dāng)前系統(tǒng)中處理信息的時(shí)延,對(duì)所述保護(hù)緩存進(jìn)行配置。
[0039]根據(jù)第一方面的第八種可能實(shí)現(xiàn)的方式,在第十二種可能實(shí)現(xiàn)的方式中,所述對(duì)所述超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,包括:
[0040]在所述超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列;
[0041]將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器,以使所述隊(duì)列管理器對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作。
[0042]根據(jù)第一方面的第十二種可能實(shí)現(xiàn)的方式,在第十三種可能實(shí)現(xiàn)的方式中,所述方法,還包括:
[0043]根據(jù)所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷所述選擇的流隊(duì)列是否為需要老化的流隊(duì)列;
[0044]對(duì)所述需要老化的流隊(duì)列執(zhí)行老化操作。
[0045]根據(jù)第一方面的第十二種可能實(shí)現(xiàn)的方式,在第十四種可能實(shí)現(xiàn)的方式中,在所述將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器之后,還包括:
[0046]根據(jù)所述隊(duì)列管理器,在對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,之后產(chǎn)生的出隊(duì)指示消息,將所述選擇的流隊(duì)列對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器的值加I。
[0047]根據(jù)第一方面的第十四種可能實(shí)現(xiàn)的方式,在第十五種可能實(shí)現(xiàn)的方式中,所述根據(jù)所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷所述選擇的流隊(duì)列是否為需要老化的流隊(duì)列,包括:
[0048]若所述出隊(duì)計(jì)數(shù)器的值大于出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為I ;若所述出隊(duì)計(jì)數(shù)器的值小于等于所述出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為O ;
[0049]在預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為1,則確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列。
[0050]根據(jù)第一方面的第十五種可能實(shí)現(xiàn)的方式,在第十六種可能實(shí)現(xiàn)的方式中,在所述確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列之后,還包括:
[0051]減少所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置;
[0052]在所述預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為0,則恢復(fù)所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
[0053]第二方面,本發(fā)明實(shí)施例還提供一種緩存管理裝置,包括:
[0054]判斷模塊,用于判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列;[0055]執(zhí)行模塊,用于若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0056]根據(jù)第二方面,在第二方面的第一種可能實(shí)現(xiàn)的方式中,所述判斷模塊,還用于在所述判斷第一流隊(duì)列的隊(duì)列長(zhǎng)度是否超出隊(duì)列緩存閾值之前,判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口;
[0057]所述裝置,還包括:
[0058]確定模塊,用于若所述當(dāng)前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將所述當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為所述第一流隊(duì)列。
[0059]根據(jù)第二方面的第一種可能實(shí)現(xiàn)的方式,在第二種可能實(shí)現(xiàn)的方式中,所述隊(duì)列緩存閾值包括至少兩個(gè)不同優(yōu)先級(jí)的緩存閾值;
[0060]所述判斷模塊,用于將所述第一流隊(duì)列中流隊(duì)列的隊(duì)列長(zhǎng)度與所述隊(duì)列緩存閾值中最高優(yōu)先級(jí)的緩存閾值進(jìn)行比較,判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列;
[0061]所述執(zhí)行模塊,用于若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,對(duì)所述超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0062]根據(jù)第二方面的第二種可能實(shí)現(xiàn)的方式,在第三種可能實(shí)現(xiàn)的方式中,所述確定模塊,還用于若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,確定所述當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口,并將所述端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列;
[0063]所述判斷模塊,還用于按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第二流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列;
[0064]所述執(zhí)行模塊,還用于若所述第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0065]根據(jù)第二方面的第三種可能實(shí)現(xiàn)的方式,在第四種可能實(shí)現(xiàn)的方式中,所述裝置,還包括:
[0066]第一發(fā)送模塊,用于若所述第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第一告警提示信息;所述第一告警指示信息包括配置錯(cuò)誤提示信息。
[0067]根據(jù)第二方面的第二種可能實(shí)現(xiàn)的方式,在第五種可能實(shí)現(xiàn)的方式中,所述確定模塊,還用于若所述當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,確定所述當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,并將所述端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口所具有的流隊(duì)列確定為所述第一流隊(duì)列。
[0068]根據(jù)第二方面的第五種可能實(shí)現(xiàn)的方式,在第六種可能實(shí)現(xiàn)的方式中,所述判斷模塊,還用于若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列;
[0069]所述執(zhí)行模塊,還用于若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。[0070]根據(jù)第二方面的第六種可能實(shí)現(xiàn)的方式,在第七種可能實(shí)現(xiàn)的方式中,所述裝置,還包括:
[0071]第二發(fā)送模塊,用于若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第二告警提示信息;所述第二告警指示信息包括配置錯(cuò)誤提示信息。
[0072]根據(jù)第二方面的第四種或第七種可能實(shí)現(xiàn)的方式,在第八種可能實(shí)現(xiàn)的方式中,所述裝置,還包括:
[0073]配置模塊,用于在所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,根據(jù)所述第一流隊(duì)列的優(yōu)先級(jí),設(shè)置所述隊(duì)列緩存閾值。
[0074] 根據(jù)第二方面的第一種可能實(shí)現(xiàn)的方式,在第九種可能實(shí)現(xiàn)的方式中,所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和小于等于共享緩存的N倍;所述當(dāng)前系統(tǒng)的總緩存包括所述共享緩存;
[0075]所述N為所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和與所述當(dāng)前系統(tǒng)的實(shí)際緩存的比值。
[0076]根據(jù)第二方面的第九種可能實(shí)現(xiàn)的方式,在第十種可能實(shí)現(xiàn)的方式中,所述判斷模塊,還用于所述判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口之前,判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存的閾值;所述當(dāng)前系統(tǒng)的總緩存,還包括所述保護(hù)緩存;當(dāng)所述當(dāng)前系統(tǒng)的空閑緩存小于所述保護(hù)緩存的閾值時(shí),執(zhí)行判斷所述當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口的操作。
[0077]根據(jù)第二方面的第十種可能實(shí)現(xiàn)的方式,在第十一種可能實(shí)現(xiàn)的方式中,所述配置模塊,還用于在所述判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值之前,根據(jù)所述當(dāng)前系統(tǒng)中處理信息的時(shí)延,對(duì)所述保護(hù)緩存進(jìn)行配置。
[0078]根據(jù)第二方面的第八種可能實(shí)現(xiàn)的方式,在第十二種可能實(shí)現(xiàn)的方式中,所述執(zhí)行模塊,具體用于在所述超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列;
[0079]所述發(fā)送模塊,還用于將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器,以使所述隊(duì)列管理器對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作。
[0080]根據(jù)第二方面的第十二種可能實(shí)現(xiàn)的方式,在第十三種可能實(shí)現(xiàn)的方式中,所述判斷模塊,還用于根據(jù)所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷所述選擇的流隊(duì)列是否為需要老化的流隊(duì)列;
[0081]所述執(zhí)行模塊,還用于對(duì)所述需要老化的流隊(duì)列執(zhí)行老化操作。
[0082]根據(jù)第二方面的第十二種可能實(shí)現(xiàn)的方式,在第十四種可能實(shí)現(xiàn)的方式中,所述裝置,還包括:
[0083]計(jì)數(shù)模塊,用于在所述將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器之后,根據(jù)所述隊(duì)列管理器,在對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,之后產(chǎn)生的出隊(duì)指示消息,將所述選擇的流隊(duì)列對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器的值加I。
[0084]根據(jù)第二方面的第十四種可能實(shí)現(xiàn)的方式,在第十五種可能實(shí)現(xiàn)的方式中,所述配置模塊,還用于若所述出隊(duì)計(jì)數(shù)器的值大于出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為I ;若所述出隊(duì)計(jì)數(shù)器的值小于等于所述出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為O ;[0085]所述確定模塊,還用于在預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為1,則確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列。
[0086]根據(jù)第二方面的第十五種可能實(shí)現(xiàn)的方式,在第十六種可能實(shí)現(xiàn)的方式中,所述配置模塊,還用于在所述確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列之后,減少所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置;在所述預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為0,則恢復(fù)所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
[0087]本發(fā)明實(shí)施例提供的緩存管理方法及裝置,通過(guò)將第一流隊(duì)列中隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,使得流隊(duì)列所占用的緩存空間與其當(dāng)前的緩存信息相適應(yīng),提高緩存利用率。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0088]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0089]圖1為本發(fā)明實(shí)施例一所提供的緩存管理方法的流程圖;
[0090]圖2為本發(fā)明實(shí)施例二所提供的緩存管理方法的流程圖;
[0091]圖3為本發(fā)明實(shí)施例三所提供的緩存管理方法的流程圖;
[0092]圖4為本發(fā)明實(shí)施例四所提供的緩存管理方法的流程圖;
[0093]圖5為本發(fā)明實(shí)施例五所提供的緩存管理方法的流程圖;
[0094]圖6為本發(fā)明實(shí)施例六所提供的緩存管理方法的流程圖;
[0095]圖7為本發(fā)明實(shí)施例七所提供的緩存管理方法的流程圖;
[0096]圖8為本發(fā)明實(shí)施例八所提供的緩存管理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0097]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0098]需要說(shuō)明的是,本發(fā)明各實(shí)施例所涉及的緩存閾值均為推出閾值(Push Out withThreshold,簡(jiǎn)稱(chēng)POT),所涉及的出隊(duì)操作,指的是Push Out出隊(duì),而非正常出隊(duì)。正常出隊(duì)指的是,將執(zhí)行出隊(duì)的流隊(duì)列中的緩存信息移至當(dāng)前系統(tǒng)的內(nèi)存或硬盤(pán)的過(guò)程,然而PushOut出隊(duì)指的是,將該執(zhí)行出隊(duì)的流隊(duì)列中的緩存信息推出并丟棄,從而達(dá)到緩存釋放的過(guò)程。
[0099]實(shí)施例一
[0100]圖1為本發(fā)明實(shí)施例一所提供的緩存管理方法的流程圖。該方法由緩存管理裝置執(zhí)行,該裝置通常以硬件和/或軟件的方式來(lái)實(shí)現(xiàn),集成在網(wǎng)絡(luò)交換機(jī)或路由設(shè)備中。本實(shí)施例的方法包括如下步驟:
[0101]步驟101、判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列。[0102]具體地,根據(jù)用戶(hù)業(yè)務(wù)需求的不同,不同的流隊(duì)列(Flow Queue,簡(jiǎn)稱(chēng)FQ)對(duì)應(yīng)不同的業(yè)務(wù)流,該不同的流隊(duì)列可用于存儲(chǔ)該不同業(yè)務(wù)流的數(shù)據(jù)信息。流隊(duì)列的隊(duì)列長(zhǎng)度例如可以是流隊(duì)列所存儲(chǔ)的數(shù)據(jù)信息的比特?cái)?shù)。流隊(duì)列所存儲(chǔ)的數(shù)據(jù)信息,隨著用戶(hù)當(dāng)前處理業(yè)務(wù)的變化而變化,那么該流隊(duì)列的隊(duì)列長(zhǎng)度也隨著用戶(hù)當(dāng)前處理業(yè)務(wù)的變化而變化。業(yè)務(wù)流的數(shù)據(jù)信息可以是多媒體網(wǎng)絡(luò)數(shù)據(jù),根據(jù)用戶(hù)業(yè)務(wù)需求的不同,可以是,因特網(wǎng)的網(wǎng)絡(luò)數(shù)據(jù),如語(yǔ)音、視頻等,網(wǎng)絡(luò)電視、網(wǎng)絡(luò)電話(huà)等流數(shù)據(jù)信息及其相關(guān)協(xié)議報(bào)文或配置信息。
[0103]不同流隊(duì)列的隊(duì)列緩存閾值可以相同、也可以不同。當(dāng)不同流隊(duì)列所存儲(chǔ)數(shù)據(jù)信息所對(duì)應(yīng)的業(yè)務(wù)流的類(lèi)型相同,則該不同流隊(duì)列的隊(duì)列緩存閾值相同;當(dāng)不同流隊(duì)列所存儲(chǔ)數(shù)據(jù)信息所對(duì)應(yīng)的業(yè)務(wù)流類(lèi)型不同,則該不同流隊(duì)列的隊(duì)列緩存閾值不同。其中,隊(duì)列緩存閾值可通過(guò)fq_thld來(lái)表示,隊(duì)列長(zhǎng)度可通過(guò)fq_qlen來(lái)表示。
[0104]該第一流隊(duì)列包括多個(gè)流隊(duì)列。判斷該第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,可以是將該多個(gè)流隊(duì)列的隊(duì)列長(zhǎng)度分別與其對(duì)應(yīng)的隊(duì)列緩存閾值進(jìn)行比較來(lái)判斷,還可以是根據(jù)流隊(duì)列的隊(duì)列超限指示來(lái)判斷。隊(duì)列超限指示例如可以通過(guò)標(biāo)志位I來(lái)表示該流隊(duì)列的隊(duì)列長(zhǎng)度大于其對(duì)應(yīng)的隊(duì)列緩存閾值的流隊(duì)列,對(duì)應(yīng)的,可以通過(guò)標(biāo)志位O來(lái)表示該流隊(duì)列的隊(duì)列長(zhǎng)度小于等于其對(duì)應(yīng)的隊(duì)列緩存閾值的流隊(duì)列。
[0105]步驟102、若第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,則對(duì)該超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0106]具體地,流隊(duì)列的隊(duì)列長(zhǎng)度未超出隊(duì)列緩存閾值,也就是當(dāng)前為該流隊(duì)列分配的緩存空間充足,通過(guò)該流隊(duì)列緩存的信息可以正常的存儲(chǔ)和調(diào)取,從而提高系統(tǒng)的處理速度,減少時(shí)延。
[0107]對(duì)應(yīng)的,流隊(duì)列的隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值,該流隊(duì)列當(dāng)前所占用的緩存空間已超出為其所配置的緩存空間,由于當(dāng)前系統(tǒng)總的緩存空間一定,也就是說(shuō)該流隊(duì)列占用了原本通過(guò)配置分配給其他流隊(duì)列的緩存空間,可能影響其他流隊(duì)列存儲(chǔ)緩存信息,緩存利用率較低。因此,需要對(duì)該超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,以騰出原本該超出隊(duì)列緩存閾值的流隊(duì)列所占用的其他流隊(duì)列的緩存空間,在當(dāng)前系統(tǒng)總的緩存空間一定的情況下,更好地保證緩存的利用率。
[0108]對(duì)第一流隊(duì)列中超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,可以是對(duì)該第一流隊(duì)列中所有隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列均執(zhí)行出隊(duì)操作,也可以是,在該第一流隊(duì)列中隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列中選擇預(yù)定數(shù)目的流隊(duì)列執(zhí)行出隊(duì)操作。
[0109]對(duì)超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,指的是,將超出隊(duì)列緩存閾值的流隊(duì)列所存儲(chǔ)的數(shù)據(jù)信息推出對(duì)應(yīng)的流隊(duì)列,可以是將該些數(shù)據(jù)信息丟棄,以對(duì)該流隊(duì)列進(jìn)行緩存釋放,從而提高緩存利用率。
[0110]本實(shí)施例所提供的緩存管理方法,通過(guò)將第一流隊(duì)列中隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,使得流隊(duì)列所占用的緩存空間與其當(dāng)前存儲(chǔ)的業(yè)務(wù)流數(shù)據(jù)信息相適應(yīng),提高緩存利用率。
[0111]同時(shí),由于提高了緩存的利用率,從而避免緩存占滿(mǎn)所造成的緩存數(shù)據(jù)丟棄的問(wèn)題,因而本實(shí)施例方案還降低了系統(tǒng)的分組丟包率,可滿(mǎn)足多媒體網(wǎng)絡(luò)通信的服務(wù)質(zhì)量要求。
[0112]實(shí)施例二[0113]本實(shí)施例還提供一種緩存管理方法。圖2為本發(fā)明實(shí)施例二所提供的緩存管理方法的流程圖。在上述實(shí)施例中步驟101中判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,之前,該方法,還包括:
[0114]步驟201、判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口。
[0115]在該實(shí)施例的緩存管理方案中,將當(dāng)前系統(tǒng)的緩存空間虛擬的劃分為N個(gè)部分,該N個(gè)部分即為N個(gè)虛擬端口。每個(gè)虛擬端口對(duì)應(yīng)多個(gè)流隊(duì)列,該虛擬端口與流隊(duì)列的對(duì)應(yīng)的關(guān)系,如可以是通過(guò)配置映射關(guān)系表的方式,為每個(gè)虛擬端口配置其所對(duì)應(yīng)的流隊(duì)列。為每個(gè)虛擬端口配置其所對(duì)應(yīng)的流隊(duì)列可以是根據(jù)流隊(duì)列的優(yōu)先級(jí)高低,將同一或接近同一優(yōu)先級(jí)的流隊(duì)列映射至同一虛擬端口。流隊(duì)列的優(yōu)先級(jí),可以是根據(jù)流隊(duì)列所存儲(chǔ)的業(yè)務(wù)流數(shù)據(jù)信息的類(lèi)型確定,如存儲(chǔ)協(xié)議報(bào)文或配置信息的流隊(duì)列優(yōu)先級(jí)較高,而存儲(chǔ)視頻類(lèi)數(shù)據(jù)的流隊(duì)列其優(yōu)先級(jí)則較低,而對(duì)于存儲(chǔ)語(yǔ)音數(shù)據(jù)的流隊(duì)列的優(yōu)先級(jí),則較視頻類(lèi)數(shù)據(jù)的流隊(duì)列的優(yōu)先級(jí)高些。
[0116]虛擬端口的端口長(zhǎng)度,可通過(guò)vi_qlen來(lái)表示,可以是當(dāng)前該虛擬端口所對(duì)應(yīng)的流隊(duì)列的隊(duì)列長(zhǎng)度之和。由于每個(gè)虛擬端口所對(duì)應(yīng)不同流隊(duì)列,其該不同流隊(duì)列的優(yōu)先級(jí)不同,那么每個(gè)虛擬端口所對(duì)應(yīng)的端口緩存閾值則不同。其中,端口緩存閾值可通過(guò)vi_thld來(lái)表示,而每個(gè)虛擬端口所對(duì)應(yīng)的端口緩存閾值,可以是每個(gè)虛擬端口所對(duì)應(yīng)的流隊(duì)列的隊(duì)列緩存閾值之和。
[0117]根據(jù)緩存管理策略的不同,將當(dāng)前系統(tǒng)的緩存空間虛擬的劃分為不同個(gè)數(shù)的虛擬端口。
[0118]判斷當(dāng)前系統(tǒng)中是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,可以是將劃分的多個(gè)虛擬端口的隊(duì)列長(zhǎng)度分別與其對(duì)應(yīng)的端口緩存閾值進(jìn)行比較來(lái)判斷,還可以是根據(jù)虛擬端口的端口超限指示來(lái)判斷。端口超限指示例如可以通過(guò)標(biāo)志位I來(lái)表示端口長(zhǎng)度大于端口緩存閾值的虛擬端口,對(duì)應(yīng)的,可以通過(guò)標(biāo)志位O來(lái)表示端口長(zhǎng)度小于等于端口緩存閾值的虛擬端口。
[0119]步驟202、若當(dāng)前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將該當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為第一流隊(duì)列。
[0120]端口長(zhǎng)度未超出端口緩存閾值的虛擬端口,指的是,該虛擬端口所對(duì)應(yīng)的多個(gè)流隊(duì)列的隊(duì)列長(zhǎng)度之和,即端口長(zhǎng)度,未超出該虛擬端口的端口緩存閾值,而該虛擬端口所對(duì)應(yīng)的多個(gè)流隊(duì)列中可能會(huì)存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列。因此,若通過(guò)上述步驟201確定當(dāng)前系統(tǒng)中不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,還需要將當(dāng)前系統(tǒng)中所有的流隊(duì)列作為第一流隊(duì)列,以執(zhí)行上述實(shí)施例的方案,判斷當(dāng)前系統(tǒng)所具有的流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,繼而將隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列出隊(duì)。
[0121]本實(shí)施例方案,若當(dāng)前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將該當(dāng)前系統(tǒng)所具有的流隊(duì)列作為第一流隊(duì)列,繼而進(jìn)行隊(duì)列超限的判斷,在上述實(shí)施例方案的基礎(chǔ)上,判斷流隊(duì)列的范圍更精確,從而更好地保證緩存的利用率。
[0122]進(jìn)一步地,本實(shí)施例方案中,隊(duì)列緩存閾值包括至少兩個(gè)不同等級(jí)的緩存閾值。
[0123]該至少兩個(gè)不同等級(jí)的緩存閾值,其優(yōu)先級(jí)越高,則表示該等級(jí)的緩存閾值越大,對(duì)應(yīng)的,優(yōu)先級(jí)越低的緩存閾值則越小。[0124]上述方案中步驟101中判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,具體包括:
[0125]步驟203、將第一流隊(duì)列中流隊(duì)列的隊(duì)列長(zhǎng)度與該隊(duì)列緩存閾值中最高優(yōu)先級(jí)的緩存閾值進(jìn)行比較,判斷該第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列。
[0126]上述方案中步驟100中若第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值的流隊(duì)列,則對(duì)該超出該隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,包括:
[0127]步驟204、若該第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則對(duì)超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0128]上述步驟203的判斷結(jié)果,還存在步驟204之外的另一種情況,包括:
[0129]步驟205、若該第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,確定該當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口,并將該端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列。
[0130]若通過(guò)步驟201確定當(dāng)前系統(tǒng)所具有的虛擬端口,其端口長(zhǎng)度均未超過(guò)端口緩存閾值,且通過(guò)上述方案中步驟203判斷得到當(dāng)前系統(tǒng)所具有的流隊(duì)列,其隊(duì)列長(zhǎng)度均未超過(guò)最高優(yōu)先級(jí)的緩存閾值,僅可表示當(dāng)前時(shí)刻,系統(tǒng)的緩存處于安全狀態(tài)。因此,還需要將該當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列作為第二流隊(duì)列,也就是后續(xù),端口長(zhǎng)度最有可能超出端口緩存閾值的虛擬端口,可稱(chēng)為存在潛在危險(xiǎn)的虛擬端口,所對(duì)應(yīng)的流隊(duì)列。
[0131]步驟206、按照該隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷該第二流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列。
[0132]若是,則執(zhí)行步驟207 ;若否,則繼續(xù)執(zhí)行該步驟206。按照隊(duì)列緩存閾值中緩存閾值的優(yōu)先級(jí)順序,依次進(jìn)行判斷,若該第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,該緩存閾值后面的緩存閾值則無(wú)需進(jìn)行判斷。當(dāng)判斷至最后的一個(gè)等級(jí)的緩存閾值時(shí),若是,繼續(xù)執(zhí)行步驟207 ;若否,則執(zhí)行步驟208。由于是按照隊(duì)列緩存閾值中緩存閾值的優(yōu)先級(jí)順序,依次進(jìn)行判斷,則最后一個(gè)等級(jí)的緩存閾值則為該隊(duì)列緩存閾值中優(yōu)先級(jí)最低的緩存閾值。
[0133]步驟207、若該第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0134]步驟208、若該第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則發(fā)送第一告警提示信息。該第一告警指示信息包括配置錯(cuò)誤提示信息。
[0135]如果,該第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則說(shuō)明預(yù)先配置的隊(duì)列緩存閾值過(guò)大。因而,該配置錯(cuò)誤提示消息可以為閾值配置過(guò)大提示消息。
[0136]步驟206?步驟208,通過(guò)階梯化的比較判斷,確定該第二流隊(duì)列中,隊(duì)列長(zhǎng)度最有可能超出隊(duì)列緩存閾值的流隊(duì)列,執(zhí)行出隊(duì)操作,從而可提供一個(gè)更完善的緩存管理方案,其不僅可對(duì)處于“緩存危險(xiǎn)期”的流隊(duì)列,即隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,還對(duì)處于“潛在緩存危險(xiǎn)期”的流隊(duì)列分級(jí)進(jìn)行判斷,使得緩存管理方案更加精細(xì)化,更好地保證緩存的利用率。
[0137]進(jìn)一步,在上述方案的基礎(chǔ)上,在步驟101中判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,還包括:
[0138]根據(jù)第一流隊(duì)列的優(yōu)先級(jí),對(duì)該隊(duì)列緩存閾值進(jìn)行配置。
[0139]第一流隊(duì)列的優(yōu)先級(jí)越高,配置的隊(duì)列緩存閾值越大,對(duì)應(yīng)的,第一流隊(duì)列的優(yōu)先級(jí)越低,配置的隊(duì)列緩存閾值越小。
[0140]進(jìn)一步地,當(dāng)前系統(tǒng)中所具有的虛擬端口的端口緩存閾值之和小于等于共享緩存的N倍;該當(dāng)前系統(tǒng)的總緩存包括共享緩存;
[0141]該N為最高優(yōu)先級(jí)的緩存閾值與最低優(yōu)先級(jí)的緩存閾值的比值。
[0142]在共享緩存還未耗盡之前,任何優(yōu)先級(jí)的流隊(duì)列和/或報(bào)文均優(yōu)先占用該共享緩存的空間,不同的流隊(duì)列和/或報(bào)文采用先到先占的方式,占用一定的緩存空間。
[0143]當(dāng)前系統(tǒng)中所具有的虛擬端口的端口緩存閾值之和,指的是,當(dāng)前系統(tǒng)的緩存閾值。當(dāng)前系統(tǒng)的緩存閾值配置過(guò)小,其緩存難以得到充分利用,因此該緩存閾值至少應(yīng)大于共享緩存;若配置過(guò)大,難以通過(guò)該緩存管理方法對(duì)流隊(duì)列進(jìn)行出隊(duì),易出現(xiàn)配置錯(cuò)誤提
/Jn ο
[0144]當(dāng)前系統(tǒng)的緩存閾值還等于當(dāng)前系統(tǒng)中所具有的流隊(duì)列的隊(duì)列緩存閾值中最高緩存閾值之和。流隊(duì)列的隊(duì)列緩存閾值,例如可以包括四個(gè)等級(jí)的緩存閾值,按照優(yōu)先級(jí)高低依次為 fq_thld、fq_thld*l/2、fq_thld*l/4、fq_thld*l/8。
[0145]最高優(yōu)先級(jí)的緩存閾值與最低優(yōu)先級(jí)的緩存閾值的比值,為8,則當(dāng)前系統(tǒng)中所具有的虛擬端口的端口緩存閾值之和小于等于共享緩存的8倍。如果,最低優(yōu)先級(jí)的緩存閾值為fq_thld*l/16,則當(dāng)前系統(tǒng)中所具有的虛擬端口的端口緩存閾值之和小于等于共享緩存的16倍。
[0146]該實(shí)施例方案,在上述實(shí)施例方案的基礎(chǔ)上,提供一個(gè)更完善的緩存管理方案,其不僅可對(duì)處于“緩存危險(xiǎn)期”的流隊(duì)列,即隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,還對(duì)處于“潛在緩存危險(xiǎn)期”的流隊(duì)列分級(jí)進(jìn)行判斷,使得緩存管理方案更加精細(xì)化,更好地保證緩存的利用率。
[0147]實(shí)施例三
[0148]本實(shí)施例還提供一種緩存管理方法。圖3為本發(fā)明實(shí)施例三所提供的緩存管理方法的流程圖。在上述實(shí)施例中步驟201的判斷結(jié)果,除上述步驟202之外還存在另一種情況,具體包括:
[0149]步驟301、若當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,確定該當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,并將該端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口所具有的流隊(duì)列確定為該第一流隊(duì)列。
[0150]具體地,本實(shí)施例在上述實(shí)施例2方案的基礎(chǔ)上,還提供一種當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口情況下的緩存管理方法。該方法,將當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,所具有的流隊(duì)列作為第一流隊(duì)列執(zhí)行隊(duì)列超限判斷的操作。
[0151]在上述方案的基礎(chǔ)上,上述方案中步驟101中判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,還包括:[0152]步驟302、若該第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷該第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列。
[0153]對(duì)應(yīng)的,上述方案中步驟102中若第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,則對(duì)超出該隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,還包括:
[0154]步驟303、若該第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0155]進(jìn)一步地,該方法,還包括:
[0156]步驟304、若該第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第二告警提示信息;該第二告警指示信息包括配置錯(cuò)誤提示信肩、O
[0157]進(jìn)一步,在上述方案步驟101中判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,還包括:
[0158]根據(jù)該第一流隊(duì)列的優(yōu)先級(jí),設(shè)置該隊(duì)列緩存閾值。
[0159]當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和小于等于共享緩存的N倍;該當(dāng)前系統(tǒng)的總緩存包括共享緩存;
[0160]N為該當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和與該當(dāng)前系統(tǒng)的實(shí)際緩存的比值。
[0161]該實(shí)施例方案與上述實(shí)施例的方案,分別適用于不用的場(chǎng)景,其不僅可對(duì)處于“緩存危險(xiǎn)期”的流隊(duì)列,即隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,還對(duì)處于“潛在緩存危險(xiǎn)期”的流隊(duì)列分級(jí)進(jìn)行判斷,使得緩存管理方案更加精細(xì)化,更好地保證緩存的利用率。
[0162]實(shí)施例四
[0163]本實(shí)施例還提供一種緩存管理方法。圖4為本發(fā)明實(shí)施例四所提供的緩存管理方法的流程圖。在上述實(shí)施例方案中步驟201判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口之前,該方法還包括:
[0164]步驟401、判斷當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存的閾值。
[0165]為使得該緩存管理方案運(yùn)行更穩(wěn)定,在上述方案的基礎(chǔ)上,當(dāng)前系統(tǒng)總的緩存空間除共享緩存之外還包括保護(hù)緩存。保護(hù)緩存,用于在進(jìn)行流隊(duì)列出隊(duì)過(guò)程中,吸收并處理路徑時(shí)延的報(bào)文。其中,空閑緩存可通過(guò)idle_buf來(lái)表示,保護(hù)緩存閾值,可通過(guò)glb_buf來(lái)表示。
[0166]當(dāng)前系統(tǒng)的空閑緩存指的是,總的緩存空間減去,當(dāng)前系統(tǒng)中所有虛擬端口所對(duì)應(yīng)的端口長(zhǎng)度之和,也就是當(dāng)前系統(tǒng)的實(shí)際緩存,所剩余的緩存空間。判斷當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值,實(shí)際是判斷當(dāng)前系統(tǒng)的共享緩存是否耗盡。
[0167]步驟402、若該當(dāng)前系統(tǒng)的空閑緩存小于該保護(hù)緩存的閾值,執(zhí)行判斷該當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口的操作。
[0168]前系統(tǒng)的空間緩存小于保護(hù)緩存閾值,是說(shuō)當(dāng)前系統(tǒng)的共享緩存已耗盡,需要執(zhí)行緩存管理策略,對(duì)其中預(yù)定的流隊(duì)列進(jìn)行出隊(duì),以騰出對(duì)應(yīng)的緩存空間,從而保證當(dāng)前系統(tǒng)總的緩存利用率。[0169]若該當(dāng)前系統(tǒng)的空閑緩存大于或等于該保護(hù)緩存閾值,則說(shuō)明當(dāng)前系統(tǒng)的共享緩存還有剩余,因而無(wú)需通過(guò)緩存管理策略,進(jìn)行流隊(duì)列的出隊(duì)。
[0170]進(jìn)一步,在步驟401判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值之前,還包括:
[0171]根據(jù)該當(dāng)前系統(tǒng)中處理信息的時(shí)延,設(shè)置保護(hù)緩存的閾值。
[0172]如當(dāng)前系統(tǒng)處理信息的時(shí)延較大,則可能導(dǎo)致流隊(duì)列執(zhí)行出隊(duì)之后,該流隊(duì)列所對(duì)應(yīng)的隊(duì)列長(zhǎng)度并未及時(shí)更新,從而導(dǎo)致當(dāng)前系統(tǒng)的空閑緩存未及時(shí)更新,而如果當(dāng)前系統(tǒng)的保護(hù)緩存閾值設(shè)置過(guò)小,則會(huì)使得該當(dāng)前系統(tǒng)的出隊(duì)過(guò)于頻繁,易造成緩存信息的溢出,從而影響系統(tǒng)的穩(wěn)定性。因而,如當(dāng)前系統(tǒng)處理信息的時(shí)延較大,可配置較大些的保護(hù)緩存閾值,可避免緩存信息的溢出。對(duì)應(yīng)的,如當(dāng)前系統(tǒng)處理信息的時(shí)延較小,其保護(hù)緩存閾值可配置的小些。
[0173]本實(shí)施例方案,可避免緩存信息的溢出,從而保證當(dāng)前系統(tǒng)的穩(wěn)定性。
[0174]實(shí)施例五
[0175]本實(shí)施例還提供一種緩存管理方法,該實(shí)施例通過(guò)具體實(shí)例對(duì)上述實(shí)施例方案進(jìn)行解釋說(shuō)明,其中隊(duì)列緩存閾值包括:fq_thld、fq_thld*l/2、fq_thld*l/4、fq_thld*l/8,fq_thld優(yōu)先級(jí)最高,fq_thld*l/8優(yōu)先級(jí)最低。圖5為本發(fā)明實(shí)施例五所提供的緩存管理方法的流程圖。如圖5所示,該方法包括:
[0176]步驟501、判斷當(dāng)前系統(tǒng)的idle_buf〈glb_buf。若是,則執(zhí)行步驟502 ;若否,則該
緩存管理方案結(jié)束。
[0177]步驟502、判斷當(dāng)前系統(tǒng)是否存在vi_qlen>vi_thld的虛擬端口。若是,則執(zhí)行步驟503 ;若否,則執(zhí)行步驟504。
[0178]步驟503、確定當(dāng)前系統(tǒng)中vi_qlen_vi_thld差值最大的虛擬端口,并將虛擬端口所具有的流隊(duì)列確定為第一流隊(duì)列。
[0179]步驟503之后繼續(xù)執(zhí)行步驟505。
[0180]步驟504、將該當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為第一流隊(duì)列。
[0181]在步驟504之后,繼續(xù)執(zhí)行步驟514。
[0182]步驟505、判斷第一流隊(duì)列中是否存在fq_qlen>fq_thld的流隊(duì)列。若是,則執(zhí)行步驟506 ;若否,則執(zhí)行步驟507。
[0183]步驟506、在該超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0184]步驟507、判斷該第一流隊(duì)列中是否存在fq_qlen>fq_thld*l/2的流隊(duì)列。若是,則執(zhí)行步驟508 ;如否,則執(zhí)行步驟509。
[0185]步驟508、在該超出隊(duì)列緩存閾值1/2的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0186]步驟509、判斷該第一流隊(duì)列中是否存在fq_qlen>fq_thld*l/4的流隊(duì)列。若是,則執(zhí)行步驟510 ;若否,則執(zhí)行步驟511。
[0187]步驟510、在該超出隊(duì)列緩存閾值1/4的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0188]步驟511、判斷該第一流隊(duì)列中是否存在fq_qlen>fq_thld*l/8的流隊(duì)列。若是,則執(zhí)行步驟512 ;若否,則執(zhí)行步驟513。
[0189]步驟512、在該超出隊(duì)列緩存閾值1/8的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0190]步驟513、發(fā)送第二告警提示信息,該第二告警指示信息包括配置錯(cuò)誤提示信息。[0191]步驟514、判斷第一流隊(duì)列中是否存在fq_qlen>fq_thld的流隊(duì)列。若是,則執(zhí)行步驟515 ;若否,則執(zhí)行步驟516。
[0192]該步驟514與步驟505區(qū)別在于,其第一流隊(duì)列所包含的對(duì)象不同。
[0193]步驟515、在該超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0194]步驟516、確定當(dāng)前系統(tǒng)中vi_thld_vi_qlen差值最小的虛擬端口,并將虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列。
[0195]步驟517、判斷該第二流隊(duì)列中是否存在fq_qlen>fq_thld*l/2的流隊(duì)列。若是,則執(zhí)行步驟518 ;若否,則執(zhí)行步驟519。
[0196]步驟518、在該超出隊(duì)列緩存閾值1/2的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0197]步驟519、判斷該第二流隊(duì)列中是否存在fq_qlen>fq_thld*l/4的流隊(duì)列。若是,則執(zhí)行步驟520 ;若否,則執(zhí)行步驟521。
[0198]步驟520、在該超出隊(duì)列緩存閾值1/4的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0199]步驟521、判斷該第二流隊(duì)列中是否存在fq_qlen>fq_thld*l/8的流隊(duì)列。若是,則執(zhí)行步驟522 ;若否,則執(zhí)行步驟523。
[0200]步驟522、在該超出隊(duì)列緩存閾值1/8的流隊(duì)列中選擇一個(gè)流隊(duì)列執(zhí)行出隊(duì)操作。
[0201]步驟523、發(fā)送第一告警提示信息,該第一告警指示信息包括配置錯(cuò)誤提示信息。
[0202]本實(shí)施例方案是在上述實(shí)施例方案的基礎(chǔ)上,通過(guò)具體實(shí)例進(jìn)行解釋說(shuō)明,其具體的實(shí)現(xiàn)過(guò)程及有益效果與上述實(shí)施例類(lèi)似,在此不再贅述。
[0203]實(shí)施例六
[0204]本發(fā)明實(shí)施例六提供一種緩存管理方法。圖6為本發(fā)明實(shí)施例六所提供的緩存管理方法的流程圖。
[0205]如圖6所示,進(jìn)一步,在上述實(shí)施例方案中步驟102中對(duì)超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,具體包括如下步驟:
[0206]步驟601、在超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列。
[0207]具體地,該超出隊(duì)列緩存閾值的流隊(duì)列可以為多個(gè)流隊(duì)列,也可以為一個(gè)流隊(duì)列。為盡可能避免流隊(duì)列的出隊(duì)對(duì)系統(tǒng)所造成的影響,該實(shí)施例方案優(yōu)選的,從超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列進(jìn)行出隊(duì)。
[0208]步驟602、將選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器,以使該隊(duì)列管理器對(duì)該選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作。
[0209]對(duì)流隊(duì)列執(zhí)行出隊(duì)操作,指的是對(duì)流隊(duì)列所緩存的數(shù)據(jù)信息執(zhí)行出隊(duì)操作。每個(gè)流隊(duì)列存在多個(gè)存儲(chǔ)包,流隊(duì)列通過(guò)其所具有的緩存單元緩存信息。該實(shí)施例方案優(yōu)選的,在步驟601中所選擇的待出隊(duì)的流隊(duì)列所緩存的信息中,選擇一個(gè)存儲(chǔ)包的信息進(jìn)行出隊(duì)。對(duì)應(yīng)的,在執(zhí)行出隊(duì)操作之后,該選擇的流隊(duì)列的隊(duì)列長(zhǎng)度,則減少一個(gè)存儲(chǔ)包的信息長(zhǎng)度。
[0210]該實(shí)施例方案,在上述實(shí)施例方案的基礎(chǔ)上,特定的,在超對(duì)隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列,繼而將該流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,從而盡可能的避免出隊(duì)操作對(duì)當(dāng)前系統(tǒng)處理業(yè)務(wù)的影響。
[0211]實(shí)施例七
[0212]本發(fā)明實(shí)施例七提供一種緩存管理方法。圖7為本發(fā)明實(shí)施例七所提供的緩存管理方法的流程圖。
[0213]如圖7所示,進(jìn)一步地,在上述方案的基礎(chǔ)上,該方法還包括:
[0214]步驟701、根據(jù)選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷該選擇的流隊(duì)列是否為需要老化的流隊(duì)列。
[0215]步驟702、對(duì)該需要老化的流隊(duì)列執(zhí)行老化操作。
[0216]其中,老化指示消息,例如可以是通過(guò)flush_ind來(lái)表示。通過(guò)該flush_ind所攜帶的息來(lái)標(biāo)識(shí)流隊(duì)列是否為需老化的流隊(duì)列。
[0217]現(xiàn)有技術(shù)中根據(jù)流隊(duì)列中的存儲(chǔ)包在數(shù)據(jù)入隊(duì)時(shí)所打印的時(shí)間戳,執(zhí)行隊(duì)列老化。由于每個(gè)流隊(duì)列具有多個(gè)存儲(chǔ)包,而對(duì)每個(gè)存儲(chǔ)包都打印時(shí)間戳,占用大量的時(shí)間戳資源,造成資源的浪費(fèi)。該實(shí)施例方案無(wú)需打印繁瑣的時(shí)間戳,即可實(shí)現(xiàn)流隊(duì)列的老化,減少系統(tǒng)資源的浪費(fèi)。
[0218]在上述方案步驟602在將選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器之后,還包括:
[0219]根據(jù)隊(duì)列管理器,在對(duì)該選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,之后產(chǎn)生的出隊(duì)指示消息,將該選擇的流隊(duì)列對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器的值加I。
[0220]出隊(duì)指示消息,例如可以是通過(guò)fq_dep_ind表示。出隊(duì)計(jì)數(shù)器,例如可通過(guò)fq_pot_cnt表示。在該選擇的流隊(duì)列執(zhí)行出隊(duì)操作之后,其對(duì)應(yīng)的出隊(duì)指示消息,fq_dep_ind可以配置為I。如檢測(cè)到fq_dep_ind=l,則可將其對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器,fq_pot_cnt的值加
O
[0221]每個(gè)流隊(duì)列都存在各自對(duì)應(yīng)的出隊(duì)計(jì)時(shí)器,該出隊(duì)計(jì)數(shù)器用于記錄其對(duì)應(yīng)的流隊(duì)列的出隊(duì)次數(shù),流隊(duì)列每執(zhí)行一次出隊(duì)操作,其出隊(duì)計(jì)數(shù)器的值加一。
[0222]進(jìn)一步,上述步驟701根據(jù)選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷該選擇的流隊(duì)列是否為需要老化的流隊(duì)列,包括:
[0223]若出隊(duì)計(jì)數(shù)器的值大于出隊(duì)次數(shù)閾值,將該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為I ;若該出隊(duì)計(jì)數(shù)器的值小于等于所述出隊(duì)次數(shù)閾值,將該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為O ;
[0224]在預(yù)定周期內(nèi),若該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為1,則確定該選擇的流隊(duì)列為需要老化的流隊(duì)列。
[0225]具體地,該實(shí)施例方案,在流隊(duì)列均具有出隊(duì)計(jì)數(shù)器的情況下,至少還具有出隊(duì)次數(shù)閾值。不同的流隊(duì)列可根據(jù)其所對(duì)應(yīng)的虛擬端口的優(yōu)先級(jí),具有不同的出隊(duì)次數(shù)閾值。流隊(duì)列的出隊(duì)次數(shù)閾值,例如可以通過(guò)f q_PO t_th I d。
[0226]當(dāng)出隊(duì)計(jì)數(shù)器的值 大于出隊(duì)次數(shù)閾值,即fq_pot_cnt>fq_pot_thld,則表面該流隊(duì)列的出隊(duì)太過(guò)頻繁,則說(shuō)明該流隊(duì)列擁塞,其所存儲(chǔ)的緩存信息長(zhǎng)期得不到自然出隊(duì)。因此,可將所對(duì)應(yīng)老化指示消息,flush_ind配置為1,繼而將該流隊(duì)列按照隊(duì)列老化模式執(zhí)行隊(duì)列老化操作。在預(yù)定周期內(nèi),若該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,flush_ind持續(xù)為1,也就是說(shuō),該選擇的流隊(duì)列的持續(xù)處于隊(duì)列長(zhǎng)度超限狀態(tài),需要反復(fù)的隊(duì)列出隊(duì),則表面該選擇的流隊(duì)列屬于長(zhǎng)期擁塞隊(duì)列。因此,可將該長(zhǎng)期擁塞隊(duì)列確定為需要老化的流隊(duì)列,繼而執(zhí)行隊(duì)列操作,將該流隊(duì)列當(dāng)前存儲(chǔ)的緩存信息轉(zhuǎn)移至其他隊(duì)列或是端口。
[0227]進(jìn)一步地,在確定選擇的流隊(duì)列為需要老化的流隊(duì)列之后,還包括:[0228]減少該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
[0229]在預(yù)定周期內(nèi),若選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為0,則恢復(fù)該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
[0230]具體地,若該選擇的流隊(duì)列為需要老化的流隊(duì)列時(shí),為避免后續(xù)通過(guò)該流隊(duì)列進(jìn)行信息的緩存時(shí)易造成的隊(duì)列擁塞,可將預(yù)先配置的該流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值,減小,從而提高該流隊(duì)列可能執(zhí)行出隊(duì)的可能性,減少隊(duì)列老化的可能。預(yù)先配置的該流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值,例如可以通過(guò)fq_thld表示。減少該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置,即fq_thld的配置。
[0231]若該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,flush_ind持續(xù)為O,也就是說(shuō),該流隊(duì)列并非擁塞隊(duì)列,無(wú)需進(jìn)行隊(duì)列老化,且狀態(tài)穩(wěn)定,因此恢復(fù)該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置?;謴?fù)該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置,減少該流隊(duì)列可能執(zhí)行出隊(duì)的可能性,避免出隊(duì)操作的多次執(zhí)行導(dǎo)致的資源浪費(fèi)。
[0232]進(jìn)一步,對(duì)于系統(tǒng)中需要老化的流隊(duì)列除長(zhǎng)期擁塞隊(duì)列之外,還包括僅有出隊(duì)的流隊(duì)列及僅有入隊(duì)的流隊(duì)列。在預(yù)定周期內(nèi),如檢測(cè)到該流隊(duì)列對(duì)應(yīng)的fq_dep_ind持續(xù)為1,則該流隊(duì)列為僅有出隊(duì)的流隊(duì)列,可對(duì)該流隊(duì)列執(zhí)行隊(duì)列老化操作,在執(zhí)行隊(duì)列老化操作之后,可將fq_dep_ind重置為O。對(duì)于空的流隊(duì)列,也就是說(shuō)當(dāng)檢測(cè)到該流隊(duì)列的隊(duì)列長(zhǎng)度為O時(shí),也將該流隊(duì)列對(duì)應(yīng)的fq_dep_ind更新為I。因此在預(yù)定周期內(nèi),如檢測(cè)到該流隊(duì)列對(duì)應(yīng)的fq_dep_ind持續(xù)為0,該流隊(duì)列無(wú)出隊(duì)操作,為僅有入隊(duì)的流隊(duì)列,當(dāng)可對(duì)該流隊(duì)列執(zhí)行隊(duì)列老化操作。
[0233]本實(shí)施例方案,在上述實(shí)施例方案可提高系統(tǒng)緩存利用率的基礎(chǔ)上,還可節(jié)約系統(tǒng)的資源。
[0234]實(shí)施例八
[0235]本發(fā)明實(shí)施例八提供一種緩存管理裝置。圖8為本發(fā)明實(shí)施例八所提供的緩存管理裝置的結(jié)構(gòu)示意圖。如圖8所示,該緩存管理裝置801,包括:
[0236]判斷模塊802,用于判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列.[0237]執(zhí)行模塊803,用于若該第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值的流隊(duì)列,對(duì)超出該隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0238]在上述方案的基礎(chǔ)上,判斷模塊802,還用于在判斷第一流隊(duì)列的隊(duì)列長(zhǎng)度是否超出隊(duì)列緩存閾值之前,判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口。
[0239]緩存管理裝置801,還包括:
[0240]確定模塊,用于若當(dāng)前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將該當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為所述第一流隊(duì)列。
[0241]在上述實(shí)施例方案中,隊(duì)列緩存閾值包括至少兩個(gè)不同優(yōu)先級(jí)的緩存閾值。
[0242]對(duì)應(yīng)的,判斷模塊802,用于將該第一流隊(duì)列中流隊(duì)列的隊(duì)列長(zhǎng)度與該隊(duì)列緩存閾值中最高優(yōu)先級(jí)的緩存閾值進(jìn)行比較,判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列。
[0243]執(zhí)行模塊803,用于若該第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則對(duì)超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。[0244]進(jìn)一步地,上述方案中的確定模塊,還用于若該第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,確定當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口,并將該端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列。
[0245]對(duì)應(yīng)的,判斷模塊802,還用于按照該隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷該第二流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列。
[0246]執(zhí)行模塊803,還用于若該第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0247]進(jìn)一步地,緩存管理裝置801,還包括:
[0248]第一發(fā)送模塊,用于若該第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則發(fā)送第一告警提示信息;該第一告警指示信息包括配置錯(cuò)誤提示信息。
[0249]其中,確定模塊,還用于若該當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,確定該當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,并將該端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口所具有的流隊(duì)列確定為該第一流隊(duì)列。
[0250]在上述實(shí)施例方案的基礎(chǔ)上,判斷模塊802,還用于若該第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,按照該隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷該第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列;
[0251]執(zhí)行模塊803,還用于若第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
[0252]進(jìn)一步地,在上述實(shí)施例方案的基礎(chǔ)上,緩存管理裝置801,還包括:
[0253]第二發(fā)送模塊,用于若該第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出該隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第二告警提示信息;該第二告警指示信息包括配置錯(cuò)誤提示信息。
[0254]進(jìn)一步地,緩存管理裝置801,還包括:
[0255]配置模塊,用于在判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,根據(jù)該第一流隊(duì)列的優(yōu)先級(jí),設(shè)置隊(duì)列緩存閾值。
[0256]在上述實(shí)施例方案中,當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和小于等于共享緩存的N倍;該當(dāng)前系統(tǒng)的總緩存包括共享緩存;
[0257]其中,N為該當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和與該當(dāng)前系統(tǒng)的實(shí)際緩存的比值。
[0258]進(jìn)一步地,判斷模塊802,還用于判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口之前,判斷該當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存的閾值;該當(dāng)前系統(tǒng)的總緩存,還包括保護(hù)緩存;當(dāng)前系統(tǒng)的空閑緩存小于該保護(hù)緩存的閾值時(shí),執(zhí)行判斷該當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口的操作。
[0259]在上述方案的基礎(chǔ)上,進(jìn)一步地,配置模塊,還用于在判斷該當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值之前,根據(jù)該當(dāng)前系統(tǒng)中處理信息的時(shí)延,設(shè)置保護(hù)緩存的閾值。
[0260]進(jìn)一步地,執(zhí)行模塊803,具體用于在該超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列;
[0261]發(fā)送模塊,還用于將該選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器,以使該隊(duì)列管理器對(duì)該選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作。
[0262]在上述方案的基礎(chǔ)上,判斷模塊802,還用于根據(jù)該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷該選擇的流隊(duì)列是否為需要老化的流隊(duì)列;
[0263]執(zhí)行模塊803,還用于對(duì)該需要老化的流隊(duì)列執(zhí)行老化操作。
[0264]進(jìn)一步地,緩存管理裝置801,還包括:
[0265]計(jì)數(shù)模塊,用于在將該選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器之后,根據(jù)該隊(duì)列管理器,在對(duì)該選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,之后產(chǎn)生的出隊(duì)指示消息,將該選擇的流隊(duì)列對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器的值加I。
[0266]進(jìn)一步地,配置模塊,還用于若該出隊(duì)計(jì)數(shù)器的值大于出隊(duì)次數(shù)閾值,將該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為I ;若該出隊(duì)計(jì)數(shù)器的值小于等于該出隊(duì)次數(shù)閾值,將該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為O ;確定模塊,還用于在預(yù)定周期內(nèi),若該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為1,則確定該選擇的流隊(duì)列為需要老化的流隊(duì)列。
[0267]在上述實(shí)施例方案的基礎(chǔ)上,配置模塊,還用于在確定該選擇的流隊(duì)列為需要老化的流隊(duì)列之后,減少該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置;
[0268]在該預(yù)定周期內(nèi),若該選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為0,則恢復(fù)該選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
[0269]本實(shí)施例所提供的緩存管理裝置可執(zhí)行上述任一實(shí)施例所提供的緩存管理方法,其具體的實(shí)現(xiàn)過(guò)程及解釋說(shuō)明與上述實(shí)施例類(lèi)似,在此不再贅述。
[0270]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0271]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種緩存管理方法,其特征在于,包括: 判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列; 若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷第一流隊(duì)列的隊(duì)列長(zhǎng)度是否超出隊(duì)列緩存閾值之前,還包括: 判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口 ; 若所述當(dāng)前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將所述當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為所述第一流隊(duì)列。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述隊(duì)列緩存閾值包括至少兩個(gè)不同優(yōu)先級(jí)的緩存閾值; 所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,包括: 將所述第一流隊(duì)列中流隊(duì)列的隊(duì)列長(zhǎng)度與所述隊(duì)列緩存閾值中最高優(yōu)先級(jí)的緩存閾值進(jìn)行比較,判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列; 若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,包括: 若所述第一流隊(duì)列中存在隊(duì) 列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則對(duì)所述超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括: 若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,確定所述當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口,并將所述端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列; 按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第二流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列; 若所述第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括: 若所述第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,則發(fā)送第一告警提示信息;所述第一告警指示信息包括配置錯(cuò)誤提示信息。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于, 若所述當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,確定所述當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,并將所述端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口所具有的流隊(duì)列確定為所述第一流隊(duì)列。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列,還包括: 若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列;若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,則對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,還包括: 若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第二告警提示信息;所述第二告警指示信息包括配置錯(cuò)誤提示信息。
9.根據(jù)權(quán)利要求5或8所述的方法,其特征在于,在所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,還包括: 根據(jù)所述第一流隊(duì)列的優(yōu)先級(jí),設(shè)置所述隊(duì)列緩存閾值。
10.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和小于等于共享緩存的N倍;所述當(dāng)前系統(tǒng)的總緩存包括所述共享緩存; 所述N為所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和與所述當(dāng)前系統(tǒng)的實(shí)際緩存的比值。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口之前,還包括: 判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存的閾值;所述當(dāng)前系統(tǒng)的總緩存,還包括所述保護(hù)緩存; 當(dāng)所述當(dāng)前系統(tǒng)的空閑 緩存小于所述保護(hù)緩存的閾值時(shí),執(zhí)行判斷所述當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口的操作。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,在所述判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值之前,還包括: 根據(jù)所述當(dāng)前系統(tǒng)中處理信息的時(shí)延,對(duì)所述保護(hù)緩存進(jìn)行配置。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述對(duì)所述超出隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作,包括: 在所述超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列; 將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器,以使所述隊(duì)列管理器對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,還包括: 根據(jù)所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷所述選擇的流隊(duì)列是否為需要老化的流隊(duì)列; 對(duì)所述需要老化的流隊(duì)列執(zhí)行老化操作。
15.根據(jù)權(quán)利要求13所述的方法,其特征在于,在所述將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器之后,還包括: 根據(jù)所述隊(duì)列管理器,在對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,之后產(chǎn)生的出隊(duì)指示消息,將所述選擇的流隊(duì)列對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器的值加I。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述根據(jù)所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷所述選擇的流隊(duì)列是否為需要老化的流隊(duì)列,包括: 若所述出隊(duì)計(jì)數(shù)器的值大于出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為I ;若所述出隊(duì)計(jì)數(shù)器的值小于等于所述出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為O ; 在預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為1,則確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,在所述確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列之后,還包括: 減少所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置; 在所述預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為O,則恢復(fù)所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
18.一種緩存管理裝置,其特征在于,包括: 判斷模塊,用于判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列; 執(zhí)行模塊,用于若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值的流隊(duì)列,對(duì)所述超出所述隊(duì)列緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于, 所述判斷模塊,還用于在所述判斷第一流隊(duì)列的隊(duì)列長(zhǎng)度是否超出隊(duì)列緩存閾值之前,判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口 ; 所述裝置,還包括: 確定模塊,用于若所述當(dāng)`前系統(tǒng)不存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,將所述當(dāng)前系統(tǒng)所具有的流隊(duì)列確定為所述第一流隊(duì)列。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述隊(duì)列緩存閾值包括至少兩個(gè)不同優(yōu)先級(jí)的緩存閾值; 所述判斷模塊,用于將所述第一流隊(duì)列中流隊(duì)列的隊(duì)列長(zhǎng)度與所述隊(duì)列緩存閾值中最高優(yōu)先級(jí)的緩存閾值進(jìn)行比較,判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列; 所述執(zhí)行模塊,用于若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,對(duì)所述超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
21.根據(jù)權(quán)利要求20所述的裝置,其特征在于, 所述確定模塊,還用于若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,確定所述當(dāng)前系統(tǒng)中端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口,并將所述端口緩存閾值與端口長(zhǎng)度差值最小的虛擬端口所具有的流隊(duì)列確定為第二流隊(duì)列; 所述判斷模塊,還用于按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第二流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列; 所述執(zhí)行模塊,還用于若所述第二流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述裝置,還包括: 第一發(fā)送模塊,用于若所述第二流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第一告警提示信息;所述第一告警指示信息包括配置錯(cuò)誤提示信息。
23.根據(jù)權(quán)利要求20所述的裝置,其特征在于, 所述確定模塊,還用于若所述當(dāng)前系統(tǒng)存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口,確定所述當(dāng)前系統(tǒng)中端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口,并將所述端口長(zhǎng)度與端口緩存閾值差值最大的虛擬端口所具有的流隊(duì)列確定為所述第一流隊(duì)列。
24.根據(jù)權(quán)利要求23所述的裝置,其特征在于, 所述判斷模塊,還用于若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述最高優(yōu)先級(jí)的緩存閾值的流隊(duì)列,按照所述隊(duì)列緩存閾值中各緩存閾值的優(yōu)先級(jí)順序,依次判斷所述第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中的緩存閾值的流隊(duì)列; 所述執(zhí)行模塊,還用于若所述第一流隊(duì)列中存在隊(duì)列長(zhǎng)度超出一緩存閾值的流隊(duì)列,則對(duì)超出該緩存閾值的流隊(duì)列執(zhí)行出隊(duì)操作。
25.根據(jù)權(quán)利要求24所述的裝置,其特征在于,所述裝置,還包括: 第二發(fā)送模塊,用于若所述第一流隊(duì)列中不存在隊(duì)列長(zhǎng)度超出所述隊(duì)列緩存閾值中最低優(yōu)先級(jí)的緩存閾值的流隊(duì)列,發(fā)送第二告警提示信息;所述第二告警指示信息包括配置錯(cuò)誤提示信息。
26.根據(jù)權(quán)利要求22或25所述的裝置,其特征在于,所述裝置,還包括: 配置模塊,用于在所述判斷第一流隊(duì)列中是否存在隊(duì)列長(zhǎng)度超出隊(duì)列緩存閾值的流隊(duì)列之前,根據(jù)所述第一流隊(duì)列的優(yōu)先級(jí),設(shè)置所述隊(duì)列緩存閾值。
27.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和小于等于共享緩存的N倍;所述當(dāng)前系統(tǒng)的總緩存包括所述共享緩存; 所述N為所述當(dāng)前系統(tǒng)中所具有的流隊(duì)列的端口緩存閾值之和與所述當(dāng)前系統(tǒng)的實(shí)際緩存的比值。
28.根據(jù)權(quán)利要求27所述的裝置,其特征在于, 所述判斷模塊,還用于所述判斷當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口之前,判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存的閾值;所述當(dāng)前系統(tǒng)的總緩存,還包括所述保護(hù)緩存;當(dāng)所述當(dāng)前系統(tǒng)的空閑緩存小于所述保護(hù)緩存的閾值時(shí),執(zhí)行判斷所述當(dāng)前系統(tǒng)是否存在端口長(zhǎng)度超出端口緩存閾值的虛擬端口的操作。
29.根據(jù)權(quán)利要求28所述的裝置,其特征在于, 所述配置模塊,還用于在所述判斷所述當(dāng)前系統(tǒng)的空閑緩存是否小于保護(hù)緩存閾值之前,根據(jù)所述當(dāng)前系統(tǒng)中處理信息的時(shí)延,對(duì)所述保護(hù)緩存進(jìn)行配置。
30.根據(jù)權(quán)利要求26所述的裝置,其特征在于, 所述執(zhí)行模塊,具體用于在所述超出隊(duì)列緩存閾值的流隊(duì)列中選擇一個(gè)流隊(duì)列; 所述發(fā)送模塊,還用于將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器,以使所述隊(duì)列管理器對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作。
31.根據(jù)權(quán)利要求30所述的裝置,其特征在于, 所述判斷模塊,還用于根據(jù)所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息,判斷所述選擇的流隊(duì)列是否為需要老化的流隊(duì)列; 所述執(zhí)行模塊,還用于對(duì)所述需要老化的流隊(duì)列執(zhí)行老化操作。
32.根據(jù)權(quán)利要求30所述的裝置,其特征在于,所述裝置,還包括: 計(jì)數(shù)模塊,用于在所述將所述選擇的流隊(duì)列對(duì)應(yīng)的信息傳遞給隊(duì)列管理器之后,根據(jù)所述隊(duì)列管理器,在對(duì)所述選擇的流隊(duì)列對(duì)應(yīng)的信息中一個(gè)存儲(chǔ)包的信息執(zhí)行出隊(duì)操作,之后產(chǎn)生的出隊(duì)指示消息,將所述選擇的流隊(duì)列對(duì)應(yīng)的出隊(duì)計(jì)數(shù)器的值加I。
33.根據(jù)權(quán)利要求32所述的裝置,其特征在于, 所述配置模塊,還用于若所述出隊(duì)計(jì)數(shù)器的值大于出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為I ;若所述出隊(duì)計(jì)數(shù)器的值小于等于所述出隊(duì)次數(shù)閾值,將所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息配置為O ; 所述確定模塊,還用于在預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為1,則確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列。
34.根據(jù)權(quán)利要求33所述的裝置,其特征在于, 所述配置模塊,還用于在所述確定所述選擇的流隊(duì)列為所述需要老化的流隊(duì)列之后,減少所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置;在所述預(yù)定周期內(nèi),若所述選擇的流隊(duì)列對(duì)應(yīng)的老化指示消息持續(xù)為O,則恢復(fù)所述選擇的流隊(duì)列對(duì)應(yīng)的隊(duì)列緩存閾值的配置。
【文檔編號(hào)】H04L12/865GK103685062SQ201310637601
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2013年12月2日 優(yōu)先權(quán)日:2013年12月2日
【發(fā)明者】魏偉, 李玖江, 趙興, 王鈿 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1