System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據同步領域,尤其涉及一種基于flinkcdc任務的數據同步方法、設備及存儲介質。
技術介紹
1、隨著物聯網、5g、人工智能等技術的發展,數據量正在迅速增長。據國際權威機構statista統計,全球數據產生量預計達到47zb,預計到2035年將達到2142zb,顯示出數據量的大規模爆發趨勢。大數據技術已經發展成為覆蓋面龐大的技術體系,包括數據存儲、處理計算的基礎技術,以及數據治理、數據分析應用、數據安全流通等周邊技術。技術趨勢包括存算分離、serverless、云原生等概念的提出,以及人工智能在數據資產管理中的應用,提高了數據管理的自動化和智能化水平。
2、然而,隨著數據量不斷增長,在多并行度同步的使用場景下,現有數據分析存在數據同步準確性問題。因此,針對數據系統在處理數據量大時,數據同步的準確性不足的技術問題,需要一種新的技術來解決當前問題。
技術實現思路
1、本專利技術的主要目的在于解決數據系統在處理數據量大時,數據同步的準確性不足的技術問題。
2、本專利技術第一方面提供了一種基于flinkcdc任務的數據同步方法,包括步驟:
3、將flinkcdc任務部署在預置streampark服務中;
4、接收配置文件,連接所述配置文件對應的mysql數據庫,得到schema元信息表;
5、根據所述配置文件,對所述schema元信息表添加表前綴,生成starrocks數據庫的明細模型表、主鍵模型表;
6
7、根據所述flinkcdc任務,從所述mysql數據庫中獲取binlog事件;
8、根據所述binlog事件,對所述更新主鍵模型表進行修改處理,得到變更主鍵模型表;
9、根據預設同步更新周期,將所述datax任務和所述變更主鍵模型表加載至所述明細模型表中,生成同步明細模型表。
10、可選的,在本專利技術第一方面的第一種實現方式中,所述根據所述binlog事件,對所述更新主鍵模型表進行修改處理,得到變更主鍵模型表包括:
11、判斷所述binlog事件是否為表結構變更事件;
12、當為表結構變更事件,則中止從所述mysql數據庫獲取數據,基于預置緩沖區的數據,調整所述starrocks數據庫中更新主鍵模型表的表結構,得到變更主鍵模型表;
13、當不為表結構變更事件,則判斷所述binlog事件是否為刷寫事件;
14、當為刷寫事件時,則將預置緩沖區的數據刷寫至所述更新主鍵模型表中,得到變更主鍵模型表;
15、當不為刷寫事件時,則將所述binlog事件對應數據寫入預置緩沖區中。
16、可選的,在本專利技術第一方面的第二種實現方式中,在所述將所述binlog事件對應數據寫入預置緩沖區之前,還包括:
17、基于所述更新主鍵模型表的主鍵編號,對預置緩沖區進行分區處理,得到所述主鍵編號對應的緩沖區。
18、可選的,在本專利技術第一方面的第三種實現方式中,所述將所述binlog事件對應數據寫入預置緩沖區中包括:
19、將所述binlog事件對應數據寫入所述主鍵編號對應的緩沖區中。
20、可選的,在本專利技術第一方面的第四種實現方式中,所述根據所述flinkcdc任務,從所述mysql數據庫中獲取binlog事件包括:
21、基于debezium平臺,對所述flinkcdc任務進行信息模擬處理,生成模擬mysqlslave組件;
22、基于所述模擬mysql?slave組件,從所述mysql數據庫獲取binlog事件。
23、可選的,在本專利技術第一方面的第五種實現方式中,所述將flinkcdc任務部署在預置streampark服務中包括:
24、將flinkcdc任務上傳至kubernetes集群中,生成docker容器;
25、將所述docker容器集成到streampark服務中。
26、可選的,在本專利技術第一方面的第六種實現方式中,所述接收配置文件,連接所述配置文件對應的mysql數據庫,得到schema元信息表包括:
27、接收配置文件;
28、基于jdbc接口,連接所述配置文件對應的mysql數據庫,得到schema元信息表。
29、可選的,在本專利技術第一方面的第七種實現方式中,所述根據預設同步更新周期,將所述datax任務和所述變更主鍵模型表加載至所述明細模型表中,生成同步明細模型表包括:
30、根據預設同步更新周期,通過流式加載方式將所述datax任務和所述變更主鍵模型表加載至所述明細模型表中,生成同步明細模型表。
31、本專利技術第二方面提供了一種基于flinkcdc任務的數據同步設備,包括:存儲器和至少一個處理器,所述存儲器中存儲有指令,所述存儲器和所述至少一個處理器通過線路互連;所述至少一個處理器調用所述存儲器中的所述指令,以使得所述基于flinkcdc任務的數據同步設備執行上述的基于flinkcdc任務的數據同步方法。
32、本專利技術的第三方面提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,當其在計算機上運行時,使得計算機執行上述的基于flinkcdc任務的數據同步方法。
33、在本專利技術實施例中,通過同時構建主鍵模型表和明細模型表,兩表數據采用的不同的同步策略來同步數據,歷史數據與實時數據分開同步,保證數據同步的靈活性以及資源的有效利用,避免浪費資源。基于源表根據配置的規則統一導向starrocks數據庫中,實現了在處理大量數據時數據同步的高準確性,確保了數據一致性。
本文檔來自技高網...【技術保護點】
1.一種基于FlinkCDC任務的數據同步方法,其特征在于,包括步驟:
2.根據權利要求1所述的基于FlinkCDC任務的數據同步方法,其特征在于,所述根據所述binlog事件,對所述更新主鍵模型表進行修改處理,得到變更主鍵模型表包括:
3.根據權利要求2所述的基于FlinkCDC任務的數據同步方法,其特征在于,在所述將所述binlog事件對應數據寫入預置緩沖區之前,還包括:
4.根據權利要求3所述的基于FlinkCDC任務的數據同步方法,其特征在于,所述將所述binlog事件對應數據寫入預置緩沖區中包括:
5.根據權利要求1所述的基于FlinkCDC任務的數據同步方法,其特征在于,所述根據所述FlinkCDC任務,從所述MySQL數據庫中獲取binlog事件包括:
6.根據權利要求1所述的基于FlinkCDC任務的數據同步方法,其特征在于,所述將FlinkCDC任務部署在預置StreamPark服務中包括:
7.根據權利要求1所述的基于FlinkCDC任務的數據同步方法,其特征在于,所述接收配置文件,連接所
8.根據權利要求1所述的基于FlinkCDC任務的數據同步方法,其特征在于,所述根據預設同步更新周期,將所述Datax任務和所述變更主鍵模型表加載至所述明細模型表中,生成同步明細模型表包括:
9.一種基于FlinkCDC任務的數據同步設備,其特征在于,所述基于FlinkCDC任務的數據同步設備包括:存儲器和至少一個處理器,所述存儲器中存儲有指令,所述存儲器和所述至少一個處理器通過線路互連;
10.一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1-8中任一項所述的基于FlinkCDC任務的數據同步方法。
...【技術特征摘要】
1.一種基于flinkcdc任務的數據同步方法,其特征在于,包括步驟:
2.根據權利要求1所述的基于flinkcdc任務的數據同步方法,其特征在于,所述根據所述binlog事件,對所述更新主鍵模型表進行修改處理,得到變更主鍵模型表包括:
3.根據權利要求2所述的基于flinkcdc任務的數據同步方法,其特征在于,在所述將所述binlog事件對應數據寫入預置緩沖區之前,還包括:
4.根據權利要求3所述的基于flinkcdc任務的數據同步方法,其特征在于,所述將所述binlog事件對應數據寫入預置緩沖區中包括:
5.根據權利要求1所述的基于flinkcdc任務的數據同步方法,其特征在于,所述根據所述flinkcdc任務,從所述mysql數據庫中獲取binlog事件包括:
6.根據權利要求1所述的基于flinkcdc任務的數據同步方法,其特征在于,所述將flinkcdc任務...
【專利技術屬性】
技術研發人員:謝國斌,徐約可,馬明,李環良,
申請(專利權)人:深圳大道云科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。