本申請涉及數據處理,具體涉及一種數據處理方法、裝置、電子設備及存儲介質。
背景技術:
1、隨著數據的更新迭代,大數據中心的構建形式必然向集中、開放、賦能的企業級數據中臺架構演進。移動體系內大數據平臺的核心引擎,如:采集、清洗、轉換(extract,transform,load,etl)裝置等的構建方法以及質量將經受更嚴苛的使用挑戰。
2、現有的etl裝置在數據同步的過程中存在如下問題:(1)傳統etl的采集任務調度機制往往基于時間進行。該機制較為簡單直接,但是容易造成系統負載過高問題,定時任務重疊問題以及系統時鐘偏差問題。(2)分布式架構負載均衡問題,針對單點瓶頸問題,etl分布式架構通常采用(master/slave)主從模式。集群中各節點服務嚴格按角色分工,單點master節點負責分發任務,slave負責執行任務。中心化分布式容易導致master單點故障問題和slave熱點問題,單master宕機會導致整個集群工作異常,如果slave節點上的任務分配無法動態規劃,遇到并發量過大、業務邏輯過于復雜,會導致系統性能瓶頸集中在某個slave節點上,影響這個集群處理效率。(3)低代碼etl系統會限制etl系統的靈活度,在簡化開發流程的過程中,如果配置抽象不當或者考慮不清晰,會限制功能的靈活性,無法處理復雜的etl場景,同時隱藏底層設計細節,會導致etl系統的程序處理性能受限。
3、綜上可知,現有的etl系統的數據處理方法效率低。
技術實現思路
1、本申請實施例提供一種數據處理方法、裝置、電子設備及存儲介質,用以解決現有的etl系統的數據處理方法效率低的技術問題。
2、第一方面,本申請實施例提供一種數據處理方法,包括:
3、接收到數據同步請求后,基于管理節點生成至少一條數據同步消息,并基于所述管理節點將所述數據同步消息分配給后端節點;
4、基于所述后端節點,為每條所述數據同步消息配置采集插件、寫插件和配置信息;
5、基于所述配置信息,將待同步數據同步至目標數據庫,所述待同步數據是基于所述采集插件獲取的;
6、基于所述寫插件,將所述待同步數據寫入所述目標數據庫。
7、在一個實施例中,基于所述采集插件,獲取所述待同步數據,包括:
8、從所述數據同步消息中,獲取所述采集插件的采集參數,所述采集參數包括文件服務器的協議、地址、端口以及路徑信息;
9、基于所述采集參數,控制所述采集插件從所述文件服務器中讀取數據文件的字段列表以及分隔符,得到所述待同步數據。
10、在一個實施例中,所述基于所述寫插件,將所述待同步數據寫入所述目標數據庫,包括:
11、獲取所述寫插件的寫入參數,所述寫入參數包括文件壓縮類型、目錄信息、字段列表、分隔符以及更新方式;
12、基于所述寫入參數,控制所述寫插件將所述待同步數據寫入所述目標數據庫。
13、在一個實施例中,所述基于所述配置信息,將待同步數據同步至目標數據庫,包括:
14、基于所述配置信息,確定所述待同步數據的同步參數,所述同步參數包括傳輸速度、并發數、臟數據最大記錄閾值、臟數據占比閾值;
15、基于所述同步參數,將所述待同步數據同步至所述目標數據庫。
16、在一個實施例中,所述基于所述寫插件,將所述待同步數據寫入所述目標數據庫之后,還包括:
17、確定所述數據同步消息的返回結果,所述返回結果至少包括讀取數據條數、寫入成功/失敗條數、數據轉換成功/失敗條數、轉換過程耗時以及全過程總耗時;
18、基于所述返回結果,確定所述數據同步消息的處理情況;
19、將分布式鎖的位移標識符提交至所述數據同步消息對應的分區,以釋放所述分布式鎖,同時記錄所述處理情況;其中,所述分布式鎖是基于所述數據同步消息的主題及其分區、所述位移標識符創建的。
20、在一個實施例中,基于所述管理節點將所述數據同步消息分配給后端節點,包括:
21、確定所述后端節點的cpu負荷平均值和可用物理內存;
22、當第一目標后端節點的所述cpu負荷平均值和可用物理內存滿足所述數據同步消息的配置門限時,將所述數據同步消息分配至所述第一目標后端節點對應的分區;其中,所述第一目標后端節點從所述分區獲取所述數據同步消息。
23、在一個實施例中,基于所述管理節點將所述數據同步消息分配給后端節點,包括:
24、基于所述管理節點,對每個所述后端節點的預設權重和動態權重求和,得到所述后端節點的目標權重;
25、將所述數據同步消息分配給所述目標權重最大的第二目標后端節點對應的分區,并更新所述第二目標后端節點的目標動態權重;其中,更新后的所述目標動態權重是由所述目標動態權重和所有所述預設權重的差值得到的,所述第二目標后端節點從所述分區獲取所述數據同步消息。
26、第二方面,本申請實施例提供一種數據處理裝置,包括:
27、分配模塊,用于接收到數據同步請求后,基于管理節點生成至少一條數據同步消息,并基于所述管理節點將所述數據同步消息分配給后端節點;
28、配置模塊,用于為每條所述數據同步消息配置所述后端節點的采集插件、寫插件和配置信息;
29、同步模塊,用于基于所述配置信息,將待同步數據同步至目標數據庫,所述待同步數據是基于所述采集插件獲取的;
30、寫入模塊,用于基于所述寫插件,將所述待同步數據寫入所述目標數據庫。
31、第三方面,本申請實施例提供一種電子設備,包括處理器和存儲有計算機程序的存儲器,所述處理器執行所述程序時實現第一方面所述的數據處理方法的步驟。
32、第四方面,本申請實施例提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現第一方面所述的數據處理方法的步驟。
33、本申請實施例提供的數據處理方法、裝置、電子設備及存儲介質,通過。本申請實施例通過接收到數據同步請求后,基于管理節點生成至少一條數據同步消息,并基于所述管理節點將所述數據同步消息分配給后端節點;基于后端節點,為每條所述數據同步消息配置采集插件、寫插件和配置信息;基于所述配置信息,將待同步數據同步至目標數據庫,所述待同步數據是基于所述采集插件獲取的;基于所述寫插件,將所述待同步數據寫入所述目標數據庫。本申請實施例通過為每條數據同步消息配置采集插件、寫插件和配置信息,實現了對數據同步消息的多進程和/或多線程處理,提高了對數據同步消息處理的效率。通過將采集操作和寫入操作插件化,提高了對數據同步消息處理的準確性。
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的數據處理方法,其特征在于,基于所述采集插件,獲取所述待同步數據,包括:
3.根據權利要求1所述的數據處理方法,其特征在于,所述基于所述寫插件,將所述待同步數據寫入所述目標數據庫,包括:
4.根據權利要求1所述的數據處理方法,其特征在于,所述基于所述配置信息,將待同步數據同步至目標數據庫,包括:
5.根據權利要求1所述的數據處理方法,其特征在于,所述基于所述寫插件,將所述待同步數據寫入所述目標數據庫之后,還包括:
6.根據權利要求1所述的數據處理方法,其特征在于,基于所述管理節點將所述數據同步消息分配給后端節點,包括:
7.根據權利要求1所述的數據處理方法,其特征在于,基于所述管理節點將所述數據同步消息分配給后端節點,包括:
8.一種數據處理裝置,其特征在于,包括:
9.一種電子設備,包括處理器和存儲有計算機程序的存儲器,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7任一項所述的數據處理方法的步驟。
10.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7任一項所述的數據處理方法的步驟。