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

下載本文檔

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

文檔簡介

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

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

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

4、了本地系統(tǒng)提供的全局共享數(shù)據(jù),輸入策略指明了允許輸入本地系統(tǒng)的來自遠程節(jié)點的數(shù)據(jù)"局部輸入輸出策略構(gòu)成了全局策略的一部分 "這種系統(tǒng)只集成局部系統(tǒng)中的部分數(shù)據(jù),因而使得局部系統(tǒng)有較好的自治性 "聯(lián)邦數(shù)據(jù)庫是最簡單的一種異構(gòu) 數(shù)據(jù)庫集成方式: 各個數(shù)據(jù)源是相互獨立的 但通過數(shù)據(jù)源之間 的數(shù)據(jù)交換格式進行一一映射這種映射可以讓數(shù)據(jù)源 DB1 使 用數(shù)據(jù)源 DB2 理解的術(shù)語來訪問 DB2 數(shù)據(jù)源 也就是說不同 的數(shù)據(jù)源之間使用數(shù)據(jù)轉(zhuǎn)換接口網(wǎng)關(guān)或調(diào)用接口來實現(xiàn)數(shù)據(jù)互 訪這樣一個數(shù)據(jù)源就可以訪問任何其他數(shù)據(jù)源的信息。同時, 如果有 l1 個異構(gòu)數(shù)據(jù)源需要互連, 那么我們就

