周俊鵬,任德旺,倪 鑫,李麗娜,李亞暉,李運喜
(1.航空工業西安航空計算技術研究所,陜西 西安 710068;2.機載彈載計算機航空科技重點實驗室,陜西 西安 710065)
嵌入式工業設備與信息化技術的融合,促使嵌入式工業計算機日益走向智能信息化,已經逐步滲透到產品研制的設計、制造、試驗、運行、管理及維護的全過程,這些過程會產生各式各樣的復雜數據[1]。特別是隨著待處理數據越來越多,數據信息變得更加龐大,逐漸超出了傳統數據管理軟件的能力范圍,從而促使人們必須依靠一種新的技術和管理體系來完成各項工作任務,由此,數據管理技術應運而生[2]。與傳統互聯網數據相比,嵌入式工業計算機系統設備的數據規模更加龐大復雜,流轉速度更快,數據類型更為多元化。如果能夠有效地利用數據管理技術處理和分析這些數據,將為嵌入式工業計算設備的設計驗證、維護保障、系統測試、智能信息化管理提供有力支撐。
當前,嵌入式工業計算設備的硬件成本要求高、存儲資源受限和應用場景特殊等制約因素,導致大量數據流失、數據獲取困難、管理分散且服務目標單一等問題,形成了諸多數據孤島現象[3]。研究如何實現分散存儲數據之間的融合處理及高效管理技術,是當前數據管理及數據處理領域尚待解決的關鍵問題。
嵌入式工業計算機領域具備深厚的數據天賦[4],各個計算設備在全生命工作周期會形成一系列的設備數據集。
各個傳感設備會源源不斷地產生數據,這些數據均是按照時間序列順序產生[5],主要包括各類型傳感器數據、設備通信數據、雷達監測數據、總線數據及系統設備數據等。數據種類繁多、結構復雜多變,數據之間存在邏輯依賴關系,具有增量性、周期性、關聯性特征。數據的整體結構分為結構化數據、半結構數據和非結構化數據,若對這些多源異構的數據進行集中獲取、統一標準化、元數據組織管理等高效處理[6],一定程度上能夠反映出傳感設備的健康狀態、異常狀態、操作狀態及維護狀態等信息。
圍繞嵌入式工業計算設備產生的數據演變特性,本文分析出大量數據均是以時間維度為基準產生的序列化數據集,這些數據分散在不同的地方或不同的傳感設備系統。同時,工業設備正常運行期間產生的序列化數據變化幅度較小,異常狀態下產生的數據變化幅度較為突出[7]。數據的傳感設備不一,傳輸協議及性能存在差異,工作頻率較為不同,數據的結構類型差異性較為突出,各個設備之間的協作關系較為緊密。這為數據的集中獲取、組織管理及處理分析帶來了一定程度的技術挑戰,更為嵌入式工業計算設備的數據管理現狀提出了更多的數據需求。
本文提出了一種基于元數據分離的數據管理體系結構[8]。通過精準化的技術架構和層級模型,分析各個類型數據源的結構特征,構建元數據的組織管理模型,實時分離數據源信息與所描述的元數據信息體,構造數據源和元數據之間的分離式組織管理模式,實現以元數據為核心的數據管理應用原型。結合應用驗證表明所提方法能夠有效緩解數據分散、碎片化問題,提高數據使用效率,進而提升以業務為導向的數據管理及應用服務能力。
嵌入式工業計算設備的數據管理體系結構主要是以元數據構建模型為基準,實現數據源與元數據邏輯分離的層次結構,保證數據的快速管理與高效檢索查詢能力。從可用性和通用性角度出發,嵌入式工業計算設備的元數據分離管理的應用設計旨在提高數據質量,打通數據鏈路,統一數據口徑,規范數據標準[9],實現數據的重復利用價值,進而支持數據業務之間的服務共享。
基于嵌入式工業計算設備的數據管理模式涵蓋從數據源到應用服務的整個過程。圍繞數據源集中獲取、標準化處理、元數據組織管理、數據檢索查詢的核心設計原則,將元數據分離的數據管理體系結構分為四個層級模型,如圖1所示。嵌入式工業計算設備的元數據制定與分離原則主要從四個層級模型依次設計,綜合考慮數據源的結構特征、標準化處理規則、元數據構建模型、數據文件與元數據分離存儲的組織形式、元數據寫入時序數據庫的全過程,每個過程對應不同的層級模型。針對各個類型的數據源需要設計符合規范的元數據信息體,構建元數據信息模型,實時獲取數據源信息體并定位元數據描述信息。同時,將數據源與元數據信息進行內存組織交換,按照特定規則進行定期或定量持久化至不同層級的存儲對象。通過分層分級的組織形式管理數據,實現元數據管理主題化、目錄化,提供嵌入式工業計算設備的業務升級更新和應用靈活開發的數據支持,并以服務方式提高數據管理和應用分析能力。

