張守勝
(江西財(cái)經(jīng)大學(xué)現(xiàn)代教育技術(shù)中心,江西 南昌 330013)
信息資源是實(shí)現(xiàn)企業(yè)、政府、商業(yè)信息化的源泉。隨著Internet技術(shù)的發(fā)展,這些信息資源逐漸呈現(xiàn)分布性、動(dòng)態(tài)性,多領(lǐng)域、半結(jié)構(gòu)化或無結(jié)構(gòu)化、非規(guī)范化等特點(diǎn)。不同應(yīng)用系統(tǒng)之間要進(jìn)行準(zhǔn)確的信息共享和交換,需要設(shè)計(jì)一個(gè)數(shù)據(jù)交換來實(shí)現(xiàn)跨部門、跨系統(tǒng)、跨異構(gòu)數(shù)據(jù)庫(kù)的數(shù)據(jù)共享,為領(lǐng)導(dǎo)管理、決策提供信息支持與服務(wù)。將不同的數(shù)據(jù)形式變異構(gòu)為同一,化分散為集中,才能有利于集成人員對(duì)數(shù)據(jù)的發(fā)布、訂閱和查詢操作。
數(shù)據(jù)交換是實(shí)現(xiàn)數(shù)據(jù)共享的一種方式。通過數(shù)據(jù)交換的方法,實(shí)現(xiàn)企業(yè)業(yè)務(wù)系統(tǒng)間的數(shù)據(jù)共享、互聯(lián)互通、業(yè)務(wù)協(xié)同,也是解決目前“信息孤島”現(xiàn)象的關(guān)鍵途徑。本文設(shè)計(jì)了一個(gè)基于RDF/XML的異構(gòu)數(shù)據(jù)交換模型,利用RDF/XML文件為公共數(shù)據(jù)模型來實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫(kù)管理系統(tǒng)間模式轉(zhuǎn)換和數(shù)據(jù)交換。
目前很多Web站點(diǎn)使用內(nèi)嵌于HTML(超文本標(biāo)記語(yǔ)言)中的
一個(gè)完整的元數(shù)據(jù)體系可以從橫向和縱向兩方面分析。橫向分析包括內(nèi)容元數(shù)據(jù)、管理元數(shù)據(jù)和結(jié)構(gòu)型元數(shù)據(jù)。縱向分析包括語(yǔ)義(元數(shù)據(jù)表達(dá)的含義)、結(jié)構(gòu)(元數(shù)據(jù)元素之間的相互關(guān)系)和語(yǔ)法 (元數(shù)據(jù)體系如何描述和表達(dá))。語(yǔ)法是前兩者的表現(xiàn)基礎(chǔ),只有選擇合適的語(yǔ)法才能體現(xiàn)出元數(shù)據(jù)的語(yǔ)義和結(jié)構(gòu)[1]。元數(shù)據(jù)的語(yǔ)法通常是各種標(biāo)記語(yǔ)言,如SGML(Standard Generic Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)、HTML,XML,RDF等。
RDF是采用XML作為交換和處理元數(shù)據(jù)的通用語(yǔ)法結(jié)構(gòu)體系,致力于增強(qiáng)WWW上對(duì)元數(shù)據(jù)的創(chuàng)建、交換和使用,甚至可以通過簡(jiǎn)單地嵌套R(shí)DF描述來生成由其他RDF資源所組成的資源。RDF的含義就是描述資源的框架(Framework for Describing Resources),這樣,不同的用戶或團(tuán)體能在這一框架下定義他們自己的元數(shù)據(jù)資源。我們可以用對(duì)象模型的原則來辨別這些資源:
(1)資源(Resource):資源對(duì)象標(biāo)識(shí)實(shí)際的以網(wǎng)絡(luò)為基礎(chǔ)的資源,包含世界上所有的網(wǎng)頁(yè)及部分元素或網(wǎng)絡(luò)應(yīng)用程序、所有在Web上被命名、具有URI的東西,如網(wǎng)頁(yè)、XML文檔中的元素等。
(2)描述(Description):對(duì)資源屬性(Property)的一個(gè)陳述,以表明資源的特性或者資源之間的聯(lián)系。
(3)框架(Framework):與被描述資源無關(guān)的通用模型,以包容和管理資源的多樣性、不一致性和重復(fù)性。
綜合起來,RDF就是定義了一種通用的框架,即資源-屬性-值的三元組,以不變應(yīng)萬(wàn)變,來描述Web上的各種資源。
用RDF/XML描述企業(yè)信息的元數(shù)據(jù)的優(yōu)勢(shì)在于:
(1)當(dāng)前各個(gè)應(yīng)用系統(tǒng)不同的機(jī)構(gòu)和部門根據(jù)需要建設(shè)了形式多樣、內(nèi)容各異的資源庫(kù),把RDF/XML應(yīng)用于基礎(chǔ)信息元數(shù)據(jù)描述,通過其對(duì)資源庫(kù)的領(lǐng)域知識(shí)進(jìn)行識(shí)別和規(guī)范描述,達(dá)成領(lǐng)域內(nèi)關(guān)于元數(shù)據(jù)及其關(guān)系之間的共識(shí),從而實(shí)現(xiàn)資源庫(kù)真正的重用和共享,解決資源庫(kù)建設(shè)存在的問題。
(2)提供元數(shù)據(jù)映射方案,集成到基礎(chǔ)信息的元數(shù)據(jù)管理中,使其有機(jī)地成為交換協(xié)議的一部分,實(shí)現(xiàn)公共元數(shù)據(jù)之間的語(yǔ)義映射、不同詞匯之間的關(guān)系定義及約束規(guī)則,從而保證各個(gè)應(yīng)用分布式資源的語(yǔ)義互操作。
(3)在RDF/XML的元數(shù)據(jù)層基礎(chǔ)上構(gòu)建有關(guān)領(lǐng)域知識(shí)的本體層幫助提供一種智能瀏覽技術(shù),實(shí)現(xiàn)對(duì)查詢請(qǐng)求的語(yǔ)義理解。
表1描述了一個(gè)國(guó)標(biāo)的公共元數(shù)據(jù)一覽表。
表1 GB/T 2261.1-2003人的性別代碼表
上表的RDF/XML描述為:
xmlns:dbinst-"http://www.baseinformation.com/RDF/dbinst"
數(shù)據(jù)交換模型是數(shù)據(jù)特征的抽象,是數(shù)據(jù)庫(kù)管理的形式框架。數(shù)據(jù)交換模型包括數(shù)據(jù)庫(kù)數(shù)據(jù)的結(jié)構(gòu)部分、數(shù)據(jù)庫(kù)數(shù)據(jù)的操作部分和數(shù)據(jù)庫(kù)數(shù)據(jù)的約束條件。所有的數(shù)據(jù)庫(kù)管理系統(tǒng)都是基于這樣的概念和實(shí)現(xiàn)模式。借鑒這樣的思想和實(shí)現(xiàn)模式,復(fù)雜網(wǎng)絡(luò)環(huán)境下RDF/XML數(shù)據(jù)交換模型充分地吸取了RDF/XML的優(yōu)點(diǎn),用RDF/XML文件作為中間數(shù)據(jù),利用RDF/XML豐富的表示形式和通用性自定義了數(shù)據(jù)的數(shù)據(jù)文檔和結(jié)構(gòu)文檔,將數(shù)據(jù)表示和結(jié)構(gòu)表示分開。
圖1 數(shù)據(jù)交換模型圖
如圖1所示為數(shù)據(jù)交換模型,在該模型中,數(shù)據(jù)交換的過程是:首先通過數(shù)據(jù)采集將源數(shù)據(jù)的數(shù)據(jù)和結(jié)構(gòu)都抽取出來,形成原始層的結(jié)構(gòu)文檔(以下也稱Structure)和數(shù)據(jù)文檔(以下也稱Data);同時(shí),也需要通過數(shù)據(jù)采集將目標(biāo)數(shù)據(jù)結(jié)構(gòu)抽取出來,形成轉(zhuǎn)換層的結(jié)構(gòu)文檔(Structure)。然后對(duì)原始層和轉(zhuǎn)換層的結(jié)構(gòu)文檔進(jìn)行分析,按照轉(zhuǎn)換的需求,形成數(shù)據(jù)轉(zhuǎn)換規(guī)則配置文檔。在原始層和轉(zhuǎn)換層的結(jié)構(gòu)文檔和轉(zhuǎn)換規(guī)則文檔的基礎(chǔ)上生成映射文檔(以下也稱Data Mapping),結(jié)合轉(zhuǎn)換規(guī)則文檔和映射文檔完成數(shù)據(jù)的交換,并同時(shí)得到轉(zhuǎn)換層數(shù)據(jù)文檔。最后,利用轉(zhuǎn)換層數(shù)據(jù)與目標(biāo)層數(shù)據(jù)之間的映射文檔,將轉(zhuǎn)換層數(shù)據(jù)文檔中的數(shù)據(jù)推送到目標(biāo)數(shù)據(jù)庫(kù)中,到此一個(gè)完整的數(shù)據(jù)交換過程結(jié)束。
數(shù)據(jù)采集模塊、數(shù)據(jù)交換模塊、數(shù)據(jù)推送模塊是該數(shù)據(jù)交換模型的三個(gè)主要部分,下面分析各個(gè)模塊的功能。數(shù)據(jù)采集模塊是整個(gè)交換模型的基礎(chǔ),主要是和用戶直接交互,獲取源數(shù)據(jù)和目標(biāo)數(shù)據(jù)的匹配信息;數(shù)據(jù)交換模塊是整個(gè)交換模型的核心,主要是將源數(shù)據(jù)和目標(biāo)數(shù)據(jù)表示成相應(yīng)的數(shù)據(jù)文檔和結(jié)構(gòu)文檔,按照用戶需求,進(jìn)行結(jié)構(gòu)匹配操作,消除類型異構(gòu)、語(yǔ)義異構(gòu)、長(zhǎng)度異構(gòu)、精度異構(gòu)、度量異構(gòu)和聯(lián)系異構(gòu)等異構(gòu),同時(shí)按照數(shù)據(jù)映射文檔和相關(guān)算法,將原始層數(shù)據(jù)轉(zhuǎn)換成轉(zhuǎn)換層數(shù)據(jù)庫(kù)中;數(shù)據(jù)推送模塊主要是將轉(zhuǎn)換層文檔按照數(shù)據(jù)映射文檔,將轉(zhuǎn)換層數(shù)據(jù)寫入目標(biāo)數(shù)據(jù)庫(kù)中。
數(shù)據(jù)采集模塊是整個(gè)數(shù)據(jù)交換模型的基礎(chǔ),它的主要任務(wù)是與用戶交互,獲取數(shù)據(jù)源連接的相關(guān)信息,獲取源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表之間的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)關(guān)系,產(chǎn)生數(shù)據(jù)結(jié)構(gòu)文檔,為數(shù)據(jù)交換做好準(zhǔn)備。
數(shù)據(jù)采集模塊在整個(gè)數(shù)據(jù)交換模型中負(fù)責(zé)與用戶進(jìn)行交互工作,因?yàn)閿?shù)據(jù)庫(kù)連接方式的選擇與系統(tǒng)的可擴(kuò)展性緊密相關(guān)。因此,數(shù)據(jù)采集模塊的設(shè)計(jì)模式選擇是至關(guān)重要,要盡量減少數(shù)據(jù)之間的耦合,盡量考慮到系統(tǒng)的擴(kuò)展性??紤]到整個(gè)模型今后在實(shí)際應(yīng)用中的發(fā)展空間,為實(shí)際應(yīng)用打下良好的基礎(chǔ)。同時(shí),對(duì)數(shù)據(jù)采集時(shí),需要對(duì)采集的數(shù)據(jù)都用中間數(shù)據(jù)表示,因此對(duì)RDF/XML文檔進(jìn)行處理時(shí)應(yīng)根據(jù)文檔的特點(diǎn)及編程要求來選擇相應(yīng)的編程模型。
數(shù)據(jù)采集部分包括模式采集模塊、模式提交模塊、數(shù)據(jù)卸載模塊。模式采集模塊的任務(wù)是從關(guān)系數(shù)據(jù)庫(kù)抽取關(guān)系數(shù)據(jù)表的結(jié)構(gòu)信息作為結(jié)構(gòu)文檔,抽取關(guān)系數(shù)據(jù)表的值信息作為數(shù)據(jù)文檔,實(shí)現(xiàn)關(guān)系模式與RDF/XML模式的轉(zhuǎn)換。模式提交模塊的任務(wù)是在模式提取模塊將關(guān)系模式轉(zhuǎn)換為RDF/XML模式后,分別將結(jié)構(gòu)文檔和數(shù)據(jù)文檔提交保存為文件RDF/XML,進(jìn)行不需要的索引處理,以供數(shù)據(jù)交換時(shí)使用。
數(shù)據(jù)交換模塊的作用是連接源數(shù)據(jù)和目標(biāo)數(shù)據(jù),利用RDF/XML作為存儲(chǔ)和交換的中間媒介格式,生成源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表的結(jié)構(gòu)文檔和數(shù)據(jù)文檔,分別表示需要轉(zhuǎn)換的數(shù)據(jù)和結(jié)構(gòu),完成從關(guān)系模式到RDF/XML模式的轉(zhuǎn)換。為了方便下一步的數(shù)據(jù)交換,有時(shí)候,也可以將目標(biāo)數(shù)據(jù)表認(rèn)為是空。該模塊通過對(duì)結(jié)構(gòu)文檔的匹配操作,來消除源數(shù)據(jù)和目標(biāo)數(shù)據(jù)的類型異構(gòu)、語(yǔ)義表示異構(gòu)、數(shù)據(jù)長(zhǎng)度異構(gòu)、精度異構(gòu)、度量異構(gòu)和聯(lián)系異構(gòu),是整個(gè)數(shù)據(jù)交換模型的核心。
關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)都是規(guī)則的二維結(jié)構(gòu)關(guān)系表,所以能使用很簡(jiǎn)單的RDF/XML文檔來表示。對(duì)象數(shù)據(jù)庫(kù)中的數(shù)據(jù),由于RDF/XML文檔本身就是樹形組織模式,所以也能使用RDF/XML文檔來表示。利用RDF/XML作為交換的中間媒介格式,源數(shù)據(jù)和目標(biāo)數(shù)據(jù)通過中間格式來進(jìn)行表示和交換。一方面,利用RDF/XML來表示需要轉(zhuǎn)換的數(shù)據(jù)本身;另一方面,也利用RDF/XML來表示數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)交換文檔詳細(xì)給出了數(shù)據(jù)交換過程中原始層數(shù)據(jù)的每個(gè)字段是如何交換到轉(zhuǎn)換層數(shù)據(jù)中的。生成一個(gè)轉(zhuǎn)換層數(shù)據(jù)所需要的所有信息,包括原始層節(jié)點(diǎn)、轉(zhuǎn)換層節(jié)點(diǎn)、轉(zhuǎn)換規(guī)則。在這個(gè)模塊中,將復(fù)雜的RDF/XML數(shù)據(jù)映射操作分解為若干個(gè)相對(duì)簡(jiǎn)單的子操作,每個(gè)子操作的計(jì)算過程被封裝在轉(zhuǎn)換函數(shù)中,轉(zhuǎn)換鏈將轉(zhuǎn)換函數(shù)按執(zhí)行順序組合在一起,全部轉(zhuǎn)換函數(shù)計(jì)算完畢后,將計(jì)算結(jié)果組裝成轉(zhuǎn)換層的RDF/XML數(shù)據(jù)文檔。
數(shù)據(jù)推送模塊的任務(wù)是負(fù)責(zé)將從目標(biāo)層的數(shù)據(jù)文檔傳送到目標(biāo)數(shù)據(jù)庫(kù)管理系統(tǒng),加入具體的數(shù)據(jù)庫(kù)中。
隨著社會(huì)化數(shù)字信息進(jìn)程的飛速發(fā)展,人們?cè)L問的信息量呈指數(shù)增長(zhǎng),再加上資源分布的擴(kuò)散性、自治性,信息分布趨勢(shì)越來越異構(gòu)化、海量化、動(dòng)態(tài)化。在這種情況下,信息網(wǎng)絡(luò)的異構(gòu)數(shù)據(jù)交換一直是研究人員關(guān)注的焦點(diǎn)。本文在研究目前網(wǎng)絡(luò)集中式數(shù)據(jù)轉(zhuǎn)換技術(shù)基礎(chǔ)上,提出了基于復(fù)雜網(wǎng)絡(luò)環(huán)境下RDF/XML模式的數(shù)據(jù)轉(zhuǎn)換模型,很好地解決了不同部門異構(gòu)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換問題。同時(shí)消除各個(gè)信息孤島,把這些孤島一個(gè)一個(gè)互聯(lián)起來,形成為信息共享的數(shù)據(jù)集合;及時(shí)獲取這些有價(jià)值的數(shù)據(jù)信息的同時(shí),積極充分地利用這些資源,降低信息化建設(shè)成本發(fā)揮更大的效益。
[1]趙永輝.信息網(wǎng)絡(luò)異構(gòu)數(shù)據(jù)交換技術(shù)研究與實(shí)現(xiàn)[D].西北工業(yè)大學(xué),2007.
[2]杜思峰.數(shù)據(jù)交換平臺(tái)中異構(gòu)數(shù)據(jù)轉(zhuǎn)換技術(shù)的研究[D].西安工業(yè)大學(xué),2011.
[3]房成萍,馬坤,楊波,陳貞翔.分布式一體化及數(shù)據(jù)交換平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].濟(jì)南大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(1):11~14.
[4]齊小文.高等學(xué)校電子校務(wù)數(shù)據(jù)交換平臺(tái)設(shè)計(jì)初探[J].中山大學(xué)學(xué)報(bào),2010(10):126~128.
[5]孫璐.一種面向服務(wù)的異構(gòu)系統(tǒng)間數(shù)據(jù)交換平臺(tái)設(shè)計(jì)[J].武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版),2010(10):609~702.