本發明涉及數據庫,更具體地涉及一種分布式數據庫非對等資源備份恢復方法、裝置和設備。
背景技術:
1、隨著互聯網的普及,傳統的集中式的數據庫難以滿足大數據量以及高并發量的需求。因此,通常利用可以進行橫向擴展的分布式數據庫,以滿足大數據量以及高并發量的需求。
2、在對分布式數據庫中的數據進行備份恢復時,通常需要將原數據庫集群中所有服務器中的數據進行備份,然后將備份的數據恢復到具有相同數量服務器的目標數據庫中。但是,在原數據庫集群的服務器數量與目標數據庫集群的服務器數量不同的情況下,難以在原數據庫集群和目標數據庫集群之間進行備份恢復。
技術實現思路
1、鑒于上述問題,本發明提供了分布式數據庫非對等資源備份恢復方法、裝置、設備、介質和程序產品。
2、根據本發明的第一個方面,提供了一種分布式數據庫非對等資源備份恢復方法,包括:響應于檢測到備份恢復指令,從恢復配置文件中讀取第一參數和第二參數,并生成針對上述第二參數的讀取結果,其中,上述第一參數包括第一存儲地址和第一備份地址,上述第一存儲地址表征預先從原數據庫集群獲取的備份數據的臨時存儲地址,上述第一備份地址為目標數據庫集群的地址;上述第二參數包括表征上述目標數據庫集群的硬件部署方式的部署參數、表征上述原數據庫集群與上述目標數據庫集群之間硬件資源差異的第一數據分片參數;響應于確定上述讀取結果表征上述恢復配置文件包括第二參數,從上述第一存儲地址獲取上述備份數據;基于上述部署參數,將上述備份數據恢復至上述第一備份地址;以及基于上述第一數據分片參數,對上述備份數據進行重分布操作,得到最終備份數據。
3、根據本發明的實施例,上述基于上述第一數據分片參數,對上述備份數據進行重分布操作,得到最終備份數據,包括:在上述目標數據庫集群的主服務器上,將上述第一數據分片參數指示的目標數據分片上的備份數據重分布至上述主服務器內的預設數據分片內,得到上述最終備份數據;以及將上述主服務器上的上述最終備份數據同步至上述目標數據庫集群的至少一個備服務器。
4、根據本發明的實施例,重分布操作包括擴容操作或縮容操作。
5、根據本發明的實施例,上述方法還包括:在基于上述第一數據分片參數,對上述備份數據進行重分布操作之前,對上述目標數據庫集群添加預設數據庫鎖,以停止上述目標數據庫集群基于上述最終備份數據提供的服務;在基于上述第一數據分片參數,對上述備份數據進行重分布操作之后,解除上述預設數據庫鎖,以恢復上述目標數據庫集群基于上述最終備份數據提供的服務。
6、根據本發明的實施例,上述方法還包括:響應于確定上述讀取結果表征上述恢復配置文件不包括上述第二參數,從上述第一存儲地址獲取上述備份數據,并將上述備份數據恢復至上述第一備份地址。
7、根據本發明的實施例,上述恢復配置文件還可以包括第二數據分片參數,上述從上述第一存儲地址獲取上述備份數據,包括:從上述第一存儲地址中獲取與上述第二數據分片參數對應的備份數據;其中,與上述第二數據分片參數對應的備份數據為上述第一存儲地址中存儲的備份數據,或者,與上述第二數據分片參數對應的備份數據為上述第一存儲地址中存儲的備份數據的一部分。
8、根據本發明的實施例,預先從原數據庫集群獲取備份數據,包括:響應于檢測到備份指令,從備份配置文件中讀取第二存儲地址、第二備份地址,其中,上述第二備份地址與上述第一存儲地址相同;上述第二存儲地址為上述原數據庫集群的地址;從上述第二存儲地址獲取上述備份數據,并將上述備份數據存儲至上述第二備份地址。
9、根據本發明的實施例,上述備份配置文件還包括第三數據分片參數,上述從上述第二存儲地址獲取上述備份數據,包括:從上述第二存儲地址中獲取與上述第三數據分片參數對應的備份數據;其中,與上述第三數據分片參數對應的備份數據為上述第二存儲地址中存儲的備份數據,或者,與上述第三數據分片參數對應的備份數據為上述第二存儲地址中存儲的備份數據的一部分。
10、本發明的第二方面提供了一種分布式數據庫非對等資源備份恢復裝置,包括:讀取模塊,用于響應于檢測到備份恢復指令,從恢復配置文件中讀取第一參數和第二參數,并生成針對上述第二參數的讀取結果,其中,上述第一參數包括第一存儲地址和第一備份地址,上述第一存儲地址表征預先從原數據庫集群獲取的備份數據的臨時存儲地址,上述第一備份地址為目標數據庫集群的地址;上述第二參數包括表征上述目標數據庫集群的硬件部署方式的部署參數、表征上述原數據庫集群與上述目標數據庫集群之間硬件資源差異的第一數據分片參數;數據獲取模塊,用于響應于確定上述讀取結果表征上述恢復配置文件包括第二參數,從上述第一存儲地址獲取上述備份數據;第一恢復模塊,用于基于上述部署參數,將上述備份數據恢復至上述第一備份地址;以及重分布模塊,用于基于上述第一數據分片參數,對上述備份數據進行重分布操作,得到最終備份數據。
11、本發明的第三方面提供了一種電子設備,包括:一個或多個處理器;存儲器,用于存儲一個或多個計算機程序,其特征在于,上述一個或多個處理器執行上述一個或多個計算機程序以實現上述方法的步驟。
12、本發明的第四方面還提供了一種計算機可讀存儲介質,其上存儲有計算機程序或指令,上述計算機程序或指令被處理器執行時實現上述方法的步驟。
13、本發明的第五方面還提供了一種計算機程序產品,包括計算機程序或指令,上述計算機程序或指令被處理器執行時實現上述方法的步驟。
14、根據本發明的實施例,在原數據集群和目標數據集群硬件資源存在差異的情況下,根據部署參數所表征的目標數據庫集群的硬件部署方式,將備份數據恢復至目標數據庫集群中,增強備份數據的持久性。并且,根據第一數據分片參數對目標數據庫集群中的備份數據進行重分布操作,使得最終備份數據與目標數據庫集群的硬件資源相匹配,提高目標數據庫集群的可靠性。
1.一種分布式數據庫非對等資源備份恢復方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述基于所述第一數據分片參數,對所述備份數據進行重分布操作,得到最終備份數據,包括:
3.根據權利要求1所述的方法,其特征在于,所述重分布操作包括擴容操作或縮容操作。
4.根據權利要求1或2所述的方法,其特征在于,所述方法還包括:
5.根據權利要求1所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1所述的方法,其特征在于,所述恢復配置文件還可以包括第二數據分片參數,所述從所述第一存儲地址獲取所述備份數據,包括:
7.根據權利要求1所述的方法,其特征在于,預先從原數據庫集群獲取備份數據,包括:
8.根據權利要求7所述的方法,其特征在于,所述備份配置文件還包括第三數據分片參數,所述從所述第二存儲地址獲取所述備份數據,包括:
9.一種分布式數據庫非對等資源備份恢復裝置,其特征在于,所述裝置包括:
10.一種電子設備,包括: