?

基于元數據映射機制的異構數據操作

2015-03-02 12:36王曉雯孫承愛周春露
軟件導刊 2015年1期
關鍵詞:元數據數據共享

王曉雯++孫承愛 周春露

摘要:實現異構數據庫的數據共享操作是數據庫管理的關鍵技術,從各種分布、異構式數據源中抽取數據,以達到實現異構數據庫間的數據管理。對基于元數據的數據互操作技術和現狀進行總結分析,提出基于元數據映射的分布式異構數據管理機制,針對國內外元數據標準,按照元數據提取、映射規則,能夠很好地解決從異構數據源中提取數據并按照標準數據庫的要求進行加工處理后的上報問題,實現異構數據共享。

關鍵詞:元數據;異構數據庫;數據共享;元數據提??;元數據映射

DOIDOI:10.11907/rjdk.143671

中圖分類號:TP392

文獻標識碼:A 文章編號文章編號:16727800(2015)001014603

基金項目基金項目:山東科技大學教育教學“群星計劃”基金項目(2013230);山東科技大學研究生科技創新基金項目(YC130322)

作者簡介作者簡介:王曉雯(1990-),女,山東青島人,山東科技大學信息科學與工程學院碩士研究生,研究方向為軟件工程、數據庫、信息管理;孫承愛(1964-),女,山東泰安人,碩士,山東科技大學信息科學與工程學院副教授,研究方向為C語言、計算機技術;周春露(1988-),男,山東濰坊人,山東科技大學信息科學與工程學院碩士研究生,研究方向為軟件開發與集成。

0 引言

隨著應用軟件系統規模的不斷擴大,對不同數據庫中數據操作及數據共享的需求也越來越重要,特別是現有管理系統大多構建于不同的數據庫應用軟件上,造成信息共享困難。傳統的異構數據管理技術不能有效地解決統一數據操作和減少信息冗余問題。因此,為實現異構數據庫間的數據管理,有效利用數據,對基于元數據的操作技術進行討論分析,結合關鍵技術的應用需求,為數據庫系統間數據共享提供解決方案。針對這一需求,提出基于元數據映射機制的分布式異構數據管理機制,在介紹元數據標準和技術分類體系成果的基礎上,分析基于不同元數據標準的數據庫系統間操作的關鍵技術,克服元數據標準間的差異[1],實現數據的有效管理操作,并根據這種技術特點加以改進。

1 元數據及異構數據庫系統理論

元數據是描述數據的數據,其作用包括描述信息資源或數據本身的特征和屬性,規定數字化信息的組織[2]。在元數據應用上,資源分析是指明確元數據所對應描述的數字對象及相關需求等。在系統建?;A上,用屬性提取來分析每一個資源實體的屬性以及資源實體的管理、描述、應用的功能需求,從而得到每個資源實體的元數據描述[3]。元數據處理的高效性將影響整個系統的正確可靠性和性能提升。對元數據進行管理可以靈活地實現外部數據的加入和退出,降低了數據管理難度。在系統中可把數據看作獨立的信息單元。

異構數據庫系統是相關的多個數據庫系統的集合,其目標是為實現數據共享管理和透明訪問,異構數據庫間的合并和共享,并不會破壞原有數據庫系統的獨立性和完整性控制。而元數據是對信息資源的結構化描述,在數據庫中可以更好地存儲各類異構數據源的節點信息,一般包含編碼、名稱、類別、標識、字段類型、是否主鍵、對應外鍵等。

異構數據庫系統,實現數據共享管理應滿足兩點:一是實現數據庫轉換,二是實現數據的透明訪問[4]。針對標準節點數據項是否能夠完全映射子節點元數據項,提出基于元數據映射的異構數據上報技術和基于元數據映射的異構數據集成技術。

2 基于元數據映射的異構數據管理

可通過基于元數據映射機制的分布式異構數據管理機制,實現數據庫系統間的數據管理。從分布式異構數據庫系統的數據處理流程來看,從不同源數據庫中分別提取元數據信息,按照數據共享的目標統一表達元數據[5],通過數據轉換的操作實現元數據表的統一和聚合。

