李峰泉,張 嘯(西安外事學(xué)院工學(xué)院;西安外事學(xué)院人文學(xué)院,陜西西安,70077)
基于流媒體的可伸縮系統(tǒng)中流媒體服務(wù)原理研究
李峰泉1,張 嘯2
(1西安外事學(xué)院工學(xué)院;2西安外事學(xué)院人文學(xué)院,陜西西安,710077)
本文針對(duì)可伸縮系統(tǒng)中流媒體的服務(wù)原理進(jìn)行探討,對(duì)CDN網(wǎng)絡(luò)架構(gòu)、P2P網(wǎng)絡(luò)架構(gòu)下的流媒體服務(wù)原理以及可靠冗余保障技術(shù)原理、周期分段的流媒體調(diào)度原理做了分析和闡述,結(jié)合分析和實(shí)際研究項(xiàng)目的應(yīng)用給出了各自相應(yīng)的優(yōu)點(diǎn)結(jié)論。
流媒體;可伸縮;服務(wù)原理
隨著編碼技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,流媒體技術(shù)得以飛躍性的發(fā)展。當(dāng)前流媒體服務(wù)成為分布式媒體服務(wù)的主流。流媒體服務(wù)不需要將媒體數(shù)據(jù)完全下載到本地后才可以進(jìn)行播放,它通過編碼技術(shù)和分段技術(shù)實(shí)現(xiàn)邊下載邊播放,減少了用戶的等待時(shí)間,節(jié)約了客戶端的存儲(chǔ)空間,同時(shí)可以有效地支持直播。圖1是一種典型的流媒體服務(wù)模型。
圖1 一種典型的流媒體服務(wù)模型
本文主要針對(duì)實(shí)際可伸縮系統(tǒng)研究項(xiàng)目中應(yīng)用的幾種關(guān)鍵流媒體服務(wù)技術(shù)原理進(jìn)行研究闡述。
基于CDN(Content Delivery Network—內(nèi)容分發(fā))方式的流媒體服務(wù)是C/S模式的一種增強(qiáng),它將代理服務(wù)技術(shù)和緩存思想引入流媒體服務(wù)中?;驹硎峭ㄟ^在媒體服務(wù)器和客戶端之間增設(shè)基于內(nèi)容的分發(fā)服務(wù)器(Proxy),可以將熱點(diǎn)媒體的數(shù)據(jù)片斷存儲(chǔ)在代理服務(wù)器,解決了快速接入問題,同時(shí)通過代理服務(wù)器的媒體服務(wù)器的服務(wù)選擇可以屏蔽具體對(duì)特定客戶端進(jìn)行媒體服務(wù),有效提高了系統(tǒng)的擴(kuò)容的靈活性和容錯(cuò)性。CDN 優(yōu)點(diǎn)在于可以有穩(wěn)定的服務(wù)架構(gòu),客戶端針對(duì)索取的服務(wù)的服務(wù)器也比較固定,客戶端配置簡(jiǎn)單,由于服務(wù)器比較固定,因而無論是媒體服務(wù)具有連續(xù)性、實(shí)時(shí)性、時(shí)序性服務(wù)質(zhì)量還是針對(duì)故障的處理,提供可靠服務(wù)保證方面也是可以保證的。
正是因?yàn)镃DN方式在提供一定服務(wù)質(zhì)量保證的基礎(chǔ)上具有良好的服務(wù)擴(kuò)展能力,很多系統(tǒng)的可伸縮能力主要依賴CDN網(wǎng)絡(luò)架構(gòu)的相關(guān)技術(shù)來予以保證,因而它成為提供高服務(wù)的流媒體服務(wù)的一種選擇。圖2給出了基于CDN架構(gòu)的流媒體服務(wù)網(wǎng)絡(luò)示意圖。
圖2 基于CDN架構(gòu)的流媒體服務(wù)網(wǎng)絡(luò)
在P2P網(wǎng)絡(luò)架構(gòu)下,網(wǎng)絡(luò)節(jié)點(diǎn)間根本不存服務(wù)器(Server)和客戶端(Client)關(guān)系,所有節(jié)點(diǎn)之間都是對(duì)等關(guān)系,即位于網(wǎng)絡(luò)上的每一個(gè)用戶都是一個(gè)對(duì)等實(shí)體(Peer),它們彼此獨(dú)立又可以互相協(xié)作,也就是說它們既是服務(wù)提供者又是服務(wù)的享用者。對(duì)于P2P流媒體服務(wù)系統(tǒng),觀看同一媒體的客戶節(jié)點(diǎn)組成一個(gè)P2P網(wǎng)絡(luò),客戶節(jié)點(diǎn)不僅接收來自服務(wù)器和其它Peer節(jié)點(diǎn)的數(shù)據(jù),而且它也向其它請(qǐng)求同一媒體服務(wù)的客戶節(jié)點(diǎn)提供媒體數(shù)據(jù)。在P2P流媒體服務(wù)架構(gòu)下,信息的傳輸和服務(wù)無需中間環(huán)節(jié)和服務(wù)器的介入,可以直接在Peer結(jié)點(diǎn)之間進(jìn)行,從而避免了系統(tǒng)潛在的瓶頸。同時(shí)由于相關(guān)Peer節(jié)點(diǎn)也參與到系統(tǒng)媒體數(shù)據(jù)的提供中,Peer節(jié)點(diǎn)也貢獻(xiàn)了自身的服務(wù)能力,因而系統(tǒng)具有很高的性價(jià)比。由于流媒體服務(wù)對(duì)于數(shù)據(jù)時(shí)序要求的特殊性,基于P2P流媒體的服務(wù)在實(shí)現(xiàn)當(dāng)中對(duì)于Peer節(jié)點(diǎn)的選擇上,以及P2P網(wǎng)絡(luò)的構(gòu)建上和數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)發(fā)策略上都有特殊的要求。
基于P2P流媒體服務(wù)的優(yōu)勢(shì)的發(fā)揮需要有大量的Peer節(jié)點(diǎn)參與,而在企業(yè)網(wǎng)內(nèi)在線用戶數(shù)將是一個(gè)問題。圖3給出了借用存儲(chǔ)技術(shù)來彌補(bǔ)Peer節(jié)點(diǎn)數(shù)量上的不足的問題,從而實(shí)現(xiàn)了系統(tǒng)能力的靈活伸縮。
系統(tǒng)的可用性直接影響到用戶對(duì)服務(wù)系統(tǒng)的使用評(píng)價(jià),良好健壯的系統(tǒng)應(yīng)當(dāng)對(duì)用戶的使用有良好的感知,即用戶不會(huì)感知到系統(tǒng)某一節(jié)點(diǎn)的故障或者是雖然感知到系統(tǒng)某一節(jié)點(diǎn)的故障但是其服務(wù)還可以繼續(xù)進(jìn)行,而不是服務(wù)的中斷或者是成果的丟失。系統(tǒng)的可用性主要涉及到關(guān)鍵數(shù)據(jù)的同步和恢復(fù)策略上,其服務(wù)原理是在系統(tǒng)服務(wù)過程中,會(huì)將系統(tǒng)/用戶的關(guān)鍵數(shù)同步到一個(gè)指定的地方,而在服務(wù)節(jié)點(diǎn)出現(xiàn)故障時(shí)則將先前同步的關(guān)鍵數(shù)據(jù)恢復(fù)到服務(wù)替代節(jié)點(diǎn)上,從而繼續(xù)提供后續(xù)服務(wù)。通常的數(shù)據(jù)同步和恢復(fù)策略的實(shí)現(xiàn)分為以下兩種方式。
檢查點(diǎn)-恢復(fù)策略:在該策略下依賴系統(tǒng)的MTTR,節(jié)點(diǎn)對(duì)系統(tǒng)設(shè)計(jì)的檢查點(diǎn)進(jìn)行周期性的檢查,根據(jù)檢查結(jié)果作出故障裁決或者故障的預(yù)測(cè)。對(duì)于故障的節(jié)點(diǎn)或者預(yù)測(cè)將要發(fā)生故障的節(jié)點(diǎn),可以將服務(wù)全部服務(wù)或者部分服務(wù)遷移到其它服務(wù)節(jié)點(diǎn)上以提供連續(xù)的容錯(cuò)服務(wù)。
復(fù)制策略:在該策略下,調(diào)度器將客戶端的服務(wù)請(qǐng)求分配到某個(gè)服務(wù)節(jié)點(diǎn)的同時(shí),也會(huì)將該請(qǐng)求在其它服務(wù)節(jié)點(diǎn)復(fù)制一份或多份,而在服務(wù)節(jié)點(diǎn)故障的時(shí)候,其它服務(wù)節(jié)點(diǎn)通過復(fù)制的請(qǐng)求信息恢復(fù)對(duì)客戶端的服務(wù),繼續(xù)進(jìn)行后續(xù)的服務(wù)。這主要通過冗余處理以及遠(yuǎn)程日志(redundant processing,remote logging)等方式完成。
圖3 借助存儲(chǔ)技術(shù)的P2P流媒體的服務(wù)原理示意圖
流媒體調(diào)度可以解決視頻服務(wù)器、網(wǎng)絡(luò)資源、Peer節(jié)點(diǎn)間的資源匹配問題,實(shí)現(xiàn)服務(wù)能力最大化。在具體的實(shí)現(xiàn)過程中由于側(cè)重點(diǎn)不同實(shí)現(xiàn)原理也不同。當(dāng)前的媒體流調(diào)度方式廣義上可以分為以用戶為中心和以據(jù)為中心這兩種方式。
在以用戶為中心的方式中,對(duì)于客戶的每個(gè)請(qǐng)求,服務(wù)器將專門為此客戶端分配網(wǎng)絡(luò)資源用于此客戶端的數(shù)據(jù)服務(wù)。在此模式下,當(dāng)用戶向服務(wù)器進(jìn)行媒體服務(wù)請(qǐng)求時(shí),用戶的請(qǐng)求將立即得到響應(yīng),用戶沒有等待時(shí)間。但是由于服務(wù)器和網(wǎng)絡(luò)為每個(gè)用戶專門分配專有服務(wù)資源,系統(tǒng)資源復(fù)用率不高,系統(tǒng)容量有限。
在數(shù)據(jù)為中心的方式中,資源的分配方式是依據(jù)媒體對(duì)象為中心,而不是依據(jù)客戶端的請(qǐng)求。服務(wù)器可以將一個(gè)時(shí)間段內(nèi)到達(dá)的針對(duì)同一個(gè)媒體的請(qǐng)求,作為一個(gè)組播組進(jìn)行服務(wù)。充分利用當(dāng)前網(wǎng)絡(luò)的特點(diǎn)允許客戶端共享一個(gè)組播的數(shù)據(jù)流來提高網(wǎng)絡(luò)和磁盤IO的利用率。通過組播技術(shù)可以實(shí)現(xiàn)節(jié)目流的多路復(fù)用從而提高流媒體在網(wǎng)絡(luò)中的發(fā)送效率、節(jié)省網(wǎng)絡(luò)帶寬資源提高系統(tǒng)服務(wù)容量,因而以數(shù)據(jù)為中心的流媒體服務(wù)調(diào)度的研究成為熱點(diǎn)。
周期分段廣播方法是以服務(wù)器為中心的視頻流發(fā)送方法,它通過將視頻節(jié)目分成若干數(shù)據(jù)段,對(duì)每一段使用一條數(shù)據(jù)流進(jìn)行周期廣播發(fā)送。該方法要求用戶端設(shè)備具有較高的本地存儲(chǔ)能力,并配合服務(wù)器端能超過實(shí)際播放速率的接受能力同時(shí)從多個(gè)并行的廣播流中接收不同數(shù)據(jù)段得數(shù)據(jù)。理論上該類方法可以承載任意數(shù)目的用戶點(diǎn)播,特別適合對(duì)熱門視頻節(jié)目的播出,并且該類方法的實(shí)現(xiàn)和服務(wù)器對(duì)視頻流的播出管理也較簡(jiǎn)單易行。目前,分段廣播算法以及改進(jìn)算法也比較多,這些方案的差別主要在于:文件被分為多少個(gè)數(shù)據(jù)段以及每個(gè)分段的大小;客戶端需要同時(shí)接受的分段數(shù)。如采用摩天大樓算法數(shù)據(jù)分段規(guī)則如下:
通過以上算法,我們可以得到以下的數(shù)列:[1, 2, 2, 5, 5,12, 12, 25, 25, 52, 52, ...]。這樣第一個(gè)分段的長(zhǎng)度是一個(gè)數(shù)據(jù)單元,第二個(gè)數(shù)據(jù)分段是2個(gè)數(shù)據(jù)單元長(zhǎng)度,第三個(gè)數(shù)據(jù)分段同樣也是2個(gè)數(shù)據(jù)分段長(zhǎng)度。第三個(gè)數(shù)據(jù)段將是5個(gè)數(shù)據(jù)單元的長(zhǎng)度。要求客戶端同時(shí)在2個(gè)信道上同時(shí)接收媒體數(shù)據(jù),則可以保證媒體播放的連續(xù)性。
由于IP組播技術(shù)上的限制,其無法在廣域網(wǎng)上大規(guī)模的應(yīng)用,因而分段廣播技術(shù)的應(yīng)用也就有其局限性。但是為了減少Peer節(jié)點(diǎn)間的無序的媒體檢索請(qǐng)求,并結(jié)合企業(yè)網(wǎng)內(nèi)系統(tǒng)相對(duì)穩(wěn)定的特點(diǎn),在P2P網(wǎng)絡(luò)中借用周期分段的思想來規(guī)劃和設(shè)定Peer之間數(shù)據(jù)服務(wù)單位,一方面減少了服務(wù)檢索請(qǐng)求數(shù)量,一方面保證了系統(tǒng)服務(wù)的穩(wěn)定性。
隨著網(wǎng)絡(luò)技術(shù)和流媒體技術(shù)的不斷發(fā)展,基于流媒體的可伸縮系統(tǒng)在互聯(lián)網(wǎng)上的應(yīng)用必將是越來越廣泛,各種網(wǎng)絡(luò)架構(gòu)下的流媒體服務(wù)技術(shù)原理也將會(huì)不斷的被研究和更新,應(yīng)用其各自的優(yōu)勢(shì)來更好地為流媒體系統(tǒng)服務(wù)也必將成為互聯(lián)網(wǎng)應(yīng)用的主要趨勢(shì)之一。
毛莉花.自適應(yīng)轉(zhuǎn)碼技術(shù)在網(wǎng)上直播系統(tǒng)中的研究與應(yīng)用[D].蘇州:蘇州大學(xué)2009.
李峰泉,(1977-),男(漢族),河南鶴壁浚縣人,講師/碩士,主研領(lǐng)域:圖像處理、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。
張嘯,(1977-),男(漢族),甘肅蘭州市人,碩士,主研領(lǐng)域:web應(yīng)用。
Research on streaming media service principle in scalable system based on Streaming Media
Li Fengquan1,Zhang Xiao2
(1.College of technology,Xi'an International University;2 College of Humanities,Xi'an International University Xi'an,710077,Shaanxi,China)
AbstractIn this paper,midstream and scalable system services to explore the principles of the media,for CDN network architecture,streaming media services under the principle of P2P network architecture and reliable redundancy protection technology principle,the principle of streaming media scheduling cycle segments were analyzed and described,in combination analysis and practical application of research projects presented their respective advantages conclusions.
Streaming media;Scalability;Service principle
2014—06—24
本文是西安外事學(xué)院2013年度自然科學(xué)課題《基于流媒體的可伸縮的智能培訓(xùn)系統(tǒng)》(2013XKZ01)的研究成果之一。