当节点在DHT中死亡时,数据会发生什么?

时间:2014-09-24 05:54:33

标签: cloud p2p dht

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

  

"我在考虑Distributed Hash Tables如何存储数据。我知道每个节点都有一个标识符,然后数据存储在节点上,该节点的标识符是其(数据)散列值的最接近的继承者。我也理解当节点加入或离开网络时,数据会被传输以反映网络中存在的新节点集。

     

我不理解的是当节点在切换数据之前死亡时会发生什么。这些数据丢失了吗?也许我真正的问题是:如何保证数据不会丢失在DHT中?"

1 个答案:

答案 0 :(得分:2)

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

Put请求通常以一定程度的冗余完成。另外,目标节点可以在它们之间复制数据,或者始发节点可以周期性地刷新存储的数据。

在完全分散的p2p环境中,您无法控制单个节点,您无法真正保证数据本身永远保留在网络中。虽然在足够稳定的网络上可以实现以天为单位测量的寿命。

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

即。如果节点A想要找到节点B,那么它将查询DHT并在查找过程中访问一堆与A或B没有直接关系的第三方节点。

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