APP下载

基于JXTA的P2P实例的研究与实现

2013-03-11李淑霞

网络安全与数据管理 2013年14期
关键词:通告端点用餐

李淑霞

(河南工业职业技术学院 计算机工程系,河南 南阳473000)

B/S或者C/S的应用模式已经无法满足网络上大文件的共享,就产生了一种新型的点对点技术,出现了“我为人人,人人为我”的P2P模式,这为互联网的分布、共享精神带来了无限的遐想。

1 P2P技术

P2P是英文Peer-to-Peer的缩写,该名字意味着P2P网络中各个节点之间的关系是对等的,无需经过任何中心节点直接与服务器联系。P2P系统分类如图1所示。

图1 P2P系统分类

随着Napster[1]、Gnutella[2]及ICQ类P2P系统的出现,P2P的技术优势以及在未来网络中的应用价值逐渐体现出来,在工业界和学术界都受到了高度的重视。许多大公司及新兴公司,如Intel、HP等都成立了P2P工作组从事这一技术研究。

2 JXTA技术

JXTA是一种标准平台,它提供了开发分布式服务和应用程序的基本组件,JXTA具有以下优越性[3-5]:

(1)互操作性。它可以使各种P2P系统互联,无缝地提供服务。

(2)平台无关性。它与开发语言、操作协议及网络协议都没有关系。

(3)无处不在性(设备无关性)。只要这个设备遵循这个协议,都可以建立P2P系统,如图2所示。

图2 JXTA的层次结构

第一层是JXTA的核心层,包括Peer、对等组、Peer发现、Peer通信、Peer监视和相关的安全原语。

第二层是服务层,提供访问JXTA协议的接口。

第三层是应用层,让应用程序访问JXTA的网络和服务。

3 餐馆拍卖模型

拍卖系统被设计为包含2个组成部分:一个用户接口(前端)和一个JXTA集成(后台)。用户接口将为用户显示对等体和对等组的信息[6],以便用户能监控其他对等体和对等组,而对等体和对等组信息的更新是通过JXTA的后台实现的。

由图3所示的餐馆拍卖模型可知:

图3 餐馆拍卖模型

(1)RestoPeer加入或创建一个对等组,广播自己的基本信息通告,建立自己的输入管道端点,餐馆A和餐馆B分别加入NetPeerGroup,并在小组内部广播自己的服务通告,建立属于自己的RestoNet小组。

(2)用餐者1、用餐者2和用餐者3分别加入NetPeer-Group,在小组内部广播自己的服务请求,分别根据接收到的通告,根据自己的爱好,加入相应的RestoNet小组,建立对应的输入管道端点;发送广告通告,寻找适合自己的RestoPeer,建立输出管道端点。把自己所要请求的信息[7]先转化为结构化文档(即XML文档),通过已经建立的管道发送给相应的RestoPeer。

(3)餐馆加入对等组,向组中的用餐者发送自己的需求通告,从输入管道中获取信息,转化为结构化文档,读取消息的各个部分,根据消息的内容,将自己的拍卖信息转化为XML文档,建立输出管道端点,发送给所对应的用餐者。

(4)用餐者选择餐馆发送确认通告,发送自己所能接受的价位,拍卖竞标过程完成。

4 餐馆拍卖系统的流程图

餐馆拍卖流程是在一个RestorPeer和一个HungryPeer两个人之间进行的。拍卖系统流程图如图4所示。

(1)RestoPeer在NetPeerGroup的引导下完成自身的初始化,并加入NetPeerGroup小组,若没有发现,则建立一个新的NetPeerGroup对等组。

(2)对RestoPeer这一对等组来说,首先试图通过Net-PeerGroup的发现服务或PDP去发现RestoNet对等组,如果找到RestoNet则加入这一对等组,如果找不到则创建一个新的RestoNet对等组。

(3)对HungryPeer而言也是在NetPeerGroup的引导下,完成自身的初始化,并加入NetPeerGroup小组,接下来加入RestoNet对等组。加入RestoNet的RestoPeer后,发现了一个RestoPeer发布的管道通告,根据管道通告,建立自己的输出管道,把适合自己的RestoPeer加入到自己的通信列表中,并与相应的RestoPeer建立连接,创建一个输出管道端点,将自己的就餐请求转化成结构化文档,并压缩成消息的格式,通过输出管道将消息发送出去。

(4)RestoPeer从输入管道中获取消息,并转化为结构化文档,获取消息的各个部分,创建输出管道端点,根据相应的请求,发出自己的出价响应,并把消息转化为XML文档,通过输出管道,发送消息到HungryPeer。

图4 拍卖系统流程图

(5)HungryPeer获取消息,根据消息所提供的信息,选择能很好满足自己的就餐信息,对RestoPeer发出定单。

本文利用JXTA平台的P2P技术开发一个网上餐馆拍卖系统,详细描述了从对等组的搜索、建立到两个对等体的发现、相互通信直到通信的结束,对从事P2P相关应用程序的开发具有很强的指导意义。

[1]胡忠红,王以群.基于P2P技术的信息网络[J].中国信息导报,2003(4):58-59.

[2]FLENNER R.Java P2P技术内幕[M].北京:人民邮电出版社,2003.

[3]Li Gong.JXTA:a network programming environment[J].IEEE Internet Computing,2001,5(3):88-95.

[4]吴胜浩,钟亦平,张世永.JXTA:新型的网络计算环境[J].计算机工程,2004,30(9):4-6.

[5]黄小琴,黎星星,朱庆生.对等网络技术的新发展——JXTA[J].计算机科学,2003,30(1):104.

[6]WATERHOUSE S,DOOLIN D M,KAN G,et al.Distributed search in P2P networks[J].IEEE Internet Computing,2002,6(1):68-72,116-117.

[7]陈姝,方滨兴,周勇林.P2P技术的研究与应用[J].计算机工程与应用,2002,38(13):20-23.

猜你喜欢

通告端点用餐
非特征端点条件下PM函数的迭代根
文明用餐
文明用餐
国家药监局关于7批次药品不符合规定的通告
不等式求解过程中端点的确定
用餐时间
参数型Marcinkiewicz积分算子及其交换子的加权端点估计
奇妙的用餐之地
基丁能虽匹配延拓法LMD端点效应处理
关于实行参考文献新规范的通告