一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu)的制作方法
【專利摘要】本發(fā)明公開了一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),包括如下步驟:(a)每個(gè)元數(shù)據(jù)節(jié)點(diǎn)被分配給一個(gè)散列塊,并成為這個(gè)散列塊的管理者;(b)創(chuàng)建虛擬磁盤,每個(gè)虛擬磁盤擁有一個(gè)唯一標(biāo)識(shí),對(duì)每個(gè)唯一標(biāo)識(shí)進(jìn)行哈希,得到對(duì)應(yīng)的key;(c)每個(gè)元數(shù)據(jù)節(jié)點(diǎn)得到節(jié)點(diǎn)標(biāo)示符D;(d)根據(jù)key和D的唯一的關(guān)聯(lián)關(guān)系,將虛擬磁盤映射到相應(yīng)的元數(shù)據(jù)節(jié)點(diǎn),并由元數(shù)據(jù)節(jié)點(diǎn)管理儲(chǔ)存映射到其內(nèi)的虛擬磁盤信息。本發(fā)明整個(gè)系統(tǒng)的擾亂性小,需要調(diào)整的數(shù)據(jù)量較少,因此效率極高,并且元數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)故障或者新增元數(shù)據(jù)節(jié)點(diǎn)時(shí),需要調(diào)整的數(shù)據(jù)量少,故障的恢復(fù)間短,整個(gè)系統(tǒng)的性能極高,穩(wěn)定性也很強(qiáng)。
【專利說明】一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于云存儲(chǔ)領(lǐng)域,具體涉及一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu)。
【背景技術(shù)】
[0002] 云存儲(chǔ)是實(shí)現(xiàn)云計(jì)算服務(wù)能力的不可或缺的關(guān)鍵要素。云存儲(chǔ)技術(shù)的發(fā)展,是因 為傳統(tǒng)的盤陣存儲(chǔ)由于高成本和系統(tǒng)的高負(fù)載性,已經(jīng)難以適應(yīng)云計(jì)算服務(wù)對(duì)存儲(chǔ)的需 求。傳統(tǒng)盤陣雖然利用專有的、定制設(shè)計(jì)的硬件組件和互連接口設(shè)計(jì)集成在一起,保障了的 存儲(chǔ)的性能和可靠性,但是其單點(diǎn)擴(kuò)展存在容量上限和接口帶寬等限制,面對(duì)PB級(jí)的海量 存儲(chǔ)需求,無論是SAN或NAS在容量和性能的擴(kuò)展上均無法滿足應(yīng)用的需要;且盤陣造價(jià)昂 貴,標(biāo)準(zhǔn)化程度較低,組件的更換常常導(dǎo)致系統(tǒng)故障或者硬件的升級(jí),從而導(dǎo)致存儲(chǔ)成本居 商不下。
[0003] 由此,為實(shí)現(xiàn)存儲(chǔ)的低成本、高可擴(kuò)展與資源池化,云存儲(chǔ)技術(shù)應(yīng)運(yùn)而生,這其中 最關(guān)鍵的是存儲(chǔ)虛擬化技術(shù)與分布式存儲(chǔ)技術(shù)的應(yīng)用。從短期來看,存儲(chǔ)化技術(shù)可以充分 提升現(xiàn)有存儲(chǔ)資源的應(yīng)用水平,實(shí)現(xiàn)資源池化,提升設(shè)備使用率,降低管理成本。從長(zhǎng)遠(yuǎn)發(fā) 展來看,分布式存儲(chǔ)技術(shù)則是未來云存儲(chǔ)的發(fā)展趨勢(shì)。
[0004] 分布式系統(tǒng)中的傳統(tǒng)方案是虛擬磁盤的元數(shù)據(jù)信息存放在各元數(shù)據(jù)節(jié)點(diǎn)中,當(dāng)元 數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)故障退出或者新元數(shù)據(jù)節(jié)點(diǎn)加入系統(tǒng)時(shí),系統(tǒng)需要根據(jù)新的元數(shù)據(jù)節(jié)點(diǎn)組網(wǎng) 情況,重新分配元數(shù)據(jù)信息。對(duì)于分布式系統(tǒng),經(jīng)常會(huì)有節(jié)點(diǎn)加入或者退出導(dǎo)致系統(tǒng)內(nèi)大 部分?jǐn)?shù)據(jù)需要重新調(diào)整、傳輸和同步,降低系統(tǒng)穩(wěn)定性和可能性,效率也非常低下。
【發(fā)明內(nèi)容】
[0005] 針對(duì)上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架 構(gòu),解決了分布式存儲(chǔ)技術(shù)系統(tǒng)內(nèi)大部分?jǐn)?shù)據(jù)需要重新調(diào)整、傳輸和同步,降低系統(tǒng)穩(wěn)定性 和可能性,效率也非常低下。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下: 一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),包括如下步驟: (a) 創(chuàng)建哈希表,建立哈希函數(shù); (b) 每個(gè)元數(shù)據(jù)節(jié)點(diǎn)被分配給哈希表的一個(gè)散列塊,并成為這個(gè)散列塊的管理者; (c) 創(chuàng)建虛擬磁盤,每個(gè)虛擬磁盤擁有一個(gè)唯一標(biāo)識(shí),對(duì)每個(gè)唯一標(biāo)識(shí)進(jìn)行哈希,得到 對(duì)應(yīng)的key ; (d) 每個(gè)元數(shù)據(jù)節(jié)點(diǎn)得到節(jié)點(diǎn)標(biāo)示符D ; (e) 根據(jù)key和D的唯一的關(guān)聯(lián)關(guān)系,將虛擬磁盤映射到相應(yīng)的元數(shù)據(jù)節(jié)點(diǎn),并由元數(shù) 據(jù)節(jié)點(diǎn)管理儲(chǔ)存映射到其內(nèi)的虛擬磁盤信息。
[0007] 具體地,當(dāng)元數(shù)據(jù)節(jié)點(diǎn)發(fā)生故障時(shí),則還包括如下步驟: (si)重新整理哈希表分段,故障元數(shù)據(jù)節(jié)點(diǎn)的散列塊段和對(duì)應(yīng)的虛擬磁盤信息由位于 其前后的元數(shù)據(jù)節(jié)點(diǎn)接管; (s2)重新使用DHT算法根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將新的散列值 存放在位于故障數(shù)據(jù)節(jié)點(diǎn)的前面或后面的元數(shù)據(jù)節(jié)點(diǎn)上,其余元數(shù)據(jù)節(jié)點(diǎn)上的信息不發(fā)生 變動(dòng)。
[0008] 具體地,當(dāng)新增數(shù)據(jù)節(jié)點(diǎn)時(shí),則還包括以下步驟: (i 1)重新整理哈希表分段,新增元數(shù)據(jù)節(jié)點(diǎn)接管位于該元數(shù)據(jù)節(jié)點(diǎn)前后的元數(shù)據(jù)節(jié)點(diǎn) 的部分散列塊段和相應(yīng)的虛擬磁盤信息; (i2)重新使用DHT算法根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將新的散列值 存放在新的元數(shù)據(jù)節(jié)點(diǎn)上。。
[0009] 進(jìn)一步地,若新增的元數(shù)據(jù)節(jié)點(diǎn)接管位于其前后的元數(shù)據(jù)節(jié)點(diǎn)的部分散列塊段和 相應(yīng)的虛擬磁盤信息后需要?dú)w屬到新的元數(shù)據(jù)節(jié)點(diǎn),則進(jìn)行數(shù)據(jù)遷移。
[0010] 再進(jìn)一步地,所述進(jìn)行遷移的數(shù)據(jù)包括新增元數(shù)據(jù)節(jié)點(diǎn)接管后的部分散列塊段和 相應(yīng)虛擬磁盤信息。
[0011] 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果: (1) 本發(fā)明每個(gè)元數(shù)據(jù)節(jié)點(diǎn)被分配給一個(gè)散列塊,并成為這個(gè)散列塊的管理者,將虛擬 磁盤映射到相應(yīng)的元數(shù)據(jù)節(jié)點(diǎn),并由元數(shù)據(jù)節(jié)點(diǎn)管理儲(chǔ)存映射到其內(nèi)的虛擬磁盤信息,整 個(gè)系統(tǒng)的擾亂性??; (2) 本發(fā)明當(dāng)元數(shù)據(jù)節(jié)點(diǎn)發(fā)生故障時(shí),故障元數(shù)據(jù)節(jié)點(diǎn)的散列塊段和對(duì)應(yīng)的虛擬磁盤 信息由位于其前后的元數(shù)據(jù)節(jié)點(diǎn)接管,根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將 新的散列值存放在位于其前或后的元數(shù)據(jù)節(jié)點(diǎn)上,其余元數(shù)據(jù)節(jié)點(diǎn)上的信息不發(fā)生變動(dòng), 需要調(diào)整的數(shù)據(jù)量少,故障的恢復(fù)間短,整個(gè)系統(tǒng)的性能極高,穩(wěn)定性也很強(qiáng); (3 )本發(fā)明當(dāng)新增元數(shù)據(jù)節(jié)點(diǎn)時(shí),新增元數(shù)據(jù)節(jié)點(diǎn)接管位于該元數(shù)據(jù)節(jié)點(diǎn)前后的元數(shù) 據(jù)節(jié)點(diǎn)的部分散列塊段和相應(yīng)的虛擬磁盤信息,根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散 列值,將新的散列值存放在新的元數(shù)據(jù)節(jié)點(diǎn)上,此種方式,需要調(diào)整的數(shù)據(jù)量少,故障的恢 復(fù)間短,整個(gè)系統(tǒng)的性能極高,穩(wěn)定性也很強(qiáng)。
【專利附圖】
【附圖說明】
[0012] 圖1為本發(fā)明的工作流程圖。
【具體實(shí)施方式】
[0013] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,本發(fā)明的實(shí)施方式包括但不限于 下列實(shí)施例。
[0014] 實(shí)施例1 如圖1所示,一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),包括如下步驟:(a)創(chuàng)建哈希 表,建立哈希函數(shù);(b)每個(gè)元數(shù)據(jù)節(jié)點(diǎn)被分配給哈希表的一個(gè)屬于自己的散列塊,并成為 這個(gè)散列塊的管理者;(c)創(chuàng)建虛擬磁盤,每個(gè)虛擬磁盤擁有一個(gè)唯一標(biāo)識(shí),對(duì)每個(gè)唯一標(biāo) 識(shí)進(jìn)行哈希,得到key ; (d)每個(gè)元數(shù)據(jù)節(jié)點(diǎn)得到節(jié)點(diǎn)標(biāo)示符D ; (e)根據(jù)key和D的唯一的 關(guān)聯(lián)關(guān)系,將虛擬磁盤映射到相應(yīng)的元數(shù)據(jù)節(jié)點(diǎn),并由相應(yīng)的元數(shù)據(jù)節(jié)點(diǎn)管理儲(chǔ)存相應(yīng)的 虛擬磁盤信息。
[0015] 當(dāng)元數(shù)據(jù)節(jié)點(diǎn)發(fā)生故障時(shí),還包括步驟:(sl)重新整理哈希表分段,故障元數(shù)據(jù) 節(jié)點(diǎn)的散列塊段和對(duì)應(yīng)的虛擬磁盤信息由位于其前后的元數(shù)據(jù)節(jié)點(diǎn)接管;(s2)重新使用 DHT算法根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將新的散列值存放在故障數(shù)據(jù)節(jié) 點(diǎn)的前面或后面的元數(shù)據(jù)節(jié)點(diǎn)上,其余元數(shù)據(jù)節(jié)點(diǎn)上的信息不發(fā)生變動(dòng)。
[0016] 當(dāng)新增數(shù)據(jù)節(jié)點(diǎn)時(shí),還包括以下步驟:(il)重新整理哈希表分段,新增元數(shù)據(jù) 節(jié)點(diǎn)接管位于該元數(shù)據(jù)節(jié)點(diǎn)前后的元數(shù)據(jù)節(jié)點(diǎn)的部分散列塊段和相應(yīng)的虛擬磁盤信息; (i2)重新使用DHT算法根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將新的散列值存放 在新的元數(shù)據(jù)節(jié)點(diǎn)上,若需要?dú)w屬新的元數(shù)據(jù)節(jié)點(diǎn),則進(jìn)行數(shù)據(jù)遷移。
[0017] 本方案運(yùn)用了 DHT算法,DHT算法使用分布式哈希函數(shù)來解決結(jié)構(gòu)化的分布式存 儲(chǔ)問題,分布式哈希表實(shí)際上是一張很大的散列表;每個(gè)元數(shù)據(jù)節(jié)點(diǎn)被分配給一個(gè)屬于自 己的散列塊,并成為這個(gè)散列塊的管理者;創(chuàng)建虛擬磁盤,每個(gè)虛擬磁盤擁有一個(gè)唯一標(biāo) 識(shí),系統(tǒng)對(duì)每個(gè)唯一標(biāo)識(shí)進(jìn)行哈希,得到key,每個(gè)元數(shù)據(jù)節(jié)點(diǎn)也得到節(jié)點(diǎn)標(biāo)志符D,關(guān)鍵字 標(biāo)志符(key)和節(jié)點(diǎn)標(biāo)志符都是唯一的,每個(gè)key都有一個(gè)唯一的關(guān)聯(lián)關(guān)系,映射到節(jié)點(diǎn) 標(biāo)識(shí)符D ;將虛擬磁盤映射到元數(shù)據(jù)節(jié)點(diǎn),并由該元數(shù)據(jù)節(jié)點(diǎn)管理儲(chǔ)存該虛擬磁盤的信息。 上述方式整個(gè)系統(tǒng)的擾亂性小,需要調(diào)整的數(shù)據(jù)量較少,因此效率極高,并且元數(shù)據(jù)節(jié)點(diǎn)出 現(xiàn)故障或者新增元數(shù)據(jù)節(jié)點(diǎn)時(shí),需要調(diào)整的數(shù)據(jù)量少,故障的恢復(fù)間短,整個(gè)系統(tǒng)的性能極 高,穩(wěn)定性也很強(qiáng)。
[0018] 按照上述實(shí)施例,便可很好地實(shí)現(xiàn)本發(fā)明。值得說明的是,基于上述結(jié)構(gòu)設(shè)計(jì)的前 提下,為解決同樣的技術(shù)問題,即使在本發(fā)明上做出的一些無實(shí)質(zhì)性的改動(dòng)或潤(rùn)色,所采用 的技術(shù)方案的實(shí)質(zhì)仍然與本發(fā)明一樣,故其也應(yīng)當(dāng)在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1. 一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),其特征在于,包括如下步驟: (a) 創(chuàng)建哈希表,建立哈希函數(shù); (b) 每個(gè)元數(shù)據(jù)節(jié)點(diǎn)被分配給哈希表的一個(gè)散列塊,并成為這個(gè)散列塊的管理者; (c) 創(chuàng)建虛擬磁盤,每個(gè)虛擬磁盤擁有一個(gè)唯一標(biāo)識(shí),對(duì)每個(gè)唯一標(biāo)識(shí)進(jìn)行哈希,得到 對(duì)應(yīng)的key ; (d) 每個(gè)元數(shù)據(jù)節(jié)點(diǎn)得到節(jié)點(diǎn)標(biāo)示符D ; (e) 根據(jù)key和D的唯一的關(guān)聯(lián)關(guān)系,將虛擬磁盤映射到相應(yīng)的元數(shù)據(jù)節(jié)點(diǎn),并由元數(shù) 據(jù)節(jié)點(diǎn)管理儲(chǔ)存映射到其內(nèi)的虛擬磁盤信息。
2. 根據(jù)權(quán)利要求1所述的一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),其特征在于,當(dāng) 元數(shù)據(jù)節(jié)點(diǎn)發(fā)生故障時(shí),則還包括如下步驟: (si)重新整理哈希表分段,故障元數(shù)據(jù)節(jié)點(diǎn)的散列塊段和對(duì)應(yīng)的虛擬磁盤信息由位于 其前后的元數(shù)據(jù)節(jié)點(diǎn)接管; (s2)重新使用DHT算法根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將新的散列值 存放在位于故障數(shù)據(jù)節(jié)點(diǎn)的前面或后面的元數(shù)據(jù)節(jié)點(diǎn)上,其余元數(shù)據(jù)節(jié)點(diǎn)上的信息不發(fā)生 變動(dòng)。
3. 根據(jù)權(quán)利要求1所述的一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),其特征在于,當(dāng) 新增元數(shù)據(jù)節(jié)點(diǎn)時(shí),則還包括以下步驟: (i 1)重新整理哈希表分段,新增元數(shù)據(jù)節(jié)點(diǎn)接管位于該元數(shù)據(jù)節(jié)點(diǎn)前后的元數(shù)據(jù)節(jié)點(diǎn) 的部分散列塊段和相應(yīng)的虛擬磁盤信息; (i2)重新使用DHT算法根據(jù)虛擬磁盤原有的唯一標(biāo)識(shí)計(jì)算新的散列值,將新的散列值 存放在新的元數(shù)據(jù)節(jié)點(diǎn)上。
4. 根據(jù)權(quán)利要求3所述的一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),其特征在于,若 新增的元數(shù)據(jù)節(jié)點(diǎn)接管位于其前后的元數(shù)據(jù)節(jié)點(diǎn)的部分散列塊段和相應(yīng)的虛擬磁盤信息 后需要?dú)w屬到新的元數(shù)據(jù)節(jié)點(diǎn),則進(jìn)行數(shù)據(jù)遷移。
5. 根據(jù)權(quán)利要求4所述的一致性動(dòng)態(tài)均衡的分布式元數(shù)據(jù)節(jié)點(diǎn)架構(gòu),其特征在于,所 述進(jìn)行遷移的數(shù)據(jù)包括新增元數(shù)據(jù)節(jié)點(diǎn)接管后的部分散列塊段和相應(yīng)虛擬磁盤信息。
【文檔編號(hào)】H04L29/08GK104113606SQ201410376147
【公開日】2014年10月22日 申請(qǐng)日期:2014年8月2日 優(yōu)先權(quán)日:2014年8月2日
【發(fā)明者】黃睿 申請(qǐng)人:成都致云科技有限公司