ik_rule · 规则与设备范围
MySQL 8.0.35。共 12 张表/视图、110 个字段、0 条物理外键。
保存设备筛选规则、业务绑定、渠道/地区/MAC条件及可复用MAC资源。管理员配置或导入名单形成规则范围,审批决定相关业务配置何时生效。
表清单
使用状态:已接入 12 张。
| 表名 | 数据库表注释 | 字段数 | 使用状态 | 字段与索引 |
|---|---|---|---|---|
| rule_bpm_no_start_message | 规则待审批数据消息表 | 18 | 已接入 | 查看 |
| rule_business | 规则关联业务表 | 11 | 已接入 | 查看 |
| rule_business_limit | 业务数量限制表 | 5 | 已接入 | 查看 |
| rule_chain_mac_resource_item | 规则关mac资源表 | 5 | 已接入 | 查看 |
| rule_channel_item | 规则关联渠道表 | 4 | 已接入 | 查看 |
| rule_device_count | 未填写 | 9 | 已接入 | 查看 |
| rule_field_definition | 规则字段定义表 | 11 | 已接入 | 查看 |
| rule_liteflow_chain | 规则清单表 | 22 | 已接入 | 查看 |
| rule_mac_item | 规则关联MAC表 | 6 | 已接入 | 查看 |
| rule_mac_resource | MAC资源表 | 9 | 已接入 | 查看 |
| rule_mac_resource_item | MAC资源关联MAC表 | 6 | 已接入 | 查看 |
| rule_region_item | 规则关联地区表 | 4 | 已接入 | 查看 |
数据库注释保留原文,可能包含历史业务名称;用途与数据来源另行说明。默认值 NULL 表示元数据未返回显式默认值,可空性以“可空”列为准。未填写的注释不补造为数据库原注释。
rule_bpm_no_start_message
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | int | 否 | NULL | 主键,自增长 | auto_increment |
| parent_id | bigint | 是 | NULL | 父ID | — |
| message_key | bigint | 是 | NULL | 消息唯一标识 | — |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| business_type | tinyint | 是 | NULL | 业务类型 (如:任务推送、launcher广告配置、黑名单、uota升级等) | — |
| business_id | bigint | 是 | NULL | 业务ID (如广告ID、任务ID) | — |
| message | text | 是 | NULL | 消息 | — |
| status | tinyint | 是 | NULL | 状态 | — |
| retry_count | int | 是 | NULL | 已重发次数 | — |
| retry_topic | varchar(255) | 是 | NULL | 重试的kafka主题 | — |
| exception_message | varchar(255) | 是 | NULL | 异常消息 | — |
| exception_stack_trace | text | 是 | NULL | 异常详细堆栈信息 | — |
| creator | varchar(64) | 是 | NULL | 创建者 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
| updater | varchar(64) | 是 | NULL | 更新者 | — |
| update_time | datetime | 是 | CURRENT_TIMESTAMP | 更新时间 | DEFAULT_GENERATED |
| deleted | bit(1) | 是 | b'0' | 是否删除 | — |
| tenant_id | bigint | 是 | 0 | 租户编号 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使 用情况:已接入。 保存规则绑定业务后等待审批启动的消息,审批联动读取和处理这些待办记录。
它是待启动审批的消息,不是设备接收规则的回执。
rule_business
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| business_type | tinyint | 是 | NULL | 业务类型 (如:任务推送、launcher广告配置、黑名单、uota升级等) | — |
| business_id | bigint | 是 | NULL | 业务ID (如广告ID、任务ID) | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
| creator | varchar(64) | 是 | NULL | 创建者 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
| updater | varchar(64) | 是 | NULL | 更新者 | — |
| update_time | datetime | 是 | CURRENT_TIMESTAMP | 更新时间 | DEFAULT_GENERATED |
| deleted | bit(1) | 是 | b'0' | 是否删除 | — |
| tenant_id | bigint | 是 | 0 | 租户编号 | — |
索引(括号内数字为 前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| business_type | 普通 | business_type | BTREE | — |
| liteflow_chain_id | 普通 | liteflow_chain_id | BTREE | — |
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则与任务、广告等业务对象的绑定及生效状态,业务范围查询按业务类型和业务ID读取。
关联业务时同时使用 business_type 与 business_id;不同业务类型的数字编号可以相同。
rule_business_limit
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| business_type | tinyint | 是 | NULL | 业务类型 | — |
| business_id | bigint | 是 | NULL | 业务ID | — |
| limit_count | int | 是 | NULL | 业务数量限制 | — |
| current_count | int | 是 | NULL | 当前已操作数量 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| key | 普通 | business_type, business_id | BTREE | — |
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存业务限制数量及当前使用量,业务投放和反馈更新限制状态。
key(business_type,business_id) 为普通索引,不是唯一约束;按业务类型和编号一起定位。
rule_chain_mac_resource_item
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| mac_resource_id | bigint | 是 | NULL | mac资源表ID | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| liteflow_chain_id | 普通 | liteflow_chain_id | BTREE | — |
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则与设备资源包的关联,新增、调整或取消规则范围时维护。
多个规则可引用同一资源包,修改资源明细会影响引用规则,不会为每个规则复制一份名单。
rule_channel_item
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| channel_id | bigint | 是 | NULL | 渠道ID | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| channel_id | 普通 | channel_id | BTREE | — |
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则包含的渠道及其生效状态,配置渠道范围和投放匹配时使用。
按规则查范 围与按渠道反查是两个查询方向,应使用各自的索引前缀。
rule_device_count
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键 | auto_increment |
| type | tinyint | 是 | NULL | 类型,0-规则,1-业务 | — |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| business_type | tinyint | 是 | NULL | 业务类型 (如:任务推送、launcher广告配置、黑名单、uota升级等) | — |
| business_id | bigint | 是 | NULL | 业务ID (如广告ID、任务ID) | — |
| device_count | int | 是 | NULL | 设备数量 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
| update_time | datetime | 是 | CURRENT_TIMESTAMP | 更新时间 | DEFAULT_GENERATED |
| deleted | bit(1) | 是 | b'0' | 是否删除 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则覆盖设备数的计算结果,规则和业务页面查询数量时读取或重新计算。
快速估算将直接 MAC、MAC 资源和渠道按 MAC 去重,地区及高级条件不计入;估算数量不等于最终命中或执行成功数。
rule_field_definition
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| name | varchar(255) | 是 | NULL | 字段名 | — |
| alias_name | varchar(255) | 是 | NULL | 字段别名 | — |
| type | tinyint | 是 | NULL | 字段类型;(string, number, time) | — |
| available_operators | varchar(4096) | 是 | NULL | 可用比较规则 (JSON数组) | — |
| creator | varchar(64) | 是 | NULL | 创建者 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
| updater | varchar(64) | 是 | NULL | 更新者 | — |
| update_time | datetime | 是 | CURRENT_TIMESTAMP | 更新时间 | DEFAULT_GENERATED |
| deleted | bit(1) | 是 | b'0' | 是否删除 | — |
| tenant_id | bigint | 是 | 1 | 租户编号 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则编辑器可用字段、字段类型及运算符,字段管理页面维护这些定义。
rule_liteflow_chain
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键 | auto_increment |
| name | varchar(255) | 是 | NULL | 规则名称 | — |
| application_name | varchar(255) | 是 | NULL | 应用名称 | — |
| chain_name | varchar(255) | 是 | NULL | 规则名称 | — |
| el_data | varchar(4096) | 是 | NULL | EL表达式的字段(只存EL) | — |
| json_data | varchar(4096) | 是 | NULL | el对应json数据 | — |
| route | varchar(255) | 是 | NULL | 决策路由 | — |
| namespace | varchar(255) | 是 | NULL | 命名空间 | — |
| enable | tinyint(3) unsigned zerofill | 是 | 001 | 是否生效。1为生效,0为不生效 | — |
| scope | tinyint(3) unsigned zerofill | 是 | 000 | 使用范围: 0-通用规则 1-特定业务类型多条业务 2-不限业务类型的单条业务 3-特定业务类型的单条业务 | — |
| business_type | tinyint | 是 | NULL | 业务类型 (如:任务推送、launcher广告配置、黑名单、uota升级等) | — |
| has_mac | bit(1) | 是 | b'0' | 是否有mac,0-否,1-是 | — |
| remark | varchar(1024) | 是 | NULL | 备注 | — |
| draft | json | 是 | NULL | 未审批通过的草稿数据 | — |
| bpm_status | tinyint | 是 | 2 | 流程状态,-1-未开始(草稿),1-审批中,2-审批通过,3-审批不通过,4-已取消 | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
| tenant_id | bigint | 否 | 1 | 租户编号 | — |
| creator | varchar(64) | 是 | (空) | 创建者 | — |
| create_time | datetime | 否 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
| updater | varchar(64) | 是 | (空) | 更新者 | — |
| update_time | datetime | 否 | CURRENT_TIMESTAMP | 更新时间 | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
| deleted | bit(1) | 否 | b'0' | 是否删除 | — |
字段补充属性:
| 字段 | 排序规则 | 生成表达式 |
|---|---|---|
| creator | utf8mb4_unicode_ci | — |
| updater | utf8mb4_unicode_ci | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则主定义、表达式和生命周期状态,规则管理及业务匹配使用。
规则只定义筛选条件,不主动推送内容;“无设备限制”可能覆盖全部已激活设备,不表示零设备。
rule_mac_item
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| mac | varchar(20) | 是 | NULL | mac地址 | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
| partition_index | int | 否 | NULL | 表分区号 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| key | 唯一 | liteflow_chain_id, mac, partition_index | BTREE | — |
| liteflow_chain_id | 普通 | liteflow_chain_id | BTREE | — |
| mac | 普通 | mac | BTREE | — |
| PRIMARY | 主键 | id, partition_index | BTREE | — |
| valid | 普通 | valid | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存直接加入规则的MAC清单,手工添加、批量导入和取消设备范围时维护。
查询同时限定规则编号、MAC 和 partition_index,区分有效范围与待审批变更。
rule_mac_resource
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| name | varchar(255) | 是 | NULL | 名字 | — |
| tenant_id | bigint | 否 | 0 | 租户编号 | — |
| creator | varchar(64) | 是 | NULL | 创建者 | — |
| create_time | datetime | 否 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
| updater | varchar(64) | 是 | NULL | 更新者 | — |
| update_time | datetime | 否 | CURRENT_TIMESTAMP | 更新时间 | DEFAULT_GENERATED |
| deleted | bit(1) | 否 | b'0' | 是否删除 | — |
| remark | varchar(255) | 是 | NULL | 备注 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存可复用设备资源包的名称与管理信息,资源包管理和规则引用时使用。
设备集合保存在资源明细表,资源包编号和关联规则数都不是设备数量。
rule_mac_resource_item
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| mac_resource_id | bigint | 是 | NULL | 创建者 | — |
| mac | varchar(20) | 是 | NULL | mac地址 | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
| partition_index | int | 否 | NULL | 表分区号 | — |
| create_time | datetime | 是 | CURRENT_TIMESTAMP | 创建时间 | DEFAULT_GENERATED |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| key | 唯一 | mac_resource_id, mac, partition_index | BTREE | — |
| mac | 普通 | mac | BTREE | — |
| mac_resource_id | 普通 | mac_resource_id | BTREE | — |
| PRIMARY | 主键 | id, partition_index | BTREE | — |
| valid | 普通 | valid | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存设备资源包内的MAC明细,由设备清单导入和维护产生。
查询同时限定资源包编号、MAC 和 partition_index;设备尚未注册也可预先加入 MAC 清单。
rule_region_item
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键,自增长 | auto_increment |
| liteflow_chain_id | bigint | 是 | NULL | 规则ID | — |
| region_id | bigint | 是 | NULL | 渠道ID | — |
| valid | tinyint | 是 | 1 | 是否有效 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
| region_id | 普通 | region_id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存规则包含的地域及生效状态,地域范围配置和设备地域匹配时使用。
地区参与实际匹配,但不计入页面快速设备数估算。
分区设计
| 表 | 分区数 | 方法 | 分区表达式 | 分区名与取值范围 |
|---|---|---|---|---|
| rule_mac_item | 300 | LIST | `partition_index` | pN VALUES IN (N),N=1010..1039, 1110..1139, 1210..1239, 1310..1339, 1410..1439, 1510..1539, 1610..1639, 1710..1739, 1810..1839, 1910..1939;每段逐值连续,段间值不在此分区清单 |
| rule_mac_resource_item | 300 | LIST | `partition_index` | pN VALUES IN (N),N=1010..1039, 1110..1139, 1210..1239, 1310..1339, 1410..1439, 1510..1539, 1610..1639, 1710..1739, 1810..1839, 1910..1939;每段逐值连续,段间值不在此分区清单 |
查询上述 LIST 分区表时,在业务条件之外同时传入按该表写入规则计算的 partition_index,以缩小需访问的分区范围。不同表族的计算规则不能互换;计算方法与 Java、Python 示例见分区规则。
本库查询要点
rule_mac_item与rule_mac_resource_item各300个LIST(partition_index)分区。分别以规则ID或资源包ID+MAC+partition_index查询,对应唯一key(liteflow_chain_id,mac,partition_index)及key(mac_resource_id,mac,partition_index)。规则设备数是范围预估,不是实际下发或执行成功数。