обработка дубликатов и обход циклов при сканировании Интернета - PullRequest
0 голосов
/ 01 марта 2020

Я смотрю на дизайн Донна Мартина для веб-сканера .

, в разделе «Избегание дубликатов» он описывает механизм, который, по его мнению, можно использовать, чтобы избежать циклов и бесконечных вычислений. oop при сканировании:

Для небольших списков мы можем использовать что-то вроде sort | уникальный

Имея 1 миллиард ссылок для сканирования, мы могли бы использовать MapReduce для вывода только записей с частотой 1

что это значит? предположим, что все мои сканеры поддерживают список links_to_crawl в наборе redis и список crawled_links в моем значении oop. Они постоянно удаляют новую ссылку из links_to_crawl, а затем помещают исходящие ссылки из этого URL-адреса также в links_to_crawl, верно? когда они проконсультируются у crawled_links с такой работой в MapReduce? не нужно ли им проверять каждую ссылку, прежде чем вставить ее в links_to_crawl? как это работа MR?

1 Ответ

0 голосов
/ 02 марта 2020

мы могли бы использовать MapReduce для вывода только тех записей, которые имеют частоту 1

У вас нет Redis или набора в этом случае. Все, что у вас есть, это стандартный алгоритм «подсчета слов», и вы просто группируете по URL и отфильтровываете значения с более чем одним результатом. проект для веб-сканирования

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...