`
spartan1
  • 浏览: 366807 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

DHT:分布式哈希表

 
阅读更多

分布式哈希表(DHT,Distributed Hash Table)用来在一群节点中实现(key, value)的关系映射。在类似Cassandra、bitcomet等分布式系统中使用了DHT。

DHT是一个不存在中心点的、提供key->value查询功能的分布式系统,关于key到value的映射信息分布式地保存在多个节点上,数据的变化和节点的变化只会影响到部分节点,不会对所有节点产生影响。

作为一种基础架构,DHT可以用来构建更多复杂应用,比如分布式文件系统,域名服务,即时消息,p2p文件共享和内容分发平台。

DHT定义一个关键字空间,比如所有160位的位串集合,然后通过某种算法,把这些关键字映射到整个DHT系统的所有节点上。这种算法称为一致性哈希(consistent hashing)。通过这种算法,DHT可以根据某个关键字找到某个节点,然后对该节点进行操作,比如存数据,查数据等。

DHT中的每个节点只需要与其他部分节点相连即可,使用某个关键字访问任何一个节点,这个节点都可以将信息前传到该key对应的节点上进行处理,这种处理叫做基于关键字的路由(key-based routing)

一致性哈希算法中,通过一个函数定义两个关键字之间的距离,然后给每个节点赋值一个关键字,作为该节点ID,所有离该ID最近的关键字都属于该节点。

今天先学理论,有点迷迷瞪瞪,下次分析一些实现,比如memcached等。

 

 

分享到:
评论

相关推荐

    dht:分布式哈希表

    分布式哈希表(DHT,Distributed Hash Table)是一种用于分布式系统中的数据存储技术,它通过将数据分布在多个节点上,实现数据的高效查找、存储和管理。在DHT中,每个节点都拥有一个唯一的标识符,数据按照哈希函数...

    分布式哈希表(Distributed Hash Table DHT)1

    分布式哈希表(DHT,Distributed Hash Table)是一种用于分布式环境的数据存储技术,它将数据分布在网络中的多个节点上,以实现高效、可扩展的数据管理和检索。DHT的设计目标是提供一种全局一致性的哈希函数,使得...

    multiserver-dht:使用分布式哈希表的多服务器插件

    该模块是一个多服务器插件,该插件加入了分布式哈希表(DHT),并使用通道密钥作为“地址”,对等方以客户端和服务器的身份进行通信。 用法 作为客户: var pull = require ( 'pull-stream' ) ; var Pushable = ...

    分布式哈希表技术分布式哈希表

    分布式哈希表技术(Distributed Hash Table)简称DHT,类似Tracker的根据种子特征码返回种子信息的网络.是一种分布式存储方法。

    ChordDHT:分布式哈希表的Java实现

    和弦DHT 分布式哈希表的Java实现。 该项目是KTH的ID2212 Java网络编程课程的一部分。 :warning: 笔记该项目仅用于个人/教育用途。 它不是,也可能永远不适合生产使用。建造要进行编译(JDK 7):javac -d bin -...

    分布式哈希表 Pastry.zip

    分布式哈希表(Distributed Hash Table,DHT)是一种用于分布式系统中的数据存储技术,它将数据分散存储在多台独立的设备上,通过哈希函数实现键值对的自动定位。Pastry 是一个著名的 DHT 实现,由斯坦福大学的...

    哈希表-使用C++实现的分布式哈希表.zip

    分布式哈希表(DHT)则是在单一哈希表的基础上进行扩展,它将数据分布在网络中的多个节点上,每个节点负责一部分数据。常见的DHT算法有Chord、Kademlia和Pastry等。这些算法的核心思想是通过层次化的节点ID空间和...

    dht:golang dht(分布式哈希表)节点

    dht golang dht(分布式哈希表)节点发展!!!安装go get -u github.com/bttown/dht用法node := dht . NewNode ( dht . OptionAddress ( "0.0.0.0:8661" ))node . PeerHandler = func ( ip string , port int , ...

    哈希表-使用Go实现的用于IB-Trust的分布式哈希表.zip

    在给定的压缩包文件中,“哈希表_使用Go实现的用于IB-Trust的分布式哈希表”可能是实现上述概念的一个具体项目。这个项目可能包含了DHT的实现代码,包括节点管理、路由算法、数据存储和一致性策略等部分。通过对该...

    Distributed-Editing:使用Chord DHT(分布式哈希表)的对等并发富文本编辑平台

    这是一个使用Chord DHT(分布式哈希表)的对等并发富文本编辑平台。 维护了弦环和k进制树的2层覆盖网络,以在O(logn)时间中广播每个消息。 扩展的分布式操作转换算法可确保在分布式节点中同时更新副本的一致性。 ...

    DHT-Demo:分布式哈希表的演示程序

    #DHT-演示分布式哈希表的演示程序,在Python中实现了Chord协议。 ##环境您需要将Twisted安装为开发依赖项。 请参阅以获取帮助。 ##跑步首先,必须使用-i或-initial参数启动初始节点。 然后,您可以添加其他节点...

    chord-dht:Chord P2P分布式哈希表实现

    ##Chord 点对点分布式哈希表实现###设计此 Chord DHT 实现包含三个主要组件: 超级节点(SuperNode.java) SuperNode是DHT中的一个众所周知的节点,所有Node和Client在开始运行时都知道它的IP地址,通过RMI连接到...

    基于分布式哈希表的协作式Web服务组合.pdf

    文档主题是“基于分布式哈希表的协作式Web服务组合”,这意味着我们要探讨的是分布式系统中Web服务组合的问题,特别是在利用分布式哈希表(DHT)进行高效的服务组合方面。 分布式系统是由分布在不同网络位置的多个...

    Socket-Project:分布式哈希表为多个客户端提供数据库管理功能

    分布式哈希表(Distributed Hash Table,DHT)是一种用于分布式系统中的数据存储技术,它能够在网络中的多台计算机上分布数据,实现高效、可扩展的键值对存储。在这个Socket-Project中,使用Java语言实现了一个DHT,...

    Content_Addressable_Network:分布式哈希表(DHT)有助于在对等(p2p)网络中使用关键字有效地搜索文件。 这些基于DHT的p2p网络被称为结构化p2p网络。 内容可寻址网络(CAN)是基于DHT的对等分布式系统的一种此类实现

    分布式哈希表(DHT)有助于在对等(p2p)网络中使用关键字有效地搜索文件。 这些基于DHT的p2p网络被称为结构化p2p网络。 内容可寻址网络(CAN)是基于DHT的对等分布式系统的一种此类实现。 此实现基于S Ratnasamy等...

    分布式哈希表和一致性哈希

    分布式哈希表(Distributed Hash Table,简称DHT)是一种在分布式系统中用以实现大规模数据存储和快速定位的算法。DHT通过分布式的方式将数据以键值对的形式存储在各个节点上,从而实现无需中心服务器的高效数据管理...

    基于分布式哈希表DHT技术在对等网资源查找模式的探究.pdf

    基于分布式哈希表DHT技术的对等网资源查找模式的研究 分布式哈希表(Distributed Hash Table,DHT)技术是一种在分布式系统中实现键值对映射查找的机制,它能够在大规模对等网络(Peer-to-Peer,P2P)中有效地定位...

    基于分布式哈希表的分布式子空间聚类算法.pdf

    它基于分布式哈希表(Distributed Hash Table,DHT),后者是一种分布式数据存储系统,提供了一种高效的数据寻址方法。DHT技术为每个参与的节点提供了唯一的标识符,并将数据存储在与之最匹配的节点上。这样,即使是...

    DHT-Android:使用 Android 群信应用实现的分布式哈希表

    分布式哈希表(DHT, Distributed Hash Table)是一种在分布式系统中存储和检索数据的数据结构,它通过将数据分散在多个节点上,实现了全局的键值对存储。DHT-Android 是一个专为 Android 平台设计的项目,旨在利用...

    基于分布式哈希表的网格资源定位框架的研究与设计.pdf

    分布式哈希表(Distributed Hash Table,简称DHT)是一种分布式系统中用于网络节点和资源定位的分散式数据结构,它通过将关键字和值映射到网络中的节点,以实现键值对的存储和检索。在网格资源管理中,DHT作为基础...

Global site tag (gtag.js) - Google Analytics