P2P模型在网络教学直播系统中的应用研究

时间:2022-10-05 12:01:28

P2P模型在网络教学直播系统中的应用研究

摘 要:本文分析了现有P2P模型结合到网络教学直播中的不足之处,并以此提出一个改进型的P2P流媒体直播的模型,该模型融合了C/S和P2P技术各自的优势,通过C/S的方式组织节点而通过P2P的方式分发数据,这使得此系统易于实现,并且有较强的健壮性、扩展性以及带宽适应性。该模型并不是用来取代目前网络教学直播系统的采用的C/S结构,而是作为C/S结构的一种辅助和补充,是对现有网络教学直播系统效率和功能上的一种完善和提高。

关键词:P2P 网络教学 直播

网络教育是一种基于互联网的传播手段进行学习与教育的一种新型的教育培训方式。计算机技术、多媒体技术和互联网技术的发展和普及为网络教育提供了丰富的教育手段和教育资源,网络教育的自主性、开放性等特点导致了庞大的网络教育用户群体[1]。

然而我国的网络教育总体仍处于起步阶段,这些网络教育系统都是基于C/S或者B/S结构,教育资源位于中央服务器上,学员通过客户端(或浏览器)学习。如果学员之间想互相交流,消息必须经过服务器的转发。这种形式的优点是可以容易地实现用户管理和安全控制等功能,系统可维护性好;缺点是这些系统普遍存在着交互性差、个性化差、实时性差、服务器负载大等问题,未能充分利用互联网带来的沟通方便和资源丰富等特点,尤其在网络上的教学直播质量更会受到这种传统模式的很大限制。

1.P2P技术

P2P技术是近年来兴起的一种网络技术,它是一种用于不同PC用户之间、不经过中继设备直接交换数据或服务的技术。P2P技术模式弱化了服务器的作用,甚至取消服务器。所有接入P2P网络的设备都作为一个对等点而组成一个对等网,各对等点既可作为信息的提供者(服务方),也可作为信息的消费者(客户方)。各对等点之间可任意通信而不需通过服务器的中转。每个人可以直接连接到其他用户的计算机,并进行文件的交换,而不需要连接到服务器上再进行浏览与下载。

目前,在我国网络教学直播系统中,基本都是采用了C/S或B/S的架构来实现教学的直播服务,而基于单播的C/S架构的模型并不适合流媒体大规模数据的分发,当连接上服务器的用户过多的时候就会影响直播的服务质量,造成服务器的拥塞。为了提高网络教学中流媒体应用的QoS,基于P2P应用的P2P流媒体技术被提了出来,它把P2P技术应用到流媒体的传输上,每个流媒体用户也是一个P2P中的一个节点。在目前的网络教学直播系统中用户之间是没有任何联系的,但是采用P2P技术后,用户可以根据他们的网络状态和设备能力与一个或几个用户建立连接来分享数据,这种连接能减少服务器的负担和提高每个用户的视频质量。P2P技术在流媒体应用别适用于一些热门事件,即使是大量的用户同时访问流媒体服务器,也不会造成服务器因负载过重而瘫痪。此外,对于多人的多媒体实时通信,P2P技术也会对网络状况和视频质量带来很大改进。

作为应用于教学直播的平台,连接的用户数量必然没有大规模直播时(例如国内国际重要新闻,重大赛事直播以及娱乐直播)所连接的用户多,教学直播基本上用户数量维持在几十至数百上千的范围内,节点的数量制约了教学直播中完全采用P2P网络传输的质量,所以在这个规模下,本文设计的改进型P2P流媒体模型功能在于辅助提升原始C/S模式的传输质量。

2.典型P2P模型概述

目前P2P流媒体模型主要可以分为两大类:基于树状拓扑协议及扩展的模型和基于Gossip协议的模型(Gossip-based protocol)[2]。

最初基于树状拓扑协议及扩展的模型把参与P2P流媒体的节点组织成一棵组播树,树的父节点负责为子节点传送数据。目前,典型的模型是基于Gossip协议的模型(DONet)。

所有树状拓扑协议及扩展的模型都显式地定义了节点与节点之间的关系,而在基于Gossip协议的系统模型中,节点之间不需要构造复杂的拓扑关系。基于Gossip的算法是目前流行的在P2P系统中分发消息的算法,一个典型的Gossip算法中,节点随机地给系统中的部分节点发送消息,每个接收到消息的节点继续向其它节点发送消息,重复这个过程,直到消息被发送给系统中的所有节点。基于Gossip协议的P2P流媒体系统并不显式的构造节点之间的拓扑结构,而是通过Gossip协议,每个节点维护系统中部分其他节点的视图,每个节点动态的和其它节点交换缓存信息,并根据缓存信息交换节点之间的媒体数据。在这种系统中,通常需要比较大的缓存,系统的启动延迟相对比较大。但是,因为每个节点的数据来源并不依赖于某个特定的父节点,所以系统有更强的健壮性。典型的基于Gossip协议的模型为DONet。

3.改进的P2P流媒体模型

