標籤:即時通訊 音視頻開發 音視頻 p2p
隨著我國電腦網路的飛速發展,網路視音頻技術得到了廣泛的應用。現今人們已經從傳統的娛樂方式(例如:收音機,電視)向網路互動媒體娛樂方式轉變,而流媒體ApsaraVideo for VOD技術更是滿足了人們這種互動式娛樂的需求。但因我國網路基礎和伺服器能力的制約,較大容量的使用者服務仍是限制流媒體視頻技術發展的一個瓶頸,如果採用P2P技術與傳統流媒體技術相結合,就可以避免大量使用者服務的瓶頸,這不僅減輕了伺服器的負擔,同時也提高了網路資源的利用率。
P2PApsaraVideo for VOD技術是利用分布式的思想把使用者的資源進行分類,這不同於一般的應用程式層多播,它只對現正播放的使用者才參與服務。在使用者的使用過程中P2PApsaraVideo for VOD系統也是比較靈活的,使用者可以隨時斷開網路或串連,而且共用資源過程中對頻寬的要求也不高,這極大的方便了使用者的使用,同時在接收資源時使用者採用一個接收點向多個寄件者傳輸資料的方式,並根據接收使用者和寄件者的頻寬來決定資料的大小,提升了網路的利用率。
P2PApsaraVideo for VOD的組成是以流媒體伺服器、索引伺服器、超級使用者、候選使用者、一般使用者組成的,其中流媒體伺服器是來儲存媒體檔案,建立索引關係的,而索引伺服器則是通過WEB伺服器來向使用者反饋索引資訊。使用者管理主要以使用者的許可權來劃分的,其中超級使用者是負責組內成員資訊及成員所傳資源資訊的管理工作,同時還負責響應和轉寄使用者的查詢請求,一般一個組內只能有一個超級使用者。
P2PApsaraVideo for VOD技術的設計應以資源的收集、發布、索引、播放、管理為主要方向,在實際操作中P2PApsaraVideo for VOD系統應具有以下四種功能,首先是資源的發布功能,網路各節點中要將自己所擁有的影片資訊統一發送給網路中的其他節點;其次是索引功能,網路使用者在檢索資源時系統能夠給出篇名和資源資訊,並提供相關的資源資訊,以方便使用者對資源的選擇;再次,資源的播放要統一格式,網站要有相應的播放軟體下載,以方便使用者觀看資源;最後,ApsaraVideo for VOD的管理功能要考慮到伺服器和網路系統的負載問題,並且系統還要管理影片資源分區,保證系統具有的可擴充性。
P2PApsaraVideo for VOD技術的模組設計應以節點、源節點、媒體資源為基礎,通過節點對資源的儲存,源節點對資源的傳送和媒體資源的發布來實現ApsaraVideo for VOD。從功能和設計來劃分,P2PApsaraVideo for VOD技術的模組設計主要有四個部分:首先是底層路由、尋找模組的設計,這主要是為了提高底層路由的使用率,並提升資源使用的準確性,在設計上要根據資源所給的關鍵詞或字進行快速準確的定位。我們一般是採用採用基於DHT的分布式路由尋找演算法Chord的改進演算法來完成這一功能,但Chord演算法還存在一定的不足,所以我們需要保留我個後繼節點,以使得系統更為穩定,同時還要增加路由表本節點到後繼節點的RTT值。只有這樣才能使路由更為快捷;其次,語義搜尋查詢模組的設計,語義搜尋需要系統具有一個較為豐富的資產庫,以此來保證節點儲存路由中的資源資訊,同時根據多節點的設計理念,節點與後繼節點之間Stabiliza-tion的過程中可以互相交換已知的影片資訊。再次,負載平衡模組的設計,隨著網路的發展系統的節點會越來越多,同時熱門資源的點播壓力也會越來越大,這就使得熱門資源形成了一個熱門節點,如果不對其進行處理則會引發資源路由的暫時性失效,通常是採用負載平衡的方法,這可以有效處理此類問題。最後,影片傳送播放模組的設計,在網路中影片資源以分區流式化進行傳輸,由於多節點同時為一個節點服務,資源分區往往傳輸次序有所顛倒,播放時需要對資源的分區進行重新排序,所以P2PApsaraVideo for VOD技術必須做好此模組的構建。
P2P技術構建的網路是一種分散式的結構,在同一網路中其各個節點都是客戶機和同時也是伺服器,其在網路應用中有很大的自主權,實際應用中可以避免C/S網路出現的單一資源頻繁訪問的困難,減少了伺服器故障引發的網路癱瘓問題。但如果採用純的P2P廣播方式進行資源轉輸,很容易引發“廣播風暴”,從而造成了更為嚴重的網路堵塞。考慮到如上的種種情況,筆者在系統設計中將傳統的C/S和P2P模式結合起來,綜合所查閱的文獻,採用了P2P-集中式混合的構架。可以看到,將使用者分成了一個個的點組,添加了一個虛擬伺服器的概念,它的存在是動態,由每個點組中第一台向伺服器請求資料的客戶機擔當。點組中其他客戶機的請求都將交送到虛擬伺服器上處理。如果串連伺服器逾時,則此虛擬伺服器失效,整個流程會重啟,由其他客戶機來擔當虛擬伺服器。
網路資料轉送的P2P流媒體技術