• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于微服務(wù)的新教學(xué)管理平臺(tái)應(yīng)用初探

      2019-05-30 03:31羅軍鋒馮興利洪丹丹
      關(guān)鍵詞:微服務(wù)

      羅軍鋒 馮興利 洪丹丹

      摘? ?要:為了適應(yīng)和支持學(xué)校人才培養(yǎng)改革的需要,我校對(duì)原有的教務(wù)管理平臺(tái)進(jìn)行了重建和改造,充分利用目前微服務(wù)的優(yōu)勢(shì)和特點(diǎn),將微服務(wù)架構(gòu)引入到新教學(xué)管理平臺(tái)建設(shè)中,取得了良好效果。本文介紹了微服務(wù)概念,新教學(xué)管理平臺(tái)的建設(shè)目標(biāo)、特點(diǎn)、建設(shè)內(nèi)容、主要架構(gòu)以及技術(shù)重點(diǎn)。

      關(guān)鍵詞:微服務(wù);教務(wù)管理平臺(tái);Spring Cloud

      中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2019)07-0074-04

      一、引言

      創(chuàng)新人才培養(yǎng)模式,核心問(wèn)題是教學(xué)管理模式的改革和創(chuàng)新。因?yàn)樗w現(xiàn)的辦學(xué)理念和管理特征,直接影響到人才培養(yǎng)的質(zhì)量和效益。順應(yīng)國(guó)家高考招生制度從現(xiàn)有的“學(xué)校+專業(yè)”平行模式轉(zhuǎn)變?yōu)椤皩I(yè)+學(xué)?!钡钠叫兄驹柑顖?bào)模式、允許學(xué)生自主選擇專業(yè)、實(shí)行完全學(xué)分制等三大人才培養(yǎng)改革趨勢(shì),是建立適應(yīng)知識(shí)經(jīng)濟(jì)時(shí)代人才培養(yǎng)需要的教學(xué)管理模式和當(dāng)前教學(xué)改革的一項(xiàng)十分重要的任務(wù)。

      為了支撐學(xué)校人才培養(yǎng)改革的要求,我校從2016年開(kāi)始建設(shè)新的教學(xué)管理平臺(tái),這種新型的教學(xué)管理平臺(tái)不僅適應(yīng)新時(shí)代人才培養(yǎng)的改革要求,而且采用目前先進(jìn)的軟件體系架構(gòu)——微服務(wù)的架構(gòu),滿足教學(xué)業(yè)務(wù)對(duì)系統(tǒng)的高可靠性、高適應(yīng)性、高并發(fā)性等需要。

      本文試圖從微服務(wù)的定義和特點(diǎn)出發(fā),介紹了新教學(xué)管理平臺(tái)的建設(shè)目標(biāo)和特點(diǎn),分析了這種新教學(xué)管理平臺(tái)的幾個(gè)關(guān)鍵技術(shù)、核心應(yīng)用以及未來(lái)的挑戰(zhàn)對(duì)策等。

      二、微服務(wù)的定義及特點(diǎn)

      按照 Martin Fowler 的定義,微服務(wù)是一個(gè)軟件架構(gòu)模式,是通過(guò)開(kāi)發(fā)一系列小型服務(wù)的方式來(lái)實(shí)現(xiàn)的一個(gè)應(yīng)用。每一個(gè)這樣的小服務(wù)通常都是運(yùn)行在自己的進(jìn)程里面,并且通過(guò)輕量級(jí)的HTTP API 方式進(jìn)行通訊。這些服務(wù)通常會(huì)以業(yè)務(wù)模塊為界限,能夠被單獨(dú)開(kāi)發(fā)部署,往往都會(huì)用自動(dòng)化的部署工具來(lái)進(jìn)行產(chǎn)品的發(fā)布。微服務(wù)的主要特點(diǎn)[1]包括:

      1.獨(dú)立性好

      微服務(wù)是松耦合的,可以獨(dú)立打包、部署、升級(jí)、回滾和彈性伸縮,不依賴其他微服務(wù),不同的開(kāi)發(fā)團(tuán)隊(duì)可以并行開(kāi)發(fā)和部署,避免了牽一發(fā)而動(dòng)全身,提高了效率。

      2.部署簡(jiǎn)單靈活

      微服務(wù)可以按獨(dú)立進(jìn)程去部署,既可以將多個(gè)相同的微服務(wù)部署到不同的服務(wù)器上,也可以在一臺(tái)服務(wù)器上部署多個(gè)微服務(wù)實(shí)例,具備高可靠的水平擴(kuò)展能力。

      3.技術(shù)靈活

      可針對(duì)具體業(yè)務(wù)特性和團(tuán)隊(duì)技能為一個(gè)服務(wù)選擇最合適的語(yǔ)言、框架和數(shù)據(jù)庫(kù)。

      三、新教學(xué)管理平臺(tái)的建設(shè)目標(biāo)

      面向國(guó)家重大教育教學(xué)改革和學(xué)校實(shí)際教學(xué)要求,以服務(wù)廣大教師、學(xué)生和教學(xué)資源為根本,以實(shí)現(xiàn)教與學(xué)全生命周期更加規(guī)范化、精細(xì)化、精準(zhǔn)化、國(guó)際化管理為方向,需要建立一個(gè)符合學(xué)校人才培養(yǎng)的模式,適應(yīng)學(xué)校教育教學(xué)改革要求、體現(xiàn)先進(jìn)教學(xué)管理理念,能夠?yàn)閷W(xué)校教學(xué)質(zhì)量的提升提供具備強(qiáng)有力支撐能力的教學(xué)管理平臺(tái)。

      新的教學(xué)管理平臺(tái)必須支持的內(nèi)容包括:①支持大類招生與分流管理;②支持完全學(xué)分制下教學(xué)管理和選課制度;③支持“通識(shí)教育+寬口徑專業(yè)教育”的個(gè)性化培養(yǎng)方案;④支持本碩博貫通式培養(yǎng)的教學(xué)要求;⑤支持學(xué)生自主選擇專業(yè)、課程和授課教師,及彈性學(xué)制下的學(xué)籍管理制度;⑥支持校、院、系三級(jí)教學(xué)組織架構(gòu)下靈活的教學(xué)組織管理與服務(wù);⑦支持各類教學(xué)資源的管理與績(jī)效分析。

      新的教學(xué)管理平臺(tái)緊緊圍繞學(xué)校教學(xué)管理的業(yè)務(wù),建設(shè)“學(xué)生”、“課程”、“方案”、“成績(jī)”、“教學(xué)資源”等教學(xué)業(yè)務(wù)核心基礎(chǔ)數(shù)據(jù)庫(kù),同時(shí)制定規(guī)范的、標(biāo)準(zhǔn)的編碼規(guī)則。以“微服務(wù)”的架構(gòu),“組件式”的設(shè)計(jì)框架和思路,梳理建設(shè)學(xué)校教務(wù)系統(tǒng)的各大業(yè)務(wù)服務(wù)應(yīng)用中心。

      四、新教學(xué)管理平臺(tái)的設(shè)計(jì)框架以及關(guān)鍵技術(shù)

      在新的教學(xué)管理平臺(tái)建設(shè)中,我們引入了基于微服務(wù)架構(gòu)的體系框架,以解決傳統(tǒng)平臺(tái)的諸多問(wèn)題,新的教學(xué)管理平臺(tái)的體系框架如圖1所示。

      該平臺(tái)主要由數(shù)據(jù)層、服務(wù)組件層 、業(yè)務(wù)組件層、用戶訪問(wèn)層組成。數(shù)據(jù)層以主數(shù)據(jù)管理平臺(tái)為基礎(chǔ),為上層提供所需的數(shù)據(jù)服務(wù),包括數(shù)據(jù)的存儲(chǔ)服務(wù)、轉(zhuǎn)換服務(wù)、清理服務(wù)等等;服務(wù)組件層是將通用的業(yè)務(wù)規(guī)則、資源調(diào)度、選課算法模型、教學(xué)評(píng)價(jià)模型進(jìn)行抽象打包,形成通用的組件為各類教學(xué)業(yè)務(wù)提供服務(wù),這樣的好處就是將算法、模型從煩瑣的業(yè)務(wù)邏輯中解脫出來(lái),后期算法模型的改變不會(huì)影響到業(yè)務(wù)邏輯的處理;業(yè)務(wù)組件層主要負(fù)責(zé)各類教務(wù)業(yè)務(wù)的處理;用戶訪問(wèn)層為各類用戶提供人性化的服務(wù)。本平臺(tái)采用了目前流行的、開(kāi)源的Spring Cloud來(lái)實(shí)現(xiàn),其中的關(guān)鍵技術(shù)主要包括:

      1.服務(wù)的拆分

      拆分一般包括橫向拆分、縱向拆分??v向拆分是總結(jié)出系統(tǒng)中所有通用的服務(wù),橫向拆分是根據(jù)業(yè)務(wù)的不同進(jìn)行的拆分。高校教務(wù)日常運(yùn)行業(yè)務(wù)是非常復(fù)雜的,系統(tǒng)建設(shè)首先面臨的問(wèn)題就是針對(duì)教學(xué)業(yè)務(wù)的服務(wù)拆分,通過(guò)認(rèn)真梳理,依據(jù)“先縱再橫”的原則進(jìn)行拆分。最終我們將整個(gè)教學(xué)業(yè)務(wù)劃分為8個(gè)中心,劃分的基本原則是每個(gè)中心相對(duì)獨(dú)立。每個(gè)中心圍繞一個(gè)業(yè)務(wù)主題,具體再拆分為若干個(gè)服務(wù),如課程中心里面包括課程管理服務(wù)、課程查詢服務(wù)、開(kāi)課服務(wù)等等。最終形成了8個(gè)中心83個(gè)服務(wù)。詳細(xì)如表1所示。

      2.服務(wù)的運(yùn)行

      微服務(wù)架構(gòu)中保證服務(wù)的運(yùn)行要解決以下兩大問(wèn)題:第一個(gè)就是服務(wù)消費(fèi)方如何發(fā)現(xiàn)服務(wù)的提供方;第二個(gè)就是服務(wù)的消費(fèi)方如何以某種負(fù)載均衡策略訪問(wèn)服務(wù)提供方實(shí)例。這些問(wèn)題主要是通過(guò)引入代理來(lái)解決,根據(jù)代理在架構(gòu)中的位置,目前有3種架構(gòu),經(jīng)過(guò)分析,我們使用了以下這種架構(gòu)(見(jiàn)圖2)。這種模式一般需要獨(dú)立的服務(wù)注冊(cè)中心組件配合,服務(wù)啟動(dòng)時(shí)自動(dòng)注冊(cè)到注冊(cè)中心并定期報(bào)心跳,客戶端代理則發(fā)現(xiàn)服務(wù)并做負(fù)載均衡。

      在Spring Cloud中,Eureka負(fù)責(zé)微服務(wù)架構(gòu)中服務(wù)治理功能,實(shí)現(xiàn)服務(wù)實(shí)例的自動(dòng)化注冊(cè)與發(fā)現(xiàn);Ribbon 是負(fù)載均衡器,負(fù)責(zé)自動(dòng)從Eureka Server 發(fā)現(xiàn)服務(wù),然后基于某種負(fù)載均衡算法幫助服務(wù)消費(fèi)者去請(qǐng)求服務(wù)。這兩個(gè)就提供了服務(wù)運(yùn)行的基本基礎(chǔ),再加上Zuul的動(dòng)態(tài)路由、HyStrix這個(gè)熔斷器避免發(fā)生雪崩等,共同保障了服務(wù)的整體運(yùn)行平穩(wěn)。圖3就是在Spring Cloud中的完整運(yùn)行架構(gòu)。[2]

      3.展現(xiàn)層與業(yè)務(wù)層的強(qiáng)隔離

      為了更好地發(fā)揮微服務(wù)的優(yōu)點(diǎn),最大限度地減少業(yè)務(wù)需求變動(dòng)對(duì)系統(tǒng)的影響,在應(yīng)用組建與Web應(yīng)用上實(shí)現(xiàn)分離,如圖4所示。

      新教務(wù)管理平臺(tái)采用“應(yīng)用-組件分離架構(gòu)”,將表現(xiàn)層與業(yè)務(wù)邏輯層徹底解耦,組件通過(guò)API(Webservice方式),支撐多個(gè)應(yīng)用。

      (1)Web應(yīng)用層直接面向用戶訪問(wèn),提供了教務(wù)平臺(tái)所需的全部用戶交互界面,技術(shù)語(yǔ)言構(gòu)成上基本全為Html/CSS/JS,通過(guò)調(diào)用組件提供的API,來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯與數(shù)據(jù)讀寫(xiě)。

      (2)組件層只提供API接口(Webservice方式),不提供可視化用戶界面,其中組件層又根據(jù)業(yè)務(wù)相關(guān)度,分為業(yè)務(wù)組件和基礎(chǔ)通用型組件。

      (3)各個(gè)Web應(yīng)用之間都是獨(dú)立無(wú)耦合調(diào)用的。一個(gè)業(yè)務(wù)組件提供的API支撐多個(gè)應(yīng)用(如課程中心,支撐課程查詢、課程管理、課程申請(qǐng)等多個(gè)應(yīng)用)。

      如針對(duì)課程中心,具體應(yīng)用的用戶角色功能如圖5所示:

      在課程中心,通過(guò)對(duì)學(xué)校教學(xué)業(yè)務(wù)的梳理,我們認(rèn)為給院系一級(jí)主要提供課程查詢、新開(kāi)課申請(qǐng),給師生提供的主要是課程查詢;給教務(wù)處提供的就相對(duì)復(fù)雜,包括課程的管理、查詢、新開(kāi)課的申請(qǐng),課程管理又細(xì)化為課程停開(kāi)、課程的增刪改查等。

      通過(guò)分析,這三類用戶都提供查詢服務(wù),只是權(quán)限大小、范圍不同,因此,我們將有關(guān)權(quán)限的功能全部抽象出來(lái),放到平臺(tái)的基礎(chǔ)通用組件中,供全平臺(tái)調(diào)用。針對(duì)課程中心上面提到的課程查詢服務(wù),我們認(rèn)為其不僅是為課程中心提供服務(wù),還要為其他系統(tǒng),如選課系統(tǒng)提供服務(wù),因此設(shè)計(jì)為業(yè)務(wù)通用組件,其接口是業(yè)務(wù)域開(kāi)放;其他的服務(wù),我們均設(shè)計(jì)為業(yè)務(wù)組件,其接口是組件內(nèi)開(kāi)放,這兩種形成標(biāo)準(zhǔn)的接口供上層調(diào)用,最終將業(yè)務(wù)與展現(xiàn)實(shí)現(xiàn)分離。

      最終,為滿足課程中心系列用戶總體功能需求,形成的應(yīng)用和組件的功能及接口劃分如圖6所示。

      如圖6所示,課程查詢這個(gè)服務(wù),我們根據(jù)查詢定位的不同,提供兩種接口,接口kcQueryAll提供返回所有列表形式的課程,kcQuery這個(gè)接口提供返回單個(gè)課程表單形式的詳細(xì)信息的課程;根據(jù)展現(xiàn)層不同的需求,調(diào)用不同的接口,這兩個(gè)接口均通過(guò)操作底層數(shù)據(jù)庫(kù)課程表T_KC_KCB來(lái)提供需要的結(jié)果。經(jīng)過(guò)梳理,課程中心這個(gè)組件共提供17個(gè)不同的與課程有關(guān)的接口,包括課程的增刪改查等??傊?,通過(guò)課程中心這個(gè)組件,我們就將課程相關(guān)的接口建立起來(lái)了,這樣方便了上面各個(gè)微服務(wù)具體應(yīng)用的調(diào)用。

      五、結(jié)束語(yǔ)

      本文結(jié)合學(xué)校教務(wù)的實(shí)際改革需要,提出了一種基于微服務(wù)架構(gòu)的教務(wù)平臺(tái)的建設(shè)思路。這個(gè)平臺(tái)不僅能夠解決教務(wù)實(shí)際運(yùn)行中業(yè)務(wù)多變的實(shí)際需求,而且能夠大大減少開(kāi)發(fā)成本,縮短開(kāi)發(fā)周期,截至目前,系統(tǒng)運(yùn)行穩(wěn)定,很好地支持了學(xué)校人才培養(yǎng)改革。

      參考文獻(xiàn):

      [1]劉輝軍,劉培鋒,邱鈺鋒等.基于開(kāi)源框架及容器技術(shù)的微服務(wù)架構(gòu)研究[J].電力信息與通信技術(shù),2018(6):90-94.

      [2]王方旭.基于Spring Cloud和Docker的微服務(wù)架構(gòu)設(shè)計(jì)[J].中國(guó)信息化,2018(3):53-55.

      (編輯:王天鵬)

      猜你喜歡
      微服務(wù)
      微信公眾平臺(tái)在醫(yī)院圖書(shū)館的應(yīng)用現(xiàn)狀調(diào)查
      從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
      华宁县| 康平县| 丘北县| 宁河县| 博爱县| 阿尔山市| 平舆县| 余干县| 星座| 龙游县| 施甸县| 灵武市| 临夏市| 萝北县| 兖州市| 玉溪市| 资中县| 类乌齐县| 温州市| 汝城县| 武宣县| 雷山县| 洮南市| 宝应县| 瑞丽市| 修文县| 大邑县| 龙州县| 铁岭县| 申扎县| 丰县| 满城县| 阜南县| 普兰店市| 阿坝| 县级市| 桐庐县| 永平县| 延庆县| 天全县| 英德市|