Перейти к содержанию
VVizorLabsТехническая документацияОсновной сайт

Платформа 4.0

Методология разработки сценариев

Сценарий и версия, структура flow_data / flow_settings, поля Node-RED, сохранение и публикация.

Для кого: разработчик сценариев
На этой странице

Подготовьте окружение

До сборки графа должны существовать модель и её версия, необходимые справочники, ассет для теста и формализованное описание события.

Структура и версии

Разделяйте сущность сценария и его версии. Название описывает назначение, версия фиксирует конкретный граф и параметры. Черновик используется для разработки, опубликованная версия — для назначения на камеры.

Унификация

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

Отладка и применение

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

Сценарий и версия: поля

Сценарий хранит назначение и тип обработки; версия — конкретный граф. Системные идентификаторы создаются сервером. Признаки публикации, архивирования и удаления меняются отдельными операциями, а не произвольной правкой полей графа.

ПолеТип / значениеСмысл
name / versionstring до 255 символовИмя сценария / обозначение версии
scenario_typeframe_scenario / event_scenarioКадровая или событийная обработка
execute_typeby_camera / by_object / all_camerasОбласть состояния событийного сценария
scenario_id / version_idПоложительные integerИдентификаторы сущности и версии
version_uuidstringИдентификатор корневой вкладки графа
section_idinteger / пустое значениеРаздел каталога

flow_data: структура графа Node-RED

flow_data содержит массив объектов графа. type=tab обозначает вкладку; типы исполняемых блоков определяются установленной палитрой. Дополнительные поля зависят от блока и сохраняются вместе с ним.

  • Пример показывает формат вкладки и связей, а не готовый исполняемый детектор.
  • Используйте редактор для изменения графа; не меняйте flows.json действующей сессии вручную.
  • Проверяйте типы полей и вложенный JSON в настройках выбранного блока.
ПолеТипНазначение
idstringУникальный ID объекта внутри графа
typestringtab или машинный тип блока
label / namestringОтображаемое имя
zstringID вкладки, которой принадлежит блок
wiresstring[][]По одному массиву ID получателей на выход
x / ynumberПоложение в редакторе; не влияет на результат вычисления
[
  {
    "id": "scenario-tab",
    "type": "tab",
    "label": "Проверка зоны"
  }
]

// Для каждого выхода блока wires хранит ID получателей:
// выход 0 → node-a, node-b; выход 1 → node-c
// "wires": [["node-a", "node-b"], ["node-c"]]

flow_settings: извлечённые параметры

При сохранении сервис обработки графов извлекает настраиваемые параметры. Результат используется для отображения и управления настройками блоков.

ПутьСодержимое
blocks[]id, name, type и parameters блока
parameters[].nameМашинное имя параметра
parameters[].typeТип параметра
parameters[].valueТекущее значение или null
parameters[].editableМожно ли редактировать
parameters[].default_valueЗначение по умолчанию
parameters[].optionsДопустимые варианты выбора
parameters[].translationsЛокализованные названия

Сохранение и публикация по компонентам

Редактор хранит flows.json внутри сессии. Backend получает граф, передаёт его на извлечение настроек и сохраняет в хранилище сценариев вместе со списком используемых моделей. Только после сохранения публикуется версия.

Путь версии сценария
  1. 1
    Редактор Node-RED

    Граф и параметры в flows.json сессии.

    Сохранить
  2. 2
    Backend Sandbox → inf-flows-manager

    Извлечение настроек блоков и зависимостей моделей.

    flow_data + flow_settings
  3. 3
    Хранилище сценариев

    Сохранение версии и корневой вкладки графа.

    Опубликовать
  4. 4
    Kafka → потребители

    Распространение опубликованных версий и актуальных настроек.

В документации разных поставок встречаются префиксы wf-/svr- и sbx-/nr-sbx-. При поиске логов используйте имена сервисов из вашего compose-файла.

Граф сценария в Sandbox · открыть
Граф сценария в Sandbox
Нажмите на изображение, чтобы открыть в полном размере.