两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

緩存資源的管理方法及裝置制造方法

文檔序號(hào):7797003閱讀:229來源:國知局
緩存資源的管理方法及裝置制造方法
【專利摘要】本申請(qǐng)公開了一種緩存資源的管理方法及裝置,其中,該方法包括:按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的VOQ,劃分為至少兩個(gè)VQG,劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的每一個(gè)報(bào)文屬性的一個(gè)屬性值;其中,報(bào)文屬性組合由以下至少一種報(bào)文屬性組成:發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容;為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值;當(dāng)需要緩存報(bào)文時(shí),確定用于存放該報(bào)文的VOQ,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG;根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,確定是否將該報(bào)文存放到該VOQ中。
【專利說明】緩存資源的管理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及資源管理【技術(shù)領(lǐng)域】,特別涉及一種緩存資源的管理方法及裝置。
【背景技術(shù)】
[0002]在交換機(jī)、路由器等通信設(shè)備中的轉(zhuǎn)發(fā)芯片上都設(shè)置有數(shù)據(jù)緩存單元,用來臨時(shí)存儲(chǔ)報(bào)文,以免報(bào)文發(fā)生丟失。例如,當(dāng)網(wǎng)絡(luò)擁塞時(shí),端口不能立即發(fā)送報(bào)文,就會(huì)將報(bào)文先存儲(chǔ)到數(shù)據(jù)緩存單元中。報(bào)文能夠緩存的時(shí)間越長(zhǎng),代表通信設(shè)備對(duì)于突發(fā)事件的適應(yīng)能力越強(qiáng)。因此,如何管理數(shù)據(jù)緩存資源,提高緩存利用率是非常重要的一項(xiàng)技術(shù)。
[0003]目前,在基于VOQ (Virtual Output Queue,虛擬輸出隊(duì)列)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的設(shè)備中,緩存資源管理的方法是基于VOQ進(jìn)行管理,緩存資源管理的單位是V0Q,每一個(gè)VOQ對(duì)應(yīng)一個(gè)出端口和一個(gè)優(yōu)先級(jí)(Traffic Class,TC)?,F(xiàn)有的緩存資源管理方法是,為每一個(gè)VOQ配置對(duì)應(yīng)的緩存資源門限值,即,VOQ最多可以占用大小為對(duì)應(yīng)的緩存資源門限值的緩存資源;當(dāng)有一個(gè)報(bào)文需要緩存時(shí),根據(jù)該報(bào)文的出端口和優(yōu)先級(jí),確定該報(bào)文需要存放到的V0Q;判斷該VOQ當(dāng)前已經(jīng)占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VOQ對(duì)應(yīng)的緩存資源門限值,若是,則丟棄該報(bào)文,否則,該報(bào)文存放到該VOQ中進(jìn)行緩存。
[0004]但是,這種按照VOQ進(jìn)行緩存管理的方法存在以下問題:
[0005](I)需要根據(jù)對(duì)應(yīng)的出端口和優(yōu)先級(jí),為每一個(gè)VOQ配置一個(gè)緩存資源門限值,當(dāng)VOQ的數(shù)量很大時(shí),配置工作量較大;
[0006](2)以VOQ為單位進(jìn)行緩存資源管理,由于VOQ是與確定的物理屬性:出端口和優(yōu)先級(jí)對(duì)應(yīng)的,因此,只能根據(jù)報(bào)文出端口和優(yōu)先級(jí)來管理緩存資源,管理方式比較單一,不靈活。

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

[0007]本申請(qǐng)?zhí)峁┝艘环N緩存資源的管理方法及裝置,旨在解決現(xiàn)有技術(shù)中存在的配置工作量較大,管理方式單一和不靈活的問題。
[0008]本申請(qǐng)的技術(shù)方案如下:
[0009]一方面,提供了一種緩存資源的管理方法,包括:
[0010]按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG,劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的每一個(gè)報(bào)文屬性的一個(gè)屬性值;其中,報(bào)文屬性組合由以下至少一種報(bào)文屬性組成:發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容;
[0011]為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值;
[0012]當(dāng)需要緩存報(bào)文時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG ;
[0013]根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,確定是否將該報(bào)文存放到該VOQ中。
[0014]另一方面,還提供了一種緩存資源的管理裝置,包括:
[0015]劃分模塊,用于按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG,劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的每一個(gè)報(bào)文屬性的一個(gè)屬性值;其中,報(bào)文屬性組合由以下至少一種報(bào)文屬性組成:發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容;
[0016]配置模塊,用于為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值;
[0017]確定模塊,用于當(dāng)需要緩存報(bào)文時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG ;
[0018]處理模塊,用于根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,確定是否將該報(bào)文存放到該VOQ中。
[0019]本申請(qǐng)的以上技術(shù)方案中,先按照由至少一個(gè)報(bào)文屬性組成的報(bào)文屬性組合中的所有報(bào)文屬性,將VOQ劃分為多個(gè)(即至少兩個(gè))VQG,然后,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,后續(xù),當(dāng)有報(bào)文需要緩存時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG,之后根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,來確定是否可以將該報(bào)文存放到該VOQ中。
[0020]在上述方法中,由于將VOQ劃分成多個(gè)VQG,為VQG配置對(duì)應(yīng)的緩存資源門限值,顯然,由于只需為少量的幾個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,因此極大地減少了配置工作量;而且,按照發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容等上層應(yīng)用相關(guān)的報(bào)文屬性中的至少一種報(bào)文屬性,將VOQ劃分成多個(gè)VQG,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,從而,以VQG作為緩存資源管理的單位,通過控制每一個(gè)VQG的緩存資源占用率來管理緩存資源,這樣,可以根據(jù)用戶的實(shí)際需求,以統(tǒng)計(jì)的方式來管理緩存資源,管理方式比較靈活,能夠更加合理地分配緩存資源。
[0021]另外,將VOQ劃分成多個(gè)VQG,對(duì)每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,以VQG為單位實(shí)現(xiàn)緩存資源的管理,而不是以VOQ為單位進(jìn)行緩存資源的管理,從而,同一 VQG中的所有VOQ能夠共享該VQG占用的緩存資源,提高了緩存資源利用率。
【專利附圖】

