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

P2P网络视频技术在远程教学中的应用

王 新  程绍辉
(燕山大学 继续教育学院 东北大学秦皇岛分校,河北 秦皇岛 066004)
 
    摘  要  本文介绍了P2P网络技术的特点和优势,分析了在设计过程中主要问题。针对节点的加入、退出以及节点列表的维护、内存缓存的策略、数据包的管理和分配等,提出了解决方案。
    关键词  P2P;节点;时间槽;远程教学
 

1  P2P技术概述

    P2P是一种对等网络模型[1],它是Peer-to-Peer的缩写。它最直接的功能就是可以让用户直接连接到网络上的其他计算机,进行文件的共享与交换。也就是由物理上分布的节点组成,以协作方式完成某些任务;这些节点被称作对等实体(Peer),这些实体在执行计算,提供和消费任务的同时也在分担相同的责任。即每个参与的对等方既是内容的消费者,也是内容的提供者。所以说P2P有两个层面上的基本含义:其一,对等网通信模式层面,这种模式区别于传统的客户端/服务器(Client/Server)和主/从(Master/Slave)模式,每个通信方都具有相同的能力,并且每个通信方都可以发起一个通信过程。其二对等网络层面,对等网络是运行在网络上的动态变化的逻辑网络。这个网络是由一些运行同一个网络程序的客户端彼此互连而构成的,客户端彼此间可以直接访问存储在对方驱动器上的文件。可见P2P并不单单是一种技术,更多的是一种思想,也是对传统的客户端/服务器(Client/ Server)模式的一种突破。

2  P2P技术的特性和优势

    P2P技术的特性可以总结为以下几点:
    (1)既是Server,也是Client,如何表现取决于用户的需要,网络应用由使用者自由驱动。
    (2)信息在网络设备间直接流动,高速快捷,降低中转服务成本。
    (3)构成网络设备间互动的基础和应用。
    (4)在使网络信息分散化的同时,相同特性P2P设备重新构成子网,使信息按新的方式再一次集中起来。
    通过以上特性不难看出P2P具有如下优势:
    (1)P2P使用的分布式策略,避免了传统的客户端/服务器(Client/Server)模式中服务集中于服务器所产生的网络宽带瓶颈、性能瓶颈、安全问题。
    (2)由于各实体间可以直接互相交互,大大丰富了宽带资源。
    (3)位于网络边缘数量巨大的设备资源因为有效的集中,从而形成庞大的资源子网和可观的计算能力。

3  P2P网络技术的应用

    P2P网络点播的技术的原理就是在媒体服务器上存好已经压缩好的媒体文件,服务器将媒体文件按照一定的格式分割成多个媒体数据包,然后发送到缓存区,等待客户端提出请求。当一个节点c连接进来,它首先向服务器提出连接请求,服务器会根据当前的网络状态,从服务器或者节点c1,c2,c3 ……找到最优媒体数据包给节点,同时将节点c计入服务器,以备其它节点的连接。如图1所示。
图1  P2P技术下点播系统的模型图

3.1 节点的管理

    节点管理是P2P网络构建中的最基础的部分。它分为节点的加入,节点的退出,节点的维护和节点的更新。                              
    1)节点的加入
    当1个新节点加入P2P网络时,首先它要向服务器提出一个连接请求,而服务器会根据网络资源状况,选择一个节点作为新加入节点的联系人,同时附带新节点的标识(IP)加入到节点列表List中。
    2)节点的退出
    当一个节点正常退出时,它会向节点列表List发出退出请求,所以节点列表List会重新定向。如果是非正常退出,我们采用“心跳”机制[2],即每一个节点周期性的为节点列表List发送信息以说明自己正在正常工作。如果某个节点在一定时间段内没有信息发送,我们就认为这个节点是非正常退出,从而删除这个节点。
    3)节点的维护
    节点的维护主要是针对节点列表里List的维护,节点在List中是以其IP地址的方式记录到节点列表的,由于网络的动态性和不稳定性,我们需要不断更新节点列表。所以就要考虑优化节点列表List,我们采用了类似于DONet[3]模型中优化的策略,即每个节点i会为当的几点j计算一个分数max{Si,j  Sj,i },其中Si,j 表示单位时间内节点i从节点j平均获得的媒体数据包的个数。如果Si,j 比较大表示节点i单位时间内从节点j获得的数据包比较多,同理Sj,i 表示单位时间内节点i向节点j提供的数据包比较多。针对那些数据包交换特别小的节点会被从节点列表List中删除,从而获得理想的节点列表List。

