概览
sidebar_position: 1 title: 概览
规则引擎设计概览
规则引擎模块旨在为系统提供灵活的业务规则配置与匹配能力。它能够根据设备的硬件信息(如MAC、CPU、内存)、软件信息(如版本、SDK)以及归属信息(如渠道、地区)进行精确的条件匹配,从而筛选出符合特定业务场景的设备。
本系统规则引擎的底层实现采用了 LiteFlow 组件,利用其轻量级、高性能和编排式的特性来处理复杂的规则链。
1. 概述 (规则引擎)
在规则引擎设计中,系统的核心目标是实现灵活的业务匹配。
规则引擎模块旨在为系统提供灵活的业务规则配置与匹配能力。它能够根据设备的硬件信息(如MAC、CPU、内存)、软件信息(如版本、SDK)以及归属信息(如渠道、地区)进行精确的条件匹配,从而筛选出符合特定业务场景的设备。
本系统规则引擎的底层实现采用了 LiteFlow 组件,利用其轻量级、高性能和编排式的特性来处理复杂的规则链。
2. 核心能力 (规则引擎)
规则引擎具备以下核心技术能力:
- 多维匹配:支持数十种设备属性的组合判断(AND/OR逻辑)。
- 可视化编排:提供前端图形化/树形编辑器,降低运营配置门槛。
- 高性能:基于 Redis 多级缓存架构,支持高并发设备请求(毫秒级响应)。
- 业务隔离:支持多业务线复用同一套规则引擎,通过
BusinessType进行隔离。
3. 支持的业务场景 (规则引擎)
目前规则引擎已接入以下核心业务模块:
| 业务模块 | 业务类型 (Enum) | 说明 | 审批要求 |
|---|---|---|---|
| 任务推送 | TASK_PUSH (0) | 向特定设备推送定时任务、消息通知 | 需要审批 |
| Launcher广告 | LAUNCHER_PUSH (1) | 控制开机广告、贴片广告的精准投放 | 需要审批 |
| 黑名单管理 | BLACK_LIST (2) | 智能拦截、卸载违规应用 | 需要审批 |
| UOTA升级 | UOTA_UPDATE (3) | 定向推送固件或应用升级包 | 无需审批 |
| 域名分发 | DOMAIN_DISPATCH (4) | 动态下发服务节点域名(灰度发布、地域调度) | 无需审批 |
4. 技术架构简述 (规则引擎)
规则引擎的技术架构主要由以下部分组成:
-
后端:
- 核心引擎:LiteFlow (EL表达式执行)
- 缓存层:Redis (Set/Hash结构,缓存规则关系与详情)
- 存储层:MySQL (规则定义、绑定关系)
- 交互层:Feign Client (内部RPC), Kafka (异步事件/审批状态同步)
-
前端:
- 管理组件:
RuleBusinessTabs(Vue3通用组件,集成在各业务页面) - 编辑器:基于 LiteFlow 语法的可视化设计器
- 管理组件: