基于P2P技术的教学实例的系统设计

来源 :光盘技术 | 被引量 : 0次 | 上传用户:dingwei1234
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文在提出了应用于教学的P2P模型,针对这个系统的文件共享提出超级节点的思想并给出了模型的设计思想。接着介绍了如何实现对等端的通信--IP打洞,通过Java平台对系统中的即时通信功能和语音聊天功能进行了设计和实现。
  关键词:P2P;Java平台;超级节点
  中图分类号:G434文献标识码:A
  
  Design of the Teaching Case System Based on P2P Technology
  QIAO Zhi-hui
  (School of Electronics & Computer Science and Technology North University of China, Shanxi Taiyuan 030051)
  Key words: design;teaching case system;P2P technology
  
  1 P2P介绍
  
  P2P技术又称为对等计算,是建立在网络应用层上的一种特殊的分布式系统,每一个对等节点都可以通过各自的路由相互通信,实现计算机资源和服务共享的一种应用模式。P2P模式与传统C/S模式的关键区别在于:Peer与Peer在通信过程中,可以去掉服务器的角色,每一个Peer都是平等参与,同时作为服务使用者和服务提供者。这样资源的所有权和控制权被分散到网络的每一个节点中,就可以充分利用网络带宽,减少网络的拥塞状况,大大提高资源的有效利用率。
  目前,网络教学直播系统中用户之间是没有任何联系的,但是采用P2P技术后,用户可以根据他们的网络状态和设备能力与一个或几个用户建立连接来分享数据,这种连接能减少服务器的负担和提高每个用户的视频质量。P2P技术在流媒体应用中特别适用于一些热门事件,即使是大量的用户同时访问流媒体服务器,也不会造成服务器因负载过重而瘫痪。此外,对于多人的多媒体实时通信,P2P技术也会对网络状况和视频质量带来很大改进。
  
  2 基于P2P教学实例的系统设计
  
  2.1系统模型
  在P2P流媒体中,P2P并不是用来取代C/S模式,而是作为一种补充,每个用户节点都有两种方式获取媒体数据:从服务器直接获取或者通过其它节点获取。
  本文所采取的P2P流媒体模型借鉴了DoNet模型中客户端的架构思想来实现Gossip机制。在改进型P2P流媒体模型中将媒体源和节点管理功能进行了分离, P2P流媒体模型的服务器只负责维护并管理系统中的节点信息,而把媒体源分离出来,作为一个特殊的客户端参与系统的数据分发。
  系统的每个节点维护一个伙伴列表,节点可以从服务器或者伙伴节点获取媒体数据。其实,服务器作为一个特殊的节点是所有节点的伙伴。节点和伙伴节点不断地交换各自的缓存信息,然后根据伙伴的缓存信息,通过一定的数据调度算法从伙伴节点获取媒体数据。如下图所示,虚线代表控制消息的传输,实线代表媒体数据的传输。在图中,Peer2,Peer3,Peer4和服务器都是Peerl的伙伴节点,Peerl从这些节点获取媒体数据。节点的伙伴列表并不是固定的,节点在运行过程中会不断的优化伙伴列表。
  


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


  图2 改进型P2P流媒体服务器架构
  服务器主要包括两个模块:节点管理模块和数据服务模块。
  节点管理模块的功能为响应节点请求并且为节点随机选择伙伴节点,同时更新PeerList。协助客户端实现简单Gossip协议,同时负责维护系统中所有节点的信息。数据服务模块的功能为接收并管理其他节点的请求,并发送相应的媒体数据。
  服务器作为整个系统的中央控制服务器,负责管理网络中所有节点,不参与系统的数据分发,维护所有节点的列表PeerList。可以充分进行协助节点实现Gossip协议、节点信息管理等方面。其功能主要在于节点信息的管理与维护。
  2.3节点信息的管理与维护
  本直播系统设计中只存在一个媒体源,而且这个媒体源也总是系统中第一个登陆进来的客户端。其他客户端节点进入网络之后,首先从服务器获取初始的成员列表,记为MemberList。而且MemberList会在程序运行过程当中被动态地更新,但是这些新的节点信息是由节点向自己的伙伴节点请求它们的伙伴列表信息,并非从服务器上获取的,而且将返回的节点添加到自己的成员列表中。
  为了实时地保证PeerList总是反映真实的P2P覆盖网络,服务器通过客户端不断发送消息来监控所有节点的动态情况。服务器为每一个媒体源直播源维护一个保存所有节点信息的列表PeerList。每个客户端通过周期性地发送消息来向服务器证明其存在,如果服务端在预定的时间内未收到客户的消息,则认为该客户端已经下线。
  由于引入了C/S的架构,并且在服务器端记录了系统中包含所有节点信息的PeerList,利用服务器本文设计了一个简单Gossip协议:在简单Gossip协议中,节点并不是通过与本地局部视图中节点的Gossip交互来感知整个网络的规模大小,而是由服务器在检测到系统节点总数发生一定规模的变化时,将网络规模变化通知给所有的节点,但是节点的局部视图仍然遵循SCAMP协议的设计,这样,不用遵循概率约束,覆盖网的所有节点也可以准确地知道网络的大小,以调整自己局部视图的大小。
  2.4 P2P流媒体客户端
  对于客户端的设计,本文主要参考DoNet模型的客户端架构思想,并借助服务器的协助实现Gossip协议。在客户端运行过程中,它作为一个独立的实体参与系统的数据分发,通过不断地优化伙伴节点以及设计良好的数据调度策略,遵循Gossip协议与系统中的其它节点进行交互,这样就可以达到提高本地媒体传输质量的最终目的。
  


  图3 改进型P2P流媒体客户端架构
  如图所示,客户端节点的架构主要包含两大模块:数据接收模块和节点服务模块。数据接收模块负责从其他节点接收媒体数据,主要功能包括:
  (1)伙伴节点管理和缓冲区的更新:动态地维护一个伙伴列表,并不断地更新伙伴的缓冲区。
  (2)数据调度算法,根据伙伴的缓冲区为每个数据片断寻找一个最优的提供者。
  (3)数据接收,根据调度结果同时从多个节点接收数据。节点服务模块负责媒体数据的分发,主要功能为接收并管理其他节点的请求,并发送媒体数据。
  (4)网络监视和QoS控制模块,主要功能为监测目前的网络状况,用于QoS控制。
  2.5伙伴的管理与优化
  节点加入网络后,首先从服务器获取初始的伙伴列表,记为PartnerList,在程序运行中,PartnerList会被动态地更新,节点会不断从服务器中选择新的节点作为新的伙伴,这样做主要有两个原因:
  (1)网络中节点的不稳定性。网络中的任何一个节点都有可能在任何时候离开,为了维护数量相对稳定的伙伴数目,一旦检测到有伙伴离开,需要从服务器获取新的节点加入到伙伴列表PartnerList。
  (2)优化节点的伙伴。好的伙伴应该有比较大的输出带宽,并且物理连接上应该尽可能地近。为了选择更好的伙伴节点,每个节点会为它当前的每个伙伴计算一个分数,在每一轮的调度后,节点会从伙伴列表中删除分数最低的伙伴节点,并从服务器获取一个新的节点作为伙伴节点。
  (3)数据的调度策略
  调度的目的就是根据节点和伙伴的BM信息,如何尽快地从伙伴节点获取媒体数据,不同的调度算法对整个系统的数据分发的性能有很大的影响。数据调度的主要约束有两个:在播放时间的约束下,媒体数据必须在播放时间到达之前获得,否则就没有任何意义;分层可扩展编码中,高层数据对低层数据的依赖,如果在播放时间到达之前没有获得基本层的数据,则所有获得的增强层的数据都无法解码,同样没有任何意义。改进型P2P流媒体中的调度算法采用以下的原则:
  (1)低层数据优先:改进型P2P流媒体调度算法的第一个原则就是优先传输低层的数据,因为在分层可扩展性编码中,高层数据的解码依赖于低层的数据。
  (2)稀少数据优先:在系统中,如果某个片断的提供者越少,就越难满足播放时间Deadline的要求,因此,在改进型P2P流媒体中,节点首先获取只有一个提供者的数据片断,然后获取有2个提供者的片断,依次类推。在获取多个提供者的片断时,在可以保证Deadline的情况下,选择带宽最大的提供者。
  (3)随机选择第一个数据块:稀少数据优先的一个例外就是节点刚加入时选择下载的第一个数据块。从整个系统看,数据的总下载量等于数据的总上载量。在节点刚加入时,没有任何数据可以提供上载服务,所以需要尽快获取一块数据,在获得一块完整的数据之后,节点才开始提供数据分发服务。然而下载稀少的数据往往比较慢,所以在选择第一个数据块时采取随机的方式,在完成第一个数据块的下载后,调度策略转为前两个策略。
  
  3 结束语
  
  随着计算机技术和网络技术的发展,计算机辅助教学发挥着越来越重要的作用,然而其发展深受网络带宽的限制。由于P2P网络技术的日渐成熟,有效解决了网络带宽的瓶颈问题。P2P计算模式的体系结构有着独特的优势,它能利用Internet中的各个节点进行对等计算,充分挖掘Internet空闲资源,在利用率、扩展性、容错等方面具有潜在巨大优势,本文提出了应用于教学的P2P模型,针对这个系统的文件共享提出超级节点的思想并给出了模型的设
  计思想。
  
  参考文献:
  [1]龚海刚.P2P流媒体关键技术的研究进展[J].计算机研究与发展,2005,(12).
  [2]金一强,丁新.P2P技术及其在现代远程教育中的应用[J].现代远距离教育,2007,(02).
