專利名稱:在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲技術(shù),更具體地說,涉及在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的方法和設(shè)備。
背景技術(shù):
大型存儲系統(tǒng)往往由不同類型的存儲設(shè)備構(gòu)成。這些不同類型的存儲設(shè)備在價(jià)格和性能上具有顯著的差異。例如,從ー個(gè)毎分鐘轉(zhuǎn)速15000的硬盤舉動(dòng)器HDD中讀取ー份數(shù)據(jù)需要的平均響應(yīng)時(shí)間是10毫秒,而從ー個(gè)固態(tài)硬盤SSD中直接讀取該數(shù)據(jù)需要的平均響應(yīng)時(shí)間小于I毫秒。由于高速存儲設(shè)備的造價(jià)高于低速存儲器,系統(tǒng)中高速存儲設(shè)備的數(shù)據(jù)容量小于低速存儲器的數(shù)據(jù)容量。因此,只有一部分?jǐn)?shù)據(jù)才會被存儲在高速存儲設(shè)備中。假設(shè)在存儲系統(tǒng)中,數(shù)據(jù)的最小單位是數(shù)據(jù)塊;多個(gè)數(shù)據(jù)塊組成數(shù)據(jù)卷;應(yīng)用程序請求ー個(gè)或多個(gè)數(shù)據(jù)卷。可以根據(jù)數(shù)據(jù)被訪問的頻繁程度來確定哪些數(shù)據(jù)需要被存儲在高速存儲設(shè)備中,從而將這些數(shù)據(jù)從低速存儲設(shè)備遷移到高速存儲設(shè)備。本領(lǐng)域技術(shù)人員可以理解,這里的數(shù)據(jù)塊和數(shù)據(jù)卷都是邏輯概念,而不是物理概念。換句話說,ー個(gè)數(shù)據(jù)卷或者ー個(gè)數(shù)據(jù)塊的數(shù)據(jù),可能被存儲在多個(gè)物理存儲設(shè)備上。因此,這種遷移對于使用這些數(shù)據(jù)的應(yīng)用程序來說是透明的??梢愿鶕?jù)某數(shù)據(jù)塊被訪問的頻率以及訪問該數(shù)據(jù)塊時(shí)的響應(yīng)時(shí)間來確定某個(gè)數(shù)據(jù)塊是否為熱點(diǎn)(hotspot)數(shù)據(jù)塊。對于熱點(diǎn)數(shù)據(jù)塊,則將該數(shù)據(jù)塊從低速存儲器中遷移到高速存儲設(shè)備。但是,數(shù)據(jù)塊過去一段時(shí)間內(nèi)被頻繁訪問并不表示其在未來一段時(shí)間內(nèi)還會被頻繁訪問。因此,需要一種新的在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的解決方案。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的方法和裝置。根據(jù)本發(fā)明實(shí)施例的用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的方法包括:收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列;基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期;以及根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,其數(shù)據(jù)位于高速存儲設(shè)備中。根據(jù)本發(fā)明實(shí)施例的用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的裝置包括:收集模塊,配置為收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列;估計(jì)模塊,配置為基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期;以及遷移模塊,配置為根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,其數(shù)據(jù)位于高速存儲設(shè)備中。根據(jù)本發(fā)明實(shí)施例,可以提高存儲設(shè)備中對數(shù)據(jù)的訪問速度。
圖1是適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)100的框圖。圖2是根據(jù)本發(fā)明實(shí)施例的組織存儲設(shè)備的層次示意圖。圖3是根據(jù)本發(fā)明實(shí)施例的在存儲設(shè)備間遷移數(shù)據(jù)的方法的流程圖。圖4是對負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行快速傅里葉變換后得到的頻域特性。圖5是選擇圖4中的部分頻率分量通過傅里葉反變換后得到的恢復(fù)時(shí)域序列與原始時(shí)域序列的對比。圖6是根據(jù)本發(fā)明實(shí)施例的在存儲設(shè)備間遷移數(shù)據(jù)的裝置的方框圖。
具體實(shí)施例方式所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明的多個(gè)方面可以體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的多個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟件部分與硬件部分的組合。此外,本發(fā)明的多個(gè)方面還可以采取體現(xiàn)在ー個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可用的程序碼。可以使用一個(gè)或多個(gè)計(jì)算機(jī)可讀的介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)、裝置、器件或任何以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括以下:有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任何合適的組合。在本文件的語境中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形的介質(zhì),該程序被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。計(jì)算機(jī)可讀的信號介質(zhì)可包括在基帶中或者作為載波一部分傳播的、其中體現(xiàn)計(jì)算機(jī)可讀的程序碼的傳播的數(shù)據(jù)信號。這種傳播的信號可以采用多種形式,包括——但不限于——電磁信號、光信號或任何以上合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)可以是并非為計(jì)算機(jī)可讀存儲介質(zhì)、但是能發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序的任何計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、RF等等,或者任何合適的上述組合。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、RF等等,或者任何合適的上述組合。用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序碼,可以以ー種或多種程序設(shè)計(jì)語言的任何組合來編寫,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言-諸如Java、Smalltalk、C++之類,還包括常規(guī)的過程式程序設(shè)計(jì)語言-諸如“C”程序設(shè)計(jì)語言或類似的程序設(shè)計(jì)語言。程序碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為ー個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任何種類的網(wǎng)絡(luò)——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng))連接到外部計(jì)算機(jī)。以下參照按照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的多個(gè)方面。要明白的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出ー種機(jī)器,使得通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生ー個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。下面參照附圖,結(jié)合具體實(shí)施例對本發(fā)明進(jìn)行描述。這樣的描述僅僅出于說明目的,而不意圖對本發(fā)明的范圍進(jìn)行限制。圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算系統(tǒng)100的框圖。如所示,計(jì)算機(jī)系統(tǒng)100可以包括:CPU(中央處理單元)101、RAM(隨機(jī)存取存儲器)102、R0M(只讀存儲器)103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接ロ控制器107、并行接ロ控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設(shè)備112、并行外部設(shè)備113和顯示器114。在這些設(shè)備中,與系統(tǒng)總線104耦合的有CPU 10URAM 102, ROM 103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設(shè)備112與串行接ロ控制器107耦合,并行外部設(shè)備113與并行接ロ控制器108耦合,以及顯示器114與顯示控制器109耦合。應(yīng)當(dāng)理解,圖1所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。圖2是根據(jù)本發(fā)明實(shí)施例存儲系統(tǒng)層級結(jié)構(gòu)。一般的情況下,在CPU要處理位于外部存儲器上的數(shù)據(jù)時(shí),該數(shù)據(jù)先從外部存儲器上讀取到內(nèi)存中,然后再從內(nèi)存中讀取到高速緩沖存儲器中。在以下的描述中,外部存儲器由多種類型的存儲設(shè)備構(gòu)成,這些存儲設(shè)備可以分為高速存儲設(shè)備和低速存儲設(shè)備。但是本領(lǐng)域技術(shù)人員可以理解,其他層次的存儲器同樣也可能由不同類型的存儲設(shè)備構(gòu)成,從而根據(jù)本發(fā)明實(shí)施例的方法也同樣適用于這些情況。圖3是根據(jù)本發(fā)明實(shí)施例的在存儲設(shè)備間遷移數(shù)據(jù)的方法的流程圖。步驟301,收集數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列。如前所述,應(yīng)用程序以數(shù)據(jù)卷為單位使用存儲系統(tǒng)中的存儲容量。不同應(yīng)用程序以不同的模式訪問存儲系統(tǒng)。因此,針對數(shù)據(jù)卷收集的負(fù)載參數(shù)能夠反映不同的訪問模式。所述負(fù)載參數(shù)可以是響應(yīng)時(shí)間,即在各采樣時(shí)刻訪問該數(shù)據(jù)卷的響應(yīng)時(shí)間。所述負(fù)載參數(shù)也可以使訪問速率,即訪問該數(shù)據(jù)卷時(shí)的10PS。本領(lǐng)域技術(shù)人員還可以采用其他類型的負(fù)載參數(shù)。對于ー個(gè)特定的數(shù)據(jù)卷來說,在步驟301中所收集到的是該數(shù)據(jù)卷在各采樣時(shí)刻的負(fù)載參數(shù),即負(fù)載參數(shù)的原始時(shí)域序列。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在收集各數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列后,對各數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行聚類操作。經(jīng)過聚類操作后,類似的原始時(shí)域序列被歸入同一個(gè)類別中。這樣,可以針對每個(gè)類別進(jìn)行后續(xù)操作,得到的結(jié)果可以應(yīng)用于該類別中的多個(gè)原始時(shí)域序列對應(yīng)的數(shù)據(jù)卷。如何進(jìn)行聚類操作是本領(lǐng)域的常用技術(shù)手段,在此不再贅述。步驟302,基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以采用時(shí)頻變換(time-frequency transform)分析方法來從負(fù)載參數(shù)的原始時(shí)域序列得到所述負(fù)載參數(shù)的頻域特性,例如傅里葉變換、Z變換、拉普拉斯變換等。在下面的描述中,以傅里葉變換為例進(jìn)行說明。本領(lǐng)域技術(shù)人員可以理解,由于步驟301中所收集到的是離散數(shù)據(jù),因此可以采用離散傅里葉變換,更優(yōu)選地可以采用快速傅里葉變換來得到負(fù)載參數(shù)的頻域特性。在后面的描述中,將更加詳細(xì)地說明如何根據(jù)時(shí)頻變換的結(jié)果來估計(jì)各數(shù)據(jù)卷的負(fù)載周期。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在進(jìn)行時(shí)頻變換之前,先從負(fù)載參數(shù)的原始時(shí)域序列中去除線性分量。在實(shí)際中,應(yīng)用程序可能會由于收到指令而臨時(shí)増加或者減少所使用的數(shù)據(jù)卷的量。這種變化并非應(yīng)用程序?qū)Υ鎯υO(shè)備的訪問模式的一部分,但是會引起對應(yīng)的數(shù)據(jù)卷的負(fù)載參數(shù)的變化,從而在頻域特性上施加噪聲??梢圆捎镁€性擬合分析、線性回歸分析等方法來從負(fù)載參數(shù)的原始時(shí)域序列中得到所述線性分量。如果進(jìn)行線性擬合分析和線性回歸分析是本領(lǐng)域的常用技術(shù)手段,在此不再贅述。步驟303,根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,其數(shù)據(jù)位于高速存儲設(shè)備中。在步驟302中已經(jīng)得到了各數(shù)據(jù)卷的負(fù)載周期,從而可以預(yù)測在未來的某ー個(gè)時(shí)段內(nèi),會有大量的對數(shù)據(jù)卷的訪問即出現(xiàn)負(fù)載峰值。根據(jù)預(yù)測結(jié)果,可以提前將這些數(shù)據(jù)卷的數(shù)據(jù)從低速存儲設(shè)備遷移到高速存儲設(shè)備。如前所述,將數(shù)據(jù)卷的數(shù)據(jù)在存儲設(shè)備之間遷移對于使用該數(shù)據(jù)卷的應(yīng)用程序來說是透明的。本領(lǐng)域技術(shù)人員可以理解,這里所謂的負(fù)載峰值期間并不一定指的是出現(xiàn)負(fù)載最高值的時(shí)刻,其也可能是指負(fù)載大于某負(fù)載閾值的時(shí)間段。所述負(fù)載閾值可以是絕對值也可以是相對值。以相對值為例,所述負(fù)載閾值可以是實(shí)際負(fù)載與該數(shù)據(jù)卷的額定負(fù)載的比值。另外,此處所述的在數(shù)據(jù)卷的負(fù)載峰值期間,數(shù)據(jù)位于高速存儲設(shè)備中,也不應(yīng)該被理解為整個(gè)所述負(fù)載峰值期間所述數(shù)據(jù)都位于高速存儲設(shè)備中。根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以在數(shù)據(jù)卷的負(fù)載峰值期間結(jié)束時(shí),將所述數(shù)據(jù)遷移回低速存儲設(shè)備。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,可以設(shè)置計(jì)時(shí)器,從所述數(shù)據(jù)遷移到高速存儲設(shè)備開始計(jì)時(shí),計(jì)時(shí)結(jié)束后將所述數(shù)據(jù)遷移回低速存儲設(shè)備。在這ー實(shí)施例中,有可能在數(shù)據(jù)卷的負(fù)載峰值期間結(jié)束前,其數(shù)據(jù)就被遷移回低速存儲設(shè)備。
由于在存儲系統(tǒng)中存在大量卷,可能會有多個(gè)數(shù)據(jù)卷在同一時(shí)段內(nèi)出現(xiàn)負(fù)載峰值。另ー方面,高速存儲設(shè)備的存儲容量是有限的,而多個(gè)出現(xiàn)負(fù)載峰值的數(shù)據(jù)卷的數(shù)據(jù)總量可能超過高速存儲設(shè)備的存儲容量。為了解決這ー問題,根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以只移動(dòng)數(shù)據(jù)卷中的個(gè)別數(shù)據(jù)塊。如前所述,可以根據(jù)某數(shù)據(jù)塊被訪問的頻率以及訪問該數(shù)據(jù)塊時(shí)的響應(yīng)時(shí)間來確定某個(gè)數(shù)據(jù)塊是否為熱點(diǎn)數(shù)據(jù)塊。對于即將出現(xiàn)負(fù)載峰值的數(shù)據(jù)卷,可以確定其所包含的熱點(diǎn)數(shù)據(jù)塊,并且將這些熱點(diǎn)數(shù)據(jù)塊遷移到高速存儲設(shè)備。通過設(shè)置熱點(diǎn)數(shù)據(jù)塊的認(rèn)定標(biāo)準(zhǔn),可以控制熱點(diǎn)數(shù)據(jù)塊的數(shù)量,從而適應(yīng)于高速存儲設(shè)備的存儲容量。根據(jù)本發(fā)明的另ー個(gè)實(shí)施例,采用基于優(yōu)先權(quán)的遷移策略。對于某ー時(shí)段,優(yōu)先對優(yōu)先級高的數(shù)據(jù)卷進(jìn)行遷移操作。各數(shù)據(jù)卷對應(yīng)的不同的應(yīng)用程序,這些應(yīng)用程序可能被設(shè)置有不同的優(yōu)先權(quán)。因此,可以采用所對應(yīng)的應(yīng)用程序的優(yōu)先權(quán)來設(shè)置數(shù)據(jù)卷的優(yōu)先權(quán)。還可以根據(jù)熱點(diǎn)數(shù)據(jù)量來設(shè)置數(shù)據(jù)卷的優(yōu)先權(quán)。例如,如果某數(shù)據(jù)卷所含熱點(diǎn)數(shù)據(jù)塊的數(shù)據(jù)量大于另ー數(shù)據(jù)卷,則該數(shù)據(jù)卷的優(yōu)先權(quán)高于所述另ー數(shù)據(jù)卷。本領(lǐng)域技術(shù)人員可以以其他方式來設(shè)置所述優(yōu)先權(quán)。上述控制被遷移的數(shù)據(jù)量的方法可以單獨(dú)使用,也可以結(jié)合起來使用。例如,對于優(yōu)先級高的數(shù)據(jù)卷進(jìn)行的遷移操作可以是對整個(gè)數(shù)據(jù)卷進(jìn)行遷移操作,也可以是對數(shù)據(jù)卷中的熱點(diǎn)數(shù)據(jù)塊進(jìn)行遷移操作。下面結(jié)合附圖4和附圖5描述如何根據(jù)時(shí)頻變換的結(jié)果來估計(jì)各數(shù)據(jù)卷的負(fù)載周期。圖4是對負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行快速傅里葉變換后得到的頻域特性。其中橫軸表示快速傅里葉變換后的各頻率分量,縱軸表示各頻率分量的功率。圖5是選擇圖4中的部分頻率分量通過傅里葉反變換進(jìn)行頻時(shí)變換(frequency-time transform)后得到的恢復(fù)時(shí)域序列與原始時(shí)域序列的對比。其中虛線是原始時(shí)域序列,粗實(shí)線是僅考慮功率最大的一個(gè)頻率分量進(jìn)行傅里葉反變換后得到的恢復(fù)時(shí)域序列,細(xì)實(shí)線是考慮功率最大的九個(gè)頻率分量進(jìn)行快速傅里葉反變換后得到的恢復(fù)時(shí)域序列??梢钥闯?,考慮的頻率分量越多,對原始時(shí)域序列的逼近越充分。圖5中細(xì)實(shí)線比較精確地體現(xiàn)了虛線的變化。但是,圖5中的粗實(shí)線也已經(jīng)體現(xiàn)了虛線的大體變化趨勢,尤其是粗實(shí)線的負(fù)載峰值與虛線的負(fù)載峰值在時(shí)間軸上幾乎重合。本領(lǐng)域技術(shù)人員還可以理解,經(jīng)過快速傅里葉變換后得到的各頻率分量,彼此之間沒有倍數(shù)關(guān)系;理論上講,該信號的周期是各頻率分量所對應(yīng)的周期的最小公倍數(shù)。在實(shí)踐中,對于負(fù)載參數(shù)的原始時(shí)域序列這樣的信號,如果考慮所有頻率分量,則估計(jì)出的周期可能會變得非常大,從而無法根據(jù)所述周期預(yù)測負(fù)載峰值。因此,一方面,需要選取盡可能多的頻率分量,從而更好地逼近原始時(shí)域序列,提高周期估計(jì)的準(zhǔn)確性;另一方面,又需要選取盡可能少的頻率分量,使得估計(jì)出的周期盡可能小,從而有效地預(yù)測負(fù)載峰值。由于功率越大的頻率分量,在信號中所占的比重越大。因此,根據(jù)本發(fā)明的ー個(gè)實(shí)施例,可以設(shè)置功率閾值。只選擇功率大于所述功率閾值的頻率分量來估計(jì)數(shù)據(jù)卷的負(fù)載周期。對于功率小于所述功率閾值的頻率分量,由于其對預(yù)測負(fù)載峰值的影響比較小,所以不再考慮。所述功率閾值可以針對單個(gè)頻率分量的功率,也可以針對頻率分量在功率排名中的位次。根據(jù)本發(fā)明的另ー個(gè)實(shí)施例,設(shè)置誤差閾值。所述誤差表示在只考慮某些頻率分量的情況下,經(jīng)過快速傅里葉反變換所得到的恢復(fù)時(shí)域序列與原始時(shí)域序列的逼近程度。例如,可以將恢復(fù)時(shí)域序列和原始時(shí)域序列作為兩個(gè)向量,以兩個(gè)向量的距離作為所述誤差。又例如,可以將所選擇的頻率分量的功率總和與所有頻率分量的功率總和之差作為所述誤差。選擇盡可能少的頻率分量,使得恢復(fù)時(shí)域序列與原始時(shí)域序列的誤差小于所述誤差閾值。根據(jù)本發(fā)明的再一個(gè)實(shí)施例,設(shè)置周期閾值。選擇盡可能多的頻率分量,使得根據(jù)所選擇的頻率分量估計(jì)的周期小于所述周期閾值。實(shí)踐中可能發(fā)生這樣的情況,一方面,選取較少的頻率分量滿足不了誤差閾值;另一方面,選取較多的頻率分量滿足不了周期閾值。這說明應(yīng)用程序訪問該數(shù)據(jù)卷的模式周期性不強(qiáng)。在這種情況下,仍然可以利用傳統(tǒng)的基于熱點(diǎn)數(shù)據(jù)塊的遷移方案。圖6是根據(jù)本發(fā)明實(shí)施例的用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的裝置的框圖。根據(jù)本發(fā)明實(shí)施例的用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的裝置包括:收集模塊,配置為收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列;估計(jì)模塊,配置為基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期;以及遷移模塊,配置為根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,其數(shù)據(jù)位于高速存儲設(shè)備中。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含ー個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯卷功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。雖然以上結(jié)合具體實(shí)施例,對本發(fā)明的各個(gè)裝置和方法進(jìn)行了詳細(xì)描述,但本發(fā)明并不限于此。本領(lǐng)域普通技術(shù)人員能夠在說明書教導(dǎo)之下對本發(fā)明進(jìn)行多種變換、替換和修改而不偏離本發(fā)明的精神和范圍。應(yīng)該理解,所有這樣的變化、替換、修改仍然落入本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的保護(hù)范圍由所附權(quán)利要求來限定。
權(quán)利要求
1.一種用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的方法,該方法包括: 收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列; 基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期;以及根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,所述數(shù)據(jù)位于高速存儲設(shè)備中。
2.按權(quán)利要求1所述的方法,其中基于所收集的負(fù)載參數(shù)的原始時(shí)域序列估計(jì)數(shù)據(jù)卷的負(fù)載周期包括: 對所述負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行時(shí)頻變換以得到所述負(fù)載參數(shù)的頻域特性;以及 根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)數(shù)據(jù)卷的負(fù)載周期。
3.按權(quán)利要求2所述的方法,進(jìn)ー步包括: 在對所述負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行時(shí)頻變換前,從所述負(fù)載參數(shù)的原始時(shí)域序列中去除線性分量。
4.按權(quán)利要求1所述的方法,其中根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù)包括: 遷移所述數(shù)據(jù)卷中熱點(diǎn)數(shù)據(jù)塊的數(shù)據(jù)。
5.按權(quán)利要求1或4所述的方法,其中根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù)包括: 在需要遷移多個(gè)數(shù)據(jù)卷的數(shù)據(jù)的情況下,優(yōu)先對優(yōu)先級高的數(shù)據(jù)卷進(jìn)行所述遷移。
6.根據(jù)權(quán)利要求1所述的方法,其中收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列包括: 收集多個(gè)數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列; 其中基于所收集的負(fù)載參數(shù)的原始時(shí)域序列估計(jì)數(shù)據(jù)卷的負(fù)載周期包括: 對所述多個(gè)數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行聚類操作,使得類似的原始時(shí)域序列被歸入同一個(gè)類別中; 針對各類別估計(jì)負(fù)載周期,并將所估計(jì)的負(fù)載周期應(yīng)用于該類別中的各原始時(shí)域序列所對應(yīng)的數(shù)據(jù)卷。
7.按權(quán)利要求2所述的方法,其中根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)所述數(shù)據(jù)卷的負(fù)載周期包括: 根據(jù)所述頻域特性,選擇功率大于頻率閾值的頻率分量;和 根據(jù)所選擇的頻率分量估計(jì)所述數(shù)據(jù)卷的負(fù)載周期。
8.按權(quán)利要求2所述的方法,其中根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)所述數(shù)據(jù)卷的負(fù)載周期包括: 選擇盡可能少的頻率分量,使得恢復(fù)時(shí)域序列與原始時(shí)域序列的誤差小于誤差閾值,其中所述恢復(fù)時(shí)域序列是根據(jù)所選擇的頻率分量進(jìn)行頻時(shí)變換后得到的時(shí)域序列;和根據(jù)所選擇的頻率分量估計(jì)所述數(shù)據(jù)卷的負(fù)載周期。
9.按權(quán)利要求2所述的方法,其中根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)所述數(shù)據(jù)卷的負(fù)載周期包括: 選擇盡可能多的頻率分量,使得根據(jù)所選擇的頻率分量預(yù)估的周期小于所述周期閾值;和 根據(jù)所選擇的頻率分量估計(jì)所述數(shù)據(jù)卷的負(fù)載周期。
10.根據(jù)權(quán)利要求1所述的方法,進(jìn)ー步包括: 將所述數(shù)據(jù)從高速存儲設(shè)備遷移回低速存儲設(shè)備。
11.一種用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的裝置,該裝置包括: 收集模塊,配置為收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列; 估計(jì)模塊,配置為基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期;以及 遷移模塊,配置為根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,其數(shù)據(jù)位于高速存儲設(shè)備中。
12.如權(quán)利要求11所述的裝置,其中所述估計(jì)模塊包括: 配置為對所述負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行時(shí)頻變換以得到所述負(fù)載參數(shù)的頻域特性的模塊;以及 配置為根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)數(shù)據(jù)卷的負(fù)載周期的模塊。
13.如權(quán)利要求12所述的裝置,進(jìn)ー步包括: 配置為在對所述負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行時(shí)頻變換前,從所述負(fù)載參數(shù)的原始時(shí)域序列中去除線性分量的模塊。
14.如權(quán)利要求11所述的裝置,其中所述遷移模塊包括: 配置為遷移所述數(shù)據(jù)卷中熱點(diǎn)數(shù)據(jù)塊的數(shù)據(jù)的模塊。
15.如權(quán)利要求11或14所述的裝置,其中所述遷移模塊包括: 配置為在需要遷移多個(gè)數(shù)據(jù)卷的數(shù)據(jù)的情況下,優(yōu)先對優(yōu)先級高的數(shù)據(jù)卷進(jìn)行所述遷移的模塊。
16.根據(jù)權(quán)利要求11所述的裝置,其中所述收集模塊包括: 配置為收集多個(gè)數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列的模塊; 其中所述估計(jì)模塊包括: 配置為對所述多個(gè)數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列進(jìn)行聚類操作,使得類似的原始時(shí)域序列被歸入同一個(gè)類別中的模塊; 配置為針對各類別估計(jì)負(fù)載周期,并將所估計(jì)的負(fù)載周期應(yīng)用于該類別中的各原始時(shí)域序列所對應(yīng)的數(shù)據(jù)卷的模塊。
17.如權(quán)利要求1 2所述的裝置,其中所述估計(jì)模塊包括: 配置為根據(jù)所述頻域特性,選擇功率大于頻率閾值的頻率分量的模塊;和 配置為根據(jù)所選擇的頻率分量估計(jì)所述數(shù)據(jù)卷的負(fù)載周期的模塊。
18.如權(quán)利要求12所述的裝置,其中根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)所述數(shù)據(jù)卷的負(fù)載周期包括: 配置為選擇盡可能少的頻率分量,使得恢復(fù)時(shí)域序列與原始時(shí)域序列的誤差小于誤差閾值的模塊,其中所述恢復(fù)時(shí)域序列是根據(jù)所選擇的頻率分量進(jìn)行頻時(shí)變換后得到的時(shí)域序列;和 配置為根據(jù)所選擇的頻率分量估計(jì)所述數(shù)據(jù)卷的負(fù)載周期的模塊。
19.如權(quán)利要求12所述的裝置,其中根據(jù)所述負(fù)載參數(shù)的頻域特性估計(jì)所述數(shù)據(jù)卷的負(fù)載周期包括: 配置為選擇盡可能多的頻率分量,使得根據(jù)所選擇的頻率分量預(yù)估的周期小于所述周期閾值的模塊;和 配置為根據(jù)所選擇的頻率分量估計(jì)所述數(shù)據(jù)卷的負(fù)載周期的模塊。
20.如權(quán)利要求 11所述的裝置,進(jìn)ー步包括: 配置為將所述數(shù)據(jù)從高速存儲設(shè)備遷移回低速存儲設(shè)備的模塊。
全文摘要
根據(jù)本發(fā)明實(shí)施例的一種用于在存儲設(shè)備間進(jìn)行數(shù)據(jù)遷移的方法包括收集低速存儲設(shè)備中的數(shù)據(jù)卷的負(fù)載參數(shù)的原始時(shí)域序列;基于所收集的負(fù)載參數(shù)的原始時(shí)域序列,估計(jì)數(shù)據(jù)卷的負(fù)載周期;以及根據(jù)估計(jì)得到的負(fù)載周期遷移數(shù)據(jù)卷的數(shù)據(jù),使得在數(shù)據(jù)卷的負(fù)載峰值期間,其數(shù)據(jù)位于高速存儲設(shè)備中。根據(jù)本發(fā)明實(shí)施例,可以提高存儲設(shè)備中對數(shù)據(jù)的訪問速度。
文檔編號G06F3/06GK103092526SQ201110335849
公開日2013年5月8日 申請日期2011年10月31日 優(yōu)先權(quán)日2011年10月31日
發(fā)明者高雪東, 張俊偉, 錢海波 申請人:國際商業(yè)機(jī)器公司