Cdn-p2p混合架構下的直播流媒體系統資源調度方法
【專利摘要】本發明公開了一種基于CDN-P2P混合架構下直播流媒體系統資源調度的方法,實現網絡資源的高效利用。該方法的基本思想是:對等方首先根據緩存中各個視頻數據塊的播放時間劃分為緊迫或者非緊迫的數據塊,然后再基于數據塊的屬性確定向服務器還是其他對等方請求該數據塊;CDN服務器采取加權公平隊列的方法對數據塊請求進行分類,并動態的調整指派給各個隊列的權重,從而實現服務器資源的利用和分配。本發明具有資源高效利用、系統丟包率低等優點。
【專利說明】CDN-P2P混合架構下的直播流媒體系統資源調度方法
【技術領域】
[0001]本發明涉及一種對基于⑶N-P2P混合架構下直播流媒體系統資源高效利用的方法,具體地說是一種對⑶N服務器和對等方資源調度和分配的方法,屬于網絡數據通信領域。
【背景技術】
[0002]近年來,利用因特網來傳輸電視信號已經成為一種越來越流行的網絡應用,它為用戶提供了內容豐富、使用便捷、交互性強的視頻多媒體服務,已經形成了規模龐大的產業。傳統的視頻節目分發采用有線電視電纜分發,信號質量高,但系統價格高而且體系架構無法靈活應對發展新業務。隨著網絡技術的發展與普及,通過IP網絡傳輸視頻節目是一個必然的選擇,但大量用戶的使用將導致網絡局部區域資源的短缺。由此導致了內容分發網絡(Content Delivery Networks, CDN)技術的發展。通過在網絡邊緣架設大量服務器,CDN可以在保證視頻的QoS基礎上盡量消除資源熱點。該方案仍具有成本較高且擴展性不夠好的缺陷。在另一方面,后起的對等方到對等方(Peer-to-Peer, P2P)技術提供了一種廉價的視頻分發解決方案,不過該方案存在無法保證視頻服務質量(Quality of Service,QoS)的缺陷。近年來,人們將希望的目光放到了 CDN和P2P技術結合上,期待利用兩者自身的優勢來形成一種較好的視頻分發系統。研究表明,這種方案的確非常有前途[1],不過它仍不能滿足用戶對視頻更高的QoS要求。因此,采用低成本方法實現直播視頻節目數據的大規模分發,同時進一步提高直播視頻的QoS,是當前直播流系統需要重點研究解決的問題。
[0003]在基于⑶N-P2P架構的直播流系統研究方面,通過對在因特網上大規模運行的直播流系統New Coolstreamingt2]測量時發現,約有95%左右的數據在被播放之前能夠到達用戶緩存。而對PPLive進行數據分析時也發現,有20%左右用戶的數據緩存時間占用戶等待和觀看節目總時間的比例超過80%[3],這是因為系統的啟動時間過長,而且少量數據分組的缺失會遲滯直播節目播放,系統不得不等待至該分組到達后才能播放,導致用戶的體驗質量顯著下降。因此,解決或緩解這約20%的用戶或5%數據無法及時到達的問題,對于當前從根本上改善直播流系統的QoS問題,使系統更為實用具有重要意義。
[0004]通過對比⑶N和P2P這兩種直播流媒體視頻數據的系統設計和數據分發方法的優缺點可知,如果將這兩種方法進行有機結合,可以有效地提高系統資源的利用效率,并極大減少數據由于超時而產生的丟包,提高用戶的體驗質量。但是,如何設計合理的資源調度機制,是解決這一問題的關鍵。
[0005]參考文獻
[1]KarlA.Skevik, Vera Goebel, Thomas Plagemann.Design of a hybridCDN.1nternat1nal Workshop on Multimedia Interactive Protocols and Systems,Grenoble, France, 2004: 206-217.[2]BoLi, Susu Xiej Yang Quj et al.1nside the new coolstreaming:principles, measurements and performance implicat1ns.1EEE INFOCOMj Phoenix,AZ, USA, 2008: 1031-1039.[3]Yan Huang, Tom Z.J.Fu, Dah-Ming Chiu, et al.Challenges, design andanalysis of a large-scale P2P_VoD system.ACM SIGCOMM, Seattle, Washington,USA, 2008: 375-388。
【發明內容】
[0006]發明目的:針對目前以CDN-P2P為架構的直播流媒體系統存在缺乏高效的資源調度機制、用戶體驗質量難以得到保證等問題,本發明提供一種CDN-P2P混合架構下的直播流媒體系統資源調度方法,高效利用系統資源。
[0007]技術方案:一種⑶N-P2P混合架構下的直播流媒體系統資源調度方法,包括對等方的資源請求方法(Peer,s Request Scheme for Resource, PRSR)和Q)N服務器的資源分配方法(CDN Server,s Resource Allocat1n Scheme, SRAS);
1.對等方的資源請求方法(Peer’s Request Scheme for Resource, PRSR),該方法著重描述了對等方在請求系統資源時所采用的方法,包括以下步驟:
A.對等方將視頻數據塊緩存空間劃分為三部分,其中靠近流媒體播放器的部分為期限緊迫區間,中間部分為非緊迫區間,距離流媒體播放器最遠的部分為稀缺緊迫區間,其中期限緊迫區間的數據塊的數據距離播放時間少于2秒鐘,稀缺緊迫區間包含I個視頻數據塊,并轉入步驟B ;
B.根據數據緩存空間的劃分,所有數據塊被分為緊迫數據塊和非緊迫數據塊;
其中剛加入直播流媒體系統的對等方緩存中所有的數據塊都屬于I型緊迫數據塊;
早期加入系統的對等方,其期限緊迫區間中的數據塊為II型緊迫數據塊,其稀缺緊迫區間的數據塊為III型緊迫數據塊,其所有位于非緊迫區間的數據塊為非緊迫數據塊;(“剛”指的是用戶打開播放器之后,對等方加入到網絡時的狀態;“早期”指的是已經加入到網絡一段時間之后的對等方的狀態,這段時間可以認為是30秒鐘)
轉入步驟C ;
C.對等方向⑶N服務器請求所有I型緊迫數據塊和II型緊迫數據塊,向其他對等方請求所有非緊迫數據塊,在請求III型緊迫數據塊時,根據自身已建立連接的鄰居數目N而定,對等方向CDN服務器請求III型緊迫數據塊的概率為鄰居數目的倒數,即1/N,向其他對等方請求該數據塊的概率為(N-l)/N,同時對等方在向CDN服務器請求數據塊時標明所屬的類型。
[0008]2.CDN 服務器的資源分配方法(CDN Server’ s Resource Allocat1n Scheme,SRAS),該方法著重描述了⑶N服務器在接收到多個資源請求時對這些請求進行調度的方法,包括以下步驟:
A.CDN服務器采用具有三個隊列的加權公平隊列對服務進行調度,其中第一個隊列緩存I型緊迫數據塊請求,采用先進先出的調度方法對請求排序,第二個隊列緩存II型緊迫數據塊請求,按照期限時間進行排序,其中期限時間越短優先級越高,第三個隊列緩存III型緊迫數據塊請求,采用先進先出的調度方法,在初始狀態下,第一個隊列的權重W1為0.5,第三個隊列的權重W3為0.2,并且0.5和0.2也分別為這兩個隊列權重的上限;
B.每當有數據塊請求到達CDN服務器時,CDN服務器根據其緊迫類型添加到對應的隊列當中,并轉入步驟D ;
C.CDN服務器根據各個隊列的權重隨機選擇某個隊列中第一個數據塊請求進行服務,并轉入步驟D ;
D.⑶N服務器將第一個隊列的權重W1調整為min{0.5,L1/ (Li+L2+L3)},將第三個隊列的權重W3調整為min {0.2,L3/ (LjLfL3)},其中Li表示第i個隊列中等待服務的數據塊請求數目,最后將第二個隊列的權重W2調整為1- W1- W3,并返回步驟C。
[0009]本發明相對現有技術具有以下優點:
1.系統資源的高效利用:較之當前已有的資源調度方法,本方法充分發揮了 CDN服務器資源可靠穩定,能夠提供具有質量保證服務的特點,并有效利用了 P2P網絡資源緩解CDN服務器的數據上傳壓力,從而使其更好地提供應急服務。
[0010]2.較低的視頻數據塊丟包率:由于在時間期限上緊急的數據塊全部向⑶N服務器發送請求,而⑶N服務器具有較高的帶寬和性能,因此能夠及時為這些請求提供服務,從而避免由于超出播放期限而產生的無效數據,降低了視頻數據塊的丟包率。
【專利附圖】
【附圖說明】
[0011]圖1為本發明實施例運行的網絡環境;
圖2為本發明實施例對等方緩存空間的數據塊劃分方法;
圖3為本發明實施例CDN服務器進行服務調度的加權公平排隊;
圖4為本發明實施例CDN服務器對請求進行調度處理的流程圖。
【具體實施方式】
[0012]下面結合具體實施例,進一步闡明本發明,應理解這些實施例僅用于說明本發明而不用于限制本發明的范圍,在閱讀了本發明之后,本領域技術人員對本發明的各種等價形式的修改均落于本申請所附權利要求所限定的范圍。
[0013]首先需要給出本發明提供的直播流媒體系統資源調度方法所需要的網絡環境,如圖1所示:在若干臺Intel-Linux架構的PC機上安裝并運行具有本發明PRSR資源請求方法的軟件,同時在另外若干臺Intel-Linux架構的PC機上安裝并運行具有本發明SRAS資源分配方法的軟件,將這些PC機的100/1000MbpS以太網卡連接到接入因特網的局域網交換機上,使之與因特網上的其他PC機之間能夠相互進行通信。
[0014]運行本發明提供的⑶N-P2P混合架構下直播流媒體系統資源調度方法的PC機系統配置如下:在Intel-Linux架構的PC機上安裝并運行基于本發明的PRSR和SRAS軟件,PC機的100/1000MbpS以太網卡與網絡交換機相連。這些PC機硬件的主頻4.0GHz及以上的Core雙核CPU的PC機,內存彡2GB,硬盤120GB,運行Red Hat 6.1操作系統。
[0015]圖2給出了本發明基于PRSR方法的對等方緩存空間的數據塊劃分方法,該方法中對等方將視頻數據塊緩存空間劃分為三部分,其中靠近流媒體播放器的部分為期限緊迫區間(該區間中的數據塊為II型緊迫數據塊),中間部分為非緊迫區間(該區間中的數據塊為非緊迫數據塊),距離流媒體播放器最遠的部分為稀缺緊迫區間(該區間中的數據塊為III型緊迫數據塊),期限緊迫區間的數據塊的數據距離播放時間少于2秒鐘;將距離播放2秒鐘以內的視頻數據塊標識為期限緊迫數據塊(也即II型緊迫數據塊),稀缺緊迫區間包含I個視頻數據塊,稱其為稀缺緊迫數據塊(也即III型緊迫數據塊),非緊迫區間的視頻數據塊標識為非緊迫數據塊;一旦某個數據塊變成期限緊迫數據塊,就立刻向CDN服務器發送請求;稀缺緊迫數據塊通過生成一個不大于I的正隨機數(III型緊迫數據塊的請求是有一定的概率,并不是一定會請求,這是因為所有對等方都請求的話會影響數據塊的擴散效果,這里產生的隨機數是為了與接下來的1/N進行對比)來判斷數據請求對象,如果該隨機數小于既定的概率(這里的概率是前面步驟C所提到的1/N),則向⑶N服務器發送請求,否則向其他對等方發送請求;所有位于非緊迫數據區間的數據全部向其他對等方請求獲得。
[0016]圖3給出了本發明基于SRAS方法的CDN服務器加權公平隊列,該方法按照緊迫數據塊的類型將所有請求添加到對應的隊列當中,并采用步驟D中動態調整的權重分配方法來為各個隊列分配權重。
[0017]圖4給出了⑶N服務器對請求進行調度處理的流程,該流程開始于步驟S101,⑶N服務器對三個隊列進行初始化操作,然后轉S102。
[0018]在步驟S102中,⑶N服務器開啟監聽操作,開始接收對等方發送過來的數據塊請求,然后轉S103。
[0019]在步驟S103中,⑶N服務器判斷是否有新的數據塊請求到達,如果沒有轉S102繼續監聽,否則轉S104。
[0020]在步驟S104中,CDN服務器根據數據塊請求的類型,將其添加到對應的隊列當中,準備接受處理,并修改分配給各個隊列的權重,然后轉S102。
[0021]在SlOl轉S102的同時,CDN服務器需要對加權公平隊列中的數據塊請求進行處理,因此轉S105。
[0022]在步驟S105中,CDN服務器判斷加權公平隊列當中是否有沒有處理的數據塊請求,如果沒有轉S106,否則轉S107。
[0023]在步驟S106中,CDN服務器在等待一段時間后,繼續轉會S105,判斷隊列是否仍然為空。
[0024]在步驟S107中,CDN服務器根據各個隊列所分配的權重輪流選擇某個隊列中第一個數據塊請求進行服務,并按照步驟D修改分配給各個隊列的權重,轉回S105。
[0025]本方法可以通過中斷方式退出。
[0026]假定各個PC機經100/1000Mbps速率的以太網鏈路與因特網相連。在若干PC上運行基于本發明的PRSR軟件,在另外的PC機上運行基于本發明的SRAS軟件,通過收集和統計各個運行PRSR軟件的視頻數據塊到達信息,就能分析出直播流媒體的丟包率,從而判斷出系統的服務質量是否得到提高。
[0027]本發明未涉及部分均與現有技術相同或可采用現有技術加以實現。
【權利要求】
1.一種CDN-P2P混合架構下的直播流媒體系統資源調度方法,其特征在于:包括對等方的資源請求方法和CDN服務器的資源分配方法; (1)對等方的資源請求方法,該方法著重描述了對等方在請求系統資源時所采用的方法,包括以下步驟: A.對等方將視頻數據塊緩存空間劃分為三部分,其中靠近流媒體播放器的部分為期限緊迫區間,中間部分為非緊迫區間,距離流媒體播放器最遠的部分為稀缺緊迫區間,并轉入步驟B ; B.根據數據緩存空間的劃分,所有數據塊被分為緊迫數據塊和非緊迫數據塊; 其中剛加入直播流媒體系統的對等方緩存中所有的數據塊都屬于I型緊迫數據塊; 早期加入系統的對等方,其期限緊迫區間中的數據塊為II型緊迫數據塊,其稀缺緊迫區間的數據塊為III型緊迫數據塊,其所有位于非緊迫區間的數據塊為非緊迫數據塊; 轉入步驟C ; C.對等方向⑶N服務器請求所有I型緊迫數據塊和II型緊迫數據塊,向其他對等方請求所有非緊迫數據塊,在請求III型緊迫數據塊時,根據自身已建立連接的鄰居數目N而定,同時對等方在向CDN服務器請求數據塊時標明所屬的類型; (2)CDN服務器的資源分配方法,該方法著重描述了CDN服務器在接收到多個資源請求時對這些請求進行調度的方法,包括以下步驟: A.CDN服務器采用具有三個隊列的加權公平隊列對服務進行調度,其中第一個隊列緩存I型緊迫數據塊請求,采用先進先出的調度方法對請求排序,第二個隊列緩存II型緊迫數據塊請求,按照期限時間進行排序,其中期限時間越短優先級越高,第三個隊列緩存III型緊迫數據塊請求,采用先進先出的調度方法; B.每當有數據塊請求到達CDN服務器時,CDN服務器根據其緊迫類型添加到對應的隊列當中,并轉入步驟D ; C.CDN服務器根據各個隊列的權重隨機選擇某個隊列中第一個數據塊請求進行服務,并轉入步驟D ; D.CDN服務器調整每個隊列的權重,并返回步驟C。
2.如權利要求1所述的CDN-P2P混合架構下的直播流媒體系統資源調度方法,其特征在于:期限緊迫區間的數據塊的數據距離播放時間少于2秒鐘,稀缺緊迫區間包含1個視頻數據塊。
3.如權利要求1所述的CDN-P2P混合架構下的直播流媒體系統資源調度方法,其特征在于:對等方向CDN服務器請求III型緊迫數據塊的概率為鄰居數目的倒數,即1/N,向其他對等方請求該數據塊的概率為(N-l)/N。
4.如權利要求1所述的CDN-P2P混合架構下的直播流媒體系統資源調度方法,其特征在于:在初始狀態下,第一個隊列的權重R為0.5,第三個隊列的權重%為0.2,并且0.5和0.2也分別為這兩個隊列權重的上限。
5.如權利要求4所述的CDN-P2P混合架構下的直播流媒體系統資源調度方法,其特征在于,CDN服務器調整每個隊列的權重的步驟為:將第一個隊列的權重Wl調整為min{0.5,L/ (Li+L2+L3)},將第三個隊列的權重w3調整為min {0.2,L3/ (Li+L2+L3)},其中Q表示第i個隊列中等待服務的數據塊請求數目,最后將第二個隊列的權重w2調整為1- wr
【文檔編號】H04L29/06GK104320672SQ201410495858
【公開日】2015年1月28日 申請日期:2014年9月24日 優先權日:2014年9月24日
【發明者】胡超, 陳鳴, 許博, 李兵, 余沛毅 申請人:中國人民解放軍理工大學