欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于固態(tài)硬盤的彈性高可用緩存方法與流程

文檔序號:11177059閱讀:614來源:國知局
一種基于固態(tài)硬盤的彈性高可用緩存方法與流程

本發(fā)明涉及一種ssd的緩存方法,尤其是涉及一種基于固態(tài)硬盤的彈性高可用緩存方法。



背景技術(shù):

ssd(固態(tài)硬盤)是一種相對于傳統(tǒng)磁盤來說,價格昂貴,容量小,但性能優(yōu)異的存儲介質(zhì)。目前在企業(yè)級的存儲市場上ssd被用來作為高性能存儲系統(tǒng)的組件。但是由于其價格昂貴,存儲系統(tǒng)中無法全部使用ssd來作為存儲介質(zhì),所以目前一般使用ssd和磁盤的混合存儲方式。該方式既可提高系統(tǒng)性能,又不至于價格過分昂貴。

混合存儲方式包含多種使用機制,其中最通用的就是緩存機制,使用ssd來作為磁盤的緩存。這樣既可以發(fā)揮出ssd的高性能,又能利用磁盤容量大、價格便宜的優(yōu)勢。

當(dāng)前基于ssd的緩存主要是以一個ssd和一個磁盤綁定的方式進行使用,該種使用方式會帶來以下缺點:

1.存儲系統(tǒng)中會存在熱點區(qū)域,一對一綁定很難發(fā)揮出多個ssd的總體性能。

2.每個ssd盤被限定給特定磁盤使用,無法在系統(tǒng)中共享所有緩存資源。

3.在系統(tǒng)維護階段,很難改變緩存的容量,需要放棄原有緩存數(shù)據(jù),重新配置緩存,運維需要大量人力物力的投入。

4.在任意一塊ssd損壞的情況下,都會導(dǎo)致緩存數(shù)據(jù)丟失。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種基于固態(tài)硬盤的彈性高可用緩存方法,可以最大化的發(fā)揮系統(tǒng)性能、減少系統(tǒng)運維成本并提高存儲系統(tǒng)可用性。

本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn):

一種基于固態(tài)硬盤的彈性高可用緩存方法,包括:

1)基于分布式哈希建立一具有dht環(huán)的緩存池,所述dht環(huán)上映射有多個ssd的存儲資源;

2)將磁盤地址空間映射于所述緩存池中;

3)為每個磁盤創(chuàng)建一對應(yīng)的邏輯設(shè)備,通過該邏輯設(shè)備實現(xiàn)ssd與磁盤間的數(shù)據(jù)分發(fā)。

所述步驟1)中,所述dht環(huán)通過以下方式獲得:

101)為各ssd分配一唯一的標(biāo)識id;

102)根據(jù)所述標(biāo)識id,采用分布式哈希算法將各ssd的存儲資源放置于dht環(huán)中。

所述步驟2)具體為:

201)為各磁盤分配一唯一的標(biāo)識id;

202)根據(jù)所述標(biāo)識id,對各磁盤的空間地址進行編碼;

203)將編碼后的空間地址映射到所述dht環(huán)上。

所述步驟202)中,采用的編碼方式為64位地址編碼,其中0-47位是磁盤內(nèi)部地址偏移,48-59位是磁盤的標(biāo)識iid,60-63位是保留擴展區(qū)。

所述步驟3)中,通過邏輯設(shè)備實現(xiàn)ssd與磁盤間的數(shù)據(jù)分發(fā)具體為:

邏輯設(shè)備截獲發(fā)給對應(yīng)磁盤的數(shù)據(jù),根據(jù)該磁盤的空間地址在dht環(huán)上獲得該數(shù)據(jù)對應(yīng)的ssd,實現(xiàn)緩存。

所述根據(jù)該磁盤的空間地址在dht環(huán)上獲得該數(shù)據(jù)對應(yīng)的ssd具體為:

邏輯設(shè)備根據(jù)ssd中數(shù)據(jù)塊的大小將截獲的數(shù)據(jù)切割成若干數(shù)據(jù)塊,根據(jù)各數(shù)據(jù)塊地址進行一次分布式哈希計算,獲得緩存池中對應(yīng)的ssd,再通過第二次分布式哈希計算獲得ssd內(nèi)部的數(shù)據(jù)區(qū)域。

