|
Предоставление точной информации о возможности проезда между двумя пунктами
является необходимым условием качественного обслуживания пассажира. Чем меньше
время пассажира в пути, тем выгоднее для него и тем выше эффективность
пассажирских перевозок.
По мере развития и усложнения транспортной сети пассажирам становится все
труднее ориентироваться в море справочной информации. На помощь приходят
информационные системы, которые дают справку о возможности проезда, наличии
мест. Однако уровень справочно-информационного обслуживания пассажиров еще далек
от совершенства. Так, отсутствует возможность поиска маршрута при поездках с
пересадкой на различных видах наземного транспорта. Даже в рамках отдельных
видов транспорта подобная справочная услуга не оказывается. Не имея информации о
возможных вариантах проезда, пассажиры ограничены в выборе своего маршрута по
времени и стоимости.
Для примера рассмотрим возможности глобальной системы бронирования мест
«Экспресс». Фактически она не предоставляет возможность поиска маршрута с
пересадкой. Так, если пассажир хочет проехать поездом из Калининграда во
Владивосток, то система сообщает кассиру «Прямое сообщение отсутствует.
Подготовьте ответ вручную». Пассажир, обратившийся к помощи справочных
терминалов на железнодорожном вокзале, получает тот же ответ: «Нет прямого
сообщения. Попробуйте подготовить маршрут проезда, воспользовавшись атласом
железных дорог».
Если прямое сообщение существует, но на прямые маршруты билетов нет, то
«Экспресс» выдает ответ: «Билетов нет», - и пассажир не имеет возможности
добраться в пункт назначения.
Еще более сложная задача - поиск интермодального (на нескольких видах
транспорта) маршрута. В нашей стране есть регионы, не имеющие железнодорожного
сообщения. Перед пассажиром, следующим из подобного региона в другой, неизбежно
встает задача поиска возможного маршрута.
Кроме глобальных информационных систем существуют отдельные справочные системы в
транспортных узлах, предоставляющие информацию об отдельных видах транспорта
города или региона. Некоторые из этих систем имеют сайты в Интернете с регулярно
обновляемой информацией о маршрутах. Несмотря на огромное число Интернет-сайтов,
предоставляющих справочную информацию о расписаниях, все они являются либо
точками доступа к системе «Экспресс» (и аналогичным), либо имеют в своей основе
несложные базы данных, не способные решить задачу поиска пассажирского маршрута.
Для решения рассматриваемой задачи разработана справочная система «Поиск
пассажирского маршрута на разных видах транспорта, учитывающий пересадки и
наличие свободных мест». Демонстрационная бета-версия системы сейчас доступна в
виде справочного интернет-сайта по адресу
http://transport.marshruty.ru. Это на
сегодняшний день единственная в России справочная система, дающая ответ на
вопрос, как проехать из Калининграда во Владивосток в определенную дату и с
учетом наличия мест.
| Пример схемы
прокладки маршрута с пунктами пересадки |
 |
Интерактивная схема
маршрутов с Казанского вокзала Москвы
Увеличить |
 |
