P2P网络搜索技术的研究
- 格式:pdf
- 大小:214.35 KB
- 文档页数:3
P2P资源搜索技术调研陈海宁(信息科学与工程学院信息0801)摘要 :资源搜索机制作为 P2P应用的核心技术 ,其目标是在 P2P这种分布式动态环境中以最快的速度找到最多的满足用户要求的系统节点资源。
对 P2P网络中种类型搜索机制的原理与性能进行了分析与比较。
关键词:计算机系统,P2P,搜索机制所有的计算机系统可分为集中式和分布式两类集中式系统,主要指IBM、HP等小型机以上档次的系统,一个主机带多个终端。
终端没有数据处理能力,运算全部在主机上进行。
现在的银行系统,大部分都是这种集中式的系统,此外,在大型企业、科研单位、军队、政府等也有分布。
集中式系统,主要流行与上个世纪。
现在还在使用集中式系统的,很大一部分是为了沿用原来的软件,而这些软件往往很昂贵。
分布式系统是把各地不同地理位置的计算机集中起来形成一个系统.例如DNS服务器就是一个典型的例子.他把全世界的DNS 服务器通过internet连接起来,全世界共有13台根DNS服务器,但并不是存储有全世界的域名的.而是分配存储.例如.cn的域名服务器在中国.当外国客户机要访问中国域名时先在本地服务器查(没有查到)---然后在本地主查到是中国的域名就到中国主服务器查.得到对应的IP地址,然后去访问. 分布式系统,一般采用客户机/服务器模式、多层、服务器集群等技术。
是现在的主流分布式可进一步划分为C/S和P2P 模式C/S模式可划分为扁平:所有的客户端仅仅和单个服务器(含重复服务器)通信,如传统的中间件分层:提高可扩展性,某层的服务器又作为更高层的客户端:如DNS服务器和文件系统一、什么是 P2P?为说明问题我们先打个比方:如果说局域网中的“网络邻居”是乡里乡亲,那么互联网中的“P2P”则是“天涯比邻”。
P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。
这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。
P2P技术的应用及其研究现状摘要自1999年以来,对等网络(P2P)技术因其充分利用网络资源和网络带宽等诸多优点而受到国内外学术界和商业组织的广泛关注。
美国《财富》杂志更称之为改变因特网发展的四大新技术之一,甚至被认为是无线宽带互联网的未来。
文中首先介绍P2P的概念及其四种网络模型:集中目录式、纯分布式、混合式和结构化,并将P2P模型与C/S模型进行对比,结果表明:在有效利用网络中的大量闲置信息、存储空间、处理器周期等资源、避免服务器带来的瓶颈问题、降低服务器成本等方面,P2P有着明显的优势;然后介绍P2P文件交换、对等计算、协同工作等应用模型及其研究现状;最后讨论P2P网络存在的问题。
关键字对等网络(P2P)技术客户端∕服务器(C/S)模型模型引言随着Internet网络的广泛普及、网络带宽的大幅增加以及基于Internet的端系统计算能力迅速增强,在客户端∕服务器(C/S)模式(通常只有服务器节点资源得到利用)中被忽略的且广泛存在的用户端设备成为一种宝贵的计算资源。
因此,“充分利用网络边缘资源”成为新的研究和应用目标之一,其中“网络边缘资源”是指那些在传统应用模式中作为客户端而往往被忽略的计算设备。
而对等网络(P2P)技术正是在这样的形势下迅猛兴起,如今P2P技术研究的涉及面已十分广阔,包括网络拓扑、分布式存储、安全性和可靠性等。
P2P技术应用更是涵盖诸多方面,商业和民用领域的文件与数据共享和存储、、科研领域的协同和并行计算等。
然而P2P也同样在其发展历程中存在着许多或难以克服或存在缺陷的问题,比如版权问题、安全问题等。
尽管问题如此之多,不置可否,P2P技术正不断变革着网络,并且改变人们的生活。
1P2P的概念及其网络模型目前在学术界以及商业组织上对于P2P 没有一个统一的定义,下面有三种定义:1 P2P是一种通信模型,其中每个参与者都有相同的能力。
在Internet上,P2P是一种网络类型,它允许相同网络程序的计算机相互建立连接,直接访问对方的硬盘上的文件。
P2P网络搜索技术一、P2P技术简介(一)概念及特征。
P2P是peertopeer的缩写,是一种用于不同用户PC机之间共享他们所拥有的空闲软硬件资源(处理能力、存储能力、网络连接能力、可共享文件等),可以不经过中心节点直接互相访问和交换信息的技术。
它打破了传统的C/S式,在对等网络中,每个节点都具备客户机和服务器的双重特性,可以同时作为服务使用者和服务提供者。
与其他网络模型相比较,P2P有分散化、可扩展性和健壮性好、高性能等优点。
P2P技术目前的主要应用:文件共享与交换、协同工作、搜索引擎、分布计算、智能代理。
(二)P2P与C/S的区别。
每个对等点具有相同的地位,同时扮演着服务器和客户端两个角色,还具有路由和缓冲的功能。
P2P中每个结点可以很容易加入系统中,其中任一结点可以利用网络上其他对等体的信息资源、理器周期、速缓存和磁盘空间,P2P是基于内容的寻址方式。
P2P模式最主要的优点就是资源的高度利用率,所有节点的资源总和构成了整个网络的资源,整个网络可以被用作具有海量存储能力和巨大计算处理能力的超级计算机。
而且对等点越多,网络性能越好,网络随着规模的增大而越稳固。
信息在网络设备节点间直接流动,高速即时,降低中转服务成本。
但P2P也有些不足,P2P不易管理,对等点可以随意的加入或退出,会造成网络带宽和信息存有的不稳定。
二、P2P的几种搜索技术(一)P2P搜索的几种基本方式1、Index集中式架构。
存有一个提供索引功能的节点,这个节点的索引储存了资源所在的位置信息,给定资源的某种查询条件,索引可以迅速找出符合条件的资源及其所在的位置2、Hash分布式结构。
这种方式要求每一个资源都可以通过某种hash算法找到一个唯一的地址,发布资源时资源不是保存有本地,而是保存有这个资源hash后的地址所对应的节点中。
3、Flooding分布式架构。
这种方式要求每个节点都有查询本地资源的能力,每个节点都有d个邻居,这些节点之间通过邻居关系构成一个连通的网络。
基于P2P网络的搜索引擎技术研究随着科技的快速发展,网络已经成为了人们生活中不可缺少的一部分,人们更加依赖网络获取信息。
搜索引擎作为网络信息检索的重要手段,其功能和效率已经成为人们选择的重要指标。
随着互联网的迅速发展,基于P2P网络的搜索引擎技术也开始逐渐被人们所重视,其独特的搜索方式和高效的搜索结果使得越来越多的人开始关注这一技术的发展。
一、P2P网络的搜索引擎技术发展历程P2P网络的出现可以追溯到上个世纪九十年代,其最初的目的是为了实现文件的共享和资源的利用。
在当时,人们主要是通过FTP等传统的网络协议来实现对文件的共享。
但是,传统的网络协议存在灵活性差、速度慢、带宽不稳定等问题,因此P2P技术应运而生,它可以充分利用节点的带宽和资源,从而实现更高效的文件共享。
随着P2P网络技术的不断发展,其搜索引擎技术也在不断提升。
最初的P2P搜索引擎是基于哈希表的,节点会将自己所拥有的资源的哈希值汇报给超级节点,超级节点再将其汇总生成资源索引表。
用户可以通过搜索引擎搜索到需要的资源,并根据索引表来下载资源。
但是,这种方式存在中心化问题和单点故障的危险,因此后来的P2P搜索引擎主要采用去中心化方式,如DHT分布式哈希表等,从而提高搜索效率和安全性。
二、基于P2P网络的搜索引擎技术特点相较于传统的搜索引擎技术,基于P2P网络的搜索引擎技术具有以下几个显著特点。
1. 去中心化基于P2P网络的搜索引擎技术采用去中心化方式,不存在传统搜索引擎那样的中心服务器,因此不会出现单点故障,同时也不会造成过大的带宽压力。
这使得其更具有鲁棒性和可扩展性。
2. 搜索粒度更丰富传统搜索引擎通常只能搜索到已被爬取的网页内容,但是基于P2P网络的搜索引擎具有更为丰富的搜索粒度,可以搜索到更广泛的内容,如视频、图片、音频等各种类型的资源。
3. 搜索结果更可靠传统搜索引擎通常会将排名最高的结果放在最前面,但是这种排名并不能保证结果的可靠性和相关性。
P2P网络技术的实践与应用随着互联网的快速发展和普及,P2P网络技术逐渐成为了一种热门的网络技术。
P2P网络是指点对点网络,其特点是所有的节点都是对等的,可以共享自身的资源,并且不需要任何中心服务器进行控制。
这种网络技术的实践与应用,涵盖了多样化的领域,包括了文件分享、视频播放、游戏下载等等,使得用户得以快速访问和共享数据资源。
本文将从P2P网络技术的原理、特点、优缺点以及未来发展等角度,进行详细探讨。
一、P2P网络技术的原理和特点P2P网络技术的基本原理是将网络中的所有节点作为一个整体,每个节点可以像其他节点一样提供和获取服务。
在这种网络中,用户可以直接和其他用户进行数据的传送和交流。
相比于传统的客户端-服务器架构,P2P网络技术不需要服务器作为中心枢纽,节约了大量的成本,同时也降低了网络拥塞的发生率。
这种技术可以有效地降低网络流量,提高数据传输速度,提高文件共享的效率。
P2P网络技术的主要特点可以总结为以下几点:1. 分布式架构:P2P网络不需要任何中心服务器控制,每个节点都可以作为一个服务端,同时也可以作为一个客户端,与其他节点进行数据交流。
2. 共享资源:用户可以共享自身的资源,如文件、音乐、视频、图片等,而不需要在服务器上进行储存和检索,这也破解了现在文件过大无法传输的问题。
3. 自我平衡和自我修复:P2P网络中,每个节点都可以动态地加入和退出网络,网络的拓扑结构也会不断变化。
当某个节点崩溃时,其他节点会自动接管其服务,从而保持网络的平衡,并且可靠性高。
4. 巨大的规模:P2P网络可以容纳成千上万个节点,有着非常大的扩展性。
由于每个节点都可以共享自身的资源,所以可以大大增强网络的容量。
以上这些特点也成为了P2P网络技术的优点。
二、P2P网络技术的优缺点P2P网络技术虽然带来了诸多的优点,但也存在一些缺陷。
1. 安全性差:由于P2P网络技术的分布式架构,每个节点都可以作为服务端,因此就会出现一些不法分子利用P2P网络进行木马、病毒或者非法分享行为的情况。
收稿日期:2005201201;修返日期:2005204206基金项目:国家自然科学基金(60474072,60174050);广东省自然科学基金(04009465,010059);广东省高校自然科学研究资助项目(Z03024);广东省哲学社会科学规划项目(03/04J02)P2P 网络搜索技术的研究3贾杏丹,张立臣(广东工业大学计算机学院,广东广州510090)摘 要:分布式存储系统以其分布式控制、自组织性和普遍的适应性而受到越来越多的关注。
搜索是所有存储系统的重要组成部分,而对终端用户的反应时间是衡量一个搜索引擎优良的重要指标。
讨论了目前几种流行的P2P 网络搜索技术及特点,并比较其优劣,然后对基于分布式哈希表的搜索技术的几种改进方法进行了分析。
关键词:P2P;分布式哈希表;B l oom Filter;Cache中图法分类号:TP30116 文献标识码:A 文章编号:100123695(2006)0120071202Research on Search Technol ogy of P2P Net w orkJ I A Xing 2dan ,ZHANG L i 2chen(Faculty of Co m puter ,Guangdong U niversity of Technology,Guangzhou Guangdong 510090,China )Abstract:I nterest in distributed st orage syste m is fueled for its decentralized contr ol,adap tati on and self 2organizati on .Searchis an i m portant technol ogy f or all st orage syste m,and end 2user latency is the most i m portant perfor mance metric f or a search engine .D iscusses several recent popular search technol ogies of P2P syste m s and characterizes of this technol ogies,and com 2pares their advantages and disadvantages,then analyzes several i m p r oved ways for DHT 2based st orage syste m.Key words:P2P;DHT;B l oom Filter;Cache 分布式存储系统以其分布式控制、自组织性和普遍的适应性而受到越来越多的关注。
但是高级搜索技术仍是一个亟待解决的问题,而在一个搜索引擎中对终端用户的反应时间是最重要的性能指标。
在分布式搜索引擎中对最终用户的反应时间多由网络传输时间决定。
因此最小化要发送的比特数和发送花费的时间单元数是很重要的。
在实际的搜索中,包含有多个关键词需由多台主机协同工作才能完成的查询占大多数,它们决定了网络的负载,因此对它们进行优化对缩短终端用户反应时间是很重要的。
1 P2P 网络中常用的搜索技术的分析具有集中式的目录服务器的搜索机制(如Nap ster ),在集中式的目录服务器上存放对等节点的地址信息、元数据和文件的关键词信息。
它可以对请求的查询进行快速地查找并返回最合适的目的节点。
但是随着网络规模的增大,目录服务器必然成为服务瓶颈,而且会造成单点失败,同时还存在扩展性问题。
采用洪泛查找机制的P2P 网络,如Gnutella[2],Freenet 等。
可以把这种完全分布式的网络看成是一组对等节点之间的自组网络。
节点在进行查找时,首先传播到它的所有相邻节点,然后在传播到相邻节点的所有相邻节点,直至到达预先确定的层次为止。
这种查询机制造成网络通信负担较大,也存在扩展性较差的问题。
在文献[9]中提出了针对Gnutella 的利用搜索相近关键词的一组节点构造节点存储的路由表进行组播来减少洪泛查找所造成的网络流量的失控。
基于分布式哈希表的查找机制,如Chord [3],CAN [4],Pas 2try[5],Tapestry [6]等。
在Chord 中每个关键字都保存在它的后继节点上,查找过程就是不断接近它的后继节点最终到达目的节点或查找失败。
C AN 基于虚拟的d 维笛卡儿坐标实现其数据组织和查找功能。
Pastry 使用最长共同前缀进行匹配查找。
Tapestry 使用邻居映射表进行最长前缀匹配查找,并可把消息传递到最近的存放所要求的对象拷贝的节点。
以上介绍的四种基于分布式哈希表的查找机制有很多相似之处。
下面对它们进行简单的比较如图1所示。
由此可知在Nap ster 和Gnutella 中使用的关键词查询的方法,在基于分布式哈希表的P2P 系统中由于关键词经哈希函数后成为唯一的关键值,就是说基于分布式哈希表查找系统通过一个不透明的关键值来对文件进行查询。
关键值选择的方法由构筑在DHT 之上的应用程序所决定,它缺少有效的关键词查询的功能。
然而经改进后,可以不把关键词的查询直接映射在存有相应哈希值的节点上。
而是映射在一个哈希表上,节点再映射到此哈希表上来提供高效的关键词查询。
在实际的搜索中,包含有多个关键词需由多台主机协同工作才能完成的查询占大多数,它们决定了网络的负载,所以以下的改良方法针对多关键词查询。
・17・第1期贾杏丹等:P2P 网络搜索技术的研究 2 对现有的基于分布式哈希表查找机制的改进方法211 B l oom Filter算法B l oom Filter[1]是一种表示集合的方法,并可简洁地测试一个元素是否在该集合中,它基于哈希函数建立,所存储的比特数远少于它所表示的集合。
P2P网络传输一个基于集合A的B l oom Fiter而非集合A本身,可以减少需要传输的信息量以降低网络流量。
但B l oom Fiter会导致可预算的错误定位率。
B l oom Fiter的错误定位率随它尺寸的增大而呈指数降低。
集合S的B l oom Filter F(S)=S∪ε(S),ε(S)是错位定位数。
Pf p 为错误定位率,则P f p=(1-e-kn/m)K,(k为哈希函数的个数,m为B l oom Fil2 ter的尺寸,n是集合中元素的个数)哈希函数选择最优化时,错误定位率为f=0.6185m/n(1)所以若要保持一定的错误定位率,m必须与n成一定的比例[7]。
下面是关于B l oom Filter的集合操作把集合S转换为它相应的B l oom Filter:F(S)←SB l oom Filter的交集运算:F(X∩Y)←F(X)∩F(Y)B l oom Filter的并运算:F(X∪Y)←F(X)∪F(Y)B l oom Filter和集合的运算:(X+ε(X))∩Y←F(X)∩YF(X)∩X=X优化多关键词搜索重点是降低所用的网络带宽。
例如,若服务器SA 存放所有含关键词KA的文件集合A,SB存放所有含关键词KB的文件集合B。
|A|和|B|分别表示集合A和B的大小(即它们包含的文件数目)。
A∩B是即包含关键词KA 又含关键词KB的文件集合。
若一个节点C查询搜索既包含关键词KA 又含关键词KB的文件即A∩B。
一个直接的方法是:SA 发送集合A给集合B所在的节点SB。
SB计算出A∩B然后直接发送A∩B给查询节点C。
若使用B l oom Filter,SA发送集合A的B l oom Filter F(A)给集合B所在的节点SB 。
SB计算并发送F(A)∩B给SA,S A通过计算A∩(F(A)∩B)(与A∩B等价)去除错误定位的文件,然后发送给节点C。
S A虽可通过计算A∩(F(A)∩B)在最后去除错误定位的文件,但浪费了带宽。
如上,节点SA 和节点SB的例子中,共需传递的比特数为m+Pf p|B|j+|A∩B|j(j是文件标识符的比特数)。
|A∩B|j是所要求的交集本身,不能优化。
所以可优化的比特数为m+Pf p|B|j与式(1)联合可得可优化比特数为m+f|B|j=m+016185m/|A||B|j(2)当式(2)取值最小时m=|A|l og016185(21081|A||B|j)(3)由上可知当A,B和j固定时,优化m才能得到最小的传输比特数,所以要合理的选择B l oom Filter的尺寸大小。
而且当|A|和|B|不同时优化的性能是非对称的且当|A|≤|B|时传输的比特数更少。
B l oom Filter交集处理多关键词查询的技术可以推广到任意多个关键词,如下所示:S rq是请求查询的节点,求A∩B∩…∩ZS rq→S A:query f or A∩B∩…∩ZS A→S B:F(A)S B→S C:F(F(A)∩B)=F(A∩B)┇S Y→S Z:F(F(A∩…∩X)∩Y)=F(A∩B∩…∩Y)S Z→S Y:F(A∩B∩…∩Y)∩ZS Y→S X:F(A∩B∩…∩Y)∩Z∩Y┇S B→S A:F(A∩B∩…∩Y)∩Z∩Y…∩BS A→S rq:F(A∩B∩…∩Y)∩Z∩Y…∩B∩A而且当|A|≤|B|≤|C|≤…≤|Z|时可以最优化传输的比特数。
212 缓存使用缓存若SB在本地已经存储有F(A)或A则可以避免S A继续发送。
缓存F(A)而非A本身的话,相同的空间可以存储更多数据的B l oo m Filter。
因为关键词出现的概率呈非对称分布(Zi pf分布),所以这就意味着即使很小的Cache都可以有很高的命中率。
平均地看,一个B l oo m Filter已存储在另一个节点的概率p与该节点Cache的命中率相等。
此时式(2)可优化为(1-r)m+0.6185m/|A||B|j(4)优化m后得m=|A|l og0.6185[(1-r)2.081|A||B|j]发送比特数的减少和Cache命中率的提高近似成线性关系。
213 结果的处理请求查询并不需要返回搜索出的所有结果。
如果只传输返回所要求的查询结果,可以在很大程度上减少所要传输的信息量。
查询结果的数量与网络中存储的文件的数目成比例,所以用于返回查询结果的带宽和网络规模的增大呈线性增长,因而从系统的可扩展性来说,对结果进行整理是很有必要的。
而B l oom Filter和Cache都不能减少这种线性的增长,所以截去部分结果是唯一的方法。
因为B l oom Filter如果被分割就没有任何实际意义,所以S A把本地存储的文件分块,发送一个块的B l oom Filter给S B, S B返回相应块的搜索结果(在此期间S A和S B,保持通信),直至达到查询所要求的文件的数目。