欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法

文檔序號:6439732閱讀:678來源:國知局
專利名稱:無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)庫集群擴(kuò)展方法,尤其涉及一種在無共享(aiare Nothing) 數(shù)據(jù)庫集群中,基于數(shù)據(jù)表操作實(shí)現(xiàn)的系統(tǒng)動態(tài)擴(kuò)展方法,屬于數(shù)據(jù)庫集群系統(tǒng)技術(shù)領(lǐng)域。
背景技術(shù)
可擴(kuò)展性是考察任何數(shù)據(jù)庫集群優(yōu)劣與否的主要特性之一,它決定了數(shù)據(jù)庫集群是否能夠滿足快速增長的數(shù)據(jù)庫應(yīng)用的需要。當(dāng)前,存在兩種擴(kuò)展數(shù)據(jù)庫集群的方式垂直擴(kuò)展和水平擴(kuò)展。1.垂直擴(kuò)展在同一個邏輯單位添加資源以增加容量。比如升級服務(wù)器的CPU,比如在RAID/ SAN存儲設(shè)備上增加硬盤。2.水平擴(kuò)展增加多個邏輯單元資源并且使它們作為一個整體在工作。水平擴(kuò)展方式并不要求昂貴的服務(wù)器,使用普通的存儲設(shè)備和PC即可作為解決方案。目前,在數(shù)據(jù)庫領(lǐng)域有兩種數(shù)據(jù)庫集群一種是無共享(Siare Nothing)數(shù)據(jù)庫集群,另一種是共享磁盤Chare Disk)數(shù)據(jù)庫集群。隨著數(shù)據(jù)庫技術(shù)的發(fā)展和云計算技術(shù)的興起,無共享數(shù)據(jù)庫集群以其并行性好等優(yōu)點(diǎn),在云計算領(lǐng)域獲得廣泛應(yīng)用。在云計算環(huán)境下,對無共享數(shù)據(jù)庫集群的可擴(kuò)展性提出了新的需求按需增加和減少節(jié)點(diǎn)。換言之,增加和減少節(jié)點(diǎn)是無共享數(shù)據(jù)庫集群日常性服務(wù)的一部分,動態(tài)擴(kuò)大和縮小無共享數(shù)據(jù)庫集群的規(guī)模更加頻繁,而且要求在進(jìn)行操作過程中服務(wù)不能停止,不能影響到業(yè)務(wù)的正常運(yùn)行。對于共享磁盤數(shù)據(jù)庫集群而言,實(shí)現(xiàn)可擴(kuò)展性比較簡單,無須遷移或更新數(shù)據(jù),而對于無共享數(shù)據(jù)庫集群而言,可擴(kuò)展性的實(shí)現(xiàn)過程相對復(fù)雜。在無共享數(shù)據(jù)庫集群的系統(tǒng)擴(kuò)展過程中,需要大量遷移或更新數(shù)據(jù)。在遷移或更新數(shù)據(jù)的同時還有可能鎖定整個數(shù)據(jù)表甚至是整個數(shù)據(jù)庫,導(dǎo)致用戶的業(yè)務(wù)中斷,所以每次對無共享數(shù)據(jù)庫集群進(jìn)行擴(kuò)展都需要付出很大的代價。例如在無共享數(shù)據(jù)庫集群中,數(shù)據(jù)通常是按一定的算法分片存儲的。常用的分片算法包括哈希算法、隨機(jī)算法、輪轉(zhuǎn)算法、 范圍算法。由于增加和減少節(jié)點(diǎn),導(dǎo)致分片算法發(fā)生了變化。為了使數(shù)據(jù)能夠在新算法下正確存儲,使上層的執(zhí)行單元能夠正確定位相應(yīng)的數(shù)據(jù),就需要數(shù)據(jù)在無共享數(shù)據(jù)庫集群中重新分布。隨著數(shù)據(jù)量的增加,這通常是非常耗時的操作。另外,在無共享數(shù)據(jù)庫集群中添加新的節(jié)點(diǎn),需要重新啟動整個無共享數(shù)據(jù)庫集群服務(wù)。在此期間,無共享數(shù)據(jù)庫集群將不能向應(yīng)用程序提供服務(wù)。如果在業(yè)務(wù)處理時間段,這會嚴(yán)重降低整個無共享數(shù)據(jù)庫集群系統(tǒng)的可用性。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種在無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法。為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案一種無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,所述無共享數(shù)據(jù)庫集群包括多個由集群管理器控制的數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)內(nèi)分別存儲有數(shù)據(jù)表,其特征在于包括以下步驟,步驟1 增加并檢測新增數(shù)據(jù)節(jié)點(diǎn),驗(yàn)證所述新增數(shù)據(jù)節(jié)點(diǎn)的連通性;步驟2 初始化所述新增數(shù)據(jù)節(jié)點(diǎn),將元數(shù)據(jù)信息同步到所述新增數(shù)據(jù)節(jié)點(diǎn)中;步驟3 將與所述新增數(shù)據(jù)節(jié)點(diǎn)上分布的數(shù)據(jù)表相關(guān)的元組,在所述數(shù)據(jù)節(jié)點(diǎn)和所述新增數(shù)據(jù)節(jié)點(diǎn)中重新分布,并且在所述重新分布過程中對所述數(shù)據(jù)表的操作,需要在所述數(shù)據(jù)節(jié)點(diǎn)和所述新增數(shù)據(jù)節(jié)點(diǎn)中同步進(jìn)行;步驟4 修改所述集群管理器中的集群配置文件。其中較優(yōu)地,步驟3中,在所述重新分布過程中,當(dāng)一個元組正在復(fù)制時,對所述正在復(fù)制的元組的任何操作,需要等待復(fù)制結(jié)束后才能進(jìn)行。其中較優(yōu)地,步驟3中進(jìn)行重新分布時,在所述數(shù)據(jù)節(jié)點(diǎn)中建立臨時表,所述臨時表是所述數(shù)據(jù)節(jié)點(diǎn)中存儲的數(shù)據(jù)表的復(fù)制數(shù)據(jù)表,在所述重新分布過程中對所述數(shù)據(jù)表的操作,需要同步操作所述數(shù)據(jù)節(jié)點(diǎn)中存儲的所述數(shù)據(jù)表、所述臨時表和所述新增數(shù)據(jù)節(jié)點(diǎn)中存儲的數(shù)據(jù)表。其中較優(yōu)地,對于所述數(shù)據(jù)節(jié)點(diǎn)中存儲的數(shù)據(jù)表,按照哈希分布方式,將各元組分別復(fù)制到指定數(shù)據(jù)節(jié)點(diǎn)的臨時表中,或者復(fù)制到所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。其中較優(yōu)地,將所述數(shù)據(jù)節(jié)點(diǎn)的多余的數(shù)據(jù)元組,按照輪轉(zhuǎn)分布方式,分別復(fù)制到所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。其中較優(yōu)地,步驟4中所述集群管理器在重新分布完成后,將各個所述數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表加鎖;再用相應(yīng)數(shù)據(jù)節(jié)點(diǎn)的所述臨時表替換,并將所述數(shù)據(jù)表上的鎖釋放。其中較優(yōu)地,步驟3中所述重新分布為復(fù)制分布方式時,包括以下步驟選擇一個與重新分布的數(shù)據(jù)表相關(guān)的負(fù)載最小數(shù)據(jù)節(jié)點(diǎn),順序掃描所述最小數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表,將其元組復(fù)制到所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。其中較優(yōu)地,在復(fù)制期間的任何與所述重新分布的數(shù)據(jù)表相關(guān)的操作,都要對所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表和所述最小數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表進(jìn)行處理。其中較優(yōu)地,步驟3中,所述數(shù)據(jù)節(jié)點(diǎn)在所述重新分布完成后,通知所述集群管理器,步驟4中,所述集群管理器在收到所述通知后,標(biāo)記數(shù)據(jù)的重新分布已完成。本發(fā)明利用數(shù)據(jù)庫中的數(shù)據(jù)表操作巧妙的解決了無共享數(shù)據(jù)庫集群動態(tài)可擴(kuò)展性的難題,大大降低了集群在進(jìn)行擴(kuò)展過程中對用戶業(yè)務(wù)邏輯的影響和損失。利用該方法可以實(shí)現(xiàn)在線擴(kuò)容,既保證了系統(tǒng)的高可擴(kuò)展性,又保證了系統(tǒng)的高可用性。