В настоящее время в системе содержится актуальная информация о расписаниях всех
поездов дальнего следования и междугородных автобусов в нескольких регионах
России. Также в демонстрационных целях в нее введены неактуальные расписания
электропоездов Московской области. Сервис позволяет находить маршрут с
пересадкой между различными видами транспорта, маршрут с несколькими
пересадками, учитывает наличие мест.
Отличительной особенностью системы является привязка транспортных узлов к
географическим координатам. Это обеспечивает работу оригинального алгоритма
поиска пути и позволяет быстро и качественно находить возможные точки пересадки.
Система интегрирована с картографическим сервисом Google Maps, благодаря чему
маршруты движения поездов и найденные варианты проезда отображаются на
интерактивной карте.
В основе доступного пользователям интернет-сайта
http://transport.marshruty.ru
лежит сложный программный комплекс, состоящий из нескольких модулей.
В их числе: специализированная база данных, хранящая информацию о транспортных
узлах и расписаниях движения различных видов транспорта; программы подготовки
данных для справочной системы; программа online-взаимодействия с системами
бронирования для получения актуальной информации о наличии мест. Ядро поискового
сервиса - программа с реализацией алгоритмов поиска. Интерфейсом доступа к ядру
справочной системы служит интернет-сайт.
Специализированная база данных - основное хранилище информации для справочной
системы. Она содержит таблицы для хранения данных и реализации базовых
алгоритмов. В отличие от простых моделей хранения информации о расписаниях
движения транспорта, структура базы данных поддерживает хранение и
структурирование информации для различных видов транспорта, различающихся по
способу организации расписаний. Другим важнейшим отличием от баз данных
расписаний является хранение в ней географической информации о расположении
транспортных узлов. Как показал опыт, наличие географических данных необходимо
для корректного и быстрого поиска сложного маршрута.
На уровне базы данных выполнена реализация важнейшего алгоритма справочной
системы - поиска возможных маршрутов проезда. Он работает, анализируя данные
расписаний и координаты географических объектов.
Программы подготовки данных справочной системы - это комплекс программ первичной
обработки и импорта. Они служат для введения начальной информации в систему. В
системе интеграции разнородных видов транспорта данные поступают из множества
источников разными способами и в разной форме. Например, данные могут поступать
в реальном времени по специальному протоколу через выделенный информационный
канал. Либо данные могут периодически выкладываться в виде файлов на специальный
сервер, и система должна самостоятельно их скачивать. Форматы файлов также могут
быть различны: текстовые и табличные файлы или xml.
Задача программного комплекса - проанализировать полученные данные на наличие
ошибок и, связав расписания с соответствующими географическими объектами,
сохранить на сервере.
К сожалению, в любых данных бывают ошибки. Характерной ошибкой в данном случае
являются неверные названия транспортных узлов. К примеру, на железнодорожном
вокзале и расположенном по соседству с ним автовокзале один и тот же
географический пункт может иметь разные названия. В таких случаях нельзя
обойтись без оператора программы - человека, контролирующего ход загрузки
данных. Когда находятся неоднозначности в данных, программа обращается к
человеку и просит уточнить данные. После этого выбор запоминается и в
последующем эта неоднозначность устраняется автоматически.
В результате работы программного комплекса база данных получает начальное
наполнение. Но этого недостаточно для предоставления актуальной информации. Этим
занимается третий модуль - программа online-взаимодействия с системами
бронирования и продажи билетов. Модуль обращается во внешние системы в реальном
времени и уточняет требуемую информацию.
В связи с быстрыми изменениями данных о наличии мест хранить информацию в
системе не представляется возможным. Попытка централизовать такие данные
технически нереализуема, так как потребовала бы такое же количество хранилищ
данных, как у всех внешних систем вместе взятых.
С точки зрения внешних систем программа online-взаимодействия является клиентом,
запрашивающим информацию о наличии мест и обновления в расписаниях. Конкретная
реализация взаимодействия зависит от вида источника. Для системы «Экспресс» это
эмулятор терминала, работающий в режиме справочного доступа. Для других внешних
систем это может быть специализированный интернет-клиент.
С точки зрения справочной системы программа online-взаимодействия - это
отдельный сервер, которому передаются запросы от поискового модуля (а модулю -
от пользователей). Запросы выстраиваются в очередь в зависимости от приоритета и
времени поступления и отправляются во внешние справочные системы.
Модуль позволяет автоматически поддерживать актуальность информации на важнейшие
направления, например Москва - Санкт-Петербург. При этом полученная информация
хранится в системе в течение некоторого времени и не загружает внешние системы
при повторении запроса.
Ядро поискового сервиса - это многоуровневый программный модуль, который
взаимодействует с базой данных и online-сервисом, с одной стороны, и с
пользователем (через интернет-сайт) - с другой. При получении запроса о
возможности проезда между пунктами А и Б модуль проводит первичный анализ данных
и параметров запроса. Если недавно делался подобный запуск, то уже на этом шаге
можно вернуть клиенту ответ. Если параметры запроса корректны, то модуль
обращается к алгоритму поиска маршрутов, реализованному в базе данных. Алгоритм
проводит первичный поиск возможных маршрутов с учетом расписаний и возвращает
модулю несколько возможных маршрутов проезда.
Второй этап - комплексный анализ найденных путей следования. На этом этапе
проверяются дни курсирования, подсчитывается статистика для каждого найденного
пути, определяется оптимальный вариант проезда. Если учет дней курсирования
показал, что поезд в заданную дату не идет, то модуль повторно обращается к
алгоритму базы данных и запрашивает альтернативные варианты проезда. На
последнем этапе модуль отправляет запросы о наличии мест серверу
online-взаимодействия. Запросы ставятся в очередь, и модуль ждет получения
информации от внешних систем. После этого результаты поиска окончательно
проверяются и передаются клиенту (интернет-сайту).
Внешний видимый пользователям модуль - это справочный интернет-сайт
http://transport.marshruty.ru. На нем можно сформировать справочный запрос о
возможности проезда между пунктами А и Б. Можно указать дату поездки и тип
свободных мест, которые следует учитывать при поиске. Так, если пользователь не
может себе позволить проезд в вагонах категории «люкс», то он может это явно
указать, и дорогостоящие варианты проезда будут исключены из результатов поиска.
Можно указывать как название транспортного узла (станции), так и название
города. Например, город Екатеринбург (станция Свердловск). Если пользователь
указывает город, то поиск проводится со всех железнодорожных и автовокзалов
города; если он указывает конкретную станцию, то только с указанной станции.
Благодаря интеграции сайта с картографическим сервисом Google Maps пользователь
получает не только справку о расписании и наличии мест, но и визуальное
представление маршрута поездки на интерактивной карте. На карте отображаются
альтернативные варианты проезда, «кликнув» на которые можно получить информацию
о варианте проезда по выбранному маршруту.
|