问题取自这里: https: //groups.google.com/forum/#!topic /byu-cs-460-computer-networking/hpESI0NapmY
“我在考虑分布式哈希表如何存储数据。我知道每个节点都有一个标识符,然后数据存储在标识符与其(数据)哈希值最接近的后继节点上。我也明白当节点加入或离开网络时,数据将被传输以反映网络中存在的新节点集。
我不明白的是,当节点在移交数据之前死亡时会发生什么。那数据丢失了吗?也许我真正的问题是:如何保证数据在 DHT 中不会丢失?”
一般来说,DHT 只是一种分布式算法。具体的实现以不同的方式处理节点故障。
Put 请求通常是通过一定程度的冗余来完成的。另外,目标节点可以在它们之间复制数据,或者源节点可以定期刷新存储的数据。
在完全去中心化的 p2p 环境中,您无法控制各个节点,因此无法真正保证数据本身永远保留在网络中。尽管在足够稳定的网络上,可能可以实现以天为单位的生命周期。
在 p2p 网络中,DHT 通常仅用于发现和元数据发布。
也就是说,如果节点 A 想要找到节点 B,那么它将查询 DHT,并在查找过程中访问一堆对 A 或 B 没有直接兴趣的第三方节点。
一旦发现完成,“繁重的工作”就通过 A 和 B 之间的直接点对点连接来完成。
| 归档时间: |
|
| 查看次数: |
874 次 |
| 最近记录: |