王西超,高 頌,浦 樂,曲曉雷
(1 上海電機學院, 上海 201306; 2 河南科技大學, 河南洛陽 471003;3 中國空空導彈研究院, 河南洛陽 471000; 4 沈陽飛機設計研究所, 沈陽 110035)
導彈全壽命周期的數據涉及導彈從論證、研制試驗到服役部隊后的日常管理、維護保養、操作使用、退役報廢等導彈全壽命周期的方方面面。隨著導彈全壽命周期數據量的激增,包括導彈論證研制階段的基礎數據,使用維護階段的業務數據和修理數據以及各監測指標的過程數據等多個維度的數據。一方面由于導彈型號多、數量多、各組成部件多,隨著數據不斷采集,導彈數據量不斷膨脹,數據量達到數百TB級別;另一方面,采集到的數據具有多樣化特點,包括文本、聲音、網頁、圖片、視頻等各種格式,同時不同階段的數據通過不同的信息系統進行采集,存儲在不同數據庫系統形成結構化數據,網頁日志數據為半結構化數據,大量導彈圖片、培訓維修視頻為非結構化數據。
數據存儲系統作為導彈全壽命周期數據管理系統的核心部分,直接影響著導彈數據管理系統的質量。目前研究較為成熟的大數據分布式存儲系統有分布式文件系統(File System)和分布式數據庫(Database)系統兩大類。File System主要面向非結構化數據的存儲管理,Database主要面向半結構化/結構化數據的存儲和查詢管理,這些數據存儲技術都能較好地在導彈全壽命周期數據管理系統中應用于結構化數據存儲和非結構化數據存儲。常用的Database有SQL Server、Oracle、DB2、MySQL等,在結構化數據存儲方面效果較好[1-3],但在圖像等非結構化數據存儲方面效果不佳,且在大數據存儲方面不太理想[4-6]。File System的使用以Hadoop HDFS為主[7-12],Hadoop HDFS能夠滿足導彈全壽命周期大數據的存儲和大文件存儲效率,并且在存儲圖像等非結構化數據效果顯著,但是在小文件數據存儲、低延遲訪問數據方面性能變差[13-20]。
基于以上分析,文中以導彈全壽命周期數據為研究對象,結合數據存儲要求,在探究不同種類數據訪問特性的基礎上,提出一種基于不同緩存調度策略的大數據四層次分布式存儲系統。該系統由大數據分布式存儲層、典型緩存策略層、典型數據訪問模式層和導彈上層分布式應用層構成。可為以后導彈全壽命周期的數據存儲研發提供理論參考。
導彈全壽命周期大數據分布式存儲的整體框架如圖1所示。其設計思想是,針對導彈全壽命周期大數據特點,設計一個分層式緩存調度框架,將不同的數據訪問模式和緩存策略及上層的導彈全壽命周期大數據應用融合起來,從而加速上層導彈全壽命周期大數據應用的數據讀寫性能。

