我想要建立一个分布式的洪流搜索引擎。
我知道分布式哈希表用于寻址对等网络中的节点。不过,我不完全理解每个节点是如何获得一个全局唯一ID的。
不过,我不确定我需要什么算法和数据结构来构建分布式数据库。它显然需要高度冗余,并且尽可能高效地搜索。
我真正需要的是指向某些资源方向的指针,最好是一些代码示例。
发布于 2014-12-14 16:00:14
不过,我不完全理解每个节点是如何获得一个全局唯一ID的。
我想说的是,这与你的问题的标题和具体的实现并没有什么关系。但是通常情况下,它要么是随机的,要么是基于其公共IP的散列,+一些随机子部分模块,对子网进行一些调整。例如,看看bittorrent的安全节点ID生成算法。
不过,我不确定我需要什么算法和数据结构来构建分布式数据库。
这是一个不平凡的话题,我不认为能在几段中得到回答。DHT在其基础上不允许枚举存储的值或由多个节点协调的任何复杂操作,它们所做的就是直接的键值查找。要在此基础上实现关键字搜索,您必须完成相当多的算法和语言处理,并为基本的DHT协议添加扩展以适应这些需求。
以下是需要解决的几个问题的不完整列表:
我不确定DHT是否是正确的方法。我模糊地回忆起基于语言/关键字本身的其他度量标准,其中节点在键空间中移动自己,被使用中的单词吸引,从而提供必要的网络容量。
我建议点击谷歌学者寻找关键字搜索相关的修改或DHT的替代覆盖。
https://stackoverflow.com/questions/27460997
复制相似问题