Научная статья на тему 'СИСТЕМА ПОДДЕРЖКИ АВИАПАССАЖИРОВ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ МОНИТОРИНГА ИХ МЕСТОПОЛОЖЕНИЯ'

СИСТЕМА ПОДДЕРЖКИ АВИАПАССАЖИРОВ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ МОНИТОРИНГА ИХ МЕСТОПОЛОЖЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
архитектура приложения / паттерны проектирования / БД SQLite / поддержка авиапассажиров / идентификация / мониторинг местонахождения пассажиров / навигация / application architecture / design patterns / SQLite database / air passenger support / identification / monitoring of passenger location / navigation

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Данил Вячеславович Егжов, Людмила Анатольевна Надейкина, Павел Олегович Терешко

Актуальность и цели. Представлена система мониторинга местоположения авиапассажиров в здании аэропорта, предоставляющая сервис оповещения опаздывающих на посадку, а также предоставляющая эффективный способ скорейшего следование к месту посадки. Материалы и методы. Предлагается карта построенного кратчайшего пути в мобильном приложении. Система также предоставляет возможность навигации по зданию аэропорта. Пассажир фиксирует на карте концевые точки маршрута, получает в приложении выстроенный маршрут. Результаты и выводы. Предлагаемая система обеспечивает повышение качества обслуживания и комфорта пассажиров, а также решение ряда посадочных проблем, что повышает лояльность авиапассажиров.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AIR PASSENGER SUPPORT SYSTEM USING LOCATION MONITORING TECHNOLOGIES

Background. The article presents a system for monitoring the location of air passengers in the airport building, providing a service for notifying those who are late for boarding, as well as providing an effective way to quickly get to the boarding point. Materials and methods. Offering a map of the shortest route built in a mobile application. The system also provides the ability to navigate around the airport building. The passenger records the end points of the route on the map, receives the built route in the application. Results and conclusions. The proposed system improves the quality of service and passenger comfort, as well as solves a number of boarding problems, which increases the loyalty of air passengers.

Текст научной работы на тему «СИСТЕМА ПОДДЕРЖКИ АВИАПАССАЖИРОВ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ МОНИТОРИНГА ИХ МЕСТОПОЛОЖЕНИЯ»

УДК 004.6/.9

doi: 10.21685/2307-4205-2024-3-14

СИСТЕМА ПОДДЕРЖКИ АВИАПАССАЖИРОВ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ МОНИТОРИНГА ИХ МЕСТОПОЛОЖЕНИЯ

Д. В. Егжов1, Л. А. Надейкина2, П. О. Терешко3

1 2 3 Московский государственный технический университет гражданской авиации, Москва, Россия 1 [email protected], 2 [email protected], 3 [email protected]

Аннотация. Актуальность и цели. Представлена система мониторинга местоположения авиапассажиров в здании аэропорта, предоставляющая сервис оповещения опаздывающих на посадку, а также предоставляющая эффективный способ скорейшего следование к месту посадки. Материалы и методы. Предлагается карта построенного кратчайшего пути в мобильном приложении. Система также предоставляет возможность навигации по зданию аэропорта. Пассажир фиксирует на карте концевые точки маршрута, получает в приложении выстроенный маршрут. Результаты и выводы. Предлагаемая система обеспечивает повышение качества обслуживания и комфорта пассажиров, а также решение ряда посадочных проблем, что повышает лояльность авиапассажиров.

Ключевые слова: архитектура приложения, паттерны проектирования, БД SQLite, поддержка авиапассажиров, идентификация, мониторинг местонахождения пассажиров, навигация

Для цитирования: Егжов Д. В., Надейкина Л. А., Терешко П. О. Система поддержки авиапассажиров с использованием технологий мониторинга их местоположения // Надежность и качество сложных систем. 2024. № 3. С. 124-129. doi: 10.21685/2307-4205-2024-3-14

AIR PASSENGER SUPPORT SYSTEM USING LOCATION MONITORING TECHNOLOGIES

D.V. Egzhov1, L.A. Nadeykina2, P.O. Tereshko3

1 2 3 Moscow State Technical University of Civil Aviation, Moscow, Russia 1 [email protected], 2 [email protected], 3 [email protected]

