李 智褚厚斌蔡斐華姜 悅張麗曄
(中國運載火箭技術研究院,北京 100076)
近些年,載人航天工程快速發(fā)展,越來越多的有效載荷被計劃使用在空間站中,它們在發(fā)射前都需要在地面進行完善的測試,由此帶來了大量的試驗任務,因此需要提高試驗效率[1]。此外,第一時間掌握飛行器狀態(tài),便于及時做出準確、有效的處置,可以達到降低試驗風險、提高試驗效率的目的[2]。能夠快速、準確、完整地實時解析飛行器測控數(shù)據(jù),有助于決策者在具有不確定性的系統(tǒng)和環(huán)境中動態(tài)地優(yōu)化各類決策的制定和實施,以更好地達到預期決策目標[3]。傳統(tǒng)飛行器數(shù)據(jù)解析為保證數(shù)據(jù)的完整性,通常是先存儲原始數(shù)據(jù),在試驗結束后再進行解析和判讀,數(shù)據(jù)判讀工作也會因數(shù)據(jù)解析的時長而滯后。如何快速、準確、完整地實時解析飛行器數(shù)據(jù),成為提高飛行器數(shù)據(jù)判讀效率的關鍵,同時也是一項迫切的需求。
隨著計算機網(wǎng)絡技術的發(fā)展和成熟,應用已經(jīng)擴展到局域網(wǎng)、廣域網(wǎng)甚至互聯(lián)網(wǎng),分布式計算成為新的熱點[4]。分布式系統(tǒng)作為由多個處理機通過網(wǎng)絡互聯(lián)而構成的松散耦合的系統(tǒng),具有資源共享、高速并行計算、可靠性高和通信快捷的特點,在多個領域廣泛應用。設計一種基于分布式架構的飛行器測控數(shù)據(jù)實時解析系統(tǒng),旨在提高飛行器試驗中數(shù)據(jù)解析環(huán)節(jié)的效率,提升試驗質量。
目前傳統(tǒng)飛行器測控數(shù)據(jù)的解析方式根據(jù)解析時間不同可分為實時解析和事后解析。
傳統(tǒng)飛行器測控數(shù)據(jù)的實時解析指在收到數(shù)據(jù)時,將各種不同數(shù)據(jù)類型的數(shù)據(jù)源碼實時解析成可以供試驗人員分析和判讀的數(shù)據(jù)的過程。通常服務器在數(shù)據(jù)源碼解析后,會將解析結果分發(fā)到多個顯示終端并存儲解析結果。傳統(tǒng)實時解析可以保證測試人員對數(shù)據(jù)的即時判讀,對數(shù)據(jù)中表現(xiàn)出的異?,F(xiàn)象進行分析和處置。由于實時解析服務器需要同時完成數(shù)據(jù)接收、存儲和實時解析的工作,而飛行器測控數(shù)據(jù)往往數(shù)據(jù)量巨大,數(shù)據(jù)發(fā)送速率高,傳統(tǒng)實時解析需要解析服務器具備高性能運算速度和高速存儲能力,即便如此也無法避免數(shù)據(jù)丟失的情況發(fā)生。所以傳統(tǒng)飛行器測控數(shù)據(jù)的實時解析往往存在數(shù)據(jù)缺失的情況,試驗人員無法對試驗結果做出全面、精確的判讀。
傳統(tǒng)飛行器測控數(shù)據(jù)的事后解析指在試驗結束后,對所有存儲的測控數(shù)據(jù)進行解析,然后試驗人員再對數(shù)據(jù)解析結果進行分析和判讀。傳統(tǒng)事后解析可以保證數(shù)據(jù)的完整性,確保所有的測控數(shù)據(jù)都保存到服務器中,避免出現(xiàn)數(shù)據(jù)缺失的情況。但數(shù)據(jù)事后解析不具備實時性,根據(jù)數(shù)據(jù)量和復雜程度不同,數(shù)據(jù)事后解析往往需要幾小時甚至十幾個小時才能完成所有數(shù)據(jù)的解析工作。傳統(tǒng)數(shù)據(jù)事后解析的滯后性直接影響數(shù)據(jù)判讀和決策的效率。
既保證飛行器測控數(shù)據(jù)存儲的完整性,又保證測控數(shù)據(jù)解析的實時性是目前飛行器試驗的迫切需求,也是未來航天事業(yè)發(fā)展的趨勢。
分布式系統(tǒng)是指一個硬件或軟件組件分布在不同的網(wǎng)絡計算機上,彼此之間僅通過消息傳遞進行通信和協(xié)調(diào)的系統(tǒng)[5]。分布式意味著可以采用更多的計算機組成分布式集群對外提供服務[6]。在飛行器測控數(shù)據(jù)實時解析時,如果可以滿足多地部署、數(shù)據(jù)同步、運行協(xié)同和分布式處理的要求,那么數(shù)據(jù)保存的完整性和數(shù)據(jù)解析的實時性就可以得到有效保證,而分布式架構則較好地滿足了該類需求[7]。
分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)可以利用分布式系統(tǒng)自治性、并行性和全局性的優(yōu)勢,將飛行器測控數(shù)據(jù)實時解析系統(tǒng)分為數(shù)據(jù)服務層、任務管理層、實時解析層和應用層,如圖1 所示。
圖1 分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)架構圖Fig.1 Architecture diagram of distributed aero vehicles'telemetry and control data real-time analysis
數(shù)據(jù)服務層由多臺服務器組成,主要為系統(tǒng)提供飛行器測控原始數(shù)據(jù)的采集和存儲服務。數(shù)據(jù)源碼通常通過網(wǎng)絡由TCP 或UDP 協(xié)議傳輸?shù)綌?shù)據(jù)服務中心集群,數(shù)據(jù)服務中心集群針對不同數(shù)據(jù)采取不同的存儲方式。通常數(shù)據(jù)采集根據(jù)試驗數(shù)據(jù)鏈路區(qū)分,數(shù)據(jù)存儲方式根據(jù)試驗數(shù)據(jù)類型區(qū)分。
(1)數(shù)據(jù)采集
試驗中產(chǎn)生的數(shù)據(jù)可能來自不同的數(shù)據(jù)鏈路,如天基、地基等,針對每一條數(shù)據(jù)鏈路,可以使用一臺或多臺服務器來執(zhí)行數(shù)據(jù)采集工作。
(2)數(shù)據(jù)存儲
試驗中產(chǎn)生數(shù)據(jù)的類型以關系型數(shù)據(jù)和非關系型數(shù)據(jù)為主。對于關系型數(shù)據(jù),通常使用數(shù)據(jù)庫進行存儲,如Oracle、SQL Server 等;對于非關系型數(shù)據(jù),通常以本地文件的形式存儲。對于試驗中存在大量復雜數(shù)據(jù)類型的情況,可以根據(jù)不同的數(shù)據(jù)類型,分別用不同的服務器進行存儲,以保證數(shù)據(jù)的完整性和存儲效率。
在數(shù)據(jù)服務層收到原始數(shù)據(jù)后,任務管理層負責管理原始數(shù)據(jù)的解析任務,主要實現(xiàn)解析策略執(zhí)行、解析任務派發(fā)和解析狀態(tài)監(jiān)測等功能。
(1)解析策略執(zhí)行
解析策略由試驗人員事先編輯,策略包括數(shù)據(jù)篩選、解析規(guī)則、優(yōu)先級設定、重復數(shù)據(jù)甄別等。系統(tǒng)先將所有已存儲的數(shù)據(jù)進行分析,篩選出滿足解析策略的待解析數(shù)據(jù),并按照優(yōu)先級將數(shù)據(jù)地址加入解析等待隊列,等待解析任務的派發(fā)。
(2)解析任務派發(fā)
基于解析等待隊列中數(shù)據(jù)文件、數(shù)據(jù)流等不同的數(shù)據(jù)類型,數(shù)據(jù)解析任務可以分為多種不同的工作模式。
根據(jù)數(shù)據(jù)類型解析,即對數(shù)據(jù)流類型、圖片類型和視頻類型等多種數(shù)據(jù)類型進行針對性解析,每種數(shù)據(jù)類型可以有專門的解析集群來完成解析工作,解析任務按照數(shù)據(jù)類型進行派發(fā)。
根據(jù)數(shù)據(jù)源解析,即針對不同的數(shù)據(jù)源,都有專門的解析集群負責該數(shù)據(jù)源下所有數(shù)據(jù)類型的解析工作,解析任務按照數(shù)據(jù)源進行派發(fā)。
根據(jù)數(shù)據(jù)所屬分系統(tǒng)解析,即針對每一個分系統(tǒng),都有專門的解析集群負責該分系統(tǒng)下所有類型數(shù)據(jù)的解析工作,解析任務按照數(shù)據(jù)所屬分系統(tǒng)進行派發(fā)。
(3)解析狀態(tài)監(jiān)測
解析狀態(tài)監(jiān)測分為數(shù)據(jù)狀態(tài)監(jiān)測和解析服務器狀態(tài)監(jiān)測。數(shù)據(jù)狀態(tài)一般為未解析、解析中和解析完成三個狀態(tài);解析服務器狀態(tài)一般為空閑、一般和繁忙。數(shù)據(jù)狀態(tài)和解析服務器狀態(tài)的監(jiān)測,有助于解析任務的制定和派發(fā),可以更合理地利用資源。
實時解析層主要負責解析任務管理層派發(fā)的數(shù)據(jù)解析任務。實時解析層是由多臺解析服務器組成的數(shù)據(jù)解析服務器集群,可以根據(jù)數(shù)據(jù)類型、數(shù)據(jù)來源、數(shù)據(jù)所屬分系統(tǒng)等多個維度分類解析派發(fā)任務中的數(shù)據(jù)。解析結果也會根據(jù)不同的數(shù)據(jù)類型,存于本地文件和數(shù)據(jù)庫或轉發(fā)至應用層。
數(shù)據(jù)解析一般按數(shù)據(jù)包進行,飛行器下傳數(shù)據(jù)包有很多種,按采集來源可以分為平臺采集的數(shù)據(jù)包、載荷采集的工程數(shù)據(jù)包和載荷采集的科學數(shù)據(jù)包[8]。數(shù)據(jù)解析協(xié)議,事先由設計人員編輯,然后保存成系統(tǒng)可讀的格式。
在實時解析層完成數(shù)據(jù)解析后,解析結果會發(fā)往應用層。應用層將數(shù)據(jù)解析結果展示給試驗人員,供試驗人員完成操作、處理、分析、判讀等工作。應用層應具備數(shù)據(jù)解析結果的實時顯示,實時數(shù)據(jù)曲線繪制,實時圖像畫面顯示,實時數(shù)據(jù)判讀等功能。在未來基于大數(shù)據(jù)的飛行器數(shù)據(jù)判讀系統(tǒng)中,應用層還應具備可接入大數(shù)據(jù)分析和數(shù)據(jù)挖掘等擴展功能。
根據(jù)分布式結構的飛行器測控數(shù)據(jù)實時解析系統(tǒng)架構探究,分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)也按照分層式設計,包括數(shù)據(jù)服務層、任務管理層、實時解析層和應用層,如圖2 所示。
圖2 分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)設計圖Fig.2 Design diagram of distributed aero vehicles' telemetry and control data real-time analysis system
在采集和存儲試驗數(shù)據(jù)源碼時,數(shù)據(jù)按照不同鏈路來源進行區(qū)分,為每一條鏈路架設不少于一臺(通常主備兩臺冗余)服務器進行采集和存儲,以確保數(shù)據(jù)的完整性。同時為解析后的數(shù)據(jù)架設一臺服務器,負責數(shù)據(jù)的存儲和數(shù)據(jù)入庫等工作。
架設一臺任務管理服務器,負責執(zhí)行解析策略和解析任務的派發(fā)等工作。任務管理服務器將會按照解析策略對采集的數(shù)據(jù)進行篩選和優(yōu)先級排序,按照數(shù)據(jù)所屬分系統(tǒng)的形式給每個分系統(tǒng)創(chuàng)建待解析隊列,當隊列中存在待解析文件時,系統(tǒng)會自動將解析任務派發(fā)給狀態(tài)為空閑或一般的解析服務器。
實時解析集群具備同時按照不同數(shù)據(jù)類型和數(shù)據(jù)所屬分系統(tǒng)區(qū)分解析的能力。對音頻、視頻、圖像等數(shù)據(jù)分配多臺解析服務器,組成多媒體解析集群,進行特殊解碼處理;對每個分系統(tǒng)分配多臺解析服務器組成分系統(tǒng)解析集群,對各分系統(tǒng)源碼類型數(shù)據(jù)進行實時解析。
應用層實現(xiàn)解析后數(shù)據(jù)的實時顯示功能,具備數(shù)值顯示、狀態(tài)顯示、曲線顯示和視頻顯示的功能,同時還具備對全部試驗數(shù)據(jù)的判讀功能。
在某次模擬試驗中,同時使用傳統(tǒng)飛行器測控數(shù)據(jù)解析系統(tǒng)的事后解析和實時解析與分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)進行對比。在試驗過程中,收到來自多路數(shù)據(jù)源下發(fā)的測控數(shù)據(jù),共計1 982 616包,其中,遙測數(shù)據(jù)415 771 包,數(shù)傳數(shù)據(jù)1 566 845 包。表1 為傳統(tǒng)飛行器測控數(shù)據(jù)解析系統(tǒng)的事后解析和實時解析以及分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)的數(shù)據(jù)完整度詳情和等待時間。
表1 飛行器測控數(shù)據(jù)解析系統(tǒng)試驗數(shù)據(jù)詳情表Tab.1 Detail table of aero vehicles' telemetry and control data analysis system analyzed test data
經(jīng)對比可見,傳統(tǒng)飛行器測控數(shù)據(jù)解析系統(tǒng)的事后解析數(shù)據(jù)完整度較高,可以滿足丟包率小于萬分之五的試驗要求,但等待時間過長,影響數(shù)據(jù)判讀效率;傳統(tǒng)飛行器測控數(shù)據(jù)解析系統(tǒng)的實時解析等待時間較短,但丟包率高,無法滿足試驗要求;分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng)在滿足丟包率要求的前提下,可以高效運行,等待時間不超過15 s,更好地支撐了試驗的完成。在試驗過程中,試驗人員可以在應用軟件中查看實時數(shù)據(jù)曲線、數(shù)值和參數(shù)狀態(tài)等(包括視頻圖像),可以對數(shù)據(jù)進行實時判讀;試驗結束后,所有試驗數(shù)據(jù)解析完畢。
通過使用分布式飛行器數(shù)據(jù)實時解析系統(tǒng),在保證數(shù)據(jù)解析實時性的同時,更好地保證了數(shù)據(jù)的完整度,可以輔助試驗人員對試驗過程產(chǎn)生的數(shù)據(jù)進行準確、快速地判讀,大幅提高了判讀工作的效率和準確率。
數(shù)據(jù)解析系統(tǒng)是飛行器數(shù)據(jù)產(chǎn)品生產(chǎn)中最先進行的一環(huán)[9],經(jīng)過對數(shù)據(jù)解析系統(tǒng)層次及架構分析,基于“分散控制、集中管理”的分布式結構方案,設計了一種基于分布式飛行器測控數(shù)據(jù)實時解析系統(tǒng),充分體現(xiàn)了系統(tǒng)的可靠性、實時性、靈活性及可擴展性等優(yōu)勢[10],大幅提高試驗數(shù)據(jù)判讀的工作效率,對飛行器試驗和飛行器發(fā)射等工作的快速判讀和快速決策提供技術保障。基于分布式飛行器測控數(shù)據(jù)的實時解析系統(tǒng)是未來航天發(fā)展的趨勢,也為未來相關領域研究提供參考。