胡安明 陳惠娥
摘 要:隨著信息化教學(xué)的推進(jìn),高校在信息化教學(xué)的發(fā)展和進(jìn)步,已積累大量課程資源和課程數(shù)據(jù),如何在這些課程資源數(shù)據(jù)進(jìn)行有效存儲管理,并在此基礎(chǔ)上挖掘出有意義的數(shù)據(jù),對課程資源進(jìn)行關(guān)聯(lián)歸類,形成課程體系智慧學(xué)習(xí),成為目前高校課程大數(shù)據(jù)的主要研究對象。文章以高校計算機(jī)類課程為基礎(chǔ),搭建Hadoop集群環(huán)境,研究基于Hadoop平臺的課程云平臺,為高校課程信息化建設(shè)提供方案。
關(guān)鍵詞:Hadoop;課程云平臺;智慧學(xué)習(xí)
近年來隨著互聯(lián)網(wǎng)技術(shù),云計算技術(shù),大數(shù)據(jù)技術(shù),物聯(lián)網(wǎng)技術(shù)等各方面的迅速發(fā)展,各個行業(yè)已經(jīng)進(jìn)入大數(shù)據(jù)的信息化時代。大數(shù)據(jù)技術(shù)逐漸以應(yīng)用為中心的信息化系統(tǒng)轉(zhuǎn)變?yōu)橐詳?shù)據(jù)為中心,大數(shù)據(jù)提供大規(guī)模數(shù)據(jù)的存儲、管理、處理、挖掘等技術(shù),更進(jìn)一步加快了信息化的發(fā)展。
高校在信息化教學(xué)、信息化課程建設(shè)方面已發(fā)展多年,累積了大量課程資源和課程數(shù)據(jù),如何在這些課程資源數(shù)據(jù)進(jìn)行有效存儲管理,并在此基礎(chǔ)上挖掘出有意義的數(shù)據(jù),對課程資源進(jìn)行關(guān)聯(lián)歸類,形成課程體系智慧學(xué)習(xí)。Hadoop[1]大數(shù)據(jù)技術(shù)的發(fā)展與成熟,正好提供了一個非常好的技術(shù)平臺;因此應(yīng)用Hadoop平臺技術(shù),來構(gòu)建一個課程云平臺系統(tǒng)是非常有意義的。
1 Hadoop
Hadoop平臺是Apache基金會所開發(fā)發(fā)布的分布式系統(tǒng)數(shù)據(jù)存儲平臺,Hadoop平臺提供了高效、可靠、大規(guī)模數(shù)據(jù)分布式處理和存儲能力,在Hadoop平臺下一個控制節(jié)點(diǎn)控制整個集群的運(yùn)行處理,協(xié)調(diào)各個數(shù)據(jù)節(jié)點(diǎn)間數(shù)據(jù)管理和計算任務(wù)[2]。Hadoop的核心由分布式文件處理HDFS,MapReduce并行計算框架和HBase分布式數(shù)據(jù)庫系統(tǒng)組成。Hadoop結(jié)構(gòu)如圖1所示。
2 課程云平臺系統(tǒng)
傳統(tǒng)信息化課程的建設(shè),往往只關(guān)注某一門課程知識體系的構(gòu)建和知識點(diǎn)的建設(shè),容易忽略整個知識體系的構(gòu)建,及該課程與其他課程間的知識點(diǎn)關(guān)聯(lián),例如,計算機(jī)類課程中某一門專業(yè)課程,其背后又關(guān)聯(lián)到多門專業(yè)基礎(chǔ)課程的應(yīng)用[3](以計算機(jī)專業(yè)中“Java EE程序設(shè)計”課程為例,如圖2所示),專業(yè)課程間又存在交叉和先后順序,以往課程建設(shè)都是任課教師基于本門課程的相關(guān)資源建設(shè),課程與課程間無銜接、無關(guān)聯(lián),這樣就形成課程上的信息孤島,不利于學(xué)生學(xué)習(xí)。所以運(yùn)用Hadoop大數(shù)據(jù)技術(shù),存儲特性、覆蓋性和靈活性,構(gòu)建開發(fā)一個課程云平臺,將以往的課程教學(xué)資源整合起來。
應(yīng)用Hadoop大數(shù)據(jù)技術(shù),以計算機(jī)專業(yè)中某一門專業(yè)核心課程為例構(gòu)建起該課程的課程云平臺,通過課程云平臺構(gòu)建起該關(guān)聯(lián)課程體系,將該課程所涉及的多門課程有序地融合起來,形成完善的課程云平臺。
同時通過Hadoop技術(shù)海量數(shù)據(jù)管理功能,對課程中每個知識點(diǎn)進(jìn)行數(shù)據(jù)深度挖掘,提供課程間知識點(diǎn)快速檢索和訪問。也對各個課程中所涉及的視頻圖片各類資源進(jìn)行有效存儲管理。
云課程平臺也與實踐應(yīng)用對接,將實訓(xùn)項目引入到云平臺中,通過云課程平臺,對項目進(jìn)行分解,將項目中所應(yīng)用的各知識點(diǎn)與各課程進(jìn)行關(guān)聯(lián),讓云課程平臺引導(dǎo)學(xué)生進(jìn)行項目實訓(xùn),對項目中所涉及的知識點(diǎn)能快速地檢索訪問,如圖3所示。
從圖3可以看出,一門課程的背后往往涉及多門課程知識體系的數(shù)據(jù)支撐,而一個學(xué)科的知識體系會涉及更加復(fù)雜、龐大的課程體系數(shù)據(jù)的支撐。而這些課程數(shù)據(jù)中又包含有各類型的結(jié)構(gòu)化和非結(jié)構(gòu)的數(shù)據(jù),因此使用Hadoop平臺實現(xiàn)是非常可行的。
3 課程云平臺的設(shè)計
本課題應(yīng)用Hadoop平臺技術(shù),針對高校課程信息化的特點(diǎn),構(gòu)建課程云平臺系統(tǒng),期系統(tǒng)結(jié)構(gòu)如下:數(shù)據(jù)源、數(shù)據(jù)清洗與整合、分布式數(shù)據(jù)存儲、數(shù)據(jù)分析與挖掘,Hadoop平臺管理、應(yīng)用程序接口(Application Program Interface,API)平臺管理等,其結(jié)構(gòu)如圖4所示。
課程資源平臺:指目前高?,F(xiàn)有課程建設(shè)平臺,包括現(xiàn)有平臺上的各類課程資源信息,如結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化數(shù)據(jù)主要是現(xiàn)有課程資源的數(shù)據(jù)庫信息,例如(MySQL數(shù)據(jù)庫數(shù)據(jù)、Oracle數(shù)據(jù)庫中數(shù)據(jù)等);非結(jié)構(gòu)化數(shù)據(jù)主要包含課程資源中的各類數(shù)據(jù)文件、圖片、音頻、視頻資源等。
數(shù)據(jù)采集:包含數(shù)據(jù)采集,數(shù)據(jù)清洗,數(shù)據(jù)整合等,指對現(xiàn)有數(shù)據(jù)資源使用Sqoop等技術(shù)將課程資源平臺中的結(jié)構(gòu)化數(shù)據(jù)導(dǎo)入到Hadoop的HDFS和Hive進(jìn)行存儲,結(jié)構(gòu)化數(shù)據(jù)可以使用表或者Key-Value方式存放,非結(jié)構(gòu)化數(shù)據(jù)則以目錄文件的方式進(jìn)行存放。
大數(shù)據(jù)分析:指使用Hadoop中MapReduce或Spark技術(shù)等,對Hadoop平臺中的數(shù)據(jù)進(jìn)行流式分析計算或離線分析計算,產(chǎn)生出各個知識點(diǎn)間的關(guān)聯(lián)及學(xué)習(xí)情境分析等。
智能分析與可視化:使用Tableau,D3,F(xiàn)lot等技術(shù)[4],利用機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘算法等對課程數(shù)據(jù)進(jìn)行深層次的分析,并以圖表的方式直觀的展示給師生。
API接口層:提供平臺各類數(shù)據(jù)的訪問接口,以便WebAPP或移動APP等應(yīng)用系統(tǒng)可以從平臺方便地獲取課程信息資源,為平臺的二次開發(fā)提供便利[5]。
4 實現(xiàn)過程
實現(xiàn)環(huán)境:這里選用了5臺服務(wù)器作為Hadoop平臺實現(xiàn)基礎(chǔ),其配置如表1所示。
服務(wù)器軟件運(yùn)行環(huán)境如表2所示。
(1)運(yùn)行環(huán)境:首先配置每臺服務(wù)器的SSH無密碼登錄,然后配置服務(wù)器上Java運(yùn)行環(huán)境,最后配置Hadoop運(yùn)行環(huán)境。配置完成后在NameNode上輸入start-all.sh命令,啟動Hadoop。
(2)數(shù)據(jù)遷移:數(shù)據(jù)遷移可分為結(jié)構(gòu)化數(shù)據(jù)遷移和非結(jié)構(gòu)化數(shù)據(jù)遷移,其中結(jié)構(gòu)化數(shù)據(jù)遷移導(dǎo)入過程可分成3步。第一,將My SQL數(shù)據(jù)先導(dǎo)入到HDFS中;第二,在Hive中創(chuàng)建表結(jié)構(gòu);第三,將HDFS中數(shù)據(jù)加載到Hive已創(chuàng)建的表中。非結(jié)構(gòu)化數(shù)據(jù)可以轉(zhuǎn)化文本化與HBase整合進(jìn)行遷移處理[6]。
5 運(yùn)行測試
課程云平臺的建設(shè)主要是將各類分散的課程資源進(jìn)行整合挖掘,使用Hadoop平臺技術(shù)對課程資源數(shù)據(jù)進(jìn)行管理、深度挖掘、處理等。在Hadoop平臺下既節(jié)省了服務(wù)器資源又提高教學(xué)資源的利用率,并對課程進(jìn)行深度挖掘,實現(xiàn)智慧學(xué)習(xí)。課程云平臺WebAPP端使用SpringMVC框架開發(fā)、Tomcat服務(wù)、JSP頁面等技術(shù),運(yùn)行效果如圖5所示。
6 結(jié)語
本文以Hadoop技術(shù)為基礎(chǔ),以高校計算機(jī)類課程為研究案例,研究基于Hadoop平臺的課程云平臺,通過對Hadoop平臺的技術(shù)特點(diǎn)及搭建配置過程,以及開發(fā)方法等進(jìn)行詳細(xì)論述,為高校課程信息化建設(shè)提供思路。
[參考文獻(xiàn)]
[1]陳一龍.基于云平臺的英語專業(yè)核心課程數(shù)字化教學(xué)資源的共建共享機(jī)制研究[J].荊楚學(xué)術(shù),2017(9):5.
[2]王鵬.云計算的關(guān)鍵技術(shù)與應(yīng)用實例[M].北京:人民郵電出版社,2010.
[3]楚京予.MOOC平臺課程資源組織模型與體系架構(gòu)研究[D].合肥:合肥工業(yè)大學(xué),2016.
[4]王潤,周先進(jìn).云課程的實施困境及其突破[J].教育發(fā)展研究,2015(12):34-39.
[5]徐毅.湖北地方課程教育云資源的設(shè)計與應(yīng)用實踐[D].武漢:華中師范大學(xué),2015.
[6]王玥.云課程平臺聚合社會化媒體的網(wǎng)絡(luò)教學(xué)研究[D].南京:南京郵電大學(xué),2014.