本發(fā)明涉及無線通信,具體地說是一種基于flink狀態(tài)計算的用戶位置信息關聯方法、系統、設備及介質。
背景技術:
1、用戶信令mme數據中包含用戶唯一標識和用戶手機號信息,mro測量數據中包含用戶唯一標識和經緯度位置信息,為獲取用戶手機號所在的位置信息,需要對兩類數據根據用戶唯一標識和時間進行關聯,以實現用戶手機號和位置信息的關聯,傳統的用戶手機號和經緯度位置信息數據關聯技術采用基于hive離線數倉的方式來實現,其缺點是運行效率低、數據時效性不高,不能夠滿足對實時性要求高的場景。
2、故如何實現大規(guī)模海量信令mme數據和mro數據的實時關聯處理,降低數據關聯結果輸出的延遲,提高整體的數據處理效率是目前亟待解決的技術問題。
技術實現思路
1、本發(fā)明的技術任務是提供一種基于flink狀態(tài)計算的用戶位置信息關聯方法、系統、設備及介質,來解決如何實現大規(guī)模海量信令mme數據和mro數據的實時關聯處理,降低數據關聯結果輸出的延遲,提高整體的數據處理效率的問題。
2、本發(fā)明的技術任務是按以下方式實現的,一種基于flink狀態(tài)計算的用戶位置信息關聯方法,該方法是以flink和kafka集群做為基礎軟件架構,將用戶信令側數據和mro測量數據分別采集至kafka集群,并通過flink消費kafka集群,以flink狀態(tài)計算為基礎,利用flink快速高效的實時計算能力實現用戶信令mme數據和mro測量數據的實時關聯,將信令側數據中的用戶手機號信息回填至mro測量數據中,從而實現用戶手機號和經緯度位置信息的實時關聯。
3、作為優(yōu)選,將用戶信令側數據和mro測量數據分別采集至kafka集群具體如下:
4、分別解析用戶信令mme數據和mro測量數據;
5、將解析結果寫入到kafka集群對應的topic中;
6、設置kafka?topic的分區(qū)數,利用分區(qū)實現數據的并行寫入,充分發(fā)揮kafka低延遲和高吞吐的讀寫優(yōu)勢,并設置kafka緩存消息的保留時長。
7、更優(yōu)地,利用flink快速高效的實時計算能力實現用戶信令mme數據和mro測量數據的實時關聯具體如下:
8、使用flink提供的接收器讀取kafka集群的實時數據流;
9、使用flink提供的連接器創(chuàng)建kafka消費者,分別消費接收kafka集群中的用戶信令mme數據和mro測量數據;
10、使用flink創(chuàng)建過濾器,過濾非法數據;
11、使用flink提供的轉換器提取核心字段轉換為統一格式,分別從用戶信令mme數據和mro測量數據提取出用戶唯一標識做為key,以用戶唯一標識做為關聯鍵對兩側的實時流進行關聯,將用戶信令mme數據中的手機號信息和mro測量數據中的經緯度位置信息關聯到一起,根據時延要求設置watermark的大小,避免觸發(fā)關聯的延遲太大;
12、開啟flink的checkpoint機制,設置狀態(tài)數據保留的ttl大小,避免因狀態(tài)過大造成內存溢出問題;
13、將關聯結果通過自定義連接器將關聯結果寫入到olap數據庫,對關聯結果進行快速查詢和多維分析。
14、更優(yōu)地,設置kafka?topic的合理分區(qū)數數量是指達到高度并行讀寫和負載均衡的目的,在分區(qū)上達到負載均衡實現最大吞吐量;
15、其中,分區(qū)數量根據每個分區(qū)的生產者和消費者的期望吞吐量及總數據量綜合估算,并根據任一個topic歷史接收的數據量確定分區(qū)的初始值,再測試對應topic的生產者的吞吐量和消費者的吞吐量;
16、例如topic的生產者的吞吐量和消費者的吞吐量的值分別是tp和tc,單位可以是mb/s,總的目標吞吐量是tt,則分區(qū)數量=tt/max(tp,tc)。
17、更優(yōu)地,設置kafka緩存消息的保留時長具體如下:
18、kafka集群提供多個配置項管理消息的保留策略,其中配置項的參數是log.retention.hours,通過調整log.retention.hour配置項,控制kafka保留消息的時長。
19、一種基于flink狀態(tài)計算的用戶位置信息關聯系統,該系統用于實現上述的基于flink狀態(tài)計算的用戶位置信息關聯方法;該系統包括:
20、數據采集模塊,用于將用戶信令側數據和mro測量數據分別采集至kafka集群;
21、關聯模塊,用于利用flink快速高效的實時計算能力實現用戶信令mme數據和mro測量數據的實時關聯。
22、作為優(yōu)選,數據采集模塊包括:
23、解析子模塊,用于分別解析用戶信令mme數據和mro測量數據;
24、寫入子模塊,用于將解析結果寫入到kafka集群對應的topic中;
25、分區(qū)設置子模塊,用于設置kafka?topic的分區(qū)數,利用分區(qū)實現數據的并行寫入,充分發(fā)揮kafka低延遲和高吞吐的讀寫優(yōu)勢,并設置kafka緩存消息的保留時長。
26、更優(yōu)地,關聯模塊包括:
27、flink提供的接收器,用于讀取kafka集群的實時數據流;
28、flink提供的連接器,用于創(chuàng)建kafka消費者,分別消費接收kafka集群中的用戶信令mme數據和mro測量數據;
29、flink提供的過濾器,用于過濾非法數據;
30、flink提供的轉換器,用于提取核心字段轉換為統一格式,分別從用戶信令mme數據和mro測量數據提取出用戶唯一標識做為key,以用戶唯一標識做為關聯鍵對兩側的實時流進行關聯,將用戶信令mme數據中的手機號信息和mro測量數據中的經緯度位置信息關聯到一起,根據時延要求設置watermark的大小,避免觸發(fā)關聯的延遲太大。
31、一種電子設備,包括:存儲器和至少一個處理器;
32、其中,所述存儲器上存儲有計算機程序;
33、所述至少一個處理器執(zhí)行所述存儲器存儲的計算機程序,使得所述至少一個處理器執(zhí)行如上述的基于flink狀態(tài)計算的用戶位置信息關聯方法。
34、一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有計算機程序,所述計算機程序可被處理器執(zhí)行以實現如上述的基于flink狀態(tài)計算的用戶位置信息關聯方法。
35、本發(fā)明的基于flink狀態(tài)計算的用戶位置信息關聯方法、系統、設備及介質具有以下優(yōu)點:
36、(一)本發(fā)明提升移動運營商對每日近60t的用戶信令mme數據和mro測量數據的實時關聯,提高了數據產出的時效性,而且保證了數據的精確一次處理;
37、(二)本發(fā)明采用分布式并行實時計算的思想,以flink的狀態(tài)計算做為基礎,對用戶數據和位置信息數據實現精準一次的關聯處理,提高了關聯效率,降低了數據的產出時延;
38、(三)本發(fā)明從分布式實時處理的角度出發(fā),以flink的狀態(tài)計算能力為基礎,綜合考慮數據結果產出的時效性和一致性,實現大規(guī)模海量信令mme數據和mro數據的實時關聯處理,降低了數據關聯結果輸出的延遲,提高了整體的數據處理效率。