[發明專利]基于二級映射的集群動態擴展方法有效
| 申請號: | 201010597139.0 | 申請日: | 2010-12-10 |
| 公開(公告)號: | CN102033938A | 公開(公告)日: | 2011-04-27 |
| 發明(設計)人: | 李陽;何清法;顧云蘇;馮柯;蔣志勇;徐巖;謝衛平;李曉鵬;劉榮;賈宗秀 | 申請(專利權)人: | 天津神舟通用數據技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京北新智誠知識產權代理有限公司 11100 | 代理人: | 張衛華 |
| 地址: | 100094*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 二級 映射 集群 動態 擴展 方法 | ||
技術領域
本發明涉及一種基于二級映射的集群動態擴展方法,屬于數據庫系統應用技術領域。
背景技術
無論是網絡還是數據庫集群,業務量的發展都超出了過去最樂觀的估計,即使按照當時最優配置,也會很快遇到硬件的瓶頸。如何高效、快速、可靠地存儲日益增長的用戶數據,就需要用到集群的擴展技術。
根據擴展過程中是否需要停止原系統,將集群的擴展性分為靜態擴展和動態擴展。靜態擴展是指系統增減節點時,需要先停止當前運行的系統,然后根據節點增減的情況進行重新配置,最后重新啟動整個系統,使之得以正常工作。動態擴展則是一種在線擴展,系統增減節點時能夠自動適應這種變化,自動完成資源的遷移和重新配置,在無人干涉的情況下進行自動管理和自我維護。
當前的多數集群系統都只實現靜態擴展,只能實現數據節點的自動增加,但不能適應節點減少的變化情況。靜態擴展不需要考慮數據容錯、分布式的元數據管理、資源動態分配等問題,因而在實現上相對容易,但由此也帶來一些的問題,如系統擴展過程繁瑣、可用性不高、管理和維護困難等。當節點數增加到幾十或幾百時,靜態擴展的繁瑣程度將使管理員難以忍受,因為中間任何環節出錯都將導致系統擴展失敗。更為重要的是,在此期間整個系統不能對外提供服務,這對于實時性和可用性要求高的應用業務來說是致命的。
數據庫集群需要在元數據庫里保存管理節點和數據節點的分布信息。這些分布信息是集群系統里最重要的基礎性信息,它維護了整個集群的部署架構,集群就是賴于這些信息運轉。一個Share-Nothing架構的數據庫集群的部署架構信息類似一個樹結構,無論采用什么存儲方法,都必須在元數據庫里保存整個樹形結構。集群擴展的目的就是要對這個樹形結構進行更改,增加或刪除樹的葉子節點,基本原理如圖1所示。
與集群架構相似的,分布在集群中各個節點上的數據也需要維護這樣一個樹形結構來描述這些數據的分布情況。但是Share-Nothing架構的集群為了實現數據的負載均衡,都需要通過一定的分布方法對數據進行均勻分發,最常用的均勻分發方法就是hash(哈希)方法。但是hash方法要求實現固定hash基數,一旦hash分發之后基數就不能再改動,這與集群的動態擴展理念是相悖的。
發明內容
為了解決上述問題,本發明提出了一種基于二級映射集群動態擴展的方法,它可以在滿足負載分布均衡的基礎上,實現對數據庫集群進行任意規模的擴展,而不需要停止集群服務和應用業務。
本發明采用的技術方案如下:
一種基于二級映射的集群動態擴展方法,包括以下步驟:
1)在第一維對集群的數據按照hash方法進行負載的均衡分布,這是第一級映射,在第一維的基礎上采用一個M:N的映射表來進行第二級的映射;
2)通過更改第二維的映射表來動態增加新增節點,即實現集群的動態擴展。
所述步驟1)進一步分為以下步驟:
1.1)為集群創建表和hash分布,該表中包括字段Oid、BucketID、Ddl,并將第一級的分布信息存儲在元數據庫中,其中:Oid為對象在數據庫中的唯一標識;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倍。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津神舟通用數據技術有限公司,未經天津神舟通用數據技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010597139.0/2.html,轉載請聲明來源鉆瓜專利網。