5、要去構(gòu)造 n (nl1 個映射程序來支持這 n 個異構(gòu)數(shù)據(jù)源之間的互相訪問。聯(lián)邦數(shù)據(jù)陣系統(tǒng)Orcle wrapper MS SQL wrapper Sybase wrapperX一門戶網(wǎng)站Jt圖1.1利用聯(lián)邦數(shù)據(jù)庫系統(tǒng)建立的校園管理系統(tǒng)1.2數(shù)據(jù)倉庫技術(shù)傳統(tǒng)的數(shù)據(jù)庫技術(shù)與現(xiàn)在的數(shù)據(jù)庫是有一定的區(qū)別的,傳統(tǒng)的數(shù)據(jù)庫是以單一的數(shù)據(jù)資源, 即數(shù)據(jù)庫為中心,進行事務(wù)處 理、決策分析等各種不同數(shù)據(jù)處理工作,我們把它主要劃分為兩 大類:第一類是操作型處理;第二類是分析型處理。操作型處理還有另外一種叫法,它又叫事務(wù)處理,對數(shù)據(jù)庫聯(lián)機的日常操 作其實就是事務(wù)處理,通常是對一個或一組紀錄的查詢和修改, 主要為企

6、業(yè)的特定應(yīng)用服務(wù)的, 對數(shù)據(jù)的安全性和完整性有一定 的注意力。數(shù)據(jù)倉庫是決策支持系統(tǒng)機制和聯(lián)機分析應(yīng)用數(shù)據(jù)源的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。數(shù)據(jù)倉庫的結(jié)構(gòu)體系由三部分組成:綜合信息集成服務(wù)平臺,集成后的數(shù)據(jù)倉庫,數(shù)據(jù)集成機制。數(shù)據(jù)倉庫中, 密集的數(shù)據(jù)更新處理性能和系統(tǒng)的可靠性是所有聯(lián)機事務(wù)處理 必須強調(diào)的,卻并不強調(diào)數(shù)據(jù)查詢的方便與快捷。聯(lián)機分析和事務(wù)處理對系統(tǒng)的要求不同, 即使是同一個數(shù)據(jù)庫,它們在理論上 都難以做到兩全。數(shù)據(jù)倉庫研究和解決從數(shù)據(jù)庫中獲取信息的問 題。數(shù)據(jù)倉庫異構(gòu)數(shù)據(jù)源的謀略是由幾個異構(gòu)數(shù)據(jù)源的數(shù)據(jù)副本 構(gòu)成.按照一定的要求,進行預處理、轉(zhuǎn)換,以符合數(shù)據(jù)倉庫的 模式,并存儲到數(shù)據(jù)倉庫中。讓

7、讀者在使用時就感覺像在使用普 通的數(shù)據(jù)庫一般。只要把數(shù)據(jù)存儲在數(shù)據(jù)倉庫. 使用者使用查詢 時就和以前在單一數(shù)據(jù)庫中的查詢大同小異,感覺仍然在原來單一的查詢中使用。綜合信息集成服務(wù)平臺(綜合查i旬、數(shù)抓挖掘、決策支持)7衣示應(yīng)用集成后的數(shù)據(jù)倉庫數(shù)據(jù)集成機制DB1DB2業(yè)務(wù)規(guī)則DB3ETL(ExtractTYansfbnnj.ad)圖1.2.1數(shù)據(jù)倉庫系統(tǒng)結(jié)構(gòu)多種數(shù)據(jù)資源的集成(Excel數(shù)據(jù)和文本文件)除了訪問傳統(tǒng)的RDBMS夕卜,還可以從其他地方獲取數(shù)據(jù),比如從用戶所持有的Excel數(shù)據(jù)和文本文件中。可以在同一個報表上,制成從 數(shù)據(jù)倉庫得到的銷售實績數(shù)據(jù)和 Excel的預算數(shù)據(jù)等,這樣可提 高

8、數(shù)據(jù)的利用率。數(shù)據(jù)倉庫是面對整個企業(yè)的數(shù)據(jù)應(yīng)用, 而構(gòu)筑數(shù)據(jù)中心是針對各個部門的信息應(yīng)用。數(shù)據(jù)中心的數(shù)據(jù)是按部門從數(shù)據(jù)倉庫中 抽取,并進行加工處理。數(shù)據(jù)中心構(gòu)筑工具,就是提供從數(shù)據(jù)倉 庫自動進行數(shù)據(jù)的抽出、變換功能,具有 ETL 功能,可以大幅 提高運行效率。數(shù)據(jù)倉庫最根本的特點是物理地存放數(shù)據(jù), 而且這些數(shù)據(jù)并 不是最新的、專有的,而是來源于其它數(shù)據(jù)庫的。建立數(shù)據(jù)倉庫 并不是要取代數(shù)據(jù)庫, 它是為了使信息更加完善和全面, 主要應(yīng) 用于支持高層決策分析, 而上面所提到的事務(wù)處理數(shù)據(jù)庫在企業(yè) 的信息環(huán)境中的任務(wù)是對日常的操作。 數(shù)據(jù)倉庫是數(shù)據(jù)庫技術(shù)的 一種新的應(yīng)用, 數(shù)據(jù)倉庫還是用關(guān)系數(shù)據(jù)庫管理

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

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

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

12、據(jù)倉庫的數(shù)據(jù)有來自于分散的操作型數(shù)據(jù), 在原有分散的 數(shù)據(jù)庫中由于數(shù)據(jù)倉庫的每一主題所對應(yīng)的源數(shù)據(jù)可能有重復 或不一致的地方, 加上從原有數(shù)據(jù)庫中是不能直接得到綜合數(shù)據(jù) 的。因此數(shù)據(jù)在進入數(shù)據(jù)倉庫之前必須要經(jīng)過加工與集成, 統(tǒng)一 和綜合形成集成化的數(shù)據(jù)。 數(shù)據(jù)不論來源于什么地方, 在進入數(shù) 據(jù)倉庫之前,要做的事就是必須經(jīng)過加工與集成,統(tǒng)一與綜合, 這樣才使其進人數(shù)據(jù)倉庫之后都具有統(tǒng)一的數(shù)據(jù)屬性和編碼結(jié) 構(gòu)等,這就是數(shù)據(jù)倉庫中的一致性。另一方面,數(shù)據(jù)倉庫還有其他一些特點 .比如說 ,數(shù)據(jù)倉庫不會允許用戶去更新數(shù)據(jù)。因為 ,即 使用戶更新了數(shù)據(jù)倉庫中的數(shù)據(jù)也不能反應(yīng)到原來的數(shù)據(jù)源中 , 從而會使數(shù)

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

14、件組件和 應(yīng)用的計算機軟件, 以便于運行在一臺或多臺機器上的多個軟件 通過網(wǎng)絡(luò)進行交互, 也是基于分布式處理的軟件, 網(wǎng)絡(luò)通信功能 是它的最突出的特點。 由中間件技術(shù)提供的互操作性, 推動了分 布式體系架構(gòu)的演進, 該架構(gòu)的作用是支持分布式應(yīng)用程序并使 其得到簡化。 并且, 分布式應(yīng)用軟件借助這種軟件在不同技術(shù)之 間共享資源。 需要注意的是中間件是一類軟件, 而非一種軟件 。 中間件不僅可以實現(xiàn)互聯(lián),還可以用于應(yīng)用之間的互操作。2)中間件的作用 通過管理計算資源和網(wǎng)絡(luò)通信, 為各類分布式應(yīng)用軟件共享 資源提供支撐是中間件的核心作用, 主要也是為各種應(yīng)用程序抽 象出通用的公共部分, 以降低應(yīng)用開

