基于P2P技术的流媒体直播系统的研究

上传人:cn****1 文档编号:494266932 上传时间:2023-04-13 格式:DOC 页数:16 大小:593KB
返回 下载 相关 举报
基于P2P技术的流媒体直播系统的研究_第1页
第1页 / 共16页
基于P2P技术的流媒体直播系统的研究_第2页
第2页 / 共16页
基于P2P技术的流媒体直播系统的研究_第3页
第3页 / 共16页
基于P2P技术的流媒体直播系统的研究_第4页
第4页 / 共16页
基于P2P技术的流媒体直播系统的研究_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于P2P技术的流媒体直播系统的研究》由会员分享,可在线阅读,更多相关《基于P2P技术的流媒体直播系统的研究(16页珍藏版)》请在金锄头文库上搜索。

1、基于P2P技术的流媒体直播系统的研究背景介绍:流媒体技术是一种新兴的网络传输技术,它是在Internet /Intranet上使用流式传输技术的多媒体,流媒体在播放前不需要下载整个文件,可以边下载边观看。其原理是把向用户传输的多媒体文件按照播出时间顺序分为不同的片断,然后依次把这些片断发给用户,连续播放这些片断就形成了连续的声音和图像。随着1994年Progressive Networks美国公司成立,流媒体开始正式在互联网上应用。该公司一年后推出的基于C/S架构的音频接收系统Real Audio在随后的几年内引领了网络流媒体技术的汹涌潮流。1997年9月,该公司更名为Real Network

2、s,并相继发布了多款应用非常广泛的流媒体播放器,即RealPlayer系列,该系列一度占据该领域超过85的市场份额,Real Networks公司可以称得上是流媒体真正意义上的鼻祖。从此以后,流媒体技术进入了蓬勃发展的阶段。传统的网络流媒体播放系统一般基于用户/服务器(Client/Server,C/S)的模式。但是,由于流媒体播放需要消耗大量的网络带宽和服务器资源,因此这种模式严重限制了网络流媒体业务的发展。以一个占用带宽为300kbps 的网络视频流为例,当有1000个用户同时观看时,需要的带宽是300mbps,这样的性能要求对于大多数服务器来说是满足不了的。如果要支持几万甚至几十万的用户

3、,采用这种C/S模式几乎是不可能的。当然增加服务器数量和提高带宽是一个解决方式,但是这种方式需要巨大的成本开支,所以我们需要通过新的技术手段解决这个问题。最近几年,对等网络技术(Peer-to-Peer,P2P),引起了包括普通网络用户和科研领域人员在内的越来越多人的关注。P2P是分布式系统的一个子集,目前在分布式计算和文件共享领域得到广泛的应用。相对于传统的C/S模式,P2P模式一个非常显著的特点就是节点无需依赖集中式服务器资源,各个节点之间可以直接进行通信。每个节点具有相同的地位,既可以请求服务,也可以提供服务,同时扮演着C/S模式中客户机和服务器的双重角色,甚至还可以具有路由器和高速缓存

4、的功能,这样,每个节点在从别的节点接收数据流的同时还向其它节点发送数据流。P2P技术有两方面的优点:一方面,P2P技术突破了传统的C/S模式限制,强调节点之间的对等性,即P2P系统中每一参与节点兼有服务器和客户端两种身份,在利用其它节点上资源的同时也为其它节点提供服务。这使得P2P系统的服务能力随着用户数的增加而自然增长,具有很强的可扩展性,能够解决传统C/S结构中服务器过载和资源瓶颈等问题。另一方面,P2P系统采用节点自组织的方式工作,强调无中心的结构,并且很好地适应了节点随机加入和退出的动态性,因而在鲁棒性、数据高可用性和抵抗攻击方面具有不可替代的优势。目前,P2P技术在文件共享等一些应用

5、领域中己经取得了很大的成效,把P2P技术应用到流媒体领域同样能带来革命性的突破。因此,P2PStreaming技术被提了出来,即把P2P技术思想应用到流媒体的传输。基于P2P技术构建流媒体系统,能够从根本上解决基于C/S模型的系统的不可扩展性、低容错性和低鲁棒性。此外,P2P网络中用户分布广泛,资源更加充足,更能满足用户对资源的需求,从而保证服务的质量,为构建大规模流媒体传输系统提供了一种低成本的解决方案。流媒体与P2P技术理论基础: 流媒体技术理论基础:流媒体(Streaming-Media)指在Internet/Intranet中使用流式传输技术时的连续时基媒体,如音频、视频等多媒体文件。

