国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

信息集成平臺中關(guān)鍵技術(shù)研究

2014-12-25 08:58:37劉軍
電腦知識與技術(shù) 2014年33期
關(guān)鍵詞:數(shù)據(jù)交換

劉軍

摘要:當(dāng)前信息集成平臺主要包括中介器和物化視圖兩種方法。該文就物化視圖方法中的增量抽取、數(shù)據(jù)交換以及完整性約束等熱門問題進(jìn)行了探討,并針對各問題提出了相應(yīng)的解決方案。

關(guān)鍵詞: 信息集成;增量抽??;數(shù)據(jù)交換;完整性約束

中圖分類號:TP311.13 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)33-8027-03

1 概述

信息技術(shù)的飛速發(fā)展和應(yīng)用領(lǐng)域的不斷拓寬,極大地提高了人們的工作效率,給人們生活帶來諸多便利。同時由于信息量的爆炸式增長,現(xiàn)有技術(shù)難以對信息進(jìn)行有效合理規(guī)劃和協(xié)作,由于歷史、技術(shù)等各方面的原因?qū)е滦畔⒃粗g數(shù)據(jù)的模式、格式等差異很大,“信息孤島”現(xiàn)象也隨之而來。信息集成技術(shù)研究如何將這些“孤立的”信息用一種統(tǒng)一的模式進(jìn)行描述,從而屏蔽掉平臺、系統(tǒng)環(huán)境和數(shù)據(jù)結(jié)構(gòu)等方面的異構(gòu)性,讓用戶有效、快捷、方便地使用這些信息[1,2]。

2 信息集成平臺的架構(gòu)概述

目前有很多種集成異構(gòu)數(shù)據(jù)源的體系結(jié)構(gòu),最常見的有兩種[3]:中介器(mediation)和物化視圖(materialized view)方法。

2.1 中介器系統(tǒng)

3 信息集成平臺的關(guān)鍵技術(shù)研究

3.1 信息源增量數(shù)據(jù)抽取

信息集成中一個重要的要求就是能從信息源中快速、有效、準(zhǔn)確地抽取出變化數(shù)據(jù),即增量抽取技術(shù)。增量抽取只抽取自上次抽取以來數(shù)據(jù)庫中要抽取的表中新增或修改的數(shù)據(jù)。對捕獲方法一般有兩點要求:準(zhǔn)確性,能夠?qū)I(yè)務(wù)系統(tǒng)中的變化數(shù)據(jù)按一定的頻率準(zhǔn)確地捕獲到;性能上不能對業(yè)務(wù)系統(tǒng)造成太大的壓力,影響現(xiàn)有業(yè)務(wù)。目前增量數(shù)據(jù)抽取中常用的捕獲變化數(shù)據(jù)的方法有:

基于觸發(fā)器的增量捕獲:在要抽取的表上建立需要的觸發(fā)器,一般要建立插入、修改、刪除三個觸發(fā)器,每當(dāng)源表中的數(shù)據(jù)發(fā)生變化,就被相應(yīng)的觸發(fā)器將變化的數(shù)據(jù)寫入一個臨時表。觸發(fā)器方式的優(yōu)點是數(shù)據(jù)抽取的性能較高,缺點是要求業(yè)務(wù)表建立觸發(fā)器,對業(yè)務(wù)系統(tǒng)有一定的影響。

基于時間戳的增量捕獲:它是一種基于快照差分的變化數(shù)據(jù)捕獲方式,在源表上增加一個時間戳字段,系統(tǒng)中更新修改表數(shù)據(jù)的時候,同時修改時間戳字段的值。當(dāng)進(jìn)行數(shù)據(jù)抽取時,通過比較當(dāng)前系統(tǒng)時間與時間戳字段的值來決定抽取哪些數(shù)據(jù)。時間戳方式的數(shù)據(jù)抽取相對清楚簡單,但對業(yè)務(wù)系統(tǒng)也有很大的傾入性,對于沒有時間字段的表還需要修改應(yīng)用程序;數(shù)據(jù)準(zhǔn)確性上有一定的限制,無法捕獲對時間戳以前數(shù)據(jù)的delete和update操作。

基于MD5校驗碼的快照差分:先為要抽取的表建立一個結(jié)構(gòu)類似的MD5臨時表,該表記錄源表的主鍵以及根據(jù)所有字段的數(shù)據(jù)計算出來的MD5校驗碼。數(shù)據(jù)抽取時,對源表和MD5臨時表進(jìn)行MD5校驗碼的比較,從而決定源表中的數(shù)據(jù)是新增、修改還是刪除,同時更新對應(yīng)的MD5校驗碼。該方式的優(yōu)點是對源系統(tǒng)的傾入性較小,但MD5方式是被動的進(jìn)行全表數(shù)據(jù)的比較,性能較差。特別是當(dāng)表中沒有主鍵或唯一列且含有重復(fù)記錄時,MD5方式的準(zhǔn)確性較差。

