xenon
@xenon
Too drunk to fsck

Проверка/классификация структур на соответствие пользовательским правилам/шаблонам — есть ли универсальный метод?

Хотел было уже быстренько велосипед соорудить, но подумал - задача вроде крайне частая - наверняка же есть общее универсальное решение? (логика говорит - всяко должно существовать, опыт админства говорит - везде свои самодельные "велосипеды").

Много где требуется проверять, что структура данных соответствует (или нет) пользовательскому шаблону:
- файрвол позволяет проверять данные из пакета и из статуса сессии ("если protocol==tcp и dst_post==80, то ...")
- какой-нибудь модуль веб-сервера: ("если request=="/admin/.* и remote_ip != 1.2.3.4" )
- само приложение ("если тест комментария содержит слово "гуппи" ( то выставляем метку "аквариумистика"")
- емейл клиент ("если From=="root@.* и (subject содерижит "error" или body содержит "error") " -помещаем в папку "сообщения об ошибках от серверов")

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

Есть ли уже готовый механизм, делающий это? Так чтобы любая софтина, где нужно классифицировать любые сколь угодно сложные структуры, просто бы могла подключить нужную либу, и сразу можно было бы писать сколько угодно сложные правила классификаций в каком-то более-менее стандартизованном формате?
  • Вопрос задан
  • 2667 просмотров
Пригласить эксперта
Ответы на вопрос 1
Об универсальных способах прямо таки для любой предметной области мне неизвестно. Однако для сложной логики следует применять таблицы принятия решений
По идее, эти таблицы можно хранить в БД, собрав воедино с учётом предметной области.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы