基于jxta的p2p即时通信系统的设计

基于jxta的p2p即时通信系统的设计

ID:23500777

大小:55.50 KB

页数:7页

时间:2018-11-08

基于jxta的p2p即时通信系统的设计_第1页
基于jxta的p2p即时通信系统的设计_第2页
基于jxta的p2p即时通信系统的设计_第3页
基于jxta的p2p即时通信系统的设计_第4页
基于jxta的p2p即时通信系统的设计_第5页
资源描述:

《基于jxta的p2p即时通信系统的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于JXTA的P2P即时通信系统的设计随着P2P应用的普及,P2P技术受到广泛关注。本文首先详细介绍了JXTA平台的概念、核心构件和体系结构,然后设计了一个基于JXTA的P2P应用程序开发框架,最后针对这个框架实现了一个即时通信系统。关键词:JXTA;对等X络;即时通信系统;对等体;对等组 中图分类号:TP302.1文献标识码:A:  1.引言  近年来,对等X络模型P2P受到人们的关注,成为热点技术。P2P就是peertopeer,也叫对等X络或对等连接,它与传统的浏览器/服务器(b/s)模式或客户端/服务器(c/s)最大的不同是降低了对服务器的

2、依赖,并且在P2PX络中各peer之间的关系是对等的,peer同时具有client和server的特点。P2P模型无需依赖集中式服务器或资源就可以直接通信,进行文件传输[1]。  P2P技术在宽带X络中具有较强的应用潜力,中科院计算机技术研究所的原所长李国杰先生在2002年的legendent(通告):通告是JXTA的语言无关的元数据结构,用于描述资源。所有的X络资源都用通告表示,例如一个Peer、PeerGroup、管道或一个服务。通告一般以XML文档作为表示形式。2.3JXTA的体系结构  JXTA的体系结构分为三层,如图1所示:(1)JXTA

3、核心  JXTA核心封装了P2PX络的一些最基础的要素。包括为P2P应用提供核心机制的模块,如节点发现、通信传输、对等点和对等点组的建立以及相关的安全原语。(2)服务层  服务层包含一些P2PX络操作中常用的X络服务,这些服务并非必不可少,但却非常有用。这些服务包括查找和排序、指向、文件共享、存储系统、分布式文件系统、资源整合和租借、协议转换、认证及PKI服务等[7]。(3)应用层  应用层包括应用的实现,例如P2P即时通信、文件资源共享、P2P电邮系统、娱乐内容管理和传递、分布式拍卖系统以及其它很多应用程序的整合。应用层和服务层之间并没有严格的界

4、限。  3.基于JXTA的P2P即时通信系统设计3.1需求分析  本系统是一个建立在JXTA平台上的P2P即时通信软件,其功能类似于目前常用的即时通信软件,如、ICQ和MSN等软件。本系统要求能够实现局域X内的即时通信功能,具体的功能有对等点的发现、对等点之间的一对一通信、对等点之间的文件传输和视音频传输以及对等点到对等点组的一对多通信,同时要求系统具有良好的扩展性。3.2X络模型设计  因为JXTA平台本身基于P2P技术设计,可以避免大量信息通过中心节点造成过度负载而引起的系统变慢和崩溃的情况,因此非常适合用于即时通信应用。另外,由于程序基于Ja

5、vaApplet开发,X内节点都必须通过中心服务器获取程序,为了体现P2P的负载分散特性和C/S结构的集中式同步节点状态的优点,这里采用P2P的非完全集中式结构,如图2所示。该结构中所有节点都与服务器相连,上下线信息均通过服务器同步和分发,节点在获取组内其他节点的在线状态后可以不通过服务器而直接与节点相连。3.3模块设计  通过分析,本系统从功能上分为用户界面(GUI)模块、通信模块、资源模块等三大模块。其中资源模块涵盖产生和存储应用需要的所有资源,主要有用户的各种管道广告信息、本机X络资源和国际化资源。如图3所示,三大模块相互协作构成本软件的基本

6、框架。  初始状态下,程序通过入口函数传入用户名等信息,同时完成通信模块和用户界面模块的初始化。接下来将详细介绍用户界面模块和通信模块的设计。3.3.1用户界面模块  用户界面是软件和用户交互的最主要方式,本软件作为企业内部信息系统的子系统,使用Javaapplet实现,设计的原则要求简单明了,另外由于是嵌在X页中的程序,故要求其具有较高的可靠性。因此本界面设计尽量简洁,其总体结构如图4所示。  本界面使用Swing工具包进行开发,它以抽象窗口工具包(AWT)为基础,可以使跨平台应用程序使用任何外观风格。同时,Swing开发人员用很少的代码便可利用

7、Swing灵活丰富的功能和模块化组件创建出优雅的用户界面。3.3.2通信模块  通信模块是程序与外界交互的最重要的部分。本程序的通信机制是在JXTA协议基础上开发的,而JXTA的节点发现机制(Discovery)中发现新节点需要很长时间,非常不适用于局域X,因此本系统重新设计新的节点发现机制。JXTA协议中用于通信的组件主要有Pipe和Socket,其中JxtaBiDiPipe用于节点之间的文字通信和信令传输,JxtaSocket用于节点之间的字节流传输,本系统中用于文件传输,JxtaPropagatedPipe用于对等点组内的广播型文本通信。(1

8、)发现机制的设计  JXTA提供了对等点发现协议(PeerDiscoveryProtocol),对等点之间利用这个协议来发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。