崔忠偉+左羽+韋萍萍+熊偉程
摘 要:在分析數(shù)字圖書館功能需求的基礎(chǔ)上,提出了一種基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)的設(shè)計方法,該平臺采用六層架構(gòu),既能提供存儲服務(wù)以實現(xiàn)資源共享,也能為計算量巨大的工作(如基因序列測定)提供計算服務(wù)。文中同時介紹了架構(gòu)的實現(xiàn)技術(shù),利用這些實現(xiàn)技術(shù),能夠快速構(gòu)建云服務(wù)平臺。
關(guān)鍵詞:云計算;數(shù)字圖書館;服務(wù)平臺;架構(gòu)設(shè)計
中圖分類號:TP391 文獻標示碼:A 文章編號:2095-1302(2014)02-0080-02
0 引 言
云計算具有超大規(guī)模、虛擬化、高可靠性、易用性、高可擴展性、按需服務(wù)、廉價等優(yōu)點,因此,研究人員已經(jīng)探索將云計算技術(shù)應(yīng)用到數(shù)字圖書館服務(wù)共享平臺建設(shè)中,以提高資源共享度。喻昕、王敬一[1]提出了一種數(shù)字圖書館云服務(wù)平臺的架構(gòu)模型,并設(shè)計了服務(wù)平臺管理、運行機制。裴紅羅[2]等提出了一種基于云計算的數(shù)字圖書館平臺架構(gòu),該平臺架構(gòu)分為模型數(shù)據(jù)庫、控制算法層和表現(xiàn)應(yīng)用層。陳宮、牛秦洲[3]采用Eucalyptus和Portlet 等技術(shù),實現(xiàn)了一種基于云計算的數(shù)字圖書館信息服務(wù)平臺。在我國,數(shù)字圖書館建設(shè)主要集中在高校,但目前關(guān)于數(shù)字圖書館云計算平臺架構(gòu)的研究,幾乎都將平臺定位于學(xué)術(shù)資源共享,而忽視了平臺可以為數(shù)據(jù)挖掘、基因序列測定、天文信號分析等需高性能計算支撐的工作提供計算資源,此外,研究都沒有涉及云計算平臺的實現(xiàn)技術(shù)。因此,本文提出一種基于云計算的數(shù)字圖書館服務(wù)平臺的架構(gòu)及實現(xiàn)技術(shù),為高校自主建設(shè)數(shù)字圖書館云服務(wù)平臺提供參考。
1 云計算
1.1 云計算的基本架構(gòu)
Voorsluys等[5]介紹了多個云計算架構(gòu),其中普遍被認可的云計算通用基本架構(gòu)如圖1所示。其中:IaaS(Infrastructure as a service)表示基礎(chǔ)設(shè)施即服務(wù),基礎(chǔ)設(shè)施由虛擬機、服務(wù)器、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備、負載均衡設(shè)備等組成;PaaS(Platform as a service)表示平臺即服務(wù),PaaS層包括數(shù)據(jù)庫、Web服務(wù)器和開發(fā)工具集等;SaaS (Software as a service)譯為軟件即服務(wù),SaaS層屬于應(yīng)用層,為云用戶提供各種軟件服務(wù)。例如,Google APPEngine實際上提供了PaaS服務(wù);Amazon的云服務(wù)包括:EC2、S3存儲服務(wù)和Elastic Beanstalk,從技術(shù)架構(gòu)來看,前兩者屬于IaaS,而Elastic Beanstalk則屬于PaaS。
圖1 云計算的基本架構(gòu)
1.2 云計算平臺發(fā)展趨勢
Google、Amazon等公司提供的云計算平臺無法滿足不同用戶的特定需求,所以,很多機構(gòu)(如美國國防部)開始構(gòu)建私有內(nèi)部云。一些小公司也致力于幫助客戶構(gòu)建云,如3Tera公司聲稱能夠提供許多Amazon沒有的管理服務(wù),自主建設(shè)私有云已經(jīng)成為一種潮流。Xen等開源平臺及軟件的出現(xiàn),使得學(xué)術(shù)界、中小企業(yè)自主搭建中小型云平臺成為可能[6],也為自主建設(shè)數(shù)字圖書館云服務(wù)平臺提供了一種更加貼近實際需求的選擇。
2 基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)
本文提出的基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)如圖2所示,平臺由物理資源層、虛擬化資源層、數(shù)據(jù)層、服務(wù)層和用戶層組成,可以滿足用戶對于存儲資源、計算資源和網(wǎng)絡(luò)資源的需求。
用戶層 服務(wù)匯總、服務(wù)個性化定制、不同訪問設(shè)備兼容
服務(wù)層 用戶管理、安全管理、資源管理、借閱、檢索、書刊推薦、專題訂閱等
數(shù)據(jù)層 異構(gòu)數(shù)據(jù)庫及數(shù)據(jù)庫訪問模塊
虛擬化資源層 存儲資源、計算資源、網(wǎng)絡(luò)資源
物理資源層 服務(wù)器、存儲器、網(wǎng)絡(luò)設(shè)備等
圖2 基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)
2.1 物理資源層
最底層的物理資源主要包括服務(wù)器、存儲器、網(wǎng)絡(luò)設(shè)備等。物理資源的規(guī)模與結(jié)構(gòu)相對固定,難以支持多變的服務(wù)需求,需要通過虛擬化方式將其整合,以便為上層服務(wù)。
2.2 虛擬化資源層
利用虛擬化技術(shù)將各種物理資源整合(或劃分)并轉(zhuǎn)換為相應(yīng)的虛擬化資源,為云計算平臺提供了資源調(diào)配上的靈活性,提高了資源利用率。虛擬化資源層包括存儲資源、計算資源、網(wǎng)絡(luò)資源等。存儲資源通常由網(wǎng)絡(luò)文件系統(tǒng)和分布式存儲技術(shù)實現(xiàn)。計算資源主要包含 CPU 資源和內(nèi)存資源。網(wǎng)絡(luò)資源虛擬化抽象隔離了網(wǎng)絡(luò)中的路由器、交換機、網(wǎng)絡(luò)端口以及其他物理元素的網(wǎng)絡(luò)流量,將每個物理元素用虛擬表示形式代替,虛擬網(wǎng)絡(luò)元素配置靈活,能夠滿足特定需求。
物理資源層和虛擬化資源層共同組成了基礎(chǔ)設(shè)施層。為降低建設(shè)成本,可以采用開源技術(shù)構(gòu)建基礎(chǔ)設(shè)施層,從功能、虛擬化技術(shù)支持程度和商用評估三個方面綜合來看,OpenStack是構(gòu)建基礎(chǔ)設(shè)施層的理想選擇[7]。作為開源云端運算軟件的典型代表,OpenStack具有良好的靈活性、擴展性和兼容性,采用分布式和異步的體系結(jié)構(gòu),支持多種局域網(wǎng)管理方式、虛擬機鏡像和實例管理、iSCSI 存儲容器管理等,能幫助用戶快速構(gòu)建云基礎(chǔ)設(shè)施,已有超過 100 多個全球領(lǐng)先的 IT 公司參與了OpenStack項目。
2.3 數(shù)據(jù)層
數(shù)據(jù)層包含各種異構(gòu)數(shù)據(jù)庫和數(shù)據(jù)庫訪問模塊。數(shù)據(jù)庫軟件種類繁多,既有商業(yè)化的數(shù)據(jù)庫軟件,也有開源的數(shù)據(jù)庫軟件,不同的數(shù)據(jù)庫軟件依賴于不同的操作系統(tǒng),如SQL Server只能運行在Windows平臺上,無法與Unix兼容。在云計算環(huán)境下,各數(shù)字圖書館組成聯(lián)盟有利于資源最大程度的共享,作為網(wǎng)絡(luò)節(jié)點的數(shù)字圖書館,其節(jié)點異構(gòu)性是不可避免的。數(shù)據(jù)庫訪問模塊(也稱為信息集成模塊)用于屏蔽各種數(shù)據(jù)庫的差異性,并提供訪問接口,便于上層服務(wù)完成對異構(gòu)數(shù)據(jù)庫的操作,可以利用Java持久化API等技術(shù)實現(xiàn)這個模塊。Java持久化API簡稱JPA是Java EE 5規(guī)范中用于對象/關(guān)系映射的一組API,它使得對象(構(gòu)成上層服務(wù)的基本組件)持久化更加規(guī)范和容易實現(xiàn)。
2.4 服務(wù)層
服務(wù)層由用戶管理服務(wù)、安全管理服務(wù)、資源管理服務(wù)、借閱服務(wù)、檢索服務(wù)、書刊推薦、專題訂閱等模塊組成。用戶管理服務(wù)實現(xiàn)用戶的增加、刪除、修改、查詢,并通過角色劃分賦予各用戶以不同的權(quán)限。安全管理服務(wù)完成用戶身份認證,按角色來區(qū)分訪問控制。資源管理服務(wù)負責存儲資源、計算資源和網(wǎng)絡(luò)資源的管理,包括調(diào)度、動態(tài)部署、配置和回收。借閱服務(wù)實現(xiàn)紙質(zhì)圖書資料的管理。檢索服務(wù)滿足學(xué)術(shù)資源的檢索、下載,書刊推薦和專題訂閱等則實現(xiàn)個性化服務(wù)。
服務(wù)層的實現(xiàn)可采用J2EE平臺。J2EE是當前的主流平臺之一,具有支持異構(gòu)環(huán)境、可伸縮性強、采用多層的分布式服務(wù)模型等優(yōu)點,開發(fā)J2EE的工具很多(如Eclipse),這些工具通常都提供向?qū)?、上下文幫助、可視化工具及代碼自動生成等功能,可避免不必要的重復(fù)編碼,幫助開發(fā)人員快速構(gòu)建應(yīng)用程序。
2.5 用戶層
用戶通過門戶訪問云服務(wù),而訪問方式卻各不相同,可以分Web服務(wù)、Web應(yīng)用、外部服務(wù)和非Web應(yīng)用等,因此,需要實現(xiàn)內(nèi)外部服務(wù)的匯總、服務(wù)個性化定制以及針對計算機、手機、平板電腦等不同設(shè)備的顯示。實現(xiàn)技術(shù)可以采用JSF(JavaServer Faces),JSF提供了一種以組件為中心的用戶界面(UI)構(gòu)建方法,采用基于組件和事件驅(qū)動的開發(fā)模式,為Java Web應(yīng)用程序開發(fā)帶來了極大的便利,使得開發(fā)人員可以專注于業(yè)務(wù)邏輯,加速Web應(yīng)用程序的構(gòu)建。
3 結(jié) 語
作為圖書館的主要依托單位,各高校應(yīng)該將最新的云計算技術(shù)應(yīng)用于數(shù)字圖書館或聯(lián)盟的建設(shè),構(gòu)建云服務(wù)平臺,實現(xiàn)資源大范圍共享,減少重復(fù)建設(shè)。在經(jīng)費有限的情況下,高校可以充分利用研發(fā)人員優(yōu)勢,自主建設(shè)云服務(wù)平臺。本文分析了高校對于云服務(wù)平臺的主要需求,提出了基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)模型,詳細說明了架構(gòu)模型每層的構(gòu)成及功能,在研究主流開發(fā)技術(shù)的基礎(chǔ)上,介紹了架構(gòu)的實現(xiàn)技術(shù),選用的技術(shù)具有成熟度高、兼容性強、研發(fā)難度低等特點,適合于快速構(gòu)建云服務(wù)平臺,可以為今后的建設(shè)工作提供參考和借鑒。
參 考 文 獻
[1] 喻昕,王敬一. 基于云計算技術(shù)的數(shù)字圖書館云服務(wù)平臺架構(gòu)研究[J]. 情報科學(xué), 2011, 29(7):1049-1053.
[2] 裴紅羅,王運圣,江洪濤,等. 基于云計算的數(shù)字圖書館平臺架構(gòu)設(shè)計[J]. 中國農(nóng)業(yè)科技導(dǎo)報, 2010, 12(6):126-129.
[3] 陳宮,牛秦洲. 基于云計算的數(shù)字圖書館信息服務(wù)平臺[J]. 情報科學(xué), 2012,30(5):684-687.
[4] 倪煜佳. 基于云計算的圖書館聯(lián)盟服務(wù)平臺構(gòu)建研究[D]. 長春:東北師范大學(xué), 2012.
[5] VOORSLUYS W, BROBERG J, BUYYA R. Introduction to Cloud Computing [M]. New York, USA: Wiley Press, 2011.
[6] 丘群業(yè). 企業(yè)私有云計算基礎(chǔ)架構(gòu)研究與設(shè)計[D]. 廣州:華南理工大學(xué), 2012.
[7]邱漢彬. 基于云存儲的空間批租業(yè)務(wù)技術(shù)架構(gòu)研究及原型驗證[D]. 廣州:華南理工大學(xué), 2012.
[8] 唐文玲, 李春燕. 基于XML語言的圖書館共享數(shù)字資源存儲的實現(xiàn)[J]. 中國教育技術(shù)裝備, 2013(9):69-70.
2.4 服務(wù)層
服務(wù)層由用戶管理服務(wù)、安全管理服務(wù)、資源管理服務(wù)、借閱服務(wù)、檢索服務(wù)、書刊推薦、專題訂閱等模塊組成。用戶管理服務(wù)實現(xiàn)用戶的增加、刪除、修改、查詢,并通過角色劃分賦予各用戶以不同的權(quán)限。安全管理服務(wù)完成用戶身份認證,按角色來區(qū)分訪問控制。資源管理服務(wù)負責存儲資源、計算資源和網(wǎng)絡(luò)資源的管理,包括調(diào)度、動態(tài)部署、配置和回收。借閱服務(wù)實現(xiàn)紙質(zhì)圖書資料的管理。檢索服務(wù)滿足學(xué)術(shù)資源的檢索、下載,書刊推薦和專題訂閱等則實現(xiàn)個性化服務(wù)。
服務(wù)層的實現(xiàn)可采用J2EE平臺。J2EE是當前的主流平臺之一,具有支持異構(gòu)環(huán)境、可伸縮性強、采用多層的分布式服務(wù)模型等優(yōu)點,開發(fā)J2EE的工具很多(如Eclipse),這些工具通常都提供向?qū)?、上下文幫助、可視化工具及代碼自動生成等功能,可避免不必要的重復(fù)編碼,幫助開發(fā)人員快速構(gòu)建應(yīng)用程序。
2.5 用戶層
用戶通過門戶訪問云服務(wù),而訪問方式卻各不相同,可以分Web服務(wù)、Web應(yīng)用、外部服務(wù)和非Web應(yīng)用等,因此,需要實現(xiàn)內(nèi)外部服務(wù)的匯總、服務(wù)個性化定制以及針對計算機、手機、平板電腦等不同設(shè)備的顯示。實現(xiàn)技術(shù)可以采用JSF(JavaServer Faces),JSF提供了一種以組件為中心的用戶界面(UI)構(gòu)建方法,采用基于組件和事件驅(qū)動的開發(fā)模式,為Java Web應(yīng)用程序開發(fā)帶來了極大的便利,使得開發(fā)人員可以專注于業(yè)務(wù)邏輯,加速Web應(yīng)用程序的構(gòu)建。
3 結(jié) 語
作為圖書館的主要依托單位,各高校應(yīng)該將最新的云計算技術(shù)應(yīng)用于數(shù)字圖書館或聯(lián)盟的建設(shè),構(gòu)建云服務(wù)平臺,實現(xiàn)資源大范圍共享,減少重復(fù)建設(shè)。在經(jīng)費有限的情況下,高校可以充分利用研發(fā)人員優(yōu)勢,自主建設(shè)云服務(wù)平臺。本文分析了高校對于云服務(wù)平臺的主要需求,提出了基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)模型,詳細說明了架構(gòu)模型每層的構(gòu)成及功能,在研究主流開發(fā)技術(shù)的基礎(chǔ)上,介紹了架構(gòu)的實現(xiàn)技術(shù),選用的技術(shù)具有成熟度高、兼容性強、研發(fā)難度低等特點,適合于快速構(gòu)建云服務(wù)平臺,可以為今后的建設(shè)工作提供參考和借鑒。
參 考 文 獻
[1] 喻昕,王敬一. 基于云計算技術(shù)的數(shù)字圖書館云服務(wù)平臺架構(gòu)研究[J]. 情報科學(xué), 2011, 29(7):1049-1053.
[2] 裴紅羅,王運圣,江洪濤,等. 基于云計算的數(shù)字圖書館平臺架構(gòu)設(shè)計[J]. 中國農(nóng)業(yè)科技導(dǎo)報, 2010, 12(6):126-129.
[3] 陳宮,牛秦洲. 基于云計算的數(shù)字圖書館信息服務(wù)平臺[J]. 情報科學(xué), 2012,30(5):684-687.
[4] 倪煜佳. 基于云計算的圖書館聯(lián)盟服務(wù)平臺構(gòu)建研究[D]. 長春:東北師范大學(xué), 2012.
[5] VOORSLUYS W, BROBERG J, BUYYA R. Introduction to Cloud Computing [M]. New York, USA: Wiley Press, 2011.
[6] 丘群業(yè). 企業(yè)私有云計算基礎(chǔ)架構(gòu)研究與設(shè)計[D]. 廣州:華南理工大學(xué), 2012.
[7]邱漢彬. 基于云存儲的空間批租業(yè)務(wù)技術(shù)架構(gòu)研究及原型驗證[D]. 廣州:華南理工大學(xué), 2012.
[8] 唐文玲, 李春燕. 基于XML語言的圖書館共享數(shù)字資源存儲的實現(xiàn)[J]. 中國教育技術(shù)裝備, 2013(9):69-70.
2.4 服務(wù)層
服務(wù)層由用戶管理服務(wù)、安全管理服務(wù)、資源管理服務(wù)、借閱服務(wù)、檢索服務(wù)、書刊推薦、專題訂閱等模塊組成。用戶管理服務(wù)實現(xiàn)用戶的增加、刪除、修改、查詢,并通過角色劃分賦予各用戶以不同的權(quán)限。安全管理服務(wù)完成用戶身份認證,按角色來區(qū)分訪問控制。資源管理服務(wù)負責存儲資源、計算資源和網(wǎng)絡(luò)資源的管理,包括調(diào)度、動態(tài)部署、配置和回收。借閱服務(wù)實現(xiàn)紙質(zhì)圖書資料的管理。檢索服務(wù)滿足學(xué)術(shù)資源的檢索、下載,書刊推薦和專題訂閱等則實現(xiàn)個性化服務(wù)。
服務(wù)層的實現(xiàn)可采用J2EE平臺。J2EE是當前的主流平臺之一,具有支持異構(gòu)環(huán)境、可伸縮性強、采用多層的分布式服務(wù)模型等優(yōu)點,開發(fā)J2EE的工具很多(如Eclipse),這些工具通常都提供向?qū)?、上下文幫助、可視化工具及代碼自動生成等功能,可避免不必要的重復(fù)編碼,幫助開發(fā)人員快速構(gòu)建應(yīng)用程序。
2.5 用戶層
用戶通過門戶訪問云服務(wù),而訪問方式卻各不相同,可以分Web服務(wù)、Web應(yīng)用、外部服務(wù)和非Web應(yīng)用等,因此,需要實現(xiàn)內(nèi)外部服務(wù)的匯總、服務(wù)個性化定制以及針對計算機、手機、平板電腦等不同設(shè)備的顯示。實現(xiàn)技術(shù)可以采用JSF(JavaServer Faces),JSF提供了一種以組件為中心的用戶界面(UI)構(gòu)建方法,采用基于組件和事件驅(qū)動的開發(fā)模式,為Java Web應(yīng)用程序開發(fā)帶來了極大的便利,使得開發(fā)人員可以專注于業(yè)務(wù)邏輯,加速Web應(yīng)用程序的構(gòu)建。
3 結(jié) 語
作為圖書館的主要依托單位,各高校應(yīng)該將最新的云計算技術(shù)應(yīng)用于數(shù)字圖書館或聯(lián)盟的建設(shè),構(gòu)建云服務(wù)平臺,實現(xiàn)資源大范圍共享,減少重復(fù)建設(shè)。在經(jīng)費有限的情況下,高??梢猿浞掷醚邪l(fā)人員優(yōu)勢,自主建設(shè)云服務(wù)平臺。本文分析了高校對于云服務(wù)平臺的主要需求,提出了基于云計算的數(shù)字圖書館服務(wù)平臺架構(gòu)模型,詳細說明了架構(gòu)模型每層的構(gòu)成及功能,在研究主流開發(fā)技術(shù)的基礎(chǔ)上,介紹了架構(gòu)的實現(xiàn)技術(shù),選用的技術(shù)具有成熟度高、兼容性強、研發(fā)難度低等特點,適合于快速構(gòu)建云服務(wù)平臺,可以為今后的建設(shè)工作提供參考和借鑒。
參 考 文 獻
[1] 喻昕,王敬一. 基于云計算技術(shù)的數(shù)字圖書館云服務(wù)平臺架構(gòu)研究[J]. 情報科學(xué), 2011, 29(7):1049-1053.
[2] 裴紅羅,王運圣,江洪濤,等. 基于云計算的數(shù)字圖書館平臺架構(gòu)設(shè)計[J]. 中國農(nóng)業(yè)科技導(dǎo)報, 2010, 12(6):126-129.
[3] 陳宮,牛秦洲. 基于云計算的數(shù)字圖書館信息服務(wù)平臺[J]. 情報科學(xué), 2012,30(5):684-687.
[4] 倪煜佳. 基于云計算的圖書館聯(lián)盟服務(wù)平臺構(gòu)建研究[D]. 長春:東北師范大學(xué), 2012.
[5] VOORSLUYS W, BROBERG J, BUYYA R. Introduction to Cloud Computing [M]. New York, USA: Wiley Press, 2011.
[6] 丘群業(yè). 企業(yè)私有云計算基礎(chǔ)架構(gòu)研究與設(shè)計[D]. 廣州:華南理工大學(xué), 2012.
[7]邱漢彬. 基于云存儲的空間批租業(yè)務(wù)技術(shù)架構(gòu)研究及原型驗證[D]. 廣州:華南理工大學(xué), 2012.
[8] 唐文玲, 李春燕. 基于XML語言的圖書館共享數(shù)字資源存儲的實現(xiàn)[J]. 中國教育技術(shù)裝備, 2013(9):69-70.