亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種多副本存儲(chǔ)快速校驗(yàn)一致性方法及其裝置與流程

文檔序號(hào):11275960閱讀:568來(lái)源:國(guó)知局
一種多副本存儲(chǔ)快速校驗(yàn)一致性方法及其裝置與流程

本發(fā)明涉及分布式數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)校驗(yàn)技術(shù)領(lǐng)域,尤其涉及多副本存儲(chǔ)快速校驗(yàn)一致性方法及其裝置。



背景技術(shù):

現(xiàn)有的分布式存儲(chǔ)系統(tǒng)中,絕大多數(shù)是通過(guò)多副本技術(shù)來(lái)提升系統(tǒng)可靠性、可用性、性能以及可擴(kuò)展性。

多副本技術(shù)可以保證分布式存儲(chǔ)系統(tǒng)中個(gè)別主機(jī)和磁盤發(fā)生故障時(shí),系統(tǒng)還能提供正常的讀寫服務(wù),提高系統(tǒng)的可靠性,多個(gè)副本可以用于分流和加快響應(yīng)時(shí)間。但分布式存儲(chǔ)系統(tǒng)都是通過(guò)網(wǎng)絡(luò)通信,網(wǎng)絡(luò)的不穩(wěn)定性容易造成后端數(shù)據(jù)不一致,并且分布式存儲(chǔ)系統(tǒng)一般包含較多的服務(wù)器主機(jī)和磁盤數(shù)量,硬件損壞的概率也比較高。如果不能快速檢測(cè)副本的一致性,分布式存儲(chǔ)系統(tǒng)的數(shù)據(jù)完整性和高可用性就大大降低。

現(xiàn)有校驗(yàn)一致性方法主要是計(jì)算文件的哈希值,并對(duì)比多個(gè)副本文件的哈希值是否一致來(lái)判斷文件是否數(shù)據(jù)一致。但如果對(duì)于大型文件,計(jì)算哈希值將消耗大量的cpu和磁盤帶寬,嚴(yán)重影響系統(tǒng)的性能。文件不一致的位置往往比較少,但計(jì)算文件哈希值需要讀取整個(gè)文件的內(nèi)容,造成巨大資源的浪費(fèi)。



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

為解決以上問題,本發(fā)明提供了一種基于稀疏文件的快速文件哈希計(jì)算方法和基于快照技術(shù)的多副本一致性快速檢測(cè)方法。

本發(fā)明提供了一種多副本存儲(chǔ)快速校驗(yàn)一致性方法,包含以下步驟:

s1:在系統(tǒng)處于空閑狀態(tài)時(shí),判斷head文件的數(shù)據(jù)寫入量,當(dāng)head文件的數(shù)據(jù)寫入量達(dá)到整個(gè)稀疏文件的30%以上時(shí),采用i/o重定向技術(shù)創(chuàng)建一次快照文件,繼續(xù)寫入數(shù)據(jù)的新的head文件作為空白對(duì)照的稀疏文件,計(jì)算快照文件的哈希值,把哈希值作為快照文件的擴(kuò)展屬性保存起來(lái);

s2:每隔預(yù)定時(shí)間對(duì)head文件進(jìn)行一次快照操作,如果發(fā)生異常情況,需要及時(shí)驗(yàn)證數(shù)據(jù)的一致性時(shí),只需計(jì)算新的head文件的哈希值,并將新的head文件的哈希值與快照文件的哈希值對(duì)比,以此校驗(yàn)多副本存儲(chǔ)時(shí)數(shù)據(jù)的一致性。

優(yōu)選地,所述方法還包括:

s3:對(duì)多個(gè)快照文件進(jìn)行合并,并重新計(jì)算合并后的快照文件的哈希值,把哈希值作為合并后的快照文件的擴(kuò)展屬性保存起來(lái)。

優(yōu)選地,所述存儲(chǔ)組件包括head文件和對(duì)應(yīng)的快照文件,head文件和快照文件都是大小相等的稀疏文件。

優(yōu)選地,所述哈希值計(jì)算方法包括以下步驟:

ss1,利用lseek函數(shù)調(diào)用,獲取整個(gè)head文件數(shù)據(jù)段信息;

ss2,把每個(gè)數(shù)據(jù)塊的偏移量和數(shù)據(jù)長(zhǎng)度結(jié)合起來(lái)作為head文件信息和head文件數(shù)據(jù)一起作為哈希函數(shù)的輸入,輸出得到head文件的哈希值。

優(yōu)選地,所述存儲(chǔ)組件的讀寫方法包括:

寫i/o寫入到head文件,讀i/o先判斷head文件是否存在數(shù)據(jù),如果存在,進(jìn)入s01,如果不存在,進(jìn)入s02,直至讀到數(shù)據(jù)或者到最底層快照文件;