15、發(fā)的復雜程度。 中間件是位 于基于客戶 /服務(wù)器的操作系統(tǒng)之上、應(yīng)用系統(tǒng)之下,起到了承 上啟下作用, 系統(tǒng)軟件的復雜性, 都需要靠中間件來操作、 調(diào)和。 中間件為處于自己上層的應(yīng)用軟件提供運行與開發(fā)的環(huán)境, 使復 雜的應(yīng)用軟件可以更能得到有效地開發(fā)。中間件具有如下特點: 滿足大量應(yīng)用的需要, 只要把中間件升級, 并保持中間件對外的接口定義不變,幾乎不需修改任何應(yīng)用軟件, 這樣也就減少企業(yè) 在應(yīng)用軟件開發(fā)時的經(jīng)費圖1.3中間件系統(tǒng)服務(wù)(3)中間件的發(fā)展趨勢傳統(tǒng)的中間件產(chǎn)品種類繁雜,雖然在支持相對封閉、靜態(tài)、 穩(wěn)定、易控的企業(yè)網(wǎng)絡(luò)環(huán)境中的企業(yè)計算和信息資源共享方面取 得了巨大成功,但在新時期以開放

16、、動態(tài)、多變的互聯(lián)網(wǎng)(Internet) 為代表的網(wǎng)絡(luò)技術(shù)沖擊下, 還是顯露出了它的固有局限性用戶往 往需要采用多種不同的中間件產(chǎn)品,而中間件平臺的特點是各產(chǎn)品模塊既能夠做為單獨的中間件產(chǎn)品使用,又能夠提供完整的軟件平臺支撐功能,具備優(yōu)異的靈活性、可擴展性和可管理性?,F(xiàn)在人們的需求越來越復雜化、 多變化,單單用一種商品做成標準去推廣已經(jīng)行不通啦。 首先就是優(yōu)化企業(yè)流程, 如果不優(yōu) 化流程,不改變企業(yè)傳統(tǒng)模式和管理方法, 不吸收一些有效并且 吸引的管理模式,肯定是不會成功的。就對中間件來說,是一種 基礎(chǔ)軟件,處于操作系統(tǒng)與應(yīng)用軟件的之間,現(xiàn)在很多方面已經(jīng) 得到了一 定的優(yōu)化,如今中間件在市場中占

17、相當重要的地位, 經(jīng)過迅猛發(fā)展,也有了至關(guān)重要的軟件分類, 已經(jīng)成為網(wǎng)絡(luò)應(yīng)用 系統(tǒng)開發(fā)、集成、部署、運行和管理必不可少的工具。由于中間 件技術(shù)涉及網(wǎng)絡(luò)應(yīng)用的各個層面,涵蓋從基礎(chǔ)通訊、數(shù)據(jù)訪問到應(yīng)用集成等眾多的環(huán)節(jié),因此,中間件技術(shù)呈現(xiàn)出多樣化的發(fā)展 特點。與操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)并列為基礎(chǔ)軟件體系的三大 支柱。 那么中間件的價值到底體現(xiàn)在哪些方面呢?首先,中間件技術(shù)正在呈現(xiàn)出業(yè)務(wù)化、服務(wù)化、一體化、虛 擬化等諸多新的重要發(fā)展趨勢。 因為由一個廠商去統(tǒng)一眾多產(chǎn)品 之間的差異是不可能的,而單獨由計算機用戶在自己的應(yīng)用軟件 中去彌補其中的大片空檔, 由于技術(shù)深度和技術(shù)廣度的要求, 必 然也是勉為其

18、難。于是,中間件應(yīng)運而生。中間件試圖通過屏蔽 各種復雜的技術(shù)細節(jié)使技術(shù)問題簡單化。在中間件產(chǎn)生以前,應(yīng)用軟件直接使用操作系統(tǒng)、 網(wǎng)絡(luò)協(xié)議 和數(shù)據(jù)庫等開發(fā),這些都是計算機最底層的東西,越底層越復雜, 開發(fā)者面臨的問題也就越復雜,如操作系統(tǒng)的多樣性,繁雜的網(wǎng) 絡(luò)程序設(shè)計、管理,復雜多變的網(wǎng)絡(luò)環(huán)境,數(shù)據(jù)分散處理帶來的 不一致性問題、性能和效率、安全,等等。有人提出能不能將應(yīng)用軟件所要面臨的共性問題進行提煉、 抽象, 在操作系統(tǒng)之上再形成一個可復用的部分, 供成千上萬的 應(yīng)用軟件重復使用。這一技術(shù)思想最終構(gòu)成了中間件這類的軟 件。其次, 是中間件的普通商品化趨勢。 伴隨技術(shù)的成熟和競爭 格局的變化,

