1. 系统概述
风险特征系统 EPC 子系统,是用于根据后管配置的接入的 Kafka 数据源信息和数据集信息清洗加工 Flink 指标的。它承担着从原始数据接入到最终指标产出的关键链路职责,是风险特征计算体系中的重要一环。
2. 核心功能
EPC 子系统围绕两个核心配置来源展开工作:
- Kafka 数据源信息:由后管系统统一配置,定义了数据接入的 Topic、消费组、序列化方式等基础连接参数。
- 数据集信息:由后管系统维护,描述了数据的字段结构、业务含义以及清洗加工所需的规则定义。
子系统根据这两类配置,驱动 Flink 作业完成对实时数据流的清洗与加工,最终产出可供风险特征计算使用的指标数据。
3. 系统架构与 Actor 模式
EPC 子系统内部主要采用 Akka 的 Actor 模式进行构建。系统启动时,首先读取数据库中接入的 Kafka 数据源信息,并据此启动对应的 Kafka 消费程序。消费到的原始数据交由 ProcessService 处理,ProcessService 根据 Topic 名称找到数据库中配置的 Kafka 字段信息,将提取出的字段信息封装到 Map 中向下传递,最终交给 DataSetService 进行后续处理。
4. 消息总线与订阅机制
DataSetService 中定义了全局消息总线 LookupBusImpl sourceBus。ProcessService 处理完数据后,通过 sourceBus.publish() 将消息发布到总线上。系统启动后,会读取数据库中所有的数据集 PlanList,并逐一执行 subscribe(plan, sourceId) 完成对相应消息的订阅,从而实现数据从 Kafka 接入到数据集加工处理的全链路流转。
5. 工作流程
EPC 子系统的工作流程可以概括为以下几个阶段:
- 配置加载:从后管系统拉取 Kafka 数据源信息和数据集信息,完成作业参数的初始化。
- 数据接入:按照数据源配置连接 Kafka,订阅对应 Topic,获取原始实时数据流。
- 清洗加工:依据数据集信息中定义的字段映射、过滤规则和转换逻辑,对原始数据进行清洗与加工。
- 指标产出:将加工后的数据按指标口径进行聚合计算,输出最终的风险特征指标。
6. 技术要点
在实现层面,EPC 子系统需要重点关注以下几个方面:
- 配置与作业解耦:后管配置变更后,Flink 作业能够动态感知并调整处理逻辑,避免频繁重启作业。
- 数据质量保障:在清洗环节对脏数据、缺失字段和异常格式进行有效处理,确保指标计算的准确性。
- 性能与稳定性:合理设置并行度、检查点(Checkpoint)和背压(Backpressure)处理策略,保障实时链路的稳定运行。
7. 总结
风险特征系统 EPC 子系统通过后管配置驱动 Flink 作业,结合 Akka Actor 模式与全局消息总线机制,实现了从 Kafka 数据接入到指标清洗加工的全流程自动化,为风险特征计算提供了可靠、灵活的数据基础。