DataMaid-百家号B端统一数据系统
项目发起人、技术规划、核心开发者
Situation 百家号内部存在作者和内容两大核心实体,字段繁多,上下游关系复杂,难以管理。增改字段面临大量相似的研发工作。Task 设计数据治理平台产品方案、技术规划,从数据源、实体、调用方等维度进行平台管控。 Action 按照数据源管理->业务实体管理->调用方权限管理->统一输出服务的路径,逐步上线平台能力。使用双索引方案解决多版本数据并存问题。使用ES作为存储设计了统一数据输出服务,通过约定接口入参实现任意字段的筛选能力。 Result 可视化管理离线/实时数据源、实体与实体字段(已管理实体字段2000+)、业务方与授权字段、下载任务; 字段的来源一目了然,变更方便; 配置化、低代码的方式完成新字段上线; 通过统一查询服务对外提供查询; 字段独立授权给不同调用方保证数据的安全性。数据下载模板化配置,下载历史可追溯。
百家号作者跟进业务
项目负责人、核心开发者
Problem 作者需要根据其特征,分配到不同的运营团队管理。运营团队会对其管理的作者进行标签标注。Action 运营认领与打标这些偏产品业务逻辑的部分采用 DDD 实现。使用 CQRS 架构,业务逻辑写 MySQL 后通过消息同步数据到查询服务作者库,作者库反查处理后存入 ES nested 类型字段,提供多维度字段筛选能力。 Result DDD 的代码架构使业务与技术实现解耦,业务迭代的开发维护变得更容易。MySQL 保证了业务数据变更的稳定性,ES 则补充了多字段查询的能力。
百家号人群包
项目负责人、核心开发者
Problem 运营经常需要根据一批条件圈定一批作者,基于离线 SQL 跑数数据时效差,数据产出慢。Action 设计配置文件,配置化作者字段与枚举值,用配置文件渲染前端组件实现灵活配置人群特征,通过约定的格式把筛选条件存入队列,转化成 ES 查询条件定期计算人群包。通过版本控制实现计算中的人群包隔离。 Result 人群圈选配置化,使用实时数据字段计算结果,30 分钟可完成 2kw 作者的圈定。