周俊鵬,任德旺,倪 鑫,李麗娜,李亞暉,李運喜
(1.航空工業(yè)西安航空計算技術(shù)研究所,陜西 西安 710068;2.機載彈載計算機航空科技重點實驗室,陜西 西安 710065)
嵌入式工業(yè)設(shè)備與信息化技術(shù)的融合,促使嵌入式工業(yè)計算機日益走向智能信息化,已經(jīng)逐步滲透到產(chǎn)品研制的設(shè)計、制造、試驗、運行、管理及維護的全過程,這些過程會產(chǎn)生各式各樣的復雜數(shù)據(jù)[1]。特別是隨著待處理數(shù)據(jù)越來越多,數(shù)據(jù)信息變得更加龐大,逐漸超出了傳統(tǒng)數(shù)據(jù)管理軟件的能力范圍,從而促使人們必須依靠一種新的技術(shù)和管理體系來完成各項工作任務,由此,數(shù)據(jù)管理技術(shù)應運而生[2]。與傳統(tǒng)互聯(lián)網(wǎng)數(shù)據(jù)相比,嵌入式工業(yè)計算機系統(tǒng)設(shè)備的數(shù)據(jù)規(guī)模更加龐大復雜,流轉(zhuǎn)速度更快,數(shù)據(jù)類型更為多元化。如果能夠有效地利用數(shù)據(jù)管理技術(shù)處理和分析這些數(shù)據(jù),將為嵌入式工業(yè)計算設(shè)備的設(shè)計驗證、維護保障、系統(tǒng)測試、智能信息化管理提供有力支撐。
當前,嵌入式工業(yè)計算設(shè)備的硬件成本要求高、存儲資源受限和應用場景特殊等制約因素,導致大量數(shù)據(jù)流失、數(shù)據(jù)獲取困難、管理分散且服務目標單一等問題,形成了諸多數(shù)據(jù)孤島現(xiàn)象[3]。研究如何實現(xiàn)分散存儲數(shù)據(jù)之間的融合處理及高效管理技術(shù),是當前數(shù)據(jù)管理及數(shù)據(jù)處理領(lǐng)域尚待解決的關(guān)鍵問題。
嵌入式工業(yè)計算機領(lǐng)域具備深厚的數(shù)據(jù)天賦[4],各個計算設(shè)備在全生命工作周期會形成一系列的設(shè)備數(shù)據(jù)集。
各個傳感設(shè)備會源源不斷地產(chǎn)生數(shù)據(jù),這些數(shù)據(jù)均是按照時間序列順序產(chǎn)生[5],主要包括各類型傳感器數(shù)據(jù)、設(shè)備通信數(shù)據(jù)、雷達監(jiān)測數(shù)據(jù)、總線數(shù)據(jù)及系統(tǒng)設(shè)備數(shù)據(jù)等。數(shù)據(jù)種類繁多、結(jié)構(gòu)復雜多變,數(shù)據(jù)之間存在邏輯依賴關(guān)系,具有增量性、周期性、關(guān)聯(lián)性特征。數(shù)據(jù)的整體結(jié)構(gòu)分為結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),若對這些多源異構(gòu)的數(shù)據(jù)進行集中獲取、統(tǒng)一標準化、元數(shù)據(jù)組織管理等高效處理[6],一定程度上能夠反映出傳感設(shè)備的健康狀態(tài)、異常狀態(tài)、操作狀態(tài)及維護狀態(tài)等信息。
圍繞嵌入式工業(yè)計算設(shè)備產(chǎn)生的數(shù)據(jù)演變特性,本文分析出大量數(shù)據(jù)均是以時間維度為基準產(chǎn)生的序列化數(shù)據(jù)集,這些數(shù)據(jù)分散在不同的地方或不同的傳感設(shè)備系統(tǒng)。同時,工業(yè)設(shè)備正常運行期間產(chǎn)生的序列化數(shù)據(jù)變化幅度較小,異常狀態(tài)下產(chǎn)生的數(shù)據(jù)變化幅度較為突出[7]。數(shù)據(jù)的傳感設(shè)備不一,傳輸協(xié)議及性能存在差異,工作頻率較為不同,數(shù)據(jù)的結(jié)構(gòu)類型差異性較為突出,各個設(shè)備之間的協(xié)作關(guān)系較為緊密。這為數(shù)據(jù)的集中獲取、組織管理及處理分析帶來了一定程度的技術(shù)挑戰(zhàn),更為嵌入式工業(yè)計算設(shè)備的數(shù)據(jù)管理現(xiàn)狀提出了更多的數(shù)據(jù)需求。
本文提出了一種基于元數(shù)據(jù)分離的數(shù)據(jù)管理體系結(jié)構(gòu)[8]。通過精準化的技術(shù)架構(gòu)和層級模型,分析各個類型數(shù)據(jù)源的結(jié)構(gòu)特征,構(gòu)建元數(shù)據(jù)的組織管理模型,實時分離數(shù)據(jù)源信息與所描述的元數(shù)據(jù)信息體,構(gòu)造數(shù)據(jù)源和元數(shù)據(jù)之間的分離式組織管理模式,實現(xiàn)以元數(shù)據(jù)為核心的數(shù)據(jù)管理應用原型。結(jié)合應用驗證表明所提方法能夠有效緩解數(shù)據(jù)分散、碎片化問題,提高數(shù)據(jù)使用效率,進而提升以業(yè)務為導向的數(shù)據(jù)管理及應用服務能力。
嵌入式工業(yè)計算設(shè)備的數(shù)據(jù)管理體系結(jié)構(gòu)主要是以元數(shù)據(jù)構(gòu)建模型為基準,實現(xiàn)數(shù)據(jù)源與元數(shù)據(jù)邏輯分離的層次結(jié)構(gòu),保證數(shù)據(jù)的快速管理與高效檢索查詢能力。從可用性和通用性角度出發(fā),嵌入式工業(yè)計算設(shè)備的元數(shù)據(jù)分離管理的應用設(shè)計旨在提高數(shù)據(jù)質(zhì)量,打通數(shù)據(jù)鏈路,統(tǒng)一數(shù)據(jù)口徑,規(guī)范數(shù)據(jù)標準[9],實現(xiàn)數(shù)據(jù)的重復利用價值,進而支持數(shù)據(jù)業(yè)務之間的服務共享。
基于嵌入式工業(yè)計算設(shè)備的數(shù)據(jù)管理模式涵蓋從數(shù)據(jù)源到應用服務的整個過程。圍繞數(shù)據(jù)源集中獲取、標準化處理、元數(shù)據(jù)組織管理、數(shù)據(jù)檢索查詢的核心設(shè)計原則,將元數(shù)據(jù)分離的數(shù)據(jù)管理體系結(jié)構(gòu)分為四個層級模型,如圖1所示。嵌入式工業(yè)計算設(shè)備的元數(shù)據(jù)制定與分離原則主要從四個層級模型依次設(shè)計,綜合考慮數(shù)據(jù)源的結(jié)構(gòu)特征、標準化處理規(guī)則、元數(shù)據(jù)構(gòu)建模型、數(shù)據(jù)文件與元數(shù)據(jù)分離存儲的組織形式、元數(shù)據(jù)寫入時序數(shù)據(jù)庫的全過程,每個過程對應不同的層級模型。針對各個類型的數(shù)據(jù)源需要設(shè)計符合規(guī)范的元數(shù)據(jù)信息體,構(gòu)建元數(shù)據(jù)信息模型,實時獲取數(shù)據(jù)源信息體并定位元數(shù)據(jù)描述信息。同時,將數(shù)據(jù)源與元數(shù)據(jù)信息進行內(nèi)存組織交換,按照特定規(guī)則進行定期或定量持久化至不同層級的存儲對象。通過分層分級的組織形式管理數(shù)據(jù),實現(xiàn)元數(shù)據(jù)管理主題化、目錄化,提供嵌入式工業(yè)計算設(shè)備的業(yè)務升級更新和應用靈活開發(fā)的數(shù)據(jù)支持,并以服務方式提高數(shù)據(jù)管理和應用分析能力。
圖1 元數(shù)據(jù)分離的數(shù)據(jù)管理體系結(jié)構(gòu)
(1)數(shù)據(jù)采集層:數(shù)據(jù)采集模型需要收集嵌入式工業(yè)計算機各個類型傳感設(shè)備的數(shù)據(jù)集,按照預先設(shè)定的標準規(guī)則庫,對多源異構(gòu)的數(shù)據(jù)進行統(tǒng)一標準化處理。
(2)元數(shù)據(jù)管理層:元數(shù)據(jù)管理模型將標準化處理的數(shù)據(jù)流實時更新,對實時數(shù)據(jù)流進行元數(shù)據(jù)組織管理[10],構(gòu)建對應業(yè)務信息的元數(shù)據(jù)模型,將數(shù)據(jù)流與元數(shù)據(jù)信息分級分層輸出。
(3)數(shù)據(jù)存儲管理層:數(shù)據(jù)存儲管理模型獲取上游數(shù)據(jù)流和元數(shù)據(jù)信息,構(gòu)建對應的索引目錄及標準格式的數(shù)據(jù)文件。這些數(shù)據(jù)文件需要存儲至索引目錄磁盤,并將元數(shù)據(jù)信息周期性寫入時序數(shù)據(jù)庫[11]。
(4)數(shù)據(jù)檢索查詢層:數(shù)據(jù)檢索查詢模型按照時序數(shù)據(jù)庫的檢索條件進行元數(shù)據(jù)檢索,并對檢索元數(shù)據(jù)信息進行索引查詢,定位出對應的數(shù)據(jù)文件。
數(shù)據(jù)采集層需要實時獲取嵌入式工業(yè)計算傳感設(shè)備系統(tǒng)的數(shù)據(jù)集,同時,綜合考慮嵌入式計算傳感設(shè)備及信息系統(tǒng)等不同的數(shù)據(jù)源特性,能夠批量獲取各個傳感設(shè)備的全部數(shù)據(jù)。從數(shù)據(jù)源的形態(tài)、結(jié)構(gòu)特性、數(shù)據(jù)之間的邏輯關(guān)系及數(shù)據(jù)傳輸?shù)耐ㄐ沤涌谌婵紤],針對結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的數(shù)據(jù)集設(shè)計特定的采集模式,并能夠利用規(guī)范的通信協(xié)議進行安全可靠的數(shù)據(jù)傳輸。
由于嵌入式計算設(shè)備的特殊環(huán)境及復雜的系統(tǒng)集成,導致數(shù)據(jù)源存在標準規(guī)范性問題[12],因此,數(shù)據(jù)采集層需要對數(shù)據(jù)按照設(shè)定的標準規(guī)則庫進行預先處理,使數(shù)據(jù)的結(jié)構(gòu)形式達到預期定義的標準格式。其中,標準規(guī)則庫包括數(shù)據(jù)解析方式、校驗方式、過濾條件、協(xié)議標準、清洗方式及約束范圍,如圖2所示。數(shù)據(jù)通過標準規(guī)則庫能夠有效去除臟數(shù)據(jù)、不合法、無意義等數(shù)據(jù)信息,最終形成一套完整的系統(tǒng)可操作數(shù)據(jù)集。
圖2 數(shù)據(jù)預處理規(guī)則庫
數(shù)據(jù)通過語義解析、數(shù)據(jù)校驗、數(shù)據(jù)過濾、臨界值約束及協(xié)議規(guī)范的處理方式確保數(shù)據(jù)的統(tǒng)一標準化。其中,語義解析主要按照數(shù)據(jù)的語義理解和字段含義進行解析。數(shù)據(jù)校驗主要對數(shù)據(jù)進行靜態(tài)校驗及重復性校驗來保證數(shù)據(jù)的準確性及一致性。數(shù)據(jù)過濾主要通過一定條件對數(shù)據(jù)進行過濾篩查。協(xié)議規(guī)范需要按照嵌入式計算機領(lǐng)域的數(shù)據(jù)協(xié)議對數(shù)據(jù)進行標準統(tǒng)一規(guī)約。數(shù)據(jù)清洗主要去除臟數(shù)據(jù)、非法數(shù)據(jù)、無效數(shù)據(jù),保證數(shù)據(jù)的高效利用。約束范圍主要通過臨界值來限定所在區(qū)域的數(shù)據(jù)選擇。
元數(shù)據(jù)管理層需要結(jié)合時序數(shù)據(jù)庫技術(shù)構(gòu)建對應業(yè)務信息的元數(shù)據(jù)模型,并對標準化實時數(shù)據(jù)進行元數(shù)據(jù)組織管理。其中,實時數(shù)據(jù)需要進行分流處理,按照元數(shù)據(jù)結(jié)構(gòu)模型提取出對應的元數(shù)據(jù)信息,構(gòu)造元數(shù)據(jù)信息體,并將數(shù)據(jù)流與對應元數(shù)據(jù)信息進行內(nèi)存組織交換,以元數(shù)據(jù)包結(jié)構(gòu)形式分發(fā)。
元數(shù)據(jù)信息提取前,數(shù)據(jù)流信息和元數(shù)據(jù)模型需要按照數(shù)據(jù)包結(jié)構(gòu)體進行組織拼包,如圖3所示。元數(shù)據(jù)結(jié)構(gòu)模型需要以包的形式進行模塊之間的信息傳輸,并緩存至內(nèi)存,以此實現(xiàn)數(shù)據(jù)源和元數(shù)據(jù)的分層分級輸出。數(shù)據(jù)包結(jié)構(gòu)體的構(gòu)成包括數(shù)據(jù)包頭、數(shù)據(jù)流信息、元數(shù)據(jù)信息及數(shù)據(jù)包尾,其中,數(shù)據(jù)包頭和數(shù)據(jù)包尾均使用任意特殊字符形式表示。
圖3 元數(shù)據(jù)結(jié)構(gòu)模型
數(shù)據(jù)包結(jié)構(gòu)體是模塊之間進行數(shù)據(jù)交換的基本要素,而元數(shù)據(jù)信息體是數(shù)據(jù)包結(jié)構(gòu)體的重要構(gòu)成部分。如表1所示,元數(shù)據(jù)信息體主要包括時間戳、傳感設(shè)備編號、數(shù)據(jù)類型、數(shù)據(jù)文件編碼、數(shù)據(jù)結(jié)構(gòu)描述、數(shù)據(jù)文件名稱、數(shù)據(jù)文件屬性、數(shù)據(jù)文件長度、存儲索引地址、文件標志信息、開始時間、結(jié)束時間。
表1 元數(shù)據(jù)信息體
數(shù)據(jù)存儲管理層需要注重嵌入式工業(yè)計算設(shè)備產(chǎn)生的數(shù)據(jù)特性,綜合考慮數(shù)據(jù)的不同存儲對象,針對數(shù)據(jù)的寫多讀少及高效管理能力,結(jié)合時序數(shù)據(jù)庫技術(shù)對數(shù)據(jù)進行高效存儲管理。
融合時序數(shù)據(jù)庫技術(shù)管理元數(shù)據(jù)信息體,將元數(shù)據(jù)信息作為核心要素,以此定位數(shù)據(jù)源信息,進而達到數(shù)據(jù)的有效管理。如圖4所示,數(shù)據(jù)存儲管理層主要負責獲取數(shù)據(jù)包結(jié)構(gòu)體,并對數(shù)據(jù)包結(jié)構(gòu)體進行拆解,提取數(shù)據(jù)流信息,構(gòu)建對應的索引目錄,將數(shù)據(jù)流信息緩存至內(nèi)存,定期或定量寫入標準格式的索引數(shù)據(jù)文件。
圖4 數(shù)據(jù)存儲管理模型
通過包頭和包尾讀取完整的數(shù)據(jù)包結(jié)構(gòu)體,識別出對應的元數(shù)據(jù)信息體,等待索引數(shù)據(jù)文件刷新成功后,將元數(shù)據(jù)信息寫入時序數(shù)據(jù)庫。由于數(shù)據(jù)文件和元數(shù)據(jù)信息實時寫入不同的存儲對象,為避免數(shù)據(jù)丟失,保證數(shù)據(jù)完整性和一致性,需要在設(shè)計過程中確保元數(shù)據(jù)信息和索引數(shù)據(jù)文件的協(xié)同處理。因此,元數(shù)據(jù)信息需要利用預寫日志操作策略進行處理,如圖5所示。
圖5 元數(shù)據(jù)預寫日志操作策略
結(jié)合數(shù)據(jù)預處理規(guī)則對數(shù)據(jù)包結(jié)構(gòu)體進行拆解識別,提取出關(guān)鍵性數(shù)據(jù)流和元數(shù)據(jù)信息體。通過構(gòu)建索引目錄將數(shù)據(jù)流信息寫入指定標準格式的數(shù)據(jù)文件,同時將提取到的對應元數(shù)據(jù)信息進行預寫日志操作,確保元數(shù)據(jù)信息能夠成功寫入時序數(shù)據(jù)庫。若寫入成功,預寫日志元數(shù)據(jù)信息即可清空,若寫入失敗,預寫日志元數(shù)據(jù)信息保留,等待下一周期的觸發(fā)寫操作,直至寫入成功,即可清空。這種策略能夠保證元數(shù)據(jù)信息與對應索引文件信息的完整性和一致性。
索引目錄主要采用設(shè)定的目錄規(guī)則來創(chuàng)建數(shù)據(jù)源和元數(shù)據(jù)信息相匹配的分層分級的目錄結(jié)構(gòu),設(shè)計結(jié)構(gòu)主要包括傳感設(shè)備編號、日期、數(shù)據(jù)類型及對應數(shù)據(jù)文件。索引數(shù)據(jù)文件需要按照特定的規(guī)則約束,以數(shù)據(jù)類型、開始時間和結(jié)束時間三者一體的文件格式命名,實現(xiàn)文件的重定向及檢索查詢。
數(shù)據(jù)檢索查詢層主要采用時序數(shù)據(jù)庫管理元數(shù)據(jù)方式進行檢索查詢,如圖6所示。通過設(shè)定不同的檢索查詢條件提取出對應的元數(shù)據(jù)信息,利用元數(shù)據(jù)信息直接定位到對應索引數(shù)據(jù)文件,實現(xiàn)快速查詢符合條件的數(shù)據(jù)結(jié)果。
數(shù)據(jù)檢索查詢模型必須通過檢索條件、過濾條件、關(guān)聯(lián)關(guān)系和模糊匹配等檢索方式,以 SQL 形式觸發(fā)數(shù)據(jù)庫讀操作。數(shù)據(jù)查詢采用過濾條件檢索出對應區(qū)域的元數(shù)據(jù)信息,依照元數(shù)據(jù)信息的索引文件編號、時間信息、文件存儲索引地址及文件名稱進行目標定位,精準找出對應的數(shù)據(jù)文件,進而實現(xiàn)以業(yè)務為導向的數(shù)據(jù)應用價值,提高數(shù)據(jù)的時序趨勢預測及態(tài)勢感知能力。
(1)開發(fā)環(huán)境
基于元數(shù)據(jù)分離的數(shù)據(jù)管理應用原型系統(tǒng)依托麒麟V10系統(tǒng)平臺開發(fā),主要采用VS2012、GTK3.0設(shè)計實現(xiàn),硬件環(huán)境主要以飛騰開發(fā)板進行應用環(huán)境部署。
(2)軟件實現(xiàn)
根據(jù)元數(shù)據(jù)分離的數(shù)據(jù)管理體系結(jié)構(gòu)模塊化設(shè)計對數(shù)據(jù)采集層模型、元數(shù)據(jù)管理層模型、數(shù)據(jù)存儲管理層模型及數(shù)據(jù)檢索查詢層模型進行了初步實現(xiàn)。系統(tǒng)采用C/S架構(gòu)開發(fā),運行穩(wěn)定,用戶體驗效果良好。針對元數(shù)據(jù)分離策略的數(shù)據(jù)管理體系結(jié)構(gòu)進行了軟件應用的可行性驗證,驗證表明,這種設(shè)計方法具有一定的參考價值和意義。
實驗批量錄入約8.23 GB測試數(shù)據(jù),包括雷達測試數(shù)據(jù)、總線測試數(shù)據(jù)及傳感器測試數(shù)據(jù)。針對元數(shù)據(jù)分離策略的數(shù)據(jù)管理應用原型系統(tǒng),通過設(shè)置靈活可變的查詢條件,系統(tǒng)能夠快速檢索出時序數(shù)據(jù)庫中的元數(shù)據(jù)信息列表,如圖7所示。
圖7 元數(shù)據(jù)管理信息列表
同時,按照檢索出的元數(shù)據(jù)信息列表快速定位索引數(shù)據(jù)文件,如指定業(yè)務場景、數(shù)據(jù)源信息、開始時間及結(jié)束時間等條件,系統(tǒng)能夠檢索出對應的數(shù)據(jù)文件列表,如圖8所示。
圖8 數(shù)據(jù)文件檢索信息列表
本文針對嵌入式工業(yè)計算設(shè)備領(lǐng)域的數(shù)據(jù)標準化組織、數(shù)據(jù)孤島及數(shù)據(jù)分散管理等關(guān)鍵性問題,從應用背景的數(shù)據(jù)特性需求、結(jié)構(gòu)體系、設(shè)計實施、應用驗證等環(huán)節(jié)開展了數(shù)據(jù)管理工作,設(shè)計了以元數(shù)據(jù)分離為原則的數(shù)據(jù)管理體系結(jié)構(gòu),構(gòu)建了各個層級的應用模型。融合時序數(shù)據(jù)庫技術(shù)管理元數(shù)據(jù)信息體,解耦數(shù)據(jù)文件的直接管理,從邏輯上實現(xiàn)了數(shù)據(jù)源與元數(shù)據(jù)分離原則的數(shù)據(jù)管理方法,更好地避免了對數(shù)據(jù)源的直接接觸,確保敏感數(shù)據(jù)的安全可靠。結(jié)合嵌入式系統(tǒng)環(huán)境,初步實現(xiàn)了數(shù)據(jù)管理的應用原型,驗證了所提應用的可行性及合理性。未來將探索在大規(guī)模數(shù)據(jù)集下的應用性能分析。