摘 要:針對(duì)數(shù)字圖書(shū)館服務(wù)存儲(chǔ)的信息量越來(lái)越大,信息的種類和形式越來(lái)越豐富,服務(wù)越來(lái)越復(fù)雜的新趨勢(shì)和新特性以及新挑戰(zhàn),提出并實(shí)現(xiàn)了數(shù)字圖書(shū)館服務(wù)平臺(tái),解決了服務(wù)的動(dòng)態(tài)管理和統(tǒng)一管理以及服務(wù)的動(dòng)態(tài)組合等問(wèn)題,同時(shí)解決了物理資源的調(diào)度和管理、多用戶管理等問(wèn)題,可用于快速構(gòu)建私人數(shù)字圖書(shū)館實(shí)例。數(shù)字圖書(shū)館服務(wù)平臺(tái)主要分為兩部分,即基于OSGi的服務(wù)管理框架和基于OpenStack的數(shù)字圖書(shū)館實(shí)例管理平臺(tái)。
關(guān)鍵詞:服務(wù)管理;資源管理;Openstack;OSGi
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712 (2014) 18-0000-01
基于OpenStack的數(shù)字圖書(shū)館服務(wù)平臺(tái)主要包括兩部分,即基于OSGi的服務(wù)管理框架和基于OpenStack的數(shù)字圖書(shū)館實(shí)例管理平臺(tái)。前者主要用于解決服務(wù)的共性問(wèn)題,包括多樣化服務(wù)的統(tǒng)一管理和動(dòng)態(tài)管理、服務(wù)的負(fù)載均衡和容錯(cuò)容災(zāi)以及服務(wù)的動(dòng)態(tài)組合等。后者主要解決物理資源的調(diào)度和管理、虛擬機(jī)實(shí)例的創(chuàng)建和管理以及多用戶管理等問(wèn)題。
數(shù)字閣書(shū)館屮服務(wù)呈現(xiàn)多樣化、松耦合等趨勢(shì),構(gòu)建了一個(gè)基于OSGi的服務(wù)管理樞架,并具有以下特性:服務(wù)易于開(kāi)發(fā)和部署;服務(wù)具有負(fù)載均衡和容錯(cuò)容災(zāi);服務(wù)可動(dòng)態(tài)擴(kuò)展;服務(wù)具有分布性。OSGi是一個(gè)服務(wù)框架規(guī)范,提供一個(gè)模塊化的底層環(huán)境,以及一系列通用的服務(wù),非常適用于SOA架構(gòu)。
組件管現(xiàn)是基干OSGi的服務(wù)管理框架中的核心功能,也是管理不同服務(wù)、實(shí)現(xiàn)負(fù)載均衡以及容錯(cuò)容災(zāi)的基礎(chǔ)。組件管理涉及bundle組件的整個(gè)生命周期,包括組件存儲(chǔ)、組件加載、組件安裝、組件解析、組件啟動(dòng)、組件停止和組件卸載等。每個(gè)bundle通過(guò)MANIFEST.MF文件描述,其它信息如bundle名字、bundle提供的服務(wù)、bundle涉及的數(shù)據(jù)模型以及bundle所需的硬件資源需求、虛擬機(jī)實(shí)例個(gè)數(shù)等信息都通過(guò)XML文件呈現(xiàn)。用戶按照OSGi規(guī)范幵發(fā)完組件后,可根據(jù)數(shù)字圖書(shū)館體系架構(gòu)的組件規(guī)范描述其名稱、服務(wù)、數(shù)據(jù)模型、分布情況等等,最后封裝成zip包,由Client向Master發(fā)起安裝請(qǐng)求。
基于OpenStack的數(shù)字圖書(shū)館服務(wù)平臺(tái)整體架構(gòu)分為四層結(jié)構(gòu):物理存儲(chǔ)層、基于OpenStack的虛擬設(shè)施架構(gòu)層、基于OSGi的數(shù)字圖書(shū)館系統(tǒng)管理層以及數(shù)字圖書(shū)館實(shí)例應(yīng)用層。其中物理存儲(chǔ)層基于D-Ocean來(lái)存儲(chǔ)和管理數(shù)字圖書(shū)館中的數(shù)據(jù)、資源等,并提供建模、分析、索引和查詢等功能;虛擬設(shè)施架構(gòu)層基于OpenStack,調(diào)度物理資源,構(gòu)建和管理虛擬機(jī)節(jié)點(diǎn),提供基礎(chǔ)云計(jì)算設(shè)施服務(wù);數(shù)字圖書(shū)館系統(tǒng)管理層在第三章中基于OSGi的服務(wù)管理框架的基礎(chǔ)上,可用于創(chuàng)建和管理數(shù)字圖書(shū)館實(shí)例,并實(shí)現(xiàn)服務(wù)管理、資源管理(通過(guò)調(diào)用虛擬設(shè)施架構(gòu)層上的服務(wù))、用戶管理以及QoS管理等;數(shù)字圖書(shū)館實(shí)例應(yīng)用層則收集了在數(shù)字圖書(shū)館服務(wù)平士上部署數(shù)字圖書(shū)館服務(wù)的用戶信息以及具體服務(wù)信息,用以輔助DL Engine的調(diào)度和決策。
在這四層架構(gòu)中,DL Engine是服務(wù)平臺(tái)的核心組成部分,通過(guò)與物理存儲(chǔ)層、虛擬設(shè)施架構(gòu)層以及數(shù)字圖書(shū)館實(shí)例應(yīng)用層等交互獲取平臺(tái)框架中實(shí)時(shí)的月艮務(wù)信息與資源信息,進(jìn)而根據(jù)相關(guān)信息進(jìn)行服務(wù)調(diào)度、服務(wù)管理、集群管理、資源管理以及用戶管理和數(shù)據(jù)存儲(chǔ)等操作。
DL Engine部署在物理集群上,可通過(guò)數(shù)字圖書(shū)館實(shí)例需求配置文件調(diào)用虛擬設(shè)施架構(gòu)層中的OpenStack API創(chuàng)建虛擬機(jī),以用于部署數(shù)字圖書(shū)館實(shí)例。當(dāng)虛擬機(jī)實(shí)例創(chuàng)建完成之后,用戶就可以在上面部署服務(wù)(bundle組件)。如果用戶想要擴(kuò)展數(shù)字圖書(shū)館服務(wù),可以按照OSGi框架的標(biāo)準(zhǔn)提供服務(wù)組件,然后按照相同方式部署在虛擬機(jī)里,如果涉及到bundle間依賴關(guān)系的,還需要提供依賴關(guān)系描述,以便能夠先安裝并啟動(dòng)所依賴的服務(wù)組件,然后再安裝啟動(dòng)服務(wù)本身。通過(guò)虛擬設(shè)施架構(gòu)層,DL Engine可以很方便地對(duì)服務(wù)所占用的虛擬機(jī)實(shí)例進(jìn)行調(diào)度和管理,如虛擬機(jī)在線遷移、彈性擴(kuò)展以及物理資源共享等。
DL Engine是基于OpenStack的數(shù)字圖書(shū)館服務(wù)平臺(tái)的核心部分,核心部分包括基于OSGi的服務(wù)管理框架、實(shí)例管理、資源管理、用戶管理以及l(fā)aaS API和RESTful API等。其中基于OSGi的服務(wù)管理框架抽象了數(shù)字圖書(shū)館實(shí)例模板,實(shí)現(xiàn)服務(wù)的調(diào)度與管理,包括集群管理、組件管理、服務(wù)管理、服務(wù)調(diào)度、負(fù)載均衡、容錯(cuò)容災(zāi)以及系統(tǒng)監(jiān)控等。這里我們將著重介紹其它功能模塊,包括資源管理、用戶管理、實(shí)例管理等。
(1)資源管理模塊主要側(cè)重于通過(guò)調(diào)用OpenStack API來(lái)對(duì)集群中的虛擬機(jī)實(shí)例進(jìn)行調(diào)度和管理。資源管理模塊既能為數(shù)字閣書(shū)館新用戶創(chuàng)建一個(gè)私人的虛擬機(jī)集群以部署數(shù)字圖書(shū)館服務(wù),也能為有的用戶添加或刪除一個(gè)虛擬機(jī)實(shí)例以保證負(fù)載均衡和容錯(cuò)容災(zāi)。同吋,資源管理模塊也收集來(lái)自物理機(jī)和虛擬機(jī)實(shí)例的狀態(tài)信息以便DL Engine進(jìn)行虛擬機(jī)調(diào)度和資源負(fù)載均衡。(2)用戶管理主要用于管理數(shù)字圖書(shū)館實(shí)例的服務(wù)提供者或應(yīng)用開(kāi)發(fā)者。(3)實(shí)例管理模塊則主要川于符理屮的數(shù)閣書(shū)館實(shí)例。它維護(hù)了每個(gè)實(shí)例的元數(shù)據(jù)信息,包括實(shí)例的虛擬機(jī)部署情況以及用戶與實(shí)例間的映射關(guān)系。通過(guò)這些元數(shù)據(jù)信息,DL Engine可以將用戶的請(qǐng)求轉(zhuǎn)發(fā)到合適的數(shù)字圖書(shū)館實(shí)例上,同時(shí)DL Engine控制著整個(gè)系統(tǒng)范圍內(nèi)的活動(dòng)包括實(shí)例生命周期的管理、實(shí)例的遷移等。
基于OpenStack的數(shù)字丨到書(shū)館服務(wù)平臺(tái)巾各個(gè)模塊的具體設(shè)計(jì)與實(shí)現(xiàn),主要括存儲(chǔ)管理、服務(wù)管理、資源管理、用廣管理以及QoS管理等。
數(shù)字圖書(shū)館的變化給服務(wù)帶來(lái)了新的發(fā)展趨勢(shì)和特性:服務(wù)多樣化,服務(wù)松耦合以及用戶訪問(wèn)服務(wù)呈現(xiàn)海量并發(fā)等。同時(shí),數(shù)字圖書(shū)館的便捷、開(kāi)放,使得許多組織機(jī)構(gòu)甚至個(gè)人都想擁有私人數(shù)字圖書(shū)館,以提供專屬服務(wù)。然而在實(shí)施過(guò)程中,人們漸漸意識(shí)到建設(shè)一個(gè)私人的數(shù)?字圖書(shū)館其成本代價(jià)是很高的,同時(shí)他們可能也沒(méi)有能力去維護(hù)這么一個(gè)涉及海量數(shù)據(jù)和復(fù)雜服務(wù)的數(shù)字圖書(shū)館。
針對(duì)服務(wù)的新趨勢(shì)和新特性以及新挑戰(zhàn),我們迫切需要構(gòu)建這樣一個(gè)新型的數(shù)字圖書(shū)館服務(wù)平臺(tái):能夠解決服務(wù)的共性問(wèn)題,包括多樣化服務(wù)的統(tǒng)一管理和動(dòng)態(tài)管理、服務(wù)的負(fù)載均衡和容錯(cuò)容災(zāi)以及服務(wù)的動(dòng)態(tài)組合等,同時(shí)也要求能夠進(jìn)行物理資源調(diào)度和管理,避免資源浪費(fèi)。
參考文獻(xiàn):
[1]王長(zhǎng)全,艾霧.云計(jì)算時(shí)代的數(shù)字圖書(shū)館信息安全思考[J].圖書(shū)館建設(shè),2010(01):50-52.
[2]李永先,栗旭倫,李森森.云計(jì)算技術(shù)在圖書(shū)館中的應(yīng)用探討江西圖書(shū)館學(xué)刊,2009(01):105-106.
[3]馬瑞.云計(jì)算環(huán)境下圖書(shū)館自動(dòng)化系統(tǒng)發(fā)展探索[J].圖書(shū)館學(xué)研宂,2009(07):36-39.
[3]唐世渭,楊冬青,王軍.數(shù)字圖書(shū)館的體系架構(gòu)[EB/OL].2014.
[作者簡(jiǎn)介]胡昕(1983.11-),男,江西南昌人,工程師,研究方向:計(jì)算機(jī)應(yīng)用、數(shù)據(jù)庫(kù)檢索、網(wǎng)絡(luò)技術(shù)。