s01,讀取數(shù)據(jù)并返回,

s02,判斷下一級(jí)快照文件是否存在數(shù)據(jù);

優(yōu)選地,創(chuàng)建稀疏文件時(shí),文件索引節(jié)點(diǎn)記錄head文件的大小,沒有數(shù)據(jù)寫入時(shí)不給head文件分配磁盤空間,當(dāng)有數(shù)據(jù)寫入時(shí)才給head文件分配磁盤空間。

優(yōu)選地,所述快照方法采用i/o重定向方法。

本發(fā)明還提供了一種多副本存儲(chǔ)快速校驗(yàn)一致性裝置,包括控制主機(jī)和存儲(chǔ)主機(jī),所述控制主機(jī)生成虛擬磁盤,作為存儲(chǔ)數(shù)據(jù)路徑的前端主機(jī),完成數(shù)據(jù)接收、轉(zhuǎn)發(fā)功能;存儲(chǔ)主機(jī)作為數(shù)據(jù)最終的存放地點(diǎn),將存儲(chǔ)資源抽象成多個(gè)由稀疏文件鏈組成存儲(chǔ)組件。

本發(fā)明提供一種多副本存儲(chǔ)快速校驗(yàn)一致性方法,結(jié)合分布式塊存儲(chǔ)的特點(diǎn),提出了一種基于快照技術(shù)的多副本一致性快速檢測(cè)方法,哈希值計(jì)算的任務(wù)分成多個(gè)時(shí)間段進(jìn)行,在系統(tǒng)比較空閑的時(shí)候計(jì)算文件的哈希值,避免影響系統(tǒng)正常的讀寫業(yè)務(wù)。

附圖說(shuō)明

下面結(jié)合附圖,通過(guò)對(duì)本發(fā)明的具體實(shí)施方式詳細(xì)描述,將使本發(fā)明的技術(shù)方案及其它有益效果顯而易見。

圖1為一種多副本存儲(chǔ)快速校驗(yàn)一致性方法流程圖;

圖2為存儲(chǔ)組件結(jié)構(gòu)示意圖;

圖3為哈希值計(jì)算方法方框圖;

圖4為儲(chǔ)存組件讀寫方法方框圖;

圖5為一種多副本存儲(chǔ)快速校驗(yàn)一致性裝置方框圖。

具體實(shí)施方式

為更進(jìn)一步闡述本發(fā)明所采取的技術(shù)手段及其效果,以下結(jié)合本發(fā)明的優(yōu)選實(shí)施例及其附圖進(jìn)行詳細(xì)描述。

為解決以上問題,本發(fā)明提供了一種基于稀疏文件的快速文件哈希計(jì)算方法和基于快照技術(shù)的多副本一致性快速檢測(cè)方法。

請(qǐng)參考圖1,本發(fā)明提供了一種多副本存儲(chǔ)快速校驗(yàn)一致性方法,包含以下步驟:

s1:在系統(tǒng)處于空閑狀態(tài)時(shí),判斷head文件的數(shù)據(jù)寫入量,當(dāng)head文件的數(shù)據(jù)寫入量達(dá)到整個(gè)稀疏文件的30%以上時(shí),采用i/o重定向技術(shù)創(chuàng)建一次快照文件,繼續(xù)寫入數(shù)據(jù)的新的head文件作為空白對(duì)照的稀疏文件,計(jì)算快照文件的哈希值,把哈希值作為快照文件的擴(kuò)展屬性保存起來(lái);

s2:每隔預(yù)定時(shí)間對(duì)head文件進(jìn)行一次快照操作,如果發(fā)生異常情況,需要及時(shí)驗(yàn)證數(shù)據(jù)的一致性時(shí),只需計(jì)算新的head文件的哈希值,并將新的head文件的哈希值與快照文件的哈希值對(duì)比,以此校驗(yàn)多副本存儲(chǔ)時(shí)數(shù)據(jù)的一致性。

如果發(fā)生異常情況,需要及時(shí)驗(yàn)證數(shù)據(jù)的一致性,只需計(jì)算head文件的哈希值,此時(shí)雖然前段還有寫i/o造成的head文件修改,由于在進(jìn)行副本一致性判斷之間,由于是采用i/o重定向技術(shù)對(duì)數(shù)據(jù)進(jìn)行了一次快照操作創(chuàng)建了快照文件,所有寫i/o操作都會(huì)寫入head文件中,快照文件不會(huì)被寫i/o修改,在進(jìn)行文件一致性判斷的過(guò)程中,前端虛擬塊設(shè)備不用暫停讀寫i/o的操作。

