[發(fā)明專利]一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法在審
| 申請?zhí)枺?/td> | 201410189121.5 | 申請日: | 2014-05-06 |
| 公開(公告)號: | CN103929500A | 公開(公告)日: | 2014-07-16 |
| 發(fā)明(設(shè)計(jì))人: | 劉躍 | 申請(專利權(quán))人: | 劉躍 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 廣州市華學(xué)知識產(chǎn)權(quán)代理有限公司 44245 | 代理人: | 黃磊 |
| 地址: | 510663 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 存儲系統(tǒng) 數(shù)據(jù) 分片 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲的技術(shù)領(lǐng)域,特別涉及一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法。
背景技術(shù)
一個完整的存儲系統(tǒng)至少要具備存儲節(jié)點(diǎn)和控制節(jié)點(diǎn),存儲節(jié)點(diǎn)負(fù)責(zé)存放文件,控制節(jié)點(diǎn)作為文件索引,并負(fù)責(zé)監(jiān)控存儲節(jié)點(diǎn)間容量及負(fù)載的均衡,這2個部分合起來便組成一個存儲系統(tǒng)。
傳統(tǒng)的存儲系統(tǒng)多采用串行架構(gòu),將存儲節(jié)點(diǎn)和控制節(jié)點(diǎn)放在一臺設(shè)備上,存儲容量分配受到物理硬盤限制,當(dāng)我們要部署新的存儲設(shè)備擴(kuò)容時。我們必須非常清楚這個存儲設(shè)備是什么型號,什么接口和傳輸協(xié)議,必須清楚地知道存儲系統(tǒng)中有多少塊磁盤,分別是什么型號、多大容量,必須清楚存儲設(shè)備和服務(wù)器之間采用什么樣的連接線纜。為了保證數(shù)據(jù)安全和業(yè)務(wù)的連續(xù)性,我們還需要建立相應(yīng)的數(shù)據(jù)備份系統(tǒng)和容災(zāi)系統(tǒng)。除此之外,對存儲設(shè)備進(jìn)行定期的狀態(tài)監(jiān)控、維護(hù)、軟硬件更新和升級也是必須的。
傳統(tǒng)存儲系統(tǒng)存在采購成本高、系統(tǒng)封閉、維護(hù)性差、擴(kuò)展性低、可用性受限等問題。如在需要進(jìn)行系統(tǒng)擴(kuò)容或者更換硬件時,通常需要停止服務(wù)并進(jìn)行一系列的復(fù)雜操作才能成功;同時,由于架構(gòu)上的局限性,傳統(tǒng)存儲仍然有幾項(xiàng)重要的技術(shù)問題有待解決,例如單點(diǎn)故障問題、腦分裂問題等,使客戶的數(shù)據(jù)存在丟失或者間斷服務(wù)的風(fēng)險。
存在以上缺點(diǎn)主要是因?yàn)閭鹘y(tǒng)的存儲系統(tǒng)架構(gòu)上的局限性,其將存儲節(jié)點(diǎn)與控制節(jié)點(diǎn)部署在同一臺設(shè)備上,即將軟件與硬件設(shè)備捆綁提供存儲服務(wù),軟件脫離了固有硬件無法在其他存儲設(shè)備上運(yùn)行,對硬件設(shè)備依賴性大,沒有做到軟硬件分離。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法。
為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法,包括下述步驟:
S1、采用集群控制器管理多個節(jié)點(diǎn),再將每個節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄;
S2、每臺物理節(jié)點(diǎn)加入集群后,會對該節(jié)點(diǎn)的存儲空間進(jìn)行計(jì)算,之后計(jì)算出所有節(jié)點(diǎn)存儲總和,將該節(jié)點(diǎn)存儲容量除以全部節(jié)點(diǎn)的容量得到權(quán)重值,再用該權(quán)重值乘以默認(rèn)虛節(jié)點(diǎn)個數(shù),得到該節(jié)點(diǎn)的虛節(jié)點(diǎn)實(shí)際數(shù)目,再將該節(jié)點(diǎn)映射至虛節(jié)點(diǎn)列表中生成對應(yīng)數(shù)目的虛節(jié)點(diǎn);
S3、系統(tǒng)的分配空間請求根據(jù)負(fù)載均衡部分的一致性哈希算法得到物理節(jié)點(diǎn)的實(shí)際空間,具體為每個節(jié)點(diǎn)對應(yīng)的虛節(jié)點(diǎn)作為哈希環(huán)中的元素,每個請求都計(jì)算哈希值,然后按順序在哈希環(huán)上搜索節(jié)點(diǎn),這樣可以對存儲空間進(jìn)行實(shí)際的使用,每個讀寫請求都會首先通過虛擬磁盤來進(jìn)行,虛擬磁盤將讀寫請求通過元數(shù)據(jù)提供的位置服務(wù)定位至具體的物理數(shù)據(jù)對象上,每個物理對象存在于不同的物理主機(jī)上,可以通過存有多個數(shù)據(jù)對象的副本來保證數(shù)據(jù)的可靠性;
優(yōu)選的,每一個數(shù)據(jù)片切分成多個對象,并且數(shù)據(jù)對象又會創(chuàng)建多份副本,數(shù)據(jù)的讀取過程如下:
(1)用戶指定需要讀取的虛擬磁盤名稱、起始位置、長度等參數(shù);
(2)系統(tǒng)根據(jù)虛擬磁盤名稱計(jì)算虛擬編號,并在對象索引中搜索,如果不存在則直接失敗返回;
(3)通過該虛擬磁盤編號計(jì)算對象編號,并通過計(jì)算哈希值與虛節(jié)點(diǎn)編號列表比對,從虛節(jié)點(diǎn)編號列表中獲取固定副本數(shù)目的虛節(jié)點(diǎn)集合,并將該集合映射至物理節(jié)點(diǎn)中;
(4)如果節(jié)點(diǎn)與本機(jī)相同,則直接從本機(jī)獲取數(shù)據(jù)對象并返回,如果不在本機(jī)則送至消息至目標(biāo)節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)返回?cái)?shù)據(jù)后逐級返回結(jié)果;
(5)如果目標(biāo)節(jié)點(diǎn)讀取失敗,則從其它備選節(jié)點(diǎn)集群中讀取數(shù)據(jù),然后同步至損壞節(jié)點(diǎn),之后逐級返回。
優(yōu)選的,數(shù)據(jù)的寫入過程為:
(1)用戶指定需要寫入的虛擬磁盤名稱、起始位置、長度等參數(shù);
(2)系統(tǒng)根據(jù)虛擬磁盤名稱計(jì)算虛擬磁盤編號,并在對象索引中搜索,如果不存在則直接失敗返回;
(3)通過該虛擬磁盤編號計(jì)算對象編號,并通過計(jì)算哈希值與虛節(jié)點(diǎn)編號列表比對,從虛節(jié)點(diǎn)編號列表中獲取固定副本數(shù)目的虛節(jié)點(diǎn)集合,并將該集合映射至物理節(jié)點(diǎn)中;
(4)系統(tǒng)逐一向節(jié)點(diǎn)列表中的節(jié)點(diǎn)發(fā)送寫入請求,全部返回成功后返回用戶寫結(jié)果,流程結(jié)束。
優(yōu)選的,該存儲系統(tǒng)包括集群控制器、空間分配模塊以及空間管理模塊,所述集群控制器、空間分配模塊以及空間管理模塊順序連接;該系統(tǒng)通過集群控制器監(jiān)控物理節(jié)點(diǎn)狀態(tài)和保證數(shù)據(jù)傳輸?shù)恼_性;通過一致性哈希算法將每個存儲節(jié)點(diǎn)的物理空間進(jìn)行統(tǒng)一管理,組成邏輯存儲空間;通過多副本切片方式保證系統(tǒng)的可靠性。
優(yōu)選的,所述集群控制器,用于管理多個物理節(jié)點(diǎn),再將每個物理節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于劉躍,未經(jīng)劉躍許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410189121.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 用于處理到遠(yuǎn)程存儲位置的故障恢復(fù)的方法、系統(tǒng)以及程序
- 包括向外擴(kuò)展型存儲系統(tǒng)的存儲系統(tǒng)群及其管理方法
- 一種移動存儲系統(tǒng)及其存儲方法
- 存儲系統(tǒng)的數(shù)據(jù)備份與恢復(fù)系統(tǒng)、方法、設(shè)備及存儲介質(zhì)
- 在線遷移異構(gòu)系統(tǒng)數(shù)據(jù)的方法、裝置、設(shè)備和存儲介質(zhì)
- 建立存儲系統(tǒng)伙伴關(guān)系的方法及裝置
- 數(shù)據(jù)處理系統(tǒng)及其操作方法
- 一種容災(zāi)平臺及一種容災(zāi)方法
- 在基于云的存儲系統(tǒng)中服務(wù)I/O操作
- 一種數(shù)據(jù)修復(fù)方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