C/S模式具有安全性好、易于管理的特点,但是传输的负载过于集中,网络效率低并且难以扩展。而P2P模式把上载分布到所有的节点,网络效率高,扩展性好,但是节点间的组织与通讯比较复杂,需要额外的成本。本文提出一个融合C/S模式特点和P2P模式特点的模型:改进型P2P流媒体。

改进型P2P流媒体模型是基于Gossip协议的实时流媒体数据分发模型,并且类似eMule[3]、BitTorrent[4]的架构设计,采用融合了传统C/S架构和P2P技术的混合式框架来实现的。

在模型设计之初,改进型P2P流媒体模型借鉴了DoNet模型中客户端的架构思想来实现Gossip机制。比较起来,改进型P2P流媒体模型关键的改进点在于:在改进型P2P流媒体模型中将媒体源和节点管理功能进行了分离,改进型P2P流媒体模型的服务器只负责维护并管理系统中的节点信息,而把媒体源分离出来,作为一个特殊的客户端参与系统的数据分发。

3.1系统模型

在改进型P2P流媒体中,P2P并不是用来取代C/S模式,而是作为一种补充,每个用户节点都有两种方式获取媒体数据:从服务器直接获取或者通过其它节点获取。

改进型P2P流媒体的每个节点维护一个伙伴列表,节点可以从服务器或者伙伴节点获取媒体数据。其实,服务器作为一个特殊的节点是所有节点的伙伴。节点和伙伴节点不断地交换各自的缓存信息,然后根据伙伴的缓存信息,通过一定的数据调度算法从伙伴节点获取媒体数据。如下图所示,虚线代表控制消息的传输,实线代表媒体数据的传输。在图中,Peer2,Peer3,Peer4和服务器都是Peerl的伙伴节点,Peerl从这些节点获取媒体数据。节点的伙伴列表并不是固定的,节点在运行过程中会不断的优化伙伴列表。

从系统的整体模型结构上来看,总体框架分为两层结构:1)一层是由服务器与系统中的所有客户端组成的C/S架构,所有客户端均与服务器建立一条长连接;2)另一层是由包括媒体直播源在内的所有客户端构成的一个无结构化的网状节点群,节点之间借由Gossip机制并根据一定的选择策略建立起连接。

3.2 改进型P2P流媒体服务器

改进型P2P流媒体服务器主要包括两个模块:节点管理模块和数据服务模块。

节点管理模块的功能为响应节点请求并更新PeerList,并且为节点随机选择伙伴节点。负责维护系统中所有节点的信息,同时协助客户端实现简单Gossip协议。

数据服务模块的功能为接收并管理其他节点的请求,并发送相应的媒体数据。

改进型P2P流媒体的服务器不参与系统的数据分发,作为整个系统的中央控制服务器,负责管理网络中所有节点,维护所有节点的列表PeerList。在协助节点实现Gossip协议、节点信息管理等方面起到了重要的作用。其功能定位为节点信息的管理与维护。

3.3 节点信息的管理与维护

在此直播系统设计中只存在一个媒体源,媒体源也总是系统中第一个登陆进来的客户端。其他客户端节点加入网络后,首先从服务器获取初始的成员列表,记为MemberList。在程序运行过程当中,MemberList会被动态地更新,但新的节点信息并不是从服务器上获取的,而是由节点向自己的伙伴节点请求它们的伙伴列表信息,并将返回的节点添加到自己的成员列表中。

服务器为每一个媒体源直播源维护一个保存所有节点信息的列表PeerList。为了实时地保证PeerList总是反映真实的P2P覆盖网络,服务器通过客户端不断发送消息来监控所有节点的动态情况。每个客户端通过周期性地发送消息来向服务器证明其存在,如果服务端在预定的时间内未收到客户的消息,则认为该客户端已经下线。

由于引入了C/S的架构,并且在服务器端记录了系统中包含所有节点信息的PeerList,利用服务器本文设计了一个简单Gossip协议:在简单Gossip协议中,节点的局部视图仍然遵循SCAMP[5]协议的设计,但节点并不是通过与本地局部视图中节点的Gossip交互来感知整个网络的规模大小,而是由服务器在检测到系统节点总数发生一定规模的变化时,将网络规模变化通知给所有的节点。这样,不用遵循概率约束,覆盖网的所有节点也可以准确地知道网络的大小,以调整自己局部视图的大小。

3.4 改进型P2P流媒体客户端

客户端在设计上主要参考DoNet模型的客户端架构思想,并借助服务器的协助实现了Gossip协议。在实际运行过程中,客户端作为一个独立的实体参与系统的数据分发,遵循Gossip协议与系统中的其它节点进行交互,通过不断地优化伙伴节点以及设计良好的数据调度策略,达到提高本地媒体传输质量的最终目的。

客户端节点的架构主要包含两大模块:数据接收模块和节点服务模块。

数据接收模块负责从其他节点接收媒体数据,主要功能包括:

1) 伙伴节点管理和缓冲区的更新:动态地维护一个伙伴列表,并不断地更新伙伴的缓冲区。

