張少嫻, 陳云芳
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 南京 210046 )
MySQL作為一種常用的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),由于其開源、穩(wěn)定、安全等特性,在企業(yè)管理軟件、Web應(yīng)用軟件等各個(gè)方面受到用戶的青睞。鑒于該產(chǎn)品應(yīng)用的廣泛性,我校開設(shè)了“大型數(shù)據(jù)庫技術(shù)”這門課程作為計(jì)算機(jī)及相關(guān)專業(yè)的專業(yè)課,該課程是一門與實(shí)踐緊密結(jié)合的課程,要求學(xué)生通過上機(jī)和綜合實(shí)驗(yàn),熟悉大型數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品MySQL,熟練掌握MySQL數(shù)據(jù)庫基本操作、開發(fā)以及日常運(yùn)維優(yōu)化方法。在實(shí)際教學(xué)中一些問題不可避免地?cái)[在我們面前:實(shí)驗(yàn)課時(shí)太少、課外實(shí)驗(yàn)缺乏監(jiān)管和指導(dǎo);從實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)方法的制定到實(shí)驗(yàn)結(jié)果的處理,學(xué)生都是被動(dòng)的接受者,學(xué)生的實(shí)踐需求較難反映給教師,學(xué)生和教師很難進(jìn)行實(shí)時(shí)交流,出現(xiàn)學(xué)生迷惑實(shí)驗(yàn)初衷,教師也較難把握實(shí)驗(yàn)效果的兩難境地,影響實(shí)驗(yàn)教學(xué)的質(zhì)量。尤其2020 年新冠肺炎疫情這樣的突發(fā)公共事件,更是給線下實(shí)驗(yàn)教學(xué)帶來了巨大的沖擊。為了突破傳統(tǒng)線下實(shí)驗(yàn)教學(xué)受時(shí)間、場(chǎng)地、軟硬設(shè)備和師資條件的制約,設(shè)計(jì)與開發(fā)基于云的線上實(shí)驗(yàn)環(huán)境就顯得十分有意義。
云計(jì)算是分布式計(jì)算、網(wǎng)格計(jì)算、并行計(jì)算、虛擬化和網(wǎng)絡(luò)存儲(chǔ)等技術(shù)融合發(fā)展的結(jié)果,具有虛擬化資源、資源池式管理和彈性擴(kuò)展提供服務(wù)的特點(diǎn)。在云中,所有的資源包括硬件、
軟件、平臺(tái)均是作為服務(wù)被傳遞的,所有云用戶都可以通過網(wǎng)絡(luò)從“云”所提供的資源中獲得所需要的服務(wù)。在云用戶端看來,“云” 中的資源是動(dòng)態(tài)的、無限擴(kuò)展的、虛擬化的,并且可以隨時(shí)獲取,按需使用。從這個(gè)角度來看,云計(jì)算具有節(jié)省成本、資源利用率高、擴(kuò)展性強(qiáng)等優(yōu)勢(shì),進(jìn)而體現(xiàn)出云計(jì)算“一切皆服務(wù)”的基本理念[1]。
本在線實(shí)驗(yàn)平臺(tái)的開發(fā),最終選擇了阿里云作為系統(tǒng)的云平臺(tái),相比較于傳統(tǒng)的服務(wù)器商家,阿里云會(huì)嚴(yán)格執(zhí)行服務(wù)器準(zhǔn)入標(biāo)準(zhǔn)以及運(yùn)維標(biāo)準(zhǔn),以保證整個(gè)云計(jì)算的高可用性,數(shù)據(jù)的可靠性。并且阿里云每個(gè)地區(qū)提供不同的服務(wù)區(qū),面對(duì)不同的地域和行業(yè)都可以在阿里云上找到對(duì)應(yīng)的解決方法。
俗話說“眼過千遍,不如手過一遍”,該門課程是一門實(shí)踐性很強(qiáng)的課程,實(shí)驗(yàn)內(nèi)容的設(shè)置最終要以學(xué)生掌握知識(shí)、并提高學(xué)習(xí)能力為目標(biāo)[2],因此存在幾個(gè)關(guān)鍵的問題:(1)實(shí)驗(yàn)任務(wù)的設(shè)計(jì)要有啟發(fā)性和科學(xué)性,能啟發(fā)學(xué)生進(jìn)行邏輯推理,并能培養(yǎng)學(xué)生的動(dòng)手能力和綜合解決實(shí)際問題能力。(2)知識(shí)點(diǎn)的掌握。實(shí)驗(yàn)的目的就是讓學(xué)生能夠通過實(shí)驗(yàn)環(huán)節(jié)掌握知識(shí)點(diǎn),并能運(yùn)用相關(guān)知識(shí)點(diǎn)解決實(shí)際問題,這對(duì)于教師提出更高的要求,需要思考如何提出一個(gè)完善的實(shí)驗(yàn)方案才能夠涉及相關(guān)的知識(shí)點(diǎn),同時(shí),該實(shí)驗(yàn)方案又能從多個(gè)角度培養(yǎng)學(xué)生思考問題、解決問題的能力以及培養(yǎng)學(xué)生創(chuàng)新思維和創(chuàng)新能力。
針對(duì)理論教學(xué)中的重要知識(shí)點(diǎn),筆者精心地設(shè)計(jì)了實(shí)驗(yàn)課程方案,設(shè)計(jì)了如下的實(shí)驗(yàn)考核內(nèi)容[3]。編寫了詳細(xì)的實(shí)驗(yàn)指導(dǎo)書,明確學(xué)生的上機(jī)目的和步驟。
實(shí)驗(yàn)一:MySQL數(shù)據(jù)庫安裝配置及基礎(chǔ)使用(2學(xué)時(shí))。
實(shí)驗(yàn)二:MySQL數(shù)據(jù)庫的開發(fā)基礎(chǔ)(2學(xué)時(shí))。
實(shí)驗(yàn)三:MySQL的進(jìn)階開發(fā)技巧(4學(xué)時(shí))。
實(shí)驗(yàn)四:MySQL管理維護(hù)(2學(xué)時(shí))。
實(shí)驗(yàn)五:MySQL數(shù)據(jù)庫建模(2學(xué)時(shí))。
整個(gè)系統(tǒng)有3個(gè)模塊:學(xué)生、老師以及管理員。學(xué)生功能區(qū)模塊主要包括通知公告、在線實(shí)驗(yàn)、查詢成績(jī)、資料下載、交流區(qū)5個(gè)模塊;老師功能區(qū)模塊主要包括學(xué)生信息管理、實(shí)驗(yàn)管理、視頻教學(xué)、發(fā)布公告、實(shí)驗(yàn)答疑、導(dǎo)出功能;管理員模塊功能包括管理實(shí)驗(yàn)老師的相關(guān)信息、實(shí)驗(yàn)資源管理、發(fā)布和刪除各種通知[4]。
學(xué)生模塊主要功能有以下幾項(xiàng)。
(1)通知公告:及時(shí)地獲得老師發(fā)送的與本班級(jí)相關(guān)的實(shí)驗(yàn)公告。
(2)在線實(shí)驗(yàn):學(xué)生通過老師分配的用戶名和密碼進(jìn)入到已經(jīng)配置好的phpMyAdmin圖形化界面,建立以自己學(xué)號(hào)命名的數(shù)據(jù)庫,根據(jù)教師提供的實(shí)驗(yàn)教程進(jìn)行在線實(shí)驗(yàn),完成實(shí)驗(yàn)操作后,在線提交實(shí)驗(yàn)報(bào)告,等待教師批改、查看。
(3)查詢成績(jī):學(xué)生可查詢每次實(shí)驗(yàn)的成績(jī)以及教師的批改意見。
(4)資料下載:下載教師提供的各種實(shí)驗(yàn)配套資源,包括各種實(shí)驗(yàn)教程以及實(shí)驗(yàn)視頻。
(5)交流區(qū):學(xué)生對(duì)實(shí)驗(yàn)的疑惑或者建議,都可以通過這功能區(qū)反饋,并能查看到老師的回復(fù)。
老師模塊主要功能有以下幾項(xiàng)。
(1)學(xué)生信息管理:班級(jí)信息的增刪改、班級(jí)成員的管理。
(2)實(shí)驗(yàn)管理:實(shí)驗(yàn)項(xiàng)目的增刪改、布置實(shí)驗(yàn)(將某個(gè)實(shí)驗(yàn)作為某個(gè)班級(jí)的一個(gè)實(shí)驗(yàn)內(nèi)容);老師可以根據(jù)班級(jí)和實(shí)驗(yàn)名搜索班級(jí)實(shí)驗(yàn)報(bào)告的提交進(jìn)度;通過查看實(shí)驗(yàn)詳情檢查當(dāng)前班級(jí)的學(xué)生的實(shí)驗(yàn)完成情況,查看實(shí)驗(yàn)詳情還包括搜索、查看實(shí)驗(yàn)報(bào)告、批改實(shí)驗(yàn)報(bào)告三個(gè)基礎(chǔ)功能。老師可查看本班所有學(xué)生的實(shí)驗(yàn)詳情,也通過學(xué)生姓名進(jìn)行搜索,搜索結(jié)果包括學(xué)生的學(xué)號(hào)、姓名、提交狀態(tài)、實(shí)驗(yàn)批改狀態(tài)以及評(píng)分、評(píng)語等基本信息,對(duì)未批改的實(shí)驗(yàn)報(bào)告進(jìn)行審閱及評(píng)分。
(3)視頻教學(xué):老師可錄制視頻并上傳至平臺(tái)以供學(xué)生能夠隨時(shí)隨地的進(jìn)行學(xué)習(xí),對(duì)于錄制好的視頻課程可及時(shí)地更新或者下架、刪除等操作[5]。
(4)發(fā)布公告:發(fā)布實(shí)驗(yàn)任務(wù)、實(shí)驗(yàn)報(bào)告上交時(shí)間等公告信息。
(5)實(shí)驗(yàn)答疑:對(duì)學(xué)生提出的關(guān)于實(shí)驗(yàn)的疑惑進(jìn)行回復(fù)。
(6)導(dǎo)出功能:可以按班級(jí)批量導(dǎo)出學(xué)生的實(shí)驗(yàn)報(bào)告。
該在線實(shí)驗(yàn)平臺(tái)整體采用 B/S 架構(gòu),前端頁面展示采用 JSP 技術(shù),后臺(tái)使用 Tornado框架以及SSH框架進(jìn)行開發(fā),數(shù)據(jù)存儲(chǔ)采用 My SQL、Redis,數(shù)據(jù)庫負(fù)載均衡采用MyCat,并以 Tomcat 作為服務(wù)器。在云服務(wù)器中安裝配置了MySQL數(shù)據(jù)庫,并安裝了MySQL的圖形化管理軟件phpMyAdmin,通過使用phpMyAdmin完成在線實(shí)驗(yàn)。同時(shí)在代碼開發(fā)過程中,對(duì)各個(gè)瀏覽器的兼容問題做出相應(yīng)的樣式解決和相關(guān)適配,對(duì)樣式與JavaScript進(jìn)行兼容調(diào)整,以保證在多種瀏覽器及高版本中準(zhǔn)確執(zhí)行,隨時(shí)滿足不同用戶的要求。并且,加入了移動(dòng)端的適配,部分手機(jī)也可以訪問該網(wǎng)頁。
在線實(shí)驗(yàn)的入口界面如圖1所示。教師查看班級(jí)實(shí)驗(yàn)報(bào)告的提交進(jìn)度頁面如圖2所示。按班級(jí)、實(shí)驗(yàn)名搜索實(shí)驗(yàn)詳情頁面如圖3所示。
圖1 在線實(shí)驗(yàn)的入口
圖2 實(shí)驗(yàn)管理頁面1
圖3 實(shí)驗(yàn)管理頁面2
本文所展示的基于云的數(shù)據(jù)庫在線實(shí)驗(yàn)平臺(tái)使學(xué)生可以不受時(shí)空的限制,隨時(shí)隨地完成實(shí)驗(yàn)操作;平臺(tái)上的各種學(xué)習(xí)資源都是實(shí)時(shí)更新的,學(xué)生可實(shí)時(shí)獲取豐富的學(xué)習(xí)資源;老師可以針對(duì)每個(gè)實(shí)驗(yàn)進(jìn)行統(tǒng)一的實(shí)驗(yàn)環(huán)境配置與管理,免去了學(xué)生自己配置環(huán)境的煩瑣過程,從而使學(xué)生把所有精力投入知識(shí)點(diǎn)的學(xué)習(xí);方便教師布置和批改實(shí)驗(yàn)報(bào)告,便于教師與學(xué)生之間的信息交流,從而高質(zhì)量地完成實(shí)驗(yàn)教學(xué)工作,也為新冠肺炎疫情防控期間教學(xué)的順利進(jìn)行提供了大力的支持。
由于準(zhǔn)備時(shí)間比較倉促,基于云的數(shù)據(jù)庫在線實(shí)驗(yàn)平臺(tái)還需要進(jìn)一步地完善和改進(jìn)功能,進(jìn)一步提高學(xué)生自主獲取知識(shí)和創(chuàng)新的能力。