12 уровней IIoT-архитектуры: от периферийных датчиков до аналитики Big Data

Big Data, Большие данные, Internet of Things, IoT, IIoT, интернет вещей, архитектура, Kafka, обработка данных, Spark, машинное обучение, Machine Learning

Мы уже рассматривали типовую архитектуру систем Internet of Things (IoT). Сегодня поговорим подробнее про уровневую модель передачи и обработки данных от конечных устройств до облачных IoT-платформ, а также приведем примеры наиболее популярных средств обеспечения каждого из уровней этой сложной архитектуры Industrial Internet of Things, включая инструменты Big Data.

Многоуровневый IIoT: 12 слоев архитектуры

В отличие от типовой Big Data системы, работающей по принципу клиент-серверного приложения, модель IIoT-решения гораздо сложнее. Аналогично клиент-серверному принципу, в IIoT-архитектуре можно выделить 2 разных по физическому расположению группы обязательных компонентов:

  • периферия (Edge) — конечные smart-устройства, расположенные на технологическом оборудовании, за которым осуществляется удаленный мониторинг и управление;
  • мощные Big Data инструменты, развернутые в центре обработки данных на серверах или в облаке (Backend).

Тем не менее, из-за особенностей использования IIoT-решений, связанных с условиями эксплуатации и прикладной специфики, например, экстремальные температуры, вибрации, осадки, большая протяженность каналов передачи данных и пр., в архитектуре Industrial Internet of Things можно выделить целых 12 уровней (слоев) [1]:

  • физический (Physical Layer), на котором расположены конечные устройства – датчики и сенсоры, камеры и пр. оборудование (таймеры, пьезоэлементы, микрофоны, фотодиоды/транзисторы/резисторы, выключатели, акселерометры, GPS-трекеры, баркод-ридеры и т.д.), собирающее информацию и отправляющее ее дальше, на уровень периферийной обработки данных (Edge Layer).
  • периферийные вычисления (Edge Layer), который обеспечивает минимальную обработку данных, в частности, преобразования между аналоговым и цифровым представлением информации (АЦП/ЦАП). Как правило, эти функции реализуются с помощью микроконтроллеров Raspberry Pi, Arduino и другие однокристалльные системы – SoC-модули (System-on-a-Chip) — электронные схемы, выполняющая функции целого устройства, в т.ч.  беспроводные сети на кристалле (Wireless network-on-chip, WNOC) [2]. Основным требованием к устройствам физического и периферийного уровней является низкое энергопотребление (питание от батарейки), низкая стоимость покупки и эксплуатации (бесперебойная работа без обслуживания от 1 до 10 лет, минимальные затраты на приобретение, установку и обслуживание). Для снижения энергопотребления периферийные устройства обычно имеют четыре режима работы: сон, режим измерения и сбора информации с датчиков, режим связи, передачи и получения информации, а также режим установки и подключения.
  • Периферейная коммуникация (Local Network Layer), когда данные после первичной обработки отправляются на шлюз (Gateway), который может находиться очень далеко (в пределах нескольких километров). Для надежной передачи данных на дальние расстояния применяются беспроводные динамические самоорганизующиеся сети: одноранговая Ad Hoc и иерархическая Mesh [3]. Обычно для этого используются протоколы ZigBee/Zwave, BLE, LoRa, Proprietary low band, WiFi, Ethernet, CAN, LTE, PLC.