圖1 元數據分離的數據管理體系結構
(1)數據采集層:數據采集模型需要收集嵌入式工業計算機各個類型傳感設備的數據集,按照預先設定的標準規則庫,對多源異構的數據進行統一標準化處理。
(2)元數據管理層:元數據管理模型將標準化處理的數據流實時更新,對實時數據流進行元數據組織管理[10],構建對應業務信息的元數據模型,將數據流與元數據信息分級分層輸出。
(3)數據存儲管理層:數據存儲管理模型獲取上游數據流和元數據信息,構建對應的索引目錄及標準格式的數據文件。這些數據文件需要存儲至索引目錄磁盤,并將元數據信息周期性寫入時序數據庫[11]。
(4)數據檢索查詢層:數據檢索查詢模型按照時序數據庫的檢索條件進行元數據檢索,并對檢索元數據信息進行索引查詢,定位出對應的數據文件。
數據采集層需要實時獲取嵌入式工業計算傳感設備系統的數據集,同時,綜合考慮嵌入式計算傳感設備及信息系統等不同的數據源特性,能夠批量獲取各個傳感設備的全部數據。從數據源的形態、結構特性、數據之間的邏輯關系及數據傳輸的通信接口全面考慮,針對結構化、半結構化、非結構化的數據集設計特定的采集模式,并能夠利用規范的通信協議進行安全可靠的數據傳輸。
由于嵌入式計算設備的特殊環境及復雜的系統集成,導致數據源存在標準規范性問題[12],因此,數據采集層需要對數據按照設定的標準規則庫進行預先處理,使數據的結構形式達到預期定義的標準格式。其中,標準規則庫包括數據解析方式、校驗方式、過濾條件、協議標準、清洗方式及約束范圍,如圖2所示。數據通過標準規則庫能夠有效去除臟數據、不合法、無意義等數據信息,最終形成一套完整的系統可操作數據集。

圖2 數據預處理規則庫
數據通過語義解析、數據校驗、數據過濾、臨界值約束及協議規范的處理方式確保數據的統一標準化。其中,語義解析主要按照數據的語義理解和字段含義進行解析。數據校驗主要對數據進行靜態校驗及重復性校驗來保證數據的準確性及一致性。數據過濾主要通過一定條件對數據進行過濾篩查。協議規范需要按照嵌入式計算機領域的數據協議對數據進行標準統一規約。數據清洗主要去除臟數據、非法數據、無效數據,保證數據的高效利用。約束范圍主要通過臨界值來限定所在區域的數據選擇。
元數據管理層需要結合時序數據庫技術構建對應業務信息的元數據模型,并對標準化實時數據進行元數據組織管理。其中,實時數據需要進行分流處理,按照元數據結構模型提取出對應的元數據信息,構造元數據信息體,并將數據流與對應元數據信息進行內存組織交換,以元數據包結構形式分發。
元數據信息提取前,數據流信息和元數據模型需要按照數據包結構體進行組織拼包,如圖3所示。元數據結構模型需要以包的形式進行模塊之間的信息傳輸,并緩存至內存,以此實現數據源和元數據的分層分級輸出。數據包結構體的構成包括數據包頭、數據流信息、元數據信息及數據包尾,其中,數據包頭和數據包尾均使用任意特殊字符形式表示。

圖3 元數據結構模型
數據包結構體是模塊之間進行數據交換的基本要素,而元數據信息體是數據包結構體的重要構成部分。如表1所示,元數據信息體主要包括時間戳、傳感設備編號、數據類型、數據文件編碼、數據結構描述、數據文件名稱、數據文件屬性、數據文件長度、存儲索引地址、文件標志信息、開始時間、結束時間。

