亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于文件系統(tǒng)的分布式存儲(chǔ)技術(shù)的制作方法

文檔序號(hào):11843176閱讀:280來(lái)源:國(guó)知局
一種基于文件系統(tǒng)的分布式存儲(chǔ)技術(shù)的制作方法與工藝

本發(fā)明涉及一種基于文件系統(tǒng)的分布式存儲(chǔ)技術(shù),屬于計(jì)算機(jī)數(shù)據(jù)處理領(lǐng)域。



背景技術(shù):

計(jì)算機(jī)技術(shù)在飛速的發(fā)展,計(jì)算機(jī)的處理器速度在不斷地提高,計(jì)算機(jī)存儲(chǔ)器的容量和傳輸速度在非常規(guī)地發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)的吞吐量更是在跳躍式地增加。各種新的存儲(chǔ)技術(shù)和分布式文件技術(shù)都被不斷地設(shè)計(jì)和實(shí)現(xiàn)出來(lái),以滿足用戶日益增長(zhǎng)的需求。

分布式存儲(chǔ)技術(shù)是通過(guò)網(wǎng)絡(luò)使用企業(yè)中的每臺(tái)機(jī)器上的磁盤空間,并將這些分散的存儲(chǔ)資源構(gòu)成一個(gè)虛擬的存儲(chǔ)設(shè)備,數(shù)據(jù)分散的存儲(chǔ)在企業(yè)的各個(gè)角落。

早期的基于文件系統(tǒng)的分布式存儲(chǔ)技術(shù)一般以提供標(biāo)準(zhǔn)接口的遠(yuǎn)程文件訪問為目的,在受網(wǎng)絡(luò)環(huán)境、本地磁盤、處理器速度等方面限制的情況下,更多地關(guān)注訪問的性能和數(shù)據(jù)的可靠性。如:NFS是利用Unix系統(tǒng)中的虛擬文件系統(tǒng)(VFSVirtualFile System)機(jī)制,將客戶機(jī)對(duì)文件系統(tǒng)的請(qǐng)求,通過(guò)規(guī)范的文件訪問協(xié)議和遠(yuǎn)程過(guò)程調(diào)用,轉(zhuǎn)發(fā)到服務(wù)器端進(jìn)行處理;服務(wù)器端在VFS之上,通過(guò)本地文件系統(tǒng)完成文件的處理,實(shí)現(xiàn)了全局的分布式文件系統(tǒng)。后來(lái)AFS在系統(tǒng)結(jié)構(gòu)方面進(jìn)行了有意義的探索,AFS利用本地存儲(chǔ)作為分布式文件的緩存,在遠(yuǎn)程文件無(wú)法訪問時(shí),依然可以部分工作,提高了系統(tǒng)可用性。

面對(duì)廣域網(wǎng)和大容量存儲(chǔ)應(yīng)用的需求,基于光纖通道(FiberChannel)的SAN(Storage Area Storage,存儲(chǔ)區(qū)域網(wǎng)),NAS(Network Attached Storage,網(wǎng)絡(luò)附連儲(chǔ)存)得到了廣泛的應(yīng)用。借鑒當(dāng)時(shí)先進(jìn)的高性能對(duì)稱多處理器的設(shè) 計(jì)思想,逐漸設(shè)計(jì)開發(fā)了xFS、SFS、GFS、GPFS、DiFFS、BWFS等系統(tǒng)。



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

本發(fā)明是針對(duì)各個(gè)網(wǎng)站公司所存儲(chǔ)的海量數(shù)據(jù),以解決有效存儲(chǔ)海量數(shù)據(jù)的問題。

按照傳統(tǒng)的標(biāo)準(zhǔn),文件都非常大。當(dāng)經(jīng)常要處理快速增長(zhǎng)的、包含數(shù)以萬(wàn)計(jì)對(duì)象的數(shù)據(jù)集時(shí),即使底層文件系統(tǒng)提供支持,我們也很難管理成千上萬(wàn)的KB規(guī)模的文件塊;大部分文件的更新是通過(guò)添加新數(shù)據(jù)完成的,而不是改變已存在的數(shù)據(jù)。在一個(gè)文件中隨機(jī)的操作在實(shí)踐中幾乎不存在。一旦寫完,文件就只可讀,很多數(shù)據(jù)都有這些特性。傳統(tǒng)的文件系統(tǒng)有著以上問題,基于以上問題提出本發(fā)明。

本發(fā)明提出基于文件式分布存儲(chǔ)包括以下方面:

1、系統(tǒng)由許多廉價(jià)的普通組件組成,組件失效是一種常態(tài)。系統(tǒng)必須持續(xù)監(jiān)控自身的狀態(tài),它必須將組件失效作為一種常態(tài),能夠迅速地偵測(cè)、冗余并恢復(fù)失效的組件。

2、系統(tǒng)存儲(chǔ)一定數(shù)量的大文件。我們預(yù)期會(huì)有幾百萬(wàn)文件,文件的大小通常在100MB或者以上。數(shù)個(gè)GB大小的文件也是普遍存在,并且要能夠被有效的管理。系統(tǒng)也必須支持小文件,但是不需要針對(duì)小文件做專門的優(yōu)化。

