專利名稱:一種基于云存儲(chǔ)的blog系統(tǒng)運(yùn)行方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于云存儲(chǔ)的BLOG系統(tǒng)運(yùn)行方法,屬于云計(jì)算技術(shù)領(lǐng)域
背景技術(shù):
隨著時(shí)代的發(fā)展,博客這種網(wǎng)絡(luò)應(yīng)用技術(shù)已經(jīng)進(jìn)入了千家萬(wàn)戶。隨著博客系統(tǒng)的日益復(fù)雜化,以及使用用戶的逐漸增加,傳統(tǒng)的集中式存儲(chǔ)方法已經(jīng)難以滿足其發(fā)展的需求,文件存儲(chǔ)的架構(gòu)性改變也就成為了一種時(shí)代的趨勢(shì)。如何能夠?qū)Σ┛陀脩舻娜罩?、人檔案等資料進(jìn)行及時(shí)、有效、安全的存儲(chǔ)和管理,如何能夠在保證服務(wù)器穩(wěn)定性的同時(shí)能夠在有限度額硬件資源上實(shí)現(xiàn)存儲(chǔ)的最大化就成為了目前各大企業(yè)需要解決的關(guān)鍵性問題。而布式文件存儲(chǔ)以及服務(wù)器的虛擬化技術(shù)的出現(xiàn)則恰恰能夠解決上述的種種問題。傳統(tǒng)的博客系統(tǒng)的存儲(chǔ)一般都是集中共享式存儲(chǔ),S卩,所有資源以一種直接寫入的方式存儲(chǔ)到同一臺(tái)服務(wù)器上,造成了硬件資源的浪費(fèi),并且不能保證博客系統(tǒng)數(shù)據(jù)資源的安全性和可靠性。這種存儲(chǔ)方式同樣對(duì)博客系統(tǒng)的運(yùn)算速度、數(shù)據(jù)的傳輸速度以及服務(wù)器內(nèi)數(shù)據(jù)的備份能力都有著極為不利的影響,并且加大了企業(yè)的運(yùn)營(yíng)和管理的成本。本發(fā)明可以通過云存儲(chǔ)技術(shù)的使用實(shí)現(xiàn)對(duì)博客系統(tǒng)數(shù)據(jù)資源低成本高效率高安全性的存儲(chǔ),與傳統(tǒng)的博客系統(tǒng)存儲(chǔ)體系有著結(jié)構(gòu)性的差異。云存儲(chǔ)技術(shù)能夠把博客系統(tǒng)的存儲(chǔ)空間部署到大量不同型號(hào)不同規(guī)模的硬件存儲(chǔ)設(shè)備上,并進(jìn)行統(tǒng)一的管理和配置。通過云存儲(chǔ)架構(gòu)中的大型服務(wù)器集群、分布式文件系統(tǒng)等聯(lián)合起來(lái)的協(xié)同工作,向用戶提供存儲(chǔ)服務(wù)和訪問服務(wù)的接口或軟件。云存儲(chǔ)技術(shù)的使用極大的提高了博客系統(tǒng)的存儲(chǔ)效率、存儲(chǔ)空間的可擴(kuò)展性、以及存儲(chǔ)數(shù)據(jù)資源的安全性。如專利號(hào)為200620167567. 9,名稱為《基于虛擬專用網(wǎng)和分布式存儲(chǔ)方式的分布式電子郵件系統(tǒng)》,雖然采用了分布式文件存儲(chǔ)的算法,但是卻沒有實(shí)現(xiàn)服務(wù)器的虛擬化,所以依然無(wú)法解決服務(wù)器集群的負(fù)載均衡、數(shù)據(jù)資源的自動(dòng)備份等功能。博客系統(tǒng)的數(shù)據(jù)存儲(chǔ)量一般都是極為龐大的,傳統(tǒng)的存儲(chǔ)方式已經(jīng)很難再滿足如此龐大的數(shù)據(jù)的存儲(chǔ),然而云存儲(chǔ)技術(shù)卻可以對(duì)這種大批量的數(shù)據(jù)進(jìn)行分布式運(yùn)算,實(shí)現(xiàn)了數(shù)據(jù)的高效存儲(chǔ)并且保證了數(shù)據(jù)資源在服務(wù)器存儲(chǔ)空間內(nèi)的安全性。
發(fā)明內(nèi)容
針對(duì)傳統(tǒng)的博客系統(tǒng)存儲(chǔ)技術(shù)的不足,本發(fā)明提出了一種基于云存儲(chǔ)的BLOG(博客)系統(tǒng)運(yùn)行方法。本發(fā)明的技術(shù)方案如下一種基于云存儲(chǔ)的BLOG (博客)系統(tǒng)運(yùn)行方法,主要由以下系統(tǒng)來(lái)實(shí)現(xiàn),該系統(tǒng)包括博客系統(tǒng)和云存儲(chǔ)系統(tǒng),云存儲(chǔ)系統(tǒng)主要由分布式文件系統(tǒng)以及虛擬化服務(wù)器集群組成,其中分布式文件系統(tǒng)采用HADOOP,虛擬化服務(wù)器集群采用了 VMWare Workstation企業(yè)型虛擬化軟件,HADOOP系統(tǒng)主要包括底層HDFS架構(gòu)、上層MapReduce算法以及Client客戶端HADOOP系統(tǒng)接收來(lái)自Client客戶端的請(qǐng)求,通過HDFS (HAD00P的分布式文件系統(tǒng)模塊)的NameNode節(jié)點(diǎn)(分布式文件系統(tǒng)的控制模塊)響應(yīng)請(qǐng)求,并把具體操作任務(wù)分配到其下屬的DateNode節(jié)點(diǎn)(分布式文件系統(tǒng)的存儲(chǔ)模塊)上,經(jīng)過DataNode節(jié)點(diǎn)上MapReduce函數(shù)的運(yùn)算,得到最終結(jié)果,并把結(jié)果返回到Client上,該運(yùn)行方法步驟如下a.在服務(wù)器端安裝VMWare Workstation,完成多個(gè)虛擬機(jī)的創(chuàng)建以及Linux操作系統(tǒng)的安裝,并實(shí)現(xiàn)虛擬機(jī)集群的搭建;b.將HADOOP部署到該服務(wù)器集群上,選擇一個(gè)虛擬機(jī)作為Client,一個(gè)作為NameNode節(jié)點(diǎn),其余的作為DataNode節(jié)點(diǎn),并在每一個(gè)節(jié)點(diǎn)上配置好MapReduce函數(shù);C.在 HADOOP 的 Client 上部署 LAMP (Linux+Apache+MySQL+PHP)架構(gòu),并將博客系統(tǒng)的源文件及數(shù)據(jù)庫(kù)文件分別放到LAMP的Apache和MySQL中,分別轉(zhuǎn)入步驟d、步驟e和步驟f ;d.用戶登陸博客系統(tǒng),上傳文件,HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行寫入文件的操作,將文件通過NameNode節(jié)點(diǎn)分配部署到下屬的DataNode節(jié)點(diǎn)上,通過MapReduce函數(shù)實(shí)現(xiàn)文件的分布式存儲(chǔ),轉(zhuǎn)入步驟g ;e.用戶下載文章圖片,HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行讀取操作,通過NameNode節(jié)點(diǎn)的管理,從DataNode節(jié)點(diǎn)上讀取數(shù)據(jù)資源,并通過MapReduce函數(shù)實(shí)現(xiàn)數(shù)據(jù)的整合,并將整合好的數(shù)據(jù)輸出到Client端,傳送給用戶,轉(zhuǎn)入步驟g ;f.用戶查看博客資料,HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行查看操作,通過NameNode節(jié)點(diǎn)的控制,從DataNode節(jié)點(diǎn)上得到文件存儲(chǔ)的具體位置,通過MapReduce函數(shù)進(jìn)行整合,并將最終數(shù)據(jù)返回給Client端,實(shí)現(xiàn)用戶的查看功能,轉(zhuǎn)入步驟g ;g.完成HADOOP系統(tǒng)的讀寫功能,服務(wù)器資源進(jìn)行重新整合,Client檢測(cè)到HADOOP的變化,并進(jìn)行用戶界面的更新。上述運(yùn)行方法的步驟d中HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行寫入文件的操作,步驟如下〈1>用戶向博客系統(tǒng)添加文件,Client接收來(lái)自用戶的寫入請(qǐng)求;<2>Client向HADOOP發(fā)送寫入請(qǐng)求,HADOOP中的NameNode節(jié)點(diǎn)接收請(qǐng)求,并通過調(diào)用函數(shù)創(chuàng)建一個(gè)狀態(tài)為under construction (正在創(chuàng)建中)的新文件用于接收寫入文件,并發(fā)送響應(yīng);<3>Client接收來(lái)自Namenode節(jié)點(diǎn)的響應(yīng),將文件分成一個(gè)個(gè)的數(shù)據(jù)塊寫入DataNode節(jié)點(diǎn)中,并在寫入過程中實(shí)現(xiàn)數(shù)據(jù)的備份;<4>數(shù)據(jù)寫入完成,發(fā)送成功信號(hào)給客戶端;〈5>客戶端接收成功信號(hào),并將成功寫入數(shù)據(jù)的信號(hào)發(fā)送給用戶,整個(gè)數(shù)據(jù)寫入操作完成。上述運(yùn)行方法的步驟e中HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行讀取操作,步驟如下DClient接收用戶的讀取請(qǐng)求,并通過調(diào)用函數(shù)將請(qǐng)求發(fā)往HADOOP ;2>HAD00P的NameNode節(jié)點(diǎn)(分布式文件系統(tǒng)的控制模塊)接收來(lái)自Client的請(qǐng)求,從它的IocatedBlocks中查找資源位置,并創(chuàng)建讀入流,向DataNode節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令;3>DataNode節(jié)點(diǎn)接收來(lái)自NameNode節(jié)點(diǎn)的讀取命令,通過函數(shù)調(diào)用建立客戶端、鏈接監(jiān)控,將DataNode節(jié)點(diǎn)上的本地?cái)?shù)據(jù)進(jìn)行整合后發(fā)送給客戶端;4>HAD00P數(shù)據(jù)讀取完成,向Client發(fā)送讀取完成信號(hào);5>Client接收來(lái)自HADOOP的讀取完成信號(hào),完成用戶的讀取數(shù)據(jù)請(qǐng)求。上述運(yùn)行方法的步驟f中HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行查看操作,步驟如下<a>用戶向Client發(fā)送打開文件的請(qǐng)求,Client接收請(qǐng)求,并通過調(diào)用DistributedFileSystem. open (Path f, int bufferSize)函數(shù)(用于打開文件路徑的函數(shù))向HADOOP發(fā)送請(qǐng)求;<b>HAD00P的NameNode節(jié)點(diǎn)接收來(lái)自Client的請(qǐng)求,通過RPC調(diào)用,得到數(shù)據(jù)存儲(chǔ)位置鏈表,形成DFSInputStream(包含數(shù)據(jù)資源在DataNode中位置的輸入流)對(duì)象,將響應(yīng)發(fā)送給Client ; <c>Client接收響應(yīng),完成FSDataInputStream(直接查看HDFS系統(tǒng)數(shù)據(jù)時(shí)使用的類,使用該類以流的形式從HDFS中讀取數(shù)據(jù))的包裝,返回給用戶;<d>用戶接收到FSDataInputStream,文件的打開操作完成。上述HADOOP是一個(gè)分布式文件系統(tǒng)基礎(chǔ)架構(gòu)。上述Client英文原意是顧客、客戶、委托人等,此處意為客戶端。上述WordPress是一種使用PHP語(yǔ)言開發(fā)的博客平臺(tái),用戶可以在支持PHP和MySQL數(shù)據(jù)庫(kù)的服務(wù)器上架設(shè)自己的網(wǎng)志。也可以把WordPress當(dāng)作一個(gè)內(nèi)容管理系統(tǒng)(CMS)來(lái)使用。WordPress是一個(gè)免費(fèi)的開源項(xiàng)目,在GNU通用公共許可證下授權(quán)發(fā)布。上述HDFS是分布式文件系統(tǒng)HADOOP的系統(tǒng)模塊。上述DFSInputStream對(duì)象是包含數(shù)據(jù)資源在DataNode中位置的輸入流。上述under construction意思是正在創(chuàng)建中。上述NameNode是分布式文件系統(tǒng)的控制模塊。上述DataNode是分布式文件系統(tǒng)的存儲(chǔ)模塊。在本發(fā)明的云存儲(chǔ)系統(tǒng)上所使用的博客系統(tǒng)是wordpress, wordpress是目前開源博客系統(tǒng)中用用最為廣泛的產(chǎn)品之一。該博客系統(tǒng)是基于PHP+MyAQL搭建的,擁有十分強(qiáng)大的功能性應(yīng)用、支持各種插件,且源代碼非常簡(jiǎn)單利于管理員的管理和維護(hù)工作。分布式文件系統(tǒng)可以把數(shù)據(jù)資源存儲(chǔ)到多臺(tái)不同類型的存儲(chǔ)設(shè)備上并進(jìn)行統(tǒng)一的管理,其可擴(kuò)展性極好,并且通過多臺(tái)服務(wù)存儲(chǔ)設(shè)備之間的分布式運(yùn)算能夠有效的減輕服務(wù)器的負(fù)荷、提高服務(wù)器的存儲(chǔ)效率以及系統(tǒng)的運(yùn)行速度。HAD00P較其他分布式文件系統(tǒng),擁有更好的容錯(cuò)能力,其對(duì)于存儲(chǔ)硬件資源的要求更低,可以部署在任何低廉的硬件上。虛擬化技術(shù)可以把一個(gè)服務(wù)器虛擬出許多虛擬機(jī),并將這些虛擬機(jī)連接在一起,組成大型的服務(wù)器集群,通過對(duì)服務(wù)器集群的各種配置和部署,使其成為分布式文件系統(tǒng)的底層支撐架構(gòu),在基于虛擬化的服務(wù)器集群上搭建的分布式文件存儲(chǔ),可以很容易的實(shí)現(xiàn)集群的負(fù)載均衡、數(shù)據(jù)的動(dòng)態(tài)遷移、數(shù)據(jù)的自動(dòng)備份等工作,使文件存儲(chǔ)變的更加方便快捷并保證了存儲(chǔ)的安全性。VMWare Workstation是目前最為普遍的服務(wù)器虛擬化軟件,其 使用的方便性,易于學(xué)習(xí)性,安裝部署的快捷性是本發(fā)明選擇它的原因。本發(fā)明解決了博客系統(tǒng)存儲(chǔ)中遇到的服務(wù)器資源浪費(fèi)、存儲(chǔ)效率低、系統(tǒng)運(yùn)行速度慢等技術(shù)性問題,并且解決的了服務(wù)器存儲(chǔ)空間的可伸縮性、服務(wù)器內(nèi)存儲(chǔ)資源的安全性與穩(wěn)定性的問題。
圖I是本發(fā)明系統(tǒng)的結(jié)構(gòu)示意圖。其中I、博客系統(tǒng),2、網(wǎng)絡(luò)接口,3、HADOOP系統(tǒng),4、虛擬化服務(wù)器集群。圖2是本發(fā)明系統(tǒng)中HADOOP系統(tǒng)的HDFS (分布式文件系統(tǒng))結(jié)構(gòu)示意圖。其中5、Client (客戶端),6、NameNode (分布式文件系統(tǒng)的控制模塊),7、DataNode (分布式文件系統(tǒng)的存儲(chǔ)模塊)。圖3是本發(fā)明系統(tǒng)運(yùn)行方法的流程框圖,其中a g為其中各個(gè)步驟。圖4是本發(fā)明系統(tǒng)運(yùn)行方法步驟d中的HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行寫入文件的操作的流程框圖,其中〈1> 〈5>為其中各個(gè)步驟。圖5是本發(fā)明系統(tǒng)運(yùn)行方法步驟e中的HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行讀取文件的操作的流程框圖,其中1> 5>為其中各個(gè)步驟。圖6是本發(fā)明系統(tǒng)運(yùn)行方法步驟f中的HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行查看文件的操作的流程框圖,其中<a> <d>為其中各個(gè)步驟。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明,但不限于此。實(shí)施例本發(fā)明實(shí)施例如圖1-3所示,一種基于云存儲(chǔ)的BLOG (博客)系統(tǒng)運(yùn)行方法,主要由以下系統(tǒng)來(lái)實(shí)現(xiàn),該系統(tǒng)包括博客系統(tǒng)I和云存儲(chǔ)系統(tǒng),云存儲(chǔ)系統(tǒng)主要由分布式文件系統(tǒng)以及虛擬化服務(wù)器集群4組成,其中分布式文件系統(tǒng)采用HAD00P,虛擬化服務(wù)器集群4采用了 VMWare Workstation企業(yè)型虛擬化軟件,HADOOP系統(tǒng)3主要包括底層HDFS架構(gòu)、上層MapReduce算法以及Client客戶端5,HADOOP系統(tǒng)3接收來(lái)自Client客戶端5的請(qǐng)求,通過HDFS(HAD00P的分布式文件系統(tǒng)模塊)的NameN0de6節(jié)點(diǎn)(分布式文件系統(tǒng)的控制模塊)響應(yīng)請(qǐng)求,并把具體操作任務(wù)分配到其下屬的DateN0de7節(jié)點(diǎn)(分布式文件系統(tǒng)的存儲(chǔ)模塊)上,經(jīng)過DataNode7節(jié)點(diǎn)上MapReduce函數(shù)的運(yùn)算,得到最終結(jié)果,并把結(jié)果返回到Client5上,該運(yùn)行方法步驟如下a.在服務(wù)器端安裝VMWare Workstation,完成多個(gè)虛擬機(jī)的創(chuàng)建以及Linux操作系統(tǒng)的安裝,并實(shí)現(xiàn)虛擬機(jī)集群的搭建;b.將HADOOP部署到該服務(wù)器集群上,選擇一個(gè)虛擬機(jī)作為Client,一個(gè)作為NameNode節(jié)點(diǎn),其余的作為DataNode節(jié)點(diǎn),并在每一個(gè)節(jié)點(diǎn)上配置好MapReduce函數(shù);c.在 HADOOP 的 Client 上部署 LAMP (Linux+Apache+MySQL+PHP)架構(gòu),并將博客系統(tǒng)的源文件及數(shù)據(jù)庫(kù)文件分別放到LAMP的Apache和MySQL中,分別轉(zhuǎn)入步驟d、步驟e和步驟f ;d.用戶登陸博客系統(tǒng),上傳文件,HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行寫入文件的操作,將文件通過NameNode節(jié)點(diǎn)分配部署到下屬的DataNode節(jié)點(diǎn)上,通過MapReduce函數(shù)實(shí)現(xiàn)文件的分布式存儲(chǔ),轉(zhuǎn)入步驟g ;
e.用戶下載文章圖片,HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行讀取操作,通過NameNode節(jié)點(diǎn)的管理,從DataNode節(jié)點(diǎn)上讀取數(shù)據(jù)資源,并通過MapReduce函數(shù)實(shí)現(xiàn)數(shù)據(jù)的整合,并將整合好的數(shù)據(jù)輸出到Client端,傳送給用戶,轉(zhuǎn)入步驟g ;f.用戶查看博客資料,HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行查看操作,通過NameNode節(jié)點(diǎn)的控制,從DataNode節(jié)點(diǎn)上得到文件存儲(chǔ)的具體位置,通過MapReduce函數(shù)進(jìn)行整合,并將最終數(shù)據(jù)返回給Client端,實(shí)現(xiàn)用戶的查看功能,轉(zhuǎn)入步驟g ;g.完成HADOOP系統(tǒng)的讀寫功能,服務(wù)器資源進(jìn)行重新整合,Client檢測(cè)到HADOOP的變化,并進(jìn)行用戶界面的更新。上述運(yùn)行方法的步驟d中HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行寫 入文件的操作,如圖4所示,步驟如下〈1>用戶向博客系統(tǒng)添加文件,Client接收來(lái)自用戶的寫入請(qǐng)求;<2>C1 ient向HADOOP發(fā)送寫入請(qǐng)求,HADOOP中的NameNode節(jié)點(diǎn)接收請(qǐng)求,并通過調(diào)用函數(shù)創(chuàng)建一個(gè)狀態(tài)為under construction (正在創(chuàng)建中)的新文件用于接收寫入文件,并發(fā)送響應(yīng);<3>Client接收來(lái)自Namenode節(jié)點(diǎn)的響應(yīng),將文件分成一個(gè)個(gè)的數(shù)據(jù)塊寫入DataNode節(jié)點(diǎn)中,并在寫入過程中實(shí)現(xiàn)數(shù)據(jù)的備份;<4>數(shù)據(jù)寫入完成,發(fā)送成功信號(hào)給客戶端;〈5>客戶端接收成功信號(hào),并將成功寫入數(shù)據(jù)的信號(hào)發(fā)送給用戶,整個(gè)數(shù)據(jù)寫入操作完成。上述運(yùn)行方法的步驟e中HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行讀取操作,如圖5所示,步驟如下DClient接收用戶的讀取請(qǐng)求,并通過調(diào)用函數(shù)將請(qǐng)求發(fā)往HADOOP ; 2>HAD00P的NameNode節(jié)點(diǎn)(分布式文件系統(tǒng)的控制模塊)接收來(lái)自Client的請(qǐng)求,從它的IocatedBlocks中查找資源位置,并創(chuàng)建讀入流,向DataNode節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令;3>DataNode節(jié)點(diǎn)接收來(lái)自NameNode節(jié)點(diǎn)的讀取命令,通過函數(shù)調(diào)用建立客戶端鏈接監(jiān)控,將DataNode節(jié)點(diǎn)上的本地?cái)?shù)據(jù)進(jìn)行整合后發(fā)送給客戶端;4>HAD00P數(shù)據(jù)讀取完成,向Client發(fā)送讀取完成信號(hào);5>Client接收來(lái)自HADOOP的讀取完成信號(hào),完成用戶的讀取數(shù)據(jù)請(qǐng)求。上述運(yùn)行方法的步驟f中HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行查看操作,如圖6所示,步驟如下<a>用戶向Client發(fā)送打開文件的請(qǐng)求,Client接收請(qǐng)求,并通過調(diào)用DistributedFileSystem. open (Path f, int bufferSize)函數(shù)(用于打開文件路徑的函數(shù))向HADOOP發(fā)送請(qǐng)求;<b>HAD00P的NameNode節(jié)點(diǎn)接收來(lái)自Client的請(qǐng)求,通過RPC調(diào)用,得到數(shù)據(jù)存儲(chǔ)位置鏈表,形成DFSInputStream(包含數(shù)據(jù)資源在DataNode中位置的輸入流)對(duì)象,將響應(yīng)發(fā)送給Client ;<c>Client接收響應(yīng),完成FSDataInputStream (直接查看HDFS系統(tǒng)數(shù)據(jù)時(shí)使用的類,使用該類以流的形式從HDFS中讀取數(shù)據(jù))的包裝,返回給用戶;<d>用戶接收到FSDataInputStream,文件的打開操作完成。
權(quán)利要求
1.一種基于云存儲(chǔ)的BLOG系統(tǒng)運(yùn)行方法,主要由以下系統(tǒng)來(lái)實(shí)現(xiàn),該系統(tǒng)包括博客系統(tǒng)和云存儲(chǔ)系統(tǒng),云存儲(chǔ)系統(tǒng)主要由分布式文件系統(tǒng)以及虛擬化服務(wù)器集群組成,其中分布式文件系統(tǒng)采用HAD00P,虛擬化服務(wù)器集群采用了 VMWare Workstation企業(yè)型虛擬化軟件,HADOOP系統(tǒng)主要包括底層HDFS架構(gòu)、上層MapReduce算法以及Client客戶端,HADOOP系統(tǒng)接收來(lái)自Client客戶端的請(qǐng)求,通過HDFS的NameNode節(jié)點(diǎn)響應(yīng)請(qǐng)求,并把具體操作任務(wù)分配到其下屬的DateNode節(jié)點(diǎn)上,經(jīng)過DataNode節(jié)點(diǎn)上MapReduce函數(shù)的運(yùn)算,得到最終結(jié)果,并把結(jié)果返回到Client客戶端上,該運(yùn)行方法步驟如下 a.在服務(wù)器端安裝VMWareWorkstation,完成多個(gè)虛擬機(jī)的創(chuàng)建以及Linux操作系統(tǒng)的安裝,并實(shí)現(xiàn)虛擬機(jī)集群的搭建; b.將HADOOP部署到該服務(wù)器集群上,選擇一個(gè)虛擬機(jī)作為Client,一個(gè)作為NameNode節(jié)點(diǎn),其余的作為DataNode節(jié)點(diǎn),并在每一個(gè)節(jié)點(diǎn)上配置好MapReduce函數(shù); c.在HADOOP的Client上部署LAMP架構(gòu),并將博客系統(tǒng)的源文件及數(shù)據(jù)庫(kù)文件分別放到LAMP的Apache和MySQL中,分別轉(zhuǎn)入步驟d、步驟e和步驟f ; d.用戶登陸博客系統(tǒng),上傳文件,HADOOP通過Client接收到用戶的請(qǐng)求,并執(zhí)行寫入文件的操作將文件通過NameNode節(jié)點(diǎn)分配部署到下屬的DataNode節(jié)點(diǎn)上,通過MapReduce函數(shù)實(shí)現(xiàn)文件的分布式存儲(chǔ),轉(zhuǎn)入步驟g ; e.用戶下載文章圖片,HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行讀取操作,通過NameNode節(jié)點(diǎn)的管理,從DataNode節(jié)點(diǎn)上讀取數(shù)據(jù)資源,并通過MapReduce函數(shù)實(shí)現(xiàn)數(shù)據(jù)的整合,并將整合好的數(shù)據(jù)輸出到Client端,傳送給用戶,轉(zhuǎn)入步驟g ; f.用戶查看博客資料,HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行查看操作,通過NameNode節(jié)點(diǎn)的控制,從DataNode節(jié)點(diǎn)上得到文件存儲(chǔ)的具體位置,通過MapReduce函數(shù)進(jìn)行整合,并將最終數(shù)據(jù)返回給Client端,實(shí)現(xiàn)用戶的查看功能,轉(zhuǎn)入步驟g ; g.完成HADOOP系統(tǒng)的讀寫功能,服務(wù)器資源進(jìn)行重新整合,Client檢測(cè)到HADOOP的變化,并進(jìn)行用戶界面的更新。
2.一種如權(quán)利要求I所述運(yùn)行方法的步驟d中HADOOP通過Client接收到用戶的請(qǐng)求, 并執(zhí)行寫入文件的操作,步驟如下 <1>用戶向博客系統(tǒng)添加文件,Client接收來(lái)自用戶的寫入請(qǐng)求; <2>Client向HADOOP發(fā)送寫入請(qǐng)求,HADOOP中的NameNode節(jié)點(diǎn)接收請(qǐng)求,并通過調(diào)用函數(shù)創(chuàng)建一個(gè)狀態(tài)為under construction的新文件用于接收寫入文件,并發(fā)送響應(yīng); <3>Client接收來(lái)自Namenode節(jié)點(diǎn)的響應(yīng),將文件分成一個(gè)個(gè)的數(shù)據(jù)塊寫入DataNode節(jié)點(diǎn)中,并在寫入過程中實(shí)現(xiàn)數(shù)據(jù)的備份; <4>數(shù)據(jù)寫入完成,發(fā)送成功信號(hào)給客戶端; <5>客戶端接收成功信號(hào)并將成功寫入數(shù)據(jù)的信號(hào)發(fā)送給用戶,整個(gè)數(shù)據(jù)寫入操作完成。
3.一種如權(quán)利要求I所述運(yùn)行方法的步驟e中HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行讀取操作,步驟如下 DClient接收用戶的讀取請(qǐng)求,并通過調(diào)用函數(shù)將請(qǐng)求發(fā)往HADOOP ; 2>HAD00P的NameNode節(jié)點(diǎn)接收來(lái)自Client的請(qǐng)求,從它的IocatedBlocks中查找資源位置,并創(chuàng)建讀入流,向DataNode節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令; 3>DataNode節(jié)點(diǎn)接收來(lái)自NameNode節(jié)點(diǎn)的讀取命令,通過函數(shù)調(diào)用建立客戶端鏈接監(jiān)控,將DataNode節(jié)點(diǎn)上的本地?cái)?shù)據(jù)進(jìn)行整合后發(fā)送給客戶端; 4>HAD00P數(shù)據(jù)讀取完成,向Client發(fā)送讀取完成信號(hào); 5>Client接收來(lái)自HADOOP的讀取完成信號(hào),完成用戶的讀取數(shù)據(jù)請(qǐng)求。
4.一種如權(quán)利要求I所述運(yùn)行方法的步驟f中HADOOP通過Client接收到用戶的請(qǐng)求,執(zhí)行查看操作,步驟如下 <a>用戶向Client發(fā)送查看文件的請(qǐng)求,Client接收請(qǐng)求,并通過調(diào)用DistributedFileSystem. open 函數(shù)向 HADOOP 發(fā)送請(qǐng)求; <b>HAD00P的NameNode節(jié)點(diǎn)接收來(lái)自Client的請(qǐng)求,通過RPC調(diào)用,得到數(shù)據(jù)存儲(chǔ)位置鏈表,形成DFSInputStream對(duì)象,將響應(yīng)發(fā)送給Client ; <c>Client接收響應(yīng),完成FSDataInputStream的包裝,返回給用戶; <d>用戶接收到FSDataInputStream,文件的查看操作完成。
全文摘要
一種基于云存儲(chǔ)的BLOG系統(tǒng)運(yùn)行方法,屬云計(jì)算技術(shù)領(lǐng)域,主要由博客系統(tǒng)和云存儲(chǔ)系統(tǒng)來(lái)實(shí)現(xiàn),云存儲(chǔ)系統(tǒng)由分布式文件系統(tǒng)及虛擬化服務(wù)器集群組成,分布式文件系統(tǒng)采用HADOOP,它包括底層HDFS架構(gòu)、上層MapReduce算法及客戶端,HADOOP接收來(lái)自客戶端的請(qǐng)求,經(jīng)HDFS的NameNode節(jié)點(diǎn)響應(yīng)請(qǐng)求,并把具體操作任務(wù)分配到其下屬的DateNode節(jié)點(diǎn)上,經(jīng)MapReduce函數(shù)運(yùn)算,得到最終結(jié)果并返回到客戶端上。本發(fā)明解決了博客系統(tǒng)存儲(chǔ)中遇到的服務(wù)器資源浪費(fèi)、存儲(chǔ)效率低、系統(tǒng)運(yùn)行速度慢等技術(shù)性問題,并且解決的了服務(wù)器存儲(chǔ)空間的可伸縮性、服務(wù)器內(nèi)存儲(chǔ)資源的安全性與穩(wěn)定性的問題。
文檔編號(hào)G06F17/30GK102638566SQ20121004893
公開日2012年8月15日 申請(qǐng)日期2012年2月28日 優(yōu)先權(quán)日2012年2月28日
發(fā)明者梁景雯, 江銘炎 申請(qǐng)人:山東大學(xué)