羅偉雄 劉嵐 時東曉 曾紀霞
摘要:針對我國當前正在全面深化信息技術在教學、管理等方面的應用,以促進教育教學模式創(chuàng)新,g J導資源共建共享。提出了在當前大數(shù)據(jù)環(huán)境下,使用數(shù)據(jù)虛擬化技術建設高校信息資源中心。首先闡述了信息資源庫的三種部署方式;然后從硬件平臺層、虛擬服務器層、數(shù)據(jù)存儲層、數(shù)據(jù)虛擬化層、數(shù)據(jù)接口層和應用層詳細介紹了數(shù)據(jù)資源中心的系統(tǒng)架構(gòu);最后闡述了數(shù)據(jù)資源中心的建設。通過數(shù)據(jù)虛擬化技術、統(tǒng)一數(shù)據(jù)接口、統(tǒng)一應用等綜合性的云計算技術構(gòu)建了大數(shù)據(jù)資源中心,使系統(tǒng)更好地適應當今移動應用和移動學習的需求?;緦崿F(xiàn)了教育資源共建共享的目的,實現(xiàn)了數(shù)字化教育教學資源的效益最大化。
關鍵詞:數(shù)據(jù)虛擬化;大數(shù)據(jù);云計算技術;網(wǎng)絡虛擬化;服務器虛擬化;存儲虛擬化
0引言
2012年國家教育部發(fā)布《教育部關于印發(fā)(教育信息化十年發(fā)展規(guī)劃(2011-2020年))的通知》。通知指出要充分整合現(xiàn)有資源,采用云計算技術,構(gòu)建穩(wěn)定可靠、低成本的國家教育云服務模式;同時要建立優(yōu)質(zhì)數(shù)字教育資源和共建共享環(huán)境,提供優(yōu)質(zhì)數(shù)字教育資源信息服務。而云計算技術的發(fā)展和落地為構(gòu)建教育資源共建共享打下了堅實的基礎。筆者在教育資源共建共享方面展開了深入的研究工作。經(jīng)過多年的探索與實踐,設計了一套在云計算環(huán)境下使用數(shù)據(jù)虛擬化技術構(gòu)建大數(shù)據(jù)資源中心的架構(gòu),并初步建成了基于云計算技術的教育資源庫系統(tǒng)。
1部署方式
要在云計算環(huán)境下構(gòu)建大數(shù)據(jù)資源中心,首先要解決的是云計算的部署方式。云計算的部署方式是指云計算資源的所有者和使用者的關系。選擇不同的部署方式將會影響整個系統(tǒng)的架構(gòu),會關系后續(xù)應用系統(tǒng)的部署、數(shù)據(jù)流的管理以及安全控制等問題。因此在進行系統(tǒng)設計時就要選擇一種具有較好擴展能力的,適合應用需求的部署方式。
云計算的部署方式有公有云、私有云和混合云。其中混合云是公有云和私有云兩種服務方式的結(jié)合,它將公有云和私有云進行混合和匹配,以獲得最佳的效果,這種個性化的解決方案,達到了既省錢又安全的目的。在當前的運行環(huán)境中基于安全考慮,并非所有數(shù)據(jù)信息都適合存儲在公有云上,例如各單位的財務信息等重要的內(nèi)部數(shù)據(jù),更適合保存在本地私有云系統(tǒng)中。而通過私有云系統(tǒng)可以更加靈活高效地管理資源。但是公有云的計算資源和存儲資源又是私有云系統(tǒng)無法比擬的,通過將非機密功能遷移到公有云中,可以降低對內(nèi)部私有云的壓力和需求。因此本系統(tǒng)采用了混合云的部署方式,經(jīng)過實踐應用,發(fā)現(xiàn)效果良好。
2系統(tǒng)架構(gòu)
本系統(tǒng)以云計算技術為基礎構(gòu)建大數(shù)據(jù)資源中心。該系統(tǒng)主要由六個層次組成。分別是硬件平臺層、虛擬服務器層、數(shù)據(jù)存儲層、數(shù)據(jù)虛擬化層、數(shù)據(jù)接口層和應用層。如圖1所示:
2.1硬件平臺層
硬件平臺主要包括網(wǎng)絡、服務器和存儲器。由于各種原因,這些硬件設備都存在不同品牌、不同型號等異構(gòu)性問題。本系統(tǒng)使用了虛擬化技術來消除其異構(gòu)性,為上層提供統(tǒng)一的服務。這里主要包括網(wǎng)絡虛擬化(Network Virtualization)、服務器虛擬化(Server Virtualization)和存儲虛擬化(Storage Virtualization)。
(1)網(wǎng)絡虛擬化(Network Virtualization)
這里所說的網(wǎng)絡虛擬化指的是軟件定義的網(wǎng)絡,而非以往的虛擬專用網(wǎng)(VPN)。由于上層應用或安全的需求,有時候不得不對現(xiàn)有的網(wǎng)絡結(jié)構(gòu)進行調(diào)整,對于傳統(tǒng)的組網(wǎng)方式而言,這種調(diào)整是非常麻煩的,特別是對大型的復雜的網(wǎng)絡更是如此。而使用網(wǎng)絡虛擬化技術則可輕松面對這種狀況。網(wǎng)絡虛擬化(Network Virtualization)是將多個網(wǎng)絡節(jié)點進行整合,組合成一個邏輯網(wǎng)絡,然后以軟件定義的方式,創(chuàng)建、調(diào)配和管理邏輯網(wǎng)絡并將邏輯網(wǎng)絡設備和安全策略的任意組合組裝到任何拓撲結(jié)構(gòu)中。網(wǎng)絡虛擬化技術將網(wǎng)絡節(jié)點和物理網(wǎng)絡基礎架構(gòu)進行了分離,確保了硬件的獨立性,使網(wǎng)絡調(diào)配能靈活適應上層應用和安全的需要。
(2)服務器虛擬化(Server Virtualization)
由于筆者所在單位的物理服務器都是在不同的建設期,不同的年份購買的,因此存在不同品牌、不同配置、不同性能的問題。因此系統(tǒng)采用了服務器虛擬化技術將這些物理服務器進行重新整合,把他們虛擬化為統(tǒng)一的計算資源池,為上層應用提供服務。服務器虛擬化(Server Virtualization)的目的就是將服務器物理資源抽象成邏輯資源,讓CPU、內(nèi)存、磁盤、I/O等硬件變成可以動態(tài)管理的“資源池”,從而提高資源的利用率,簡化系統(tǒng)管理,實現(xiàn)服務器整合。
(3)存儲虛擬化(Storage Virtualization)
存儲虛擬化(Storage Virtualization)是通過將存儲系統(tǒng)或存儲服務的內(nèi)部功能抽象、隱藏或隔離,使存儲或數(shù)據(jù)的管理與應用、服務器及網(wǎng)絡資源的管理隔離,從而實現(xiàn)對存儲和數(shù)據(jù)的應用以及網(wǎng)絡無關的管理。與物理服務器的情況類似,在筆者所在單位的數(shù)據(jù)中心,數(shù)據(jù)存儲也存在多種品牌、多種配置、多種接口的情況。系統(tǒng)通過存儲虛擬化技術將這些異構(gòu)的數(shù)據(jù)存儲進行有機地整合,邏輯抽象,把他們重新構(gòu)建成一個高效靈活的存儲資源池,為上層提供統(tǒng)一的管理和存取操作,降低了管理的難度,提高了系統(tǒng)的擴展能力,實現(xiàn)了數(shù)據(jù)的跨設備流動。
當前實現(xiàn)硬件平臺虛擬化的產(chǎn)品和方案很多,有VMware、IBM、Microsoft等多種平臺。這里筆者使用了VMware的解決方案來實現(xiàn)虛擬化。在該平臺上實現(xiàn)了對IBM BladeCenter HS22、HP ProLiantDL580 G7、浪潮NF8420 M3等共22臺物理服務器進行整合,虛擬了124臺虛擬服務器,虛擬比例達到了1:5.6,大大節(jié)約了硬件服務器的購買成本。同時對EMC 5100、IBM DS 3000、HP P4000等多個品牌的多臺存儲陣列進行了虛擬化,組建了統(tǒng)一的存儲資源池,為上層提供統(tǒng)一的存儲服務,屏蔽了各種存儲器的操作差異,對存儲資源進行了合理的整合和分配,有效提高了數(shù)據(jù)存儲的利用率。endprint
云計算技術的基礎是虛擬化,通過對硬件平臺的虛擬化,系統(tǒng)實現(xiàn)了對硬件資源的高度整合,提高了資源的利用率,提高了系統(tǒng)的擴展能力,提升了系統(tǒng)的管理水平,降低了建設的成本,為后續(xù)大數(shù)據(jù)資源中心的建設提供了優(yōu)質(zhì)的基礎保障。
2.2虛擬服務器層
該層是在硬件平臺虛擬化的基礎上根據(jù)應用的需求,構(gòu)建相應的虛擬服務器。由于系統(tǒng)使用的是混合云的部署方式,因此虛擬服務器除了由本地數(shù)據(jù)中心硬件服務器虛擬之外,還租用了公有云上的虛擬服務器。這些服務器根據(jù)不同的業(yè)務需求分別組建成不同的服務器群集,結(jié)合分布式計算,實現(xiàn)了服務的高可用性和可靠性,同時還提高了系統(tǒng)的處理和計算能力。
由本地數(shù)據(jù)中心的硬件平臺以及由此創(chuàng)建的虛擬服務器構(gòu)成了私有云,而所租用的虛擬服務器部分構(gòu)成了公有云。然后再根據(jù)業(yè)務性質(zhì)、數(shù)據(jù)流量、安全要求等分別在兩者之上部署不同的業(yè)務系統(tǒng)。
2.3數(shù)據(jù)存儲層
該層主要是根據(jù)不同的應用,部署不同的數(shù)據(jù)庫存儲系統(tǒng)。在實施過程中筆者發(fā)現(xiàn),由于上層部署的應用系統(tǒng)往往都是由多家廠商開發(fā)的,他們所使用的操作系統(tǒng)類型和數(shù)據(jù)庫平臺往往都不統(tǒng)一。即使是使用相同的數(shù)據(jù)庫系統(tǒng),但由于各種配置要求不一樣,如字符集等,而產(chǎn)生沖突,無法共存。因此試圖要求各個廠商把他們的數(shù)據(jù)庫都部署在統(tǒng)一的環(huán)境中,使用統(tǒng)一的數(shù)據(jù)庫平臺,這基本上是不可行的。因此只能另辟蹊徑。
為了實現(xiàn)數(shù)據(jù)資源的共享,筆者首先制定了各類數(shù)據(jù)的基本格式要求,如視頻資源必須具備哪些屬性等等。這樣在后期就可以通過數(shù)據(jù)同步、數(shù)據(jù)提取等多種手段實現(xiàn)數(shù)據(jù)的共享。
2.4數(shù)據(jù)虛擬化層
該層是整個系統(tǒng)的重要組成部分,是實現(xiàn)大數(shù)據(jù)資源中心數(shù)據(jù)共享的核心。
由于不同的應用需要部署不同的數(shù)據(jù)庫存儲系統(tǒng),這樣根本無法實現(xiàn)數(shù)據(jù)的共享。經(jīng)過分析研究,筆者發(fā)現(xiàn),各類應用中有不少數(shù)據(jù)都是共通的,而且不論是從管理的角度還是使用的角度都應該進行統(tǒng)一的管理。例如最為常見的用戶信息,這是每個應用系統(tǒng)都必須具備的。如果這部分信息不進行統(tǒng)一管理,后期維護起來是相當麻煩的。例如增加一個用戶,如果沒有統(tǒng)一的管理,那么就必須分別在各個系統(tǒng)中添加信息,其操作不但繁瑣,而且容易產(chǎn)生錯誤。同樣修改和刪除數(shù)據(jù)亦復如是。
為了消除各異構(gòu)數(shù)據(jù)的存取差異,實現(xiàn)數(shù)據(jù)資源的共享,筆者借鑒了硬件平臺虛擬化的思想,對數(shù)據(jù)存儲層的數(shù)據(jù)進行了虛擬化,創(chuàng)建了數(shù)據(jù)虛擬化層。數(shù)據(jù)虛擬化(Data Virtualization)是用來描述所有數(shù)據(jù)管理方法的涵蓋性術語,這些方法允許應用程序檢索并管理數(shù)據(jù),且不需要數(shù)據(jù)相關的技術細節(jié)。數(shù)據(jù)存儲層上的數(shù)據(jù)庫就好比硬件平臺層上的物理服務器,而數(shù)據(jù)庫中存放的各種數(shù)據(jù)資源就好比服務器上的CPU、內(nèi)存等資源。數(shù)據(jù)虛擬化就是將數(shù)據(jù)存儲層上存放的數(shù)據(jù)進行重新分類、整合、抽象,然后對外提供統(tǒng)一的數(shù)據(jù)對象,對上層屏蔽數(shù)據(jù)具體存放的位置。這樣不但簡化了上層的操作,而且還實現(xiàn)了數(shù)據(jù)的高度共享,提高了數(shù)據(jù)的管理水平。其邏輯架構(gòu)如圖2所示:
2.5數(shù)據(jù)接口層
隨著各種智能移動終端的普及,上層應用的類型也開始變得紛繁復雜。為了適應多種應用類型的需求,本系統(tǒng)采用數(shù)據(jù)接口層來對外發(fā)布虛擬化后的數(shù)據(jù)對象,上層應用通過該接口層來實現(xiàn)對數(shù)據(jù)的操作和處理。這里按照數(shù)據(jù)對象的分類來發(fā)布接口,例如有用戶信息接口、課件資源接口、多媒體資源接口等等。為了適用移動應用的需求,接口層采用了HTTP協(xié)議+JSON格式+OAuth2.0認證的方式來構(gòu)建。
HTTP協(xié)議(Hypertext Transfer Protocol)是一個客戶端和服務器端請求和應答的標準,它是無狀態(tài)的應用層協(xié)議,由于其簡捷、快速的方式,因此特別適合于分布式超媒體信息系統(tǒng)。由于該協(xié)議使用的是標準的80端口,因此對于服務器和防火墻也不需要做任何特殊的配置,部署起來比較方便,所以特別適合作為移動應用的傳輸協(xié)議。
JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,具有良好的可讀和便于快速編寫的特性,可在不同平臺之間進行數(shù)據(jù)交換[1們。JSON的數(shù)據(jù)格式比較簡單,易于讀寫,格式都是壓縮的,占用帶寬小,同時它易于解析,便于客戶端的訪問提取;相比之下XML文件龐大,格式復雜,傳輸時占用帶寬大,服務器端和客戶端都需要花費大量資源和時間來解析。
OAuth(Open Authorization)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網(wǎng)站上存儲的私密資源(如照片,視頻,聯(lián)系人列表),而無需將用戶名和密碼提供給第三方應用。而OAuth2.0是OAuth協(xié)議的下一版本,它關注客戶端開發(fā)者的簡易性,同時為Web應用、桌面應用、手機和起居室設備提供專門的認證流程。
通過上面的架構(gòu),不管是傳統(tǒng)的Web網(wǎng)站還是新興的移動應用都可以通過該接口層方便、安全地使用系統(tǒng)的虛擬數(shù)據(jù)對象,這樣有效提高了系統(tǒng)的擴展能力。
2.6應用層
應用層是直接面向用戶,為用戶提供服務的操作界面。例如資源檢索、課件點播、用戶認證等等。各種應用通過接口層提供的接口函數(shù)對數(shù)據(jù)虛擬化層的數(shù)據(jù)對象進行操作。由于數(shù)據(jù)虛擬化層已經(jīng)把來自各異構(gòu)系統(tǒng)的數(shù)據(jù)進行了整合、抽象,而接口層又對數(shù)據(jù)的操作進行了封裝,因此應用層在對數(shù)據(jù)進行操作時,就不需要再考慮各數(shù)據(jù)項的具體存放位置和存取方法。這樣可以使應用層更專注于與用戶的交互,簡化開發(fā)的流程,同時用戶只需通過統(tǒng)一的操作界面即可實現(xiàn)對信息資源的檢索和管理,充分體現(xiàn)了數(shù)據(jù)虛擬化技術的優(yōu)點。
3系統(tǒng)建設
3.1標準的建立
實現(xiàn)大數(shù)據(jù)資源中心建設的一個關鍵點是標準的建立。目前我國在教育資源建設技術方面尚未有統(tǒng)一的國家標準,存在格式多樣化,難以實現(xiàn)數(shù)據(jù)共享等問題。雖然我國也參考了國外的信息資源建設標準,制定了如《教育資源建設技術規(guī)范》、《現(xiàn)代遠程教育資源建設技術規(guī)范》、《多媒體教學資源庫建設規(guī)范》等。但是各系統(tǒng)開發(fā)商并沒有完全遵循這些規(guī)范來進行資源的開發(fā)建設,而往往是按照自己的思路和方法來建設教育信息資源。特別是資源的屬性描述,更是五花八門,隨心所欲,導致各系統(tǒng)的資源互不兼容,難以整合。因此要實現(xiàn)教育資源的共建共享,就必須為資源建設和各資源的屬性制定統(tǒng)一的標準規(guī)范。經(jīng)過實踐證明,統(tǒng)一的標準規(guī)范能為數(shù)據(jù)虛擬化層的建設減少很多難點。例如在進行數(shù)據(jù)整合時,某一資源的屬性描述在各個系統(tǒng)中都不相同,那么數(shù)據(jù)虛擬化層就要考慮對數(shù)據(jù)類型進行轉(zhuǎn)換,而且還要考慮轉(zhuǎn)換時是否會發(fā)生信息丟失等問題,而資源屬性描述標準化后,就不需要再考慮這些問題了。
3.2異構(gòu)數(shù)據(jù)的同步與共享
大數(shù)據(jù)資源中心建設的另一個關鍵點是如何實現(xiàn)異構(gòu)數(shù)據(jù)的同步與共享。前面分析過,試圖把各種應用數(shù)據(jù)統(tǒng)一部署在同一個數(shù)據(jù)庫平臺上,基本上是很難辦到的。因此就需要在各種異構(gòu)數(shù)據(jù)平臺上實現(xiàn)數(shù)據(jù)的同步與共享。本系統(tǒng)采用數(shù)據(jù)虛擬化技術來完成這項工作。
數(shù)據(jù)虛擬化層負責將各種異構(gòu)數(shù)據(jù)進行重新分類、整合、抽象,然后對外提供統(tǒng)一的數(shù)據(jù)對象。對數(shù)據(jù)對象的操作,數(shù)據(jù)虛擬化層都會自動把相應的數(shù)據(jù)項映射到各異構(gòu)系統(tǒng)中。這樣對于上層應用來說,只要對抽象后的數(shù)據(jù)對象進行操作,即可完成對來自各異構(gòu)系統(tǒng)數(shù)據(jù)的操作,而不需要再關心數(shù)據(jù)具體的存放位置。
3.3資源檢索的融合
大數(shù)據(jù)資源中心,不僅要在底層實現(xiàn)系統(tǒng)間的數(shù)據(jù)共享,更要在用戶使用體現(xiàn)上彰顯大數(shù)據(jù)資源中心的優(yōu)勢。例如,用戶要檢索圖片資源,在沒有進行檢索融合之前,用戶需要在多個資源系統(tǒng)中分別進行檢索操作。這種方式對于用戶來說根本沒有實現(xiàn)資源的統(tǒng)一管理。用戶是不會關心各個系統(tǒng)底層數(shù)據(jù)是否共享,他們更關注的是操作是否簡便了。用戶需要在一個操作界面上執(zhí)行操作,然后由系統(tǒng)自動對各資源庫進行檢索,最后把結(jié)果呈現(xiàn)給用戶。這樣用戶才會感受到數(shù)據(jù)資源的統(tǒng)一管理。
由此可見資源檢索的融合也是非常關鍵的。在本系統(tǒng)中,由于使用了數(shù)據(jù)虛擬化技術,首先完成了各系統(tǒng)數(shù)據(jù)的抽象融合,然后在此基礎上構(gòu)建了統(tǒng)一的數(shù)據(jù)接口層,為上層應用提供了統(tǒng)一數(shù)據(jù)操作接口,最后應用層直接使用這些操作接口,完全實現(xiàn)了資源檢索的融合要求。
4結(jié)論
筆者通過網(wǎng)絡虛擬化、服務器虛擬化、數(shù)據(jù)虛擬化、統(tǒng)一數(shù)據(jù)接口、統(tǒng)一應用等綜合性的云計算技術來構(gòu)建大數(shù)據(jù)資源中心,基本實現(xiàn)了教育資源共建共享的目的。利用云計算技術使系統(tǒng)更好地適應當今移動應用和移動學習的需求,實現(xiàn)了數(shù)字化教育教學資源的效益最大化。endprint