欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于集群文件系統(tǒng)的文件處理方法和裝置與流程

文檔序號:11707663閱讀:229來源:國知局
基于集群文件系統(tǒng)的文件處理方法和裝置與流程

本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及一種基于集群文件系統(tǒng)的文件處理方法和裝置。



背景技術(shù):

隨著信息技術(shù)的發(fā)展,人們需要處理的數(shù)據(jù)數(shù)量也越來越多,傳統(tǒng)的數(shù)據(jù)存儲方式已經(jīng)無法滿足使用者的需求?,F(xiàn)在,集群文件存儲逐漸取代原有存儲方式,被廣泛應(yīng)用在各種大型網(wǎng)絡(luò)應(yīng)用環(huán)境,這種存儲方式用多個節(jié)點來代替一個節(jié)點完成任務(wù),提高處理能力。同時在集群文件系統(tǒng)中,即使某個節(jié)點發(fā)生故障,不能再繼續(xù)參與計算和存儲,那么集群中的其它節(jié)點也可以立即接替故障節(jié)點正常工作。但是現(xiàn)有的集群文件系統(tǒng)的文件處理速度及對存儲空間的利用仍有待提高。



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

本發(fā)明的主要目的是提供一種基于集群文件系統(tǒng)的文件處理方法和裝置,旨在提高集群文件系統(tǒng)對文件的處理速度及對存儲空間的利用率。

為實現(xiàn)上述目的,本發(fā)明提出一種基于集群文件系統(tǒng)的文件處理方法,所述集群文件系統(tǒng)包括元數(shù)據(jù)服務(wù)器和至少一個文件服務(wù)器,每個所述文件服務(wù)器中運行至少一個文件服務(wù)進程,每個文件服務(wù)進程用于管理一個zfs邏輯卷,所述文件處理方法包括步驟:

獲取當前每一待存儲文件的尺寸;

依次判斷每一待存儲文件的尺寸是否不小于預(yù)設(shè)值;

若是,則將該待存儲文件按預(yù)設(shè)值分割為數(shù)據(jù)塊,

若否,則將多個尺寸小于所述預(yù)設(shè)值的待存儲文件打包并按預(yù)設(shè)值分割為數(shù)據(jù)塊;

存儲所述數(shù)據(jù)塊。

優(yōu)選的,所述存儲所述數(shù)據(jù)塊具體包括步驟:

為每個所述數(shù)據(jù)塊分配唯一的數(shù)據(jù)塊編號;

將所述數(shù)據(jù)塊主本保存至當前剩余容量最大的文件服務(wù)器;

返回所述數(shù)據(jù)塊所在的文件服務(wù)器的ip地址、端口信息、該數(shù)據(jù)塊的數(shù)據(jù)塊編號和該數(shù)據(jù)塊中所包含文件的文件編號至所述元數(shù)據(jù)服務(wù)器。

優(yōu)選的,還包括步驟:

定期獲取每一文件服務(wù)器的工作狀態(tài);

當所述文件服務(wù)器宕機時,依據(jù)該文件服務(wù)器中的每一數(shù)據(jù)塊的元數(shù)據(jù)信息,在其他文件服務(wù)器中創(chuàng)建該宕機文件服務(wù)器中每一數(shù)據(jù)塊的副本。

優(yōu)選的,還包括步驟:

獲取文件訪問請求;

依據(jù)所述文件訪問請求調(diào)用待讀取文件的元數(shù)據(jù)信息;

依據(jù)所述待讀取文件的元數(shù)據(jù)調(diào)用所述待讀取文件。

優(yōu)選的,所述集群文件系統(tǒng)運行于freebsd系統(tǒng)中。

此外,為實現(xiàn)上述目的,本發(fā)明還提出一種基于集群文件系統(tǒng)的文件處理裝置,所述集群文件系統(tǒng)包括元數(shù)據(jù)服務(wù)器和至少一個文件服務(wù)器,每個所述文件服務(wù)器中運行至少一個文件服務(wù)進程,每個文件服務(wù)進程用于管理一個zfs邏輯卷,所述文件處理方法包括步驟:

