本發(fā)明涉及一種航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng),屬于航天器運動測試技術(shù)領(lǐng)域。
背景技術(shù):
在航天器的全壽命周期的測試過程中,用于航天器健康狀態(tài)評估的主要依據(jù)是航天器研發(fā)過程中產(chǎn)生的實驗測試數(shù)據(jù)與在軌航天器傳輸至航天器地面站的遙測數(shù)據(jù),這些數(shù)據(jù)統(tǒng)稱為航天器測試數(shù)據(jù)。應(yīng)用大數(shù)據(jù)技術(shù)對試驗數(shù)據(jù)與遙測數(shù)據(jù)資料進(jìn)行集中的管理,能夠便于測試人員對航天器測試數(shù)據(jù)進(jìn)行綜合的分析,對于航天器的在軌營運維護(hù)與健康管理有重要的意義,是當(dāng)前國內(nèi)外航天領(lǐng)域面臨的挑戰(zhàn)之一,同時是航天領(lǐng)域研究的熱點。然而目前航天器測試數(shù)據(jù)通常是以分散存儲的形式進(jìn)行管理,存在著數(shù)據(jù)孤島現(xiàn)象,缺乏統(tǒng)一的存儲與管理體系。
例如,在航天器全壽命周期測試過程中,主要存在測試和試驗數(shù)據(jù)分散、數(shù)據(jù)類型復(fù)雜多樣、格式不統(tǒng)一以及音視頻文件難以統(tǒng)一管理等問題。
技術(shù)實現(xiàn)要素:
本發(fā)明提出了一種航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng),以解決現(xiàn)有的航天器全壽命周期測試過程中存在的測試和試驗數(shù)據(jù)分散、數(shù)據(jù)類型復(fù)雜多樣、格式不統(tǒng)一以及音視頻文件難以統(tǒng)一管理的問題,為此本發(fā)明采用如下的技術(shù)方案:
一種航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng),包括:數(shù)據(jù)采集模塊、數(shù)據(jù)存儲模塊和數(shù)據(jù)查詢與下載模塊;
所述數(shù)據(jù)采集模塊用于采集航天器測試數(shù)據(jù)并按照結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)分類輸出所述航天器測試數(shù)據(jù);
所述數(shù)據(jù)存儲模塊用于根據(jù)預(yù)定格式將所述航天器測試數(shù)據(jù)分別存儲在分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中;
所述數(shù)據(jù)查詢與下載模塊用于查詢及下載所述分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中的航天器測試數(shù)據(jù)。
本發(fā)明通過將航天器測試數(shù)據(jù)并按照結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)分類存儲于分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中,并能夠根據(jù)時間序列查詢及下載,實現(xiàn)了航天器測試數(shù)據(jù)及音視頻文件的快速存儲與高安全性管理,并以文件為單位將數(shù)據(jù)批量導(dǎo)入以及基于列導(dǎo)向的存儲與部件級參數(shù)的整體查詢和批量下載。
附圖說明
圖1為本發(fā)明所述的航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng)的結(jié)構(gòu)示意圖。
圖2為實施例一提出的航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng)的結(jié)果示意圖。
圖3為實施例一中的說明文件的格式示意圖。
圖4為實施例一中的結(jié)構(gòu)化數(shù)據(jù)導(dǎo)入的流程示意圖。
圖5為實施例一中的結(jié)構(gòu)化數(shù)據(jù)查詢的流程示意圖。
圖6為實施例一中的音視頻文件導(dǎo)入的數(shù)據(jù)流向示意圖。
圖7為實施例一中的音頻文件導(dǎo)入的流程示意圖。
圖8為實施例一中的音頻文件訪問的流程示意圖。
圖9為實施例一中的音頻文件查詢的流程示意圖。
圖10為實施例一中的音頻文件下載的流程示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
結(jié)合圖1所示,本具體實施方式提供的航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng)包括:數(shù)據(jù)采集模塊10、數(shù)據(jù)存儲模塊20和數(shù)據(jù)查詢與下載模塊30;其中的數(shù)據(jù)采集模塊10用于采集航天器測試數(shù)據(jù)并按照結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)分類輸出所述航天器測試數(shù)據(jù);數(shù)據(jù)存儲模塊20用于根據(jù)預(yù)定格式將所述航天器測試數(shù)據(jù)分別存儲在分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中;數(shù)據(jù)查詢與下載模塊30用于查詢及下載所述分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中的航天器測試數(shù)據(jù)。
可選的,結(jié)合圖2所示,數(shù)據(jù)存儲模塊20包括結(jié)構(gòu)化數(shù)據(jù)采集子模塊21、非結(jié)構(gòu)化數(shù)據(jù)采集子模塊22、數(shù)據(jù)導(dǎo)入子模塊23和文件導(dǎo)入子模塊24;
其中,結(jié)構(gòu)化數(shù)據(jù)采集子模塊21用于從所述航天器測試數(shù)據(jù)中提取結(jié)構(gòu)化數(shù)據(jù)并輸出;非結(jié)構(gòu)化數(shù)據(jù)采集子模塊22用于從所述航天器測試數(shù)據(jù)中提取非結(jié)構(gòu)化數(shù)據(jù)并輸出;數(shù)據(jù)導(dǎo)入子模塊23用于將所述結(jié)構(gòu)化數(shù)據(jù)按照指定格式輸出至所述分布式存儲數(shù)據(jù)庫;文件導(dǎo)入子模塊24用于將所述非結(jié)構(gòu)化數(shù)據(jù)按照指定格式輸出至所述分布式文件系統(tǒng)。
可選的,結(jié)合圖2所示,數(shù)據(jù)存儲模塊20還包括結(jié)構(gòu)化數(shù)據(jù)清洗子模塊25;
其中,數(shù)據(jù)清洗子模塊25用于對所述結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)一致性檢查以及對無效值和缺失值進(jìn)行處理。
可選的,結(jié)合圖2所示,數(shù)據(jù)存儲模塊20還包括第一存儲子模塊26;
其中,第一存儲子模塊26用于以時間為行索引并以每個航天器部件為列族,并通過表的形式存儲所述結(jié)構(gòu)化數(shù)據(jù)。
可選的,結(jié)合圖2所示,數(shù)據(jù)存儲模塊20還包括第一導(dǎo)入子模塊27;
其中,第一導(dǎo)入子模塊27用于獲取所述表的名稱、數(shù)據(jù)文件和說明文件名稱,若所述數(shù)據(jù)文件或說明文件不為空,則將數(shù)據(jù)文件按照說明文件中的格式導(dǎo)入所述分布式存儲數(shù)據(jù)庫。
可選的,結(jié)合圖2所示,數(shù)據(jù)查詢與下載模塊30包括第一數(shù)據(jù)查詢子模塊31;
其中,第一數(shù)據(jù)查詢子模塊31用于獲取所述表的名稱、起始行、結(jié)束行和列名,并對獲取的起始行和結(jié)束行名進(jìn)行規(guī)范化處理后,從所述分布式存儲數(shù)據(jù)庫中查詢與所獲取的起始行、結(jié)束行名最接近的行名作為新的起始行、結(jié)束行名,并從所述分布式存儲數(shù)據(jù)庫中獲取所有行名和列名并排序,從中截取起始行與結(jié)束行所包含的行名,并對獲取的列名中的列族名進(jìn)行該列族所屬全部列名的替換,從所述分布式存儲數(shù)據(jù)庫中讀取指定的行和列并輸出查詢結(jié)果。
可選的,結(jié)合圖2所示,數(shù)據(jù)存儲模塊20包括第二存儲子模塊28;
其中,第二存儲子模塊28用于以文件名稱作為行索引、分別以位置信息和屬性信息為列族,并通過表的形式存儲所述非結(jié)構(gòu)化數(shù)據(jù)。
可選的,結(jié)合圖2所示,數(shù)據(jù)存儲模塊20還包括第二導(dǎo)入子模塊29;
其中,第二導(dǎo)入子模塊29用于獲取本地文件的路徑和文件標(biāo)簽,若所述本地文件路徑下的文件存在,則將所述文件導(dǎo)入所述分布式文件系統(tǒng),并將所述文件的名稱、存儲路徑和標(biāo)簽導(dǎo)入所述分布式存儲數(shù)據(jù)庫。
可選的,結(jié)合圖2所示,數(shù)據(jù)查詢與下載模塊30包括第二數(shù)據(jù)查詢子模塊32;
其中,第二數(shù)據(jù)查詢子模塊32用于獲取需要查詢的標(biāo)簽及所述分布式文件系統(tǒng)中所有文件的信息,若所述標(biāo)簽的查詢結(jié)果為空,則提示無符合條件的查詢文件,若所述標(biāo)簽的查詢結(jié)果不為空,則將搜索結(jié)果記為所有與所述標(biāo)簽的內(nèi)容一致的行號,并將搜索結(jié)果輸出。
可選的,結(jié)合圖2所示,數(shù)據(jù)查詢與下載模塊30還包括數(shù)據(jù)下載子模塊33;
其中,數(shù)據(jù)下載子模塊33用于獲取本地下載路徑和下載文件名稱,若所述分布式文件系統(tǒng)中存有所述下載文件名稱對應(yīng)的文件,則將所述文件批量下載至本地路徑并輸出下載成功提示。
下面通過具體的實施例對本發(fā)明提出的航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng)進(jìn)行詳細(xì)說明。
實施例一
結(jié)合圖1和圖2所示,本實施例提供的航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng)包括:數(shù)據(jù)存儲模塊20和數(shù)據(jù)查詢與下載模塊30;數(shù)據(jù)存儲模塊20用于根據(jù)預(yù)定格式將所述航天器測試數(shù)據(jù)分別存儲在分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中;數(shù)據(jù)查詢與下載模塊30用于查詢及下載所述分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中的航天器測試數(shù)據(jù)。
其中,在數(shù)據(jù)存儲模塊20中包括結(jié)構(gòu)化數(shù)據(jù)采集子模塊21、非結(jié)構(gòu)化數(shù)據(jù)采集子模塊22、數(shù)據(jù)導(dǎo)入子模塊23、文件導(dǎo)入子模塊24、結(jié)構(gòu)化數(shù)據(jù)清洗子模塊25、第一存儲子模塊26、第一導(dǎo)入子模塊27、第二存儲子模塊28和第二導(dǎo)入子模塊29。
在數(shù)據(jù)查詢與下載模塊30中包括第一數(shù)據(jù)查詢子模塊31、第二數(shù)據(jù)查詢子模塊32和數(shù)據(jù)下載子模塊33。
本實施例采用數(shù)據(jù)倉庫的思想將航天器測試數(shù)據(jù)與多媒體數(shù)據(jù)文件按照統(tǒng)一的格式集中的存儲在分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中,并開發(fā)相應(yīng)的數(shù)據(jù)庫接口便于數(shù)據(jù)的導(dǎo)入、查詢與下載,實現(xiàn)數(shù)據(jù)與文件的統(tǒng)一存儲與管理,針對航天器全壽命周期測試和試驗數(shù)據(jù)分散、數(shù)據(jù)類型復(fù)雜多樣、格式不統(tǒng)一、音視頻文件難以統(tǒng)一管理等問題,開展面向航天器海量異構(gòu)試驗測試數(shù)據(jù)的大數(shù)據(jù)集成管理系統(tǒng)的研究,從而實現(xiàn)航天器全壽命周期測試數(shù)據(jù)的有效集成和管理。其中的分布式存儲數(shù)據(jù)庫可采用hbase數(shù)據(jù)庫,分布式文件系統(tǒng)可采用hdfs分布式文件系統(tǒng)。
從測試設(shè)備及航天器地面站采集到的航天器測試數(shù)據(jù)主要包括遙測數(shù)據(jù)、總裝集成測試數(shù)據(jù)等結(jié)構(gòu)化數(shù)據(jù)以及音視頻文件等非結(jié)構(gòu)化數(shù)據(jù)。其中的結(jié)構(gòu)化數(shù)據(jù)可通過數(shù)據(jù)清洗子模塊25進(jìn)行數(shù)據(jù)野值剔除以及對無效值和缺失值進(jìn)行處理,然后由數(shù)據(jù)導(dǎo)入子模塊23根據(jù)用戶給出的說明文件可以按照指定的格式存入hbase數(shù)據(jù)庫。在hbase數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)由第一存儲子模塊26以表的形式進(jìn)行存儲,表中的數(shù)據(jù)以時間為行索引,每個部件保存為一個列族,該部件所有的參數(shù)均為屬于該列族的列,數(shù)據(jù)在hbase數(shù)據(jù)庫中存儲的結(jié)構(gòu)如表1所示,說明文件的格式如圖3所示。
表1
其中,結(jié)構(gòu)化數(shù)據(jù)導(dǎo)入程序流程圖如圖4所示,首先由第一導(dǎo)入子模塊27獲取所述表的名稱、數(shù)據(jù)文件和說明文件名稱,若所述數(shù)據(jù)文件或說明文件不為空,則將數(shù)據(jù)文件按照說明文件中的格式導(dǎo)入所述分布式存儲數(shù)據(jù)庫。
在對hbase數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行訪問時,可先指定hbase數(shù)據(jù)庫中的結(jié)構(gòu)化數(shù)據(jù)存儲的表和時間范圍及列族或者列的名稱。由于航天器測試數(shù)據(jù)的時間通常會精確到秒,為了便于用戶進(jìn)行查詢,對輸入的起始時間與結(jié)束時間均可進(jìn)行格式化處理,在hbase數(shù)據(jù)庫中查找與用戶輸入時間最接近的行作為起始行與結(jié)束行,從而保證查詢的效率。另外,由于結(jié)構(gòu)化數(shù)據(jù)在hbase數(shù)據(jù)庫中是以列導(dǎo)向進(jìn)行存儲的,每一個部件或者分系統(tǒng)作為一個列族單獨進(jìn)行存儲,這鐘存儲結(jié)構(gòu)便于用戶進(jìn)行不同分系統(tǒng)數(shù)據(jù)的查詢,通過輸入列族的名稱即可直接獲取某一分系統(tǒng)或部件的全部測試參量,同時也支持輸入具體的列名稱,獲取指定列的數(shù)據(jù)。在對結(jié)構(gòu)化數(shù)據(jù)進(jìn)行查詢后,系統(tǒng)還可對結(jié)構(gòu)化數(shù)據(jù)的完整性進(jìn)行檢查,將數(shù)據(jù)不全的列進(jìn)行刪除并輸出提示,完整的數(shù)據(jù)將被返回到界面上進(jìn)行顯示,也可以選擇將其保存為txt文本文件用于后續(xù)的數(shù)據(jù)分析。
其中,結(jié)構(gòu)化數(shù)據(jù)查詢程序流程圖如圖5所示,首先由第一數(shù)據(jù)查詢子模塊31獲取所述表的名稱、啟示行、結(jié)束行和列名,并從所述分布式存儲數(shù)據(jù)庫中獲取所有行名和列名并排序,若全部行名中都包含起始行與結(jié)束行,則從所述分布式存儲數(shù)據(jù)庫中讀取指定的行和列并輸出查詢結(jié)果。
音視頻文件等非結(jié)構(gòu)化數(shù)據(jù)由于體量通常較大,不適用hbase數(shù)據(jù)庫的使用場景。因此為了便于對音視頻文件進(jìn)行管理與查詢,本實施例選擇將音視頻文件導(dǎo)入hdfs分布式文件系統(tǒng)實現(xiàn)對文件的高安全性管理。將文件在hdfs分布式文件系統(tǒng)中存儲的位置信息及時長、清晰度等文件的屬性信息通過數(shù)據(jù)導(dǎo)入模塊導(dǎo)入hbase數(shù)據(jù)庫進(jìn)行統(tǒng)一管理。與結(jié)構(gòu)化數(shù)據(jù)類似,音視頻文件的信息在hbase數(shù)據(jù)庫中存儲的結(jié)構(gòu)如表2所示,通過第二存儲子模塊28存儲的表中有兩個列族,分別為位置信息列族以及屬性信息列族,不同的屬性信息以列的形式統(tǒng)一存儲在屬性信息列族下,以文件名稱作為行索引。
表2
其中,音視頻文件導(dǎo)入時的數(shù)據(jù)流向如圖6所示,音視頻文件導(dǎo)入程序流程圖如圖7所示,首先由第二導(dǎo)入子模塊29獲取本地文件的路徑和文件標(biāo)簽,若所述本地文件路徑下的文件存在,則將所述文件導(dǎo)入所述分布式文件系統(tǒng),并將所述文件的名稱、存儲路徑和標(biāo)簽導(dǎo)入所述分布式存儲數(shù)據(jù)庫。
對音視頻文件進(jìn)行訪問時,分為文件查詢與文件下載兩個步驟,如圖8所示。首先由第二數(shù)據(jù)查詢子模塊32根據(jù)輸入的關(guān)鍵詞在hbase數(shù)據(jù)庫中對文件名與標(biāo)簽進(jìn)行查詢,一次可以輸入以空格隔開的多個關(guān)鍵詞,系統(tǒng)將返回所有符合要求的文件及其信息。首先判斷所有輸是否為空,若為空則提示輸入關(guān)鍵詞,不為空則對文件名稱進(jìn)行關(guān)鍵詞檢索,讀取存儲多媒體文件信息表格的描述信息,獲取所有文件名稱,記錄所有包含任意關(guān)鍵詞的行名序號,若行名檢索欄輸入為空則保留全部行名序號。然后對文件的標(biāo)簽信息進(jìn)行檢索,系統(tǒng)為每個文件設(shè)置了四個標(biāo)簽,分別為型號、時間、文件類型和內(nèi)容。對每一個標(biāo)簽進(jìn)行分級查找,在包含行名關(guān)鍵詞的序號列表中搜索所有包含一級標(biāo)簽的關(guān)鍵詞的文件,記錄符合條件的文件序號,若一級標(biāo)簽為空則保留查詢范圍內(nèi)的全部序號。然后在這些包含行名關(guān)鍵詞與第一個標(biāo)簽關(guān)鍵詞的文件中繼續(xù)搜索符合第二個標(biāo)簽內(nèi)容的文件,若第二級標(biāo)簽為空,則將之前符合要求的文件序號全部保留,以此類推直到搜索出所有符合輸入標(biāo)簽內(nèi)容的文件。最后將符合要求的文件及其所有標(biāo)簽信息返回界面便于用戶進(jìn)行選擇。
其中,音視頻文件查詢程序流程圖如圖9所示,首先由第二數(shù)據(jù)查詢子模塊32獲取需要查詢的關(guān)鍵詞及所述分布式文件系統(tǒng)中所有文件的信息,若所述標(biāo)簽的查詢結(jié)果為空,則提示無符合條件的查詢文件,若所述標(biāo)簽的查詢結(jié)果不為空,則將搜索結(jié)果記為所有與包含所述關(guān)鍵詞的行號,并將搜索結(jié)果輸出。
在進(jìn)行查詢之后,用戶可以根據(jù)搜索的結(jié)果選擇需要下載的文件。通過數(shù)據(jù)下載子模塊33輸入待下載文件名稱及下載文件的保存路徑,并查找文件的存儲路徑并從hdfs分布式文件系統(tǒng)中將文件批量下載至本地。
其中,音視頻文件下載程序流程圖如圖10所示,首先由數(shù)據(jù)下載子模塊33用于獲取本地下載路徑和下載文件名稱,若所述分布式文件系統(tǒng)中存有所述下載文件名稱對應(yīng)的文件,則將所述文件下載至本地路徑并輸出下載成功提示。
采用本實施例提出的航天器異構(gòu)測試數(shù)據(jù)集成管理系統(tǒng),通過將航天器測試數(shù)據(jù)并按照結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)分類存儲于分布式存儲數(shù)據(jù)庫和分布式文件系統(tǒng)中,并能夠根據(jù)時間序列查詢及下載,實現(xiàn)了航天器測試數(shù)據(jù)及音視頻文件的快速存儲與高安全性管理,并以文件為單位將數(shù)據(jù)批量導(dǎo)入以及基于列導(dǎo)向的存儲與部件級參數(shù)的整體查詢和批量下載。
以上所述,僅為本發(fā)明較佳的具體實施方式,這些具體實施方式都是基于本發(fā)明整體構(gòu)思下的不同實現(xiàn)方式,而且本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。