当前位置: → → → → 论文
文章正文

基于P2P的流媒体技术研究

文章分类: -  发表时间:2016-8-27 10:52:26 作者:车军

计算机理论:基于P2P的流媒体技术研究是由hg0088注册(fanwenz.com)为您精心收集,希望这篇基于P2P的流媒体技术研究论文可以给您带来帮助,如果觉得好,请把这篇文章复制到您的博客或告诉您的朋友,以下是基于P2P的流媒体技术研究的正文:

摘  要  传统的流媒体播放方式基于C/S集中式网络模式,对于高带宽、实时性和突发流量这三大困难很难找到行之有效的解决方案。而P2P技术采用分布式网络模式,很好的解决了网络带宽瓶颈等问题。本文提出了一种新的基于P2P技术的流媒体系统架构应用模型,该应用模型融合了P2P技术和C/S技术的优点,可以在网络带宽效率、延时和可靠性三者之间做出更好的权衡。并分析了系统设计中的一些关键技术。     关键词  P2P;流媒体;分层多描述编码;异构性  

1  引言

    随着Internet的迅猛发展和普及,流媒体技术广泛应用于在线直播、视频点播、远程教育、视频会议、数字图书馆等领域。但流媒体的传输对带宽、延迟和包的丢失率等服务质量QoS(Quality of Service)都有十分严格的要求,然而随着用户人数的增多,传统的集中式管理使中央服务器负载过重,使得这些服务质量得不到保障。而对等网络(Peer-to-Peer,P2P)系统具有负载均衡、自适应、自组织和容错力强等优点,因此很多研究者开始将对等网络运用到流媒体的传输中来[1]

    本文在参考近年来国内外的相关研究成果的基础上,提出了一个新的基于P2P的流媒体系统架构模型—P2PStreaming,该模型融合了P2P技术和C/S技术的优点,可以在网络带宽效率、延时和可靠性三者之间做出更好的权衡。

2  基于P2P的流媒体系统

2.1  P2PStreaming系统结构

    如图1所示,本系统采用混合式P2P网络结构,即采用融合C/S模式特点和P2P模式特点的模型,一方面易于实现,可靠性和扩展性高;另一方面,我们可以看出通过把节点管理的功能独立到服务器的管理模块,节点与节点之间交换的数据越多,服务器的负担相对越轻,如果当节点和节点之间交换的数据为零,那么该结构将退化为一个普通的C/S结构,也就是说,即便在最差的情况下系统性能也等同于C/S模式的性能[2]    在系统中,我们采用了基于目录服务的P2P模型,由目录服务器管理整个“内容传输链”,为新加入的客户提供最合适的媒体源,来最大限度地保证整个系统的服务质量,这一点是自组织的、结构比较松散的网络模型很难做到的[3]。图1所示整个系统是由3部分组成:源节点、目录服务器和Peer,图中连线的粗细表示了网络流量的大小,从图中可以看出Peer和目录服务器之间的通信流量只占了整个系统流量的一小部分。主要的通信流量是集中在Peer之间和Peer和源节点之间。系统每个部分的主要功能为: 图1 P2Pstreaming系统结构图     1)源节点:负责提供原始流媒体数据源,并对数据进行分层MDC。源节点逻辑上是与其他节点相同的,只是它是纯粹的资源贡献者,不必下载数据。为了减轻源节点的负担,将源节点的优先级设置为最低,除了最初必须由源节点提供数据外,节点在获取数据时,优先从其它节点获取,除非该节点负荷超出了设置值。     2)Peer:下载所需数据,并进行分层MDC解码观看,同时将自己的数据资源共享给系统中的其他节点。     3)目录服务器:主要负责收集、统计、更新节点信息,并且对节点进行管理;目录服务器是节点的协调者,它存储网络中所有节点的信息列表,使得节点可以迅速地找到其他连接节点,但是它不能处理与媒体流相关的任何数据,只是为发现节点而存在。

2.2  基于分层思想的P2P流媒体系统设计

    在P2P网络中,客户节点不仅只有客户端的功能,也需要具备部分服务器的功能。为了把复杂的问题简化,并且利于以后系统的升级,我们对P2P流媒体系统采用分层的设计方法,如图2所示,从图中可以看出每个客户节点都具有双重的身份,一个是位于现实Internet中,一个是位于虚拟的P2P网络中,P2P网络是把Internet上有共同兴趣的节点归类在一起的一个虚拟的点对点的网络。 图2  P2P流媒体分层结构
    从图2看出,整个系统包括了5层,最底层是Internet,它保证数据包的接收和传送,网络探测层可以获取网络状况的信息,包括带宽和时延的估计,防火墙检测等。P2P层实现与其它客户联系或者信息交换。编/解码层进行分层MDC编/解码,系统利用分层MDC增加数据传输冗余,解决网络异构性的问题[4]

3  系统中关键部分的实现技术

3.1  目录服务器的实现

3.1.1  目录服务器通信的实现     本系统中,节点对服务器的访问通过http协议进行,节点加入P2P网络时,先通过HTTP访问服务器,一般的系统中表现为访问WEB页;接着由节点管理模块将每个加入节点的要求都被逻辑上转化为一个CHTTP请求对象,该请求发送给服务器内的数据库,数据库分配给该请求一个相应的URL值,同时数据库对请求进行解析,产生一个CHTTP应答,将该应答返回给节点管理模块,由它发送给请求节点[5]。 3.1.2  节点的加入和注销     节点登录时通过调用该目录服务器上的登入页面声明它的IP地址和共享资源。服务器的管理模块把节点的IP地址及共享资源信息记录到数据库中。如果执行成功,目录服务器给节点返回代表成功验证信息:如果失败,则返回包含失败原因的文档。当节点要从P2P网络注销时,需要调用该服务器上的注销页面。服务器的管理模块根据该节点的IP地址等信息,从数据库中删除该节点的相应记录。 3.1.3  伙伴列表的获得     如果节点想了解当前存在的其他节点的情况,先请求管理模块,由它查询数据库,把查询结果返回给请求节点,包括其他节点IP地址、所有数据等信息。则节点就可以得到当前存在的其他节点的连接信息,进而和其他节点进行直接通信。节点利用服务器搜索查询特定的节点或共享信息的机制也是如此。

 

3.2  节点的实现

    节点能力或者说异构性级别(Capacity or Heterogeneity Level)的概念至关重要。我们将节点的能力概括为一个包括网络访问带宽、处理器主频、内存容量及外存访问延迟等参数的向量。对于特定的流媒体应用而言,与服务质量关系最为密切的参数就是节点带宽。因此,在我们的模型中,我们把节点的网络访问带宽作为最关键的参数,并根据这个参数来为节点定级。带宽还能很好的描述节点的异构性。这里节点的信息被存储在数据库中,当一个节点请求数据时,节点管理模块通过访问数据库得到节点需要的路由信息,并发送给相应节点,请求节点就向相应的节点发起请求,建立连接,进行数据的传输。 3.2.1  节点间通信的实现     1) 节点间通信的建立过程     节点之间的通信遵循“请求-应答”的模式。节点成功登录服务器后在特定的端口监听来自其它节点的请求。想要发出请求的节点根据请

[1]   

  • 上一篇: 
  • 下一篇: 
计算机理论排行
相关论文
推荐论文
  |    |    |    |    |  
hg0088注册 CopyRight © 2011-2020 www.fanwenz.com All Rights reserved. 备案号:鄂ICP备12012049号 未经授权禁止复制或建立镜像 违责必究