19、中間件產(chǎn)品已經(jīng)變得高貴不貴。 特別是在高端商用 中間件市場, 價格回歸到了合理的水平 .然后, 集成化的統(tǒng)一中間件平臺的管理必須具備全局的、 系 統(tǒng)化的。在一個大型網(wǎng)絡(luò)應(yīng)用中,往往會同時存在多種中間件, 此時, 平臺的管理具有典型的系統(tǒng)化特性, 那些僅針對單個中間 件實例或類型的管理, 其效果可能不明顯。 而只有全局考察系統(tǒng), 統(tǒng)籌分析和規(guī)劃,才能制定出合理有效的管理方案。同時,平臺 的管理還必須兼顧中間件產(chǎn)品之間存在的開放、 異構(gòu)、 動態(tài)等特 性。開放性意味著不同業(yè)務(wù)需求導致各種各樣中間件產(chǎn)品運行在 開放的互聯(lián)網(wǎng)之上, 需要提供有效手段使得這些中間件產(chǎn)品被有 效地管理起來, 形成一個有機整體

20、。 中間件的一體化管理也是通 過將管理模型服務(wù)化, 通過服務(wù)封裝來統(tǒng)一管理的對象、 行為和 反饋,通過服務(wù)的編排來實現(xiàn)管理的對象可動態(tài)進行自適應(yīng)。中間件使底層操作系統(tǒng)的復雜性簡化了,這就使開發(fā)者面對 的是一個簡單而統(tǒng)一的開發(fā)環(huán)境, 也就更容易操作, 不必將注意 力集中在程序等方面, 也不必再為程序由于改變了環(huán)境而不能使 用,不必再花費大量的時間在這上面, 而把心放在自己的業(yè)務(wù)上面。4)中間件所涉及的范圍極其廣泛,可以把中間件分為如下幾大類:a遠程過程調(diào)用遠程過程調(diào)用是一種分布式應(yīng)用程序處理方法,它被人們廣泛使用。一個使用 RPC來 遠程”的應(yīng)用程序,執(zhí)行一個位于不同 地址空間里的過程, 并且與

21、執(zhí)行本地調(diào)用具有相同的效果。 事實 上,通常把一個 RPC應(yīng)用分為兩個部分:第一部分是 server第 二部分是client。提供一個或多個遠程過程是由 server來執(zhí)行的; client向server發(fā)出遠程調(diào)用。server和client可以在同一臺計算 機上工作, 也可以在不同的計算機上工作, 甚至在不同的操作系 統(tǒng)之上運行。 它們通過網(wǎng)絡(luò)來傳達信號。 相應(yīng)的 stub 和運行支持 提供數(shù)據(jù)轉(zhuǎn)換和通訊服務(wù),從而屏蔽不同的操作系統(tǒng)和網(wǎng)絡(luò)協(xié) 議。在這里 RPC 通訊是同步的。采用線程可以進行異步調(diào)用。b、面向消息的中間件MOM 指的是利用高效可靠的消息傳遞機制進行平臺無關(guān)的 數(shù)據(jù)交流, 并

22、基于數(shù)據(jù)通信來進行分布式系統(tǒng)的集成。 通過提供 消息傳遞和消息排隊模型,它可在分布環(huán)境下擴展進程間的通 信,并支持多通訊協(xié)議、語言、應(yīng)用程序、硬件和軟件平臺。消 息傳遞和排隊技術(shù)有以下三個主要特點:通訊程序可在不同的時間運行 :程序不在網(wǎng)絡(luò)上直接相互通 話,而是間接地將消息放入消息隊列, 因為程序間沒有直接的聯(lián) 系。所以它們不必同時運行。消息放入適當?shù)年犃袝r,目標程序 甚至根本不需要正在運行; 當在運行目標程序時, 也不一定必須 馬上處理該消息。對應(yīng)用程序的結(jié)構(gòu)是沒有約束條件的 :在復雜度比較大的應(yīng) 用場合中, 通訊程序之間不僅可以是一一對應(yīng)的關(guān)系, 還可以是 一對多和多對一的方式, 甚至可以

23、把上述幾種情況都組合起來應(yīng) 用。而且,多種通訊方式的構(gòu)造并沒有使使用者應(yīng)用該應(yīng)用程序 時感覺到復雜。程序與網(wǎng)絡(luò)復雜性是沒有多大聯(lián)系的 :程序既可以將消息放 入消息隊列也可以從消息隊列中取出消息進行通訊。C、對象請求代理隨著對象技術(shù)與分布式計算技術(shù)的發(fā)展, 對象技術(shù)和分布式 計算機技術(shù)已經(jīng)相互結(jié)合形成了分布對象計算, 如今成為了軟件 技術(shù)的關(guān)鍵。 對象管理結(jié)構(gòu)和對象管理代理已經(jīng)成為這個模式的 核心部分, 提供一個通信框架, 透明地在異構(gòu)的分布計算環(huán)境中 傳遞對象請求是它的主要的作用。對象請求代理 (ORB) 是對象總線, 它在 CORBA 規(guī)范中占著極其重要的作用,定義異構(gòu)環(huán) 境下對象透明地發(fā)送

