Обзор базовых модулей
В IIoT Платформе данные организованы в виде таблиц, которые можно классифицировать по основным модулям представления данных.
Эти модули описывают, как соотносятся друг с другом необработанные измерения, устройства, которые их формируют, сеансы связи, в ходе которых они собираются, и справочные данные, которые их категоризируют. В таблицах ниже подробно описаны ключевые поля каждого модуля и внешние ключи, которые их связывают.
Архивы данных
Архивы данных хранят историческую информацию, такую как метрики IoT-устройств, данные оборудования и другие измерения. Основная таблица для хранения архивных данных — channel_data.
| Поле | Тип | Описание |
|---|---|---|
id | bigint | Уникальный идентификатор записи (первичный ключ). |
equipment_id | bigint | Ссылка на оборудование (equipment.id). |
seance_id | bigint | Ссылка на сеанс (seances.id). |
channel_id | bigint | Ссылка на канал (channels.id). |
unit_id | bigint | Ссылка на единицу измерения (units.id). |
archive_type_id | integer | Ссылка на тип архива (referenceparameters.id). |
event_time | integer | Время события (например, временная метка). |
value | character varying(100) | Значение, полученное из канала. |
created_at | timestamp(6) without time zone | Время создания записи. |
updated_at | timestamp(6) without time zone | Время последнего обновления записи. |
Эта таблица хранит данные, полученные из каналов оборудования, и связывает каждую запись с оборудованием, сеансами, каналами и единицами измерения через внешние ключи. Это позволяет классифицировать данные по указанным атрибутам для дальнейшего анализа и обработки.
equipment_idссылается на таблицуequipment.seance_idссылается на таблицуseances.channel_idссылается на таблицуchannels.unit_idссылается на таблицуunits.archive_type_idссылается на таблицуreferenceparameters.
Узлы учёта
Таблица equipment хранит информацию об оборудовании, используемом в системе. Этот модуль является ключевым для управления данными, связанными с физическими устройствами, такими как счётчики, датчики, контроллеры и другие типы оборудования.
| Поле | Тип | Описание |
|---|---|---|
id | bigint | Уникальный идентификатор записи (первичный ключ). |
equipment_type_id | bigint | Ссылка на тип оборудования. |
serial_number | character varying(25) | Серийный номер оборудования. |
manufacture_date | timestamp(6) without time zone | Дата изготовления оборудования. |
installation_date | timestamp(6) without time zone | Дата установки оборудования. |
program_version | character varying(100) | Версия программного обеспечения оборудования. |
created_at | timestamp(6) without time zone | Время создания записи. |
updated_at | timestamp(6) without time zone | Время последнего обновления записи. |
Таблица equipment:
- хранит основные данные об оборудовании, такие как серийный номер и даты изготовления и установки;
- использует поле
program_versionдля отслеживания версии программного обеспечения, установленного на оборудовании; - использует поля
created_atиupdated_atдля отслеживания изменений в данных оборудования; - связана с другими таблицами, такими как
equipment_types,channel_dataиchannels, через внешние ключи; - позволяет добавлять, обновлять и получать информацию об оборудовании в системе.
Модуль представления данных на основе таблицы equipment обеспечивает эффективное управление информацией об оборудовании в системе.
Он предоставляет:
- хранение основных данных об оборудовании;
- управление версиями программного обеспечения;
- связь с другими сущностями системы.
Сеансы связи
Таблица seances хранит информацию о сеансах связи и активности оборудования. Сеансы представляют собой периоды активности, в течение которых происходит обмен данными между оборудованием и системой. Этот модуль является ключевым для управления и анализа данных, связанных с сеансами связи.
Рассмотрим этот модуль подробнее.
| Поле | Тип | Описание |
|---|---|---|
id | bigint | Уникальный идентификатор записи (первичный ключ). |
telemetry_id | bigint | Ссылка на телеметрию (telemetry.id). |
event_time | integer | Время события. |
evtid | smallint | Идентификатор события. |
trycnt | smallint | Количество попыток. |
tryfl | character varying(12) | Флаг попытки. |
state | smallint | Статус сеанса. |
btm | integer | Заряд батареи. |
rssi | integer | Уровень сигнала (если используется). |
created_at | timestamp(6) without time zone | Время создания записи. |
updated_at | timestamp(6) without time zone | Время последнего обновления записи. |
Модуль seances используется для:
- хранения информации о сеансах связи и работе оборудования;
- управления данными, связанными с сеансом (например, время события, статус сеанса, уровень сигнала и заряд батареи);
- анализа сеансов для выявления проблем или оптимизации производительности системы;
- управления статусом сеанса: поле
stateпозволяет отслеживать статус сеанса (например, успешный, ошибка и так далее); - анализа сеансов: поля
duration_sessionиsession_trafficпозволяют анализировать продолжительность и объём трафика сеанса; - отслеживания изменений: поля
created_atиupdated_atпозволяют отслеживать изменения в данных сеанса.
Типы архивов
Атрибут archive_type_id категоризирует данные в таблице channel_data по типу архива. Это позволяет организовывать данные по различным категориям, таким как часовые, суточные, месячные, нештатные ситуации и другие типы архивов. Таблица referenceparameters хранит справочную информацию о типах архивов.
Этот модуль построен на связи между таблицами channel_data и referenceparameters.
| Поле | Тип | Описание |
|---|---|---|
id | bigint | Уникальный идентификатор записи (первичный ключ). |
name | character varying(30) | Название типа архива. |
varname | character varying(30) | Короткое имя переменной для типа архива. |
description | character varying(100) | Описание типа архива. |
parent_id | integer | Ссылка на родительский параметр (иерархия). |
referencemodel_id | integer | Ссылка на модель справочника. |
created_at | timestamp(6) without time zone | Время создания записи. |
updated_at | timestamp(6) without time zone | Время последнего обновления записи. |
deleted_at | timestamp(6) without time zone | Время удаления записи (мягкое удаление). |
Поле archive_type_id в таблице channel_data позволяет категоризировать данные по типу архива.
Например:
[ 'Archive types', 'archive_types', 'Archive types (hourly, daily, monthly)',
[
['Hourly readings archive', 'hourly'],
['Daily readings archive', 'daily'],
['Monthly readings archive', 'monthly'],
['Emergency situations archive', 'nesht'],
['Events archive', 'event'],
['Valve status', 'valve'],
['Current state', 'current_state'],
['Updated firmware', 'update_app'],
['Send SMS', 'send_sms'],
['Send JSON', 'send_json'],
...
]
]При необходимости эти архивы можно объединять в группы:
- текущие данные (
current_state) — показания на момент сеанса связи; - агрегированные данные (
hourly,daily,monthly) — сводные показания за определённый период времени; - события и нештатные ситуации (
nesht,event) — записи о значимых изменениях или происшествиях в системе. Они могут быть связаны с оборудованием, пользователями или внешними факторами; - статус клапана (
valve) — состояние и управление клапаном счётчика, если он есть; - управляющие воздействия (
update_app,send_sms,send_json) — записи о командах или действиях, выполненных для управления системой или оборудованием; - и так далее.
Модуль представления данных archive_type_id позволяет эффективно категоризировать данные по типам архивов и управлять справочной информацией. Он предоставляет:
- классификацию данных в таблице
channel_data; - управление справочной информацией о типах архивов;
- анализ данных по типам архивов.
Связанные темы
Эта страница была полезной?
Спасибо за ваш отзыв!