【问题标题】:P2p architecture needed需要 P2p 架构
【发布时间】:2014-07-25 05:24:18
【问题描述】:

假设我想在 p2p 架构中实现一个分散的保管箱。对于每个文件夹,将有 N 个用户共享文件。所以,我认为所有文件都需要存储在每个对等点中(他们需要在任何时间点查看、打开、写入、创建......文件)。例如,当用户更改文件的内容时,他必须向其他对等方发送消息,警告他们有关更改,以保持所有复制文件之间的一致性。

在这类问题中,我不明白为什么要使用时尚的 p2p 结构化网络(比如 Chord 左右)。假设我们在三个对等方(A、B、C)之间有一个共享文件夹。如果 peerA 更改了一个文件并且它只警告 peerB(期望 peerB 会联系 peerC),如果 peerB 在发送消息给 peerC 之前断开连接,那么 peerA 和 peerC 将有不同的文件。

每个对等点都存储对所有其他对等点的引用,并且当它更改某些内容时,它会相互发送消息(不期望其他对等点会为他做这件事),这不是更容易吗?这种方法有什么问题?有这类东西的架构吗?

【问题讨论】:

    标签: architecture p2p distributed


    【解决方案1】:

    我不明白你为什么认为有人要你使用和弦。

    它有不同的架构,有洪流网络,BitTorrent-Sync 是基于哪个原始架构编写的。它与 torrent 的工作方式不同,因为您没有一个描述 torrent 文件的文件,但客户端会侦听本地硬盘驱动器上的更改并更新有关哪些文件存在或不存在的信息,但它的工作方式与torrent 稍后,当文件分发时(您将一半文件发送到一个节点,另一半发送到另一个节点,它们也可以共享这些部分,这样您只需上传一次,并且同步速度更快)。

    同步此类系统的另一种方法是最终一致性。有一个非常好的概念,TSAE(带时间戳的反熵)基本上可以照顾 - 无需一直与每个节点通信 - 最终所有节点都将具有相同的状态。在这种情况下,谁转发原始消息并不重要。但是我不知道它对节点更改的反应如何,据我了解,不允许更改对等点的数量,如果对等点说检索到的消息,则不允许更改关于它的意见了。您可以在第 5 章开始的 Richard Andrew Golding 从 1992 年 (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.7385&rep=rep1&type=pdf) 的论文项目弱一致性组通信和成员资格中了解更多信息。

    最后 - 和弦意味着完全不同的东西。想象一下,您想与数千个对等方共享文件,每个对等方将贡献 10GB 的文件。对于现代计算机来说,10GB 不算什么,但 >10TB(10GB * 数千个同行)就很多了。这就是为什么你有和弦,一个节点负责一个文件,你可以从这个节点获取最新的副本,你也可以从这个节点请求一个锁,......而且你不会将它分发给所有其他节点机器,但是这个主节点当然会与 2、3 或 10 个其他节点共享它(取决于您的复制因子),以将文件保留在网络中,即使该节点断开连接也是如此。这就是 chord 的工作方式,当然这不是最好的解决方案,如果您可以同时与所有对等点进行通信并且每个对等点都可以(或必须)持有相同的信息。但这当然会受到限制,提前退出。

    【讨论】:

    • 非常感谢,答案很明确,前后一致。
    • 您也可以在手机中使用 TSAE 吗?还是有更好的移动 p2p 网络选择?
    • 如果您的同行很少,那么 TSAE 将真正起作用,我认为这对于不一直在线的移动设备来说非常棒。待办事项允许您执行离线任务,并同步最新消息,......当您再次在线时自动。
    猜你喜欢
    • 2011-08-30
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 2013-02-24
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多