Реферат: Проблеми використання роботів /Укр./
Дзеркальність – популярна техніка для підтримки FTP архівів. Дзеркало містить копію усього дерева каталогів FTP сайту і регулярно оновлює ті документи, що додаються до оригінального сайту. Це дозволяє зменшити трафік до кожного з вузлів, їх завантаженість, працювати з архівом, якщо оригінальний сервер не працює, мати швидкий та дешевий локальний доступ та доступ без підключення до інтернет.
Дзеркальність може бути легко забезпечена роботом. Вже існують роботи, що отримують дерево каталогів веб-вузлу та записують його локально, але вони не мають можливості оновлювати тільки ту інформацію, що змінилася. Необхідність таких засобів зменшилася з появою складних кеш-серверів, які можуть робити вибіркове оновлення, та гарантувати, що документ з кешу є оновленим.
Пошук ресурсів
Мабуть, найбільш захоплюючим використанням роботів є пошук нових ресурсів. Там, де люди не можуть впоратись з величезною кількістю інформації, комп‘ютер зробить цю задачу швидко й якісно. Існує багато роботів, що оглядають великі частини WWW та дають доступ до зібраної інформації за допомогою пошукової системи.
Це значить, що користувач може одночасно використовувати перегляд та пошук для знаходження потрібної інформації. Навіть, якщо база даних не містить саме ту інформацію, що вам потрібна, ймовірно вона містить сторінки на яких є посилання на потрібну.
Другою перевагою є те, що ці бази даних можуть оновлюватися періодично, і посилання на сторінки, що не існують, можуть бути знайдені та видалені. Це добра альтернатива ручній підтримці документів, де перевірки бувають рідкі та не глибокі.
Комбіноване використання
Один робот може виконувати декілька задач. Наприклад RBSE Spider робить статистичний аналіз отриманих документів та видає базу даних знайдених ресурсів.
Ціна використання та застереження
В цьому розділі ми побачимо, як роботи можуть завдавати шкоди, та як цю шкоду можна мінімізувати.
Ресурси мережі та завантаження серверів
Роботи потребують чималого трафіку. Перші роботи працювали протягом тривалого часу, інколи місяцями. Щоб прискорити виконання завдання, деякі роботи працюють у паралельному режимі, чимало завантажуючи трафік. Навіть віддалені сервери можуть відчути заповільнення роботи, якщо робот отримує велику кількість документів за короткий час. Це призводить до зменшення швидкості роботи інших користувачів, особливо на повільних лініях.
Деякі корпоративні користувачі можуть вбачати пряму залежність між видатками на Інтернет та завантаженістю мережі. Ці видатки окуплять себе для потенційних користувачів, але не окупить використання мережі роботами.
Крім ставлення високих вимог до мережі, роботи можуть ставити високі вимоги серверам. У залежності від частоти отримування документів з серверу, одночасне завантаження багатьох документів може призвести до відчутної завантаженості серверу, що призведе, у свою чергу, до зниження рівню сервісу для інших користувачів, цього ж серверу. У випадку, коли сервер використовується також з іншими цілями, це може бути взагалі не допустимо.
Тому, робот не може часто отримувати документи з одного серверу. Навіть сучасний браузер Netscape страждає на цю проблему, отримуючи вбудовані у сторінку малюнки одночасово. HTTP протокол не пристосований до паралельного отримування документів, тому ведуться розробки нових протоколів.
Оновлення
Було сказано, що бази даних про документи Інтернет мусять оновлюватися регулярно, але ж не існує механізмів контролю за змінами у WWW. Не існує єдиного запиту, що визначав би які з заданих URL‘ів знищені, модифіковані або переміщені.
Але, HTTP протокол разом з запитом даних дозволяє задати дату цього ж документу з кеша. Сервер передасть документ тільки тоді, коли документ було змінено з часу коли він був записаний у кеш.
Ця можливість може бути використана роботом лише тоді, коли він зберігає зв‘язок між даними, які він отримує з документу, його URL та часом отримування. Це ставить додаткові вимоги до розміру та складності бази даних, і застосовується не часто. Завантаженість мережі грає особливу роль, коли роботи використовуються кінцевими користувачами, що працюють на повільних лініях.
Інший небезпечний аспект клієнтських роботів: коли робот розповсюджений — ніякі помилки не можуть бути виправлені, ніякі інші дані не можуть бути додані і нові можливості не можуть бути реалізовані тому, що не всі оновлять версії своїх роботів.
Але найбільш небезпечним є те, що хоча деякі люди будуть використовувати роботів розумно, тобто не перевищувати який-небудь максимум, будуть люди, що зловживатимуть своїми можливостями, через незнання чи самонадійність.
"Розумні агенти" або "персональні асистенти" користувача, є зараз популярною темою для дослідження. Очевидно, що автоматизація безцінна для пошуку ресурсів, потрібно ще багато досліджень, щоб пошук став більш ефективним. Прості роботи користувача ще дуже далекі від розумних мережних агентів.
Погані реалізації
Навантаження на мережу та сервери іноді збільшується за рахунок погано написаних нових роботів. Навіть якщо вхідні та вихідні дані правильні, є багато менш очевидних проблем.
Наприклад, іноді один робот звертається декілька раз до одного й того ж ресурсу. Іноді робота просто тестують на цьому ресурсі, а у інших випадках є помилки у програмі робота. Повторні звертання трапляються, коли не записуються історія завантажених ресурсів (що обов‘язково потрібно робити), або коли робот не розпізнає випадки коли використовуються різні DNS-назви для однієї IP адреси.
Деякі роботи отримують файли таких типів, які вони не можуть обробити (GIF, PS), і ігнорують, хоча їх можна було б і не завантажувати.
Ведення каталогу
Бази даних ресурсів, що знайдені роботом, безумовно, популярні. Однак, є декілька проблем, що обмежують використання роботів для пошуку ресурсів.
Забагато матеріалу, що є забагато динамічним.
Виміром ефективності заданого підходу отримання інформації є відсоток релевантних документів серед усіх знайдених. Пошук інформації відбувається не у самому Інтернеті а у локальній базі даних конкретного робота, що може не містити інформації, яка насправді існує у Інтернеті, тому що розмір Інтернет велетенський і зміни дуже часті.
Визначення що індексувати, а що ні.
Робот не може автоматично визначити, чи потрібно дану веб-сторінку включати до свого списку чи ні. Веб-сервери можуть містити документи, які використовуються тільки локально, наприклад, список внутрішньої бібліотеки, або ті, які існують тимчасово. До деякої міри, рішення про те, що необхідно, а що ні, залежить від уподобань користувачів, але вони можуть бути невідомими для робота. Практично роботи зберігають майже все, що вони знаходять. Помітьте, що навіть, якщо робот зможе визначити, що дану сторінку не треба включати у базу даних, він уже отримав цей непотрібний файл з Інтернет. Навпаки, робот, що ігнорує великий відсоток документів є не дуже корисним.
Robot Community спробувало змінити цю ситуацію, створивши спеціальний стандарт "A standard for robot exclusion". Цей стандарт описує використання простого структурованого текстового файлу, щоб задати, які частини даного серверу не потрібно оглядати роботам. Цю можливість можна також використовувати, аби повідомити робота про чорні дірки, коли заглиблюючись у все глибші сторінки робот не може з них повернутися. Кожному роботу можна давати особливі інструкції, бо кожен з них спеціалізується в певній окремій галузі. Цей стандарт не загальноприйнятий, але вважається, що кожен робот повинен його дотримуватися.
Визначити порядок обходу сайтів це велика проблема. Більшість сайтів організовані ієрархічно, тому обхід в ширину, з вершини до заданої глибини, дає більший набір документів, ніж обхід в глибину. Проте обхід в глибину швидше віднайде сторінки користувачів, в яких є посилання на інші сторінки, і тому швидше знайде нові сайти для обходу.
# /robots.txt for http://www.site.com/ User-agent: * # attention all robots: Disallow: /cyberworld/map # infinite URL space Disallow: /tmp/ # temporary files |