国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MongoDB的數(shù)字化教學資源存取方案研究*

2018-03-06 07:47:49黃承明
中國教育信息化 2018年3期
關鍵詞:結構化文檔教學資源

黃承明

(湖南財經(jīng)工業(yè)職業(yè)技術學院,湖南 衡陽421002)

引言

近10年來,教育信息化發(fā)展迅速,已成為各級院校提高核心競爭力的重要手段,[1]信息化建設內(nèi)容也從以基礎設施建設為主轉變?yōu)橐詢?nèi)容建設為主,教學應用形式日趨多樣化,如微課、MOOC、SPOC[2]等,這些信息化教學應用都需要數(shù)字化教學資源來支撐。良好的數(shù)字化教學資源存取基礎架構是信息化教學應用系統(tǒng)性能、健壯性和用戶體驗的根本保障。

一直以來,基于教學資源應用的各類平臺在推廣時普遍遇到的問題是:①訪問效率低,用戶體驗不好;②功能擴展困難;③缺乏資源質(zhì)量保障與評價技術手段,缺乏知識產(chǎn)權保護的技術支撐,使共享資源整體質(zhì)量低下。

其主要原因有:①網(wǎng)絡滿足不了數(shù)字化資源的高帶寬要求,或者后臺數(shù)據(jù)庫存取性能低下;②許多功能受關系型數(shù)據(jù)庫技術約束,改進成本高、風險大。

這些問題的解決除了管理機制和政策因素外都受制于后臺數(shù)字化教學資源的存取技術。良好的后臺數(shù)字化教學資源的存取技術方案,是解決上述問題的根本手段。

數(shù)字化教學資源是指教學活動中所需要的電子化的教學資源,是以數(shù)字形態(tài)存在和服務教育教學的資源,如課程標準、電子教材、電子教案、課件、素材(如圖形/圖像、動畫、音頻、視頻、網(wǎng)頁/網(wǎng)站、動畫、Flash、3D 模型、仿真模型)、試題庫、案例庫等。[3]

一、教學資源特征分析

1.內(nèi)容特征

在內(nèi)容上,教學資源最顯著的特征是多樣性。

(1)內(nèi)容形態(tài)具有多樣性。其內(nèi)容形態(tài)有兩大類:一類是基礎形態(tài)的素材資源,如文本、數(shù)據(jù)、圖片、圖形、動畫、音頻、視頻、仿真模型等;一類是復合形態(tài)的應用資源,它是將多種素材加以關聯(lián)組合形成的一種形態(tài),如圖文(DOC、PDF、PPT、CHM 等)、網(wǎng)頁、課程等。

(2)應用形式具有多樣性。典型的應用形式有知識庫、網(wǎng)絡(在線)課堂、試題庫、案例庫、模型庫等。

(3)內(nèi)容格式具有多樣性。常見的內(nèi)容格式有文本格式(ANSI、UNICODE)、圖片格式、視頻格式、圖文格式(DOC、PDF、PPT)等。

(4)表現(xiàn)形式具有多樣性。有用來顯示特殊字符的字體,靜態(tài)展示的圖文信息,動態(tài)播放的音視頻動畫,具有交互能力的網(wǎng)頁、仿真模型等等。

此外,數(shù)字化教學資源的內(nèi)容還有一個特征,就是所有數(shù)字化教學資源數(shù)據(jù)在結構上無固定模式,為非結構化數(shù)據(jù)或半結構化數(shù)據(jù)。

2.應用特征

數(shù)字化教學資源應用場景非常廣泛,如精品課程、網(wǎng)絡課堂、題庫系統(tǒng)、考試系統(tǒng)、知識管理、在線教學、企業(yè)培訓等等,在應用上都具有以下幾個共同的特點。

(1)讀多寫少。用戶在使用過程中,絕大多數(shù)時間都是以讀取資源為主,如瀏覽、播放等;通常只是在修改或添加資源時才會有寫入操作。當然訪問日志、評價、交易記錄則屬于輔助數(shù)據(jù),不是屬于資源數(shù)據(jù)。

(2)引用與復制。應用中存在大量的引用和復制操作。通過對多個資源的重組或剪輯,能夠表達新的教學內(nèi)容、產(chǎn)生新的資源。

