期刊发表网电话

全国热线
022-83699069

P2P流媒体系统的关键技术及其应用

作者: 发布时间:2020-01-22 10:07:25 阅读: 52 次

P2P流媒体技术并非是一种全新的技术,20年前的USENETFidoNet等都属于P2P技术,早期互联网规模有限,P2P技术的主要特点,即充分利用包括计算资源、内容资源、宽带资源在内的分布在各个终端上的网络资源,降低对中央服务器资源的消耗,并不能完全发挥,只能形成以少数服务器为中心的C/S模式。近几年,随着互联网的急速发展,人们对于实时交流的需求增强,P2P流媒体技术又一次成为了人们关注的焦点。网络媒体时代的人们不再满足于单纯的文字传输,而是要求视频、文本、音频等多种媒体信息的连续在线播放。在有限的贷款和拥挤的拨号网络线之下,流媒体技术的蓬勃发展解决了窄带网络中视频、音频的实时传输问题。本文将从多个方面探讨网络媒体时代P2P的关键技术,并对流媒体技术的发展趋势作以展望。

一、覆盖网络结构

在这个问题中需要解决的是覆盖网络是以何种拓扑结构搭建,如何选择和管理转换发送节点,以使信息流能流畅,传输质量能更大限度的提高。在提高可扩展性和服务质量的同时,减少由于节点的变动和异构所带来的对于系统的不良影响。

为了达到这样的目的,在网络构建中我们会选择相互补充的两个策略,分别是节点选择和节点定位策略

1.节点选择

P2P流媒体覆盖网络拓扑结构可以分为单树结构、多树结构、网状结构和混合结构(图一为P2P流媒体覆盖网络结构)。最初人们采用的是单树拓扑结构,即建立以媒体源为树根,作用在应用层上的单树组播树。这种拓扑结构典型算法是选取树中带宽足够的节点,并将其作用在父节点,或通过限制节点的出度的方法实现覆盖网络。这种结构简单易行,但在网络节点动态性强的情况下不适用。此外,也存在各个节点贡献带宽不均等的情况。

此后,又出现了多数结构的覆盖网络结构。此结构的原理是将根媒体的资源分配给多个树进行传播,节点加入不同数目的树可以有效解决节点宽带异构问题,弱化每个节点对于P2P系统的影响,进而在某个节点失效时,系统仍能良好的运行。但是多棵树结构存在两个缺点,其一,系统维护代价过高。其二,那些缺少资源的节点无形中限制了带宽。树状结构存在致命的弱点,使得在2004年以后的学术和产业界,把研究重点转移到了网状结构的P2P流媒体系统上。视频点播系统的研究也促进了网状拓扑的大量使用。其中最有代表性的是Donet/CoolstreamingGridMedia。其本质是随机选择邻居节点。过程可以简述为:首先节点从节点列表服务器Tracker中获得初始节点列表,加入到覆盖网络,然后不断更新成员节点的信息,每个节点都要建立一个成员节点信息列表,并从中选择若干个节点作为邻居节点。网状拓扑结构下,数据的传播不再是沿着特定的路径进行,传播的路径是由节点的可用性决定的,这是一个动态的过程。节点可以从其他节点处获得自己缺少的数据,与此同时,也可以把自己有的数据与别的节点共享。网状结构在可扩展性、高效率方面的优势是十分明显的。

 

 

2.节点定位

流媒体要求实时性强,对用户提出的需求快速有效的反应,因此必须解决快速准确的文件定位问题。节点的定位一般有两种方法。

1)以目录作为基础的方法。传统的客户机、服务器模式下,在集中服务器中建立并维护一个逻辑的目录,每个节点包含的数据段以数据质量等服务信息都存储在目录中。这种方式对于文件查询可以进行快速响应,实时性强,但是不适合节点动态性高的流媒体。此外,网络中存在大量冗余数据,效率低下。这种方法的典型代表是Guo等人提出的DirectStream系统。

