麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種分布式文件系統(tǒng)中的副本管理方法

文檔序號:6363009閱讀:365來源:國知局
專利名稱:一種分布式文件系統(tǒng)中的副本管理方法
技術(shù)領(lǐng)域
本發(fā)明涉及云計算云存儲領(lǐng)域,具體涉及一種分布式文件系統(tǒng)中的副本管理方法。
背景技術(shù)
云存儲是在云計算(cloud computing)基礎上延伸和發(fā)展出來的一個新概念,是指通過集群應用、網(wǎng)絡技術(shù)和分布式文件系統(tǒng)等技術(shù),將網(wǎng)絡中大量不同類型的存儲設備進行整合利用,形成統(tǒng)一的存儲池對外提供存儲服務。分布式文件系統(tǒng)作為云存儲的核心組成部分在近幾年中有了長足的發(fā)展。在分布式文件系統(tǒng)中,在多副本冗余的情況下進行副本更新可能會導致主節(jié)點和塊節(jié)點副本間的數(shù)據(jù)不一致。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是如何在分布式文件系統(tǒng)中維護副本的一致性。為了解決上述問題,本發(fā)明提供了一種分布式文件系統(tǒng)中的副本管理方法,包括
在塊節(jié)點向主節(jié)點重新注冊時,根據(jù)塊節(jié)點上副本的狀態(tài)重新設置主節(jié)點上相應副本的狀態(tài);若塊節(jié)點上的副本受損,則將主節(jié)點上相應副本設置為錯誤狀態(tài);若塊節(jié)點上的副本將要移除,則將主節(jié)點上相應副本設置為即將移除正確狀態(tài);若塊節(jié)點上的副本正常, 則將主節(jié)點上相應副本設置為正確狀態(tài)。進一步地,所述的方法還包括
新建副本時將該副本設置為忙狀態(tài),如果新建成功則將該副本轉(zhuǎn)換為正確狀態(tài),新建失敗則將該副本轉(zhuǎn)換為錯誤狀態(tài)。進一步地,所述的方法還包括
更新正確狀態(tài)的副本時,將該副本轉(zhuǎn)換為忙狀態(tài);更新成功則將該副本轉(zhuǎn)換為正確狀態(tài),更新失敗則將該副本轉(zhuǎn)換為錯誤狀態(tài);
更新即將移除正確狀態(tài)的副本時,將該副本轉(zhuǎn)換為即將移除忙狀態(tài);更新成功則將該副本轉(zhuǎn)換為即將移除正確狀態(tài),更新失敗則該將副本轉(zhuǎn)換為錯誤狀態(tài)。進一步地,所述的方法還包括
主節(jié)點周期性檢測各副本的狀態(tài),將處于錯誤狀態(tài)的副本設置為刪除狀態(tài);對處于正確狀態(tài)或即將移除正確狀態(tài)的副本,若該副本對應的文件節(jié)點已經(jīng)刪除,則將該副本設置為刪除狀態(tài)。進一步地,所述的方法還包括
在主節(jié)點周期性檢測時,對處于刪除狀態(tài)的副本,向塊節(jié)點發(fā)出刪除該副本的命令;若塊節(jié)點刪除該副本成功,則釋放掉該副本的數(shù)據(jù)結(jié)構(gòu);若塊節(jié)點刪除該副本失敗,則保持該副本為刪除狀態(tài)不變。
進一步地,所述的方法還包括
在主節(jié)點周期性檢測時,比較正確狀態(tài)的副本數(shù)和預期要求副本數(shù)goal,如果正確狀態(tài)的副本數(shù)大于goal,則將多余的正確狀態(tài)的副本設置為刪除狀態(tài)。進一步地,如果正確狀態(tài)的副本數(shù)小于goal,則新建相應數(shù)量的副本;新建副本時,以正確狀態(tài)的副本為源進行復制,若不存在正確狀態(tài)的副本則以即將移除正確狀態(tài)的副本為源進行復制。進一步地,所述的方法還包括
在主節(jié)點周期性檢測時,判斷處于正確狀態(tài)和即將刪除正確狀態(tài)的副本數(shù)之和是否大于預期要求副本數(shù)goal,如果是則將多余的即將刪除正確狀態(tài)的副本設置為刪除狀態(tài)。本發(fā)明的技術(shù)方案根據(jù)分布式文件系統(tǒng)的實際操作對相關(guān)副本進行狀態(tài)標記,維護副本一致性;本發(fā)明的優(yōu)化方案定義了錯誤狀態(tài)、刪除狀態(tài)、忙狀態(tài)、正確狀態(tài)、即將移除忙狀態(tài)、即將移除正確狀態(tài)六種副本狀態(tài),并定期檢查這些副本,完成副本狀態(tài)的轉(zhuǎn)換,從而達到周期性維護副本一致性的目的,而且使分布式文件系統(tǒng)具有較好的自我容錯能力; 本發(fā)明的又一優(yōu)化方案通過自動完成副本的拷貝、恢復、刪除工作,來保證合法副本數(shù)等于預期設置。


