2026-04-30 11:32:00 +08:00
|
|
|
# add-data 模块说明
|
|
|
|
|
|
|
|
|
|
## 模块定位
|
|
|
|
|
|
2026-05-20 08:33:37 +08:00
|
|
|
`add-data` 当前提供电能质量 13 张表批量补数能力,支持补数规模预估、后台异步执行、任务状态查询、前端模板规则查询,并提供独立的 InfluxDB 写入入口。
|
2026-04-30 11:32:00 +08:00
|
|
|
|
|
|
|
|
## 当前范围
|
|
|
|
|
|
|
|
|
|
当前模块本次实现范围聚焦在工具型批处理,不接入以下内容:
|
|
|
|
|
|
|
|
|
|
- 覆盖更新或先删后写
|
|
|
|
|
- 监测点基础信息管理
|
|
|
|
|
- 独立任务持久化表
|
|
|
|
|
- 前端页面代码
|
|
|
|
|
|
2026-05-14 09:12:16 +08:00
|
|
|
SQL 元数据脚本位于 `src/main/resources/sql/add-data/DATA_FLICKER.sql`,供运行时解析表字段元数据。
|
2026-04-30 11:32:00 +08:00
|
|
|
|
|
|
|
|
## 当前结构
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
add-data/
|
|
|
|
|
├── pom.xml
|
|
|
|
|
├── README.md
|
|
|
|
|
└── src/main/java/com/njcn/gather/tool/adddata/
|
|
|
|
|
├── component/
|
|
|
|
|
├── config/
|
|
|
|
|
├── controller/
|
|
|
|
|
├── pojo/
|
|
|
|
|
├── service/
|
|
|
|
|
└── util/
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 基础骨架说明
|
|
|
|
|
|
|
|
|
|
- `controller/AddDataTaskController`
|
2026-05-20 08:33:37 +08:00
|
|
|
- 提供 MySQL 预估、创建任务、查询任务状态三个接口
|
|
|
|
|
- `controller/AddDataInfluxTaskController`
|
|
|
|
|
- 提供 InfluxDB 创建任务、查询任务状态两个接口
|
|
|
|
|
- `controller/AddDataStorageTypeController`
|
|
|
|
|
- 提供当前支持入库类型查询接口,返回 `MYSQL`、`INFLUXDB`
|
2026-04-30 11:32:00 +08:00
|
|
|
- `controller/AddDataTemplateController`
|
|
|
|
|
- 提供前端参数模板规则查询接口
|
|
|
|
|
- `component/AddDataTaskExecutor`
|
2026-05-20 08:33:37 +08:00
|
|
|
- 负责 MySQL 后台异步补数任务执行
|
|
|
|
|
- `component/AddDataInfluxTaskExecutor`
|
|
|
|
|
- 负责 InfluxDB 后台异步补数任务执行
|
2026-04-30 11:32:00 +08:00
|
|
|
- `component/AddDataBatchWriter`
|
|
|
|
|
- 负责 `INSERT IGNORE` 批量写入与失败降级
|
2026-05-20 08:33:37 +08:00
|
|
|
- `component/AddDataInfluxWriter`
|
|
|
|
|
- 负责将生成数据转换为 InfluxDB line protocol 并写入 `/write`
|
|
|
|
|
- `component/AddDataInfluxFieldMapper`
|
|
|
|
|
- 负责把 add-data 表字段映射为 InfluxDB measurement、tag 和 field
|
2026-04-30 11:32:00 +08:00
|
|
|
- `component/AddDataValueGenerator`
|
|
|
|
|
- 负责按同源规则生成 13 张表数据
|
|
|
|
|
- `component/AddDataTableRegistry`
|
|
|
|
|
- 负责从 SQL 资源解析字段元数据并注册表定义
|
|
|
|
|
- `component/AddDataTaskStatusHolder`
|
|
|
|
|
- 首版以内存方式保存任务状态
|
|
|
|
|
|
|
|
|
|
## 扩展约束
|
|
|
|
|
|
|
|
|
|
当前实现按 `A/B/C/T` 四类数据类型生成和预估补数。
|
|
|
|
|
|
2026-05-20 08:33:37 +08:00
|
|
|
InfluxDB 写入复用 steady 的 InfluxDB 配置源,保持两个模块使用同一个库:
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
steady:
|
|
|
|
|
influxdb:
|
|
|
|
|
url: http://127.0.0.1:18086
|
|
|
|
|
database: pqsbase
|
|
|
|
|
username: admin
|
|
|
|
|
password: ${STEADY_INFLUXDB_PASSWORD:}
|
|
|
|
|
connect-timeout-ms: 5000
|
|
|
|
|
read-timeout-ms: 30000
|
|
|
|
|
```
|
|
|
|
|
|
2026-04-30 11:32:00 +08:00
|
|
|
后续如果补齐逐表真实相别映射、任务持久化或更细粒度模板规则,应优先沿现有职责边界扩展,不回退为单一大类承载全部逻辑。
|