规则引擎的定义
规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用指定定义的语义模块编写业务决策,接受数据输入,解释业务规划,并根据业务规划做出相应的决策
简单来说就是规则引擎只要有开发人员及业务人员的规则下,规则引擎就会自动实现其业务逻辑。
从而提高业务决策与服务本身的解耦,提高服务的可维护性,缩短开发路径,提高效率
组成部分
数据输入 ==> 规则理解 ==> 规则执行
应用场景
风控对抗
黑灰产的对抗过程中,策略研发产品需要能够识别和对抗。而作为规则引擎核心,能够让产研人不断地调整及优化
活动策略
业务活动要对用户的反馈及建议进行优化或者调整。引入引擎之后,可以将服务代码与业务运营进行解耦。提高服务迭代的效率
数据分析和清洗
在数据分析系统中使用规则引擎可以便捷的实现对数据的整理,在对数据分析及转换时,其可以方便快速的产出所需要的数据
编译原理基本概念 (三阶段)
理解 (词法分析、语法分析)
词法分析:把源代码字符串转为词法单元(Token)的这个过程
语法分析:在词法分析的基础上识别出表达式的语法结构
执行 (抽象语法树)
表达式抽象语法结构的树状表示,对于一个表达式,抽象语法树一定时候唯一确定的
输入输出 (参数注入、类型检查)
类型检查:验证执行的结果是否为合适的数据类型。在抽象语法树中。通常会验证某节点的子节点的数据类型是否合法
参数注入:在规则执行的过程中,使用给输入的参数来计算语法树中的标识符节点值的过程