3、系統(tǒng)必須高效的、行為定義明確的實(shí)現(xiàn)多客戶端并行追加數(shù)據(jù)到同一個(gè)文件里的語(yǔ)意。我們的文件通常被用于”生產(chǎn)者-消費(fèi)者“隊(duì)列,或者其它多路文件合并操作。通常會(huì)有數(shù)百個(gè)生產(chǎn)者,每個(gè)生產(chǎn)者進(jìn)程運(yùn)行在一臺(tái)機(jī)器上,同時(shí)對(duì)一個(gè)文件進(jìn)行追加操作。使用最小的同步開銷來(lái)實(shí)現(xiàn)的原子的多路追加數(shù)據(jù)操作是必不可少的。文件可以在稍后讀取,或者是消費(fèi)者在追加的操作的 同時(shí)讀取文件。

4、系統(tǒng)的工作負(fù)載主要由兩種讀操作組成:大規(guī)模的流式讀取和小規(guī)模的隨機(jī)讀取。大規(guī)模的流式讀取通常一次讀取數(shù)百KB的數(shù)據(jù),更常見的是一次讀取1MB甚至更多的數(shù)據(jù)。來(lái)自同一個(gè)客戶機(jī)的連續(xù)操作通常是讀取同一個(gè)文件中連續(xù)的一個(gè)區(qū)域。小規(guī)模的隨機(jī)讀取通常是在文件某個(gè)隨機(jī)的位置讀取幾個(gè)KB數(shù)據(jù)。如果應(yīng)用程序?qū)π阅芊浅jP(guān)注,通常的做法是把小規(guī)模的隨機(jī)讀取操作合并并排序,之后按順序批量讀取,這樣就避免了在文件中前后來(lái)回的移動(dòng)讀取位置。

本發(fā)明通常是為了有效存儲(chǔ)海量數(shù)據(jù),提高計(jì)算機(jī)的存儲(chǔ)容量。

附圖說(shuō)明

圖1、分布式存儲(chǔ)流程圖

圖2、寫入操作的控制流程圖

具體實(shí)施方式

本發(fā)明是提出一種基于文件系統(tǒng)的分布式存儲(chǔ)技術(shù),具體流程如圖1,一個(gè)集群包含一個(gè)單獨(dú)的主件,多臺(tái)組件服務(wù)器,并且同時(shí)被多個(gè)客戶端訪問。所有的這些機(jī)器通常都是普通的Linux機(jī)器,運(yùn)行著用戶級(jí)別的服務(wù)進(jìn)程。我們可以很容易的把組件服務(wù)器和客戶端都放在同一臺(tái)機(jī)器上,前提是機(jī)器資源允許,并且我們能夠接受不可靠的應(yīng)用程序代碼帶來(lái)的穩(wěn)定性降低的風(fēng)險(xiǎn)。

上述架構(gòu)具體情況如下:

(1)存儲(chǔ)的文件都被分割成固定大小的組件。在組件創(chuàng)建的時(shí)候,主件服務(wù)器會(huì)給每個(gè)組件分配一個(gè)不變的、全球唯一的64位的標(biāo)識(shí)。組件服務(wù)器把組件以 linux文件的形式保存在本地硬盤上,并且根據(jù)指定的標(biāo)識(shí)和字節(jié)范圍來(lái)讀寫塊數(shù)據(jù)。出于可靠性的考慮,每個(gè)塊都會(huì)復(fù)制到多個(gè)塊服務(wù)器上。缺省情況下,我們使用3個(gè)存儲(chǔ)復(fù)制節(jié)點(diǎn),不過(guò)用戶可以為不同的文件命名空間設(shè)定不同的復(fù)制級(jí)別。

(2)主件節(jié)點(diǎn)管理所有的文件系統(tǒng)元數(shù)據(jù)。這些元數(shù)據(jù)包括名字空間、訪問控制信息、文件和組件的映射信息、以及當(dāng)前組件的位置信息。主件節(jié)點(diǎn)還管理著系統(tǒng)范圍內(nèi)的活動(dòng),比如,組件租用管理的回收、以及組件在組件服務(wù)器之間的遷移。主件節(jié)點(diǎn)使用心跳信息周期地和每個(gè)組件服務(wù)器通訊,發(fā)送指令到各個(gè)組件服務(wù)器并接收組件服務(wù)器的狀態(tài)信息。

(3)客戶端代碼以庫(kù)的形式被鏈接到客戶程序里。客戶端代碼實(shí)現(xiàn)了文件系統(tǒng)的API接口函數(shù)、應(yīng)用程序與主件節(jié)點(diǎn)和組件服務(wù)器通訊、以及對(duì)數(shù)據(jù)進(jìn)行讀寫操作。客戶端和主件節(jié)點(diǎn)的通信只獲取元數(shù)據(jù),所有的數(shù)據(jù)操作都是由客戶端直接和組件服務(wù)器進(jìn)行交互的。

(4)無(wú)論是客戶端還是組件服務(wù)器都不需要緩存文件數(shù)據(jù)??蛻舳司彺鏀?shù)據(jù)幾乎沒有什么用處,因?yàn)榇蟛糠殖绦蛞匆粤鞯姆绞阶x取一個(gè)巨大文件,要么工作集太大根本無(wú)法被緩存。無(wú)需考慮緩存相關(guān)的問題也簡(jiǎn)化了客戶端和整個(gè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。

圖2是寫入操作的控制流程圖

本發(fā)明使用租約機(jī)制來(lái)保持多個(gè)副本間變更順序的一致性。主件節(jié)點(diǎn)為組件的一個(gè)副本建立一個(gè)租約,我們把這個(gè)副本叫做主組件。主組件對(duì)組件的所有更改操作進(jìn)行序列化。所有的副本都遵從這個(gè)序列進(jìn)行修改操作。因此,修改操作全局的順序首先由主件節(jié)點(diǎn)選擇的租約的順序決定,然后由租約中主組件分配的序列號(hào)決定。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1