多人语音系统中多播树的设计与实现毕业设计论文.doc

上传人:laozhun 文档编号:3941121 上传时间:2023-03-28 格式:DOC 页数:39 大小:296KB
返回 下载 相关 举报
多人语音系统中多播树的设计与实现毕业设计论文.doc_第1页
第1页 / 共39页
多人语音系统中多播树的设计与实现毕业设计论文.doc_第2页
第2页 / 共39页
多人语音系统中多播树的设计与实现毕业设计论文.doc_第3页
第3页 / 共39页
多人语音系统中多播树的设计与实现毕业设计论文.doc_第4页
第4页 / 共39页
多人语音系统中多播树的设计与实现毕业设计论文.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《多人语音系统中多播树的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《多人语音系统中多播树的设计与实现毕业设计论文.doc(39页珍藏版)》请在三一办公上搜索。

1、毕业设计论文多人语音系统中多播树的设计与实现摘 要近年来,随着计算机网络和通信技术的飞速发展,对网络带宽要求较高的流媒体技术也迅猛地发展起来,多人语音系统的研究和应用已成为当前热点之一。在传统的多人语音系统中,通常采取C/S(Client/Server)模式,即用户从语音服务器点击收听,然后语音服务器以单播的方式把音频流推送给用户。它的弊端在于:1)大量数据集中在服务器上存储和传输,不仅对中央服务器的带宽和处理能力要求很高,而且使得多人语音系统严重依赖于中央服务器,导致系统可扩展性差、可靠性差;2)中央服务器到与会节点时延过大且不均衡,造成音频质量不理想和语音包接收滞后等问题。而引入P2P和应

2、用层多播技术,作为多人语音系统的支撑技术,则可以突破这些限制,有效地解决上述问题。它通过建立和动态维护基于P2P的应用层多播树来传输音频数据,给用户提供高质量的音频收听服务。在深入分析P2P技术和应用层多播技术后,设计了应用层多播树的构建和动态维护算法,然后根据划分的各功能模块,在仿真实验平台上实现了基于P2P的多人语音系统。测试表明,多人语音系统的功能实现基本达到目标。在一般情况下系统能够向用户提供较高质量的音频服务,具有良好的可扩展性,但由于均衡负载的能力不够,性能的稳定性有待提高。关键词:多人语音; P2P; 应用层多播; 多播树AbstractIn recent years, as t

3、he rapid development of computer networks and communication technology, high network bandwidth requirements of streaming media technology is also advancing fast, and the research and application of multi-person phonetic system have become one of current hot spots. In traditional multi-person phoneti

4、c system, usually adopts C/S(Client/Server) pattern, namely the user clicks the pronunciation server to listen, then the pronunciation server gives the audio frequency class to the user by the unicast way. It has several malpractices: 1) Large amounts of data stores and transports on the sever, whic

5、h not only has a very high request to the central servers band width and the handling ability, also causes the multi-person phonetic system to rely on the central server seriously, and leads to the bad extendibility and reliability of the system; 2) The latency between the central control server and

6、 the node is oversized and imbalanced, which causes some problems, such as not ideal of the audio frequency quality, and the lag of the receive of pronunciation package.However, the introduction of P2P and the technology of the application layer broadcasts, as the support technology of multi-person

7、phonetic system, can breakthrough those limits, and solve the above problems effectively. It provides the user high grade audio frequency service, which transports audio data through establishing and dynamicly maintaining multicast tree based on P2P application layer. After analyzing the P2P technol

8、ogy and the technology of the broadcasts of the application layer thoroughly, designing the construction and the dynamic maintenance algorithm of the broadcast tree of the application layer, and then realizing the phonetic system based on the P2P multi-person in the simulation experiment platform. T

9、he test has indicated that the function of the multi-person phonetic system has achieved. The system can provide the user high quality audio frequency service generally, and has a good extendibility. However, as a result of the insufficience of the balanced load, the stability of performance waits f

10、or enhancing.Keyword: Voice over; P2P; Application Layer Multicast; Multicast tree目录摘 要IAbstractII目录III第一章 绪论11.1 研究背景11.2 国内外研究现状21.3 本文的研究内容41.4 论文的结构4第二章 多人语音系统中的关键技术52.1 P2P技术52.2 应用层组播技术82.3 本章小结9第三章 多人语音系统的设计103.1 P2P多人语音系统的方案设计103.2 基于P2P的应用层多播树的算法设计123.3 本章小结18第四章 仿真系统设计与实现194.1 仿真实验平台的设计194

