基于云計算的數(shù)字圖書館服務平臺架構設計
引言
云計算具有超大規(guī)模、虛擬化、高可靠性、易用性、高可擴展性、按需服務、廉價等優(yōu)點,因此,研究人員已經探索將云計算技術應用到數(shù)字圖書館服務共享平臺建設中,以提高資源共享度。喻昕、王敬一提出了一種數(shù)字圖書館云服務平臺的架構模型,并設計了服務平臺管理、運行機制。裴紅羅等提出了一種基于云計算的數(shù)字圖書館平臺架構,該平臺架構分為模型數(shù)據庫、控制算法層和表現(xiàn)應用層。陳宮、牛秦洲采用Eucalyptus和Portlet等技術,實現(xiàn)了一種基于云計算的數(shù)字圖書館信息服務平臺。在我國,數(shù)字圖書館建設主要集中在高校,但目前關于數(shù)字圖書館云計算平臺架構的研究,幾乎都將平臺定位于學術資源共享,而忽視了平臺可以為數(shù)據挖掘、基因序列測定、天文信號分析等需高性能計算支撐的工作提供計算資源,此外,研究都沒有涉及云計算平臺的實現(xiàn)技術。因此,本文提出一種基于云計算的數(shù)字圖書館服務平臺的架構及實現(xiàn)技術,為高校自主建設數(shù)字圖書館云服務平臺提供參考。
1云計算
1.1云計算的基本架構
Voorsluys等介紹了多個云計算架構,其中普遍被認可的云計算通用基本架構如圖1所示。其中:IaaS(Infrastructureasaservice)表示基礎設施即服務,基礎設施由虛擬機、服務器、存儲設備、網絡設備、負載均衡設備等組成;PaaS(Platformasaservice)表示平臺即服務,PaaS層包括數(shù)據庫、Web服務器和開發(fā)工具集等;SaaS(Softwareasaservice)譯為軟件即服務,SaaS層屬于應用層,為云用戶提供各種軟件服務。例如,GoogleAPPEngine實際上提供了PaaS服務;Amazon的云服務包括:EC2、S3存儲服務和ElasticBeanstalk,從技術架構來看,前兩者屬于laaS,而ElasticBeanstalk則屬于PaaS。
1.2云計算平臺發(fā)展趨勢
Google、Amazon等公司提供的云計算平臺無法滿足不同用戶的特定需求,所以,很多機構(如美國國防部)開始構建私有內部云。一些小公司也致力于幫助客戶構建云,如3Tera公司聲稱能夠提供許多Amazon沒有的管理服務,自主建設私有云已經成為一種潮流°Xen等開源平臺及軟件的出現(xiàn),使得學術界、中小企業(yè)自主搭建中小型云平臺成為可能,也為自主建設數(shù)字圖書館云服務平臺提供了一種更加貼近實際需求的選擇。
2基于云計算的數(shù)字圖書館服務平臺架構
本文提出的基于云計算的數(shù)字圖書館服務平臺架構如圖2所示,平臺由物理資源層、虛擬化資源層、數(shù)據層、服務層和用戶層組成,可以滿足用戶對于存儲資源、計算資源和網絡資源的需求。
2.1物理資源層
最底層的物理資源主要包括服務器、存儲器、網絡設備等。物理資源的規(guī)模與結構相對固定,難以支持多變的服務需求,需要通過虛擬化方式將其整合,以便為上層服務。
2.2虛擬化資源層
利用虛擬化技術將各種物理資源整合(或劃分)并轉換為相應的虛擬化資源,為云計算平臺提供了資源調配上的靈活性,提高了資源利用率。虛擬化資源層包括存儲資源、計算資源、網絡資源等。存儲資源通常由網絡文件系統(tǒng)和分布式存儲技術實現(xiàn)。計算資源主要包含CPU資源和內存資源。網絡資源虛擬化抽象隔離了網絡中的路由器、交換機、網絡端口以及其他物理元素的網絡流量,將每個物理元素用虛擬表示形式代替,虛擬網絡元素配置靈活,能夠滿足特定需求。
物理資源層和虛擬化資源層共同組成了基礎設施層。為降低建設成本,可以采用開源技術構建基礎設施層,從功能、虛擬化技術支持程度和商用評估三個方面綜合來看,OpenStack是構建基礎設施層的理想選擇[7〕。作為開源云端運算軟件的典型代表,OpenStack具有良好的靈活性、擴展性和兼容性,采用分布式和異步的體系結構,支持多種局域網管理方式、虛擬機鏡像和實例管理、iSCSI存儲容器管理等,能幫助用戶快速構建云基礎設施,已有超過100多個全球領先的IT公司參與了OpenStack項目。
2.3數(shù)據層
數(shù)據層包含各種異構數(shù)據庫和數(shù)據庫訪問模塊。數(shù)據庫軟件種類繁多,既有商業(yè)化的數(shù)據庫軟件,也有開源的數(shù)據庫軟件,不同的數(shù)據庫軟件依賴于不同的操作系統(tǒng),如SQLServer只能運行在Windows平臺上,無法與Unix兼容。在云計算環(huán)境下,各數(shù)字圖書館組成聯(lián)盟有利于資源最大程度的共享,作為網絡節(jié)點的數(shù)字圖書館,其節(jié)點異構性是不可避免的。數(shù)據庫訪問模塊(也稱為信息集成模塊)用于屏蔽各種數(shù)據庫的差異性,并提供訪問接口,便于上層服務完成對異構數(shù)據庫的操作,可以利用Java持久化API等技術實現(xiàn)這個模塊。Java持久化API簡稱JPA是JavaEE5規(guī)范中用于對象/關系映射的一組API,它使得對象(構成上層服務的基本組件)持久化更加規(guī)范和容易實現(xiàn)。
2.4服務層
服務層由用戶管理服務、安全管理服務、資源管理服務、借閱服務、檢索服務、書刊推薦、專題訂閱等模塊組成。用戶管理服務實現(xiàn)用戶的增加、刪除、修改、查詢,并通過角色劃分賦予各用戶以不同的權限。安全管理服務完成用戶身份認證,按角色來區(qū)分訪問控制。資源管理服務負責存儲資源、計算資源和網絡資源的管理,包括調度、動態(tài)部署、配置和回收。借閱服務實現(xiàn)紙質圖書資料的管理。檢索服務滿足學術資源的檢索、下載,書刊推薦和專題訂閱等則實現(xiàn)個性化服務。
服務層的實現(xiàn)可采用J2EE平臺。J2EE是當前的主流平臺之一,具有支持異構環(huán)境、可伸縮性強、采用多層的分布式服務模型等優(yōu)點,開發(fā)J2EE的工具很多(如Eclipse),這些工具通常都提供向導、上下文幫助、可視化工具及代碼自動生成等功能,可避免不必要的重復編碼,幫助開發(fā)人員快速構建應用程序。
2.5用戶層
用戶通過門戶訪問云服務,而訪問方式卻各不相同,可以分Web服務、Web應用、外部服務和非Web應用等,因此,需要實現(xiàn)內外部服務的匯總、服務個性化定制以及針對計算機、手機、平板電腦等不同設備的顯示。實現(xiàn)技術可以采用JSF(JavaServerFaces),JSF提供了一種以組件為中心的用戶界面(UI)構建方法,采用基于組件和事件驅動的開發(fā)模式,為JavaWeb應用程序開發(fā)帶來了極大的便利,使得開發(fā)人員可以專注于業(yè)務邏輯,加速Web應用程序的構建。
3結語
作為圖書館的主要依托單位,各高校應該將最新的云計算技術應用于數(shù)字圖書館或聯(lián)盟的建設,構建云服務平臺,實現(xiàn)資源大范圍共享,減少重復建設。在經費有限的情況下,高??梢猿浞掷醚邪l(fā)人員優(yōu)勢,自主建設云服務平臺。本文分析了高校對于云服務平臺的主要需求,提出了基于云計算的數(shù)字圖書館服務平臺架構模型,詳細說明了架構模型每層的構成及功能,在研究主流開發(fā)技術的基礎上,介紹了架構的實現(xiàn)技術,選用的技術具有成熟度高、兼容性強、研發(fā)難度低等特點,適合于快速構建云服務平臺,可以為今后的建設工作提供參考和借鑒。
20211119_61979e551b459__基于云計算的數(shù)字圖書館服務平臺架構設計