[發(fā)明專利]一種基于flink框架的數(shù)據(jù)處理方法和裝置在審
| 申請?zhí)枺?/td> | 202010871127.6 | 申請日: | 2020-08-26 |
| 公開(公告)號: | CN113742004A | 公開(公告)日: | 2021-12-03 |
| 發(fā)明(設計)人: | 曹建奇 | 申請(專利權)人: | 北京沃東天駿信息技術有限公司;北京京東世紀貿(mào)易有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 中原信達知識產(chǎn)權代理有限責任公司 11219 | 代理人: | 郝紅玉;馮培培 |
| 地址: | 100176 北京市北京經(jīng)濟技術*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 flink 框架 數(shù)據(jù)處理 方法 裝置 | ||
本發(fā)明公開了一種基于flink框架的數(shù)據(jù)處理方法和裝置,涉及計算機技術領域。該方法的一具體實施方式包括:flink框架中的窗口在接收到數(shù)據(jù)后,調用觸發(fā)器中處理數(shù)據(jù)的方法,獲取當前觸發(fā)計算操作的觸發(fā)狀態(tài);若所述觸發(fā)狀態(tài)為觸發(fā),則從窗口算子中調用業(yè)務處理邏輯處理所述數(shù)據(jù),并將本次處理結果匯總至歷史處理結果中,得到匯總結果;在到達定時器的時間后,基于預定方式將所述匯總結果傳輸至下游算子。該實施方式分離處理數(shù)據(jù)和發(fā)送匯總結果操作并分別觸發(fā),避免在大數(shù)據(jù)場景下,出現(xiàn)短時間內窗口積壓大量數(shù)據(jù)對算子的存儲狀態(tài)造成壓力的情況,保證了業(yè)務系統(tǒng)的平穩(wěn)運行。
技術領域
本發(fā)明涉及計算機技術領域,尤其涉及一種基于flink框架的數(shù)據(jù)處理方法和裝置。
背景技術
在進行實時數(shù)據(jù)統(tǒng)計的應用中,有著這樣的統(tǒng)計場景,要求實時匯總1小時內的數(shù)據(jù),并且每隔1分鐘輸出一次匯總結果用于展示。
現(xiàn)有基于flink框架技術可以通過窗口觸發(fā)器(Trigger)定時觸發(fā)窗口計算,如在1小時的時間窗口內,每隔1分鐘觸發(fā)1次窗口計算,同時輸出計算結果。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在如下問題:現(xiàn)有數(shù)據(jù)處理和發(fā)送是綁定進行的,在大數(shù)據(jù)場景下若出現(xiàn)流量高峰,1分鐘內窗口會積壓大量數(shù)據(jù),導致對算子(flink框架中有很多算子,每個算子代表一類運算)的存儲狀態(tài)造成很大壓力,影響業(yè)務系統(tǒng)的平穩(wěn)運行。
發(fā)明內容
有鑒于此,本發(fā)明實施例提供一種基于flink框架的數(shù)據(jù)處理方法和裝置,至少能夠解決現(xiàn)有數(shù)據(jù)處理方式不適合大數(shù)據(jù)場景的現(xiàn)象。
為實現(xiàn)上述目的,根據(jù)本發(fā)明實施例的一個方面,提供了一種基于flink框架的數(shù)據(jù)處理方法,包括:
flink框架中的窗口在接收到數(shù)據(jù)后,調用觸發(fā)器中處理數(shù)據(jù)的方法,獲取當前觸發(fā)計算操作的觸發(fā)狀態(tài);其中,一個窗口算子中配置一個觸發(fā)器;
若所述觸發(fā)狀態(tài)為觸發(fā),則從窗口算子中調用業(yè)務處理邏輯處理所述數(shù)據(jù),并將本次處理結果匯總至歷史處理結果中,得到匯總結果;
在到達定時器的時間后,基于預定方式將所述匯總結果傳輸至下游算子。
可選的,在從窗口算子中調用業(yè)務處理邏輯處理所述數(shù)據(jù)之前,還包括:
利用flink框架確定所述數(shù)據(jù)所處維度,以將所述數(shù)據(jù)劃分至與所述維度對應的窗口內,并將所述窗口的鍵名作為所述數(shù)據(jù)的鍵名;
從觸發(fā)器中獲取觸發(fā)處理時間的時間戳,結合所述鍵名、上下文對象和收集器信息一同存儲至所述窗口的所述窗口算子中;
所述從窗口算子中調用業(yè)務處理邏輯處理所述數(shù)據(jù),包括:
從所述窗口算子中獲取所述鍵名、所述觸發(fā)處理時間的時間戳、所述上下文對象和所述收集器信息,并調用所述定時器觸發(fā)時的處理方法進行處理。
可選的,所述在到達定時器的時間后,基于預定方式將所述匯總結果傳輸至下游算子,包括:
將所述匯總結果存儲至上下文對象中,當?shù)竭_定時器的時間后,調用窗口算子中與所述時間對應的處理時間方法;
在調用所述處理時間方法的過程中,調用觸發(fā)器中與所述處理時間方法對應的處理時間方法,得到觸發(fā)發(fā)送匯總結果操作的觸發(fā)狀態(tài);
若觸發(fā)狀態(tài)為真,則從上下文對象中獲取所述匯總結果并傳輸至下游算子,若觸發(fā)狀態(tài)為假則不處理。
可選的,在所述在到達定時器的時間后,基于預定方式將所述匯總結果傳輸至下游算子之前,還包括:判斷歷史數(shù)據(jù)是否為空,若為空,則確定所述數(shù)據(jù)為窗口接收的第一條數(shù)據(jù),觸發(fā)觸發(fā)器在上下文對象中注冊一個定時器;以及
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京沃東天駿信息技術有限公司;北京京東世紀貿(mào)易有限公司,未經(jīng)北京沃東天駿信息技術有限公司;北京京東世紀貿(mào)易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010871127.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 基于flink僅一次寫入carbonData的方法
- 一種Flink組件高可用性的自動測試方法、系統(tǒng)及設備
- 一種Flink K-Means性能測試的方法和設備
- 基于kuberntes的flink任務日志elk采集方法和系統(tǒng)
- 基于flink數(shù)據(jù)引擎的數(shù)據(jù)處理方法、裝置
- 一種flink state狀態(tài)遷移方案
- 一種基于具象狀態(tài)傳輸服務進行作業(yè)管理的方法和裝置
- 一種基于TBDS Hadoop的Flink集成方法和系統(tǒng)
- 數(shù)據(jù)處理方法、裝置及計算機可讀存儲介質
- 基于Flink的任務執(zhí)行方法、裝置、計算機設備及存儲介質
- 數(shù)據(jù)處理設備,數(shù)據(jù)處理方法,和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理電路、數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法、數(shù)據(jù)處理控制方法
- 數(shù)據(jù)處理設備、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法及計算機可讀取的記錄介質
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法以及數(shù)據(jù)處理程序
- 數(shù)據(jù)處理裝置、數(shù)據(jù)處理方法和數(shù)據(jù)處理程序





