一、如何保证执行脚本不重复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;
在使用的时候,
每一个医院,一天都会产生上万条数据,有三十多家医院,须要使用线程池,进行多线程的数据采集工做