數(shù)據(jù)庫數(shù)據(jù)拷貝方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法和裝置。其中,該方法包括:根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接;根據(jù)第一配置參數(shù)中的源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和第二配置參數(shù)中的目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取第一數(shù)據(jù)庫類型與第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表;根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表;根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。本發(fā)明解決了現(xiàn)有技術(shù)中源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫表間對應(yīng)關(guān)系無法自動匹配的技術(shù)問題。
【專利說明】數(shù)據(jù)庫數(shù)據(jù)拷貝方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法和裝置。
【背景技術(shù)】
[0002]隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,使用計算機(jī)數(shù)據(jù)庫的應(yīng)用越來越廣泛,并且容量也隨著時間的推移而成倍的增長,例如:社交網(wǎng)絡(luò)、手機(jī)程序、即時聊天軟件等。
[0003]目前市場關(guān)系型數(shù)據(jù)庫眾多,通常會將數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容在常用的關(guān)系型數(shù)據(jù)庫間進(jìn)行數(shù)據(jù)遷移。但是因?yàn)槊糠N關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)類型都有所不同,在進(jìn)行數(shù)據(jù)遷移的過程中,對兩個數(shù)據(jù)庫表間的對應(yīng)關(guān)系需要手工指定,無法實(shí)現(xiàn)自動匹配。并且,數(shù)據(jù)庫拷貝軟件通常無法對兩種不同數(shù)據(jù)類型的數(shù)據(jù)直接進(jìn)行轉(zhuǎn)換。
[0004]針對現(xiàn)有技術(shù)中源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫表間對應(yīng)關(guān)系無法自動匹配的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法和裝置,以至少解決現(xiàn)有技術(shù)中源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫表間對應(yīng)關(guān)系無法自動匹配的技術(shù)問題。
[0006]根據(jù)本發(fā)明實(shí)施例的一個方面,提供了一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法,包括:根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接;根據(jù)第一配置參數(shù)中的源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和第二配置參數(shù)中的目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取第一數(shù)據(jù)庫類型與第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表;根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表;根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。
[0007]根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)庫數(shù)據(jù)拷貝裝置,包括:連接模塊,用于根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接;第一獲取模塊,用于根據(jù)第一配置參數(shù)中的源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和第二配置參數(shù)中的目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取第一數(shù)據(jù)庫類型與第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表;生成模塊,用于根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表;拷貝模塊,用于根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。
[0008]在本發(fā)明實(shí)施例中,采用根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接;根據(jù)第一配置參數(shù)中的源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和第二配置參數(shù)中的目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取第一數(shù)據(jù)庫類型與第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表;根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表;根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置的方式,進(jìn)而解決了現(xiàn)有技術(shù)中源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫表間對應(yīng)關(guān)系無法自動匹配的技術(shù)問題。
【專利附圖】
【附圖說明】
[0009]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0010]圖1是根據(jù)本發(fā)明實(shí)施例一的一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法的流程圖;
[0011]圖2是根據(jù)本發(fā)明實(shí)施例一的一種優(yōu)選的數(shù)據(jù)庫數(shù)據(jù)拷貝方法的流程圖;
[0012]圖3是根據(jù)本發(fā)明實(shí)施例二的一種數(shù)據(jù)庫數(shù)據(jù)拷貝裝置結(jié)構(gòu)示意圖;以及
[0013]圖4是根據(jù)本發(fā)明實(shí)施例二的一種優(yōu)選的數(shù)據(jù)庫數(shù)據(jù)拷貝裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0014]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0015]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0016]實(shí)施例1
[0017]根據(jù)本發(fā)明實(shí)施例,提供了一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法的實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機(jī)可執(zhí)行指令的計算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0018]本申請實(shí)施例一所提供的方法實(shí)施例可以在對數(shù)據(jù)庫數(shù)據(jù)在兩個相同類型或不同類型的關(guān)系數(shù)據(jù)庫間進(jìn)行數(shù)據(jù)遷移的過程當(dāng)中使用,圖1是根據(jù)本發(fā)明實(shí)施例一的一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法的流程圖。如圖1所示,該數(shù)據(jù)庫數(shù)據(jù)拷貝方法可以如下實(shí)施步驟:
[0019]步驟S10,根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接。
[0020]具體的,上述步驟S10,根據(jù)第一配置參數(shù)和第二配置參數(shù)中的數(shù)據(jù)庫所在主機(jī)的網(wǎng)絡(luò)IP地址,分別與源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫所在的主機(jī)建立網(wǎng)絡(luò)連接。并且,根據(jù)與源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫對應(yīng)的登陸賬號和登錄密碼,通過訪問權(quán)限的認(rèn)證,建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間的訪問關(guān)系。
[0021]步驟S12,根據(jù)第一配置參數(shù)中的源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和第二配置參數(shù)中的目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取第一數(shù)據(jù)庫類型與第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表。
[0022]具體的,上述步驟S12,根據(jù)源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的類型,獲取預(yù)先設(shè)置好的與兩種數(shù)據(jù)庫類型對應(yīng)的數(shù)據(jù)庫類型的差異對照表。
[0023]在實(shí)際應(yīng)用中,可以根據(jù)不同的數(shù)據(jù)庫類型,分別設(shè)置包含不同數(shù)據(jù)類型間的數(shù)據(jù)轉(zhuǎn)換規(guī)則的數(shù)據(jù)庫類型的差異對照表。例如,MySQL數(shù)據(jù)庫向Oracle數(shù)據(jù)庫轉(zhuǎn)換的轉(zhuǎn)換規(guī)則。
[0024]步驟S14,根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表。
[0025]具體的,上述步驟S14,根據(jù)源數(shù)據(jù)庫中的源數(shù)據(jù)庫表,通過手動指定或者根據(jù)源數(shù)據(jù)表名稱自動匹配的方式,確定源數(shù)據(jù)庫中源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表間的對應(yīng)關(guān)系。根據(jù)對應(yīng)關(guān)系,生成數(shù)據(jù)庫關(guān)系對照表。
[0026]步驟S16,根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。
[0027]具體的,上述步驟S16,依次讀取源數(shù)據(jù)庫源數(shù)據(jù)表中的字段內(nèi)容,將字段內(nèi)容依照數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)類型存入相應(yīng)的目標(biāo)數(shù)據(jù)表中。
[0028]本申請上述實(shí)施例提供的方案,通過上述步驟SlO至步驟S16,根據(jù)兩個數(shù)據(jù)庫間的差異對照表和數(shù)據(jù)表間的對應(yīng)關(guān)系,完成數(shù)據(jù)庫間的數(shù)據(jù)拷貝轉(zhuǎn)換與拷貝過程。
[0029]在具體實(shí)施過程中,以在操作Iinux數(shù)據(jù)庫服務(wù)器上完成異同數(shù)據(jù)庫間的數(shù)據(jù)遷移的工具為例,數(shù)據(jù)庫服務(wù)器的Iinux系統(tǒng)中需要安裝有JDK環(huán)境,用戶需要通過該工具完成數(shù)據(jù)庫類型選擇和賬號設(shè)置。
[0030]在操作時,構(gòu)建表間(Table)映射,確認(rèn)源數(shù)據(jù)表及目的數(shù)據(jù)表數(shù)據(jù)傳送規(guī)則,規(guī)則保證目的數(shù)據(jù)表大于等于源數(shù)據(jù)表,從而保證目的數(shù)據(jù)表100 %成功接收傳送數(shù)據(jù)。
[0031]第一步:在啟動命令后,首先通過選擇的方式選擇源/目的數(shù)據(jù)庫類型,完成驅(qū)動程序的加載。并依次完成賬號及密碼訪問權(quán)限的認(rèn)證,建立訪問關(guān)系。
[0032]第二步:按提示鍵入源數(shù)據(jù)表名稱和目標(biāo)數(shù)據(jù)表名稱,系統(tǒng)自動按源數(shù)據(jù)表字段順序和目的數(shù)據(jù)表字段順序展現(xiàn)字段映射關(guān)系,提示用戶手動進(jìn)行字段映射關(guān)系的指定。同時也可采用“set auto”命令,由系統(tǒng)以精度優(yōu)先算法(完全匹配《字段名,類型,長度》,名稱匹配《字段名》,模糊匹配)自動完成映射關(guān)系。
[0033]第三步:使用send命令,完成數(shù)據(jù)的傳送。
[0034]優(yōu)選的,本申請上述實(shí)施例中,在第一配置參數(shù)和第二配置參數(shù)至少包括數(shù)據(jù)庫類型、主機(jī)IP地址、登錄賬號和登錄密碼時,步驟SlO根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接的步驟包括:
[0035]步驟S101,根據(jù)源數(shù)據(jù)庫的第一主機(jī)IP地址和目標(biāo)數(shù)據(jù)庫的第二主機(jī)IP地址,建立源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的通訊連接。
[0036]步驟S103,根據(jù)源數(shù)據(jù)庫的第一登陸賬號和第一登錄密碼,獲得訪問源數(shù)據(jù)庫的訪問權(quán)限。
[0037]步驟S105,根據(jù)目標(biāo)數(shù)據(jù)庫的第二登錄賬號和第二登錄密碼,獲得訪問目標(biāo)數(shù)據(jù)庫的訪問權(quán)限。
[0038]本申請上述實(shí)施例提供的方案,通過上述步驟SlOl至步驟S105,通過讀取預(yù)先設(shè)置的第一配置參數(shù)和第二配置參數(shù),獲取參數(shù)中的各個參數(shù)信息,依次完成與兩個數(shù)據(jù)庫所在的主機(jī)建立通訊連接、分別獲取源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的訪問權(quán)限的步驟,實(shí)現(xiàn)建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接的目的。
[0039]優(yōu)選的,本申請上述實(shí)施例中,步驟S14根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表的步驟包括:
[0040]步驟S141,獲取源數(shù)據(jù)庫的源數(shù)據(jù)表名稱和目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表名稱。
[0041]步驟S143,根據(jù)源數(shù)據(jù)表名稱和目標(biāo)數(shù)據(jù)表名稱,對源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表進(jìn)行匹配。
[0042]步驟S145,根據(jù)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的匹配結(jié)果,生成數(shù)據(jù)庫關(guān)系對照表。
[0043]本申請上述實(shí)施例提供的方案,通過上述步驟S141至步驟S145,通過獲取源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)表名稱,對源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表進(jìn)行匹配,根據(jù)匹配結(jié)果,生成數(shù)據(jù)庫關(guān)系對照表。其中,對源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表進(jìn)行匹配的匹配方式可以包括兩種,一種是通過提示用戶手動進(jìn)行數(shù)據(jù)表關(guān)系的指定。另一種是系統(tǒng)通過精度優(yōu)先算法自動完成映射關(guān)系的指定。
[0044]優(yōu)選的,本申請上述實(shí)施例中,步驟S16根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫相應(yīng)的位置的步驟包括:
[0045]步驟S161,讀取數(shù)據(jù)庫關(guān)系對照表,獲得源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系。
[0046]步驟S163,讀取差異對照表,獲得源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型對照關(guān)系。
[0047]步驟S165,讀取源數(shù)據(jù)表中的字段內(nèi)容。
[0048]步驟S167,根據(jù)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系,將源數(shù)據(jù)表中的字段內(nèi)容按照數(shù)據(jù)類型對照關(guān)系轉(zhuǎn)換為與目標(biāo)數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型。
[0049]步驟S169,將字段內(nèi)容寫入到目標(biāo)數(shù)據(jù)表中。
[0050]本申請上述實(shí)施例提供的方案,通過上述步驟S161至步驟S169,首先,分別讀取數(shù)據(jù)庫關(guān)系對照表和差異對照表,分別獲得源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系以及源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型對照關(guān)系。然后對源數(shù)據(jù)表中的字段內(nèi)容進(jìn)行讀取,根據(jù)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系,將源數(shù)據(jù)表中的字段內(nèi)容按照數(shù)據(jù)類型對照關(guān)系轉(zhuǎn)換為與目標(biāo)數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型。最后,將字段內(nèi)容寫入到目標(biāo)數(shù)據(jù)庫中。
[0051]在實(shí)際應(yīng)用中,以在操作Iinux數(shù)據(jù)庫服務(wù)器上完成異同數(shù)據(jù)庫間的數(shù)據(jù)遷移的工具為例,當(dāng)采用DBSend命令,數(shù)據(jù)遷移的工具可以分兩步完成數(shù)據(jù)的傳送,即初始化數(shù)據(jù)庫連接和下達(dá)傳送指令。
[0052]同時,傳輸數(shù)據(jù)給接收端之前,系統(tǒng)會自動進(jìn)行匹配度檢測,并以列表的形式展示預(yù)警結(jié)果,如果在匹配時出現(xiàn)“ERROR”錯誤字樣,系統(tǒng)會自動引導(dǎo)數(shù)據(jù)遷移的工具進(jìn)入字段匹配子系統(tǒng),并可采用自動匹配模式和手動匹配模式來完成“ERROR”錯誤的消除;如果在匹配時出現(xiàn)“WARNING”警告字樣或無任何提示時,可直接鍵入“Y”繼續(xù)完成數(shù)據(jù)的傳送,也可鍵入“N”進(jìn)入字段匹配子系統(tǒng)。
[0053]優(yōu)選的,如圖2所示,本申請上述實(shí)施例中,在步驟S14根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表之后,方法還包括:
[0054]步驟S151,讀取數(shù)據(jù)庫關(guān)系對照表中源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系。
[0055]步驟S153,根據(jù)源數(shù)據(jù)表中源字段和目標(biāo)數(shù)據(jù)表中目標(biāo)字段的字段信息,計算源字段與目標(biāo)字段間的字段匹配度,其中,字段信息至少包括:字段名稱、字段類型、字段長度。
[0056]步驟S155,對字段匹配度與預(yù)先設(shè)置的閾值進(jìn)行比對,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系;
[0057]其中,當(dāng)字段匹配度大于等于預(yù)先設(shè)置的閾值時,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系;
[0058]當(dāng)字段匹配度小于預(yù)先設(shè)置的閾值時,對源字段與未進(jìn)行匹配目標(biāo)字段進(jìn)行提
/Jn ο
[0059]本申請上述實(shí)施例提供的方案,通過上述步驟S151至步驟S155,對源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表中的字段信息進(jìn)行自動匹配,首先至少獲取字段信息中的字段名稱、字段類型和字段長度。根據(jù)這些條件,對源字段與目標(biāo)字段進(jìn)行匹配度計算。通過匹配度與預(yù)先設(shè)置的用于驗(yàn)證匹配度的閾值進(jìn)行比較。當(dāng)字段匹配度大于等于預(yù)先設(shè)置的閾值時,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系;當(dāng)字段匹配度小于預(yù)先設(shè)置的閾值時,將源字段與未進(jìn)行匹配目標(biāo)字段進(jìn)行提示,提示用戶進(jìn)行手動指定。
[0060]當(dāng)然,也可以通過按照排列順序?qū)υ磾?shù)據(jù)表中源字段與目標(biāo)數(shù)據(jù)表中各個目標(biāo)字段逐一進(jìn)行匹配度計算。選擇出匹配度最高的字段選為目標(biāo)字段,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系。
[0061]優(yōu)選的,本申請上述實(shí)施例中,在步驟S16根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置的方法包括:
[0062]步驟S160,根據(jù)源數(shù)據(jù)庫中的數(shù)據(jù)表,創(chuàng)建至少一個與源數(shù)據(jù)庫中數(shù)據(jù)表單獨(dú)對應(yīng)的數(shù)據(jù)遷移任務(wù)進(jìn)程。
[0063]本申請上述實(shí)施例提供的方案,通過上述步驟S160,在復(fù)制過程中,為每個表單創(chuàng)建單獨(dú)的數(shù)據(jù)遷移進(jìn)程,實(shí)現(xiàn)多個表單并行處理的多線程并行處理以提高遷移效率。
[0064]具體的,本方法采用命令行模式,以低消耗多通道傳輸模塊,對小數(shù)量數(shù)據(jù)快速遷移。以安全警告,高亮顯示視覺提醒等顯著的特點(diǎn)來協(xié)助用戶來高效的完成數(shù)據(jù)的基本關(guān)系映射及轉(zhuǎn)存工作。同時也是一種數(shù)據(jù)庫間數(shù)據(jù)轉(zhuǎn)存利器。
[0065]其中,初始化數(shù)據(jù)庫連接過程:第一步,選擇源數(shù)據(jù)庫類型,這里包括常用的數(shù)據(jù)庫,比如=Oracle ;鍵入host主機(jī)IP、賬號和密碼,完成源數(shù)據(jù)庫的連接;第二步,選擇目標(biāo)數(shù)據(jù)庫類型;鍵入host主機(jī)IP、賬號和密碼,完成目標(biāo)數(shù)據(jù)庫的連接。
[0066]數(shù)據(jù)傳送的處理過程:第一步,用SEND命令開始數(shù)據(jù)的傳送,并采用源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的類型差異關(guān)系參照表完成數(shù)據(jù)的轉(zhuǎn)換及處理,并將源數(shù)據(jù)表數(shù)據(jù)以頁式的讀取方式依次讀入(默認(rèn)緩存條數(shù)是10000條/頁),批量寫入目標(biāo)數(shù)據(jù)庫中。
[0067]格式:Send〈源表X目標(biāo)表〉
[0068]字段匹配處理過程:主鍵匹配可以分為幾種情況,按源表數(shù)據(jù)直接寫入、采用MAX+1和GUID,自動編號可直接設(shè)置忽略。自動模式以精度優(yōu)先算法(完全匹配《字段名,類型,長度》,名稱匹配《字段名》,模糊匹配)自動完成映射關(guān)系。手動匹配通過set命令完成映射。
[0069]實(shí)施例2
[0070]根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述方法實(shí)施例的裝置實(shí)施例。圖3是根據(jù)本發(fā)明實(shí)施例二的一種數(shù)據(jù)庫數(shù)據(jù)拷貝裝置的示意圖。
[0071]如圖3所示,該數(shù)據(jù)庫數(shù)據(jù)拷貝裝置可以包括:連接模塊21、第一獲取模塊23、生成模塊25和拷貝模塊27。
[0072]其中,連接模塊21,用于根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接。
[0073]具體的,通過上述連接模塊21,根據(jù)第一配置參數(shù)和第二配置參數(shù)中的數(shù)據(jù)庫所在主機(jī)的網(wǎng)絡(luò)IP地址,分別與源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫所在的主機(jī)建立網(wǎng)絡(luò)連接。并且,根據(jù)與源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫對應(yīng)的登陸賬號和登錄密碼,通過訪問權(quán)限的認(rèn)證,建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間的訪問關(guān)系。
[0074]第一獲取模塊23,用于根據(jù)第一配置參數(shù)中的源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和第二配置參數(shù)中的目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取第一數(shù)據(jù)庫類型與第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表。
[0075]具體的,通過上述第一獲取模塊23,根據(jù)源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的類型,獲取預(yù)先設(shè)置好的與兩種數(shù)據(jù)庫類型對應(yīng)的數(shù)據(jù)庫類型的差異對照表。
[0076]在實(shí)際應(yīng)用中,可以根據(jù)不同的數(shù)據(jù)庫類型,分別設(shè)置包含不同數(shù)據(jù)類型間的數(shù)據(jù)轉(zhuǎn)換規(guī)則的數(shù)據(jù)庫類型的差異對照表。例如,MySQL數(shù)據(jù)庫向Oracle數(shù)據(jù)庫轉(zhuǎn)換的轉(zhuǎn)換規(guī)則。
[0077]生成模塊25,用于根據(jù)源數(shù)據(jù)庫的源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表。
[0078]具體的,通過上述生成模塊25,根據(jù)源數(shù)據(jù)庫中的源數(shù)據(jù)庫表,通過手動指定或者根據(jù)源數(shù)據(jù)表名稱自動匹配的方式,確定源數(shù)據(jù)庫中源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)庫中目標(biāo)數(shù)據(jù)表間的對應(yīng)關(guān)系。根據(jù)對應(yīng)關(guān)系,生成數(shù)據(jù)庫關(guān)系對照表。
[0079]拷貝模塊27,用于根據(jù)數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,復(fù)制源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。
[0080]具體的,通過上述拷貝模塊27,依次讀取源數(shù)據(jù)庫源數(shù)據(jù)表中的字段內(nèi)容,將字段內(nèi)容依照數(shù)據(jù)庫差異對照表和數(shù)據(jù)庫關(guān)系對照表,轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)類型存入相應(yīng)的目標(biāo)數(shù)據(jù)表中。
[0081]本申請上述實(shí)施例提供的方案,通過上述連接模塊21、第一獲取模塊23、生成模塊25和拷貝模塊27,根據(jù)兩個數(shù)據(jù)庫間的差異對照表和數(shù)據(jù)表間的對應(yīng)關(guān)系,完成數(shù)據(jù)庫間的數(shù)據(jù)拷貝轉(zhuǎn)換與拷貝過程。
[0082]在具體實(shí)施過程中,以在操作Iinux數(shù)據(jù)庫服務(wù)器上完成異同數(shù)據(jù)庫間的數(shù)據(jù)遷移的工具為例,數(shù)據(jù)庫服務(wù)器的Iinux系統(tǒng)中需要安裝有JDK環(huán)境,用戶需要通過該工具完成數(shù)據(jù)庫類型選擇和賬號設(shè)置。
[0083]在操作時,構(gòu)建表間(Table)映射,確認(rèn)源數(shù)據(jù)表及目的數(shù)據(jù)表數(shù)據(jù)傳送規(guī)則,規(guī)則保證目的數(shù)據(jù)表大于等于源數(shù)據(jù)表,從而保證目的數(shù)據(jù)表100 %成功接收傳送數(shù)據(jù)。
[0084]第一步:在啟動命令后,首先通過選擇的方式選擇源/目的數(shù)據(jù)庫類型,完成驅(qū)動程序的加載。并依次完成賬號及密碼訪問權(quán)限的認(rèn)證,建立訪問關(guān)系。
[0085]第二步:按提示鍵入源數(shù)據(jù)表名稱和目標(biāo)數(shù)據(jù)表名稱,系統(tǒng)自動按源數(shù)據(jù)表字段順序和目的數(shù)據(jù)表字段順序展現(xiàn)字段映射關(guān)系,提示用戶手動進(jìn)行字段映射關(guān)系的指定。同時也可采用“set auto”命令,由系統(tǒng)以精度優(yōu)先算法(完全匹配《字段名,類型,長度》,名稱匹配《字段名》,模糊匹配)自動完成映射關(guān)系。
[0086]第三步:使用send命令,完成數(shù)據(jù)的傳送。
[0087]優(yōu)選的,本申請上述實(shí)施例中,在第一配置參數(shù)和第二配置參數(shù)至少包括數(shù)據(jù)庫類型、主機(jī)IP地址、登錄賬號和登錄密碼時,連接模塊21包括:子連接模塊211、第一子獲取模塊213和第二子獲取模塊215。
[0088]其中,子連接模塊211,用于根據(jù)源數(shù)據(jù)庫的第一主機(jī)IP地址和目標(biāo)數(shù)據(jù)庫的第二主機(jī)IP地址,建立源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的通訊連接。
[0089]第一子獲取模塊213,用于根據(jù)源數(shù)據(jù)庫的第一登陸賬號和第一登錄密碼,獲得訪問源數(shù)據(jù)庫的訪問權(quán)限。
[0090]第二子獲取模塊215,用于根據(jù)目標(biāo)數(shù)據(jù)庫的第二登錄賬號和第二登錄密碼,獲得訪問目標(biāo)數(shù)據(jù)庫的訪問權(quán)限。
[0091]本申請上述實(shí)施例提供的方案,上述子連接模塊211、第一子獲取模塊213和第二子獲取模塊215,通過讀取預(yù)先設(shè)置的第一配置參數(shù)和第二配置參數(shù),獲取參數(shù)中的各個參數(shù)信息,依次完成與兩個數(shù)據(jù)庫所在的主機(jī)建立通訊連接、分別獲取源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的訪問權(quán)限的步驟,實(shí)現(xiàn)建立源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的連接的目的。
[0092]優(yōu)選的,本申請上述實(shí)施例中,生成模塊25包括:第三子獲取模塊251、子匹配模塊253和子生成模塊255。
[0093]其中,第三子獲取模塊251,用于獲取源數(shù)據(jù)庫的源數(shù)據(jù)表名稱和目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表名稱。
[0094]子匹配模塊253,用于根據(jù)源數(shù)據(jù)表名稱和目標(biāo)數(shù)據(jù)表名稱,對源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表進(jìn)行匹配。
[0095]子生成模塊255,用于根據(jù)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的匹配結(jié)果,生成數(shù)據(jù)庫關(guān)系對照表。
[0096]本申請上述實(shí)施例提供的方案,上述第三子獲取模塊251、子匹配模塊253和子生成模塊255,通過獲取源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)表名稱,對源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表進(jìn)行匹配,根據(jù)匹配結(jié)果,生成數(shù)據(jù)庫關(guān)系對照表。其中,對源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表進(jìn)行匹配的匹配方式可以包括兩種,一種是通過提示用戶手動進(jìn)行數(shù)據(jù)表關(guān)系的指定。另一種是系統(tǒng)通過精度優(yōu)先算法自動完成映射關(guān)系的指定。
[0097]優(yōu)選的,本申請上述實(shí)施例中,拷貝模塊27包括:第四子獲取模塊271、第五子獲取模塊273、子緩存模塊275、子處理模塊277和子寫入模塊279。
[0098]其中,第四子獲取模塊271,用于讀取數(shù)據(jù)庫關(guān)系對照表,獲得源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系。
[0099]第五子獲取模塊273,用于讀取差異對照表,獲得源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型對照關(guān)系。
[0100]子緩存模塊275,用于讀取源數(shù)據(jù)表中的字段內(nèi)容。
[0101]子處理模塊277,用于根據(jù)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系,將源數(shù)據(jù)表中的字段內(nèi)容按照數(shù)據(jù)類型對照關(guān)系轉(zhuǎn)換為與目標(biāo)數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型。
[0102]子寫入模塊279,用于將字段內(nèi)容寫入到目標(biāo)數(shù)據(jù)表中。
[0103]本申請上述實(shí)施例提供的方案,通過上述第四子獲取模塊271、第五子獲取模塊273、子緩存模塊275、子處理模塊277和子寫入模塊279,首先,分別讀取數(shù)據(jù)庫關(guān)系對照表和差異對照表,分別獲得源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系以及源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型對照關(guān)系。然后對源數(shù)據(jù)表中的字段內(nèi)容進(jìn)行讀取,根據(jù)源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系,將源數(shù)據(jù)表中的字段內(nèi)容按照數(shù)據(jù)類型對照關(guān)系轉(zhuǎn)換為與目標(biāo)數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型。最后,將字段內(nèi)容寫入到目標(biāo)數(shù)據(jù)庫中。
[0104]在實(shí)際應(yīng)用中,以在操作Iinux數(shù)據(jù)庫服務(wù)器上完成異同數(shù)據(jù)庫間的數(shù)據(jù)遷移的工具為例,當(dāng)采用DBSend命令,數(shù)據(jù)遷移的工具可以分兩步完成數(shù)據(jù)的傳送,即初始化數(shù)據(jù)庫連接和下達(dá)傳送指令。
[0105]同時,傳輸數(shù)據(jù)給接收端之前,系統(tǒng)會自動進(jìn)行匹配度檢測,并以列表的形式展示預(yù)警結(jié)果,如果在匹配時出現(xiàn)“ERROR”錯誤字樣,系統(tǒng)會自動引導(dǎo)數(shù)據(jù)遷移的工具進(jìn)入字段匹配子系統(tǒng),并可采用自動匹配模式和手動匹配模式來完成“ERROR”錯誤的消除;如果在匹配時出現(xiàn)“WARNING”警告字樣或無任何提示時,可直接鍵入“Y”繼續(xù)完成數(shù)據(jù)的傳送,也可鍵入“N”進(jìn)入字段匹配子系統(tǒng)。
[0106]優(yōu)選的,如圖4所示,本申請上述實(shí)施例中,裝置還包括:第二獲取模塊261、處理模塊263和確定模塊265。
[0107]其中,第二獲取模塊261,用于讀取數(shù)據(jù)庫關(guān)系對照表中源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系。
[0108]處理模塊263,用于根據(jù)源數(shù)據(jù)表中源字段和目標(biāo)數(shù)據(jù)表中目標(biāo)字段的字段信息,計算源字段與目標(biāo)字段間的字段匹配度,其中,字段信息至少包括:字段名稱、字段類型、字段長度。
[0109]確定模塊265,用于對字段匹配度與預(yù)先設(shè)置的閾值進(jìn)行比對,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系。
[0110]其中,當(dāng)字段匹配度大于等于預(yù)先設(shè)置的閾值時,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系;
[0111]當(dāng)字段匹配度小于預(yù)先設(shè)置的閾值時,對源字段與未進(jìn)行匹配目標(biāo)字段進(jìn)行提
/Jn ο
[0112]本申請上述實(shí)施例提供的方案,通過上述第二獲取模塊261、處理模塊263和確定模塊265,對源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表中的字段信息進(jìn)行自動匹配,首先至少獲取字段信息中的字段名稱、字段類型和字段長度。根據(jù)這些條件,對源字段與目標(biāo)字段進(jìn)行匹配度計算。通過匹配度與預(yù)先設(shè)置的用于驗(yàn)證匹配度的閾值進(jìn)行比較。當(dāng)字段匹配度大于等于預(yù)先設(shè)置的閾值時,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系;當(dāng)字段匹配度小于預(yù)先設(shè)置的閾值時,將源字段與未進(jìn)行匹配目標(biāo)字段進(jìn)行提示,提示用戶進(jìn)行手動指定。
[0113]當(dāng)然,也可以通過按照排列順序?qū)υ磾?shù)據(jù)表中源字段與目標(biāo)數(shù)據(jù)表中各個目標(biāo)字段逐一進(jìn)行匹配度計算。選擇出匹配度最高的字段選為目標(biāo)字段,確定源字段與目標(biāo)字段的對應(yīng)關(guān)系。
[0114]優(yōu)選的,本申請上述實(shí)施例中,拷貝模塊27還包括:創(chuàng)建模塊270。
[0115]創(chuàng)建模塊270,用于根據(jù)源數(shù)據(jù)庫中的數(shù)據(jù)表,創(chuàng)建至少一個與源數(shù)據(jù)庫中數(shù)據(jù)表單獨(dú)對應(yīng)的數(shù)據(jù)遷移任務(wù)進(jìn)程。
[0116]本申請上述實(shí)施例提供的方案,通過上述創(chuàng)建模塊270,在復(fù)制過程中,為每個表單創(chuàng)建單獨(dú)的數(shù)據(jù)遷移進(jìn)程,實(shí)現(xiàn)多個表單并行處理的多線程并行處理以提高遷移效率。
[0117]具體的,本方法采用命令行模式,以低消耗多通道傳輸模塊,對小數(shù)量數(shù)據(jù)快速遷移。以安全警告,高亮顯示視覺提醒等顯著的特點(diǎn)來協(xié)助用戶來高效的完成數(shù)據(jù)的基本關(guān)系映射及轉(zhuǎn)存工作。同時也是一種數(shù)據(jù)庫間數(shù)據(jù)轉(zhuǎn)存利器。
[0118]其中,初始化數(shù)據(jù)庫連接過程:第一步,選擇源數(shù)據(jù)庫類型,這里包括常用的數(shù)據(jù)庫,比如=Oracle ;鍵入host主機(jī)IP、賬號和密碼,完成源數(shù)據(jù)庫的連接;第二步,選擇目標(biāo)數(shù)據(jù)庫類型;鍵入host主機(jī)IP、賬號和密碼,完成目標(biāo)數(shù)據(jù)庫的連接。
[0119]數(shù)據(jù)傳送的處理過程:第一步,用SEND命令開始數(shù)據(jù)的傳送,并采用源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫的類型差異關(guān)系參照表完成數(shù)據(jù)的轉(zhuǎn)換及處理,并將源數(shù)據(jù)表數(shù)據(jù)以頁式的讀取方式依次讀入(默認(rèn)緩存條數(shù)是10000條/頁),批量寫入目標(biāo)數(shù)據(jù)庫中。
[0120]格式:Send〈源表X目標(biāo)表〉
[0121]字段匹配處理過程:主鍵匹配可以分為幾種情況,按源表數(shù)據(jù)直接寫入、采用MAX+1和GUID,自動編號可直接設(shè)置忽略。自動模式以精度優(yōu)先算法(完全匹配《字段名,類型,長度》,名稱匹配《字段名》,模糊匹配)自動完成映射關(guān)系。手動匹配通過set命令完成映射。
[0122]需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0123]在上述實(shí)施例中,對各個實(shí)施例的描述都各有側(cè)重,某個實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
[0124]在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的裝置,可通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0125]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0126]另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0127]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可為個人計算機(jī)、移動終端、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM, Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0128]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)庫數(shù)據(jù)拷貝方法,其特征在于,包括: 根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫的連接; 根據(jù)所述第一配置參數(shù)中的所述源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和所述第二配置參數(shù)中的所述目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取所述第一數(shù)據(jù)庫類型與所述第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表; 根據(jù)所述源數(shù)據(jù)庫的源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表; 根據(jù)所述數(shù)據(jù)庫差異對照表和所述數(shù)據(jù)庫關(guān)系對照表,復(fù)制所述源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至所述目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述第一配置參數(shù)和所述第二配置參數(shù)至少包括數(shù)據(jù)庫類型、主機(jī)IP地址、登錄賬號和登錄密碼時,所述根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫的連接的步驟包括: 根據(jù)所述源數(shù)據(jù)庫的第一主機(jī)IP地址和所述目標(biāo)數(shù)據(jù)庫的第二主機(jī)IP地址,建立所述源數(shù)據(jù)庫和所述目標(biāo)數(shù)據(jù)庫的通訊連接; 根據(jù)所述源數(shù)據(jù)庫的第一登陸賬號和第一登錄密碼,獲得訪問所述源數(shù)據(jù)庫的訪問權(quán)限; 根據(jù)所述目標(biāo)數(shù)據(jù)庫的第二登錄賬號和第二登錄密碼,獲得訪問所述目標(biāo)數(shù)據(jù)庫的訪問權(quán)限。
3.根據(jù)權(quán)利要求1所述方法,其特征在于,所述根據(jù)所述源數(shù)據(jù)庫的源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)庫的所述目標(biāo)數(shù)據(jù)表,生成包含所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表的步驟包括: 獲取所述源數(shù)據(jù)庫的源數(shù)據(jù)表名稱和所述目標(biāo)數(shù)據(jù)庫的所述目標(biāo)數(shù)據(jù)表名稱; 根據(jù)所述源數(shù)據(jù)表名稱和所述目標(biāo)數(shù)據(jù)表名稱,對所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表進(jìn)行匹配; 根據(jù)所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的匹配結(jié)果,生成所述數(shù)據(jù)庫關(guān)系對照表。
4.根據(jù)權(quán)利要求1所述方法,其特征在于,根據(jù)所述數(shù)據(jù)庫差異對照表和所述數(shù)據(jù)庫關(guān)系對照表,復(fù)制所述源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至所述目標(biāo)數(shù)據(jù)庫相應(yīng)的位置的步驟包括: 讀取所述數(shù)據(jù)庫關(guān)系對照表,獲得所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系; 讀取所述差異對照表,獲得所述源數(shù)據(jù)庫和所述目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型對照關(guān)系; 讀取所述源數(shù)據(jù)表中的字段內(nèi)容; 根據(jù)所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系,將所述源數(shù)據(jù)表中的字段內(nèi)容按照所述數(shù)據(jù)類型對照關(guān)系轉(zhuǎn)換為與所述目標(biāo)數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型; 將所述字段內(nèi)容寫入到所述目標(biāo)數(shù)據(jù)表中。
5.根據(jù)權(quán)利要求1所述方法,其特征在于,在所述根據(jù)所述源數(shù)據(jù)庫的源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)庫的所述目標(biāo)數(shù)據(jù)表,生成包含所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表之后,所述方法還包括: 讀取所述數(shù)據(jù)庫關(guān)系對照表中所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系; 根據(jù)所述源數(shù)據(jù)表中源字段和所述目標(biāo)數(shù)據(jù)表中目標(biāo)字段的字段信息,計算所述源字段與所述目標(biāo)字段間的字段匹配度,其中,所述字段信息至少包括:字段名稱、字段類型、字段長度; 對所述字段匹配度與預(yù)先設(shè)置的閾值進(jìn)行比對,確定所述源字段與所述目標(biāo)字段的對應(yīng)關(guān)系; 其中,當(dāng)所述字段匹配度大于等于所述預(yù)先設(shè)置的閾值時,確定所述源字段與所述目標(biāo)字段的對應(yīng)關(guān)系; 當(dāng)所述字段匹配度小于所述預(yù)先設(shè)置的閾值時,對所述源字段與未進(jìn)行匹配目標(biāo)字段進(jìn)行提示。
6.根據(jù)權(quán)利要求1至5中任意一項(xiàng)所述方法,其特征在于,根據(jù)所述數(shù)據(jù)庫差異對照表和所述數(shù)據(jù)庫關(guān)系對照表,復(fù)制所述源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至所述目標(biāo)數(shù)據(jù)庫的相應(yīng)位置的方法包括: 根據(jù)所述源數(shù)據(jù)庫中的數(shù)據(jù)表,創(chuàng)建至少一個與所述源數(shù)據(jù)庫中數(shù)據(jù)表單獨(dú)對應(yīng)的數(shù)據(jù)遷移任務(wù)進(jìn)程。
7.一種數(shù)據(jù)庫數(shù)據(jù)拷貝裝置,其特征在于,包括: 連接模塊,用于根據(jù)預(yù)先設(shè)置的源數(shù)據(jù)庫的第一配置參數(shù)和目標(biāo)數(shù)據(jù)庫的第二配置參數(shù),建立所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫的連接; 第一獲取模塊,用于根據(jù)所述第一配置參數(shù)中的所述源數(shù)據(jù)庫的第一數(shù)據(jù)庫類型和所述第二配置參數(shù)中的所述目標(biāo)數(shù)據(jù)庫的第二數(shù)據(jù)庫類型,獲取所述第一數(shù)據(jù)庫類型與所述第一數(shù)據(jù)庫類型間的數(shù)據(jù)庫差異對照表; 生成模塊,用于根據(jù)所述源數(shù)據(jù)庫的源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)庫的目標(biāo)數(shù)據(jù)表,生成包含所述源數(shù)據(jù)庫與所述目標(biāo)數(shù)據(jù)庫間數(shù)據(jù)表對應(yīng)關(guān)系的數(shù)據(jù)庫關(guān)系對照表; 拷貝模塊,用于根據(jù)所述數(shù)據(jù)庫差異對照表和所述數(shù)據(jù)庫關(guān)系對照表,復(fù)制所述源數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容至所述目標(biāo)數(shù)據(jù)庫的相應(yīng)位置。
8.根據(jù)權(quán)利要求7所述裝置,其特征在于,在所述第一配置參數(shù)和所述第二配置參數(shù)至少包括數(shù)據(jù)庫類型、主機(jī)IP地址、登錄賬號和登錄密碼時,所述連接模塊包括: 子連接模塊,用于根據(jù)所述源數(shù)據(jù)庫的第一主機(jī)IP地址和所述目標(biāo)數(shù)據(jù)庫的第二主機(jī)IP地址,建立所述源數(shù)據(jù)庫和所述目標(biāo)數(shù)據(jù)庫的通訊連接; 第一子獲取模塊,用于根據(jù)所述源數(shù)據(jù)庫的第一登陸賬號和第一登錄密碼,獲得訪問所述源數(shù)據(jù)庫的訪問權(quán)限; 第二子獲取模塊,用于根據(jù)所述目標(biāo)數(shù)據(jù)庫的第二登錄賬號和第二登錄密碼,獲得訪問所述目標(biāo)數(shù)據(jù)庫的訪問權(quán)限。
9.根據(jù)權(quán)利要求7所述裝置,其特征在于,所述生成模塊包括: 第三子獲取模塊,用于獲取所述源數(shù)據(jù)庫的源數(shù)據(jù)表名稱和所述目標(biāo)數(shù)據(jù)庫的所述目標(biāo)數(shù)據(jù)表名稱; 子匹配模塊,用于根據(jù)所述源數(shù)據(jù)表名稱和所述目標(biāo)數(shù)據(jù)表名稱,對所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表進(jìn)行匹配; 子生成模塊,用于根據(jù)所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的匹配結(jié)果,生成所述數(shù)據(jù)庫關(guān)系對照表。
10.根據(jù)權(quán)利要求7所述裝置,其特征在于,所述拷貝模塊包括: 第四子獲取模塊,用于讀取所述數(shù)據(jù)庫關(guān)系對照表,獲得所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系; 第五子獲取模塊,用于讀取所述差異對照表,獲得所述源數(shù)據(jù)庫和所述目標(biāo)數(shù)據(jù)庫的數(shù)據(jù)類型對照關(guān)系; 子緩存模塊,用于讀取所述源數(shù)據(jù)表中的字段內(nèi)容; 子處理模塊,用于根據(jù)所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系,將所述源數(shù)據(jù)表中的字段內(nèi)容按照所述數(shù)據(jù)類型對照關(guān)系轉(zhuǎn)換為與所述目標(biāo)數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)類型;子寫入模塊,用于將所述字段內(nèi)容寫入到所述目標(biāo)數(shù)據(jù)表中。
11.根據(jù)權(quán)利要求7所述裝置,其特征在于,所述裝置還包括: 第二獲取模塊,用于讀取所述數(shù)據(jù)庫關(guān)系對照表中所述源數(shù)據(jù)表與所述目標(biāo)數(shù)據(jù)表的對應(yīng)關(guān)系; 處理模塊,用于根據(jù)所述源數(shù)據(jù)表中源字段和所述目標(biāo)數(shù)據(jù)表中目標(biāo)字段的字段信息,計算所述源字段與所述目標(biāo)字段間的字段匹配度,其中,所述字段信息至少包括:字段名稱、字段類型、字段長度; 確定模塊,用于對所述字段匹配度與預(yù)先設(shè)置的閾值進(jìn)行比對,確定所述源字段與所述目標(biāo)字段的對應(yīng)關(guān)系; 其中,當(dāng)所述字段匹配度大于等于所述預(yù)先設(shè)置的閾值時,確定所述源字段與所述目標(biāo)字段的對應(yīng)關(guān)系; 當(dāng)所述字段匹配度小于所述預(yù)先設(shè)置的閾值時,對所述源字段與未進(jìn)行匹配目標(biāo)字段進(jìn)行提示。
12.根據(jù)權(quán)利要求7至11中任意一項(xiàng)所述裝置,其特征在于,所述拷貝模塊還包括: 創(chuàng)建模塊,用于根據(jù)所述源數(shù)據(jù)庫中的數(shù)據(jù)表,創(chuàng)建至少一個與所述源數(shù)據(jù)庫中數(shù)據(jù)表單獨(dú)對應(yīng)的數(shù)據(jù)遷移任務(wù)進(jìn)程。
【文檔編號】G06F11/14GK104281704SQ201410568969
【公開日】2015年1月14日 申請日期:2014年10月22日 優(yōu)先權(quán)日:2014年10月22日
【發(fā)明者】李燕飛, 宋立新, 耿利達(dá) 申請人:新華瑞德(北京)網(wǎng)絡(luò)科技有限公司