基于P2P方式的视频点播模型

时间:2022-07-06 06:45:15

基于P2P方式的视频点播模型

摘要:提出了一种P2P方式的视频点播模型,兼有网状与树状的特点,具有很高的稳健型与组织性。有效提高了视频点播的利用率。

关键词:P2P;视频点播;网状;树状

中图分类号:TP37文献标识码:A文章编号:1009-3044(2010)07-1710-02

A P2P-based Video-On-Demand Model

CHEN Zheng1, WU fu-kui2, SU Jun1

(1.College of Arts & Science of Jianghan University, Wuhan 430056, China; 2.Hubei University for Nationalities, Wuhan 430056, China)

Abstract: Propose a P2P-based video-on-demand model, which combines characteristics of mesh and tree, making the model robust and well organized. This model can promote the efficiency of VOD well.

Key words: P2P; video-on-demand; mesh; tree

1 概述

自VOD(视频点播)系统出现以来,由于其高度的交互性和自主性,一直受到市场用户的欢迎,也是多媒体领域的研究热点。但由于多媒体服务器性能以及网络带宽的限制,VOD系统一直处于小规模状态。随着用户数量的急剧增加,对视频服务器的性能要求越来越高,传统的视频点播方式已经远远不能满足大规模的用户需求。同时,由于骨干网络和接入网带宽的不断提升,计算机系统性能有了飞速提高;计算、存储硬件的价格也在逐步下降;网络通讯技术优化为发展大规模的视频点播系统又提供了条件。最近虽然在低带宽及普通多媒体视频服务器下实现了视频流的流畅播放,但优秀的视频点播系统还是迟迟未能出现。因此,本文就视频点播体系统的实现提出了一种基于P2P方式的视频点播模型。

对等网(P2P)技术是目前流行于国际及国内计算机网络技术研究领域的一个热点。对等网络技术希望将互联网上的计算资源充分利用起来,为需要计算能力的节点提供高速而廉价的计算。在P2P 网络络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来讲不依赖于专用集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源与服务。P2P网络为视频点播提供了一种新的网络连接方式,有效提高了网络利用效率。

2 P2PVOD模型

P2PVOD是一种依靠单播的方式在对等点之间建立连接,利用点对点的方法相互协作,使用补丁(patch)策略来使视频流持续不短的在客户端流动。P2PVOD的关键思想是每个客户端既接收视频流又同时作为服务器。

不象C/S模式一样P2PVOD客户端在接收请求视频流的同时还通过推进视频流到其他的客户端,并将缓存服务流的初始部分来为整个VOD系统作贡献。与之相关联的有一个时间限制数表示为T。在一个时间限制数内到达的所有客户端组成一个会话。属于同一个会话的客户端和服务器一起构成应用层多播树,也叫基树(base tree)。服务器通过基树发放到整个视频流,这个完整流又叫基流。当一个新的客户端加入会话时,它开始加入基树并接收基流。期间,新加入的客户端必须取得一个补丁流(从视频流的最开始部分到客户端加入基树的时间视频流)。这个补丁流是从服务器或会话中的其他客户端取得的。P2PVOD客户端具有如下两种功能:1)推进基流:P2PVOD客户端需要把接收到的基流推向其他客户端,这样才能构建成应用层组播树,使基流沿着应用层组播树传输。2)补丁流服务:P2PVOD客户端需要足够的缓存来缓存视频的初始部分,用于服务其他的客户端。

我们用一个例子来说明,图1是在时刻40时P2PVOD中的示意图。图中显示了两个会话:会话1和会话2,分别开始于20和30时刻。假设时间限制数为10,用圆圈代表客户端,客户端到达时间标示在圆圈内。带箭头的实线代表基树中的孩子和父亲的关系,带尖头的点线代表补丁流中服务器和客户端间的关系。在时刻40,会话1中的所有客户端已经完成了补丁流的接收,会话3中还有3个客户端正在处理接收的补丁流。

2.1 新的客户端的加入

新的客户端首先与服务器接触,在这个期间服务器可以对客户端的请求认证。因为注册需要大量的客户,可采用分布式服务器的方式。

在一个时间限制数内的所有加入的客户端组成一个会话。如果新加入的客户端不能加入已经开始的会话(超过了时间限制数),就开始另外一个新的会话。服务器发送视频流到客户端,如果新的客户端属于现存的一个会话,也就是说新加入的客户端与会话中的第一个客户端的时间差小于时间限制数,客户端将尽力加入会话基树。同时它还会尽快选择一个补丁流服务器发送补丁流给它。如果客户端成功地加入基树和选择补丁流服务器,它就实现了系统加入。由于服务器和网络中带宽的限制,客户端不能够找到一条足够带宽的路径加入基树或不能够从服务器或其他客户端取得补丁流,则客户端将被拒绝加入。为了减少延迟,补丁流服务器的选择和基树的加入是同时进行的。具体的加入细节见下面章节。

2.2 基树的构建过程

主要有两种方式构建应用层多播树,一种是网状构建,另外一种是树状构建。P2PVOD模型使用了简单的树状构建方法。树构建过程符合以下原则:1)带宽优先法则 VOD服务具有严格的带宽要求,但相对延迟不敏感。具有充足的没有使用的带宽的网络很可能提供较好的服务质量或出现短暂的网络拥塞。2)仅有本地信息原则 因为客户端的数量巨大而且动态变动很大,所以要避免节点具有全局的信息,例如树的结构等。在基树的构建过程中只使用本地信息,例如孩子,父亲,节点本身信息等。