2) 数据调度算法,根据伙伴的缓冲区为每个数据片断寻找一个最优的提供者。

3) 数据接收,根据调度结果同时从多个节点接收数据。

节点服务模块负责媒体数据的分发,主要功能为接收并管理其他节点的请求,并发送媒体数据。

另外还有一个网络监视和QoS控制模块,主要功能为监测目前的网络状况,用于QoS控制。

3.5 伙伴的管理与优化

节点加入网络后,首先从服务器获取初始的伙伴列表,记为PartnerList,在程序运行中,PartnerList会被动态地更新,节点会不断从服务器中选择新的节点作为新的伙伴,这样做主要有两个原因:

1) 网络中节点的不稳定性。网络中的任何一个节点都有可能在任何时候离开,为了维护数量相对稳定的伙伴数目,一旦检测到有伙伴离开,需要从服务器获取新的节点加入到伙伴列表PartnerList。

2) 优化节点的伙伴。好的伙伴应该有比较大的输出带宽,并且物理连接上应该尽可能地近。为了选择更好的伙伴节点,每个节点会为它当前的每个伙伴计算一个分数,在每一轮的调度后,节点会从伙伴列表中删除分数最低的伙伴节点,并从服务器获取一个新的节点作为伙伴节点。

3.6 数据的调度策略

调度的目的就是根据节点和伙伴的BM信息,如何尽快地从伙伴节点获取媒体数据,不同的调度算法对整个系统的数据分发的性能有很大的影响。数据调度的主要约束有两个:1)在播放时间的约束下,媒体数据必须在播放时间到达之前获得,否则就没有任何意义。2)分层可扩展编码中,高层数据对低层数据的依赖,如果在播放时间到达之前没有获得基本层的数据,则所有获得的增强层的数据都无法解码,同样没有任何意义[6]。改进型P2P流媒体中的调度算法采用以下的原则:

・低层数据优先:改进型P2P流媒体调度算法的第一个原则就是优先传输低层的数据,因为在分层可扩展性编码中,高层数据的解码依赖于低层的数据。

・稀少数据优先:在系统中,如果某个片断的提供者越少,就越难满足播放时间Deadline的要求,因此,在改进型P2P流媒体中,节点首先获取只有一个提供者的数据片断,然后获取有2个提供者的片断,依次类推。在获取多个提供者的片断时,在可以保证Deadline的情况下,选择带宽最大的提供者。

・随机选择第一个数据块:稀少数据优先的一个例外就是节点刚加入时选择下载的第一个数据块。从整个系统看,数据的总下载量等于数据的总上载量。在节点刚加入时,没有任何数据可以提供上载服务,所以需要尽快获取一块数据,在获得一块完整的数据之后,节点才开始提供数据分发服务。然而下载稀少的数据往往比较慢,所以在选择第一个数据块时采取随机的方式,在完成第一个数据块的下载后,调度策略转为前两个策略。

4.总结

本文提出了一个新的改进型P2P流媒体模型,该模型融合了P2P技术和C/S技术的优点,可以在网络带宽效率、延时和可靠性三者之间做出更好的权衡。作为应用于教学直播的平台,连接的用户数量必然没有大规模直播时(例如国内国际重要新闻,重大赛事直播以及娱乐直播)所连接的用户多,教学直播基本上用户数量维持在几十至数百上千的范围内,节点的数量制约了教学直播中完全采用P2P网络传输的质量,所以在这个规模下,改进型P2P流媒体模型的设计在于辅助提升原始C/S模式的传输质量。

改进型P2P流媒体通过C/S的方式组织节点而通过P2P的方式分发数据,其主要特点为:1)易于实现,节点通过服务器集中管理,无需构造和维护复杂的组播树,也不需要部署复杂的P2P组通讯协议。2)健壮性(robust),节点除了依赖于节目源节点,不依赖于任何其它特定的节点。3)扩展性(scalability),通过P2P的方式分发数据,用户越多,分发越快。4)带宽适应性(heterogeneity adaptive),用户可以根据带宽情况控制自己的QoS。

参考文献:

[1]徐宏. 现代远程教育平台的研究与实现. 计算机工程与应用,2002,(4):217-220.

[2]陈洪,刘双与,杨玉华. P2P技术发展与应用. 计算机工程,2003,29(19):127-130.

[3]Yoram Kulbak and Danny Bickso,“The eMule Protocol Specification”, DANSS Lab,Department of Computer Science and Engineering, The Hebrew University of Jerusalem, Israel, Jan 20,2005.

[4]Karl-Andre Skevik,Vera Goebel,Thomas Plagemann, “Analysis of BitTorrent and its use for the Design of P2P based Streaming Protocol for a Hybrid CDN”, Department of Informatics University of Osl.

[5]吴国勇,邱学刚,万燕仔.网络视频流媒体技术与应用.北京:邮电大学出版社.

[6]刘宝旭等.对等网技术及应用概述.计算机工程与应用,2003,18:1.

上一篇:农民工:城乡文明的夹缝人 下一篇:马克思主义“以人为本”思想探析