新四季網

基於二級映射的集群動態擴展方法

2023-05-05 11:12:41 1

專利名稱:基於二級映射的集群動態擴展方法
技術領域:
本發明涉及一種基於二級映射的集群動態擴展方法,屬於資料庫系統應用技術領 域。
背景技術:
無論是網絡還是資料庫集群,業務量的發展都超出了過去最樂觀的估計,即使按 照當時最優配置,也會很快遇到硬體的瓶頸。如何高效、快速、可靠地存儲日益增長的用戶 數據,就需要用到集群的擴展技術。
根據擴展過程中是否需要停止原系統,將集群的擴展性分為靜態擴展和動態擴 展。靜態擴展是指系統增減節點時,需要先停止當前運行的系統,然後根據節點增減的情況 進行重新配置,最後重新啟動整個系統,使之得以正常工作。動態擴展則是一種在線擴展, 系統增減節點時能夠自動適應這種變化,自動完成資源的遷移和重新配置,在無人幹涉的 情況下進行自動管理和自我維護。
當前的多數集群系統都只實現靜態擴展,只能實現數據節點的自動增加,但不能 適應節點減少的變化情況。靜態擴展不需要考慮數據容錯、分布式的元數據管理、資源動態 分配等問題,因而在實現上相對容易,但由此也帶來一些的問題,如系統擴展過程繁瑣、可 用性不高、管理和維護困難等。當節點數增加到幾十或幾百時,靜態擴展的繁瑣程度將使管 理員難以忍受,因為中間任何環節出錯都將導致系統擴展失敗。更為重要的是,在此期間整 個系統不能對外提供服務,這對於實時性和可用性要求高的應用業務來說是致命的。
資料庫集群需要在元資料庫裡保存管理節點和數據節點的分布信息。這些分布信 息是集群系統裡最重要的基礎性信息,它維護了整個集群的部署架構,集群就是賴於這些 信息運轉。一個Siare-Nothing架構的資料庫集群的部署架構信息類似一個樹結構,無論 採用什麼存儲方法,都必須在元資料庫裡保存整個樹形結構。集群擴展的目的就是要對這 個樹形結構進行更改,增加或刪除樹的葉子節點,基本原理如圖1所示。
與集群架構相似的,分布在集群中各個節點上的數據也需要維護這樣一個樹形 結構來描述這些數據的分布情況。但是Siare-Nothing架構的集群為了實現數據的負 載均衡,都需要通過一定的分布方法對數據進行均勻分發,最常用的均勻分發方法就是 hash (哈希)方法。但是hash方法要求實現固定hash基數,一旦hash分發之後基數就不 能再改動,這與集群的動態擴展理念是相悖的。發明內容
為了解決上述問題,本發明提出了一種基於二級映射集群動態擴展的方法,它可 以在滿足負載分布均衡的基礎上,實現對資料庫集群進行任意規模的擴展,而不需要停止 集群服務和應用業務。
本發明採用的技術方案如下
一種基於二級映射的集群動態擴展方法,包括以下步驟
1)在第一維對集群的數據按照hash方法進行負載的均衡分布,這是第一級映射, 在第一維的基礎上採用一個M:N的映射表來進行第二級的映射;
2)通過更改第二維的映射表來動態增加新增節點,即實現集群的動態擴展。
所述步驟1)進一步分為以下步驟
1. 1)為集群創建表和11£1吐分布,該表中包括欄位沉(1、811(^討10、0(11,並將第一級 的分布信息存儲在元資料庫中,其中0id為對象在資料庫中的唯一標識;BucketID為經過 hash分布之後的hash桶號;Ddl為創建該表的sql語句;
1. 2)建立映射表,將hash桶號對節點號的映射關係信息存入元資料庫中;
1. 3)導入數據,並提供查詢服務。
所述步驟2、進一步分為以下步驟
2. 1)對新節點進行表模式定義,由於新增節點要存儲表數據,因此必須對新增節 點創建同其它節點一樣的表模式,根據元資料庫中保存的表的模式信息對新節點進行模式 定義;
2. 2)對元資料庫的二級映射表通過進行增加操作,來更改桶號BucketID所對應 的數據節點號NodeID ;
2.3)新增節點之後,當需要導入數據時,為了維持負載的均衡,將該hash桶的新 增數據都導入新增節點,直到同一個hash桶對應的節點負載一致之後,新增數據將被循環 地導入該hash桶對應的各個節點;如果是查詢,首先根據表名查找一級映射表獲得該表對 應的所有桶號,然後根據桶號查找二級映射表獲得對應所有節點位置,並對所有位置應用 該查詢。
在所述步驟1. 1)中,Hash桶數的選擇至少為節點數的2倍。
在所述步驟1. 中,無論導入數據,還是查詢,首先都要定位目標數據的位置,如 果是導入數據,第一步先根據數據的hash鍵值進行hash,獲得對應的桶號,第二步根據桶 號查找二級映射表獲得對應的目標數據節點位置,從而將數據導入該數據節點;如果是查 詢,首先根據表名查找一級映射表獲得該表對應的所有桶號,然後根據桶號查找二級映射 表獲得對應節點位置,並對所有位置應用該查詢。
本發明具有以下優點
1.使用了二級映射方法,既保留了集群中常用的hash分發方法的數據分布負載 均衡特點,又支持了動態擴展的需要。
2.利用元資料庫的事務特性保證了對二級映射表更新時的讀寫隔離性,保證了擴 展的動態在線。
3.和靜態擴展技術動輒需要停機幾分鐘相比,本動態擴展技術不僅不需停止應用 業務,而且操作簡單,每擴展一個節點的時間在秒級。


