产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

Chord:结构化 P2P 网络中的一个 DHT 算法

  • 2014-12-02
  • 本文字数:1062 字

    阅读完需:约 3 分钟

DHT 即分布式哈希表(Distributed Hash Table), 它通常是为了拥有极大节点数量的系统,而且在系统的节点常常会加入或退出节点而设计的。DHT 具有良好的扩展性、鲁棒性、结点 ID 分配的均匀性和自组织能力。DHT 可以用以建立复杂的服务,例如分散式档案系统、点对点技术档案分享系统、网页快取、缓存系统、任意点传输、网域名称系统以及即时通讯等。 Chord 由麻省理工学院(MIT)在 2001 年提出,其目的是提供一种能在 P2P 网络快速定位资源的的算法,它并不关心资源是如何存储的,只是从算法层面研究资源的取得,因此,Chord 的 API 就简单到只有一个 set、get。Chord 在一致性哈希的基础上提供了优化的路由算法,优化后的算法具有负载平衡、分布性、可扩展性、可用性、命名的灵活性等优点。它可用于全球文件系统、命名服务、数据库请求处理、互联网级别的数据结构、通信服务、事件通知、文件共享等应用中。

Chord 要实现的其实就是给定一个关键字 Key,并能够将其映射到某个节点。Chord 采用一致性哈希为每个节点和关键字产生一个 m 位的 ID,并按照 ID 的大小构成环形拓扑。另外,为了路由的需要,Chord 还维护了一张最多 m 项的路由表即 Finger 表。如下图所示的就是 m 为 6 的一个 Chord 拓扑环和 Finger 表。

对于节点的查询的处理,Chord 采用了幂次逼近查询法;对于新节点加入的处理,Chord 需要环形拓扑中的任意一个节点来协助完成, 且加入过程包括新节点本身的 Join 操作和被其他节点发现两个阶段;对于节点失效的处理,Chord 需要周期性对节点的前继节点和后继节点进行探测,并按照节点加入时的算法重建 Finger 表;对于节点退出的处理,Chord 采取了将节点的退出当作为失效来处理的方式。有关 Chord 及 Chord 对节点的查询、加入、失效等具体是如何处理的,请读者参考论文《结构化P2P 网络chord 算法研究与分析》

另外,请读者们注意,DHT 只是一个概念、一种网络模型,读者还可以阅读 freedomlayer 上的一篇介绍以加深对 DHT 的理解。除了 Chord 算法外,基于 DHT 实现的算法还包括加州大学伯克利分校提出的内容寻址网络算法 CAN 、英国剑桥的微软研究院和莱斯大学提出的 Pastry 、加州大学伯克利分校提出的一种新型 P2P 网络定位和路由算法 Tapestry 等。目前,DHT 算法的发展方向非常多,且随着科学技术的发展以及人们的不断探索与研究,将会有新的改进算法不断被提出来。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-12-02 05:439688
用户头像

发布了 92 篇内容, 共 46.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

分步指南:安装和访问Kubernetes仪表板

百度搜索:蓝易云

全景图制作软件 DoubleTake for mac v2.7.2注册激活版

理理

文件压缩和解压缩工具 iZip Archiver Pro for Mac v4.9激活版

理理

Corel Painter 2023序列号 强大的数字绘画软件

理理

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

Mac多功能文件提取软件 File Juicer v4.101中文注册版

理理

WiFiSpoof for Mac(wifi地址修改工具)v4.0.4免激活版

理理

Stata 15:数据管理及统计分析工具

Rose

IDA Professional 9.0打开显示30016错误解决方法

Rose

写在 Pencils Protocol TGE 前:看好 $DAPP,加密社区共识是王道

加密眼界

Dropzone 4 for mac v4.80.20激活版 文件拖拽增强工具

理理

使用Lens Desktop监控和调试Kubernetes

百度搜索:蓝易云

狂奔的荣耀,稳健的苹果:AI Agent手机竞速赛

脑极体

AI

Understand for Mac(优秀的源代码审查工具)

Rose

Cinema 4D 2024 For mac/win 中文破解版 C4D 2024下载安装教程

Rose

Blu-ray Player Pro for Mac(蓝光高清播放工具)v3.3.22中文版

Rose

探索 RAD:5 个最佳实践案例解析

NocoBase

低代码 实践案例 无代码 RAD 快速应用开发

38个LomBok工具注解:LomBok架构分析与注解使用案例(必须收藏)

肖哥弹架构

Java lombok

如何在Ubuntu 22.04上安装CRI-O容器运行时

百度搜索:蓝易云

母带音频制作IK Multimedia T-RackS 6 MAX 新功能及安装包下载

理理

最新版Downie 4 v4.7.28中文版 苹果mac网络视频在线下载器

理理

站在 AI 与 Web3 的交汇路口,EraAI 如何带领投资者进入智能化决策时代?

股市老人

Go必知必会:探索Go语言中的map,灵活而强大的键值对集合

王中阳Go

map 数据类型 Go 语言

Bartender 5 for mac(菜单栏图标管理软件)v5.1.2中/英激活版

理理

Sketch for mac(专业矢量绘图设计软件)v100.3中文破解版

Rose

UnlockGo(安卓版)For mac 手机解锁工具

Rose

Maplesoft Maple 2024 for mac v2024.0 专业的数学计算软件

Rose

Permute 3 for mac(全能媒体格式转换器)v3.11.12中文版

理理

LED大屏幕:现代显示技术的璀璨之星

Dylan

技术 科技 LED LED display 屏幕

OmniGraffle Pro for mac(思维导图/流程图软件)v7.23.1正式注册版

Rose

写在 Pencils Protocol TGE 前:看好 $DAPP,加密社区共识是王道

大瞿科技

Chord:结构化P2P网络中的一个DHT算法_语言 & 开发_李士窑_InfoQ精选文章