6、流媒体的主要特点有:启动时延大幅度缩短、对系统缓存容量的需求大大降低、采用特定的实时传输协议以及对时间的敏感性。流式传输技术是指将音频、视频等多媒体文件经过特殊的压缩方式分解成一个个压缩包,再由音频、视频服务器向用户计算机连续地、实时地传送信息的一种传输技术。其传输原理如下图所示:Figure 1流式传输原理图 流式传输又可分为顺序流式传输(Progressive Streaming)和实时流式传输(RealtimeStreaming)两种方式:顺序流式传输就是媒体数据的顺序下载。在下载的同时用户可以观看在线媒体,但是在给定时刻用户只能观看已下载的那部分媒体数据,不能跳转到未下载的部分。而且顺

7、序流式传输不能根据用户网络带宽的变化对连接速度做相应的调整。由于顺序流式传输的媒体数据使用标准的HTTP服务器就可以发送,而不需要其它的特殊的协议,所以顺序流式传输也被称作HTTP流式传输。用户在播放前观看的媒体数据是无损传输的,所以顺序流式传输比较适合高质量的短片,如片头,片尾和广告。但是这也意味着用户在观看前必须等待较长的时延,对网络传输速度较慢的连接时延更加明显。因此,顺序流式传输并不适合长片段的和有随机访问要求的媒体数据。与HTTP流式传输不同,实时流式传输保证媒体数据带宽和网络连接速度相匹配,这减少了用户观看前的时延。但是,实时流式传输需要专门的流媒体服务器和流媒体传输协议。实时流式

8、传输实时传输媒体数据,特别适合现场事件;同时也支持随机访问,用户可快进或倒退观看前面或后面的内容。此外,为了在IP网上传输流媒体数据,根据各自的功能可把用到的流式传输协议分为三类:网络层协议(即IP协议),此类协议提供最基本的网络服务;传输层协议,此类协议提供端到端的传输服务,包括TCP(Transmission Control Protocol),UDP(User Datagram Protocol),RTP/RTCP (Real-Time Transport Protocol/Real-Time Transport Control Protocol),其中TCP与UDP更加底层一些,RTP

9、/RTCP实现在TCP或UDP之上,有时候也被划为应用层协议;应用层协议,此类协议定义多媒体会话过程中的消息控制及处理,包括RTSP (Real-Time Streaming Protocol)等。由于流媒体采用了流式传输技术,因此所传输的文件会像水一样不断流动。这样,文件不是一次读取发送所有的数据,而是首先发送音频、视频的一部分:在这一部分播放的同时,数据的其余部分就会源源不断地流出,及时的到达目的地供播放使用。为保证在网络阻塞造成网络速度下降的情况下播放不会中断,播放器会在开始播放前先缓存一部分数据,这样就能实现流媒体数据流的连续传送和连续播放。P2P技术理论基础:目前对P2P的定义还没有

10、一个标准的说法,Intel将P2P技术定义为“通过系统间的直接交换达成计算机资源与信息的共享”,这些资源与服务包括信息交换、处理器时钟、缓存和磁盘空间等。IBM则对P2P赋予了更广阔的定义,把它看成是由若干互联协作的计算机构成的系统并具备如下若干特性之一:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其它成员而不是从服务器的参与中受益;系统中成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在而构成一个虚拟或实际的群体。P2P技术应用的宗旨就是希望通过节点间不经过服务器中转的直接通信,尽可能地充分利用系统中各节点所能提供的闲置资源,包括网络带宽,存储空间,CP

11、U的处理时间等等。讨论P2P系统,就不得不提到其拓扑结构。拓扑结构是指分布式系统中各个计算单元之间的物理或逻辑的互联关系,节点之间的拓扑结构一直是确定系统类型的重要依据。P2P系统一般要构造一个非集中式的拓扑结构,在构造过程中需要解决系统中所包含的大量节点如何命名、组织以及确定节点的加入退出方式、出错恢复等问题。根据拓扑结构的定义可以将P2P网络拓扑结构分为4种形式:中心化P2P网络拓扑结构、非结构化P2P网络拓扑结构、结构化P2P网络拓扑结构和混合式P2P网络拓扑结构。中心化P2P网络拓扑结构最大的优点是维护简单,发现效率高。由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂

