Поисковые роботы

Эта проблема побудила исследователей internet на проведение опытов с автоматизированной навигацией по Сети, названной “роботами”. Веб-робот - это программа, которая перемещается по гипертекстовой структуре Сети, запрашивает документ и рекурсивно возвращает все документы, на коие данный документ ссылается. Эти приложения также порой называют “пауками”, ” странниками”, или же ” червями” и эти названия, возможно, больше привлекательны, однако, имеют все шансы ввести в заблуждение, так как термин “паук” и “странник” cоздает ложное представление, что робот сам перемещается, а термин “червь” мог бы подразумевать, что робот ещё и размножается аналогично интернетовскому вирусу-червю. В действительности, роботы реализованы как элементарная программная система, которая запрашивает информацию из удаленных участков Интернет, применяя стандартные cетевые протоколы.

3.1 применение поисковых роботов

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

3.1.1 Статистический Анализ

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

3.1.2 Обслуживание гипертекстов

Одной из ключевых трудностей в поддержании гипертекстовой структуры является то, что ссылки на другие страницы имеют все шансы становиться ” мертвыми ссылками” в случае, когда страница переносится на другой сервер или же cовсем удаляется. На нынешний день не есть общего механизма, который сумел бы уведомить обслуживающий персонал сервера, на котором содержится документ с сылками на похожую страницу, о том, что она поменялась или вобще удалена. кое-какие серверы, например, CERN HTTPD, будут регистрировать безуспешные запросы, вызванные мертвыми ссылками наравне с рекомендацией сравнительно страницы, где обнаружена дохлая cсылка, предусматривая что предоставленная проблема станет решаться вручную. Это не слишком практично, и в действительности авторы документов обнаруживают, что их бумаги содержат мертвые ссылки только тогда, когда их извещают непосредственно, или, что случается очень редко, когда пользователь cам уведомляет их по электронной почте.

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

3.1.3 Зазеркаливание

Зазеркаливание - известный механизм поддержания FTP архивов. Зеркало рекурсивно копирует совершенное дерево каталогов по FTP, и потом регулярно перезапрашивает те документы, коие изменились. Это разрешает распределить загрузку меж несколькими серверами, благополучно справиться с отказами сервера и снабдить более скорый и больше дешевый локальный доступ, так же как и самостоятельный доступ к архивам. В ceти Интернет зазеркаливание может быть осуществлено с поддержкой робота, впрочем на время написания этой статьи никаких сложных средств для этого не существовало. Конечно, есть несколько роботов, коие восстанавливают поддерево страниц и охраняют его на локальном сервере, но они не имеют средств для обновления собственно тех страниц, коие изменились. Вторая проблема - это уникальность страниц, которая состоит в том, что ссылки в скопированных страницах обязаны быть перезаписаны там, где они ссылаются на страницы, коие также были зазеркалены и имеют все шансы нуждаться в обновлении. Они обязаны быть измененены на копии, а там, где условные ссылки указывают на страницы, коие не были зазеркалены, они обязаны быть расширены до безусловных ссылок. надобность в механизмах зазеркаливания по причинам показателей производительности гораздо уменьшается использованием сложных кэширующих серверов, коие предлагают выборочную модернизацию, что может гарантировать, что кэшированный документ не обновился, и в значительной степени самообслуживается. Однако, ожидается, что cредства зазеркаливания в будущем будут развиваться должным образом.

3.1.4 изучение ресурсов

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

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

3.1.5 Комбинированное использование

Простой робот может исполнять более чем одну из вышеупомянутых задач. к примеру робот RBSE Spider выполняет статистический анализ запрошенных документов и гарантирует ведение базы данных ресурсов. Однако, аналогичное комбинированное применение встречается, к сожалению, очень редко.

3.2 Повышение затрат и вероятные опасности при применении поисковых роботов

Использование роботов может дорогостояще обойтись, тем более в случае, когда они применяются удаленно в Интернете. В данном разделе мы увидим, что роботы имеют все шансы быть опасны, так как они предъявляют чересчур высокие запросы к Сети.

3.2.1 Сетевой ресурс и загрузка сервера

Роботы требуют значительной пропускной способности канала сервера. для начала роботы работают постоянно в течение длительных периодов времени, часто даже в течение месяцев. дабы ускорить операции, очень многие роботы совершают параллельные требования страниц с сервера, ведущие в последствии к повышенному применению пропускной способности канала сервера. Даже удаленные части ceти могут ощущать сетевую нагрузку на ресурс, в случае если робот готовит большое численность запросов за краткий промежуток времени. Это может привести к временной нехватке пропускной способности сервера для иных пользователей, тем более на серверах с низкой пропускной способностью, так как Интернет не имеет никаких cредств для балансирования нагрузки в зависимости от используемого протокола.

Традиционно internet воспринимался как “свободный”, так как индивидуальные пользователи не обязаны были выплачивать за его использование. впрочем теперь это поставлено под сомнение, так как тем более корпоративные пользователи платят за издержки, связанные с применением Сети. фирма может чувствовать, что ее услуги (потенциальным) покупателям стоят оплаченных денег, а страницы, автоматически переданные роботам - нет.

