第21卷第3期 四川理工学院学报(自然科学版) Vo1.21 No.3 JOURNAL OF SICHUAN UNIVERSITY OF 2008年6月 SCIENCE&ENGINEERING(NATURAL SCIENCE EDITION) Jun.2008 文章编号:1673—1549(2008)03—0060-03 基于P2P覆盖树网络的流媒体传输技术 王永乐,徐书欣 (许昌职业技术学院信息工程系,河南许昌461000) 摘要:文章利用P2P技术,通过在应用层设计一个基于P2P的覆盖树网络来进行流媒体数据的分发。首先 描述了覆盖树中节点的加入、退出和正常运行时节点状态的维护等构造过程,最后通过分析说明该覆盖树网络是 适合进行流媒体数据分发的。 关键词:P2P;流媒体;覆盖树 中图分类号:061 1.4:0626.29 文献标识码:A 引言 伙伴【”。 随着网络带宽的不断增加,网络上的流媒体越来越 国外对P2P研究起步较早,并且提出了一些P2P 受到用户的青睐。但在传统的基于C/S模式的流媒体服 网络模型,如Napster,Gnutella,CAN,CHORD,Pastry, 务系统中,服务器有时要为多个客户端同时提供相同的 Tapestyr等。在这些网络模型的基础上,开发了如文件共 媒体流,造成服务器和网络宽带的极大浪费。而P2P网 享、分布式数据存储、数据管理、数据集成等等应用系 络可以通过数据在对等节点间的相互传送解决这个问 统。Sun公司以Java技术为背景,开展了JXTA项目: 题。 Microsoft公司成立了Pastyr项目组,主要负责P2P计算 引入P2P后,可以使服务器端的资源得到有效的利 技术的研究和开发工作t2J。 用,可以充分利用客户端的资源,这样,客户在享受流媒 我国对P2P研究起步较晚,有北京大学网络实验室 体节目的同时,也在利用自身的资源为其他客户提供服 开发的Maze系统,清华大学开发的Granary分布式存储 务,使整个系统的可用资源随着客户数的增加而增多。 系统。由此可以看出我国对P2P领域的研究和国外相比 即通过改变传统模式下的服务方式和数据传输路径,使 有一定的差距。本文探讨的主要问题是利用P2P覆盖树 请求同一媒体流的客户端组成一个P2P网络,在此网络 网络作为模型,来研究通过该网络模型实现对流媒体数 中,服务器只须向其中的少数节点发送数据,这些节点 据的分发技术。 就可以把得到的数据共享给其余的节点。 2覆盖树的设计 由于应用层不需要特殊的路由器和硬件设施,也无 在P2P网络中,可以按节点之间的关系划分为集中 需修改网络协议,易于流媒体应用的部署,因此,本文的 式、分布式和混合式三种覆盖网模型。本文所设计的覆 主要工作是在应用层设计一个覆盖树网络,然后通过该 盖网络是树状结构,即节点之间以树的组织形式存在, 网络实现对流媒体数据的分发。 在该树中,媒体源是树根,其余新加进来的节点,如果只 1国内外同类研究水平 接收数据不转发数据,则这个节点就是叶子节点,否则 随着互联网的普及和宽带技术的发展,以P2P技术 这个节点就是非叶子节点 。 为核心的软件产品正在为越来越多的网民所接受和喜 设计覆盖树时,结合树形结构自身的特点和流媒体 爱。白2000年开始,国内外多家P2P产品纷纷问世,其 数据在传输时具有实时性、顺序性、本地缓冲保存的非 中以国外Napster、Groove、OpenCOLA等和国内Openext、 持久性等特点,重点要注意如下几点: Kugoo、POCO等为代表的P2P产品在短短几年时问,用 (1)在该系统中,由于流媒体从源节点到目标节点 户的注册量不断增长,已成为许多用户不能离弃的上网 需要经过多个中间节点,每经过一个节点会带来一‘定的 收稿日期:2o07一II—O9 作者简介:王永乐(1972一),男,河南泌阳人,硕士,讲师,主要从事程序设计方面的研究。 维普资讯 http://www.cqvip.com 第21卷第3期 王永乐等:基于P2P覆盖树网络的流媒体传输技术 61 时间延迟,因此在构造覆盖树时必须考虑树的深度,在 2.2节点的管理 理想情况下,树的深度要满足O (a表示一个节点可 节点的管理主要由数据调度模块和邻居节点管理 以转发到另一节点的平均数目,N表示覆盖树忠节点的 模块来实现,包括节点的加入和退出[司。 总数)。 2.2.1节点的加入 (2)在P2P网络中,每个节点的行为都是不可预测 当一个节点选择一个频道后,就会知道这个频道的 的,在节点的数量比较大时,节点的加入和离开比较频 源节点,即与这个节点相对应的覆盖树的树根,从而从 繁,因此需要设计一个用来维护覆盖书稳定的节点管理 这个根节点开始加入该覆盖树,过程描述如下: 系统。 (1)首先向根节点发出建立连接并传输数据的请 (3)由于父节点的离开必然造成子节点在重新寻找 求,若根节点有能力提供服务,就建立连接并向其传送 父节点的过程中会有一定的延迟,而这个延迟是衡量 数据。 QOS的一个重要指标,因此延迟应当尽可能的短。 (2)若根节点不能满足要求,就会把它的子节点发 (4)随着P2P网络中节点的加入,其规模可能越来 送给该请求节点,然后这个请求节点重新与这些发送过 越大,因此在构造覆盖树时要充分考虑到它的可扩展 来的节点发起连接请求。 性。 根据上面的过程描述,当一个节点找到一个可以获 2.1节点的层次结构 取数据的节点之后,这个节点就成功地加入到这个覆盖 对于每一个节点,从功能上来说可以抽象为三层结 网中,就可以获取数据并在经过缓冲之后进行播放了。 构:网络接口层、媒体控制层和媒体播放层,它们之间的 节点在加入前后覆盖树拓扑结构如图2所示。 关系如图1所示。 网络接口层是把下层的网络进行抽象,以便为上面 的应用层提供服务。由于在应用层的数据调度模块和邻 居节点管理模块都要使用TCP、UDP进行数据传输网,本 系统中把TCP、UDP作为网络接口层。 媒体控制层是本系统的核心层,包含邻居节点管理 模块、数据调度模块、缓冲区管理模块和缓冲区四个功 能模块。 (1)邻居节点管理模块:用来管理节点的加入、退出 和邻居节点的更新。邻居节点包括子节点、父节点、以及 节点P6、P7加入前 节点P6、P7加入后 备用的可能与自己发生数据传输关系的节点。 图2节点加入前后的变化 . (2)数据调度模块:主要作用是根据邻居管理模块 2.2.2节点的离开 选择出来的节点发起数据传送的请求,并将数据上交到 由于P2P网络的动态性,节点在任何时候都有可能 缓冲区。也可以根据其它节点的请求将数据传输给其它 离开。节点的离开分为正常离开和非正常离开两种【7]。 节点。 节点正常离开时,如果该节点是一个叶子节点,它会向 (3)缓冲区管理模块:协助数据调度模块一起对缓 其父节点发出通知,父节点收到这个通知后立即停止向 冲区进行管理。 该节点发送数据,并从邻居节点列表中删除这个子节 (4)缓冲区:用来缓存媒体数据,向上层的播放器提 点。如果该节点不是一个叶子节点,则会向其父节点和 供数据。 子节点同时发出通知,父节点收到这个通知后停止向该 媒体播放层为用户提供接口,当用户选定节目后, 节点传送数据,子节点收到通知后,就会从自己的邻居 通过调用播放器从缓冲区中获取数据来进行播放嘲。 节点列表中根据一定的选择算法找出一个合适的节点, 然后重新发起一个连接请求。 节点非正常离开时,在进行数据通信的两个节点之 问维护一个心跳。当在一个时段内,一个节点感觉不到 另一个节点的心跳时,就可以假设该节点已经离开了。 当一个父节点感知到它的一个子节点已经离开的时候, 就不再向这个子节点发送数据了,并删除该节点。当一 个子节点感知到它的父节点已经离开的时候,就重新发 图1节点的三层结构 起连接请求。 维普资讯 http://www.cqvip.com 62 四川理工学院学报(自然科学版) 2008年6月 2.3节点状态的维护 在P2P网络中,每个节点的状态随时都在变化。在 息并不复杂。另外,由于节点对于整个网络的不敏感,使 得一个节点的加入和退出所产生的影响只局限于局部, 这样网络的稳定性和可扩展性都得到了很好的改善。 本文的覆盖树网络中,一个节点不需要知道其它节点的 状态,只需要知道它所感兴趣的节点转台即可。因此,需 要及时地更新父节点、子节点以及一些邻居节点的信 息。 4结束语 本文在应用层设计了一个基于P2P的覆盖树网络 来进行流媒体数据的分发,详细描述了覆盖树中节点的 加入、退出和正常运行时节点状态的维护等构造过程。 最后分析表明了该覆盖树网络是适合流媒体数据分发 的。 参考文献: 父节点和子节点之间要维护一个心跳,使得双方都 可以相互的感知,它们之间状态信息的更新是通过发送 消息来获取对方的状态的。邻居节点的获取可以通过两 种方法,一种方法是在向源节点请求数据的时候,可以 获取源节点的一系列子节点;另一种方法是在节点的正 常运行过程中,它会在应用层发送一个广播消息,对于 【1】方炜,吴明晖.基于P2P的流媒体应用及关键算法研究 响应该广播消息的节点,它会选择一些比较满意的节点 来作为邻居节点。邻居节点状态的更新是通过直接与这 『J1.计算机应用与软件,2005,35—37. 【2】罗建光,张萌.基于P2P网络的大规模视频直播系统【J】 _软件学报,2007,18(2):391—399. 些节点发送状态更新消息来实现的。 3系统分析 在基于P2P的流媒体传输系统中,应用层覆盖网络 f3】崔晓源,孙学军.基于层次化P2P覆盖网络的多播模型 【JJ.计算机应用,2005,25(7):1509—151 1, 【4】Yu Jiang,Chou Chuntung.An empiircal study on user access 的构造是十分重要的。一个合适的覆盖网络多网络的可 扩展性、获取数据时的时延、节点上控制信息的复杂度 to entertainment streaming media【J1.Journal of electronics, 2006,798—801. 等都会带来很大的好处[8-91。 在本文所设计的覆盖树网络中,如果用PLi来表示 一【5】吴鹏,胡强.流媒体技术在网络多媒体教学环境中的应 用【J1.计算机与信息技术,2006,10—12. [61车军.基于P2P的流媒体技术研究[J1.计算机与信息技 术,2007,16. 个节点i到这棵树的根节点的长度,那么这个覆盖树 — 网络的平均高度argPL就是:argPL:∑PLi,在理想情 i=l 【7】杨天路,刘宇宏.P2P网络技术原理与系统开发案例【M】. 北京:人民邮电出版社,20o7. 况下应该与平均树目为a的完全树的高度是相同的,即 argPL=LogaN。因此本文所设计的覆盖树高度是比较低 的,这就保证了数据在网络上的传输所花费的时间比较 短。 . 【8]李刚,岑熊英.一种基于P2P点组技术的流媒体协作计 算【J1_计算机应用与软件,2006,(2):94—96. 【9管昌生,邓磊.基于P2P技术的流媒体服务模型研究I91J1 _、在本系统中,每个节点只需要维护它的父节点、子 武汉理工大学学报,2006,28(2):70—73. 节点以及一些邻居节点的信息,因此每个节点的控制信 Transmission Technology of Streaming Media Based on P2P Overlay Tree WA NG Yong-le,XU Shu—xin (Dept.of Information and Engineering,Xuchang Professional and Technology College,Xuchang 461000,China) Abstract:This paper uses P2P technology,through designs one in th e application layer to carry on based on P2P cover tree network flows the media data the distirbution.First described in the cover tree the node joins,when the withdrawal and the normal operation node condition structure processes and SO on maintenance,finally through the analysis explained this cover tree network is carries On suitably flows the media data distribution. Key words:P2P;streaming media;overlay tree
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务