跳到主要内容

03-业务侧集成

核心概念:规则引擎 | 03-业务侧集成 | 概览

业务侧集成用于把规则中心的规则绑定到具体业务,例如任务推送、Launcher 广告、黑名单、UOTA 和域名分发。业务页面只负责选择规则和查看影响范围;规则条件本身在规则中心维护。


核心概念:规则引擎 | 03-业务侧集成 | 数据关系与计算方式

数据关系与计算方式​

系统通过业务类型和业务编号找到相应的规则绑定关系。业务名称来自任务、Launcher、黑名单等业务记录;规则名称、启用状态和生效状态来自规则中心,两部分信息由不同页面维护。

页面平时显示最近一次保存的设备数量及统计时间。点击“重新计算”后,系统会根据当前有效的规则、直接 MAC、MAC 资源包和渠道重新统计,并按 MAC 去重。多条规则、多个资源包或多个渠道包含同一 MAC 时只计一次。

计数范围与最终匹配范围不同

当前数量计算不会应用地区和高级条件,只能用于快速判断大致设备范围。如果规则还配置了这些条件,最终符合条件的设备可能少于页面数量。该数量也不表示设备在线、已收到内容、已下载、已安装或已执行成功。

如果任一有效规则被标记为“无设备限制”,设备数量会按全部已激活设备显示。只有渠道时统计该渠道下的设备;只有 MAC 时合并直接 MAC 与资源包 MAC;渠道和 MAC 同时存在时,两部分设备会合并统计,而不是要求设备同时满足两类条件。


核心概念:规则引擎 | 03-业务侧集成 | 快速操作

快速操作​

  1. 在业务列表中选择目标记录,打开“规则配置”。
  2. 绑定已有规则,或新增一条规则并自动绑定。
  3. 检查规则是否启用、是否已生效,以及设备限制是否符合预期。
  4. 返回业务列表查看设备数量;需要最新结果时点击“重新计算”。
  5. 业务发布或审批完成后,再由设备请求命中相应配置。
多规则命中

同一业务可以绑定多条规则。设备只要匹配其中任意一条规则,就会命中该业务;设备数量按所有规则覆盖设备的并集计算,会自动去重。


核心概念:规则引擎 | 03-业务侧集成 | 1. 业务类型

1. 业务类型​

“业务类型”使用数据字典“规则引擎定义的业务类型”,字典类型为 rule_business_type。以下数据截至 2026-08-27 17:48:07(UTC+8),所有字典项当前均为启用状态。

显示名称取值对应业务
任务推送0APK 等任务的设备推送。
launcher广告配置1Launcher 广告资源配置。
黑名单2应用黑名单策略。
uota升级3UOTA 升级配置。
域名分发之域名4域名分发中的域名配置。
域名分发之UOTA5域名分发中的 UOTA-APP 配置。

“按规则引擎导出设备”使用固定的专用业务类型,不在该下拉字典中选择。


核心概念:规则引擎 | 03-业务侧集成 | 2. 查看已绑定规则

2. 查看已绑定规则​

规则绑定列表

页面会自动带入当前业务 ID;先在上方业务列表选中一条记录,才能查询其绑定规则。

已绑定规则列表字段说明
规则 ID规则中心中的规则编号。
规则别名便于用户识别的名称,可以与其他规则重复。
规则名称规则的唯一名称。
设备限制显示“有设备限制”或“无设备限制”。无设备限制的规则可能覆盖全部已激活设备,应重点核对。
规则是否启用数据字典 liteflow_enable。禁用规则不参与当前匹配。
EL 数据当前规则的组合条件摘要;内容较长时可悬停查看完整内容。普通用户修改条件时应使用“EL 表达式”入口。
规则状态规则本身的生效状态,使用数据字典 bpm_valid。
绑定关系状态当前业务与这条规则关系的生效状态,使用数据字典 bpm_valid;它与规则状态是两件事。
设备数量该条规则最近一次计算的覆盖设备数;未计算时可点击刷新按钮。
备注规则维护说明。
操作可编辑规则、进入条件编辑、解绑,以及在存在待处理变更时取消规则或绑定关系变更。实际按钮受状态和权限限制。

