【问题标题】:Distributed algorithm for storing synchronized data用于存储同步数据的分布式算法
【发布时间】:2012-04-08 17:01:07
【问题描述】:

在分布式系统中,所有代理都应该使用相同的密钥来加密信息。系统完全分布式,没有代理特权,代理可以进出。

每个代理都持有一个密钥,我希望任何代理都能够立即更换密钥。也就是说,从某个时间t 开始,所有代理都将使用新的密钥K',而不是以前的密钥K

连接可靠(tcp),但也应考虑更通用的解决方案。

是否有标准算法可以做到这一点?

我缺少一本类似共识算法的教科书。

我的想法:

  1. 所有代理将连接成一个圆圈。
  2. 每个代理将在获得新密钥后将新密钥发送给他的邻居,并附上密钥的创建时间。
  3. 当代理接收新密钥时,它会比较两个密钥的创建日期并丢弃旧密钥。
  4. 当代理人扔掉他以前的钥匙时,他会将他的新钥匙发送给他的邻居。

【问题讨论】:

  • 您能否更清楚地说明您的问题?
  • 很难说你的问题是什么。你提出的算法有什么问题?
  • 1) 连接可靠吗? 2)一致性?任何 ACID 保证? 3)代理可以加入和离开吗? 4) ....
  • @Matthias 试图澄清这一点。
  • @KarolyHorvath 现在可以了吗?

标签: algorithm distributed-computing


【解决方案1】:

如果我没说错,您希望有一个协议协议。根据您的假设(例如,同步、可能的故障等),有很多这样的协议。 例如,在很多情况下,简单的组通信协议(例如 ISIS)就足够了,对于更复杂的故障模式,您需要拜占庭协议。

【讨论】:

  • 你能指点我一个介绍这种协议的地方吗,我什至不知道你指的基本术语。
  • 好吧,我命名了 google 应该找到的两个术语:“组通信协议”和“拜占庭协议”。希望有帮助。如果你对一般的分布式算法感兴趣,我可以推荐 Lynch 的教科书(如果你不怕数学)或 Mattern。
【解决方案2】:

您可以看到this 了解一些通用方法,甚至可以看到this 了解一些著名的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-19
    • 2011-09-04
    • 2011-02-17
    • 2015-06-28
    • 2017-05-22
    • 1970-01-01
    • 2011-02-24
    • 2015-02-09
    相关资源
    最近更新 更多