王小軍,孫 旭,李慧娟
(1.江蘇開放大學 信息化建設(shè)處,江蘇 南京 210036;2.江蘇開放大學 資源建設(shè)中心,江蘇 南京 210036)
在 《國家中長期教育改革和發(fā)展規(guī)劃綱要 (2010-2020年)》的指引下,2010年,江蘇省政府啟動實施了“創(chuàng)建江蘇開放大學、加快構(gòu)建終身教育體系”這一國家教育體制改革試點項目,賦予了江蘇開放大學在構(gòu)建和完善江蘇省終身教育體系中的主體地位。江蘇開放大學的成立,使江蘇終身教育體系的構(gòu)建有了實體的依托和新型載體的支持。終身教育體系包括學校教育系統(tǒng)、企業(yè)教育系統(tǒng)對在職人員的培訓和以城鄉(xiāng)社區(qū)為單位的社會教育,其通過網(wǎng)絡等多種方式實現(xiàn)各類教育力量的互補,打破學習的時空限制,使學習者根據(jù)社會需要和自身條件不同選擇學習方式,從而促進教育結(jié)構(gòu)體系的終身化、網(wǎng)絡化、多樣化和社會化。[1][2]
優(yōu)質(zhì)的教育資源是終身教育的重要基礎(chǔ),也是“互聯(lián)網(wǎng)+”時代在線教育的主要載體之一。文中教育資源是指用于終身教育的數(shù)字化資源,是以互聯(lián)網(wǎng)技術(shù)為載體,有國家、團體和個人混合提供,以推進教育公平和終身學習為宗旨,能夠激發(fā)并滿足支持者、教育者和學習者需要的優(yōu)質(zhì)數(shù)字化資源。優(yōu)質(zhì)教育資源既包括學習者使用的學習資料,也包括數(shù)字化的學習環(huán)境,如在線學習平臺和數(shù)字化資源平臺。[3][4]
近年來,數(shù)字化教學資源的建設(shè)取得了矚目的成果,但是優(yōu)質(zhì)的網(wǎng)絡資源平臺成為制約教學資源共享的瓶頸。[5][6]目前國內(nèi)已經(jīng)建成數(shù)字化教學資源平臺主要有中國高等教育數(shù)字圖書館(CADLIS)、中國知識基礎(chǔ)設(shè)施工程(CNKI)、國家數(shù)字化學習資源中心(NERC)、中國高校課程網(wǎng)、高等學校儀器設(shè)備和優(yōu)質(zhì)資源共享系統(tǒng)、國家精品課程資源網(wǎng)。國外數(shù)字化教學資源平臺主要有美國SMETE電子圖書館、休斯頓大學的Connexions項目、澳大利亞教育和培訓機構(gòu)合作計劃(EdNA計劃)、加拿大國家互聯(lián)共享的學習資源庫EduSource項目、德國基于互聯(lián)網(wǎng)的遠程實驗教學LearnNet項目。國內(nèi)數(shù)字化資源平臺主要由國家重點立項和投資,在政策和資金上予以保證,部分由企業(yè)出資建設(shè),運營模式除國家精品課程資源網(wǎng)免費外,其他數(shù)字化資源平臺主要采用會員制或加盟制模式。國外數(shù)字化教學資源主要由國家政府和民間團體提供資金資助,科研機構(gòu)提供技術(shù)支持和服務,高校提供資源和素材,運營主要采用免費模式,為學習者提供終身學習所需要的資料和素材。
江蘇開放大學的建設(shè)不僅是教育改革的一項重要任務,也是江蘇省全面學習、終身學習的重大工程與創(chuàng)新舉措,目前迫切需要建設(shè)與江蘇開放大學目標和任務相吻合的江蘇終身教育資源平臺(以下簡稱資源平臺),支撐和完善自主學習服務體系,實踐學習者終身學習的需求,同時資源平臺應符合江蘇省情實際、適應時代需求,并具備開放性和共享性,學習者隨時隨地通過多種途徑可以獲得學習資源。但是目前資源平臺建設(shè)過程中,主要采用單體式應用架構(gòu)開發(fā)模式,難以滿足終身教育學習者數(shù)量快速增長和資源平臺業(yè)務功能快速發(fā)展的需求,單體式應用開發(fā)模式主要存在不支持持續(xù)開發(fā)和集成、業(yè)務功能修復和擴展上線周期長、平臺可靠性較低、對新技術(shù)和開放工具兼容性低等問題,期望借鑒微服務架構(gòu)技術(shù),在江蘇終身教育資源平臺的構(gòu)建過程中,整合學歷、非學歷、行業(yè)企業(yè)、社區(qū)教育各類數(shù)字化教育資源,統(tǒng)一數(shù)據(jù)標準、統(tǒng)一資源平臺、統(tǒng)一數(shù)據(jù)庫系統(tǒng),實現(xiàn)數(shù)據(jù)共享和資源的統(tǒng)一管理。
云計算技術(shù)主要為客戶提供高可靠、高可用、規(guī)??蓴U展的按需服務,其關(guān)鍵技術(shù)主要包括云計算編程模型、虛擬化技術(shù)、海量數(shù)據(jù)管理技術(shù)和海量數(shù)據(jù)存儲技術(shù)。云計算技術(shù)主要包括四種服務模式、四種部署模式、五大核心特征。四種服務模式為基礎(chǔ)設(shè)施即服務(IAAS),可提供底層硬件資源(存儲服務、計算服務)的按需分配;平臺即服務(PAAS),將軟件平臺以服務的形式向開發(fā)者提供;軟件即服務(SAAS),將軟件以服務的形式通過網(wǎng)絡向最終用戶提供服務;功能即服務(Function as a Service,F(xiàn)AAS),由云計算提供商負責后端基礎(chǔ)結(jié)構(gòu)的維護,以服務的方式為開發(fā)者提供所需功能,例如數(shù)據(jù)庫、消息、加密以及身份驗證等,并可根據(jù)需求對服務容量進行縮放。四種部署方式為公有云、私有云、社區(qū)云、混合云。五大核心特征包括按需自助服務、泛在的網(wǎng)絡接入、資源池化、快速可伸縮性、可計費服務。[7][8]
大數(shù)據(jù)技術(shù)從系統(tǒng)工程方法的角度,可分解為4個階段,數(shù)據(jù)生成、數(shù)據(jù)獲取、數(shù)據(jù)存儲和數(shù)據(jù)分析。從層次角度,可分為3層,從下往上分別為基礎(chǔ)設(shè)施層、計算層和應用層,基礎(chǔ)設(shè)施層是利用云計算資源,以特定的服務級別協(xié)定SLA和不同細粒度,提供給上層系統(tǒng)。計算層,將數(shù)據(jù)集成、管理和編程模型封裝在云計算資源中的中間件。應用層利用提供的接口,實現(xiàn)不同的數(shù)據(jù)查詢、統(tǒng)計、分析等功能。同時大數(shù)據(jù)技術(shù)在數(shù)據(jù)采集、數(shù)據(jù)表示、數(shù)據(jù)壓縮、數(shù)據(jù)生命周期管理、數(shù)據(jù)隱私和安全等方面還存在著較多的挑戰(zhàn)。[9][10]
傳統(tǒng)的單體式應用在復雜核心業(yè)務中,存在代碼量大、業(yè)務邏輯復雜、開發(fā)周期長、測試難度大、系統(tǒng)可靠性低等問題,給敏捷開發(fā)和集成部署帶來較大挑戰(zhàn)。為此,Amazon、eBay、Facebook、阿里等互聯(lián)網(wǎng)公司,采用微服務架構(gòu)模式,將復雜的單體式應用分解為一系列功能細粒度、分布式網(wǎng)狀結(jié)構(gòu)的服務組件,如亞馬遜產(chǎn)品展示頁面,由11個微服務組件構(gòu)成。微服務架構(gòu)如圖1所示,用戶客戶端和服務器端之間通信采用Restful API輕量級的Http通信機制,訪問請求通過API Gateway進行轉(zhuǎn)發(fā),微服務內(nèi)部之間通信采用基于Http協(xié)議的同步機制和基于消息隊列的異步消息處理機制,同時提供微服務的注冊、發(fā)現(xiàn)、負載均衡、監(jiān)控機制、配置和容錯功能,可根據(jù)業(yè)務需求支持關(guān)系型數(shù)據(jù)庫、鍵值型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫。常見的微服務框架有Netflix的Karyon/Ribbon、Spring的 Spring Boot/Cloud、阿里的 Dubbo等。
應用微服務架構(gòu)后,為了保證服務的可用性,需要提供微服務的容錯機制,常用的微服務容錯模式包括,電路熔斷器模式(Circuit Breaker Patten)、艙壁隔離模式(Bulkhead Isolation Pattern)、限流(Rate Limiting)、回退(Fallback)。
微服務架構(gòu)優(yōu)點顯而易見,服務功能內(nèi)聚,開發(fā)效率高,支持敏捷開發(fā)和持續(xù)部署,服務可在橫向和縱向進行輕易擴展,可提高系統(tǒng)整體容錯性。同時微服務架構(gòu)也面臨著如下缺點,開發(fā)人員需要設(shè)計服務之間的通信機制,處理分布式系統(tǒng)的復雜性,提高服務管理的復雜性,因此實施微服務架構(gòu)的時機選擇也十分重要。
圖1 微服務架構(gòu)示意圖
江蘇終身教育資源平臺的建設(shè)思路是充分利用主流的混合云架構(gòu)、聚集行業(yè)企業(yè)各類資源,聯(lián)通現(xiàn)有各層次資源平臺,對接“江蘇省學分銀行”系統(tǒng),服務多類型用戶,建設(shè)與江蘇開放大學目標和任務相吻合的江蘇終身教育資源平臺,為終身教育學習者提供優(yōu)質(zhì)的在線學習資源服務。
江蘇終身教育資源平臺功能結(jié)構(gòu)如圖2所示,借助云計算、大數(shù)據(jù)分析和微服務技術(shù),從功能層次角度分為六層,自下而上分別為,云資源層、中間件層、微服務層、應用層、領(lǐng)域?qū)印⒂脩魧印?/p>
圖2 江蘇終身教育資源平臺功能結(jié)構(gòu)圖
云資源層采用混合云的設(shè)計,可以根據(jù)實際需要對接國內(nèi)外一線云服務提供商的公有云資源,如阿里云、百度云、騰訊云、Amazon云和微軟云,按需彈性購買計算、存儲和網(wǎng)絡等云資源,同時也支持基于VMware、KVM、Xen、OpenStack技術(shù)的私有云資源,并可以依托虛擬化技術(shù)實現(xiàn)云資源的快速遷移和切換。
中間件層是資源平臺的基礎(chǔ),包括核心中間件、開發(fā)部署和運維管理三個部分,其中核心中間件由數(shù)據(jù)庫中間件、緩存中間件、消息中間件、應用發(fā)布中間件組成,資源平臺根據(jù)業(yè)務需求核心功能優(yōu)先采用Oracle數(shù)據(jù)庫,部分功能可以采用Mysql等其他數(shù)據(jù)庫,緩存中間件,主要對查詢和讀數(shù)據(jù)進行加速,可以選擇分布式緩存軟件如Redis。消息中間件可以提供同步發(fā)送和異步發(fā)送消息的模式,并根據(jù)不同的微服務應用場景和對消息機制的需求,選用不同模式的消息中間件。應用發(fā)布中間件,針對Java可采用ApacheTomcat開源方案或者OracleWeblogic商業(yè)方案。資源平臺功能迭代更新是常態(tài),開發(fā)部署中間件,可以通過成熟的產(chǎn)品和工具,完成資源平臺代碼的持續(xù)集成、環(huán)境的持續(xù)部署、功能的持續(xù)交付,相關(guān)自動化工具如Amazon Web Services(AWS),CRP持續(xù)交付平臺。運維管理中間件既是系統(tǒng)監(jiān)控運維的核心模塊,也是大數(shù)據(jù)分析重要數(shù)據(jù)采集的模塊,在運維能力足夠的前提下,可以選擇開源的分布式日志采集方案,如 FacebookScribe、ApacheChukwa、LinkedInKafka、ClouderaFlume。
微服務層是資源平臺業(yè)務邏輯的核心層,通過RestfulAPI接口提供各類服務,通常微服務以集群方式部署在云計算資源中的虛擬機或者容器中,微服務的調(diào)度和容錯功能統(tǒng)一集中到微服務層的APIGateway集群,如SpringCloud微服務框架利用Eureka組件實現(xiàn)服務的注冊和發(fā)現(xiàn)、Config Server實現(xiàn)服務的分布式配置、Zuul組件實現(xiàn)API Gateway功能,可根據(jù)路由策略轉(zhuǎn)發(fā)服務請求、Ribbon組件實現(xiàn)微服務多個實例之間負載均衡功能,F(xiàn)eign是微服務客戶端,Hystrix實現(xiàn)服務監(jiān)控和斷路器功能,Turbine實現(xiàn)對每個微服務實例監(jiān)控的聚合,Graphite做性能監(jiān)控,其核心組件示意圖如圖3所示。
圖3 Spring Cloud微服務核心組件示意圖
微服務層根據(jù)資源平臺的功能定位,可以分為系統(tǒng)服務區(qū)、資源服務區(qū)、第三方應用服務區(qū)、大數(shù)據(jù)服務區(qū)四個微服務區(qū)。系統(tǒng)服務區(qū)主要提供身份認證、用戶管理、數(shù)據(jù)采集和數(shù)據(jù)管理服務,身份認證服務打通云服務提供商(如百度、騰訊)和江蘇終身教育資源平臺用戶之間數(shù)據(jù),實現(xiàn)資源平臺用戶和互聯(lián)網(wǎng)產(chǎn)品用戶(如百度文庫、淘寶大學的注冊用戶)之間的轉(zhuǎn)化,發(fā)揮雙方行業(yè)特色優(yōu)勢,可在江蘇有條件的市縣先行先試,共同開拓江蘇的終身教育市場,身份認證服務需支持Cas、Oauth、Openid、Saml等通用身份認證功能,支持微信、微博、QQ等第三方交互工具的授權(quán)認證,其訪問形式如http://res.jsou.cn:10000/system/oauth/authentication?username=jsou。數(shù)據(jù)采集提供系統(tǒng)相關(guān)的各類數(shù)據(jù)源的收集、篩選、格式化、壓縮,為數(shù)據(jù)存儲服務提供內(nèi)部服務之間的數(shù)據(jù)傳遞,數(shù)據(jù)管理服務主要是數(shù)據(jù)的添加和刪除,將采集數(shù)據(jù)進行存儲,根據(jù)數(shù)據(jù)容量和類型,分別存儲到不同的分布式數(shù)據(jù)存儲中,可支持塊存儲、文件存儲、對象存儲等存儲類型。用戶管理服務是負責提供資源平臺用戶注冊、審核、鎖定、導入、導出等服務。
資源服務區(qū)是微服務層的業(yè)務核心區(qū),主要提供資源相關(guān)的服務,如資源管理類服務(上傳、轉(zhuǎn)碼、發(fā)布、分類、標簽、加密)、資源操作類服務(查詢、播放、引用、下載、分享)、資源統(tǒng)計類服務(訪問記錄、收藏,評價)、資源推薦類服務(根據(jù)用戶推薦、根據(jù)資源推薦)。為了更好地描述資源平臺的服務功能,接下來將選擇相關(guān)重點資源服務功能進行描述。資源上傳服務,可支持客戶端上傳和瀏覽器插件上傳方式,同時支持斷點續(xù)傳功能,為了更好的用戶體驗,尤其視頻資源的上次速率不小于2MB/s,需要云服務提供商在省內(nèi)有功能完備、支持多運營商的CDN節(jié)點。資源轉(zhuǎn)碼服務主要是視頻資源轉(zhuǎn)碼,轉(zhuǎn)碼效率不低于10MB/s,支持多碼流、多終端視頻輸出,自動完成視頻的切片、轉(zhuǎn)碼、水印、加密、合并、CDN分發(fā)等業(yè)務流程,因此需要在資源轉(zhuǎn)碼服務中根據(jù)資源的類型調(diào)用云端視頻轉(zhuǎn)碼服務,利用云端大規(guī)模專業(yè)視頻轉(zhuǎn)碼集群支撐資源平臺視頻資源轉(zhuǎn)碼服務,如百度云、阿里云、七牛云、Amazon Elastic Transcoder等。資源標簽服務,用戶可以調(diào)用該服務為視頻、文本等資源選擇或者自定義合適的標簽,為個性化資源對接積累數(shù)據(jù)樣本。資源加密服務,可根據(jù)資源的版權(quán)和用戶需求,在資源轉(zhuǎn)碼過程中,對資源進行加密,只有授權(quán)用戶可用訪問資源,防止下載和盜鏈,有效保護資源的知識產(chǎn)權(quán)。資源查詢服務可以根據(jù)資源名稱、標簽、大小、分類、標識碼等信息,查詢結(jié)果以XML方式返回資源列表給用戶。資源引用服務,提供給上層應用使用資源,支持松耦合URL地址推送和嵌入式緊耦合鏈接兩種方式,資源使用者根據(jù)使用場景自主決策資源的引用方式。資源播放服務,采用嵌入式播放器模式,視頻資源支持普通、標清、高清切換。資源推薦服務,根據(jù)推薦服務使用對象的不同,分為基于資源的推薦和基于用戶的推薦,如給用戶推薦資源,其推薦服務的訪問形式如:http://res.jsou.cn:10000/resource/user/recommend?username=user1,根據(jù)用戶個性化需求,返回用戶感興趣的資源列表。
第三方應用服務區(qū),主要為江蘇終身教育機構(gòu)用戶、江蘇開放大學系統(tǒng)用戶、資源平臺聯(lián)盟用戶、移動支付公司等提供第三方應用系統(tǒng)對接服務,主要通過統(tǒng)一的標準(如SOAP協(xié)議 v1.2)提供資源平臺與第三方平臺之間的通信和信息交換,在資源平臺功能層面包括資源的共享、用戶學習過程信息共享,以及支持學分記錄功能,并與江蘇省學分銀行進行學分的共享、轉(zhuǎn)換、互認,同時支持支付寶、微信等移動在線支付功能。
大數(shù)據(jù)服務區(qū),主要為資源平臺提供內(nèi)部服務之間的數(shù)據(jù)存儲、數(shù)據(jù)分析和輔助決策等大數(shù)據(jù)應用。通過對數(shù)據(jù)采集服務提供的統(tǒng)一格式采集數(shù)據(jù),進行數(shù)據(jù)存儲、數(shù)據(jù)分析,其中數(shù)據(jù)存儲主要采用MongoDB、Hbase等非關(guān)系型數(shù)據(jù)存儲軟件,數(shù)據(jù)分析主要采用基于MapReduce框架的統(tǒng)計分析、個性化推薦、移動社交檢測、社交網(wǎng)絡分析等應用場景,實現(xiàn)為不同的資源平臺用戶提供大數(shù)據(jù)服務,如學習者的個性化推薦、管理者的輔助決策、教學者的統(tǒng)計分析和趨勢分析等功能。
通過江蘇終身教育資源平臺的建設(shè),可以在江蘇省內(nèi)終身教育領(lǐng)域支持多用戶類型(個人用戶、企業(yè)行業(yè)用戶、平臺用戶)、多領(lǐng)域(學習教育系統(tǒng)、行業(yè)企業(yè)培訓、社區(qū)教育、老年教育)利用移動設(shè)備、終端設(shè)備訪問資源平臺,并利用云計算、大數(shù)據(jù)和微服務等技術(shù),保障資源平臺的擴展性、可靠性和安全性。
為了驗證微服務構(gòu)建江蘇終身教育資源平臺的可行性,實驗選用一臺DELL R720 X86通用服務器,開發(fā)環(huán)境選用Eclipse Neon.2,運行環(huán)境Oracle Java JDK 8,微服務框架采用Spring Cloud開發(fā)框架(版本號1.1.0),Spring Cloud提供分布式系統(tǒng)的配置管理、服務發(fā)現(xiàn)、斷路器、智能路由、服務網(wǎng)關(guān)、消息中心等開發(fā)工具包。微服務平臺運行在Docker容器中,利用Docker提供的應用隔離,每一個容器運行一個微服務實例,Docker集群的管理采用GoogleKubernetes進行管理。
Spring Cloud Netflix Zuul服務網(wǎng)關(guān)和路由的配置代碼如下,通過@EnableZuulProxy注釋在應用中啟用微服務服務網(wǎng)關(guān)和路由功能,根據(jù)微服務的ServiceID進行服務路由訪問接口服務,實現(xiàn)了資源平臺中的關(guān)鍵服務,包括資源的上傳服務、轉(zhuǎn)碼服務、共享分發(fā)服務。
實驗中,實現(xiàn)江蘇終身教育資源平臺服務網(wǎng)關(guān)API Gateway微服務1個,服務端口9000,資源的上傳、轉(zhuǎn)碼、共享分發(fā)微服務各2個,服務端口9001-9006,實驗結(jié)果如圖4所示。通過實驗仿真,利用微服務構(gòu)建江蘇終身教育資源平臺技術(shù)方案是有效的。
圖4 江蘇終身教育資源平臺Eureka Server微服務注冊中心
本文根據(jù)江蘇開放大學在構(gòu)建和完善江蘇省終身教育體系中的主體地位,圍繞江蘇開放大學資源庫建設(shè)項目,通過對國內(nèi)外優(yōu)質(zhì)資源平臺學習模式和運營模式的分析,體現(xiàn)了資源建設(shè)在江蘇終身教育體系構(gòu)建中的重要性,利用云計算、大數(shù)據(jù)、微服務等技術(shù),提出了江蘇終身教育資源平臺功能框架,并從六個層次,分別對資源平臺相關(guān)業(yè)務功能進行了詳細的闡述,為江蘇終身教育資源平臺的建設(shè)提供技術(shù)方案,并通過Spring Cloud開發(fā)框架驗證了方案的可行性。
[1]張鯉鯉.終身教育發(fā)展與江蘇的實踐[J].江蘇開放大學學報,2015(5):11-19.
[2]金麗霞,許玲.江蘇省終身教育體系構(gòu)建的主要特征概述[J].江蘇開放大學學報,2016(1):19-25.
[3]吳遵民.終身教育的基本概念[J].江蘇開放大學學報,2016(1):75-79.
[4]袁靈.構(gòu)建終身教育體系的一種有效方法——資歷架構(gòu)法[J].中國電化教育,2014(11):55-58.
[5]范如永.終身學習理念下我國遠程教育研究的熱點、前沿和發(fā)展趨勢分析[J].中國電化教育,2013(2):34-37.
[6]伊萬·A.斯諾克,陳荷男.終身教育:杜威的觀點[J].開放教育研究,2013(4):47-52.
[7]王聰,王翠榮,王興偉,蔣定德.面向云計算的數(shù)據(jù)中心網(wǎng)絡體系結(jié)構(gòu)設(shè)計 [J].計算機研究與發(fā)展,2012(2):286-293.
[8]羅軍舟,金嘉暉,宋愛波,東方.云計算:體系架構(gòu)與關(guān)鍵技術(shù)[J].通信學報,2011(7):3-21.
[9]程學旗,靳小龍,王元卓,郭嘉豐,張鐵贏,李國杰.大數(shù)據(jù)系統(tǒng)和分析技術(shù)綜述[J].軟件學報,2014(9):1889-1908.
[10]孟小峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計算機研究與發(fā)展,2013(1):146-169.