黑名单卸载/杀死明细管理
黑名单卸载/杀死明细管理是APP卸载配置管理的一个子模块,用于查询和统计该APP在设备上的实际卸载或被杀死(Kill)的记录。数据来源于设备端通过 HTTP 接口上报的实时事件,经过 Kafka 消息队列异步处理后入库。
功能说明
在此模块中,您可以:
- 查看该APP在各个设备上的卸载或杀死记录
- 根据MAC地址、CPU信息等条件进行查询
- 导出卸载/杀死明细记录
界面概览
黑名单卸载/杀死明细管理的界面如下:

字段说明
以下是黑名单卸载/杀死明细管理中各字段的详细说明:
| 字段名称 | 字段说明 |
|---|---|
| MAC | 设备的MAC地址 |
| CPU | 设备的CPU ID |
| 设备端记录的事件ID | 设备端上报的事件唯一标识 |
| 杀死次数 | APP被杀死的次数(仅在特定类型下显示) |
| 杀死时间 | APP被杀死的时间(设备时间)(仅在特定类型下显示) |
| 卸载时间 | APP被卸载的时间(设备时间)(仅在特定类型下显示) |
| 创建时间 | 记录上报的时间 |
操作说明
以下是黑名单卸载/杀死明细管理的具体操作说明。
查询明细
在黑名单卸载/杀死明细管理中,可以使用以下条件进行查询:
-
在黑名单卸载/杀死明细管理标签页中,可以使用以下条件进行查询:
- MAC:输入设备MAC地址进行查询
- CPU:输入设备CPU ID进行查询
- 创建时间:选择时间范围进行查询
- 杀死时间:选择时间范围进行查询(如适用)
-
点击"搜索"按钮执行查询
-
点击"重置"按钮清空查询条件
黑名单卸载或杀死支持两种导出方式:
- 同步导出:点击导出后,系统立即处理并返回导出结果。
- 异步导出:当数据量较大时,系统采用异步导出方式。您可以在 导出任务管理模块 中查看进度并下载文件。
技术架构
本模块的数据流转采用 Device -> HTTP API -> Kafka -> Consumer -> DB 的异步处理架构,确保高并发下的数据接收稳定性。
1. 数据流转图
2. 处理逻辑详解
事件上报 (Event Reporting)
- 接口:
/task/recoedDeviceEvent - 入口: AppEventReportController.java
- 逻辑: 设备端通过 HTTP POST 请求批量上报事件。
DeviceEventService根据事件类型 (BLACK_OP_CALL_BACK或BLACK_KILL_CALL_BACK) 将数据分发到不同的 Kafka Topic。
消息队列 (Kafka)
系统使用 Kafka 进行削峰填谷,主要涉及以下 Topic:
| 业务类型 | Topic 配置名 | 默认 Topic | 描述 |
|---|---|---|---|
| 黑名单卸载回调 | kafka.topic.black-call-back | black-call-back | 存储黑名单执行(如卸载)的回调数据 |
| 黑名单杀死回调 | kafka.topic.black-kill-call-back | black-kill-call-back | 存储黑名单拦截(Kill进程)的回调数据 |
| 卸载更新广播 | kafka.topic.apk-uninstall-update | apk-uninstall-update | 卸载记录入库后触发的后续业务通知 |
消费者处理 (Consumer)
-
卸载/操作回调 (BlackCallbackConsumer.java)
- 监听
black-call-backTopic。 - 解析
DeviceBlackCallbackEventDTO。 - 将记录插入
flow_blacklisted_device表。 - 联动: 入库成功后,发送消息到
apk-uninstall-updateTopic,通知其他模块(如APK管理)更新状态。
- 监听
-
杀死进程回调 (BlackKillCallbackConsumer.java)
- 监听
black-kill-call-backTopic。 - 解析
BlackKillCallBackEventDTO。 - 将记录插入
app_kill_record表。
- 监听