異構(gòu)數(shù)據(jù)庫(kù)的集成技術(shù)_第1頁(yè)
異構(gòu)數(shù)據(jù)庫(kù)的集成技術(shù)_第2頁(yè)
異構(gòu)數(shù)據(jù)庫(kù)的集成技術(shù)_第3頁(yè)
異構(gòu)數(shù)據(jù)庫(kù)的集成技術(shù)_第4頁(yè)
異構(gòu)數(shù)據(jù)庫(kù)的集成技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、異構(gòu)數(shù)據(jù)庫(kù)集成技術(shù)在高校學(xué)生信息管理系統(tǒng)中的應(yīng)用引言隨著校園的信息化建設(shè)的飛速發(fā)展,異構(gòu)數(shù)據(jù)庫(kù)集成技術(shù)起著越來(lái)越重要的作用。由于部門業(yè)務(wù)和功能歸屬不同,各應(yīng)用系統(tǒng)開(kāi)發(fā)時(shí)采用了不同的軟硬件環(huán)境數(shù)據(jù)的這種按部門或功能進(jìn)行組織和管理,把很多信息都分開(kāi)化啦!正好,異構(gòu)數(shù)據(jù)集成是把不同來(lái)源、格式、特點(diǎn)性質(zhì)的數(shù)據(jù)在邏輯上或物理上有機(jī)地集中,從而為企業(yè)提供全面的數(shù)據(jù)共享。不同的數(shù)據(jù)庫(kù)所存儲(chǔ)的形式也各不相同,比如,教學(xué)管理數(shù)據(jù)庫(kù)主要就是用于儲(chǔ)存管理應(yīng)用處理層所需的數(shù)據(jù)資料。不同教育機(jī)構(gòu)建立的各自的應(yīng)用控制系統(tǒng)中也建設(shè)了各自的數(shù)據(jù)庫(kù),但由于缺乏統(tǒng)一協(xié)調(diào),各數(shù)據(jù)庫(kù)系統(tǒng)在建立時(shí)都是從各自的需求出發(fā),沒(méi)有統(tǒng)一的數(shù)據(jù)庫(kù)

2、,這就使得各數(shù)據(jù)庫(kù)之間無(wú)法互連!互通,信息資源無(wú)法融合共享論文對(duì)異構(gòu)數(shù)據(jù)庫(kù)集成展開(kāi)研究,建立教學(xué)管理綜合數(shù)據(jù)庫(kù)系統(tǒng),以適應(yīng)不同平臺(tái)!不同部門數(shù)據(jù)庫(kù)之間的數(shù)據(jù)共享。要怎么才能實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下的信息共享?就要求必須聯(lián)合各個(gè)異構(gòu)數(shù)據(jù)庫(kù)即集成多個(gè)數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)之間的數(shù)據(jù)信息資源合并和共享,顯然,每個(gè)數(shù)據(jù)庫(kù)系統(tǒng)在加入異構(gòu)數(shù)據(jù)庫(kù)集成系統(tǒng)之前本身就已存在,擁有自己的DBMS。異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)是指異構(gòu)的多數(shù)據(jù)庫(kù)系統(tǒng),即組成它的成員數(shù)據(jù)庫(kù)具有的硬件、系統(tǒng)軟件(例如操作系統(tǒng))或通信支持不同,或者成員數(shù)據(jù)庫(kù)具有不同的DBMS或具有不同的數(shù)據(jù)語(yǔ)義DBMS的不同表現(xiàn)在表達(dá)(結(jié)構(gòu)和限制)和語(yǔ)義兩方面。網(wǎng)絡(luò)上存在著

3、大量異構(gòu)的數(shù)據(jù)庫(kù),它們的異構(gòu)性表現(xiàn)在多個(gè)方面,如數(shù)據(jù)的類型不同,數(shù)據(jù)的表示不同,管理數(shù)據(jù)的軟件不同,以及系統(tǒng)運(yùn)行的環(huán)境不同。隨著企業(yè)合作和政務(wù)電子化的發(fā)展,許多信息系統(tǒng)需要訪問(wèn)這些異構(gòu)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。因此,需要一種新的系統(tǒng)框架來(lái)解決多個(gè)異構(gòu)數(shù)據(jù)庫(kù)的信息集成,其前提是必須對(duì)用戶透明,并保持本地?cái)?shù)據(jù)庫(kù)的自治性。1 異構(gòu)數(shù)據(jù)庫(kù)集成技術(shù)1.1 聯(lián)邦數(shù)據(jù)庫(kù)技術(shù)聯(lián)邦數(shù)據(jù)庫(kù)系統(tǒng)(FederatedDatabases)禍合較松一些沒(méi)有單一的全局策略,每個(gè)局部數(shù)據(jù)庫(kù)維護(hù)一個(gè)本地輸入輸出策略,輸出策略指明了本地系統(tǒng)提供的全局共享數(shù)據(jù),輸入策略指明了允許輸入本地系統(tǒng)的來(lái)自遠(yuǎn)程節(jié)點(diǎn)的數(shù)據(jù)局部輸入輸出策略構(gòu)成了全局策略

4、的一部分這種系統(tǒng)只集成局部系統(tǒng)中的部分?jǐn)?shù)據(jù),因而使得局部系統(tǒng)有較好的自治性聯(lián)邦數(shù)據(jù)庫(kù)是最簡(jiǎn)單的一種異構(gòu)數(shù)據(jù)庫(kù)集成方式:各個(gè)數(shù)據(jù)源是相互獨(dú)立的但通過(guò)數(shù)據(jù)源之間的數(shù)據(jù)交換格式進(jìn)行一一映射這種映射可以讓數(shù)據(jù)源DB1使用數(shù)據(jù)源DB2理解的術(shù)語(yǔ)來(lái)訪問(wèn)DB2數(shù)據(jù)源 也就是說(shuō)不同的數(shù)據(jù)源之間使用數(shù)據(jù)轉(zhuǎn)換接口網(wǎng)關(guān)或調(diào)用接口來(lái)實(shí)現(xiàn)數(shù)據(jù)互訪這樣一個(gè)數(shù)據(jù)源就可以訪問(wèn)任何其他數(shù)據(jù)源的信息。同時(shí),如果有l(wèi)1個(gè)異構(gòu)數(shù)據(jù)源需要互連,那么我們就要去構(gòu)造n (nl1個(gè)映射程序來(lái)支持這n個(gè)異構(gòu)數(shù)據(jù)源之間的互相訪問(wèn)。圖1.1 利用聯(lián)邦數(shù)據(jù)庫(kù)系統(tǒng)建立的校園管理系統(tǒng)1.2 數(shù)據(jù)倉(cāng)庫(kù)技術(shù)傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)與現(xiàn)在的數(shù)據(jù)庫(kù)是有一定的區(qū)別的,傳

5、統(tǒng)的數(shù)據(jù)庫(kù)是以單一的數(shù)據(jù)資源,即數(shù)據(jù)庫(kù)為中心,進(jìn)行事務(wù)處理、決策分析等各種不同數(shù)據(jù)處理工作,我們把它主要?jiǎng)澐譃閮纱箢悾旱谝活愂遣僮餍吞幚恚坏诙愂欠治鲂吞幚怼?操作型處理還有另外一種叫法,它又叫事務(wù)處理,對(duì)數(shù)據(jù)庫(kù)聯(lián)機(jī)的日常操作其實(shí)就是事務(wù)處理,通常是對(duì)一個(gè)或一組紀(jì)錄的查詢和修改,主要為企業(yè)的特定應(yīng)用服務(wù)的,對(duì)數(shù)據(jù)的安全性和完整性有一定的注意力。數(shù)據(jù)倉(cāng)庫(kù)是決策支持系統(tǒng)機(jī)制和聯(lián)機(jī)分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。數(shù)據(jù)倉(cāng)庫(kù)的結(jié)構(gòu)體系由三部分組成:綜合信息集成服務(wù)平臺(tái),集成后的數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)集成機(jī)制。數(shù)據(jù)倉(cāng)庫(kù)中,密集的數(shù)據(jù)更新處理性能和系統(tǒng)的可靠性是所有聯(lián)機(jī)事務(wù)處理必須強(qiáng)調(diào)的,卻并不強(qiáng)調(diào)數(shù)據(jù)查詢的方便與