圖1為集群擴展的基本原理圖2為二級映射原理圖3為動態擴展原理圖。
具體實施方式
本發明方法是基用一種二級映射的方法來實現滿足負載均衡的動態擴展技術。即 首先在第一維對集群的數據按照hash方法進行負載的均衡分布,這是第一級映射。在第一 維的基礎上採用一個M N的映射表來進行第二級的映射,其中M代表經過hash分布之後的 hash桶數,N代表集群的數據節點數。從而在第一維實現數據的分布負載均衡,在第二維實 現集群的動態擴展。
本發明方法主要包括以下步驟
數據分布階段
步驟一
為集群創建數據表,並對數據表進行hash分布,並將第一級的hash分布信息存儲 在元資料庫中。所謂進行hash分布就是對數據表中的數據根據某一個屬性(這個屬性被 稱為分布屬性)使用hash函數進行計算獲得hash桶號。Hash桶數的選擇至少為節點數 的2倍。例如表T的Oid(對象在資料庫中的唯一標識)為33沈3,對其進行hash分布,分 布到8個桶中。存儲的格式如下其中Oid為對象在資料庫中的唯一標識;BucketID為經 過hash分布之後的hash桶號;DDL為創建該表的sql語句。下表就是一個一級映射表的例子。
權利要求
1.一種基於二級映射的集群動態擴展方法,其特徵在於包括以下步驟1)在第一維對集群的數據按照hash方法進行負載的均衡分布,這是第一級映射,在第 一維的基礎上採用一個M:N的映射表來進行第二級的映射,此處,M代表經過hash分布之 後的hash桶數,N代表集群的數據節點數;2)通過更改第二維的映射表來動態增加新增節點,即實現集群的動態擴展。
2.如權利要求1所述的基於二級映射的集群動態擴展方法,其特徵在於所述步驟1)進一步分為以下步驟1.1)為集群創建表和—吐分布,該表中包括欄位沉(1、811(^討10、0(11,並將第一級的分 布信息存儲在元資料庫中,其中0id為對象在資料庫中的唯一標識;BucketID為經過hash 分布之後的hash桶號;Ddl為創建該表的sql語句;1.2)建立映射表,將hash桶號對節點號的映射關係信息存入元資料庫中;1.3)導入數據,並提供查詢服務。
3.如權利要求1所述的基於二級映射的集群動態擴展方法,其特徵在於所述步驟2、進一步分為以下步驟2.1)對新節點進行表模式定義,由於新增節點要存儲表數據,因此必須對新增節點創 建同其它節點一樣的表模式,根據元資料庫中保存的表的模式信息對新節點進行模式定 義;2. 2)對元資料庫的二級映射表通過進行增加操作,來更改桶號BucketID所對應的數 據節點號NodeID ;2. 3)新增節點之後,當需要導入數據時,為了維持負載的均衡,將該hash桶的新增數 據都導入新增節點,直到同一個hash桶對應的節點負載一致之後,新增數據將被循環地導 入該hash桶對應的各個節點;如果是查詢,首先根據表名查找一級映射表獲得該表對應的 所有桶號,然後根據桶號查找二級映射表獲得對應所有節點位置,並對所有位置應用該查 詢。
4.如權利要求2所述的基於二級映射的集群動態擴展方法,其特徵在於在所述步驟1. 1)中,Hash桶數的選擇至少為節點數的2倍。
5.如權利要求2所述的基於二級映射的集群動態擴展方法,其特徵在於在所述步驟1. 中,無論導入數據,還是查詢,首先都要定位目標數據的位置,如果是 導入數據,第一步先根據數據的hash鍵值進行hash,獲得對應的桶號,第二步根據桶號查 找二級映射表獲得對應的目標數據節點位置,從而將數據導入該數據節點;如果是查詢,首 先根據表名查找一級映射表獲得該表對應的所有桶號,然後根據桶號查找二級映射表獲得 對應節點位置,並對所有位置應用該查詢。
全文摘要
本發明方法是基於一種二級映射的方法來實現滿足負載均衡的動態擴展技術。即首先在第一維對集群的數據按照hash方法進行負載的均衡分布,這是第一級映射。在第一維的基礎上採用一個M:N的映射表來進行第二級的映射,從而在第一維實現數據的分布負載均衡,在第二維實現集群的動態擴展。本發明使用了二級映射方法,既保留了集群中常用的hash分發方法的數據分布負載均衡特點,又支持了動態擴展的需要。同時利用了元資料庫的事務特性保證了對二級映射表更新時的讀寫隔離性,保證了擴展的動態在線。和靜態擴展技術動輒需要停機幾分鐘相比,本發明不僅不需停止應用業務,而且操作簡單,每擴展一個節點的時間在秒級。
文檔編號G06F17/30GK102033938SQ201010597139
公開日2011年4月27日 申請日期2010年12月10日 優先權日2010年12月10日
發明者何清法, 馮柯, 劉榮, 徐巖, 李曉鵬, 李陽, 蔣志勇, 謝衛平, 賈宗秀, 顧雲蘇 申請人:天津神舟通用數據技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