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

一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法

文檔序號(hào):6443790閱讀:362來(lái)源:國(guó)知局
專利名稱:一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法,屬于分布式存儲(chǔ)技術(shù)領(lǐng)域。
背景技術(shù)
隨著云計(jì)算的應(yīng)用和發(fā)展,將大量服務(wù)和資源放置在遠(yuǎn)程服務(wù)器集群上,用戶只需從終端或者PC上訪問(wèn)所需要的資源的模式成為一種時(shí)代趨勢(shì)。而對(duì)于這種模式,若采用價(jià)格昂貴、配置高端而且操作復(fù)雜的PC,就會(huì)造成本地資源的冗余和浪費(fèi)。所以,基于“瘦客戶端+網(wǎng)絡(luò)+云計(jì)算服務(wù)器”的新型信息化模式應(yīng)運(yùn)而生。瘦客戶端是一個(gè)本地?zé)o硬盤、 只裝有瀏覽器的客戶端,配有最簡(jiǎn)單的輸入(鍵盤、鼠標(biāo))和輸出設(shè)備(顯示器)來(lái)完成和網(wǎng)絡(luò)通信的功能。鑒于瘦客戶端在本地是沒(méi)有存儲(chǔ)空間的,那么如何對(duì)用戶的私有文件進(jìn)行有效存儲(chǔ)和管理成為一個(gè)必須要解決的關(guān)鍵問(wèn)題。本發(fā)明是通過(guò)網(wǎng)絡(luò)磁盤和分布式存儲(chǔ)系統(tǒng)來(lái)完成對(duì)用戶文件的安全有效存儲(chǔ),突破了傳統(tǒng)的文件存儲(chǔ)模式。傳統(tǒng)的文件存儲(chǔ)分為本地存儲(chǔ)和網(wǎng)絡(luò)存儲(chǔ)。其中,本地存儲(chǔ)是將文件存儲(chǔ)在計(jì)算機(jī)的硬盤之中,對(duì)硬盤的大小有很高要求。而網(wǎng)絡(luò)存儲(chǔ)是將文件數(shù)據(jù)集中存儲(chǔ)在一個(gè)服務(wù)器上,存儲(chǔ)服務(wù)器的性能成為系統(tǒng)性能的瓶頸,也面臨著可靠性和安全性的問(wèn)題。而且目前的網(wǎng)絡(luò)存儲(chǔ)磁盤,如115網(wǎng)盤、1 網(wǎng)盤、聯(lián)想網(wǎng)盤等都是針對(duì)PC提供服務(wù),往往還需要操作系統(tǒng)的某些技術(shù)支持,存在著傳輸速度慢、安全性差、營(yíng)運(yùn)成本高、恢復(fù)能力低的問(wèn)題。雖然為改善集中存儲(chǔ)的服務(wù)器瓶頸,有不少負(fù)載均衡調(diào)度算法提出,但是仍然是基于集中存儲(chǔ), 問(wèn)題沒(méi)有得到很好地解決,如專利號(hào)為20071015^65,名稱為《存儲(chǔ)子系統(tǒng)、主計(jì)算機(jī)、存儲(chǔ)系統(tǒng)、負(fù)載均衡方法和程序》的專利就屬此列。新型的分布式存儲(chǔ)系統(tǒng)是將大量不同類型的存儲(chǔ)設(shè)備集合起來(lái)協(xié)同工作,將數(shù)據(jù)分散存儲(chǔ)在多臺(tái)獨(dú)立的設(shè)備上,形成一個(gè)安全的數(shù)據(jù)存儲(chǔ)系統(tǒng),并且對(duì)外提供訪問(wèn)接口。它采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺(tái)存儲(chǔ)服務(wù)器來(lái)分擔(dān)存儲(chǔ)負(fù)荷,通過(guò)管理服務(wù)器定位存儲(chǔ)信息,大大提高了存儲(chǔ)系統(tǒng)的可靠性、可用性、可擴(kuò)展性和存儲(chǔ)效率。在數(shù)據(jù)訪問(wèn)量和文件存儲(chǔ)量都很龐大的情況下,分布式存儲(chǔ)系統(tǒng)無(wú)疑是一種高效高可靠的存儲(chǔ)方式。傳統(tǒng)的存儲(chǔ)模式已經(jīng)不能夠滿足用戶的需求,分布式存儲(chǔ)將成為主流的存儲(chǔ)模式。

