P2P网络搜索技术.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
P2P网络搜索技术

Pastry的路由过程 当收到一条消息时,节点首先检查消息的关键字是否落在叶子节点的集合中。 是,直接把消息转发给对应的节点,也就是说叶子节点的集合中节点号和关键字最接近的节点。 否,使用路由表进行路由。当前节点把消息发送给节点号和关键字直接的共同前缀至少比现在节点长一个数位的节点。如果路由表对应表项为空,或者路由表对应的节点不可达。这时消息会被转发给共同前缀一样长的某个节点。这个节点从数值上比当前节点更接近关键字。 Tapestry原理 Tapestry是用于覆盖网络的定位和路由机制,它可以对消息进行位置无关的路由,把消息传递到最近的存放所要求的对象拷贝的节点。 特点:自我管理、容错和灵活平衡负载等特点。 Tapestry是基于Plaxton提出的定位和路由机制进行优化的。 表5-2 基于哈希表的路由机制有无法解决的问题。 经过哈希后,节点的位置信息破坏了,来自 同一个子网的站点很可能节点号相距甚远, 这不利用查询性能的优化 基于哈希表的系统不能利用应用本身的信息 ,许多应用(文件系统)的数据本身是按照 层次结构组织的,使用哈希函数后,层次信息 丢失了 TerraDir提出了一种面向层次结构的查询机制。 该机制通过缓存机制可以进一步提高查询性能。 Chord 每个Peer保持LogN其他Peer的踪迹(N是群组的全部Peer数) 当Peer加入或离开时,高优化算法版本仅需关注LogN个Peers的变化 CAN 每个Peer保持少于LogN个其他Peers的踪迹 在插入和删除时仅这些Peers受影响 其路由表较小,但到达的路径较长 可能更适合动态通信 Tapestry与Pastry很相似 除减少跳数外,还积极削减每个P2P跳上的时延 4个算法实现文件路由 Chord/CAN/Tapestry/Pastry 目标相同 减少路由到指定文件的P2P跳数 减少每个Peer必须保持的路由状态 算法异同 都保证算法的跳数与Peer群组的大小相关 或都指出算法能以高概率完成 方法上的差别很小 分布式非结构化搜索 分布式非结构化搜索 在非结构化网络中,节点没有指定的逻辑地址,采用随机方法或者启发策略加入网络,网络拓扑随着节点的变迁和网络通信的进行而发生演变。 迭代递增 启发式泛洪 Flooding算法 随机漫步和小世界模型 flooding query Unstructured P2P: Gnutella Flooding搜索示意图 洪泛请求模式 过程 每个Peer的请求直接广播到连接的Peers 各Peers又广播到各自的Peers 直到收到应答或 达到最大洪泛步数(典型5-9) 特点 无广告性共享资源 Gnutella 使用该算法,限于公司内通信有效 大量请求占用网络带宽,可扩展性并不一定最好 改进 Kazaa 设立Super-Peer客户软件,以集中大量请求 BT 文件分块 Cache最近请求 1 2 3 5 4 搜索 下载 6 Gnutella原理 I have file A. I have file A. Where is file A? Query Reply 混合式P2P网络搜索 混合式的P2P网络搜索 混合式P2P搜索技术,并不是基于混合式P2P结构的搜索技术,而是在同一P2P搜索过程中,运用了两种或两种以上的搜索技术进行混合搜索的方法,从某种意义上说,它并不是一种特有的技术,而是几种搜索技术的有效混合,搭配合作的方法。 Super Node based P2P: KaZaA ... ... ... ... ... ... super peer flooding query I have X! Publish insert(X, 123.2.21.23) ... 123.2.21.23 KaZaA原理 Where is file A? Query search(A) --> 123.2.0.18 search(A) --> 123.2.22.50 Replies 123.2.0.18 123.2.22.50 Just need to make progress, and not overshoot. Will talk about initialization later. And robustness. Now, how about speed? 新加入节点随机选择点P,然后将join(P)通过现有的任意节点发送到网络,然后在路由到P属于的分区,管理分区的节点就将自己的分区一分为二,新节点管理其中的一半。 获得现有节点的IP地址步骤,新加入节点向自举节点发请求,自举节点从自己的节点列表中随机返回几个IP地址。 自举节点类似与Bootstrap节点。 Distributed Hash Table 分布式数据结构

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档