Все возможности и преимущества машинного обучения в новой версии AggreGate 5.5 - лидера на рынке IoT платформ

Создавая новую версию нашей платформы, мы сделали упор на расширение аналитических возможностей системы. AggreGate и раньше превосходил конкурентов по части сбора, хранения и визуализации данных. Теперь по возможностям аналитики и обработки данных AggreGate стал больше похож на решение Business Intelligence, чем на IoT платформу. В этом релизе мы представляем машинное обучение, визуальный редактор процессов, а также модули для работы с большими данными. Новые возможности ставят нашу платформу в один ряд с лучшими мировыми системами бизнес-аналитики.

Машинное обучение

Одной из наиболее тесно связанных с IoT областей является машинное обучение. Этот инструмент позволяет специалистам по обработке данных анализировать потоки временных рядов и большие массивы данных для извлечения необходимых знаний.

Говоря техническим языком, машинное обучение использует методы обучения с учителем и без учителя для решения трех основных задач:

  • Предсказание значений
  • Обнаружение аномалий
  • Классификация значений или наборов данных

У обучаемых модулей, отвечающих за процесс обучения и получения результатов, имеются так называемые гиперпараметры. Они позволяют контролировать и настраивать поведение алгоритмов. Модули машинного обучения совместно с редактором процессов являются мощным и универсальным инструментом для прогнозирования отказов, оптимизации работы как физических активов так и бизнес-сервисов.

Модуль машинного обучения включает в себя широко известные алгоритмы: линейную регрессию, регрессию опорных векторов, дерево решений, алгоритм случайного леса, многослойный перцептрон (нейронная сеть прямого распространения), наивный байесовский классификатор и другие.

Обучаемые модули встроены в единую модель данных AggreGate, что дает им возможность обмениваться данными с любыми другими объектами, устройствами и источниками данных платформы. Модули могут работать в режиме инкрементного (пошагового) обучения, на лету обновляя модель по мере поступления новых данных в виде системных событий или событий устройств.

Возможность написания скриптов на языках R и Python дополняет функциональные возможности как для этапа предварительной обработки данных, так и самого процесса обучения.

Визуальный редактор процессов

Используя визуальный редактор процессов становится возможным объединять логику сервера и интерактивное взаимодействие с оператором в единый процесс. Каждый такой процесс может по событиям запускать неограниченное количество параллельных потоков.

Создание различных алгоритмов обработки данных и принятия решений не требует навыков программирования. Для определения последовательности выполнения блоки прикрепляются друг к другу простым перетаскиванием.

Несмотря на то, что процессы хранятся в формате XML, при запуске они компилируются в байт-код виртуальной машины Java. Поэтому их производительность намного выше по сравнению с интерпретируемыми языками. Визуальный редактор процессов также позволяет выполнять и пошаговую отладку.

Каждый из блоков процессов может взаимодействовать с:

  • Единой моделью данных - путем чтения/записи переменных или вызовов функций
  • Операторами - исполнением процедур пользовательского интерфейса

Процессы достаточно легковесны и могут использоваться на недорогих одноплатных компьютерах, IoT-шлюзах и подобном оборудовании.

Графовые базы данных

Являясь частью семейства NoSQL, графовые хранилища приобретают всё большую популярность как надежные и быстроразвивающиеся системы управления БД. Они позволяют работать со структурированными данными в более естественном виде. Опираясь в своей архитектуре на связи между данными, графовые БД хорошо подходят для анализа структур и зависимостей данных. В противовес реляционным БД, графовые хранилища гораздо менее ресурсоёмки при выполнении операций обхода по различным путям зависимостей.

Одна из наиболее подходящих областей применения графовых хранилищ – это управление конфигурациями (CMDB). Любая IT инфраструктура может быть представлена в виде графа со связями, что позволяет легко взаимодействовать с конфигурационными единицами (CI). Благодаря использованию графового хранилища сбор данных для принятия обдуманных решений становится намного более гибким. Специализированный язык обхода по зависимостям позволяет с легкостью находить, группировать и изменять необходимые настройки конфигурационных единиц.

Релейные диаграммы

Язык релейных диаграмм лежит в основе большинства функций управления ПЛК. В нем понятия релейных или коммутирующих контактов используются для реализации логических выражений. Мы добавили в модуль управления процессами поддержку релейных диаграмм - графического языка программирования, имитирующего структуры электрической цепи. Этот язык хорошо подходит для написания управляющих программ различного оборудования, например, логических переключателей.

