本發(fā)明屬于數(shù)據(jù)同步,尤其涉及一種基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法。
背景技術(shù):
1、隨著金融行業(yè)的快速發(fā)展,企業(yè)規(guī)模不斷擴大,業(yè)務(wù)數(shù)據(jù)量持續(xù)激增。為提高市場競爭力和保證業(yè)務(wù)連續(xù)性,應(yīng)用系統(tǒng)的異地雙活部署已成為常態(tài)。大數(shù)據(jù)量的異地數(shù)據(jù)同步逐漸演變成企業(yè)數(shù)據(jù)管理的關(guān)鍵需求之一。
2、目前常用的同步方式有兩類。一類是類似cdc的方法,它基于log日志文件的同步方式,該同步方式多適用于數(shù)據(jù)量較小、時效性要求較高且無需對數(shù)據(jù)進行額外加工處理的場景。另一類是基于時間戳的etl同步方式,該同步方式適用于數(shù)據(jù)量較大、時效性要求不高且需要對數(shù)據(jù)進行額外加工處理的場景。在兩地部署的應(yīng)用系統(tǒng)中,面對大規(guī)模數(shù)據(jù)同步的需求,多數(shù)企業(yè)傾向于使用基于時間戳的etl同步方式,且多采用的是etl直接連接數(shù)據(jù)庫來進行數(shù)據(jù)的跨地同步。
3、然而,對于兩地部署的應(yīng)用系統(tǒng)而言,多數(shù)企業(yè)要求每個地點的應(yīng)用系統(tǒng)能夠獨立運行。此外,兩地間的網(wǎng)絡(luò)帶寬穩(wěn)定性不高,閃斷情況不可避免?;跁r間戳的etl同步由于采用跨地直接連接數(shù)據(jù)庫的方式,對兩地間的網(wǎng)絡(luò)帶寬的要求較高,且不能很好的支持單個地點的應(yīng)用系統(tǒng)獨立運行。為此本發(fā)明提出一種基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,旨在解決上述背景技術(shù)中提出的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、一種基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,包括以下步驟:
4、步驟一、本地數(shù)據(jù)同步與文件生成,實現(xiàn)異地數(shù)據(jù)文件解析入庫、本地流水?dāng)?shù)據(jù)庫數(shù)據(jù)直接入庫、以及本地流水?dāng)?shù)據(jù)庫數(shù)據(jù)落地數(shù)據(jù)文件;
5、步驟二、數(shù)據(jù)文件異步傳輸至異地,實現(xiàn)本地生成數(shù)據(jù)文件到異地的傳輸。
6、進一步的,所述步驟一具體包括以下步驟:
7、步驟1、啟動同步程序;
8、步驟2、初始化當(dāng)前的同步狀態(tài)、本地同步時間區(qū)間和異地數(shù)據(jù)文件同步記錄;
9、步驟3、判斷同步狀態(tài),若同步狀態(tài)為n,結(jié)束本次任務(wù),若同步狀態(tài)為y,繼續(xù)后續(xù)流程;
10、步驟4、本地數(shù)據(jù)處理與文件生成;
11、步驟5、異地數(shù)據(jù)文件處理與入庫;
12、步驟6、更新同步狀態(tài)、本地同步時間區(qū)間和異地數(shù)據(jù)文件同步記錄;
13、步驟7、循環(huán)進入步驟2,直至狀態(tài)變更為n,流程結(jié)束。
14、進一步的,所述步驟4的具體步驟如下:
15、步驟4.1、查詢本地流水?dāng)?shù)據(jù)庫數(shù)據(jù),并直接插入?yún)R總數(shù)據(jù)庫;
16、步驟4.2、將本地流水?dāng)?shù)據(jù)庫數(shù)據(jù)寫入數(shù)據(jù)文件;
17、步驟4.3、數(shù)據(jù)文件依次完成壓縮、加密處理,生成密文文件對應(yīng)的md5文件。
18、進一步的,所述文件名包含文件內(nèi)數(shù)據(jù)所在的時間區(qū)間和密鑰標(biāo)識。
19、進一步的,所述時間區(qū)間的格式為年月日時分秒14位純數(shù)字;所述密鑰標(biāo)識的格式為1位的數(shù)字。
20、進一步的,所述加密處理的具體過程為:
21、根據(jù)當(dāng)前壓縮數(shù)據(jù)的時間區(qū)間月份對加密使用的密鑰進行動態(tài)選擇;奇數(shù)月選擇密鑰標(biāo)識1對應(yīng)的密鑰,文件名中密鑰標(biāo)識賦值1;偶數(shù)月選擇密鑰標(biāo)識0對應(yīng)的密鑰,文件名中密鑰標(biāo)識賦值0。
22、進一步的,所述步驟5的具體步驟如下:
23、步驟5.1、校驗異地數(shù)據(jù)文件完整性和連續(xù)性,校驗通過后,解密并解壓數(shù)據(jù)文件,得到數(shù)據(jù)文件;
24、步驟5.2、解析數(shù)據(jù)文件,將數(shù)據(jù)插入本地匯總數(shù)據(jù)庫。
25、進一步的,通過所述文件名中時間區(qū)間進行所述連續(xù)性校驗。
26、進一步的,所述步驟二具體包括以下步驟:
27、步驟1、啟動數(shù)據(jù)傳輸程序;
28、步驟2、初始化當(dāng)前的同步狀態(tài)和數(shù)據(jù)文件同步記錄;
29、步驟3、判斷同步狀態(tài),若同步狀態(tài)為n,結(jié)束本次任務(wù),若同步狀態(tài)為y,繼續(xù)后續(xù)流程;
30、步驟4、將本地數(shù)據(jù)文件傳輸至異地;
31、步驟5、將數(shù)據(jù)文件對應(yīng)的md5文件傳輸至異地;
32、步驟6、更新同步狀態(tài)、數(shù)據(jù)文件同步記錄;
33、步驟7、循環(huán)進入步驟2,直至狀態(tài)變更為n,流程結(jié)束。
34、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
35、本方法實現(xiàn)了數(shù)據(jù)文件傳輸步驟與數(shù)據(jù)同步流程的異步分離,這一策略顯著提升了整體同步效率。同時,本方法支持兩地網(wǎng)絡(luò)帶寬閃斷后的重新傳輸,不影響數(shù)據(jù)同步。此外,本方法避開了跨地直接連接數(shù)據(jù)庫的復(fù)雜性和潛在安全風(fēng)險,實現(xiàn)兩地間數(shù)據(jù)安全高效同步。
1.一種基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述步驟一具體包括以下步驟:
3.根據(jù)權(quán)利要求2所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述步驟4的具體步驟如下:
4.根據(jù)權(quán)利要求3所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述文件名包含文件內(nèi)數(shù)據(jù)所在的時間區(qū)間和密鑰標(biāo)識。
5.根據(jù)權(quán)利要求4所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述時間區(qū)間的格式為年月日時分秒14位純數(shù)字;所述密鑰標(biāo)識的格式為1位的數(shù)字。
6.根據(jù)權(quán)利要求5所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述加密處理的具體過程為:
7.根據(jù)權(quán)利要求4所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述步驟5的具體步驟如下:
8.根據(jù)權(quán)利要求7所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,通過所述文件名中時間區(qū)間進行所述連續(xù)性校驗。
9.根據(jù)權(quán)利要求1所述的基于文件異步傳輸?shù)膃tl兩地數(shù)據(jù)同步方法,其特征在于,所述步驟二具體包括以下步驟: