首页 | 最新栏目 | 关于我们 | 读者园地 | 联系我们
计算机与信息技术
  >>>你现在的位置是—最新栏目 

基于P2P流媒体的互动教育平台

杨乐  汪浩
(江西师范大学 计算机科学与技术学院,江西  南昌  330022)
 
    摘 要  本文首先介绍了P2P流媒体技术。然后介绍了如何构建基于P2P流媒体技术的互动教育平台,内容包括系统结构、节点间的P2P流媒体通信、应用层流媒体组播树算法的描述等。最后讨论了系统的应用效果以及值得改进的地方。
    关键词  P2P;流媒体技术; RTP/RTCP协议;应用层组播
 

1  引言

    随着计算机技术和宽带网络的迅猛发展和普及,互联网用户急剧增加,越来多的人使用网络作为主要的学习途径,迫切要求能够有一种能实时传送音频、视频的教育平台。传统上的在线教育平台的广播服务是采用客户机/服务器(C/S)架构。C /S 结构系统在管理上具有优势,但存在以下问题: ①多客户单服务器构架难以应付大规模并发客户; ②实时互动性差,客户间不能实现主动通信; ③鲁棒性低,易出现单点故障,系统容错能力低且易受攻击。随着对等网络(Peer-to-Peer,P2P)流媒体技术越来越被广泛研究和运用,这些问题都得到了解决。使得构建一个具有负载均衡、交互性、自适应、自组织和容错力强等优点的网络教育平台成为了可能。

2  P2P流媒体技术

    P2P即对等计算或对等网络,通常简称为P2P,可以简单地定义成通过直接交换,共享计算机资源和服务。P2P技术从根本上颠覆了C/S(Client/Server)这一传统模式。新的模式模糊了服务提供者与使用者的界限,甚至不再有传统意义上的服务器,服务提供者的作用大为减弱。P2P具有的自组织、容错性好、可扩展性强等优点使其在文件共享,流媒体技术,即时通讯等方面广泛应用。
    流媒体(StreamingMedia)又叫流式媒体,是指采用流式传输方式在互联网上播放的媒体格式,如音频、视频或多媒体文件,用户可以边接收边播放,使时间延时大大减少。
    P2P流媒体技术是P2P网络技术和流媒体技术的结合。在P2P流媒体技术的应用中,多媒体数据经过音频和视频编码后,变成压缩的流数据存储在本地硬盘上供其他用户使用。当收到其他用户的请求后,流媒体数据由传输层应用传输协议对其打包,使用应用层组播技术进行连续媒体分发。

3  构建基于P2P流媒体技术的互动教育平台

3.1 系统结构

    本系统的设计目标是为了给广大网络用户提供一个实时的教育平台。要求系统提供比较好的音频和视频质量,且直播实时性强,能适应较大规模的用户同时使用。设计方案还要具有较好的安全性和可扩展性。系统整体结构如图所示。
    用户进入系统后,DS(目录服务器)把系统中的教育分区信息下载给用户,用户可以在分区中选择一个虚拟教室,系统根据用户的选择,接入虚拟教室P2P流媒体服务器。经过以上的过程,用户就进入了一个虚拟教室,用户就可以收看实时视频讲座。同时用户也可以通过语音、视频与同在线教师、教室内的其他用户交流。图1中的系统构件功能描述如下:
    GKS:网络守护服务器。主要职能是管理系统结构中的所有服务器,确保服务器负载均衡,同时在某个服务器出现故障时,能将该服务器上的业务转移到其他运行良好的服务器上。
    AS、Account Proxy Server: 计费服务器、计费代理服务器:计费服务器上记录着所有用户的教育消费信息,为了确保它不被攻击,用户通常是通过计费代理服务器来交互账目信息。
    DS:分区目录服务器。它里面保留着所有虚拟教室P2P流媒体服务器的接入地址以及相关信息,这些信息可以提供给用户。
    P2P Streaming Meida Management Server: 虚拟教室P2P流媒体服务器。主要是管理教室中的所有用户,帮助用户间打通、管理RTP通信连接,确保用户节点上的负载均衡。


图1

3.2  P2P流媒体通信

3.2.1 流媒体通信结构
    由于系统对媒体数据的实时性要求比较高,所以采用RTP/RTCP(实时传输协议/实时传输控制)协议。实现通信结构如图2所示。


图2

    在本系统中,用户A和用户B同时充当流媒体数据的客户方和服务器方,两者之间直接建立流媒体连接。在实际应用中,用户一般都是一个没有合法IP地址的主机,而是一个局域网内部的主机,其通过网络地址转换(NAT,Network AddressTranslation)将内部地址映射为Internet上的合法IP地址,从而实现网络地址复用。由于NAT构建的网络环境异常复杂,Internet上的主机不能主动访问处于NAT之后的主机,而位于不同NAT之后的主机之间更是无法相互识别而不能直接交换信息。为了解决这个难题,系统采用了在直接RTP连接不可靠的情况下,通过RTP代理服务器来帮组连接,这样可以确保流媒体连接的可靠性。
    系统中的流媒体服务器是针对H. 264格式视频流实时流媒体系统而设计的。服务器的主要功能是接收和处理用户端请求,并根据客户反馈的RTCP报告及时调整帧率、流量以及时间戳,为用户终端音、视频同步提供必要的参数。
