【问题标题】:Distributed data storage for a large sensor network大型传感器网络的分布式数据存储
【发布时间】:2015-09-23 01:08:12
【问题描述】:

最近,我一直在研究一个涉及传感器网络数据收集和传播的问题,结果碰壁了。我通读了关于地理哈希表的this 论文,我认为它很棒,但是我找不到任何将其实现为分布式哈希表的系统的参考实现(或实际上实现它)。

我希望有人可以就最佳前进方式提供一些意见。基本上,我正在寻找一种数据存储,它可以适应(或多或少)与分布式哈希表相同的方式(bittorrent 协议使用一个)。问题是,我需要能够将数据与具有类似集合参数的数据相关联,而不是将一个对象与其数据链接(就像严格的 torrent 文件 -> torrent 内容方案的情况一样)。在 GHT 示例(上面链接)中,这是通过使用传感器的地理坐标来完成的。这对我有用,但我几乎找不到关于如何有效分发它的信息。理想情况下,我希望能够使用与 DHT 相同的 P2P 协议方案。

【问题讨论】:

  • "问题在于,我需要能够关联数据,而不是仅将一个对象链接到其数据(严格的 torrent 文件 -> torrent 内容方案就是这种情况)到具有类似收集参数的数据。” 你能详细说明一下吗?因为它似乎是您问题的核心。
  • @the8472 当然可以。假设我们所有的传感器都位于一个 10x10 的网格中,位置由其坐标 (x,y) 描述。理想情况下,我希望能够有某种类型的查找方案,其中有人可以进行查找((2,10),(5,10))。这相当于从 x 平面中的 [2,10] 和 y 平面中的 [5,10] 中获取所有内容。这不是确切的情况,但是对于连续参数(即没有简单的整数查找,如果我们只需要顺序查找 2,3,...,10,我们可以很简单地做到这一点)我找不到任何方法分发该数据。

标签: hashtable distributed p2p bittorrent


【解决方案1】:

DHT 本身对任何类型的分布式窗口查询都相当不利,因为散列会擦除数据的所有信息以实现随机密钥分配。

我可以看到几种解决方案,但它们都不能开箱即用,它们要么需要对 DHT 进行重大修改,要么需要从头开始实施新的 p2p 协议。

  • 使用 DHT 作为支持范围查询的覆盖数据结构的存储。论文:distributed segment tree over DHT
  • 如果可以通过某种方式对数据进行处理,使其基本上均匀分布在键空间上,则可以放弃散列,直接将其映射到键空间坐标
  • 相反,如果您可以找到一种方案,其中节点调整其位置以覆盖热点而不是未充分利用的区域,您可以放弃散列,因为数据集中的不均匀性由节点分布的不均匀性补偿
  • 您可以完全放弃 DHT 布局,只根据空间数据结构组织节点本身,例如作为distributed R-tree

附加信息:任何高维顺序都可以打包成一维顺序,同时使用z-order curve 保留局部性

搜索论文时有用的关键词:“分布式spatial index”、“分布式窗口查询”、“分布式范围查询”

【讨论】:

  • 感谢您的回复!在做了更多的研究(那些搜索词正是我所缺少的)之后,我想我现在知道我要做什么了。为了防止 sybil 攻击,我使用了类似 hashcat 的工作量证明系统。我认为我可以利用这种工作量证明机制来确定密钥空间的“热点”;空间中散列最多的部分是最活跃的。正如您所说,我所缺少的只是一种在保留位置的同时打包数据的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 2011-02-28
  • 2012-03-09
相关资源
最近更新 更多