Abstract. Background. The article presents a system for monitoring the location of air passengers in the airport building, providing a service for notifying those who are late for boarding, as well as providing an effective way to quickly get to the boarding point. Materials and methods. Offering a map of the shortest route built in a mobile application. The system also provides the ability to navigate around the airport building. The passenger records the end points of the route on the map, receives the built route in the application. Results and conclusions. The proposed system improves the quality of service and passenger comfort, as well as solves a number of boarding problems, which increases the loyalty of air passengers.

Keywords: application architecture, design patterns, SQLite database, air passenger support, identification, monitoring of passenger location, navigation

For citation: Egzhov D.V., Nadeykina L.A., Tereshko P.O. Air passenger support system using location monitoring technologies. Nadezhnost' i kachestvo slozhnykh sistem = Reliability and quality of complex systems. 2024;(3):124-129. (In Russ.). doi: 10.21685/2307-4205-2024-3-14

Введение

В связи с ежегодным ростом пассажирского трафика повышение качества обслуживания становится одной из первостепенных задач, которые стоят перед современными аэропортами [1]. Пассажиры, прошедшие регистрацию и получившие посадочный талон, проходят в так называемую «чистую зону», в которой находится большое количество магазинов разного назначения, кафе и ресторанов. Порою пассажиры переоценивают временной и физический ресурс и, как результат, опаздывают на посадку. Еще одним недостатком, который особенно ощущается в крупных аэропортах, является отсутствие способа эффективного ориентирования по зданию аэропорта.

© Егжов Д. В., Надейкина Л. А., Терешко П. О., 2024. Контент доступен по лицензии Creative Commons Attribution 4.0 License / This work is licensed under a Creative Commons Attribution 4.0 License.

Для решения описанных выше проблем была разработана система мониторинга местоположения авиапассажиров, предоставляющая сервис оповещения опаздывающих на посадку авиапассажиров, а также предоставляющая эффективный способ скорейшего следования их к месту посадки. В мобильное приложение такого авиапассажира будет поступать соответствующее push-уведомление и карта кратчайшего маршрута до места посадки.

Представленная многопоточная программная система поддержки авиапассажиров Росавиации, предназначенная для одновременной работы с большим числом пассажиров, способна при необходимости масштабироваться. При этом приложение обладает следующими критериями качества: быть надежным, масштабируемым и удобным в сопровождении.

Магазины, кафе и прочие организации зачастую уже используют для своей работы web-приложения, а значит, имеют подготовленную для их разворачивания инфраструктуру. Поэтому оптимальным решением является построение системы на базе web-приложения.

Структура модульной системы на базе фундаментального архитектурного паттерна MVC (Model-View-Controller) представлена на рис. 1 и состоит из внешней и внутренней частей.

Рис. 1. Структурная схема системы оповещения

Модульная архитектура системы обеспечивает удобство внесения изменений и их интеграцию в компоненты системы либо полную их замены в случае необходимости.

К внешнему сегменту системы относится информационная система аэропорта.

К внутреннему сегменту относятся web-сервер, сервер базы данных, модули сбора данных, оповещения и интерфейс клиентского мобильного приложения.

Web-сервер выполняет роль связующего звена системы [2]. Он опрашивает модуль сбора данных, получая новые данные о посетителе заведения, записывает их в базу данных. Модуль оповещений извлекает данные о пассажире в нужном формате через Web-сервер из базы данных для даль-

нейшей обработки. Web-сервер запрашивает у модуля оповещения информацию: кому из опаздывающих пассажиров нужно направить в мобильное приложение оповещение и при необходимости маршрут до места посадки.

Система оповещения обладает следующим функционалом:

- фиксация местоположения авиапассажира, извлечение данных о рейсе, времени и терминале посадки, определение резерва времени и вероятности опоздания на посадку;

- отправление оповещения в мобильное приложение пассажира о необходимости следовать на посадку и предоставление карты кротчайшего маршрута;

- построение маршрутов на карте аэропорта.

Приложение включает представленные ниже функциональные модули.

Модуль обработки сканирования

