
УДК 004.414.28
Кожуханцева Ирина Валентиновна
студент группы ИС-06
Научный руководитель: Стучилин Владимир Валерьевич
доц., к.т.н.
Московский государственный горный университет
Разработка парсера расписания железнодорожных поездов
DESIGN OF SURBURBAN TRAINS SCHEDULE PARSER
Введение
Информационный терминал, или информационный киоск, стал необходимым атрибутом современного бизнеса. Он представляет собой устройство, оснащенное дисплеем с сенсорным экраном и специализированным компьютером. Такой киоск дает возможность потенциальному клиенту ознакомиться с продукцией или услугами компании, найти ответы на интересующие вопросы. Информация, предоставляемая информационным терминалом, является достоверной и актуальной. Простая, разумно организованная база данных, настроенная под специфику учреждения, облегчает работу пользователя и делает ее удобной.
Устанавливаются терминалы там, где посетитель может быстро и удобным для него способом получить необходимую информацию. Станции пригородных поездов – это место с большим потоком пассажиров, нуждающихся в своевременном осведомлении о расписании. На данный момент централизованный источник данных, предоставляющий такую информацию быстро и удобным для пассажиров способом, отсутствует. Информационные киоски могут стать решением данной проблемы и оперативно снабжать посетителей станций пригородного сообщения требуемой информацией.
Целью данной работы является автоматизированное получение актуального расписания железнодорожных поездов для использования в информационных киосках.
В задачи проекта входят:
Выбор технологии получения актуальной информации.
Разработка алгоритмов для получения информации.
Разработка структуры базы данных.
Создание и апробация программного обеспечения.
Структура информационной системы
В структуре информационной системы, представленной на рис. 1, отправной точкой является источник информации, необходимый для наполнения содержания системы. Здесь он представлен Интернет-ресурсом «Яндекс. Расписания».
Такой выбор обусловлен тем, что данный ресурс отвечает всем заданным критериям, а именно:
информативности;
актуальности;
возможности и простоты работы с кодом страницы.
Рис. 1. Структура информационной системы.
«Яндекс. Расписания» являются лидером в рейтинге служб по предоставлению информации такого рода, потому что обладают доступным и удобным интерфейсом и ссылаются на официальные источники, в числе которых ОАО «Центральная пригородная пассажирская компания» [6]. В силу последнего факта этот ресурс обновляется минимум раз в день, в нем всегда учтены все последние изменения в расписании пригородных поездов.
С точки зрения программирования «Яндекс. Расписания» также подходят для данного программного обеспечения, так как код страниц сайта хорошо структурирован, что облегчает задачу извлечения из них нужной информации.
Для универсализации проекта планируется прибегнуть к услугам альтернативного источника данных, который будет подстраховывать информационную систему в случае сбоев работы основного ресурса.
Следующим звеном, на котором и будет работать парсер расписания, является выделенный сервер установленный в дата-центре провайдера (collocation).
Collocation – это физический хостинг, предполагающий установку сервера на техническом узле интернет-провайдера. Под хостингом подразумевается обособленное технически оборудованное помещение с гарантированными условиями хранения данных (бесперебойное электропитание, температурный режим, охрана, системы пожарной безопасности и так далее) [4]. Его преимущества:
предоставляется полная свобода выбора программного и аппаратного обеспечения;
объем свободного пространства ограничивается только техническими характеристиками сервера.
Такой вид хостинга очень удобен для ресурсов с большим трафиком, так как скорость обмена данных при установке сервера на техническом узле ощутимо увеличивается [5]. Альтернативой выделенному серверу является виртуальный хостинг, подразумевающий размещение виртуального Web-сервера на территории интернет-провайдера, чьи ресурсы разделяются им с другими виртуальными серверами. Но такое разделение неизбежно ведет к снижению скорости работы системы, установленной на виртуальном сервере, и при этом его владелец ограничен программными ресурсами, предоставляемыми провайдером.
На физическом сервере будут установлены два программных: Web-сервер и БД-сервер.
Парсер расписания будет функционировать на Web-сервере Apache. Apache HTTP-сервер (от англ. a patchy server) – свободный Web-сервер. Apache является кроссплатформенным программным обеспечением, т.е. поддерживает множество операционных систем: Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей [10].
После получения данных будет осуществляться связь с сервером баз данных MySQL для занесения в него полученной информации.
MySQL – это свободная система управления базами данных (СУБД). Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц.
Главное достоинство MySQL состоит в том, что она распространяется бесплатно [1].
Последней частью информационной системы, с которой непосредственно взаимодействуют пользователи, являются информационные терминалы (информационные киоски). Сформированная парсером информация из базы данных передается на них при помощи специального программного обеспечения (в данной статье не рассматривается).