王曉晗
(咸陽師范學院 數(shù)學與信息科學學院, 陜西 咸陽 712000)
信息技術(shù)的高速發(fā)展以及云計算技術(shù)的普及,為教育領(lǐng)域的信息化建設(shè)提出了新的技術(shù)方向[1]。當前各級學校以及各類開展遠程教育的教學機構(gòu)所應用的教育平臺規(guī)模較小、結(jié)構(gòu)各異且互相獨立,導致了大量優(yōu)質(zhì)教學資源的浪費,不利于教學水平的快速提升[2]。為了解決這些問題,本文在Hadoop數(shù)據(jù)庫技術(shù)的基礎(chǔ)上設(shè)計了一種智能教育云平臺,利用Hadoop集群的數(shù)據(jù)存取優(yōu)勢和云計算的數(shù)據(jù)處理能力整合各類教育資源并實現(xiàn)了大范圍共享,通過教育存儲、遠程課堂、教務管理、教育門戶等服務實現(xiàn)了資源存取、在線教學、用戶管理和教育單位內(nèi)的資源整合。本平臺的設(shè)計思路能夠為智能教育平臺的技術(shù)應用提供有價值的參考。
智能教育平臺通過應用服務、平臺構(gòu)建、基礎(chǔ)設(shè)施3個結(jié)構(gòu)層來實現(xiàn)其服務功能,平臺邏輯架構(gòu)如圖1所示。
圖1 智能教育平臺邏輯架構(gòu)
平臺基于應用服務層與用戶進行可視化交互。利用Jquery、Bootstrap、HTML5等技術(shù)開發(fā)出了功能全面、交互友好的客戶端顯示界面。平臺所有的應用服務都由云服務中心集中管理,在處理用戶訪問請求時服務中心會根據(jù)身份與權(quán)限為其分配對應的資源。
基礎(chǔ)設(shè)施層為平臺提供軟硬件運行環(huán)境。在該層中,基于虛擬技術(shù)整合了PC集群、數(shù)據(jù)庫服務器、高速集成網(wǎng)絡等硬件設(shè)備,基于分布式框架、編程語言、Web服務器等技術(shù)實現(xiàn)軟件運行環(huán)境,為平臺運行提供了基本保證。
智能教育平臺的物理結(jié)構(gòu)如圖2所示。
圖2 智能教育平臺物理架構(gòu)
平臺采用高速交換機與路由器構(gòu)建集成網(wǎng)絡,通過VMWare虛擬化技術(shù)創(chuàng)建多個網(wǎng)絡節(jié)點。
平臺基于Heartbeat對PC集群進行統(tǒng)一管理并通過Nginx來均衡其資源負載量,以多節(jié)點同時處理的方式來應對大量訪問請求的涌入[3]。本平臺采用Hadoop架構(gòu)來滿足海量數(shù)據(jù)信息的存儲與計算需求,同時通過MySQL數(shù)據(jù)庫實現(xiàn)了擴展數(shù)據(jù)庫環(huán)境,以節(jié)點的冗余和切換來保證數(shù)據(jù)信息的讀取和寫入。
云服務中心是智能教育服務平臺與用戶進行教育信息交互的紐帶,對平臺服務和用戶實行雙向管理,其結(jié)構(gòu)如圖3所示。
圖3 云服務中心結(jié)構(gòu)示意圖
云服務中心包含用戶和服務2個功能模塊。用戶需要通過注冊獲取合法的訪問身份,用戶登入平臺后,用戶模塊為其附加一個Ticket認證標志,平臺在處理用戶的請求時根據(jù)Ticket驗證用戶身份和訪問權(quán)限。在服務模塊中,通過服務注冊確定服務的接口地址,描述服務的形式與內(nèi)容;通過服務授權(quán)驗證用戶身份、權(quán)限及服務綁定情況;通過服務管理平臺管理員可根據(jù)實際需求創(chuàng)建或刪除資源服務。本文的結(jié)構(gòu)和流程對云服務中心進行核心類設(shè)計,如圖4所示。
圖4 云服務中心核心類結(jié)構(gòu)設(shè)計
由圖4可知,平臺服務通過Service Center向用戶提供,由App Service和User Service完成服務項目。將User Service設(shè)計為公共類,利用get User Config接口為不同身份的用戶分配不同的權(quán)限,用戶的資源訪問請求則由Search Service接口為其提供資源地址。
《政府會計制度》強化了財務會計功能,擴大了資產(chǎn)負債核算范圍,在財務會計要素中新增了“其他貨幣資金”“預提費用”“待攤費用”“長期待攤費用”“研發(fā)支出”“應收股利”“壞賬準備”“應付利息”“預計負債”“非同級財政撥款收入”“投資收益”“捐贈收入”“利息收入”“租金收入”“資產(chǎn)處置費用”“權(quán)益法調(diào)整”“本期盈余”“本年盈余分配”“無償調(diào)撥凈資產(chǎn)”“以前年度盈余調(diào)整”等科目?!墩畷嬛贫取愤M一步完善了預算會計功能,在預算會計要素中新增了 “債務預算收入”“非同級財政撥款預算收入”“投資預算收益”“投資支出”“債務還本支出”“資金結(jié)存”等科目。
本平臺的教育存儲服務功能基于Hadoop分布式架構(gòu)在存儲集群中的應用而實現(xiàn),其結(jié)構(gòu)模型如圖5所示。
圖5 教育存儲服務結(jié)構(gòu)模型
存儲服務的對象包括平臺管理員和普通用戶2個部分。平臺管理員負責教育資源的統(tǒng)計、整合與分類,并為其分配動態(tài)存儲空間,同時有權(quán)對其他用戶的信息和權(quán)限進行編輯;普通用戶又分為教師、學生、教育管理者等,按照角色的不同在平臺中進行教育資源的錄入、下載、管理等操作。
教育資源的存儲服務由Storage Service提供,由App Service和User Service完成服務項目。由Manager Service、Ext Resource Service、Dictionary Service Service、Storage Service Resource Servicr實現(xiàn)具體功能。其中,Resource Servicr負責數(shù)據(jù)的管理和存取,Storage Service為用戶個人空間創(chuàng)建目錄樹,Ext Resource Service允許按需求對資源進行整合與擴充,Manager Service滿足平臺管理員的管理需求。
遠程課堂服務功能由遠程教學和在線考試2個部分組成。教師用戶擁有自己的遠程教學空間,能夠通過遠程課堂進行在線教學,錄制教學視頻并進行上傳,此外,教師用戶通過本平臺可以組織進行在線考試。學生用戶則可以借助該功能在線聽課,下載教學視頻和課件。
本文對遠程課堂服務進行核心類實現(xiàn)的結(jié)構(gòu)和流程如圖6所示。
圖6 遠程課堂服務核心類結(jié)構(gòu)設(shè)計
遠程課堂服務通過Online Service提供,由Online Exam Service和Online Class Service實現(xiàn)具體功能。Online Class Service負責提供遠程課堂環(huán)境,通過RTSP協(xié)議發(fā)起或結(jié)束在線視頻會話;Online Exam Service負責在線考試環(huán)境的創(chuàng)建,為學生提供答題接口。
教務管理的主體是學校和各種開展遠程教學的教育機構(gòu),該項功能主要用于遠程教育的組織和管理。教務管理服務功能由信息管理、課程管理、成績管理3個部分組成,學?;蚪虒W機構(gòu)的教務人員對其所管轄范圍內(nèi)的師生信息進行管理,在平臺中發(fā)布教學任務和課程表,學生依據(jù)教學課程設(shè)置進行報名和在線學習并參加考試,教師可以公布考試成績并根據(jù)考試情況進行教學總結(jié)。
本文對教務管理服務進行核心類實現(xiàn)的結(jié)構(gòu)和流程如圖7所示。
圖7 教務管理服務核心類結(jié)構(gòu)設(shè)計
教務管理服務通過Edu Admin Service提供,由Mark Service、Class Service和User Info Service實現(xiàn)具體功能。User Info Service用于教務人員對師生信息的編輯和更新;Class Service用于在線教學課程的發(fā)布;教師通過Mark Service對成績和答題情況進行統(tǒng)計和發(fā)布,學生通過其getMark接口進行成績查詢。
教育門戶服務的具體功能是整合教育單位中各站點的教育資源,將其視為一個整體向用戶提供資源服務,其結(jié)構(gòu)設(shè)計如圖8所示。
圖8 教務門戶服務結(jié)構(gòu)設(shè)計
教育門戶服務由站點群和管理平臺兩個模塊實現(xiàn)其具體功能。每個教育單位都擁有一個獨立的站點空間用于資源的存儲和業(yè)務的處理,由教育單位指定的管理員對教育資源按其自身特色進行集中的統(tǒng)計與分類。
本文對教務管理服務進行核心類設(shè)計的結(jié)構(gòu)和流程如圖9所示。
圖9 教務管理服務核心類結(jié)構(gòu)設(shè)計
教務管理服務通過Content Service提供,由Page Service、Plate Service、Site Service和Template Service實現(xiàn)具體功能。Template Service負責配置站點模板,其它3類服務則分別用于內(nèi)容、板塊、站點的創(chuàng)建,完成各級數(shù)據(jù)的CURD處理。
本文將平臺的服務接口設(shè)計為具有REST風格的接口。具體流程[4]:將Apache CXF制定的JAX-RS規(guī)則應用到Spring MVC模式下的application Context-server.xml配置文件中;通過定義@Path注解創(chuàng)建資源標識符URI;在通過@DELETE、@PUT、@POST、@GET注解建立不同方式的HTTP指令的基礎(chǔ)上,對應到各種資源處理業(yè)務[5];利用@Produces實現(xiàn)對JSON- MIME類型的支持。該過程的部分執(zhí)行代碼如下。
在完成對application Context-server.xml文件的配置后,服務接口的形式即轉(zhuǎn)換為REST Web Service。該過程的部分執(zhí)行代碼如下。
接口服務形式確定后,用戶即可對資源進行訪問。基于Web Client對象的編程能夠?qū)崿F(xiàn)平臺其余各項服務與服務接口的通信。
本平臺的業(yè)務邏輯基于Service編程進行實現(xiàn),將各Service所具備的實際功能劃分成Check Param與Process兩個部分,其中Check Param用于驗證用戶權(quán)限以及訪問請求的合法性,Process用于按照訪問請求進行業(yè)務處理[6]。業(yè)務邏輯的實現(xiàn)流程如下。
本平臺基于Hbase進行數(shù)據(jù)的存儲與處理,以HBase Dao對Hbase的操作進行封裝,進而完成數(shù)據(jù)庫的通信、事務、基本CURD等過程,在對此類進行繼承的基礎(chǔ)上實現(xiàn)各類數(shù)據(jù)模型的持久化。該過程的部分執(zhí)行代碼如下。
本平臺的應用測試主要考核平臺的資源負載能力。第一步是檢驗平臺Hbase的負載能力,向Hbase中批量載入百萬數(shù)量級的教育資源數(shù)據(jù),利用專項測試工具分別進行random Write、random Read、sequential Write、sequential Read測試,結(jié)果如表1所示。
表1 平臺Hbase負載測試結(jié)果
由表1可見,Hbase數(shù)據(jù)庫足以應對海量數(shù)據(jù)信息的存取,能夠為本平臺提供性能優(yōu)異的數(shù)據(jù)存儲環(huán)境。
第二步是基于Webbench檢驗教育存儲服務和教育門戶服務的負載能力,其余各項服務的測試流程與之基本相同。選取以上兩種服務所涉及的服務接口各3個,通過平臺客戶端在60 s內(nèi)持續(xù)輸入并發(fā)指令,記錄該段時間內(nèi)平臺的資源輸出數(shù)量,應用測試結(jié)果如圖10所示。
圖10 平臺Hbase負載測試結(jié)果
由圖10可見,在高并發(fā)指令輸入的條件下,服務能夠穩(wěn)定的得以執(zhí)行,輸出量并無明顯變化,可見平臺的服務具有很高的負載能力。
為了有針對性地解決當前各種教育平臺所存在的規(guī)模小、共享度差的問題,本文提出并設(shè)計了一種基于Hadoop數(shù)據(jù)庫技術(shù)的智能教育云平臺。介紹了由應用服務、平臺構(gòu)建、基礎(chǔ)設(shè)施3個結(jié)構(gòu)層所組成的平臺框架,詳細闡述了教育存儲、遠程課堂、教務管理、教育門戶等服務功能的設(shè)計與實現(xiàn)過程,通過平臺測試驗證了平臺優(yōu)異的負載能力,為同類平臺的研發(fā)提供了一定的技術(shù)參考。