Skip to main content

Flow Rules

Версия: 1.26.0

Flow Rules в основном предназначены для связывания атрибутов и обработки существующих атрибутов, перевода их в новые виртуальные атрибуты. Они также могут функционировать как обычные правила событий. Они полезны для пользователей, которые хотят создавать правила в визуальной форме, но также нуждаются в определении более сложных правил, чем это возможно в редакторе пользовательского интерфейса правил When-Then (JSON).

Flow Rules можно создавать в визуальном редакторе или писать вручную в собственном формате JSON.

Редактор потока менеджера

Модель правил потока

Коллекции узлов

Правило потока — это объект, который хранится в формате JSON и интерпретируется диспетчером. Flow Rules в серверной части называются коллекциями узлов. Это совокупности связанных узлов, которые могут получать, обрабатывать, а затем выводить информацию. Коллекции узлов можно дать имя и описание, как и другим типам правил.

Узлы и соединения

Узел — это объект, который получает, манипулирует или выводит данные через свои сокеты. Узлы разделены на три категории.

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

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

Примечание

Входные данные процессора выполняются сверху вниз; например для деления верхний вход — это числитель, нижний — знаменатель, а для оператора степени верхний — это основание, а нижний — показатель степени.

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

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

Выполнение

Коллекции узлов отправляются менеджеру и преобразуются в правило. Все правила имеют условие и действие. Действие выполняется при выполнении условия. Правило потока выполняется только в том случае, если значение атрибута актива в левой части правила было изменено. Однако не все входные узлы включены в левую часть правила потока.

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

См. также


Уведомление о лицензии: атрибуция документации OpenRemote