劉志兵,王會霞/Liu Zhibing,Wang Huixia
(1.黃岡師范學院數理學院 黃岡438000;2.黃岡師范學院教育科學與技術學院 黃岡438000)
《國家中長期教育改革和發展規劃綱要(2010~2020年)》提出了要大力開發教育資源,同時要積極推動資源應用[1],因此,建設數字資源庫平臺順應了國家的發展規劃,也是教育信息化發展的核心和基礎。數字資源庫平臺旨在服務于教師的教學與學生的學習,以內容提供為中心,服務提供的是數據或信息。
數字資源庫平臺采用B/S 結構,通過服務器安裝相應網絡應用程序,讓學習者僅通過一個瀏覽器,不必添加、安裝任何插件或程序就可完成所有操作[2]。Web 服務器為整個系統提供了一個服務與管理的窗口,利用Web 服務器可以進行信息發布,也可以借助應用程序處理來自客戶端或管理端的請求,并將結果以網頁的形式反饋給客戶端和管理端。數據庫服務器是數字資源庫平臺的信息中心,它存儲了與資源庫所有內容相關的信息,圖1 為數字資源庫平臺的3 層結構模型。
數字資源庫平臺應具備的基本模塊及其功能見表1。
數字資源庫平臺主要包括資源導航與資源倉庫、Wiki 系統、專業論壇、在線測試與評價、管理系統5 個部分,其功能總體框架如圖2所示。從概念出發,結合學習者的學習需要,將文檔、視頻等一般資源納入資源倉庫這一模塊中,在線測試評價分為在線測試和反饋評價兩部分,管理系統主要進行學習者管理和資源管理。

圖1 數字資源庫平臺結構模型

表1 系統功能說明

圖2 數字資源庫平臺總體框架
資源導航模塊基于傳統分類方法而設計,如圖3所示,其導航功能主要體現在資源分類和資源檢索兩方面。資源分類即創建資源分類列表,分類的方式主要有兩種:一種是按類別,即文檔、音/視頻等;另一種是按課程。資源檢索是指用戶按照資源的專題性質進行檢索,或使用關鍵詞進行檢索。

圖3 資源導航模塊
資源倉庫包括個人資源庫和公共資源庫兩部分,如圖4所示。其中,個人資源庫是個人的知識管理平臺,包括個人信息、個人日志、個人網摘和個人資源;公共資源庫是主題資源共建區,支持圖片、音頻、視頻、文檔、課件、動畫的上傳和下載。
Wiki 系統模塊主要體現的是教師的導學作用和對學習者的促學作用[3]。為了方便查詢,Wiki系統模塊也應做好詞條分類的工作,這樣可以讓學生很方便地查找到自己需要的詞條,這個模塊的分類和資源倉庫模塊中菜單導航欄的分類需保持一致。
Wiki 系統模塊如圖5所示,模塊的主要功能設計如下。

圖5 Wiki 系統模塊
①搜索功能:通過搜索功能確定類似資源是否存在。
②編輯功能:支持學習者對已經存在的資源進行編輯、修改。
③發表功能:學習者通過該功能發表資源,并設置資源的基本信息、分類、顯示范圍。
④管理功能:管理學習者對某一資源的編輯。
專業論壇收集了學習者的常見疑問,并提供相關解答。專業論壇模塊如圖6所示,資源庫的學習者遇到問題時,可以先登錄并進入答疑庫搜索相關解答,若沒有相關問題的解答,則進入論壇交流模塊提出問題,既可以面向大眾提問,也可以向教師或專家提問。

圖6 專業論壇模塊流程
測試評價模塊是為學習者提供測試的模塊,如圖7所示。學習者登錄后即可參加測試,系統根據學習者的命令,自動隨機地從試題庫中抽取試題生成試卷,測試完畢后,系統自動給出分數。

