專利名稱::網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)格
技術(shù)領(lǐng)域:
,特別是涉及網(wǎng)格環(huán)境下異構(gòu)數(shù)據(jù)庫(kù)的訪問(wèn)和集成技術(shù)。
背景技術(shù):
:根據(jù)現(xiàn)代遠(yuǎn)程教育公共資源的考古、人文、美術(shù)、地質(zhì)、農(nóng)業(yè)、生物、醫(yī)藥、航空航天等領(lǐng)域的12個(gè)大學(xué)數(shù)字博物館,中國(guó)教育科研網(wǎng)格計(jì)劃的大學(xué)數(shù)字博物館網(wǎng)格(UniversityDigitalMuseumGrid,簡(jiǎn)稱UDMGrid),將分散在中國(guó)8個(gè)城市的海量數(shù)字博物館資源整合起來(lái),實(shí)現(xiàn)多種資源的互連互通與有機(jī)共享,消除標(biāo)本信息"孤島"現(xiàn)象。并以數(shù)字、文字、圖像、視頻、音頻、動(dòng)畫(huà)、三維模型等形式,通過(guò)網(wǎng)格門(mén)戶為各種不同類型的用戶提供"一站式"標(biāo)本信息類型的網(wǎng)格服務(wù)。由于這些海量數(shù)字博物館標(biāo)本信息屬于多種不同的學(xué)科或領(lǐng)域,各個(gè)大學(xué)數(shù)字博物館的標(biāo)本信息主要存儲(chǔ)在各自的數(shù)據(jù)庫(kù)中,例如SQLServer、Omcle、DB2等。所以,如何確定網(wǎng)格環(huán)境下異構(gòu)數(shù)據(jù)庫(kù)的訪問(wèn)和集成方法(DatabaseAccessandIntegration,簡(jiǎn)稱DAI),為用戶如何提供異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖和一致訪問(wèn)接口,是UDMGrid面臨的關(guān)鍵問(wèn)題。廣義的異構(gòu)數(shù)據(jù)庫(kù)集成可以將分散、異構(gòu)的數(shù)據(jù)以統(tǒng)一、一致的形式表現(xiàn)出來(lái),為用戶屏蔽各種數(shù)據(jù)在來(lái)源和結(jié)構(gòu)等方面的差異,它主要包括異構(gòu)數(shù)據(jù)庫(kù)的訪問(wèn)與狹義的集成。其中,異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)主要針對(duì)不同數(shù)據(jù)庫(kù)之間的互連互通、數(shù)據(jù)交換與數(shù)據(jù)共享等問(wèn)題;狹義的集成則側(cè)重于屏蔽不同數(shù)據(jù)庫(kù)系統(tǒng)在語(yǔ)義方面的異構(gòu)性,研究如何向用戶提供統(tǒng)一的模式和訪問(wèn)接口等問(wèn)題。在異構(gòu)數(shù)據(jù)庫(kù)集成的數(shù)據(jù)倉(cāng)庫(kù)方法中,SQLServer提供的數(shù)據(jù)導(dǎo)入導(dǎo)出和數(shù)據(jù)傳輸服務(wù),可以將不同數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)復(fù)制到相同的數(shù)據(jù)庫(kù)中,消除平臺(tái)和系統(tǒng)層的異構(gòu)性,但它不能消除語(yǔ)義層的異構(gòu)性。異構(gòu)數(shù)據(jù)庫(kù)集成的虛擬集中方法涉及有全局統(tǒng)一模式的多數(shù)據(jù)庫(kù)系統(tǒng)和無(wú)全局統(tǒng)一模式的聯(lián)邦式數(shù)據(jù)庫(kù)系統(tǒng)。全局統(tǒng)一模式一般采用屬性等價(jià)的方法,并結(jié)合XMLSchema和本體(Ontology)技術(shù),在異構(gòu)數(shù)據(jù)庫(kù)集成的方面具有較好的效果。聯(lián)邦式數(shù)據(jù)庫(kù)系統(tǒng)沒(méi)有全局統(tǒng)一模式,但支持異構(gòu)數(shù)據(jù)庫(kù)之間的松散耦合關(guān)系,數(shù)據(jù)庫(kù)可以通過(guò)輸入輸出模式進(jìn)行數(shù)據(jù)訪問(wèn)。隨著網(wǎng)格技術(shù)及其應(yīng)用的不斷發(fā)展,網(wǎng)格環(huán)境下異構(gòu)數(shù)據(jù)庫(kù)的訪問(wèn)和集成己經(jīng)成為網(wǎng)格研究的重要組成部分。全球網(wǎng)格論壇(GlobalGridForum,簡(jiǎn)稱GGF,)的數(shù)據(jù)庫(kù)訪問(wèn)和集成服務(wù)工作組(DatabaseAccessandIntegrationServicesWorkingGroup,簡(jiǎn)稱DAIS隱WG)正致力于網(wǎng)格數(shù)據(jù)庫(kù)服務(wù)的標(biāo)準(zhǔn)建設(shè),其中包括異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的一致訪問(wèn)規(guī)范、網(wǎng)格框架中數(shù)據(jù)庫(kù)系統(tǒng)的協(xié)同機(jī)制等方面。目前該工作組已經(jīng)提出了網(wǎng)格環(huán)境下數(shù)據(jù)庫(kù)服務(wù)接口的部分規(guī)范,其中涉及關(guān)系數(shù)據(jù)庫(kù)、XML數(shù)據(jù)庫(kù)和索引文件等。英國(guó)e-Science網(wǎng)格計(jì)劃的開(kāi)放網(wǎng)格月艮務(wù)體系框架數(shù)據(jù)訪問(wèn)和集成(OpenGridServicesArchitectureDataAccessandIntegration,簡(jiǎn)稱OGSA-DAI)是支持?jǐn)?shù)據(jù)庫(kù)訪問(wèn)和集成的網(wǎng)格中間件,能夠支持多種數(shù)據(jù)庫(kù)資源的查詢、更新、傳輸和交付,為數(shù)據(jù)庫(kù)資源生成配置文件(例如數(shù)據(jù)庫(kù)的類型、JDBC驅(qū)動(dòng)名、URL、用戶名和口令等),并根據(jù)配置文件自動(dòng)部署GDSF服務(wù),為用戶提供數(shù)據(jù)庫(kù)的查詢和訪問(wèn)服務(wù)。但是OGSA-DAI目前主要側(cè)重于數(shù)據(jù)庫(kù)訪問(wèn)服務(wù),其數(shù)據(jù)庫(kù)資源注冊(cè)不包括其它數(shù)據(jù)庫(kù)模式信息。中科院計(jì)算機(jī)網(wǎng)絡(luò)信息中心提出了一種基于網(wǎng)格服務(wù)的數(shù)據(jù)庫(kù)元數(shù)據(jù)管理框架,在網(wǎng)格服務(wù)(GridService)的基礎(chǔ)之上,使用輕量級(jí)目錄訪問(wèn)協(xié)議(LightweightDirectoryAccessProtocol,簡(jiǎn)稱LDAP)存儲(chǔ)各數(shù)據(jù)庫(kù)的元數(shù)據(jù),使用JDBC(JavaDataBaseConnectivity)實(shí)現(xiàn)異構(gòu)環(huán)境下數(shù)據(jù)庫(kù)的統(tǒng)一訪問(wèn)接口,以網(wǎng)格服務(wù)方式提供元數(shù)據(jù)的訪問(wèn)功能。上述異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)與集成方面的研究工作,對(duì)大學(xué)數(shù)字博物館網(wǎng)格建設(shè)有一定的啟發(fā)和借鑒作用,但也存在一些需要進(jìn)一步探索的問(wèn)題(1)由于UDMGrid的異構(gòu)數(shù)據(jù)庫(kù)資源來(lái)自各個(gè)大學(xué)數(shù)字博物館,數(shù)據(jù)復(fù)制方法可能會(huì)產(chǎn)生數(shù)字標(biāo)本的版權(quán)保護(hù)等問(wèn)題,也可能產(chǎn)生網(wǎng)格存儲(chǔ)資源的浪費(fèi)。(2)由于為UDMGrid的數(shù)據(jù)庫(kù)資源涉及許多不同的學(xué)科和領(lǐng)域,基于數(shù)據(jù)庫(kù)元數(shù)據(jù)方法的網(wǎng)格應(yīng)用經(jīng)常要求數(shù)據(jù)庫(kù)資源的專業(yè)知識(shí)。(3)DAIS-WG和OGSA-DAI的研究工作側(cè)重于多種數(shù)據(jù)庫(kù)的訪問(wèn),難以支持標(biāo)本信息類型相差較大的異構(gòu)數(shù)據(jù)庫(kù)集成工作,并且難以描述UDMGrid數(shù)據(jù)庫(kù)資源的全局模式。
發(fā)明內(nèi)容根據(jù)網(wǎng)格環(huán)境下訪問(wèn)和集成異構(gòu)數(shù)據(jù)庫(kù)資源的實(shí)際需求和關(guān)鍵問(wèn)題,本發(fā)明的目的在于為網(wǎng)格環(huán)境的資源使用者提供異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖和一致訪問(wèn)接口,整合網(wǎng)格節(jié)點(diǎn)的異構(gòu)數(shù)據(jù)庫(kù)資源。為完成本發(fā)明的目的,本發(fā)明提出了一種網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法(DatabaseAccessandIntegrationinGrid,簡(jiǎn)稱Grid-DAI),該方法首先提出了一種模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略,根據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源的學(xué)科或領(lǐng)域類型、網(wǎng)格資源的各種本體,利用模式復(fù)用的虛擬數(shù)據(jù)庫(kù)描述各種數(shù)據(jù)庫(kù)資源,通過(guò)虛擬數(shù)據(jù)庫(kù)模式為資源使用者提供異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖。然后采用資源注冊(cè)的方式,資源提供者確定其數(shù)據(jù)庫(kù)模式與虛擬數(shù)據(jù)庫(kù)模式之間的映射關(guān)系,并且通過(guò)査詢映射方法,將基于虛擬數(shù)據(jù)庫(kù)的査詢請(qǐng)求轉(zhuǎn)換為基于真實(shí)數(shù)據(jù)庫(kù)資源的查詢請(qǐng)求,利用虛擬數(shù)據(jù)庫(kù)服務(wù)為資源使用者提供訪問(wèn)異構(gòu)數(shù)據(jù)庫(kù)的一致接口。最后在包含異構(gòu)數(shù)據(jù)庫(kù)資源的網(wǎng)格環(huán)境下,實(shí)現(xiàn)了從數(shù)據(jù)庫(kù)資源注冊(cè)到使用的全過(guò)程,通過(guò)網(wǎng)格應(yīng)用服務(wù)結(jié)果完成異構(gòu)數(shù)據(jù)庫(kù)資源的整合過(guò)程,使網(wǎng)格應(yīng)用服務(wù)的開(kāi)發(fā)者能夠利用虛擬數(shù)據(jù)庫(kù)服務(wù)的接口獲取來(lái)自異構(gòu)數(shù)據(jù)庫(kù)資源的整合信息。本發(fā)明的優(yōu)點(diǎn)是在網(wǎng)格系統(tǒng)的異構(gòu)數(shù)據(jù)庫(kù)整合過(guò)程中,本發(fā)明提供了靈活的虛擬數(shù)據(jù)庫(kù)機(jī)制,無(wú)論是對(duì)網(wǎng)格系統(tǒng)構(gòu)建者,還是對(duì)資源提供者,或是對(duì)資源使用者,都具有好的實(shí)用性。資源提供者只需要使用客戶端程序即可自動(dòng)完成大部分的注冊(cè)工作;資源使用者通過(guò)虛擬數(shù)據(jù)庫(kù)査詢服務(wù)即可獲得異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖,不需要關(guān)心真實(shí)數(shù)據(jù)庫(kù)資源的地理分布、數(shù)據(jù)庫(kù)模式、語(yǔ)義信息等,并且可以通過(guò)虛擬數(shù)據(jù)庫(kù)服務(wù)的一致接口獲取其所需要的異構(gòu)數(shù)據(jù)庫(kù)資源。圖1是本發(fā)明的Grid-DAI構(gòu)建過(guò)程圖;圖2是虛擬數(shù)據(jù)庫(kù)的樹(shù)林結(jié)構(gòu)圖;圖3是虛擬數(shù)據(jù)庫(kù)管理器圖;圖4是虛擬査詢語(yǔ)句轉(zhuǎn)換算法圖;圖5是Grid-DAI總體結(jié)構(gòu)圖;圖6是異構(gòu)數(shù)據(jù)庫(kù)資源的訪問(wèn)過(guò)程圖;圖7是虛擬數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)圖;圖8是航空航天數(shù)字博物館后臺(tái)數(shù)據(jù)庫(kù)注冊(cè)結(jié)果圖;圖9是"一站式"標(biāo)本信息服務(wù)結(jié)果圖。具體實(shí)施例方式如圖1所示,Grid-DAI的構(gòu)建過(guò)程是根據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源的學(xué)科或領(lǐng)域類型、網(wǎng)格資源的各種本體,利用模式復(fù)用的虛擬數(shù)據(jù)庫(kù)描述各種數(shù)據(jù)庫(kù)資源,通過(guò)虛擬數(shù)據(jù)庫(kù)模式生成異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖;采用資源注冊(cè)的方式,資源提供者確定其數(shù)據(jù)庫(kù)模式與虛擬數(shù)據(jù)庫(kù)模式之間的映射關(guān)系,圖1中虛線箭頭表示資源注冊(cè)過(guò)程;通過(guò)查詢映射方法,將基于虛擬數(shù)據(jù)庫(kù)的査詢請(qǐng)求轉(zhuǎn)換為基于真實(shí)數(shù)據(jù)庫(kù)資源的査詢請(qǐng)求,并利用虛擬數(shù)據(jù)庫(kù)服務(wù)提供訪問(wèn)異構(gòu)數(shù)據(jù)庫(kù)的一致接口。最后在包含異構(gòu)數(shù)據(jù)庫(kù)資源的網(wǎng)格環(huán)境下,實(shí)現(xiàn)從數(shù)據(jù)庫(kù)資源注冊(cè)到使用的全過(guò)程,通過(guò)網(wǎng)格應(yīng)用服務(wù)結(jié)果完成異構(gòu)數(shù)據(jù)庫(kù)資源的整合過(guò)程。異構(gòu)數(shù)據(jù)庫(kù)資源來(lái)自不同的網(wǎng)格節(jié)點(diǎn),隸屬于多種不同的學(xué)科或領(lǐng)域。為了將這些異構(gòu)數(shù)據(jù)庫(kù)整合成按學(xué)科領(lǐng)域劃分的虛擬數(shù)據(jù)庫(kù),同時(shí)避免虛擬數(shù)據(jù)庫(kù)之間的相對(duì)孤立性,本發(fā)明提出了一種模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略。其中的模式復(fù)用,主要是在虛擬數(shù)據(jù)庫(kù)的構(gòu)建過(guò)程中,依據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源隸屬的學(xué)科或領(lǐng)域之間的內(nèi)在聯(lián)系、網(wǎng)格資源的全局本體與局部本體,借鑒面向?qū)ο笤O(shè)計(jì)方法的繼承特性,利用樹(shù)狀結(jié)構(gòu)表現(xiàn)虛擬數(shù)據(jù)庫(kù)之間的繼承關(guān)系,從而減少虛擬數(shù)據(jù)庫(kù)構(gòu)建的重復(fù)性工作,并保留虛擬數(shù)據(jù)庫(kù)之間的內(nèi)在聯(lián)系,也體現(xiàn)了學(xué)科或領(lǐng)域之間的內(nèi)在聯(lián)系。如圖2所示,在大學(xué)數(shù)字博物館網(wǎng)格UDMGrid的虛擬數(shù)據(jù)庫(kù)樹(shù)林中,"人文與社會(huì)學(xué)科"可以繼承"博物館"的虛擬數(shù)據(jù)庫(kù)模式,"考古"與"藝術(shù)"又可以繼承"人文與社會(huì)學(xué)科"的虛擬數(shù)據(jù)庫(kù)模式,這種繼承關(guān)系使子虛擬數(shù)據(jù)庫(kù)能夠復(fù)用父虛擬數(shù)據(jù)庫(kù)的模式。虛擬數(shù)據(jù)庫(kù)可以包含一個(gè)或多個(gè)虛擬表,虛擬表可以包含一個(gè)或多個(gè)虛擬字段,虛擬數(shù)據(jù)庫(kù)、虛擬表和虛擬字段的概念分別類似于關(guān)系數(shù)據(jù)庫(kù)理論中的數(shù)據(jù)庫(kù)(Database)、表(Table)和字段(Column)的概念。具體而言,本發(fā)明的模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略主要包括(1)在創(chuàng)建子節(jié)點(diǎn)虛擬數(shù)據(jù)庫(kù)的虛擬表時(shí),既可以繼承父節(jié)點(diǎn)虛擬數(shù)據(jù)庫(kù)的虛擬表,也可以不繼承任何虛擬表而創(chuàng)建自身的新虛擬表,并且這種繼承關(guān)系具有遞推性,可以一直上溯到根節(jié)點(diǎn)的虛擬數(shù)據(jù)庫(kù)。(2)在創(chuàng)建子節(jié)點(diǎn)虛擬表的虛擬字段時(shí),如果子節(jié)點(diǎn)的虛擬表繼承了父節(jié)點(diǎn)的虛擬表,稱前者為子虛擬表,稱后者為父虛擬表。子虛擬表自動(dòng)具有父虛擬表的所有虛擬字段,其中包括父虛擬表自身創(chuàng)建的虛擬字段和繼承祖父的虛擬字段,并且子虛擬表也可以創(chuàng)建其自身的虛擬字段。(3)根據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源的學(xué)科或領(lǐng)域類型,相近或者相同學(xué)科的虛擬數(shù)據(jù)庫(kù)位于同一棵子樹(shù)內(nèi),相差較遠(yuǎn)學(xué)科的虛擬數(shù)據(jù)庫(kù)位于不同的子樹(shù)中。以上述方式構(gòu)建的模式復(fù)用型虛擬數(shù)據(jù)庫(kù),能夠表現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖。如圖3所示,以UDMGrid中所構(gòu)建的虛擬數(shù)據(jù)庫(kù)模式為例虛擬數(shù)據(jù)庫(kù)"博物館"擁有一個(gè)名為"標(biāo)本"的虛擬表,"標(biāo)本"虛擬表有"名稱"、"類型"、"時(shí)間"、"說(shuō)明"、"圖片路徑"、"二進(jìn)制圖片"等虛擬字段。虛擬數(shù)據(jù)庫(kù)"工程與技術(shù)學(xué)科"是"博物館"的子虛擬數(shù)據(jù)庫(kù),虛擬數(shù)據(jù)庫(kù)"航空航天"是"工程與技術(shù)學(xué)科"的子虛擬數(shù)據(jù)庫(kù),并有兩個(gè)虛擬表"飛機(jī)"和"發(fā)動(dòng)機(jī)",都繼承了祖父的虛擬表"標(biāo)本"。同時(shí),虛擬表"飛機(jī)"和"發(fā)動(dòng)機(jī)"不但繼承了"名稱"、"類型"等虛擬字段,而且"飛機(jī)"創(chuàng)建了"產(chǎn)地"、"速度"和"用途"等自身虛擬字段,"發(fā)動(dòng)機(jī)"創(chuàng)建了"推力"、"轉(zhuǎn)速"等自身虛擬字段。模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略支持兩種繼承關(guān)系其一是虛擬數(shù)據(jù)庫(kù)之間的繼承關(guān)系,這是一種比較"弱"的繼承關(guān)系,這種繼承關(guān)系使得子虛擬數(shù)據(jù)庫(kù)的虛擬表可以繼承父虛擬數(shù)據(jù)庫(kù)的所有虛擬表中的某個(gè)虛擬表,如果子虛擬數(shù)據(jù)庫(kù)的所有虛擬表都沒(méi)有繼承父虛擬數(shù)據(jù)庫(kù)中的虛擬表,則這種繼承關(guān)系沒(méi)有產(chǎn)生作用;其二是虛擬表之間的繼承關(guān)系,這是一種比較"強(qiáng)"的繼承關(guān)系,這種繼承關(guān)系會(huì)使子虛擬表自動(dòng)擁有父虛擬表的所有虛擬字段,也正是這種繼承關(guān)系,使得父虛擬數(shù)據(jù)庫(kù)的模式能夠被子虛擬數(shù)據(jù)庫(kù)所復(fù)用,并且這種復(fù)用的方式具有較大的靈活度。其中,第一種繼承關(guān)系是第二種繼承關(guān)系的基礎(chǔ),第二種繼承關(guān)系是第一種繼承關(guān)系的體現(xiàn)。該策略具有的繼承特性,有利于網(wǎng)格環(huán)境下異構(gòu)數(shù)據(jù)庫(kù)資源的注冊(cè)與映射。數(shù)據(jù)庫(kù)資源提供者在注冊(cè)數(shù)據(jù)庫(kù)資源時(shí),可以選擇一個(gè)與自身最相近的虛擬數(shù)據(jù)庫(kù),設(shè)定其資源與該虛擬數(shù)據(jù)庫(kù)之間的映射關(guān)系。例如UDMGrid在注冊(cè)航空航天數(shù)字博物館數(shù)據(jù)庫(kù)資源時(shí),如果選擇"航空航天"虛擬數(shù)據(jù)庫(kù),在設(shè)定航空航天數(shù)據(jù)庫(kù)與子虛擬表"飛機(jī)"、"發(fā)動(dòng)機(jī)"之間的映射關(guān)系后,由于"飛機(jī)"和"發(fā)動(dòng)機(jī)"繼承了"博物館"的"標(biāo)本"虛擬表,這使航空航天數(shù)據(jù)庫(kù)與父虛擬表"標(biāo)本"之間自動(dòng)建立了同樣的映射關(guān)系,從而減少了數(shù)字博物館資源注冊(cè)的重復(fù)性工作。所以網(wǎng)格應(yīng)用服務(wù)在査詢虛擬數(shù)據(jù)庫(kù)時(shí),無(wú)論是查詢"博物館"還是査詢"航空航天"的"數(shù)據(jù)",都能根據(jù)這些映射關(guān)系而獲得來(lái)自航空航天數(shù)字博物館后臺(tái)數(shù)據(jù)庫(kù)的真實(shí)數(shù)據(jù)。在模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略基礎(chǔ)上,數(shù)據(jù)庫(kù)資源提供者注冊(cè)其所持有的數(shù)據(jù)庫(kù)資源時(shí),需要設(shè)定三方面的信息本地?cái)?shù)據(jù)庫(kù)訪問(wèn)參數(shù)、本地?cái)?shù)據(jù)庫(kù)模式、本地?cái)?shù)據(jù)庫(kù)與虛擬數(shù)據(jù)庫(kù)之間的映射信息。具體而言,主要包括(l)外部網(wǎng)絡(luò)訪問(wèn)本地?cái)?shù)據(jù)庫(kù)所需要的參數(shù)。如果本地?cái)?shù)據(jù)庫(kù)可直接為外網(wǎng)訪問(wèn),這些參數(shù)則包括數(shù)據(jù)庫(kù)的類型、服務(wù)器IP、端口號(hào)、數(shù)據(jù)庫(kù)名稱、只讀用戶與口令等。如果外網(wǎng)不能直接訪問(wèn)本地?cái)?shù)據(jù)庫(kù),可以使用一個(gè)部署在WebServices容器中的Web服務(wù),作為本地?cái)?shù)據(jù)庫(kù)訪問(wèn)的代理服務(wù),提供者只需提供該Web服務(wù)的地址和訪問(wèn)參數(shù)。(2)本地?cái)?shù)據(jù)庫(kù)表和視圖的模式信息。在資源提供者設(shè)置上述的訪問(wèn)參數(shù)之后,客戶端軟件能夠自動(dòng)注冊(cè)本地?cái)?shù)據(jù)庫(kù)表和視圖的模式信息。(3)本地?cái)?shù)據(jù)庫(kù)模式和虛擬數(shù)據(jù)庫(kù)模式之間的映射關(guān)系信息。主要指本地?cái)?shù)據(jù)庫(kù)中某一個(gè)字段到虛擬數(shù)據(jù)庫(kù)中某一個(gè)虛擬字段之間的映射關(guān)系,其映射關(guān)系可以定義為映射關(guān)系信息(Mappinglnformation)是映射規(guī)則(MappingRule)集合的子集,一條映射規(guī)則包括字段映射(ColumnMapping)子集和表間關(guān)系(TableRelation)子集,并且字段映射子集的所有元素必須針對(duì)同一虛擬表(VirtualTable)。該定義也可以表示為Re/ariora={"=","<",">","<>",">=","<=","ZJA:£"}其中MappingRule為映射規(guī)則的集合;ColumnMapping為字段映射的集合;TableRelation為表間關(guān)系的集合;Columns為本地?cái)?shù)據(jù)庫(kù)中字段的集合;VirtualColumns為虛擬數(shù)據(jù)庫(kù)中虛擬字段的集合;Relations為邏輯關(guān)系的集合。在虛擬數(shù)據(jù)庫(kù)的査詢映射之前,資源使用者首先要確定與網(wǎng)格應(yīng)用相關(guān)的一個(gè)或多個(gè)虛擬數(shù)據(jù)庫(kù)。由于父虛擬數(shù)據(jù)庫(kù)能夠自動(dòng)具有子虛擬數(shù)據(jù)庫(kù)中所設(shè)定的部分映射關(guān)系,所以網(wǎng)格應(yīng)用開(kāi)發(fā)者可以選擇虛擬數(shù)據(jù)庫(kù)樹(shù)林中的任何一個(gè)虛擬數(shù)據(jù)庫(kù)節(jié)點(diǎn)進(jìn)行訪問(wèn)。如果資源使用者期望獲得比較"專業(yè)"的數(shù)據(jù),則可以選擇虛擬數(shù)據(jù)庫(kù)中靠近下層的虛擬數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),如果資源使用者期望獲得更廣泛的數(shù)據(jù),則可以選擇虛擬數(shù)據(jù)庫(kù)中靠近上層的虛擬數(shù)據(jù)庫(kù),這樣可以獲得來(lái)自更多真實(shí)數(shù)據(jù)庫(kù)中的數(shù)據(jù),但也是損失了一部分?jǐn)?shù)據(jù)的"精度"。例如,如果UDMGrid的資源使用者訪問(wèn)"博物館"虛擬數(shù)據(jù)庫(kù)中的"標(biāo)本"虛擬表時(shí),就肯定不能獲取到"推力"這一虛擬字段所對(duì)應(yīng)的數(shù)據(jù),因?yàn)?推力"是"航空航天"虛擬數(shù)據(jù)庫(kù)中"發(fā)動(dòng)機(jī)"虛擬表所特有的;另一方面,如果資源使用者訪問(wèn)"發(fā)動(dòng)機(jī)"虛擬表,則可以順利獲得"推力"所對(duì)應(yīng)的數(shù)據(jù),但不能獲得"考古"虛擬數(shù)據(jù)庫(kù)中的"出土地"虛擬字段對(duì)應(yīng)的數(shù)據(jù)。所以,在虛擬數(shù)據(jù)庫(kù)的選擇過(guò)程中,"精度"和"廣度"是一對(duì)矛盾,資源使用者可以根據(jù)具體應(yīng)用的需求特點(diǎn)選擇合適的虛擬數(shù)據(jù)庫(kù),從而在"精度"和"廣度"之間獲得平衡點(diǎn)。模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略,為資源使用者提供了選擇虛擬數(shù)據(jù)庫(kù)的靈活性,同時(shí)也沒(méi)有增加系統(tǒng)構(gòu)建者和資源提供者在初始化工作過(guò)程中的負(fù)擔(dān)。根據(jù)模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略,在數(shù)據(jù)庫(kù)資源注冊(cè)與虛擬數(shù)據(jù)庫(kù)選擇的基礎(chǔ)上,本發(fā)明給出了虛擬數(shù)據(jù)庫(kù)查詢映射算法,主要包括(1)虛擬查詢語(yǔ)句的轉(zhuǎn)換。根據(jù)數(shù)據(jù)庫(kù)資源注冊(cè)確定的映射關(guān)系,將資源使用者對(duì)虛擬數(shù)據(jù)庫(kù)的査詢語(yǔ)句(即虛擬查詢語(yǔ)句),轉(zhuǎn)換為多個(gè)真實(shí)數(shù)據(jù)庫(kù)的真實(shí)查詢語(yǔ)句。(2)數(shù)據(jù)庫(kù)查詢結(jié)果的整合。將來(lái)自各真實(shí)數(shù)據(jù)庫(kù)的查詢響應(yīng)整合為一個(gè)結(jié)果集,該結(jié)果集的元數(shù)據(jù)結(jié)構(gòu)能夠匹配所訪問(wèn)的虛擬數(shù)據(jù)庫(kù)模式。請(qǐng)見(jiàn)圖4,映射算法具體步驟如下(1)使用正則表達(dá)式分析虛擬査詢語(yǔ)句,提取其虛擬字段、虛擬表、查詢條件與排序規(guī)則;(2)根據(jù)虛擬表名獲取到該虛擬表的所有虛擬字段與映射規(guī)則(MappingRule);(3)判斷虛擬查詢語(yǔ)句中出現(xiàn)的虛擬字段是否為虛擬表虛擬字段的子集,否則拋出異常,返回空的真實(shí)査詢語(yǔ)句列表;(4)遍歷映射規(guī)則列表,針對(duì)每一條映射規(guī)則,執(zhí)行步驟(5)(10);(5)獲取該映射規(guī)則的字段映射(ColumnMapping)列表和表間關(guān)系(TableRelation)列表;(6)對(duì)于虛擬査詢語(yǔ)句中的每一個(gè)虛擬字段,根據(jù)字段映射列表,找出其對(duì)應(yīng)的真實(shí)字段,生成轉(zhuǎn)換后真實(shí)查詢語(yǔ)句的SELECT部分;(7)根據(jù)表間關(guān)系列表,生成聯(lián)表檢索條件,生成真實(shí)查詢語(yǔ)句中FROM部分和WHERE部分(部分內(nèi)容);(8)根據(jù)虛擬語(yǔ)句的査詢條件和字段映射列表,生成真實(shí)査詢語(yǔ)句中WHERE部分的后續(xù)內(nèi)容;(9)根據(jù)虛擬査詢語(yǔ)句中的排序規(guī)則,生成真實(shí)查詢語(yǔ)句的排序規(guī)則;(10)合成真實(shí)査詢語(yǔ)句,并將此語(yǔ)句加入到返回值中;(11)待所有映射規(guī)則均已處理完畢后,返回真實(shí)査詢語(yǔ)句列表。根據(jù)本發(fā)明模式復(fù)用的虛擬數(shù)據(jù)庫(kù)構(gòu)建策略,以及數(shù)據(jù)庫(kù)資源注冊(cè)、虛擬數(shù)據(jù)庫(kù)選擇和虛擬數(shù)據(jù)庫(kù)査詢映射等方式,可設(shè)計(jì)實(shí)現(xiàn)網(wǎng)格環(huán)境下異構(gòu)數(shù)據(jù)庫(kù)的訪問(wèn)和集成方法。如圖5所示,Grid-DAI總體結(jié)構(gòu)主要包括七個(gè)部分(1)虛擬數(shù)據(jù)庫(kù)管理器(VDBManagement),在應(yīng)用系統(tǒng)構(gòu)建過(guò)程中,領(lǐng)域?qū)<一蛳到y(tǒng)構(gòu)建者使用其來(lái)維護(hù)虛擬數(shù)據(jù)庫(kù)的模式(VDBSchema);(2)數(shù)據(jù)庫(kù)資源注冊(cè)服務(wù)與客戶端(ReslnitService,ReslnitClient),數(shù)據(jù)庫(kù)資源提供者在向應(yīng)用系統(tǒng)注冊(cè)其數(shù)據(jù)庫(kù)資源時(shí),使用該客戶端自動(dòng)注冊(cè)其持有的數(shù)據(jù)庫(kù)模式,并設(shè)定其數(shù)據(jù)庫(kù)資源與虛擬數(shù)據(jù)庫(kù)之間的映射關(guān)系;(3)數(shù)據(jù)庫(kù)訪問(wèn)代理(AccessAgent),為Grid-DAI中其它模塊(如資源監(jiān)測(cè)服務(wù),査詢與響應(yīng)轉(zhuǎn)換服務(wù)等)提供數(shù)據(jù)庫(kù)訪問(wèn)服務(wù),該代理可以支持對(duì)各數(shù)據(jù)庫(kù)資源的并行訪問(wèn);(4)虛擬數(shù)據(jù)庫(kù)査詢服務(wù)(VDBSGR),網(wǎng)格應(yīng)用服務(wù)(GAS)或其它客戶端,通過(guò)虛擬數(shù)據(jù)庫(kù)查詢服務(wù),獲取應(yīng)用系統(tǒng)中的虛擬數(shù)據(jù)庫(kù)模式信息;(5)虛擬數(shù)據(jù)庫(kù)服務(wù)(VDBS),網(wǎng)格應(yīng)用服務(wù)或其它客戶端通過(guò)訪問(wèn)虛擬數(shù)據(jù)庫(kù)服務(wù)獲得來(lái)自各異構(gòu)數(shù)據(jù)庫(kù)中的信息,為了盡量避免虛擬數(shù)據(jù)庫(kù)集中處理應(yīng)用査詢請(qǐng)求而降低系統(tǒng)效率,可以在網(wǎng)格系統(tǒng)中部署多個(gè)虛擬數(shù)據(jù)庫(kù)服務(wù)以分流査詢請(qǐng)求;(6)査詢與響應(yīng)轉(zhuǎn)換服務(wù)(Req/ResTranServ),將資源使用者對(duì)虛擬數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求轉(zhuǎn)換為對(duì)真實(shí)數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求,并將來(lái)自多個(gè)真實(shí)數(shù)據(jù)庫(kù)的響應(yīng),整合為針對(duì)一個(gè)虛擬數(shù)據(jù)庫(kù)的響應(yīng);(7)資源監(jiān)測(cè)服務(wù)(ResMonitor),定期通過(guò)數(shù)據(jù)庫(kù)訪問(wèn)代理監(jiān)測(cè)已注冊(cè)數(shù)據(jù)庫(kù)資源的狀態(tài);(8)元數(shù)據(jù)目錄,用來(lái)存儲(chǔ)虛擬數(shù)據(jù)庫(kù)模式、數(shù)據(jù)庫(kù)資源元數(shù)據(jù)和數(shù)據(jù)庫(kù)資源到虛擬數(shù)據(jù)庫(kù)之間的映射信息。其中,數(shù)據(jù)庫(kù)資源注冊(cè)服務(wù)、虛擬數(shù)據(jù)庫(kù)査詢服務(wù)、虛擬數(shù)據(jù)庫(kù)服務(wù)等部署在網(wǎng)格服務(wù)容器中,分別被數(shù)據(jù)庫(kù)資源注冊(cè)客戶端、網(wǎng)格應(yīng)用服務(wù)(GridApplicationService,簡(jiǎn)稱GAS)或其它客戶端調(diào)用。如圖6所示,利用本發(fā)明的Grid-DAI,UDMGrid的網(wǎng)格應(yīng)用服務(wù)訪問(wèn)異構(gòu)數(shù)據(jù)庫(kù)資源的過(guò)程為(1)網(wǎng)格應(yīng)用服務(wù)向Grid-DAI的虛擬數(shù)據(jù)庫(kù)提交訪問(wèn)請(qǐng)求;(2)虛擬數(shù)據(jù)庫(kù)服務(wù)將査詢請(qǐng)求遞交給査詢映射服務(wù);(3)査詢映射服務(wù)訪問(wèn)數(shù)據(jù)庫(kù)元數(shù)據(jù)目錄,結(jié)合虛擬數(shù)據(jù)庫(kù)模式,將對(duì)虛擬數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求通過(guò)前文給出的虛擬數(shù)據(jù)庫(kù)査詢映射算法轉(zhuǎn)換為對(duì)相應(yīng)真實(shí)數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求;(4)查詢映射服務(wù)通過(guò)訪問(wèn)代理,順次或并行訪問(wèn)真實(shí)的異構(gòu)數(shù)據(jù)庫(kù)資源;(5)査詢映射服務(wù)將依次得到的査詢響應(yīng)合并成一個(gè)結(jié)果,返回給虛擬數(shù)據(jù)庫(kù)服務(wù);(6)虛擬數(shù)據(jù)庫(kù)服務(wù)將整合后的查詢響應(yīng)返回給網(wǎng)格應(yīng)用服務(wù);(7)虛擬數(shù)據(jù)庫(kù)服務(wù)將查詢響應(yīng)返回給網(wǎng)格應(yīng)用服務(wù),完成一次訪問(wèn)過(guò)程,使網(wǎng)格應(yīng)用服務(wù)的開(kāi)發(fā)者能夠利用虛擬數(shù)據(jù)庫(kù)服務(wù)的接口獲取來(lái)自異構(gòu)數(shù)據(jù)庫(kù)資源的整合信息。為了驗(yàn)證Grid-DAI在異構(gòu)數(shù)據(jù)庫(kù)資源整合方面的正確性和實(shí)用性,在中國(guó)教育科研網(wǎng)格環(huán)境下,以大學(xué)數(shù)字博物館網(wǎng)格UDMGrid為典型應(yīng)用示范,首先由系統(tǒng)構(gòu)建者和領(lǐng)域?qū)<覄?chuàng)建UDMGrid數(shù)據(jù)庫(kù)資源的全局模式,然后由數(shù)據(jù)庫(kù)資源提供者在UDMGrid注冊(cè)其提供的數(shù)據(jù)庫(kù)資源,最后由網(wǎng)格應(yīng)用服務(wù)的開(kāi)發(fā)者使用虛擬數(shù)據(jù)庫(kù)服務(wù)提供的接口獲取來(lái)自異構(gòu)數(shù)據(jù)庫(kù)資源的整合信息。圖7是虛擬數(shù)據(jù)庫(kù)的構(gòu)建過(guò)程,根據(jù)領(lǐng)域?qū)<业慕ㄗh構(gòu)建了"博物館"、"航空航天"、"考古"等虛擬數(shù)據(jù)庫(kù)。圖8描述了航空航天數(shù)字博物館數(shù)據(jù)庫(kù)資源的注冊(cè)過(guò)程,將資源數(shù)據(jù)庫(kù)的"Model"等表映射為"飛機(jī)"和"發(fā)動(dòng)機(jī)"等虛擬表。所以,UDMGrid利用"博物館"虛擬數(shù)據(jù)庫(kù)開(kāi)發(fā)的"一站式"標(biāo)本信息服務(wù),能夠支持用戶通過(guò)UDMGrid門(mén)戶獲得來(lái)自多個(gè)異構(gòu)數(shù)字博物館資源的標(biāo)本信息。例如,用戶輸入標(biāo)本名稱"馬",設(shè)定査詢范圍為已注冊(cè)數(shù)字博物館資源,在提交任務(wù)之后獲得的信息服務(wù)結(jié)果如圖9所示。左上角為來(lái)自中山大學(xué)生物數(shù)字博物館中的"斑馬",右上角為來(lái)自中國(guó)農(nóng)業(yè)大學(xué)昆蟲(chóng)數(shù)字博物館的石雕"馬上蠅",左下角為來(lái)自航空航天數(shù)字博物館的"野馬"戰(zhàn)斗機(jī),右下角為來(lái)自山東大學(xué)考古數(shù)字博物館的西漢時(shí)期文物"車馬器"。本次服務(wù)從清華大學(xué)美術(shù)數(shù)字博物館、西安建筑科技大學(xué)建筑數(shù)字博物館、航空航天數(shù)字博物館等12個(gè)數(shù)字博物館的異構(gòu)數(shù)據(jù)庫(kù)中,共獲得878條數(shù)據(jù)庫(kù)標(biāo)本信息、1249條Web標(biāo)本信息,用時(shí)5分22秒。在網(wǎng)格系統(tǒng)的異構(gòu)數(shù)據(jù)庫(kù)整合過(guò)程中,本發(fā)明提供了靈活的虛擬數(shù)據(jù)庫(kù)機(jī)制,無(wú)論是對(duì)網(wǎng)格系統(tǒng)構(gòu)建者,還是對(duì)資源提供者,或是對(duì)資源使用者,都具有好的實(shí)用性。資源提供者只需要使用客戶端程序即可自動(dòng)完成大部分的注冊(cè)工作;資源使用者通過(guò)虛擬數(shù)據(jù)庫(kù)查詢服務(wù)即可獲得異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖,不需要關(guān)心真實(shí)數(shù)據(jù)庫(kù)資源的地理分布、數(shù)據(jù)庫(kù)模式、語(yǔ)義信息等,并且可以通過(guò)虛擬數(shù)據(jù)庫(kù)服務(wù)的一致接口獲取其所需要的異構(gòu)數(shù)據(jù)庫(kù)資源。<table>tableseeoriginaldocumentpage12</column></row><table>表1如表1所示,與OGSA-DAI、OGSA-DQP比較,Grid-DAI主要針對(duì)的是數(shù)據(jù)庫(kù)資源的統(tǒng)一視圖問(wèn)題,更側(cè)重于對(duì)異構(gòu)數(shù)據(jù)庫(kù)的集成;OGSA-DAI和OGSA-DQP雖然提供了統(tǒng)一訪問(wèn)接口并支持分布式查詢?cè)u(píng)估,但并不提供數(shù)據(jù)庫(kù)資源的全局視圖。以上所述僅為本發(fā)明的一些基本說(shuō)明,依據(jù)本發(fā)明的技術(shù)方案所做的任何等效變換,均應(yīng)屬于本發(fā)明的保護(hù)范圍。權(quán)利要求1.一種網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于包括以下步驟步驟1)根據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源的學(xué)科或領(lǐng)域類型、網(wǎng)格資源的各種本體,利用模式復(fù)用的虛擬數(shù)據(jù)庫(kù)描述各種數(shù)據(jù)庫(kù)資源,通過(guò)虛擬數(shù)據(jù)庫(kù)模式為資源使用者提供異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖;步驟2)采用資源注冊(cè)的方式,資源提供者確定其數(shù)據(jù)庫(kù)模式與虛擬數(shù)據(jù)庫(kù)模式之間的映射關(guān)系,并且通過(guò)查詢映射方法,將基于虛擬數(shù)據(jù)庫(kù)的查詢請(qǐng)求轉(zhuǎn)換為基于真實(shí)數(shù)據(jù)庫(kù)資源的查詢請(qǐng)求,利用虛擬數(shù)據(jù)庫(kù)服務(wù)為資源使用者提供訪問(wèn)數(shù)據(jù)庫(kù)的一致接口;步驟3)通過(guò)網(wǎng)格應(yīng)用服務(wù)結(jié)果完成異構(gòu)數(shù)據(jù)庫(kù)資源的整合過(guò)程,使網(wǎng)格應(yīng)用服務(wù)的開(kāi)發(fā)者能夠利用虛擬數(shù)據(jù)庫(kù)服務(wù)的接口獲取來(lái)自異構(gòu)數(shù)據(jù)庫(kù)資源的整合信息。2.如權(quán)利要求1所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于所述步驟l)中的模式復(fù)用,是指在虛擬數(shù)據(jù)庫(kù)的構(gòu)建過(guò)程中,依據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源隸屬的學(xué)科或領(lǐng)域之間的內(nèi)在聯(lián)系、網(wǎng)格資源的全局本體與局部本體,借鑒面向?qū)ο笤O(shè)計(jì)方法的繼承特性,利用樹(shù)狀結(jié)構(gòu)表現(xiàn)虛擬數(shù)據(jù)庫(kù)之間的繼承關(guān)系,并保留虛擬數(shù)據(jù)庫(kù)之間的內(nèi)在聯(lián)系,從而減少虛擬數(shù)據(jù)庫(kù)構(gòu)建的重復(fù)性工作,也體現(xiàn)了異構(gòu)數(shù)據(jù)庫(kù)資源的學(xué)科或領(lǐng)域之間的內(nèi)在聯(lián)系。3.如權(quán)利要求2所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于在虛擬數(shù)據(jù)庫(kù)樹(shù)林中,虛擬數(shù)據(jù)庫(kù)包含一個(gè)或多個(gè)虛擬表,虛擬表包含一個(gè)或多個(gè)虛擬字段,虛擬數(shù)據(jù)庫(kù)、虛擬表和虛擬字段的概念分別類似于關(guān)系數(shù)據(jù)庫(kù)理論中的數(shù)據(jù)庫(kù)、表和字段的概念,這種繼承關(guān)系使子虛擬數(shù)據(jù)庫(kù)能夠復(fù)用父虛擬數(shù)據(jù)庫(kù)的模式。4.如權(quán)利要求3所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于在創(chuàng)建子節(jié)點(diǎn)虛擬數(shù)據(jù)庫(kù)的虛擬表時(shí),既可以繼承父節(jié)點(diǎn)虛擬數(shù)據(jù)庫(kù)的虛擬表,也可以不繼承任何虛擬表而創(chuàng)建自身的新虛擬表,并且這種繼承關(guān)系具有遞推性,可以一直上溯到根節(jié)點(diǎn)的虛擬數(shù)據(jù)庫(kù);在創(chuàng)建子節(jié)點(diǎn)虛擬表的虛擬字段時(shí),如果子節(jié)點(diǎn)的虛擬表繼承了父節(jié)點(diǎn)的虛擬表,稱前者為子虛擬表,稱后者為父虛擬表,子虛擬表自動(dòng)具有父虛擬表的所有虛擬字段,其中包括父虛擬表自身創(chuàng)建的虛擬字段和繼承祖父的虛擬字段,并且子虛擬表也可以創(chuàng)建其自身的虛擬字段;根據(jù)異構(gòu)數(shù)據(jù)庫(kù)資源的學(xué)科或領(lǐng)域類型,相近或者相同學(xué)科的虛擬數(shù)據(jù)庫(kù)位于同一棵子樹(shù)內(nèi),相差較遠(yuǎn)學(xué)科的虛擬數(shù)據(jù)庫(kù)位于不同的子樹(shù)中。5.如權(quán)利要求1所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于:在所述步驟2)中,數(shù)據(jù)庫(kù)資源提供者注冊(cè)其所持有的數(shù)據(jù)庫(kù)資源時(shí),需要設(shè)定三方面的信息本地?cái)?shù)據(jù)庫(kù)訪問(wèn)參數(shù)、本地?cái)?shù)據(jù)庫(kù)模式、本地?cái)?shù)據(jù)庫(kù)與虛擬數(shù)據(jù)庫(kù)之間的映射關(guān)系{曰息。6.如權(quán)利要求5所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于:所述本地?cái)?shù)據(jù)庫(kù)訪問(wèn)參數(shù)是指外部網(wǎng)絡(luò)訪問(wèn)本地?cái)?shù)據(jù)庫(kù)所需要的參數(shù),如果本地?cái)?shù)據(jù)庫(kù)可直接為外網(wǎng)訪問(wèn),這些參數(shù)則包括數(shù)據(jù)庫(kù)的類型、服務(wù)器IP、端口號(hào)、數(shù)據(jù)庫(kù)名稱、只讀用戶與口令等;如果外網(wǎng)不能直接訪問(wèn)本地?cái)?shù)據(jù)庫(kù),則使用部署在WebServices容器中的Web服務(wù)作為本地?cái)?shù)據(jù)庫(kù)訪問(wèn)的代理服務(wù),提供者只需提供該Web服務(wù)的地址和訪問(wèn)參數(shù)。7.如權(quán)利要求5所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于所述本地?cái)?shù)據(jù)庫(kù)模式是指本地?cái)?shù)據(jù)庫(kù)表和視圖的模式信息。8.如權(quán)利要求5所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于:所述本地?cái)?shù)據(jù)庫(kù)模式和虛擬數(shù)據(jù)庫(kù)模式之間的映射關(guān)系信息是指本地?cái)?shù)據(jù)庫(kù)中某一個(gè)字段到虛擬數(shù)據(jù)庫(kù)中某一個(gè)虛擬字段之間的映射關(guān)系,其映射關(guān)系可以定義為映射關(guān)系信息是映射規(guī)則集合的子集,一條映射規(guī)則包括字段映射子集和表間關(guān)系子集,并且字段映射子集的所有元素必須針對(duì)同一虛擬表。9.如權(quán)利要求1所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于在所述步驟2)中,虛擬數(shù)據(jù)庫(kù)的査詢映射方法具體包括以下步驟-使用正則表達(dá)式分析虛擬査詢語(yǔ)句,提取其虛擬字段、虛擬表、查詢條件與排序規(guī)則;根據(jù)虛擬表名獲取到該虛擬表的所有虛擬字段與映射規(guī)則;判斷虛擬查詢語(yǔ)句中出現(xiàn)的虛擬字段是否為虛擬表虛擬字段的子集,否則拋出異常,返回空的真實(shí)査詢語(yǔ)句列表;遍歷映射規(guī)則列表,針對(duì)每一條映射規(guī)則,執(zhí)行以下步驟,待所有映射規(guī)則均已處理完畢后,返回真實(shí)査詢語(yǔ)句列表;獲取該映射規(guī)則的字段映射列表和表間關(guān)系列表;對(duì)于虛擬查詢語(yǔ)句中的每一個(gè)虛擬字段,根據(jù)字段映射列表,找出其對(duì)應(yīng)的真實(shí)字段,生成轉(zhuǎn)換后真實(shí)査詢語(yǔ)句的SELECT部分;根據(jù)表間關(guān)系列表,生成聯(lián)表檢索條件,生成真實(shí)査詢語(yǔ)句中FROM部分和WHERE部分;根據(jù)虛擬語(yǔ)句的查詢條件和字段映射列表,生成真實(shí)查詢語(yǔ)句中WHERE部分的后續(xù)內(nèi)容;根據(jù)虛擬査詢語(yǔ)句中的排序規(guī)則,生成真實(shí)査詢語(yǔ)句的排序規(guī)則;合成真實(shí)查詢語(yǔ)句,并將此語(yǔ)句加入到返回值中。10.如權(quán)利要求1所述的網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,其特征在于在所述步驟3)中,通過(guò)網(wǎng)格應(yīng)用服務(wù)結(jié)果完成異構(gòu)數(shù)據(jù)庫(kù)資源的整合過(guò)程包括以下步驟3.1)網(wǎng)格應(yīng)用服務(wù)向Grid-DAI的虛擬數(shù)據(jù)庫(kù)提交訪問(wèn)請(qǐng)求;3.2)虛擬數(shù)據(jù)庫(kù)服務(wù)將查詢請(qǐng)求遞交給査詢映射服務(wù);3.3)査詢映射服務(wù)訪問(wèn)數(shù)據(jù)庫(kù)元數(shù)據(jù)目錄,結(jié)合虛擬數(shù)據(jù)庫(kù)模式,將對(duì)虛擬數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求轉(zhuǎn)換為對(duì)相應(yīng)真實(shí)數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求;3.4)査詢映射服務(wù)通過(guò)訪問(wèn)代理,順次或并行訪問(wèn)真實(shí)的異構(gòu)數(shù)據(jù)庫(kù)資源;3.5)查詢映射服務(wù)將整合后的査詢響應(yīng)返回給虛擬數(shù)據(jù)庫(kù)服務(wù);3.6)虛擬數(shù)據(jù)庫(kù)服務(wù)將整合后的査詢響應(yīng)返回給網(wǎng)格應(yīng)用服務(wù);3.7)通過(guò)網(wǎng)格應(yīng)用服務(wù)結(jié)果完成異構(gòu)數(shù)據(jù)庫(kù)資源的整合過(guò)程,使網(wǎng)格應(yīng)用服務(wù)的開(kāi)發(fā)者能夠利用虛擬數(shù)據(jù)庫(kù)服務(wù)的接口獲取來(lái)自異構(gòu)數(shù)據(jù)庫(kù)資源的整合信息。全文摘要本發(fā)明為網(wǎng)格環(huán)境下模式復(fù)用的異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)和集成方法,它首先用模式復(fù)用的虛擬數(shù)據(jù)庫(kù)描述各種數(shù)據(jù)庫(kù)資源,提供異構(gòu)數(shù)據(jù)庫(kù)資源的全局統(tǒng)一視圖;然后用資源注冊(cè)方式,資源提供者確定其數(shù)據(jù)庫(kù)模式與虛擬數(shù)據(jù)庫(kù)模式之間的映射關(guān)系,通過(guò)查詢映射方法將基于虛擬數(shù)據(jù)庫(kù)的查詢請(qǐng)求轉(zhuǎn)換為基于真實(shí)數(shù)據(jù)庫(kù)資源的查詢請(qǐng)求,利用虛擬數(shù)據(jù)庫(kù)服務(wù)為資源使用者提供訪問(wèn)異構(gòu)數(shù)據(jù)庫(kù)的一致接口;最后在包含異構(gòu)數(shù)據(jù)庫(kù)資源的網(wǎng)格環(huán)境下,實(shí)現(xiàn)從數(shù)據(jù)庫(kù)資源注冊(cè)到使用的全過(guò)程,通過(guò)網(wǎng)格應(yīng)用服務(wù)結(jié)果完成異構(gòu)數(shù)據(jù)庫(kù)資源的整合過(guò)程,使網(wǎng)格應(yīng)用服務(wù)的開(kāi)發(fā)者能夠利用虛擬數(shù)據(jù)庫(kù)服務(wù)的接口獲取來(lái)自異構(gòu)數(shù)據(jù)庫(kù)資源的整合信息。本發(fā)明具有好的實(shí)用性,資源提供者只需使用客戶端程序即可自動(dòng)完成大部分的注冊(cè)工作;資源使用者不需要關(guān)心真實(shí)數(shù)據(jù)庫(kù)資源的地理分布、數(shù)據(jù)庫(kù)模式、語(yǔ)義信息等就可以通過(guò)虛擬數(shù)據(jù)庫(kù)服務(wù)的一致接口獲取所需的異構(gòu)數(shù)據(jù)庫(kù)資源。文檔編號(hào)G06F17/30GK101187937SQ20071017655公開(kāi)日2008年5月28日申請(qǐng)日期2007年10月30日優(yōu)先權(quán)日2007年10月30日發(fā)明者潘章晟,趙沁平,陳小武申請(qǐng)人:北京航空航天大學(xué)