圖I是實施例一中副本各狀態(tài)及其轉(zhuǎn)換示意圖。
具體實施例方式下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進行更詳細的說明。需要說明的是,如果不沖突,本發(fā)明實施例以及實施例中的各個特征可以相互結(jié)合,均在本發(fā)明的保護范圍之內(nèi)。實施例一,一種分布式文件系統(tǒng)中的副本管理方法,包括
在塊節(jié)點向主節(jié)點重新注冊(比如重啟了塊節(jié)點)時,根據(jù)塊節(jié)點上副本(即塊文件)的狀態(tài)重新設置主節(jié)點上相應副本的狀態(tài);若塊節(jié)點上的副本受損(比如塊節(jié)點上塊文件被意外刪除),則將主節(jié)點上相應副本設置為錯誤狀態(tài);若塊節(jié)點上的副本將要移除(比如要將塊節(jié)點從分布式文件系統(tǒng)中移除,此時會將其上的塊文件標定為移除狀態(tài)),則將主節(jié)點上相應副本設置為即將移除正確狀態(tài);若塊節(jié)點上的副本正常,則將主節(jié)點上相應副本設置為正確狀態(tài)。如果主節(jié)點上副本當前狀態(tài)就和要設置的一致(比如塊節(jié)點上的副本正常,而主節(jié)點上相應副本當前狀態(tài)就是正確狀態(tài)),則保持原來狀態(tài)即可。即將移除正確狀態(tài)表示該副本數(shù)據(jù)是正確的,但它所在的塊節(jié)點將要從分布式文件系統(tǒng)中移除。本實施例中,所述方法還可以包括
主節(jié)點周期性檢測各副本的狀態(tài),將處于錯誤狀態(tài)的副本設置為刪除狀態(tài),表示該副本即將被刪除。 本實施例中,所述方法還可以包括
在主節(jié)點周期性檢測時,對處于正確狀態(tài)或即將移除正確狀態(tài)的副本,若該副本對應的文件節(jié)點已經(jīng)刪除,則將該副本設置為刪除狀態(tài),表示該副本即將被刪除。本實施例中,所述方法還可以包括
在主節(jié)點周期性檢測時,對處于刪除狀態(tài)的副本,向塊節(jié)點發(fā)出刪除該副本的命令;若塊節(jié)點刪除該副本成功,則釋放掉該副本的數(shù)據(jù)結(jié)構(gòu);若塊節(jié)點刪除該副本失敗,則保持該副本為刪除狀態(tài)不變。本實施例中,所述方法還可以包括
在主節(jié)點周期性檢測時,比較正確狀態(tài)的副本數(shù)和預期要求副本數(shù)goal (goal是會變化的,比如客戶端重新設置了 goal),如果正確狀態(tài)的副本數(shù)大于goal,則將多余的正確狀態(tài)的副本設置為刪除狀態(tài)(假設正確狀態(tài)的副本數(shù)為8,goal為5,則將3個正確狀態(tài)的副本設置為刪除狀態(tài))。本實施例中,在主節(jié)點周期性檢測時,如果正確狀態(tài)的副本數(shù)小于goal,則可以新建相應數(shù)量的副本(假設正確狀態(tài)的副本數(shù)為6,goal為15,則新建9個副本);新建副本時, 以正確狀態(tài)的副本為源進行復制,若不存在正確狀態(tài)的副本則以即將移除正確狀態(tài)的副本為源進行復制。如果不新建的話,也可以將即將刪除正確狀態(tài)的副本數(shù)也考慮進來,判斷處于正確狀態(tài)和即將刪除正確狀態(tài)的副本數(shù)之和是否能達到goal,如果仍然不夠再進行新建。本實施例中,所述方法還可以包括
在主節(jié)點周期性檢測時,判斷處于正確狀態(tài)和即將刪除正確狀態(tài)的副本數(shù)之和是否大于預期要求副本數(shù)goal,如果是則將多余的即將刪除正確狀態(tài)的副本設置為刪除狀態(tài)。否則,副本狀態(tài)保持不變。如果刪除全部即將刪除正確狀態(tài)的副本后,正確狀態(tài)的副本數(shù)還是大于預期要求副本數(shù),則按照上文進行處理。如果處于正確狀態(tài)和即將刪除正確狀態(tài)的副本數(shù)之和小于預期要求副本數(shù)goal,則按照上文的方法新建副本。如果先已經(jīng)按照上文使正確狀態(tài)的副本數(shù)等于預期要求副本數(shù)goal,則只要將所有即將刪除正確狀態(tài)的副本數(shù)設置為刪除狀態(tài)即可。本實施例中,所述方法還可以包括
新建副本(比如客戶端用戶進行文件追加操作)時將該副本設置為忙狀態(tài),如果新建成功(客戶端向塊節(jié)點寫操作成功)則將該副本轉(zhuǎn)換為正確狀態(tài),新建失敗(客戶端向塊節(jié)點寫操作失敗)則將該副本轉(zhuǎn)換為錯誤狀態(tài)。本實施例中,所述方法還可以包括
更新正確狀態(tài)的副本(比如客戶端用戶進行文件更新操作)時,將該副本轉(zhuǎn)換為忙狀態(tài);更新成功(客戶端向塊節(jié)點寫操作成功)則將該副本轉(zhuǎn)換為正確狀態(tài),更新失敗(客戶端向塊節(jié)點寫操作失敗)則將該副本轉(zhuǎn)換為錯誤狀態(tài);
更新即將移除正確狀態(tài)的副本時,將該副本轉(zhuǎn)換為即將移除忙狀態(tài);更新成功(客戶端向塊節(jié)點寫操作成功)則將該副本轉(zhuǎn)換為即將移除正確狀態(tài),更新失敗(客戶端向塊節(jié)點寫操作失敗)則該將副本轉(zhuǎn)換為錯誤狀態(tài)。本實施例如圖I所示,副本狀態(tài)可以定義為以下六種狀態(tài)INVALID,DEL, BUSY, VALID, TDBUSY, TDVALID,即錯誤狀態(tài)、刪除狀態(tài)、忙狀態(tài)、正確狀態(tài)、即將移除忙狀態(tài)、即將移除正確狀態(tài),這些狀態(tài)可以都記錄在主節(jié)點的副本數(shù)據(jù)結(jié)構(gòu)中,根據(jù)上文中所述的客戶端文件寫操作及塊節(jié)點當前狀況來進行狀態(tài)的轉(zhuǎn)換。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明的權(quán)利要求的保護范圍。
權(quán)利要求
1.一種分布式文件系統(tǒng)中的副本管理方法,包括在塊節(jié)點向主節(jié)點重新注冊時,根據(jù)塊節(jié)點上副本的狀態(tài)重新設置主節(jié)點上相應副本的狀態(tài);若塊節(jié)點上的副本受損,則將主節(jié)點上相應副本設置為錯誤狀態(tài);若塊節(jié)點上的副本將要移除,則將主節(jié)點上相應副本設置為即將移除正確狀態(tài);若塊節(jié)點上的副本正常, 則將主節(jié)點上相應副本設置為正確狀態(tài)。
2.如權(quán)利要求I所述的方法,其特征在于,還包括新建副本時將該副本設置為忙狀態(tài),如果新建成功則將該副本轉(zhuǎn)換為正確狀態(tài),新建失敗則將該副本轉(zhuǎn)換為錯誤狀態(tài)。
3.如權(quán)利要求I所述的方法,其特征在于,還包括更新正確狀態(tài)的副本時,將該副本轉(zhuǎn)換為忙狀態(tài);更新成功則將該副本轉(zhuǎn)換為正確狀態(tài),更新失敗則將該副本轉(zhuǎn)換為錯誤狀態(tài);更新即將移除正確狀態(tài)的副本時,將該副本轉(zhuǎn)換為即將移除忙狀態(tài);更新成功則將該副本轉(zhuǎn)換為即將移除正確狀態(tài),更新失敗則該將副本轉(zhuǎn)換為錯誤狀態(tài)。
4.如權(quán)利要求I到3中任一項所述的方法,其特征在于,還包括主節(jié)點周期性檢測各副本的狀態(tài),將處于錯誤狀態(tài)的副本設置為刪除狀態(tài);對處于正確狀態(tài)或即將移除正確狀態(tài)的副本,若該副本對應的文件節(jié)點已經(jīng)刪除,則將該副本設置為刪除狀態(tài)。
5.如權(quán)利要求4所述的方法,其特征在于,還包括在主節(jié)點周期性檢測時,對處于刪除狀態(tài)的副本,向塊節(jié)點發(fā)出刪除該副本的命令;若塊節(jié)點刪除該副本成功,則釋放掉該副本的數(shù)據(jù)結(jié)構(gòu);若塊節(jié)點刪除該副本失敗,則保持該副本為刪除狀態(tài)不變。
6.如權(quán)利要求4所述的方法,其特征在于,還包括在主節(jié)點周期性檢測時,比較正確狀態(tài)的副本數(shù)和預期要求副本數(shù)goal,如果正確狀態(tài)的副本數(shù)大于goal,則將多余的正確狀態(tài)的副本設置為刪除狀態(tài)。
7.如權(quán)利要求6所述的方法,其特征在于如果正確狀態(tài)的副本數(shù)小于goal,則新建相應數(shù)量的副本;新建副本時,以正確狀態(tài)的副本為源進行復制,若不存在正確狀態(tài)的副本則以即將移除正確狀態(tài)的副本為源進行復制。
8.如權(quán)利要求4所述的方法,其特征在于,還包括在主節(jié)點周期性檢測時,判斷處于正確狀態(tài)和即將刪除正確狀態(tài)的副本數(shù)之和是否大于預期要求副本數(shù)goal,如果是則將多余的即將刪除正確狀態(tài)的副本設置為刪除狀態(tài)。
全文摘要
本發(fā)明公開了一種分布式文件系統(tǒng)中的副本管理方法,包括在塊節(jié)點向主節(jié)點重新注冊時,根據(jù)塊節(jié)點上副本的狀態(tài)重新設置主節(jié)點上相應副本的狀態(tài);若塊節(jié)點上的副本受損,則將主節(jié)點上相應副本設置為錯誤狀態(tài);若塊節(jié)點上的副本將要移除,則將主節(jié)點上相應副本設置為即將移除正確狀態(tài);若塊節(jié)點上的副本正常,則將主節(jié)點上相應副本設置為正確狀態(tài)。本發(fā)明能在分布式文件系統(tǒng)中維護副本的一致性。
文檔編號G06F17/30GK102609454SQ20121000816
公開日2012年7月25日 申請日期2012年1月12日 優(yōu)先權(quán)日2012年1月12日
發(fā)明者張明富, 顏秉珩 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 罗甸县| 邵武市| 两当县| 凤冈县| 武义县| 迭部县| 洪泽县| 龙胜| 晴隆县| 禹州市| 奈曼旗| 射洪县| 辽中县| 双柏县| 东台市| 三亚市| 大同县| 延津县| 皮山县| 马鞍山市| 西安市| 右玉县| 宁阳县| 沐川县| 太白县| 喜德县| 承德市| 桐城市| 荣成市| 惠安县| 蕲春县| 武鸣县| 天峻县| 娱乐| 孝义市| 霍山县| 镇巴县| 云南省| 胶南市| 万年县| 团风县|