两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法

文檔序號:6466122閱讀:200來源:國知局
專利名稱:一種分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計算機應(yīng)用領(lǐng)域的大容量存儲分布式文件系統(tǒng)及其管 理方法,具體涉及的是一種大規(guī)模分布式數(shù)據(jù)處理的文件系統(tǒng)及其冗余備 份數(shù)據(jù)塊一致性校驗和備份管理的方法。
背景技術(shù)
現(xiàn)有"R術(shù)中,大規(guī)^莫分布式數(shù)據(jù)處理的文件系統(tǒng)中,為了保證數(shù)據(jù)處 理的高效和元數(shù)據(jù)的集中管理, 一般都設(shè)計成一個元數(shù)據(jù)的集中管理服務(wù)器(如文件定位寄存服務(wù)器,F(xiàn)LR, File Location register),和其他若干 個數(shù)據(jù)文件存放服務(wù)器(如文件訪問服務(wù)器,F(xiàn)AS, File Access Service) 的架構(gòu)。用戶訪問數(shù)據(jù)時都要先通過文件訪問客戶端(FAC, File Access Client) 向FLR詢問數(shù)據(jù)的具體存放位置,然后由FAC再向具體的FAS發(fā)起讀寫 數(shù)據(jù)請求。FAS管理凄t據(jù)文件的方式是將文件數(shù)據(jù)劃分為一個一個的數(shù)據(jù) 塊(CHUNK),每個文件由若干個數(shù)據(jù)塊組成。數(shù)據(jù)塊和文件的對應(yīng)方式 由統(tǒng)一標識符FILEID來標識, 一個文件具有一個不同的FILEID,每個數(shù) 據(jù)塊CHUNK的標識CHUNKID是FILEID + CHUNK編號標識。文件的所 有CHUNK分布信息由FLR統(tǒng)一放入數(shù)據(jù)庫中管理。在大容量的集群系統(tǒng)中,通常數(shù)據(jù)塊是冗余備份的,也就是說對應(yīng)數(shù) 據(jù)塊存在在多個FAS上。但現(xiàn)有技術(shù)中這樣備份的兩個數(shù)據(jù)塊很難保證一 致性,這是一個比較嚴重的問題,其主要出現(xiàn)在如下情況中在寫操作的 過程中,如何保證同時在兩個FAS上寫出對應(yīng)份數(shù)據(jù);如果有一個FAS出現(xiàn)異?;蛘邠p壞的情況下,該FAS上的數(shù)據(jù)如何能重構(gòu)得到;如果在寫的 過程中,F(xiàn)LR出現(xiàn)異常,如何保證FLR記錄和FAS的一致性。由于涉及到海量的數(shù)據(jù)塊,現(xiàn)有技術(shù)不可能對數(shù)據(jù)塊采用MD5等常規(guī) 校驗方法,因為這會嚴重影響處理的性能。因此,現(xiàn)有技術(shù)還有待于改進和發(fā)展。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的 方法,為解決上述現(xiàn)有技術(shù)的問題,實現(xiàn)對海量數(shù)據(jù)的數(shù)據(jù)塊進行校驗以 及必要時的重構(gòu)。本發(fā)明的技術(shù)方案包括一種分布式文件系統(tǒng)中l(wèi)t據(jù)塊一致性管理的方法,其包括以下步驟A、 在生成每一數(shù)據(jù)塊時,由文件定位寄存服務(wù)器生成其對應(yīng)的計數(shù) 器值,同時存放在文件訪問服務(wù)器和文件定位寄存服務(wù)器上;B、 在對該數(shù)據(jù)塊寫數(shù)據(jù)時,文件訪問客戶端同時向主、備文件訪問服 務(wù)器寫數(shù)據(jù),如果都寫數(shù)據(jù)成功,則不對計數(shù)器值進行修改;否則,對寫 數(shù)據(jù)正常的文件訪問服務(wù)器中的數(shù)據(jù)塊計數(shù)器值按預(yù)定步長進行增加;C、 所述文件定位寄存服務(wù)器根據(jù)主、備文件訪問服務(wù)器上報的對應(yīng)數(shù) 據(jù)塊計數(shù)器值,以最大計數(shù)器值之數(shù)據(jù)塊為正常和有效,對異常之數(shù)據(jù)塊 進行重構(gòu)。所述的方法,其中,所述步驟B還包括Bl、在更改數(shù)據(jù)塊數(shù)據(jù)時,所述文件定位寄存服務(wù)器給所述文件訪問 客戶端返回該數(shù)據(jù)塊所在的主、備文件訪問服務(wù)器信息,所述文件訪問客 戶端向所述主、備文件訪問服務(wù)器發(fā)起修改數(shù)據(jù)操作;B2、如果主、備文件訪問服務(wù)器更改數(shù)據(jù)成功,則不發(fā)起該數(shù)據(jù)塊計 數(shù)器值的修改;否則,對正常更改數(shù)據(jù)的數(shù)據(jù)塊所在文件訪問服務(wù)器的計數(shù)器值進行按預(yù)定步長增加,同時按預(yù)定步長增加所述文件定位寄存服務(wù) 器上的對應(yīng)數(shù)據(jù)塊的計^t器值。所述的方法,其中,所述步驟B2中對數(shù)據(jù)塊計數(shù)器值的增加之預(yù)定步 長為每次加1。所述的方法,其中,所述步驟C還包括所述文件定位寄存服務(wù)器在 啟動時刻和以一定的時間間隔向所述文件訪問服務(wù)器發(fā)起數(shù)據(jù)塊校驗請 求。所述的方法,其中,所述數(shù)據(jù)塊校驗過程還包括Dl、所述文件訪問服務(wù)器把本地的所有數(shù)據(jù)塊標識上報給文件定位寄 存服務(wù)器,所述文件定位寄存服務(wù)器將先收到的數(shù)據(jù)塊標識組成HASH表, 后續(xù)收到的數(shù)據(jù)塊標識在該HASH表中查找,查找成功,表示是一對主、 備數(shù)據(jù)塊;D2、記錄下所有對數(shù)據(jù)塊標識,所述文件定位寄存服務(wù)器校驗每個數(shù) 據(jù)塊標識。所述的方法,其中,所述步驟D1中所述文件定位寄存服務(wù)器將每個 主、備文件訪問服務(wù)器作為一組,將整個集群數(shù)據(jù)塊分成若干組。 所述的方法,其中,所述步驟D2還包括D21、檢查該數(shù)據(jù)塊在所述文件定位寄存服務(wù)器中是否有記錄;如果 沒有則直接刪除;否則,轉(zhuǎn)入步驟D22;D22、比較所述文件定位寄存服務(wù)器數(shù)據(jù)庫中和各個文件訪問服務(wù)器 的對應(yīng)數(shù)據(jù)塊之計數(shù)器值,以最大值之數(shù)據(jù)塊為有效。所述的方法,其中,所述步驟D22還包括D23、如果所述文件定位寄存服務(wù)器上的數(shù)據(jù)塊計數(shù)器值最大,則在 所述文件定位寄存服務(wù)器數(shù)據(jù)庫中刪除該數(shù)據(jù)塊的記錄。 所述的方法,其中,所述步驟D22還包括D241、如果有文件訪問服務(wù)器上具有最大的數(shù)據(jù)塊之計數(shù)器值,則由 所述文件定位寄存服務(wù)器對計數(shù)器值小的數(shù)據(jù)塊所在的其他文件訪問服務(wù) 器發(fā)起數(shù)據(jù)塊重構(gòu)請求,從有效數(shù)據(jù)塊復(fù)制到異常的數(shù)據(jù)塊上;D242、數(shù)據(jù)拷貝完成后,修改各個文件訪問服務(wù)器上對應(yīng)數(shù)據(jù)塊的計 數(shù)器值同最大值一致。所述的方法,其中,所述步驟D22還包括D25、如果所述文件定位寄存服務(wù)器上的數(shù)據(jù)塊之計數(shù)器值比所述文 件訪問服務(wù)器上的小,則同步修改該文件定位寄存服務(wù)器數(shù)據(jù)庫中的該對 應(yīng)數(shù)據(jù)塊之計數(shù)器值。一種所述方法的分布式文件系統(tǒng),包括通過網(wǎng)絡(luò)連接的一文件訪問服 務(wù)器、至少一文件定位寄存服務(wù)器;所述文件訪問服務(wù)器對應(yīng)連接一數(shù)據(jù) 庫;用戶通過一文件訪問客戶端向所述文件訪問服務(wù)器及所述文件定位寄 存服務(wù)器進行寫數(shù)據(jù)請求;其中,所述文件訪問服務(wù)器至少設(shè)置有主、備 文件訪問服務(wù)器;并且所述文件訪問客戶端用于向所述主、備文件訪問服務(wù)器的對應(yīng)數(shù)據(jù)塊 寫數(shù)據(jù),并對寫數(shù)據(jù)正常的文件服務(wù)器之數(shù)據(jù)塊計數(shù)器值按預(yù)定步長增加;所述文件定位寄存服務(wù)器用于生成數(shù)據(jù)塊對應(yīng)的計數(shù)器值,并根據(jù)主、 備文件訪問服務(wù)器上報的對應(yīng)數(shù)據(jù)塊計數(shù)器值,控制對異常之數(shù)據(jù)塊進行 重構(gòu)。本發(fā)明所提供的一種分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法, 由于采用了數(shù)據(jù)塊計數(shù)器的方式,對每個數(shù)據(jù)塊記錄其是否異常和需要重 構(gòu),在海量集群系統(tǒng)中,可以筒單高效地管理冗余備份的數(shù)據(jù)塊,保持其 之間的一致性,并且可以重構(gòu)異常的備份數(shù)據(jù)塊,其實現(xiàn)簡單準確。


