卫思瑜
(陕西职业技术学院 陕西 西安 710100)
网络教学系统是建立在因特网或者校园网络上的一种虚拟的教育教学的环境,通过该平台可实现授课、交流、资源共享和自主学习等方面的功能。网络教学已经成为当前我高校教育教学改革的重要方式,并被应用在各个课程教育中。当前大多数的网络教学辅助系统通常采用B/S或者是C/S的访问模式,其中教育教学资通常集中在系统的服务器端,各用户PC端不能实现对学习资源的交换。通过这样的方式虽然可满足课堂的需要,但是还是存在以下几方面的问题:第一,单点故障问题。由于学习资源为服务器端提供,一旦服务器端出现问题,则该系统无法运行;第二,成本高昂。为更好的满足系统的需求,需要架构各种不同的教学服务,同时随着客户端的增加,对服务器和数据方面都提出了更高的要求;第三,扩展性差。当用户在增多的情况下,需要增加昂贵的服务器的数量来提供更为稳定的服务。对此,针对上述对问题,本文提出一种基于P2P模式的教学辅助教学系统,并以思政课程为例对系统实现进行了研究。
P2P技术作为一种应用技术是在上个世纪的90年代被人们所提出,其主要是利用整个网络中的节点进行对等的计算,从而可充分的挖掘出该网络中存在的空间资源,并在容错性、利用率和扩展性等方面都具备很大的优势。第一代的P2P是以Napster作为代表,通过利用中央服务器的方式对索引的资源进行保存。但因为其存在单点问题,在改进后采用分布式结构,但需要通过采用泛洪的方式才能进行通信,耗费大量的网络资源;第二代则以DHT为代表,旨在通过构筑结构化的P2P网络,实现对资源的的精确定位和查询。当前针对P2P的研究在主要集中在基于拓扑匹配的网络建构方面,希望通过物理网络来改善整体P2P的性能。
在P2P模式中,JXTA作为SUN公司所开发的一个开放式的编程平台,主要分为三层:核心层、服务层和应用层。其中核心层主要包括所需服务的核心的功能;服务层则主要为用户提供访问JXTA协议的接口,该协议主要由6个组成:1)Peer Discovery Protocol(PDP):节点发现协议,主要用在对节点资源的发现;2)Peer Information Protocol(PIP):节点信息协议, 主要用于对节点状态的获取;3)Pipe Binding Protocol(PBP):管道绑定协议,用于构建节点间的虚拟管道;4)Endpoint Routing Protocol(ERP):端点路由协议,用于节点间的路由路径发现;5)Rendezvous Protocol(RVP):汇聚点协议,用于节点成为组播协议的发布者。 6)Peer Resolver Protocol(PRP):节点解析协议,用于对节点的查询/回应消息的解析。由此通过上述6个组成部的共同协作,从而完成对P2P网络当中节点的发现、监控和交流;应用层主要提供访问服务层的接口和对JXTA网络的构建。
文中以思政课程为例,在构建该教学系统之后,思政课程学习者可通过视频点播的方式实现对视频资源的流畅观看,并借助文件共享的功能实现对资源的下载。如果学生在学习思政课程的问题中遇到相关的问题,可通过该系统的交流功能实现和老师的交流。同时在借助现代P2P网络发展模式,本文采用P2P混合网络,该网络是传统P2P模式的改进版,用公式表示则为。该模式的工作方式为:第一步,用户下载安装客户端,向软件服务器发出去下载的请求;第二步,在互联网上检索相关的资源,当服务器在发现匹配资源之后,将该信息记录到数据库当中;第三步,对资源进行优化,如服务器听到资源有限或者是在用户所处的局域网内,及可采用P2P技术;第四步:如不存在上述的第三步情况,则采用P2S模式,返回资源信息给用户;第五步:在P2P网络中的所有的资源可同时下载,包括镜像服务器、互联网上的用户。这种模式以当前使用比较流行的迅雷软件作为代表,其优点在于通过客户PC端即可实现发出资源搜索指令;中央服务器结合PC指令可实现无边界搜索;可根据实际情况选择P2S或P2P模式。对此,该系统结构具体见图1所示。
图1 系统架构Fig.1 System architecture diagram
通过图1可以看出,通过目录服务器对该系统中节点的统一的管理,从而有效的缩短了对节点资源的发现和定位时间。而各个节点则根据目录服务器获取的节点信息,根据历史的记录自动的对相关的请求进行调整。而目录服务器则作为该系统控制的核心,通过组织不同的内容服务器,为客户端提供服务,同时组织多个不同的客户端间的交互节点信息,使得在该系统中的客户端能够获取内容服务器和其他客户端的情况。内容服务器则从视频源当中获取相应的思政课程数据,以此响应客户端的文件/视频源内容数据获取请求。当内容服务器启动的时候,将其搜索到的视频资源全部传递给目录服务器。而目录服务器则记录内容服务器搜索到的每个资源信息,以此提供目录索引服务。客户端则通过系统前端的获取需要观看的思政课资源或思政课程文件的url地址。在客户端得到该文件地址后,与目录服务器建立相关的连接,通过P2P协议从内容服务器获取相关的文件内容数据。
对该系统的设计主要包括客户端和服务器端。其中服务器端包括资源的发布、更新、删除;管理员登陆;用户管理;数据库服务器;流媒体服务器等功能。同时针对纯P2P当中相关思政课程文件资源不容易管理和容易中断的问题,通过设置网页服务器的方式用于对文件的存放;客户端则主要包括视频点播、资源共享与下载;登陆、注册等功能(见图2)。
图2 客户端功能设计Fig.2 Client functional design
基于P2P混合技术的用户点播流程设计则如图3所示。
图3 视频点播实现流程Fig.3 VOD implementation process
其具体的流程为:
1)用户登录到P2P服务器端;
2)将P2P视频点播的内容发布到服务的网页,在找到用户所需的相关思政课程资源,如马克思哲学、马克思经济学等视频资源之后,P2P流媒体客户端程序对该视频资源进行唯一的标识,以区别其他的视频。
3)点播系统连接资源管理服务器,通过唯一的标识找到该内容节点的资源列表,并通过该内容节点的属性(如客户端ID号,IP地址等)对内容节点进行调度。
4)在收到内容服务器和响应的节点间的连接之后,通过Socket连接将视频资源通过缓冲的方式进行存储。其具体实现的关键代码为:
socket=SS.accept();
DatalnputStream fis l=new DatalnputStream(
new BufferedlnputStream (new FilelnputStream(filePath)));
DataOutputStream ps=new DataOutputStream(socket.getOutputStream0);intbufferSi2e=1024;
byte[]buf=new byte[bufferSi2e];while(true){
int read=0:
if(fisl!=null){read=fisl.read(bur);}
if(read=-1){break;}
ps.write(bur,0,read);
}
}
ps.flush();
fis 1.close();
socket.close();
5)在播放相关思政课程视频的同时,将视频资源存储到客户端本地存储当中,并不间断的与资源管理器汇报视频资源存储的情况。
通过对该系统的设计,实现了对视频点播资源系统的实现,通过该系统,用户通过对内容的搜索,即可实现对思政课程视频资源的点播。同时当该系统在运行一段时间后,其传输速度与传统的C/S或者B/S模式都有着较大的提高,具有一定的实用性和推广性。
[1]黄海,庞涛,武娟.P2P网络技术研究现状与展望[J].计算机科学,2012(S1):178-183.HUANG Hai,PANG Tao,WU Juan.Situation network technology research in the P2P and prospects[J].Computer Science,2012(S1):178-183.
[2]孙洪迪.一款基于P2P技术的游戏网络引擎的设计 [J].北京工业职业技术学院学报,2011(3):27-30,99.SUN Hong-di.Design a P2P network game engine technology[J].Beijing Polytechnic University,2011(3):27-30,99.
[3]方启明,杨广文,武永卫,等.基于P2P的W leb搜索技术[J].软件学报,2008(10):2706-2719.FANG Qi-ming,YANG Guang-wen,WU Yong-wei,et al.Wleb search technology based on P2P[J].Software,2008(10):2706-2719.
[4]吝春妮.基于混合P2P技术的远程教学系统的设计 [J].网络安全技术与应用,2013(7):5-6.LIN Chun-ni.Distance learning system designed hybrid P2P technology[J].Network-based Security Technologies and Applications,2013(7):5-6.
[5]金顺福,王晨飞,尹春霞,等.混合P2P网络中固定节点延迟修复策略的性能分析[J].小型微型计算机系统,2014(6):1315-1319.JIN Shun-fu,WANG Chen-fei,YIN Chun-xia,et al.Hybrid P2P network latency repair strategy performance analysis of fixed nodes[J].Computer Systems,2014(6):1315-1319.
[6]王文宏,王凤蕊,潘全科.基于P2P计算的教育资源库共享系统设计与实现[J].计算机工程与设计,2007,28(23):3130-3132.WANG Wen-hong,WANG Feng-rui,PAN Quan-ke.Based P2P computing general education resource library sharing system design and implementation[J].Computer Engineering and Design,2007,28(23):3130-3132.