本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種數(shù)據(jù)處理方法和裝置。
背景技術(shù):
::傳統(tǒng)的關(guān)系型數(shù)據(jù)庫例如甲骨文(oracle)的使用廣泛,功能強(qiáng)大,可以存儲大量的數(shù)據(jù),不過關(guān)系型數(shù)據(jù)庫的運(yùn)營成本高。為了提高存儲效率,在關(guān)系型數(shù)據(jù)庫中一般至存儲重要的或核心的數(shù)據(jù)。將關(guān)系型數(shù)據(jù)庫中的存儲的全部或部分?jǐn)?shù)據(jù)轉(zhuǎn)移到其他非關(guān)系型數(shù)據(jù)庫中的情況經(jīng)常發(fā)生。數(shù)據(jù)庫中一般以表(table)的形式存儲數(shù)據(jù),關(guān)系型數(shù)據(jù)庫向其他非關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移數(shù)據(jù)可以理解為對表進(jìn)行轉(zhuǎn)移。在轉(zhuǎn)移的過程中,可能會導(dǎo)致轉(zhuǎn)移到其他非關(guān)系型數(shù)據(jù)庫后其中一些表在轉(zhuǎn)移的過程中出現(xiàn)數(shù)據(jù)錯(cuò)誤而不可用。例如從關(guān)系型數(shù)據(jù)庫中將多張表導(dǎo)入到非關(guān)系型數(shù)據(jù)庫如Hadoop數(shù)據(jù)庫(Hadoopdatabase,HBase)中一張表的情況下,很容易在轉(zhuǎn)移過程中出現(xiàn)數(shù)據(jù)錯(cuò)誤,導(dǎo)致轉(zhuǎn)移到HBase中的那一張表不可用,甚至還會影響到其他表的可用性??梢娺@種出錯(cuò)的情況為數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性帶來很大影響。目前只能在數(shù)據(jù)轉(zhuǎn)移完成后發(fā)現(xiàn)轉(zhuǎn)移后的表不可用,無法有效解決轉(zhuǎn)移過程中出錯(cuò)為數(shù)據(jù)轉(zhuǎn)移帶來的影響。技術(shù)實(shí)現(xiàn)要素:為了解決上述技術(shù)問題,本發(fā)明提供了一種數(shù)據(jù)處理方法和裝置,根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件用于校驗(yàn)所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,在校驗(yàn)成功后導(dǎo)入所述非關(guān)系型數(shù)據(jù)庫,使得在數(shù)據(jù)轉(zhuǎn)移過程可以有效避免轉(zhuǎn)移出現(xiàn)錯(cuò)誤的待轉(zhuǎn)移任務(wù),提高了數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性。本發(fā)明實(shí)施例公開了如下技術(shù)方案:一種數(shù)據(jù)處理方法,應(yīng)用于從關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)轉(zhuǎn)移的過程中,所述方法包括:從所述關(guān)系型數(shù)據(jù)庫獲取待轉(zhuǎn)移任務(wù),所述待轉(zhuǎn)移任務(wù)包括所述關(guān)系型 數(shù)據(jù)庫中待轉(zhuǎn)移表的數(shù)據(jù)或待轉(zhuǎn)移表被切分后的子表的數(shù)據(jù);將所述待轉(zhuǎn)移任務(wù)保存在元數(shù)據(jù)庫中;在將所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫之前,從所述元數(shù)據(jù)庫中獲取所述待轉(zhuǎn)移任務(wù),并根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件;校驗(yàn)所述HDFS臨時(shí)文件,以判斷所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,若校驗(yàn)成功,將所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫;若校驗(yàn)失敗,重新從所述關(guān)系型數(shù)據(jù)庫生成所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)。可選的,在所述從所述關(guān)系型數(shù)據(jù)庫獲取待轉(zhuǎn)移任務(wù)之前,還包括:判斷所述關(guān)系型數(shù)據(jù)庫中所述待轉(zhuǎn)移表是否具有主鍵,若所述待轉(zhuǎn)移表不具有主鍵,獲取所述待轉(zhuǎn)移表的邏輯地址;若獲取用于切分的預(yù)設(shè)份數(shù),以所述最大邏輯地址和最小邏輯地址作為切分邊界值,將所述待轉(zhuǎn)移表切分為預(yù)設(shè)份數(shù)個(gè)子表,并針對子表生成所述待轉(zhuǎn)移任務(wù);若未獲取用于切分的所述預(yù)設(shè)份數(shù),生成針對所述待轉(zhuǎn)移表的所述待轉(zhuǎn)移任務(wù)??蛇x的,所述獲取所述待轉(zhuǎn)移表的邏輯地址具體包括:獲取所述待轉(zhuǎn)移表的邏輯的地址中除最大邏輯地址外的其余邏輯地址;獲取所述最大邏輯地址所在數(shù)據(jù)塊;從所述文件塊中獲取所述最大邏輯地址。可選的,所述校驗(yàn)包括數(shù)量校驗(yàn)、全量校驗(yàn)或抽樣校驗(yàn)??蛇x的,所述關(guān)系型數(shù)據(jù)庫具體為甲骨文數(shù)據(jù)庫;所述非關(guān)系型數(shù)據(jù)庫具體為HBase。一種數(shù)據(jù)處理裝置,應(yīng)用于從關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)轉(zhuǎn)移的過程中,包括:第一獲取單元,用于從所述關(guān)系型數(shù)據(jù)庫獲取待轉(zhuǎn)移任務(wù),所述待轉(zhuǎn)移任務(wù)包括所述關(guān)系型數(shù)據(jù)庫中待轉(zhuǎn)移表的數(shù)據(jù)或待轉(zhuǎn)移表被切分后的子表的數(shù)據(jù);保存單元,用于將所述待轉(zhuǎn)移任務(wù)保存在元數(shù)據(jù)庫中;第一生成單元,用于在將所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫之前,從所述元數(shù)據(jù)庫中獲取所述待轉(zhuǎn)移任務(wù),并根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件;校驗(yàn)單元,用于校驗(yàn)所述HDFS臨時(shí)文件,以判斷所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,若校驗(yàn)成功,觸發(fā)導(dǎo)入單元,若校驗(yàn)失敗,觸發(fā)第二生成單元,所述導(dǎo)入單元,用于將所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫;所述第二生成單元,用于重新從所述關(guān)系型數(shù)據(jù)庫生成所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)??蛇x的,還包括:判斷單元,用于在觸發(fā)所述第一獲取單元之前,判斷所述關(guān)系型數(shù)據(jù)庫中所述待轉(zhuǎn)移表是否具有主鍵,第二獲取單元,用于若所述判斷單元的判斷結(jié)果為所述待轉(zhuǎn)移表不具有主鍵,獲取所述待轉(zhuǎn)移表的邏輯地址;切分單元,用于若所述第二獲取單元還獲取用于切分的預(yù)設(shè)份數(shù),以所述最大邏輯地址和最小邏輯地址作為切分邊界值,將所述待轉(zhuǎn)移表切分為預(yù)設(shè)份數(shù)個(gè)子表,并針對子表生成所述待轉(zhuǎn)移任務(wù);所述第二生成單元還用于若所述第二獲取單元未獲取用于切分的所述預(yù)設(shè)份數(shù),生成針對所述待轉(zhuǎn)移表的所述待轉(zhuǎn)移任務(wù)。可選的,所述第二獲取單元具體包括:第一獲取子單元,用于獲取所述待轉(zhuǎn)移表的邏輯的地址中除最大邏輯地址外的其余邏輯地址;第二獲取子單元,用于獲取所述最大邏輯地址所在數(shù)據(jù)塊;第三獲取子單元,用于從所述文件塊中獲取所述最大邏輯地址??蛇x的,所述校驗(yàn)包括數(shù)量校驗(yàn)、全量校驗(yàn)或抽樣校驗(yàn)??蛇x的,所述關(guān)系型數(shù)據(jù)庫具體為甲骨文數(shù)據(jù)庫;所述非關(guān)系型數(shù)據(jù)庫具體為HBase。由上述技術(shù)方案可以看出,在將待轉(zhuǎn)移任務(wù)從關(guān)系型數(shù)據(jù)庫導(dǎo)入非關(guān)系型數(shù)據(jù)庫前,先保存在元數(shù)據(jù)庫中,并在需要向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入所述待轉(zhuǎn)移任務(wù)前,根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件,通過校驗(yàn)所述HDFS臨時(shí)文件來判斷所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,且在校驗(yàn)成功時(shí)向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,在校驗(yàn)不成功時(shí)不向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,并從所述關(guān)系型數(shù)據(jù)庫重新獲取所述待轉(zhuǎn)移任務(wù),使得在數(shù)據(jù)轉(zhuǎn)移過程可以有效避免向被轉(zhuǎn)移的所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入出現(xiàn)錯(cuò)誤的待轉(zhuǎn)移任務(wù),提高了數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性,有效解決轉(zhuǎn)移過程中數(shù)據(jù)出錯(cuò)為數(shù)據(jù)轉(zhuǎn)移帶來的影響。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法的方法流程圖;圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用于無主鍵表轉(zhuǎn)移方法的方法流程圖;圖3為本發(fā)明實(shí)施例提供的一種獲取邏輯地址方法的方法流程圖;圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置的裝置結(jié)構(gòu)圖;圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置的裝置結(jié)構(gòu)圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所 有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。傳統(tǒng)的從關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移數(shù)據(jù),在轉(zhuǎn)移的過程中沒有有效的手段獲知待轉(zhuǎn)移數(shù)據(jù)是否會出現(xiàn)錯(cuò)誤。然而數(shù)據(jù)轉(zhuǎn)移過程中數(shù)據(jù)出錯(cuò)的情況并不罕見。例如從關(guān)系型數(shù)據(jù)庫中將多張表導(dǎo)入到非關(guān)系型數(shù)據(jù)庫HBase中一張表的情況下,就很容易在轉(zhuǎn)移過程中出現(xiàn)數(shù)據(jù)錯(cuò)誤,一旦出錯(cuò),會導(dǎo)致轉(zhuǎn)移到HBase中的那一張表不可用,甚至還會影響到其他表的可用性??梢娺@種出錯(cuò)的情況為數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性帶來很大影響。而且對于轉(zhuǎn)移后的不可用的表,還需要通過排查才能確定是否是轉(zhuǎn)移過程中的數(shù)據(jù)出錯(cuò)造成的,浪費(fèi)人力物力,效率很低。由于目前只能在數(shù)據(jù)轉(zhuǎn)移完成后發(fā)現(xiàn)轉(zhuǎn)移后的表不可用,無法有效解決轉(zhuǎn)移過程中出錯(cuò)為數(shù)據(jù)轉(zhuǎn)移帶來的影響。為此,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理方法和裝置,在將待轉(zhuǎn)移任務(wù)從關(guān)系型數(shù)據(jù)庫導(dǎo)入非關(guān)系型數(shù)據(jù)庫前,先保存在元數(shù)據(jù)庫中,并在需要向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入所述待轉(zhuǎn)移任務(wù)前,根據(jù)所述待轉(zhuǎn)移任務(wù)生成分布式文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)臨時(shí)文件,通過校驗(yàn)所述HDFS臨時(shí)文件來判斷所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,且在校驗(yàn)成功時(shí)向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,在校驗(yàn)不成功時(shí)不向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,并從所述關(guān)系型數(shù)據(jù)庫重新獲取所述待轉(zhuǎn)移任務(wù),使得在數(shù)據(jù)轉(zhuǎn)移過程可以有效避免向被轉(zhuǎn)移的所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入出現(xiàn)錯(cuò)誤的待轉(zhuǎn)移任務(wù),提高了數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性,有效解決轉(zhuǎn)移過程中數(shù)據(jù)出錯(cuò)為數(shù)據(jù)轉(zhuǎn)移帶來的影響。在關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移數(shù)據(jù)的過程中,有別于具有主鍵的表,對于不具有主鍵(primarykey)的表,傳統(tǒng)的做法無法對其進(jìn)行切分,只能通過單線程轉(zhuǎn)移,速度很慢,如果該無主鍵表的容量很大,會嚴(yán)重影響數(shù)據(jù)轉(zhuǎn)移的速度。為此,本發(fā)明實(shí)施例提供了一種應(yīng)用于無主鍵表轉(zhuǎn)移的方法,通過獲取所述無主鍵表的邏輯地址,并根據(jù)最大邏輯地址和最小邏輯地址為切分邊界值,將所述無主鍵表切分為預(yù)設(shè)份數(shù)。在本發(fā)明實(shí)施例中,大容量的無主鍵表可以被切分為多份,以多線程進(jìn)行轉(zhuǎn)移,大大提高了數(shù)據(jù)轉(zhuǎn)移的速度。本發(fā)明實(shí)施例還提供了多種校驗(yàn)方式,主要包括數(shù)量校驗(yàn)、全量校驗(yàn)和抽樣校驗(yàn)。針對不同的應(yīng)用場景選擇合適的校驗(yàn)方式實(shí)施,以達(dá)到場景所需 的校驗(yàn)效果。實(shí)施例一圖1為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法的方法流程圖,應(yīng)用于從關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)轉(zhuǎn)移的過程中,所述方法包括:S101:從所述關(guān)系型數(shù)據(jù)庫獲取待轉(zhuǎn)移任務(wù),所述待轉(zhuǎn)移任務(wù)包括所述關(guān)系型數(shù)據(jù)庫中待轉(zhuǎn)移表的數(shù)據(jù)或待轉(zhuǎn)移表被切分后的子表的數(shù)據(jù)。舉例說明,所述待轉(zhuǎn)移任務(wù)可以包含待轉(zhuǎn)移表中所需轉(zhuǎn)移的所有數(shù)據(jù),或者當(dāng)待轉(zhuǎn)移表容量較大被切分為多個(gè)子表時(shí),所述待轉(zhuǎn)移任務(wù)可以包含一個(gè)子表中所需轉(zhuǎn)移的所有數(shù)據(jù)。可選的,在本發(fā)明實(shí)施例中,所述關(guān)系型數(shù)據(jù)庫具體可以為甲骨文數(shù)據(jù)庫;所述非關(guān)系型數(shù)據(jù)庫具體可以為HBase。S102:將所述待轉(zhuǎn)移任務(wù)保存在元數(shù)據(jù)庫中。舉例說明,所述元數(shù)據(jù)庫在本發(fā)明實(shí)施例中主要用于提供存儲空間,可以將所述待轉(zhuǎn)移任務(wù)存儲在非緩存類型的所述關(guān)系型元數(shù)據(jù)庫中,所述存儲空間可以理解為一種數(shù)據(jù)庫(database)。由于存儲在非緩存類型的存儲空間中,所述待轉(zhuǎn)移任務(wù)不會因?yàn)闄C(jī)器重啟或其他情況而丟失,而且可以將所述待轉(zhuǎn)移任務(wù)預(yù)先生成好,并存儲在所述元數(shù)據(jù)庫中,而不需要立刻就進(jìn)行數(shù)據(jù)轉(zhuǎn)移操作,可以等到何時(shí)的時(shí)間再通過從所述元數(shù)據(jù)庫中調(diào)取所述待轉(zhuǎn)移任務(wù)進(jìn)行數(shù)據(jù)轉(zhuǎn)移操作,提高了本發(fā)明實(shí)施例的可操作性,更加適于實(shí)施。本發(fā)明實(shí)施例中,所述元數(shù)據(jù)庫可以為MySQL。S103:在將所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫之前,從所述元數(shù)據(jù)庫中獲取所述待轉(zhuǎn)移任務(wù),并根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件。舉例說明,本發(fā)明不限定S103必須在執(zhí)行S102后立刻執(zhí)行,如S102的說明,S103可以在需要開始向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入所述待轉(zhuǎn)移任務(wù)時(shí)執(zhí)行。所述待轉(zhuǎn)移任務(wù)由于難以被直接進(jìn)行數(shù)據(jù)檢測,故需要進(jìn)行格式轉(zhuǎn)換,將所述待轉(zhuǎn)移任務(wù)轉(zhuǎn)換為較容易進(jìn)行校驗(yàn)的HDFS臨時(shí)文件。S104:校驗(yàn)所述HDFS臨時(shí)文件,以判斷所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性。若校驗(yàn)成功,執(zhí)行S105;若校驗(yàn)失敗,執(zhí)行S106。S105:將所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫。S106:重新從所述關(guān)系型數(shù)據(jù)庫生成所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)。舉例說明,由于所述HDFS臨時(shí)文件為通過所述待轉(zhuǎn)移任務(wù)生成,若校驗(yàn)成功,可以理解為所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)所包含的數(shù)據(jù)的正確性達(dá)到數(shù)據(jù)轉(zhuǎn)移的標(biāo)準(zhǔn),將所述待轉(zhuǎn)移任務(wù)導(dǎo)入所述非關(guān)系型數(shù)據(jù)庫中的目標(biāo)表中后,所述目標(biāo)表不會因?yàn)樗龃D(zhuǎn)移任務(wù)中的數(shù)據(jù)導(dǎo)致不可用。若校驗(yàn)失敗,可以理解為所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)所包含的數(shù)據(jù)的正確性沒有達(dá)到數(shù)據(jù)轉(zhuǎn)移的標(biāo)準(zhǔn),其中的錯(cuò)誤數(shù)據(jù)可能會導(dǎo)致數(shù)據(jù)轉(zhuǎn)移操作后,導(dǎo)入所述待轉(zhuǎn)移任務(wù)的目標(biāo)表不可用。在校驗(yàn)失敗的情況下,不會將所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫,而是從所述關(guān)系型數(shù)據(jù)庫中重新獲取所述待轉(zhuǎn)移任務(wù),并繼續(xù)執(zhí)行S102至S104的步驟,繼續(xù)對所述待轉(zhuǎn)移任務(wù)進(jìn)行校驗(yàn)。通過校驗(yàn)在數(shù)據(jù)轉(zhuǎn)移之前就可以有效的發(fā)現(xiàn)待轉(zhuǎn)移任務(wù)的數(shù)據(jù)錯(cuò)誤,降低了數(shù)據(jù)轉(zhuǎn)移的出錯(cuò)概率。舉例說明,本發(fā)明實(shí)施例提供了至少三種校驗(yàn)的方式,數(shù)量校驗(yàn)、全量校驗(yàn)或抽樣校驗(yàn)。其中數(shù)量校驗(yàn)是通過比較源端的關(guān)系型數(shù)據(jù)庫和即將導(dǎo)入目標(biāo)端的非關(guān)系型數(shù)據(jù)庫中的臨時(shí)文件中數(shù)據(jù)的行數(shù),關(guān)系型數(shù)據(jù)庫通過count(*)來獲取總的行數(shù),非關(guān)系型數(shù)據(jù)庫在生成的HDFS文件頭部可以直接獲取到總的行數(shù)。全量校驗(yàn)是通過一種稱為MapReduce的方法分布式的進(jìn)行所有生成的臨時(shí)HDFS文件的數(shù)據(jù)進(jìn)行校驗(yàn),這種校驗(yàn)最可靠,也最耗時(shí)。抽樣校驗(yàn)是指在全量校驗(yàn)的基礎(chǔ)上加入一些過濾條件,只對一部分?jǐn)?shù)據(jù)進(jìn)行校驗(yàn),效率更高??梢姡槍Σ煌膽?yīng)用場景選擇合適的校驗(yàn)方式實(shí)施,以達(dá)到場景所需的校驗(yàn)效果。由上述實(shí)施例可以看出,在將待轉(zhuǎn)移任務(wù)從關(guān)系型數(shù)據(jù)庫導(dǎo)入非關(guān)系型數(shù)據(jù)庫前,先保存在元數(shù)據(jù)庫中,并在需要向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入所述待轉(zhuǎn)移任務(wù)前,根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件,通過校驗(yàn)所述HDFS臨時(shí)文件來判斷所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,且在校驗(yàn)成功時(shí)向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,在校驗(yàn)不成功時(shí)不向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,并 從所述關(guān)系型數(shù)據(jù)庫重新獲取所述待轉(zhuǎn)移任務(wù),使得在數(shù)據(jù)轉(zhuǎn)移過程可以有效避免向被轉(zhuǎn)移的所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入出現(xiàn)錯(cuò)誤的待轉(zhuǎn)移任務(wù),提高了數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性,有效解決轉(zhuǎn)移過程中數(shù)據(jù)出錯(cuò)為數(shù)據(jù)轉(zhuǎn)移帶來的影響。實(shí)施例二在本發(fā)明實(shí)施例中所述的主鍵(primarykey)標(biāo)識了表中每一行數(shù)據(jù)的唯一性,和提供了快速查找數(shù)據(jù)的功能,若沒有主鍵,數(shù)據(jù)只能被順序掃描,無法做到并發(fā)查找。在關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移數(shù)據(jù)的過程中,有別于具有主鍵的表,對于不具有主鍵的表,傳統(tǒng)的做法無法對其進(jìn)行切分,只能通過單線程轉(zhuǎn)移,速度很慢,如果該無主鍵表的容量很大,會嚴(yán)重影響數(shù)據(jù)轉(zhuǎn)移的速度。為此,本發(fā)明實(shí)施例提供了一種應(yīng)用于無主鍵表轉(zhuǎn)移的方法,在圖1所對應(yīng)實(shí)施例的基礎(chǔ)上,圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用于無主鍵表轉(zhuǎn)移方法的方法流程圖,在所述從所述關(guān)系型數(shù)據(jù)庫獲取待轉(zhuǎn)移任務(wù)之前,所述方法包括:S201:判斷所述關(guān)系型數(shù)據(jù)庫中所述待轉(zhuǎn)移表是否具有主鍵,若所述待轉(zhuǎn)移表不具有主鍵,執(zhí)行S202。舉例說明,對于有主鍵表,在數(shù)據(jù)轉(zhuǎn)移過程中,將關(guān)系型數(shù)據(jù)庫中表的主鍵作為需要轉(zhuǎn)入的非關(guān)系型數(shù)據(jù)庫中表的鍵(rowkey)。對于大容量的有主鍵表可以根據(jù)該表的主鍵進(jìn)行切分。本發(fā)明實(shí)施例主要關(guān)注對無主鍵表的處理,當(dāng)需要從關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移個(gè)無主鍵表到非關(guān)系型數(shù)據(jù)庫,目前只能使用單線程進(jìn)行數(shù)據(jù)轉(zhuǎn)移操作,且即使一個(gè)無主鍵表的容量過大需要切分也會因?yàn)闆]有主鍵無法對其進(jìn)行切分。在本發(fā)明實(shí)施例中使用了代替主鍵功能的另一種參數(shù):邏輯地址(rowid),并使用邏輯地址來作為切分關(guān)系型數(shù)據(jù)庫中無主鍵表的切分依據(jù)。S202:獲取所述待轉(zhuǎn)移表的邏輯地址;若獲取用于切分的預(yù)設(shè)份數(shù),執(zhí)行S203,若未獲取用于切分的所述預(yù)設(shè)份數(shù),執(zhí)行S204。舉例說明,由于本發(fā)明實(shí)施例希望進(jìn)一步解決的是對無主鍵表的切分,故在獲取了所述待轉(zhuǎn)移表的邏輯地址后,還需要確定是否需要切分。所述預(yù)設(shè)份數(shù)可以理解為用戶希望對所述待轉(zhuǎn)移表切分的份數(shù),或者也可以理解為 根據(jù)所述待轉(zhuǎn)移表的容量或預(yù)期的數(shù)據(jù)轉(zhuǎn)移速度所預(yù)先設(shè)定的切分份數(shù)。所述預(yù)設(shè)份數(shù)可以為至少兩份。針對獲取邏輯地址,可選的,本發(fā)明實(shí)施例還提供了一種獲取邏輯地址的方法,尤其適用于oracle類型的關(guān)系型數(shù)據(jù)庫中,根據(jù)oracle類型的關(guān)系型數(shù)據(jù)庫所提供的相關(guān)數(shù)據(jù)接口,可以通過本方法快速有效的獲取無主鍵表的邏輯地址。圖3為本發(fā)明實(shí)施例提供的一種獲取邏輯地址方法的方法流程圖,所述方法包括:S301:獲取所述待轉(zhuǎn)移表的邏輯的地址中除最大邏輯地址外的其余邏輯地址。S302:獲取所述最大邏輯地址所在數(shù)據(jù)塊(block)。S303:從所述文件塊中獲取所述最大邏輯地址。舉例說明,在本發(fā)明實(shí)施例中,尤其是針對oracle類型的關(guān)系型數(shù)據(jù)庫??梢酝ㄟ^Oracle提供的系統(tǒng)表DBA_EXTEMTS、DBA_OBJECTS和DATA_OBJECT_ID來獲取待遷移表用于切分的邊界rowid,由于系統(tǒng)表的限制無法一次獲得所有的邊界rowid,故通過上述S301到S303三個(gè)步驟來獲取所需要的邊界rowid值??梢酝ㄟ^結(jié)構(gòu)化查詢語句(StructuredQueryLanguage,SQL)實(shí)現(xiàn)步驟S301到S303所示的功能。S203:以所述最大邏輯地址和最小邏輯地址作為切分邊界值,將所述待轉(zhuǎn)移表切分為預(yù)設(shè)份數(shù)個(gè)子表,并針對子表生成所述待轉(zhuǎn)移任務(wù)。舉例說明,現(xiàn)有技術(shù)中無法對無主鍵表進(jìn)行切分是因?yàn)闆]有主鍵,缺少切分的依據(jù)。以S202獲取的所述邏輯地址的最大值和最小值作為切分邊界值也就是是切分的依據(jù),將所述待轉(zhuǎn)移表切分成預(yù)設(shè)份數(shù)。假設(shè)所述預(yù)設(shè)份數(shù)為兩份,則將所述最大邏輯地址和最小邏輯地址所劃定的邏輯地址區(qū)間分為兩份,得到兩個(gè)子表。若所述預(yù)設(shè)份數(shù)為三份,則將所述邏輯地址區(qū)間分為三份,得到三個(gè)子表,依次類推。通過切分無主鍵的所述待轉(zhuǎn)移表,可以多個(gè)子表,每個(gè)子表可以得到一個(gè)待轉(zhuǎn)移任務(wù),多個(gè)待轉(zhuǎn)移任務(wù)可以并行完成,由此達(dá)到并行轉(zhuǎn)移一個(gè)無主鍵表的效果。S204:生成針對所述待轉(zhuǎn)移表的所述待轉(zhuǎn)移任務(wù)。舉例說明,若為獲取所述預(yù)設(shè)份數(shù),可以理解為所述待轉(zhuǎn)移表雖然沒有主鍵,但是其容量不需要進(jìn)行切分也可以滿足數(shù)據(jù)轉(zhuǎn)移的時(shí)間要求。可見,通過獲取所述無主鍵表的邏輯地址,并根據(jù)最大邏輯地址和最小邏輯地址為切分邊界值,將所述無主鍵表切分為預(yù)設(shè)份數(shù)。大容量的無主鍵表可以被切分為多份,以多線程進(jìn)行轉(zhuǎn)移,大大提高了數(shù)據(jù)轉(zhuǎn)移的速度。實(shí)施例三圖4為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置的裝置圖,應(yīng)用于從關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫進(jìn)行數(shù)據(jù)轉(zhuǎn)移的過程中,包括:第一獲取單元401,用于從所述關(guān)系型數(shù)據(jù)庫獲取待轉(zhuǎn)移任務(wù),所述待轉(zhuǎn)移任務(wù)包括所述關(guān)系型數(shù)據(jù)庫中待轉(zhuǎn)移表的數(shù)據(jù)或待轉(zhuǎn)移表被切分后的子表的數(shù)據(jù)。舉例說明,所述待轉(zhuǎn)移任務(wù)可以包含待轉(zhuǎn)移表中所需轉(zhuǎn)移的所有數(shù)據(jù),或者當(dāng)待轉(zhuǎn)移表容量較大被切分為多個(gè)子表時(shí),所述待轉(zhuǎn)移任務(wù)可以包含一個(gè)子表中所需轉(zhuǎn)移的所有數(shù)據(jù)。可選的,在本發(fā)明實(shí)施例中,所述關(guān)系型數(shù)據(jù)庫具體可以為甲骨文數(shù)據(jù)庫;所述非關(guān)系型數(shù)據(jù)庫具體可以為HBase。保存單元402,用于將所述待轉(zhuǎn)移任務(wù)保存在元數(shù)據(jù)庫中。舉例說明,所述元數(shù)據(jù)庫在本發(fā)明實(shí)施例中主要用于提供存儲空間,可以將所述待轉(zhuǎn)移任務(wù)存儲在非緩存類型的所述關(guān)系型元數(shù)據(jù)庫中,所述存儲空間可以理解為一種數(shù)據(jù)庫(database)。由于存儲在非緩存類型的存儲空間中,所述待轉(zhuǎn)移任務(wù)不會因?yàn)闄C(jī)器重啟或其他情況而丟失,而且可以將所述待轉(zhuǎn)移任務(wù)預(yù)先生成好,并存儲在所述元數(shù)據(jù)庫中,而不需要立刻就進(jìn)行數(shù)據(jù)轉(zhuǎn)移操作,可以等到何時(shí)的時(shí)間再通過從所述元數(shù)據(jù)庫中調(diào)取所述待轉(zhuǎn)移任務(wù)進(jìn)行數(shù)據(jù)轉(zhuǎn)移操作,提高了本發(fā)明實(shí)施例的可操作性,更加適于實(shí)施。本發(fā)明實(shí)施例中,所述元數(shù)據(jù)庫可以為MySQL。第一生成單元403,用于在將所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫之前,從所述元數(shù)據(jù)庫中獲取所述待轉(zhuǎn)移任務(wù),并根據(jù)所述待轉(zhuǎn)移任務(wù)生成 HDFS臨時(shí)文件。舉例說明,本發(fā)明不限定所述第一生成單元403的觸發(fā)必須在觸發(fā)所述保存單元402后立刻執(zhí)行,如所述保存單元402的說明,所述第一生成單元403可以在需要開始向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入所述待轉(zhuǎn)移任務(wù)時(shí)觸發(fā)。所述待轉(zhuǎn)移任務(wù)由于難以被直接進(jìn)行數(shù)據(jù)檢測,故需要進(jìn)行格式轉(zhuǎn)換,將所述待轉(zhuǎn)移任務(wù)轉(zhuǎn)換為較容易進(jìn)行校驗(yàn)的HDFS臨時(shí)文件。校驗(yàn)單元404,用于校驗(yàn)所述HDFS臨時(shí)文件,以判斷所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,若校驗(yàn)成功,觸發(fā)導(dǎo)入單元405,若校驗(yàn)失敗,觸發(fā)第二生成單元406。所述導(dǎo)入單元405,用于將所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫。所述第二生成單元406,用于重新從所述關(guān)系型數(shù)據(jù)庫生成所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)。舉例說明,由于所述HDFS臨時(shí)文件為通過所述待轉(zhuǎn)移任務(wù)生成,若校驗(yàn)成功,可以理解為所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)所包含的數(shù)據(jù)的正確性達(dá)到數(shù)據(jù)轉(zhuǎn)移的標(biāo)準(zhǔn),所述導(dǎo)入單元405將所述待轉(zhuǎn)移任務(wù)導(dǎo)入所述非關(guān)系型數(shù)據(jù)庫中的目標(biāo)表中后,所述目標(biāo)表不會因?yàn)樗龃D(zhuǎn)移任務(wù)中的數(shù)據(jù)導(dǎo)致不可用。若校驗(yàn)失敗,可以理解為所述HDFS臨時(shí)文件對應(yīng)的所述待轉(zhuǎn)移任務(wù)所包含的數(shù)據(jù)的正確性沒有達(dá)到數(shù)據(jù)轉(zhuǎn)移的標(biāo)準(zhǔn),其中的錯(cuò)誤數(shù)據(jù)可能會導(dǎo)致數(shù)據(jù)轉(zhuǎn)移操作后,導(dǎo)入所述待轉(zhuǎn)移任務(wù)的目標(biāo)表不可用。在校驗(yàn)失敗的情況下,不會將所述待轉(zhuǎn)移任務(wù)導(dǎo)入到所述非關(guān)系型數(shù)據(jù)庫,而是觸發(fā)所述第二生成單元406從所述關(guān)系型數(shù)據(jù)庫中重新獲取所述待轉(zhuǎn)移任務(wù),并重新出發(fā)所述第一獲取單元401,繼續(xù)對所述待轉(zhuǎn)移任務(wù)進(jìn)行校驗(yàn)。通過校驗(yàn)在數(shù)據(jù)轉(zhuǎn)移之前就可以有效的發(fā)現(xiàn)待轉(zhuǎn)移任務(wù)的數(shù)據(jù)錯(cuò)誤,降低了數(shù)據(jù)轉(zhuǎn)移的出錯(cuò)概率。舉例說明,本發(fā)明實(shí)施例提供了至少三種校驗(yàn)的方式,數(shù)量校驗(yàn)、全量校驗(yàn)或抽樣校驗(yàn)。其中數(shù)量校驗(yàn)是通過比較源端的關(guān)系型數(shù)據(jù)庫和即將導(dǎo)入目標(biāo)端的非關(guān)系型數(shù)據(jù)庫中的臨時(shí)文件中數(shù)據(jù)的行數(shù),關(guān)系型數(shù)據(jù)庫通過count(*)來獲取總的行數(shù),非關(guān)系型數(shù)據(jù)庫在生成的HDFS文件頭部可以直接 獲取到總的行數(shù)。全量校驗(yàn)是通過一種稱為MapReduce的方法分布式的進(jìn)行所有生成的臨時(shí)HDFS文件的數(shù)據(jù)進(jìn)行校驗(yàn),這種校驗(yàn)最可靠,也最耗時(shí)。抽樣校驗(yàn)是指在全量校驗(yàn)的基礎(chǔ)上加入一些過濾條件,只對一部分?jǐn)?shù)據(jù)進(jìn)行校驗(yàn),效率更高。可見,針對不同的應(yīng)用場景選擇合適的校驗(yàn)方式實(shí)施,以達(dá)到場景所需的校驗(yàn)效果。由上述實(shí)施例可以看出,在將待轉(zhuǎn)移任務(wù)從關(guān)系型數(shù)據(jù)庫導(dǎo)入非關(guān)系型數(shù)據(jù)庫前,先保存在元數(shù)據(jù)庫中,并在需要向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入所述待轉(zhuǎn)移任務(wù)前,根據(jù)所述待轉(zhuǎn)移任務(wù)生成HDFS臨時(shí)文件,通過校驗(yàn)所述HDFS臨時(shí)文件來判斷所述待轉(zhuǎn)移任務(wù)中數(shù)據(jù)的正確性,且在校驗(yàn)成功時(shí)向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,在校驗(yàn)不成功時(shí)不向所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入,并從所述關(guān)系型數(shù)據(jù)庫重新獲取所述待轉(zhuǎn)移任務(wù),使得在數(shù)據(jù)轉(zhuǎn)移過程可以有效避免向被轉(zhuǎn)移的所述非關(guān)系型數(shù)據(jù)庫導(dǎo)入出現(xiàn)錯(cuò)誤的待轉(zhuǎn)移任務(wù),提高了數(shù)據(jù)轉(zhuǎn)移的穩(wěn)定性,有效解決轉(zhuǎn)移過程中數(shù)據(jù)出錯(cuò)為數(shù)據(jù)轉(zhuǎn)移帶來的影響。實(shí)施例四在本發(fā)明實(shí)施例中所述的主鍵(primarykey)標(biāo)識了表中每一行數(shù)據(jù)的唯一性,和提供了快速查找數(shù)據(jù)的功能,若沒有主鍵,數(shù)據(jù)只能被順序掃描,無法做到并發(fā)查找。在關(guān)系型數(shù)據(jù)庫向非關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移數(shù)據(jù)的過程中,有別于具有主鍵的表,對于不具有主鍵的表,傳統(tǒng)的做法無法對其進(jìn)行切分,只能通過單線程轉(zhuǎn)移,速度很慢,如果該無主鍵表的容量很大,會嚴(yán)重影響數(shù)據(jù)轉(zhuǎn)移的速度。在圖4所對應(yīng)實(shí)施例的基礎(chǔ)上,圖5為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理裝置的裝置結(jié)構(gòu)圖。還包括:判斷單元501,用于在觸發(fā)所述第一獲取單元401之前,判斷所述關(guān)系型數(shù)據(jù)庫中所述待轉(zhuǎn)移表是否具有主鍵。舉例說明,對于有主鍵表,在數(shù)據(jù)轉(zhuǎn)移過程中,將關(guān)系型數(shù)據(jù)庫中表的主鍵作為需要轉(zhuǎn)入的非關(guān)系型數(shù)據(jù)庫中表的鍵(rowkey)。對于大容量的有主鍵表可以根據(jù)該表的主鍵進(jìn)行切分。本發(fā)明實(shí)施例主要關(guān)注對無主鍵表的處理,當(dāng)需要從關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移個(gè)無主鍵表到非關(guān)系型數(shù)據(jù)庫,目前只能使用單線程進(jìn)行數(shù)據(jù)轉(zhuǎn)移操作,且即使一個(gè)無主鍵表的容量過大需要切分也會 因?yàn)闆]有主鍵無法對其進(jìn)行切分。在本發(fā)明實(shí)施例中使用了代替主鍵功能的另一種參數(shù):邏輯地址(rowid),并使用邏輯地址來作為切分關(guān)系型數(shù)據(jù)庫中無主鍵表的切分依據(jù)。第二獲取單元502,用于若所述判斷單元501的判斷結(jié)果為所述待轉(zhuǎn)移表不具有主鍵,獲取所述待轉(zhuǎn)移表的邏輯地址。舉例說明,由于本發(fā)明實(shí)施例希望進(jìn)一步解決的是對無主鍵表的切分,故在獲取了所述待轉(zhuǎn)移表的邏輯地址后,還需要確定是否需要切分。所述預(yù)設(shè)份數(shù)可以理解為用戶希望對所述待轉(zhuǎn)移表切分的份數(shù),或者也可以理解為根據(jù)所述待轉(zhuǎn)移表的容量或預(yù)期的數(shù)據(jù)轉(zhuǎn)移速度所預(yù)先設(shè)定的切分份數(shù)。所述預(yù)設(shè)份數(shù)可以為至少兩份。針對獲取邏輯地址,可選的,本發(fā)明實(shí)施例還提供了一種獲取邏輯地址的方法,尤其適用于oracle類型的關(guān)系型數(shù)據(jù)庫中,根據(jù)oracle類型的關(guān)系型數(shù)據(jù)庫所提供的相關(guān)數(shù)據(jù)接口,可以快速有效的獲取無主鍵表的邏輯地址。如圖5所示,所述第二獲取單元502具體包括:第一獲取子單元5021,用于獲取所述待轉(zhuǎn)移表的邏輯的地址中除最大邏輯地址外的其余邏輯地址。第二獲取子單元5022,用于獲取所述最大邏輯地址所在數(shù)據(jù)塊。第三獲取子單元5023,用于從所述文件塊中獲取所述最大邏輯地址。舉例說明,在本發(fā)明實(shí)施例中,尤其是針對oracle類型的關(guān)系型數(shù)據(jù)庫。可以通過Oracle提供的系統(tǒng)表DBA_EXTEMTS、DBA_OBJECTS和DATA_OBJECT_ID來獲取待遷移表用于切分的邊界rowid,由于系統(tǒng)表的限制無法一次獲得所有的邊界rowid,故通過上述S301到S303三個(gè)步驟來獲取所需要的邊界rowid值。可以通過SQL實(shí)現(xiàn)第一獲取子單元5021至第三獲取子單元5023的功能。切分單元503,用于若所述第二獲取單元502還獲取用于切分的預(yù)設(shè)份數(shù),以所述最大邏輯地址和最小邏輯地址作為切分邊界值,將所述待轉(zhuǎn)移表切分為預(yù)設(shè)份數(shù)個(gè)子表,并針對子表生成所述待轉(zhuǎn)移任務(wù)。舉例說明,現(xiàn)有技術(shù)中無法對無主鍵表進(jìn)行切分是因?yàn)闆]有主鍵,缺少切分的依據(jù)。以所述第二獲取單元502獲取的所述邏輯地址的最大值和最小 值作為切分邊界值也就是是切分的依據(jù),將所述待轉(zhuǎn)移表切分成預(yù)設(shè)份數(shù)。假設(shè)所述預(yù)設(shè)份數(shù)為兩份,則將所述最大邏輯地址和最小邏輯地址所劃定的邏輯地址區(qū)間分為兩份,得到兩個(gè)子表。若所述預(yù)設(shè)份數(shù)為三份,則將所述邏輯地址區(qū)間分為三份,得到三個(gè)子表,依次類推。通過切分無主鍵的所述待轉(zhuǎn)移表,可以多個(gè)子表,每個(gè)子表可以得到一個(gè)待轉(zhuǎn)移任務(wù),多個(gè)待轉(zhuǎn)移任務(wù)可以并行完成,由此達(dá)到并行轉(zhuǎn)移一個(gè)無主鍵表的效果。所述第二生成單元504還用于若所述第二獲取單元502未獲取用于切分的所述預(yù)設(shè)份數(shù),生成針對所述待轉(zhuǎn)移表的所述待轉(zhuǎn)移任務(wù)。舉例說明,若為獲取所述預(yù)設(shè)份數(shù),可以理解為所述待轉(zhuǎn)移表雖然沒有主鍵,但是其容量不需要進(jìn)行切分也可以滿足數(shù)據(jù)轉(zhuǎn)移的時(shí)間要求??梢姡ㄟ^獲取所述無主鍵表的邏輯地址,并根據(jù)最大邏輯地址和最小邏輯地址為切分邊界值,將所述無主鍵表切分為預(yù)設(shè)份數(shù)。大容量的無主鍵表可以被切分為多份,以多線程進(jìn)行轉(zhuǎn)移,大大提高了數(shù)據(jù)轉(zhuǎn)移的速度。通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法中的全部或部分步驟可借助軟件加通用硬件平臺的方式來實(shí)現(xiàn)。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者諸如媒體網(wǎng)關(guān)等網(wǎng)絡(luò)通信設(shè)備)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于設(shè)備及系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的設(shè)備及系統(tǒng)實(shí)施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè) 網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,并非用于限定本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
:的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3