基于元數據映射機制的分布式異構數據管理機制,是將子節點數據表劃分成元數據項,使其與標準節點數據表的元數據映射,將映射后對應的子節點數據項上傳到標準節點數據庫中,從而解決從異構數據源中提取數據并按照標準數據庫的要求進行加工處理并上報的問題。

2.1 元數據映射的分布式異構數據上報

基于元數據映射的分布式異構數據上報是由標準節點維護描述各子節點所需上報數據大而全的數據表,各子節點自主上報數據項內容。在此過程中,允許各節點根據使用習慣自主對數據項進行名稱的修改和順序調整。

屬性映射的過程就是標準節點數據庫中已經設計了包含描述一個對象所需要的所有數據項,而各子節點根據需要從標準節點數據庫中選出自身描述對象時所需要的數據項種類,并且根據使用習慣修改數據項名稱、調整數據項顯示順序,并將這些操作結果用合適的方法進行記錄,當上報數據時能夠將修改后的子節點數據項正確地映射到原本對應的中央節點數據庫數據項上。

就數據項數目和類別而言,應該涵蓋用戶要描述對象的全部項目。然而,對應具體某個節點來說,在數據項數目上可能只需要標準的一個子集:例如標準節點要求描述一個貨物可能有始發站、目的站、日期、貨物名稱、件數、重量等,而子節點描述該貨物只需要目的站、貨物名稱、件數;在數據項名稱上可能有任意的命名。例如,對于“目的站”,子節點可以用“目的地”、“貨物寄送地址”等相似詞語來描述,在數據項順序上可以按照任意順序給出。

2.2 元數據提取

針對上述方案主要解決兩個主要問題:元數據提取和節點數據到標準數據元數據的映射。元數據提取過程需要實現的是將標準節點數據庫中元數據的提取和子節點數據庫中用戶元數據的提取。標準元數據提取是將標準節點數據庫中定義的描述一個對象的所有數據項按照列的順序將屬性編號、數據項名稱、是否可以為空等屬性提取到一個表格中進行維護,供以后節點數據到標準元數據的映射過程使用,其中如果該項要求不為空,則必選項設為1;如果可以為空,則設為0。對于必選項值為0的數據項,子節點用戶在選擇要上報的數據項時可以不予選擇,否則必須選擇。例如:標準節點數據庫規定描述一個對象A所設計的表格A如圖1所示。

圖1 表A設計

描述對象A需要B、C、D、E、F、G這6個數據項,則定義最終提取到的標準元數據表如圖2所示。

用戶元數據提取是將用戶對標準節點數據庫數據項做出的選擇、對數據項名稱的修改過程。按照列的順序將屬性編號、數據項名稱、標準節點屬性編號提取到一個表格中進行維護,其中標準節點屬性編號是指該條記錄中的數據項對應標準元數據提取結果表中的屬性編號。例如:某個節點選擇了表A中的B、D、E、F 4個數據項,并將其重命名為B-、E-、F-,數據項D保持不變,將顯示順序變為:E-、F-、B-、D,則存儲結果如圖3所示。

圖2 分布式異構數據上報的標準元數據提取結果

圖3 分布式異構數據上報的用戶元數據提取結果

2.3 節點數據到元數據映射

節點數據到元數據的映射是指,用戶對標準節點數據庫描述一個對象的所有數據項進行數據項個數選擇、數據項名稱修改、數據項順序調整后,節點數據的結構會與標準數據即標準節點數據不一致,這種情況下就不能像普通的數據庫插入操作一樣將節點數據的每項與標準節點數據庫中的數據項對應起來后再進行數據的插入操作。

進行用戶元數據到標準元數據的映射過程為:①按照用戶元數據提取表格中的屬性編號順序依次獲得用戶元數據中的記錄,獲取用戶數據中包含的數據項,包括數據項名稱、標準節點屬性編號[6];②循環獲取用戶數據中每個數據項對應標準節點數據庫數據項的名稱,例如上述節點數據庫中數據項名稱為E-中的數據應該對應插入到標準節點數據庫中名稱為E的數據項,查詢標準元數據提取結果表格中對應屬性編號為4的數據項名稱,可以得到4對應的數據項名稱為E,同樣的節點數據中的F-項對應標準節點數據庫中的F。

3 元數據提取技術及映射機制的推廣改進

