本公開的實施例涉及數(shù)據(jù)備份,具體涉及數(shù)據(jù)備份方法、數(shù)據(jù)備份裝置和電子設(shè)備。
背景技術(shù):
1、數(shù)據(jù)庫備份系統(tǒng)是保障數(shù)據(jù)安全和業(yè)務(wù)連續(xù)性的關(guān)鍵措施。相關(guān)技術(shù)中,數(shù)據(jù)庫備份系統(tǒng)的備份過程通常如圖1所示。首先并發(fā)讀取數(shù)據(jù)文件;然后通過并發(fā)加密和壓縮工具,對備份數(shù)據(jù)進(jìn)行加密和壓縮;最后將加密和壓縮后的備份數(shù)據(jù)以流(stream)的方式上傳到云存儲。這樣可以實現(xiàn)不落盤的備份過程,同時確保備份數(shù)據(jù)的安全性和可靠性。
2、然而,發(fā)明人發(fā)現(xiàn),流式傳輸?shù)膫浞莘椒ㄍǔP枰趥浞葸^程中實時生成和傳輸數(shù)據(jù)。因此,每個數(shù)據(jù)塊在加密和壓縮后必須等待前一個數(shù)據(jù)塊上傳完成才能繼續(xù)上傳。這使得備份過程變成串行化,從而影響整體的備份速度。
3、該背景技術(shù)部分中所公開的以上信息僅用于增強(qiáng)對本發(fā)明構(gòu)思的背景的理解,并因此,其可包含并不形成本國的本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)思路
1、本公開的內(nèi)容部分用于以簡要的形式介紹構(gòu)思,這些構(gòu)思將在后面的具體實施方式部分被詳細(xì)描述。本公開的內(nèi)容部分并不旨在標(biāo)識要求保護(hù)的技術(shù)方案的關(guān)鍵特征或必要特征,也不旨在用于限制所要求的保護(hù)的技術(shù)方案的范圍。
2、本公開的一些實施例提出了數(shù)據(jù)備份方法、數(shù)據(jù)備份裝置、電子設(shè)備、計算機(jī)可讀介質(zhì)和計算機(jī)程序產(chǎn)品,來解決以上背景技術(shù)部分提到的技術(shù)問題中的一項或多項。
3、第一方面,本公開的一些實施例提供了一種數(shù)據(jù)備份方法,包括:響應(yīng)于接收到數(shù)據(jù)備份任務(wù),根據(jù)運行負(fù)載情況,確定處理數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量,以及將數(shù)據(jù)備份任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù);采用并發(fā)線程分別對多組數(shù)據(jù)進(jìn)行備份前處理;以及將處理后的多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄,以實現(xiàn)將備份數(shù)據(jù)寫入云存儲的數(shù)據(jù)備份,其中,目標(biāo)目錄為將云存儲掛載在本地系統(tǒng)中所對應(yīng)的目錄。
4、在一些實施例中,該方法還包括:在本地系統(tǒng)上創(chuàng)建云存儲的掛載目錄;根據(jù)云存儲的屬性信息,采用掛載工具將云存儲掛載到掛載目錄。
5、在一些實施例中,根據(jù)云存儲的屬性信息,采用掛載工具將云存儲掛載到掛載目錄,包括:獲取訪問云存儲的驗證信息;根據(jù)驗證信息,設(shè)置掛載工具對云存儲的配置數(shù)據(jù),其中,配置數(shù)據(jù)包括云存儲的屬性信息;采用掛載工具,將云存儲掛載到掛載目錄。
6、在一些實施例中,將處理后的多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄,包括:將處理后的多組數(shù)據(jù)中的每組數(shù)據(jù)作為一個文件,得到多個文件,以及將多個文件并發(fā)存儲到目標(biāo)目錄。
7、在一些實施例中,將處理后的多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄,包括:根據(jù)備份數(shù)據(jù)所在的數(shù)據(jù)庫,調(diào)用該數(shù)據(jù)庫中的備份工具程序,將處理后的多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄。
8、在一些實施例中,根據(jù)運行負(fù)載情況,確定處理數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量,以及將數(shù)據(jù)備份任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù),包括:根據(jù)設(shè)備的配置數(shù)據(jù),確定并發(fā)數(shù)量上限;根據(jù)并發(fā)數(shù)量上限和設(shè)備當(dāng)前的運行負(fù)載情況,確定處理數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量;以及根據(jù)并發(fā)線程的數(shù)量,將數(shù)據(jù)備份任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù),其中,并發(fā)線程中的每個線程處理一組數(shù)據(jù)。
9、第二方面,本公開的一些實施例提供了一種數(shù)據(jù)備份裝置,包括:并發(fā)線程確定單元,被配置成響應(yīng)于接收到數(shù)據(jù)備份任務(wù),根據(jù)運行負(fù)載情況,確定處理數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量,以及將數(shù)據(jù)備份任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù);數(shù)據(jù)處理單元,被配置成采用并發(fā)線程分別對多組數(shù)據(jù)進(jìn)行備份前處理;以及數(shù)據(jù)備份存儲單元,被配置成將處理后的多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄,以實現(xiàn)將備份數(shù)據(jù)寫入云存儲的數(shù)據(jù)備份,其中,目標(biāo)目錄為將云存儲掛載在本地系統(tǒng)中所對應(yīng)的目錄。
10、在一些實施例中,該數(shù)據(jù)備份裝置還包括掛載單元,被配置成在本地系統(tǒng)上創(chuàng)建云存儲的掛載目錄;根據(jù)云存儲的屬性信息,采用掛載工具將云存儲掛載到掛載目錄。
11、在一些實施例中,掛載單元進(jìn)一步被配置成獲取訪問云存儲的驗證信息;根據(jù)驗證信息,設(shè)置掛載工具對云存儲的配置數(shù)據(jù),其中,配置數(shù)據(jù)包括云存儲的屬性信息;采用掛載工具,將云存儲掛載到掛載目錄。
12、在一些實施例中,數(shù)據(jù)備份存儲單元進(jìn)一步被配置成將處理后的多組數(shù)據(jù)中的每組數(shù)據(jù)作為一個文件,得到多個文件,以及將多個文件并發(fā)存儲到目標(biāo)目錄。
13、在一些實施例中,數(shù)據(jù)備份存儲單元還進(jìn)一步被配置成根據(jù)備份數(shù)據(jù)所在的數(shù)據(jù)庫,調(diào)用該數(shù)據(jù)庫中的備份工具程序,將處理后的多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄。
14、在一些實施例中,并發(fā)線程確定單元進(jìn)一步被配置成根據(jù)設(shè)備的配置數(shù)據(jù),確定并發(fā)數(shù)量上限;根據(jù)并發(fā)數(shù)量上限和設(shè)備當(dāng)前的運行負(fù)載情況,確定處理數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量;以及根據(jù)并發(fā)線程的數(shù)量,將數(shù)據(jù)備份任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù),其中,并發(fā)線程中的每個線程處理一組數(shù)據(jù)。
15、第三方面,本公開的一些實施例提供了一種電子設(shè)備,包括:一個或多個處理器;存儲裝置,其上存儲有一個或多個程序,當(dāng)一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實現(xiàn)上述第一方面中任一實現(xiàn)方式所描述的數(shù)據(jù)備份方法。
16、第四方面,本公開的一些實施例提供了一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)程序,其中,計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述第一方面中任一實現(xiàn)方式所描述的數(shù)據(jù)備份方法。
17、第五方面,本公開的一些實施例提供了一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,計算機(jī)程序在被處理器執(zhí)行時實現(xiàn)上述第一方面中任一實現(xiàn)方式所描述的數(shù)據(jù)備份方法。
18、本公開的上述各個實施例具有如下有益效果:本公開的一些實施例的數(shù)據(jù)備份方法,可以提高數(shù)據(jù)備份速度,滿足用戶的使用需求。具體來說,相關(guān)備份方法將加密和壓縮后的備份數(shù)據(jù)以流的方式上傳到云存儲。然而這種方法存在一個顯著缺點,即使用流式傳輸方式創(chuàng)建獨立文件,這導(dǎo)致無法并行處理數(shù)據(jù)塊。這種串行備份方式意味著無論我們?nèi)绾翁岣咦x取、加密和壓縮的并行度,整體備份速度都無法提升。在處理大量數(shù)據(jù)時,由于備份速度無法跟上用戶數(shù)據(jù)寫入的速度,很可能會導(dǎo)致備份失敗。這個問題的根本原因在于,流式傳輸?shù)膫浞莘椒ㄐ枰趥浞葸^程中實時生成和傳輸數(shù)據(jù)。因此,每個數(shù)據(jù)塊在加密和壓縮后必須等待前一個數(shù)據(jù)塊上傳完成才能上傳,這使得備份過程變成串行化。
19、基于此,本公開的一些實施例的數(shù)據(jù)備份方法,在接收到數(shù)據(jù)備份任務(wù)的情況下,首先可以根據(jù)自身的運行負(fù)載情況,來確定處理數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量。并可以將任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù)。之后,可以采用并發(fā)線程分別對多組數(shù)據(jù)進(jìn)行備份前處理。這樣在滿足自身負(fù)載能力的情況下,可以對備份數(shù)據(jù)進(jìn)行并行處理,從而可以提高數(shù)據(jù)備份速度。而對于處理的多組數(shù)據(jù),同樣可以進(jìn)行并行存儲。這樣可以進(jìn)一步提升數(shù)據(jù)備份速度。另外,通過將云存儲掛載到本地系統(tǒng),可以簡化存儲過程,使數(shù)據(jù)的寫入更加高效。本公開的這種方法可以大大提高備份速度,能夠滿足大數(shù)據(jù)量和高壓力的備份需求。
1.一種數(shù)據(jù)備份方法,包括:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)備份方法,其中,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)備份方法,其中,所述根據(jù)所述云存儲的屬性信息,采用掛載工具將所述云存儲掛載到所述掛載目錄,包括:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)備份方法,其中,所述將處理后的所述多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄,包括:
5.根據(jù)權(quán)利要求1所述的數(shù)據(jù)備份方法,其中,所述將處理后的所述多組數(shù)據(jù)并發(fā)存儲到目標(biāo)目錄,包括:
6.根據(jù)權(quán)利要求1-5之一所述的數(shù)據(jù)備份方法,其中,所述根據(jù)運行負(fù)載情況,確定處理所述數(shù)據(jù)備份任務(wù)的并發(fā)線程的數(shù)量,以及將所述數(shù)據(jù)備份任務(wù)所指示的備份數(shù)據(jù)拆分為多組數(shù)據(jù),包括:
7.一種數(shù)據(jù)備份裝置,包括:
8.一種電子設(shè)備,包括:
9.一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)程序,其中,所述計算機(jī)程序被處理器執(zhí)行時,實現(xiàn)如權(quán)利要求1-6中任一所述的數(shù)據(jù)備份方法。
10.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序在被處理器執(zhí)行時,實現(xiàn)如權(quán)利要求1-6中任一所述的數(shù)據(jù)備份方法。