(3)動態(tài)擴展要求。在應用過程中經(jīng)常會因為用戶需求的變化發(fā)生結構上的擴展。一方面,應用功能的變化將引起結構的擴展,比如,早期的應用系統(tǒng)由于功能不多,僅需要類型、格式、文件名等信息,隨著功能的改進,需要更多的描述信息,如版本信息,有時還會增加新的資源類型,就會引起數(shù)據(jù)庫結構上的變化;另一方面,隨著應用規(guī)模的擴大,需要更多數(shù)據(jù)庫I/O,這就要求數(shù)據(jù)庫在部署模式上進行擴展。

(4)高帶寬要求。視頻播放與資源引用復制功能是基于數(shù)字化教學資源的應用系統(tǒng)最常用的功能,而這些功能都是比較消耗網(wǎng)絡帶寬的功能,通常采用集中式部署的應用系統(tǒng)在廣域網(wǎng)或互聯(lián)網(wǎng)中使用時難以獲得較好的用戶體驗,采用CDN技術或分布式部署將是必然的趨勢。

二、現(xiàn)有的存取方案及其弊端

數(shù)字化形態(tài)的教學資源對象通常包括三大類型的數(shù)據(jù):①資源體數(shù)據(jù),如圖片、視頻等;②元數(shù)據(jù),如格式、標題名稱、版本、版權等;③日志數(shù)據(jù),運行的一些動態(tài)數(shù)據(jù),如存取訪問、應用評價、共享交易等。如圖1所示。

圖1 數(shù)據(jù)邏輯模型

在現(xiàn)有的應用系統(tǒng)中,資源及相關數(shù)據(jù)的存儲方案主要有兩種:

一種是采用關系型數(shù)據(jù)庫與磁盤文件相結合的方式,即元數(shù)據(jù)與日志數(shù)據(jù)存儲在數(shù)據(jù)庫中,體積較小的資源體數(shù)據(jù),如詞條、題干等,保存到數(shù)據(jù)庫的BLOB/Image/Text類型字段中,體積較大的則以磁盤文件的形式保存。這種方案比較成熟,開發(fā)成本也較低,是最常用的方式。但是這種方案有三個缺陷:①功能擴展難度大,代價很高,需要重構表結構和重寫業(yè)務邏輯;②不適合存儲非結構化或半結構化數(shù)據(jù);③資源數(shù)據(jù)分開存儲,存在不一致的隱患。

另一種方案是采用Native XML數(shù)據(jù)庫。通過Native XML可自定義XML Schema的功能,能夠靈活地進行數(shù)據(jù)組織,存儲二進制數(shù)據(jù)和非結構化數(shù)據(jù),通過DOM、SAX、XPath和XQuery等技術,比較方便解析和檢索,能夠實現(xiàn)數(shù)據(jù)的統(tǒng)一存儲存取與檢索。[4]這種方案在數(shù)據(jù)結構上擴展非常方便。但是該方案同樣存在分布式擴展困難、低性能的問題。

三、基于MongoDB的統(tǒng)一存取方案

1.NoSQL數(shù)據(jù)庫

NoSQL(英文全稱是Not Only SQL)[5]是指那些非關系型的、分布式的、不保證遵循ACID原則的數(shù)據(jù)存儲系統(tǒng)[6]。NoSQL遵循CAP理論和BASE原則。[5]

MongoDB是一款支持非結構化/半結構化數(shù)據(jù)、文檔型的NoSQL數(shù)據(jù)庫產(chǎn)品,具有無模式(schema free)、高性能、易管理、分布式、高并發(fā)、海量數(shù)據(jù)、功能豐富、擴展性強等優(yōu)點。

2.MongoDB的存儲原理與特點

MongoDB采用集合方式來組織數(shù)據(jù),是一種“面向集合(Collection-Oriented)”的數(shù)據(jù)庫。[7]MongoDB 中的集合(Collection)相當于 RDBMS 中的表(table),不同的是Collection可以嵌套,而table不可以;集合中的每個數(shù)據(jù)對象稱為“文檔 (Document)”,相當于 RDBMS中行(row);MongoDB 中的所有 Collection、Document都有一個24字符長的ObjectId唯一標識。

