(计算机应用技术专业论文)基于jxta的p2p网络搜索技术的研究.pdf_第1页
(计算机应用技术专业论文)基于jxta的p2p网络搜索技术的研究.pdf_第2页
(计算机应用技术专业论文)基于jxta的p2p网络搜索技术的研究.pdf_第3页
(计算机应用技术专业论文)基于jxta的p2p网络搜索技术的研究.pdf_第4页
(计算机应用技术专业论文)基于jxta的p2p网络搜索技术的研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于jxta的p2p网络搜索技术的研究.pdf.pdf 免费下载

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

文档简介

沈阳工业大学硕士学位论文 摘要 2 0 0 0 年n a p s t e r 的p e e r t o p e e r ( p 2 p ) m p 3 交换程序开始在网络上广为流传。 文件共享是p 2 p 网络初始目的的应用之一,允许任意终端用户对等点( p e e r ) 通过 i n t e r n e t 完成文件交换。在p 2 p 应用仅有的短短几年发展时间里,它己经成为了占 用i n t e r n e t 流量的主要应用类型。p 2 p 系统支持大量用户的能力已经开始显示出来。 p 2 p 技术的优势在于它能够以较低的成本快速地部署强大的,大规模分布式应用。 一个p 2 p 资源共享系统中,需要解决两个方面的问题:资源搜索和资源传送。由 于p 2 p 系统本身的分布式存储特点,使得实现具有扩展性的资源传送机制变得相对容 易。p 2 p 技术的难点也在于如何发现拥有目标资源的对等点,这也就是本文设法解决 的问题。 当前的p 2 p 系统,正在向参与系统的用户数目高速增加,对等体间性能和操作环 境差异不断加大的趋势上发展。根据这种趋势,为充分发挥p 2 p 体系的技术优点,本 文采用混合p e e r - t o p e e r 组网模式,在j x t a 平台上设计并实现了p 2 p 搜索网络。 本文的主要贡献是,以扩展性,高效性,稳定性和负载平衡为目标,根据对等点 性能的不同,合理的分配访问量,减轻低性能对等点的负担,从而提升搜索网络的总 体性能表现。设计了对等组过载分裂等策略使得每个对等组能够按照负担能力合理地 组织对等点,真实反映搜索网络的总体负载情况。 采用客户资源分类索引的方式和缓存机制和查询转发中的优化技术,以提高搜索 的效率。 关键词:p e e r t o p e e r 网络,搜索,j x t a ,混合模式p 2 p ,超级点 基于j ) f r a 的p 2 p 网络搜索技术的研究 a c c o r d i n g t ot h er e s e a r c ho nt h ep 2 pn e ts e a r c h i n gs k i l lo fj x t a a b s l r a c t i n2 0 0 0 ,n a p s t e r ,ap r o 謦a mu s e df o re x c h a n g i n gm p 3 ,w a sp o p u l a r i nt h ei n 【e m e t t h e f l l e s h a r i n g 锄o n gt h ee n dc l i e n t sh a sb e c o m e o n eo fm a i na p p l i c a t i o n st 1 1 a tu s e da s t h ei n i t i a lp u r p o s eo fp 2 pn e t w o r k i n g i n 也es h o r t h i s t o r y o fp 2 p a p p l i c a t i o n ,i t h a sb e c o m eo n eo ft l l em a i na p p l i c a t i o nt y p e st h a tc o n s u m ea1 a 唱ef k t i o ni i li n t e m e t 廿a m c p 2 pa r c h i t e c t u r eh a sb e g a nt os h o wi t sc 印a b i l i t yt os u p p o r tm a s s i v eu s e r s ,卸dt l l i s c a p a b i l i t ym a k e si ts 血a b l ef o rr a p i d l yd 印l o yp o w e r f u la n dl a r g e s c a l ed i 姒b u t e d 印p l i c a t i o nw 汕l o w c o s t r e s o u r c es e a r c h i n ga i l dr e s o u r c ed e l i v e r ya r et w oc r u c i a lp r o b l e m sn e e dt o b e s o l v e di np 2 ps y s t e m t h en a t u r eo fd i s 仃i b u t e ds t o m g eo fp 2 pm a k e si te a s i e rt o i m p l e m e n ta s c a l a b l es y s t e mf o rr e s o u r c ed e l i v e r ) r t h ek e yp r o b i e mi sh o wt o1 0 c a t e 血e p e e rw h oh a st h er e s o u r c e ,a n di ti sa l s ot h ep r o b l e mt h i s 廿1 e s i st os o l v e f m 也et r e n do fp 2 pd e v e l o p m e n t ,w ec a n 丘n dt h er a p i di n c r e a s eo fah u g en e w u s e rp o p u l a t i o na n dm eo b v i o u sd i 圩b r e n c e sb e t w e e np e e r si nc a p a b 订i t ya n d o p e “【廿n g e n v i m 珊e m 1 1 0f o l l o wt h i s 仃e n dt h ee x p l o i tt l l ef u l lp o t e n t i a lo f p 2 pa r c l l i t e c t u r e ,t h e m e s i sc h o o s e st h e h y b r i dp e o r - t o p e e ra sn e t w o r k i n gm o d e l ,a 1 1 d b a s e do nj x t a p l a t f o 衄,d e s 蟾n sa n di m p l e m e n t s ap 2 pn e t w o r ks e a r c h t h e m a i nc o n t r i b u t i o no f m i st h e s i si st os a t i s f yt h er e q u i r e m e n ta b o u tag r e a ts e a r c h m e t h o df o rap 2 ps y s t e m ,h i c ha r es c a l a b i l i t y ,e 伍c i e n c y ,s t a b i l 时a n db a l a n c e d 1 0 a d a c c o r d i n gt om ed i r e n c eo fp e e r sc 印a b i l 畸,t h ea l g o r i m md e c r e a s e s 血es e 卵c h l o a do f1 0 wc a p a b i l i t yp e e ra n di n c r e a s e st h es e a r c hi o a do f h i 曲c a p a b i l i t yp e e rt oi m p r o v e t h ea g g r e g a t ep e r f b r m a n c eo f t h es e a r c hn e t w o r k t h e 也e s i sd e s i g n st a c t i c ss u c ha ss p l “l o a d e dp e e rg r o u p ,e t c t om a k ee a c hp e e r g r o u pa c c o r d i n gt oi t s e l fa b i l 姆t or e a s o n a b l yo 瑁a i l i z ep e e r s ,s or e n e c tt m l yt h a tm e o v e r a l l1 0 a ds i t u a t i o no f t h es e 甜c hn e t 、o r k t bs a t i s 母t 1 1 er e q u i r e m e mo fe 衔c i e n c y ,m e 沈阳丁业大学硕士学位论文 a l g o r i t c a c h e sc l i e n tr e s o l l r c ei n d e xo ns u p e r _ p e e ra l l do p t i m i z e st h ef o r w a r d i n go f q u e r ym e s s a g e k e yw o r d s :p e e r - t o - p e e rn e 柳o r l ( i n g ,s e a r c h ,j x t a ,l i y b r i dp 2 p ,s u p e 卜p e e r 独创性说明 本人郑重声明:所呈交的论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得沈阳工 业大学或其他教育机构的学位或证书所使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均己在论文中做了明确的说明并表示了谢意。 签名:虽垒垦盔! 日期: 关于论文使用授权的说明 协加 本人完全了解沈阳工业大学有关保留、使用学位论文的规定,即:学 校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论 文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵循此规定) 签名:塑垦垒导师签名:数日期 劢6 2 幻 沈阳工业大学硕士学位论文 1p 2 p 技术概述 p 2 p ( p e e r t o p e e r ) 技术可以说是在当今计算机行业里最耀眼的词汇了。越来越多 的人考虑用p 2 p 技术来构建互联网的将来。p 2 p 技术让用户可以直接连接到其他用户的 计算机上,进行文件共享与交换,另外p 2 p 技术在深度搜索、分布计算、协同工作等方 面也大有用途。 1 9 9 9 年,当时年仅1 8 岁肖恩范宁( s h 踟nf a n n i n g ) 建立了n a p s t e r ,一个供大家 交换音乐的软件平台。在这个平台之上每个人都可以建立一个自己的免费数字音乐库。 基于这个音乐库的每个用户可以与其他用户交换、下载m p 3 。这个看似平常的软件彻底 改变了数以万计的网上乐迷的交流方式。n a p s t e r 的成功缘于背后起支撑作用的p 2 p 技 术【1 1 。 目前国外网络流量的5 0 由p 2 p 流量占据,并预测在未来几年p 2 p 的流量将会占到 网络流量的7 0 9 6 以上【2 1 。 最近比较成功的p 2 p 软件有b t 、i 【a z a a 和e d o n k e y 。其中i ( a z a a 的功能已经相当全 面,目前最新版的k a z a a 已经实现了多源下载、p 2 p 搜索、即时消息和文件共享等功能。 1 1p 2 p 技术要解决的问题 p 2 p 技术要解决的问题是如何提高因特网的三大基础资源信息( i n f o r 帆t i o n ) 、 带宽( b a n d w i d t h ) 和计算能力( c o m p u t i n gr e s o u r c e s ) 的使用效率。 在客户机服务器模式下,网络在某一时刻存在大量的处于轻载状态的客户机。这 些客户机的大量存储空间处于闲置状态,大量的计算资源未被利用。假设在每一时刻都 有1 0 0 0 万台计算机连接在互联网上,每台计算机有1 0 0 m 的未使用的存储空间、1 0 0 0 b p s 的剩余带宽和百分之十的未被使用的处理能力,那么我们很容易计算出在互联网上有着 巨大的资源是没有被合理利用。p 2 p 技术可以提供一种机制组织这些个人计算机互相提 供服务,使这些巨大的未被使用资源发挥作用【3 】。 使用p 2 p 技术构建的网络不像c s 结构的网络那样,需要依赖于一个中心服务器来 提供服务。c s 结构的网络中客户机经常需要访问外部的网络和d n s 。p 2 p 网络避开中心 服务器一类的结构而是一个高度互联的结构,p 2 p 网络通过允许间歇的联机来互相发现。 基于j ) ( t a 的p 2 p 网络搜索技术的研究 在p 2 p 网络中的计算机同时扮演客户机和服务器的角色。p 2 p 网络有效地利用了互联网 中“边”的带宽资源。p 2 p 技术使得经由各种不同的路由器进行通讯成为可能,从而减 轻了网络拥塞。 p 2 p 另一个主要的优势就在于职责的分布。在p 2 p 网络中提供的服务都是基于p 2 p 网络所有的点( p e e r ) 实现的。这样做的一个好处就是有效地避免了单点故障并且提供更 多的可选择的解决方式。 1 2p 2 p 体系的优越性 早在上世纪九十年代初期,w e b 已经开始成为在互联网上发布和访问内容的有效方 式。w e b 使用的是一种客户机服务器模式的架构w e b 文档保存在服务器上,为下载 一个特定文档,客户机需要先定位一个正确的服务器,然后向该服务器发送对文档的请 求并取得返回结果( 通常即该文档本身) 。在典型的w e b 部署方式中,其特点是降5 】; ( 1 ) 一个文档保持在相对较少数目的服务器上,通常是一个。 ( 2 ) 相对而言于客户机的数量,w e b 服务器的数量是非常少的。 ( 3 ) 服务器通常保持在线( 一般从数月到数年) 。 ( 4 ) 客户机在线时间通常较短( 一般从数分钟到数小时) 。 ( 5 ) 使用u r l ( u n i f o r mr e s o u r c el o c a t o r s ) 唯一标识w e b 文档。 ( 6 ) 使用d n s ( d o 腿i nn 鲫es e r v e r ) 转换u r l 中的主机名为i p 地址,从而获得w e b 服务器地址。 在过去十几年以来,w e b 成功的完成了向数以百万计用户传递内容的工作。但是, w e b 的架构是否同样能够实现文件共享呢? 答案是否定的。 p 2 p 系统架构与w e b 系统架构具有很大的不同。在p 2 p 系统中,端用户( 即对等体) 既作为客户机又作为服务器,对等体间相互获取、保存并提供内容。同w e b 服务器不同, 对等体以很短的时间间隔加入和离开p 2 p 系统( 常可按分钟计) 。最后,不像w e b 使用的 u r l ,p 2 p 没有单一的命名机制用以唯一标识内容,用户可以任意命名保存本地机器上的 文件。下面,就p 2 p 与w e b 在内容传播上的以下优越性进行了对比1 6 1 : ( 1 ) 内容发布的便捷性。 ( 2 ) 内容搜索的及时性。 沈阳工业大学硕士学位论文 ( 3 ) 特定系统平台的低依赖性。 1 2 1 内容发布的便捷性 同w e b 相比,p 2 p 架构允许内容更快速便捷的发布,因此扩展了各个端用户发布内 容的能力。 通过w e b 发布内容,发布者必须面对以下不便: ( 1 ) 先获得w e b 服务器的唯一d n s 域名空间,并且需要利用名称服务器完成域名 解析。 ( 2 ) 域名信息变化( 包括添加、更新、删除) 在整个d n s 系统中传播是相对缓慢的, 需要手工配置。 由此可见,管理域名以使控制和发布内容成为可能,对于典型的个人用户来说不是 一个容易的过程,尽管w e b 采用了d n s 来完成名称映射非常适应大型的内容发布者,如 新闻网站,但对于大量的仅短时间存在于p 2 p 系统中的对等体来说,它是不适合的。 1 2 2 内容搜索的及时性 p 2 p 系统中,新发布的内容可以快速的被基于关键字的搜索方法发现。 在w e b 和p 2 p 系统中,内容搜索的主要方法都是基于关键字的搜索。 在w e b 上进行关键字搜索的主要特点是利用集中式搜索引擎,经过文档间的链接, 不断嵌套深入发现整个w e b 中的内容,再使用发现的文档构建巨大的集中式索引。搜索 引擎的这一工作方式与发布的内容完全不相关的,内容发布者无法控制自己的内容以什 么样的方式被索引。因此,尽管新发布的w e b 文档可以被知道它的u r l 的用户访问,但 无法被基于关键字的搜索立即发现,使得其他用户不能访问该文档。 采用上述内容搜索方法,对于信息会较长时间保存的系统来说是适合的,但对内容 频繁添加和删除的系统来说是不适合的,比如p 2 p 系统。 在p 2 p 架构中,一旦对等体结点进入系统,其存储的内容就立刻被搜索和下载。由 于发布者直接控制内容的可获得性,p 2 p 非常适合在一个拥有大量对等体,且内容的发 布和撤销仅保持较短时间的环境中实现搜索。 基于j x i a 的p 2 p 网络搜索技术的研究 1 2 3 特定系统平台的低依赖性 同w e b 不同,p 2 p 系统仅依赖于端用户系统机器的参与,而不依赖于某个特定系统 基础设施。 在w e b 上,系统对基础设施的依赖表现在: ( 1 ) 需要高性能服务器机器,并同时配备海量存储和高带宽连接。 ( 2 ) 需要d n s 系统。 ( 3 ) 为支持用户数量增长,对服务器的升级有金钱与时间上的代价。 当然这种对系统基础设施的依赖,使w e b 系统的性能表现可以在很大程度上独立于 用户行为,并能比较可靠地实现内容的发布。 在p 2 p 系统中,不需要特定的系统平台,用户的可用资源是自己本地机器资源的总 和。这就允许p 2 p 系统利用潜在的大量资源,而不要求对硬件和带宽作集中的计划和投 资。不仅如此,可用网络资源能够迅速反映系统中用户数的变化。当然从系统性能和可 用内容的范围及种类来说,p 2 p 系统受到其用户数目的影响。 通过以上三点的比较,我们相信采用类似w e b 的架构来部署p 2 p 系统是相当困难的。 p 2 p 架构的独特吸引力就在于它能够以较低的成本快速地部署强大的,大规模分布式应 用。 1 3 关于p 2 p 搜索 在目前的搜索引擎中没有任何一个单独的搜索引擎能够及时定位、编辑网络中日益 增长的信息。而且大量的信息是瞬间的,难以用w e b 浏览器这种技术来获取。这样及时 发现有价值的信息就变得更加困难了。 我们在互联网上寻找某种信息的时候通常会使用搜索引擎,例如:摆渡、g 0 0 9 1 e 和其他门户网站开发的搜索引擎。当提交一个查询请求时我们都会得到一个结果列表, 当然这些结果有可能是无关的、过期的、虚假的。传统的搜索技术都基于对过去数据的 索引,而且由于索引的数据非常庞大,不可能每个索引每天都得到更新,所以好多信息 往往是己经过期的。利用对等网络计算可以提供类似的服务。在我们每个人的计算机上 可以运行一个服务程序,这个程序为我们网络中的其他用户提供即时的本地资源搜索或 者一个局部网络的资源搜索。这种p 2 p 方式的索引一定程度上解决了集中式搜索模式中 沈阳工业大学硕士学位论文 存在的问题。在p 2 p 的搜索模式中作为服务器的对等点收到一个请求,判断自己是否有 满足请求的资源,然后回复请求。由用户的服务器负责对自己的共享资源建立索引,这 样就能为客户提供更加精确,实时的信息。 在p 2 p 系统中什么样的网络搜索可以被称为是优秀的呢? 它应当具有以下方面的特 征【7 】: ( 1 ) 扩展性,是指在p 2 p 环境中,搜索算法必须能够支持多达数百万同时在线的 用户。 ( 2 ) 高效性,指资源既能被快速定位,同时仅使用较少的网络通信量。 ( 3 ) 稳定性,指对于p 2 p 这种各个对等体经常频繁地加入和离开的系统,搜索算 法应当有足够的适应能力。 ( 4 ) 负载平衡,指总体搜索负载和索引负载应针对各对等体的不同性能,保持基 本的平衡。 基于j ) c t a 的p 2 p 网络搜索技术的研究 2p 2 p 网络架构h j x t a 概述 j x t a 是s u n 公司于2 0 0 1 年推出的网络编程和计算平台。j x t a 是j u x t a p o s e 的缩写,中文含义是并列。j ) 【t a 是一个具有一组支持p 2 p 应用程序标准的框架。 从另一个角度来看它也可以看作是特定的、普遍深入的多级p 2 p 网络计算设计的 一个协议蒯8 捌。这个协议族为p 2 p 网络提供最小需求,去除了所有特定于策略的 逻辑和组件,它提供的就是应用程序的构架要素,不考虑目标用户和特定实现。 j x t a 的设计支持如下特性【1 0 小】: ( 1 ) 从完全集中到完全非集中的p 2 p 应用程序。 ( 2 ) 任何连接设备都可以运行在任何操作系统和网络协议之上。 ( 3 ) 高度安全的应用程序。 ( 4 ) 不同开发人员所开发的组件可以互操作。 j x t a 通过j a v a 技术和x 儿数据表达的结合,提供了强大的功能使得垂直应用 得以交互,并且可以克服目前p 2 p 软件中的限制。j x t a 为开发新的p 2 p 应用程序 提供了p 2 p 平台技术和资源社区,基于上述所言,本论文采用j x t a 作为p 2 p 网络 平台。 本章分三节分别讲述了j x t a 平台中的概念、j x t a 网络的体系结构和j x t a 协 议族。 2 1j x t a 平台中的概念 构成j x t a 平台定义的概念包括:对等点、对等组、服务、模块、管道、消息、 广告、安全和i d 【1 2 45 】。接下来的几个小节分别介绍这些概念。 2 1 1 对等点( p e e r ) 对等点是对等网络上的一个节点,是任何对等网络计算成本的基本处理单元。 对等点可以是任何实现了j ) 【t a 协议族中一个或多个协议的网络互联设备。包 括p c 、服务器或者超级计算机,也可以是p d a 、手机。 但对等点不仅仅指单个网络互联设备。首先单个设备可能作为多个对等点。 在一个设备上运行多个应用适应能力,每个应用程序都可以看作是一个对等点, 一6 一 沈阳工业大学硕士学位论文 所以对等点可以是一个已联网( 如接入互联网) 设备上的一个应用程序。其次, 一个应用程序可以分布在多台设备上,但只作为一个对等点。 为了包含所有这些含义,这里我们将对等点定义为: 对等点是任何一个实体,它支持j x t a 协议族中一个或多个协议,能够执行一 些有用的任务,并就操作的结果与网络上的其他实体直接或间接地进行通信。对 等点标识符唯一地标识一个对等点。 对等点是与特定的网络服务紧密联系在一起的,他们在j x t a 网络中使用基本 的服务。另外,还有一些将被赋予特定的功能的对等点。例如超级点,这些特定 的对等点将为j x t a 网络提供相关服务。 在实际的应用中j x t a 定义了五类对等点; ( 1 ) 最小对等点( m i n i m lp e e r ) 一个最小对等点( 简称:最小点) 可以接收和发送消息但不能缓存广告和路由 信息。这类点指那些在具有相对少资源的设备上运行的对等点( 例如:p d a 和移动 电话) 。 ( 2 ) 简单对等点( s 唧l ep e e r ) 一个简单对等点( 简称:简单点) 可以接收和发送消息并且能够为广告提供缓 存。简单点可以响应查询并且可以从本地缓存中查询已存在的广告,但是不能转 发任何查询。在j x t a 网络中大多数对等点都是这种简单点。 ( 3 ) 集合点( r e n d e z v o u sp e e r ) j x t a 项目中使用解析器将查询消息发送到另一个点并接收响应,即在对等网 络中执行在传统分布式系统中的解析操作,如对等点的名字解析成i p 地址,在端 口绑定i p 套接字等。 j x t a 网络在集合点( r e n d e z v o u sp e e r ) 上提供默认的解析器服务。集合点是一 个处理来自其他点的查询的点。对等组内可以有多个集合点,且有自己的集合点 集( s e to fr e n d e z v o u sp e e r s ) ,每个集合点负责自己范围内的对等点的查询。对 等组内只有集合点能看到详尽的搜索请求。任何对等点都可以成为集合点,但是 基于哪a 的p 2 p 网络搜索技术的研究 安全的对等组会限制某些点作为集合点的。集合点保存对等点使用共享资源分布 索引服务( s h a r e d r e s o u r c ed i s t r i b u t e di n d e x ( s r d i ) s e r v i c e ) 发布的广告索引 ( 而不是广告本身) 。当发布新的广告时,对等点使用s r d i 将广告索引发送给所属 的集合点。这种集合点与所属对等点的层次关系,保证了解析请求只在集合点之 间扩散,于是在查找某个广告时,大大减少了被搜索的对等点的数量。 ( 4 ) 中继点( r e l a yp e e r ) 中继点的功能主要是维护有关路由的广告和消息。一个对等点查询路由信息 的时候,首先要查询本地是否有要查询的信息,如果没有该对等点将发送一个查 询给中继点询问是否有所查询的信息。 中继点为了避免消息的重复发送应当在消息中加入可用的路由信息。中继点 也应该能够转发消息给n a t 环境下的对等点。 ( 5 ) 代理点( p r o x yp e e r ) 代理点的作用是作为最小对等点的服务代理。代理点代理的服务包括:查询 服务和即时消息服务等基本服务。也可以是特定服务。例如游戏服务。 在以上这五种对等点中集合点和中继点是整个j x t a 网络的核心部分。在j x t a 网络中任何一个对等点都可以在实现所必需的服务后成为集合点和中继点,也可 以在同一个对等点上同时具有集合点和中继点的功能。 ( 6 ) 超级点( s u p e rp e e r ) 超级点是j x t a 2 o 提出的概念。超级点是指j x t a 中能够为其他点提供特定服 务的对等点。j x t a 网络中的集合点、中继点和代理点都是超级点。其中,j x t a 代 理点类似于j i n i 技术中的代理,它可以为j x t a 网络中最小点( m i r c op e e r ) 提供 服务。 j x t a 虚拟网络中各种对等点所处的地位是不同的。最小点只具有最基本的功 能来完成j x t a 网络中最简单的行为;简单点的所能完成的功能相对多一些,除最 基本的解析和端点路由以外它还可以使用管道绑定协议和对等点信息协议;超级 点是j x t a 网络中功能最强的对等点,它可以完成所有j x t a 网络的基本服务。 超级点是对等组的组织者。对等组是一个虚拟实体,由多个有共同兴趣的对 一8 一 沈阳工业大学硕士学位论文 等点参与的集合,对等点支持一组共同的协议( 成员关系、路由、搜索等) 。对等 组实际是对网络空间的一种划分,其形成的逻辑区域并不反应底层物理网络的拓 扑结构。一个对等点可以同时属于几个不同的对等组,也可以发起组建一个对等 组。 另一方面,任何对等点都可以成为超级点,但是安全的对等组会限制某些点 作为集合点的。集合点保存对等点使用共享资源分布索引服务( s h a r e d r e s o u r c e d i s t r i b u t e di n d e x ( s r d i ) s e r v i c e ) 。当发布新的广告时,对等点使用s r d i 将广 告索引发送给所属的超级点。这种集合点与所属对等点的层次关系,保证了解析 请求只在集合点之间扩散,于是在查找某个广告时,大大减少了被搜索的对等点 的数量。 本论文实现中超级点不做特殊说明一般指同时具有集合点和中继点功能的对 等点。本论文仅就简单点和具有集合点和中继点功能的超级点组成的搜索网络做 出详细论述。由于最小对等点相当于具有部分功能的简单点,所以在本论文中对 最小对等点和与之相关的代理点只做一般性描述。 2 1 2 对等组( p e e r g r o u p ) 从根本上说,整个连结着的计算机网络就是一个大型p 2 p 系统。但由于目前 连通性和可用带宽的限制,把整个因特网当作一个巨型p 2 p 网络来使用是不切实 际的,相反,一些划分则是必要的。 物理网络的逻辑划分产生了对等点的工作组,这种工作组在j x t a 网络中成为 p e e r g r o u p 即:对等组。对等组成员资格的交迭没有任何约束;换句话说,任何对 等组有必要属于几个对等组,就可以属于几个对等组。j x t a 规范并没有规定或推 荐组织对等组的合适方式。在j x t a 网络中,对等组就是共享资源和服务的对等点 的集合。与j x t a 的设计理念一致,对等组被规定为尽可能不受限制、尽可能普遍 适应。 对等组的存在要求一些维护成员资格的手段。j x t a 规范只规定了维护组成员 资格的最小需求,而没有说明该怎样维护。这种组成员资格服务只是核心j x t a 服 一9 一 基于j x t a 的p 2 p 网络搜索技术的研究 务的一部分,但它可以接受很多种形式,它可以是数据库或目录服务,还可以是 基于集中式或分布式实现的。 2 1 3 端点( e n d p o i n t ) 在j x t a 应用中,端点是最基本的通信方法。一个端点就是实现特定通信协议 的对等点的地址。这也是j x t a 网络和传统的网络是有着不同之处,j x t a 网络抽象 出端点这个概念用来作为地址。 一个对等点可以有多个端点,这样可以通过不同的协议与其他对等点通信。 端点不一定是物理地址,端点可以允许物理地址发生变化。 端点可以是一个i p 地址加上一个端口,通过这个给定的这些值可以打开一个 流和另外一个目标对等点通信。j x t a 在流的基础上加了一层,这个层称为p i p e ( 管 道) 。这样对于j x t a 平台上的应用程序可以直接使用抽象出来的端点和管道而不 用关心网络的具体实现。 由于管道使用通信协议来连接,端点描述了协议和连接所需要的信息。因此 端点可以描述h t t p 、t c p 、b e e p 以及其他可以支持的通信协议。 一个对等点可以支持一个或者多个端点,这样通过使用多种协议对等点可以 在不同情况下采用不同的方式通信。 2 1 4 管道( p i p e ) 管道是在对等点之间传输数据、文件、信息、代码或多媒体内容的方式,管 道是对等点之间的虚拟通道。j x t a 管道用于在对等点之间发送消息( 可带任意内 容) 。管道作为一种抽象的方法隐藏了一些细节。另外,管道也可以重新定位找到 原来的对等点。在j x t a 的参考实现中有几种常用的管道包括:单向异步管道、单 向可靠安全管道和双向管道。 从逻辑上讲,一个管道的实例是对等组内的一个资源。管道实例的实际实现 通常情况下是通过管道服务完成的。跟传统机制如u n i x 管道或t c p i p 套接字不 同,j x t a 管道的末端可以在不同的时间连接到不同的对等点上,或者根本不连接。 在为p 2 p 网络上的服务提供冗余实现方面,对等点可以在任一点及时地、逻辑地 “拾起”管道。例如:一个对等组内的成员想获得某种由其他组成员提供的服务, 沈阳工业大学硕士学位论文 他只需要查询组内是否有他所需的服务实例在某处运行,如果有那么该对等点就 还能得到服务。 管道是j x t a 最基本、最重要的特性,管道使得对等点可以在大多数网络情况 下进行通信。 2 1 5 服务( s e r v i c e ) 、 对等点间的协作通信来发布、发现和使用服务。对等点可以发布多个网络服 务也可以使用对等点发现协议来发现多个网络中现有的网络服务。 j x t a 网络由两个层次的网络服务组成:对等点服务和对等组服务。 ( 1 ) 对等点服务:是指在一个对等点上建立并发布的服务,这个随着对等点 的失败而失败。对等点服务的多个实例可以运行在多个不同的对等点上,但每个 实例都有自己的广告。 ( 2 ) 对等组服务:一个对等组服务是一个由运行在对等组内的多个成员上的 服务的组成的服务集。如果一个对等点失败,组服务不会受到影响。对等组服务 作为对等组广告的一部分进行发布。 2 1 6 模块 模块类似于微软的c o m ,是为了允许开发者以一种可扩展的方式,为j x t a 增 加各种功能。j x t a 采用了模块框架。j x t a 的所有功能,都是由这个框架管理下的 模块所提供。包括对等组提供的服务和应用,以及整个对等组机制的实现。 所以要想为j x t a 提供一个新的服务,必须理解模块,要想理解对等组、服务、 应用的规范,也必须理解模块。简单来说,模块就是可以被对等点初始化、启动、 停止的功能块,一个可以被对等点用来启动应用的组件。 类似于其他资源,为了使模块能够被对等点发现,模块使用公告来描述自身。 一个模块包括模块类型、模块规范、模块实现,它们的关系如下: ( 1 ) 目前j ) 【t a 被设计成语言平台无关,所以模块框架需要为一个模块支持 多个具体实现。以发现服务的模块为例,它的实现可以是一个j a v a 类,或者是一 个c + + c o m 类【峪。模块实现描述一个模块的具体实现。 基于j x t a 的p 2 p 网络搜索技术的研究 ( 2 ) 一个模块的功能会不定期地改变。负责模块定义的个人或组织可能会增 加或删除某些功能,而导致模块规范的改变。还是以发现服务的模块为例,它可 能会不时地增加一些新的搜索功能。因此,模块框架需要区分模块的各种不同版 本,这就是模块规范。对于每一个模块规范,可能有不同的模块实现。 ( 3 ) 有时需要引用提供某类功能的模块,而不考虑它的规范和实现。例如, j x t a 的发现服务模块是一类提供发现服务的模块。这就是模块类型。对应地有三 种类型的公告来描述一个模块:模块类型公告( m o d u l ec l a s sa d v e r t i s e m e n t ) 、 模块规范公告( m o d u l es p e c i f i c a t i o na d v e r t i s e m e n t ) 以及模块实现公告( m o d u l e i n l p l e m e n t a t i o na d v e r t i s e i n e n t ) 。 2 1 7 广告 j x t a 虚拟网络中的任何资源,包括对等点、对等组、管道、路由和服务都用 广告来描述。广告是语言无关的元数据结构,在j x t a 中,它是) ( h i l 文档。对等点 通过缓存、发布和交换广告来发现和定位可获得的资源。每个广告在发布时都定 义了寿命( 1 i f e t i m e ) 。 主要的广告类型包括陋1 9 】: ( 1 ) p e e r g r o u pa d v ( p g a ) 对等组广告,它包含用来实例化一个对等组时 需要的信息,包括组的服务、端点等信息。 ( 2 ) p e e ra d v ( p a ) 对等点广告,描述对等点的信息。 ( 3 ) m o d u l ec l a s sa d v ( m c a ) 模块类广告,定义模块的具体版本。 ( 4 ) p i p ea d v 管道广告,用来唯一地标识管道资源的信息。 ( 5 ) m o d u l es p e c i f i c a t i o na d v ( m s a ) 模块规范广告,用跨乎台的定义 来描述模块,定义中包含行为。 ( 6 ) p i p ea d v 管道广告,用来唯一地标识管道资源的信息。 ( 7 ) e n d p o i n ta d v 端点广告,定义通信协议。 ( 8 ) m o d u l ei m p l e m e n t a t i o n ( m i a ) 定义特定平台上的模块的具体实例。 对等组广告: 对等组广告定义了对等组的标识和组的服务,它包括以下信息: 沈阳工业大学硕士学位论文 ( 1 ) n 鲫e 一组的名称。 ( 2 ) d e s c r i p t i o n 对一个组的描述。 ( 3 ) p e e r g r o u pi d 对等组的每一个成员所具有的统一标号。 ( 4 ) p e e r g r o u ps p e c i f i c a t i o n 一本组所使用的模块的标号,此标号用来 确定与本组所使用的服务有关的模块。 ( 5 ) s e r v i c e _ 讨等组所提供服务的列表,由它们的c l a s si d 参数来表 示。 对等点广告: 对等点广告与对等组广告大致相同,他们的区别在于他们的类型。 ( 1 ) n 锄e 一对等点名称。 ( 2 ) d e s c r i p t i o n 对等点描述。 ( 3 ) p e e ri d 与此对等点实例相关的标识。 ( 4 ) p e e r g r o u pi d 所属组的标识。 ( 5 ) d e b u gf 1 a g 一用于调试的可选的标签。 ( 6 ) s e r v i c e 一对等点所属组所提供服务的部分列表,由他们c l a s si d 和 参数来表示。 在实现中,此部分应该包括与对等点交流所需要的详细信息。 模块广告: 模块用来定义被执行的代码。该代码描述了一个对等组或一个对等点可用的 服务。为了确保不同的对等点可以由不同的语言、版本和操作系统来完成,模块 由三个瑚l 广告来定义:m o d u l ec l a s s 、m o d u l es p e c i f i c a t i o n 、m o d u l e i m p l 鲫e n t a t i o n 。 模块类广告: ( 1 ) m o d u l ec l a s si d 一模块类的唯一标识符。 ( 2 ) n a i n e 模块的名称,用来识别和发现,但并不唯一。 ( 3 ) d e s c r i p t i o n 一描述信息。 基于脚a 的p 2 p 网络搜索技术的研究 模块规范广告: ( 1 ) m o d u l es p e ci 卜具体模块的i d 。 ( 2 ) c o m p a t i b i l i t ys t a t e m e n t 用于定义代码的编写语言和版本的相容 性。 ( 3 ) n a i e 具体规范的规范名称。 ( 4 ) d e s c r i p t i o n 对用于识别和发现的规范的描述。 ( 5 ) c r e a t o r 一规范的创建者。 ( 6 ) s p e c i f i c a t i o nu r id o c u m e n t 规范文件的地址。 ( 7 ) v e r s i o n _ 一此规范的版本。 ( 8 ) p a r 硼e t e r s 实现所用到的参数列表。 ( 9 ) p r o x y 代理模块的模块规范i d 。 ( 1 0 ) a u t h e n t i c a t o r 一模块认证者模块规范i d 。 模块实现广告: 模块实现广告时模块定义的最后一个环节。它定义了与p e e r 的具体语言表示 相关的具体引用。此广告用于发放代码。 ( 1 ) n 硼e 与模块相关的可选名称。 ( 2 ) d e s c r i p t i o n 用来描述和批准用于查询模块的关键词,是一个可选项。 ( 3 ) m o d u l e s p e c i d 一用于识别所要实现的规范的唯一标识符。 ( 4 ) c o m p a t i b i l i t y 对运行环境的描述。 ( 5 ) p a c k a g eu r i 可下载实现的可选u r i 地址。 ( 6 ) c o d e 包含下载和运行此实现的相关信息。对于j a v a 模块而言这是个 完全合法的类名。 ( 7 ) p a r 鲫e t e r 由此实现代码解释的任意参数。 ( 8 ) p r o v 此实现的提供者。 管道广告: 管道广告描述了管道的类型。管道广告相当简单,它仅包含一个名称、一个 i d 和一个类型。管道的具体类型将在t y p e 标签中指出。管道包含以下标签: 沈阳工业大学硕士学位论文 ( 1 ) n a m e 一管道的名称。 ( 2 ) i d 一管道的i d 。 ( 3 ) t y p e 一管道的类型。 2 1 8 消息 j ) 【1 a 消息是通过管道从一个对等点传送到另一个对等点的数据束。这里,j x t a 规范再一次尽可能地使自己普遍适应,以免不经意间在消息的定义中引入任何依 赖于实现的策略。消息被定义为由信封和正文组成的任意大小的束。信封是标准 格式,它包括: ( 1 ) 报头。 ( 2 ) 源端点信息( u r i 格式) 。 ( 3 ) 目的地端点信息( u r i 格式) 。 ( 4 ) 消息摘要( 可选的出于安全性目的) 。 ( 5 ) 消息正文的长度是任意的,可以包含一个可选的信任( 出于安全性目的) 的内容。 j x t a 消息的定义非常松散。j x t a 消息的格式是灵活的、善于适应新环境的。 因为它可能要在所有种类的网络上实现,而不只是在t c p i p 上。 为了提供一个标准的、语法上易分析的、通用的编码机制,j x t a 消息目前采 用x 地文档格式t ”“q 。j x t a 利用了) ( 1 l l 的普遍可访问性和易使用、易编程的特点, 这意味着j x t a 可以用大多数编程语言在大多数平台上很容易地实现。只要) ( m l 语 法分析器和生成库在那里是可用的。 消息有两种不同的类型:) ( m l 类型和二进制类型。 x m l 消息: ) a 儿消息用于支持文本的传输机制或作为一种普通的消息发送方式。x l l l 消息 包含有一个消息标签来

温馨提示

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

评论

0/150

提交评论