您当前的位置:首页 > 计算机论文>计算机应用论文

基于JXTA和P2P的资源发布系统研究

2015-07-11 10:01 来源:学术参考网 作者:未知
摘 要 本文对P2P和JXTA这两个热点技术做了介绍,结合现代远程教育的特点,提出了一个基于对等网的资源发布系统的模型, 并给出了一个采用JXTA CMS的系统实例。
关键词 P2P;JXTA;教学资源

1 引言

现代远程教育的基本特征是学员分散、学习不受时间和空间的限制。学员的分散性和学习的时空性要求教学资源能够方便学生就近获取和持续的提供服务。但是目前的教学资源管理模式是集中式管理,即将所有教学资源存放在中心服务器上,分散的教学点从中心服务器下载各种教学资源。
这存在两个方面的问题:其一,不同地理区域的用户接入网络的速度不一样,提供接入服务的ISP也不一样,在从服务器获取教学资源时,要经过不同的区域网和广域网,容易造成资源下载速度慢和无法在线观看视频教学资源;其二,服务器端易形成带宽瓶颈。这使得人们开始关注远程教育资源的分发问题。为了解决上述的不足,可以采用基于P2P的资源分发策略,在P2P网络上更有效地分发教学资源。

2 P2P与JXTA概述

2.1 P2P

P2P 是英文peer to peer 的缩写,称为对等网。在这种网络中所有的节点是对等的(称为对等点) ,各节点具有相同的责任与能力并协同完成任务。对等网络(P2P)技术,广泛应用于分布计算、文件共享、协同作业以及电子商务等领域中。它不同于传统的C/S网络模型,在P2P对等网络中,每个节点充当的角色是平等的,每个节点既可以充当服务器,为其他节点提供服务,同时也充当客户机,享用其他节点提供的服务。
P2P网络是一个覆盖在物理网络之上的虚拟网。每个节点之间直接或间接地逻辑相连。根据节点之间逻辑联接关系,它有不同于物理网络的拓扑结构的三种网络拓扑结构,分别是集中模型结构、分布式模型结构和混合型网络模型结构。

2.2 JXTA

JXTA是Sun公司推出的一个网络编程和计算平台,用以解决现代分布计算尤其是P2P 计算中出现的问题。JXTA 由核心层、服务层和应用层组成,所提供的协议是JXTA核心层的重要组成部分。JXTA 协议被设计成独立于编程语言和独立于传输协议,它可用Java、C + +、Perl和其它许多编程语言实现,可在TCP/IP、HTTP、Blue Tooth或其它传输协议之上实现。JXTA 通过这些协议来支持各类P2P 应用的开发。
JXTA架构可以分为三个层面:核心层,封装了最根本的东西,包括Peer、对等组、Peer发现、Peer通信、Peer监视和相关的安全原语;业务层,包括对于P2P网络不是必需的、但很通用的功能,如查找、共享、索引、代码缓存和内容缓存的机制;应用层,包括了应用JXTA服务开发出来的完整的P2P应用程序,例如myJXTA,JXTA-CAD等应用程序。

3 系统设计

远程教育一般采用校本部建立中心教学服务平台,省级和地市级学习中心也各自建立教学平台,在分流服务器的区域内采用Browse/Server方式访问。针对校本部的中心服务器与各学习中心的服务器在资源传输方面存在的问题,设想把P2P应用到远程教学服务平台中来,把每台服务器既看成是“服务器”,又看成是普通的“节点”。这样,把校本部服务器与各个学习中心的服务器组成一个P2P网络,利用P2P网络的特性,解决资源传输中的瓶颈问题。
采用P2P模式的远程教学系统既能解决资源传输问题,还能够继续兼容原有的软硬件,实现和原系统的无缝结合。系统的组成结构如图1所示。

4 设计实例

