数据集成、分析、大屏产品系统

我要开发同款
寒水馨2026年09月15日
6阅读

技术信息

语言技术
JavaSpringSpringCloudVueMySQL
系统类型
Web
行业分类
企业服务云计算

作品详情

行业场景

立项原因:企业想看清整体经营情况,障碍往往不在"没有数据",而在"数据取不到、聚不起来、看不成"。业务库多在内网、只允许经跳板机访问,本地与服务器直连不了;数据分散在多个业务系统,跨系统统计靠人工导表拼 Excel;更麻烦的是每加一张报表都要前端开发排期,业务提一个需求要等两周,口径一变还要再改一次代码。本项目旨在把「数据接入 — 汇聚 — 加工 — 分析 — 推送」整条链路做成一个平台,让业务侧自己就能配置出需要的报表。

行业场景与业务背景:面向中大型企业、连锁与多分支机构、制造与零售等需要跨系统经营分析的场景。平台把多个内网业务库的数据经 SSH 跳板机隧道抽取到统一数据仓库,在仓库内用 SQL 做分层加工与口径统一,再以配置化的方式产出可视化看板与每日邮件报表。典型分析场景包括流量与渠道分析、用户行为与留存分析、业绩趋势与目标进度、区域与板块对比、收支回款与费用利润结构等。核心价值是「加一张报表不需要发版」——把分析能力从开发手中交还给业务。

功能介绍

◼️系统名称:ETL+BI 数据集成与经营分析平台(数据抽取 · 数据

◼️功能清单:●数据源与仓库 ●SSH 隧道 ●表浏览 ●ETL 抽取 ●转换与依赖编排 ●配置化报表与看板 ●SQL 控制台 ●邮件报表 ●任务监控

◼️数据接入:数据源与数据仓库连接管理,支持先测连再保存、口令加密存储;SSH 隧道支持密码与私钥双认证、批量启停、连通性测试与断线自动重连;表浏览器可查表清单、结构与数据预览。

◼️ETL 抽取:全量重建与增量同步双模式,增量可按 ID、创建时间、修改时间判断水位;目标表不存在时按源表结构自动创建并保留字段精度与注释;全程事务控制,成功提交、失败回滚;分批流式读写、幂等写入;支持按日期重抽;日志含状态、计数、耗时与首末两批 SQL。

◼️转换与依赖:仓库内执行 SQL 或存储过程,支持日期变量替换;触发支持按计划、按依赖、手动;可多选前置任务,前置当日全部成功后自动触发后继,并把前置步骤并入后继日志,实现跨任务追溯。

◼️配置化报表:参数化 SQL 一键识别入参与出参;入参可配类型、筛选控件、必填项与智能默认值;出参可配显示名与轴角色;支持折线、柱状、饼图、散点及配色、图例、堆叠等样式;看板按分组与行列、宽度占比栅格布局,卡片自动生成筛选区。

◼️SQL 控制台:支持多语句执行并自动识别语句类型;多结果集独立分页;可捕获数据库打印输出;成功才提交、失败整体回滚;脚本可保存复用。

◼️邮件报表:查询结果列别名自动转为邮件变量(支持中文),正文支持 HTML;各报表独立维护收件人;支持测试、定时、手动发送与按日期重发;日志留存渲染后的标题正文与收件人快照。

◼️运维监控:任务面板展示各类定时任务状态与下次执行时间并自动刷新;内置四十项连接池指标,可接入 Prometheus 与 Grafana;三条链路均记录步骤链,失败可定位到具体步骤。

项目实现

我负责的任务:独立完成该模块全部工作 —— 需求与数据模型设计、后端开发、前端开发、部署上线与运维,以及上线后的持续迭代。模块从新建到上线用时三天,之后打磨约六周。

技术栈与架构:基于开源脚手架 RuoYi-Cloud 二次开发(服务注册与配置中心、网关、认证鉴权、流控),后端为 Java 8 + Spring Boot + MyBatis + Druid,数据库为 PostgreSQL;内网库经 SSH 隧道接入;SQL 解析用 jsqlparser;邮件用 JavaMail;前端为 Vue 2 + Element UI + ECharts;容器编排部署并提供一键脚本。

实现亮点与难点:
◼️配置驱动的分析流水线 —— 把报表建模为数据结构(参数化 SQL + 入参 + 出参轴角色 + 图表配置 + 栅格布局),后端生成图表配置、前端只保留一个通用渲染器,实现「加报表不发版」。
◼️SQL 参数自动识别 —— 用 jsqlparser 静态分析提取入参与出参,自动跳过 CTE、只取最外层查询;解析失败可降级为手工填写。
◼️自研 ETL 引擎 —— 双模式抽取;自动建表时通过数据库系统目录还原字段类型与注释,避免精度降级;目标端手动事务避免半截脏数据;分批流式搬运避免内存溢出。
◼️内网接入的真实探活 —— 隧道保活不看连接状态,而是周期性发起实际请求,用以识别被防火墙静默丢包的僵尸连接,并配合周期自愈与启动自动重连。
◼️可追溯的排障设计 —— 每条链路记录步骤链(名称、时间、结果、错误),抽取日志另存首末两批 SQL;前置步骤会并入后继任务日志,跨任务可完整复盘。
◼️动态任务调度 —— 任务计划存库并在运行时动态注册与取消,启动自动恢复;配合任务级并发锁防止重复执行。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论