1

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

Topic: Сменить логику создания уведомлений на предикатную

Сейчас логика создания уведомлений жестко привязана к типу уведомления. А к нему, в свою очередь, ряд доп. параметров, для каждого типа уведомлений свой.
Поэтому для создания реакции на сложные события (пример: ТС пропало свыше 30 минут назад, двигаясь в геозоне ИМЯ со скоростью свыше 40 км/ч) приходится извращаться (другого слова не подберу) с автопереносом объекта в группы, валидацией датчиков и пр.

В случае реализации в рамках предлагаемого, данные конструкции становятся нативными и логически прозрачными.

Итак, предложение: все уведомления создаются по предикатному принципу (Если - То). Причем условия "Если" базируются на булевой алгебре и объединяются произвольными связками И-ИЛИ-НЕ, посредством скобок.

В качестве аргументов для "Если" выступают типы событий, параметры из сообщений, значения датчиков или счетчиков и т.п.
Для примера выше будет конструкция вида:
Если ТС пропало свыше 30 минут назад И ТС было в зоне ИМЯ И скорость ТС была >40 км/ч ТО __ реакция на событие_ (здесь типовые существующие варианты реагирования).

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

2

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

Re: Сменить логику создания уведомлений на предикатную

Реализация этого предложения сделает настройку уведомлений более гибкой и, вероятно, более простой.

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

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

Tatsiana Kots
Business Analyst, Gurtam
Join our Telegram Update Channel | Следите за обновлениями на нашем Telegram канале
3

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

Re: Сменить логику создания уведомлений на предикатную

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

Хорошо-бы поскорее реализовать, а не через год.

4

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

Re: Сменить логику создания уведомлений на предикатную

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

Но это все здорово, но сначала надо вылечить "нескладушки" со статистикой топлива. Т.к. это граничит с крахом смысла площадки мониторинга как таковой.

5

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

Re: Сменить логику создания уведомлений на предикатную

Красиво написал, прямо ТЗ. Вот все бы так формулировали.

6

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

Re: Сменить логику создания уведомлений на предикатную

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

7

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

Re: Сменить логику создания уведомлений на предикатную

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

Tatsiana Kots
Business Analyst, Gurtam
Join our Telegram Update Channel | Следите за обновлениями на нашем Telegram канале
8

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

Re: Сменить логику создания уведомлений на предикатную

В предложеном примере 3 условия, трудно предумать более сложное условия для уведомления. По крайне мере те, что у меня, состоят из 2.
В предложенном варианте ТС, условия можно раздуть до трудноввполнимого процесса. Т.е. реализация самой идее может занять год, а ее оптимизация два. И я боюсь, что все может свестимь к банальному ограниченю.
Я бы предложил возможнлсть указать 4 услови в одном уведомлении (один на всякий случай), но всегда можно провести опрос.

9

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

Re: Сменить логику создания уведомлений на предикатную

RedRock wrote:

Я бы предложил возможнлсть указать 4 услови в одном уведомлении (один на всякий случай), но всегда можно провести опрос.

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

Нигде я не оговариваю длину цепочки условий. В общем случае ее нет.

С точки зрения обработки предикатной логики все события по условиям любой сложности преобразовываются в простые логические связности операций булевой алгебры. Они нативны для компьютера и не требуют сколь-угодно сложных ресурсов.
А логическую маску булевых переменных можно создавать одновременно с созданием уведомления.

10

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

Re: Сменить логику создания уведомлений на предикатную

Коллеги по Виалон! Кому необходимо или интересно, повышайте рейтинг задачи, справа вверху плюс.

Уважаемые разработчики и руководители по продукту Wialon!
Можете написать, какие-то подвижки по вопросу темы есть? Хоть что-то, хоть совещались по предмету, я уж про саму доработку и не говорю, не в этой жизни, видать...

11

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

Re: Сменить логику создания уведомлений на предикатную

Добрый день, SanderAMC.
К сожалению, в этом вопросе подвижек нет. Идея хорошая, хотелось бы заняться, но требуется уйма ресурсов, чтобы проработать все детали, переписать и поддержать старый формат. В этом году навряд ли дойдет дело. Но, может, следующий будет более плодотворным в этом вопросе.
Отмечу, что в блоке "Уведомления" в беклоге ваше предложение занимает важное место)

Tatsiana Kots
Business Analyst, Gurtam
Join our Telegram Update Channel | Следите за обновлениями на нашем Telegram канале