项目采集维度的升级
数据采集系统采用多维度渐进式采集策略,通过时间维度和业务维度的组合,实现从细粒度到粗粒度的数据统计。系统会利用 Kafka 实现自动完成维度升级,确保数据在不同维度下的完整性和准确性。
维度说明
时间维度(DateType)
- 日(DAY):按天统计数据
- 周(WEEK):按周统计数据
- 月(MONTH):按月统计数据
- 年(YEAR):按年统计数据
业务维度(VideoDimensionType)
- 视频(VIDEO):单个视频维度的数据采集
- 视频分类(VIDEO_TYPE):视频分类维度的数据汇总
- 父级视频分类(PARENT_VIDEO_TYPE):顶层分类维度的数据汇总
升级策略
系统采用"时间维度优先,业务维度递进"的升级策略:
- 时间维度升级:在同一业务维度下,时间维度按
日 → 周 → 月 → 年
的顺序逐级升级 - 业务维度升级:当时间维度达到"年"时,升级业务维度并将时间重置为"日",业务维度按
视频 → 视频分类 → 父级视频分类
的顺序升级 - 终止条件:当达到
年 + 父级视频分类
时,表示所有维度组合的数据采集完成
完整升级路径
整个升级过程会经历 3个业务维度 × 4个时间维度 = 12次采集:
阶段 | 业务维度 | 时间维度升级路径 |
---|---|---|
第1轮 | 视频 | 日 → 周 → 月 → 年 |
第2轮 | 视频分类 | 日 → 周 → 月 → 年 |
第3轮 | 父级视频分类 | 日 → 周 → 月 → 年 ✓ |
流程图
以下时序图展示了维度升级的完整循环过程,从初始维度(日 + 视频)开始,通过 Kafka 消息驱动,不断采集数据并升级维度,直到达到最高维度(年 + 父级视频分类)为止。
关键特性
- ✅ 自动化升级:通过 Kafka 消息机制实现维度自动升级,无需人工干预
- ✅ 数据完整性:确保每个维度组合的数据都被完整采集
- ✅ 渐进式汇总:从细粒度到粗粒度,逐步构建多层次的数据视图
- ✅ 循环终止控制:通过最高维度检查机制,避免无限循环
实现类
核心实现位于 UpgradeDimensionDataChainHandler
类中:
handler()
- 维度升级处理入口doUpgradeDimension()
- 执行维度升级并检查终止条件upgradeDimensionParam()
- 维度升级核心逻辑