專利名稱:實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域技術(shù),尤其是一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法和裝置。
背景技術(shù):
隨著以太網(wǎng)和芯片技術(shù)的迅猛發(fā)展,交換機(jī)芯片的處理帶寬不斷增大,網(wǎng)絡(luò)端口容量也與日俱增。同時(shí),隨著QoS (Quality of Service)技術(shù)的不斷發(fā)展,各端口支持的數(shù)據(jù)包優(yōu)先級(jí)數(shù)量也逐漸增加。對(duì)于使用共享存儲(chǔ)器的以太網(wǎng)交換機(jī)芯片而言,如何實(shí)現(xiàn)存儲(chǔ)器資源在各端口之間有效合理分配,以滿足各端口 QoS和帶寬需求成為決定城域網(wǎng)交換機(jī)芯片性能的關(guān)鍵因素。
然而,現(xiàn)有的入口資源管理技術(shù)僅對(duì)每個(gè)端口占用的存儲(chǔ)器資源進(jìn)行統(tǒng)計(jì),當(dāng)需要滿足端口數(shù)據(jù)報(bào)文的QoS需求時(shí),再對(duì)端口的各個(gè)優(yōu)先級(jí)數(shù)據(jù)報(bào)文占用的資源進(jìn)行分別統(tǒng)計(jì)。此技術(shù)在交換機(jī)的網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),某一端口某優(yōu)先級(jí)的數(shù)據(jù)報(bào)文占用大量存儲(chǔ)器資源,但是并未超過資源閾值時(shí),其他優(yōu)先級(jí)在沒有超過設(shè)定的資源閾值的情況下,可能因?yàn)榇鎯?chǔ)器資源耗盡而被迫丟棄輸入的數(shù)據(jù)報(bào)文,例如,如果低優(yōu)先級(jí)率先占用存儲(chǔ)器資源,高優(yōu)先級(jí)之后輸入的報(bào)文被丟棄;如果某一端口率先占用存儲(chǔ)器資源,相同優(yōu)先級(jí)的其他端口輸入的報(bào)文就會(huì)被丟棄。上述情況違背了 QoS的原則,致使交換機(jī)芯片的存儲(chǔ)器資源分配不合理。
發(fā)明內(nèi)容
針對(duì)上述技術(shù)問題,本發(fā)明的目的在于提供一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法,通過設(shè)定兩級(jí)資源閾值對(duì)存儲(chǔ)器資源實(shí)行分級(jí)控制,以滿足各種優(yōu)先級(jí)的QoS需求,從而合理有效地分配存儲(chǔ)器資源。相應(yīng)地,本發(fā)明的另一目的在于提供了一種可應(yīng)用上述方法的一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的裝置。其中,一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法,包括以下步驟
51、配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;
52、根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道號(hào);
53、根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值,其中,所述資源計(jì)數(shù)器包括通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器以及總量計(jì)數(shù)器;
54、將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟S3具體包括
531、識(shí)別輸入的數(shù)據(jù)報(bào)文所占用的資源單元數(shù)目;
532、分別將對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器的值加上所述數(shù)據(jù)報(bào)文占用的資源單元數(shù)目。作為本發(fā)明的進(jìn)一步改進(jìn),所述資源計(jì)數(shù)器的維護(hù)通過數(shù)據(jù)報(bào)文輸入邏輯和數(shù)據(jù)報(bào)文讀取邏輯實(shí)現(xiàn)。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟S4具體為
541、將總量計(jì)數(shù)器的值與總閾值進(jìn)行比較,判斷總量計(jì)數(shù)器的值是否大于總閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行步驟S42 ;
542、將輸入端口對(duì)應(yīng)的端口計(jì)數(shù)器的值與端口閾值進(jìn)行比較,判斷端口計(jì)數(shù)器的值是否大于端口閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行步驟S43 ;
543、將輸入數(shù)據(jù)報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器的值與階段閾值進(jìn)行比較,判斷優(yōu)先級(jí)總量計(jì)數(shù)器的值是否大于階段閾值,若是,執(zhí)行步驟S44 ;若否,執(zhí)行步驟S45 ;
544、將通道計(jì)數(shù)器的值與最低通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最低 通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中;
545、將通道計(jì)數(shù)器的值與最高通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最高通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中。作為本發(fā)明的進(jìn)一步改進(jìn),所述階段閾值的數(shù)目與優(yōu)先級(jí)總量計(jì)數(shù)器的數(shù)目相當(dāng),且每個(gè)階段閾值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。相應(yīng)地,一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的裝置,包括以下單元
閾值配置單元用于配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;
通道映射單元用于根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道
號(hào);
存儲(chǔ)量統(tǒng)計(jì)單元用于根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值,其中,所述資源計(jì)數(shù)器包括通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器以及總量計(jì)數(shù)器;
丟棄控制單元用于將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。作為本發(fā)明的進(jìn)一步改進(jìn),所述存儲(chǔ)量統(tǒng)計(jì)單元還用于
識(shí)別輸入的數(shù)據(jù)報(bào)文所占用的資源單元數(shù)目;
分別將對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器的值加上所述數(shù)據(jù)報(bào)文占用的資源單元數(shù)目。作為本發(fā)明的進(jìn)一步改進(jìn),所述資源計(jì)數(shù)器的維護(hù)通過數(shù)據(jù)報(bào)文輸入邏輯和數(shù)據(jù)報(bào)文讀取邏輯實(shí)現(xiàn)。作為本發(fā)明的進(jìn)一步改進(jìn),所述丟棄控制單元具體包括
總閾值比較單元用于將總量計(jì)數(shù)器的值與總閾值進(jìn)行比較,判斷總量計(jì)數(shù)器的值是否大于總閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行端口閾值比較單元;
端口閾值比較單元用于將輸入端口對(duì)應(yīng)的端口計(jì)數(shù)器的值與端口閾值進(jìn)行比較,判斷端口計(jì)數(shù)器的值是否大于端口閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行階段閾值比較單元;
階段閾值比較單元用于將輸入數(shù)據(jù)報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器的值與階段閾值進(jìn)行比較,判斷優(yōu)先級(jí)總量計(jì)數(shù)器的值是否大于階段閾值,若是,執(zhí)行最低通道閾值比較單元;若否,執(zhí)行最高通道閾值比較單元;
最低通道閾值比較單元用于將通道計(jì)數(shù)器的值與最低通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最低通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中;
最高通道閾值比較單元用于將通道計(jì)數(shù)器的值與最高通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最高通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中。作為本發(fā)明的進(jìn)一步改進(jìn),所述階段閾值的數(shù)目與優(yōu)先級(jí)總量計(jì)數(shù)器的數(shù)目相當(dāng),且每個(gè)階段閾值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。相較于現(xiàn)有技術(shù),本發(fā)明的有益效果是本發(fā)明根據(jù)不同端口的流量情況,以及不同優(yōu)先級(jí)對(duì)緩存資源的需求,合理調(diào)控各輸入網(wǎng)絡(luò)端口對(duì)緩存資源的共享。本發(fā)明在保證每個(gè)優(yōu)先級(jí)對(duì)緩存條目的最低利用量的前提下,根據(jù)輸入端口和優(yōu)先級(jí)的數(shù)量充分分配緩存資源,從而大大增加了緩存資源管理的靈活性和資源使用的公平性。
圖1為本發(fā)明一實(shí)施方式中實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法的流程 圖2為本發(fā)明一實(shí)施方式中存儲(chǔ)器資源的通道視 圖3為本發(fā)明一實(shí)施方式中存儲(chǔ)器資源的端口視 圖4為本發(fā)明一實(shí)施方式中存儲(chǔ)器資源的總量視 圖5為本發(fā)明一實(shí)施方式中步驟S3的具體步驟流程 圖6為本發(fā)明一實(shí)施方式中步驟S4的具體步驟流程 圖7為本發(fā)明一實(shí)施方式中實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的裝置的示意圖。
具體實(shí)施例方式以下將結(jié)合附圖所示的各實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施例并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施例所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。本發(fā)明提供了一種為交換機(jī)芯片網(wǎng)絡(luò)入口方向各端口分配和管理共享存儲(chǔ)器的方法與裝置。如圖1所示,在本發(fā)明一實(shí)施方式中,一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法,包括以下步驟
S1、配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;具體地,通過特定的軟件程序?qū)Ω魍ǖ篮透鞫丝谒加玫拇鎯?chǔ)器緩存單元數(shù)量進(jìn)行合理配置,即閾值配置。優(yōu)選地,在本實(shí)施方式,所述特定的軟件程序可通過CPU接口寫入到系統(tǒng)內(nèi)部,所述的CPU接口還可以提供讀取閾值配置數(shù)據(jù)的邏輯。結(jié)合圖2、圖3、圖4所示,圖2是從各通道使用情況角度描述的存儲(chǔ)器資源視圖,簡稱通道視圖;圖3是從一個(gè)端口的8個(gè)通道使用總量的角度描述的存儲(chǔ)器資源視圖,簡稱端口視圖;圖4是從所有通道總共使用量角度描述的存儲(chǔ)器資源視圖,簡稱總量視圖。從通道視圖上看,網(wǎng)絡(luò)中通道可設(shè)置為N個(gè),每個(gè)通道設(shè)有一個(gè)最低閾值和最高閾值。在網(wǎng)絡(luò)入口暢通的時(shí)候,每個(gè)通道都可以使用最高閾值,即當(dāng)該通道占用的緩存單元數(shù)量超過最高閾值時(shí),從該通道輸入的數(shù)據(jù)報(bào)文將被丟棄。從端口視圖上看,每個(gè)端口相應(yīng)設(shè)置8個(gè)通道,比如通道O、通道I···通道7,每個(gè)端口設(shè)有一個(gè)閾值,當(dāng)該端口所有通道占用的緩存單元數(shù)量超過端口閾值時(shí),從該端口輸入的數(shù)據(jù)報(bào)文將被丟棄。從總量視圖上看,整個(gè)存儲(chǔ)資源根據(jù)8個(gè)優(yōu)先級(jí)劃分8個(gè)階段閾值,從優(yōu)先級(jí)O到優(yōu)先級(jí)7相對(duì)應(yīng)設(shè)置8個(gè)階段閾值,當(dāng)在網(wǎng)絡(luò)入口擁塞的時(shí)候,每個(gè)通道根據(jù)其所對(duì)應(yīng)的優(yōu)先級(jí)總共占用存儲(chǔ)單元的數(shù)量(以下稱優(yōu)先級(jí)總量)決定該使用哪個(gè)閾值。如果優(yōu)先級(jí)總量未超過對(duì)應(yīng)的階段閾值,該通道可以使用最高閾值決定輸入報(bào)文的丟棄情況;否則,該通道只能使用最低閾值決定輸入報(bào)文的丟棄情況。本實(shí)施方式中,還設(shè)置一個(gè)總閾值,當(dāng)所有通道占用的存儲(chǔ)單元數(shù)量超過該閾值時(shí),只有關(guān)鍵報(bào)文可以被接受,其它輸入報(bào)文將一律被丟棄。S2、根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道號(hào);優(yōu)選地,可通過外部網(wǎng)絡(luò)輸入一個(gè)數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文包括若干相關(guān)信息。首先,系統(tǒng)會(huì)將網(wǎng)絡(luò)端口根據(jù)數(shù)據(jù)報(bào)文優(yōu)先級(jí)(以8個(gè)優(yōu)先級(jí)為例)映射成若干通道,在此步驟中,當(dāng)輸入一數(shù)據(jù)報(bào)文后,根據(jù)所輸入的數(shù)據(jù)報(bào)文信息將輸入端口號(hào)映射到某一通道號(hào)。S3、根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值,其中,所述資源計(jì)數(shù)器包括通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器以及總量計(jì)數(shù)器;在本實(shí)施方式中,系統(tǒng)通過特定硬件電路對(duì)所每個(gè)通道和端口所占用的緩存單元以及所有通道總共使用的緩存 單元進(jìn)行統(tǒng)計(jì),所述特定硬件電路可為同步計(jì)數(shù)器或者異步計(jì)數(shù)器,通過設(shè)定若干資源計(jì)數(shù)器已完成對(duì)各存儲(chǔ)單元的使用情況進(jìn)行統(tǒng)計(jì)。在本實(shí)施方式中,系統(tǒng)根據(jù)數(shù)據(jù)報(bào)文輸入邏輯和數(shù)據(jù)報(bào)文讀取邏輯維護(hù)資源計(jì)數(shù)器,統(tǒng)計(jì)每個(gè)通道和所有通道總共使用的存儲(chǔ)單元的數(shù)量,稱為通道計(jì)數(shù)器和端口計(jì)數(shù)器。優(yōu)選地,每個(gè)端口維護(hù)8個(gè)通道計(jì)數(shù)器和一個(gè)端口計(jì)數(shù)器,當(dāng)然,在其他實(shí)施方式中,所述通道計(jì)數(shù)器的個(gè)數(shù)可根據(jù)需要相應(yīng)設(shè)置。對(duì)總共存儲(chǔ)單元的使用量維護(hù)一個(gè)資源計(jì)數(shù)器,稱為總量計(jì)數(shù)器。同時(shí)對(duì)每個(gè)優(yōu)先級(jí)總共使用的存儲(chǔ)單元數(shù)量維護(hù)一個(gè)資源計(jì)數(shù)器,稱為優(yōu)先級(jí)總量計(jì)數(shù)器,總共維護(hù)8個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。所述階段閾值的數(shù)目與優(yōu)先級(jí)總量計(jì)數(shù)器的數(shù)目相當(dāng),且每個(gè)階段閾值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。由于本實(shí)施方式設(shè)定的優(yōu)先級(jí)為8個(gè),所述相應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器也為8個(gè)。S4、將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。具體地,通過相應(yīng)的比較邏輯來判斷當(dāng)前輸入該數(shù)據(jù)報(bào)文后各個(gè)資源計(jì)數(shù)器的值是否超出對(duì)應(yīng)的閾值,系統(tǒng)根據(jù)相應(yīng)的比較結(jié)果決定將報(bào)文丟棄或者寫入存儲(chǔ)器中。如圖5所示,所述步驟S3具體包括
S31、識(shí)別輸入的數(shù)據(jù)報(bào)文所占用的資源單元數(shù)目;具體地,根據(jù)所述數(shù)據(jù)報(bào)文的長度來判斷。S32、分別將對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器的值加上所述數(shù)據(jù)報(bào)文占用的資源單元數(shù)目;在本實(shí)施方式中,當(dāng)輸入一個(gè)數(shù)據(jù)報(bào)文時(shí),對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器分別加上該報(bào)文占用的資源單元數(shù)目,來方便后續(xù)步驟中判斷并決定該數(shù)據(jù)報(bào)文的丟棄與否;相應(yīng)地,當(dāng)數(shù)據(jù)報(bào)文讀取邏輯從存儲(chǔ)器讀取一個(gè)數(shù)據(jù)報(bào)文時(shí),從對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器減去該報(bào)文占用的資源單元數(shù)目。如圖6所示,在步驟S3之后,各個(gè)資源計(jì)數(shù)器的值都會(huì)相應(yīng)被修改,利用這些修改后的新值,所述步驟S4具體為
S41、將總量計(jì)數(shù)器的值與總閾值進(jìn)行比較,判斷總量計(jì)數(shù)器的值是否大于總閾值,若是,且所輸入的數(shù)據(jù)報(bào)文也不是關(guān)鍵報(bào)文,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行步驟S42 ;
542、將輸入端口對(duì)應(yīng)的端口計(jì)數(shù)器的值與端口閾值進(jìn)行比較,判斷端口計(jì)數(shù)器的值是否大于端口閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行步驟S43 ;
543、將輸入數(shù)據(jù)報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器的值與階段閾值進(jìn)行比較,判斷優(yōu)先級(jí)總量計(jì)數(shù)器的值是否大于階段閾值,若是,執(zhí)行步驟S44 ;若否,執(zhí)行步驟S45 ;
544、將通道計(jì)數(shù)器的值與最低通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最低通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中;
545、將通道計(jì)數(shù)器的值與最高通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最高通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中。如圖7所示,相應(yīng)地,在本實(shí)施方式中,一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的裝置,包括以下單元
閾值配置單元10 :用于配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;具體地,可通過特定的軟件程序?qū)Ω魍ǖ篮透鞫丝谒加玫拇鎯?chǔ)器緩存單元數(shù)量進(jìn)行合理配置,即閾值配置。優(yōu)選地,在本實(shí)施方式,所述特定的軟件程序可通過CPU接口 80寫入到系統(tǒng)內(nèi)部,所述的CPU接口 80還可以提供讀取閾值配置數(shù)據(jù)的邏輯。結(jié)合圖2、圖3、圖4所示,圖2是從各通道使用情況角度描述的存儲(chǔ)器資源視圖,簡稱通道視圖;圖3是從一個(gè)端口的8個(gè)通道使用總量的角度描述的存儲(chǔ)器資源視圖,簡稱端口視圖;圖4是從所有通道總共使用量角度描述的存儲(chǔ)器資源視圖,簡稱總量視圖。從通道視圖上看,網(wǎng)絡(luò)中通道可設(shè)置為N個(gè),每個(gè)通道設(shè)有一個(gè)最低閾值和最高閾值。在網(wǎng)絡(luò)入口暢通的時(shí)候,每個(gè)通道都可以使用最高閾值,即當(dāng)該通道占用的緩存單元數(shù)量超過最高閾值時(shí),從該通道輸入的數(shù)據(jù)報(bào)文將被丟棄。從端口視圖上看,每個(gè)端口相應(yīng)設(shè)置8個(gè)通道,比如通道O、通道I···通道7,每個(gè)端口設(shè)有一個(gè)閾值,當(dāng)該端口所有通道占用的緩存單元數(shù)量超過端口閾值時(shí),從該端口輸入的數(shù)據(jù)報(bào)文將被丟棄。從總量視圖上看,整個(gè)存儲(chǔ)資源根據(jù)8個(gè)優(yōu)先級(jí)劃分8個(gè)階段閾值,從優(yōu)先級(jí)O到優(yōu)先級(jí)7相對(duì)應(yīng)設(shè)置8個(gè)階段閾值,當(dāng)在網(wǎng)絡(luò)入口擁塞的時(shí)候,每個(gè)通道根據(jù)其所對(duì)應(yīng)的優(yōu)先級(jí)總共占用存儲(chǔ)單元的數(shù)量(以下稱優(yōu)先級(jí)總量)決定該使用哪個(gè)閾值。如果優(yōu)先級(jí)總量未超過對(duì)應(yīng)的階段閾值,該通道可以使用最高閾值決定輸入報(bào)文的丟棄情況;否則,該通道只能使用最低閾值決定輸入報(bào)文的丟棄情況。本實(shí)施方式中,還設(shè)置一個(gè)總閾值,當(dāng)所有通道占用的存儲(chǔ)單元數(shù)量超過該閾值時(shí),只有關(guān)鍵報(bào)文可以被接受,其它輸入報(bào)文將一律被丟棄。通道映射單元20 :用于根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道號(hào);優(yōu)選地,可通過外部網(wǎng)絡(luò)輸入一個(gè)數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文包括若干相關(guān)信息。首先,系統(tǒng)會(huì)將網(wǎng)絡(luò)端口根據(jù)數(shù)據(jù)報(bào)文優(yōu)先級(jí)(以8個(gè)優(yōu)先級(jí)為例)映射成若干通道,在此步驟中,當(dāng)輸入一數(shù)據(jù)報(bào)文后,根據(jù)所輸入的數(shù)據(jù)報(bào)文信息將輸入端口號(hào)映射到某一通道號(hào)。存儲(chǔ)量統(tǒng)計(jì)單元30 :用于根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值,其中,所述資源計(jì)數(shù)器包括通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器以及總量計(jì)數(shù)器;在本實(shí)施方式中,系統(tǒng)通過特定硬件電路對(duì)所每個(gè)通道和端口所占用的緩存單元以及所有通道總共使用的緩存單元進(jìn)行統(tǒng)計(jì),所述特定硬件電路可為同步計(jì)數(shù)器或者異步計(jì)數(shù)器,通過設(shè)定若干資源計(jì)數(shù)器已完成對(duì)各存儲(chǔ)單元的使用情況進(jìn)行統(tǒng)計(jì)。在本實(shí)施方式中,系統(tǒng)根據(jù)數(shù)據(jù)報(bào)文輸入邏輯60和數(shù)據(jù)報(bào)文讀取邏輯70維護(hù)資源計(jì)數(shù)器,統(tǒng)計(jì)每個(gè)通道和所有通道總共使用的存儲(chǔ)單元的數(shù)量,稱為通道計(jì)數(shù)器和端口計(jì)數(shù)器。優(yōu)選地,每個(gè)端口維護(hù)8個(gè)通道計(jì)數(shù)器和一個(gè)端口計(jì)數(shù)器,當(dāng)然,在其他實(shí)施方式中,所述通道計(jì)數(shù)器的個(gè)數(shù)可根據(jù)需要相應(yīng)設(shè)置。對(duì)總共存儲(chǔ)單元的使用量維護(hù)一個(gè)資源計(jì)數(shù)器,稱為總量計(jì)數(shù)器。同時(shí)對(duì)每個(gè)優(yōu)先級(jí)總共使用的存儲(chǔ)單元數(shù)量維護(hù)一個(gè)資源計(jì)數(shù)器,稱為優(yōu)先級(jí)總量計(jì)數(shù)器,總共維護(hù)8個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。所述階段閾值的數(shù)目與優(yōu)先級(jí)總量計(jì)數(shù)器的數(shù)目相當(dāng),且每個(gè)階段閾值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。由于本實(shí)施方式設(shè)定的優(yōu)先級(jí)為8個(gè),所述相應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器也為8個(gè)。丟棄控制單元40 :用于將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。具體地,通過相應(yīng)的比較邏輯來判斷當(dāng)前輸入該數(shù)據(jù)報(bào)文后各個(gè)資源計(jì)數(shù)器的值是否超出對(duì)應(yīng)的閾值,系統(tǒng)根據(jù)相應(yīng)的比較結(jié)果決定將報(bào)文丟棄或者寫入存儲(chǔ)器中。
在本實(shí)施方式中,所述存儲(chǔ)量統(tǒng)計(jì)單元30還用于
識(shí)別輸入的數(shù)據(jù)報(bào)文所占用的資源單元數(shù)目;具體地,根據(jù)所述數(shù)據(jù)報(bào)文的長度來判斷。分別將對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器的值加上所述數(shù)據(jù)報(bào)文占用的資源單元數(shù)目。在本實(shí)施方式中,當(dāng)數(shù)據(jù)報(bào)文輸入處理邏輯60輸入一個(gè)數(shù)據(jù)報(bào)文時(shí),對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器分別加上該報(bào)文占用的資源單元數(shù)目,來方便后續(xù)步驟中判斷并決定該數(shù)據(jù)報(bào)文的丟棄與否;相應(yīng)地,當(dāng)數(shù)據(jù)報(bào)文讀取邏輯70從存儲(chǔ)器讀取一個(gè)數(shù)據(jù)報(bào)文時(shí),從對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器減去該報(bào)文占用的資源單元數(shù)目。所述丟棄控制單元40具體包括
總閾值比較單元用于將總量計(jì)數(shù)器的值與總閾值進(jìn)行比較,判斷總量計(jì)數(shù)器的值是否大于總閾值,若是,且所輸入的數(shù)據(jù)報(bào)文也不是關(guān)鍵報(bào)文,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行端口閾值比較單元;
端口閾值比較單元用于將輸入端口對(duì)應(yīng)的端口計(jì)數(shù)器的值與端口閾值進(jìn)行比較,判斷端口計(jì)數(shù)器的值是否大于端口閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行階段閾值比較單元;
階段閾值比較單元用于將輸入數(shù)據(jù)報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器的值與階段閾值進(jìn)行比較,判斷優(yōu)先級(jí)總量計(jì)數(shù)器的值是否大于階段閾值,若是,執(zhí)行最低通道閾值比較單元;若否,執(zhí)行最高通道閾值比較單元;
最低通道閾值比較單元用于將通道計(jì)數(shù)器的值與最低通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最低通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中;所述存儲(chǔ)器為設(shè)置于系統(tǒng)內(nèi)的一共享存儲(chǔ)器50,其可包括靜態(tài)存儲(chǔ)器或者動(dòng)態(tài)存儲(chǔ)器。最高通道閾值比較單元用于將通道計(jì)數(shù)器的值與最高通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最高通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中。本發(fā)明根據(jù)不同端口的流量情況,以及不同優(yōu)先級(jí)對(duì)緩存資源的需求,合理調(diào)控各輸入網(wǎng)絡(luò)端口對(duì)緩存資源的共享。本發(fā)明在保證每個(gè)優(yōu)先級(jí)對(duì)緩存條目的最低利用量的前提下,根據(jù)輸入端口和優(yōu)先級(jí)的數(shù)量充分分配緩存資源,從而大大增加了緩存資源管理的靈活性和資源使用的公平性。為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施方式或者實(shí)施方式的某些部分所述的方法。以上所描述的裝置實(shí)施方式僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造 性勞動(dòng)的情況下,即可以理解并實(shí)施。本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置、或通訊系統(tǒng)環(huán)境或設(shè)備中。例如個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等,以及交換機(jī)、路由器、包括以上任何設(shè)備的通訊系統(tǒng)環(huán)境等等。本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。上文所列出的一系列的詳細(xì)說明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法,其特征在于,包括以下步驟S1、配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;S2、根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道號(hào);S3、根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值,其中,所述資源計(jì)數(shù)器包括通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器以及總量計(jì)數(shù)器;S4、將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟S3具體包括S31、識(shí)別輸入的數(shù)據(jù)報(bào)文所占用的資源單元數(shù)目;S32、分別將對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器的值加上所述數(shù)據(jù)報(bào)文占用的資源單元數(shù)目。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述資源計(jì)數(shù)器的維護(hù)通過數(shù)據(jù)報(bào)文輸入邏輯和數(shù)據(jù)報(bào)文讀取邏輯實(shí)現(xiàn)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述步驟S4具體為S41、將總量計(jì)數(shù)器的值與總閾值進(jìn)行比較,判斷總量計(jì)數(shù)器的值是否大于總閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行步驟S42 ;S42、將輸入端口對(duì)應(yīng)的端口計(jì)數(shù)器的值與端口閾值進(jìn)行比較,判斷端口計(jì)數(shù)器的值是否大于端口閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行步驟S43 ;S43、將輸入數(shù)據(jù)報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器的值與階段閾值進(jìn)行比較,判斷優(yōu)先級(jí)總量計(jì)數(shù)器的值是否大于階段閾值,若是,執(zhí)行步驟S44 ;若否,執(zhí)行步驟S45 ;S44、將通道計(jì)數(shù)器的值與最低通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最低通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中;S45、將通道計(jì)數(shù)器的值與最高通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最高通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述階段閾值的數(shù)目與優(yōu)先級(jí)總量計(jì)數(shù)器的數(shù)目相當(dāng),且每個(gè)階段閾值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。
6.一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的裝置,其特征在于,包括以下單元閾值配置單元用于配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;通道映射單元用于根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道號(hào);存儲(chǔ)量統(tǒng)計(jì)單元用于根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值,其中,所述資源計(jì)數(shù)器包括通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器以及總量計(jì)數(shù)器;丟棄控制單元用于將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述存儲(chǔ)量統(tǒng)計(jì)單元還用于識(shí)別輸入的數(shù)據(jù)報(bào)文所占用的資源單元數(shù)目;分別將對(duì)應(yīng)通道計(jì)數(shù)器、端口計(jì)數(shù)器、優(yōu)先級(jí)總量計(jì)數(shù)器和總量計(jì)數(shù)器的值加上所述數(shù)據(jù)報(bào)文占用的資源單元數(shù)目。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述資源計(jì)數(shù)器的維護(hù)通過數(shù)據(jù)報(bào)文輸入邏輯和數(shù)據(jù)報(bào)文讀取邏輯實(shí)現(xiàn)。
9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述丟棄控制單元具體包括總閾值比較單元用于將總量計(jì)數(shù)器的值與總閾值進(jìn)行比較,判斷總量計(jì)數(shù)器的值是否大于總閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行端口閾值比較單元;端口閾值比較單元用于將輸入端口對(duì)應(yīng)的端口計(jì)數(shù)器的值與端口閾值進(jìn)行比較,判斷端口計(jì)數(shù)器的值是否大于端口閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,執(zhí)行階段閾值比較單元;階段閾值比較單元用于將輸入數(shù)據(jù)報(bào)文對(duì)應(yīng)的優(yōu)先級(jí)總量計(jì)數(shù)器的值與階段閾值進(jìn)行比較,判斷優(yōu)先級(jí)總量計(jì)數(shù)器的值是否大于階段閾值,若是,執(zhí)行最低通道閾值比較單元;若否,執(zhí)行最高通道閾值比較單元;最低通道閾值比較單元用于將通道計(jì)數(shù)器的值與最低通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最低通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中;最高通道閾值比較單元用于將通道計(jì)數(shù)器的值與最高通道閾值進(jìn)行比較,判斷通道計(jì)數(shù)器的值是否大于最高通道閾值,若是,則丟棄該數(shù)據(jù)報(bào)文;若否,則將該數(shù)據(jù)報(bào)文寫入存儲(chǔ)器中。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述階段閾值的數(shù)目與優(yōu)先級(jí)總量計(jì)數(shù)器的數(shù)目相當(dāng),且每個(gè)階段閾值對(duì)應(yīng)一個(gè)優(yōu)先級(jí)總量計(jì)數(shù)器。
全文摘要
本發(fā)明提供一種實(shí)現(xiàn)網(wǎng)絡(luò)入口資源控制的方法及裝置,其中,該方法包括以下步驟S1.配置各通道的最低閾值和最高閾值、各端口的端口閾值、階段閾值以及總閾值;S2.根據(jù)輸入數(shù)據(jù)報(bào)文的信息,將數(shù)據(jù)報(bào)文的輸入端口號(hào)映射為通道號(hào);S3.根據(jù)所述數(shù)據(jù)報(bào)文的長度,修改對(duì)應(yīng)資源計(jì)數(shù)器的值;S4.將各個(gè)資源計(jì)數(shù)器的值與對(duì)應(yīng)閾值相比較,確定是否丟棄數(shù)據(jù)報(bào)文。本發(fā)明在保證每個(gè)優(yōu)先級(jí)對(duì)緩存條目的最低利用量的前提下,根據(jù)輸入端口和優(yōu)先級(jí)的數(shù)量充分分配緩存資源,從而大大增加了緩存資源管理的靈活性和資源使用的公平性。
文檔編號(hào)H04L12/911GK103023816SQ20111027909
公開日2013年4月3日 申請(qǐng)日期2011年9月20日 優(yōu)先權(quán)日2011年9月20日
發(fā)明者龔源泉, 鄭曉陽 申請(qǐng)人:盛科網(wǎng)絡(luò)(蘇州)有限公司