跳到主要内容

00-核心概念与快速预览

核心概念:规则引擎 | 00-核心概念与快速预览 | 概览

欢迎来到规则中心!本页面将帮助您快速理解规则引擎的核心思想、各个模块之间的关系以及系统的工作原理。


核心概念:规则引擎 | 00-核心概念与快速预览 | 1. 核心概念

1. 核心概念

在规则中心核心概念中,在开始使用之前,请先熟悉以下核心概念:


核心概念:规则引擎 | 00-核心概念与快速预览 | 1.1 规则 (Rule)

1.1 规则 (Rule)

规则是规则中心的基本单元,规则是逻辑判断的核心单元,定义了"什么样的设备符合条件"。

配置项说明
MAC配置直接在规则上导入MAC地址,限制特定设备
MAC资源引用当多个规则使用同一批MAC时,可引用MAC资源包
渠道配置限制规则只对特定渠道的设备生效
地区配置限制规则只对特定地区的设备生效
EL表达式高级用法,可配置灵活的过滤条件(如 SDK版本>46 且 构建包含>NRD91N

核心概念:规则引擎 | 00-核心概念与快速预览 | 1.2 MAC资源 (MAC Resource)

1.2 MAC资源 (MAC Resource)

MAC资源是规则中心用于管理设备集合的机制,是一组MAC地址的集合库。当多个规则需要使用同一批设备清单时,可以建立一个MAC资源包,在不同规则中直接引用,实现复用。

典型场景:"VIP测试组"包含1万台设备,需要在任务推送和广告投放两个规则中同时使用。


核心概念:规则引擎 | 00-核心概念与快速预览 | 1.3 业务绑定 (Business Binding)

1.3 业务绑定 (Business Binding)

业务绑定是将规则应用于具体业务的机制。规则本身是独立的,只有被具体的业务绑定后,才会真正生效。

支持的业务类型

业务类型对应模块文档说明是否需审批
任务推送任务推送管理向设备推送任务配置
Launcher广告Launcher信息管理广告位配置推送
黑名单黑名单配置黑名单卸载配置
UOTA升级UOTA信息管理系统升级包推送
域名分发域名分发管理设备域名配置

操作方式

  • 绑定规则:业务侧可直接关联已有规则
  • 新增规则:在业务侧新增的规则会自动绑定到当前业务
  • 新增MAC/渠道/地区:必须选择放在一条已绑定的规则之下

核心概念:规则引擎 | 00-核心概念与快速预览 | 1.4 EL表达式 (EL Expression)

1.4 EL表达式 (EL Expression)

EL表达式是规则中心基于 LiteFlow 规则引擎的领域专用语言(DSL),用于以声明式方式描述复杂的设备过滤和业务编排逻辑。既支持通过可视化拖拽自动生成,也支持直接编写文本形式的表达式,二者语义完全一致。

下方示例中的 EL 表达式,其业务含义为:当设备的“渠道名称”包含 2024,且同时满足“SDK 版本以 rk 开头”或“激活时间在 2026-01-01 00:00:00 至 2026-01-30 00:00:00 区间”这两类条件之一时,规则判定为通过;否则规则不通过:

IF(
AND(
OR(
startsWithCmp.tag("build").data("rk"),
betweenLInclCmp.tag("activationTime").data("2026-01-01 00:00:00,2026-01-30 00:00:00")
),
containsCmp.tag("channelName").data("2024")
),
deviceTrueCmp,
deviceFalseCmp
);

核心概念:规则引擎 | 00-核心概念与快速预览 | 2. 模块关系图(不考虑审批相关限制)

2. 模块关系图(不考虑审批相关限制)

规则中心模块关系图展示了规则、MAC资源与业务系统之间的关系。

审批相关的业务(黑名单、launcher、任务推送)很特殊, 一条规则但凡被一条需要审批的业务绑定之后,就不能再绑定其它任何数据了,如果这时候这条规则去绑定mac资源,mac资源同样也会有只能1对1绑定的限制, 所以如下的图中是不考虑审批限制的关系图

下图展示了规则、MAC资源与业务系统之间的关系(不考虑审批限制):

Mermaid Diagram Code:

graph TD
    subgraph 规则中心
        R1[规则 A]
        R2[规则 B]
        MR[MAC 资源包]
        
        MR -->|被引用| R1
        MR -->|被引用| R2
    end
    
    subgraph 业务系统
        B1[任务推送]
        B2[Launcher广告]
        B3[黑名单]
        
        B1 -->|绑定| R1
        B2 -->|绑定| R1
        B3 -->|绑定| R2
    end
  • MAC资源规则 引用(复用)
  • 规则业务 绑定(生效)
  • 在业务侧新增的MAC/渠道/地区,实际上是直接附加在当前绑定的规则

核心概念:规则引擎 | 00-核心概念与快速预览 | 3. 数据关系图

3. 数据关系图

规则中心数据关系图展示了规则引擎涉及的主要数据表及其关系:

Mermaid Diagram Code:

graph TD
    subgraph 规则核心
        Chain[规则定义表]
        MacItem[规则关联MAC表]
        ChannelItem[规则关联渠道表]
        RegionItem[规则关联地区表]
        MacResRef[规则关联MAC资源表]
    end
    
    subgraph MAC资源
        MacRes[MAC资源表]
        MacResItem[MAC资源关联MAC表]
    end
    
    subgraph 业务关联
        Business[规则关联业务表]
    end
    
    Chain --> MacItem
    Chain --> ChannelItem
    Chain --> RegionItem
    Chain --> MacResRef
    MacResRef --> MacRes
    MacRes --> MacResItem
    Chain --> Business

核心概念:规则引擎 | 00-核心概念与快速预览 | 4. 匹配逻辑 (工作原理)

4. 匹配逻辑 (工作原理)

规则中心的匹配逻辑(工作原理):当机顶盒(设备)请求服务器时,系统是如何判断它该获取哪些配置的呢?


核心概念:规则引擎 | 00-核心概念与快速预览 | 4.1 匹配流程图

4.1 匹配流程图

规则匹配流程图展示了设备请求到返回结果的完整过程。

Mermaid Diagram Code:

graph TB
    A[设备请求] --> B[传入业务类型和设备信息]
    B --> C[信息补全]
    C --> D[初筛候选规则]
    
    D --> D1[MAC专属规则]
    D --> D2[渠道关联规则]
    D --> D3[无设备限制规则]
    D --> D4[业务类型规则]
    
    D1 --> E[集合运算]
    D2 --> E
    D3 --> E
    D4 --> E
    
    E --> F[地区过滤]
    F --> G[EL表达式计算]
    G --> H[数量限制检查]
    H --> I[返回业务ID集合]

核心概念:规则引擎 | 00-核心概念与快速预览 | 4.2 详细流程说明

4.2 详细流程说明

规则匹配详细流程说明如下表所示:

步骤说明
1. 请求输入业务模块传入设备MAC、业务类型等信息
2. 信息补全根据MAC查询设备详细画像(渠道、地区、硬件配置等)
3. 初筛候选规则从Redis缓存中获取MAC专属规则、渠道关联规则、无限制规则、业务类型规则
4. 集合运算候选规则 = (MAC规则 ∪ 渠道规则 ∪ 无限制规则) ∩ 业务类型规则
5. 地区过滤检查规则是否有地区限制,设备地区不匹配则跳过
6. EL表达式计算将设备详情注入LiteFlow上下文,执行EL表达式匹配
7. 数量限制检查检查业务剩余数量是否满足要求
8. 结果输出返回匹配成功的业务ID集合

通过理解以上概念,您就可以更清晰地进行规则清单管理MAC资源管理以及业务侧集成的操作了。

AI 问答