24、請求和接收響應(yīng)的基本機制, 是建立對象之 間 Client/server 關(guān)系的中間件。 ORB 使得對象可以透明地向其他 對象發(fā)出請求或接受其他對象的響應(yīng), 這些對象可以位于不同的 地方,可以稍微遠點,也可以稍微近點,就在本地。 ORB 攔截 請求調(diào)用,并負責找到可以實現(xiàn)請求的對象、傳送參數(shù)、調(diào)用相 應(yīng)的方法、返回結(jié)果等。 client 對象并不知道同 server 對象通訊、 激活或存儲server對象的機制,也不必知道server對象位于何處、 它是用何種語言實現(xiàn)的、 使用什么操作系統(tǒng)或其他不屬于對象接 口的系統(tǒng)成分。值得指出的是client和server角色只是協(xié)調(diào)對象之間的橋梁, 根

25、據(jù)相應(yīng)的場合,ORB上的對象可以是client,也可以是server, 甚至兼有兩者。當對象發(fā)出一個請求時,它是處于 client 角色; 當它在接收請求時,它就處于server角色。大部分的對象都是既 扮演 client 角色又扮演 server 角色。另外由于 ORB 負責對象請 求的傳送和 server 的管理, client 和 server 之間并不直接連接, 因此,與 RPC 所支持的單純的 Client/Server 結(jié)構(gòu)相比, ORB 可 以支持更加復雜的結(jié)構(gòu)。d、事務(wù)處理監(jiān)控事務(wù)處理監(jiān)控 (Transaction processing monitors) 最早出現(xiàn)在 大型機上

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

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

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

29、庫來實現(xiàn)異構(gòu)數(shù)據(jù)庫集成中的關(guān) 聯(lián)查詢與共享問題,實現(xiàn)校內(nèi)資源整合。中間件位于異構(gòu)數(shù)據(jù)庫 系統(tǒng)數(shù)據(jù)層和應(yīng)用程序應(yīng)用層之間,向下協(xié)調(diào)各數(shù)據(jù)庫系統(tǒng),向 上為訪問集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一數(shù)據(jù)模式,該方法不需要改變原始數(shù)據(jù)的存儲和管理方式。為了較好地解決校園應(yīng)用系統(tǒng)間系統(tǒng)資源集成分布和異構(gòu) 等問題, 使得數(shù)據(jù)信息的交互變得更為透明, 在數(shù)據(jù)庫集成方面 還會用到 XML ,XML 是 Extensible Markup Language 的簡寫, 是由 W3C 所發(fā)展的??梢陨暇W(wǎng)頁設(shè)計人員自行定義 TAG 的延伸 格式, 可以用在自由性的數(shù)據(jù)庫或是各種文件格式上, 用來接收 與應(yīng)用各種網(wǎng)頁的須求。 XML

30、具有良好的可靠性與互操作, 并 且它是基于 WEB 工作設(shè)計的,更適于網(wǎng)絡(luò)化環(huán)境。利用 XML 可以將一卡通異構(gòu)數(shù)據(jù)庫很好的集成在一下, 便于用戶在網(wǎng)絡(luò)上 進行查詢。XML具有以下優(yōu)越性:(1) XML 是一種半結(jié)構(gòu)化的數(shù)據(jù)模型,它的自我描述性質(zhì)能 夠很好地表現(xiàn)許多復雜的數(shù)據(jù)關(guān)系,結(jié)構(gòu)簡單明了。(2) XML 的數(shù)據(jù)與格式無關(guān),它的數(shù)據(jù)存儲格式不會受顯示 格式的制約。XML能把文檔的數(shù)據(jù)、結(jié)構(gòu)以及顯示方式三個要素 獨立開來,分別處理。首先把顯示格式從數(shù)據(jù)內(nèi)容中獨立出來, 保存在樣式單文件 (StyleSheet) 中,這樣如果需要改變文檔的顯 示方式,只要修改樣式單文件就行了。(3) 便于數(shù)據(jù)

31、查詢。XML的文檔描述的語義非常清楚,而且很容易就可以將它和關(guān)系數(shù)據(jù)庫中的屬性一一對應(yīng)起來, 所以不 論上一數(shù)據(jù)庫查詢還是基于Web上的內(nèi)容查詢都能夠支持實施十分精確的查詢。如圖 2.2 是基于基于 XML 中間件高校一卡通異構(gòu)數(shù)據(jù)庫集 成圖H申勾 癥血+;吋"欄中 巾nJ們FSS 代卻屯 utMI-i r產(chǎn)r訂U壯,杜著掙I -卩叮fT全心扌地f0T w wu詢燼3 qi周葉FvletltLilor 中介濰UP門血刪f 2垂二篌.入UH好TTr33EW "!耳r燉埶asWrsippOi1 包食昭V'iappoi1 包裝3# JaqFTYTTITSoaker圖2.2

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

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

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

