K,V-网络信息中心-哈尔滨理工大学.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
K,V-网络信息中心-哈尔滨理工大学.ppt

DHT网络的搜索技术 1.P2P网络分类 非结构化P2P 网络拓扑是任意的 内容的存储位置与网络拓扑无关 结构化P2P 网络拓扑结构是有规律的 每个节点都随机生成一个标识(ID) 内容的存储位置与网络拓扑相关 内容的存储位置与节点标识之间存在着映射关系 P2P网络分类 在结构化P2P网络中,内容一般使用内容索引来表示,内容索引包括key和value两部分,其中key是内容的关键字,value是存放内容的实际位置,因此内容索引也表示为key, value对 内容索引夜宴, /yeyan.avi表示电影夜宴可以从/yeyan.avi处获得 2.Hash函数概述 Hash函数可以根据给定的一段任意长的消息计算出一个固定长度的比特串,通常称为消息摘要(MD:Message Digest),一般用于消息的完整性检验。 Hash函数有以下特性: 给定 P,易于计算出 MD(P) 只给出 MD(P),几乎无法找出 P 无法找到两条具有同样消息摘要的不同消息 Hash函数 MD5:消息摘要长度固定为128比特 SHA-1:消息摘要长度固定为160比特 Hash函数应用于P2P的特性 唯一性:不同的输入明文,对应着不同的输出摘要 将节点IP地址的摘要作为节点ID,保证了节点ID在P2P环境下的唯一性 SHA-1(“”) =24b92cb1d2b81a47472a93d06af3d85a42e463ea SHA-1(“”) =e1d9b25dee874b0c51db4c4ba7c9ae2b766fbf27 3.DHT原理(1) 将内容索引抽象为K, V对 K是内容关键字的Hash摘要 K = Hash(key) V是存放内容的实际位置,例如节点IP地址等 所有的K, V对组成一张大的Hash表,因此该表存储了所有内容的信息 每个节点都随机生成一个标识(ID),把Hash表分割成许多小块,按特定规则(即K和节点ID之间的映射关系)分布到网络中去,节点按这个规则在应用层上形成一个结构化的重叠网络 给定查询内容的K值,可以根据K和节点ID之间的映射关系在重叠网络上找到相应的V值,从而获得存储文件的节点IP地址 DHT原理(2) DHT原理(3) DHT原理(4) 索引发布和内容定位 DHT原理(5) 定位(Locating) 节点ID和其存放的K, V对中的K存在着映射关系,因此可以由K获得存放该K, V对的节点ID 路由(Routing) 在重叠网上根据节点ID进行路由,将查询消息最终发送到目的节点。每个节点需要有到其邻近节点的路由信息,包括节点ID、IP等 网络拓扑 拓扑结构由节点ID和其存放的K, V对中的K之间的映射关系决定 拓扑动态变化,需要处理节点加入/退出/失效的情况 4.Chord:概述 Berkeley和MIT共同提出 采用环形拓扑(Chord环) 应用程序接口 Insert(K, V) 将K, V对存放到节点ID为Successor(K)上 Lookup(K) 根据K查询相应的V Update(K, new_V) 根据K更新相应的V Join(NID) 节点加入 Leave() 节点主动退出 Chord:Hash表分布规则 Hash算法SHA-1 Hash节点IP地址-m位节点ID(表示为NID) Hash内容关键字-m位K(表示为KID) 节点按ID从小到大顺序排列在一个逻辑环上 K, V存储在后继节点上 Successor (K):从K开始顺时针方向距离K最近的节点 Chord:简单查询过程 每个节点仅维护其后继节点ID、IP地址等信息 查询消息通过后继节点指针在圆环上传递 直到查询消息中包含的K落在某节点ID和它的后继节点ID之间 速度太慢 O(N),N为网络中节点数 Chord:指针表 Chord:基于指针表的扩展查找过程 Chord:网络波动(Churn) Churn由节点的加入、退出或者失效所引起 每个节点都周期性地运行探测协议来检测新加入节点或退出/失效节点,从而更新自己的指针表和指向后继节点的指针 Chord:节点加入 新节点N事先知道某个或者某些结点,并且通过这些节点初始化自己的指针表,也就是说,新节点N将要求已知的系统中某节点为它查找指针表中的各个表项 在其它节点运行探测协议后,新节点N将被反映到相关节点的指针表和后继节点指针中 新结点N的第一个后继结点将其维护的小于N节点的ID的所有K交给该节点维护; Chord:节点退出/失效 当Chord中某个结点M退出/失效时,所有在指针表中包含该结点的结点将相应指针指向大于M结点ID的第一个有效结点即节点M的后继节点 为了保证节点M的退出/失效不影响系统中正在进行的查询过程,每个Chord节点都维护一张包括r个最近后继节点的后继列表。如果某个节点注意到它的

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档