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