一種分布式文件系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種分布式文件系統(tǒng)。其包括:大文件存儲(chǔ)服務(wù)器用于存儲(chǔ)拆分后的大文件數(shù)據(jù)塊,其中大文件為大于預(yù)設(shè)大小的文件;大文件元數(shù)據(jù)管理服務(wù)器,用于存儲(chǔ)大文件的元數(shù)據(jù)、存儲(chǔ)大文件存儲(chǔ)服務(wù)器上大文件數(shù)據(jù)塊的映射信息、管理大文件的命名空間和處理用戶的請(qǐng)求信息;緩存服務(wù)器,用于存儲(chǔ)小文件、小文件的元數(shù)據(jù)和緩存部分訪問(wèn)量大的大文件,其中,小文件指小于或等于預(yù)設(shè)大小的文件。本發(fā)明將大文件和小文件分開存儲(chǔ),大文件進(jìn)行分塊存儲(chǔ)在大文件存儲(chǔ)服務(wù)器上,小文件則存儲(chǔ)在緩存服務(wù)器上,有效提高大小文件讀寫效率。
【專利說(shuō)明】一種分布式文件系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)【技術(shù)領(lǐng)域】,更具體地,涉及一種分布式文件系統(tǒng)。
【背景技術(shù)】
[0002] 隨著云計(jì)算的普及和完善,越來(lái)越多的用戶將個(gè)人或企業(yè)數(shù)據(jù)儲(chǔ)存在云端,這些 數(shù)據(jù)不僅包括大文件還包括小文件,這類數(shù)據(jù)具有數(shù)據(jù)量大、讀取頻率高于寫入頻率、需要 進(jìn)行快速檢索等特點(diǎn)。
[0003] 目前,云服務(wù)提供商所使用的文件系統(tǒng)主要分為兩類:網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)和分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)。網(wǎng)絡(luò)文 件系統(tǒng)指云服務(wù)提供商在服務(wù)器上進(jìn)行虛擬分區(qū),劃分一塊的磁盤空間給用戶進(jìn)行文件存 儲(chǔ),而用戶每次讀寫文件都需要先登錄遠(yuǎn)程虛擬服務(wù)器,在虛擬磁盤上進(jìn)行文件讀寫,該類 系統(tǒng)的缺陷在于所有用戶數(shù)據(jù)都保存在同一服務(wù)器上,如果服務(wù)器故障則對(duì)用戶正常操作 產(chǎn)生重大影響。
[0004] 分布式文件系統(tǒng)指在服務(wù)提供商利用多臺(tái)服務(wù)器進(jìn)行集群共同存儲(chǔ)數(shù)據(jù)的文件 系統(tǒng),用戶在讀寫文件時(shí)需要發(fā)送請(qǐng)求,后臺(tái)服務(wù)器處理用戶請(qǐng)求并將請(qǐng)求結(jié)果發(fā)還給用 戶,當(dāng)前使用最廣泛的分布式文件系統(tǒng)是HDFS,然而該系統(tǒng)具有兩個(gè)主要缺陷:無(wú)法高效 存儲(chǔ)大量的小文件和只有單一命名節(jié)點(diǎn)進(jìn)行全局管理。為了改進(jìn)這些缺陷后來(lái)的研究者 提出了多種文件系統(tǒng),然而卻具有各自的缺陷,如針對(duì)海量小文件存儲(chǔ)提出了 TFS (Taobao File System),其將大量的小文件合并為一個(gè)大文件存儲(chǔ)在數(shù)據(jù)服務(wù)器上,與HDFS相比該 方法沒(méi)有明顯的進(jìn)步,僅僅將小文件整合成一個(gè)大文件數(shù)據(jù)塊存儲(chǔ)在數(shù)據(jù)服務(wù)器上,且增 加了一臺(tái)備用命名服務(wù)器。而備用命名服務(wù)器不直接參與處理用戶請(qǐng)求,只有當(dāng)命名服務(wù) 器宕機(jī)后備用命名服務(wù)器才代替命名服務(wù)器處理用戶請(qǐng)求。該方法缺陷在于命名服務(wù)器主 要負(fù)責(zé)處理用戶請(qǐng)求,且存儲(chǔ)空間是固定的,當(dāng)數(shù)據(jù)量越來(lái)越大,其性能將成為限制TFS發(fā) 展的瓶頸。且當(dāng)命名服務(wù)器嚴(yán)重故障導(dǎo)致數(shù)據(jù)丟失時(shí),備用命名服務(wù)器需要一邊與命名服 務(wù)器同步數(shù)據(jù),一邊響應(yīng)用戶的請(qǐng)求,此時(shí)備用命名服務(wù)器的負(fù)荷量過(guò)大。在MapR文件系 統(tǒng)中,將文件數(shù)據(jù)塊和元數(shù)據(jù)同時(shí)保存在節(jié)點(diǎn)上,克服了單一命名服務(wù)器的瓶頸,但將大文 件和小文件同時(shí)存儲(chǔ)在一起,浪費(fèi)了存儲(chǔ)資源且不便于管理。
[0005] 當(dāng)前的分布式文件系統(tǒng)存在無(wú)法有效存儲(chǔ)小文件并解決單一管理節(jié)點(diǎn)的難題。用 戶的文件數(shù)據(jù)各種各樣,大小各不相同,云服務(wù)端的文件系統(tǒng)存儲(chǔ)效率至關(guān)重要,也直接影 響著文件系統(tǒng)的故障響應(yīng)及恢復(fù)速度。設(shè)計(jì)合理的分布式文件系統(tǒng),能夠快速地恢復(fù)文件 存儲(chǔ)過(guò)程出現(xiàn)的故障,有極其重要的意義及實(shí)際應(yīng)用價(jià)值。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明為克服上述現(xiàn)有技術(shù)所述的至少一種缺陷(不足),提供一種能有效存儲(chǔ)小 文件的分布式文件系統(tǒng)。
[0007] 為解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案如下: 一種分布式文件系統(tǒng),包括: 大文件存儲(chǔ)服務(wù)器用于存儲(chǔ)拆分后的大文件數(shù)據(jù)塊,其中大文件為大于預(yù)設(shè)大小的文 件; 大文件元數(shù)據(jù)管理服務(wù)器,用于存儲(chǔ)大文件的元數(shù)據(jù)、存儲(chǔ)大文件存儲(chǔ)服務(wù)器上大文 件數(shù)據(jù)塊的映射信息、管理大文件的命名空間和處理用戶的請(qǐng)求信息; 緩存服務(wù)器,用于存儲(chǔ)小文件、小文件的元數(shù)據(jù)和緩存部分訪問(wèn)量大的大文件,其中, 小文件為小于或等于預(yù)設(shè)大小的文件。
[0008] 上述方案中,所述大文件存儲(chǔ)服務(wù)器包括若干臺(tái),大文件元數(shù)據(jù)管理服務(wù)器包括 至少三臺(tái),緩存服務(wù)器包括至少三臺(tái)。
[0009] 上述方案中,至少三臺(tái)大文件元數(shù)據(jù)管理服務(wù)器之間采用自適應(yīng)方式存儲(chǔ)大文件 元數(shù)據(jù)和大文件存儲(chǔ)服務(wù)器上大文件數(shù)據(jù)塊的映射信息以及承擔(dān)用戶請(qǐng)求的處理任務(wù); 至少三臺(tái)緩存服務(wù)器之間采用自適應(yīng)、動(dòng)態(tài)調(diào)整方式存儲(chǔ)數(shù)據(jù)和處理用戶請(qǐng)求。
[0010] 上述方案中,任何大文件元數(shù)據(jù)及大文件存儲(chǔ)服務(wù)器上大文件數(shù)據(jù)塊的映射信息 存儲(chǔ)在至少2臺(tái)大文件元數(shù)據(jù)管理服務(wù)器上。
[0011] 上述方案中,緩存服務(wù)器上設(shè)置有用于存儲(chǔ)小文件元數(shù)據(jù)以及緩存服務(wù)器上所存 儲(chǔ)大文件的元數(shù)據(jù)的元數(shù)據(jù)保存區(qū)、用于存儲(chǔ)小文件的小文件保存區(qū)以及用于緩存部分訪 問(wèn)量大的大文件的大文件緩存區(qū)。
[0012] 上述方案中,緩存服務(wù)器中設(shè)有計(jì)數(shù)器,用于實(shí)現(xiàn)大文件訪問(wèn)分類機(jī)制,具體實(shí)現(xiàn) 過(guò)程為:當(dāng)用戶通過(guò)該緩存服務(wù)器請(qǐng)求讀寫某個(gè)大文件時(shí),該大文件訪問(wèn)量加1 ; 設(shè)置訪問(wèn)量閥值; 訪問(wèn)量高于訪問(wèn)量閥值的大文件稱為經(jīng)常訪問(wèn)大文件; 緩存服務(wù)器對(duì)于經(jīng)常訪問(wèn)大文件依據(jù)訪問(wèn)量從高到低進(jìn)行排序。
[0013] 上述方案中,緩存服務(wù)器中存儲(chǔ)部分訪問(wèn)量大的大文件的存儲(chǔ)方式為: 當(dāng)緩存服務(wù)器的緩存區(qū)空間足夠時(shí),緩存服務(wù)器將新大文件直接添加到大文件緩存區(qū) 并在元數(shù)據(jù)保存區(qū)中添加新的大文件的元數(shù)據(jù); 當(dāng)緩存服務(wù)器的大文件緩存區(qū)空間不足時(shí),若緩存服務(wù)器需要添加一個(gè)新的用戶經(jīng)常 訪問(wèn)的大文件,則將大文件緩存區(qū)中訪問(wèn)量最低的經(jīng)常訪問(wèn)大文件刪除直到空間足夠,接 著將新的大文件添加進(jìn)大文件緩存區(qū)。
[0014] 上述方案中,所述緩存服務(wù)器以永久性方式保存小文件元數(shù)據(jù),以日志形式永久 存儲(chǔ)小文件,以更新方式保存經(jīng)常訪問(wèn)大文件元數(shù)據(jù)。
[0015] 上述方案中,當(dāng)其中一臺(tái)大文件元數(shù)據(jù)管理服務(wù)器故障后,系統(tǒng)立刻引導(dǎo)用戶請(qǐng) 求到其他大文件元數(shù)據(jù)管理服務(wù)器進(jìn)行處理,直到故障的大文件元數(shù)據(jù)管理服務(wù)器恢復(fù)正 常; 當(dāng)故障后恢復(fù)的大文件元數(shù)據(jù)管理服務(wù)器為空,則其他大文件元數(shù)據(jù)管理服務(wù)器與該 大文件元數(shù)據(jù)管理服務(wù)器同步故障前與其相同的大文件元數(shù)據(jù)及大文件數(shù)據(jù)塊映射信息。
[0016] 上述方案中,當(dāng)其中一臺(tái)緩存服務(wù)器故障后,系統(tǒng)立刻引導(dǎo)用戶請(qǐng)求到其他緩存 服務(wù)器處理,直到故障的緩存服務(wù)器恢復(fù)正常; 若故障后恢復(fù)的緩存服務(wù)器為空,則其他緩存服務(wù)器與該緩存服務(wù)器同步故障前與該 緩存服務(wù)器相同的小文件及小文件元數(shù)據(jù)。
[0017] 與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是: (1)本發(fā)明的分布式文件系統(tǒng)將大文件和小文件分開存儲(chǔ),大文件進(jìn)行分塊存儲(chǔ)在大 文件存儲(chǔ)服務(wù)器上,而小文件則存儲(chǔ)在緩存服務(wù)器上。當(dāng)用戶需要讀寫小文件時(shí)直接訪問(wèn) 緩存服務(wù)器然后做出對(duì)應(yīng)操作,這樣讀寫效率遠(yuǎn)高于傳統(tǒng)的先訪問(wèn)元數(shù)據(jù)管理服務(wù)器再訪 問(wèn)數(shù)據(jù)存儲(chǔ)服務(wù)器的方式。而如果用戶需要讀寫大文件先訪問(wèn)大文件元數(shù)據(jù)管理服務(wù)器, 在獲得位置信息后訪問(wèn)對(duì)應(yīng)的大文件存儲(chǔ)服務(wù)器。此系統(tǒng)能有效保存大文件和小文件,并 提1? 了文件的讀與效率。
[0018] (2)本發(fā)明的系統(tǒng)采用至少3臺(tái)緩存服務(wù)器和至少3臺(tái)大文件元數(shù)據(jù)管理服務(wù)器, 其中同層次各服務(wù)器之間互聯(lián),能有效突破傳統(tǒng)單一管理服務(wù)器的瓶頸,當(dāng)大量用戶同時(shí) 訪問(wèn)少量數(shù)據(jù)時(shí),系統(tǒng)通過(guò)自適應(yīng)、動(dòng)態(tài)調(diào)整方式可以對(duì)多臺(tái)服務(wù)器進(jìn)行負(fù)載均衡,避免出 現(xiàn)某臺(tái)服務(wù)器因自身處理和存儲(chǔ)能力不足但處理任務(wù)過(guò)重而宕機(jī)的情況,有效解決了單一 管理節(jié)點(diǎn)帶來(lái)的各種難題。
[0019] (3)本發(fā)明的分布式文件系統(tǒng)在某臺(tái)大文件元數(shù)據(jù)管理服務(wù)器和/或緩存服務(wù)器 出現(xiàn)故障時(shí),能夠及時(shí)引導(dǎo)用戶請(qǐng)求到其他大文件元數(shù)據(jù)管理服務(wù)器進(jìn)行處理,能保證用 戶對(duì)于所存儲(chǔ)文件的正常操作不受影響,而且由于故障所導(dǎo)致的數(shù)據(jù)丟失,本發(fā)明的系統(tǒng) 利用其他服務(wù)器通過(guò)同步機(jī)制恢復(fù)故障服務(wù)器的數(shù)據(jù),能有效提高故障恢復(fù)效率。
【專利附圖】
【附圖說(shuō)明】
[0020] 圖1為本發(fā)明一種分布式文件系統(tǒng)具體實(shí)施例中大文件存儲(chǔ)服務(wù)器和大文件元 數(shù)據(jù)管理服務(wù)器連接的示意圖。
[0021] 圖2為本發(fā)明一種分布式文件系統(tǒng)具體實(shí)施例中大文件元數(shù)據(jù)管理服務(wù)器和緩 存服務(wù)器連接的示意圖。
[0022] 圖3為本發(fā)明一種分布式文件系統(tǒng)具體實(shí)施例中緩存服務(wù)器內(nèi)部分區(qū)示意圖。
【具體實(shí)施方式】
[0023] 附圖僅用于示例性說(shuō)明,不能理解為對(duì)本專利的限制; 為了更好說(shuō)明本實(shí)施例,附圖某些部件會(huì)有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺 寸; 對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),附圖中某些公知結(jié)構(gòu)及其說(shuō)明可能省略是可以理解的。
[0024] 在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)"第一"、"第二"僅用于描述目的,而不能 理解為指示或暗示相對(duì)重要性或隱含所指示的技術(shù)特征的數(shù)量。由此,限定的"第一"、"第 二"的特征可以明示或隱含地包括一個(gè)或者更多個(gè)該特征。在本發(fā)明的描述中,除非另有說(shuō) 明,"多個(gè)"的含義是兩個(gè)或兩個(gè)以上。
[0025] 在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)"安裝"、"連 接"應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī) 械連接,也可以是電連接;可以是直接相連,也可以是通過(guò)中間媒介間接連接,可以說(shuō)兩個(gè) 元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明 的具體含義。
[0026] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的說(shuō)明。
[0027] 實(shí)施例1 如圖1和2所示,為本發(fā)明一種分布式文件系統(tǒng)具體實(shí)施例的架構(gòu)圖。參見圖1和2, 本具體實(shí)施例一種分布式文件系統(tǒng)具體包括大文件存儲(chǔ)服務(wù)器、大文件元數(shù)據(jù)管理服務(wù) 器、緩存服務(wù)器,大文件存儲(chǔ)服務(wù)器、大文件元數(shù)據(jù)管理服務(wù)器、緩存服務(wù)器三者順次連接 在一起,其中緩存服務(wù)器用于連接用戶,以接收用戶請(qǐng)求、處理用戶請(qǐng)求并返回請(qǐng)求結(jié)果給 用戶,在此過(guò)程中,當(dāng)緩存服務(wù)器無(wú)法處理用戶請(qǐng)求通常會(huì)將用戶請(qǐng)求轉(zhuǎn)發(fā)發(fā)給大文件元 數(shù)據(jù)管理服務(wù)器進(jìn)行請(qǐng)求處理,請(qǐng)求處理的結(jié)果也將通過(guò)緩存服務(wù)器返回給用戶,此時(shí)緩 存服務(wù)器不對(duì)用戶請(qǐng)求和請(qǐng)求處理的結(jié)果做任何的處理,僅用作數(shù)據(jù)的轉(zhuǎn)發(fā)裝置。
[0028] 大文件存儲(chǔ)服務(wù)器用于存儲(chǔ)拆分后的大文件數(shù)據(jù)塊,其中大文件為大于預(yù)設(shè)大小 的文件;在預(yù)設(shè)過(guò)程中,通常通過(guò)管理員指定一個(gè)閥值,從實(shí)際角度以及參考其他文件系統(tǒng) 來(lái)看,這個(gè)閥值通常為1M,當(dāng)文件大小超過(guò)該閥值時(shí)為大文件,當(dāng)?shù)陀诨虻扔谠撻y值時(shí)為小 文件;其中,大文件數(shù)據(jù)塊的大小通常是固定的,可由管理員預(yù)設(shè)得到。大文件存儲(chǔ)服務(wù)器 保存數(shù)據(jù)后通常還將所保存大文件數(shù)據(jù)塊的元數(shù)據(jù)發(fā)送給大文件元數(shù)據(jù)管理服務(wù)器; 大文件元數(shù)據(jù)管理服務(wù)器,用于保存、管理大文件存儲(chǔ)服務(wù)器上所保存大文件數(shù)據(jù)塊 的映射關(guān)系,用于保存大文件存儲(chǔ)服務(wù)器所保存大文件數(shù)據(jù)塊的元數(shù)據(jù),用于負(fù)責(zé)處理用 戶請(qǐng)求以及用于管理文件的命名空間; 緩存服務(wù)器,用于存儲(chǔ)小文件、小文件的元數(shù)據(jù)和緩存部分訪問(wèn)量大的大文件,其中, 小文件為小于或等于預(yù)設(shè)大小的文件。
[0029] 基于本具體實(shí)施例的方案,本發(fā)明的分布式文件系統(tǒng)將大文件進(jìn)行分塊存儲(chǔ)在大 文件存儲(chǔ)服務(wù)器上,而小文件則存儲(chǔ)在緩存服務(wù)器上,通過(guò)緩存服務(wù)器訪問(wèn)小文件,通過(guò)大 文件存儲(chǔ)服務(wù)器和大文件元數(shù)據(jù)管理服務(wù)器訪問(wèn)大文件,對(duì)大文件和小文件實(shí)施分開保 存,一方面能夠有效保存小文件。另一方面區(qū)別與現(xiàn)有技術(shù)中大文件和小文件一起保存的 方法,有效節(jié)約了存儲(chǔ)資源,而且大大方便了文件的管理。
[0030] 在具體實(shí)施過(guò)程中,為了解決單一管理節(jié)點(diǎn)的問(wèn)題,本具體實(shí)施例在該分布式文 件系統(tǒng)中設(shè)置了若干臺(tái)大文件存儲(chǔ)服務(wù)器、至少三臺(tái)大文件元數(shù)據(jù)管理服務(wù)器和至少三臺(tái) 緩存服務(wù)器,所有大文件元數(shù)據(jù)管理服務(wù)器相互互聯(lián),所有緩存服務(wù)器之間相互互聯(lián)。如圖 1和2所示的架構(gòu)圖中分布式文件系統(tǒng)設(shè)置了 12臺(tái)大文件存儲(chǔ)服務(wù)器、3臺(tái)大文件元數(shù)據(jù) 管理服務(wù)器和3臺(tái)緩存服務(wù)器。通常情況下同類型的服務(wù)器性能相同,不同類型的服務(wù)器 性能可以差異化。
[0031] 其中,至少三臺(tái)大文件元數(shù)據(jù)管理服務(wù)器之間采用自適應(yīng)、動(dòng)態(tài)調(diào)整方式存儲(chǔ)大 文件元數(shù)據(jù)和大文件存儲(chǔ)服務(wù)器上大文件數(shù)據(jù)塊的映射信息以及承擔(dān)用戶請(qǐng)求的處理任 務(wù)。具體地,進(jìn)行數(shù)據(jù)存儲(chǔ)和處理用戶請(qǐng)求時(shí),在所有大文件元數(shù)據(jù)管理服務(wù)器中性能和存 儲(chǔ)能力相對(duì)較強(qiáng)的大文件元數(shù)據(jù)管理服務(wù)器存儲(chǔ)更多大文件數(shù)據(jù)塊的元數(shù)據(jù)及其映射信 息,并承擔(dān)更多的用戶請(qǐng)求處理任務(wù),而性能和存儲(chǔ)能力相對(duì)較弱的大文件元數(shù)據(jù)管理服 務(wù)器則存儲(chǔ)相對(duì)較少的大文件數(shù)據(jù)塊的元數(shù)據(jù)及其映射信息,并承擔(dān)相對(duì)較少的用戶請(qǐng)求 處理任務(wù)。
[0032] 其中,至少三臺(tái)緩存服務(wù)器之間采用自適應(yīng)、動(dòng)態(tài)調(diào)整方式存儲(chǔ)數(shù)據(jù)和處理用戶 請(qǐng)求。具體地,進(jìn)行數(shù)據(jù)存儲(chǔ)和處理用戶請(qǐng)求時(shí),在所有緩存服務(wù)器中,對(duì)于性能和存儲(chǔ)能 力相對(duì)較強(qiáng)的緩存服務(wù)器存儲(chǔ)更多的數(shù)據(jù),并承擔(dān)更多的用戶請(qǐng)求處理任務(wù),而對(duì)于性能 和存儲(chǔ)能力相對(duì)弱的緩存服務(wù)器則存儲(chǔ)相對(duì)較少的數(shù)據(jù)和承擔(dān)相對(duì)較少的任務(wù)。
[0033] 基于上述方案,對(duì)大文件、小文件的存儲(chǔ),系統(tǒng)通過(guò)自適應(yīng)、動(dòng)態(tài)調(diào)整的方式進(jìn)行 服務(wù)器的負(fù)載均衡,使性能和存儲(chǔ)能力相對(duì)較高的服務(wù)器和性能和存儲(chǔ)能力相對(duì)較弱的服 務(wù)器之間的數(shù)據(jù)存儲(chǔ)和用戶請(qǐng)求處理達(dá)到一個(gè)相對(duì)合理的分配,能有效突破傳統(tǒng)單一管理 服務(wù)器的瓶頸,避免出現(xiàn)某臺(tái)服務(wù)器因自身處理和存儲(chǔ)能力不足但處理任務(wù)過(guò)重而宕機(jī)的 情況。
[0034] 在具體實(shí)施過(guò)程中,為了保證服務(wù)器故障情況下用戶的正常操作,上述方案中,本 具體實(shí)施在大文件元數(shù)據(jù)管理服務(wù)器之間采用冗余備份的方式,即任何大文件元數(shù)據(jù)及大 文件存儲(chǔ)服務(wù)器上大文件數(shù)據(jù)塊的映射信息存儲(chǔ)在至少2臺(tái)大文件元數(shù)據(jù)管理服務(wù)器上。 當(dāng)其中一臺(tái)大文件元數(shù)據(jù)管理服務(wù)器故障時(shí),還可以從其他大文件元數(shù)據(jù)管理服務(wù)器上獲 取信息。
[0035] 在具體實(shí)施過(guò)程中,如圖3所示,緩存服務(wù)器上設(shè)置元數(shù)據(jù)保存區(qū)、小文件保存區(qū) 和大文件緩存區(qū),元數(shù)據(jù)保存區(qū)負(fù)責(zé)保存該緩存服務(wù)器內(nèi)部所存小文件的元數(shù)據(jù)以及緩存 在緩存服務(wù)器上的大文件的元數(shù)據(jù),小文件元數(shù)據(jù)是永久保存的,除非小文件被用戶刪除 或系統(tǒng)故障,而大文件元數(shù)據(jù)采取更新式刪除;小文件保存區(qū),以日志的形式存儲(chǔ)小文件, 該部分?jǐn)?shù)據(jù)是永久保存的,除非被用戶刪除或系統(tǒng)故障;大文件緩存區(qū),存儲(chǔ)用戶訪問(wèn)量大 的大文件,該部分?jǐn)?shù)據(jù)是更新式刪除,并非永久保存; 在具體的實(shí)施過(guò)程中,在緩存服務(wù)器上設(shè)置計(jì)數(shù)器,用于實(shí)現(xiàn)緩大文件訪問(wèn)分類機(jī)制, 其具體實(shí)現(xiàn)過(guò)程為:當(dāng)用戶通過(guò)該緩存服務(wù)器訪問(wèn)某個(gè)大文件時(shí),該大文件訪問(wèn)量加1 ;針 對(duì)大文件預(yù)先設(shè)置訪問(wèn)量閥值;訪問(wèn)量高于訪問(wèn)量閥值的大文件稱為經(jīng)常訪問(wèn)大文件;緩 存服務(wù)器對(duì)于經(jīng)常訪問(wèn)大文件依據(jù)訪問(wèn)量從高到低進(jìn)行排序。
[0036] 在一種優(yōu)選的實(shí)施方式中,緩存服務(wù)器中存儲(chǔ)部分訪問(wèn)量大的大文件的存儲(chǔ)方式 為: 當(dāng)緩存服務(wù)器的緩存區(qū)空間足夠時(shí),緩存服務(wù)器將新大文件直接添加到大文件緩存區(qū) 并在元數(shù)據(jù)保存區(qū)中添加新的大文件的元數(shù)據(jù); 當(dāng)緩存服務(wù)器的大文件緩存區(qū)空間不足時(shí),若緩存服務(wù)器需要添加一個(gè)新的用戶經(jīng)常 訪問(wèn)的大文件,則將大文件緩存區(qū)中訪問(wèn)量最低的經(jīng)常訪問(wèn)大文件刪除直到空間足夠,接 著將新的大文件添加進(jìn)大文件緩存區(qū)。
[0037] 在上述方案中,與本發(fā)明的分布式文件系統(tǒng)中相關(guān)的用戶代表所有用戶,通常指 沒(méi)有緩存或者很小緩存區(qū)域的用戶,如智能手表等可穿戴使智能設(shè)備。
[0038] 在具體實(shí)施過(guò)程中,在本發(fā)明的分布式文件系統(tǒng)中提出了故障恢復(fù)機(jī)制,包括緩 存服務(wù)器故障恢復(fù)和大文件元數(shù)據(jù)管理服務(wù)器故障恢復(fù)兩種情況,具體地: 當(dāng)其中一臺(tái)大文件元數(shù)據(jù)管理服務(wù)器故障后,系統(tǒng)立刻引導(dǎo)用戶請(qǐng)求到其他大文件元 數(shù)據(jù)管理服務(wù)器進(jìn)行處理,直到故障的大文件元數(shù)據(jù)管理服務(wù)器恢復(fù)正常; 當(dāng)故障后恢復(fù)的大文件元數(shù)據(jù)管理服務(wù)器為空,則其他大文件元數(shù)據(jù)管理服務(wù)器與該 大文件元數(shù)據(jù)管理服務(wù)器同步故障前與其相同的大文件元數(shù)據(jù)及大文件數(shù)據(jù)塊映射信息。
[0039] 當(dāng)其中一臺(tái)緩存服務(wù)器故障后,系統(tǒng)立刻引導(dǎo)用戶請(qǐng)求到其他緩存服務(wù)器處理, 直到故障的緩存服務(wù)器恢復(fù)正常; 若故障后恢復(fù)的緩存服務(wù)器為空,則其他緩存服務(wù)器與該緩存服務(wù)器同步故障前與該 緩存服務(wù)器相同的小文件及小文件元數(shù)據(jù)。
[0040] 下面結(jié)合一個(gè)具體實(shí)例來(lái)詳細(xì)描述本發(fā)明的分布式文件系統(tǒng)。
[0041] 如圖1所示,分布式文件系統(tǒng)包括12臺(tái)大文件存儲(chǔ)服務(wù)器1-12、3臺(tái)3臺(tái)緩存服 務(wù)器1-3和3臺(tái)大文件元數(shù)據(jù)管理服務(wù)器1-3,大文件元數(shù)據(jù)管理服務(wù)器1保存大文件存儲(chǔ) 服務(wù)器1、2、3、4、5、6、9、10上所存儲(chǔ)信息的元數(shù)據(jù),大文件元數(shù)據(jù)管理服務(wù)器2保存大文件 存儲(chǔ)服務(wù)器1、2、5、6、7、8、11、12上所存儲(chǔ)信息的元數(shù)據(jù),大文件元數(shù)據(jù)管理服務(wù)器3保存 大文件存儲(chǔ)服務(wù)器3、4、7、8、9、10、11、12上所存儲(chǔ)信息的元數(shù)據(jù); 如圖2所示,假設(shè)系統(tǒng)存儲(chǔ)12個(gè)用戶的小文件,則3臺(tái)緩存服務(wù)器存儲(chǔ)方式為:緩存服 務(wù)器1保存用戶1、2、3、4、5、6、9、10所存儲(chǔ)的小文件及其元數(shù)據(jù);緩存服務(wù)器2保存用戶1、 2、5、6、7、8、11、12所存儲(chǔ)的小文件及其元數(shù)據(jù);緩存服務(wù)器3保存用戶3、4、7、8、9、10、11、 12所存儲(chǔ)的小文件及其元數(shù)據(jù)。其中,三臺(tái)緩存服務(wù)器中還分步劃分出一定的區(qū)域來(lái)緩存 用戶經(jīng)常訪問(wèn)的大文件。
[0042] 如圖2所示,緩存服務(wù)器故障恢復(fù)過(guò)程為:當(dāng)緩存服務(wù)器1發(fā)生故障后,用戶請(qǐng)求 被分配到緩存服務(wù)器2和緩存服務(wù)器3進(jìn)行處理,緩存服務(wù)器1恢復(fù)后當(dāng)其因特殊原因丟 失數(shù)據(jù)時(shí),緩存服務(wù)器2同步有關(guān)用戶1、2、5、6所存儲(chǔ)的小文件及其元數(shù)據(jù)給緩存服務(wù)器 1,緩存服務(wù)器3同步有關(guān)用戶3、4、9、10所存儲(chǔ)的小文件及其元數(shù)據(jù)給緩存服務(wù)器1。
[0043] 如圖1所示,大文件元數(shù)據(jù)管理服務(wù)器故障恢復(fù)過(guò)程為:當(dāng)大文件元數(shù)據(jù)管理服 務(wù)器1發(fā)生故障后,用戶請(qǐng)求被分配到大文件元數(shù)據(jù)管理服務(wù)器2和大文件元數(shù)據(jù)管理服 務(wù)器3進(jìn)行處理,大文件元數(shù)據(jù)管理服務(wù)器1恢復(fù)后當(dāng)其因特殊原因丟失數(shù)據(jù)時(shí),大文件元 數(shù)據(jù)管理服務(wù)器2同步大文件存儲(chǔ)服務(wù)器1、2、5、6相關(guān)的數(shù)據(jù)映射以及元數(shù)據(jù)給大文件元 數(shù)據(jù)管理服務(wù)器1,大文件元數(shù)據(jù)管理服務(wù)器3同步大文件存儲(chǔ)服務(wù)器3、4、9、10相關(guān)的數(shù) 據(jù)映射以及元數(shù)據(jù)給大文件元數(shù)據(jù)管理服務(wù)器1。
[0044] 相同或相似的標(biāo)號(hào)對(duì)應(yīng)相同或相似的部件; 附圖中描述位置關(guān)系的用于僅用于示例性說(shuō)明,不能理解為對(duì)本專利的限制; 顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說(shuō)明本發(fā)明所作的舉例,而并非是對(duì)本發(fā) 明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做 出其它不同形式的變化或變動(dòng)。這里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明 的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保 護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種分布式文件系統(tǒng),其特征在于,包括: 大文件存儲(chǔ)服務(wù)器用于存儲(chǔ)拆分后的大文件數(shù)據(jù)塊,其中大文件為大于預(yù)設(shè)大小的文 件; 大文件元數(shù)據(jù)管理服務(wù)器,用于存儲(chǔ)大文件的元數(shù)據(jù)、存儲(chǔ)大文件存儲(chǔ)服務(wù)器上大文 件數(shù)據(jù)塊的映射信息、管理大文件的命名空間和處理用戶的請(qǐng)求信息; 緩存服務(wù)器,用于存儲(chǔ)小文件、小文件的元數(shù)據(jù)和緩存部分訪問(wèn)量大的大文件,其中, 小文件為小于或等于預(yù)設(shè)大小的文件。
2. 根據(jù)權(quán)利要求1所述的分布式文件系統(tǒng),其特征在于,所述大文件存儲(chǔ)服務(wù)器包括 若干臺(tái),大文件元數(shù)據(jù)管理服務(wù)器包括至少三臺(tái),緩存服務(wù)器包括至少三臺(tái)。
3. 根據(jù)權(quán)利要求2所述的分布式文件系統(tǒng),其特征在于,至少三臺(tái)大文件元數(shù)據(jù)管理 服務(wù)器之間采用自適應(yīng)、動(dòng)態(tài)調(diào)整的方式存儲(chǔ)大文件元數(shù)據(jù)和大文件存儲(chǔ)服務(wù)器上大文件 數(shù)據(jù)塊的映射信息以及承擔(dān)用戶請(qǐng)求的處理任務(wù); 至少三臺(tái)緩存服務(wù)器之間采用自適應(yīng)、動(dòng)態(tài)調(diào)整方式存儲(chǔ)數(shù)據(jù)和處理用戶請(qǐng)求。
4. 根據(jù)權(quán)利要求1所述的分布式文件系統(tǒng),其特征在于,任何大文件元數(shù)據(jù)及大文件 存儲(chǔ)服務(wù)器上大文件數(shù)據(jù)塊的映射信息存儲(chǔ)在至少2臺(tái)大文件元數(shù)據(jù)管理服務(wù)器上。
5. 根據(jù)權(quán)利要求4所述的分布式文件系統(tǒng),其特征在于,緩存服務(wù)器上設(shè)置有用于存 儲(chǔ)小文件元數(shù)據(jù)以及緩存服務(wù)器上所存儲(chǔ)大文件的元數(shù)據(jù)的元數(shù)據(jù)保存區(qū)、用于存儲(chǔ)小文 件的小文件保存區(qū)以及用于緩存部分訪問(wèn)量大的大文件的大文件緩存區(qū)。
6. 根據(jù)權(quán)利要求5所述的分布式文件系統(tǒng),其特征在于,緩存服務(wù)器中設(shè)有計(jì)數(shù)器,用 于實(shí)現(xiàn)大文件訪問(wèn)分類機(jī)制,具體實(shí)現(xiàn)過(guò)程為:當(dāng)用戶通過(guò)該緩存服務(wù)器請(qǐng)求讀寫某個(gè)大 文件時(shí),該大文件訪問(wèn)量加1 ; 設(shè)置訪問(wèn)量閥值; 訪問(wèn)量高于訪問(wèn)量閥值的大文件稱為經(jīng)常訪問(wèn)大文件; 緩存服務(wù)器對(duì)于經(jīng)常訪問(wèn)大文件依據(jù)訪問(wèn)量從高到低進(jìn)行排序。
7. 根據(jù)權(quán)利要求6所述的分布式文件系統(tǒng),其特征在于,緩存服務(wù)器中存儲(chǔ)部分訪問(wèn) 量大的大文件的存儲(chǔ)方式為: 當(dāng)緩存服務(wù)器的緩存區(qū)空間足夠時(shí),緩存服務(wù)器將新大文件直接添加到大文件緩存區(qū) 并在元數(shù)據(jù)保存區(qū)中添加新的大文件的元數(shù)據(jù); 當(dāng)緩存服務(wù)器的大文件緩存區(qū)空間不足時(shí),若緩存服務(wù)器需要添加一個(gè)新的用戶經(jīng)常 訪問(wèn)的大文件,則將大文件緩存區(qū)中訪問(wèn)量最低的經(jīng)常訪問(wèn)大文件刪除直到空間足夠,接 著將新的大文件添加進(jìn)大文件緩存區(qū)。
8. 根據(jù)權(quán)利要求1至7任一項(xiàng)所述的分布式文件系統(tǒng),其特征在于,所述緩存服務(wù)器以 永久性方式保存小文件元數(shù)據(jù),以日志形式永久存儲(chǔ)小文件,以更新方式保存經(jīng)常訪問(wèn)大 文件元數(shù)據(jù)。
9. 根據(jù)權(quán)利要求2所述的分布式文件系統(tǒng),其特征在于,當(dāng)其中一臺(tái)大文件元數(shù)據(jù)管 理服務(wù)器故障后,系統(tǒng)立刻引導(dǎo)用戶請(qǐng)求到其他大文件元數(shù)據(jù)管理服務(wù)器進(jìn)行處理,直到 故障的大文件元數(shù)據(jù)管理服務(wù)器恢復(fù)正常; 當(dāng)故障后恢復(fù)的大文件元數(shù)據(jù)管理服務(wù)器為空,則其他大文件元數(shù)據(jù)管理服務(wù)器與該 大文件元數(shù)據(jù)管理服務(wù)器同步故障前與其相同的大文件元數(shù)據(jù)及大文件數(shù)據(jù)塊映射信息。
10.根據(jù)權(quán)利要求2所述的分布式文件系統(tǒng),其特征在于,當(dāng)其中一臺(tái)緩存服務(wù)器故障 后,系統(tǒng)立刻引導(dǎo)用戶請(qǐng)求到其他緩存服務(wù)器處理,直到故障的緩存服務(wù)器恢復(fù)正常; 若故障后恢復(fù)的緩存服務(wù)器為空,則其他緩存服務(wù)器與該緩存服務(wù)器同步故障前與該 緩存服務(wù)器相同的小文件及小文件元數(shù)據(jù)。
【文檔編號(hào)】G06F3/06GK104111804SQ201410295985
【公開日】2014年10月22日 申請(qǐng)日期:2014年6月27日 優(yōu)先權(quán)日:2014年6月27日
【發(fā)明者】官全龍, 胡舜, 羅偉其, 翁健 申請(qǐng)人:暨南大學(xué)