本系统主要使用JXTA 中的CMS(Content Manager Service)来实现,主要包括搜索、下载以及共享等。CMS 是一个在点组中的多个点之间共享内容的服务,它使得Peer 可以共享自己的内容以及定位和获取其它Peer 上的内容,它不仅为本地Peer 管理被共享的内容,也能浏览和下载远程Peer 的内容。
每一个被共享的内容由一个独一无二的内容ID以及一个内容广告来表示。其中内容广告提供了有关被共享内容的元信息,例如它的名字、长度、MIME类型以及内容描述。CMS也提供了一个基于JXTA管道的协议用来在Peer之间传输内容。运行CMS服务的Peer不需要使用HTTP协议来交换内容。其工作方式如图2所示。以下将用CMS实现简单的系统模型。


图1
图2

4.1 搜索的实现

主要是通过搜索监听器类MySearchListener实现。MySearchListener类作用监听其它peer对本机上资源的搜索,实现了接口SearchListener,实现接口下定义的方法queryReceived()方法,当某个peer发出搜索请求,请求到达这台机器时,会激发queryReceived(String)方法,搜索到机器上的资源;
class MySearchListener implements
SearchListener
{
public void queryReceived(String queryString)
{
System.out.println("List request with query “"" + queryString + "“" received.");
}
}
当搜索结果到达时,搜索结果为ContentAdvertisement类的数组,我们首先将结果放到类变量results中,然后将结果显示到Model: result_listModel中;
protected void updateResults(ContentAdvertisement[] results)
{
this.results = results;
result_listModel.removeAllElements();
for (int i=0; iresults.length; i++) {
result_listModel.addElement(results[i].getName());
}
}

4.2 下载的实现

主要通过继承GetContentRequest类来实现,并要实现其中的ActionListener接口。主要代码
public DownloadFile(JFrame parent, Content Advertise mentsource,
File destination){
super(netPeerGroup,source,destination);
dlg=new Dialog(parent,
"Downloading"+destination.getAbsoluteFile().getName());
......
}
4.3 共享的实现
我们首先添加一个方法private void updateLocalFiles(),它的功能是将当前机器的CMS中共享的内容显示出来:
private void updateLocalFiles(){
//ContentManager.getContent() 获取被当前peer共享的所有内容
Content[] content = cms.getContentManager(). getContent();
file_listModel.removeAllElements();
for (int i=0; icontent.length; i++){
file_listModel.addElement(content[i].getContent Advertisement().getName());
}
}
取消原有共享内容,使用cms.getContentManager(). getContent()当前peer共享的文件的ContentAdvertisement数组,然后使用unshared(ContentAdvertisement content)方法将原有共享的内容去除共享。
cms.getContentManager().unshared()
void jButton3_actionPerformed(ActionEvent e){
try{
cms.getContentManager().unshare(cms.getContentManager().getContent() [jList2.getSelectedIndex()]);
} catch(IOException ex){
System.out.println("Can remove shared file!");
}
this.updateLocalFiles();
}
}

5 结束语

通过对P2P 和JXTA 深入的研究,本文提出了一个基于对等网的资源发布系统的模型,该模型可以查看P2P网络中的各种资源,并且可以形成各Peer之间的JXTA通信管道。由于篇幅所限,本文只是提出了理论依据和实例模型,而对于实现资源的发现和查找、节点管理及聚集对等点的优化等没有深入探讨,离形成实用的软件还有很长的路要走,需要大家的共同努力。

参考文献

[1] Scott Oaks , Bernard Traversat , LiGong. J XTA技术手册[M] . 清华大学出版社, 2004
陈宇,唐旭章.基于P2P系统的JXTA技术探析[J].计算机工程,2002,28(10):18-19
Robert Flenner,Michael Abbott,Toufic Boubez等.Java P2P技术内幕[M].北京:人民邮电出版社.2003
汤晟,吴朝晖.P2P-对等网络的未来[J].计算机应用研究,2004,(1):13-16
吴胜浩,钟亦平,张世永.JXTA:新型的网络计算环境[J].计算机工程,2004,30(9):4-6
相关文章
学术参考网 · 手机版
https://m.lw881.com/