2016-10-17 12 views
0

Я работаю над проектом Drools, который включает в себя множество правил. Мы используем правила Drools для проверки. Существует много полей и различных комбинаций ошибок. В рабочей среде Drools 6.4.0 мы используем мастера Guided Rules (с DSL), чтобы обеспечить удобный пользовательский интерфейс для создания правила. Проблема заключается в том, что каждое новое действие управляемого правила позволит вам создать только одно правило, и оно сохраняется как один файл правил, файл .rdslr.управляет правилом верстака с помощью слюни, чтобы включить несколько правил в один файл

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

Если мне нужно сохранить каждое правило в собственном файле правила, существует ли ограничение на количество файлов правил? Есть ли проблема с производительностью?

ответ

0

Если я вручную создаю правила слюни, я могу просто объединить их вместе, как 10 или 20 правил, в один файл правил. Используя веб-интерфейс управления правилами, есть ли способ добавить новое правило в существующий файл управляемых правил? В противном случае мне нужно будет создать файл правил для каждого правила, в результате получится огромное количество файлов правил, очень трудно ориентироваться в веб-интерфейсе.

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

Если мне нужно сохранить каждое правило в своем собственном файле правил, существует ли ограничение на количество файлов правил?

Практический предел, на самом деле - тысячи легко доступны с надлежащим компьютерным оборудованием (ЦП, ОЗУ).

Есть ли проблема с производительностью?

С несколькими файлами правил, нет. При запуске Drools обрабатывает эти правила во внутренних кэшированных таблицах, поэтому конечный результат фактически одинаковый независимо от формата исходного правила (например, один файл большого правила, все в отдельных файлах правил).

Что касается вопроса о влиянии на организацию правил, больше зависит от количества правил. Производительность по-прежнему очень хороша с множеством правил. Как и ожидалось, я замечаю более длительное время сборки с большим количеством правил в системе, но не медленностью выполнения.

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

+0

К сожалению, таблица решений не поддерживает DSL, и большинство наших правил проверки не могут быть выражены набором операторов по умолчанию. Я не вижу поддержки простого примера, например, поля максимальной длины. Я хочу, чтобы пользователь мог ввести число в строке, тогда мы можем построить правило вроде myfield.length()> maxLength, а затем добавить код ошибки. –

+1

В таблице руководствуемых решений имеется множество недостатков/недостающих функций. Две вещи в этом отношении: 1. Используйте условие или действие BRL или DRL, поскольку оно позволяет кодировать необходимый фрагмент; 2. Используйте электронную таблицу для полной мощности таблиц решений и загрузите ее. Я нашел, что конечные пользователи энергии хорошо адаптируются к таблице решений и любят ее. Нет необходимости в DSL. Наконец, последнее утверждение означает, что вы должны рассмотреть шаблоны Drools. Они делают это красиво - определяют таблицу только для данных (1 строка - это 1 правило) и создают правило шаблона (параметризованное правило), которое генерирует одно правило для каждой строки таблицы. – Jeff

+0

мы можем добиться этого, расширив другие правила в редакторе управляемого правила? – Neetika

 Смежные вопросы

  • Нет связанных вопросов^_^