电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

JXTA概念介绍(翻译)


发布日期:2019/9/20
 

. JXTA定义

JXTA是深入的特别的为了实现pear to pear网络计算而设计的一组(种)协议使用JXTA协议pears能够自己组织和配置自己的pear groups而脱离现在的互联网并且不需要实现集中管理的架构(集中管理架构流行于现在很多pp软件)

. JXTA 概念

Pear同位体

一个可以进行虚拟通信的点可以是一台电脑一个电话pda等一台设备也可以有多个pear(虽然这是个不好的设计但是对于debuging来说很有用)

每一个同位体能够和一些服务联系在一起比如路由网关rendezvous等等这些服务提供了一些比如搜索和通讯的服务

不是说所有的同位体都要实现这些服务但是有一部分实现这些服务确保整个网格的运行还是有必要的

比较通常的来讲一个设备上一般只有一个pear比如进行分布搜索内容共享带宽共享等这样是有好处的然而并不排除一个设备上多个pear因为pear是一个个分开的实体多个pear并没什么问题只是会多消耗一些资源有几种情况我们可以使用一个multipear的设备

. 提供proxy服务

. 与已经存在的服务器建立接口

但是这个已经不必要了可以由其他方法实现比如基于pp的分布式系统所以我们尽量不要建立multi-sever的设备违背true pp的思想

Pear Group同位体组

一个Pear Group是提供一个通用服务的同位体的集合

由于安全以及隐私等方面的原因可以组成一个pear group这个pear group是实现了安全和加密等类似于一个VPN

Endpoint端点

端点是JXTA的基本的寻址形式一个端点是某个同位体实现了某种协议的地址一个同位体可以实现多种协议所以也就可能拥有多个端点

最简单的端点的例子就是ip地址和port

Pipe管道

管道在JXTA中是最基本的概念是对等点之间的数据传输的主要方式对等管道协议(PBP)明确规范了对等管道的绑定解析响应

有两种形式

. 点对点形式

. 广播形式

Endpoint and Pipes:端点和管道

一个同位体可能含有多个端点-因为实现了多种协议比如我们可以用tcp进行连接也可以用http进行连接-当有firewall的时候

如果觉得一个pear实现多种协议很麻烦也可以只用一种协议http

Advertisement:广告

一个广告是一个XML结构的文档用来命名描述和公布现有的资源如同位体同位体组管道或服务各种广告的格式请参考JXTA规范

大概说明

广告的格式是utf编码的为了更有效的利用资源所以并没有利用unicode编码因为unicode是位而utf

Message消息

有两种形式的消息

. Xml格式的

. 二进制格式的之所以有这个格式的是因为这个速度比较快虽然message是二进制的但是传输消息的协议仍然是xml格式的

Identifiers标志

Rendezvous Pear:

从其他同位体进行查询操作的同位体Rendezvous Pear也可以委派查询操作给其他的pear-当然也必须是一个Rendezvous PearRendezvous Pear其实可以说是在一个对等网络环境中代替原来的非完全对等环境中的集中服务器的东西

Rendezvous Pear还能够传递检索也能够传递发现(discovery)给其他的Rendezvous Pear

Router Pear路由同位体

实现端点协议的同位体和路由器功能类似

Gateway Pear网关同位体

通讯的中间体作为传递消息的中间体和Rendezvous Pear不同现在支持的网关协议有tcp和http(都是通过管道来组织)

. 同位体和组(peer and group)

为什么使用组?

安全隐私更加高效的数据共享

. 广告(Advertisements)

同位组广告

定义这个同位组的识别标志和服务

Name

DESC

GID(Peer group id)

MSID

SVC(Service)-list of the service denoted by MCID and Parmeters

Peer Advertisements

同位体广告

Name

DESC

PID(Peergroup id)

Debug Flag(Dbg)optional tag for debugging

Service(SVC)

模块Modules

模块是定义了一个同位体或者一个同位体组所提供的服务

模块类广告Module Class Advertisement

定义了一种行为

格式:

MCID(Module class id)Module唯一的识别标志

Name模块名称用来进行search和识别不保证唯一

DESC(Descripition)描述:供搜索和识别用

模块规范描述广告-Module Specification Advertisement

比较详细的描述模块的规范定义

Module Spec ID(MSID)定义一个模块-和MCID有和区别?

Compatibility(COMP)兼容性定义代码的兼容性跨语言和跨平台

Name

Desc

Sprcification URI document.定义URI

Vers-the version

Parm-定义参数-供Implementation使用

ProxyModuleSpecID of a proxy if one exists

AuthenticatorModuleSpecID of an authenticator module if required

模块执行广告

Name

DESC

MSID

COMP

PURI(Package URI)Download the special code

Codea reference codefor a java modulethis is a classname

Prov(Provider)

管道广告-Pipe Advertisements

Name

ID

TYPERelated to a protocol unicasttypeunicastsecuretypepropagatetype

端点路由信息Endpoint Router Messages

查询和回应消息以发现Router分查询和回应两类Messages

消息Messages

分为XML message和Binary Message

管道绑定协议Pipe Binding Protocol

要建立管道一个peer必须宪发布一个管道广告表示自己在request接收方会回应并同时发布广告

Request Adv

MsgtypeQuery or Respond

PopeIdPipe id being resolved

Typethe type of pope resolution requested

Cachedcache里是否有答案

Peer指定链接的peer

Response Adv

Msgtype

Pipeid

Type

Found

Resolver-解释器

用来发现来自对等组内其它对等机的广告有助于发现对等机对等组管道和服务

解释器的ResolverQuery message的schema

credential信任证书 of the peer sending the query

HandlerName

QueryID

Query

Rendezvous Protocol:

描述了消息是怎么在组里面广播的

使用端点协议来定位同位体和路由以及传输

使用Rendezvous Protocol来传输消息

Rendezvous ADV:

Name

Rdvgroupidpeergroup uuid

Rdvpeeridpeer id of the Rendezvous peer

上一篇:多线程对多个客户端的监听

下一篇:高级技术分析:绿色和本地线程简单介绍