本發(fā)明涉及數(shù)據(jù)存儲,尤其涉及一種快照數(shù)據(jù)塊處理方法及系統(tǒng)。
背景技術(shù):
1、在相關(guān)技術(shù)中,快照數(shù)據(jù)塊的大小是固定的。在生成快照時,需要指定數(shù)據(jù)塊的大小,快照生成后,數(shù)據(jù)塊的大小通常是不進(jìn)行修改的。
2、當(dāng)快照創(chuàng)建完成后,可能因為輸入輸出(input/output,簡稱io)模型的變化,需要修改數(shù)據(jù)塊的大小,以減小快照對性能的影響;或,因為系統(tǒng)內(nèi)存資源的不足,需要增加數(shù)據(jù)塊大小以減小對內(nèi)存資源的使用。然而,在相關(guān)技術(shù)中,為了滿足上述需求,只能將之前的快照刪除,再次創(chuàng)建新快照,導(dǎo)致之前備份數(shù)據(jù)的丟失。
3、因此,現(xiàn)在亟需一種快照數(shù)據(jù)塊處理方法及系統(tǒng)來解決上述問題。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種快照數(shù)據(jù)塊處理方法及系統(tǒng)。
2、本發(fā)明提供一種快照數(shù)據(jù)塊處理方法,包括:
3、接收第一輸入信息,所述第一輸入信息包括對快照數(shù)據(jù)塊的大小進(jìn)行調(diào)整的操作指令;
4、響應(yīng)于所述第一輸入信息,根據(jù)所述快照數(shù)據(jù)塊對應(yīng)的數(shù)據(jù)塊調(diào)整信息和第一位圖,生成初始的第二位圖,其中,所述第一位圖為所述快照數(shù)據(jù)塊的大小在調(diào)整之前,源卷對應(yīng)快照的位圖;
5、根據(jù)所述源卷中數(shù)據(jù)塊狀態(tài)在所述第一位圖中對應(yīng)的標(biāo)記信息,對所述初始的第二位圖中數(shù)據(jù)塊狀態(tài)對應(yīng)的標(biāo)記信息進(jìn)行更新,并在確定所述初始的第二位圖中每一位數(shù)據(jù)塊狀態(tài)所對應(yīng)的標(biāo)記信息完成更新后,得到更新后的第二位圖,以完成所述快照數(shù)據(jù)塊的大小調(diào)整處理。
6、根據(jù)本發(fā)明提供的一種快照數(shù)據(jù)塊處理方法,所述根據(jù)所述快照數(shù)據(jù)塊對應(yīng)的數(shù)據(jù)塊調(diào)整信息和第一位圖,生成初始的第二位圖,包括:
7、根據(jù)所述數(shù)據(jù)塊調(diào)整信息,確定所述快照數(shù)據(jù)塊的數(shù)量在調(diào)整前與調(diào)整后之間的數(shù)據(jù)塊調(diào)整倍率數(shù)據(jù);
8、根據(jù)所述數(shù)據(jù)塊調(diào)整倍率數(shù)據(jù)的倒數(shù)與所述源卷的數(shù)據(jù)塊數(shù)量之間的乘積,確定預(yù)構(gòu)建的位圖的位數(shù);
9、基于所述預(yù)構(gòu)建的位圖的位數(shù)和所述數(shù)據(jù)塊調(diào)整倍率數(shù)據(jù),構(gòu)建所述預(yù)構(gòu)建的位圖中的標(biāo)記信息與所述第一位圖中的標(biāo)記信息之間的對應(yīng)關(guān)系,并將所述預(yù)構(gòu)建的位圖中每一位的標(biāo)記信息標(biāo)記為初始值,得到所述初始的第二位圖。
10、根據(jù)本發(fā)明提供的一種快照數(shù)據(jù)塊處理方法,所述根據(jù)所述源卷中數(shù)據(jù)塊狀態(tài)在所述第一位圖中對應(yīng)的標(biāo)記信息,對所述初始的第二位圖中數(shù)據(jù)塊狀態(tài)對應(yīng)的標(biāo)記信息進(jìn)行更新,包括:
11、基于所述初始的第二位圖當(dāng)前正在被更新的標(biāo)記信息對應(yīng)的位圖順序,獲取當(dāng)前的位圖索引值,其中,所述初始的第二位圖中各個標(biāo)記信息的位圖順序與所述位圖索引值一一對應(yīng);
12、基于所述預(yù)構(gòu)建的位圖中的標(biāo)記信息與所述第一位圖中的標(biāo)記信息之間的對應(yīng)關(guān)系,根據(jù)所述位圖索引值,確定所述第一位圖中當(dāng)前對應(yīng)的目標(biāo)標(biāo)記位;
13、根據(jù)所述目標(biāo)標(biāo)記位對應(yīng)的標(biāo)記信息,對所述初始的第二位圖中對應(yīng)的標(biāo)記信息進(jìn)行更新。
14、根據(jù)本發(fā)明提供的一種快照數(shù)據(jù)塊處理方法,所述根據(jù)所述目標(biāo)標(biāo)記位對應(yīng)的標(biāo)記信息,對所述初始的第二位圖中對應(yīng)的標(biāo)記信息進(jìn)行更新,包括:
15、根據(jù)當(dāng)前的所述位圖索引值,確定待鎖數(shù)據(jù)塊,其中,所述待鎖數(shù)據(jù)塊為所述源卷中當(dāng)前正在復(fù)制至快照卷的數(shù)據(jù)塊;
16、對所述待鎖數(shù)據(jù)塊添加讀寫鎖,并在當(dāng)前的所述位圖索引值對應(yīng)的所述初始的第二位圖中的標(biāo)記信息完成更新后,釋放所述讀寫鎖。
17、根據(jù)本發(fā)明提供的一種快照數(shù)據(jù)塊處理方法,所述方法還包括:
18、若接收到寫時復(fù)制操作指令,獲取目標(biāo)源卷數(shù)據(jù)塊,其中,所述目標(biāo)源卷數(shù)據(jù)塊是基于所述寫時復(fù)制操作指令確定得到的所述源卷中當(dāng)前需要更新修改的數(shù)據(jù)塊;
19、根據(jù)所述目標(biāo)源卷數(shù)據(jù)塊在所述源卷中的順序,確定所述目標(biāo)源卷數(shù)據(jù)塊對應(yīng)的數(shù)據(jù)塊偏移量;
20、獲取當(dāng)前的所述位圖索引值;
21、根據(jù)所述數(shù)據(jù)塊偏移量和目標(biāo)閾值,判斷是否對所述第一位圖和所述初始的第二位圖各自對應(yīng)的標(biāo)記信息進(jìn)行更新,其中,所述目標(biāo)閾值包括第一閾值和第二閾值,所述第一閾值小于所述第二閾值,所述目標(biāo)閾值是基于當(dāng)前的所述位圖索引值和所述數(shù)據(jù)塊調(diào)整倍率數(shù)據(jù)生成的;
22、若所述數(shù)據(jù)偏移量小于所述第一閾值,根據(jù)所述數(shù)據(jù)塊偏移量,對所述第一位圖中對應(yīng)的標(biāo)記信息進(jìn)行更新;
23、若所述數(shù)據(jù)偏移量等于所述第一閾值,或所述數(shù)據(jù)偏移量等于所述第二閾值,等待所述讀寫鎖釋放;
24、若所述數(shù)據(jù)偏移量大于所述第二閾值,對所述初始的第二位圖中對應(yīng)的標(biāo)記信息進(jìn)行更新。
25、根據(jù)本發(fā)明提供的一種快照數(shù)據(jù)塊處理方法,所述方法還包括:
26、若接收到數(shù)據(jù)讀寫操作指令,確定待讀寫數(shù)據(jù)塊;
27、在確定所述待讀寫數(shù)據(jù)塊未添加所述讀寫鎖的情況下,將讀寫授權(quán)信息發(fā)送至所述數(shù)據(jù)讀寫操作指令對應(yīng)的讀寫請求端。
28、根據(jù)本發(fā)明提供的一種快照數(shù)據(jù)塊處理方法,在所述根據(jù)所述源卷中數(shù)據(jù)塊狀態(tài)在所述第一位圖中對應(yīng)的標(biāo)記信息,對所述初始的第二位圖中數(shù)據(jù)塊狀態(tài)對應(yīng)的標(biāo)記信息進(jìn)行更新,并在確定所述初始的第二位圖中每一位數(shù)據(jù)塊狀態(tài)所對應(yīng)的標(biāo)記信息完成更新后,得到更新后的第二位圖之后,所述方法還包括:
29、在確定所述初始的第二位圖中每一位所對應(yīng)的標(biāo)記信息完成更新后,將所述第一位圖刪除。
30、本發(fā)明還提供一種快照數(shù)據(jù)塊處理系統(tǒng),包括:
31、接收模塊,用于接收第一輸入信息,所述第一輸入信息包括對快照數(shù)據(jù)塊的大小進(jìn)行調(diào)整的操作指令;
32、第一處理模塊,用于響應(yīng)于所述第一輸入信息,根據(jù)所述快照數(shù)據(jù)塊對應(yīng)的數(shù)據(jù)塊調(diào)整信息和第一位圖,生成初始的第二位圖,其中,所述第一位圖為所述快照數(shù)據(jù)塊的大小在調(diào)整之前,源卷對應(yīng)快照的位圖;
33、第二處理模塊,用于根據(jù)所述源卷中數(shù)據(jù)塊狀態(tài)在所述第一位圖中對應(yīng)的標(biāo)記信息,對所述初始的第二位圖中數(shù)據(jù)塊狀態(tài)對應(yīng)的標(biāo)記信息進(jìn)行更新,并在確定所述初始的第二位圖中每一位數(shù)據(jù)塊狀態(tài)所對應(yīng)的標(biāo)記信息完成更新后,得到更新后的第二位圖,以完成所述快照數(shù)據(jù)塊的大小調(diào)整處理。
34、本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機(jī)程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種所述快照數(shù)據(jù)塊處理方法。
35、本發(fā)明還提供一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述快照數(shù)據(jù)塊處理方法。
36、本發(fā)明還提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述快照數(shù)據(jù)塊處理方法。
37、本發(fā)明提供的快照數(shù)據(jù)塊處理方法及系統(tǒng),通過快照數(shù)據(jù)塊對應(yīng)的數(shù)據(jù)塊調(diào)整信息和第一位圖,生成初始的第二位圖,再根據(jù)源卷中數(shù)據(jù)塊在第一位圖中的標(biāo)記信息,對初始的第二位圖中的標(biāo)記信息進(jìn)行更新,并在確定初始的第二位圖中每一位所對應(yīng)的標(biāo)記信息完成更新后,得到更新后的第二位圖,以完成快照數(shù)據(jù)塊的大小調(diào)整處理,從而在不影響已創(chuàng)建快照以及主機(jī)輸入輸出的前提下,實現(xiàn)快照數(shù)據(jù)塊的大小修改,減少了快照對系統(tǒng)性能的影響以及對系統(tǒng)內(nèi)存資源的占用。