【附圖說明】
[0022]圖1是本申請(qǐng)實(shí)施例一的緩存資源的管理方法的流程圖;
[0023]圖2是本申請(qǐng)實(shí)施例一的例一中的緩存資源的管理方法的具體處理流程圖;
[0024]圖3是本申請(qǐng)實(shí)施例一的例二中的緩存資源的管理方法的具體處理流程圖;
[0025]圖4是本申請(qǐng)實(shí)施例一的例三中的緩存資源的管理方法的具體處理流程圖;
[0026]圖5是本申請(qǐng)實(shí)施例三的包含有緩存資源的管理裝置的通信設(shè)備的硬件結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0027]交換機(jī)、路由器等通信設(shè)備上設(shè)置有多個(gè)報(bào)文轉(zhuǎn)發(fā)芯片,每一個(gè)報(bào)文轉(zhuǎn)發(fā)芯片中均設(shè)置有數(shù)據(jù)緩存單元,用于臨時(shí)存儲(chǔ)報(bào)文,以免報(bào)文發(fā)生丟失。為了提高通信設(shè)備對(duì)于突發(fā)事件的適應(yīng)能力,需要對(duì)數(shù)據(jù)緩存單元的緩存資源進(jìn)行合理的管理。
[0028]為了解決現(xiàn)有技術(shù)的緩存資源管理方法中存在的配置工作量較大,管理方式單一和不靈活的問題,本申請(qǐng)以下實(shí)施例中提供了一種緩存資源的管理方法,以及一種可以應(yīng)用該方法的裝置。
[0029]實(shí)施例一
[0030]如圖1所示,本申請(qǐng)實(shí)施例中的緩存資源的管理方法包括以下步驟:
[0031]步驟S102,按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG (VOQ Group,虛擬輸出隊(duì)列組),劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的每一個(gè)報(bào)文屬性的一個(gè)屬性值;
[0032]本申請(qǐng)實(shí)施例中,報(bào)文屬性指的是發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)(Common Class,CC)、入端口、協(xié)議類型、報(bào)文內(nèi)容等屬性,而每一種報(bào)文屬性可以有多個(gè)屬性值。例如,發(fā)送方式有3個(gè)屬性值:單播、非單播、上送CPU (中央處理器);優(yōu)先級(jí)的屬性值有O?7這8個(gè)優(yōu)先級(jí);通用等級(jí)的屬性值可以有高優(yōu)先級(jí)和低優(yōu)先級(jí)這2個(gè)通用等級(jí),也可以有高優(yōu)先級(jí)、中優(yōu)先級(jí)、低優(yōu)先級(jí)這3個(gè)通用等級(jí);等等。
[0033]步驟S102中的報(bào)文屬性組合可以由至少一種報(bào)文屬性組成。
[0034]步驟S104,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值;
[0035]步驟S106,當(dāng)需要緩存報(bào)文時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG;
[0036]步驟S108,根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,來確定是否將該報(bào)文存放到該VOQ中。
[0037]也就是說,如果該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和(將該和記為P),大于該VQG對(duì)應(yīng)的緩存資源門限值,則丟棄該報(bào)文,否則,將該報(bào)文存放到該VOQ中,并將該VQG當(dāng)前占用的緩存資源值更新為P。
[0038]本申請(qǐng)實(shí)施例的方法中,先按照由至少一個(gè)報(bào)文屬性組成的報(bào)文屬性組合中的所有報(bào)文屬性,將VOQ劃分為多個(gè)(即至少兩個(gè))VQG,然后,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,后續(xù),當(dāng)有報(bào)文需要緩存時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG,之后根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,來確定是否可以將該報(bào)文存放到該VOQ中。
[0039]在上述方法中,由于將VOQ劃分成多個(gè)VQG,為VQG配置對(duì)應(yīng)的緩存資源門限值,顯然,由于只需為少量的幾個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,因此極大地減少了配置工作量;而且,按照發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容等上層應(yīng)用相關(guān)的報(bào)文屬性中的至少一種報(bào)文屬性,將VOQ劃分成多個(gè)VQG,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,從而,以VQG作為緩存資源管理的單位,通過控制每一個(gè)VQG的緩存資源占用率來管理緩存資源,這樣,可以根據(jù)用戶的實(shí)際需求,以統(tǒng)計(jì)的方式來管理緩存資源,管理方式比較靈活,能夠更加合理地分配緩存資源。
[0040]另外,將VOQ劃分成多個(gè)VQG,對(duì)每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,以VQG為單位實(shí)現(xiàn)緩存資源的管理,而不是以VOQ為單位進(jìn)行緩存資源的管理,從而,同一 VQG中的所有VOQ能夠共享該VQG占用的緩存資源,提高了緩存資源利用率。[0041]在實(shí)際實(shí)施過程中,在步驟S102中可以按照一個(gè)報(bào)文屬性組合對(duì)VOQ進(jìn)行分組,也可以按照多個(gè)報(bào)文屬性組合分別對(duì)VOQ進(jìn)行分組。當(dāng)報(bào)文屬性組合有多個(gè)(即至少兩個(gè))時(shí),在步驟S102中會(huì)按照每一個(gè)報(bào)文屬性組合中的所有報(bào)文屬性,將VOQ劃分為至少兩個(gè)VQG,這樣,在步驟S106中根據(jù)需要緩存的報(bào)文的報(bào)文屬性,確定出用于存放該報(bào)文的VOQ所屬的VQG,確定結(jié)果是該VOQ所屬的VQG有至少兩個(gè),之后,在步驟S108中,若判斷出該VOQ所屬的任一 VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,大于該VQG對(duì)應(yīng)的緩存資源門限值,則丟棄該報(bào)文;若判斷出該VOQ所屬的每一個(gè)VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,均不大于該VQG對(duì)應(yīng)的緩存資源門限值,則將該報(bào)文存放到該VOQ中。
[0042]通過多個(gè)報(bào)文屬性組合分別對(duì)VOQ進(jìn)行分組,為每一個(gè)分組即VQG配置對(duì)應(yīng)的緩存資源門限值,可以多方位、多層次地管理緩存資源,為具有多種不同報(bào)文屬性的報(bào)文提供合理的緩存資源,合理利用緩存資源。
[0043]以下分別通過幾個(gè)例子,來說明上述實(shí)施例中的方法。
[0044]例一:
[0045]如圖2所示,在本例一中,緩存資源的管理方法包括以下步驟:
[0046]步驟S202,按照?qǐng)?bào)文的發(fā)送方式,將VOQ劃分為至少兩個(gè)VQG,為了描述方便,稱為Global (全局)VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送CPU ;
[0047]報(bào)文轉(zhuǎn)發(fā)芯片對(duì)于報(bào)文的發(fā)送方式有三種:單播、非單播、以及上送CPU,因此,按照?qǐng)?bào)文的發(fā)送方式,可以將VOQ劃分為三個(gè)Global VQG,例如,分別記為Global VQGO,Global VQGl和 Global VQG2:
[0048]Global VQGO—單播VQG,對(duì)應(yīng)于單播的發(fā)送方式,其中的VOQ用于存放單播報(bào)文;
[0049]Global VQGl—非單播VQG,對(duì)應(yīng)于非單播的發(fā)送方式,其中的VOQ用于存放非單播報(bào)文,包括:組播報(bào)文、廣播報(bào)文和目的地址未知的單播報(bào)文;
[0050]Global VQG2—上送CPU VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式,其中的VOQ用于存放去往CPU的協(xié)議報(bào)文。
[0051]步驟S204,按照?qǐng)?bào)文的發(fā)送方式和優(yōu)先級(jí),將VOQ劃分為至少兩個(gè)VQG,為了描述方便,稱為TC VQG,劃分得到的每一個(gè)TC VQG對(duì)應(yīng)于一個(gè)優(yōu)先級(jí)和發(fā)送方式的一個(gè)屬性值;
[0052]由于無論是單播報(bào)文、非單播報(bào)文、還是上送CPU的報(bào)文都是區(qū)分優(yōu)先級(jí)的。因此,按照?qǐng)?bào)文的發(fā)送方式和優(yōu)先級(jí),可以將VOQ劃分為多個(gè)TC VQG,即,將上述三個(gè)GlobalVQG =Global VQG0, Global VQGl 和 Global VQG2 中的每一個(gè),進(jìn)一步劃分為多個(gè) TC VQG0
[0053]例如,按照發(fā)送方式和優(yōu)先級(jí),劃分得到的多個(gè)TC VQG分別記為:
[0054]TC VQGO—單播TC0VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)0,其中的VOQ用于存放優(yōu)先級(jí)為O的單播報(bào)文;
[0055]TC VQGl—單播TC1VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)I,其中的VOQ用于存放優(yōu)先級(jí)為I的單播報(bào)文;
[0056]TC VQG2—單播TC2VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)2,其中的VOQ用于存放優(yōu)先級(jí)為2的單播報(bào)文;[0057]......[0058]TC VQG7—單播TC7VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)7,其中的VOQ用于存放優(yōu)先級(jí)為7的單播報(bào)文;
[0059]TC VQG8—非單播TC0VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)0,其中的VOQ用于存放優(yōu)先級(jí)為O的非單播報(bào)文;
[0060]TC VQG9—非單播TC1VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)1,其中的VOQ用于存放優(yōu)先級(jí)為I的非單播報(bào)文;
[0061]TC VQGlO—非單播TC2VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)2,其中的VOQ用于存放優(yōu)先級(jí)為2的非單播報(bào)文;
[0062]......[0063]TC VQG15—非單播TC7VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)7,其中的VOQ用于存放優(yōu)先級(jí)為7的非單播報(bào)文;
[0064]TC VQG16—上送CPU TCOVQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)0,其中的VOQ用于存放優(yōu)先級(jí)為O的上送CPU的協(xié)議報(bào)文;
[0065]TC VQG17—上送CPU TC1VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)1,其中的VOQ用于存放優(yōu)先級(jí)為I的上送CPU的協(xié)議報(bào)文;
[0066]TC VQG18—上送CPU TC2VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)2,其中的VOQ用于存放優(yōu)先級(jí)為2的上送CPU的協(xié)議報(bào)文;
[0067]......[0068]TC VQG23—上送CPU TC7VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)7,其中的VOQ用于存放優(yōu)先級(jí)為7的上送CPU的協(xié)議報(bào)文。
[0069]顯然,可以看出,TCVQGO ?TC VQG7 屬于 Global VQGO, TC VQG8 ?TC VQG15 屬于 Global VQGl, TC VQG16 ?TC VQG23 屬于 Global VQG2。
[0070]上述步驟S202-S204對(duì)應(yīng)于步驟S102,其中,步驟S202和步驟S204沒有特定的先
后順序。
[0071]步驟S206,根據(jù)用戶的配置信息,為每一個(gè)Global VQG和每一個(gè)TC VQG配置對(duì)應(yīng)的緩存資源門限值;該步驟對(duì)應(yīng)于步驟S104 ;
[0072]具體的,為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù);也就是說,各個(gè)Global VQG占用的緩存資源彼此獨(dú)立。
[0073]例如,Global VQGO為例,所有用于存放單播報(bào)文的VOQ (為了描述方便,稱為單播V0Q)都屬于Global VQG0,所有單播VOQ占用的緩存資源之和等于Global VQGO占用的緩存資源,即為大小為Global VQGO對(duì)應(yīng)的緩存資源門限值的緩存資源。
[0074]通過為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,來控制Global VQGO,Global VQGl和Global VQG2占用的緩存資源彼此獨(dú)立,就可以限制所有單播VOQ占用的緩存資源,所有非單播VOQ占用的緩存資源,以及,所有上送CPU VOQ占用的緩存資源,可以全局地控制單播報(bào)文、非單播報(bào)文、上送CPU的協(xié)議報(bào)文中的任一種報(bào)文擁塞的情況下,不會(huì)影響另外兩種報(bào)文的存放,可以保證單播業(yè)務(wù)、非單播業(yè)務(wù)和上送CPU的業(yè)務(wù)彼此不會(huì)互相干擾,在某種業(yè)務(wù)擁塞的情況下,其他業(yè)務(wù)仍然能夠正常處理。[0075]另外,在為TC VQG配置緩存資源門限值時(shí),可以按照以下預(yù)定規(guī)則進(jìn)行配置:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG。
[0076]例如,該預(yù)定規(guī)則可以是:
[0077]在對(duì)應(yīng)于單播的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQGO的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越?。?br> [0078]在對(duì)應(yīng)于非單播的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQGl的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越??;
[0079]在對(duì)應(yīng)于上送CPU的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQG2的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小。
[0080]通過為TC VQG配置對(duì)應(yīng)的緩存資源門限值,來控制該TC VQG占用的緩存資源,就可以限制屬于該TC VQG的所有VOQ占用的緩存資源。
[0081]在按照發(fā)送方式劃分得到多個(gè)Global VQG并為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值之后,進(jìn)一步按照發(fā)送方式和優(yōu)先級(jí)劃分得到多個(gè)TC VQG并為每一個(gè)TC VQG配置對(duì)應(yīng)的緩存資源門限值,可以控制對(duì)應(yīng)于不同發(fā)送方式(即發(fā)送方式的不同屬性值)的VOQ之間的緩存資源占用比例,進(jìn)一步,還可以控制同一種發(fā)送方式(即發(fā)送方式的同一個(gè)屬性值)下的各優(yōu)先級(jí)VOQ之間的緩存資源占用比例。
[0082]步驟S208,當(dāng)需要緩存一報(bào)文時(shí),根據(jù)該報(bào)文的出端口和優(yōu)先級(jí),確定用于存放該報(bào)文的V0Q,為了描述方便,記為VOQ-x ;根據(jù)該報(bào)文的發(fā)送方式和優(yōu)先級(jí),確定VOQ-x所屬的VQG ;假設(shè),該報(bào)文是單播報(bào)文且優(yōu)先級(jí)是1,用于存放該報(bào)文的VOQ-x屬于Global VQGO和 TC VQGl ;
[0083]步驟S210,判斷Global VQGO當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于Global VQGO對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S216,否則,執(zhí)行步驟S212 ;
[0084]步驟S212,判斷TC VQGl當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于TC VQGl對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S216,否則,執(zhí)行步驟S214 ;
[0085]步驟S214,將該報(bào)文存放到VOQ-x中;
[0086]步驟S216,丟棄該報(bào)文。
[0087]上述步驟S208?步驟S216對(duì)應(yīng)于步驟S106?步驟S108。
[0088]通過例一中的方法,按照發(fā)送方式將VOQ劃分成多個(gè)Global VQG,每一個(gè)GlobalVQG對(duì)應(yīng)于單播、非單播、上送CPU中的一種,為每一個(gè)Global VQG使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù),這樣,單播、非單播和上送CPU的業(yè)務(wù)互相不干擾。[0089]并且,按照發(fā)送方式和優(yōu)先級(jí)將VOQ劃分成多個(gè)TC VQG,并在為對(duì)應(yīng)于同一種發(fā)送方式的所有TC VQG配置對(duì)應(yīng)的緩存資源門限值時(shí),按照以下預(yù)定規(guī)則進(jìn)行配置:每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小。這樣,同一發(fā)送方式下,不同優(yōu)先級(jí)都可以盡可能地占用更多的緩存資源,優(yōu)先級(jí)越高的VQG能占用更多的緩存資源,優(yōu)先級(jí)越接近的VQG的競(jìng)爭(zhēng)情況越激烈,確保了多個(gè)優(yōu)先級(jí)擁塞的情況下,高優(yōu)先級(jí)的報(bào)文不會(huì)被丟棄,同時(shí),還滿足了一定的頭阻塞能力,即,避免了某一優(yōu)先級(jí)報(bào)文占用了大部分甚至全部緩存資源而導(dǎo)致的其他優(yōu)先級(jí)報(bào)文無法占用緩存資源的問題。
[0090]例二:
[0091]如圖3所示,在本例二中,緩存資源的管理方法包括以下步驟:
[0092]步驟S302,按照?qǐng)?bào)文的發(fā)送方式,將VOQ劃分為至少兩個(gè)VQG,為了描述方便,稱為Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送CPU ;
[0093]報(bào)文轉(zhuǎn)發(fā)芯片對(duì)于報(bào)文的發(fā)送方式有三種:單播、非單播、以及上送CPU,因此,按照?qǐng)?bào)文的發(fā)送方式,可以將VOQ劃分為三個(gè)Global VQG,例如,分別記為Global VQGO,Global VQGl和 Global VQG2:
[0094]Global VQGO—單播VQG,對(duì)應(yīng)于單播的發(fā)送方式,其中的VOQ用于存放單播報(bào)文;
[0095]Global VQGl—非單播VQG,對(duì)應(yīng)于非單播的發(fā)送方式,其中的VOQ用于存放非單播報(bào)文,包括:組播報(bào)文、廣播報(bào)文和目的地址未知的單播報(bào)文;
[0096]Global VQG2—上送CPU VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式,其中的VOQ用于存放去往CPU的協(xié)議報(bào)文。
[0097]步驟S304,按照?qǐng)?bào)文的發(fā)送方式和優(yōu)先級(jí),將VOQ劃分為至少兩個(gè)VQG,為了描述方便,稱為TC VQG,劃分得到的每一個(gè)TC VQG對(duì)應(yīng)于一個(gè)優(yōu)先級(jí)和發(fā)送方式的一個(gè)屬性值;
[0098]由于無論是單播報(bào)文、非單播報(bào)文、還是上送CPU的報(bào)文都是區(qū)分優(yōu)先級(jí)的。因此,按照?qǐng)?bào)文的發(fā)送方式和優(yōu)先級(jí),可以將VOQ劃分為多個(gè)TC VQG,即,將上述三個(gè)GlobalVQG =Global VQG0, Global VQGl 和 Global VQG2 中的每一個(gè),進(jìn)一步劃分為多個(gè) TC VQG0
[0099]例如,按照發(fā)送方式和優(yōu)先級(jí),劃分得到的多個(gè)TC VQG分別記為:
[0100]TC VQGO—單播TC0VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)0,其中的VOQ用于存放優(yōu)先級(jí)為O的單播報(bào)文;
[0101]TC VQGl—單播TC1VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)I,其中的VOQ用于存放優(yōu)先級(jí)為I的單播報(bào)文;
[0102]TC VQG2—單播TC2VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)2,其中的VOQ用于存放優(yōu)先級(jí)為2的單播報(bào)文;
[0103]......[0104]TC VQG7—單播TC7VQG,對(duì)應(yīng)于單播的發(fā)送方式和優(yōu)先級(jí)7,其中的VOQ用于存放優(yōu)先級(jí)為7的單播報(bào)文;
[0105]TC VQG8—非單播TC0VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)0,其中的VOQ用于存放優(yōu)先級(jí)為O的非單播報(bào)文;
[0106]TC VQG9—非單播TC1VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)1,其中的VOQ用于存放優(yōu)先級(jí)為I的非單播報(bào)文;
[0107]TC VQGlO—非單播TC2VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)2,其中的VOQ用于存放優(yōu)先級(jí)為2的非單播報(bào)文;
[0108]......[0109]TC VQG15—非單播TC7VQG,對(duì)應(yīng)于非單播的發(fā)送方式和優(yōu)先級(jí)7,其中的VOQ用于存放優(yōu)先級(jí)為7的非單播報(bào)文;
[0110]TC VQG16—上送CPU TC0VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)0,其中的VOQ用于存放優(yōu)先級(jí)為O的上送CPU的協(xié)議報(bào)文;
[0111]TC VQG17—上送CPU TC1VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)1,其中的VOQ用于存放優(yōu)先級(jí)為I的上送CPU的協(xié)議報(bào)文;
[0112]TC VQG18—上送CPU TC2VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)2,其中的VOQ用于存放優(yōu)先級(jí)為2的上送CPU的協(xié)議報(bào)文;
[0113]......[0114]TC VQG23—上送CPU TC7VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和優(yōu)先級(jí)7,其中的VOQ用于存放優(yōu)先級(jí)為7的上送CPU的協(xié)議報(bào)文。
[0115]顯然,可以看出,TCVQGO ?TC VQG7 屬于 Global VQGO, TC VQG8 ?TC VQG15 屬于 Global VQGl, TC VQG16 ?TC VQG23 屬于 Global VQG2。
[0116]步驟S306,按照發(fā)送方式和通用等級(jí),將VOQ劃分為至少兩個(gè)VQG,為了描述方便,稱為CC (Common Class,通用等級(jí))VQG,劃分得到的每一個(gè)CC VQG對(duì)應(yīng)于一個(gè)通用等級(jí)和發(fā)送方式的一個(gè)屬性值;
[0117]利用報(bào)文的通用等級(jí)可以籠統(tǒng)區(qū)分報(bào)文的優(yōu)先級(jí),例如,通用等級(jí)包括:高低優(yōu)先級(jí),或者,高中低優(yōu)先級(jí),等等。比如,將TCO?TC5劃歸為低優(yōu)先級(jí),TC6?TC7劃歸為高優(yōu)先級(jí)。
[0118]當(dāng)通用等級(jí)包括:高低優(yōu)先級(jí)時(shí),按照發(fā)送方式和通用等級(jí),劃分得到的多個(gè)CCVQG分別記為:
[0119]CC VQGO—單播低優(yōu)先級(jí)VQG,對(duì)應(yīng)于單播的發(fā)送方式和低優(yōu)先級(jí),其中的VOQ用于存放低優(yōu)先級(jí)(例如,TCO?TC5)的單播報(bào)文;
[0120]CC VQGl—單播高優(yōu)先級(jí)VQG,對(duì)應(yīng)于單播的發(fā)送方式和高優(yōu)先級(jí),其中的VOQ用于存放高優(yōu)先級(jí)(例如,TC6?TC7)的單播報(bào)文;
[0121]CC VQG2—非單播低優(yōu)先級(jí)VQG,對(duì)應(yīng)于非單播的發(fā)送方式和低優(yōu)先級(jí),其中的VOQ用于存放低優(yōu)先級(jí)(例如,TCO?TC5)的非單播報(bào)文;
[0122]CC VQG3—非單播低優(yōu)先級(jí)VQG,對(duì)應(yīng)于非單播的發(fā)送方式和低優(yōu)先級(jí),其中的VOQ用于存放低優(yōu)先級(jí)(例如,TC6?TC7)的非單播報(bào)文;
[0123]CC VQG4—上送CPU低優(yōu)先級(jí)VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和低優(yōu)先級(jí),其中的VOQ用于存放低優(yōu)先級(jí)(例如,TCO?TC5)的上送CPU的協(xié)議報(bào)文;
[0124]CC VQG5—上送CPU低優(yōu)先級(jí)VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式和低優(yōu)先級(jí),其中的VOQ用于存放低優(yōu)先級(jí)(例如,TC6?TC7)的上送CPU的協(xié)議報(bào)文;[0125]顯然,可以看出,CCVQGO 和 CC VQGl 屬于 Global VQGO,CC VQG2 和 CC VQG3 屬于Global VQGl, CC VQG4 和 CC VQG5 屬于 Global VQG2。
[0126]上述步驟S302-S306對(duì)應(yīng)于步驟S102,其中,步驟S302、步驟S304、步驟S306沒有特定的先后順序。
[0127]步驟S308,根據(jù)用戶的配置信息,為每一個(gè)Global VQG、每一個(gè)TC VQG和每一個(gè)CC VQG配置對(duì)應(yīng)的緩存資源門限值;該步驟對(duì)應(yīng)于步驟S104 ;
[0128]首先,為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù);也就是說,各個(gè)Global VQG占用的緩存資源彼此獨(dú)立。
[0129]例如,Global VQGO為例,所有用于存放單播報(bào)文的VOQ (為了描述方便,稱為單播V0Q)都屬于Global VQG0,所有單播VOQ占用的緩存資源之和等于Global VQGO占用的緩存資源,即為大小為Global VQGO對(duì)應(yīng)的緩存資源門限值的緩存資源。
[0130]通過為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,來控制Global VQGO,Global VQGl和Global VQG2占用的緩存資源彼此獨(dú)立,就可以限制所有單播VOQ占用的緩存資源,所有非單播VOQ占用的緩存資源,以及,所有上送CPU VOQ占用的緩存資源,可以全局地控制單播報(bào)文、非單播報(bào)文、上送CPU的協(xié)議報(bào)文中的任一種報(bào)文擁塞的情況下,不會(huì)影響另外兩種報(bào)文的存放,可以保證單播業(yè)務(wù)、非單播業(yè)務(wù)和上送CPU的業(yè)務(wù)彼此不會(huì)互相干擾,在某種業(yè)務(wù)擁塞的情況下,其他業(yè)務(wù)仍然能夠正常處理。
[0131]其次,在為TC VQG配置緩存資源門限值時(shí),可以按照以下預(yù)定規(guī)則進(jìn)行配置:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越?。黄渲?,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG。
[0132]例如,該預(yù)定規(guī)則可以是:
[0133]在對(duì)應(yīng)于單播的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQGO的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越?。?br> [0134]在對(duì)應(yīng)于非單播的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQGl的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越?。?br> [0135]在對(duì)應(yīng)于上送CPU的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQG2的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小。
[0136]通過為TC VQG配置對(duì)應(yīng)的緩存資源門限值,來控制該TC VQG占用的緩存資源,就可以限制屬于該TC VQG的所有VOQ占用的緩存資源。
[0137]再次,在為每一個(gè)CC VQG配置對(duì)應(yīng)的緩存資源門限值時(shí),可以按照以下預(yù)定規(guī)則進(jìn)行配置:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于對(duì)應(yīng)Global VQG的緩存資源門限值;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG。
[0138]例如,該預(yù)定規(guī)則可以是:
[0139]在對(duì)應(yīng)于單播的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于Global VQGO的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于Global VQGO的緩存資源門限值;
[0140]在對(duì)應(yīng)于非單播的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于Global VQGl的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于Global VQGl的緩存資源門限值;
[0141]在對(duì)應(yīng)于上送CPU的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于Global VQG2的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于Global VQG2的緩存資源門限值。
[0142]其中,當(dāng)通用等級(jí)包括:高低優(yōu)先級(jí)時(shí),對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG是:對(duì)應(yīng)于低優(yōu)先級(jí)的CC VQG ;當(dāng)通用等級(jí)包括:高中低優(yōu)先級(jí)時(shí),對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG是:對(duì)應(yīng)于中優(yōu)先級(jí)的CC VQG和對(duì)應(yīng)于低優(yōu)先級(jí)的CC VQG。
[0143]通過為CC VQG配置對(duì)應(yīng)的緩存資源門限值,來控制該CC VQG占用的緩存資源,就可以限制屬于該CC VQG的所有VOQ占用的緩存資源。
[0144]在按照發(fā)送方式劃分得到多個(gè)Global VQG并為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值之后,進(jìn)一步按照發(fā)送方式和優(yōu)先級(jí)劃分得到多個(gè)TC VQG并為每一個(gè)TC VQG配置對(duì)應(yīng)的緩存資源門限值,進(jìn)一步按照發(fā)送方式和通用等級(jí)劃分得到多個(gè)CC VQG并為每一個(gè)CC VQG配置對(duì)應(yīng)的緩存資源門限值,可以控制對(duì)應(yīng)于不同發(fā)送方式的VOQ之間的緩存資源占用比例,進(jìn)一步還可以控制同一種發(fā)送方式下的各優(yōu)先級(jí)VOQ之間的緩存資源占用比例,以及進(jìn)一步還可以控制同一種發(fā)送方式下的各通用等級(jí)VOQ之間的緩存資源占用比例,使得緩存資源的管理方式更為靈活。
[0145]步驟S310,當(dāng)需要緩存一報(bào)文時(shí),根據(jù)該報(bào)文的出端口和優(yōu)先級(jí),確定用于存放該報(bào)文的V0Q,為了描述方便,記為VOQ-x ;根據(jù)該報(bào)文的發(fā)送方式和優(yōu)先級(jí),確定VOQ-x所屬的VQG ;假設(shè),該報(bào)文是單播報(bào)文且優(yōu)先級(jí)是1,用于存放該報(bào)文的VOQ-x屬于Global VQGO,TC VQGl和 CC VQGO ;
[0146]步驟S312,判斷Global VQGO當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于Global VQGO對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S320,否則,執(zhí)行步驟S314 ;
[0147]步驟S314,判斷TC VQGl當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于TC VQGl對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S320,否則,執(zhí)行步驟S316 ;
[0148]步驟S316,判斷CC VQGO當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于CC VQGO對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S320,否則,執(zhí)行步驟S318 ;
[0149]步驟S318,將該報(bào)文存放到VOQ-x中;
[0150]步驟S320,丟棄該報(bào)文。
[0151]上述步驟S310?步驟S320對(duì)應(yīng)于步驟S106?步驟S108。
[0152]通過例二中的方法,按照發(fā)送方式將VOQ劃分成多個(gè)Global VQG,每一個(gè)GlobalVQG對(duì)應(yīng)于單播、非單播、上送CPU中的一種,為每一個(gè)Global VQG使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù),這樣,單播、非單播和上送CPU的業(yè)務(wù)互相不干擾。
[0153]并且,按照發(fā)送方式和優(yōu)先級(jí)將VOQ劃分成多個(gè)TC VQG,并在為對(duì)應(yīng)于同一種發(fā)送方式的所有TC VQG配置對(duì)應(yīng)的緩存資源門限值時(shí),按照以下預(yù)定規(guī)則進(jìn)行配置:每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小。這樣,同一發(fā)送方式下,不同優(yōu)先級(jí)都可以盡可能地占用更多的緩存資源,優(yōu)先級(jí)越高的VQG能占用更多的緩存資源,優(yōu)先級(jí)越接近的VQG的競(jìng)爭(zhēng)情況越激烈,確保了多個(gè)優(yōu)先級(jí)擁塞的情況下,高優(yōu)先級(jí)的報(bào)文不會(huì)被丟棄,同時(shí),還滿足了一定的頭阻塞能力,即,避免了某一優(yōu)先級(jí)報(bào)文占用了大部分甚至全部緩存資源而導(dǎo)致的其他優(yōu)先級(jí)報(bào)文無法占用緩存資源的問題。
[0154]并且,進(jìn)一步按照發(fā)送方式和通用等級(jí)將VOQ劃分成多個(gè)CC VQG,并在為對(duì)應(yīng)于同一種發(fā)送方式的所有CC VQG配置對(duì)應(yīng)的緩存資源門限值時(shí),按照以下預(yù)定規(guī)則進(jìn)行配置:每一個(gè)CC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于對(duì)應(yīng)Global VQG的緩存資源門限值。這樣,在同一發(fā)送方式下,通用等級(jí)越高的VQG能占用更多的緩存資源,并且,保證了最高通用等級(jí)的VQG在任何情況下都能夠占用一定數(shù)量的緩存資源。
[0155]另外,在另一種實(shí)施例中,還可以僅按照?qǐng)?bào)文的發(fā)送方式將VOQ劃分為3個(gè)GlobalVQG,以及,按照?qǐng)?bào)文的發(fā)送方式和通用等級(jí)將VOQ劃分為多個(gè)CC VQG,其他的步驟與上述步驟S302?步驟S320類似,這里不再贅述。
[0156]例三:
[0157]如圖4所示,在本例三中,緩存資源的管理方法包括以下步驟:
[0158]步驟S402,按照?qǐng)?bào)文的發(fā)送方式,將VOQ劃分為至少兩個(gè)Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送CPU ;
[0159]報(bào)文轉(zhuǎn)發(fā)芯片對(duì)于報(bào)文的發(fā)送方式有三種:單播、非單播、以及上送CPU,因此,按照?qǐng)?bào)文的發(fā)送方式,可以將VOQ劃分為三個(gè)Global VQG,例如,分別記為Global VQGO,Global VQGl和 Global VQG2:
[0160]Global VQGO—單播VQG,對(duì)應(yīng)于單播的發(fā)送方式,其中的VOQ用于存放單播報(bào)文;
[0161]Global VQGl—非單播VQG,對(duì)應(yīng)于非單播的發(fā)送方式,其中的VOQ用于存放非單播報(bào)文,包括:組播報(bào)文、廣播報(bào)文和目的地址未知的單播報(bào)文;[0162]Global VQG2—上送CPU VQG,對(duì)應(yīng)于上送CPU的發(fā)送方式,其中的VOQ用于存放去往CPU的協(xié)議報(bào)文。
[0163]步驟S404,按照?qǐng)?bào)文的入端口,將VOQ劃分為至少兩個(gè)IPT (InPut Port,入端口)VQG,劃分得到的每一個(gè)IPT VQG對(duì)應(yīng)于一個(gè)入端口 ;
[0164]其中的入端口即為本轉(zhuǎn)發(fā)芯片上的端口。
[0165]上述步驟S402?步驟S404對(duì)應(yīng)于步驟S102。
[0166]步驟S406,根據(jù)用戶的配置信息,為每一個(gè)Global VQG和每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值;該步驟對(duì)應(yīng)于步驟S104 ;
[0167]首先,為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù)Sum;也就是說,各個(gè)Global VQG占用的緩存資源彼此獨(dú)立。
[0168]通過為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,來控制Global VQGO,Global VQGl和Global VQG2占用的緩存資源彼此獨(dú)立,就可以限制所有單播VOQ占用的緩存資源,所有非單播VOQ占用的緩存資源,以及,所有上送CPU VOQ占用的緩存資源,可以全局地控制單播報(bào)文、非單播報(bào)文、上送CPU的協(xié)議報(bào)文中的任一種報(bào)文擁塞的情況下,不會(huì)影響另外兩種報(bào)文的存放,可以保證單播業(yè)務(wù)、非單播業(yè)務(wù)和上送CPU的業(yè)務(wù)彼此不會(huì)互相干擾,在某種業(yè)務(wù)擁塞的情況下,其他業(yè)務(wù)仍然能夠正常處理。
[0169]其次,為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值為Sum/N,其中,N為預(yù)設(shè)的同時(shí)擁塞的入端口的最大數(shù)量。
[0170]通過為IPT VQG配置對(duì)應(yīng)的緩存資源門限值,來控制該IPT VQG占用的緩存資源,可以限制對(duì)應(yīng)于不同入端口的VOQ占用的緩存資源比例。
[0171]在按照發(fā)送方式劃分得到多個(gè)Global VQG并為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值之后,進(jìn)一步按照入端口劃分得到多個(gè)IPT VQG并為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值,可以控制對(duì)應(yīng)于不同發(fā)送方式的VOQ之間的緩存資源占用比例,進(jìn)一步還可以控制對(duì)應(yīng)于不同入端口的IPT VOQ之間的緩存資源占用比例,使得緩存資源的管理方式更為靈活。
[0172]步驟S408,當(dāng)需要緩存一報(bào)文時(shí),根據(jù)該報(bào)文的出端口和優(yōu)先級(jí),確定用于存放該報(bào)文的V0Q,為了描述方便,記為VOQ-x ;根據(jù)該報(bào)文的發(fā)送方式和入端口,確定VOQ-x所屬的VQG ;假設(shè),該報(bào)文是單播報(bào)文且入端口是P0RT1,用于存放該報(bào)文的VOQ-x屬于GlobalVQGO 和 IPT VQGl ;
[0173]步驟S410,判斷Global VQGO當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于Global VQGO對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S416,否則,執(zhí)行步驟S412 ;
[0174]步驟S412,判斷IPT VQGl當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于IPT VQGl對(duì)應(yīng)的緩存資源門限值,若是,則執(zhí)行步驟S416,否則,執(zhí)行步驟 S414 ;
[0175]步驟S414,將該報(bào)文存放到VOQ-X中;
[0176]步驟S416,丟棄該報(bào)文。
[0177]上述步驟S408?步驟S416對(duì)應(yīng)于步驟S106?步驟S108。[0178]通過例三中的方法,按照發(fā)送方式將VOQ劃分成多個(gè)Global VQG,每一個(gè)GlobalVQG對(duì)應(yīng)于單播、非單播、上送CPU中的一種,為每一個(gè)Global VQG使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù),這樣,單播、非單播和上送CPU的業(yè)務(wù)互相不干擾。
[0179]并且,按照入端口將VOQ劃分成多個(gè)IPT VQG,并為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值為Sum/N,其中,N為預(yù)設(shè)的同時(shí)擁塞的入端口的最大數(shù)量。這樣,確保了不同入端口的IPT VQG能夠占用盡可能多的緩存資源,同時(shí),還滿足了一定的頭阻塞能力,S卩,避免了某一入端口的報(bào)文占用了大部分甚至全部緩存資源而導(dǎo)致的其他入端口的報(bào)文無法占用緩存資源的問題。
[0180]顯然,在實(shí)際實(shí)施過程中,還可以采用更多不同的報(bào)文屬性組合對(duì)VOQ進(jìn)行劃分,來實(shí)現(xiàn)對(duì)緩存資源的管理,本申請(qǐng)對(duì)此不做限定。
[0181]實(shí)施例二
[0182]以下通過一個(gè)具體的實(shí)例,來說明上述實(shí)施例一的例二中配置緩存資源門限值的方法。
[0183]假設(shè),某一個(gè)交換機(jī)的轉(zhuǎn)發(fā)芯片上的數(shù)據(jù)緩存單元中總的緩存大小為1000K,對(duì)各個(gè)VQG配置的緩存資源門限值如下:
[0184]1、各個(gè)Global VQG的緩存資源門限值:
[0185]Global VQGO:850K
[0186]Global VQGl:1OOK
[0187]Global VQG2:50K
[0188]2、各個(gè)TC VQG的緩存資源門限值
[0189]以對(duì)應(yīng)于單播的發(fā)送方式的TC VQG為例:
[0190]TC VQGO (對(duì)應(yīng)于單播和 TC0): 100K
[0191]TC VQGl (對(duì)應(yīng)于單播和 TCl): 100K
[0192]TC VQG2 (對(duì)應(yīng)于單播和 TC2):500K
[0193]TC VQG3 (對(duì)應(yīng)于單播和 TC3):500Κ
[0194]TC VQG4 (對(duì)應(yīng)于單播和 TC4):500Κ
[0195]TC VQG5 (對(duì)應(yīng)于單播和 TC5):500Κ
[0196]TC VQG6 (對(duì)應(yīng)于單播和 TC6):800Κ
[0197]TC VQG7 (對(duì)應(yīng)于單播和 TC7):800Κ
[0198]在單播的發(fā)送方式下,進(jìn)一步按照優(yōu)先級(jí)來控制緩存資源門限值,對(duì)應(yīng)于不同優(yōu)先級(jí)的TC VOG對(duì)應(yīng)的緩存資源門限值之和,不需要等于對(duì)應(yīng)于單播的Global VQGO對(duì)應(yīng)的緩存資源門限值,即,各個(gè)優(yōu)先級(jí)占用的緩存資源不是各自獨(dú)立的,而是存在共享的情況。
[0199]當(dāng)沒有其他優(yōu)先級(jí)存在時(shí),單個(gè)優(yōu)先級(jí)可以占用最多的資源,而存在多個(gè)優(yōu)先級(jí)共同競(jìng)爭(zhēng)的情況下,就會(huì)出現(xiàn)各個(gè)優(yōu)先級(jí)的搶占,為對(duì)應(yīng)于不同優(yōu)先級(jí)的TC VQG配置不同的緩存資源門限值,可以適當(dāng)?shù)恼{(diào)配各優(yōu)先級(jí)能夠占用的緩存資源。
[0200]從上述為TC VQGO?TC VQG7配置的緩存資源門限值可以看出:在對(duì)應(yīng)于單播的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于Global VQGO的緩存資源門限值850K ;TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TCVQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小。
[0201]當(dāng)同時(shí)存在TC0、TC2和TC7時(shí),當(dāng)TC7占用800K時(shí),剩下的50K (Global VQGO對(duì)應(yīng)的緩存資源門限值為850K)將由TC2和TCO共同搶占,而如果TC7僅占用了 500K,則TCO和TC2共同搶占剩下的350K,但TCO最多只能占用100K,因此TC2可以保證250K的緩存資源。
[0202]3、各個(gè)CC VQG的緩存資源門限值
[0203]以對(duì)應(yīng)于單播的發(fā)送方式的CC VQG為例:
[0204]CC VQGO (對(duì)應(yīng)于單播和 TCO ?TC5):700K
[0205]CC VQGl (對(duì)應(yīng)于單播和 TC6 ?TC7):850Κ
[0206]在單播的發(fā)送方式下,進(jìn)一步按照通用等級(jí)來控制緩存資源門限值,此處的通用等級(jí)可分為高優(yōu)先級(jí)和低優(yōu)先級(jí),其中TC6?TC7屬于高優(yōu)先級(jí),TCO?TC5屬于低優(yōu)先級(jí)。由于各個(gè)優(yōu)先級(jí)占用的緩存資源不是獨(dú)立的,因此進(jìn)一步按照通用等級(jí)控制緩存資源門限值的目的是保證高優(yōu)先級(jí)的單播報(bào)文不被影響。
[0207]從上述為CC VQGO?CC VQGl配置的緩存資源門限值可以看出:在對(duì)應(yīng)于單播的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于Global VQGO的緩存資源門限值850K ;CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大;并且,對(duì)應(yīng)于低優(yōu)先級(jí)的CC VQG:CC VQGO的緩存資源門限值700K,小于Global VQGO的緩存資源門限值850K,這樣,可以保證對(duì)應(yīng)于高優(yōu)先級(jí)的CC VQG:CC VQGl能夠占用至少150K的緩存資源,因?yàn)镃C VQGO最多只能占用700K。
[0208]實(shí)施例三
[0209]針對(duì)上述實(shí)施例一中的方法,本申請(qǐng)實(shí)施例中提供了一種可以應(yīng)用該方法的緩存資源的管理裝置。該裝置可以應(yīng)用于例如路由器、交換機(jī)等的通信設(shè)備中。
[0210]以軟件實(shí)現(xiàn)為例,如圖5所示,該裝置中可以包括以下模塊:劃分模塊10、配置模塊20、確定模塊30和處理模塊40,其中:
[0211]劃分模塊10,用于按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG,劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的所有報(bào)文屬性;其中,報(bào)文屬性組合由以下至少一種報(bào)文屬性組成:發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容;
[0212]配置模塊20,用于為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值;
[0213]確定模塊30,用于當(dāng)需要緩存報(bào)文時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG ;
[0214]處理模塊40,用于根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,確定是否將該報(bào)文存放到該VOQ中。
[0215]其中,當(dāng)報(bào)文屬性組合有至少兩個(gè)時(shí),確定的VOQ所屬的VQG有至少兩個(gè),則,該處理模塊中包括:丟棄單元和存放單元,其中:
[0216]丟棄單元,用于若判斷出該VOQ所屬的任一 VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,大于該VQG對(duì)應(yīng)的緩存資源門限值,則丟棄該報(bào)文;
[0217]存放單元,用于若判斷出該VOQ所屬的每一個(gè)VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,均不大于該VQG對(duì)應(yīng)的緩存資源門限值,則將該報(bào)文存放到該VOQ中。
[0218]在本申請(qǐng)的一種實(shí)施例中,該劃分模塊中包括:第一劃分單元和第二劃分單元,其中:
[0219]第一劃分單元,用于按照發(fā)送方式,將VOQ劃分為至少兩個(gè)Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于以下發(fā)送方式中的一種:單播、非單播和上送CPU ;
[0220]第二劃分單元,用于按照發(fā)送方式和優(yōu)先級(jí),將VOQ劃分為至少兩個(gè)TCVQG,劃分得到的每一個(gè)TC VQG對(duì)應(yīng)于一個(gè)優(yōu)先級(jí)和以下發(fā)送方式中的一種:單播、非單播、上送CPU。
[0221]此時(shí),該配置模塊中包括:第一配置單元和第二配置單元,其中:
[0222]第一配置單元,用于為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù);
[0223]第二配置單元,用于按照預(yù)定規(guī)則,每一個(gè)TC VQG配置對(duì)應(yīng)的緩存資源門限值;其中,該預(yù)定規(guī)則包括:在對(duì)應(yīng)于同一種發(fā)送方式的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于該種發(fā)送方式的Global VQG。
[0224]在本申請(qǐng)的另一種實(shí)施例中,該劃分模塊中除了可以包括上述的第一劃分單元和第二劃分單元以外,還可以包括第三劃分單元,其中:
[0225]第三劃分單元,用于按照發(fā)送方式和通用等級(jí),將VOQ劃分為至少兩個(gè)CC VQG,劃分得到的每一個(gè)CC VQG對(duì)應(yīng)于一個(gè)通用等級(jí)和以下發(fā)送方式中的一種:單播、非單播、上送 CPU ;
[0226]其中,通用等級(jí)為高優(yōu)先級(jí)或低優(yōu)先級(jí),或者,通用等級(jí)為高優(yōu)先級(jí)、中優(yōu)先級(jí)、或低優(yōu)先級(jí)。
[0227]此時(shí),該配置模塊中除了可以包括上述的第一配置單元和第二配置單元以外,還可以包括第三配置單元,其中:
[0228]第三配置單元,用于按照預(yù)定規(guī)則,為每一個(gè)CC VQG配置對(duì)應(yīng)的緩存資源門限值;
[0229]其中,該預(yù)定規(guī)則包括:在對(duì)應(yīng)于同一種發(fā)送方式的所有CC VQG中,每一個(gè)CCVQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于對(duì)應(yīng)Global VQG的緩存資源門限值;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于該種發(fā)送方式的Global VQG。
[0230]在本申請(qǐng)的又一種實(shí)施例中,該劃分模塊中包括:第一劃分單元和第二劃分單元,其中:
[0231 ] 第一劃分單元,用于按照發(fā)送方式,將VOQ劃分為至少兩個(gè)Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于以下發(fā)送方式中的一種:單播、非單播和上送CPU ;
[0232]第二劃分單元,用于按照入端口,將VOQ劃分為至少兩個(gè)IPT VQG,劃分得到的每一個(gè)IPT VQG對(duì)應(yīng)于一個(gè)入端口。
[0233]此時(shí),該配置模塊中包括:第一配置單元和第二配置單元,其中:[0234]第一配置單元,用于為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù)Sum ;
[0235]第二配置單元,用于為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值為Sum/N,其中,N為預(yù)設(shè)的同時(shí)擁塞的入端口的最大數(shù)量。
[0236]本申請(qǐng)實(shí)施例并不排除硬件或者軟硬件結(jié)合的實(shí)施方式。請(qǐng)參考圖5,從硬件層面而言,通信設(shè)備中包括:CPU、非易失性存儲(chǔ)器、內(nèi)存、轉(zhuǎn)發(fā)芯片以及其他硬件。上述的緩存資源的管理裝置作為一個(gè)邏輯意義上的裝置,其是通過CPU將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。轉(zhuǎn)發(fā)芯片上設(shè)置有數(shù)據(jù)緩存單元,當(dāng)對(duì)應(yīng)的計(jì)算機(jī)程序指令被執(zhí)行時(shí),形成的緩存資源的管理裝置用于按照實(shí)施例一中的方法管理數(shù)據(jù)緩存單元中的緩存資源。
[0237]綜上,本申請(qǐng)以上實(shí)施例可以達(dá)到以下技術(shù)效果:
[0238](I)先按照由至少一個(gè)報(bào)文屬性組成的報(bào)文屬性組合中的所有報(bào)文屬性,將VOQ劃分為多個(gè)VQG,然后,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,后續(xù),當(dāng)有報(bào)文需要緩存時(shí),確定用于存放該報(bào)文的V0Q,根據(jù)該報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG,之后根據(jù)該VQG當(dāng)前占用的緩存資源值與該報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,來確定是否可以將該報(bào)文存放到該VOQ中。
[0239]在上述方法中,由于將VOQ劃分成多個(gè)VQG,為VQG配置對(duì)應(yīng)的緩存資源門限值,顯然,由于只需為少量的幾個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,因此極大地減少了配置工作量;而且,按照發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容等上層應(yīng)用相關(guān)的報(bào)文屬性中的至少一種報(bào)文屬性,將VOQ劃分成多個(gè)VQG,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,從而,以VQG作為緩存資源管理的單位,通過控制每一個(gè)VQG的緩存資源占用率來管理緩存資源,這樣,可以根據(jù)用戶的實(shí)際需求,以統(tǒng)計(jì)的方式來管理緩存資源,管理方式比較靈活,能夠更加合理地分配緩存資源。
[0240]另外,將VOQ劃分成多個(gè)VQG,對(duì)每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值,以VQG為單位實(shí)現(xiàn)緩存資源的管理,而不是以VOQ為單位進(jìn)行緩存資源的管理,從而,同一 VQG中的所有VOQ能夠共享該VQG占用的緩存資源,提高了緩存資源利用率。
[0241](2)通過多個(gè)報(bào)文屬性組合分別對(duì)VOQ進(jìn)行分組,為每一個(gè)分組即VQG配置對(duì)應(yīng)的緩存資源門限值,可以多方位、多層次地管理緩存資源,為具有多種不同報(bào)文屬性的報(bào)文提供合理的緩存資源,合理利用緩存資源。
[0242](3)按照發(fā)送方式將VOQ劃分成多個(gè)Global VQG,每一個(gè)Global VQG對(duì)應(yīng)于單播、非單播、上送CPU中的一種,為每一個(gè)Global VQG使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù),這樣,單播、非單播和上送CPU的業(yè)務(wù)互相不干擾。
[0243]并且,按照發(fā)送方式和優(yōu)先級(jí)將VOQ劃分成多個(gè)TC VQG,并在為對(duì)應(yīng)于同一種發(fā)送方式的所有TC VQG配置對(duì)應(yīng)的緩存資源門限值時(shí),按照以下預(yù)定規(guī)則進(jìn)行配置:每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越小。這樣,同一發(fā)送方式下,不同優(yōu)先級(jí)都可以盡可能地占用更多的緩存資源,優(yōu)先級(jí)越高的VQG能占用更多的緩存資源,優(yōu)先級(jí)越接近的VQG的競(jìng)爭(zhēng)情況越激烈,確保了多個(gè)優(yōu)先級(jí)擁塞的情況下,高優(yōu)先級(jí)的報(bào)文不會(huì)被丟棄,同時(shí),還滿足了一定的頭阻塞能力,即,避免了某一優(yōu)先級(jí)報(bào)文占用了大部分甚至全部緩存資源而導(dǎo)致的其他優(yōu)先級(jí)報(bào)文無法占用緩存資源的問題。
[0244](4)進(jìn)一步按照發(fā)送方式和通用等級(jí)將VOQ劃分成多個(gè)CC VQG,并在為對(duì)應(yīng)于同一種發(fā)送方式的所有CC VQG配置對(duì)應(yīng)的緩存資源門限值時(shí),按照以下預(yù)定規(guī)則進(jìn)行配置:每一個(gè)CC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,CCVQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于對(duì)應(yīng)Global VQG的緩存資源門限值。這樣,在同一發(fā)送方式下,通用等級(jí)越高的VQG能占用更多的緩存資源,并且,保證了最高通用等級(jí)的VQG在任何情況下都能夠占用一定數(shù)量的緩存資源。
[0245](5)按照發(fā)送方式將VOQ劃分成多個(gè)Global VQG,每一個(gè)Global VQG對(duì)應(yīng)于單播、非單播、上送CPU中的一種,為每一個(gè)Global VQG使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù),這樣,單播、非單播和上送CPU的業(yè)務(wù)互相不干擾。
[0246]并且,按照入端口將VOQ劃分成多個(gè)IPT VQG,并為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值為Sum/N,其中,N為預(yù)設(shè)的同時(shí)擁塞的入端口的最大數(shù)量。這樣,確保了不同入端口的IPT VQG能夠占用盡可能多的緩存資源,同時(shí),還滿足了一定的頭阻塞能力,S卩,避免了某一入端口的報(bào)文占用了大部分甚至全部緩存資源而導(dǎo)致的其他入端口的報(bào)文無法占用緩存資源的問題。
[0247]以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種緩存資源的管理方法,其特征在于,包括: 按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的虛擬輸出隊(duì)列VOQ,劃分為至少兩個(gè)虛擬輸出隊(duì)列組VQG,劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的每一個(gè)報(bào)文屬性的一個(gè)屬性值;其中,報(bào)文屬性組合由以下至少一種報(bào)文屬性組成:發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容; 為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值; 當(dāng)需要緩存報(bào)文時(shí),確定用于存放所述報(bào)文的V0Q,根據(jù)所述報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG ; 根據(jù)該VQG當(dāng)前占用的緩存資源值與所述報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,確定是否將所述報(bào)文存放到該VOQ中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)報(bào)文屬性組合有至少兩個(gè)時(shí),確定的VOQ所屬的VQG有至少兩個(gè),則,確定是否將所述報(bào)文存放到該VOQ中的方法包括: 若判斷出該VOQ所屬的任一 VQG當(dāng)前占用的緩存資源值與所述報(bào)文需要占用的緩存資源值之和,大于該VQG對(duì)應(yīng)的緩存資源門限值,則丟棄所述報(bào)文; 若判斷出該VOQ所屬的每一個(gè)VQG當(dāng)前占用的緩存資源值與所述報(bào)文需要占用的緩存資源值之和,均不大于該VQG對(duì)應(yīng)的緩存資源門限值,則將所述報(bào)文存放到該VOQ中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG的方法包括: 按照發(fā)送方式,將VOQ劃分為至少兩個(gè)全局Global VQG,劃分得到的每一個(gè)GlobalVQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送中央處理器CPU ; 按照發(fā)送方式和優(yōu)先級(jí),將VOQ劃分為至少兩個(gè)優(yōu)先級(jí)TC VQG,劃分得到的每一個(gè)TCVQG對(duì)應(yīng)于一個(gè)優(yōu)先級(jí)和發(fā)送方式的一個(gè)屬性值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值的方法包括: 為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù); 按照預(yù)定規(guī)則,每一個(gè)TC VQG配置對(duì)應(yīng)的緩存資源門限值;其中,該預(yù)定規(guī)則包括:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越??;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG的方法還包括: 按照發(fā)送方式和通用等級(jí),將VOQ劃分為至少兩個(gè)通用等級(jí)CC VQG,劃分得到的每一個(gè)CC VQG對(duì)應(yīng)于一個(gè)通用等級(jí)和發(fā)送方式的一個(gè)屬性值; 其中,通用等級(jí)為高優(yōu)先級(jí)或低優(yōu)先級(jí),或者,通用等級(jí)為高優(yōu)先級(jí)、中優(yōu)先級(jí)、或低優(yōu)先級(jí)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值的方法還包括: 按照預(yù)定規(guī)則,為每一個(gè)CC VQG配置對(duì)應(yīng)的緩存資源門限值; 其中,該預(yù)定規(guī)則包括:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于對(duì)應(yīng)Global VQG的緩存資源門限值;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的V0Q,劃分為至少兩個(gè)VQG的方法包括: 按照發(fā)送方式,將VOQ劃分為至少兩個(gè)Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送CPU ; 按照入端口,將VOQ劃分為至少兩個(gè)入端口 IPT VQG,劃分得到的每一個(gè)IPT VQG對(duì)應(yīng)于一個(gè)入端口。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值的方法包括: 為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù)Sum ; 為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值為Sum/N,其中,N為預(yù)設(shè)的同時(shí)擁塞的入端口的最大數(shù)量。
9.一種緩存資源的管理裝置,其特征在于,包括: 劃分模塊,用于按照?qǐng)?bào)文屬性組合中的所有報(bào)文屬性,將用于存放需要緩存的報(bào)文的虛擬輸出隊(duì)列V0Q,劃分為至少兩個(gè)虛擬輸出隊(duì)列組VQG,劃分得到的每一個(gè)VQG對(duì)應(yīng)于該報(bào)文屬性組合中的每一個(gè)報(bào)文屬性的一個(gè)屬性值;其中,報(bào)文屬性組合由以下至少一種報(bào)文屬性組成:發(fā)送方式、優(yōu)先級(jí)、通用等級(jí)、入端口、協(xié)議類型、報(bào)文內(nèi)容; 配置模塊,用于為每一個(gè)VQG配置對(duì)應(yīng)的緩存資源門限值; 確定模塊,用于當(dāng)需要緩存報(bào)文時(shí),確定用于存放所述報(bào)文的V0Q,根據(jù)所述報(bào)文的報(bào)文屬性,確定該VOQ所屬的VQG ; 處理模塊,用于根據(jù)該VQG當(dāng)前占用的緩存資源值與所述報(bào)文需要占用的緩存資源值之和,是否大于該VQG對(duì)應(yīng)的緩存資源門限值,確定是否將所述報(bào)文存放到該VOQ中。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,當(dāng)報(bào)文屬性組合有至少兩個(gè)時(shí),確定的VOQ所屬的VQG有至少兩個(gè),則,所述處理模塊包括: 丟棄單元,用于若判斷出該VOQ所屬的任一 VQG當(dāng)前占用的緩存資源值與所述報(bào)文需要占用的緩存資源值之和,大于該VQG對(duì)應(yīng)的緩存資源門限值,則丟棄所述報(bào)文; 存放單元,用于若判斷出該VOQ所屬的每一個(gè)VQG當(dāng)前占用的緩存資源值與所述報(bào)文需要占用的緩存資源值之和,均不大于該VQG對(duì)應(yīng)的緩存資源門限值,則將所述報(bào)文存放到該VOQ中。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述劃分模塊包括: 第一劃分單元,用于按照發(fā)送方式,將VOQ劃分為至少兩個(gè)全局Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送中央處理器CPU ; 第二劃分單元,用于按照發(fā)送方式和優(yōu)先級(jí),將VOQ劃分為至少兩個(gè)優(yōu)先級(jí)TC VQG,劃分得到的每一個(gè)TC VQG對(duì)應(yīng)于一個(gè)優(yōu)先級(jí)和發(fā)送方式的一個(gè)屬性值。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述配置模塊包括: 第一配置單元,用于為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù); 第二配置單元,用于按照預(yù)定規(guī)則,每一個(gè)TC VQG配置對(duì)應(yīng)的緩存資源門限值;其中,該預(yù)定規(guī)則包括:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有TC VQG中,每一個(gè)TC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,TC VQG對(duì)應(yīng)的優(yōu)先級(jí)越高,配置的緩存資源門限值越大,并且,任意兩個(gè)TC VQG對(duì)應(yīng)的優(yōu)先級(jí)的差值越小,配置的緩存資源門限值的差值越??;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG0
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述劃分模塊還包括: 第三劃分單元,用于按照發(fā)送方式和通用等級(jí),將VOQ劃分為至少兩個(gè)通用等級(jí)CCVQG,劃分得到的每一個(gè)CC VQG對(duì)應(yīng)于一個(gè)通用等級(jí)和發(fā)送方式的一個(gè)屬性值; 其中,通用等級(jí)為高優(yōu)先級(jí)或低優(yōu)先級(jí),或者,通用等級(jí)為高優(yōu)先級(jí)、中優(yōu)先級(jí)、或低優(yōu)先級(jí)。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述配置模塊還包括: 第三配置單元,用于按照預(yù)定規(guī)則,為每一個(gè)CC VQG配置對(duì)應(yīng)的緩存資源門限值; 其中,該預(yù)定規(guī)則包括:在對(duì)應(yīng)于發(fā)送方式的同一個(gè)屬性值的所有CC VQG中,每一個(gè)CC VQG配置的緩存資源門限值,均不大于對(duì)應(yīng)Global VQG的緩存資源門限值,CC VQG對(duì)應(yīng)的通用等級(jí)越高,配置的緩存資源門限值越大,并且,對(duì)應(yīng)于除最高通用等級(jí)以外的其他通用等級(jí)的CC VQG的緩存資源門限值之和,小于對(duì)應(yīng)Global VQG的緩存資源門限值;其中,對(duì)應(yīng)Global VQG是對(duì)應(yīng)于發(fā)送方式的該屬性值的Global VQG。
15.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述劃分模塊包括: 第一劃分單元,用于按照發(fā)送方式,將VOQ劃分為至少兩個(gè)Global VQG,劃分得到的每一個(gè)Global VQG對(duì)應(yīng)于發(fā)送方式的一個(gè)屬性值;其中,發(fā)送方式的屬性值包括:單播、非單播和上送CPU ; 第二劃分單元,用于按照入端口,將VOQ劃分為至少兩個(gè)入端口 IPT VQG,劃分得到的每一個(gè)IPT VQG對(duì)應(yīng)于一個(gè)入端口。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述配置模塊包括: 第一配置單元,用于為每一個(gè)Global VQG配置對(duì)應(yīng)的緩存資源門限值,使得所有Global VQG對(duì)應(yīng)的緩存資源門限值之和等于緩存資源的總數(shù)Sum ; 第二配置單元,用于為每一個(gè)IPT VQG配置對(duì)應(yīng)的緩存資源門限值為Sum/N,其中,N為預(yù)設(shè)的同時(shí)擁塞的入端口的最大數(shù)量。
【文檔編號(hào)】H04L12/861GK103780507SQ201410052358
【公開日】2014年5月7日 申請(qǐng)日期:2014年2月17日 優(yōu)先權(quán)日:2014年2月17日
【發(fā)明者】翟穎穎 申請(qǐng)人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
惠州市| 中宁县| 墨玉县| 德化县| 奉新县| 天水市| 辛集市| 古浪县| 新河县| 辽中县| 公安县| 通渭县| 五家渠市| 南阳市| 湘乡市| 永州市| 新巴尔虎左旗| 余庆县| 滨海县| 义乌市| 关岭| 台山市| 宁城县| 芜湖县| 海丰县| 灵台县| 尉犁县| 丽水市| 沙坪坝区| 桃源县| 民权县| 常德市| 年辖:市辖区| 海盐县| 应城市| 青川县| 乌海市| 固阳县| 凤台县| 克什克腾旗| 保德县|