- 添加数据校验历史记录查询接口 - 实现数据校验任务创建功能 - 新增数据校验详情查询接口 - 添加谐波奇偶关系异常检测规则 - 实现数据校验明细数据结构 - 添加数据校验编号生成工具 - 优化InfluxDB查询组件并增加缓存机制 - 添加数据校验常量定义 - 实现数据校验值生成器中的派生字段处理逻辑 - 新增数据校验相关的VO、PO、DTO类 - 添加数据校验组件单元测试
add-data 模块说明
模块定位
add-data 当前提供电能质量 13 张表批量补数能力,支持补数规模预估、后台异步执行、任务状态查询、前端模板规则查询,并提供独立的 InfluxDB 写入入口。
当前范围
当前模块本次实现范围聚焦在工具型批处理,不接入以下内容:
- 覆盖更新或先删后写
- 监测点基础信息管理
- 独立任务持久化表
- 前端页面代码
SQL 元数据脚本位于 src/main/resources/sql/add-data/DATA_FLICKER.sql,供运行时解析表字段元数据。
当前结构
add-data/
├── pom.xml
├── README.md
└── src/main/java/com/njcn/gather/tool/adddata/
├── component/
├── config/
├── controller/
├── pojo/
├── service/
└── util/
基础骨架说明
controller/AddDataTaskController- 提供 MySQL 预估、创建任务、查询任务状态三个接口
controller/AddDataInfluxTaskController- 提供 InfluxDB 创建任务、查询任务状态两个接口
controller/AddDataStorageTypeController- 提供当前支持入库类型查询接口,返回
MYSQL、INFLUXDB
- 提供当前支持入库类型查询接口,返回
controller/AddDataTemplateController- 提供前端参数模板规则查询接口
component/AddDataTaskExecutor- 负责 MySQL 后台异步补数任务执行
component/AddDataInfluxTaskExecutor- 负责 InfluxDB 后台异步补数任务执行
component/AddDataBatchWriter- 负责
INSERT IGNORE批量写入与失败降级
- 负责
component/AddDataInfluxWriter- 负责将生成数据转换为 InfluxDB line protocol 并写入
/write
- 负责将生成数据转换为 InfluxDB line protocol 并写入
component/AddDataInfluxFieldMapper- 负责把 add-data 表字段映射为 InfluxDB measurement、tag 和 field
component/AddDataValueGenerator- 负责按同源规则生成 13 张表数据
component/AddDataTableRegistry- 负责从 SQL 资源解析字段元数据并注册表定义
component/AddDataTaskStatusHolder- 首版以内存方式保存任务状态
扩展约束
当前实现按 A/B/C/T 四类数据类型生成和预估补数。
InfluxDB 写入复用 steady 的 InfluxDB 配置源,保持两个模块使用同一个库:
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
后续如果补齐逐表真实相别映射、任务持久化或更细粒度模板规则,应优先沿现有职责边界扩展,不回退为单一大类承载全部逻辑。