第一獲取模塊,用于獲取當前每一待存儲文件的尺寸;

判斷模塊,用于依次判斷每一待存儲文件的尺寸是否不小于預(yù)設(shè)值;

第一分割模塊,用于在所述判斷模塊的判斷結(jié)果為“是”時,將該待存儲文件按預(yù)設(shè)值分割為數(shù)據(jù)塊,

第二分割模塊,用于在所述判斷模塊的判斷結(jié)果為“否”時,將多個尺寸小于所述預(yù)設(shè)值的待存儲文件打包并按預(yù)設(shè)值分割為數(shù)據(jù)塊;

存儲模塊,用于存儲所述數(shù)據(jù)塊。

優(yōu)選的,所述存儲模塊具體包括:

編號單元,用于為每個所述數(shù)據(jù)塊分配唯一的數(shù)據(jù)塊編號;

保存單元,用于將所述數(shù)據(jù)塊主本保存至當前剩余容量最大的文件服務(wù)器;

返回單元,用于返回所述數(shù)據(jù)塊所在的文件服務(wù)器的ip地址、端口信息、該數(shù)據(jù)塊的數(shù)據(jù)塊編號和該數(shù)據(jù)塊中所包含文件的文件編號至所述元數(shù)據(jù)服務(wù)器。

優(yōu)選的,還包括:

第二獲取模塊,用于定期獲取每一文件服務(wù)器的工作狀態(tài);

創(chuàng)建模塊,用于在所述文件服務(wù)器宕機時,依據(jù)該文件服務(wù)器中的每一數(shù)據(jù)塊的元數(shù)據(jù)信息,在其他文件服務(wù)器中創(chuàng)建該宕機文件服務(wù)器中每一數(shù)據(jù)塊的副本。

優(yōu)選的,還包括:

第三獲取模塊,用于獲取文件訪問請求;

第一調(diào)用模塊,用于依據(jù)所述文件訪問請求調(diào)用待讀取文件的元數(shù)據(jù)信息;

第二調(diào)用模塊,用于依據(jù)所述待讀取文件的元數(shù)據(jù)調(diào)用所述待讀取文件。

優(yōu)選的,所述集群文件系統(tǒng)運行于freebsd系統(tǒng)中。

本發(fā)明的技術(shù)方案中,集群文件系統(tǒng)包括元數(shù)據(jù)服務(wù)器和至少一個文件服務(wù)器,所述文件處理方法包括步驟:獲取當前每一待存儲文件的尺寸;依次判斷每一待存儲文件的尺寸是否不小于預(yù)設(shè)值;若是,則將該待存儲文件按預(yù)設(shè)值分割為數(shù)據(jù)塊,若否,則將多個尺寸小于所述預(yù)設(shè)值的待存儲文件打包并按預(yù)設(shè)值分割為數(shù)據(jù)塊;存儲所述數(shù)據(jù)塊。本發(fā)明的技術(shù)方案通過將大文件按照預(yù)設(shè)尺寸劃分為數(shù)據(jù)塊,使得存儲于文件服務(wù)器中的文件數(shù)據(jù)塊尺寸全部相同,提高了對文件服務(wù)器的利用率和文件的存儲讀取速度。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖示出的結(jié)構(gòu)獲得其他的附圖。

圖1為本發(fā)明集群文件系統(tǒng)實施例的結(jié)構(gòu)示意圖;

圖2為本發(fā)明基于集群文件系統(tǒng)的文件處理方法第一實施例的流程圖;

圖3為本發(fā)明基于集群文件系統(tǒng)的文件處理方法第二實施例流程圖;

圖4為本發(fā)明基于集群文件系統(tǒng)的文件處理裝置第一實施例的功能模塊圖;

圖5為本發(fā)明基于集群文件系統(tǒng)的文件處理裝置第二實施例的模塊結(jié)構(gòu)圖。

本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明提出一種基于集群文件系統(tǒng)的文件處理方法。

