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

隊(duì)列調(diào)度方法及裝置的制作方法

文檔序號:7968444閱讀:254來源:國知局
專利名稱:隊(duì)列調(diào)度方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其涉及一種對多個(gè)隊(duì)列進(jìn)行調(diào)度的方法及裝置。
背景技術(shù)
目前,隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和多媒體技術(shù)應(yīng)用的日益深入和普及,對網(wǎng)絡(luò)的服務(wù)質(zhì)量(Qos)性能提出了更高、更差異化的需求。網(wǎng)絡(luò)的Qos實(shí)現(xiàn)包括大量的理論和實(shí)踐,本發(fā)明僅涉及Qos隊(duì)列調(diào)度機(jī)制。
隊(duì)列調(diào)度機(jī)制對Qos保證至為重要,其主要目的是為每個(gè)業(yè)務(wù)流提供一定的服務(wù)質(zhì)量保證,比如,帶寬、時(shí)延及時(shí)延抖動(dòng)、丟包率等。簡言之,隊(duì)列調(diào)度的功能就是網(wǎng)絡(luò)中繼節(jié)點(diǎn)或路由器如何從一個(gè)或多個(gè)隊(duì)列中選擇下一個(gè)待轉(zhuǎn)發(fā)的分組。
一個(gè)有效的隊(duì)列調(diào)度機(jī)制取決于它采用的調(diào)度方法,衡量隊(duì)列調(diào)度方法的性能指標(biāo)主要有公平度、時(shí)延特性、對惡意流的隔離能力、鏈路帶寬利用率、復(fù)雜度等等。目前常見的隊(duì)列調(diào)度算法有RR調(diào)度(Round Robin)、加權(quán)輪循調(diào)度(WRR)、加權(quán)公平調(diào)度(WFQ)以及改進(jìn)的差額循環(huán)(MDRR)等。
以下僅介紹與本發(fā)明所提供隊(duì)列調(diào)度方法最接近的MDRR調(diào)度方法。
圖1所示為MDRR調(diào)度方法實(shí)現(xiàn)框圖。它的處理過程包括對多個(gè)隊(duì)列的隊(duì)列狀態(tài)映射表進(jìn)行周期性掃描,查找有數(shù)據(jù)的隊(duì)列,其中所述隊(duì)列狀態(tài)映射表的每個(gè)bit表示對應(yīng)的隊(duì)列是否有數(shù)據(jù);同時(shí)對這些隊(duì)列所屬的Qos用戶的調(diào)度令牌進(jìn)行計(jì)算;如果隊(duì)列有數(shù)據(jù),且該隊(duì)列所屬Q(mào)os用戶的調(diào)度令牌夠用,則把請求矩陣中該隊(duì)列對應(yīng)bit位設(shè)為有效,否則,設(shè)置為無效;輪循模塊按照round robin的周期輪循模式對請求矩陣進(jìn)行輪循,發(fā)現(xiàn)有效請求后,就寫入調(diào)度請求隊(duì)列中,執(zhí)行調(diào)度;其中所述請求矩陣的大小與用戶數(shù)量直接相關(guān),因?yàn)槊總€(gè)用戶可能對應(yīng)多個(gè)隊(duì)列。調(diào)度完成后,Qos信息管理模塊根據(jù)反饋回來的隊(duì)列實(shí)際調(diào)度長度維護(hù)發(fā)生調(diào)度用戶的令牌數(shù)目。
此外,在實(shí)際應(yīng)用中,無論采用何種調(diào)度方法,都還會(huì)遇到一個(gè)問題反壓。在對進(jìn)行多個(gè)隊(duì)列的調(diào)度時(shí),一定要對每個(gè)隊(duì)列配置預(yù)約的帶寬,比如,甲隊(duì)列是10Mbps的帶寬,乙隊(duì)列是1Gbps的帶寬,丙隊(duì)列是200Mbps的帶寬等等,那么當(dāng)所有隊(duì)列的預(yù)約帶寬之和大于最終出口帶寬,并且實(shí)際數(shù)據(jù)的總流量大于出口的總流量時(shí),就會(huì)產(chǎn)生反壓問題;其中,出口總流量是受限于實(shí)際的物理出口,無法通過軟件方法改變,所以要解決反壓問題就必須對調(diào)度算法進(jìn)行一定的改進(jìn),對實(shí)際數(shù)據(jù)流量進(jìn)行控制。
采用所述MDRR調(diào)度方法,在遇到反壓現(xiàn)象時(shí),圖1所示調(diào)度請求隊(duì)列中的數(shù)據(jù)就會(huì)產(chǎn)生累積,此時(shí),MDRR處理反壓問題的方法很簡單,就是停止對請求矩陣進(jìn)行輪循,這樣就不會(huì)在調(diào)度請求隊(duì)列中產(chǎn)生新的調(diào)度請求,直到調(diào)度請求隊(duì)列中的數(shù)據(jù)達(dá)到了一個(gè)下水線,即反壓解除后,才重新開始輪循。
現(xiàn)有技術(shù)的不足之處主要包括第一,因?yàn)镸DRR是采用輪循的方式,進(jìn)行隊(duì)列調(diào)度,那么當(dāng)用戶數(shù)量和隊(duì)列數(shù)量很多的時(shí)候,比如,256K用戶或者甚至1M用戶,輪循的一周的時(shí)間就會(huì)很長,對于同一個(gè)用戶,兩次對它進(jìn)行調(diào)度的時(shí)間間隔最小也是一次輪循周期的時(shí)間,其中所述輪循周期,決定了最終端口的包速率,周期越長包速率越低。因此,對于既要求很高數(shù)據(jù)調(diào)度速率,同時(shí)用戶數(shù)量很大的情況下,MDRR方法無能為力;第二,雖然MDRR通過對調(diào)度令牌的計(jì)算,可以保證長時(shí)間內(nèi),用戶帶寬是保證的,但是由于MDRR是基于輪循的調(diào)度機(jī)制,因此,在短時(shí)間內(nèi)的帶寬會(huì)出現(xiàn)的比較大的波動(dòng),具體反映就是報(bào)文的抖動(dòng)(jitter)比較大,會(huì)出現(xiàn)有時(shí)調(diào)度的報(bào)文很密集,有時(shí)調(diào)度的報(bào)文比較稀疏,無法做到均勻,而且這種缺陷隨著用戶數(shù)目的增加會(huì)更加嚴(yán)重;第三,從圖1可知,因?yàn)椴捎幂喲瓩C(jī)制,所以無論用戶有沒有數(shù)據(jù),MDRR都會(huì)同步去掃描Qos信息表,這樣對于存儲Qos信息表的存儲器的帶寬壓力很大,隨著端口速率的增加和用戶數(shù)目的增加,帶寬也線性增加,最終使得用戶數(shù)目無法再增加;第四,當(dāng)調(diào)度中發(fā)生反壓現(xiàn)象時(shí),由于MDRR僅采用停止對請求矩陣進(jìn)行輪循,但仍然采用輪循機(jī)制對調(diào)度請求隊(duì)列進(jìn)行訪問,從輪循機(jī)制本質(zhì)看,輪循時(shí)分配給用戶的帶寬接近于均分,而不是按照預(yù)約帶寬的比例進(jìn)行收縮,并且各個(gè)隊(duì)列能夠獲取的帶寬比例無法控制,這對于那些高帶寬用戶是不公平的。因?yàn)槊總€(gè)用戶是花錢購買預(yù)約帶寬的,預(yù)約帶寬大,花的錢也多,那么它就有權(quán)利要求更多的利益,因此,當(dāng)調(diào)度中發(fā)生反壓現(xiàn)象時(shí),理想的處理結(jié)果是希望參與調(diào)度的隊(duì)列實(shí)際調(diào)度帶寬按照預(yù)約帶寬的比例進(jìn)行收縮。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種隊(duì)列調(diào)度的方法及裝置,以實(shí)現(xiàn)支持多隊(duì)列及高速率調(diào)度。
為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的一種隊(duì)列調(diào)度方法,包括獲取待調(diào)度隊(duì)列令牌數(shù)量信息及時(shí)間輪當(dāng)前時(shí)間信息;根據(jù)所述令牌數(shù)量信息及時(shí)間輪當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列的調(diào)度時(shí)間;根據(jù)所述調(diào)度時(shí)間,將待調(diào)度隊(duì)列的標(biāo)志送入時(shí)間輪上對應(yīng)時(shí)間的存儲單元;當(dāng)所述調(diào)度時(shí)間到時(shí),時(shí)間輪指針指向時(shí)間輪上對應(yīng)時(shí)間的存儲單元,從所述存儲單元取出待調(diào)度隊(duì)列標(biāo)志,從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送;其中,所述時(shí)間輪是一個(gè)帶有指針的數(shù)據(jù)存儲裝置,由多個(gè)用時(shí)間值標(biāo)注的存儲單元構(gòu)成;其中,所述時(shí)間輪當(dāng)前時(shí)間信息是時(shí)間輪指針?biāo)赶虻拇鎯卧獙?yīng)的時(shí)間點(diǎn),當(dāng)前時(shí)間信息隨著時(shí)間輪指針的旋轉(zhuǎn)不斷被更新。
在上述方法中,進(jìn)一步包括判斷所述待調(diào)度隊(duì)列標(biāo)志是否出現(xiàn)累積,如果是,則根據(jù)待調(diào)度隊(duì)列標(biāo)志增加速度,調(diào)整時(shí)間輪指針旋轉(zhuǎn)速度,如果否,則時(shí)間輪指針轉(zhuǎn)速不變;其中,如果待調(diào)度隊(duì)列標(biāo)志增加速度快,則將時(shí)間輪指針?biāo)俣日{(diào)慢,反之,則將時(shí)間輪指針轉(zhuǎn)速調(diào)快。
在上述方法中,當(dāng)所述隊(duì)列為已調(diào)度過但仍有數(shù)據(jù)待調(diào)度的隊(duì)列時(shí),所述方法進(jìn)一步包括反饋實(shí)際調(diào)度隊(duì)列的數(shù)據(jù)長度,根據(jù)反饋回來的數(shù)據(jù)長度,更新所述隊(duì)列的令牌數(shù)目。
在上述方法中,當(dāng)所述待調(diào)度隊(duì)列為有數(shù)據(jù)新入隊(duì)的隊(duì)列時(shí),所述方法進(jìn)一步包括檢查所述隊(duì)列標(biāo)志是否在時(shí)間輪的存儲單元內(nèi),如果否,則計(jì)算所述隊(duì)列調(diào)度時(shí)間,如果是,則等所述隊(duì)列調(diào)度結(jié)束后,再計(jì)算所述隊(duì)列調(diào)度時(shí)間。
本發(fā)明提供一種隊(duì)列調(diào)度裝置,所述裝置包括Qos信息保存單元,調(diào)度時(shí)間計(jì)算單元,時(shí)間輪單元,待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元,數(shù)據(jù)調(diào)度單元;所述Qos信息保存單元,用于保存隊(duì)列Qos信息;其中,所述隊(duì)列信息至少包括隊(duì)列令牌信息及時(shí)間輪當(dāng)前時(shí)間信息;所述調(diào)度時(shí)間計(jì)算單元,用于根據(jù)Qos信息保存單元保存的隊(duì)列令牌信息及時(shí)間輪當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列調(diào)度時(shí)間;所述時(shí)間輪單元,用于根據(jù)調(diào)度時(shí)間計(jì)算單元的計(jì)算結(jié)果,將待調(diào)度隊(duì)列標(biāo)志保存在對應(yīng)時(shí)間的存儲單元;所述待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元,當(dāng)所述待調(diào)度時(shí)間到時(shí),用于從時(shí)間輪上對應(yīng)存儲空間取出隊(duì)列標(biāo)志,并將所述隊(duì)列標(biāo)志轉(zhuǎn)發(fā)給數(shù)據(jù)調(diào)度單元;所述數(shù)據(jù)調(diào)度單元,用于根據(jù)轉(zhuǎn)發(fā)來的隊(duì)列標(biāo)志從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送。
在上述裝置中,進(jìn)一步包括反壓狀態(tài)信息記錄單元,用于記錄待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元中隊(duì)列標(biāo)志的增加速度;時(shí)間輪指針轉(zhuǎn)速調(diào)節(jié)單元,用于根據(jù)所述隊(duì)列標(biāo)志的增加速度,調(diào)整時(shí)間輪指針旋轉(zhuǎn)速度;如果隊(duì)列標(biāo)志增加速度快,則將時(shí)間指針旋轉(zhuǎn)速度調(diào)慢,反之,則將時(shí)間輪指針旋轉(zhuǎn)速度調(diào)快。
在上述隊(duì)列調(diào)度裝置中,進(jìn)一步包括數(shù)據(jù)調(diào)度長度反饋單元,隊(duì)列令牌更新單元;其中,所述數(shù)據(jù)調(diào)度長度反饋單元,將數(shù)據(jù)調(diào)度單元實(shí)際調(diào)度出去的數(shù)據(jù)長度反饋給隊(duì)列令牌更新單元;其中,所述隊(duì)列令牌更新單元,用于根據(jù)實(shí)際調(diào)度數(shù)據(jù)長度,更新Qos信息保存單元中所述隊(duì)列的令牌信息。
以上技術(shù)方案可以看出,有以下幾點(diǎn)有益效果第一,由于本發(fā)明所提供方法無需輪采用輪循機(jī)制,因此在調(diào)度時(shí),完全可以滿足很高的調(diào)度速率要求,而且調(diào)度速率不受隊(duì)列數(shù)目限制;第二,調(diào)度很平滑,因?yàn)閿?shù)據(jù)的實(shí)際調(diào)度時(shí)間是根據(jù)令牌精確計(jì)算出來的,即使在短時(shí)間內(nèi)平滑性非常好,而不會(huì)像輪循機(jī)制會(huì)有偶然性;第三,對Qos信息表的訪問,只在有數(shù)據(jù)入隊(duì)時(shí)訪問一次,數(shù)據(jù)出隊(duì)時(shí)訪問一次,其余時(shí)間都不會(huì)訪問,這樣就可以將Qos信息表存儲在片外,使得超大容量的用戶Qos信息表支持成為可能,而且也不存在存儲器訪問帶寬的問題;第四,在出現(xiàn)反壓問題時(shí),通過采用調(diào)整時(shí)間輪轉(zhuǎn)速的方法,保證用戶帶寬按照預(yù)約帶寬的比例進(jìn)行收縮;調(diào)整過程是一個(gè)動(dòng)態(tài)的、自適應(yīng)的過程、無外界干擾,實(shí)現(xiàn)了良好的公平性和充分的帶寬利用。


