(电路与系统专业论文)基于jxta的p2p即时通信系统的实现.pdf_第1页
(电路与系统专业论文)基于jxta的p2p即时通信系统的实现.pdf_第2页
(电路与系统专业论文)基于jxta的p2p即时通信系统的实现.pdf_第3页
(电路与系统专业论文)基于jxta的p2p即时通信系统的实现.pdf_第4页
(电路与系统专业论文)基于jxta的p2p即时通信系统的实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(电路与系统专业论文)基于jxta的p2p即时通信系统的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着传统c s 模式的即时通信系统应用日益广泛,实现的功能日 益丰富,造成使用人数呈现井喷式的发展。但是,由于c s 网络过分 依赖于中央节点,导致中央节点不堪重负。与此同时,p 2 p 技术正飞 速发展,这种点对点的方式使得大量的网络应用不再通过中央服务器 来实现,而是直接由两台或多台可以网络互联的节点计算机来实现。 这样便可以将网络的负担分摊到每台要使用各自资源的计算机上,而 不集中在中央服务器上。 本文深入的分析了目前即时通信系统的发展状况和研究背景。并 根据s u n 公司推出的p 2 p 平台一j x t a ,设计了基于j x t a 平台的p 2 p 即 时通信系统,用来解决c s 模式下中央服务器性能瓶颈所带给整个即 时通信系统的困扰。j x t a 根据p 2 p 应用系统的通用需求,抽象出了 底层的功能组件和协议,并将接口和类提供给了应用程序的开发者, 使开发人员不用去关心底层的实现,只要做具体应用系统的开发。本 系统的开发便是基于j x t a 平台采用j a v a 语言来实现的。系统的主要 功能包括了节点成员的管理,对等组的创建和撤销,节点之间的文本 通信,节点之间资源共享和利用j a v a 的j a v a s o u n d 开发包来实现节 点之间的音频通信。 本文所做的主要工作包括:详细分析和介绍了即时通信系统的发 展,传统的c s 模式的即时通讯系统所遇到的问题,以及p 2 p 模式即 时通信系统的优势所在;深入研究了j x t a 平台的各项核心功能组件、 核心协议和基础构架;在系统的具体实现上首先对即时通信系统做总 体的需求分析,并根据需求分析设计网络模型,分析采用这种网络模 型的原因并在系统中做出具体的实现和部署:最后对系统的总体功能 进行分析,并对具体的功能模块进行划分设计、分析和实现;在测试 系统方面,先搭建模拟的网络环境,对系统的各个功能模块进行测试, 测试结果表明设计的系统完成了预期的各项功能。 关键词:p 2 p ,j x t a ,节点,对等组,功能模块 , a b s t r a c t h o w e v e r ,t h ec sn e t w o r kiso v e r r eli a n c eo nt h ec e n t r a l n o d e ,l e a d i n gt ot h ec e n t r a ln o d e o v e r w h e l m e d t h i sp 2 p a p p r o a c hm a k e sal o to fp 2 pn e t w o r ka p p l i c a t i o ni sn ol o n g e r a c h i e v e dt h r o u g hac e n t r a ls e r v e r ,b u td i r e c t l yb yt w oo rm o r e c o m p u t e rn o d e sw h i c hi n t e r c o n n e c t e dt oa c h i e v e s ot h a tw ec a n s h a r et h eb u r d e no ft h en e t w o r kt oe a c hc o m p u t e r ,w h i c hu s i n g t h ei rr e s o u r c e sr a t h e rt h a no nt h ec e n t r a ls e r v e r w em a d ea ni n d e p t ha n a l y s i so ft h ec u r r e n td e v e l o p m e n ta n d b a c k g r o u n do fr e a l ti m ec o m m u n i c a ti o ns y s t e m s a c c o r d i n gt o t h es u nc o m p a n yw h i c hi n t r o d u c e dt h ep 2 pp l a t f o r mj x t a ,j x t a p l a t f o r mi sd e s i g n e db a s e do np 2 pr e a l t i m ec o m m u n i c a t i o n s y s t e mt os o l v et h ep r o b l e mt h a tt h ep e r f o r m a n c eb o t t l e n e c ko f t h ec e n t r a ls e r v e rt ot h ew h o l er e a l ti m ec o m m u n ic a ti o ns y s t e m t h es u nc o r p o r a ti o no p e n e du ph iso w np l a t f o r mj x t ao fp 2 p t h e j x t ah a sa b s t r a c t e dt h eb o t t o mo fc o m p o n e n t sa n dp r o t o c o l so f f u n c t i o n sf r o mt h es y s t e m so fp 2 pa p p l i c a t i o n s i to f f e r st h e i n t e r f a c e sa n dc l a s s e st ot h ed e v e l o p e r s ,s om a k et h e d e v e l o p e r sd o n tc a r et h eb o t t o ma c h i e v e m e n t t h eo n l yt h i n g s i i i w h a tt h ed e v e l o p e r sw a n t st od oi st od e v e l o pt h ea p p l i c a t i o n s t h es y s t e mw h ic hd e v e l o p e db ya u t h o risb a s e do nt h ej x t a t h e m a i nf u n c t i o n so ft h es y s t e mi n c l u d e st h em a n a g e m e n to fm e m b e r s o fp e e r ,t h ec r e a ti o na n dr e v o c a ti o no fp e e r g r o u p ,t h et e x t c o m m u n ic a ti o no fp e e r ,t h er e s o u r c e ss h a r i n gb e t w e e np e e r s ,a n d t h es o u n dc o m m u n i c a t i o nb e t w e e np e e r sw h i c hd e v e l o p e db y j a v a s o u n d t h em a i nw o r ko ft h isp a p e r s :i th a sm a d e i n t r o d u ci n ga n d a n a l y z i n go ft h ed e v e l o p m e n t so fi n s t a n t - m e s s a g i n gs y s t e m s , a l s of o u n do u tt h ep r o b l e m sw h i c ht h et r a d i t i o n a ls y s t e m so f c sh a sf a c e d ,a n dt h ea d v a n t a g e so ft h ei ms y s t e m so fp 2 pi n d e t a il i tm a d es e a r c h i n go ne v e r yc o r ec o m p o n e n t s ,p r o t o c o l s a n dt h eb a s i ca r c h i t e c t u r ed e e p l y i th a sm a d ea n a l y z i n go nt h e e n t i t l ef u n c t i o n sa n dr e q u i r e m e n t so ft h es y s t e m w ea l s o p a r t i t i o n st h em o d u l e so ff u n c t i o ns p e c i f i c a l l y w eh a sm a d e 目录 摘要i a b s t r a c t ii l 第一章绪论1 1 1 研究背景和意义1 1 2 国内外研究现状3 1 3 本文的主要工作6 1 4 本章小结7 第二章技术背景8 2 1p 2 p 技术简介8 2 1 1p 2 p 网络拓扑结构8 2 1 2p 2 p 的核心技术1 1 2 2j x t a 技术介绍1 3 2 2 1j x t a 的特性1 4 2 2 2j x t a 的结构一1 4 2 2 3j x t a 核心组件1 5 2 2 4j x t a 的核心协议族1 9 2 3j a v a 多媒体技术2 1 2 3 1j a v a s o u n d 的体系结构2 1 2 3 2j a v a s o u n d 的输入输出工作原理2 3 2 3 3j a v a s o u n d 常用的类、接口和它们之间的关系2 3 2 4 本章小结2 5 第三章系统的网络模型和总体功能分析2 6 3 1 系统的总体需求分析2 6 3 2 系统的网络模型2 8 3 2 1 单一r p i 遍历2 9 3 2 2 带优先级的双r p i 遍历3 0 3 3 网络中的实体3 l 3 4 系统的模块设计3 l 3 4 1 节点登录模块3 2 3 4 2 对等组管理模块3 3 3 4 3 文本通信模块3 4 3 4 4 语音通信模块3 5 3 4 5 文件共享模块3 5 3 5 本章小结3 6 第四章系统的具体实现3 7 4 1 搭建开发环境3 7 4 2 对等组管理模块的实现3 7 4 2 1 创建对等组3 8 4 2 2 加入( 查找) 对等组3 9 4 2 3 退出对等组4 0 4 3 文本通信模块的实现4 0 4 3 1 建立通信渠道4 1 4 3 2 在接收方建立输入渠道4 5 4 3 3 在发送方建立输出渠道4 5 4 3 4 消息的格式、封装和解析4 6 4 4 音频通信模块的实现4 7 4 4 1 在发送端采集并发送数据4 7 4 4 2 接收端接收并回放数据4 8 4 4 3 音频数据的传输问题及处理方法4 9 4 5 文件共享模块5 0 4 5 1 发布共享文件5 1 4 5 2 搜索共享文件5 1 4 5 3 文件的下载5 2 4 5 4 消息传输时的格式5 4 4 6 节点登录模块实现5 5 4 6 1j x t a 平台的初始化5 6 4 6 2 节点登录认证和改变平台配置信息5 8 4 7 本章小结二5 9 第五章系统模块测试6 0 5 1 系统实验的环境6 0 5 2 节点登录模块的测试和结果分析6 0 5 3 对等组管理模块的测试和结果分析6 1 5 4 文本通信模块的测试和结果分析6 2 5 5 文件共享模块的测试和结果分析6 3 5 6 语音通信模块的测试和结果分析6 4 5 7 与主流即时通信软件的对比6 5 5 8 本系统存在的问题6 6 5 9 本章小结6 6 第六章结论和展望6 7 6 1 主要研究成果6 7 6 2 展望6 8 参考文献- 、6 9 攻读硕士学位期间发表的论文7 5 致谢7 6 湖南师范大学学位论文原创性声明7 7 湖南师范大学学位论文版权使用授权书7 7 基于j ) ( t a 的p 2 p 即时通信系统的实现 1 1 研究背景和意义 第一章绪论 在当今社会,人们因为工作和生活的需要对信息的需求越来越大, 同时传统的电视、电话和电子邮件已经不能够满足人们对信息的需 求。而且随着用户对信息传递即时性需求地提高,要求能够随时地互 传信息,所以在与外界发生信息的互通的时候,人们已经不能够满足 传统电话和邮件这样交流平台受限和交流实时性也受限的交流方式, 人们需要一种即时的无平台限制的信息交流方式n 。2 3 。 同时随着十多年前互联网爆炸式发展,网络技术和软件技术的更 新,在网络上利用软件技术和互联网技术来进行即时通信是大势所 趋,在这种大背景下便诞生了即时通信系统。 即时通信系统,是指两人或者多人可以进行实时信息交流的硬件 或者软件平台b 3 。 即时通信系统的存在使得互联网上的用户可以通过它来实时来传 送声音、文本和视频,使得沟通变得更加的容易和快捷。用户可以通 过系统在互联网上认识更多的新朋友,扩大了人们交友的范围,使得 人际圈不再受传统地域的限制。同时在线的查找好友的功能也促成了 人们交友的便捷。各大企事业单位也在广泛的推行自己的即时通信系 硕士学位论文 统,这是因为即时通信系统较高的协同性有利于办公的同步和实时信 息的反馈h 1 。 现在的即时通信系统已经是完全能够打破平台的束缚可以在各种 设备上运行,打破网络的束缚,能够在i n t e r n e t ,固定网络和移动 网络上实现信息传输的工具( 但是并没有做到网络的三网融合,即无 线网络、固定电话网络和i n t e r n e t ) ,并且现在的即时通信系统也 打破了传统的交流形式的束缚,不仅仅限于只有文字和声音,更多的 还包括了视频,以及实时的会议阳3 。 即时通信系统现在努力的方向是手机网络和固定i n t e r n e t 网络 的融合技术。在传统的w e b 通信系统的基础上发展起来了移动通信系 统,把手机短息和互联网联合起来,使得人们可以通过手机短信的形 式来实现移动设备上的即时通信系统,突破了传统的无线网络的束 缚,将原来在无线网络上传输的短信改在互联网络上传播,这同时也 是无线网络与固定网络联合的标志口。8 1 。 由此看来随着技术地发展和人们需求的急剧增加,即时通信软件 已经深入到人们生活中的方方面面,成为大家日常生活和工作中的必 不可少的软件,给大家的沟通,交流和工作带来了极大的便利,例如 传统的q q ,m s n 等都是应用得非常广泛的。但是随着网络用户的蓬勃 发展,网络应用功能的不断丰富,由原来传统的文本聊天和邮件功能 发展到今天视频、音频聊天、会议、文件共享和博客等众多功能,在 给人们带来便利的同时,也给网络资源带来很大的占用。传统的即时 基于j x t a 的p 2 p 即时通信系统的实现 、 通信系统例如q q 等都是基于c s 模式阳3 ,即客户机服务器模式,虽 然这样的模式便于对整个网络的节点客户机进行集中式的管理,但在 这样网络用户膨胀的情况下给网络的中央节点- n 务器带来了很大的 负荷,在用户使用的高峰时期常带来服务器响应缓慢,甚至是服务器 死机的不良后果。在这样的情况下,便催生出新的p 2 p 模式n 叫。 p 2 p 模式的优势便在于其分布式处理功能,无中心节点,或中心 节点只提供节点成员列表管理的功能而不承担其他服务功能n 。而将 其他具体的应用和服务转嫁到相互之间发生服务关系的节点上去,将 计算任务分散开来。p 2 p 技术的这种特点使得可以将互联网或者各个 不同类型的独立网络中的各个节点资源,带宽资源利用起来,任何一 台机器,一个节点都有可能向其它机器提供服务n2 l 。这样节点内自有 的信息便可以更有效传播到网络上,更多节点的服务也可以提供给网 络中的其他节点,然而这些功能和资源在传统的c s 模式中都只能依 靠服务器来提供,所以p 2 p 模式极大的提高了网络资源的共享率和网 络带宽的使用率。故用p 2 p 技术来实现即时通信系统,以适应今天日 益膨胀的使用人数和更加强大和丰富的功能需求,同时又不出现传统 c s 模式的即时通信系统的弊病,是非常有必要的。 1 2 国内外研究现状 到目前为止,p 2 p 技术正在渗入到网络应用的各个方便,包括了 现在市面上的各种网络应用软件,例如p 2 p 邮件系统、文件共享、文 本聊天、视频和音频聊天、视频直播和网络游戏,网上在线拍卖等等 3 硕士学位论文 n 引。这样就使得因特网上处于网络边缘的资源节点可以成为网络应用 中的主角。同时p 2 p 技术已经应用的各种硬件平台上,包括了大型机、 普通的计算机、p d a 、手机、机顶盒等等,并且可以在其它跨平台技 术的帮助下,实现不同硬件平台上的网络资源共享n 引。 鉴于本文主要是研究软件类即时通信系统,对于p 2 p 技术国内外 研究现状的分析主要集中在使用p 2 p 技术的即时通信软件上。 国内p 2 p 即时通信最有代表性的是新浪u c 。这是即时通信的集大 成者,使用的是p 2 p 下的“n e t 技术n 鲥。“n e t ”技术丰富的图形 图像处理技术和数据库功能,使得新浪u c 集传统即时通信功能于一 体,并包含很多的娱乐功能,将有声有色、图文并茂的场景聊天模式, 以及视频电话、可断点重传的文件下载和传输、能够多人文本和视频 聊天,消息群发功能和在线游戏功能以及同学录等功能有机结合,构 成了一款整合的,功能极其强大的即时通讯软件n 刀。但是新浪u c 只作为w i n d o w s 平台下的一款优秀软件让很多诸如苹果的m a c 系统, 红帽l i n u x 等用户无法使用,导致u c 地推广受到了阻碍,无法实现 跨平台性n 引。 、 电子名片( t r a c q ) :是一款商用的即时通信软件,使用的是j a v a 的e z b e a n 技术,具有强大的内核功能,在商用领域,他开创了多项 即时通讯新功能n 蜘。首先是对使用软件的使用人员,即各种商业客户 采用实名制的管理原则,用户的注册和在使用都必须通过企业管理员 的实名制管控。这样便使得商用的即时通信软件和平常个人用户所使 基于j x t a 的p 2 p 即时通信系统的实现 用的即时通信软件有了很大的区别,保证了专用性,提供了工作的效 率;其次,t r a c q 电子名片独创网页会话技术,一改传统i m 软件必 须通过p c 桌面登录客户端并添加联系人方可交流的局限。企业只需 将电子名片( t r a c q ) 嵌入自己的网页,即可为访问企业网站的访客提 供便捷的交流途径。访客无须下载安装任何客户端软件,双击企业内 部群内工作人员的头像就可以进行诸如文本、短信及视、音频在线会 议舱毗。但是本款软件的固有的e z b e a n 技术使得软件很难具有扩展 功能,无法实现插件的使用,故无法使用插件带来的丰富功能。 微软公司( m s nm e s s e n g e r ) :m s nm e s s e n g e r 的使用人数很广, 它除了支持文本通信之外还支持视频多人会议、语音聊天、连线游戏 等等伸延功能。在文本聊天中还可以加入各种个性化的符号、图片、 动画等等,并且可以改变聊天时所使用的字体以及字体的大小。从第 六版开始该款软件还可以使用用户自己添加到系统内部的自定义的 图片、动画和字体。同时微软还提供更多的与它配套的第三方的软件 支持。但是m s n 始终不是纯p 2 p 模式的软件,它始终需要一个中心服 务器为它提供管理成员节点列表和资源列表的功能,在成员节点大量 增多时,还是有可能导致服务器的性能下降。再加上m s n 不是开源软 件,用户很难对其性能进行改善,使得它的性能很难提高乜2 。2 钔。 本文在详细研究了市面上主流即时通信软件功能上的优点和不足 之后,决定结合j x t a 技术和j a v a 来实现一款真正开源的,可以方便 用户对其性能进行升级;能够实现跨平台,从而不用仅仅局限于 w i n d o w s 或者l i n u x ;并且可以实现插件的添加以最大程度的丰富其 功能的即时通信系统。 1 3 本文的主要工作 本文设计的系统结合当下流行的s u n 公司推出的p 2 p 平台j x t a , 并使用j a v a 语言的相关技术和j a v a s o u n d 开发包设计一款即时通信 系统,加以实现,并进行系统测试。本文主要做的研究工作包括以下: 1 分析研究即时通信的发展历程,当前即时通信软件的主要技 术,不同模式下即时通信软件的优缺点,p 2 p 模式发展的背景和应用 情况,以及p 2 p 的技术关键。 2 研究并介绍j x t a 平台,其主要的架构,核心的功能组件,核 心协议族。 3 研究并介绍如何运用j a v a 多媒体开发软件包的各种基本常用 类和接口来开发本系统的音频通信功能。 4 对系统进行需求分析和总体的功能设计,设计系统的总体结 构。 5 对总体功能进行划分,得出具体的功能模块。并结合j x t a 的 基本功能组件和协议以及j a v a 的a w t 事件机制和接口机制来设计和 实现各个功能模块。 6 对系统的各项功能在特定的网络环境中进行测试,获得测试结 果并分析,最终得出结论:系统的各项功能测试结果满足了预期的设 计要求。 6 基于j ) ( t a 的p 2 p 即时通信系统的实现 1 4 本章小结 本章综合分析了即时通信系统产生的背景和发展历程,分析了当 前即时通信系统的研究现状,并针对当前几款流行的即时通信软件分 析其优势和不足,得出设计本系统的目的。最后总结了本文的主要工 作。 硕士学位论文 第二章技术背景 支持本系统的关键性三大技术主要包括了p 2 p 技术,涉及了其中 的网络模型和搜索方法;j x t a 技术,利用它的各项核心的功能组件 来实现系统的各个功能模块和框架;j a v a s o u n d 技术主要涉及语音的 采集、混频和回放还有音频的编码和解码,利用它实现音频通信。 2 1p 2 p 技术简介 p 2 p 是英文( p e e r - t o p e e r ) 的简称,即点对点的意思。我们今 天i n t e r n e t 上的大量服务和应用都是基于c s 模式的,导致i n t e r n e t 上的服务和资源越来越集中化,使得网络越来越以服务器即s e r v e r 的方式来提供资源和服务。但这并不是发展i n t e r n e t 的初衷,只是 在网络诞生之后的几十年发展中所形成的趋势。最初的i n t e r n e t 就 是p 2 p 模式的,最初的网络节点之间也是为了大家能共享资源和服 务,即互为s e r v e r 捌。 2 1 1p 2 p 网络拓扑结构 p 2 p 技术的网络拓扑模型是一种虚拟的网络连接图,它指明了 网络中节点的虚拟连接方式和各个节点所起的作用,所以搭建一个网 络拓扑模型就是为一个系统搭建一个虚拟的运行环境,同时也是p 2 p 系统设计者在设计系统之初首先要考虑的问题,即考虑系统的运行环 r 基于j x t a 的p 2 p 即时通信系统的实现 境和节点功能。其中包括了完全分布式的p 2 p 网络拓扑结构,有中央 服务器的混合式p 2 p 网络拓扑结构以及保留文件目录的p 2 p 网络拓扑 结构。 l 完全分布式的p 2 p 网络结构 完全分布式的p 2 p 网络拓扑结构,是指网络中的所有机器,节点 都零散的分布在网络中,而网络中没有一台中心服务器。他们之间建 立直接的对等的连接,互相传递消息,则是通过p 2 p 对等网络的各种 网络传输协议,各种节点搜索协议来完成。优点是无服务器性能瓶颈, 但也有缺点,由于没有中央服务器,很难对节点进行管理,这样对节 点的身份认证、流量管理等。如图2 - 1 网络拓扑结构。 图2 - 1 完全分布式的p 2 p 网络拓扑结构 完全分布式的p 2 p 网络,由于在节点发现、搜索资源上完全分布 式p 2 p 网络因存在着使用泛洪式搜索算法,即向网络中所有存在直接 连接的节点转发搜索请求,从而造成网络中的通信流量过大而导致网 络瘫痪的可能,如图2 - 2 泛洪式搜索所示。 硕士学位论文 。 表示网络中的计算机 、 搜索方向 图2 - 2 泛洪式搜索 2 有中央服务器的混合式p 2 p 结构 这种混合式的网络拓扑结构带有中央服务器,但是这种服务器的 功能不同c s 模式下服务器的功能,它只保存节点的索引,它所起到 的作用也仅仅是帮助节点之间建立连接,对节点进行认证管理,而其 他的服务和资源则由节点本身来实现。这样比起c s 模式下的服务器 是功能上的很大的弱化,但比起完全分布式的p 2 p 网络模型而言,则 可以方便p 2 p 网络的管理,方便节点搜索,提高了系统的安全性乜利。 但还是会存在一定的c s 模式下服务器的不足,例如集中认证的节点 或者请求建立连接的节点一时过多时,服务器会响应超时,现在大部 分p 2 p 网络使用的便是这样的模型。如图2 3 网络拓扑结构。 基于j ) 【t a 的p 2 p 即时通信系统的实现 3 集中文件目录的p 2 p 网络拓扑结构 集中文件目录的p 2 p 拓扑结构,比起有中间服务器的p 2 p 结构, 在网络结构上都保留了中央服务器,但是集中文件目录的p 2 p 拓扑结 构,不在服务器上会存储节点信息,建立索引,进行认证,而是还会 保留各个节点资源和服务的目录,只提供资源搜索服务晗引。但是节点 之间建立连接还是根据网络流量、延迟信息和网络服务质量来建立直 接连接。这种保留文件目录的p 2 p 模式同有中间服务器的p 2 p 模式一 样存在,当请求大量增加时服务器响应超时的不足,所以要控制好服 务器范围内的节点数量。好处在于节点对全网的资源和服务有很全面 地掌握,便于资源的查找。网络拓扑结构如图2 - 4 所示。 图2 4 集中目录式网络结构 基于以上三种结构的优缺点,本系统设计了一种基于集合点连接 的拓扑结构。既是完全分布式的网络,但又可以方便节点信息的管理。 2 1 2p 2 p 的核心技术 当系统的设计者为p 2 p 系统设计了网络拓扑结构之后,便开始考 虑该使用何种p 2 p 技术来实现系统的功能。p 2 p 系统为了实现网络上 通信双方的信息交流、资源定位查找、成员定位查找、网络安全和 网络规模控制的功能需要有很多技术与之相对应,来完成这些功能。 1 1 硕士学位论文 其核心技术主要包括了针对定位和连接的端到端技术,针对双方节点 通信的信息格式定义和信息交换技术,控制网络规模的服务器技术, 针对资源和节点搜索的节点发现和资源搜索技术乜们。以下将对各项 技术进行应用情况分析和详细介绍。 1 端到端的定位和连接技术 主要包括了i p 地址解析,n a t 路由和防火墙穿越等技术。因为 网络结构千差万别,网络中各个节点硬件软件有很大区别,所以这项 技术就是为了在复杂的网络环境使各个节点建立稳定的链接。 2 节点数据的数据格式和交换技术 交换技术是指网上节点的信息互换功能的实现。数据格式是指通 信时数据的封装和解析,以及格式定义。p 2 p 的软件必须支持使用不 同的数据格式( 例如s o a ,x m l ,u d d i 等) 的节点进行信息交流,使 一方的信息能被另一方识别。 3 中心服务器的功能 虽然p 2 p 模式下中心服务器不承担像在c s 模式下服务器所承担 的提供资源和服务的功能,但由于很多情况下中心服务器承担着节点 索引,文件索引,节点认证,资源或服务索引的功能,起着控制网络 规模和保证网络运行的健康,以及承担网络安全性( 信息加密) 的作 用。 4 节点发现技术 基于j ) 【t a 的p 2 p 即时通信系统的实现 由于p 2 p 网络无中央服务器进行节点管理,使得加入的节点会很 难被其他节点所发现,无法向外界提供服务,又或己退出的节点又很 难让其他节点知道,使得服务不成功。当前使用的发现方法有:集合 点建立索引发现机制,不通过集合点的发现机制,基于节点自己缓存 的发现机制以及穿越防火墙的发现机制。 5 节点资源搜索机制 p 2 p 搜索一般顺序是由本节点开始,首先向本地存储了资源索引 的节点搜索,然后本组其他集合点发出搜索请求,最后向其他节点 发出搜索请求。故要想提高节点资源的搜索效率必须降低每个层次 搜索的节点个数和节点搜索的层次,同时要使资源流向对起感兴趣 的区域,即数据活跃区,这样便可以加快资源的搜索。 2 2j x t a 技术介绍 j x t a 平台便是前述p 2 p 技术的一种实现。j x t a 是s u n 公司推出的 开放性的对等网络研究项目,这个项目的主要研究工作是把所有的 p 2 p 应用系统的基本通用需求分析出来,并得出它们有哪些最基本的 功能协议和最基本的功能组件来完成这些功能,即虽然应用系统不 同,但是从中抽象出来它们共同的组件和协议,然后标准化这些协议 和组件,让这些组件和协议实现p 2 p 网络的核心技术,使得往后的 p 2 p 应用开发有一个统一的,标准的平台,来实现各式各样的p 2 p 应 用系统。 2 2 1j x t a 的特性 j x t a 平台的设计者在开发这套技术标准的过程中得出核心组件 和协议的技术标准来完成,即由相同功能组件和协议的各种组合来完 成不同的功能,所以不同的系统之间由于底层相同可以兼容。同时因 为平台的设计者为了让这套技术标准可以应用到不同的硬件平台和 操作系统下,所以j x t a 也做了很多的基于跨平台性的考虑( 主要采 用的方法是j a v a 虚拟机) 3 1 - 3 3 o 以下详细介绍j x t a 平台的两大特性。 1 多语言实现性:j x t a 是对功能组件和协议的抽象描述,所以 可以用多种编程语言来实现,例如c 或j a v a 。 2 跨软、硬件平台性:j x t a 平台利用j a v a 软件的虚拟机特性, 即让j x t a 系统运行在虚拟机上,用虚拟机的技术来掩盖不同的软、 硬件平台。系统可以运行在多种操作系统下,例如w i n d o w s 或u n i x ; 多种网络平台上实现,例如t c p i p ,b l u e t o o t h ;多种硬件平台上, 例如个人数字处理( p d a ) 、网络路由器、中心服务器和桌面p c 等。 2 2 2j x t a 的结构 j x t a 平台作为一套软件开发平台,根据上下层次之间的功能调用 可以将其划分为上下三层。首先是最底层的核心层,包含很多核心的 功能组件,面对的是网络的底层应用,并其上一层“服务层提供最 单元化的功能。中间服务层则是利用核心层提供的组件和协议来完成 高级的功能,包括索引、查找、共享、代码缓存、内容缓存。最上一 层便是应用层,它就是利用服务层提供的功能来完成其面向用户的应 1 4 基于j x t a 的p 2 p 即时通信系统的实现 用,例如完成一个应用层节点的通信功能要用到服务层的节点查找、 内容缓存等功能。三层中每一层都为上一层提供功能,最后面向用户。 三层之间调用通过j a v a 接口技术来实现,即上一层只要实现接口就 可以调用底层的功能 3 副,其结构如图2 5 所示。 j x t a a p p l i c a t i o n s s e j = i c e s 匡一圈圈 l八一。八, 2 2 3j x t a 核心组件 图2 - 5j x t a 的层次结构 构成j x t a 平台的核心层中包含的核心组件主要有:对等体、对等 组、管道、消息、广告、服务等。由j x t a 平台开发出的各类应用虽 然功能不同,但最后落实到底层还是由以上各种组件的组合来实现 的。同时这些组件的功能都是原子化的,即它们的功能都是不可再拆 分的。同时组件又是协议的实现者,协议中的动作的逻辑顺序都是以 组件为单元的b 引。以下是对其组件进行详细的分析其功能。 1 对等体( p e e r ) 对等体( 即节点) 是系统的基本功能单元。对等体还可以根据其 上实现的具体服务,例如集合点服务,路由服务,网关服务,使对等 体相应的就变成了集合点,路由节点,网关节点。 2 对等组( p e e rg r o u p ) 1 5 硕士学位论文 对等组顾名思义,是对等体的组织。创建它的作用是将有共同的兴趣 和爱好的对等体组织起来,从而可以进行大家感兴趣的,特定的服务。 对等组的加入是要通过某种认证协议来进行成员身份的认证的。j x t a 有一个平台默认的对等组,即w o r l d p e e r g r o u p ,他实现很多基本服 务口7 1 。每一个p e e r 都默认的属于这个对等组,这样的方式使得每一 个p e e r 可以相互的通信,但同时又因为自己分属于别的组从而具有 了其他的特性。 由对等组和组成对等组的节点,形成了一个逻辑区域,节点在 这个区域内共享资源,区域外的节点则访问受到限制,这样就保证的 组内成员共享的安全性。同时加入对等组的节点都是具有相同的兴趣 的,网络中不同的对等组构成了不同的逻辑区域,因此也就构成了不 同的感兴趣的团体,故大家感兴趣的消息只在同一个组内传播,建立 消息传播的范围,从而对网络流量进行监控,对流量大小进行计费和 节点追踪3 引。 3 端点( e n d p o i n t ) 端点是通信的基础,一个i p 加上端口号便可以视为一个最简单 的端点。一个节点上打开的网络应用数量,决定端点的数量,节点实 现的通信协议数量决定了端点种类的数量,端点上绑定管道后便可以 实现通信。 4 集合点( r e n d e z v o u sp e e r ) 1 。 基于j x t a 的p 2 p 即时通信系统的实现 集合点是一个具有接受其他p e e r 委托请求的p e e r 。因为集合点 存储了很多有关周边p e e r 的信息,比如他们所拥有资源的广告等等, 故集合点主要作用就是接受p e e r 委托搜索自己存储的组外其他p e e r 所发布的资源广告。当然集合点除了搜索自身存储的广告信息外,在 没有请求节点所需的广告信息时,它还会继续委托其他的集合点来继 续搜索。 5 路由节点( r o u t e rp e e r ) 路由节点即一个节点实现了端点协议,便称之为路由节点。它与 我们认识的传统路由器的功能一样,存储节点的地址信息,但是与传 统路由器相比最大的不同就是存储了很多了静态地址,这是因为p 2 p 网络不是很固定造成的。同样,一个网络只需要有能撑起网络的数量 的路由节点就足够了。 6 网关节点( g a t e w a yp e e r ) 网关节点实现的作用是通信中继。它传递消息,但不像集合点 那样传递请求。网关节点的作用就是存储和转发消息,作为节点之间 交流的中介,它存储消息后,等待需要消息的节点来收集消息。 网关节点存在的意义便在于首先网络中为了保护内网或者机器 的安全采用了很多的安全防范措施和障碍物,例如防火墙、代理服务 器、n a t 设备,网关节点便是与他们进行交互。其次网络中的节点支 持的协议不同,有的可能是t c p ,有的又是h t t p ,甚至在无线网络中 硕士学位论文 的w a p 协议,因此网关节点支持多种协议,方便在不同协议下的两个 节点通信时起到良好的中介作用。 7 管道( p i p e ) 管道与端点配合起来使用,使得网络节点之间的通信可以不用去 领会防火墙,代理服务器,n a t 设备,同时也可以不用去理会节点支 持不同的协议,不论是t c p ,还是h t t p 。在j x t a 中管道的传输方向 是单向的。根据消息的发送方向,对于消息的发送方来讲是输出管道, 而对于接收方来讲是输入管道,而且管道的端点可以绑定多个节点, 故一个输出管道可以与多个输入管道对应。 8 广告( a d v e r t i s e m e n t ) j x t a 中广告类似于现实生活中的“名片”,即对目标特性的描 述。节点,对等组,管道等都是用广告来描述自己的特性。广告的编 码、标签和内容都有统一的格式和标准,在j x t a 平台上广告可以被 用来交换任何信息。当一个节点创建了一个对等组,或者一个管道时, 这个对等组或者管道的广告就会被以i p 多播的方法发布到本地的 j x t a 网络中,即本地j x t a 网络中的每一个节点都会收到广告,同时 集合点也会收到。 9 消息( m e s s a g e ) 消息是一个由消息头、可选的消息摘要以及正文组成的数据包。 消息头包含了一个报头,源端点信息、目标端点信息以及一个出于安 基于j x t a 的p 2 p 即时通信系统的实现 全考虑而可选的信息摘要。正文长度不定,但也包含一个出于安全考 虑而可选的信任状以及正文内容。 j x t a 定义消息有两种格式,一种是x m l 格式,另一种是二进制 格式。虽然x m l 格式处理方便,但是封装麻烦,而且含的数量较小, 当处理数据量较大的时候就效率很低,故可以对消息的正文使用二进 制格式,而对其他,例如报头使用x m l 格式。 2 2 4j x t a 的核心协议族 协议定义了完成某种服务时所作出的动作之间的先后顺序。利用 这些协议节点之间可以实现相互的通信,向网络中的其他节点广播自 己的资源消息,在网络中发现其他节点广播的资源消息和路由消息。 这些协议和组件构成了最基础的核心层,共同向上一层提供服务。 1 节点发现协议( p e e rd is c o v e r yp r o t o c o l ,p d p ) 主要用于节点发布自己的资源通告,或者从其他节点处获得它们 的资源通告或者路由消息。当然节点还可以发现诸如对等组通告、服 务通告和管道通告。节点发现其他组件的通告,是通过向外发送搜索 请求,本协议自己不发送,它只定义搜索请求的格式和内容,其中包 括要搜索的通告的类型( 到底是节点,还是对等组,还是管道) ,一 个x m l 标签名,一个与x m l 标签名所表示数据相匹配的字符串。发送 搜索消息的任务由下面的节点解析协议完成。 2 节点解析协议( p e e rr e s o l v e rp r o t o c o l ,p r p ) 硕士学位论文 正如上述的节点发现协议所讲的一样,节点解析协议负责发送和 接收搜索请求消息( 包括了对等体,对等组,管道,广告等消息) 。 本协议适用于j x t a 平台中所有的工作在请求响应模式的协议( j x t a 中各种协议的工作模式都是请求响应的方式) ,而不仅仅是节点发 现协议。本协议的主要作用就是根据不同协议里定义的请求响应消 息的格式来标准化他们各自所发出的请求响应消息( 不同协议的消 息格式不相同) ,让使用同一种协议来发送的消息都具有统一的格式。 3 集合点协议( r e n d e z v o u sp r o t o c o l ,r v p ) 本协议的主要作用是,节点通过该协议对外订阅一个服务,当然 也能够接受其它节点通过该协议向自己订阅某种服务。同时本协议还 定义了节点在组内接收消息和发送消息,并且定义消息在对等组内如 何传播。 4 管道绑定协议( p i p eb i n d i n gp r o t o c o l ,p b p ) 管道是节点之间信息的发送和接收的虚拟通道,两个节点的端点 或者多个节点的端点之间用管道连接之后便可以传送消息。因此,管 道在使用之间必须先绑定到节点的端点上,然后再由数据的发送方向 来决定是输入管道,还是输出管道,最后才能实现数据的传送。所以 管道绑定协议就是定义管道如何绑定到节点的端点的。 5 节点信息协议( p e e ri n f o r m a ti o np r o t o c o l ,p i p ) 每个节点都有自己的信息,例如更新时间,状态等。当某个节点 的属性为字符的话,则其它可以使用本协议来获得这些节点的信息, 基于j x t a 的p 2 p 即时通信系统的实现 这便是本协议的基本作用。例如可以用发送一个p i n g 命令去拼某个 节点的地址,看是否该节点已被激活。当然本协议还可以与节点解析 协议配合,来实现扩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论