浅析P2P网络中实时流媒体传输的节点缓存机制

来源 :硅谷 | 被引量 : 0次 | 上传用户:CANDICE301
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]随着信息技术的飞速发展和计算机应用水平的不断提高,网络中流媒体的传输也越来越普遍,本文通过分析P2P网络实时传输流媒体数据的一般流程,提出了通过开辟流媒体内容二级缓存区,来平稳网络负载的策略。
  [关键词]P2P 流媒体 缓存
  中图分类号:TP393.02文献标识码:A 文章编号:1671-7597(2008)1120072-02
  
  一、绪论
  
  流媒体在播放前并不下载整个文件,只将开始部分内容存入内存,其他的数据流随时传送随时播放,只是在开始时有一些延迟。由于网络的不稳定,会出现网络拥塞、数据丢包、网络时延等现象,在C/S模式下流媒体系统通过在接收端设置一个内容缓存区,可以比较有效的解决网络短时间内出现的数据丢包、时延等问题。P2P智能节点是在不同类型的链路(时延/带宽)下,由节点实时对网络环境进行监视、评估和调节,实现网络的自优化和自恢复,尽可能提高应用的有效性:由节点实现端到端的流媒体数据传输,一条路径不好可以自动切换到另一条路径,或使用多条路径共同传输,以保证服务质量[1]。
  在P2P分布式网络构架下,可实现流媒体内容存和取同时进行,后续用户可直接从其它已取得内容资源的用户那里获取资源,同时存放已经取得的数据。通过这种方式,可极大提高流媒体内容存取速度,使得参与的用户越多,获取资源的速度越快。
  
  二、一般数据的传输流程
  
  P2P网络中节点间数据可多路径选择传输,由于节点的异构性[2],出现了节点不确定、节点服务能力不一,致使流媒体内容实时传输不稳定。为满足流媒体内容实时传输需求,目前P2P模式流媒体系统一般采用如下步骤进行数据传输[3][4]:
  (l)搜索有效的Peer节点,选择带宽、路由等条件较好的节点;
  (2)与选中的节点建立连接,并尝试获取数据,进一步确定有效性;
  (3)通过活动窗口机制控制传输,以获得单路径最大传输速率;
  (4)通过多路径同时传输,以最快传输速率把获得的数据填满一个缓存区;
  (5)从数据缓存区中取出流媒体数据,送入播放器进行播放。
  从上面的P2P模式流媒体系统传输流程中,可以看出,由于各Peer节点网络带宽等条件的不一致,使得网络资源较好的Peer节点获得了较高的传输速率,得到了较好的实时播放质量,但同时资源较好的Peer节点占用了较多的网络资源,严重影响了其他普通节点的流媒体实时传输。由于各Peer节点都有实时性传输需求,使得整体网络节点流媒体实时传输效果较差。
  假设在 P2P模式流媒体系统的数据接收端节点,设置一个单级缓存区(Buffer,在计算机内存中开辟一块存储空间,用于存放接收到的流媒体数据)。在P2P网络下,通过多路径同时传输流媒体数据时,由于P2P网络中节点的异构性,每条路径可获得的数据传输带宽和稳定性不一致,多条路径接收的流媒体数据都进入同一个单级缓存区,然后流媒体数据被系统推入播放器呈现音/视频节目,这使得系统无法根据实时播放情况,区别对待单级缓存区内已保存的不同路径接收的流媒体数据,从而使得系统无法根据传输路径的带宽和稳定性,对传输路径实施多种策略有效调整(如放弃低带宽传输路径、降低高带宽路径传输速率、有预见性的建立新传输路径等)。所以在P2P模式下设置一个单级缓存区,一般采用以最快数据传输速度填满一个缓存区的简单策略。
  P2P模式流媒体系统中设置一个单级缓存区,跟C/S模式流媒体系统中设置一个内容缓存区的作用是一样的,主要是为流媒体实时播放过程中有一段缓冲时间,以适应网络传输速率短暂变化(如网络抖动等)。P2P模式流媒体系统中设置一个单级缓存区,使得P2P网络下多路径同时传输的多种策略有效调整优势不能很好发挥。以最快数据传输速度填满一个缓存区的简单策略,不能有效解决P2P模式下流媒体传输问题,使得网络负载不均衡,不能很好发挥整体网络节点流媒体实时传输效果。
  
  三、基于二级缓存区数据的传输流程
  
  为了使 P2P节点的资源分配较均匀,更多的Peer节点能获得实时传输效果,多条传输路径应该根据其可提供的传输带宽和稳定性,有策略的区别对待,本文提出在P2P网络的接收端节点内设置二级缓存区的方法,对传输路径按传输带宽和稳定性进行分类,并选择传输带宽适中的路径进行数据传输,同时保持数据接收的稳定性(如建立紧急路径),具体如下:
  在一个接收端节点内设置二级缓存区(Buffer,在Peer节点的计算机内存中开辟一块存储空间,用于存放流媒体数据),如下图1所示,流媒体数据发送端(源节点)是源节点A、源节点B,流媒体数据接收端(宿节点)是宿节点C,在宿节点C内设置二个缓存区,分别是缓存区A、缓存区B。在源节点A和宿节点C之间建立一条传输路径A,在源节点B和宿节点C之间建立一条传输路径B。
  缓存区A为常用缓存区,在宿节点C接收数据实时播放过程中,缓存区A通过路径A获得数据,当缓存区A内填满数据时,缓存区A中的数据以先入先出(FIFO,First in First out)方式开始下溢到缓存区B,同时缓存区A继续通过路径A获得数据。缓存区B为紧急缓存区,缓存区B获得数据后按流媒体实时播放顺序和视频帧播放速率推送给播放器,同时通过路径B获得数据,当缓存区B内填满数据时,路径B停止传输,这时缓存区B只通过缓存区A获得数据。
  当路径A获得数据的速率大于等于播放器实时播放需求的速率时,路径B处于待命状态,不传输数据。当路径A获得数据的速率小于播放器实时播放需求的速率时,路径B开始传输数据。因此路径A可选择消耗节点资源和网络资源较少的通路,如通常的点对点方式传输路径;路径B可采用最大限度获得传输速率的通路,如组织代理节点路径或者在IPv6下采用流标记路径等。
  


  
  四、调整缓存区填充速率策略
  
  从源节点传输数据到宿节点缓存区的过程中,由于网络抖动、拥塞及带宽的影响,通过在Peer节点上建立滑动窗口机制,可调优缓存区填充速率。
  使用滑动窗口机制调整缓存区填充速率,其原理与TCP/IP控制数据包传输的滑动窗口机制相同,在由多个IP报文组合而成的流媒体数据包中,通过对一个传输单位的数据包作上序列号标记,按照滑动窗口机制控制数据包在节点间传输[5]。
  可把缓存区内数据包划分成三种状态,分别是未请求状态、已请求但未接收状态、已接收状态。在数据传输开始后,滑动窗口调用默认的窗口大小参数以及缓存区内数据包状态进行传输。数据包根据在Peer节点缓存区的状态、各条网络传输路径上的可用带宽资源以及各Peer节点所缓存的数据内容,决定向哪些Peer节点发送哪些数据包调度请求,这些待调度的数据包仅包括那些当前状态为未请求或为已请求但未接收的数据包,而不包括那些状态为己接收的数包,其目的是最大化Peer节点的服务质量,同时满足各条网络传输路径的带宽约束以及各Peer节点所缓存数据内容的约束。
  通过在Peer节点上建立滑动窗口机制,可调优缓存区填充速率,在一定程度上使Peer节点保持较平稳的整体网络负载,提高了网络实时传输效果。
  
  五、代理路径传输中节点的选择
  
  P2P节点索引控制由以前集中式发展到现在的分布式,但就其数据传输而言,目前主要是点对点的传输[6],在部分P2P模式直播系统中,引入了树形节点组织方式,但从索引控制器中检索到的源节点和宿节点看,仍然是点对点传输,没有通过代理节点传输数据。目前部分P2P文件传输系统为了绕过防火墙,部分采用了节点代理中转数据。
  设置流媒体内容二级缓存区的系统中,为了满足二级缓存区的适中传输策略需求,需要选择二条传输路径,分别是用于填充常用缓存区的传输路径,记作常用路径;用于填充紧急缓存区的传输路径,记作紧急路径。图2路径1由于点对点直接传输,对其他节点的资源消耗较少,可优先考虑作为常用路径,同时与路径1类似的其他点对点传输路径可考虑作为紧急路径。图2路径3通过一个节点中转形成的路径,由于比较容易获得高质量的传输带宽,也可以用于紧急路径。
  在实际使用过程中,考虑Peer节点的不稳定性,需要选择三条传输路径,分别是常用路径、紧急路径和备用路径。备用路径是常用路径的备份,在常用路径破坏时,把备用路径纳入常用路径,Peer节点再寻找建立新的备用路径。常用路径的选择原则是带宽满足需求的前提下消耗网络节点资源较少;紧急路径的选择原则是能获得最佳的传输速率,使紧急缓存区能在最短时间内填充完成;备用路径的选择原则与常用路径选择原则一样,即满足带宽需求的前提下消耗网络节点资源最少。
  


  为满足设置流媒体内容二级缓存区需要,每个宿节点调用传输路径节点选择算法,组织形成常用路径和紧急路径。传输路径节点选择算法的任务是决定该宿节点应该选择哪个邻近Peer节点组建为常用路径,选择哪个邻近Peer节点组建为紧急路径。
  (1)对于常用路径,传输路径节点选择算法同时也应该满足如下约束:
  宿节点和每个邻近Peer节点间可用带宽的约束;每个邻近Peer节点包含宿节点需要内容范围的约束。算法考虑尽可能少的切换Peer节点,以免重新组建常用路径;同时要考虑尽可能占用少的网络资源,使其他节点能获得较好体验。
  (2)对于紧急路径,传输路径节点选择算法同时也应该满足如下约束:
  宿节点和每个邻近Peer节点间可用带宽的约束;每个邻近Peer节点能提供中转传输带宽的约束。算法考虑Peer节点尽可能保持高性能的数据传输通道,当常用路径失效时,紧急路径能及时有效补充流媒体内容数据。
  
  六、结论
  
  在P2P网络结构下,实现流媒体内容实时流式传输时,传统单级缓存区方式,由于各Peer节点异构性,网络带宽等条件的不一致,使得网络资源较好的Peer节点获得了较高传输速率,得到了较好的实时播放质量,但同时资源较好的Peer节点占用了较多网络资源,严重影响了其他普通节点的实时流媒体传输,由于流媒体实时性传输需求,使得整体网络节点流媒体实时传输播放效果较差。本文提出一种在Peer节点内设置流媒体内容二级缓存区方式,实现流媒体内容实时流式传输时,使Peer节点保持较平稳的整体网络负载,使更多的Peer节点能满足实时传输播放条件,P2P网络实时传输播放效果较好。
  
  参考文献:
  [1]V.K.Goyal.Multiple Description Coding:Compression Meets the Network,IEEE signal Processing Magazine,Sep2001.vol.18,n.5:P74-94.
  [2]刘亚杰等,P2P流媒体内容分发关键技术研究:[工学博士论文]国防科学技术大学研究生 院,2005年.
  [3]龚海刚、刘明、谢立等,P2P流媒体传输的研究进展综述.计算机科学,2004年31卷9期: p20-22.
  [4]王钊,基于P2P系统应用层组播在流媒体中的应用.计算机与现代化,2005年第2期:P35-37.
  [5]K.A.Hua,D.A.Tran and R. Villafane.Caching muIticast protocol for on-demand video delivery.In Proceedings of ACMISPIE Conefernce on Multimedia Computing and Networking(MMCN 2000):P2-13.
  [6]Ching Law,Kai-Yeung Siu Distributed construction of random expander networks,in Proc.Infocom.IEEE,2003.
  
  作者简介:
  王倩,女,汉族,山东淄博,淄博职业学院信息工程系,学士,在读硕士,助教,主要研究方向:计算机应用与技术。
