数据抽取模型

1.增加定时器,如1分钟执行一次,增加数据抽取临时表,记录最后一次抽取时间;

也可以夜间进行批量补抽,保证抽取的完整性;

RestClientInvoke invoke=null;
Long systemTime = baseNaiveQuery.getSystemTime();
Long sjcqTime = sjcqLogRepository.getSjcByType("1");
if (sjcqTime == null) {
sjcqTime = systemTime;
}
Long sjcqEndTime = sjcqTime - 3*60*1000; // 抽之前3分钟的数据
if (time != null) {
sjcqTime = time;
sjcqEndTime = time - 24*60*60*1000;
}

// 更新时间戳

if (sjcqTime > systemTime) {

sjcqLogRepository.updateSjc("1",systemTime);
} else {

sjcqLogRepository.updateSjc("1",sjcqTime + 60*1000); // 增加1分钟

}
}catch (Exception ex){

// 更新时间戳

if (sjcqTime > systemTime) {

sjcqLogRepository.updateSjc("1",systemTime);
} else {

sjcqLogRepository.updateSjc("1",sjcqTime + 60*1000); // 增加1分钟

}


}finally {
if (invoke!=null){
invoke.close();
}
}

posted @ 2023-03-30 09:33  chinadba  阅读(16)  评论(0编辑  收藏  举报