Состав и архитектура платформы
Состав платформы

В состав платформы входят следующие компоненты (сервисы):
- S3- функции промежуточного файлового хранилища;
- СУБД для хранения оперативных данных (преобразованные в формат Платформы log-файлы);
- СУБД для метаданных (конфигурация отчётов, описания ключевых показателей и других данных о конфигурации Платформы);
- кэш для временного хранения данных;
- система координации работы компонентов(оркестратор);
- среда визуализации данных;
- WEB server;
- Интегрированный сервис конверсии данных - преобразовывает исходные данные измерительных комплексов в формат баз данных Платформы;
- Сервис отчётов, включающий в себя:
- конструктор отчётов (web редактор);
- построитель изображений;
- калькулятор - производит вычисления на основании собранных измерительными комплексами данных;
- генератор отчётов;
- управление рабочими нагрузками и сервисами.
Архитектура платформы
Платформа построена с использованием контейнерной архитектуры, что подразумевает инкапсуляцию приложений (сервисов) и их зависимостей в отдельные контейнеры. Преимущества такого подхода:
- Мониторинг сервисов и распределение нагрузки. Платформа может обнаружить контейнер, используя имя DNS или собственный IP-адрес. Если трафик в контейнере высокий, Платформа может сбалансировать нагрузку и перераспределить сетевой трафик;
- Оркестрация хранилища позволяет автоматически смонтировать систему хранения, такую как локальное хранилище, облачное хранилище и т.д.;
- Автоматическое распределение нагрузки. Платформе может быть предоставлен кластер узлов, который он используется для запуска контейнерных задач, при этом указать какие ресурсы требуются каждому контейнеру;
- Самоконтроль. Платформа перезапускает отказавшие контейнеры, заменяет и завершает работу контейнеров, которые не проходят определенную пользователем проверку работоспособности, и не показывает их клиентам, пока они не будут готовы к обслуживанию;
- Управление конфиденциальной информацией и конфигурацией. Платформа хранит и управляет конфиденциальной информацией, такой как пароли, OAuth-токены и ключи SSH. Конфиденциальная информация и конфигурация приложения обновляется без изменений образов контейнеров, при этом конфиденциальная информация не раскрывается в конфигурации стека.
Интерфейс Платформы
На стартовой странице отображается статус лог-файлов. Пользователь может выбрать нужные файлы измерений за определенный промежуток времени. В левой части расположена панель со списком модулей Платформы в виде меню с раскрывающимися подпунктами.

Обработка входных данных (парсинг)
Парсинг в контексте программирования и информатики - это процесс автоматизированного извлечения и структурирования данных из различных источников, таких как веб-сайты, документы, базы данных или файлы. Основная цель парсинга – преобразовать неструктурированные данные в удобный для дальнейшего анализа и использования формат. В платформе "Cemona" парсинг производится встроенными средствами и выполняет функцию структурирования исходных данных (файлов .nmf), поступающих от мобильных или стационарных измерительных комплексов, для дальнейшего использования в Платформе. Обработка (парсинг) происходит автоматически и не требует вмешательства пользователя. Параметры работы обработчика (парсера) - адреса серверов, расширения файлов, версии ПО и т.д. - задаются администратором системы. Процесс обработки результатов измерений выглядит следующим образом:

-
данные измерений (файлы .nmf) поступают на ftp сервер(ы) по мере завершения сеансов измерений. Адреса этих серверов указываются в файлах конфигурации системным администратором.
-
с заданным интервалом времени (по умолчанию - 2 мин.) Платформа производит проверку наличия файлов на ftp серверах. Интервал может быть изменён администратором системы в конфигурационных файлах
- Транспортная система Платформы перемещает файлы измерений в хранилище S3 для дальнейшего хранения и обработки. Исходные файлы помещаются в архивное хранилище (ftp, S3), а также в папки общего доступа, которые определяются при конфигурации системы администратором. На исходных ftp серверах эти файлы удаляются.
- Подсистема оркестрации при наличии в хранилище S3 файла измерений запускает контейнер с обработчиком для этого файла, и, если процесс происходит без ошибок, то результат обработки помещается в базу данных и становится доступным для дальнейшего использования аналитическими средствами Платформы.
Исходный файл с результатами измерений анализируется на корректность имени файла и версии ПО. Список корректных версий приведён в Приложении 1. Если в исходном файле указана версия, которой нет в настройках, то файл помещается в корзину (Trash), и обработка (парсинг) останавливается.
Версия ПО указывается в исходном файле в строке с тегом #FF
Формат имени файла: имя.число.nmf, где:
- имя - произвольный набор символов. Может включать информацию, идентифицирующую место и дату проведения измерений, например: Kaluga_Sep24.13.nmf
- число - номер устройства в измерительном комплексе;
- .nmf - расширение файла.
В случае корректного имени файла и версии ПО обработчик (парсер) производит анализ событий, записанных в исходном файле и преобразует его в "плоскую" таблицу, где каждое событие записывается отдельной строкой. Каждая колонка таблицы - измеренный параметр.