11、.2 多人语音仿真系统的功能模块214.3 网络与媒体数据传输管理模块214.4 节点组织与管理模块234.5 基于“心跳”的通信管理模块264.6 音频管理模块264.7 本章小结27第五章 仿真实验285.1 仿真参数说明285.2 功能仿真285.3 性能仿真295.4 本章小结30第六章 总结和展望316.1 总结316.2 展望31致 谢33参考文献34第一章 绪论1.1 研究背景计算机网络和通信技术的飞速发展,深刻地改变了人们的工作、生活和思维方式。随着计算机处理能力的日益增强和宽带网络的逐渐普及,人们希望互联网不仅仅只提供网页浏览、文件下载等简单业务,并且能提供“边下载边观看音视

12、频”的多媒体服务,这种“边下载边播放的应用就是大家所熟悉的流媒体应用。多人语音系统正是网络流媒体系统的一种,应用于大规模网络中,给用户提供高质量的音频收听服务。系统的关键在于流媒体直播技术的实现。流媒体直播不仅数据量大,需要巨大的存储空间,而且对网络传输的实时性要求比较高。因此,随着客户数目的快速增长,在传统的C/S(Client/Server)模式下,服务器端的资源很快被耗尽,成为系统服务能力的瓶颈所在,同时用户的服务质量也难以得到保证。面对日益增长的用户数量,如何构建具有可扩展能力的流媒体服务系统成为亟待解决的问题。近年来,对等网络(P2P)的研究在对等计算、资源共享、应用层组播等方面得到

13、了广泛的关注,P2P技术得到快速的发展。P2P节点之间关系是平等的、直接联系的。和传统的C/S模式不同,如图1.1所示,每台主机可以直接连接到其它主机进行数据交换,而不需要通过连接到中间服务器。基于P2P模式的流媒体系统利用了P2P网络的优点,用户相互共享彼此拥有的流媒体资源,既是播放者,又是流媒体资源提供者,共同参与系统的服务,整个系统的服务能力随着用户数量的增加而增加。peer之间相互协作,并为其他peer提供服务,将服务器的负载分散到peer中,从而有效地减轻了服务器的负载和减少了网络带宽的消耗,极大地提高了系统的可扩展性。基于P2P技术的流媒体系统的可扩展能力,为构建大规模流媒体传输系

14、统提供了一种低成本且有效的解决方案。中心服务器客户端客户端客户端传统C/S模式客户端客户端客户端客户端客户端P2P网络工作模式图1.1 传统C/S模式与P2P网络工作模式的比较而在当前较流行的基于P2P的网络电视、视频点播、视频会议等以流媒体为核心的新业务应用中,随着对等网络和覆盖网等技术的提出,出现了“应用层组播”技术。对面向Internet流媒体技术,最简单的解决办法是为每个申请者建立一条发送视频流的链接。但太耗费带宽,又不能支持大量观众实时收看,申请者接收到的将是低质量视频。IP组播相对而言是一种好的解决方法,但Internet中多数ISP不支持IP 组播, 造成其发展受限。应用层组播克

15、服了IP 组播的缺陷1:无需更改网络协议和网络设备的配置,在客户机间复制和转发数据,数据报沿逻辑链路转发,数据路由、复制、转发功能均由客户机完成,客户机间建立一个叠加在IP 网络上、实现组播业务逻辑功能性网络,要实现这样的功能,就必须建立对应的应用层多播树,如图1.2所示。现阶段,已经有一些学者开始进行应用层多播树的建立的研究,并取得了一定的成果。服务器路由器路由器终端路由器路由器路由器终端终端图1.2 组播通信方式总之,随着网络技术的不断发展,流媒体技术必将成为未来网络的一项关键技术。而引入P2P技术和应用层多播技术,作为流媒体的新研究平台,无疑给流媒体的发展和应用开创了新的道路。在解决了流

