• 
    

    
    

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

      一種基于XML的高校數(shù)據(jù)中心異構數(shù)據(jù)交換模型

      2014-03-28 01:53:24羅雅過
      電子設計工程 2014年8期
      關鍵詞:關系數(shù)據(jù)庫數(shù)據(jù)類型數(shù)據(jù)源

      羅雅過

      (西安文理學院陜西西安710065)

      隨著數(shù)據(jù)庫技術和信息化的發(fā)展,數(shù)據(jù)成為互聯(lián)網(wǎng)壞境下的核心資源。企事業(yè)單位都紛紛開始構建自己的信息化業(yè)務系統(tǒng),高校信息化建設更是信息化建設中的重點。高校中各個職能部門也都建立了自己的業(yè)務系統(tǒng),如人力資源系統(tǒng),教務系統(tǒng),科研系統(tǒng)等,但各個系統(tǒng)之間相互獨立,數(shù)據(jù)結構不統(tǒng)一,因此數(shù)據(jù)不能達到很好的共享,各業(yè)務系統(tǒng)之間就遇到了數(shù)據(jù)交換的問題。針對這一問題,尋求解決異構數(shù)據(jù)交換的問題,通過對關系數(shù)據(jù)庫的分析,異構數(shù)據(jù)交換技術的研究,來實現(xiàn)高校數(shù)據(jù)中心平臺的異構數(shù)據(jù)交換。

      1 數(shù)據(jù)交換支撐技術

      1.1 中間件與數(shù)據(jù)交換

      中間件(middleware)是客戶方與服務方之間的連接件,是位于平臺(硬件和操作系統(tǒng))和應用之間的通信服務,并獨立于硬件或數(shù)據(jù)庫廠商的一類基礎軟件,是一種需要進行二次開發(fā)的中間產(chǎn)品。其目的是為了更好解決分布異構數(shù)據(jù)交換與集成問題。

      分布式應用系統(tǒng)可以通過中間件技術實現(xiàn)不同技術之間的共享資源。在客戶機、服務器的操作系統(tǒng)之上有效管理數(shù)據(jù)資源和網(wǎng)絡通信。中間件的作用是為上層的應用軟件提供運行和開發(fā)的環(huán)境,幫助用戶靈活、高效開發(fā)和集成應用軟件,提供硬件和操作系統(tǒng)之間的通用服務。

      中間件的作用是使應用軟件能夠平穩(wěn)的運行于不同的硬件環(huán)境或操作系統(tǒng)之上,屏蔽網(wǎng)絡硬件平臺的差異性、操作系統(tǒng)的差異性以及網(wǎng)絡協(xié)議的差異性,在負載平衡、連接管理等方面應用性得到了很大提升,滿足主要業(yè)務需求,提供針對不同的操作系統(tǒng)和硬件平臺、符合接口和協(xié)議規(guī)范的多種實現(xiàn),能滿足大量用戶的需求。

      1.2 異構數(shù)據(jù)庫數(shù)據(jù)交換技術

      異構數(shù)據(jù)交換是指異構數(shù)據(jù)庫中不同數(shù)據(jù)源之間的相互操作[3,5]。異構主要體現(xiàn)在計算機體系結構的異構、操作系統(tǒng)的異構和數(shù)據(jù)庫管理信息系統(tǒng)(DBMS)的異構3個方面。隨著信息技術的快速發(fā)展,高校各個職能部門之間的聯(lián)系日趨緊密,不同業(yè)務系統(tǒng)之間的交流日益增多,在實際應用中,經(jīng)常需要將一個業(yè)務系統(tǒng)中的數(shù)據(jù)應用到另一個業(yè)務系統(tǒng)中,因此經(jīng)常需要不同業(yè)務系統(tǒng)之間的數(shù)據(jù)交換。而可擴展標記語言(Extensible Markup Language,XML),用于標記電子文件使其具有結構性的標記語言,可以用來標記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標記語言進行定義的源語言。XML主要進行Web傳輸。XML提供統(tǒng)一的方法來描述和交換獨立于應用程序或供應商的結構化數(shù)據(jù)。正是由于XML的格式簡單、可擴展性、可移植性以及自描述性等特點使其成為數(shù)據(jù)交換事實上的標準。通常情況下,基于XML的異構數(shù)據(jù)交換系統(tǒng)通過XML提供一個通用的數(shù)據(jù)格式,在各個業(yè)務系統(tǒng)的異構數(shù)據(jù)源中使用XML文檔作為交換的中間文件。

      2 基于XML的異構數(shù)據(jù)庫數(shù)據(jù)交換平臺模型

      為了方便討論,以Oracle與SQL Server、Access數(shù)據(jù)庫之間的數(shù)據(jù)交換為例進行數(shù)據(jù)交換,主要的開發(fā)環(huán)境為Asp.net?;赬ML的異構數(shù)據(jù)庫數(shù)據(jù)交換平臺模型如圖1所示。

      圖1 異構數(shù)據(jù)交換模型Fig.1 Heterogeneous data exchange model

      從圖1可以看出,整個異構數(shù)據(jù)交換模型總體可以分3層。

      客戶端層:用戶可以通過客戶端瀏覽器向服務器發(fā)送請求并返回結果,顯示給用戶。

      中間應用層:主要管理和控制整個系統(tǒng)的來自用戶的數(shù)據(jù)請求、響應等處理工作。

      數(shù)據(jù)庫層:由高校各個業(yè)務系統(tǒng)的不同關系數(shù)據(jù)庫系統(tǒng)構成,如,人力資源系統(tǒng),科研系統(tǒng),教務系統(tǒng)等,每一個系統(tǒng)中都有一個數(shù)據(jù)庫訪問接口層,負責對數(shù)據(jù)庫中表數(shù)據(jù)的存取,同時為異構系統(tǒng)提供交互的接口。

      在三層交換模型中,最核心的就是對數(shù)據(jù)的交換處理這一模塊了,其中包括獲取用戶請求、連接源數(shù)據(jù)庫和目標數(shù)據(jù)庫、提取相應的數(shù)據(jù)、轉換數(shù)據(jù)為XML文檔并在客戶端程序上將數(shù)據(jù)顯示出來。

      2.1 XML與關系數(shù)據(jù)庫

      XML文檔從物理結構上來看,文檔是由多個實體單元組成,一個實體單元可以引用其他實體;從邏輯結構來看,文檔由聲明語句、元素、屬性、處理指令、注釋和命名空間構成。在XML中提供了許多數(shù)據(jù)庫[1]中所需要的部分:存儲(XML文檔),結構(DTD,XML schema語言),查詢語言(XQL、XMLQL,QUILT等),編程接口(SAX,DOM)等,但還缺少在真實的數(shù)據(jù)庫中所必備內(nèi)容:有效的存儲、索引、安全、數(shù)據(jù)完備性、觸發(fā)等。在XML文檔中,所有的元素都必須有開始標記和結束標記,并且文檔必須包含一個根元素。所以從本質上講,XML是描述半結構化數(shù)據(jù)最好的數(shù)據(jù)模型。關系數(shù)據(jù)庫模型一般由三層組成:數(shù)據(jù)庫、表(關系)和字段(列)。XML文檔可以表示任意層次的樹,在一定條件下,XML可以用來表示關系模式。

      2.2 模式映射

      在XML文檔和數(shù)據(jù)庫的轉換中,主要是XML與關系數(shù)據(jù)庫的映射[6]。XML文檔中主要涉及的是元素、子元素、屬性、處理指令、實體、實體引用、域名等概念;而在一個關系數(shù)據(jù)庫中,則會涉及到表、記錄、字段、關鍵字、外鍵、視圖、索引等概念。XML與關系數(shù)據(jù)庫之間的映射關系根據(jù)建立方式的不同,可以分為基于模板驅動的轉換方式和基于模型驅動的轉換方式。基于模板的映射方式是在一個XML文檔中嵌入帶參數(shù)的SQL命令。這些指令在轉換過程中被系統(tǒng)設別并執(zhí)行,生成目標XML文檔,并用數(shù)據(jù)傳輸如中間件等實體軟件進行處理。以XML文檔內(nèi)嵌的sql執(zhí)行生成的數(shù)據(jù)結果為依據(jù),不涉及數(shù)據(jù)之間賴以存在的關系模式或對象模式。

      基于模型驅動的映射,當把數(shù)據(jù)從數(shù)據(jù)庫傳送到XML文檔或把數(shù)據(jù)從XML文檔傳送到數(shù)據(jù)庫時,不是依賴內(nèi)嵌的SQL命令,而是用一個很具體的模型來實現(xiàn)。具體是將一個XML文檔表示為由數(shù)據(jù)對象構成的樹,每一個元素類型和對象相對應,基于模型驅動的映射是模式與模式之間的映射。目前,主流數(shù)據(jù)庫都支持XML技術,包括基于XML的異構數(shù)據(jù)庫數(shù)據(jù)交換的模式映射和XML與關系數(shù)據(jù)庫之間的數(shù)據(jù)格式映射。但是在進行實際的異構數(shù)據(jù)交換時,還必須解決數(shù)據(jù)交換規(guī)則字典問題[7],用戶首先在客戶端根據(jù)交換的需要配置或設置相應的交換規(guī)則,如果沒有所需要的規(guī)則可以先制定所需規(guī)則。規(guī)則制定后,系統(tǒng)中的規(guī)則解析模塊對所選中的規(guī)則進行解析并分解,再通過數(shù)據(jù)的提取、數(shù)據(jù)的轉換與數(shù)據(jù)寫入等完成數(shù)據(jù)交換。

      2.3 數(shù)據(jù)類型映射方式

      在異構數(shù)據(jù)庫數(shù)據(jù)交換平臺下,對于數(shù)據(jù)類型的約束處理尤為重要,不僅源數(shù)據(jù)庫和目的數(shù)據(jù)庫有著不同的數(shù)據(jù)類型及精度[8],并且作為中間轉換的XML中,也定了一套豐富的內(nèi)建數(shù)據(jù)類型,異構數(shù)據(jù)庫之間并沒有直接的類型映射,所以就要求源數(shù)據(jù)庫與目標數(shù)據(jù)庫,以及XML內(nèi)置數(shù)據(jù)庫三者之間做好數(shù)據(jù)類型的映射。以mysql、SQLServer數(shù)據(jù)庫為例,項目中應用的主要的類型對應關系如表1相似類型映射表[2]。

      表1 相似類型映射表Tab.1 A similar type of mapping table

      從上面的類型映射表中可以看出,關系數(shù)據(jù)庫和xm l的類型映射是多對一或者一對一的關系,這樣就保證了關系數(shù)據(jù)庫中的每一個數(shù)據(jù)類型都能和xm l中的數(shù)據(jù)類型相對應,保證了數(shù)據(jù)交換時的數(shù)據(jù)類型之間的映射,保證數(shù)據(jù)類型約束。

      2.4 數(shù)據(jù)交換流程

      利用XML文檔作為中間文件進行異構數(shù)據(jù)源間的信息交換[4]必須實現(xiàn)以下兩點:將數(shù)據(jù)源中的記錄提取出來轉變?yōu)閄ML文檔;將已有的XML文檔解析后導入到數(shù)據(jù)源中。為了在數(shù)據(jù)源和XML文檔之間傳遞數(shù)據(jù),必須將數(shù)據(jù)源結構和XML文檔結構相互轉化。轉換過程主要分為兩大部分:源數(shù)據(jù)庫到XML的轉換和XML到目標數(shù)據(jù)庫的轉換。

      第一、關系數(shù)據(jù)庫到XML文檔之間的轉換

      1)連接源數(shù)據(jù)庫。

      2)取源數(shù)據(jù)庫中數(shù)據(jù)庫表、字段、主外鍵關系等信息。

      3)由用戶設置轉換規(guī)則,并生成相應的交換規(guī)則字典文件rule.xm l。

      4)根據(jù)字典文件rule.xml規(guī)則進行數(shù)據(jù)庫到xml的轉換,并生成相應的xm l DTD和xm l。

      第二、XML文檔到關系數(shù)據(jù)庫中的轉換

      1)連接目標數(shù)據(jù)庫。

      2)選擇在關系數(shù)據(jù)庫到xml文檔轉換階段生成的字典文件rule.xml。

      3)根據(jù)rule.xml規(guī)則進行xml文檔到關系數(shù)據(jù)庫的轉換。

      4)使用相應SQL語句將轉換結果寫入到目標數(shù)據(jù)庫,完成XML到關系數(shù)據(jù)庫的數(shù)據(jù)轉換。

      2.5 轉換規(guī)則的設計

      1)數(shù)據(jù)庫表與表之間的關系控制著轉換時的映射范圍。將有聯(lián)系的表建立一個規(guī)則,獨立的表建立獨立的規(guī)則,這樣可以保證一個規(guī)則返回它對應的數(shù)據(jù)集。

      2)表結構沖突的處理。

      ①字段名稱和順序不同。建立源表字段和目標字段的意義映射,來解決順序問題。

      ②字段個數(shù)不同。如果目標數(shù)據(jù)庫中的表字段比源數(shù)據(jù)庫相應的表字段多,則轉換時將源數(shù)據(jù)庫中表的相應字段設置為空或者默認值,反之,不做處理。

      3)參考完整性約束。保證主子表在文件中的唯一存在。

      4)表內(nèi)容合并。就是說目的數(shù)據(jù)庫的表內(nèi)容需要源數(shù)據(jù)庫多個表的內(nèi)容合并才能得到。

      圖2 表內(nèi)容合并圖例Fig.2 Table of contents with the legend

      3 異構數(shù)據(jù)庫數(shù)據(jù)交換平臺模型的應用

      以西安文理學院數(shù)據(jù)中心平臺為例,數(shù)據(jù)交換模式為,一個數(shù)據(jù)中心程序可對應多個數(shù)據(jù)交換機,分別安裝在不同的服務器上,每個不同的交換機均可并行運行,同時一個交換機可以負責多個交換任務及交換工作組。同時數(shù)據(jù)交換支持庫對庫模式,無需數(shù)據(jù)落地。

      異構數(shù)據(jù)庫數(shù)據(jù)交換的最關鍵的就是進行普通交換配置。如圖3為普通交換配置界面。通過選擇一個源數(shù)據(jù)庫,可以在彈出窗口查詢選擇數(shù)據(jù)源的表或者視圖。也可以通過源SQL語句中寫SQL語句,可以自定義語句格式,包括表關聯(lián),||連接符,to_number等函數(shù)都可以使用,如圖4為增加一個交換配置,完成、添加一個數(shù)據(jù)交換配置,進行完成一個異構數(shù)據(jù)庫的數(shù)據(jù)轉換。

      圖3 普通交換配置Fig.3 Ordinary exchange allocation

      圖4 增加一個交換配置Fig.4 Add a exchange configuration

      4 結束語

      通過對異構數(shù)據(jù)交換模型的研究,主要是通過轉換規(guī)則的設計,數(shù)據(jù)類型的映射方式,來實現(xiàn)源數(shù)據(jù)庫表與目的數(shù)據(jù)庫表中信息的轉換,轉換并不是直接的,而是通過XML的中間數(shù)據(jù)轉換,進而實現(xiàn)源數(shù)據(jù)到目標數(shù)據(jù)的轉換。以西安文理學院數(shù)據(jù)平臺為例,用戶通過對交換配置的設置,如源數(shù)據(jù)庫表,目標數(shù)據(jù)庫表等項目設置,就可以實現(xiàn)高校內(nèi)不同業(yè)務系統(tǒng)之間的數(shù)據(jù)交換,解決了異構數(shù)據(jù)的交換問題,實現(xiàn)了高校數(shù)字資源的有效共享。

      [1] 薩師煊,土珊.數(shù)據(jù)庫系統(tǒng)概論[M].2版.北京:高等教育出版社,2002.

      [2] 陳施衛(wèi).基于XML的異構數(shù)據(jù)庫數(shù)據(jù)交換的研究與實現(xiàn)[D].成都:電子科技大學,2012.

      [3] 關輝.異構數(shù)據(jù)庫間數(shù)據(jù)安全交換技術研究[J].電腦知識與技術,2009(1):152-156.GUAN Hui.Secure data exchange technology between heterogeneous databases research[J].Computer Knowledge and Technology,2009(1):152-156.

      [4] 趙莉,杜思鋒.數(shù)據(jù)交換平臺中異構數(shù)據(jù)轉換技術的研究[J].電子設計工程,2011(3):91-94.ZHAO Li,DU Si-feng.Research of heterogeneous data transformation in data exchange platform[J].Electronic Design Engineering,2011(3):91-94.

      [5] 王志平.基于XML的異質多數(shù)據(jù)庫集成系統(tǒng)的設計與實現(xiàn)[J].河南大學學報:自然科學版,2007,37(5):530-532.WANG Zhi-ping.Design and implementation of XML system based on Heterogeneous Database Integration[J].Journal of Henan University:Natural Science Edition,2007,37(5):530-532.

      [6] 洪欣.基于XDR模式的XML文檔與關系數(shù)據(jù)庫的映射技術研究[D].泉州:華僑大學,2004.

      [7] 王坤.基于SVPWM的STATCOM設計及實現(xiàn)[J].陜西電力,2011(1):11-15.WANG Kun.SVPWMbased design and realization of STATCOM[J].Shaanxi Electric Power,2011(1):11-15.

      [8] 肖笑.基于BCC算法的多機系統(tǒng)PSS參數(shù)優(yōu)化設計[J].陜西電力,2012(12):51-54.XIAO Xiao.Optimal design of multii-machine power system stabilizer parameters based on bacterial colony chemotaxis algorithm[J].Shaanxi Electric Power,2012(12):51-54.

      猜你喜歡
      關系數(shù)據(jù)庫數(shù)據(jù)類型數(shù)據(jù)源
      關系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應用
      山東冶金(2022年2期)2022-08-08 01:51:30
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      如何理解數(shù)據(jù)結構中的抽象數(shù)據(jù)類型
      Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
      基于不同網(wǎng)絡數(shù)據(jù)源的期刊評價研究
      基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質量評價算法
      基于索引結構的關系數(shù)據(jù)庫關鍵詞檢索
      分布式異構數(shù)據(jù)源標準化查詢設計與實現(xiàn)
      一種基于數(shù)據(jù)圖劃分的關系數(shù)據(jù)庫關鍵詞檢索方法
      基于用戶反饋的關系數(shù)據(jù)庫關鍵字查詢系統(tǒng)
      禹州市| 东阿县| 莱芜市| 勐海县| 上林县| 鄂尔多斯市| 乐亭县| 伊春市| 南开区| 丽水市| 哈密市| 夏邑县| 乌兰县| 奉贤区| 水城县| 珲春市| 德昌县| 重庆市| 大港区| 汉阴县| 呼和浩特市| 牙克石市| 福安市| 汝城县| 夏邑县| 苗栗县| 安溪县| 寻乌县| 隆林| 湘潭市| 平谷区| 洱源县| 常山县| 乐亭县| 榆社县| 诸城市| 凉山| 张掖市| 南安市| 邵阳市| 临湘市|