数据采集系统

一、如何保证执行脚本不重复java

每一个脚本都带有一个key.在执行脚本的时候,key都会维护到一个聊表中,在执行前,先肯定列表中是否有这个key,对key的数量也有限制,防止太多语句执行sql

二、如何保证数据的同步session

天天都会去查询业务库中的id,和绩效库匹配,若是没有这个id,就认为这条数据已删,天天都会采集两天的数据(由于有些表只到日期,没有小时),脚本设置业务主键,用于同步’多线程

三、登陆有效期是8小时,使用session和kokke实现自动登陆fetch

四、如何执行sql语句线程

为了提升处理脚本的灵活性,使用了java.sql进行链接,同步

五、增量采集的实现io

采集两天前的数据,使用数据的业务主键去删除绩效库的数据,再从新采集这个时间段的数据登录

六、全量采集线程池

删除库中的全部数据,而后从新采集

七、加载绩效表的时候很慢

由于这个表的多个字段都关联了其余表,因此查询比较慢;使用延迟加载的方式,每次查询,只获取须要的数据

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "pid")
private TOrganization org;

在使用的时候,

 每一个医院,一天都会产生上万条数据,有三十多家医院,须要使用线程池,进行多线程的数据采集工做

相关文章
相关标签/搜索