一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng)及方法
【專利摘要】本發(fā)明一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng)及方法,包括觸發(fā)模塊、接口單元、入庫模塊、服務(wù)器模塊,其中觸發(fā)單元跟接口單元相互連接,接口單元跟入庫單元相互連接,觸發(fā)模塊、接口單元、入庫模塊均與服務(wù)器模塊相互連接。分發(fā)明通過ETL(將數(shù)據(jù)從來源端經(jīng)過萃?。╡xtract)、轉(zhuǎn)置(transform)、加載(load)至目的端的過程)定時(shí)任務(wù)自動(dòng)化執(zhí)行,采用主流網(wǎng)絡(luò)傳輸協(xié)議ftp傳輸數(shù)據(jù)文件,全程無需人工干預(yù),真正實(shí)現(xiàn)了安全、可靠、有效的自動(dòng)化數(shù)據(jù)遷移。
【專利說明】一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)出處理【技術(shù)領(lǐng)域】,特別是一種采用主流網(wǎng)絡(luò)傳輸協(xié)議(ftp)傳輸數(shù)據(jù)文件的數(shù)據(jù)遷移系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)倉庫技術(shù)的迅速發(fā)展,人們將越來越多的意識(shí)到數(shù)據(jù)對(duì)企業(yè)的重要性。而系統(tǒng)之間的數(shù)據(jù)交互需求也越來越多。數(shù)據(jù)庫之間的數(shù)據(jù)遷移一直以來都是一個(gè)難題。傳統(tǒng)的數(shù)據(jù)遷移方案過多的依賴于數(shù)據(jù)庫,如:通過dblink方式打通數(shù)據(jù)庫連接。缺點(diǎn)如下:1、過分的依賴于數(shù)據(jù)庫,若連接中斷不能自動(dòng)恢復(fù)2、長時(shí)間的數(shù)據(jù)交互增加了數(shù)據(jù)庫的負(fù)載,影響數(shù)據(jù)庫性能3、需要人工干預(yù),工作量大。4、數(shù)據(jù)庫之間耦合度太高,安全性得不到保障。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種全程無需人工干預(yù),真正實(shí)現(xiàn)安全、可靠、有效的自動(dòng)化數(shù)據(jù)遷移系統(tǒng)及方法。
[0004]為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),包括觸發(fā)模塊、接口單元、入庫模塊、服務(wù)器模塊,其中觸發(fā)單元跟接口單元相互連接,接口單元跟入庫單元相互連接,觸發(fā)模塊、接口單元、入庫模塊均與服務(wù)器模塊相互連接。
[0005]在其中一個(gè)實(shí)施例中,所述觸發(fā)模塊是通過ETL定時(shí)任務(wù)自動(dòng)化執(zhí)行來觸發(fā)數(shù)據(jù)遷移。
在其中一個(gè)實(shí)施例中,所述接口單元包括數(shù)據(jù)文件和控制文件。
[0006]在其中一個(gè)實(shí)施例中,所述入庫模塊包括入庫日志和數(shù)據(jù)質(zhì)量報(bào)告。
[0007]在其中一個(gè)實(shí)施例中,所述服務(wù)器模塊包括接口服務(wù)器、目標(biāo)服務(wù)器、FTP服務(wù)器。
[0008]在其中一個(gè)實(shí)施例中,所述數(shù)據(jù)文件采用分卷傳輸,傳輸方式為FTP傳輸,傳輸模式包括并行傳輸和串行傳輸。
[0009]在其中一個(gè)實(shí)施例中,所述控制文件通過FTP傳輸方式傳輸,所述控制文件采用MD5加密,具有識(shí)別碼,所述識(shí)別碼包括記錄條數(shù)和密文信息。
[0010]本發(fā)明另一技術(shù)方案為:
一種數(shù)據(jù)遷移方法,包括以下步驟:
A:數(shù)據(jù)源端ETL任務(wù)將接口表中數(shù)據(jù)生成數(shù)據(jù)文件,并將接口表生成數(shù)據(jù)文件信息進(jìn)行Md5加密,生成控制文件;
B:將數(shù)據(jù)文件組及控制文件作為一個(gè)接口單元上傳至ftp服務(wù)器;
C:目標(biāo)主機(jī)ETL任務(wù)調(diào)起shell腳本,檢測ftp服務(wù)器中接口單元控制文件是否存在,如存在則表明接口單元中數(shù)據(jù)文件已全部接收,將接收到的數(shù)據(jù)文件信息進(jìn)行Md5加密,與控制文件中信息進(jìn)行比對(duì),避免網(wǎng)絡(luò)傳輸過程中丟包導(dǎo)致的文件缺失,保證接收文件的完整性,進(jìn)而保證數(shù)據(jù)的完整性;
D:數(shù)據(jù)文件校驗(yàn)通過后進(jìn)行入庫操作,ETL任務(wù)依次將數(shù)據(jù)文件入庫,入庫完成后調(diào)用稽核腳本,進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核。
[0011]步驟A中:數(shù)據(jù)源端ETL任務(wù)將接口表中數(shù)據(jù)生成數(shù)據(jù)文件,并將接口表生成數(shù)據(jù)文件信息進(jìn)行Md5加密,生成控制文件包括:
Al:數(shù)據(jù)源端數(shù)據(jù)開始傳輸;
A2:在接口單元生成數(shù)據(jù)文件,數(shù)據(jù)文件根據(jù)其大小形成分卷形式的數(shù)據(jù)文件;
A3:在接口單元生成控制文件,對(duì)控制文件進(jìn)行MD5加密,給控制文件標(biāo)記識(shí)別碼以保證數(shù)據(jù)文件的完整性,識(shí)別碼包括數(shù)據(jù)文件記錄的條數(shù)以及密文信息;
A4:采用FTP傳輸模式將生成的數(shù)據(jù)文件、控制文件進(jìn)行上傳,傳輸過程中可以采用串行傳輸和并行傳輸;
A5:在傳輸?shù)倪^程中接口單元向入庫模塊發(fā)送郵件通知;
A6:完成傳輸。
[0012]在其中一個(gè)實(shí)施例中所述步驟D:數(shù)據(jù)文件校驗(yàn)通過后進(jìn)行入庫操作,ETL任務(wù)依次將數(shù)據(jù)文件入庫,入庫完成后調(diào)用稽核腳本,進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核包括:
Dl:入庫模塊開始接手?jǐn)?shù)據(jù)文件入庫;
D2:入庫模塊檢驗(yàn)控制文件是否存在,如果存在就進(jìn)入下一步,如果不存在則繼續(xù)等待;
D3:在入庫模塊中對(duì)控制文件進(jìn)行對(duì)比以檢驗(yàn)文件是否符合要求,如果不符合要求就放棄入庫,如果符合要求就進(jìn)入下一步;
D4:入庫模塊將數(shù)據(jù)文件入庫,并生成入庫日志;
D5:稽核數(shù)據(jù)文件腳本形成數(shù)據(jù)質(zhì)量報(bào)告;
D6:向接口模塊發(fā)送郵件通知;
D7:完成數(shù)據(jù)入庫。
[0013]本發(fā)明實(shí)現(xiàn)了全程無需人工干預(yù),真正實(shí)現(xiàn)了安全、可靠、有效的自動(dòng)化數(shù)據(jù)遷移方案。并且通過導(dǎo)出數(shù)據(jù)文件進(jìn)行傳輸,不依賴與特定數(shù)據(jù)庫平臺(tái),可以兼容不同類型數(shù)據(jù)庫之間的數(shù)據(jù)遷移。其可應(yīng)用于任何需要數(shù)據(jù)遷移的場景,是一種理想的自動(dòng)化數(shù)據(jù)遷移解決方案。
【專利附圖】
【附圖說明】
[0014]圖1是本發(fā)明的系統(tǒng)組成圖。
[0015]圖2是本發(fā)明中接口單元示意圖。
[0016]圖3是本發(fā)明的工作流程示意圖。
[0017]圖4是本發(fā)明數(shù)據(jù)源端數(shù)據(jù)文件生成流程圖。
[0018]圖5是本發(fā)明目標(biāo)數(shù)據(jù)庫入庫流程示意圖。
【具體實(shí)施方式】
[0019]下面結(jié)合說明書附圖對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行說明。
[0020]圖1是本發(fā)明的系統(tǒng)組成圖,如圖1所示,本發(fā)明一種數(shù)據(jù)遷移系統(tǒng),包括觸發(fā)模塊、接口單元、入庫模塊、服務(wù)器模塊,其中觸發(fā)單元跟接口單元相互連接,接口單元跟入庫單元相互連接,觸發(fā)模塊、接口單元、入庫模塊均與服務(wù)器模塊相互連接。
[0021]所述觸發(fā)模塊是通過ETL定時(shí)任務(wù)自動(dòng)化執(zhí)行來觸發(fā)數(shù)據(jù)遷移。
所述入庫模塊包括入庫日志和數(shù)據(jù)質(zhì)量報(bào)告。
[0022]所述服務(wù)器模塊包括接口服務(wù)器、目標(biāo)服務(wù)器、FTP服務(wù)器。
[0023]所述控制文件通過FTP傳輸方式傳輸,所述控制文件采用MD5加密,具有識(shí)別碼,所述識(shí)別碼包括記錄條數(shù)和密文信息。
[0024]圖2是本發(fā)明中接口單元示意圖,從圖2可以看出所述接口單元包括數(shù)據(jù)文件和控制文件。
[0025]所述數(shù)據(jù)文件米用分卷傳輸,傳輸方式為FTP傳輸,傳輸模式包括并行傳輸和串行傳輸。
[0026]圖3是本發(fā)明的工作流程示意圖。圖3揭示了本發(fā)明一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移方法,該方法包括以下步驟:
A:數(shù)據(jù)源端ETL任務(wù)將接口表中數(shù)據(jù)生成數(shù)據(jù)文件,并將接口表生成數(shù)據(jù)文件信息進(jìn)行Md5加密,生成控制文件;
B:將數(shù)據(jù)文件組及控制文件作為一個(gè)接口單元上傳至ftp服務(wù)器;
C:目標(biāo)主機(jī)ETL任務(wù)調(diào)起shell腳本,檢測ftp服務(wù)器中接口單元控制文件是否存在,如存在則表明接口單元中數(shù)據(jù)文件已全部接收,將接收到的數(shù)據(jù)文件信息進(jìn)行Md5加密,與控制文件中信息進(jìn)行比對(duì),避免網(wǎng)絡(luò)傳輸過程中丟包導(dǎo)致的文件缺失,保證接收文件的完整性,進(jìn)而保證數(shù)據(jù)的完整性;
D:數(shù)據(jù)文件校驗(yàn)通過后進(jìn)行入庫操作,ETL任務(wù)依次將數(shù)據(jù)文件入庫,入庫完成后調(diào)用稽核腳本,進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核。
[0027]本發(fā)明為避免導(dǎo)出數(shù)據(jù)文件過大,不利于傳輸及管理,對(duì)單個(gè)文件最大數(shù)據(jù)條數(shù)進(jìn)行限制,根據(jù)數(shù)據(jù)文件最大條數(shù)限制及實(shí)際表中數(shù)據(jù)量可生成多個(gè)數(shù)據(jù)文件。導(dǎo)出數(shù)據(jù)文件分卷的方式,更有利于網(wǎng)絡(luò)傳輸??梢圆⑿袀鬏?,能夠充分的利用網(wǎng)絡(luò)帶寬,同時(shí)也減小了由于丟包導(dǎo)致的文件損壞需重傳文件的網(wǎng)絡(luò)負(fù)載。
[0028]本發(fā)明將導(dǎo)出文件個(gè)數(shù),文件大小等信息按順序組合成字符串,并對(duì)其進(jìn)行Md5加密,生成密文。將導(dǎo)出數(shù)據(jù)總記錄條數(shù)、密文信息生成控制文件,作為識(shí)別碼。數(shù)據(jù)文件及控制文件組成一個(gè)接口單元。
[0029]圖4是本發(fā)明數(shù)據(jù)源端數(shù)據(jù)文件生成流程圖。對(duì)應(yīng)于圖3中的步驟A,步驟A進(jìn)一步包括包括:
Al:數(shù)據(jù)源端數(shù)據(jù)開始傳輸;
A2:在接口單元生成數(shù)據(jù)文件,數(shù)據(jù)文件根據(jù)其大小形成分卷形式的數(shù)據(jù)文件;
A3:在接口單元生成控制文件,對(duì)控制文件進(jìn)行MD5加密,給控制文件標(biāo)記識(shí)別碼以保證數(shù)據(jù)文件的完整性,識(shí)別碼包括數(shù)據(jù)文件記錄的條數(shù)以及密文信息;
A4:采用FTP傳輸模式將生成的數(shù)據(jù)文件、控制文件進(jìn)行上傳,傳輸過程中可以采用串行傳輸和并行傳輸;
A5:在傳輸?shù)倪^程中接口單元向入庫模塊發(fā)送郵件通知;
A6:完成傳輸。
[0030]圖5是本發(fā)明目標(biāo)數(shù)據(jù)庫入庫流程示意圖。對(duì)應(yīng)于圖3中的步驟D:數(shù)據(jù)文件校驗(yàn)通過后進(jìn)行入庫操作,ETL任務(wù)依次將數(shù)據(jù)文件入庫,入庫完成后調(diào)用稽核腳本,進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核,其進(jìn)一步包括:
Dl:入庫模塊開始接手?jǐn)?shù)據(jù)文件入庫;
D2:入庫模塊檢驗(yàn)控制文件是否存在,如果存在就進(jìn)入下一步,如果不存在則繼續(xù)等待;
D3:在入庫模塊中對(duì)控制文件進(jìn)行對(duì)比以檢驗(yàn)文件是否符合要求,如果不符合要求就放棄入庫,如果符合要求就進(jìn)入下一步;
D4:入庫模塊將數(shù)據(jù)文件入庫,并生成入庫日志;
D5:稽核數(shù)據(jù)文件腳本形成數(shù)據(jù)質(zhì)量報(bào)告;
D6:向接口模塊發(fā)送郵件通知;
D7:完成數(shù)據(jù)入庫。
[0031]本發(fā)明通過ETL任務(wù)自動(dòng)化觸發(fā),將接口數(shù)據(jù)導(dǎo)出為數(shù)據(jù)文件,并根據(jù)數(shù)據(jù)文件信息生成控制文件,通過ftp傳輸?shù)侥繕?biāo)文件服務(wù)器,目標(biāo)主機(jī)任務(wù)掃描文件,將接口組數(shù)據(jù)文件信息按照同樣的算法生成加密信息,并與控制文件中信息進(jìn)行比對(duì),避免網(wǎng)絡(luò)傳輸過程中丟包導(dǎo)致的文件缺失,保證接收文件的完整性,進(jìn)而保證數(shù)據(jù)的完整性。數(shù)據(jù)文件校驗(yàn)通過后調(diào)用入庫程序進(jìn)行入庫,入庫后自動(dòng)調(diào)用稽核腳本進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核,并生成數(shù)據(jù)質(zhì)量報(bào)告。
[0032]綜上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)上述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:包括觸發(fā)模塊、接口單元、入庫模塊、服務(wù)器模塊,其中觸發(fā)單元跟接口單元相互連接,接口單元跟入庫單元相互連接,觸發(fā)模塊、接口單元、入庫模塊均與服務(wù)器模塊相互連接。
2.根據(jù)權(quán)利要求1所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:所述觸發(fā)模塊是通過£11定時(shí)任務(wù)自動(dòng)化執(zhí)行來觸發(fā)數(shù)據(jù)遷移。
3.根據(jù)權(quán)利要求1所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:所述接口單元包括數(shù)據(jù)文件和控制文件。
4.根據(jù)權(quán)利要求1所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:所述入庫模塊包括入庫日志和數(shù)據(jù)質(zhì)量報(bào)告。
5.根據(jù)權(quán)利要求1所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:所述服務(wù)器模塊包括接口服務(wù)器、目標(biāo)服務(wù)器、冗?服務(wù)器。
6.根據(jù)權(quán)利要求3所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:所述數(shù)據(jù)文件采用分卷傳輸,傳輸方式為冗?傳輸,傳輸模式包括并行傳輸和串行傳輸。
7.根據(jù)權(quán)利要求3所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移系統(tǒng),其特征在于:所述控制文件通過傳輸方式傳輸,所述控制文件采用105加密,具有識(shí)別碼,所述識(shí)別碼包括記錄條數(shù)和密文信息。
8.一種基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移方法,其特征在于包括以下步驟: 八:數(shù)據(jù)源端2扎任務(wù)將接口表中數(shù)據(jù)生成數(shù)據(jù)文件,并將接口表生成數(shù)據(jù)文件信息進(jìn)行1(15加密,生成控制文件; 8:將數(shù)據(jù)文件組及控制文件作為一個(gè)接口單元上傳至代?服務(wù)器; 0:目標(biāo)主機(jī)£1任務(wù)調(diào)起也611腳本,檢測代?服務(wù)器中接口單元控制文件是否存在,如存在則表明接口單元中數(shù)據(jù)文件已全部接收,將接收到的數(shù)據(jù)文件信息進(jìn)行1(15加密,與控制文件中信息進(jìn)行比對(duì),避免網(wǎng)絡(luò)傳輸過程中丟包導(dǎo)致的文件缺失,保證接收文件的完整性,進(jìn)而保證數(shù)據(jù)的完整性; 0:數(shù)據(jù)文件校驗(yàn)通過后進(jìn)行入庫操作,£11任務(wù)依次將數(shù)據(jù)文件入庫,入庫完成后調(diào)用稽核腳本,進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核。
9.根據(jù)權(quán)利要求8所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移方法,其特征在于:所述數(shù)據(jù)源端£11任務(wù)將接口表中數(shù)據(jù)生成數(shù)據(jù)文件,并將接口表生成數(shù)據(jù)文件信息進(jìn)行1(15加密,生成控制文件的步驟包括: 八1:數(shù)據(jù)源端數(shù)據(jù)開始傳輸; 八2:在接口單元生成數(shù)據(jù)文件,數(shù)據(jù)文件根據(jù)其大小形成分卷形式的數(shù)據(jù)文件; 八3:在接口單元生成控制文件,對(duì)控制文件進(jìn)行105加密,給控制文件標(biāo)記識(shí)別碼以保證數(shù)據(jù)文件的完整性,識(shí)別碼包括數(shù)據(jù)文件記錄的條數(shù)以及密文信息; 八4:采用傳輸模式將生成的數(shù)據(jù)文件、控制文件進(jìn)行上傳,傳輸過程中可以采用串行傳輸和并行傳輸; 八5:在傳輸?shù)倪^程中接口單元向入庫模塊發(fā)送郵件通知; 八6:完成傳輸。
10.根據(jù)權(quán)利要求8所述基于數(shù)據(jù)倉庫自動(dòng)化的數(shù)據(jù)遷移方法,其特征在于:所述數(shù)據(jù)文件校驗(yàn)通過后進(jìn)行入庫操作,2X1任務(wù)依次將數(shù)據(jù)文件入庫,入庫完成后調(diào)用稽核腳本,進(jìn)行業(yè)務(wù)數(shù)據(jù)質(zhì)量稽核的步驟包括: 01:入庫模塊開始接手?jǐn)?shù)據(jù)文件入庫;02:入庫模塊檢驗(yàn)控制文件是否存在,如果存在就進(jìn)入下一步,如果不存在則繼續(xù)等待; 03:在入庫模塊中對(duì)控制文件進(jìn)行對(duì)比以檢驗(yàn)文件是否符合要求,如果不符合要求就放棄入庫,如果符合要求就進(jìn)入下一步; 04:入庫模塊將數(shù)據(jù)文件入庫,并生成入庫日志; 05:稽核數(shù)據(jù)文件腳本形成數(shù)據(jù)質(zhì)量報(bào)告; 06:向接口模塊發(fā)送郵件通知; 07:完成數(shù)據(jù)入庫。
【文檔編號(hào)】G06F21/62GK104462562SQ201410832607
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月29日 優(yōu)先權(quán)日:2014年12月29日
【發(fā)明者】郭鳳, 楊培強(qiáng), 王永軍 申請(qǐng)人:浪潮軟件集團(tuán)有限公司