Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Про Grub

Нашел в Сети интересный проект, пытающийся реализовать распределенную поисковую машину. Хочу представить, - Grub. По ссылке практически все на английском. Поэтому, для тех, кому влом вникать, сам перевел пару текстов. Вот текст с главной страницы проекта, объясняющий, что это такое и зачем оно нужно:

Поиск - это часть фундаментальной инфраструктуры Интернета. Но в настоящее время он ущербен.

Почему он ущербен? Он ущербен по той причине, что проприетарное программное обеспечение всегда ущербно. Оно исключает свободу, исключает сотрудничество, исключает ответственность, исключает прозрачность. Теперь мы начнем все это менять.

Проект "Grub" начался в 2000 году с простой концепции распределения части процесса поиска - с распределенного сканирования мировой сети. В некотором смысле мы несколько опередили свое время, но наша цель осталась неизменной. Мы хотим помочь людям исправить поиск.

Теперь, когда мы располагаем помощью Вики, сообщества пользователей, активистов и разработчиков открытого ПО, наше время пришло. Присоединяйтесь к нашему большому делу. Помогите нам изменить Мир!

Второй текст - перевод вводной страницы документации:

Как работает Grub

1. Краткий обзор

Grub - это распределенная система сканирования Интернета и поисковая машина с клиент-серверной архитектурой. Обычно его клиент является жирным (или богатым) клиентом. Клиент Grub'а должен уметь сканировать веб-страницы, проверять файлы robots.txt и находить новые ссылки для сканирования (все по запросу сервера).

Распределенность архитектуры Grub означает, что каждая часть программного обеспечения (клиент, сервера, инструментальные средства, индекс, база данных, веб-интерфейс) может быть заменена другими версиями программ. Например, пользователи могут использовать клиенты, написанные на C, Python или C#. Кроме того, вся архитектура Grub может без проблем расширяться при добавлении в систему новых серверов и клиентов.

Grub состоит из следующих частей:

  • Средства работы с базой данных (которые создают новые рабочие юниты и управляют базой URL'ов).
  • Диспетчерский сервер (который посылает клиентам запросы в виде новых рабочих юнитов).
  • Клиенты (которые сканируют веб-страницы и проверяют файлы robots.txt в зависимости от потребностей проекта).
  • Загрузочный сервер (который получает от клиентов результаты работы, проверяет их и отправляет на индексацию).
  • Сервер карты сайтов (который получает от клиентов новые URL'ы и хранит их в базе данных на сервере, пока они не понадобятся). Еще не реализован.
  • Средства управления, которые позволяют контролировать и управлять всеми серверами и средствами проекта. Еще не реализованы.

Другие части, используемые в Grub:

  • Поисковая машина. В настоящее время Grub использует движок Solr для индексации сканированных веб-страниц.
  • Антивирус. На данный момент Grub использует антивирус ClamAV для проверки сканированных веб-страниц.

2. Взаимодействие клиент-сервер

Grub использует несколько типов "сообщений" для взаимодействия между клиентами и серверами:

  • рабочие юниты - файлы с командами для клиентов, которые рассылаются диспетчерским центром;
  • файлы ".arc" - сканированные веб-страницы - результаты работы клиентов, посылаемые ими на загрузочный сервер.
  • карта сайтов - список URL'ов, собранных клиентами на сканированных веб-страницах и посылаемый на сервер карты сайтов. В настоящее время не реализован.
  • файлы ".txt" - содержат результаты проверки клиентами файлов robots.txt. Пока не реализован.
  • серверное API - простая текстовая информация, посылаемая серверами по протоколу HTTP. В настоящее время только загрузочный сервер имеет свое API.

3. Как работает Grub

  • Средства базы данных генерируют новые рабочие юниты для клиентов. Для этого осуществляется соединение с базой данных, из которой берется фиксированное число URL'ов и записываются в файлы рабочих юнитов.
  • Клиент соединяется с диспетчерским сервером, указывая при этом имя и пароль пользователя. После успешной авторизации клиент скачивает рабочий юнит (список URL'ов для сканирования или проверки robots.txt).
  • Клиент начинает работу руководствуясь "приказами", которые он получил от диспетчерского сервера. Он обращается к серверам из списка и сканирует/проверяет содержимое. Результат каждого обращения (кроме неудачных) записывается в файл ".arc". Клиент продолжает работу до тех пор, пока не обработает все URL'ы из файла рабочего юнита.
  • По окончанию работы клиент сжимает файл ".arc" с результатами работы и посылает его на загрузочный сервер. Этот сервер проверяет корректность файла ".arc", обновляет базу данных URL'ов и сохраняет загруженные файлы ".arc" на диске, если они корректны. Если нет, посылает клиенту информацию о проблемах.
  • Если файл ".arc" является правильным, клиент снова обращается к диспетчерскому серверу и после успешной авторизации скачивает новый рабочий юнит.
  • Время от времени загрузочный сервер проверяет загруженные файлы ".arc" антивирусом и отправляет их на индексацию.

Перевод: Д.Скоробогатов, 20.05.2010

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2010-05-20 17:03:24

Метки материала: поиск, поисковые машины, поисковики, поисковые системы, мировая сеть, интернет-технологии

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.