规则引擎实践 | 青训营笔记

52 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

1、规则引擎介绍

image.png

当计算规则不断变换的时候,代码实现会有较大变动, 上一个计算规则的代码不能复用,或者在此基础上修改。 规则引擎就像模型一样可以适应不同规则

image.png

规则引擎是应用程序的组件,实现程序与业务决策分离解耦

image.png

缩短开发路径,提升效率

组成部分

数据输入

规则理解

按照语义语法理解业务规则

规则执行

应用场景

风控对抗,借助规则引擎可以分钟级地升级对抗规则

image.png

image.png

image.png

2、编译原理的基本概念

词法分析

把源代码字符串翻译成词法单元(Token)

image.png

有限自动机 源代码字符串切分,转换成各种状态(归类到属性) image.png

语法分析

识别语法结构 在代码中是表达式结构 image.png

抽象语法树

image.png

上下文无关语法

巴科斯范式 image.png

image.png

mul : pri or mul : mul '*' pri

递归下降算法

自顶而下构造表达式,可能涉及递归

类型检查

根据子表达类型构造出父表达类型

image.png

编译时检查&运行时检查

设计规则引擎

image.png

设计词法分析状态机

image.png

设计语法分析

image.png

优先级表达

image.png

实现规则引擎