35、辦公等各個方面的數(shù)據(jù)庫, 所以建立這樣的語法也有一 定的難度。對數(shù)據(jù)庫而言,命名規(guī)則指表名和字段名。語法異構(gòu) 相對簡單,只要實現(xiàn)字段到字段、記錄到記錄的映射,解決其中 的名字沖突和數(shù)據(jù)類型沖突。 這種映射都很直接, 比較容易實現(xiàn)。 因此, 語法異構(gòu)無需關(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ù)庫的異構(gòu)消解 在異構(gòu)數(shù)據(jù)庫系統(tǒng)集成中可以采用建立全局統(tǒng)一的公共數(shù) 據(jù)模式來實現(xiàn)異構(gòu)模式的消解。 要設(shè)計公共數(shù)據(jù)模型的首要要求 就是通用性 ,要能夠表示各種數(shù)據(jù)庫中不同格式的數(shù)據(jù) ,另外還要 有靈活性 ,以適應(yīng)各個局部數(shù)據(jù)庫的各種不同情況

36、。為此 ,我們可 以定義模型里的數(shù)據(jù)如下 :enumtypet_int,t_float,t_string,t_date, ;/定義全局數(shù)據(jù)類struct fied / 定義模型里的數(shù)據(jù)String<n> name; /定義字段名type data_type; 字段類型any value;/ 字段值;/這里的 type 定義的類型與中間件的語言定義的數(shù)據(jù)類型 對應(yīng)。消解原則 :局部數(shù)據(jù)庫返回全局的結(jié)果數(shù)據(jù),用戶發(fā)向全局 的修改或是插入數(shù)據(jù), 全局發(fā)給局部的修改或是插入數(shù)據(jù)都必須 經(jīng)過公共數(shù)據(jù)模型轉(zhuǎn)換成公共格式表示。消解過程 :任何局部數(shù)據(jù)庫數(shù)據(jù)類型都轉(zhuǎn)換成上述定義中的 type 中的

37、一種類型 ,這些類型是集成系統(tǒng)自己定義的 ,其中 any 類 型起到統(tǒng)一傳輸任何類型的作用 ,轉(zhuǎn)換成公共數(shù)據(jù)類型的數(shù)據(jù)均 又以any類型傳輸,這樣就可以實現(xiàn)本系統(tǒng)異構(gòu)的消解。但此種 方法可能會由于公共模型定義的局限性而出現(xiàn)異構(gòu)消解的失敗。2.4.2 異構(gòu)數(shù)據(jù)庫的查詢處理 查詢處理是異構(gòu)信息集成系統(tǒng)的關(guān)鍵技術(shù)之一,查詢分解、 查詢調(diào)度和查詢優(yōu)化是查詢處理的核心內(nèi)容。 通過定義集成系統(tǒng) 中查詢處理的基本概念, 分析 XML 查詢的基本特點和要求, 選 定 XQuery 作為面向 XIDM 模型的查詢語言, 給出了查詢處理 的基本體系結(jié)構(gòu)。查詢后處理是根據(jù)查詢計劃進行調(diào)度并通過后處理操作完 成中間結(jié)

38、果組裝的過程, 后處理操作主要由全局查詢涉及的所有 場地間運算來完成。 通過對關(guān)系代數(shù)中的關(guān)系操作進行擴展, 定 義了面向 XIDM 模型的基于路徑的元素簇操作,即 XRA 代 數(shù),用于表達查詢后處理中子查詢結(jié)果的合并處理。 給出了查詢 后處理的轉(zhuǎn)換規(guī)則, 提出了一種連接樹結(jié)構(gòu)來表達集成系統(tǒng)的查 詢后處理操作, 并對其進行規(guī)范化處理。 通過引入連接圖的概念, 將連接規(guī)范樹轉(zhuǎn)換為等價的連接圖, 供查詢后處理調(diào)度使用, 在 此基礎(chǔ)上,給出了基于連接圖的查詢后處理多級并發(fā)調(diào)度算法, 以盡可能提高查詢后處理執(zhí)行的并發(fā)性。查詢優(yōu)化是異構(gòu)信息集成系統(tǒng)中非常重要而又十分復雜的 問題。 針對查詢后處理中的場地

