|
@@ -47,22 +47,19 @@ public class DnnCidDataHelper {
|
|
|
// 服务启动时初始化数据
|
|
|
@PostConstruct
|
|
|
public void init() {
|
|
|
- log.info("开始初始化CID数据...");
|
|
|
updateCidSet();
|
|
|
- log.info("CID数据初始化完成,共{}条记录", cidSet.size());
|
|
|
}
|
|
|
|
|
|
// 每10分钟更新一次数据
|
|
|
@Scheduled(fixedRate = 10 * 60 * 1000)
|
|
|
public void scheduledUpdate() {
|
|
|
- log.info("开始定时更新CID数据...");
|
|
|
updateCidSet();
|
|
|
- log.info("CID数据定时更新完成,共{}条记录", cidSet.size());
|
|
|
}
|
|
|
|
|
|
// 更新CID集合的方法
|
|
|
private synchronized void updateCidSet() {
|
|
|
try {
|
|
|
+ log.info("开始初始化CID数据...");
|
|
|
String modelVersion = readCsvPathFromOss();
|
|
|
if (StringUtils.isEmpty(modelVersion)) {
|
|
|
log.error("modelVersion 获取为空");
|
|
@@ -108,10 +105,11 @@ public class DnnCidDataHelper {
|
|
|
}
|
|
|
log.info("成功读取CSV文件,共{}行数据", newCidSet.size());
|
|
|
} else {
|
|
|
- log.warn("指定文件夹下没有找到CSV文件!");
|
|
|
+ log.error("指定文件夹下没有找到CSV文件!");
|
|
|
}
|
|
|
// 使用volatile保证可见性,一次性替换整个集合
|
|
|
cidSet = Collections.unmodifiableSet(newCidSet);
|
|
|
+ log.info("CID数据初始化完成,共{}条记录", cidSet.size());
|
|
|
} catch (Exception e) {
|
|
|
log.error("更新CID数据失败", e);
|
|
|
// 发生异常时保持原数据不变
|
|
@@ -129,7 +127,7 @@ public class DnnCidDataHelper {
|
|
|
return null;
|
|
|
}
|
|
|
// 获取配置文件内容
|
|
|
- OSSObject ossObject = ossClient.getObject(BUCKET_NAME, "fengzhoutian/pai_model_trained_cids/model_version.json");
|
|
|
+ OSSObject ossObject = ossClient.getObject(BUCKET_NAME, modelVersionPath);
|
|
|
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
|
|
|
ossObject.getObjectContent(), StandardCharsets.UTF_8))) {
|
|
|
// 读取整个文件内容
|