專利名稱:業(yè)務(wù)調(diào)度方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及通信領(lǐng)域中業(yè)務(wù)調(diào)度方法及裝置。
技術(shù)背景
為了保證通信過程中業(yè)務(wù)流量不丟失并且具有流量整形效果,現(xiàn)有通信過程中對 端口的流量整形大多采用令牌桶的方式。令牌桶的流量整形方式為令牌桶中的每一個令 牌都代表一個或者幾個字節(jié),如果令牌桶中存在令牌,則允許進(jìn)行數(shù)據(jù)發(fā)送;而如果令牌桶 中不存在令牌,則不允許進(jìn)行數(shù)據(jù)發(fā)送。
在通信過程中可能存在多個業(yè)務(wù)并行進(jìn)行,為了能夠順利處理多個業(yè)務(wù),需要將 各個不同優(yōu)先級業(yè)務(wù)要發(fā)送的數(shù)據(jù)分配到隊列中,然后按照隊列的先后關(guān)系來發(fā)送隊列中 的業(yè)務(wù)數(shù)據(jù)。在現(xiàn)有技術(shù)中,令牌桶技術(shù)的應(yīng)用過程中,同一端口內(nèi)部的不同優(yōu)先級隊列中 的業(yè)務(wù)數(shù)據(jù)共享同一個令牌桶。
在實現(xiàn)上述令牌桶方案的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題低 優(yōu)先級隊列中的業(yè)務(wù)對時延和抖動要求不高,但低優(yōu)先級隊列中的業(yè)務(wù)所發(fā)送的數(shù)據(jù)很可 能較長,在發(fā)送完一個低優(yōu)先級隊列中的較長業(yè)務(wù)數(shù)據(jù)后,令牌桶中的令牌數(shù)量可能會消 耗成負(fù)值,造成后續(xù)需要發(fā)送的業(yè)務(wù)數(shù)據(jù)要等到令牌桶里的令牌數(shù)填充到正值后才能發(fā) 送。如果后續(xù)發(fā)送的是高優(yōu)先級隊列中的業(yè)務(wù),如電路仿真業(yè)務(wù)、1588時鐘報文或者語音 業(yè)務(wù),則會導(dǎo)致高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖動比較大。發(fā)明內(nèi)容
本發(fā)明的實施例提供一種業(yè)務(wù)調(diào)度方法及裝置,縮小高優(yōu)先級隊列中的業(yè)務(wù)的延 遲和抖動。
為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案
一種業(yè)務(wù)調(diào)度方法,包括
根據(jù)隊列的優(yōu)先級為隊列分配令牌閾值,其中,低優(yōu)先級隊列對應(yīng)的令牌閾值大 于高優(yōu)先級隊列對應(yīng)的令牌閾值;
在需要發(fā)送所述隊列時,則確認(rèn)令牌桶中的令牌數(shù)量,如果令牌數(shù)量小于所述令 牌閾值時,則停止發(fā)送所述隊列,如果令牌數(shù)量大于所述令牌閾值,則發(fā)送所述隊列。
一種業(yè)務(wù)調(diào)度裝置,包括
配置單元,用于根據(jù)隊列的優(yōu)先級為隊列分配令牌閾值,其中,低優(yōu)先級隊列對應(yīng) 的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值;
處理單元,用于在需要發(fā)送所述隊列時,確定令牌桶中當(dāng)前的令牌數(shù)量,如果令牌 桶中的當(dāng)前的令牌數(shù)量小于所述令牌閾值,則停止發(fā)送所述隊列,如果令牌桶中的當(dāng)前的 令牌數(shù)量大于所述令牌閾值,則發(fā)送所述隊列。
本發(fā)明實施例提供的業(yè)務(wù)調(diào)度方法及裝置,由于按照隊列的優(yōu)先級分別配置令牌 閾值,并且低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值。當(dāng)令牌桶中當(dāng)前的令牌數(shù)量大于或等于最大的令牌閾值時,則所有優(yōu)先級隊列中的業(yè)務(wù)均允許發(fā)送。 如果先發(fā)送一個較低優(yōu)先級隊列中的長包造成消耗令牌桶內(nèi)的較多令牌時,此時若需要發(fā) 送一個較高優(yōu)先級隊列中的業(yè)務(wù),可能出現(xiàn)如下情況
一、由于之前在發(fā)送較低優(yōu)先級隊列中的長包時,令牌數(shù)量要求大于或等于較大 的令牌閾值,所以,在發(fā)送完較低優(yōu)先級隊列中的長包之后剩余的令牌數(shù)量仍然可能比較 小的令牌閾值大,使得后續(xù)能夠直接發(fā)送較高優(yōu)先級隊列中的業(yè)務(wù),從而實現(xiàn)縮小較高優(yōu) 先級隊列中的業(yè)務(wù)的延遲和抖動。
二、在令牌數(shù)量大于或等于較大的令牌閾值的情況下,即使在發(fā)送完較低優(yōu)先級 隊列中的長包之后剩余的令牌數(shù)量比較小的令牌閾值小,但只需要令牌桶內(nèi)的令牌數(shù)量恢 復(fù)到較小的令牌閾值,需要恢復(fù)的令牌數(shù)量小于(具體數(shù)值為之前令牌數(shù)量與較大令牌閾 值的差值)或等于所述較低優(yōu)先級隊列中的長包的長度減去兩個閾值之間的差值,即可發(fā) 送較高優(yōu)先級隊列中的業(yè)務(wù);而現(xiàn)有技術(shù)中在令牌數(shù)量大于或者等于現(xiàn)有技術(shù)中令牌閾值 的情況下,若發(fā)送完一個較低優(yōu)先級隊列中的長包后,需要恢復(fù)的令牌數(shù)量小于(具體數(shù) 值為之前令牌數(shù)量與較大令牌閾值的差值)或者等于較低優(yōu)先級隊列中的長包的長度,才 能夠發(fā)送后續(xù)的業(yè)務(wù);所以,本發(fā)明實施例中恢復(fù)令牌數(shù)量的時間相對于現(xiàn)有技術(shù)較短, 能夠較快地允許發(fā)送高優(yōu)先級隊列中的業(yè)務(wù),從而縮小高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖 動。
另外,當(dāng)令牌桶中當(dāng)前的令牌數(shù)量位于兩個令牌閾值之間時,則可以限制較高令 牌閾值對應(yīng)隊列中的業(yè)務(wù)(較低優(yōu)先級隊列中的業(yè)務(wù))的發(fā)送,但是允許較低令牌閾值對 應(yīng)隊列中的業(yè)務(wù)(較高優(yōu)先級隊列中的業(yè)務(wù))的發(fā)送,保證較高優(yōu)先級隊列中的業(yè)務(wù)能夠 優(yōu)先發(fā)送,從而實現(xiàn)縮小較高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖動。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例1中業(yè)務(wù)調(diào)度方法流程圖2為本發(fā)明實施例1中業(yè)務(wù)調(diào)度裝置框圖3為本發(fā)明實施例2中業(yè)務(wù)調(diào)度方法流程圖4為本發(fā)明實施例2中業(yè)務(wù)調(diào)度裝置框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
實施例1
本發(fā)明實施例提供一種業(yè)務(wù)調(diào)度方法,如圖1所示,所述業(yè)務(wù)調(diào)度方法包括
101、根據(jù)隊列的優(yōu)先級為隊列分配令牌閾值,其中,低優(yōu)先級的隊列對應(yīng)的令牌 閾值大于高優(yōu)先級的隊列對應(yīng)的令牌閾值;
為了便于對不同優(yōu)先級別隊列中的業(yè)務(wù)分別進(jìn)行控制,在發(fā)送隊列中的業(yè)務(wù)之前 本發(fā)明實施例中為各個優(yōu)先級的隊列分別配置對應(yīng)的令牌閾值,并且低優(yōu)先級隊列對應(yīng)的 令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值。
—般情況下,可以將隊列的優(yōu)先級劃分成兩種或兩種以上,例如將隊列劃分為兩 種優(yōu)先級,包括高優(yōu)先級隊列和低優(yōu)先級隊列,此時高優(yōu)先級隊列對應(yīng)的是較低的令牌閾 值,低優(yōu)先級隊列對應(yīng)的是較高的令牌閾值。再如將隊列劃分為三種優(yōu)先級,包括高優(yōu)先 級隊列、中優(yōu)先級隊列和低優(yōu)先級隊列,則高優(yōu)先級隊列對應(yīng)的是較低的令牌閾值,中優(yōu)先 級隊列對應(yīng)中間的令牌閾值,低優(yōu)先級隊列對應(yīng)的是較高的令牌閾值。
實際上,可以將隊列劃分成更多種優(yōu)先級,并分別配置相應(yīng)的令牌閾值,此處不再 贅述。
102、在需要發(fā)送業(yè)務(wù)時,則確認(rèn)令牌桶中當(dāng)前的令牌數(shù)量,將令牌桶中當(dāng)前的令 牌數(shù)量與需要發(fā)送隊列的優(yōu)先級對應(yīng)的令牌閾值進(jìn)行比較,本過程中令牌桶中當(dāng)前的令牌 數(shù)量可以通過記錄的方式得到。
103、在令牌桶中當(dāng)前的令牌數(shù)量小于需要發(fā)送隊列的優(yōu)先級對應(yīng)的令牌閾值時, 停止發(fā)送所述隊列,從而限制了對令牌桶中令牌的繼續(xù)消耗;在令牌桶中當(dāng)前的令牌數(shù)量 大于或等于需要發(fā)送隊列的優(yōu)先級對應(yīng)的令牌閾值時,則發(fā)送所述隊列。
在具體實現(xiàn)時,停止發(fā)送隊列的方式可以采用但不限于如下方案將所需發(fā)送業(yè) 務(wù)所在隊列的狀態(tài)設(shè)定為無效狀態(tài),由于處于無效狀態(tài)隊列中的業(yè)務(wù)是不允許發(fā)送的,從 而實現(xiàn)停止發(fā)送的目的。
本發(fā)明實施例還提供一種業(yè)務(wù)調(diào)度裝置,如圖2所示,所述裝置包括配置單元 201、處理單元203。
為了便于對不同優(yōu)先級別隊列中的業(yè)務(wù)分別進(jìn)行控制,在發(fā)送隊列中的業(yè)務(wù)之前 本發(fā)明實施例中的配置單元201為至少兩種優(yōu)先級的隊列分別配置對應(yīng)的令牌閾值,并且 低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值;處理單元203用于在需 要發(fā)送所述隊列時,確定令牌桶中當(dāng)前的令牌數(shù)量,在令牌桶中當(dāng)前的令牌數(shù)量小于需要 發(fā)送隊列的優(yōu)先級對應(yīng)的令牌閾值時,停止發(fā)送所述隊列,從而限制了對令牌桶中令牌的 繼續(xù)消耗,處理單元203還用于在令牌桶中的當(dāng)前的令牌數(shù)量大于所述令牌閾值,發(fā)送所 述隊列。
本發(fā)明實施例提供的業(yè)務(wù)調(diào)度方法及裝置,由于按照隊列的優(yōu)先級分別配置令牌 閾值,并且低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值。當(dāng)令牌桶中 當(dāng)前的令牌數(shù)量大于或等于最大的令牌閾值時,則所有優(yōu)先級隊列中的業(yè)務(wù)均允許發(fā)送。 如果先發(fā)送一個較低優(yōu)先級隊列中的長包造成消耗令牌桶內(nèi)的較多令牌時,此時若需要發(fā) 送一個較高優(yōu)先級隊列中的業(yè)務(wù),可能出現(xiàn)如下情況
一、由于之前在發(fā)送較低優(yōu)先級隊列中的長包時,令牌數(shù)量要求大于或等于較大 的令牌閾值,所以,在發(fā)送完較低優(yōu)先級隊列中的長包之后剩余的令牌數(shù)量仍然可能比較 小的令牌閾值大,使得后續(xù)能夠直接發(fā)送較高優(yōu)先級隊列中的業(yè)務(wù),從而實現(xiàn)縮小較高優(yōu) 先級隊列中的業(yè)務(wù)的延遲和抖動。
二、在令牌數(shù)量大于或等于較大的令牌閾值的情況下,即使在發(fā)送完較低優(yōu)先級 隊列中的長包之后剩余的令牌數(shù)量比較小的令牌閾值小,但只需要令牌桶內(nèi)的令牌數(shù)量恢 復(fù)到較小的令牌閾值,需要恢復(fù)的令牌數(shù)量小于(具體數(shù)值為之前令牌數(shù)量與較大令牌閾 值的差值)或等于所述較低優(yōu)先級隊列中的長包的長度減去兩個閾值之間的差值,即可發(fā) 送較高優(yōu)先級隊列中的業(yè)務(wù);而現(xiàn)有技術(shù)中在令牌數(shù)量大于或者等于現(xiàn)有技術(shù)中令牌閾值 的情況下,若發(fā)送完一個較低優(yōu)先級隊列中的長包后,需要恢復(fù)的令牌數(shù)量小于(具體數(shù) 值為之前令牌數(shù)量與較大令牌閾值的差值)或者等于較低優(yōu)先級隊列中的長包的長度,才 能夠發(fā)送后續(xù)的業(yè)務(wù);所以,本發(fā)明實施例中恢復(fù)令牌數(shù)量的時間相對于現(xiàn)有技術(shù)較短, 能夠較快地允許發(fā)送高優(yōu)先級隊列中的業(yè)務(wù),從而縮小高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖 動。
另外,當(dāng)令牌桶中當(dāng)前的令牌數(shù)量位于兩個令牌閾值之間時,則可以限制較高令 牌閾值對應(yīng)隊列中的業(yè)務(wù)(較低優(yōu)先級隊列中的業(yè)務(wù))的發(fā)送,但是允許較低令牌閾值對 應(yīng)隊列中的業(yè)務(wù)(較高優(yōu)先級隊列中的業(yè)務(wù))的發(fā)送,保證較高優(yōu)先級隊列中的業(yè)務(wù)能夠 優(yōu)先發(fā)送,從而實現(xiàn)縮小較高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖動。
實施例2
本發(fā)明實施例提供一種業(yè)務(wù)調(diào)度方法,在發(fā)明本實施例中業(yè)務(wù)可以劃分為多個優(yōu) 先級,本發(fā)明實施例中以將業(yè)務(wù)劃分為高優(yōu)先級和低優(yōu)先級兩種為例進(jìn)行說明,如圖3所 示,所述業(yè)務(wù)調(diào)度方法包括
301、為了便于對不同優(yōu)先級別隊列中的業(yè)務(wù)分別進(jìn)行控制,在發(fā)送業(yè)務(wù)之前本發(fā) 明實施例中為各個優(yōu)先級的隊列分別配置對應(yīng)的令牌閾值,并且低優(yōu)先級隊列對應(yīng)的令牌 閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值。
一般情況,需要低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾 值,在需要發(fā)送高優(yōu)先級隊列中的業(yè)務(wù)時,只需要令牌桶內(nèi)的令牌數(shù)量恢復(fù)到較低的令牌 閾值,通過后續(xù)的處理即可允許發(fā)送高優(yōu)先級隊列中的業(yè)務(wù),從而縮小了高優(yōu)先級隊列中 的業(yè)務(wù)的延遲和抖動。
為了使一個較長的低優(yōu)先級隊列中的業(yè)務(wù)發(fā)送后令牌桶中所剩令牌數(shù)量不小于 較低的令牌閾值(即高優(yōu)先級隊列對應(yīng)的令牌閾值),保證后續(xù)到達(dá)的高優(yōu)先級隊列中的 業(yè)務(wù)的即時允許發(fā)送,在配置令牌閾值時,要使所述低優(yōu)先級隊列對應(yīng)的令牌閾值減去高 優(yōu)先級隊列對應(yīng)的令牌閾值得到的差值不小于低優(yōu)先級隊列中的業(yè)務(wù)的一個最大包長。當(dāng) 然,為了保證低優(yōu)先級隊列中的業(yè)務(wù)能夠順利地發(fā)送,本發(fā)明實施例中低優(yōu)先級隊列對應(yīng) 的令牌閾值不能過高,以免低優(yōu)先級隊列中的業(yè)務(wù)總是不能發(fā)送出去。
302、為了便于實施對當(dāng)前令牌桶中令牌數(shù)量和令牌閾值進(jìn)行大小比較,需要對當(dāng) 前令牌桶中令牌數(shù)量進(jìn)行記錄。
303、在需要發(fā)送多個端口的業(yè)務(wù)時,為了能夠較好平衡各個端口之間的發(fā)送業(yè)務(wù) 的時間,可以采用加權(quán)循環(huán)技術(shù)(WRR)從多個端口中選擇一個端口 ;如果只存在一個端口 則可以省略本過程,而直接執(zhí)行過程304。
304、在確定端口后,為了能夠從該端口中選出相應(yīng)的業(yè)務(wù)進(jìn)行發(fā)送,需要檢測該 端口所需發(fā)送業(yè)務(wù)所在隊列的優(yōu)先級,如果檢測到該端口所需發(fā)送業(yè)務(wù)所在隊列為低優(yōu)先 級隊列,則執(zhí)行過程305 ;如果檢測到該端口所需發(fā)送業(yè)務(wù)所在隊列為高優(yōu)先級隊列,執(zhí)行過程308。
在實際運(yùn)用時,一般高優(yōu)先級隊列會排在低優(yōu)先級隊列之前,可以通過只檢測當(dāng) 前需要發(fā)送業(yè)務(wù)的所在隊列的優(yōu)先級,來確定該端口要發(fā)送的業(yè)務(wù)所在隊列的優(yōu)先級,如 果當(dāng)前需要發(fā)送的業(yè)務(wù)所在隊列為低優(yōu)先級隊列,則可認(rèn)為該端口要發(fā)送業(yè)務(wù)所在隊列為 低優(yōu)先級隊列,執(zhí)行過程305。如果當(dāng)前需要發(fā)送的業(yè)務(wù)所在隊列為高優(yōu)先級隊列,表示該 端口要發(fā)送的業(yè)務(wù)所在隊列為高優(yōu)先級隊列,則執(zhí)行過程308。
305、確定令牌桶中當(dāng)前的令牌數(shù)量,將記錄的當(dāng)前令牌桶中的令牌數(shù)量與低優(yōu)先 級隊列對應(yīng)的令牌閾值(即較高的令牌閾值)進(jìn)行大小比較,如果當(dāng)前令牌桶中令牌數(shù)量 不小于較高的令牌閾值,則執(zhí)行過程306 ;如果當(dāng)前令牌桶中令牌數(shù)量小于較高的令牌閾 值,則執(zhí)行過程307。
306、將端口中所需發(fā)送的業(yè)務(wù)所在隊列的狀態(tài)修改為有效狀態(tài),執(zhí)行步驟311。
307、將端口中所需發(fā)送的業(yè)務(wù)所在隊列的狀態(tài)修改為無效狀態(tài),執(zhí)行步驟311。
308、將記錄得到的當(dāng)前令牌桶中的令牌數(shù)量與高優(yōu)先級隊列對應(yīng)的令牌閾值 (即較低的令牌閾值)進(jìn)行大小比較,如果當(dāng)前令牌桶中令牌數(shù)量不小于較低的令牌閾值, 則執(zhí)行過程309 ;如果當(dāng)前令牌桶中令牌數(shù)量小于較低的令牌閾值,則執(zhí)行過程310。
309、將端口中所需發(fā)送的業(yè)務(wù)所在隊列的狀態(tài)修改為有效狀態(tài),執(zhí)行步驟311。
310、將端口中所需發(fā)送的業(yè)務(wù)所在隊列的狀態(tài)修改為無效狀態(tài),執(zhí)行步驟311。
311、將修改后的業(yè)務(wù)所在隊列的狀態(tài)寫入狀態(tài)表,其中有效狀態(tài)表示允許發(fā)送該 隊列中的業(yè)務(wù),而無效狀態(tài)則表示不允許發(fā)送該隊列中的業(yè)務(wù)。在實際運(yùn)用時,可以通過狀 態(tài)表和配置表確定出該端口中要發(fā)送的業(yè)務(wù)所在隊列具體為有效狀態(tài)還是無效狀態(tài),并且 確定產(chǎn)生該狀態(tài)對應(yīng)隊列的優(yōu)先級,以便于為端口調(diào)度提供方便。
在上述305和308過程中進(jìn)行比較過程,實際運(yùn)用時,可以將需要比較的兩個數(shù)分 別讀入到相應(yīng)的存儲器中,然后用比較器對存儲器中的數(shù)值進(jìn)行比較,這是一種較為常用 的比較技術(shù),此處不再贅述比較器和存儲器的具體實現(xiàn)。
本發(fā)明實施例是以兩種優(yōu)先級隊列為例進(jìn)行說明的,實際運(yùn)用時,隊列的優(yōu)先級 種類可以為3種甚至更多,只是對于每種優(yōu)先級隊列都需要對應(yīng)設(shè)置令牌閾值,并且令牌 閾值的大小關(guān)系與上述301過程中要求相同。
現(xiàn)有技術(shù)中只要令牌數(shù)量大于0就允許各種優(yōu)先級隊列中的業(yè)務(wù)發(fā)送,直至令牌 桶數(shù)量出現(xiàn)負(fù)值,并且在令牌恢復(fù)過程中,只要令牌數(shù)量大于或者等于0,就再次允許發(fā)送 隊列中的業(yè)務(wù)(不論業(yè)務(wù)所在隊列優(yōu)先級的高低)。
由于目前令牌桶技術(shù)中統(tǒng)一采用閾值0進(jìn)行控制,本發(fā)明實施例中最高優(yōu)先級隊 列對應(yīng)的令牌閾值最好設(shè)定為0,使得本發(fā)明實施例縮小高優(yōu)先級隊列中的業(yè)務(wù)的延遲和 抖動效果更加明顯。
下面以如下應(yīng)用場景為例進(jìn)行說明高令牌閾值為100,低令牌閾值為0。此場景 下,當(dāng)令牌數(shù)量消耗至100以下、0以上時,低優(yōu)先級隊列中的業(yè)務(wù)不允許發(fā)送,高優(yōu)先級隊 列中的業(yè)務(wù)可以發(fā)送,此時可以保證高優(yōu)先級隊列中的業(yè)務(wù)的繼續(xù)發(fā)送,在令牌數(shù)量恢復(fù) 至100期間,高優(yōu)先級隊列中的業(yè)務(wù)能夠及時發(fā)送,具有較低延遲和較低抖動。
如果令牌數(shù)量消耗至0以下,假設(shè)為_2,此時現(xiàn)有技術(shù)中在等待2個令牌的恢復(fù)時 間后,允許發(fā)送任何優(yōu)先級別隊列中的業(yè)務(wù),若此時先到達(dá)的業(yè)務(wù)為低優(yōu)先級的業(yè)務(wù),則導(dǎo)致后續(xù)到達(dá)的高優(yōu)先級隊列中的業(yè)務(wù)需要繼續(xù)等待,造成現(xiàn)有技術(shù)中高優(yōu)先級隊列中的業(yè) 務(wù)的延遲和抖動較高。而本發(fā)明同樣等待2個令牌的恢復(fù)時間后就能繼續(xù)發(fā)送高優(yōu)先級隊 列中的業(yè)務(wù),但是不允許立即發(fā)送低優(yōu)先級隊列中的業(yè)務(wù),縮小了高優(yōu)先級隊列中的業(yè)務(wù) 的延遲和抖動。
本發(fā)明實施例還提供一種業(yè)務(wù)調(diào)度裝置,如圖4所示,所述裝置包括配置單元 401,處理單元403,記錄單元404。
其中,配置單元401用于為至少兩種優(yōu)先級的隊列分別配置對應(yīng)的令牌閾值,并 且低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值;具體而言,可以將所 配置的令牌閾值以配置表的形式保存在存儲器中。在確定端口后,如果該端口中存在需要 發(fā)送的隊列,所述處理單元403用于在令牌桶中當(dāng)前的令牌數(shù)量小于需要發(fā)送隊列的優(yōu)先 級對應(yīng)的令牌閾值時,將所需發(fā)送業(yè)務(wù)所在隊列的狀態(tài)設(shè)定為無效狀態(tài),以便于能夠停止 發(fā)送所述隊列。
通過將業(yè)務(wù)所在隊列狀態(tài)設(shè)定為無效狀態(tài)可以禁止該業(yè)務(wù)發(fā)送出去,并且由于低 優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值,在需要發(fā)送高優(yōu)先級隊列 中的業(yè)務(wù)時,只需要令牌桶內(nèi)的令牌數(shù)量恢復(fù)到較低的令牌閾值,由于需要恢復(fù)的令牌閾 值較低,使得恢復(fù)時間縮短,從而縮小了高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖動。
為了保證業(yè)務(wù)能夠發(fā)送出去,本發(fā)明實施例中處理單元403還用于在令牌桶中當(dāng) 前的令牌數(shù)量不小于所需要發(fā)送的隊列的優(yōu)先級對應(yīng)的令牌閾值時,將所需發(fā)送業(yè)務(wù)所在 隊列的狀態(tài)設(shè)定為有效狀態(tài),隊列狀態(tài)處于有效狀態(tài)時,該隊列就可以進(jìn)行發(fā)送。
上述令牌桶中當(dāng)前的令牌數(shù)量可以通過所述記錄單元404進(jìn)行記錄。
為了使一個較長的低優(yōu)先級隊列中的業(yè)務(wù)發(fā)送后令牌桶中所剩令牌數(shù)量不小于 較低的令牌閾值(即高優(yōu)先級隊列對應(yīng)的令牌閾值),保證后續(xù)到達(dá)的高優(yōu)先級隊列中的 業(yè)務(wù)的即時允許發(fā)送,所述配置單元401在配置令牌閾值時,要使所述低優(yōu)先級隊列對應(yīng) 的令牌閾值減去高優(yōu)先級隊列對應(yīng)的令牌閾值得到的差值不小于低優(yōu)先級隊列中業(yè)務(wù)的 一個最大包長。
本發(fā)明實施例的優(yōu)先級可以直接采用隊列自身默認(rèn)的優(yōu)先級,使得各個用戶對隊 列優(yōu)先級的管理統(tǒng)一;或者本發(fā)明實施例的優(yōu)先級可以采用臨時為隊列設(shè)定的優(yōu)先級,這 樣可以便于用戶自己對隊列優(yōu)先級進(jìn)行管理,實現(xiàn)個性化服務(wù)。
在本發(fā)明實施例中,所述處理單元403可以采用如下實現(xiàn)方式所述處理單元包 括存儲器,比較器和狀態(tài)表。存儲器用于存儲記錄單元提交的當(dāng)前令牌數(shù)量記錄結(jié)果、以及 由配置單元中配置的令牌閾值;在檢測到需要發(fā)送的隊列為高優(yōu)先級時,所述存儲器中的 令牌閾值為較低的令牌閾值;當(dāng)檢測到需要發(fā)送的隊列為低優(yōu)先級時,所述存儲器中的令 牌閾值為較高的令牌閾值。
上述比較器對存儲器中的兩個數(shù)據(jù)的大小比較,并將結(jié)果寫入狀態(tài)表。如果比較 結(jié)果為當(dāng)前令牌數(shù)量不小于令牌閾值,則將有效狀態(tài)寫入狀態(tài)表;如果比較結(jié)果為當(dāng)前令 牌數(shù)小于令牌閾值,則將無效狀態(tài)寫入狀態(tài)表。
本發(fā)明實施例提供的業(yè)務(wù)調(diào)度方法及裝置,由于按照隊列的優(yōu)先級分別配置令牌 閾值,并且低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值,并通過將業(yè) 務(wù)所在的優(yōu)先級隊列的狀態(tài)設(shè)定為無效狀態(tài)使得不允許發(fā)送該業(yè)務(wù)。
當(dāng)令牌桶中當(dāng)前的令牌數(shù)量大于或等于最大的令牌閾值時,則所有優(yōu)先級隊列中 的業(yè)務(wù)均允許發(fā)送。如果先發(fā)送一個較低優(yōu)先級隊列中的長包造成消耗令牌桶內(nèi)的較多令 牌時,此時若需要發(fā)送一個較高優(yōu)先級隊列中的業(yè)務(wù),可能出現(xiàn)如下情況
一、由于之前在發(fā)送較低優(yōu)先級隊列中的長包時,令牌數(shù)量要求大于或等于較大 的令牌閾值,所以,在發(fā)送完較低優(yōu)先級隊列中的長包之后剩余的令牌數(shù)量仍然可能比較 小的令牌閾值大,使得后續(xù)能夠直接發(fā)送較高優(yōu)先級隊列中的業(yè)務(wù),從而實現(xiàn)縮小較高優(yōu) 先級隊列中的業(yè)務(wù)的延遲和抖動。
二、在令牌數(shù)量大于或等于較大的令牌閾值的情況下,即使在發(fā)送完較低優(yōu)先級 隊列中的長包之后剩余的令牌數(shù)量比較小的令牌閾值小,但只需要令牌桶內(nèi)的令牌數(shù)量恢 復(fù)到較小的令牌閾值,需要恢復(fù)的令牌數(shù)量小于(具體數(shù)值為之前令牌數(shù)量與較大令牌閾 值的差值)或等于所述較低優(yōu)先級隊列中的長包的長度減去兩個閾值之間的差值,即可發(fā) 送較高優(yōu)先級隊列中的業(yè)務(wù);而現(xiàn)有技術(shù)中在令牌數(shù)量大于或者等于現(xiàn)有技術(shù)中令牌閾值 的情況下,若發(fā)送完一個較低優(yōu)先級隊列中的長包后,需要恢復(fù)的令牌數(shù)量小于(具體數(shù) 值為之前令牌數(shù)量與較大令牌閾值的差值)或者等于較低優(yōu)先級隊列中的長包的長度,才 能夠發(fā)送后續(xù)的業(yè)務(wù);所以,本發(fā)明實施例中恢復(fù)令牌數(shù)量的時間相對于現(xiàn)有技術(shù)較短, 能夠較快地允許發(fā)送高優(yōu)先級隊列中的業(yè)務(wù),從而縮小高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖 動。
另外,當(dāng)令牌桶中當(dāng)前的令牌數(shù)量位于兩個令牌閾值之間時,則可以限制較高令 牌閾值對應(yīng)隊列中的業(yè)務(wù)(較低優(yōu)先級隊列中的業(yè)務(wù))的發(fā)送,但是允許較低令牌閾值對 應(yīng)隊列中的業(yè)務(wù)(較高優(yōu)先級隊列中的業(yè)務(wù))的發(fā)送,保證較高優(yōu)先級隊列中的業(yè)務(wù)能夠 優(yōu)先發(fā)送,從而實現(xiàn)縮小較高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖動。
本發(fā)明實施例主要用于各種網(wǎng)絡(luò)業(yè)務(wù)、比如協(xié)議報文業(yè)務(wù),語音報文業(yè)務(wù),1588報 文業(yè)務(wù)等。
通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借 助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳 的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部 分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計 算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī), 服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng) 涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種業(yè)務(wù)調(diào)度方法,其特征在于,包括根據(jù)隊列的優(yōu)先級為隊列分配令牌閾值,其中,低優(yōu)先級隊列對應(yīng)的令牌閾值大于高 優(yōu)先級隊列對應(yīng)的令牌閾值;在需要發(fā)送所述隊列時,則確認(rèn)令牌桶中的令牌數(shù)量,如果令牌數(shù)量小于所述令牌閾 值時,則停止發(fā)送所述隊列,如果令牌數(shù)量大于所述令牌閾值,則發(fā)送所述隊列。
2.根據(jù)權(quán)利要求1所述的業(yè)務(wù)調(diào)度方法,其特征在于,所述低優(yōu)先級隊列對應(yīng)的令牌 閾值減去高優(yōu)先級隊列對應(yīng)的令牌閾值得到的差值不小于低優(yōu)先級隊列中業(yè)務(wù)的一個最 大包長。
3.根據(jù)權(quán)利要求1所述的業(yè)務(wù)調(diào)度方法,其特征在于,所述方法還包括記錄令牌桶內(nèi) 當(dāng)前的令牌數(shù)量。
4.根據(jù)權(quán)利要求1所述的業(yè)務(wù)調(diào)度方法,其特征在于,所述優(yōu)先級為隊列自身默認(rèn)的 優(yōu)先級、或者臨時為隊列設(shè)定的優(yōu)先級。
5.根據(jù)權(quán)利要求1所述的業(yè)務(wù)調(diào)度方法,其特征在于,所述最高優(yōu)先級隊列對應(yīng)的令 牌閾值為0 ;或者在實際應(yīng)用中最低優(yōu)先級隊列對應(yīng)的令牌閾值為0,而高優(yōu)先級隊列對應(yīng) 的令牌閾值為負(fù)值。
6.一種業(yè)務(wù)調(diào)度裝置,其特征在于,包括配置單元,用于根據(jù)隊列的優(yōu)先級為隊列分配令牌閾值,其中,低優(yōu)先級隊列對應(yīng)的令 牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值;處理單元,用于在需要發(fā)送所述隊列時,確定令牌桶中當(dāng)前的令牌數(shù)量,如果令牌桶中 的當(dāng)前的令牌數(shù)量小于所述令牌閾值,則停止發(fā)送所述隊列,如果令牌桶中的當(dāng)前的令牌 數(shù)量大于所述令牌閾值,則發(fā)送所述隊列。
7.根據(jù)權(quán)利要求6所述的業(yè)務(wù)調(diào)度裝置,其特征在于,所述低優(yōu)先級隊列對應(yīng)的令牌 閾值減去高優(yōu)先級隊列對應(yīng)的令牌閾值得到的差值不小于低優(yōu)先級隊列中業(yè)務(wù)的一個最 大包長。
8.根據(jù)權(quán)利要求6所述的業(yè)務(wù)調(diào)度裝置,其特征在于,所述裝置還包括記錄單元,用于記錄令牌桶內(nèi)當(dāng)前的令牌數(shù)量。
9.根據(jù)權(quán)利要求6所述的業(yè)務(wù)調(diào)度裝置,其特征在于,所述優(yōu)先級為隊列自身默認(rèn)的 優(yōu)先級、或者臨時為隊列設(shè)定的優(yōu)先級。
全文摘要
本發(fā)明公開了一種業(yè)務(wù)調(diào)度方法及裝置,涉及通信領(lǐng)域,解決了現(xiàn)有技術(shù)中高優(yōu)先級隊列中的業(yè)務(wù)的延遲和抖動較大的問題。本發(fā)明實施例業(yè)務(wù)調(diào)度方法包括根據(jù)隊列的優(yōu)先級為隊列分配令牌閾值,其中,低優(yōu)先級隊列對應(yīng)的令牌閾值大于高優(yōu)先級隊列對應(yīng)的令牌閾值;在需要發(fā)送所述隊列時,則確認(rèn)令牌桶中的令牌數(shù)量,如果令牌數(shù)量小于所述令牌閾值時,則停止發(fā)送所述隊列,如果令牌數(shù)量大于所述令牌閾值,則發(fā)送所述隊列。本發(fā)明實施例主要用于各種網(wǎng)絡(luò)業(yè)務(wù),比如協(xié)議報文業(yè)務(wù)、語音報文業(yè)務(wù)、1588報文業(yè)務(wù)等。
文檔編號H04L12/56GK102035732SQ201010560608
公開日2011年4月27日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者吳震, 王鈿 申請人:華為技術(shù)有限公司