периферийное IIoT-устройство
Схема периферийного IIoT-устройства
  • Шлюз (Gateway Layer), который выполняет ETL-операции (Extract, Transform, Load) — получение, преобразование и сохранение информации с периферийных устройств, обеспечивает важные действия в случае критической ситуации даже без связи с Backend, а также общается с сервером с использованием мобильной беспроводной связи (4G/5G) или проводного доступа в Интернет, отправляя туда обработанную информацию и получая данные конфигурации для конечных устройств. Шлюз необходим в IIoT-решениях, т.к. если Backend будет получать необработанную информацию, это увеличит его мощность и коммуникационные затраты. Кроме того, удаленный Backend-сервер не может гарантировать реакцию в реальном времени для большого количества периферийных устройств, например, камер уличного наблюдения и т.д.
  • Уровень внешней связи (Wide Network Layer), разделяющий периферию и BackEnd. Здесь используется стандартизированный протокол для IoT-решений IoT – LwM2M (Lightweight M2M, легковесный межмашинный протокол) [4], разработанный для доступа к каждому периферийному устройству. Если периферийное устройство не поддерживает интерфейсы LwM2M, шлюз решит эту проблему, обеспечив связь с периферией. Уровень внешней связи содержит также коммуникационные сервисы и модели ISO, в т.ч. службы балансировки и определения местоположения, основанные на DNS-сервисе, транспортный протокол COAP, протокол шифрования с ключами безопасности и сессией установления соединения DTLS и многие другие компоненты. При этом служба DNS используется в качестве балансировщика нагрузки, периодически генерируя DNS-запрос для получения нового IP-адреса экземпляра уровня безопасности. Помимо LwM2M на уровне внешней связи также используются протоколы PLC, Ethernet, LTE, FOTA/SOTA, Radio.
  • Уровень безопасности (Security Layer), который обеспечивает аутентификацию, авторизацию, учет и шифрование/дешифрование на основе ролей и разрешений. Как правило, здесь используются средства информационной безопасности от облачных провайдеров, у которых развернуты агрегирующие и анализирующие компоненты IIoT-решений, например, Azure Cloud, AWS R53/IAM/EC2 и т.д. Подробнее про безопасность интернета вещей читайте в наших отдельных статьях об инцидентах cybersecurity и инструментах информационной защиты IoT: криптографических протоколах и защищенных каналах передачи данных.
  • Уровень внутрисерверной связи (Middleware Layer), обеспечивающий внутреннюю функциональность балансировки нагрузки в облаке, очереди сообщений и передачи потоковой информации на основе микросервисов или PaaS-решений от облачных провайдеров. Компоненты этого слоя должны быть дублированы и автоматически масштабироваться в связи с нестационарным характером передачи данных, чтобы обеспечить асинхронную передачу сообщений с буферизацией и перераспределением нагрузки. Именно на этом уровне работают Big Data брокеры сообщений и управления очередями, такие как Apache Kafka или RabbitMQ. Для быстрой загрузки данных с периферии часто используется платформа обработки событий (сообщений) Apache NiFi или ее упрощенная модификация Apache MiNiFi.
  • Уровень сбора, обработки и хранения данных (ETL), реализуемый не только в периферийных устройствах и шлюзах, но и в Backend, посредством сбора данных, их агрегации, унификации представления, сохранения для дальнейшего использования, уведомления других сервисов о поступлении новых данных и общего управления жизненным циклом информации, в т. архивирование и уничтожение. Здесь также работают Big Data-средства управления очередями сообщений (Apache Kafka или RabbitMQ) и потоковой загрузки данных (Apache NiFi и MiNiFi).
  • Big Data аналитика, машинное обучение (Machine Learning, ML) и другие методы искусственного интеллекта (Artificial Intelligence, AI). Инструментальные средства этого уровня наименее стандартизованы и зависят от конкретного случая. Например, для прогнозирования возможных отказов оборудования может использоваться библиотека MLLib фреймворков потоковой Spark или Flink, для генерации OLAP-кубов и сложных SQL-запросов – Spark SQL и FlinkQL соответственно и т.д. Например, здесь мы описывали пример построения сложной Big Data системы для предиктивной аналитики метеозависимого маркетинга на базе Apache Kafka и Spark.
Интеграция Apache Kafka и Spark Streaming для построения предиктивных моделей Machine Learning в IIoT-системе
Интеграция Apache Kafka и Spark Streaming для построения предиктивных моделей Machine Learning в IIoT-системе
  • Уровень уведомлений (Notification layer), извещающий о наступлении какого-то события, например, в форме письма по электронной почте, СМС-сообщения или телефонного звонка (в крайнем, экстренном случае). Для снижения энергопотребления мобильные приложения переходят в спящий режим, но iOS и Android имеют механизм уведомлений, указывающий на прибытие новых данных. Алгоритмически такое M2P-общение (machine to person) реализуется в виде модели «издатель-подписчик», когда клиентское приложение подписывается на необходимые события и, в случае их наступления, получает информационный сигнал — уведомление.
  • Уровень представления (Presentation Layer), когда обработанная информация от периферийных устройств презентуется конечному пользователю с помощью UI/UX-интерфейсов на экране компьютерного монитора, планшета или мобильного телефона. Уровень представления также отвечает за обслуживание, конфигурацию и изменения состояния каждого компонента IIoT-системы, позволяя удаленно управлять даже периферийными устройствами. Пока не существует стандартизированных UI/UX-средств для уровня представления IIoT-системы, несмотря на наличие международных и национальных стандартов, регламентирующих понятия человеко-машинного интерфейса (ГОСТ МЭК 60447-2000, IEC 60447-2015, IEC 60447:1993) [5], широко используемых в SCADA-системах.
  • Уровень конфигураций (Configuration Layer), обеспечивающий хранилище статусов периферийных устройств (актуальное состояние, новое состояние, которое будет загружено и промежуточный статус, указывающий на процесс обновления состояния). Это необходимо из-за особенностей связи периферии и шлюза с Backend-сервером, т.к. коммуникация конечных устройств с облаком держится не постоянно, а периодическими сеансами, во время которых и происходит отправка и получение данных.
архитектура IIoT-системы
12-уровневая архитектура IIoT-системы

Все подробности технической реализации сложных Big Data систем и комплексных IIoT-проектов разбираются на наших практических курсах для менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков больших данных в лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве.

расписание компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Смотреть расписание занятий
регистрация на компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Зарегистрироваться на курс

Источники

  1. https://habr.com/ru/post/455377/
  2. https://ru.wikipedia.org/wiki/Система_на_кристалле
  3. https://ru.wikipedia.org/wiki/Беспроводная_ad-hoc-сеть
  4. https://itechinfo.ru/content/lightweight-m2m
  5. http://docs.cntd.ru/document/gost-r-mek-60447-2000