圖1 導彈全壽命周期大數據分布式存儲框架
第一層為導彈上層分布式應用層,包含“Deep Learning”、“Machine Learning”、“SQL Qurey”和“Streaming Processing”等典型應用。第2層為典型數據訪問模式層,包含“Recently-friendly”、“Frequency-friendly”、“Loop”和“Mixed”等數據訪問模式。第一層的每種應用均可調用該層數據訪問模式中的一種或若干種,同時該層的數據訪問模式又可調用第三層的緩存調度策略。第三層為典型緩存調度策略層,該層依據第二層的不同數據訪問模式,設計不同的緩存調度策略,達到最優的存儲效果。第四層為分布式分層次存儲系統層,采用Alluxio大數據存儲系統,Alluxio支持基于MEM-SSD-HDD(內存-固態盤-硬盤)的分層式大數據分布式存儲管理,滿足導彈全壽命周期的大數據存儲和快速存儲。
在本層的4個典型應用中, “Deep Learning”主要處理遙感影像、靶試視頻、音頻等非結構化圖像數據;“Machine Learning”主要處理一些需要復雜算法處理的數據,如K-Means算法、PageRank算法等;“SQL Qurey”和“Streaming Processing”主要處理傳統的文字、數值等結構化數據。
導彈全壽命周期涉及多種不同類型數據,并且數據的訪問頻次也各不相同,導彈全壽命周期數據主要有全彈測試數據;組件測試數據;產品圖片、殘骸圖片、遙感影像、試驗大綱、試驗任務書、分析報告、靶試視頻;組件協議、全彈協議、設計文檔、結構圖紙、電路圖紙、電氣圖紙;靶試試驗數據、系留試驗數據等。
經分析,可以將以上多種數據類型按照數據訪問模式分為以下4類:
1)未來會被大概率訪問的數據(Recently-friendly)
這類數據是指被當前訪問之后,在短期內(如3天內)會被大概率訪問的數據,主要包括全彈測試數據(常態工作數據、高低溫工作數據;隨機振動數據、自主飛振動數據、掛機振動數據、其它振動數據;導彈換裝數據、開箱測試數據)和組件測試數據(溫變循環數據、溫度存儲數據;功能振動數據、耐久振動數據)。其中的組件包括:導引頭、飛行控制組件、電源組件、舵機、引信、安全和解除保險機構、戰斗部、發動機、數據鏈、遙測組件等。其基本形式為:
(a1,a2,…,ap,ap,ap-1,…,a2,a1)N
(1)
式中:p為被訪問數據塊的個數;N為循環訪問的次數。
這種數據訪問模式的數據局部性較好,即當前被訪問的數據在近期內再次被訪問的概率很大,典型包括全彈測試數據和組件測試數據,這種數據訪問模式是導彈全壽命周期大數據存儲中最為常見的數據訪問模式。
2)被不均勻頻率訪問的數據(Frequency-friendly)
這類數據是指數據塊中的數據會被不均勻的頻率訪問,如導彈圖片、導彈殘骸圖片以及靶試視頻、遙感影像等圖像視頻類數據會被高頻次訪問。而試驗大綱(內場聯試與交付試驗大綱、靶試鑒定試驗大綱、適配性試驗大綱等)、試驗任務書、分析報告(試驗數據分析報告、排故分析報告)等文本類數據則會被少量頻次訪問。在這種情況下,緩存更加頻繁被訪問的數據塊將會帶來更大的訪問性能提升。其基本形式為:
((a1,a2,…,ap)M,Pε,(b1,b2,…,bq))N
(2)
式中:p表示在一輪訪問中多次被訪問的數據塊個數;M表示這p個數據塊被循環訪問的次數,即該p個數據塊在一輪訪問中被循環訪問M次;q表示在一輪訪問中僅被訪問一次的數據塊個數;Pε表示該q個數據塊被訪問的概率,即該q個數據塊在一輪訪問中被訪問一次的概率為Pε;N為整個過程被循環訪問的次數。當p
3)被循環訪問的數據(Loop)
這類數據是指會被不斷循環訪問的數據,包括全彈協議(導彈總線信息交換協議、導彈與載機通信協議)、組件協議(發動機信息協議、舵機信息協議、飛控信息協議、導引頭信息協議、引信戰斗部信息協議、數據鏈信息協議、衛星定位信息協議等)的協議類數據,以及設計文檔(設計方案、計算報告、設計報告、評估報告、設計說明)、結構圖紙、電路圖紙、電氣圖紙等文本類數據等。其基本形式為:
(a1,a2,…,ap-1,ap)N
(3)
式中:p表示被循環訪問的數據塊個數;N表示循環訪問的次數。
4)混合性數據(Mixed)
這類數據類型包含前3種類型數據的混合,主要包含靶試試驗數據(高空打低空、低空打高空、抗箔條干擾、抗拖拽干擾、長彈道、非全儀表、抗支援式干擾、抗數據鏈干擾、抗衛星定位干擾、大離軸、低空下視小目標、抗紅外干擾)、系留試驗數據,在靶試試驗前,用相同載機與目標機,在相同試驗條件下掛系留彈進行模擬靶試試驗,僅系留彈沒有火工品(發動機、戰斗部),載機在構成發射條件后發射,后續按彈道跟蹤、截獲目標。系留試驗可以評估靶試風險情況。其基本形式為:
((a1,a2,…,ap,ap,…,a2,a1)N1((a1,a2,…,ap)M,
Pε,(b1,b2,…,bq))N2)N
(4)
式中:p表示被循環訪問的數據塊個數;M表示循環訪問這p個數據塊的次數;q表示在一輪訪問中僅被訪問一次的數據塊個數;Pε表示該q個數據塊被訪問的概率;N1表示以第一種模式訪問數據塊的循環次數;N2表示以第二種模式訪問數據塊的循環次數;N表示整個訪問過程循環的次數。
不同的數據訪問模式需要不同的緩存調度策略才能最優化存儲效率,在MEM-SSD-HDD分層式存儲場景下,需要研究內存緩存調度策略,盡可能提高數據在內存緩存層中訪問的命中率,發揮內存數據存儲在讀寫訪問性能上的優勢。
1)LRFU(least recently/frequently used)緩存策略
LRFU融合了LRU(least recently used)策略和LFU(least frequently used)策略。當數據替換發生時,LRFU替換具有最小屬性值的數據塊,該屬性值表示數據塊會在不久的將來被訪問到的概率大小。通過權重參數的調節,LRFU可以轉換為LRU或LFU。
2)基于條件變分編碼器的緩存策略(CBS)
在處理靶試視頻、遙感影像等圖像數據時,深度學習的準確率已經越來越高。文中采用改進的變分自動編碼器(即基于條件變分編碼器)來進行靶試試驗視頻軌跡預測,變分自動編碼器是一個應用在潛在變量模型上的生成模型,是無監督學習復雜分布的主要方法。靶試試驗時靶機的移動取決于靶機的功能和環境,這些因素是一條軌跡的潛在變量。因此,可以認為靶機移動軌跡是一個潛在變量模型,利用CBS緩存策略,基于靶機已經過的N個軌跡點估計即將到達的下一個預定軌跡點的概率分布。在真實的靶機GPS軌跡數據上預測準確率能達到79%。
3)自適應內存緩存策略(AMC)
遙感影像數據量大,存儲時耗費資源較多,當一次寫入大塊的遙感影像數據時,HDFS速度較慢,采用基于歷史數據訪問推理和空間關系的AMC緩存策略,為海量的遙感影像數據進行實時的存儲支持。
4)緩存權重替換策略(CWS)
在基于MEM-SSD-HDD的分層式大數據分布式存儲方案中,需要分布式計算引擎基于MEM的抽象概念彈性分布式數據集(RDD)產生高效的數據處理能力,其方法是在數據處理過程中當由于MEM空間不足時替換掉部分RDD,以解決Hadoop的數據處理能力低下問題。典型的替換算法(LRU)僅考慮最近是否使用RDD分片,而忽略全部其它因素,WR緩存替換策略則側重于改進RDD的權重參數。文中在替換RDD階段考慮數據的歷史訪問次數與計算成本,提出了緩存權重替換策略(CWS)來優化RDD選擇策略,以減少處理大量小數據時的執行時間。
該層采用Alluxio大數據存儲系統,其中 MEM-SSD-HDD按照性能高低組織在一起,性能越高的設備離CPU越近。訪問比較頻繁的數據(如全彈測試數據、組件測試數據等)會被優先存儲到MEM或者SSD中,而訪問頻次較低的數據(如試驗大綱、試驗任務書和分析報告等)則會被移到訪問速度較低的HDD層。由于MEM和SSD價格較高、配置容量較小,因此該層隨著數據訪問的變化,通常需要對存儲在MEM和SSD中的數據,依據第三層相應的緩存替換策略進行替換。
為了驗證所設計的導彈全壽命周期四層次大數據存儲系統效果,針對不同算法、不同數據訪問模式和不同緩存策略進行試驗,圖2是在真實GPS軌跡數據、利用深度學習算法、Frequency-friendly數據訪問模式和CBS緩存策略下,請求文件大小從50 MB 到350 MB的緩存效用試驗,試驗結果顯示:在保證平均下載速度和緩存命中率的前提下,CBS緩存策略比MCBS緩存策略和RWBS緩存策略具有更高的緩存效用。

圖2 不同緩存策略的緩存效用
圖3是單節點8G內存時不同算法的執行情況對比。其中,圖3(a)是在全彈測試數據集和組件測試數據集在內存空間充足條件下對應的執行時間,可以看出CWS 算法在計算過程中減少了RDD的使用次數,相比WR算法,時間縮短2%;圖3(b)是在全彈測試數據集和組件測試數據集在內存空間充足條件下對應的內存占用率,可以看出CWS算法相比WR算法,雖然時間提高不大,但是內存占用率降低了32%,這在處理較大數據集時效果顯著。

圖3 單節點8G內存時不同算法的執行時間和內存占用率
根據導彈全壽命周期的大數據存儲要求,提出了一種基于不同數據訪問模式和緩存調度策略的大數據四層次分布式存儲系統,包括大數據分布式存儲層、典型緩存策略層、典型數據訪問模式層和導彈上層分布式應用層,并對其結構特點、工作原理進行了闡述與理論分析。試驗結果表明:該系統可以實現導彈全壽命周期大數據的穩定快速存儲;存儲較小數據時的平均時間高于WR算法2%,內存占用率占比降低32%;深度學習框架下的存儲效率具有更大的緩存命中率。