(计算机系统结构专业论文)低带宽消耗p2p流媒体直播系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)低带宽消耗p2p流媒体直播系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)低带宽消耗p2p流媒体直播系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)低带宽消耗p2p流媒体直播系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)低带宽消耗p2p流媒体直播系统的研究与实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机系统结构专业论文)低带宽消耗p2p流媒体直播系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“0 s l i j o ,j 独创性声明 舢舢舢 y 1 8 0 2 8 乏苓。 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:日期:年月日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:畦 日期:年月日 j - 摘要 摘要 随着计算机及网络技术的不断发展,流媒体凭借边下载边播放等优点而得到 越来越充分的应用。p 2 p 技术应用于流媒体经过近几年来的研究已不断地走向成 熟,其中p 2 p 流媒体直播系统在可扩展、鲁棒性和稳定性等方面已取得了很好的 成绩。但与此同时包括p 2 p 流媒体直播在内的各种p 2 p 应用系统大量吞噬着宝贵 的主干网络带宽资源,使网络出现严重的拥塞,另外还存在启动较慢等一些有待 改善的地方。 为此,本文提出了一种以低主干网带宽消耗为主要特点的p 2 p 流媒体直播系 统( l o wb a i l d w i d m o c 唧i e dl i v es y s t e m ,l l i v e ) ,系统包括服务器、数据源、超节 点和普通用户节点四个组成部分。在l l i v e 系统的设计中,首先引入了一种分级 动态标识体系来使系统中节点的物理拓扑与逻辑拓扑相匹配,并且把节点的伙伴 关系明确划分为邻近伙伴与远程伙伴,从而在达到拓扑匹配的同时节点又可与局 部网络外的节点保持联系。然后在数据调度中引入了通报退避机制,进一步减少 网间数据传输,大量节省主干网络带宽资源。数据调度中还设计了数据预约机制, 以推拉相结合的数据调度模式来加速数据传播速度。其次l “v e 系统的设计同时 支持有固定超节点参与的增强模式和没有固定超节点参与的最小模式,组织结构 非常灵活。最后在l “v e 系统的数据源、超节点和用户节点的程序实现中进行了 统一的规划设计,在屏蔽了一些各自不会使用到的功能模块后就成为不同类型的 节点,因此设计风格也是非常的统一,并减少了总体代码量。 l l i v e 分别在局域网和仿真环境中进行了相应的实验。在局域网实验中验证了 各部分程序的正确性和可用性:l l i v e 能够流畅地播放流媒体节目,播放时延与启 动时延较小,能有效应对丢包问题,节点随机失效对节目播放的影响不明显。通 过在仿真环境中的实验,l l i v e 系统在使用了标识节点体系后能够快速地实现节点 的聚集,达到了拓扑匹配的目的,并能很好地适应节点动态退出对标识系统的影 响。在数据调度中加入通报退避机制后能够减少9 0 以上对主干网带宽资源的占 用,达到了较为理想的结果。 关键词:p 2 p ,流媒体,带宽,拓扑匹配,数据调度 a b s t r a c l a b s t r a c t w 妯t 1 1 ed e v e l o p m to ft 1 1 ec o m p u t e ra i l dn e t 、7 l ,o r kt e c : l i l 0 1 0 西e s ,s 骶a m i n gm e d i a h a sb e e l l 凡l l ya p p l i e ds i n c ei t sa d v a l l t a g eo np l a y i n g 恤1 ed o w i l l o a d i n g h 1r e c e l l t y e a r s ,p 2 pt e 咖1 0 l og ) ri ns 仃e 锄i n gm e d i ah a sb e e i lg 鲥n gm a t u r e ,a n dp 2 pl i v e s t r e a m i n gs y s t e mh a dm a d et r e m 豇l d o u sa 凼e v 锄e n t si ns c a la _ b i l i t y ,r o b u s t n e s s ,a 1 1 d s t a b i l i t yb u tm e a l l w l l i l ep l e n t yo fp 2 pa p p l i c a t i o n si n c l u d i n gp 2 pl i v es 仃e 锄i n ga r e c o n s u m i n gm u c _ hp r e c i o u sb a n d w i d mo fb o n en e t w o r k ,a n d1 e a d st ot 1 1 es e v e r en e t w o r k c o n g e s t i o na 芏1 ds o m ew e a k n e s s e sl i k es l o ws t a r t - u p a 1 1t h e s en e e dt ob ei n l p r o v e d n l e r e f o r e , i l l觚st l l e s i sw e p r e s e n t s ap 2 p1 i v e s 缸锄i n gs y s t e m , l o w b a l l d w i d m o c c u p i e dl i v es y s t e m ,l l i v e t h em a i l lc h a r a c t e ro ft 1 1 i ss y s t e mi sr e f l e c t e d o n1 0 wb a n d w i d t hc o n s u n 叩t i o ni nb a c k b o n e ,a n di t sc o m p o s e do fs e r v e r ,d a t as o u r c e s , s u p e rn o d e sa n du s e rn o d e s i nt h ed e s i g no fm el l i v es y s t e m ,w ef i r s tp r o p o s eac o o r d i n a t em a r k e ds y s t e m w i ml l i e r a u r c h ya n dd ) ,i l a m i co r g ;m i z a t i o n ,t oa c h i e v eam a t c h i n gr e l a t i o n s h i pb e 研e e n p h y s i c a la n dl o 百c a lt o p o l o g y w ed i v i d em ep a r t n e r s h i po fn o d e si n t on e i g h b o rp a r t n e r s a 1 1 d 确:i l o t ep a m e r s ,s ow ec o u l dh o l dc o 肌e c t i o nw i t ho u t e r n e m o r kn o d e sb e s i d e s a c h i e v i n gt o p 0 1 0 9 ym a t c m n g t h e nw ei n 仃o d u c e dt h en o t i 丘c a t i o n b a c k o 行m e c h 锄i s m i nd a t a s c h e d u l i n g ,f h r t h e rr e d u c ed a t a 仃a n s m i s s i o nb e t w e e nn e t w o r l ( sa n d s a v e b a n d w i d t l lo f b a c k b o n en e 铆o r k a p a r t 台o mt h i s ,w ed e s i 弘d a t ar e s u m i n gm e c h a n i s m t oa c c e l e r a t et l l es p e e do fd a t ad i s s e m i n a t i o nb y p u s h i n ga n dp u l l i n gd a t a a n dm e i l ,m e o r g a l l i z a t i o n a ls 仃1 l c n l r eo fm el l i v es y s t e mi sv e 巧f l e x i b l eb e c a u s ei tc o u l ds u p p o r t 铆om o d e s ,t h ee i l l l a i l c e dm o d ew l l i c hi n v 0 1 v e 丘x e ds u p 昏n o d ea i l dt h em i n i m 呦 m o d e lw h i c hh a sn of i x e ds u p e r - n o d e i nt h ee n dw ec a r 巧o u tau n i f i e dd e s i g ni n i m p l e m e n t a t i o no fd a t as o u r c e ,吼l p p e rn o d e s ,a n du s e rn o d e s ,a n dd i f f h e n tt y p e so f n o d e sa r eg e l l e r a t e da r e fs h i e l d i n gs p e c i 6 c m c t i o n a lm o d u l e s ,s ot h ed e s i 印i su n 谪e d 姐dr e d u c ec o d i n ga m o u n t w 色m a k ee x p 舐m e n t so fl l i v ei nb o mb 埘a n ds i m u l a t i o ne 1 1 啊r o n m e n t i i lt l l e e x p 耐m e l l to fl a n ,w ev 积匆t l l ea c c u r a c ya i l da v a i l a b i l i t ) ,o fs e r v d a t as o u r c e ,s u p e r n o d e s 觚du s e rn o d e s :l l i v ec 0 u l dp l a ys m o o t b l ys 仃e 锄i n gm e d i ap r o 莎锄s 距dh a sa i i a b s t r a c t s h o r t e rd e l a ya i l ds t a r t u p1 a t e n c y ;i tc o u l da l s oe 毹c t i v e l yd e a lw i mt h ep r o b l 锄o f p a c k e tl o s s ,w h n em ef a i l u r eo fr a n d o mn o d e sh a v e n os i 印i f i c a l l te 虢c t0 nm e b r o a d c a s t t h r o u 曲t 1 1 ee x p e r i m e l l ti nt h es i m u l a t i o ne i l v i r o n m e n t ,l “v es y s t e mc o u l d q u i c l 【1 ya c m e v et h ea g 黟e g a t i o no fn o d e sf o rm ep u 印o s eo ft o p o l o g ym a t c h i n g ,a i l di t c o u l dw e l la d a p tt om ei m p a c tc a u s e db ym ed y n a m i c a l l y1 e a v i n go fn o d e si nm e m a 血e ds y s t e m a r e ra d o p t i n gt h en o t i f i c a t i o n b a c k - o f fm e c h a l l i s mi i ld a t as c h e d u l e ,i t c o u l dr a d u c em o r e l a l l9 0 o ft h eb a n 撕d t l lo c c u p a l l c yi nb o n e - n e m o r ka 1 1 da 出e v e am o r es a t i s f a c t o r vr e s u l t k e y w o r d s :p 2 p ,s 骶锄m gm e d i a ,b a l l d w i d m ,t o p 0 1 0 9 ) rm a t c h j n 舀d a t as c h e d u l e i i i 膏 一 目录 目录 第一章引言1 1 1 流媒体1 1 2p 2 p 网络2 1 3p 2 p 流媒体直播还存在的问题及本文主要研究内容4 1 4 论文结构安排5 第二章相关工作7 2 1 树状拓扑的p 2 p 直播系统7 2 1 1 单树结构8 2 1 2 多树结构1 1 2 2 网状拓扑的p 2 p 直播系统1 2 2 2 1c o o l s t r e a m i n g d o n e t 直播系统1 3 2 2 2p p l i v e 直播系统1 5 2 3 混合拓扑的p 2 p 直播系统1 5 2 3 1m t r e e b o n e 直播系统1 6 2 4 本章小结1 7 第三章l l i v e 系统总体设计1 8 3 1 系统架构设计1 8 3 1 1 设计思路1 8 3 1 2 系统总体架构1 9 3 2 各部分功能及软件架构2 0 3 2 1 服务器2 0 3 2 2 数据源2 0 3 2 3 普通节点2 l 3 3 4 超节点2 2 i v 目录 3 3 系统特点2 2 3 4 本章小结2 4 第四章关键技术的研究与相关设计2 5 4 1 拓扑结构2 5 4 1 1 拓扑失配问题及相关研究2 5 4 1 2 邻近伙伴与远程伙伴划分2 7 4 1 3 动态多级标识法及其建立2 9 4 1 4 标识体系的维护3 2 4 1 5 逻辑分层管理3 4 4 1 6 成员信息获得与传播3 5 4 1 7 伙伴的选择、评价与淘汰3 5 4 1 8 节点加入的总过程3 6 4 2 数据调度3 7 4 2 1 主干网带宽浪费原因及分析3 7 4 2 2 通报退避机制3 8 4 2 3 推拉结合4 0 4 2 4 数据调度总过程4 3 4 2 5 数据请求超时与重传4 5 4 2 6 初始数据请求及播放点选择4 5 4 3 流媒体数据获取与播放4 6 4 3 1d i r e c t s h o w 结构4 6 4 3 2 数据获取与播放模块4 7 4 4 本章小结4 8 第五章l l i v e 系统的实现4 9 5 1 服务器的实现4 9 5 1 1 服务器详细的功能分析4 9 5 1 2 服务器用例4 9 5 1 3 服务器中使用的类及其关系5 0 5 2 数据源、超节点及普通节点的综合实现5 2 v 目录 5 2 1 主要类及相互关系5 2 5 2 2 缓存管理5 4 5 2 3 数据调度管理5 5 5 2 4 成员伙伴信息管理5 8 5 2 5 成员伙伴管理5 8 5 2 6 标识信息管理5 9 5 2 7 标识管理6 0 5 2 8 流媒体数据部分6 0 5 3 数据源、超节点、普通节点功能划分6 2 5 3 1 数据源功能划分6 2 5 3 2 超节点功能划分6 3 5 3 3 普通节点功能划分6 3 5 4 本章小结6 3 第六章测试与结果分析6 4 6 1 测试局域网环境与仿真环境6 4 6 2 局域网实验结果与仿真实验结果6 5 6 2 1 局域网环境实验结果及分析6 5 6 2 2 仿真环境实验结果及分析6 6 6 3 本章小结6 9 第七章总结与展望7 0 致谢7 1 参考文献7 2 攻硕期间取得的研究成果7 6 v l 一 第一章引言 第一章引言 计算机及网络技术的迅猛发展不断改变着人们的生活与工作,随着宽带上网 的普及,音视频等多媒体数据在因特网上传播的数据量呈现爆炸性的增长。以文 件下载为基础的多媒体传输方式,人们在观看节目前必须要先下载整个文件,这 可能要花几十分钟甚至几个小时或更长的时间。流媒体技术的发展,使这种等待 不再是必须的了,有了流媒体技术,人们可以一边下载节目,一边观看节目,观 看前只需要十几秒甚至几秒的缓存时间。 1 1 流媒体 流媒体( s t r e a m i n gm e d i a ) 【1 】是一种流式传输方式,有别于下载方式那样等待 整个文件全部下载完毕,它将多媒体文件经过压缩分成一个个压缩包,经过连续、 实时传送,只需经过数秒的启动延时即可在用户机上缓存一段数据,解压缩后就 可以进行播放和观看。而多媒体文件的剩余部分将在播放的同时继续下载。 流式传输方式分为点播和直播两种: 流媒体点播( 0 n d e m a n ds t r e 锄i n g ) 是针对某个多媒体数据源中存放的多媒 体文件进行的,这种文件通常是在点播前就已经完整存在的,文件的大小是固定 的,并且任何时候都可以读取文件的任何位置。当用户选择了这个文件后,用户 计算机与数据源建立连接并启动一条新的流或加入一条相近的流,经过一定启动 缓存时间( s t a t u pd e l a y ) 后就可以看到相应的节目。用户可以中途跳转至文件 的任何位置进行观看,但每次跳转后都要等待一定的启动缓存时间。因此流媒体 点播的整个过程与下载后的本地文件播放相似,不同的只是数据来自网络,要等 待缓存时间而已。 流媒体直播( l i v es t r e 锄i n g ) 类似于传统的电视或电台广播,但它的数据 来自网络,直播的数据大多并不是已经存在的文件,而是现场产生的,数据流的 长短事先无法知道,通常是无始无终的,因此流媒体直播且有不可代替性。当用 户选择某个直播节目后,便从数据源获取最新流数据,经过一个播放时延 ( p l a y o u td e l a y ) 后就可以建立一定的缓存数据并开始观看节目,通常不支持 随意的跳转,所有的用户观看同一时间段的节目内容。与点播相似,直播对播放 电子科技大学硕士学位论文 的连续性也有严格的要求,并且直播所能缓存的数据不会随时间而增长,因为最 多只有数据产生时间到播放时间之间的数据可以被缓存,所以对网络的时延和拥 塞更加的敏感。从用户数量来看,直播往往比点播用户多,尤其当有重大事件发 生时,直播的参与用户可能达到数万或更多。 流媒体直播的特点之一就是数据量很大,占用网络带宽很大,且持续时间很 长。传统的流媒体分发方法是采用客户机一服务器模式( c s ) :一个服务器对应 若干个客户机,每个客户机都与服务器保持一条独立的单播流。当客户机较少时, 这种模式不会有什么问题,但当客户机数量很大时,服务器将不堪重负,系统的 可扩展性差。试想有2 0 0 0 0 0 个用户参与直播节目,服务器与每个用户保持一条 5 0 k b s 的单播流,服务器要求有1 0 0 0 0 m s 的处理能力以及网络带宽,拥有这样大 的处理能力及网络带宽能力的服务器是不现实的。通过服务器集群【2 ,3 】的方法可以 在一定程度上解决这个问题,但付出的成本却是非常高的,且也不能最终解决可 扩展性问题。部署c d n 【4 ,5 】节点把数据直接推送到网络边缘,把客户对服务器的数 据请求转移到各个c d n 节点上去,从而减轻服务器的压力,同时也减少对主干网 带宽的使用。但这种方法却也相当于服务器集群的一种变种,成本同样不低,且 c d n 节点也可能成为新的瓶颈。i p 组播技术【6 】利用路由器复制数据,实现了一对多 的通信,可以大量减少服务器和网络的压力,但需要改变现有路由器,同时由于 可靠性、拥塞控制等种种限制而难以投入实际的应用。 对等网络( p e e r t o p e e rn e t w o r k ) 【7 】的研究使大规模流媒体直播成为可能。 这种方式下,充分利用了客户的资源,参与的客户越多,系统中可利用的资源也 越多,从跟本上解决了服务器压力问题。接下来介绍这种分发方式。 1 2p 2 p 网络 对等网络( p 2 p 网络) 是建立在现物理网络上的一层逻辑上的自治网络,由参 与这个系统的所有节点( p e e r ) 共同组成,所有这些参与的节点没有严格意义的服 务器与客户机之分,它们都一方面扮演着客户机的角色从系统中下载数据,另一 方面又扮演着服务器的角色为其它节点上传数据。节点之间通过物理网络建立逻 辑连接,所有这些逻辑连接和节点有机地组合在一起共同形成了p 2 p 覆盖网络 ( o v d a y n e 帆o r k ) 。 因此,p 2 p 模式与c s 模式就存在着很大的不同,c s 模式中,只有一个或少 数几个服务器作为上传服务提供者,上传服务能力非常有限。而p 2 p 模式中,每 2 第一章引言 个节点都提供上传服务,理论上上传服务能力是无限制的,参与的节点数量越大, 相应的上传服务能力也越大。这种特点与流媒体传输的特点非常匹配,能够很好 的解决用c s 模式进行流媒体传输时服务器上传能力不足的问题。特别适合大规 模流媒体直播节目的传输。 p 2 p 模式强调节点间的“对等性”,即每个参与节点都以相同身份参与,强调 参与的节点直接交互信息实现信息及资源的同享,这种组织构架具有如下的许多 优点: 1 去中心化( d e c e n 觚1 i z a t i o n ) :系统中的上传资源及数据资源分散在各个节 点上,节点与节点之间通过直接的交互就能相互之间共享各自所需的数 据。避免单个服务器的上传带宽能力问题,也不会因部分网络的拥塞或崩 溃而对系统造成重大的影响。 2 易扩展性( s c a l a b i l i t 、,) :由于参与的节点都兼有服务器的功能,都在为系 统提供自己的上传服务能力,随着用户的不断增多,系统中的上传能力等 资源也不断得到提升,总是能很好的满足用户的带宽资源需求。因而整个 系统的服务能力会随需求的增长而不断增长,这种可扩展性可以说是与生 俱来的,能够很好的解决传统客户服务器模式中的“热点效应 问题。 3 健壮性( r o b u s t n e s s ) :p 2 p 网络通常是以自组织方式建立起来的,是在参 与节点的加入或退出过程中自动形成的。几乎它的所有资源都分散在各个 节点上,不会因为部分网络问题或者部分节点的失效而对整个系统造成重 大的影响,并且当网络环境发生变化后,系统也能作及时的调整,使整个 系统达到比较理想的状态。 4 低成本( l o wc o s t ) :整个i n t e m e t 上,每个用户都拥有上传和计算能力, 用户才是最大的资源拥有者,p 2 p 网络正是利用了这个特点,它合理地使 用用户的资源,而不是一味地强调加强服务器的能力。在整个系统布局中, 服务器只占很小的一部分成本,大量的资源都由各个分散用户提供,所以 这种模式构建的网络与c s 模式相比成本是非常低廉的。 虽然p 2 p 网络与流媒体直播之间有着天然的结合性,但要将p 2 p 网络结构真 正应用在流媒体直播上去,需要解决以下两个方面的主要问题: 1 系统拓扑结构:按一定的方式将参与系统的节点组织起来,使之形成一个 有机的整体,达到使数据能够快速准确传播的目的。目前用于流媒体直播 的p 2 p 拓扑结构分为有结构和无结构的p 2 p 网络以及混合式p 2 p 网络,有 结构的又分为基于单组播树的网络拓扑,如:n i c e 【8 ,9 1 、z i g z a g 【1 0 1 、 电子科技大学硕士学位论文 础l y s e e 【1 1 】等和基于多组播树的网络拓扑,如:s p l i t s 仃e a m 【12 1 。无结构的p 2 p 网络是以网状形式进行组织的,如c o o l s 仃e a m i n g d o n “”】、p p l i v e 【1 4 ”j 。 混合式p 2 p 网络则结合了两者的优点于一体,如m t r e e b o n e 【l6 j 等。 2 与拓扑相适应的数据调度算法:有什么样的拓扑结构就需要与之相匹配的 数据调度算法,只有两者的有机结合才能使p 2 p 流媒体直播系统很好的工 作起来。单组播树对应的数据调度算法比较简单,通常是按树形从根节点 向叶子节点进行调度,但考虑节点的退出和失效又提出了父节点侯选机制 【1 7 】署口补丁流机制【1 8 ,1 9 】等。多组播树对应的数据调度算法中,通常是将多媒 体数据进行分层编码【2 0 抛】,每一层对应一颗组播树,节点根据需要动态选 择所要参与的组播树并接收所需要的数据流,单个数据流的失效不会造成 太大的影响。纯网状拓扑往往是采用g o s s i p 协议【2 3 2 4 】进行数据调度的,这 种协议且有很好的健壮性和易于扩展性。混合式p 2 p 网络在进行数据调度 时则通常综合了前两种调度的方式的特点。 以往的p 2 p 流媒体直播系统的研究在系统的健壮性、稳定性等方面都做得比 较成功,能够较好的满足播放的要求。但同时也带来一些严重的问题,比如主干 网络带宽消耗过多。接下来着重介绍p 2 p 流媒体直播系统中还存在的一些没有很 好解决的问题。 1 3p 2 p 流媒体直播还存在的问题及本文主要研究内容 p 2 p 技术应用于流媒体直播方面的研究【2 5 之9 】经过前几年的发展,在覆盖性、可 靠性、可扩展性、稳定性、负载均衡性、n a = r 及防火墙穿越等方面达到了一定程 度。但仍然不够理想,在如下方面存在着一些技术问题: 1 拓扑失配:拓扑结构是p 2 p 节点组织首先要解决的问题,而每一个拓扑结 构都是围绕一种特定的目的而设计的,是在节点的加入和退出过程中根据 一定的规则而形成的。在单纯以实现p 2 p 流媒体直播功能的系统中,逻辑 拓扑与物理拓扑匹配并不是主要考虑的问题,这样就造成了拓扑失配问 题,造成的结果是逻辑拓扑与物理拓扑相去甚远。 2 数据调度欠优化:由于拓扑失配,根据节点之间的物理特性进行合理的数 据调度就不可能做到,造成大量的数据在主干网上反复传输,造成浪费并 对主干网形成巨大压力。 3 启动时延及播放时延较大:从用户选择某个节目后往往要经过较长的时间 4 第一章引言 才能有画面出现,用户体验不够好。而系统播放的节目相比墙上时间来说, 往往有几十秒至几分钟的延迟,这种延迟在技术上虽然是必须要付出的, 但过大的延迟会让用户很不满意,尽量减少这种延迟是很有必要的。 4 对系统节点异构性支持不够:p 2 p 网络中的节点总是千差万别的,能力强 弱不等。从目前普遍的网络来看,用户的下载能力大都能满足要求,但由 于某些i s p 对上传能力进行了控制,用户的上传能力相差较大,把上传服 务能力差的节点放在重要位置是不合适的。 针对上述这些问题,本文结合实际展开了相应的研究,主要完成了以下几个 方面的工作: 1 深入研究g n p 、v a l d i 、l a n d m a r k 、i d m a p s 等技术。提出了以类似d o n e t 的网状为基础,逻辑上分层,节点按物理特性聚集的一种网络拓扑结构。 设计了多级分层标识体系来进行节点聚集,以完成拓扑匹配工作。 2 针对所提出的拓扑结构,在研究g o s s i p 算法的基础上,提出了通报退避 机制来进行数据调度。并在保持足够冗余信息的条件下,尽量减少不必要 的信息传输。合理地减少网络数据流量,通过实验证明这种方法大量减少 了主干网络的流量。 3 设计了快速伙伴选择机制、启动补偿流机制和推拉相结合的机制,解决了 启动时延过大的问题。并以此为基础选择合适的起始播放点,并根据网络 条件自动动态调整播放位置,最大可能减少播放时延。 4 在分层的基础上,设计了合理的节点评价机制,动态地让节点在拓扑聚集 的条件下调整所在层次,让上传能力强的结点更靠近数据源。以此来支持 节点的异构性。 5 结合以上的研究,设计并实现了一套完整的p 2 p 流媒体直播系统。实现了 音视频节目的流畅直播。并设计了仿真实验环境,实验环境中实现了按 i p 地址进行数据转发、内外网地址转换、因网络位置不同而不同的网络 传输时延等关键网络特性,然后对本系统所设计的各种协议进行了详细的 性能分析。 1 4 论文结构安排 本论文分为七章,各章的安排如下: 第一章:引言( 本章) 中首先介绍了流媒体及其特点,指出了p 2 p 网络克服 5 电子科技大学硕士学位论文 了c s 模式的瓶颈问题,非常适合流媒体的传输,特别是流媒体直播。接下来说 明目前的p 2 p 流媒体直播还存在的一些问题,最后指出本论文的研究内容和所做 了的工作。 第二章:介绍对p 2 p 流媒体直播相关理论进行分类研究的结果,这结果一方 面作为本流媒体直播系统设计的重要参考和借鉴,另一方面也可作为现有的p 2 p 流媒体直播系统的一个概要。 第三章:这章是本论文的重点之一,设计系统的总体架构并对各个组成部分 进行详细分析,然后设计系统各个组成部分的软件架构,最后说明系统的特点。 第四章:重点之二,对拓扑结构、数据调度和流媒体技术进行深入的研究及 设计,引入动态多级标识系统来实现拓扑匹配,在拓扑匹配的基础之上,采用通 报退避机制来减少对主干带宽的占用,采用数据预约来实现推拉相结合以减少数 据传输时延,采用d i r e c t s h o w 来实现流媒体数据的提取与播放。 第五章:重点之三,系统设计实现,包括服务器、数据源、超节点和普通节 点的实现。 第六章:对所设计的系统分别在局域网络和仿真系统上进行测试分析。 第七章:总结与展望。 6 第二章相关工作 第二章相关工作 2 0 0 0 年后对于p 2 p 技术在流媒体直播方面的研究成为热点,国内外各研究机 构纷纷投入大量精力于此技术的理论研究,并提出了一些系统模型和一些相关的 商用产品。这些理论技术按拓扑结构可以分为以下三类: 树状拓扑:这类系统通常把节点按照树形进行组织,数据源作为系统的根节 点,数据从根节点向下进行传播至每一个节点。 网状( 随机) 拓扑:这类系统通常把节点以网状的形式进行组织,节点之间 相互成为平等的伙伴关系,按数据驱动的方式把事先分片的数据传播至整个网络。 混合拓扑:这类系统的结构非常灵活,集成以上两种结构的优点,现在多数 直播系统采用这种方式。 以下分别介绍这基于几种拓扑结构直播系统的特点并分析一些现有模型。 2 1 树状拓扑的p 2 p 直播系统 基于树状的p 2 p 直播系统如图2 1 所示,整个系统以数据源为根( r o o t ) 被组 织成一颗树。系统中的每个节点与其它节点都保持着较稳定而明确的关系:除根 以外的节点都有一个唯一的父节点和若干个子节点。每个新加入的节点都寻找一 个有数据提供能力的节点并尝试成为子节点。 图2 1 树形拓扑结构 7 电子科技大学硕士学位论文 在树状结构中,数据通常是以推模式( p u s h - b a s e d ) 【3 0 】进行传输的:数据源把 它的数据直接发送给它的所有子节点。同样,予节点在收到父节点的数据后又原 样转发给它的所有子节点( 叶子除外) ,直到所有的节点都得到一份数据的副本。 因此只要节点保持不变,所有的数据都按固定的路径传输。这种方式数据选路最 为简单,数据传输在理论上也是最快的。推模式虽然简单快捷,但要求父节点向 每一个子节点提供完整的数据,对于不能满足这个要求的剩余上传能力是不能被 直接使用的,因此上传能力得不到充分地利用,同样也很难适应网络带宽的动态 变化。 节点的上传能力决定节点所能接收的子节点的个数( 节点的出度) ,因此也决 定着树的深度。通常节点的上传能力越大,节点所能达到的出度也越大,树的深 度就可以做得更小,而树的深度越小则数据传播得也就更快。因此节点的上传能 力对树状结构系统的影响很大,而现实世界中的用户的计算机的上传能力差别很 大,因此如何组织和利用好这些差异很大的节点对树状拓扑结构的系统是非常关 键的。通常是将上传能力和处理能力强的节点安排在树的上层,并保持树的深度 较小。 节点关系的固定性是树状拓扑结构的一个重要特点,但在p 2 p 系统中是难以 保持的,p 2 p 系统中节点加入与退出是很平常且随意的,因此节点失效是树状系统 面临的主要问题之一。因为当节点的突然失效( 叶子节点除外) 后,数据传输路 径将被切断,失效节点的所有子孙节点都将成为数据孤岛而得不到数据。越是接 近数据源的节点失效,对系统造成的影响也越大。因此系统必须采取措施及时维 持其结构。 采用单颗树,系统中将会有大量的叶子节点存在,这些节点不会上传数据, 会有大量的上传资源被浪费,因此有些系统采用多颗树的拓扑结构。可以较充分 的利用整个系统的资源,并且还会有一些其它的好处如:系统更稳定,可以采用 分层编码等技术。 接下来分别详细介绍这两种树状拓扑结构。 2 1 1 单树结构 图2 1 中所示的树状就是一种单组播树的拓扑结构,这种结构是树状最常用的 一种拓扑组织方式。如前所述,它对节点动态性很敏感,节点的上传压力也很大, 但它的数据传输方式简单而且方便快捷。 第二章相关工作 采用这种拓扑的系统较有影响力的有n i c e 、z i g z a g 等。 1 n i c e :( n i c em eh t e n l e tc o o p e r a t i v ee n v i r o 衄e n t ) 2 0 0 2 年马里兰大学研究提出了n i c e ,n i c e 协议是一种应用层多播协议,它 可以支持较多用户同时获取相同的数据。 n i c e 采用一种分层的树状拓扑结构,如图2 2 所示,所有的节点都属于第o 层,同时每个节点都参与一个第o 层的群( d u s t e r ) ,群的大小在1 k 到3 k 之间( k 是设定的一个常数) ,每个群有一个群主( 1 e a d e r ) 。这些群主节点又组成了第1 层, 同样由l k 到3 k 的第o 层群主节点又组成新的群,每个群又会选出1 个群主,这 些第1 层的群主又会组成第2 层,如果数据足够的话,它们又会再次组成更上层 的群,以此类推,直到最上层只有一个节点为止,就形成了n i c e 树。 在n i c e 中,群主节点的选择非常关键,它是由节点间的距离来衡量决定的, n i c e 树组织好后,一个新节点加入后,可以只进行很少几次与其它节点的距离探 测就能确定自己应该加入的位置。 磊纛m m m ,。 l 归2 厂匝_ _ 一,罗等警盅絮乏 k j j l a y e r2,f,:_ 互。:、 t o p o l o 画c a lc l u s t e r s 。厶一 l a y e r1n o mj a y e rz 。,! 一 一 l a y e r1 匿章薯雾麓瑟麓警篓尊睡攀冀鍪要翼鬟篓蚕i 孽一l 嚣等苫惫烹 雾: ,二二 二二二二工二二二二二主 。 蛳蓬蚕罐氍蠢辩感船嚣焉。 图2 - 2n i c e 的节点组织图 在n i c e 中控制信息和数据也是以树状路径进行传输的,它为控制信息和数据 构建专门的以源为根的树形传输路径。图2 3 显示了n i c e 的控制、数据传播树。 图2 3n i c e 两层控制、数据传播路径 图2 3 中o 示意了一个两层结构,所有节点都属于第o 层,一共有四个群 ( c 1 u s t e r ) ,群主分别为b o 、b 1 、b 2 和c 0 ,它们又组成一个群,c o 是它们的群主。 图2 3 中1 、2 分别描述了当a o 和a 7 为源时控制信息及数据传播路径树。 9 电子科技大学硕士学位论文 2 z 1 9 z a g : z i g z a g 是2 0 0 2 年由佛罗里达中央大学提出的一种单播树结构的系统。与n i c e 相似,z i g z a g 也是将用户节点按分层方式进行组织,每一层的节点也聚集成群 ( c l u s t e r ) ,不同的是群内节点被分为群头( h e a d ) 、副头( a s s o c i a t eh e a d ) 和普通 节点,除了最顶层,每个群都有头节点和副头节点,最顶层的头节点和副头节点 是同一个。除最下一层外,每一层中的节点都是对应下一层中的某个群的头节点。 头节点负责监控群内的节点,而副头则负责向其它节点转发数据。当头节点失效 后,并不会影响数据的转发,而当副头节点失效后,头节点可以很快地选择其它 节点作为副头来替换失效的副头。图2 4 描述了z i g z a g 于2 0 0 4 年提出的一种节点 的分层管理组织。 建立在上述的组织结构之上的z i g z a g 的数据多播树如图2 5 所示,它与n i c e 非常不同,数据是从最顶层开始向下传播的,数据源服务器将数据传给最项层的 这个群内的节点和某些下层的群的副头节点,副头节点负责把数据传给本群内的 其它节点,除底层外的所有节点在收到数据后又转发给下一层的一个或几个群的 副头节点。一直重复这个过程,直到整个树中的所有节点都收到了数据的副本。 l h 1 l h - 2 l h 3 l o l 2 l l l o 2 图2 4 z i g z a g 的节点组织 oo n l e r ss :s e r v e r a s s o c i a t e j l e a d h e a d oo t l l e r s s :s e r v e ra s s o c i a te _ - h e a dh e a d 图2 5z i g z a g 的多播树 l o 第二章相关工作 z i g z a g 多播树的另一种方案称为d i r e c tz i g z a g ,是在2 0 0 2 年提出的。这种与 上面介绍的不同的是系统中没有副头节点,每一层中的节点在获得数据后直接传 给下一层中的非头节点。 此外,还存在一些其它的以单播树为基础的直播系统如:s p r e a d i t 【”】、e n d s y s t e mm u l t i c a s t ( e s m ) 【3 2 】等,华中科技大学提出的a n y s e e 早期的一个版本也是基 于单组播树的。 2 1 2 多树结构 在多树结构中,系统中同时存在两颗以上的树状结构,系统中的节点有选择 性的参与其中的几颗组播树,通常每个组播树传输的数据内容是不一样的,节点 根据自己的接收能力,从不同的树上获取不同量的数据。由于系统中每个节

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论