王志曉,張 博
(中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
2016年,“新工科”概念的提出為工程人才的培養(yǎng)與工程教育理論的探索提供了新視角和新思路,也是為了應(yīng)對(duì)新一輪科技革命和產(chǎn)業(yè)革命的浪潮[1]。與老工科相比,新工科更加重視學(xué)科的實(shí)用性以及各個(gè)學(xué)科之間的交叉性與綜合性,致力于提供一流的工程教育,促進(jìn)產(chǎn)業(yè)轉(zhuǎn)型,提高國(guó)家的核心競(jìng)爭(zhēng)力[2]。
云計(jì)算技術(shù)作為“新工科”建設(shè)的重點(diǎn),國(guó)內(nèi)多所高校已積極開設(shè)云計(jì)算技術(shù)相關(guān)課程。云計(jì)算綜合實(shí)訓(xùn)作為是云計(jì)算技術(shù)課程的配套實(shí)踐環(huán)節(jié),屬于計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的專業(yè)實(shí)踐課。對(duì)云計(jì)算綜合實(shí)訓(xùn)課程建設(shè)展開深入研究,整改教學(xué)內(nèi)容,優(yōu)化教學(xué)方法,加強(qiáng)課程與企業(yè)以及行業(yè)之間的聯(lián)系,提高課程的實(shí)踐性和應(yīng)用性,具有較強(qiáng)的實(shí)際意義,同時(shí),對(duì)工科院校云計(jì)算技術(shù)的教學(xué)改革有一定的借鑒意義。
云計(jì)算綜合實(shí)訓(xùn)作為實(shí)踐課,采用校企合作的方式,與華為技術(shù)有限公司聯(lián)合開展課程建設(shè)。經(jīng)過(guò)本實(shí)訓(xùn)課程的訓(xùn)練,使學(xué)生掌握華為FusionSphere虛擬化套件、鯤鵬云服務(wù)和實(shí)際應(yīng)用案例,培養(yǎng)學(xué)生使用云計(jì)算技術(shù)解決實(shí)際問(wèn)題的動(dòng)手能力,為后續(xù)課程的學(xué)習(xí)及開展相關(guān)的科學(xué)研究奠定基礎(chǔ)。
CDIO 是構(gòu)思(Conceive),設(shè)計(jì)(Design),實(shí)現(xiàn)(Implement),運(yùn)作(Operate)4個(gè)英文單詞的縮寫,它是“做中學(xué)”和“基于項(xiàng)目教育和學(xué)習(xí)”(Project based education and learning)的集中概括和抽象表達(dá)[3-4]。本文圍繞“做中學(xué)”的原則,對(duì)云計(jì)算綜合實(shí)訓(xùn)的教學(xué)內(nèi)容進(jìn)行改革,推行項(xiàng)目導(dǎo)向、問(wèn)題驅(qū)動(dòng)的“教、學(xué)、做、評(píng)”一體化教學(xué)模式,編寫了《云計(jì)算綜合實(shí)訓(xùn)》實(shí)驗(yàn)指導(dǎo)書,教學(xué)內(nèi)容如表1(P109)所示。
表1 教學(xué)內(nèi)容設(shè)計(jì)
實(shí)驗(yàn)分為兩種:
(1)驗(yàn)證型實(shí)驗(yàn):要求學(xué)生能夠按照實(shí)驗(yàn)指導(dǎo)書的操作流程,獨(dú)立完成華為FusionSphere虛擬化套件的使用、企業(yè)自動(dòng)化辦公(OfficeAutomation,OA)系統(tǒng)的高可用部署和存算分離架構(gòu)的實(shí)驗(yàn),掌握服務(wù)器虛擬化的相關(guān)知識(shí)、華為云鯤鵬云服務(wù)的使用、Docker的基本操作、Hadoop集群的搭建以及MapReduce和Spark程序的編寫和調(diào)試等相關(guān)知識(shí)點(diǎn);
(2)進(jìn)階型實(shí)驗(yàn):該類實(shí)驗(yàn)任務(wù)沒(méi)有標(biāo)準(zhǔn)的實(shí)驗(yàn)流程,學(xué)生需要根據(jù)現(xiàn)有知識(shí),進(jìn)行研究性學(xué)習(xí)。學(xué)生從多個(gè)任務(wù)中選擇一個(gè),根據(jù)實(shí)驗(yàn)指導(dǎo)書的要求,完成技術(shù)選型、環(huán)境搭建、程序編寫等任務(wù)。
通過(guò)情境教學(xué)法、任務(wù)驅(qū)動(dòng)法優(yōu)化教學(xué)內(nèi)容。情境案例規(guī)模必須適中。規(guī)模太大無(wú)法在有限的課時(shí)內(nèi)完成,規(guī)模太小不利于團(tuán)隊(duì)實(shí)踐。同時(shí),案例必須易中有難,難中有易。太難的項(xiàng)目會(huì)給學(xué)生造成挫敗感,沒(méi)有繼續(xù)完成項(xiàng)目的動(dòng)力。太容易的項(xiàng)目又無(wú)法調(diào)動(dòng)學(xué)生的積極性,無(wú)法達(dá)到較好的教學(xué)效果。
基于以上考慮,本課程選擇中小規(guī)模的項(xiàng)目作為情境案例。下面具體介紹各個(gè)實(shí)驗(yàn)選擇的案例。
實(shí)驗(yàn)1──華為FusionSphere虛擬化套件實(shí)驗(yàn)。根據(jù)實(shí)驗(yàn)手冊(cè),完成FusionCompute的安裝、資源配置,虛擬機(jī)創(chuàng)建和虛擬機(jī)磁盤操作等實(shí)驗(yàn),并驗(yàn)證如下問(wèn)題:Fusion-Compute是不是基于KVM開發(fā)的?如果是,那有沒(méi)有用到 QEMU 和 Libvirt?
實(shí)驗(yàn)2──鯤鵬云上應(yīng)用高可用部署實(shí)驗(yàn)。Oasys項(xiàng)目(https://gitee.com/github-5407963/oasys_mysql)是一個(gè)開源的OA辦公自動(dòng)化應(yīng)用。該實(shí)驗(yàn)通過(guò)在鯤鵬云服務(wù)器上完成Oasys項(xiàng)目的高可用部署,使學(xué)生掌握鯤鵬云服務(wù)器、云數(shù)據(jù)庫(kù)、彈性負(fù)載均衡和彈性伸縮服務(wù)的部署和配置流程。
實(shí)驗(yàn)3──鯤鵬云容器實(shí)驗(yàn)。該實(shí)驗(yàn)圍繞Nginx鏡像的構(gòu)建過(guò)程,完成Docker主機(jī)的安裝和配置、鏡像的搜索和下載、容器生命周期的基本管理、容器網(wǎng)絡(luò)的管理,使學(xué)生掌握Docker的安裝和配置、Docker鏡像、Docker Hub、Docker容器的基本操作。
實(shí)驗(yàn)4──鯤鵬云BigData Pro集群搭建。該實(shí)驗(yàn)基于鯤鵬云對(duì)象存儲(chǔ)服務(wù)(OBS)和鯤鵬云彈性云服務(wù)(ECS)構(gòu)建一個(gè)存算分離的基本架構(gòu),并通過(guò)運(yùn)行一個(gè)分布式并行計(jì)算程序來(lái)完成存算分離架構(gòu)的驗(yàn)證。實(shí)驗(yàn)數(shù)據(jù)存儲(chǔ)在OBS中,通過(guò)在ECS上部署開源組件(Hadoop和Spark)構(gòu)成計(jì)算環(huán)境,最后編寫MapReduce和Spark程序訪問(wèn)存儲(chǔ)在OBS上的數(shù)據(jù)進(jìn)行計(jì)算并輸出結(jié)果,如單詞出現(xiàn)次數(shù)統(tǒng)計(jì)(Word Count)。實(shí)驗(yàn)的基本步驟包含:購(gòu)買并配置ECS和OBS;搭建Hadoop集群;搭建Spark集群;編寫MapReduce和Spark程序驗(yàn)證存算分離。
實(shí)驗(yàn)5──鯤鵬云大數(shù)據(jù)離線分析。該實(shí)驗(yàn)?zāi)M真實(shí)電商業(yè)務(wù)場(chǎng)景,通過(guò)大數(shù)據(jù)組件和技術(shù)來(lái)處理日志數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),讓學(xué)生能夠?qū)W習(xí)到大數(shù)據(jù)離線批處理的步驟和流程。通過(guò)華為大數(shù)據(jù)平臺(tái)的MapReduce服務(wù)來(lái)實(shí)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)分層的搭建,并進(jìn)行報(bào)表分析得到活躍、轉(zhuǎn)化率、GMV指標(biāo),將結(jié)果導(dǎo)入關(guān)系型數(shù)據(jù)庫(kù),最終進(jìn)行可視化展示。
實(shí)驗(yàn)6──鯤鵬云大數(shù)據(jù)實(shí)時(shí)分析。實(shí)時(shí)分析是大數(shù)據(jù)五大應(yīng)用場(chǎng)景中比較重要的場(chǎng)景。處理數(shù)據(jù)量巨大,一般每秒產(chǎn)生數(shù)據(jù)在百兆以上。像購(gòu)物、新聞、視頻等信息流推薦,電商銷售數(shù)據(jù)實(shí)時(shí)統(tǒng)計(jì)都是實(shí)時(shí)分析的典型應(yīng)用。該案例通過(guò)編寫的Python腳本模擬產(chǎn)生商品的實(shí)時(shí)銷售數(shù)據(jù),然后由Flume+Kafka完成數(shù)據(jù)采集,通過(guò)鯤鵬云數(shù)據(jù)湖探索服務(wù)(Data Lake Insight,DLI)中的Flink作業(yè)進(jìn)行數(shù)據(jù)實(shí)時(shí)分析(商品銷售總額和銷售總額排名前五的店鋪),分析結(jié)果存入鯤鵬云關(guān)系型數(shù)據(jù)庫(kù)服務(wù)(Relational Database Service,RDS),最后通過(guò)數(shù)據(jù)可視化服務(wù)(Data Lake Visualization,DLV)讀取RDS中的數(shù)據(jù),提供豐富多樣的2D、3D可視化。
下面以實(shí)驗(yàn)1──華為FusionSphere虛擬化套件實(shí)驗(yàn)為例,介紹教學(xué)過(guò)程設(shè)計(jì)。實(shí)驗(yàn)1的教學(xué)目標(biāo)是使學(xué)生積掌握計(jì)算虛擬化理論,理解KVM、Xen以及華為的Fusion-Sphere的運(yùn)行機(jī)制。本文基于CDIO教學(xué)理念,按照構(gòu)思→設(shè)計(jì)→實(shí)施→改進(jìn)和展示的整體思路,設(shè)計(jì)以下教學(xué)過(guò)程。
首先,借鑒基于問(wèn)題的學(xué)習(xí)策略(PBL)[5],引導(dǎo)學(xué)生討論什么是虛擬化。接著,進(jìn)一步引導(dǎo)學(xué)生討論虛擬化帶來(lái)的特性,比如每臺(tái)物理機(jī)上同時(shí)運(yùn)行多個(gè)虛擬機(jī)可以提高硬件資源利用率,降低運(yùn)行成本;軟硬件的解耦使虛擬機(jī)可以不受當(dāng)前物理服務(wù)器的限制,在集群范圍內(nèi)實(shí)現(xiàn)虛擬機(jī)的在線動(dòng)態(tài)遷移,進(jìn)而實(shí)現(xiàn)高可用性、動(dòng)態(tài)資源調(diào)度、容錯(cuò)容災(zāi)等。然后,學(xué)生在學(xué)習(xí)平臺(tái)完成學(xué)習(xí)任務(wù),瀏覽相關(guān)實(shí)驗(yàn)指導(dǎo)書,對(duì)所進(jìn)行實(shí)驗(yàn)進(jìn)行總體構(gòu)思,明確詳細(xì)的項(xiàng)目?jī)?nèi)容和具體任務(wù),并在線完成課前測(cè)試。
采用互動(dòng)教學(xué)法,使用“學(xué)習(xí)通”平臺(tái)的投票和抽簽工具增加學(xué)生的參與度,活躍課堂氣氛。采用PBL教學(xué)法,使用“學(xué)習(xí)通”平臺(tái)的教學(xué)工具,設(shè)置提交的作業(yè),并投到大屏幕供全班同學(xué)分析和糾錯(cuò),學(xué)生要在講臺(tái)講解思路,接受其他同學(xué)的質(zhì)疑答辯。
教師回顧本次實(shí)驗(yàn)的知識(shí)點(diǎn)和技能點(diǎn),通過(guò)啟發(fā)討論和教學(xué)互動(dòng)的方式,引導(dǎo)學(xué)生總結(jié)歸納。
3.3.1 啟發(fā)式討論
討論1:結(jié)合1型和2型虛擬化的特點(diǎn)──分區(qū)、隔離、封裝和獨(dú)立,請(qǐng)2~3位同學(xué)分別結(jié)合自己所學(xué)、所見(jiàn)舉一些實(shí)際的例子來(lái)討論。
討論2:從介紹開源的虛擬化技術(shù)基于內(nèi)核的虛擬機(jī)(Kernel-based Virtual Machine,KVM)和Xen入手,討論KVM如何實(shí)現(xiàn)的CPU全虛擬化?為什么Xen可以同時(shí)支持全虛擬化和半虛擬化?引導(dǎo)學(xué)生從實(shí)際案例入手,逐步探討具體虛擬化解決方案背后所蘊(yùn)含的虛擬化思想。
3.3.2 適時(shí)提問(wèn)、溫故知新
提問(wèn)1:結(jié)合前述云計(jì)算的內(nèi)容,提問(wèn)1~2位同學(xué)有關(guān)什么是云計(jì)算的特點(diǎn),以及虛擬化和云計(jì)算的區(qū)別與聯(lián)系。
提問(wèn)2:FusionCompute是不是基于KVM開發(fā)的?如果是,那有沒(méi)有用到QEMU和Libvirt?
為了解決教學(xué)內(nèi)容與行業(yè)需求以及前沿技術(shù)脫節(jié)的問(wèn)題。我院與華為技術(shù)有限公司合作,聯(lián)合建設(shè)“智能基座”產(chǎn)教融合協(xié)同育人基地。將華為云計(jì)算技術(shù)引入到課程教學(xué)中,基于華為鯤鵬云計(jì)算基礎(chǔ)設(shè)施開展教學(xué)。通過(guò)校企合作,加快新工科建設(shè),以產(chǎn)業(yè)和技術(shù)發(fā)展的最新需求推動(dòng)高校人才培養(yǎng)改革、教學(xué)資源建設(shè)。
為了提高師資水平,我院安排課程負(fù)責(zé)人和骨干教師參加”全國(guó)高校計(jì)算機(jī)系統(tǒng)能力提升高級(jí)研修班”,學(xué)習(xí)華為云計(jì)算課程,并獲得全國(guó)高等學(xué)校計(jì)算機(jī)教育研究會(huì)聯(lián)合華為公司共同頒發(fā)的結(jié)業(yè)證書。
圖1 結(jié)業(yè)證書
實(shí)驗(yàn)的展開需要強(qiáng)大的云計(jì)算基礎(chǔ)設(shè)施做支撐,表2為實(shí)驗(yàn)1所需的設(shè)備清單。建立云計(jì)算實(shí)驗(yàn)室的成本高,不但需要投入大量的資金購(gòu)買計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)設(shè)備,還需要專人對(duì)設(shè)備進(jìn)行運(yùn)維。通過(guò)與華為合作,每次實(shí)驗(yàn)所需的云計(jì)算資源和服務(wù)都以華為云代金的方式提供給學(xué)生,大大降低了開設(shè)云計(jì)算相關(guān)實(shí)驗(yàn)的投入。
表2 實(shí)驗(yàn)1所需設(shè)備清單
在“學(xué)習(xí)通”平臺(tái)建課。根據(jù)課程的培養(yǎng)目標(biāo),實(shí)現(xiàn)課程教學(xué)資源的上傳下載、教學(xué)任務(wù)的布置、師生在線討論答疑、學(xué)生作業(yè)提交、老師在線考核、開源項(xiàng)目的共享等功能。
為了提高云計(jì)算綜合實(shí)訓(xùn)的教學(xué)效果,促進(jìn)學(xué)生實(shí)踐能力的培養(yǎng)。我院與華為技術(shù)有限公司合作,通過(guò)聯(lián)合建設(shè)“智能基座”產(chǎn)教融合協(xié)同育人基地,將華為云計(jì)算技術(shù)引入到課程教學(xué)中,基于華為鯤鵬云計(jì)算基礎(chǔ)設(shè)施開展實(shí)踐教學(xué)。本文基于CDIO教學(xué)理念設(shè)計(jì)教學(xué)過(guò)程,通過(guò)情境教學(xué)法優(yōu)化教學(xué)內(nèi)容,創(chuàng)建適當(dāng)規(guī)模的案例,引導(dǎo)學(xué)生主動(dòng)思考。本次教學(xué)改革歷時(shí)一年多,通過(guò)對(duì)2018級(jí)同學(xué)展開調(diào)查,結(jié)果顯示學(xué)生對(duì)該課程的獲得感明顯提升,學(xué)生的動(dòng)手能力和學(xué)習(xí)主動(dòng)性有顯著提高。