一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法
【專利摘要】本發(fā)明公開了一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法,該方法是通過集群控制器監(jiān)控物理節(jié)點(diǎn)狀態(tài)和保證數(shù)據(jù)傳輸?shù)恼_性;通過一致性哈希算法將每個存儲節(jié)點(diǎn)的物理空間進(jìn)行統(tǒng)一管理,組成邏輯存儲空間;通過多副本切片方式保證系統(tǒng)的可靠性。本發(fā)明存儲容量更大且具有彈性,主機(jī)虛擬化的存儲容量依賴于本機(jī)的資源,但一個主機(jī)由于硬件設(shè)計上的限制存儲容量不會無限增大,而采用本分布式系統(tǒng)之后存儲容量不再受主機(jī)存儲容量的限制,可以隨著客戶的要求任意的增加存儲資源或者減少存儲資源,最大化的提高了系統(tǒng)的存儲能力與彈性。
【專利說明】一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲的【技術(shù)領(lǐng)域】,特別涉及一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法。
【背景技術(shù)】
[0002]一個完整的存儲系統(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)。
[0003]傳統(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ù)、軟硬件更新和升級也是必須的。
[0004]傳統(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)險。
[0005]存在以上缺點(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)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法。
[0007]為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
[0008]一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法,包括下述步驟:
[0009]S1、采用集群控制器管理多個節(jié)點(diǎn),再將每個節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄;
[0010]S2、每臺物理節(jié)點(diǎn)加入集群后,會對該節(jié)點(diǎn)的存儲空間進(jìn)行計算,之后計算出所有節(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);
[0011]S3、系統(tǒng)的分配空間請求根據(jù)負(fù)載均衡部分的一致性哈希算法得到物理節(jié)點(diǎn)的實(shí)際空間,具體為每個節(jié)點(diǎn)對應(yīng)的虛節(jié)點(diǎn)作為哈希環(huán)中的元素,每個請求都計算哈希值,然后按順序在哈希環(huán)上搜索節(jié)點(diǎn),這樣可以對存儲空間進(jìn)行實(shí)際的使用,每個讀寫請求都會首先通過虛擬磁盤來進(jìn)行,虛擬磁盤將讀寫請求通過元數(shù)據(jù)提供的位置服務(wù)定位至具體的物理數(shù)據(jù)對象上,每個物理對象存在于不同的物理主機(jī)上,可以通過存有多個數(shù)據(jù)對象的副本來保證數(shù)據(jù)的可靠性;
[0012]優(yōu)選的,每一個數(shù)據(jù)片切分成多個對象,并且數(shù)據(jù)對象又會創(chuàng)建多份副本,數(shù)據(jù)的讀取過程如下:
[0013](I)用戶指定需要讀取的虛擬磁盤名稱、起始位置、長度等參數(shù);
[0014](2)系統(tǒng)根據(jù)虛擬磁盤名稱計算虛擬編號,并在對象索引中搜索,如果不存在則直接失敗返回;
[0015](3)通過該虛擬磁盤編號計算對象編號,并通過計算哈希值與虛節(jié)點(diǎn)編號列表比對,從虛節(jié)點(diǎn)編號列表中獲取固定副本數(shù)目的虛節(jié)點(diǎn)集合,并將該集合映射至物理節(jié)點(diǎn)中;
[0016](4)如果節(jié)點(diǎn)與本機(jī)相同,則直接從本機(jī)獲取數(shù)據(jù)對象并返回,如果不在本機(jī)則送至消息至目標(biāo)節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)返回數(shù)據(jù)后逐級返回結(jié)果;
[0017](5)如果目標(biāo)節(jié)點(diǎn)讀取失敗,則從其它備選節(jié)點(diǎn)集群中讀取數(shù)據(jù),然后同步至損壞節(jié)點(diǎn),之后逐級返回。
[0018]優(yōu)選的,數(shù)據(jù)的寫入過程為:
[0019](I)用戶指定需要寫入的虛擬磁盤名稱、起始位置、長度等參數(shù);
[0020](2)系統(tǒng)根據(jù)虛擬磁盤名稱計算虛擬磁盤編號,并在對象索引中搜索,如果不存在則直接失敗返回;
[0021](3)通過該虛擬磁盤編號計算對象編號,并通過計算哈希值與虛節(jié)點(diǎn)編號列表比對,從虛節(jié)點(diǎn)編號列表中獲取固定副本數(shù)目的虛節(jié)點(diǎn)集合,并將該集合映射至物理節(jié)點(diǎn)中;
[0022](4)系統(tǒng)逐一向節(jié)點(diǎn)列表中的節(jié)點(diǎn)發(fā)送寫入請求,全部返回成功后返回用戶寫結(jié)果,流程結(jié)束。
[0023]優(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)的可靠性。
[0024]優(yōu)選的,所述集群控制器,用于管理多個物理節(jié)點(diǎn),再將每個物理節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄;
[0025]所述空間分配模塊,根據(jù)負(fù)載均衡部分的一致性哈希算法得到物理節(jié)點(diǎn)的實(shí)際空間,這樣可以對存儲空間進(jìn)行實(shí)際的使用,每個讀寫請求都會首先通過虛擬磁盤來進(jìn)行,虛擬磁盤將讀寫請求通過元數(shù)據(jù)提供的位置服務(wù)定位至具體的物理數(shù)據(jù)對象上,每個物理對象存在于不同的物理主機(jī)上,可以通過存有多個數(shù)據(jù)對象的副本來保證數(shù)據(jù)的可靠性;
[0026]所述空間管理模塊,空間管理模塊是虛擬塊存儲子系統(tǒng)對外提供空間的管理模塊,用于實(shí)現(xiàn)根據(jù)虛擬空間的創(chuàng)建、讀寫。
[0027]優(yōu)選的,所述空間管理模塊存儲的數(shù)據(jù)交換由三個元素組成:偏移量、長度、數(shù)據(jù),偏移量是針對本虛擬磁盤的位置,數(shù)據(jù)操作指針指向該數(shù)據(jù)塊的偏移量位置,按照指定的數(shù)據(jù)長度,做數(shù)據(jù)寫入或讀取操作。[0028]本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:
[0029]1、本發(fā)明存儲容量更大且具有彈性,主機(jī)虛擬化的存儲容量依賴于本機(jī)的資源,但一個主機(jī)由于硬件設(shè)計上的限制存儲容量不會無限增大,而采用本分布式系統(tǒng)之后存儲容量不再受主機(jī)存儲容量的限制,可以隨著客戶的要求任意的增加存儲資源或者減少存儲資源,最大化的提聞了系統(tǒng)的存儲能力與彈性。
[0030]2、本發(fā)明具有更高的可用性主機(jī)虛擬化技術(shù)會由不可避免的硬件故障導(dǎo)致系統(tǒng)宕機(jī),因?yàn)橛布S著時間與時間的推移,不可避免的會由于老舊或者線路故障導(dǎo)致中斷服務(wù)。但是本分布式存儲虛擬化技術(shù),可以避免由于局部硬件設(shè)備損壞而影響系統(tǒng)的存取功能,因此具有更高的可用性。
【專利附圖】
【附圖說明】
[0031]圖1是本發(fā)明分布式虛擬化技術(shù)的控制結(jié)構(gòu)圖。
[0032]圖2是本發(fā)明邏輯空間與數(shù)據(jù)塊映射關(guān)系圖。
[0033]圖3是本發(fā)明邏輯空間與數(shù)據(jù)塊映射流程圖。
【具體實(shí)施方式】
[0034]下面結(jié)合實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。
[0035]實(shí)施例
[0036]針對主機(jī)存儲虛擬化的缺點(diǎn),采用分布式的虛擬化技術(shù)則可以解決現(xiàn)存的問題,分布式虛擬化技術(shù)采用集群控制器管理多個節(jié)點(diǎn),再將每個節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄,由此單獨(dú)的主機(jī)虛擬化可以進(jìn)行統(tǒng)一分配與使用,將物理空間變成一個彈性的邏輯上的空間。可以將邏輯上分散的、物理的資源虛擬化成一個完整的、邏輯資源,由用戶按照任意(系統(tǒng)設(shè)計與實(shí)現(xiàn)也是有限制的)的大小來使用存儲資源,空間管理的設(shè)計主要是將物理資源變成邏輯資源。內(nèi)存中記錄每個節(jié)點(diǎn)的空間,將所有空間相加做為完整的邏輯空間,使用統(tǒng)一的空間對外提供存儲功能,每次業(yè)務(wù)請求都通過哈希計算獲取鍵值,在哈希環(huán)上進(jìn)行順時針旋轉(zhuǎn)找到對應(yīng)的物理節(jié)點(diǎn),對該物理節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的讀寫。相關(guān)原理請見圖1。
[0037]每臺物理節(jié)點(diǎn)加入集群后,會對該節(jié)點(diǎn)的存儲空間進(jìn)行計算,之后計算出所有節(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)。
[0038]系統(tǒng)的分配空間請求根據(jù)負(fù)載均衡部分的一致性哈希算法得到物理節(jié)點(diǎn)的實(shí)際空間,這樣可以對存儲空間進(jìn)行實(shí)際的使用。每個讀寫請求都會首先通過虛擬磁盤來進(jìn)行,虛擬磁盤將讀寫請求通過元數(shù)據(jù)提供的位置服務(wù)定位至具體的物理數(shù)據(jù)對象上,每個物理對象存在于不同的物理主機(jī)上,可以通過存有多個數(shù)據(jù)對象的副本來保證數(shù)據(jù)的可靠性。
[0039]空間管理模塊的主要實(shí)現(xiàn)功能有虛擬空間的創(chuàng)建,讀寫等??臻g管理模塊是虛擬塊存儲子系統(tǒng)對外提供空間的管理模塊,塊存儲的數(shù)據(jù)交換由三個元素組成:偏移量、長度、數(shù)據(jù)。偏移量是針對本虛擬磁盤的位置,數(shù)據(jù)操作指針指向該數(shù)據(jù)塊的偏移量位置,按照指定的數(shù)據(jù)長度,做數(shù)據(jù)寫入或讀取操作。
[0040]一個完整的數(shù)據(jù)空間在空間管理模塊內(nèi)拆分成固定大小的數(shù)據(jù)塊,每次讀寫請求是一塊連續(xù)的數(shù)據(jù),按照2M的倍數(shù)計算每字節(jié)數(shù)據(jù)的位置,分別對應(yīng)到數(shù)據(jù)塊中進(jìn)行讀寫操作;相關(guān)原理請參見圖2所示,圖2邏輯空間與數(shù)據(jù)塊映射關(guān)系。
[0041]如圖3所示,每一個數(shù)據(jù)片會切分成多個數(shù)據(jù)對象,并且數(shù)據(jù)對象又會創(chuàng)建多份副本,所以數(shù)據(jù)的讀寫需要考慮同時并發(fā)的應(yīng)用場景。
[0042]數(shù)據(jù)讀取的過程如下:
[0043](I)用戶指定需要讀取的虛擬磁盤名稱、起始位置、長度等參數(shù);
[0044](2)系統(tǒng)根據(jù)虛擬磁盤名稱計算虛擬磁盤編號,并在對象索引中搜索,如果不存在則直接失敗返回;
[0045](3)通過該虛擬磁盤編號計算對象編號,并通過計算哈希值與虛節(jié)點(diǎn)編號列表比對,從虛節(jié)點(diǎn)編號列表中獲取固定副本數(shù)目的虛節(jié)點(diǎn)集合,并將該集合映射至物理節(jié)點(diǎn)中;
[0046](4)如果節(jié)點(diǎn)與本機(jī)相同,則直接從本機(jī)獲取數(shù)據(jù)對象并返回,如果不在本機(jī)則送至消息至目標(biāo)節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)返回數(shù)據(jù)后逐級返回結(jié)果。
[0047](5)如果目標(biāo)節(jié)點(diǎn)讀取失敗,則從其它備選節(jié)點(diǎn)集群中讀取數(shù)據(jù),然后同步至損壞節(jié)點(diǎn),之后逐級返回。
[0048]由以上第(5)條可以看到,當(dāng)系統(tǒng)中的某部分?jǐn)?shù)據(jù)對象丟失時,不會影響數(shù)據(jù)的讀取操作的成功,系統(tǒng)會從完整節(jié)點(diǎn)的位置讀取數(shù)據(jù)同步至丟失數(shù)據(jù)的節(jié)點(diǎn),但是這個修復(fù)的過程會占用一定的響應(yīng)是時間。
[0049]數(shù)據(jù)寫入與讀取不同,讀取數(shù)據(jù)要求盡最大可能快速的讀取到數(shù)據(jù),而數(shù)據(jù)寫入要做到強(qiáng)一致性,即將數(shù)據(jù)全部寫入每一個對象編號所在的目標(biāo)節(jié)點(diǎn)時才會返回成功,其它方面與數(shù)據(jù)讀取類似,具體流程如下:
[0050](I)用戶指定需要寫入的虛擬磁盤名稱、起始位置、長度等參數(shù);
[0051](2)系統(tǒng)根據(jù)虛擬磁盤名稱計算虛擬磁盤編號,并在對象索引中搜索,如果不存在則直接失敗返回;
[0052](3)通過該虛擬磁盤編號計算對象編號,并通過計算哈希值與虛節(jié)點(diǎn)編號列表比對,從虛節(jié)點(diǎn)編號列表中獲取固定副本數(shù)目的虛節(jié)點(diǎn)集合,并將該集合映射至物理節(jié)點(diǎn)中;
[0053](4)系統(tǒng)逐一向節(jié)點(diǎn)列表中的節(jié)點(diǎn)發(fā)送寫入請求,全部返回成功后返回用戶寫結(jié)果,流程結(jié)束。
[0054]上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式存儲系統(tǒng)的數(shù)據(jù)分片方法,其特征在于,包括下述步驟: .51、采用集群控制器管理多個節(jié)點(diǎn),再將每個節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄; . 52、每臺物理節(jié)點(diǎn)加入集群后,會對該節(jié)點(diǎn)的存儲空間進(jìn)行計算,之后計算出所有節(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); .53、系統(tǒng)的分配空間請求根據(jù)負(fù)載均衡部分的一致性哈希算法得到物理節(jié)點(diǎn)的實(shí)際空間,具體為每個節(jié)點(diǎn)對應(yīng)的虛節(jié)點(diǎn)作為哈希環(huán)中的元素,每個請求都計算哈希值,然后按順序在哈希環(huán)上搜索節(jié)點(diǎn),這樣可以對存儲空間進(jìn)行實(shí)際的使用,每個讀寫請求都會首先通過虛擬磁盤來進(jìn)行,虛擬磁盤將讀寫請求通過元數(shù)據(jù)提供的位置服務(wù)定位至具體的物理數(shù)據(jù)對象上,每個物理對象存在于不同的物理主機(jī)上,可以通過存有多個數(shù)據(jù)對象的副本來保證數(shù)據(jù)的可靠性。
2.根據(jù)權(quán)利要求1所述的分布式存儲系統(tǒng)數(shù)據(jù)分片方法,其特征在于,每一個數(shù)據(jù)片切分成多個對象,并且數(shù)據(jù)對象又會創(chuàng)建多份副本,數(shù)據(jù)的讀取過程如下: (1)用戶指定需要讀取的虛擬磁盤名稱、起始位置、長度參數(shù); (2)系統(tǒng)根據(jù)虛擬磁盤名稱計算虛擬編號,并在對象索引中搜索,如果不存在則直接失敗返回; (3)通過該虛擬磁盤編號計算對象編號,并通過計算哈希值與虛節(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)返回數(shù)據(jù)后逐級返回結(jié)果; (5)如果目標(biāo)節(jié)點(diǎn)讀取失敗,則從其它備選節(jié)點(diǎn)集群中讀取數(shù)據(jù),然后同步至損壞節(jié)點(diǎn),之后逐級返回。
3.根據(jù)權(quán)利要求1所述的分布式存儲系統(tǒng)數(shù)據(jù)分片方法,其特征在于,數(shù)據(jù)的寫入過程為: (1)用戶指定需要寫入的虛擬磁盤名稱、起始位置、長度參數(shù); (2)系統(tǒng)根據(jù)虛擬磁盤名稱計算虛擬磁盤編號,并在對象索引中搜索,如果不存在則直接失敗返回; (3)通過該虛擬磁盤編號計算對象編號,并通過計算哈希值與虛節(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é)束。
4.根據(jù)權(quán)利要求1所述的分布式存儲系統(tǒng)數(shù)據(jù)分片方法,其特征在于,該存儲系統(tǒng)包括集群控制器、空間分配模塊以及空間管理模塊,所述集群控制器、空間分配模塊以及空間管理模塊順序連接;該系統(tǒng)通過集群控制器監(jiān)控物理節(jié)點(diǎn)狀態(tài)和保證數(shù)據(jù)傳輸?shù)恼_性;通過一致性哈希算法將每個存儲節(jié)點(diǎn)的物理空間進(jìn)行統(tǒng)一管理,組成邏輯存儲空間;通過多副本切片方式保證系統(tǒng)的可靠性。
5.根據(jù)權(quán)利要求4所述的分布式存儲系統(tǒng)數(shù)據(jù)分片方法,其特征在于,所述集群控制器,用于管理多個物理節(jié)點(diǎn),再將每個物理節(jié)點(diǎn)的物理存儲資源進(jìn)行匯總,同步至每個節(jié)點(diǎn)內(nèi)存中進(jìn)行記錄; 所述空間分配模塊,根據(jù)負(fù)載均衡部分的一致性哈希算法得到物理節(jié)點(diǎn)的實(shí)際空間,這樣可以對存儲空間進(jìn)行實(shí)際的使用,每個讀寫請求都會首先通過虛擬磁盤來進(jìn)行,虛擬磁盤將讀寫請求通過元數(shù)據(jù)提供的位置服務(wù)定位至具體的物理數(shù)據(jù)對象上,每個物理對象存在于不同的物理主機(jī)上,可以通過存有多個數(shù)據(jù)對象的副本來保證數(shù)據(jù)的可靠性; 所述空間管理模塊,空間管理模塊是虛擬塊存儲子系統(tǒng)對外提供空間的管理模塊,用于實(shí)現(xiàn)根據(jù)虛擬空間的創(chuàng)建、讀寫。
6.根據(jù)權(quán)利要求4所述的分布式存儲系統(tǒng)數(shù)據(jù)分片方法,其特征在于,所述空間管理模塊存儲的數(shù)據(jù)交換由三個元素組成:偏移量、長度、數(shù)據(jù),偏移量是針對本虛擬磁盤的位置, 數(shù)據(jù)操作指針指向該數(shù)據(jù)塊的偏移量位置,按照指定的數(shù)據(jù)長度,做數(shù)據(jù)寫入或讀取操作。
【文檔編號】H04L29/08GK103929500SQ201410189121
【公開日】2014年7月16日 申請日期:2014年5月6日 優(yōu)先權(quán)日:2014年5月6日
【發(fā)明者】劉躍 申請人:劉躍