2014-09-24 67 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之間的直接對等連接完成。

相關問題