4、巡检体系设计:缺失特征巡检的整体架构、数据源接入、调度周期(日/周/月)、告警链路

缺失特征巡检不是一次性的静态评估,而是一个需要持续运转的监控体系。本章从顶层架构出发,依次拆解数据源接入方式、调度周期策略以及告警触发与分发链路,确保缺失率波动能被及时发现、定位与响应。

4.1 整体架构:三层巡检模型

缺失特征巡检体系采用“采集层 → 计算层 → 告警层”三层架构,各层职责清晰,便于横向扩展与故障隔离。

架构设计原则:
  • 采集层无状态:仅负责拉取特征数据,不保留中间状态,便于水平扩容。
  • 计算层幂等:相同时间窗口的缺失率计算可重复执行,结果一致。
  • 告警层去重:同一特征在同一巡检周期内只触发一次告警,避免告警风暴。
缺失特征巡检三层架构 采集层(数据源接入) 离线 Hive 表 | 实时 Kafka 流 | 在线 API 接口 统一接入网关,按特征 ID 路由至对应 Topic / 分区 计算层(缺失率 & PSI 计算) 滑动窗口聚合 | 缺失率统计 | PSI 对比计算 Spark Streaming / Flink 作业,支持日/周/月三种粒度 告警层(阈值判定 & 分发) 阈值引擎 | 告警去重 | 分级分发(邮件 / 企微 / 钉钉) 支持静默期、升级策略、告警聚合

4.2 数据源接入:三类典型场景

缺失特征巡检的数据源根据时效性要求分为离线、准实时和实时三类,接入方式与校验逻辑各有侧重。

数据源类型 接入方式 典型延迟 接入校验项
离线 Hive 表 定时拉取(T+1) 1 小时 ~ 1 天 分区完整性、行数波动、主键唯一性
实时 Kafka 流 订阅 Topic 秒级 ~ 分钟级 消息格式校验、时间戳乱序检测、流量突增/突降
在线 API 接口 HTTP 轮询 分钟级 响应状态码、返回字段完整性、响应耗时
接入最佳实践:所有数据源在接入时统一注册到“特征元数据中心”,记录特征 ID、数据源类型、接入时间、分区字段、期望行数等元信息。巡检作业启动时先校验元数据一致性,避免因表结构变更导致计算异常。

4.3 调度周期:日 / 周 / 月策略

不同特征对缺失率的敏感度不同,调度周期应差异化配置。下表给出推荐策略与适用场景。

调度周期 计算窗口 适用特征类型 典型阈值 告警响应时间
日调度 最近 1 天 核心评分特征、实时风控特征 缺失率 > 5% 或 PSI > 0.1 次日 08:00 前
周调度 最近 7 天 画像标签、行为聚合特征 缺失率 > 10% 或 PSI > 0.15 每周一 10:00
月调度 最近 30 天 低频特征、外部数据源特征 缺失率 > 20% 或 PSI > 0.2 每月 1 日 12:00
注意:日调度作业应避免在业务高峰期(如 10:00-12:00、14:00-16:00)执行,建议安排在凌晨计算资源空闲时段。周调度和月调度应避开月末/季末的数据结算窗口。

4.4 告警链路:从检测到闭环

告警链路覆盖“阈值触发 → 去重聚合 → 分级分发 → 响应闭环”四个环节,确保每条告警可追溯、可处理。

告警链路流程图 阈值触发 去重聚合 分级分发 响应闭环 各环节关键动作: 1. 阈值触发:缺失率或 PSI 超过设定阈值,生成原始告警事件。 2. 去重聚合:相同特征在 30 分钟内只保留一条告警,合并同类项。 3. 分级分发:P0 告警(核心特征)→ 电话 + 企微;P1 → 企微 @ 负责人;P2 → 邮件。 4. 响应闭环:责任人确认、定位原因、修复后标记“已处理”,超时未响应自动升级。

4.5 告警分级与分发策略

为避免告警疲劳,所有告警按严重程度分为 P0、P1、P2 三级,不同级别对应不同的通知方式与响应 SLA。

告警级别 触发条件 通知方式 响应 SLA 升级策略
P0(严重) 核心特征缺失率 > 20% 或 PSI > 0.3 电话 + 企微 @ 所有人 30 分钟内确认 15 分钟未响应 → 升级至技术负责人
P1(重要) 核心特征缺失率 > 10% 或 PSI > 0.15 企微 @ 特征负责人 2 小时内确认 1 小时未响应 → 升级至团队 Leader
P2(一般) 非核心特征缺失率 > 15% 或 PSI > 0.2 邮件通知 24 小时内确认 8 小时未响应 → 升级至值班人员
告警链路关键指标:
  • 告警延迟:从数据到达至告警发出,日调度 < 30 分钟,周/月调度 < 1 小时。
  • 告警准确率:真实异常告警 / 总告警数 ≥ 90%。
  • 告警覆盖率:已配置巡检的特征数 / 应巡检特征数 ≥ 95%。
  • 平均响应时间:P0 < 30 分钟,P1 < 2 小时,P2 < 24 小时。