專利名稱:一種自動伸縮的在線視頻服務質(zhì)量保障方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及云計算平臺與多媒體服務的交叉領(lǐng)域,尤其涉及一種自動伸縮的在線視頻服務質(zhì)量保障方法及系統(tǒng)。
背景技術(shù):
多媒體視頻內(nèi)容服務已經(jīng)歷多年的發(fā)展,隨著用戶對多媒體服務需求的增長,針對視頻內(nèi)容的服務質(zhì)量問題(Qos)也越來越突出。而且,用戶的負載往往會劇烈變化,例如黃金時段或者熱播劇集會使負載比平時增加一個數(shù)量級。如何在用戶負載變化的情況下保障用戶的服務體驗,應對不同時間不同峰值的訪問量都是一個多媒體視頻服務需要考慮的問題?,F(xiàn)在已經(jīng)有一些方法來解決多媒體服務的Q0s問題。其中大多數(shù)算法會根據(jù)不同的服務場景來制定策略保障Qos,如根據(jù)用戶行為習慣,請求視頻內(nèi)容、質(zhì)量等情況給予每個請求不同的Qos保障等級。通過調(diào)整各請求的Qos等級來保障系統(tǒng)整體服務的穩(wěn)定。目前大多數(shù)Qos保障主要以犧牲某些方面的質(zhì)量來換取系統(tǒng)整體Qos的穩(wěn)定。如對某些請求提供低碼率的視頻服務,對某些請求延遲服務甚至拒絕服務等。其中的原因在于,大多數(shù)系統(tǒng)處于靜態(tài)系統(tǒng)的環(huán)境中,系統(tǒng)總服務器數(shù)量固定,因而在整體最大負載恒定的情況下,面對激增的請求只能采取折衷的方法。隨著云計算與虛擬化技術(shù)的發(fā)展,服務系統(tǒng)結(jié)構(gòu)已經(jīng)從靜態(tài)轉(zhuǎn)變?yōu)閯討B(tài)。在類似Amazon EC2的彈性云計算環(huán)境中,應用的總計算資源可以按需變化。這樣就可以在保證服務方式不變的前提下,通過增加服務結(jié)點數(shù)量的方法應對請求增長的情況。由于不再受靜態(tài)環(huán)境的總資源量固定的限制,在彈性云計算系統(tǒng)環(huán)境下,多媒體服務的Qos保障的系統(tǒng)架構(gòu)可以進行重新設計,使其能夠按需分配計算資源,從而在保證所有多媒體服務的質(zhì)量的同時,無需降低部分服務請求的服務質(zhì)量。但新的環(huán)境和新的系 統(tǒng)架構(gòu)會帶來新的問題:如何確定系統(tǒng)增加節(jié)點的時機,系統(tǒng)如何設計增減服務器的資源管理算法,使得系統(tǒng)在經(jīng)歷過高峰回到正常后能縮減多余的服務器以節(jié)省資源;縮減服務器后如何保證原有多媒體服務的服務質(zhì)量;如何利用多媒體服務的特點優(yōu)化系統(tǒng)性能;如何在保障服務質(zhì)量的前提下降低總的服務運營成本;這些都是現(xiàn)有技術(shù)沒有解決的問題。
發(fā)明內(nèi)容
為解決上述現(xiàn)有技術(shù)中的問題,本發(fā)明提供了一種自動伸縮的在線視頻服務質(zhì)量保障方法及系統(tǒng),通過估計系統(tǒng)各服務節(jié)點負載的方式衡量整體系統(tǒng)的運行狀態(tài),并根據(jù)狀態(tài)決定系統(tǒng)結(jié)構(gòu)是否做調(diào)整,同時利用反饋機制根據(jù)實際請求狀況不斷地調(diào)整系統(tǒng)環(huán)境,以更好地應對未來的請求。本發(fā)明的自動伸縮的在線視頻服務質(zhì)量保障方法包括:步驟1,主節(jié)點計算在線視頻服務對系統(tǒng)帶來的負載壓力;步驟2,所述主節(jié)點遍歷準備隊列并判斷所述準備隊列中的從節(jié)點能否進行服務,如果所述在線視頻服務超過所述準備隊列任一從節(jié)點的負載上限,則執(zhí)行步驟3,否則隨機選擇所述準備隊列中的從節(jié)點進行服務;步驟3,所述主節(jié)點遍歷運行隊列并判斷所述運行隊列中的從節(jié)點能否進行服務,如果所述在線視頻服務超過所述運行隊列任一從節(jié)點的負載上限,則執(zhí)行步驟4,否則隨機選擇所述運行隊列中的從節(jié)點進行服務;步驟4,所述主節(jié)點遍歷縮容隊列并判斷所述縮容隊列中的從節(jié)點能否進行服務,如果所述在線視頻服務超過所述縮容隊列任一從節(jié)點的負載上限,則執(zhí)行步驟5,否則隨機選擇所述縮容隊列中的從節(jié)點進行服務;步驟5,判斷所述縮容隊列中是否存在大于等于所述在線視頻服務一半任務量的從節(jié)點,如果存在,則隨機選擇所述從節(jié)點中的一個從節(jié)點進行服務,然后執(zhí)行步驟6;如果不存在,拒絕該所述在線視頻服務且若此時處于擴容階段,則立即進行擴容,否則直接擴容I個節(jié)點;步驟6,系統(tǒng)每隔指定時間進行一次統(tǒng)計,計算當·前的系統(tǒng)負載率,計算公式為:SystemLoad = ^Isesiave Burdens/threshold, SystemLoad 為系統(tǒng)的總負載,Burdens 為從節(jié)
點當前的負載量,threshold為從節(jié)點正常服務的負載上限,N為當前的節(jié)點數(shù)目,如果所述系統(tǒng)處于正常階段,當所述系統(tǒng)負載率已達到或超過85%時,則進入擴容階段,當所述系統(tǒng)負載率已達到或低于40%時,則進入縮容階段,當所述系統(tǒng)負載率在40%到85%之間時,則不做任何改變;如果所述系統(tǒng)處于擴容階段,當總負載數(shù)已達到或低于75%,則退出擴容階段,否則不做任何改變;如果所述系統(tǒng)處于縮容階段,當總負載數(shù)達到或高于60%,則退出縮容階段,否則不做任何改變。進一步的,所述步驟6中進入擴容階段包括:步驟70,計算需要擴容的服務節(jié)點數(shù)量,計算公式為:AddNodeCount = (Zsesiave Burdens — Σ-sesiave threshold * r),/(threshold * r),
其中Burdens為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載比例,r是從節(jié)點的擴容負載上限;步驟80,所述主節(jié)點根據(jù)所述服務節(jié)點數(shù)量啟動相應數(shù)量的從節(jié)點,并完成所述主節(jié)點和所述從節(jié)點的通信確認;步驟90,重復上述步驟,直到所述系統(tǒng)負載高于所述的系統(tǒng)擴容負載上限。進一步的,所述步驟6中進入縮容階段包括:步驟700,計算需要縮容的服務節(jié)點數(shù)量,計算公式為:
De!eteNodeCount = deslave threshold 本 r' — [sesiave Burdens)/(threshokl * r,),其中
Burdens為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載比例,r’是從節(jié)點的縮容負載上限;步驟800,如果當前系統(tǒng)節(jié)點數(shù)量高于系統(tǒng)平均節(jié)點數(shù)量,那么所述主節(jié)點會按負載量從小到大的順序依次逐步縮減節(jié)點;
如果當前系統(tǒng)節(jié)點數(shù)量低于系統(tǒng)平均節(jié)點數(shù)量,那么所述主節(jié)點會按負載量從大到小的順序依次逐步縮減節(jié)點;步驟900,重復上述步驟,直到所述系統(tǒng)負載高于所述的系統(tǒng)縮容負載上限。進一步的,所述步驟I中負載壓力的計算公式為:
權(quán)利要求
1.一種自動伸縮的在線視頻服務質(zhì)量保障方法,其特征在于,包括: 步驟I,主節(jié)點計算在線視頻服務對系統(tǒng)帶來的負載壓力; 步驟2,所述主節(jié)點遍歷準備隊列并判斷所述準備隊列中的從節(jié)點能否進行服務,如果所述在線視頻服務超過所述準備隊列任一從節(jié)點的負載上限,則執(zhí)行步驟3,否則隨機選擇所述準備隊列中的從節(jié)點進行服務; 步驟3,所述主節(jié)點遍歷運行隊列并判斷所述運行隊列中的從節(jié)點能否進行服務,如果所述在線視頻服務超過所述運行隊列任一從節(jié)點的負載上限,則執(zhí)行步驟4,否則隨機選擇所述運行隊列中的從 節(jié)點進行服務; 步驟4,所述主節(jié)點遍歷縮容隊列并判斷所述縮容隊列中的從節(jié)點能否進行服務,如果所述在線視頻服務超過所述縮容隊列任一從節(jié)點的負載上限,則執(zhí)行步驟5,否則隨機選擇所述縮容隊列中的從節(jié)點進行服務; 步驟5,判斷所述縮容隊列中是否存在大于等于所述在線視頻服務一半任務量的從節(jié)點,如果存在,隨機選擇所述從節(jié)點中的一個從節(jié)點進行服務,然后執(zhí)行步驟6,如果不存在,拒絕該所述在線視頻服務,且若此時處于擴容階段,則立即進行擴容,否則直接擴容I個節(jié)點; 步驟6,系統(tǒng)每隔指定時間進行一次統(tǒng)計,計算當前的系統(tǒng)負載率,計算公式為:SystemLoad = ^XseS!ave Burdens/threshold, SystemLoad 為系統(tǒng)的總負載,Burdens 為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載上限,N為當前的節(jié)點數(shù)目, 如果所述系統(tǒng)處于正常階段,當所述系統(tǒng)負載率已達到或超過85%時,則進入擴容階段,當所述系統(tǒng)負載率已達到或低于40%時,則進入縮容階段,當所述系統(tǒng)負載率在40%到85%之間時,則不做任何改變; 如果所述系統(tǒng)處于擴容階段,當總負載數(shù)已達到或低于75%,則退出擴容階段,否則不做任何改變; 如果所述系統(tǒng)處于縮容階段,當總負載數(shù)達到或高于60%,則退出縮容階段,否則不做任何改變。
2.如權(quán)利要求1所述的在線視頻服務質(zhì)量保障方法,其特征在于,所述步驟6中進入擴容階段包括: 步驟70,計算需要擴容的服務節(jié)點數(shù)量,計算公式為:AddNodeCount 二 (Xsesiave Burdens — ^sesiave threshold * r)/(threshold * r),其中Burdens為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載比例,r是從節(jié)點的擴容負載上限,當前情況下是85%,超過此上限則需要進行擴容; 步驟80,所述主節(jié)點根據(jù)所述服務節(jié)點數(shù)量啟動相應數(shù)量的從節(jié)點,并完成所述主節(jié)點和所述從節(jié)點的通信確認; 步驟90,重復上述步驟,直到所述系統(tǒng)負載高于所述的系統(tǒng)擴容負載上限。
3.如權(quán)利要求1所述的在線視頻服務質(zhì)量保障方法,其特征在于,所述步驟6中進入縮容階段包括: 步驟700,計算需要縮容的服務節(jié)點數(shù)量,計算公式為:
4.如權(quán)利要求1所述的在線視頻服務質(zhì)量保障方法,其特征在于,所述步驟I中負載壓力的計算公式為:
5.一種自動伸縮的在線視頻服務質(zhì)量保障系統(tǒng),其特征在于,包括: 計算模塊,主節(jié)點計算在線視頻服務對系統(tǒng)帶來的負載壓力; 準備隊列處理模塊,所述主節(jié)點遍歷準備隊列并判斷所述準備隊列中的叢節(jié)點能否進行服務,如果所述在線視頻服務超過所述準備隊列任一從節(jié)點的負載上限,則執(zhí)行運行隊列處理模塊,否則隨機選擇所述準備隊列中的叢節(jié)點進行服務; 運行隊列處理模塊,所述主節(jié)點遍歷運行隊列并判斷所述運行隊列中的叢節(jié)點能否進行服務,如果所述在線視頻服務超過所述運行隊列任一從節(jié)點的負載上限,則執(zhí)行縮容隊列第一處理模塊,否則隨機選擇所述運行隊列中的叢節(jié)點進行服務; 縮容隊列第一處理模塊,所述主節(jié)點遍歷縮容隊列并判斷所述縮容隊列中的叢節(jié)點能否進行服務,如果所述在線視頻服務超過所述縮容隊列任一從節(jié)點的負載上限,則執(zhí)行縮容隊列第二處理模塊,否則隨機選擇所述縮容隊列中的叢節(jié)點進行服務; 縮容隊列第二處理模塊,判斷所述縮容隊列中是否存在大于等于所述在線視頻服務一半任務量的叢節(jié)點,如果存在,隨機選擇所述從節(jié)點中的一個從節(jié)點進行服務,然后執(zhí)行執(zhí)行模塊,如果不存在,拒絕該所述在線視頻服務,若此時處于擴容階段,則進行擴容,否則直接擴容I個節(jié)點; 執(zhí)行模塊,系統(tǒng)每隔指定時間進行一次統(tǒng)計,計算當前的系統(tǒng)負載率,計算公式為:SystemLoad = ^IsesiaveB^fdens/threshold, SystemLoad為系統(tǒng)的總負載,Burdens為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載上限,N為當前的節(jié)點數(shù)目, 如果所述系統(tǒng)處于正常階段,當所述系統(tǒng)負載率已達到或超過85%時,則進入擴容階段,當所述系統(tǒng)負載率已達到或低于40%時,則進入縮容階段,當所述系統(tǒng)負載率在40%到85%之間時,則不做任何改變; 如果所述系統(tǒng)處于擴容階段,當總負載數(shù)已達到或低于75%,則退出擴容階段,否則不做任何改變; 如果所述系統(tǒng)處于縮容階段,當總負載數(shù)達到或高于60%,則退出縮容階段,否則不做任何改變。
6.如權(quán)利要求5所述的在線視頻服務質(zhì)量保障系統(tǒng),其特征在于,所述執(zhí)行模塊中進入擴容階段包括: 擴容計算模塊,計算需要擴容的服務節(jié)點數(shù)量,計算公式為:AddNodeCount = (Xses!ave Burdens — XseS|ave threshold * r)/(threshold 0,其中Burdens為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載比例,r是從節(jié)點的擴容負載上限,當前情況下是85%,超過此上限則需要進行擴容; 擴容處理模塊,所述主節(jié)點根據(jù)所述服務節(jié)點數(shù)量啟動相應數(shù)量的從節(jié)點,并完成所述主節(jié)點和所述從節(jié)點的通信確認; 擴容完成模塊,重復上述模塊,直到所述系統(tǒng)負載高于所述系統(tǒng)擴容負載上限。
7.如權(quán)利要求5所述的在線視頻服務質(zhì)量保障系統(tǒng),其特征在于,所述執(zhí)行模塊中進入縮容階段包括: 縮容計算模塊,計算需要縮容的服務節(jié)點數(shù)量,計算公式為:DeleteNodeCount = (Esesiave threshold * r, — Esesiave Burdens)/(threshold * r ),其中Burdens為從節(jié)點當前的負載量,threshold為從節(jié)點正常服務的負載比例,r’是從節(jié)點的縮容負載上限; 縮容處理模塊,如果當前系統(tǒng)節(jié)點數(shù)量高于系統(tǒng)平均節(jié)點數(shù)量,那么所述主節(jié)點會按負載量從小到大的順序依次逐步縮減節(jié)點,如果當前系統(tǒng)節(jié)點數(shù)量低于系統(tǒng)平均節(jié)點數(shù)量,那么所述主節(jié)點會按負載量從大到小的順序依次逐步縮減節(jié)點; 縮容完成模塊,重復上述模塊,直到所述系統(tǒng)負載高于所述系統(tǒng)縮容負載上限。
8.如權(quán)利要求5所述的在線視頻服務質(zhì)量保障系統(tǒng),其特征在于,所述計算模塊中負載壓力的計算公式為: Burden = 0.5 -f cq * f(bit rate) + [3j * gfvideo length) 其中f (bit rate)為根據(jù)視頻編碼率的權(quán)重調(diào)整的分段函數(shù): f (bit rate) =0時,為最低的視頻碼率級別; f (bit rate)=0.2時,為中等的視頻碼率級別; f (bit rate)=0.4時,為較高的視頻碼率級別; f (bit rate)=0.7時,為最高的視頻碼率級別; g(video length)為根據(jù)視頻長度的權(quán)重調(diào)整函數(shù):g (video length) =0時,為最短視頻長度級別;g(video length) =0.3時,為中等的視頻長度級別;g (video length) =0.6時,為較高的視頻長度級別;g (video length) =0.8時,為最高的視頻長度級別;a i和分別表示針對某一種視頻類別的服務`成功率。
全文摘要
本發(fā)明提供一種自動伸縮的在線視頻服務質(zhì)量保障方法及系統(tǒng),其考量服務質(zhì)量這個指標,通過負載監(jiān)控與系統(tǒng)彈性伸縮的手段解決分布式系統(tǒng)中的Qos保障問題。本發(fā)明利用服務請求調(diào)度算法在支持彈性計算系統(tǒng)框架上更好地調(diào)度請求,提高服務資源利用率;利用視頻服務負載估算與更新算法在支持彈性計算的系統(tǒng)框架上更好地估計系統(tǒng)負載情況,從而更好地做出系統(tǒng)增減服務器的決定,在保證Qos的同時盡可能地減少系統(tǒng)運營成本;利用服務請求調(diào)度算法在支持彈性計算系統(tǒng)框架上更好地調(diào)度請求,提高服務資源利用率;保證了多媒體服務的服務質(zhì)量。
文檔編號H04L12/863GK103248622SQ20131012031
公開日2013年8月14日 申請日期2013年4月9日 優(yōu)先權(quán)日2013年4月9日
發(fā)明者馮超, 劉泓, 劉淘英, 李偉 申請人:中國科學院計算技術(shù)研究所