2026年01月26日
内容截止日: 2026年02月01日
本周工作计划与执行完成进度
中心服务平台 - 功能完善
- 目标: 控制变更范围,降低引入风险,实现面向客户可用的初步功能体验。
- 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
以往已完成的工作不再重复,详情请查看上周及上月报告- 〔工作量〕es-center-server-services 102 次(设计 35 · 代码 67)· 代码 +7.5k/-5.2k | es-center-server-install-app 3 次 · 代码 +0.3k/-0.4k
- 〔方法论〕主线分阶段实现并逐步闭环(基础设施 → 全量 → 增量 → 故障恢复 → 完整性校验 → 历史归档 → 导入通知)| 文件校验简化(checksum 改文件大小)| 流式数据导出(queryForList / queryForStream)| 工具类内聚化(DataSyncFileUtils 统一文件操作)| 文档与代码持续同步
- 1-26 ~ 1-28: 增量导出与主从调度
- ✅ 主从两端补齐增量同步、下载和归档,统一管理定时任务 〔es-center-server-services〕
实施主节点按 sync_log 分表分批导出 JSONL.gz,即逐行 JSON 的 gzip 压缩文件。批量由 1000→5000,删除日志按 100 条分批;数据读取改为 queryForList,去掉手写行映射模型。全量导出仍按 UTC(国际标准时间)每日触发。实施变更日志从 row_data 单值改为 old_data/new_data 双值,操作标识从 I/U/D 改为 INSERT/UPDATE/DELETE;97 个继承子表补触发器,随后移除 19 个 history/snapshot/log 表的触发器。父表触发器不会自动继承,子表需显式安装,并通过 TG_ARGV 传父表名。重构调度先统一为 3 秒一拍、启动延时 3 分钟的服务,随后拆出主从职责。初始化只首次执行,DDL 历史清理与 sync_log 清理按角色安排,删除 enabled 冗余开关;开发环境恢复跳过触发器 SQL 重装。实施从节点建立 SFTP(加密文件传输)下载、增量导入、校验与归档。支持插入/更新/删除、批量处理及防重复下载;导出目录保留 2 天、归档目录保留 3 天,按文件大小核对,失败文件移入失败目录并告警,重启清理残留后恢复同步。排障租户初始化消息改无载荷后出现消费错误,补回字符串载荷并适配监听器;采集设备请求增加时间戳检查,不得晚于当前时间且须在 30 分钟内。设计数据模型、调度与任务清单持续对齐实现,清理旧 checksum 描述;任务卡记录简化、清理、复杂度与规范约束。实施1-26 重新引入规格工具 OpenSpec,1-27 又撤下旧三命令入口。
- ✅ 主从两端补齐增量同步、下载和归档,统一管理定时任务 〔es-center-server-services〕
- 1-28 ~ 1-30: 同步模块实现与性能调整
- ✅ 1-29 完成跨境数据同步功能实现,主线全量与增量流程闭合 〔es-center-server-services〕
实施清单从 1-22 精简后的 61 项扩为 1-28 的 78 项,1-29 补全量导入和调度集成后,清单记为 80 条;记录包含实施、验收检查、文档与已清退项。全量导入先清表再批量插入,增量导入与异常处理补齐;临时校验器和验证控制器用于核对后删除,本条记录实现完成。重构目录监听并入调度,独立 DirectoryWatchService 移除;导出/导入接口抽为策略层,压缩读写独立处理,Service 后缀与配置项精简。排障无主键表不再默认使用 id,而是跳过同步;全量导出改游标查询,去掉多余排序。试用布隆过滤器后发现争用,再将其移除,以 Spring 逐行回调降低锁竞争,同时优化增量删除与导出策略。重构文件操作集中到 DataSyncFileUtils,修复非空目录删除失败,统一路径计算与移动;失败处理类并入工具类,常量与缓冲区大小集中管理,去掉魔法值、无效参数和重复代码。实施1-30 增量导入从按操作类型分组改为按变更时间线逐条执行,避免乱序覆盖。导入成功后立即归档,失败移目录仍有独立去向;全量导出目录以整体移动交给下游,避免读取半成品。实施1-30 改用 opsx 十命令与十技能的 OpenSpec 工作流,替代旧 speckit。设计代码简化、规范、冗余过滤、事务分离、归档与策略签名变更分别记录,CLAUDE 多篇规范同步精简。
- ✅ 1-29 完成跨境数据同步功能实现,主线全量与增量流程闭合 〔es-center-server-services〕
- 1-30 ~ 2-01: 导入通知与同步收尾
- ✅ 从节点导入后创建配套账号和国际化文件 〔es-center-server-services〕
实施1-30 ~ 1-31,建立 DataImportCompletedEvent 与监听器。新用户、设备和采集服务器数据导入后,通过 MQTT(设备消息协议)账号消息创建配套账号;国际化数据导入后通知生成多语言 JSON 文件,监听器异常不影响导入主流程。重构ApplicationContextHolder 的环境获取改为方法内读取,统一使用规范;下载防重由四目录收敛为三目录,每轮先清空 downloading,删除冗余检查与参数传递。设计CLAUDE.md 与 Spring 专篇继续提炼通用约束,批量归档变更并更新模块整改任务文档。实施按约定整改 null(空值)检查写法。重构2-01 的下载清理与归档收尾纳入本跨月周。
- ✅ 从节点导入后创建配套账号和国际化文件 〔es-center-server-services〕
- 1-27 ~ 1-28: 安装构建共享入口
- 🟡 安装构建改用共享配置和统一入口,共享库仍待补齐 〔es-center-server-install-app〕
实施发布物从 01-14 推进到 01-27,环境镜像、传输/解压和上传引用统一;顶层生成含时间戳版本号再传给编译阶段,避免命令替换混入日志。重构build_package.sh 取代四个打包脚本,统一上传器取代四个目标脚本,并引入共享构建配置。本次提交尚未包含 lib/build_lib.sh,不能把共享构建链写成已完整可用。
- 🟡 安装构建改用共享配置和统一入口,共享库仍待补齐 〔es-center-server-install-app〕
其它工作
- 目标: 记录日常耗时的杂项工作、协作事项,以及必要的沟通、讨论等隐性事务。
- 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
以往已完成的工作不再重复,详情请查看上周及上月报告- 27 日
- 制作最新更新包并部署到 zxs-cs 服务器,用于主从节点数据同步联调。
Last updated on