12、查询。但是与传统C/S结构类似,容易造成单点故障、访问的“热点”现象和法律等相关问题,这是第一代P2P网络采用的结构模式,典型的例子就是著名的共享软件Napster (如下图所示),Napster是包含有中心索引服务器的最早的文件共享系统,但是存在扩展性和单点故障问题。在Napster系统中,每个节点向中心索引服务器提交本地存储的资源目录,中心索引服务器负责编制资源的索引。资源搜索是通过中心索引服务器完成的,节点向中心索引服务器提出搜索请求,服务器返回拥有该资源的节点列表,请求节点则根据时延、带宽等条件选择合适的资源节点进行数据传输,数据传输无需中心索引服务器的参与。Figure 2 中心化P

13、2P网络拓扑结构图非结构化P2P网络拓扑结构又被称作是纯P2P网络拓扑结构,这种拓扑结构的特点是所有的节点都是一个Peer,没有服务器的概念。在非结构化P2P网络拓扑结构中,每个节点只存储自身的信息或信息的索引如指针和地址。当用户需要向系统获取信息时,他们预先并不知道这些信息会存储在哪个节点上。因此,非结构化P2P网络拓扑结构中的信息搜索算法具有一定的盲目性,类似最简单的泛洪式查找和扩展环查找(从最近的一个节点开始,层层转发直到找到目标或超出跳数的上限为止),典型的例子如Gnutella。由于Gnutella采用了非中心化的方法来查找文件资源,因而不存在中心化P2P网络结构中的中心服务器那样的

14、系统瓶颈,整个系统的可扩展性得到了增强。Figure 3非结构化P2P网络拓扑结构图 结构化P2P网络拓扑结构是一种采用纯分布式消息传递机制以及根据关键字准确定位资源的P2P网络拓扑结构,它与非结构化P2P网络拓扑结构的根本区别在于节点是否能够按照全局方式组织起来。这种网络同样没有中心服务器,目前主流的方法是采用DHT(Distributed Hash Table,分布式哈希表)技术实现节点和资源的全局化组织。结构化P2P网络拓扑结构的优点在于可在跳数O(log(n) ) (n表示系统中的节点数)内完成资源的路由和定位。其主要问题是结构的维护机制较为复杂,尤其是当网络波动较大时,维护的代价显著

15、提高。比起前两者,混合结构汲取了中心化结构和非结构化拓扑的优点,选择性能较高(处理速度、存储、带宽等方面性能)的节点作为超级节点,在各个超级节点上存储了系统中其它部分节点的信息。发现算法仅在超级节点之间转发,超级节点再将查询请求转发给适当的叶子节点。混合式结构也是一个层次式结构,超级节点之间构成一个高速转发层,超级节点和所负责的普通节点构成若干层次。Kazaa是采用混合式P2P网络拓扑结构的典型代表,在下图中,节点被分为普通节点(Peer)和超级节点(Super Peer)两类。其中,超级节点与位于其附近区域的普通节点构成自治簇,簇内采用基于集中目录式的P2P模式,而簇间则采用分布式P2P的相

16、关技术将超级节点连接起来。普通节点搜索资源时首先在本地簇内进行,当搜索无结果时再通过超级节点间进行有限洪泛搜索,这种方式可有效降低网络流量、提高搜索效率并在一定程度上提高网络的负载均衡。另一方面,由于在簇内超级节点承担了类似于集中式目录服务器的任务,因此超级节点容易成为局部瓶颈。Figure 4混合式P2P网络拓扑结构图流媒体直播原理:流媒体直播类似于电视直播,使用音频、视频编码设备现场将实时音频、视频信号编码压缩成相应的数据格式,经由流媒体服务器和传输网络实时地分发到各客户端,具有较强的时效性。流媒体直播系统主要包括系统前端,网络传输和客户端三个部分。系统前端部分主要负责在流媒体数据传输前对原始音频、视频数据进行采集,并对原始的音频、视频数据进行压缩编码将其转化成适合网络传输的音频、视频流;网络传输部分主要负责实时流媒体数据的分发,经互联网传送到客户端;客户端部分主要负责在接收到压缩的流媒

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号