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

一種報(bào)文調(diào)度方法和調(diào)度裝置的制作方法

文檔序號(hào):7919626閱讀:255來(lái)源:國(guó)知局

專利名稱::一種報(bào)文調(diào)度方法和調(diào)度裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及網(wǎng)絡(luò)通信
技術(shù)領(lǐng)域
,具體地說(shuō),是一種報(bào)文調(diào)度方法和調(diào)度裝置。
背景技術(shù)
:隨著芯片技術(shù)和網(wǎng)絡(luò)處理器的飛速發(fā)展,網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)能力與日俱增,千兆、萬(wàn)兆端口已經(jīng)很常見(jiàn)。相對(duì)來(lái)講,實(shí)現(xiàn)協(xié)議功能的CPU處理能力發(fā)展相對(duì)較慢,芯片和CPU處理能力表現(xiàn)出越來(lái)越明顯的不對(duì)稱性。隨著因特網(wǎng)的高速發(fā)展,當(dāng)前網(wǎng)絡(luò)中需要處理的數(shù)據(jù)越來(lái)越多。當(dāng)協(xié)議報(bào)文流量超過(guò)當(dāng)前CPU的處理能力時(shí)就需要釆取手段對(duì)芯片上送流量進(jìn)行管理和控制,比如對(duì)一些攻擊性質(zhì)的報(bào)文進(jìn)行丟棄和封鎖,對(duì)不很緊急或不很重要的報(bào)文進(jìn)行緩存、延時(shí)處理等。比較常見(jiàn)的流量管理手段是隊(duì)列管理,即對(duì)于擁塞流量先按照一定的規(guī)則分類緩存,然后按照某種算法進(jìn)行調(diào)度處理。隊(duì)列管理中常用技術(shù)是優(yōu)先級(jí)隊(duì)列(PQ,PriorityQueue)或加權(quán)公平隊(duì)列(WRR,WeightedRoundRobin)。PQ的做法是先對(duì)流量分類,然后嚴(yán)格按照分類流量的優(yōu)先級(jí)進(jìn)行調(diào)度,先處理優(yōu)先級(jí)高的再處理優(yōu)先級(jí)低的,其缺陷是如果高優(yōu)先級(jí)流量一直存在那么比它優(yōu)先級(jí)低的流量就一直得不到調(diào)度。而WRR調(diào)度則是既在整體上保證流量的優(yōu)先級(jí),又能讓每一個(gè)隊(duì)列都有機(jī)會(huì)得到調(diào)度?,F(xiàn)有的WRR報(bào)文調(diào)度方法主要有兩種一種是嚴(yán)格的按照隊(duì)列權(quán)重進(jìn)行逐個(gè)調(diào)度;另一種是基于時(shí)間片的概念,輪循過(guò)程中有權(quán)重就調(diào)度一次,沒(méi)有就跳過(guò)。第一種方法的缺點(diǎn)是,權(quán)重低的隊(duì)列優(yōu)先級(jí)被提高,而權(quán)重高的隊(duì)列優(yōu)先級(jí)被降低,對(duì)于每個(gè)隊(duì)列流量是突發(fā)的,而且隊(duì)列權(quán)重越大突發(fā)越嚴(yán)重,很容易造成系統(tǒng)的不穩(wěn)定。第二種方法對(duì)流量突發(fā)進(jìn)行了改善,但是當(dāng)權(quán)重較小的隊(duì)列權(quán)重用完后在調(diào)度周期的末端突發(fā)現(xiàn)象仍然很嚴(yán)重。因此,現(xiàn)有的WRR報(bào)文調(diào)度方法容易造成處理過(guò)程中流量不均勻,發(fā)生數(shù)據(jù)突發(fā),數(shù)據(jù)抖動(dòng)較大,系統(tǒng)開(kāi)銷較高。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問(wèn)題是提供一種報(bào)文調(diào)度方法和調(diào)度裝置,可以均勻地處理流量,降低數(shù)據(jù)突發(fā)、減小數(shù)據(jù)抖動(dòng)、減少系統(tǒng)開(kāi)銷。為了解決上述問(wèn)題,本發(fā)明提供了一種報(bào)文調(diào)度裝置,包括隊(duì)列權(quán)重模塊、調(diào)度計(jì)算模塊和調(diào)度器模塊,其中所述隊(duì)列權(quán)重模塊,用于記錄當(dāng)前所有隊(duì)列的權(quán)重,并將記錄的權(quán)重提供給所述調(diào)度計(jì)算模塊;所述調(diào)度計(jì)算模塊,用于在裝置初始化時(shí)或隊(duì)列權(quán)重被修改時(shí)根據(jù)所述隊(duì)列權(quán)重模塊提供的隊(duì)列權(quán)重,對(duì)所述列的調(diào)度順序進(jìn)行計(jì)算,得到隊(duì)列的先后調(diào)度順序,并將計(jì)算結(jié)果提供給所述調(diào)度器^t塊使用;所述調(diào)度器模塊,用于根據(jù)所述調(diào)度計(jì)算模塊計(jì)算得到的調(diào)度結(jié)果對(duì)隊(duì)列進(jìn)行調(diào)度,將數(shù)據(jù)發(fā)送到CPU進(jìn)行處理。進(jìn)一步地,還包括調(diào)度存儲(chǔ)^t塊,用于存儲(chǔ)所述調(diào)度計(jì)算模塊計(jì)算得到的隊(duì)列的先后調(diào)度順序;所述調(diào)度器模塊根據(jù)所述調(diào)度存儲(chǔ)模塊中存儲(chǔ)的隊(duì)列的先后調(diào)度順序,對(duì)隊(duì)列進(jìn)行調(diào)度處理。進(jìn)一步地,所述隊(duì)列權(quán)重模塊包括一配置接口,用于對(duì)隊(duì)列的權(quán)重進(jìn)行配置。進(jìn)一步地,所述調(diào)度計(jì)算模塊對(duì)所述列的調(diào)度順序進(jìn)行計(jì)算的過(guò)程為在所有隊(duì)列中找出權(quán)重最大的隊(duì)列;計(jì)算每個(gè)隊(duì)列的權(quán)重調(diào)度因子,初始化每個(gè)隊(duì)列的調(diào)度次數(shù)為0;隊(duì)列的權(quán)重調(diào)度因子由權(quán)重最大的隊(duì)列的權(quán)重除于本隊(duì)列的權(quán)重取整得到;調(diào)度權(quán)重最大的隊(duì)列,確定下一個(gè)隊(duì)列,然后判斷該隊(duì)列的權(quán)重是否為零,如果不是,將該隊(duì)列的調(diào)度次數(shù)加1,然后判斷該隊(duì)列的調(diào)度次數(shù)是否大于等于該隊(duì)列的權(quán)重調(diào)度因子,如果是,調(diào)度該隊(duì)列,并將該隊(duì)列的權(quán)重減1,同時(shí)將該隊(duì)列的調(diào)度次數(shù)計(jì)數(shù)清零;如果該對(duì)隊(duì)列的權(quán)重為0或者該隊(duì)列的調(diào)度次數(shù)小于其權(quán)重調(diào)度因子,則確定該隊(duì)列的下一個(gè)隊(duì)列進(jìn)行處理,直到所有隊(duì)列的權(quán)重為O,調(diào)度順序確定完畢。本發(fā)明還提供了一種報(bào)文調(diào)度方法,包括確定各隊(duì)列的權(quán)重,在所有隊(duì)列中找出權(quán)重最大的隊(duì)列;計(jì)算每個(gè)隊(duì)列的權(quán)重調(diào)度因子,初始化每個(gè)隊(duì)列的調(diào)度次數(shù)為0;隊(duì)列的權(quán)重調(diào)度因子由權(quán)重最大的隊(duì)列的權(quán)重除于本隊(duì)列的權(quán)重取整得到;調(diào)度權(quán)重最大的隊(duì)列,確定下一個(gè)隊(duì)列,然后判斷該隊(duì)列的權(quán)重是否為零,如果不是,將該隊(duì)列的調(diào)度次數(shù)加1,然后判斷該隊(duì)列的調(diào)度次數(shù)是否大于等于該隊(duì)列的權(quán)重調(diào)度因子,如果是,調(diào)度該隊(duì)列,并將該隊(duì)列的權(quán)重減1,同時(shí)將該隊(duì)列的調(diào)度次數(shù)計(jì)數(shù)清零;如果該對(duì)隊(duì)列的權(quán)重為0或者該隊(duì)列的調(diào)度次數(shù)小于其權(quán)重調(diào)度因子,則確定該隊(duì)列的下一個(gè)隊(duì)列進(jìn)行處理,直到所有隊(duì)列的權(quán)重為0,調(diào)度完畢。進(jìn)一步地,將調(diào)度的隊(duì)列按調(diào)度的順序存儲(chǔ)在一調(diào)度存儲(chǔ)模塊中,在上送流量需要調(diào)度時(shí),從所述調(diào)度存儲(chǔ)模塊中按順序讀取隊(duì)列進(jìn)行調(diào)度。進(jìn)一步地,確定各隊(duì)列的權(quán)重后,還包括確定所述調(diào)度存儲(chǔ);漠塊大小的步驟,所述調(diào)度存儲(chǔ)才莫塊的大小等于所有隊(duì)列的權(quán)重之和。進(jìn)一步地,還包括在當(dāng)前配置的隊(duì)列權(quán)重不是當(dāng)前網(wǎng)絡(luò)的最優(yōu)參數(shù)時(shí),修改所述隊(duì)列的權(quán)重;所述隊(duì)列的權(quán)重修改完成后,重新執(zhí)行所述確定各隊(duì)列的權(quán)重至所迷隊(duì)列調(diào)度完畢的步驟。本發(fā)明的報(bào)文調(diào)度方法和調(diào)度裝置,所采用的算法是一種基于比例公平的WRR算法,既保留了各隊(duì)列的優(yōu)先級(jí),又使隊(duì)列調(diào)度按照一定比例均勻調(diào)度??梢詫?shí)現(xiàn)均勻地處理流量,降低數(shù)據(jù)突發(fā)、減小數(shù)據(jù)抖動(dòng)、減少系統(tǒng)開(kāi)銷。圖1是WRR報(bào)文調(diào)度的應(yīng)用場(chǎng)景示意圖;圖2是本發(fā)明的報(bào)文調(diào)度裝置的示意圖3是本發(fā)明的"fe文調(diào)度方法的流程;圖4是本發(fā)明的報(bào)文調(diào)度裝置的權(quán)重修改的工作流程。具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,以使本領(lǐng)域的技術(shù)人員可以更好的理解本發(fā)明并能予以實(shí)施,但所舉實(shí)施例不作為對(duì)本發(fā)明的限定。如圖1所示,是WRR報(bào)文調(diào)度的應(yīng)用場(chǎng)景示意圖。將芯片上送流量按照一定的規(guī)則分類成n個(gè)隊(duì)列,每個(gè)隊(duì)均分配有權(quán)重,然后由WRR調(diào)度器根據(jù)隊(duì)列的權(quán)重利用相應(yīng)的WRR算法對(duì)隊(duì)列進(jìn)行調(diào)度,送往CPU進(jìn)行處理。一個(gè)好的WRR算法應(yīng)能使流量非常均勻的被處理掉,延時(shí)和抖動(dòng)性都比較小,同時(shí)調(diào)度的速度也要非常快。如圖2所示,本發(fā)明的WRR報(bào)文調(diào)度裝置包括隊(duì)列權(quán)重模塊1,用來(lái)記錄當(dāng)前所有隊(duì)列的權(quán)重,并將隊(duì)列的權(quán)重提供給調(diào)度計(jì)算模塊2。每個(gè)隊(duì)列都有初始的隊(duì)列權(quán)重,隊(duì)列的權(quán)重值可以使用默認(rèn)值也可以動(dòng)態(tài)修改??梢栽陉?duì)列權(quán)重才莫塊1上設(shè)置一對(duì)外的配置接口,如果默認(rèn)配置不是當(dāng)前網(wǎng)絡(luò)的最優(yōu)參數(shù),可以通過(guò)該接口修改隊(duì)列權(quán)重。為了處理方便,隊(duì)列權(quán)重才莫塊1可以備份一份權(quán)重信息。調(diào)度計(jì)算模塊2,用于接收隊(duì)列權(quán)重模塊1記錄的各隊(duì)列的權(quán)重,根據(jù)WRR調(diào)度算法對(duì)隊(duì)列進(jìn)行調(diào)度,計(jì)算出隊(duì)列的先后調(diào)度順序并順序?qū)懭胝{(diào)度存儲(chǔ)模塊3。調(diào)度計(jì)算模塊2在調(diào)度裝置初始化時(shí)或者隊(duì)列權(quán)重模塊1中的隊(duì)權(quán)重值被修改時(shí)執(zhí)行隊(duì)列的調(diào)度運(yùn)算。調(diào)度存儲(chǔ)沖莫塊3:用來(lái)保存隊(duì)列在一個(gè)完整的調(diào)度周期中先后調(diào)度順序。因?yàn)殛?duì)列是按照WRR算法進(jìn)行存放的,所以按照存放的先后順序?qū)﹃?duì)列調(diào)度也實(shí)現(xiàn)了WRR調(diào)度算法。調(diào)度器模塊4:該模塊作用是當(dāng)上送流量需要調(diào)度時(shí)根據(jù)調(diào)度存儲(chǔ)模塊3里隊(duì)列的先后調(diào)度順序?qū)ε抨?duì)的報(bào)文進(jìn)行調(diào)度。其中,調(diào)度存儲(chǔ)模塊3是為了重復(fù)使用調(diào)度結(jié)果時(shí)方便而設(shè)置的。有了調(diào)度存儲(chǔ)模塊3,在數(shù)據(jù)層面調(diào)度器模塊只要按照調(diào)度存儲(chǔ)模塊隊(duì)列的先后存放順序?qū)ε抨?duì)報(bào)文進(jìn)行調(diào)度就可實(shí)現(xiàn)WRR報(bào)文調(diào)度。實(shí)現(xiàn)了一次調(diào)度計(jì)算,調(diào)度結(jié)果重復(fù)使用。因此,不設(shè)調(diào)度存儲(chǔ)模塊3也可以實(shí)現(xiàn)本發(fā)明,此時(shí),需要由調(diào)度計(jì)算模塊2將計(jì)算得到的調(diào)度結(jié)果直接提供給調(diào)度器模塊4使用。如圖3所示,為本發(fā)明的報(bào)文調(diào)度方法的流程。包括步驟301:確定調(diào)度存儲(chǔ)模塊的大小,即調(diào)度存儲(chǔ)模塊需要存放的隊(duì)列個(gè)數(shù)Qsum,Qsum為所有隊(duì)列的權(quán)重之和;步驟302:在所有隊(duì)列權(quán)重中找到權(quán)重最大的隊(duì)列Qmax及其權(quán)重Wmax;第一次調(diào)度從權(quán)重最大的隊(duì)列開(kāi)始,當(dāng)所有隊(duì)列權(quán)重減為0時(shí)調(diào)度周期完成。步驟303:計(jì)算每個(gè)隊(duì)列的權(quán)重調(diào)度因子,隊(duì)列i的調(diào)度因子Dd[i]為Wrnax除以該隊(duì)列的權(quán)重后取整;初始化每個(gè)隊(duì)列的調(diào)度次數(shù)SchCntw,初始化值為0;步驟304:隊(duì)列調(diào)度從權(quán)重最大的隊(duì)列開(kāi)始,將該隊(duì)列寫(xiě)入調(diào)度存儲(chǔ)模塊,將該隊(duì)列的權(quán)重減l,同時(shí)將該隊(duì)列的調(diào)度次數(shù)計(jì)數(shù)清零;步驟305:確定下一個(gè)隊(duì)列;隊(duì)列計(jì)算是按隊(duì)列順序進(jìn)行的,從權(quán)重最大的隊(duì)列開(kāi)始,下一個(gè)隊(duì)列為本隊(duì)列(即剛完成計(jì)算的一個(gè)隊(duì)列)的后面的一個(gè)隊(duì)列;如果本隊(duì)列位于隊(duì)列尾部,下一個(gè)隊(duì)列為隊(duì)首的隊(duì)列。步驟306:計(jì)算隊(duì)列是否需要調(diào)度先將該隊(duì)列的調(diào)度次數(shù)SchCntw加1,如果該隊(duì)列的調(diào)度次ltSchCnt[u大于等于該隊(duì)列的權(quán)重調(diào)度因子Delw,則該隊(duì)列需要調(diào)度,將隊(duì)列權(quán)重減1,同時(shí)將該隊(duì)列的調(diào)度次數(shù)SchCn化計(jì)數(shù)清零,進(jìn)行步驟307;該隊(duì)列的調(diào)度次數(shù)SchCn化小于該隊(duì)列的權(quán)重調(diào)度因子Delw,則該隊(duì)列不需要調(diào)度,轉(zhuǎn)到步驟305;步驟307:將該需要調(diào)度的隊(duì)列寫(xiě)入調(diào)度存儲(chǔ)^^莫塊;步驟308:查看所有隊(duì)列權(quán)重是否均為0,如果不是,轉(zhuǎn)到步驟305;如果是,調(diào)度計(jì)算過(guò)程結(jié)束。調(diào)度計(jì)算完成后,調(diào)度器模塊就可以按照調(diào)度存儲(chǔ)模塊中存儲(chǔ)的隊(duì)列順序進(jìn)行調(diào)度,將相應(yīng)隊(duì)列數(shù)據(jù)發(fā)送到CPU進(jìn)行處理。當(dāng)報(bào)文數(shù)量接近或超過(guò)CPU處理能力時(shí),CPU負(fù)擔(dān)相對(duì)較大,這時(shí)即使調(diào)度算法很優(yōu)秀,每個(gè)報(bào)文到達(dá)后CPU都要根據(jù)權(quán)重配置等計(jì)算下一個(gè)調(diào)度的隊(duì)列,直到該報(bào)文調(diào)度。頻繁而且重復(fù)的調(diào)度算法和存儲(chǔ)設(shè)備訪問(wèn)一定程度上也加重了系統(tǒng)負(fù)擔(dān)。實(shí)際上一旦各個(gè)隊(duì)列權(quán)重確定,隊(duì)列的調(diào)度就會(huì)按照一個(gè)固定調(diào)度周期循環(huán)調(diào)度,本發(fā)明即在控制層面把這個(gè)調(diào)度周期內(nèi)各個(gè)隊(duì)列調(diào)度的先后順序計(jì)算出來(lái)并進(jìn)行緩存,在轉(zhuǎn)發(fā)層面就不需要重復(fù)進(jìn)行計(jì)算,直接去緩存里讀取即可,在一定程度上減輕了系統(tǒng)負(fù)擔(dān)。當(dāng)然,也可以不經(jīng)過(guò)存儲(chǔ)的步驟,而是由調(diào)度計(jì)算模塊2將計(jì)算得到的調(diào)度結(jié)果直接提供給調(diào)度器模塊4使用。如果權(quán)重在運(yùn)行過(guò)程中修改了,需要重新用WRR算法來(lái)刷新緩存。如圖4所示,為WRR報(bào)文調(diào)度裝置的權(quán)重修改的工作流程,包括步驟401:修改各隊(duì)列的權(quán)重,刷新隊(duì)列權(quán)重模塊中記錄的各隊(duì)列權(quán)重信息,包括備份權(quán)重信息;隊(duì)列權(quán)重修改后調(diào)度順序會(huì)發(fā)生變化,此時(shí)需要重新計(jì)算各隊(duì)列的調(diào)度次序。步驟402:確定各隊(duì)列的權(quán)重,權(quán)重從備份的權(quán)重信息中獲取。步驟403:調(diào)度計(jì)算模塊讀取隊(duì)列權(quán)重模塊的隊(duì)列權(quán)重,根據(jù)本發(fā)明的WRR算法計(jì)算出各隊(duì)列的先后調(diào)度次序,同時(shí)把結(jié)果寫(xiě)入調(diào)度存儲(chǔ)模塊;在調(diào)度裝置初始化和隊(duì)列權(quán)重被修改時(shí)隊(duì)列的調(diào)度存儲(chǔ)模塊信息都需要重新計(jì)算。步驟404:調(diào)度存儲(chǔ)模塊修改完畢,當(dāng)需要對(duì)數(shù)據(jù)隊(duì)列調(diào)度時(shí),調(diào)度器才莫塊從調(diào)度存儲(chǔ)才莫塊中獲取隊(duì)列進(jìn)行調(diào)度。下面通過(guò)應(yīng)用實(shí)施例來(lái)對(duì)比現(xiàn)有技術(shù)說(shuō)明本發(fā)明的效果。布支設(shè)一組隊(duì)列及其權(quán)重如下:<table>tableseeoriginaldocumentpage10</column></row><table>利用現(xiàn)有技術(shù)中第一種方法(即嚴(yán)格的按照隊(duì)列權(quán)重進(jìn)行逐個(gè)調(diào)度,下稱方法1)得到的調(diào)度方式為QlQ2Q2Q3Q3Q3Q4Q4Q4Q4Q5Q5Q5Q5Q5??梢?jiàn),這種方式Ql的優(yōu)先級(jí)被提升,Q5的優(yōu)先級(jí)被降低;對(duì)于每個(gè)隊(duì)列流量是突發(fā)的,而且隊(duì)列權(quán)重越大突發(fā)越嚴(yán)重,很容易造成系統(tǒng)的不穩(wěn)定。利用現(xiàn)有技術(shù)中第二種方法(即基于時(shí)間片的概念,輪循過(guò)程中有權(quán)重就調(diào)度一次,沒(méi)有就跳過(guò),下稱方法2)得到的調(diào)度方式為Q1Q2Q3Q4Q5Q2Q3Q4Q5Q3Q4Q5Q4Q5Q5。這種算法對(duì)流量突發(fā)進(jìn)行了改善,但是可以看出,當(dāng)權(quán)重較小的隊(duì)列權(quán)重用完后在調(diào)度周期的末端突發(fā)現(xiàn)象仍然很嚴(yán)重。利用本發(fā)明的調(diào)度方法得到的調(diào)度方式為Q5Q4Q5Q3Q4Q5Q2Q4Q5Q3Q4Q5Q1Q2Q3??梢?jiàn)本發(fā)明的調(diào)度方法是一種基于比例公平的WRR算法,既保留了各隊(duì)列的優(yōu)先級(jí)又使隊(duì)列調(diào)度按照一定比例均勻調(diào)度。'從調(diào)度周期對(duì)隊(duì)列調(diào)度間隔(連續(xù)2次調(diào)度隔了幾個(gè)隊(duì)列)<table>tableseeoriginaldocumentpage10</column></row><table>可以看出,本發(fā)明的調(diào)度方法對(duì)于每個(gè)調(diào)度隊(duì)列調(diào)度最大間隔除隊(duì)列1沒(méi)變,其他隊(duì)列都比算法1和2要小。并且,本發(fā)明的調(diào)度方法的最小調(diào)度間隔沒(méi)有出現(xiàn)O的情況,即沒(méi)有出現(xiàn)連續(xù)調(diào)度,這對(duì)減少流量突發(fā),提升系統(tǒng)穩(wěn)定性有4艮大幫助。以上所述實(shí)施例僅是為充分說(shuō)明本發(fā)明而所舉的較佳的實(shí)施例,本發(fā)明的保護(hù)范圍不限于此。本
技術(shù)領(lǐng)域
的技術(shù)人員在本發(fā)明基礎(chǔ)上所作的等同替代或變換,均在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的保護(hù)范圍以權(quán)利要求書(shū)為準(zhǔn)。權(quán)利要求1.一種報(bào)文調(diào)度裝置,其特征在于,包括隊(duì)列權(quán)重模塊、調(diào)度計(jì)算模塊和調(diào)度器模塊,其中:所述隊(duì)列權(quán)重模塊,用于記錄當(dāng)前所有隊(duì)列的權(quán)重,并將記錄的權(quán)重提供給所述調(diào)度計(jì)算模塊;所述調(diào)度計(jì)算模塊,用于在裝置初始化時(shí)或隊(duì)列權(quán)重被修改時(shí)根據(jù)所述隊(duì)列權(quán)重模塊提供的隊(duì)列權(quán)重,對(duì)所述列的調(diào)度順序進(jìn)行計(jì)算,得到隊(duì)列的先后調(diào)度順序,并將計(jì)算結(jié)果提供給所述調(diào)度器模塊使用;所述調(diào)度器模塊,用于根據(jù)所述調(diào)度計(jì)算模塊計(jì)算得到的調(diào)度結(jié)果對(duì)隊(duì)列進(jìn)行調(diào)度,將數(shù)據(jù)發(fā)送到CPU進(jìn)行處理。2、如權(quán)利要求l所述的裝置,其特征在于,還包括調(diào)度存儲(chǔ)模塊,用于存儲(chǔ)所述調(diào)度計(jì)算模塊計(jì)算得到的隊(duì)列的先后調(diào)度順序;所述調(diào)度器模塊根據(jù)所述調(diào)度存儲(chǔ)才莫塊中存儲(chǔ)的隊(duì)列的先后調(diào)度順序,對(duì)隊(duì)列進(jìn)行調(diào)度處理。3、如權(quán)利要求1所述的裝置,其特征在于,所述隊(duì)列權(quán)重模塊包括一配置接口,用于對(duì)隊(duì)列的權(quán)重進(jìn)行配置。4、如權(quán)利要求l所述的裝置,其特征在于,所述調(diào)度計(jì)算才莫塊對(duì)所述列的調(diào)度順序進(jìn)行計(jì)算的過(guò)程為在所有隊(duì)列中找出權(quán)重最大的隊(duì)列;計(jì)算每個(gè)隊(duì)列的權(quán)重調(diào)度因子,初始化每個(gè)隊(duì)列的調(diào)度次數(shù)為0;隊(duì)列的權(quán)重調(diào)度因子由權(quán)重最大的隊(duì)列的權(quán)重除于本隊(duì)列的權(quán)重取整得到;調(diào)度權(quán)重最大的隊(duì)列,確定下一個(gè)隊(duì)列,然后判斷該隊(duì)列的權(quán)重是否為零,如果不是,將該隊(duì)列的調(diào)度次數(shù)加1,然后判斷該隊(duì)列的調(diào)度次數(shù)是否大于等于該隊(duì)列的權(quán)重調(diào)度因子,如果是,調(diào)度該隊(duì)列,并將該隊(duì)列的權(quán)重減1,同時(shí)將該隊(duì)列的調(diào)度次數(shù)計(jì)數(shù)清零;如果該對(duì)隊(duì)列的權(quán)重為0或者該隊(duì)列的調(diào)度次數(shù)小于其權(quán)重調(diào)度因子,則確定該隊(duì)列的下一個(gè)隊(duì)列進(jìn)行處理,直到所有隊(duì)列的權(quán)重為O,調(diào)度順序確定完畢。5、一種^艮文調(diào)度方法,其特征在于,包括確定各隊(duì)列的權(quán)重,在所有隊(duì)列中找出權(quán)重最大的隊(duì)列;計(jì)算每個(gè)隊(duì)列的權(quán)重調(diào)度因子,初始化每個(gè)隊(duì)列的調(diào)度次數(shù)為0;隊(duì)列的權(quán)重調(diào)度因子由權(quán)重最大的隊(duì)列的權(quán)重除于本隊(duì)列的權(quán)重取整得到;調(diào)度權(quán)重最大的隊(duì)列,確定下一個(gè)隊(duì)列,然后判斷該隊(duì)列的權(quán)重是否為零,如果不是,將該隊(duì)列的調(diào)度次數(shù)加1,然后判斷該隊(duì)列的調(diào)度次數(shù)是否大于等于該隊(duì)列的權(quán)重調(diào)度因子,如果是,調(diào)度該隊(duì)列,并將該隊(duì)列的權(quán)重減1,同時(shí)將該隊(duì)列的調(diào)度次數(shù)計(jì)數(shù)清零;如果該對(duì)隊(duì)列的權(quán)重為0或者該隊(duì)列的調(diào)度次數(shù)小于其權(quán)重調(diào)度因子,則確定該隊(duì)列的下一個(gè)隊(duì)列進(jìn)行處理,直到所有隊(duì)列的權(quán)重為0,調(diào)度完畢。6、如權(quán)利要求4所述的方法,其特征在于,將調(diào)度的隊(duì)列按調(diào)度的順序存儲(chǔ)在一調(diào)度存儲(chǔ)模塊中,在上送流量需要調(diào)度時(shí),從所述調(diào)度存儲(chǔ)模塊中按順序讀取隊(duì)列進(jìn)行調(diào)度。7、如權(quán)利要求5所述的方法,其特征在于,確定各隊(duì)列的權(quán)重后,還包括確定所述調(diào)度存儲(chǔ)4莫塊大小的步驟,所述調(diào)度存儲(chǔ)才莫塊的大小等于所有隊(duì)列的4又重之和。8、如權(quán)利要求4所述的方法,其特征在于,還包括在當(dāng)前配置的隊(duì)列權(quán)重不是當(dāng)前網(wǎng)絡(luò)的最優(yōu)參數(shù)時(shí),修改所述隊(duì)列的權(quán)重;所述隊(duì)列的權(quán)重修改完成后,重新執(zhí)行所述確定各隊(duì)列的權(quán)重至所述隊(duì)列調(diào)度完畢的步驟。全文摘要本發(fā)明公開(kāi)了一種報(bào)文調(diào)度方法和調(diào)度裝置。本發(fā)明利用隊(duì)列的權(quán)重計(jì)算出隊(duì)列的調(diào)度因子,然后根據(jù)隊(duì)列的權(quán)重及權(quán)重調(diào)度因子對(duì)隊(duì)列進(jìn)行計(jì)算調(diào)度。本發(fā)明的報(bào)文調(diào)度方法和調(diào)度裝置,所采用的算法是一種基于比例公平的WRR算法,既保留了各隊(duì)列的優(yōu)先級(jí),又使隊(duì)列調(diào)度按照一定比例均勻調(diào)度??梢詫?shí)現(xiàn)均勻地處理流量,降低數(shù)據(jù)突發(fā)、減小數(shù)據(jù)抖動(dòng)、減少系統(tǒng)開(kāi)銷。文檔編號(hào)H04L12/56GK101374109SQ20081016183公開(kāi)日2009年2月25日申請(qǐng)日期2008年10月7日優(yōu)先權(quán)日2008年10月7日發(fā)明者周忠良申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1