第二节_P2P文件共享.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文档。上传文档
查看更多
区域超载的好处 减少定位跳数:让多个结点负责同一区域等效于减少系统结点数 减少每跳时延:在选择下一跳时,由于邻居区域由多个结点负责,可以从这多个结点中选出时延最短的作为下一跳 提高容错性和可用性:一个区域只有在负责它的所有结点都失效时才不可达,且该区域的数据相当于被复制到多个结点中 CAN中的复制与缓存 三种隐式复制:多空间、多散列、区域超载 对热点数据,CAN采用显式复制到邻居区域 在定位路径上放置热点数据的缓存副本 四、CAN总结 CAN采用多维空间拓扑结构,简单、直观,CAN空间被动态分配给其网络结点,每个结点负责一块,每个数据对象被映射到一个点,由负责该点所在区域的结点保持索引 每个CAN结点维护一个路由表,记录它在多维空间上的邻居信息,d维CAN的定位效率为 CAN的高容错性体现在其路由选择的灵活性上:即任意两个结点间存在多条路径,部分邻居信息的失效对定位效率影响很小 新结点加入CAN分三步:自举、寻找区域、加入路由表,从其加入区域中划分一半进行接管,采用“背景区域重分配”方法调整区域 CAN采用多种增强机制提高系统性能,包括多维度、多空间、多散列、区域超载技术 综上所述,CAN简单、容错性好,可扩展,高效率 * 99 * 先划分ID空间,排列 分布式哈希表 Key和value的映射表以片段方式存放在多个网络节点上的哈希表 每个节点保存映射表的一部分 典型的结构化P2P网络:Chord MIT与Berkeley的研究者2001年正式发表/chord/ Chord的特征 全分布式 全对称式 查询效率 O(LogN)(N为网络中的节点数) 0:8021 Yesterday.mp3 节点ip地址与端口 文件名关键字 Hash函数 (SHA-1) ID:大于160位的二进制数 Chord的核心内容 地址和资源混合编址 Chord的核心思想 把资源储存在与它ID相等的节点上 修正: 只移动资源的索引 如果不存在ID相等的节点,放在这个节点后面第一个节点上(可以称为该ID的责任节点) 未必每个ID都有对应的网络节点 Chord黑盒-资源发布 Bible.pdf A 资源拥有节点 hash C2085 ID 某个地址的哈希值为C2085的节点X 节点ID与地址的映射 资源ID:C2085 地址:A 资源索引 Chord黑盒-资源查找 Bible.pdf B 查询节点 hash C2085 ID 某个地址的哈希值为C2085的节点X 资源:C2085 地址:A 资源索引 A 资源拥有节点 节点ID与地址的映射 Chord名词解释 节点地址 IP地址+进程端口号 资源标识符 表示资源文件名称、大小等属性的字符串 节点ID 节点地址哈希值 资源ID 资源文件标识字符串的哈希值 ID长度 哈希函数的二进制目标字符串长度 意味着能容纳节点的个数。例如,ID长度为3意味着可以容纳2的3次方=8个节点 哈希函数 Chord使用安全散列函数(如SHA-1)为每个网络结点和资源文件分配唯一的ID H是散列函数,SHA系列散列函数的Hash值长度≥160,保证ID的唯一性 nodeID=H(节点地址),objectID=H(资源标识) Chord逻辑环的构建 计算所有节点ID 所有的节点按照节点ID从小到大顺时针排列在一个环上 资源文件k(ObjectID)被分配到具有相同ID的节点上,或者该节点的后继上。该节点称为资源文件k的后继,记做successor(k) Chord节点n的后继是环上紧随n(不等于n)的第一个结点,记做n.successor(责任节点) 一个简单的Chord环 键值长度为3的Chord网络(节点容量为8) 1 资源索引 节点 节点的加入和离开 当Chord中有新结点n加入时,为保持正确、一致的对象放置,原本由n的后继结点负责的对象,其中一部分必须分配给n 当Chord中有旧结点n离开时,原本由n负责的所有对象,必须分配给n的后继。除此以外,对象不需要再做移动,这正是一致性散列函数所追求的性质(问题:异常退出?) 例:图中新加入结点7 Chord节点的加入和离开 6 6 Chord的路由表 每个节点n维护一个有m(ID位数)项的路由表(finger table) 其中第i项指向结点s,s=successor(n+2i-1),1≤i≤m,即s是在顺时针方向到n的距离至少为2i-1的第一个节点,记做n.finger[i].node successor(n+2i-1)=(n+2i-1)mod2m, 1≤k≤m Chord路由表 路由表长度等于ID的位数 Chord的后继列表 Chord中正确的后继关系是一切工作的基础 无论机制如何完善,网络的动态性和不确定性都可以导致单后继失效 因此,实际的Chord给每个结点维护一个后继列表

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档