本發(fā)明涉及計(jì)算機(jī)
技術(shù)領(lǐng)域:
,尤其涉及一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法及裝置。
背景技術(shù):
:在分布式數(shù)據(jù)庫系統(tǒng)中,主節(jié)點(diǎn)將數(shù)據(jù)表存儲(chǔ)的多條數(shù)據(jù)記錄分成多個(gè)數(shù)據(jù)表并分配到多個(gè)從節(jié)點(diǎn)上。當(dāng)需要查詢某些數(shù)據(jù)記錄時(shí),要將每個(gè)從節(jié)點(diǎn)上的數(shù)據(jù)表中存儲(chǔ)的相關(guān)聯(lián)的數(shù)據(jù)記錄連接起來,具體實(shí)現(xiàn)過程中,是對每兩個(gè)數(shù)據(jù)表進(jìn)行連接,因而,這種數(shù)據(jù)記錄的查詢方式稱為兩表連接方式,以下進(jìn)行舉例說明。假設(shè),有兩個(gè)從節(jié)點(diǎn):從節(jié)點(diǎn)1和從節(jié)點(diǎn)2,從節(jié)點(diǎn)1存儲(chǔ)有數(shù)據(jù)表1,從節(jié)點(diǎn)2存儲(chǔ)有數(shù)據(jù)表2,要進(jìn)行兩個(gè)從節(jié)點(diǎn)的數(shù)據(jù)表的連接操作,可以將從節(jié)點(diǎn)1的數(shù)據(jù)表1的數(shù)據(jù)記錄傳輸?shù)綇墓?jié)點(diǎn)2上進(jìn)行連接,也可以將從節(jié)點(diǎn)2的數(shù)據(jù)表2的數(shù)據(jù)記錄傳輸?shù)綇墓?jié)點(diǎn)1上進(jìn)行連接。由于在現(xiàn)有的分布式數(shù)據(jù)庫系統(tǒng)中,每個(gè)從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄分配之后就不再變化,即從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄就固定了,這樣,會(huì)導(dǎo)致如下問題:如果從節(jié)點(diǎn)1或者從節(jié)點(diǎn)2中需要傳輸?shù)臄?shù)據(jù)記錄較多,就會(huì)增加通信負(fù)擔(dān)。由于在實(shí)際的兩表連接時(shí),從節(jié)點(diǎn)1的部分?jǐn)?shù)據(jù)記錄并不能和從節(jié)點(diǎn)2的數(shù)據(jù)記錄匹配,就不能進(jìn)行連接,對于無法進(jìn)行連接的數(shù)據(jù)記錄也進(jìn)行傳輸,就會(huì)增加通信負(fù)擔(dān),增加了查詢處理的代價(jià)?,F(xiàn)有技術(shù)中,通常采用半連接和布魯連接這兩種方式進(jìn)行兩表的連接,以避免傳輸這些不能進(jìn)行連接的數(shù)據(jù)記錄,以減少通信負(fù)擔(dān)。下面例舉兩個(gè)數(shù)據(jù)表說明這兩種連接方式。節(jié)點(diǎn)1上的數(shù)據(jù)表1:數(shù)據(jù)記錄ID字段A字段B1A1B12A2B43A3B34A4B4節(jié)點(diǎn)2上的數(shù)據(jù)表2:數(shù)據(jù)記錄ID字段B字段C1B1C12B5C23B2C34B2C4基于以上例舉的兩個(gè)數(shù)據(jù)表,連接字段為字段B,半連接的方式:在從節(jié)點(diǎn)1對數(shù)據(jù)表1進(jìn)行投影得到連接字段的不重復(fù)集合{B1,B3,B4},并傳輸至節(jié)點(diǎn)2;在節(jié)點(diǎn)2,將從節(jié)點(diǎn)1傳輸過來的投影結(jié)果和數(shù)據(jù)表2進(jìn)行自然連接,得到數(shù)據(jù)表2的約減:數(shù)據(jù)記錄ID字段B字段C1B1C1將上述數(shù)據(jù)表2約減后的數(shù)據(jù)記錄傳輸至從節(jié)點(diǎn)1;在從節(jié)點(diǎn)1,對數(shù)據(jù)表2約減后的數(shù)據(jù)記錄和數(shù)據(jù)表1進(jìn)行連接。并得到的結(jié)果為:數(shù)據(jù)記錄ID字段A字段B字段C1A1B1C1布魯連接:仍基于以上例舉的數(shù)據(jù)表1和數(shù)據(jù)表2進(jìn)行說明:在從節(jié)點(diǎn)1對數(shù)據(jù)表1進(jìn)行投影得到連接字段的不重復(fù)集合{B1,B3,B4};通過使用hash函數(shù),將該不重復(fù)集合中的字段映射為位向量10110,例如,通過hash函數(shù)hash(B1)=1,設(shè)置位向量的第1位為1,hash(B3)=3,設(shè)置位向量的第3位為1,hash(B4)=4,設(shè)置位向量的第4位為1;將該位向量發(fā)送至節(jié)點(diǎn)2;在節(jié)點(diǎn)2,對表2中的每一條數(shù)據(jù)記錄使用同一個(gè)hash函數(shù)進(jìn)行計(jì)算,hash(B1)=1,為位向量匹配,該條數(shù)據(jù)記錄滿足條件,繼續(xù)計(jì)算hash(B2)=2,位向量的第2位為0,即該條數(shù)據(jù)記錄不滿足條件。最終得到滿足條件的記錄為數(shù)據(jù)記錄ID字段B字段C1B1C1將上述數(shù)據(jù)表2約減后的數(shù)據(jù)記錄傳輸至從節(jié)點(diǎn)1;在從節(jié)點(diǎn)1,對數(shù)據(jù)表2約減后的數(shù)據(jù)記錄和數(shù)據(jù)表1進(jìn)行連接。從上述列舉的兩種數(shù)據(jù)表的連接方式中,可以看出,雖然最終減少了不能連接的數(shù)據(jù)記錄的傳輸,但是由于在現(xiàn)有的分布式數(shù)據(jù)庫系統(tǒng)中,從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的數(shù)量是固定的,如果在從節(jié)點(diǎn)2中存儲(chǔ)的數(shù)據(jù)記錄較多,在實(shí)現(xiàn)過程中,從節(jié)點(diǎn)1和從節(jié)點(diǎn)2之間所涉及到的投影后的數(shù)據(jù)的傳輸和約減后的數(shù)據(jù)記錄的傳輸過程中,通信負(fù)擔(dān)仍然不小。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例的目的是提供一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法及裝置,用于解決現(xiàn)有的分布式數(shù)據(jù)庫中因從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的數(shù)量固定而導(dǎo)致采用兩表連接方式查詢數(shù)據(jù)記錄時(shí)的通信負(fù)擔(dān)較重的問題。本發(fā)明實(shí)施例的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法,應(yīng)用于分布式數(shù)據(jù)庫系統(tǒng)中,該方法包括:在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,判斷各個(gè)從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量;若是,將滿足數(shù)據(jù)遷移的觸發(fā)條件的所述從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到目標(biāo)從節(jié)點(diǎn)中存儲(chǔ);其中,所述數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄傳輸?shù)剿瞿繕?biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù);所述數(shù)據(jù)遷移的觸發(fā)條件為:在所述從節(jié)點(diǎn)中,滿足所述數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù)。較佳地,所述數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄到所述目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)最多,且該傳輸次數(shù)與所述分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值大于第一預(yù)設(shè)閾值。較佳地,所述數(shù)據(jù)遷移的觸發(fā)條件為:在所述從節(jié)點(diǎn)中,滿足所述數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù),與本從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)的比值大于第二預(yù)設(shè)閾值。較佳地,所述第一預(yù)設(shè)閾值為1/2;所述第二預(yù)設(shè)閾值為1/n,其中n為本從節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)。較佳地,該方法還包括:在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,統(tǒng)計(jì)所述從節(jié)點(diǎn)中的每條數(shù)據(jù)記錄傳輸?shù)礁鱾€(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)。較佳地,所述預(yù)設(shè)數(shù)量為所述分布式數(shù)據(jù)庫系統(tǒng)中所有所述從節(jié)點(diǎn)的數(shù)量。一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移裝置,該裝置包括:判斷模塊,用于:在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,判斷各個(gè)從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量;遷移模塊,用于:若是,將滿足數(shù)據(jù)遷移的觸發(fā)條件的所述從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到目標(biāo)從節(jié)點(diǎn)中存儲(chǔ);其中,所述數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄傳輸?shù)剿瞿繕?biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù);所述數(shù)據(jù)遷移的觸發(fā)條件為:在所述從節(jié)點(diǎn)中,滿足所述數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù)。較佳地,所述數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄到所述目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)最多,且該傳輸次數(shù)與所述分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值大于第一預(yù)設(shè)閾值。較佳地,所述數(shù)據(jù)遷移的觸發(fā)條件為:在所述從節(jié)點(diǎn)中,滿足所述數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù),與本從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)的比值大于第二預(yù)設(shè)閾值。較佳地,所述第一預(yù)設(shè)閾值為1/2;所述第二預(yù)設(shè)閾值為1/n,其中n為本從節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)。較佳地,該裝置還包括統(tǒng)計(jì)模塊;所述統(tǒng)計(jì)模塊,用于:在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,統(tǒng)計(jì)所述從節(jié)點(diǎn)中的每條數(shù)據(jù)記錄傳輸?shù)礁鱾€(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)。較佳地,所述預(yù)設(shè)數(shù)量為所述分布式數(shù)據(jù)庫系統(tǒng)中所有所述從節(jié)點(diǎn)的數(shù)量。本發(fā)明實(shí)施例的有益效果如下:由于分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行數(shù)據(jù)記錄的查詢過程中,其中一個(gè)從節(jié)點(diǎn)中的數(shù)據(jù)記錄要傳輸?shù)搅硪粡墓?jié)點(diǎn)(即目標(biāo)從節(jié)點(diǎn))中進(jìn)行連接,從節(jié)點(diǎn)中的一條數(shù)據(jù)記錄傳輸至哪一個(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)較多,說明該目標(biāo)從節(jié)點(diǎn)是該條數(shù)據(jù)記錄較佳的存儲(chǔ)從節(jié)點(diǎn),本發(fā)明實(shí)施例的方案中,在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,如果從節(jié)點(diǎn)中的數(shù)據(jù)記錄到一個(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù),即數(shù)據(jù)記錄滿足數(shù)據(jù)遷移條件,且該從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù),則該從節(jié)點(diǎn)滿足數(shù)據(jù)觸發(fā)條件,且滿足數(shù)據(jù)觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量達(dá)到預(yù)設(shè)數(shù)量,就將每個(gè)從節(jié)點(diǎn)中存儲(chǔ)的滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到該數(shù)據(jù)記錄對應(yīng)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù)的目標(biāo)從節(jié)點(diǎn)中存儲(chǔ),這樣,與現(xiàn)有技術(shù)相比,數(shù)據(jù)記錄的存儲(chǔ)位置就是動(dòng)態(tài)變化的,可以將兩個(gè)從節(jié)點(diǎn)之間連接次數(shù)較多的數(shù)據(jù)記錄存儲(chǔ)在同一個(gè)從節(jié)點(diǎn)中,因而在后續(xù)數(shù)據(jù)記錄的查詢過程中,就減少了對該條數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸,從而減少了通信負(fù)擔(dān),提高了數(shù)據(jù)處理效率。附圖說明圖1為本發(fā)明實(shí)施例提供的一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法流程圖;圖2為本發(fā)明實(shí)施例提供的一種分布式數(shù)據(jù)庫系統(tǒng)的示意圖;圖3為本發(fā)明實(shí)施例提供的一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移裝置示意圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對本發(fā)明提供的一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法及裝置進(jìn)行更詳細(xì)地說明。如圖1所示,本發(fā)明實(shí)施例提供一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法,該方法至少包括如下步驟:步驟110、在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,判斷各個(gè)從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量。步驟120、若是,將滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到目標(biāo)從節(jié)點(diǎn)中存儲(chǔ);其中,數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄傳輸?shù)侥繕?biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù);數(shù)據(jù)遷移的觸發(fā)條件為:在從節(jié)點(diǎn)中,滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù)。如果滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量未達(dá)到預(yù)設(shè)數(shù)量,則不進(jìn)行數(shù)據(jù)記錄的遷移。由于分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行數(shù)據(jù)記錄的查詢過程中,其中一個(gè)從節(jié)點(diǎn)中的數(shù)據(jù)記錄要傳輸?shù)搅硪粡墓?jié)點(diǎn)(即目標(biāo)從節(jié)點(diǎn))中進(jìn)行連接,從節(jié)點(diǎn)中的一條數(shù)據(jù)記錄傳輸至哪一個(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)較多,說明該目標(biāo)從節(jié)點(diǎn)是該條數(shù)據(jù)記錄較佳的存儲(chǔ)從節(jié)點(diǎn),本發(fā)明實(shí)施例的方案中,在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄的查詢后如果從節(jié)點(diǎn)中的數(shù)據(jù)記錄到一個(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù),即數(shù)據(jù)記錄滿足數(shù)據(jù)遷移條件,且該從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù),則該從節(jié)點(diǎn)滿足數(shù)據(jù)觸發(fā)條件,且滿足數(shù)據(jù)觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量達(dá)到預(yù)設(shè)數(shù)量,就將每個(gè)從節(jié)點(diǎn)中存儲(chǔ)的滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到該數(shù)據(jù)記錄對應(yīng)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù)的目標(biāo)從節(jié)點(diǎn)中存儲(chǔ),這樣,與現(xiàn)有技術(shù)相比,數(shù)據(jù)記錄的存儲(chǔ)位置就是動(dòng)態(tài)變化的,可以將兩個(gè)從節(jié)點(diǎn)之間連接次數(shù)較多的數(shù)據(jù)記錄存儲(chǔ)在同一個(gè)從節(jié)點(diǎn)中,因而在后續(xù)數(shù)據(jù)記錄的查詢的過程中,就減少了對該條數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸,從而減少了通信負(fù)擔(dān),提高了數(shù)據(jù)處理效率。上述數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù),其中的預(yù)設(shè)次數(shù)可以根據(jù)實(shí)際需要設(shè)置,在一種可能的實(shí)施例中,較佳地,數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)最多,且該傳輸次數(shù)與分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值大于第一預(yù)設(shè)閾值。也就是說,在所有的布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢中,數(shù)據(jù)記錄對應(yīng)的數(shù)據(jù)遷移的目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)最多,因而是最佳的存儲(chǔ)位置。較佳地,第一預(yù)設(shè)閾值為1/2。這樣可以保證要傳輸?shù)拇螖?shù)大于不傳輸?shù)拇螖?shù),以保證數(shù)據(jù)遷移的有效性,避免數(shù)據(jù)遷移次數(shù)過多或過少。為了進(jìn)一步提高數(shù)據(jù)遷移的有效性,以避免多次進(jìn)行數(shù)據(jù)遷移,可以進(jìn)一步限定數(shù)據(jù)遷移觸發(fā)條件中,滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù),較佳地,上述步驟110中數(shù)據(jù)遷移觸發(fā)條件包括:在從節(jié)點(diǎn)中,滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù),與本從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)的比值大于第二預(yù)設(shè)閾值。較佳地,第二預(yù)設(shè)閾值為1/n,其中n為本從節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)。應(yīng)當(dāng)指出的是,上述各個(gè)實(shí)施例中,滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量要達(dá)到預(yù)設(shè)數(shù)量:其中的預(yù)設(shè)數(shù)量可以是一個(gè),這樣,在分布式數(shù)據(jù)庫系統(tǒng)中只要有一個(gè)從節(jié)點(diǎn)滿足數(shù)據(jù)遷移的觸發(fā)條件就進(jìn)行數(shù)據(jù)遷移;其中的預(yù)設(shè)數(shù)量也可以是兩個(gè)以上,較佳地,上述預(yù)設(shè)數(shù)量為分布式數(shù)據(jù)庫系統(tǒng)中所有的從節(jié)點(diǎn)的數(shù)量,這樣,只有所有的從節(jié)點(diǎn)都滿足數(shù)據(jù)遷移的觸發(fā)條件才進(jìn)行數(shù)據(jù)遷移,即每個(gè)從節(jié)點(diǎn)都有數(shù)據(jù)記錄遷移到其它從節(jié)點(diǎn),也有從其它從節(jié)點(diǎn)遷移來的數(shù)據(jù)記錄,這樣可以避免某些從節(jié)點(diǎn)的數(shù)據(jù)記錄較多或較少,保證了各個(gè)從節(jié)點(diǎn)之間的數(shù)據(jù)均衡,進(jìn)而保證各個(gè)從節(jié)點(diǎn)的處理效率。較佳地,在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,統(tǒng)計(jì)從節(jié)點(diǎn)中的每條數(shù)據(jù)記錄傳輸?shù)礁鱾€(gè)目標(biāo)從節(jié)點(diǎn)的次數(shù),等等。應(yīng)當(dāng)指出的是,上述數(shù)據(jù)處理過程可以由分布式數(shù)據(jù)庫中的主節(jié)點(diǎn)執(zhí)行,例如,可以由各個(gè)從節(jié)點(diǎn)將本從節(jié)點(diǎn)統(tǒng)計(jì)的結(jié)果上報(bào)給主節(jié)點(diǎn),由主節(jié)點(diǎn)進(jìn)行處理?;蛘?,上述處理過程可以由分布式數(shù)據(jù)庫中的各個(gè)從節(jié)點(diǎn)配合執(zhí)行,例如,由每個(gè)從節(jié)點(diǎn)根據(jù)統(tǒng)計(jì)的結(jié)果進(jìn)行判斷本從節(jié)點(diǎn)是否滿足數(shù)據(jù)遷移的觸發(fā)條件并告知其它從節(jié)點(diǎn),以及接收其它從節(jié)點(diǎn)的判斷結(jié)果,進(jìn)而進(jìn)行后續(xù)處理。下面以具體的應(yīng)用場景為例,對本發(fā)明實(shí)施例提供的一種從節(jié)點(diǎn)中的數(shù)據(jù)記錄的遷移方法進(jìn)行更加詳細(xì)地說明。在本實(shí)施例的分布式數(shù)據(jù)庫系統(tǒng)中,如圖2所示,該分布式數(shù)據(jù)庫系統(tǒng)包括主節(jié)點(diǎn)和n個(gè)從節(jié)點(diǎn)。在每一個(gè)從節(jié)點(diǎn)中加入一個(gè)統(tǒng)計(jì)器模塊,統(tǒng)計(jì)各個(gè)從節(jié)點(diǎn)中每條數(shù)據(jù)記錄需要傳輸?shù)搅硪粋€(gè)從節(jié)點(diǎn)(即目標(biāo)從節(jié)點(diǎn))進(jìn)行連接的次數(shù)。例如,采用兩表連接方式查詢8次,在從節(jié)點(diǎn)1中,統(tǒng)計(jì)的結(jié)果如表1所示:本實(shí)施例中,數(shù)據(jù)遷移條件:數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)最多,且該傳輸次數(shù)與分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值大于1/2;數(shù)據(jù)遷移的觸發(fā)條件為:滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù),與本從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)的比值大于1/4。在8次采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢后,根據(jù)上述對從節(jié)點(diǎn)1的統(tǒng)計(jì)結(jié)果,可以看出:數(shù)據(jù)記錄ID為1的數(shù)據(jù)記錄,到目標(biāo)從節(jié)點(diǎn)2的傳輸次數(shù)最多,為6次,并且該傳輸次數(shù)與采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值3/4大于1/2,因而滿足數(shù)據(jù)記錄的遷移條件;數(shù)據(jù)記錄ID為2的數(shù)據(jù)記錄,到目標(biāo)從節(jié)點(diǎn)2的傳輸次數(shù)最多,為5次,并且該傳輸次數(shù)與采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值5/8大于1/2,因而滿足數(shù)據(jù)記錄的遷移條件;數(shù)據(jù)記錄ID為3的數(shù)據(jù)記錄,到目標(biāo)從節(jié)點(diǎn)n的傳輸次數(shù)最多,為7次,并且該傳輸次數(shù)與采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值7/8大于1/2,因而滿足數(shù)據(jù)記錄的遷移條件;數(shù)據(jù)記錄ID為4的數(shù)據(jù)記錄,到目標(biāo)從節(jié)點(diǎn)n的傳輸次數(shù)最多,為3次,但是該傳輸次數(shù)與采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值3/8不大于1/2,因而不滿足數(shù)據(jù)記錄的遷移條件;因此,滿足數(shù)據(jù)記錄的遷移條件的數(shù)據(jù)記錄包括數(shù)據(jù)記錄ID為1、2和3的3條數(shù)據(jù)記錄,與從節(jié)點(diǎn)1中存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)的比值3/4大于1/4,因而,主節(jié)點(diǎn)可以確定從節(jié)點(diǎn)1滿足數(shù)據(jù)遷移的觸發(fā)條件。對其它的從節(jié)點(diǎn)也進(jìn)行同樣的處理。如果,最終主節(jié)點(diǎn)判斷所有從節(jié)點(diǎn)都滿足數(shù)據(jù)遷移的觸發(fā)條件,就進(jìn)行數(shù)據(jù)遷移。進(jìn)行數(shù)據(jù)遷移時(shí),以從節(jié)點(diǎn)1為例,將數(shù)據(jù)記錄ID為1、2和3的數(shù)據(jù)記錄分別遷移到目標(biāo)從節(jié)點(diǎn)2、2、n中。遷移數(shù)據(jù)記錄完成后,由于記錄的物理存儲(chǔ)已經(jīng)改變,需要重新初始化統(tǒng)計(jì)表?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供一種從節(jié)點(diǎn)中的數(shù)據(jù)遷移的裝置,如圖3所示,該裝置包括判斷模塊301和遷移模塊302。判斷模塊301,在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,判斷各個(gè)從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)量;遷移模塊302,用于:若是,將滿足數(shù)據(jù)遷移的觸發(fā)條件的從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到目標(biāo)從節(jié)點(diǎn)中存儲(chǔ);其中,數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄傳輸?shù)侥繕?biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù);數(shù)據(jù)遷移的觸發(fā)條件為:在從節(jié)點(diǎn)中,滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù)。由于分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行數(shù)據(jù)記錄的查詢過程中,其中一個(gè)從節(jié)點(diǎn)中的數(shù)據(jù)記錄要傳輸?shù)搅硪粡墓?jié)點(diǎn)(即目標(biāo)從節(jié)點(diǎn))中進(jìn)行連接,從節(jié)點(diǎn)中的一條數(shù)據(jù)記錄傳輸至哪一個(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)較多,說明該目標(biāo)從節(jié)點(diǎn)是該條數(shù)據(jù)記錄較佳的存儲(chǔ)從節(jié)點(diǎn),本發(fā)明實(shí)施例的方案中,在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄的查詢后如果從節(jié)點(diǎn)中的數(shù)據(jù)記錄到一個(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù),即數(shù)據(jù)記錄滿足數(shù)據(jù)遷移條件,且該從節(jié)點(diǎn)中滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù)達(dá)到預(yù)設(shè)條數(shù),則該從節(jié)點(diǎn)滿足數(shù)據(jù)觸發(fā)條件,且滿足數(shù)據(jù)觸發(fā)條件的從節(jié)點(diǎn)的數(shù)量達(dá)到預(yù)設(shè)數(shù)量,就將每個(gè)從節(jié)點(diǎn)中存儲(chǔ)的滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄遷移到該數(shù)據(jù)記錄對應(yīng)的傳輸次數(shù)達(dá)到預(yù)設(shè)次數(shù)的目標(biāo)從節(jié)點(diǎn)中存儲(chǔ),這樣,與現(xiàn)有技術(shù)相比,數(shù)據(jù)記錄的存儲(chǔ)位置就是動(dòng)態(tài)變化的,可以將兩個(gè)從節(jié)點(diǎn)之間連接次數(shù)較多的數(shù)據(jù)記錄存儲(chǔ)在同一個(gè)從節(jié)點(diǎn)中,因而在后續(xù)數(shù)據(jù)記錄的查詢的過程中,就減少了對該條數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸,從而減少了通信負(fù)擔(dān),提高了數(shù)據(jù)處理效率。較佳地,數(shù)據(jù)遷移條件為:數(shù)據(jù)記錄到目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)最多,且該傳輸次數(shù)與分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式執(zhí)行的數(shù)據(jù)記錄查詢的總次數(shù)的比值大于第一預(yù)設(shè)閾值。較佳地,數(shù)據(jù)遷移的觸發(fā)條件為:在從節(jié)點(diǎn)中,滿足數(shù)據(jù)遷移條件的數(shù)據(jù)記錄的條數(shù),與本從節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)的比值大于第二預(yù)設(shè)閾值。較佳地,第一預(yù)設(shè)閾值為1/2;第二預(yù)設(shè)閾值為1/n,其中n為本從節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)記錄的總條數(shù)。較佳地,該裝置還包括統(tǒng)計(jì)模塊;統(tǒng)計(jì)模塊,用于:在分布式數(shù)據(jù)庫系統(tǒng)中采用兩表連接方式每執(zhí)行一次數(shù)據(jù)記錄查詢后,統(tǒng)計(jì)從節(jié)點(diǎn)中的每條數(shù)據(jù)記錄傳輸?shù)礁鱾€(gè)目標(biāo)從節(jié)點(diǎn)的傳輸次數(shù)。較佳地,上述預(yù)設(shè)數(shù)量為分布式數(shù)據(jù)庫系統(tǒng)中所有從節(jié)點(diǎn)的數(shù)量。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁1 2 3