# mydata-boot
**Repository Path**: LIEN321/mydata-boot
## Basic Information
- **Project Name**: mydata-boot
- **Description**: mydata是基于Web API的数据集成平台,提供数据集成服务,简化跨系统之间的数据对接;
mydata-boot是平台后端,基于 SpringBoot 3 开发;
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: dev
- **Homepage**: https://www.mydata.work
- **GVP Project**: No
## Statistics
- **Stars**: 65
- **Forks**: 13
- **Created**: 2022-08-10
- **Last Updated**: 2025-09-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: API, 数据集成, 数据仓库, 数据中心, 业务融合
## README
你的数据融合新助手
-------------------------------------------------------------------------------
## 介绍
`MyData`是一个为业务可持续建设而提供服务的数据平台,如其名“我的数据”旨在让用户更好的掌控和使用数据。
`数据资产`是本系统的核心理念,将数据视为具有价值的资产,并采取适当的措施来管理、保护和使用,实现业务的增值和持续发展。
-------------------------------------------------------------------------------
## 规划
`v1 数据集成`:针对多应用之间数据集成的场景,为开发人员提供更安全、更方便的对接集成方案;(进行中)
`v2 数据分析`:基于集成的数据,为业务人员提供数据统计和分析服务;
`v3 数据资产`:基于集成和分析,融入数据资产管理模式,让数据成为企业优化和增益的资产;
-------------------------------------------------------------------------------
## v1 数据集成
基于Web API、Excel实现数据集成,简化跨系统之间的数据对接;

