medium · 已确认 · 已计入完成分下载工具未校验备份来源服务器,其他服务器的同名备份可被发布为旧库日志
错误来源的历史操作日志可能被标记为公司旧库数据并进入在线查询,造成审计记录错配或展示不正确的患者相关操作历史。
证据:src/main/java/com/data/hemodialysis/service/entitylogarchive/EntityUpdateLogLegacyBackupDownloadCommand.java:50 String prefix = req(env, "LEGACY_BACKUP_PREFIX");
java.util.regex.Matcher m = PREFIX.matcher(prefix);
if (!m.matches() || !m.group(1).equals(req(env, "LEGACY_SOURCE_DATABASE"))) {
throw new IllegalArgumentException("旧库备份前缀格式或源库名不符");
}
建议:向下载命令传入预期来源服务器 UUID,并同时校验备份前缀和清单中的来源 UUID;任一处不一致时在下载或恢复前拒绝。
medium · 已确认 · 已计入完成分已存在排班映射文件的重跑仍会扫描全部排班日志
服务器重启或任务重跑时,历史日志导入会反复执行大范围去重扫描,可能明显延长恢复时间,并增加导入无法按计划完成的风险。
证据:src/main/java/com/data/hemodialysis/service/entitylogarchive/EntityUpdateLogLegacyImportCommand.java:255 if (Files.exists(file)) {
建议:在映射文件完整性校验通过后立即加载并返回;如需输出源库排班编号总数,可将该统计随映射文件持久化,避免重跑时再次扫描历史日志表。