写点什么

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:4310486
用户头像

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

关注

评论

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

豆包 1.5 · 深度思考模型上线边缘大模型网关,百万 Tokens 免费领

火山引擎边缘云

深度思考 火山引擎 豆包 边缘智能

Spine 动画教程:皮肤制作

北桥苏

动画制作 Spine

第一期人工智能工程师(中级)课程顺利举行,AI精英齐聚一堂!

雅菲奥朗

探索亮数据Web Unlocker API:让谷歌学术网页科研数据 “触手可及”

程序员洲洲

[方法分析]如何把大批量电话号码存入到手机通讯录,导入华为手机、小米手机、苹果iphone通讯录

一码平川

通过利益相关者管理提升财务规划的发展可持续性

智达方通

全面预算管理 财务管理 财务转型

国际知名半导体研究机构SemiAnalysis称:华为云CloudMatrix 384领先英伟达和AMD的产品一代

极客天地

深入研究:拼多多商品详情API详解

tbapi

拼多多商品详情接口 拼多多API

CAD怎么将多段线反转方向

极客天地

.NET Core 服务实现监控可观测性最佳实践

观测云

.net core

从数字化到智能化,百度 SRE 数智免疫系统的演进和实践

Baidu AICLOUD

SRE

Apache IoTDB V2.0.2/V1.3.4 发布|新增表模型权限管理、UDF、嵌套查询功能

Apache IoTDB

为什么科技巨头纷纷推出编程 Agent?背后是一场关于“生存方式”的重构

Ryan Zheng

SQL优化的这15招,真香!

量贩潮汐·WholesaleTide

数据库 sql

CAD缺少线型文件会怎么样

极客天地

ScaleFlux入选CRN【2025存储百强】榜单

ScaleFlux

NVMeSSD 企业级存储 硬件存储

鸿蒙动画与交互设计:ArkUI 3D变换与手势事件详解

威哥爱编程

HarmonyOS HarmonyOS NEXT HarmonyOS5.0

邮件自动回复助手(Rasa/SMTP)实现教程

不在线第一只蜗牛

前端 教程 邮件

Sentinel源码—ProcessorSlot的执行过程(二)

电子尖叫食人鱼

JavaScript

秘密任务 3.0:如何通过 JWT 认证确保 WebSockets 安全

数据追梦人

雅菲奥朗可观测性Observability认证培训圆满结课,赋能企业可观测性新能力

雅菲奥朗

利用DevEco Profiler定位性能瓶颈,优化资源占用

威哥爱编程

HarmonyOS HarmonyOS NEXT HarmonyOS5.0

内部im聊天,实现企业安全私密聊天

BeeWorks

即时通讯 IM 私有化部署 企业级应用

RAG 实战|用 StarRocks + DeepSeek 构建智能问答与企业知识库

StarRocks

数据库 数据检索 StarRocks ;RAG DeepSeek

TapData × 梦加速计划 | 与 AI 共舞,TapData 携 AI Ready 实时数据平台亮相加速营,企业数据基础设施现代化

tapdata

实时数据平台 MCP协议 AI Ready实时数据平台 CDC数据采集 数据服务化

企业内部即时通讯软件有哪些?这款IM工具值得拥有

BeeWorks

即时通讯 IM 私有化部署

IBM发布《2025 年 X-Force 威胁情报指数报告》: 大规模凭证盗窃不断升级,亚太地区首当其冲

财见

技术解析:ScaleFlux CSD5000如何用7%OP实现28%级别的企业存储性能

ScaleFlux

CAD怎么调用参数阵列下拉菜单?

极客天地

成功案例丨新一代热管理:预测并降低热风险,避免代价高昂的过度设计和组件故障

Altair RapidMiner

仿真 CAE hyperworks Simlab PSIM

Apipost自动化测试实战:用户充值系统API零代码高效测试与CI/CD集成全攻略

数据追梦人

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