Как работает поисковая система DHT? - программирование
Подтвердить что ты не робот

Как работает поисковая система DHT?

Меня интересует Btdigg.org, который называется "DHT search engine". Согласно этой статье, он не хранит никакого контента и даже не имеет базы данных. Тогда как это работает? Не нужно ли собирать метаинформацию и хранить ее в базе данных, как в других нормальных поисковых системах? После того, как пользователь отправит запрос, он сканирует сеть DHT и возвращает результаты в "реальном времени"? Это возможно?

4b9b3361

Ответ 1

У меня нет конкретного понимания BTDigg, но я считаю, что утверждение о том, что нет базы данных (или того, что действует как база данных), является ложным утверждением. Автор этой статьи, возможно, ссылался на нечто более конкретное, что вы можете встретить на традиционном торрент-сайте, где фактические файлы .torrent хранятся, например.

Вот как работает BTDigg-сайт:

  • Вы запускаете кучу DHT-узлов, в частности, с целью "выброса карниза" на трафик DHT, чтобы быть представленным в хэшах информации, о которых говорят люди.
  • присоединяйтесь к этим роям и загрузите метаданные (файл .torrent) с помощью расширения ut_metadata​​li >
  • проиндексируйте найденную вами информацию, сопоставьте ее с информацией-хешем
  • Предоставьте интерфейс для этого индекса

Если вы хотите, чтобы роскошь это немного, вы также можете периодически очищать информацию-хеши, о которой вы знаете, собирать статистику со временем и, возможно, также выяснить, когда рои вымирают и должны быть удалены из индекса.

Итак, утверждение, что вы не храните файлы .torrent и никакого контента, истинно.

Не реально искать DHT в режиме реального времени, потому что DHT не организован вокруг поиска ключевых слов, вам нужно постоянно создавать и поддерживать индекс "в фоновом режиме".

Ответ 2

Для глубокого понимания DHT и его приложений см. статью и презентацию Скотта Волчкова "Обход BitTorrent DHT для развлечения и прибыли". Он представляет идею автономной поисковой системы в качестве побочного элемента своего исследования безопасности DHT:

PDF его статьи:

Его выступление в DEFCON 18 (части 1 и 2)

Ответ 3

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

Метод, используемый в разделе 3, кажется, предлагает базу данных для хранения всех данных торрента. В то время как производительность лучше, это может быть не истинная поисковая система DHT.

Раздел 8, хотя и менее эффективный, кажется, является поисковой системой DHT, если ключевые слова являются значениями хранилища.

Из раздела 3, "Загрузочный биттонный поиск":

"Система обрабатывает пользовательские запросы, обрабатывая объединение имен файлов торрентов и их описание как документа в типичной модели поиска информации и использования инвертированный индекс, чтобы соответствовать ключевым словам для торрентов. Это имеет преимущество хорошо поддерживаются популярными реляционными СУБД с открытым исходным кодом. Мы ранжировать результаты поиска в соответствии с популярностью торрента, которые мы можем вывести из числа одноранговых узлов, перечисленных в DHT"

Из раздела 8 "Связанная работа:

обычный подход к распределению поиска с использованием DHT с инвертированным индексом, путем хранения каждого (ключевое слово, список совпадений документы) в качестве пары ключ-значение в DHT. Joung et al. [17] описать этот подход и указать на его проблемы с производительностью: Распространение ключевых слов в файлах Zipf среди файлов приводит к очень искаженной нагрузке баланс, информация о документе повторяется один раз для каждого ключевого слова в документа, и трудно ранжировать документы в распределенном среда

Ответ 4

Он разделен на два этапа.

  • Чтобы получить протокол bep_0005, полученный infohash, вам не нужно реализовывать весь протокол, требуется только сейчас find_node (request), get_peers (response), announce_peer (response). Здесь один из моих open source dhtspider.

  • Чтобы получить протокол bep_0009, получим metainfo index it, вот моя поисковая система bittorrent каждый день может получить уникальный infohash 300w +, эффективный metainfo 50w +.