圖1MDRR調(diào)度方法實(shí)現(xiàn)框圖;圖2本發(fā)明隊(duì)列調(diào)度方法流程圖;圖3本發(fā)明隊(duì)列調(diào)度裝置示意圖。
具體實(shí)施例方式
前文述及的MDRR方法是在數(shù)據(jù)進(jìn)入隊(duì)列之后,才根據(jù)所有隊(duì)列的狀態(tài)來判斷究竟從哪個(gè)隊(duì)列調(diào)度數(shù)據(jù)。因?yàn)殛?duì)列是否有數(shù)據(jù)以及隊(duì)列令牌是否夠用,調(diào)度前無法預(yù)知,當(dāng)隊(duì)列數(shù)量龐大時(shí),必須采用輪循的方式進(jìn)行隊(duì)列調(diào)度,從而帶來了背景技術(shù)中所提到的諸多缺陷。
要解決上述調(diào)度方法所帶來的缺陷根本在于,調(diào)度中不采用輪循機(jī)制,因此,本發(fā)明提出了一種截然不同的方法,其核心思想在于在數(shù)據(jù)進(jìn)入隊(duì)列的時(shí)候,就判斷所述隊(duì)列是否有數(shù)據(jù),以及所述隊(duì)列的令牌數(shù)量是否夠發(fā)送數(shù)據(jù),判斷結(jié)束后,再執(zhí)行后續(xù)調(diào)度動(dòng)作。但是,提前到數(shù)據(jù)入隊(duì)的時(shí)候進(jìn)行上述判斷,會(huì)產(chǎn)生一個(gè)新的問題,即所述隊(duì)列當(dāng)前雖然有數(shù)據(jù),但是發(fā)送數(shù)據(jù)所需的令牌數(shù)不夠,所以當(dāng)前該隊(duì)列此時(shí)是不能夠發(fā)送數(shù)據(jù)的,不能夠進(jìn)行調(diào)度,必須經(jīng)過一段時(shí)間,等所述隊(duì)列令牌數(shù)目達(dá)到了能夠發(fā)送數(shù)據(jù)的要求時(shí),才能允許調(diào)度該隊(duì)列數(shù)據(jù)出隊(duì)發(fā)送。對于上述判斷結(jié)果,必須得進(jìn)行保存,如果不保存,將會(huì)遇到和MDRR方法一樣的問題,以后調(diào)度過程必須得采用輪循機(jī)制從隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送。
為了避免后續(xù)調(diào)度中采用輪循機(jī)制,解決由于輪循機(jī)制所帶來的諸多缺陷,本發(fā)明采用時(shí)間輪作為存儲裝置,存儲待調(diào)度隊(duì)列標(biāo)志;其中,所述時(shí)間輪是一個(gè)帶有指針的數(shù)據(jù)存儲裝置;為了便于理解,借用鐘表理解時(shí)間輪,鐘表上分為不同的時(shí)間點(diǎn),假設(shè)該鐘表只有時(shí)針,那么鐘表上相鄰時(shí)間點(diǎn)的時(shí)間差將為六十分鐘,當(dāng)計(jì)時(shí)達(dá)到六十分鐘時(shí),時(shí)間指針將會(huì)由當(dāng)前時(shí)間點(diǎn)指向與其相鄰的時(shí)間點(diǎn);本發(fā)明所述時(shí)間輪存儲裝置由用時(shí)間進(jìn)行標(biāo)注的多個(gè)存儲單元和指針構(gòu)成,每個(gè)時(shí)間點(diǎn)對應(yīng)一個(gè)存儲單元,本發(fā)明采用時(shí)鐘節(jié)拍計(jì)時(shí),時(shí)間輪上相鄰存儲單元對應(yīng)時(shí)間點(diǎn)的差值,即時(shí)間間隔可以規(guī)定為32節(jié)拍或64節(jié)拍等,具體數(shù)值根據(jù)實(shí)際系統(tǒng)的物理出口速率決定,當(dāng)計(jì)時(shí)達(dá)到32節(jié)拍或64節(jié)拍時(shí),時(shí)間輪指針將由當(dāng)前時(shí)間點(diǎn)所對應(yīng)的存儲單元指向與其相鄰的時(shí)間點(diǎn)所對應(yīng)的存儲單元,時(shí)間輪指針隨時(shí)間不斷旋轉(zhuǎn),時(shí)間輪指針?biāo)赶虻拇鎯卧鶎?yīng)的時(shí)間點(diǎn)稱為時(shí)間輪當(dāng)前時(shí)間;以下結(jié)合附圖具體介紹本發(fā)明采用時(shí)間輪存儲裝置所提供的調(diào)度方法及裝置參考圖2,為本發(fā)明所提供方法的主要流程圖,包括步驟201獲取待調(diào)度隊(duì)列令牌數(shù)量信息及時(shí)間輪當(dāng)前時(shí)間信息;其中,本領(lǐng)域技術(shù)人員知道,所述令牌信息及時(shí)間信息均保存在隊(duì)列所屬用戶Qos信息表中;其中,所述時(shí)間輪當(dāng)前時(shí)間信息是指時(shí)間輪指針?biāo)赶虻拇鎯卧獙?yīng)的時(shí)間點(diǎn);其中,所述時(shí)間輪指針每改變一次狀態(tài),當(dāng)前時(shí)間信息即被更新一次;步驟202根據(jù)所述令牌數(shù)量信息及當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列的調(diào)度時(shí)間;其中,所述計(jì)算待調(diào)度隊(duì)列的調(diào)度時(shí)間具體包括根據(jù)所述令牌數(shù)量,計(jì)算所述隊(duì)列令牌累積時(shí)間;計(jì)算令牌累積時(shí)間可用如下公式當(dāng)前令牌數(shù)+帶寬×令牌累積時(shí)間>=判決門限上述關(guān)系式含義在于因?yàn)槊總€(gè)令牌只允許隊(duì)列發(fā)送一定數(shù)量的比特,而用戶的預(yù)約帶寬決定了該用戶令牌增加的速度,因此,只有隊(duì)列所屬Q(mào)os用戶的令牌數(shù)目經(jīng)過一段時(shí)間累積達(dá)到大于或等于發(fā)送當(dāng)前數(shù)據(jù)包所需的最少令牌數(shù)目,即判決門限時(shí),才可以執(zhí)行后續(xù)的調(diào)度動(dòng)作;用計(jì)算得到令牌累積時(shí)間加上當(dāng)前時(shí)間,就是待隊(duì)列的調(diào)度時(shí)間;步驟203根據(jù)所述調(diào)度時(shí)間,將待調(diào)度隊(duì)列的標(biāo)志送入時(shí)間輪上對應(yīng)時(shí)間的存儲單元;步驟204當(dāng)所述調(diào)度時(shí)間到時(shí),從所述存儲單元取出待調(diào)度隊(duì)列標(biāo)志,從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送;其中,時(shí)間輪指針隨著時(shí)間在不斷旋轉(zhuǎn),所以當(dāng)時(shí)鐘節(jié)拍計(jì)時(shí)到所述調(diào)度時(shí)間時(shí),時(shí)間輪指針則會(huì)指向所述調(diào)度時(shí)間所對應(yīng)的存儲空間,按照時(shí)間輪指針的指示取出隊(duì)列標(biāo)志,執(zhí)行后續(xù)數(shù)據(jù)調(diào)度;當(dāng)隊(duì)列調(diào)度結(jié)束后,所述方法進(jìn)一步包括步驟205反饋隊(duì)列調(diào)度的實(shí)際數(shù)據(jù)長度,根據(jù)所述實(shí)際數(shù)據(jù)長度,更新隊(duì)列的令牌數(shù)目;其中,根據(jù)反饋回來數(shù)據(jù)長度,更新所述隊(duì)列令牌信息原因在于每發(fā)送一定字節(jié)的數(shù)據(jù),需要?jiǎng)h除與發(fā)送數(shù)據(jù)大小相等的令牌數(shù);
其中,對于調(diào)度后不需再調(diào)度的隊(duì)列可以不執(zhí)行該步驟;其中,步驟201中所述待調(diào)度隊(duì)列包括兩種有數(shù)據(jù)新入隊(duì)的隊(duì)列,經(jīng)至少一次調(diào)度后隊(duì)列中仍有數(shù)據(jù)需要發(fā)送的隊(duì)列;針對這兩種隊(duì)列,所述調(diào)度方法略有不同,以下分別描述(一)有數(shù)據(jù)新入隊(duì)的隊(duì)列對于有新數(shù)據(jù)入隊(duì)的隊(duì)列,在計(jì)算其調(diào)度時(shí)間前,還包括檢查有數(shù)據(jù)新入隊(duì)的隊(duì)列標(biāo)志是否已經(jīng)在時(shí)間輪上的存儲單元;如果所述存儲單元中沒有該隊(duì)列標(biāo)志,則按照前已述及的方法計(jì)算隊(duì)列調(diào)度時(shí)間;如果所述存儲單元中有該隊(duì)列的標(biāo)志,則等此次隊(duì)列調(diào)度結(jié)束后,計(jì)算所述隊(duì)列調(diào)度時(shí)間,此時(shí)待調(diào)度隊(duì)列已經(jīng)過一次調(diào)度,其中計(jì)算時(shí)用到的隊(duì)列令牌數(shù),是根據(jù)實(shí)際數(shù)據(jù)調(diào)度長度更新后的;其中,檢查有數(shù)據(jù)新入隊(duì)的隊(duì)列標(biāo)志是否已經(jīng)在時(shí)間輪上時(shí)間點(diǎn)所對應(yīng)的存儲單元,其實(shí)就是在檢查所述隊(duì)列是否有數(shù)據(jù)以及檢查所述隊(duì)列令牌是否夠用;如果隊(duì)列標(biāo)志在時(shí)間輪上時(shí)間點(diǎn)所對應(yīng)的存儲空間,則說明此時(shí)隊(duì)列有數(shù)據(jù)并且令牌數(shù)量夠,反之,則說明當(dāng)前隊(duì)列令牌數(shù)量不夠,需等待;(二)已調(diào)度過但仍有數(shù)據(jù)待調(diào)度的隊(duì)列對于已調(diào)度過但人有數(shù)據(jù)待調(diào)度的隊(duì)列,計(jì)算所述待調(diào)度隊(duì)列時(shí)間時(shí),所依據(jù)的隊(duì)列令牌數(shù)是該隊(duì)列前一次調(diào)度結(jié)束后,根據(jù)反饋的實(shí)際數(shù)據(jù)調(diào)度長度,更新后的隊(duì)列令牌數(shù),因此,對于已調(diào)度過的隊(duì)列所述方法進(jìn)一步包括步驟反饋實(shí)際數(shù)據(jù)調(diào)度長度,更新隊(duì)列令牌;以上分析的是一般情況下進(jìn)行實(shí)際隊(duì)列調(diào)度時(shí),本發(fā)明所提供的方法,下面具體分析當(dāng)遇到前已述及的反壓,這種特殊現(xiàn)象時(shí),本發(fā)明所提供的方法一旦發(fā)生反壓現(xiàn)象,時(shí)間輪存儲單元中所取出的隊(duì)列標(biāo)志將會(huì)產(chǎn)生累積,解決反壓問題時(shí)理想的結(jié)果是希望參與調(diào)度的隊(duì)列實(shí)際調(diào)度帶寬按照預(yù)約帶寬的比例進(jìn)行收縮,為了達(dá)到該效果,前已述及的本發(fā)明提供的方法進(jìn)一步包括判斷所述待調(diào)度隊(duì)列標(biāo)志是否出現(xiàn)累積,如果是,則根據(jù)待調(diào)度隊(duì)列標(biāo)志增加速度,調(diào)整時(shí)間輪指針旋轉(zhuǎn)速度,如果否,則時(shí)間輪指針轉(zhuǎn)速不變;其中,如果待調(diào)度隊(duì)列標(biāo)志增加速度快,則將時(shí)間輪指針?biāo)俣日{(diào)慢,反之,則將時(shí)間輪指針轉(zhuǎn)速調(diào)快比如,由原來的每隔32拍時(shí)間輪指針由當(dāng)前時(shí)間點(diǎn)所對應(yīng)的存儲空間指向相鄰時(shí)間點(diǎn)所對應(yīng)的存儲空間,調(diào)整成每隔64拍,時(shí)間輪指針改變一次狀態(tài);進(jìn)行這樣的動(dòng)作能夠到達(dá)前面所述有益效果的原因在于因?yàn)殛?duì)列調(diào)度時(shí)間是按照未調(diào)整時(shí)間間隔的時(shí)間輪時(shí)間計(jì)算的,將隊(duì)列標(biāo)志放入將時(shí)間間隔調(diào)整大的時(shí)間輪上,相當(dāng)于隊(duì)列調(diào)度的時(shí)間被延長,那么對應(yīng)的,這些隊(duì)列實(shí)際獲得的帶寬也就等比例收縮,這個(gè)收縮比例剛好就是時(shí)間指針相對于原有速度變慢的比例,此外,因?yàn)檎{(diào)節(jié)時(shí)間指針轉(zhuǎn)速時(shí),是根據(jù)隊(duì)列標(biāo)志增加的速度調(diào)節(jié)的,因此,只有哪些有數(shù)據(jù)的隊(duì)列的帶寬會(huì)受到影響,帶寬收縮也只在這些隊(duì)列中實(shí)現(xiàn)的,對于哪些沒有數(shù)據(jù)的隊(duì)列在這個(gè)過程中對帶寬沒有影響。也就是說,總的物理帶寬能夠由有數(shù)據(jù)的這些隊(duì)列分享,不會(huì)存在帶寬浪費(fèi)。
當(dāng)反壓現(xiàn)象解除后,如果隊(duì)列標(biāo)志增加速度過慢,還可以按照上述方法,根據(jù)需要將所述時(shí)間間隔調(diào)整回去,提高隊(duì)列標(biāo)志的增加速度;由以上敘述可知,所述調(diào)整時(shí)間間隔的過程是一個(gè)動(dòng)態(tài)自適應(yīng)的反饋調(diào)節(jié)方式,無任何外界的干擾。
參考圖3,對本發(fā)明隊(duì)列所提供調(diào)度裝置進(jìn)行詳細(xì)描述,所述裝置主要包括Qos信息保存單元,調(diào)度時(shí)間計(jì)算單元,時(shí)間輪單元,待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元,數(shù)據(jù)調(diào)度單元;所述Qos信息保存單元,用于保存隊(duì)列Qos信息;其中,所述隊(duì)列信息至少包括隊(duì)列令牌信息及時(shí)間輪當(dāng)前時(shí)間信息;所述調(diào)度時(shí)間計(jì)算單元,用于根據(jù)Qos信息保存單元保存的隊(duì)列令牌信息及時(shí)間輪當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列調(diào)度時(shí)間;所述時(shí)間輪單元,用于根據(jù)調(diào)度時(shí)間計(jì)算單元的計(jì)算結(jié)果,將待調(diào)度隊(duì)列標(biāo)志保存在對應(yīng)時(shí)間的存儲單元;所述待調(diào)度標(biāo)志隊(duì)列轉(zhuǎn)發(fā)單元,當(dāng)時(shí)間輪指針指向所述待調(diào)度時(shí)間點(diǎn)時(shí),用于從時(shí)間輪上對應(yīng)存儲空間取出隊(duì)列標(biāo)志,并將將所述隊(duì)列標(biāo)志轉(zhuǎn)發(fā)給數(shù)據(jù)調(diào)度單元;所述數(shù)據(jù)調(diào)度單元,用于根據(jù)轉(zhuǎn)發(fā)來的隊(duì)列標(biāo)志從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送;在實(shí)際應(yīng)用中,所述調(diào)度裝置進(jìn)一步包括數(shù)據(jù)調(diào)度長度反饋單元,隊(duì)列令牌更新單元;其中,所述數(shù)據(jù)調(diào)度長度反饋單元,將數(shù)據(jù)調(diào)度單元實(shí)際調(diào)度出去的數(shù)據(jù)長度反饋給隊(duì)列令牌更新單元;其中,所述隊(duì)列令牌更新單元,用于根據(jù)實(shí)際調(diào)度數(shù)據(jù)長度,更新Qos信息保存單元中所述隊(duì)列的令牌信息;以上是一般情況下本發(fā)明所提供裝置,當(dāng)出現(xiàn)反壓現(xiàn)象時(shí),所述裝置進(jìn)一步包括反壓狀態(tài)信息記錄單元,用于記錄待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元中隊(duì)列標(biāo)志的增加速度;時(shí)間輪指針轉(zhuǎn)速調(diào)節(jié)單元,用于根據(jù)所述隊(duì)列標(biāo)志的增加速度,調(diào)整時(shí)間輪指針旋轉(zhuǎn)速度;如果隊(duì)列標(biāo)志增加速度快,則將時(shí)間指針旋轉(zhuǎn)速度調(diào)慢,反之,則將時(shí)間輪指針旋轉(zhuǎn)速度調(diào)快;另外,如圖3所示,本發(fā)明中還包括數(shù)據(jù)入隊(duì)單元用于從外部接口得到數(shù)據(jù)包,進(jìn)行入隊(duì)操作;其他未在圖中示出的部分不涉及本發(fā)明范圍,這里不作詳細(xì)描述。
以上對本發(fā)明所提供的一種隊(duì)列調(diào)度方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種隊(duì)列調(diào)度方法,其特征在于,包括獲取待調(diào)度隊(duì)列令牌數(shù)量信息及時(shí)間輪當(dāng)前時(shí)間信息;根據(jù)所述令牌數(shù)量信息及時(shí)間輪當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列的調(diào)度時(shí)間;根據(jù)所述調(diào)度時(shí)間,將待調(diào)度隊(duì)列的標(biāo)志送入時(shí)間輪上對應(yīng)時(shí)間的存儲單元;當(dāng)所述調(diào)度時(shí)間到時(shí),時(shí)間輪指針指向時(shí)間輪上對應(yīng)時(shí)間的存儲單元,從所述存儲單元取出待調(diào)度隊(duì)列標(biāo)志,從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送;其中,所述時(shí)間輪是一個(gè)帶有指針的數(shù)據(jù)存儲裝置,由多個(gè)用時(shí)間值標(biāo)注的存儲單元構(gòu)成;其中,所述時(shí)間輪當(dāng)前時(shí)間信息是時(shí)間輪指針?biāo)赶虻拇鎯卧獙?yīng)的時(shí)間點(diǎn),當(dāng)前時(shí)間信息隨著時(shí)間輪指針的旋轉(zhuǎn)不斷被更新。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述方法進(jìn)一步包括判斷所述待調(diào)度隊(duì)列標(biāo)志是否出現(xiàn)累積,如果是,則根據(jù)待調(diào)度隊(duì)列標(biāo)志增加速度,調(diào)整時(shí)間輪指針旋轉(zhuǎn)速度,如果否,則時(shí)間輪指針轉(zhuǎn)速不變;其中,如果待調(diào)度隊(duì)列標(biāo)志增加速度快,則將時(shí)間輪指針?biāo)俣日{(diào)慢,反之,則將時(shí)間輪指針轉(zhuǎn)速調(diào)快。
3.根據(jù)權(quán)利要求1或2所述方法,其特征在于,當(dāng)所述隊(duì)列為已調(diào)度過但仍有數(shù)據(jù)待調(diào)度的隊(duì)列時(shí),所述方法進(jìn)一步包括反饋實(shí)際調(diào)度隊(duì)列的數(shù)據(jù)長度,根據(jù)反饋回來的數(shù)據(jù)長度,更新所述隊(duì)列的令牌數(shù)目。
4.根據(jù)權(quán)利要求1或2所述方法,其特征在于,當(dāng)所述待調(diào)度隊(duì)列為有數(shù)據(jù)新入隊(duì)的隊(duì)列時(shí),所述方法進(jìn)一步包括檢查所述隊(duì)列標(biāo)志是否在時(shí)間輪的存儲單元內(nèi),如果否,則計(jì)算所述隊(duì)列調(diào)度時(shí)間,如果是,則等所述隊(duì)列調(diào)度結(jié)束后,再計(jì)算所述隊(duì)列調(diào)度時(shí)間。
5.一種隊(duì)列調(diào)度裝置,其特征在于,所述裝置包括Qos信息保存單元,調(diào)度時(shí)間計(jì)算單元,時(shí)間輪單元,待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元,數(shù)據(jù)調(diào)度單元;所述Qos信息保存單元,用于保存隊(duì)列Qos信息;其中,所述隊(duì)列信息至少包括隊(duì)列令牌信息及時(shí)間輪當(dāng)前時(shí)間信息;所述調(diào)度時(shí)間計(jì)算單元,用于根據(jù)Qos信息保存單元保存的隊(duì)列令牌信息及時(shí)間輪當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列調(diào)度時(shí)間;所述時(shí)間輪單元,用于根據(jù)調(diào)度時(shí)間計(jì)算單元的計(jì)算結(jié)果,將待調(diào)度隊(duì)列標(biāo)志保存在對應(yīng)時(shí)間的存儲單元;所述待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元,當(dāng)所述待調(diào)度時(shí)間到時(shí),用于從時(shí)間輪上對應(yīng)存儲空間取出隊(duì)列標(biāo)志,并將所述隊(duì)列標(biāo)志轉(zhuǎn)發(fā)給數(shù)據(jù)調(diào)度單元;所述數(shù)據(jù)調(diào)度單元,用于根據(jù)轉(zhuǎn)發(fā)來的隊(duì)列標(biāo)志從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送。
6.根據(jù)權(quán)利要求5所述裝置,其特征在于,所述裝置進(jìn)一步包括反壓狀態(tài)信息記錄單元,用于記錄待調(diào)度隊(duì)列標(biāo)志轉(zhuǎn)發(fā)單元中隊(duì)列標(biāo)志的增加速度;時(shí)間輪指針轉(zhuǎn)速調(diào)節(jié)單元,用于根據(jù)所述隊(duì)列標(biāo)志的增加速度,調(diào)整時(shí)間輪指針旋轉(zhuǎn)速度;如果隊(duì)列標(biāo)志增加速度快,則將時(shí)間指針旋轉(zhuǎn)速度調(diào)慢,反之,則將時(shí)間輪指針旋轉(zhuǎn)速度調(diào)快。
7.根據(jù)權(quán)利要求5或6所述任一裝置,其特征在于,所述調(diào)度裝置進(jìn)一步包括數(shù)據(jù)調(diào)度長度反饋單元,隊(duì)列令牌更新單元;其中,所述數(shù)據(jù)調(diào)度長度反饋單元,將數(shù)據(jù)調(diào)度單元實(shí)際調(diào)度出去的數(shù)據(jù)長度反饋給隊(duì)列令牌更新單元;其中,所述隊(duì)列令牌更新單元,用于根據(jù)實(shí)際調(diào)度數(shù)據(jù)長度,更新Qos信息保存單元中所述隊(duì)列的令牌信息。
全文摘要
本發(fā)明公開了一種隊(duì)列調(diào)度方法,該方法包括根據(jù)所述令牌數(shù)量信息及時(shí)間輪當(dāng)前時(shí)間信息,計(jì)算待調(diào)度隊(duì)列的調(diào)度時(shí)間,將待調(diào)度隊(duì)列的標(biāo)志送入時(shí)間輪上對應(yīng)時(shí)間的存儲單元;當(dāng)所述調(diào)度時(shí)間到時(shí),從所述存儲單元取出待調(diào)度隊(duì)列標(biāo)志,從相應(yīng)隊(duì)列中調(diào)度數(shù)據(jù)出隊(duì)發(fā)送;其中,所述時(shí)間輪是一個(gè)帶有指針的數(shù)據(jù)存儲裝置,由多個(gè)用時(shí)間值標(biāo)注的存儲單元構(gòu)成;其中,所述時(shí)間輪指針旋轉(zhuǎn)速度可以調(diào)整。此外,本發(fā)明還公開了一種相應(yīng)的隊(duì)列調(diào)度裝置。由于本發(fā)明采用時(shí)間輪作為存儲待調(diào)度隊(duì)列標(biāo)志的裝置,避免了調(diào)度時(shí)采用輪循機(jī)制,因此,本發(fā)明可以克服由于輪循調(diào)度機(jī)制所帶來的諸多缺點(diǎn),為用戶提供更完善的服務(wù)。
文檔編號H04L12/56GK1960334SQ200610127550
公開日2007年5月9日 申請日期2006年9月12日 優(yōu)先權(quán)日2006年9月12日
發(fā)明者梁冰, 朱倩影, 葉錦華, 孫浩 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
和龙市| 富川| 虎林市| 仁寿县| 舟曲县| 南漳县| 穆棱市| 吉木萨尔县| 望城县| 白玉县| 洱源县| 东方市| 荣昌县| 固镇县| 汕头市| 安仁县| 崇左市| 黄梅县| 虹口区| 多伦县| 双城市| 威远县| 上栗县| 明光市| 镇江市| 博客| 米林县| 烟台市| 肃北| 秦安县| 昆明市| 永嘉县| 墨脱县| 乌苏市| 清镇市| 五原县| 浪卡子县| 阿鲁科尔沁旗| 盖州市| 南通市| 陵川县|