〔摘 要〕為了解決廣域、分布、異構和動態的Internet環境中數字圖書館資源共享和信息檢索的難題,提出了一種基于網格的數字圖書館體系結構。該體系結構由資源層、本地服務層、中間件服務層和網格門戶層構成。在此體系結構的基礎上,提出了一種分布式檢索算法。原型系統的運行及模擬實驗的結果表明,提出的體系結構和算法能實現不同物理節點的互操作、方便用戶通過統一的接口透明地共享資源且檢索的效率很高。
〔關鍵詞〕數字圖書館;網格;體系結構;分布式檢索
〔中圖分類號〕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
隨著計算機技術、信息技術、分布式技術的發展,廣域、分布、異構和動態網絡環境中數字
圖書館的構建稱為當前研究的熱點問題之一[1]。廣義上的數字圖書館具有豐富的數字化資源、網絡化存取、信息分布檢索和資源整合等基本特征。狹義上的數字圖書館主要是基于物理圖書館,將物理圖書館的傳統優勢轉換為信息服務主體的資源優勢和服務優勢,適應互聯網對信息服務主體、服務客體、服務模式和服務理念的改變[2]。數字圖書館的目標是利用先進的技術,實現Internet上各孤立數字資源節點的互操作、無縫連接及物理空間和虛擬空間的結合,達到用戶透明訪問和資源共享的目標。
網格是繼Web之后新的分布式計算平臺,是指在動態變化的多個虛擬機構間共享資源和協同解決問題、構筑在互連網上的一組新興技術。它將高速互連網、高性能計算機、大型數據庫、傳感器和遠程設備等融為一體,為科技人員和用戶提供更多的資源、功能和交互[3]。由于數字圖書館與網格都具有分布、異構、自治等特征,因此可以利用網格技術解決數字圖書館互操作問題;由于網格能較好地解決Internet環境中計算分布和存儲分布中存在的交互、協作問題,因此用網格技術進行數字圖書館的構建能有效解決數字資源的分布存儲、數字圖書館分布構建及資源共享問題。
本文第2節對網格技術及相關工作的研究進展進行了概述,第3節給出了一種基于網格的數字圖書館體系結構,第4節給出了一種基于此體系結構的分布式檢索算法,第5節對全文進行了總結和對未來研究工作進行了展望。
1 概 述
1.1 網格概述
隨著OGSA、OGSI、WSRF和GT4等規范、體系結構和技術的應用和推廣,網格成為開放、異構環境下構造松耦合、組合化分布式應用的主流技術[4-6]。OGSA(Open Grid Services Architecture)把一切都抽象成服務,服務可以包括計算機設備、應用程序、數據,儀器等。將一切都抽象為服務有利于通過統一的標準接口來管理和共享網格上功能各異的資源。OGSA是網格中描述面向服務的體系結構SOA(Service-Oriented Architecture),它把網格服務看作是一種特殊的Web服務(Web Services),它們可能以不同的方式創建,用不同的程序語言實現,由不同的網格服務(Grid Services)開發者提供,網格服務請求根據特定的應用背景和需要由服務組合或服務間的協同工作來完成。
Web服務是基于XML的,能在異構的計算環境中開發分布式應用的一種技術。Web服務由WSDL描述服務、由SOAP作為客戶端和服務之間通信的消息格式、由UDDI作為服務的發布和發現。OGSI(Open Grid Services Infrastructure)是作為OGSA的核心規范被提出的,OGSI把一個有狀態的資源刻畫為一個封裝資源狀態的Web服務,把服務的標識、生命周期和資源狀態緊耦合在一起,這樣存在明顯的不足。為了解決OGSI和Web服務之間的矛盾,2004年3月WSRF(Web Service Resource Framework)被提出,WSRF提出一個標準方法把Web服務刻畫成有狀態資源。Globus聯盟于2005年4月發布的GT4,它的特性之一就是實現了WSRF和WS-Notification標準。WSRF正在替代OGSI,用在OGSA環境中構建網格核心服務的基礎結構,WSRF核心服務和OGSA平臺服務構成網格中間件服務。
1.2 相關工作
將網格技術用于數字圖書館的構建,解決數據集成、資源共享和分布式檢索問題,已引起了國內外部分研究者的注意,取得了部分階段性的研究成果。2000年,意大利ISTI-CNR的DLib小組著手開發用于創建和管理數字圖書館的服務系統,取名為“OpenDLib”,其目標是開發一個可定制系統,只需進行適當的配置,就能滿足不同應用程序框架的需要。在該系統建立的基礎上,DLib小組和歐洲的研究機構、軟件公司啟動了DILIGENT研究計劃,目標是開發一個基于網格框架、面向服務的數字圖書館系統,推廣使用新方法構造數字圖書館框架。它是歐洲網格研究項目EGEE的子項目,是目前世界上規模最大的應用網格技術支持數字圖書館建設的研究計劃[7]。文獻[7]對網絡中數字圖書館資源進行一定的服務封裝形成數字圖書館資源倉儲節點,在此基礎上運用網格思想對倉儲節點進行整合,形成數字圖書館資源聯邦,使用戶能夠通過聯邦門戶透明地訪問聯邦中所有數據倉儲節點中的圖書館數據資源。文獻[8]提出一種基于網格技術的數字圖書館互操作框架,給出了3層的體系結構,并對元數據資源的發現、采集、重組等關鍵技術進行了分析、設計,實現了Web上數字圖書館信息的共享。文獻[9]結合語義網格中的關鍵理論和技術,探討了語義網格在知識推送中的重要作用。文獻[10]探討了網格環境下P2P技術和Z39.5協議在個人數字圖書館信息檢索中的作用。文獻[11]在討論數字圖書館網格安全性需求的基礎上提出一種可伸縮、可擴展的訪問控制安全策略與相應的安全模型及一種靈活的訪問控制安全策略。
2 體系結構
為了實現處于不同物理地點的,異構的多個數字圖書館間互操作和資源共享,使用戶能夠通過統一的接口透明地對多個數字圖書館的信息進行分布式檢索,而不需要登錄不同的節點進行檢索,本文提出以下的基于網格的數字圖書館體系結構。由于空間有限,圖1只表示出了部分服務,依據構建數字圖書館應用的不同情況和達到的目標不同,可做適當的增加和減少。該體系結構具有以下的特點:
(1)用戶能夠通過統一的接口訪問不同物理地點的數字資源信息;
(2)可透明訪問多個不同的物理節點,屏蔽了底層的異構性;
(3)可同時提交多個檢索服務請求,由多個不同的物理節點并行完成。
2.1 資源層
資源層主要包括數字圖書館中每個物理節點涉及到的所有資源,下文將物理節點稱為網格節點。每個網格節點中的資源除了圖1中的資源以外,還包括計算機網絡、網絡協議、應用支持環境、儀器等。資源種類繁多,數量巨大,不同的資源的功能多樣,不同資源具有的物理接口也不同,提供相同功能的多個資源可能具有不同的物理接口,具有相同物理接口的資源還可能提供不同的功能。因此必須通過某種標準對資源進行抽象和封裝,才能統一訪問。
2.2 本地服務層
本地服務層中的服務實現對本地資源的抽象和封裝,通過網格中的Web服務技術和WSRF標準,將下層資源所提供的功能通過網格服務的形式提供。這些服務除了能完成本地的功能以外,還向上層網格服務(中間件服務)提供能訪問本地資源的功能,為實現數字圖書館不同網格節點的互操作提供基本的服務。其中檢索服務對本地數據資源的訪問和能夠接收上層檢索請求是最基本和最核心的服務。
2.3 中間件服務層
中間件服務層是最重要的一層,通過此層作為中間媒介,實現數字圖書館不同網格節點的互操作。其中的分布檢索服務、數據合成服務、事務管理服務等由每個網格節點按照統一的標準接口而設計,運行在每個網格節點上,由它們之間的互操作及調用下層的服務和向上層服務提供服務而完成整個數字圖書館的互操作、資源共享和分布式檢索。由于每個網格節點上對應的服務之間是對等的,在節點數量很大的情況下,廣域環境下的廣播通信機制開銷很大。因此本文提出將其組織成樹狀結構,以有利于它們間的互操作和降低通信的開銷。可按照某種服務等級劃分方法,將平面的服務集合結構轉化為邏輯上的樹結構。圖2給出了一種中間件服務層對應服務間的三層樹組織方式,可以分別對應數字圖書館的國家級網格節點、省級網格節點和省級以下級網格節點。這里假設國家節點下有3個省級節點、每個省級節點下有3個級別更低的節點,實際數字圖書館構建中可根據情況劃分不同的層次和安排每個層次下的不同節點數目。
圖2 中間層服務的樹型組織方式
2.4 網格門戶層
網格門戶層實現用戶檢索服務請求的輸入界面、檢索請求任務的分解、檢索結果的數據合成、檢索結果集的顯示或以某種文件格式存儲等功能。此層根據構建數字圖書館所制訂的標準,通過將檢索請求向中間件服務層提交及從中間件服務層得到檢索結果集而向用戶提供統一的檢索接口和統一格式的結果集,使用戶通過統一的接口透明地訪問數字圖書館。
3 分布式檢索算法
3.1 算法的描述
本文基于中間件服務層中對應服務間的樹組織方式,提出了一種分布式檢索算法。這種算法令網格門戶層將分解完的檢索請求任務集提交給樹的根節點GS,檢索結果也由GS返回給網格門戶層。算法令無論在以上樹中任何一個節點檢索到了滿足某一子檢索請求的結果,則不再向其它節點提交此子檢索請求。令樹中第二層的節點為{GS1,GS2,…,GSm},第三層的節點為{{GS11,GS12,…,GS1n1},{GS21,GS22,…,GS2n2},…,{GSm1,GSm2,…,GSmnm}},且下層節點中的服務注冊在上層節點的UDDI服務器中。
算法的描述:
Step1 輸入檢索請求任務集Task={T1,T2,…,Tn}。
Step2 GS將Task向本地檢索服務提交。令本地檢索服務得到的結果集為Result={R1,R2,…,Ri}。若所有檢索請求都滿足,則轉Step6;否則令未滿足檢索請求的任務集unTask={Ti+1,Ti+2,…,Tn},并根據GS中UDDI的信息將unTask向{GS1,GS2,…,GSm}提交。
Step3 {GS1,GS2,…,GSm}將unTask向本地檢索服務提交。令所有本地檢索服務得到的結果集Result1={Ri+1,Ri+2,…,Rj}。若所有檢索請求都滿足,則轉Step5;否則令未滿足檢索請求的任務集unTask1={Tj+1,Tj+2,…,Tn},并根據{GS1,GS2,…,GSm}中UDDI的信息將unTask1分別向下層服務提交。
Step4 第三層中的服務將unTask1向本地檢索服務提交。令所有本地檢索服務得到的結果集Result2={Rj+1,Rj+2,…,Rj+k},將Result2返回給Result1;若有未滿足檢索請求的任務集unTask2={Tj+k+1,Tj+k+2,…,Tn},則將unTask2未檢索到的提示信息返回給Result1。
Step5 Result1合并結果集且返回給Result。
Step6 Result合并結果集并輸出。
3.2 模擬實驗
本文按照以上提出的體系結構和分布式檢索算法,在由20臺PC機組成的局域網環境中,將每臺PC機模擬成數字圖書館的一個網格節點,在其上部署了多個本地服務和中間件服務,實現了一個基于網格的數字圖書館原型系統,并通過模擬實驗對分布式檢索算法的效率進行了分析。PC機的硬件配置是Intel Pentium雙核CPU,主頻為1.8G,內存2G。軟件環境為Windows XP SP2操作系統,本地服務、中間件服務、UDDI和分布式檢索算法的代碼都由Java語言JDK1.4實現。圖3給出了模擬實驗中對于不同檢索請求任務集情況下,獨立地在每個節點進行檢索(非分布式檢索,記為UNDS)的響應時間總和與分布式檢索(記為DS)的響應時間的比較結果。從響應時間上可以看出,分布式檢索的效率明顯高于非分布式檢索。原型系統的運行及模擬實驗的結果表明了體系結構的合理性和分布式檢索算法的高效性。
圖3 非分布檢索和分布式檢索的響應時間比較
4 結束語
本文的創新點在于提出了基于網格的數字圖書館體系結構和基于此體系結構的分布式檢索算法。原型系統的運行和模擬實驗的結果驗證了體系結構的合理性和分布式檢索算法的高效性。數字圖書館構建的研究任重道遠,將隨著其它技術的進步而發展。下一步的工作重點是研究數字圖書館中基于語義的智能分布式檢索。
參考文獻
[1]李欣榮.面向服務的數字圖書館QGSA-DQP分布式信息查詢研究[J].現代情報,2007,(9):106-108.
[2]楊瑩.數字化圖書館的概念界定與要素分析[J].現代情報,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,Ferguson DF,Foster 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]侯駿,王永劍,錢德沛,等.基于網格的聯邦數字圖書館[J].計算機工程,2008,34(1):90-93.
[8]鄭志蘊,宋瀚濤,牛振東,等.基于網格技術的數字圖書館互操作關鍵技術[J].北京理工大學學報,2005,25(12):1066-1070.
[9]趙楊.基于語義網格的數字圖書館知識推送服務系統研究[J].情報科學,2007,25(12):1869-1882.
[10]張銀犬,朱慶華.網格環境下個人數字圖書館信息檢索策略[J].中國圖書館學報,2007,33(13):56-59.
[11]伊問尹,尹鋒,黃建琦.網格計算環境下的數字化圖書館安全模型和訪問控制安全策略研究[J].現代圖書情報技術,2008,(4):75-79.