壽先紅
[摘要]館際異構數據集成系統是為了提高高校數字圖書館資源利用率、實現資源高度共享的一種方法。文章介紹了異構數據集成的基本方法,并根據XML技術的特點,重點分析和研究了基于XML的館際異構數據集成系統的框架結構和系統實現的主要技術。
[關鍵詞]異構數據;XML;請求處理;包裝器
[中圖分類號]G250.74[文獻標志碼]A[文章編號]1005-6041(2012)03-0036-04
隨著各高校數字圖書館建設的深入,不同學校根據本身的專業特色和課程特點,分別設計和購置了大量的數字圖書資源供學生和教師使用,由于各高校數字圖書館相對封閉,各館建設的時期并不同步,而且技術上采用的操作系統、網絡結構、數據庫結構等均不相同,因此產生了各種不同類型的數字信息資源,我們把這些數字信息資源統稱為異構數據信息。由于異構數據信息的存在,使各高校圖書館之間難以實現數據信息共享,圖書館的數據資源也就成為“信息孤島”。為了實現資源的有效利用以及館際信息的高度共享,使更多的資源能夠被不同學校的廣大師生使用,集成異構數據庫就成為當前數字圖書館迫切需要建設的內容。
1、異構數據集成概述
由于應用系統的不同,因此各應用系統的數據源無論是數據結構、表示方式也各不相同。異構數據集成系統就是要把各種結構不同的數據,通過邏輯、物理等方式最終都轉化為一種統一的、結構相同的全局數據模式,能夠讓用戶透明的訪問這些數據源,實現全面的數據共享。數據集成的關鍵技術是忽略數據源平臺和結構等異構性,將不同的異構數據轉化成可以被識別和使用的統一數據進行描述,實現數據的無縫整合集成。一般的異構數據集成模型如圖1所示。
在處理異構數據集成問題上,有以下難點需要解決:1)解決數據的異構性問題:不同圖書館的數據資源各有不同,這些異構性是由應用系統所決定的,是異構數據集成應用需要解決的首要問題,異構性對集成應用的影響不僅是物理上的系統結構,更重要的是數據的結構模式和表現方式。2)解決數據源的自治性問題:每個圖書館所擁有的數據源均對應著不同的管理系統,我們需要在數據集成后依然保持數據源的相對獨立性,而不能因為數據集成而改變它們的常規操作,同時也不能因為集成而影響將來的數據升級和更新。3)解決用戶的透明性訪問問題:集成后的數據訪問,不能因為集成而變得更為復雜,而應該和集成前一樣,使用戶能安全、穩定、透明的訪問數據。
2、常用的異構數據集成方案
具體的異構數據一般分為:結構異構、語法異構、系統異構和語義異構四種。目前,使用比較多的數據集成方案主要有以下兩種:
2.1基于模式的集成方案
在基于模式的集成方法中,各數據源的數據位置保持不變,通過集成系統為用戶提供一個虛擬的集成平臺,并建立一套集成查詢的訪問處理機制。用戶在訪問數據時,可以直接在集成界面上提交請求,通過認證后由數據集成系統進行請求轉換,將請求發送到本地數據庫進行執行。
2.2基于數據復制的集成方案
在基于數據復制的集成方案中,需要將各個獨立數據源的數據進行集中管理,建立統一的數據源,同時要求這些數據源在更新時保持一致,以此來提高資源的利用效率。最基本的數據復制方法就是建立統一的數據倉庫。其原理是將原有分散的、不連續的數據從不同的數據庫中抽取出來,通過對數據進行分類加工,清理出冗余數據,然后對數據進行匯總統計,并建立一致的數據倉庫,當用戶訪問數據倉庫時,就像訪問普通數據庫一樣。
以上兩種方式均有優缺點。模式集成方法為訪問者提供了方便的集成訪問界面,因此當各分散的應用系統數據量比較多,并且系統數據更新較為頻繁時,用戶可以通過集成系統很方便的訪問各數據源。但該方法由于本身只是提供虛擬界面,自身并不保存數據,當用戶訪問量較大時,需要更高的網絡通道來對其進行支持,否則會造成網絡延堵。而數據復制方法是通過集成系統對各數據源進行集中管理,并建立統一的數據倉庫,用戶在訪問數據倉庫時,可以很方便的通過集成檢索到數據倉庫中得數據,從而可以快速的提高用戶的響應時間。但該方法也存在缺點,比如當各數據源數據更新時,需要把數據同時傳遞到數據倉庫中,因此存在著一定的數據延遲,并且有時會造成數據的不統一。
3、基于XML的館際資源數據集成研究
3.1XML知識介紹
隨著互聯網技術的發展,基于Web的數字圖書系統已經成為發展的趨勢和主流,這些系統主要是由HTML來進行編寫,由于HTML缺乏必要的結構和語義信息,給數據集成帶來了很大的困難,因此在W3C(World Wide Web Consortium,萬維網聯盟)的組織和領導下,建立了統一的規范,即XML規范。XML是一種技術標準,它可以定義其他語言,同時XML還具有擴展性強、表現形式多樣、與應用系統平臺無關等優點,目前XML規范正在迅速成為不同數據交換的一種通用方法。采用XML不僅可以很好地兼容原有的Web應用,而且可以更好地實現Web中的信息共享與交換。因此,XML已經成為解決新舊系統、不同應用系統之間或者不同數據源之間的數據共享與交互的主要技術規范。
XML包含的內容有很多,主要有3方面內容,分別是DTD(標記符規則,保證XML文檔格式正確,是XML的布局語言),XSL(可擴展的樣式語言,也就是XML的樣式表語言)以及)XLL(可擴展鏈接語言)。
DTD的主要作用是用來規定文檔的邏輯結構,定義各類頁面的元素、屬性以及元素和屬性之間的關系等。隨著XML的不斷規范,目前描述XML文件的主要標準是XML Schema。主要是對文檔的數據類型、數據結構、組織方式等進行定義和規定。XML Schema的定義準則規范和DTD相類似,功能更加強大。
XSL主要作用是規定數據文檔的樣式和格式。當用戶在通過瀏覽器進行訪問時,可以根據不同的需求改變文檔的顯示方式。
XLL主要作用是對已有的鏈接進行進一步的擴展,當用戶訪問鏈接無響應時,它可以結束無效的死鏈接,并且可以從服務器中僅查詢某個元素的相關部分的連接符。
3.2系統設計的原則
館際圖書資源的集成系統總體設計原則為:將根據不同圖書館數據的實際應用需求,利用XML規范和JAVA技術建立一個中間件平臺以及一組映射規則和映射工具,通過XML來對不同數據源進行格式轉換,屏蔽數據源之間結構和表現形式差異。通過對底層異構數據源進行抽取和分類,集成整合到一個完整的集成數據平臺之上,為用戶提供一個標準、透明的訪問接口和完整的數據視圖,使得對不同圖書館分布式數據進行訪問時,就如同訪問本地服務器數據一樣方便可靠。
系統利用XML規范來作為中間件技術集成異構數據庫,并特別將其中數據處理的系統稱為異構數據庫集成中間件系統,使用XML Schema來建立異構數據公共模型。通過集成系統達到訪問的穩定性、系統的易擴展性以及較好的可維護性,并且系統運行時對原有系統性能不造成明顯影響。系統的拓撲結構如圖2所示。
3.3集成系統的框架結構
本文結合XML技術,設計一個館際異構數據集成系統。其體系結構如圖3所示。
由上圖我們可以看出,整個系統共分為三層:系統應用和表示層、數據集成中間層、數據源層。
系統應用和表示層主要作用為:為各圖書館應用系統和訪問用戶提供接口程序,通過數據操作引擎,為用戶提供數據查詢和數據瀏覽服務。
數據集成中間層主要作用為:從不同數據庫中抽取出異構數據,并將抽取得到的數據轉換成標準的XML文件,實現對異構數據源的封裝。然后對用戶的訪問請求進行分解、解析,將訪問結果向系統應用和表示層反饋。
數據源層的主要作用為:將分散的應用系統數據庫抽象為各異構數據源,完成異構數據源的封裝和連接的權限審核。
采用上述結構主要為了實現以下目標:1)數據訪問的透明性。由于采用分層結構,因此,用戶在訪問集成數據時,無需考慮數據源的具體位置,只需知道數據服務中間件服務器(Middleware Server)即可,提高了系統訪問的透明性。2)系統設計的靈活性。因為系統采用了分層結構,各層的功能相對獨立又彼此聯系,在進行數據交換和抽取過程中可以方便地進行設計,而集成系統設計方法也可以根據各圖書館的實際情況進行,因此提高了系統設計的靈活性。3)屏蔽了數據源的異構性。各圖書館數據源無論是分布性還是結構性均不相同,因此解決異構性是數據集成必須面臨的首要問題。分層結構通過對數據的統一建模和利用XML Scheme的映射關系規則,實現了對異構數據的統一表示,屏蔽了數據的異構性。
3.4系統實現的關鍵技術
3.4.1處理請求模塊的設計。在基于XML的館際異構數字資源集成系統中,如何處理用戶的訪問請求是系統實現的關鍵技術之一。通常情況下,用戶只需在透明模式下對數據源進行查詢,不會對數據源的來源、格式進行干涉。處理請求模塊就是根據一系列的數據映射規則將基于全局模式的查詢轉換為局部數據源導出模式的查詢,針對用戶的需求分別產生數據源的子查詢,并循序執行子查詢,從而確定目的數據源,并將查詢結果返回給用戶。而查詢處理過程所需的方式、數據源映射規則及數據源相關信息都由XML語言描述表達,并將結果存儲在集成系統的數據字典中。整個過程可分為3步:查詢解析、查詢分解、數據組裝,如圖4所示。
3.4.2包裝器功能模塊的設計。在查詢處理過程中,為了完成各種類型數據源與集成系統之間的雙向映射,在不改變元數據結構的前提下,需要對異構數據源加上一個包裝器,利用XML接口引擎對各種數據庫管理系統和其他數據源進行封裝。其具體處理過程為:數據集成系統首先將用戶的查詢請求用XML查詢語言XQuery表示出來,然后將查詢請求不同的查詢語句,這些查詢語句能夠被數據源所識別和執行,最后再將返回的結果轉換成XML數據模型的形式,以便與來自其他數據源的數據集成。
包裝器把各類不同數據源的數據結構定義以XML Schema的形式統一表現,也就是說,提供一個虛擬的系統Schema定義,它提供的底層數據類型和數據結構信息不僅在數據集成上提供了一種數據規格,同時也支持如果底層數據源結構發生改變后,能及時通知集成系統。
4、結語
一直以來,由于高校圖書館數字資源結構、存儲方式等不同,使得對異構數據源的集成成為一個很難解決的問題,嚴重制約了數字資源的共享和使用。隨著XML體系結構的發展,為異構數據的集成提供了一種有效的方法,使館際圖書資源共享成為可能。