其他文献
[摘要]随着网络技术和移动通讯技术的迅速发展,博客的发展和应用走进了“移动”时代,移动博客应运而生。介绍移动博客的概念、特点及其在教育中的应用前景;并且提出将移动博客应用于移动学习之中的构想,并对其可行性进行分析,旨在利用移动博客和移动学习相结合的优势进一步推进现代教育技术在教育中的应用。  [关键词]博客 移动博客 移动学习 现代教育技术  中图分类号:G2 文献标识码:A 文章编号:1671-
期刊
[摘要]Windows XP SP2已经发布很长时间了,很多朋友都安装了,但在使用过程中,都遇到了这样或那样的问题。在这里,我根据自己的使用经验总结了一些常见的问题,希望对朋友们有所帮助!  [关键词]Windows XP SP2 防火墙  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1120051-01    一、什么是Windows XP SP2    Wind
期刊
[摘要]WiMAX以其高速,覆盖范围广等绝对的优势吸引着人们的眼光,引起了众多运营商的极大关注。首先分析WiMAX采用的一些关键技术,然后对WiMAX的优势进行深入分析,并在最后给出了对WiMAX发展的展望。  [关键词]WiMAX 关键技术 发展 展望  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1120050-01    一、WiMAX概述    WiMAX全
期刊
[摘要]介绍一种基于RFID UHF频段的汽车防盗设计,使用欧姆龙V750读写器和NXP U-CODE EPC G2智能卡标签结合凌阳16位单片机SPCE061A介绍该防盗系统的实现原理,并给出其硬件和软件的设计方法。  [关键词]UHF RFID 汽车防盗 U-CODE EPC G2 SPCE061A  中图分类号:TP7 文献标识码:A 文章编号:1671-7597(2008)1120076-
期刊
[摘要]据统计,三大主流关系数据库Oracle、DB2和SQL Server中,MS SQL Server的市场占有份额增长速度是最快的。SQL Server 2005是MS SQL Server的较新版本,在它之前,使用的是SQL Server 2000版。对于刚接触SQL Server 2005的用户来说,不可避免地会遇到很多问题,我也一样,使用过后,有一些经验需要跟大家分享。主要介绍在使用S
期刊
[摘要]利用LabVIEW开发环境设计PC上位机的监控界面,上位机通过串行口与C8051F310单片机通信,从而实现对过程参数的测量和控制。该测控系统设计简单,简化了系统硬件结构,并且易于修改,具有很好的可扩展性。  [关键词]LabVIEW C8051F310单片机 串行通信 PID 控制  中图分类号:TP216 文献标识码:A 文章编号:1671-7597(2008)1120057-02  
期刊
[摘要]指纹识别技术是一种重要的生物身份识别技术,也是目前生物识别技术发展的最为成熟的一个分支。在linux的环境下,架构嵌入式指纹识别系统,并对指纹系统的四大步骤:指纹图像的获取、图像的预处理、特片点的提取以及特征匹配进行阐述,对嵌入式指纹识别的研究起到一定的借鉴作用。  [关键词]指纹识别 嵌入式系统 指纹图像处理;  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008
期刊
[摘要]异常处理是Java语言的重要机制,正确、合理地处理异常对程序的可靠性、健壮性是十分重要的。在就异常处理中容易忽略的几个问题展开讨论,并给出对应的解决措施。  [关键词]异常 类 抛出 捕获  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1120079-01    异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错
期刊
[摘要]讨论利用.Net技术、数据库技术,设计Web网站信息的采集系统,并以某人才网站招聘信息的采集为例,说明实现过程。提出基于Web的信息采集系统的设计方案,并利用.Net技术与数据库技术,实现对特定网站信息的采集与处理。  [关键词]信息检索 WEB技术 ADO.NET  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1120081-01    随着WWW的发展,
期刊
[摘要]随着社会的发展和信息技术的进步,全球信息化的趋势越来越明显,任何一家企业不再是局限于某一个地区,都在自觉不自觉地参与到了全球化的市场竞争中。研究办公自动化的一系列关键技术,包括系统架构、信息检索、系统实现以及数据安全等一系列关键技术。  [关键词]企业信息化 OA系统 关键技术  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1120064-02    一、引
期刊