16、媒体的关键技术问题后,流媒体技术的应用必然会在未来的网络中发挥更重要的作用,并在一定程度上改变人们使用网络的方式。1.2 国内外研究现状目前,P2P技术在国内外已经有了突飞猛进的发展,很多领域己经成功的应用它解决了C/S模式存在的瓶颈,从目前的应用来看,P2P的优势还主要体现在大范围的资源的共享和搜索上2。其中,P2P技术在文件共享方面的应用主要表现为PPLive、Mysee、OICQ网站等。而PPLive、Mysee网站等主要将媒体播放与P2P技术结合在一起,改善了以前需要高质量服务器为媒体文件服务,并解决了宽带限制的问题,提高了用户观看媒体文件的速度及质量;OICQ通过目录服务器建立聊天双

17、方点对点的连接,及时发送聊天信息,解决了海量信息存储、转发困难等问题。由于P2P流媒体传输的优越性,基于P2P的流媒体服务体系己经引起了许多大学、研究机构、商业机构的重视。美国斯坦福大学、马塞诸塞大学以及微软研究院对单源的P2P流媒体传输展开了研究并取得一定的成绩。伯克利大学和普度大学则致力于对多源的P2P流媒体传输的研究也取得了一定得成就,此外,也有一些研究机构将传统的流媒体技术运用于P2P系统。如IBM中国研究院成功的将层次式的流合并技术集成到P2P视频点播系统中,而美国奥利根大学提出的PALS,则利用了媒体流的分层编码技术,各个节点发送不同层的编码流,由接收者根据自身的能力选择接收若干层

18、的编码。将流媒体技术与P2P技术结合在一起,改善了以前需要高性能服务器为流媒体服务并解决了宽带限制的问题,但是在音视频直播应用中,对等网络方法面临一些问题:1)由于P2P流媒体系统中节点的行为的动态性,如何在动态的运行环境下保证流媒体的服务质量,需要深入了解流媒体对QoS的要求和网络流量分析等方面的知识,研究高效率、低代价的QoS保障机制。2)调整并监控网络中节点的动作,降低多层节点转发的延迟,确保节点间可靠通讯,从而保证系统的良好扩展性和系统稳定性。3)分层流媒体虽然在IP组播中已经得到深入研究,但是在应用层组播中的研究才刚刚起步。而应用层多播的研究,作为覆盖网络研究的一个方向,是国际上刚刚

19、兴起的研究热点。很多大学和研究院都在进行这方面的研究。从2000年6月,卡耐基梅隆大学的Y.H Chu 在ACM SIGMETRICS 上发表了一篇端系统多播的论文开始1,标志着应用层多播开始进入了热点研究。2001年Ratnasamy 在ACM SIGCOMM上发表了基于Peer- to- Peer 网络的应用层多播论文CAN Multicast3。S.Q.Zhang 也在NOSSDAV 上发表了基于Peer-to-Peer 网络的应用层多播的论文Bayeux4。2002年,Suman Banerjee 在ACM SIGCOMM上发表了基于NICE 应用层多播的论文。在这些论文中, 研究学者

20、都提出了自己的应用层多播实现思路,对应用层多播路由协议中多播树计算算法进行了研究。这些应用层多播方案具有不同的特点,适用的范围也不相同。其中对于Peer- to- Peer 覆盖网络上的应用层多播研究还处于探索阶段。目前在Peer- to- Peer 网络上实现的应用层多播方案主要有三种:CAN Multicast、Scribe、Bayeux。它们都是在基于动态哈希路由的Peer- to- Peer 网络上实现的,其中CAN Multicast 是在CAN 之上实现的,Scribe 是在Pastry 上实现的,Bayeux 是在Tapestry 上实现的。这几种方案都充分利用了Peer- to

21、- Peer 网络的路由机制,因此只需增加少量的模块就可以实现多播功能。与原先的Peer- to- Peer 网络相比,只增加少量的开销就实现了多播功能,同时继承了Peer- to- Peer 网络的支持大规模、支持成员动态变化的特性。可用于分布式仿真、多方实时游戏、大规模协作应用等,但这三种方案对于应用层多播的模型、性能分析、性能优化都没有进行研究。总之,P2P在流媒体传播方面的应用已有了一定程度的成果,应用层多播则是刚刚起步,要想把它们应用于流媒体传播,性能和效果还不成熟、不理想,值得进一步研究和改善。1.3 本文的研究内容本文研究了如何利用P2P技术和应用层多播技术来构建一种具有可扩展服

