黃廣坤
摘 要 簡要分析云服務(wù)器的優(yōu)勢、數(shù)據(jù)庫結(jié)構(gòu)、如何搭建服務(wù)器數(shù)據(jù)平臺,以及系統(tǒng)主要功能及類模塊的設(shè)計,構(gòu)建了一個基于云存儲的實驗教學(xué)平臺,可通過計算機和移動設(shè)備2個終端進行實驗教學(xué)的信息采集、信息發(fā)布及教學(xué)管理,實現(xiàn)了對實驗教學(xué)的智能信息化管理。
關(guān)鍵詞 云存儲 ;實驗教學(xué)平臺 ;信息化管理
中圖分類號 TP311
Design and Implementation of Experimental Teaching Platform Based on Cloud Storage
HUANG Guangkun
(Mechanical and Electrical Engineering College, Hainan University, Haikou, Hainan 570228)
Abstract Experimental teaching is an important link of teaching in universities. The aim of is to realize the intelligent information management of experiment teaching. Method is to build an experimental teaching platform based on storage, information for experimental teaching by the two terminal computer and mobile publishing and teaching management. Through this platform, a college can grasp the information in the classroom; on the other hand, the platform is helpful to improve the teachers teaching quality.
Key words cloud storage ; experimental teaching platform ; teaching informatization
云存儲是計算機領(lǐng)域當(dāng)前最熱門的一個研究方向,是在云計算概念基礎(chǔ)上延伸和發(fā)展出來的一個新概念。云存儲能將需要存儲的數(shù)據(jù),通過云算法存儲在一個廣域分布、存儲介質(zhì)數(shù)量不單一、硬件類型不唯一的存儲設(shè)備中,使用者可以在任何時間、任何地方,透過任何可連網(wǎng)的裝置連接到云上方便地存取數(shù)據(jù)[1]。實驗教學(xué)是高校教學(xué)體系中的基本組成部分,是學(xué)生深入領(lǐng)悟課堂知識的重要環(huán)節(jié)。而實驗教學(xué)信息化能夠提高實驗教學(xué)的質(zhì)量,加強教師與學(xué)生之間的信息溝通,從側(cè)面豐富教學(xué)內(nèi)容。一個完善的教學(xué)管理平臺,能夠影響高等學(xué)校的教學(xué)工作水平和人才培養(yǎng)質(zhì)量,對于提高教師教學(xué)質(zhì)量和學(xué)科建設(shè)也具有重要意義。根據(jù)高校實際教學(xué)的需求,以系統(tǒng)化的軟件平臺為基礎(chǔ),不斷完善實驗教學(xué)網(wǎng)絡(luò)延伸體系,以實現(xiàn)實驗教學(xué)信息化。目前,已有學(xué)者開展了云存儲在教學(xué)資源整合[2]、教學(xué)資源管理[3]、管理模式與管理系統(tǒng)設(shè)計[4]、典型應(yīng)用[5]、架構(gòu)研究與設(shè)計[6-8]等方面的研究。筆者圍繞高效實驗教學(xué)管理,研究基于云存儲的實驗教學(xué)平臺的設(shè)計和實現(xiàn)。
1 云服務(wù)器的優(yōu)勢
由于一般的校園網(wǎng)服務(wù)器或企業(yè)級服務(wù)器無法滿足瞬時迸發(fā)通訊、大數(shù)據(jù)計算等要求,為實現(xiàn)教師與學(xué)生的計算機與手機2種終端能夠聯(lián)結(jié),本系統(tǒng)采用云服務(wù)器。
1.1 超大規(guī)模
Google的“云”擁有上百萬服務(wù)器,國內(nèi)的阿里云也擁有將近百萬的多類型服務(wù)器,巨量的云服務(wù)器結(jié)合一起,能賦予用戶前所未有的通訊及計算能力。
1.2 虛擬化服務(wù)器端
不需要用戶自己架設(shè)光纖及服務(wù)器,不需要了解運行時服務(wù)器的具體位置,只要鏈接服務(wù)器的IP,就可以獲取服務(wù)。
1.3 高可靠及安全性
由于傳統(tǒng)的B/S管理系統(tǒng)的局限性,不可避免會遇到外來的攻擊破壞。“云”使用了數(shù)據(jù)多副本容錯、計算節(jié)點同構(gòu)可互換等措施以保障服務(wù)的高可靠性,使用云計算比使用本地計算機更加可靠。同時,阿里云、谷歌等頂級云服務(wù)器服務(wù)供應(yīng)商都有一批專業(yè)的數(shù)據(jù)安全管理人員,比傳統(tǒng)的中小型服務(wù)器安全性高得多。
1.4 多終端通用性
云計算不針對特定的應(yīng)用,在“云”的支撐下可以構(gòu)造出千變?nèi)f化的應(yīng)用,同一片“云”可以同時支撐不同的應(yīng)用運行。計算機、移動終端、嵌入式設(shè)備和各類型中小服務(wù)器等都可以加入云服務(wù)器。
2 數(shù)據(jù)庫結(jié)構(gòu)
2.1 學(xué)生信息表
記錄學(xué)生的學(xué)籍信息,包括姓名、學(xué)號、性別、班級和聯(lián)系方式等。由于學(xué)生學(xué)號唯一且不為空,學(xué)生的學(xué)號是最主要的索引數(shù)據(jù)列,系統(tǒng)中的大部分與學(xué)生相關(guān)的數(shù)據(jù)表都用學(xué)生學(xué)號作為索引。
2.2 教師信息表
記錄教師的基本信息,包括姓名、工號、性別和聯(lián)系方式等。由于工號唯一且不為空,工號是最主要的索引數(shù)據(jù)列,系統(tǒng)中的大部分與教師相關(guān)的數(shù)據(jù)表都用工號作為索引。
2.3 課程信息表
記錄所有課程的基本信息,包括課程名、考試或考查課和課程索引號等。由于課程是維持?jǐn)?shù)年不變的,而班級是每學(xué)期變動的,因此以班號及課程號為雙索引。
2.4 學(xué)生考勤表
記錄所有學(xué)生的出勤信息。以學(xué)生學(xué)號作為查閱學(xué)生的索引,以課程索引號作為查閱課程的索引。每一堂課每一個學(xué)生都有相應(yīng)的出勤登記,出勤登記列數(shù)值為BOOL類型.
2.5 學(xué)生課程成績表
記錄所有學(xué)生所有課程成績,用學(xué)生學(xué)號作為查閱學(xué)生成績的索引。
2.6 教師布置作業(yè)表
記錄教師每節(jié)課的作業(yè)布置,以課程號和班級號作為雙索引,作業(yè)內(nèi)容為LONGTXT類型。
2.7 學(xué)生獎懲表
記錄每個學(xué)生的獎懲,以學(xué)號作為索引。
2.8 教師備課表
記錄每個教師每堂課的備課信息,以課程號及教師工號作為索引。
2.9 教師課堂評分表
記錄教師的課程評分,評分由教學(xué)組督導(dǎo)打分。
2.10 教室情況表
記錄學(xué)校所有教室的信息。
3 搭建服務(wù)器數(shù)據(jù)平臺
云服務(wù)器要實現(xiàn)數(shù)據(jù)管理平臺的功能,就需要在云服務(wù)器上搭建一個統(tǒng)一的數(shù)據(jù)集控制器,將所有的信息服務(wù)都布置在云服務(wù)器上。
3.1 在云端開通一個面向?qū)嶒灲虒W(xué)管理平臺的端口
通過該端口可以聯(lián)結(jié)云服務(wù)器中的某一區(qū)域,這一區(qū)域數(shù)據(jù)容量是固定的,但硬件絕對地址是不固定的,即端口所面向的硬件設(shè)備由云端中心處理器以云算法分配,可隨時變更。端口架設(shè)完成后,服務(wù)器管理員可以通過“遠(yuǎn)程桌面”直接管理云數(shù)據(jù)。
3.2 Web應(yīng)用程序平臺
通過“遠(yuǎn)程桌面”,在云服務(wù)器上安裝WAMP,WAMP是Windows下的一組用來搭建服務(wù)器的開源集成平臺,由Apache、Mysql/MariaDB、Perl/PHP/Python組成。平臺的各個軟件本身都是各自獨立的程序,但因為放在一起使用,擁有越來越高的兼容度,共同組成一個強大的Web應(yīng)用程序平臺。
3.3 在WAMP搭建的平臺上搭建數(shù)據(jù)庫
數(shù)據(jù)庫統(tǒng)一采用UTF-8編碼。
4 系統(tǒng)主要功能及類模塊的設(shè)計
4.1 學(xué)生課堂出勤記錄
為實現(xiàn)平臺自動記錄學(xué)生課堂出勤情況,教師在每堂課開始前,在講臺上布置一個攝像頭。每個學(xué)生都要在攝像頭前停留2-3 s,攝像頭掃描學(xué)生相貌。攝像頭掃描到學(xué)生的相貌后,平臺通過人臉識別模塊分辨學(xué)生。人臉識別的實現(xiàn)是通過購買比較完善的人臉識別模塊,在此基礎(chǔ)上進行二次開發(fā)。每一個被攝像頭掃描到的學(xué)生,將會在本課堂的出勤表上自動添加記錄。
4.2 教師布置作業(yè)
教師以自己的帳號及密碼登錄平臺后,布置每一堂課的作業(yè),作業(yè)以文本的形式記錄在數(shù)據(jù)庫中,學(xué)生可以通過手機、電腦瀏覽作業(yè)信息。
4.3 學(xué)生與教師對話留言
學(xué)生可以在平臺上給教師留言。留言板做成聊天室樣式,本平臺是B/S結(jié)構(gòu),采用jquery、ajax結(jié)合實現(xiàn)界面無刷新。如果做成自動更新通話內(nèi)容,需要在客戶端加入時間觸發(fā)器,觸發(fā)時間間隔以秒計算,這樣會給服務(wù)器造成極大的負(fù)載,因此通話內(nèi)容由手動更新。
4.4 平臺管理員信息管理
平臺管理員可以對平臺的所有信息進行增刪改及信息維護。
4.5 數(shù)據(jù)庫防注入模塊
為了平臺數(shù)據(jù)安全,在平臺中加入防治注入模塊。當(dāng)應(yīng)用程序使用輸入內(nèi)容來構(gòu)造動態(tài)sql語句以訪問數(shù)據(jù)庫時,會發(fā)生sql注入攻擊。如果代碼使用存儲過程,而這些存儲過程作為包含未篩選的用戶輸入的字符串來傳遞,也會發(fā)生sql注入。sql注入可能導(dǎo)致攻擊者使用應(yīng)用程序登陸在數(shù)據(jù)庫中執(zhí)行命令。相關(guān)的sql注入可以通過測試工具pangolin進行。如果應(yīng)用程序使用特權(quán)過高的帳戶連接到數(shù)據(jù)庫,這種問題會變得更嚴(yán)重。在某些表單中,用戶輸入的內(nèi)容直接用來構(gòu)造動態(tài)sql命令,或者作為存儲過程的輸入?yún)?shù),這些表單特別容易受到sql注入的攻擊。而許多網(wǎng)站程序在編寫時,沒有對用戶輸入的合法性進行判斷或者程序中本身的變量處理不當(dāng),使應(yīng)用程序存在安全隱患。用戶倘若提交一段數(shù)據(jù)庫查詢的代碼,根據(jù)程序返回的結(jié)果,獲得一些敏感的信息或者控制整個服務(wù)器,于是sql注入就發(fā)生了[1]。
為了防治注入,必須在每一個信息加入點添加以下模塊:
function unhtml($content){
$content = str_replace(">",">;",$content);
$content = str_replace("<","<;",$content);
$content = str_replace(" ","?;",$content);
$content = str_replace(" ","?;",$content);
$content = str_replace("\"","";",$content);
$content = str_replace("\'","';",$content);
$content = str_replace("\n","
",$content);
return trim($content);}
4.6 基于AJAX的信息添加模塊
所有信息的添加都通過相同的信息添加模塊完成,模塊如下:
$.ajax({
type: 'POST',
url: 'admin_zuohao_mingxi.php',
data: {'id':MingxiID},
dataType:'json',
success:function(json){
}}
其中url為需要鏈接數(shù)據(jù)庫的PHP文件地址,data是需要添加的數(shù)據(jù)。
通過平臺的實際運用,實驗教學(xué)已經(jīng)實現(xiàn)教師和學(xué)生通過電腦、移動2種終端的互動聯(lián)結(jié),同時利用網(wǎng)絡(luò)的強大功能,實現(xiàn)課程作業(yè)、師生交流、教師備課、學(xué)生出勤等信息化。實驗教學(xué)平臺在培養(yǎng)學(xué)生的實踐能力、研究能力、創(chuàng)新能力和綜合素質(zhì)等方面有著其他教學(xué)環(huán)節(jié)所不能替代的獨特作用,它能激發(fā)學(xué)生學(xué)習(xí)興趣,調(diào)動學(xué)生學(xué)習(xí)積極性,為培養(yǎng)學(xué)生的創(chuàng)新意識,提高實際動手能力和設(shè)計能力,提供了新的教學(xué)手段和模式。通過該平臺,學(xué)??梢陨钊胝莆崭鱾€實驗教學(xué)課堂情況,還有助于提高教師的實驗教學(xué)質(zhì)量。
參考文獻(xiàn)
[1] 葉新偉. PHP+AJAX WEB2.0編程技術(shù)與項目開發(fā)大全[M]. 北京:電子工業(yè)出版社,2008.
[2] 高宏卿,汪 浩. 基于云存儲的教學(xué)資源整合研究與實現(xiàn)[J]. 現(xiàn)代教育技術(shù),2010(3):97-101.
[3] 王文增. 基于云存儲的教學(xué)資源管理系統(tǒng)設(shè)計與開發(fā)[D]. 天津:天津師范大學(xué),2013.
[4] 張延玲,劉金鵬. 高校教學(xué)資源云存儲模式研究[J]. 福建電腦,2014(2):44-45,64.
[5] 謝志昆,黃天慧,孫宙紅. 云存儲服務(wù)在高校教學(xué)中的應(yīng)用[J]. 軟件導(dǎo)刊(教育技術(shù)),2013(4):79-81.
[6] 顧邦軍,王福來,田 毅,等. 教學(xué)資源的云存儲架構(gòu)研究[J]. 福建電腦,2013(9):44-45,129.
[7] 郭曉晨,張 磊. 高校教學(xué)資源云存儲中心的研究與設(shè)計[J]. 通化師范學(xué)院學(xué)報,2013(6):33-35.
[8] 劉 鶴,宋玉琴. 探析云存儲在教學(xué)管理平臺的應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2012(11):129-131,150.
2.6 教師布置作業(yè)表
記錄教師每節(jié)課的作業(yè)布置,以課程號和班級號作為雙索引,作業(yè)內(nèi)容為LONGTXT類型。
2.7 學(xué)生獎懲表
記錄每個學(xué)生的獎懲,以學(xué)號作為索引。
2.8 教師備課表
記錄每個教師每堂課的備課信息,以課程號及教師工號作為索引。
2.9 教師課堂評分表
記錄教師的課程評分,評分由教學(xué)組督導(dǎo)打分。
2.10 教室情況表
記錄學(xué)校所有教室的信息。
3 搭建服務(wù)器數(shù)據(jù)平臺
云服務(wù)器要實現(xiàn)數(shù)據(jù)管理平臺的功能,就需要在云服務(wù)器上搭建一個統(tǒng)一的數(shù)據(jù)集控制器,將所有的信息服務(wù)都布置在云服務(wù)器上。
3.1 在云端開通一個面向?qū)嶒灲虒W(xué)管理平臺的端口
通過該端口可以聯(lián)結(jié)云服務(wù)器中的某一區(qū)域,這一區(qū)域數(shù)據(jù)容量是固定的,但硬件絕對地址是不固定的,即端口所面向的硬件設(shè)備由云端中心處理器以云算法分配,可隨時變更。端口架設(shè)完成后,服務(wù)器管理員可以通過“遠(yuǎn)程桌面”直接管理云數(shù)據(jù)。
3.2 Web應(yīng)用程序平臺
通過“遠(yuǎn)程桌面”,在云服務(wù)器上安裝WAMP,WAMP是Windows下的一組用來搭建服務(wù)器的開源集成平臺,由Apache、Mysql/MariaDB、Perl/PHP/Python組成。平臺的各個軟件本身都是各自獨立的程序,但因為放在一起使用,擁有越來越高的兼容度,共同組成一個強大的Web應(yīng)用程序平臺。
3.3 在WAMP搭建的平臺上搭建數(shù)據(jù)庫
數(shù)據(jù)庫統(tǒng)一采用UTF-8編碼。
4 系統(tǒng)主要功能及類模塊的設(shè)計
4.1 學(xué)生課堂出勤記錄
為實現(xiàn)平臺自動記錄學(xué)生課堂出勤情況,教師在每堂課開始前,在講臺上布置一個攝像頭。每個學(xué)生都要在攝像頭前停留2-3 s,攝像頭掃描學(xué)生相貌。攝像頭掃描到學(xué)生的相貌后,平臺通過人臉識別模塊分辨學(xué)生。人臉識別的實現(xiàn)是通過購買比較完善的人臉識別模塊,在此基礎(chǔ)上進行二次開發(fā)。每一個被攝像頭掃描到的學(xué)生,將會在本課堂的出勤表上自動添加記錄。
4.2 教師布置作業(yè)
教師以自己的帳號及密碼登錄平臺后,布置每一堂課的作業(yè),作業(yè)以文本的形式記錄在數(shù)據(jù)庫中,學(xué)生可以通過手機、電腦瀏覽作業(yè)信息。
4.3 學(xué)生與教師對話留言
學(xué)生可以在平臺上給教師留言。留言板做成聊天室樣式,本平臺是B/S結(jié)構(gòu),采用jquery、ajax結(jié)合實現(xiàn)界面無刷新。如果做成自動更新通話內(nèi)容,需要在客戶端加入時間觸發(fā)器,觸發(fā)時間間隔以秒計算,這樣會給服務(wù)器造成極大的負(fù)載,因此通話內(nèi)容由手動更新。
4.4 平臺管理員信息管理
平臺管理員可以對平臺的所有信息進行增刪改及信息維護。
4.5 數(shù)據(jù)庫防注入模塊
為了平臺數(shù)據(jù)安全,在平臺中加入防治注入模塊。當(dāng)應(yīng)用程序使用輸入內(nèi)容來構(gòu)造動態(tài)sql語句以訪問數(shù)據(jù)庫時,會發(fā)生sql注入攻擊。如果代碼使用存儲過程,而這些存儲過程作為包含未篩選的用戶輸入的字符串來傳遞,也會發(fā)生sql注入。sql注入可能導(dǎo)致攻擊者使用應(yīng)用程序登陸在數(shù)據(jù)庫中執(zhí)行命令。相關(guān)的sql注入可以通過測試工具pangolin進行。如果應(yīng)用程序使用特權(quán)過高的帳戶連接到數(shù)據(jù)庫,這種問題會變得更嚴(yán)重。在某些表單中,用戶輸入的內(nèi)容直接用來構(gòu)造動態(tài)sql命令,或者作為存儲過程的輸入?yún)?shù),這些表單特別容易受到sql注入的攻擊。而許多網(wǎng)站程序在編寫時,沒有對用戶輸入的合法性進行判斷或者程序中本身的變量處理不當(dāng),使應(yīng)用程序存在安全隱患。用戶倘若提交一段數(shù)據(jù)庫查詢的代碼,根據(jù)程序返回的結(jié)果,獲得一些敏感的信息或者控制整個服務(wù)器,于是sql注入就發(fā)生了[1]。
為了防治注入,必須在每一個信息加入點添加以下模塊:
function unhtml($content){
$content = str_replace(">",">;",$content);
$content = str_replace("<","<;",$content);
$content = str_replace(" ","?;",$content);
$content = str_replace(" ","?;",$content);
$content = str_replace("\"","";",$content);
$content = str_replace("\'","';",$content);
$content = str_replace("\n","
",$content);
return trim($content);}
4.6 基于AJAX的信息添加模塊
所有信息的添加都通過相同的信息添加模塊完成,模塊如下:
$.ajax({
type: 'POST',
url: 'admin_zuohao_mingxi.php',
data: {'id':MingxiID},
dataType:'json',
success:function(json){
}}
其中url為需要鏈接數(shù)據(jù)庫的PHP文件地址,data是需要添加的數(shù)據(jù)。
通過平臺的實際運用,實驗教學(xué)已經(jīng)實現(xiàn)教師和學(xué)生通過電腦、移動2種終端的互動聯(lián)結(jié),同時利用網(wǎng)絡(luò)的強大功能,實現(xiàn)課程作業(yè)、師生交流、教師備課、學(xué)生出勤等信息化。實驗教學(xué)平臺在培養(yǎng)學(xué)生的實踐能力、研究能力、創(chuàng)新能力和綜合素質(zhì)等方面有著其他教學(xué)環(huán)節(jié)所不能替代的獨特作用,它能激發(fā)學(xué)生學(xué)習(xí)興趣,調(diào)動學(xué)生學(xué)習(xí)積極性,為培養(yǎng)學(xué)生的創(chuàng)新意識,提高實際動手能力和設(shè)計能力,提供了新的教學(xué)手段和模式。通過該平臺,學(xué)??梢陨钊胝莆崭鱾€實驗教學(xué)課堂情況,還有助于提高教師的實驗教學(xué)質(zhì)量。
參考文獻(xiàn)
[1] 葉新偉. PHP+AJAX WEB2.0編程技術(shù)與項目開發(fā)大全[M]. 北京:電子工業(yè)出版社,2008.
[2] 高宏卿,汪 浩. 基于云存儲的教學(xué)資源整合研究與實現(xiàn)[J]. 現(xiàn)代教育技術(shù),2010(3):97-101.
[3] 王文增. 基于云存儲的教學(xué)資源管理系統(tǒng)設(shè)計與開發(fā)[D]. 天津:天津師范大學(xué),2013.
[4] 張延玲,劉金鵬. 高校教學(xué)資源云存儲模式研究[J]. 福建電腦,2014(2):44-45,64.
[5] 謝志昆,黃天慧,孫宙紅. 云存儲服務(wù)在高校教學(xué)中的應(yīng)用[J]. 軟件導(dǎo)刊(教育技術(shù)),2013(4):79-81.
[6] 顧邦軍,王福來,田 毅,等. 教學(xué)資源的云存儲架構(gòu)研究[J]. 福建電腦,2013(9):44-45,129.
[7] 郭曉晨,張 磊. 高校教學(xué)資源云存儲中心的研究與設(shè)計[J]. 通化師范學(xué)院學(xué)報,2013(6):33-35.
[8] 劉 鶴,宋玉琴. 探析云存儲在教學(xué)管理平臺的應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2012(11):129-131,150.
2.6 教師布置作業(yè)表
記錄教師每節(jié)課的作業(yè)布置,以課程號和班級號作為雙索引,作業(yè)內(nèi)容為LONGTXT類型。
2.7 學(xué)生獎懲表
記錄每個學(xué)生的獎懲,以學(xué)號作為索引。
2.8 教師備課表
記錄每個教師每堂課的備課信息,以課程號及教師工號作為索引。
2.9 教師課堂評分表
記錄教師的課程評分,評分由教學(xué)組督導(dǎo)打分。
2.10 教室情況表
記錄學(xué)校所有教室的信息。
3 搭建服務(wù)器數(shù)據(jù)平臺
云服務(wù)器要實現(xiàn)數(shù)據(jù)管理平臺的功能,就需要在云服務(wù)器上搭建一個統(tǒng)一的數(shù)據(jù)集控制器,將所有的信息服務(wù)都布置在云服務(wù)器上。
3.1 在云端開通一個面向?qū)嶒灲虒W(xué)管理平臺的端口
通過該端口可以聯(lián)結(jié)云服務(wù)器中的某一區(qū)域,這一區(qū)域數(shù)據(jù)容量是固定的,但硬件絕對地址是不固定的,即端口所面向的硬件設(shè)備由云端中心處理器以云算法分配,可隨時變更。端口架設(shè)完成后,服務(wù)器管理員可以通過“遠(yuǎn)程桌面”直接管理云數(shù)據(jù)。
3.2 Web應(yīng)用程序平臺
通過“遠(yuǎn)程桌面”,在云服務(wù)器上安裝WAMP,WAMP是Windows下的一組用來搭建服務(wù)器的開源集成平臺,由Apache、Mysql/MariaDB、Perl/PHP/Python組成。平臺的各個軟件本身都是各自獨立的程序,但因為放在一起使用,擁有越來越高的兼容度,共同組成一個強大的Web應(yīng)用程序平臺。
3.3 在WAMP搭建的平臺上搭建數(shù)據(jù)庫
數(shù)據(jù)庫統(tǒng)一采用UTF-8編碼。
4 系統(tǒng)主要功能及類模塊的設(shè)計
4.1 學(xué)生課堂出勤記錄
為實現(xiàn)平臺自動記錄學(xué)生課堂出勤情況,教師在每堂課開始前,在講臺上布置一個攝像頭。每個學(xué)生都要在攝像頭前停留2-3 s,攝像頭掃描學(xué)生相貌。攝像頭掃描到學(xué)生的相貌后,平臺通過人臉識別模塊分辨學(xué)生。人臉識別的實現(xiàn)是通過購買比較完善的人臉識別模塊,在此基礎(chǔ)上進行二次開發(fā)。每一個被攝像頭掃描到的學(xué)生,將會在本課堂的出勤表上自動添加記錄。
4.2 教師布置作業(yè)
教師以自己的帳號及密碼登錄平臺后,布置每一堂課的作業(yè),作業(yè)以文本的形式記錄在數(shù)據(jù)庫中,學(xué)生可以通過手機、電腦瀏覽作業(yè)信息。
4.3 學(xué)生與教師對話留言
學(xué)生可以在平臺上給教師留言。留言板做成聊天室樣式,本平臺是B/S結(jié)構(gòu),采用jquery、ajax結(jié)合實現(xiàn)界面無刷新。如果做成自動更新通話內(nèi)容,需要在客戶端加入時間觸發(fā)器,觸發(fā)時間間隔以秒計算,這樣會給服務(wù)器造成極大的負(fù)載,因此通話內(nèi)容由手動更新。
4.4 平臺管理員信息管理
平臺管理員可以對平臺的所有信息進行增刪改及信息維護。
4.5 數(shù)據(jù)庫防注入模塊
為了平臺數(shù)據(jù)安全,在平臺中加入防治注入模塊。當(dāng)應(yīng)用程序使用輸入內(nèi)容來構(gòu)造動態(tài)sql語句以訪問數(shù)據(jù)庫時,會發(fā)生sql注入攻擊。如果代碼使用存儲過程,而這些存儲過程作為包含未篩選的用戶輸入的字符串來傳遞,也會發(fā)生sql注入。sql注入可能導(dǎo)致攻擊者使用應(yīng)用程序登陸在數(shù)據(jù)庫中執(zhí)行命令。相關(guān)的sql注入可以通過測試工具pangolin進行。如果應(yīng)用程序使用特權(quán)過高的帳戶連接到數(shù)據(jù)庫,這種問題會變得更嚴(yán)重。在某些表單中,用戶輸入的內(nèi)容直接用來構(gòu)造動態(tài)sql命令,或者作為存儲過程的輸入?yún)?shù),這些表單特別容易受到sql注入的攻擊。而許多網(wǎng)站程序在編寫時,沒有對用戶輸入的合法性進行判斷或者程序中本身的變量處理不當(dāng),使應(yīng)用程序存在安全隱患。用戶倘若提交一段數(shù)據(jù)庫查詢的代碼,根據(jù)程序返回的結(jié)果,獲得一些敏感的信息或者控制整個服務(wù)器,于是sql注入就發(fā)生了[1]。
為了防治注入,必須在每一個信息加入點添加以下模塊:
function unhtml($content){
$content = str_replace(">",">;",$content);
$content = str_replace("<","<;",$content);
$content = str_replace(" ","?;",$content);
$content = str_replace(" ","?;",$content);
$content = str_replace("\"","";",$content);
$content = str_replace("\'","';",$content);
$content = str_replace("\n","
",$content);
return trim($content);}
4.6 基于AJAX的信息添加模塊
所有信息的添加都通過相同的信息添加模塊完成,模塊如下:
$.ajax({
type: 'POST',
url: 'admin_zuohao_mingxi.php',
data: {'id':MingxiID},
dataType:'json',
success:function(json){
}}
其中url為需要鏈接數(shù)據(jù)庫的PHP文件地址,data是需要添加的數(shù)據(jù)。
通過平臺的實際運用,實驗教學(xué)已經(jīng)實現(xiàn)教師和學(xué)生通過電腦、移動2種終端的互動聯(lián)結(jié),同時利用網(wǎng)絡(luò)的強大功能,實現(xiàn)課程作業(yè)、師生交流、教師備課、學(xué)生出勤等信息化。實驗教學(xué)平臺在培養(yǎng)學(xué)生的實踐能力、研究能力、創(chuàng)新能力和綜合素質(zhì)等方面有著其他教學(xué)環(huán)節(jié)所不能替代的獨特作用,它能激發(fā)學(xué)生學(xué)習(xí)興趣,調(diào)動學(xué)生學(xué)習(xí)積極性,為培養(yǎng)學(xué)生的創(chuàng)新意識,提高實際動手能力和設(shè)計能力,提供了新的教學(xué)手段和模式。通過該平臺,學(xué)校可以深入掌握各個實驗教學(xué)課堂情況,還有助于提高教師的實驗教學(xué)質(zhì)量。
參考文獻(xiàn)
[1] 葉新偉. PHP+AJAX WEB2.0編程技術(shù)與項目開發(fā)大全[M]. 北京:電子工業(yè)出版社,2008.
[2] 高宏卿,汪 浩. 基于云存儲的教學(xué)資源整合研究與實現(xiàn)[J]. 現(xiàn)代教育技術(shù),2010(3):97-101.
[3] 王文增. 基于云存儲的教學(xué)資源管理系統(tǒng)設(shè)計與開發(fā)[D]. 天津:天津師范大學(xué),2013.
[4] 張延玲,劉金鵬. 高校教學(xué)資源云存儲模式研究[J]. 福建電腦,2014(2):44-45,64.
[5] 謝志昆,黃天慧,孫宙紅. 云存儲服務(wù)在高校教學(xué)中的應(yīng)用[J]. 軟件導(dǎo)刊(教育技術(shù)),2013(4):79-81.
[6] 顧邦軍,王福來,田 毅,等. 教學(xué)資源的云存儲架構(gòu)研究[J]. 福建電腦,2013(9):44-45,129.
[7] 郭曉晨,張 磊. 高校教學(xué)資源云存儲中心的研究與設(shè)計[J]. 通化師范學(xué)院學(xué)報,2013(6):33-35.
[8] 劉 鶴,宋玉琴. 探析云存儲在教學(xué)管理平臺的應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2012(11):129-131,150.