數據採集系統

一、如何保證執行腳本不重複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;

在使用的時候,

 每一個醫院,一天都會產生上萬條數據,有三十多家醫院,須要使用線程池,進行多線程的數據採集工做

相關文章
相關標籤/搜索