專利名稱:一種分布式文件系統中校驗和同步數據塊的方法及裝置的制作方法
技術領域:
本發明屬于數據存儲領域,尤其涉及一種分布式文件系統中校驗和同步數 據塊的方法及裝置。
背景技術:
隨著多媒體產業的迅猛發展,出于成本、可靠性等多方面的考慮,越來越 多的廠商選擇在產品中部署自研的分布式存儲系統,分布式文件系統也因此得 到了快速的發展。
在現有的分布式文件系統架構中,文件一般都被分割成多個數據塊進行
存儲;為了保證系統的健壯性及災難恢復能力,數據塊一般又會有多個備份分 別存放于不同的物理位置。這樣就存在一個對這些數據塊進行校驗及同步的問 題,以保證這些數據塊的一致性,即保證這些數據塊中所存儲的有效數據都是 相同的。現有這種架構的分布式文件系統中對這些數據塊的校驗和同步都是由 元數據服務器來發起和進行的。如果數據塊達到一定數量,會導致元數據服務 器消耗大量的時間在數據塊的校驗和同步上面,影響了用戶操作的響應速度, 從而對系統性能造成影響。尤其在IPTV等對實時性、用戶體驗要求較高的系統 中,元數據服務器在數據塊的校驗和同步上面消耗大量時間,將嚴重影響了用 戶操作的響應速度和系統的性能。
發明內容
本發明的目的在于提供一種分布式文件系統中校驗和同步數據塊的方法及裝置,旨在解決現有技術下,分布式文件系統中元數據服務器在校驗和同步數 據塊時消耗大量時間,嚴重影響了用戶搡作的響應速度的問題。
本發明是這樣實現的, 一種分布式文件系統中校驗和同步數據塊的方法,
所述方法包括
所述元數據服務器向所述主數據塊服務器發起數據塊校驗請求; 所述主數據塊服務器對其組內從數據塊服務器管理的所有數據塊信息進行
校驗,再并根據校驗結果進行同步,然后將校驗和同步的結果上報給所述元數
據服務器;
所述元數據服務器根據上報的校驗和同步的結果對元數據信息進行更新。 本發明的另 一 目的在于提供一種分布式文件系統中校驗和同步數據塊的裝
置,分布式文件系統包括有元數據服務器、it據塊服務器和存儲媒介;元數據
服務器在同組數據塊服務器中指定其中 一個為主數據塊服務器,其它的為從數
據塊服務器;所述裝置包括
校驗發起單元,用于向所述主數據塊服務器發起數據塊校驗請求; 校驗和同步單元,用于對所述主數據塊服務器組內的從數據塊服務器管理
的所有數據塊信息進行校驗,再并根據校驗結果對主從數據塊進行同步,然后
將校驗和同步的結果上報給所述元數據服務器;
元數據信息更新單元,用于根據上報的校驗和同步的結果對元數據信息進
行更新。
本發明的有益效果是,在校驗和同步數據塊的過程中只有很少部分由元數 據服務器處理,所占用元數據服務器的時間極少,從而保證了元數據服務器對 用戶指令的反應速度及系統的性能。
圖1是現有技術提供的一種分布式文件系統的系統結構圖; 圖2是本發明實施例提供的一種分布式文件系統中校驗和同步數據塊的方 法流程圖3是本發明實施例提供的一種分布式文件系統中校驗和同步數據塊的具 體方法流程圖4是本發明實施例提供的一種分布式文件系統中檢驗和同步數據塊的裝 置結構圖。
具體實施例方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實 施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅 僅用以解釋本發明,并不用于限定本發明。
在本發明實施例中,元數據服務器發起校驗和同步數據塊后,由元數據服 務器指定數據塊服務器組中的一個數據塊服務器作為主數據塊服務器,該主數 據服務器收集組內的數據塊信息并完成校驗和同步,然后將結果上報元數據服 務器。這樣,整個校驗和同步數據塊的過程僅占用元數據服務器極少量的時間, 從而保證了對用戶指令的響應速度和系統的性能。
圖1示出了現有技術提供的一種分布式文件系統的系統結構。該分布式文 件系統中包括有元數據服務器、數據塊服務器和作為存儲介質的磁盤。元數據 服務器指定同一組數據塊服務器的其中一個作為主數據塊服務器,及指定其余 的數據塊服務器作為從數據塊服務器。主數據塊服務器管理的存儲介質中數據塊。該系統中各部分功能如下
元數據服務器負責管理系統內所有文件的文件名、數據塊、文件與數據 塊的對應關系等元數據信息;并向文件訪問客戶端提供元數據寫入和查詢等操 作接口。
數據塊服務器負責與本節點內的存儲介質進行交互,進行實際數據塊的 讀寫操作;管理存儲媒介上存儲的數據塊信息;響應文件訪問客戶端的數據讀 寫請求,從存儲媒介上讀取數據并返回給文件訪問客戶端;從文件訪問客戶端 讀取數據并寫入存儲媒介。
數據塊校驗對主數據塊和從數據塊的一致性進行校驗,主要校驗內容為 數據塊大小及數據塊的版本號。
數據塊同步對校驗為不一致的數據塊進行同步,同步方式主要為數據塊 完全或部分復制。
圖2示出了本發明實施例提供的一種分布式文件系統中校驗和同步數據塊 的方法流程。該方法用于上述分布式文件系統中,開始校驗時,元數據服務器 需要在同組數據塊服務器中指定一個數據塊服務器為主數據塊服務器。該方法 包括以下步驟
在步驟S201中,元數據服務器向主數據塊服務器發起數據塊校驗請求。
在步驟S202中,主數據塊服務器對其組內從數據塊服務器管理的所有數據 塊信息進行校驗,再并根據校驗結果進行同步,然后將校驗和同步的結果上報 給所述元數據服務器。
在步驟S203中,元數據服務器根據主數據塊服務器上報的結果對相應的數 據塊元數據進行更新。
這樣,在對數據塊信息進行校驗和同步的過程中,元數據服務器僅發起校驗請求和根據校驗結果對元數據信息進行更新。元數據服務器所要做的工作就 極少且極簡單,故其所消耗的資源也就十分少。因此,元數據服務器在完成數 據塊校驗的同時并不會影響到其它業務,也就是說其完全可以很好地保證在完 成數據塊校驗同時對用戶指令的響應速度或其它性能不受到干擾。
圖3示出了本發明實施例提供的一種分布式文件系統中校驗和同步數據塊 的具體方法流程。元數據服務器被其數據塊校驗及同步的定時器觸發,開始
數據塊校驗流程;元數據服務器構造分布式文件系統內所有的作為存儲介質的
》茲盤主從關系表; 石茲盤主從關系表構造完成后,在主從》茲盤組中指定主;茲
盤所在的數據塊服務器為主數據塊服務器。該具體方法流程步驟如下
在步驟S301中,元數據庫服務器向主數據塊服務器發起數據塊校驗請求; 在步驟S302中,主數據塊服務器收到數據塊校驗請求,向其從數據塊服務
器發起數據塊搜集請求。
主數據塊服務器收到元數據服務器發送的數據塊校驗請求后,開始發起
本組內的數據塊校驗流程。
主數據塊服務器從元數據服務器發送的數據塊校驗請求信息中,獲取到本
組內所有數據塊服務器的信息,并分別向本組內每個從數據塊服務器發送數據
塊搜集請求。
在步驟S303中,各從數據塊服務器收到數據塊搜集請求后,將其所管理 的數據塊信息上報給主數據塊服務器;
本領域的技術人員可以理解,與主數據塊服務器同組的從數據塊服務器可 以有很多個。為了便于描述,在圖3中僅示出兩個從數據塊服務器。
在步驟S304中,主數據塊服務器收到從數據塊服務器上報的數據塊信 息后,將其記錄在緩沖區中,收到所有從數據塊服務器上報的數據塊信息后,開始進行數據塊的校驗。
在步驟S305中,主數據塊服務器對緩沖區中保存的每組數據塊信息進 行校驗,并將校驗結果記錄下來。
在步驟S306中,在所有數據塊信息都校驗完成后,主數據塊服務器開始 數據塊同步過程。
主數據塊服務器根據校驗結果對主從數據塊中不一致的部分進行同步,實 際的同步過程可能涉及到數據塊的復制等4喿作。
在步驟S308中,所有需要同步的數據塊同步完成后,主數據塊服務器就 完成了數據塊的校驗及同步過程,將校驗及同步結果上報給元數據服務器;
在步驟S309中,元數據服務器根據各主數據塊服務器上報的校驗及同 步結果對相應的數據塊元數據信息進行修改和更新。
圖4示出了本發明實施例提供的一種分布式文件系統中校驗和同步數據塊 的裝置結構。為了便于描述,這里僅示出與本發明相關的部分。分布式文件系 統具體結構如上所述。該裝置結構包括
校驗發起單元401,用于向所述主數據塊服務器發起數據塊校驗請求;具體 如上所述。
校驗和同步單元402,用于對所述主數據塊服務器組內的從數據塊服務器管 理的所有數據塊信息進行校驗,再并根據校驗結果對主從數據塊進行同步,然 后將校驗和同步的結果上報給所述元數據服務器;具體如上所述。
元數據信息更新單元403,用于根據上報的校驗和同步的結果對元數據信息 進行更新;具體如上所述。
校驗和同步單元402包括數據塊信息收集子單元4021。 lt據塊信息收集子 單元4021用于向主數據塊服務器所在組內的從數據塊服務器發送數據塊收集請求,并接收到所有所述從數據塊服務器上報的其所管理的數據塊信息后發起數
據塊校驗;具體如上所述。
在本發明實施例中,由主數據塊服務器完成校驗和同步數據塊可以減少元 數據服務器的負擔;主數據服務器將從數據服務器的數據塊信息收集后再進行 校驗可以加快校驗速度;主數據服務器從元數據服務器發送的數據塊校驗請求 信息中,獲取到本組內所有數據塊服務器的信息,可以更加實時獲取到本組內 準確的數據塊服務器的信息;主數據塊服務器將所述上報的數據塊信息記錄在 緩沖區中,方便集中進行校驗。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發 明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明 的保護范圍之內。
權利要求
1、一種分布式文件系統中校驗和同步數據塊的方法,其特征在于,所述方法包括元數據服務器向主數據塊服務器發起數據塊校驗請求;所述主數據塊服務器對其組內從數據塊服務器管理的所有數據塊信息進行校驗,再并根據校驗結果進行同步,然后將校驗和同步的結果上報給所述元數據服務器;所述元數據服務器根據上報的校驗和同步的結果對元數據信息進行更新。
2、 如權利要求l所述的方法,其特征在于,所述主數據塊服務器對其組內 從數據塊服務器管理的所有數據塊信息進行數據塊校驗為主數據塊服務器向其組內從數據塊服務器發送數據塊收集請求; 從數據塊服務器上報其所管理的數據塊信息給主數據塊服務器; 主數據塊服務器收到其組內所有從數據塊服務器上報的數據塊信息后,進 行數據塊的校驗。
3、 如權利要求2所述的方法,其特征在于,所述主數據塊服務器向其組 內從數據塊服務器發送數據塊收集請求步驟之前還包括主數據塊服務器從元 數據服務器發送的數據塊校驗請求信息中,獲取到本組內所有數據塊服務器的 信息。
4、 如權利要求2所述的方法,其特征在于,所述從數據塊服務器上報其所 管理的數據塊信息給主數據塊服務器后,主數據塊服務器將所述上報的數據塊 信息記錄在緩沖區中。
5、 如權利要求1至4任一權利要求所述的方法,其特征在于,所述進行數 據塊的校驗,是對主數據塊和從數據塊的一致性進行校驗。
6、 如權利要求5所述的方法,其特征在于,所述進行校驗的內容為數據塊大小及數據塊的版本號。
7、 如權利要求1至4任一權利要求所述的方法,其特征在于,所述根據校 驗結果對主從數據塊進行同步是指根據校驗結果對主從數據塊中不一致的部分 進行同步。
8、 如權利要求1至4任一權利要求所述的方法,其特征在于,所述元數據 服務器向所述主數據塊服務器發起數據塊校驗請求是由定時器觸發元數據服務 器發起的。
9、 一種分布式文件系統中校驗和同步數據塊的裝置,分布式文件系統包括 有元數據服務器、數據塊服務器和存儲媒介;元數據服務器在同組數據塊服務 器中指定其中一個為主數據塊服務器,其它的為從數據塊服務器;其特征在于, 所述裝置包括校驗發起單元,用于向所述主數據塊服務器發起數據塊校驗請求; 校驗和同步單元,用于對所述主數據塊服務器組內的從數據塊服務器管理的所有數據塊信息進行校驗,再并根據校驗結果對主從數據塊進行同步,然后將校驗和同步的結果上報給所迷元數據服務器;元數據信息更新單元,用于根據上報的校驗和同步的結果對元數據信息進行更新。
10、 如權利要求9所述的裝置,其特征在于,所述才交驗和同步單元包括 數據塊信息收集子單元,用于向主數據塊服務器所在組內的從數據塊服務器發送數據塊收集請求,并接收到所有所述從數據塊服務器上報的其所管理的 數據塊信息后發起數據塊校驗。
全文摘要
本發明適用于數據存儲領域,提供了一種分布式文件系統中校驗和同步數據塊的方法及系統。分布式文件系統包括相互鏈接的元數據服務器、數據塊服務器和存儲媒介;元數據服務器在同組數據塊服務器中指定其中一個為主數據塊服務器,其它的為從數據塊服務器;所述方法包括所述元數據服務器向所述主數據塊服務器發起數據塊校驗請求;所述主數據塊服務器對其組內從數據塊服務器管理的所有數據塊信息進行校驗,再并根據校驗結果進行同步,然后將校驗和同步的結果上報給所述元數據服務器;所述元數據服務器根據上報的校驗和同步的結果對元數據信息進行更新。這樣,元數據服務器只用極少的時間就完成對數據庫的校驗和同步。
文檔編號H04L29/08GK101582920SQ20091010805
公開日2009年11月18日 申請日期2009年6月9日 優先權日2009年6月9日
發明者夏艦波, 波 張, 杰 彭 申請人:中興通訊股份有限公司