3.2.2  RTP /RTCP协议
    IETF制订了实时传输协议/实时传输控制协议(RTP/RTCP,Real-time Transport Protocol/Real-time TransportControl Protocol)族。RTP为交互式音频、视频等具有实时特征的数据提供端到端的传送服务。如果底层网络支持多播,RTP还可使用多播向多个目的端点发送数据。利用该协议可以传送具有实时特征的多媒体数据,它的工作流程是先从上层接收流媒体信息码流(如音频流或视频流),然后封装成RTP数据分组发送给下层,由下层协议提供RTP和RTCP的分流。RTP数据分组自身没有长度限制,它的最大分组长度只受下层协议的限制。RTP数据分组的首部中包含了以下一多媒体信息所采用的编码方式;时间戳(Times-tamp),它使接收端能够根据接收包恢复出发送端的定时信息,降低网络引起的时延抖动,从而实现不同媒体流之间的同步;序列号(Sequence Number),用来在接收端对收到的数据包进行正确的排序以及统计数据包的丢失率。RTCP是RTP的控制协议,负责反馈控制、监测QoS和传递相关信息。系统依据RTCP周期性地与所有会话的参与者进行通信,并采用与传送RTP数据分组相同的机制来发送控制包。通过RTCP控制包可为应用程序动态提供网络当前的信息,据此信息还可对RTP数据分组收发作相应调整,使之最大限度地利用网络资源。RTCP的功能是通过不同的控制包来实现的,RTCP规范了5种不同类型的控制包,通过包首部进行区别,见表1所列。
表1现出RTCP五种不同类型的控制包
类型
名称
功能
200
发送主控制包
(SR)
每一个同步源的时间信息和已恨送的数据8位组的计数
201
接收方控制包
(RR)
发送分组丢失和抖动的报告,以及定时和估计往返时间的信息
202
源描述控制包
(SDES)
拥有信息源的用户描述,包括CNAME
203
再见控制包(BYE)
接收方离开会话
204
应用控制包(APP)
特定应用报告

3.3  应用层流媒体组播树的算法设计

    在P2P流媒体系统中首要问题是将服务器和参与服务的节点组织成应用层组播树。为了有效利用网络传输能力,提高各个节点的服务质量,可以采用多描述编码并最大化各个节点的数据率。显然,组播树的算法结构决定了各个节点所获得数据的能力。
    在实际应用中,由于一般用户主机的服务能力和网络带宽有限,需要限制每个节点服务的子节点的数目,即组播树的节点度。本系统采用最路径树算法,它将节点之间的链路延迟作为构建组播树的度量,以每个节点到根节点路径延时最小作为目标。一般来说,越相近的节点之间的链路状况越好,因而,这种方法有助于提高组播树的吞吐量和实时性。
    算法描述如下:
    在应用层组播树的构建过程中,通常将整个虚拟教室看作一个连通无向图G=(V,E),其中V表示教室中所有节点的集合,每个节点代表一台主机;E表示其中节点构成的所有链路集合.通过计算E中链路上节点间路径延时,作为节点间的链路质量.我们考虑当前组播树共有n个节点,第j个节点出度为dj,节点最大出度数为Dmax.如果某个节点i要加入此组播树,它会向G中的候选父节点发送测试数据,通过测试链路延迟时间Ti,j等因素选择一个节点作为发送父节点。新节点加入组播树后的连通无向图为G′=(V′,E′)。
    节点i选择发送父节点j策略:需满足以下条件:
    (1)满足度约束dj≤Dmax(j)。
    (2)满足足够的链路延时时间Ti,j,Ti,j ≤TmaxDelay。

4  结束语

    本系统已在互联网上发布使用,用户数量具有一定规模。实际使用效果表明,系统结构比较健壮,可以在受网络攻击、服务器死机的情况下不影响系统的正常运行;利用P2P技术可以让用户享受流畅、逼真的音视频服务。但该系统尚有不少需要完善之处,例如应用层流媒体组播树的算法还不太完善、用户节点的资源消耗大等。希望在以后的研究工作中,能进一步完善系统,构建一个适用于大众的教育平台。
    收稿日期:11 月 30 日   修改日期:12 月 8 日
    作者简介:杨乐(1984-),男,江西樟树人,硕士研究生,江西师范大学计算机信息工程学院,07级计算机软件与理论专业,主要研究方向为流媒体与网络通信;汪浩 (1962-),男,江西南昌人,博士,教授,主要研究方向为计算机网络拥塞控制及QoS、计算机网络管理和下一代互联网。

 

 

版权所有 © 2005 《计算机与信息技术》编辑部
地址: 合肥市金寨路155号黄金广场3幢605室 《计算机与信息技术》编辑部
互联网信息服务(ICP)备案编号: 皖ICP备10000534号 网络实名: 计算机与信息技术