本技術涉及數據處理,尤其涉及一種數據同步方法和數據同步裝置。
背景技術:
1、隨著企業數字化轉型的深入,容器化技術已成為it基礎設施的重要組成部分。kubernetes(k8s)作為容器編排的開源平臺,通過自動化的方式實現應用的部署、擴展和管理,極大地提升了資源利用效率和應用交付速度。在kubernetes集群中,etcd作為核心的存儲組件,承擔了存儲和管理集群狀態數據、配置數據和元數據的重要任務。其穩定性和可靠性直接影響到整個kubernetes系統的正常運行。
2、然而,隨著企業業務的擴展,單一etcd集群在數據管理和恢復方面的局限性逐漸顯現,特別是在多集群管理、跨集群數據同步以及異地災備等場景中。傳統的etcd數據管理方法,包括快照備份和鏡像同步,其中,快照備份是將etcd的整個數據庫狀態以快照形式保存下來,鏡像同步(如mirror-maker)是通過鏡像技術實現etcd數據的同步,但是,由于快照備份和鏡像同步均為全量同步,導致同步過程耗時長且資源占用大,跨集群恢復或異地多活場景中效率低下。
3、因此,如何實現跨級群場景下的自定義數據同步,是目前亟需解決的一個問題。
技術實現思路
1、本技術的主要目的在于提供一種數據同步方法、裝置及計算機可讀存儲介質,旨在解決如何實現跨級群場景下的自定義數據同步的技術問題。
2、為實現上述目的,本技術提供一種數據同步方法,所述數據同步方法包括以下步驟:
3、基于源etcd集群與目標etcd集群對應key黑白名單中的數據,生成多層索引層,按照預設規則生成所述索引層對應的索引表,并基于所述索引層以及所述索引表確定待匹配索引;
4、基于源etcd集群的待匹配數據以及所述待匹配索引,在多層索引層中確定待匹配索引層;
5、基于待匹配索引層中的數據,對所述待匹配數據進行數據篩選操作,獲得第一匹配數據;
6、基于key白名單以及所述第一匹配數據確定目標數據,并將所述目標數據同步至所述目標etcd集群。
7、進一步地,所述基于源etcd集群與目標etcd集群對應key黑白名單中的數據,生成多層索引層,按照預設規則生成所述索引層對應的索引表,并基于所述索引層以及所述索引表確定待匹配索引的步驟包括:
8、對所述key黑白名單中的數據進行字符組合獲得組合數據,并基于所述組合數據中各個數據的字符長度生成多層索引層;
9、基于所述預設規則以及所述多層索引層中的各個數據,生成所述多層索引層對應的索引表;
10、將所述索引表中各個索引對應的索引數據,分別與所述多層索引層中的各個數據進行對比,獲得各個索引數據對應的匹配次數,并基于所述匹配次數確定所述待匹配索引。
11、進一步地,所述基于源etcd集群的待匹配數據以及所述待匹配索引,在多層索引層中確定待匹配索引層的步驟包括:
12、獲取所述待匹配數據對應的待匹配key;
13、將所述待匹配key與各個所述待匹配索引對應的數據進行匹配,以在各個所述待匹配索引中確定所述待匹配key對應的目標索引;
14、將所述多層索引層中所述目標索引對應的索引層作為所述待匹配索引層。
15、進一步地,所述基于待匹配索引層中的數據,對所述待匹配數據進行數據篩選操作,獲得第一匹配數據的步驟包括:
16、將所述待匹配索引層中的數據分別與所述待匹配數據中的各個數據進行匹配驗證,獲得所述待匹配索引層中的數據對應的第二匹配數據;
17、將所述待匹配數據中所述第二匹配數據之外的數據作為所述第一匹配數據。
18、進一步地,所述基于key白名單以及所述第一匹配數據確定目標數據,并將所述目標數據同步至所述目標etcd集群的步驟包括:
19、通過預設的優化算法,對所述第一匹配數據中的數據進行逐一驗證,判斷所述第一匹配數據中的各數據是否屬于所述key黑白名單中的某一類別,并將所述第一匹配數據中屬于所述key白名單的數據作為所述目標數據,并將所述目標數據同步至所述目標etcd集群。
20、進一步地,所述將所述目標數據同步至所述目標etcd集群的步驟之后,所述數據同步方法還包括:
21、基于所述key黑白名單對源etcd集群進行持續監聽操作,以確定源etcd集群的key中的數據變化key;
22、在數據變化key中確定是否存在與所述key黑白名單匹配的待同步key;
23、若存在所述待同步key,則獲取所述待同步key對應的變更數據,并將所述變更數據同步至所述目標etcd集群。
24、進一步地,所述獲取所述待同步key對應的變更數據,并將所述變更數據同步至所述目標etcd集群的步驟之后,所述數據同步方法還包括:
25、在將所述變更數據同步至所述目標etcd集群的過程中,實時監控同步操作是否存在異常;
26、若所述同步操作存在異常,則重啟數據同步服務,并基于最近一次全量同步后的源etcd集群,執行數據同步操作。
27、進一步地,所述數據同步方法還包括:
28、接收到集群添加操作對應的etcd證書文件時,對所述etcd證書文件進行有效性檢測操作;
29、若所述etcd證書文件為有效證書,則對所述etcd證書文件進行格式轉換操作,并存儲格式轉換后的etcd證書文件。
30、進一步地,所述數據同步方法還包括:
31、基于etcd集群列表展示各個etcd證書文件以及各個所述etcd證書文件對應的到期倒計時;
32、若各個所述到期倒計時中存在臨近過期的目標到期倒計時,則獲取目標到期倒計時對應的待更新etcd證書文件;
33、若所述待更新etcd證書文件對應的配置信息中存在自動更新信息,則生成所述待更新etcd證書文件對應的新etcd證書文件;
34、在數據庫中基于所述新etcd證書文件更新所述待更新etcd證書文件,并更新所述etcd集群列表;
35、若所述待更新etcd證書文件對應的配置信息中不存在自動更新信息,則發送到期告警信息至所述待更新etcd證書文件對應的用戶終端。
36、此外,為實現上述目的,本技術還提供一種數據同步裝置,所述數據同步裝置包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的數據同步程序,所述數據同步程序被所述處理器執行時實現前述的數據同步方法的步驟。
37、本技術通過基于源etcd集群與目標etcd集群對應key黑白名單中的數據,生成多層索引層,按照預設規則生成所述索引層對應的索引表,并基于所述索引層以及所述索引表確定待匹配索引;接著基于源etcd集群的待匹配數據以及所述待匹配索引,在多層索引層中確定待匹配索引層;而后基于待匹配索引層中的數據,在所述待匹配數據中確定key黑名單對應的第一匹配數據以及key白名單對應的第二匹配數據;然后基于所述key黑名單與所述key白名單之間的關聯關系、第一匹配數據以及所述第二匹配數據,確定目標數據,并將所述目標數據同步至所述目標etcd集群,通過自定義的key黑白名單確定待匹配索引,根據待匹配索引對待匹配數據進行篩選,得到需要同步的目標數據,實現了跨級群場景下的自定義數據同步,減少數據處理量,提升了備份和恢復的效率。