本發(fā)明涉及數(shù)據(jù)處理的領(lǐng)域,特別是涉及一種數(shù)據(jù)遷移方法、裝置、設(shè)備和介質(zhì)。
背景技術(shù):
1、數(shù)字化轉(zhuǎn)型正深刻影響著各行各業(yè),數(shù)據(jù)的角色已經(jīng)從輔助工具轉(zhuǎn)變?yōu)槠髽I(yè)決策和運營的核心資產(chǎn)。在數(shù)據(jù)中心建設(shè)和運維過程中,經(jīng)常需要進行存儲設(shè)備更換、系統(tǒng)升級或負載均衡等操作,這些操作往往涉及大量數(shù)據(jù)的遷移。數(shù)據(jù)遷移,將數(shù)據(jù)從源存儲位置搬遷到目標(biāo)位置的技術(shù)。
2、相關(guān)技術(shù)方案為在線遷移,保證業(yè)務(wù)持續(xù)訪問的前提下,將數(shù)據(jù)從源存儲位置搬遷到目標(biāo)位置的技術(shù);大量的遷移io請求和業(yè)務(wù)io,使得業(yè)務(wù)io下降嚴(yán)重。
3、因此,如何遷移數(shù)據(jù)以便于保證業(yè)務(wù)io順暢運行成為了本領(lǐng)域亟待解決的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明目的是提供一種數(shù)據(jù)遷移方法、裝置、設(shè)備和介質(zhì),能夠根據(jù)當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù)確定遷移模式,在高業(yè)務(wù)負載情況下,通過限制遷移的每秒進行讀寫操作的次數(shù),有效避免了遷移活動對業(yè)務(wù)操作的干擾,確保了業(yè)務(wù)的順暢運行。
2、第一方面,提供了一種數(shù)據(jù)遷移方法,由分布式存儲設(shè)備執(zhí)行,所述數(shù)據(jù)遷移方法包括:
3、當(dāng)接收到數(shù)據(jù)從源卷遷移至目標(biāo)卷的遷移請求時,獲取當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù);
4、根據(jù)所述當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù),確定遷移模式,其中,所述遷移模式包括:第一模式和第二模式,所述第一模式需要限制遷移的每秒進行讀寫操作的次數(shù);
5、在所述遷移模式下,將所述源卷的對象全量遷移至所述目標(biāo)卷;
6、若完成全量遷移,則將第一業(yè)務(wù)重定向到所述目標(biāo)卷,保持第二業(yè)務(wù)定向到所述源卷,其中,所述第一業(yè)務(wù)對應(yīng)的對象為在遷移過程中被訪問的對象,所述第二業(yè)務(wù)對應(yīng)的對象為在遷移過程中未被訪問的對象。
7、本發(fā)明在一較佳示例中可以進一步配置為:若完成全量遷移,則將第一業(yè)務(wù)重定向到所述目標(biāo)卷,保持第二業(yè)務(wù)定向到所述源卷之后,還包括:
8、將所述源卷中所述第二業(yè)務(wù)對應(yīng)的對象,增量同步至所述目標(biāo)卷;
9、將所述第二業(yè)務(wù)重定向到所述目標(biāo)卷。
10、本發(fā)明在一較佳示例中可以進一步配置為:還包括:
11、獲取多個對象對應(yīng)的記錄信息,所述記錄信息中記錄每個對象是否被訪問的信息;
12、根據(jù)多個對象對應(yīng)的記錄信息,從多個對象中確定被訪問的對象以及未被訪問的對象。
13、本發(fā)明在一較佳示例中可以進一步配置為:所述第一模式采用令牌桶算法限制遷移io的每秒進行讀寫操作的次數(shù);
14、其中,采用令牌桶算法限制遷移的每秒進行讀寫操作的次數(shù)的過程包括:
15、當(dāng)源卷的目標(biāo)對象的對象遷移請求達到時,在令牌桶中存在令牌的情況下,取出令牌以便于利用令牌處理所述對象遷移請求;
16、令牌桶設(shè)置有最大令牌數(shù),以及令牌桶按照令牌生成速率周期性的向令牌桶中添加令牌。
17、本發(fā)明在一較佳示例中可以進一步配置為:還包括:
18、實時獲取系統(tǒng)的最大每秒進行讀寫操作的次數(shù)、當(dāng)前的業(yè)務(wù)的每秒進行讀寫操作的次數(shù)以及波動值,其中,所述波動值為根據(jù)歷史的業(yè)務(wù)的每秒進行讀寫操作的次數(shù)確定的值;
19、根據(jù)最大每秒進行讀寫操作的次數(shù)、當(dāng)前的業(yè)務(wù)的每秒進行讀寫操作的次數(shù),確定可用每秒進行讀寫操作的次數(shù);
20、基于預(yù)設(shè)公式,根據(jù)可用每秒進行讀寫操作的次數(shù)、波動值、最大令牌數(shù)和令牌生成周期,確定令牌生成速率;
21、其中,預(yù)設(shè)公式為:令牌生成速率r=(可用每秒進行讀寫操作的次數(shù)-安全閾值)/(令牌桶大小×令牌生成周期)。
22、本發(fā)明在一較佳示例中可以進一步配置為:所述將所述源卷的對象全量遷移至所述目標(biāo)卷,包括:
23、獲取所述源卷的對象的詳細信息,所述詳細信息包括:對象類別、對象訪問頻率、對象大??;
24、根據(jù)所述詳細信息中的目標(biāo)信息對應(yīng)的預(yù)設(shè)對應(yīng)關(guān)系,確定所述詳細信息中的目標(biāo)信息對應(yīng)的子調(diào)整值,所述預(yù)設(shè)對應(yīng)關(guān)系為信息和子調(diào)整值的對應(yīng)關(guān)系,所述目標(biāo)信息為對象類別、對象訪問頻率、對象大小中的任一個信息;
25、針對每一對象,若存在子調(diào)整值不小于預(yù)設(shè)最高優(yōu)先級,則將對象的優(yōu)先級設(shè)置為預(yù)設(shè)最高優(yōu)先級;若存在子調(diào)整值不大于預(yù)設(shè)最低優(yōu)先級,且不存在子調(diào)整值不小于預(yù)設(shè)最高優(yōu)先級,則將對象的優(yōu)先級設(shè)置為預(yù)設(shè)最低優(yōu)先級;否則,將每一信息對應(yīng)的子待調(diào)整級別相加,得到待調(diào)整級別,并根據(jù)所述待調(diào)整級別和基礎(chǔ)值,確定對象的優(yōu)先級;
26、根據(jù)所述源卷的每個對象的優(yōu)先級,按照優(yōu)先級從高到底的順序,全量遷移至所述目標(biāo)卷。
27、本發(fā)明在一較佳示例中可以進一步配置為:還包括:
28、在遷移過程中,每遷移對象達到預(yù)設(shè)數(shù)量時,則對已遷移至目標(biāo)卷的對象按照對象類別進行聚類,得到多個對象類別各自對應(yīng)的對象;
29、針對每一對象類別,從對象類別對應(yīng)的對象中選擇至少一個對象,并將所述至少一個對象和所述源卷相應(yīng)的對象進行一致性校驗;
30、當(dāng)校驗不通過時,進行標(biāo)記,以便于在完成全量遷移后,再次對標(biāo)記對象對應(yīng)的對象類別的所有對象再次進行遷移。
31、第二方面,提供了一種數(shù)據(jù)遷移裝置,包括:
32、獲取模塊,用于當(dāng)接收到數(shù)據(jù)從源卷遷移至目標(biāo)卷的遷移請求時,獲取當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù);
33、確定模塊,用于根據(jù)所述當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù),確定遷移模式,其中,所述遷移模式包括:第一模式和第二模式,所述第一模式需要限制遷移的每秒進行讀寫操作的次數(shù);
34、遷移模塊,用于在所述遷移模式下,將所述源卷的對象全量遷移至所述目標(biāo)卷;
35、重定向模塊,用于若完成全量遷移,則將第一業(yè)務(wù)重定向到所述目標(biāo)卷,保持第二業(yè)務(wù)定向到所述源卷,其中,所述第一業(yè)務(wù)對應(yīng)的對象為在遷移過程中被訪問的對象,所述第二業(yè)務(wù)對應(yīng)的對象為在遷移過程中未被訪問的對象。
36、第三方面,提供了一種分布式存儲設(shè)備,包括:
37、一個或多個處理器;
38、存儲器;
39、一個或多個應(yīng)用程序,其中一個或多個應(yīng)用程序被存儲在存儲器中并被配置為由一個或多個處理器執(zhí)行,一個或多個程序配置用于:執(zhí)行根據(jù)第一方面中任一可能的實現(xiàn)方式所示的數(shù)據(jù)遷移方法對應(yīng)的操作。
40、第四方面,提供了一種計算機可讀存儲介質(zhì),存儲介質(zhì)存儲有至少一條指令、至少一段程序、代碼集或指令集,至少一條指令、至少一段程序、代碼集或指令集由處理器加載并執(zhí)行根據(jù)第一方面中任一可能的實現(xiàn)方式所示的數(shù)據(jù)遷移方法的步驟。
41、第五方面,提供了一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)根據(jù)第一方面中任一可能的實現(xiàn)方式所示的數(shù)據(jù)遷移方法對應(yīng)的操作。
42、綜上所述,本發(fā)明提供的數(shù)據(jù)遷移方法由分布式存儲設(shè)備執(zhí)行,數(shù)據(jù)遷移方法包括以下有益技術(shù)效果:
43、當(dāng)接收到數(shù)據(jù)從源卷遷移至目標(biāo)卷的遷移請求時,獲取當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù);根據(jù)當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù),確定遷移模式,其中,遷移模式包括:第一模式和第二模式,第一模式需要限制遷移的每秒進行讀寫操作的次數(shù);在遷移模式下,將源卷的對象全量遷移至目標(biāo)卷;若完成全量遷移,則將第一業(yè)務(wù)重定向到目標(biāo)卷,保持第二業(yè)務(wù)定向到源卷,其中,第一業(yè)務(wù)對應(yīng)的對象為在遷移過程中被訪問的對象,第二業(yè)務(wù)對應(yīng)的對象為在遷移過程中未被訪問的對象。
44、在本發(fā)明中,當(dāng)接收到數(shù)據(jù)遷移請求時,根據(jù)當(dāng)前業(yè)務(wù)的每秒進行讀寫操作的次數(shù)確定遷移模式,在高業(yè)務(wù)負載情況下,通過限制遷移的每秒進行讀寫操作的次數(shù),有效避免了遷移活動對業(yè)務(wù)操作的干擾,確保了業(yè)務(wù)的順暢運行;在全量遷移完成后,采用部分業(yè)務(wù)重定向的方式,即僅將遷移過程中被訪問的對象對應(yīng)的業(yè)務(wù)重定向到目標(biāo)卷,而未被訪問的對象對應(yīng)的業(yè)務(wù)仍保持在源卷,減少了遷移過程中對業(yè)務(wù)連續(xù)性的影響,提升了遷移的靈活性。
45、此外,本發(fā)明還提供了一種數(shù)據(jù)遷移裝置、設(shè)備和介質(zhì),均具有上述有益技術(shù)效果。