Тема: Разработка микросервиса для автоматического обновления встроенной linux-системы
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 4
1 Анализ требований 5
1.1 Анализ входных и выходных данных 6
2 Проектирование программного продукта 7
2.1 Проектирование UML 7
2.2 Выбор средств разработки 10
2.3 Описание алгоритма 14
3 Используемые средства разработки 18
3.1 Среда разработки Visual Studio Code 18
4 Разработка программного обеспечения 23
4.1 Разработка интерфейса пользователя 23
4.2 Описание основы приложения 29
4.3 Описание процесса скачивания обновления 32
4.4 Подготовка к обновлению 34
4.5 Установка обновления 39
4.6 Откат системы 41
4.7 Демонстрация сборки 42
4.8 Демонстрация запуска 43
Заключение 46
Список используемых источников 47
📖 Введение
Предметом исследования является применение системы A/B обновлений во встраиваемой системе Linux на базе процессора ARM.
Цель выпускной квалификационной работы - создание микросервиса обновления из заранее предопределённого архива управляемый с помощью grpc и с возможностью скачивать обновления из облака. Проект направлен на создание удобного микросервиса обновлений, который станет частью большого программного комплекса.
Для достижения цели выпускной квалификационной необходимо написать программный модуль, реализующий следующие функции:
- Скачивание архива из облака;
- Распаковка архива с проверкой на повреждение;
- Установка обновления используя механизм A/B;
- Возврат к состоянию до обновления;
- Удобные grpc методы для управления;
- Консольный интерфейс для ручного управления.
Практическая значимость данной бакалаврской работы заключается в внедрении сервиса обновлений тем самым позволив обновлять систему просто и безопасно в автоматическом режиме.
Современные встраиваемые системы часто выполняют важные функции в составе более крупных комплексов. По мере развития программного обеспечения, появления новых функций и устранения уязвимостей и ошибок возникает необходимость обновления системы. Обновление позволяет:
- исправлять ошибки и повышать стабильность работы устройства;
- обеспечивать актуальность и безопасность программного обеспечения (в том числе закрывать известные уязвимости);
- добавлять новую функциональность без необходимости физического вмешательства в устройство;
- продлевать срок службы устройства за счёт адаптации к новым условиям эксплуатации.
Встраиваемые системы имеют ряд особенностей, таких как ограниченные ресурсы (память, вычислительная мощность), специфическая аппаратная конфигурация и высокие требования к надёжности. Стандартные решения часто не рассчитаны на эти особенности.
Необходимо разработать приложение подходящие под следующие требования:
- использование механизма A/B обновлений [1][2];
- обновление из файла архива;
- скачивание файла архива обновления из облака;
- возможность отката обновлений;
- простота, без избыточной функциональности;
- малый объём занимаемой памяти и быстродействие;
- надёжность;
- консольный режим, без GUI;
- управление через GRPC [8].
✅ Заключение
Разработанное приложение имеет как консольный режим, так и grpc интерфейс, имеет возможность скачивать обновления с облака, а также производить установку и локального архива содержащий обновления.
Все поставленные задачи выполнены, а пути их решения описаны в данной работе, а именно:
- Проведён анализ требований;
- Изучены предоставленные входные данные и требуемые выходные;
- Выполнено проектирование с использованием uml, а также созданы
основные диаграммы;
- Выбраны средства разработки;
- Разработано приложение;
- Показана демонстрация запуска и работы.
Созданное приложение продемонстрировало стабильность и эффективность во время работы.
Не маловажным плюсом разработанного приложения является расширяемость благодаря простой, но удобной архитектуре.