發(fā)明內(nèi)容
針對(duì)傳統(tǒng)的文件存儲(chǔ)模式的不足和瘦客戶端本身的限制,本發(fā)明提出了一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法,旨在將傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)和分布式存儲(chǔ)有機(jī)集合, 提供一種基于瘦客戶端的有效文件存儲(chǔ)模式。本發(fā)明的技術(shù)方案如下—種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法,由以下系統(tǒng)來(lái)實(shí)現(xiàn),該系統(tǒng)包括瘦客戶端、網(wǎng)絡(luò)磁盤和MooseFS (簡(jiǎn)稱MFS),其中瘦客戶端是基于嵌入式Linux操作系統(tǒng)的客戶端,它僅提供輸入輸出設(shè)備和Web瀏覽器;網(wǎng)絡(luò)磁盤是基于Web的網(wǎng)絡(luò)文件存儲(chǔ)應(yīng)用
4系統(tǒng);MFS是一種分布式文件系統(tǒng),其文件系統(tǒng)結(jié)構(gòu)包括管理服務(wù)器(master)、元數(shù)據(jù)日志服務(wù)器(metalogger)、數(shù)據(jù)存儲(chǔ)服務(wù)器(chunkservers)和客戶機(jī)(client),瘦客戶端、網(wǎng)絡(luò)磁盤和MFS三者之間的運(yùn)作為由多臺(tái)物理服務(wù)器組成一個(gè)可擴(kuò)展的服務(wù)器集群,在每臺(tái)物理服務(wù)器上虛擬出多臺(tái)基于Linux操作系統(tǒng)的虛擬機(jī),在服務(wù)器集群的虛擬機(jī)上搭建 MFS,在MFS的客戶機(jī)上搭建LAMP (Linux+Apache+MySQL+PHP)架構(gòu),將網(wǎng)絡(luò)磁盤源文件放在 Apache下,將網(wǎng)絡(luò)磁盤數(shù)據(jù)庫(kù)放在Mysql下,在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并且將該存儲(chǔ)目錄作為客戶機(jī)的掛載目錄,客戶機(jī)操作系統(tǒng)的內(nèi)核會(huì)把對(duì)該目錄下文件的操作(新建、讀取、修改)傳遞給fuse模塊,這個(gè)模塊會(huì)和mfsmoimt 進(jìn)程進(jìn)行通信,mfsmoimt進(jìn)程再通過(guò)網(wǎng)絡(luò)與管理服務(wù)器和數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行通信,這樣客戶機(jī)就可以基于該存儲(chǔ)目錄執(zhí)行分布式讀寫操作,用戶在瘦客戶端上通過(guò)互聯(lián)網(wǎng)訪問(wèn) Apache下的網(wǎng)絡(luò)磁盤,用戶就能在瘦客戶端的瀏覽器上看到網(wǎng)絡(luò)磁盤的Web頁(yè)面,執(zhí)行文件的上傳和下載操作,該運(yùn)行方法步驟如下1)在服務(wù)器集群的虛擬機(jī)上搭建MFS,并且在MFS的客戶機(jī)上部署LAMP架構(gòu),將網(wǎng)絡(luò)磁盤源文件放置在LAMP架構(gòu)的Apache下,網(wǎng)絡(luò)磁盤的數(shù)據(jù)庫(kù)文件放置在LAMP架構(gòu)的 MySQL 下;a)虛擬機(jī)選擇選擇一臺(tái)虛擬機(jī)作為管理服務(wù)器,選擇另一臺(tái)虛擬機(jī)作為元數(shù)據(jù)日志服務(wù)器,選擇其它多臺(tái)(>=3臺(tái))虛擬機(jī)作為數(shù)據(jù)存儲(chǔ)服務(wù)器,另外再選擇一臺(tái)虛擬機(jī)作為客戶機(jī),這些虛擬機(jī)都是基于Linux操作系統(tǒng)的;b)部署管理服務(wù)器設(shè)置編輯配置文件,指定可以遠(yuǎn)程掛載到MFS管理服務(wù)器的客戶機(jī)的IP地址,并且授予該客戶機(jī)訪問(wèn)權(quán)限;C)部署元數(shù)據(jù)日志服務(wù)器設(shè)置編輯配置文件,指明管理服務(wù)器的IP地址,用于進(jìn)行數(shù)據(jù)備份,以便在管理服務(wù)器發(fā)生故障時(shí)進(jìn)行數(shù)據(jù)轉(zhuǎn)移和恢復(fù);d)部署數(shù)據(jù)存儲(chǔ)服務(wù)器新增一塊硬盤單獨(dú)為MFS進(jìn)行文件存儲(chǔ),并且編輯配置文件,指明管理服務(wù)器的IP地址及通信端口 ;e)部署客戶機(jī)安裝fuse模塊進(jìn)行掛載部署;2)修改PHP的配置文件,以增大用戶可上傳的文件大??;3)在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并且將該存儲(chǔ)目錄設(shè)定為客戶機(jī)掛載到管理服務(wù)器的掛載目錄;4)啟動(dòng) MFS 和 LAMP 架構(gòu)下的 Apache ;5)用戶從瘦客戶端瀏覽器登入到網(wǎng)絡(luò)磁盤Web頁(yè)面,注冊(cè)并且登陸后,在存儲(chǔ)目錄中產(chǎn)生以該用戶名命名的文件夾作為該用戶的存儲(chǔ)空間,然后分別轉(zhuǎn)入步驟6)和步驟 7);6)用戶基于自己的私有存儲(chǔ)文件夾進(jìn)行文件的上傳操作,用戶點(diǎn)擊文件上傳按鈕,向客戶機(jī)上的Apache提交上傳請(qǐng)求,其響應(yīng)之后,將文件上傳到存儲(chǔ)空間??蛻魴C(jī)會(huì)向管理服務(wù)器發(fā)出寫請(qǐng)求,MFS執(zhí)行寫操作,將存儲(chǔ)目錄下該用戶的上傳的文件分成多個(gè)數(shù)據(jù)塊存儲(chǔ)于數(shù)據(jù)存儲(chǔ)服務(wù)器中,實(shí)現(xiàn)分布式存儲(chǔ),然后轉(zhuǎn)入步驟8);7)用戶基于自己的私有存儲(chǔ)文件夾進(jìn)行文件的下載操作,用戶點(diǎn)擊下載按鈕,向 Apache提交請(qǐng)求,其響應(yīng)之后,到文件存儲(chǔ)空間讀取文件。客戶機(jī)會(huì)向管理服務(wù)器發(fā)出讀請(qǐng)求,MFS執(zhí)行讀操作,從各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器中讀取該文件的數(shù)據(jù)塊信息,客戶機(jī)將獲取的數(shù)據(jù)塊信息進(jìn)行整合并且返回到掛載目錄中,實(shí)現(xiàn)對(duì)分布式文件數(shù)據(jù)塊的合并,然后轉(zhuǎn)入下一步;8)讀寫操作之后,用戶通過(guò)瘦客戶端看到網(wǎng)絡(luò)磁盤Web頁(yè)面更新之后的內(nèi)容。上述LAMP是搭建在MFS的客戶機(jī)上的一組用來(lái)搭建動(dòng)態(tài)網(wǎng)站或者服務(wù)器的開源軟件,包括Linux、Apache、MySQL和PHP,共同組成了一個(gè)強(qiáng)大的Web應(yīng)用程序平臺(tái)。其中, Linux處在最低層,提供操作系統(tǒng);次低層是Apache,它是一個(gè)Web服務(wù)器,Apache提供可讓用戶獲得Web頁(yè)面的機(jī)制;MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),存儲(chǔ)數(shù)據(jù);PHP是英文超級(jí)文本預(yù)處理語(yǔ)言Hypertext Preprocessor的縮寫,意為超級(jí)文本預(yù)處理,它一種 HTML內(nèi)嵌式語(yǔ)言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類似于C語(yǔ)言,被廣泛的運(yùn)用。上述網(wǎng)絡(luò)磁盤是部署在LAMP架構(gòu)下的網(wǎng)絡(luò)文件存儲(chǔ)應(yīng)用系統(tǒng),其源文件是基于 PHP語(yǔ)言編寫,包括JavaScript、HTML、CSS、PHP和數(shù)據(jù)庫(kù)文件。其中,JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言,同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能;CSS是英語(yǔ)Cascading Style Sheets (層疊樣式表單)的縮寫,它是一種用來(lái)表現(xiàn)HTML或XML等文件式樣的計(jì)算機(jī)語(yǔ)言。 將網(wǎng)絡(luò)磁盤源文件放在Apache下,數(shù)據(jù)庫(kù)文件放在MySQL下,用戶可以通過(guò)Apache獲得該網(wǎng)絡(luò)磁盤的Web頁(yè)面。上述服務(wù)器集群是將多臺(tái)物理服務(wù)器集中起來(lái)一起進(jìn)行同一種服務(wù)的集群,在用戶看來(lái)就像是只有一個(gè)服務(wù)器。上述虛擬機(jī)(Virtual Machine)是指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、 運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)??梢栽谝慌_(tái)物理計(jì)算機(jī)上模擬出一臺(tái)或多臺(tái)虛擬的計(jì)算機(jī),這些虛擬機(jī)可以完全像真正的計(jì)算機(jī)那樣進(jìn)行工作。上述Apache正是LAMP架構(gòu)下的Web服務(wù)器,為用戶提供訪問(wèn)Web頁(yè)面的機(jī)制。上述fuse模塊是用戶空間文件系統(tǒng)(Filesystem in Userspace)模塊,是Linux 中用于掛載某些網(wǎng)絡(luò)空間到本地文件系統(tǒng)的模塊。Fuse模塊提供一個(gè)文件操作的接口,然后fuse在這個(gè)接口上監(jiān)聽文件操作,一旦有操作(新建、讀取、修改)發(fā)生,fuse模塊會(huì)把控制權(quán)交mfsmount進(jìn)程進(jìn)行處理。上述mfsmount進(jìn)程是MFS中對(duì)客戶機(jī)上掛載目錄中文件操作進(jìn)行處理的進(jìn)程,可以與MFS的管理服務(wù)器和數(shù)據(jù)存儲(chǔ)服務(wù)器通過(guò)網(wǎng)絡(luò)建立通信。上述運(yùn)行方法中步驟6)中的MFS執(zhí)行寫操作,步驟如下<1>客戶機(jī)基于掛載目錄向管理服務(wù)器發(fā)出寫數(shù)據(jù)請(qǐng)求;<2>管理服務(wù)器查詢各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的IP地址,并將各個(gè)IP地址返回給客戶機(jī);<3>客戶機(jī)與數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,將用戶上傳的文件以數(shù)據(jù)塊(chunk)寫入到數(shù)據(jù)存儲(chǔ)服務(wù)器,每個(gè)數(shù)據(jù)塊最大為64MB,文件若小于64MB,則數(shù)據(jù)塊的大小即為該文件大小,文件若超過(guò)64MB,則該文件將被均分,每一份數(shù)據(jù)塊的大小以不超過(guò)64MB為原則,每個(gè)塊被分散地存儲(chǔ)在數(shù)據(jù)存儲(chǔ)服務(wù)器的硬盤上,并且每個(gè)數(shù)據(jù)塊可自主設(shè)定需要的備份數(shù)目,以提高系統(tǒng)的容錯(cuò)性能和安全性能;<4>各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器之間進(jìn)行復(fù)制通信,保證每個(gè)數(shù)據(jù)塊在不同的數(shù)據(jù)存儲(chǔ)服務(wù)器上都有拷貝,以實(shí)現(xiàn)對(duì)數(shù)據(jù)的最優(yōu)存儲(chǔ);<5>各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器將成功寫入的消息返回給客戶機(jī);<6>客戶機(jī)向管理服務(wù)器發(fā)出寫入成功信號(hào),結(jié)束本次寫入操作。通過(guò)上述過(guò)程,就實(shí)現(xiàn)了將用戶上傳的文件進(jìn)行分布式存儲(chǔ)的功能。上述運(yùn)行方法中步驟7)中的MFS執(zhí)行讀操作,步驟如下①客戶機(jī)向管理服務(wù)器發(fā)出讀文件數(shù)據(jù)的請(qǐng)求;②管理服務(wù)器檢索數(shù)據(jù),獲得存儲(chǔ)該文件數(shù)據(jù)塊的各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器IP地址, 并將數(shù)據(jù)存儲(chǔ)服務(wù)器的地址返回給客戶機(jī);③客戶機(jī)和各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,向具體的數(shù)據(jù)存儲(chǔ)服務(wù)器發(fā)起請(qǐng)求并讀取數(shù)據(jù);④各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器將文件的數(shù)據(jù)塊返回給客戶機(jī);⑤客戶機(jī)將讀取的各個(gè)數(shù)據(jù)塊進(jìn)行合并處理,形成完整的文件,并向管理服務(wù)器發(fā)出讀取成功信號(hào),結(jié)束本次讀取操作。通過(guò)上述過(guò)程,就實(shí)現(xiàn)了將分布式存儲(chǔ)的各個(gè)數(shù)據(jù)塊合并成完整文件的功能。本發(fā)明將傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)和MFS有機(jī)結(jié)合提供了一種基于瘦客戶端的新的文件存儲(chǔ)服務(wù),將用戶上傳到網(wǎng)絡(luò)磁盤上的文件分散成多個(gè)數(shù)據(jù)塊放到不同的服務(wù)器上存儲(chǔ)。 實(shí)現(xiàn)的關(guān)鍵在于MFS的客戶機(jī)上建有一個(gè)用于存儲(chǔ)網(wǎng)絡(luò)磁盤用戶上傳文件的存儲(chǔ)目錄,同時(shí)該目錄也是MFS的客戶機(jī)的掛載目錄,通過(guò)mfsmoimt模塊可以對(duì)該目錄下的文件操作進(jìn)行處理。所以,一旦用戶上傳文件到該目錄下,就相當(dāng)于該目錄下發(fā)生了新建文件的操作, 那么客戶機(jī)的fuse模塊就會(huì)將對(duì)該文件操作的控制權(quán)交給mfsmoimt模塊處理,mfsmoimt 模塊則可以通過(guò)網(wǎng)絡(luò)與管理服務(wù)器和數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,將該目錄下的文件分布式存儲(chǔ)在各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器中。由此,網(wǎng)絡(luò)磁盤和MFS在物理上通過(guò)這個(gè)存儲(chǔ)目錄建立起聯(lián)系,將集中存儲(chǔ)有效地變成了分布式存儲(chǔ)。
本發(fā)明中的MFS是一個(gè)輕量級(jí)的分布式文件系統(tǒng)。它主要包括四個(gè)部分a.管理服務(wù)器只有一臺(tái),負(fù)責(zé)各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的管理,文件讀寫調(diào)度,文件空間回收以及恢復(fù)多節(jié)點(diǎn)拷貝;b.元數(shù)據(jù)日志服務(wù)器負(fù)責(zé)備份管理服務(wù)器變化的日志文件,以便于在管理服務(wù)器出現(xiàn)問(wèn)題的時(shí)候接替其進(jìn)行工作;元數(shù)據(jù)日志服務(wù)器的存在有效地解決了 MFS系統(tǒng)只有一臺(tái)管理服務(wù)器的弊端,避免了單點(diǎn)故障,提高了系統(tǒng)的安全性和可恢復(fù)性;c.數(shù)據(jù)存儲(chǔ)服務(wù)器可有多臺(tái),負(fù)責(zé)連接管理服務(wù)器,聽從管理服務(wù)器的管理調(diào)度,提供存儲(chǔ)空間,并為客戶提供數(shù)據(jù)傳輸。在數(shù)據(jù)存儲(chǔ)服務(wù)器啟動(dòng)后,會(huì)主動(dòng)與管理服務(wù)器聯(lián)系,讓管理服務(wù)器知道有多少數(shù)據(jù)存儲(chǔ)服務(wù)器在網(wǎng)絡(luò)中;d.客戶機(jī)可有多臺(tái),通過(guò)內(nèi)核加載fuse模塊,再通過(guò)和管理服務(wù)器的溝通,將數(shù)據(jù)存儲(chǔ)服務(wù)器共享的分區(qū)掛載到本地,然后進(jìn)行讀寫操作。MFS的高可用性是通過(guò)在多個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器上來(lái)存儲(chǔ)每個(gè)文件的多個(gè)副本來(lái)實(shí)現(xiàn)的。數(shù)據(jù)文件被分成很多個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊最大為64MB,每個(gè)數(shù)據(jù)塊在數(shù)據(jù)存儲(chǔ)服務(wù)器上都表現(xiàn)為一個(gè)獨(dú)立的文件。數(shù)據(jù)存儲(chǔ)服務(wù)器之間可以通過(guò)通信完成數(shù)據(jù)的拷貝,以實(shí)現(xiàn)對(duì)一個(gè)文件的每個(gè)數(shù)據(jù)塊的多副本存儲(chǔ)。對(duì)于客戶機(jī),其對(duì)文件的所有操作會(huì)通過(guò)操作系統(tǒng)轉(zhuǎn)交給fuse模塊,并通過(guò)fuse模塊與mfsmoimt進(jìn)程通信。而mfsmoimt進(jìn)程將通過(guò)網(wǎng)絡(luò)與管理服務(wù)器和數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行溝通。在客戶機(jī)上,對(duì)掛載于MFS上的文件進(jìn)行操作與在本地是完全一致的。本發(fā)明運(yùn)行方法的優(yōu)勢(shì)在于改變傳統(tǒng)的網(wǎng)絡(luò)存儲(chǔ)和本地存儲(chǔ)模式,打破集中存儲(chǔ)的單個(gè)服務(wù)器性能瓶頸,產(chǎn)生一種將網(wǎng)絡(luò)存儲(chǔ)和分布式存儲(chǔ)結(jié)合的新型存儲(chǔ)模式,大大改善存儲(chǔ)性能。


