董 冬,喬江暉,朱成亮,劉 曉,白文義
(西安航天動力試驗技術研究所,陜西 西安 710100)
由于國外在信息化、云計算、海量存儲及互聯(lián)網(wǎng)絡技術的領先發(fā)展,在試驗數(shù)據(jù)解析入庫領域已成熟應用上述技術,實現(xiàn)海量試驗數(shù)據(jù)分布式管理,試驗數(shù)據(jù)快速檢索,大數(shù)據(jù)實時傳輸,而國內(nèi)起步較晚,在該領域水平較低。近年來,國內(nèi)液體火箭發(fā)動機研試人員也將試驗數(shù)據(jù)如何深入利用、挖掘這些試驗數(shù)據(jù)作為重要的研究方向,并建立相關試驗數(shù)據(jù)管理平臺。而這些數(shù)據(jù)如何存儲和解析入庫是建立試驗數(shù)據(jù)管理平臺需首要解決的問題[1]。
數(shù)據(jù)有2類:一類有統(tǒng)一的結構,可以用數(shù)字或文字來描述,具有類似的層次或網(wǎng)絡結構,稱之為結構化數(shù)據(jù)[2],結構化數(shù)據(jù)包括完全結構化數(shù)據(jù)和半結構化數(shù)據(jù);另一類信息則無法用數(shù)字或者統(tǒng)一的結構表示,內(nèi)容結構不固定無法解析的數(shù)據(jù),即為非結構化數(shù)據(jù)。既包含結構化數(shù)據(jù),又包括非結構化的數(shù)據(jù)統(tǒng)稱為異構數(shù)據(jù)。發(fā)動機試驗數(shù)據(jù)符合異構數(shù)據(jù)特點,可稱為異構試驗數(shù)據(jù)[3]。發(fā)動機試驗數(shù)據(jù)的存儲特點與傳統(tǒng)意義的數(shù)據(jù)相比,有其自身的特點。從存儲的角度來考慮,發(fā)動機試驗數(shù)據(jù)具有存儲容量大、媒介類型復雜、 增長快速的特點。
目前常用的結構化數(shù)據(jù)存放在數(shù)據(jù)庫中[4],以字段形式存放在表結構組成的數(shù)據(jù)庫某個表單記錄中。
1)直接存儲在結構化數(shù)據(jù)庫的BLOB字段中;
2)以FTP上傳的方式保存到文件服務器中;
3)通過文件系統(tǒng)直接存儲在文件服務器中[5]。
液體火箭發(fā)動機試驗數(shù)據(jù)屬于結構化和非結構化數(shù)據(jù)結合的構成形式,因此采用結構化數(shù)據(jù)的關系數(shù)據(jù)庫存儲方式,以及非結構化數(shù)據(jù)的文件系統(tǒng)存儲方式相結合的方式進行存儲。這種存儲方式既集成了結構化數(shù)據(jù)便捷存儲的優(yōu)點,同時又解決了非結構化數(shù)據(jù)文件大、結構復雜及不易解析查詢的問題。
數(shù)據(jù)解析入庫完成將各種海量異構試驗數(shù)據(jù)導入數(shù)據(jù)庫,它是整個數(shù)據(jù)管理平臺建立的關鍵環(huán)節(jié),根據(jù)數(shù)據(jù)分類建立解析入庫模型是進行數(shù)據(jù)導入設計的首要前提,入庫模型對于結構化數(shù)據(jù)解析的存儲量占整個數(shù)據(jù)比重越高,數(shù)據(jù)利用率越高,入庫模型設計越難。數(shù)據(jù)入庫通用模型的工作原理是:將數(shù)據(jù)源進行分類,按照數(shù)據(jù)結構化程度分為結構化數(shù)據(jù)和非結構化數(shù)據(jù),針對結構化數(shù)據(jù)進行數(shù)據(jù)解析后導入數(shù)據(jù)庫,非結構化數(shù)據(jù)經(jīng)附件上傳后存入文件數(shù)據(jù)庫[6]。
數(shù)據(jù)入庫通用模型適用于比較簡單的數(shù)據(jù)庫構成,對于大數(shù)據(jù),尤其對于諸如振動等高頻采樣率數(shù)據(jù)只能通過原始文件形式存入,不能解析文件內(nèi)容,無法進行數(shù)據(jù)分析;并且對于半結構化數(shù)據(jù)也無法解析,導致分析數(shù)據(jù)只能打開文件進行查看,無法針對文件內(nèi)容進行分析,數(shù)據(jù)利用價值降低。同時這些不能利用的非結構化數(shù)據(jù)入庫占用大量的存儲空間,浪費存儲資源。
試驗數(shù)據(jù)專有的數(shù)據(jù)特性和存儲方式的復雜特點,共同決定了僅依靠數(shù)據(jù)入庫通用模型不能達到試驗數(shù)據(jù)入庫要求。因此,在上述模型基礎上進行改進設計,經(jīng)數(shù)據(jù)結構標準化實現(xiàn)對半結構化數(shù)據(jù)進行結構標準統(tǒng)一,可作為結構化數(shù)據(jù)數(shù)據(jù)進行解析;同時大數(shù)據(jù)塊也可通過時域、頻域數(shù)據(jù)存儲模塊解析成多個*.tdmdf文件。這樣諸如高采樣獲得的振動頻域大數(shù)據(jù)就可進行分析比對[7]。
試驗數(shù)據(jù)入庫模型基于數(shù)據(jù)入庫通用模型,包括數(shù)據(jù)分類與結構標準化、數(shù)據(jù)解析及入庫存儲3個部分[8]。其中,數(shù)據(jù)分類與結構標準化部分,數(shù)據(jù)源按結構可分為非結構化、半結構化及結構化數(shù)據(jù),經(jīng)過結構標準化模塊后數(shù)據(jù)轉換成結構化數(shù)據(jù)和非結構化數(shù)據(jù);數(shù)據(jù)解析部分完成結構化數(shù)據(jù)通過附件存儲模塊進行原始文件上傳,索引信息生成模塊進行參數(shù)索引信息提取,特定規(guī)則下解析規(guī)則模塊實現(xiàn)數(shù)據(jù)(非時域、頻域數(shù)據(jù)和時域頻域數(shù)據(jù))的解析,以及實現(xiàn)非結構化數(shù)據(jù)通過附件存儲模塊進行文件上傳,并通過索引信息生成模塊機型文件索引信息提?。蝗霂齑鎯Σ糠滞瓿煞墙Y構化數(shù)據(jù)的原始文件存儲、文件索引信息存儲,以及結構化數(shù)據(jù)的參數(shù)索引信息存儲、結構化數(shù)據(jù)內(nèi)容以關系數(shù)據(jù)庫表單形式存儲,大數(shù)據(jù)文件解析成多個*.tdmdf文件并存儲在文件數(shù)據(jù)庫中。其中試驗數(shù)據(jù)解析入庫模型,如圖1所示。
圖1 試驗數(shù)據(jù)解析入庫模型Fig.1 Model of test data parsing and warehousing
試驗整個周期(試驗準備、試驗及試驗結束后工作)獲得數(shù)據(jù)經(jīng)統(tǒng)計整理后,按照業(yè)務分類試驗數(shù)據(jù)一般包括緩變數(shù)據(jù)、速變數(shù)據(jù)、附件數(shù)據(jù)、資源數(shù)據(jù)及試驗過程數(shù)據(jù)。文件類型可分為*.UFF、 *.txt, *.xls, *.doc, *.mdb,*.rar及 *.jpg等格式。數(shù)據(jù)按照文件結構可分為結構化和非結構化數(shù)據(jù)。結構化數(shù)據(jù)包括時域數(shù)據(jù)、頻域數(shù)據(jù)及非時域、頻域數(shù)據(jù);非結構化數(shù)據(jù)包括文檔上傳數(shù)據(jù)和原始數(shù)據(jù)(圖片、視頻、附件)。試驗數(shù)據(jù)通過數(shù)據(jù)結構標準化統(tǒng)一轉換模塊統(tǒng)一數(shù)據(jù)格式后,轉換后形成統(tǒng)一的文件結構標準,用于數(shù)據(jù)解析入庫。
試驗數(shù)據(jù)復雜的文件結構決定了試驗數(shù)據(jù)解析難度大,解析規(guī)則多樣性的特點。專門為Web應用程序而設計的XML(ExtensibleMarkup Language),作為一種可擴展性標記語言,適用于不同應用間的數(shù)據(jù)交換[9]。XML由于具有數(shù)據(jù)描述和數(shù)據(jù)傳送能力,有很強的開放性,使其成為不同應用系統(tǒng)之間的數(shù)據(jù)接口標準[10]。數(shù)據(jù)解析通過基于XML技術建立不同的解析模板,實現(xiàn)解析規(guī)則描述,完成數(shù)據(jù)在模板選擇后數(shù)據(jù)內(nèi)容對應解析,與頁面程序完成數(shù)據(jù)交互,對相應數(shù)據(jù)進行頁面顯示,同時上傳至數(shù)據(jù)庫或者解析成多通道文件[11]。非結構化數(shù)據(jù)直接以附件形式上傳。針對結構化數(shù)據(jù)制定相應的解析規(guī)則,進行分類解析。結構化數(shù)據(jù)即需要解析數(shù)據(jù)進行規(guī)則選擇,解析規(guī)則主要有2大類:一類是時域、頻域的參數(shù)數(shù)據(jù)解析規(guī)則;另一類是非時域、頻域數(shù)據(jù)解析規(guī)則。
結構化數(shù)據(jù)中的時域、頻域數(shù)據(jù),主要來源為*.txt等文件類型的格式化可解析文件,具有特定統(tǒng)一的文件結構。時域數(shù)據(jù)或頻域數(shù)據(jù)均使用統(tǒng)一的XML模板,在進行數(shù)據(jù)結構統(tǒng)一標準后均可使用XML技術進行數(shù)據(jù)解析入庫。根據(jù)文件參數(shù)個數(shù)生成多個文件名稱(原文件名、參數(shù)代號及日期),在文件數(shù)據(jù)庫所在磁盤建立一定存儲空間,文件數(shù)據(jù)建立多個單參數(shù)數(shù)據(jù)文件以文件數(shù)據(jù)庫所在路徑上傳數(shù)據(jù),并為所上傳數(shù)據(jù)分別生成參數(shù)總數(shù)以時間列和每個參數(shù)列構成的的*.tdmdf格式文件。
結構化數(shù)據(jù)中的非時域數(shù)據(jù)、頻域數(shù)據(jù),主要來源于以*.doc,*.mdb或*.xls文件類型的表格數(shù)據(jù),可解析但無統(tǒng)一格式,每個數(shù)據(jù)文件建立專有的XML模板,使用XML技術建立與之對應的一種解析規(guī)則,該解析具有專有特性。解析完成數(shù)據(jù)內(nèi)容提取后寫入數(shù)據(jù)庫表空間的對應表單中,創(chuàng)建相應關聯(lián)表單進行數(shù)據(jù)存儲。
非結構化數(shù)據(jù),主要數(shù)據(jù)來源為原始數(shù)據(jù)或文檔上傳數(shù)據(jù)。包括文檔、視頻、圖片及附件類型數(shù)據(jù),它們均有相對應的XML上傳模板,不需要進行解析,選擇不同的上傳模板以附件方式上傳存儲在文件數(shù)據(jù)庫中,同時在數(shù)據(jù)庫中將文件索引信息添加在數(shù)據(jù)庫表記錄中。
數(shù)據(jù)庫用于存放異構試驗數(shù)據(jù),根據(jù)試驗數(shù)據(jù)的分散特點建立分布式數(shù)據(jù)庫比較適合,同時數(shù)據(jù)存儲方式?jīng)Q定了數(shù)據(jù)庫的構成形式,即分布式數(shù)據(jù)庫由關系數(shù)據(jù)庫和文件數(shù)據(jù)庫共同構成[12]。關系數(shù)據(jù)庫用于存儲結構化數(shù)據(jù)及其對應的索引信息,文件數(shù)據(jù)庫用于存儲原始數(shù)據(jù),附件數(shù)據(jù),多通道參數(shù)文件數(shù)據(jù)(格式為*.tdmdf)。系統(tǒng)通過統(tǒng)一接口 (即 WebService+Http)對數(shù)據(jù)中心的數(shù)據(jù)進行訪問或對數(shù)據(jù)中心進行數(shù)據(jù)存儲、數(shù)據(jù)解析導入、數(shù)據(jù)分析等操作[13]。
結構化數(shù)據(jù)經(jīng)過數(shù)據(jù)解析后,將非時域、頻域數(shù)據(jù)數(shù)據(jù)內(nèi)容和數(shù)據(jù)索引信息分別存放在數(shù)據(jù)庫表記錄中,同時將原始數(shù)據(jù)文件以附件信息存放在文件系統(tǒng)中;將時域、頻域數(shù)據(jù)數(shù)據(jù)解析后多個單參數(shù)文件和原始文件(以附件形式)存放在文件系統(tǒng)中,同時將索引信息分別存放在數(shù)據(jù)庫表記錄中[14]。
非結構化數(shù)據(jù),包括視頻、圖片等的原始數(shù)據(jù)和文檔數(shù)據(jù),均以附件形式上傳至文件數(shù)據(jù)庫,系統(tǒng)在磁盤中開辟一定的存儲空間,以附件文件數(shù)據(jù)形式存儲在文件數(shù)據(jù)庫中,進行文件名稱的創(chuàng)建和數(shù)據(jù)寫入。同時數(shù)據(jù)的索引信息將被提取并與試驗任務關聯(lián)。非結構數(shù)據(jù)同時在數(shù)據(jù)庫中將文件索引信息添加在數(shù)據(jù)庫表記錄中。
為了保證大量的、連續(xù)的、長時間的數(shù)據(jù)準確、快速地入庫,同時數(shù)據(jù)模板類型多樣,且每個模板下對應大量數(shù)據(jù)文件,因此針對同一個模板的數(shù)據(jù)文件,系統(tǒng)采取批量導入存儲技術。數(shù)據(jù)經(jīng)過解析后形成多個數(shù)據(jù)文件,把多個數(shù)據(jù)文件批量同時傳輸給服務器端,服務器端及時解析成多個通道參數(shù)數(shù)據(jù)形式,以批量的方式一次性插入到數(shù)據(jù)庫中。這樣解決了重復導入同樣模板的數(shù)據(jù)文件問題,提高了工作效率。
試驗速變高頻大數(shù)據(jù)的管理能力決定了試驗數(shù)據(jù)管理能力水平,因為速變高頻大數(shù)據(jù)具有占存儲空間大,不易解析,解析耗費內(nèi)存等特點[15]。因此,一般針對試驗速變高頻數(shù)據(jù)的入庫方式是僅存放在文件數(shù)據(jù)庫中,而試驗數(shù)據(jù)管理平臺對于速變高頻數(shù)據(jù)進行了解析導入,它通過時域、頻域數(shù)據(jù)存儲模塊將速變高頻數(shù)據(jù)解析成多個*.tdmdf文件,每個*.tdmdf文件為單通道參數(shù)文件,存放在文件數(shù)據(jù)庫中,可用于數(shù)據(jù)管理平臺參數(shù)顯示比對,這樣在選取該數(shù)據(jù)文件的某個參數(shù)時就不再調用源數(shù)據(jù)文件,僅調用后續(xù)的單通道文件,數(shù)據(jù)顯示效率提高。
通過對液體火箭發(fā)動機試驗數(shù)據(jù)解析入庫模型的設計以及對解析入庫關鍵技術的研究與應用,解決了試驗數(shù)據(jù)批量入庫存儲與大數(shù)據(jù)解析入庫的問題,為數(shù)據(jù)挖掘利用打下堅實的基礎,為相關領域的試驗數(shù)據(jù)解析入庫提供設計參考。
[1]王花梅,羅續(xù)業(yè).海上試驗場數(shù)據(jù)管理與應用系統(tǒng)的原型設計[J].海洋技術,2013,6(4):06-08.
[2]邱麗麗,俞烽.異構數(shù)據(jù)動態(tài)交互平臺設計與實現(xiàn)[J].計算機應用與軟件,2013,12(3):182-182.
[3]張冠軍.基于XML異構系統(tǒng)間的數(shù)據(jù)交換技術[J].現(xiàn)代電子技術,2013,24(2):45-47.
[4]陳碩穎,鄭敏信,齊鉑金,等.用于電池管理系統(tǒng)的數(shù)據(jù)存儲系統(tǒng)設計[J].單片機與嵌入式系統(tǒng)應用,2014,14(1):65-68.
[5]張恩,張廣弟,蘭磊.基于MongoDB的海量空間數(shù)據(jù)存儲和并行[J].GEOSPATIAL INFORMATION,2014,12(1):22-23.
[6]韓晶,鄂海紅,宋美娜,等.基于主體行為的非結構化數(shù)據(jù)模型[J].計算機工程與設計,2013,12(3):04-08.
[7]韓翠峰.大數(shù)據(jù)帶給圖書館的影響與挑戰(zhàn)[J].圖書與情報,2013,6(5):37-40.
[8]林菲,張萬軍,孫勇.一種分布式非結構化數(shù)據(jù)副本管理模型[J].計算機工程,2013,12(4):36-38.
[9]辛懷聲,王鵬.基于XML的數(shù)據(jù)解析軟件設計與實現(xiàn)[J].電腦知識與技術,2014,12(1):18-20.
[10]劉波,苗彩,王國瓦,等.WITSML數(shù)據(jù)模式分析及應用[J].錄井工程,2014,12(1):27-29.
[11]武艷,譚獻海.基于XML的異構數(shù)據(jù)轉換的研究[J].鐵路計算機應用,2013,12(10):4-7.
[12]劉斌.基于元數(shù)據(jù)的海量試驗數(shù)據(jù)管理系統(tǒng)研究與設計[J].微電子學與計算機,2012,12(4):08-11.
[13]薛濤,刁明光,李建存,等.資源環(huán)境遙感海量空間數(shù)據(jù)存儲,檢索和訪問方法[J].國土資源遙感,2013,12(2):08-11.
[14]張蕊,李廣云,王力,等.基于HDFS的海量激光點云數(shù)據(jù)分塊存儲方法研究[J].測繪通報,2014,12(3):21-24.
[15]陳娜,張金娟,劉智瓊,等.基于Hadoop平臺的電信大數(shù)據(jù)入庫及查詢性能優(yōu)化研究[J].移動通信,2014,12(7):12-14.