国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式文件存儲(chǔ)系統(tǒng)及文件存儲(chǔ)方法

      文檔序號(hào):7815335閱讀:489來(lái)源:國(guó)知局
      分布式文件存儲(chǔ)系統(tǒng)及文件存儲(chǔ)方法
      【專利摘要】本發(fā)明提供了一種分布式文件存儲(chǔ)系統(tǒng)以及文件存儲(chǔ)方法。其中存儲(chǔ)的文件的文件名為文件的SHA1值。該系統(tǒng)包括:多個(gè)存儲(chǔ)節(jié)點(diǎn);管理節(jié)點(diǎn),其與所述多個(gè)存儲(chǔ)節(jié)點(diǎn)通信耦合,并且管理所述多個(gè)存儲(chǔ)節(jié)點(diǎn);其中,所述存儲(chǔ)節(jié)點(diǎn)以一級(jí)目錄表達(dá)最小存儲(chǔ)管理單元,所述存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)容量按最小存儲(chǔ)管理單元?jiǎng)澐譃橐粋€(gè)或多個(gè)存儲(chǔ)單元并將其按優(yōu)先級(jí)順序編號(hào),以及所述存儲(chǔ)節(jié)點(diǎn)的次級(jí)目錄的名稱以其存儲(chǔ)的文件的文件名中的預(yù)定位置的一個(gè)或多個(gè)字母來(lái)表示。根據(jù)本發(fā)明的存儲(chǔ)系統(tǒng)可以加快文件的檢索定位。
      【專利說(shuō)明】分布式文件存儲(chǔ)系統(tǒng)及文件存儲(chǔ)方法

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及文件存儲(chǔ)領(lǐng)域,更具體地,涉及一種分布式文件存儲(chǔ)系統(tǒng)及用于所述分布式文件存儲(chǔ)系統(tǒng)的文件存儲(chǔ)方法。

      【背景技術(shù)】
      [0002]隨著數(shù)字技術(shù)的發(fā)展,需要存儲(chǔ)的文件量越來(lái)越大。對(duì)于多年積累的海量的樣本文件,如果使用單臺(tái)存儲(chǔ)設(shè)備,則該單臺(tái)存儲(chǔ)設(shè)備一方面很難具備足夠大的存儲(chǔ)容量,另一方面還會(huì)成為整個(gè)數(shù)據(jù)存取的單點(diǎn)瓶頸。
      [0003]一種有效的存儲(chǔ)海量樣本文件的方式是將樣本文件存儲(chǔ)到分布式存儲(chǔ)系統(tǒng)中。在分布式存儲(chǔ)系統(tǒng)中,一方面可以通過(guò)增加計(jì)算機(jī)來(lái)加大系統(tǒng)的總存儲(chǔ)容量,滿足對(duì)大容量存儲(chǔ)的需求;另一方面網(wǎng)絡(luò)中的各臺(tái)計(jì)算機(jī)可以分別處理存儲(chǔ)在當(dāng)前計(jì)算機(jī)上的文件,使得在滿足存儲(chǔ)需求的同時(shí),具有最大化的計(jì)算能力。
      [0004]但是網(wǎng)絡(luò)中的不同計(jì)算機(jī)的存儲(chǔ)容量有大有小,通常存在較大的差別,此時(shí)需要一種有效機(jī)制能夠統(tǒng)一利用網(wǎng)絡(luò)中所有計(jì)算機(jī)上的存儲(chǔ)容量。這種機(jī)制還需要具備可擴(kuò)展性,對(duì)于新加入到網(wǎng)絡(luò)中的計(jì)算機(jī),可以平滑的將此計(jì)算機(jī)上的存儲(chǔ)容量納入到整個(gè)存儲(chǔ)系統(tǒng)中。


      【發(fā)明內(nèi)容】

      [0005]為了實(shí)現(xiàn)上述目的,本發(fā)明提出了一種分布式文件存儲(chǔ)系統(tǒng)以及用于所述分布式文件存儲(chǔ)系統(tǒng)的文件存儲(chǔ)方法。本發(fā)明提出可以根據(jù)網(wǎng)絡(luò)中的存儲(chǔ)容量最小的計(jì)算機(jī)來(lái)確定最小存儲(chǔ)管理單元。于是,網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)的存儲(chǔ)容量可以統(tǒng)一按最小存儲(chǔ)管理單元?jiǎng)澐譃橐粋€(gè)或多個(gè)存儲(chǔ)單元,并且每個(gè)存儲(chǔ)單元可被指定對(duì)應(yīng)的優(yōu)先級(jí)。本發(fā)明還提出,以目錄表達(dá)最小存儲(chǔ)管理單元。于是網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)至少包括一個(gè)一級(jí)目錄,其中每個(gè)一級(jí)目錄可以表示一個(gè)存儲(chǔ)單元。本發(fā)明還提出在一級(jí)目錄下可以增設(shè)二級(jí)甚至三級(jí)或更多的次級(jí)目錄,這些目錄的名稱可以與其中存儲(chǔ)的文件名相關(guān)聯(lián)。這樣可以加快文件的檢索定位。
      [0006]根據(jù)本發(fā)明的一方面,提供了一種分布式文件存儲(chǔ)系統(tǒng),其中存儲(chǔ)的文件的文件名為文件的SHAl值,所述系統(tǒng)包括:多個(gè)存儲(chǔ)節(jié)點(diǎn);管理節(jié)點(diǎn),其與所述多個(gè)存儲(chǔ)節(jié)點(diǎn)通信耦合,并且管理所述多個(gè)存儲(chǔ)節(jié)點(diǎn);其中,所述存儲(chǔ)節(jié)點(diǎn)以一級(jí)目錄表達(dá)最小存儲(chǔ)管理單元,所述存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)容量按最小存儲(chǔ)管理單元?jiǎng)澐譃橐粋€(gè)或多個(gè)存儲(chǔ)單元并將其按優(yōu)先級(jí)順序編號(hào),以及所述存儲(chǔ)節(jié)點(diǎn)的次級(jí)目錄的名稱以其存儲(chǔ)的文件的文件名中的預(yù)定位置的一個(gè)或多個(gè)字母來(lái)表示。
      [0007]在本發(fā)明的一些實(shí)施例中,次級(jí)目錄可以包括二級(jí)目錄和三級(jí)目錄,所述二級(jí)目錄和三級(jí)目錄的名稱分別以存儲(chǔ)的文件的文件名的前m個(gè)和次m個(gè)字母表示,所述m是大于或等于I的正整數(shù)。
      [0008]在本發(fā)明的一些實(shí)施例中,所述分布式文件存儲(chǔ)系統(tǒng)還包括存儲(chǔ)單元選擇模塊,配置為:針對(duì)要存儲(chǔ)的或要移動(dòng)的文件,選擇具有指定的優(yōu)先級(jí)的存儲(chǔ)單元中的與其文件名相符的目錄作為目標(biāo)存儲(chǔ)位置。
      [0009]在本發(fā)明的一些實(shí)施例中,所述分布式文件存儲(chǔ)系統(tǒng)還包括存儲(chǔ)容量均衡模塊,配置為:在特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)定閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移或上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單元或上移到上一優(yōu)先級(jí)的存儲(chǔ)單元,直到所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率降到第二預(yù)設(shè)閾值。
      [0010]在本發(fā)明的一些實(shí)施例中,所述存儲(chǔ)容量均衡模塊進(jìn)一步配置為:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且無(wú)上一優(yōu)先級(jí)或上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率大于第三預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單元。
      [0011 ] 優(yōu)選地,所述存儲(chǔ)容量均衡模塊進(jìn)一步配置為:當(dāng)數(shù)據(jù)下移過(guò)程中,所述次一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第五預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      [0012]在本發(fā)明的一些實(shí)施例中,所述存儲(chǔ)容量均衡模塊進(jìn)一步配置為:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率小于第四預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件上移到上一優(yōu)先級(jí)的存儲(chǔ)單元。
      [0013]優(yōu)選地,所述存儲(chǔ)容量均衡模塊還配置為:當(dāng)在數(shù)據(jù)上移過(guò)程中,所述上一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第六預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      [0014]在本發(fā)明的一些實(shí)施例中,所述管理節(jié)點(diǎn)以數(shù)據(jù)庫(kù)的形式來(lái)維護(hù)各個(gè)存儲(chǔ)節(jié)點(diǎn)的配置信息、存儲(chǔ)容量信息等,并且負(fù)責(zé)發(fā)布調(diào)度指令。
      [0015]根據(jù)本發(fā)明的另一方面,提供了一種在上述分布式文件存儲(chǔ)系統(tǒng)中存儲(chǔ)文件的方法,包括:選擇具有足夠空閑容量的第一優(yōu)先級(jí)的存儲(chǔ)單元;在所選擇的存儲(chǔ)單元中選擇或創(chuàng)建與要存儲(chǔ)的文件的文件名相符的目錄作為目標(biāo)存儲(chǔ)位置;以及,在所述目標(biāo)存儲(chǔ)位置存儲(chǔ)文件,并且更新管理節(jié)點(diǎn)的數(shù)據(jù)庫(kù)中的對(duì)應(yīng)記錄。
      [0016]在本發(fā)明的一些實(shí)施例中,所述方法還包括:在特定的存儲(chǔ)節(jié)點(diǎn)的容量占用率超過(guò)第一預(yù)定閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移或下移以將所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件轉(zhuǎn)移到次一優(yōu)先級(jí)或上移優(yōu)先級(jí)的存儲(chǔ)單元,直到所述特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率降到第二預(yù)設(shè)閾值。
      [0017]在本發(fā)明的一些實(shí)施例中,所述觸發(fā)數(shù)據(jù)均衡的步驟包括:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且無(wú)上一優(yōu)先級(jí)或上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率大于第三預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單元。優(yōu)選地,當(dāng)數(shù)據(jù)下移過(guò)程中,所述次一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第五預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      [0018]在本發(fā)明的一些實(shí)施例中,所述觸發(fā)數(shù)據(jù)均衡的步驟包括:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率小于第四預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件上移到上一優(yōu)先級(jí)的存儲(chǔ)單元。優(yōu)選地,當(dāng)在數(shù)據(jù)上移過(guò)程中,所述上一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第六預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      [0019]根據(jù)本發(fā)明實(shí)施例的分布式存儲(chǔ)系統(tǒng)能夠以統(tǒng)一的方式利用網(wǎng)絡(luò)中所有計(jì)算機(jī)上的存儲(chǔ)容量,并且通過(guò)均衡策略實(shí)現(xiàn)了各節(jié)點(diǎn)的存儲(chǔ)均衡。根據(jù)本發(fā)明的分布式存儲(chǔ)系統(tǒng)還具備良好的可擴(kuò)展性,可以平滑地將新加入到網(wǎng)絡(luò)中的計(jì)算機(jī)上的存儲(chǔ)容量納入到整個(gè)存儲(chǔ)系統(tǒng)中。此外,本發(fā)明實(shí)施例通過(guò)將存儲(chǔ)節(jié)點(diǎn)的目錄名稱與所述目錄下存儲(chǔ)的文件名相關(guān)聯(lián),可以加快文件的檢索定位。

      【專利附圖】

      【附圖說(shuō)明】
      [0020]通過(guò)下面結(jié)合【專利附圖】
      附圖
      【附圖說(shuō)明】本發(fā)明的優(yōu)選實(shí)施例,將使本發(fā)明的上述及其它目的、特征和優(yōu)點(diǎn)更加清楚,其中:
      [0021]圖1示意性地示出了根據(jù)本發(fā)明實(shí)施例的分布式存儲(chǔ)系統(tǒng)的示意圖;
      [0022]圖2示意性地示出了根據(jù)本發(fā)明實(shí)施例的管理節(jié)點(diǎn)的框圖;
      [0023]圖3示意性地示出了根據(jù)本發(fā)明實(shí)施例的存儲(chǔ)文件的方法的流程圖。
      [0024]在本發(fā)明的所有附圖中,相同或相似的結(jié)構(gòu)均以相同或相似的附圖標(biāo)記進(jìn)行標(biāo)識(shí)。

      【具體實(shí)施方式】
      [0025]現(xiàn)在將參考附圖來(lái)詳細(xì)描述本發(fā)明,附圖中示出了本發(fā)明的說(shuō)明性實(shí)施例,以使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)本發(fā)明。應(yīng)該注意:以下附圖和示例不意味著將本發(fā)明的范圍限制為單一實(shí)施例,相反通過(guò)互換和組合不同實(shí)施例的一些或全部所述或所示元素形成其他實(shí)施例也是可能的。此外,在可以使用已知組件來(lái)部分或完全實(shí)現(xiàn)本發(fā)明的特定元素的情況下,將僅描述這些已知組件中為了理解本發(fā)明所必需的那部分組件,且將省略對(duì)這些已知組件中其他部分的詳細(xì)描述,以使得本發(fā)明更突出。除非本文中另行指出,否則本領(lǐng)域技術(shù)人員應(yīng)該理解:盡管本發(fā)明的一些實(shí)施例描述為用軟件實(shí)形式現(xiàn),但是本發(fā)明不受限于此,而是也可以用硬件、軟件和硬件的組合來(lái)實(shí)現(xiàn),且反之亦然。除非本文中另行明確聲明,否則在本說(shuō)明書(shū)中,不應(yīng)將示出了單一組件的實(shí)施例視為是限制性的,而是本發(fā)明意在包含包括多個(gè)相同組件在內(nèi)的其他實(shí)施例,且反之亦然。此外,本發(fā)明包含本文中作為示意所引用的已知組件的當(dāng)前和將來(lái)開(kāi)發(fā)的等價(jià)物。
      [0026]圖1示意性地示出了根據(jù)本發(fā)明實(shí)施例的分布式存儲(chǔ)系統(tǒng)100的示意圖。如圖1所示,分布式存儲(chǔ)系統(tǒng)100可以包括管理節(jié)點(diǎn)110和一組計(jì)算機(jī)。各臺(tái)計(jì)算機(jī)均提供一定的存儲(chǔ)容量,也稱為存儲(chǔ)節(jié)點(diǎn)。如圖所示,各臺(tái)計(jì)算機(jī)可以分別標(biāo)記為節(jié)點(diǎn)120-1、節(jié)點(diǎn)120-2、…、節(jié)點(diǎn)120-N。為了便于說(shuō)明,在下文中這些計(jì)算機(jī)可以統(tǒng)稱為120。應(yīng)該理解,盡管圖中僅示出了三個(gè)存儲(chǔ)節(jié)點(diǎn),但是系統(tǒng)100可以包括更多或更少的存儲(chǔ)節(jié)點(diǎn)。這些存儲(chǔ)節(jié)點(diǎn)可以通過(guò)網(wǎng)絡(luò)設(shè)備來(lái)相互連接。管理節(jié)點(diǎn)110負(fù)責(zé)保存各存儲(chǔ)節(jié)點(diǎn)的配置信息、存儲(chǔ)容量信息,并且還負(fù)責(zé)發(fā)布調(diào)度指令等。管理節(jié)點(diǎn)110也通過(guò)網(wǎng)絡(luò)設(shè)備130與各個(gè)存儲(chǔ)節(jié)點(diǎn)相互通信。應(yīng)該理解,此處的網(wǎng)絡(luò)設(shè)備可以包括各種有線的或者無(wú)線的聯(lián)網(wǎng)設(shè)備,如局域網(wǎng)設(shè)備、互聯(lián)網(wǎng)設(shè)備等等。本發(fā)明在這方面不受限制。
      [0027]在每個(gè)存儲(chǔ)節(jié)點(diǎn)120上,可以按預(yù)定的最小存儲(chǔ)管理單元(例如1000G)來(lái)劃分整個(gè)可用存儲(chǔ)容量。為了充分利用網(wǎng)絡(luò)中的計(jì)算機(jī)上的,可以根據(jù)存儲(chǔ)容量最小的計(jì)算機(jī)來(lái)決定最小存儲(chǔ)管理單元。例如,如果容量最小的計(jì)算機(jī)提供IT的存儲(chǔ)容量,則最小存儲(chǔ)單元可以規(guī)定為1T。應(yīng)該理解,最小存儲(chǔ)單元也可以小于容量最小的計(jì)算機(jī)提供的存儲(chǔ)容量,例如在上述例子中最小存儲(chǔ)單元也可以規(guī)定為500G。根據(jù)上述最小存儲(chǔ)管理單元的規(guī)定,具有最小存儲(chǔ)容量的計(jì)算機(jī)也至少包含一個(gè)存儲(chǔ)單元(每個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)最小存儲(chǔ)管理單元),而提供較大存儲(chǔ)容量的計(jì)算機(jī)可以包含多個(gè)存儲(chǔ)單元。
      [0028]在本發(fā)明中,最小存儲(chǔ)管理單元可以以一級(jí)目錄來(lái)表達(dá)。于是,各個(gè)存儲(chǔ)節(jié)點(diǎn)上的各個(gè)存儲(chǔ)單元可以例如標(biāo)示為T(mén)l,T2,……Tn等等。在一些示例實(shí)現(xiàn)中,這些目錄是在各自的存儲(chǔ)節(jié)點(diǎn)上唯一標(biāo)示的。于是,可以根據(jù)存儲(chǔ)節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)和目錄標(biāo)識(shí)一起來(lái)在系統(tǒng)100中唯一地標(biāo)示每個(gè)存儲(chǔ)單元。備選地,這些目錄也可以是在整個(gè)系統(tǒng)100中唯一標(biāo)示的。目錄與物理存儲(chǔ)設(shè)備上的存儲(chǔ)容量的關(guān)聯(lián)可以通過(guò)各種現(xiàn)有的或者將來(lái)開(kāi)發(fā)的技術(shù)來(lái)實(shí)現(xiàn)。例如,對(duì)于使用Linux文件系統(tǒng)的計(jì)算機(jī),針對(duì)專用磁盤(pán),可以直接通過(guò)mount向目錄提供存儲(chǔ)容量,而對(duì)于共用磁盤(pán),可以利用軟鏈接來(lái)關(guān)聯(lián)目錄和存儲(chǔ)容量。
      [0029]每個(gè)存儲(chǔ)節(jié)點(diǎn)的本地目錄結(jié)構(gòu)可以設(shè)計(jì)如下:
      [0030]1、存儲(chǔ)節(jié)點(diǎn)包含的一個(gè)或多個(gè)存儲(chǔ)單元可以按一級(jí)目錄順序標(biāo)示(如T1,T2,...,Tn);
      [0031]2、樣本文件的文件名為文件的SHAl值,該SHAl值是16進(jìn)制字符串;3、一級(jí)目錄(如Tl,Τ2,…,Tn)下可以增設(shè)次級(jí)目錄,并且次級(jí)目錄的名稱以其存儲(chǔ)的文件的文件名中的預(yù)定位置的一個(gè)或多個(gè)字母來(lái)表示。在一個(gè)實(shí)施例中,一級(jí)目錄下可以增設(shè)二級(jí)、三級(jí)子目錄以加快樣本文件的檢索定位。二級(jí)子目錄和三級(jí)子目錄的名稱可以分別以存儲(chǔ)的文件的文件名的前m個(gè)和次m個(gè)字母表示,所述m可以是大于或等于I的正整數(shù)。例如,樣本文件的定位方法可以如下:取文件名(SHA1值)的前2個(gè)字母來(lái)表示二級(jí)目錄的名稱,取文件名的次2個(gè)字母來(lái)表示三級(jí)目錄的名稱。于是二級(jí)目錄最多可分為256個(gè)子目錄(00?FF),三級(jí)目錄也最多可分為256個(gè)子目錄(00?FF)。
      [0032]在本發(fā)明的一些實(shí)施例中,每個(gè)存儲(chǔ)單元還劃分優(yōu)先級(jí)。如果一個(gè)存儲(chǔ)節(jié)點(diǎn)只包含一個(gè)存儲(chǔ)單元,則該存儲(chǔ)單元具有第一優(yōu)先級(jí)(即最高優(yōu)先級(jí))。如果一個(gè)存儲(chǔ)節(jié)點(diǎn)包含多個(gè)存儲(chǔ)單元,則可以對(duì)這些存儲(chǔ)單元從高到低指定優(yōu)先級(jí)。優(yōu)選地,可以規(guī)定每個(gè)存儲(chǔ)單元具有不同的優(yōu)先級(jí),一個(gè)節(jié)點(diǎn)的多個(gè)存儲(chǔ)單元可以編號(hào)并且按編號(hào)分為I級(jí)、2級(jí)、…、η級(jí),其中η是該存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)單元的數(shù)目。
      [0033]圖2示意性地示出了根據(jù)本發(fā)明實(shí)施例的管理節(jié)點(diǎn)110的框圖。管理節(jié)點(diǎn)110負(fù)責(zé)保存各存儲(chǔ)節(jié)點(diǎn)的配置信息、存儲(chǔ)容量信息,并且還負(fù)責(zé)發(fā)布調(diào)度指令等。如果所示,管理節(jié)點(diǎn)I1可以包括數(shù)據(jù)庫(kù)112、存儲(chǔ)單元選擇模塊114和存儲(chǔ)容量均衡模塊116。
      [0034]存儲(chǔ)單元選擇模塊114配置為:針對(duì)要存儲(chǔ)的或要移動(dòng)的文件,選擇具有指定的優(yōu)先級(jí)的存儲(chǔ)單元中的與其文件名相符的目錄作為目標(biāo)存儲(chǔ)位置。
      [0035]下面通過(guò)樣本文件的存儲(chǔ)單元選擇算法的示例來(lái)介紹存儲(chǔ)單元選擇模塊114的操作。該示例既適用于要存儲(chǔ)的樣本文件,也適用于數(shù)據(jù)均衡中的要移動(dòng)的樣本文件。
      [0036]在該示例中,如前所述,各個(gè)存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)單元可以按優(yōu)先級(jí)分級(jí)。如果存儲(chǔ)節(jié)點(diǎn)只有唯一存儲(chǔ)單元時(shí),此存儲(chǔ)單元設(shè)為I級(jí)。如果存儲(chǔ)節(jié)點(diǎn)擁有多個(gè)存儲(chǔ)單元,則各存儲(chǔ)單元可以進(jìn)行編號(hào),并且按編號(hào)分為I級(jí)、2級(jí)、…、η級(jí)。
      [0037]任意給定一個(gè)樣本文件,指定要求的存儲(chǔ)單元優(yōu)先級(jí)級(jí)別,則最終的目標(biāo)存儲(chǔ)位置按可以按照如下規(guī)則進(jìn)行選定:
      [0038]I)選定目標(biāo)存儲(chǔ)節(jié)點(diǎn)和存儲(chǔ)單元:
      [0039]查詢管理節(jié)點(diǎn)數(shù)據(jù)庫(kù)112中各存儲(chǔ)單元的信息。如果存在具有所要求的優(yōu)先級(jí)且未使用的存儲(chǔ)單元,則優(yōu)先選擇該存儲(chǔ)單元作為目標(biāo)存儲(chǔ)單元。如果存在多個(gè)上述未使用的存儲(chǔ)單元,則可以隨機(jī)選擇其中之一作為目標(biāo)存儲(chǔ)節(jié)點(diǎn)。如果具有所要求的優(yōu)先級(jí)的存儲(chǔ)單元都已經(jīng)被使用,則可以選擇剩余存儲(chǔ)空間較大的存儲(chǔ)單元作為目標(biāo)存儲(chǔ)單元。顯然,在目標(biāo)存儲(chǔ)單元確定的情況下,其所在的存儲(chǔ)節(jié)點(diǎn)即目標(biāo)存儲(chǔ)節(jié)點(diǎn)。于是,可以選定目標(biāo)存儲(chǔ)位置中的目標(biāo)存儲(chǔ)節(jié)點(diǎn)和目標(biāo)一級(jí)目錄(對(duì)應(yīng)于目標(biāo)存儲(chǔ)單元)。
      [0040]在該實(shí)施例中,如果樣本文件是要存儲(chǔ)的文件,則所要求的存儲(chǔ)單元的優(yōu)先級(jí)總是第一級(jí)。而在數(shù)據(jù)均衡中,在執(zhí)行數(shù)據(jù)上移時(shí),所要求的存儲(chǔ)單元優(yōu)先級(jí)是文件當(dāng)前所在存儲(chǔ)單元的優(yōu)先級(jí)的上一優(yōu)先級(jí),而在執(zhí)行數(shù)據(jù)下移時(shí),所要求的存儲(chǔ)單元優(yōu)先級(jí)則是文件當(dāng)前所在存儲(chǔ)單元的優(yōu)先級(jí)的次一優(yōu)先級(jí)。
      [0041]2)選定目標(biāo)存儲(chǔ)子目錄:
      [0042]可以按照上文所述的次級(jí)目錄生成規(guī)則,根據(jù)樣本文件的文件名生成次級(jí)目錄名稱。如果在目標(biāo)存儲(chǔ)節(jié)點(diǎn)的目標(biāo)一級(jí)目錄之下已經(jīng)存在該次級(jí)目錄名稱,則選擇該次級(jí)目錄作為目標(biāo)存儲(chǔ)子目錄,否則可以在該目標(biāo)一級(jí)目錄之下創(chuàng)建所生成的次級(jí)目錄以作為目標(biāo)存儲(chǔ)子目錄。應(yīng)該理解,此處的次級(jí)目錄可以是單級(jí)目錄,也可以是多級(jí)目錄,例如包括二級(jí)目錄和三級(jí)目錄,甚至更多級(jí)目錄。
      [0043]3)存儲(chǔ)樣本文件,并更新數(shù)據(jù)庫(kù)中的對(duì)應(yīng)記錄:
      [0044]可以在選定的目標(biāo)存儲(chǔ)位置下存儲(chǔ)該樣本文件。該樣本文件的存儲(chǔ)(或移動(dòng))將改變文件的存儲(chǔ)位置,并且使得存儲(chǔ)單元的存儲(chǔ)容量信息發(fā)生變化。于是,可以在數(shù)據(jù)庫(kù)(或者具體地,數(shù)據(jù)庫(kù)中的文件存儲(chǔ)位置表以及存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)單元信息表)中添加或更新對(duì)應(yīng)的記錄。
      [0045]存儲(chǔ)容量均衡模塊116可以配置為:在特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)定閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移或上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單元或上移到上一優(yōu)先級(jí)的存儲(chǔ)單元,直到所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率降到第二預(yù)設(shè)閾值。
      [0046]具體地,存儲(chǔ)容量均衡模塊可以包括下移模塊和上移模塊。下移模塊可以配置為:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且無(wú)上一優(yōu)先級(jí)或上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率大于第三預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單元。優(yōu)選地,當(dāng)數(shù)據(jù)下移過(guò)程中,所述次一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第五預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      [0047]上移模塊可以配置為:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率小于第四預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件上移到上一優(yōu)先級(jí)的存儲(chǔ)單元。優(yōu)選地,當(dāng)在數(shù)據(jù)上移過(guò)程中,所述上一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第六預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      [0048]下面將通過(guò)示例詳述存儲(chǔ)容量均衡模塊執(zhí)行的存儲(chǔ)單元數(shù)據(jù)均衡策略:
      [0049]I)下移策略:
      [0050]當(dāng)某個(gè)存儲(chǔ)節(jié)點(diǎn)的I級(jí)存儲(chǔ)單元容量占用率超過(guò)預(yù)設(shè)容量閾值Thl (如60% )時(shí),觸發(fā)存儲(chǔ)容量均衡程序進(jìn)行數(shù)據(jù)下移,即把此I級(jí)存儲(chǔ)單元中的樣本文件轉(zhuǎn)移到其他2級(jí)存儲(chǔ)單元中。
      [0051]被轉(zhuǎn)移的樣本文件可以在此I級(jí)存儲(chǔ)單元中隨機(jī)選擇。
      [0052]當(dāng)此I級(jí)存儲(chǔ)單元中的容量占用率降低到預(yù)設(shè)容量閾值Th2(如30%)時(shí),結(jié)束均衡操作。
      [0053]在均衡過(guò)程中,當(dāng)某個(gè)2級(jí)存儲(chǔ)單元容量占用率超過(guò)預(yù)設(shè)容量閾值Th3 (如90% )時(shí),可以標(biāo)記為下移存儲(chǔ)單元容量滿,于是此2級(jí)存儲(chǔ)單元不再參與數(shù)據(jù)下移均衡。
      [0054]2級(jí)存儲(chǔ)單元數(shù)據(jù)下移到3級(jí)存儲(chǔ)單元時(shí),下移策略與上面所述的I級(jí)存儲(chǔ)單元的數(shù)據(jù)下移到2級(jí)存儲(chǔ)單元時(shí)的情形相同。
      [0055]各級(jí)存儲(chǔ)單元數(shù)據(jù)下移策略可以依次類推。
      [0056]2)上移策略
      [0057]當(dāng)2級(jí)存儲(chǔ)單元容量占用超預(yù)設(shè)容量閾值Th4(如90% )同時(shí)I級(jí)存儲(chǔ)單元容量小于預(yù)設(shè)容量閾值Th5(如30% )時(shí),可以觸發(fā)容量均衡程序進(jìn)行數(shù)據(jù)上移。
      [0058]當(dāng)2級(jí)存儲(chǔ)單元容量占用降低到預(yù)設(shè)容量閾值Th6(如60% )時(shí),可以結(jié)束均衡操作。
      [0059]當(dāng)某個(gè)I級(jí)存儲(chǔ)單元容量占用率超預(yù)設(shè)容量閾值Th7 (如60% )時(shí),可以標(biāo)記為上移存儲(chǔ)單元滿,于是此存儲(chǔ)單元不再參與數(shù)據(jù)上移均衡。
      [0060]3級(jí)存儲(chǔ)單元數(shù)據(jù)上移到2級(jí)存儲(chǔ)單元時(shí),上移策略與上面所述的2級(jí)存儲(chǔ)單元的數(shù)據(jù)上移到I級(jí)存儲(chǔ)單元時(shí)的情形相同。
      [0061]各級(jí)存儲(chǔ)單元數(shù)據(jù)上移策略可以依次類推。
      [0062]3)容量均衡檢查的觸發(fā)
      [0063]容量均衡的執(zhí)行頻率可以根據(jù)數(shù)據(jù)增速來(lái)設(shè)定。例如,可以設(shè)定固定時(shí)間間隔(如每周/每月)執(zhí)行一次均衡。
      [0064]此外,還可以根據(jù)系統(tǒng)100中的存儲(chǔ)節(jié)點(diǎn)的數(shù)量來(lái)改變均衡周期。例如,隨著機(jī)器數(shù)量增大,可以適當(dāng)增大均衡周期。
      [0065]4)均衡文件的選擇:
      [0066]在數(shù)據(jù)均衡中,要移動(dòng)的文件可以在本地文件中隨機(jī)選擇
      [0067]要移動(dòng)的文件的目標(biāo)存儲(chǔ)位置可以根據(jù)上述的存儲(chǔ)單元選擇算法來(lái)確定。
      [0068]在文件移動(dòng)成功完成后,可以刪除本地文件,從而降低本地的容量占用率。
      [0069]5)為了提高均衡效率,還可以考慮存儲(chǔ)單元之間的定向均衡。
      [0070]數(shù)據(jù)庫(kù)112可以存儲(chǔ)各存儲(chǔ)節(jié)點(diǎn)的配置信息、存儲(chǔ)容量信息等等。例如,數(shù)據(jù)庫(kù)112可以包括節(jié)點(diǎn)基本存儲(chǔ)單元信息表,文件存儲(chǔ)位置表等等。下面的表I和表2示出了根據(jù)本發(fā)明的數(shù)據(jù)庫(kù)的示例。
      [0071]表I節(jié)點(diǎn)基本存儲(chǔ)單元信息表的示例
      [0072]

      【權(quán)利要求】
      1.一種分布式文件存儲(chǔ)系統(tǒng),其中存儲(chǔ)的文件的文件名為文件的SHAl值,所述系統(tǒng)包括: 多個(gè)存儲(chǔ)節(jié)點(diǎn); 管理節(jié)點(diǎn),其與所述多個(gè)存儲(chǔ)節(jié)點(diǎn)通信耦合,并且管理所述多個(gè)存儲(chǔ)節(jié)點(diǎn); 其中,所述存儲(chǔ)節(jié)點(diǎn)以一級(jí)目錄表達(dá)最小存儲(chǔ)管理單元,所述存儲(chǔ)節(jié)點(diǎn)的存儲(chǔ)容量按最小存儲(chǔ)管理單元?jiǎng)澐譃橐粋€(gè)或多個(gè)存儲(chǔ)單元并將其按優(yōu)先級(jí)順序編號(hào),以及所述存儲(chǔ)節(jié)點(diǎn)的次級(jí)目錄的名稱以其存儲(chǔ)的文件的文件名中的預(yù)定位置的一個(gè)或多個(gè)字母來(lái)表示。
      2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述次級(jí)目錄包括二級(jí)目錄和三級(jí)目錄,所述二級(jí)目錄和三級(jí)目錄的名稱分別以存儲(chǔ)的文件的文件名的前m個(gè)和次m個(gè)字母表示,所述m是大于或等于I的正整數(shù)。
      3.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括存儲(chǔ)單元選擇模塊,配置為:針對(duì)要存儲(chǔ)的或要移動(dòng)的文件,選擇具有指定的優(yōu)先級(jí)的存儲(chǔ)單元中的與其文件名相符的目錄作為目標(biāo)存儲(chǔ)位置。
      4.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括存儲(chǔ)容量均衡模塊,配置為:在特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)定閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移或上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單元或上移到上一優(yōu)先級(jí)的存儲(chǔ)單元,直到所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率降到第二預(yù)設(shè)閾值。
      5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述存儲(chǔ)容量均衡模塊進(jìn)一步配置為:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且無(wú)上一優(yōu)先級(jí)或上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率大于第三預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件下移到次一優(yōu)先級(jí)的存儲(chǔ)單兀。
      6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中所述存儲(chǔ)容量均衡模塊進(jìn)一步配置為:當(dāng)數(shù)據(jù)下移過(guò)程中,所述次一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第五預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      7.根據(jù)權(quán)利要求4所述的系統(tǒng),其中所述存儲(chǔ)容量均衡模塊進(jìn)一步配置為:在所述特定存儲(chǔ)節(jié)點(diǎn)的特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率超過(guò)第一預(yù)設(shè)閾值并且上一優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率小于第四預(yù)設(shè)閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)上移以將所述特定存儲(chǔ)節(jié)點(diǎn)的所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件上移到上一優(yōu)先級(jí)的存儲(chǔ)單元。
      8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中所述存儲(chǔ)容量均衡模塊還配置為:當(dāng)在數(shù)據(jù)上移過(guò)程中,所述上一優(yōu)先級(jí)的存儲(chǔ)單元中的容量占用率達(dá)到第六預(yù)設(shè)閾值的存儲(chǔ)單元不再參與數(shù)據(jù)均衡。
      9.一種在如權(quán)利要求1所述的分布式文件存儲(chǔ)系統(tǒng)中存儲(chǔ)文件的方法,包括: 選擇具有足夠空閑容量的第一優(yōu)先級(jí)的存儲(chǔ)單元; 在所選擇的存儲(chǔ)單元中選擇或創(chuàng)建與要存儲(chǔ)的文件的文件名相符的目錄作為目標(biāo)存儲(chǔ)位置;以及 在所述目標(biāo)存儲(chǔ)位置存儲(chǔ)文件,并且更新管理節(jié)點(diǎn)的數(shù)據(jù)庫(kù)中的對(duì)應(yīng)記錄。
      10.根據(jù)權(quán)利要求9所述的方法,還包括:在特定的存儲(chǔ)節(jié)點(diǎn)的容量占用率超過(guò)第一預(yù)定閾值時(shí),觸發(fā)數(shù)據(jù)均衡進(jìn)行數(shù)據(jù)下移或下移以將所述特定優(yōu)先級(jí)的存儲(chǔ)單元中的部分文件轉(zhuǎn)移到次一優(yōu)先級(jí)或上移優(yōu)先級(jí)的存儲(chǔ)單元,直到所述特定優(yōu)先級(jí)的存儲(chǔ)單元的容量占用率降到第二預(yù)設(shè)閾值。
      【文檔編號(hào)】H04L29/08GK104202428SQ201410497559
      【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年9月25日 優(yōu)先權(quán)日:2014年9月25日
      【發(fā)明者】鄭輝 申請(qǐng)人:北京網(wǎng)秦天下科技有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1