趙瑞國,馬 杰,何志勇,李 君
(西安航天動力研究所,陜西西安710100)
隨著計算機軟硬件技術的迅猛發展,數據庫技術在各行各業得到了越來越廣泛的應用。應用數據庫技術針對液體火箭發動機熱試車中獲取的高速采集數據進行存儲和管理對于數據的高效存儲、快速提取及多樣化的后處理具有重要意義。
為了解發動機及其零部件的動態響應特性,需在試驗中以高采樣速率(通常為25600 kHz)采集大量的振動、壓力脈動、位移及轉速等數據,這些數據具有數據量大、格式復雜、后處理分析算法多樣等特性。這些數據及其分析結果,以往存貯在磁帶和不同的計算機里,由于數據格式多樣、分析方法不同等原因,造成對數據的檢索、調用與后處理都十分困難。鑒于上述原因,需要一個統一的、規范的、安全的、便捷的液體火箭發動機數據管理平臺來解決以上問題。
為此研制開發了基于SQLSever數據庫平臺的發動機試車高速采集數據工程數據庫。該數據庫較好的解決了上述問題。在數據庫研制過程中針對數據庫架構及數據存儲方式等關鍵技術進行了深入的研究。
發動機高速采集數據具有數據量大、格式復雜、后處理分析算法多樣等特性。因而液體火箭發動機高速采集數據工程數據庫與常用的商用、管理、文獻檢索數據庫及主要針對CADCAM設計的工程數據庫均有一定的差異,主要表現在:
1)液體火箭發動機的技術術語定義復雜;
2) 發動機本身作為實體對象具有多型號、同一型號具有多批次的特點;
3)試驗種類多,試驗次數多;
4)數據來源于多種采集設備,數據類型多;
5)數據之間的關系復雜;
6)數據量極大;
7)需采用的分析手段多樣。
使用和管理上存在較多的差異如表1所示。
數據庫主要致力于建立試驗數據的核心存儲模型和系統,具體目標包括:
1)提供所有數據資源的存儲模型,統一的存儲資源;
2)滿足用戶對數據的高速存取需求;
3)提供對數據的完整的安全備份能力;
4)提供對數據的生命周期管理能力;
5)提供對數據處理的擴展開發能力。
1.3.1 組織結構
與本數據庫相關的用戶包括發動機設計室和相關研究室專業組,組織結構如圖1所示。

圖1 數據庫用戶結構組織圖Fig.1 Structural diagram of database users
1.3.2 業務流程分析
兩個研究室的業務流程如圖2所示。

圖2 數據庫用戶業務流程圖Fig.2 Business flow chart of database user
根據用戶的工作特點、需求和業務流程分析,設計了滿足需求的數據庫架構,高速采集數據工程數據庫由若干試驗數據子庫組成,基本原理如圖3所示,其結構組成如圖4所示。
從數據庫系統結構圖可以看出,高速采集數據工程數據庫系統分為三個部分。
1)基礎數據庫:用于存儲和管理原始試驗數據。
2)通用數據庫:用于管理通用算法處理后的試驗數據及存儲通用數據處理程序。
3)專用數據庫:負責存儲經過專用的數據處理方法處理過的結果數據。

圖3 試驗數據庫運行原理圖Fig.3 Working principle of testing database

圖4 高速采集數據工程數據庫系統結構圖Fig.4 Structure of high-speed data acquisition database
1.4.1 基礎數據庫
基礎數據庫負責管理各類試驗信息和試驗數據,其主要功能包括:原始數據導入、原始數據管理、原始數據查詢、原始數據導出、原始數據備份及原始數據的訪問控制。
基礎數據庫最主要的功能就是管理原始數據,遵循數據完整性管理的原則,按照型號樹的方式存儲在系統中,存儲結構如圖5所示。

圖5 基礎數據庫存儲結構圖Fig.5 Storage structure of basic database
1.4.2 通用數據庫
系統最主要的功能是管理經過通用算法處理后的結果數據。從圖6可以看出“通用試驗數據庫”分為三個部分:通用試驗數據倉庫、通用算法及算法配置。

