




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着网络信息技术的发展,互联网作为一种全新的信息流动承载平台,正在 逐渐地改变着人们的交流和思维方式。传统的多媒体播放模式已经不能满足大多 数人的要求,人们在网络上可以通过点播的方式随时观看自己喜欢的视频节目, 这种突破传统的多媒体播放方式为人们的工作和生活带来了全新的改变,视频点 播已成为最有吸引力的i n t e r a c t 服务之一。 传统的c s 架构的视频点播技术造成了视频服务器的高负载,而p 2 p 技术通 过节点分发技术来减轻了服务器的负载,因此近年来p 2 p 技术被广泛的应用于大 规模的视频点播服务中。p 2 p 技术的可扩展性使得加入到p 2 p 网络中的节点越多, 系统的整体服务能力也就越强。p 2 p 网络的健壮性也是可想而知的,当p 2 p 网络 中某个节点因为某种原因而失效时,系统会自动进行调整,重新分配服务节点, 保证网络中其它对等节点的连通性,不会影响整个系统的服务能力。p 2 p 网络架 构本身具有耐攻击性和高容错的优点,这一点也使得p 2 p 架构下视频点播系统的 研究志在必得。p 2 p 视频点播系统使得网络带宽被高效的利用了,并且确保了播 放的质量。 本文对视频点播技术研究的现状进行了深入系统的分析和研究,并对p 2 p 技术、流媒体视频点播技术进行了详细的介绍,在此基础上提出了基于p 2 p 架构 的视频点播系统。根据本系统各个部分的不同功能进行了模块划分,并对各个模 块的主要功能进行了详细的设计和实现。 另外我们对以往应用于流媒体系统的片段选择算法进行了分析,针对这些片 段选择算法的特点做了一些改进,然后提出了一种改进的片段选择算法一r f i p s ( r a r e s tf i r s t i n t e r v a lp i e c es e l e c t i o n ) 片段选择算法,并对该算法的设计思想和 设计过程进行了详细的设计和介绍。最后,对这几种片段选择算法分别进行了模 拟实验,并把得到的实验结果进行了比较和分析。实验结果充分表明了本文提出 的基于r f i p s 片选算法的p 2 p 视频点播系统的优越性。 关键词:p 2 p ,视频点播,r f i p s ,片段选择算法 a b s t r a c t a b s t r a c t w i t ht h ep o p u l a r i z a t i o no ft h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , i n t e r n e ti sg r a d u a l l y c h a n g i n gp e o p l e sw a y so ft h i n k i n ga n dc o m m u n i c a t i o n , 笛an e wi n f o r m a t i o nc o m m u n i c a t i o n p l a t f o r m t r a d i t i o n a lm u l t i m e d i ap l a y b a c km o d ec a nn o tm e e tt h er e q u i r e m e n to fm o s tp e o p l e ,a n d p e o p l ec a r lv i e wt h e i rf a v o r i t ep r o g r a m sv i av i d e o - o n d e m a n do nt h en e t w o r ka ta n yt i m e t h e b r e a k t h r o u g ho ft h et r a d i t i o n a lw a yo fm u l t i m e d i ab r o a d c a s tm a d et h en e wc h a n g i n go fp e o p l e s l i f ea n dw o r k i n g v i d e o - o n - d e m a n dh a s b e e no n eo ft h em o s ti n t e r e s t i n gs e r v i c e so nt h ei n t e r a c t t h et r a d i t i o n a lv i d e o - o n - d e m a n ds y s t e mb a s e do nc ss t r u c t u r ec a u s e dt h eh i g hl o a d so n v i d e os e r v e r s ,w h i l ep 2 pt e c h n o l o g yc a nr e m o v e s o m eo ft h el o a df r o mt h es e r v e rb yt e c h n i q u eo f d i s t r i b u t i o nn o d e s s op 2 pt e c h n o l o g yi sw i d e l yu s e di nl a r g e s c a l ev i d e o - o n - d e m a n ds e r v i c ei n r e c e n ty e a r s t h ee x t e n d i b i l i t yo fp 2 pt e c h n o l o g yi st h a tt h em o r ep e e r si nt h en e t w o r k , t h e s t r o n g e rt h es y s t e ms e r v e s w ec a ni m a g i n et h er o b u s t n e s so fp 2 pn e t w o r k , w h e ns o m ep e e ri nt h e p 2 pn e t w o r kr u n so u tb e c a u s eo fs o m er e a s o n s ,a n dt h es y s t e mc a l la d j u s ta u t o m a t i c a l l ya n d r e a l l o c a t et h es e r v i c ep e e r s i tc a ne n s u r et h ec o n n e c t i v i t yo fo t h e rp e e r s ,a n dh a v en oi n f l u e n c en o t h es e r v i c ea b i l i t yo ft h es y s t e m t h ei n v u l n e r a b i l i t ya n dh i g hf a u l t - t o l e r a n c ea r eb o t ht h e a d v a n t a g e si nt h ep 2 pn e t w o r k i tm a d et h er e s e a r c ho nt h ep 2 pv o db ed e t e r m i n e dt oh a v e p 2 p v i d e o o n - d e m a n ds y s t e mm a k e st h eb a n d w i d t hb e e nu s e de f f i c i e n t l y , a n de n s u r e st h eq u a l i t yo f p l a y i n g t h i s p a p e rg i v e ss o m e r e s e a r c h e sa n ds y s t e ma n a l y s i so nt h ec u r r e n ts t u d yo f v i d e o o n - d e m a n d p 2 pt e c h n o l o g ya n ds t r e a m i n gv i d e o - o n - d e m a n ds y s t e mw a si n t r o d u c e di n d e t a i l ,b a s e do nt h i s ,w ep r o p o s e dt h i sv i d e o - o n - d e m a n ds y s t e mi n t e g r a t e dw i t ht h e s et w ok i n d s o ft e c h n o l o g i e s b a s e do nt h ed i f f e r e n tf u n c t i o n so fe v e r yp a r t , t h es y s t e mi sd i v i d e di n t om a n y m o d u l e s ,a n dt h e nw em a d ed e s i g na n di m p l e m e n ti nd e t a i lt oe v e r ym o d u l e s i na d d i t i o n , t h ep a p e ra n a l y s e ss o m ep i e c es e l e c t i o na l g o r i t h m su s e di ns t r e a m i n gm e d i a s y s t e mp r e v i o u s l y a i mt ot h ec h a r a c t e r i s t i c so ft h e s ep i e c es e l e c t i o na l g o r i t h m s ,w em a d es o m e i m p r o v e m e n ta n dt h e np r o p o s e da ni m p r o v e dp i e c es e l e c t i o na l g o r i t h r nn a m e dr f i p sa l g o r i t h m t h ei d e aa n dp r o c e d u r eo fd e s i g na r eb o t hi n t r o d u c e da n dd e s i g ni nd e t a i l f i n a l l yt h ee x p e r i m e n t i ss i m u l a t e db a s e do nt h e s ep i e c es e l e c t i o na l g o r i t h m sa n dt h er e s u l ti sa n a l y z e da n dc o m p a r e d , f r o mw h i c ht h ep 2 pv o d s y s t e mb a s e do nr f i p sa l g o r i t h mc a l lb ep r o v e df e a s i b l ea n ds t a b i l eb y d a t a k e yw o r d s :p 2 p , v i d e o - o n - d e m a n d ,r f - i p s ,p i e c es e l e c t i o na l g o r i t h m n 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立进 行研究所取得的成果。学位论文中凡引用他人已经发表或未发表的成果、 数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不 包含任何其他个人或集体己经发表或撰写过的科研成果。对本文的研究 成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:兰塞纽堑l日期:巡丝毪生日矽圈 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属 兰州大学。本人完全了解兰州大学有关保存、使用学位论文的规定,同 意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许 论文被查阅和借阅;本人授权兰州大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本学 位论文。本人离校后发表、使用学位论文或与该论文直接相关的学术论 文或成果时,第一署名单位仍然为兰州大学。 保密论文在解密后应遵守此规定。 论文作者签名:纽导师签名: 日期: 第一章绪论 1 1 研究背景 第一章绪论 互联网的普及和发展带动了各种网络应用的发展与研究。视频点播虽然最近 几年才发展起来的,但是它对网络用户的影响是毋庸置疑的。日前,某调查机构 发布的一个研究结果显示,中国的网络视频行业正在朝多样化、融合化方向发展。 不同种类的视频发布平台在满足用户各种需求的同时,也在不断思考和改良自身 平台建设中的创新业务模式,提高用户体验。p 2 p 视频点播业务就是其中一个重 要的体现。根据中国互联网络信息中心( c n n i c ) 【l 】发布的第2 5 次中国互联网 络发展状况统计报告【2 】调查显示,截止2 0 0 9 年底,中国网民规模达到3 8 4 亿人, 较2 0 0 8 年增长2 8 9 ,在总人口中的比重从2 2 6 提升到2 8 9 。其中,网络视频 的使用率是6 2 6 ,用户增长率为1 9 0 。可见,在p 2 p 网络架构下进行视频点播 系统的研究可以带来巨大的经济效益,具有一定的实用价值。 1 2 视频点播技术研究现状 视频点播( v i d e o o n d e m a n d ,v o d ) 是2 0 世纪9 0 年代发展起来的,作为 当今最有吸引力的互联网服务之一,也渐渐脱离了传统的视频点播模式。传统的 视频点播服务是基于客户机朋艮务器( c l i e n v s e r v e r ,c s ) 模式的,服务器以单 播的方式与每个用户建立连接并提供服务,由于流媒体服务具有高宽带、持续时 间长等特点,随着用户数量的增加,服务器的带宽很快就被消耗完了,所以以往 的网络电视经常会出现断断续续的情况,并且需要不断地进行数据缓冲。为了提 高播放质量,通常采用服务器机群来解决,从而导致了较大的成本,系统扩展性 也受到了极大的限制。 为了解决系统的可扩展性,许多研究提出了相应的解决办法。例如,运用口 组播技术【3 】来实现i n t e m e t 上高效的一对多的通信,这样大大的提高了系统的可 扩展性,然而由于i p 组播存在种种限制,很难实现可靠性组播和拥塞控制等, 因此这种技术并没有得到广泛的应用。 兰州大学硕士学位论文 目前国内的视频点播系统,包括一些电信的视频点播系统 4 1 ,基本上都是基 于c s 模式和c d n 加速技术实现的,但是这种技术的不足之处在于服务器承受 的压力非常大,容易成为系统瓶颈,并且部署成本高。 采用p 2 p 网络架构实现的视频点播系统,可以降低对服务器性能和网络带宽 的需求,进而降低了网络部署的成本。p 2 p 网络本身的可扩展性,更是使得p 2 p 网络模式下的视频点播技术解决了传统视频点播存在的一些问题,例如带宽不 足,系统瓶颈等等。在p 2 p 模式【5 】下,并非所有的客户端都从服务器获取媒体数 据或者服务,客户端也连接其它客户端来获取媒体数据或者服务,因此在增加用 户的同时无需相应地增加服务器和带宽,从而大大降低了服务器的负载和带宽的 占用,既使得全局网络带宽得以有效利用,又能保证单个节点媒体播放的流畅性。 其中p p l i v e t 6 】就是一款受互联网用户欢迎的p 2 p 视频直播点播的共享软件,它 采用的网状结构,有效的解决了当前网络视频点播服务的带宽和负载有限的问 题,使得观看的人越多,资源越容易获得,播放质量也越能得到保证。 1 。3 本文的研究内容 p 2 p 视频点播系统中面临着许多技术问题,如片段选择算法如何设计可使系 统得到最优的性能:系统对视频片段如何进行存储;媒体缓冲区如何管理与设计; 如何快速地在p 2 p 网络中找到最佳的服务节点等等。本文对传统视频点播系统的 运行模式进行了研究,并对以往提出的几种片段选择算法进行了对比和分析,在 此基础上设计和实现了这种基于r f i p s 片段选择算法的p 2 p 网络视频点播系统, 考虑到对v c r ( v i d e oc a s s e t t er e c o r d i n g ,主要包括播放、停止、暂停。快进、快 退和随机访问等) 操作的支持,减少系统的启动延迟和等待延迟,满足用户体验。 论文主要内容包括: 1 、相关的技术介绍:主要介绍了p 2 p 技术、流媒体技术的概念和视频点播系 统相关技术及特点。 2 、p 2 p 视频点播系统的系统框架:分别从服务器端和客户端两方面进行了详 细的研究和设计,并根据这两方面在系统中的不同功能进行了模块划分,并对各 个模块的具体功能进行了设计与实现。其中,服务器端划分为i s 服务器端模块和 e s 服务器端模块两部分,针对这两个模块的不同功能进一步划分为多个不同功 2 第一章绪论 能子模块,并对各个子模块的功能进行了详细的介绍。 3 、片段选择算法:对以往提出的片段选择算法( 例如,最少片优先片段选 择算法) 进行研究和分析,综合各种算法的优缺点,进行改进并提出了本系统使 用的片段选择算法一r f i p s 片段选择算法。该算法是在最小片优先算法的基础上 又加入了区间片段选择的策略,应用到本系统中可以明显提高系统的性能。 1 4 论文的组织结构 论文共分为五个章节。 第一章主要介绍了论文的研究背景以及视频点播技术的研究现状,并阐述了 本文的研究内容。 第二章主要介绍了与论文相关的技术,包括p 2 p 和流媒体的概念及视频点播 系统相关技术及特点。结合p 2 p 网络架构的优点,充分体现出了p 2 p 架构下的视 频点播系统的优势。 第三章主要介绍了本系统的系统框架结构,分别对服务器端和客户端两方面 的各个模块功能进行详细的介绍。其中包括:媒体缓冲区的管理,加入和退出p 2 p 网络节点的管理,如何选择合适的服务节点等算法。 第四章主要介绍了r f i p s 片段选择算法的设计思想和实现步骤。 第五章对这篇论文的主要工作进行了总结,并对以后的研究工作进行了展 望。 第二章相关技术理论基础 第二章相关技术理论基础 2 1p 2 p 技术介绍 毋7 慈遵: = 大肇硕学位论文 种非集中架构( 见图22 ) ,在网络中没有传统的服务器或是传统的客户机的概念。 对于网络中的每一个实体,都会被认为是一个对等节点,它们拥有相同的地位, 任何一个实体都可以请求服务和提供服务,但是各个对等节点的服务能力是不同 的,主要和网络带宽状况及用户配鼋有关。 图22 显示的是一个典型的p 2 p 网络模型。 图22p 2 p 网络模型 p 2 p 网络模式和c s 模式的另一个区别在于:在p 2 p 网络中只要有一个节点 是活跃的那么我们就认为该网络是可用的,只有在p 2 p 网络中没有任何一个节 点是活跃的时候,该网络才不可用。 2 2 视频点播相关技术 2 2 1 流媒体技术概述 流媒体技术【o l 也称流式媒体技术,是一种在数据网络上传递多媒体信息的技 术。所谓流媒体技术就是把连续的影像和声音信息经过压缩处理后放上网站服务 器上,让用户一边下载一边观看、收听,而不要等整个压缩文件下载到自己的计 算机上才可以观看的网络传输技术。该技术先在客户端的计算机上创建一个缓冲 区,在播放前预先下载一段数据作为缓冲,在网络实际连线速度小于播放所耗的 速度时,播放程序就会取用一小段缓冲区内的数据,这样可以避免播放的中断, 也使得播放质量得以保证。针对流媒体随时间不断变化的特点。客户端可采用一 边播放,一边接收数据来解决下载时间问题l i “。也就是说无需完全下载就可以立 窿 第二章相关技术理论基础 即播放。客户端不是一次将所有的数据从服务器读取,而是先在线路中读取音频 或视频剪辑的第一部分,在第一部分开始播放的同时,数据的其余部分源源不断 的下载,供客户端播放。 视频点播系统是一种按需服务的视频系统,是流媒体技术的一大应用。它极 大地挑战了传统的视频服务模式,即用户只能被动地接收广播的节目,没有能力 选择节目的内容。但有了视频点播就完全不同了,视频点播服务系统配备有一个 很大的视频库,用户可以浏览视频目录,随时点播其中的节目,而系统则根据用 户的请求播放相应的节目。这就是视频点播的概念。从上述概念可知,要构成视 频点播系统【1 2 1 有几个必须解决的问题: 1 节目源 2 节目实时播发 3 用户需求反馈 4 用户需求定制 节目源是提供用户可以看的节目,包括电视台在播节目、各类媒体信息及视 频服务商提供的各类节目n 引,它是用户需求的集合;节目实时播发是让用户知道 视频服务商有哪些节目可用;用户需求反馈是让视频服务商知道特定用户想看什 么节目;用户需求定制是视频服务商根据不同用户要求播放相应节目满足用户要 求的过程。 p 2 p 视频点播技术是p 2 p 流媒体技术的一种,也是通过流来传递数据的。和 p 2 p 直播技术不同,用户可以在同一个时间收看同一个视频节目的不同部分。它 需要每个对等节点一小部分的存储空间( 通常是1 g b ) 来缓存当前观看的视频 数据,而不仅仅是在内存中才拥有的仅供播放的缓冲区。 2 2 2p 2 p 视频点播系统的组成 传统视频点播系统由服务端系统、网络系统和客户端系统三部分组成。 l 、服务端系统 服务端系统主要由服务器媒体服务模块、服务器应用服务模块和服务器管理 等模块组成。 服务器媒体服务模块主要用来为用户提供多媒体和服务信息。 7 兰州大学硕士学位论文 服务器应用服务模块主要用来接受用户的请求,下载各种用户终端应用,实 现与外部网络的数据交换和提供用户访问的接口 服务器管理模块主要负责整个系统的运行并且记录相关的信息。 另外,服务端系统【1 4 】还包括基于w e b 的管理系统,管理员可以在任何位置、 通过任何终端经认证后即可对系统进行管理。 2 、网络系统 网络系统负责视频信息流的实时传输,是影响连续媒体网络服务系统性能极 为关键的部分。主要包括一些网络传输设备【1 5 】,可以采用局域网方式,也可以是 广域网方式。还包括网络的服务质量( q u a l i t yo f s e r v i c e ,q o s ) 和一些应用层协 议。只有合理的选择可用的网络协议,使得网络的带宽和延迟时间维持在一定的 水平上,视频数据才可以平稳的在客户端节点上播放。 3 、客户端系统 客户端系统主要是包括一些用户终端,可以用个人计算机、专用机顶盒来实 现。对性能较高的个人计算机完全可以通过装载软件来实现,对于性能较低的个 人计算机可以通过解压卡来完成解码。使用专用的机顶盒可以配合电视来收看。 此外,视频点播系统还包括节目制作系统【1 6 】,一般情况下用户可以直接将 v c d 节目加载到视频服务器中,如果需要将录像带、l d 等存储介质中的模拟视 频节目加载到视频库中,则需要通过节目制作系统来完成。 这种系统是基于c s 模式的,服务器以单播的方式和每个用户建立连接,基 于p 2 p 方式的视频点播技术是指流媒体服务器只发送少数几个媒体流,给首先连 接的几个用户,后面的用户不是从服务器直接获得数据,而是从前面的用户获得 数据。在p 2 p 网络视频点播系统中服务器的功能只是一个服务能力较强的对等节 点,不再是传统意义上的服务器了,它仅仅实现指导客户端下载,维护用户和视 频信息的功能。 2 2 3 视频点播的主要技术 视频点播是伴随着视频、音频处理及计算机网络技术的发展而迅速兴起的一 门综合性技术【1 7 1 ,主要包括多媒体数据压缩技术、多媒体网络传输技术和多媒体 数据库技术。 8 第二章相关技术理论基础 1 、多媒体数据压缩技术 在视频点播系统中,如果不对多媒体数据进行压缩会占用很大的硬盘空间, 在传输时也会占用很高的带宽。数据压缩是可行的,一方面因为在原始数据信息 中往往存在大量冗余,比如电视图像内相邻像素之间及前后帧之间存在很大的空 域和时域相关性。另一方面,因为在多媒体系统的应用领域,人是信息的主要接 收者,人的视觉系统对于图像的亮度敏感,对边缘急剧变化和色差信息不敏感。 根据这一特性,可以实现高比例压缩【1 8 1 ,并且能够使恢复后的图像信号仍有满意 的主观质量。数据压缩完全满足视频点播系统对多媒体数据的基本要求,因此视 频服务器保存着大量经压缩的视频节目并能通过网络为用户提供所需的节目拷 贝。 2 多媒体网络传输技术 多媒体网络传输技术在视频点播技术中是个关键,它直接影响到用户体验的 满意度。多媒体数据以实时数据流的形式传输,与传统的文件数据不同,多媒体 数据流一旦开始传输,就必须以稳定的速率传送到用户电脑上,以保证其平滑地 回放,视频、音频数据流都不能有停滞和间蝌1 9 1 。网络拥堵、c p u 争用或i o 瓶颈都可能导致传送的延迟,引起数据流传输阻塞。视频点播系统必须满足播放 时音频、视频数据流平滑、无停顿和抖动,多媒体网络传输起到了关键的作用。 3 多媒体数据库技术 由于多媒体数据量巨大,随着应用的扩展,系统会积累大量的多媒体数据, v o d 的数据库存管理系统【2 必须保证用户能迅速方便地找到所需的资源,有效 地完成对资源的各种管理任务。 因此对数据库的性能有如下要求: i 系统的综合性能:对多媒体数据的管理方式是否灵活、数据库引擎的处理 能力、数据库服务器的i o 通道、网络带宽等。 i i 易用性:客户端浏览器和数据库数据更新部分的使用简便程度【2 1 1 ,还与多 媒体数据库的结构有关。 i i i 可伸缩性:包括数据库服务器硬件的可伸缩性,网络环境变化的适应能力。 i v 可移植性:对实时应用和2 4 * 7 ( 每天2 4 小时,每周7 天) 应用等关键任 务,必须采用双机备份的技术,以提高可靠性。 9 第三章p 2 p 网络视频点播系统的设计 第三章p 2 p 网络视频点播系统的设计 3 1 引言 视频点播目前已成为流媒体服务中一项重要的应用,引起人们不少的研究兴 趣。视频点播连接是在客户端与服务器或客户端与客户端之间的主动连接,用户 可以随时观看自己喜欢的视频资源,可以进行开始、停止、快进、后退、暂停节 目等v c r 操作。传统的视频点播系统中,用户只从服务器上下载自己需要的视 频资源片段,当用户达到一定的数量时,服务器成为系统的瓶颈,一旦服务器故 障,整个系统就会瘫痪口”。而在p 2 p 网络模式下的视频点播技术中,视频资源 是在客户端,即对等节点之间进行上传或下载的,避免了系统瓶颈。由于p 2 p 网络能够为视频点播应用的大规模实现提供底层网络的支持,许多正在出现的 p 2 p 视频点播分发策略都能够提供在p 2 p 网络中最基本的数据传输方式。本文 所介绍的基于r f i p s 片段选择算法的p 2 p 视频点播系统也拥有服务器的部分, 但并不是传统意义的服务器,只是作为一个服务能力更强的超级节点。客户端是 p 2 p 网络中的对等节点,可以是家庭个人电脑,笔记本电脑,智能手机等等。 3 2p 2 p 网络视频点播系统模型 本文系统模型如图3 1 所示 。;吖繁剥 拶扣 拶 圈3 1p 2 p 网络视频点播系统模型 兰州大学硕士学位论文 在本模型中,i s 端和e s 端统称为服务器端,具有指导下载的作用。用户打 开客户端,在点播自己喜欢的视频节目之前,客户端会和服务器端进行连接,用 以取得最新的视频资源列表提供给用户。用户点援了自己喜欢的视频资源之后, 客户端会从p 2 p 网络的其他对等节点中下载所需的视频片段,同时也会把自己所 拥有的别的对等节点所需的视频片段进行上传。服务器端并不是视频资源的主要 提供者,只有在整个网络中活跃的对等节点比较少的时候才会在服务器端进行下 载,当整个网络中活跃的对等节点达到一定的数量,服务器端便拒绝提供视频资 源片段的上传。此时,视频资源片段的上传和下载只在对等节点之间进行,服务 器端只负责对相关信息的管理,并指导下载。其中,i s 端主要负责对用户信息、 视频资源信息的管理等等,e s 端主要负责如何选择最优的服务节点用以提供视 频片段的上传,选用何种片段选择算法可使系统性能更优,何种缓存策略和传输 策略等等,具体功能及实现会在下面进行详细的介绍。 3 3 系统框架结构 本系统主要分为服务器端和客户端两部分,服务器端并不是传统意义上的服 务器,可以理解为p 2 p 网络中的超级节点,主要负责用户状态信息维护,资源列 表更新,热点视频资源维护,片段选择以及指导客户端下载资源。客户端也不是 传统意义上的客户机,是p 2 p 网络中的对等节点,主要负责资源的上传与下载, 媒体缓冲区的维护以及一些信息的搜索与分类。 3 3 1 服务器端功能模块介绍 下面用图3 2 来列出服务器端系统内各层模块的名称( 标识符) 和它们之间 的相互关系。服务器端可以分为i s ( i n d e xs e r v e r ) 端和e s ( e n t r ys e l v e t ) 端两 部分,以下主要介绍这两个服务器组之间的处理模块,并对各个模块的主要功能 进行了详细的介绍。 1 2 第三章p 2 p 网络视频点播系统的设计 p 2 p 网络视频点播服务系统 用 户 状 态 维 护 模 块 资 源 列 表 下 载 更 新 模 块 同 步 视 频 资 源 在 线 用 户 数 过 期 视 频 资 源 的 删 除 模 块 热 点 视 频 资 源 维 护 模 块 视 频 资 源 传 输 模 块 视 频 传 输 缓 冲 管 理 模 块 数据库连接类( p r 0 * c ) 服务器间通信类( s o c k e t ) 通信类型解析类 片 段 选 择 模 块 图3 2 服务器端模块结构图 1 i s 服务器端处理模块 i s 服务器又名索引服务器,在本系统中主要负责对相关信息的管理。i s 服 务器端处理模块主要分为用户状态信息维护模块、资源列表下载更新模块、同步 视频资源在线用户数和过期视频资源的删除模块四部分。 h 用户状态信息维护模块 用户状态信息维护模块的主要功能是对加入p 2 p 网络的用户信息进行登记, 完成i s 服务器端u s e r i n f 表( 表见附录) 的更新以及为请求服务的客户端提供最 新的资源列表。 步骤一:用户上线,并与i s 服务器端进行连接,将客户端的物理地址d e i d 和p 地址发送给i s 服务器端。 步骤二:i s 服务器的s e r v c r s o c k c t 接收到客户端的上线通知,根据用户的信 息进行判断。若是新用户,直接将用户信息插入u s e r l n f 表。否则,更新u s e r l n f 表中该用户的信息。 步骤- - :i s 服务器端发送版本号和资源列表长度信息给客户端。 兰州大学硕士学位论文 步骤四:客户端把本地资源列表版本号和接收到的舨本号进行比较,若相同, 则不必更新本地资源列表,并返回0 给i s 服务器端。若不同,则返回1 给i s 服 务器端,请求最新的资源列表。 步骤五:i s 服务器端接收到1 ,则返回文件数据给客户端。接收到0 ,则不 进行任何操作。其中,版本号和资源列表是以x m l 文件格式的形式存储在服务器 端并返回给用户的。 资源列表下载更新模块 资源列表下载更新模块的主要功能是对数据库中的资源列表( r e s l n f 表, 见附录) 进行更新,并重新记录版本号。i s 服务器端s o c k e t 只要接收到做种信 息,就会触发此模块。具体操作如下: 步骤一:i s 服务器端s o c k e t 接收客户端发来的做种信息请求,包括;文件 名文件类型,文件大小等有关信息。 步骤二:i s 服务器给刚上传的种子做种信息赋予一个全局唯一标识符,即 资源d ( 用年月日时分秒加上生成的随机数表示) ,在r e s l n f 表中新建一条记录, 把相应的做种信息插入到这条记录中。 步骤三:i s 服务器端向e s 服务器端发送新的种子信息。 步骤四:e s 服务器端生成相应种子的节点列表( r e sdp e e r s 表,见附录) 和资源块列表( r e si d p i e c e s 表,见附录) ,并向i s 服务器端发送确认信息。 步骤五:i s 服务器端接收到确认信息后,修改自身x m l 文件中的版本号。 固同步视频资源在线用户数模块 同步视频资源在线用户数模块的主要功能:能够及时更新用户在线情况,保 证服务器端和用户在线情况的一致性,清除数据库中不必要的冗余信息,方便对 用户的管理。我们分两种情况进行设计t 1 、用户正常下线的处理情况: 步骤一:客户端发送下线通知给i s 服务器。 步骤二;i s 服务器根据下线用户的m ,更新数据库u s e r l n f 表中相应用户 的在线情况信息,并把对应用户的i d 发送给e s 服务器端,等待e s 服务器端的 删除确认信息。 步骤三:e s 服务器端删除对应用户节点的数据库信息后,发送删除确认信 1 4 第三章p 2 p 网络视频点播系统的设计 息给i s 服务器端。 2 、用户异常下线的处理情况: 步骤一:i s 服务器端定期( 假定为十五分钟) 向所有在线用户发送广播连 接信号。 步骤二:客户端响应i s 服务器。 步骤三:i s 服务器根据收到的客户端信息,判断出哪些为已下线节点,然 后更新u s e r l n f 表中对应已下线节点的状态信息,并把对应用户的i d 发送给e s 服务器端,等待e s 服务器端的删除确认信息。 步骤四:e s 服务器端删除对应用户节点的数据库信息后,发送删除确认信 息给i s 服务器端。 过期视频资源的删除模块 过期视频资源的删除模块主要的功能是:在视频资源数据库中删除过期的种 子。i s 服务器定期扫描( 例如每天凌晨x 点) 数据库中资源的最近一段时间用 户的观看量,当视频资源满足:( 首映时间当前时间) xw ( 系统设置的权值) + 在线用户量+ 观看次数 视频资源传输模块 视频资源传输模块,又称为网络模块,是e s 服务器端向客户端传输视频资 源的模块,该模块的主要功能是进行媒体数据的上传。当p 2 p 网络中活跃的对等 节点没有达到规定的数量时,客户端才会从e s 服务器端进行视频资源的下载。 具体操作如下: e s 服务器将所要求共享的数据读入内存缓冲区,依次打包向请求数据的节 点发送,具体传输过程如图3 。3 所示。 请求数据的节点 图3 3 视频资源传输过程 视频传输缓冲管理模块 视频传输缓冲管理模块的主要功能是完成视频数据在内存中的管理,进而减 少客户获取数据的等待时间,实现快速获取所需信息的要求。在视频传输缓冲管 理模块中,将整个缓存区分为传输缓存区和预存储缓存区两个部分。当收到视频 数据传输请求时,直接将传输缓存区中数据传输给所需客户,同时,从硬盘读入 1 6 第三章p 2 p 网络视频点播系统的设计 数据放入预存储缓存区中,目的是为后面的传输做准备,减少了数据请求来时的 等待时间。 卿片段选择模块 片段选择模块的主要功能是:接收请求服务节点的d 信息,并依据片段选 择算法,计算出该节点应下载的片段i d 及其下载地址。 为了尽量减少用户的处理过程,片段选择、地址选择都放在e s 服务器端来 操作。本模块的片段选择算法采用的是r f i p s 片选算法,具体算法内容会在下 一章进行详细介绍。 片段选择模块的具体功能如图3 4 所示。 图3 4 片段选择模块具体流程 在p 2 p 网络中分布着各种性能各异的对等节点,当多个p 2 p 节点同时拥有 用户需要的视频资源,该如何选择服务节点是本模块一个功能之一。具体方法如 下: 步骤一:扫描r e si dp e e r s 表和r e s i d p i e c e s 表,得到拥有该块的用户信 息列表; 步骤二:根据加权函数( 1 ) 进行排序,得到加权值最大的前若干个用户。 力口权函数:f ( a ,b ,c ,d ) = k l a + k 2 b + k 3 c - - k 4 d ( 1 ) 其中,a 与用户的口有关,b 与用户级别有关,c 与用户是否为手机有关,d 与用户已承载情况有关,k 。,k :,k ,k 。为相应权值。 步骤三:返回该用户的片断号和下载地址序列。 1 7 兰州大学硕士学位论文 3 数据库连接类 数据库连接类的主要功能是用于实现使用c + + 语言连接本地o r a c l e 数据源, 并采用p r o * c 方式实现。 4 连接通信类 连接通信类的主要功能是解决服务器间的s o c k e t 通信,具体要求如下: 服务器端s o c k e t :在每个服务器上分别创建s e r v e r s o c k e t 套接字,监听通信 请求,接受传送的数据,解析请求的类型,调用相应处理模块。 客户端s o c k e t :在客户端处理模块中,需要传递数据时则调用相应的 c l i e n t s o c k e t 套接字,进行数据的通信。 5 通信信息解析类 通信信息解析类的主要功能是对接收到s o c k e t 传送的数据后通信类型的解 析,以指导服务器主程序调用相应的模块进行处理。 3 3 2 客户端功能模块介绍 p 2 p 网络中的客户端已不再是传统意义上的客户端了,它具有双重身份,既 是视频服务的提供者,又是视频服务的接收者,因此在设计时往往要考虑视频资 源的缓存处理,以保证对已有资源的上传和对需要资源的下载和播放。以下主要 介绍每个模块的处理过程以及处理办法,包括:缓冲管理模块、p 2 p 网络模块和 视频播放模块三个部分。 1 、缓冲管理模块 缓冲管理模块是客户端的存储模块,主要负责组织p 2 p 网络模块传来的数 据,供播放器或者其他节点使用。 设计方法如下: 首先需申请i o m 内存空闻和1 g 硬盘空间,用以满足运行时的硬件需求。 视频数据是以文件的形式存储在硬盘空间的,因此文件的存储形式是本模块设计 的主要目的。 i 文件分片方式 第三章p 2 p 网络视频点播系统的设计 首先介绍一下“块 和“片”的概念。块是存放、共享和报告给服务器的报 告的单位,大小是2 5 6 k 。片是客户机之间的传输的单位,大小是1 6 k 。 i i 文件组织形式 在本地磁盘上,每部电影对应一个文件夹,文件里存放的是多个大小为2 m 的文件,这些文件先在内存中下载完,并重组成原来的顺序存放到磁盘中,并用 数字来标明它们的顺序。 i i i 文件下载顺序 文件下载时,首先按照顺序下载,当下载的缓冲的位置与当前的播放位置超 过一定的时间时,向e s 服务器端报告,获得e s 服务器端返回的片段号和口地 址序列后,与服务节点进行连接并进行下载,当然块里的片的下载顺序不用按原 来的顺序下载。 i v 文件上传方式 接受来自p 2 p 网络模块的数据要求,从磁盘中读取出相应块号的数据,放 到已申请好的内存中,或者直接从内存中读取相应块号的数据,供p 2 p 网络模块 读取。模块具体功能如图3 5 所示。 1 9 兰州大学硕士学位论文 2 、p 2 p 网络模块 图3 5 缓冲管理模块的功能 p 2 p 网络模块主要负责控制信息的交互、媒体数据的上传和下载,在客户端 需要同外界通讯时调用,可以同服务器端或其他节点直接交互数据包。具体实现 过程如图3 6 所示。 图3 6p 2 p 网络模块实现过程 服务器端 第三章p 2 p 网络视频点播系统的设计 节点发送带有相应参数的数据报,服务器反馈含对应参数的数据报用以实现 节点与服务器之间控制信息的交互。 下载流程逻辑图如图3 7 所示。 图3 7p 2 p 网络模块下载流程逻辑图 首先把视频文件逻辑上划分成2 5 6 k 的块,服务器返回的节点应该包含请 求节点请求的2 5 6 k 的数据块的完整数据。在请求节点和其他节点发生数据传输 时,是以1 6 k 为单位对2 5 6 k 再进行划分,传输时以1 6 k 为单位,叫做1 片。 请求节点根据备注中的两个公式对备选节点进行数据和速率的分配。之后连接备 选节点以1 6 k 为单位下载它所分配的片。 公式1 、2 如下: 速率分配公式: = 轰斌 ( 公式1 ) 数据分配公式: q = r 簧 ( 公式2 ) 其中,尺p 为节点可提供的速率,r 工为所有可用节点可提供的总速率,r 为码率,n 为数据包总数。 若请求节点有a 、b 、c 三个备选服务节点( 按节点质量降序排列) ,请求节 2 1 兰州大学硕士学位论文 点要求1 2 0 片数据,根据公式1 ,2 得出a 要传6 0 片,b 要传4 0 片,c 要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年道路反射器项目市场调查研究报告
- 2025年送水阀项目市场调查研究报告
- 2025年辣椒酱菜项目市场调查研究报告
- 2025年电喷塑料件项目市场调查研究报告
- 我国金融发展与技术创新的动态关联及协同发展路径研究
- 思维导图在高中生物学概念教学中对学生科学思维培养的深度剖析与实践探索
- 基于数字化设计构建的未来城市发展模式探讨
- 小学英语课堂师生互动言语行为的多维度解析-以钦州市S小学为例
- 小学教育科研中教育叙事的应用现状与优化路径探究
- 2025年中学教师资格考试《综合素质》心理辅导案例题库模拟试题及答案
- 拖拉机买卖合同协议书(2024版)
- 2024结肠锯齿状病变诊断及治疗进展
- 2024年外墙保温承包合同范本
- 学校课后服务外聘老师合同
- JBT 14745-2024《镁合金压铸熔炉 安全要求》
- 2024年中考地理简答题技巧及答题模板
- 华为项目管理金种子中级培训教材
- 《新疆维吾尔自治区建筑安装工程费用定额》
- 小升初卷(试题)-2023-2024学年六年级下册数学人教版
- 中国现代文学思潮智慧树知到期末考试答案章节答案2024年杭州师范大学
- 毕业论文《1kta土霉素车间酸化、提炼、干燥工段设计》
评论
0/150
提交评论