2)使用分布式哈希表方式定位节点。这是第二代的P2P网络。每个文件经过DHT后被分配一个的标识符,每个节点也有自己对应的标识符,文件存储到与其标识符相近的节点中。当文件被查找时,文件通过Hash算法得到标识符,并找到文件存放的节点。对同一媒体流有点播要求的用户,组成一个P2P网络,提出新要求的用户以P2P的查找方式,找到相应节点,建立连接,获得响应,而无需连接服务器。当单一节点失效或出错时,也不会使系统受到影响。但是,DHT也存在一定的缺点。其将文件均匀分布在各个节点上,对于媒体的热门度不加以区分,使节点的贡献率和负载相差甚远。此外,DHT不提供关键字搜索功能,需要对文件搜索进行改进。

二、数据调度机制

P2P流媒体系统中,数据段被存储在不同的节点上,接收节点从发送节点上获得数据,并将其还原成连续的媒体文件。为了保证媒体播放的连续性和稳定性,接收节点必须对各个发送节点发送的速率和数据进行调度。由于发送节点能力各异,要进行合理的调度,使媒体数据在播放之前就能从发送节点接收到,并将之还原成连续的数据,保证媒体流正常播放。这一问题是十分复杂的。数据调度机制和覆盖网络在整个P2P流媒体系统层次化体系结构中所处的位置,如图2

1.基于推的调度机制

在这一机制中,各节点间里父-子节点的关系,源节点作为树的根节点,有根节点作为数据传输的驱动源。不论子节点需要与否,复节点都将数据发送给其下的级子节点。在接收到从父节点处来的数据后,再由级子节点发送给其下级子节点,以此类推,直到推送到所有节点为止。每一级子节点只从其上一级父节点处接收数据。这种方式对于节点状态要求较高,不适合动态性高的节点。此外,这种方法由于并非是将需要的数据今昔国内向下推送,因此会造成大量的数据冗余,解决方法是将视频分解成多个较小的数据块,节点将试图预取和缓存一些数据块以应对网络的动态变化。这里,有两种策略:缓存替换策略和中继策略。

2.基于拉的调度机制

在这一策略中,发送节点在接收到邻居节点的数据下载请求后,将相应的数据推送到请求节点。节点间无需建立任何层次关系,且是以接收节点作为驱动源的策略。拉的调度机制可以减少数据冗余,又较高的宽带利用率,但会出现数据传输延迟的现象。因为节点要依据目录,及时更新,掌握各目录中节点所拥有的数据段,即正确选择发送节点。

3.基于推-拉结合的数据调度机制

每个节点在初始时使用拉机制,向邻居节点请求下载数据,获得部分数据后将数据包使用推机制发送给邻居节点。推-拉结合的调度机制克服了推策略需要建立父-子层次树型拓扑结构的缺点,同时也解决了拉策略的数据传输延迟。

.激励机制

P2P共享系统具有很多优势,其数据分布在各个节点上,减少对服务器的负载,提高适应性,减少数据冗余。但这一切都要建立在节点密切配合,共享资源的基础上。由于P2P网络节点具有“自由管理”的特点,大多数用户不愿意与别的用户gognxiagn资源。只有少数用户贡献资源,相应其他用户的请求。2000年,在对Gnutella 网络的24小时运行观察中,90%的用户不响应其他用户发送的请求,70%的用户不共享任何资源,25%的用户承担了99%的负载。大多数的用户只是希望能免费使用别人的资源,搭“顺风车”,充分利用网络中的闲置资源,共享资源的初始目标很难达成。为此制订相应的激励机制,有效促进节点之间的相互协作,鼓励用户贡献出自己的资源,在上传和下载时间少于播放时间的P2P网络中显得尤为重要。

那么,为什么用户不愿意共享资源呢?经过调查,主要原因有两个。