圖7 測試評價模塊
(1)學習者管理
教師、專家、學習者通過注冊獲得唯一的用戶名和口令,系統管理員通過后臺數據庫操作的方式,審核教師、專家、學習者的注冊,并對教師、專家、學習者三類用戶賦予不同的權限。
學習者利用個人資源庫進行個人信息更新、日志寫作、網摘/資源上傳和下載、Wiki 百科、資源評論等操作。
(2)資源管理
資源管理模塊主要包括資源上傳、資源下載、資源檢索、資源刪除、資源收藏等功能。
資源上傳:學習者通過發表日志、Wiki 百科、在公共資源庫上傳資源等方式豐富資源庫。
資源下載:學習者通過消耗一定的積分可以下載資源。
資源檢索:資源庫提供課程、主題、媒體類型等多個維度的高級查詢,學習者可以設置關鍵字進行資源檢索。
資源刪除:學習者可以刪除自己上傳的資源;教師、專家可以刪除低質量的資源。
資源收藏:利用網摘功能收集自己需要的、感興趣的資源[4]。
數據庫在數字資源庫平臺中占有非常重要的地位,合理的數據結構可以提高數據存儲的效率,保證數據的完整和一致。數字資源庫平臺采用的是Access 數據庫,Access 數據庫具有支持Web 功能的信息共享、易于查詢和使用、可用于復雜的信息管理開發、交互的數據庫窗口、數據訪問頁、共享組件的集成等優點。
對數字資源庫平臺的數據庫進行分析,確定數據對象、描述數據對象的屬性以及數據對象之間的關系,管理員可以管理多個學習資料,系統中的每個學習資料歸屬不同教師。設計實體之間的關系如圖8所示,其中,一對多聯系表示為1∶N,多對多聯系表示為M∶N。不同的學習者可以瀏覽、下載或者上傳并發布不同的學習資料,唯一的管理員可以管理所有學習資料,另外,不同的教師、專家也可以發布或修改不同的學習資料。
Customers 表結構見表2,其作用在于記錄學習者的所有資料,包括姓名、密碼、電話、QQ 和電子郵箱等。

表2 Customers 表結構
Ziyuan 表結構見表3,其作用在于記錄資源的所有信息,包括資源的標題、內容、作者以及資源的類別名稱。
Content 表結構見表4,是博客模塊的基礎表,其作用在于記錄博客的內容,包括博客的題目、作者、類別、正文內容以及完成時間。

圖8 數字資源庫平臺實體之間E-R 圖

表3 Ziyuan 表結構

表4 Content 表結構
一般來說,維護系統安全可采取的方法有加密處理、數字簽名、驗證機制等。
登錄系統必須使用密碼,同時它也是學習者信息不被泄漏的關鍵所在,因此,對于密碼這種重要的信息必須進行加密處理。加密的算法很多,這里使用MD5算法。實現MD5 加密的關鍵是以下語句:
FormsAuthentication.HashPasswordForStoringIn ConfigFile(strText.Trim(),"md5")。
其中的核心在于“HashPasswordForStoringIn ConfigFile”,其意義是將字符串轉化為指定的密碼類型。
在B/S 系統中,傳統的注入攻擊手段很多。最基本的是利用單引號進行攻擊,解決辦法是使用類似于QuotedStr()的函數處理參數即可。但在實際應用中,不可避免會有一些應用需要直接傳遞參數,如表名、查詢條件、排序條件等,對這些應用的注入攻擊防不勝防。
防止SQL 注入漏洞應注意以下幾點。
(1)參數種類
將所有網頁傳入的參數分為3 種: 數字類型,用StrToInt 函數處理;字符串類型,用QuotedStr 函數處理; 需要直接傳遞的參數是需要著重考慮的類型。
(2)操作種類
將所有數據庫操作分為5 種,不允許程序直接執行SQL 語句:select(查詢)、update(更新)、insert(新增)、delete(刪除)、exec(執行存儲過程)。
(3)參數校驗
對于以上幾種數據庫操作的所有參數,如select 操作中的查詢條件、排序條件等,都進行合法性校驗,其中存在“--” 、“/*” 、“*/”的,都視為非法條件; 將條件拆分為單詞,如果存在delete、insert、update、exec、execute、create、drop、grant 等單詞的,都視為非法條件;傳入的查詢條件,校驗里的括號,凡是右括號在左括號前面(不配對)的,都視為非法條件;傳入的查詢條件,前后加括號。關鍵代碼如下。

經過以上校驗,基本可以保證參數是正常的參數,可最大限度地防止SQL 注入漏洞。
學習者撰寫博客、參加話題討論、參與測試,教師評價答卷、解答學習者疑問,專家答疑、撰寫專業博客、撰寫專業詞條等都是讓學習者參與庫的開發的例子。使學習者共同參與到網站建設過程中,這樣極大地擴充了學習資源,而學習者參與的過程也更有利于學習者的學習。
Web 2.0中許多技術手段稍加利用就能給學習者提供很多方便的服務[4],既擴充了資源,又能更大限度地讓學習者參與到學習中,使服務更加完善,也能使學習者更加充分地利用網絡資源享受學習的樂趣。
[1]中華人民共和國教育部[EB/OL].http://www.moe.edu.cn/publicfiles/business/htmlfiles/moe/moe_177/index.html.
[2]婁亞莉.基于B/S 模式教學視頻資源庫的研究與設計[D].華東師范大學,2011.
[3]由磊.知識管理指導的高校教學資源庫系統設計研究[D].河北大學,2009.
[4]張慕華,賀鵬,乜勇等.基于社會化語義網的教育資源共建共享初探——以構建高校數字化學習資源中心為例[J].現代教育技術,2013,(1).