# 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

你的数据融合新助手

------------------------------------------------------------------------------- ## 介绍 `MyData`是一个为业务可持续建设而提供服务的数据平台,如其名“我的数据”旨在让用户更好的掌控和使用数据。 `数据资产`是本系统的核心理念,将数据视为具有价值的资产,并采取适当的措施来管理、保护和使用,实现业务的增值和持续发展。 ------------------------------------------------------------------------------- ## 规划 `v1 数据集成`:针对多应用之间数据集成的场景,为开发人员提供更安全、更方便的对接集成方案;(进行中) `v2 数据分析`:基于集成的数据,为业务人员提供数据统计和分析服务; `v3 数据资产`:基于集成和分析,融入数据资产管理模式,让数据成为企业优化和增益的资产; ------------------------------------------------------------------------------- ## v1 数据集成 基于Web API、Excel实现数据集成,简化跨系统之间的数据对接; ![对接结构](https://www.mydata.work/wp-content/uploads/2025/01/mydata_structure_v0.9.jpg) ### 适用场景 * 数据集成,打通业务之间的关联,形成业务融合; * 基于 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.mydata.work/wp-content/uploads/2025/01/mydata_frame_0.9.jpg) ## 功能模块 ![功能模块](https://www.mydata.work/wp-content/uploads/2025/01/mydata_funtion_v0.9-scaled.jpg) # 界面截图 * 定义数据标准 ![定义数据标准.png](https://www.mydata.work/wp-content/uploads/2025/01/定义数据标准.jpg) * 查看数仓业务数据 ![查看数仓业务数据.png](https://www.mydata.work/wp-content/uploads/2025/01/查看数仓业务数据.jpg) * 流水线管理 ![流水线管理.png](https://www.mydata.work/wp-content/uploads/2025/01/流水线管理.jpg) * 流水线任务编排 ![流水线任务编排.png](https://www.mydata.work/wp-content/uploads/2025/01/流水线任务编排.jpg) * 流水线执行记录 ![流水线执行记录.png](https://www.mydata.work/wp-content/uploads/2025/01/流水线执行记录.jpg) * 执行过程日志 ![执行过程日志.png](https://www.mydata.work/wp-content/uploads/2025/01/执行过程日志.jpg) # 使用手册 * 使用手册:https://www.yuque.com/lien321/mydata # 试用体验 * 交流Q群: * 联系vx:lient321 ![联系作者](./doc/image/wechat.jpg) # 更新记录 ## 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“字符串问题; - 修复内置变量值在任务执行过程中不更新问题; - 数据管理 - 修复数据编号重复校验 未按项目隔离,导致跨项目无法创建相同编号数据;