• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于XML異構(gòu)數(shù)據(jù)庫中數(shù)據(jù)遷移技術(shù)的研究

      2014-10-21 12:49:13黃曉川楊曉鵬黃琛
      科技視界 2014年34期

      黃曉川 楊曉鵬 黃琛

      【摘 要】本文詳細研究分析了傳統(tǒng)三大經(jīng)典數(shù)據(jù)集成體系結(jié)構(gòu),通過對比其優(yōu)缺點,提出了一個基于XML技術(shù)的數(shù)據(jù)遷移中間件模型,并討論了基于該模型的關(guān)鍵技術(shù)實現(xiàn)策略。

      【關(guān)鍵詞】XML;異構(gòu)數(shù)據(jù)庫;數(shù)據(jù)遷移

      0 研究背景及意義

      隨著我國信息化程度的高速發(fā)展,各種教育考試系統(tǒng)如雨后春筍般的層出不窮。全國各個省市出現(xiàn)大量成招、高招、自考、會考等各種不同類型的考試系統(tǒng)。不同的教育考試系統(tǒng)采用不同的開發(fā)工具、不同的網(wǎng)絡(luò)環(huán)境、不同的數(shù)據(jù)庫管理系統(tǒng)等進行開發(fā)。教育考試系統(tǒng)所存儲的大量信息也大多數(shù)采用了不同的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型等[1]。雖然各考試系統(tǒng)積累了大量的考試信息及成績信息,但各系統(tǒng)都是獨立工作,相互間不能夠共享資源而形成了一個個“信息孤島”。同時,這些信息系統(tǒng)的開發(fā)年代各有不同,使用的技術(shù)工具也各式各樣,這就給這些珍貴的教育考試信息的日常維護埋下了重大安全隱患,也給管理人員對其進行數(shù)據(jù)挖據(jù)及分析工作造成了很大障礙。為了能進一步加強對教育考試類信息的安全管理,充分利用并分析這些獨立分散的數(shù)據(jù),在江西省各教育考試系統(tǒng)之間實現(xiàn)數(shù)據(jù)共享與數(shù)據(jù)交換,有必要建立一套完善數(shù)據(jù)集成交換平臺。通過這個平臺可以使各教育考試系統(tǒng)之間共享考試信息及成績信息,給眾考生帶來極大便利,同時也方便對各考生考試信息及成績信息進行集中式管理。

      1 三大經(jīng)典異構(gòu)數(shù)據(jù)集成體系結(jié)構(gòu)分析

      1.1 數(shù)據(jù)倉庫體系結(jié)構(gòu)

      基于傳統(tǒng)數(shù)據(jù)倉庫體系結(jié)構(gòu)將來自幾個異構(gòu)數(shù)據(jù)源的數(shù)據(jù)副本,按照集中且統(tǒng)一的視圖要求,進行預處理、轉(zhuǎn)換,由此來符合數(shù)據(jù)倉庫的模式,然后將其存儲到數(shù)據(jù)倉庫中,給用戶提供一個透明的統(tǒng)一視圖。圖1即為數(shù)據(jù)倉庫體系結(jié)構(gòu)示意圖。由于數(shù)據(jù)的集中,使得用戶可以通過數(shù)據(jù)建模、聯(lián)機分析處理和數(shù)據(jù)挖掘工具有效利用數(shù)據(jù),方便能正確及時的作出決策[2]。

      圖1 數(shù)據(jù)倉庫體系結(jié)構(gòu)示意圖

      基于數(shù)據(jù)倉庫的數(shù)據(jù)集成系統(tǒng)結(jié)構(gòu),其優(yōu)點是數(shù)據(jù)高度集中,建立用戶端較為方便,有利于對大量集成數(shù)據(jù)的高效處理。但數(shù)據(jù)倉庫的集成系統(tǒng)面臨著初始數(shù)據(jù)裝載和變化后數(shù)據(jù)的更新問題,如果用戶需要實時數(shù)據(jù),那么數(shù)據(jù)即時更新的效率影響了系統(tǒng)的可用性,數(shù)據(jù)更新問題成為該方法的最大弊端。

      1.2 聯(lián)邦數(shù)據(jù)庫體系結(jié)構(gòu)

      聯(lián)邦數(shù)據(jù)庫系統(tǒng)是虛擬視圖法的一種,目的是實現(xiàn)數(shù)據(jù)庫系統(tǒng)間部分數(shù)據(jù)的共享。聯(lián)邦數(shù)據(jù)庫系統(tǒng)由一系列獨立、自治的數(shù)據(jù)庫系統(tǒng)組成[3],而且各個數(shù)據(jù)源相互獨立。聯(lián)邦數(shù)據(jù)庫系統(tǒng)主要通過數(shù)據(jù)庫轉(zhuǎn)換和模式轉(zhuǎn)換實現(xiàn)。

      1.2.1 數(shù)據(jù)庫轉(zhuǎn)換。

      在數(shù)據(jù)庫轉(zhuǎn)換中任何一個數(shù)據(jù)庫都通過一定的關(guān)系映射生成一個用戶數(shù)據(jù)庫的副本,當用戶訪問數(shù)據(jù)庫時,實際上只是通過用戶可以理解的模式來訪問源數(shù)據(jù)庫中的數(shù)據(jù),也即是說不同的數(shù)據(jù)源之間使用數(shù)據(jù)轉(zhuǎn)換接口來實現(xiàn)數(shù)據(jù)的相互訪問,如此一個數(shù)據(jù)源就可以訪問任何其它數(shù)據(jù)源的信息。圖2所示為數(shù)據(jù)庫轉(zhuǎn)換示意圖[2]。

      圖2 數(shù)據(jù)庫轉(zhuǎn)換示意圖

      1.2.2 模式轉(zhuǎn)換

      模式轉(zhuǎn)換在各數(shù)據(jù)源之間建立一一映射,然后通過事務(wù)翻譯到另外的數(shù)據(jù)源中去執(zhí)行。若此時有n個異構(gòu)數(shù)據(jù)源需要相互連接,則需要構(gòu)造n×(n-1)個映射程序來支持這n個異構(gòu)數(shù)據(jù)源之間的互相訪問。因此當參與聯(lián)邦的數(shù)據(jù)庫很多時,建立映射規(guī)則的任務(wù)不可行。下面給出了四個異構(gòu)數(shù)據(jù)源構(gòu)造聯(lián)邦數(shù)據(jù)庫的結(jié)構(gòu)示意圖,其中每個數(shù)據(jù)源都必需和其他三個數(shù)據(jù)源進行相互映射[2]。

      圖3 模式轉(zhuǎn)換示意圖

      通過對聯(lián)邦數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫轉(zhuǎn)換和模式轉(zhuǎn)換分析可知聯(lián)邦數(shù)據(jù)庫系統(tǒng)顯然不是一個很好的解決方案。

      1.3 Wrapper/Mediator中間件體系結(jié)構(gòu)

      基于中間件的的數(shù)據(jù)集成是一種典型的模式集成方法,其主要包括中間件(Mediator)和包裝器(Wrapper)[4]。每個數(shù)據(jù)庫都是通過包裝器與中間件進行交互的,而中間件則與用戶進行交互,并且將用戶要求的查詢通過包裝器從數(shù)據(jù)源中得到結(jié)果。因為中間件結(jié)構(gòu)不存儲任何數(shù)據(jù),它和數(shù)據(jù)倉庫結(jié)構(gòu)是有本質(zhì)區(qū)別的。圖4展示中間件集成多個異構(gòu)數(shù)據(jù)源的系統(tǒng)結(jié)構(gòu),和數(shù)據(jù)倉庫一樣,典型的數(shù)據(jù)集成將會有多個不同的異構(gòu)數(shù)據(jù)源[2]。中間件體系結(jié)構(gòu)是目前比較流行的數(shù)據(jù)集成方法,它通過在中間層提供一個統(tǒng)一的數(shù)據(jù)邏輯視圖來隱藏底層的數(shù)據(jù)細節(jié),使得用戶可以把集成數(shù)據(jù)源看為一個統(tǒng)一的整體。

      圖4 中間件體系結(jié)構(gòu)示意圖

      2 基于XML的數(shù)據(jù)遷移模型

      利用XML文檔作為中間件,可以將源數(shù)據(jù)庫的結(jié)構(gòu)和數(shù)據(jù)分離出來,生成源數(shù)據(jù)庫的結(jié)構(gòu)文檔和數(shù)據(jù)文檔,使數(shù)據(jù)庫的結(jié)構(gòu)和XML文檔的結(jié)構(gòu)之間形成映射,同時在數(shù)據(jù)遷移過程中,根據(jù)源數(shù)據(jù)庫的結(jié)構(gòu)文檔再現(xiàn)和還原目標數(shù)據(jù)庫,目標數(shù)據(jù)庫生成之后,使用DOM解析器解析讀取數(shù)據(jù)文檔中的數(shù)據(jù),將其遷移到目標數(shù)據(jù)庫中的過程。以下為基于XML的數(shù)據(jù)遷移模型示意圖[5]。

      圖5 基于XML的數(shù)據(jù)遷移模型

      為了減少數(shù)據(jù)遷移的響應(yīng)時間,提高數(shù)據(jù)遷移的效率,在數(shù)據(jù)遷移之前,需要將這些小的數(shù)據(jù)文檔整合到一起,形成一個大的數(shù)據(jù)文檔。最后,根據(jù)規(guī)則將數(shù)據(jù)文檔遷移到異構(gòu)數(shù)據(jù)庫中[5]。

      3 關(guān)鍵技術(shù)實現(xiàn)策略

      3.1 Web Services封裝

      在這里主要描述常見的基于數(shù)據(jù)庫訪問API的封裝以及基于ADO訪問的封裝。

      基于數(shù)據(jù)庫訪問API的封裝根據(jù)Web Services標準,將功能組件封裝成Web Services組件,然后使用WSDL描述服務(wù),將從信息系統(tǒng)提取到的數(shù)據(jù)寫入XML文檔。整個過程可以分為以下幾個階段:引用API函數(shù)庫,聲明Web Services對象,聲明Web Services方法,調(diào)用API方法操作數(shù)據(jù)庫,釋放對本地應(yīng)用程序的引用[6]。

      3.2 Web Services集成和轉(zhuǎn)換

      通過使用開放的XML標準和可擴展樣式表轉(zhuǎn)換語言(XSLT)來分析和提取XML文檔,然后結(jié)合不同的XML文檔以及映射XML文檔和關(guān)系數(shù)據(jù)庫來實現(xiàn)基于單位細粒度的Web Services的數(shù)據(jù)交換和數(shù)據(jù)共享。

      3.2.1 不同XML文檔的集成

      基于上述的映射規(guī)則,可以通過XML查詢語言XPath和XQuery[7]轉(zhuǎn)換Web Services單元的XML文檔,形成統(tǒng)一結(jié)構(gòu)的XML文檔模型,通過使查詢進行一串可執(zhí)行功能以滿足復雜查的詢要求[8]。整個過程如下:

      第一步,分析XQuery請求語法,然后讀取要轉(zhuǎn)換的XML文檔。

      第二步,根據(jù)XQuery請求的XPath表達式處理查詢。

      第三步,當所需的數(shù)據(jù)被檢索之后,通過統(tǒng)一的映射規(guī)則生成目標XML文檔。

      生成的目標XML文檔是各教育考試系統(tǒng)幾個數(shù)據(jù)庫的聯(lián)合數(shù)據(jù)集,可以被映射轉(zhuǎn)化到關(guān)系數(shù)據(jù)庫中,并封裝成粗粒度服務(wù)注冊到UDDI注冊中心。

      3.2.2 從XML到關(guān)系數(shù)據(jù)庫的映射和轉(zhuǎn)換

      從XML到關(guān)系數(shù)據(jù)庫的轉(zhuǎn)換方法可以分為結(jié)構(gòu)映射和模型映射。相比于結(jié)構(gòu)映射方法,模型映射具有以下優(yōu)點:支持任何靜態(tài)或動態(tài)XML數(shù)據(jù)存儲,支持沒有數(shù)據(jù)庫模型擴展的XML數(shù)據(jù)存儲[9]。因此,本文使用基于表的模型映射方法映射和轉(zhuǎn)換XML為共享關(guān)系數(shù)據(jù)庫[10]。XML文檔模型中作為表的視圖結(jié)構(gòu)映射為關(guān)系數(shù)據(jù)庫中的映射表或視圖,XML文檔中的元素或?qū)傩杂成錇殛P(guān)系數(shù)據(jù)庫的列名,XML文檔的內(nèi)容映射為關(guān)系數(shù)據(jù)庫中列的值。

      3.2.3 從關(guān)系數(shù)據(jù)庫到XML文檔的映射和轉(zhuǎn)換

      映射和轉(zhuǎn)換包括結(jié)構(gòu)映射和數(shù)據(jù)轉(zhuǎn)換,最后生成XML Schema文檔和XML數(shù)據(jù)文件,步驟和Web Services封裝類似。

      4 結(jié)論

      本文提出了一個基于XML技術(shù)的數(shù)據(jù)遷移中間件模型,該模型通過將各異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)包裝成XML全局視圖的形式,來整合和查詢離散的異構(gòu)數(shù)據(jù)源,同時也為實現(xiàn)各異構(gòu)數(shù)據(jù)庫之間的透明性提供了強有力的支持,可以用一種統(tǒng)一的XML查詢語言來進行查詢。

      【參考文獻】

      [1]董麗.基于 XML 與中間件的異構(gòu)數(shù)據(jù)源整合系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:武漢科技大學信息科學與工程學院,2005.

      [2]倪燕.異構(gòu)系統(tǒng)數(shù)據(jù)共享的研究與實現(xiàn)[D].長沙:湖南大學,2007.

      [3]劉高軍,鮑曉琦.基于聯(lián)邦數(shù)據(jù)庫的數(shù)據(jù)集成平臺研究與改進[J].計算機光盤軟件與應(yīng)用,2012(2):45-46.

      [4]楊宏英,林長松.異構(gòu)數(shù)據(jù)集成系統(tǒng)的應(yīng)用模式與技術(shù)實現(xiàn)[J].微電子學與計算機,2006,23(8):70-72.

      [5]張濤.基于 XML 和 WebServices 異構(gòu)數(shù)據(jù)轉(zhuǎn)換的設(shè)計與實現(xiàn)[D].青島:中國海洋大學,2009.

      [6]Tianjing (2007) Research and application of enterprises integration based on SOA[M].Wuhan, China.

      [7]Hong Z, Xuhui LI, Mengchi LIU(2009) Application research of computers[J]. XML Query Approach Based Log XML Tree, 26: 609

      [8]Pengfei Z, Naiqian L (2010) Computer Engineering[J]. XML-Based Distrib Database Integr Syst., 36:71.

      [9]Song Yuqing G, Chengquan L (2010) Application research of computers[J]. Res Mapp Method XML Doc Relational Database, 27:951.

      [10]Liming W, Jun Z, Ming C (2007) Mapping mechanism based on table model between XML and database[J]. J Military Commun Technol., 28:46-47.

      [責任編輯:楊玉潔]

      灌南县| 渭南市| 柳河县| 北宁市| 比如县| 金华市| 临汾市| 洞口县| 道孚县| 鄂温| 丹凤县| 新巴尔虎右旗| 贵州省| 静海县| 洪泽县| 泽库县| 航空| 保定市| 兴和县| 广德县| 新邵县| 饶阳县| 博野县| 绥化市| 繁昌县| 开封县| 浏阳市| 五指山市| 江永县| 新邵县| 布尔津县| 从化市| 铜鼓县| 嘉定区| 道真| 会泽县| 镇康县| 东乌| 苏尼特右旗| 图们市| 陵水|