# nxin
**Repository Path**: differentman/nxin
## Basic Information
- **Project Name**: nxin
- **Description**: 数据集成专业软件,包含ETL数据处理、数据看板;
ETL数据处理模块基于Kettle二次开发,重写50余种常用组件,支持关系型数据库、NoSQL数据库、网络服务、文件操作等,可视化设计实现数据或流的提取、转换、加载全流程化处理。
数据看板模块支持模型元数据定义、报表在线设计及在线排版布局,可为不同业务提供丰富的数据统计分析。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://132.232.194.157
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 32
- **Created**: 2026-07-13
- **Last Updated**: 2026-07-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# NXIN 智能数据集成平台
NXIN 是一套面向数据集成、ETL 开发、任务调度、运行监控和数据治理的智能数据集成工作台。平台把传统 Kettle/PDI 的数据处理能力搬到 Web 端,并围绕企业实际落地场景补齐工程管理、数据源管理、权限协作、脚本发布、批流任务运维、日志追踪、数据血缘、数据溯源和 AI 辅助设计等能力。
它适合需要把分散数据源快速接入、清洗、加工并稳定运行起来的团队:数据开发人员可以在线设计 Job/Transform,平台管理员可以统一管理用户、工程和权限,实施工程师可以通过任务监控、日志和血缘关系定位问题,业务团队也可以更清楚地理解数据从哪里来、经过了哪些处理、最终流向哪里。
## 在线演示
- 演示地址:[https://console.nxin.online](https://console.nxin.online)
- 用户名:`admin@nxin.online`
- 密码:`123456`
演示环境用于产品体验和功能预览,请勿修改账号密码或删除公共演示数据。
产品合作、部署实施或二次开发咨询,请查看文末的 [联系作者](#联系作者)。
## 核心能力
- **低代码 ETL 设计**:通过拖拽式画布设计转换和任务,覆盖数据提取、清洗、转换、加载、文件处理、接口调用、消息处理等常见数据加工场景。
- **AI 辅助编排**:支持围绕全局流程或单个节点进行 AI 对话,辅助生成流程、补全节点配置、解释画布逻辑,降低 ETL 设计门槛。
- **批流一体调度**:批处理任务支持定时调度、暂停、恢复、下线和历史日志查看;流处理任务支持常驻运行和统一监控。
- **数据资产管理**:统一维护工程、数据源、FTP、元数据等基础资源,为脚本设计、权限控制和治理分析提供资产底座。
- **血缘与溯源**:通过血缘图谱和执行批次溯源,帮助团队理解数据链路、排查质量问题、定位异常影响范围。
- **权限与协作**:支持用户管理、权限申请、权限审核、资源授权等流程,让不同工程和数据资源可以有序开放。
- **部署与运维闭环**:从在线设计、脚本发布、依赖部署到执行监控、日志追踪、子进程管理,覆盖 ETL 从开发到运行的完整生命周期。
## 产品界面
### 首页总览
首页集中展示任务执行情况、成功率、失败任务、平均耗时、近 24 小时执行趋势、任务状态分布、数据资产规模和高风险任务排行,让管理员能快速判断平台健康度。
### 登录与消息提醒
平台提供统一登录入口和消息提醒能力,方便用户接收权限、任务、系统事件等通知。
## 数据资产与基础管理
### 工程管理
工程是 NXIN 中组织数据开发和权限边界的核心单位。数据源、目录、脚本、任务和权限都可以围绕工程展开,适合按项目、部门、客户或业务域进行管理。
### 数据源管理
平台统一维护 ETL 开发和任务运行所需的数据源。数据源配置完成后,可用于在线设计、元数据提取、数据同步和任务执行。
### 元数据管理
通过元数据管理,团队可以查看和维护数据表、字段等结构信息,为 AI 辅助配置、字段选择、数据治理和后续溯源分析提供依据。
### FTP 管理
FTP/SFTP 资源可用于文件输入输出、批量数据交换、脚本附件和依赖文件管理。
## 在线 ETL 设计
### 目录与脚本管理
在线设计模块支持按目录组织脚本,便于将同一业务域下的转换、任务、调试版本和发布版本集中管理。
### 转换设计
转换设计用于完成数据读取、清洗、字段处理、关联、聚合、输出等细粒度加工逻辑。画布式设计方式让复杂数据处理过程更直观,也便于调试和交接。
### 任务设计
任务设计用于编排多个转换、脚本、邮件、FTP、条件判断等作业步骤,适合构建完整的数据处理流程,并与调度和发布流程衔接。
## AI 辅助设计
NXIN 在 ETL 设计过程中加入 AI 对话能力。用户可以描述想要实现的数据流程,由 AI 辅助规划画布;也可以针对某个节点进行局部对话,让 AI 解释配置项、补全字段、生成建议或帮助排查配置问题。
## 脚本发布与任务运维
### 脚本部署
脚本完成设计和验证后,可通过脚本部署模块发布到运行环境。部署过程支持依赖查看和发布管理,帮助开发态脚本平滑进入生产调度。
### 批处理任务
批处理任务用于定时执行或周期性执行的数据加工场景。平台提供任务状态、调度信息、历史记录、执行日志等运维入口。
### 流处理任务
流处理任务用于常驻型、持续消费型的数据处理场景,可与消息队列、实时数据源或长运行进程配合使用。
### 任务子进程
当任务运行出现资源占用异常或需要人工干预时,可以通过任务子进程管理查看并处理正在运行的子进程。
## 血缘、溯源与治理
### 数据血缘
数据血缘用于展示数据表、字段、任务、脚本之间的流转关系,帮助团队评估改动影响、理解上下游依赖。
### 数据溯源
数据溯源关注具体批次和执行链路,适合在数据异常、任务失败或结果不一致时反查来源和处理过程。
## 权限与系统管理
### 权限申请与审核
用户可以申请访问工程或资源,管理员或资源负责人可以进行审核,形成可追踪的授权流程。
### 权限管理
资源负责人可以为用户配置资源访问权限,控制数据源、脚本、工程等敏感资源的使用范围。
### 用户与配置
系统管理模块覆盖用户、字典、配置中心、提示词等后台配置能力,为平台日常运维和 AI 能力管理提供入口。
## 技术架构
NXIN 采用前后端分离与任务执行集群分层设计。
| 模块 | 说明 |
| --- | --- |
| `web-server` | 平台管理与在线设计服务,提供用户、工程、数据源、脚本、发布、权限、日志、血缘等接口能力 |
| `worker` | 任务执行与调度服务,负责批处理、流处理、Quartz 调度、运行日志和子进程管理 |
| `interface` | `web-server` 与 `worker` 之间共享的数据结构和通信模型 |
| `kettle-export` | Kettle/PDI 运行依赖、插件包和数据库驱动依赖集合 |
| `ui/vue-vben-admin` | 前端工程,当前仓库包含 Web 管理端源码/构建产物 |
主要技术栈:
- 后端:Java 8、Spring Boot 2.4.3、MyBatis-Plus、Spring Security、Quartz、Redis、WebSocket
- ETL 引擎:Pentaho Data Integration / Kettle 9.4 相关组件
- 数据库:MySQL,初始化脚本见 `init.sql`、`quartz.sql`
- 前端:Vue / Vben Admin 体系,构建产物位于 `ui/vue-vben-admin/apps/web-ele/dist`
- 存储与文件:本地工作目录、附件目录、下载目录以及可配置的 SFTP/VFS 资源
## 快速部署
### 环境准备
- JDK 8
- Maven 3+
- MySQL 8.x
- Redis
- Node.js / pnpm(如需重新构建前端)
- 可选:SFTP 服务,用于脚本、附件或依赖文件流转
### 初始化数据库
创建业务数据库后,依次执行:
```bash
mysql -uroot -p < init.sql
mysql -uroot -p < quartz.sql
```
数据库名称、账号和密码需要与 `web-server/src/main/resources/application.yml`、`worker/src/main/resources/application.yml` 中的 `spring.datasource` 和 `etl.log.datasource` 保持一致。
### 配置后端服务
重点检查以下配置:
- `spring.datasource`:业务数据库连接
- `spring.redis`:Redis 地址和认证信息
- `etl.log.datasource`:ETL 执行日志数据源
- `attachment.dir`、`dev.dir`、`production.dir`、`download.dir`:脚本、附件、日志和下载文件目录
- `vfs`:SFTP/VFS 配置
- `init.password`:新建用户默认密码
### 编译后端
```bash
mvn clean install -DskipTests
```
分别启动:
```bash
java -jar web-server/target/web-server-*.jar
java -jar worker/target/worker-*.jar
```
默认端口:
- `web-server`:`8000`
- `worker`:`8001`
### 部署前端
当前仓库已包含前端构建产物:
```text
ui/vue-vben-admin/apps/web-ele/dist
```
部署时将该目录交给 Nginx 或其他静态资源服务器即可。接口地址在:
```text
ui/vue-vben-admin/apps/web-ele/dist/_app.config.js
```
根据实际环境调整 `VITE_GLOB_API_URL`,例如:
```js
window._VBEN_ADMIN_PRO_APP_CONF_ = {
VITE_GLOB_API_URL: 'https://api.nxin.online',
};
```
## 典型使用流程
1. 由管理员创建用户、工程、字典和基础配置。
2. 在基础管理中维护数据源、FTP/SFTP、元数据等资源。
3. 在权限管理中为实施人员或数据开发人员分配工程和资源权限。
4. 在 ETL 在线设计中创建目录、转换或任务。
5. 使用画布拖拽节点,或通过 AI 对话辅助生成和完善流程。
6. 调试脚本并确认输入输出、字段映射和执行日志。
7. 发布脚本并配置批处理或流处理任务。
8. 在任务管理中监控执行状态、历史记录和运行日志。
9. 通过血缘和溯源能力分析上下游影响和异常来源。
## 适用场景
- 企业内部多系统数据同步和数据集成
- 数据仓库、数据中台、指标体系建设前的数据加工
- 周期性报表、对账、清洗、归档、文件交换任务
- 实时或准实时消息数据处理
- 数据质量问题排查、血缘分析和影响评估
- 面向客户交付的数据集成平台或行业解决方案底座
## 目录说明
```text
.
├── interface # web-server 与 worker 共享的数据结构
├── kettle-export # Kettle/PDI 相关依赖和扩展包
├── web-server # 平台管理、在线设计、权限、发布等服务
├── worker # 调度执行、任务运行、日志和进程管理服务
├── ui # 前端工程与构建产物
├── 功能截图 # README、产品介绍和手册使用的功能截图
├── init.sql # 业务库初始化脚本
└── quartz.sql # Quartz 调度表初始化脚本
```
## 联系作者
如果你希望了解产品合作、部署实施或二次开发相关信息,可以扫码联系。
## 许可证
本项目许可证见 [LICENSE](LICENSE)。