Введение
1.1 Определение стека технологий 5
1.2 Выбор модулей «Apache Ignite» для использования 10
1.3 Архитектура Apache Ignite 16
1.4 CAP теорема 20
1.5 Протокол обмена данными 21
1.6 Итог создания архитектуры 22
1.7 Вывод к разделу 1 22
2 Анализ процесса агрегации телематических данных 24
2.1 Построение трека автомобиля за заданный период времени 24
2.2 Расчет пробега 26
2.3 Сверка маршрута с треком за определенный период времени 27
2.4 Сверка фактического пробега автомобиля за определенный
промежуток времени с длиной построенного трека 30
2.5 Вывод к разделу 2 31
3 Разработка программы 32
3.1 Настройка кластера Ignite 33
3.2 Создание кэша и его настройка 34
3.3 Сохранение кэша Ignite в постоянное хранилище 35
3.4 Работа с кэшем 37
3.5 Вывод к разделу 3 38
4 Внедрение программы 39
4.1 Запуск JVM 40
4.2 Вывод к разделу 4 40
ЗАКЛЮЧЕНИЕ 41
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 42
Мир информационных технологий бурно развивается. Увеличивается количество пользователей сети интернет, таким образом растет и нагрузка на сети, увеличивается количество потребляемой и генерируемой информации. Структурирование и обработка «больших данных» становится все более часто встречаемой задачей для бизнеса. При обработке все больших объемов данных перед нами становится проблема масштабируемости сервисов для обработки больших данных и повышение отказоустойчивости. Одним из самых эффективных решений является создание децентрализованных сервисов, иначе говоря распределенных сервисов. Такие технологии позволяют создавать программное обеспечение, «горизонтально» масштабируемое, то есть увеличение производительности и отказоустойчивости сервиса не за счет увеличения производительности каждого сервера, а за счет увеличения количества узлов. Одной из платформ для создания подобных сервисов является «Apache Ignite».
Целью работы является увеличение скорости обработки данных и повышение отказоустойчивости сервиса для агрегирования телематических данных.
Для достижения поставленной цели необходимо решить задачи:
а) анализ предметной области;
б) анализ процесса агрегации телематических данных;
в) разработка программы;
г) внедрение программы.
В выпускной квалификационной работе решалась проблема как большой затраты времени на агрегацию заранее подготовленного набора телематических данных, так и на данные пришедшие в режиме реального времени. Также повышалась отказоустойчивость процесса агрегирования телематических данных.
Было произведено проектирование и разработка программного обеспечения для агрегирования телематических данных на распределенной платформе Apache Ignite. В ходе внедрения программы на рабочие сервера были произведены замеры производительности кластера Ignite. Итогом оказалось увеличение пропускной способности программного обеспечения и его отказоустойчивости. Рекомендуется использование данного программного обеспечения на распределенной платформе для операций агрегации телематических данных пришедших как в режиме реального времени, так и на заранее подготовленных наборах данных.
Решены все поставленные задачи, программа обеспечивает платформонезависимое решение для операций агрегации описанных в разделе