基于日志的增量捕獲:通過分析數(shù)據(jù)庫自身的日志來判斷變化的數(shù)據(jù)。最具代表的是Oracle的改變數(shù)據(jù)捕獲(CDC,Changed Data Capture)技術(shù)。利用CDC,可以在對源表進(jìn)行insert、update或 delete等操作的同時就可以提取數(shù)據(jù),并且變化的數(shù)據(jù)被保存在數(shù)據(jù)庫的變化表中。這樣就可以捕獲發(fā)生變化的數(shù)據(jù),然后利用數(shù)據(jù)庫視圖以一種可控的方式提供給目標(biāo)系統(tǒng)。

3.2 數(shù)據(jù)交換

XML 是互聯(lián)網(wǎng)協(xié)會(W3C)開發(fā)的一個標(biāo)準(zhǔn)廣義標(biāo)記語言(standard generalized markup language,SGML)的最小完備子集,它繼承了 SGML 的強大功能并剝除了其繁瑣定義,克服了HTML 結(jié)構(gòu)性和擴展性差的缺點,具有自描述性、半結(jié)構(gòu)化、可擴展性以及通用性[5],被作為信息集成系統(tǒng)中數(shù)據(jù)交換的主要標(biāo)準(zhǔn)。但XML并不是解決了信息集成系統(tǒng)中數(shù)據(jù)交換的所有問題,以下三個問題就值得注意和研究:

數(shù)據(jù)類型。如果單純從字面上講,XML不支持任何數(shù)據(jù)類型。除了非解析實體,XML文件中的所有數(shù)據(jù)都是文本,盡管它可能表示日期或整數(shù)等其他類型。所以,信息集成系統(tǒng)要負(fù)責(zé)把XML文件中的文本轉(zhuǎn)換成數(shù)據(jù)庫中的其他數(shù)據(jù)類型,反之亦然。日期看起來最容易出問題,因為它的格式可能非常多,要先將日期轉(zhuǎn)化成JDBC、ODBC或數(shù)據(jù)庫支持的格式后再進(jìn)行操作。數(shù)字在各種語言中的格式也不盡相同,也要區(qū)別對待。

二進(jìn)制數(shù)據(jù)。當(dāng)前的主流數(shù)據(jù)庫都支持存放圖片、文檔之類的大數(shù)據(jù),將這些大數(shù)據(jù)存放到XML中,如果只是存放其二進(jìn)制數(shù)據(jù)到開始和結(jié)束標(biāo)簽里面,就可能導(dǎo)致幾個潛在的問題: XML中的新行符和空格字符將搞亂二進(jìn)制數(shù)據(jù);二進(jìn)制數(shù)據(jù)可能包含null字符;二進(jìn)制數(shù)據(jù)可能包含“”序列。 解決這個問題通常有三個方法:(1) 二進(jìn)制嵌入。這個解決方案就是使用XML的CDATA標(biāo)簽,它允許你直接將二進(jìn)制數(shù)據(jù)放到XML文檔中。 CDATA標(biāo)簽是一個特殊的標(biāo)簽,用于處理那些在XML解析期間不能被解析的數(shù)據(jù)。包含在CDATA中的元素值將成為二進(jìn)制數(shù)據(jù),CDATA標(biāo)簽使用序列“<![CDATA[”作為開始標(biāo)簽并使用“]]”作為結(jié)束標(biāo)簽。XML解析器忽略標(biāo)簽之間的所有數(shù)據(jù)。但是若二進(jìn)制數(shù)據(jù)可能包含“]] >”序列,這會使得XML解析器以為它是是二進(jìn)制數(shù)據(jù)的結(jié)尾而導(dǎo)致解析錯誤。(2) 二進(jìn)制編碼。該方法將二進(jìn)制的數(shù)據(jù)編碼為文本數(shù)據(jù)。也就是使用一個相對簡單的算法(如Uuencode和base64編碼)將二進(jìn)制數(shù)據(jù)修改為ASCII字節(jié)。這樣在XML中,二進(jìn)制數(shù)據(jù)被編碼成文本的格式,發(fā)送到目的方。目的方接收到這個文本二進(jìn)制數(shù)據(jù)以后,再以相同的解碼程序解成相應(yīng)的二進(jìn)制數(shù)據(jù)。該方法可以處理不太大的數(shù)據(jù),要考慮空間/時間效率時,則不推薦使用。(3) 間接法。XML文件和二進(jìn)制數(shù)據(jù)文件分開,通過外部實體和標(biāo)記法的方式來表示二進(jìn)制數(shù)據(jù)。

空數(shù)據(jù)。在數(shù)據(jù)庫術(shù)語中,空數(shù)據(jù)(null data)意味著沒有數(shù)據(jù)。這不等于值為0的數(shù)字或長度為零的字符串。XML支持這種空數(shù)據(jù)的概念。如果一個可選元素或?qū)傩缘闹禐榭?,就不會包含在文件?nèi)。將XML文檔的結(jié)構(gòu)映射到數(shù)據(jù)庫時,可選元素類型或[空值]屬性只能被映射到允許空值的字段(nullable columns),否則,會產(chǎn)生插入錯誤,反之亦然。

