• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      氣象數(shù)據(jù)分區(qū)處理算法與策略研究

      2023-08-15 02:02:20文立恒朱宏武
      關(guān)鍵詞:數(shù)據(jù)處理分區(qū)氣象

      馮 冼,方 昆,文立恒,朱宏武

      (1.湖南省氣象信息中心,湖南 長(zhǎng)沙 410118;2.氣象防災(zāi)減災(zāi)湖南省重點(diǎn)實(shí)驗(yàn)室,湖南 長(zhǎng)沙 410118)

      0 引 言

      氣象現(xiàn)代化和信息化不斷推進(jìn),業(yè)務(wù)服務(wù)不斷拓展,各類(lèi)氣象數(shù)據(jù)海量增長(zhǎng)[1]。以湖南為例,目前各類(lèi)觀測(cè)系統(tǒng)、CMACast和行業(yè)匯集的數(shù)據(jù)達(dá)400 GB/日。尤其是建設(shè)湖南省高分衛(wèi)星氣象應(yīng)用中心后,增加了高分遙感衛(wèi)星資料,日處理數(shù)據(jù)量達(dá)TB級(jí)。如何進(jìn)行海量氣象數(shù)據(jù)高速處理,為氣象預(yù)報(bào)預(yù)警、防災(zāi)減災(zāi)提供更及時(shí)、更高效的數(shù)據(jù)服務(wù),其作用至關(guān)重要[2]。

      近年來(lái)信息技術(shù)不斷發(fā)展,出現(xiàn)了Hadoop、HDFS、MapReduce等技術(shù)支撐海量數(shù)據(jù)處理,在氣象和其他行業(yè)普遍應(yīng)用[3-5],但由于Hadoop基于文件批處理設(shè)計(jì)、MapReduce基于批處理模型編程,普遍存在響應(yīng)不及時(shí)、處理延遲大等情況。為解決上述問(wèn)題,信息行業(yè)提出了Storm分布式架構(gòu)[6]以及Spring Cloud云架構(gòu)[7]增強(qiáng)實(shí)時(shí)數(shù)據(jù)處理能力,采用Apache Kafka[8]作為流式數(shù)據(jù)處理消息中間件,剝離數(shù)據(jù)流程中的發(fā)送、處理、輸出環(huán)節(jié),因具備擴(kuò)展能力強(qiáng)的特性在氣象和各行業(yè)廣泛應(yīng)用[9-10]。

      但隨著數(shù)據(jù)挖掘與分析應(yīng)用的不斷深入,Kafka消息并發(fā)能力和數(shù)據(jù)吞吐性能有待進(jìn)一步優(yōu)化的問(wèn)題也逐漸表露出來(lái),眾多學(xué)者也開(kāi)展了改進(jìn)Kafka性能的相關(guān)研究。Bunrong Leang等提出在大數(shù)據(jù)環(huán)境下基于分區(qū)和多線(xiàn)程的流媒體改進(jìn)方法以提升Kafka性能[11],顏曉蓮等提出一種改進(jìn)型Kafka Partition過(guò)載優(yōu)化算法緩解Partition過(guò)載問(wèn)題[12],為解決氣象數(shù)據(jù)在Kafka中高效處理提供了借鑒。

      為解決在有限基礎(chǔ)資源支撐下提升氣象數(shù)據(jù)并發(fā)處理性能的技術(shù)難點(diǎn),該文提出了一種氣象數(shù)據(jù)在流轉(zhuǎn)和處理時(shí)所需耗費(fèi)的基礎(chǔ)資源綜合權(quán)重計(jì)算方法,以及基于氣象數(shù)據(jù)綜合權(quán)重在Kafka中分區(qū)處理的最優(yōu)策略,極大提升了氣象數(shù)據(jù)并發(fā)處理效率。

      1 算法設(shè)計(jì)

      1.1 氣象數(shù)據(jù)綜合權(quán)重計(jì)算思路

      權(quán)重計(jì)算法是一種常見(jiàn)的評(píng)價(jià)分析方法,在數(shù)據(jù)處理中得到廣泛應(yīng)用[13-14]。在數(shù)據(jù)權(quán)重評(píng)價(jià)體系中,某一個(gè)權(quán)重的大小不僅取決于單位數(shù)值(或變量)大小,也取決于單位數(shù)值在一定時(shí)間的出現(xiàn)次數(shù)(即為頻率),因此也統(tǒng)稱(chēng)為權(quán)數(shù)[15]。

      常用的權(quán)重計(jì)算法包括主觀賦權(quán)法、客觀賦權(quán)法等類(lèi)型。主觀賦權(quán)法主要通過(guò)專(zhuān)家和決策者意愿或經(jīng)驗(yàn)確定指標(biāo)權(quán)值,其不足在于過(guò)分依賴(lài)專(zhuān)家意見(jiàn)。而客觀賦權(quán)法則通過(guò)數(shù)據(jù)相互之間的關(guān)聯(lián)性計(jì)算分類(lèi)權(quán)重,其數(shù)學(xué)理論依據(jù)較強(qiáng),應(yīng)用也較為廣泛。

      該文采用客觀賦權(quán)法中的熵權(quán)法[16](Entropy Weight Method,EWM)對(duì)氣象數(shù)據(jù)集中各類(lèi)數(shù)據(jù)特征指標(biāo)進(jìn)行綜合計(jì)算,依據(jù)計(jì)算得出的信息熵確定其綜合權(quán)重,即為氣象信息系統(tǒng)處理某類(lèi)氣象數(shù)據(jù)所需占用系統(tǒng)資源的相對(duì)比例。某類(lèi)氣象數(shù)據(jù)權(quán)重值越高,處理時(shí)需占用的系統(tǒng)資源越多,則越容易對(duì)處理系統(tǒng)的性能造成較大的影響。

      1.2 優(yōu)化Kafka并發(fā)處理性能的思路

      近年來(lái)隨著大數(shù)據(jù)挖掘分析的廣泛應(yīng)用,基于MQ的傳統(tǒng)消息模式難以滿(mǎn)足海量數(shù)據(jù)實(shí)時(shí)傳輸處理需求,而流式消息處理中間件Kafka較好地適應(yīng)了這種需求[17],氣象大數(shù)據(jù)云平臺(tái)[18]、氣象綜合業(yè)務(wù)監(jiān)控系統(tǒng)[19]以及湖南高分衛(wèi)星多源數(shù)據(jù)獲取管理平臺(tái)均采用Kafka作為消息中間件。

      Kafka處理集群中包含Producer(消息生產(chǎn)者)、Broker(處理節(jié)點(diǎn))、Consumer(消息消費(fèi)者)等核心組件。其數(shù)據(jù)處理流程如圖1所示。

      圖1 Kafka數(shù)據(jù)處理流程

      一個(gè)Kafka集群可以設(shè)計(jì)多個(gè)Broker服務(wù),每一個(gè)Producer以Thread(線(xiàn)程)方式通過(guò)PUSH方法將消息發(fā)送至相應(yīng)的Broker。每一個(gè)Broker中又可分為多個(gè)Topic(消息主題),分組對(duì)消息進(jìn)行管理。而Partition(消息分區(qū))則是Topic的物理組成,各類(lèi)消息順序?qū)懭胍粋€(gè)或多個(gè)Partition中,通過(guò)一個(gè)或多個(gè)Consumer組成ConsumerGroup(消費(fèi)者群組)以PULL方式順序讀取消息,從而達(dá)到讀寫(xiě)速度O(1)的高性能。

      從Kafka數(shù)據(jù)處理流程分析,可以通過(guò)以下方法提升氣象數(shù)據(jù)并發(fā)處理性能:一是將氣象數(shù)據(jù)按科學(xué)方法進(jìn)行分區(qū),利用Kafka多Partition的方式提升并發(fā)處理性能;二是設(shè)計(jì)氣象數(shù)據(jù)在Kafka生產(chǎn)端的Producer實(shí)例池,通過(guò)多Thread并發(fā)的方式提升消息寫(xiě)入性能;三是按業(yè)務(wù)需求將氣象數(shù)據(jù)服務(wù)端多個(gè)Consumer組合成Group,通過(guò)多Thread并發(fā)方式提升消息讀取性能。

      1.3 氣象數(shù)據(jù)分區(qū)處理算法設(shè)計(jì)

      依據(jù)上述氣象數(shù)據(jù)綜合權(quán)重計(jì)算和優(yōu)化Kafka并發(fā)處理性能的思路,設(shè)計(jì)氣象數(shù)據(jù)權(quán)重算法和分區(qū)策略,流程如圖2所示。

      圖2 并發(fā)處理算法流程

      首先選取具有代表性的氣象數(shù)據(jù)集,提取對(duì)氣象數(shù)據(jù)處理所耗費(fèi)基礎(chǔ)資源相關(guān)性較大的關(guān)鍵特征,采用熵權(quán)法進(jìn)行綜合權(quán)重計(jì)算。再以氣象數(shù)據(jù)關(guān)鍵特征綜合權(quán)重為分區(qū)處理依據(jù),分別在Kafka中設(shè)計(jì)相應(yīng)的Topic、Partition進(jìn)行分區(qū)處理,并采用多Thread方式并行處理,提升氣象數(shù)據(jù)處理效率。

      2 氣象數(shù)據(jù)綜合權(quán)重計(jì)算

      2.1 選取數(shù)據(jù)集

      從湖南氣候特征分析,每年5月下旬至7月上旬為汛期關(guān)鍵時(shí)期[20],因此選取湖南省內(nèi)2020年6月1日至6月30日的氣象數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集,涵蓋天氣晴朗、陰雨、暴雨等復(fù)雜天氣過(guò)程。在數(shù)據(jù)服務(wù)需求方面考慮,選取氣象數(shù)據(jù)處理系統(tǒng)中最具代表性,在氣象預(yù)報(bào)預(yù)警和防災(zāi)減災(zāi)中應(yīng)用廣泛、時(shí)效性要求高的數(shù)據(jù),包括:國(guó)家站觀測(cè)數(shù)據(jù)、區(qū)域站觀測(cè)數(shù)據(jù)、雷達(dá)基數(shù)據(jù)、雷達(dá)PUP產(chǎn)品、衛(wèi)星云圖數(shù)據(jù)等,詳情如表1所示。

      表1 氣象數(shù)據(jù)集詳情

      氣象數(shù)據(jù)集中,國(guó)家站數(shù)據(jù)為BUFR格式傳輸落地所生成的二進(jìn)制文件(BIN),包括氣溫、風(fēng)向、風(fēng)速、降水等觀測(cè)要素,傳輸間隔1分鐘;區(qū)域站數(shù)據(jù)為中心站生成的文本數(shù)據(jù)(TXT),包括二要素、四要素、六要素等不同類(lèi)型站點(diǎn),傳輸間隔5分鐘;雷達(dá)基數(shù)據(jù)為湖南省內(nèi)11部多普勒天氣雷達(dá)標(biāo)準(zhǔn)格式數(shù)據(jù)(BZ2),傳輸間隔6分鐘;雷達(dá)PUP產(chǎn)品包括基本反射率、組合反射率、回波頂高等不同類(lèi)型產(chǎn)品文件(BIN),傳輸間隔與雷達(dá)基數(shù)據(jù)一致;衛(wèi)星云圖數(shù)據(jù)選擇常用的FY-2G衛(wèi)星AWX文件,包含紅外、水汽、可見(jiàn)光等要素,傳輸間隔30分鐘。

      從表1可以看出:氣象數(shù)據(jù)集包含數(shù)據(jù)名稱(chēng)、數(shù)據(jù)類(lèi)型、站點(diǎn)數(shù)量、傳輸間隔、文件數(shù)、數(shù)據(jù)量等多種特征指標(biāo),不同特征指標(biāo)的量度差異大,同一特征指標(biāo)的離散度較高,在數(shù)據(jù)處理層面,難以從單一特征指標(biāo)得出科學(xué)處理方法。因此,該文采用熵權(quán)法計(jì)算所有氣象數(shù)據(jù)關(guān)鍵特征指標(biāo)的綜合權(quán)重,再根據(jù)綜合權(quán)重進(jìn)行分區(qū),結(jié)合Kafka特性提升氣象數(shù)據(jù)并發(fā)處理性能。

      2.2 關(guān)鍵特征量權(quán)重計(jì)算

      從計(jì)算機(jī)系統(tǒng)原理以及氣象數(shù)據(jù)處理流程分析,上述氣象數(shù)據(jù)集中,影響處理性能的關(guān)鍵特征指標(biāo)為站點(diǎn)數(shù)、傳輸間隔、文件數(shù)、數(shù)據(jù)量,而數(shù)據(jù)名稱(chēng)、數(shù)據(jù)類(lèi)型等描述性信息對(duì)計(jì)算機(jī)系統(tǒng)運(yùn)行性能不會(huì)產(chǎn)生影響。因此,在氣象數(shù)據(jù)權(quán)重算法中,提取站點(diǎn)數(shù)量、傳輸間隔、平均數(shù)據(jù)量(即數(shù)據(jù)量除以文件數(shù))三個(gè)指標(biāo)參與計(jì)算。為同化數(shù)據(jù),將傳輸間隔(分鐘)轉(zhuǎn)化為傳輸頻率(次/小時(shí)),形成氣象數(shù)據(jù)關(guān)鍵特征量,如表2所示。

      表2 氣象數(shù)據(jù)關(guān)鍵特征量詳情

      進(jìn)行權(quán)重計(jì)算前,首先要將表2中的氣象數(shù)據(jù)關(guān)鍵特征量進(jìn)行Normalization(歸一化)處理[21],剔除不同種類(lèi)氣象數(shù)據(jù)關(guān)鍵特征量的單位度量,將氣象數(shù)據(jù)關(guān)鍵特征量轉(zhuǎn)化為不包含量綱的純數(shù)值,便于進(jìn)行不同類(lèi)型或量級(jí)的特征量基于客觀權(quán)重的綜合評(píng)價(jià)綜合分析數(shù)據(jù)處理中常用的各類(lèi)歸一化方法,Linear Normalization(線(xiàn)性歸一化)[22]在分析各數(shù)據(jù)變量權(quán)重時(shí)過(guò)分依賴(lài)兩個(gè)極端值;ZScore Normalization(零均值歸一化)[23]常用于信號(hào)處理,需要數(shù)據(jù)基于正態(tài)分布;Mean Normalization(均值歸一化)[24]采用平均值對(duì)數(shù)據(jù)特征進(jìn)行縮放,減少數(shù)據(jù)之間的波動(dòng)。

      該文的目的是計(jì)算各類(lèi)氣象數(shù)據(jù)關(guān)鍵特征量的綜合權(quán)重,從而分析其在數(shù)據(jù)流轉(zhuǎn)和處理等環(huán)節(jié)所消耗的基礎(chǔ)資源,因此采用Sum Normalization(總和歸一化)[25]方法,得出每一類(lèi)氣象數(shù)據(jù)在整個(gè)數(shù)據(jù)處理系統(tǒng)流轉(zhuǎn)所需耗費(fèi)系統(tǒng)資源的比例,其過(guò)程如下:

      (1)通過(guò)公式(1)計(jì)算氣象數(shù)據(jù)關(guān)鍵特征量的Pij矩陣,用于后續(xù)權(quán)重分析。

      (1)

      式中,i代表氣象數(shù)據(jù)特征量序號(hào),j代表氣象數(shù)據(jù)種類(lèi)序號(hào),n為氣象數(shù)據(jù)種類(lèi)總量。經(jīng)計(jì)算,得出上述氣象數(shù)據(jù)關(guān)鍵特征量Pij矩陣為:

      (2)通過(guò)公式(2)計(jì)算每類(lèi)氣象數(shù)據(jù)每個(gè)關(guān)鍵特征量的PijLn(Pij)矩陣Lij。

      Lij=PijLn(Pij)

      (2)

      得出氣象數(shù)據(jù)關(guān)鍵特征量Lij矩陣如下:

      (3)基于Lij矩陣,通過(guò)公式(3)逐個(gè)計(jì)算每類(lèi)氣象數(shù)據(jù)每個(gè)關(guān)鍵特征量的信息熵Ej。

      (3)

      式中,n為氣象數(shù)據(jù)種類(lèi)數(shù)量,K為常數(shù),根據(jù)公式(4)進(jìn)行計(jì)算。

      (4)

      本例中n=5,得出K值為0.621 334 935。經(jīng)計(jì)算,得出氣象數(shù)據(jù)關(guān)鍵特征量的信息熵Ej,以及信息熵的冗余度(1-Ej)矩陣如下:

      (4)通過(guò)公式(5)計(jì)算每一類(lèi)氣象數(shù)據(jù)關(guān)鍵特征量在總量中所占的權(quán)重Wj。

      (5)

      計(jì)算得出氣象數(shù)據(jù)Wj矩陣如下:

      (5)按公式(6),通過(guò)各特征量的權(quán)重系數(shù)Wj與每類(lèi)數(shù)據(jù)對(duì)應(yīng)的特征量相乘,最后按氣象數(shù)據(jù)類(lèi)別分別進(jìn)行求和,得出每類(lèi)氣象數(shù)據(jù)的綜合權(quán)重值。

      (6)

      最終得出氣象數(shù)據(jù)集中各類(lèi)數(shù)據(jù)關(guān)鍵特征量的綜合權(quán)重Sij,如表3所示。

      表3 綜合權(quán)重

      2.3 氣象數(shù)據(jù)分區(qū)思路

      對(duì)表3進(jìn)行分析,五類(lèi)氣象數(shù)據(jù)綜合權(quán)重分布在三個(gè)區(qū)間:最高的區(qū)域站數(shù)據(jù)權(quán)重為1 735.96,最低的雷達(dá)PUP產(chǎn)品權(quán)重為11.70,五類(lèi)數(shù)據(jù)權(quán)重均值為527.94。因此需要根據(jù)綜合權(quán)重合理分區(qū),通過(guò)多分區(qū)并行處理的方式減輕單類(lèi)數(shù)據(jù)、單一流程占用系統(tǒng)資源過(guò)多導(dǎo)致數(shù)據(jù)堵塞的情況,提升整體數(shù)據(jù)處理性能,步驟如下:

      (1)在Kafka中,為五類(lèi)氣象數(shù)據(jù)分別設(shè)計(jì)一個(gè)Topic,便于應(yīng)用端分類(lèi)開(kāi)展數(shù)據(jù)服務(wù)。

      (2)依據(jù)Kafka數(shù)據(jù)處理原理,在每類(lèi)氣象數(shù)據(jù)所分配的Topic中,最少應(yīng)分配一個(gè)Partition。因此對(duì)于綜合權(quán)重較低的國(guó)家站數(shù)據(jù)、雷達(dá)PUP產(chǎn)品兩個(gè)Topic,直接采用單Partition進(jìn)行分區(qū)。

      (3)對(duì)于綜合權(quán)重最高區(qū)域站數(shù)據(jù),其權(quán)重達(dá)到五類(lèi)數(shù)據(jù)權(quán)重均值的3.29倍,是最低權(quán)重的148.37倍。合理配置其Partition,并優(yōu)化Thread數(shù)量,對(duì)Kafka集群整體性能至關(guān)重要。該文將設(shè)計(jì)實(shí)驗(yàn)平臺(tái)對(duì)其不同Partition、Thread數(shù)量進(jìn)行實(shí)驗(yàn),得出最佳策略。

      (4)對(duì)權(quán)重處于中間區(qū)間的衛(wèi)星云圖、雷達(dá)基數(shù)據(jù)的分區(qū)策略,對(duì)比最高和最低分區(qū)數(shù)量分別設(shè)計(jì)。

      3 分區(qū)策略實(shí)驗(yàn)

      3.1 模型設(shè)計(jì)

      為找出氣象數(shù)據(jù)分區(qū)最優(yōu)策略,參考?xì)庀蟠髷?shù)據(jù)云平臺(tái)架構(gòu),設(shè)計(jì)以Kafka為消息中間件的氣象數(shù)據(jù)處理實(shí)驗(yàn)?zāi)P?分別從Producer消息寫(xiě)入、Consumer消息讀取兩端,通過(guò)不同數(shù)量的Partition和Thread進(jìn)行對(duì)比實(shí)驗(yàn),得出最優(yōu)解。

      此模型在Kafka Cluster中設(shè)計(jì)了4個(gè)Broker進(jìn)行分布式處理,模擬氣象大數(shù)據(jù)云平臺(tái)中數(shù)據(jù)流轉(zhuǎn)的實(shí)際狀況。在Producer端采用并發(fā)寫(xiě)入設(shè)計(jì),針對(duì)不同氣象數(shù)據(jù)輸入場(chǎng)景,分別模擬多個(gè)寫(xiě)入Thread,測(cè)試不同Producer Thread數(shù)量對(duì)Kafka消息寫(xiě)入性能的影響。在Consumer端則構(gòu)建了多個(gè)Group,模擬多個(gè)氣象預(yù)報(bào)預(yù)警服務(wù)應(yīng)用端并發(fā)提取消息的狀況,測(cè)試不同的Consumer Thread數(shù)量對(duì)Kafka消息讀取性能的影響。

      支撐模型運(yùn)行的基礎(chǔ)資源為4臺(tái)部署在湖南氣象虛擬化資源池中的虛擬服務(wù)器(CPU 8*2.2 GHz,RAM 32 GB),操作系統(tǒng)采用CentOS,部署Kafka作為消息中間件,采用Ngnix實(shí)現(xiàn)負(fù)載均衡,服務(wù)器之間依托1 000 Mbps內(nèi)網(wǎng)互聯(lián)。

      按照綜合權(quán)重計(jì)算結(jié)果,選取測(cè)試數(shù)據(jù)集中綜合權(quán)重最大的區(qū)域站數(shù)據(jù)作測(cè)試,包含AWS_FTM_PQC格式的文件總數(shù)338 640個(gè),數(shù)據(jù)總量15 460.68 MB。直接采用Kafka本身提供的Producer-Perf-Test和Consumer-Perf-Test工具,分別進(jìn)行消息寫(xiě)入和消息讀取的并發(fā)性能測(cè)試,從而驗(yàn)證氣象數(shù)據(jù)在不同Partition和Thread數(shù)量下的并發(fā)處理性能,包括MsgRate(消息并發(fā)量)和DataRate(數(shù)據(jù)吞吐量)。

      3.2 實(shí)驗(yàn)結(jié)果

      3.2.1 Producer端多Partition并發(fā)實(shí)驗(yàn)

      首先測(cè)試區(qū)域站數(shù)據(jù)在不同Partition數(shù)量下的并發(fā)處理性能。測(cè)試方式為:在Producer端通過(guò)單Thread寫(xiě)入測(cè)試數(shù)據(jù),測(cè)試Kafka處理性能變化情況,實(shí)驗(yàn)得出的Kafka消息并發(fā)量和數(shù)據(jù)吞吐量的性能變化曲線(xiàn)如圖3所示。

      圖3 Producer端多Partition并發(fā)性能曲線(xiàn)

      從圖3可知:在Producer端寫(xiě)入消息過(guò)程中,隨著Kafka中Partition數(shù)量增長(zhǎng),其消息并發(fā)性能和數(shù)據(jù)吞吐量均隨之增長(zhǎng),在Partition數(shù)量為8時(shí)達(dá)到峰值,隨后其并發(fā)性能隨著Partition數(shù)量增長(zhǎng)而下降。

      實(shí)驗(yàn)得出最優(yōu)Partition數(shù)值為8,為實(shí)驗(yàn)平臺(tái)的Broker總數(shù)量的2倍,此時(shí)Kafka并發(fā)處理性能相比單Partition可提升至377.06%。

      3.2.2 Producer端多Thread并發(fā)實(shí)驗(yàn)

      在實(shí)驗(yàn)得出Producer端最優(yōu)Partition的情況下,進(jìn)一步測(cè)試不同Thread數(shù)量對(duì)Kafka并發(fā)處理性能的影響,實(shí)驗(yàn)得出的Kafka消息并發(fā)量和數(shù)據(jù)吞吐量的性能變化曲線(xiàn)如圖4所示。

      圖4 Producer端多Thread并發(fā)性能曲線(xiàn)

      對(duì)圖4進(jìn)行分析:在Partition為8的情況下,隨著Kafka中Thread數(shù)量增長(zhǎng),其并發(fā)處理性能也隨之增長(zhǎng),在Thread數(shù)量為30的時(shí)候達(dá)到最優(yōu),隨后其并發(fā)性能隨著Thread數(shù)量增長(zhǎng)而下降。

      實(shí)驗(yàn)得出最優(yōu)Thread數(shù)值為30,排除實(shí)驗(yàn)誤差影響,與實(shí)驗(yàn)平臺(tái)中單個(gè)Broker的CPU核心數(shù)32個(gè)一致,此時(shí)Kafka并發(fā)處理性能相比單Thread可提升至1 439.69%。

      3.2.3 Consumer端多Partition并發(fā)實(shí)驗(yàn)

      參照前述Producer端測(cè)試過(guò)程,繼續(xù)測(cè)試Kafka在Consumer端的并發(fā)處理性能。測(cè)試方式為:模擬Consumer端從Kafka中讀取已存儲(chǔ)的區(qū)域觀測(cè)站測(cè)試數(shù)據(jù),驗(yàn)證不同Partition數(shù)量下的并發(fā)處理性能,實(shí)驗(yàn)得出的Kafka消息并發(fā)量和數(shù)據(jù)吞吐量的性能變化曲線(xiàn)如圖5所示。

      圖5 Consumer端多Partition并發(fā)性能曲線(xiàn)

      通過(guò)圖5分析可知:在Consumer端單Thread情況下,Kafka并發(fā)處理性能隨著Partition數(shù)量的增長(zhǎng)而提升,最優(yōu)Partition數(shù)量為8個(gè),與Producer端實(shí)驗(yàn)結(jié)論一致。此時(shí)Kafka并發(fā)處理性能相比單Partition可提升至350.73%。

      3.2.4 Consumer端多Thread并發(fā)實(shí)驗(yàn)

      繼續(xù)測(cè)試Consumer端不同Thread數(shù)量對(duì)Kafka并發(fā)處理性能的影響,實(shí)驗(yàn)得出的Kafka消息并發(fā)量和數(shù)據(jù)吞吐量的性能變化曲線(xiàn)如圖6所示。

      圖6 Consumer端多Thread并發(fā)性能曲線(xiàn)

      對(duì)圖6進(jìn)行分析:在Consumer端Thread數(shù)量增長(zhǎng)的情況下,Kafka并發(fā)處理性能有增長(zhǎng),但趨勢(shì)不明顯。Thread數(shù)量為10、30和50性能提升分別為104.26%、117.48%和122.68%,出現(xiàn)一定邊際效應(yīng)。

      3.3 氣象數(shù)據(jù)集分區(qū)策略

      根據(jù)實(shí)驗(yàn)結(jié)果得出的Kafka最優(yōu)Partition和Thread數(shù)量,參照前述氣象數(shù)據(jù)分區(qū)思路,在所構(gòu)建的實(shí)驗(yàn)平臺(tái)基礎(chǔ)資源支撐條件下,設(shè)計(jì)五類(lèi)氣象數(shù)據(jù)進(jìn)行分區(qū)處理最優(yōu)策略,如圖7所示。

      圖7 氣象數(shù)據(jù)分區(qū)策略

      (1)為綜合權(quán)重最高區(qū)域站數(shù)據(jù)設(shè)置8個(gè)Partition,采用32個(gè)Thread并發(fā)處理,可達(dá)到最高處理性能。

      (2)參照綜合權(quán)重對(duì)比,為衛(wèi)星云圖數(shù)據(jù)設(shè)置4個(gè)Partition,雷達(dá)基數(shù)據(jù)設(shè)置2個(gè)Partition,分別設(shè)置Thread數(shù)量為16和8。

      (3)國(guó)家站數(shù)據(jù)和雷達(dá)PUP產(chǎn)品流轉(zhuǎn)處理時(shí),對(duì)基礎(chǔ)資源的需求相對(duì)較小,分別設(shè)置為單Partition和單Thread。

      4 應(yīng)用成效

      該文的研究成果已應(yīng)用于湖南高分衛(wèi)星多源數(shù)據(jù)獲取管理平臺(tái)。該平臺(tái)基于Spark分布式處理架構(gòu),以Kafka為數(shù)據(jù)處理核心,采用HAProxy以及Nginx實(shí)現(xiàn)負(fù)載均衡和反向代理,支撐海量氣象數(shù)據(jù)高負(fù)載處理。應(yīng)用研究成果前,由于氣象觀測(cè)及高分遙感數(shù)據(jù)量大、傳輸頻次高,數(shù)據(jù)傳輸處理過(guò)程出現(xiàn)消息阻塞現(xiàn)象,嚴(yán)重影響實(shí)時(shí)氣象業(yè)務(wù)的連續(xù)性和可靠性。經(jīng)數(shù)據(jù)分區(qū)和策略?xún)?yōu)化后,平臺(tái)并發(fā)連接數(shù)峰值達(dá)到3 000次/分鐘,數(shù)據(jù)吞吐量峰值達(dá)到550 MB/分鐘,有效解決了消息堵塞現(xiàn)象。平臺(tái)運(yùn)行狀況如圖8所示。

      圖8 平臺(tái)并發(fā)性能

      5 結(jié)束語(yǔ)

      提出了采用熵權(quán)法綜合計(jì)算氣象數(shù)據(jù)多個(gè)關(guān)鍵特征量綜合權(quán)重的算法及流程,得出的綜合權(quán)重即為此類(lèi)數(shù)據(jù)在氣象數(shù)據(jù)處理系統(tǒng)中流轉(zhuǎn)和處理時(shí)消耗系統(tǒng)資源所占的相對(duì)比重,并將綜合權(quán)重作為氣象數(shù)據(jù)分區(qū)處理的客觀依據(jù),避免主觀因素造成分區(qū)不合理的情況在以Kafka為消息中間件的數(shù)據(jù)處理平臺(tái)中,根據(jù)基礎(chǔ)支撐資源狀況,合理設(shè)計(jì)Partition和Thread數(shù)量可以顯著提升并發(fā)處理性能。最優(yōu)Partition數(shù)量為數(shù)據(jù)處理平臺(tái)Broker總數(shù)量的2倍,最優(yōu)Thread數(shù)量與單個(gè)Broker的CPU核心數(shù)一致。以所構(gòu)建的包含4個(gè)Broker實(shí)驗(yàn)?zāi)P蜑槔?在Kafka中Partition和Thread均最優(yōu)的情況下,消息寫(xiě)入性能從一個(gè)Partition和一個(gè)Thread的0.69 MB/s提升至37.44 MB/s,提升至5 426.09%,消息讀取性能則從15.65 MB/s提升至67.34 MB/s,提升至430.29%。

      基于權(quán)重的氣象數(shù)據(jù)分區(qū)算法和Kafka最優(yōu)處理策略在各類(lèi)數(shù)據(jù)處理系統(tǒng)中具有較強(qiáng)的應(yīng)用價(jià)值,但該文的思路及方法基于數(shù)據(jù)處理系統(tǒng)在設(shè)計(jì)時(shí)所采取的最優(yōu)策略,尚無(wú)法根據(jù)不同時(shí)間、不同季節(jié)對(duì)氣象數(shù)據(jù)需求的重點(diǎn)不同而動(dòng)態(tài)調(diào)整資源配置。后續(xù)將結(jié)合人工智能技術(shù),通過(guò)機(jī)器自動(dòng)學(xué)習(xí)歷史數(shù)據(jù)處理狀況的周期性變化,在一定范圍內(nèi)動(dòng)態(tài)調(diào)整數(shù)據(jù)分區(qū)算法和Kafka配置策略,實(shí)現(xiàn)更高效的數(shù)據(jù)處理。

      猜你喜歡
      數(shù)據(jù)處理分區(qū)氣象
      氣象
      氣象樹(shù)
      認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
      上海實(shí)施“分區(qū)封控”
      ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
      《內(nèi)蒙古氣象》征稿簡(jiǎn)則
      浪莎 分區(qū)而治
      大國(guó)氣象
      基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
      基于SAGA聚類(lèi)分析的無(wú)功電壓控制分區(qū)
      安达市| 宜阳县| 吴川市| 砚山县| 库伦旗| 韶山市| 呼伦贝尔市| 东乡族自治县| 寿宁县| 龙里县| 鹿邑县| 盐城市| 大厂| 三河市| 宁强县| 新泰市| 元江| 城口县| 江西省| 莒南县| 盘锦市| 荥经县| 左云县| 思南县| 曲阳县| 德惠市| 沐川县| 麦盖提县| 台安县| 宁国市| 莒南县| 隆林| 南康市| 晴隆县| 江北区| 布拖县| 静乐县| 齐河县| 新竹市| 建水县| 依安县|