6、快捷。聯(lián)機(jī)分析和事務(wù)處理對(duì)系統(tǒng)的要求不同,即使是同一個(gè)數(shù)據(jù)庫(kù),它們?cè)诶碚撋隙茧y以做到兩全。數(shù)據(jù)倉(cāng)庫(kù)研究和解決從數(shù)據(jù)庫(kù)中獲取信息的問(wèn)題。數(shù)據(jù)倉(cāng)庫(kù)異構(gòu)數(shù)據(jù)源的謀略是由幾個(gè)異構(gòu)數(shù)據(jù)源的數(shù)據(jù)副本構(gòu)成按照一定的要求,進(jìn)行預(yù)處理、轉(zhuǎn)換,以符合數(shù)據(jù)倉(cāng)庫(kù)的模式,并存儲(chǔ)到數(shù)據(jù)倉(cāng)庫(kù)中。讓讀者在使用時(shí)就感覺(jué)像在使用普通的數(shù)據(jù)庫(kù)一般。只要把數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)使用者使用查詢時(shí)就和以前在單一數(shù)據(jù)庫(kù)中的查詢大同小異,感覺(jué)仍然在原來(lái)單一的查詢中使用。圖1.2.1 數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)結(jié)構(gòu)多種數(shù)據(jù)資源的集成(Excel 數(shù)據(jù)和文本文件) 除了訪問(wèn)傳統(tǒng)的RDBMS外,還可以從其他地方獲取數(shù)據(jù),比如從用戶所持有的Excel 數(shù)據(jù)和文本文件

7、中??梢栽谕粋€(gè)報(bào)表上,制成從數(shù)據(jù)倉(cāng)庫(kù)得到的銷售實(shí)績(jī)數(shù)據(jù)和Excel的預(yù)算數(shù)據(jù)等,這樣可提高數(shù)據(jù)的利用率。數(shù)據(jù)倉(cāng)庫(kù)是面對(duì)整個(gè)企業(yè)的數(shù)據(jù)應(yīng)用,而構(gòu)筑數(shù)據(jù)中心是針對(duì)各個(gè)部門的信息應(yīng)用。數(shù)據(jù)中心的數(shù)據(jù)是按部門從數(shù)據(jù)倉(cāng)庫(kù)中抽取,并進(jìn)行加工處理。數(shù)據(jù)中心構(gòu)筑工具,就是提供從數(shù)據(jù)倉(cāng)庫(kù)自動(dòng)進(jìn)行數(shù)據(jù)的抽出、變換功能,具有ETL功能,可以大幅提高運(yùn)行效率。 數(shù)據(jù)倉(cāng)庫(kù)最根本的特點(diǎn)是物理地存放數(shù)據(jù),而且這些數(shù)據(jù)并不是最新的、專有的,而是來(lái)源于其它數(shù)據(jù)庫(kù)的。建立數(shù)據(jù)倉(cāng)庫(kù)并不是要取代數(shù)據(jù)庫(kù),它是為了使信息更加完善和全面,主要應(yīng)用于支持高層決策分析,而上面所提到的事務(wù)處理數(shù)據(jù)庫(kù)在企業(yè)的信息環(huán)境中的任務(wù)是對(duì)日常的操作。數(shù)據(jù)

8、倉(cāng)庫(kù)是數(shù)據(jù)庫(kù)技術(shù)的一種新的應(yīng)用,數(shù)據(jù)倉(cāng)庫(kù)還是用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)管理其中的數(shù)據(jù)。數(shù)據(jù)倉(cāng)庫(kù)的優(yōu)點(diǎn)是可以很方便的進(jìn)行聯(lián)機(jī)分析和數(shù)據(jù)挖掘它的缺點(diǎn)是數(shù)據(jù)存儲(chǔ)太重復(fù)、不能及時(shí)使它得到更新。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)分為四個(gè)級(jí)別:早期細(xì)節(jié)級(jí)、當(dāng)前細(xì)節(jié)級(jí)、輕度綜合級(jí)、高度綜合級(jí)。把源數(shù)據(jù)綜合后,首先進(jìn)入的是早期前細(xì)節(jié)級(jí),再進(jìn)入當(dāng)前細(xì)節(jié),然后根據(jù)所需進(jìn)后進(jìn)一步的綜合后,最后進(jìn)入輕度綜合級(jí)乃至高度綜合級(jí)。數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)包括穩(wěn)定性、時(shí)變性,面向主題和集成性、這四大方面。1) 穩(wěn)定性大量的經(jīng)集成、加工過(guò)的綜合性歷史數(shù)據(jù)被保存在數(shù)據(jù)倉(cāng)庫(kù)中,數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)是供企業(yè)決策分析之用的,所涉及的數(shù)據(jù)操作主要是查詢,一般情況下并不輕易進(jìn)

9、行修改操作,即數(shù)據(jù)倉(cāng)庫(kù)的用戶進(jìn)行分析處理時(shí)不進(jìn)行數(shù)據(jù)更新操作2) 時(shí)變性數(shù)據(jù)倉(cāng)庫(kù)由于時(shí)間的改變而改變,所有數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)都永遠(yuǎn)不變,而是隨時(shí)間不斷變化的數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)不可更新是針對(duì)應(yīng)用來(lái)說(shuō)的,由于數(shù)據(jù)倉(cāng)庫(kù)中包含大量的綜合數(shù)據(jù),而這些綜合數(shù)據(jù)中很多與時(shí)間有關(guān),故隨著時(shí)間的變化,這些數(shù)據(jù)也要不斷進(jìn)行更新、綜合。傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)一般處理格式化的數(shù)據(jù),它比較適合這一方面,并能夠很好的達(dá)到商業(yè)商務(wù)處理的需求,它在商業(yè)領(lǐng)域取得了巨大的成功。 3) 面向主題數(shù)據(jù)倉(cāng)庫(kù)面向主題的特點(diǎn)與傳統(tǒng)數(shù)據(jù)庫(kù)面向應(yīng)用進(jìn)行數(shù)據(jù)組織的特點(diǎn)相對(duì)應(yīng),數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是面向主題進(jìn)行組織的,而數(shù)據(jù)庫(kù)是面向事務(wù)處理應(yīng)用進(jìn)行數(shù)據(jù)組織

10、的。在較高層次上對(duì)分析對(duì)象的數(shù)據(jù)的一個(gè)完整、一致的描述,能完整、統(tǒng)一地刻畫(huà)各個(gè)分析對(duì)象所涉及的各項(xiàng)數(shù)據(jù)及數(shù)據(jù)間的聯(lián)系,就是面向主題的數(shù)據(jù)組織方式。主題是指一個(gè)分析領(lǐng)域,是在一個(gè)較高層次上對(duì)數(shù)據(jù)進(jìn)行組織、歸類的標(biāo)準(zhǔn)。從而使得面向主題的數(shù)據(jù)組織可以獨(dú)立于數(shù)據(jù)的處理邏輯,方便了在多種環(huán)境上開(kāi)發(fā)新的分析型應(yīng)用。同時(shí),這種獨(dú)立性也是建設(shè)企業(yè)全局?jǐn)?shù)據(jù)庫(kù)所要求的,故面向主題不僅適用于分析型數(shù)據(jù)環(huán)境的數(shù)據(jù)組織形式,也適用于建設(shè)企業(yè)級(jí)數(shù)據(jù)庫(kù)的數(shù)據(jù)組織方式。當(dāng)然,根據(jù)其時(shí)間、訪問(wèn)頻率等可把同一主題的數(shù)據(jù)存放在不同的設(shè)備上,以使數(shù)據(jù)倉(cāng)庫(kù)的整體性能得到優(yōu)化。 4) 集成化特性數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)有來(lái)自于分散的操作型數(shù)據(jù),在

11、原有分散的數(shù)據(jù)庫(kù)中由于數(shù)據(jù)倉(cāng)庫(kù)的每一主題所對(duì)應(yīng)的源數(shù)據(jù)可能有重復(fù)或不一致的地方,加上從原有數(shù)據(jù)庫(kù)中是不能直接得到綜合數(shù)據(jù)的。因此數(shù)據(jù)在進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)之前必須要經(jīng)過(guò)加工與集成,統(tǒng)一和綜合形成集成化的數(shù)據(jù)。數(shù)據(jù)不論來(lái)源于什么地方,在進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)之前,要做的事就是必須經(jīng)過(guò)加工與集成,統(tǒng)一與綜合,這樣才使其進(jìn)人數(shù)據(jù)倉(cāng)庫(kù)之后都具有統(tǒng)一的數(shù)據(jù)屬性和編碼結(jié)構(gòu)等,這就是數(shù)據(jù)倉(cāng)庫(kù)中的一致性。另一方面,數(shù)據(jù)倉(cāng)庫(kù)還有其他一些特點(diǎn).比如說(shuō),數(shù)據(jù)倉(cāng)庫(kù)不會(huì)允許用戶去更新數(shù)據(jù)。因?yàn)?即使用戶更新了數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)也不能反應(yīng)到原來(lái)的數(shù)據(jù)源中,從而會(huì)使數(shù)據(jù)源和數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)不一致。在數(shù)據(jù)倉(cāng)庫(kù)中進(jìn)行數(shù)據(jù)構(gòu)建有以下三種方式:(1)數(shù)

