陳 晶
(江蘇城鄉(xiāng)建設(shè)職業(yè)學(xué)院,江蘇 常州 213000)
流媒體是一項由多種網(wǎng)絡(luò)技術(shù)整合而成的新技術(shù),其包括數(shù)據(jù)的采集、傳輸、壓縮、存儲等基礎(chǔ)技術(shù)。
流媒體是可以使其他的多媒體、音頻和視頻文件能夠在互聯(lián)網(wǎng)上可以直接下載,不需要過多的等待、實時的進行自由播放。簡而言之,把相互連續(xù)的聲音和影像信息經(jīng)過壓縮而分化成不同的壓縮包,然后儲存在服務(wù)器上,讓用戶能一邊觀看一邊下載,而且不需等整個的壓縮文件都下載到自己機器后才能收看。為了消除網(wǎng)絡(luò)的連接速率的抖動,而一般會先在使用端電腦上創(chuàng)建一個緩沖區(qū),然后在播放之前預(yù)先下載一段,播放程序取這一段緩沖區(qū)內(nèi)數(shù)據(jù)進行播放。在播放時,多媒體文件的剩余部分則在后臺繼續(xù)下載,之后在緩沖區(qū)內(nèi)進行填充。流媒體是很多網(wǎng)絡(luò)技術(shù)在經(jīng)過整合以后所產(chǎn)生的新技術(shù)。它涉及流媒體的數(shù)據(jù)采集、傳輸、壓縮、存儲等。
對等網(wǎng)絡(luò)是現(xiàn)階段的非常熱門應(yīng)用,它在不同的計算機的用戶之間,數(shù)據(jù)可以直接進行交換。這種方式改變了以往的客戶/服務(wù)器的模式。在P2P流媒體的網(wǎng)絡(luò)里面,每一個節(jié)點地位是相同的,可作服務(wù)的使用者,同時也可作服務(wù)的提供者。P2P Streaming(Peer to Peer Streaming Media)也就是“點對點的流媒體的技術(shù)”。從技術(shù)的角度看,P2P流媒體是流媒體技術(shù)和P2P技術(shù)結(jié)合。
1.流媒體的數(shù)據(jù)存儲在點播視頻的技術(shù)中,數(shù)據(jù)存儲是其中的一個主要的技術(shù),在點播系統(tǒng)中數(shù)據(jù)存儲設(shè)計主要是從存儲空間和數(shù)據(jù)的讀取速度兩個方面進行考慮。而現(xiàn)在對于數(shù)據(jù)讀取方式結(jié)構(gòu)可以分為三種:分布式、集中式和分段協(xié)作存儲。
(1)集中式的存儲方式。也稱完全共享的存儲方式,是典型集群式視頻點播系統(tǒng)采用的數(shù)據(jù)存儲方式,這種數(shù)據(jù)存儲方式的每一個視頻服務(wù)器節(jié)點可通過網(wǎng)絡(luò)的直接訪問,所有數(shù)據(jù)不經(jīng)過其他節(jié)點,這種方式最大的特點在于視頻服務(wù)的任務(wù)的遷移和調(diào)度比較容易實現(xiàn);可以把節(jié)點從數(shù)據(jù)存儲管理中釋放出來,以實現(xiàn)數(shù)據(jù)處理和數(shù)據(jù)存儲相互分離,與此同時對于節(jié)點之間的內(nèi)部通信的寬帶不能夠占用。
(2)分布式的存儲方式。關(guān)于分布式的存儲方式一共有兩種,一種是完整的存儲方式,這種方式主要是把數(shù)據(jù)獨立完整的存儲在某臺視頻的服務(wù)器上,但是同樣的一個節(jié)目可能在不同的服務(wù)器中,但是這樣一個服務(wù)器上的同一個節(jié)目的信息也不會互相影響。另一種是分段協(xié)作的存儲方式,主要采用了條紋化的技術(shù)把視頻上的數(shù)據(jù)分布在各個不同視頻的服務(wù)器上,這樣所有的服務(wù)器都能夠參與到服務(wù)中。
(3)分段協(xié)作的存儲方式。采用分段協(xié)作的存儲方式是常用的存儲方式,有很多的服務(wù)策略是把視頻的文件分成不同的階段進行服務(wù)的。對于這種方式而言,存在著兩個方面的問題。分段協(xié)作的方式,能夠?qū)崿F(xiàn)節(jié)目數(shù)據(jù)的簡單化,并且使用服務(wù)策略能夠使服務(wù)器的荷載均衡,在這種情況下,存在一定的缺點,因為節(jié)目分片存儲在不同的服務(wù)器里面,如果任何服務(wù)器不能工作,將會影響系統(tǒng)。在服務(wù)器的數(shù)量不斷增多的情況下,系統(tǒng)可能存在的故障將會不斷增加。要想實現(xiàn)節(jié)目數(shù)據(jù)的分段管理和分段存儲都需要新的文件系統(tǒng)系統(tǒng)進行支撐,而且這種方式的服務(wù)策略非常的復(fù)雜,實現(xiàn)這些工作量是非常大的。
2.流媒體數(shù)據(jù)分發(fā)在P2P流媒體的系統(tǒng)中,媒體流可以分成不同的數(shù)據(jù)階段。隨著播放進度的前移,請求節(jié)點鄰居節(jié)點可能不能提供它需要媒體的數(shù)據(jù)段,這是由于可供服務(wù)的Peer節(jié)點服務(wù)能力不足,不同的Peer節(jié)點服務(wù)能力也不相同,Peer節(jié)點還能隨時的退出系統(tǒng),而造成其它的部分的節(jié)點流的傳輸中斷。從而導(dǎo)致了請求的節(jié)點播放暫停,也就影響了用戶的播放體驗。另外P2P流媒體技術(shù)本身也是特別的,如果有媒體的數(shù)據(jù)傳輸持續(xù)時間長,帶寬占用的資源就高。所以在內(nèi)容分發(fā)的研究過程里,面臨著非常嚴(yán)峻的挑戰(zhàn)。
P2P流媒體分發(fā)系統(tǒng)中,每一個Peer節(jié)點將收到媒體的數(shù)據(jù)所擁有的緩存供其鄰居節(jié)點取得。對直播的系統(tǒng)來說Peer節(jié)點播放的時候通常采用的是視頻源播出的時序決定的。雖在某個時刻,收到視頻的數(shù)據(jù)相對于視頻源已經(jīng)落后了,但是在后續(xù)的播放里和相鄰Peer節(jié)點播放的時間比較相近,而緩存分片的內(nèi)容相似度較高,緩存的處理比較簡單。而對點播的系統(tǒng),針對某視頻文件的初始播放時間和順序,由每一個節(jié)點的加入系統(tǒng)時進行確定。在Peer的節(jié)點加入到系統(tǒng)時間點的離散情況下時,系統(tǒng)存儲的數(shù)量是非常大的,進行視頻的點播系統(tǒng)設(shè)計時,不僅是系統(tǒng)結(jié)構(gòu)設(shè)計、服務(wù)策略選擇非常重要,系統(tǒng)數(shù)據(jù)的緩存策略同樣非常重要,數(shù)據(jù)布局不能影響系統(tǒng)服務(wù)的性能,同時和服務(wù)策略也緊密相關(guān)。各節(jié)點的播放是不同時間點上面的視頻內(nèi)容,造成節(jié)點間的緩存數(shù)據(jù)段的重合度比較低。若系統(tǒng)里媒體數(shù)據(jù)的緩存機制性能低,節(jié)點從系統(tǒng)里其他的Peer節(jié)點中下載得到相應(yīng)的數(shù)據(jù)是比較困難的。而且會不斷的向服務(wù)器發(fā)送請求,從而加重了服務(wù)器的承載量,因此對高效媒體的數(shù)據(jù)段的緩存機制是必須的,通過增加Peer節(jié)點本身的緩存服務(wù)能力,降低了服務(wù)器負(fù)載壓力。
緩存策略是確定媒體的對象如何在緩存節(jié)點里,使每一個節(jié)點都可高效訪問媒體對象。這“高效”往往用指標(biāo)描述,例如訪問的時間和訪問的安全性。但是優(yōu)化和目標(biāo)往往是互相沖突的,若將網(wǎng)絡(luò)看為整體,在網(wǎng)絡(luò)上使用一種緩存策略是很難滿足相互沖突的各種需求的,如訪問的延時和訪問的可靠性彼此沖突。所以人們把對等的網(wǎng)層次化,不同層次也有不相同的需求起主導(dǎo)作用,并且根據(jù)需要對相關(guān)的緩存算法進行設(shè)計。對網(wǎng)絡(luò)里面的節(jié)點分層是P2P系統(tǒng)節(jié)點有效的分組思想,將整個對等網(wǎng)分為兩層:由若干個相鄰節(jié)點構(gòu)成的組;由所有的組構(gòu)成的網(wǎng)絡(luò),并且分別設(shè)計了用于各組之間的緩存技術(shù)。具體來說把彼此的訪問時間要小于某閾值節(jié)點為一個組,這樣組內(nèi)的媒體分發(fā)關(guān)鍵是大幅度提高了訪問的可操作性,相應(yīng)組內(nèi)緩存策略是優(yōu)化這指標(biāo);組間媒體的分發(fā)關(guān)鍵是降低訪問的時間,相鄰組間的緩存策略的目標(biāo)是對指標(biāo)進行優(yōu)化。
在本文策略里,任何請求相同節(jié)目頻道節(jié)點都處在一個會話的過程里。整個緩存策略分兩部分:正在播放緩存和基于分段的緊迫度和供需差的硬盤預(yù)測緩存。
服務(wù)概率的大小決定了一個段價值的高低,為其它節(jié)點提供服務(wù)的概率大價值就高,提高了P2P的利用率,就是降低了邊緣服務(wù)器的壓力。作者通過分段的緊迫度和供需差的計算,優(yōu)先緩存供需差和緊迫度高的流行度分段,第一可以減少服務(wù)器的壓力,第二能提前將用戶需要的的文件緩存到硬盤中,這樣播放的緩沖區(qū)需這個分段的時候,可以直接放到緩沖區(qū)當(dāng)中,最大限度的降低視頻播放的延時。如圖1所示。
圖1 播放緩存置換策略流程圖
在緩存策略里面,系統(tǒng)的性能由客戶端采用的大空間所影響,在以往傳統(tǒng)的緩存策略里面,存儲的空間設(shè)置一般較小。例如:按照數(shù)據(jù)分段30M的大小來計算,通常可以播放5分鐘,但是這個方案存在的問題是,緩存的空間不那么充分的時侯,在緩存空間頻繁的調(diào)入調(diào)出,就發(fā)生“顛簸”現(xiàn)象,觀眾的直觀視覺就是卡頓。但是如果開辟的存儲空間過大,雖然命中率相對的增加了,但是內(nèi)存的空間就相對的減少了,從而使得存儲數(shù)據(jù)不完整和空間的浪費;另一個方面,緩存數(shù)據(jù)會由于文件不完整而不能提供服務(wù),降低系統(tǒng)里能服務(wù)的節(jié)點數(shù),仍然將影響到系統(tǒng)的性能。本文根據(jù)路由搜索算法及節(jié)點的性能決定了具體存儲的空間設(shè)置方案,在滿足節(jié)點需求的同時也能夠最優(yōu)性能上的要求。
緩存技術(shù)是流媒體系統(tǒng)里面的關(guān)鍵技術(shù),緩存技術(shù)能夠有效降低服務(wù)器的壓力,提高系統(tǒng)的性能,以往緩存策略采取的是客戶端的緩存策略和代理的緩存策略,通過利用客戶端強大的存儲能力,根據(jù)影片熱度的分布特點,把流媒體的分段緩存在客戶端節(jié)點里,從而會大大的提高系統(tǒng)服務(wù)能力、明顯提高用戶體驗、能有效減輕服務(wù)器負(fù)載。
[1]孫名松,唐 亮,等.P2P點播系統(tǒng)的客戶端磁盤緩存策略[J].計算機工程,2008,(20):71-73.
[2]DABEK F,KAASHOEK M F,KARGER D.Wide-Area Cooperative Storage with CFS [C].Proceedings of the ACM Symposium on Operating System Principles,New York,2001:202-215.
[3]吳 瓊.基于P2P網(wǎng)絡(luò)的分布式存儲系統(tǒng)緩存策略研究[D].大連:大連理工大學(xué),2006:27-29.
[4]SHIM J,SCHEDERMANN P,VINGRALEK R.Proxy Cache Design:Algorithms,Implementation and Performance[J].IEEE Trans Knowledge and Data Engineering,1999,11(4):549-562.
[5]馬 杰,樊建平.LittleDuck流媒體緩存模擬器[J].計算機工程,2006,(14):208-210.
[6]魏蘇林,樂紅冰.基于P2P模式的新型視頻點播系統(tǒng)[J].微計算機信息(管控一體化),2005,(26):7-9.