3.3 完整性約束

在生產(chǎn)系統(tǒng)中,會出現(xiàn)對集成表添加一些約束,最多最難處理的就是兩個表的主外碼約束。在正常情況下,對于兩個集成表的維護(hù),都是獨立的各自維護(hù),但有了主外碼約束后,這種方法則行不通,因為很多情況下,都是將一段時間內(nèi)的增量抽取完后報送給集成端,而在這段時間內(nèi)可能在一個表A有刪除主碼操作且另一個表B刪除對應(yīng)外碼操作,表B有增加外碼操作且A有增加對應(yīng)主碼操作,在這種情況下,無論先維護(hù)哪個表,由于主外碼約束都會發(fā)生插入異?;騽h除異常情況。

只有綜合考慮兩個表的約束條件,在不改變數(shù)據(jù)庫一致性的情況下,重新對兩個表的增加進(jìn)行排序,并將排序后的結(jié)果作為一個事務(wù)來對兩個表同時維護(hù)。算法描述如下:

1)建立一個操作緩沖區(qū)。

由于在信息源A,B表的操作發(fā)生都是有序的,在A表中發(fā)生了刪除主碼操作,在B表中也有發(fā)生刪除對應(yīng)外碼的操作,按照數(shù)據(jù)庫主外碼約束,要在B表中刪除了所有的外碼,才能在A表中刪除主碼,在B表刪除所有外碼的操作前,有一條插入外碼的操作,而在A表中正好有一條插入對應(yīng)的主碼操作,且發(fā)生在刪除主碼操作之后,這就導(dǎo)致了一個死循環(huán),也就是說,在信息源端,是不可能發(fā)生這種情況的。

4 總結(jié)

當(dāng)前信息集成平臺主要包括中介器和物化視圖兩種方法,物化視圖方法由于具有較短的查詢響應(yīng)時間和較好的可擴展性而越來越被關(guān)注。該文就物化視圖方法中的增量抽取、數(shù)據(jù)交換以及完整性約束等熱門問題進(jìn)行了研究探討,并針對各問題提出了相應(yīng)的解決方案。

參考文獻(xiàn):

[1] 趙曉軍,胡國林.一種基于XML的異構(gòu)數(shù)據(jù)集成平臺研究[J].微計算機信息,2007.

[2] 甄玉鋼,劉璐瑩,康建初.基于XML的異構(gòu)數(shù)據(jù)庫集成系統(tǒng)架構(gòu)與開放[J].計算機工程,2006.

[3] 尚蕾,孫志揮. 基于XML的異構(gòu)數(shù)據(jù)集成系統(tǒng)的查詢處理[J].計算機工程,2005(3).

[4] Jose A. Blakeley,Per-Ake Larson,F(xiàn)rank Wm Tompa.Efficiently Updating Materialized Views[C].Porc. Of the ACM SIGMOD International Conference on Management of Data,Washington,1986.

[5] Elliotte Rusty Harold, W. Scott Means. XML技術(shù)手冊[M].孔小玲,商艷莉,譯.北京:中國電力出版社,2001.

猜你喜歡
數(shù)據(jù)交換
信息系統(tǒng)數(shù)據(jù)共享與交換方法設(shè)計構(gòu)想
中國新通信(2017年3期)2017-03-11 08:20:09
XBRL在財務(wù)報表網(wǎng)絡(luò)數(shù)據(jù)交換中的應(yīng)用
中職學(xué)校教學(xué)資源管理系統(tǒng)的設(shè)計與實現(xiàn)
基于XML的輸變電設(shè)備狀態(tài)數(shù)據(jù)交換模型研究
計算機時代(2016年9期)2016-10-28 09:25:43
數(shù)據(jù)抽取及交換工具的設(shè)計與實現(xiàn)
軟件(2015年8期)2015-12-25 08:05:30
數(shù)字校園中的統(tǒng)一數(shù)據(jù)交換技術(shù)研究
基于XML的數(shù)據(jù)交換技術(shù)研究
基于SQL語句的通用數(shù)據(jù)交換方法研究與應(yīng)用
跨平臺移動應(yīng)用中間件的設(shè)計與實現(xiàn)
國際物流客戶服務(wù)平臺架構(gòu)與實現(xiàn)
定日县| 丰原市| 依兰县| 廉江市| 天台县| 长春市| 板桥市| 沅江市| 和龙市| 城步| 平舆县| 玉龙| 永康市| 益阳市| 布拖县| 怀仁县| 伊金霍洛旗| 广水市| 临高县| 东山县| 沈阳市| 岫岩| 南召县| 新闻| 望谟县| 大渡口区| 五华县| 东丰县| 年辖:市辖区| 周宁县| 六枝特区| 鹤岗市| 通山县| 广南县| 石柱| 长海县| 武平县| 滁州市| 辉南县| 无极县| 剑阁县|