22、务能力的多人语音系统。主要研究内容是:在基于P2P的流媒体直播系统中,整个P2P网络的拓扑结构是系统架构的基础。本文研究并设计了应用层多播树模型,采用单树结构的应用层多播树建立方案,按照一定的算法,构建了一棵满足音频服务要求的单源多播树,实现应用层组播。该方案完善了网络节点的加入及退出机制,更好地实现了整个网络的动态平衡,提高了音频数据转发的效率和用户接受的服务的质量。1.4 论文的结构本文在充分的理论和技术研究的基础上,设计并实现了一个P2P多人语音系统。本文的组织结构如下所示: 第一章绪论中首先介绍了课题的研究背景及现状、传统流媒体直播系统存在的问题,以及采用P2P技术和应用层多播技术构建

23、流媒体直播系统的优势,最后介绍了本文的主要研究内容和组织结构。第二章介绍多人语音系统中的关键技术。第三章详细描述基于P2P的应用层组播树的算法设计。第四章描述仿真平台的设计和仿真系统的体系结构及功能模块,并详细介绍了各个功能模块的功能。第五章介绍仿真实验的实验平台的设计和仿真实验的设计,并对测试结果进行了客观的分析。第六章对论文进行了总结,并对未来工作进行展望。第二章 多人语音系统中的关键技术P2P网络是当代网络发展的趋势,而将P2P技术应用到流媒体服务中能更好地实现其迅速、稳定、高清晰度的特点。用户对它的要求也将越来越高,因此,必须研究出一种高效的、高质量的P2P流媒体直播系统来满足用户的需

24、求。本章将重点介绍基于P2P的多人语音系统涉及的关键技术。设计该系统的主要目标是充分利用现有的网络资源,降低服务器资源和网络带宽的消耗,实现高扩展性和可靠性,提供高质量的流媒体播放效果5。2.1 P2P技术2.1.1 相关技术背景为了解决传统的基于C/S模式的流媒体系统服务能力有限、不能适应大规模流媒体应用的问题,服务器集群方式、CDN(Content Distribute Network,即内容分布网络)、IP组播、P2P等技术被提出。服务器集群方式6是将各自独立的、同构或异构的一组计算机连接起来提供一个高性能的应用平台,来协同完成特定的任务。它完善了传统的C/S架构,并在一定程度上提高了流

25、媒体服务系统的传输速率和服务质量。但是其高额的硬件成本和系统的复杂度是一般用户难以承受的,同时也不能满足日益增长的超大用户群。CDN的英文全称Content Distribute Network,即内容分布网络7,是一个建立并覆盖在互联网之上、由分布在不同区域的节点服务器群组成的虚拟网络。在传统的IP网络中,客户端的请求被直接按照目标的网络地址发送给数据源服务器,而CDN网络为传输服务提供了一个服务“层(虚拟网络),这个层可以主动将用户访问比较频繁的网络内容“推”到与发出请求的用户距离最近的服务器上,并将每个客户端发出的请求转发到距离被请求的网络内容而言最近的服务器上。虽然CDN从一定程度上减

26、轻了主干网络负担,提高用户访问网站的响应速度,并减少了传输延迟,但是高昂硬件成本和部署成本是它最大的缺点。IP组播技术8是对互联网“单播、尽力转发”模型的重要扩充,是一种允许一台或者多台主机发送单一数据包到多台主机的网络技术。IP组播源把数据包发送到特定组播组,而只有属于该组播组的地址主机才能接收到该数据包,在整个网络的任何一条物理链路上只传送单一的数据包。IP组播技术的主要功能在路由器上实现。它的主要优点是能够有效地减少了多点通信中的带宽消耗。但由于一些关键技术,如路由算法、操作系统等未能很好地支持,使得IP组播技术不能得到很好的推广9。2.1.2 P2P技术的概念P2P(Peerto Pe

27、er)即对等计算或对等网络10,是一种用于不同计算机之间、不经过中继设备直接交换数据或服务的技术。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,各节点具有相同的责任和能力,并协同完成特定任务。每个终端(也称节点)同时具有客户端和服务器功能,即每台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源与服务。对等点之间直接互连,共享信息资源、处理器资源、存储资源甚至高速缓存资源,无须依赖中心服务器就可完成,这种模式与传统的CS模式形成了鲜明的对比。其主要代表形式是在应用层上基于P2P网络协议的客户端软件11。2.1.3 P2P网络中拓扑结构的研究拓扑结构是指分

