P2P直播原理与应用要求

来源 :中国数字电视 | 被引量 : 0次 | 上传用户:Fukuki
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】:三网融合的趋势为各种技术和应用提供了广阔的空间,P2P作为一种广为推崇的技术,必将在其中扮演它应有的角色。本文将从理论角度分析探讨P2P、P2P直播的原理及其特点,并针对广电行业提出P2P的应用要求和建议。
  【关键字】P2P直播 三网融合 带宽
  
  随着三网融合的推进,广电网络和服务平台将承载越来越多的业务,数据访问量将成倍增加,传统C/S模式的数据服务中心承受的压力越来越大,从而限制用户规模的扩张和业务种类的扩展。虽然可以在一定范围内扩容数据服务中心,但随着规模的增加,将要面临扩容的收益和成本比问题。另外,因为网络带宽的限制,中心不能无限扩容,虽然三级部署等分布式技术的引入使这个问题大大改善,但能否成为终极解决方案呢?显然不是,探索之路永远没有终结,P2P技术将有可能进一步提高大规模的支撑能力,且收益和投入比更高,本文将探讨P2P、P2P直播及其应用要点。
  
  C/S模式与P2P模式的对比
  
  P2P作为一种分布式技术,能将传统C/S结构中服务器的计算、带宽和I/O开销有效地分散化,降低对中心服务器的依赖度,降低中心服务器的投入。由于降低了对中心服务器的依赖,理论上也增加了系统的整体鲁棒性。鉴于这些优点,P2P技术得到了广泛的关注与应用,特别是在互联网中更为常见,如BT、PPLive、PPS、Skype等等,P2P的这些优点可用一个简单的CS与P2P模型来对比说明(见图1、图2)。
  图1为传统C/S模式,Server(服务器)中存有的资源由A、B两部分组成,当Clientl(用户1)需要该资源时,将从Server下载A、B两部分,假设以先A后B的顺序进行,可以对每个数据块进行以下3步操作:
  1 Clientl请求下载A之后,Server首先从磁盘读取A,消耗1单位IO流量;
  2 Server一般存在多次复制A,最终传递到网络层,认为消耗1单位计算能力;
  3 Server最终通过网络将A发送出去,消耗1单位网络流量。
  B部分的下载过程同上。综合得出,Clientl为了获取这个由A、B组成的数据,总共消耗了Server 2单位UO流量,2单位计算能力,2单位网络流量。当Client2需要该数据时,过程同Clientl。
  由此,Server在为Clienl和Client2同时提供服务的过程中总共消耗了4单位的I/O(假设没有采用缓存机制)、4单位计算能力、4单位网络带宽。
  图2为简化版的P2P模型,当Clientl和Client2(一般称作Peerl和Peer2,后文都将使用该名称)需要请求资源时的过程如下:
  1 Peerl请求A(同CS模式的过程),Server消耗I单位I/O,1单位计算能力,1单位网络流量;
  2 Peer2同时请求B,过程与消耗情况同上;
  


  


  


  3 Peerl需要B时,因为Peer2已有B的副本,则转而向Peer2请求B,Peer2将消耗1单位I/O流量(假设没有用到缓冲机制),1单位计算能力,1单位网络流量;
  4 Peer2需要A时,因为Peerl已有A的副本,则转而向Peerl请求A,消耗情况同上。
  当完成所有过程后,Peerl和Peer2都获取了包含A、B数据块的完整资源副本,最终效果与C/S模式相同。但该模式中,Server只消耗了2单位的I/O流量、2单位计算能力、2单位的网络流量,各项开销都只有C/S模式的一半!与此同时,Peerl和Peer2各消耗了1单位I/O流量,1单位计算能力和1单位网络流量,Server节省下来的资源消耗被分散到客户端之间,从而实现了P2P分散计算、I/O和网络负载的目的,降低了中心服务器的压力和投资成本。
  
  P2P技术应用于直播
  
  有线HFC网络在直播方面具有很大优势,目前广播技术应用于直播是最为经济的方式。但随着三网融合的发展,除HFC网络外,各种IP网络、无线网络、PC、手机等终端都希望能够提供直播服务,而且,并非在所有情况下广播或组播都是最优选择,在IP网络中P2P直播将是一个不错的选择。
  所谓直播:一是实时性高,即用户几乎可以同步在屏幕上观看到现场画面;二是用户收看的同步性,即大家同一时间看到的图像是相同的。而将P2P技术应用于直播将提出新的技术要求,下文将从基本的P2P模型出发(见图2),讨论P2P直播的技术要求与特点。
  
  1 延迟
  假设A、B刚好对应两帧画面,先后顺序是A、B,因为是直播,所以Peerl与Peer2将会同时请求数据,从上文的分析中可知,Peerl在取得数据A的同时,Peer2取得B,随后相互交换,当交换完成后,Peerl和Peer2都具备了A、B数据,此时可以开始播放。但在P2P直播中,要完成上述过程势必会造成画面的延迟,因为现场中,B画面已经发生,Peerl和Peer2才开始观看A画面,这是因为缓冲所造成的延后。如果Peerl先得到A,再得到B,便可以在取到A之后立刻开始播放,但先得到B数据的Peer2却必须等待A数据后才能开始播放,这就造成了Peerl和Peer2画面不同步。上述两种情况都违反了直播的基本特点,但这并不能阻止P2P技术在直播中的应用,现实中,往往采取延后同步播放的方式予以折中,只要将延后时间控制在用户可以忍受的范围之内即可。
  那么,延迟时间应该如何控制呢?暂不考虑用户等待的心理因素,要点便在于缓存设计。在传统直播中,缓冲是序列化的,即严格按照时间顺序进行,如图3所示。
  C/S模式中,数据到达的顺序严格按照1-9的顺序进行(不考虑异常情况),因此播放器可以在收到一帧画面数据后立刻开始播放(缓冲小),也可以收到几帧后再播放(缓冲大),这取决于网络情况,网络抖动小,缓冲可以较小,反之则较大。
  但在P2P传输模式中,数据到达的顺序是离散的,同样是I~9帧的数据,但实际到达Peer端的顺序有时是随机的。有时又是有规律的,这往往依具体的P2P算法而定,随机的情况如图4所示(蓝色的数字编号代表到达的顺序)。
  同样是1-9帧的数据,但到达的顺序却是6、3、7、1、2、8、5、9、4,(蓝色数字表明实际到达顺序,如,编号为6的帧是第1到达的,而编号为3的帧是第2到达的……)因为至少要收到第1帧数据后才能播放,以一秒下载一帧计算,则必需等4秒后才能播放。在实际应用中,到底需要延迟多长时间,完全决定于离散区域的长短以及调度算法,离散区域越长则延迟越大。
  
  2 数据同步   在上文的P2P模型图中,我们假设了Peerl首先获取A数据,Peer2首先获取B数据,但在实际应用中,Peerl为何获取A数据,而Peer2获取B数据呢?这是由具体的调度策略决定的,其常用的算法有稀缺优先、DHT等等,在此不详细说明。另外,当Peerl需要B数据时,它如何判断Peer2恰有该数据呢?在实际应用中,成千上万的Peer端又如何得知哪个Peer端有自己需要的数据呢?为此,我们会将一部分Peer端组成一个组,称为朋友圈,在朋友圈中建立通信,周期性通知数据的分布情况,典型代表为Gossip。总而言之,Peer端之间会形成一种同步机制,同步机制是否高效,将直接导致调度的效率。如果向一个实际没有某块数据的Peer端请求必定失败,继而再向其他Peer请求,势必增加请求数据的总时长,使延迟进一步增大。如果上文中的延迟被称为系统延迟的话,那么这种延迟便是工程延迟,应尽可能降低不必要的工程延迟。
  
  3 守恒定律
  在上文的P2P模型中,所需的Server带宽从C/S模式的4单位变为2单位,而Peerl和Peer2又各增加了1单位上行带宽,Server节省的带宽恰好是Peer增加的,Peer在享受服务的同时也提供了服务——这便是P2P的精髓所在。
  能量守恒定律无处不在,在P2P直播系统中,如果将计算能力、I/O能力和带宽也看作类似的量,其中也有守恒定律的存在,下文主要以带宽这个指标来进行研究。假设将Server和众多Peer放于一个封闭系统中,如图5所示。
  假设整个系统已经达到动态平衡状态,那么Server和各个Peer的上行带宽之和(假设该值为s1)一定等于下行带宽之和。当一个新的Peer(如Peer4)加入该系中后,也必定满足上行之和(假设该值为s2)等于下行之和这一规律,假设这路直播的稳定码率为k,那么S2=SI+k,如图6所示。
  如果Peer4状况良好,在其加入系统后,从系统中获取码率为k的数据流,同时提供给其他Peer端k码流数据,而在图6系统图中,小圈中的s1值没有变化,即Peer4的加入对原有系统没有造成新的压力,以此类推,加入任意多个Peer都不会对Server和原有系统增加压力,这也是P2P在一定带宽投入下可以支撑无限客户端的理由所在。但在现实应用中,会有很多工程问题阻碍这个目标的实现,时延便是一个重要约束。另外,假设Peer4不能提供上行带宽或上行带宽很小,那么上行带宽的平衡公式S2=SI+k将不能成立,因为Peer提供的上行带宽比k小。但是s2值仍然不变,由此将造成s1变大,即Peer4的加入增加了原有系统的上行压力,如果原有系统中Peerl-Peer3的上行已经满负荷,增加的带宽需求就会转嫁到Server上。以此类推,如果新加入的Peer端均状况不良,将逐渐增加Server的压力,直至崩溃。因此,P2P直播对接入网络的客户端的上下行带宽(暂不考虑计算能力和I/O能力)是有要求的,即上下行带宽提供能力必须大于或者等于节目码率。
  
  P2P直播应用要求
  
  通过上文的分析,我们可以自然推导出P2P直播的应用要求。
  1 时延要求
  因为应用P2P技术必然导致直播的时延,而时延是QoS的一个重要指标,那么在应用决策时就必须考虑当前的应用环境是否有足够的时延承受度,例如想在机顶盒上实现P2P直播就值得商榷,因为用户看电视的传统习惯使其很难容忍长时间延迟。如果是基于互联网接入的PC用户,时延承受度可能较高,这也是互联网中P2P点播和直播较为流行的原因。
  2 网络带宽要求
  P2P直播不仅对下行带宽有要求,对上行带宽也有要求。目前广电网络的双向改造就必须有一定前瞻性,不能只盯着下行而忽略上行,必须留有足够的上行扩展空间对将来的应用扩展提供良好支持,虽然会增加改造成本,但综合成本可能更低。
  3 网络拓扑要求
  上文未提及Peer之间的通达性,实际应用中存在NAT穿越、干网瓶颈等等具体问题,都会对P2P调度策略的效率造成影响,如果在网络拓扑设计和改造之初就充分综合考虑这些因素,将会为日后发展提供新的机遇。
  4 管控的挑战
  P2P的特点是分散、管控性差,这在应用中将是一个极大阻碍,所以在具体的工程系统设计时要充分考虑可控可管,不能一味追求P2P放大能力以及Server资源的节省,要在其中寻找平衡点。
  
  广电人的思考
  
  P2P技术极具吸引力,但如何引入到广电网络是个值得思考的问题。
  目前最大的矛盾来自于视频流码率,(一般大于1.8Mbps),而双向带宽小,特别是上行带宽,一般小于5COKbm。按照上文分析,目前的网络现状下应用P2P技术几乎没有可行性,但随着广电网络的逐渐进化,双向接入带宽越来越大,压缩技术的进化使码率越来越小。将最终适合P2P技术的应用。
  广电网络的割据局面不利于P2P技术的应用,因为P2P需要用户规模,但随着省网整合,甚至全国有线网络的整合,局面也将逐渐打开。
  另外,P2P技术的应用不局限于用户终端之间,服务器间的也非常普遍,典型的便是基于P2P技术的CDN。目前,省网双向互动平台中的CDN一般都会应用P2P技术。
  下一代广电网络的改造起点更高,IPv6将使P2P传输更加方便,P2P技术也将随着网络升级而进化,并广泛应用到直播、点播、多媒体通信等诸多领域。