其一,出于安全的考虑。用户在相应其他用户的请求,提供资源的工程中,非常有可能会受到来自其他别有用心的用户的网络攻击,从而使软硬件受损。最明显的就是,很多用户担心使用BitTorrent上传中会损坏硬盘。

其二,耗费宽带和机器资源,使机器速度变慢。在相应其他用户的时候,可能会占用大量的宽带和机器性能,由于用户在下载的同时也要做主机继续上传,占用主机内存,导致用户本身需要执行的应用程序无法执行,或速度很慢。

P2P流媒体系统中为了鼓励用户在更长的时间内贡献能够资源,制定一定的鼓励机制是十分必要的。激励机制没有统一的标准。可以是有形的,也可以是无形的。可以是物质的,如奖金,折扣费率。也可以是精神上。例如信用,等级等。有些论坛就选用奖励等级的方法,贡献的越多,等级也就越高,就有更多的权力。现在比较流行的是积分奖励,贡献资源可以获得积分,获取资源也要付出一定的积分,贡献的多了,积分也就多了,可以选择节点,获得高质量的服务。

四、P2P的主要应用领域

1.资源共享

P2P是一种下载和上传同时进行的系统,使在P2P覆盖网络中的用户不用通过服务器,就能享受到快捷的服务。在P2P系统中下载和上传得最普遍的软件就是BitTorrent。它的工作原理:客户端从Web服务器或者其他传统服务器下载种子文件,种子文件中存储了某文件资源对应的地址和服务器端口号、文件名称、部分节点Ipdizhi和服务端口号,文件分片的长度以及片数、文件创建信息等。客户端解析种子文件后连接TRACKER服务器,请求Peer列表和文件分片信息,获取Peer列表后,客户端顺次与Peer建立连接获取其需要的我呢间或片断,本地客户端从数十数百个远程客户端获取某一文件的各个分片,在下载完成后将其组装还原为一个完整的文件。在文件下载过程中,客户端始终保持与TRACKER服务器的连接,交互本地客户端已经上传或者下载的字节数、文件分片信息,方便其他客户端连接本地客户端获取该文件资源。

2.视频点播

客户端启动后首先会自动登陆到一个初始的登陆服务器,从该服务器上获取更新节目频道列表,然后从列表中选择想看的节目,连接到一个列表服务器,并向列表服务器请求该节目Peer列表,列表服务器返回给客户端Peer列表,本地客户端连接Peer列表中的远程客户端并请求流媒体节目传输。本地客户端可以同时与多个远程客户端连接获取节目的不同片段。在节目下载过程中,Peer之间可以通过TCP或者UDP方式交互其他节目的其他Peer信息。只要本地缓存够一定帧数的节目内容,就可以开始收看节目了。

3VOIP

SkypeP2P技术演进到混合模式后的典型应用。它结合了集中式和分布式的特点,在网络的边缘节点采用集中式的网络结构,而在超级节点之间采用分布式的网络结构,混合模式的P2P网络模型。Skype之所以能够成功与它采用了P2P技术有关。从搜索方面来讲,Skype所采用的技术可称为第三代P2P网络技术。

Skype采用了全球搜索目录(GI),GI代表了另一种意义上的可扩展网络技术。全球搜索目录使用多层的网络结构,这种结构利用超节点(Supernodes)来实现网络中的每个节点可以获取所有其他可利用节点的资源,并将这些节点资源动态组合,从而参与流量分配、路径选择、处理等需要较大带宽的任务,并保证最小的时延。

参考文献:

1】吕波.P2P技术的应用前景.

2】王颖.马黎.P2P技术探析.

3】杨戈,廖建新,朱晓民,等.流媒体分发系统关键技术综述.

4】龚海刚,刘明等。P2P流媒体关键技术的研究进展.计算机研究与发展,200542

5】徐格,熊勇强,吴建平.对等网络研究综述

6】吕向辰,P2P技术与应用,计算机世界,201012