我正在寻找建立一个分布式种子搜索引擎。
我知道用于寻址对等网络中的节点的分布式哈希表。不过,我并不完全了解每个节点如何获取全局唯一 ID。
不过,我不确定构建分布式数据库需要哪些算法和数据结构。它显然需要具有高度的冗余,并且尽可能有效地搜索。
我真正需要的是指向某些资源的指针,最好是一些代码示例。
我正在寻找建立一个分布式种子搜索引擎。
我知道用于寻址对等网络中的节点的分布式哈希表。不过,我并不完全了解每个节点如何获取全局唯一 ID。
不过,我不确定构建分布式数据库需要哪些算法和数据结构。它显然需要具有高度的冗余,并且尽可能有效地搜索。
我真正需要的是指向某些资源的指针,最好是一些代码示例。
不过,我并不完全了解每个节点如何获取全局唯一 ID。
我想说这与您的问题的标题和特定于实现的标题并不真正相关。但通常它要么是随机完成的,要么是基于他们的公共 IP 的哈希 + 一些随机子部分模数对子网的一些调整。例如,看看 bittorrent 的安全节点 ID 生成算法。
不过,我不确定构建分布式数据库需要哪些算法和数据结构。
这是一个重要的话题,我认为无法在几段内回答。DHT 在它们的基础上不允许枚举存储的值或由多个节点协调的任何复杂操作,它们所做的只是直接的键值查找。要在此之上实现关键字搜索,您必须做一些算法和语言处理体操,并向基本 DHT 协议添加扩展以满足这些要求。
以下是要解决的几个问题的不完整列表:
我不确定 DHT 是否是正确的方法。我隐约记得基于语言/关键字本身的其他指标,其中节点在键空间中移动自己以吸引正在使用的单词,从而提供必要的网络容量。
我建议点击谷歌学者寻找与关键字搜索相关的修改或 DHT 的替代覆盖。