表1 元數據信息體
數據存儲管理層需要注重嵌入式工業計算設備產生的數據特性,綜合考慮數據的不同存儲對象,針對數據的寫多讀少及高效管理能力,結合時序數據庫技術對數據進行高效存儲管理。
融合時序數據庫技術管理元數據信息體,將元數據信息作為核心要素,以此定位數據源信息,進而達到數據的有效管理。如圖4所示,數據存儲管理層主要負責獲取數據包結構體,并對數據包結構體進行拆解,提取數據流信息,構建對應的索引目錄,將數據流信息緩存至內存,定期或定量寫入標準格式的索引數據文件。

圖4 數據存儲管理模型
通過包頭和包尾讀取完整的數據包結構體,識別出對應的元數據信息體,等待索引數據文件刷新成功后,將元數據信息寫入時序數據庫。由于數據文件和元數據信息實時寫入不同的存儲對象,為避免數據丟失,保證數據完整性和一致性,需要在設計過程中確保元數據信息和索引數據文件的協同處理。因此,元數據信息需要利用預寫日志操作策略進行處理,如圖5所示。

圖5 元數據預寫日志操作策略
結合數據預處理規則對數據包結構體進行拆解識別,提取出關鍵性數據流和元數據信息體。通過構建索引目錄將數據流信息寫入指定標準格式的數據文件,同時將提取到的對應元數據信息進行預寫日志操作,確保元數據信息能夠成功寫入時序數據庫。若寫入成功,預寫日志元數據信息即可清空,若寫入失敗,預寫日志元數據信息保留,等待下一周期的觸發寫操作,直至寫入成功,即可清空。這種策略能夠保證元數據信息與對應索引文件信息的完整性和一致性。
索引目錄主要采用設定的目錄規則來創建數據源和元數據信息相匹配的分層分級的目錄結構,設計結構主要包括傳感設備編號、日期、數據類型及對應數據文件。索引數據文件需要按照特定的規則約束,以數據類型、開始時間和結束時間三者一體的文件格式命名,實現文件的重定向及檢索查詢。
數據檢索查詢層主要采用時序數據庫管理元數據方式進行檢索查詢,如圖6所示。通過設定不同的檢索查詢條件提取出對應的元數據信息,利用元數據信息直接定位到對應索引數據文件,實現快速查詢符合條件的數據結果。
數據檢索查詢模型必須通過檢索條件、過濾條件、關聯關系和模糊匹配等檢索方式,以 SQL 形式觸發數據庫讀操作。數據查詢采用過濾條件檢索出對應區域的元數據信息,依照元數據信息的索引文件編號、時間信息、文件存儲索引地址及文件名稱進行目標定位,精準找出對應的數據文件,進而實現以業務為導向的數據應用價值,提高數據的時序趨勢預測及態勢感知能力。
(1)開發環境
基于元數據分離的數據管理應用原型系統依托麒麟V10系統平臺開發,主要采用VS2012、GTK3.0設計實現,硬件環境主要以飛騰開發板進行應用環境部署。
(2)軟件實現
根據元數據分離的數據管理體系結構模塊化設計對數據采集層模型、元數據管理層模型、數據存儲管理層模型及數據檢索查詢層模型進行了初步實現。系統采用C/S架構開發,運行穩定,用戶體驗效果良好。針對元數據分離策略的數據管理體系結構進行了軟件應用的可行性驗證,驗證表明,這種設計方法具有一定的參考價值和意義。
實驗批量錄入約8.23 GB測試數據,包括雷達測試數據、總線測試數據及傳感器測試數據。針對元數據分離策略的數據管理應用原型系統,通過設置靈活可變的查詢條件,系統能夠快速檢索出時序數據庫中的元數據信息列表,如圖7所示。

圖7 元數據管理信息列表
同時,按照檢索出的元數據信息列表快速定位索引數據文件,如指定業務場景、數據源信息、開始時間及結束時間等條件,系統能夠檢索出對應的數據文件列表,如圖8所示。

圖8 數據文件檢索信息列表
本文針對嵌入式工業計算設備領域的數據標準化組織、數據孤島及數據分散管理等關鍵性問題,從應用背景的數據特性需求、結構體系、設計實施、應用驗證等環節開展了數據管理工作,設計了以元數據分離為原則的數據管理體系結構,構建了各個層級的應用模型。融合時序數據庫技術管理元數據信息體,解耦數據文件的直接管理,從邏輯上實現了數據源與元數據分離原則的數據管理方法,更好地避免了對數據源的直接接觸,確保敏感數據的安全可靠。結合嵌入式系統環境,初步實現了數據管理的應用原型,驗證了所提應用的可行性及合理性。未來將探索在大規模數據集下的應用性能分析。