陳 卓,汪 灝,平佳偉,鄧 闖,彭炳峰,徐 昕,4
(1.上海航天電子技術(shù)研究所,上海 201109;2.上海交通大學(xué) 計(jì)算機(jī)科學(xué)與工程系,上海 200240;3.上海宇航系統(tǒng)工程研究所,上海 201109;4.南京航空航天大學(xué) 航天學(xué)院,南京 210016)
運(yùn)載火箭系統(tǒng)是一項(xiàng)極為復(fù)雜的大規(guī)模系統(tǒng)工程,橫跨計(jì)算機(jī)、電子、通信、控制、材料、結(jié)構(gòu)以及機(jī)械等領(lǐng)域,每一枚火箭的研制均需數(shù)以千計(jì)的單位參與,其發(fā)射以及飛行過(guò)程中會(huì)經(jīng)歷高溫、強(qiáng)沖擊、以及復(fù)雜惡劣的太空環(huán)境,任何一部分構(gòu)件的異常都可能導(dǎo)致發(fā)射失利,這對(duì)于需要高投入、長(zhǎng)周期研制的火箭損失難以承受,其上所搭載的航天器及衛(wèi)星價(jià)值更是難以估量[1]。2010年12月,印度GSLV-F06運(yùn)載火箭在“薩迪什·達(dá)萬(wàn)”航天中心執(zhí)行發(fā)射,在發(fā)射兩分鐘后偏離軌道爆炸,帶來(lái)數(shù)億美元的損失,2013年2月,俄羅斯運(yùn)載三顆“格洛納斯-M”導(dǎo)航衛(wèi)星的質(zhì)子-M運(yùn)載火箭在發(fā)射升空后一分鐘內(nèi)墜落并爆炸,事故原因是關(guān)鍵的角速度傳感器被顛倒安裝[2],2016年9月,獵鷹9號(hào)在執(zhí)行靜態(tài)點(diǎn)火測(cè)試時(shí)發(fā)生爆炸,價(jià)值2億美元的衛(wèi)星損毀,在國(guó)內(nèi),長(zhǎng)征系列多款運(yùn)載火箭均出現(xiàn)過(guò)較為嚴(yán)重的航天事故。因此,可靠性的提升是運(yùn)載火箭領(lǐng)域最為關(guān)注的重點(diǎn)工作之一,其中,最為重要的手段就是故障診斷,通過(guò)前期的測(cè)試和監(jiān)測(cè)發(fā)現(xiàn)潛在的故障,及時(shí)進(jìn)行處理,避免災(zāi)難性的損失出現(xiàn),其中火箭的長(zhǎng)期測(cè)試數(shù)據(jù)以及專家知識(shí)是進(jìn)行數(shù)據(jù)分析和故障診斷的重要依據(jù)[3]。
火箭在長(zhǎng)期測(cè)試過(guò)程中,產(chǎn)生了大量的原始數(shù)據(jù)和各種業(yè)務(wù)數(shù)據(jù),這些數(shù)據(jù)分散在各承制單位,各試驗(yàn)現(xiàn)場(chǎng),數(shù)據(jù)包括全箭各系統(tǒng)數(shù)據(jù)及單機(jī)數(shù)據(jù)。但是長(zhǎng)期以來(lái),運(yùn)載火箭試驗(yàn)過(guò)程中所采集的數(shù)據(jù)只是作為型號(hào)任務(wù)的產(chǎn)品,各型號(hào)任務(wù)所獲取的數(shù)據(jù)之間是隔離的,大量的歷史數(shù)據(jù)處于脫機(jī)狀態(tài),絕大多數(shù)以原始數(shù)據(jù)或文本形式存儲(chǔ)于型號(hào)電腦或光盤(pán)中,缺乏集中的存儲(chǔ)和管理,設(shè)計(jì)師在數(shù)據(jù)分析過(guò)程中無(wú)法方便的獲得歷史數(shù)據(jù)[4-5]無(wú)法通過(guò)一套軟件快速的進(jìn)行各階段數(shù)據(jù)統(tǒng)計(jì)、分析,使得對(duì)產(chǎn)品的穩(wěn)定性和包絡(luò)分析較困難。
隨著型號(hào)任務(wù)的持續(xù)增加和新型火箭的不斷開(kāi)發(fā),火箭系統(tǒng)硬件設(shè)備逐漸呈現(xiàn)出設(shè)備配套數(shù)量多、種類多、部署場(chǎng)地多的特點(diǎn),火箭系統(tǒng)測(cè)試數(shù)據(jù)呈現(xiàn)出格式不統(tǒng)一、數(shù)據(jù)種類多樣的特點(diǎn)[6]?,F(xiàn)階段對(duì)于火箭的數(shù)據(jù)分析僅限于同型號(hào)有限批次的比對(duì),比對(duì)分析方式以理論知識(shí)為主,歷史數(shù)據(jù)為輔,跨型號(hào)、跨時(shí)間的數(shù)據(jù)分析較少、不夠全面,這樣導(dǎo)致火箭產(chǎn)品在設(shè)計(jì)階段缺乏足夠的先驗(yàn)數(shù)據(jù)支撐;另一方面火箭測(cè)試數(shù)據(jù)的分散存儲(chǔ)和格式不統(tǒng)一,給數(shù)據(jù)進(jìn)行的全面的分析和利用帶來(lái)了困難,使得火箭的故障診斷成為無(wú)源之木[7]。
運(yùn)載火箭領(lǐng)域歷史積累的測(cè)試數(shù)據(jù)量是巨大的,具備很大的潛藏價(jià)值,但目前這些數(shù)據(jù)只是被分散存儲(chǔ)起來(lái),沒(méi)有形成完整的數(shù)據(jù)資源目錄、數(shù)據(jù)視圖和數(shù)據(jù)共享機(jī)制,在數(shù)據(jù)資源深層次分析開(kāi)發(fā)上也缺乏必要的手段,試驗(yàn)數(shù)據(jù)未能進(jìn)行有效的統(tǒng)計(jì)、分析和評(píng)估,無(wú)法將這些測(cè)試和發(fā)射數(shù)據(jù)轉(zhuǎn)換成對(duì)火箭有用的信息,這些寶貴的試驗(yàn)和發(fā)射數(shù)據(jù)價(jià)值未能發(fā)揮。
基于現(xiàn)狀,為了解決運(yùn)載領(lǐng)域測(cè)試數(shù)據(jù)利用率不高的問(wèn)題,提高分析和決策效率和有效性,有必要對(duì)數(shù)據(jù)進(jìn)行組織和管理,發(fā)揮運(yùn)載領(lǐng)域測(cè)試數(shù)據(jù)應(yīng)有的價(jià)值,為后續(xù)的任務(wù)服務(wù),數(shù)據(jù)倉(cāng)庫(kù)正是為了構(gòu)建這種新的分析型環(huán)境而出現(xiàn)的一種數(shù)據(jù)存儲(chǔ)和組織技術(shù)[8-11],本文提出將數(shù)據(jù)倉(cāng)庫(kù)技術(shù)應(yīng)用于運(yùn)載領(lǐng)域的數(shù)據(jù)匯總,對(duì)火箭測(cè)試發(fā)射數(shù)據(jù)的進(jìn)行綜合管理和深層次的挖掘分析,輔助型號(hào)任務(wù)工作,為火箭的故障診斷工作打下基礎(chǔ)。
火箭的故障診斷技術(shù)已經(jīng)經(jīng)過(guò)多年長(zhǎng)期的發(fā)展,取得了不少理論成果并得到了實(shí)際應(yīng)用,從20世紀(jì)70年代開(kāi)始,美國(guó)開(kāi)始在運(yùn)載火箭上應(yīng)用健康管理系統(tǒng),監(jiān)測(cè)發(fā)動(dòng)機(jī)運(yùn)行狀態(tài),此后,故障診斷和狀態(tài)監(jiān)測(cè)的理論和技術(shù)得到了迅猛的發(fā)展[12].可以將目前主流的故障診斷方法分為如下三類:基于信號(hào)處理的故障診斷方法、基于專家的故障診斷方法和基于數(shù)據(jù)挖掘的故障診斷方法。其中,基于信號(hào)處理的故障方法通過(guò)對(duì)采樣信號(hào)進(jìn)行降維升維和時(shí)頻域變換提取特征信號(hào)進(jìn)行故障診斷,常見(jiàn)的有小波變換和傅里葉變換[13],不需要了解設(shè)備的工作原理,但在面對(duì)故障模式多樣的火箭系統(tǒng)存在局限性;基于專家的故障診斷方法是根據(jù)火箭的理論知識(shí)以及經(jīng)驗(yàn)知識(shí),對(duì)可能出現(xiàn)的故障模式進(jìn)行預(yù)測(cè),常見(jiàn)的有知識(shí)庫(kù)和知識(shí)圖譜[14],此種方法對(duì)于知識(shí)庫(kù)內(nèi)已有的故障模式有著較好的識(shí)別效果,但對(duì)于知識(shí)庫(kù)外的故障是無(wú)法識(shí)別和預(yù)測(cè)的;基于數(shù)據(jù)挖掘的故障診斷方法成為近年來(lái)的主流研究方向,以大量的測(cè)試數(shù)據(jù)為基礎(chǔ),通過(guò)深度學(xué)習(xí)對(duì)數(shù)據(jù)樣本進(jìn)行訓(xùn)練,對(duì)于復(fù)雜系統(tǒng)具有較高的適應(yīng)性,但火箭的故障樣本較少使其診斷精準(zhǔn)度不高[15]。
針對(duì)復(fù)雜運(yùn)載火箭系統(tǒng)在故障數(shù)據(jù)不充分、故障模式不確定情況下的故障診斷需求,提出了一種基于數(shù)據(jù)挖掘與專家知識(shí)相結(jié)合的故障診斷方法,以專家知識(shí)作為深度學(xué)習(xí)的約束條件解決數(shù)據(jù)挖掘方法的結(jié)果不穩(wěn)定問(wèn)題,面向火箭數(shù)據(jù)分析和故障診斷的數(shù)據(jù)倉(cāng)庫(kù)是火箭故障診斷的基礎(chǔ)。
數(shù)據(jù)倉(cāng)庫(kù)由數(shù)據(jù)庫(kù)發(fā)展而來(lái),但兩者在很多方面都存在很大的差異性,數(shù)據(jù)倉(cāng)庫(kù)已經(jīng)脫離了軟件產(chǎn)品的范疇,是一種綜合性的解決方案[16]。數(shù)據(jù)倉(cāng)庫(kù)是面向分析主題的、歷史數(shù)據(jù)、多維的數(shù)據(jù)集合[17-18],主要面向數(shù)據(jù)分析以及管理決策,需要對(duì)數(shù)據(jù)根據(jù)主題進(jìn)行清洗、加工、匯總,形成規(guī)范、統(tǒng)一的全局信息;而數(shù)據(jù)庫(kù)則是面向業(yè)務(wù)的、來(lái)源單一、查詢量小,可以進(jìn)行實(shí)時(shí)的數(shù)值處理,主要用于面向局部業(yè)務(wù)的數(shù)據(jù)查詢處理工作[19]。
具體到運(yùn)載火箭領(lǐng)域,數(shù)據(jù)庫(kù)更多的面向于火箭系統(tǒng)某一任務(wù),某一型號(hào),為具體的某一發(fā)測(cè)發(fā)業(yè)務(wù)提供查詢、判讀、存儲(chǔ)等服務(wù);數(shù)據(jù)倉(cāng)庫(kù)則是多維度的,可以綜合管理運(yùn)載火箭領(lǐng)域的測(cè)試數(shù)據(jù),將不同型號(hào)、不同發(fā)次的數(shù)據(jù),抽取數(shù)據(jù)特征信息,進(jìn)行統(tǒng)一的治理,為火箭的數(shù)據(jù)分析和故障診斷等業(yè)務(wù)提供服務(wù)。
運(yùn)載火箭數(shù)據(jù)倉(cāng)庫(kù)主要功能是根據(jù)數(shù)據(jù)的不同來(lái)源和信息特征,形成多維數(shù)據(jù)存儲(chǔ)空間,為用戶提供一個(gè)綜合的、面向分析決策的支持環(huán)境,結(jié)合數(shù)據(jù)倉(cāng)庫(kù)一般結(jié)構(gòu)和運(yùn)載領(lǐng)域測(cè)試數(shù)據(jù)的特點(diǎn),數(shù)據(jù)倉(cāng)庫(kù)采用六層分層框架進(jìn)行設(shè)計(jì),如圖1所示。
圖2 運(yùn)載火箭數(shù)據(jù)倉(cāng)庫(kù)主題
1)基礎(chǔ)層部分:由于火箭數(shù)據(jù)物理來(lái)源多樣,位于各分系統(tǒng)實(shí)驗(yàn)室、綜合測(cè)試廠房、試驗(yàn)場(chǎng),各來(lái)源地之間硬件平臺(tái)的多樣性,因此數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)層不僅要包含支撐運(yùn)行的計(jì)算資源和存儲(chǔ)資源,還要包含網(wǎng)絡(luò)資源,預(yù)留數(shù)據(jù)持續(xù)維護(hù)更新的接口,為數(shù)據(jù)的自動(dòng)錄入奠定基礎(chǔ)。
2)源數(shù)據(jù)層部分:數(shù)據(jù)的來(lái)源不局限于測(cè)試發(fā)射生成的數(shù)據(jù),還包含產(chǎn)品在設(shè)計(jì)過(guò)程中的圖紙、文檔、記錄等數(shù)據(jù),其來(lái)源可以從數(shù)據(jù)類型和格式兩個(gè)維度進(jìn)行分類。按數(shù)據(jù)類型分,可以分為電氣數(shù)據(jù)、測(cè)量數(shù)據(jù)、動(dòng)力數(shù)據(jù)等;按照數(shù)據(jù)格式可以分為結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),結(jié)構(gòu)化數(shù)據(jù)主要包括存儲(chǔ)在光盤(pán)、硬盤(pán)中的“dat”格式源數(shù)據(jù)文件,“txt”格式文本文件及SqlServer、Mysql數(shù)據(jù)庫(kù)中的測(cè)試數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)包括文檔數(shù)據(jù)、圖像數(shù)據(jù)。
3)數(shù)據(jù)交換層部分:設(shè)置數(shù)據(jù)交換平臺(tái),采取松耦合連接方式,將本應(yīng)在數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行的數(shù)據(jù)清洗、轉(zhuǎn)換工作轉(zhuǎn)移到數(shù)據(jù)交換平臺(tái),避免源數(shù)據(jù)與數(shù)據(jù)倉(cāng)庫(kù)的直接交互,提升數(shù)據(jù)獲取、加載效率。
4)數(shù)據(jù)架構(gòu)層部分:主要是完成數(shù)據(jù)的加載工作,實(shí)現(xiàn)對(duì)各種同構(gòu)、異構(gòu)試驗(yàn)數(shù)據(jù)的整合,以靈活、高效的方式進(jìn)行存儲(chǔ),以數(shù)據(jù)標(biāo)簽的方式對(duì)數(shù)據(jù)進(jìn)行分類,數(shù)據(jù)管控從元數(shù)據(jù)管理、數(shù)據(jù)質(zhì)量和數(shù)據(jù)標(biāo)準(zhǔn)等三個(gè)方面統(tǒng)一對(duì)存入的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。其中HDFS(hadoop-distributed-file-system)為整個(gè)平臺(tái)存儲(chǔ)數(shù)據(jù)的基礎(chǔ),用來(lái)存儲(chǔ)導(dǎo)入進(jìn)來(lái)的原始數(shù)據(jù);HIVE為火箭數(shù)據(jù)提供的基于大數(shù)據(jù)的數(shù)據(jù)倉(cāng)庫(kù),用來(lái)存儲(chǔ)清洗后、數(shù)據(jù)映射后的范式化數(shù)據(jù);Spark平臺(tái)為離線的數(shù)據(jù)分析與處理提供底層支撐。
5)應(yīng)用層部分:主要負(fù)責(zé)具體業(yè)務(wù)邏輯的實(shí)現(xiàn),對(duì)數(shù)據(jù)進(jìn)行清洗、映射,實(shí)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)的維護(hù)和管理,避免用戶對(duì)數(shù)據(jù)倉(cāng)庫(kù)直接訪問(wèn),提供多維度數(shù)據(jù)分析、查詢、數(shù)據(jù)統(tǒng)計(jì)等服務(wù),支持定制化統(tǒng)計(jì)分析以及更進(jìn)一步的數(shù)據(jù)挖掘。
6)顯示層部分:主要實(shí)現(xiàn)統(tǒng)一的交互界面,將查詢報(bào)表、統(tǒng)計(jì)分析、數(shù)據(jù)挖掘的結(jié)果展示在用戶面前。
數(shù)據(jù)倉(cāng)庫(kù)的建立是為業(yè)務(wù)層的分析和決策提供服務(wù)的[20],對(duì)業(yè)務(wù)需求和特點(diǎn)的充分理解是后續(xù)數(shù)據(jù)模型是否準(zhǔn)確和有效的關(guān)鍵,根據(jù)運(yùn)載火箭數(shù)據(jù)倉(cāng)庫(kù)的業(yè)務(wù)類型,設(shè)計(jì)了三大主題,如圖1。
專家知識(shí)主題:運(yùn)載火箭在產(chǎn)品研制過(guò)程中會(huì)產(chǎn)生大量的設(shè)計(jì)數(shù)據(jù),包括原理圖、源代碼、文檔報(bào)告等原始知識(shí),可以分為硬件和軟件兩大類,硬件包含圖紙、物料和結(jié)構(gòu)等內(nèi)容,軟件包含源碼、工程化文檔和等內(nèi)容,這些知識(shí)對(duì)于新產(chǎn)品的設(shè)計(jì)以及現(xiàn)有產(chǎn)品的優(yōu)化改進(jìn)有著重要的參考意義[21],通過(guò)查閱功能相似的產(chǎn)品設(shè)計(jì)圖紙、軟件功能模塊和相關(guān)產(chǎn)品文檔,能夠有效提高新設(shè)計(jì)產(chǎn)品的可靠性、功能完備性。
歷史測(cè)發(fā)數(shù)據(jù)分析主題:火箭在不同批次和不同階段試驗(yàn)中產(chǎn)生了大量的測(cè)發(fā)原始數(shù)據(jù),這些數(shù)據(jù)全面記錄了火箭在不同批次、不同流程、不同地點(diǎn)下的狀態(tài),這些數(shù)據(jù)對(duì)于現(xiàn)有火箭產(chǎn)品的設(shè)計(jì)、狀態(tài)分析和發(fā)射決策具有重要的指導(dǎo)意義。運(yùn)載火箭的原始數(shù)據(jù)分散存儲(chǔ)于各個(gè)系統(tǒng),數(shù)據(jù)格式未統(tǒng)一,有必要將數(shù)據(jù)提取出來(lái)以變數(shù)據(jù)挖掘分析,可以跨時(shí)間維度、跨型號(hào)維度、跨靶場(chǎng)維度等多角度對(duì)測(cè)發(fā)數(shù)據(jù)進(jìn)行比對(duì)分析,對(duì)火箭設(shè)備的狀態(tài)把控以及產(chǎn)品設(shè)計(jì)提供數(shù)據(jù)支撐。
故障數(shù)據(jù)分析主題:在火箭測(cè)發(fā)過(guò)程中,會(huì)對(duì)各單機(jī)電壓、電路和加注過(guò)程中的壓力、液位、流量等數(shù)據(jù)進(jìn)行關(guān)注,在不同的測(cè)試階段其數(shù)值會(huì)呈現(xiàn)規(guī)律性變化,當(dāng)火箭系統(tǒng)設(shè)備故障或者環(huán)境變化時(shí),這些參數(shù)會(huì)出現(xiàn)異常數(shù)值,往往代表著火箭設(shè)備隱藏的異常,需要對(duì)其發(fā)生機(jī)理進(jìn)行分析和確定,判斷是否繼續(xù)執(zhí)行發(fā)射,因此需要建立故障數(shù)據(jù)分析主題,實(shí)現(xiàn)故障機(jī)理分析和故障趨勢(shì)分析,根據(jù)故障類別,可以分為供配電故障、控制單機(jī)故障、電纜故障、軟件故障、庫(kù)房故障、配氣臺(tái)故障等多個(gè)細(xì)分子主題。
數(shù)據(jù)模型的建立是對(duì)火箭進(jìn)行數(shù)據(jù)抽取以及主題分析的基礎(chǔ)。能否充分理解和透徹分析火箭數(shù)據(jù)以及業(yè)務(wù)需求直接影響到后面數(shù)據(jù)模型的設(shè)計(jì)是否合理、有效,面向火箭生命周期建模,構(gòu)建統(tǒng)一的數(shù)據(jù)表示模型,模型需要能夠表征專家知識(shí)主題、歷史測(cè)發(fā)主題和故障分析主題所需要的多個(gè)維度信息,這些維度信息對(duì)應(yīng)原始數(shù)據(jù)映射后的存儲(chǔ)結(jié)構(gòu)。
建立數(shù)據(jù)模型的目的是幫助對(duì)離散獨(dú)立的原始數(shù)據(jù)進(jìn)行規(guī)范統(tǒng)一的處理,以清洗的數(shù)據(jù)邏輯關(guān)系實(shí)現(xiàn)主題分析工作。結(jié)合火箭的分析需求,以歷史測(cè)發(fā)主題分析為例,當(dāng)要對(duì)某一單機(jī)設(shè)備特性進(jìn)行分析的時(shí)候,該單機(jī)的歷史數(shù)據(jù)反映的是該關(guān)于該單機(jī)設(shè)備方方面面的信息,能夠?qū)υ搯螜C(jī)的特性、質(zhì)量和極限情況做出評(píng)估,可以從9個(gè)維度對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的信息進(jìn)行分類,分別是設(shè)備參數(shù)、時(shí)間、任務(wù)、階段、地點(diǎn)、流程、型號(hào)、設(shè)計(jì)信息和故障信息維度。
1)設(shè)備參數(shù)維度包含該單機(jī)設(shè)備對(duì)應(yīng)的可表征該設(shè)備狀態(tài)的信息,如單壓、電流、溫度和壓力等信息。
2)時(shí)間維度包含該設(shè)備歷史參數(shù)記錄的日期。
3)任務(wù)維度包含該單機(jī)設(shè)備歷史測(cè)發(fā)數(shù)據(jù)分別對(duì)應(yīng)的某一型號(hào)的發(fā)次信息。
4)階段維度包含歷史測(cè)發(fā)數(shù)據(jù)所對(duì)應(yīng)的研制階段,比如分系統(tǒng)階段、集成試驗(yàn)階段、合練階段和正式任務(wù)階段。
5)地點(diǎn)維度指當(dāng)前歷史測(cè)發(fā)記錄生成的地點(diǎn),包含分系統(tǒng)實(shí)驗(yàn)室、總裝廠房以及各大靶場(chǎng)。
6)流程維度包含當(dāng)前記錄所對(duì)應(yīng)的試驗(yàn)流程,不同的試驗(yàn)流程對(duì)單機(jī)的工作特性影響比較大,包含總檢II、總檢I等測(cè)試流程。
7)型號(hào)維度包含了當(dāng)前測(cè)試記錄所對(duì)應(yīng)的型號(hào),多數(shù)單機(jī)設(shè)備可通用于各個(gè)型號(hào),通過(guò)比對(duì)單機(jī)設(shè)備在不同型號(hào)中的表現(xiàn)對(duì)于單機(jī)特性分析具備很大的意義。
8)設(shè)計(jì)信息維度包含單機(jī)設(shè)備的原理圖、結(jié)構(gòu)、物料和軟件等信息,可以從頂層統(tǒng)籌了解單機(jī)設(shè)備特性。
9)故障信息維度包含單機(jī)設(shè)備相關(guān)的軟硬件歸零信息,以及各項(xiàng)更改和偏離設(shè)計(jì)。
運(yùn)載火箭試驗(yàn)數(shù)據(jù)資源相對(duì)穩(wěn)定,在不同階段的測(cè)試數(shù)據(jù)均存在備份,但這些數(shù)據(jù)未經(jīng)整理,來(lái)自于不同型號(hào)、不同階段的試驗(yàn),存在著格式不統(tǒng)一、重復(fù)數(shù)據(jù)、無(wú)效數(shù)據(jù)等問(wèn)題,需要通過(guò)數(shù)據(jù)集成之后傳輸進(jìn)數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)集成的一般過(guò)程主要是將異構(gòu)分布式數(shù)據(jù)源數(shù)據(jù)通過(guò)一定的規(guī)則映射復(fù)制到數(shù)據(jù)倉(cāng)庫(kù),如圖3所示,將不同來(lái)源的數(shù)據(jù)按統(tǒng)一的格式處理,主要完成的工作包括數(shù)據(jù)的抽取、轉(zhuǎn)換和加載,即數(shù)據(jù)的ETL(extract-transform-load)過(guò)程[22-25]。
圖3 數(shù)據(jù)清洗流程
ETL過(guò)程就是將火箭試驗(yàn)過(guò)程中產(chǎn)生的數(shù)據(jù)轉(zhuǎn)化為能夠存儲(chǔ)在數(shù)據(jù)倉(cāng)庫(kù)的決策支持型數(shù)據(jù),設(shè)計(jì)到多個(gè)數(shù)據(jù)源的數(shù)據(jù)清洗及合并。對(duì)于試驗(yàn)數(shù)據(jù)的清洗,分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)兩類,對(duì)于已經(jīng)結(jié)構(gòu)化的數(shù)據(jù),比如火箭各測(cè)試階段源數(shù)據(jù)、存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù),可以通過(guò)制定ETL規(guī)則,直接抽取所需要的數(shù)據(jù),對(duì)于文檔,圖紙、圖像等非結(jié)構(gòu)化的數(shù)據(jù),可以人工預(yù)定分類和編碼準(zhǔn)則,對(duì)文件進(jìn)行梳理,提取有用信息。
數(shù)據(jù)去重和無(wú)效數(shù)據(jù)剔出后,需要抽取有效數(shù)字字段并進(jìn)行數(shù)字映射到數(shù)據(jù)倉(cāng)庫(kù)中,主要是根據(jù)試驗(yàn)數(shù)據(jù)的分析和故障診斷需求,對(duì)數(shù)據(jù)字段進(jìn)行拆分,建立數(shù)據(jù)字段之間的映射[26],進(jìn)行相關(guān)字段的合并和補(bǔ)充,對(duì)于運(yùn)載測(cè)試數(shù)據(jù),建立時(shí)間序列、數(shù)據(jù)來(lái)源等多維度視角對(duì)數(shù)據(jù)進(jìn)行梳理合并。
運(yùn)載火箭數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)采用分布式軟件架構(gòu),建成一個(gè)以數(shù)據(jù)存儲(chǔ)、管理、統(tǒng)計(jì)分析為核心功能的分布式數(shù)據(jù)管理系統(tǒng),如圖4所示,它基于Hadoop 分布式系統(tǒng)進(jìn)行架構(gòu)使用Hive 數(shù)據(jù)倉(cāng)庫(kù)、Flume 數(shù)據(jù)采集工具、Spark 分布式計(jì)算框架形成后臺(tái)計(jì)算系統(tǒng),前端可視化系統(tǒng),最后進(jìn)行聯(lián)合開(kāi)發(fā),以滿足數(shù)據(jù)可視化顯示,數(shù)據(jù)存儲(chǔ)、分析任務(wù)管理等功能。
圖4 測(cè)發(fā)控?cái)?shù)據(jù)倉(cāng)庫(kù)軟件結(jié)構(gòu)
應(yīng)用層軟件架構(gòu)主要分為三個(gè)模塊,數(shù)據(jù)倉(cāng)庫(kù)模塊、應(yīng)用顯示模塊、統(tǒng)計(jì)分析模塊。
1)數(shù)據(jù)倉(cāng)庫(kù)模塊:負(fù)責(zé)管理火箭數(shù)據(jù)的存儲(chǔ)、查詢和計(jì)算,將大量的設(shè)計(jì)數(shù)據(jù)和測(cè)試數(shù)據(jù)進(jìn)行科學(xué)的保存和管理,讓設(shè)計(jì)人員能夠便捷的獲取全面多維度的測(cè)試數(shù)據(jù)和設(shè)計(jì)數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行分析利用。包括Hadoop、Hive、Spark、Kafka、Flume等組件,使用Mysql進(jìn)行元數(shù)據(jù)管理。
該模塊主要提供以下功能點(diǎn):①歷史火箭原始數(shù)據(jù)的存儲(chǔ)、新增測(cè)試數(shù)據(jù)的導(dǎo)入;②結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)與關(guān)聯(lián);③完成清洗合并后的數(shù)據(jù)上載;④元數(shù)據(jù)的底層操作管理。
2)應(yīng)用顯示模塊:負(fù)責(zé)數(shù)據(jù)顯示、導(dǎo)入和任務(wù)管理等與用戶直接交互的功能。前端顯示界面包括數(shù)據(jù)展示、數(shù)據(jù)導(dǎo)入導(dǎo)出接口、數(shù)據(jù)定制化分析界面、故障預(yù)測(cè)界面。后端處理負(fù)責(zé)數(shù)據(jù)查詢、計(jì)算、傳輸和前端渲染工作。此外該模塊還將通過(guò)服務(wù)通訊接口與數(shù)據(jù)倉(cāng)庫(kù)模塊,統(tǒng)計(jì)分析模塊通訊,以實(shí)現(xiàn)數(shù)據(jù)交互和任務(wù)交互功能。
應(yīng)用層軟件采用B/S架構(gòu)設(shè)計(jì),因此本模塊主體分為兩個(gè)部分,一個(gè)網(wǎng)頁(yè)端、一個(gè)是服務(wù)端,網(wǎng)頁(yè)端作為與用戶的主要交互界面,服務(wù)端則負(fù)責(zé)網(wǎng)頁(yè)的渲染,數(shù)據(jù)傳輸、緩存以及與外部通訊的功能。網(wǎng)頁(yè)端則,位于上層,通過(guò)網(wǎng)頁(yè)展示相關(guān)性分析等數(shù)據(jù)展示、故障預(yù)測(cè)功能,進(jìn)行導(dǎo)入數(shù)據(jù)和分析任務(wù)管理等。
3)統(tǒng)計(jì)分析模塊:負(fù)責(zé)具體的數(shù)據(jù)模擬,預(yù)處理、統(tǒng)計(jì)分析、特征工程,建模分析、故障診斷等功能,是數(shù)據(jù)分析應(yīng)用的核心模塊。統(tǒng)計(jì)分析模塊是發(fā)揮火箭寶貴的數(shù)據(jù)價(jià)值的關(guān)鍵所在,通過(guò)深層次的數(shù)據(jù)分析,挖掘不同測(cè)試參數(shù)之間存在大量的內(nèi)在的、潛在的數(shù)據(jù)和信息[27],為火箭的設(shè)計(jì)和測(cè)試工作提供幫助。
該模塊主要提供以下功能點(diǎn):①具備相關(guān)性分析能力,可自由選擇測(cè)試參數(shù)進(jìn)行分析并生成結(jié)果;②具備基于歷史數(shù)據(jù)學(xué)習(xí)的故障診斷能力,能夠?qū)崿F(xiàn)對(duì)火箭常規(guī)參數(shù)的拐點(diǎn)識(shí)別,異常識(shí)別;③具備數(shù)據(jù)包絡(luò)分析能力,可跨型號(hào)、跨時(shí)域?qū)?shù)實(shí)現(xiàn)包絡(luò)分析④提供定制化數(shù)據(jù)分析模塊,滿足不同的數(shù)據(jù)分析需求。
現(xiàn)有基于統(tǒng)計(jì)學(xué)習(xí)的模型在獨(dú)立同分布的情況下有不錯(cuò)的結(jié)果,但是火箭的數(shù)據(jù)樣本大多不滿足獨(dú)立同分布的樣本且數(shù)量較少,診斷結(jié)果就會(huì)變得不穩(wěn)定,缺乏可解釋性,即使診斷結(jié)果是正確的,也無(wú)法將該結(jié)果作為火箭決策的依據(jù),為了提高統(tǒng)計(jì)模型診斷的效果,需要進(jìn)行數(shù)據(jù)和知識(shí)融合的故障診斷,以知識(shí)因果關(guān)系訓(xùn)練統(tǒng)計(jì)學(xué)習(xí)模型,充分利用專家知識(shí)庫(kù)。
首先對(duì)數(shù)據(jù)和知識(shí)進(jìn)行相關(guān)性分析以確定數(shù)據(jù)的因果方向,針對(duì)時(shí)序數(shù)據(jù)、非時(shí)序數(shù)據(jù)和獨(dú)立同分布數(shù)據(jù)的每一對(duì)節(jié)點(diǎn)進(jìn)行獨(dú)立性檢驗(yàn),將其中一個(gè)節(jié)點(diǎn)去掉保持其余不變,計(jì)算因果圖的性能,如果性能接近保持不變,則認(rèn)為該邊可以被去掉,重復(fù)這一過(guò)程,直至任何相連的節(jié)點(diǎn)都不獨(dú)立,隨后對(duì)圖的方向進(jìn)行檢驗(yàn),確保因果圖的方向是由因到果,針對(duì)得到的因果圖,使用干預(yù)推理對(duì)遺漏的因果關(guān)系進(jìn)行調(diào)整補(bǔ)全,最后采用反事實(shí)推理方法找出給定結(jié)果的原因,最后得到基于因果理論的結(jié)構(gòu)因果模型。
隨后進(jìn)行基于強(qiáng)化學(xué)習(xí)的因果建模,使用結(jié)構(gòu)因果模型對(duì)數(shù)據(jù)倉(cāng)庫(kù)切片數(shù)據(jù)得到因果圖,使用合適的評(píng)價(jià)函數(shù)進(jìn)行訓(xùn)練,尋找最優(yōu)的因果圖。
將因果推理嵌入到機(jī)器學(xué)習(xí)模型中,通過(guò)數(shù)據(jù)倉(cāng)庫(kù)中的知識(shí)因果關(guān)系,使得機(jī)器學(xué)習(xí)模型在受到因果關(guān)系約束的情況下對(duì)樣本數(shù)據(jù)進(jìn)行學(xué)習(xí),從而提升模型的準(zhǔn)確率和穩(wěn)定性。
為了驗(yàn)證面向火箭數(shù)據(jù)的數(shù)據(jù)倉(cāng)庫(kù)實(shí)際使用性能,數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建包括4臺(tái)服務(wù)器(CPU:Intel Xeon E5-2640 六核心,主頻2.5 GHz,內(nèi)存32 G,存儲(chǔ)4 T)和多臺(tái)顯示終端。數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建需要以Hadoop大數(shù)據(jù)平臺(tái)為基礎(chǔ),使用3臺(tái)服務(wù)器作為Hadoop節(jié)點(diǎn)組成數(shù)據(jù)倉(cāng)庫(kù),1臺(tái)服務(wù)器作為應(yīng)用服務(wù)器負(fù)責(zé)應(yīng)用顯示模塊和數(shù)據(jù)分析模塊,4臺(tái)服務(wù)器配置相同,數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)通過(guò)交換機(jī)與外部訪問(wèn)終端連接,訪問(wèn)終端以網(wǎng)頁(yè)的形式與數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行交互,進(jìn)行數(shù)據(jù)的導(dǎo)入、導(dǎo)出,數(shù)據(jù)的分析處理。
原始數(shù)據(jù)選用某型號(hào)10發(fā)火箭歷史數(shù)據(jù),數(shù)據(jù)包含老的測(cè)發(fā)控系統(tǒng)測(cè)試發(fā)射數(shù)據(jù)和新型一體化測(cè)發(fā)控系統(tǒng)測(cè)試發(fā)射數(shù)據(jù),數(shù)據(jù)生成周期包含集成實(shí)驗(yàn)、發(fā)射場(chǎng)實(shí)驗(yàn)數(shù)據(jù),數(shù)據(jù)維度包含電氣數(shù)據(jù)、測(cè)量數(shù)據(jù)、動(dòng)力數(shù)據(jù)。
為測(cè)試運(yùn)載火箭數(shù)據(jù)倉(cāng)庫(kù)能力,從數(shù)據(jù)導(dǎo)入和歷史測(cè)發(fā)數(shù)據(jù)查詢兩個(gè)方面對(duì)數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行測(cè)試。
新型一體化測(cè)發(fā)控系統(tǒng)在軟件設(shè)計(jì)和通信協(xié)議上較老的測(cè)發(fā)控系統(tǒng)有很大不同,對(duì)應(yīng)的火箭歷史數(shù)據(jù)也有很大不同,需要對(duì)火箭數(shù)據(jù)從頂層結(jié)構(gòu)上進(jìn)行預(yù)處理,將同單機(jī)同硬件結(jié)構(gòu)所產(chǎn)生的數(shù)據(jù)進(jìn)行數(shù)據(jù)抽取,映射到同一數(shù)據(jù)標(biāo)簽下,將同單機(jī)不同硬件結(jié)構(gòu)所產(chǎn)生的數(shù)據(jù)之間進(jìn)行關(guān)聯(lián),映射到不同的數(shù)據(jù)標(biāo)簽下。在進(jìn)行數(shù)據(jù)導(dǎo)入工作時(shí),設(shè)計(jì)師需選擇導(dǎo)入的數(shù)據(jù)類型以及對(duì)應(yīng)的測(cè)試屬性,如圖5所示,上傳成功后,ETL工具會(huì)對(duì)數(shù)據(jù)進(jìn)行抽取映射,按統(tǒng)一的數(shù)據(jù)格式存儲(chǔ)于數(shù)據(jù)倉(cāng)庫(kù)中。
圖5 數(shù)據(jù)導(dǎo)入界面
為驗(yàn)證數(shù)據(jù)倉(cāng)庫(kù)對(duì)于火箭原始數(shù)據(jù)的導(dǎo)入速度,選擇某型號(hào)3組原始測(cè)試數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)均選用在相同測(cè)試流程下生成的原始記錄數(shù)據(jù),三組測(cè)試數(shù)據(jù)分別包含1條測(cè)試流程、5條測(cè)試流程和10條測(cè)試流程,數(shù)據(jù)導(dǎo)入測(cè)試結(jié)果如表1所示。
表1 數(shù)據(jù)導(dǎo)入測(cè)試結(jié)果
表2 歷史數(shù)據(jù)查詢響應(yīng)結(jié)果
從上數(shù)試驗(yàn)結(jié)果可以看出,導(dǎo)入數(shù)所需要的時(shí)間并非線性隨數(shù)據(jù)大小而增長(zhǎng),而是逐步減少的,因?yàn)樵跀?shù)據(jù)導(dǎo)入過(guò)程中伴隨著清洗與合并操作,當(dāng)數(shù)據(jù)量較大時(shí),該部分工作所占用時(shí)間會(huì)被均攤。
對(duì)于數(shù)據(jù)的統(tǒng)計(jì)分析功能,數(shù)據(jù)倉(cāng)庫(kù)支持對(duì)數(shù)據(jù)的單任務(wù)多參數(shù)、多任務(wù)單參數(shù)、跨型號(hào)參數(shù)查詢、不同參數(shù)關(guān)聯(lián)查詢,支持多個(gè)維度的定義查詢規(guī)則,同時(shí)支持參數(shù)的包絡(luò)分析,拐點(diǎn)識(shí)別等功能。
以地面電源參數(shù)為例進(jìn)行數(shù)據(jù)查詢和分析,地面電源是火箭系統(tǒng)的重要設(shè)備之一,為火箭的測(cè)試和發(fā)射提供能源支持和保障,其穩(wěn)定性是整個(gè)火箭能否正常工作的關(guān)鍵,通過(guò)電壓和電流等參數(shù)間接判斷地面電源狀態(tài)是每次測(cè)試必做的內(nèi)容之一。在本型號(hào)直流電源共計(jì)4臺(tái),選擇“D96-1電源電壓”作為查詢參數(shù),如圖6所示,數(shù)據(jù)倉(cāng)庫(kù)提供了“D96-1電源電壓”參數(shù)的全周期可視化展示,藍(lán)色的曲線為電壓變化情況,綠色曲線為數(shù)據(jù)分析服務(wù)自動(dòng)計(jì)算出在該測(cè)試周期的參數(shù)包絡(luò)值,黃色數(shù)據(jù)點(diǎn)為數(shù)據(jù)分析服務(wù)識(shí)別到的參數(shù)拐點(diǎn)。
圖6 “D96-1電源電壓”數(shù)據(jù)查詢
為驗(yàn)證歷史數(shù)據(jù)查詢性能,使用“D96-1電源電壓”參數(shù),分別選擇查詢不同時(shí)間區(qū)域的參數(shù),觀察其結(jié)果響應(yīng)時(shí)間。
從上述查詢結(jié)果可以看出,數(shù)據(jù)倉(cāng)庫(kù)對(duì)于歷史測(cè)發(fā)主題的參數(shù)查詢響應(yīng)時(shí)間為秒級(jí),該響應(yīng)時(shí)間可以支撐在實(shí)際型號(hào)任務(wù)中的應(yīng)用。
本文研究了面向火箭數(shù)據(jù)分析和故障診斷的數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)。對(duì)火箭數(shù)據(jù)進(jìn)行了跨型號(hào)、跨批次的整合和管理,為火箭測(cè)試和設(shè)計(jì)數(shù)據(jù)的長(zhǎng)期維護(hù)搭建了框架,目前已在某型號(hào)的數(shù)據(jù)管理中實(shí)現(xiàn)應(yīng)用,能夠?qū)鸺郎y(cè)試數(shù)據(jù)進(jìn)行分析和展示。但本文在對(duì)火箭的數(shù)據(jù)利用方面只進(jìn)行了相關(guān)性分析、簡(jiǎn)單故障識(shí)別,后續(xù)將通過(guò)機(jī)器學(xué)習(xí)等手段,進(jìn)一步挖掘火箭歷史數(shù)據(jù)中的價(jià)值。