專利名稱:分布式文件系統(tǒng)及其數(shù)據(jù)存儲(chǔ)處理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明數(shù)據(jù)存儲(chǔ)技術(shù),特別涉及一種分布式文件系統(tǒng)及其數(shù)據(jù)存儲(chǔ)處理方法和裝置。
背景技術(shù):
分布式文件系統(tǒng)(Distribute File System,以下簡(jiǎn)稱DFS)是基于客戶端/服 務(wù)器模式的文件系統(tǒng)?,F(xiàn)有技術(shù)中的DFS包括名字空間服務(wù)器、內(nèi)容存儲(chǔ)服務(wù)器和客戶端, 具體的可如圖1所示,其中的名字服務(wù)器中存儲(chǔ)各個(gè)文件的數(shù)據(jù)塊在內(nèi)容存儲(chǔ)服務(wù)中的具 體存儲(chǔ)單元,該具體存儲(chǔ)單元可以是普通磁盤、磁盤陣列等多種形式,其可以是使用存儲(chǔ)單 元標(biāo)識(shí)來表示,由客戶端要讀取存儲(chǔ)的數(shù)據(jù)時(shí),先向名字空間服務(wù)器請(qǐng)求存儲(chǔ)的存儲(chǔ)位置, 名字服務(wù)器提供上述存儲(chǔ)位置信息,然后客戶端訪問根據(jù)存儲(chǔ)位置信息訪問內(nèi)容存儲(chǔ)服務(wù) 器,以獲取數(shù)據(jù)。上述現(xiàn)有技術(shù)中提供的分布式文件系統(tǒng)以及相應(yīng)的存儲(chǔ)數(shù)據(jù)獲取方法,需要時(shí)刻 保持DFS系統(tǒng)中內(nèi)容存儲(chǔ)服務(wù)器的工作狀態(tài),為客戶端提供服務(wù),具有能耗高的缺點(diǎn),同時(shí) 一旦內(nèi)容服務(wù)器中的存儲(chǔ)單元部分或全部斷電,則無法為客戶端提供相應(yīng)存儲(chǔ)單元中存儲(chǔ) 的文件,該分布式文件系統(tǒng)的穩(wěn)定性能差。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種分布式文件系統(tǒng)及其數(shù)據(jù)存儲(chǔ)處理方法和裝置,用以提高 分布式文件系統(tǒng)的穩(wěn)定性。本發(fā)明實(shí)施例提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理方法,包括接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求;根據(jù)所述訪問請(qǐng)求確定所述分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及所 述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài),所述存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有相同的數(shù) 據(jù),所述虛擬資源池為根據(jù)具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端聚類生成;在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),向發(fā)起訪問請(qǐng)求的分布 式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,所述客戶端標(biāo)識(shí)所標(biāo)識(shí)的分布式 文件系統(tǒng)客戶端為所述虛擬資源池中的一個(gè),且根據(jù)所述訪問請(qǐng)求確定。本發(fā)明還實(shí)施例還提供了一種分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置,包括接收模塊,用于接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求;狀態(tài)查詢模塊,用于根據(jù)所述訪問請(qǐng)求確定發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶 端所要訪問的存儲(chǔ)單元以及所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài);第一發(fā)送模塊,用于在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),向 發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,所述存儲(chǔ)單 元與其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有相同的數(shù)據(jù),所述虛擬資源池為根據(jù)具有相同活動(dòng)周期的 分布式文件系統(tǒng)客戶端聚類生成,所述客戶端標(biāo)識(shí)所標(biāo)識(shí)的分布式文件系統(tǒng)客戶端為所述虛擬資源池中的一個(gè),且根據(jù)所述訪問請(qǐng)求確定。本實(shí)施例還提供了一種分布式文件系統(tǒng),包括內(nèi)容存儲(chǔ)服務(wù)器、名字空間服務(wù)器 和一個(gè)以上的虛擬資源池,所述內(nèi)容存儲(chǔ)服務(wù)器包括一個(gè)以上的用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)單 元,所述虛擬資源池由一個(gè)以上具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端組成,所述內(nèi) 容存儲(chǔ)服務(wù)器中的存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池中存儲(chǔ)有相同的數(shù)據(jù),所述名字空間服 務(wù)器包括上述的分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置。本發(fā)明上述實(shí)施例提供的分布式文件系統(tǒng)及其數(shù)據(jù)存儲(chǔ)處理方法和裝置,其中將 分布式文件系統(tǒng)客戶端聚類成為虛擬資源池,且建立了存儲(chǔ)單元與虛擬資源池的映射關(guān) 系,存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池中存儲(chǔ)相同的數(shù)據(jù),使得在虛擬資源池上線時(shí),可以由 虛擬資源池為分布式文件系統(tǒng)客戶端提供服務(wù),僅以可以使與其對(duì)應(yīng)的存儲(chǔ)單元處于休眠 狀態(tài),充分利用了各個(gè)客戶端的存儲(chǔ)能力,且能夠達(dá)到降低存儲(chǔ)設(shè)備能耗的作用。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中分布式文件系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理方法實(shí)施例的流程示意圖;圖3為本發(fā)明一具體實(shí)施例的流程示意圖;圖4為本發(fā)明分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置實(shí)施例的結(jié)構(gòu)示意圖;圖5為本發(fā)明分布式文件系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖2為本發(fā)明分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理方法實(shí)施例的流程示意圖,如圖2 所示,該方法包括如下步驟步驟101、接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求。本實(shí)施例中各步驟可以由名字空間服務(wù)器執(zhí)行,訪問請(qǐng)求可以包括讀數(shù)據(jù)操作請(qǐng) 求或者是寫數(shù)據(jù)操作請(qǐng)求,其所要訪問的存儲(chǔ)單元可以為內(nèi)容存儲(chǔ)服務(wù)器中的存儲(chǔ)單元, 該存儲(chǔ)單元具有獨(dú)立的電源控制模塊,使得可以單獨(dú)將存儲(chǔ)單元下電,以降低能耗,另外存 儲(chǔ)單元也可以是磁盤,或者是磁盤陣列等多種形式。步驟102、根據(jù)所述訪問請(qǐng)求確定所述分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單 元以及所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài),所述存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有 相同的數(shù)據(jù),所述虛擬資源池為根據(jù)具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端聚類生 成。
步驟103、在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),向發(fā)起訪問請(qǐng) 求的分布式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,所述客戶端標(biāo)識(shí)所標(biāo)識(shí) 的分布式文件系統(tǒng)客戶端為所述虛擬資源池中的一個(gè),且根據(jù)所述訪問請(qǐng)求確定,具體的 可以是在接收到訪問請(qǐng)求并確定發(fā)起請(qǐng)求的分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元 的同時(shí),確定該客戶端標(biāo)識(shí)及分布式文件系統(tǒng)客戶端,也可以是在確定虛擬資源池上線后 進(jìn)一步的確定。本發(fā)明上述實(shí)施例提供的分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理方法,其中將分布式文 件系統(tǒng)客戶端聚類成為虛擬資源池,且建立了存儲(chǔ)單元與虛擬資源池的映射關(guān)系,存儲(chǔ)單 元與其對(duì)應(yīng)的虛擬資源池中存儲(chǔ)相同的數(shù)據(jù),使得在虛擬資源池上線時(shí),可以由虛擬資源 池為分布式文件系統(tǒng)客戶端提供服務(wù),僅以可以使與其對(duì)應(yīng)的存儲(chǔ)單元處于休眠狀態(tài),充 分利用了各個(gè)客戶端的存儲(chǔ)能力,且能夠達(dá)到降低存儲(chǔ)設(shè)備能耗的作用。本發(fā)明上述實(shí)施例中,聚類即是指將具有相同活動(dòng)周期的客戶端劃分到同一個(gè)虛 擬資源池中,具體的根據(jù)具有相同活動(dòng)周期的客戶端聚類生成虛擬資源池可以具體包括如 下步驟接收各個(gè)分布式文件系統(tǒng)客戶端上報(bào)的活動(dòng)周期;根據(jù)所述各個(gè)分布式文件系統(tǒng)客戶端的活動(dòng)周期進(jìn)行聚類處理,生成虛擬資源 池,所述虛擬資源池內(nèi)的各個(gè)分布式文件系統(tǒng)客戶端具有相同的活動(dòng)周期。另外在上述聚 類生成虛擬資源池后,還可以進(jìn)一步的建立虛擬資源池標(biāo)識(shí)和存儲(chǔ)單元標(biāo)識(shí)的映射關(guān)系, 所述虛擬資源池標(biāo)識(shí)對(duì)應(yīng)的虛擬資源池與所述存儲(chǔ)單元標(biāo)識(shí)對(duì)應(yīng)的存儲(chǔ)單元用于存儲(chǔ)相 同的數(shù)據(jù)。本發(fā)明上述實(shí)施例中,其中的確定存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)可以 通過如下方式確定一是由于各個(gè)虛擬資源池都是根據(jù)活動(dòng)周期聚類生成的,因此可以根據(jù)虛擬資源 池的活動(dòng)周期確定所述虛擬資源池的狀態(tài),在活動(dòng)周期對(duì)應(yīng)的時(shí)間段內(nèi)確定所述虛擬資源 池處于上線狀態(tài),其他時(shí)間段內(nèi)確定所述虛擬資源池處于下線狀態(tài);二是在檢測(cè)到虛擬資源池內(nèi)的所有分布式文件系統(tǒng)客戶端都登陸完成后確定該 虛擬資源池處于上線狀態(tài),否則處于下線狀態(tài)。并且進(jìn)一步的在確定述虛擬資源池處于上線狀態(tài)后,通知內(nèi)容存儲(chǔ)服務(wù)器將所述 虛擬資源池對(duì)應(yīng)的存儲(chǔ)單元設(shè)置為休眠狀態(tài)。上述針對(duì)存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),若確定存儲(chǔ)單元對(duì)應(yīng)的虛 擬資源池處于下線狀態(tài)時(shí),則向發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端返回包括分布式文 件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元的標(biāo)識(shí)的訪問響應(yīng)消息。以使客戶端訪問內(nèi)容服務(wù)器的 存儲(chǔ)單元,而不是訪問未上線虛擬資源池。進(jìn)一步的,上述在發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端在接收到所述包括客戶 端標(biāo)識(shí)的訪問響應(yīng)消息后,根據(jù)所述客戶端標(biāo)識(shí)訪問對(duì)應(yīng)的分布式文件系統(tǒng)客戶端。本發(fā)明上述圖2所示的實(shí)施例中,其中的訪問請(qǐng)求可以為讀數(shù)據(jù)操作請(qǐng)求,或者 是寫數(shù)據(jù)操作請(qǐng)求,具體的在上述訪問請(qǐng)求為讀數(shù)據(jù)操作請(qǐng)求時(shí),該讀數(shù)據(jù)操作請(qǐng)求攜帶 有預(yù)讀取數(shù)據(jù)的文件名和塊標(biāo)識(shí),上述根據(jù)訪問請(qǐng)求確定所述分布式文件系統(tǒng)客戶端所要 訪問的存儲(chǔ)單元以及所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài)包括
8
根據(jù)所述預(yù)讀取數(shù)據(jù)的文件名和塊標(biāo)識(shí)獲取存儲(chǔ)所述預(yù)讀取數(shù)據(jù)的存儲(chǔ)單元和 分布式文件系統(tǒng)客戶端,并確認(rèn)存儲(chǔ)預(yù)讀取數(shù)據(jù)的分布式文件系統(tǒng)客戶端所在的虛擬資源 池的狀態(tài),存儲(chǔ)預(yù)讀取數(shù)據(jù)的分布式文件系統(tǒng)客戶端為與存儲(chǔ)所述預(yù)讀取數(shù)據(jù)的存儲(chǔ)單元 對(duì)應(yīng)的虛擬資源池中的一個(gè)。在上述訪問請(qǐng)求為寫數(shù)據(jù)操作請(qǐng)求時(shí),根據(jù)訪問請(qǐng)求確定所述分布式文件系統(tǒng)客 戶端所要訪問的存儲(chǔ)單元以及所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài)包括根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配存儲(chǔ)單元以及分布式系統(tǒng)客戶端,并確認(rèn)分布式文件系 統(tǒng)客戶端所在的虛擬資源池的狀態(tài),分布式文件系統(tǒng)客戶端為與所述分配的存儲(chǔ)單元對(duì)應(yīng) 的虛擬資源池中的一個(gè)。具體存儲(chǔ)單元分配方式可以參照現(xiàn)有技術(shù)進(jìn)行。圖3為本發(fā)明一具體實(shí)施例的流程示意圖,如圖3所示,該方法包括步驟201、名字空間服務(wù)器接收DFS客戶端上報(bào)的DFS客戶端的活動(dòng)周期;名字空間服務(wù)器可接收多個(gè)DFS客戶端上報(bào)的活動(dòng)周期。若DFS客戶端在設(shè)定的 統(tǒng)計(jì)時(shí)間段內(nèi)的在線時(shí)間大于設(shè)定的閾值,則認(rèn)為上述統(tǒng)計(jì)時(shí)間為該客戶端的活動(dòng)周期。 例如設(shè)定的統(tǒng)計(jì)時(shí)間段為16:00至17:00,閾值設(shè)置為時(shí)間比80%,即該時(shí)間段內(nèi)DFS客 戶端上線時(shí)間需超過該時(shí)間段總長(zhǎng)的80%為,若DFS客戶端在16:00至17:00之間95%的 統(tǒng)計(jì)時(shí)間在線時(shí),認(rèn)為該DFS客戶端在設(shè)定的統(tǒng)計(jì)時(shí)間內(nèi)在線,則將16:00至17:00這一時(shí) 間段作為DFS客戶端的活動(dòng)周期。每個(gè)DFS客戶端可以上報(bào)一個(gè)或者多個(gè)活動(dòng)周期。步驟202、名字空間服務(wù)器根據(jù)DFS客戶端的活動(dòng)周期對(duì)具有相同活動(dòng)周期的DFS 客戶端進(jìn)行聚類處理,生成虛擬資源池,該虛擬資源池包括具有相同活動(dòng)周期的DFS客戶 端。本實(shí)施例中,由于生成的每個(gè)虛擬資源池包括具有相同活動(dòng)周期的DFS客戶端, 因此不同的虛擬資源池對(duì)應(yīng)于不同的活動(dòng)周期,這樣可根據(jù)需要合理劃分設(shè)定的統(tǒng)計(jì)時(shí) 間,以使具有相同活動(dòng)周期的客戶端位于同一虛擬資源池中,其生成的不同的虛擬資源池 包括具有不同活動(dòng)周期的DFS客戶端,從而保證一天中不同的時(shí)間段均能對(duì)應(yīng)于虛擬資源 池,且不同的虛擬資源池對(duì)應(yīng)的特定的存儲(chǔ)單元,使得可以在虛擬資源池的活動(dòng)期內(nèi)休眠 其對(duì)應(yīng)的存儲(chǔ)單元。本發(fā)明實(shí)施例在每個(gè)虛擬資源池中,可以在各個(gè)DFS客戶端內(nèi)設(shè)置虛擬資源池單 元(P2P pool unit,以下簡(jiǎn)稱PPU),并可進(jìn)一步根據(jù)一定規(guī)則在每個(gè)虛擬資源池中的多個(gè) PPU中選擇其中一個(gè)為主PPU,上述虛擬資源池內(nèi)的多個(gè)PPU可以起到一定的管理和控制作用。本實(shí)施例中,當(dāng)DFS客戶端上報(bào)多個(gè)活動(dòng)周期時(shí),名字空間服務(wù)器可以從該DFS客 戶端上報(bào)的多個(gè)活動(dòng)周期中選取最大的活動(dòng)周期作為該DFS客戶端的活動(dòng)周期,以提供更 可靠的文件存儲(chǔ)服務(wù)。步驟203、名字空間服務(wù)器建立虛擬資源池標(biāo)識(shí)和內(nèi)容存儲(chǔ)服務(wù)器中的存儲(chǔ)單元 標(biāo)識(shí)的映射關(guān)系,該虛擬資源池標(biāo)識(shí)用于標(biāo)識(shí)虛擬資源池,該存儲(chǔ)單元標(biāo)識(shí)用于標(biāo)識(shí)存儲(chǔ) 單元,并在對(duì)應(yīng)的虛擬資源池與存儲(chǔ)單元中存儲(chǔ)有相同的數(shù)據(jù)。本實(shí)施例中,名字空間服務(wù)器在建立了虛擬資源池標(biāo)識(shí)和存儲(chǔ)單元標(biāo)識(shí)的映射關(guān) 系表,另外在映射后的虛擬資源池和其對(duì)應(yīng)的存儲(chǔ)單元中存儲(chǔ)相同的數(shù)據(jù),并建立存儲(chǔ)的 數(shù)據(jù)的文件名和塊標(biāo)識(shí)與上述的虛擬資源池標(biāo)識(shí)和存儲(chǔ)單元標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,上述的文件
9名和數(shù)據(jù)塊標(biāo)識(shí)是作為存儲(chǔ)數(shù)據(jù)的標(biāo)識(shí)信息使用。步驟204、名字空間服務(wù)器檢測(cè)虛擬資源池是否上線,如果是則執(zhí)行步驟205,如 果否則執(zhí)行步驟207。本實(shí)施例中,當(dāng)虛擬資源池中的DFS客戶端上線時(shí)會(huì)向名字空間服務(wù)器發(fā)送登錄 請(qǐng)求,名字空間服務(wù)器對(duì)DFS客戶端進(jìn)行鑒權(quán)處理后向DFS客戶端返回鑒權(quán)響應(yīng),從而使 DFS客戶端完成上線過程。在具體實(shí)施例中,可以設(shè)置名字空間服務(wù)器確定虛擬資源池中 的DFS客戶端全部上線時(shí),虛擬資源池上線;當(dāng)虛擬資源池中存在未上線的DFS客戶端時(shí), 名字空間服務(wù)器確定虛擬資源池未上線。步驟205、名字空間服務(wù)器向內(nèi)容存儲(chǔ)服務(wù)器發(fā)送下電通知,該下電通知包括存儲(chǔ) 單元標(biāo)識(shí),該存儲(chǔ)單元標(biāo)識(shí)為與已上線的虛擬資源池存儲(chǔ)有相同數(shù)據(jù)的存儲(chǔ)單元的存儲(chǔ)單 元標(biāo)識(shí)。步驟206、內(nèi)容存儲(chǔ)服務(wù)器根據(jù)下電通知中的存儲(chǔ)單元標(biāo)識(shí),使該存儲(chǔ)單元標(biāo)識(shí)所 標(biāo)識(shí)的存儲(chǔ)單元處于休眠狀態(tài)。步驟207、名字空間服務(wù)器向內(nèi)容存儲(chǔ)服務(wù)器發(fā)送上電通知,該上電通知包括存儲(chǔ) 單元標(biāo)識(shí),該存儲(chǔ)單元標(biāo)識(shí)為與下線的虛擬資源池存儲(chǔ)有相同數(shù)據(jù)的存儲(chǔ)單元的存儲(chǔ)單元 標(biāo)識(shí)。步驟208、內(nèi)容存儲(chǔ)服務(wù)器根據(jù)上電通知中的存儲(chǔ)單元標(biāo)識(shí),使該存儲(chǔ)單元標(biāo)識(shí)所 標(biāo)識(shí)的存儲(chǔ)單元處于上電狀態(tài)。在上述的步驟201-208中,名字空間服務(wù)器將具有相同活動(dòng)周期的DFS客戶端聚 類,形成虛擬資源池,并建立虛擬資源池與內(nèi)容服務(wù)器中的存儲(chǔ)單元的映射關(guān)系,同時(shí)在相 對(duì)應(yīng)的存儲(chǔ)單元和虛擬資源池中存儲(chǔ)相同的數(shù)據(jù),使得在虛擬資源池上線時(shí),可以將對(duì)應(yīng) 的存儲(chǔ)單元下電,以達(dá)到降低能耗的作用,并且不會(huì)影響到分布式文件系統(tǒng)的正常運(yùn)行,若 要在內(nèi)容服務(wù)器的存儲(chǔ)單元中存儲(chǔ)或者讀取數(shù)據(jù),都可以先到對(duì)應(yīng)的虛擬資源池中進(jìn)行處 理,具體可參見如下的步驟209-步驟215。步驟209、名字空間服務(wù)器接收DFS客戶端發(fā)送的訪問請(qǐng)求,具體的該訪問請(qǐng)求可 以是讀數(shù)據(jù)操作請(qǐng)求,或者是寫數(shù)據(jù)操作請(qǐng)求,本實(shí)施例中是以讀數(shù)據(jù)操作請(qǐng)求為例進(jìn)行 說明,上述的讀數(shù)據(jù)操作請(qǐng)求中應(yīng)該攜帶預(yù)讀取的數(shù)據(jù)的文件名和塊標(biāo)識(shí),名字空間服務(wù) 器根據(jù)上述的文件名和塊標(biāo)識(shí)查詢出DFS客戶端所要訪問的存儲(chǔ)單元,以及存儲(chǔ)上述預(yù)讀 取的數(shù)據(jù)的DFS客戶端的客戶端標(biāo)識(shí),該存儲(chǔ)上述預(yù)讀取的數(shù)據(jù)的DFS客戶端為與上述發(fā) 起訪問請(qǐng)求的DFS客戶端所要訪問的存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池中的多個(gè)DFS客戶端中一 個(gè)。本實(shí)施例中,當(dāng)存儲(chǔ)單元和虛擬資源池中的數(shù)據(jù)是以數(shù)據(jù)塊的形式存儲(chǔ)時(shí),DFS客 戶端發(fā)送的訪問請(qǐng)求可以同時(shí)包括文件名和塊標(biāo)識(shí),其中,文件名用于標(biāo)識(shí)DFS客戶端所 要訪問的文件的名稱,塊標(biāo)識(shí)用于標(biāo)識(shí)文件中DFS客戶端所要訪問的數(shù)據(jù)塊的標(biāo)識(shí)。名字空間服務(wù)器根據(jù)文件名查詢出DFS客戶端所要訪問的文件,并根據(jù)塊標(biāo)識(shí)從 所要訪問的文件中查詢出DFS客戶端所要訪問的數(shù)據(jù)塊,并確定出所訪問的數(shù)據(jù)塊所在的 存儲(chǔ)單元,該數(shù)據(jù)塊所在的存儲(chǔ)單元即為DFS客戶端所要訪問的存儲(chǔ)單元。步驟210、名字空間服務(wù)器查詢上述存儲(chǔ)單元以及與該存儲(chǔ)單元對(duì)應(yīng)的虛擬資源 池的狀態(tài),由于存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池都存儲(chǔ)相同的數(shù)據(jù),因此存儲(chǔ)單元以及與其對(duì)應(yīng)的虛擬資源池不會(huì)同時(shí)處于上線狀態(tài),此時(shí)如果是虛擬資源池處于上線狀態(tài),則執(zhí) 行步驟211,否則執(zhí)行步驟214。步驟211、名字空間服務(wù)器將存儲(chǔ)上述預(yù)讀取的數(shù)據(jù)的DFS客戶端的客戶端標(biāo)識(shí) 發(fā)送給發(fā)起讀數(shù)據(jù)操作請(qǐng)求的DFS客戶端。步驟212、發(fā)起讀數(shù)據(jù)操作請(qǐng)求的DFS客戶端接收上述存儲(chǔ)預(yù)讀取的數(shù)據(jù)的DFS客 戶端的客戶端標(biāo)識(shí)。步驟213、發(fā)起讀數(shù)據(jù)操作請(qǐng)求的DFS客戶端根據(jù)存儲(chǔ)預(yù)讀取的數(shù)據(jù)的DFS客戶端 的客戶端標(biāo)識(shí)訪問訪問對(duì)應(yīng)的DFS客戶端,并讀取數(shù)據(jù)。步驟214、名字空間服務(wù)器將存儲(chǔ)上述預(yù)讀取的數(shù)據(jù)的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí) 發(fā)送給發(fā)起讀數(shù)據(jù)操作請(qǐng)求的DFS客戶端。步驟215、發(fā)起讀數(shù)據(jù)操作請(qǐng)求的DFS客戶端從存儲(chǔ)有預(yù)讀取數(shù)據(jù)的存儲(chǔ)單元中 讀取數(shù)據(jù)。本發(fā)明上述實(shí)施例中,需要保證虛擬資源池和與該虛擬資源池映射的存儲(chǔ)單元中 數(shù)據(jù)的同步,因此在確定根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的存儲(chǔ)單元上線時(shí),發(fā)起寫數(shù)據(jù)操作請(qǐng) 求的分布式文件系統(tǒng)客戶端將預(yù)寫入的數(shù)據(jù)發(fā)送給根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的存儲(chǔ)單元 的同時(shí),將預(yù)寫入的數(shù)據(jù)發(fā)送給日志磁盤,并在與上述分配的存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池 上線時(shí),將日志磁盤中存儲(chǔ)的數(shù)據(jù)寫入到根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的分布式系統(tǒng)客戶端 中?;蛘呤窃谠诖_定根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的分布式文件系統(tǒng)客戶端所在的虛擬資源池 上線時(shí),發(fā)起寫數(shù)據(jù)操作請(qǐng)求的分布式文件系統(tǒng)客戶端將預(yù)寫入的數(shù)據(jù)發(fā)送給日志磁盤和 根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的分布式文件系統(tǒng)客戶端,并在上述分配的存儲(chǔ)單元上線時(shí),將 日志磁盤中存儲(chǔ)的數(shù)據(jù)寫入到根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的存儲(chǔ)單元中。通過上述的技術(shù)方 案能夠保證在存儲(chǔ)單元及其對(duì)應(yīng)的虛擬資源池中存儲(chǔ)數(shù)據(jù)的同步。本發(fā)明實(shí)施例還給出了一個(gè)刪除數(shù)據(jù)的具體實(shí)施方式
,具體的當(dāng)DFS客戶端需要 刪除數(shù)據(jù)時(shí),需要向名字空間服務(wù)器發(fā)送刪除數(shù)據(jù)請(qǐng)求,該刪除數(shù)據(jù)請(qǐng)求包括預(yù)刪除數(shù)據(jù) 的文件名和塊標(biāo)識(shí)。名字空間服務(wù)器根據(jù)上述文件名和塊標(biāo)識(shí)查詢出存儲(chǔ)上述刪除數(shù)據(jù)請(qǐng) 求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的存儲(chǔ)單元以及存儲(chǔ)刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的分布式文件 系統(tǒng)客戶端,并從映射關(guān)系表中查詢出與存儲(chǔ)上述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的存儲(chǔ) 單元對(duì)應(yīng)的虛擬資源池,存儲(chǔ)上述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的分布式文件系統(tǒng)客戶 端為從映射關(guān)系表中查詢出的虛擬資源池中的一個(gè)。并進(jìn)一步的當(dāng)存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng)求 對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的存儲(chǔ)單元處于上線狀態(tài)時(shí),向內(nèi)容存儲(chǔ)服務(wù)器發(fā)送刪除數(shù)據(jù)通知,該 刪除數(shù)據(jù)通知包括所述文件名和所述塊標(biāo)識(shí),以使內(nèi)容服務(wù)器起根據(jù)文件名和塊標(biāo)識(shí)查找 對(duì)應(yīng)的存儲(chǔ)單元,并刪除存儲(chǔ)單元中存儲(chǔ)的數(shù)據(jù);或者是當(dāng)從映射關(guān)系表中查詢出的虛擬 資源池處于上線狀態(tài)時(shí),向存儲(chǔ)上述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的分布式文件系統(tǒng)客 戶端發(fā)送刪除數(shù)據(jù)通知,該刪除數(shù)據(jù)通知包括上述文件名和塊標(biāo)識(shí),接收到上述通知的分 布式文件系統(tǒng)客戶端刪除相應(yīng)的數(shù)據(jù)。本實(shí)施例還給出了一個(gè)如何查詢虛擬資源池中是否有數(shù)據(jù)塊丟失,以及在數(shù)據(jù)塊 丟失時(shí)如何恢復(fù)的實(shí)施例。在本實(shí)施例中,名字空間服務(wù)器向虛擬資源池的主PPU發(fā)送塊 查詢消息,具體的可以是周期性的發(fā)送上述塊查詢消息,主PPU向虛擬資源池內(nèi)其他分布 式文件系統(tǒng)客戶端的PPU發(fā)送塊查詢消息,并接收丟失數(shù)據(jù)塊的分布式文件系統(tǒng)客戶端的PPU返回的丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí),主PPU向名字空間服務(wù)器返回上述丟失數(shù)據(jù)塊 的文件名和塊標(biāo)識(shí);名字空間服務(wù)器在接收所述主PPU返回丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí)后,根據(jù)上 述丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí)查詢存儲(chǔ)所述丟失數(shù)據(jù)塊的存儲(chǔ)單元,并將存儲(chǔ)上述丟失 數(shù)據(jù)塊的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)返回給上述主PPU,上述主PPU將存儲(chǔ)上述丟失數(shù)據(jù)塊 的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)返回給丟失數(shù)據(jù)塊的分布式文件系統(tǒng)客戶端的PPU,上述丟失 數(shù)據(jù)塊的分布式文件系統(tǒng)客戶端根據(jù)存儲(chǔ)單元標(biāo)識(shí)從相應(yīng)存儲(chǔ)單元中獲取丟失的數(shù)據(jù)塊。在本發(fā)明的各個(gè)實(shí)施例中,主PPU可以根據(jù)選舉規(guī)則從一個(gè)虛擬資源池中所有 PPU中選舉產(chǎn)生,例如選舉規(guī)則可以為選舉IP地址大的PPU為主PPU,或者選舉規(guī)則可以 為由名字空間服務(wù)器指定一個(gè)PPU作為主PPU。本實(shí)施例還給出了一個(gè)如何恢復(fù)存儲(chǔ)單元中丟失的數(shù)據(jù)塊的實(shí)施例。本實(shí)施例 中,當(dāng)內(nèi)容存儲(chǔ)服務(wù)器中的某一存儲(chǔ)單元有數(shù)據(jù)塊丟失時(shí),向名字空間服務(wù)器發(fā)送數(shù)據(jù)塊 丟失通知,該數(shù)據(jù)塊丟失通知消息包括丟失文件名和丟失塊標(biāo)識(shí)。名字空間服務(wù)器根據(jù)丟 失數(shù)據(jù)塊的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)查詢出丟失的數(shù)據(jù)塊所在的虛擬資源池,并發(fā)送攜帶 丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí)的數(shù)據(jù)塊丟失通知給虛擬資源池的主PPU,主PPU向虛擬資 源池內(nèi)的其他分布式文件系統(tǒng)客戶端的PPU轉(zhuǎn)發(fā)上述數(shù)據(jù)塊丟失通知,存儲(chǔ)上述丟失數(shù)據(jù) 塊的分布式文件系統(tǒng)客戶端將上述丟失的數(shù)據(jù)塊寫回丟失數(shù)據(jù)塊的存儲(chǔ)單元中。本發(fā)明的具體實(shí)施例中,當(dāng)名字空間服務(wù)器根據(jù)虛擬資源池的登錄信息,檢測(cè)出 一虛擬資源池中有未正常登錄的DFS客戶端時(shí),判定該DFS客戶端缺席,則向該虛擬資源池 的主PPU發(fā)送分配信息,所述分配信息包括為未正常登錄的DFS客戶端存儲(chǔ)的數(shù)據(jù)塊的文 件名和塊標(biāo)識(shí)。所述主PPU將上述的文件名和塊標(biāo)識(shí)發(fā)送給正常登錄的DFS客戶端的PPU。 該正常登錄的DFS客戶端根據(jù)文件名和塊標(biāo)識(shí)從內(nèi)容存儲(chǔ)服務(wù)器的相應(yīng)存儲(chǔ)單元中獲取 數(shù)據(jù)。上述步驟是針對(duì)虛擬資源池中若有DFS客戶端缺席時(shí),系統(tǒng)主動(dòng)將其分配的數(shù)據(jù)存 儲(chǔ)到其他的DFS客戶端上,另外名字空間服務(wù)器也會(huì)重新選擇與其活動(dòng)周期相同,且未加 入到任何虛擬資源池的客戶端加入到發(fā)送DFS客戶端丟失的虛擬資源池中。另外在本發(fā)明的具體實(shí)施例中,名字空間服務(wù)器當(dāng)檢測(cè)出一虛擬資源池缺席時(shí), 則根據(jù)缺席的虛擬資源池的活動(dòng)周期對(duì)具有相同活動(dòng)周期的DFS客戶端進(jìn)行聚類處理,生 成所述缺席的虛擬資源池的替代虛擬資源池,所述替代虛擬資源池與所述缺席的虛擬資源 池具有相同的活動(dòng)周期,并存儲(chǔ)有相同的數(shù)據(jù)。在建立上述的替代虛擬資源池后,將代替上 述缺席的虛擬資源池提供文件的存儲(chǔ)服務(wù),同時(shí)也將更新映射關(guān)系表中的存儲(chǔ)單元標(biāo)識(shí)與 虛擬資源池標(biāo)識(shí)的映射關(guān)系。本實(shí)施例提供的數(shù)據(jù)處理方法,名字空間服務(wù)器根據(jù)接收到的DFS客戶端發(fā)送的 訪問請(qǐng)求,查詢出DFS客戶端所要訪問的存儲(chǔ)單元,當(dāng)該存儲(chǔ)單元處于下電狀態(tài)時(shí),根據(jù)建 立的存儲(chǔ)單元標(biāo)識(shí)和虛擬資源池標(biāo)識(shí)的映射關(guān)系查詢出該存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)對(duì)應(yīng) 的虛擬資源池標(biāo)識(shí),并將虛擬資源池標(biāo)識(shí)發(fā)送給DFS客戶端,以供該DFS客戶端根據(jù)該虛擬 資源池標(biāo)識(shí)訪問虛擬資源池,從而降低了存儲(chǔ)單元的能耗和存儲(chǔ)單元的使用率。本實(shí)施例 提供的數(shù)據(jù)處理方法中,名字空間服務(wù)器生成虛擬資源池,并建立虛擬資源池標(biāo)識(shí)和存儲(chǔ) 單元標(biāo)識(shí)的映射關(guān)系,以實(shí)現(xiàn)虛擬資源池和存儲(chǔ)單元的映射,當(dāng)虛擬資源池處于上線狀態(tài) 時(shí),名字空間服務(wù)器可以使該虛擬資源池對(duì)應(yīng)的存儲(chǔ)單元處于下電狀態(tài),從而實(shí)現(xiàn)了基于
12虛擬資源池的活動(dòng)狀態(tài)對(duì)虛擬資源池對(duì)應(yīng)的存儲(chǔ)單元的狀態(tài)進(jìn)行調(diào)整。圖4為本發(fā)明分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置實(shí)施例的結(jié)構(gòu)示意圖,如圖4 所示,該裝置包括接收模塊11、狀態(tài)查詢模塊12和第一發(fā)送模塊13。其中接收模塊11 用于接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求;狀態(tài)查詢模塊12用于根據(jù)所述訪問請(qǐng) 求確定發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及所述存儲(chǔ)單元對(duì) 應(yīng)的虛擬資源池狀態(tài);第一發(fā)送模塊13用于在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于 上線狀態(tài)時(shí),向發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消 息,所述存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有相同的數(shù)據(jù),所述虛擬資源池為根據(jù)具有 相同活動(dòng)周期的分布式文件系統(tǒng)客戶端聚類生成,所述客戶端標(biāo)識(shí)所標(biāo)識(shí)的分布式文件系 統(tǒng)客戶端為所述虛擬資源池中的一個(gè),且根據(jù)所述訪問請(qǐng)求確定。本實(shí)施例提供的存儲(chǔ)處理裝置,根據(jù)接收到的DFS客戶端發(fā)送的訪問請(qǐng)求,并根 據(jù)上述訪問請(qǐng)求確定發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及所 述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài),并在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀 態(tài)時(shí),向發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,,即 由虛擬資源池代替內(nèi)容服務(wù)器中的存儲(chǔ)單元提供數(shù)據(jù)存儲(chǔ)服務(wù),此時(shí)可以將存儲(chǔ)單元設(shè)置 為休眠狀態(tài),從而能夠降低存儲(chǔ)設(shè)備的能耗和使用率。在上述實(shí)施例的基礎(chǔ)上,分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置還可以進(jìn)一步的包 括第二發(fā)送模塊14,該第二發(fā)送模塊14用于在確定虛擬資源池處于上線狀態(tài)后,通知內(nèi)容 存儲(chǔ)服務(wù)器將所述虛擬資源池對(duì)應(yīng)的存儲(chǔ)單元設(shè)置為休眠狀態(tài)。另外,在分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置進(jìn)一步的設(shè)置有聚類模塊15和映 射關(guān)系建立模塊16,其中聚類模塊15用于接收各個(gè)分布式文件系統(tǒng)客戶端上報(bào)的活動(dòng)周 期,根據(jù)所述各個(gè)分布式文件系統(tǒng)客戶端的活動(dòng)周期進(jìn)行聚類處理,生成虛擬資源池,所述 虛擬資源池內(nèi)的各個(gè)分布式文件系統(tǒng)客戶端具有相同的活動(dòng)周期;映射關(guān)系建立模塊16 用于建立虛擬資源池標(biāo)識(shí)和存儲(chǔ)單元標(biāo)識(shí)的映射關(guān)系,所述虛擬資源池標(biāo)識(shí)對(duì)應(yīng)的虛擬資 源池與所述存儲(chǔ)單元標(biāo)識(shí)對(duì)應(yīng)的存儲(chǔ)單元用于存儲(chǔ)相同的數(shù)據(jù)。圖5為本發(fā)明分布式文件系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖,如圖5所示,該分布式文件系 統(tǒng)包括內(nèi)容存儲(chǔ)服務(wù)器1、名字空間服務(wù)器2和一個(gè)以上的虛擬資源池3,上述內(nèi)容存儲(chǔ)服 務(wù)器1包括一個(gè)以上的用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)單元,虛擬資源池3由一個(gè)以上具有相同活動(dòng) 周期的分布式文件系統(tǒng)客戶端組成,所內(nèi)容存儲(chǔ)服務(wù)器中的存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源 池中存儲(chǔ)有相同的數(shù)據(jù),名字空間服務(wù)器2包括上述實(shí)施例提供的數(shù)據(jù)存儲(chǔ)處理裝置。本發(fā)明上述實(shí)施例提供的分布式文件系統(tǒng)以及基于上述的分布式文件系統(tǒng)的數(shù) 據(jù)存儲(chǔ)處理方法,其中將分布式文件系統(tǒng)客戶端聚類成為虛擬資源池,且建立了存儲(chǔ)單元 與虛擬資源池的映射關(guān)系,存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池中存儲(chǔ)相同的數(shù)據(jù),使得在虛 擬資源池上線時(shí),可以由虛擬資源池為分布式文件系統(tǒng)客戶端提供服務(wù),僅以可以使與其 對(duì)應(yīng)的存儲(chǔ)單元處于休眠狀態(tài),充分利用了各個(gè)客戶端的存儲(chǔ)能力,且能夠達(dá)到降低存儲(chǔ) 單元能耗的作用。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序 在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。 最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然 可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替 換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精 神和范圍。
權(quán)利要求
1.一種分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理方法,其特征在于,包括接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求;根據(jù)所述訪問請(qǐng)求確定所述分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及所述存 儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài),所述存儲(chǔ)單元單元與其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有相同的數(shù) 據(jù),所述虛擬資源池為根據(jù)具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端聚類生成;在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),向發(fā)起訪問請(qǐng)求的分布式文 件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,所述客戶端標(biāo)識(shí)所標(biāo)識(shí)的分布式文件 系統(tǒng)客戶端為所述虛擬資源池中的一個(gè),且根據(jù)所述訪問請(qǐng)求確定。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)具有相同活動(dòng)周期的分布式文件系 統(tǒng)客戶端聚類生成虛擬資源池的步驟包括接收各個(gè)分布式文件系統(tǒng)客戶端上報(bào)的活動(dòng)周期;根據(jù)所述各個(gè)分布式文件系統(tǒng)客戶端的活動(dòng)周期進(jìn)行聚類處理,生成虛擬資源池,所 述虛擬資源池內(nèi)的各個(gè)分布式文件系統(tǒng)客戶端具有相同的活動(dòng)周期;所述方法還包括建立虛擬資源池標(biāo)識(shí)和存儲(chǔ)單元標(biāo)識(shí)的映射關(guān)系,所述虛擬資源池標(biāo)識(shí)對(duì)應(yīng)的虛擬資 源池與所述存儲(chǔ)單元標(biāo)識(shí)對(duì)應(yīng)的存儲(chǔ)單元用于存儲(chǔ)相同的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,確定存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上 線狀態(tài)的步驟包括根據(jù)所述虛擬資源池的活動(dòng)周期確定所述虛擬資源池的狀態(tài);或在檢測(cè)到所述虛擬資源池內(nèi)的所有分布式文件系統(tǒng)客戶端都登陸完成后確定所述虛 擬資源池處于上線狀態(tài),否則處于下線狀態(tài);所述方法還包括在確定所述虛擬資源池處于上線狀態(tài)后,通知內(nèi)容存儲(chǔ)服務(wù)器將所述虛擬資源池對(duì)應(yīng) 的存儲(chǔ)單元設(shè)置為休眠狀態(tài)。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,在所述訪問請(qǐng)求為讀數(shù)據(jù)操作請(qǐng) 求時(shí),所述讀數(shù)據(jù)操作請(qǐng)求攜帶有預(yù)讀取數(shù)據(jù)的文件名和塊標(biāo)識(shí),所述根據(jù)訪問請(qǐng)求確定 所述分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀 態(tài)包括根據(jù)所述預(yù)讀取數(shù)據(jù)的文件名和塊標(biāo)識(shí)獲取存儲(chǔ)所述預(yù)讀取數(shù)據(jù)的存儲(chǔ)單元和分布 式文件系統(tǒng)客戶端,并確認(rèn)存儲(chǔ)所述預(yù)讀取數(shù)據(jù)的分布式文件系統(tǒng)客戶端所在的虛擬資源 池的狀態(tài),所述存儲(chǔ)預(yù)讀取數(shù)據(jù)的分布式文件系統(tǒng)客戶端為與存儲(chǔ)所述預(yù)讀取數(shù)據(jù)的存儲(chǔ) 單元對(duì)應(yīng)的虛擬資源池中的一個(gè)。
5.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,在所述訪問請(qǐng)求為寫數(shù)據(jù)操作請(qǐng) 求時(shí),所述根據(jù)訪問請(qǐng)求確定所述分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及所述存 儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài)包括根據(jù)所述寫數(shù)據(jù)操作請(qǐng)求分配存儲(chǔ)單元以及分布式文件系統(tǒng)客戶端,并確認(rèn)所述分布 式文件系統(tǒng)客戶端所在的虛擬資源池狀態(tài),所述分布式文件系統(tǒng)客戶端為與所述分配的存 儲(chǔ)單元對(duì)應(yīng)的虛擬資源池中的一個(gè)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括在確定所述根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的存儲(chǔ)單元上線時(shí),發(fā)起寫數(shù)據(jù)操作請(qǐng)求的分布 式文件系統(tǒng)客戶端將預(yù)寫入的數(shù)據(jù)發(fā)送給日志磁盤和根據(jù)所述寫數(shù)據(jù)操作請(qǐng)求分配的存 儲(chǔ)單元,并在與所述分配的存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池上線時(shí),將日志磁盤中存儲(chǔ)的數(shù)據(jù) 寫入到所述根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的分布式系統(tǒng)客戶端中;或在確定所述根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的分布式文件系統(tǒng)客戶端所在的虛擬資源池上 線時(shí),發(fā)起寫數(shù)據(jù)操作請(qǐng)求的分布式文件系統(tǒng)客戶端將預(yù)寫入的數(shù)據(jù)發(fā)送給日志磁盤和根 據(jù)所述寫數(shù)據(jù)操作請(qǐng)求分配的分布式文件系統(tǒng)客戶端,并在所述分配的存儲(chǔ)單元上線時(shí), 將日志磁盤中存儲(chǔ)的數(shù)據(jù)寫入到所述根據(jù)寫數(shù)據(jù)操作請(qǐng)求分配的存儲(chǔ)單元中。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括接收分布式文件系統(tǒng)客戶端發(fā)送的刪除數(shù)據(jù)請(qǐng)求,所述刪除數(shù)據(jù)請(qǐng)求包括預(yù)刪除數(shù)據(jù) 的文件名和塊標(biāo)識(shí);根據(jù)所述文件名和所述塊標(biāo)識(shí)查詢出存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的存 儲(chǔ)單元以及存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的分布式文件系統(tǒng)客戶端,并從映射 關(guān)系表中查詢出與存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的存儲(chǔ)單元對(duì)應(yīng)的虛擬資源 池,所述存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的分布式文件系統(tǒng)客戶端為從映射關(guān)系 表中查詢出的虛擬資源池中的一個(gè);以及當(dāng)存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的存儲(chǔ)單元處于上線狀態(tài)時(shí),向內(nèi)容 存儲(chǔ)服務(wù)器發(fā)送刪除數(shù)據(jù)通知,所述刪除數(shù)據(jù)通知包括所述文件名和所述塊標(biāo)識(shí);或當(dāng)所述從映射關(guān)系表中查詢出的虛擬資源池處于上線狀態(tài)時(shí),向存儲(chǔ)所述刪除數(shù)據(jù)請(qǐng) 求對(duì)應(yīng)的預(yù)刪除數(shù)據(jù)的分布式文件系統(tǒng)客戶端發(fā)送所述刪除數(shù)據(jù)通知,所述刪除數(shù)據(jù)通知 包括所述文件名和所述塊標(biāo)識(shí)。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分布式文件系統(tǒng)客戶端內(nèi)設(shè)置有虛 擬資源池單元,且屬于同一虛擬資源池的所有分布式文件系統(tǒng)客戶端中的一個(gè)的虛擬資源 池單元為主虛擬資源池單元,所述方法還包括名字空間服務(wù)器向虛擬資源池的主虛擬資源池單元發(fā)送塊查詢消息,所述主虛擬資源 池單元向虛擬資源池內(nèi)其他分布式文件系統(tǒng)客戶端的虛擬資源池單元發(fā)送塊查詢消息,并 接收丟失數(shù)據(jù)塊的分布式文件系統(tǒng)客戶端的虛擬資源池單元返回的丟失數(shù)據(jù)塊的文件名 和塊標(biāo)識(shí),主虛擬資源池單元向名字空間服務(wù)器返回所述丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí);名字空間服務(wù)器在接收所述主虛擬資源池單元返回丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí)后, 根據(jù)所述丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí)查詢存儲(chǔ)所述丟失數(shù)據(jù)塊的存儲(chǔ)單元,并將存儲(chǔ)所 述丟失數(shù)據(jù)塊的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)返回給所述主虛擬資源池單元,所述主虛擬資源 池單元將存儲(chǔ)所述丟失數(shù)據(jù)塊的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)返回給所述丟失數(shù)據(jù)塊的分布 式文件系統(tǒng)客戶端的虛擬資源池單元,所述丟失數(shù)據(jù)塊的分布式文件系統(tǒng)客戶端根據(jù)所述 存儲(chǔ)單元標(biāo)識(shí)獲取丟失的數(shù)據(jù)塊。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括名字空間服務(wù)器接收內(nèi)容存儲(chǔ)服務(wù)器發(fā)送的數(shù)據(jù)塊丟失通知,所述數(shù)據(jù)塊丟失通知攜 帶丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí);名字空間服務(wù)器根據(jù)所述丟失數(shù)據(jù)塊的存儲(chǔ)單元的存儲(chǔ)單元標(biāo)識(shí)查詢出丟失的數(shù)據(jù) 塊所在的虛擬資源池,并發(fā)送攜帶所述丟失數(shù)據(jù)塊的文件名和塊標(biāo)識(shí)的數(shù)據(jù)塊丟失通知給所述虛擬資源池的主虛擬資源池單元,所述主虛擬資源池單元向虛擬資源池內(nèi)的其他分布 式文件系統(tǒng)客戶端的虛擬資源池單元轉(zhuǎn)發(fā)所述數(shù)據(jù)塊丟失通知,存儲(chǔ)所述丟失數(shù)據(jù)塊的分 布式文件系統(tǒng)客戶端將所述丟失的數(shù)據(jù)塊寫回所述丟失數(shù)據(jù)塊的存儲(chǔ)單元中。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分布式文件系統(tǒng)客戶端內(nèi)設(shè)置有虛 擬資源池單元,且屬于同一虛擬資源池的所有分布式文件系統(tǒng)客戶端中的一個(gè)的虛擬資源 池單元為主虛擬資源池單元,所述方法還包括名字空間服務(wù)器在檢測(cè)出一虛擬資源池包括未正常登錄的分布式文件系統(tǒng)客戶端時(shí), 向所述虛擬資源池的主虛擬資源池單元發(fā)送分配信息,所述分配信息包括未正常登錄的分 布式文件系統(tǒng)客戶端存儲(chǔ)的數(shù)據(jù)塊的文件名和塊標(biāo)識(shí),所述主虛擬資源池單元將所述數(shù)據(jù) 塊的文件名和塊標(biāo)識(shí)發(fā)送給所述正常登錄的分布式文件系統(tǒng)客戶端的虛擬資源池單元,所 述正常登錄的分布式文件系統(tǒng)客戶端根據(jù)所述文件名和所述塊標(biāo)識(shí)從內(nèi)容存儲(chǔ)服務(wù)器的 存儲(chǔ)單元中獲取數(shù)據(jù)并存儲(chǔ)。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括名字空間服務(wù)器當(dāng)檢測(cè)出一虛擬資源池缺席時(shí),則根據(jù)缺席的虛擬資源池的活動(dòng)周期 對(duì)具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端進(jìn)行聚類處理,生成所述缺席的虛擬資源池 的替代虛擬資源池,所述替代虛擬資源池與所述缺席的虛擬資源池具有相同的活動(dòng)周期, 并存儲(chǔ)有相同的數(shù)據(jù)。
12.—種分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置,其特征在于,包括接收模塊,用于接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求;狀態(tài)查詢模塊,用于根據(jù)所述訪問請(qǐng)求確定發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端所 要訪問的存儲(chǔ)單元以及所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài);第一發(fā)送模塊,用于在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),向發(fā)起 訪問請(qǐng)求的分布式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,所述存儲(chǔ)單元與 其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有相同的數(shù)據(jù),所述虛擬資源池為根據(jù)具有相同活動(dòng)周期的分布 式文件系統(tǒng)客戶端聚類生成,所述客戶端標(biāo)識(shí)所標(biāo)識(shí)的分布式文件系統(tǒng)客戶端為所述虛擬 資源池中的一個(gè),且根據(jù)所述訪問請(qǐng)求確定。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括第二發(fā)送模塊,用于在確定所述虛擬資源池處于上線狀態(tài)后,通知內(nèi)容存儲(chǔ)服務(wù)器將 所述虛擬資源池對(duì)應(yīng)的存儲(chǔ)單元設(shè)置為休眠狀態(tài)。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括聚類模塊,接收各個(gè)分布式文件系統(tǒng)客戶端上報(bào)的活動(dòng)周期,根據(jù)所述各個(gè)分布式文 件系統(tǒng)客戶端的活動(dòng)周期進(jìn)行聚類處理,生成虛擬資源池,所述虛擬資源池內(nèi)的各個(gè)分布 式文件系統(tǒng)客戶端具有相同的活動(dòng)周期;映射關(guān)系建立模塊,用于建立虛擬資源池標(biāo)識(shí)和存儲(chǔ)單元標(biāo)識(shí)的映射關(guān)系,所述虛擬 資源池標(biāo)識(shí)對(duì)應(yīng)的虛擬資源池與所述存儲(chǔ)單元標(biāo)識(shí)對(duì)應(yīng)的存儲(chǔ)單元用于存儲(chǔ)相同的數(shù)據(jù)。
15.一種分布式文件系統(tǒng),其特征在于,包括內(nèi)容存儲(chǔ)服務(wù)器、名字空間服務(wù)器和一個(gè) 以上的虛擬資源池,所述內(nèi)容存儲(chǔ)服務(wù)器包括一個(gè)以上的用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)單元,所述 虛擬資源池由一個(gè)以上具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端組成,所述內(nèi)容存儲(chǔ)服 務(wù)器中的存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池中存儲(chǔ)有相同的數(shù)據(jù),所述名字空間服務(wù)器包括權(quán)利要求12-14任一所述的分布式文件系統(tǒng)的數(shù)據(jù)存儲(chǔ)處理裝置。
全文摘要
本發(fā)明實(shí)施例提供一種分布式文件系統(tǒng)及其數(shù)據(jù)存儲(chǔ)處理方法和裝置,其中方法包括接收分布式文件系統(tǒng)客戶端發(fā)送的訪問請(qǐng)求;根據(jù)訪問請(qǐng)求確定分布式文件系統(tǒng)客戶端所要訪問的存儲(chǔ)單元以及存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池狀態(tài),存儲(chǔ)單元與其對(duì)應(yīng)的虛擬資源池存儲(chǔ)有相同的數(shù)據(jù),虛擬資源池為根據(jù)具有相同活動(dòng)周期的分布式文件系統(tǒng)客戶端聚類生成;在確定所述存儲(chǔ)單元對(duì)應(yīng)的虛擬資源池處于上線狀態(tài)時(shí),向發(fā)起訪問請(qǐng)求的分布式文件系統(tǒng)客戶端返回包括客戶端標(biāo)識(shí)的訪問響應(yīng)消息,客戶端標(biāo)識(shí)所標(biāo)識(shí)的分布式文件系統(tǒng)客戶端為虛擬資源池中的一個(gè)。本發(fā)明還提供了相應(yīng)的裝置和分布式文件系統(tǒng)。上述技術(shù)方案能夠提高分布式文件系統(tǒng)的系統(tǒng)穩(wěn)定性。
文檔編號(hào)H04L29/06GK102123167SQ20101062468
公開日2011年7月13日 申請(qǐng)日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者陳志新 申請(qǐng)人:成都市華為賽門鐵克科技有限公司