解绑只会移除当前业务与规则的关系,不会删除规则中心中的规则。

只有规则处于启用状态,并且规则与绑定关系均已生效时,才应作为当前有效配置理解。若页面显示“已生效且做修改标记”或“已生效且做移除标记”,表示当前线上数据仍有效,但已经存在待审批的修改或移除操作。


核心概念:规则引擎 | 03-业务侧集成 | 3. 绑定规则

3. 绑定规则​

3.1 绑定已有规则​

点击“绑定已有规则”,从规则中心选择适合当前业务类型的规则并确认。

绑定已有规则

弹窗可按规则名称、规则别名查询。候选列表只显示可供当前业务类型使用的规则,字段如下:

候选规则字段说明
ID规则编号。
规则别名、规则名称用于识别规则。
设备限制标明是否已经配置 MAC 或渠道限制。
是否启用数据字典 liteflow_enable。
备注规则用途说明。

一次只能选择一条规则,可单击选择后确认,也可双击该行直接绑定。绑定前应检查规则名称、启用状态、设备限制和现有使用范围,避免把面向其他设备群体的规则误绑到当前业务。

3.2 新增规则并自动绑定​

没有合适规则时,点击“新增”,填写规则基本信息。保存后,新规则会加入规则中心并自动绑定到当前业务。

3.3 前端业务页集成(开发人员)​

前端通用组件 RuleBusinessTabs 集成查看、绑定、解绑和规则限制配置。业务页传入业务类型和当前业务 ID 即可将规则与业务记录关联:

<RuleBusinessTabs
:business-type="BusinessTypeEnum.DOMAIN_DISTRIBUTION"
:business-id="currentRow?.id"
/>

business-type 必须使用当前前后端共识的业务类型枚举;business-id 必须是已保存的业务记录 ID。对共享规则增加 MAC、渠道或地区会影响它的所有引用者;只服务当前业务时建议新建独立规则。

新增规则并自动绑定

新增字段必填说明
业务类型、业务 ID自动带入来自当前选中的业务,不需要手工选择。
规则别名是便于用户识别规则。
规则名称是规则的唯一名称,只能使用字母、数字和下划线。
渠道否新增时可直接选择初始渠道,选项来自设备管理中的渠道列表,不是数据字典。
是否启用是数据字典 liteflow_enable。
备注否记录规则用途和限制范围。

新规则仍需完成必要的条件配置和审批。自动绑定不等于已经启用或已经生效。


核心概念:规则引擎 | 03-业务侧集成 | 4. 设备限制配置

4. 设备限制配置​

规则可以通过渠道、MAC、MAC 资源、地区和表达式等条件限制设备范围。各条件是否参与最终匹配,以业务实际支持范围为准。

防止意外匹配全部设备

为规则删除最后一条 MAC 或渠道限制时,系统可能加入占位 MAC,防止规则突然变为“无设备限制”。看到占位项时不要把它当成真实设备;应先补齐正确限制,再按流程处理占位项。

4.1 规则 MAC​

规则MAC配置

可按 MAC、生效状态和创建时间查询,业务 ID 由当前业务自动带入。

MAC 列表字段说明
MAC参与当前业务规则匹配的设备 MAC。
规则 ID、规则别名、规则名称说明这条 MAC 来自哪一条已绑定规则。
规则是否启用对应规则的启用状态。
数据有效性这条 MAC 关系的生效或变更状态。
来源类型区分“规则关联 MAC”和“规则关联 MAC 库”。
MAC 库 ID、MAC 库名称仅资源包来源有值,用于追查原资源包。
创建时间这条关系的建立时间。
操作可删除或取消待处理变更;资源包来源的 MAC 会按资源包明细处理。

