文必龍,焦圣杰,郭 嬌
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
為了更好地應(yīng)對數(shù)據(jù)的海量、異構(gòu)、共享性和多樣性給數(shù)據(jù)管理帶來的挑戰(zhàn)[1],F(xiàn)ranklin提出了數(shù)據(jù)空間(Data Space)的概念:一個(gè)數(shù)據(jù)空間由一系列相關(guān)的異構(gòu)資源對象集和資源對象間的關(guān)聯(lián)關(guān)系集組成,包含某個(gè)組織或個(gè)體相關(guān)的一切信息,這些信息可以以任意形式,在任意地方存儲(chǔ);在將數(shù)據(jù)加入到數(shù)據(jù)空間之前,無需像關(guān)系數(shù)據(jù)庫事先為其定義嚴(yán)格的關(guān)系模式,直接將數(shù)據(jù)源加入數(shù)據(jù)空間,并以pay-as-you-go模式實(shí)現(xiàn)數(shù)據(jù)的管理[2]。
有不少學(xué)者對數(shù)據(jù)空間技術(shù)開展了研究,其中最具有代表性的是個(gè)人數(shù)據(jù)空間技術(shù),如瑞士蘇黎世理工學(xué)院開發(fā)的iMeMex系統(tǒng)[3]、美國華盛頓大學(xué)開發(fā)的SEMEX系統(tǒng)[4]以及中國人民大學(xué)開發(fā)的OrientSpace[5]等個(gè)人數(shù)據(jù)空間系統(tǒng)原型。個(gè)人數(shù)據(jù)空間的許多技術(shù)同樣適合企業(yè)數(shù)據(jù)空間,如個(gè)人數(shù)據(jù)空間模型與查詢、數(shù)據(jù)關(guān)聯(lián)、數(shù)據(jù)索引等,但與個(gè)人數(shù)據(jù)空間相比,企業(yè)數(shù)據(jù)空間管理更加復(fù)雜。
企業(yè)數(shù)據(jù)空間的主體是整個(gè)企業(yè),而不是個(gè)人或某個(gè)部門。需要管理的數(shù)據(jù)來自各個(gè)部門、專業(yè)、項(xiàng)目或者業(yè)務(wù),數(shù)據(jù)規(guī)模巨大、種類復(fù)雜多樣,組織管理困難。而且,企業(yè)現(xiàn)有數(shù)據(jù)庫具有專門的,甚至標(biāo)準(zhǔn)化的數(shù)據(jù)模式,與個(gè)人數(shù)據(jù)空間的數(shù)據(jù)模式的靈活性相反,這些數(shù)據(jù)庫要求的是模式穩(wěn)定,需要將傳統(tǒng)的“先模式后數(shù)據(jù)”和數(shù)據(jù)空間的“先數(shù)據(jù)后模式”的方式協(xié)調(diào)起來進(jìn)行管理。
針對靈活高效地組織企業(yè)數(shù)據(jù)空間中的數(shù)據(jù)資源的問題,該文結(jié)合企業(yè)數(shù)據(jù)管理的特點(diǎn),提出了企業(yè)數(shù)據(jù)空間的數(shù)據(jù)組織方法:通過構(gòu)建的分層組織模型實(shí)現(xiàn)對數(shù)據(jù)進(jìn)行多維多角度地組織,利用屬性圖模型統(tǒng)一描述企業(yè)數(shù)據(jù)空間中的各種數(shù)據(jù)資源,實(shí)現(xiàn)了對企業(yè)數(shù)據(jù)靈活和高效的組織管理。
目前,數(shù)據(jù)空間中數(shù)據(jù)組織方面的研究主要包括數(shù)據(jù)空間體系架構(gòu)、數(shù)據(jù)空間數(shù)據(jù)模型表示方法、數(shù)據(jù)索引、數(shù)據(jù)關(guān)聯(lián)關(guān)系挖掘等。Dong Xin[4]提出的個(gè)人信息集成與管理平臺(tái)SEMEX系統(tǒng)采用以數(shù)據(jù)為主的體系架構(gòu),采用數(shù)據(jù)源、域模型、關(guān)聯(lián)與實(shí)例、領(lǐng)域模型和關(guān)系抽取引擎來組織管理數(shù)據(jù)。J P Dittrich[6]提出了一個(gè)基于圖數(shù)據(jù)模型和資源視圖的iDM模型,用一種統(tǒng)一資源視圖的概念和形式化表示方法,實(shí)現(xiàn)各種數(shù)據(jù)類型(如文檔、目錄、關(guān)系表、XML文檔、數(shù)據(jù)流等)的統(tǒng)一表示,采用數(shù)據(jù)源層、個(gè)人數(shù)據(jù)空間管理系統(tǒng)PDSMS(Personal DataSpace Management System)、應(yīng)用層的分層體系架構(gòu)來組織管理數(shù)據(jù)。
中國人民大學(xué)的孟小峰教授發(fā)表了關(guān)于數(shù)據(jù)空間技術(shù)發(fā)展的綜述性文章,并提出了一個(gè)典型的數(shù)據(jù)空間集成與管理框架,該框架由數(shù)據(jù)集成引擎、數(shù)據(jù)空間引擎、數(shù)據(jù)演化引擎和數(shù)據(jù)輸出引擎組成[1]。鐘鳴等人基于RDF提出了類似的元組模型,采用逐層分解的方式構(gòu)建圖,并提供了強(qiáng)大的查詢能力[7]。董彥磊等人提出了一個(gè)應(yīng)用于數(shù)據(jù)空間的3層組織結(jié)構(gòu),該結(jié)構(gòu)由物理數(shù)據(jù)層、邏輯數(shù)據(jù)層和應(yīng)用層組成[8]。邏輯數(shù)據(jù)層是整個(gè)數(shù)據(jù)空間的關(guān)鍵組成部分,基于該層才能對數(shù)據(jù)空間進(jìn)行統(tǒng)一的管理,同時(shí)支持?jǐn)?shù)據(jù)空間管理系統(tǒng)所提供的各種服務(wù)。楊丹等人以實(shí)體作為基本的數(shù)據(jù)單位,提出分層的圖模型lgDM[9],用來建模數(shù)據(jù)空間中存在的各種異構(gòu)數(shù)據(jù),即:實(shí)體關(guān)聯(lián)數(shù)據(jù)圖和實(shí)體關(guān)聯(lián)模式圖。王江海等人基于刻面的概念,利用數(shù)據(jù)源、刻面和屬性來描述數(shù)據(jù)源[10]。
李玉坤等人針對數(shù)據(jù)空間本質(zhì)特征,提出了基于圖的個(gè)人數(shù)據(jù)空間概念模型和基于四元組的數(shù)據(jù)空間邏輯模型,該模型可以刻畫數(shù)據(jù)空間的時(shí)序特征[11]。概念上將個(gè)人數(shù)據(jù)空間用一個(gè)大的有向圖表示,圖中節(jié)點(diǎn)表示數(shù)據(jù)對象,邊表示數(shù)據(jù)對象之間的關(guān)聯(lián)關(guān)系,數(shù)據(jù)對象和關(guān)聯(lián)可以具有若干屬性,屬性取值具有時(shí)間屬性。邏輯上用四元組<對象,屬性,取值,時(shí)間>描述個(gè)人數(shù)據(jù)對象及其動(dòng)態(tài)變化,即用形如
企業(yè)數(shù)據(jù)空間的數(shù)據(jù)是復(fù)雜多樣的,現(xiàn)有的個(gè)人數(shù)據(jù)空間的數(shù)據(jù)組織方法或者傳統(tǒng)的數(shù)據(jù)組織方法都無法將“先模式后數(shù)據(jù)”和“先數(shù)據(jù)后模式”的兩種數(shù)據(jù)管理方式靈活地結(jié)合,且企業(yè)中的半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)越來越重要,需要統(tǒng)一的方式對企業(yè)中的異構(gòu)數(shù)據(jù)進(jìn)行統(tǒng)一表達(dá)和描述,且隨著企業(yè)業(yè)務(wù)中的快速變化,需要一個(gè)靈活的企業(yè)數(shù)據(jù)模式的描述方式,可以隨著企業(yè)的變化,更好地滿足企業(yè)中的數(shù)據(jù)應(yīng)用需求,需要對企業(yè)數(shù)據(jù)空間的數(shù)據(jù)組織方法進(jìn)行進(jìn)一步的研究。
個(gè)人數(shù)據(jù)空間管理的主要是與個(gè)人相關(guān)的數(shù)據(jù),僅需滿足個(gè)人數(shù)據(jù)需求即可,而企業(yè)數(shù)據(jù)管理的對象是整個(gè)企業(yè)中所有相關(guān)的數(shù)據(jù),需要滿足各種應(yīng)用系統(tǒng)的數(shù)據(jù)服務(wù)需求。與個(gè)人數(shù)據(jù)管理相比,企業(yè)數(shù)據(jù)管理更加復(fù)雜,結(jié)合數(shù)據(jù)空間的概念,提出企業(yè)數(shù)據(jù)空間的概念:
定義1:企業(yè)數(shù)據(jù)空間(Enterprise Data Space,EDS)是以整個(gè)企業(yè)為主體,以企業(yè)中各個(gè)部門的信息系統(tǒng)中的數(shù)據(jù)和數(shù)據(jù)間的關(guān)聯(lián)關(guān)系為管理對象的數(shù)據(jù)空間,提供按需、即時(shí)、靈活的數(shù)據(jù)服務(wù)[13]。
企業(yè)數(shù)據(jù)空間的主要特點(diǎn)有:
(1)可以對結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行統(tǒng)一描述和管理。
(2)將原有關(guān)系數(shù)據(jù)庫的“先模式后數(shù)據(jù)”和數(shù)據(jù)空間的“先數(shù)據(jù)后模式”的方式協(xié)調(diào)起來進(jìn)行管理,靈活管理兩種方式的數(shù)據(jù)。
(3)具有多維度、多層次、多角度的數(shù)據(jù)組織方式,更能滿足企業(yè)靈活管理和使用數(shù)據(jù)的需求。
為了更加靈活和高效地組織管理企業(yè)數(shù)據(jù)空間中海量的多源異構(gòu)數(shù)據(jù)資源,該文提出了一個(gè)應(yīng)用于企業(yè)數(shù)據(jù)空間的分層數(shù)據(jù)組織結(jié)構(gòu),按照數(shù)據(jù)資源目錄、數(shù)據(jù)模型、數(shù)據(jù)三個(gè)層次進(jìn)行組織與管理,如圖1所示。
其中數(shù)據(jù)空間(DataSpace,DS)是與主體相關(guān)的所有數(shù)據(jù)和數(shù)據(jù)間關(guān)系的集合。企業(yè)中不同的部門、項(xiàng)目組或者個(gè)人,都可以根據(jù)需要?jiǎng)?chuàng)建數(shù)據(jù)空間,并對其進(jìn)行維護(hù)和使用。不同數(shù)據(jù)空間中的數(shù)據(jù)也可以存在交叉,可以看作企業(yè)數(shù)據(jù)空間的個(gè)人視圖。
圖1 企業(yè)數(shù)據(jù)空間的分層組織架構(gòu)
數(shù)據(jù)資源目錄(Data Resource Catalog,DRC),是從多維多角度對數(shù)據(jù)空間中的數(shù)據(jù)進(jìn)行分類和組織的一種樹形目錄結(jié)構(gòu),也是企業(yè)中數(shù)據(jù)的分類標(biāo)準(zhǔn)。數(shù)據(jù)源是從數(shù)據(jù)存儲(chǔ)載體形式進(jìn)行分類的,企業(yè)架構(gòu)是從使用數(shù)據(jù)的角度對數(shù)據(jù)進(jìn)行分類,采用應(yīng)用視圖的方式使用數(shù)據(jù)。這兩種分類方式是數(shù)據(jù)空間提供的默認(rèn)分類方式,企業(yè)根據(jù)需要可以自行定義相應(yīng)的分類角度。數(shù)據(jù)資源目錄的每一個(gè)葉子節(jié)點(diǎn)都對應(yīng)有相應(yīng)的數(shù)據(jù)資源,數(shù)據(jù)資源可以是實(shí)際的數(shù)據(jù)源,如具體的數(shù)據(jù)庫系統(tǒng)、文檔文件等,也可以是虛擬的數(shù)據(jù)源,如數(shù)據(jù)視圖。在數(shù)據(jù)空間中,數(shù)據(jù)資源目錄的結(jié)構(gòu)是靈活的、動(dòng)態(tài)的,一個(gè)數(shù)據(jù)資源可以屬于多個(gè)目錄節(jié)點(diǎn)。
數(shù)據(jù)模型(DataModel,DM),代表著不同數(shù)據(jù)資源的數(shù)據(jù)結(jié)構(gòu),包括多種類型的數(shù)據(jù)源模型,既有物理數(shù)據(jù)源的存儲(chǔ)模型,又有虛擬數(shù)據(jù)源的邏輯模型,還包括數(shù)據(jù)空間的邏輯數(shù)據(jù)模型,即企業(yè)數(shù)據(jù)空間的所有數(shù)據(jù)資源作為企業(yè)頂層組織的一個(gè)數(shù)據(jù)視圖。數(shù)據(jù)模型有兩種情況:一種是遺留的關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型,按照“先模式后數(shù)據(jù)”的形式,將關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型直接納入企業(yè)數(shù)據(jù)空間的管理之中;另一種是,預(yù)設(shè)數(shù)據(jù)模式之外或沒有嚴(yán)格數(shù)據(jù)模式的數(shù)據(jù),隨著企業(yè)的需求改變和數(shù)據(jù)模式演化,逐漸演化出來的數(shù)據(jù)模式。數(shù)據(jù)模型由類、類之間的關(guān)系、數(shù)據(jù)操作和數(shù)據(jù)約束組成。類(Class),代表著數(shù)據(jù)模型中的類(也就是實(shí)體),例如關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型中的一張表,半結(jié)構(gòu)化數(shù)據(jù)中的元素。屬性(Attribute),代表著類中的屬性,如關(guān)系表中的字段,半結(jié)構(gòu)化數(shù)據(jù)中的元素。約束(Constrain),代表數(shù)據(jù)模型中類的相關(guān)約束。
數(shù)據(jù)(Data),是指符合數(shù)據(jù)模型定義的類的數(shù)據(jù)實(shí)例,即數(shù)據(jù)源。企業(yè)數(shù)據(jù)空間的數(shù)據(jù)源分四類:遺留的關(guān)系型數(shù)據(jù)庫、半結(jié)構(gòu)化的數(shù)據(jù)文件、非結(jié)構(gòu)數(shù)據(jù)文件和自動(dòng)演化的數(shù)據(jù)庫。其中遺留的關(guān)系數(shù)據(jù)庫指的是,企業(yè)中已經(jīng)投入使用的各個(gè)信息系統(tǒng)或者應(yīng)用的關(guān)系型數(shù)據(jù)庫,其中包含大量數(shù)據(jù)模式穩(wěn)定的結(jié)構(gòu)化數(shù)據(jù);半結(jié)構(gòu)化數(shù)據(jù)文件主要指的是XML文件;非結(jié)構(gòu)化數(shù)據(jù)文件常見的有文檔、視頻、音頻和郵件等;自動(dòng)演化的數(shù)據(jù)庫主要指的是,事先沒有建立完整的數(shù)據(jù)模式的數(shù)據(jù),而且也沒有相應(yīng)的物理存儲(chǔ)模式,直接將數(shù)據(jù)存入ESD空間中,通過數(shù)據(jù)模式演化,自動(dòng)創(chuàng)建相應(yīng)的邏輯模式和相應(yīng)的物理存儲(chǔ)模式,提供該數(shù)據(jù)模式下數(shù)據(jù)的存儲(chǔ)和管理。
數(shù)據(jù)對象(Data Object),是指沒有相應(yīng)明確數(shù)據(jù)模式和結(jié)構(gòu)的數(shù)據(jù),直接納入企業(yè)數(shù)據(jù)空間的管理,隨著企業(yè)數(shù)據(jù)空間的使用或者有需要的時(shí)候,逐步完善數(shù)據(jù)對象的數(shù)據(jù)模式,形成更加嚴(yán)格的數(shù)據(jù)模式,利用數(shù)據(jù)模型表示出來,進(jìn)行組織和管理。
企業(yè)數(shù)據(jù)空間中的數(shù)據(jù)結(jié)構(gòu)復(fù)雜,包含不同異構(gòu)數(shù)據(jù)的數(shù)據(jù)模型,所以需要一個(gè)可以描述企業(yè)數(shù)據(jù)空間中所有數(shù)據(jù)的方法。該文利用屬性圖數(shù)據(jù)模型(Property Graph Data Model,PGDM)[14]來描述數(shù)據(jù)空間中存在的各種異構(gòu)數(shù)據(jù)。企業(yè)數(shù)據(jù)空間利用屬性圖模型將所有數(shù)據(jù)描述并關(guān)聯(lián)起來,形成一個(gè)與企業(yè)相關(guān)的屬性圖。其中使用的基本概念定義如下:
定義2:節(jié)點(diǎn)(Node)是屬性圖模型中的一個(gè)基本元素,用來表示各種類型的數(shù)據(jù),可以是數(shù)據(jù)源、數(shù)據(jù)資源目錄分類節(jié)點(diǎn),數(shù)據(jù)模型中類、屬性、約束,數(shù)據(jù)層的每一個(gè)數(shù)據(jù)單元,數(shù)據(jù)對象等。節(jié)點(diǎn)的標(biāo)簽(Label)表示數(shù)據(jù)的類型或模式信息,屬性集(Properties)描述節(jié)點(diǎn)的具體信息,節(jié)點(diǎn)可以包含多個(gè)屬性(Property)和多個(gè)標(biāo)簽(Label),每個(gè)節(jié)點(diǎn)至少擁有一個(gè)用于區(qū)分節(jié)點(diǎn)和節(jié)點(diǎn)之間是否相等的唯一標(biāo)識(shí)。
定義3:關(guān)系(Relationship)是任意兩個(gè)節(jié)點(diǎn)間可能存在的關(guān)聯(lián)關(guān)系,同樣是屬性圖模型中的基本元素,將節(jié)點(diǎn)關(guān)聯(lián)起來構(gòu)成圖,也可以稱為圖論中的邊(Edge)。其始端(Start node)和末端(End node)都必須是節(jié)點(diǎn),關(guān)系不能指向空也不能從空發(fā)起,而且關(guān)系是有方向的。關(guān)系和節(jié)點(diǎn)一樣可以包含多個(gè)屬性,但關(guān)系只能有一個(gè)類型(Type),一個(gè)節(jié)點(diǎn)可以被多個(gè)關(guān)系指向或作為關(guān)系的起始節(jié)點(diǎn)。
定義4:屬性(Property)是節(jié)點(diǎn)或者關(guān)系所具有的特性,節(jié)點(diǎn)和關(guān)系都可以有多個(gè)屬性。屬性是由鍵值對
定義5:節(jié)點(diǎn)標(biāo)簽(Node Labels)是一種對節(jié)點(diǎn)進(jìn)行語義分類的方法[14]。節(jié)點(diǎn)可以分配零個(gè)標(biāo)簽、一個(gè)或多個(gè)標(biāo)簽,標(biāo)簽本質(zhì)上是圖形結(jié)構(gòu)中面向集合的概念:它們允許輕松高效地創(chuàng)建子圖,這對于許多不同的用途非常有用,例如僅查詢數(shù)據(jù)庫內(nèi)容的一部分??梢允褂脴?biāo)簽表示某種數(shù)據(jù)類型、結(jié)構(gòu)或模式,或者根據(jù)企業(yè)需要,自定義相應(yīng)的標(biāo)簽。雖然不是必需的,但節(jié)點(diǎn)應(yīng)至少具有一個(gè)標(biāo)簽,為了更加清晰地了解數(shù)據(jù)。
定義6:關(guān)系類型(Relationship Types)實(shí)現(xiàn)的內(nèi)容與處理節(jié)點(diǎn)標(biāo)簽類似,是為了對關(guān)系進(jìn)行分類。但是關(guān)系類型是關(guān)系必不可少的,每個(gè)關(guān)系必須有一種且只有一種類型,兩個(gè)節(jié)點(diǎn)可以由多個(gè)關(guān)系連接,并且在屬性圖中復(fù)雜、深層遍歷期間使用。
定義7:屬性圖模型的數(shù)據(jù)結(jié)構(gòu),可以形式化定義為一個(gè)二元組PGDM=(Nodes,Relationships),其中Nodes表示企業(yè)數(shù)據(jù)空間中所有的節(jié)點(diǎn)集合;Relationships?Node×Node表示節(jié)點(diǎn)之間的關(guān)系集合,具體情況如圖2所示。
圖2 屬性圖數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)
利用屬性圖數(shù)據(jù)模型對企業(yè)數(shù)據(jù)空間中的異構(gòu)數(shù)據(jù)進(jìn)行統(tǒng)一描述,具有以下優(yōu)點(diǎn):
(1)屬性圖模型沒有固定的模式。屬性圖本身并不強(qiáng)制要求數(shù)據(jù)必須具有嚴(yán)格的關(guān)系模式,符合數(shù)據(jù)空間先模式后數(shù)據(jù)的特點(diǎn)。
(2)屬性圖的無模式和弱模式特性,更適合處理半結(jié)構(gòu)化數(shù)據(jù)。當(dāng)半結(jié)構(gòu)化數(shù)據(jù)發(fā)生變化的時(shí)候,可以比較方便地處理數(shù)據(jù)模式的變化。
(3)節(jié)點(diǎn)、屬性及關(guān)系,更符合現(xiàn)實(shí)世界中事物的特點(diǎn),更加容易理解。
(4)關(guān)系是明確的,不是由某種約束推斷的,也不是通過連接操作在查詢時(shí)建立的,是屬性圖中重要的基本元素,而且可以具有屬性,可以將現(xiàn)實(shí)世界中數(shù)據(jù)間復(fù)雜的關(guān)系給描述和利用起來,具有和節(jié)點(diǎn)相同的表達(dá)能力。
(5)獨(dú)立于各種數(shù)據(jù)源,可以描述結(jié)構(gòu)化、半結(jié)構(gòu)、非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu),可以多維度多層次描述企業(yè)數(shù)據(jù)空間數(shù)據(jù),便于自動(dòng)模式演化。
為了將企業(yè)中大量穩(wěn)定的關(guān)系數(shù)據(jù)庫也集成到EDS中進(jìn)行管理,將“先模式后數(shù)據(jù)”的特點(diǎn)也體現(xiàn)出來,還有后續(xù)弱模式或無模式的數(shù)據(jù)對象隨著使用,逐漸演化出相應(yīng)的數(shù)據(jù)模型,設(shè)計(jì)統(tǒng)一的數(shù)據(jù)模式描述方法,無論是結(jié)構(gòu)化數(shù)據(jù)模型、半結(jié)構(gòu)化數(shù)據(jù)模型或者ESD全局邏輯模型,都用同一種描述方法進(jìn)行描述,在邏輯模式層上進(jìn)行統(tǒng)一管理。
數(shù)據(jù)模式由類、類之間關(guān)系和類的約束組成。用來統(tǒng)一描述企業(yè)數(shù)據(jù)空間中的各種模型和企業(yè)數(shù)據(jù)空間的概念模型。描述方法的形式化表達(dá)為:
DataModel={Class,Constrain,Relationship}
其中,DataModel代表不同的數(shù)據(jù)模型,既有物理數(shù)據(jù)源的存儲(chǔ)模型,又有虛擬數(shù)據(jù)源的邏輯模型。在企業(yè)數(shù)據(jù)空間中,有一個(gè)全局的邏輯模型。企業(yè)數(shù)據(jù)空間的所有數(shù)據(jù)資源作為企業(yè)頂層組織的一個(gè)數(shù)據(jù)視圖,其對應(yīng)的數(shù)據(jù)模型即全局邏輯模型。
Class是數(shù)據(jù)模型下包含的各個(gè)類(也可叫做實(shí)體),例如關(guān)系數(shù)據(jù)庫中的一張表或者是視圖,或者一個(gè)半結(jié)構(gòu)化的文件的元素節(jié)點(diǎn)。其中Class下包含不同的屬性(Attribute),如關(guān)系表中的字段,半結(jié)構(gòu)化數(shù)據(jù)中的屬性節(jié)點(diǎn)。
Constrain是類的相關(guān)約束,是對類的約束限制,如關(guān)系表的字段的取值約束。
Relationship是數(shù)據(jù)模型下各個(gè)類之間的關(guān)系,如常見的有關(guān)系表中的主外鍵關(guān)系、類與類之間的引用關(guān)系等。
通過上述的數(shù)據(jù)模型描述方法,無論是各種數(shù)據(jù)源的數(shù)據(jù)模型,還是虛擬的數(shù)據(jù)模型或者數(shù)據(jù)空間本身的全局模型,都可以用統(tǒng)一的方法描述。不同異構(gòu)數(shù)據(jù)模型,用同一種數(shù)據(jù)模型描述方法,為后續(xù)數(shù)據(jù)模式匹配提供了良好的基礎(chǔ),可以更好地支持后續(xù)的數(shù)據(jù)模式演化。
3.2.1 描述結(jié)構(gòu)化數(shù)據(jù)模型
當(dāng)結(jié)構(gòu)化數(shù)據(jù)模型在EDS中被進(jìn)行描述時(shí),需要有一定的描述規(guī)則,才可以直接地對關(guān)系數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述。其中的描述規(guī)則有:
(1)其中的表(Relation)用Class下的節(jié)點(diǎn)來描述,表的一些本身特征用Class下節(jié)點(diǎn)的屬性集來表示。
(2)其中表的各個(gè)字段(Attribute)用Attribute來表示,屬性的本身特征用Attribute下的屬性集來表示。
(3)表的一些完整性約束條件和用戶自定義的約束條件,用Constrain來描述。
(4)表與表之間的關(guān)系,用Relationship來描述。
3.2.2 描述半結(jié)構(gòu)化數(shù)據(jù)模型
半結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)內(nèi)容是混合在一起的,介于結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)之間?,F(xiàn)在企業(yè)中用的最廣泛的半結(jié)構(gòu)數(shù)據(jù),就是XML文件。以XML的數(shù)據(jù)模式為例,其數(shù)據(jù)模式描述方法為:
(1)將XML文件中不含有文本節(jié)點(diǎn)的元素節(jié)點(diǎn)用Class下的節(jié)點(diǎn)來表達(dá),元素節(jié)點(diǎn)的名字當(dāng)作類的名字,屬性節(jié)點(diǎn)當(dāng)作節(jié)點(diǎn)的屬性。
(2)將XML文件中含有文本節(jié)點(diǎn)的元素節(jié)點(diǎn)用Attribute下的節(jié)點(diǎn)來描述,元素節(jié)點(diǎn)的名字當(dāng)作屬性的名字,屬性節(jié)點(diǎn)當(dāng)作節(jié)點(diǎn)的屬性。
3.2.3 描述非結(jié)構(gòu)化數(shù)據(jù)模型
非結(jié)構(gòu)化數(shù)據(jù)常見的有視頻、音頻、文檔或者一些二進(jìn)制文件,沒有明顯的數(shù)據(jù)結(jié)構(gòu)。但是在非結(jié)構(gòu)化數(shù)據(jù)文件中,其實(shí)是隱含著相應(yīng)的數(shù)據(jù)結(jié)構(gòu)的。如常見的音頻數(shù)據(jù)、視頻數(shù)據(jù),WORD、PDF文檔,石油企業(yè)中的地震數(shù)據(jù)、測井?dāng)?shù)據(jù)等,這些數(shù)據(jù)的格式是標(biāo)準(zhǔn)化的,格式的描述不在數(shù)據(jù)體中。賁福才提出了一種非結(jié)構(gòu)化數(shù)據(jù)模式描述標(biāo)記語言BULKML,該標(biāo)記語言采用XML描述的非結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu),為非結(jié)構(gòu)化數(shù)據(jù)補(bǔ)充模式描述,使非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為半結(jié)構(gòu)化數(shù)據(jù)[15]。BULKML按數(shù)據(jù)文件偏移量(二進(jìn)制文件)或文件標(biāo)記(文本文件),對數(shù)據(jù)文件中的數(shù)據(jù)的語義進(jìn)行標(biāo)注。BULKML按數(shù)據(jù)文件格式規(guī)范進(jìn)行定義,每一種格式規(guī)范定義一個(gè)BULKML。而且在國家標(biāo)準(zhǔn)非結(jié)構(gòu)化數(shù)據(jù)表示規(guī)范中,利用XML文件格式來表示非結(jié)構(gòu)化數(shù)據(jù)文件的數(shù)據(jù)結(jié)構(gòu)[16]。也就是說非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)模式用半結(jié)構(gòu)化數(shù)據(jù)文件來表示,從而利用半結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)模式描述方法,實(shí)現(xiàn)對非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)模型進(jìn)行描述。
該文以企業(yè)數(shù)據(jù)的現(xiàn)有數(shù)據(jù)管理特征為出發(fā)點(diǎn),針對靈活高效地組織企業(yè)數(shù)據(jù)空間中的數(shù)據(jù)資源的問題,對企業(yè)數(shù)據(jù)空間的數(shù)據(jù)組織方法進(jìn)行研究:提出了企業(yè)數(shù)據(jù)空間分層的組織模型,實(shí)現(xiàn)對企業(yè)數(shù)據(jù)空間多角度多維度的組織;建立了基于屬性圖模型的數(shù)據(jù)描述方法,統(tǒng)一描述各種異構(gòu)數(shù)據(jù)。利用此方法可以高效靈活地組織和管理企業(yè)數(shù)據(jù)空間的數(shù)據(jù),為后續(xù)的數(shù)據(jù)模式演化奠定基礎(chǔ)。
在以后的工作中,將致力于改進(jìn)企業(yè)數(shù)據(jù)空間的數(shù)據(jù)的存取優(yōu)化,考慮將企業(yè)中的實(shí)時(shí)數(shù)據(jù)也納入企業(yè)數(shù)據(jù)空間的管理,解決數(shù)據(jù)模式演化問題等,使企業(yè)數(shù)據(jù)空間功能更加完善。