摘要:隨著互聯(lián)網(wǎng)和信息技術(shù)的深入發(fā)展,新型數(shù)據(jù)——流數(shù)據(jù),開始廣泛應(yīng)用在無線通信網(wǎng)絡(luò)、傳感器網(wǎng)絡(luò)、金融股票交易等領(lǐng)域。流數(shù)據(jù)與傳統(tǒng)數(shù)據(jù)集有所不同,其特點是數(shù)據(jù)規(guī)模龐大、具有時序性、變化速度快等特點。傳統(tǒng)的大數(shù)據(jù)批量計算模型已經(jīng)無法滿足流數(shù)據(jù)處理的實時性要求。在航天測控中心系統(tǒng)中的大量測量數(shù)據(jù)由測控設(shè)備解碼,生成原始數(shù)據(jù)并發(fā)送到測控中心。這些帶有時間戳的原始數(shù)據(jù)、處理數(shù)據(jù)、處理結(jié)果以及程序狀態(tài)信息形成了時序大數(shù)據(jù)。本文分析了時序大數(shù)據(jù)流式計算處理在航天測控中心系統(tǒng)中的應(yīng)用。
關(guān)鍵詞:航天測控中心;時序大數(shù)據(jù);流式計算
在航天工程中,航空航天測控系統(tǒng)扮演著至關(guān)重要的角色。測控中心系統(tǒng)建立了地球與航天器之間的通信鏈路,實現(xiàn)了航天器的多項功能,包括數(shù)據(jù)傳輸、觀測、遙測、遠程控制等[1]。航天器獲取的測量數(shù)據(jù)經(jīng)過收集后,需要經(jīng)過航天測控中心系統(tǒng)進行處理。監(jiān)測數(shù)據(jù)通常包括軌道數(shù)據(jù)、中繼反向鏈路數(shù)據(jù)、測站外測數(shù)據(jù),以及各種遙測信息如電壓、溫度等。
時序大數(shù)據(jù)是批量大數(shù)據(jù)和流式數(shù)據(jù)的結(jié)合體。對于需要實時處理的數(shù)據(jù),時序數(shù)據(jù)起著關(guān)鍵作用,時間概念是驅(qū)動數(shù)據(jù)處理的核心。為此,航天測控系統(tǒng)需要進行在線分析和計算,并作出實時智能決策。面對大量高速流式數(shù)據(jù),系統(tǒng)必須解決高完整性和高實時可靠性的挑戰(zhàn)。消息隊列系統(tǒng)如Message、Kafka、RocketMQ、RabbitMQ等被廣泛應(yīng)用于航天工程數(shù)據(jù)的處理,以確保系統(tǒng)的高效運行。
本文提出了利用流式計算技術(shù)來實現(xiàn)航天測控中心系統(tǒng),借助Kafka消息通信機制確保系統(tǒng)運行效率。在處理大量高速流動的數(shù)據(jù)時,這種技術(shù)能夠有效減輕服務(wù)器的實時操作壓力,降低資源消耗,防止數(shù)據(jù)丟失,從而避免潛在的不良后果的出現(xiàn)。
一、流數(shù)據(jù)及其計算技術(shù)
流數(shù)據(jù)是指按時間順序動態(tài)且無限增長的數(shù)據(jù)序列,通常不受人為破壞的影響。流數(shù)據(jù)屬性可以概括為:1.流數(shù)據(jù)包含巨大的數(shù)據(jù)量,具有無限屬性。由于流數(shù)據(jù)產(chǎn)生的大量數(shù)據(jù),存儲所有這些數(shù)據(jù)所需的空間是無限的。2.流數(shù)據(jù)往往具有高速傳輸?shù)奶攸c,例如監(jiān)控互聯(lián)網(wǎng)流量、股票交易數(shù)據(jù)等。數(shù)據(jù)傳輸速度非??臁?.流數(shù)據(jù)具有時序性的特征,只能通過單次遍歷方式訪問數(shù)據(jù)元素。數(shù)據(jù)元素只能按時間順序讀取,無法隨機訪問流中的數(shù)據(jù)。4.數(shù)據(jù)流通常是高維的,不是由最初生成的數(shù)據(jù)集組成,而是在數(shù)據(jù)創(chuàng)建后已經(jīng)達到高維標(biāo)準(zhǔn)。5.流數(shù)據(jù)是不可再現(xiàn)的、持續(xù)變化的。流數(shù)據(jù)不保持不變,可能在不同時間點呈現(xiàn)不同的情況。大多數(shù)流數(shù)據(jù)在處理后被丟棄,除非有意存儲,否則無法再次提取或處理。
在處理時序大數(shù)據(jù)時,Hadoop技術(shù)是一種用于分布式批處理的軟件解決方案。Hadoop結(jié)合了HDFS(Hadoop分布式文件系統(tǒng))和MapReduce框架,專門用于執(zhí)行批處理計算任務(wù)。與流計算不同,Hadoop技術(shù)是針對在存儲介質(zhì)上的數(shù)據(jù)集進行批量計算處理。Hadoop技術(shù)在處理生成的數(shù)據(jù)集時非常有效,但流計算則是針對內(nèi)存中的數(shù)據(jù)流進行實時計算[2]。由于Hadoop技術(shù)具有高性能、低延遲、連續(xù)操作和強實時性等優(yōu)勢,它在大數(shù)據(jù)處理領(lǐng)域得到了廣泛應(yīng)用。
二、流式計算在航天測控中心中的應(yīng)用
(一)處理流程
航天測控中心系統(tǒng)在處理遙感數(shù)據(jù)時需要執(zhí)行一系列復(fù)雜的流程,這些流程包括數(shù)據(jù)點選擇、降頻、數(shù)據(jù)分發(fā)、處理、存儲以及數(shù)據(jù)優(yōu)化等步驟。這些流程對系統(tǒng)的可用性要求非常高。遙感數(shù)據(jù)包括距離測量、遙測、速度測量和角度測量等信息,這些數(shù)據(jù)通過航天器利用無線電波發(fā)送到遙測設(shè)備或地面接收站。
在航天測控中心系統(tǒng)中,對外通信子系統(tǒng)會收到簡單數(shù)據(jù)清洗后的數(shù)據(jù)流,并將其發(fā)送到實時處理子系統(tǒng)進行處理。成功接收后,實時處理子系統(tǒng)會對數(shù)據(jù)進行處理。數(shù)據(jù)交換軟件通過多媒體網(wǎng)絡(luò)向測控中心系統(tǒng)的外部通信子系統(tǒng)發(fā)送數(shù)據(jù)。
除了處理傳統(tǒng)業(yè)務(wù)數(shù)據(jù)外,航天測控中心系統(tǒng)還通過實時處理子系統(tǒng)中的智能分析模塊,來實現(xiàn)內(nèi)部消息監(jiān)測和網(wǎng)絡(luò)IP包分析等功能,從而實現(xiàn)對系統(tǒng)狀態(tài)的實時監(jiān)測。這些功能包括監(jiān)測數(shù)據(jù)采集、實時處理、原始數(shù)據(jù)、數(shù)據(jù)建模、實時特征指標(biāo)分析等,幫助系統(tǒng)實現(xiàn)更高效的數(shù)據(jù)處理和監(jiān)測功能。
(二)模型設(shè)計
該模型由一個環(huán)狀結(jié)構(gòu)組成,其中包括“多維數(shù)據(jù)集”內(nèi)存數(shù)據(jù)存儲單元。多為數(shù)據(jù)集作為內(nèi)存中的快速存儲空間,主要負責(zé)儲存高速時序數(shù)據(jù)流。多維數(shù)據(jù)集的工作狀態(tài)分為包括數(shù)據(jù)填充、閑置等待、等待寫入和數(shù)據(jù)寫入。每種狀態(tài)都是獨立存在的,不會同時發(fā)生。
1.數(shù)據(jù)填充:該狀態(tài)下,上層請求會被傳送到多維數(shù)據(jù)集,數(shù)據(jù)會以追加方式寫入。當(dāng)達到預(yù)定的加載閾值時,數(shù)據(jù)填充狀態(tài)會轉(zhuǎn)變?yōu)閽炱鸬膶懭霠顟B(tài),此時可以選擇另一個未活動的多維數(shù)據(jù)集繼續(xù)填充數(shù)據(jù)。數(shù)據(jù)填充失敗時會返回錯誤信息。
2.閑置等待:該狀態(tài)下,多維數(shù)據(jù)集內(nèi)無數(shù)據(jù),是初始狀態(tài)。
3.等待寫入:此狀態(tài)表示數(shù)據(jù)已經(jīng)到達多維數(shù)據(jù)集,等待分配到相應(yīng)的存儲節(jié)點進行持久化。數(shù)據(jù)被發(fā)送到指定的存儲節(jié)點并排隊等待寫入操作。
4.數(shù)據(jù)寫入:該狀態(tài)下,存儲節(jié)點將數(shù)據(jù)寫入多維數(shù)據(jù)集。當(dāng)所有數(shù)據(jù)都存儲完畢時,多維數(shù)據(jù)集將變?yōu)榉腔顒訝顟B(tài)。每個存儲節(jié)點可能有多個存儲多維數(shù)據(jù)集,但每個存儲節(jié)點僅有一個存儲多維數(shù)據(jù)集。
多維數(shù)據(jù)集的狀態(tài)會隨著數(shù)據(jù)的變化而變化,形成閉環(huán)。為避免寫入操作被阻塞,系統(tǒng)中必須至少有一個活動的多維數(shù)據(jù)集。根據(jù)數(shù)據(jù)流量調(diào)整多維數(shù)據(jù)集的數(shù)量可以避免寫入操作的暫停。參數(shù)設(shè)置可以通過兩種方法實現(xiàn):根據(jù)數(shù)據(jù)流統(tǒng)計結(jié)果設(shè)置多維數(shù)據(jù)集的數(shù)量,或者使用機器學(xué)習(xí)模型訓(xùn)練歷史數(shù)據(jù)來預(yù)測最佳數(shù)量。本文采用計算機預(yù)置桶計數(shù)的方法。在未來的工作中,可以考慮使用基于學(xué)習(xí)的方法來調(diào)整參數(shù)調(diào)優(yōu)方法。
(三)系統(tǒng)架構(gòu)
整個系統(tǒng)的體系結(jié)構(gòu)分為五個部分:1.數(shù)據(jù)流生成模塊:負責(zé)生成穩(wěn)定負載流。采用了Wisckey的鍵值分離思想,該模塊可以直接替換成數(shù)據(jù)發(fā)送模塊。2.存儲節(jié)點:負責(zé)對多維數(shù)據(jù)集中的數(shù)據(jù)進行持久化,并在持久化完成后將多維數(shù)據(jù)集轉(zhuǎn)為睡眠狀態(tài)。用戶可以根據(jù)實際需求或數(shù)據(jù)類型選擇不同的存儲模塊。3.多維數(shù)據(jù)集分配模塊:根據(jù)用戶的分離策略,將適合存儲的多維數(shù)據(jù)集分配到相應(yīng)的底層存儲節(jié)點中。4.多維數(shù)據(jù)集填充模塊:負責(zé)填充多維數(shù)據(jù)集的數(shù)據(jù)流。在單個多維數(shù)據(jù)集存儲方案中,確保數(shù)據(jù)集處于完整數(shù)據(jù)狀態(tài)。當(dāng)數(shù)據(jù)量達到一定范圍后,填充模塊會將數(shù)據(jù)集狀態(tài)更改為等待寫入,并選擇一個空的多維數(shù)據(jù)集來進行數(shù)據(jù)填充。5.系統(tǒng)監(jiān)控模塊:實時監(jiān)控系統(tǒng)的運行情況,對每個節(jié)點的數(shù)據(jù)進行詳細分析。當(dāng)系統(tǒng)負載過高時,用戶可通過該模塊動態(tài)增加底層存儲節(jié)點,從而有效降低寫入壓力。
三、關(guān)鍵技術(shù)
(一)多源時序數(shù)據(jù)的實時關(guān)聯(lián)計算
實時關(guān)聯(lián)計是指在時間序列數(shù)據(jù)中實時分析、合成信息,并根據(jù)給定的公式補充必要的決策和估計數(shù)據(jù)進行信息處理的過程。同時,實時關(guān)聯(lián)計算也被稱為多源關(guān)聯(lián)、多源融合或數(shù)據(jù)融合,因為它能夠整合不同類型的信息。在有限的存儲條件下,多源時序數(shù)據(jù)的實時關(guān)聯(lián)計算實現(xiàn)了大時差時序數(shù)據(jù)流的無回溯關(guān)聯(lián)計算。
(二)時間滑動窗口動態(tài)數(shù)據(jù)計算
測控中心系統(tǒng)在處理數(shù)據(jù)查詢請求時,若需要多個時間窗口的協(xié)助,每個查詢請求都需要重新計算結(jié)果,這可能會嚴重影響系統(tǒng)性能。因此,系統(tǒng)亟需一種能夠支持多個時間窗口(從秒到幾十年)和多種窗口漂移方法(數(shù)據(jù)驅(qū)動和系統(tǒng)時鐘驅(qū)動)的實時動態(tài)計算方法。這種方法應(yīng)能快速響應(yīng)查詢需求,并在多個層次上執(zhí)行復(fù)雜查詢。時間窗口需要支持基于彈性時間窗口的靈活查詢,并且能夠進行動態(tài)精度管理?;瑒哟翱谶^程的原理如圖1所示。
(三)復(fù)雜統(tǒng)計指標(biāo)的實時增量計算
在大數(shù)據(jù)分析中,統(tǒng)計指標(biāo)如均值和方差等非常重要。計算統(tǒng)計指標(biāo)可以采用不同方法,包括靜態(tài)數(shù)據(jù)檢索、簡單算法和復(fù)雜算法。通過合并查詢結(jié)果來實現(xiàn)諸如計數(shù)、平均值、求和等指標(biāo)。然而,一些復(fù)雜指標(biāo)如標(biāo)準(zhǔn)差、可變性和熵等可能難以直接計算。此外,在進行復(fù)雜指標(biāo)的查詢時,特別是涉及熱點數(shù)據(jù)維度和長周期時間窗口時,重新計算會增加計算成本。
為了解決這些問題,復(fù)雜算子增量計算方法以多項式拆解為基礎(chǔ),實現(xiàn)了對協(xié)方差、方差、K階中心矩等多種復(fù)雜算子在高密度、長尺度、長周期時間窗口內(nèi)的實時計算[3]。
四、實驗測試與結(jié)果分析
(一)實驗方法
本次實驗共選取了十臺服務(wù)器節(jié)點,其中包括4臺配備有10核 Intel (R) Xeon (R) E5-2690 處理器的服務(wù)器。這些服務(wù)器都搭載了操作系統(tǒng)Neokylin 3 2.2,擁有64GB內(nèi)存、900GB SATA驅(qū)動器和主頻為3.0GHz的配置。實驗旨在對服務(wù)器性能和數(shù)據(jù)完整性進行驗證。本實驗主要研究數(shù)據(jù)流量統(tǒng)計、異常數(shù)據(jù)分析等實驗對象。
(二)實驗結(jié)果
1.數(shù)據(jù)流量統(tǒng)計
對所有統(tǒng)計信息進行測試。首先加載單個任務(wù)的數(shù)據(jù)量參數(shù),然后對任務(wù)核心數(shù)據(jù)進行流量統(tǒng)計,并將統(tǒng)計結(jié)果與核心交換機的數(shù)據(jù)進行比較。經(jīng)過比較,發(fā)現(xiàn)測試數(shù)據(jù)之間沒有較大差異。接著,針對顯示、自動和系統(tǒng)狀態(tài)這三種數(shù)據(jù)類型進行流量統(tǒng)計。在本次實驗中,需要10臺服務(wù)器的網(wǎng)卡單向發(fā)送包含這三種類型任務(wù)數(shù)據(jù) 的IP 包,每秒共發(fā)送19615個數(shù)據(jù)包。
2.異常數(shù)據(jù)分析
通過分析1MS數(shù)據(jù)行的時間滑動窗口,發(fā)現(xiàn)數(shù)據(jù)量在45秒時達到峰值。使用智能分析軟件進一步分析,發(fā)現(xiàn)除了在50MS階段出現(xiàn)大量數(shù)據(jù)外,其余時間的數(shù)據(jù)量相對較低。。數(shù)據(jù)行航時以整數(shù)秒為單位發(fā)送,與一些數(shù)據(jù)處理和傳輸過程相關(guān)的航時也存在。當(dāng)程序發(fā)出警報時,需要修復(fù)錯誤。圖2顯示了三種類型的數(shù)據(jù):系統(tǒng)狀態(tài)數(shù)據(jù)、顯示數(shù)據(jù)和自動化數(shù)據(jù),其中占比最大的是系統(tǒng)狀態(tài)數(shù)據(jù)包數(shù)據(jù)量。從智能分析模型中發(fā)出警告后,需要修復(fù)錯誤。在校準(zhǔn)故障前和修復(fù)后分別統(tǒng)計樣本數(shù)據(jù)1、2的數(shù)據(jù)包監(jiān)測結(jié)果,結(jié)果見下圖3所示。
五、結(jié)束語
綜上所述,Kafka以其高性能、低延遲和開源的特點在各領(lǐng)域的大型數(shù)據(jù)中心得到了廣泛應(yīng)用。將零拷貝機制應(yīng)用在消息隊列系統(tǒng)中,顯著提升了航天測控中心系統(tǒng)的數(shù)據(jù)發(fā)送和接收性能,同時提高了數(shù)據(jù)抵抗能力。因此,Kafka可以被認為是近年來航天測控系統(tǒng)中消息通信機制的替代方案。
作者單位:陳曉峰 成亞勇 中國電子科技集團公司第五十四研究所
參考文獻
[1] 陳純.時序大數(shù)據(jù)實時智能處理技術(shù)及網(wǎng)絡(luò)安全應(yīng)用[J].中國信息安全,2021(z1):51.
[2] 符葉丹,張方圓,黨琪,等.時序大數(shù)據(jù)流式計算處理在航天測控中心系統(tǒng)的應(yīng)用[J].電訊技術(shù),2023,63(5):638-642.
[3] 涂永勝,馬高峰,龐為興.淺析大數(shù)據(jù)技術(shù)在海量監(jiān)測數(shù)據(jù)回放中的應(yīng)用[J]. 中國無線電,2021(1):64-67.