MongoDB數(shù)據(jù)庫特點很多,綜合起來有以下幾個方面:①采用鍵-值(Key-Value)形式存儲數(shù)據(jù),支持二進制數(shù)據(jù)格式的文檔型數(shù)據(jù)。支持大型對象的存儲且性能優(yōu)良。②無模式,支持動態(tài)查詢、完全索引、文檔內(nèi)嵌查詢。③支持主-從(Master-Slave)服務器間的數(shù)據(jù)復制和故障恢復。支持數(shù)據(jù)分片技術,將數(shù)據(jù)分片存儲到不同的服務器上,可動態(tài)添加、移出存儲服務器。

3.MongoDB數(shù)據(jù)庫的適用性

從MongoDB的上述特點來看,它非常適合數(shù)字化教學資源數(shù)據(jù)的存取和檢索,相比較傳統(tǒng)的存儲方案具有更好的適用性,同時具有更高的性能。

(1)無模式特點能夠方便、靈活地組織和存儲數(shù)字化教學資源這種多形態(tài)的、非結構化/半結構化數(shù)據(jù),且能實現(xiàn)低成本的功能擴展。

(2)支持大型對象存儲,適合視頻、大文件等存取。

(3)主-從服務器以及自動分片則能夠極其方便地進行系統(tǒng)的結構性擴展,同時滿足數(shù)字化教學資源各種應用系統(tǒng)讀多寫少的應用特點。并能實現(xiàn)在廣域網(wǎng)或互聯(lián)網(wǎng)上的分布式部署,大幅降低網(wǎng)絡消耗,提高訪問效率,增強用戶體驗。

四、關鍵技術的實現(xiàn)

采用MongoDB數(shù)據(jù)庫作為數(shù)字化教學資源的存儲方案需要解決一系列相關的技術問題,包括技術性可行性、兼容性和實際性能等問題,其中技術可行性問題是基礎,是關鍵,下面就應用中的幾個關鍵技術進行說明。

1.文件型數(shù)據(jù)的存儲

MongoDB數(shù)據(jù)庫采用 BSON(Binary JSON)形式來存儲,如視頻、圖片等二進制格式數(shù)據(jù),BSON是一種類JSON(JavaScript Object Notation)的二進制形式的存儲格式,最大能存儲16MB大小的數(shù)據(jù),超過16MB的資源數(shù)據(jù)則采用GridFS進行存儲。

GridFS是一種將大型文件存儲在MongoDB中的分布式文件系統(tǒng),這樣解決了文件數(shù)據(jù)和文件元數(shù)據(jù)的統(tǒng)一存儲和管理的問題,兼具文檔型數(shù)據(jù)庫和文件系統(tǒng)的優(yōu)勢。

對于小于16MB的文件的存儲,可以直接存儲在一個“document”中,如圖 2 所示。

圖2 數(shù)字化教學資源文檔的存儲示例

對于大于16MB的文檔數(shù)據(jù),MongoDB則采用GridFS來實現(xiàn)存儲,默認使用fs.chunks和fs.files兩個集合來存儲文件。其中fs.files集合存放文件的信息,fs.chunks存放文件數(shù)據(jù)。一個fs.files集合中的一條記錄內(nèi)容如圖3所示(即一個file的信息內(nèi)容)。

圖3 fs.files集合中的file信息存儲示例

至于file所對應的fs.chunks中的chunk則如圖4所示。

這里文件的length接近31MB字節(jié),大于chunkSize的16MB字節(jié)限制,約為2倍,所以被分成了兩個chunk存放。

2.文件流輸入輸出

圖4 fs.chunks集合中的chunk存儲示例

在數(shù)字化教學資源相關應用系統(tǒng)中,文件型數(shù)據(jù)的典型應用為文件的上傳、下載、復制和播放,文檔的復制通常由MongoDB的內(nèi)部機制完成,播放功能實際上是一個下載功能,所以,這些功能基本上都歸結為文件的upload和download兩種基本操作,它們常采用文件流來實現(xiàn)輸入輸出。下面是文件的上傳下載功能舉例,圖5是文件上傳的Java代碼。

圖5 上傳文件的Java代碼

