论文部分内容阅读
摘 要:本文以P2P技术作为重点,提出了利用P2P代理技术解决网络中VOD系统的设计方案,并通过实际的网络环境进行了方案的实施和测试,取得了满意的效果。
关键词:P2P VOD
中图分类号:TP319 文献标识码:B 文章编号:1673-8454(2008)19-0062-03
目前,在很多大学校园网中的视频点播(VOD)服务是采用了流媒体技术的前提下以C/S模式提供的,在通常情况下能够为网内用户提供很好的服务质量。但是,在出现网络异常流量时(如大量的用户同时收看直播节目),VOD服务器的瓶颈问题就暴露出来了。由于网络上用户的访问行为是不可控的,要想从根本上解决问题必须引进新的技术手段以提高VOD点播系统的服务质量。
我们采用P2P技术,对我校VOD点播系统进行了改进,取得了令人满意的效果。该方案是一种基于P2P代理的VOD服务系统,主要解决目前无法实现在终端上安装应用软件(包括Peer客户端软件)的情况下,提高VOD流媒体服务器的利用率和系统服务吞吐能力等系统固有的瓶颈问题,进而提高网络上视频点播的服务质量。
一、P2P代理技术
广义的P2P代理是指P2P客户端通过“代理服务器”(也是P2P节点)完成P2P网络的构建和相关信息传送行为。本文中P2P代理的含义是代理非P2P客户端完成流媒体请求服务并为非P2P客户端充当流媒体应用服务端。相当于把播放器功能和P2P功能分离,将P2P功能放到P2P节点代理服务器上,播放器功能仍然放在客户端(终端上)。这一概念主要是针对目前STB的软件环境不完善而提出的,使得在现有的环境中,通过P2P来提高VOD服务系统硬件资源利用率,以提升VOD服务性能。
第二种实现方法是,P2P节点代理做“流中转”,这种方法实现较为复杂,实时性要求高。该方法要求P2P节点代理提供流式传送,并中转到非P2P终端。P2P节点代理查询结果返回一个集合S,集合S中的成员提供的数据速率要求大于一个流的码流值,请求返回节点集合中的所有节点,不断提供“流片断”,节点代理按照顺序将这些“流片断”组装成正确顺序的流,将流缓冲在本地缓存中,同时实时中转吐出给非P2P终端。这样既可以完成流的本地下载,也可以提供流媒体服务。该种方法的简易实现方式,返回仅包含一个节点的集合,由该集合中的节点提供流给Peer节点代理,节点代理一边将流缓冲并保存在本地硬盘,一边中转流,送给非P2P终端。该方式有点像直播流中转,以达到直播覆盖范围广、服务容量增加的作用。
P2P终端直接加入到P2P资源网络,通过资源网络直接获取相应的VOD服务。相应的也有两种方式,一种方式是通过文件方式下载到缓冲中,然后边下载边播放;另外一种模式是通过流方式,边缓冲边播放。如果是服务器P2P客户端,则两种模式都需将内容缓存到本地,以便下次使用和实现内容合理分布。
四、P2P代理节点设计
在基于P2P代理的VOD服务系统中,P2P代理起了非常重要的作用,一方面它提供VOD流服务,另一方面,它影响或作用于P2P资源网络的资源分布和定位,P2P节点代理结构如图1所示。
其中,P2P基础设施、中间件、流媒体服务或播放是系统中主要的三个层次,流媒体服务如果发现本地有内容就直接调用本地的节目内容,如果没有,则通过中间件的重定向功能定位到相应的流媒体服务器上,通过P2P基础设施下载相应内容。对流媒体播放而言,通过P2P基础设施获取内容,通过中间件的节点选择和丢包策略功能实现流畅的播放。
下面我们来看基于中心化的P2P流媒体播放的工作流程,P2P流媒体播放工作流程如图2所示(箭头表示消息,直线表示数据流)。
P2P流媒体播放工作流程描述如下:
1.Player到EPG服务器上请求需要的节目,通过EPG后台或单独的Index服务器获取具有相应节目内容的节点集合;
2.Player通过中间件的节点选择功能,检查返回集合中所有节点的负载情况和网络带宽情况;
3.Player根据媒体元数据(Metadata)和检查结果情况,确定由哪些节点提供哪些流媒体片断(根据分片断策略),这里选择了Peerl,Peer3,Peer4为其提供流内容;
4.Player收到数据后,保存在缓冲器中并进行按序重组,写入到本地磁盘文件中,Player播放器从缓冲读取内容并播放。
五、测试性能分析
在测试环境中,流媒体服务器配置如下:CPUIntel Xeon 2.80G,内存2G,硬盘146GSCSI*6,RAID5,网卡1G,Windows Server 2003(Spl)。使用的码流为800kbps。
在现有VOD服务系统中,每台流媒体服务器并发用户数为350个,网卡吐出的流量为280Mbps。在P2P模式下,单链接达到流畅点播速度(99KBps,即798kbps)时最大链接数如表1所示。
当由多个Peer提供流媒体服务器时,单台流媒体服务器并发链接数达1000时,单链接平均速度(KBps)情况如表2所示。
相关说明:在带宽满足1G的情况下,瓶颈在于硬盘的读取速度,在使用RAID5以后,硬盘读取速度要下降。其实在影视媒体文件服务器中,最好是使用RAID0或RAID3,它能提供比单个硬盘更快的读写速度。由于资源服务器采用了特殊的内存数据共享机制和文件数据预读功能,在非随机下载环境中,以牺牲更多内存为代价,可以支持更多的链接数,提升10%左右性能。
测试结果表明,通过P2P不仅能够充分利用所有服务器资源,而且每台流媒体服务器的平均服务能力也得到明显提高。
参考文献:
[1]张谢华,夏士雄,张欢.基于P2P的分布式VOD系统的研究[J].计算机应用与软件,2005(22).
[2]彭兰.P2P技术与网络传播的未来[J].南京邮电学院学报(社会科学版), 2005(7).
[3]杨建钢,朱云东,肖娴楠.媒体VOD与网络远程教学系统[Jl.教育技术通讯,2001(7).
[4]Napster.http://www.napster.com
[5]Napster带来的革命. http://www.liumeiti.org/tech/P2P/200510/16251.html
[6]Gunjan Samtani. Web Services and Peer-to-Peer Computing. http://www.webservicesarchitect.com/content/articles/samtani05.asp
关键词:P2P VOD
中图分类号:TP319 文献标识码:B 文章编号:1673-8454(2008)19-0062-03
目前,在很多大学校园网中的视频点播(VOD)服务是采用了流媒体技术的前提下以C/S模式提供的,在通常情况下能够为网内用户提供很好的服务质量。但是,在出现网络异常流量时(如大量的用户同时收看直播节目),VOD服务器的瓶颈问题就暴露出来了。由于网络上用户的访问行为是不可控的,要想从根本上解决问题必须引进新的技术手段以提高VOD点播系统的服务质量。
我们采用P2P技术,对我校VOD点播系统进行了改进,取得了令人满意的效果。该方案是一种基于P2P代理的VOD服务系统,主要解决目前无法实现在终端上安装应用软件(包括Peer客户端软件)的情况下,提高VOD流媒体服务器的利用率和系统服务吞吐能力等系统固有的瓶颈问题,进而提高网络上视频点播的服务质量。
一、P2P代理技术
广义的P2P代理是指P2P客户端通过“代理服务器”(也是P2P节点)完成P2P网络的构建和相关信息传送行为。本文中P2P代理的含义是代理非P2P客户端完成流媒体请求服务并为非P2P客户端充当流媒体应用服务端。相当于把播放器功能和P2P功能分离,将P2P功能放到P2P节点代理服务器上,播放器功能仍然放在客户端(终端上)。这一概念主要是针对目前STB的软件环境不完善而提出的,使得在现有的环境中,通过P2P来提高VOD服务系统硬件资源利用率,以提升VOD服务性能。
第二种实现方法是,P2P节点代理做“流中转”,这种方法实现较为复杂,实时性要求高。该方法要求P2P节点代理提供流式传送,并中转到非P2P终端。P2P节点代理查询结果返回一个集合S,集合S中的成员提供的数据速率要求大于一个流的码流值,请求返回节点集合中的所有节点,不断提供“流片断”,节点代理按照顺序将这些“流片断”组装成正确顺序的流,将流缓冲在本地缓存中,同时实时中转吐出给非P2P终端。这样既可以完成流的本地下载,也可以提供流媒体服务。该种方法的简易实现方式,返回仅包含一个节点的集合,由该集合中的节点提供流给Peer节点代理,节点代理一边将流缓冲并保存在本地硬盘,一边中转流,送给非P2P终端。该方式有点像直播流中转,以达到直播覆盖范围广、服务容量增加的作用。
P2P终端直接加入到P2P资源网络,通过资源网络直接获取相应的VOD服务。相应的也有两种方式,一种方式是通过文件方式下载到缓冲中,然后边下载边播放;另外一种模式是通过流方式,边缓冲边播放。如果是服务器P2P客户端,则两种模式都需将内容缓存到本地,以便下次使用和实现内容合理分布。
四、P2P代理节点设计
在基于P2P代理的VOD服务系统中,P2P代理起了非常重要的作用,一方面它提供VOD流服务,另一方面,它影响或作用于P2P资源网络的资源分布和定位,P2P节点代理结构如图1所示。
其中,P2P基础设施、中间件、流媒体服务或播放是系统中主要的三个层次,流媒体服务如果发现本地有内容就直接调用本地的节目内容,如果没有,则通过中间件的重定向功能定位到相应的流媒体服务器上,通过P2P基础设施下载相应内容。对流媒体播放而言,通过P2P基础设施获取内容,通过中间件的节点选择和丢包策略功能实现流畅的播放。
下面我们来看基于中心化的P2P流媒体播放的工作流程,P2P流媒体播放工作流程如图2所示(箭头表示消息,直线表示数据流)。
P2P流媒体播放工作流程描述如下:
1.Player到EPG服务器上请求需要的节目,通过EPG后台或单独的Index服务器获取具有相应节目内容的节点集合;
2.Player通过中间件的节点选择功能,检查返回集合中所有节点的负载情况和网络带宽情况;
3.Player根据媒体元数据(Metadata)和检查结果情况,确定由哪些节点提供哪些流媒体片断(根据分片断策略),这里选择了Peerl,Peer3,Peer4为其提供流内容;
4.Player收到数据后,保存在缓冲器中并进行按序重组,写入到本地磁盘文件中,Player播放器从缓冲读取内容并播放。
五、测试性能分析
在测试环境中,流媒体服务器配置如下:CPUIntel Xeon 2.80G,内存2G,硬盘146GSCSI*6,RAID5,网卡1G,Windows Server 2003(Spl)。使用的码流为800kbps。
在现有VOD服务系统中,每台流媒体服务器并发用户数为350个,网卡吐出的流量为280Mbps。在P2P模式下,单链接达到流畅点播速度(99KBps,即798kbps)时最大链接数如表1所示。
当由多个Peer提供流媒体服务器时,单台流媒体服务器并发链接数达1000时,单链接平均速度(KBps)情况如表2所示。
相关说明:在带宽满足1G的情况下,瓶颈在于硬盘的读取速度,在使用RAID5以后,硬盘读取速度要下降。其实在影视媒体文件服务器中,最好是使用RAID0或RAID3,它能提供比单个硬盘更快的读写速度。由于资源服务器采用了特殊的内存数据共享机制和文件数据预读功能,在非随机下载环境中,以牺牲更多内存为代价,可以支持更多的链接数,提升10%左右性能。
测试结果表明,通过P2P不仅能够充分利用所有服务器资源,而且每台流媒体服务器的平均服务能力也得到明显提高。
参考文献:
[1]张谢华,夏士雄,张欢.基于P2P的分布式VOD系统的研究[J].计算机应用与软件,2005(22).
[2]彭兰.P2P技术与网络传播的未来[J].南京邮电学院学报(社会科学版), 2005(7).
[3]杨建钢,朱云东,肖娴楠.媒体VOD与网络远程教学系统[Jl.教育技术通讯,2001(7).
[4]Napster.http://www.napster.com
[5]Napster带来的革命. http://www.liumeiti.org/tech/P2P/200510/16251.html
[6]Gunjan Samtani. Web Services and Peer-to-Peer Computing. http://www.webservicesarchitect.com/content/articles/samtani05.asp