圖6 通用數據庫的結構圖Fig.6 Structure of universal database
通用數據庫的數據存儲結構如圖7所示。可以看出,通用數據庫的數據存儲方式也是以型號樹為基礎,對于試驗的原始數據可以進行全程的數據處理,也可以根據工況分段進行數據處理。這樣做可提高試驗數據查詢及數據導出的速度。

圖7 通用數據庫存儲結構Fig.7 Storage structure of universal database
1.4.3 專用數據庫
專用試驗數據庫結構分為兩個部分:專用試驗數據倉庫和臨時數據存儲區域。
專用數據庫數據存儲結構如圖8所示。專用數據庫功能包括專用數據管理、專用數據查詢、數據顯示及臨時數據存儲區域管理。

圖8 專用數據庫存儲結構圖Fig.8 Storage structure of private database
由于傳統的商業數據庫的存儲模式很難存儲數據量極大的試驗數據,發動機高速采集試驗數據工程數據庫采用了海量數據存儲的新方式。這是一種基于關系數據管理和文件管理的模式,參考了PDM等相關領域的海量數據存儲概念,由于試驗數據的復雜性,它又與傳統PDM存儲方式還有許多的不同。它是基于關系數據庫和海量試驗數據混合存儲的系統,它需要具有一個統一的數據管理平臺,對數據使用者屏蔽底層數據存儲,負責提供對試驗數據的各種訪問、管理能力。試驗數據庫和常見的商業數據庫的特點比較如表2所示。

表2 商用數據庫與試驗數據庫的比較Tab.2 Comparison of comercial database and testing database
根據試驗數據自身的特點,為了保證試驗數據存儲的高效性,采用了大型關系數據庫和海量文件系統結合的策略。用大型關系數據庫存儲結構化試驗數據信息以保證數據存儲和查詢的高效性;同時用海量文件存儲系統存儲非結構化的試驗數據信息,確保對非結構化數據存儲和訪問的安全、高效性。
提供一套完備的、針對試驗數據特點的存儲模型和服務,其中包含用于存儲結構化試驗數據的大型關系數據庫系統和用于存儲非結構化數據的工程文件系統。其中包括:大型關系數據庫、工程文件系統(Engineer File System) 及工程試驗存儲EngTDS。
大型關系型數據庫負責存儲結構化的試驗數據信息,包括與試驗相關的任務配置、規范、流程、環境、檢測、參數等各種信息。工程文件系統針對大量的非結構化的工程試驗數據,提供基于文件的存儲模型。保證這些非結構化數據存儲的完整性、安全性及高效性。工程試驗存儲EngTDS提供統一的工程試驗數據存儲訪問服務,屏蔽掉底層關系型數據庫和工程文件系統的差異,系統抽象出EngTDS層,向外圍的功能模塊提供統一的存儲訪問模型。
MTDS主要致力于解決海量試驗數據存儲的難題。試車過程中采集的高速采集數據數據量與測試通道數量及采樣速率有直接的關系,單次長程試車獲得的數據量往往超過2GB,數據庫總在線試驗數據也有可能達到TB級。在這種情況下,采用傳統模式(直接存儲在硬盤上)已經遠遠不能滿足數據管理需求。另外,由于試驗數據的特殊性(比如:格式多樣等等)和需求多樣性(數據分析、數據處理等等),直接采用基于文件的存儲系統也不能滿足用戶的需求。
為此,需要系統采用針對海量試驗數據的存儲模型,并能提供更為有效的數據維護管理工具,達到數據存儲的安全、高效,滿足用戶的不同需求。
MTDS的使用,將主要致力于解決以下問題:海量級(上10TB)在線數據存儲能力、數據生命周期管理能力及數據處理擴展能力。
MTDS運行框架主要由三部分組成:
1)發動機海量試驗數據存儲模型:實現數據以統一的存儲模型進行存儲;
2)擴展引擎接口:提供運行框架功能模塊的擴展能力;
3)發動機核心試驗數據存儲服務:對其他功能模塊提供核心存儲服務。
MTDS采用了最先進的全開放式架構理念,讓海量數據存儲的各個功能都可以根據用戶需求重新定制開發(甚至用戶自身開發)。在運行框架中提供了海量試驗數據存儲的核心模型結構,同時還提供了用于擴展功能開發的重要結構和數據存儲服務。
MTDS采用幾乎全開放式的體系結構,并且采用Provider編程模式。用戶可以開發出各種不同的Provider,然后通過簡單的配置,直接連接到系統中。采用這種編程模式,用戶可以針對不同的需求,開發出各種不同的功能擴展模塊。
海量數據存儲的寫入及搜索方式與傳統數據庫有很大的不同,決定了海量數據的存儲的效率的大幅度的提高。傳統意義上的數據庫的入庫效率則由數據庫的導入效率決定的。
采用虛擬數據和工程實際中存在的某次試車數據為例,試車時間400 s,采樣通道40個,單通道的點采樣率為25600/s,數據約為700 M,進行了兩種寫入方式的速度對比,對比結果如表3所示。

