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