該方法在動態(tài)調(diào)整緩存池中ssd的個數(shù)時,緩存池進行數(shù)據(jù)重新映射調(diào)整,創(chuàng)建一新dht環(huán),將原dht環(huán)上的數(shù)據(jù)遷移至所述新dht環(huán)上,不再對原dht環(huán)進行資源分配。

進行數(shù)據(jù)訪問時,首先查詢新dht環(huán)是否存在緩存,若是,則進行數(shù)據(jù)響應(yīng),若否,則對原dht環(huán)進行查詢。

該方法對臟數(shù)據(jù)進行多副本配置,將磁盤的同一個編碼地址映射到兩個不同的ssd上,在獲對應(yīng)的ssd后,按順時針方向以第一個ssd為第一副本,以第二個ssd為第二副本,以此類推,實現(xiàn)多副本緩存。

與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:

(1)本發(fā)明根據(jù)分布式哈希(dht)算法進行數(shù)據(jù)分布,建立具有dht環(huán)的緩存池,使得緩存在使用過程中能夠把熱點磁盤或者熱點區(qū)域的數(shù)據(jù)分散到不同的ssd上,提高了數(shù)據(jù)的并行度,從而提高了系統(tǒng)性能。

(2)本發(fā)明增加、減少池中ssd盤,無需停止前臺數(shù)據(jù)訪問,緩存自身進行數(shù)據(jù)重新映射調(diào)整,根據(jù)分布式哈希算法使得數(shù)據(jù)重新均衡分布,能夠在讀、寫數(shù)據(jù)不間斷的情況下進行緩存池的擴張和收縮。

(3)本發(fā)明為緩存池提供臟數(shù)據(jù)副本機制,既可以提高系統(tǒng)的可用性,又不至于浪費過多的ssd空間。

附圖說明

圖1為本發(fā)明的ssd緩存池示意圖;

圖2為本發(fā)明的分布式哈希算法原理示意圖;

圖3為本發(fā)明中磁盤地址編碼示意圖;

圖4為ssd內(nèi)部數(shù)據(jù)區(qū)域劃分示意圖;

圖5為緩存數(shù)據(jù)分發(fā)示意圖;

圖6為數(shù)據(jù)遷移示意圖。

具體實施方式

下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例以本發(fā)明技術(shù)方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。

本實施例提供一種基于固態(tài)硬盤的彈性高可用緩存方法,包括:1)基于分布式哈希建立一具有dht環(huán)的緩存池,所述dht環(huán)上映射有多個ssd的存儲資源;2)將磁盤地址空間映射于所述緩存池中;3)為每個磁盤創(chuàng)建一對應(yīng)的邏輯設(shè)備,通過該邏輯設(shè)備實現(xiàn)ssd與磁盤間的數(shù)據(jù)分發(fā)。

1、緩存池創(chuàng)建

為各ssd分配一唯一的標(biāo)識id,根據(jù)所述標(biāo)識id,采用分布式哈希算法將各ssd的存儲資源放置于dht環(huán)中,創(chuàng)建基于分布式哈希的緩存池,其結(jié)構(gòu)如圖1所示,格式化ssd并加入到池中,加入原理示意圖如圖2所示。

ssd存儲空間被劃分成元數(shù)據(jù)區(qū)和數(shù)據(jù)區(qū),如圖4所示。元數(shù)據(jù)區(qū)用于存儲該ssd相關(guān)信息和數(shù)據(jù)映射信息。數(shù)據(jù)區(qū)劃分為同等大小的數(shù)據(jù)區(qū)域(extent),這些extent作為dht算法的基本單元,也是數(shù)據(jù)遷移的基本單元。在extent中把存儲資源劃分為同等大小數(shù)據(jù)塊(sippet),并創(chuàng)建資源分配器,用緩存資源的申請和訪問。該資源分配器可以為傳統(tǒng)jhash或者b-tree算法。

2、格式化磁盤并創(chuàng)建與磁盤相關(guān)的邏輯設(shè)備

為各磁盤分配一唯一的標(biāo)識id,根據(jù)所述標(biāo)識id,對各磁盤的空間地址進行編碼,將編碼后的空間地址映射到所述dht環(huán)上。磁盤的邏輯設(shè)備與緩存池中的ssd相關(guān)聯(lián)。

