当节点在DHT中死亡时,数据将如何处理? [英] What happens to data when a node dies in a DHT?

查看:126
本文介绍了当节点在DHT中死亡时,数据将如何处理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题来自此处: https://groups.google.com/forum/#!topic/byu-cs-460-computer-networking/hpESI0NapmY

我正在考虑分布式哈希表如何存储数据.我理解每个节点都被赋予一个标识符,然后将数据存储在其标识符是与其(数据)哈希值最接近的后继节点上.还了解当节点加入或离开网络时,数据将被传输以反映网络中存在的新节点集.

"I was thinking about how Distributed Hash Tables store data. I understand that each node is given an identifier and that the data is then stored on the node whose identifier is the closest successor to its (the data's) hash value. I also understand that when nodes join or leave the network, the data gets transferred to reflect the new set of nodes present in the network.

我不明白的是,当节点死亡之前,它可以移交其数据时会发生什么.数据丢失了吗?也许我真正的问题是:如何确保DHT中不会丢失数据?"

What I don't understand is what happens when a node dies before it can hand off its data. Is that data lost? Maybe my real question is: how can data be guaranteed not to be lost in a DHT?"

推荐答案

DHT通常只是一种分布式算法.特定的实现对节点故障的处理方式有所不同.

A DHT in general is just an distributed algorithm. Specific implementations deal differently with node failures.

放置请求通常以一定程度的冗余来完成.另外,目标节点可以在它们之间复制数据,或者原始节点可以定期刷新存储的数据.

Put requests generally are done with some level of redundancy. Additionally the target nodes may replicate data among themselves or the originating node may periodically refresh the stored data.

在完全分散的p2p环境中,您无法控制单个节点,因此,您不能真正保证数据本身永远保留在网络中.尽管在足够稳定的网络上,可以达到以天为单位的使用寿命.

In a fully decentralized p2p environment where you have no control over individual nodes you cannot really guarantee that data stays in the network forever by itself. Although on a sufficiently stable network lifetimes measured in days can probably be achieved.

在p2p网络中,DHT通常仅用于发现和元数据发布.

In p2p networks DHTs are usually just used for discovery and metadata publication.

即如果节点A要找到节点B,则它将查询DHT,并在查找过程中访问一堆对A或B没有直接兴趣的第三方节点.

I.e. if Node A wants to find Node B then it'll query the DHT and in the lookup process visit a bunch of 3rd party nodes that have no direct interest in A or B.

一旦发现完成,沉重的负担"就是通过A和B之间的直接对等连接完成的.

Once discovery is done the "heavy lifting" is done by a direct peer-peer connection between A and B.

这篇关于当节点在DHT中死亡时,数据将如何处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