3.2 内存缓存的策略

    在P2P系统中,假设内存得最大缓存量T,即内存最多可以缓存Ts得数据,并定义四个变量来对内存缓存进行描述,分别为:Z表示内存中连续的时间槽的最小位置;M表示内存中连续的时间槽的最大位置;W表示整个内存缓存的最大位置;C表示当前播放位置。对于每个节点来说,这四个值应该满足以下条件:
W-Z=T
M-Z≤2T/3
Z≤C≤M≤W
    内存缓存采用循环队列结构来存储时间槽。缓存中,时间槽的更替采用先进先出的(FIFO)策略。

3.3 数据包的管理和分配

    为了保证不同来源的数据包对应同一个节目,我们需要有一个统一的媒体节目列表Plist,该列表中记录节目文件的ID号、文件、文件存放路径、所属节点等信息。对于数据包的分配采用分片算法。也就是将文件分成n个片段,每个片段分别用x1、x2、……xn标记,在资源节点(RSP)上设置一个计数器Counter用来统计未被请求的片段的个数。在初始阶段,计数器的值设为n,RSP需要维护两个列表:一个是存放未被请求的片段标记列表List1,另一个是是存放已被请求的片段标记列表List2。同时在RSP上设置四个进程:Read(List1 Xi)、Writer(List1 Xi)、Send()、Delete()用来相应请求节点RQP向资源节点RSP发送请求时所执行的具体操作。算法如下:
    (1)Rs初始化计数器,其值为n。
    (2)加入网络的请求节点RQP向资源节点RSP发送请求Request()。
    (3) 资源节点RSP启用进程Read(List1 Xi),从未被请求的片段的列表List1中随机读取标记为Xi的片段,同时启用Send()发送到请求节点RQP上。
    (4) 资源节点RSP启用进程Writer(List1 Xi)Read(List1 Xi)把读取的标记Xi写入List2列表中,并Delete()List1列表中List1的标记Xi,计数器的值改为n-1。
    (5) 如果已加入的请求节点RQPS或者新加入的请求节点RQP向资源节点RSP发送Request()请求时资源节点RSP检查计数器n的值,如果n的值大于0,重复3. 4. 6. 否则转到6。
    (6) 当n的值等于0时,资源节点RSP已经收到n个请求此时它的n个标记为X1,X2,……,Xn的片段都已经分配到系统中,算法结束。

4  结束语

    我们利用了P2P网络技术,解决了客户端/服务器(Client/Server)模式下的网络流量和网络延迟等问题。充分利用客户端的资源,减轻了服务器的负担,提高了远程教学的性能、效率和稳定性,方便了教学的组织和师生之间的交流,获得了客户端的满意,具有广泛的应用前景。

参考文献

    [1] 杨天路 刘宏宇等编著. P2P网络技术原理与系统开发案例[M]. 北京:人民邮电出版社,2007-06.3-13
    [2] 金海,廖小飞. P2P技术原理及应用[EB/OL]. http://www.eefocus.com/article/08-01/16021060157VTZv.html,2008-01-21/2009-10-04
    [3] 杨国燕. 基于P2P技术的网络教学互动系统研究与设计[EB/OL].  http://cdmd.cnki.com.cn/Article/CDMD-10217 -200711-6295.htm,2008-01-21/2009-10-04
    收稿日期:11 月 2 日   修改日期:11 月 9 日
    作者简介:王新(1969-),男,本科,研究方向:计算机网络技术;程绍辉(1970-)男,副教授,博士研究生,研究方向:计算机网络技术。

 

 

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