“DHT搜索引擎”如何运作?

时间:2013-01-30 11:45:16

标签: search-engine dht

我对 Btdigg.org 感兴趣,称为"DHT search engine"。根据{{​​3}},它不存储任何内容,甚至没有数据库。那它是如何工作的?它是否需要收集元信息并将其存储在数据库中,就像其他普通搜索引擎一样?用户提交查询后,它会扫描DHT网络并“实时”返回结果?这可能吗?

4 个答案:

答案 0 :(得分:18)

我对BTDigg没有具体见解,但我认为没有数据库(或类似数据库的东西)的说法是错误的陈述。该文章的作者可能指的是您在传统的torrent网站中可能遇到的更具体的内容,例如存储实际的.torrent文件。

这就是类似BTDigg的网站的工作原理:

  1. 你运行了一堆DHT节点,特别是为了在DHT流量上“放弃”,以便引入人们谈论的信息哈希。
  2. 加入这些群组并使用ut_metadata扩展名下载元数据(.torrent文件)
  3. 索引您在那里找到的信息,将其映射到info-hash
  4. 为该索引提供前端
  5. 如果你想稍微奢侈一下,你也可以定期刮掉你知道的信息哈希,以便随着时间的推移收集统计数据,也可以找出群体何时消亡并应从索引中移除。

    因此,声称您不存储.torrent文件或任何内容都是正确的。

    实时搜索DHT是不现实的,因为DHT不是围绕关键字搜索进行组织的,您需要在“后台”中连续构建和维护索引。

答案 1 :(得分:9)

要深入了解DHT及其应用,请参阅Scott Wolchok的论文和演示文稿“Crawling BitTorrent DHTs for fun and Profit”。他将自主搜索引擎的想法作为他研究DHT安全性的一个旁注:

他的论文PDF:

他在DEFCON 18(第1部分和第2部分)上的演讲

答案 2 :(得分:2)

https://www.usenix.org/legacy/event/woot10/tech/full_papers/Wolchok.pdf

第3节中使用的方法似乎建议用于存储所有torrent数据的数据库。虽然性能更好,但它可能不是真正的DHT搜索引擎。

第8节虽然效率较低,但似乎是DHT搜索引擎,只要关键字是商店值。

从第3节开始,引导Bittorent搜索:

  

“系统通过处理来处理用户查询   将每个torrent的文件名和描述串联起来   文档在典型的信息检索模型中使用   反向索引将关键字与种子相匹配。这具有优势   得到了流行的开源关系DBMS的良好支持。我们   根据洪流的受欢迎程度对搜索结果进行排名,   我们可以从DHT中列出的同行数量推断“

从第8节,相关工作:

  

使用DHT分发搜索的常用方法是   使用倒排索引,通过存储每个(关键字,匹配列表)   文档)在DHT中作为键值对配对。 Joung等。 [17]   描述这种方法并指出其性能问题:   文件中关键字的Zipf分布导致负载非常偏斜   平衡,文档信息将为每个关键字复制一次   文档,很难在分布式文档中对文档进行排名   环境

答案 3 :(得分:2)

它分为两个步骤。

  1. 要实现bep_0005协议获取infohash,您不需要仅实现现在find_node (request)get_peers (response)announce_peer (response)所需的所有协议。这是我的开源dhtspider之一。

  2. 要实现bep_0009协议得到metainfo索引,这里是我自己的 bittorrent search engine ,每天都可以得到唯一的infohash 300w +,有效的metainfo 50w +。