應用元數據提取技術及映射機制可以解決數據上報問題,但當標準節點數據庫描述一個對象的數據項并不全面時,即當節點數據要求插入標準節點數據庫時,如果節點數據中含有標準節點數據庫不存在的數據項,則該數據項會被新增到標準節點數據庫中作為一個新的數據項。因此做出改進:將各節點結合同義詞表與標準節點數據庫進行屬性映射、插入操作。

當節點數據中某個數據項名稱與標準節點數據庫中的數據項不一致時,如果在同義詞表中,該名稱作為標準節點數據庫中某個數據項的同義詞,則可以將該項與標準節點數據庫中的相似項進行映射;如果在同義詞表中,該名稱沒有作為標準節點數據庫的某個數據項的同義詞,則將其添加為標準節點數據庫某個數據項的同義詞或者在標準節點數據庫中新添加一個數據項。

標準節點數據庫的數據項名稱與子節點數據庫的項目名稱不一定相同,這種情況下,需要維護一個同義詞表。當用戶需要上報數據時,將子節點數據庫的數據項名稱在同義詞表中進行查詢,如果存在記錄,則可以將子節點數據庫的數據項名稱映射到標準節點數據庫的數據項名稱上;如果不存在該記錄,則在同義詞表中添加該同義詞,在標準節點數據庫中插入新的數據項并命名,然后在同義詞表中加上該數據項的相關信息。這樣在進行元數據的映射時,如果查詢元數據提取表中沒有匹配成功,需要查詢同義詞表中同義詞數據項一列中有無記錄的內容與該數據項相同,如果存在相同記錄,則查詢該記錄所對應“屬性編號”一列的內容,然后根據該屬性編號與元數據提取結果表的“屬性編號”相結合查找標準節點數據庫中對應的數據項名稱。

4 應用案例

應用此機制以程序設計基礎精品課程管理網站為實用案例,對基于元數據映射機制的異構數據操作管理原型系統進行了設計與實現,用于說明文中介紹的分布式異構數據上報技術。此精品課程管理網站提供管理員、學生、教師3種角色,教師需要對各學期、各課程的考核提供所需要的業務數據。各教師均已有自己的業務數據庫,但只能嚴格從自身所管理的數據內容中選擇上報的數據,對于自己業務無關的數據可以不予關注。作為節點用戶應用該系統,主要是對節點上報數據的管理,包括上報數據的瀏覽、查詢、增加、修改和刪除等操作。以網站中的知識點更新功能為例,教師通過該界面,可以對每門課程的知識點進行添加、更新、刪除。

5 結語

不同應用軟件造成的異構現象會給數據共享帶來很大困難,從而產生大量“信息孤島”[7]。與傳統異構數據管理方法比較,數據聯邦方法透明度高,但要求有較好的網絡性能且容易冗余;數據倉庫技術實時性較差、耦合性低,面對大量數據時,服務效率明顯降低?;谠獢祿成錂C制的分布式異構數據管理機制,通過將節點數據表劃分成元數據項,標準節點與子節點的元數據項進行映射后,將子節點數據提交到標準節點,解決了分布式異構數據不能上報的問題。這種機制為用戶提供了統一數據操作接口,且各數據源的結構保持相對穩定,降低了數據管理難度,實現了數據資源的有效整合。

參考文獻:

[1] 崔紀鋒,張勇,邢春曉.元數據在數據庫互操作中的應用[J].計算機科學與探索,2011,5(4):3033.

[2] 戴超凡.數據倉庫中元數據技術研究[J].計算機工程與應用,2011,37(14):5658.

[3] 劉戀,鄭彪.分布式文件系統中元數據操作的優化[J].計算機應用,2012(12):1215.

[4] 畢強,朱亞玲.元數據標準及其互操作研究[J].信息系統,2008(5):2325.

[5] 蔣楠,丁祥武.基于模型驅動元數據管理策略的研究[J].計算機應用與軟件,2012,29(1):3336.

[6] 衛佳蘊,孫莉,朱吉翔.基于元數據的目錄服務體系研究與實現[J].計算機技術與發展,2008,18(4):2730.

[7] 劉青寶,黃宏斌等.數據倉庫中的元數據管理[J].計算機工程與科學,2008(4):1519.

猜你喜歡
元數據數據共享
財會信息資源元數據標準的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合