圖1是本發(fā)明方法及時寫或更改數(shù)據(jù)時數(shù)據(jù)塊計數(shù)器的修改流程示意圖;器FAS上報數(shù)據(jù)塊CHUNK的流程圖;圖3是本發(fā)明方法的文件定位寄存服務(wù)器FLR具體校驗方法流程示意圖;圖4為本發(fā)明分布式文件系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
以下結(jié)合附圖,將對本發(fā)明的各較佳實施例進行更為詳細的說明。 本發(fā)明分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法,提出了數(shù)據(jù)塊 計數(shù)器即CHUNK計數(shù)器的概念,針對每個數(shù)據(jù)塊CHUNK都給予一個計 數(shù)器,表示該數(shù)據(jù)塊修改的次數(shù)。每次修改CHUNK都將計數(shù)器增加,這 樣如果主備數(shù)據(jù)塊CHUNK的計數(shù)器不一致,則表示有無效數(shù)據(jù)塊CHUNK 存在,可相應(yīng)對異常的數(shù)據(jù)塊進行重構(gòu)。本發(fā)明方法很好地解決了主備數(shù)據(jù)塊CHUNK的管理工作,其主要的 實現(xiàn)內(nèi)容包括在生成數(shù)據(jù)塊CHUNK時,都由文件定位寄存服務(wù)器FLR統(tǒng)一生成, 第一次創(chuàng)建的數(shù)據(jù)塊其CHUNK計數(shù)器值為1。該值同時存放于文件訪問服 務(wù)器FAS上和文件定位寄存服務(wù)器FLR上。在用戶發(fā)起寫CHUNK數(shù)據(jù)的過程中,如圖l所示,F(xiàn)AC同時寫兩份 數(shù)據(jù)給主、備FAS,如果主、備FAS寫數(shù)據(jù)都是成功的,則不發(fā)起CHUNK 計數(shù)器的修改流程。如果寫的過程中,發(fā)現(xiàn)某個FAS出現(xiàn)寫異常,則向正 常的FAS發(fā)起計數(shù)器修改流程,修改該正常數(shù)據(jù)塊的當前CHUNK計數(shù)器, 這樣對應(yīng)數(shù)據(jù)塊主、備FAS的CHUNK計數(shù)器就出現(xiàn)了不一致的情況,并 且正常的數(shù)據(jù)塊CHUNK計數(shù)器計數(shù)值要高。后期可以通過簡單的校驗確 定出異常的數(shù)據(jù)塊,并在異常FAS上重構(gòu)該數(shù)據(jù)塊。在用戶發(fā)起更改文件內(nèi)容時,F(xiàn)LR會給FAC返回對應(yīng)數(shù)據(jù)塊CHUNK 所在兩個FAS的信息,F(xiàn)AC直接向兩個FAS發(fā)起修改數(shù)據(jù)的操作。如果主、 備FAS寫數(shù)據(jù)都是成功的,則不發(fā)起CHUNK計數(shù)器修改流程。如果寫的 過程中,發(fā)現(xiàn)某個FAS出現(xiàn)異常,則向正常的FAS發(fā)起CHUNK計數(shù)器修 改流程,修改FAS上對應(yīng)的CHUNK計數(shù)器值按預(yù)定步長進行增加,同時 增加FLR上的該CHUNK計數(shù)器值,這樣主、備FAS的對應(yīng)數(shù)據(jù)塊的 CHUNK計數(shù)器就不一致了。通過比較計數(shù)器值,后期可以通過簡單校驗確 定異常的數(shù)據(jù)塊,并在異常FAS上重構(gòu)該數(shù)據(jù)塊。經(jīng)過上述處理過程,可以保證如果出現(xiàn)異常時,則主、備FAS上 CHUNK計數(shù)器值肯定不一致。FLR會在啟動時刻和以一定的時間間隔向 FAS發(fā)起CHUNK校驗請求流程。根據(jù)主、備FAS上報的CHUNK計數(shù)器 值,以最大計數(shù)器值為準,即可確定哪個FAS上的數(shù)據(jù)塊是正常有效的。 這樣對異常FAS上的數(shù)據(jù)塊就可以重新構(gòu)造。以下舉具體實例說明本發(fā)明分布式文件系統(tǒng)中數(shù)據(jù)塊一致性管理的方法定義數(shù)據(jù)塊CHUNK的標識為FILEID(四字節(jié)無符號整型)+CHUNK 編號(2字節(jié)無符號整型)+計數(shù)器(四字節(jié)無符號整型);在FLR側(cè)會有 數(shù)據(jù)庫記錄每個CHUNK標識,其中包括了該數(shù)據(jù)塊的CHUNK計數(shù)器值 和其所在FAS位置信息;在FAS側(cè)管理每個數(shù)據(jù)塊,并且記錄其CHUNK 計數(shù)器值。如圖1所示,在用戶發(fā)起寫流程時,首先由FAC向FLR申請分配具有 備份關(guān)系的所有FAS。分配成功后,F(xiàn)LR會記入本地數(shù)據(jù)庫,對數(shù)據(jù)塊的 CHUNK計數(shù)器值初始值設(shè)為1。然后由FAC直接向兩個FAS發(fā)起數(shù)據(jù)寫入請求。在FAC寫數(shù)據(jù)的過 程中,會不停的上報各個FAS寫的狀態(tài)。上報的狀態(tài)信息包括當前寫的 CHUNK標識,每個FAS寫狀態(tài)。FLR收到上報狀態(tài)后,比較兩個FAS的寫狀態(tài),如果兩個FAS寫狀態(tài) 都是正常則不處理;如果兩個FAS都不正常,則直接增加FLR側(cè)CHUNK 計數(shù)器值;如果發(fā)現(xiàn)某時刻其中一個FAS寫異常,而另一個FAS寫正常, 則FLR會向正常的FAS發(fā)起CHUNK計數(shù)器修改請求。所述正常FAS收 到請求后,增加本地數(shù)據(jù)塊對應(yīng)的CHUNK計數(shù)器值,返回修改成功給FLR。 FLR收到修改成功后,將本地數(shù)據(jù)庫中的值修改為同正常FAS的該數(shù)據(jù)塊 CHUNK計數(shù)器值一致,而異常FAS上出錯數(shù)據(jù)塊的CHUNK計數(shù)器值將 得不到修改。當用戶發(fā)起改寫時,基本同上述處理過程,所不同的是新寫數(shù)據(jù)時, FLR返回的是新的數(shù)據(jù)塊CHUNK所在的FAS信息,或已經(jīng)存有CHUNK 數(shù)據(jù)的FAS信息。FLR會在啟動時刻和以 一定的時間間隔向FAS發(fā)起CHUNK校驗請求 流程,如圖2所示,其校驗方法是FLR將每個主、備FAS作為一組,整 個集群數(shù)據(jù)塊會分成若干組,例如N組。對每一組,分別向每個成員發(fā)起 校驗請求,收到請求的FAS,會把本地的所有數(shù)據(jù)塊CHUNK標識上報給 FLR, FLR會將第一個收到的CHUNK標識信息組成一個HASH表,后續(xù) 收到CHUNK標識會先在HASH表中查找,查找成功,表示是一對主、備 數(shù)據(jù)塊。如果查找不到則有可能是主、備不全;同時記錄下所有對數(shù)據(jù)塊 CHUNK標識信息, 一組成員校驗成功后,F(xiàn)LR會校驗每個CHUNK標識 信息,其校驗過程如圖3所示,包括第一步、檢查該數(shù)據(jù)塊CHUNK在FLR中是否有記錄;如果沒有記錄 則直接刪除,如果有記錄則通過檢查;第二步、計算FLR數(shù)據(jù)庫和各個FAS的CHUNK計數(shù)器值,比較哪個 值最大,以CHUNK計數(shù)器值大的數(shù)據(jù)塊為有效和正常的。第三步、校驗CHUNK計數(shù)器值,其具體過程包括如果FLR上的CHUNK計數(shù)器值最大,說明當前所有FAS上的該 CHUNK數(shù)據(jù)都是不可靠的,需要在FLR數(shù)據(jù)庫中刪除該CHUNK記錄。如果有FAS具有最大的CHUNK計數(shù)器值,則對CHUNK計數(shù)器值小 的數(shù)據(jù)塊所在的所有FAS, FLR會發(fā)起數(shù)據(jù)塊重構(gòu)請求,即告訴計數(shù)器值 最大的FAS,其上面的某個數(shù)據(jù)塊需要從本地復(fù)制到異常的FAS上??截?完成后,立即修改各個FAS上對應(yīng)數(shù)據(jù)塊的CHUNK計數(shù)器值同最大值一 致。如果FLR上的CHUNK計數(shù)器值比FAS的小,則需要同步修改該FLR 數(shù)據(jù)庫中的該CHUNK計數(shù)器值。本發(fā)明分布式文件系統(tǒng)的結(jié)構(gòu)如圖4所示,其包括通過網(wǎng)絡(luò)連接如以 太網(wǎng)連接的一文件訪問服務(wù)器401,每一文件訪問服務(wù)器401還連接一對應(yīng) 的數(shù)據(jù)庫411;至少一文件定位寄存服務(wù)器402,用于產(chǎn)生針對文件訪問服 務(wù)器401的寫數(shù)據(jù)操作中的數(shù)據(jù)塊對應(yīng)計數(shù)器值;用戶可通過一文件訪問 客戶端403向?qū)?yīng)的所述文件訪問服務(wù)器401及所述文件定位寄存服務(wù)器 402進行數(shù)據(jù)訪問請求;所述文件訪問服務(wù)器401至少設(shè)置有主、備文件訪 問服務(wù)器,而所述文件訪問客戶端403用于向所述主、備文件訪問服務(wù)器 的對應(yīng)數(shù)據(jù)塊寫數(shù)據(jù),并對寫數(shù)據(jù)正常的文件服務(wù)器之數(shù)據(jù)塊計數(shù)器值按 預(yù)定步長增加;所述文件定位寄存服務(wù)器402可用于根據(jù)主、備文件訪問 服務(wù)器上報的對應(yīng)數(shù)據(jù)塊計數(shù)器值是否一致,判斷數(shù)據(jù)塊的異常與否,控 制對異常之數(shù)據(jù)塊進行重構(gòu)。本發(fā)明分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法,在海量集群系 統(tǒng)中可以簡單高效地管理冗余備份的數(shù)據(jù)塊,保持其一致性,并且可以重 構(gòu)異常的備份數(shù)據(jù)塊。其主要表現(xiàn)在1、在用戶及時存儲(追加寫或改寫)數(shù)據(jù)的過程中,如果發(fā)現(xiàn)主、備 FAS其中的一方有異常,可以先增加正常FAS上數(shù)據(jù)塊的CHUNK計數(shù)器 值,保持異常FAS上數(shù)據(jù)塊CHUNK計數(shù)器值沒有增加;在后續(xù)FLR進行定時校驗時,會根據(jù)上述CHUNK計數(shù)器值的校驗,將CHUNK計數(shù)器值 低的FAS上的數(shù)據(jù)塊刪除,同時從正常FAS上的數(shù)據(jù)塊重構(gòu)該異常FAS 上的對應(yīng)數(shù)據(jù)塊。2、本發(fā)明方法以CHUNK計數(shù)器值高的數(shù)據(jù)塊為正常和有效的數(shù)據(jù) 塊,如果FLR記錄的最高,則說明各個FAS上的數(shù)據(jù)塊都不可靠;如果某 個FAS上記錄的最高,則需要將該數(shù)據(jù)塊重構(gòu)到值低的FAS中,同時要修 改FLR中的記錄。由此可知,本發(fā)明所述分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法 其實現(xiàn)簡單準確,校驗計算快捷,可適用于海量的數(shù)據(jù)塊處理。應(yīng)當理解的是,上述針對本發(fā)明較佳實施例的描述較為具體,并不能 因此而理解為對本發(fā)明專利保護范圍的限制,本發(fā)明的專利保護范圍應(yīng)以 所附權(quán)利要求為準。
權(quán)利要求
1、一種分布式文件系統(tǒng)中數(shù)據(jù)塊一致性管理的方法,其包括以下步驟A、在生成每一數(shù)據(jù)塊時,由文件定位寄存服務(wù)器生成其對應(yīng)的計數(shù)器值,同時存放在文件訪問服務(wù)器和文件定位寄存服務(wù)器上;B、在對該數(shù)據(jù)塊寫數(shù)據(jù)時,文件訪問客戶端同時向主、備文件訪問服務(wù)器寫數(shù)據(jù),如果都寫數(shù)據(jù)成功,則不對計數(shù)器值進行修改;否則,對寫數(shù)據(jù)正常的文件訪問服務(wù)器中的數(shù)據(jù)塊計數(shù)器值按預(yù)定步長進行增加;C、所述文件定位寄存服務(wù)器根據(jù)主、備文件訪問服務(wù)器上報的對應(yīng)數(shù)據(jù)塊計數(shù)器值,以最大計數(shù)器值之數(shù)據(jù)塊為正常和有效,對異常之數(shù)據(jù)塊進行重構(gòu)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B還包括 Bl、在更改數(shù)據(jù)塊數(shù)據(jù)時,所述文件定位寄存服務(wù)器給所述文件訪問客戶端返回該數(shù)據(jù)塊所在的主、備文件訪問服務(wù)器信息,所述文件訪問客 戶端向所述主、備文件訪問服務(wù)器發(fā)起修改數(shù)據(jù)操作;B2、如果主、備文件訪問服務(wù)器更改數(shù)據(jù)成功,則不發(fā)起該數(shù)據(jù)塊計 數(shù)器值的修改;否則,對正常更改數(shù)據(jù)的數(shù)據(jù)塊所在文件訪問服務(wù)器的計 數(shù)器值進行按預(yù)定步長增加,同時按預(yù)定步長增加所述文件定位寄存服務(wù) 器上的對應(yīng)數(shù)據(jù)塊的計數(shù)器值。.
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟B2中對數(shù) 據(jù)塊計數(shù)器值的增加之預(yù)定步長為每次加1。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟C還包括 所述文件定位寄存月l務(wù)器在啟動時刻和以 一定的時間間隔向所述文件訪問服務(wù)器發(fā)起數(shù)據(jù)塊校驗請求。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述數(shù)據(jù)塊校驗過程 還包括Dl、所述文件訪問服務(wù)器把本地的所有數(shù)據(jù)塊標識上報給文件定位寄 存服務(wù)器,所述文件定位寄存服務(wù)器將先收到的數(shù)據(jù)塊標識組成HASH表, 后續(xù)收到的數(shù)據(jù)塊標識在該HASH表中查找,查找成功,表示是一對主、 備數(shù)據(jù)塊;D2、記錄下所有對數(shù)據(jù)塊標識,所述文件定位寄存服務(wù)器校驗每個數(shù) 據(jù)塊標識。
6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟Dl中所述 文件定位寄存服務(wù)器將每個主、備文件訪問服務(wù)器作為一組,將整個集群 數(shù)據(jù)塊分成若干組。
7、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟D2還包括 D21、檢查該數(shù)據(jù)塊在所述文件定位寄存服務(wù)器中是否有記錄;如果沒有則直接刪除;否則,轉(zhuǎn)入步驟D22;D22、比較所述文件定位寄存服務(wù)器數(shù)據(jù)庫中和各個文件訪問服務(wù)器的 對應(yīng)數(shù)據(jù)塊之計數(shù)器值,以最大值之數(shù)據(jù)塊為有效。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述步驟D22還包括 D23、如果所述文件定位寄存服務(wù)器上的數(shù)據(jù)塊計數(shù)器值最大,則在所述文件定位寄存服務(wù)器數(shù)據(jù)庫中刪除該數(shù)據(jù)塊的記錄。
9、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述步驟D22還包括 D241、如果有文件訪問服務(wù)器上具有最大的數(shù)據(jù)塊之計數(shù)器值,則由所述文件定位寄存服務(wù)器對計數(shù)器值小的數(shù)據(jù)塊所在的其他文件訪問服務(wù)器發(fā)起數(shù)據(jù)塊重構(gòu)請求,從有效數(shù)據(jù)塊復(fù)制到異常的數(shù)據(jù)塊上;D242、數(shù)據(jù)拷貝完成后,修改各個文件訪問服務(wù)器上對應(yīng)數(shù)據(jù)塊的計 數(shù)器值同最大值一致。
10、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述步驟D22還包括 D25、如果所述文件定位寄存服務(wù)器上的數(shù)據(jù)塊之計數(shù)器值比所述文件訪問服務(wù)器上的小,則同步修改該文件定位寄存服務(wù)器數(shù)據(jù)庫中的該對應(yīng) 數(shù)據(jù)塊之計數(shù)器值。
11、 一種如權(quán)利要求1所述方法的分布式文件系統(tǒng),包括通過網(wǎng)絡(luò)連 接的一文件訪問服務(wù)器、至少一文件定位寄存服務(wù)器;所述文件訪問服務(wù) 器對應(yīng)連接一數(shù)據(jù)庫;用戶通過一文件訪問客戶端向所述文件訪問服務(wù)器 及所述文件定位寄存J良務(wù)器進行寫數(shù)據(jù)請求;其特征在于,所述文件訪問 服務(wù)器至少設(shè)置有主、備文件訪問服務(wù)器;并且所述文件訪問客戶端用于向所述主、備文件訪問服務(wù)器的對應(yīng)數(shù)據(jù)塊 寫數(shù)據(jù),并對寫數(shù)據(jù)正常的文件服務(wù)器之數(shù)據(jù)塊計數(shù)器值按預(yù)定步長增加;所述文件定位寄存服務(wù)器用于生成數(shù)據(jù)塊對應(yīng)的計數(shù)器值,并根據(jù)主、 備文件訪問服務(wù)器上報的對應(yīng)數(shù)據(jù)塊計數(shù)器值,控制對異常之數(shù)據(jù)塊進行 重構(gòu)。
全文摘要
本發(fā)明公開了一種分布式文件系統(tǒng)及其數(shù)據(jù)塊一致性管理的方法,其方法包括由文件定位寄存服務(wù)器生成數(shù)據(jù)塊對應(yīng)的計數(shù)器值,同時存放在文件訪問服務(wù)器和文件定位寄存服務(wù)器上;在對該數(shù)據(jù)塊寫數(shù)據(jù)時,文件訪問客戶端同時向主、備文件訪問服務(wù)器寫數(shù)據(jù),對寫數(shù)據(jù)正常的文件訪問服務(wù)器中的數(shù)據(jù)塊計數(shù)器值進行修改;所述文件定位寄存服務(wù)器根據(jù)主、備文件訪問服務(wù)器上報的對應(yīng)數(shù)據(jù)塊計數(shù)器值,以最大計數(shù)器值之數(shù)據(jù)塊為正常和有效。本發(fā)明系統(tǒng)及其方法由于采用了數(shù)據(jù)塊計數(shù)器的方式,對每個數(shù)據(jù)塊記錄其是否異常和需要重構(gòu),在海量集群系統(tǒng)中,可以簡單高效地管理冗余備份的數(shù)據(jù)塊,保持其之間的一致性,并且實現(xiàn)重構(gòu)異常的備份數(shù)據(jù)塊簡單準確。
文檔編號G06F17/30GK101334797SQ20081014229
公開日2008年12月31日 申請日期2008年8月4日 優(yōu)先權(quán)日2008年8月4日
發(fā)明者杜守富, 王瑞豐, 劍 程 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
绵阳市| 长沙县| 蓬莱市| 漳平市| 花垣县| 武义县| 胶南市| 康马县| 玛曲县| 阿瓦提县| 乌拉特前旗| 随州市| 莆田市| 五台县| 台山市| 广灵县| 镇沅| 三穗县| 乐平市| 兰坪| 武威市| 天全县| 利辛县| 四平市| 炎陵县| 洛浦县| 顺昌县| 内乡县| 河北区| 新乡县| 昂仁县| 万全县| 星子县| 遂平县| 罗甸县| 苗栗市| 白沙| 屯门区| 会泽县| 阜城县| 淮安市|