如圖1所示,在一實施例中,所述集群文件系統(tǒng)包括元數(shù)據(jù)服務(wù)器10和至少一個文件服務(wù)器20,每個所述文件服務(wù)器20中運行至少一個文件服務(wù)進程21,每個文件服務(wù)進程21用于管理一個zfs(zettabytefilesystem,字節(jié)文件系統(tǒng),也叫dynamicfilesystem,動態(tài)文件系統(tǒng))邏輯卷。元數(shù)據(jù)服務(wù)器10中的所有元數(shù)據(jù)都保存在所述元數(shù)據(jù)服務(wù)器10的內(nèi)存中,而不進行持久化存儲。每次所述元數(shù)據(jù)啟動后,會將保存在每一文件服務(wù)進程21中的元數(shù)據(jù)信息讀取到元數(shù)據(jù)服務(wù)器10的內(nèi)存中,當元數(shù)據(jù)信息發(fā)生變化時,先寫入內(nèi)存然后寫入元數(shù)據(jù)服務(wù)器10的本地的日志,最后再寫入文件服務(wù)器20中相應(yīng)的文件服務(wù)進程21。

如圖2所示,在一實施例中所述文件處理方法包括步驟:

s100、獲取當前每一待存儲文件的尺寸。

本實施例的技術(shù)方案是基于集群文件系統(tǒng)實現(xiàn)的,集群文件系統(tǒng)針對的是大型網(wǎng)絡(luò)環(huán)境,因此其數(shù)據(jù)吞吐量始終處于一個較高的水平,本實施例中,在接收到文件的存儲請求后,先獲取每一個待存儲文件的尺寸。

s200、依次判斷每一待存儲文件的尺寸是否不小于預(yù)設(shè)值,若是,則執(zhí)行s300步驟,若否,則執(zhí)行s400步驟。

應(yīng)當理解的是,如果在文件存儲過程中,每次存儲的文件尺寸過大,則該存儲進程會耗費較長的時間,一旦中斷,則整個文件需要重新存儲,同時會積壓過多的待處理文檔,如果每次存儲的文件過小,則需要多個存儲進程,會耗費較多的系統(tǒng)資源,因此應(yīng)當根據(jù)具體使用情況具體調(diào)節(jié)該預(yù)設(shè)值的大小,該預(yù)設(shè)值可以是4mb、8mb、16mb等任意大小。本實施例中,以該預(yù)設(shè)值為128mb為例。

s300、將該待存儲文件按預(yù)設(shè)值分割為數(shù)據(jù)塊并重新執(zhí)行s200步驟。

本實施例中,當待存儲文件的大于或等于128mb的時候,則從待存儲文件中分割出若干個大小為128mb的數(shù)據(jù)塊,如果待存儲文件無法被恰好分割完成,則剩余部分的屬性仍待存儲文件。

s400、將多個尺寸小于所述預(yù)設(shè)值的待存儲文件打包并按預(yù)設(shè)值分割為數(shù)據(jù)塊并執(zhí)行s500步驟。

當多個待存儲文件的大小均小于128mb的時候,本實施例中將所述多個尺寸小于128mb的待存儲文件打包合并,并從打包合并之后的文件中繼續(xù)分割大小為128mb的數(shù)據(jù)塊,而劃分之后仍不足128mb的部分,則與其他不足128mb的文件繼續(xù)打包分割。

s500、存儲所述數(shù)據(jù)塊。

在將文件分割后,獲得的多個大小為128mb的數(shù)據(jù)塊被保存至文件服務(wù)器20,實現(xiàn)了對待存儲文件的保存。

本實施例的技術(shù)方案通過將待存儲文件全部劃分為預(yù)設(shè)大小的數(shù)據(jù)塊,使得文件服務(wù)器20始終處理和存儲相同大小的數(shù)據(jù)塊,防止產(chǎn)生內(nèi)存和硬盤碎片,同時,也使系統(tǒng)負載處于一個相對平穩(wěn)的水平,減少了波動,有助于提高系統(tǒng)的穩(wěn)定性。

