ik_apk · 黑名单与卸载反馈
MySQL 8.0.35。共 7 张表/视图、57 个字段、0 条物理外键。
保存应用黑名单策略、历史设备范围、审批关系与设备卸载结果。策略配置回答“要求做什么”,设备反馈回答“终端报告做了什么”。
表清单
使用状态:已接入 2 张、未发现引用 2 张、历史兼容 3 张。
| 表名 | 数据库表注释 | 字段数 | 使用状态 | 字段与索引 |
|---|---|---|---|---|
| app_blacklisted | app卸载配置信息 | 21 | 已接入 | 查看 |
| app_uninstall_detail | apk卸载明细表 | 5 | 未发现引用 | 查看 |
| flow_blacklisted_channel | 卸载配置和渠道关系表 | 5 | 历史兼容 | 查看 |
| flow_blacklisted_device | apk卸载明细表V2 | 7 | 已接入 | 查看 |
| flow_blacklisted_flow | 黑名单和流程关联表 | 9 | 未发现引用 | 查看 |
| flow_blacklisted_mac | 卸载配置和设备mac绑定关系 | 5 | 历史兼容 | 查看 |
| flow_blacklisted_region | 黑名单配置和国家关系表 | 5 | 历史兼容 | 查看 |
数据库注释保留原文,可能包含历史业务名称;用途与数据来源另行说明。默认值 NULL 表示元数据未返回显式默认值,可空性以“可空”列为准。未填写的注释不补造为数据库原注释。
app_blacklisted
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_0900_ai_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 自增ID主键 | auto_increment |
| application_name | varchar(50) | 否 | NULL | 应用名称 | — |
| package_name | varchar(100) | 否 | NULL | 应用包名 | — |
| status | tinyint(1) | 是 | NULL | 开启状态(1开启,0关闭) | — |
| update_by | varchar(50) | 是 | (空) | 更新者 | — |
| update_time | datetime | 是 | NULL | 更新时间 | — |
| create_by | varchar(50) | 是 | (空) | 创建者 | — |
| create_time | datetime | 是 | NULL | 创建时间 | — |
| remark | varchar(500) | 是 | (空) | 备注 | — |
| type | tinyint(1) | 是 | NULL | 删除状态(1.删除,0,线程) | — |
| version | varchar(2048) | 是 | NULL | 版本号 | — |
| draft | json | 是 | NULL | 未审批通过的草稿数据 | — |
| release_info | json | 是 | NULL | 前再用生效的基础配置,为当前表的其它字段json数据 | — |
| flow_status | varchar(64) | 是 | NULL | cancel-已撤销,draft-草稿,waiting-待审核,finish-已完成,invalid-已作废,back-已退回,termination-已终止 | — |
| bpm_status | tinyint | 是 | 2 | 流程状态,-1-未开始(草稿),1-审批中,2-审批通过,3-审批不通过,4-已取消 | — |
| creator | varchar(64) | 是 | (空) | 创建者 | — |
| updater | varchar(64) | 是 | (空) | 更新者 | — |
| deleted | bit(1) | 否 | b'0' | 是否删除 | — |
| tenant_id | bigint | 否 | 1 | 租户编号 | — |
| valid | tinyint | 是 | 1 | 0-未生效,1-已生效,2-已生效且做移除标记,3-已生效且做修改标记 | — |
| process_instance_id | varchar(255) | 是 | NULL | 流程实例ID | — |
字段补充属性:
| 字段 | 排序规则 | 生成表达式 |
|---|---|---|
| creator | utf8mb4_unicode_ci | — |
| updater | utf8mb4_unicode_ci | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存要卸载或关闭的应用包名、版本条件、动作类型与启停状态,以及草稿、生效状态和审批实例。后台维护策略并按权限进入审批或免审批流程;设备请求时,系统按规则匹配或兼容范围匹配取得策略,并排除保护包名。策略记录表示配置要求,不等于设备已经执行。
type=0 表示卸载,type=1 表示杀进程;本表仅有 PRIMARY(id),包名没有唯一约束。
app_uninstall_detail
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb3_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键 | auto_increment |
| mac | varchar(20) | 否 | NULL | mac | — |
| package_name | varchar(255) | 否 | NULL | 包名 | — |
| cpu | varchar(255) | 否 | NULL | cpu | — |
| create_time | datetime | 是 | NULL | 创建时间 | — |
字段补充属性:
| 字段 | 排序规则 | 生成表达式 |
|---|---|---|
| mac | utf8mb4_0900_ai_ci | — |
| package_name | utf8mb4_0900_ai_ci | — |
| cpu | utf8mb4_0900_ai_ci | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:未发现引用。 保存早期按设备 MAC、CPU 与应用包名登记的卸载明细,不含黑名单策略编号。它与按策略记录的现行卸载反馈口径不同,查询历史卸载时应单独使用,不能直接视为当前执行总数。
本表仅有 PRIMARY(id),没有策略编号及设备、包名、时间索引。
flow_blacklisted_channel
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | int | 否 | NULL | 主键(自增) | auto_increment |
| blacklisted_id | bigint | 是 | NULL | 卸载配置表ID | — |
| channel_id | bigint | 是 | NULL | 渠道Id | — |
| draft | json | 是 | NULL | 未审批通过的草稿数据 | — |
| valid | tinyint | 是 | 1 | 0-未生效,1-已生效,2-已生效且做移除标记,3-已生效且做修改标记 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:历史兼容。 保存黑名单策略与渠道的目标范围关系,并保存草稿及生效标记。旧渠道维护接口仍可读写;关闭规则引擎时,设备所属渠道参与兼容范围匹配,新配置的日常范围维护使用规则中心。
本表仅有 PRIMARY(id),blacklisted_id 与 channel_id 没有组合索引。
flow_blacklisted_device
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | int | 否 | NULL | 自增ID主键 | auto_increment |
| blacklisted_id | bigint | 否 | NULL | 表app_blacklisted的id | — |
| mac | varchar(20) | 否 | NULL | mac地址 | — |
| cpu | varchar(255) | 否 | NULL | cpuId | — |
| create_time | datetime | 是 | NULL | 创建时间 | — |
| device_time | datetime | 是 | NULL | 设备端时间 | — |
| event_id | int | 是 | NULL | 设备端记录的事件ID | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引 名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| blacklisted_id | 唯一 | blacklisted_id, mac, cpu, event_id, device_time | BTREE | — |
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:已接入。 保存设备执行黑名单卸载后反馈的策略编号、MAC、CPU、设备事件编号和时间。卸载反馈经消息队列逐个策略写入,供执行明细查询、数量统计与导出;成功处理反馈后还发送应用卸载更新事件。device_time 是设备事件时间,create_time 是系统入库时间;执行记录数不等于规则覆盖设备数。
唯一键 blacklisted_id(blacklisted_id,mac,cpu,event_id,device_time) 的末尾两列可空,不能据此认为所有重复反馈都被消除。
flow_blacklisted_flow
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_unicode_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | int | 否 | NULL | 主键(自增) | auto_increment |
| blacklisted_id | bigint | 是 | NULL | 卸载配置表ID | — |
| process_instance_id | varchar(255) | 是 | NULL | 流程实例ID | — |
| flow_status | varchar(25) | 是 | NULL | 流程状态;draft(草稿)、waiting(待审核)、finish(已完成)、invalid(已作废)、back(已退回)、cancel(已撤销)、termination(已终止) | — |
| type | int | 是 | NULL | 审核类型;0-新增,1-修改,2-删除 | — |
| business_key | varchar(255) | 是 | NULL | 业务key;和流程对应 | — |
| reason | text | 是 | NULL | 审批事由 | — |
| create_time | datetime | 是 | NULL | 创建时间 | — |
| update_time | datetime | 是 | NULL | 更新时间 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:未发现引用。 保存早期黑名单策略与审批流程实例的关联,包含业务键、审批动作、流程状态、原因和时间。现行审批实例编号和审批状态保存在黑名单主记录,历史关系不能代替完整的现行审批记录。
本表仅有 PRIMARY(id),不能假定一个策略只有一条流程记录。
flow_blacklisted_mac
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键(自增) | auto_increment |
| blacklisted_id | bigint | 是 | NULL | 卸载配置表ID | — |
| mac | varchar(20) | 是 | NULL | 设备mac | — |
| draft | json | 是 | NULL | 未审批通过的草稿数据 | — |
| valid | tinyint | 是 | 1 | 0-未生效,1-已生效,2-已生效且做移除标记,3-已生效且做修改标记 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| blacklistId_mac | 唯一 | blacklisted_id, mac | BTREE | — |
| blacklistId_vaild | 普通 | blacklisted_id, valid | BTREE | — |
| mac_vaild | 普通 | mac, valid | BTREE | — |
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:历史兼容。 保存黑名单策略与指定 MAC 的目标范围关系,可由旧维护接口单条添加或批量导入,并保存草稿及生效标记。关闭规则引擎时参与兼容匹配;该范围只包含 MAC,不包含 CPU,关系行数既不是当前规则覆盖数,也不是执行成功数。
唯一键为 blacklistId_mac(blacklisted_id,mac);另有 blacklistId_vaild(blacklisted_id,valid) 与 mac_vaild(mac,valid)。
flow_blacklisted_region
BASE TABLE;引擎 InnoDB;表排序规则 utf8mb4_general_ci。
| 字段 | 类型 | 可空 | 默认值 | 数据库字段注释 | 附加属性 |
|---|---|---|---|---|---|
| id | bigint | 否 | NULL | 主键(自增) | auto_increment |
| blacklisted_id | bigint | 是 | NULL | 黑名单配置表ID | — |
| region_id | bigint | 是 | NULL | 国家地区ID | — |
| draft | json | 是 | NULL | 未审批通过的草稿数据 | — |
| valid | tinyint | 是 | 1 | 0-未生效,1-已生效,2-已生效且做移除标记,3-已生效且做修改标记 | — |
索引(括号内数字为前缀长度,联合列严格按顺序列出)
| 索引名 | 性质 | 列顺序 | 方法 | 注释 |
|---|---|---|---|---|
| PRIMARY | 主键 | id | BTREE | — |
本表无物理外键。
业务与查询
使用情况:历史兼容。 保存黑名单策略与地区的范围关系,并保存草稿及生效标记,供旧配置维护和兼容匹配使用。关闭规则引擎且策略绑定地区时,设备必须命中地区,并同时命中渠道或 MAC 至少一项;单独命中地区不等于策略可下发。
分区设计
本库各表未声明分区,查询主要使用主键和业务索引。
本库查询要点
flow_blacklisted_device唯一键顺序为blacklisted_id,mac,cpu,event_id,device_time,先限定策略和设备;create_time接收窗口没有对应索引,不要误当成第五列设备时间已加速。查询时分清设备发生时间和服务端接收时间。