〔摘 要〕為了解決廣域、分布、異構(gòu)和動態(tài)的Internet環(huán)境中數(shù)字圖書館資源共享和信息檢索的難題,提出了一種基于網(wǎng)格的數(shù)字圖書館體系結(jié)構(gòu)。該體系結(jié)構(gòu)由資源層、本地服務(wù)層、中間件服務(wù)層和網(wǎng)格門戶層構(gòu)成。在此體系結(jié)構(gòu)的基礎(chǔ)上,提出了一種分布式檢索算法。原型系統(tǒng)的運行及模擬實驗的結(jié)果表明,提出的體系結(jié)構(gòu)和算法能實現(xiàn)不同物理節(jié)點的互操作、方便用戶通過統(tǒng)一的接口透明地共享資源且檢索的效率很高。
〔關(guān)鍵詞〕數(shù)字圖書館;網(wǎng)格;體系結(jié)構(gòu);分布式檢索
〔中圖分類號〕TP393 〔文獻標識碼〕C 〔文章編號〕1008-0821(2009)02-0090-04
Study of Architecture and Distributed Search of Digital Library Based on GridLi Chao1 Wang Liang2
(1.Library,Shenyang Institute of Chemical Technology,Shenyang 110142,China;
2.School of Computer Science and Technology,Shenyang Institute of Chemical Technology,
Shenyang 110142,China)
〔Abstract〕In order to solve the problem of resources shared and information searching for the digital library in the wide,distributed,heterogeneous and dynamic Internet environment,the paper proposed the architecture for digital library based on grid.The architecture was composed of resources layer,local services layer,middleware services layer and grid portal layer.Based on above architecture,a distributed search algorithm was given by this paper.Running of prototype system and simulated experiment show that the architecture and algorithm could implement interoperability between different physical nodes,provide convenient interface and transparent resources shared and offer efficient resources searching to users.
〔Key words〕digital library;grid;architecture;distributed search
隨著計算機技術(shù)、信息技術(shù)、分布式技術(shù)的發(fā)展,廣域、分布、異構(gòu)和動態(tài)網(wǎng)絡(luò)環(huán)境中數(shù)字
圖書館的構(gòu)建稱為當(dāng)前研究的熱點問題之一[1]。廣義上的數(shù)字圖書館具有豐富的數(shù)字化資源、網(wǎng)絡(luò)化存取、信息分布檢索和資源整合等基本特征。狹義上的數(shù)字圖書館主要是基于物理圖書館,將物理圖書館的傳統(tǒng)優(yōu)勢轉(zhuǎn)換為信息服務(wù)主體的資源優(yōu)勢和服務(wù)優(yōu)勢,適應(yīng)互聯(lián)網(wǎng)對信息服務(wù)主體、服務(wù)客體、服務(wù)模式和服務(wù)理念的改變[2]。數(shù)字圖書館的目標是利用先進的技術(shù),實現(xiàn)Internet上各孤立數(shù)字資源節(jié)點的互操作、無縫連接及物理空間和虛擬空間的結(jié)合,達到用戶透明訪問和資源共享的目標。
網(wǎng)格是繼Web之后新的分布式計算平臺,是指在動態(tài)變化的多個虛擬機構(gòu)間共享資源和協(xié)同解決問題、構(gòu)筑在互連網(wǎng)上的一組新興技術(shù)。它將高速互連網(wǎng)、高性能計算機、大型數(shù)據(jù)庫、傳感器和遠程設(shè)備等融為一體,為科技人員和用戶提供更多的資源、功能和交互[3]。由于數(shù)字圖書館與網(wǎng)格都具有分布、異構(gòu)、自治等特征,因此可以利用網(wǎng)格技術(shù)解決數(shù)字圖書館互操作問題;由于網(wǎng)格能較好地解決Internet環(huán)境中計算分布和存儲分布中存在的交互、協(xié)作問題,因此用網(wǎng)格技術(shù)進行數(shù)字圖書館的構(gòu)建能有效解決數(shù)字資源的分布存儲、數(shù)字圖書館分布構(gòu)建及資源共享問題。
本文第2節(jié)對網(wǎng)格技術(shù)及相關(guān)工作的研究進展進行了概述,第3節(jié)給出了一種基于網(wǎng)格的數(shù)字圖書館體系結(jié)構(gòu),第4節(jié)給出了一種基于此體系結(jié)構(gòu)的分布式檢索算法,第5節(jié)對全文進行了總結(jié)和對未來研究工作進行了展望。
1 概 述
1.1 網(wǎng)格概述
隨著OGSA、OGSI、WSRF和GT4等規(guī)范、體系結(jié)構(gòu)和技術(shù)的應(yīng)用和推廣,網(wǎng)格成為開放、異構(gòu)環(huán)境下構(gòu)造松耦合、組合化分布式應(yīng)用的主流技術(shù)[4-6]。OGSA(Open Grid Services Architecture)把一切都抽象成服務(wù),服務(wù)可以包括計算機設(shè)備、應(yīng)用程序、數(shù)據(jù),儀器等。將一切都抽象為服務(wù)有利于通過統(tǒng)一的標準接口來管理和共享網(wǎng)格上功能各異的資源。OGSA是網(wǎng)格中描述面向服務(wù)的體系結(jié)構(gòu)SOA(Service-Oriented Architecture),它把網(wǎng)格服務(wù)看作是一種特殊的Web服務(wù)(Web Services),它們可能以不同的方式創(chuàng)建,用不同的程序語言實現(xiàn),由不同的網(wǎng)格服務(wù)(Grid Services)開發(fā)者提供,網(wǎng)格服務(wù)請求根據(jù)特定的應(yīng)用背景和需要由服務(wù)組合或服務(wù)間的協(xié)同工作來完成。
Web服務(wù)是基于XML的,能在異構(gòu)的計算環(huán)境中開發(fā)分布式應(yīng)用的一種技術(shù)。Web服務(wù)由WSDL描述服務(wù)、由SOAP作為客戶端和服務(wù)之間通信的消息格式、由UDDI作為服務(wù)的發(fā)布和發(fā)現(xiàn)。OGSI(Open Grid Services Infrastructure)是作為OGSA的核心規(guī)范被提出的,OGSI把一個有狀態(tài)的資源刻畫為一個封裝資源狀態(tài)的Web服務(wù),把服務(wù)的標識、生命周期和資源狀態(tài)緊耦合在一起,這樣存在明顯的不足。為了解決OGSI和Web服務(wù)之間的矛盾,2004年3月WSRF(Web Service Resource Framework)被提出,WSRF提出一個標準方法把Web服務(wù)刻畫成有狀態(tài)資源。Globus聯(lián)盟于2005年4月發(fā)布的GT4,它的特性之一就是實現(xiàn)了WSRF和WS-Notification標準。WSRF正在替代OGSI,用在OGSA環(huán)境中構(gòu)建網(wǎng)格核心服務(wù)的基礎(chǔ)結(jié)構(gòu),WSRF核心服務(wù)和OGSA平臺服務(wù)構(gòu)成網(wǎng)格中間件服務(wù)。
1.2 相關(guān)工作
將網(wǎng)格技術(shù)用于數(shù)字圖書館的構(gòu)建,解決數(shù)據(jù)集成、資源共享和分布式檢索問題,已引起了國內(nèi)外部分研究者的注意,取得了部分階段性的研究成果。2000年,意大利ISTI-CNR的DLib小組著手開發(fā)用于創(chuàng)建和管理數(shù)字圖書館的服務(wù)系統(tǒng),取名為“OpenDLib”,其目標是開發(fā)一個可定制系統(tǒng),只需進行適當(dāng)?shù)呐渲?,就能滿足不同應(yīng)用程序框架的需要。在該系統(tǒng)建立的基礎(chǔ)上,DLib小組和歐洲的研究機構(gòu)、軟件公司啟動了DILIGENT研究計劃,目標是開發(fā)一個基于網(wǎng)格框架、面向服務(wù)的數(shù)字圖書館系統(tǒng),推廣使用新方法構(gòu)造數(shù)字圖書館框架。它是歐洲網(wǎng)格研究項目EGEE的子項目,是目前世界上規(guī)模最大的應(yīng)用網(wǎng)格技術(shù)支持數(shù)字圖書館建設(shè)的研究計劃[7]。文獻[7]對網(wǎng)絡(luò)中數(shù)字圖書館資源進行一定的服務(wù)封裝形成數(shù)字圖書館資源倉儲節(jié)點,在此基礎(chǔ)上運用網(wǎng)格思想對倉儲節(jié)點進行整合,形成數(shù)字圖書館資源聯(lián)邦,使用戶能夠通過聯(lián)邦門戶透明地訪問聯(lián)邦中所有數(shù)據(jù)倉儲節(jié)點中的圖書館數(shù)據(jù)資源。文獻[8]提出一種基于網(wǎng)格技術(shù)的數(shù)字圖書館互操作框架,給出了3層的體系結(jié)構(gòu),并對元數(shù)據(jù)資源的發(fā)現(xiàn)、采集、重組等關(guān)鍵技術(shù)進行了分析、設(shè)計,實現(xiàn)了Web上數(shù)字圖書館信息的共享。文獻[9]結(jié)合語義網(wǎng)格中的關(guān)鍵理論和技術(shù),探討了語義網(wǎng)格在知識推送中的重要作用。文獻[10]探討了網(wǎng)格環(huán)境下P2P技術(shù)和Z39.5協(xié)議在個人數(shù)字圖書館信息檢索中的作用。文獻[11]在討論數(shù)字圖書館網(wǎng)格安全性需求的基礎(chǔ)上提出一種可伸縮、可擴展的訪問控制安全策略與相應(yīng)的安全模型及一種靈活的訪問控制安全策略。
2 體系結(jié)構(gòu)
為了實現(xiàn)處于不同物理地點的,異構(gòu)的多個數(shù)字圖書館間互操作和資源共享,使用戶能夠通過統(tǒng)一的接口透明地對多個數(shù)字圖書館的信息進行分布式檢索,而不需要登錄不同的節(jié)點進行檢索,本文提出以下的基于網(wǎng)格的數(shù)字圖書館體系結(jié)構(gòu)。由于空間有限,圖1只表示出了部分服務(wù),依據(jù)構(gòu)建數(shù)字圖書館應(yīng)用的不同情況和達到的目標不同,可做適當(dāng)?shù)脑黾雍蜏p少。該體系結(jié)構(gòu)具有以下的特點:
(1)用戶能夠通過統(tǒng)一的接口訪問不同物理地點的數(shù)字資源信息;
(2)可透明訪問多個不同的物理節(jié)點,屏蔽了底層的異構(gòu)性;
(3)可同時提交多個檢索服務(wù)請求,由多個不同的物理節(jié)點并行完成。
2.1 資源層
資源層主要包括數(shù)字圖書館中每個物理節(jié)點涉及到的所有資源,下文將物理節(jié)點稱為網(wǎng)格節(jié)點。每個網(wǎng)格節(jié)點中的資源除了圖1中的資源以外,還包括計算機網(wǎng)絡(luò)、網(wǎng)絡(luò)協(xié)議、應(yīng)用支持環(huán)境、儀器等。資源種類繁多,數(shù)量巨大,不同的資源的功能多樣,不同資源具有的物理接口也不同,提供相同功能的多個資源可能具有不同的物理接口,具有相同物理接口的資源還可能提供不同的功能。因此必須通過某種標準對資源進行抽象和封裝,才能統(tǒng)一訪問。
2.2 本地服務(wù)層
本地服務(wù)層中的服務(wù)實現(xiàn)對本地資源的抽象和封裝,通過網(wǎng)格中的Web服務(wù)技術(shù)和WSRF標準,將下層資源所提供的功能通過網(wǎng)格服務(wù)的形式提供。這些服務(wù)除了能完成本地的功能以外,還向上層網(wǎng)格服務(wù)(中間件服務(wù))提供能訪問本地資源的功能,為實現(xiàn)數(shù)字圖書館不同網(wǎng)格節(jié)點的互操作提供基本的服務(wù)。其中檢索服務(wù)對本地數(shù)據(jù)資源的訪問和能夠接收上層檢索請求是最基本和最核心的服務(wù)。
2.3 中間件服務(wù)層
中間件服務(wù)層是最重要的一層,通過此層作為中間媒介,實現(xiàn)數(shù)字圖書館不同網(wǎng)格節(jié)點的互操作。其中的分布檢索服務(wù)、數(shù)據(jù)合成服務(wù)、事務(wù)管理服務(wù)等由每個網(wǎng)格節(jié)點按照統(tǒng)一的標準接口而設(shè)計,運行在每個網(wǎng)格節(jié)點上,由它們之間的互操作及調(diào)用下層的服務(wù)和向上層服務(wù)提供服務(wù)而完成整個數(shù)字圖書館的互操作、資源共享和分布式檢索。由于每個網(wǎng)格節(jié)點上對應(yīng)的服務(wù)之間是對等的,在節(jié)點數(shù)量很大的情況下,廣域環(huán)境下的廣播通信機制開銷很大。因此本文提出將其組織成樹狀結(jié)構(gòu),以有利于它們間的互操作和降低通信的開銷??砂凑漳撤N服務(wù)等級劃分方法,將平面的服務(wù)集合結(jié)構(gòu)轉(zhuǎn)化為邏輯上的樹結(jié)構(gòu)。圖2給出了一種中間件服務(wù)層對應(yīng)服務(wù)間的三層樹組織方式,可以分別對應(yīng)數(shù)字圖書館的國家級網(wǎng)格節(jié)點、省級網(wǎng)格節(jié)點和省級以下級網(wǎng)格節(jié)點。這里假設(shè)國家節(jié)點下有3個省級節(jié)點、每個省級節(jié)點下有3個級別更低的節(jié)點,實際數(shù)字圖書館構(gòu)建中可根據(jù)情況劃分不同的層次和安排每個層次下的不同節(jié)點數(shù)目。
圖2 中間層服務(wù)的樹型組織方式
2.4 網(wǎng)格門戶層
網(wǎng)格門戶層實現(xiàn)用戶檢索服務(wù)請求的輸入界面、檢索請求任務(wù)的分解、檢索結(jié)果的數(shù)據(jù)合成、檢索結(jié)果集的顯示或以某種文件格式存儲等功能。此層根據(jù)構(gòu)建數(shù)字圖書館所制訂的標準,通過將檢索請求向中間件服務(wù)層提交及從中間件服務(wù)層得到檢索結(jié)果集而向用戶提供統(tǒng)一的檢索接口和統(tǒng)一格式的結(jié)果集,使用戶通過統(tǒng)一的接口透明地訪問數(shù)字圖書館。
3 分布式檢索算法
3.1 算法的描述
本文基于中間件服務(wù)層中對應(yīng)服務(wù)間的樹組織方式,提出了一種分布式檢索算法。這種算法令網(wǎng)格門戶層將分解完的檢索請求任務(wù)集提交給樹的根節(jié)點GS,檢索結(jié)果也由GS返回給網(wǎng)格門戶層。算法令無論在以上樹中任何一個節(jié)點檢索到了滿足某一子檢索請求的結(jié)果,則不再向其它節(jié)點提交此子檢索請求。令樹中第二層的節(jié)點為{GS1,GS2,…,GSm},第三層的節(jié)點為{{GS11,GS12,…,GS1n1},{GS21,GS22,…,GS2n2},…,{GSm1,GSm2,…,GSmnm}},且下層節(jié)點中的服務(wù)注冊在上層節(jié)點的UDDI服務(wù)器中。
算法的描述:
Step1 輸入檢索請求任務(wù)集Task={T1,T2,…,Tn}。
Step2 GS將Task向本地檢索服務(wù)提交。令本地檢索服務(wù)得到的結(jié)果集為Result={R1,R2,…,Ri}。若所有檢索請求都滿足,則轉(zhuǎn)Step6;否則令未滿足檢索請求的任務(wù)集unTask={Ti+1,Ti+2,…,Tn},并根據(jù)GS中UDDI的信息將unTask向{GS1,GS2,…,GSm}提交。
Step3 {GS1,GS2,…,GSm}將unTask向本地檢索服務(wù)提交。令所有本地檢索服務(wù)得到的結(jié)果集Result1={Ri+1,Ri+2,…,Rj}。若所有檢索請求都滿足,則轉(zhuǎn)Step5;否則令未滿足檢索請求的任務(wù)集unTask1={Tj+1,Tj+2,…,Tn},并根據(jù){GS1,GS2,…,GSm}中UDDI的信息將unTask1分別向下層服務(wù)提交。
Step4 第三層中的服務(wù)將unTask1向本地檢索服務(wù)提交。令所有本地檢索服務(wù)得到的結(jié)果集Result2={Rj+1,Rj+2,…,Rj+k},將Result2返回給Result1;若有未滿足檢索請求的任務(wù)集unTask2={Tj+k+1,Tj+k+2,…,Tn},則將unTask2未檢索到的提示信息返回給Result1。
Step5 Result1合并結(jié)果集且返回給Result。
Step6 Result合并結(jié)果集并輸出。
3.2 模擬實驗
本文按照以上提出的體系結(jié)構(gòu)和分布式檢索算法,在由20臺PC機組成的局域網(wǎng)環(huán)境中,將每臺PC機模擬成數(shù)字圖書館的一個網(wǎng)格節(jié)點,在其上部署了多個本地服務(wù)和中間件服務(wù),實現(xiàn)了一個基于網(wǎng)格的數(shù)字圖書館原型系統(tǒng),并通過模擬實驗對分布式檢索算法的效率進行了分析。PC機的硬件配置是Intel Pentium雙核CPU,主頻為1.8G,內(nèi)存2G。軟件環(huán)境為Windows XP SP2操作系統(tǒng),本地服務(wù)、中間件服務(wù)、UDDI和分布式檢索算法的代碼都由Java語言JDK1.4實現(xiàn)。圖3給出了模擬實驗中對于不同檢索請求任務(wù)集情況下,獨立地在每個節(jié)點進行檢索(非分布式檢索,記為UNDS)的響應(yīng)時間總和與分布式檢索(記為DS)的響應(yīng)時間的比較結(jié)果。從響應(yīng)時間上可以看出,分布式檢索的效率明顯高于非分布式檢索。原型系統(tǒng)的運行及模擬實驗的結(jié)果表明了體系結(jié)構(gòu)的合理性和分布式檢索算法的高效性。
圖3 非分布檢索和分布式檢索的響應(yīng)時間比較
4 結(jié)束語
本文的創(chuàng)新點在于提出了基于網(wǎng)格的數(shù)字圖書館體系結(jié)構(gòu)和基于此體系結(jié)構(gòu)的分布式檢索算法。原型系統(tǒng)的運行和模擬實驗的結(jié)果驗證了體系結(jié)構(gòu)的合理性和分布式檢索算法的高效性。數(shù)字圖書館構(gòu)建的研究任重道遠,將隨著其它技術(shù)的進步而發(fā)展。下一步的工作重點是研究數(shù)字圖書館中基于語義的智能分布式檢索。
參考文獻
[1]李欣榮.面向服務(wù)的數(shù)字圖書館QGSA-DQP分布式信息查詢研究[J].現(xiàn)代情報,2007,(9):106-108.
[2]楊瑩.數(shù)字化圖書館的概念界定與要素分析[J].現(xiàn)代情報,2007,(11):87-89.
[3]Foster I,Kesslman C,Tuecke S.The Anatomy of the Grid:Enabling Scalable Virtual Organizations[J].The International Journal of High Performance Computing Application,2001,15(3):200-222.
[4]Foster I,Kesslman C,Nick JM.The physiology of the grid-An open grid services architecture for distributed systems integration[EB/OL].Open Grid Service Infrastructure WG,Global Grid Forum.http:∥www.globus.org/research/papers/ogsa.pdf,2002.
[5]GGF,Open Grid Services Infrastructure(OGSI)version 1.0[DB/OL].www.ggf.org,2003.
[6]Czajkowski k,F(xiàn)erguson DF,F(xiàn)oster I,et al(March 2004).The WS-Resource Framework, Version 1.0[EB].http:∥www-106.ibm.com/developerworks/library/ws-resource/ws-wsrf.pdf
[7]侯駿,王永劍,錢德沛,等.基于網(wǎng)格的聯(lián)邦數(shù)字圖書館[J].計算機工程,2008,34(1):90-93.
[8]鄭志蘊,宋瀚濤,牛振東,等.基于網(wǎng)格技術(shù)的數(shù)字圖書館互操作關(guān)鍵技術(shù)[J].北京理工大學(xué)學(xué)報,2005,25(12):1066-1070.
[9]趙楊.基于語義網(wǎng)格的數(shù)字圖書館知識推送服務(wù)系統(tǒng)研究[J].情報科學(xué),2007,25(12):1869-1882.
[10]張銀犬,朱慶華.網(wǎng)格環(huán)境下個人數(shù)字圖書館信息檢索策略[J].中國圖書館學(xué)報,2007,33(13):56-59.
[11]伊問尹,尹鋒,黃建琦.網(wǎng)格計算環(huán)境下的數(shù)字化圖書館安全模型和訪問控制安全策略研究[J].現(xiàn)代圖書情報技術(shù),2008,(4):75-79.