• 
    

    
    

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

      一種異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)同步模型的研究

      2016-05-21 15:47:51王曉瑞黃祥志沈夏炯周珂
      計(jì)算機(jī)時(shí)代 2016年5期

      王曉瑞+++黃祥志+++沈夏炯+++周珂+++王棟

      摘 要: 針對(duì)地理信息在異構(gòu)數(shù)據(jù)庫之間的同步傳輸問題,基于XML節(jié)點(diǎn)映射模型,結(jié)合Web Service分布式遠(yuǎn)程調(diào)用方式,在異構(gòu)數(shù)據(jù)庫之間建立一種數(shù)據(jù)同步模型。該模型結(jié)合數(shù)據(jù)庫模式匹配的特點(diǎn),將異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)信息進(jìn)行節(jié)點(diǎn)映射,降低XML查詢的掃描代價(jià),提高中心服務(wù)節(jié)點(diǎn)查詢匹配集合的速率。實(shí)際應(yīng)用表明,提出的基于XML節(jié)點(diǎn)映射模型可以有效的解決異構(gòu)數(shù)據(jù)庫之間的同步傳輸問題。

      關(guān)鍵詞: SOA; 異構(gòu)數(shù)據(jù)庫; 數(shù)據(jù)同步; XML; Web Service

      中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2016)05-12-04

      Abstract: Aiming at the synchronization problem between heterogeneous databases for geographic information, this paper establishes a data synchronization model based on the XML node mapping model and combined with the Web Service distributed remote call method. This model combines the characteristics of database schema matching, maps the data information between heterogeneous databases, reduces the scan cost of XML query, and increases the speed of query matching set of the central service node. The practical application shows that the proposed XML based node mapping model can effectively solve the problem of data synchronization between heterogeneous databases.

      Key words: SOA; heterogeneous database; data synchronization; XML; Web Service

      0 引言

      隨著航天技術(shù)的發(fā)展,發(fā)射衛(wèi)星數(shù)量逐漸增多,地理數(shù)據(jù)信息也隨之俱增,需存儲(chǔ)的數(shù)據(jù)信息量越來越大。地理信息往往分散存儲(chǔ)于同構(gòu)或異構(gòu)的數(shù)據(jù)庫,這是為了有效整合分散、異構(gòu)的地理數(shù)據(jù)信息資源,緩解地理科研行業(yè)間的“信息孤島”問題,有些傳統(tǒng)數(shù)據(jù)庫廠商提出中間件方案,但這種方式無法滿足分布式同構(gòu)或異構(gòu)數(shù)據(jù)庫間的同步問題。有些研究提出基于文件傳輸?shù)耐郊夹g(shù),但是這種方式需要通過云盤或其他方式拷貝文件,存在嚴(yán)重的安全隱患。也有些研究提出基于管道同步技術(shù),即通過數(shù)據(jù)管道同步數(shù)據(jù),但這種方法對(duì)數(shù)據(jù)通道依賴大,需要建立專門的數(shù)據(jù)管道管理平臺(tái),開銷大,對(duì)網(wǎng)絡(luò)條件要求較高,不適合廣域網(wǎng)[1]。林源、陳志泊提出的分布式異構(gòu)數(shù)據(jù)庫同步系統(tǒng),它基于WCF 構(gòu)建的應(yīng)用程序服務(wù),針對(duì)異地?cái)?shù)據(jù)庫表的數(shù)據(jù)結(jié)構(gòu)定義一致時(shí),提出使用存儲(chǔ)過程完成數(shù)據(jù)同步,若更新時(shí)發(fā)現(xiàn)數(shù)據(jù)庫表字段不一致,則優(yōu)先選擇在該數(shù)據(jù)庫中添加新的表字段,但這種方法使用前需要為每張表建立一套元數(shù)據(jù)表、觸發(fā)器和存儲(chǔ)過程,因此,其僅限于在同構(gòu)數(shù)據(jù)庫之間完成數(shù)據(jù)同步,在面對(duì)異構(gòu)數(shù)據(jù)庫之間同步問題時(shí),會(huì)耗費(fèi)大量的時(shí)間,且會(huì)帶來數(shù)據(jù)庫之間數(shù)據(jù)不完整的問題[2]。

      本文基于Web Service的數(shù)據(jù)同步,采用XML數(shù)據(jù)格式封裝數(shù)據(jù)庫中的數(shù)據(jù),憑借XML半結(jié)構(gòu)化、自描述性等特點(diǎn)突破傳統(tǒng)數(shù)據(jù)模型對(duì)數(shù)據(jù)模式的嚴(yán)格約束,適用于異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步,能夠解決跨平臺(tái)等問題[1]。針對(duì)地理信息在異構(gòu)數(shù)據(jù)庫之間的同步傳輸問題,設(shè)計(jì)一種異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步模型,其結(jié)合數(shù)據(jù)庫模式匹配的特點(diǎn),采用XML節(jié)點(diǎn)映射模型,減少XML文檔的掃描代價(jià),并快速獲取查詢模式中節(jié)點(diǎn)匹配的集合?;诠?jié)點(diǎn)映射與樹匹配的處理方式主要依賴于XML文檔索引的設(shè)計(jì),通過對(duì)異構(gòu)數(shù)據(jù)庫中存在的有效字段,根據(jù)屬性特征進(jìn)行分層且有效的映射投影,達(dá)到提高XML的查詢和解析速率的效果。

      1 異構(gòu)數(shù)據(jù)庫同步和數(shù)據(jù)同步模型

      地理數(shù)據(jù)信息存在存儲(chǔ)時(shí)分散、邏輯上統(tǒng)一的問題,為解決地理數(shù)據(jù)信息在異構(gòu)數(shù)據(jù)庫間的同步問題,結(jié)合SOA架構(gòu),設(shè)計(jì)出基于XML節(jié)點(diǎn)的映射模型,與Web Service遠(yuǎn)程訪問技術(shù)相結(jié)合,使分散的異構(gòu)數(shù)據(jù)庫中地理數(shù)據(jù)信息分層分級(jí)的匯總至統(tǒng)一的中心數(shù)據(jù)庫中,實(shí)現(xiàn)中心數(shù)據(jù)庫數(shù)據(jù)信息的統(tǒng)一,為用戶提供“一站式”的數(shù)據(jù)共享服務(wù),便于信息的檢索與分配[3]。

      1.1 異構(gòu)數(shù)據(jù)庫同步

      異構(gòu)數(shù)據(jù)庫同步是異構(gòu)數(shù)據(jù)庫集成技術(shù)的一種應(yīng)用,其中各個(gè)數(shù)據(jù)庫均具有自身的自治性,同步主要實(shí)現(xiàn)數(shù)據(jù)庫間的數(shù)據(jù)信息資源的共享和數(shù)據(jù)庫間的透明訪問,且實(shí)現(xiàn)數(shù)據(jù)同步的同時(shí),每個(gè)數(shù)據(jù)庫系統(tǒng)仍保有自己的應(yīng)用特性、完整性控制和安全性控制[4-5]。

      1.2 XML映射模型

      XML映射模型借鑒目前常用的關(guān)系型數(shù)據(jù)庫數(shù)據(jù)映射的思想。數(shù)據(jù)映射(Data Mapping,DM)是在源數(shù)據(jù)模型與目標(biāo)數(shù)據(jù)模型之間建立對(duì)應(yīng)關(guān)系[6]。常見的DM有手工編碼和可視化操作兩種方式。手工編碼是利用常用的編碼技術(shù)手段手動(dòng)獲取數(shù)據(jù)并將其封裝成XML,便于數(shù)據(jù)遷移;可視化操作是數(shù)據(jù)庫支持用戶自定義數(shù)據(jù)項(xiàng)之間的對(duì)應(yīng)關(guān)系。但這兩種都需要將該應(yīng)用轉(zhuǎn)化成可運(yùn)行的程序[7]。

      ⑴ 基于表結(jié)構(gòu)映射

      數(shù)據(jù)庫通常存在一些基本表,一個(gè)基本表描述著一個(gè)事物,一個(gè)事物具有多個(gè)屬性,一條記錄是多個(gè)屬性對(duì)應(yīng)的值的集合,根據(jù)不同集合對(duì)應(yīng)的域值的不同,可以針對(duì)表結(jié)構(gòu)來映射節(jié)點(diǎn)。以常用日志表結(jié)構(gòu)為例來組織XML,結(jié)構(gòu)如圖1所示。

      這種基于表設(shè)計(jì)的XML封裝優(yōu)點(diǎn)是簡(jiǎn)潔明了,方便編程,伸縮性強(qiáng),適合于關(guān)系型數(shù)據(jù)庫中兩個(gè)數(shù)據(jù)模型一致的情況[10],特別適合單個(gè)表結(jié)構(gòu)且無外鍵關(guān)聯(lián)的關(guān)系型數(shù)據(jù)庫表的情況。

      ⑵ 基于對(duì)象的節(jié)點(diǎn)映射模型

      鑒于表設(shè)計(jì)具有的局限性,不能滿足存在多個(gè)外鍵的表結(jié)構(gòu)。針對(duì)“一對(duì)多,多對(duì)多”具有多個(gè)外鍵相互關(guān)聯(lián)的表結(jié)構(gòu),為了方便用戶解析,提出基于對(duì)象的節(jié)點(diǎn)映射模型。該設(shè)計(jì)是將數(shù)據(jù)庫表的一個(gè)基本表描述成一個(gè)事物,并以XML樹形結(jié)構(gòu)的形式表示出來,且XML的節(jié)點(diǎn)允許有多個(gè),能夠形象的表現(xiàn)出多張外鍵關(guān)聯(lián)表的之間的從屬關(guān)系。同樣以軟硬件信息表結(jié)構(gòu)為例,如圖2所示為基于對(duì)象的軟硬件節(jié)點(diǎn)映射。

      基于XML對(duì)象化設(shè)計(jì)具有層次感,直觀形象,伸縮性強(qiáng),易擴(kuò)展和易解析等優(yōu)點(diǎn)。適合描述關(guān)系型數(shù)據(jù)庫中具有多個(gè)外鍵關(guān)聯(lián)的數(shù)據(jù)庫表結(jié)構(gòu)的情況,同樣也適用于描述無外鍵關(guān)聯(lián)的單個(gè)表數(shù)據(jù)結(jié)構(gòu)的情況。

      1.3 數(shù)據(jù)同步模型

      為了研究異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步技術(shù),本文結(jié)合數(shù)據(jù)庫模式匹配的思想,建立基于XML節(jié)點(diǎn)映射的數(shù)據(jù)同步模型,并在實(shí)際應(yīng)用中驗(yàn)證該數(shù)據(jù)同步模型的有效性。

      傳統(tǒng)數(shù)據(jù)庫均不提供將數(shù)據(jù)庫表數(shù)據(jù)自動(dòng)映射為自定義XML的功能,但存在將關(guān)系型數(shù)據(jù)庫表數(shù)據(jù)映射為XML的中間件,然而這些中間件不能有效完成分布式數(shù)據(jù)庫同步模型的XML節(jié)點(diǎn)映射。所以在此設(shè)計(jì)一種異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)同步模型如圖3所示。

      ⑴ 首先分析源數(shù)據(jù)庫表結(jié)構(gòu)和目標(biāo)數(shù)據(jù)庫表結(jié)構(gòu)。基于對(duì)象建立節(jié)點(diǎn)映射模型,充分利用了XML自身的優(yōu)勢(shì),從而達(dá)到最優(yōu)的結(jié)構(gòu)化的模式映射,實(shí)現(xiàn)了數(shù)據(jù)信息在多源數(shù)據(jù)庫和不同目標(biāo)數(shù)據(jù)庫之間的安全高效靈活的傳輸。

      ⑵ 其次,當(dāng)同步代理模塊A和B之間同步時(shí),為方便傳遞XML,并在分布式情況下達(dá)到高效、可靠、靈活的效果,需要借助于中間件。中間件是一種介于操作系統(tǒng)和應(yīng)用程序之間的軟件,具備管理計(jì)算機(jī)資源和進(jìn)行網(wǎng)絡(luò)通信的功能。常用的中間件主要有遠(yuǎn)程過程調(diào)用中間件(Remote Procedure Call,RPC)、面向消息的中間件(Message-Oriented Middleware,MOM)、請(qǐng)求代理中間件(Object Request Brokers,ORB)和實(shí)物處理監(jiān)控中間件(Transaction processing monitors)[11]??紤]源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫可能在同一個(gè)計(jì)算機(jī)上,也有可能位于兩臺(tái)計(jì)算機(jī)上或者是兩個(gè)不同的操作系統(tǒng)上,本文使用遠(yuǎn)程訪問中間件。Web Service是一種常用的RPC,它能夠完全結(jié)合XML、XSD等具有跨平臺(tái)性、互操作性的文件結(jié)構(gòu)創(chuàng)建分布式應(yīng)用系統(tǒng)的新平臺(tái);能夠?qū)崿F(xiàn)跨防火墻通信、應(yīng)用程序的集成、B2B的集成以及軟件和數(shù)據(jù)的重用。它提供了一種松散的粗粒度的分布計(jì)算模式,由Web Service組成的中間層,無疑可以縮短開發(fā)周期、減少程序的邏輯復(fù)雜度并提高代碼的利用率。Web Service可以實(shí)現(xiàn)跨域訪問,它是SOA的一種實(shí)現(xiàn)技術(shù),使用該技術(shù),可以構(gòu)造標(biāo)準(zhǔn)化程度極高的Web服務(wù)。所以我們搭建了Web Service平臺(tái),提供一個(gè)供同步代理模塊A調(diào)用的接口,便于使用標(biāo)準(zhǔn)的HTTP(S)協(xié)議來傳送XML數(shù)據(jù)。

      ⑶ 建立一個(gè)定時(shí)器,系統(tǒng)將自動(dòng)定時(shí)觸發(fā)同步代理模塊A,實(shí)現(xiàn)其自動(dòng)化,無需同步系統(tǒng)使用者的任何操作,減少對(duì)系統(tǒng)操作者的技術(shù)要求。

      ⑷ 以上三步是實(shí)現(xiàn)基于XML同步模型的先期準(zhǔn)備工作,當(dāng)啟動(dòng)定時(shí)器時(shí),計(jì)時(shí)器觸發(fā)同步代理模塊A使其通過SQL語句查詢?cè)磾?shù)據(jù)庫并返回新的數(shù)據(jù)源,接下來執(zhí)行下面的第⑸步。

      ⑸ 同步代理模塊A在接收到返回的數(shù)據(jù)集后,按照第一步中確定的數(shù)據(jù)轉(zhuǎn)換模式,通過一定的技術(shù)手段使數(shù)據(jù)集轉(zhuǎn)化成基于節(jié)點(diǎn)映射的標(biāo)準(zhǔn)結(jié)構(gòu)的XML,將XML以轉(zhuǎn)換為字符串形式后自發(fā)的調(diào)用中間件中對(duì)應(yīng)的同步服務(wù)。

      ⑹ 同步代理模塊B將獲取的XML數(shù)據(jù)按照對(duì)象封裝的特點(diǎn),逐步解析,并將解析后的同步信息插入到目的數(shù)據(jù)庫中。

      至此,異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步已經(jīng)完成,此后,系統(tǒng)將按照計(jì)時(shí)器中設(shè)定的時(shí)間,定時(shí)觸發(fā)同步代理模塊A,繼續(xù)下一次的數(shù)據(jù)同步。

      2 數(shù)據(jù)同步模型實(shí)驗(yàn)分析

      異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步不僅受環(huán)境因素的影響,也受服務(wù)資源及軟硬件性能指標(biāo)的影響。當(dāng)一個(gè)服務(wù)節(jié)點(diǎn)同時(shí)接收多個(gè)站點(diǎn)的同步信息時(shí),由于網(wǎng)絡(luò)帶寬等因素,造成的網(wǎng)絡(luò)擁塞,同樣會(huì)影響數(shù)據(jù)同步的效率[8-9]。而當(dāng)同時(shí)有多個(gè)站點(diǎn)同時(shí)同步信息時(shí),會(huì)形成一個(gè)控制隊(duì)列。在此不再對(duì)控制隊(duì)列作介紹,只關(guān)注利用XML技術(shù)解決異構(gòu)數(shù)據(jù)庫之間的同步問題,尤其是如何減少XML的查詢掃描時(shí)間,并快速獲取查詢模式中節(jié)點(diǎn)匹配集合的問題。

      目前,我們?cè)O(shè)計(jì)的異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步模型已投入實(shí)際應(yīng)用。在實(shí)際應(yīng)用時(shí),采用Java技術(shù),服務(wù)部署在Linux平臺(tái)下Tomcat容器中,通過公共服務(wù)端口,完成Web Service服務(wù)間數(shù)據(jù)通信。系統(tǒng)實(shí)際應(yīng)用中,每天的數(shù)據(jù)同步量已到達(dá)10萬條之多,在網(wǎng)絡(luò)服務(wù)帶寬為4Mbps的場(chǎng)景下,設(shè)定中心節(jié)點(diǎn)接收同步數(shù)據(jù)并開始計(jì)時(shí),至解析結(jié)束所消耗的時(shí)間記為Ta,從解析后將數(shù)據(jù)插入到數(shù)據(jù)庫中的用時(shí)記為Tb,分別測(cè)試1萬、5萬、10萬條數(shù)據(jù)同步量下的Ts、Ta、Tr的值。改進(jìn)前后的實(shí)驗(yàn)數(shù)據(jù)如表1、表2所示。

      通過對(duì)圖4、圖5、圖6、圖7中數(shù)據(jù)同步模型改進(jìn)前后所消耗時(shí)間的對(duì)比分析可知,隨著同步數(shù)據(jù)量的增多,改進(jìn)后的模型對(duì)XML樹結(jié)構(gòu)查詢時(shí)間減少,因?yàn)楦倪M(jìn)后的模型減少了查詢時(shí)對(duì)無關(guān)節(jié)點(diǎn)的匹配次數(shù),數(shù)據(jù)解析時(shí)間的增長率也逐漸減小。數(shù)據(jù)入庫時(shí)間和改進(jìn)前相比,也有減緩的趨勢(shì)。實(shí)際應(yīng)用表明,本文提出的異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)同步模型能有效的提高數(shù)據(jù)同步的效率。

      3 結(jié)束語

      針對(duì)地理信息在異構(gòu)數(shù)據(jù)庫之間的同步傳輸?shù)膯栴},本文結(jié)合Web Service提出了一種基于XML的節(jié)點(diǎn)映射模型,它結(jié)合數(shù)據(jù)庫模式匹配的特點(diǎn),將異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)信息進(jìn)行節(jié)點(diǎn)映射。針對(duì)一個(gè)或多個(gè)對(duì)象節(jié)點(diǎn)的映射,分層分級(jí)設(shè)計(jì)XML,降低查詢時(shí)無關(guān)節(jié)點(diǎn)標(biāo)簽的匹配次數(shù),提高查詢匹配集合的速率,有效的減緩解析數(shù)據(jù)時(shí)間花費(fèi)的增長率,方便對(duì)象化數(shù)據(jù)的入庫,減少對(duì)應(yīng)的入庫時(shí)間,從而提高數(shù)據(jù)同步的效率。實(shí)際應(yīng)用表明,本文提出的同步模型能有效的提高異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步效率,解決了當(dāng)前異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)同步效率低下的難題。進(jìn)一步提高了異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)同步速率。

      然而本文在數(shù)據(jù)查詢方面對(duì)數(shù)據(jù)同步的效率的影響并沒有作進(jìn)一步研究,接下來的研究是,在進(jìn)一步完善降低標(biāo)簽匹配度方案的同時(shí),逐步提高設(shè)計(jì)模型中數(shù)據(jù)查詢的效率,找出一種實(shí)際平均性能良好的查詢處理和優(yōu)化技術(shù),進(jìn)而提高異構(gòu)數(shù)據(jù)庫間的數(shù)據(jù)同步速率[12]。

      參考文獻(xiàn)(References):

      [1] 田淼.分布式異構(gòu)數(shù)據(jù)庫同步中間件的設(shè)計(jì)與實(shí)現(xiàn)[D].地理信息科學(xué)學(xué)報(bào)碩士學(xué)位論文,2012.

      [2] 林源,陳志泊.分布式異構(gòu)數(shù)據(jù)庫同步系統(tǒng)的研究與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010.31(24).

      [3] 諸云強(qiáng),馮敏,宋佳.基于SOA的地球系統(tǒng)科學(xué)數(shù)據(jù)共享平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].地理信息科學(xué)學(xué)報(bào),2009.3.

      [4] 李鐵軍,郝文寧,王偉一.一個(gè)輕量級(jí)的異構(gòu)數(shù)據(jù)庫同步系統(tǒng)[J].計(jì)算機(jī)與信息技術(shù),2007.

      [5] 陳為民,文學(xué)東.分布式地理數(shù)據(jù)庫同步更新系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪通報(bào),2012.11.

      [6] 黎建輝,吳威,閻保平.一個(gè)基于XML元數(shù)據(jù)映射與轉(zhuǎn)換方法[J].微電子學(xué)與計(jì)算機(jī),2008.

      [7] http://www.cnblogs.com/GaoJunTao/archive/2010/01/22/1653848.html.

      [8] 盧宇,龔忠友,吳進(jìn)營等.基于Web服務(wù)的分布式異構(gòu)數(shù)據(jù)同步設(shè)計(jì)[J].微計(jì)算機(jī)應(yīng)用,2011.32(12).

      [9] 盧宇,吳進(jìn)營,樂仁昌等.基于SOA架構(gòu)的分布式異構(gòu)數(shù)據(jù)同步通信控制策略分析[J].計(jì)算機(jī)應(yīng)用,2012.32(5).

      [10] 楊柳,蔡英蔚.基于XML格式異構(gòu)數(shù)據(jù)同步模型的研究[J].中國電力教育,2008.32(5).

      [11] 百度百科.http://baike.baidu.com/link?url=_URd0bJHHbuSr8k_jcYOonUEAzcCMVkPbEGlM1FuDQURVGdgr6qBbdioYaKhgIjFwCDY-MYXXxn8XLQ2Ln-2aa

      [12] 畢鑫,王國仁,趙相國等.XML數(shù)據(jù)中Twing查詢處理與優(yōu)化技術(shù)研究綜述[J].計(jì)算機(jī)科學(xué)與檢索,2013.7(9).

      芜湖市| 灵川县| 偃师市| 获嘉县| 平顺县| 女性| 安义县| 甘德县| 定日县| 大姚县| 文水县| 麻城市| 贺州市| 秦安县| 鄂托克旗| 商河县| 西昌市| 侯马市| 望江县| 安阳市| 临颍县| 建水县| 江华| 铁力市| 安图县| 虎林市| 福安市| 凤台县| 白朗县| 沁源县| 资溪县| 宿松县| 宣恩县| 垦利县| 涡阳县| 襄垣县| 扬州市| 康保县| 大渡口区| 明溪县| 卢龙县|