羅偉雄 劉嵐 時東曉 曾紀霞


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