12、據(jù)倉(cāng)庫(kù)及時(shí)更新異構(gòu)數(shù)據(jù)源的數(shù)據(jù)變化。(2)數(shù)據(jù)倉(cāng)庫(kù)隔相同的時(shí)間從原數(shù)據(jù)源中重新構(gòu)建數(shù)據(jù)。也就是呈周期性的。(3)數(shù)據(jù)倉(cāng)庫(kù)周期性的采用增量更新的模式更新原數(shù)據(jù)源中的數(shù)據(jù)。1.3 中間件技術(shù)1)中間件的概念中間件通常是軟件層,由一個(gè)API定義的,不兼容的操作系統(tǒng)或文件結(jié)構(gòu)它負(fù)責(zé)處理,調(diào)節(jié)客戶機(jī)/服務(wù)器或服務(wù)器與服務(wù)器之間的通信,位于基于客戶/服務(wù)器的操作系統(tǒng)之上,管理計(jì)算機(jī)資源和網(wǎng)絡(luò)通信。并且和下層的通信服務(wù)互相是沒(méi)有聯(lián)系的,而是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序。中間件是一類連接軟件組件和應(yīng)用的計(jì)算機(jī)軟件,以便于運(yùn)行在一臺(tái)或多臺(tái)機(jī)器上的多個(gè)軟件通過(guò)網(wǎng)絡(luò)進(jìn)行交互,也是基于分布式處理的軟件,網(wǎng)絡(luò)通信功能是

13、它的最突出的特點(diǎn)。由中間件技術(shù)提供的互操作性,推動(dòng)了分布式體系架構(gòu)的演進(jìn),該架構(gòu)的作用是支持分布式應(yīng)用程序并使其得到簡(jiǎn)化。并且,分布式應(yīng)用軟件借助這種軟件在不同技術(shù)之間共享資源。需要注意的是中間件是一類軟件,而非一種軟件 。中間件不僅可以實(shí)現(xiàn)互聯(lián),還可以用于應(yīng)用之間的互操作。2)中間件的作用通過(guò)管理計(jì)算資源和網(wǎng)絡(luò)通信,為各類分布式應(yīng)用軟件共享資源提供支撐是中間件的核心作用,主要也是為各種應(yīng)用程序抽象出通用的公共部分,以降低應(yīng)用開(kāi)發(fā)的復(fù)雜程度。中間件是位于基于客戶/服務(wù)器的操作系統(tǒng)之上、應(yīng)用系統(tǒng)之下,起到了承上啟下作用,系統(tǒng)軟件的復(fù)雜性,都需要靠中間件來(lái)操作、調(diào)和。中間件為處于自己上層的應(yīng)用軟件

14、提供運(yùn)行與開(kāi)發(fā)的環(huán)境,使復(fù)雜的應(yīng)用軟件可以更能得到有效地開(kāi)發(fā)。中間件具有如下特點(diǎn):滿足大量應(yīng)用的需要,只要把中間件升級(jí),并保持中間件對(duì)外的接口定義不變,幾乎不需修改任何應(yīng)用軟件,這樣也就減少企業(yè)在應(yīng)用軟件開(kāi)發(fā)時(shí)的經(jīng)費(fèi)。圖1.3 中間件系統(tǒng)服務(wù)(3)中間件的發(fā)展趨勢(shì)傳統(tǒng)的中間件產(chǎn)品種類繁雜,雖然在支持相對(duì)封閉、靜態(tài)、穩(wěn)定、易控的企業(yè)網(wǎng)絡(luò)環(huán)境中的企業(yè)計(jì)算和信息資源共享方面取得了巨大成功,但在新時(shí)期以開(kāi)放、動(dòng)態(tài)、多變的互聯(lián)網(wǎng)(Internet)為代表的網(wǎng)絡(luò)技術(shù)沖擊下,還是顯露出了它的固有局限性用戶往往需要采用多種不同的中間件產(chǎn)品,而中間件平臺(tái)的特點(diǎn)是各產(chǎn)品模塊既能夠做為單獨(dú)的中間件產(chǎn)品使用,又能夠提

15、供完整的軟件平臺(tái)支撐功能,具備優(yōu)異的靈活性、可擴(kuò)展性和可管理性。 現(xiàn)在人們的需求越來(lái)越復(fù)雜化、多變化,單單用一種商品做成標(biāo)準(zhǔn)去推廣已經(jīng)行不通啦。首先就是優(yōu)化企業(yè)流程,如果不優(yōu)化流程,不改變企業(yè)傳統(tǒng)模式和管理方法,不吸收一些有效并且吸引的管理模式,肯定是不會(huì)成功的。就對(duì)中間件來(lái)說(shuō),是一種基礎(chǔ)軟件,處于操作系統(tǒng)與應(yīng)用軟件的之間,現(xiàn)在很多方面已經(jīng)得到了一 定的優(yōu)化,如今中間件在市場(chǎng)中占相當(dāng)重要的地位,經(jīng)過(guò)迅猛發(fā)展,也有了至關(guān)重要的軟件分類,已經(jīng)成為網(wǎng)絡(luò)應(yīng)用系統(tǒng)開(kāi)發(fā)、集成、部署、運(yùn)行和管理必不可少的工具。由于中間件技術(shù)涉及網(wǎng)絡(luò)應(yīng)用的各個(gè)層面,涵蓋從基礎(chǔ)通訊、數(shù)據(jù)訪問(wèn)到應(yīng)用集成等眾多的環(huán)節(jié),因此,中間件

16、技術(shù)呈現(xiàn)出多樣化的發(fā)展特點(diǎn)。與操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)并列為基礎(chǔ)軟件體系的三大支柱。 那么中間件的價(jià)值到底體現(xiàn)在哪些方面呢?首先,中間件技術(shù)正在呈現(xiàn)出業(yè)務(wù)化、服務(wù)化、一體化、虛擬化等諸多新的重要發(fā)展趨勢(shì)。因?yàn)橛梢粋€(gè)廠商去統(tǒng)一眾多產(chǎn)品之間的差異是不可能的,而單獨(dú)由計(jì)算機(jī)用戶在自己的應(yīng)用軟件中去彌補(bǔ)其中的大片空檔,由于技術(shù)深度和技術(shù)廣度的要求,必然也是勉為其難。于是,中間件應(yīng)運(yùn)而生。中間件試圖通過(guò)屏蔽各種復(fù)雜的技術(shù)細(xì)節(jié)使技術(shù)問(wèn)題簡(jiǎn)單化。 在中間件產(chǎn)生以前,應(yīng)用軟件直接使用操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)庫(kù)等開(kāi)發(fā),這些都是計(jì)算機(jī)最底層的東西,越底層越復(fù)雜,開(kāi)發(fā)者面臨的問(wèn)題也就越復(fù)雜,如操作系統(tǒng)的多樣性,繁雜

17、的網(wǎng)絡(luò)程序設(shè)計(jì)、管理,復(fù)雜多變的網(wǎng)絡(luò)環(huán)境,數(shù)據(jù)分散處理帶來(lái)的不一致性問(wèn)題、性能和效率、安全,等等。 有人提出能不能將應(yīng)用軟件所要面臨的共性問(wèn)題進(jìn)行提煉、抽象,在操作系統(tǒng)之上再形成一個(gè)可復(fù)用的部分,供成千上萬(wàn)的應(yīng)用軟件重復(fù)使用。這一技術(shù)思想最終構(gòu)成了中間件這類的軟件。 其次,是中間件的普通商品化趨勢(shì)。伴隨技術(shù)的成熟和競(jìng)爭(zhēng)格局的變化,中間件產(chǎn)品已經(jīng)變得高貴不貴。特別是在高端商用中間件市場(chǎng), 價(jià)格回歸到了合理的水平.然后,集成化的統(tǒng)一中間件平臺(tái)的管理必須具備全局的、系統(tǒng)化的。在一個(gè)大型網(wǎng)絡(luò)應(yīng)用中,往往會(huì)同時(shí)存在多種中間件,此時(shí),平臺(tái)的管理具有典型的系統(tǒng)化特性,那些僅針對(duì)單個(gè)中間件實(shí)例或類型的管理,其