Назначение - обработка поступающих сведений от сканера и отправка их в базу данных. Модуль написан на языке программирования Python.

Обеспечивает связь со сканером, обработку данных сканирования посадочного талона, фиксацию координат точки локации авиапассажира и терминала вылета, данные о пассажире, а также идентификатор рейса, которым данный пассажир летит, проводит верификацию данных с помощью запроса к внешней информационной системе аэропорта. Также осуществляет обработку данных к нужному формату и отправку данных в базу данных. В самой базе данных запись о каждом пассажире, зарегистрированном на рейс, содержит сведения о точке последнего сканирования, благодаря этому определяется местоположение авиапассажира. При получении новых данных от модуля обработки сканирования сведения о точке последнего сканирования обновляются.

База данных

Назначение - хранение, прием на хранение и предоставление данных по запросам.

Так как итогом работы будет являться система, с которой будет взаимодействовать большое количество пользователей, для хранения всех данных было решено использовать базу данных. Логическая модель базы данных представлена на рис. 2, включающая следующие таблицы: рейсы, аэропорты вылета/прилета, города и страны вылета/прилета, наполнение которых очевидно.

Таблица «посадочные талоны» хранит информацию о посадочных талонах, зарегистрированных в приложении пассажиров, такую как номер рейса, точка последнего сканирования.

Таблица «пассажиры» хранит информацию о пассажирах, зарегистрированных в приложении.

Таблица «точки маршрута» хранит информацию о списке точек местоположений авиапассажира в предпосадочной зоне.

Таблица «маршруты» - сведения, необходимые для генерации маршрута из точки А в точку В.

Рис. 2. Логическая модель базы данных

После создания логической модели база данных была реализована с использованием СУБД SQLite. Выбор был обусловлен мультиплатформенностью, а также небольшой загруженностью данной системы управления базами данных, при этом отвечающей всем нужным требованиям создаваемой системы. SQLite эффективно работает c Python, так как его библиотеки позволяют с легкостью работать с созданной базой данных напрямую из кода, без задействования менеджеров СУБД и каких-либо других средств.

Модуль оповещений

Основной модуль системы. Назначения:

- проверка необходимости отправки уведомлений;

- формирование запросов к базе данных;

- запрос данных из внешней информационной системы аэропорта;

- обработка данных, поступающих от мобильного приложения;

- передача данных в приложение.

Для реализации данного модуля применялся язык программирования Python.

Для проверки необходимости вывода уведомления реализуется поведенческий паттерн проектирования «Наблюдатель» [3]. Паттерн «Наблюдатель» определяет зависимость между объектами «один-ко-многим» так, что при изменении состояния одного объекта все зависящие от него объекты уведомляются и обновляются автоматически.

В нашем случае наблюдатель подписывается на уведомления от источников событий и реагирует на изменения состояния в этих источниках. Когда состояние источника изменяется, наблюдатель получает уведомление и выполняет какие-то действия в соответствии с изменением. Обрабатывается следующее событие.

Событие - обнаружен опаздывающий пассажир. Источником события является модуль оповещений. Наблюдателем - мобильное приложение. Модуль оповещений получает от мобильного приложения текущее время, от базы данных время отправления рейса, а также расстояние от местоположения пассажира до нужного выхода на посадку. Затем производит вычисление критического времени, когда надо отправлять оповещение. Оно определяется как частное от деления расстояния от местоположения пассажира на среднюю скорость ходьбы здорового человека в произвольном темпе, равную 1,43 м/с, согласно расчетам, проведенным в статье [4]. Если разница между текущим временем и временем отправки рейса равна критическому, пользователю отправляется уведомление о необходимости срочно проследовать к выходу на посадку.

Событие - пассажир прошел через выход на посадку. Источником события является модуль обработки сканирования. Наблюдателем - данный модуль оповещений. При проходе через выход на посадку пассажир сканирует свой посадочный талон, модуль обработки сканирования определяет точку сканирования как выход на посадку и уведомляет об этом модуль оповещений. Модуль оповещений со своей стороны удаляет все записи о пассажире из базы данных и завершает сеанс наблюдения за пассажиром.

