駱金維
摘要:隨著信息化技術高速發(fā)展,云計算大數(shù)據(jù)為信息資源共享提供 了便利條件,現(xiàn)在教學資源共享方式仍處在較為單一的方式,大都是基于普通網(wǎng)站網(wǎng)頁的方式,這種教學資源共享的方式存在用戶查詢速度慢、更新教學資源繁鎖、用戶在上傳和下載教學資源速度慢、資源重復建設、存儲容量有限等諸多問題。在當今大數(shù)據(jù)的環(huán)境已不能完全滿足用戶的需要。云計算是一種提供可用的、按需的網(wǎng)絡訪問的模式,基于云平臺教學資源共享方式是未來的必然趨勢,在云計算平臺上可更為快速檢索相關教學資源,上傳、下載教學資源。
關鍵詞:教學資源; 云計算
廣東創(chuàng)新科技職業(yè)學院校級項目[編號:2014cxjky0209]
云計算是一種新的計算服務模式,這種服務模式是通過網(wǎng)絡向用戶提供計算服務、存儲服務、應用軟件服務的平臺?;谠破脚_教學資源共享方案是將分布在不同計算機上的資源通過分布式存儲的體系系統(tǒng),采取分布式計算方式為用戶提供服務。這種服務方式是可通過虛擬化技術術虛擬成計算機基礎硬件,然后通過服務器集群搭建私有云平臺,用Hadoop系統(tǒng)來存儲、管理、分析課程資源共享數(shù)據(jù)。采用分布式存儲方式來存儲課程資源共享的數(shù)據(jù),使用MapReduce來整合分布式文件系統(tǒng)的數(shù)據(jù),從而提高讀/寫數(shù)據(jù)的速度,并擴大數(shù)據(jù)的存儲容量,采取分布式計算方式為用戶提供服務。Hadoop系統(tǒng)采用分布式存儲方式來存儲教學資源數(shù)據(jù),并使用MapReduce來整合統(tǒng)計分布式文件系統(tǒng)的數(shù)據(jù),通過Web Service來訪問平臺中的教學資源。
一、云平臺相關技術
基于云平臺教學資源共享方案是通過虛擬化技術充分分揮計算機的性能,主要利用Vmwarer虛擬化技術搭建基礎設施平臺,用Hadoop系統(tǒng)來存儲、管理、分析教學資源共享數(shù)據(jù)。利用HDFS分布式文件系統(tǒng)、MapReduce分布式計算、Web Service等技術將存儲在云計算平臺上的教學資源進行共享服務。
1、云計算技術是一種將傳統(tǒng)的任務處理由桌面為核心轉換到由網(wǎng)絡為核心的任務處理的網(wǎng)絡計算服務模式,它實現(xiàn)以按需、易擴展的方式獲得所需的資源網(wǎng)絡。私有云平臺的基礎設施搭建,充分利用虛擬化技術在一臺服務器上安裝Vmware的企業(yè)級版本ESXi,然后將一臺服務器計算機虛擬成多臺普通計算機,其中Vmware服務器是其他所有虛擬化軟件的基礎,同時也是一個管理程序,并且是安裝在服務器硬件上的操作系統(tǒng),可以使其上的所有軟件與硬件進行交互。通過安裝VMware Client客戶端的計算機連接到VMware 的ESXi服務器,然后對VMware ESXi服務器進行管理。根據(jù)服務器硬件資源情況在VMware ESXi服務器上可安裝多臺虛擬的計算機,并分別安裝Linux操作系統(tǒng)。這些操作系統(tǒng)的資源管理可以通過VmwarevCenter服務器進行管理配置資源。VMware vCenter是提供一個本地化的中央管理系統(tǒng)來管理VMware網(wǎng)絡上的所有虛擬機,并用一個專用的服務器以及一個數(shù)據(jù)庫為VMware vCenter提供基礎設施。
2、Hadoop集群設置,Hadoop集群可使用主/從(Master/Slave)架構,需要在集群中運行NameNode、DataNode、Secondary NameNode、JobTracke、TaskTracker等系列后臺程序,NameNode、Secondary NameNode、JobTracke運在Master節(jié)點,DataNode、TaskTracker運行在Slave節(jié)點上。在對Hadoop集群安裝部署時需要配置環(huán)境變量及配置文件,包括Java的安裝及配置,Hadoop-env.sh、core-site.xml、hdfs-site.xml、marpred-site.xml、master、slave等各種配置文件,具體的配置參數(shù)可根據(jù)實際集群的需要進行。
3、MapReduce分布式計算模式是將大規(guī)模的數(shù)據(jù)處理抽象成Map和Reduce兩個階段,用于對大規(guī)模數(shù)據(jù)集的計算。對需要處理的大數(shù)據(jù)根據(jù)實際運行的任務節(jié)點數(shù)進行分塊,被映射到主(鍵,值)對。各個節(jié)點運行Map函數(shù),對數(shù)據(jù)分塊進行運算,生成類似于
4、HDFS分布存儲是一個開源的分布式文件系統(tǒng)框架,HDFS采用NameNode和DataNode主從模式,基中NameNode節(jié)點是master節(jié)點,用于HDFS目錄樹和元數(shù)據(jù)管理,對個提供統(tǒng)一命名空間供客戶端訪問;DataNode節(jié)點是slave節(jié)點,承擔數(shù)據(jù)存取,定期向NameDode節(jié)點發(fā)送心跳數(shù)據(jù)包、數(shù)據(jù)塊列表,并處理NameNode節(jié)點下發(fā)的任務。HDFS 文件系統(tǒng)部署在多臺DataNode節(jié)點上后,上傳任意的文件到HDFS 中,不用關心文件存儲在哪個DataNode節(jié)點上。HDFS將每個文件存儲成一系列數(shù)據(jù)塊(Block),HDFS的文件都是一次性寫入,多次讀取,用戶使用HDFS文件系統(tǒng)來存儲數(shù)據(jù)文件,當DataNode開始會遍歷本地文件系統(tǒng),HDFS數(shù)據(jù)塊,并生成本地文件關系的一個對應的列表,把這包含了DataNode上所有塊的列表報告發(fā)給NameNode,。HDFS分布存儲系統(tǒng)提供了命令行模式和API接口模式操作,Web Server 通過HDFS 的API接口模式來存取數(shù)據(jù)。
二、基礎設施軟件方案設計
Hadoop生態(tài)系統(tǒng),所有項目之間都是相互獨立的,分布式文件系統(tǒng)(HDFS,Hadoop分布式文件系統(tǒng))和MapReduce作為Hadoop的核心,為用戶提供系統(tǒng)透明的分布式基礎架構的底層細節(jié)。利用Hadoop組織計算機資源來建立自己的分布式計算平臺,充分利用集群的計算和存儲能力,完成海量數(shù)據(jù)的處理。分布式文件系統(tǒng)、I / O組件和接口是提供支持Hadoop的子項目等常用工具,文件系統(tǒng),RPC和序列化庫是建立在廉價硬件的云計算環(huán)境提供基本服務,以對傳輸平臺軟件開發(fā)運行提供了必要的API。 Avro的是一個支持高效,系列化系統(tǒng)跨語言的RPC和數(shù)據(jù)的永久存儲。 MapReduce是并行計算的大規(guī)模數(shù)據(jù)集的編程模型。支持分布式并行編程,在自己的程序運行分布式系統(tǒng)。 MapReduce執(zhí)行映射(映射)功能,輸入鍵被映射到一組新的密鑰對,經(jīng)過一定的處理,減少相同的密鑰進行處理,然后輸出關鍵值的所有值結果。 Chukwa是對于大型分布式系統(tǒng)中的數(shù)據(jù)監(jiān)測和分析的開放源碼的數(shù)據(jù)收集系統(tǒng),是Hadoop的HDFS和MapReduce框架結構之上,它也繼承了Hadoop的可擴展性和健壯性。 HDFS是一個分布式文件系統(tǒng),具有高容錯性(容錯)功能,可以設計部署在低(成本低)的硬件,可以提供高吞吐量,對于那些大型的數(shù)據(jù)訪問應用程序的數(shù)據(jù)集的應用程序。 HDFS放寬了便攜式操作系統(tǒng)接口(POSIX,便攜式操作系統(tǒng)接口)的要求,這可以在數(shù)據(jù)流的訪問數(shù)據(jù)在文件系統(tǒng)的形式來實現(xiàn)。配置單元是一個分布式,根據(jù)存儲的數(shù)據(jù)倉庫中的順序,存儲在HDFS管理數(shù)據(jù),并提供一個基于SQL的查詢語言查詢數(shù)據(jù)。配置單元提供了一種機制,結構化的數(shù)據(jù),它類似于傳統(tǒng)的RDBMS支持SQL語言來幫助這些用戶熟悉SQL在Hadoop中。 HBase的是一種分布式,開放源碼的面向序列的數(shù)據(jù)庫,從Bigtable分布式存儲系統(tǒng),用于結構化數(shù)據(jù)在Hadoop的HBase的頂部提供了類似Bigtable的能力。
三、中間層業(yè)務方案設計
HDFS數(shù)據(jù)的讀取流程:(1)HDFS客戶端向遠端名字節(jié)點發(fā)起RPC請求,請求讀取某一文件。(2)名字節(jié)點返回該文件部分或全部的數(shù)據(jù)塊分布列表,列表里面包括數(shù)據(jù)塊的數(shù)據(jù)節(jié)點地址。(3)客戶端會選取離自己最近的數(shù)據(jù)節(jié)點,建立連接并讀取數(shù)據(jù)塊。(4)當讀取完一個數(shù)據(jù)塊后,先進行校驗碼驗證,若出現(xiàn)錯誤或當前數(shù)據(jù)節(jié)點出現(xiàn)錯誤,則客戶端會請求名字節(jié)點,尋找下一個有該數(shù)據(jù)塊的數(shù)據(jù)節(jié)點,并重新讀取。(5)數(shù)據(jù)塊讀取成功后,會關閉當前連接,并順次選擇一個數(shù)據(jù)塊的最佳數(shù)據(jù)節(jié)點進行讀取。(6)當列表中的數(shù)據(jù)塊讀取完畢并且文件還未讀取結束時,客戶端會向名字節(jié)點繼續(xù)請求下一批數(shù)據(jù)塊列表。(7)當所有數(shù)據(jù)塊讀取結束,客戶端通知HDFS關閉連接。
(1)客戶端向遠端名字節(jié)點發(fā)起RPC請求。(2)名字節(jié)點檢查客戶端是否有權限創(chuàng)建文件,要創(chuàng)建的文件是否存存,若件滿足,則執(zhí)行創(chuàng)建操作,并建立一條事件日志記錄:若不成功,則告知客戶端原因。(3)客戶端將寫入的文件切分成一個個的數(shù)據(jù)塊,在內部以數(shù)據(jù)包隊列的形式管理這些數(shù)據(jù)塊,并向名字節(jié)點申請數(shù)據(jù)塊;名字節(jié)點根據(jù)復制系數(shù),確定數(shù)據(jù)塊存放的數(shù)據(jù)節(jié)點列表,并傳送給客戶端。(4)客戶端以流式管道的形式將數(shù)據(jù)塊寫入相應的數(shù)據(jù)節(jié)點,數(shù)據(jù)塊向第一個數(shù)據(jù)節(jié)點寫入,當?shù)谝粋€節(jié)點存儲成功后,會將數(shù)據(jù)塊傳遞給第二個數(shù)據(jù)節(jié)點;第二個數(shù)據(jù)節(jié)點寫入成功后,再將數(shù)據(jù)塊傳送給第三個數(shù)據(jù)節(jié)點,這樣整個寫入過程以一種流水線的方式寫入。(5)當數(shù)據(jù)塊向最后一個數(shù)據(jù)節(jié)點寫入成功后,會向客戶端發(fā)送一個ACK確認包,在收到ACK后,客戶端將該數(shù)據(jù)包從隊列中移除。(6)若傳輸過程中,某個數(shù)據(jù)節(jié)點出現(xiàn)故障,則故障節(jié)點會從當前流式管道中刪除,同時名字節(jié)點會重新分配一個新的數(shù)據(jù)節(jié)點,寫入過程不變。(7)寫入結束后,客戶端會發(fā)出關閉請求,當收到最后一個確認數(shù)據(jù)包ACK后,執(zhí)行最終的關閉。
四、總結:
基于云平臺教學資源共享方案設計,是根據(jù)現(xiàn)在工作單位及從事的教育工作實際情況對需要,對教學資源共享建設提出設計方案。先進行需求分析,了解用戶在大數(shù)據(jù)共享資源需求,然后進行設計,架構云計算平臺,主要是利用開源Hadoop平臺的分布式存儲及MapReduce計算,結合Web技術來調用HDFS的API接口?;谠破脚_教學資源共享方案是在搭建私有去平臺的基礎上實施,搭建私有云平臺主要涉及到VMware虛擬化技術、Hadoop服務器集群部署、云計算架構、云計算存儲結構、分布式文件系統(tǒng)存儲、并行計算機、WebServvie編程技術為教學資源共享提供方案。基于云平臺教學資源共享方案充分利用云計算平臺的特點,將教學資源分布存儲在不同的計算機上,方便用戶使用教學資源,實現(xiàn)快速上傳、下載教學資源。
參考文獻
[1].章俊. 基于云計算平臺的軟件架構應用研究[D]. 吉林:《東北師范大學碩士論文》,2012-05-01
[2].張炎華. 私有云系統(tǒng)的實現(xiàn)及性能分析[D]. 北京:《北京郵電大學碩士論文》, 2012-03-08
[3].肖斐. 虛擬化云計算中資源管理的研究與實現(xiàn)[D].西安: 《西安電子科技大學碩士論文》,2010-03-01
[4].曹軍委. 基于云計算的教學資源共享體系的研究與實現(xiàn)[D]. 安徽: 《安徽理工大學碩士論文》, 2012-06-01
[5].ZT 云計算產(chǎn)業(yè)鏈初成中國落后兩年 - 云計算和SaaS產(chǎn)品與實踐 - ITPUB論壇 - 澳信傳媒旗下專業(yè)技術社區(qū) . 《網(wǎng)絡(http://www.itpub.net/viewthread.php?tid=1242905&highlight=)》-
[6].沐連順.電力系統(tǒng)云計算中心的研究與實踐.《電網(wǎng)技術》- 2011-06-05endprint