28、布式系统中各个节点或计算单元之间的物理或逻辑的互联关系,节点之间的拓扑结构一直是确定系统类型的重要依据。P2P网络结构,又称为P2P覆盖网结构,是指P2P网络中节点的逻辑组织结构,即节点互联的拓扑结构和节点在与相邻节点保持连接时的行为规范,一般用一个连通的图来表示。在覆盖网中相邻的节点可能在实际物理网络中位于不同的子网中,中间相隔多个路由器,而在覆盖网中不相邻的节点在实际物理网络中却可能是直接相连的。P2P系统一般要构造一个拓扑结构,在构造过程中需要解决系统中所包含的大量节点如何命名、组织以及确定节点的加入,离开方式、出错恢复等问题。根据P2P网络的拓扑结构可以将P2P网络分为四种:集中式拓扑

29、、完全分布式非结构化拓扑、完全分布式结构化拓扑和混合式拓扑。(1)集中式拓扑集中式P2P网络拓扑通过一个中心服务器来记录和索引共享信息以及回答对这些信息的查询。这种形式具有中心化的特点,但是它不像传统的CS模式,把所有资源都放在服务器上,它的服务器只存储每个节点的索引信息,而节点的所有具体信息都保存在节点本身。中心化拓扑最大的优点是维护简单、发现效率高。由于资源的发现依赖中心化的目录系统,发现算法灵活高效并能够实现复杂查询。最大的问题是容易造成中心服务器单点故障。典型代表是Napster12。(2)完全分布式非结构化拓扑13完全分布式非结构拓扑的P2P网络采用了随机图的组织方式来形成一个松散的

30、网络,这种结构对网络动态变化有较好的容错能力。在完全分布式非结构化拓扑的P2P网络模型中,每个节点都具有相同的功能,因而节点也称对等点。这种拓扑的优点是网络配置简单,不需要中心服务器支持,在网络规模较小的时候具有很好的查询效率。但是由于这种拓扑的网络中多采用洪泛方式查询和资源定位,随着网络规模不断增大,将对网络带来了沉重的网络负载。而且由于没有确定的拓扑,这种形式的网络无法保证查询的确定性。另一个问题是由于采用TTL、洪泛、随机漫步,这种拓扑的网络直径不可控,可扩展性差14。因此目前对这种结构网络的研究集中在改进发现算法和转发策略上。(3)完全分布式结构化拓扑结构化分布式P2P网络是一种纯P2

31、P网络。这种网络不需要有中心服务器和中心路由器,其上的每个Peer的地位是完全平等的。每一个Peer既可以作为客户端又可以作为服务器,并且它们与相邻的Peer有相同的能力。这类网络中的每个节点都被分配一个虚拟地址,同时用一个关键字来表示其可提供的共享内容。网络中各个节点分别存储自己的虚拟地址路由表进行路由。关键字存储其虚拟地址与关键字匹配或者相近的节点上。资源定位的时候,可以通过虚拟地址路由表快速查询到存储关键字的节点,从而获得共享内容的存储位置。这类网络的代表系统是Chord15、Pastry14、CAN等。(4)混合式拓扑集中式P2P形式有利于网络资源的快速检索,只要服务器的处理能力足够强

32、就可以无限扩展,但是其中心化的模式容易遭到直接攻击,分布式P2P形式解决了攻击问题,但是又缺乏快速搜索和可扩展性。混合式P2P拓扑结合了集中式和分布式P2P形式的优点,在设计思想和处理能力上都得到了进一步的优化。这类网络的代表系统是Skype16。2.1.4 基于P2P的流媒体技术P2P实时流媒体技术是P2P技术与流媒体技术的结合,其核心思想就是把P2P技术应用于实时流媒体数据的分发中去,把网络层的组播功能转移到应用层实现,充分有效地利用各个节点的资源。在基于P2P的流媒体技术中,每个流媒体用户是P2P网络中的一个节点,用户可以根据其他节点的设备能力和网络状态与一个或几个用户建立连接来分享数据

