本發明涉及計算機,尤其涉及一種多數據源臨期數據歸檔的方法。
背景技術:
1、現有業務場景下,mysql和tdengine是兩種較為常見的數據庫,均存儲超過億級別的數據量,這兩種數據庫在處理大規模數據時有各自的優勢,mysql通常用于傳統的關系型數據存儲和查詢;而tdengine更適用于高速度的時間序列數據存儲和分析;但對于數據存儲都存在查詢效率和成本的問題,當數據過大時會導致數據的查詢效率下降;同時對于活躍度低的數據,維持其在高性能存儲中可能會帶來不必要的成本,此時從技術及成本考慮,需要將部分活躍度低的數據遷移到靜態的存儲服務。
2、目前現有的數據歸檔工具有很多,但是沒有一個統一的規整方案,不能同時兼容增量歸檔和全量歸檔;且需要手動執行,效率低下。
技術實現思路
1、本發明的目的是為了解決現有技術中存在的缺點,而提出的一種多數據源臨期數據歸檔的方法。
2、為實現上述目的,本發明采用了如下技術方案:
3、一種多數據源臨期數據歸檔的方法,包括以下步驟:
4、s1:啟動data-archive-tool數據歸檔工具服務;
5、在服務器上啟動data-archive-tool數據歸檔工具服務,并部署中間件;
6、具體地,通過啟動腳本、容器化技術或系統服務管理工具啟動data-archive-tool數據歸檔工具服務;
7、所述中間件包括pt-archive、datax中間件;其中,pt-archive用于從關系型數據庫如mysql中進行數據歸檔;datax中間件用于在不同數據源之間進行數據移動和轉換。
8、s2:添加歸檔任務的配置信息;
9、所述歸檔任務的配置信息包括數據源、導出形式、導出周期、查詢條件等;
10、包括如下子步驟:
11、s21:指定數據源;
12、事先收集具體的數據庫類型、數據表、連接信息等;
13、所述數據庫類型包括mysql和tdengine;
14、所述連接信息包括主機名、端口號、數據庫用戶名、密碼等;
15、用戶指定歸檔的數據庫類型并提供對應的連接信息;
16、s22:配置導出形式和導出周期;
17、在配置請求中指定導出形式;
18、所述導出形式包括導出到目標數據庫中和導出為csv文件;
19、進一步地,如果導出到另一個數據庫中需要提供目標數據庫的連接信息、目標數據表信息;
20、s23:配置導出周期;
21、通過cron表達式指定歸檔任務的執行周期,包括執行時間和執行頻率;
22、進一步地,根據具體的需求設置查詢條件,如果為增量歸檔,則查詢條件中限定歸檔的數據范圍;如果為全量歸檔,則查詢條件為歸檔數據源中的所有數據;
23、調用data-archive-tool數據歸檔工具服務的rest接口傳遞上述配置信息,添加歸檔任務。
24、s3:定時根據歸檔配置生成相應的歸檔任務執行腳本;
25、包括如下子步驟:
26、s31:判斷配置信息是否滿足執行條件;
27、事先設定好各項配置信息的執行條件、歸檔任務生成器的定時周期;
28、歸檔任務生成器拉取所有的配置信息,對于每項配置信息,歸檔任務生成器根據定時周期定期通過cron表達式判斷所述配置信息是否滿足執行條件;如果不滿足,則提示異常,工程師修改所述配置信息直至滿足執行條件;如果滿足,則進入步驟s32;
29、進一步地,歸檔任務執行腳本中的導出周期為空,則需要手動執行,data-archive-tool數據歸檔工具服務對外提供了手動執行接口,用戶通過手動執行接口人為執行歸檔任務執行腳本,此方法主要用于處理全量歸檔的情況;
30、s32:生成歸檔任務執行腳本;
31、當配置信息都滿足執行條件時,提取歸檔信息中的數據庫、數據表、查詢條件、導出文件等信息;
32、創建velocity模板文件,所述velocity模板文件中包含歸檔任務的腳本模板;
33、通過apache?velocity組件將具體的配置信息動態填充到歸檔任務的腳本模板中,生成歸檔任務執行腳本。
34、s4:定時執行歸檔任務并記錄執行結果;
35、歸檔任務執行器根據事先設定的定時周期定期從data-archive-tool數據歸檔工具服務中獲取待執行的歸檔任務執行腳本,歸檔任務執行器根據歸檔任務執行腳本生成腳本語句命令,data-archive-tool數據歸檔工具服務將生成的腳本語句命令寫入到shell文件中,通過java程序執行shell文件,在執行shell文件的過程中調用pt-archive、datax中間件執行數據歸檔操作;
36、執行完成后,pt-archive、datax中間件返回執行結果,所述執行結果包括執行成功與否、執行時間等信息;java程序將執行結果更新到對應的數據庫中;
37、數據歸檔操作完成后,將歸檔后的數據打包為歸檔文件;
38、進一步地,所有的任務執行是在后臺異步完成,data-archive-tool對外提供任務執行查詢的接口,用戶通過接口查詢執行結果。
39、s5:將歸檔文件手動遷移到文件服務器中存儲;
40、將歸檔文件手動遷移到文件服務器上存儲,并對遷移完成的數據進行數據清洗。
41、與現有技術相比,本發明的有益效果為:
42、本發明提出的一種多數據源臨期數據歸檔的方法,通過啟動data-archive-tool數據歸檔工具服務,添加歸檔任務的配置信息,生成歸檔任務,執行數據歸檔操作,數據歸檔完成后返回執行結果、生成歸檔文件,并將歸檔文件遷移到文件服務器中存儲;消除了手動處理數據歸檔的需求,節省了時間和人力成本;根據配置任務的查詢條件決定是執行增量歸檔還是全量歸檔,解決現有技術中沒有統一方案能兼容增量歸檔和全量歸檔的問題,可以應用于整個公司業務線所有的數據源歸檔。
1.一種多數據源臨期數據歸檔的方法,其特征在于:包括以下步驟:
2.如權利要求1所述的多數據源臨期數據歸檔的方法,其特征在于:
3.如權利要求1所述的多數據源臨期數據歸檔的方法,其特征在于:
4.如權利要求3所述的多數據源臨期數據歸檔的方法,其特征在于:
5.如權利要求1所述的多數據源臨期數據歸檔的方法,其特征在于: