本發(fā)明涉及計算機,特別涉及一種nifi的數(shù)據(jù)源信息變更方法以及裝置。
背景技術:
1、在當今數(shù)據(jù)賦能各行各業(yè)的時代,數(shù)據(jù)開放和數(shù)據(jù)共享已成為時代發(fā)展的必然趨勢。在確保數(shù)據(jù)流轉安全性的同時,數(shù)據(jù)的安全性尤為重要。數(shù)據(jù)作為基礎,安全則是保障,只有確保安全防護,才能充分體現(xiàn)數(shù)據(jù)的真正價值。
2、在利用nifi作為cdc數(shù)據(jù)交換工具時,面對大量數(shù)據(jù)源連接信息的變更或定期密碼重置的情況,常常需要暫停引用數(shù)據(jù)源的任務、修改連接信息,然后再重新啟動任務。每次數(shù)據(jù)源變更都需要多次啟停操作,當遇到大量數(shù)據(jù)源信息變更時,手動進行繁瑣復雜的啟停操作容易導致遺漏。在啟停過程中,處理正在運行的任務往往會導致長時間的停止,執(zhí)行終止操作可能觸發(fā)數(shù)據(jù)回滾,導致目標庫數(shù)據(jù)異常,難以完全確保所有變更的準確性。其中,cdc(change?data?capture)數(shù)據(jù)是一種特殊類型的數(shù)據(jù),用于跟蹤數(shù)據(jù)庫中的變化(包括增加、修改、刪除等操作)并捕獲這些變化。nifi(apache?nifi)是一個開源的數(shù)據(jù)流處理和自動化系統(tǒng),旨在簡化數(shù)據(jù)流的收集、聚合、轉換和傳輸。
技術實現(xiàn)思路
1、本發(fā)明提供一種nifi的數(shù)據(jù)源信息變更方法以及裝置,解決了現(xiàn)有技術中遇到大量數(shù)據(jù)源信息變更時,手動進行繁瑣復雜的啟停操作容易導致遺漏且啟停過程中導致目標庫數(shù)據(jù)異常,難以完全確保所有變更的準確性的問題。
2、根據(jù)本技術的一個方面,提供了一種nifi的數(shù)據(jù)源信息變更方法,包括:
3、獲取nifi的待變更文件的備份文件;
4、對所述備份文件進行解壓處理,以得到解壓文件;
5、通過sax解析器對所述解壓文件進行解析,以得到預設格式的文件流;
6、確定所述預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點;
7、根據(jù)所述預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點,確定所述預設格式的文件流對應的數(shù)據(jù)源的信息主鍵;
8、獲取所述待變更文件對應的待變更數(shù)據(jù)源并確定所述待變更數(shù)據(jù)源的信息主鍵;
9、確定所述數(shù)據(jù)源的信息主鍵與所述待變更數(shù)據(jù)源的信息主鍵相匹配的目標數(shù)據(jù)源信息;
10、將所述待變更數(shù)據(jù)源的數(shù)據(jù)源信息更換為所述目標數(shù)據(jù)源信息。
11、在一實施例中,所述獲取nifi的待變更文件的備份文件包括:
12、通過輸入文件流讀取nifi的待變更文件的原始文件;
13、通過輸出文件流寫出所述原始文件并進行備份處理,以得到待變更文件的備份文件。
14、在一實施例中,所述確定所述預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點包括:
15、獲取所述預設格式的文件流對應的數(shù)據(jù)源的目標元素;
16、從節(jié)點樹中查找與所述目標元素匹配的元素;
17、確定所述元素對應的組節(jié)點為所述預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點。
18、在一實施例中,所述節(jié)點樹的構建方法包括:
19、創(chuàng)建根節(jié)點;其中,所述根節(jié)點對應有根名稱;
20、創(chuàng)建多個組節(jié)點;其中,每個組節(jié)點均與所述根節(jié)點連接且所述根節(jié)點的方向指向每個組節(jié)點;
21、在每個組節(jié)點中添加數(shù)據(jù)源的連接器、數(shù)據(jù)處理器以及數(shù)據(jù)轉發(fā)連接器作為所述數(shù)據(jù)源的元素;其中,所述連接器用于接收或者發(fā)送數(shù)據(jù),所述數(shù)據(jù)處理器用于對所述數(shù)據(jù)源接收到的數(shù)據(jù)進行處理、轉換,所述數(shù)據(jù)轉發(fā)連接器用于將處理后的數(shù)據(jù)轉發(fā)到與其他組節(jié)點中的處理器;
22、將含有相同元素的組節(jié)點放置在同一個父節(jié)點中,以得到放置后的父節(jié)點;
23、根據(jù)所述放置后的父節(jié)點、其他父節(jié)點以及所述根節(jié)點,構建所述節(jié)點樹。
24、在一實施例中,所述獲取所述待變更文件對應的待變更數(shù)據(jù)源包括:
25、獲取數(shù)據(jù)源信息表;
26、從所述數(shù)據(jù)源信息表中查找滿足預設條件的數(shù)據(jù)源作為所述待變更文件對應的待變更數(shù)據(jù)源。
27、在一實施例中,所述從所述數(shù)據(jù)源信息表中查找滿足預設條件的數(shù)據(jù)源作為所述待變更文件對應的待變更數(shù)據(jù)源包括:
28、確定變更關鍵詞;其中,所述變更關鍵詞包括數(shù)據(jù)源的名稱或者數(shù)據(jù)源的類型;
29、從所述數(shù)據(jù)源信息表中查找與所述變更關鍵詞匹配的數(shù)據(jù)源作為所述待變更文件對應的待變更數(shù)據(jù)源。
30、在一實施例中,所述從所述數(shù)據(jù)源信息表中查找滿足預設條件的數(shù)據(jù)源作為所述待變更文件對應的待變更數(shù)據(jù)源包括:
31、從所述數(shù)據(jù)源信息表中查找連接失敗的數(shù)據(jù)源作為所述待變更文件對應的待變更數(shù)據(jù)源。
32、在一實施例中,所述獲取數(shù)據(jù)源信息表包括:
33、獲取多個配置文件對應的數(shù)據(jù)源的數(shù)據(jù)源信息;其中,所述數(shù)據(jù)源信息包括名稱、類型、用戶名、密碼、創(chuàng)建日期以及修改日期;
34、設定每個數(shù)據(jù)源對應有一個主鍵;
35、根據(jù)每個數(shù)據(jù)源的數(shù)據(jù)源信息以及每個數(shù)據(jù)源的主鍵,構建所述數(shù)據(jù)源信息表。
36、在一實施例中,在所述將所述待變更數(shù)據(jù)源的數(shù)據(jù)源信息更換為所述目標數(shù)據(jù)源信息之后,nifi的數(shù)據(jù)源信息變更方法還包括:
37、通過預設寫出流獲取變更后的文件;
38、將所述變更后的文件進行壓縮,以得到壓縮后的文件;
39、將所述壓縮后的文件配置在nifi的配置文件路徑中。
40、根據(jù)本技術的另一個方面,提供了一種nifi的數(shù)據(jù)源信息變更裝置,包括:文件獲取模塊,用于獲取nifi的待變更文件的備份文件;
41、解壓模塊,用于對所述備份文件進行解壓處理,以得到解壓文件;
42、解析模塊,用于通過sax解析器對所述解壓文件進行解析,以得到預設格式的文件流;
43、第一確定模塊,用于確定所述預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點;
44、第二確定模塊,用于根據(jù)所述預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點,確定所述預設格式的文件流對應的數(shù)據(jù)源的信息主鍵;
45、主鍵獲取模塊,用于獲取所述待變更文件對應的待變更數(shù)據(jù)源并確定所述待變更數(shù)據(jù)源的信息主鍵;
46、第三確定模塊,用于確定所述數(shù)據(jù)源的信息主鍵與所述待變更數(shù)據(jù)源的信息主鍵相匹配的目標數(shù)據(jù)源信息;
47、更換模塊,用于將所述待變更數(shù)據(jù)源的數(shù)據(jù)源信息更換為所述目標數(shù)據(jù)源信息。
48、本發(fā)明實施例提供了一種nifi的數(shù)據(jù)源信息變更方法以及裝置,包括:獲取nifi的待變更文件的備份文件,對備份文件進行解壓處理,以得到解壓文件,通過sax解析器對解壓文件進行解析,以得到預設格式的文件流,確定預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點,根據(jù)預設格式的文件流對應的數(shù)據(jù)源的父節(jié)點,確定預設格式的文件流對應的數(shù)據(jù)源的信息主鍵,獲取待變更文件對應的待變更數(shù)據(jù)源并確定待變更數(shù)據(jù)源的信息主鍵,確定數(shù)據(jù)源的信息主鍵與待變更數(shù)據(jù)源的信息主鍵相匹配的目標數(shù)據(jù)源信息,將待變更數(shù)據(jù)源的數(shù)據(jù)源信息更換為目標數(shù)據(jù)源信息。利用nifi工具在cdc數(shù)據(jù)同步過程中,要修改大量數(shù)據(jù)源連接信息,面對引用nifi節(jié)點多,業(yè)務不可長時間停止,且不想人工一個一個數(shù)據(jù)源進行修改的情況下,提出利用編寫腳本快速變更nifi中大批量的數(shù)據(jù)源連接信息方案。通過對備份文件進行解壓,獲取更新后的連接信息,通過主鍵匹配對待變更文件的待變更數(shù)據(jù)源進行更改,對變更后的文件進行回壓,該方案能夠保證一次性處理大量變更,高效快捷。降低人工操作的復雜性,降低變更帶來的窗口期,保證業(yè)務的正常運行,提高平臺的穩(wěn)定性,確保數(shù)據(jù)高效準確的同步。并快速高效的解決了生產環(huán)境上提出的要求,保證業(yè)務不受影響,且快速改正數(shù)據(jù)源的連接信息,將變更窗口期時間降至最低。通過腳本處理,實現(xiàn)了多個節(jié)點可同時變更,大大提高了工作效率,降低人工操作的復雜度和錯誤率,保證了數(shù)據(jù)同步過程的高效性、準確性,保障業(yè)務的正常運轉。