33、,这种连接能减轻服务器的负担和提高每个用户的音视频质量。P2P技术在流媒体应用中特别适用于一些热门事件,即使是大量的用户同时访问流媒体服务器,也不会使服务器因负载过重而瘫痪。P2P流媒体技术主要优势在于降低对服务器处理能力和服务器上传带宽的要求,节约了主干网络传输带宽。2.1.5 P2P流媒体直播技术网络的迅猛发展和普及为P2P流媒体业务发展提供了强大市场动力。P2P流媒体直播是最新发展起来的一种流媒体广播方式,它利用P2P的原理来建立播放网络,从而达到节省服务端带宽消耗、减轻服务器处理压力的目的。采用该技术可以使得单一服务器就能轻松负荷起成千上万的用户同时在线观看节目。不管在线用户数量的多少

34、,服务端的带宽消耗都是基本一样的,那就是提供作为P2P传播的种子所需要的几个流的带宽17。2.2 应用层组播技术2.2.1 应用层组播技术的概念应用层组播技术利用对等网络技术,在底层网络之上构建一个应用层覆盖网络,将组播路由功能从路由器转移到端系统上,然后在端系统的应用层建立发送端和接收端之间的组播转发树。该技术本质上是用单播来实现组播,将组播的复杂性从网络层转移到端系统。和IP组播增加网络机制的方法不同,应用层组播的基本思想是保持Internet原有的简单、单播的转发模型,由端系统来实现组播转发的功能。在应用层组播中,传输分组在端系统主机处进行复制,端系统主机构成了逻辑覆盖网络,并使用应用层

35、定义组播路由协议来构建和维护该组播网络,目的是为了便于进行数据传输,构造并维护可靠、高效的传输覆盖网。为了达到高效,发送者不需要给每个接收者发送数据,只需要给部分接收者发送数据,这部分接收者再负责把接收到的数据转发给其他接收者,直到所有接收者都收到数据,即把发送者的负担,分配到了其他成员身上。应用层多播树的建立和动态维护是P2P树状拓扑结构建立的关键。P2P网络中节点的具有高度动态性,随时都有可能有节点失效或下线,由于应用层多播系统需要依靠P2P系统的节点转发信息, 所以节点的突然失效会导致信息丢失,使多播服务中断。其次,应用层多播系统通过节点间的相互传递来发送信息, 节点间全部采用单播连接,

36、因此需要尽量减少信息在网络中的传输路径,以减少信息到达接受者的延迟和网络负荷。所以如何处理新加入以及离开的节点,是影响构建组播树效率的关键所在,如何高效地建立和维护应用层组播树,克服应用层组播的缺点,是值得深入研究的。在树状模型的P2P流媒体直播系统中,首要问题是将服务器和参与服务的节点组织成ALM(Application-Level Multicast,应用层多播)树18。多播树的建立和维护算法的好坏将直接决定流媒体直播系统的连接效率,进而影响P2P的服务质量。因此,有必要深入研究应用层多播树的建立和维护算法19。2.2.2 组播节点的组织方法在应用层组播网中,数据路由、复制、转发功能都由组

37、播成员节点完成,如何构建一个有效的应用层组播架构是在构成应用层组播网络时所必须解决的问题。目前,组播节点的组织方法主要有两种,即“网”和“树”状逻辑结构。“网”状逻辑结构可靠性较高,但软件设计复杂、维护开销较大、扩展性较差。“树”状逻辑结构实现简单、维护开销小、扩展性好,但可靠性较差。一般在大型组播组中使用树,在中小型组播组中使用网。本系统采用“树”状逻辑结构。2.2.3 组播节点的维护方法组播节点的维护包括节点的加入、退出、“失效”节点的检测20。在一个典型的P2P网络中,网络中的节点来自各个不同域,节点可能在任一时间加入或离开网络,导致网络具有很大的动态性和不可控性。节点的加入是指新的节点

