




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于p2p技術的流媒體直播系統(tǒng)的研究背景介紹:流媒體技術是一種新興的網(wǎng)絡傳輸技術,它是在internet /intranet上使用流式傳輸技術的多媒體,流媒體在播放前不需要下載整個文件,可以邊下載邊觀看。其原理是把向用戶傳輸?shù)亩嗝襟w文件按照播出時間順序分為不同的片斷,然后依次把這些片斷發(fā)給用戶,連續(xù)播放這些片斷就形成了連續(xù)的聲音和圖像。隨著1994年progressive networks美國公司成立,流媒體開始正式在互聯(lián)網(wǎng)上應用。該公司一年后推出的基于c/s架構的音頻接收系統(tǒng)real audio在隨后的幾年內(nèi)引領了網(wǎng)絡流媒體技術的洶涌潮流。1997年9月,該公司更名為real network
2、s,并相繼發(fā)布了多款應用非常廣泛的流媒體播放器,即realplayer系列,該系列一度占據(jù)該領域超過85的市場份額,real networks公司可以稱得上是流媒體真正意義上的鼻祖。從此以后,流媒體技術進入了蓬勃發(fā)展的階段。傳統(tǒng)的網(wǎng)絡流媒體播放系統(tǒng)一般基于用戶/服務器(client/server,c/s)的模式。但是,由于流媒體播放需要消耗大量的網(wǎng)絡帶寬和服務器資源,因此這種模式嚴重限制了網(wǎng)絡流媒體業(yè)務的發(fā)展。以一個占用帶寬為300kbps 的網(wǎng)絡視頻流為例,當有1000個用戶同時觀看時,需要的帶寬是300mbps,這樣的性能要求對于大多數(shù)服務器來說是滿足不了的。如果要支持幾萬甚至幾十萬的用戶
3、,采用這種c/s模式幾乎是不可能的。當然增加服務器數(shù)量和提高帶寬是一個解決方式,但是這種方式需要巨大的成本開支,所以我們需要通過新的技術手段解決這個問題。最近幾年,對等網(wǎng)絡技術(peer-to-peer,p2p),引起了包括普通網(wǎng)絡用戶和科研領域人員在內(nèi)的越來越多人的關注。p2p是分布式系統(tǒng)的一個子集,目前在分布式計算和文件共享領域得到廣泛的應用。相對于傳統(tǒng)的c/s模式,p2p模式一個非常顯著的特點就是節(jié)點無需依賴集中式服務器資源,各個節(jié)點之間可以直接進行通信。每個節(jié)點具有相同的地位,既可以請求服務,也可以提供服務,同時扮演著c/s模式中客戶機和服務器的雙重角色,甚至還可以具有路由器和高速緩存
4、的功能,這樣,每個節(jié)點在從別的節(jié)點接收數(shù)據(jù)流的同時還向其它節(jié)點發(fā)送數(shù)據(jù)流。p2p技術有兩方面的優(yōu)點:一方面,p2p技術突破了傳統(tǒng)的c/s模式限制,強調(diào)節(jié)點之間的對等性,即p2p系統(tǒng)中每一參與節(jié)點兼有服務器和客戶端兩種身份,在利用其它節(jié)點上資源的同時也為其它節(jié)點提供服務。這使得p2p系統(tǒng)的服務能力隨著用戶數(shù)的增加而自然增長,具有很強的可擴展性,能夠解決傳統(tǒng)c/s結構中服務器過載和資源瓶頸等問題。另一方面,p2p系統(tǒng)采用節(jié)點自組織的方式工作,強調(diào)無中心的結構,并且很好地適應了節(jié)點隨機加入和退出的動態(tài)性,因而在魯棒性、數(shù)據(jù)高可用性和抵抗攻擊方面具有不可替代的優(yōu)勢。目前,p2p技術在文件共享等一些應用
5、領域中己經(jīng)取得了很大的成效,把p2p技術應用到流媒體領域同樣能帶來革命性的突破。因此,p2pstreaming技術被提了出來,即把p2p技術思想應用到流媒體的傳輸?;趐2p技術構建流媒體系統(tǒng),能夠從根本上解決基于c/s模型的系統(tǒng)的不可擴展性、低容錯性和低魯棒性。此外,p2p網(wǎng)絡中用戶分布廣泛,資源更加充足,更能滿足用戶對資源的需求,從而保證服務的質(zhì)量,為構建大規(guī)模流媒體傳輸系統(tǒng)提供了一種低成本的解決方案。流媒體與p2p技術理論基礎: 流媒體技術理論基礎:流媒體(streaming-media)指在internet/intranet中使用流式傳輸技術時的連續(xù)時基媒體,如音頻、視頻等多媒體文件。
6、流媒體的主要特點有:啟動時延大幅度縮短、對系統(tǒng)緩存容量的需求大大降低、采用特定的實時傳輸協(xié)議以及對時間的敏感性。流式傳輸技術是指將音頻、視頻等多媒體文件經(jīng)過特殊的壓縮方式分解成一個個壓縮包,再由音頻、視頻服務器向用戶計算機連續(xù)地、實時地傳送信息的一種傳輸技術。其傳輸原理如下圖所示:figure 1流式傳輸原理圖 流式傳輸又可分為順序流式傳輸(progressive streaming)和實時流式傳輸(realtimestreaming)兩種方式:順序流式傳輸就是媒體數(shù)據(jù)的順序下載。在下載的同時用戶可以觀看在線媒體,但是在給定時刻用戶只能觀看已下載的那部分媒體數(shù)據(jù),不能跳轉到未下載的部分。而且順
7、序流式傳輸不能根據(jù)用戶網(wǎng)絡帶寬的變化對連接速度做相應的調(diào)整。由于順序流式傳輸?shù)拿襟w數(shù)據(jù)使用標準的http服務器就可以發(fā)送,而不需要其它的特殊的協(xié)議,所以順序流式傳輸也被稱作http流式傳輸。用戶在播放前觀看的媒體數(shù)據(jù)是無損傳輸?shù)模皂樞蛄魇絺鬏敱容^適合高質(zhì)量的短片,如片頭,片尾和廣告。但是這也意味著用戶在觀看前必須等待較長的時延,對網(wǎng)絡傳輸速度較慢的連接時延更加明顯。因此,順序流式傳輸并不適合長片段的和有隨機訪問要求的媒體數(shù)據(jù)。與http流式傳輸不同,實時流式傳輸保證媒體數(shù)據(jù)帶寬和網(wǎng)絡連接速度相匹配,這減少了用戶觀看前的時延。但是,實時流式傳輸需要專門的流媒體服務器和流媒體傳輸協(xié)議。實時流式
8、傳輸實時傳輸媒體數(shù)據(jù),特別適合現(xiàn)場事件;同時也支持隨機訪問,用戶可快進或倒退觀看前面或后面的內(nèi)容。此外,為了在ip網(wǎng)上傳輸流媒體數(shù)據(jù),根據(jù)各自的功能可把用到的流式傳輸協(xié)議分為三類:網(wǎng)絡層協(xié)議(即ip協(xié)議),此類協(xié)議提供最基本的網(wǎng)絡服務;傳輸層協(xié)議,此類協(xié)議提供端到端的傳輸服務,包括tcp(transmission control protocol),udp(user datagram protocol),rtp/rtcp (real-time transport protocol/real-time transport control protocol),其中tcp與udp更加底層一些,rtp
9、/rtcp實現(xiàn)在tcp或udp之上,有時候也被劃為應用層協(xié)議;應用層協(xié)議,此類協(xié)議定義多媒體會話過程中的消息控制及處理,包括rtsp (real-time streaming protocol)等。由于流媒體采用了流式傳輸技術,因此所傳輸?shù)奈募袼粯硬粩嗔鲃印_@樣,文件不是一次讀取發(fā)送所有的數(shù)據(jù),而是首先發(fā)送音頻、視頻的一部分:在這一部分播放的同時,數(shù)據(jù)的其余部分就會源源不斷地流出,及時的到達目的地供播放使用。為保證在網(wǎng)絡阻塞造成網(wǎng)絡速度下降的情況下播放不會中斷,播放器會在開始播放前先緩存一部分數(shù)據(jù),這樣就能實現(xiàn)流媒體數(shù)據(jù)流的連續(xù)傳送和連續(xù)播放。p2p技術理論基礎:目前對p2p的定義還沒有
10、一個標準的說法,intel將p2p技術定義為“通過系統(tǒng)間的直接交換達成計算機資源與信息的共享”,這些資源與服務包括信息交換、處理器時鐘、緩存和磁盤空間等。ibm則對p2p賦予了更廣闊的定義,把它看成是由若干互聯(lián)協(xié)作的計算機構成的系統(tǒng)并具備如下若干特性之一:系統(tǒng)依存于邊緣化(非中央式服務器)設備的主動協(xié)作,每個成員直接從其它成員而不是從服務器的參與中受益;系統(tǒng)中成員同時扮演服務器與客戶端的角色;系統(tǒng)應用的用戶能夠意識到彼此的存在而構成一個虛擬或?qū)嶋H的群體。p2p技術應用的宗旨就是希望通過節(jié)點間不經(jīng)過服務器中轉的直接通信,盡可能地充分利用系統(tǒng)中各節(jié)點所能提供的閑置資源,包括網(wǎng)絡帶寬,存儲空間,cp
11、u的處理時間等等。討論p2p系統(tǒng),就不得不提到其拓撲結構。拓撲結構是指分布式系統(tǒng)中各個計算單元之間的物理或邏輯的互聯(lián)關系,節(jié)點之間的拓撲結構一直是確定系統(tǒng)類型的重要依據(jù)。p2p系統(tǒng)一般要構造一個非集中式的拓撲結構,在構造過程中需要解決系統(tǒng)中所包含的大量節(jié)點如何命名、組織以及確定節(jié)點的加入退出方式、出錯恢復等問題。根據(jù)拓撲結構的定義可以將p2p網(wǎng)絡拓撲結構分為4種形式:中心化p2p網(wǎng)絡拓撲結構、非結構化p2p網(wǎng)絡拓撲結構、結構化p2p網(wǎng)絡拓撲結構和混合式p2p網(wǎng)絡拓撲結構。中心化p2p網(wǎng)絡拓撲結構最大的優(yōu)點是維護簡單,發(fā)現(xiàn)效率高。由于資源的發(fā)現(xiàn)依賴中心化的目錄系統(tǒng),發(fā)現(xiàn)算法靈活高效并能夠?qū)崿F(xiàn)復雜
12、查詢。但是與傳統(tǒng)c/s結構類似,容易造成單點故障、訪問的“熱點”現(xiàn)象和法律等相關問題,這是第一代p2p網(wǎng)絡采用的結構模式,典型的例子就是著名的共享軟件napster (如下圖所示),napster是包含有中心索引服務器的最早的文件共享系統(tǒng),但是存在擴展性和單點故障問題。在napster系統(tǒng)中,每個節(jié)點向中心索引服務器提交本地存儲的資源目錄,中心索引服務器負責編制資源的索引。資源搜索是通過中心索引服務器完成的,節(jié)點向中心索引服務器提出搜索請求,服務器返回擁有該資源的節(jié)點列表,請求節(jié)點則根據(jù)時延、帶寬等條件選擇合適的資源節(jié)點進行數(shù)據(jù)傳輸,數(shù)據(jù)傳輸無需中心索引服務器的參與。figure 2 中心化p
13、2p網(wǎng)絡拓撲結構圖非結構化p2p網(wǎng)絡拓撲結構又被稱作是純p2p網(wǎng)絡拓撲結構,這種拓撲結構的特點是所有的節(jié)點都是一個peer,沒有服務器的概念。在非結構化p2p網(wǎng)絡拓撲結構中,每個節(jié)點只存儲自身的信息或信息的索引如指針和地址。當用戶需要向系統(tǒng)獲取信息時,他們預先并不知道這些信息會存儲在哪個節(jié)點上。因此,非結構化p2p網(wǎng)絡拓撲結構中的信息搜索算法具有一定的盲目性,類似最簡單的泛洪式查找和擴展環(huán)查找(從最近的一個節(jié)點開始,層層轉發(fā)直到找到目標或超出跳數(shù)的上限為止),典型的例子如gnutella。由于gnutella采用了非中心化的方法來查找文件資源,因而不存在中心化p2p網(wǎng)絡結構中的中心服務器那樣的
14、系統(tǒng)瓶頸,整個系統(tǒng)的可擴展性得到了增強。figure 3非結構化p2p網(wǎng)絡拓撲結構圖 結構化p2p網(wǎng)絡拓撲結構是一種采用純分布式消息傳遞機制以及根據(jù)關鍵字準確定位資源的p2p網(wǎng)絡拓撲結構,它與非結構化p2p網(wǎng)絡拓撲結構的根本區(qū)別在于節(jié)點是否能夠按照全局方式組織起來。這種網(wǎng)絡同樣沒有中心服務器,目前主流的方法是采用dht(distributed hash table,分布式哈希表)技術實現(xiàn)節(jié)點和資源的全局化組織。結構化p2p網(wǎng)絡拓撲結構的優(yōu)點在于可在跳數(shù)o(log(n) ) (n表示系統(tǒng)中的節(jié)點數(shù))內(nèi)完成資源的路由和定位。其主要問題是結構的維護機制較為復雜,尤其是當網(wǎng)絡波動較大時,維護的代價顯著
15、提高。比起前兩者,混合結構汲取了中心化結構和非結構化拓撲的優(yōu)點,選擇性能較高(處理速度、存儲、帶寬等方面性能)的節(jié)點作為超級節(jié)點,在各個超級節(jié)點上存儲了系統(tǒng)中其它部分節(jié)點的信息。發(fā)現(xiàn)算法僅在超級節(jié)點之間轉發(fā),超級節(jié)點再將查詢請求轉發(fā)給適當?shù)娜~子節(jié)點。混合式結構也是一個層次式結構,超級節(jié)點之間構成一個高速轉發(fā)層,超級節(jié)點和所負責的普通節(jié)點構成若干層次。kazaa是采用混合式p2p網(wǎng)絡拓撲結構的典型代表,在下圖中,節(jié)點被分為普通節(jié)點(peer)和超級節(jié)點(super peer)兩類。其中,超級節(jié)點與位于其附近區(qū)域的普通節(jié)點構成自治簇,簇內(nèi)采用基于集中目錄式的p2p模式,而簇間則采用分布式p2p的相
16、關技術將超級節(jié)點連接起來。普通節(jié)點搜索資源時首先在本地簇內(nèi)進行,當搜索無結果時再通過超級節(jié)點間進行有限洪泛搜索,這種方式可有效降低網(wǎng)絡流量、提高搜索效率并在一定程度上提高網(wǎng)絡的負載均衡。另一方面,由于在簇內(nèi)超級節(jié)點承擔了類似于集中式目錄服務器的任務,因此超級節(jié)點容易成為局部瓶頸。figure 4混合式p2p網(wǎng)絡拓撲結構圖流媒體直播原理:流媒體直播類似于電視直播,使用音頻、視頻編碼設備現(xiàn)場將實時音頻、視頻信號編碼壓縮成相應的數(shù)據(jù)格式,經(jīng)由流媒體服務器和傳輸網(wǎng)絡實時地分發(fā)到各客戶端,具有較強的時效性。流媒體直播系統(tǒng)主要包括系統(tǒng)前端,網(wǎng)絡傳輸和客戶端三個部分。系統(tǒng)前端部分主要負責在流媒體數(shù)據(jù)傳輸前對
17、原始音頻、視頻數(shù)據(jù)進行采集,并對原始的音頻、視頻數(shù)據(jù)進行壓縮編碼將其轉化成適合網(wǎng)絡傳輸?shù)囊纛l、視頻流;網(wǎng)絡傳輸部分主要負責實時流媒體數(shù)據(jù)的分發(fā),經(jīng)互聯(lián)網(wǎng)傳送到客戶端;客戶端部分主要負責在接收到壓縮的流媒體數(shù)據(jù)后,對數(shù)據(jù)進行解碼回放。其中,網(wǎng)絡傳輸部分是整個流媒體直播系統(tǒng)的關鍵,直接關系到了整個直播系統(tǒng)可以達到的用戶規(guī)模和服務質(zhì)量。figure 5流媒體直播系統(tǒng)框架圖根據(jù)其原理,要提高流媒體直播的質(zhì)量有兩種方法:一是流媒體的編/解碼技術,即發(fā)展更具靈活性的音頻、視頻編碼方案,進一步提高音頻、視頻數(shù)據(jù)的壓縮效率,發(fā)展合適的錯誤控制技術來保證在用戶端得到的音頻、視頻失真最??;二是網(wǎng)絡傳輸技術,即發(fā)展
18、網(wǎng)絡傳輸控制技術,提高傳輸網(wǎng)絡性能和數(shù)據(jù)傳輸效率。由于音頻、視頻媒體經(jīng)數(shù)據(jù)化后形成的媒體文件占用很大的存儲空間,不適合流媒體數(shù)據(jù)的傳輸。因此在傳輸前需要對原始數(shù)據(jù)進行預處理:首先需要進行壓縮編碼,使數(shù)據(jù)量特別大的音頻、視頻等文件容量顯著減小。壓縮媒體文件所采用的格式稱為壓縮媒體文件格式。壓縮媒體文件格式通過改變數(shù)據(jù)位的編排而去掉大量的冗余信息,使其比原始文件更小,同時也盡量保留了或全部保留了原始媒體的信息;其次,為了使其更加適合流式傳輸,需要將壓縮媒體文件編碼成流式文件。流式文件是以流式文件格式的形式存在的,常見的流式文件格式有四種,分別是:real media的rm格式、windows me
19、dia的asf(advanced streaming format)格式、quicktime的mov(movie digital video)格式以及flash的swf(shock wave flash)格式。目前在流媒體直播系統(tǒng)中,流媒體的壓縮以及編/解碼技術日趨成熟,已經(jīng)很難有很多改進,因此另一項關系流媒體直播系統(tǒng)服務質(zhì)量優(yōu)劣的技術,即網(wǎng)絡傳輸技術成為當前研究的重點方向。傳統(tǒng)的流媒體直播系統(tǒng)主要采用基于單機或集群的c/s的架構。在c/s架構中,服務器通過網(wǎng)絡給每個客戶端發(fā)送多個相同的數(shù)據(jù),因為流媒體數(shù)據(jù)量大,隨著客戶端數(shù)目的增加,很容易造成服務器端的帶寬瓶頸,限制了其系統(tǒng)的擴展性。所以,c
20、/s架構不適合提供大規(guī)模的流媒體服務。由于用戶規(guī)模的增長,如何構建具有可擴展服務能力的網(wǎng)絡傳輸架構成為急需解決的問題。根據(jù)以前的研究,可以把對網(wǎng)絡傳輸架構的改進分為兩類:基于基礎設施的方案和基于p2p思想的方案?;诨A設施的方案指通過增加額外的設備來實現(xiàn)流媒體直播系統(tǒng)可擴展性、魯棒性和質(zhì)量保證性的提高,包括ip組播、流媒體直播代理、內(nèi)容分發(fā)網(wǎng)絡(content delivery network,cdn)三種技術。這三種方法在一定程度上提高的流媒體直播系統(tǒng)的性能,但是都有其局限和缺點。基于ip組播的方案只適合用戶相對集中并且網(wǎng)絡規(guī)模較小的環(huán)境,而且要求網(wǎng)絡中所有的網(wǎng)絡設備包括交換機、路由器等都
21、必須支持組播;基于流媒體直播代理的方案只適合用戶群固定和集中分布的情況,不適合用戶群分散或者變動頻繁的網(wǎng)絡環(huán)境;基于cdn的方案,用戶規(guī)模和用戶群分布比較自由,但是部署成本太高不適合大規(guī)模應用。而且上述三種方案都是基于基礎設施的,隨著系統(tǒng)支持的用戶數(shù)更多、分布范圍更廣需要的交換機、路由器、服務器等設備就會更多,整個系統(tǒng)的成本也就更高?;谶@些因素的影響,我們將主要目光放在基于p2p思想的方案上?;趐2p思想的方案是利用系統(tǒng)中節(jié)點的能力,在節(jié)點享受服務的同時,也為其它節(jié)點提供服務,即節(jié)點在下載流媒體數(shù)據(jù)的同時也上傳流媒體數(shù)據(jù)。在流媒體直播系統(tǒng)中使用該思想的技術有純p2p技術、混合p2p技術和應
22、用層組播技術三類。流媒體直播系統(tǒng)中觀看同一頻道的節(jié)點都共享相同的數(shù)據(jù),而純p2p技術、混合p2p技術和應用層組播技術就是利用節(jié)點相互交換數(shù)據(jù)來達到數(shù)據(jù)分發(fā)的目的。p2p流媒體技術的研究與分析:構建一個流媒體系統(tǒng)主要包括兩個過程:一是構建覆蓋網(wǎng)絡;二是數(shù)據(jù)傳輸調(diào)度。其中構建覆蓋網(wǎng)絡決定了節(jié)點如何選擇它的服務提供節(jié)點集,即如何將在線節(jié)點組織在具有一定特征的覆蓋網(wǎng)結構中;數(shù)據(jù)傳輸調(diào)度則決定了如何從所選定的服務提供節(jié)點集獲取內(nèi)容,即如何在覆蓋網(wǎng)之上進行高效的數(shù)據(jù)傳輸調(diào)度。p2p流媒體系統(tǒng)覆蓋網(wǎng)構建:節(jié)點的組織方法決定了節(jié)點之間的關系。覆蓋網(wǎng)絡的應用層組播協(xié)議通常把組內(nèi)成員組織成兩種邏輯拓撲:控制拓撲(
23、control topology)和數(shù)據(jù)傳輸拓撲(data delivery topology)。拓撲上的每條邊相當于一條單播鏈路,控制拓撲主要用來在端系統(tǒng)間周期性地交換控制信息來發(fā)現(xiàn)和修復由于一些成員的非正常退出而造成的拓撲的破壞。而數(shù)據(jù)拓撲則主要用來表明數(shù)據(jù)包的傳輸路徑。根據(jù)構建控制拓撲和數(shù)據(jù)拓撲的順序,可以將p2p流媒體系統(tǒng)覆蓋網(wǎng)模型分為兩類:基于樹狀拓撲優(yōu)先(tree-first)的覆蓋網(wǎng)模型和基于網(wǎng)狀拓撲優(yōu)先(mesh-first)的覆蓋網(wǎng)模型?;跇錉钔負鋬?yōu)先的覆蓋網(wǎng)模型首先會創(chuàng)建一個共享的數(shù)據(jù)傳輸拓撲樹,每個成員的任務就是找到適合自己的數(shù)據(jù)傳輸樹。同時,為了使組播樹達到最好的性能
24、,模型對樹的結構給出了直接限制,如節(jié)點的度(相鄰節(jié)點的個數(shù)),鄰居節(jié)點的選擇等等。當新成員需要加入時,它首先會查詢集中點(rendezvou point,rp),rp中保存了所有已加入成員信息,然后rp返回已加入成員的信息給新成員,最后新成員根據(jù)這些信息找到合適的父節(jié)點。一個節(jié)點若要成為這個新成員的父節(jié)點,必須滿足兩個條件:如果此節(jié)點成為新成員的父節(jié)點,數(shù)據(jù)傳輸拓撲上將不會出現(xiàn)回路;當新成員加入后成為其子節(jié)點后不會超過其度的限制。如果新成員找到了多個合適的父節(jié)點,那么它將根據(jù)具體度量的要求來找到最合適的一個節(jié)點作為自己的父節(jié)點。由于每個成員都會自己選擇合適的度,則很有可能導致樹的深度加深,使得
25、數(shù)據(jù)傳輸出現(xiàn)比較長的傳輸路徑,導致時延的加大。同時,為了防止由于某個非葉子節(jié)點的意外斷開而使得整個數(shù)據(jù)傳輸拓撲樹被分割,每個成員都會在數(shù)據(jù)傳輸拓撲上隨機選取一些非父節(jié)點添加到其連接中,這樣便組成了控制拓撲。基于樹狀拓撲優(yōu)先的覆蓋網(wǎng)模型的優(yōu)點在于實現(xiàn)簡單,維護開銷小,擴展性也較好,用戶對樹有較好的控制能力(可控制節(jié)點最大出度、選擇合適父節(jié)點等以適應應用的需求),能根據(jù)應用特點來建立相應的組播樹,如時延優(yōu)先或帶寬優(yōu)先。但缺點在于可靠性較差,需要采用避免拓撲分割的技術來保證通信的魯棒性,同時還需要對組播樹的回路檢測和避免進行處理。比較典型的基于樹狀拓撲優(yōu)先的覆蓋網(wǎng)模型的應用層組播協(xié)議有yoid(yo
26、ur own internet distribution)和hmtp(hessian message transport protocol)。在基于網(wǎng)狀拓撲優(yōu)先的覆蓋網(wǎng)模型中,組的成員首先自己組織成一個網(wǎng)狀拓撲(控制拓撲),任意兩個成員之間有多條路徑相連。在這個網(wǎng)狀拓撲中,每一個成員都會保存這個組中其它所有成員的狀態(tài)信息,而這個信息將會得到周期性的刷新。當有新成員加入時,此成員會從某一個rp獲得所有已加入的組成員的列表,然后隨機選擇部分成員作為自己的鄰居節(jié)點,當至少有一個成員成為這個新成員的鄰居節(jié)點時,此新成員就視為成功加入了這個組播組。成功加入后,此新成員開始和它所有的鄰居節(jié)點交換狀態(tài)信息,
27、組中每個成員也會周期性的產(chǎn)生一個狀態(tài)刷新消息來及時刷新自己所保留的所有成員狀態(tài)信息?;诰W(wǎng)狀拓撲優(yōu)先的覆蓋網(wǎng)模型的可靠性比較高,但分發(fā)每個成員狀態(tài)信息給系統(tǒng)內(nèi)其它成員將會導致整個系統(tǒng)對控制信息的維護開銷增大。典型的基于網(wǎng)狀拓撲優(yōu)先的覆蓋網(wǎng)模型的應用層組播協(xié)議是narada,它首先構造一個所有節(jié)點之間的網(wǎng)狀結構的控制拓撲,然后用距離矢量組播路由選擇協(xié)議(distance vector multicast routing protocol,dvmrp)構造數(shù)據(jù)源指定的數(shù)據(jù)傳輸拓撲。p2p流媒體數(shù)據(jù)傳輸調(diào)度: 流媒體數(shù)據(jù)傳輸調(diào)度策略存在著“推”和“拉”兩種機制。一般,基于樹狀拓撲優(yōu)先的覆蓋網(wǎng)模型是典
28、型的“推”機制,而基于網(wǎng)狀拓撲優(yōu)先的覆蓋網(wǎng)模型則采用“拉機制。所謂“推”就是節(jié)點主動向另一個節(jié)點發(fā)送數(shù)據(jù),此時要求節(jié)點之間有父子關系,父節(jié)點依據(jù)這種關系主動發(fā)送數(shù)據(jù)給子節(jié)點。在基于樹狀拓撲優(yōu)先的覆蓋網(wǎng)模型中,由于用戶的行為無法預期,任何節(jié)點都有可能在任何時候退出系統(tǒng),一旦父節(jié)點退出系統(tǒng),則它的子節(jié)點就需要重新選擇父節(jié)點加入到組播樹中,在對樹的恢復期間就可能導致子節(jié)點丟失部分數(shù)據(jù)。此外,樹結構一般從一個節(jié)點請求數(shù)據(jù),節(jié)點與節(jié)點之間帶寬一般比較低因而不適合帶寬要求高的應用。為了解決這些問題,后來又提出了采用多描述編碼(multiple description coding,mdc)構造兩棵或多棵組
29、播樹的機制,通過將單一碼流分割為多個碼流,對每個碼流建立一棵組播樹。多樹的機制對質(zhì)量有所改善,但是其算法的復雜度和維護開銷大大增加。隨著coolstreaming的出現(xiàn),基于數(shù)據(jù)驅(qū)動的流媒體分發(fā)技術得到了廣泛的應用。采用這種數(shù)據(jù)交換方式后,鄰居節(jié)點間根據(jù)交換得到的數(shù)據(jù)緩存信息主動地向其它節(jié)點請求所需的數(shù)據(jù)塊,這種方式被形象地稱為“拉”機制。相比較之下,“推”機制要求節(jié)點之間存在父子關系,通常以組播樹的方式實現(xiàn),而“拉”機制不需要節(jié)點間具有層次性的關系?;诰W(wǎng)狀拓撲優(yōu)先的覆蓋網(wǎng)模型基本上以“拉”機制為主要解決方案?!袄睓C制是以存儲轉發(fā)為基礎,節(jié)點首先獲得對方節(jié)點所擁有的數(shù)據(jù)狀態(tài)信息,然后向其發(fā)
30、起請求。“拉”機制無需維護樹的結構,但是節(jié)點之間需要不停的交換緩沖區(qū)中數(shù)據(jù)的狀態(tài)信息而產(chǎn)生一定的負載。該機制可以使得節(jié)點可以從任何相鄰的節(jié)點任何時間獲取自身需要的數(shù)據(jù),因而算法上實現(xiàn)簡單而且可以提高自己的下載帶寬?!巴啤焙汀袄钡臋C制各有其特點?!袄睓C制采用存儲轉發(fā)的思想,需要轉發(fā)每個節(jié)點上的數(shù)據(jù)狀態(tài)信息,在每個節(jié)點進行必要的數(shù)據(jù)緩存,因而采用“拉”機制有較長的時延和較多的負載。“推”機制則無須發(fā)送數(shù)據(jù)的狀態(tài)信息,無須存儲轉發(fā)因而負載較低且時延較低。但是“推”機制需要維護復雜的樹結構,對動態(tài)變化的應對能力比較弱,而且節(jié)點只能從單個節(jié)點獲取數(shù)據(jù),導致采用“推”機制質(zhì)量更差,節(jié)點獲取數(shù)據(jù)的能力更
31、差,實現(xiàn)上也更為復雜。流媒體直播系統(tǒng)模型:按照流媒體數(shù)據(jù)分發(fā)過程中數(shù)據(jù)分發(fā)的驅(qū)動因素,可以將目前應用于p2p流媒體直播系統(tǒng)按照數(shù)據(jù)分發(fā)機制劃分為3類:路徑驅(qū)動的數(shù)據(jù)分發(fā)機制、數(shù)據(jù)驅(qū)動的數(shù)據(jù)分發(fā)機制和混合驅(qū)動的數(shù)據(jù)分發(fā)機制。路徑驅(qū)動的數(shù)據(jù)分發(fā)機制:路徑驅(qū)動的數(shù)據(jù)分發(fā)機制通?;趹脤佣嗖ゼ夹g,可以在靜態(tài)的網(wǎng)絡環(huán)境下實現(xiàn)高效、低延遲的數(shù)據(jù)分發(fā),但對動態(tài)網(wǎng)絡環(huán)境的適應性稍顯不足。該機制在數(shù)據(jù)分發(fā)之前,一般需要構造可以覆蓋全部用戶節(jié)點的數(shù)據(jù)分發(fā)路徑,并且在數(shù)據(jù)分發(fā)過程中沿該路徑分發(fā)流媒體數(shù)據(jù)。數(shù)據(jù)分發(fā)路徑結構選擇以及路徑構造方式的選擇是路徑驅(qū)動的數(shù)據(jù)分發(fā)機制的關鍵所在。不同的路徑結構以及構造方式將會對
32、p2p流媒體直播系統(tǒng)的可伸縮性、抗擾動能力、播放延遲、資源利用率等性能指標產(chǎn)生較大的影響。目前,主流p2p流媒體數(shù)據(jù)分發(fā)機制采用的路徑結構大致可以分為以下幾類:單樹路徑結構、多樹路徑結構和網(wǎng)樹路徑結構。單樹路徑結構的代表模型有nice協(xié)議和zigzag協(xié)議,多樹路徑結構的代表模型有微軟提出的coopnet和splitstream技術,網(wǎng)樹路徑結構的代表有esm系統(tǒng)和chunkyspread技術。nice協(xié)議是馬里蘭大學的banerjee等提出的一種可伸縮的應用層多播協(xié)議。該協(xié)議層次簇結構的覆蓋網(wǎng)維護多播組成員,并在其上生成樹結構的數(shù)據(jù)分發(fā)路徑。覆蓋網(wǎng)及分發(fā)樹分別根據(jù)以下規(guī)則構造:首先,多播組的
33、所有節(jié)點被分為規(guī)模為k,3k的若干簇,并從每個簇選出一個簇首作為高一層次的成員,以此類推,直至構造出如下圖所示的層次簇結構;figure 6 nice的覆蓋網(wǎng)管理然后,從層次簇結構中生成一棵以數(shù)據(jù)源為根的樹(見下圖)作為數(shù)據(jù)分發(fā)路徑,該分發(fā)樹的結構為數(shù)據(jù)源向其所在簇的所有其它簇成員分發(fā)數(shù)據(jù),接收到該數(shù)據(jù)的各層簇首(數(shù)據(jù)源所在簇的簇首除外)再向各自所在簇轉發(fā)數(shù)據(jù),直至數(shù)據(jù)分發(fā)至覆蓋網(wǎng)中的所有節(jié)點。此外,為了覆蓋網(wǎng)環(huán)境的動態(tài)性,nice協(xié)議還在引導新節(jié)點和拆分、合并、修復覆蓋網(wǎng)等方面提出了相關操作方法。figure 7 nice的控制和數(shù)據(jù)分發(fā)路徑結構zigzag是tran等提出的一種應用層多播協(xié)
34、議。zigzag協(xié)議包括兩層拓撲結構:位于底層的表示節(jié)點邏輯關系的管理拓撲、位于上層的表示節(jié)點物理交互關系的數(shù)據(jù)分發(fā)拓撲。zigzag的管理拓撲為層次簇結構和數(shù)據(jù)分發(fā)拓撲為單樹結構,其構造如圖所示。基于層次簇結構的管理拓撲,zigzag按照如下兩個原則構造數(shù)據(jù)分發(fā)樹: l-1層的簇節(jié)點不能從本層的簇頭節(jié)點處獲取數(shù)據(jù),而必須從兄弟簇頭處獲取數(shù)據(jù);樹中的每個節(jié)點只能向兄弟簇的成員節(jié)點轉發(fā)數(shù)據(jù)。zigzag中的節(jié)點加入與離開、簇分割與合并、負載均衡等一系列數(shù)據(jù)分發(fā)樹維護操作都基于該原則實現(xiàn)。如此構造的數(shù)據(jù)分發(fā)路徑具有路徑維護局部化和控制開銷低的特點。figure 8 zigzag的覆蓋網(wǎng)管理結構fi
35、gure 9 zigzag的數(shù)據(jù)分發(fā)路徑結構coopnet(cooperative networking)是微軟的一個研究性項目,主要研究p2p技術對c/s模式應用性能的改善和功能的增強。coopnet有一個指定的工作站負責管理節(jié)點的加入和退出。工作站把組播樹的整個結構存儲在內(nèi)存中。當一個節(jié)點開始接收現(xiàn)場直播的流媒體時,這個節(jié)點與工作站接洽加入的操作。工作站從保存在內(nèi)存中的組播樹中找到一個合適的位置,把這個節(jié)點的父節(jié)點返回給這個節(jié)點。在視頻直播系統(tǒng)中,coopnet使用mdc和多路徑傳輸機制保證數(shù)據(jù)傳輸?shù)馁|(zhì)量。mdc將音頻、視頻信號編入到多個子集碼流中,任意組合的子集碼流都可以進行解碼。解碼之
36、后的質(zhì)量取決于收到的子集碼流數(shù)目,子集碼流數(shù)目越多質(zhì)量就越好。多描述編碼和分層編碼不同點在于,多描述編碼要求描述的每個子集碼流都必須是可解碼的,而分層編碼只要求子集碼流的一個嵌套序列可解碼。figure 10 多描述編碼和分層編碼如上圖所示,我們將視頻信號編碼為a,b和c三個子集碼流,它們互不相交。多描述編碼要求a,b和c必須都能獨立解碼,且a,b,c的任意組合都能解碼。分層編碼則只要求a、a與b的并、a與b與c的并可獨立解碼。對于視頻信號,一個簡單的mdc系統(tǒng)使用如下方法編碼。首先,將原始的視頻幀序列分為m個序列。第m(n=l,2,3,.,m)個序列包含的幀在原始流中的編號為m+im(i=0
37、,l,.)。第m個序列被編碼為第m個子集碼流。因此,任何一個子集碼流都可以單獨解碼。接受者收到的子集碼流越多,解碼出來的視頻幀率越高,圖像也就越連續(xù)。這樣每個碼流可以沿著不同的路徑進行傳輸,任何一個或多個路徑斷開都不會影響視頻的正常解碼。coopnet與其它的應用層組播協(xié)議不同,它創(chuàng)建多棵數(shù)據(jù)分發(fā)樹。每棵數(shù)據(jù)分發(fā)樹上傳輸一個子集碼流。如果將視頻編碼到m個子集碼流,那么coopnet將創(chuàng)建m棵子樹。每棵樹都是應用層拓撲的生成樹,包含所有節(jié)點。同時,每棵樹也各不相同,在一棵樹中的內(nèi)部節(jié)點在另一棵樹中可能為葉子節(jié)點。圖35中,coopnet將音頻信號編碼為三個子集碼流,每個子集碼流對應著一棵分發(fā)樹。
38、我們可以看到子集碼流l對應的分發(fā)樹中,節(jié)點a、b為內(nèi)部節(jié)點。然而在子集碼流2對應的分發(fā)樹中,節(jié)點a、b成為了葉子節(jié)點。在下圖中,如果節(jié)點b失效,那么節(jié)點e、f只是接收不到子集碼流1,但是仍然能接收到子集碼流2和3,因此節(jié)點e、f仍然能夠正常播放視頻,只是視頻質(zhì)量有所下降。figure 11 coopnet中的簡單數(shù)據(jù)分發(fā)樹coopnet中使用多描述編碼和多路徑傳輸?shù)臋C制,在一定程度上減小了因為節(jié)點的加入和退出對其它節(jié)點接收質(zhì)量的影響。同時,coopnet多棵不相交的分發(fā)樹使得很多時候節(jié)點都能接收到大部分的子集碼流,保證了一定的視頻質(zhì)量。但是,coopnet也有一些缺點。首先,coopnet需要
39、建立多棵分發(fā)樹,維護分發(fā)樹的成本和代價都是很高的。分發(fā)樹需要不停交換控制信息才能維持,多棵樹的維持需要更多的控制信息。一個節(jié)點的失敗會導致幾乎所有分發(fā)樹的調(diào)整,復雜度比較高。其次,需要對音視頻信號進行多描述編碼,制作數(shù)據(jù)源的負載較大。再者,coopnet中音頻、視頻質(zhì)量還是會因為部分子集碼流的丟失而質(zhì)量降低。最后,coopnet難于與現(xiàn)有的系統(tǒng)相融合,不易于使用,這是因為coopnet使用mdc,而現(xiàn)有的系統(tǒng)如realone player和windows media player都只支持單描述的編碼。splitstream是微軟的castro等提出的另一種基于多樹路徑分發(fā)機制的流媒體直播技術。
40、與coopnet相似,splitstream也在源服務器端對視頻節(jié)目做mdc編碼,并讓每棵分發(fā)樹對應傳輸一條mdc子流。但是,在多條數(shù)據(jù)分發(fā)路徑的組織上,splitstream比coopnet更進一步。鑒于基于單樹路徑的數(shù)據(jù)分發(fā)機制中,中間節(jié)點負載過重而葉子節(jié)點得不到充分利用的問題,castro等在設計多棵數(shù)據(jù)分發(fā)樹時特別強調(diào)每個peer節(jié)點只在其所參與的一棵分發(fā)樹中充當中間節(jié)點,而在剩余的其它分發(fā)樹中只充當葉節(jié)點。下圖給出了這種機制的一個實例。splitstream的這種設計,一方面可以均衡節(jié)點負載,更有效地利用用戶資源,另一方面可以更有效地減小節(jié)點離開或失效對其它節(jié)點所造成的影響。figu
41、re 12 splitstream的多樹路徑實例esm(end system multicast)是由美國卡耐基梅隆大學開發(fā)的基于p2p技術的流媒體直播系統(tǒng),該系統(tǒng)推出一年后直播了20多次的國際會議,包括sigcomm 2002&2003(special interest group on data communication),nossdav 2004(network and operating system support for digital audio and video),infocom 2005(the ieee conference on computer communicat
42、ions)等,同時在線用戶達4000多人。esm以narada應用層組播協(xié)議為核心,narada協(xié)議不但能夠自組織地構造高效的覆蓋網(wǎng)拓撲,還能夠?qū)W(wǎng)絡結構進行自我改善,對于網(wǎng)絡的動態(tài)性、異構性都具有較強的適應能力。該協(xié)議的基本思路是將系統(tǒng)的成員管理拓撲與數(shù)據(jù)分發(fā)路徑相分離。narada協(xié)議首先在組播成員之間建立一個網(wǎng)狀的覆蓋網(wǎng),由narada協(xié)議保證圖中任意一對節(jié)點之間最短路徑的時延,并且圖中的每個節(jié)點的鄰居個數(shù)有上限,然后在覆蓋網(wǎng)上運行組播路由協(xié)議,建立一棵組播轉發(fā)樹。通過動態(tài)探測網(wǎng)絡狀態(tài),narada動態(tài)地對覆蓋網(wǎng)進行維護和改良。在構建其控制拓撲時,narada協(xié)議先定義了一個聚集點rp作
43、為新成員加入的起點。實際上,所有的應用層組播協(xié)議都存在一個和rp起同等作用的節(jié)點,rp維護著組中所有成員的信息。當一個新節(jié)點想加入組播組時,它首先向rp節(jié)點發(fā)起請求。rp節(jié)點告訴新節(jié)點組內(nèi)中其它節(jié)點的信息。然后,新節(jié)點從中選擇一些節(jié)點,并嘗試連接。當新節(jié)點與其中一個節(jié)點連接成功,即成為那個節(jié)點的鄰居節(jié)點,新節(jié)點也就成功加入了覆蓋網(wǎng)。figure 13 narada協(xié)議流程圖chunkyspread技術是康奈爾大學的vidhyashanka等提出的。該技術采用了與narada協(xié)議相似的網(wǎng)樹結構的數(shù)據(jù)分發(fā)路徑,但在以下兩方面與narada協(xié)議存在明顯差異。一-,chunkyspread采用的是網(wǎng)多
44、樹路徑結構,這一點區(qū)別于narada采用的網(wǎng)單樹路徑結構。通過引入mdc技術,chunkyspread將流媒體數(shù)據(jù)劃分為多個子流,數(shù)據(jù)源將子流分發(fā)給多個節(jié)點,然后這些節(jié)點再作為子流數(shù)據(jù)源在以網(wǎng)一單樹結構分發(fā)子流,因此整體上使chunkyspread形成一種如下圖所示的網(wǎng)多樹的路徑結構。chunkyspread中提出的網(wǎng)一多樹的數(shù)據(jù)分發(fā)路徑結構比esm中的網(wǎng)單樹的數(shù)據(jù)分發(fā)路徑結構對異構網(wǎng)絡具有更好的適應能力,能夠更充分地利用用戶節(jié)點資源。另一方面,chunkyspread在分發(fā)樹的構造方法上也與narada協(xié)議有明顯差異。chunkyspread沒有像narada那樣采用經(jīng)典距離矢量路由算法,而
45、是采用了更為靈活的自組織、自改善方式構建數(shù)據(jù)分發(fā)樹。chunkyspread中,節(jié)點間的父子關系由各節(jié)點根據(jù)局部信息獨立確定,無需復雜的全網(wǎng)信息傳播機制。為了避免構造低效的分發(fā)樹,chunkyspread還進一步提出了使節(jié)點根據(jù)負載、延遲等指標對網(wǎng)絡拓撲結構進行動態(tài)優(yōu)化的方法。figure 14 chunkyspread數(shù)據(jù)分發(fā)機制 數(shù)據(jù)驅(qū)動的數(shù)據(jù)分發(fā)機制:數(shù)據(jù)驅(qū)動的數(shù)據(jù)分發(fā)機制是p2p網(wǎng)絡中的典型數(shù)據(jù)分發(fā)機制,對動態(tài)網(wǎng)絡環(huán)境具有良好的適應性,但是其數(shù)據(jù)分發(fā)效率較低,延遲較高。該機制無需在數(shù)據(jù)分發(fā)之前構建數(shù)據(jù)分發(fā)路徑,只需在數(shù)據(jù)分發(fā)過程中在節(jié)點間定期交換彼此的狀態(tài)信息(如節(jié)點狀態(tài)、數(shù)據(jù)可用性等
46、)。節(jié)點通過周期性地檢查自身以及鄰居節(jié)點的狀態(tài),識別自身的數(shù)據(jù)需求以及相關數(shù)據(jù)在鄰居節(jié)點上的可用性情況,然后根據(jù)數(shù)據(jù)調(diào)度策略從鄰居節(jié)點主動拉取數(shù)據(jù)(或向鄰居節(jié)點主動推送數(shù)據(jù))。數(shù)據(jù)驅(qū)動的數(shù)據(jù)分發(fā)機制的覆蓋網(wǎng)拓撲通常為網(wǎng)狀結構。雖然這種機制在進行數(shù)據(jù)交換時也會交換控制信息和流媒體數(shù)據(jù),但是其通信協(xié)議通常不像路徑驅(qū)動的數(shù)據(jù)分發(fā)機制那樣完全分離開來。與路徑驅(qū)動的數(shù)據(jù)分發(fā)機制不同,此類數(shù)據(jù)分發(fā)機制認為與其在高度動態(tài)的p2p網(wǎng)絡環(huán)境中不斷地修復分發(fā)路徑結構,還不如利用數(shù)據(jù)的可用性來引導數(shù)據(jù)流。因此,在此類數(shù)據(jù)分發(fā)機制中,流媒體數(shù)據(jù)并不是沿預先構造的數(shù)據(jù)分發(fā)路徑傳輸,而是根據(jù)節(jié)點各自的數(shù)據(jù)需求傳輸?shù)?。事?/p>
47、上,這種數(shù)據(jù)分發(fā)機制中也存在數(shù)據(jù)分發(fā)路徑的概念,只不過這種數(shù)據(jù)分發(fā)路徑是節(jié)點間在進行數(shù)據(jù)交換時自然形成的,而且一般不被后續(xù)數(shù)據(jù)單元所復用。在數(shù)據(jù)驅(qū)動的分發(fā)機制中,資源(數(shù)據(jù)、節(jié)點資源等)調(diào)度算法是一項最為重要的核心技術,在很大程度上決定了數(shù)據(jù)的分發(fā)模式。資源調(diào)度算法的優(yōu)劣會對p2p流媒體直播系統(tǒng)的傳輸延遲、數(shù)據(jù)冗余度、控制開銷等性能產(chǎn)生重要影響。目前,在p2p流媒體直播領域中,隨機拉取(random pull)算法及其變種是主流的資源調(diào)度算法。此類算法在現(xiàn)實世界中得到了廣泛的應用,ppstream,pplive等知名p2p流媒體直播系統(tǒng)都是基于此類算法開發(fā)的?;镜碾S機拉取算法是應用于網(wǎng)狀覆蓋
48、網(wǎng)結構之上的。覆蓋網(wǎng)絡上的邊對應節(jié)點之間的鄰居關系,一個節(jié)點可與多個節(jié)點建立鄰居關系,鄰居節(jié)點間通過定期交換bm消息以了解彼此在緩存窗口內(nèi)的數(shù)據(jù)緩存情況。在一個數(shù)據(jù)調(diào)度請求周期內(nèi),節(jié)點首先計算自身缺失而鄰居節(jié)點可用的數(shù)據(jù)塊集合,然后從該集合中隨機選取一些數(shù)據(jù)塊向隨機選取的擁有該數(shù)據(jù)塊的鄰居節(jié)點發(fā)起數(shù)據(jù)拉取請求,之后被請求者向請求者發(fā)送相關數(shù)據(jù)塊。對于該請求周期未能成功獲得的數(shù)據(jù)包,節(jié)點將在下一請求周期內(nèi)繼續(xù)拉取。在基本隨機拉取算法基礎上,通過加入不同的調(diào)度策略產(chǎn)生了很多變種算法,這些變種算法的性能在不同程度上都優(yōu)于基本算法的性能。變種算法采用的調(diào)度策略大致可以包括最少優(yōu)先策略、最新優(yōu)先策略、最
49、貧瘠優(yōu)先策略等,其中以最少優(yōu)先策略最具代表性。最少優(yōu)先策略是p2p文件共享系統(tǒng)中應用最為廣泛的數(shù)據(jù)調(diào)度策略,最早由coolstreaming系統(tǒng)引入到p2p流媒體系統(tǒng)中,該策略的基本思想是通過增強局部稀有數(shù)據(jù)的可用性加快其擴散速度。香港中文大學張欣研博士開發(fā)的coolstreaming系統(tǒng)是第一個采用純p2p機制來解決流媒體直播的系統(tǒng),它在2005年的測試期間用戶數(shù)高達兩萬多人。coolstreaming是一個擴展性更好,穩(wěn)定性更強的視頻直播系統(tǒng)。該系統(tǒng)采用分布式機制形成覆蓋網(wǎng)。每個節(jié)點維持一個覆蓋網(wǎng)中其它成員信息的列表mcache。新節(jié)點a首先與直播源聯(lián)系,直播源從自己的mcache中隨機的
50、選擇一個節(jié)點p作為節(jié)點a的代理節(jié)點,節(jié)點a再與節(jié)點p聯(lián)系,并將節(jié)點p的mcache內(nèi)容存入自己的mcache中。節(jié)點a再與自己mcache內(nèi)的節(jié)點建立連接。在加入覆蓋網(wǎng)之后,節(jié)點a利用gossip協(xié)議來報告自己的存在。每一個節(jié)點周期性的生成一個消息來說明自己是一個活躍節(jié)點。coolstreaming使用120個數(shù)據(jù)塊的緩沖窗口來緩存數(shù)據(jù),每個塊可以緩存1秒種左右的數(shù)據(jù)。每個塊在窗口內(nèi)都有唯一的編號,節(jié)點之間通過數(shù)據(jù)塊的編號來請求數(shù)據(jù)。它使用16bit描述窗口內(nèi)第一個數(shù)據(jù)塊的序號,然后120bit為標識窗口內(nèi)哪些塊有數(shù)據(jù),節(jié)點之間就周期性的交換這136bit的描述信息。如下圖所示,peer1窗口內(nèi)的數(shù)據(jù)用“0110101”進行描述,它將該消息發(fā)送給peer 2和peer 3。peer 2窗口內(nèi)數(shù)據(jù)用“2101001,它將數(shù)據(jù)狀態(tài)信息發(fā)送給peer 1和peer 3。figure 15 coolstreaming中數(shù)據(jù)狀態(tài)信息交換圖 各節(jié)點得到與自己相連節(jié)點的數(shù)據(jù)狀態(tài)信息之后,就可以向它們發(fā)起對自己需要數(shù)據(jù)塊的請求。各節(jié)點計算每個塊潛在的提供者個數(shù),首先選擇提供者最少的一個塊進行請求傳輸。在傳輸該塊時,節(jié)點選擇向一個帶寬足夠高又能滿足該塊時間限制的提供者請求數(shù)據(jù)?;旌向?qū)動的數(shù)據(jù)分發(fā)機制:混合驅(qū)動的數(shù)據(jù)分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZGXK 024-2024 青儲玉米品種試驗規(guī)范
- 二零二五年度企業(yè)代為管理員工社保繳費及報銷流程合同
- 二零二五年度購房按揭貸款利率調(diào)整合同
- 2025年度酒店入住智能家居體驗合同
- 2025年度汽車零部件訂車合同違約賠償標準及責任界定
- 二零二五年度公寓樓出租合同樣本(含精裝修、家具家電及物業(yè)費)
- 二零二五年度醫(yī)院藥劑科藥品配送與勞務合作合同
- 二零二五年度臨時項目經(jīng)理聘用與項目風險預警協(xié)議
- 二零二五年度租賃型住房委托管理服務合同
- 二零二五年度旅游產(chǎn)業(yè)投資合作框架協(xié)議
- 500-3000總噸船舶大副培訓大綱(2021版)
- 2024至2030年中國錢幣類收藏品行業(yè)市場前景調(diào)查及投融資戰(zhàn)略研究報告
- 三級安全培訓考試題附參考答案(滿分必刷)
- 高一英語完形填空專項訓練100(附答案)及解析
- 機房基礎設施運行維護管理標準規(guī)范
- 老年心房顫動診治中國專家共識(2024)解讀
- 部編版八年級上冊歷史期中復習重點總結
- 2024年揚州市職業(yè)大學單招職業(yè)適應性測試題庫1套
- 消防安全技術綜合能力要點概述
- DL-T 5148-2021水工建筑物水泥灌漿施工技術條件-PDF解密
- 道路施工安全隱患及防范措施
評論
0/150
提交評論