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