其他文献
摘 要:介绍了稳压电源中整流电路、滤波电路和稳压电路的构成,通过Multisim软件对电路的电源参数选择、纹波系数和输出波形进行了仿真与分析.结果表明,利用该软件可以分析设计出满足不同要求的电源分配系统,降低设计复杂度,提高设计效率,缩短设计周期.  关键词:电源系统;Multisim仿真  中图分类号:TP391.9文献标识码:A    Simulation Analysis of DC Ele
期刊
摘 要:C语言是嵌入式系统开发中常用的一种程序设计语言.本文结合嵌入式系统的特点,从编程规范、存储器分配和算法优化三个方面,阐述了C语言在嵌入式软件开发中的代码优化方法。  关键词:嵌入式系统;C语言;代码优化  中图分类号:TP202+.7文献标识码:A  The Code Optimization in Embedded Systems Programing with C Language  
期刊
摘 要:研究开发基于AJAX采用B/S三层结构模式设计的实验开放教学管理系统,介绍了系统的主要功能和多课程混合选课、项目分组选课等创新功能,并分析了系统的实践运行效果以及实验开放教学管理所取得的效果。  关键词:AJAX;大学物理实验;开放教学管理系统  中图分类号:G434文献标识码:A    Exploration of Open Experimental Teaching Based on
期刊
摘 要:针对地质图形数据量大,绘图速度慢的问题,在文中提出了若干方法,有效地提高了绘制复杂地质图形的速度。对于运用AutoCAD绘制地质图的读者来说,该文有一定的参考价值。  关键词:AutoCAD;绘图速度;方法  中图分类号:TP391.72 文献标识码:A    On Methods of the Enhancement of AutoCAD Drawing Speed  WANG Xiao
期刊
摘 要:基于网络的考试系统以其考试组织严格可信、考试结果分析科学合理、考试成本低、考试效率高等优势被各类学校所重视,本文就笔者所在单位的网上考试系统的设计与实现中涉及的开发技术选择、总体设计、数据库设计以及详细设计中的关键问题予以阐述。  关键词:网上考试系统;总体设计;数据库设计;详细设计  中图分类号:G434 文献标识码:A    The Design and Realization of
期刊
摘 要:AJAX是web2.0应用的一种新方法。它并不是一门新的语言或技术,而是几种已经在各自领域大行其道的技术的强强结合,AJAX 混合了DHTML/CSS、DOM、 XML 及 XSLT等几项技术,并且利用 JavaScript来整合上述技术。AJAX为交互较多、频繁读数据、数据分类良好的web应用提供了一个很好的解决方案。  关键词:AJAX;XMLHttpRequest;Web应用  中图
期刊
摘 要:主要阐述了嵌入式Linux设备驱动程序的概念,归纳嵌入式Linux设备驱动程序的共性,探讨嵌入式Linux设备驱动程序具体开发流程以及驱动程序的关键代码,总结嵌入式 Linux设备驱动程序开发的主导思想。  关键词:嵌入式系统;Linux;设备驱动程序;内核    Design and Implementation of Embedded Linux Device Drivers  QU
期刊
摘 要:本文笔者充分应用社会性软件构建起FLASH课程的网络教学支撑平台,连续3个学期利用此平台对学生进行创意培养的研究。通过对实验班和普通班的学生进行对比研究,笔者发现:应用社会性软件构建FLASH课程网络支撑平台进行教学,是培养学生创意的一种有效途径;应用社会性软件构建FLASH课程网络支撑平台,是一种师生双方共同动态构建的过程,具有明显的生成性。  关键词:社会性软件;FLASH课程;网络教
期刊
摘 要:本文提出了一种基于LonWorks技术的智能照明系统设计方案,并利用MiniEVK工具对方案进行了开发。测试结果表明,系统通信效果良好、互操作性强,满足了设计要求。  关键词:电力线载波通信;LonWorks技术;Mini EVK;电力线智能收发器;照明系统  中图分类号:TP18文献标识码:A   Design of Smart Lighting System Based on LonW
期刊
摘 要:本系统设计采用基于DSP和FPGA的双缓冲"乒乓操作"技术,实现了大容量数据的传输。利用EDMA控制器高效地实现存储空间的数据搬移,而DSP的中央处理器则专注于对视频数据信号进行实时处理。经测试本系统完全满足视频信号处理系统的高速实时性要求。  关键字:TMS320VC6713;ACEX1E30;异步FIFO;乒乓操作  中图分类号:TP274.2文献标识码:A    Design of
期刊