對于文件的下載或播放,首先,需要通過文件名或ID等信息獲取指定的文件,然后進行文件流輸出即可,圖6是文件查找及下載的Java代碼。

圖6 文件查找及下載的Java代碼

3.擴展能力

MongoDB的擴展能力可以通過主從模式 (Master-Slaves)、副本集(Replica Set)、分片模式(Auto Shard)三種部署模式來實現(xiàn)。其中分片模式是將MongoDB數(shù)據(jù)庫中的數(shù)據(jù)分散存儲到多個服務器中,從而達到負載分流的目的,類似于常說的“分表”、“分區(qū)”、“分庫”等概念。數(shù)據(jù)存取時路由服務器根據(jù)片鍵識別對哪個分片實例進行存取,具有優(yōu)良的數(shù)據(jù)擴展和分布式部署能力。[8]

數(shù)字化教學資源數(shù)據(jù)的存儲可以將資源體數(shù)據(jù)、元數(shù)據(jù)、日志數(shù)據(jù)集合存儲到不同的分片中,還可以對集合進一步分片。

五、結語

數(shù)字化教學資源的應用特征與MongoDB數(shù)據(jù)庫的技術特點具有非常高的吻合度,通過對關鍵技術的編碼測試表明,在技術上是可行的,MongoDB這種文檔型數(shù)據(jù)庫十分適合數(shù)字化教學資源統(tǒng)一的存取和管理,能夠實現(xiàn)多種形態(tài)的、多層次的、非/半結構化的數(shù)據(jù)的存取與檢索。下一步將在海量數(shù)據(jù)、分布式、高并發(fā)等真實環(huán)境下進行性能測試,為MongoDB數(shù)據(jù)庫在數(shù)字化教學資源應用開發(fā)中提供參考。

[1]蔣艷紅.江蘇省高校教育信息化發(fā)展策略研究[D].江蘇:江蘇師范大學,2012.

[2]康葉欽.在線教育的“后MOOC時代”——SPOC解析[J].清華大學教育研究,2014(1):85-93.

[3]成秀麗.職業(yè)教育數(shù)字化教學資源研究——基于2005年-2015年文獻統(tǒng)計分析[J].中國電化教育,2016(8):120-123.

[4]閆璐.基于XML的非結構化數(shù)據(jù)管理的研究與應用[D].北京:首都師范大學,2013.

[5]雷宇輝,鐘雯,何清等.Nosql數(shù)據(jù)庫研究文獻綜述[J].電子世界,2017(4):11-13.

[6]趙濟洲.基于MongoDB的代碼查詢平臺[D].江蘇:南京大學,2015.

[7]朱亞興,余愛民,王夷.基于 Redis+MySQL+MongoDB存儲架構應用[J].微型機與應用,2014(13):3-5.

[8]王曉琳.MongoDB中的海量數(shù)據(jù)動態(tài)平衡[D].上海交通大學,2014.

猜你喜歡
結構化文檔教學資源
有人一聲不吭向你扔了個文檔
促進知識結構化的主題式復習初探
結構化面試方法在研究生復試中的應用
計算機教育(2020年5期)2020-07-24 08:53:00
基于RI碼計算的Word復制文檔鑒別
初中語文數(shù)字化教學資源應用探索
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
基于圖模型的通用半結構化數(shù)據(jù)檢索
計算機工程(2015年8期)2015-07-03 12:20:35
初探教學資源開發(fā)的系統(tǒng)思維
臨床實驗教學中教學資源的整合優(yōu)化與應用
土木工程科研資源轉化為實踐教學資源的探索
河南科技(2014年15期)2014-02-27 14:13:03
新巴尔虎左旗| 皮山县| 玉龙| 苍南县| 颍上县| 荣昌县| 聊城市| 南投市| 蒙自县| 孟州市| 肥乡县| 福安市| 万州区| 西宁市| 乌拉特中旗| 阿拉尔市| 土默特左旗| 定南县| 南乐县| 武宣县| 泸定县| 岑巩县| 博野县| 玛曲县| 汝城县| 马山县| 绥宁县| 呼玛县| 新源县| 鄂州市| 霸州市| 衡东县| 常熟市| 汉中市| 龙山县| 岳阳县| 柳州市| 万州区| 丹江口市| 绥宁县| 京山县|