[發明專利]一種基于Storm-Kafka實現數據順序處理的方法及其系統在審
| 申請號: | 201811612312.2 | 申請日: | 2018-12-27 |
| 公開(公告)號: | CN109815027A | 公開(公告)日: | 2019-05-28 |
| 發明(設計)人: | 楊濤 | 申請(專利權)人: | 四川駒馬科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 成都環泰知識產權代理事務所(特殊普通合伙) 51242 | 代理人: | 李斌;黃青 |
| 地址: | 610000 四川省成都市錦江區*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據確認單元 順序處理 數據處理單元 隊列 獲取數據 數據處理 數據處理模塊 數據傳輸模塊 數據發送模塊 數據反饋模塊 數據緩存模塊 數據獲取模塊 緩存 處理效率 緩存處理 結果發送 結果返回 組件創建 源頭 并發 發送 創建 保證 | ||
本發明公開了一種基于Storm?Kafka實現數據順序處理的方法,基于Storm?Kafka框架創建KafkaSpout源頭組件;從kafka上獲取數據;將數據分別發送至數據處理單元Bolt對應的隊列和數據確認單元Acker對應的隊列中;數據確認單元Acker和數據處理單元Bolt分別獲取數據,并緩存;數據處理單元Bolt進行數據處理,緩存處理后的數據序號,并將數據處理的結果發送至數據確認單元Acker對應的隊列中;數據確認單元Acker將結果返回至KafkaSpout源頭組件。本發明還公開了一種基于Storm?Kafka實現數據順序處理的系統,包括組件創建模塊、數據獲取模塊、數據發送模塊、數據緩存模塊、數據傳輸模塊、數據處理模塊和數據反饋模塊。本發明具有高容錯和高并發的特性,保證數據的處理效率;通過擴展KafkaSpout組件,實現數據的順序處理。
技術領域
本發明涉及數據處理技術領域,具體涉及一種基于Storm-Kafka實現數據順序處理的方法及其系統。
背景技術
隨著業務的不斷發展,公司的配送車輛也越來越多,為了方便管理以及及時發現一些潛在問題,公司在配送車輛上安裝了相應的車載T-BOX,用于收集車輛相關數據以及定位車輛位置,以供相關業務使用。
當數據從T-BOX采集并發送到公司平臺之后,需要快速地對這些數據進行相應處理和分析;但是,在傳統的采用Storm-Kafka來實現數據處理方法中易導致數據亂序,導致數據亂序的節點在數據確認單元Acker,當數據確認單元Acker接收到來自KafkaSpout源頭組件的數據時,會緩存下來,在特定時間內(默認30秒)未接收到數據處理單元Bolt的處理結果,就會通知KafkaSpout源頭組件數據處理失敗,此時KafkaSpout源頭組件會重發這條數據,此時會導致數據處理單元Bolt對應的隊列中的數據無序,以致不能按照正常順序來處理數據而到相應的結果。
此問題中,不能簡單地通過增加超時機制的時間來保證數據的順序,其一是不能保證數據處理單元Bolt一定能在一定時間內完成處理;其二是會導致確認單元Acker內存里的未確認數據越來越多,易引發內存溢出問題;同時也不能將數據確認單元Acker移除點,如果移除數據確認單元Acker,就不能保證數據一定被處理。
因此,采用傳統的數據處理方法對于大數據量的處理效果不佳,不具有高容錯和高并發的特性,致使在大數據量下不能保證數據的處理效率。
發明內容
基于此,針對上述問題,有必要提出一種實現數據有序處理,提供高容錯以及高并發的特性,能夠在大數據量下保證數據的處理效率的基于Storm-Kafka實現數據順序處理的方法及其系統。
本發明提供一種基于Storm-Kafka實現數據順序處理的方法,其技術方案如下:
一種基于Storm-Kafka實現數據順序處理的方法,包括以下步驟:
a、搭建Storm-Kafka框架,并創建KafkaSpout源頭組件;
b、從kafka上獲取數據信息至KafkaSpout源頭組件;
c、將數據信息分別發送至數據處理單元Bolt對應的隊列和數據確認單元Acker對應的隊列中;
d、數據信息發送至數據確認單元Acker對應的隊列中后,將數據信息傳輸至數據確認單元Acker,并緩存;
e、數據信息發送至數據處理單元Bolt對應的隊列中后,將數據信息傳輸至數據處理單元Bolt;
f、進行數據處理,緩存處理后的數據序號,并將數據處理的結果發送至數據確認單元Acker對應的隊列中;
g、數據確認單元Acker接收到其隊列中的數據處理結果后,判斷整個鏈式處理是否完成,并將該結果返回至KafkaSpout源頭組件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川駒馬科技有限公司,未經四川駒馬科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811612312.2/2.html,轉載請聲明來源鉆瓜專利網。





