P2P网络的搜索技术研究.doc
《P2P网络的搜索技术研究.doc》由会员分享,可在线阅读,更多相关《P2P网络的搜索技术研究.doc(58页珍藏版)》请在三一办公上搜索。
1、 中国通信标准化协会课题编号: P2P网络的搜索技术研究2008年 9 月 研 究 报 告 要 点资源搜索是P2P技术的一个很重要的研究点,搜索方式涵盖了P2P的网络结构、路由算法、索引方式、查询方式和存储分布等P2P技术的多个重要方面。该报告从索引方式入手开始介绍P2P搜索技术。三四章从覆盖层网络结构的角度将搜索方案分为结构化和非结构化的,并分布详细介绍了多种路由算法。第五章介绍了语义的概念,并深入调研了非语义查询方式,此外还有多样化的查询类型,都是解决当前用户的需要的、正进一步深入的研究方向。第六章梳理了现有的搜索方案的存储方式及其负载均衡的情况。(技术工作委员会、工作组名称)TC1-WG
2、4研究单位: 北京邮电大学项目完成人: 皮人杰、陈辉、吕月梅、乐观、宋美娜项目参加人: 王虹、陈墨源完成日期: 2008年目录前言6缩略语71P2P Search概述81.1P2P Search概述81.1.1P2P 技术简介81.1.2P2P Search的定义81.1.3P2PSearch的分类81.2P2P Search的研究现状91.3P2P Search的研究要点101.4P2P Search面临的问题102索引类型112.1索引概述112.2索引的类型和比较122.2.1本地索引122.2.2集中索引142.2.3分布式索引153非结构化网络下的P2PSearch技术163.1概述
3、163.2现有搜索方法173.2.1Flooding搜索方法173.2.2迭代泛洪193.2.3启发式泛洪203.2.4本地索引法203.2.5Randomwalk搜索方法213.2.6Gnutella2搜索方法213.2.7基于移动Agent搜索方法213.2.8Modified-BFS搜索方法223.2.9小世界模型对搜索技术的影响224结构化网络下的P2PSearch技术224.1概述224.2常见拓扑结构234.2.1Plaxton树(Pastry,Tapestry)234.2.2环(Chord,DKS)244.2.3Tori(CAN)254.2.4Butterfly(Viceroy)
4、254.2.5Bruijn(D2B,Koorde,距离二等分,ODRI)264.2.6skip图275查询285.1非语义查询285.2语义查询285.2.1关键字查询295.2.2向量模型(PlanetP, FASD, eSearch)的语义检索方案295.2.3隐含语义检索(pSearch)的语义检索方案305.3查询的分类315.3.1范围查询325.3.2多属性查询345.3.3连接查询355.3.4聚集查询356存储366.1P2P存储系统概述366.2容错机制376.3一致性与副本396.4存储负载均衡问题436.4.1结构化P2P系统负载均衡问题446.4.2复制446.4.3地
5、址空间平衡(Address-space Balancing )456.4.4结点平衡(Nodes Balancing)476.4.5使用虚拟节点(Virtual Nodes)476.4.6其他方案486.4.7负载平衡小结497P2P Search的标准现状497.1现有国际标准、国家标准和相关行业标准、企业标准497.2标准化建议49参考文献49前言P2P技术作为当前主流分布式应用所采用的一种技术,通过自组织的方式来构建应用系统,充分的利用了网络边缘节点的计算和存储资源,具有很好的可扩展性、健壮性以及避免单点瓶颈的特性。目前也逐渐的为运营商所接受,用来构建未来的核心网络,也体现了该技术在性价
6、比方面的优势。搜索应用作为当前已经比较普及的应用,其价值已被大家广泛认识,这将是用户从互联网海量的信息中获取所需信息的必备工具。当前的搜索应用主要采用“爬虫”从互联网上广泛的获取网站信息,并存储这些资源,然后建立集中式的文件及关键词索引,收到用户的查询请求后将采用特定的查询方式从索引中找到相关的文件信息,根据特定算法计算相关文档的相关度,然后根据相关度排序并将结果返回给用户。这一领域在索引以及查询方式等方面都还在深入研究中,同时目前也存在语义搜索、多媒体搜索等多方面的研究。如何在P2P中进行搜索与现有的互联网搜索相比又是一个有所不同的领域,主要的不同点存在以下几个方面:首先是索引的建立的方式将
7、有所不同,以往的索引都是通过“爬虫”来收集其他主机的资源来建立索引,P2P网络中则不需要“爬虫”来实现网络资源的集中,同时索引方式根据P2P网络组网方式的不同也有不同的建立索引的方式。另外一个不同是在查询的路由方式,现有互联网搜索基于C/S的模式,不需要进行查询的路由,而P2P网络中由于资源的分布式特性,则需要将查询进行路由来进行搜索。最后的不同在于对搜索结果的处理上,对不同节点返回的信息如何进行相关度以及可信度的排序将与现有的C/S搜索存在较大差异。本文档主要参考RFC4981:Survey of Research towards Robust Peer-to-Peer Networks:
8、Search Methods, 对以上相关问题进行了深入的调研和整理。缩略语DHTDistributedHashTable分布式哈希表TTLTime to Live生存周期BFS宽度优先搜索PRRPlaxton,Rajiaraman,Richa三种P2P方案KSSKeyword Search System关键字搜索系统FASDFault-tolerant,Adaptive,Scalable,Distributed可容错的、自适应的、可扩展的、分布式的SDDSScalable Distributed Data Structure可扩展的分布式数据结构MAANMultiple Attribute
9、Address Network多属性地址网络LDPCLow Density Parity Check低密度校验码1 P2P Search概述1.1 P2P Search概述1.1.1 P2P 技术简介P2P(Peer to Peer)即对等计算或对等网络,通常简称为P2P,可以简单地定义成通过直接交换来共享计算机资源和服务。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来讲不依赖于专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源与服务。通常这些资源和服务包括:信息的共享与交换、计算资源(如CPU的共享)、存储
10、资源(如缓存和磁盘空间的使用)等。P2P网络有如下三条特点:自组织、对等通信、分布式控制。P2P网络是自组织的,当节点加入、离开或故障时能自主地做出相应的调整;P2P网络是对等的,网络中的对等体(Peer)在通信中既可充当服务端,又可充当客户端;P2P网络是分布式的,网络中没有集中控制的实体。1.1.2 P2P Search的定义目前,关于P2P技术研究的一个主要问题是搜索问题,研究P2PSearch技术具有重要的学术意义和实用意义。简单来说,P2P Search主要解决的是如何在P2P网络上搜索特定的资源与服务。传统的搜索主要采用的是C/S模式,用户在客户端输入要查找的信息,通过网络送达到服
11、务器上,服务器经过处理将相应的结果返回给客户端,这就完成了一次搜索过程。这样的搜索不仅给服务器带来巨大的处理任务,而且在一个不稳定的网络环境下,搜索过程可能持续很长时间,甚至完全终止。在P2P技术飞速发展并充分应用到网络中的背景下,我们把注意力集中到P2P技术中,通过P2P技术实现分布式地搜索与查找。从学术上来说,P2P网络上资源的存在形式对搜索技术提出了新的要求。P2P网络上的资源丰富多样,包括文件、程序等软件资源和打印、传感器等硬件资源,也包括空闲的CPU周期等。P2P网络的资源还具有极大的分散性,资源分布在许多节点上,同时每个节点上的资源并不多。由于节点自由的加入或退出,P2P网络的资源
12、还处于不断的动态变化之中。P2P网络的资源存在形式决定了P2P的搜索技术和现有的搜索技术有很大的不同,所以,研究P2P网络的搜索技术具有重要的学术意义。从实用意义上讲,在P2P应用仅有的短短几年发展时间里,它成为了占用Internet流量的主要应用类型,根据2007年3月美国的最新统计,P2P文件交换已经占美国Internet流量的70%以上,而2004年这一数据仅为40%左右。根据Internet权威专家预测,这一比例在未来几年还将继续上升。现阶段互联网上大量资源被闲置,没有充分地被利用。P2P搜索技术可以帮助人们方便地找到各种资源,从而提高资源的利用率,实现资源的充分共享。同时,P2P搜索
13、技术可以方便人们即时找到协作对象,能够进行跨越地理位置障碍的协同工作。P2P系统支持大量用户的能力,已经开始显示出技术优势:它能够以较低成本快速地部署强大的、大规模的分布式应用。所以,研究P2P的搜索技术也有重要的实用意义。1.1.3 P2PSearch的分类从资源搜索的集中程度为标准,可以将P2P网络分为集中索引模式、纯P2P模式以及混合P2P模式。我们会在第二章详细介绍这不同模式下的索引方式。从P2P网络有没构建有结构的覆盖层来分,P2P网络又分为结构化网络和非结构化网络。目前也有一些介于非结构化和结构化之间的网络方式。1.1.3.1 非结构化对等网络在非结构化拓扑的P2P系统中,结点间的
14、逻辑拓扑关系通常较为松散,具有较大的随意性。资源(或资源元信息)的放置通常与P2P系统的拓扑结构无关,一般只放置在本地。非结构化拓扑的实现和维护相对简单,可支持灵活的资源搜索条件,但高效的资源搜索通常较为困难(通常都是采用广播搜索、随机转发和选择性转发等方法),适用于由大量自治性强的结点组成、对服务质量没有严格要求的应用,如P2P文件共享应用等。非结构化拓扑可进一步按照分散度进行分类:如Napster和BitTorrent是集中式非结构化拓扑,Gnutella和Freenet是全分布式非结构化拓扑,FastTrack是部分分布式非结构化拓扑。1.1.3.2 结构化对等网络在结构化拓扑的P2P系
15、统中,结点间的逻辑拓扑关系通常由确定性的算法严格控制,资源(或资源的元信息)的放置也是由确定性的算法精确发布到特定的结点上。结构化拓扑P2P系统通常采用分布哈希表技术(Distributed Hash Table, DHT)1,2构建。结构化拓扑的优点是资源定位准确并且可保证一定的效率,有着良好的可扩展性和性能,因而适用于对可用性要求高的系统。结构化拓扑的应用领域广泛,包括分布式存储、应用层组播和名字服务等。但结构化拓扑的维护相对复杂,通常只支持精确匹配资源搜索,对复杂搜索条件的支持较差。结构化拓扑的P2P系统大都是全分布式的,如Chord10, Tapestry13 ,CAN3等;也有少部分
16、是部分分布式的,如Brocade4。非结构化拓扑和结构化拓扑具有不同特点,可分别适用于不同需求的P2P系统。图1-1给出了P2P系统的分类。图11 P2P系统的分类P2P系统非结构化拓扑结构化拓扑集中式拓扑(Napster)部分分布式拓扑(FastTrack)全分布式拓扑(Gnutella)部分分布式拓扑(Brocade)9全分布式拓扑(Chord、CAN、Tapestry)1.2 P2P Search的研究现状早期的搜索方案都是基于集中式的非结构化网络的,主要采用泛洪的方式,可扩展性差,查询效率也低。随后兴起的是基于DHT的搜索方法。DHT是一种结构化的分布式的方法,具有良好的可扩展性和查询
17、效率,并满足一定的负载均衡,但它主要提供精确匹配的查找,无法满足模糊的、多属性的关键字搜索。因此有了介于结构化和非结构化之间的方法,提出了语义查询的概念。利用非结构化网络的特性,可以实现语义搜索,但DHT的方法又可以带来高查询效率和易扩展到优点。两者的进一步结合是将来的一个很重要的工作。1.3 P2P Search的研究要点通过对大量研究资料的考察,我们可以按以下几个部分来整体把握P2PSearch所要涉及到的研究要点:索引、结构化与非结构化方法、查询类型、存储。实际上,索引方式、结构拓扑、路由算法和查询类型往往是组合在一起的,彼此关联和制约,从而构成一个完整的P2P搜索方法。现有的不同的P2
18、P方案就是这些组合下形成的一个个整体的方案。索引方式在一定程度上决定了P2P的体系结构,索引结构会影响到覆盖层路由方式和查询检索方式的设计,一般来说可以根据索引的集中化程度分为本地式、集中式和分布式。结构化和非结构化,即使是否构造有结构的覆盖层网络。在本文中,我们将结拓扑和基于结构拓扑的路由算法捆绑在一起来做介绍和分析。P2PSearch的大部分研究也集中在此。结构化方法和非结构化方法各有优缺点,对两者的取舍和融合是未来P2PSearch的重要工作。查询类型首先可以分为语义查询和非语义查询两个大类。这两类查询各有优缺点,但当前比较受欢迎的是语义查询,因为它可以捕获资源直接的关联,可以为用户提供
19、更多智能化的、多样的、模糊的查询。针对用户的选择,查询类型还可以分为范围查询、多属性查询、连接查询和聚集查询等,这些具体的多样查询,涉及到的具体技术是不一样的,值得深入研究和探讨。存储相对来说,和P2PSearch联系不是那么紧密,但作为完整的P2PSearch方案,在设计其路由算法和网络拓扑时,是必须考虑存储方式的。此外,存储的负载均衡问题也P2PSearch常常会考虑的方面。1.4 P2P Search面临的问题P2P搜索技术是构建P2P系统的基础性关键技术,对P2P系统的可扩展性、性能和鲁棒性等各方面都有着重要影响。与传统的分布式系统不同,P2P系统具有的诸多特点给资源发现技术带来了很多
20、新的挑战:(1) P2P系统通常具有较大的规模著名的P2P文件共享系统Napster创建一年多后用户就增长到5千万,Kazaa系统的注册用户达到1.5亿,参与SETIHome的计算机数量达到480万5。大量的用户使得P2P系统中共享了海量的计算、数据、存储和带宽等各类资源。据统计6, P2P系统Morpheus的470,000用户总共共享了约360TB的数据,SETIHome项目聚集的计算能力达到了68.83TeraFlops5。大量用户和海量资源使得P2P系统具有重要的应用价值,但也使得P2P系统中的资源定位成为一个具有挑战性的难题。因此,P2P资源发现技术必须具有较好的可扩展性和性能,能够
21、支持大规模的用户与资源。(2) P2P系统具有很强的分布性P2P系统中参与的用户和资源众多,并且各个结点和各类资源地理上广泛分布。强分布性有利于P2P系统的鲁棒性和负载平衡,但也使得系统的资源定位变得复杂。很多P2P系统是完全分布的,所有结点地位完全平等,既是客户端也是服务器,系统中没有任何传统意义上的服务器来提供服务(如Gnutella和Chord等);有些P2P系统中,存在着某种形式的服务器(如Napster等),但其中服务器的作用通常只是用来协调结点间的通信和协作,具体的任务仍然由分布的各结点来完成。因此,P2P资源定位技术通常需采用分散式(decentralized)的结构,通过有效的
22、分布式算法来实现资源的组织与发现。(3) P2P系统具有很强的动态性在P2P系统中,结点可能会由于各种原因(结点自主意愿或网络连接不稳定等)随时加入或退出,结点的动态加入与退出是系统的一种常态。研究指出7,Internet上计算机的平均无故障时间约为13小时,即在10000个结点的P2P系统中,平均每2分钟有一个结点失效。对典型P2P文件共享系统Napster和Gnutella的研究表明8,结点加入和退出系统的频率相当高,结点每次平均在线时间只有1小时。P2P系统的动态性会引起P2P网络拓扑的频繁变化,增加了P2P系统中资源发现的难度。因此,P2P资源发现技术必须具有较好的自适应性与鲁棒性,在
23、结点和网络环境发生动态变化时维持系统的稳定性、可用性和性能。(4) P2P系统中结点具有较强的异构性一方面,结点的异构性是由于各个结点在计算能力、存储能力和网络带宽等方面广泛存在着客观上的差别。另一方面,结点的异构性也受结点自身自治性行为的影响,例如目前很多流行的P2P文件共享软件都允许用户自主选择使用上下行带宽、网络连接数和共享的资源数量等。对Gnutella系统的监测表明8,Gnutella网络中各结点在网络带宽等方面有着显著的异构性。因此,P2P搜索技术应能充分考虑结点间的异构性,以提高P2P系统的整体效能。由于P2P系统的这些特点,P2P搜索技术需具有下面的几个特性:(1) 分散性。P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- P2P 网络 搜索 技术研究
链接地址:https://www.31ppt.com/p-2394469.html