新增时填写或导入 MAC。同步导出会导出当前业务关联的 MAC;异步导出、按导入文件删除等更完整操作应进入规则中心。批量删除前应结合“来源类型”核对,避免误删资源包中的共享明细。

规则MAC批量删除

批量删除前应核对选中范围。删除后可能改变业务覆盖设备,需重新计算设备数量并按审批要求发布。

4.2 规则渠道与地区​

规则渠道配置

规则地区配置

渠道和地区是两个独立页面,不要把两类字段合并理解。

规则渠道页面说明
查询条件业务 ID 自动带入;可按数据有效性筛选。
列表字段关联 ID、规则 ID、规则别名、规则名称、规则是否启用、渠道、数据有效性、操作。
新增字段从设备管理的渠道列表中选择渠道;渠道是动态业务数据,不是数据字典。
删除影响只移除所选规则与渠道的关系,不删除渠道基础资料。
规则地区页面说明
查询条件业务 ID 自动带入;可按数据有效性筛选。
列表字段关联 ID、规则 ID、规则别名、规则名称、规则是否启用、地区、数据有效性、操作。
新增字段从地区管理的现有地区中选择;地区是动态业务数据,不是数据字典。
删除影响只移除所选规则与地区的关系,不删除地区基础资料。

渠道用于限制设备来源,地区用于限制设备所在区域。若规则同时配置多类条件,应以规则表达式展示的组合关系判断最终范围。


核心概念:规则引擎 | 03-业务侧集成 | 5. 查看设备数量

5. 查看设备数量​

点击规则绑定列表中的设备数量,可查看该规则当前匹配的设备数。

规则匹配设备数量

业务列表中的设备数量按该业务绑定的全部规则合并计算。点击“重新计算”可以用当前数据刷新统计结果。统计用于评估覆盖范围,不代表设备已经完成拉取、下载或执行。

设备数量详情字段说明
设备数量最近一次保存的去重统计结果。
业务类型当前统计对应的业务类型,使用字典 rule_business_type。
业务 ID当前业务记录编号。
规则 ID查看单条规则数量时显示对应规则编号;查看整个业务数量时可能为空。
创建时间首次形成该统计记录的时间。
最近一次更新时间最近一次重新计算并保存结果的时间,可据此判断数字是否过旧。

以下情况应重新计算:

  • 修改了渠道、直接 MAC 或 MAC 资源;
  • 新增、解绑、启用或停用了规则;
  • 设备基础数据发生较大变化;
  • 页面显示“未计算”或统计时间明显早于最近一次配置变更。

仅修改地区或高级条件时,最终实际匹配范围会变化,但本页快速设备数量不会使用这两类条件,因此重新计算后数字可能保持不变。应通过实际业务请求或执行结果核对最终命中情况,不要把快速数量当作完整规则结果。


核心概念:规则引擎 | 03-业务侧集成 | 6. 数据字典

6. 数据字典​

以下字典数据截至 2026-08-27 17:48:07(UTC+8),所列字典项当前均为启用状态。

规则有效状态​

字典名称:liteflow规则有效状态;字典类型:liteflow_enable。

显示名称取值含义
禁用0规则不参与当前匹配。
启用1规则可以参与匹配,仍需同时满足生效与条件要求。

生效检测​

字典名称:bpm生效检测;字典类型:bpm_valid。

显示名称取值含义
未生效0当前配置尚未进入生效数据。
已生效1当前配置已经生效。
已生效且做修改标记2线上数据仍生效,同时存在待处理修改。
已生效且做移除标记3线上数据仍生效,同时存在待处理移除。
已生效且修改状态为启用4已生效数据存在启用状态变更。
已生效且修改状态为禁用5已生效数据存在禁用状态变更。

审批状态​

字典名称:bpm流程审批状态;字典类型:bpm_inst_status。