### 适用场景
* 数据集成,打通业务之间的关联,形成业务融合;
* 基于 HTTP(S)协议 API 的应用之间对接数据;
* 为项目或组织构建数据中心,降低对接门槛;
* 通过Excel文件方便业务人员直接集成数据;
### 不适用
* 定位不是数据湖,不适用于将所有数据、文件都放到同一个系统里;
### 优点
- **集成度高**:通过API集成数据,没有数据库类型、开发技术等限制,有API即可对接;
- **数据安全**:无需开放业务系统数据库;
- **零侵入性**:无SDK,业务系统有API即可集成;
- **可控性高**:统一调度集成任务,对业务系统几乎无感知;
- **复用性高**:业务系统迁移、技术升级等,无需重复集成,API可用即可恢复集成;
- **私有部署**:更好的数据安全和隐私保护,二次开发满足个性需求;
### 技术选型
* 采用前后端分离框架开发;
* mydata-boot是平台后端,基于 [zhiwei_FrostMetal](https://gitee.com/LIEN321/zhiwei_FrostMetal) (SpringBoot v3)开发
* mydata-antd是平台前端,基于 [zhiwei_Gyrfalcon](https://gitee.com/LIEN321/zhiwei_Gyrfalcon) (Ant Design Pro v5)开发;
* 依赖组件
* MySQL:存储管理数据,主流数据库方便维护和使用;
* MongoDB;存储业务数据;
* 支持大数据存储;
* 松散数据结构 适合自定义业务数据的扩展、分析和统计查询;
* 技术门槛不高,可单机可集群;
* Redis:缓存管理数据和定时任务;
## 系统结构

## 功能模块

# 界面截图
* 定义数据标准

* 查看数仓业务数据

* 流水线管理

* 流水线任务编排

* 流水线执行记录

* 执行过程日志

# 使用手册
* 使用手册:https://www.yuque.com/lien321/mydata
# 试用体验
* 交流Q群:
* 联系vx:lient321

# 更新记录
## 0.9.3(开发中)
### 新功能
- 流水线
- 增加参数管理,支持设置静态参数、流水线执行过程中读写参数;
- 增加运行结果的邮件通知;
- Web API支持Cookie
- 应用管理,增加“启用Cookie”的开关;
- 流水线执行时,调用API时保存和发送应用的Cookie;
## 0.9.2(2025-04-30)
### 新功能
- 流水线
- 编排任务列表,增加“启用”开关,可禁用指定任务 跳过执行;
- 触发流水线,增加“异步模式”的开关,支持同步或异步执行;
- 查询业务数据,增加“自定义条件”,支持复杂组合的查询条件 类似field1 > value and field2 != 'str' or field3 <
field4,操作符支持<、<=、>、>=、=、!=、IS NULL、IS NOT NULL、IS EMPTY、IS NOT EMPTY、AND、OR、括号();
### 优化
- 数据管理
- 设置为可显示的字段 都作为查询条件;
- 增加编辑业务数据、删除业务数据功能;
## 0.9.1(2025-02-10)
### 新功能
- 数据集成流水线
- 数据类型,增加“无效时置0”;
- 体验平台
- 注册账号
### 优化
- 数据集成流水线
- JSON存入变量
- 增加变量值的“后续处理”;
- JSON变量统一为PIPELINE_JSON;
- 完善流水线日志内容
### 修复
- 流水线
- 执行记录按时间区间查询不准确问题;
## 0.9.0(2025-01-05)
### 新功能
- 全新设计的流水线集成方案,支持更灵活、自由的编排;
- API
- 从API获取JSON
- 向API发送数据
- Webhook
- 从Webhook接收JSON
- 数据处理
- JSON转数据
- 数据转JSON
- 过滤数据
- 处理数据
- 数据写入Excel
- 数据仓库
- 保存业务数据到数据仓库
- 从数据仓库查询业务数据
- 邮件
- 发送邮件
- 流水线
- 触发流水线
- 参数变量
- JSON值存入变量
- 采用新的前后端框架重构系统;
### 优化
- 重构优化集成任务流程 ,提高稳定性、数据准确性、问题可追查性;
- 改用Quartz实现定时任务调度;
- 去掉环境管理,接口统一前缀转移到应用的基本信息里;
## 0.8.4(2024-08-08)
### 新功能
- 数据管理
- 增加数据保留历史记录的开关 和 查询历史数据;
- 业务数据支持单个删除;
- 字段增加默认值配置,若接口未返回数据 则自动补充默认值;
- 增加设置字段是否显示,方便查看业务数据时 隐藏无需显示列;
### 优化
- 定时任务
- 执行失败重试的时间间隔逐次递增;
## 0.8.3(2024-05-25)
### 新功能
- 任务管理
- 字段映射 新增{{$field}}格式,支持集成时获取仓库指定字段值,以便用于数据处理;
- 数据管理
- 业务数据 增加标识字段的查询功能;
- 增加Excel的导入、导出功能,方便业务人员集成数据;
- 系统定时
- 周期统计并更新业务数据量;
- 每天清理7天前未执行完成的日志记录;
- 租户管理
- 新增租户时,创建示例数据,包括1个默认项目、1个示例应用、2个示例API、1个示例数据、2个示例任务;
### 优化
- 项目管理
- 新增项目时,自动创建一个该项目的默认环境;
- 定时任务
- 订阅、接收推送任务 支持重试机制,避免一次失败就结束 且不会发送通知邮件;
- 优化任务的调度控制流程;
- 订阅任务重试仍失败后 不自动结束任务;
### 修复
- 定时任务
- 分批模式,因接口返回内容包含分页参数始终不同 导致死循环;
## 0.8.2(2024-05-09)
### 新功能
- 任务管理
- 提供数据任务 增加订阅模式,实现一个任务触发另一个任务获取数据;
- 多层订阅任务 支持串连执行,前置任务的业务数据支持共享给后置任务复用;
- 字段映射 支持{{field}}表达式,实现订阅任务从父任务获取数据;
- 字段映射 增加数据处理配置,实现获取和消费数据时的进一步处理,包括:
- 数值:加减乘除;
- 字符串:md5、base64、prepend、append;
- 日期:增加秒;
- 通用:置null、置empty;
- 字段映射 支持"/"前缀,实现从json根目录获取数据;
- 字段映射 支持"a.b.c"结构,实现从指定层级获取数据,结合"/"和prefix 实现更灵活的组合;
- 数据管理
- 数据量统计,按项目环境隔离 统计业务数据量;
- 显示有业务数据的环境,以便快速查看数据;
- 定时任务
- 消费数据的API为单个对象模式时 支持逐个发送多条数据;
- 消费任务的API 有body参数时,优先使用body参数传递数据;
- API管理
- header、param参数支持{field}表达式,实现调用接口时转换为指定业务数据作为参数;
- 增加body参数,支持环境变量、系统变量、数据变量;
### 优化
- 定时任务
- 增加正在执行过程中的任务队列,不包含缓存中的任务;
- 任务恢复策略 不恢复正在执行中的任务,避免不必要的恢复;
- 数据过滤
- API提供数据时,将默认排除的标识字段值无效数据 转移到数据过滤中,作为邮件内容发送给任务负责人;
- 任务管理
- 增加应用选项,以便准确选择API,避免多个应用有相似API而不确定;
- API管理
- 调式功能 补充环境全局header和param参数,支持系统环境和用户变量值的解析;
- 定时任务
- 增加JSON数组结构的解析处理;
### 修复
- 定时任务
- 当数据因没有配置标识字段而被过滤时 任务日志缺少说明 且状态不准确;
- 修复单次数据都被过滤后即退出任务,不再执行下一次集成的问题;
- 修复停止的任务正在执行,导致结束后继续执行,与任务实际状态不一致;
- 数据管理
- 修复变更标识字段后 未同步更新对应任务 导致需要手动编辑保存的问题;
- 任务管理
- 修复创建其他环境任务时 可以选到其他项目的环境问题;
- 环境变量任务
- 修复任务启动异常问题;
## 0.8.1(2024-04-17)
### 新功能
- 任务管理
- 提供数据类型 增加“调用API”和“接收推送”模式选项,平台提供接口接收数据;
- 接收推送
- 新增接口,支持web hook或API主动推送数据,实现认证和接收推送的数据,并通过任务执行后续流程;
- API管理
- url支持`{field}`格式的变量 适配PathVariable模式,调用API时从数据中提取指定字段值并替换;
### 优化
- 任务管理
- 优化cron编辑器,减少占用空间;
- 简化任务卡片,其他信息通过点击显示;
- 订阅消费支持选择来源任务,以便指定触发执行的前置任务;
- 消费数据类型 增加“单数据模式”开关,以便发送一条记录时 用集合或单个对象;
- 增加下次执行时间,以便了解任务运行情况;
- 定时任务
- 任务日志 提前到存入缓存时就生成,以便了解任务运行情况;
- 增加数据对比,减少无变更数据的更新写入操作;
### 修复
- 任务管理
- 消费数据类型任务,向API发送业务数据后 修复未接收返回和更新自定义变量的问题;
- 定时任务
- 增加数据批次标识,解决分批获取数据后订阅任务丢失数据问题;
- 修复过滤条件值类型不匹配问题;
## 0.8.0(2024-04-09)
### 新功能
- 任务管理
- 消费数据类型任务 新增“发送邮件”模式,将符合条件的业务数据导出excel 并发送到指定邮箱;
- 过滤条件支持字段之间的对比查询;
- 数据管理
- 字段类型,增加 数值类型(number),支持浮点型数据 从而不会转为字符串;
- 集成管理
- 增加删除业务数据功能,方便调试阶段清理数据;
- 任务管理
- 提供数据类型任务的分批参数中,增加“两次获取相同数据即结束任务”的开关 以便控制任务正常结束或异常中止;
### 优化
- 任务管理
- 任务周期 改用Cron编辑器;
- 过滤条件的字段 改用下拉框,避免填写出错;
- 日志列表 增加刷新按钮;
- 当选择发送邮件时,禁用分批模式;
- 定时任务
- 优化整体流程逻辑;
- 减少日志详情内容量,加快页面加载数据;
- 改用hashcode对比前后两次对比数据;
- 失败任务 1分钟后重试,最多5次;
- 环境管理
- 编辑环境 支持修改所属项目;
### 修复
- 任务管理
- 修复创建任务时,API列表未按类型正确加载问题;
- 修复字段映射表格 初始加载时不显示数据问题;
- 修复选择其他环境时 未排除当前环境选项;
- 修复日志列表 初始显示上次查看的任务日志记录问题;
- 定时任务
- 修复数据类型转换的空指针转为“null“字符串问题;
- 修复内置变量值在任务执行过程中不更新问题;
- 数据管理
- 修复数据编号重复校验 未按项目隔离,导致跨项目无法创建相同编号数据;