滕艷平,張亞杰,王海珍,廉佐政,黎明
基于Hadoop的學(xué)生自主學(xué)習(xí)資源平臺構(gòu)建
滕艷平,張亞杰,王海珍,廉佐政,黎明
(齊齊哈爾大學(xué) 計算機與控制工程學(xué)院,黑龍江 齊齊哈爾 161006)
針對傳統(tǒng)的教學(xué)資源組織形式、教學(xué)手段和教學(xué)內(nèi)容已不能完全滿足學(xué)生需求的問題,提出并設(shè)計了基于Hadoop的計算機類學(xué)生自主學(xué)習(xí)資源云平臺.該系統(tǒng)采用B/S結(jié)構(gòu)模式、MVC的編程模式,以MySql和Hbase作為系統(tǒng)數(shù)據(jù)庫,提高資源查詢、存儲的速度及準(zhǔn)確性.達(dá)到了管理員上傳課程,學(xué)生按需自主學(xué)習(xí)的目的,并對學(xué)生學(xué)習(xí)行為數(shù)據(jù)進行分析,實現(xiàn)個性化教學(xué)、因材施教,提高學(xué)生的學(xué)習(xí)效率和教學(xué)質(zhì)量.
Hadoop;自主學(xué)習(xí)資源平臺;MVC;MySql+HBase
目前,隨著互聯(lián)網(wǎng)技術(shù)在教育領(lǐng)域的逐步應(yīng)用,其教育資源的建設(shè)將成為網(wǎng)絡(luò)輔助教學(xué)的重要手段,Hadoop云計算技術(shù)[1-2]的出現(xiàn),為教學(xué)資源的共享提供了更好的方式.傳統(tǒng)的教學(xué)資源平臺在數(shù)據(jù)檢索、存儲以及數(shù)據(jù)分析等方面面臨新的挑戰(zhàn),大量開放的教育資源改變了傳統(tǒng)的教育教學(xué)模式,為學(xué)生自主學(xué)習(xí)提供了一個良好的開放的學(xué)習(xí)空間,從而將傳統(tǒng)以教師為主體的教學(xué)方式轉(zhuǎn)變?yōu)橐詫W(xué)生為主體的新型網(wǎng)絡(luò)教育方式.云技術(shù)將學(xué)習(xí)資源碎片化[3],形成一個綜合共享的資源池,提高資源存儲容量、查詢速度和高并發(fā)讀寫性能.基于Hadoop學(xué)生自主學(xué)習(xí)資源平臺的構(gòu)建,可為學(xué)習(xí)者在線學(xué)習(xí)提供豐富的多媒體資源、學(xué)習(xí)過程記錄、課程進展信息、學(xué)生學(xué)習(xí)行為數(shù)據(jù)分析等,提高學(xué)生自主學(xué)習(xí)的能力,調(diào)動學(xué)生學(xué)習(xí)積極性,促進教師和學(xué)生相互交流.
Hadoop[4-5]是由Apache開發(fā)的一個開源的分布式處理大規(guī)模數(shù)據(jù)的框架,在Hadoop 技術(shù)集群中每臺計算機都提供運算和存儲,支持并行擴展,不完全依賴于某臺高性能的服務(wù)器硬件支撐.Hadoop包含多項技術(shù),其技術(shù)組件有HDFS(Hadoop Distributed File System),MapReduce,HBase,ZooKeeper等,已經(jīng)形成完整的生態(tài)系統(tǒng).因此,用戶利用 Hadoop可以輕松地組合計算機資源,搭建自己所需的分布式計算平臺,充分利用集群的計算、存儲能力,最終完成海量數(shù)據(jù)的處理.Hadoop主要的框架組件[6]為:
(1)HDFS實現(xiàn)對數(shù)據(jù)的分布式存儲,具有故障檢測、流式讀取數(shù)據(jù)以及高度容錯性等特性.它采用Master/Slave架構(gòu),由控制節(jié)點Name Node和數(shù)據(jù)節(jié)點Data Node組成.
(2)MapReduce是編程計算框架模型,負(fù)責(zé)大規(guī)模數(shù)據(jù)的分布式處理和分析.MapReduce由2個部分組成,map任務(wù)和reduce 任務(wù).
(3)HBase是一個分布式、按列存儲的非結(jié)構(gòu)化的數(shù)據(jù)庫,使用HDFS作為底層存儲,支持隨機讀?。瓾Base利用Hadoop HDFS作為其文件存儲系統(tǒng),運行MapReduce來處理其中的海量數(shù)據(jù).
(4)ZooKeeper是分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),用于構(gòu)建分布式應(yīng)用,完成配置維護、命名空間服務(wù)、分布式并發(fā)同步等任務(wù).
Hadoop技術(shù)框架具有分布式存儲海量資源和并行計算的特性,本文設(shè)計目標(biāo)是在Hadoop框架上實現(xiàn)教學(xué)資源共享,以達(dá)到學(xué)生可以高效自主學(xué)習(xí)的目的.系統(tǒng)采用了B/S(Browser/Server)架構(gòu)的計算模式、MVC(Model View Controller)的編程模式[7],在對用戶需求分析的基礎(chǔ)上構(gòu)建平臺的總體框架.平臺自底向上可以劃分為4層,用戶層位于最頂層,用戶可以在客戶端直接使用此平臺,根據(jù)需求向平臺發(fā)出請求,平臺接收請求后對用戶的需求及時進行處理和反饋;業(yè)務(wù)邏輯層為第2層,為用戶層所提供的服務(wù)可通過系統(tǒng)的各功能模塊來完成,主要用于用戶層和存儲層之間的溝通;數(shù)據(jù)存儲層位于業(yè)務(wù)邏輯層的下層,負(fù)責(zé)教學(xué)平臺海量數(shù)據(jù)的存儲,Mysql用于結(jié)構(gòu)化數(shù)據(jù)的存儲,Hbase用于非結(jié)構(gòu)化數(shù)據(jù)的存儲,二者都位于HDFS文件系統(tǒng)中,同時在對學(xué)生學(xué)習(xí)行為數(shù)據(jù)分析時又用到Hadoop的其他組件,如Flume,Sqoop,Hive等;基礎(chǔ)設(shè)施層位于整個平臺的最底層,屬于平臺的硬件資源,主要用于管理和存儲海量的教學(xué)資源數(shù)據(jù).平臺的總體框架見圖1.
圖1 平臺的總體框架
本系統(tǒng)根據(jù)用戶角色將功能分為學(xué)生端、管理員端,學(xué)生端主要包括注冊登錄模塊、課程中心模塊、章節(jié)測試模塊、實踐教學(xué)模塊、課程的收藏模塊、關(guān)注和評論模塊.學(xué)生可以在前端進行課程的學(xué)習(xí)和資源下載、完成課程作業(yè)、查看課程的學(xué)習(xí)路線等功能.管理員可以進行課程的管理,包括課程上傳、課程學(xué)習(xí)路線的發(fā)布、章節(jié)測試上傳、回復(fù)學(xué)生的評論、學(xué)習(xí)行為數(shù)據(jù)的分析等.系統(tǒng)功能結(jié)構(gòu)見圖2.
圖2 系統(tǒng)功能結(jié)構(gòu)
在Hadoop平臺搭建過程中,涉及Hadoop集群搭建、SSH無密鑰連接、Hadoop的安裝、HBase的配置、Zookeeper集群等相關(guān)內(nèi)容.
首先在宿主機上安裝VMware Workstation[8],隨后模擬出3個計算機節(jié)點.在此平臺上采用1個Master結(jié)點(Hadoop102)和2個slave結(jié)點(Hadoop103,Hadoop104),要使各個結(jié)點之間可以互相通信,則要對虛擬機和各個結(jié)點進行相關(guān)配置.設(shè)置VMware Workstation的網(wǎng)絡(luò)連接模式 VMnet8為橋接模式.
通過鏡像文件CentOS-7-x86_64-DVD-2009安裝Linux操作系統(tǒng),隨后進行模板虛擬機的安裝和配置.IP地址:192.168.117.5、主機名稱為Hadoop101、內(nèi)存4 G、硬盤50 G,為了使各個結(jié)點之間通信更加方便,在系統(tǒng)中關(guān)閉防火墻,關(guān)閉防火墻的命令為 #chkconfig iptables off.
利用模板機Hadoop101,克隆3臺虛擬機:Hadoop102,Hadoop103,Hadoop104.虛擬機信息見表1.
表1 虛擬機詳細(xì)信息
為了保證每臺機器的主機名和IP地址可以正確解析,需要分別在Hadoop102,Hadoop103,Hadoop104的hosts文件中加上集群其他節(jié)點的IP地址和主機名的映射關(guān)系.
Hadoop集群之間通過SSH協(xié)議傳輸數(shù)據(jù),從而可以安全地控制整個集群的開啟和關(guān)閉,使用SSH協(xié)議可以解決計算機遠(yuǎn)程登錄時產(chǎn)生的信息泄露問題.通過此協(xié)議可以實現(xiàn)3個結(jié)點之間無密登錄.
(1)在Hadoop102結(jié)點中生成公鑰和私鑰,具體的命令為 ssh-keygen-t rsa,即可生成2個文件;
(2)id_rsa(私鑰)、id_rsa.pub(公鑰),將公鑰拷貝到Hadoop103,Hadoop104結(jié)點上;
[h2@Hadoop102 .ssh]$ ssh-copy-id Hadoop102
[h2@Hadoop102 .ssh]$ ssh-copy-id Hadoop103
[h2@Hadoop102 .ssh]$ ssh-copy-id Hadoop104
(3)在Hadoop103,Hadoop104分別進行上述配置.
(1)用XShell文件傳輸工具將Hadoop-3.1.3.tar.gz導(dǎo)入到opt目錄下的software文件夾下面;
(2)進入到Hadoop安裝包路徑下,解壓安裝文件到/opt/module下面:
tar -zxvf Hadoop-3-1-3.tar.gz –C/ opt/module
(3)將Hadoop添加到環(huán)境變量,運行命令:
vim /etc/profile,在文件末尾添加內(nèi)容
#HADOOP_HOME
export HADOOP_HOME=/opt/module/Hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
(4)測試Hadoop是否安裝成功;
(5)scp(secure copy)安全拷貝.使用scp命令將Hadoop102中配置好的Hadoop文件夾拷貝到另外2個Hadoop103,Hadoop104中,實現(xiàn)數(shù)據(jù)的同步.
HBase與Hadoop搭建集群步驟[9]類似,Zookeeper作為一個獨立的服務(wù),在功能上與Hbase分開,會使整個分布式系統(tǒng)在功能上更清晰,在設(shè)計中使HBASE_MANAGES_ZK=false關(guān)閉HBase集成的Zookeeper.單獨構(gòu)建Zookeeper集群,Hbase集群主要配置參數(shù)見表2,文件系統(tǒng)使用HDFS,在Hadoop集群的基礎(chǔ)上完成了HBase集群的部署.
表2 Hbase主要配置參數(shù)
Zookeeper是Hadoop的子項目,是解決在分布式環(huán)境下集群的協(xié)調(diào)同步問題,其部署過程與Hadoop以及Hbase類似,分布式模式下的配置見表3.
表3 zookeeper配置文件
學(xué)生用戶可以注冊并登錄此平臺來完成自主學(xué)習(xí)任務(wù),首先進入課程中心搜索需要課程資源或?qū)W習(xí)路線,點擊課程可以進入課程詳情界面,可以查看課程相關(guān)視頻、下載實驗指導(dǎo)書和配套習(xí)題等.同樣,學(xué)生可以根據(jù)每門課程的學(xué)習(xí)路線來規(guī)劃相應(yīng)的學(xué)習(xí),學(xué)習(xí)完成后,可以提交課后作業(yè)和完成章節(jié)測試,來檢驗自己對知識的掌握程度,可以在實踐教學(xué)中完成課程所設(shè)置的實驗項目.此外,可以進行課程的收藏,也可以在關(guān)注和評論模塊對課程進行關(guān)注,并進行話題的討論,以達(dá)到師生之間的交互.管理員用戶可以在此平臺上進行課程的管理,課程學(xué)習(xí)路線的發(fā)布,與學(xué)生進行在線交流,并且可以分析學(xué)生學(xué)習(xí)行為的數(shù)據(jù),從而達(dá)到更好的學(xué)習(xí)效果.系統(tǒng)主界面見圖3.
圖3 系統(tǒng)主界面
本系統(tǒng)可以對學(xué)生用戶登錄系統(tǒng)的次數(shù)、課程瀏覽的次數(shù)、課程下載的次數(shù)等信息進行采集[10],從而進行學(xué)生自主學(xué)習(xí)行為的分析,對教師后續(xù)的教學(xué)起到輔助決策作用.首先,將每個課程訪問的頻率等數(shù)據(jù)收集下來,利用Flume工具對用戶行為數(shù)據(jù)的采集;然后,采用MapReduce進行數(shù)據(jù)的預(yù)處理,再將預(yù)處理后的數(shù)據(jù)存儲到MySql表中,對其進行分析;最后,進行可視化數(shù)據(jù)展示,這樣教師可以更好地根據(jù)學(xué)生學(xué)習(xí)情況對課程內(nèi)容和進度進行及時地調(diào)整,達(dá)到個性化教學(xué)目的.其數(shù)據(jù)處理分析流程見圖4.
圖4 數(shù)據(jù)處理分析流程
本文采用Hadoop技術(shù)框架及其組件,構(gòu)建了學(xué)生自主學(xué)習(xí)資源平臺,并給出其總體框架結(jié)構(gòu)和系統(tǒng)功能模塊的設(shè)計,通過搭建Hadoop平臺,實現(xiàn)學(xué)生端和管理員端各模塊功能.學(xué)生成功登錄后,可以進行課程學(xué)習(xí)或下載相關(guān)資源,同時還可以和教師進行交流;教師也可以通過此平臺發(fā)布課程,實現(xiàn)了教學(xué)資源的共享,方便用戶的使用.這極大地提高了學(xué)生的學(xué)習(xí)興趣和主動性,提高了教學(xué)質(zhì)量和教學(xué)效果.
[1] 蔣云霞,符琦.基于Hadoop的云教學(xué)資源平臺的研究[J].當(dāng)代教育理論與實踐,2016,8(4):3.
[2] 張舜.基于Hadoop的高校數(shù)字資源分布式處理系統(tǒng)設(shè)計與實現(xiàn)[D].南寧:廣西大學(xué),2019.
[3] 劉麗娟.基于Hadoop的獨立學(xué)院云教學(xué)自主學(xué)習(xí)平臺的研究和實現(xiàn)[J].自動化技術(shù)與應(yīng)用,2017(36):12.
[4] 劉瑩.基于Hadoop的高校自主學(xué)習(xí)平臺的研究與建立[D].西安:西安科技大學(xué),2014.
[5] 孫國福.基于Hadoop的教學(xué)資源平臺建設(shè)[J].電子技術(shù)與軟件工程,2020(20):188-190.
[6] 林中明,李文敬.基于Hadoop的Web用戶識別與新聞智能推薦算法研究[J].軟件導(dǎo)刊,2016,15(5):3.
[7] 劉丹,梁麗,曾燕,等.基于Hadoop的云教學(xué)資源平臺[J].長春理工大學(xué)學(xué)報(自然科學(xué)版),2017(40):6.
[8] 羅光明.基于Hadoop的分布式文件系統(tǒng)實現(xiàn)[J].西華師范大學(xué)學(xué)報(自然科學(xué)版),2015(1):95-101.
[9] 譚潔清,毛錫軍.Hadoop云計算基礎(chǔ)架構(gòu)的搭建和hbase和hive的整合應(yīng)用[J].貴州科學(xué),2013(5):32-35.
[10] 葛蘇慧,萬泉,白成杰.基于Hadoop的高校學(xué)生行為預(yù)警決策系統(tǒng)研究[J].計算機應(yīng)用與軟件,2021(1):6-12.
Construction of students′ autonomous learning resource platform based on Hadoop
TENG Yanping,ZHANG Yajie,WANG Haizhen,LIAN Zuozheng,LI Ming
(School of Computer and Control Engineering,Qiqihar University,Qiqihar 161006,China)
Aiming at the problem that the traditional organization form of teaching resources,teaching means and teaching content can′t fully meet the needs of students,proposes and designs a cloud platform of computer students′ autonomous learning resources based on Hadoop.The system adopts B/S structure mode and MVC programming mode,and takes MySQL and HBase as the system database to improve the speed and accuracy of resource query and storage.It achieves the purpose that administrators upload courses and students learn independently on demand, analyzes students′ learning behavior data,realizes personalized teaching and individualized teaching,and improves students′ learning efficiency and teaching quality.
Hadoop;independent learning resource platform;MVC;MySql and HBase
1007-9831(2022)11-0077-05
TP311.5∶G642.0
A
10.3969/j.issn.1007-9831.2022.11.015
2022-07-15
黑龍江省高等教育教學(xué)改革研究項目(SJGY20190710);齊齊哈爾大學(xué)教育科學(xué)研究項目(GJZRYB202007);齊齊哈爾大學(xué)學(xué)位與研究生教育教學(xué)改革研究項目(JGXM_QUG_2020004);黑龍江省教育廳基本業(yè)務(wù)專項齊齊哈爾大學(xué)科研項目(135509117)
滕艷平(1965-),女,黑龍江齊齊哈爾人,教授,從事計算機網(wǎng)絡(luò)研究.E-mail:typ2732996@163.com