其他文献
结构设计是高层建筑设计中最为关键的步骤,如何做好高层建筑的结构设计至关重要.论文首先分析了常见的高层建筑结构类型及特点,并分析了高层建筑结构设计时应该注意的几个问
乳腺癌是威胁妇女的第一癌症,我国每年约有1.33万人死于乳腺癌,多数乳腺病变,如明确的良性病变和典型的癌,诊断都比较容易,但有些病例就不易诊断,如乳腺非典型增生,查其原因,
目的 探讨并发牙髓病或者根尖周病的隐裂牙的治疗方法及效果.方法 对217例并发牙髓病或根尖周病的隐裂牙进行综(牙合)治疗,即依次进行调(牙合)、带环固定、根管治疗、充填、
1 引言rn肺栓塞(PE)是指以各种栓子阻塞肺动脉系统所导致的一种疾病或临床综合征的总称.在临床上,以肺血栓栓塞(P1)较为常见.肺栓塞(PE)是一种常见的致死性疾病,在美国肺栓塞
本文从古籍数字化技术的发展切入对我国古籍数字化现状进行了梳理,据此探讨了古籍数字化技术上的发展及存在的问题,由此说明古籍数字化标准规范制定的重要性.
急性肠系膜淋巴结炎是小儿急性腹痛的常见原因之一,典型症状为反复阵发性腹痛,性质多变,查体与疼痛程度不一致,高频彩色多普勒超声检查是诊断本病的可靠依据,超声表现为淋巴
血液流变性改变在临床上对于某些疾病的诊断有不可忽视的价值,特别是对糖尿病、高血脂、冠心病、心肌梗塞的诊断和治疗有重要的临床意义.本文通过对100例糖尿病患者的血脂代