磁盤存儲空間劃分為元數(shù)據(jù)區(qū)和數(shù)據(jù)區(qū)。元數(shù)據(jù)區(qū)功能同ssd,數(shù)據(jù)區(qū)使用統(tǒng)一的線性空間訪問方式。

磁盤中的數(shù)據(jù)按照圖3所示,進行地址空間重新編碼,其中0-47位是磁盤內(nèi)部地址偏移,48-59位是磁盤id,60-63位是保留擴展區(qū)。

3、數(shù)據(jù)分發(fā)

數(shù)據(jù)首先發(fā)送到邏輯設(shè)備上,然后根據(jù)sippet的大小,數(shù)據(jù)被切割成若干對齊的數(shù)據(jù)塊,再把這些數(shù)據(jù)塊的地址按照如圖3所示方法進行編碼,用該編碼通過dht算法,計算出ssd池中與其對應(yīng)的ssd盤,再通過第二次dht算法在ssd內(nèi)部計算出與其對應(yīng)的extent。然后通過extent上的分配器查詢該地址是否在緩存中,如圖5所示。如果命中,則在ssd上進行數(shù)據(jù)響應(yīng);如果沒命中,則需要分配器從extent中分配相應(yīng)的sippet資源,然后根據(jù)寫回或者寫穿策略進行數(shù)據(jù)響應(yīng)。

如果配置臟數(shù)據(jù)多副本機制,并且數(shù)據(jù)操作為寫入操作的時候,則在第一次dht計算ssd時,計算出額外的ssd副本。讀取操作,只計算第一副本進行操作。

4、數(shù)據(jù)遷移

如圖6所示,在需要增加或者減少池中ssd的時候,無需停止前臺數(shù)據(jù)訪問,緩存自身進行數(shù)據(jù)重新映射調(diào)整,根據(jù)分布式哈希算法使得數(shù)據(jù)重新均衡分布??梢詣?chuàng)建一個新的dht環(huán)(dht2,原dht環(huán)為dht1),數(shù)據(jù)訪問的時候,需要先查詢dht2,如果沒有命中,還需要查詢dht1,如果都沒有命中,則認為緩存沒有命中,如果任何一個命中,則認為命中。

在dht1中不再進行資源分配,只進行緩存查詢。如果遷移過程中數(shù)據(jù)訪問沒有命中,則在dht2中分配緩存資源。

5、數(shù)據(jù)恢復(fù)

該方法可對臟數(shù)據(jù)進行多副本配置,將磁盤的同一個編碼地址映射到兩個不同的ssd上,在獲對應(yīng)的ssd后,按順時針方向以第一個ssd為第一副本,以第二個ssd為第二副本,以此類推,實現(xiàn)多副本緩存。

在臟數(shù)據(jù)多副本的配置下,如果一個ssd丟失,對于其上存儲的數(shù)據(jù),可以把臟數(shù)據(jù)從另一個ssd盤上的數(shù)據(jù)副本上進行數(shù)據(jù)恢復(fù),對于干凈的數(shù)據(jù),則可以直接從磁盤上進行數(shù)據(jù)恢復(fù)。根據(jù)用戶需要加入新的ssd替換原有ssd,或者直接刪除丟失的ssd,然后進行上述數(shù)據(jù)遷移即可恢復(fù)所有數(shù)據(jù)。

以上詳細描述了本發(fā)明的較佳具體實施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)人員無需創(chuàng)造性勞動就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實驗可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
永修县| 乐至县| 庆城县| 思南县| 辉南县| 眉山市| 务川| 榕江县| 贡嘎县| 赣州市| 甘谷县| 新丰县| 兴化市| 长岭县| 岳西县| 象州县| 右玉县| 钟山县| 平泉县| 二连浩特市| 青海省| 吉木萨尔县| 德化县| 美姑县| 临汾市| 芜湖市| 双鸭山市| 江陵县| 东兰县| 类乌齐县| 德钦县| 天长市| 安化县| 惠州市| 和田县| 若尔盖县| 沂源县| 德昌县| 潜山县| 田阳县| 长汀县|