本文件涉及數(shù)據(jù)處理,尤其涉及一種異構(gòu)數(shù)據(jù)庫遷移方法、裝置及電子設(shè)備。
背景技術(shù):
1、企事業(yè)單位的業(yè)務(wù)應(yīng)用需要不斷更新迭代,以實(shí)現(xiàn)更豐富的功能和更好的性能、降低運(yùn)營成本以及匹配高性能先進(jìn)硬件。隨業(yè)務(wù)應(yīng)用的數(shù)據(jù)存儲(chǔ)框架、存儲(chǔ)規(guī)模、性能要求和應(yīng)用需求等變化,支撐業(yè)務(wù)應(yīng)用的數(shù)據(jù)庫將需要進(jìn)行數(shù)據(jù)庫遷移,以達(dá)到提升業(yè)務(wù)應(yīng)用的數(shù)據(jù)處理效率、降低維護(hù)成本和實(shí)現(xiàn)擴(kuò)展性等目的。
2、數(shù)據(jù)庫遷移可以是將源數(shù)據(jù)庫的數(shù)據(jù)轉(zhuǎn)移到目標(biāo)數(shù)據(jù)庫內(nèi)的過程。目前,通常由運(yùn)維人員使用遷移工具導(dǎo)出業(yè)務(wù)應(yīng)用使用的源數(shù)據(jù)庫內(nèi)的數(shù)據(jù),并將該源數(shù)據(jù)庫導(dǎo)出的數(shù)據(jù),導(dǎo)入目標(biāo)數(shù)據(jù)庫中,以嘗試在相同類型數(shù)據(jù)庫之間進(jìn)行遷移。然而,在源數(shù)據(jù)庫中,通常存在業(yè)務(wù)應(yīng)用為記錄信息而采用各式各樣的多種字段類型,而與源數(shù)據(jù)庫類型不相同的目標(biāo)數(shù)據(jù)庫很難完全支持源數(shù)據(jù)庫的字段類型,將需要運(yùn)維人員人工觀察分析、逐個(gè)對比,編寫代碼,遷移工作非常復(fù)雜、繁瑣、且容易出現(xiàn)信息錯(cuò)誤、遷移失敗,業(yè)務(wù)應(yīng)用的更新迭代也將受到阻礙。
技術(shù)實(shí)現(xiàn)思路
1、本說明書實(shí)施例目的是提供一種異構(gòu)數(shù)據(jù)庫遷移方法、裝置及電子設(shè)備,避免因人工進(jìn)行異構(gòu)數(shù)據(jù)庫遷移而導(dǎo)致的遷移效率過低,進(jìn)而實(shí)現(xiàn)自動(dòng)化遷移異構(gòu)數(shù)據(jù)庫,改善遷移效率、成功率和成本,為推進(jìn)業(yè)務(wù)應(yīng)用的更新迭代提供支持。
2、為了實(shí)現(xiàn)上述目的,本說明書實(shí)施例采用下述方案:
3、第一方面,提供一種異構(gòu)數(shù)據(jù)庫遷移方法,包括:
4、基于源數(shù)據(jù)庫的類型和目標(biāo)數(shù)據(jù)庫的類型,生成數(shù)據(jù)畫像,所述數(shù)據(jù)畫像攜帶所述源數(shù)據(jù)庫中使用的字段類型與所述目標(biāo)數(shù)據(jù)庫支持的字段類型的比對信息以及遷移評估信息;
5、基于所述數(shù)據(jù)畫像,對所述源數(shù)據(jù)庫中源表進(jìn)行解析,以輸出與所述源表對應(yīng)的目標(biāo)表中與各源字段對應(yīng)的目標(biāo)字段的數(shù)據(jù)列映射模式和輸出各源字段對應(yīng)的遷移評估指標(biāo),各數(shù)據(jù)列映射模式是由所述比對信息指示的,所述目標(biāo)字段用于標(biāo)記對應(yīng)的源字段的數(shù)據(jù)列的遷移目標(biāo)位置,所述遷移評估指標(biāo)是基于所述遷移評估信息和各源字段的數(shù)據(jù)列與對應(yīng)的數(shù)據(jù)列映射模式的匹配度確定的;
6、基于預(yù)設(shè)轉(zhuǎn)換策略和各源字段對應(yīng)的遷移評估指標(biāo)、數(shù)據(jù)列映射模式,確定從所述源表的各源字段的數(shù)據(jù)列提取數(shù)據(jù)到對應(yīng)的目標(biāo)字段的數(shù)據(jù)轉(zhuǎn)換規(guī)則;
7、基于所述數(shù)據(jù)轉(zhuǎn)換規(guī)則,生成并執(zhí)行所述源表的遷移腳本。
8、第二方面,提供一種異構(gòu)數(shù)據(jù)庫遷移裝置,包括:
9、畫像生成模塊,用于基于源數(shù)據(jù)庫的類型和目標(biāo)數(shù)據(jù)庫的類型,生成數(shù)據(jù)畫像,所述數(shù)據(jù)畫像攜帶所述源數(shù)據(jù)庫中使用的字段類型與所述目標(biāo)數(shù)據(jù)庫支持的字段類型的比對信息以及遷移評估信息;
10、畫像解析模塊,用于基于所述數(shù)據(jù)畫像,對所述源數(shù)據(jù)庫中源表進(jìn)行解析,以輸出與所述源表對應(yīng)的目標(biāo)表中與各源字段對應(yīng)的目標(biāo)字段的數(shù)據(jù)列映射模式和輸出各源字段對應(yīng)的遷移評估指標(biāo),各數(shù)據(jù)列映射模式是由所述比對信息指示的,所述目標(biāo)字段用于標(biāo)記對應(yīng)的源字段的數(shù)據(jù)列的遷移目標(biāo)位置,所述遷移評估指標(biāo)是基于所述遷移評估信息和各源字段的數(shù)據(jù)列與對應(yīng)的數(shù)據(jù)列映射模式的匹配度確定的;
11、規(guī)則確定模塊,用于基于預(yù)設(shè)轉(zhuǎn)換策略和各源字段對應(yīng)的遷移評估指標(biāo)、數(shù)據(jù)列映射模式,確定從所述源表的各源字段的數(shù)據(jù)列提取數(shù)據(jù)到對應(yīng)的目標(biāo)字段的數(shù)據(jù)轉(zhuǎn)換規(guī)則;
12、遷移執(zhí)行模塊,用于基于所述數(shù)據(jù)轉(zhuǎn)換規(guī)則,生成并執(zhí)行所述源表的遷移腳本。
13、第三方面,提供一種電子設(shè)備,該電子設(shè)備包括:
14、至少一個(gè)處理器;
15、存儲(chǔ)器,與所述至少一個(gè)處理器連接;
16、其中,所述存儲(chǔ)器存儲(chǔ)有能被所述至少一個(gè)處理器執(zhí)行的指令,所述至少一個(gè)處理器通過執(zhí)行所述存儲(chǔ)器存儲(chǔ)的指令,所述至少一個(gè)處理器通過執(zhí)行所述存儲(chǔ)器存儲(chǔ)的指令實(shí)現(xiàn)前述的方法。
17、第四方面,提供一種機(jī)器可讀存儲(chǔ)介質(zhì),存儲(chǔ)有機(jī)器指令,當(dāng)所述機(jī)器指令在機(jī)器上運(yùn)行時(shí),使得機(jī)器執(zhí)行前述的方法。
18、本說明書實(shí)施例的方案中,源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的類型能夠決定源端多種字段類型和目標(biāo)端多種字段類型,通過數(shù)據(jù)畫像(是表現(xiàn)源端和目標(biāo)端兩端數(shù)據(jù)庫的字段和數(shù)據(jù)特征差異特點(diǎn)的畫像,不是一端數(shù)據(jù)庫的畫像)能夠表現(xiàn)源端與目標(biāo)端字段定義、數(shù)據(jù)特征的差異性以及遷移困難程度,其中通過所攜帶的比對信息能夠描述差異性以及所攜帶的遷移評估信息能夠描述遷移困難程度,從而自動(dòng)化地形成字段類型間的數(shù)據(jù)匹配性的度量,為源數(shù)據(jù)庫中各源字段的遷移提供字段類型選擇的基礎(chǔ),不需要限制目標(biāo)數(shù)據(jù)庫的類型。而不是依據(jù)源數(shù)據(jù)庫的類型選擇匹配的目標(biāo)數(shù)據(jù)庫的類型,業(yè)務(wù)應(yīng)用的更新迭代需求的目標(biāo)數(shù)據(jù)庫的類型是廣泛的,僅選擇匹配的目標(biāo)數(shù)據(jù)庫的類型,將限制遷移目標(biāo)數(shù)據(jù)庫,難以支撐業(yè)務(wù)應(yīng)用的更新迭代。
19、本說明書實(shí)施例的方案中,按照從數(shù)據(jù)畫像中解析的比對信息的指示,能夠依據(jù)在源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫的字段間匹配的字段類型,自動(dòng)得到源字段的數(shù)據(jù)列映射模式,數(shù)據(jù)列映射模式能指定提取數(shù)據(jù)的方式,源字段的數(shù)據(jù)列(實(shí)際數(shù)據(jù))與數(shù)據(jù)列映射模式的匹配度能夠描述數(shù)據(jù)損失情況,匹配度與遷移評估信息能夠共同表現(xiàn)當(dāng)前選擇的字段類型間的數(shù)據(jù)匹配情況,以在利用數(shù)據(jù)畫像輸出數(shù)據(jù)列映射模式(在當(dāng)前選擇的字段類型情況下)的同時(shí),評估遷移兩端的字段類型的數(shù)據(jù)匹配情況,為規(guī)則和腳本代碼自動(dòng)生成提供映射信息和評估信息的基礎(chǔ)。而不是利用數(shù)據(jù)畫像進(jìn)行目標(biāo)數(shù)據(jù)庫選型。
20、本說明書實(shí)施例的方案中,預(yù)設(shè)轉(zhuǎn)換策略能夠提供符合遷移要求的轉(zhuǎn)換規(guī)則的方式,能夠通過遷移評估指標(biāo)表現(xiàn)的數(shù)據(jù)匹配(或損失)情況自動(dòng)判斷是否符合遷移要求,從而能決策是否通過輸出的數(shù)據(jù)列映射模式裝載數(shù)據(jù)轉(zhuǎn)換規(guī)則,通過數(shù)據(jù)轉(zhuǎn)換規(guī)則提供數(shù)據(jù)庫間實(shí)例化的數(shù)據(jù)遷移操作,以形成(包含操作指令的)遷移腳本的當(dāng)前配置信息,為腳本自動(dòng)生成和執(zhí)行提供符合遷移要求的當(dāng)前配置信息的基礎(chǔ)。最后,通過數(shù)據(jù)轉(zhuǎn)換規(guī)則,自動(dòng)化生成和執(zhí)行腳本,在不限制目標(biāo)數(shù)據(jù)庫選型范圍情況下實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫自動(dòng)化地遷移,并且不需要人工介入操作處理、不需要考慮數(shù)據(jù)庫間的兼容性,有效保障異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)遷移的可靠性、遷移效率,降低數(shù)據(jù)遷移的復(fù)雜性和成本,能夠適用于國外和國產(chǎn)數(shù)據(jù)庫的環(huán)境,并為國產(chǎn)化數(shù)據(jù)庫改造帶來便捷和保障。
21、本說明書實(shí)施例的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說明。
1.一種異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,在所述基于源數(shù)據(jù)庫的類型和目標(biāo)數(shù)據(jù)庫的類型,生成數(shù)據(jù)畫像之前,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,所述基于源數(shù)據(jù)庫的類型和目標(biāo)數(shù)據(jù)庫的類型,生成數(shù)據(jù)畫像,包括:
4.根據(jù)權(quán)利要求1所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,所述基于所述數(shù)據(jù)畫像,對所述源數(shù)據(jù)庫中源表進(jìn)行解析,以輸出與所述源表對應(yīng)的目標(biāo)表中與各源字段對應(yīng)的目標(biāo)字段的數(shù)據(jù)列映射模式和輸出各源字段對應(yīng)的遷移評估指標(biāo),包括:
5.根據(jù)權(quán)利要求4所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,所述基于所述數(shù)據(jù)畫像,對所述源數(shù)據(jù)庫中源表進(jìn)行解析,以輸出與所述源表對應(yīng)的目標(biāo)表中與各源字段對應(yīng)的目標(biāo)字段的數(shù)據(jù)列映射模式和輸出各源字段對應(yīng)的遷移評估指標(biāo),還包括:
6.根據(jù)權(quán)利要求1所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,所述基于預(yù)設(shè)轉(zhuǎn)換策略和各源字段對應(yīng)的遷移評估指標(biāo)、數(shù)據(jù)列映射模式,確定從所述源表的各源字段的數(shù)據(jù)列提取數(shù)據(jù)到對應(yīng)的目標(biāo)字段的數(shù)據(jù)轉(zhuǎn)換規(guī)則,包括:
7.根據(jù)權(quán)利要求6所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,其中基于所述源數(shù)據(jù)庫中支持的字段類型的第一集合與所述目標(biāo)數(shù)據(jù)庫支持的字段類型的第二集合,確定所述第二源字段的數(shù)據(jù)轉(zhuǎn)換規(guī)則,包括:
8.根據(jù)權(quán)利要求1所述的異構(gòu)數(shù)據(jù)庫遷移方法,其特征在于,所述基于所述數(shù)據(jù)轉(zhuǎn)換規(guī)則,生成并執(zhí)行所述源表的遷移腳本,包括:
9.一種異構(gòu)數(shù)據(jù)庫遷移裝置,其特征在于,包括:
10.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括: