李衛(wèi)峰
(江蘇技術(shù)師范學(xué)院圖書(shū)館,江蘇 常州 213001)
圖書(shū)館數(shù)字資源建設(shè)從建立書(shū)目數(shù)據(jù)庫(kù)開(kāi)始,到自建數(shù)據(jù)庫(kù)、集團(tuán)采購(gòu)、自主購(gòu)買(mǎi)數(shù)據(jù)庫(kù)資源等,已經(jīng)建立起龐大的數(shù)字資源。如何把眾多分散的數(shù)字資源整合起來(lái),向用戶(hù)提供統(tǒng)一、全面、功能強(qiáng)大的資源環(huán)境和服務(wù)環(huán)境,使用戶(hù)能快速、準(zhǔn)確地獲取所需的數(shù)字資源,對(duì)于數(shù)字圖書(shū)館的發(fā)展來(lái)說(shuō)意義重大,數(shù)字圖書(shū)館異構(gòu)數(shù)據(jù)的集成研究主要也是解決這個(gè)問(wèn)題。
數(shù)字圖書(shū)館是一個(gè)數(shù)字化的資源數(shù)據(jù)庫(kù)系統(tǒng),它將分散于不同地理位置的信息資源以數(shù)字化的形式存儲(chǔ),以網(wǎng)絡(luò)化的方式相互連接,提供及時(shí)利用,實(shí)現(xiàn)資源共享。在計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)技術(shù)的支持下,雖然理論上數(shù)字圖書(shū)館的資源可以被無(wú)障礙地共享,但各資源數(shù)據(jù)庫(kù)由于開(kāi)發(fā)廠商不同,數(shù)字圖書(shū)館數(shù)據(jù)異構(gòu)現(xiàn)象非常嚴(yán)重。主要體現(xiàn)在:
①各數(shù)據(jù)庫(kù)使用不同的操作系統(tǒng);
②使用不同的數(shù)據(jù)庫(kù)管理系統(tǒng);
③存在于不同的物理位置,且硬件配置各不相同;
④采用的庫(kù)模型、數(shù)據(jù)檢索語(yǔ)義不同等。
不同的應(yīng)用系統(tǒng)可能使用不同的元數(shù)據(jù)標(biāo)準(zhǔn),如圖書(shū)館管理系統(tǒng)大多采用MARC元數(shù)據(jù)標(biāo)準(zhǔn),而自建數(shù)據(jù)庫(kù)可能各個(gè)數(shù)字圖書(shū)館根據(jù)各自情況采用的元數(shù)據(jù)標(biāo)準(zhǔn)都不同。
數(shù)字圖書(shū)館中的元數(shù)據(jù)存在著多種格式,不同的電子資源數(shù)據(jù)庫(kù)采用不同的元數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)集成系統(tǒng)就要對(duì)這些元數(shù)據(jù)進(jìn)行統(tǒng)一轉(zhuǎn)換,轉(zhuǎn)換成一種元數(shù)據(jù),從而解決元數(shù)據(jù)的異構(gòu)性。
通過(guò)分析轉(zhuǎn)換表元數(shù)據(jù)映射方案思想,建立了一個(gè)“多對(duì)一”的元數(shù)據(jù)映射方案,方案建立了一個(gè)統(tǒng)一的元數(shù)據(jù)標(biāo)準(zhǔn),考慮DC元數(shù)據(jù)標(biāo)準(zhǔn)的優(yōu)點(diǎn),建立的元數(shù)據(jù)參照DC元數(shù)據(jù)標(biāo)準(zhǔn),其他元數(shù)據(jù)標(biāo)準(zhǔn)都將轉(zhuǎn)換成這一標(biāo)準(zhǔn),其關(guān)系如圖1所示。
圖1 元數(shù)據(jù)映射方案
從實(shí)現(xiàn)的體系結(jié)構(gòu)的角度出發(fā),信息集成技術(shù)經(jīng)歷了以下幾個(gè)發(fā)展階段:
在盾構(gòu)完成穿越橋梁樁基后,對(duì)穿越高鐵影響范圍內(nèi)的管片,利用管片上的注漿孔自下而上進(jìn)行二次注漿,漿液采取快速凝結(jié)的雙液漿,注漿壓力不大于0.4MPa,以確保管片壁后空隙填充飽滿。
聯(lián)邦數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)如圖2,數(shù)據(jù)源是獨(dú)立的,通過(guò)數(shù)據(jù)源之間的數(shù)據(jù)交換格式進(jìn)行一一映射,一個(gè)數(shù)據(jù)源可以訪問(wèn)任何其他數(shù)據(jù)源提供的信息。
這種系統(tǒng)開(kāi)發(fā)時(shí)間太長(zhǎng),工作量大,擴(kuò)展性差,實(shí)現(xiàn)代價(jià)較高。
圖2 聯(lián)邦數(shù)據(jù)庫(kù)體系結(jié)構(gòu)
Mediator中間器法體系結(jié)構(gòu)如圖3所示。Mediator中間件系統(tǒng)是通過(guò)提供所有異構(gòu)數(shù)據(jù)源的虛擬視圖來(lái)集成它們,這里的數(shù)據(jù)源可以是數(shù)據(jù)庫(kù)、遺留系統(tǒng)、WEB數(shù)據(jù)源等。該系統(tǒng)向下協(xié)調(diào)各數(shù)據(jù)源,向上為集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一的數(shù)據(jù)模式和數(shù)據(jù)訪問(wèn)的通用接口,為用戶(hù)提供一個(gè)統(tǒng)一的數(shù)據(jù)邏輯視圖。在這種體系結(jié)構(gòu)中,中間層根本不實(shí)際存儲(chǔ)數(shù)據(jù),而是存儲(chǔ)數(shù)據(jù)的映射模式。
這種系統(tǒng)不需要重復(fù)存儲(chǔ)大量數(shù)據(jù),并能保證查詢(xún)到最新的數(shù)據(jù),比較適合于高度自治、集成數(shù)據(jù)多且更新變化快的異構(gòu)數(shù)據(jù)源集成。
圖3 M ediator中間器法體系結(jié)構(gòu)
數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)如圖4,把來(lái)自多個(gè)數(shù)據(jù)源的數(shù)據(jù)副本,按照集中、統(tǒng)一的視圖要求進(jìn)行預(yù)處理和轉(zhuǎn)換,形成統(tǒng)一的模式,存儲(chǔ)到數(shù)據(jù)倉(cāng)庫(kù)中,用戶(hù)的查詢(xún)就是對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)進(jìn)行查詢(xún)。
圖4 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)
這種系統(tǒng)的優(yōu)點(diǎn)是建立系統(tǒng)的過(guò)程比較簡(jiǎn)單。缺點(diǎn)是數(shù)據(jù)重復(fù)存儲(chǔ)、及時(shí)更新困難的問(wèn)題,數(shù)據(jù)更新的效率將影響系統(tǒng)的可用性,同時(shí)單個(gè)數(shù)據(jù)源的擴(kuò)展和維護(hù)會(huì)涉及到整個(gè)系統(tǒng)。
首先,聯(lián)邦數(shù)據(jù)庫(kù)和Mediator/Wrapper相比較:
①在Mediator/Wrapper系統(tǒng)中數(shù)據(jù)源添加和刪除都比較容易,聯(lián)邦數(shù)據(jù)庫(kù)所有數(shù)據(jù)源都要添加彼此訪問(wèn)的接口,所以需要編寫(xiě)大量接口程序,開(kāi)發(fā)難度高,而且不易擴(kuò)展。
②Mediator/Wrapper的數(shù)據(jù)源不必是數(shù)據(jù)庫(kù),也可以是各種結(jié)構(gòu)化、半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)的XML數(shù)據(jù)等。而聯(lián)邦數(shù)據(jù)庫(kù)方式只支持?jǐn)?shù)據(jù)庫(kù)數(shù)據(jù)源的集成。
其次,Mediator/Wrapper和數(shù)據(jù)倉(cāng)庫(kù)相比較:
①M(fèi)ediator/Wrapper實(shí)時(shí)性強(qiáng),能保證查詢(xún)的數(shù)據(jù)是最新的,它將用戶(hù)基于全局模式提交的查詢(xún)?cè)谙到y(tǒng)運(yùn)行時(shí)動(dòng)態(tài)分解為針對(duì)每個(gè)數(shù)據(jù)源的查詢(xún),中間件通過(guò)包裝器獲得數(shù)據(jù),經(jīng)過(guò)整合后返回給用戶(hù),因此查詢(xún)的結(jié)果都是最新的。同時(shí)查詢(xún)結(jié)果都是由包裝器對(duì)數(shù)據(jù)源進(jìn)行,中間件只和包裝器打交道,因此適合數(shù)據(jù)源的動(dòng)態(tài)添加和刪除。但是Mediator/Wrapper方式不能對(duì)歷史性的全局?jǐn)?shù)據(jù)進(jìn)行有效的利用和分析。
②數(shù)據(jù)倉(cāng)庫(kù)要建立一個(gè)存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),定期對(duì)數(shù)據(jù)源中的所有數(shù)據(jù)進(jìn)行預(yù)處理,形成符合倉(cāng)庫(kù)模式的數(shù)據(jù),然后物化數(shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)主要是歷史和匯總的數(shù)據(jù),供分析和執(zhí)行人員進(jìn)行決策分析使用。其特點(diǎn)是:查詢(xún)的效率很高,但查詢(xún)到的數(shù)據(jù)不能保證是最新的,并且如果倉(cāng)庫(kù)模式設(shè)計(jì)成靜態(tài)的,當(dāng)有新數(shù)據(jù)源加入或已有數(shù)據(jù)源發(fā)生變化時(shí),對(duì)倉(cāng)庫(kù)的修改代價(jià)比較高。
針對(duì)數(shù)字圖書(shū)館數(shù)據(jù)的異構(gòu)性和異構(gòu)數(shù)據(jù)集成模型分析比較后,結(jié)合Mediator/Wrapper模型,提出了基于XML Web Service的數(shù)字圖書(shū)館異構(gòu)數(shù)據(jù)集成方案。
基于XMLWeb Service的數(shù)字圖書(shū)館異構(gòu)數(shù)據(jù)集成方案,利用Web Service對(duì)各個(gè)數(shù)據(jù)源進(jìn)行封裝,解決了數(shù)字圖書(shū)館中數(shù)據(jù)庫(kù)異構(gòu)性的問(wèn)題;利用XML元數(shù)據(jù)映射,解決了元數(shù)據(jù)的異構(gòu)性問(wèn)題,其體系結(jié)構(gòu)如圖5所示。
圖5 基于XM LW eb Service的異構(gòu)數(shù)據(jù)集成方案體系結(jié)構(gòu)
基于XMLWeb Service的數(shù)字圖書(shū)館異構(gòu)數(shù)據(jù)集成體系結(jié)構(gòu)由3層組成:應(yīng)用層、中間層、資源層。應(yīng)用層由應(yīng)用界面組成。中間層由請(qǐng)求處理器和結(jié)果處理器組成。資源層主要包括各分布式圖書(shū)館數(shù)據(jù)庫(kù)資源、包裝器和Web Services組成。
應(yīng)用層為用戶(hù)提供應(yīng)用界面,底層集成的數(shù)據(jù)源對(duì)用戶(hù)是透明的,從用戶(hù)的角度來(lái)看,并不認(rèn)為底層有多個(gè)數(shù)據(jù)庫(kù),查詢(xún)就像在一個(gè)數(shù)據(jù)庫(kù)中進(jìn)行的一樣。各數(shù)據(jù)源返回的信息經(jīng)系統(tǒng)處理后以統(tǒng)一方式顯示在應(yīng)用界面中。
當(dāng)接收到應(yīng)用層的命令請(qǐng)求時(shí),由請(qǐng)求處理器將命令分析后分解成功能子命令并包裝為SOAP消息,通過(guò)調(diào)用相應(yīng)的Web Services,傳送到相應(yīng)的數(shù)據(jù)源包裝器執(zhí)行具體任務(wù)。結(jié)果處理器接受由各子數(shù)據(jù)源返回的XML形式的結(jié)果片段,整理合并后返回給用戶(hù)。其中通過(guò)元數(shù)據(jù)映射解決元數(shù)據(jù)的互操作。
①請(qǐng)求處理器
請(qǐng)求處理器根據(jù)應(yīng)用提交的命令,根據(jù)映射關(guān)系里的相關(guān)規(guī)則,將應(yīng)用分解為對(duì)應(yīng)各局部數(shù)據(jù)源的子命令,并將子命令傳送到對(duì)應(yīng)的數(shù)據(jù)源包裝器執(zhí)行實(shí)際數(shù)據(jù)的操作。
②結(jié)果處理器
各數(shù)據(jù)源的執(zhí)行結(jié)果由資源層返回給中間層后,由結(jié)果處理器對(duì)結(jié)果重新組合,返回給應(yīng)用程序。
③映射關(guān)系
主要規(guī)定XML全局元數(shù)據(jù)的標(biāo)準(zhǔn)以及XML全局元數(shù)據(jù)和局部元數(shù)據(jù)的映射規(guī)則。
集成系統(tǒng)中一個(gè)重要的組件就是關(guān)于各個(gè)異構(gòu)數(shù)據(jù)源的包裝器(Wrapper),使各數(shù)據(jù)源對(duì)外提供統(tǒng)一的接口。數(shù)據(jù)源包裝器是對(duì)應(yīng)各數(shù)據(jù)源的一個(gè)包裝層,它的主要任務(wù)是包裝數(shù)據(jù)源的模式與數(shù)據(jù),將中間語(yǔ)言功能命令映射為特定數(shù)據(jù)源模式可識(shí)別的實(shí)際物理命令,并把從底層數(shù)據(jù)源中抽取的數(shù)據(jù)轉(zhuǎn)化成統(tǒng)一的XML數(shù)據(jù)格式。本系統(tǒng)為不同種類(lèi)的數(shù)據(jù)源開(kāi)發(fā)對(duì)應(yīng)的包裝器。將各個(gè)包裝器發(fā)布成為多個(gè)Web Services,對(duì)外提供統(tǒng)一的接口接收命令請(qǐng)求,對(duì)數(shù)據(jù)源的調(diào)用實(shí)際上是對(duì)包裝器Web Services的調(diào)用。
基于Web Service技術(shù)異構(gòu)數(shù)據(jù)集成具有簡(jiǎn)單、開(kāi)放、靈活、動(dòng)態(tài)等特點(diǎn),它易于其他系統(tǒng)的集成,從而提供了一種數(shù)字圖書(shū)館異構(gòu)數(shù)據(jù)源數(shù)據(jù)集成的有效方法,該方法能夠有效解決數(shù)字圖書(shū)館數(shù)據(jù)共享和交換的問(wèn)題,實(shí)現(xiàn)數(shù)字圖書(shū)館異構(gòu)數(shù)據(jù)的互聯(lián)互通,但是基于Web Services的異構(gòu)數(shù)據(jù)庫(kù)數(shù)據(jù)集成的具體實(shí)現(xiàn)技術(shù)還有待進(jìn)一步研究。
[1] 馮少榮.基于XML的web數(shù)據(jù)集成技術(shù)的研究.計(jì)算機(jī)應(yīng)用與軟件,2005(7).
[2〕 孟小峰.Web信息集成技術(shù)研究.計(jì)算機(jī)應(yīng)用與軟件,2003(11).
[3] S.Abiteboul,P.Buneman,D.Suciu.Data on theWeb-From Relations to semi structured Data and XML.Morgan Kauffmann publishers,2000.
[4]A.Doan,P.Domingos,A.Levy.Learning Source Description for Data Integration.In Proceedings of the InternationalWorkshop on theWeb and Databases,2000.
[5]王志波,裘國(guó)永.基于XML的異構(gòu)數(shù)據(jù)庫(kù)中間件研究.鄭州輕工業(yè)學(xué)院學(xué)報(bào):自然科學(xué)版,2008(3).