本發(fā)明屬于多媒體云計算領(lǐng)域,涉及到HTTP自適應流媒體直播技術(shù),特別是涉及到一種QoE驅(qū)動的HTTP自適應流媒體直播服務器集群部署方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,各種智能終端的普及,互聯(lián)網(wǎng)內(nèi)容的傳輸協(xié)議HTTP(Hyper Text Transport Protocol,超文本傳輸協(xié)議)因其良好的兼容性、適配性和友好性逐漸開始替代傳統(tǒng)的流媒體傳輸協(xié)議(如RTSP,real time streaming protocol、實時流傳輸協(xié)議)成為流媒體服務提供商首選的傳輸協(xié)議。為了實現(xiàn)流媒體數(shù)據(jù)的自適應傳輸,HTTP自適應流媒體服務器需要將同一內(nèi)容的節(jié)目源編碼成多個不同質(zhì)量級別的流媒體數(shù)據(jù),并將同一個質(zhì)量級別的流媒體數(shù)據(jù)切個成若干時間上連續(xù)、不重疊的片段,通過HTTP協(xié)議分發(fā),以適應不同設備和不同網(wǎng)絡環(huán)境,提高用戶使用流媒體服務的體驗質(zhì)量(QoE,Quality of Experience)。
提高自適應流媒體服務QoE的方法大致分為三類:
1)客戶端:在流媒體播放器內(nèi)實現(xiàn)獲取流媒體數(shù)據(jù)的自適應邏輯,讓播放器在網(wǎng)絡環(huán)境允許的情況下,盡可能的獲取高質(zhì)量級別的流媒體片段,同時減少播放卡頓。
2)網(wǎng)絡端:優(yōu)化通信網(wǎng)絡的傳輸質(zhì)量,比如提供服務質(zhì)量QoS(QualityofService)保證,提高網(wǎng)絡傳輸帶寬、穩(wěn)定性,減少網(wǎng)絡丟包,降低網(wǎng)絡傳輸延遲等。
3)服務端:通過選擇合適的流媒體片段時長,配置合適的流媒體輸出編碼集等措施提高QoE。
據(jù)申請人檢索和查新,檢索到的以下幾篇與本發(fā)明相關(guān)的屬于HTTP自適應流媒體直播領(lǐng)域的專利,它們分別是:
1.發(fā)明專利201510309733.8,基于動態(tài)自適應碼率傳輸協(xié)議HLS流媒體的直播方法和服務器;
2.發(fā)明專利201510372018.9,流媒體直播調(diào)度方法、系統(tǒng)和調(diào)度服務器。
上述專利1中,發(fā)明人公開了一種基于動態(tài)自適應碼率傳輸協(xié)議HLS流媒體的直播方法和服務器,在所述專利中的服務器根據(jù)網(wǎng)絡屬性信息確定初始片段時長和初始編碼速率,如果網(wǎng)絡環(huán)境較好,則提供較短的直播延時和盡量高的流媒體的視頻清晰度,如果網(wǎng)絡環(huán)境較差,盡量保證直播連貫,提供盡可能好的用戶體驗,但是并未從整個服務平臺總體考慮直播服務的QoE,以及沒有相應的QoE量化模型。
上述專利2中。發(fā)明人公開了一種流媒體直播調(diào)度方法、系統(tǒng)和調(diào)度服務器,在所述專利中調(diào)度服務器對核心機組中核心節(jié)點服務器的運行狀況進行監(jiān)測;當調(diào)度服務器接收到發(fā)布點服務器推送的直播流請求時,根據(jù)核心機組中核心節(jié)點服務器的運行狀況,從核心機組中選取可用的核心節(jié)點服務器,將選取的核心節(jié)點服務器的信息發(fā)送至發(fā)布點服務器,發(fā)布點服務器在接收到所述核心節(jié)點服務器的信息時,將直播流發(fā)布至所述選取的核心節(jié)點服務器上;持久化存儲選取的核心節(jié)點服務器和直播流之間的映射關(guān)系,從而實現(xiàn)核心節(jié)點的高效配置,節(jié)約了部署成本,但是未考慮影響用戶體驗質(zhì)量的直播流的輸出視頻集合。
技術(shù)實現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明公開了一種QoE驅(qū)動的HTTP自適應流媒體直播服務器集群部署方法,以直播頻道QoE模型為基礎,利用不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗矩陣,在有限物理機資源約束下,為運行直播頻道的虛擬機選擇合適的物理機位置,分配相應的物理機資源,并配置能使直播頻道QoE最大化的輸出視頻集合,解決在有限物理機資源成本環(huán)境下最大化直播平臺QoE的流媒體直播服務器集群部署問題。
為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
構(gòu)建直播頻道QoE量化模型和不同質(zhì)量級別的直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣,在已知用戶帶寬累積分布、直播頻道輸入的直播視頻源的質(zhì)量級別和物理資源分布的情況下,根據(jù)直播頻道不同質(zhì)量級別的輸出視頻集合配置策略、資源消耗代價矩陣和直播頻道QoE量化模型分配并部署直播服務虛擬機,實現(xiàn)直播服務QoE的最大化。
所述直播頻道QoE量化模型構(gòu)建步驟如下:
Step1:設置直播服務平臺直播視頻質(zhì)量級別自適應集合M={r1,r2,...,ri,...,rn},不同質(zhì)量級別的直播視頻以碼率ri作為區(qū)分標志,視頻質(zhì)量級別i越高表示體驗質(zhì)量越好,直播視頻碼率ri越大,其中1≤i≤n,;
Step2:設置直播頻道t的不同質(zhì)量級別的輸出視頻集合Ot={s1,s2,...,si,...,sm}且m≥1,s1=r1,
Step3:獲取用戶帶寬累積分布函數(shù)F(x),其表示用戶帶寬值小于x時的概率;
Step4:以直播視頻的碼率衡量用戶觀看直播視頻的QoE,按公式(1)量化計算直播頻道t的QoE值Qt,相應公式如下:
其中α,β為權(quán)重參數(shù)。
所述不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣構(gòu)建步驟如下:
Step1:按照直播服務平臺直播視頻質(zhì)量級別自適應集合M構(gòu)建n個不同質(zhì)量級別的視頻片段,視頻質(zhì)量級別為i的視頻片段時長為li;
Step2:將任意視頻質(zhì)量級別為i的視頻片段離線轉(zhuǎn)碼為視頻質(zhì)量級別為j的視頻片段,且滿足i>j,同時記錄離線轉(zhuǎn)碼消耗的時間主機在離線轉(zhuǎn)碼期間的平均CPU占用率ci,j,主機CPU核心數(shù)c0;
Step3:生成直播視頻質(zhì)量級別自適應集合M對應的實時轉(zhuǎn)碼資源消耗矩陣Cn×n,其元素C(i,j)表示視頻質(zhì)量級別為i的直播視頻實時轉(zhuǎn)碼為視頻質(zhì)量級別為j的直播視頻時對主機CPU一個核心的占用率,計算方法如下公式所示:
其中-1表示無意義的轉(zhuǎn)碼。
所述直播頻道不同質(zhì)量級別的輸出視頻集合配置方法具體步驟如下:
Step1:獲取直播頻道t的輸入視頻質(zhì)量級別i(i>2),獲取用戶帶寬累積分布函數(shù)F(x),視頻質(zhì)量級別自適應集合M對應的實時轉(zhuǎn)碼資源消耗矩陣Cn×n以及物理機CPU可用核心數(shù)ca;
Step2:添加視頻質(zhì)量級別為1的視頻到輸出視頻集合Ot,即Ot={s1},更新物理機CPU可用核心數(shù)ca=ca-C(i,1);
Step3:選擇視頻質(zhì)量級別為j(1<j<i)的視頻,將其加入到輸出視頻集合Ot中,即Ot=Ot∪{sj},使得直播頻道t的QoE值的增量ΔQt最大化,滿足公式:
Step4:更新物理機CPU可用核心數(shù)ca=ca-C(i,j);
Step5:重復Step3和Step4,直到物理機CPU可用核心數(shù)ca小于或等于0,或者所有質(zhì)量級別比i小的視頻都已經(jīng)加入到了輸出視頻集合中。
所述直播服務虛擬機的部署放置方法具體步驟如下:
Step1:獲取得H個不同固定直播頻道的輸入視頻質(zhì)量級別信息,即直播頻道Hi對應質(zhì)量級別為Li,獲取N個物理機可用CPU核心數(shù)信息,即物理機Pj對應可用CPU核心數(shù)為
Step2:假設每個直播頻道Hi配置的不同視頻質(zhì)量級別的輸出視頻集合包含1到Li-1,按所述直播頻道QoE量化模型和不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣為直播頻道Hi計算其QoE值Qi和其所消耗的CPU資源Ci;
Step3:將所有直播頻道按照Step2中所計算的QoE值Qi遞減排序;
Step4:按Step3中對直播頻道排序的順序為每個直播頻道Hi創(chuàng)建直播服務虛擬機Vi,選擇剩余可用CPU資源最多的物理機Pj作為其部署環(huán)境,更新物理機Pj的可用CPU核心數(shù)并設置部署矩陣Dm×n中元素D(i,j)=1;
Step5:對部署在物理機Pj上所有的直播服務虛擬機按其對應直播頻道消耗CPU資源的比例分配CPU資源,記直播服務虛擬機Vi可得到的CPU資源為
Step6:按所述直播頻道不同質(zhì)量級別的輸出視頻集合配置方法對這H個直播頻道分別配置輸出視頻集合。
與現(xiàn)有技術(shù)、方法相比,本發(fā)明的特點在于從服務端考慮HTTP自適應流媒體直播服務的QoE,構(gòu)建了直播頻道QoE量化模型和不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣,為服務器端的資源分配和調(diào)度提供了依據(jù),在部署直播服務虛擬機時優(yōu)先考慮放置能給直播平臺提供更大QoE的直播頻道對應的虛擬機,從而在物理機資源有限的情況下,最大程度上提高直播服務給用戶帶來的QoE。
附圖說明
圖1為本發(fā)明中不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣構(gòu)建工作流程圖。
圖2為本發(fā)明中直播頻道不同質(zhì)量級別的輸出視頻集合配置方法流程圖。
圖3為本發(fā)明中直播服務虛擬機的部署放置方法流程圖。
具體實施方式
下面結(jié)合附圖和實施例詳細說明本發(fā)明的實施方式。
參考圖1,本發(fā)明一種QoE驅(qū)動的HTTP自適應流媒體直播服務器集群部署方法,具體實施按照以下步驟完成:
1.首先設置直播服務平臺直播視頻質(zhì)量級別自適應集合M={r1,r2,...,ri,...,rn},1≤i≤n,不同質(zhì)量級別的直播視頻以碼率ri作為區(qū)分標志,視頻質(zhì)量級別i越高表示體驗質(zhì)量越好,直播視頻碼率ri越大;
2.其次設置直播頻道t的不同質(zhì)量級別的輸出視頻集合Ot={s1,s2,...,si,...,sm}且m≥1,s1=r1,
3.然后需要獲取用戶帶寬累積分布函數(shù)F(x),其表示用戶帶寬值小于x時的概率;
4.緊接著,以直播視頻的碼率衡量用戶觀看直播視頻的QoE,按以下公式量化計算直播頻道t的QoE值Qt,公式如下:
其中α,β為權(quán)重參數(shù)。
其中:不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣構(gòu)建步驟如下:
1)按照直播服務平臺直播視頻質(zhì)量級別自適應集合M構(gòu)建n個不同質(zhì)量級別的視頻片段,視頻質(zhì)量級別為i的視頻片段時長為li;
2)將任意視頻質(zhì)量級別為i的視頻片段離線轉(zhuǎn)碼為視頻質(zhì)量級別為j的視頻片段,且滿足i>j,同時記錄離線轉(zhuǎn)碼消耗的時間主機在離線轉(zhuǎn)碼期間的平均CPU占用率ci,j,主機CPU核心數(shù)c0;
3)生成直播視頻質(zhì)量級別自適應集合M對應的實時轉(zhuǎn)碼資源消耗矩陣Cn×n,其元素C(i,j)表示視頻質(zhì)量級別為i的直播視頻實時轉(zhuǎn)碼為視頻質(zhì)量級別為j的直播視頻時對主機CPU一個核心的占用率,計算方法如以下公式所示:
其中-1表示無意義的轉(zhuǎn)碼。
參考圖2,直播頻道不同質(zhì)量級別的輸出視頻集合配置方法具體步驟如下:
1)獲取直播頻道t的輸入視頻質(zhì)量級別i(i>2,輸出視頻質(zhì)量級別小于輸入視頻,i為1時不能得到有效輸出視頻),獲取用戶帶寬累積分布函數(shù)F(x),視頻質(zhì)量級別自適應集合M對應的實時轉(zhuǎn)碼資源消耗矩陣Cn×n以及物理機CPU可用核心數(shù)ca;
2)添加視頻質(zhì)量級別為1的視頻到輸出視頻集合Ot,即Ot={s1},更新物理機CPU可用核心數(shù)ca=ca-C(i,1);
3)選擇視頻質(zhì)量級別為j(1<j<i)的視頻,將其加入到輸出視頻集合Ot中,即Ot=Ot∪{sj},使得直播頻道t的QoE值的增量ΔQt最大化,滿足公式如下:
4)更新物理機CPU可用核心數(shù)ca=ca-C(i,j);
5)重復Step3和Step4,直到物理機CPU可用核心數(shù)ca小于或等于0,或者所有質(zhì)量級別比i小的視頻都已經(jīng)加入到了輸出視頻集合中。
參考圖3,直播服務虛擬機的部署放置方法具體實施步驟如下:
1)獲取H個不同固定直播頻道的輸入視頻質(zhì)量級別信息,即直播頻道Hi對應質(zhì)量級別為Li,獲取N個物理機可用CPU核心數(shù)信息,即物理機Pj對應可用CPU核心數(shù)為
2)假設每個直播頻道Hi配置的不同視頻質(zhì)量級別的輸出視頻集合包含1到Li-1,按所述直播頻道QoE量化模型和不同質(zhì)量級別直播視頻間實時轉(zhuǎn)碼的資源消耗代價矩陣為直播頻道Hi計算其QoE值Qi和其所消耗的CPU資源Ci;
3)將所有直播頻道按照(2)中所計算的QoE值Qi遞減排序;
4)按(3)中對直播頻道排序的順序為每個直播頻道Hi創(chuàng)建直播服務虛擬機Vi,選擇剩余可用CPU資源最多的物理機Pj作為其部署環(huán)境,更新物理機Pj的可用CPU核心數(shù)并設置部署矩陣Dm×n中元素D(i,j)=1;
5)對部署在物理機Pj上所有的直播服務虛擬機按其對應直播頻道消耗CPU資源的比例分配CPU資源,記直播服務虛擬機Vi可得到的CPU資源為
6)按所述直播頻道不同質(zhì)量級別的輸出視頻集合配置方法對這H個直播頻道分別配置輸出視頻集合。