Для работы системы необходимы предоставляемые аэропортом данные, такие как: сведения о рейсах и списки зарегистрированных на них пассажиров, которые выполнили авторизацию в нашем приложении, сведения об публичных объектах аэропорта, карта-схема доступной посетителям части аэропорта. Получаемые из внешней системы сведения проходят обработку, после чего помещаются в базу данных.

Кроме того, при поступлении запроса о предоставлении данных от мобильного приложения модуль запрашивает необходимые данные из базы данных, затем преобразует в необходимый формат, формирует json-файл и направляет его мобильному приложению как ответ на запрос.

Мобильный интерфейс пользователя

Мобильный интерфейс пользователя выполнен в виде мобильного приложения, написанного на языке Python с использованием одного из самых популярных фреймворков для мобильной разработки на языке Python - Kivy [5]. Служит для взаимодействия авиапассажира с разработанной системой.

В момент регистрации в мобильном приложении пассажир выражает свое согласие на обработку его персональных данных системой оповещения с момента входа в систему до отправки рейса. При авторизации производится сканирование посадочного талона.

Далее приложение отправляет запрос данных о пользователе и рейсе, после получения которых выполняется вход и данные отображаются на главном экране мобильного приложения.

Как только модуль оповещения определил, что пассажир опаздывает, пассажиру посылается соответствующее push-уведомление, в котором также предлагается отобразить маршрут следования к выходу на посадку.

Вместе с этим в приложении имеется карта аэропорта. Кроме основного сервиса, приложение предоставляет возможность проложить маршрут между любыми двумя точками доступной зоны аэропорта. Для этого пользователю требуется перейти в предназначенное для этого окно и, используя предложенную карту аэропорта, зафиксировать на карте две точки - начало и конец маршрута. В этот момент срабатывает паттерн «Наблюдатель», реализованный также и в мобильном приложении, событием для которого является ввод точек начала и конца маршрута, ответом «Наблюдателя» является прорисовка маршрута и отображение его на карте.

Для реализации модулей использовалось следующее программное обеспечение:

- Visual Studio Code (VS Code) - редактор исходного кода, разработанный компанией Microsoft для Windows, Linux и macOS. Включает в себя отладчик, инструменты для работы с Git, подсветку синтаксиса, IntelliSense и средства для рефакторинга;

- SQLiteStudio - свободный мультиплатформенный русскоязычный менеджер для систем управления базами данных SQLite с открытым исходным кодом.

Также использовались следующие технологии:

- Kivy - мультиплатформенный фреймворк с открытым исходным кодом для разработки приложений на языке Python. Используется для создания сложных многофункциональных мобильных и десктопных приложений с технологией мультитач, которая позволяет сенсорной панели или сенсорному экрану распознавать более одной точек соприкосновения с поверхностью или с естественным пользовательским интерфейсом, который не активен до взаимодействия с пользователем;

- JSON (JavaScript Object Notation) - стандартный текстовый формат для хранения и передачи структурированных данных. Он основан на синтаксисе объекта в JavaScript, но не привязан к нему.

Заключение

Разработана система, предоставляющая услугу оповещения авиапассажиров, опаздывающих на рейс, результатом внедрения которой должно быть повышение качества обслуживания и комфорта пассажиров, а также решение ряда посадочных проблем, что должно повысить лояльность авиапассажиров.

Основные функции системы:

1) фиксация местоположения авиапассажира, определение резерва времени до посадки и вероятности опоздания;

2) отправление оповещения в мобильное приложение пассажира о необходимости следовать на посадку и предоставление ему карты кратчайшего маршрута;

3) построение кратчайших маршрутов на карте для более эффективного передвижения по зданию аэропорта.

Преимуществом системы является используемая при проектировании системы плагинная архитектура [3], которая дает возможность изменения старых модулей и подключения новых модулей, не меняя существенно остальные модули системы.

Наравне с этим преимуществом системы является ее автоматизированная работа без задействования больших людских ресурсов и наличие мобильного приложения для удобства пользователей.

Целесообразно интегрировать в приложение модуль биометрического контроля выхода на посадку: возможность выхода на посадку с электронным посадочном талоном с дескриптором лица. На пассажира будет затрачиваться не более 1-2 с.

