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