3.5.9. Организация информационной службы на основе технологии World Wide Web
В последнее время, активно прорабатываются различные варианты реализации информационной службы на основе серверов HTTP. Основу этой идеи составляет тот факт, что базовое программное обеспечение уже существует. Существует также и формат предоставления документов и спецификации взаимодействия с внешним, по отношению к серверу, программным обеспечением.
Перед такого рода системами ставится несколько задач:
Первая задача решается путем создания стандартной базы данных Web и установкой сервера, который будет работать в стандартном режиме.
Вторая задача решается за счет анализа журналов посещения сервера пользователями Internet и путем организации интерфейсных страниц для сбора информации об этих пользователях.
Третья задача решается за счет анализа кэша сервера. Все запросы сотрудников захватываются в этот кэш и доступны для администрации сервера. Все это позволяет говорить о создании аналитической службы, главной задачей которой является анализ информационных потребностей различных ей информации в World Wide Web. Приведем некоторые примеры анализа этой статистики.
3.5.9.1. Статистика доступа к системе и ее анализ
Все сервера обеспечивают контроль доступа к своим информационным ресурсам. Осуществляется он на базе специального журнала доступа. Для пояснения целей задач сбора и обработки статистики буде рассматривать конкретный пример - базу данных "Polyn" РНЦ "Курчатовский Институт"
При обращении к информационным ресурсам систем, разработанных в рамках технологии World Wide Web, главным в процессе обработки запросов пользователя является сервер протокола HTTP. Общая схема получения статистики обращения пользователя к системе может быть изображена следующим образом:
Рис. 3.34. Схема получения статистики обращений к информационным ресурсам базы данных под управлением сервера HTTP
Как отображено на этой схеме (рисунок 3.34) любой сервер ведет файл статистики (в нашем случае файл статистики сервера NCSA 1.2).
Этот файл является главным инструментом при анализе эффективности работы базы данных Web. Каждый сервер ведет статистику посещений базы данных пользователями Internet в этом файле. Прежде чем начать описание содержания такого файла следует условиться об определенной терминологии. Визитом или посещением базы данных Web принято называть обращение к странице базы данных. Посещение следует отличать от сессии и обращения к файлу базы данных (Hit).
Сессия - это множество обращений одного и того же пользователя к страницам базы данных за ограниченный промежуток времени. При этом время между посещениями страниц равно времени их прочтения. При работе с ресурсами Web нельзя точно определить сессию, т.к. если ее начало еще можно проидентифицировать, то определить конец сессии довольно трудно. Программное обеспечение пользователя не сообщает об окончании работы данной сессии. Следует заметить, что разные разработчики программ-клиентов WWW и серверов стремятся найти решение этой проблемы. В частности Netscape Communication предлагает в качестве решения ввести дополнительный атрибут в протокол обмена информации, который будет определять идентификатор сессии. Идентификатор должен сообщаться клиенту сервером и храниться у клиента в течении сеанса работы с данным сервером.
Обращение к файлу базы данных отличается от посещения страницы тем, что одна страница может состоять из нескольких файлов. В качестве простого примера можно указать на страницы с тагами <IMG>. В этом случае программа клиент порождает запрос не только к файлу с расширением html, но и к файлам, указанным в странице в качестве встроенных картинок с расширениями gif, например.
В настоящее время существует несколько типов журналов посещений. Формат журнала зависит от типа сервера, который используется для ведения базы данных. Однако, в настоящее время формат записей журнала посещений стабилизировался, и большинство серверов поддерживает следующий перечень полей:
Некоторые серверы в дополнение к этим полям записывают в журнал еще и
Ниже приведен пример типичного журнала посещений, который ведется сервером NCSA, использующимся в системе "Полынь".
Пример. Фрагмент статистики сервера при обращении к базе данных "Полынь"
144.206.192.4 - - [15/Sep/1995:23:17:29 -0400] "GET /dss/index.htm HTTP/1.0" 200 1020 144.206.192.4 - - [15/Sep/1995:23:17:30 -0400] "GET /dss/radsign1.gif HTTP/1.0" 200 270 144.206.192.4 - - [15/Sep/1995:23:17:56 -0400] "GET /dss/index.htm?kuku HTTP/1.0" 200 1020
Разберем первую строчку журнала посещений, представленного в примере:
144.206.192.4 - адрес хоста, с которого осуществлялся доступ к базе данных;
"- -" - сообщает, что северу не был переданы ни имя пользователя, ни запрос на идентификацию;
[15/Sep/1995:23:17:29 -0400] - дата и время доступа;
GET /dss/index.htm HTTP 1.0 - запрос клиента;
200 - код успешного завершения обработки запроса;
1020 - число переданных клиенту байтов.
Первые две строчки этого примера составляют одно посещение, т.к. страница "index.htm" содержит картинку "radsign1.gif". Таким образом журнал посещений содержит информацию о доступе к файлам базы данных, из которой еще надо составить статистику доступа к страницам.
Кроме файла посещений, который обычно называется access_log, многие серверы ведут еще и другие системные журналы, например, error_log (журнал ошибок), referer_log (журнал страниц, в которых установлены ссылки на данную страницу), agent_log (журнал программного обеспечения клиентов).
В нашем случае сосредоточим внимание на журнале посещений, т.к. именно он является источником статистики, которую будем анализировать в дальнейшем.
Существует достаточно большой набор программного обеспечения, которое можно использовать для получения простейших статистических оценок. Здесь мы рассмотрим программы: Analog, AccessWatch, Web-Scope, Statbot, mw3s, Raytraced Access Stats.
Analog - программа, разработанная Стефеном Тернером (Stephen Turner) из лаборатории статистики Кембриджского Университета, считается одной из лучших среди свободно распространяемых средств анализа статистики Web. Она выдает статистику в виде ASCII файлов, в которых содержится и графическое представление в виде, принятом для просмотра на алфавитно-цифровых дисплеях. Считается, что если понадобится построить качественные картинки, то лучше использовать специальное программное обеспечение для их подготовки. Analog анализирует файлы посещений в "старом" формате сервера NCSA и "общем" формате, который был описан выше. Программа подготавливает сводный отчет, в который входит общее количество посещений сервера за анализируемый период, общие число ошибок за исследуемый период, число перенаправлений, средние число запросов в день, число обслуженных хостов, количество страниц, с которых осуществлялся доступ, число некорректных записей в файле посещений, общее число байтов переданных клиентам и среднее число байтов переданных за сутки. Analog генерирует месячный отчет по доступу к базе данных, недельный отчет и несколько видов суточных отчетов: сводный отчет по дням недели, и отчет по датам. Подсчитывается частота обращений с различных доменов, с различных хостов, и выводится в упорядоченном по частоте виде. Для анализа популярности страниц приводится статистика посещения директорий и отдельных страниц базы данных. В конце отчета приводится время, за которое отчет был подготовлен, и версия программы. Программа может быть получена по адресу: ftp://ftp.statslab.cam.ac.uk/pub/users/sret1/analog/.
AccessWatch - это скрипт, написанный на Perl 5.0 Дейвом Маером (Dave Maher) из университета Бакнел, который позволяет собирать статистику не только по серверу в целом, но и по отдельным домашним страницам пользователей. Для работы с этой программой желательно иметь программу просмотра страниц Web, которая позволяет отображать таблицы HTML. Последнее необходимо для представления данных в виде столбцов гистограмм. Такой метод представления статистики в программах анализа журналов посещений довольно популярен и не только в свободно-распространяемых программах, но в коммерческих продуктах. AccessWatch генерирует отчет о суточной статистике посещений, почасовую статистику посещений, упорядоченное по частоте посещений распределение страниц, частоту посещения с разных доменов, упорядоченный список 10 наиболее активных хостов. Адрес AccessWatch: http://www.eg.bucknell.edu/~dmaher/accesswatch/.
Mw3s - это одна из версий Multi Server WebChats (v1.4.1), которая разработана Тобиасом Оетакером(Tobias Oetiker) из университета De Montfort, Англия. Главное назначение этого пакета - сбор статистики с нескольких http серверов. Пакет состоит из двух программ. Первая - logscan устанавливается как CGI-скрипт на каждом сервере, который будет находится под присмотром mw3s. Вторая - loggather, который устанавливается в crontab машины, осуществляющей мониторинг. Loggather запускается системой один раз в сутки, порождая при этом запросы к logscan. Mw3s, также как и AccessWatch, использует механизм таблиц HTML для отрисовки столбцов гистограмм. Скрипты можно получить по адресу: ftp://ftp.dmu.ac.uk/pub/netcomm/src/web/.
Statbot - программа генерации статистических отчетов о посещении Web страниц, которая поддерживается Дейвом Табсом (Dave Tubbs, dttubbs@xmission.com). Statbot генерирует графические отчеты в формате GIF, ссылки на которые могут быть включены в другие HTML-страницы. Генерируется 8 различных графиков-гистограмм: трафик за последние семь дней, трафик за последние 24 часа, сравнительный график трафика за последние четыре недели (каждая неделя отображается своим цветом), графики максимального и среднего трафика для каждого дня недели, график 10 наиболее активных машин, график соотношения общего посещения каждой страницы к числу повторных посещений этой же страницы (каждая страница отображается на графике отдельной точкой), круговая диаграмма распределения посещений по доменам и график общего числа байтов переданных с данного сервера в день. Программа может быть получена по адресу: ftp://ftp.xmission.com/pub/users/d/dtubbs/.
Web-Scope - пакет анализа статистики посещений, разработанная для TCL System Corporation. Пакет состоит из двух частей: программы построения дополнительных журналов и программы отображения данных. Среди обычного набора графиков и гистограмм следует отметить те, которые направлены на анализ информации о пути достижения страниц базы данных (где находятся ссылки на страницы, внесены ли эти ссылки в файлы закладок, какие роботы посещают страницы и какую информацию они ищут). Информацию о пакете можно найти по адресу: http://www.tic-systems.com/statinfo.html.
Raytraced Access Stats - программа подготовки данных для отображения программой POV raytracer. Главным достоинством этой программы является наличие прекрасной трехмерной графики, которая используется для построения гистограмм. Правда, воспользоваться этой красотой может только тот, кто соберет POV raytracer для своей платформы. Информацию о программе можно получить по адресу: http://web.sau.edu/ ~mkruse/scripts/access3.html
Цель анализа любой статистики обращений к информационной системе - это повышение эффективности работы этой системы, однако само понятие эффективности может быть истолковано по разному. Для коммерческих систем - эффективность будет исчисляться в терминах приносимой системой прибыли, в то время, как эффективность информационной системы бюджетной организации может исчисляться на основании числа реальных пользователей системы, количества запросов и, косвенно, на основе доли бюджетных средств, которые на систему тратятся. В данном разделе речь пойдет об анализе статистики посещений с целью повышения коммерческой эффективности системы. В первую очередь полученные результаты применимы для анализа статистики посещений рекламных материалов и расчета времени и, соответственно, затрат на размещение рекламы на страницах World Wide Web.
Приведем результаты обращений к данным сервера за семь месяцев его эксплуатации, собранные при помощи стандартных программ обработки статистики посещений:
Рис. 3.35. Статистика обращений за первые 209 суток функционирования сервера
На приведенном выше рисунке видно, что примерно через 150 суток начинает появляться определенный интерес пользователей сети к информации расположенной на сервере. Приблизительно те же данные можно получить и на других серверах сети. При этом интересно отметить, что включение сервера в так называемые Top списки, на задержку практически никак не влияют (можно сравнить с динамикой обращений к серверу компании Demos). Такой эффект легко объясним. Дело в том, что в список ссылка попадает после внесения ее в список популярного коммерческого сервера. Но в этот список ссылка попадает либо после сканирования сети роботом, либо из сообщения в телеконференции, либо после регистрации ее администратором системы. При этом необходимо некоторое время для индексирования ссылки и задержки ее в кэширующем сервере коммерческой системы для того, что чтобы администрация системы обратила внимание на существование такого ресурса и уже вручную внесла изменения в классификацию ресурсов Internet на домашней странице сервера коммерческой службы. Если анонс был сделан в летнее время, то приходится сделать еще и скидку на сезон. Как раз и получаем задержку равную приблизительно 150 дням. Особенно это характерно для специализированных систем типа "Полынь" когда речь идет о довольно узком, с точки зрения Internet круге пользователей.
Теперь обратим внимание на пик в начале графика. Точно такой же пик отмечается во на всех серверах - это обращения администратора системы к файлам базы данных. Долгое время, пока система не выйдет на стабильный режим работы администратор системы является самым частым гостем на ее страницах.
Рассмотрим теперь годовой график статистики:
Рис. 3.36. Статистика посещений за год
На графике хорошо видно, что пик посещений пришелся на 230-250 суток после начала функционирования сервера. Начиная с 300 суток сервер посещает устойчиво только около 700 пользователей в сутки. Это число отличается от того, которое было до начала роста популярности (150 суток с начала функционирования за вычетом активности администратора), что хорошо заметно и на графике (рисунок 3.36).
Для того, чтобы убедится в том, что это различие статистически значимо, проверим следующую гипотезу: распределения частоты посещения страниц базы данных в начальный период работы сервера и после пика посещений одинаковые. Для этого выберем два периода наблюдений: июль 1994 года и май 1995 года. В качестве статистического теста будем использовать тест Колмагорова-Смирнова. Такой выбор теста объясняется тем, что ни форма, ни параметры обоих распределений не определены априорно. На рисунке 3.37 приведен графики этих распределений.
Рис. 3.37. Графики распределений посещений страниц базы данных в начальный и в стационарный период работы сервера
Для приведенного примера значение статистики равно:
Табличное значение получено для уровня значимости равного 0,05, и т.к. табличное значение меньше экспериментального, гипотеза о равенстве распределений отвергается.
Для того, чтобы лишний раз утвердиться в полученном результате, сравним два распределения стационарного периода работы сервера: май и апрель 1995 года (рисунок 3.38). На этом рисунке видно, что распределения также имеют различия, но существенно меньшие, чем в первом случае. Это подтверждает и статистический тест:
Табличное значение больше расчетного, и, следовательно, нет оснований для того, чтобы отвергать гипотезу о равенстве распределений.
Рис. 3.38. Распределения частоты посещения страниц в стационарный период работы сервера
Учет распределения частоты посещений важен с двух точек зрения. Во-первых с чисто коммерческой. Наибольший процент использования World Wide Web технологии дает реклама товаров и услуг (около 80% всей информации). С этой точки зрения чрезвычайно важно знать, когда реально пользователь получит информацию о товаре и услуге, если ее разместит в Internet. Как показывает статистика обращений, это происходит немгновенно. При этом следует четко представлять когда реклама становится не эффективно (большинство потенциальных покупателей ее уже посмотрели). Как видно из графика этот период составляет примерно 200 суток. Эта цифра одинакова для всех серверов. Просто на коммерческих серверах ее трудно определить, в то время как специализированные сервера четко дают представление о максимальном наплыве пользователей всех категорий. Дело в том, что большинство пользователей которые дали пик - это случайные пользователи, а их процент во всех системах один и тот же. Таким образом выставлять рекламу на срок более чем начальный период плюс 200 суток просто не целесообразно. Для специализированных систем - это срок проведения опросов, манифестов и других материалов информационного характера. Кроме того становится очевидным, что простое обращений в телеконференции Usenet не дает гарантии максимального оповещения пользователей, т.к. сообщение Usenet хранится только 5 суток, а этого, как видно из графика, совсем недостаточно. Поэтому размещение сообщения в архиве телеконференции или в поисковой системе типа Lycos является оправданным даже с коммерческой точки зрения.
Второй аспект данной проблемы - это отделение шума случайных посещений от запросов действительно заинтересованных в информации пользователей. Совершенно ясно, что изменять структуру базы данных первые 300 суток после ее установки в сети нельзя. В этот период число случайных посещений превосходит число тематических посещений, что приводит к искажению представлений о тематических потребностях реальных пользователей. Чтобы лишний раз подтвердить этот вывод рассмотрим еще один график:
Рис. 3.39. Рост числа машин, с которых обращаются к базе данных "Полынь"
Через 300 суток после начала функционирования сервера рост числа новых машин, с которых обращаются к данным существенно замедляется при постоянном числе обращений в сутки к страницам базы данных. Это еще раз подтверждает вывод о стабилизации круга пользователей системы. Рассмотрим еще один интересный график:
Рис. 3.40. Распределение частоты обращений пользователей к страницам базы данных "Полынь" к середине лета 1995 года
Это график интересен с двух точек зрения. Во-первых он показывает, что существует несколько сотен пользователей, которые просмотрели все навигационные страницы базы данных (доступ к численным данным фиксируется как единичное обращение и служить для оценки тематической направленности запроса не может). Около сотни пользователей работают с базой данных регулярно. Если учесть, что проблемами моделирования загрязнения окружающей среды в результате аварии на Чернобыльской станции в мире занимается только около десяти групп исследователей, из которых не все имели доступ к системе World Wide Web, то такой показатель можно считать достаточно хорошим. Это подтверждается и результатами научных конференций, где система была включена в список важнейших информационных источников по данной проблеме.
Любопытен еще и тот факт, что большинство случайных пользователей осуществило только одно посещение страниц базы данных. Дело в том, что корневая страница имеет встроенную графическую картинку, которая загружается по отдельному запросу к серверу. Если пользователь работает с графической программой просмотра страниц World Wide Web, то при случайном обращении к базе данных пользователь должен осуществить два посещения (файл HTML и файл GIF). Тогда максимум должен приходится на 2, не на 1. Можно было бы предположить, что максимум в районе единицы говорит о том, что большинство пользователей работает с алфавитно-цифровыми программами просмотра, но этому противоречит статистика программ-клиентов: первое место занимает программа Netscape Navigator, а это графическая программа просмотра. Следовательно остается только одно - пользователи отключают режим автоматической подкачки графики, и подкачивают иллюстрации только по специальному запросу. Этим они экономят свои ресурсы.
Конечно в большинство приведенных здесь исследований проводить не надо, результаты сами по себе являются достаточно очевидными, но в данном случае они приведены здесь для полноты картины.
Еще более интересные результаты дает структурный анализ статистики посещений пользователей за разные периоды эксплуатации страниц Web, но это тема отдельного большого разговора, поэтому здесь приведены только результаты без самих статистических данных.
В различные периоды функционирования сервера изменяется тематика обращений пользователей. Структурный анализ позволяет отследить эти изменения и подстроить систему в соответствии с потребностями пользователей. В свою очередь это повышает число посещений страниц сервера и улучшает его коммерческие характеристики.
Назад | Содержание | Вперед