牛新征,巴音桑,侯孟書
(電子科技大學 a.計算機科學與工程學院;b.政治與公共管理學院,成都 611731)
·計算機及網(wǎng)絡技術應用·
基于云計算的分布式系統(tǒng)教學改革實踐
牛新征a,巴音桑b,侯孟書a
(電子科技大學 a.計算機科學與工程學院;b.政治與公共管理學院,成都 611731)
針對分布式系統(tǒng)教學現(xiàn)存的諸多問題,提出在云計算框架下講授分布式系統(tǒng)的理論知識點,同時配合相關的綜合設計的教學改革。教學實踐證明,以熱門技術作為框架的教學改革不但將理論與實際相結合,能提高學生的興趣,取得很好的教學效果,而且也是對學生綜合培養(yǎng)的有益探索。
分布式系統(tǒng);教學改革;云計算;數(shù)據(jù)處理;數(shù)據(jù)存儲
隨著社會信息化的飛速發(fā)展和互聯(lián)網(wǎng)技術的日益成熟,各種業(yè)務的信息數(shù)據(jù)爆炸性增長,海量數(shù)據(jù)不停地產(chǎn)生、存儲和訪問[1]。傳統(tǒng)的存儲方式很難滿足這樣大的需求,伴隨著Google、Amazon等IT公司的成功,云計算成為當今最熱門的領域。而這些技術無一不與分布式系統(tǒng)相關,分布式系統(tǒng)的教學與實踐顯得尤為重要。
分布式系統(tǒng)是把服務器端程序分開部署到多臺機器上,由通信網(wǎng)絡互聯(lián)的多處理機體系結構執(zhí)行任務的系統(tǒng)[2]。分布式系統(tǒng)作為底層架構涵蓋了眾多計算機技術,因此理解分布式系統(tǒng)的相關知識是計算機網(wǎng)絡教學的核心。在目前的教學中,學生只是去了解分布式系統(tǒng)中的相關概念,而沒有與實際的運用聯(lián)系到一起,無法做到“學以致用”。對于這門課程,我們需要在講授分布式系統(tǒng)基礎知識的同時,教授學生如何去使用這方面的知識,達到“學有所獲”的目的。
1.1 課程內容理論性較強、知識點較多
分布式系統(tǒng)是一門理論性很強的課程。學生在學習這門課程時不僅需要一定的硬件知識,更需要系統(tǒng)架構的概念,這就要求學生對之前的先導課程必須要有足夠的了解,例如計算機網(wǎng)絡、操作系統(tǒng)、面向對象編程等課程。以這些課程為基礎,學生才能更好去理解分布式系統(tǒng),而這正給學生學好分布式系統(tǒng)增加了難度。同時,每個章節(jié)零碎的知識點都很多,僅分布式算法一項,就涉及環(huán)境一致性和并行性等,增大了學生學習的難度。學生覺得課程中大量的概念、理論抽象而難懂,由此對該課程學習缺乏興趣,只能記住零散的幾個知識點,無法從更高的層面理解分布式系統(tǒng)架構與知識點模塊之間的關系。
1.2 理論與實際脫節(jié)
由于分布式系統(tǒng)是一門理論知識點較多的課程,按照傳統(tǒng)的教學方法教授理論知識,不論講授的知識還是課后布置的作業(yè),都是一些過時的內容。這類知識與作業(yè)容易使學生覺得枯燥乏味,興趣不大,導致學生對這部分內容的理解不夠徹底,與實際脫節(jié)。
1.3 教學方法不夠靈活
傳統(tǒng)的教學主要采用課堂授課方式,以課堂上教師講授知識點為主。這種授課方式重點是教師講解一個又一個的知識點,而學生比較被動,只顧埋頭記錄教師講授的知識點,思考比較少。由于理論知識較多,教師很少采用多樣性的教學方法,課堂中缺乏學生與教師的互動,教師不能在課堂上了解學生對課程的掌握情況,課后學生與教師的互動就更少,影響了教學質量。
由教學中存在的問題可以看出,分布式系統(tǒng)課程知識點繁雜,如何在有限的課堂時間中引導學生掌握這門課程并能夠實際運用到生活中是我們教學改革的目標。傳統(tǒng)的教學方法沒有與實際生活很好地結合在一起,只是講解了課本上的知識點,導致學生對分布式系統(tǒng)缺乏興趣,對分布式系統(tǒng)的理解只是停留在抽象的概念上。我們認為,應該以熱門的技術(云計算)作為切入點進行分布式系統(tǒng)的教學,不但能緊貼課堂教學內容,又能提起學生對分布式系統(tǒng)的興趣。
2.1 云計算與分布式系統(tǒng)的關系
眾所周知,云計算屬于分布式系統(tǒng),是數(shù)據(jù)共享與服務共享計算模式的結合體,而分布式系統(tǒng)是大數(shù)據(jù)時代下云計算的架構。云計算的體系架構如圖1所示[3]。
云服務(庫存管理服務、人力資源管理服務、客戶關系管理服務等)云平臺(服務的運行平臺,如GoogleAppEngine、WindowsAzure等)硬件平臺(數(shù)據(jù)中心)(服務器、網(wǎng)絡設備、存儲設備等作為一個服務來提供)
圖1 云計算的三層結構
云計算通常有以下一些特點[4]:
1)由多臺計算機組成一個云計算機群。由于云計算架構在分布式系統(tǒng)之上,機群內的計算機之間的耦合交互程度高于互聯(lián)網(wǎng)中一般的計算機,使云計算的計算效率十分高。
2)因為分布式系統(tǒng)是架構云計算的底層系統(tǒng),基于分布式系統(tǒng)的特性,云計算能夠提供強大的數(shù)據(jù)存儲和計算能力。
3)云計算可以在分布式系統(tǒng)的支持下提供高可靠性。這來自分布式系統(tǒng)(一致性、容錯性、安全性)的基本思想,任何一個節(jié)點的故障都不會終止應用服務。
4)因為分布式系統(tǒng)優(yōu)秀的容錯能力、強大的恢復故障能力和基于安全的考慮,使得云計算能夠以低廉的成本提供服務,具有很高的性價比。
5)分布式系統(tǒng)能提供框架與簡單的模型用以實現(xiàn)云計算的應用,開發(fā)者不用考慮容錯性等問題,便于開發(fā)者快速有效地進行軟件開發(fā)。
2.2 以云計算講述分布式系統(tǒng)的優(yōu)點
云計算作為以分布式系統(tǒng)為架構實現(xiàn)的一種熱門技術,從云計算出發(fā)來講授分布式系統(tǒng)也是一種新的嘗試。通過分析云計算與分布式系統(tǒng)的關系,我們認為以云計算來講授分布式系統(tǒng)有以下優(yōu)點:
1)云計算作為當今計算機領域中的熱門技術,國內外已有較多成功使用案例,資源豐富,便于課堂講解與學生自主學習。
2)學生對于新技術、熱門技術都有著強烈的好奇心和探索欲,通過云計算進行分布式系統(tǒng)的授課,可以吸引學生的注意,有助于教學的實施和展開。
3)通過以技術講述系統(tǒng)的教學方法更能緊貼課堂的教學。
考慮到現(xiàn)行教學方法涉及知識點過于零散片面,缺乏對學生系統(tǒng)觀和實際運用的培養(yǎng),我們在教學中以云計算的技術體系貫穿整個教學過程,涵蓋了分布式系統(tǒng)教學中的各個環(huán)節(jié)和知識點,見表2[5]。整個課程對大數(shù)據(jù)和云計算的知識點和關鍵技術進行講解,每個知識點都體現(xiàn)分布式系統(tǒng)某個方面的知識和技巧。
在這里有必要解釋云計算中關鍵技術與分布式系統(tǒng)之間的關系:(1)數(shù)據(jù)處理。數(shù)據(jù)處理需要滿足高擴展性、高性能、高容錯、低成本、方便使用等特性,應對海量非結構化和半結構化的數(shù)據(jù)處理需求,以MapReduce為模型的Hadoop平臺以分布式系統(tǒng)作為核心架構,基于廉價硬件服務器平臺,大大降低了數(shù)據(jù)處理的門檻[6]。(2)數(shù)據(jù)存儲。大數(shù)據(jù)時代首先要解決的問題便是數(shù)據(jù)存儲問題。在存儲中,不但要滿足傳統(tǒng)的結構化的存儲需求,更要滿足半結構化數(shù)據(jù)和非結構化數(shù)據(jù)的存儲需求。分布式文件系統(tǒng)便是對非結構化數(shù)據(jù)和半結構化數(shù)據(jù)進行存儲,如開源的HDFS等。
表1 教學框架體系
我們設計的教學方案分別由云計算體系中的兩個知識點組成,分別是數(shù)據(jù)處理和數(shù)據(jù)存儲。
此設計方案具有延續(xù)性和整體性,通過云計算中兩個重要的技術把復雜的教學內容進行分解,并深入到分布式系統(tǒng)教學的每一個知識點,引導學生循序漸進、不斷深入地完成課程目標,并最終掌握分布式系統(tǒng)知識。
4.1 教學實踐
4.1.1 數(shù)據(jù)處理
隨著數(shù)據(jù)的增長、應用的增多,要求系統(tǒng)可以動態(tài)擴展、容錯、快速開發(fā)應用程序。于是,分布式計算作為一種數(shù)據(jù)處理方式被提了出來。它對一些技術細節(jié)進行了封裝(如數(shù)據(jù)分布、任務并行、任務調度、負載平衡等),使用戶不需要考慮這些細節(jié),只用考慮任務之間的邏輯關系。我們在教學中把數(shù)據(jù)處理作為一個框架,講述分布式系統(tǒng)的中間件和分布式計算,更便于學生理解和掌握分布式系統(tǒng)在大數(shù)據(jù)中的應用。該教學方案設計見表2。
表2 數(shù)據(jù)處理的教學設計
基礎知識主要講授分布式對象和Web服務的基本內容,使學生了解其在具體應用中的作用。提高分析中講述分布式算法中的時間和全局狀態(tài)、協(xié)調和協(xié)定等處理數(shù)據(jù)的核心,在講述過程中需要重點講解,讓學生完全掌握這一部分。在綜合案例設計中,結合了數(shù)據(jù)處理的基本知識點和當下云計算中熱門的Hadoop平臺,以MapReduce作為講述模型,設計一個WordCount的程序對詞語進行計數(shù)。
云計算分布式系統(tǒng)的高效易用建立在Map/Reduce模型的基礎上,MapReduce框架主要對
本部分的教學讓學生了解、掌握云計算中的數(shù)據(jù)處理過程,并運用到課堂講授的分布式系統(tǒng)中,最后以實現(xiàn)一個程序完成本部分教學內容的講授。
4.1.2數(shù)據(jù)存儲
高可靠、高可用、可擴展、低成本的分布式文件系統(tǒng)可以滿足不同業(yè)務和數(shù)據(jù)存儲的需求,是大數(shù)據(jù)云計算存儲的一大利器。分布式文件系統(tǒng)的文件存儲允許用戶在內部網(wǎng)上的任意計算機上訪問自己的文件和遠程文件。將數(shù)據(jù)存儲單獨列為一個單元來進行分布式系統(tǒng)的教學很有必要。與講解數(shù)據(jù)處理一樣,我們將數(shù)據(jù)存儲分為基礎知識、提高分析、綜合案例設計三個級別,由淺入深地講解分布式系統(tǒng)的數(shù)據(jù)存儲。該教學設計見表3。
表3 數(shù)據(jù)存儲的教學設計
基礎知識主要講授事務和并發(fā)控制、復制的基本內容,讓學生掌握數(shù)據(jù)存儲中對數(shù)據(jù)的復制、控制以及數(shù)據(jù)存儲中的容錯。提高分析主要講述系統(tǒng)服務的安全性和分布式文件系統(tǒng),強調安全問題是大數(shù)據(jù)云計算時代所面臨的嚴峻挑戰(zhàn),并講授我們正在使用的一些安全技術,如混合密碼算法、數(shù)字簽名等;分布式文件系統(tǒng)講授文件服務體系的需求、結構、特點和如何實現(xiàn)分布式文件系統(tǒng),為之后的綜合案例設計打下基礎。在綜合案例設計中,我們在了解大數(shù)據(jù)分布式系統(tǒng)的存儲方式前提下,讓學生設計實現(xiàn)一個網(wǎng)絡云盤系統(tǒng),使學生深入理解分布式系統(tǒng)的架構,了解云盤系統(tǒng)主要的界面設計和服務接口的選擇和設計,后臺數(shù)據(jù)庫的選擇、分析、設計,實現(xiàn)發(fā)布與授權相關的數(shù)據(jù)處理。
4.2 教學輔助
在實施以上教學實踐中,我們同時結合網(wǎng)絡平臺上的優(yōu)秀視頻資源作為課堂教學的輔助,將優(yōu)秀視頻介紹給學生,通過學生觀看了解大數(shù)據(jù)云計算的本質,才能更好地明白分布式系統(tǒng)在大數(shù)據(jù)時代不可取代的地位。推薦視頻列表見表4。
表4 推薦視頻列表
將教學內容與當下熱門技術相結合,通過學生感興趣的技術來引導學生深入分布式系統(tǒng),避免了傳統(tǒng)的、枯燥的知識點灌輸,課堂中教師與學生的互動更為密切,學生更能接受教師所講授的知識,并對其感興趣的方面進一步深入了解,動手嘗試。通過這樣的教學方法,不但達到了教學目標,而且培養(yǎng)了學生的自主學習能力。學生對知識的理解不再是過去式的,為畢業(yè)打下了堅實的基礎。
隨著大數(shù)據(jù)潮流的不斷前進,我們講解的內容也將過時,教學方法必須不斷改進。如果一直使用一成不變的教學方法,將收效甚微,我們將繼續(xù)探索新的教學方法,不斷改進,提升教學效果。
[1]send_linux.互聯(lián)網(wǎng)技術熱點之——分布式文件系統(tǒng)[EB/OL].[2014-08-10].http://bbs.chinaunix.net/thread-4069729-1-1.html.
[2]陸嘉恒,文繼榮,毛新生,等.分布式系統(tǒng)及云計算概論[M].北京:清華大學出版社, 2011: 1-12.
[3]楊正洪,周發(fā)武.云計算和物聯(lián)網(wǎng)[M].北京:清華大學出版社,2011:7-9.
[4]陽振坤.陽振坤的博客:云計算介紹[EB/OL].[2014-08-10].http://blog.sina.com.cn/s/blog_3fc85e260100bnr5.html.
[5]George Coulouris ,Jean Dollimore,Tim kindberg,et al.分布式系統(tǒng)概念與設計[M].5版.金蓓弘,馬應龍,譯.北京: 機械工業(yè)出版社, 2013:1-20.
[6]陸平,李明棟,羅圣美,等.云計算中的大數(shù)據(jù)技術與應用[M].北京:科學出版社,2013:91-92.
[7]徐強,王振江.云計算應用開發(fā)實踐[M].2版.北京:機械工業(yè)出版社,2013:72-75.
Teaching Reform of Distributed System Based on Cloud Computing
NIU Xinzhenga,BA Yinsangb,HOU Mengshua
(a. School of Computer Science and Engineering; b. School of Political Science and Public Administration,University of Electronic Science and Technology of China,Chengdu 611731,China)
Aiming at the existing problems of distributed system in teaching, through the analysis of existing problems and exploration of the teaching reform, we put forward to cloud computing as a framework, theoretical knowledge teaching distributed system under this framework, at the same time with the related comprehensive design. The teaching practice has proved that in popular technology as a teaching reform framework can not only bring the interest of students, obtain good teaching effect, the combination of theory and practice, but also the comprehensive training carries on the beneficial exploration to the students.
distributed system;teaching reform;cloud computing; data processing;data storage
2014-09-19;修改日期: 2014-11-07
電子科技大學2013年本科教育教學改革研究基金資助項目(2013XJYYL023);電子科技大學2012年非全日制專業(yè)學位碩士研究生教研教改基金資助項目(ZY20120020);電子科技大學2013年研究生教研教改基金資助項目(YJX2 013032)。
牛新征(1978 - )男,博士,副教授,研究方向:移動計算,數(shù)據(jù)庫。
TP393;G642.0
A
10.3969/j.issn.1672-4550.2015.04.012