圖1是本發(fā)明運(yùn)行方法的流程框圖。其中,1)-8)為其各個(gè)步驟。圖2是本發(fā)明運(yùn)行方法中步驟6)中的執(zhí)行MFS文件的寫操作的流程框圖。其中, <1>-<6>為其各個(gè)步驟。圖3是本發(fā)明運(yùn)行方法中步驟7)中的執(zhí)行MFS文件的讀操作的流程框圖。其中, ①-⑤為其各個(gè)步驟。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明,但不限于此。實(shí)施例本發(fā)明實(shí)施例如圖1所示,一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法, 由以下系統(tǒng)來(lái)實(shí)現(xiàn),該系統(tǒng)包括瘦客戶端、網(wǎng)絡(luò)磁盤和MooseFS(簡(jiǎn)稱MFQ,其中瘦客戶端是基于嵌入式Linux操作系統(tǒng)的客戶端,它僅提供輸入輸出設(shè)備和web瀏覽器;網(wǎng)絡(luò)磁盤是基于Web的網(wǎng)絡(luò)文件存儲(chǔ)應(yīng)用系統(tǒng);MooseFS是一種分布式文件系統(tǒng),其文件系統(tǒng)結(jié)構(gòu)包括管理服務(wù)器(master)、元數(shù)據(jù)日志服務(wù)器(metalogger)、數(shù)據(jù)存儲(chǔ)服務(wù)器(chunkservers)和客戶機(jī)(client),瘦客戶端、網(wǎng)絡(luò)磁盤和MFS三者之間的運(yùn)作為 由多臺(tái)物理服務(wù)器組成一個(gè)可擴(kuò)展的服務(wù)器集群,在每臺(tái)物理服務(wù)器上虛擬出多臺(tái)基于Linux操作系統(tǒng)的虛擬機(jī),在服務(wù)器集群的虛擬機(jī)上搭建MFS,在MFS的客戶機(jī)上搭建 LAMP (Linux+Apache+MySQL+PHP)架構(gòu),將網(wǎng)絡(luò)磁盤源文件放在Apache下,將網(wǎng)絡(luò)磁盤數(shù)據(jù)庫(kù)放在Mysql下,在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并且將該存儲(chǔ)目錄作為客戶機(jī)的掛載目錄,客戶機(jī)操作系統(tǒng)的內(nèi)核會(huì)把對(duì)該目錄下文件的操作 (新建、讀取、修改)傳遞給fuse模塊,這個(gè)模塊會(huì)和mfsmount進(jìn)程進(jìn)行通信,mfsmount進(jìn)程再通過(guò)網(wǎng)絡(luò)與管理服務(wù)器和數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行通信,這樣客戶機(jī)就可以基于該存儲(chǔ)目錄執(zhí)行分布式讀寫操作,用戶在瘦客戶端上通過(guò)互聯(lián)網(wǎng)訪問(wèn)Apache下的網(wǎng)絡(luò)磁盤,用戶就能在瘦客戶端的瀏覽器上看到網(wǎng)絡(luò)磁盤的Web頁(yè)面,執(zhí)行文件的上傳和下載操作,該運(yùn)行方法步驟如下1)在服務(wù)器集群的虛擬機(jī)上搭建MFS,并且在MFS的客戶機(jī)上部署LAMP架構(gòu),將網(wǎng)絡(luò)磁盤源文件放置在LAMP架構(gòu)的Apache下,網(wǎng)絡(luò)磁盤的數(shù)據(jù)庫(kù)文件放置在LAMP架構(gòu)的 MySQL 下;a)虛擬機(jī)選擇選擇一臺(tái)虛擬機(jī)作為管理服務(wù)器,選擇另一臺(tái)虛擬機(jī)作為元數(shù)據(jù)日志服務(wù)器,選擇其它3臺(tái)虛擬機(jī)作為數(shù)據(jù)存儲(chǔ)服務(wù)器,另外再選擇一臺(tái)虛擬機(jī)作為客戶機(jī),這些虛擬機(jī)都是基于Linux操作系統(tǒng)的;
b)部署管理服務(wù)器設(shè)置編輯配置文件,指定可以遠(yuǎn)程掛載到MFS管理服務(wù)器的客戶機(jī)的IP地址,并且授予該客戶機(jī)訪問(wèn)權(quán)限;c)部署元數(shù)據(jù)日志服務(wù)器設(shè)置編輯配置文件,指明管理服務(wù)器的IP地址,用于進(jìn)行數(shù)據(jù)備份,以便在管理服務(wù)器發(fā)生故障時(shí)進(jìn)行數(shù)據(jù)轉(zhuǎn)移和恢復(fù);d)部署數(shù)據(jù)存儲(chǔ)服務(wù)器新增一塊硬盤單獨(dú)為MFS進(jìn)行文件存儲(chǔ),并且編輯配置文件,指明管理服務(wù)器的IP地址及通信端口 ;e)部署客戶機(jī)安裝fuse模塊進(jìn)行掛載部署;2)修改PHP的配置文件,以增大用戶可上傳的文件大小;3)在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并且將該存儲(chǔ)目錄設(shè)定為客戶機(jī)掛載到管理服務(wù)器的掛載目錄;4)啟動(dòng) MFS 和 LAMP 架構(gòu)下的 Apache ;5)用戶從瘦客戶端瀏覽器登入到網(wǎng)絡(luò)磁盤Web頁(yè)面,注冊(cè)并且登陸后,在存儲(chǔ)目錄中產(chǎn)生以該用戶名命名的文件夾作為該用戶的存儲(chǔ)空間,然后分別轉(zhuǎn)入步驟6)和步驟 7);6)用戶基于自己的私有存儲(chǔ)文件夾進(jìn)行文件的上傳操作,用戶點(diǎn)擊文件上傳按鈕,向客戶機(jī)上的Apache提交上傳請(qǐng)求,其響應(yīng)之后,將文件上傳到存儲(chǔ)空間。客戶機(jī)會(huì)向管理服務(wù)器發(fā)出寫請(qǐng)求,MFS執(zhí)行寫操作,將存儲(chǔ)目錄下該用戶的上傳的文件分成多個(gè)數(shù)據(jù)塊存儲(chǔ)于數(shù)據(jù)存儲(chǔ)服務(wù)器中,實(shí)現(xiàn)分布式存儲(chǔ),然后轉(zhuǎn)入步驟8);7)用戶基于自己的私有存儲(chǔ)文件夾進(jìn)行文件的下載操作,用戶點(diǎn)擊下載按鈕,向 Apache提交請(qǐng)求,其響應(yīng)之后,到文件存儲(chǔ)空間讀取文件??蛻魴C(jī)會(huì)向管理服務(wù)器發(fā)出讀請(qǐng)求,MFS執(zhí)行讀操作,從各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器中讀取該文件的數(shù)據(jù)塊信息,客戶機(jī)將獲取的數(shù)據(jù)塊信息進(jìn)行整合并且返回到掛載目錄中,實(shí)現(xiàn)對(duì)分布式文件數(shù)據(jù)塊的合并,然后轉(zhuǎn)入下一步;8)讀寫操作之后,用戶通過(guò)瘦客戶端看到網(wǎng)絡(luò)磁盤Web頁(yè)面更新之后的內(nèi)容。上述運(yùn)行方法中步驟6)中的MFS執(zhí)行寫操作,如圖2所示,步驟如下<1>客戶機(jī)基于掛載目錄向管理服務(wù)器發(fā)出寫數(shù)據(jù)請(qǐng)求;<2>管理服務(wù)器查詢各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的IP地址,并將各個(gè)IP地址返回給客戶機(jī);<3>客戶機(jī)與數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,將用戶上傳的文件以數(shù)據(jù)塊(chunk)寫入到數(shù)據(jù)存儲(chǔ)服務(wù)器,每個(gè)數(shù)據(jù)塊最大為64MB,文件若小于64MB,則數(shù)據(jù)塊的大小即為該文件大小,文件若超過(guò)64MB,則該文件將被均分,每一份數(shù)據(jù)塊的大小以不超過(guò)64MB為原則,每個(gè)塊被分散地存儲(chǔ)在數(shù)據(jù)存儲(chǔ)服務(wù)器的硬盤上,并且每個(gè)數(shù)據(jù)塊可自主設(shè)定需要的備份數(shù)目,以提高系統(tǒng)的容錯(cuò)性能和安全性能;<4>各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器之間進(jìn)行復(fù)制通信,保證每個(gè)數(shù)據(jù)塊在不同的數(shù)據(jù)存儲(chǔ)服務(wù)器上都有拷貝,以實(shí)現(xiàn)對(duì)數(shù)據(jù)的最優(yōu)存儲(chǔ);<5>各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器將成功寫入的消息返回給客戶機(jī);<6>客戶機(jī)向管理服務(wù)器發(fā)出寫入成功信號(hào),結(jié)束本次寫入操作。通過(guò)上述過(guò)程,就實(shí)現(xiàn)了將用戶上傳的文件進(jìn)行分布式存儲(chǔ)的功能。上述運(yùn)行方法中步驟7)中的MFS執(zhí)行讀操作,如圖3所示,步驟如下
①客戶機(jī)向管理服務(wù)器發(fā)出讀文件數(shù)據(jù)的請(qǐng)求;②管理服務(wù)器檢索數(shù)據(jù),獲得存儲(chǔ)該文件數(shù)據(jù)塊的各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器IP地址, 并將數(shù)據(jù)存儲(chǔ)服務(wù)器的地址返回給客戶機(jī);③客戶機(jī)和各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,向具體的數(shù)據(jù)存儲(chǔ)服務(wù)器發(fā)起請(qǐng)求并讀取數(shù)據(jù);④各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器將文件的數(shù)據(jù)塊返回給客戶機(jī);⑤客戶機(jī)將讀取的各個(gè)數(shù)據(jù)塊進(jìn)行合并處理,形成完整的文件,并向管理服務(wù)器發(fā)出讀取成功信號(hào),結(jié)束本次讀取操作。
權(quán)利要求
1. 一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法,由以下系統(tǒng)來(lái)實(shí)現(xiàn),該系統(tǒng)包括瘦客戶端、網(wǎng)絡(luò)磁盤和MooseFS,其中瘦客戶端是基于嵌入式Linux操作系統(tǒng)的客戶端, 它僅提供輸入輸出設(shè)備和web瀏覽器;網(wǎng)絡(luò)磁盤是基于Web的網(wǎng)絡(luò)文件存儲(chǔ)應(yīng)用系統(tǒng); MooseFS是一種分布式文件系統(tǒng),其文件系統(tǒng)結(jié)構(gòu)包括管理服務(wù)器、元數(shù)據(jù)日志服務(wù)器、數(shù)據(jù)存儲(chǔ)服務(wù)器和客戶機(jī),瘦客戶端、網(wǎng)絡(luò)磁盤和MFS三者之間的運(yùn)作為由多臺(tái)物理服務(wù)器組成一個(gè)可擴(kuò)展的服務(wù)器集群,在每臺(tái)物理服務(wù)器上虛擬出多臺(tái)基于Linux操作系統(tǒng)的虛擬機(jī),在服務(wù)器集群的虛擬機(jī)上搭建MFS,在MFS的客戶機(jī)上搭建LAMP架構(gòu),將網(wǎng)絡(luò)磁盤源文件放在Apache下,將網(wǎng)絡(luò)磁盤數(shù)據(jù)庫(kù)放在Mysql下,在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并且將該存儲(chǔ)目錄作為客戶機(jī)的掛載目錄,客戶機(jī)操作系統(tǒng)的內(nèi)核會(huì)把對(duì)該目錄下文件的操作傳遞給fuse模塊,這個(gè)模塊會(huì)和mfsmoimt進(jìn)程進(jìn)行通信,mfsmoimt進(jìn)程再通過(guò)網(wǎng)絡(luò)與管理服務(wù)器和數(shù)據(jù)存儲(chǔ)服務(wù)器進(jìn)行通信,這樣客戶機(jī)就可以基于該存儲(chǔ)目錄執(zhí)行分布式讀寫操作,用戶在瘦客戶端上通過(guò)互聯(lián)網(wǎng)訪問(wèn)Apache下的網(wǎng)絡(luò)磁盤,用戶就能在瘦客戶端的瀏覽器上看到網(wǎng)絡(luò)磁盤的Web頁(yè)面,執(zhí)行文件的上傳和下載操作,該運(yùn)行方法步驟如下1)在服務(wù)器集群的虛擬機(jī)上搭建MFS,并且在MFS的客戶機(jī)上部署LAMP架構(gòu),將網(wǎng)絡(luò)磁盤源文件放置在LAMP架構(gòu)的Apache下,網(wǎng)絡(luò)磁盤的數(shù)據(jù)庫(kù)文件放置在LAMP架構(gòu)的 MySQL 下;a)虛擬機(jī)選擇選擇一臺(tái)虛擬機(jī)作為管理服務(wù)器,選擇另一臺(tái)虛擬機(jī)作為元數(shù)據(jù)日志服務(wù)器,選擇其它3臺(tái)或4臺(tái)虛擬機(jī)作為數(shù)據(jù)存儲(chǔ)服務(wù)器,另外再選擇一臺(tái)虛擬機(jī)作為客戶機(jī),這些虛擬機(jī)都是基于Linux操作系統(tǒng)的;b)部署管理服務(wù)器設(shè)置編輯配置文件,指定可以遠(yuǎn)程掛載到MFS管理服務(wù)器的客戶機(jī)的IP地址,并且授予該客戶機(jī)訪問(wèn)權(quán)限;c)部署元數(shù)據(jù)日志服務(wù)器設(shè)置編輯配置文件,指明管理服務(wù)器的IP地址,用于進(jìn)行數(shù)據(jù)備份,以便在管理服務(wù)器發(fā)生故障時(shí)進(jìn)行數(shù)據(jù)轉(zhuǎn)移和恢復(fù);d)部署數(shù)據(jù)存儲(chǔ)服務(wù)器新增一塊硬盤單獨(dú)為MFS進(jìn)行文件存儲(chǔ),并且編輯配置文件, 指明管理服務(wù)器的IP地址及通信端口 ;e)部署客戶機(jī)安裝fuse模塊進(jìn)行掛載部署;2)修改PHP的配置文件,以增大用戶可上傳的文件大??;3)在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并且將該存儲(chǔ)目錄設(shè)定為客戶機(jī)掛載到管理服務(wù)器的掛載目錄;4)啟動(dòng)MFS和LAMP架構(gòu)下的Apache;5)用戶從瘦客戶端瀏覽器登入到網(wǎng)絡(luò)磁盤Web頁(yè)面,注冊(cè)并且登陸后,在存儲(chǔ)目錄中產(chǎn)生以該用戶名命名的文件夾作為該用戶的存儲(chǔ)空間,然后分別轉(zhuǎn)入步驟6)和步驟7);6)用戶基于自己的私有存儲(chǔ)文件夾進(jìn)行文件的上傳操作,用戶點(diǎn)擊文件上傳按鈕,向客戶機(jī)上的Apache提交上傳請(qǐng)求,其響應(yīng)之后,將文件上傳到存儲(chǔ)空間??蛻魴C(jī)會(huì)向管理服務(wù)器發(fā)出寫請(qǐng)求,MFS執(zhí)行寫操作,將存儲(chǔ)目錄下該用戶的上傳的文件分成多個(gè)數(shù)據(jù)塊存儲(chǔ)于數(shù)據(jù)存儲(chǔ)服務(wù)器中,實(shí)現(xiàn)分布式存儲(chǔ),然后轉(zhuǎn)入步驟8);7)用戶基于自己的私有存儲(chǔ)文件夾進(jìn)行文件的下載操作,用戶點(diǎn)擊下載按鈕,向 Apache提交請(qǐng)求,其響應(yīng)之后,到文件存儲(chǔ)空間讀取文件??蛻魴C(jī)會(huì)向管理服務(wù)器發(fā)出讀請(qǐng)求,MFS執(zhí)行讀操作,從各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器中讀取該文件的數(shù)據(jù)塊信息,客戶機(jī)將獲取的數(shù)據(jù)塊信息進(jìn)行整合并且返回到掛載目錄中,實(shí)現(xiàn)對(duì)分布式文件數(shù)據(jù)塊的合并,然后轉(zhuǎn)入下一步;8)讀寫操作之后,用戶通過(guò)瘦客戶端看到網(wǎng)絡(luò)磁盤Web頁(yè)面更新之后的內(nèi)容。
2.如權(quán)利要求1所述的運(yùn)行方法的步驟6)中的MFS執(zhí)行寫操作,步驟如下<1>客戶機(jī)基于掛載目錄向管理服務(wù)器發(fā)出寫數(shù)據(jù)請(qǐng)求;<2>管理服務(wù)器查詢各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器的IP地址,并將各個(gè)IP地址返回給客戶機(jī);<3>客戶機(jī)與數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,將用戶上傳的文件以數(shù)據(jù)塊寫入到數(shù)據(jù)存儲(chǔ)服務(wù)器,每個(gè)數(shù)據(jù)塊最大為64MB,文件若小于64MB,則數(shù)據(jù)塊的大小即為該文件大小,文件若超過(guò)64MB,則該文件將被均分,每一份數(shù)據(jù)塊的大小以不超過(guò)64MB為原則,每個(gè)塊被分散地存儲(chǔ)在數(shù)據(jù)存儲(chǔ)服務(wù)器的硬盤上,并且每個(gè)數(shù)據(jù)塊可自主設(shè)定需要的備份數(shù)目,以提高系統(tǒng)的容錯(cuò)性能和安全性能;<4>各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器之間進(jìn)行復(fù)制通信,保證每個(gè)數(shù)據(jù)塊在不同的數(shù)據(jù)存儲(chǔ)服務(wù)器上都有拷貝,以實(shí)現(xiàn)對(duì)數(shù)據(jù)的最優(yōu)存儲(chǔ);<5>各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器將成功寫入的消息返回給客戶機(jī);<6>客戶機(jī)向管理服務(wù)器發(fā)出寫入成功信號(hào),結(jié)束本次寫入操作。通過(guò)上述過(guò)程,就實(shí)現(xiàn)了將用戶上傳的文件進(jìn)行分布式存儲(chǔ)的功能。
3.如權(quán)利要求1所述的運(yùn)行方法的步驟7)中的MFS執(zhí)行讀操作,步驟如下①客戶機(jī)向管理服務(wù)器發(fā)出讀文件數(shù)據(jù)的請(qǐng)求;②管理服務(wù)器檢索數(shù)據(jù),獲得存儲(chǔ)該文件數(shù)據(jù)塊的各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器IP地址,并將數(shù)據(jù)存儲(chǔ)服務(wù)器的地址返回給客戶機(jī);③客戶機(jī)和各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器建立通信,向具體的數(shù)據(jù)存儲(chǔ)服務(wù)器發(fā)起請(qǐng)求并讀取數(shù)據(jù);④各個(gè)數(shù)據(jù)存儲(chǔ)服務(wù)器將文件的數(shù)據(jù)塊返回給客戶機(jī);⑤客戶機(jī)將讀取的各個(gè)數(shù)據(jù)塊進(jìn)行合并處理,形成完整的文件,并向管理服務(wù)器發(fā)出讀取成功信號(hào),結(jié)束本次讀取操作。
全文摘要
一種基于瘦客戶端的文件分布式存儲(chǔ)的運(yùn)行方法,屬分布式存儲(chǔ)技術(shù)領(lǐng)域,系統(tǒng)包括瘦客戶端等,運(yùn)行步驟為在MFS的客戶機(jī)上搭建LAMP架構(gòu),將網(wǎng)絡(luò)磁盤源文件部署于該架構(gòu)的Apache下,在MFS的客戶機(jī)上設(shè)置一個(gè)文件夾作為用戶上傳文件的存儲(chǔ)目錄,并將該目錄作為客戶機(jī)的掛載目錄,客戶機(jī)就基于該目錄執(zhí)行分布式讀寫操作,完成對(duì)用戶上傳文件的分布式存儲(chǔ),用戶在瘦客戶端上通過(guò)互聯(lián)網(wǎng)訪問(wèn)Apache下的網(wǎng)絡(luò)磁盤,就可看到網(wǎng)絡(luò)磁盤的Web頁(yè)面,執(zhí)行文件的上傳和下載操作。本發(fā)明方法改變了傳統(tǒng)網(wǎng)絡(luò)存儲(chǔ)和本地存儲(chǔ)模式,打破集中存儲(chǔ)的單個(gè)服務(wù)器性能瓶頸,產(chǎn)生一種將網(wǎng)絡(luò)存儲(chǔ)和分布式存儲(chǔ)結(jié)合的新型存儲(chǔ)模式,大大改善存儲(chǔ)性能。
文檔編號(hào)G06F17/30GK102546780SQ201110448040
公開日2012年7月4日 申請(qǐng)日期2011年12月28日 優(yōu)先權(quán)日2011年12月28日
發(fā)明者黨飛, 馮新建, 張海霞, 王君君, 薛良飛, 顏廷芝 申請(qǐng)人:山東大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1