1. 设计目标
本方案旨在构建一个低代码可配置、支持多业务复用、具备计算能力和权限控制的统计分析平台,满足快速搭建数据看板、灵活定义组件等需求。具体如下:
- 配置化生成: 通过低代码或零代码的方式,快速生成统计分析页面。
- 多业务场景复用:支持不同业务线通过配置快速搭建专属页面。
- 可扩展性 :后续可添加其他组件。
- 权限与安全:支持多级权限控制。
2. 功能模块
2.1 计算中心
- 数据源管理:支持数据源接入与管理。
- 数据建模:通过ETL流程将原始表加工成符合脚手架需求的数据表。
- 任务调度:定时同步、加工数据。
- 数据质量监控:对数据加工过程进行校验、告警。
2.2 配置中心
- 页面结构定义:支持页面、区块、组件的层级配置。
- 组件定义:
- 卡片:配置数据来源、展示字段、样式(如颜色、图标、布局等)。
- 表格:配置数据来源、列名、排序列、功能列(可点击等)、分页。- 筛选项 :字段类型(日期、日期区间、下拉、多选、精确搜索、模糊搜索),支持动态筛选项(可选)。- 数据下钻:支持点击单元格下钻到明细或其他页面。- 导出:支持导出为Excel格式。
- 图表:支持多种图表类型(柱状图、折线图、饼图等),配置数据源、维度、指标。
- 自定义组件(可选):支持通过代码或低代码方式扩展新组件。
- 权限配置:支持页面、组件、数据级别的权限配置。
2.3 后端服务
- 通用数据接口:支持维度筛选、分页、排序、聚合(可选)等通用查询能力。
- 配置化接口(可选):根据页面和组件配置,动态组装适合前端渲染的数据结构。
- 基础功能:
- 网关:统一入口,支持鉴权、限流、日志。
- 权限:用户、角色、数据权限管理。
- 审计:操作日志、数据变更日志。
- 缓存机制:支持接口级、数据级缓存,提升响应速度。
- 监控与告警:接口性能、异常监控,自动告警。
2.4 前端服务
- 模版解析:根据页面配置和组件配置动态生成页面结构。
- 组件渲染:组件装载、数据绑定、样式渲染。
- 交互处理:支持筛选、下钻、导出、联动等交互。
- 埋点:前端渲染时间、点击、操作等数据采集。
- 响应式布局(可选):适配PC和移动端。
3. 技术架构
3.1 开发配置
3.1.1 配置表结构说明
- field_config:字段定义与行为规则
- page_config:页面结构配置
- component_config:组件配置(可选)
- precompute_registry_config:预计算配置登记
3.1.2 计算分层策略
对同时满足如下要求的的建议进行预计算(空间换时间)1.查询频次和复杂度:高频使用且涉及到复杂查询 2.维度基数与组合:参与聚合的维度基数(唯一值的数量)和组合数未超过阈值,如不超过10万。3.时效性:用户对数据时效性要求不高的,如T+1。其余的进行实时计算(时间换灵活)。
3.1.3 字段和页面配置
字段配置表不仅定义字段类型,还可扩展以下字段:
- 所有字段行为由 field_config 中声明。
- 同比、环比字段通过时间偏移和 LAG 函数等机制实时拼接计算。
- 表达式字段通过 formula_expr 逻辑与聚合表达式组合实时计算。
- 查询分发器判断是否命中预计算字段组合(维度+指标),决定查询路径。
3.2 用户查询
3.2.1 查询分发过程
- 输入结构:组件ID、字段ID、筛选参数等
- 查 config 表获取组件对应字段
- 匹配是否命中汇总表(预计算)
- 动态生成 SQL 查询 → 返回结构化 JSON
3.2.2 配置化接口生成机制
系统支持前端组件按“字段ID”+“组件ID”触发统一接口,后端根据配置中心元数据自动拼装:
4. 数据结构设计
4.1 字段示例:field_config