18、效果可能不明顯。而只有全局考察系統(tǒng),統(tǒng)籌分析和規(guī)劃,才能制定出合理有效的管理方案。同時(shí),平臺(tái)的管理還必須兼顧中間件產(chǎn)品之間存在的開(kāi)放、異構(gòu)、動(dòng)態(tài)等特性。開(kāi)放性意味著不同業(yè)務(wù)需求導(dǎo)致各種各樣中間件產(chǎn)品運(yùn)行在開(kāi)放的互聯(lián)網(wǎng)之上,需要提供有效手段使得這些中間件產(chǎn)品被有效地管理起來(lái),形成一個(gè)有機(jī)整體。中間件的一體化管理也是通過(guò)將管理模型服務(wù)化,通過(guò)服務(wù)封裝來(lái)統(tǒng)一管理的對(duì)象、行為和反饋,通過(guò)服務(wù)的編排來(lái)實(shí)現(xiàn)管理的對(duì)象可動(dòng)態(tài)進(jìn)行自適應(yīng)。 中間件使底層操作系統(tǒng)的復(fù)雜性簡(jiǎn)化了,這就使開(kāi)發(fā)者面對(duì)的是一個(gè)簡(jiǎn)單而統(tǒng)一的開(kāi)發(fā)環(huán)境,也就更容易操作,不必將注意力集中在程序等方面,也不必再為程序由于改變了環(huán)境而不能使用,不必

19、再花費(fèi)大量的時(shí)間在這上面,而把心放在自己的業(yè)務(wù)上面。 4)中間件所涉及的范圍極其廣泛,可以把中間件分為如下幾大類:a、遠(yuǎn)程過(guò)程調(diào)用遠(yuǎn)程過(guò)程調(diào)用是一種分布式應(yīng)用程序處理方法,它被人們廣泛使用。一個(gè)使用RPC來(lái)“遠(yuǎn)程”的應(yīng)用程序,執(zhí)行一個(gè)位于不同地址空間里的過(guò)程,并且與執(zhí)行本地調(diào)用具有相同的效果。事實(shí)上,通常把一個(gè)RPC應(yīng)用分為兩個(gè)部分:第一部分是server,第二部分是client。提供一個(gè)或多個(gè)遠(yuǎn)程過(guò)程是由server來(lái)執(zhí)行的;client向server發(fā)出遠(yuǎn)程調(diào)用。server和client可以在同一臺(tái)計(jì)算機(jī)上工作,也可以在不同的計(jì)算機(jī)上工作,甚至在不同的操作系統(tǒng)之上運(yùn)行。它們通過(guò)網(wǎng)絡(luò)來(lái)傳達(dá)

20、信號(hào)。相應(yīng)的stub和運(yùn)行支持提供數(shù)據(jù)轉(zhuǎn)換和通訊服務(wù),從而屏蔽不同的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議。在這里RPC通訊是同步的。采用線程可以進(jìn)行異步調(diào)用。 b、面向消息的中間件MOM指的是利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成。通過(guò)提供消息傳遞和消息排隊(duì)模型,它可在分布環(huán)境下擴(kuò)展進(jìn)程間的通信,并支持多通訊協(xié)議、語(yǔ)言、應(yīng)用程序、硬件和軟件平臺(tái)。消息傳遞和排隊(duì)技術(shù)有以下三個(gè)主要特點(diǎn): 通訊程序可在不同的時(shí)間運(yùn)行:程序不在網(wǎng)絡(luò)上直接相互通話,而是間接地將消息放入消息隊(duì)列,因?yàn)槌绦蜷g沒(méi)有直接的聯(lián)系。所以它們不必同時(shí)運(yùn)行。消息放入適當(dāng)?shù)年?duì)列時(shí),目標(biāo)程序甚至根本不需要正在

21、運(yùn)行;當(dāng)在運(yùn)行目標(biāo)程序時(shí),也不一定必須馬上處理該消息。 對(duì)應(yīng)用程序的結(jié)構(gòu)是沒(méi)有約束條件的:在復(fù)雜度比較大的應(yīng)用場(chǎng)合中,通訊程序之間不僅可以是一一對(duì)應(yīng)的關(guān)系,還可以是一對(duì)多和多對(duì)一的方式,甚至可以把上述幾種情況都組合起來(lái)應(yīng)用。而且,多種通訊方式的構(gòu)造并沒(méi)有使使用者應(yīng)用該應(yīng)用程序時(shí)感覺(jué)到復(fù)雜。 程序與網(wǎng)絡(luò)復(fù)雜性是沒(méi)有多大聯(lián)系的:程序既可以將消息放入消息隊(duì)列也可以從消息隊(duì)列中取出消息進(jìn)行通訊。 c、對(duì)象請(qǐng)求代理隨著對(duì)象技術(shù)與分布式計(jì)算技術(shù)的發(fā)展,對(duì)象技術(shù)和分布式計(jì)算機(jī)技術(shù)已經(jīng)相互結(jié)合形成了分布對(duì)象計(jì)算,如今成為了軟件技術(shù)的關(guān)鍵。對(duì)象管理結(jié)構(gòu)和對(duì)象管理代理已經(jīng)成為這個(gè)模式的核心部分,提供一個(gè)通信框架,

22、透明地在異構(gòu)的分布計(jì)算環(huán)境中傳遞對(duì)象請(qǐng)求是它的主要的作用。對(duì)象請(qǐng)求代理(ORB)是對(duì)象總線,它在CORBA規(guī)范中占著極其重要的作用,定義異構(gòu)環(huán)境下對(duì)象透明地發(fā)送請(qǐng)求和接收響應(yīng)的基本機(jī)制,是建立對(duì)象之間client/server關(guān)系的中間件。ORB使得對(duì)象可以透明地向其他對(duì)象發(fā)出請(qǐng)求或接受其他對(duì)象的響應(yīng),這些對(duì)象可以位于不同的地方,可以稍微遠(yuǎn)點(diǎn),也可以稍微近點(diǎn),就在本地。ORB攔截請(qǐng)求調(diào)用,并負(fù)責(zé)找到可以實(shí)現(xiàn)請(qǐng)求的對(duì)象、傳送參數(shù)、調(diào)用相應(yīng)的方法、返回結(jié)果等。client對(duì)象并不知道同server對(duì)象通訊、激活或存儲(chǔ)server對(duì)象的機(jī)制,也不必知道server對(duì)象位于何處、它是用何種語(yǔ)言實(shí)現(xiàn)的、

23、使用什么操作系統(tǒng)或其他不屬于對(duì)象接口的系統(tǒng)成分。 值得指出的是client和server角色只是協(xié)調(diào)對(duì)象之間的橋梁,根據(jù)相應(yīng)的場(chǎng)合,ORB上的對(duì)象可以是client,也可以是server,甚至兼有兩者。當(dāng)對(duì)象發(fā)出一個(gè)請(qǐng)求時(shí),它是處于client角色;當(dāng)它在接收請(qǐng)求時(shí),它就處于server角色。大部分的對(duì)象都是既扮演client角色又扮演server角色。另外由于ORB負(fù)責(zé)對(duì)象請(qǐng)求的傳送和server的管理,client和server之間并不直接連接,因此,與RPC所支持的單純的Client/Server結(jié)構(gòu)相比,ORB可以支持更加復(fù)雜的結(jié)構(gòu)。 d、事務(wù)處理監(jiān)控事務(wù)處理監(jiān)控(Transactio

24、n processing monitors)最早出現(xiàn)在大型機(jī)上,為其提供支持大規(guī)模事務(wù)處理的可靠運(yùn)行環(huán)境。隨著分布計(jì)算技術(shù)的發(fā)展,分布應(yīng)用系統(tǒng)對(duì)大規(guī)模的事務(wù)處理提出了需求,比如商業(yè)活動(dòng)中大量的關(guān)鍵事務(wù)處理。事務(wù)處理監(jiān)控界于client和server之間,進(jìn)行事務(wù)管理與協(xié)調(diào)、負(fù)載平衡、失敗恢復(fù)等,以提高系統(tǒng)的整體性能。它可以被看作是事務(wù)處理應(yīng)用程序的“操作系統(tǒng)”與各個(gè)客戶之間的數(shù)據(jù)通訊采用流套接字實(shí)現(xiàn),多個(gè)連接由多個(gè)線程完成,這種并發(fā)的通訊機(jī)制使得訪問(wèn)效客戶端到數(shù)據(jù)連接管理器之間利用的是邏輯連接,而數(shù)據(jù)庫(kù)到數(shù)據(jù)連接器之間利用的是物理連接。中間件率大大提高。中間件與數(shù)據(jù)庫(kù)之間采用JDBC連接,多用