39、間運算代價, 分析了影響后處理 優(yōu)化的代價參數(shù),給出了局部數(shù)據(jù)源代價和通信代價的估計方 法。連接運算往往是查詢處理中開銷最大的運算, 以場地間連接 和外連接運算組成的連接圖為基礎(chǔ), 給出了一種基于最小生成樹 的靜態(tài)優(yōu)化算法 MST-SO 和一種基于統(tǒng)計推理的動態(tài)優(yōu)化方法 SR-DO ,以及結(jié)合這兩種方法的混合優(yōu)化策略, 并通過實驗仿真 的方法對它們的優(yōu)化性能進行了實驗分析和性能比較, 實驗證明 混合優(yōu)化的性能更優(yōu)。(1)異構(gòu)信息集成中的查詢分解處理 異構(gòu)信息集成系統(tǒng)的目標是從網(wǎng)絡(luò)環(huán)境中多個分布異構(gòu)數(shù) 據(jù)源中查詢所需要的數(shù)據(jù) ,并把這些查詢結(jié)果進行整合 ,將最終整 合的結(jié)果提交給用戶。在異構(gòu)信息

40、集成系統(tǒng)中,查詢處理要解決全局查詢語言與局部查詢語言的差異、全局查詢分解、查詢?nèi)蝿?wù)的分派及調(diào)度等問題。本文提出一種SQL查詢請求的RAC表示 方法,并基于該表示方法提出一種查詢分解算法,以完成全局查詢到局部查詢的轉(zhuǎn)換。(2)異構(gòu)信息集成中的查詢并發(fā)調(diào)度在異構(gòu)信息集成系統(tǒng)的查詢處理過程中,一個很重要的步驟是對查詢分解得到的子查詢進行調(diào)度。由于局部數(shù)據(jù)源的自治、 局部權(quán)能的動態(tài)變化、查詢語言的異構(gòu)、查詢處理能力的差異、 全局中局部信息的缺乏等,都使得查詢后處理并發(fā)調(diào)度變得非常 困難。本文基于ZPL協(xié)議提出一種對SQL基本操作加鎖算法對 異構(gòu)信息集成進行查詢,在一定程度上提高了事務(wù)的并發(fā)度。XMLX

41、MLSQLHTTPIM JJV1XSLXMLCSSFK>M圖2.4.2異構(gòu)數(shù)據(jù)庫的查詢系統(tǒng)243異構(gòu)數(shù)據(jù)庫并發(fā)控制并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作,避免造成數(shù)據(jù)的不一致性 ,使一個用戶事務(wù)的執(zhí)行不受其他事務(wù)的干擾,其主要目標是保證數(shù)據(jù)庫中數(shù)據(jù)的一致性。在異構(gòu)數(shù)據(jù)庫集成系統(tǒng)中,異構(gòu)數(shù)據(jù)庫事務(wù)也可能在同一站點上并發(fā)運行和存取共享數(shù)據(jù),且彼此潛在地存在相互干擾, 如果不對并發(fā)執(zhí)行的程序進行必要 的控制 ,那么即使沒有故障和程序的錯誤也會破壞數(shù)據(jù)庫的一致 性和完整性。因此 ,衡量一個數(shù)據(jù)庫系統(tǒng)功能強弱和性能好壞的 重要標志之一是一個數(shù)據(jù)庫系統(tǒng)有無并發(fā)控制機制,以及并發(fā)控制機構(gòu)的優(yōu)劣。 并發(fā)

42、控制的功能就是控制這些異構(gòu)數(shù)據(jù)庫事務(wù)沖 突操作的交錯執(zhí)行 ,以保證各異構(gòu)數(shù)據(jù)庫的完整性,與傳統(tǒng)數(shù)據(jù) 庫系統(tǒng)并發(fā)不同的是 ,異構(gòu)數(shù)據(jù)庫系統(tǒng)中需要處理全局事務(wù)并發(fā) 和局部事務(wù)并發(fā)。 本節(jié)結(jié)合 SQL 的事務(wù)模型 ,并根據(jù) ZPL 分層封 鎖機制的并發(fā)控制方法提出了一個基于操作的封鎖并發(fā)控制機 制。用戶使用全局查詢語言提交一個全局查詢, 集成系統(tǒng)接收查 詢并進行語法檢查。 這里的語法檢查除了需要檢查查詢語言的正 確性外, 還要根據(jù)全局模式中的信息對其進行語義上的檢查。 檢 驗正確后, 查詢管理器根據(jù)全局模式信息將該查詢分解成若干個 子查詢, 每個子查詢對應(yīng)于一個局部數(shù)據(jù)源。 查詢管理器確定出 一個執(zhí)

