
Структура программного обеспечения сервера
Программное обеспечение сервера состоит из следующих модулей:
Модуль работы с базой данных;
Модуль работы с удаленным сервером;
Модуль администрирования парсера (служит для редактирования полученной информации, задания графика ее обновления и т.д.);
Модуль работы с информационным киоском.
Модуль работы с базой данной предназначен для установления соединения с БД-сервером, аутентификации пользователя и перехода на нужную кодировку. Его алгоритм представлен на рис. 2.
Модуль работы с удаленным сервером является ключевой частью парсера расписания и предназначен для соединения с источником информации, извлечения данных оттуда, преобразования данных в требуемую форму и последующее занесение этих данных в базу. Также эта подпрограмма дает возможность отследить время выполнения скрипта. Алгоритм этого модуля представлен на рис. 3.
Рис. 2. Алгоритм модуля работы с базой данных.
Модуль администрирования парсера служит для редактирования базы данных.
Модуль работы с информационным киоском предназначен для передачи данных из базы на терминал в удобном для конечного пользователя виде и не является частью данного проекта.
Структура базы данных
При работе парсера расписания происходит частое обращения к базе данных как для добавления туда информации, так и для извлечения. При таком режиме работы лучше всего подходит тип таблиц MyISAM СУБД MySQL (без поддержки транзакций).
Рис.3. Алгоритм модуля работы с удаленным сервером.
В связи с тем, что вся информация, содержащаяся в базе данных, будет на русском языке, а кодировка источника информации, utf-8, не всегда воспринимается операционной системой Windows корректно, в качестве кодировки таблиц выбрана cp1251_general_ci.
База данных состоит из двух таблиц:
Таблица «Stations».
Таблица «Schedule».
Таблица «Stations» содержит вспомогательную информацию, требующуюся для генерации запросов к сайту-источнику данных, ее структура представлена на рис. 4.
Все поля представлены типом varchar с обозначением длины, так как хранят в себе текстовую информацию разного объема.
Таблица «Schedule» cодержит полученные данные в требуемой форме и имеет структуру, показанную на рис. 5.
Пример выполнения программы
После генерации скрипта модуля работы с удаленным сервером, в который включен программно модуль работы с базой данных, получаем заполненные таблицы, представленные на рис. 6, 7.
Заключение
В результате проделанной работы были решены следующие задачи:
Выбрана технология парсера;
Разработаны алгоритмы программы;
Разработана структура базы данных;
Написан программный код;
Проведена апробация программы.
Результаты работы будут использованы для разработки методов, библиотек и функций универсального парсера.
Литература
Лозовюк А. Утилиты администраторы сервера MySQL. – [Электронный источник] – режим доступа: http://hostinfo.ru/articles/361/
Сергеев А.П. HTML и XML. Профессиональная работа. – М.: Диалектика, 2004. – 880 с. – ISBN 5-8459-0676-8
Транский А. Основы PHP. – [Электронный источник] – режим доступа: http://www.php.su/php/
Независимая глава «Классификация и выбор хостинга» (из некоммерческого учебника по CMS/CMF Drupal). – проект drupal.bz, 2008. – С. 96.
Отличия Colocation от других видов хостинга. – [Электронный источник] – режим доступа: http://colocat.ru/texts/colocation.html
Партнеры сервиса «Яндекс.Расписания». – [Электронный источник] – режим доступа: http://rasp.yandex.ru/info/partners
Регулярные выражения. – [Электронный источник] – режим доступа: ttp://www.phpfaq.ru/regexp
Что такое «Парсинг(Parsing)»? – [Электронный источник] – режим доступа: http://westseo.ru/article/parsing/
Тидвел Д. XML-программирование в технологии Java. – [Электронный источник] – режим доступа: http://www.ibm.com/developerworks/xml/tutorials/xmljava/
Хокинс С. Администрирование веб-сервера Apache и руководство по электронной коммерции. – М.: Вильямс, 2001. – 336 с. – ISBN 0-13-089873-2.