Редактор отчетов

Еще одним важным улучшением является обновление редактора отчетов. Теперь в качестве редактора отчетов используется Jaspersoft® Studio - лидирующее ПО в своей области. Это современный и известный инструмент, благодаря которому создание шаблонов для отчетов становится проще и одновременно мощнее. Десятки визуальных компонентов, продвинутые инструменты обработки данных наряду с поддержкой множества форматов экспорта позволяют создавать интерактивные отчеты и предоставлять аналитику для нужд любых проектов.

Пакеты ресурсов

AggreGate – это полнофункциональная платформа, предназначенная, в том числе и для разработки пользовательских решений «под ключ». После разработки такого решения встает вопрос его доставки и развертывания у конечных пользователей. Одним из удобных способов тиражирования решений является создание пользовательских серверных плагинов. В плагин добавляются необходимые системные ресурсы, такие как: тревоги, инструментальные панели, виджеты и другие. Когда сервер загружает плагин, все его ресурсы становятся доступными для автоматического или ручного создания.

Пакеты ресурсов позволяют упростить и автоматизировать создание плагинов ресурсов. Вы просто настраиваете пакет, ссылаясь на существующие объекты системы. Указываете их категории, описания, версии и зависимости. После этого вы просто сохраняете плагин в файл и доставляете его до ваших конечных клиентов.

Масштабирование виджетов

Масштабирование содержимого в панелях с сеточной компоновкой теперь доступно и для панелей с абсолютной компоновкой. Вы можете выбирать между масштабированием по горизонтали, по вертикали или по двум осям одновременно для любого контейнера с абсолютной компоновкой.

Эта возможность крайне востребована в сфере автоматизации технологических процессов, где графические интерфейсы традиционно создаются на основе абсолютного позиционирования. Теперь при просмотре мнемосхем на мониторах с различным разрешением изображение может пропорционально растягиваться или сжиматься.

Хранение статистических данных в NoSQL

Одним из самых удобных инструментов хранения и агрегирования исторических данных являются статистические каналы. В новой версии стало возможным использовать базу данных NoSQL в качестве хранилища статистики. Все преимущества архитектуры данного хранилища теперь применимы и к статистическим данным. Например, синхронизация статистических данных между серверами в отказоустойчивой конфигурации не потребует дополнительных действий по настройке и будет происходить автоматически.

Плагины аутентификации

Мы постоянно улучшаем нашу платформу и стремимся расширять её интеграционные возможности. Новый тип плагинов - плагины аутентификации, позволяет нашим партнерам реализовывать собственные схемы аутентификации пользователей на сервере. Используя этот механизм, можно, например, аутентифицировать операторов AggreGate через базу данных пользователей корпоративного сайта заказчика.

Повышение скорости обращения к переменным

AggreGate хорошо справляется с высокой нагрузкой, но мы всегда стремимся к лучшему. В этом релизе мы оптимизировали доступ к переменным контекстов, ускорили процесс их чтения и снизили потребление памяти на операцию. Системы с высокой частотой обращения к переменным могут получить прирост производительности в 10-20 раз.

Улучшения языка выражений

Стали доступны новые функции:

  • decode - преобразует строку данных в таблицу
  • username, login - возвращает текущее имя и текущий логин пользователя соответственно
  • tableFromCSV - создает таблицу данных из CSV формата
  • fetchDataBlock - заполняет данными табличные поля с отложенной загрузкой

HTTP-сервер

Мы разработали новый способ взаимодействия с сервером AggreGate. Использование встроенного HTTP-сервера позволяет получать входящие HTTP-запросы и генерировать собственные HTTP-ответы. На основе языка выражений можно создавать пользовательские HTTP API. Для этого нужно всего лишь сконфигурировать принимаемые URI и использовать выражения, чтобы из параметров запроса получить необходимые параметры ответа.

Новые драйверы протоколов

Версия AggreGate 5.5 расширяет палитру доступных драйверов:

  • Ethernet/IP - поддержка ПЛК AllenBradley ControlLogix и CompactLogix
  • XMPP - позволяет подписываться и получать сообщения по протоколу XMPP
  • IEC 60870-5-104 Server - поддержка экспорта данных сервера AggreGate по протоколу IEC 60870-5-104
Загрузить IoT-платформу AggreGate 5.5