摘 要:本文通過建立集成系統的全局數據字典,確立字典和各業務系統數據源表字段的映射關系,解決了各業務系統數據源間語義異構問題,并通過配置生成查詢接口使用戶能夠針對自己的需要并附加相應的條件進行查詢。
關鍵詞:可配置;全局模式;屬性映射
在異構集成系統中,各局部數據源,都是不同用戶根據自身實際需要在不同時期針對專某一特定問題進行設計的,在它們的模式上可能存在著較大的差異和沖突。現階段需要對這些數據源進行統一的,透明的訪問,就需要在新系統中屏蔽或者消除不同數據源之間的這些差異和沖突。
一、總體設計方案
通過設計數據源訪問服務實現了數據集成服務。根據數據源類型的不同,將對各個數據源訪問操作封裝成服務,數據集成服務則接受用戶的查詢請求,對用戶的查詢進行解析、分解,然后調用數據訪問服務獲取數據并對數據進行整合返回給用戶。其中數據集成查詢服務是系統的關鍵,多源異構數據的查詢,全局模式及其與源模式字段的屬性映射表。
數據集成服務的設計是異構集成系統設計的關鍵和難點,該服務主要解決對異構數據源的查詢處理,全局數據字典和屬性映射表,數據緩存,結果整合等。
因此,解決了全局模式和數據集成應用服務的設計,就可通過對查詢內容和條件的配置達到用戶可配置查詢的目的。
二、全局模式設計
為了實現對多源異構數據透明訪問,給用戶一個很好的查詢體驗,就需要建立一個全局模式來屏蔽這些差異和沖突,給用戶提供一個統一的、全局的視圖,集成系統通過對局部數據源的封裝和數據提取,能夠將參與集成的數據以一種公共的數據格式提供給用戶
1.公共數據模型
為了解決異構集成系統中多源數據異構性,需要將每個局部數據源的模型映射到一個公共數據模型[3,4,5]上。
采用XML作為公共數據模型來表示全局模式中的各種關系及其關系的屬性。將異構數據源的模型映射成公共數據模型[1,2],使集成工作容易進行
利用全局數據字典來表示參與集成的各局部數據源的全局模式并利用XML作為公共數據模型語言,將局部數據源的參與集成的表中的字段注冊其中。任何一個參與集成的數據源能夠被查詢的數據屬性都必須在這里注冊,即添加到該數據屬性對應的節點中。XML是一種半結構化的數據存儲模式,它包括很多節點及屬性,它表示系統全局模式分類關系。
2.屬性映射表
由于參與集成的各個局部數據源的命名都是各自獨立的,這樣就存在著參與集成的各數據源中不同的屬性名稱可能對應著全局模式中的同一屬性(同一目標屬性)。因此就需要建立它們之間的映射關系。本文通過將參與集成的各局部數據源中表的字段屬性注冊到全局模式上,實現了被集成的數據到全局模式的映射。
屬性映射表解決了企業中數據源中數據的命名異構和數據類型異構問題,并且屬性映射表協同全局數據字典將局部數據模式轉換為全局公共數據類型。通過屬性映射表與全局數據字典協同完成異構數據源局部數據模型與公共數據模型之間的轉換。
三、查詢接口設計
集成系統為用戶提供了一個查詢接口生成功能,并通過開放查詢接口接受用戶的查詢請求,返回用戶所需的查詢結果。
1.查詢接口的生成
1)查詢內容的選取:從全局數據字典中選取用戶所要查詢的屬性,存入查詢內容表中。
2)查詢條件控件的選取:從查詢內容表中選擇需要添加查詢條件的屬性,并根據所選屬性的特點,選擇控件類型。用TextBox控件作為用戶查詢條件的輸入接口,查詢條件間采用AND連接,并對所選的查詢條件做精確匹配和模糊匹配。
3)接口生成:將所選擇的查詢的內容及配置的查詢條件生成的控件布局在同一頁面,并添加搜索按鈕,形成用戶針對全局查詢的接口,查詢內容以GridView控件綁定查詢內容表的形式給予顯示。
2.查詢處理
根據集成系統體系結構,系統接受用戶的查詢,并依據全局模式和屬性映射表對該查詢解析,判斷該查詢涉及哪些局部數據源,數據庫,表及字段,然后將用戶的查詢條件通過處理轉化為針對不同數據源的子查詢,然后對相應的數據源進行訪問。局部數據源執行查詢并返回結果,系統對結果進行整合,并按照屬性映射表的映射規則,將結果轉為全局公共數據模型。用戶查詢過程如圖1所示:
查詢分解除了將用戶的查詢語句分解外,構成了一個循環,分別將子查詢語句提交到局部數據源執行。
四、總結
本文通過自定義全局數據字典,并建立其與局部數據源表字段的映射關系來解決語義異構的,通過對查詢分解并根據用戶的需要定制查詢內容解決按需查詢的問題。下一步研究的重點是如何發現數據源模式變化,提高異構數據集成的自動化程度。
參考文獻
[1]W3C Working Group.Web Services Architecture.http://www.w3.org/TR/2004/ NOTE-ws-arch-20040211/,2004-2-11
[2]王明亮,李東,基于XML的異構多源數據查詢[J].計算機應用于軟件,2007,12(24)
[3]蔣軍,面向數據集成的數據服務開發工具:[碩士學位論文].天津,天津大學,2007
[4]王天成,數據集成平臺中數據服務管理組件的實現:[碩士學位論文].天津,天津大學,2007.
[5]強保華,異構數據庫語義集成技術研究:[博士學位論文].重慶,重慶大學,2005
(作者單位:中國衛星海上測控部)