專利名稱::一種分組調(diào)度方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信領(lǐng)域,特別涉及一種分組調(diào)度方法和分組調(diào)度設(shè)備。
背景技術(shù):
:目前,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備在出口調(diào)度業(yè)務(wù)時都會用到隊列調(diào)度機制(QSM,QueueingSchedulingMechanism),所謂隊列調(diào)度機制是指按照一定的服務(wù)規(guī)則對數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中因發(fā)生沖突而需排隊等待的不同業(yè)務(wù)分組進行調(diào)度和服務(wù),使所有的輸入業(yè)務(wù)分組能按預(yù)定的方式共享數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的輸出鏈路帶寬并提供服務(wù)質(zhì)量(QoS,QualityofService)的保證。參見圖1,為數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的調(diào)度服務(wù)示意圖,當業(yè)務(wù)分組到達數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備時,將業(yè)務(wù)分組進行流分類,分別暫存到相應(yīng)的隊列l(wèi)、2......n中,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備中的調(diào)度器根據(jù)釆用的隊列調(diào)度機制從n個隊列中選擇出下一個需要進行發(fā)送的業(yè)務(wù)分組。根據(jù)隊列調(diào)度機制的服務(wù)規(guī)則、調(diào)度目標及其發(fā)展趨勢,目前已出現(xiàn)的隊列調(diào)度算法包括基于輪循的調(diào)度算法、基于通用處理機共享(GPS,GeneralizedProcessorSharing)的調(diào)度算法、基于時延的調(diào)度算法、基于服務(wù)曲線(ServiceCurve)的調(diào)度算法等。在GPS調(diào)度算法的基礎(chǔ)上,現(xiàn)有技術(shù)提供了一種整形虛擬時鐘(ShVC,ShapedVirtualClock)算法,該算法具體包括1)采用實際時鐘(Real-timeClock)作為系統(tǒng)虛擬時間函數(shù)(VirtualTimeFunction)2)每個分組if到達時為其分配一個虛擬開始時標(VirtualStartingTime)《和虛擬結(jié)束時標(VirtualFinishingTime)《,計算規(guī)則如下=max[K),F廣1]=max[fl,,F(xiàn),1]戶《和《分別表示隊列i的第k個分組^的到達時間和分組長度,^表示隊列i的預(yù)約帶寬(AUocatedRate),巧"'表示隊列i中第k-1個分組的虛擬結(jié)束時間。虛擬開始時標《為隊列i的第k個業(yè)務(wù)分組到達的時間和上一個分組的虛擬結(jié)束時間中的最大值;虛擬結(jié)束時標"為隊列i的第k個業(yè)務(wù)分組發(fā)送的結(jié)束時間,具體為虛擬開始時標加上該業(yè)務(wù)分組的分組長度除以預(yù)約帶寬。其中,預(yù)約帶寬是通信雙方向網(wǎng)絡(luò)申請的帶寬,為一個隊列中所有業(yè)務(wù)分組的預(yù)約帶寬的總合。3)分組選擇策略為最小合法虛擬結(jié)束時間優(yōu)先(SEFF,SmallestEligiblevirtualFinishedtimeFirst),即在合法的分組中,優(yōu)先地選擇具有最小虛擬結(jié)束時間的分組進行發(fā)送。在此,所謂合法的分組,一般情況下指的是分組的虛擬開始時標小于或等于系統(tǒng)時鐘。上述整形虛擬時鐘算法適合于需要端到端時延保證的實時業(yè)務(wù),但是由于該方法基于分組,并且分組的發(fā)送過程不可中斷,如果一個分組長度較長的非實時業(yè)務(wù)分組正在發(fā)送且尚未發(fā)送完畢時,到達一個分組長度較短的實時業(yè)務(wù)分組,該長度較短的實時業(yè)務(wù)分組需要等待正在發(fā)送的長度較長的非實時業(yè)務(wù)分組發(fā)送完畢后才有機會進行發(fā)送,這個等待時間可能很長,以致在實時業(yè)務(wù)中加入了非常大的抖動;并且該算法需要對所有的分組(包括實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組)進行虛擬時標的計算和排序,復(fù)雜度比較高,開銷比較大?,F(xiàn)有技術(shù)還提供了一種優(yōu)先發(fā)送實時業(yè)務(wù)分組的調(diào)度算法,該方法具體為作為發(fā)送端的數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備對輸入的業(yè)務(wù)分組進行分類,根據(jù)優(yōu)先級別的高低將業(yè)務(wù)分組大致分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組,將實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組相應(yīng)地緩存于實時業(yè)務(wù)隊列和非實時業(yè)務(wù)隊列中,并且,實時業(yè)務(wù)分組和非實業(yè)務(wù)分組各自攜帶控制信息。實時業(yè)務(wù)分組優(yōu)先級比非實時業(yè)務(wù)分組優(yōu)先級高,則發(fā)送端優(yōu)先地發(fā)送實時業(yè)務(wù)分組。當非實時業(yè)務(wù)分組未發(fā)送完畢,需要傳輸緊急的實時業(yè)務(wù)分組時,首先將該正在傳輸?shù)姆菍崟r業(yè)務(wù)分組暫時掛起,然后發(fā)送攜帶控制信息的實時業(yè)務(wù)分組到數(shù)據(jù)的接收端,當該攜帶控制信息的實時業(yè)務(wù)分組發(fā)送完畢后,繼續(xù)發(fā)送被暫時掛起的非實時業(yè)務(wù)分組;數(shù)據(jù)的接收端根據(jù)控制信息提取出實時業(yè)務(wù)分組,并根據(jù)非實時業(yè)務(wù)分組的控制信息保證完整地接收到非實時業(yè)務(wù)分組。這種算法的意義在于高優(yōu)先級的數(shù)據(jù)包本身在發(fā)送的過程中感覺不到低優(yōu)先級數(shù)據(jù)包子隊列的存在,只要該高優(yōu)先級的數(shù)據(jù)包處于高優(yōu)先級數(shù)據(jù)包子隊列的頭部就可以發(fā)送,而不必等待低優(yōu)先級子隊列中的數(shù)據(jù)發(fā)送。該優(yōu)先發(fā)送實時業(yè)務(wù)分組的調(diào)度方法解決了整形虛擬時鐘算法中,長度較短的實時業(yè)務(wù)分組需要等待正在發(fā)送的長度較長的非實時業(yè)務(wù)分組發(fā)送完畢后才有機會進行發(fā)送的問題,但發(fā)明人在發(fā)明過程中發(fā)現(xiàn)以下問題對于需要發(fā)送的實時業(yè)務(wù)分組,由于在該調(diào)度方法中,只要出現(xiàn)了實時業(yè)務(wù)分組,就將非實時業(yè)務(wù)分組掛起,輸出實時業(yè)務(wù)分組,而實時業(yè)務(wù)的輸出是按照先入先出的規(guī)則進行發(fā)送,如果在同一時刻涌入了大量的實時業(yè)務(wù)分組,會導(dǎo)致輸出的實時業(yè)務(wù)的突發(fā)性較大;另外,實時業(yè)務(wù)的時延和時延抖動與數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備的輸入實時業(yè)務(wù)的數(shù)目有密切的關(guān)系,即數(shù)5據(jù)轉(zhuǎn)發(fā)設(shè)備接收的實時業(yè)務(wù)數(shù)目越多,實時業(yè)務(wù)的時延和時延抖動就會越大;對于需要發(fā)送的非實時業(yè)務(wù)分組,由于該調(diào)度方法只是簡單地根據(jù)實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組的優(yōu)先級進行發(fā)送,即只要隊列中有實時業(yè)務(wù)分組就會發(fā)送,發(fā)送實時業(yè)務(wù)分組的個數(shù)無法控制和統(tǒng)計,在一段時間內(nèi)會連續(xù)發(fā)送攜帶控制信息的實時業(yè)務(wù)分組,這樣會導(dǎo)致非實時業(yè)務(wù)分組等待時間過長;該調(diào)度方法比較簡單,即在不定時地中斷發(fā)送非實時業(yè)務(wù)分組的過程中,調(diào)度發(fā)送實時業(yè)務(wù)分組,對于多個實時業(yè)務(wù)分組的隊列或多個非實時業(yè)務(wù)分組隊列,各個實時業(yè)務(wù)分組隊列之間的調(diào)度或各個實時業(yè)務(wù)分組隊列之間的調(diào)度還需要其它調(diào)度方法的支持。
發(fā)明內(nèi)容為了既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,又能保證非實時業(yè)務(wù)分組等待時間不會過長,并充分利用整形虛擬時鐘算法及優(yōu)先發(fā)送實時業(yè)務(wù)分組的調(diào)度算的優(yōu)點,克服上述兩個算法存在的問題,本發(fā)明實施例提供了一種分組調(diào)度方法和設(shè)備。所述技術(shù)方案如下一種分組調(diào)度方法,所述方法包括根據(jù)業(yè)務(wù)分組頭部信息將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;根據(jù)整形虛擬時鐘算法判斷實時業(yè)務(wù)分組中是否存在合法的實時業(yè)務(wù)分組,如果存在,則采用所述整形虛擬時鐘算法發(fā)送所述合法的實時業(yè)務(wù)分組,否則,發(fā)送非實時業(yè)務(wù)分組;如果在發(fā)送所述非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組,則暫停發(fā)送所述非實時業(yè)務(wù)分組,發(fā)送所述新的合法實時業(yè)務(wù)分組。一種分組調(diào)度設(shè)備,所述設(shè)備包括分類模塊、判斷模塊、實時業(yè)務(wù)發(fā)送模塊、非實時業(yè)務(wù)發(fā)送模塊和通知模塊;所述分類模塊,用于根據(jù)業(yè)務(wù)分組頭部信息將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;所述判斷模塊,用于根據(jù)整形虛擬時鐘算法判斷實時業(yè)務(wù)分組中是否存在有合法的實時業(yè)務(wù)分組;所述實時業(yè)務(wù)發(fā)送模塊,用于當所述判斷模塊的判斷結(jié)果為存在合法的實時業(yè)務(wù)分組時,或收到所述通知模塊的執(zhí)行發(fā)送通知時,采用整形虛擬時鐘算法發(fā)送所述合法的實時業(yè)務(wù)分組;所述非實時業(yè)務(wù)發(fā)送模塊,用于當所述判斷模塊的判斷結(jié)果為不存在合法的實時業(yè)務(wù)分組時,發(fā)送非實時業(yè)務(wù)分組;或收到所述通知模塊的暫停發(fā)送通知時,暫停發(fā)送非實時業(yè)務(wù)分組;所述通知模塊,用于在所述非實時業(yè)務(wù)發(fā)送模塊發(fā)送所述非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組時,向所述非實時業(yè)務(wù)發(fā)送模塊發(fā)送暫停發(fā)送通知,并向所述實時業(yè)務(wù)發(fā)送模塊發(fā)送執(zhí)行發(fā)送通知。本發(fā)明實施例通過將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;實時業(yè)務(wù)分組采用整形虛擬時鐘算法進行發(fā)送,在發(fā)送實時業(yè)務(wù)分組的間隔內(nèi)發(fā)送非實時業(yè)務(wù)分組,既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,均勻、及時地輸出實時業(yè)務(wù),又能避免非實時業(yè)務(wù)分組等待時間過長的情況。顯然,本發(fā)明實施例提供的方案具有較強的實用性、可靠性和有效性。圖1是現(xiàn)有技術(shù)提供的隊列調(diào)度機制的調(diào)度服務(wù)示意圖2是本發(fā)明實施例1提供的分組調(diào)度方法的流程圖3是本發(fā)明實施例1提供的業(yè)務(wù)分組調(diào)度示意圖4是本發(fā)明實施例1提供的分組調(diào)度方法的示意圖5是本發(fā)明實施例1提供的分組調(diào)度方法的狀態(tài)轉(zhuǎn)移示意圖6是本發(fā)明實施例2提供的分組調(diào)度設(shè)備示意圖7是本發(fā)明實施例提供的調(diào)度流程與現(xiàn)有技術(shù)的調(diào)度流程對比示意圖。具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。本發(fā)明實施例提供了一種分組調(diào)度方法,將輸入業(yè)務(wù)分分組為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組,對實時業(yè)務(wù)分組采用ShVC調(diào)度算法,非實時業(yè)務(wù)分組的調(diào)度算法不作限制,可以采用保證帶寬的調(diào)度算法,如果出現(xiàn)合法的實時業(yè)務(wù)分組,則發(fā)送該出現(xiàn)的合法的實時業(yè)務(wù)分組,否則,發(fā)送非實時業(yè)務(wù)分組,如果在發(fā)送非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組,則暫停發(fā)送非實時業(yè)務(wù)分組,發(fā)送新的合法實時業(yè)務(wù)分組,這樣既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,又能保證非實時業(yè)務(wù)分組等待時間不會過長。參見圖2,具體步驟如下7步驟A:根據(jù)輸入業(yè)務(wù)分組的頭部信息(如源、目的地址,QoS或服務(wù)等級類(CoS,ClassofService)參數(shù)等)、路由信息等將接收到的業(yè)務(wù)分組進行流分類,即分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;然后將實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組相應(yīng)地緩存于實時業(yè)務(wù)隊列和非實時業(yè)務(wù)隊列中。其中,實時業(yè)務(wù)為對時延抖動比較敏感的業(yè)務(wù),如語音、視頻業(yè)務(wù);非實時業(yè)務(wù)為對時延抖動不敏感、對帶寬要求較高的業(yè)務(wù),如E-MAIL,網(wǎng)頁瀏覽等業(yè)務(wù)。步驟B:—方面,針對實時業(yè)務(wù)隊列中的接收到的每一個實時業(yè)務(wù)分組,根據(jù)ShVC算法分別計算實時業(yè)務(wù)分組的虛擬開始時標《和虛擬結(jié)束時標i^。、^其中,",和《分別表示隊列i的第k個分組if的到達時間和分組長度,c表示隊列i的預(yù)約帶寬(allocatedrate),v表示實時業(yè)務(wù)隊列的個數(shù)。每到達一個實時業(yè)務(wù)分組,就按上述方法生成虛擬開始時標和虛擬結(jié)束時標,為減少存儲量,可以只用緩存其中一個虛擬時標,而對應(yīng)的另一個虛擬時標可以通過上述公式進行簡單的推導(dǎo)得出。另一方面,針對非實時業(yè)務(wù)隊列中的非實時業(yè)務(wù)分組可以采用保證帶寬的調(diào)度算法進行調(diào)度,例如可以采用加權(quán)輪循(WRR,WeightedRoundRobin)算法、公平加權(quán)輪循(FWRR,F(xiàn)lairweightedRoundRobin)算法等調(diào)度算法??梢詫⑺械姆菍崟r業(yè)務(wù)隊列等效成一個非實時業(yè)務(wù)隊列考慮。此時,當進行調(diào)度服務(wù)時就相當于有v個實時業(yè)務(wù)隊列和l個非實時業(yè)務(wù)隊列。步驟C:判斷實時業(yè)務(wù)分組中是否存在合法的實時業(yè)務(wù)分組。在各實時隊列中,有些實時業(yè)務(wù)分組是滿足合法實時業(yè)務(wù)分組條件,可以發(fā)送的,有些是不滿足合法實時業(yè)務(wù)分組條件,還不能發(fā)送的,因此,需要判斷實時業(yè)務(wù)分組中是否存在合法的實時業(yè)務(wù)分組,即在各實時隊列(非空)的頭部選擇合法的實時業(yè)務(wù)分組,即虛擬開始時標滿足S/^^的實時業(yè)務(wù)分組,構(gòu)成集合A。步驟D:根據(jù)集合A中是否有元素而確定發(fā)送實時業(yè)務(wù)分組還是非實時業(yè)務(wù)分組。具體步驟如下1)如果集合A非空,則從中選擇具有最小虛擬結(jié)束時間的分組進行發(fā)送。集合A非空,說明存在虛擬開始時標滿足《《^(0的實時業(yè)務(wù)分組,即該實時業(yè)務(wù)分組是合法分組,根據(jù)最小合法虛擬結(jié)束時間優(yōu)先的選擇策略優(yōu)先地發(fā)送合法分組中具有最小虛擬結(jié)束時間的實時業(yè)務(wù)分組。2)如果集合A為空,則發(fā)送非實時業(yè)務(wù)分組(如果非實時業(yè)務(wù)分組為空,則發(fā)送空分組),直到有滿足《^^(,)的實時業(yè)務(wù)分組出現(xiàn)。當出現(xiàn)滿足《^"》)的實時業(yè)務(wù)分組,而非實時業(yè)務(wù)分組未發(fā)送完畢時,則中斷發(fā)送并掛起非實時業(yè)務(wù)分組,發(fā)送實時業(yè)務(wù)分組,當該實時業(yè)務(wù)分組發(fā)送完畢,且集合A為空時,繼續(xù)發(fā)送被暫時掛起的非實時業(yè)務(wù)分組;如果該實時業(yè)務(wù)分組發(fā)送完畢時,集合A中還有其它的合法實時業(yè)務(wù)分組,則非實時業(yè)務(wù)分組繼續(xù)被掛起,發(fā)送集合A中的其它的合法實時業(yè)務(wù)分組,直至集合A為空,才發(fā)送被暫時掛起的非實時業(yè)務(wù)分組。具體地,當集合A為空時,會計算出各實時隊列頭部不合法分組的最小開始時標,該最小開始時標就是非實時隊列的結(jié)束的時間,在發(fā)送非實時業(yè)務(wù)分組時,非實時業(yè)務(wù)分組根據(jù)該結(jié)束時間結(jié)束非實時業(yè)務(wù)分組的發(fā)送,開始下一個實時業(yè)務(wù)分組的發(fā)送。上述隊列頭部不合法分組的最小開始時標會在非實時業(yè)務(wù)發(fā)送的過程中動態(tài)更新,這是由于當一個空的實時業(yè)務(wù)隊列中有分組業(yè)務(wù)到達時,這個分組業(yè)務(wù)的開始時標有可能小于上述隊列頭部不合法分組的最小開始時標,這時就需要更新。所以,非實時業(yè)務(wù)分組發(fā)送的開始時刻為合法業(yè)務(wù)分組集合為空時的當前系統(tǒng)時間,結(jié)束時刻(即該非實時業(yè)務(wù)分組被暫時中斷并掛起的開始時刻)為合法業(yè)務(wù)分組集合由空到非空時,該非空集合中的最小虛擬開始時標,該非實時業(yè)務(wù)分組可以繼續(xù)發(fā)送的開始時刻為合法實時業(yè)務(wù)分組發(fā)送完畢的系統(tǒng)時間。優(yōu)先發(fā)送實時業(yè)務(wù)分組時可以采用如下方式通過在實時業(yè)務(wù)分組中攜帶控制信息(K28.7禾QK28.0),在非實時業(yè)務(wù)分組中攜帶控制信息(K27.7和K29.7)從而實現(xiàn)在非實時業(yè)務(wù)分組發(fā)送過程中,暫時掛起發(fā)送的非實時業(yè)務(wù)分組,優(yōu)先發(fā)送實時業(yè)務(wù)分;在數(shù)據(jù)的接收端根據(jù)接收到的業(yè)務(wù)分組中對應(yīng)的控制信息,讀取業(yè)務(wù)分組數(shù)據(jù)信息,重新組裝成和發(fā)送端結(jié)構(gòu)一致的業(yè)務(wù)分組。本發(fā)明實施例不限制優(yōu)先發(fā)送的實現(xiàn)方法,可以采用如標識符或特殊字節(jié)的優(yōu)先發(fā)送方法。因為基于ShVC調(diào)度算法中,合法的實時業(yè)務(wù)分組取決于"^r^),同時由于實時業(yè)務(wù)分組的預(yù)約帶寬^總是小于或等于系統(tǒng)的線路帶寬。于是A2左,即《值增長遠遠大于實際時間的增長,實時業(yè)務(wù)分組發(fā)送時總是會存在間隔時間,所以合法的實時業(yè)務(wù)分組集合A總有為空的時候,那么在集合A為空的時間段就可以發(fā)送非實時業(yè)務(wù)分組。參見圖3,為本發(fā)明實施例提供的分組調(diào)度示意圖,將輸入業(yè)務(wù)分組分為實時業(yè)務(wù)隊列和非實時業(yè)務(wù)隊列兩類,其中,隊列1到隊列v為實時業(yè)務(wù)隊列,對實時業(yè)務(wù)隊列中的實時9業(yè)務(wù)分組采用ShVC算法調(diào)度;隊列V+l到隊列n為非實時業(yè)務(wù)隊列,對非實時業(yè)務(wù)隊列中的非實時業(yè)務(wù)分組采用WRR算法調(diào)度。為了進一步對本發(fā)明實施例進行闡述,參見圖4,以實時業(yè)務(wù)隊列分別為A、B和C為例進行說明,其中,線路帶寬r為l,實時業(yè)務(wù)隊列A、B和C的預(yù)約帶寬^分別為/;二0.25、4=0.20,^;=0.25。圖4中分別給出了計算得到的各實時業(yè)務(wù)分組的虛擬幵始時標和虛擬結(jié)束時標。一個分組的虛擬結(jié)束時標減去虛擬開始時標等于調(diào)度間隔4,由于^已知,可以得到《,由于線路帶寬r預(yù)先設(shè)定為1,可以求出傳輸時間^。例如,分組A1虛擬結(jié)束時標0.2減去虛擬開始時標0得到的調(diào)度間隔&=0.2,由于~為0.25,則《為0.2x0.25=0.05,尸,由于線路帶寬r為1,于是分組A1的傳輸時間4為0.05。同理可以計算出各實時業(yè)務(wù)隊列中的其他實時業(yè)務(wù)分組的傳輸時間。在實際時鐘(即系統(tǒng)時間)丁=0時,分組A1的虛擬開始時標為O,滿足5f《F/0條件,發(fā)送分組Al,根據(jù)計算得到分組A1的傳輸時間為0.05;當T-0.05時,沒有實時業(yè)務(wù)分組滿足《^必條件,則從T=0.05開始發(fā)送非實時業(yè)務(wù)分組X;當T=0.1時,分組Bl和Cl的虛擬開始時標為0.1,滿足《^"^)條件,此時根據(jù)最小的合法虛擬結(jié)束時間優(yōu)先的選擇策略,從分組Bl和C2中選擇出虛擬結(jié)束時標小的分組Cl迸行發(fā)送(如果此時兩個分組虛擬結(jié)束時標相同,則任意選擇其中的一個業(yè)務(wù)分組發(fā)送),如果此時非實時業(yè)務(wù)分組X尚未發(fā)送完畢,則將該非實時業(yè)務(wù)分組X掛起,優(yōu)先地發(fā)送分組C1,根據(jù)計算得到的C1的傳輸時間為0.1;當丁=0.2時,分組81和分組八2的虛擬開始時標分別為0.2和0.1,都滿足《^釣條件,此時,選擇出虛擬結(jié)束時標小的A2進行發(fā)送,根據(jù)計算得到的A2的傳輸時間為0.025;當T-0,225時,分組B1的虛擬開始時標為O.l,滿足《^^")條件,此時,發(fā)送分組Bl,根據(jù)計算得到的分組B1的傳輸時間為0.1;當丁=0.325時,沒有實時業(yè)務(wù)分組滿足《《K々)條件,則從T=0.325開始發(fā)送非實時業(yè)務(wù)分組X。同理,依次發(fā)送分組A3、分組C2、非實時業(yè)務(wù)分組X、分組B2。參見圖5,以狀態(tài)轉(zhuǎn)移示意圖來進一步描述本發(fā)明實施例所述的分組調(diào)度方法。1)狀態(tài)A:讀取所有非空的實時業(yè)務(wù)隊列頭部分組的開始時標,S;^和F/"in的初始值為負值。其中,集合A由各實時業(yè)務(wù)隊列(非空)分組中滿足合法分組條件《《F》)的分組構(gòu)成;Sr表示當集合A為空時,隊列頭部不合法分組的最小虛擬開始時標,預(yù)示著非實時業(yè)務(wù)分組發(fā)送結(jié)束的時間,該S"m需要在非實時業(yè)務(wù)分組發(fā)送的時候動態(tài)更新,因為某空的實時業(yè)務(wù)隊列有實時業(yè)務(wù)分組到達時有可能該分組的虛擬開始時標小于該s;"in;如果有實時業(yè)務(wù)分組滿足條件s;^F力),s,將無意義,其值為負值,當且僅當所有分組都不滿足條件《S「(0時,S,才有意義,它的值為所有分組中最小的虛擬開始時標。If"n表示當集合A非空時,隊列頭部合法分組的最小虛擬結(jié)束時標,該具有最小虛擬結(jié)束時標的合法分組獲得發(fā)送機會,服務(wù)長度為整個分組長度。2)狀態(tài)B:當集合A為空時,轉(zhuǎn)移到發(fā)送非實時業(yè)務(wù)狀態(tài)B,狀態(tài)B設(shè)置一個非負參數(shù)L,表示一個非實時業(yè)務(wù)分組已經(jīng)發(fā)送的字節(jié)數(shù),B狀態(tài)剛開始的時候,根據(jù)L的取值,決定發(fā)送非實時隊列中分組的哪一部分,如果1>0,則從第L+1個字節(jié)開始發(fā)送非實時業(yè)務(wù)分組,表示這是上個非實時業(yè)務(wù)分組發(fā)送機會未發(fā)完的非實時業(yè)務(wù)分組;如果L=0,則從非實時業(yè)務(wù)分組頭部開始順序發(fā)送整個非實時業(yè)務(wù)分組,當發(fā)送完一個非實時業(yè)務(wù)分組后,L置O,如此循環(huán)直到Vs(t)2S,時轉(zhuǎn)移到狀態(tài)A。3)狀態(tài)C:當集合A為非空的時候,根據(jù)F/^得知決定需要優(yōu)先發(fā)送的實時業(yè)務(wù)隊列i中的頭部分組,根據(jù)狀態(tài)B中L的取值,決定是否需要暫時掛起非實時業(yè)務(wù)分組,當L不等于0時,優(yōu)先發(fā)送F/^對應(yīng)的實時業(yè)務(wù)分組,暫時掛起非實時業(yè)務(wù)分組;否則,直接發(fā)送F;^對應(yīng)的實時業(yè)務(wù)分組。當發(fā)送完一個實時業(yè)務(wù)分組后,轉(zhuǎn)移到狀態(tài)A。本發(fā)明實施例通過將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時分組,采取ShVC的調(diào)度算法發(fā)送實時業(yè)務(wù)分組,在發(fā)送實時業(yè)務(wù)分組的間隔內(nèi)發(fā)送非實時業(yè)務(wù)分組,既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,均勻、及時地輸出實時業(yè)務(wù),又能避免非實時業(yè)務(wù)分組等待時間過長的情況。本發(fā)明實施例提供的方案具有較強的實用性、可靠性和有效性。實時例2參見圖6,本發(fā)明實施例提供了一種分組調(diào)度設(shè)備,設(shè)備包括分類模塊,用于根據(jù)業(yè)務(wù)分組頭部信息將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;判斷模塊,用于根據(jù)整形虛擬時鐘算法判斷實時業(yè)務(wù)分組中是否存在有合法的實時業(yè)務(wù)分組;實時業(yè)務(wù)發(fā)送模塊,用于當判斷模塊的判斷結(jié)果是存在合法的實時業(yè)務(wù)分組時,或收到通知模塊的執(zhí)行發(fā)送通知時,采用整形虛擬時鐘算法發(fā)送存在的合法的實時業(yè)務(wù)分組;非實時業(yè)務(wù)發(fā)送模塊,用于當判斷模塊的判斷結(jié)果是不存在合法的實時業(yè)務(wù)分組時,發(fā)送非實時業(yè)務(wù)分組;或收到通知模塊的暫停發(fā)送通知時,暫停發(fā)送非實時業(yè)務(wù)分組;通知模塊,用于在非實時業(yè)務(wù)發(fā)送模塊發(fā)送非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組時,向非實時業(yè)務(wù)發(fā)送模塊發(fā)送暫停發(fā)送通知,并向?qū)崟r業(yè)務(wù)發(fā)送模塊發(fā)送執(zhí)行發(fā)送通11知。其中,判斷模塊具體包括合法集合構(gòu)成單元,用于在各實時隊列的頭部選擇合法的實時業(yè)務(wù)分組,構(gòu)成合法實時業(yè)務(wù)分組集合;判斷單元,用于判斷合法集合構(gòu)成單元構(gòu)成的合法實時業(yè)務(wù)分組集合是否為空,如果不為空,則存在合法的實時業(yè)務(wù)分組,否則,不存在合法的實時業(yè)務(wù)分組。其中,通知模塊具體包括發(fā)送結(jié)束時間獲取單元,用于在非實時業(yè)務(wù)發(fā)送模塊發(fā)送非實時業(yè)務(wù)分組時,將不合法的實時業(yè)務(wù)分組的最小開始時標作為非實時業(yè)務(wù)分組的發(fā)送結(jié)束時間;通知單元,用于在發(fā)送結(jié)束時間獲取單元獲取的結(jié)束時間到達時,向非實時業(yè)務(wù)發(fā)送模塊發(fā)送暫停發(fā)送通知,并向?qū)崟r業(yè)務(wù)發(fā)送模塊發(fā)送執(zhí)行發(fā)送通知。進一步地,通知模塊還包括更新子單元,用于當出現(xiàn)新的實時業(yè)務(wù)分組時,如果新的實時業(yè)務(wù)分組的虛擬開始時標小于非實時業(yè)務(wù)的結(jié)束時間,則更新發(fā)送結(jié)束時間獲取單元中的非實時業(yè)務(wù)的發(fā)送結(jié)束時間。本發(fā)明實施例提供的分組調(diào)度設(shè)備,通過將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時分組,采取ShVC的調(diào)度算法發(fā)送實時業(yè)務(wù)分組,在發(fā)送實時業(yè)務(wù)分組的間隔內(nèi)發(fā)送非實時業(yè)務(wù)分組,既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,均勻、及時地輸出實時業(yè)務(wù),又能避免非實時業(yè)務(wù)分組等待時間過長的情況。本發(fā)明實施例提供的方案具有較強的實用性、可靠性和有效性。參見表l,假設(shè)有三種實時業(yè)務(wù)r。、;和r,業(yè)務(wù)比重(即預(yù)約帶寬)一樣均為0.25,實時業(yè)務(wù)隊列r。、^和^對應(yīng)的實時業(yè)務(wù)分組的虛擬開始時標和虛擬結(jié)束時標示意表。如表1所示,實時業(yè)務(wù)隊列/;、^和^幾乎在同一時刻,涌入了實時業(yè)務(wù)分組,實時業(yè)務(wù)比重較大。表l<table>tableseeoriginaldocumentpage12</column></row><table>針對表1的情況,參見圖7,提供了采用本發(fā)明實施例提供的分組調(diào)度方法和現(xiàn)有技術(shù)提供的優(yōu)先發(fā)送實時業(yè)務(wù)分組的調(diào)度方法的發(fā)送流程比較示意圖,從圖7中可以看出,采用現(xiàn)有技術(shù)提供的方法,非實時業(yè)務(wù)分組需要等待相當長的時間才能發(fā)送,并且輸出的實時業(yè)務(wù)突發(fā)性也很大;而本發(fā)明實時例提供的方法在實時業(yè)務(wù)隊列突發(fā)性比較大的情況下,既能夠均勻的輸出實時業(yè)務(wù),也可以保證非實時業(yè)務(wù)的發(fā)送。本發(fā)明實施例通過將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時分組,采取ShVC的調(diào)度算法發(fā)送實時業(yè)務(wù)分組,在發(fā)送實時業(yè)務(wù)分組的間隔內(nèi)發(fā)送非實時業(yè)務(wù)分組,既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,均勻、及時地輸出實時業(yè)務(wù),又能避免非實時業(yè)務(wù)分組等待時間過長的情況。由于采取ShVC的調(diào)度算法發(fā)送實時業(yè)務(wù)分組,每個到達的實時業(yè)務(wù)分組都被分配了虛擬開始時標和虛擬結(jié)束時標,實時業(yè)務(wù)分組的發(fā)送是根據(jù)虛擬開始時標和虛擬結(jié)束時標控制的,有效地避免了輸出業(yè)務(wù)的較大的突發(fā)性;同樣,由于采取ShVC的調(diào)度算法發(fā)送實時業(yè)務(wù)分組,數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備接收的輸入業(yè)務(wù)數(shù)目越多,分配的預(yù)約帶寬就會越大,這樣可以保證實時業(yè)務(wù)的時延和時延抖動不會因為數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備接收的輸入業(yè)務(wù)分組數(shù)目的增多而增大;由于利用發(fā)送實時業(yè)務(wù)分組的間隙進行非實時業(yè)務(wù)分組的發(fā)送,即發(fā)送實時業(yè)務(wù)分組的個數(shù)是可以控制和統(tǒng)計的;避免了非實時業(yè)務(wù)分組等待時間過長的情況;只計算實時業(yè)務(wù)分組的虛擬開始時標和虛擬結(jié)束時標,而對于非實時業(yè)務(wù)分組只需要采用保證帶寬的調(diào)度算法,無須計算非實時業(yè)務(wù)的虛擬開始時標和虛擬結(jié)束時標,降低了系統(tǒng)的復(fù)雜度和計算開銷;實時業(yè)務(wù)分組的發(fā)送采用ShVC的調(diào)度算法,非實時業(yè)務(wù)分組的發(fā)送采用保證帶寬的調(diào)度算法,即使個實時業(yè)務(wù)分組的隊列或多個非實時業(yè)務(wù)分組隊列的調(diào)度也不需要其它調(diào)度算法的支持。本發(fā)明實施例中的部分步驟,可以利用軟件實現(xiàn),相應(yīng)的軟件程序可以存儲在可讀取的存儲介質(zhì)中,如光盤或硬盤等。以上所述僅為本發(fā)明的具體實施例,并不用以限制本發(fā)明,應(yīng)當指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,凡在不脫離本發(fā)明原理的前提下,所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。1權(quán)利要求1.一種分組調(diào)度方法,其特征在于,所述方法包括根據(jù)業(yè)務(wù)分組頭部信息將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;根據(jù)整形虛擬時鐘算法判斷實時業(yè)務(wù)分組中是否存在合法的實時業(yè)務(wù)分組,如果存在,則采用所述整形虛擬時鐘算法發(fā)送所述合法的實時業(yè)務(wù)分組,否則,發(fā)送非實時業(yè)務(wù)分組;如果在發(fā)送所述非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組,則暫停發(fā)送所述非實時業(yè)務(wù)分組,發(fā)送所述新的合法實時業(yè)務(wù)分組。2.如權(quán)利要求1所述的分組調(diào)度方法,其特征在于,所述判斷實時業(yè)務(wù)分組中是否存在合法的實時業(yè)務(wù)分組的步驟具體包括在各實時隊列的頭部選擇合法的實時業(yè)務(wù)分組,構(gòu)成合法實時業(yè)務(wù)分組集合,判斷所述集合是否為空,如果不為空,存在合法的實時業(yè)務(wù)分組,否則,不存在合法的實時業(yè)務(wù)分組。3.如權(quán)利要求1所述的分組調(diào)度方法,其特征在于,所述如果在發(fā)送所述非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組,則暫停發(fā)送所述非實時業(yè)務(wù)分組,發(fā)送所述新的合法實時業(yè)務(wù)分組的步驟具體包括在發(fā)送所述非實時業(yè)務(wù)分組時,將不合法的實時業(yè)務(wù)分組的最小開始時標作為所述非實時業(yè)務(wù)分組的發(fā)送結(jié)束時間,在所述結(jié)束時間到達時,暫停發(fā)送所述非實時業(yè)務(wù)分組,發(fā)送合法實時業(yè)務(wù)分組。4.如權(quán)利要求3所述的分組調(diào)度方法,其特征在于,所述方法還包括當出現(xiàn)新的實時業(yè)務(wù)分組時,如果所述新的實時業(yè)務(wù)分組的虛擬開始時標小于所述非實時業(yè)務(wù)的結(jié)束時間,則更新所述非實時業(yè)務(wù)的結(jié)束時間。5.如權(quán)利要求2-4中任一權(quán)利要求所述的分組調(diào)度方法,其特征在于,所述合法的實時業(yè)務(wù)分組為滿足虛擬開始時標小于或等于當前系統(tǒng)時間的實時業(yè)務(wù)分組。6.如權(quán)利要求1所述的分組調(diào)度方法,其特征在于,所述非實時分組采用保證帶寬的調(diào)度算法進行發(fā)送。7.—種分組調(diào)度設(shè)備,其特征在于,所述設(shè)備包括分類模塊、判斷模塊、實時業(yè)務(wù)發(fā)送模塊、非實時業(yè)務(wù)發(fā)送模塊和通知模塊;所述分類模塊,用于根據(jù)業(yè)務(wù)分組頭部信息將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;所述判斷模塊,用于根據(jù)整形虛擬時鐘算法判斷實時業(yè)務(wù)分組中是否存在有合法的實時業(yè)務(wù)分組;所述實時業(yè)務(wù)發(fā)送模塊,用于當所述判斷模塊的判斷結(jié)果為存在合法的實時業(yè)務(wù)分組時,或收到所述通知模塊的執(zhí)行發(fā)送通知時,釆用整形虛擬時鐘算法發(fā)送所述合法的實時業(yè)務(wù)分組;所述非實時業(yè)務(wù)發(fā)送模塊,用于當所述判斷模塊的判斷結(jié)果為不存在合法的實時業(yè)務(wù)分組時,發(fā)送非實時業(yè)務(wù)分組;或收到所述通知模塊的暫停發(fā)送通知時,暫停發(fā)送非實時業(yè)務(wù)分組;所述通知模塊,用于在所述非實時業(yè)務(wù)發(fā)送模塊發(fā)送所述非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組時,向所述非實時業(yè)務(wù)發(fā)送模塊發(fā)送暫停發(fā)送通知,并向所述實時業(yè)務(wù)發(fā)送模塊發(fā)送執(zhí)行發(fā)送通知。8.如權(quán)利要求7所述的分組調(diào)度設(shè)備,其特征在于,所述判斷模塊具體包括合法集合構(gòu)成單元,用于在各實時隊列的頭部選擇合法的實時業(yè)務(wù)分組,構(gòu)成合法實時業(yè)務(wù)分組集合;判斷單元,用于判斷所述合法集合構(gòu)成單元構(gòu)成的合法實時業(yè)務(wù)分組集合是否為空,如果不為空,則存在合法的實時業(yè)務(wù)分組,否則,不存在合法的實時業(yè)務(wù)分組。9.如權(quán)利要求7所述的分組調(diào)度設(shè)備,其特征在于,所述通知模塊具體包括發(fā)送結(jié)束時間獲取單元,用于在所述非實時業(yè)務(wù)發(fā)送模塊發(fā)送所述非實時業(yè)務(wù)分組時,將不合法的實時業(yè)務(wù)分組的最小開始時標作為所述非實時業(yè)務(wù)分組的發(fā)送結(jié)束時間;通知單元,用于在所述發(fā)送結(jié)束時間獲取單元獲取的結(jié)束時間到達時,向所述非實時業(yè)務(wù)發(fā)送模塊發(fā)送暫停發(fā)送通知,并向所述實時業(yè)務(wù)發(fā)送模塊發(fā)送執(zhí)行發(fā)送通知。10.如權(quán)利要求9所述的分組調(diào)度設(shè)備,其特征在于,所述通知模塊還包括更新子單元,用于當出現(xiàn)新的實時業(yè)務(wù)分組時,如果所述新的實時業(yè)務(wù)分組的虛擬開始時標小于所述非實時業(yè)務(wù)的結(jié)束時間,則更新所述發(fā)送結(jié)束時間獲取單元中的非實時業(yè)務(wù)的發(fā)送結(jié)束時間。全文摘要本發(fā)明實施例公開了一種分組調(diào)度方法和設(shè)備,屬于通信領(lǐng)域。所述方法包括根據(jù)業(yè)務(wù)分組頭部信息將業(yè)務(wù)分組劃分為實時業(yè)務(wù)分組和非實時業(yè)務(wù)分組;根據(jù)整形虛擬時鐘算法判斷實時業(yè)務(wù)分組中是否存在合法的實時業(yè)務(wù)分組,如果存在,則發(fā)送合法的實時業(yè)務(wù)分組,否則,發(fā)送非實時業(yè)務(wù)分組;如果在發(fā)送非實時業(yè)務(wù)的過程中出現(xiàn)新的合法實時業(yè)務(wù)分組,則暫停發(fā)送非實時業(yè)務(wù)分組,發(fā)送新的合法實時業(yè)務(wù)分組。所述設(shè)備包括分類模塊、判斷模塊、實時業(yè)務(wù)發(fā)送模塊、非實時業(yè)務(wù)發(fā)送模塊和通知模塊。本發(fā)明實施例既能保證實時業(yè)務(wù)分組的發(fā)送不受非實時業(yè)務(wù)分組的影響,又能避免非實時業(yè)務(wù)分組等待時間過長的情況,具有較強的實用性、可靠性和有效性。文檔編號H04L12/56GK101465794SQ20071017990公開日2009年6月24日申請日期2007年12月19日優(yōu)先權(quán)日2007年12月19日發(fā)明者劍李,洋楊,涂曉東,蔣章震,軍謝申請人:華為技術(shù)有限公司