2014-09-24 64 views
1

问题从这里摘自:https://groups.google.com/forum/#!topic/byu-cs-460-computer-networking/hpESI0NapmY当一个节点死于DHT时,数据会发生什么变化?

“我在想如何分布式哈希表存储数据,据我所知,每个节点都被赋予一个标识符,并且然后将数据存储其标识符最接近的节点上。我知道当节点加入或离开网络时,数据将被传送,以反映网络中存在的新节点集合。

我不明白的是什么发生在一个节点死亡之前,它可以切换它的数据,数据是否丢失了?也许我真正的问题是:如何保证数据不会在DHT中丢失?“

回答

2

DHT通常只是一种分布式算法。具体实现与节点故障处理不同。

放入请求通常是用某种程度的冗余来完成的。另外,目标节点可以在它们之间复制数据,或者发起节点可以周期性地刷新存储的数据。

在完全分散的p2p环境中,您无法控制单个节点,因此无法真正保证数据永远保留在网络中。虽然在一个足够稳定的网络中,以天为单位的生命周期可能可以实现。

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

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

一旦发现完成,“繁重”由A和B之间的直接对等连接完成。

相关问题