基于P2P流媒体系统的研究
点击数:220422010-05-15 11:24:11 来源: 北京精英达康科技有限公司
1 引言 随着宽带的日趋普及和通信网络技术的快速发展,为上网用户提供文字、音频和视频的三位一体的信息和娱乐服务成为当前流媒体网络市场上制胜的关键。传统的C/S模式的流媒体服务系统由于服务器性能和网络带宽的限制,在很大程度上阻碍了流媒体业务质量的提高和容量的扩大。要想在有限的带宽实现高质量的音频、视频文件的传输,最好的解决方案就是采用P2P的传输方式。
2 P2P技术与流媒体技术概述2.1 P2P技术
P2P即Peer to Peer,国内的媒体一般将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等计算。P2P可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是资源获取者(Client)。
P2P技术有以下几个特点:①非中心化:网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在结点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。②可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要。理论上其可扩展性几乎可以认为是无限的。③健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分节点失效时能够自动调整整体拓扑,保持其它节点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许节点自由地加入和离开。④负载均衡: P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好地实现了整个网络的负载均衡。⑤高性价比:高性价比是P2P被广泛关注的一个重要原因。随着硬件技术的不断发展,采用P2P架构可以有效地利用互联网中散布的大量普通节点。
目前,P2P计算技术正不断应用到军事领域,商业领域,政府信息,通讯等领域。根据具体应用不同,可以把P2P分为大致以下这些类型:
(1)文件内容共享和下载,例如Napster、Gnutella、eDonkey、eMule、Maze、BT等。
(2)计算能力和存储共享,例如SETI@home、Avaki、Popular Power等。
(3)基于P2P技术的协同与服务共享平台,例如JXTA、Magi、Groove等。
(4)即时通讯工具,例如ICQ、QQ、Yahoo Messenger、MSN Messenger等。
(5)P2P通讯与信息共享,例如Skype、Crowds、Onion Routing等。
(6)基于P2P技术的网络电视:例如PPStream、 PPLive、 QQLive等。
根据拓扑结构可以将P2P网络分为4种:①中心化拓扑;②全分布式非结构化拓扑;③全分布式结构化拓扑;④半分布式拓扑。各拓扑结构性能比较见下表:
|
比较标准/拓扑结构
|
中心化拓扑
|
全分布式非结构化拓扑
|
全分布式结构化拓扑
|
半分布式拓扑
|
|
可扩展性
|
差
|
差
|
好
|
中
|
|
可靠性
|
差
|
好
|
好
|
中
|
|
可维护性
|
最好
|
最好
|
好
|
中
|
|
发现算法效率
|
最高
|
中
|
高
|
中
|
|
复杂查询
|
支持
|
支持
|
不支持
|
支持
|
2.2 流媒体技术
流媒体是指在网络中使用流式传输技术的连续时基媒体,如音频或视频等多媒体文件。与一般的多媒体文件相比不同的是,客户端可以边下载边播放多媒体文件,而无需将整个文件全部下载完再播放,从而在形式上满足了在线观看的要求。流媒体数据流具有3个特点:连续性、实时性、时序性,即其数据流具有严格的前后时序关系。由于流媒体的这些特点,它已经成为在Internet上实时传输音频和视频的主要方式。
流媒体技术本质上是一种在数据网络上传递多媒体信息的技术。目前数据网络具有无连接、无确定路径、无质量保证的特点,给多媒体实时数据在数据网络上的传输带来了巨大的困难,流媒体技术的主要目标就是通过一定的技术手段实现在数据网络上有效地传递多媒体信息流。
目前比较流行的流媒体技术主要有①Microsoft公司的WindowsMedia,主要采用.asf格式或.wmv格式,它们的使用与Windows操作系统是分布开的,使用的播放器是Microsoft Media Player。②Realnetworks公司的Realmedia,主要采用.rm视频格式和.ra音频格式,使用的播放器是Real Player。③Apple公司的Quick Time,主要采用.qt格式。④Macromedia公司的Flash,主要采用.swf格式。
流媒体技术的工作原理是利用流媒体技术在网络上传输声音、视频或动画等多媒体信息时,首先必须把一般的非流格式文件压缩编码成流格式文件,然后将处理生成的流格式文件放在指定服务器上,这样当服务器向用户计算机传送多媒体数据流时,可以不必等待文件全部下载完毕,只需经过一定的启动延时即可开始观看。当已经下载的文件片断在客户机上播放时,文件的剩余部分受服务器的控制在后台同时下载,从而实现连续播放。
随着流媒体编解码技术、传输质量控制技术等的逐渐成熟,以及宽带网络的兴起,制约流媒体发展的主要障碍逐渐被打破,基于宽带网络的流媒体技术得到了迅速的发展,并得到了越来越多的重视。
常见的流媒体的应用主要有:
(1) 视频点播(VOD):这是最常见、最流行的流媒体应用类型。
(2) 视频广播:它把节目源组织成频道,以广播的方式提供。
(3) IPTV:也叫交互式网络电视,是利用流媒体技术通过宽带网络传输数字电视信号给用户,这种应用有效地将电视、通信和PC三个领域结合在一起,具有很强的发展前景。
(4) 视频监视:可以实现远程的监测。
(5) 视频会议:是典型的具有交互性的流媒体应用。
(6) 远程教学:是目前商业上较为成功的流媒体应用。
(7) 交互游戏:需要通过流媒体的方式传递游戏场景的交互游戏。
其它流媒体系统得到一些新的应用和服务,例如虚拟现实漫游、无线流媒体、PDA等也在迅速地变革和发展。目前,流媒体的主要技术有高效的视频编码技术、可伸缩的视频编码技术、多媒体标准技术和P2P技术,它们都能极大地改进当前流媒体系统的性能。
3 基于P2P的流媒体系统 由于P2P模式可以在大规模的网络应用中有效地提高系统的可扩展性,所以基于P2P方式的流媒体系统的研究也渐渐引起了人们的重视,相关技术和原型系统不断出现,从传输方式的角度而言,P2P流媒体传输方式可以划分为两种:基于应用层组播的P2P流媒体传播和基于单播的P2P流媒体传输。
3.1 基于应用层组播的P2P流媒体传输
应用层组播是通过在应用层上的路由机制完成组播功能。在应用层组播中,数据是通过组播组中节点之间建立的P2P覆盖网络来传送的。从覆盖网络的节点组成来分,基于应用层组播的P2P 流媒体传输又可分为三类:有特定服务器所组成的架构式、纯粹由组播组内成员所组成的P2P 式,以及由服务器和组播组内成员共同组成的混合式。
1)架构式
在架构式中.覆盖网络中的成员是一些特定的服务器,这些特定的服务器以P2P的方式组织成一个覆盖网络,客户的请求被转发给覆盖网络中的某个节点,由这个节点对客户进行服务,从而减轻了媒体服务器的负载在架构式的覆盖网络中,节点是特定的服务器,因此节点的服务能力较强,比较稳定,可靠性高,容易建立比较稳定、高效的组播树。
2)P2P式
在这种方式下,组成覆盖网络的节点是组播组内的成员,也即接收流媒体信息的客户。媒体服务器收集一段时间内客户的请求,将具有相同请求的客户组成一个组播组,后来的请求同一服务的客户不必由服务器处获得数据,而是加入此组播组,并由组播组中的其他成员处获得媒体数据。由于客户行为的随意性,即客户可能任意加入或退出组播服务,因此节点的可靠性无法保证,覆盖网络具有高度的动态性,给覆盖网络的维护带来了一些新的问题。
3)混合式
混合式则是上述两种方式的结合。它保留了传统客户/服务器模式,即仍然有一个中心服务器直接传送数据给客户端。在一般情况下,服务器直接对客户进行服务,当服务器的负载过重无法为更多的客户提供服务时,新加入的客户才从其它的客户处取得数据,从而具有了P2P的特性。
3.2 基于单播的P2P流媒体传输
在基于应用层组播技术的P2P流媒体传输中,组播组内的Peer可以提供足够的带宽来传送一个完整的媒体流,然而在实际的网络环境中,各个Peer之间在提供的带宽、存储空间以及CPU的能力等方面存在着很大的异构性,很多Peer所提供的出口带宽通常不能支持一个完整的媒体流的传输。即提供服务的所有Peer的出口带宽之和须要大于流媒体的编码带宽,Peer之间要以单播的形式通信。
在基于单播的P2P流媒体传输中,由于是多个发送Peer为一个接收Peer进行服务,因此带来了一些特定的问题,比如如何选择合适的发送Peer、如何协调多个发送Peer之间的传输速率、如何分配各个发送Peer的数据段等等。
4 系统实现需要解决的问题 1)文件搜索
文件定位是流媒体系统要解决的最基本问题。在系统中,新加入的客户在覆盖网络中以P2P的文件查找方式,找到可提供该影片的节点并建立连接,接受这些节点提供的影片内容。目前采用DHT方式查找文件快速有效。
2)QoS控制
⑴节点的选择:节点的选择可以根据不同的QoS需求采取不同的选择策略.若希望服务延迟小,可以选择邻近的节点以快速建立会话;若希望高质量服务,则可选择能够提供高带宽、CPU能力强的节点;若希望得到较稳定的服务,应选择相对稳定的节点。通常选择是各种策略的折衷。
⑵容错机制:为保证服务的连续性,必须采取一些容错机制使系统的服务能力不受影响或尽快恢复。对于节点的失效,可以采取主备用节点的方式容错。
3)激励机制
流媒体服务会话时间较长,需要更有效的激励机制使用户能在较长时间内共享资源,有必要采取一些激励机制鼓励用户贡献出资源。奖励是最直接也最有效鼓励用户共享资源的激励机制,用户共享的资源越多,时间越长,获得的奖励也就越多。奖励可以是有形,也可以是无形的。
4)安全机制
网络安全是P2P流媒体系统的基本要求,必须通过安全领域的身份识别认证、授权,数据完整性、保密性和不可否认性的技术,对P2P信息进行安全控制。对产权的控制,现阶段可采用DRM 技术控制。对于基于企业级的P2P流媒体播出系统可以安装防火墙阻止非法用户访问。因特网上的P2P流媒体系统可以通过数据包加密方式保证安全。在P2P流媒体系统内,可采用用户分级授权,阻止非法用户访问,同时可对不同用户提供分级控制服务。
5 今后的研究方向
基于P2P的流媒体系统目前还处于研究阶段,虽然取得了一定的进展但还有许多问题需要解决。
1)节点的选择
由于节点的动态性.因此如何在初始会话确定一个相对稳定可提供一定QoS保证的服务节点或节点集合,是P2P流媒体系统需要解决的迫切问题。节点的选择还有很多问题值得研究,例如如何确定一个节点是相对稳定的。
2)文件搜索技术
文件定位中虽然使用了DHT技术,但也存在一些问题。如DHT是将文件均匀分布在各节点上,反映不了文件的热门度,导致负载不均衡;其次DHT不能提供关键字搜索,因此需要对P2P文件搜索机制做进一步的改进,如增加语义信息等。
3)容错机制
如何快速有效地检测节点的失效,以及如何保证在主备用节点切换的过程中流媒体服务的连续性。节点的故障检测时间应尽可能短,才能保证服务不中断。缩短故障检测时间大都采用软状态协议询问节点的存在,需要考虑询问频度与询问消息开销之间的折衷。
4)安全机制
由于参与服务的各个客户间毫无联系,要在互不信任的客户之间互相提供服务无疑需要一个有效的认证或授权等安全机制,保证服务的完成。围绕如何评估共享资源的真实性和可靠性,如何提供数字证书、对等节点认证、安全存储等具有重要的意义。另外P2P的发展和IPv6的推广普及是密切相关的。只有采用IPv6才有可能在互联网上采用实名制,才有可能建设一个诚信、安全的P2P环境。
5)激励机制
目前,P2P流媒体系统激励机制仍难确定统一的标准。可以对节点在P2P系统中的行为和兴趣进行统计建模,借助于其他领域知识,如微观经济理论研究成果、理解激励机制和节点行为的关系,以建立一个合理的激励机制。
6)节点管理
管理成熟的P2P流媒体系统应该有完善的节点管理体系。节点管理包括用户信息管理、授权管理、业务管理和财务管理。主节点作为Web信息管理服务器,完成子节点用户信息注册、登陆,管理节点用户基本信息,在此基础上开展一些节目业务,节点用户定购业务通过授权管理系统实现点播节目的有偿服务。主节点是整个流媒体系统的管理核心和纽带。
7)媒体资源管理
如何保证不同来源的数据包对应着同一个节目,需要有一套统一的媒体资源识别管理机制。通过使用媒体资源信息表,可以确保这一机制有效实行。媒体资源信息表描述节目文件的资源索引号、文件名称、文件存放路径、文件大小、所属节点等属性。媒体资源信息表是由主节点产生和维护,子节点把本机更新的节目资源信息发送到主节点,主节点修改媒体资源信息表后反馈给所有的子节点,这样保证了媒体资源信息表的唯一性。通过媒体资源信息表,不同机器上节目物理文件可以对应一个逻辑文件,即可以为同一个节目流服务。
6 结束语
我们相信,P2P模式的流媒体的研究在不久的将来会取得更大的进展,通过P2P模式流媒体服务系统方案的部署,用户将更快更好的享受高质量的流媒体服务。
| 上一页1下一页 |
![]() |