43、行計劃, 說明需要訪問哪些局部數(shù)據(jù)源、 如何組裝中間結(jié) 果、在哪里執(zhí)行全局處理等。啟動并執(zhí)行查詢計劃。查詢計劃經(jīng) 過優(yōu)化后, 將這些子查詢發(fā)送給各個局部數(shù)據(jù)源包裝器; 包裝器 將其轉(zhuǎn)換成針對局部數(shù)據(jù)源的查詢語言, 然后將轉(zhuǎn)換后的子查詢 發(fā)送到對應(yīng)的局部數(shù)據(jù)源執(zhí)行引擎上去執(zhí)行。 各局部數(shù)據(jù)源執(zhí)行 得到的子查詢結(jié)果經(jīng)過包裝器轉(zhuǎn)換成公共數(shù)據(jù)模型表達的形式, 查詢后處理操作合并由各包裝器返回的中間結(jié)果, 并組成最終的 全局查詢結(jié)果返回給集成系統(tǒng)的全局用戶。數(shù)據(jù)庫系統(tǒng)的異構(gòu)性和局部自治性使得并發(fā)控制更加復雜化 "這是由于幾個方面決定的 :(1)局部數(shù)據(jù)庫的增多增加了產(chǎn)生沖突請求的可能性 &qu

44、ot; (2)分布式網(wǎng)絡(luò)的時延也能造成訪問沖突 " 我們可以根據(jù)兩端提交協(xié)議設(shè)計一個預防死鎖的方法 :由全 局庫截獲所有的客戶請求 ,根據(jù)請求的不同采取不同的控制策略 " 比如 ,可以規(guī)定所有的寫請求都要串行執(zhí)行 (因為讀數(shù)據(jù)庫的操作 不會造成數(shù)據(jù)讀取的不一致 ,而寫操作就可以 )" 或者我們可以考 慮利用客戶進行協(xié)調(diào)控制 "這里可以利用操作系統(tǒng)中的信號量機 制定義一個 IDL 接口 ,里面可以封裝幾個控制方法 (比如可以設(shè)置 讀鎖!讀解鎖 !寫鎖!寫解鎖四個方法 )由客戶作為中間件的對象調(diào) 用 "這種方式可以防止死鎖 ,但是由于串行化的執(zhí)行寫

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

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

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

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

49、一種元數(shù)據(jù)是 為了從操作性環(huán)境向數(shù)據(jù)倉庫轉(zhuǎn)化而建立的, 涉及比較廣泛, 包 含了所有源數(shù)據(jù)項名、 屬性及其在數(shù)據(jù)倉庫中的轉(zhuǎn)化; 第二種元 數(shù)據(jù)在數(shù)據(jù)倉庫中是為了用來建立映射的,這種元數(shù)據(jù)稱之為 DSS 元數(shù)據(jù),更先進的決策支持工具通常就是用這種元數(shù)據(jù)來開 發(fā)的,而第一種元數(shù)據(jù)不能實現(xiàn)此功能。我們可以從元數(shù)據(jù)應(yīng)用目的來理解其意義。雖然做 數(shù)據(jù)倉庫言必稱元數(shù)據(jù),必稱技術(shù)、業(yè)務(wù)元數(shù)據(jù),元數(shù)據(jù)到 底可以用在哪些方面呢?沒有目的的去談元數(shù)據(jù),就發(fā)現(xiàn)元數(shù)據(jù)包含的內(nèi)容十分豐富,因為它是描述數(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ù),例

50、如,數(shù)據(jù)的 類型,數(shù)據(jù)代表的商業(yè)含義等等,系統(tǒng)要獲取數(shù)據(jù)源中的數(shù)據(jù), 必須清楚的理解數(shù)據(jù)源中數(shù)據(jù)的類型、 名稱、 值等信息并正確的 把握數(shù)據(jù)的概念、存儲形式和表示方法、來源等內(nèi)容,才能對數(shù) 據(jù)源中的數(shù)據(jù)實現(xiàn)集成。 正是因為有了元數(shù)據(jù), 建立了數(shù)據(jù)與業(yè) 務(wù)之間的映射, 才可以把數(shù)據(jù)按照系統(tǒng)需要的方式展示出來, 幫 助系統(tǒng)理解和使用數(shù)據(jù)。 如果對要集成的數(shù)據(jù)源的模式信息都用 統(tǒng)一的元數(shù)據(jù)標準進行了描述, 將輕松實現(xiàn)數(shù)據(jù)集成和信息的交 換。相反,如果元數(shù)據(jù)的建設(shè)被忽略,則要實現(xiàn)數(shù)據(jù)集成工作則 相對的困難。2. 在使用的過程中元數(shù)據(jù)可以保證數(shù)據(jù)的質(zhì)量系統(tǒng),由于 底層的操作對用戶來說是保密的, 當出現(xiàn)一

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

溫馨提示

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

評論

0/150

提交評論