齊惠穎,王 欣
(1.北京大學醫(yī)學部計算機教研室,北京100191,qhy@bjmu.edu.cn; 2.哈爾濱工業(yè)大學科學與工業(yè)技術研究院,哈爾濱150001)
隨著數(shù)字資源建設的不斷深入,我國各類信息服務機構購買了越來越多的信息資源,由于這些資源具有不同的信息檢索界面,用戶在利用信息資源時需要切換到不同的環(huán)境分別進行檢索,這個過程客觀上增加了信息利用的復雜性.由于不同類別的用戶對各類期刊的使用權限不同,目前的各類檢索系統(tǒng)無法感知用戶環(huán)境信息,對不同用戶提供個性化的服務.針對上述問題,本文提出了一種分布、異構資源的集成方案,本方案利用標準互操作協(xié)議和互操作技術將多種分布、異構的資源有機地集成到統(tǒng)一的環(huán)境中,同時,基于開放鏈接機制實現(xiàn)服務集成,將信息服務機構提供的各種擴展服務無縫地連接起來,通過基于情景敏感的知識庫提供用戶的個性化服務,使用戶對各類信息資源和服務實現(xiàn)一站式獲取.
信息資源集成系統(tǒng)是集成了多種信息資源,為終端用戶提供了統(tǒng)一檢索平臺.集成檢索結果,提供與上下文相關的全文在線獲取、原文傳遞、參考咨詢等服務.系統(tǒng)的體系結構如圖1所示.
數(shù)據層由知識庫和各類資源組成,知識庫是整個系統(tǒng)框架的核心部分,提供一系列的規(guī)則,是為用戶提供恰當服務的依據.各類資源包括訂購或免費的數(shù)據庫資源、本地加工資源和網絡資源等;功能層由前臺檢索界面和后臺管理系統(tǒng)組成,前臺檢索界面是多種數(shù)據庫資源的統(tǒng)一檢索界面,后臺系統(tǒng)主要負責知識庫的初始化、更新以及多種維護功能;服務層為用戶提供了一個集成的多樣化的服務,包括多種信息服務(例如全文獲取、參考咨詢服務、館際互借和OPAC等)以及多種Internet服務(例如搜索引擎等).由上述信息資源集成系統(tǒng)的體系結構可以看出,其實現(xiàn)的關鍵是如何實現(xiàn)異構資源集成和多種擴展服務集成.
圖1 信息資源集成系統(tǒng)的體系結構
實現(xiàn)多種異構資源的集成涉及到異構系統(tǒng)之間的通信和互操作,由于大多數(shù)商業(yè)性學術資源的提供商不支持遵循OAI的數(shù)據收集,因此要集成這些分布異構資源就需要利用各種標準協(xié)議和技術實現(xiàn)虛擬集成,針對不同資源擁有者提供的不同接口采用相應的協(xié)議和技術實現(xiàn)檢索結果的獲取.此外,對異構資源的檢索結果的呈現(xiàn),保證集成檢索結果的條理性也是需要考慮的問題.
針對異構資源最常見的Web Services接口和SRU接口,集成檢索均支持對應的互操作.Web Services是一個采用XML,通過URL來發(fā)布接口和應用綁定的軟件體系結構[1-2].這些定義接口可以被其他軟件系統(tǒng)發(fā)現(xiàn),并通過基于XML和IP協(xié)議的消息通訊機制集成到不同的應用系統(tǒng)中.Web Services通過SOAP傳輸消息,系統(tǒng)將用戶的查詢請求進行SOAP封裝,通過HTTP的POST方法發(fā)送到Web服務器,Web服務器再把請求轉發(fā)給相應的Web Services請求處理器,請求處理器對SOAP進行解析后將應答返回給Web服務器,Web服務器再將應答返回給系統(tǒng)[3-4].
SRU(Search/Retrieve URI Service)是一種基于XML的網絡搜索協(xié)議[5],它定義了一個通用、抽象的模型,各個異構系統(tǒng)可以將其具體實現(xiàn)映射到該抽象模型上,從而實現(xiàn)不同網絡資源、分布式數(shù)據庫的統(tǒng)一檢索功能.對于支持SRU或一些系統(tǒng)的訪問方式經過簡單分析,轉換成類似SRU格式的都采用基于SRU協(xié)議集成.SRU的請求信息是通過HTTP的GET方法發(fā)送的,其信息檢索請求利用URL格式編碼[6].例如,對Calis系統(tǒng)構造一個SRU格式的檢索請求式,題名檢索詞為Nano時查詢式為
其中,op為搜索方式,at為搜索的關鍵詞,from為檢索域(值0~4分別表示不同的檢索字段,如題名、關鍵詞等),date-from和date-to分別為查詢時的間范圍,per為每頁顯示記錄條數(shù),max為最大查詢記錄數(shù),p=2為取出查詢結果的第2頁.
對于一些不提供標準接口的異構資源,雖然這些系統(tǒng)各自具有不同的結構,但都基于HTTP,以B/S方式進行服務,對這類資源采用元搜索技術實現(xiàn)檢索結果的獲?。?].元搜索技術的本質是一種模擬技術,資源集成系統(tǒng)來模擬瀏覽器或者客戶端,通過HTTP協(xié)議向數(shù)據提供方發(fā)送檢索請求,由數(shù)據提供方返回HTML格式的檢索結果頁面,然后由資源集成系統(tǒng)對該頁進行分析,生成匯總結果集傳送給用戶.
資源集成系統(tǒng)中檢索的數(shù)據源物理上分布在不同的位置,需要將多個結果集進行合并、重新排序處理后形成最終的結果集呈現(xiàn)給用戶.在系統(tǒng)向多個數(shù)據源發(fā)送檢索請求到返回給用戶結果的過程中,所需時間的長短是系統(tǒng)響應速度的關鍵所在,為避免由于結果集占有服務器內存過大而引起宕機現(xiàn)象,在用戶檢索時,每次只取固定數(shù)目的檢索結果集存儲在服務器端,用戶在這些結果集中翻頁時不用二次查詢,直接從緩存中提取結果提高了翻頁速度,當翻頁達到指定的數(shù)目時,系統(tǒng)將再次進行檢索.這樣既避免了將檢索結果全部放到服務器端,隨著用戶增多而導致檢索結果集不斷增大,造成內存不夠的問題,同時也避免了每次翻頁都要發(fā)送檢索請求造成時間開銷過大.
服務集成的關鍵是為一個鏈接源提供與鏈接源上下文相關的多種擴展鏈接服務,而OpenURL是一個基于上下文的、開放的信息資源與查詢服務之間的通信協(xié)議標準[8].OpenURL協(xié)議提升了在開放鏈接環(huán)境下,提供定位服務的服務組件和信息資源之間的互用性[9-10].基于開放鏈接的集成服務的基本工作流程如圖2所示.
圖2 基于開放鏈接服務集成的工作流程
鏈接解析器的主要功能是從檢索請求中獲取元數(shù)據,根據知識庫中的知識分析元數(shù)據,為用戶選擇相關資源和服務提供目標解析機制.以MetaPress數(shù)據庫為例來說明OpenURL的鏈接機制.在MetaPress數(shù)據庫中查找一篇文獻得到的URL頁面為
可以看出這個地址是符合OpenURL語法的.若獲取全文,基地址為
解析規(guī)則為
對于沒有采用OpenURL標準的數(shù)據庫,需要對其鏈接機制進行分析,將文獻頁面的URL轉換為符合OpenURL語法的URL.例如在Mary Ann Liebert數(shù)據庫中查找到兩篇文獻的URL分別為:
可以看到URL中searchText字段后面是文獻的標題,journalCode和journal字段表示文獻所在期刊.為實現(xiàn)URL地址的轉換,首先將一篇文獻的元數(shù)據替換到另一篇文獻的URL仍能定位到該文獻,說明此鏈接是有效的.接著分別將元數(shù)據字段為空,驗證是否還能定位到該文獻,對上述URL,去掉journalCode和journal字段也能唯一定位到文獻.因此,通過上述轉換過程可以得知在數(shù)據庫Mary Ann Liebert獲取全文,基地址為
解析規(guī)則為
知識庫反映的是信息服務機構的網絡數(shù)據庫訂購情況和用戶的權限信息,其內容包括目標鏈接、鏈接解析規(guī)則、潛在服務的推理規(guī)則、各種資源的映射規(guī)則、擴展服務規(guī)則等.它是提供擴展服務鏈接時所用到的元數(shù)據的集合,為構造擴展服務鏈接提供一系列規(guī)則,根據訪問資源或服務的用戶標識(如IP地址),利用給定元數(shù)據為用戶提供最多的、恰當?shù)姆?
由于期刊數(shù)據庫將收錄的期刊信息在其網站上全部列出,而Web頁面通過結構化的HTML標記來控制頁面的布局和顯示.通過對國內外的網絡數(shù)據庫頁面特征分析,分析HTML文檔的結構歸納出每個提取域統(tǒng)一的定界符,找到其排列的規(guī)律,構造一個抽取器,提取需要的元數(shù)據內容,實現(xiàn)知識庫的構建和更新.
目標鏈接構造器的主要功能是根據知識庫中期刊數(shù)據庫提供的信息、各種服務規(guī)則和用戶的權限標識為用戶構造恰當?shù)姆真溄?,并提供所有的服務鏈接的頁?實現(xiàn)機制是根據鏈接解析器析取出的參數(shù)和知識庫里的訪問規(guī)則判定傳來OpenURL的鏈接源所在的機構是否訂購了該期刊的這些卷期,如果訂購了,判斷此期刊中的基地址和指向規(guī)則是否為空.若不為空則直接用此期刊中的規(guī)則來構造定位到文章的鏈接;若為空則尋找哪些數(shù)據庫中收錄了此期刊,再將這些數(shù)據庫中可通過規(guī)則定位到文章的鏈接都構造出來,并提供給用戶.例如獲得的參數(shù)為issn=0169- 2968,volume=80,issue=1,spage=199.根據其中的issn和知識庫中的存儲信息可知期刊是Processes of Petri Nets with Range Testing Processes of Petri Nets with Range Testing,然后判斷鏈接源所在機構購買了這個期刊對應的卷期.接著查看知識庫中此期刊的基本信息和權限信息,得出獲取全文服務的基地址為
指向規(guī)則為
最后根據獲得的基地址和指向規(guī)則,構造了指向所找尋文章的全文目標鏈接為
集成系統(tǒng)解決的是多個源系統(tǒng)的整合,其關鍵技術是互操作和結果融合.系統(tǒng)運行在第三方信息服務機構,當用戶使用集成系統(tǒng)時,集成系統(tǒng)是以同步的方式并發(fā)檢索多個源系統(tǒng).因此,多用戶、多關鍵詞并發(fā)檢索時的性能是系統(tǒng)健壯性的重要體現(xiàn).實驗是通過模擬第三方機構的最終用戶并發(fā)操作的測試.系統(tǒng)的測試環(huán)境為CPU為PentimIV1.7G GHz、內存為512 M、操作系統(tǒng)為WindowsXP SP2、網絡帶寬為100 M.
實驗1 在0~5 s時間內生成600個用戶,并發(fā)進行檢索操作.圖3顯示的是負載測試期間相對任何指定時間點用戶的數(shù)目的平均事務響應時間.結果顯示系統(tǒng)響應檢索操作的平均時間是2.142 s;再隨機分配用戶查看檢索到的資源,平均每個用戶點擊1~2次,整個檢索事務的響應時間為10~20 s之間,系統(tǒng)響應操作時間較理想.
圖3 不同數(shù)目的用戶并發(fā)檢索時系統(tǒng)響應時間
實驗2 為用戶隨機分配檢索詞,模擬不同數(shù)量用戶進行檢索.圖4是相對任何指定數(shù)目的用戶并發(fā)檢索時平均事務響應的時間,檢索事務的使用時間為19~25 s.可以看出,并發(fā)用戶數(shù)量在500個以內時,系統(tǒng)整個事務的響應時間沒有隨用戶增多而延遲.
圖4 多用戶并發(fā)檢索時系統(tǒng)整個事務的響應時間
1)針對網絡環(huán)境下不同信息資源呈現(xiàn)分布式、異構的特點,分別使用相應的標準互操作技術可以有效地實現(xiàn)資源的集成.
2)基于OpenURL的開放鏈接框架提供了一種開放的、可擴展的描述元數(shù)據的標準,它描述鏈接源的上下文和服務,實現(xiàn)了服務的有效集成.
3)通過知識庫提供的一系列規(guī)則,根據訪問資源或服務的用戶標識為用戶提供恰當?shù)姆?,進一步提高了信息服務的質量.
[1]CURBERA F,DUFTLER,KHALAF M R,et al.Unraveling the Web services Web:An introduction to SOAP,WSDL,and UDDI[J].IEEE Internet Computing,2002,6(2):86-93.
[2]YANG J.Web service componentization[J].Communications of the ACM,2003,46(10):35-40.
[3]NIOLOUDIS N,MINGINS C.XML Web services automation:A software engineering approach[C]//Proceedings of the Ninth Asia-Pacific Software Engineering Conference.Washington,DC:IEEE Computer Society,2002:417-424.
[4]CURBERA F,KHALAF R,MUKHI N,et al.The next step in Web services[J].Service-oriented computing,2003,46(10):29-34.
[5]SRU:Search and Retrieve via URL[EB/OL].[2010-03-15].http://www.loc.gov/standards/sru/index.html.
[6]李春旺,王小梅,王昉,等.基于SRU的集成服務平臺設計與實現(xiàn)[J].現(xiàn)代圖書情報技術,2007(10):12-15.
[7]SELBERG E,ETZIONI O.The MetaCrawler architecture for resource aggregation on the Web[J].IEEE Expert,1997,12(1):11-14.
[8]HODGSON C.Understanding the OpenURL framework[J].NISO Information Standards Quarterly,2005,17(3):1-4.
[9]COLLINS M D D,F(xiàn)ERGUSON C L.Context-sensitive linking:It’s a small world after all[J].Serials Review,2002,28(4):267-282.
[10]WALKER J.Open linking for libraries:The OpenURL framework[J].New Library World,2001,102(4/5): 127-134.