38、请求加入到组播组的过程。节点退出是指节点发出退出组播组的请求,需要对节点的组织进行调整。“失效”节点是指在断电、断网等情况下,节点没有发出退出组播组的请求但又无法正常运行,一般通过定时发送“心跳包”来实现失效节点的检测。2.3 本章小结随着网络技术的不断发展,流媒体技术必将成为未来网络的一项关键技术。而引入P2P技术和应用层多播技术,作为流媒体的新研究平台,无疑给流媒体的发展和应用开创了新的道路。本章的主要内容是介绍用于多人语音系统中的关键技术,包括P2P技术和应用层多播技术。第一部分重点介绍P2P技术,内容如下:1)相关技术背景;2)P2P技术的概念;3)P2P网络中拓扑结构的研究;4)基于

39、P2P的流媒体技术;5)P2P流媒体直播技术;6)P2P直播的特点。第二部分重点介绍应用层多播技术,主要包括应用层多播技术的概念、组播节点的组织方法和维护方法。第三章 多人语音系统的设计3.1 P2P多人语音系统的方案设计在整个P2P多人语音系统的体系结构中,P2P网络的拓扑结构直接决定了该服务系统的响应效率及服务质量。本系统采用树形拓扑结构,应用层多播树的建立和维护是决定以树形拓扑结构为基础的P2P网络性能好坏的关键技术,因此,系统的方案设计、应用层多播树的建立和维护是本章研究的重点。3.1.1 系统的设计原则多人语音系统是面向普通流媒体用户,构建一个容易使用、简单的、可靠的、集服务器和客户

40、端为一体的软件,使任何人都可以收听和转播音频,而不必耗费昂贵的服务器或者带宽。网络中不存在中心服务器,每个用户可以是客户端,也可以是服务器。通过用户之间相互共享媒体数据、共同参与系统服务,来达到扩展系统服务能力的目的。具体地说,多人语音系统按照以下原则设计1721:1) 能够满足音频播放的要求。流媒体数据流具有三个特点:连续性、实时性、时序性,即数据流具有严格的前后时序关系,如果一个数据包在播放之后到达,则没有任何意义。另外,流媒体播放要求数据下载速度必须大于播放速度,否则就会影响播放质量。2) 不需要一个有庞大带宽和强大处理能力的服务器为众多用户提供广播服务,所需要的只是一个索引服务器(组织

41、管理客户端节点)和一个音频数据源。3) 充分利用网络资源。系统应该能够充分利用网络边缘客户端用户的资源。4) 能够在能力不同的节点间均衡负载。节点在带宽、到音频数据源的延时、在线时长等方面的各不相同,决定了节点参与系统服务的能力也具有差异性,所以P2P多人语音系统要有均衡负载的能力,在构建和动态维护多播树时要充分考虑节点间的能力差异,使每个节点的服务能力都能得到适度利用,保持多播树的稳定和高性能。5) 尽可能的为更多用户提供满足基本质量的服务,即构建一颗尽可能庞大的多播树。3.1.2 基本原理基于P2P网络的多人语音系统的基本原理是22:音频数据源存放着实时播放的完整音频文件。首先,服务器S(

42、在这里不区分索引服务器和音频数据源,统一为服务器S)将音频文件按照一定的格式划分成很多个固定大小的音频数据段,然后将最近的几分钟数据放到自身的缓存区中,为以后前来请求的客户提供服务。当一个新的客户端节点C请求加入P2P网络时,首先会向服务器S发出连接请求,服务器查看多播树是否仍具有服务能力,如果有,则响应节点C的请求,根据一定算法将节点C加入到树中。假如整棵多播树不具有足够服务能力而无法继续服务新节点,则服务器S会拒绝节点C的请求,节点C会隔一段时间后再度发来加入请求,直到成功加入或者用户放弃请求。若节点C成功加入多播树,则节点C从父节点处接受相应的音频数据包,直到接收到能够播放所需的全部音频

43、数据包为止。然后,节点C再将收到的音频数据包重新进行排序和封装,组合成能够实时播放的数据流。上述过程中,节点C在接收来自父节点的音频数据包的同时,若具有服务新节点的能力,也可接受子节点并向子节点转发所接受的数据包。这就相当于每个节点既是服务器,也是客户端,这样,不但减轻了服务器s负担,而且客户端得到的服务质量也得到了相应地提高。3.1.3 拓扑结构在P2P多人语音系统的体系结构中,P2P网络的拓扑结构直接决定了该服务系统的响应效率及服务质量。本系统采用单源的P2P流媒体传输。单源的P2P流媒体传输由一个发送者向多个接收者发送数据,接收者有且只有一个数据源。服务器和所有客户端节点组织成多播树,多

