x
с и с т е м ы
М о н и т о р и н г а
Технологические изменения и решения

20 Авг

Технологические изменения и решения

Система мониторинга инженерных конструкций (СМИК) ПО «BESSEL» переходит на качественно новую технологическую архитектуру. Предыдущая версия ПО представляла собой монолитную систему, сформированную в ходе заказной разработки 2010-х годов, которая имела критические ограничения по надежности, безопасности и масштабируемости.

Обоснование необходимости перехода (проблемы legacy-архитектуры):

  • Проблемы безопасности и утечки данных: В исходном коде в открытом виде содержались критические учетные данные (логины и пароли от почтовых аккаунтов SMTP), а отчеты о состоянии объектов и аварийных ситуациях отправлялись на личные почтовые ящики сторонних разработчиков . Это создавало риски раскрытия топологии сети, параметров оборудования и текущего технического состояния стратегических объектов.
  • Нестабильность работы с датчиками и сетью: Низкоуровневая логика работы с оборудованием была построена на блокирующих сокетах и вызовах Thread.sleep(). При сбое или зависании хотя бы одного RS-485 шлюза блокировался сбор данных со всех остальных датчиков. Проблемы рассинхронизации времени "решались" принудительным скачком времени вперед, что искажало физику измерений и графики колебаний.
  • Высокое связывание и сложности масштабирования: Архитектура не обладала модульностью. Добавление новых типов оборудования (например, специализированных датчиков вроде 7056) требовало ручной правки до 8 различных файлов кода, фабрик и JSON-адаптеров, а отсутствие адекватной обработки исключений приводило к падению приложения в runtime.

Технологические изменения и решения в новой архитектуре:

Для обеспечения бесперебойной эксплуатации в режиме 24/7  структура ПО перерабатывается по современным стандартам:

  • Переход на Rust: Использование компилируемого языка с потокобезопасностью и строгим контролем памяти позволяет исключить зависания драйвера, оптимизировать асинхронную работу с сетевыми шлюзами (RS-485) и обеспечить параллельный опрос всех датчиков без взаимных блокировок.
  • Модульная архитектура и расширяемость: Реализована гибкая система подключения оборудования, позволяющая легко интегрировать новые типы приборов (включая инклинометры, двухкоординатные акселерометры и датчики фундамента) без переработки ядра системы.
  • Устранение уязвимостей: Из кода полностью вырезаны жестко прописанные учетные данные сторонних сервисов. Вся отправка сообщений и отчетов переведена на защищенные локальные сервисы и изолированные каналы связи.

Комментарии (0)

Комментариев пока нет. Будьте первым!

Оставить комментарий