显示名称取值含义
系统错误-2审批过程发生系统错误,需要重新提交或联系管理员处理。
未开始(草稿)-1变更仍为草稿,尚未提交审批。
审批中1变更正在审批。
审批通过2变更已通过审批。
审批不通过3变更未获批准。
已取消4审批已被取消。

核心概念:规则引擎 | 03-业务侧集成 | 7. 特殊业务差异

7. 特殊业务差异​

按规则引擎导出设备

该导出业务不使用规则中的 MAC 直接绑定关系,规则 MAC 会被忽略。配置与排查方法参见按规则引擎导出设备。

其他业务是否支持特定设备限制,以对应业务页面的提示为准。不要仅因为规则中心存在某类配置页,就认定所有业务都会使用该条件。


核心概念:规则引擎 | 03-业务侧集成 | 常见问题

常见问题​

绑定后为什么没有生效?​

依次检查规则是否启用、规则和绑定关系是否生效、业务审批是否完成、设备是否满足限制条件,以及业务本身是否处于可用状态。

为什么设备数量和实际执行数不同?​

设备数量表示按当前规则计算的覆盖范围。设备是否在线、是否发起请求、是否完成下载或执行,不属于规则设备数量的统计结果。

解绑会删除规则吗?​

不会。解绑只影响当前业务;规则仍保留在规则中心,可能继续被其他业务使用。

多条规则如何生效?​

一个业务可以绑定多条规则。设备命中其中任意一条即可进入该业务的候选结果,最终是否返回还受业务启用、审批、版本、平台或文件状态等业务条件影响。


核心概念:规则引擎 | 机顶盒请求 | 匹配链路 | 调试

8. 设备请求时的匹配链路​

Mermaid Diagram Code:

sequenceDiagram
    participant D as 设备
    participant B as 业务模块
    participant R as 规则引擎
    participant C as 规则配置/缓存
    D->>B: 请求业务配置并上报设备信息
    B->>R: 业务类型、业务ID、设备上下文
    R->>C: 读取启用且生效的绑定和限制
    R->>R: 计算 MAC、MAC资源、渠道、地区及高级条件
    R-->>B: 命中的业务ID集合
    B-->>D: 再过滤启用/审批/文件等业务条件后返回

调试方法​

  1. 确认设备上下文完整,尤其是 MAC、渠道和地区。
  2. 确认规则、业务绑定及其限制配置都已启用且生效。
  3. 先用最小限制规则验证业务绑定,再逐项增加 MAC、渠道、地区和高级条件。
  4. 同时保留一个应命中和一个不应命中的设备样本,以排除“全部放行”的假阳性。
  5. 设备数量是静态覆盖预估,实际业务请求才是运行时命中证据。

域名分发历史测试样例​

以下地址和数据来自被误删版本,用于复现当时测试环境中的规则匹配结果:

  • 接口:POST http://192.168.1.87:8742/app-api/hnc2fng/ghbn1hebdsh2/yh65hbfvg3jfdbs
  • 请求:
{
"platform": "Allwinner",
"mac": "9C:00:D4:5B:16:03",
"cpu": "02c001811460462079468908603105d4"
}
  • 规则计算后的响应:
{
"code": 200,
"data": {
"uotaApps": [
{
"id": 2,
"infraFileId": 6517,
"url": "http://192.168.1.87:9000/nebula-ids/cc8c01a176b04b7087932cb3caf57b599c7c99dd48dbfa14bca7635020faebb7.apk",
"size": 4747893,
"packageName": "com.android.netservice",
"versionCode": 49,
"versionName": "netservice-3.4.9-allwinner",
"platform": "allwinner",
"md5": "51399d1701adf0c13aab536fb91c0dc1"
}
],
"domains": [
{
"id": 7,
"type": 0,
"domainNames": "akrdinfo2.cn"
}
]
},
"msg": ""
}

apiFox提交数据

开发文档
AI 助手
Agent 列表
请选择一个 Agent 开始对话
AI 问答