25、戶共享一個(gè)數(shù)據(jù)連接。同樣起到了提高數(shù)據(jù)庫(kù)訪問(wèn)效率的效果。數(shù)據(jù)庫(kù)中間件對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和操作采用SQL語(yǔ)言。數(shù)據(jù)庫(kù)中間件的核心是數(shù)據(jù)連接管理器,它是一個(gè)服務(wù)程序,連接了客戶端和后臺(tái)數(shù)據(jù)庫(kù)??蛻舳讼蚱浒l(fā)出對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)請(qǐng)求,由數(shù)據(jù)連接管理器尋找與該數(shù)據(jù)庫(kù)的可用連接,通過(guò)數(shù)據(jù)連接將訪問(wèn)請(qǐng)求傳遞給目標(biāo)數(shù)據(jù)庫(kù)。目標(biāo)數(shù)據(jù)庫(kù)執(zhí)行相應(yīng)的SQL語(yǔ)句,將結(jié)果通過(guò)數(shù)據(jù)連接傳回?cái)?shù)據(jù)連接管理器,再傳回給客戶端。2高校學(xué)生異構(gòu)數(shù)據(jù)庫(kù)集成系統(tǒng)設(shè)計(jì)2.1系統(tǒng)分析隨著計(jì)算機(jī)的普遍應(yīng)用和發(fā)展,國(guó)內(nèi)高校都紛紛積極構(gòu)建并逐步實(shí)施自己的“校園一卡通”工程,這也是目前高校多校區(qū)發(fā)展的需求。校園一卡通工程是在學(xué)校一個(gè)相對(duì)的組織范圍內(nèi),利用異

26、構(gòu)數(shù)據(jù)庫(kù)集成系統(tǒng)設(shè)計(jì)的“校園一卡通”將組織內(nèi)的多元化管理功能整合起來(lái)的信息管理系統(tǒng)。在“數(shù)字化校園”中,校園一卡通系統(tǒng)因涉及比較廣泛,而成為校園信息化建設(shè)的基礎(chǔ)和重點(diǎn)。如何實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)集成中的關(guān)聯(lián)查詢與共享問(wèn)題,實(shí)現(xiàn)校內(nèi)資源整合,提高信息利用率具有十分重要的意義。高校學(xué)生系統(tǒng)包括很多的體系,各個(gè)體系都是相互關(guān)聯(lián)的,采用異構(gòu)數(shù)據(jù)庫(kù)集成系統(tǒng)能將每個(gè)體系都能集中在一起,以“校園一卡通”來(lái)實(shí)現(xiàn)都高校的管理。下圖為“校園一卡通”集合的體系。圖2.1 “校園一卡通”集合的體系。2.2系統(tǒng)結(jié)構(gòu)利用中間件集成異構(gòu)數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)集成中的關(guān)聯(lián)查詢與共享問(wèn)題,實(shí)現(xiàn)校內(nèi)資源整合。中間件位于異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)

27、層和應(yīng)用程序應(yīng)用層之間,向下協(xié)調(diào)各數(shù)據(jù)庫(kù)系統(tǒng),向上為訪問(wèn)集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一數(shù)據(jù)模式,該方法不需要改變?cè)紨?shù)據(jù)的存儲(chǔ)和管理方式。為了較好地解決校園應(yīng)用系統(tǒng)間系統(tǒng)資源集成分布和異構(gòu)等問(wèn)題,使得數(shù)據(jù)信息的交互變得更為透明,在數(shù)據(jù)庫(kù)集成方面還會(huì)用到XML,XML是Extensible Markup Language的簡(jiǎn)寫(xiě),是由W3C所發(fā)展的??梢陨暇W(wǎng)頁(yè)設(shè)計(jì)人員自行定義TAG的延伸格式,可以用在自由性的數(shù)據(jù)庫(kù)或是各種文件格式上,用來(lái)接收與應(yīng)用各種網(wǎng)頁(yè)的須求。 XML具有良好的可靠性與互操作,并且它是基于WEB 工作設(shè)計(jì)的,更適于網(wǎng)絡(luò)化環(huán)境。利用XML可以將一卡通異構(gòu)數(shù)據(jù)庫(kù)很好的集成在一下,便于用戶在

28、網(wǎng)絡(luò)上進(jìn)行查詢。XML具有以下優(yōu)越性:(1) XML是一種半結(jié)構(gòu)化的數(shù)據(jù)模型,它的自我描述性質(zhì)能夠很好地表現(xiàn)許多復(fù)雜的數(shù)據(jù)關(guān)系,結(jié)構(gòu)簡(jiǎn)單明了。(2)XML的數(shù)據(jù)與格式無(wú)關(guān),它的數(shù)據(jù)存儲(chǔ)格式不會(huì)受顯示格式的制約。XML能把文檔的數(shù)據(jù)、結(jié)構(gòu)以及顯示方式三個(gè)要素獨(dú)立開(kāi)來(lái),分別處理。首先把顯示格式從數(shù)據(jù)內(nèi)容中獨(dú)立出來(lái),保存在樣式單文件(StyleSheet)中,這樣如果需要改變文檔的顯示方式,只要修改樣式單文件就行了。(3)便于數(shù)據(jù)查詢。XML的文檔描述的語(yǔ)義非常清楚,而且很容易就可以將它和關(guān)系數(shù)據(jù)庫(kù)中的屬性一一對(duì)應(yīng)起來(lái),所以不論上一數(shù)據(jù)庫(kù)查詢還是基于Web上的內(nèi)容查詢都能夠支持實(shí)施十分精確的查詢。如

29、圖2.2是基于基于XML中間件高校一卡通異構(gòu)數(shù)據(jù)庫(kù)集成圖。圖2.2 基于XML中間件高校一卡通異構(gòu)數(shù)據(jù)庫(kù)集成圖2.3 系統(tǒng)集成的中間件分析設(shè)計(jì)下面就來(lái)討論一下中間件在整個(gè)集成系統(tǒng)中要完成的功能模塊,由圖2.3可以看出,異構(gòu)數(shù)據(jù)庫(kù)集成中間件需要完成以下幾個(gè)功能模塊圖4.2教學(xué)管理數(shù)據(jù)庫(kù)集成MDBS構(gòu)架1.提交客戶請(qǐng)求模塊。用戶在操作界面里輸入的數(shù)據(jù)請(qǐng)求提交給全局?jǐn)?shù)據(jù)控制層,全局?jǐn)?shù)據(jù)庫(kù)負(fù)責(zé)要把用戶的數(shù)據(jù)請(qǐng)求轉(zhuǎn)換為規(guī)范的請(qǐng)求數(shù)據(jù)。2.數(shù)據(jù)轉(zhuǎn)換模塊。由于異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)本身的異構(gòu)性決定了用戶所提出的數(shù)據(jù)請(qǐng)求與綜合數(shù)據(jù)庫(kù)中的格式不同,為了使用戶透明的訪問(wèn)數(shù)據(jù)庫(kù),就需要在中間件中設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)換組件對(duì)象以完成數(shù)

30、據(jù)之間的格式轉(zhuǎn)換。3.數(shù)據(jù)庫(kù)連接模塊。連接用戶所要使用的局部數(shù)據(jù)庫(kù)。4.數(shù)據(jù)操作模塊。按數(shù)據(jù)轉(zhuǎn)換后的用戶需求在局部數(shù)據(jù)庫(kù)中查找,找到相應(yīng)的數(shù)據(jù)記錄。5.數(shù)據(jù)輸出模塊。把從局部數(shù)據(jù)庫(kù)中找到的數(shù)據(jù)記錄經(jīng)過(guò)數(shù)據(jù)轉(zhuǎn)換模塊后的輸出再經(jīng)過(guò)全局?jǐn)?shù)據(jù)控制層后輸出到用戶操作界面。XML能夠?yàn)楫悩?gòu)數(shù)據(jù)庫(kù)提供一種全局?jǐn)?shù)據(jù)模式來(lái)統(tǒng)一異構(gòu)的源數(shù)據(jù)模式.XML數(shù)據(jù)庫(kù)中間件主要由包裝器和中介組成。包裝器負(fù)責(zé)與一卡通所有異構(gòu)數(shù)據(jù)庫(kù)的交互,包括數(shù)據(jù)源,實(shí)現(xiàn)操作的一致性、數(shù)據(jù)訪問(wèn)的透明性和位置透明性;并將其包裝成統(tǒng)一的XML模式進(jìn)行存儲(chǔ)。中介器由集成調(diào)度單元、服務(wù)單元和查詢處理器組成。它能生成對(duì)應(yīng)的異步中間件全局模式和查詢條件,