Список литературы

1. Большие данные в большой гражданской авиации: обзор мировых и российских трендов. URL: https://integral-russia.ru/2020/12/09/bolshie-dannye-v-bolshoj-grazhdanskoj-aviatsii-obzor-mirovyh-i-rossijskih-dostizhenij/_(дата обращения: 19.02.2024).

2. Шалин К. А., Черноверская В. В. Разработка принципиальной схемы и конструирование высоконадежного сервера // Труды Международного симпозиума Надежность и качество. 2021. Т. 1. С. 264-266.

3. Надейкина Л. А., Черкасова Н. И. Использование архитектурных паттернов и функциональной декомпозиции для повышения качества и надежности программного обеспечения // Труды Международного симпозиума Надежность и качество. 2016. Т. 1. С. 148-151.

4. Витензон А. С. Зависимость биомеханических параметров от скорости ходьбы // Протезирование и проте-зостроение. М. : ЦНИИПП, 1974. С. 53-65

5. Основы Kivy. URL: https://kivy.org/doc/stable/guide/basic.html/_(дата обращения: 12.03.2024)

References

1. Bol'shie dannye v bol'shoy grazhdanskoy aviatsii: obzor mirovykh i rossiyskikh trendov = Big Data in Big Civil aviation: an overview of global and Russian trends. (In Russ.). Available at: https://integral-russia.ru/2020/12/09/bolshie-dannye-v-bolshoj-grazhdanskoj-aviatsii-obzor-mirovyh-i-rossijskih-dostizhenij/ (accessed 19.02.2024).

2. Shalin K.A., Chernoverskaya V.V. Development of a schematic diagram and design of a high-performance server.

Trudy Mezhdunarodnogo simpoziuma Nadezhnost' i kachestvo = Proceedings of the International Symposium Reliability and Quality. 2021;1:264-266. (In Russ.)

3. Nadeykina L.A., Cherkasova N.I. The use of architectural patterns and functional decomposition to improve the quality and reliability of software. Trudy Mezhdunarodnogo simpoziuma Nadezhnost' i kachestvo = Proceedings of the International Symposium Reliability and Quality. 2016;1:148-151. (In Russ.)

4. Vitenzon A.S. Dependence of biomechanical parameters on walking speed. Protezirovanie i protezostroenie = Prosthetics and prosthetics. Moscow: TsNIIPP, 1974:53-65. (In Russ.)

5. Osnovy Kivy = The basics of Kiwi. (In Russ.). Available at: https://kivy.org/doc/stable/guide/basic.html/ (accessed 12.03.2024)

Информация об авторах / Information about the authors

Данил Вячеславович Егжов

студент,

Московский государственный технический университет гражданской авиации (Россия, г. Москва, Кронштадтский б-р, 20) E-mail: [email protected]

Людмила Анатольевна Надейкина

кандидат физико-математических наук, доцент, доцент кафедры вычислительных машин, комплексов, систем и сетей, Московский государственный технический университет гражданской авиации (Россия, г. Москва, Кронштадтский б-р, 20) E-mail: [email protected]

Павел Олегович Терешко

студент,

Московский государственный технический университет гражданской авиации (Россия, г. Москва, Кронштадтский б-р, 20) E-mail: [email protected]

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Danil V. Egzhov

Student,

Moscow State Technical

University of Civil Aviation

(20 Kronshtadtskiy boulevard, Moscow, Russia)

Ludmila A. Nadeikina

Candidate of physical and mathematical sciences,

associate professor, associate professor

of the sub-department of computers,

complexes, systems and networks,

Moscow State Technical

University of Civil Aviation

(20 Kronshtadtskiy boulevard, Moscow, Russia)

Pavel O. Tereshko

Student,

Moscow State Technical

University of Civil Aviation

(20 Kronshtadtskiy boulevard, Moscow, Russia)

Авторы заявляют об отсутствии конфликта интересов / The authors declare no conflicts of interests. Поступила в редакцию/Received 17.06.2024 Поступила после рецензирования/Revised 18.07.2024 Принята к публикации/Accepted 30.08.2024

i Надоели баннеры? Вы всегда можете отключить рекламу.