[發明專利]基于Spark Streaming結合Kafka確保數據零丟失的系統和方法有效
| 申請號: | 202010281180.0 | 申請日: | 2020-04-10 |
| 公開(公告)號: | CN111526188B | 公開(公告)日: | 2022-11-22 |
| 發明(設計)人: | 王婧妍;徐晶;石波;胡佳;謝小明;施雪成;丁衛星;李淵;楊坤崇 | 申請(專利權)人: | 北京計算機技術及應用研究所 |
| 主分類號: | H04L67/568 | 分類號: | H04L67/568;H04L67/1095;H04L9/40 |
| 代理公司: | 中國兵器工業集團公司專利中心 11011 | 代理人: | 王雪芬 |
| 地址: | 100854*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 spark streaming 結合 kafka 確保 數據 丟失 系統 方法 | ||
本發明涉及一種基于Spark Streaming結合Kafka確保數據零丟失的系統和方法,屬于流式數據實時處理排序技術領域。本發明結合集群思想和SDN網絡集中控制理念設計一種新的匿名通信系統,從而使匿名通信服務更加安全、可靠。基于SDN的網絡體系架構提高攻擊者獲取用戶隱私難度和網絡請求響應速率;采用集群的方式和節點選擇限制策略,在很大程度上避免了惡意節點注入、流量分析以及單點攻擊等安全威脅,提高系統的防御能力。
技術領域
本發明屬于流式數據實時處理排序技術領域,具體涉及一種基于SparkStreaming結合Kafka確保數據零丟失的系統和方法。
背景技術
隨著信息時代的來臨和普及,數據信息化與生活和工作息息相關。企業的日常運營經常會生成TB級別的數據,來源涵蓋了互聯網裝置可以捕獲的各種類型數據。面對龐大的日志量,傳統的日志處理系統框架已無法滿意目前的需求。大數據分析是對巨大的規模的數據進行分析。系統業務對數據的實時性需求也逐漸增高。實時大數據分析對規模巨大的數據進行分析,利用大數據技術高效的快速完成分析,達到近似實時的效果,更及時的反映數據的價值和意義。實時處理應用廣泛,例如業務部門實時推薦場景,數據部門實時報表,運維部門的實時監控。Kafka是一種高吞吐量的分布式發布訂閱消息系統,可以處理消費者規模的網站中所有流數據,通過Kafka的實時數據流,可以在事件發生時及時獲得反饋。Spark Streaming實現了高吞吐量,具備容錯機制的實時流數據的處理。支持從多數據源獲取數據,然后利用高級函數進行復雜算法的處理,最后存儲到文件系統或數據庫中。其中,kafka作為消息系統,提供了消息持久化能力,但是kafka中存在數據丟失的隱患,如何實現kafka相關配置保證數據零丟失,及與sparkstreaming結合過程中保證消息傳遞的可靠性是亟待解決的技術問題。
實時數據平臺的支撐技術主要包含四個方面:實時數據采集(如Flume),消息中間件(如Kafka),流計算框架(如Storm,Spark,Flink和Beam),以及數據實時存儲(如列族存儲的HBase)。實時數據平臺最為核心的技術是流計算。
發明內容
(一)要解決的技術問題
本發明要解決的技術問題是:如何解決Kafka在傳遞過程和消費中數據丟失的問題,保證了數據消費過程中的可靠性。
(二)技術方案
為了解決上述技術問題,本發明提供了一種基于Kafka分區技術及SparkStreamin實時流處理的系統,包括數據緩存模塊和流計算模塊,其中,所述數據緩存模塊用于緩存從不同源獲取到的數據,并轉發給流計算模塊;所述流計算模塊用于在讀取到數據后,對數據進行處理。
優選地,所述數據緩存模塊具體用于利用Kafka實現緩存從不同源獲取到的數據,并轉發給流計算模塊,在利用Kafka實現緩存從不同源獲取到的數據,并轉發給流計算模塊時,具體是從Kafka的數據生產端,zookeeper集群端,和數據消費端三個方面對參數進行設置以防止數據丟失。
優選地,所述數據緩存模塊在zookeeper集群端對參數進行設置以防止數據丟失具體為:Kafka可以保證分區消息的順序,同一個分區,先發送到Kafka分區的消息會被先消費掉,Kafka每個主題有多個分區,每個分區有多個副本,分為一個首領副本,和其余的跟隨者副本,所有的消息都是發送給首領副本的,消息消費也是從首領副本獲取的,然后與其他副本同步,當首領副本不可用的時候,會選舉一個跟隨者副本變成首領副本,當跟隨者副本與首領副本保持同步的時候,跟隨者副本是同步副本,當無法同步的時候,是非同步副本,如果首領副本宕機,需要選舉一個跟隨者副本來作為首領,如果非同步副本作為首領時,會損失一部分數據,這種行為叫做:不完全首領選舉,對于此類狀況,設置一個參數**unclean.leader.election**,將該參數設置為false以制止不完全首領選舉,或通過設置“最小同步副本數”為1,確保主機宕機時有1個同步副本。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京計算機技術及應用研究所,未經北京計算機技術及應用研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010281180.0/2.html,轉載請聲明來源鉆瓜專利網。





