1.引言
隨著互聯(lián)網(wǎng)與數(shù)字化信息獲取技術(shù)的快速發(fā)展,新的數(shù)據(jù)源不斷涌現(xiàn),各種應(yīng)用所產(chǎn)生的數(shù)據(jù)呈指數(shù)級增長。根據(jù)互聯(lián)網(wǎng)數(shù)據(jù)中心監(jiān)測,全球數(shù)據(jù)量大約每兩年翻一番,預(yù)計到2020年,全球的數(shù)據(jù)量將達(dá)到35 ZB,預(yù)示著我們已經(jīng)進(jìn)入大數(shù)據(jù)時代。大數(shù)據(jù)處理可分為三個階段:數(shù)據(jù)獲取與抽取、數(shù)據(jù)存儲與管理及數(shù)據(jù)分析與挖掘。其中,數(shù)據(jù)存儲與管理負(fù)責(zé)把有潛在價值的海量數(shù)據(jù)進(jìn)行表示、存儲并提供數(shù)據(jù)關(guān)聯(lián)、檢索等操作,為進(jìn)一步進(jìn)行數(shù)據(jù)的深度分析提供必要的支持。同時,人們可以看到,由于微博、社交網(wǎng)等互聯(lián)網(wǎng)應(yīng)用以及娛樂、媒體、醫(yī)療保健的蓬勃發(fā)展,使圖像、音頻、視頻、文本等數(shù)據(jù)大量涌現(xiàn)。據(jù)Gartner Group統(tǒng)計,如今80%的數(shù)據(jù)為非結(jié)構(gòu)化數(shù)據(jù),并且仍保持高速增長態(tài)勢,非結(jié)構(gòu)化數(shù)據(jù)已逐漸成為大數(shù)據(jù)的主體。因此,如何建立有效的非結(jié)構(gòu)化數(shù)據(jù)管理平臺,已成為大數(shù)據(jù)處理相關(guān)研究中的一個核心問題。
非結(jié)構(gòu)化數(shù)據(jù)包含復(fù)雜的內(nèi)容,并具有不同的結(jié)構(gòu)特點,傳統(tǒng)關(guān)系數(shù)據(jù)庫無論從描述能力上還是從管理數(shù)據(jù)的規(guī)模上,都無法應(yīng)對非結(jié)構(gòu)化數(shù)據(jù)管理的要求。因此,需要專門針對非結(jié)構(gòu)化數(shù)據(jù)特點,研究建立一種新的管理技術(shù)與平臺。建立這種面向大數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)管理平臺的關(guān)鍵技術(shù)包括:(1)統(tǒng)一數(shù)據(jù)模型,該模型將各種異構(gòu)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行統(tǒng)一描述,并且能夠?qū)崿F(xiàn)各種模態(tài)信息(如語義特征、底層特征等)的集成描述,從而有效地支持大數(shù)據(jù)的檢索與關(guān)聯(lián)分析;(2)分布式存儲與并行處理模型與架構(gòu),這種架構(gòu)應(yīng)具有高度并行化與可擴(kuò)展性,以保證大數(shù)據(jù)的處理效率。(3)查詢語言與操作。對于非結(jié)構(gòu)化數(shù)據(jù)的描述,目前有三類:基數(shù)據(jù)可視化等。查詢語言和可視化數(shù)據(jù)展現(xiàn),是用于關(guān)鍵字的語義描述;基于底層特征的描述;基于戶對大數(shù)據(jù)進(jìn)行訪問與分析的接口。查詢語言應(yīng)該能夠準(zhǔn)確表達(dá)用戶的數(shù)據(jù)訪問意愿,支持靈活豐富的數(shù)據(jù)操作。
2.數(shù)據(jù)模型
數(shù)據(jù)模型是數(shù)據(jù)管理的核心,關(guān)系數(shù)據(jù)庫幾年來蓬勃應(yīng)用與發(fā)展的基石,正是E.F.Codd于20世紀(jì)70年代初成功提出的關(guān)系數(shù)據(jù)模型與數(shù)據(jù)理論。數(shù)據(jù)模型定義了數(shù)據(jù)描述結(jié)構(gòu)、數(shù)據(jù)操作方法以及數(shù)據(jù)完整性約束條件;跀(shù)據(jù)模型,可以建立可擴(kuò)展的數(shù)據(jù)存儲模型,使數(shù)據(jù)能夠以某種結(jié)構(gòu)和方式進(jìn)行存儲與讀。豢梢越⒚嫦蛏蠈討(yīng)用的靈活多樣的數(shù)據(jù)操作模型,支持用戶對數(shù)據(jù)的高效訪問。非結(jié)構(gòu)化數(shù)據(jù)管理與傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)管理的目標(biāo)是相同的,即支持?jǐn)?shù)據(jù)的永久保存、快速有效的數(shù)據(jù)讀取操作,從而有效地支持上層應(yīng)用和用戶的數(shù)據(jù)處理邏輯。因此,在非結(jié)構(gòu)化數(shù)據(jù)管理中,建立有效的數(shù)據(jù)模型,仍然是達(dá)到數(shù)據(jù)管理目標(biāo)的核心和關(guān)鍵。現(xiàn)有的非結(jié)構(gòu)化數(shù)據(jù)模型主要有關(guān)系模型、擴(kuò)展關(guān)系模型、面向?qū)ο竽P、E-R模型以及分層式數(shù)據(jù)模型等,這些模型原本存在擴(kuò)展性與復(fù)雜性方面的問題,而在面向大數(shù)據(jù)時這些問題更加突出,因此無法勝任大數(shù)據(jù)的管理。
非結(jié)構(gòu)化數(shù)據(jù)例如文本、圖形、圖像、音頻和視頻等,從內(nèi)容上沒有統(tǒng)一的結(jié)構(gòu),數(shù)據(jù)是以原生態(tài)形式(raw data)保存的,因此計算機(jī)無法直接理解和處理。為了對不同類型的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行處理,所采用的基本思路是對這些非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行描述,基于描述性信息實現(xiàn)對非結(jié)構(gòu)化數(shù)據(jù)內(nèi)容的管理和操作。對于非結(jié)構(gòu)化數(shù)據(jù)的描述,目前有三類:基于關(guān)鍵字的語義描述;基于底層特征的描述;基于概念的語義描述。因此,一個非結(jié)構(gòu)化數(shù)據(jù)可以由基本屬性、語義特征、底層特征以及原始數(shù)據(jù)四個部分構(gòu)成,而且四個部分的數(shù)據(jù)之間存在各種聯(lián)系。
基于上述對非結(jié)構(gòu)化數(shù)據(jù)的分析,本文作者所在的課題組提出了四面體數(shù)據(jù)模型。四面體模型由一個頂點,四個刻面和刻面之間的交線組成,如圖1所示。
圖1 四面體模型示意圖
四面體模型可以通過一個六元組表示:Tetrahedron = (V,BA,SF,LF,RD,CONJS),其中,V表示四面體的頂點,并且也是BA, SF和LF的交點,它標(biāo)明了四面體的唯一性;BA是指四面體的基本屬性刻面,表示數(shù)據(jù)的基本屬性,這些屬性不涉及數(shù)據(jù)的語義,包括名稱、類型、創(chuàng)建者、創(chuàng)建時間等;SF是指四面體的語義特征刻面,表示數(shù)據(jù)的語義屬性,包括作者創(chuàng)作意圖、數(shù)據(jù)主題說明等語義要素;LF是指四面體的底層特征刻面,描述數(shù)據(jù)的底層特征,例如圖像的顏色、紋理、形狀等;RD是指四面體的原始數(shù)據(jù)刻面,表示非結(jié)構(gòu)化數(shù)據(jù)的原始存儲文件;CONJS是指一組銜接不同刻面的連接線。一條連接線表示兩個刻面之間存在的聯(lián)系。圖2是一個圖像的四面體描述示例。
圖2 圖像的四面體模型
四面體模型的特點是:語義特征與底層特征進(jìn)行一體化表達(dá)的集成性;圖像、文本、視頻、音頻等多種異構(gòu)數(shù)據(jù)表達(dá)的統(tǒng)一性;支持語義特征、底層特征動態(tài)變化的可擴(kuò)展性;簡單性;谒拿骟w模型構(gòu)建的數(shù)據(jù)管理平臺,將能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)的統(tǒng)一存儲與關(guān)聯(lián)操作,從而更好地支持大數(shù)據(jù)的深度處理。
大數(shù)據(jù)的重要價值,體現(xiàn)在人們可以通過對數(shù)據(jù)的分析得到有用的知識。大數(shù)據(jù)管理平臺在進(jìn)行數(shù)據(jù)管理的同時,也需要對這些知識進(jìn)行管理。因此,非結(jié)構(gòu)化數(shù)據(jù)模型的進(jìn)一步發(fā)展方向,將是引人本體技術(shù),建立異構(gòu)數(shù)據(jù)與多粒度知識一體化描述的數(shù)據(jù)一知識模型。
3.查詢語言
目前,海量非結(jié)構(gòu)化數(shù)據(jù)應(yīng)用(如搜索引擎)與用戶的接口,往往是通過關(guān)鍵詞輸入。這種方式簡單,但無法全面、準(zhǔn)確表達(dá)用戶的操作意圖,也不利于用戶完成復(fù)雜的數(shù)據(jù)分析處理。因此,面向大數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)管理平臺,需要建立一種查詢語言,支持用戶的各種查詢需求,并使用戶能夠準(zhǔn)確表達(dá)查詢意圖;谒拿骟w數(shù)據(jù)模型,我們提供一種非結(jié)構(gòu)化數(shù)據(jù)查詢語言UQL。
UQL支持對非結(jié)構(gòu)化數(shù)據(jù)的多種查詢,并提供數(shù)據(jù)定義和數(shù)據(jù)基本統(tǒng)計等功能。UQL的基本功能包括:按基本屬性或語義特征的基本數(shù)據(jù)檢索;根據(jù)用戶輸人的數(shù)據(jù)示例,如一副圖像通過底層特征匹配進(jìn)行檢索;結(jié)合基本屬性、語義特征和底層特征的多模態(tài)關(guān)聯(lián)檢索;基于數(shù)據(jù)某個刻面信息檢索出相關(guān)多種類型數(shù)據(jù)的多數(shù)據(jù)關(guān)聯(lián)檢索;實現(xiàn)對查詢結(jié)果的聚類、分類、多維數(shù)據(jù)分析等智能檢索;以及數(shù)據(jù)定義與數(shù)據(jù)統(tǒng)計等。上述各種檢索可以嵌套復(fù)合,構(gòu)成對數(shù)據(jù)的綜合檢索服務(wù)。
在四面體模型中,基本屬性和語義特征都是用文本進(jìn)行描述的。由于XML具有良好的擴(kuò)展性,因此采用XML來描述四面體模型中基本屬性刻面與語義特征刻面。XQuery是目前廣泛使用的XML數(shù)據(jù)查詢語言。然而,UQL所支持的功能如底層特征查詢、智能查詢等在XQuery查詢語言中都沒有提供,所以我們對XQuery查詢語言進(jìn)行擴(kuò)展,增加相應(yīng)功能,并略去部分不相關(guān)文法,基于XQuery提出非結(jié)構(gòu)化數(shù)據(jù)查詢語言UQLo UQL文法的定義采用擴(kuò)展巴科斯-瑙爾范式(EBNF)來描述。
UQL定義了執(zhí)行數(shù)據(jù)查詢、數(shù)據(jù)定義與數(shù)據(jù)統(tǒng)計三類操作的語句。其中查詢語句Query語句是UQL的主要語句,它的整體結(jié)構(gòu)是對XQuery查詢語言中的FLWOR表達(dá)式進(jìn)行改寫得到的,其中省略let語句和orderby語句,增加intelligence和filepath語句用來定義智能查詢和實例查詢。Query語句的描述如下:
QueryClause::=ForClauseWhereClauseReturnClauseIntelligenceClause? FilePathClause?
UQL的數(shù)據(jù)定義語句DefineClause,通過指定數(shù)據(jù)類別和語義項的字段信息,實現(xiàn)數(shù)據(jù)基本屬性與語義特征的XML模式的個性化定制。UQL的數(shù)據(jù)統(tǒng)計語句CountClause,指定統(tǒng)計的數(shù)據(jù)所屬類別以及相應(yīng)基本屬性約束條件,實現(xiàn)按基本屬性的數(shù)據(jù)統(tǒng)計功能。
UQL基于四面體模型,提供語義或底層特征的單項檢索、關(guān)聯(lián)檢索,多類型數(shù)據(jù)的關(guān)聯(lián)檢索,聚類等智能化操作,能夠支持上層應(yīng)用對非結(jié)構(gòu)化數(shù)據(jù)的操作。
4.分布式存儲與并行處理架構(gòu)
數(shù)據(jù)的分布式存儲和并行化操作處理。是大數(shù)據(jù)管理平臺的核心技術(shù)之一。MapReduce計算模型體現(xiàn)了分治算法的分而治之思想。Map把一個復(fù)雜的問題分解成多個子問題,每個子問題都相對簡單并可以獨(dú)立處理;Reduce把各個子問題的處理結(jié)果進(jìn)行合并。MapReduce是適用于大數(shù)據(jù)存儲與并行化處理的簡單而有效的一種計算模型。我們基于MapReduce模型,提出了一種非結(jié)構(gòu)化數(shù)據(jù)分布式存儲與并行處理框架,該框架由存儲引擎和檢索引擎組成,如圖3所示。
圖3 數(shù)據(jù)分布式存儲與并行處理框架
分布式存儲引擎采用MapReduce模型,并基于Hadoop的HBase和HDFS實現(xiàn)。它的主要功能是基于四面體數(shù)據(jù)模型提取非結(jié)構(gòu)化數(shù)據(jù)的基本屬性、語義特征和底層特征信息,并將這些信息連同原始數(shù)據(jù)存儲在HDFS和HBase中。
存儲引擎由Namenode和Datanode構(gòu)成。Namenode通過Map操作將存儲的數(shù)據(jù)分成若干子塊,并將這些子塊分配給各個Datanode進(jìn)行特征提取和數(shù)據(jù)永久保存的操作;同時Namenode會開啟一項任務(wù)來追蹤處理過程,并在各子塊存儲完成后執(zhí)行Reduce操作對結(jié)果進(jìn)行合并。Namenode和Datanode的這種協(xié)同工作方式,實現(xiàn)了大量數(shù)據(jù)的并行與分布式存儲。
并行化檢索引擎主要負(fù)責(zé)數(shù)據(jù)的快速查詢,是基于MapReduce模型建立的Master-Slave并行化框架。Master負(fù)責(zé)管理所有Slave可分解和分配具體檢索任務(wù),并對檢索結(jié)果進(jìn)行效整合;Slave模塊負(fù)責(zé)對本地數(shù)據(jù)實行具體的檢索任務(wù)并將結(jié)果返回給Master。通過Master的有效調(diào)度,多個Slave可并行化執(zhí)行檢索任務(wù),從而實現(xiàn)檢索并行化的處理架構(gòu)。
由于Master可以實現(xiàn)任務(wù)的靈活分發(fā)和結(jié)果的有效整合,多個Slave可以并行化執(zhí)行任務(wù)且可靈活擴(kuò)展,因此該引擎具有很好的可擴(kuò)展性和高效性。
5.結(jié)語
大數(shù)據(jù)的有效管理是實現(xiàn)大數(shù)據(jù)檢索與分析處理的前提和基礎(chǔ)。本文對面向大數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)管理平臺的關(guān)鍵技術(shù)進(jìn)行了分析,論述了非結(jié)構(gòu)化數(shù)據(jù)的四面體模型,非結(jié)構(gòu)化數(shù)據(jù)查詢語言UQL,以及基于MapReduce的分布式存儲與并行處理框架。上述技術(shù)在“核高基”重大專項項目研發(fā)的非結(jié)構(gòu)化數(shù)據(jù)管理系統(tǒng)(AUDR)中得到了成功應(yīng)用。AUDR目前已在航空工業(yè)、車載綜合信息服務(wù)、醫(yī)學(xué)、科技資源共享等四個重大行業(yè)和領(lǐng)域進(jìn)行了示范應(yīng)用取得了良好的效果。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:面向大數(shù)據(jù)的非結(jié)構(gòu)化數(shù)據(jù)管理平臺關(guān)鍵技術(shù)
本文網(wǎng)址:http://www.oesoe.com/html/consultation/10839613271.html