精品源码分享:基于 SpringCloud 和 Vue 的企业一站式数据治理中台
精品源码分享:基于 SpringCloud 和 Vue 的企业一站式数据治理中台
引言
随着业务的扩张,用户的增多,不少企业会开发出各种各样的业务系统来满足不同用户群体的需求,不同的业务系统使用的数据库类型也不尽相同,同时每天都可能产生大量的数据,不同系统之间的数据往往是隔离的,不透明的,这就可能导致数据标准不统一,数据质量参差不齐,如何更好的统一管理数据,查看数据信息,管理好自己的数据资产,让数据更好的服务于业务,避免重复开发,便逐渐成为了企业面临和关心的问题。
市面上有一些厂商推出了此类服务帮助企业管理数据资产,如阿里的 dataworks ,可以说是非常强大了,基本涵盖了数据治理,数据开发所需的所有功能,能够很好的帮助企业搭建自己的数据中台,实现数据的业务赋能,缺点就是闭源且收费。本文分享的系统源码偏数据治理,虽不能与 dataworks 相提并论,但功能丰富且全面,支持常见的数据库类型,同时可以自定义数据模型,进行简单的数据生产,功能模块划分明确,拓展简单方便,能有效的帮助企业搭建一站式数据治理中台!
系统介绍
该系统基于智数通项目进行二次拓展开发,修复了原系统存在的问题:如首次启动服务之间调用过慢,数据服务 API 初始化无效,各模块删除操作缺乏关联校验,可视化模块回显和保存异常,工作流缓存无效等,同时优化了前台部分模块的属性显示,丰富了元数据的同步方式,支持手动执行数据质量检测等,现开源出去反哺社区。
系统提供了统一的元数据自动采集和维护入口,在元数据模块中为数据管理提供了准确实时的基础数据,在此之上结合企业的现状调研和咨询,可以构建企业级的数据资产类目体系和数据安全体系。同时,通过数据质量模块,实现数据处理的质量管控。通过数据 API 模块,为上层应用提供数据接口服务,实现数据赋能。通过可视化模块无需搭配任何开发工具,简单拖拽和开发,即可完成复杂的数据分析任务等等。
系统应用微服务云原生技术,封装了大量技术开发包、技术应用组件、技术场景实现能力,提供了一个可支持企业各业务系统或产品快速开发实现的微服务应用数字化融合平台,富含各类开箱即用的组件、助力企业共享业务服务的组合重用,为企业服务化中台整合、数字化转型提供强力支撑,也为企业提供了最佳架构实践。同时该系统还是一套基于Spring Cloud的微服务应用程序框架,可帮助公司更快,更高效地进行微服务开发。
系统技术栈介绍
后台整体采用 SpringCloud 微服务框架开发,使用 Spring Security + Spring OAuth 2.0 实现认证鉴权;使用 Quartz 实现任务调度;使用 MyBatis Plus 作为持久层支撑;使用 RabbitMq 提供消息队列服务,用于模块之间的异步通信,处理任务;使用 Redis 提供缓存服务,加快系统查询响应速度;采用 Flowable 作为工作流引擎,为流程化业务提供服务支撑。
前台采用 vue 技术栈,使用 vue-element-ui 框架开发,样式简约精美,npm 一键打包,部署方便。
系统模块划分
系统模块划分细致明确,整体划分结构如下:
datax-ui-pro – 前端工程[9528]
datax-cloud-pro – 后端工程
├── datax-eureka – 注册中心[8610]
├── datax-config – 配置中心[8611]
├── datax-gateway – Spring Cloud Gateway网关[8612]
├── datax-auth – 授权服务提供[8613]
├── datax-common – 系统公共模块
├ ├── datax-common-core – 公共工具类核心包
├ ├── datax-common-database – 数据库相关工具类包
├ ├── datax-common-log – 日志服务类包
├ ├── datax-common-mybatis – 数据源类包
├ ├── datax-common-office – word工具类包
├ ├── datax-common-rabbitmq – rabbitmq消息队列类包
├ ├── datax-common-redis – redis类包
├ ├── datax-common-security – 安全工具类包
├── datax-modules – 业务模块
├ ├── codegen-service-parent – 后端代码生成管理模块[8830]
├ ├── data-market-service-parent – 数据集市管理模块[8822]
├ ├── data-masterdata-service-parent – 主数据管理模块[8828]
├ ├── data-metadata-service-parent – 元数据管理模块[8820]
├ ├── data-quality-service-parent – 数据质量管理模块[8826]
├ ├── data-standard-service-parent – 数据标准管理模块[8825]
├ ├── data-visual-service-parent – 可视化管理模块[8827]
├ ├── email-service-parent – 邮件管理模块[8812]
├ ├── file-service-parent – 文件管理模块[8811]
├ ├── quartz-service-parent – 定时任务管理模块[8813]
├ ├── system-service-parent – 平台基础设置管理模块[8810]
├ ├── workflow-service-parent – 流程管理模块[8814]
└── datax-tools – 图形化模块
├ ├── datax-tool-monitor – Spring Boot Admin监控 [8711]
系统功能一览
- 平台基础设置
- 系统管理
- 岗位管理:配置系统用户所属担任职务。
- 部门管理:配置系统组织机构,树结构展现支持数据权限。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 参数管理:对系统动态配置常用参数。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 系统监控
- 登录日志:系统登录日志记录查询。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 任务调度
- 任务管理:在线(添加、修改、删除)任务调度。
- 日志管理:任务调度执行结果日志。
- 系统管理
- 元数据管理
- 数据源:数据源连接信息管理,可生成数据库文档。
- 元数据:数据库表的元数据信息管理。
- 数据授权:设置元数据信息权限划分。
- 变更记录:元数据信息变更记录信息管理。
- 数据检索:数据源、数据表、元数据等信息查询。
- 数据地图:元数据的隶属数据表、数据库的图形展示。
- SQL工作台:在线执行查询sql。
- 数据标准管理
- 标准字典:国标数据维护。
- 对照表:本地数据中需要对照标准的数据维护。
- 字典对照:本地数据与国标数据的对照关系。
- 对照统计:本地数据与国标数据的对照结果统计分析。
- 数据质量管理
- 规则配置:数据质量规则配置。
- 问题统计:数据质量规则统计。
- 质量报告:数据质量结果统计分析。
- 定时任务:数据质量定时任务。
- 任务日志:数据质量定时任务日志。
- 主数据管理
- 数据模型:主数据数据模型维护。
- 数据管理:主数据数据管理。
- 数据集市管理
- 数据服务:动态开发api数据服务,可生成数据服务文档。
- 数据脱敏:api数据服务返回结果动态脱敏。
- 接口日志:api数据服务调用日志。
- 服务集成:三方数据服务集成管理。
- 服务日志:三方数据服务集成调用日志。
- 可视化管理
- 数据集:基于sql的查询结果维护。
- 图表配置:动态echarts图表配置,支持多维表格、折线、柱状、饼图、雷达、散点等多种图表。
- 看板配置:拖拽式添加图表组件,调整位置、大小。
- 酷屏配置:拖拽式添加图表组件,调整背景图、颜色、位置、大小。
- 流程管理
- 流程定义:流程定义管理。
- 流程实例
- 运行中的流程:运行中的流程实例管理。
- 我发起的流程:我发起的流程实例管理。
- 我参与的流程:我参与的流程实例管理。
- 流程任务
- 待办任务:待办任务管理。
- 已办任务:已办任务管理。
- 业务配置:配置业务系统与流程的相关属性。
系统截图
结语
以上便是本期源码分享的主要内容了,依本人所见,源码中还是有很多可取之处的,思想层面,可以帮助我们了解数据平台的模块构成以及相关核心业务。技术层面,比如如何获取不同数据库的元数据信息,如何解析sql,如何动态生成 API 服务,如何自定义定时任务等,这些在日常开发中并不常见,但如果借此掌握,大有裨益。
使用该系统搭建企业数据中台或个人学习研究,都是不错的选择,希望能对你有所帮助,有所启发,我们下次更新,再见!
想要源码以及相关部署文档,资料的朋友 —》
关注公众号 螺旋编程极客
发送 数据中台
获取,
附送 数据中台标准建设方案PDF
!
更多推荐
所有评论(0)