feat(syslog-serve): 优化微步5秒窗口与5万条日志采集

- 将 API 拉取任务的 lookbackSeconds 通用默认值调整为 0
- 微步任务采用5秒时间窗口、50000条单窗口上限和64MiB响应保护
- 将微步适配器及管理接口的 pageSize 上限放宽至50000
- 将 API 调度扫描默认周期调整为1000毫秒
- 兼容新旧调度扫描环境变量名称
- 更新达梦数据库 PAGE_SIZE 约束及 LOOKBACK_SECONDS 默认值
- 补充 v6 数据库预检、升级和验证脚本
- 更新微步任务模板、现场操作说明和启动版本标识
- 增加配置边界及启动参数自动化测试

验证:
- JDK 8 Maven测试通过:167个,失败0,错误0,跳过2
- git diff --check通过
This commit is contained in:
王绍宏
2026-09-17 23:15:15 +08:00
parent 261f1d38e9
commit d7fcbdde92
17 changed files with 126 additions and 26 deletions
@@ -31,3 +31,21 @@ WHERE CONSTRAINT_NAME = 'CK_DEVICE_COLLECTION_MODE';
-- 5. 执行 DDL 前必须完成 DEVICE_DEVICE 可恢复备份,并确认没有未结束的长事务或表锁。
-- 数据库脚本不得写死现场 device_id;具体设备模式在新版 JAR 启动后通过管理 API 设置。
-- 6. API 拉取配置表及 LOOKBACK_SECONDS 必须存在。记录当前默认值;旧版通常为 300,新版目标为 0。
-- 这里只修改后续新记录的默认值,不覆盖已有任务显式配置。
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG';
SELECT COLUMN_NAME, DATA_TYPE, NULLABLE, DATA_DEFAULT
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND COLUMN_NAME = 'LOOKBACK_SECONDS';
-- 7. 记录 API 拉取单窗口条数约束。旧版应存在 CK_DC_API_CFG_PAGE,范围上限通常为 10000;
-- 新版需要放宽为 50000,供微步 5 秒窗口使用。
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS, SEARCH_CONDITION
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND CONSTRAINT_NAME = 'CK_DC_API_CFG_PAGE';
@@ -23,3 +23,24 @@ COMMENT ON COLUMN DEVICE_DEVICE.COLLECTION_MODE IS
'设备级采集模式:SYSLOG_ONLY、API_ONLY、BOTH;默认 BOTH';
COMMIT;
-- API 拉取任务的通用回看默认值改为 0。只改变后续 INSERT 未指定该字段时的默认值;
-- 不 UPDATE 已有任务,已有 NDR/全悉等显式 lookback 配置保持不变。
ALTER TABLE DEVICE_COLLECT_API_CONFIG
MODIFY LOOKBACK_SECONDS INTEGER DEFAULT 0 NOT NULL;
COMMENT ON COLUMN DEVICE_COLLECT_API_CONFIG.LOOKBACK_SECONDS IS
'迟到数据回看秒数;默认0,仅在适配器和现场容量允许时由任务显式设置';
COMMIT;
-- 微步 5 秒窗口允许单次完整返回最多 50000 条。这里只放宽通用数据库约束;
-- NDR、全悉等适配器仍由各自 Java Schema 保持更小的 pageSize 上限。
ALTER TABLE DEVICE_COLLECT_API_CONFIG
DROP CONSTRAINT CK_DC_API_CFG_PAGE;
ALTER TABLE DEVICE_COLLECT_API_CONFIG
ADD CONSTRAINT CK_DC_API_CFG_PAGE
CHECK (PAGE_SIZE BETWEEN 1 AND 50000);
COMMIT;
@@ -26,3 +26,21 @@ GROUP BY COLLECTION_MODE
ORDER BY COLLECTION_MODE;
-- 验证脚本不创建测试设备,也不绑定任何现场 device_id。
-- 5. 预期 1 行:LOOKBACK_SECONDS、NULLABLE=N、DATA_DEFAULT 为 0。
SELECT COLUMN_NAME, DATA_TYPE, NULLABLE, DATA_DEFAULT
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND COLUMN_NAME = 'LOOKBACK_SECONDS';
-- 6. 仅统计已有任务分布,不要求全部为 0;升级脚本不会覆盖已有任务的显式配置。
SELECT LOOKBACK_SECONDS, COUNT(*) AS TASK_TOTAL
FROM DEVICE_COLLECT_API_CONFIG
GROUP BY LOOKBACK_SECONDS
ORDER BY LOOKBACK_SECONDS;
-- 7. 预期 1 行且 SEARCH_CONDITION 包含 PAGE_SIZE BETWEEN 1 AND 50000。
SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS, SEARCH_CONDITION
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'DEVICE_COLLECT_API_CONFIG'
AND CONSTRAINT_NAME = 'CK_DC_API_CFG_PAGE';