請參閱圖3,進一步的,在本發(fā)明方法的又一實施例中,所述存儲所述數(shù)據(jù)塊具體包括步驟:

s501、為每個所述數(shù)據(jù)塊分配唯一的數(shù)據(jù)塊編號;

s502、將所述數(shù)據(jù)塊主本保存至當前剩余容量最大的文件服務(wù)器20;

s503、返回所述數(shù)據(jù)塊所在的文件服務(wù)器20的ip地址、端口信息、該數(shù)據(jù)塊的數(shù)據(jù)塊編號和該數(shù)據(jù)塊中所包含文件的文件編號至所述元數(shù)據(jù)服務(wù)器10。

本實施例的技術(shù)方案中,每一文件服務(wù)器20及設(shè)置于每一文件服務(wù)器20中的文件服務(wù)進程21在連接至元數(shù)據(jù)服務(wù)器10時,均會未其中的數(shù)據(jù)塊分配其唯一對應(yīng)的數(shù)據(jù)塊編號,記為blockid。本實施例中,每一文件服務(wù)進程21中事先存儲一定數(shù)量的數(shù)據(jù)塊序列號,例如1萬個,沒當有新的數(shù)據(jù)塊被寫入該文件服務(wù)器20中,則為其分配一個數(shù)據(jù)塊編號,當數(shù)據(jù)塊編號的數(shù)量不足時,例如小于2000,則重新想元數(shù)據(jù)服務(wù)器10申請新的數(shù)據(jù)塊編號。而每一數(shù)據(jù)塊中的文件也有其對應(yīng)的隨機編號,在全局系統(tǒng)中,以blockid+隨機編號作為每一文件的文件編號。通過blockid可以確認該文件所在的數(shù)據(jù)塊,并進一步通過隨機編號確認該文件。如果元數(shù)據(jù)中記錄了某一初始文件被分割后保存在若干個數(shù)據(jù)塊中,則可以通過該初始文件的每一部分的文件編號訪問相應(yīng)的數(shù)據(jù)塊中的文件,并合并獲得原初始文件。

優(yōu)選的,還包括步驟:

s600、定期獲取每一文件服務(wù)器20的工作狀態(tài);

s700、當所述文件服務(wù)器20宕機時,依據(jù)該文件服務(wù)器20中的每一數(shù)據(jù)塊的元數(shù)據(jù)信息,在其他文件服務(wù)器20中創(chuàng)建該宕機文件服務(wù)器20中每一數(shù)據(jù)塊的副本。

為了確保數(shù)據(jù)安全,每一文件都應(yīng)當在其他文件創(chuàng)建相應(yīng)的文件副本。本實施例中,文件副本的數(shù)量優(yōu)選為三個。在所述元數(shù)據(jù)服務(wù)器10啟動時會發(fā)出檢查請求,當文件服務(wù)器20收到檢查請求后,會檢查每個數(shù)據(jù)塊的副本數(shù)是否滿足配置的副本要求,如果不滿足則在其他文件服務(wù)器20中創(chuàng)建該宕機文件服務(wù)器20中每一數(shù)據(jù)塊的副本,提高了數(shù)據(jù)的安全性,防止丟失。

為了進一步保證系統(tǒng)運行的穩(wěn)定,本實施例中進一步應(yīng)當設(shè)置多個元數(shù)據(jù)服務(wù)器10,其中一個元數(shù)據(jù)服務(wù)器10擁有管理員權(quán)限,其他元數(shù)據(jù)服務(wù)器10作為備份,如果具有管理員權(quán)限的元數(shù)據(jù)服務(wù)器10宕機或出現(xiàn)其他故障,則由其他元數(shù)據(jù)服務(wù)器10投票選出新的元數(shù)據(jù)服務(wù)器10接管管理員權(quán)限。

優(yōu)選的,還包括步驟:

s800、獲取文件訪問請求;