表3 不同存儲方式數據導入時間對比Tab.3 Comparison of data import time in different storage modes
在搜索過程中,海量數據存儲系統可以很快的在數據庫中提取相關的時間信息,找到與之相對應的文件,提取相應的數據行;而商業數據庫則要化大量的時間提取相應的文件或數據,然后才能對應相應的數據。
對比結果表明,海量數據存儲的應用解決了傳統商用數據庫在存儲發動機高速采集試驗數據上的突出問題,使得發動機高速采集試驗數據庫的建設成為可能。
發動機高速采集數據工程數據庫的建立滿足了工程中的實際需要,挽救了部分年代已久的寶貴數據,解決了由于數據存放混亂、格式不統一帶來的數據使用效率低下的實際問題,為數字發動機研制進行了有益的探索,為提高發動機設計手段和能力開辟了新路。
針對發動機高速采集數據工程數據庫的建立,經過需求分析、概念設計、邏輯設計及物理設計等幾個過程,提出了合適的發動機高速采集數據工程數據庫的架構設計,設計的數據庫架構既可滿足使用者對數據的快速調用,又可滿足數據安全、完整的存儲,確實解決了工程中的實際問題。
針對發動機高速采集數據工程數據庫的建立,提出了將海量數據存儲技術應用數據庫,解決了海量數據快速存儲的問題,使得數據庫的構建順利進行。
發動機高速采集數據工程數據庫的建立,解決了現有工作中的部分矛盾,由于投入使用時間較短,實際應用中的存在問題還未充分暴露,與數字發動機信息平臺的要求也還有差距,在今后的工作中應繼續開展相關課題的研究,搜集工程數據庫實際應用中出現的問題,不斷完善工程數據庫,并開展該工程數據庫與AVIDM系統的集成研究。
[1]BRAUN S,SETH B.Analysis of repetitive mechanism signature[J].Journal of Sound and Vibration,1980,70(4):513-526.
[2]宗孔德.數字信號處理[M].北京:清華大學出版社,1988.
[3]林君.高速數字信號處理原理、器件及應用[M].北京:海洋出版社,1993.
[4]曹瑾.航空發動機共享試驗數據管理系統的研究與應用[J].數字軍工,2010,(7):41-42.
[5]梁陳劍.JDBC3.0數據庫開發與設計[M].北京:希望電子出版社,2001.
[6]O′NEIL Patrick,O′NEIL Elizabeth.數據庫原理、編程與性能[M].北京:機械工業出版社,2002.
[7]張鴻江.基于Web的動力學數據庫的研究與開發[J].強度與環境,2003(3):7-11.
[8]徐敏.設備故障診斷手冊[M].西安:西安交通大學出版社,1998.
[9]趙新民.智能儀器原理及設計[M].哈爾濱:哈爾濱工業大學出版社,1990.