第三代P2P网络之结构化P2P体系.pptxVIP

  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文档。上传文档
查看更多
第四章 第三代P2P网络 ——结构化P2P体系Chord、CAN、Tapestry、Pastry章节内容Chord与CFS:简单、精确的环形P2P网络CAN:简单、容错的多维空间P2P网络Tapestry与OceanStore:广域的超立方体结构P2P网络Pastry与PAST:容错的混合式结构P2P网络其它结构化P2P网络:Kademlia、SkipNet等常数度P2P模型:Viceroy、Koorde和Cycloid结构化P2P网络的特点与分析概述2001年,学术界P2P历史上的里程碑IEEE成立P2P专业会议、ACM会议专题等提出结构化P2P的几个经典模型与应用体系,如Chord、CAN、Tapestry、Pastry著名学术团体与技术组织成立专门的P2P研究组,如MIT、UC Berkeley、Microsoft、Stanford4.1 Chord与CFS:简单、精确的环形P2P网络MIT与Berkeley的研究者01年正式发表/chord/Chord作为一个P2P网络,是基于带弦环拓扑结构的分布式系统,提供对象的存储、查询、复制、缓存,在其上可以架构更高层的分布式数据存储系统如协同文件系统CFSChord作为一个分布式散列表,只支持结构化P2P最简单的功能:将结点和数据对象映射到覆盖网中,但具有几乎最优的路由效率、确定性的对象查询、负载均衡、高可靠性以及良好的容错性与自适应,最主要的是:简单、优美Chord的技术特点基于安全的一致性散列函数来分配结点ID和对象ID在一个有N个结点的网络中,每个Chord结点保存O(logN)个其他结点的信息查询数据对象需要的覆盖网路由跳数也为O(logN)当结点加入或者离开网络时,为了维持网络结构、保持自适应性所需要的消息数在O(log2N)一、Chord基础工作原理Chord使用安全散列函数(如SHA-1)为每个网络结点和数据对象分配唯一的IDnodeID=H(node属性),属性可以是结点IP、port、公钥、随机数或它们的组合objectID=H(object属性),属性可以是数据对象的名称、内容、大小、发布者或者它们的组合H是散列函数,SHA系列散列函数的Hash值长度≥160,保证ID的唯一性Chord按照如下方法将数据对象(只是其索引)分配到网络结点中所有的结点按照nodeID从小到大顺时针排列在一个环上数据对象k(ObjectID)被分配到环上顺时针方向紧随k(包括与k相等)的第一个结点,该结点称为对象k的后继,记做successor(k)Chord结点n的后继是环上紧随n(不等于n)的第一个结点,记做n.successor一个简单的Chord环(m=3)当Chord中有新结点n加入时,为保持正确、一致的对象放置,原本由n的后继结点负责的对象,其中一部分必须分配给n当Chord中有旧结点n离开时,原本由n负责的所有对象,必须分配给n的后继。除此以外,对象不需要再做移动,这正是一致性散列函数所追求的性质(问题:异常退出?)例:图中新加入结点7单纯的环可以工作,但效率太低为此,结点维护一个有m(ID位数)项的路由表,也称“指向表”(finger table),其中第i项指向结点s,s=successor(n+2i-1),1≤i≤m,即s是在顺时针方向到n的距离至少为2i-1的第一个结点,记做n.finger[i].nodeChord路由表的特点:每个结点只保存很少的其它结点信息,并且对离它越远的结点所知越少Chord结点不能从自己的路由表中看出对象k的后继为确定对象k的后继(k所在的结点),结点n在自己的路由表中查找在k之前且离k最近的结点j,让j去找离k最近的结点,递归查找,最终可以找到对象k的前驱(在k之前离k最近的结点,记做predecessor(k),类似,结点n的前驱记做n.predecessor)前驱中必然有后继的路由表项,定位成功Chord结点n的路由表各项属性及其定义属性定义finger[k].start(n+2k-1)mod2m, 1≤k≤erval[finger[k].start, finger[k+1].start).node≥n.finger[k].start的第一个结点successor后继结点,即finger[1].nodepredecessor前驱结点二、Chord对象定位算法定位算法的三个函数的伪代码//请求结点n寻找id的后继 n.find_successor(id) n’=find_predecessor(id); return n’.successor; //请求结点n寻找id的前驱 n.find_predecessor(id) n’=n; while(id (n’,n’.sucessor]) n’=n’,closest_prece

文档评论(0)

职教魏老师 + 关注
官方认证
服务提供商

专注于研究生产单招、专升本试卷,可定制

版权声明书
用户编号:8005017062000015
认证主体莲池区远卓互联网技术工作室
IP属地河北
统一社会信用代码/组织机构代码
92130606MA0G1JGM00

1亿VIP精品文档

相关文档