s900、依據(jù)所述文件訪問請求調(diào)用待讀取文件的元數(shù)據(jù)信息;

s1000、依據(jù)所述待讀取文件的元數(shù)據(jù)調(diào)用所述待讀取文件。

當客戶端讀取文件時,元數(shù)據(jù)服務(wù)器10首先根據(jù)文件名解析出文件所在的塊信息,并將該數(shù)據(jù)塊的主本、副本所有文件服務(wù)器20列表返回給客戶端,客戶端根據(jù)該信息優(yōu)先從數(shù)據(jù)塊主本所在文件服務(wù)器20中讀取該文件,如果讀取失敗則從數(shù)據(jù)塊副本所在的文件服務(wù)器20中中讀取。確保了文件不會丟失。

優(yōu)選的,所述集群文件系統(tǒng)運行于freebsd(免費bsd,bsd為berkeleysoftwaredistribution的縮寫,伯克利軟件套件,一種操作系統(tǒng)的名稱)系統(tǒng)中。

freebsd是一種類unix(尤尼斯,一種操作系統(tǒng)的名稱)操作系統(tǒng),是由經(jīng)過bsd、386bsd和4.4bsd發(fā)展而來的unix的一個重要分支,可以為不同架構(gòu)的計算機系統(tǒng)提供了不同程度的支持。其在內(nèi)部結(jié)構(gòu)和系統(tǒng)api上和unix有很大的兼容性,其網(wǎng)絡(luò)出了性能也高于unix和windows(視窗,一種操作系統(tǒng)的名稱)操作系統(tǒng),更適合運行集群文件系統(tǒng)。經(jīng)過測試,本發(fā)明實施例的技術(shù)方案在基于freebsd的系統(tǒng)中的運行速度和效率相對于其他系統(tǒng)提高了5%以上。

此外,為實現(xiàn)上述目的,本發(fā)明還提出一種基于集群文件系統(tǒng)的文件處理裝置。

如圖1所示,在一實施例中,所述集群文件系統(tǒng)包括元數(shù)據(jù)服務(wù)器10和至少一個文件服務(wù)器20,每個所述文件服務(wù)器20中運行至少一個文件服務(wù)進程21,每個文件服務(wù)進程21用于管理一個zfs邏輯卷。元數(shù)據(jù)服務(wù)器10中的所有元數(shù)據(jù)都保存在所述元數(shù)據(jù)服務(wù)器10的內(nèi)存中,而不進行持久化存儲。每次所述元數(shù)據(jù)啟動后,會將保存在每一文件服務(wù)進程21中的元數(shù)據(jù)信息讀取到元數(shù)據(jù)服務(wù)器10的內(nèi)存中,當元數(shù)據(jù)信息發(fā)生變化時,先寫入內(nèi)存然后寫入元數(shù)據(jù)服務(wù)器10的本地的日志,最后再寫入文件服務(wù)器20中相應(yīng)的文件服務(wù)進程21。

如圖4所示,在一實施例中,所述文件處理方法包括步驟:

第一獲取模塊100,用于獲取當前每一待存儲文件的尺寸。

本實施例的技術(shù)方案是基于集群文件系統(tǒng)實現(xiàn)的,集群文件系統(tǒng)針對的是大型網(wǎng)絡(luò)環(huán)境,因此其數(shù)據(jù)吞吐量始終處于一個較高的水平,本實施例中,在接收到文件的存儲請求后,先獲取每一個待存儲文件的尺寸。

判斷模塊200,用于依次判斷每一待存儲文件的尺寸是否不小于預(yù)設(shè)值。

應(yīng)當理解的是,如果在文件存儲過程中,每次存儲的文件尺寸過大,則該存儲進程會耗費較長的時間,一旦中斷,則整個文件需要重新存儲,同時會積壓過多的待處理文檔,如果每次存儲的文件過小,則需要多個存儲進程,會耗費較多的系統(tǒng)資源,因此應(yīng)當根據(jù)具體使用情況具體調(diào)節(jié)該預(yù)設(shè)值的大小,該預(yù)設(shè)值可以是4mb、8mb、16mb等任意大小。本實施例中,以該預(yù)設(shè)值為128mb為例。