31、查詢處理通過(guò)包裝器提取的異構(gòu)數(shù)據(jù)源,嵌入到全局模式中,將數(shù)據(jù)返回給客戶端。2.4 高校學(xué)生異構(gòu)數(shù)據(jù)集成關(guān)鍵問(wèn)題的解決數(shù)據(jù)源的異構(gòu)性是困擾數(shù)據(jù)集成系統(tǒng)的核心問(wèn)題。異構(gòu)數(shù)據(jù)集成所表現(xiàn)的形式為:在數(shù)據(jù)源的獨(dú)立性不受影響下,將不同數(shù)據(jù)庫(kù)合成新的數(shù)據(jù)中心,各數(shù)據(jù)源與數(shù)據(jù)中心能夠建立相互通信從而實(shí)現(xiàn)數(shù)據(jù)的透明訪問(wèn)。在數(shù)據(jù)源和數(shù)據(jù)中心之間建立中間件,消除異構(gòu)數(shù)據(jù)間語(yǔ)法、語(yǔ)義上的異構(gòu),實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)與XML文檔之間的轉(zhuǎn)換。異構(gòu)性的難點(diǎn)主要表現(xiàn)在語(yǔ)法異構(gòu)和語(yǔ)義異構(gòu)上。語(yǔ)法異構(gòu)一般指源數(shù)據(jù)和目的數(shù)據(jù)之間命名規(guī)則及數(shù)據(jù)類型存在不同。而高校學(xué)生異構(gòu)數(shù)據(jù)庫(kù)比較復(fù)雜,包括教學(xué)、生活以及辦公等各個(gè)方面的數(shù)據(jù)庫(kù),所以建立這樣

32、的語(yǔ)法也有一定的難度。對(duì)數(shù)據(jù)庫(kù)而言,命名規(guī)則指表名和字段名。語(yǔ)法異構(gòu)相對(duì)簡(jiǎn)單,只要實(shí)現(xiàn)字段到字段、記錄到記錄的映射,解決其中的名字沖突和數(shù)據(jù)類型沖突。這種映射都很直接,比較容易實(shí)現(xiàn)。因此,語(yǔ)法異構(gòu)無(wú)需關(guān)心數(shù)據(jù)的內(nèi)容和含義,只要知道數(shù)據(jù)結(jié)構(gòu)信息,完成源數(shù)據(jù)結(jié)構(gòu)到目的數(shù)據(jù)結(jié)構(gòu)之間的映射就可以了。2.4.1 數(shù)據(jù)庫(kù)的異構(gòu)消解在異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)集成中可以采用建立全局統(tǒng)一的公共數(shù)據(jù)模式來(lái)實(shí)現(xiàn)異構(gòu)模式的消解。要設(shè)計(jì)公共數(shù)據(jù)模型的首要要求就是通用性,要能夠表示各種數(shù)據(jù)庫(kù)中不同格式的數(shù)據(jù),另外還要有靈活性,以適應(yīng)各個(gè)局部數(shù)據(jù)庫(kù)的各種不同情況。為此,我們可以定義模型里的數(shù)據(jù)如下:enumtypet_int,t_f

33、loat,t_string,t_date,;/定義全局?jǐn)?shù)據(jù)類型struct fied /定義模型里的數(shù)據(jù)String name; /定義字段名type data_type;/字段類型any value;/字段值;/這里的type定義的類型與中間件的語(yǔ)言定義的數(shù)據(jù)類型對(duì)應(yīng)。消解原則:局部數(shù)據(jù)庫(kù)返回全局的結(jié)果數(shù)據(jù),用戶發(fā)向全局的修改或是插入數(shù)據(jù),全局發(fā)給局部的修改或是插入數(shù)據(jù)都必須經(jīng)過(guò)公共數(shù)據(jù)模型轉(zhuǎn)換成公共格式表示。消解過(guò)程:任何局部數(shù)據(jù)庫(kù)數(shù)據(jù)類型都轉(zhuǎn)換成上述定義中的type中的一種類型,這些類型是集成系統(tǒng)自己定義的,其中any類型起到統(tǒng)一傳輸任何類型的作用,轉(zhuǎn)換成公共數(shù)據(jù)類型的數(shù)據(jù)均又以any類

34、型傳輸,這樣就可以實(shí)現(xiàn)本系統(tǒng)異構(gòu)的消解。但此種方法可能會(huì)由于公共模型定義的局限性而出現(xiàn)異構(gòu)消解的失敗。2.4.2 異構(gòu)數(shù)據(jù)庫(kù)的查詢處理查詢處理是異構(gòu)信息集成系統(tǒng)的關(guān)鍵技術(shù)之一,查詢分解、查詢調(diào)度和查詢優(yōu)化是查詢處理的核心內(nèi)容。通過(guò)定義集成系統(tǒng)中查詢處理的基本概念,分析 XML 查詢的基本特點(diǎn)和要求,選定 XQuery 作為面向 XIDM 模型的查詢語(yǔ)言,給出了查詢處理的基本體系結(jié)構(gòu)。查詢后處理是根據(jù)查詢計(jì)劃進(jìn)行調(diào)度并通過(guò)后處理操作完成中間結(jié)果組裝的過(guò)程,后處理操作主要由全局查詢涉及的所有場(chǎng)地間運(yùn)算來(lái)完成。通過(guò)對(duì)關(guān)系代數(shù)中的關(guān)系操作進(jìn)行擴(kuò)展,定義了面向 XIDM 模型的基于路徑的元素簇操作,即

35、XRA 代數(shù),用于表達(dá)查詢后處理中子查詢結(jié)果的合并處理。給出了查詢后處理的轉(zhuǎn)換規(guī)則,提出了一種連接樹(shù)結(jié)構(gòu)來(lái)表達(dá)集成系統(tǒng)的查詢后處理操作,并對(duì)其進(jìn)行規(guī)范化處理。通過(guò)引入連接圖的概念,將連接規(guī)范樹(shù)轉(zhuǎn)換為等價(jià)的連接圖,供查詢后處理調(diào)度使用,在此基礎(chǔ)上,給出了基于連接圖的查詢后處理多級(jí)并發(fā)調(diào)度算法,以盡可能提高查詢后處理執(zhí)行的并發(fā)性。查詢優(yōu)化是異構(gòu)信息集成系統(tǒng)中非常重要而又十分復(fù)雜的問(wèn)題。針對(duì)查詢后處理中的場(chǎng)地間運(yùn)算代價(jià),分析了影響后處理優(yōu)化的代價(jià)參數(shù),給出了局部數(shù)據(jù)源代價(jià)和通信代價(jià)的估計(jì)方法。連接運(yùn)算往往是查詢處理中開(kāi)銷最大的運(yùn)算,以場(chǎng)地間連接和外連接運(yùn)算組成的連接圖為基礎(chǔ),給出了一種基于最小生成樹(shù)

36、的靜態(tài)優(yōu)化算法MST-SO 和一種基于統(tǒng)計(jì)推理的動(dòng)態(tài)優(yōu)化方法 SR-DO,以及結(jié)合這兩種方法的混合優(yōu)化策略,并通過(guò)實(shí)驗(yàn)仿真的方法對(duì)它們的優(yōu)化性能進(jìn)行了實(shí)驗(yàn)分析和性能比較,實(shí)驗(yàn)證明混合優(yōu)化的性能更優(yōu)。 (1)異構(gòu)信息集成中的查詢分解處理異構(gòu)信息集成系統(tǒng)的目標(biāo)是從網(wǎng)絡(luò)環(huán)境中多個(gè)分布異構(gòu)數(shù)據(jù)源中查詢所需要的數(shù)據(jù),并把這些查詢結(jié)果進(jìn)行整合,將最終整合的結(jié)果提交給用戶。在異構(gòu)信息集成系統(tǒng)中,查詢處理要解決全局查詢語(yǔ)言與局部查詢語(yǔ)言的差異、全局查詢分解、查詢?nèi)蝿?wù)的分派及調(diào)度等問(wèn)題。本文提出一種SQL查詢請(qǐng)求的RAC表示方法,并基于該表示方法提出一種查詢分解算法,以完成全局查詢到局部查詢的轉(zhuǎn)換。(2)異構(gòu)信

