2026-07-05 / 6 min

Bilibili Analyzer 的系统模块边界

Bilibili Analyzer 按数据流划分采集、存储、计算、洞察和展示模块;每层只处理自己的输入与输出。

架构数据分析B站

模块分层

Bilibili Analyzer 按数据流分为五层,上一层的结果是下一层的输入:

  • 采集层:从 B 站公开接口读取视频、分区、互动和发布时间等基础信息。
  • 存储层:保存视频主表和时间序列快照。
  • 指标层:计算热度分、增长率、互动密度和爆发指数。
  • 洞察层:做关键词、关联规则、曲线聚类和推荐评估。
  • 展示层:把榜单、趋势图、视频详情和选题建议组织到前端界面。

这五层的职责不能混在一起。采集任务失败时,前端仍然可以读取已经入库的数据;调整热度分的计算方式时,也只需要改指标层,而不是连页面一起重写。

主表与快照表

趋势分析需要同时保存“当前状态”和“历史变化”,两者对应不同的查询。

videos 表适合保存视频标题、UP 主、分区、发布时间、最新播放量和最新互动指标。它回答的是:这个视频现在是什么状态。

snapshots 表适合按采集时间保存同一个视频的指标快照。它回答的是:这个视频是怎么变化到现在的。

只有主表时,系统只能按当前指标生成排行榜。快照表补上了时间维度,增长速度、生命周期阶段、曲线形状和爆发趋势才有依据。

服务层边界

路由层只处理请求参数和响应格式,分析逻辑放在独立服务中:

  • ranking service:榜单和排序。
  • scoring service:热度分和爆发指数。
  • insight service:关键词、关联规则和内容组合。
  • recommendation service:相似视频和选题参考。

接口字段因此保持稳定;榜单、评分、洞察和推荐模块也可以分别测试和替换。

前端呈现原则

数据产品的页面按查看路径组织,而不是一次展示所有指标:

  1. 先给全局概览。
  2. 再给趋势或异常入口。
  3. 最后进入单个视频和解释面板。

每一层都要给出下一步的入口:概览指出整体情况,趋势或异常把注意力缩小到值得查看的对象,详情页再提供具体指标和解释。

论文写法

如果把它写进论文,系统架构部分可以围绕这条主线:

公开数据采集 -> 时间序列快照 -> 多指标评分 -> 趋势识别 -> 可视化解释。

它对应实际的数据处理顺序,也把工程模块和方法章节放在同一条叙事线上,避免系统设计只剩界面截图。