Сервис представляет собой REST API
Сервис основан на Spring Boot 2.7.12 и состоит из трех частей:
- Модуль datamock. Его задача состоит в имитации передачи каждые 10 секунд данных с датчиков в модуль predictor.
- Модуль predictor. При получении данных от модуля datamock передает их всем подключенным моделям и получает от них прогнозные данные о М1 и М3.
- Модуль forecast предназначен для прогнозирования состояния оборудования на 4 - 10 часов вперед. Интеграция с модулем predictor не проведена.
Spring Boot, JDBC, DuckDB, Docker, pmml4j
Модуль datamock имеет два endpoint:
<HOST>:8084/datamock/start
- для запуска демонстрации в реальном времени и
<HOST>:8084/datamock/stop
- для остановки демонстрации в реальном времени.
При этом он сам, каждые 10 секунд обращается к модулю predict передавая данные.
Модуль predictor имеет два endpoint:
<HOST>:8085/predictor/predict
- для получения данных от модуля datamock и
<HOST>:8085/predictor/getState
- для передачи состояния во frontend.
Модуль forecast имеет сервис FillingGapsService настроеный для заполнения пустых промужутков в x_test.
Запуск его возможен через тест этого сервиса.
Для разворачивания сервиса необходимо исправить номер хоста, указанного в файле application.properties модуля datamock.
Для модулей datamock и predictor выполнить mvn spring-boot:run
.
Сервис развернут на хостинге с номером хоста:
92.63.98.246
Frontend развернут по адресу:
https://region23.vercel.app/
Доработать модуль forecast и интегрировать его в модуль predictor для автоматического расчета времени до М1.
Сделать возможность добавления, удаления, обучения и тестирования.
Добавить возможность модификации структуры моделей.
Добавить логирования результатов работы моделей и оповещения пользователей.
Добавить автоматическое уведомления персонала о появлении предупреждения посредством электронной почты или иных способов электронной коммуникации.
Добавить хранение данных исторических и текущих данных оборудования, необходимых для построения и выполнения предиктивных моделей.