Тип работы:
Предмет:
Язык работы:


Разработка алгоритма поиска дешевых маршрутов для систем бронирования авиабилетов

Работа №58728

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы44
Год сдачи2017
Стоимость4750 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
199
Не подходит работа?

Узнай цену на написание


СОДЕРЖАНИЕ 2
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 3
ВВЕДЕНИЕ 4
Глава 1. ВЫБОР СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 6
1.1 Реляционная СУБД PostgreSQL 8
1.2 Документо-ориентированная СУБД MongoDB 9
1.3 Г рафовая СУБД Neo4j 11
1.4 Сравнение производительности выбранных СУБД 12
1.5 Анализ результатов 16
Глава 2. СТРУКТУРА РАЗРАБАТЫВАЕМОГО СЕРВИСА 19
2.1 Архитектура приложения 19
2.2 Структура базы данных 21
Глава 3. РАЗРАБОТКА ПРОГРАММНОЙ ЧАСТИ ПРИЛОЖЕНИЯ 23
3.1 Слой DAO 23
3.1.1 JCypherRepository 24
3.1.2 Neo4jDriverRepository 27
3.2 Наполнение базы данных 29
3.3 Поиск авиарейсов 31
3.3.1 Написание запроса Cypher 32
3.3.2 Разработка репозитория 34
3.4 Разработка публичного API 39
ЗАКЛЮЧЕНИЕ 43
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 44


В настоящее время большая часть повседневных процессов автоматизирована. Хорошим примером подобной автоматизации являются системы онлайн бронирования авиаперелетов. Они помогают клиентам искать авиарейсы, указав лишь желаемые даты для путешествия, при этом оставляя за собой выбор авиакомпании, основываясь на протяженности перелета, количестве пересадок и цене билетов.
Основной проблемой подобных сервисов является тот факт, что у них нет прямого доступа к списку всех авиарейсов. Эти данные хранятся у трех крупных мировых компаний. Большинство российских предприятий для получения информации об авиарейсах используют сервис SabreSonic . Каждое обращение к данному сервису авиакомпании оплачивают по заданным тарифам, что, впоследствии, приводит к образованию наценок на авиабилеты.
Решение проблемы дорогостоящего поиска авиарейсов с увеличением скорости поиска для авиакомпаний, предоставляющих подобные услуги для пользователей, представляет собой актуальную задачу.
Следовательно, для того, чтобы создать систему быстрого, но в то же время недорогого поиска авиарейсов, необходимо разработать подход, существенно сокращающий количество обращений к SabreSonic, сохраняя при этом высокие показатели скорости поиска.
Целью дипломной работы является разработка сервиса для поиска авиарейсов, использующего подходы в хранении и получении информации отличные от тех, что используются в современных авиакомпаниях.
Поиск авиарейсов должен производиться по максимально доступному количеству параметров без утяжеления запросов к базе данных.
Разрабатываемый сервис должен предоставлять возможность для доступа через программный интерфейс для легкого внедрения в уже разработанные сайты и мобильные приложения,
На текущий момент не существует общедоступных сервисов, однозначно решающих данную проблему. Авиакомпании разрабатывают подобные сервисы самостоятельно и не предусматривают их продажи сторонним компаниям, т.к. это прямым образом влияет на прибыльность предприятия.
Для достижения цели были решены следующие задачи:
1. Выбор максимально эффективной СУБД для использования в проекте для поиска авиарейсов.
2. Разработка наиболее выгодного алгоритма для процедур получения информации об авиарейсах и последующего поиска маршрутов.
3. Создание публичного АР1для взаимодействия с разработанным сервисом сторонними клиентами.
В первой главе данной дипломной работе описана процедура выбора СУБД для разрабатываемого приложения. Производится сравнение реляционных, документо-ориентированных и графовых систем управления базами данных с последующим анализом производительности систем в контексте поставленной задачи.
Во второй главе автор описывает архитектуру разрабатываемого приложения. Обсуждается порядок взаимодействия компонентов системы, а так же структура сущностей выбранной СУБД для последующей манипуляции с данными.
В третьей главе дипломной работы описывается программная часть приложения. Автор описывает основные моменты реализации каждого из компонентов системы, а так же настройку их взаимодействия.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В дипломной работе рассмотрена важная проблема большинства авиакомпаний - дорогостоящая поддержка систем поиска авиарейсов. Решение данной проблемы нацелено в первую очередь на помощь авиакомпаниям, однако высокая скорость поиска важна также и для пользователей систем подобного класса.
Результатом работы является готовый к использованию сервис, который отвечает следующим требованиям:
1. Возможность поиска авиарейсов по широкому спектру параметров.
2. Поддержание высокой скорости поиска
3. Уменьшение количества обращений к Sabre
4. Возможность работы при отказе систем Sabre
Использованное решение существенно сокращает количество обращений к базам данных SabreSonic, что позволяет авиакомпании уменьшить затраты на обслуживание систем поиска авиарейсов.
Использование графовой БД дало сильный прирост к скорости выборки данных по сравнению с реляционными базами данных, в то же время сохраняя простоту разработки и поддержки программных средств для доступа к БД.
Описанное решение протестировано на тестовых данных авиакомпании и сейчас находится на стадии внедрения в существующие механизмы поиска.
В данной работе были использованы передовые технологии открытого стека Java: Spring Framework, Neo4j, Quartz, JAX-WS, Apache CXF, Tomcat 8. Данные технологии обеспечивают кроссплатформенную совместимость.


1. Официальная документация PostgreSQL [Электронный ресурс] / The PostgreSQL Global Development Group, 2017. - Режим доступа: http s: //www.po stgresq l .org/docs/9.5/static/index. html, свободный - Яз. англ.
2. Официальная документация MongoDB [Электронный ресурс] / MongoDB, Inc, 2017. - Режим доступа: https://docs.mongodb.com/manual/, свободный - Яз. англ.
3. Официальная документация Neo4j [Электронный ресурс] / Neo Technology, Inc., 2017. - Режим доступа: https://neo4j.com/docs/, свободный - Яз. англ
4. Касьянов В. Н. Графы в программировании: обработка, визуализация и применение / В.Н. Касьянов, В.А. Евстигнеев - БХВ-Петербург, 2003. — 1104с
5. Walls C. Spring in Action / C. Walls - Manning, 2014. - 624c
6. Robison I. Graph Databases /I. Robison, J. Webber, E. Eifrem. - O’Relly, 2013. -224c
7. Оре О. Теория графов /О. Оре - Либроком, 2009. - 354с
8. Vora D. Java 7 JAX-WS Web Services /D. Vora - Packt Publishing, 2012. - 64с

Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