胡德森 廣東工業(yè)大學(xué)華立學(xué)院 廣州增城 511325
?
基于異構(gòu)數(shù)據(jù)庫在信息系統(tǒng)中的應(yīng)用分析
胡德森 廣東工業(yè)大學(xué)華立學(xué)院 廣州增城 511325
【文章摘要】
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,各單位都建立了相應(yīng)的信息系統(tǒng),這些系統(tǒng)確實(shí)提高了工作效率,但孤立分散的數(shù)據(jù)無法實(shí)現(xiàn)數(shù)據(jù)及時(shí)更新及共享,在很大程度上是在獨(dú)立運(yùn)行,缺乏統(tǒng)一的規(guī)劃和信息標(biāo)準(zhǔn)。基于這種信息標(biāo)準(zhǔn)化和信息資源共享的迫切性,最為有效的方法就是數(shù)據(jù)集成及同步處理,本方通過對(duì)異構(gòu)數(shù)據(jù)進(jìn)行分析,提出了相關(guān)的應(yīng)用方式。
【關(guān)鍵詞】
異構(gòu)數(shù)據(jù)庫;數(shù)據(jù)集成;數(shù)據(jù)同步;信息共享
由于異構(gòu)數(shù)據(jù)庫系統(tǒng)有著各自的數(shù)據(jù)庫管理系統(tǒng),每個(gè)數(shù)據(jù)庫系統(tǒng)在加入異構(gòu)數(shù)據(jù)庫系統(tǒng)之前本身就已經(jīng)存在自己的DMBS,缺乏統(tǒng)一的規(guī)劃和信息標(biāo)準(zhǔn),難以適應(yīng)在大數(shù)據(jù)時(shí)代信息共享的要求,因此要將各自的應(yīng)用特性加以統(tǒng)籌,以局部數(shù)據(jù)庫模式為基礎(chǔ),采用數(shù)據(jù)集成和同步技術(shù),建立全局的數(shù)據(jù)模式,從而使相關(guān)的多個(gè)數(shù)據(jù)庫系統(tǒng)的集合成一個(gè)整體異構(gòu)數(shù)據(jù)庫系統(tǒng),可以實(shí)現(xiàn)數(shù)據(jù)的共享和透明訪問。同時(shí),使得異構(gòu)數(shù)據(jù)庫的各個(gè)組成部分具有自身的自治性,實(shí)現(xiàn)數(shù)據(jù)共享的同時(shí),每個(gè)數(shù)據(jù)庫系統(tǒng)仍保有自己的應(yīng)用特性、完整性控制和安全性控制。
異構(gòu)數(shù)據(jù)庫系統(tǒng)在未統(tǒng)籌之前,其異構(gòu)性主要體現(xiàn)在以下方面:
1.1系統(tǒng)異構(gòu),包括數(shù)據(jù)源所依賴的應(yīng)用系統(tǒng)、操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)之間的不同構(gòu)成了系統(tǒng)異構(gòu)。
1.1.1計(jì)算機(jī)體系結(jié)構(gòu)的異構(gòu),各個(gè)參與互聯(lián)的數(shù)據(jù)庫可以分別運(yùn)行在大型機(jī)、小型機(jī)、工作站、或嵌入式系統(tǒng)中,而各種硬件性能的差異導(dǎo)致數(shù)據(jù)庫共享的不協(xié)調(diào)。
1.1.2操作系統(tǒng)的異構(gòu),各個(gè)數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)操作系統(tǒng)可以是Windows NT、Unix等,而這些操作系統(tǒng)之間本身就存在兼容性差異。
1.1.3數(shù)據(jù)庫可以同為關(guān)系型數(shù)據(jù)庫系統(tǒng)的SQL 、Oracle等,也可以是不同數(shù)據(jù)模型的數(shù)據(jù)庫,如關(guān)系、網(wǎng)絡(luò)、面向?qū)ο蟮龋@些不同的數(shù)據(jù)模型直接導(dǎo)致數(shù)據(jù)庫系統(tǒng)的差異。
1.2模式異構(gòu),數(shù)據(jù)源在存儲(chǔ)模式上的不同。一般的存儲(chǔ)模式包括關(guān)系模式、對(duì)象模式、對(duì)象關(guān)系模式和文檔嵌套模式等幾種,其中關(guān)系模式為主流存儲(chǔ)模式。
2.1異構(gòu)數(shù)據(jù)庫集成模式
集成模式就是在異構(gòu)數(shù)據(jù)的情況下,通過建立中心數(shù)據(jù)倉庫,從集成的角度提供訪問來達(dá)到數(shù)據(jù)的集成,把數(shù)據(jù)從源到目標(biāo)進(jìn)行批量數(shù)據(jù)處理,在保證事務(wù)完整性的同時(shí),也保證數(shù)據(jù)的完整性。因此實(shí)施過程要簡單易用、流程化、易擴(kuò)展,這樣項(xiàng)目的實(shí)施過程才能高效。
2.2確立集成總體架構(gòu)
對(duì)數(shù)據(jù)集成架構(gòu)采用集線型的架構(gòu),即引入集成中心數(shù)據(jù)庫,將各系統(tǒng)與集成中心數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,使得各系統(tǒng)與集成中心庫之間通過集成工具彼此互連互通,從而實(shí)現(xiàn)源數(shù)據(jù)庫與中心庫的數(shù)據(jù)集成。
2.3異構(gòu)數(shù)據(jù)集成實(shí)現(xiàn)
2.3.1將原有的數(shù)據(jù)移植到新的數(shù)據(jù)管理系統(tǒng)中來,為了集成不同類型的數(shù)據(jù),在進(jìn)行數(shù)據(jù)集成之前,必須將一些非傳統(tǒng)的數(shù)據(jù)類型轉(zhuǎn)化成新的數(shù)據(jù)類型,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行統(tǒng)一處理,將數(shù)據(jù)源多樣化、質(zhì)量差、標(biāo)準(zhǔn)不統(tǒng)一、容易產(chǎn)生異常的數(shù)據(jù)庫進(jìn)行整合,集成具有統(tǒng)一格式和標(biāo)準(zhǔn)的、穩(wěn)定的數(shù)據(jù)集合。但這種集成方式可能隨著數(shù)據(jù)管理系統(tǒng)的升級(jí),原來的相關(guān)應(yīng)用軟件可能需要更改或重新開發(fā),才能適應(yīng)新的數(shù)據(jù)管理系統(tǒng)。
2.3.2利用中間件集成異構(gòu)數(shù)據(jù)庫,新一代的數(shù)據(jù)集成工具(如OracleDataIntegrator)可提供集成平臺(tái),針對(duì)面向事件的體系架構(gòu)或者面向服務(wù)的體系架構(gòu),也可用其它中間件方式(如Middleware)定義統(tǒng)一的數(shù)據(jù)交互接口,對(duì)源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫進(jìn)行差異化的區(qū)分,并進(jìn)行快速的大數(shù)據(jù)集成、捕獲、轉(zhuǎn)換處理,達(dá)到集成的效果,確保數(shù)據(jù)的一致性和正確性。
該方式不需要改變?cè)袛?shù)據(jù)的存儲(chǔ)和管理方式,因?yàn)橹虚g件位于異構(gòu)數(shù)據(jù)庫系統(tǒng)(數(shù)據(jù)層)和應(yīng)用程序(應(yīng)用層)之間,向上可為訪問集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一數(shù)據(jù)模式及數(shù)據(jù)訪問的通用接口,而其向下可協(xié)調(diào)各數(shù)據(jù)庫系統(tǒng)完成它們各自的任務(wù),中間件系統(tǒng)可集中為異構(gòu)數(shù)據(jù)源提供高層次的檢索服務(wù)功能。
2.3.3對(duì)于集成的數(shù)據(jù),需要在傳統(tǒng)的數(shù)據(jù)模式上擴(kuò)展用于集成的字段,包括數(shù)據(jù)庫的結(jié)構(gòu)、字段映射關(guān)系、字段轉(zhuǎn)換關(guān)系、數(shù)據(jù)集成周期等,將集成的系統(tǒng)數(shù)據(jù)庫形成一份需求文檔,用以描述提供給集成中心庫的數(shù)據(jù)庫數(shù)據(jù)庫的版本類型、訪問權(quán)限、訪問端口等信息。
3.1異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步構(gòu)想
不同信息系統(tǒng)的數(shù)據(jù)交換,最大的障礙就是異構(gòu)數(shù)據(jù)庫的不匹配,可以設(shè)計(jì)一種異構(gòu)數(shù)據(jù)庫同步系統(tǒng),實(shí)現(xiàn)每個(gè)數(shù)據(jù)庫之間的數(shù)據(jù)邏輯同步,要對(duì)存在異構(gòu)特征的源數(shù)據(jù)庫與目標(biāo)數(shù)據(jù)庫之間進(jìn)行同步處理,可以較好地實(shí)現(xiàn)數(shù)據(jù)捕獲、檢測(cè)及轉(zhuǎn)換,從而實(shí)現(xiàn)數(shù)據(jù)文件的傳輸及解析,最終完成異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)同步。
3.2同步策略的實(shí)現(xiàn)
3.2.1在設(shè)計(jì)同步系統(tǒng)時(shí),讓系統(tǒng)中的客戶端和服務(wù)器端之間采用一種數(shù)據(jù)同步交互規(guī)則,如:定時(shí)同步等。在數(shù)據(jù)掃描過程中,先將這些數(shù)據(jù)的結(jié)構(gòu)、類型和名稱,進(jìn)行專門的定義,以區(qū)別各數(shù)據(jù)實(shí)體的差異。并建立觸發(fā)器記錄表的變化情況,在源數(shù)據(jù)庫建立增、刪、改觸發(fā)器,然后根據(jù)變化登記表進(jìn)行處理。這樣做的優(yōu)點(diǎn)是充分結(jié)合業(yè)務(wù)進(jìn)程進(jìn)行處理,保持?jǐn)?shù)據(jù)的一致性、完整性,特別是實(shí)時(shí)性較強(qiáng)時(shí),對(duì)多個(gè)數(shù)據(jù)源合并有非常大的優(yōu)勢(shì)。
3.2.2客戶端可以根據(jù)某種異構(gòu)規(guī)則來掃描數(shù)據(jù),通過分析源數(shù)據(jù)庫日志,來獲得源數(shù)據(jù)庫中的變化的數(shù)據(jù)。使用這種方式,其可能的缺點(diǎn)是會(huì)出現(xiàn)一定的延時(shí)。也可采用局部查詢、遠(yuǎn)程查詢和全局查詢等手段,遍歷站點(diǎn)中的數(shù)據(jù);也可將數(shù)據(jù)復(fù)制到緩存,再對(duì)緩存中的數(shù)據(jù)進(jìn)行復(fù)制,可避免復(fù)制記錄的沖突性。
3.2.3在進(jìn)行數(shù)據(jù)模型轉(zhuǎn)換時(shí),如果對(duì)數(shù)據(jù)庫進(jìn)行定義模式轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)換,可能會(huì)引起同一數(shù)據(jù)集合在系統(tǒng)中存在不同副本,這樣就要引入新的訪問控制機(jī)制,以維護(hù)其數(shù)據(jù)的完整性和安全性;如果不產(chǎn)生新的副本,目的數(shù)據(jù)庫定義模型還是對(duì)源數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)進(jìn)行訪問,則數(shù)據(jù)處理語言必須進(jìn)行事務(wù)級(jí)的翻譯才能繼續(xù)執(zhí)行。
3.2.4接下來就是對(duì)數(shù)據(jù)進(jìn)行加解密及冗余處理,最終實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫中數(shù)據(jù)鏈的同步轉(zhuǎn)換,并確保數(shù)據(jù)的高可靠性和息傳遞的一致性。在轉(zhuǎn)換的過程中,要想實(shí)現(xiàn)嚴(yán)格的等價(jià)轉(zhuǎn)換是比較困難的。因?yàn)橐_定兩種模型中所存在的各種語法和語義上的沖突,這些沖突可能包括幾種:一是命名沖突:即源模型中的標(biāo)識(shí)符可能是目的模型中的保留字,這時(shí)就需要重新命名;二是格式?jīng)_突:同一種數(shù)據(jù)類型可能有不同的表示方法和語義差異,這時(shí)需要定義兩種模型之間的變換函數(shù);三是結(jié)構(gòu)沖突:如果兩種數(shù)據(jù)庫系統(tǒng)之間的數(shù)據(jù)定義模型不同,如分別為關(guān)系模型和層次模型,那么需要重新定義實(shí)體屬性和聯(lián)系,以防止屬性或聯(lián)系信息的丟失。
4.1由于不同的數(shù)據(jù)庫之間的數(shù)據(jù)定義模型不同,有的是關(guān)系模型,有的是層次模型,則需要重新定義實(shí)體屬性和聯(lián)系,以防止屬性或聯(lián)系信息的丟失。
4.2如果用轉(zhuǎn)換工具進(jìn)行包括數(shù)據(jù)定義模式轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)換的類型轉(zhuǎn)換,將源數(shù)據(jù)庫模型轉(zhuǎn)化為目標(biāo)數(shù)據(jù)庫模型,則可采用訪問控制機(jī)制和并發(fā)機(jī)制,以保證各數(shù)據(jù)庫的完整性和安全性,然后裝入數(shù)據(jù)后,進(jìn)行數(shù)據(jù)重組,同時(shí)去掉冗余的關(guān)聯(lián)信息。
4.3如果數(shù)據(jù)庫轉(zhuǎn)換只進(jìn)行數(shù)據(jù)定義轉(zhuǎn)換,應(yīng)利用目標(biāo)數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)處理語言,實(shí)現(xiàn)數(shù)據(jù)的透明訪問,可以將開放式數(shù)據(jù)庫互連(ODBC)作為存取數(shù)據(jù)的標(biāo)準(zhǔn)應(yīng)用接口,使數(shù)據(jù)庫系統(tǒng)具有很好的開放性。
4.4如果使用中間件集成全局?jǐn)?shù)據(jù)模式,則不論各數(shù)據(jù)庫系統(tǒng)的運(yùn)行環(huán)境如何更新,初始定義的統(tǒng)一數(shù)據(jù)交互接口應(yīng)保持不變,同時(shí)通過API形式提供的軟件服務(wù),才具有良好的可擴(kuò)展性和互通性。
本文主要針對(duì)異構(gòu)數(shù)據(jù)庫在信息系統(tǒng)中的數(shù)據(jù)集成與數(shù)據(jù)同步問題進(jìn)行了研究,通過對(duì)不同數(shù)據(jù)庫間的信息資源處理,不僅集成了具有統(tǒng)一格式和標(biāo)準(zhǔn)的、穩(wěn)定的數(shù)據(jù)集合,而且實(shí)現(xiàn)客戶端和服務(wù)器端異構(gòu)數(shù)據(jù)庫的信息傳輸與共享,也方便數(shù)據(jù)庫能夠?qū)崿F(xiàn)數(shù)據(jù)庫同步,數(shù)據(jù)的一致性得到維護(hù)。
【參考文獻(xiàn)】
[1]林源,陳志泊.分布式異構(gòu)數(shù)據(jù)庫同步系統(tǒng)的研究與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(31)
[2]陳敏,姜大慶.基于工作流的服務(wù)集成研究[J].信息與電腦(理論版),2015(18)
[3]鄒盟軍,楊瑩,王建紅.分布式非結(jié)構(gòu)數(shù)據(jù)管理平臺(tái)的應(yīng)用研究[J].電力信息與通信技術(shù),2015(09)
[4]賈彩虹,趙文劍,鄧記才.基于XML的異構(gòu)數(shù)據(jù)集成系統(tǒng)的研究與設(shè)計(jì)[J].河南科技,2014(21)