本發(fā)明提供一種多副本存儲(chǔ)快速校驗(yàn)一致性方法,結(jié)合分布式塊存儲(chǔ)的特點(diǎn),提出了一種基于快照技術(shù)的多副本一致性快速檢測(cè)方法,哈希值計(jì)算的任務(wù)分成多個(gè)時(shí)間段進(jìn)行,在系統(tǒng)比較空閑的時(shí)候計(jì)算文件的哈希值,避免影響系統(tǒng)正常的讀寫業(yè)務(wù)。

優(yōu)選地,所述方法還包括:

s3:對(duì)多個(gè)快照文件進(jìn)行合并,以在快照文件過(guò)多、系統(tǒng)負(fù)載比較低時(shí),減少文件數(shù)量和磁盤空間的使用量,降低磁盤帶寬消耗,并重新計(jì)算合并后的快照文件的哈希值,把哈希值作為合并后的快照文件的擴(kuò)展屬性保存起來(lái)。

其中,所述存儲(chǔ)組件包括head文件和對(duì)應(yīng)的快照文件,head文件和快照文件都是大小相等的稀疏文件。為本發(fā)明存儲(chǔ)組件結(jié)構(gòu)圖。如圖2所示,為本發(fā)明存儲(chǔ)組件結(jié)構(gòu)圖。存儲(chǔ)組件包括head文件和對(duì)應(yīng)的快照文件,head文件和快照文件都是大小相等的稀疏文件。稀疏文件的大小就是存儲(chǔ)組件的大小,在創(chuàng)建虛擬磁盤時(shí)就指定了存儲(chǔ)組件的大小,大小為1g-128g。

請(qǐng)參考圖3,優(yōu)選地,所述哈希值計(jì)算方法包括以下步驟:

ss1,利用lseek函數(shù)調(diào)用,獲取整個(gè)head文件數(shù)據(jù)段信息;

ss2,把每個(gè)數(shù)據(jù)塊的偏移量和數(shù)據(jù)長(zhǎng)度結(jié)合起來(lái)作為head文件信息和head文件數(shù)據(jù)一起作為哈希函數(shù)的輸入,輸出得到head文件的哈希值。避免計(jì)算head文件空洞部分的哈希值,大大加快head文件的哈希值的計(jì)算速度,提高一致性檢測(cè)速度。

請(qǐng)參考圖4,優(yōu)選地,所述存儲(chǔ)組件的讀寫方法包括:

寫i/o寫入到head文件,讀i/o先判斷head文件是否存在數(shù)據(jù),如果存在,進(jìn)入s01,如果不存在,進(jìn)入s02,直至讀到數(shù)據(jù)或者到最底層快照文件;

s01,讀取數(shù)據(jù)并返回,

s02,判斷下一級(jí)快照文件是否存在數(shù)據(jù);

優(yōu)選地,創(chuàng)建稀疏文件時(shí),文件索引節(jié)點(diǎn)記錄head文件的大小,沒有數(shù)據(jù)寫入時(shí)不給head文件分配磁盤空間,當(dāng)有數(shù)據(jù)寫入時(shí)才給head文件分配磁盤空間。

請(qǐng)參考圖5,本發(fā)明還提供了一種多副本存儲(chǔ)快速校驗(yàn)一致性裝置,包括控制主機(jī)和存儲(chǔ)主機(jī),所述控制主機(jī)生成虛擬磁盤,作為存儲(chǔ)數(shù)據(jù)路徑的前端主機(jī),完成數(shù)據(jù)接收、轉(zhuǎn)發(fā)功能;存儲(chǔ)主機(jī)作為數(shù)據(jù)最終的存放地點(diǎn),將存儲(chǔ)資源抽象成多個(gè)由稀疏文件鏈組成存儲(chǔ)組件。

本發(fā)明提出一種高速度,低磁盤帶寬消耗的多副本存儲(chǔ)快速校驗(yàn)一致性方法,使用一種改進(jìn)的計(jì)算稀疏文件哈希值的方法來(lái)校驗(yàn)副本之間的一致性,并基于快照技術(shù)把一個(gè)組件的數(shù)據(jù)分成多個(gè)快照文件存儲(chǔ)??梢栽谙到y(tǒng)空閑的時(shí)候計(jì)算快照文件的哈希值,充分利用系統(tǒng)的資源。當(dāng)需要校驗(yàn)多個(gè)副本的一致性時(shí),只需校驗(yàn)head文件,由于head文件的數(shù)據(jù)量比較小,所以可以及時(shí)計(jì)算出文件的哈希值,并且消耗很低的磁盤帶寬,對(duì)集群資源消耗低,避免影響系統(tǒng)正常的讀寫業(yè)務(wù),大大降低了對(duì)集群業(yè)務(wù)的影響。

以上所述,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技術(shù)方案和技術(shù)構(gòu)思作出其他各種相應(yīng)的改變和變形,而所有這些改變和變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1