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

2024-02-21

问题取自这里: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(使用前将#替换为@)

当 DHT 中的节点死亡时,数据会发生什么? 的相关文章

  • 在云中托管公共(只读)Neo4j 实例

    我正在开展一个开放科学项目 以了解药物为何有效 我们创建了一个名为Hetionet https github com dhimmel hetionet有 47 031 个节点和 2 250 197 个关系 是使用 Neo4j https t
  • GoogleCloudMessaging - InstanceID.getInstance(),从客户端注册

    我对 Java 编程和一般编程还很陌生 现在我决定制作自己的应用程序 该应用程序应该利用 Google Cloud Messaging 不知怎的 我成功了 但后来我意识到我使用了方法 String regid gcm register PR
  • 在 iOS 上通过 上传存储在云服务上的文件 0 字节

    我无法弄清楚为什么某些从 iOS 上传到我们服务器的内容会导致空文件 上传页面是一个简单的表单 使用 POST 和 enctype 作为 multipart form data 该问题似乎仅在用户执行以下操作时才会出现 正在使用 iOS 尝
  • 当 DHT 中的节点死亡时,数据会发生什么?

    问题取自这里 https groups google com forum topic byu cs 460 computer networking hpESI0NapmY https groups google com forum topi
  • 具有 3 个用户连接的 WebRTC

    我现在正在实施源代码WebRTC 示例 https github com webrtc samples tree gh pages src content peerconnection audio通过使用网状拓扑成为 3 个用户连接 但是
  • 是否可以使用Dropbox、Google Drive、Skydrive等作为服务器空间?

    我正在创建一个在线连接到服务器以收集信息的应用程序 为了节省从大公司租用服务器空间的费用 我想知道这些免费服务 Dropbox Google Drive Microsoft Skydrive Amazon Cloud 等 是否可以用作服务器
  • 电子邮件解析云服务[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 用于云服务“沙盒”的 SecurityManager

    All 我正在设计一个基于云的服务 该服务将提供执行客户提交的一些 插件 代码的选项 为了使这项工作正常进行 插件不能威胁系统完整性或有能力访问其他客户端的数据 这一点至关重要 理想情况下 我希望客户端能够提交一个简单的 jar 文件 包含
  • 解析iOS SDK:从Xcode调用云函数

    Scenario我想在我的应用程序中使用这两个云函数 他们检查用户的在线状态 我想为每个用户设置一个布尔键 isOnline 如果用户在线 则设置为 是 如果用户不在线 则设置为 否 var moment require moment Pa
  • PEX协议(磁力链接)如何找到它的第一个IP?

    我试图了解磁力链接如何工作 因为我读过他们使用 DHT 和 PEX 来获取对等点 但如果我是网络中的新节点 如何才能找到仅具有哈希值的对等点文件 它不是总是需要一个到已知主机的链接吗 Thanks Bittorrent DHT 可以通过多种
  • 同步通过 LAN 电缆连接的两台 Windows 7 计算机之间的时间

    我有许多笔记本电脑 它们运行我们的应用程序 同时通过以太网电缆成对连接 但未连接到任何外部网络或互联网 时间 我需要连接对来同步其系统时间 但由于每台计算机都需要能够与任何其他计算机同步 因此我无法将一台计算机定义为时间服务器 而另一台计算
  • 用于存储应用程序用户机密的 Azure Key Vault 机密

    在我的应用程序中 我必须存储用户的非常敏感的数据 例如其他第三部分服务的各种密码 用户填写一个表格 向我们提供第三部分服务的登录名和密码 该应用程序的目标是使用从 100 多个输入生成的 powershell 脚本来设置其他复杂系统 需要将
  • 如何在 Azure 中仅部署辅助角色/Web 角色

    如果您在 Azure 解决方案中拥有 Web 和辅助角色 那么所有等待发布更新包 上传到云存储 等待包部署的过程可能会让人筋疲力尽 浪费大量时间 如何仅上传 部署包含这两个角色的 Microsoft Azure 解决方案的辅助角色或 Web
  • 将 Azure 网站迁移到 Azure 云服务

    我有一个项目 我计划将 Web 应用程序作为 Azure 网站启动 然后将其迁移到 Azure 云服务 也称为托管服务 如果需要作为扩展策略 做出这个决定是因为我了解到 Azure 网站的开发更加简单 快速 几乎不需要特定于 Azure 的
  • 为什么 Kademlia 使用 UDP?

    为什么Kademlia 分布式哈希表 http en wikipedia org wiki Kademlia使用 UDP 作为其网络传输协议 即使它不可靠 主要原因是您快速查询了许多以前从未建立过联系并且可能在查找过程中永远不会再看到的节点
  • Flask 应用程序无法打开服务器到 Google Cloud Compute 实例的外部 IP

    我无法让 Flask API 使用我的实例外部 IP 响应 API 调用 我已经使用运行的 Google Cloud Compute 设置了一个实例Ubuntu 18 04 已经开放了HTTP HTTPS防火墙中的流量并为我的实例设置静态外
  • 如何在没有 openshift 的情况下托管 Django localhost 应用程序?

    我已经在本地主机中创建了一个 Django 应用程序 现在我需要在互联网上托管 我已经尝试过开档 https www openshift com and 任何地方的Python https www pythonanywhere com也 但
  • 为什么WebRTC需要ICE协议才能运行?

    据我了解 ICE协议用于发现从最终用户设备到 外部 的节点 设备 我不明白为什么需要它 数据包路由不是由路由器和交换机等网络设备负责吗 他们应该找到从网关到最终用户设备的最短路径 实际上 路由器会记住他们之前发现的那些路由 此外 NAT 协
  • 纯 Javascript 应用程序 + Amazon S3?

    我想确认或反驳以下内容 就我到目前为止所读到的内容而言 如果您需要拥有多个客户端 每个客户端都包含私有数据 则不可能仅使用 javascript 没有服务器端逻辑 编写由 Amazon S3 提供的 Web 应用程序 该应用程序也仅将数据存
  • 如何为 Android 应用程序创建可扩展的日历服务后端?

    我们希望在我们的服务器上为 Android 应用程序的每个用户维护一个日历 该用户只有只读访问权限 这可能会导致我们的服务器有时每天创建超过 1000 个日历 如果我们使用像 Google 这样的日历 API 那就意味着每天从我们应用程序的

随机推荐

  • 旋转图像和像素碰撞检测

    我这里有这个游戏plunker http plnkr co edit VCdFyn3SE4wSZa0OLRRT p preview 当剑不旋转时 一切正常 您可以通过取消注释第 221 行并注释掉第 222 223 行进行检查 当它们像上面
  • 如何在android中提取这个字符串变量?

    String test 1 Low level programming language true 2 High level programming language false 3 Machine language false 4 All
  • C中的时间戳,精度为毫秒

    我对 C 编程比较陌生 我正在开发一个需要非常精确的时间的项目 因此我尝试写一些东西来创建毫秒精度的时间戳 这似乎有效 但我的问题是这种方法是否正确 或者是否有更简单的方法 这是我的代码 include
  • xdebug 扩展未加载

    我已经安装了 xdebug 显示在 phpinfo 中 但我试图让它与 PHPUnit 的代码覆盖功能一起使用 它一直告诉我 XDebug 扩展未加载 我的 phpunit 与 WAMP 工作得很好 当我运行 php m 时 我没有看到 p
  • 无法在 C# 应用程序中为我的线程使用多个处理器组

    根据MSDN 文档 https msdn microsoft com en us library jj665638 v vs 110 aspx and 斯蒂芬 图布 回答 https social msdn microsoft com Fo
  • 如何保持 Asp.Net Core 控制器返回的 json 中属性的大小写?

    我们有一些遗留的 js 代码 它们执行 ajax 调用 并期望将属性命名为 Id Name 等 默认情况下 Asp Net Core 骆驼中的 json 序列化程序会使用返回实体上的属性 但我如何告诉它使用相同的大小写和 C 代码 最好我想
  • 如何在 MATLAB 中查找集合的中心点

    我正在尝试计算medoid http en wikipedia org wiki Medoid在MATLAB中 但是 我不知道该怎么做 我的数据集由多个三维数据点组成 因此具有三个轴的系统中的点云 中心点就是点 其与簇中所有其他对象的平均差
  • C# 应用程序中的全局鼠标钩子[重复]

    这个问题在这里已经有答案了 我想创建一个应用程序 当用户单击第三方 Windows 应用程序的指定按钮时 该应用程序将启动某些操作 我已经读过这里 C 应用程序中的全局鼠标捕获 https stackoverflow com questio
  • 使用 Perforce 代替 Subversion 有什么好处?

    我的团队使用 SVN 已有几年了 我们现在可以选择切换到 Perforce 做出这样的转变会有什么好处 和陷阱 P4 keeps track of your working copy on the server This means tha
  • 为什么事件冒泡在分离的 DOM 元素中不起作用?

    我有一个父母 div 有一个孩子 div 在内存中 未附加到当前文档 我想触发一个CustomEvent关注孩子 但听父母的事件 这是我的代码 var parent document createElement div var child
  • 在 Sublime Text 中添加自定义菜单

    如何添加自定义菜单项崇高文本2 有任何想法吗 我看到有一个主 sublime 菜单文件但不知道如何编辑它 Thanks sublime menu 文件只是 JSON 您可以在您的用户目录中创建一个 Main sublime menu 它将与
  • IOS 上的 PWA 和离线存储

    我们希望开发一款 应用程序 能够为评估人员记录受损汽车的详细信息 这个想法是让少数评估员拥有公司的 iPad 然后 当汽车损坏并返回车场时 他们可以参观拍照 输入一些详细信息 然后将其上传到主系统中 有些车场可能位于没有互联网覆盖的区域 因
  • 使用抽象超类作为Spring数据存储库的参数

    我知道如何实现 spring 数据存储库 创建一个像这样的界面 public interface CountryRepository extends CrudRepository
  • .on() 和 .click() 哪个更快?

    如果我有一个带有删除记录链接的表 那么连接单击事件的最佳方法是什么 这些在幕后的评价是否相同 table on click delete function do stuff or table delete click function do
  • 在 Twig 中使用自定义函数

    在我的模板中 我想输出服务器时区 我的模板有类似的东西 getservertimezone 然后在services yml我拥有的那个捆绑包的配置 my twig extension class My WebsiteBundle Exten
  • Switch 语句如何工作

    switch 语句如何立即下降到内存中的正确位置 对于嵌套的 if 语句 它必须与每个语句进行比较 但对于 switch 语句 它会直接转到正确的情况 这是如何实施的 有很多不同的方法来编译switch语句转换成机器码 以下是一些 The
  • C# 中从字符串数组中删除重复字符串的有效方法

    我想知道一种有效的方法来从 C 中的字符串数组中删除重复项 例如 string a abc xyz abc def ghi asdf ghi xd abc 会变成 string a abc xyz def ghi asdf xd 删除重复条
  • 错误:存在未提交的事务

    我在 SSMS 中打开一个新窗口并运行以下命令 SET ANSI DEFAULTS ON GO CREATE PROCEDURE dbo zzz test2 a int AS SET NOCOUNT ON SET a 1 RETURN 0
  • 如何解决 SYNCSORT JCL 中的“WER046A SORT CAPACITY EXCEEDED”问题

    我正在尝试对数据集进行排序并写入新的数据集 每次执行作业时 它都会异常终止 ABEND U0016 消息形式 SYSOUT WER276B SYSDIAG 24646562 29667262 29667262 27500165 WER164
  • 当 DHT 中的节点死亡时,数据会发生什么?

    问题取自这里 https groups google com forum topic byu cs 460 computer networking hpESI0NapmY https groups google com forum topi