【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

现代DevOps如何改写软件开发格局

禅道项目管理

DevOps 自动化测试 项目管理软件

【搜索引擎】:ES 基础

L L

ES搜索 Java 技术栈

Desktop Stickers for Mac(桌面贴纸)v2.71激活版

影影绰绰一往直前

Soulver 3 for Mac(智能文本计算器)v3.10.2激活版

影影绰绰一往直前

数据指标体系搭建方法及经验

ClkLog

前端的你常用的编程语言是什么?

小魏写代码

牛客网最新开源,共1600+页 ,堪称Java面试八股文的天花板

架构师之道

编程 计算机 java面试

浅谈代码架构

比伦

ios 架构

记一次群聊消息查询优化的实践

EquatorCoco

Java 大数据 优化

虾皮Shopee商品详情数据采集,item_get-根据ID取商品详情

Anzexi58

API 文档

低代码如何改变软件开发格局

高端章鱼哥

探索AI的边界:如何精准地测试人工智能

霍格沃兹测试开发学社

Millumin 4 for mac(专业视频编辑软件)v4.18.e免激活版

影影绰绰一往直前

LED显示屏单元板:从外观看见质量的细节

Dylan

产品 数字 LED显示屏 全彩LED显示屏 led显示屏厂家

数字人/虚拟人讲解员穿越时空的对话!

青否数字人

2024全新版Java面试八股文.pdf出炉, 简直把所有 Java 知识面试题写出来了

采菊东篱下

编程 java面试

采购代购系统独立站,接口采集商品上货

Anzexi58

API 文档 外贸独立站

NFTScan | 03.04~03.10 NFT 市场热点汇总

NFT Research

NFT NFTScan

微信多开 WechatTweak for Mac v3.8.7(28245)中文集成版

影影绰绰一往直前

为什么要写技术方案?

老张

自动化测试 技术方案

IPQ9574/WiFi 7: Connecting everything, opening a new chapter in smart life

wallysSK

探索AI的边界:如何精准地测试人工智能

测试人

软件测试 测试开发

AIGC 周报(3.03~3.10)

AIGC Weekly 周报

AI 互联网 周报 AIGC #人工智能

Maplesoft Maple 2024 for mac(专业的数学计算软件)v2024.0激活版

影影绰绰一往直前

度小满”轩辕”系列发布12款金融大模型,金融实战能力出色

科技热闻

Bike for Mac(创意写作软件)v1.18.1(172)激活版

影影绰绰一往直前

FSNotes for mac(文本处理软件)v6.7.0中文免激活版

影影绰绰一往直前

虚拟人直播狂潮来袭看点在哪?

青否数字人

数字人

Downie 4 for Mac(视频下载工具)兼容14系统v4.7.5中文版

影影绰绰一往直前

Sonoma Cache Cleaner for Mac(MacOS系统清理优化工具)v19.0.4注册激活版

影影绰绰一往直前

DaisyDisk for mac(可视化磁盘清理工具)v4.26.1激活版

影影绰绰一往直前

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