对一个新的客户端来说基树的加入是从服务器开始的。多媒体流从父节点请求一个最少量的可用带宽,父节点量测从它本身到新的客户端的可用带宽,并且决定是否把这个客户端作为自己的孩子节点。如果同意接受客户端,新的客户端就加入了基树并开始接收基流。否则,这个服务器把新节点推向它的一个孩子节点(候选节点)。孩子节点做同样的选择,如果不能接收就把新节点推向它本身的孩子。这个过程持续的递归执行,直到加入基树或被拒绝加入。

2.3 补丁服务器的选择

补丁服务器给新的客户端提供补丁流服务。在一个会话中除了第一个加入的节点外,所有的其他客户端都需要补丁流。选择好补丁服务器后,服务器就以单播的方式发送补丁流给它。服务器保存着整个的视频流,并且只要足够的带宽总是能作为补丁服务器的。其他的会话中比它先到的也可以作为补丁流服务器。

图2所示例子,假设会话开始时间为0在时间t1客户端1到达,加入基树并且接收从t1开始的基,并假设它从服务器接收补丁流。在时间t2客户端2到达,并且加入基树开始接收基流。因为客户端1已经缓存了部分客户端2请求的补丁流(阴影部分为客户端1已经缓存的内容),客户端1继续接受补丁流,因此它可以服务于客户端2。客户端补丁服务器的选择过程和基树的加入过程一样。

2.4 失效恢复

在P2PVOD中,客户端的离开或网络的失效(例如连接断开,可用带宽的浮动),能够阻止补丁流和基流的传输。P2PVOD模型提供了对这两种失效的恢复。

首先是基流恢复过程:假设客户端A由于失效而离开,以它为根的所有的子树都会受到失效的影响。为了简单起见和防止过多的恢复请求,P2PVOD只允许客户端A进行恢复。发现过程等同于新的客户端的加入过程,只是这时候只有基流请求而已。如果恢复成功,则整个子树就得到恢复,如果失败,则客户端A的孩子开始恢复过程,这个过程也是递归的。

补丁流恢复过程:假设客户端B在找一个补丁流服务器,它首先联系服务器,并且递归的调用新的客户端的选择服务器的过程(注意这个时候只有比客户端B先来的客户端才能作为补丁流服务器)。如果成功,则得到恢复。如果失败,则从它那里接受基流的或补丁流的客户端开始恢复过程。

每个客户端不断的监视接收流状况,如果质量下降到一定程度将触发失效恢复过程。

2.5 基树建立过程和补丁流服务器选择过程

请求客户端首先联系服务器,接着按以下步骤进行。

步骤1:请求客户端N通过服务器选择一个侯选父接点P

步骤2:P估计从P到N的带宽(表示为B(P,N)),同时它还发送信息C(P)给所有在它子树中的孩子,让他们量测各自到节点P的带宽。

步骤3:P收集它的孩子的带宽,并且标示出最大的为Cmax。根据返回给P的报告有两种可能:侯选接点P具有最大的带宽到N,B(P,N)> B(Cmax,N);其中一个孩子具有最大的带宽到N,B(Cmax,N)> B(P,N)。分别进行讨论如下:

B(P,N)> B(Cmax,N)时,P应该最少能接受一个流。如果P仅请求基流,那么N就选择P作为它的父节点。如果请求的是补丁流,并且P的加入时间早于N,则作为补丁流服务器。如果两个流同时请求,则补丁流比基流具有较高的优先级。如果P能够接受补丁流,则作为补丁流服务器,如果还有足够的带宽接受基流,则成为N的父节点。如果没有足够的带宽,则把它推向具有Cmax的孩子。

B(Cmax,N)>B(P,N)时,则把节点推向具有Cmax的孩子。

以上法则叫best fit(BF)法则,有两种是对此法则的改进

BF-delay法则:在这个法则中使用了延迟信息,也就是说当多个孩子具有相同的带宽时,优先选择最小延迟的孩子节点(最近的)。

BF-delay-approx法则:在步骤2和步骤3中使用不同的带宽量测法则。它不是使用精确的带宽,而是使用I(C,N)。当客户端有足够的带宽支持请求时,它的值为1,否则为0。因为他不需要量测精确的带宽,它的返回要比以上的两种的加入延迟小的多。

3 结束语

本文提出了一种P2P方式的视频点播模型P2PVOD,大大节省了对服务器的性能的要求,改进了IP组播不能在底层支持的现状,且系统的可扩展性有了很大的改善。

P2PVOD采用网络和树相结合的方式,具有更高的健壮性(增加了节点的处理能力,但个人计算机性能的发展远远能够满足这个要求)和扩展性。在大量节点加入的情况下,服务器的性能要求持续的稳定,同时具有网状的高健壮性,又有树的组织性。

参考文献:

[1] 章淼,徐明伟,吴建平.应用层组播研究综述[J].电子学报,2004,32(12A):22-23.

[2] 陈琨,陈福民.点到点式视频点播系统的研究[J].计算机应用与软件,2003,20(10):8-10

[3] 黄道颖,李祖鹏,庄雷,等.分布式Peer-to-Peer网络Gnutella模型研究[J].计算机工程与应用,2003,39(05):17-19.

[4] 程德强,钱建生,田隽.IP网络组播技术的新发展[J].电信科学,2006,22(8):63-67.

[5] 岩延,周士波,赵东升.组播路由协议及其应用[J].微电脑世界,2002(20):82-84,95.

上一篇:高校院系资料室网站设计的个性凸现 下一篇:低功耗宽调谐范围锁相环设计