楊樹龍
新華社技術(shù)局5971電臺,北京 100055
隨著互聯(lián)網(wǎng)技術(shù)突飛猛進(jìn)的發(fā)展,人們對媒體的選擇再也不局限在普通的被動接受傳播媒體的層面上面。近年來互聯(lián)網(wǎng)視頻,音頻等多種流媒體在人們生活受到廣泛的青睞,這都取決于流媒體在技術(shù)上的優(yōu)越性,可以更好的滿足人們的生活需要。
互聯(lián)網(wǎng)在傳輸?shù)倪^程中是以包為單位進(jìn)行傳輸?shù)模捎诰W(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性沒有保證,多媒體數(shù)據(jù)在傳輸?shù)倪^程中被分成了許多數(shù)據(jù)包,針對不同的路由,最后到達(dá)客戶端的時間和次序都有可能發(fā)生改變甚至丟失。如果將數(shù)據(jù)包在到達(dá)客服端之前,利用緩存技術(shù)對到達(dá)的數(shù)據(jù)進(jìn)行正確的排序,就可以避免出現(xiàn)以上問題。其中,緩存技術(shù)包括:緩存策略,服務(wù)器與代理緩存技術(shù)相結(jié)合,分段分布式代理緩存。
根據(jù)緩存的目標(biāo)數(shù)據(jù)的不同的內(nèi)容,又分全部緩存策略與部分緩存策略,滑動窗口緩存,分層編碼視頻緩存。
1)與部分緩存策略相比較,全部緩存策略最大的不足之處儲存空間的要求很高,如果緩存的空間不足,那么緩存的操作過程就顯得很復(fù)雜,需要不斷的換進(jìn)換出,這反而對網(wǎng)絡(luò)流量的降低起不到太大的作用,而且付出的空間代價也相對而言比較高;2)部分緩存的優(yōu)點(diǎn)在于,一方面可以有效的解決服務(wù)的延時性,用戶點(diǎn)播經(jīng)過延時啟動,就可以在這段期間對數(shù)據(jù)包進(jìn)行處理;另一方面,減少服務(wù)器的承載的壓力問題。但是緩存數(shù)據(jù)需要很大的儲存空間,加上后期的緩存數(shù)據(jù)都必須從服務(wù)器獲得。總體而言,部分緩存也不能從本質(zhì)上較少網(wǎng)絡(luò)流量的負(fù)擔(dān);3)滑動窗口緩存指的是當(dāng)?shù)谝粋€用戶想代理服務(wù)器發(fā)送請求的時候,代理服務(wù)器會將請求轉(zhuǎn)向中心服務(wù)器,代理服務(wù)器對最初的用戶請求經(jīng)過加工處理,預(yù)測出相關(guān)的其他請求,并將這些數(shù)據(jù)緩存一定的時間。數(shù)據(jù)生命期就以窗口大小的形式表現(xiàn)出來。只要是在這段時間內(nèi)發(fā)送到代理服務(wù)器的請求,代理服務(wù)器都會用這個窗口為他們提供服務(wù);4)要想達(dá)到最小化傳輸?shù)哪康?,采用分層編碼視頻的緩存策略比較實(shí)用,有針對性的對分層編碼的流媒體進(jìn)行緩存,弊端就是要根據(jù)對不同客戶擁有的不同寬帶運(yùn)用不同質(zhì)量的流量來回應(yīng)。這一策略中經(jīng)常運(yùn)用的兩個方法包括預(yù)取算法和分層編碼細(xì)粒度的緩存替換法。
服務(wù)器與代理緩存技術(shù)相結(jié)合主要體現(xiàn)在兩個面,一是采用閉環(huán)(點(diǎn)播驅(qū)動)控制的方法,另一方面是結(jié)合服務(wù)器調(diào)度和代理前綴緩存或部分緩存的策略是在給定緩存容量時,最小化主干網(wǎng)絡(luò)上的傳輸量。第一種方法的中心思想是利用Batching、Patching和代理前綴緩存技術(shù)。其中Batching補(bǔ)丁的請求為本策略最獨(dú)特的特點(diǎn)。緩存服務(wù)器降低啟動延遲的時候,Multicast with Cachin仍然會在組播開始后對請求進(jìn)行聚合,利用Batching補(bǔ)丁完成沒有啟動延遲的目的。第二種方法不僅可以再運(yùn)行中緩存補(bǔ)丁的各種數(shù)據(jù),還能運(yùn)用選擇前綴集合的優(yōu)化算法進(jìn)行計(jì)算。
MiddleMan是代理服務(wù)器與協(xié)調(diào)器的重要組成部分。主要配置為一臺協(xié)調(diào)器與若干臺代理器,利用LAN將兩個主體相互連接。其運(yùn)行模式主要為:通過協(xié)調(diào)器,向代理服務(wù)器發(fā)送內(nèi)容并進(jìn)行跟蹤,做出緩存替代的決策。當(dāng)視頻數(shù)據(jù)輸入到MiddleMan存儲系統(tǒng)之后,就可將視頻數(shù)據(jù)拆分為若干個格式相同的文件數(shù)據(jù)。這樣,就可以將視頻文件按照一定順序聯(lián)合起來,避免出現(xiàn)混亂狀態(tài)。對于代理服務(wù)器來說,可以將接收的媒體流塊數(shù)據(jù)按照大小重新排列,通過替換策略以及緩存接納控制方法,在每一段中添加相應(yīng)緩存值。同時采取前綴替代原來緩存的前綴;后綴替代原來緩存的后綴的方式。
據(jù)相關(guān)資料調(diào)查顯示,一般用戶群體點(diǎn)播的節(jié)目集中度較高。如果在某一個時間段內(nèi),用戶人群集中點(diǎn)播某個節(jié)目,只要利用傳輸媒體流合并用戶請求,就可有效節(jié)約網(wǎng)絡(luò)寬帶與視頻服務(wù)器的空間,與流媒體的調(diào)度技術(shù)相符。
有關(guān)流媒體調(diào)度的算法可分為靜態(tài)調(diào)度算法與動態(tài)調(diào)度算法兩種形式。一方面,靜態(tài)調(diào)度算法主要在于服務(wù)器主動將節(jié)目在某個組播通道中應(yīng)用,實(shí)現(xiàn)媒體流;另一方面,動態(tài)調(diào)度算法則指用戶通過點(diǎn)播驅(qū)動,由服務(wù)器結(jié)合具體的調(diào)度算法,為用戶提供媒體流。流媒體的動態(tài)調(diào)度算法包括FCFS算法、Batching算法、Adaptive Piggybacking算法、STream Tapping、補(bǔ)丁算法(Patching)、受 控 組 播 算 法、Catching and Selective Catching、BandWidth Skimming、分片融合、層次型組播流聚合等。
流媒體與傳統(tǒng)媒體有很大的差別,所以傳統(tǒng)的節(jié)目替算法不能運(yùn)用到流媒體這一領(lǐng)域當(dāng)中來。RBC算法是目前流媒體當(dāng)中運(yùn)用比較廣泛的算法之一,它在緩存接納和替換的過程當(dāng)中充分的考慮到了發(fā)送的寬帶和文件大量兩個重要的因素。與Pooled RBC策略相互結(jié)合在一起,RBC算法性能就大大的得到提升和健全。Pooled RBC一個較為突出的優(yōu)點(diǎn)是,它還提供一個寬帶POOL。POOL RBC會根據(jù)點(diǎn)播請求的不同的情況將請求傳達(dá)給原始的服務(wù)器。
LRU算法在計(jì)算的時候,不能很好的處理不斷演化的引用模式,區(qū)分不出來經(jīng)常與不經(jīng)常用戶使用的對象。LRU-K的優(yōu)點(diǎn)就是可以對最近引用多次的信息進(jìn)行考慮。因此,可以很好的區(qū)分不同級別的引用對象,這一點(diǎn),彌補(bǔ)了LRU算法中存在的不足。不僅如此,LRU-K算法可以通過自身的系統(tǒng)功能及時的對引用模式進(jìn)行調(diào)節(jié),管理的起來也很簡單。
總而言之,通過對流媒體傳輸技術(shù)進(jìn)行的以上的研究,雖然很多的建議和解決方案都只能對部分的問題起到局限性的作用,但是,這對不斷完善的流媒體傳輸技術(shù)領(lǐng)域的研究有著很重要的意義。
[1]李謙,秦亮曦.簡述流媒體傳輸技術(shù)研究[J].科技時代,2008.
[2]熊永華,吳敏,賈維嘉.實(shí)時流媒體傳輸技術(shù)研究綜述[J].硅谷,2011.
[3]朱文博.淺議流媒體傳輸技術(shù)[J].中國科技財(cái)富,2009(22).