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