下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步的詳細(xì)說明。圖1是一個典型的無共享數(shù)據(jù)庫集群系統(tǒng)的架構(gòu)示意圖;圖2是新增數(shù)據(jù)節(jié)點(diǎn)時,數(shù)據(jù)表中數(shù)據(jù)重新分布的示意圖;圖3是數(shù)據(jù)表為復(fù)制分布方式時,數(shù)據(jù)表中數(shù)據(jù)重新分布的示意圖4是數(shù)據(jù)表為其他分布方式時,數(shù)據(jù)表中數(shù)據(jù)重新分布的示意圖。
具體實(shí)施例方式圖1顯示了一個典型的無共享數(shù)據(jù)庫集群系統(tǒng)的基本架構(gòu)。該無共享數(shù)據(jù)庫集群系統(tǒng)包括協(xié)調(diào)器、集群管理器和多個數(shù)據(jù)節(jié)點(diǎn)。其中,協(xié)調(diào)器負(fù)責(zé)介紹數(shù)據(jù)庫應(yīng)用發(fā)來的 SQL語句,生成查詢計劃,根據(jù)數(shù)據(jù)表的分布策略,找到與這個SQL語句相關(guān)的數(shù)據(jù)節(jié)點(diǎn),將 SQL語句重寫成多個相關(guān)語句并發(fā)送到各個數(shù)據(jù)節(jié)點(diǎn)上,由數(shù)據(jù)節(jié)點(diǎn)去執(zhí)行這些重寫后的語句,然后執(zhí)行并返回結(jié)果給協(xié)調(diào)器,協(xié)調(diào)器最后將結(jié)果再返回給數(shù)據(jù)庫應(yīng)用。在無共享數(shù)據(jù)庫集群中,實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的關(guān)鍵是如何在不影響業(yè)務(wù)的前提下實(shí)現(xiàn)將數(shù)據(jù)表按照新的數(shù)據(jù)分布算法進(jìn)行重新分布。為此,本發(fā)明采用了一種基于數(shù)據(jù)表操作的技術(shù)解決方案。具體地說,當(dāng)數(shù)據(jù)表在重新分布時,先將數(shù)據(jù)庫的數(shù)據(jù)重新分布到鏡像數(shù)據(jù)表中,在數(shù)據(jù)遷移過程中對改變的任何操作,在該數(shù)據(jù)表和鏡像數(shù)據(jù)表中同時進(jìn)行。 當(dāng)數(shù)據(jù)遷移完成后,鎖定該數(shù)據(jù)表,將鏡像數(shù)據(jù)表重命名為被遷移表。下面展開詳細(xì)的說明。通常,在無共享數(shù)據(jù)庫集群中采用MPP (大規(guī)模并行處理)架構(gòu),可以在短時間內(nèi)就能完成數(shù)據(jù)的重新分布,進(jìn)而實(shí)現(xiàn)快速的系統(tǒng)擴(kuò)展。在MPP (大規(guī)模并行處理)架構(gòu)中增加節(jié)點(diǎn)就可以有效提高數(shù)據(jù)庫集群系統(tǒng)的存儲容量和處理能力。無共享數(shù)據(jù)庫集群的擴(kuò)展包括對數(shù)據(jù)節(jié)點(diǎn)的擴(kuò)展及協(xié)調(diào)器的擴(kuò)展。其中,數(shù)據(jù)節(jié)點(diǎn)的擴(kuò)展由以下四個階段構(gòu)成1.增加并檢測新增數(shù)據(jù)節(jié)點(diǎn),驗(yàn)證連通性當(dāng)管理員將新增的數(shù)據(jù)節(jié)點(diǎn)添加到無共享數(shù)據(jù)庫集群當(dāng)中時,集群管理器會根據(jù)新增的數(shù)據(jù)節(jié)點(diǎn)的配置文件信息與新增的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行連接,驗(yàn)證該數(shù)據(jù)節(jié)點(diǎn)是否可以與現(xiàn)有的無共享數(shù)據(jù)庫集群進(jìn)行互聯(lián)。2.初始化數(shù)據(jù)節(jié)點(diǎn),同步元數(shù)據(jù)信息集群管理器經(jīng)過上一步的驗(yàn)證之后,確認(rèn)新增的數(shù)據(jù)節(jié)點(diǎn)可以添加到無共享數(shù)據(jù)庫集群中。集群管理器會為其創(chuàng)建數(shù)據(jù)目錄,并將集群中的元信息同步到新增的數(shù)據(jù)節(jié)點(diǎn)。 此時,新增的數(shù)據(jù)節(jié)點(diǎn)就正式加入無共享數(shù)據(jù)庫集群中。3.表數(shù)據(jù)的重新分布當(dāng)新增的數(shù)據(jù)節(jié)點(diǎn)增加到無共享數(shù)據(jù)庫集群后,由于該數(shù)據(jù)節(jié)點(diǎn)的加入,原無共享數(shù)據(jù)庫集群中與新增的數(shù)據(jù)節(jié)點(diǎn)上分布的數(shù)據(jù)表相關(guān)的元組將根據(jù)數(shù)據(jù)表的分布方式進(jìn)行重新分布。參見圖2所示,無共享數(shù)據(jù)庫集群為不同分布方式的數(shù)據(jù)表提供了不同的重新分布方式,具體說明如下哈希分布無共享數(shù)據(jù)庫集群根據(jù)新的哈希函數(shù)對原有數(shù)據(jù)表中的元組在所有數(shù)據(jù)節(jié)點(diǎn)(包含新增數(shù)據(jù)節(jié)點(diǎn))上進(jìn)行重新分布;范圍分布新增數(shù)據(jù)節(jié)點(diǎn)不會對范圍分布的數(shù)據(jù)表產(chǎn)生影響,只有在對現(xiàn)有分布方式進(jìn)行修改或?qū)?shù)據(jù)表增加一個分區(qū)信息時,才會發(fā)生數(shù)據(jù)表中的元組的重新分布;輪轉(zhuǎn)分布無共享數(shù)據(jù)庫集群會對數(shù)據(jù)表中的元組在所有數(shù)據(jù)節(jié)點(diǎn)(包含新增數(shù)據(jù)節(jié)點(diǎn))上進(jìn)行平均分布;
復(fù)制分布無共享數(shù)據(jù)庫集群會將數(shù)據(jù)表中的元組復(fù)制到新增數(shù)據(jù)節(jié)點(diǎn)上的鏡像數(shù)據(jù)表中。4.修改集群配置文件上述三個階段完成之后,集群管理器會更新集群配置文件,新增數(shù)據(jù)節(jié)點(diǎn)就此完成。下面,以單一數(shù)據(jù)表為例對利用本發(fā)明實(shí)現(xiàn)數(shù)據(jù)重新分布的過程進(jìn)行說明。多數(shù)據(jù)表的情況與之類似,在此不予贅述。當(dāng)數(shù)據(jù)表的分布方式為復(fù)制分布時,數(shù)據(jù)重新分布的過程如圖3所示,包括如下的步驟1)復(fù)制分布選擇一個與該數(shù)據(jù)表(Table)相關(guān)的負(fù)載最小數(shù)據(jù)節(jié)點(diǎn)X(舊數(shù)據(jù)節(jié)點(diǎn)),順序掃描該數(shù)據(jù)表,將元組復(fù)制到新增的數(shù)據(jù)節(jié)點(diǎn)上的鏡像數(shù)據(jù)表中;2)在復(fù)制期間發(fā)生的任何與該數(shù)據(jù)表相關(guān)的事務(wù)處理都要對新增的數(shù)據(jù)節(jié)點(diǎn)上的鏡像數(shù)據(jù)表和數(shù)據(jù)節(jié)點(diǎn)X上的數(shù)據(jù)表進(jìn)行相應(yīng)處理;3)為了保證復(fù)制過程的正確性,元組從數(shù)據(jù)節(jié)點(diǎn)X到新增數(shù)據(jù)節(jié)點(diǎn)進(jìn)行復(fù)制時需要保證復(fù)制過程的原子性,即當(dāng)有其他事務(wù)要對該元組進(jìn)行操作時,必須等到復(fù)制結(jié)束后才能對該元組進(jìn)行操作。這樣就保證了元組在復(fù)制過程中沒有其它事務(wù)可以對其進(jìn)行操作,換句話說,就是要保證在復(fù)制過程中對數(shù)據(jù)節(jié)點(diǎn)X上的數(shù)據(jù)表的每一個事務(wù)操作都要同時應(yīng)用到新增數(shù)據(jù)節(jié)點(diǎn)上的數(shù)據(jù)表,從而保證了事務(wù)的一致性;4)當(dāng)對數(shù)據(jù)節(jié)點(diǎn)X上的數(shù)據(jù)表掃描完成后(即找不到?jīng)]有復(fù)制的元組的時候), 向新增數(shù)據(jù)節(jié)點(diǎn)發(fā)送EOF(文件結(jié)束)指令,此時表明數(shù)據(jù)表的數(shù)據(jù)重新分布已經(jīng)完成;同時數(shù)據(jù)節(jié)點(diǎn)X會通知集群管理器任務(wù)已經(jīng)完成。對于其他的分布方式,數(shù)據(jù)重新分布的過程如圖4所示,包括如下的步驟1)為了在增加數(shù)據(jù)節(jié)點(diǎn)完成之前繼續(xù)使無共享數(shù)據(jù)庫集群向應(yīng)用程序提供服務(wù), 無共享數(shù)據(jù)庫集群在對原有節(jié)點(diǎn)數(shù)據(jù)節(jié)點(diǎn)1……數(shù)據(jù)節(jié)點(diǎn)η上的數(shù)據(jù)表的元組進(jìn)行重新分布的時候,需要在該數(shù)據(jù)表的相關(guān)數(shù)據(jù)節(jié)點(diǎn)(舊數(shù)據(jù)節(jié)點(diǎn))上復(fù)制數(shù)據(jù)表的一個臨時表 (Temp Table);2)在每個舊數(shù)據(jù)節(jié)點(diǎn)上順序掃描本地數(shù)據(jù)表的元組,復(fù)制過程類似上面復(fù)制分布的第3步,但根據(jù)數(shù)據(jù)表的分布方式不同而有所不同對于哈希分布而言,各個數(shù)據(jù)節(jié)點(diǎn)按照分布列將本地數(shù)據(jù)以新的哈希分布方式將元組復(fù)制到指定節(jié)點(diǎn)的相關(guān)臨時表或者新數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中;對于輪轉(zhuǎn)分布而言,依據(jù)平均分配原則,將各個節(jié)點(diǎn)多余的數(shù)據(jù)元組復(fù)制到新數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。對正在復(fù)制的元組有任何操作,需要等待該元組的復(fù)制過程結(jié)束后才能進(jìn)行。3)如果應(yīng)用程序在數(shù)據(jù)表的元組遷移過程中對該數(shù)據(jù)表有操作,則此時要同時對新數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表、舊數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表及臨時表進(jìn)行操作;4)當(dāng)對數(shù)據(jù)節(jié)點(diǎn)1…數(shù)據(jù)節(jié)點(diǎn)η上的數(shù)據(jù)表掃描完成后(即找不到?jīng)]有復(fù)制的元組的時候),此時表明數(shù)據(jù)表的元組分布已經(jīng)完成;各個節(jié)點(diǎn)會通知集群管理器數(shù)據(jù)的重新分布已經(jīng)完成;5)集群管理器收到重新分布完成的信號后,會將各個節(jié)點(diǎn)上的原數(shù)據(jù)表加鎖,此時所有對數(shù)據(jù)表操作的事務(wù)只能排隊等候;同時原數(shù)據(jù)表將被臨時表替換,該臨時表變?yōu)樾碌臄?shù)據(jù)表并將其上的鎖釋放。這一過程同樣具有原子性。6)集群管理器收到完成信號后,標(biāo)記數(shù)據(jù)的重新分布已經(jīng)完成。通過上述的步驟,可以為無共享數(shù)據(jù)庫集群提供有效的在線擴(kuò)容手段,既保證了無共享數(shù)據(jù)庫集群系統(tǒng)的高可擴(kuò)展性,又保證了無共享數(shù)據(jù)庫集群系統(tǒng)的高可用性。以上對本發(fā)明所提供的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法進(jìn)行了詳細(xì)的說明。對本領(lǐng)域的技術(shù)人員而言,在不背離本發(fā)明實(shí)質(zhì)精神的前提下對它所做的任何顯而易見的改動,都將構(gòu)成對本發(fā)明專利權(quán)的侵犯,將承擔(dān)相應(yīng)的法律責(zé)任。
權(quán)利要求
1.一種無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,所述無共享數(shù)據(jù)庫集群包括多個由集群管理器控制的數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)內(nèi)分別存儲有數(shù)據(jù)表,其特征在于包括以下步驟步驟1 增加并檢測新增數(shù)據(jù)節(jié)點(diǎn),驗(yàn)證所述新增數(shù)據(jù)節(jié)點(diǎn)的連通性; 步驟2 初始化所述新增數(shù)據(jù)節(jié)點(diǎn),將元數(shù)據(jù)信息同步到所述新增數(shù)據(jù)節(jié)點(diǎn)中; 步驟3 將與所述新增數(shù)據(jù)節(jié)點(diǎn)上分布的數(shù)據(jù)表相關(guān)的元組,在所述數(shù)據(jù)節(jié)點(diǎn)和所述新增數(shù)據(jù)節(jié)點(diǎn)中重新分布,并且在所述重新分布過程中對所述數(shù)據(jù)表的操作,需要在所述數(shù)據(jù)節(jié)點(diǎn)和所述新增數(shù)據(jù)節(jié)點(diǎn)中同步進(jìn)行;步驟4 修改所述集群管理器中的集群配置文件。
2.如權(quán)利要求1所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 所述步驟3中,在所述重新分布過程中,當(dāng)一個元組正在復(fù)制時,對所述正在復(fù)制的元組的任何操作,需要等待復(fù)制結(jié)束后才能進(jìn)行。
3.如權(quán)利要求1所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 所述步驟3中進(jìn)行重新分布時,在所述數(shù)據(jù)節(jié)點(diǎn)中建立臨時表,所述臨時表是所述數(shù)據(jù)節(jié)點(diǎn)中存儲的數(shù)據(jù)表的復(fù)制數(shù)據(jù)表,在所述重新分布過程中對所述數(shù)據(jù)表的操作,需要同步操作所述數(shù)據(jù)節(jié)點(diǎn)中存儲的所述數(shù)據(jù)表、所述臨時表和所述新增數(shù)據(jù)節(jié)點(diǎn)中存儲的數(shù)據(jù)表。
4.如權(quán)利要求3所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 對于所述數(shù)據(jù)節(jié)點(diǎn)中存儲的數(shù)據(jù)表,按照哈希分布方式,將各元組分別復(fù)制到指定數(shù)據(jù)節(jié)點(diǎn)的臨時表中,或者復(fù)制到所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。
5.如權(quán)利要求3所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 將所述數(shù)據(jù)節(jié)點(diǎn)的多余的數(shù)據(jù)元組,按照輪轉(zhuǎn)分布方式,分別復(fù)制到所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。
6.如權(quán)利要求5所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 所述步驟4中所述集群管理器在重新分布完成后,將各個所述數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表加鎖;再用相應(yīng)數(shù)據(jù)節(jié)點(diǎn)的所述臨時表替換,并將所述數(shù)據(jù)表上的鎖釋放。
7.如權(quán)利要求1所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 所述步驟3中重新分布為復(fù)制分布方式時,包括以下步驟選擇一個與重新分布的數(shù)據(jù)表相關(guān)的負(fù)載最小數(shù)據(jù)節(jié)點(diǎn),順序掃描所述最小數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表,將其元組復(fù)制到所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表中。
8.如權(quán)利要求7所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 在復(fù)制期間任何與所述重新分布的數(shù)據(jù)表相關(guān)的操作,都要對所述新增數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表和所述最小數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)表進(jìn)行處理。
9.如權(quán)利要求1所述的無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,其特征在于 所述步驟3中,所述數(shù)據(jù)節(jié)點(diǎn)在所述重新分布完成后,通知所述集群管理器,所述步驟4中,所述集群管理器在收到所述通知后,標(biāo)記數(shù)據(jù)的重新分布已完成。
全文摘要
本發(fā)明公開了一種無共享數(shù)據(jù)庫集群中實(shí)現(xiàn)系統(tǒng)動態(tài)擴(kuò)展的方法,包括以下步驟增加并檢測新增數(shù)據(jù)節(jié)點(diǎn),驗(yàn)證新增數(shù)據(jù)節(jié)點(diǎn)的連通性;初始化新增數(shù)據(jù)節(jié)點(diǎn),將元數(shù)據(jù)信息同步到新增數(shù)據(jù)節(jié)點(diǎn)中;將與新增數(shù)據(jù)節(jié)點(diǎn)上分布的數(shù)據(jù)表相關(guān)的元組,在數(shù)據(jù)節(jié)點(diǎn)和新增數(shù)據(jù)節(jié)點(diǎn)中重新分布,并且在重新分布過程中對數(shù)據(jù)表的操作,需要在數(shù)據(jù)節(jié)點(diǎn)和新增數(shù)據(jù)節(jié)點(diǎn)中同步進(jìn)行;修改集群管理器中的集群配置文件。本發(fā)明解決了無共享數(shù)據(jù)庫集群動態(tài)可擴(kuò)展性的難題,大大降低了集群在進(jìn)行擴(kuò)展過程中對用戶業(yè)務(wù)邏輯的影響和損失。利用該方法可以實(shí)現(xiàn)在線擴(kuò)容,既保證了系統(tǒng)的高可擴(kuò)展性,又保證了系統(tǒng)的高可用性。
文檔編號G06F17/30GK102521297SQ201110390930
公開日2012年6月27日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者馮玉, 冷建全, 李祥凱, 王殿成, 王雄 申請人:北京人大金倉信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
临猗县| 沾化县| 贵溪市| 清丰县| 封丘县| 灵丘县| 多伦县| 延长县| 科技| 柘城县| 江孜县| 成安县| 大埔区| 普安县| 柯坪县| 方山县| 瑞昌市| 许昌市| 芮城县| 泸西县| 普宁市| 阜康市| 海伦市| 专栏| 新沂市| 合山市| 仁怀市| 垣曲县| 永靖县| 会宁县| 海城市| 南丰县| 乌拉特中旗| 贵州省| 怀化市| 呼玛县| 阿鲁科尔沁旗| 陈巴尔虎旗| 高安市| 固阳县| 保靖县|