基于Spark的有效載荷參數(shù)解析處理方法
發(fā)布時(shí)間:2021-10-28 13:30
為解決單機(jī)多線程有效載荷實(shí)時(shí)參數(shù)解析處理方法存在的吞吐率低、擴(kuò)展能力弱問題,提出一種基于Spark集群的有效載荷實(shí)時(shí)參數(shù)解析處理方法。采用Kafka和Spark相結(jié)合的處理方式,利用Kafka將有效載荷實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)換為消息隊(duì)列流,Spark通過Kafka獲取消息隊(duì)列流的數(shù)據(jù),利用內(nèi)存對數(shù)據(jù)進(jìn)行迭代運(yùn)算,提高數(shù)據(jù)運(yùn)算速度,實(shí)現(xiàn)實(shí)時(shí)的、高吞吐率的有效載荷參數(shù)解析。仿真結(jié)果表明,使用該方法在實(shí)時(shí)吞吐率上較單機(jī)多線程處理方法有較高提升,能有效滿足實(shí)時(shí)參數(shù)解析的要求。
【文章來源】:計(jì)算機(jī)工程與設(shè)計(jì). 2020,41(02)北大核心
【文章頁數(shù)】:5 頁
【部分圖文】:
數(shù)據(jù)處理流程
為提高有效載荷數(shù)據(jù)的實(shí)時(shí)參數(shù)解析吞吐率,采用基于Spark Streaming與Kafka相結(jié)合的方法,處理流程如圖2所示,利用Kafka集群作為消息中間件實(shí)現(xiàn)數(shù)據(jù)分流,為數(shù)據(jù)接入提供保障,流式計(jì)算部分采用Spark Streaming集群作為計(jì)算平臺,通過Spark Streaming獲取Kafka消息隊(duì)列的數(shù)據(jù)[13],并對參數(shù)進(jìn)行解析,然后將解析結(jié)果發(fā)送給Kafka作為數(shù)據(jù)緩沖區(qū)進(jìn)行合并,最終將計(jì)算結(jié)果發(fā)送給實(shí)現(xiàn)參數(shù)錄入的軟件。為避免數(shù)據(jù)源產(chǎn)生堆積,提高數(shù)據(jù)處理的速率,采用Kafka集群實(shí)現(xiàn)數(shù)據(jù)分流。Kafka是一種基于發(fā)布/訂閱的分布式消息系統(tǒng),可以在多個(gè)分布式生產(chǎn)者、消費(fèi)者并發(fā)的情況下,保證消息的有序性和負(fù)載均衡,可同時(shí)支持離線數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的處理,其吞吐量可隨集群的擴(kuò)展而線性增加,且消息持久化的時(shí)間復(fù)雜度為O(1)[14],具有高吞吐率、高可靠性和易擴(kuò)展的優(yōu)點(diǎn)。
Kafka集群部署模式如圖3所示,在Kafka集群部署架構(gòu)中,可以存在多個(gè)Producer(生產(chǎn)者),生產(chǎn)者負(fù)責(zé)收集消息并將消息發(fā)布到Broker(代理)相應(yīng)的Topic(主題)中,Broker接收消息,并將消息在本地持久化,數(shù)據(jù)按照Topic名存儲(chǔ)在不同分類中,一個(gè)Topic可以分成多個(gè)Partition(分區(qū)),每個(gè)Partition內(nèi)部消息強(qiáng)有序,將數(shù)據(jù)處理為多個(gè)分區(qū)的消息隊(duì)列流,用以作為中間數(shù)據(jù)源,在隊(duì)列底端存在多個(gè)Consumer(消費(fèi)者)[15]。消費(fèi)者是消息的真正使用者,從Topic中讀取隊(duì)列消息進(jìn)行處理[16]。其中Broker1、Broker2分別部署在不同服務(wù)器上,Spark Streaming的實(shí)時(shí)計(jì)算程序充當(dāng)消費(fèi)者訂閱Topic1,當(dāng)Topic1中有數(shù)據(jù),會(huì)將數(shù)據(jù)不停的從集群的指定消息隊(duì)列中發(fā)送給消費(fèi)者做參數(shù)解析處理。Spark Streaming是在Spark架構(gòu)上基于離散化數(shù)據(jù)流(discretized stream,DStream)模型擴(kuò)展的分布式流式計(jì)算框架,其中,DStream表示持續(xù)不斷的數(shù)據(jù)流,其可以是不同類型數(shù)據(jù)源的數(shù)據(jù),包括文件流、套接字流、基于Kafka的輸入數(shù)據(jù)流等[17]。Spark Streaming可以在多達(dá)100個(gè)節(jié)點(diǎn)上運(yùn)行,實(shí)時(shí)處理吞吐率能達(dá)到秒級的延遲需求[18],可以有效實(shí)現(xiàn)高吞吐的參數(shù)解析處理,并且Spark Streaming支持節(jié)點(diǎn)的錯(cuò)誤恢復(fù),是具備容錯(cuò)機(jī)制的實(shí)時(shí)流數(shù)據(jù)的處理框架[19]。
【參考文獻(xiàn)】:
期刊論文
[1]基于Spark Streaming的實(shí)時(shí)交通數(shù)據(jù)處理平臺[J]. 譚亮,周靜. 計(jì)算機(jī)系統(tǒng)應(yīng)用. 2018(10)
[2]基于Spark Streaming的海量日志實(shí)時(shí)處理系統(tǒng)的設(shè)計(jì)[J]. 陸世鵬. 電子產(chǎn)品可靠性與環(huán)境試驗(yàn). 2017(05)
[3]基于CCSDS標(biāo)準(zhǔn)的衛(wèi)星數(shù)據(jù)實(shí)時(shí)處理FPGA設(shè)計(jì)[J]. 劉秀秀,董振興,朱巖. 微電子學(xué)與計(jì)算機(jī). 2017(08)
[4]眾核與Spark結(jié)合的高速流量監(jiān)測系統(tǒng)[J]. 周小宇,雒江濤,羅林,唐剛. 計(jì)算機(jī)系統(tǒng)應(yīng)用. 2017(06)
[5]分布式流數(shù)據(jù)加載和查詢技術(shù)優(yōu)化[J]. 易佳,薛晨,王樹鵬. 計(jì)算機(jī)科學(xué). 2017(05)
[6]基于Spark Streaming的實(shí)時(shí)數(shù)據(jù)分析系統(tǒng)及其應(yīng)用[J]. 韓德志,陳旭光,雷雨馨,戴永濤,張肖. 計(jì)算機(jī)應(yīng)用. 2017(05)
[7]面向有效載荷高速數(shù)據(jù)流的數(shù)據(jù)處理方法[J]. 王靜,王春梅,智佳,楊甲森,陳托. 計(jì)算機(jī)工程與設(shè)計(jì). 2017(04)
[8]基于XTCE的衛(wèi)星遙測數(shù)據(jù)處理方法[J]. 劉洋,李宗德,丁雪靜,戴媛媛,何曉苑. 遙測遙控. 2017(02)
[9]基于Spark和浮動(dòng)出租車全球定位系統(tǒng)數(shù)據(jù)的實(shí)時(shí)交通路況預(yù)測方法[J]. 程敏,張珣,白童心,須成忠. 集成技術(shù). 2016(06)
[10]基于CCSDS標(biāo)準(zhǔn)的衛(wèi)星數(shù)據(jù)處理軟件設(shè)計(jì)[J]. 馬苗,朱巖. 電子設(shè)計(jì)工程. 2015(01)
碩士論文
[1]基于Spark的數(shù)據(jù)實(shí)時(shí)分析處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 陳鵬.電子科技大學(xué) 2018
[2]大數(shù)據(jù)技術(shù)在衛(wèi)星運(yùn)控中應(yīng)用探索[D]. 李虎.中國科學(xué)院研究生院(空間科學(xué)與應(yīng)用研究中心) 2015
本文編號:3462878
【文章來源】:計(jì)算機(jī)工程與設(shè)計(jì). 2020,41(02)北大核心
【文章頁數(shù)】:5 頁
【部分圖文】:
數(shù)據(jù)處理流程
為提高有效載荷數(shù)據(jù)的實(shí)時(shí)參數(shù)解析吞吐率,采用基于Spark Streaming與Kafka相結(jié)合的方法,處理流程如圖2所示,利用Kafka集群作為消息中間件實(shí)現(xiàn)數(shù)據(jù)分流,為數(shù)據(jù)接入提供保障,流式計(jì)算部分采用Spark Streaming集群作為計(jì)算平臺,通過Spark Streaming獲取Kafka消息隊(duì)列的數(shù)據(jù)[13],并對參數(shù)進(jìn)行解析,然后將解析結(jié)果發(fā)送給Kafka作為數(shù)據(jù)緩沖區(qū)進(jìn)行合并,最終將計(jì)算結(jié)果發(fā)送給實(shí)現(xiàn)參數(shù)錄入的軟件。為避免數(shù)據(jù)源產(chǎn)生堆積,提高數(shù)據(jù)處理的速率,采用Kafka集群實(shí)現(xiàn)數(shù)據(jù)分流。Kafka是一種基于發(fā)布/訂閱的分布式消息系統(tǒng),可以在多個(gè)分布式生產(chǎn)者、消費(fèi)者并發(fā)的情況下,保證消息的有序性和負(fù)載均衡,可同時(shí)支持離線數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的處理,其吞吐量可隨集群的擴(kuò)展而線性增加,且消息持久化的時(shí)間復(fù)雜度為O(1)[14],具有高吞吐率、高可靠性和易擴(kuò)展的優(yōu)點(diǎn)。
Kafka集群部署模式如圖3所示,在Kafka集群部署架構(gòu)中,可以存在多個(gè)Producer(生產(chǎn)者),生產(chǎn)者負(fù)責(zé)收集消息并將消息發(fā)布到Broker(代理)相應(yīng)的Topic(主題)中,Broker接收消息,并將消息在本地持久化,數(shù)據(jù)按照Topic名存儲(chǔ)在不同分類中,一個(gè)Topic可以分成多個(gè)Partition(分區(qū)),每個(gè)Partition內(nèi)部消息強(qiáng)有序,將數(shù)據(jù)處理為多個(gè)分區(qū)的消息隊(duì)列流,用以作為中間數(shù)據(jù)源,在隊(duì)列底端存在多個(gè)Consumer(消費(fèi)者)[15]。消費(fèi)者是消息的真正使用者,從Topic中讀取隊(duì)列消息進(jìn)行處理[16]。其中Broker1、Broker2分別部署在不同服務(wù)器上,Spark Streaming的實(shí)時(shí)計(jì)算程序充當(dāng)消費(fèi)者訂閱Topic1,當(dāng)Topic1中有數(shù)據(jù),會(huì)將數(shù)據(jù)不停的從集群的指定消息隊(duì)列中發(fā)送給消費(fèi)者做參數(shù)解析處理。Spark Streaming是在Spark架構(gòu)上基于離散化數(shù)據(jù)流(discretized stream,DStream)模型擴(kuò)展的分布式流式計(jì)算框架,其中,DStream表示持續(xù)不斷的數(shù)據(jù)流,其可以是不同類型數(shù)據(jù)源的數(shù)據(jù),包括文件流、套接字流、基于Kafka的輸入數(shù)據(jù)流等[17]。Spark Streaming可以在多達(dá)100個(gè)節(jié)點(diǎn)上運(yùn)行,實(shí)時(shí)處理吞吐率能達(dá)到秒級的延遲需求[18],可以有效實(shí)現(xiàn)高吞吐的參數(shù)解析處理,并且Spark Streaming支持節(jié)點(diǎn)的錯(cuò)誤恢復(fù),是具備容錯(cuò)機(jī)制的實(shí)時(shí)流數(shù)據(jù)的處理框架[19]。
【參考文獻(xiàn)】:
期刊論文
[1]基于Spark Streaming的實(shí)時(shí)交通數(shù)據(jù)處理平臺[J]. 譚亮,周靜. 計(jì)算機(jī)系統(tǒng)應(yīng)用. 2018(10)
[2]基于Spark Streaming的海量日志實(shí)時(shí)處理系統(tǒng)的設(shè)計(jì)[J]. 陸世鵬. 電子產(chǎn)品可靠性與環(huán)境試驗(yàn). 2017(05)
[3]基于CCSDS標(biāo)準(zhǔn)的衛(wèi)星數(shù)據(jù)實(shí)時(shí)處理FPGA設(shè)計(jì)[J]. 劉秀秀,董振興,朱巖. 微電子學(xué)與計(jì)算機(jī). 2017(08)
[4]眾核與Spark結(jié)合的高速流量監(jiān)測系統(tǒng)[J]. 周小宇,雒江濤,羅林,唐剛. 計(jì)算機(jī)系統(tǒng)應(yīng)用. 2017(06)
[5]分布式流數(shù)據(jù)加載和查詢技術(shù)優(yōu)化[J]. 易佳,薛晨,王樹鵬. 計(jì)算機(jī)科學(xué). 2017(05)
[6]基于Spark Streaming的實(shí)時(shí)數(shù)據(jù)分析系統(tǒng)及其應(yīng)用[J]. 韓德志,陳旭光,雷雨馨,戴永濤,張肖. 計(jì)算機(jī)應(yīng)用. 2017(05)
[7]面向有效載荷高速數(shù)據(jù)流的數(shù)據(jù)處理方法[J]. 王靜,王春梅,智佳,楊甲森,陳托. 計(jì)算機(jī)工程與設(shè)計(jì). 2017(04)
[8]基于XTCE的衛(wèi)星遙測數(shù)據(jù)處理方法[J]. 劉洋,李宗德,丁雪靜,戴媛媛,何曉苑. 遙測遙控. 2017(02)
[9]基于Spark和浮動(dòng)出租車全球定位系統(tǒng)數(shù)據(jù)的實(shí)時(shí)交通路況預(yù)測方法[J]. 程敏,張珣,白童心,須成忠. 集成技術(shù). 2016(06)
[10]基于CCSDS標(biāo)準(zhǔn)的衛(wèi)星數(shù)據(jù)處理軟件設(shè)計(jì)[J]. 馬苗,朱巖. 電子設(shè)計(jì)工程. 2015(01)
碩士論文
[1]基于Spark的數(shù)據(jù)實(shí)時(shí)分析處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 陳鵬.電子科技大學(xué) 2018
[2]大數(shù)據(jù)技術(shù)在衛(wèi)星運(yùn)控中應(yīng)用探索[D]. 李虎.中國科學(xué)院研究生院(空間科學(xué)與應(yīng)用研究中心) 2015
本文編號:3462878
本文鏈接:http://sikaile.net/kejilunwen/hangkongsky/3462878.html
最近更新
教材專著