37、息集成中的查詢并發(fā)調(diào)度在異構(gòu)信息集成系統(tǒng)的查詢處理過(guò)程中,一個(gè)很重要的步驟是對(duì)查詢分解得到的子查詢進(jìn)行調(diào)度。由于局部數(shù)據(jù)源的自治、局部權(quán)能的動(dòng)態(tài)變化、查詢語(yǔ)言的異構(gòu)、查詢處理能力的差異、全局中局部信息的缺乏等,都使得查詢后處理并發(fā)調(diào)度變得非常困難。本文基于ZPL協(xié)議提出一種對(duì)SQL基本操作加鎖算法對(duì)異構(gòu)信息集成進(jìn)行查詢,在一定程度上提高了事務(wù)的并發(fā)度。圖2.4.2 異構(gòu)數(shù)據(jù)庫(kù)的查詢系統(tǒng)2.4.3 異構(gòu)數(shù)據(jù)庫(kù)并發(fā)控制并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作,避免造成數(shù)據(jù)的不一致性,使一個(gè)用戶事務(wù)的執(zhí)行不受其他事務(wù)的干擾,其主要目標(biāo)是保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性。在異構(gòu)數(shù)據(jù)庫(kù)集成系統(tǒng)中,異構(gòu)數(shù)據(jù)庫(kù)事務(wù)也

38、可能在同一站點(diǎn)上并發(fā)運(yùn)行和存取共享數(shù)據(jù),且彼此潛在地存在相互干擾,如果不對(duì)并發(fā)執(zhí)行的程序進(jìn)行必要的控制,那么即使沒(méi)有故障和程序的錯(cuò)誤也會(huì)破壞數(shù)據(jù)庫(kù)的一致性和完整性。因此,衡量一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)功能強(qiáng)弱和性能好壞的重要標(biāo)志之一是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)有無(wú)并發(fā)控制機(jī)制,以及并發(fā)控制機(jī)構(gòu)的優(yōu)劣。并發(fā)控制的功能就是控制這些異構(gòu)數(shù)據(jù)庫(kù)事務(wù)沖突操作的交錯(cuò)執(zhí)行,以保證各異構(gòu)數(shù)據(jù)庫(kù)的完整性,與傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)并發(fā)不同的是,異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)中需要處理全局事務(wù)并發(fā)和局部事務(wù)并發(fā)。本節(jié)結(jié)合SQL的事務(wù)模型,并根據(jù)ZPL分層封鎖機(jī)制的并發(fā)控制方法提出了一個(gè)基于操作的封鎖并發(fā)控制機(jī)制。用戶使用全局查詢語(yǔ)言提交一個(gè)全局查詢,集成系統(tǒng)接收

39、查詢并進(jìn)行語(yǔ)法檢查。這里的語(yǔ)法檢查除了需要檢查查詢語(yǔ)言的正確性外,還要根據(jù)全局模式中的信息對(duì)其進(jìn)行語(yǔ)義上的檢查。檢驗(yàn)正確后,查詢管理器根據(jù)全局模式信息將該查詢分解成若干個(gè)子查詢,每個(gè)子查詢對(duì)應(yīng)于一個(gè)局部數(shù)據(jù)源。查詢管理器確定出一個(gè)執(zhí)行計(jì)劃,說(shuō)明需要訪問(wèn)哪些局部數(shù)據(jù)源、如何組裝中間結(jié)果、在哪里執(zhí)行全局處理等。啟動(dòng)并執(zhí)行查詢計(jì)劃。查詢計(jì)劃經(jīng)過(guò)優(yōu)化后,將這些子查詢發(fā)送給各個(gè)局部數(shù)據(jù)源包裝器;包裝器將其轉(zhuǎn)換成針對(duì)局部數(shù)據(jù)源的查詢語(yǔ)言,然后將轉(zhuǎn)換后的子查詢發(fā)送到對(duì)應(yīng)的局部數(shù)據(jù)源執(zhí)行引擎上去執(zhí)行。各局部數(shù)據(jù)源執(zhí)行得到的子查詢結(jié)果經(jīng)過(guò)包裝器轉(zhuǎn)換成公共數(shù)據(jù)模型表達(dá)的形式,查詢后處理操作合并由各包裝器返回的中間

40、結(jié)果,并組成最終的全局查詢結(jié)果返回給集成系統(tǒng)的全局用戶。數(shù)據(jù)庫(kù)系統(tǒng)的異構(gòu)性和局部自治性使得并發(fā)控制更加復(fù)雜化這是由于幾個(gè)方面決定的:(1)局部數(shù)據(jù)庫(kù)的增多增加了產(chǎn)生沖突請(qǐng)求的可能性(2)分布式網(wǎng)絡(luò)的時(shí)延也能造成訪問(wèn)沖突我們可以根據(jù)兩端提交協(xié)議設(shè)計(jì)一個(gè)預(yù)防死鎖的方法:由全局庫(kù)截獲所有的客戶請(qǐng)求,根據(jù)請(qǐng)求的不同采取不同的控制策略比如,可以規(guī)定所有的寫(xiě)請(qǐng)求都要串行執(zhí)行(因?yàn)樽x數(shù)據(jù)庫(kù)的操作不會(huì)造成數(shù)據(jù)讀取的不一致,而寫(xiě)操作就可以)或者我們可以考慮利用客戶進(jìn)行協(xié)調(diào)控制這里可以利用操作系統(tǒng)中的信號(hào)量機(jī)制定義一個(gè)IDL接口,里面可以封裝幾個(gè)控制方法(比如可以設(shè)置讀鎖!讀解鎖!寫(xiě)鎖!寫(xiě)解鎖四個(gè)方法)由客戶作為

41、中間件的對(duì)象調(diào)用這種方式可以防止死鎖,但是由于串行化的執(zhí)行寫(xiě)數(shù)據(jù)庫(kù)操作會(huì)浪費(fèi)系統(tǒng)性能,如果異構(gòu)數(shù)據(jù)庫(kù)在運(yùn)行時(shí),各子單位大部分的操作是讀取數(shù)據(jù)的話可以采用上面的方法來(lái)防止訪問(wèn)沖突2.4.4 異構(gòu)數(shù)據(jù)庫(kù)集成系統(tǒng)的安全問(wèn)題異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)有待研究的一些問(wèn)題如下:l)目前無(wú)論從理論還是從工程上對(duì)于數(shù)據(jù)庫(kù)的訪問(wèn)都己經(jīng)發(fā)展到了相對(duì)成熟的地步。然而一般都是具有領(lǐng)域背景,其通用性和效率碑勝仍然是有待研究的課題。2)現(xiàn)有數(shù)據(jù)的存在形式也是多樣化的,包括存儲(chǔ)方式、操作平臺(tái)、存儲(chǔ)結(jié)構(gòu)等等異構(gòu)性。如何通過(guò)有效的方式訪問(wèn)多個(gè)不同操作系統(tǒng)、不同終端數(shù)據(jù)庫(kù)的數(shù)據(jù),仍然需要大量的研究。如何將數(shù)據(jù)庫(kù)訪問(wèn)和傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)結(jié)合起

42、來(lái),包括數(shù)據(jù)倉(cāng)庫(kù)和E.I.L相關(guān)知識(shí)的聯(lián)合運(yùn)用,最終將數(shù)據(jù)形成有效的組織形式,并且很好地展示給用戶也是數(shù)據(jù)集成發(fā)展的方向。3 學(xué)生信息管理集成的實(shí)現(xiàn)3.1 元數(shù)據(jù)數(shù)據(jù)倉(cāng)庫(kù)中還有一種重要的數(shù)據(jù),它就叫元數(shù)據(jù)。那什么是元數(shù)據(jù)呢? 元數(shù)據(jù)(Meta Date),關(guān)于數(shù)據(jù)的數(shù)據(jù)或者叫做用來(lái)描述數(shù)據(jù)的數(shù)據(jù)或者叫做信息的信息。這些定義可能聽(tīng)起來(lái)都很是抽象,我們可以認(rèn)為元數(shù)據(jù)是最小的數(shù)據(jù)單位,或者可以理解為描述集成系統(tǒng)成員數(shù)據(jù)源內(nèi)數(shù)據(jù)的結(jié)構(gòu)和建立方法的數(shù)據(jù),這樣理解起來(lái)也更簡(jiǎn)單易懂。元數(shù)據(jù)可以為數(shù)據(jù)說(shuō)明其元素或?qū)傩裕Q、大小、數(shù)據(jù)類型、等),或其結(jié)構(gòu)(長(zhǎng)度、字段、數(shù)據(jù)列),或其相關(guān)數(shù)據(jù)(位于何處、如何聯(lián)系

43、、擁有者)。在進(jìn)行數(shù)據(jù)集成時(shí),無(wú)論是數(shù)據(jù)倉(cāng)庫(kù)還是聯(lián)邦數(shù)據(jù)庫(kù),都存在如何理解被集成數(shù)據(jù)的結(jié)構(gòu)的問(wèn)題,只有數(shù)據(jù)類型和數(shù)據(jù)代表的意義都相同時(shí)才能進(jìn)行相關(guān)操作。然而來(lái)自不同數(shù)據(jù)源的數(shù)據(jù),是根據(jù)不同的研究任務(wù)生成并由對(duì)應(yīng)的數(shù)據(jù)庫(kù)存儲(chǔ)的,在數(shù)據(jù)格式、數(shù)據(jù)內(nèi)容上存在較大的差別,而且各數(shù)據(jù)源對(duì)數(shù)據(jù)質(zhì)量的管理水平參差不齊,無(wú)法保證數(shù)據(jù)的一致性,也就是被集成數(shù)據(jù)的元數(shù)據(jù)無(wú)法達(dá)成一致,在集成時(shí)就可能會(huì)出現(xiàn)數(shù)據(jù)格式無(wú)法轉(zhuǎn)換或者強(qiáng)行轉(zhuǎn)換后部分信息丟失的問(wèn)題,使得集成后對(duì)數(shù)據(jù)的查詢與分析無(wú)法得到正確的結(jié)果,從而失去了集成的意義。因此,解決各數(shù)據(jù)源結(jié)構(gòu)的異構(gòu)性,統(tǒng)一對(duì)各數(shù)據(jù)源的元數(shù)據(jù)理解是數(shù)據(jù)集成的最主要問(wèn)題。元數(shù)據(jù)為訪問(wèn)

