当前位置:文档之家› 基于JXTA网络计算平台的P2P文件共享软件的设计和实现

基于JXTA网络计算平台的P2P文件共享软件的设计和实现

JXTA网络计算平台介绍

图2-1客户/N务器网络模型图2-2P2P网络模型

此外,P2P网络也有利于解决公司扩大运营规模、添置新机器时所遇到的问题。从图2?1的客户朋陵务器网络模型中我们可以看到,当网络规模扩大以后,即越来越多的客户机加入到网络中来,服务器的压力会变得越来越大,每增加一个客户机,服务器的性能就会被削弱一点,如果服务器失效,那将会导致整个网络的瘫痪。与之相反,对于P2P网络来说,由于网络中的每个节点都具有同等的地位,即每个节点都会为网络提供一些资源,比如存储空间或者CPU,那么,当越来越多的节点加入该网络以后,该网络的性能将会随之增强。因此,P2P网络盼性能会随着网络规模的扩大而增强,最终将不会碰到客户/服务器网络模型所遇到的扩展问题。

2。3JXTA技术基础

虽然,P2P网络与传统的网络相比具有一定的优势,但是它也存在着一些问题,尤其是现在大多数的P2P系统往往只提供一个单一类型的网络服务,比如

Napster用来音乐文件交换、Gnutella用来普通文件交换。由于每个供应商使用了相互不兼容的技术,不同的网络服务存在着各自的特性,并且它们之间也缺少一个共同的底层基础,从而导致了各个供应商的用户之间的彼此通信受到了阻碍。这些都促成了JXTA工程的提出,该工程的一个主要目标就是提供一个有着P2P网络基本功能的开发平台,尝试用一个简单的、普通的P2P平台来解决目前P2P网络中所遇到的问题,并描绘一个美好的分布式计算世界。

首先,JXTA是为了构建P2P网络雨制定的一组开放的、广义的P2P协议,是解决目前构建P2P网络所碰到的问题的有效方法。该组协议允许任何连接到网络上的设备(从手机到PDA,从PC机到服务器)都可以作为一个节点而相互交流和协作,协议本身是独立于任何编程语言的,并且在不同的环境下可以有不同的实现。该组协议一共由六个协议组成,它们包括:节点发现协议(PeerDiscoveryProtocol,PDP)、管道绑定协议CPipeBindingProtocol,PBP)、端点路由协议(EndpointRoutingProtocol,ERP)、节点解析协议(PeerResolverProtocol,PRP)、集合点协议(RendezvousProtocol,RVP)和节点信息协议(PeerInformation

Protocol,PIP)。使用这些协议,节点可以相互合作来建立自我组织的、自我管

图2-3JXTA的层次结构

2.4JXTA体系结构特点

总体而言,JXTA的体系结构存在着以下三个特点,使之区别于其它分布式网络模型:

1、使用XIvlL文件(广告)来描述网络资源:

J)(TA节点通过一个叫做广告的XML文件发布自己的资源和服务,通过广告来交换JXTA网络上可以获得的任何信息。广告实际上是P2P网络中的“名片”,P2P网络中的任何资源,包括节点、节点组、管道等都可以用广告来描述。大多数JXTA广告的编码是使用UTF.8,它是对Unicodc的一种ASCII编码方式。

uTF_8使用的是8位编码,Unicodc使用的是16位编码,因此可以节省一半的空间。只有在消息体中间可能会使用到完全的Unicodc编码,在消息体里可以指定使用Unicode或者其他的字符集作为编码方式。

XML是JXTA中大多数协议的基础,关键原因在于它得到了广泛应用,能够被很多语言读取,且其合法性可以得到验证。总的来说,使用Ⅺm。格式来创建协议是个很好的选择,它不仅比二进制格式的协议更易于理解与解析,而且使用XML格式,有很多商业或免费的解析器可以使用。XML正在成为很多不同产业中表示数据的标准,所以混合数据与协议就像合并两个XML文档一样简单。

当然,使用XML也有它不利的一面,XML不是一种压缩的数据传送方式,用XML编写的信息往往比由二进制编写的信息大得多。用来改善的技术目前尚待改进,在JXTA中还未被采用。最终,JXTA的核心开发人员创造了一种简单的二进制信息传送方式,并使用简洁的语言和缩写来描述标签名字,但是这也意味着JXTA中采用的XML是不容易被读懂和学习的。

2、统一的节点寻址方式(节点IDs):

节点是一个虚拟的通信点,在一台计算机或者设备上可以有很多个节点,它并不等同于用户,因为~个用户可以由多个节点。节点与特定的网络服务联系得

相关主题
文本预览
相关文档 最新文档