Меня интересует Btdigg.org, который называется "DHT search engine"
. Согласно этой статье, он не хранит никакого контента и даже не имеет базы данных. Тогда как это работает? Не нужно ли собирать метаинформацию и хранить ее в базе данных, как в других нормальных поисковых системах? После того, как пользователь отправит запрос, он сканирует сеть DHT и возвращает результаты в "реальном времени"? Это возможно?
Как работает поисковая система DHT?
Ответ 1
У меня нет конкретного понимания BTDigg, но я считаю, что утверждение о том, что нет базы данных (или того, что действует как база данных), является ложным утверждением. Автор этой статьи, возможно, ссылался на нечто более конкретное, что вы можете встретить на традиционном торрент-сайте, где фактические файлы .torrent хранятся, например.
Вот как работает BTDigg-сайт:
- Вы запускаете кучу DHT-узлов, в частности, с целью "выброса карниза" на трафик DHT, чтобы быть представленным в хэшах информации, о которых говорят люди.
- присоединяйтесь к этим роям и загрузите метаданные (файл .torrent) с помощью расширения ut_metadatali >
- проиндексируйте найденную вами информацию, сопоставьте ее с информацией-хешем
- Предоставьте интерфейс для этого индекса
Если вы хотите, чтобы роскошь это немного, вы также можете периодически очищать информацию-хеши, о которой вы знаете, собирать статистику со временем и, возможно, также выяснить, когда рои вымирают и должны быть удалены из индекса.
Итак, утверждение, что вы не храните файлы .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 +.