44、播树中的节点接收来自父节点多播的音频数据,同时将数据以多播的方式传送给其它节点。系统可分为三层,从高到低依次是服务器(包括索引服务器和音频数据源)、转播Peer、收听Peer,以下将转播者和收听者称为普通节点。整个系统的拓扑结构如图2.1所示,可见其网络结构是典型的树状结构。服务器处于网络最高层,是整个网络的根节点,整个系统只有一个,其中索引服务器负责组织和管理树中各节点的相关信息,拥有一个完整的节点列表;音频数据源负责实时向下提供多播树中所传播的音频数据包。转播者处于中间,它的存在体现了P2P网络的基本特征:即节点不仅接收数据,还要进行转发;收听者处于最低层,是多播树的叶子节点,只下载数据而

45、不提供上传。服务器S转播者转播者转播者转播者转播者收听者收听者收听者收听者图2.1 整个系统的拓扑结构3.2 基于P2P的应用层多播树的算法设计3.2.1 多播树中节点维护的信息多播树以服务器为根节点,服务器包括索引服务器和音频数据源。根节点维护着一张包含所有节点的列表,包括每个节点的相关信息和多播树整体结构的信息。多播树中的普通节点包括转播peer和收听peer,它们维护的信息描述如下:网络地址。节点在网络中的唯一标识,通过网络地址来定位节点,与之通信。 请求带宽R。节点接受音频数据包所需要的带宽。上行带宽Bi。节点i在网络中本地上传的带宽,决定了节点能够服务的节点总数,上行带宽除以请求带宽

46、,所得商即可连接的子节点数。节点至少需要R的上行带宽才具有服务其它节点的能力。子节点数目Ci以及子节点的列表。Ci为节点i已经拥有的子节点数目,列表包含子节点的地址信息。可用带宽Fi。决定了节点i还能服务的节点数目,即还可连接多少个新的子节点。Fi=Bi-Ci*R。父节点的信息。节点需要知道自己的父节点是谁。在线时长Ti。节点i在该收听频道中的累积在线时间,用以推断该节点在树中的可靠性,在线时长越大,说明该节点立即离开的可能性越小,即越可靠。可靠性高的节点应该尽量处在离根近的地方,以保证整棵树的稳定。到根的延时Di。节点i到服务器的延时,即数据从服务器传输至该节点所用的时间。等于父节点到服务器

47、的延时加上节点到父节点之间的延时。由于多播树通过节点间的相互传递来发送信息, 节点间全部采用单播连接,所以延时越低,在保证服务质量的前提下,节点所能拥有的子树越深。3.2.2 多播树生成算法设计当一个语音服务器新开放时,只有一个服务器作为多人语音多播树的根,若有N个用户请求收听,那么构建初始的多播树有两种方法:一种是一次综合考虑前N个节点的加入请求,根据这N个节点的特性构建一颗高性能高效率的多播树,然后再依到达顺序一个一个地处理后来节点的加入和树中节点的离开;第二种是采取贪心算法,即边加入边生成,把当前请求加入的节点按序组织成队列,一个一个地加入到多播树中,每一次加入都选择在当前看来是最好的位

48、置。由于在一个典型的P2P网络中,网络中的节点来自各个不同域,节点可能在任一时间加入或离开网络,导致网络具有很大的动态性和不可控性,所以应采取后者,生成多播树的过程即加入节点的过程。3.2.3 节点加入算法设计节点加入算法描述了一个节点如何加入一个P2P多播网络,即如何在多播树上选择合适的父节点,以加入多播树获取服务。在对节点的选择时,可以根据不同服务质量的需求采用不同的策略。如果希望得到比较稳定的音频服务,则应选择相对稳定的节点作为父节点,以保证树结构的稳定,如在线时间较长,不会频繁加入或退出系统的节点。如果希望音频服务的延迟小,则可以以延时为主要考虑因素选择父节点;如果希望得到高质量的音频服务,则可选择能够提供高带宽的父节点,这样就不会发生丢

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号