Автоматизированная информационная система сбора и анализа статистики посещаемости сайта
Создание автоматизированной системы по сбору и анализу статистических данных сайта. Принципы сбора статистических данных. Исследование информационных потоков. Обзор современных СУБД и языков программирования. Логическая и физическая модель базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.07.2012 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
Высшего профессионального образования
"Ижевский государственный технический университет"
Чайковский технологический институт (филиал) ИжГТУ
Кафедра "Информатика и вычислительная техника"
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к дипломному проекту по специальности 230102 Автоматизированные системы обработки информации и управления
на тему
"Автоматизированная информационная система сбора и анализа статистики посещаемости сайта"
Проектант
студент гр.10-45-1 Н.В. Корчагина
Руководитель
старший преподаватель Д.В. Жевнерчук
Консультант по экономической части
к. э. н., доцент М.А. Пиунова
Консультант по охране труда
к. х. н., доцент Л.А. Воробьёва
Чайковский 2007
Содержание
- Терминология
- Введение
- 1. Анализ предметной области
- 1.1 Характеристика предприятия
- 1.2 Организационная структура предприятия
- 1.3 Принципы сбора статистических данных
- Подходы к сбору данных
- 1.4 Анализ данных
- 1.5 Исследование информационных потоков
- 2. Обзор средств разработки
- 2.1 Краткий обзор современных СУБД
- СУБД Oracle
- СУБД IBM DB2
- СУБД MySQL
- 2.2 Краткий обзор языков программирования
- Perl
- PHP
- Java
- 3. Изучение существующих аналогов
- 3.1 Битрикс Управление сайтом - Модуль веб-аналитики
- 3.2 Студия веб дизайна АТЛАС - MySTАТ
- 3.3 Active Technologies - Статистика посещаемости сайта stat24
- 4. Обоснование необходимости разработки
- 4.1 Необходимость ведения статистики посещаемости сайта
- 4.2 Ожидаемый эффект
- 5. Постановка задачи
- 5.1 Общая постановка задачи и требования к системе
- 5.2 Математическая постановка задачи
- 6. Проектные решения по АИС сбора и анализа статистики посещаемости сайта
- 6.1 Обоснование выбора технологии подсчета статистики сайта
- 6.2 Описание логической и физической моделей базы данных
- 6.3 Решение по комплексу технических средств
- 6.4 Решение по программному обеспечению
- Выбор СУБД
- Выбор языка программирования
- 6.5 Решение по защите информации
- 6.6 Описание структуры системы
- 6.7 Взаимодействие между подсистемами и модулями системы
- 6.8 Файловый состав и размещение системы SiteEdit Statistics
- 7. Экономическое обоснование
- 7.1 Оценка размеров программного продукта
- 7.2 Оценка трудозатрат и времени
- 7.3 Определение перечня работ
- 7.4 Расчет затрат на разработку системы
- 7.5 Расчет цены программного продукта
- 7.6 Оценка экономической эффективности применения АИС
- 8. Охрана труда
- 8.1 АИС сбора и анализа статистики посещаемости сайта
- 8.2 Опасные и вредные производственные факторы, сопровождающие деятельность пользователей ПЭВМ
- 8.3 Способы защиты персонала от производственных вредностей - коллективные и индивидуальные средства защиты
- 8.4 Организация автоматизированных рабочих мест пользователей АИС
- Заключение
- Список используемых источников
- Приложения
Терминология
Локальная система - система, которая устанавливается непосредственно на сервер с сайтом.
Счетчик - удаленный сервис сбора статистики, при котором информация собирается специальным сервером через интернет.
CMS (Content Management System) - Система управления сайтом, предназначена для упрощения разработки и наполнения контента сайта.
GPL (General Public License) - общедоступная лицензия. Право на получение и свободное распространение программного обеспечения и исходных файлов за право распространения на тех же условиях модификаций этого программного обеспечения - обычно в рамках проекта GNU.
Open-source - программа, с открытым кодом.
Хит - число посещений конкретной web-страницы пользователями сети Internet.
Хост - число уникальных посетителей.
Трафик - количество загруженной/закачанной информации пользователями.
Домен - часть иерархии имен. Доменное имя Internet представляет собой последовательность имен, разделенных точками.
Прокси сервер (Proxy) - модуль доступа. Посредник, агент (механизм, посредством которого одна система представляет другую в ответ на запросы протокола; proxy-системы используются в сетевом управлении, чтобы избавиться от необходимости реализации полного стека протоколов для таких простых устройств, как модемы).
Реферрер - ссылающийся сайт, т.е. сайт на котором содержаться ссылки на анализируемый сайт.
Кроссплатформенность - свойство программы, позволяющее использовать ее на разных платформах.
сайт статистика база модель
Робот - система индексации сайтов в сети интернет (загружают сайты особым способом), в основном это используется поисковиками.
Лог - файл, в котором сохраняется вся информация работы некоторого приложения, в специальном формате.
Введение
Во всем мире возрастает интерес к статистике. В нашей стране это внимание тем более обострено в связи с осуществлением экономических реформ, затрагивающих интересы всех людей. В статистических данных, отображающих развитие отдельных сторон жизни общества и служащих информационной базой принятия управленческих решений, каждый из нас ищет результаты реформ.
Одним из непременных условий правильного восприятия и тем более практического использования статистической информации, квалифицированных выводов и обоснованных прогнозов является знание статистической методологии изучения количественной стороны социально-экономических явлений, природы массовых статистических совокупностей, значения и познавательных свойств показателей статистики, условий их применения в экономическом исследовании.
В настоящее время перед статистической наукой встают актуальные проблемы дальнейшего совершенствования системы показателей, приемов и методов сбора, обработки, хранения и анализа статистической информации. Это имеет важное значение для развития и повышения эффективности автоматизированных систем управления, создания автоматизированных банков данных, распределительных банков данных и т.д., которые в свою очередь могли бы способствовать созданию автоматизированной системы коммерческой информации (АСКИ).
Статистическая работа состоит в том, чтобы собрать числовые данные о массовых явлениях, обработать их, представить в форме, удобной для анализа, проанализировать и интерпретировать полученные результаты.
На любом уровне и в любой сфере эффективность использования статистики во многом определяется качеством исходных данных. [1]
Предназначение любого Интернет ресурса заключается в эффективном достижении целей, определенных при его создании. Поэтому актуальной является проблема оценки эффективности сайта, которая, в свою очередь, порождает ряд вопросов: как же произвести оценку эффективности сайта? от чего она зависит? можно ли улучшить ее?
Ответ, как оказывается, прост и очевиден - эффективность сайта напрямую зависит от качества его содержимого (контента), которое, в свою очередь, определяется:
- числом посетителей сайта (в частности, приходящих из поисковых серверов)
- скоростью и удобством получения интересующей информации
- количеством повторных возвращений на данный сайт
Эффективность сайта также зависит от того, насколько интересны статьи, удобна навигация, привлекателен дизайн и т.п.
Таким образом, выделим основной вопрос: как оценить эффективность сайта?
Для оценки эффективности сайта собираются статистические данные посещения данного ресурса, применяются различные методы математической статистики для получения и обработки результатов.
Качественный анализ. Интернет статистики поможет понять потребности и интересы потенциальных клиентов сайта, оценить методы их привлечения и удержания, выявить причины, по которым они не заинтересовались продуктом или услугами. Возникает проблема: как максимально точно идентифицировать посетителя сайта для проведения данного анализа?
Для решения этой проблемы предлагается создание автоматизированной системы по сбору и анализу статистических данных сайта.
1. Анализ предметной области
1.1 Характеристика предприятия
Основным направлением деятельности компании EDGESTILE является разработка, производство и продажа высококачественного программного обеспечения, ориентированного на широкий спектр пользователей, а также предоставление услуг в сфере Интернет.
В настоящий момент компания EDGESTILE разработала программные продукты, зарегистрированные под торговой маркой SiteEdit, представляющие собой систему создания и управления web-сайтом (СMS - соntent manedger system).
Данные продукты являются одними из наиболее передовых на сегодняшний день и позволяют решить все технические вопросы от разработки и размещения информации до поддержания работоспособности сайта.
Система SiteEdit состоит из 2-х частей:
клиентская - это сама программа, расположенная на компьютере пользователя (клиента). Ее предназначение - это подготовка данных (текстов, рисунков и т.п.) и дизайна для сайта.
серверная - один из самых мощных движков, который позволяет обрабатывать данные, контролировать временные задачи, обеспечивать безопасность и предоставлять большое число пользовательских функций для интерактивности проекта.
Разработчики Системы создания и управления сайтом SiteEdit, учитывая различные потребности пользователей, предусмотрели несколько версий программного продукта (SiteEdit Start, SiteEdit Start+, SiteEdit Standard, SiteEdit Business).
Каждый программный пакет включает в себя определенный набор модулей для создания сайта и в полной мере удовлетворяет ожидания определенной группы потребителей (пользователей). Пакеты отличаются друг от друга функциональностью, количеством встроенных модулей, шаблонов, возможностями работы с FTP серверами, размером предоставляемого дискового пространства (в мегабайтах), возможностями обновления новых версий ну и соответственно ценой.
Программы более старших версий обладают всеми преимуществами младших версий, но имеют набор дополнительных модулей и увеличенный по сравнению с младшими версиями размер хостинга. При этом пользователь по мере необходимости может докупать необходимые ему модули (например, форум или чат).
Полный Интернет-пакет предлагаемый клиенту включает:
- программное обеспечение;
- первичное наполнение сайта;
- техническую поддержку;
- обновления;
- хостинг (аренда дискового пространства на сервере);
- домен (электронный адрес сайта).
Программное обеспечение ООО "Эджестайл" постоянно модернизируется, совершенствуется, тем самым повышается его универсальность и увеличивается его функциональность. Работать с программным обеспечением очень легко и удобно, оно не требует специальных знаний, в нем реализованы новейшие технологии, разработанные EDGESTILE, есть удобный помощник, система подсказок, реализована "step-by-step" технология и внедрена особая степень защиты.
Наряду с производством и разработкой программного обеспечения ООО EDGESTILE, обеспечивая полный сервис для своих клиентов, предлагает разнообразные работы и услуги:
- разработку сайтов любой сложности;
- разработку и создание интернет-магазинов;
- раскрутку и продвижение Интернет-представительств;
- поддержку и обновление сайтов;
- перевод сайтов с других платформ (Bitrix, NetCat, Standard Site и другие);
- установку дополнительных модулей на сайты;
- разработку дизайна для Интернет-проектов;
- предоставление хостинга (аренда дискового пространства на сервере);
- предоставление доменов любого уровня;
- реклама в сети Интернет;
- обучение клиентов и консультации.
В настоящий момент предприятие наряду с уже имеющимися видами деятельности разрабатывает и другие перспективные направления для того, чтобы в соответствии с изменениями конъюнктуры безболезненно переключиться на них, добиваясь наибольшего эффекта. [2]
1.2 Организационная структура предприятия
Организационная структура предприятия представлена в Приложении A.
Описание общих функций данных подразделений:
- Генеральный директор.
Управление компанией, утверждение документов.
- Технический директор.
Организация и координирование работы инженерного состава, вверенных ему подразделений. Участие в сложных инновационных проектах. Ведение отчетности.
- Отдел маркетинга.
Работа с потенциальными клиентами. Управление ценовой политикой, анализ продаж. Поддержание на необходимом уровне всех видов финансовых ресурсов и их рациональное использование. Реализация маркетингового потенциала компании: создание и реализация маркетинговой стратегии.
- Бухгалтерия.
Ведение финансового учета деятельности компании, предоставление отчетности руководству и другим организациям. Учёт, анализ, контроль за экономным использованием имеющихся ресурсов, выявление фактических затрат и результатов деятельности организации. Учёт, анализ, контроль за затратами труда и его оплатой, за реализацией продукции, за формированием прибыли, финансовым состоянием, соответствием расходов предприятия и его доходом. Выявление резервов дальнейшего увеличения эффективности производства.
- Юридический отдел.
В этом отделе осуществляется работа над тем, чтобы договора на продукты и услуги заключались юридически согласно законам.
- Отдел разработки ПО.
Сбор требований по автоматизации работы подразделений предприятия. Поиск, доработка или разработка нового программного обеспечения в целях автоматизации работы подразделений предприятия. Координация деятельности по созданию и доработке программного обеспечения для предприятия. Создание новых высокотехнологичных сервисов по предоставлению информационных ресурсов широкому кругу пользователей. Совершенствование работы. Разработка новых технологий, правил и стандартов в конкретной области деятельности подразделения.
- Отдел тестирования.
Тестирование проектных решений. Анализ полученных решений на предмет их дальнейшей тестируемости. Составление сценариев использования системы. Определение применяемых технологий тестирования и типов тестов. Определение перечня разрабатываемых тестов, очерёдность их разработки и выполнения, составление тестовых планов, составление контрольных листов, определение качество процесса тестирования (анализ выполненных/невыполненных сценариев).
- Отдел дизайна.
Занимается вопросами дизайна, освоением новых технологий для разработки и поддержки Web-приложений, созданием и поддержкой WWW-серверов клиентов, консультационной поддержкой в создании Web-приложений.
- Служба технической поддержки пользователей.
Задачей службы технической поддержки является всесторонняя помощь клиентам в освоении и использовании программных продуктов организации. Общение с пользователями по электронной почте и на форумах. Участие в обсуждении новой функциональности продуктов в соответствии с запросами пользователей. Участие в тестировании продуктов компании.
1.3 Принципы сбора статистических данных
В ходе разработки АИС предполагается дополнить систему SiteEdit новым модулем сбора и анализа статистики посещаемости сайта.
Данная система позволит проанализировать поведение большинства посетителей на сайте и сделать на основании собранных данных определенные выводы и принять решение на проведение каких-либо мероприятий для увеличения аудитории сайта и привлечения нужной группы посетителей.
Далее рассмотрим принципы сбора статистических данных.
Подходы к сбору данных
Существуют два подхода к сбору данных:
- Пассивный подход;
- Активный подход.
Пассивный подход. В этом случае от клиента не требуется никаких действий, кроме собственно самого факта посещения сайта. Когда браузер обращается к Web-серверу за страницей сайта, вместе с адресом страницы он передает ряд данных, в число которых входят такие значения как IP адрес компьютера клиента и информация о типе браузера. На основе этих данных формируется знакомая многим статистика посещений сайта в виде количества хостов и хитов. Под хостом понимается уникальный IP адрес компьютера клиента, а под хитом факт запроса браузером страницы.
Количество хостов позволяет судить о количестве посетителей сайта, а количество хитов говорит об интенсивности запросов к сайту, то есть об уровне интереса посетителей к сайту. Эти два значения широко используются в рейтинговых системах для определения позиции сайта в рейтинге.
Но если разобраться с хостами и хитами подробнее, то становится очевидным, что это самый ненадежный и неточный способ оценки посещаемости. А рейтинги, построенные на таких значениях (например, Rambler Top100) далеки от реальности.
Большинство посетителей сайта не имеют постоянного IP адреса, поскольку пользуются услугами Интернет-провайдеров. При каждом подключении к Интернет с помощью модема посетителю назначается свободный IP адрес из диапазона адресов Интернет-провайдера. Это значит, что один и тот же человек, регулярно заходящий в Интернет в течение суток может предстать перед сервером в виде совершенно разных хостов. Клиент был один, а статистика покажет, что их было больше.
Предположим, что провайдер имеет клиентов больше, чем IP-адресов и все клиенты хотя бы раз побывают в Интернет в течение дня. В зависимости от интенсивности выходов клиентов в сеть данная статистика покажет количество посетителей меньшее или равное количеству IP адресов провайдера.
Клиенты, которые выходят в Интернет со своих рабочих мест в офисах нередко находятся за специальным сервером, который обеспечивает защиту локальной сети компании или позволяет использовать одно соединение с Интернет многим пользователям. В этом случае для сервера все рабочие места офиса будут представлены одним IP. Посетителей было много, а статистика говорит, что был один.
Многие используют прокси-сервера, которые сохраняют запрашиваемую пользователем информацию и выдают ее при повторном запросе, значительно ускоряя скорость доступа в сеть. Все пользователи, работающие с использованием прокси-сервера, предстанут перед сервером сайта в лице этого прокси-сервера, то есть будут иметь один и тот же IP. Учитывая факт, что Интернет-провайдеры обычно предлагают прокси-север для своих клиентов, а большинство локальных сетей имеют такой прокси-сервер, сайт способен пропустить значительную часть своей аудитории.
Набор доступных серверу данных можно расширить, если включить в страницу, загружаемую браузером, специальный код на языке JavaScript, который соберет и передаст серверу такие данные, как разрешение экрана, тип операционной системы, адрес предыдущей страницы и д. р. Из всего этого набора данных наиболее ценным является адрес предыдущей страницы, который позволяет прослеживать путь посетителя сайта и фиксировать те ресурсы Интернет, которые содержат ссылки на сайт. Отчеты же о типах браузеров посетителей, операционных системах и разрешениях экранов больше волнуют разработчика сайта, в обязанности которого входит обеспечение работоспособности сайта при любой комбинации этих значений.
В ответ на запрос браузера сервер, кроме запрашиваемой страницы может передать набор имеющих для него смысл значений и указать браузеру на необходимость сохранения их на компьютере клиента. Эти значения будут автоматически передаваться браузером серверу во время всех последующих запросов. Благодаря этому сервер получает возможность хранить значения, которые привязаны к конкретному клиенту, вернее, конкретному браузеру клиента. В компьютерной лексике для таких значений существует термин - Cookie.
Cookie могут использоваться в системе сбора статистики. Точнее говоря, они должны использоваться, поскольку позволяют собирать данные гораздо более близкие к действительности чем хосты.
При использовании Cookie, сервер назначает каждому посетившему его браузеру уникальный идентификатор, который записывает на компьютер клиента. При каждом посещении сервера браузер будет передавать ему этот идентификатор, однозначно идентифицируя себя.
Преимуществом использования Cookie является идентификация посещающих сервер браузеров, что позволяет более точно определять количество посетителей и открывает путь к определению предпочтений пользователя и персонализации работы сайта.
Недостатки Cookie не позволяют решить проблему сбора точной статистики. Во-первых, сервер идентифицирует браузеры, но никак не клиентов. В ситуации, когда одним браузером пользуется несколько пользователей, сервер получит ошибочную информацию о предпочтениях браузера-клиента. Во-вторых, существует возможность отключения Cookie, что и делают пользователи, страдающие боязнью быть отслеженными. В-третьих, прокси-сервера и средства защиты локальных сетей имеют возможность "вырезания" Cookie из проходящего через них трафика. Эту возможность вполне вероятно могут использовать администраторы сетей.
Активный подход. Второй подход основан на непосредственном участии клиента. На сайте создаются наборы анкет и опросов, которые предусматривают ввод данных клиентом. Этот подход позволяет получить наиболее ценные с точки зрения маркетинга данные.
Статистика показывает, что клиенты негативно относятся к необходимости ввода данных, если только не сильно заинтересованы в этом. Задача создателя сайта - это найти сбалансированное решение, поддерживающее интерес пользователя, достаточный для заполнения анкет.
Обычно анкеты размещают в тех местах, в которых клиент может получить доступ к информации или возможностям, которые ему трудно получить на другом сайте. Всегда надо помнить, что конкурент находится не далее щелчка мышью. Это означает, что клиент встретив затруднение в виде заполнения анкеты, без труда уйдет туда, где он сможет получить ту же информацию меньшим трудом.
На многих сайтах размещают блиц-опросы на главных страницах сайта. Практика показывает, что большой пользы от этого нет. Выборка в виде пяти ответивших из ста возможных вряд ли будет являться серьезным аргументом для принятия решения о свойствах аудитории. Существует практика, когда ответ на опрос сопровождается вознаграждением. Это намного более действенный способ, обычно достигающий поставленной цели. [3]
Способы ведения статистики сайта.
Посетители сайта делятся на две большие категории: пользователи и поисковые роботы.
Пользователи это люди, которые посещают сайт с помощью браузеров. Пользователи обычно скачивают страницы целиком, смотрят картинки, используют JavaScript. Это самые дорогие клиенты. Про них нужно знать все.
Поисковые роботы (просто роботы или краулеры от crawler), это бездушные программы, выполняющие задачи поисковых машин и каталогов. Роботы обходят все сайты с целью обновить поисковый индекс - они скачивают страницы сайта, индексируют и именно благодаря посещениям роботов сайт можно найти, например в Google.
Особенностью роботов является их нелюбовь к картинкам, которые не нужны им для поискового индекса и роботы картинки не скачивают.
Существуюет всего три способа сбора данных о посетителях сайта:
- лог-файлы веб-сервера;
- накопление данных в локальной базе данных;
- накопление данных на стороннем сервере статистики.
Накопление данных на стороннем сервере статистики.
Начнем с последнего способа - установка счетчика от стороннего сервера-статистики. Тут ключевыми являются два слова - "счетчик" и "сторонний". "Сторонний" - это значит: вся информация будет храниться на удаленном сервере (возникают вопросы безопасности); точность статистики будет зависеть от надежности каналов связи и программного обеспечения стороннего сервера. "Счетчик" - это значит, на сервер, где располагается сайт, ставится html-код, который вызывает картинку, расположенную на другом сервере. Картинку, а это значит, что такой категории посетителей как роботы мы уже автоматически лишаемся!
Итак, использование стороннего сервера статистики может быть полезно только:
- для участия в рейтинге сайтов похожих тематик (привлечение людей, смотрящих рейтинг);
- отсутствия возможности установить свою систему сбора и анализа статистики сайта.
Важное примечание. Некоторые сервера статистики пытаются заменить картинку на различного вида include. Это хорошая тенденция, однако, подходить к этому надо крайне осторожно - сервер то сторонний! Это значит, что малейший сбой в работе стороннего сервера повлечет за собой неработоспособность вашего.
Лог-файлы веб-сервера.
Тут надо исходить из следующего - лог-файлы никогда лишними не бывают. Вообще говоря, это единственный правильный способ для хранения данных о посещениях сайта длительное время (год и более). Однако, лог-файл это не статистика сайта, а только исходные данные. Для анализа этих файлов требуется программа. А вот с программами для анализа лог-файлов следует разобраться подробнее. Вообще, их два типа:
- программы, которые выполняются на веб-сервере, где расположен сайт;
- программы, которые требуют перекачку лог-файла на Windows компьютер, и там они анализируются.
Недостаток у этих программ общий - невозможность оперативного контроля за работой сайта. Всегда анализируется вчерашний день!
Перекачивать файлы для анализа на Windows компьютер, особенно при больших объемах сложно и невыгодно.
Удачным выглядит вариант, настройки ротации логов на сервере в зависимости от желаемого периода хранения и текущих объемов, а затем использования бесплатного анализатора логов на стороне сервера. Бесплатный анализатор должен: работать быстро, уметь ставить временные периоды анализа, осуществлять поиск по условию. Этого достаточно, больше не нужно!
Вообще не надо стремиться хранить все и за все время! Практика показывает, что логи просто занимают место на носителях. Там много "лишней" информации, например, зачем знать про скачивания всех картинок составляющих дизайн сайта? 30-60 дней хранения подробной информации достаточно в 99.999% случаев.
Итак, лог-файл следует использовать в том случае, когда необходимо хранить все данные о запросах за все время работы сайта;
Накопление данных в локальной базе данных.
Это единственный способ, позволяющий надежно учитывать и роботов и людей, а также оперативно контролировать и анализировать их работу - буквально в момент совершения действий. Моментальный доступ к любым данным по посещениям, которые хранятся в базе.
Кажущийся тонкий момент - производительность базы и повышенная сложность содержания. Однако достаточно один раз настроить систему, и она будет работать и работать. А производительности баз данных хватает - если сайт работает с этой базой данных, значит, будет работать и статистика, как часть сайта.
Итак, накопление данных в локальной БД это очень привлекательный способ для:
- коммерческих сайтов, где важен оперативный контроль за посетителями;
- для новых сайтов начинающих свою раскрутку;
- для небольших и средних (до 10 000 уникальных хостов в сутки) сайтов использующих БД в работе своего ядра. [4]
1.4 Анализ данных
Анализ статистики сайта проводится на основе данных о посетителях сайта, которые собираются и затем записываются в базу данных, для реализации данной задачи используется комбинированный счетчик посещений - внешняя программа плюс картинка.
Принцип работы счетчика посещений заключается в следующем:
В страницы динамического сайта подгружается внешняя программа, которой передаются так называемые переменные окружения. В момент генерации страницы вызывается код внешней программы и полученная из переменных окружения информация записывается в базу данных.
В этих переменных хранится вся базовая информация о текущем посетителе сайта, в том числе:
- IP-адрес посетителя (REMOTE_ADDR);
- Браузер посетителя (HTTP_USER_AGENT);
- Адрес страницы, откуда пришел посетитель (HTTP_REFERER);
- Адрес страницы, куда пришел (REQUEST_URI);
- Параметры вызова страницы (QUERY_STRING).
При просмотре страницы браузером срабатывает java-скрипт, который собирает дополнительную информацию (например, экранное разрешение, глубина цвета и так далее) и вызывает счетчик-картинку, который дописывает дополнительную информацию в базу данных.
Такой способ сбора статистики единственный вариант получить максимально полную информацию обо всех посетителях сайта.
На основании проведенного системного анализа была построена функциональная модель (модель бизнес-процессов) IDEF.0 (Приложение Б), с помощью CASE - средства BPwin.
1.5 Исследование информационных потоков
В ходе изучения и анализа информационных потоков и алгоритмов переработки данных в системе были рассмотрены следующие данные:
Входные данные:
- данные о местонахождении посетителя - страна, город, регион;
- данные о "предыдущей странице" - реферер, использованные поисковые слова, каталоги и т.д.;
- информация о сессиях - просмотренные страницы, время начала сессии, средняя продолжительность сессии и т.д.;
- информация о компьютере - ip-адрес, браузеры, операционные системы, разрешение экрана и т.д.
Выходные данные:
На выходе получаем отчеты, сгруппированные по категориям.
- Аудитория
- Посещаемость сайта (Сводная статистика)
- Просмотров на хост
- Просмотров на пользователя
- Время просмотра страниц
- Старые/новые пользователи
- Скорость загрузки страниц
- Страницы
- Популярные домены (Варианты обращения)
- Популярные страницы
- Популярные заголовки
- Точки входа
- Точки выхода
- Пути по сайту (Глубина просмотра сайта)
- Внутренние переходы
- Ссылки (Реффереры)
- Ссылающиеся домены
- Ссылающиеся страницы
- Переходы с каталогов
- Переходы с рейтингов
- Переходы с поисковых систем
- История переходов
- Поисковые фразы
- Найденные страницы
- Партнеры
- Отслеживание целей (Рекламные кампании)
- Источники, приведшие к цели
- Фразы, приведшие к цели
- Список достижений целей
- Стоимость рекламы
- Система
- Агенты
- Accept-Languages
- Операционные системы
- Браузеры
- Экранное разрешение
- Глубина цвета
- Использование Cookies
- Использование Java
- Использование JavaScript
- География
- IP адреса
- Языки
- Города
- Страны
- Разное
- Сейчас на сайте
- Индексация сайта
- Роботы
- Администрирование
- Размер базы данных
- Пользователи online
- Журнал посещений
- Локализация
- Конфигурация
- Настройки
- Управление базой данных
- Словари данных
- Отчет по почте
- Права доступа
- Гостевой вход
- Фильтры
- Обновление
- Регистрация
Пояснения по работе с генерируемыми отчетами представлено в "Руководстве пользователя" в приложении Ж.
В результате исследования информационных потоков была построена DFD модель (Приложение В), которая показывает, какие информационные потоки возникают при выполнении функций.
2. Обзор средств разработки
2.1 Краткий обзор современных СУБД
СУБД Oracle
СУБД Oracle, выпускаемая одноимённой компанией (Oracle Corporation) с 1977 года к настоящему моменту является одной из наиболее часто применяемых СУБД в крупном бизнесе, на транспорте и в научных разработках. Она обладает огромными возможностями, среди которых, например, способность работы с различными типами клиентов - от PDA (Personal Digital Assistant) и других мобильных устройств и до больших промышленных мэйнфреймов. Ранние версии этой СУБД были предназначены только для мэйнфреймов, а в качестве рабочих мест использовались "неинтеллектуальные" терминалы. Однако со временем появились версии Oracle, предназначенные для использования в архитектуре "клиент-сервер" (первой такой версией была Oracle 5, выпущенная в 1985 году). Первоначально эти версии были предназначены для различных серверных платформ - различных версий UNIX, VMS и др. Позже были выпущены версии сервера Oracle для Novell NetWare. Первые версии этого сервера для персональных компьютеров появились в середине 90-х (Personal Oracle 7 for Windows 3.1, Personal Oracle 7 for Windows 95, Personal Oracle Lite, Oracle Workgroup Server 7 for Windows NT). До появления этих версий персональные компьютеры могли использоваться исключительно в качестве клиентских рабочих станций - в состав Oracle для серверных платформ обычно входила клиентская часть для DOS. Высокую популярность этой СУБД обеспечивают высокая производительность, гибкость настроек, а также большое число уже успешно внедренных и эффективно работающих приложений. Среди достоинств данного решения ещё можно выделить высокую степень автоматизации многих ручных процессов настройки, что в какой-то мере облегчает процесс построения защищенной базы данных. Но, с другой стороны, подобная автоматизация уменьшает гибкость и создаёт потенциальную возможность для атаки БД злоумышленником в случае неправильной конфигурации СУБД. Также к преимуществам можно отнести высокую надёжность и широкое распространение Oracle DB - её применяют в крупных компаниях (Внешторгбанк, Dales Pharmaceuticals, Bank of America, British Airlines).
Среди недостатков этой СУБД обычно выделяют высокую стоимость решений на её основе и большие требования, предъявляемые к информационной системе, в рамках которой будет установлена СУБД Oracle. Это сильно ограничивает возможности по установке СУБД в небольших локальных сетях и на отдельно стоящих рабочих станциях.
В то же время крупные компании часто предпочитают именно СУБД Oracle для своих серверов баз данных из соображений производительности и безопасности.
СУБД IBM DB2
IBM DB2 (полное название - IBM DB2 Universal Database) - это созданная компанией IBM СУБД, которая обеспечивает широкую поддержку открытых стандартов и тесную интеграцию ресурсов с такими популярными средами разработки, как J2EE и Microsoft.net. Семейство продуктов DB2 UDB также включает самый современный инструментарий и решения, ориентированные для специфических применений, например, для бизнес-анализа.
DB2 UDB - это первая мультимедийная, Web-совместимая СУБД, которая обладает достаточной мощностью для удовлетворения потребностей крупных корпораций, и, в то же время, характеризуется достаточной степенью гибкости для обслуживания предприятий малого и среднего бизнеса
DB2 UDB работает на 22 аппаратных платформах и характеризуется широчайшими возможностями с точки зрения масштабирования. Решение DB2 Everyplace Edition может быть установлено в карманных компьютерах, а DB2 Personal Edition предназначено для однопользовательских версий DB2. В дополнение к этому недавно объявленный бесплатный продукт DB2 Express обеспечивает удовлетворение потребностей предприятий малого и среднего бизнеса.
Еще две ветки этого направления - DB2 Workgroup Edition и DB2 Enterprise Edition предлагают поддержку симметричной мультипроцессорной обработки (SMP - Symmetric Multiprocessor) для кластеров баз данных. Серверы DB2 Database работают под управлением операционных систем AIX, Solaris, HU/PX, Linux и Windows для аппаратных платформ zSeries, iSeries, VSE и VM.
Наряду с этими преимуществами можно отметить то, что настройка IBM DB2 UDB представляет собой весьма тонкий и сложный процесс, который не очень хорошо документирован. К тому же большое количество находимых уязвимостей в системе безопасности этой СУБД также не способствуют её популяризации, по крайней мере на территории России.
СУБД MySQL
MySQL - это СУБД, разработанная компанией MySQL, которая характеризуется устойчивостью и легкостью в использовании.
Большим преимуществом MySQL является открытость программного кода, позволяющая разработчикам вносить свои изменения в функции сервера СУБД при необходимости. Несмотря на то, что СУБД MySQL не может обеспечить такой же высокой производительности, как у СУБД компаний-лидеров по производству коммерческих систем для управления базами данных, среди аналогичных некоммерческих продуктов она является наиболее быстродействующей системой. Благодаря своим небольшим размерам и невысоких требований к аппаратным ресурсам, MySQL удобно использовать для небольших веб-серверов, а также в предприятиях малого и среднего бизнеса, объёмы информации в которых в несколько раз меньше, чем в крупных предприятиях и которые стремятся минимизировать затраты на поддержание инфраструктуры баз данных.
2.2 Краткий обзор языков программирования
Perl
Язык PERL (Practical Extraction and Report Language - практический язык извлечений и отчетов) среди всего прочего применяется для обработки потоков информации. Изначально предполагалось, что он будет использоваться в ОС Unix, но в дальнейшем Perl стали переносить на другие платформы, и сейчас он существует в самых разных версиях - для Unix, Windows, MS-DOS, OS/2, MacOS, Amiga, Atari ST, VMS, Plan 9 и др. Данный язык получил широкое распространение в связи с развитием компьютерной сети Internet.
Perl предназначен для выполнения задач командных сценариев Unix в тех случаях, когда они слишком трудны, плохо переносимы или сложны для программирования на другом языке, например на Cи. Иногда содержимое Perl-программ выглядит для непосвященных как случайный набор символов, но, естественно, он имеет контрольную сумму, а каждый его символ - свое назначение. Perl распространяется бесплатно, поэтому исходные тексты языка и многие двоичные файлы для использования вне Unix-архитектуры можно получить на одном из серверов сети CPAN (Comprehensive Perl Archive Network) по адресу http://cpan. perl.org.
Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочетает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представляет особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать. dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle. [16]
PHP
PHP (PHP: Препроцессор гипертекста) - крайне популярный сценарный язык общего назначения, и это не смотря на то, что он создавался специально для веб-разработок. В основе своей имеет синтаксис очень похожий на синтаксис C, Java и Perl, однако проще этих языков. Имеет открытый исходный код. PHP сценарии решают все те задачи, которые характерны для типичных CGI-приложений.
Основные области применения этой технологии:
- создание скриптов для выполнения на стороне сервера - это основная задача PHP, и в большей степени PHP используется именно в этом варианте;
- создание скриптов для выполнения в командной строке, например для обработки текстов на локальном компьютере;
- создание оконных приложений, выполняющихся на стороне клиента (здесь надо использовать расширение PHP-GTK), в таком варианте PHP используется крайне редко, однако, если вы хорошо владеете PHP, то почему бы и не использовать его таким образом?
PHP - это кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (например, HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS, и многих других. PHP поддерживает большинство наиболее популярных вебсерверов, таких, как Apache, Microsoft Internet Information Server, Microsoft Personal Web Server, Netscape, iPlanet, Oreilly Website Pro, Caudium, Xitami, OmniHTTPd и другие. Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.
Кроме этого, программируя на PHP, разработчик может отдавать предпочтение как процедурному, так и объектно-ориентированному программированию.
PHP способен генерировать не только HTML документы, но и изображения разных форматов, файлы PDF и Flash. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.
PHP поддерживает работу с ODBC и большое количество баз данных: Adabas D, dBase, Empress, FilePro, Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL, Direct MS-SQL, MySQL, ODBC, Oracle, Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis, Unix dbm, DBX.
Возможно создание PHP сценариев для работы с протоколами LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на платформах Windows), WDDX и многими другими.
PHP включает такие средства обработки текстовой информации как регулярные выражения Perl, POSIX Extended, парсеры документов XML, для которых в PHP 4 используются стандарты SAX и DOM. Возможно преобразование документов XML при помощи расширение XSLT. В PHP 5 обработка XML-документов происходит на базе библиотеки libxml2, а также добавлены два новые расширения: SimpleXML и XMLReader.
Для использования PHP в электронной коммерции имеются функции осуществления платежей Cybercash, CyberMUT, VeriSign Payflow Pro и CCVS.
Кроме этого PHP поддерживает много других расширений, например, таких, как функции поисковой машины mnoGoSearch, функции IRC Gateway, функции для работы со сжатыми файлами (gzip, bz2), функции календарных вычислений, функции перевода и т.п.
Не смотря на то, что эта технология является достаточно простой, но те возможности, которые она дает разработчику, позволяют использовать ее для создания сколь угодно мощных и высокоэффективных веб-приложений. Все это позволяет PHP с легкостью лидировать среди своих достойных конкурентов, постоянно увеличивая отрыв. [17]
Java
Java является объектно-ориентированным языком программирования, разработанным фирмой Sun Microsystems (сокращенно, Sun).
Основные достоинства языка:
- Наибольшая среди всех языков программирования степень переносимости программ;
- Мощные стандартные библиотеки;
- Встроенная поддержка работы в сетях (как локальных, так и Internet/Intranet).
Основные недостатки:
- Низкое, в сравнении с другими языками, быстродействие, повышенные требования к объему оперативной памяти (ОП);
- Большой объем стандартных библиотек и технологий создает сложности в изучении языка;
- Постоянное развитие языка вызывает наличие как устаревших, так и новых средств, имеющих одно и то же функциональное назначение.
Основные особенности:
- Java является полностью объектно-ориентированным языком. Например, C++ тоже является объектно-ориентированным, но в нем есть возможность писать программы не в объектно-ориентированном стиле, а в Java так нельзя;
- Реализован с использованием интерпретации Р-кода (байт-кода). Т.е. программа сначала транслируется в машинонезависимый Р-код, а потом интерпретируется некоторой программой-интерпретатором (виртуальная Java-машина, JVM).
Аплеты являются одной из важных особенностей Java. Java позволяет строить как обычные приложения так и аплеты. Аплет - это небольшая программа, выполняемая браузером (например, на Internet Explorer или Netscape Navigator). Аплет встраивается специальным образом в web-страничку. При подкачке такой странички браузером он выполняется виртуальной Java-машиной самого браузера. Аплеты расширяют возможности формирования web-страниц. [19]
3. Изучение существующих аналогов
3.1 Битрикс Управление сайтом - Модуль веб-аналитики
Модуль веб-аналитики позволяет:
- вести учет статистики в режиме онлайн;
- проводить онлайн-сбор и обсчет статистических данных при открытии каждой страницы посетителем без размещения кнопок, имиджей или JavaScript-кода в теле страницы;
- выделять потоки посетителей в рекламные кампании по определенным критериям;
- анализ рекламных кампаний:
- анализ путей по сайту;
- анализ отрезков путей; отрезки путей представляют собой распределение потока посетителей по ссылкам на странице, начиная от точки входа на сайт;
- анализ посещаемости разделов и страниц;
- анализ точек входа на сайт;
- анализ точек выхода с сайта;
- анализ посещаемости сайта на общем графике по дням с представлением данных: хиты, сессии, посетители, хосты, новые посетители, события, избранное;
- сводная статистика сайта (за сегодня, вчера, позавчера, всего и за период);
- возможность получать сводную статистику по электронной почте в удобное время;
- присвоение каждому пользователю уникального идентификатора, сохранение его в cookie и последующее использование при возвращении пользователя на сайт;
- учет хитов посетителей с записью всех данных хита: URL запроса, ID хита, ID сессии, дата/время, откуда пришел, посетитель, IP-адрес, страна IP, UserAgent, метод (GET/POST), Cookie во время хита;
- учитывать хиты, приведшие к ошибке (404), для поиска ошибочных ссылок в проекте;
- учет сессий посетителей как суммы хитов в рамках одного посещения сайта; учитываются следующие данные: ID сессии, число хитов, рекламная кампания, начало сессии, конец сессии, длительность, посетитель, первый IP адрес, последний IP адрес, страна по IP, откуда пришел, первая страница, последняя страница, UserAgent;
- ведение статистического профайла посетителя;
- онлайн-мониторинг пользователей на сайтах;
- система блокирования доступа посетителей к сайту (стоп-лист) по одному или сумме определенных критериев; посетитель может быть блокирован навсегда или на определенный интервал времени; можно перенаправить пользователя на определенный URL или вывести текстовое сообщение на любом языке;
- анализ ссылающихся сайтов; возможность анализа динамики по дням;
- анализ активности поисковых машин;
- учет встроенного модуля поиска как поисковой машины;
- система автоматического определения поисковиков для пополнения таблицы;
- анализ поисковых фраз, приведших посетителей на сайт: возможность анализа переходов по дням;
- технология регистрации событий на сайте с идентификаторами Event1, Event2, Event3 и стоимость события, например: заполнение формы регистрации на семинар, участие в опросе, загрузка программы, оформление заказа, оплата заказа на определенную сумму и любое другое значимое для анализа событие;
- возможность регистрировать финансовые события на сайте с добавлением или за вычетом стоимости события в любой из валют применительно к рекламной кампании;
- ведение реестра типов событий. Типом события считается уникальная комбинация строковых идентификаторов event1 и event2, которой присваивается номер ID события;
- анализ событий в динамике по дням на графике;
- возможность настройки времени хранения каждого конкретного события;
- анализ конкретных событий;
- загружать события из CSV-файла, используя файлы обработчиков; в стандартной поставке включены файлы обработчики для загрузки финансовых событий с сайтов интернет-дистрибьюторов программного обеспечения: Softkey, Share-it, Element 5, RegNow и RegSoft;
- ручная загрузка финансовых событий с установкой типа события, даты, уникального идентификатора EVENT_GID, суммы и валюты события;
- постоянно обновляемая база IP по странам;
- динамика посещаемости по странам;
- возможность экспорта любых данных из модуля статистики в формате Excel для индивидуального анализа;
- возможностью выбора периода для анализа и других параметров выборки данных с расширенным фильтром;
- технологию эмуляции сессий для пользователей, которые не принимают cookie;
- точный учет загрузок файлов и событий, защита от "накруток";
- контроль активности посетителей сайта позволяет в настройках модуля указать максимальное количество хитов, совершенных посетителем в заданный интервал времени; если количество хитов превышает заданный лимит, то посетителю выдается специальный http-код (503), сообщающий о том, что веб-сервер временно не доступен; данная возможность может быть использована для ограничения активности офлайн-браузеров, грабберов и т.п., создающих критичную нагрузку на сайт. [5]
3.2 Студия веб дизайна АТЛАС - MySTАТ
MySTАТ - развитая система для сбора, просмотра и анализа статистики посещений сайта
Для сбора, просмотра и анализа статистики посещений сайтов, MySITE использует собственную разработку - модуль статистики MySTAT. Эта технология включена в интерфейс системы управления сайтом MySITE, которая используется для создания и управления сайтами. С помощью системы статистки MySTAT администратор сайта или маркетолог компании может:
- спланировать рекламные акции для привлечения на сайт целевой аудитории;
- контролировать ход рекламной кампании и получать подробные отчеты;
- оценивать результаты рекламных кампаний и при необходимости отказаться от невыгодной рекламы;
- вести учет посетителей по дням, с выделением постоянной аудитории сайта;
- анализировать информацию о посещаемости сайта и каждой его страницы;
- вести учет страниц, индексируемых внешними поисковыми системами;
- регистрировать все ссылающиеся сайты, и узнать с каких сайтов пришли посетители;
- фиксировать поисковые фразы внешних поисковых систем, по ссылкам с которых пришли посетители;
- узнавать, что искали посетители сайта с помощью внутренней поисковой системы;
- многое другое.
Функциональные разделы и возможности MySTAT:
- Режим общей информации (отчет о посещаемости, количество хостов и хитов);
Подобные документы
Создание web-сайта для сбора статистических данных, прогнозирования возможностей системы общего образования и анализа демографического состояния региона в динамике. Проектирование базы данных, разработка компонентов, алгоритмов и программного обеспечения.
дипломная работа [3,1 M], добавлен 15.04.2013Этапы проектирования сайта. Реализация двухкомпонентной системы голосования - клиент и датацентр. Создание безопасной системы передачи данных с использованием языков разметки HTML, программирования PHP, скриптов JavaScript, базы данных MySQL и Web-службы.
дипломная работа [2,9 M], добавлен 12.12.2013Порядок сбора данных с помощью программного обеспечения "ПРОЛОГ". Языки программирования VBA и HTML, их характерные особенности. Web-сервера Apache, принцип работы серверной системы. Реализация сбора данных и разработка сайта с показаниями приборов.
дипломная работа [4,4 M], добавлен 24.09.2014Информационные и автоматизированные системы управления технологическими процессами на промышленных предприятиях. Базы данных в автоматизированных системах управления. Системы планирования ресурсов предприятия, сбора и аналитической обработки данных.
контрольная работа [486,7 K], добавлен 29.10.2013Анализ данных предметной области. Информационно-логическая модель базы данных. Физическое проектирование и мероприятия по защите и обеспечению целостности базы данных. Приложение интерфейса для SQL-сервера базы данных на языке программирования Delphi.
курсовая работа [2,2 M], добавлен 30.05.2013Задачи и стадии разработки автоматизированной информационной системы художественной школы. Описание предметной области с помощью бизнес-моделирования, использование диаграмм потоков данных DFD. Спецификация системы, логическая структура базы данных.
курсовая работа [281,9 K], добавлен 12.07.2011Разработка Web-сайта с подключенной к нему базой данных для управления пользователями, их авторизацией и регистрацией. Подключение базы данных к сайту. Использование технологии AJAX. Виды SQL инъекций и способы защиты базы данных от попыток взлома.
дипломная работа [2,9 M], добавлен 13.02.2016Требования к составу и параметрам технических средств. Инфологическая (концептуальная) модель предметной области. Физическая и логическая модель базы данных. Создание структуры БД в СУБД MS ACCESS. Программирование приложения. Описание работы с системой.
курсовая работа [572,2 K], добавлен 17.11.2014Создание системы сбора пространственных и атрибутивных данных как один из важнейших этапов ведения кадастрового учета. Требования к информационной системе, исходная информация по кадастровому учету объектов недвижимости. Необходимые программные средства.
курсовая работа [4,5 M], добавлен 17.07.2013Особенности систем управления базами данных (СУБД): основные понятия, реляционные базы, основные этапы их проектирования. Концептуальная (логическая) модель БД "Экспресс поставки", её физическая модель, создание в Access и SQL запроса к БД при её работе.
курсовая работа [1,2 M], добавлен 19.11.2012