本發明涉及云計算大數據處理,尤其涉及一種分布式數據庫批量刪除方法、裝置及電子設備。
背景技術:
1、近年來,it系統自主可控成為推動it技術自主創新、應對各種風險調整的重要策略,而數據庫自主可控是it系統自主可控的關鍵環節。當前的數據庫以oracle數據庫占比最大,且該數據庫正逐步向國產數據庫、開源數據庫切換。以分布式數據庫為例,在數據庫切換過程中,批量刪除操作是一種大幅提升業務處理性能的常見操作,因此,如何對分布式數據庫進行批量刪除,是云計算大數據處理數據庫切換業務中的重要問題。
2、目前,在分布式數據庫中進行批量刪除時,通常使用jdbc規范提供的接口addbatch和executebatch進行批量處理。具體地,應用程序通過批處理將所有動態參數一次性發送至數據庫的協調節點,數據庫協調節點循環解析動態參數(即:逐條解析動態參數)并確定對應的數據節點,然后逐條將動態參數發送至相應的數據節點,通過數據節點執行刪除操作。因此,目前的分布式數據庫批量刪除過程中,批量刪除操作需要直接逐條執行刪除操作的指令,這樣使得協調節點和數據節點之間通信頻繁、通信效率低,協調節點需要消耗很多通信資源。為此,需要提供一種協調節點和數據節點之間的通信頻次更少、更加節省通信資源消耗的批量刪除方法。
技術實現思路
1、本發明實施例的目的是提供一種分布式數據庫批量刪除方法,以解決現有技術中分布式數據庫批量刪除過程存在的協調節點和數據節點之間通信頻次高、通信效率較低,通信資源消耗很多的問題。
2、為解決上述技術問題,本發明實施例是這樣實現的:
3、第一方面,本發明實施例提供的一種分布式數據庫批量刪除方法,所述方法包括:
4、獲取用于對分布式數據庫進行批量刪除操作的批量動態參數;
5、基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合;
6、基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點,以觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作。
7、可選地,所述所述基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合,包括:
8、基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點;
9、根據確定的每個數據節點,確定每個數據節點對應的動態參數集合。
10、可選地,所述基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點,以觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作,包括:
11、基于每個數據節點對應的動態參數集合,將對應于同一個數據節點的用于批量刪除操作的數據庫語言合并為一條數據庫語言,并根據合并后的一條數據庫語言確定改寫后的數據庫語言;
12、將所述改寫后的數據庫語言發送至所述相應的數據節點,以觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作。
13、可選地,所述數據庫語言包括結構化查詢語言,所述動態參數集合是基于動態參數列表、動態參數數組或者動態參數對應的json格式串構建的集合。
14、可選地,所述基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點,以觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作之后,所述方法還包括:
15、匯總批量刪除操作結果,并將所述批量刪除操作結果發送至客戶端。
16、第二方面,本發明實施例還提供了一種分布式數據庫批量刪除方法,用于服務端,其特征在于,所述方法包括:
17、獲取來自客戶端應用程序的批量刪除請求,所述批量刪除請求中包括用于對分布式數據庫進行批量刪除操作的批量動態參數;
18、通過分布式數據庫的協調節點基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合;
19、基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點;
20、通過所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作,并將批量刪除操作結果發送至協調節點;
21、通過所述協調節點將批量刪除操作結果發送至客戶端應用程序。
22、第三方面,本發明實施例還提供了一種分布式數據庫批量刪除方法,用于客戶端,其特征在于,所述方法包括:
23、發送批量刪除請求至服務端分布式數據庫的協調節點,所述批量刪除請求中包括用于對分布式數據庫進行批量刪除操作的批量動態參數,所述批量刪除請求用于觸發所述服務端通過分布式數據庫的協調節點基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合,基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點,以及觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作,并將批量操作結果發送至協調節點;
24、獲取所述協調節點發送的批量刪除操作結果。
25、第四方面,本發明實施例提供了一種分布式數據庫批量刪除裝置,所述裝置包括:批量刪除請求獲取模塊,用于獲取來自客戶端應用程序的批量刪除請求,所述批量刪除請求中包括用于對分布式數據庫進行批量刪除操作的批量動態參數;
26、解析處理模塊,設置于所述分布式數據庫的協調節點,用于基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合;
27、數據庫語言改寫模塊,設置于所述協調節點,用于基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點;
28、批量刪除操作模塊,設置于所述分布式數據庫的數據節點,用于執行改寫后的數據庫語言以完成批量刪除操作,并將批量刪除操作結果發送至協調節點;
29、發送模塊,設置于所述協調節點,用于將批量刪除操作結果發送至客戶端應用程序。
30、可選地,所述解析處理模塊包括:
31、動態參數解析單元,用于基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點;
32、動態參數集合確定單元,用于根據確定的每個數據節點,確定每個數據節點對應的動態參數集合。
33、可選地,所述數據庫語言改寫模塊包括:
34、改寫單元,用于基于每個數據節點對應的動態參數集合,將對應于同一個數據節點的用于批量刪除操作的數據庫語言合并為一條數據庫語言,并根據合并后的一條數據庫語言確定改寫后的數據庫語言;
35、發送單元,用于將所述改寫后的數據庫語言發送至所述相應的數據節點,以觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作。
36、可選地,所述裝置還包括:
37、匯總模塊,用于匯總批量刪除操作結果,并將所述批量刪除操作結果發送至客戶端。
38、第五方面,本發明實施例還提供了一種分布式數據庫批量刪除裝置,所述裝置包括:
39、請求發送模塊,用于發送批量刪除請求至服務端分布式數據庫的協調節點,所述批量刪除請求中包括用于對分布式數據庫進行批量刪除操作的批量動態參數,所述批量刪除請求用于觸發所述服務端通過分布式數據庫的協調節點基于所述分布式數據庫中包含的數據節點,對所述批量動態參數進行解析處理,確定所述批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合,基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將所述改寫后的數據庫語言發送至相應的數據節點,以及觸發所述相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作,并將批量操作結果發送至協調節點;
40、批量刪除操作結果獲取模塊,用于獲取所述協調節點發送的批量刪除操作結果。
41、第六方面,本發明實施例提供一種電子設備,包括處理器、存儲器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執行時實現上述實施例提供的分布式數據庫批量刪除方法的步驟。
42、第七方面,本發明實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲計算機程序,所述計算機程序被處理器執行時實現上述實施例提供的分布式數據庫批量刪除方法的步驟。
43、由以上本發明實施例提供的技術方案可見,本發明實施例首先獲取用于對分布式數據庫進行批量刪除操作的批量動態參數,然后基于分布式數據庫中包含的數據節點,對批量動態參數進行解析處理,確定批量動態參數對應的數據節點,以及確定每個數據節點對應的動態參數集合;最后基于每個數據節點對應的動態參數集合,對用于批量刪除操作的數據庫語言進行改寫處理,獲取改寫后的數據庫語言,并將改寫后的數據庫語言發送至相應的數據節點,以觸發相應的數據節點執行改寫后的數據庫語言以完成批量刪除操作。本發明實施例通過對動態參數解析過程進行調整,在批量動態參數解析過程中對動態參數進行一次性解析并確定動態參數集合,根據動態參數集合改寫用于批量刪除操作的數據庫語言,從而對解析結果進行歸并和匯總處理,最終數據節點只需要執行改寫后的少量的數據庫語言即可完成批量刪除操作,因此這種方式能夠有效減少協調節點和數據節點之間的網絡通信頻率次,有利于降低分布式數據庫中的網絡流量,便于分布式數據庫處理更多的應用請求,從而有效提高分布式數據庫中批量刪除操作的效率。此外,由于批處理技術是比較常見的技術,將本發明中的分布式數據庫批量刪除方法與相關業務結合,也能夠大大提升批處理場景下的刪除操作,因此,本發明中的分布式數據庫批量刪除方法具有較強的通用性。