Общее описание
Архитектура платформа построена по сервисно-ориентированному принципам, где функциональность распределена между несколькими взаимодействующими между собой сервисами-модулями, каждый из которых выполняет строго определенные функции.
При этом архитектура платформы точно отвечает требованиям архитектурных уровней IoT систем. В платформе реализованы:
- оперативный сбор данных от различных типов устройств на EDGE и WAN-сетях.
- процессинг данных в реальном времени, в ходе которого измерения обрабатываются и сохраняются с мета-информацией;
- выполнение различных алгоритмов управления на EDGE и центральном уровне, формирование единого поля событий состояния устройств, систем, объектов, сложных систем;
- прогнозирование показателей на базе анализа данных;
- визуализация данных;
- предоставление данных в реальном масштабе времени и API.
Архитектура платформы представлена на рисунке ниже:
Inspark.Core -центральный горизонтально масштабируемый компонент серверной платформы. Inspark.Core состоит из сервисных модулей, взаимодействующие между собой через общую шину. Платформа предоставляет несколько типов внешних сервисов:
- Core REST API - для приложений,
- Core Subscribe - подписка внешних потребителей на поток получение данных от платформы,
- Core.Notification - модуль уведомлений о событиях в платформе по разнообразным каналам.
Inspark.Gate - серверные модули (брокеры) приема-передачи данных по протоколам LoraWAN, NBIOT, MQTT.
- Inspark Gate.MQTT используется платформой для взаимодействия с агентом Inspark.Edge для организации объектового управления ОТ сиситем. Модуль Inspark.EdgeGuard обеспечивает авторизованный доступ mqtt-клиентов со стороны платформы.
- Inspark.Lorain - служебный модуль платформы, предназначен для разбора пакетов LoraWAN устройств. Платформа поддерживает большое количество устройств LoraWan, список постоянно пополняется и доступен на сайте.
Inspark.Integration - модули интеграции с различными внешними системами: платформы авторизации, VMS, СКУД и т.д.
Inspark.Edge - является самостоятельным элементом платформы и устанавливается на контроллеры автоматизации, либо как отдельные элементы сбора данных в виртуальных средах. ПО EDGE позволяет выполнять предобработку данных, исполнять действия над устройствами по расписанию или правилам, а также взаимодействовать с платформой для передачи/получения данных.
Inspark.DWH - платформа поддерживает ETL выгрузку в отдельное DWH хранилище, структура которого удовлетворяет требованиям построения OLAP-хранилищ. Данные с модуля ETL могут загружаться в Postgres либо ClickHouse. Тип хранилища зависит от объема данных. Представление данных в DWH выполнен на базе по Superset Apache и JasperReport Tibco.
Inspark.MDM - предоставляет сервис Каталога данных - справочника, который обеспечивает информационное единство данных Inspark платформы с внешними системами.