鄭州 龔文娟
摘 要:近年來,國家高度重視在線開放課程建設與應用工作,并將其定位為國家教育“變軌超車”關鍵一招,全國各地許多省市也結(jié)合自身特點,積極搭建基于云計算、云存儲、大數(shù)據(jù)及移動互聯(lián)的區(qū)域化大規(guī)模在線開放課程平臺,以用于較大區(qū)域范圍內(nèi)的課程共建共享,一般這類平臺既覆蓋在校師生,也覆蓋社會用戶,必然形成高并發(fā)、大容量、高帶寬占用的情況,也對平臺建設技術(shù)路線和數(shù)據(jù)庫設計有較高要求,本文結(jié)合“重慶高校在線開放課程平臺”建設經(jīng)驗及實驗技術(shù)數(shù)據(jù),總結(jié)分享同類平臺技術(shù)路線與數(shù)據(jù)庫設計思路。
關鍵詞:課程平臺;技術(shù)路線;數(shù)據(jù)庫設計;實驗探究
中圖分類號:TP315 文獻標志碼:A 文章編號:1673-8454(2019)03-0020-04
近年來,國家高度重視在線開放課程建設與應用工作,并將其定位為國家教育“變軌超車”關鍵一招,催生了數(shù)萬門各級精品在線開放課程,有力地推動了教育教學資源數(shù)字化的發(fā)展。為更好地促進這些課程的建設與應用,實現(xiàn)優(yōu)質(zhì)數(shù)字資源的共建共享,全國各地省市也結(jié)合自身特點,積極搭建基于云計算、云存儲、大數(shù)據(jù)及移動互聯(lián)的區(qū)域化大規(guī)模在線開放課程平臺,以用于較大區(qū)域范圍內(nèi)的課程共建共享,平臺既覆蓋在校師生,也會向社會公眾提供學習服務,這種應用平臺必然形成高并發(fā)、大容量、高帶寬占用的情況,對平臺技術(shù)路線和數(shù)據(jù)庫設計有較高要求,針對這種應用模式,結(jié)合“重慶高校在線開放課程平臺”(以下簡稱:課程平臺)建設經(jīng)驗,通過總結(jié)歸納平臺日常運行中的實驗數(shù)據(jù),提出適用于區(qū)域化在線開放課程平臺的技術(shù)路線和數(shù)據(jù)庫設計方案。
一、平臺技術(shù)路線設計思路
課程平臺采用國際日益成熟的Hadoop大數(shù)據(jù)計算、云計算等互聯(lián)網(wǎng)先進技術(shù),全力打造技術(shù)先進、簡單易用、響應迅速、擴展性強、安全可靠的資源共享公共服務平臺,能提供區(qū)域內(nèi)不低于200萬用戶的在線學習應用服務,滿足萬人并發(fā)在線學習需求,全面保障區(qū)域化在校開放課程平臺的教學應用與共建共享。
課程平臺基于J2EE技術(shù),Nginx、XPE高性能WEB引擎等技術(shù)構(gòu)建WEB服務。依據(jù)業(yè)務特點,采用關系型數(shù)據(jù)庫MySQL、NoSQL數(shù)據(jù)庫MongoDB存儲關鍵業(yè)務數(shù)據(jù),以及高性能XPE DB數(shù)據(jù)庫用于存儲高并發(fā)存儲需求的日志記錄型數(shù)據(jù)。以Apache開源技術(shù)Lucene、Solr為基礎,結(jié)合專有中文分詞及搜索意圖識別技術(shù),構(gòu)建智能化搜索引擎。以虛擬化技術(shù)和專有文檔、音視頻加工轉(zhuǎn)換技術(shù)構(gòu)建資源自動加工服務集群。采用Hadoop技術(shù)生態(tài)圈關鍵技術(shù)及其他相關技術(shù)構(gòu)建大數(shù)據(jù)處理能力,以實現(xiàn)基于用戶行為記錄的數(shù)據(jù)分析,并為未來用戶行為數(shù)據(jù)的進一步挖掘提供基礎保障。課程平臺整體部署于更加穩(wěn)定的64位Linux操作系統(tǒng)CentOS之上。
程序開發(fā)語言以JAVA為主,部分數(shù)據(jù)統(tǒng)計分析采用Python、C++語言,部分自動任務采用Shell腳本語言,WEB前端主要采用JavaScript語言。技術(shù)架構(gòu)概覽如圖1所示。
1.結(jié)合云計算彈性資源構(gòu)建動態(tài)可擴展的高性能WEB服務集群
課程平臺整體將采用云計算、云存儲和云服務的部署方式,其彈性可擴展的計算資源非常靈活,可根據(jù)業(yè)務的發(fā)展而動態(tài)調(diào)整。可根據(jù)實際使用情況,有效保障平臺訪問高峰時期對網(wǎng)絡、計算資源的需求。
結(jié)合負載均衡、高性能XPE WEB引擎,CDN、分布式緩存技術(shù),構(gòu)建一個動態(tài)可擴展的高性能WEB應用。XPE WEB引擎采用編譯技術(shù)對HTML、XML、JavaScript、CSS進行優(yōu)化和壓縮等預處理。結(jié)合以上技術(shù)特點,構(gòu)建具備動態(tài)、可擴展的WEB服務,以適應高并發(fā)、大規(guī)模的訪問要求。
2.關系型數(shù)據(jù)庫MySQL和NOSQL數(shù)據(jù)庫MongoDB
由于業(yè)務多樣性的特點,依據(jù)業(yè)務對數(shù)據(jù)存儲需求的特點,選用關系型數(shù)據(jù)庫MySQL和NOSQL數(shù)據(jù)庫MongoDB作為主要的數(shù)據(jù)存儲,以及XPE DB作為對極高性能要求的數(shù)據(jù)存儲。MySQL是應用世界排名第二的產(chǎn)品,具備成熟、高性能、成本低的特點。而MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,能夠為WEB應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。XPE DB采用事件驅(qū)動的方式、基于LOG型的架構(gòu)設計,可充分利用硬件資源提供高性能的數(shù)據(jù)存儲。
3.專有中文分詞及搜索意圖識別技術(shù)構(gòu)建智能搜索引擎
由于平臺需求存儲和管理上百萬的教學資源,在如此海量的資源中實現(xiàn)精準、快速的檢索是非常關鍵的。平臺基于Apache開源軟件Lucene、Solr,結(jié)合專有中文分詞技術(shù),以及搜索意圖識別技術(shù),構(gòu)建分布式的高性能搜索引擎,為平臺資源、課程等內(nèi)容的檢索提供保障。
4.流式資源加工服務及流媒體技術(shù)
基于文件格式識別、文檔轉(zhuǎn)換技術(shù),以及特有的流式算法技術(shù),將文檔類資源進行技術(shù)轉(zhuǎn)換和加工,實現(xiàn)WEB在線方式的流式播放。支持教學資源文件WPS、DOC、PPT、PDF等常見格式的文檔轉(zhuǎn)換。音頻、視頻類資源文件,進行統(tǒng)一格式、多種碼流的技術(shù)加工和轉(zhuǎn)換。
資源加工服務,結(jié)合Virtual Machine虛擬化技術(shù),實現(xiàn)資源加工轉(zhuǎn)換的虛擬化、服務化??筛鶕?jù)資源文檔加工量的多少,實現(xiàn)動態(tài)的擴展。結(jié)合Secure Link安全連接技術(shù),實現(xiàn)資源的安全點播服務。
5.Hadoop生態(tài)系統(tǒng)(見圖2)關鍵技術(shù)構(gòu)建大數(shù)據(jù)計算能力
通過Hadoop生態(tài)系統(tǒng)中的關鍵技術(shù),構(gòu)建動態(tài)可擴展的大數(shù)據(jù)存儲、計算,以及數(shù)據(jù)分析能力,實現(xiàn)基于用戶行為記錄的數(shù)據(jù)分析。用戶行為記錄是海量的,構(gòu)建10億甚至更高的數(shù)據(jù)記錄的存儲能力也是至關重要的。
HDFS分布式文件系統(tǒng),有著高容錯性的特點,并且可以部署在低廉的硬件上。能夠提供高吞吐量的數(shù)據(jù)訪問,提供超大規(guī)模數(shù)據(jù)文件的存儲,以滿足海量數(shù)據(jù)記錄存儲和分析的需求。
6.詳盡的用戶行為記錄技術(shù)
用戶行為記錄數(shù)據(jù)是用戶行為分析的前提保障,用戶行為記錄的準確性、全面性將直接影響后續(xù)的大數(shù)據(jù)分析應用的價值。
除常見的用戶訪問行為外,對共享服務平臺中最具價值的課程資源學習行為的記錄是非常關鍵的?;谖臋n類資源、視頻類資源的流式播放技術(shù),基于Event捕獲的技術(shù),能夠準確地捕捉和記錄用戶更加詳細的學習行為。文檔類資源,可以細化到每一頁,而視頻類資源可以細化到每一分鐘,如此準確和詳細的學習行為記錄,將對后續(xù)的數(shù)據(jù)分析帶來更大的價值。
7.開放的數(shù)據(jù)接口
基于HTTP(s)協(xié)議的REST標準數(shù)據(jù)接口,數(shù)據(jù)內(nèi)容格式采用更加靈活和通用的JSON/XM格式,可最大程度地提高系統(tǒng)接入的可行性,降低接入難度,提高接口的穩(wěn)定性和可擴展性。
二、技術(shù)實現(xiàn)特點及遵循的原則
1.采用彈性可擴展的云計算資源
以虛擬化為特征的云計算技術(shù),將服務器計算資源、存儲資源以及交換機等網(wǎng)絡設備資源進行虛擬化,能夠根據(jù)業(yè)務的不斷發(fā)展需要,隨時提供便捷、動態(tài)可擴展的計算存儲資源。不僅能夠極大地提高資源的使用效率、大幅降低成本,還能夠極大地提升管理效率。
云產(chǎn)品和云服務彈性可擴展的計算資源非常靈活,可根據(jù)業(yè)務的發(fā)展而動態(tài)調(diào)整??筛鶕?jù)實際使用情況,有效保障平臺訪問高峰時期對網(wǎng)絡、計算資源的需求。
2.構(gòu)建支持百萬用戶規(guī)模平臺
為保障平臺能夠有效面向區(qū)域內(nèi)所有學校師生提供全面、優(yōu)質(zhì)的服務,平臺將按照大型系統(tǒng)進行建設。構(gòu)建支持百萬用戶規(guī)模的大型服務平臺,為師生提供優(yōu)質(zhì)服務。
3.分布式集群技術(shù)構(gòu)建高可靠可伸縮平臺
課程平臺基于分布式、集群技術(shù)進行設計。平臺由一系列可擴展的服務群構(gòu)成,能夠隨著服務平臺的訪問量、數(shù)據(jù)量的動態(tài)增長而進行靈活調(diào)整。基于集群方式設計的系統(tǒng),具備更好的可靠性,當一臺或幾臺服務出現(xiàn)問題時,用戶的訪問會自動引導到其他服務器而不中斷用戶的訪問。從而使整個服務平臺具備更高的可靠性、更好的穩(wěn)定性、更大的并發(fā)服務能力,以便滿足不斷增長的用戶訪問需求。動態(tài)可擴展的服務架構(gòu)如圖3所示。
4.構(gòu)建良好可擴展的平臺
平臺盡可能以面向服務為核心概念、以服務為中心進行設計,以使平臺具備良好的可擴展性和開放性,能夠快速適應快速發(fā)展的業(yè)務引起的變化。
5.構(gòu)建大數(shù)據(jù)計算能力
隨著大數(shù)據(jù)時代的到來,基于大數(shù)據(jù)的分析和應用將創(chuàng)造無限的價值。為保障服務平臺中海量用戶行為數(shù)據(jù)的分析,構(gòu)建大數(shù)據(jù)計算處理能力,為進行有效的分析和未來用戶行為數(shù)據(jù)的進一步挖掘提供基礎保障。
6.基于信息安全標準體系,構(gòu)建安全穩(wěn)定的系統(tǒng)
為保障服務平臺的安全,平臺的建設將依據(jù)《信息系統(tǒng)安全等級保護基本要求》中安全保護等級三級的規(guī)范和要求進行,確保共享服務平臺的安全。
7.結(jié)合云平臺,構(gòu)建數(shù)據(jù)的異地容災備份
借助于云服務平臺的優(yōu)勢,可以選擇在物理上相距較遠的數(shù)據(jù)中心作為異地容災備份,提高抗自然災害的能力。
8.構(gòu)建平臺實時監(jiān)控體系
對平臺運行的基礎服務器環(huán)境,建立相應的實時監(jiān)控體系,以使系統(tǒng)管理員能夠了解和掌握平臺服務環(huán)境的運行情況。
9.基于簡潔用戶體驗友好的原則設計
平臺將基于核心功能、風格簡潔、使用簡單、以用戶為中心的原則進行設計,注重良好的用戶體驗,構(gòu)建用戶愛用、好用的服務平臺。
10.瀏覽器良好的兼容特性
考慮到學校學生數(shù)量眾多,學校、個人電腦配備差異較大,瀏覽器品種眾多的原因,平臺的設計要盡可能考慮好多瀏覽器兼容的特性,為廣大師生提供便利。能夠兼容IE6.0以上,以及Chrome、Firefox、Safari主流瀏覽器的使用。
三、數(shù)據(jù)庫設計思路
1.數(shù)據(jù)庫需求簡述
課程平臺有百萬用戶、千萬資源,需要滿足上萬用戶同時在線學習的要求。平臺功能豐富,涉及數(shù)據(jù)類型繁多,且數(shù)量較大,同時并發(fā)訪問要求也高,因此對數(shù)據(jù)庫設計的要求也有著很高的要求。
(1)數(shù)據(jù)類型多
涉及用戶、學校等組織管理型數(shù)據(jù),課程、資源、文檔等資源型數(shù)據(jù),討論、答疑等生成型數(shù)據(jù),用戶學習記錄、訪問行為等記錄型數(shù)據(jù),密碼、學分、交易等敏感型數(shù)據(jù),業(yè)務操作、關鍵行為記錄等日志型數(shù)據(jù)等。
(2)數(shù)據(jù)量大
指百萬用戶、千萬資源、千萬生成性資源、億級學習記錄、海量用戶行為記錄數(shù)據(jù)。
(3)并發(fā)訪問高
要滿足萬人同時在線學習。用戶學習時產(chǎn)生大量行為數(shù)據(jù),需要實時處理。
(4)數(shù)據(jù)安全
在線課程平臺需要符合《信息系統(tǒng)安全等級保護基本要求》中安全等級保護三級的要求,不僅需要對敏感類的數(shù)據(jù)做加密處理,而且對數(shù)據(jù)的備份也有著相應的嚴格要求。
2.數(shù)據(jù)庫設計概覽(見圖4)
由于業(yè)務多樣性的特點,依據(jù)業(yè)務對數(shù)據(jù)存儲需求的特點,選用關系型數(shù)據(jù)庫MySQL和NOSQL數(shù)據(jù)庫MongoDB作為主要的數(shù)據(jù)存儲,以及XPE DB作為對高并發(fā)存儲要求的數(shù)據(jù)存儲。
(1)關系數(shù)據(jù)庫MySQL:用戶、權(quán)限、交易敏感類數(shù)據(jù)
用戶、學校、權(quán)限等存在著典型的關聯(lián)關系,很適合關系型數(shù)據(jù)庫處理。其提供的加密、解密功能更是給較為敏感信息的存儲和管理提供了方便。用戶、權(quán)限、交易類數(shù)據(jù)量相對適中,且數(shù)據(jù)檢索需求相對簡單、明確,其中交易類數(shù)據(jù)有較為嚴格的事務保障需求,因此MySQL比較適用。MySQL部署:采用主從結(jié)構(gòu)的方式部署,可完全滿足平臺的要求。
(2)NoSQL數(shù)據(jù)庫MongoDB:資源、課程等業(yè)務數(shù)據(jù)
MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,能夠為WEB應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。課程、資源等數(shù)據(jù)的元數(shù)據(jù)豐富,對擴展的需求較高,而MongoDB模式自由(schema-free)的特點很適合這類業(yè)務數(shù)據(jù)的存儲。
MongoDB采用集群的方式部署,由3~4臺服務組成,提供可靠、高性能的數(shù)據(jù)訪問需求,并可根據(jù)需要動態(tài)擴容。在云平臺提供MongoDB解決方案的情況下,使用云服務平臺提供的云MongoDB存儲服務,可提供更加可靠性的數(shù)據(jù)訪問,還可提供更大數(shù)據(jù)量的存儲服務。
(3)高性能數(shù)據(jù)庫XPE DB:用戶業(yè)務操作記錄等日志性數(shù)據(jù)
XPE DB采用事件驅(qū)動的方式、基于LOG型的架構(gòu)設計,其數(shù)據(jù)更新可充分利用硬件資源,以達到高的存儲性能。XPE DB可達1Mupdates/second的性能。
對于用戶操作相關的行為記錄類型的日志型記錄,不僅對存儲的性能有極高的要求,而且對數(shù)據(jù)的完整性也有極高的要求,因此使用XPE DB存儲。
XPE DB部署采用一主一從的方式部署,可滿足業(yè)務需要。
(4)結(jié)合分布式緩存,降低數(shù)據(jù)庫訪問壓力
分布式緩存,可用于加速網(wǎng)站的訪問速度。Memcached是一個高性能的分布式緩存系統(tǒng),通過在內(nèi)存中緩存數(shù)據(jù)、減輕數(shù)據(jù)庫的壓力,提供動態(tài)數(shù)據(jù)庫,驅(qū)動網(wǎng)站的速度。
業(yè)務服務在訪問數(shù)據(jù)時,通過分布式緩存服務,優(yōu)先訪問緩存服務??纱蟠鬁p輕對數(shù)據(jù)庫的訪問壓力,提高數(shù)據(jù)庫的使用效率。
(5)數(shù)據(jù)備份、異地備份
至少每天完全備份一次。備份的數(shù)據(jù)文件,采用保留最新備份、最近一周的備份,最近一月每周數(shù)據(jù),以及每月最后一天的數(shù)據(jù)。同時,根據(jù)業(yè)務數(shù)據(jù)的特點,對重要數(shù)據(jù)采用高級別的備份策略。
借助于云服務平臺的優(yōu)勢,選擇在物理上相距較遠的數(shù)據(jù)中心作為異地容災備份,提高抗自然災害的能力。
(6)安全設置
基于操作系統(tǒng)、網(wǎng)絡訪問控制,以及數(shù)據(jù)庫本身的權(quán)限功能,進行相應的安全設置,確保安全。
3.數(shù)據(jù)庫服務器
(1)基于Linux部署
MySQL、Mongodb,以及XPE DB均部署在Centos 64位環(huán)境,以確保達到高性能。
(2)服務器配置
采用16核、32GB內(nèi)存、300G硬盤高性能配置。
區(qū)域化的課程平臺用戶受眾量大、功能豐富、并發(fā)訪問要求較高,且對信息安全有著嚴格的要求,對平臺的技術(shù)架構(gòu)、數(shù)據(jù)庫的選用和設計相應也有著很高的要求,都要根據(jù)區(qū)域化用戶體量科學規(guī)劃,基于成熟、穩(wěn)定、高性能、適用的原則,選用成熟可靠的信息化產(chǎn)品,這樣便于根據(jù)課程平臺業(yè)務數(shù)據(jù)訪問的特點,以不同的數(shù)據(jù)庫處理不同的業(yè)務數(shù)據(jù),以滿足平臺對用戶訪問、數(shù)據(jù)存儲要求的多樣化特性。
參考文獻:
[1]李漢明,陳振武.區(qū)域教育信息資源共建共享機制研究[J].龍巖學院學報,2010(5):128-131.
[2]朱延寧.互聯(lián)網(wǎng)+背景下教育國際化變革趨勢[J].新教育時代電子雜志(教師版),2017(12).
[3]袁文成.面向IaaS的云計算自適應資源管理機制[D].西安:西北工業(yè)大學,2015.
[4]王敏.分布式網(wǎng)絡爬蟲的研究與實現(xiàn)[D].南京:東南大學,2017.
[5]黃冰潔.微信公共平臺圖書館閱讀推廣[J].卷宗,2017(29).
(編輯:王天鵬)