分布式數(shù)據(jù)庫的數(shù)據(jù)遷移方法與裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及分布式數(shù)據(jù)庫技術(shù)領(lǐng)域,特別是涉及一種分布式數(shù)據(jù)庫的數(shù)據(jù)迀移方法與裝置。
【背景技術(shù)】
[0002]分布式數(shù)據(jù)庫是指數(shù)據(jù)分存在計(jì)算機(jī)網(wǎng)絡(luò)中的各臺(tái)計(jì)算機(jī)(S卩服務(wù)節(jié)點(diǎn))上的數(shù)據(jù)庫。分布式數(shù)據(jù)庫利用高速計(jì)算機(jī)網(wǎng)絡(luò)將物理上分散的多個(gè)數(shù)據(jù)存儲(chǔ)單元連接起來組成一個(gè)邏輯上統(tǒng)一的數(shù)據(jù)庫。分布式數(shù)據(jù)庫的基本思想是將原來集中式數(shù)據(jù)庫中的數(shù)據(jù)分散存儲(chǔ)到多個(gè)通過網(wǎng)絡(luò)連接的服務(wù)節(jié)點(diǎn)上,以獲取更大的存儲(chǔ)容量和更高的并發(fā)訪問量。近年來,隨著數(shù)據(jù)量的高速增長,分布式數(shù)據(jù)庫技術(shù)也得到了快速的發(fā)展,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫開始從集中式模型向分布式架構(gòu)發(fā)展,基于關(guān)系型的分布式數(shù)據(jù)庫在保留了傳統(tǒng)數(shù)據(jù)庫的數(shù)據(jù)模型和基本特征下,從集中式存儲(chǔ)走向分布式存儲(chǔ),從集中式計(jì)算走向分布式計(jì)算。
[0003]隨著分布式數(shù)據(jù)庫處理的業(yè)務(wù)量的增大,使用過程中時(shí)常會(huì)出現(xiàn)分布式數(shù)據(jù)庫中某一服務(wù)節(jié)點(diǎn)的磁盤容量不夠或者某一服務(wù)節(jié)點(diǎn)數(shù)據(jù)處理壓力過載的情況,此時(shí),則需要將該服務(wù)節(jié)點(diǎn)上的數(shù)據(jù)迀移到其他的或者新增的服務(wù)節(jié)點(diǎn)上,以實(shí)現(xiàn)對該服務(wù)節(jié)點(diǎn)的擴(kuò)容。
[0004]而現(xiàn)有的將服務(wù)節(jié)點(diǎn)上的數(shù)據(jù)進(jìn)行迀移時(shí),需要技術(shù)人員手動(dòng)進(jìn)行數(shù)據(jù)迀移。即,技術(shù)人員需要確定待擴(kuò)容的服務(wù)節(jié)點(diǎn)(源端服務(wù)節(jié)點(diǎn)),使用硬盤等存儲(chǔ)介質(zhì)將數(shù)據(jù)從該服務(wù)節(jié)點(diǎn)中導(dǎo)出,然后再通過硬盤等存儲(chǔ)介質(zhì)將導(dǎo)出的數(shù)據(jù)導(dǎo)入至其他的或者新增的服務(wù)節(jié)點(diǎn)(即目標(biāo)端服務(wù)節(jié)點(diǎn))上。
[0005]可見,現(xiàn)有的這種手動(dòng)進(jìn)行數(shù)據(jù)迀移的方案,整個(gè)數(shù)據(jù)迀移過程中都需技術(shù)人員參與,因此,會(huì)占用大量的人力資源。不僅如此,由于所迀移的數(shù)據(jù)需要先經(jīng)歷從源端服務(wù)節(jié)點(diǎn)中導(dǎo)出的階段、再經(jīng)歷導(dǎo)入目標(biāo)端服務(wù)節(jié)點(diǎn)的階段,所耗費(fèi)的時(shí)間長,最終導(dǎo)致數(shù)據(jù)迀移的效率低。
【發(fā)明內(nèi)容】
[0006]鑒于現(xiàn)有的數(shù)據(jù)迀移方案在進(jìn)行數(shù)據(jù)迀移時(shí),存在占用大量人力資源以及數(shù)據(jù)迀移效率低的問題,提出了本發(fā)明以便提供一種克服上述問題的分布式數(shù)據(jù)庫的數(shù)據(jù)迀移方法與裝置。
[0007]依據(jù)本發(fā)明的一個(gè)方面,提供了一種分布式數(shù)據(jù)庫的數(shù)據(jù)迀移方法,包括:獲取數(shù)據(jù)迀移參數(shù),其中,所述數(shù)據(jù)迀移參數(shù)包括:待迀移的業(yè)務(wù)表分片信息、源端服務(wù)節(jié)點(diǎn)信息以及目標(biāo)端服務(wù)節(jié)點(diǎn)信息;以及依據(jù)所述數(shù)據(jù)迀移參數(shù),控制源端服務(wù)節(jié)點(diǎn)與目標(biāo)端服務(wù)節(jié)點(diǎn)之間的數(shù)據(jù)迀移。
[0008]優(yōu)選地,依據(jù)所述配置文件控制源端服務(wù)節(jié)點(diǎn)與目標(biāo)端服務(wù)節(jié)點(diǎn)之間的數(shù)據(jù)迀移的步驟,進(jìn)一步包括:依據(jù)所述源端服務(wù)節(jié)點(diǎn)信息確定源端服務(wù)節(jié)點(diǎn),依據(jù)所述目標(biāo)端服務(wù)節(jié)點(diǎn)信息確定目標(biāo)端服務(wù)節(jié)點(diǎn);控制所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn)。
[0009]優(yōu)選地,所述控制所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn)的步驟,進(jìn)一步包括:遠(yuǎn)程釋放所述源端服務(wù)節(jié)點(diǎn)上、所述業(yè)務(wù)表分片信息對應(yīng)的業(yè)務(wù)表分片的服務(wù)進(jìn)程;指示所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn),以及指示所述目標(biāo)端服務(wù)節(jié)點(diǎn)接收所述源端服務(wù)節(jié)點(diǎn)發(fā)送的所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù);遠(yuǎn)程恢復(fù)所述業(yè)務(wù)表分片信息所對應(yīng)的業(yè)務(wù)表分片在所述目標(biāo)端服務(wù)節(jié)點(diǎn)上的服務(wù)進(jìn)程。
[0010]優(yōu)選地,所述遠(yuǎn)程釋放所述源端服務(wù)節(jié)點(diǎn)上、所述業(yè)務(wù)表分片信息所對應(yīng)的業(yè)務(wù)表分片的服務(wù)進(jìn)程的步驟,進(jìn)一步包括:向所述源端服務(wù)節(jié)點(diǎn)發(fā)送用于釋放所述業(yè)務(wù)表分片的服務(wù)進(jìn)程的第一指令,以供所述源端服務(wù)節(jié)點(diǎn)依據(jù)所述指示釋放所述業(yè)務(wù)表分片的服務(wù)進(jìn)程。
[0011]優(yōu)選地,所述指示所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn)的步驟,進(jìn)一步包括:向所述源端服務(wù)節(jié)點(diǎn)發(fā)送數(shù)據(jù)迀移指令,其中,所述數(shù)據(jù)迀移指令中攜帶有所述業(yè)務(wù)表分片信息、以及所述目標(biāo)端服務(wù)節(jié)點(diǎn)信息。
[0012]優(yōu)選地,所述指示所述目標(biāo)端服務(wù)節(jié)點(diǎn)接收所述源端服務(wù)節(jié)點(diǎn)發(fā)送的所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)的步驟,進(jìn)一步包括:向所述目標(biāo)端服務(wù)節(jié)點(diǎn)發(fā)送數(shù)據(jù)接收指令,其中,所述數(shù)據(jù)接收指令中攜帶有所述業(yè)務(wù)表分片信息、以及所述源端服務(wù)節(jié)點(diǎn)信息。
[0013]優(yōu)選地,所述遠(yuǎn)程恢復(fù)所述業(yè)務(wù)表分片信息所對應(yīng)的業(yè)務(wù)表分片在所述目標(biāo)端服務(wù)節(jié)點(diǎn)上的服務(wù)進(jìn)程的步驟,進(jìn)一步包括:向所述目標(biāo)端服務(wù)節(jié)點(diǎn)發(fā)送用于恢復(fù)所述業(yè)務(wù)表分片的服務(wù)進(jìn)程的第二指令,以供所述目標(biāo)端服務(wù)節(jié)點(diǎn)依據(jù)所述指示建立所述業(yè)務(wù)表分片的服務(wù)進(jìn)程。
[0014]優(yōu)選地,所述方法還包括:檢查在所述目標(biāo)端服務(wù)節(jié)點(diǎn)上存儲(chǔ)的所述業(yè)務(wù)表分片對應(yīng)的線上服務(wù)是否正常;若正常,則返回用于指示所述業(yè)務(wù)表分片迀移成功的信息。
[0015]優(yōu)選地,所述檢查所述業(yè)務(wù)表分片對應(yīng)的線上服務(wù)是否正常的步驟,進(jìn)一步包括:檢查所述業(yè)務(wù)表分片對應(yīng)的主服務(wù)進(jìn)程是否正常;檢查所述所述業(yè)務(wù)表分片對應(yīng)的同步進(jìn)程是否正常,其中,所述同步進(jìn)程用于表示與所述業(yè)務(wù)表分片對應(yīng)的主服務(wù)進(jìn)程和從服務(wù)進(jìn)程同步的進(jìn)程;若均正常,則確定所述業(yè)務(wù)表分片的線上服務(wù)正常。
[0016]優(yōu)選地,所述獲取數(shù)據(jù)迀移參數(shù)的步驟,進(jìn)一步包括:從配置文件中提取業(yè)務(wù)表分片信息、源端服務(wù)節(jié)點(diǎn)信息以及目標(biāo)端服務(wù)節(jié)點(diǎn)信息,作為所述數(shù)據(jù)迀移參數(shù)。
[0017]優(yōu)選地,所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)包括:業(yè)務(wù)表分片的數(shù)據(jù)、業(yè)務(wù)表分片對應(yīng)的日志信息。
[0018]優(yōu)選地,所述源端服務(wù)節(jié)點(diǎn)信息為源端服務(wù)節(jié)點(diǎn)號,所述目標(biāo)端服務(wù)節(jié)點(diǎn)信息為目標(biāo)端服務(wù)節(jié)點(diǎn)號。
[0019]依據(jù)本發(fā)明的另一個(gè)方面,提供了一種分布式數(shù)據(jù)庫的數(shù)據(jù)迀移裝置,包括:獲取模塊,用于獲取數(shù)據(jù)迀移參數(shù),其中,所述數(shù)據(jù)迀移參數(shù)包括:待迀移的業(yè)務(wù)表分片信息、源端服務(wù)節(jié)點(diǎn)信息以及目標(biāo)端服務(wù)節(jié)點(diǎn)信息;以及控制模塊,用于依據(jù)所述數(shù)據(jù)迀移參數(shù),控制源端服務(wù)節(jié)點(diǎn)與目標(biāo)端服務(wù)節(jié)點(diǎn)之間的數(shù)據(jù)迀移。
[0020]優(yōu)選地,所述控制模塊包括:服務(wù)節(jié)點(diǎn)確定模塊,用于依據(jù)所述源端服務(wù)節(jié)點(diǎn)信息確定源端服務(wù)節(jié)點(diǎn),依據(jù)所述目標(biāo)端服務(wù)節(jié)點(diǎn)信息確定目標(biāo)端服務(wù)節(jié)點(diǎn);迀移控制模塊,用于控制所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn)。[0021 ]優(yōu)選地,所述迀移控制模塊包括:釋放子模塊,用于遠(yuǎn)程釋放所述源端服務(wù)節(jié)點(diǎn)上、所述業(yè)務(wù)表分片信息對應(yīng)的業(yè)務(wù)表分片的服務(wù)進(jìn)程;指示子模塊,用于指示所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn),以及指示所述目標(biāo)端服務(wù)節(jié)點(diǎn)接收所述源端服務(wù)節(jié)點(diǎn)發(fā)送的所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù);恢復(fù)子模塊,用于遠(yuǎn)程恢復(fù)所述業(yè)務(wù)表分片信息所對應(yīng)的業(yè)務(wù)表分片在所述目標(biāo)端服務(wù)節(jié)點(diǎn)上的服務(wù)進(jìn)程。
[0022]優(yōu)選地,所述釋放子模塊具體用于:向所述源端服務(wù)節(jié)點(diǎn)發(fā)送用于釋放所述業(yè)務(wù)表分片的服務(wù)進(jìn)程的第一指令,以供所述源端服務(wù)節(jié)點(diǎn)依據(jù)所述指示釋放所述業(yè)務(wù)表分片的服務(wù)進(jìn)程。
[0023]優(yōu)選地,所述指示子模塊指示所述源端服務(wù)節(jié)點(diǎn)將所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)迀移至所述目標(biāo)端服務(wù)節(jié)點(diǎn)時(shí):向所述源端服務(wù)節(jié)點(diǎn)發(fā)送數(shù)據(jù)迀移指令,其中,所述數(shù)據(jù)迀移指令中攜帶有所述業(yè)務(wù)表分片信息、以及所述目標(biāo)端服務(wù)節(jié)點(diǎn)信息。
[0024]優(yōu)選地,所述指示子模塊指示所述目標(biāo)端服務(wù)節(jié)點(diǎn)接收所述源端服務(wù)節(jié)點(diǎn)發(fā)送的所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)時(shí):向所述目標(biāo)端服務(wù)節(jié)點(diǎn)發(fā)送數(shù)據(jù)接收指令,其中,所述數(shù)據(jù)接收指令中攜帶有所述業(yè)務(wù)表分片信息、以及所述源端服務(wù)節(jié)點(diǎn)信息。
[0025]優(yōu)選地,所述恢復(fù)子模塊具體用于:向所述目標(biāo)端服務(wù)節(jié)點(diǎn)發(fā)送用于恢復(fù)所述業(yè)務(wù)表分片的服務(wù)進(jìn)程的第二指令,以供所述目標(biāo)端服務(wù)節(jié)點(diǎn)依據(jù)所述指示建立所述業(yè)務(wù)表分片的服務(wù)進(jìn)程。
[0026]優(yōu)選地,所述裝置還包括:檢查模塊,用于檢查在所述目標(biāo)端服務(wù)節(jié)點(diǎn)上存儲(chǔ)的所述業(yè)務(wù)表分片對應(yīng)的線上服務(wù)是否正常;信息返回模塊,用于若所述檢查模塊的檢查結(jié)果為正常時(shí),則返回用于指示所述業(yè)務(wù)表分片迀移成功的信息。
[0027]優(yōu)選地,所述檢查模塊包括:主服務(wù)進(jìn)程檢查子模塊,用于檢查所述業(yè)務(wù)表分片對應(yīng)的主服務(wù)進(jìn)程是否正常;同步進(jìn)程檢查子模塊,用于檢查所述所述業(yè)務(wù)表分片對應(yīng)的同步進(jìn)程是否正常,其中,所述同步進(jìn)程用于表示與所述業(yè)務(wù)表分片對應(yīng)的主服務(wù)進(jìn)程和從服務(wù)進(jìn)程同步的進(jìn)程;確定子模塊,用于若均正常,則確定所述業(yè)務(wù)表分片的線上服務(wù)正常。
[0028]優(yōu)選地,所述獲取模塊具體用于:從配置文件中提取業(yè)務(wù)表分片信息、源端服務(wù)節(jié)點(diǎn)信息以及目標(biāo)端服務(wù)節(jié)點(diǎn)信息,作為所述數(shù)據(jù)迀移參數(shù)。
[0029]優(yōu)選地,所述業(yè)務(wù)表分片信息對應(yīng)的數(shù)據(jù)包括:業(yè)務(wù)表分片的數(shù)據(jù)、業(yè)務(wù)表分片對應(yīng)的日志信息。
[0030]優(yōu)選地,所述源端服務(wù)節(jié)點(diǎn)信息為源端服務(wù)節(jié)點(diǎn)號,所述目標(biāo)端服務(wù)節(jié)點(diǎn)信息為目標(biāo)端服務(wù)節(jié)點(diǎn)號。
[0031]本發(fā)明實(shí)施例提供的分布式數(shù)據(jù)庫的數(shù)據(jù)迀移方案,由登錄的任意一臺(tái)分布式數(shù)據(jù)庫中的服務(wù)節(jié)點(diǎn)調(diào)用自動(dòng)迀移腳本,由自動(dòng)迀移腳本控制服務(wù)節(jié)點(diǎn)來自動(dòng)完成數(shù)據(jù)迀移。本發(fā)明實(shí)施例提供的分布式數(shù)據(jù)庫的數(shù)據(jù)迀移方案,由于是由登錄的服務(wù)節(jié)點(diǎn)自動(dòng)完成數(shù)據(jù)的迀移,在數(shù)據(jù)迀移的過程中無需技術(shù)人員參與,因此,能夠節(jié)省大量的人力資源。
[0032]此外,本發(fā)明實(shí)施例提供的分布式數(shù)據(jù)庫的數(shù)據(jù)迀移方案,直接將待迀移的數(shù)據(jù)從源服務(wù)節(jié)點(diǎn)中導(dǎo)入至目標(biāo)服務(wù)節(jié)點(diǎn),相較于現(xiàn)有的數(shù)據(jù)迀移方案需要將迀移的數(shù)據(jù)導(dǎo)入存儲(chǔ)介質(zhì)中,再由存儲(chǔ)介質(zhì)中將迀移的數(shù)據(jù)導(dǎo)入目標(biāo)端服務(wù)節(jié)點(diǎn)能夠縮短數(shù)據(jù)迀移的時(shí)間,因此,能夠提升數(shù)據(jù)迀移的效率。
[0033]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0034]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,