44、集成系統(tǒng)的成員數(shù)據(jù)源提供了一個(gè)信息目錄,全面地描述了各數(shù)據(jù)源中數(shù)據(jù)的類型、名稱、值等信息,以及數(shù)據(jù)的上下文描述信息比如數(shù)據(jù)的所屬區(qū)域、取值范圍、數(shù)據(jù)間的關(guān)系、業(yè)務(wù)規(guī)則等,同時(shí)還提供了數(shù)據(jù)的獲取方式以及如何訪問(wèn)這些數(shù)據(jù)源的信息。元數(shù)據(jù)技術(shù)能夠保證整個(gè)系統(tǒng)內(nèi)的數(shù)據(jù)一致性,比如說(shuō)教務(wù)管理系統(tǒng)的數(shù)據(jù),在校學(xué)生的住宿情況以及每個(gè)專業(yè)的上交學(xué)費(fèi)的情況,可以把學(xué)生的這些管理系統(tǒng)集成化,更能方便用戶進(jìn)行統(tǒng)一管理。在數(shù)據(jù)集成應(yīng)用領(lǐng)域,元數(shù)據(jù)是系統(tǒng)架構(gòu)中的一個(gè)關(guān)鍵要素。在數(shù)據(jù)倉(cāng)庫(kù)的環(huán)境下,主要有兩種元數(shù)據(jù):第一種元數(shù)據(jù)是為了從操作性環(huán)境向數(shù)據(jù)倉(cāng)庫(kù)轉(zhuǎn)化而建立的,涉及比較廣泛,包含了所有源數(shù)據(jù)項(xiàng)名、屬性及其在數(shù)據(jù)倉(cāng)庫(kù)

45、中的轉(zhuǎn)化;第二種元數(shù)據(jù)在數(shù)據(jù)倉(cāng)庫(kù)中是為了用來(lái)建立映射的,這種元數(shù)據(jù)稱之為DSS元數(shù)據(jù),更先進(jìn)的決策支持工具通常就是用這種元數(shù)據(jù)來(lái)開(kāi)發(fā)的,而第一種元數(shù)據(jù)不能實(shí)現(xiàn)此功能。 我們可以從元數(shù)據(jù)應(yīng)用目的來(lái)理解其意義。雖然做數(shù)據(jù)倉(cāng)庫(kù)言必稱元數(shù)據(jù),必稱技術(shù)、業(yè)務(wù)元數(shù)據(jù),元數(shù)據(jù)到底可以用在哪些方面呢?沒(méi)有目的的去談元數(shù)據(jù),就發(fā)現(xiàn)元數(shù)據(jù)包含的內(nèi)容十分豐富,因?yàn)樗敲枋鰯?shù)據(jù)的數(shù)據(jù)嘛。 1. 元數(shù)據(jù)作為集成系統(tǒng)的“信息目錄”,可以幫助系統(tǒng)理解數(shù)據(jù),元數(shù)據(jù)描述了數(shù)據(jù)系統(tǒng)中關(guān)于數(shù)據(jù)的數(shù)據(jù),例如,數(shù)據(jù)的類型,數(shù)據(jù)代表的商業(yè)含義等等,系統(tǒng)要獲取數(shù)據(jù)源中的數(shù)據(jù),必須清楚的理解數(shù)據(jù)源中數(shù)據(jù)的類型、名稱、值等信息并正確的把握數(shù)據(jù)

46、的概念、存儲(chǔ)形式和表示方法、來(lái)源等內(nèi)容,才能對(duì)數(shù)據(jù)源中的數(shù)據(jù)實(shí)現(xiàn)集成。正是因?yàn)橛辛嗽獢?shù)據(jù),建立了數(shù)據(jù)與業(yè)務(wù)之間的映射,才可以把數(shù)據(jù)按照系統(tǒng)需要的方式展示出來(lái),幫助系統(tǒng)理解和使用數(shù)據(jù)。如果對(duì)要集成的數(shù)據(jù)源的模式信息都用統(tǒng)一的元數(shù)據(jù)標(biāo)準(zhǔn)進(jìn)行了描述,將輕松實(shí)現(xiàn)數(shù)據(jù)集成和信息的交換。相反,如果元數(shù)據(jù)的建設(shè)被忽略,則要實(shí)現(xiàn)數(shù)據(jù)集成工作則相對(duì)的困難。2. 在使用的過(guò)程中元數(shù)據(jù)可以保證數(shù)據(jù)的質(zhì)量系統(tǒng),由于底層的操作對(duì)用戶來(lái)說(shuō)是保密的,當(dāng)出現(xiàn)一些不在用戶預(yù)期之內(nèi)的數(shù)據(jù)時(shí),系統(tǒng)就會(huì)對(duì)數(shù)據(jù)的可靠性與正確性產(chǎn)生疑問(wèn)。元數(shù)據(jù)記錄了數(shù)據(jù)庫(kù)中數(shù)據(jù)的來(lái)源和目標(biāo),記錄了抽取和轉(zhuǎn)換的規(guī)則,這樣數(shù)據(jù)產(chǎn)生的全過(guò)程就可以被用戶輕易的

47、掌握并理解,也使用戶的疑慮消除了。這對(duì)于用戶發(fā)現(xiàn)數(shù)據(jù)中存在的質(zhì)量問(wèn)題也是非常有幫助的,使數(shù)據(jù)的可信度大大提高了。3. 元數(shù)據(jù)使集成系統(tǒng)的適用度和可擴(kuò)展性都得到了提高,隨著集成系統(tǒng)應(yīng)用的不斷深入和擴(kuò)展,系統(tǒng)的需求也是在不斷變化的,構(gòu)造一個(gè)適應(yīng)性強(qiáng)、能夠平滑過(guò)渡到新應(yīng)用的數(shù)據(jù)集成系統(tǒng)是一個(gè)重要內(nèi)容。元數(shù)據(jù)包含了集成系統(tǒng)整個(gè)生命周期中的大量重要信息,用戶需求的變化都被反映在這些信息中,使得系統(tǒng)不用依賴特定的開(kāi)發(fā)人員就能夠迅速改變現(xiàn)有應(yīng)用或?qū)崿F(xiàn)新的功能。因此,元數(shù)據(jù)對(duì)于數(shù)據(jù)系統(tǒng)的以后的開(kāi)發(fā)具有關(guān)鍵性的作用,極大地節(jié)省了系統(tǒng)更新的成本,提高了效益。3.2 查詢處理器對(duì)于來(lái)自各LDBMS的局部查詢結(jié)果要進(jìn)行匯總,并按一定格式進(jìn)行存儲(chǔ)和顯示來(lái)查詢調(diào)度與查詢優(yōu)化。由于異構(gòu)信息集成系統(tǒng)具有分布性、異構(gòu)性和自治性的特點(diǎn),其查詢優(yōu)化也變得非常復(fù)雜。前面所討論的集合代數(shù)優(yōu)化技術(shù)在集成系統(tǒng)中可

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論