第一分割模塊300,用于在所述判斷模塊200的判斷結(jié)果為“是”時,將該待存儲文件按預(yù)設(shè)值分割為數(shù)據(jù)塊。

本實施例中,當待存儲文件的大于或等于128mb的時候,則從待存儲文件中分割出若干個大小為128mb的數(shù)據(jù)塊,如果待存儲文件無法被恰好分割完成,則剩余部分的屬性仍待存儲文件。

第二分割模塊400,用于在所述判斷模塊200的判斷結(jié)果為“否”時,將多個尺寸小于所述預(yù)設(shè)值的待存儲文件打包并按預(yù)設(shè)值分割為數(shù)據(jù)塊。

當多個待存儲文件的大小均小于128mb的時候,本實施例中將所述多個尺寸小于128mb的待存儲文件打包合并,并從打包合并之后的文件中繼續(xù)分割大小為128mb的數(shù)據(jù)塊,而劃分之后仍不足128mb的部分,則與其他不足128mb的文件繼續(xù)打包分割。

存儲模塊500,用于存儲所述數(shù)據(jù)塊。

在將文件分割后,獲得的多個大小為128mb的數(shù)據(jù)塊被保存至文件服務(wù)器20,實現(xiàn)了對待存儲文件的保存。

本實施例的技術(shù)方案通過將待存儲文件全部劃分為預(yù)設(shè)大小的數(shù)據(jù)塊,使得文件服務(wù)器20始終處理和存儲相同大小的數(shù)據(jù)塊,防止產(chǎn)生內(nèi)存和硬盤碎片,同時,也使系統(tǒng)負載處于一個相對平穩(wěn)的水平,減少了波動,有助于提高系統(tǒng)的穩(wěn)定性。

請進一步參閱圖5,在一實施例中,優(yōu)選的,所述存儲模塊500具體包括:

編號單元501,用于為每個所述數(shù)據(jù)塊分配唯一的數(shù)據(jù)塊編號;

保存單元502,用于將所述數(shù)據(jù)塊主本保存至當前剩余容量最大的文件服務(wù)器20;

返回單元503,返回所述數(shù)據(jù)塊所在的文件服務(wù)器20的ip地址、端口信息、該數(shù)據(jù)塊的數(shù)據(jù)塊編號和該數(shù)據(jù)塊中所包含文件的文件編號至所述元數(shù)據(jù)服務(wù)器10。

本實施例的技術(shù)方案中,每一文件服務(wù)器20及設(shè)置于每一文件服務(wù)器20中的文件服務(wù)進程21在連接至元數(shù)據(jù)服務(wù)器10時,均會未其中的數(shù)據(jù)塊分配其唯一對應(yīng)的數(shù)據(jù)塊編號,記為blockid。本實施例中,每一文件服務(wù)進程21中事先存儲一定數(shù)量的數(shù)據(jù)塊序列號,例如1萬個,沒當有新的數(shù)據(jù)塊被寫入該文件服務(wù)器20中,則為其分配一個數(shù)據(jù)塊編號,當數(shù)據(jù)塊編號的數(shù)量不足時,例如小于2000,則重新想元數(shù)據(jù)服務(wù)器10申請新的數(shù)據(jù)塊編號。而每一數(shù)據(jù)塊中的文件也有其對應(yīng)的隨機編號,在全局系統(tǒng)中,以blockid+隨機編號作為每一文件的文件編號。通過blockid可以確認該文件所在的數(shù)據(jù)塊,并進一步通過隨機編號確認該文件。如果元數(shù)據(jù)中記錄了某一初始文件被分割后保存在若干個數(shù)據(jù)塊中,則可以通過該初始文件的每一部分的文件編號訪問相應(yīng)的數(shù)據(jù)塊中的文件,并合并獲得原初始文件。

優(yōu)選的,還包括:

第二獲取模塊,用于定期獲取每一文件服務(wù)器20的工作狀態(tài);

創(chuàng)建模塊,用于在所述文件服務(wù)器20宕機時,依據(jù)該文件服務(wù)器20中的每一數(shù)據(jù)塊的元數(shù)據(jù)信息,在其他文件服務(wù)器20中創(chuàng)建該宕機文件服務(wù)器20中每一數(shù)據(jù)塊的副本。

為了確保數(shù)據(jù)安全,每一文件都應(yīng)當在其他文件創(chuàng)建相應(yīng)的文件副本。本實施例中,文件副本的數(shù)量優(yōu)選為三個。在所述元數(shù)據(jù)服務(wù)器10啟動時會發(fā)出檢查請求,當文件服務(wù)器20收到檢查請求后,會檢查每個數(shù)據(jù)塊的副本數(shù)是否滿足配置的副本要求,如果不滿足則在其他文件服務(wù)器20中創(chuàng)建該宕機文件服務(wù)器20中每一數(shù)據(jù)塊的副本,提高了數(shù)據(jù)的安全性,防止丟失。

為了進一步保證系統(tǒng)運行的穩(wěn)定,本實施例中進一步應(yīng)當設(shè)置多個元數(shù)據(jù)服務(wù)器10,其中一個元數(shù)據(jù)服務(wù)器10擁有管理員權(quán)限,其他元數(shù)據(jù)服務(wù)器10作為備份,如果具有管理員權(quán)限的元數(shù)據(jù)服務(wù)器10宕機或出現(xiàn)其他故障,則由其他元數(shù)據(jù)服務(wù)器10投票選出新的元數(shù)據(jù)服務(wù)器10接管管理員權(quán)限。

優(yōu)選的,還包括:

第三獲取模塊,用于獲取文件訪問請求;

第一調(diào)用模塊,用于依據(jù)所述文件訪問請求調(diào)用待讀取文件的元數(shù)據(jù)信息;

第二調(diào)用模塊,用于依據(jù)所述待讀取文件的元數(shù)據(jù)調(diào)用所述待讀取文件。

當客戶端讀取文件時,元數(shù)據(jù)服務(wù)器10首先根據(jù)文件名解析出文件所在的塊信息,并將該數(shù)據(jù)塊的主本、副本所有文件服務(wù)器20列表返回給客戶端,客戶端根據(jù)該信息優(yōu)先從數(shù)據(jù)塊主本所在文件服務(wù)器20中讀取該文件,如果讀取失敗則從數(shù)據(jù)塊副本所在的文件服務(wù)器20中中讀取。確保了文件不會丟失。

優(yōu)選的,所述集群文件系統(tǒng)運行于freebsd系統(tǒng)中。

freebsd是一種類unix操作系統(tǒng),是由經(jīng)過bsd、386bsd和4.4bsd發(fā)展而來的unix的一個重要分支,可以為不同架構(gòu)的計算機系統(tǒng)提供了不同程度的支持。其在內(nèi)部結(jié)構(gòu)和系統(tǒng)api上和unix有很大的兼容性,其網(wǎng)絡(luò)出了性能也高于unix和windows(操作系統(tǒng),更適合運行集群文件系統(tǒng)。經(jīng)過測試,本發(fā)明實施例的技術(shù)方案在基于freebsd的系統(tǒng)中的運行速度和效率相對于其他系統(tǒng)提高了5%以上。

以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
大同县| 利津县| 横峰县| 温宿县| 磐安县| 青龙| 揭东县| 宁德市| 二手房| 通化市| 轮台县| 舒兰市| 和顺县| 汽车| 泊头市| 桐梓县| 洪江市| 安顺市| 武胜县| 渭南市| 墨江| 盐津县| 宜春市| 塔河县| 甘泉县| 桂平市| 九寨沟县| 济阳县| 桐乡市| 调兵山市| 色达县| 岑溪市| 广德县| 孝感市| 湟源县| 呼和浩特市| 商水县| 揭东县| 拉孜县| 柳江县| 佛教|