Помимо предъявления требований к Сети, робот еще предъявляет добавочные требования к самому серверу. В зависимости от частоты, с коей он запрашивает бумаги с сервера, это может привести к значительной загрузке всего сервера и снижению скорости доступа иных пользователей, обращающихся к серверу. К тому же, в случае если главный pc используется еще для иных целей, это может быть вообще неприемлемо. В качестве опыта автор управлял моделированием 20 параллельных запросов от собственного сервера, функционирующего как Plexus сервер на Sun 4/330. некоторое количество минут машину, замедленную применением паука, вообще нельзя было использовать. данный эффект можно ощутить даже последовательно запрашивая страницы.

Все это показывает, что надо избегать обстановок с одновременным запросом страниц. К сожалению, даже современные браузеры (например, Netscape) формируют эту проблему, параллельно запрашивая изображения, находящиеся в документе. Сетевой протокол HTTP оказался неэффективным для аналогичных передач и как средство борьбы с такими эффектами теперь разрабатываются новые протоколы.

3.2.2 усовершенствование документов

Как уже было упомянуто, базы данных, формируемые роботами, имеют все шансы автоматически обновляться. К сожалению, до сих времен не имеется никаких эффективных механизмов контроля за изменениями, происходящими в Сети. больше того, нет даже элементарного запроса, который мог бы определить, которая из cсылок была удалена, перемещена или же изменена. Протокол HTTP гарантирует механизм “If-Modified-Since”, с помощью которого агент юзера может квалифицировать время трансформации кэшированного документа враз с запросом самого документа. в случае если документ был изменен, тогда сервер передаст лишь его содержимое, так как данный документ уже был прокэширован.

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

3.3 Роботы / агенты клиента

Загрузка ceти является особенной проблемой, связанной с использованием категории роботов, коие используются конечными пользователями и реализованы как часть веб-клиента общего назначения (например, Fish Search и tkWWW робот). Одной из особенностей, которая является обыкновенной для этих роботов, является дееспособность передавать обнаруженную информацию поисковым системам при перемещении по Сети. Это преподносится как улучшение методов изучения ресурсов, так как требования к нескольким удаленным базам данных исполняются автоматически. Однако, по понятию автора, это неприемлемо по двум причинам. Во-первых, операция розыска приводит к большей загрузке сервера, чем даже элементарный запрос документа, потому обычному пользователю имеют все шансы быть причинены важные неудобства при работе на нескольких серверах с крупными издержками, чем обычно. Во-вторых, ошибочно предполагать, что одни и те же главные слова при розыске одинаково релевантны, синтаксически правильны, не говоря уже об оптимальности для разных баз данных, и диапазон баз данных целиком скрыт от пользователя. Например, запрос ” Форд и гараж ” мог бы быть послан складе данных, хранящей литературу 17-ого столетия, складе данных, которая не поддерживает булевские операторы или же базе данных, которая определяет, что требования относительно автомобилей обязаны начаться со слова “автомобиль: “. И пользователь даже не знает это.

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

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

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

“Интеллектуальные агенты” и ” цифровые помощники”, предназначенные для применения конечным пользователем, который ищет информацию в Интернет, являются в реальное время известной темой изучений в компьютерной науке, и часто рассматриваются как будущее Сети. В то же время это подлинно может иметь место, и уже очевидно, что автоматизация неоценима для изучений ресурсов, хотя потребуется проводить ещё больше изучений для того, дабы их создать их применение эффективным. элементарные управляемые пользователем роботы слишком далеки от интеллектуальных сетевых агентов: агент обязан иметь кое-какое представление о том, где сыскать определенную информацию (то есть какие услуги использовать) вместо того, дабы искать ее вслепую. Рассмотрим ситуацию, когда человек ищет книжный магазин; он применяет “Желтые страницы” для области, в коей он проживает, находит перечень магазинов, избирает из них один или же несколько, и бывает их. Клиентский робот шел бы во все магазины в области, спрашивая о книгах. В Сети, как и в реальной жизни, это неэффективно в малом масштабе, и навсегда должно быть запрещается в большущих масштабах.

3.3.1 нехорошие программные реализации роботов

Нагрузка на сеть и серверы порой увеличивается нехороший программной реализацией тем более недавно написанных роботов. Даже в случае если протокол и ссылки, посланные роботом, правильны, и робот верно обрабатывает возвращенный протокол (включая другие особенности вроде переназначения), имеется некоторое количество менее бесспорных проблем.

Автор наблюдал, как некоторое количество похожих роботов управляют вызовом его сервера. В то время, как в кое-каких случаях отрицательные последствия были вызваны людьми, использующими личный сайт для испытаний (вместо локального сервера), в других случаях стало очевидно, что они были вызваны нехорошим написанием самого робота. При данном могут случится повторные требования страниц в том случае, в случае если нет никаких записей об уже запрошенных ссылках (что является непростительным), или же когда робот не распознает, когда некоторое количество ссылок синтаксически эквивалентны, например, где отличаются DNS псевдонимы для одного и такого же адреса IP, или же где ссылки не имеют все шансы быть обработаны роботом, к примеру ” foo/bar/ ../baz.Html ” является эквивалентным “foo/baz.Html”.

Некоторые роботы порой запрашивают бумаги типа GIF и PS, коие они не имеют все шансы обработать и потому игнорируют.

Другая угроза состоит в том, что кое-какие области ceти являются практически бесконечными. Например, рассмотрим сценарий, который возвращает страницу со ссылкой на один уровень, расположенный ниже. Он начнет, например, с ” /cgi-bin/pit / “, и продолжит с ” /cgi-bin/pit/a / “, ” /cgi-bin/pit/a/a / “, и т.д. так как такие cсылки имеют все шансы заманить в робота в ловушку, их часто называют “черными дырами”.