直播P2P技術2-低延遲模型


低延遲模型

由上一篇文章我們知道:網狀拓撲雖最大化利用了所有節點的資源卻無法降低數據延遲,而樹狀拓撲盡管數據傳輸效率高,延遲低,但只利用了少部分節點的帶寬資源,不適應高碼率的直播P2P網絡。

那么如何在高碼率的直播中實現延遲低的可用P2P網絡呢?

其實可以將樹、網狀拓補有效地結合起來,也就是使節點在全局上屬於對等關系,而在一定程度上又屬於樹中的父子關系。這樣既保證了每個節點都參與數據下載和上傳過程,使得單個節點平均上、下行帶寬要求降低,又保證節點之間數據交換快速高效。稱這種結構為:樹網狀結合拓撲。結構如下圖1.所示。

為了方便討論樹網狀網絡拓撲,作如下定義:

  • 數據全集:整個直播數據片段構成的集合
  • 數據集:數據片段的集合,互不相交,且並集構成整個直播數據的全集
  • 節點基本數據集:原始分配給每一個節點從服務器下載的數據集
  • 節點數據集:節點基本數據集與從其他節點訂閱的數據集的並集

每一個節點被分配一個基本數據集的下載任務,數據集的數量全局固定可知,節點數據集相同的節點不產生任何關系,數據集不同的節點可在不同的數據集上產生不同的訂閱。

節點之間控制消息和數據消息過程如下圖2.所示。

假設數據集數量為M,直播數據碼率為B,則單個節點的最小平均下行帶寬Bd,Bu=(B/8)/M,最小平均上行帶寬Bu,Bu=(M-1)/M*(B/8)。節點訂閱數據集成功后,單個數據塊的單挑延遲T,有T=Td,n跳數據塊延遲Tn,有Tn=n*Td。理想情況下,每一個節點的最大P2P數據分享率P,有P=(M-1)/M

跳數越多(樹的高度越高),節點的延遲就越大。所以一般可以將直播的數據划分成多一些的數據集,即M值大一些,數據跳數固定為1(每一棵樹樹高為2)。同時,M越大,P也就越大。

當然,這個模型也有一些缺點。整個P2P網絡中,有很多棵基於對數據集訂閱產生的樹,如果每種數據集的訂閱樹總數量不均衡,將會導致訂閱樹更少的那部分數據集節點上行帶寬壓力增大。當然這個弱點是可以彌補的,取決於服務器數據集划分算法和客戶端節點的數據集任務分配的算法。

總的來說,樹網狀網絡拓撲既有效地利用了每個節點的上下行資源,又能做到PUSH模型的低延遲數據推送,很適合於低延遲的直播P2P場景。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM