亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

文件系統(tǒng)遷移的制作方法

文檔序號:6352156閱讀:202來源:國知局
專利名稱:文件系統(tǒng)遷移的制作方法
文件系統(tǒng)遷移
背景技術(shù)
一般地,文件系統(tǒng)的遷移涉及將位于源設(shè)備的諸如盤分區(qū)的源塊設(shè)備上的文件系統(tǒng)拷貝到目的地設(shè)備的目的地塊設(shè)備并復(fù)制該文件系統(tǒng)。塊設(shè)備還可以包括例如邏輯盤或邏輯卷。在文件系統(tǒng)遷移期間,可以在目的地塊設(shè)備處修改文件系統(tǒng)??梢猿鲇诟鞣N目的進(jìn)行對文件系統(tǒng)的修改,例如以保證存儲(chǔ)合并、以使得空間可用于未來存儲(chǔ)以及以實(shí)現(xiàn)有效的盤空間利用??梢源嬖谀承┬薷模T如縮小文件系統(tǒng)的大小,其在目的地塊設(shè)備處可能不是可實(shí)現(xiàn)的。文件系統(tǒng)的此類修改可以在源塊設(shè)備與目的地塊設(shè)備之間的中間存儲(chǔ)設(shè)備處或在源塊設(shè)備處執(zhí)行。一般地,在文件系統(tǒng)遷移期間即使是臨時(shí)的也不存在可用的中間存儲(chǔ)設(shè)備。另外,可以將源塊設(shè)備置于靜默狀態(tài),即其中對源塊設(shè)備上的文件系統(tǒng)的訪問可用于只讀目的且不能在源塊設(shè)備上對文件系統(tǒng)進(jìn)行修改的狀態(tài)。源塊設(shè)備被置于此類狀態(tài)以參考源塊設(shè)備來保持目的地塊設(shè)備處的文件系統(tǒng)的一致性和完整性。


參考附圖來描述詳細(xì)描述。在圖中,附圖標(biāo)記的(一個(gè)或多個(gè))最左數(shù)字識(shí)別其中附圖標(biāo)記第一次出現(xiàn)在其中的圖。遍及各圖使用相同的數(shù)字來指代相同的特征和部件。圖I說明根據(jù)本發(fā)明的實(shí)施方式的具有用于執(zhí)行文件系統(tǒng)遷移的一個(gè)或多個(gè)設(shè)備的示例性網(wǎng)絡(luò)環(huán)境。圖2說明根據(jù)本發(fā)明的實(shí)施方式的用于執(zhí)行文件系統(tǒng)遷移的示例性設(shè)備。圖3說明根據(jù)本發(fā)明的實(shí)施方式的示例性文件系統(tǒng)更新位圖。圖4說明根據(jù)本發(fā)明的實(shí)施方式的示例性分配位圖。圖5說明根據(jù)本主題的實(shí)施方式的用于處理文件系統(tǒng)命令的示例性方法。圖6說明根據(jù)本主題的實(shí)施方式的用于執(zhí)行文件系統(tǒng)塊的遷移的示例性方法。
具體實(shí)施例方式在本文中描述了用于執(zhí)行文件系統(tǒng)遷移的方法和設(shè)備??梢允刮募到y(tǒng)從源設(shè)備處的源塊設(shè)備遷移至目的地設(shè)備處的目的地塊設(shè)備。塊設(shè)備上的文件系統(tǒng)可以采取稱為文件系統(tǒng)塊的分立數(shù)據(jù)塊的形式。文件系統(tǒng)在遷移期間涉及文件系統(tǒng)塊從源塊設(shè)備到目的地塊設(shè)備的轉(zhuǎn)移。從源塊設(shè)備到目的地塊設(shè)備的文件系統(tǒng)遷移的過程可以包括文件系統(tǒng)的修改,例如重新確定文件系統(tǒng)的大小。文件系統(tǒng)重新確定大小涉及調(diào)整文件系統(tǒng)在塊設(shè)備上利用的盤空間。在此類修改期間,可以根據(jù)目的地塊設(shè)備上可用的盤空間放大或縮小文件系統(tǒng)的大小。文件系統(tǒng)的某些修改、諸如放大文件系統(tǒng)的大小一般被實(shí)現(xiàn)為目的地塊設(shè)備處的遷移后步驟。在這種情況下,在文件系統(tǒng)遷移到目的地塊設(shè)備上之后,可以運(yùn)行文件系統(tǒng)工具以將文件系統(tǒng)擴(kuò)展至目的地塊設(shè)備的新大小。此工具保證文件系統(tǒng)的大小被放大以擴(kuò)展并占用目的地塊設(shè)備上的附加空間??梢砸詢蓚€(gè)方式來實(shí)現(xiàn)諸如縮小文件系統(tǒng)的大小的修改,所述方式即具有非重新定位的文件系統(tǒng)修改和具有重新定位的文件系統(tǒng)修改。如本領(lǐng)域中已知的,重新定位涉及使文件系統(tǒng)中的數(shù)據(jù)塊移動(dòng),例如以在塊設(shè)備上產(chǎn)生鄰接的自由空間。在具有非重新定位的文件系統(tǒng)修改中,在目的地塊設(shè)備處文件系統(tǒng)塊未被重新定位。另外,在縮小文件系統(tǒng)的大小期間,文件系統(tǒng)的文件系統(tǒng)塊中的數(shù)據(jù)保持不受影響。具有有效數(shù)據(jù)的文件系統(tǒng)中的最后文件系統(tǒng)塊與文件系統(tǒng)的結(jié)尾之間的任何鄰接自由空間確定能夠?qū)崿F(xiàn)的文件系統(tǒng)的大小縮小的程度。此外,在本情況下,未實(shí)現(xiàn)文件系統(tǒng)的碎片整理,并且還限制了大小縮小的程度。另一方面,在具有重新定位的文件系統(tǒng)修改中,在給定塊設(shè)備上重新定位文件系統(tǒng)塊。在數(shù)據(jù)的重新定位期間,文件系統(tǒng)塊中的元數(shù)據(jù)和對應(yīng)的數(shù)據(jù)被到處移動(dòng)以組合在 塊設(shè)備上的各部分中分散的自由空間。使得文件系統(tǒng)塊中的數(shù)據(jù)在塊設(shè)備的一個(gè)部分中鄰接,并且在該塊設(shè)備上使得鄰接自由空間可用以未來存儲(chǔ)。此外,通常朝著塊設(shè)備上的存儲(chǔ)空間的結(jié)尾使得鄰接自由空間可用。用這種方法,能夠?qū)崿F(xiàn)文件系統(tǒng)的有效的大小縮小。然而,在重新定位文件系統(tǒng)塊的情況下在目的地塊設(shè)備處縮小文件系統(tǒng)的大小在文件系統(tǒng)塊的遷移期間難以處理。當(dāng)對應(yīng)目的地塊設(shè)備處的空間小于源塊設(shè)備上的文件系統(tǒng)所擁有的空間時(shí),困難可能是明顯的。目的地塊設(shè)備處的空間約束可以歸因于各種原因,例如以保證存儲(chǔ)合并、以使得空間可用于未來存儲(chǔ)以及以實(shí)現(xiàn)有效的塊設(shè)備空間利用。在這種情況下,文件系統(tǒng)的修改在目的地塊設(shè)備處可能是不可實(shí)現(xiàn)的。此外,在文件系統(tǒng)遷移期間,中間存儲(chǔ)設(shè)備不可用于緩沖數(shù)據(jù)并執(zhí)行任何修改或變更以作為文件系統(tǒng)遷移的一部分。為此,描述了用以執(zhí)行文件系統(tǒng)遷移的系統(tǒng)和方法。在一個(gè)實(shí)施方式中,通過使源塊設(shè)備和目的地塊設(shè)備相關(guān)聯(lián)來創(chuàng)建映射對。該關(guān)聯(lián)是通過使源塊設(shè)備上的塊映射到目的地塊設(shè)備上的對應(yīng)塊而實(shí)現(xiàn)的。在一個(gè)實(shí)施方式中,該關(guān)聯(lián)用來捕捉用于塊的更新并作為文件系統(tǒng)遷移過程的一部分使其改向(redirect)至目的地塊設(shè)備。例如,監(jiān)視諸如讀或?qū)懻埱蟮拿?。如果接收到意圖用于源塊設(shè)備的塊中的一個(gè)的寫請求,則該寫請求隨后被引導(dǎo)到目的地塊設(shè)備上的對應(yīng)塊。響應(yīng)于寫請求,更新目的地塊設(shè)備上的塊?;谠磯K設(shè)備和目的地塊設(shè)備之間的關(guān)聯(lián)、即基于映射對來確定目的地塊設(shè)備上的塊。因此,使用于文件系統(tǒng)的更新改向至目的地塊設(shè)備。另一方面,如果接收到意圖用于源塊設(shè)備的塊中的一個(gè)的讀請求,則進(jìn)行確定以檢查要被讀取的塊是否已被更新。如果源塊設(shè)備上的該塊尚未被更新,則隨后使讀請求引導(dǎo)到源塊設(shè)備的塊。然而,如果源塊設(shè)備上的塊在目的地塊設(shè)備上已被更新,即被拷貝并重新定位,則隨后該讀請求被引導(dǎo)到目的地塊設(shè)備上的已更新塊。因此,使對于在目的地塊設(shè)備處已被更新的源塊設(shè)備上的塊的讀請求改向至目的地塊設(shè)備上的對應(yīng)塊。在一個(gè)實(shí)施方式中,可以使用文件系統(tǒng)更新位圖來跟蹤對目的地塊設(shè)備上的塊的更新。在一個(gè)實(shí)施方式中,可以用陣列來表示文件系統(tǒng)更新位圖,其中,每個(gè)位可以對應(yīng)于目的地塊設(shè)備上的塊。例如,文件系統(tǒng)更新位圖中的位在被設(shè)定時(shí)(即I)將指示目的地塊設(shè)備上的對應(yīng)塊已被更新。相反,某個(gè)位的清零值(即當(dāng)為O時(shí))將指示對應(yīng)的塊未被更新。如前所述,形成文件系統(tǒng)遷移的一部分的更新和修改被引導(dǎo)到目的地塊設(shè)備。在這種情況下,在目的地塊設(shè)備處存在除了具有數(shù)據(jù)并因此被分配的未更新塊以外的所有塊。因此,為了完成遷移過程,具有有效數(shù)據(jù)但未被更新的那些塊被從源塊設(shè)備轉(zhuǎn)移至目的地塊設(shè)備。為此,基于文件系統(tǒng)更新位圖來確定目的地塊設(shè)備上的塊的更新狀態(tài)。在一個(gè)實(shí)施方式中,基于拷貝位圖從源塊設(shè)備拷貝塊。此外,可以針對被分配但未被更新的源塊設(shè)備處的塊(即對于其而言文件系統(tǒng)更新位圖的對應(yīng)的塊被清零的塊)來計(jì)算拷貝位圖。在一個(gè)實(shí)施方式中,拷貝位圖基于文件系統(tǒng)更新位圖和目的地分配位圖。在所述實(shí)施方式中,針對對應(yīng)于文件系統(tǒng)更新位圖中的清零位的那些塊來計(jì)算拷貝位圖??梢岳斫獾氖钱?dāng)文件系統(tǒng)的塊被分成若干塊組時(shí),可以以與如上所述類似的方式來實(shí)現(xiàn)文件系統(tǒng)遷移。在這種情況下,基于文件系統(tǒng)更新位圖中的更新狀態(tài)字段來確定塊組的更新狀態(tài)。如果用于塊組的更新狀態(tài)被清零,則其指示該塊組中的塊沒有一個(gè)被更新。 在這種情況下,基于塊組的源分配位圖從源塊設(shè)備拷貝塊。另一方面,用于塊組的更新狀態(tài)在被設(shè)定時(shí)指示塊組中的塊中的至少一個(gè)被更新?,F(xiàn)在將拷貝源塊設(shè)備上未被更新但被分配在源塊組中的塊。為了識(shí)別此類塊,針對該塊組來計(jì)算拷貝位圖。在一個(gè)實(shí)施方式中,拷貝位圖基于塊組更新位圖和目的地塊組位圖。本文所述的方法和設(shè)備在動(dòng)態(tài)重新定位目的地塊設(shè)備上的文件系統(tǒng)塊的情況下執(zhí)行文件系統(tǒng)遷移,而不影響源塊設(shè)備上的文件系統(tǒng)。此外,此類文件系統(tǒng)遷移實(shí)現(xiàn)數(shù)據(jù)的有效合并、創(chuàng)建用于未來存儲(chǔ)的空間并實(shí)現(xiàn)自由空間的高效利用。應(yīng)關(guān)于圖I至圖6來詳細(xì)地解釋用以執(zhí)行文件系統(tǒng)遷移的方式。雖然可以在任何數(shù)目的不同計(jì)算系統(tǒng)、環(huán)境和/或配置中實(shí)現(xiàn)系統(tǒng)和方法的各方面,但在以下(一個(gè)或多個(gè))示例性系統(tǒng)架構(gòu)的上下文中描述實(shí)施例。圖I說明根據(jù)本發(fā)明的實(shí)施方式的用于執(zhí)行文件系統(tǒng)遷移的示例性網(wǎng)絡(luò)環(huán)境100。網(wǎng)絡(luò)環(huán)境100可以包括一個(gè)或多個(gè)源設(shè)備102-1、102-2、…102-N (共同稱為源設(shè)備102)。源設(shè)備102被連接至網(wǎng)絡(luò)104。網(wǎng)絡(luò)環(huán)境100還可以包括一個(gè)或多個(gè)目的地設(shè)備106-1,106-2,…106-N (共同稱為目的地設(shè)備106)。源設(shè)備102和目的地設(shè)備106可以是多種設(shè)備,諸如服務(wù)器、主機(jī)計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)等。例如,在一個(gè)實(shí)施方式中,網(wǎng)絡(luò)環(huán)境100可以是公司網(wǎng)絡(luò),包括幾千個(gè)辦公室個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、各種服務(wù)器,諸如刀片服務(wù)器以及通過網(wǎng)絡(luò)104連接的其他計(jì)算設(shè)備。在另一實(shí)施方式中,網(wǎng)絡(luò)環(huán)境100可以是具有通過網(wǎng)絡(luò)104連接的有限數(shù)目的個(gè)人計(jì)算機(jī)和膝上型計(jì)算機(jī)的家庭網(wǎng)絡(luò)。目的地設(shè)備106可以通過網(wǎng)絡(luò)104與源設(shè)備102通信。網(wǎng)絡(luò)104可以是無線網(wǎng)絡(luò)、有線網(wǎng)絡(luò)或其組合。可以將網(wǎng)絡(luò)104實(shí)現(xiàn)為不同類型的網(wǎng)絡(luò)中的一個(gè),諸如內(nèi)聯(lián)網(wǎng)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、互聯(lián)網(wǎng)等。網(wǎng)絡(luò)104可以是專用網(wǎng)絡(luò)或共享網(wǎng)絡(luò),其表示使用多種協(xié)議的不同類型網(wǎng)絡(luò)的關(guān)聯(lián)以相互通信,所述多種協(xié)議例如超文本傳輸協(xié)議(HTTP)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)、無線應(yīng)用協(xié)議(WAP)等。此外,源設(shè)備102中的每一個(gè)與源塊設(shè)備108相關(guān)聯(lián)。源塊設(shè)備108可以具有與之相關(guān)聯(lián)的對應(yīng)分配位圖,在下文中稱為源分配位圖。源分配位圖可以指示源塊設(shè)備108上的塊的分配狀態(tài)。此外,可以使目的地設(shè)備106中的每一個(gè)與目的地塊設(shè)備110相關(guān)聯(lián)。目的地塊設(shè)備110可以具有與之相關(guān)聯(lián)的對應(yīng)分配位圖,稱為目的地分配位圖。目的地分配位圖可以指示目的地塊設(shè)備110上的塊的分配狀態(tài)。源塊設(shè)備108和目的地塊設(shè)備110可以是例如物理盤分區(qū)或邏輯盤分區(qū),諸如邏輯卷。在一個(gè)實(shí)施方式中,塊設(shè) 備108、110可以分別在源設(shè)備102和目的地設(shè)備106內(nèi)部。在另一實(shí)施方式中,源塊設(shè)備108和目的地塊設(shè)備110可以是駐留于在網(wǎng)絡(luò)環(huán)境100中示出的設(shè)備中的任何一個(gè)中的同一物理塊設(shè)備的兩個(gè)分離的邏輯分區(qū)。在一個(gè)實(shí)施方式中,源塊設(shè)備108存儲(chǔ)將被遷移至目的地塊設(shè)備110的文件系統(tǒng)??梢砸远鄠€(gè)數(shù)據(jù)塊的形式將文件系統(tǒng)存儲(chǔ)在源塊設(shè)備108上。此外,可以將所述多個(gè)塊聚集在一起以形成一個(gè)或多個(gè)塊組。此外,目的地塊設(shè)備110可以具有與源塊設(shè)備108類似的存儲(chǔ)配置。根據(jù)實(shí)施方式,網(wǎng)絡(luò)環(huán)境100還包括一個(gè)或多個(gè)計(jì)算設(shè)備112,例如管理員計(jì)算設(shè)備,以執(zhí)行文件系統(tǒng)遷移。可以理解的是雖然計(jì)算設(shè)備112被描繪為具有與源設(shè)備102和目的地設(shè)備106不同的配置,但其可以具有與源設(shè)備102或目的地設(shè)備106之一相同或類似的配置。可以將計(jì)算設(shè)備112實(shí)現(xiàn)為服務(wù)器、主機(jī)計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)等。在一個(gè)實(shí)施方式中,計(jì)算設(shè)備112包括遷移模塊114。在文件系統(tǒng)遷移期間,可以由遷移模塊114將位于源塊設(shè)備108上的文件系統(tǒng)拷貝至所識(shí)別的目的地塊設(shè)備110。可以理解的是雖然遷移模塊114被示為駐留于計(jì)算設(shè)備112上,但遷移模塊114可以駐留于源設(shè)備102或目的地設(shè)備106上。在一個(gè)實(shí)施方式中,通過使源塊設(shè)備108和目的地塊設(shè)備110相關(guān)聯(lián)、從而創(chuàng)建映射對來執(zhí)行文件系統(tǒng)遷移。遷移模塊114發(fā)布例如讀或?qū)懻埱蟮拿钭鳛槲募到y(tǒng)遷移過程的一部分。通過源塊設(shè)備108與目的地塊設(shè)備110之間的關(guān)聯(lián),捕捉并監(jiān)視由遷移模塊114發(fā)布的命令。此外,該命令隨后基于監(jiān)視而被引導(dǎo)到相關(guān)塊設(shè)備。例如,意圖用于源塊設(shè)備108上的塊中的一個(gè)的寫請求被改向至目的地塊設(shè)備110上的對應(yīng)塊且目的地塊設(shè)備110上的塊被更新。目的地塊設(shè)備110上的塊的更新包括例如從源塊設(shè)備108拷貝塊和將所拷貝塊重新定位到目的地塊設(shè)備110上。此外,執(zhí)行目的地塊設(shè)備110上的塊的此類更新作為文件系統(tǒng)遷移的一部分。在一個(gè)實(shí)施方式中,基于源塊設(shè)備108和目的地塊設(shè)備110的關(guān)聯(lián)來確定目的地塊設(shè)備110上的對應(yīng)塊。類似地,當(dāng)接收到意圖用于源塊設(shè)備108的塊中的一個(gè)的讀請求時(shí),在計(jì)算設(shè)備112處進(jìn)行確定。該確定查明要被讀取的塊在目的地塊設(shè)備110上是否已被更新。如果該塊尚未被更新,則讀請求被引導(dǎo)到源塊設(shè)備108上的塊。然而,如果源塊設(shè)備108上的塊已被更新,則使讀請求改向至目的地設(shè)備106上的已更新塊。如上所述,用于源塊設(shè)備108上的已更新塊的讀請求隨后被引導(dǎo)到目的地塊設(shè)備110上的關(guān)聯(lián)塊。為了處理由遷移模塊114生成的命令,在一個(gè)實(shí)施方式中,可以使用文件系統(tǒng)更新位圖來跟蹤對目的地塊設(shè)備110上的塊的更新。在一個(gè)實(shí)施方式中,文件系統(tǒng)更新位圖中的位可以對應(yīng)于目的地塊設(shè)備110上的塊。例如,文件系統(tǒng)更新位圖的塊在被設(shè)定時(shí)(即I)將指示目的地塊設(shè)備110上的對應(yīng)塊已被更新。相反,用于某個(gè)塊的清零值(即O)將指示對應(yīng)的塊未被更新。為了完成文件系統(tǒng)的遷移,遷移模塊114然后繼續(xù)基于文件系統(tǒng)更新位圖來識(shí)別具有有效數(shù)據(jù)但未被更新的源塊設(shè)備108上的那些塊。在一個(gè)實(shí)施方式中,可以基于文件系統(tǒng)更新位圖的更新狀態(tài)從源塊設(shè)備108識(shí)別剩余要拷貝的塊。在另一實(shí)施方式中,將源塊設(shè)備108和目的地塊設(shè)備110的塊結(jié)構(gòu)化為塊組。在這種情況下,文件系統(tǒng)更新位圖可以包括更新狀態(tài)字段。更新狀態(tài)字段在被設(shè)定時(shí)指示塊組內(nèi)的至少一個(gè)塊在目的地塊設(shè)備Iio上已被更新。例如,塊組內(nèi)的一百個(gè)塊之中的一個(gè)在被更新時(shí)將設(shè)置用于該塊組的更新狀態(tài)字段。類似地,用于塊組的更新狀態(tài)字段在清零時(shí)指示該塊組內(nèi)的塊中沒有一個(gè)已被更新。文件系統(tǒng)更新位圖還可以包括塊組更新位圖,其對應(yīng)于目的地塊設(shè)備110上的塊組。在一個(gè)實(shí)施方式中,塊組更新位圖指示目的地塊設(shè) 備110上的塊組中的各個(gè)塊的更新狀態(tài)。結(jié)合圖2來進(jìn)一步詳細(xì)地描述用以實(shí)現(xiàn)文件系統(tǒng)遷移的方式。圖2說明按照本主題的一個(gè)實(shí)施方式的用于執(zhí)行文件系統(tǒng)遷移的計(jì)算設(shè)備112的示例性部件。在一個(gè)實(shí)施方式中,計(jì)算設(shè)備112包括被耦合至存儲(chǔ)器204的(一個(gè)或多個(gè))處理器202??梢詫⒃?一個(gè)或多個(gè))處理器202實(shí)現(xiàn)為一個(gè)或多個(gè)微處理器、微型計(jì)算機(jī)、微控制器、數(shù)字信號處理器、中央處理單元、狀態(tài)機(jī)、邏輯電路和/或基于操作指令來操縱信號的任何設(shè)備。除其他能力之外,該(一個(gè)或多個(gè))處理器202被配置成獲取并執(zhí)行存儲(chǔ)在存儲(chǔ)器204中的計(jì)算機(jī)可讀指令。存儲(chǔ)器204可以包括在本領(lǐng)域中已知的計(jì)算機(jī)可讀介質(zhì),包括例如易失性存儲(chǔ)器,諸如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)等和/或非易失性存儲(chǔ)器,諸如可擦編程只讀存儲(chǔ)器(EPROM)、閃速存儲(chǔ)器等。在一個(gè)實(shí)施方式中,存儲(chǔ)器204包括(一個(gè)或多個(gè))模塊206和數(shù)據(jù)208。該(一個(gè)或多個(gè))模塊206包括遷移模塊114、關(guān)聯(lián)模塊210、命令驅(qū)動(dòng)器212以及(一個(gè)或多個(gè))其他模塊214。(一個(gè)或多個(gè))其他模塊214可以包括補(bǔ)充由計(jì)算設(shè)備112執(zhí)行的應(yīng)用或功能的程序或編碼指令。數(shù)據(jù)208包括文件系統(tǒng)更新位圖216、用于文件系統(tǒng)的每個(gè)塊組的拷貝位圖218、源分配位圖220、目的地分配位圖222以及其他數(shù)據(jù)224。其他數(shù)據(jù)224還可以包括被(一個(gè)或多個(gè))模塊206中的一個(gè)或多個(gè)模塊使用或作為其執(zhí)行結(jié)果而生成的數(shù)據(jù)??梢苑謩e用源分配位圖220和目的地分配位圖222來表示源塊設(shè)備108和目的地塊設(shè)備110內(nèi)的數(shù)據(jù)。分配位圖220和222兩者分別指示源塊設(shè)備108和目的地塊設(shè)備110的塊的分配狀態(tài)。計(jì)算設(shè)備112還可以包括(一個(gè)或多個(gè))接口 226,例如以促進(jìn)與源塊設(shè)備108和目的地塊設(shè)備Iio的通信。該(一個(gè)或多個(gè))接口 226可以包括多種軟件和硬件接口,例如用于諸如鍵盤、鼠標(biāo)、外部存儲(chǔ)器以及打印機(jī)的(一個(gè)或多個(gè))外圍設(shè)備的接口。此外,該(一個(gè)或多個(gè))接口 226可以使得計(jì)算設(shè)備112能夠與其他計(jì)算設(shè)備通信,諸如源設(shè)備102、目的地設(shè)備106以及外部數(shù)據(jù)庫。該(一個(gè)或多個(gè))接口 226還可以促進(jìn)多種網(wǎng)絡(luò)和協(xié)議類型內(nèi)的多個(gè)通信,包括例如LAN、電纜等的有線網(wǎng)絡(luò)和諸如WLAN、蜂窩或衛(wèi)星的無線網(wǎng)絡(luò)。為了該目的,該(一個(gè)或多個(gè))接口 226可以包括用于將若干計(jì)算設(shè)備相互連接或連接至其他服務(wù)器計(jì)算機(jī)的一個(gè)或多個(gè)端口。在操作中,計(jì)算設(shè)備112執(zhí)行從源塊設(shè)備108至目的地塊設(shè)備110的文件系統(tǒng)遷移。在一個(gè)實(shí)施方式中,文件系統(tǒng)遷移包括塊到目的地塊設(shè)備110上的重新定位以作為文件系統(tǒng)遷移期間的文件系統(tǒng)的動(dòng)態(tài)修改的一部分。 為此,關(guān)聯(lián)模塊210將源塊設(shè)備108關(guān)聯(lián)或映射至目的地塊設(shè)備110以創(chuàng)建映射對。在一個(gè)實(shí)施方式中,該映射對可以包括描述源塊設(shè)備108和目的地塊設(shè)備110的映射的信息??梢詫⒋诵畔⒋鎯?chǔ)在其他數(shù)據(jù)224中。在一個(gè)實(shí)施方式中,所述映射信息描述源塊設(shè)備的塊和/或塊組與目的地塊設(shè)備110的對應(yīng)塊和/或塊組之間的映射。在一個(gè)實(shí)施方式中,關(guān)聯(lián)模塊210在創(chuàng)建映射對時(shí)創(chuàng)建文件系統(tǒng)更新位圖216。文件系統(tǒng)更新位圖216跟蹤目的地塊設(shè)備110中的各種塊的更新狀態(tài)。例如,文件系統(tǒng)更新位圖216中的位對應(yīng)于目的地塊設(shè)備110上的塊。此外,如前所述,在塊被布置成塊組的情況下,文件系統(tǒng)更新位圖216還可以包括關(guān)于目的地塊設(shè)備110上的文件系統(tǒng)中的各種塊組的更新狀態(tài)的信息。例如,文件系統(tǒng)更新位圖216中的更新狀態(tài)字段可以跟蹤目的地塊設(shè)備110中的塊組的更新狀態(tài)。類似地,一個(gè)或多個(gè)塊組更新位圖可以跟蹤對應(yīng)塊組中的塊的更新狀態(tài)。在圖2中文件系統(tǒng)更新位圖216已被示為在計(jì)算設(shè)備112上。然而,在不脫離本主題的范圍的情況下,文件系統(tǒng)更新位圖216還可以存在于源設(shè)備102中。在這種情況下,遷移模塊114將文件系統(tǒng)更新位圖216從源設(shè)備102導(dǎo)入到計(jì)算設(shè)備112或通過(一個(gè)或多個(gè))接口 226來訪問源設(shè)備102上的文件系統(tǒng)更新位圖216。在文件系統(tǒng)遷移過程期間,遷移模塊114可以向塊、例如向具有數(shù)據(jù)的塊發(fā)布一個(gè)或多個(gè)命令。該命令可以是寫請求或讀請求。例如,遷移模塊114可以向源塊設(shè)備108上的塊發(fā)布寫請求以更新該塊。一旦生成了命令,則其被命令驅(qū)動(dòng)器212接收到??梢岳缡褂貌僮飨到y(tǒng)環(huán)境中的用戶空間至內(nèi)核空間交互來實(shí)現(xiàn)命令驅(qū)動(dòng)器212。命令驅(qū)動(dòng)器212接收由遷移模塊114發(fā)布的命令并檢查該命令是讀請求還是寫請求。在該命令是寫請求的情況下,命令驅(qū)動(dòng)器212使其改向至目的地塊設(shè)備110中的塊。在目的地塊設(shè)備110處,執(zhí)行寫命令并更新與源塊設(shè)備108上的塊相對應(yīng)的目的地塊設(shè)備110上的塊。在一個(gè)實(shí)施方式中,命令驅(qū)動(dòng)器212基于存儲(chǔ)在其他數(shù)據(jù)224中的映射信息來識(shí)別用于使寫請求改向的塊。一旦目的地塊設(shè)備110處的塊被更新,則文件系統(tǒng)更新位圖216中的對應(yīng)的位也被設(shè)定,從而指示更新。在一個(gè)實(shí)施方式中,由遷移模塊114來設(shè)定文件系統(tǒng)更新位圖216。此外,現(xiàn)在可以在目的地分配位圖222中將已更新塊指示為已分配。在一個(gè)實(shí)施方式中,遷移模塊114設(shè)置目的地分配位圖222中的位以在目的地分配位圖222中指示目的地塊設(shè)備110上的已更新塊被分配并具有數(shù)據(jù)。在一個(gè)實(shí)施方式中,遷移模塊114可以將駐留于目的地塊設(shè)備110上的目的地分配位圖222導(dǎo)入到存儲(chǔ)器204上并修改目的地分配位圖222。在另一實(shí)施方式中,遷移模塊114可以例如通過在計(jì)算設(shè)備112中提供的(一個(gè)或多個(gè))接口 226來訪問并修改目的地塊設(shè)備110上的目的地分配位圖222。返回至由遷移模塊114生成的請求,情況還可能是命令驅(qū)動(dòng)器212可以從遷移模塊114接收讀請求以從源塊設(shè)備108上的(一個(gè)或多個(gè))塊讀取數(shù)據(jù)。在這種情況下,命令驅(qū)動(dòng)器212檢查讀請求是否被引導(dǎo)到目的地塊設(shè)備110上的已被更新的塊。
在讀請求被引導(dǎo)到在目的地塊設(shè)備110上未被更新的源塊設(shè)備108上的塊時(shí),則讀請求被引導(dǎo)到源塊設(shè)備108上的塊。例如,源塊設(shè)備108上的塊可能在目的地塊設(shè)備110上沒有被更新,因?yàn)樵搲K在源塊設(shè)備108上可能未被粉碎,或者一般地在重新定位中可能未被涉及到。在讀請求被引導(dǎo)到在目的地塊設(shè)備110上被更新的塊的情況下,命令驅(qū)動(dòng)器212將讀請求引導(dǎo)到目的地塊設(shè)備110上的對應(yīng)塊。在一個(gè)實(shí)施方式中,命令驅(qū)動(dòng)器212基于文件系統(tǒng)更新位圖216來識(shí)別源塊設(shè)備108處的塊在目的地塊設(shè)備110處是否已被更新。在這種情況下,命令驅(qū)動(dòng)器212可以基于源塊設(shè)備108和目的地塊設(shè)備110的關(guān)聯(lián)使讀請求引導(dǎo)到目的地塊設(shè)備110上的對應(yīng)塊。在一個(gè)實(shí)施方式中,目的地分配位圖222還可以指示具有有效數(shù)據(jù)但未被更新的源塊設(shè)備108上的塊。例如,由遷移模塊114基于源分配位圖220在目的地分配位圖222中設(shè)置用于源塊設(shè)備108上的此類塊的位。此外,目的地分配位圖222的此類修改可以在目的地塊設(shè)備110上的塊已被更新和遷移之后發(fā)生。 一旦已處理了該命令并在目的地塊設(shè)備110上更新了塊,則遷移模塊114從源塊設(shè)備108拷貝在目的地塊設(shè)備110處未被更新但具有有效數(shù)據(jù)的那些塊。為此,遷移模塊114確定目的地塊設(shè)備110上的所有此類塊的更新狀態(tài)。例如,遷移模塊114基于文件系統(tǒng)更新位圖216來確定塊的更新狀態(tài)?;趬K的更新狀態(tài),遷移模塊114將對應(yīng)的塊從源塊設(shè)備108拷貝到目的地塊設(shè)備110。例如,遷移模塊114識(shí)別那些塊之中的此類塊,對于該塊而言文件系統(tǒng)更新位圖216中的對應(yīng)位被清零,因此指示這些塊未被更新。在一個(gè)實(shí)施方式中,遷移模塊114基于拷貝位圖218來拷貝未被更新但具有有效數(shù)據(jù)的塊??梢曰谖募到y(tǒng)更新位圖216和目的地分配位圖222來計(jì)算拷貝位圖218。在一個(gè)實(shí)施方式中,遷移模塊114可以通過計(jì)算文件系統(tǒng)更新位圖216和目的地分配位圖222的XOR來計(jì)算拷貝位圖218。一旦計(jì)算了拷貝位圖218,則遷移模塊114可以將與在拷貝位圖218中設(shè)置的塊相對應(yīng)的塊從源塊設(shè)備108拷貝到目的地塊設(shè)備110??梢岳斫獾氖请m然文件系統(tǒng)更新位圖216和拷貝位圖218被示出為駐留于計(jì)算設(shè)備112上,但兩者可以駐留于源設(shè)備102、目的地設(shè)備106、源塊設(shè)備108或目的地塊設(shè)備110的任一上。根據(jù)另一實(shí)施方式,可以將源塊設(shè)備108上的塊分組以形成一個(gè)或多個(gè)塊組。在此類實(shí)施方式中,遷移模塊114可以從源塊設(shè)備108上的塊組拷貝塊。結(jié)合圖3和圖4來詳細(xì)地描述此實(shí)施方式。圖3說明根據(jù)本發(fā)明的實(shí)施方式的示例性文件系統(tǒng)更新位圖216,其包括用于塊組的更新位圖。在一個(gè)實(shí)施方式中,文件系統(tǒng)更新位圖216可以跟蹤在目的地塊設(shè)備110處被更新的塊和塊組。如所指示的,文件系統(tǒng)更新位圖216包括元素列表300,其引用一個(gè)或多個(gè)塊組更新位圖302-1、302-2、"·302-Ν (共同地稱為塊組更新位圖302)。在一個(gè)實(shí)施方式中,塊組更新位圖302可以對應(yīng)于目的地塊設(shè)備110上的塊組。元素列表300可以包括塊組條目304、更新狀態(tài)字段306以及指針字段308。塊組條目304對應(yīng)于目的地塊設(shè)備110的塊組。更新狀態(tài)字段306指示目的地塊設(shè)備110上的塊組的更新狀態(tài)。更新狀態(tài)字段306在被設(shè)定時(shí)(即I)指示對應(yīng)塊組中的至少一個(gè)塊在目的地塊設(shè)備110上已被更新。例如,在塊組更新位圖302-1中,被設(shè)定的位指示目的地塊設(shè)備110上的塊組中的對應(yīng)塊已被更新。另一方面,更新狀態(tài)字段306中的清零值(即O)可以指示對應(yīng)的塊組的塊中沒有一個(gè)被更新。此外,指針字段308引用一個(gè)或多個(gè)塊組更新位圖302。如前所述,可以將塊組更新位圖302存儲(chǔ)在計(jì)算設(shè)備112的存儲(chǔ)器204中或源設(shè)備102、目的地設(shè)備106、源塊設(shè)備108或目的地塊設(shè)備110中,并且被元素列表300引用。此外,在另一實(shí)施方式中,可以將塊組更新位圖302集成在文件系統(tǒng)更新位圖216中。在一個(gè)實(shí)施方式中,當(dāng)遷移模塊114發(fā)布第一寫請求以更新塊組中的塊時(shí),可以為該塊組動(dòng)態(tài)地創(chuàng)建塊組更新位圖302。已關(guān)于塊組描述了如圖3所示的文件系統(tǒng)更新位圖216。在源塊設(shè)備108和目的地塊設(shè)備110具有未被聚集成塊組的單獨(dú)塊的情況下,相同的原理將適用。在另一實(shí)施方式中,可以用類似于塊組位圖302-1的位圖來說明用于文件系統(tǒng)的文件系統(tǒng)更新位圖216,其中,每個(gè)設(shè)定位將指示目的地塊設(shè)備110上的對應(yīng)塊的已更新狀態(tài)。圖4說明根據(jù)本發(fā)明的一個(gè)實(shí)施方式的目的地分配位圖222的示例性結(jié)構(gòu)。可以理解的是可以由類似的結(jié)構(gòu)來說明源分配位圖220。 在所述實(shí)施方式中,目的地分配位圖222可以包括一個(gè)或多個(gè)目的地塊組位圖401-1,402-2,…402-N (共同地稱為目的地塊組位圖402)。在一個(gè)實(shí)施方式中,目的地塊組位圖402可以對應(yīng)于目的地塊設(shè)備110上的塊組,并且目的地塊組位圖402中的每個(gè)位可以對應(yīng)于該塊組中的塊。在目的地塊組位圖402中,設(shè)定位指示塊組中的對應(yīng)塊具有有效數(shù)據(jù)且被分配,而清零位指示不具有有效數(shù)據(jù)的自由塊。目的地塊組位圖402中用于塊的設(shè)定位還可以指示具有有效數(shù)據(jù)但在目的地塊設(shè)備110處未被更新的源塊設(shè)備108上的對應(yīng)塊。在一個(gè)實(shí)施方式中,用于在源塊設(shè)備108中的未被更新的塊的位例如由遷移模塊114基于源塊設(shè)備108和目的地塊設(shè)備110的關(guān)聯(lián)在目的地塊組位圖402中被對應(yīng)地設(shè)定。在另一實(shí)施方式中,可以不將目的地分配位圖222分成各個(gè)塊組。在這種情況下,目的地分配位圖222可以是表示存儲(chǔ)在目的地塊設(shè)備110上的整個(gè)文件系統(tǒng)的鄰接位圖。返回前一情況,其中文件系統(tǒng)的塊被布置成塊組,例如當(dāng)遷移模塊114在目的地塊設(shè)備110上更新對應(yīng)塊組中的塊時(shí),修改目的地塊組位圖402。在一個(gè)實(shí)施方式中,可以響應(yīng)于由遷移模塊114發(fā)布的寫請求來實(shí)現(xiàn)目的地塊設(shè)備110處的塊的更新。例如,利用此類更新,可以使來自源塊設(shè)備108的粉碎塊遷移至目的地塊設(shè)備110。在塊的更新之后,遷移模塊114識(shí)別并拷貝未被更新但具有有效數(shù)據(jù)的源塊設(shè)備108上的那些塊。在一個(gè)實(shí)施方式中,遷移模塊114基于拷貝位圖218來拷貝此類塊。遷移模塊114基于文件系統(tǒng)更新位圖216來生成拷貝位圖218。在一個(gè)實(shí)施方式中,遷移模塊114首先確定塊組的更新狀態(tài)。如果更新狀態(tài)是無效的,則其指示在該塊組內(nèi)、例如對應(yīng)于塊組條目304中的條目2的塊組內(nèi)的塊中沒有一個(gè)被更新。在這種情況下,遷移模塊114拷貝例如由源塊組位圖402所指示的塊組內(nèi)的所有分配塊。然而,如果塊組的更新狀態(tài)不是無效的,則其指示塊組內(nèi)的塊中的至少一個(gè)已被更新。在這種情況下,遷移模塊114基于塊組更新位圖302和目的地塊組位圖402來產(chǎn)生拷貝位圖218。在這種情況下,遷移模塊114意圖拷貝未被更新但被分配在源塊設(shè)備108上的對應(yīng)塊組中的那些塊。在一個(gè)實(shí)施方式中,遷移模塊114通過評估塊組更新位圖302中的位和目的地塊組位圖402中的位的XOR來生成拷貝位圖218。這樣生成的拷貝位圖218將具有被設(shè)定的某些塊和被清零的某些塊。遷移模塊114然后將那些塊從源塊設(shè)備108拷貝至目的地塊設(shè)備110,對于那些塊而言,對應(yīng)的位在拷貝位圖218中被設(shè)定。在一個(gè)實(shí)施方式中,拷貝位圖218在文件系統(tǒng)遷移完成時(shí)被清零。圖5和圖6說明依照本發(fā)明的實(shí)施例的用于執(zhí)行文件系統(tǒng)遷移的示例性方法??梢栽诎谟?jì)算 機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述示例性方法。一般地,計(jì)算機(jī)可執(zhí)行指令可以包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)、過程、模塊、函數(shù)等,其執(zhí)行特定功能或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。還可以在其中由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行功能的分布式計(jì)算環(huán)境中實(shí)施所述方法。在分布式計(jì)算環(huán)境中,可以將計(jì)算機(jī)可執(zhí)行指令定位于本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)(包括存儲(chǔ)器存儲(chǔ)設(shè)備)中。描述所述方法的順序并不意圖被解釋為限制,并且可以按照任何順序?qū)⑷魏螖?shù)目的所述方法塊組合以實(shí)現(xiàn)該方法或替換方法。另外,在不脫離本文所述的方法、系統(tǒng)以及設(shè)備的精神和范圍的情況下,可以從所述方法中刪除單獨(dú)的塊。此外,可以在任何適當(dāng)?shù)挠布④浖?、固件或其組合中實(shí)現(xiàn)所述方法。圖5說明根據(jù)本發(fā)明的實(shí)施方式的處理命令并用于更新文件系統(tǒng)塊的示例性方法。在一個(gè)實(shí)施方式中,由諸如命令驅(qū)動(dòng)器212的命令驅(qū)動(dòng)器來處理該命令。此外,可以由諸如遷移模塊114的遷移模塊來實(shí)現(xiàn)文件系統(tǒng)塊的更新。在塊502處,使諸如源塊設(shè)備108的源塊設(shè)備與諸如目的地塊設(shè)備110的目的地塊設(shè)備相關(guān)聯(lián)。例如,諸如關(guān)聯(lián)模塊210的關(guān)聯(lián)模塊將源塊設(shè)備108上的塊關(guān)聯(lián)并映射到目的地塊設(shè)備110上的對應(yīng)塊。在一個(gè)實(shí)施方式中,指示源塊設(shè)備108與目的地塊設(shè)備110之間的映射的信息被存儲(chǔ)在諸如其他數(shù)據(jù)224的其他數(shù)據(jù)中。此外,一旦實(shí)現(xiàn)了源塊設(shè)備108和目的地塊設(shè)備110的映射,則可以創(chuàng)建更新位圖,諸如文件系統(tǒng)更新位圖216。在塊504處,接收用于對塊執(zhí)行讀或?qū)懖僮鞯囊粋€(gè)或多個(gè)命令。在一個(gè)實(shí)施方式中,遷移模塊114向源塊設(shè)備108上的塊發(fā)布命令。該命令可以包括用以向源塊設(shè)備108的塊進(jìn)行讀或?qū)懙拿?。由遷移模塊114生成的命令被命令驅(qū)動(dòng)器212接收。在塊506處,確定接收到的命令是否是讀請求。例如,命令驅(qū)動(dòng)器212接收該命令并確定從遷移模塊114接收到的命令是否是讀請求。在命令驅(qū)動(dòng)器212確定接收到的命令不是讀請求的情況下(來自塊506的“否”路徑),即其為例如意圖將塊重新定位于源塊設(shè)備108上的寫請求,該命令被引導(dǎo)到目的地塊設(shè)備110上的對應(yīng)塊(塊508)。此外,可以響應(yīng)于寫請求來更新目的地塊設(shè)備108上的塊。在一個(gè)實(shí)施方式中,可以通過從源塊設(shè)備108拷貝塊并將該塊重新定位于目的地塊設(shè)備110中例如以對該塊中的數(shù)據(jù)進(jìn)行碎片整理來實(shí)現(xiàn)該更新。在一個(gè)實(shí)施方式中,遷移模塊114基于源塊設(shè)備108和目的地塊設(shè)備110的關(guān)聯(lián)來識(shí)別目的地塊設(shè)備110上的塊。在一個(gè)實(shí)施方式中,遷移模塊114生成對應(yīng)于其中塊被更新的塊組的塊組更新位圖,諸如塊組更新位圖302。在命令是讀請求的情況下(來自塊506的“是”路徑),進(jìn)一步確定(塊510)讀請求是否被引導(dǎo)到源塊設(shè)備108上的塊,該塊在目的地塊設(shè)備110上已被更新,例如重新定位在目的地塊設(shè)備110上。在一個(gè)實(shí)施方式中,遷移模塊114基于文件系統(tǒng)更新位圖216來確定源塊設(shè)備108處的塊是否已被更新。如果讀請求是針對已被更新的塊的(來自塊510的“是”路徑),則該請求被引導(dǎo)到目的地塊設(shè)備Iio上的對應(yīng)塊(塊512)。在一個(gè)實(shí)施方式中,命令驅(qū)動(dòng)器212將讀請求引導(dǎo)到目的地塊設(shè)備110。相反,如果在塊510處確定讀請求被引導(dǎo)到在目的地塊設(shè)備110上未被更新的源塊設(shè)備108上的塊(來自塊510的“否”路徑),則讀請求被引導(dǎo)到源塊設(shè)備108上的塊。在一個(gè)實(shí)施方式中,命令驅(qū)動(dòng)器212將該讀請求引導(dǎo)到源塊設(shè)備108。圖6說明根據(jù)本發(fā)明的實(shí)施方式的用于執(zhí)行塊的遷移的方法。這些塊可以包括例如源塊設(shè)備108上的塊,其具有數(shù)據(jù)且未被更新。在一個(gè)實(shí)施方式中,可以由遷移模塊114來執(zhí)行遷移。在塊602處,基于文件系統(tǒng)更新位圖216來確定目的地塊設(shè)備110上的塊組的更新狀態(tài)。在一個(gè)實(shí)施方式中,遷移模塊114基于來自文件系統(tǒng)更新位圖216的更新狀態(tài)字段(諸如更新狀態(tài)字段306)來確定塊組的更新狀態(tài)。如前所述,當(dāng)塊組的塊例如響應(yīng)于由遷移模塊114發(fā)布的寫命令在目的地塊設(shè)備110處被更新時(shí),修改文件系統(tǒng)更新位圖216。 在另一實(shí)施方式中,在塊602處確定目的地塊設(shè)備110上的塊的更新狀態(tài)。在所述實(shí)施方式中,基于文件系統(tǒng)更新位圖216來確定更新狀態(tài)。在塊604處,確定塊組的更新狀態(tài)字段306是否被設(shè)定。如果在塊604處用于塊組的更新狀態(tài)字段306被設(shè)定,即為“ I”(來自塊604的“是”路徑),則其指示在目的地塊設(shè)備110上的塊組中存在被更新的至少一個(gè)塊,例如從源塊設(shè)備108被拷貝并在目的地塊設(shè)備110處被進(jìn)行碎片整理。在另一實(shí)施方式中,檢查塊的更新狀態(tài)是被設(shè)定還是清零。在所述實(shí)施方式中,如果狀態(tài)被設(shè)定,即其指示塊被更新,則順次對下一個(gè)塊再次執(zhí)行來自塊602的方法。此外,如果用于塊的狀態(tài)被清零,即其指示塊未被更新,則為每個(gè)塊計(jì)算拷貝位圖(塊606)。在塊606處,計(jì)算拷貝位圖,諸如拷貝位圖218。在一個(gè)實(shí)施方式中,針對考慮之中的塊組生成拷貝位圖218,例如塊組拷貝位圖。在一個(gè)實(shí)施方式中,基于文件系統(tǒng)更新位圖216和目的地分配位圖222來計(jì)算拷貝位圖218。在一個(gè)實(shí)施方式中,通過確定文件系統(tǒng)更新位圖216中的塊組更新位圖302和目的地分配位圖222中的目的地塊組位圖402的XOR來生成拷貝位圖218??截愇粓D218可以指示將從源塊設(shè)備108拷貝的塊。在一個(gè)實(shí)施方式中,塊組拷貝位圖中的設(shè)定位說明在目的地塊設(shè)備110處未被更新但具有數(shù)據(jù)的源塊設(shè)備108中的那些塊。在另一實(shí)施方式中,針對文件系統(tǒng)更新位圖216中的其更新狀態(tài)被清零的塊單獨(dú)地生成拷貝位圖218。在所述實(shí)施方式中,基于文件系統(tǒng)更新位圖216和目的地分配位圖222來計(jì)算拷貝位圖218。例如,在這種情況下,通過計(jì)算與文件系統(tǒng)更新位圖216中的其更新狀態(tài)被清零的那些塊相對應(yīng)的目的地分配位圖222中的位和文件系統(tǒng)更新位圖216中的位的XOR來生成拷貝位圖218。在塊608處,基于拷貝位圖218將來自源塊設(shè)備108的塊拷貝到目的地塊設(shè)備110。在一個(gè)實(shí)施方式中,將與拷貝位圖218中的設(shè)定位相對應(yīng)的塊從源塊設(shè)備108拷貝到目的地塊設(shè)備110。返回至判定塊604,如果更新狀態(tài)字段306未被設(shè)定,即文件系統(tǒng)更新位圖216中的更新狀態(tài)字段306是“O”(來自塊604的“否”路徑),則具有數(shù)據(jù)的來自源塊設(shè)備108的塊組的塊在塊610處被拷貝到目的地塊設(shè)備110中的對應(yīng)塊。在一個(gè)實(shí)施方式中,塊的拷貝基于源分配位圖,諸如源分配位圖220。例如,基于源分配位圖220中的諸如源塊組位圖402的源塊組位圖來從源塊設(shè)備108拷貝塊。在一個(gè)實(shí)施方式中,源分配位圖220指示在源塊設(shè)備108上具有數(shù)據(jù)的那些塊。例如,源分配位圖220中的設(shè)定位可以指示在源塊設(shè)備108上具有數(shù)據(jù)的塊,并且在塊610處從源塊設(shè)備108拷貝此類塊。本文所述的方法和設(shè)備在動(dòng)態(tài)重新定位目的地塊設(shè)備上的文件系統(tǒng)塊的情況下執(zhí)行文件系統(tǒng)遷移而不影響源塊設(shè)備上的文件系統(tǒng)。根據(jù)一方面,目的地塊設(shè)備上的文件系統(tǒng)塊的重新定位可以縮小文件系統(tǒng)的大小。利用此類文件系統(tǒng)遷移,可以在沒有任何數(shù)據(jù)損失的情況下使文件系統(tǒng)遷移至小于源塊設(shè)備的目的地塊設(shè)備。此外,可以采用所述方法和設(shè)備來遷移碎片化的文件系統(tǒng)以在目的地塊設(shè)備處實(shí)現(xiàn)有效的存儲(chǔ)合并、高效的盤空間利用/優(yōu)化。結(jié)論
雖然用結(jié)構(gòu)特征和/或方法所特有的語言描述了用于執(zhí)行文件系統(tǒng)遷移的實(shí)施方式,但應(yīng)理解的是本發(fā)明(以及未附的權(quán)利要求)不一定局限于所述的特定特征或方法。相反, 用于執(zhí)行文件系統(tǒng)遷移的特定特征和方法是作為本發(fā)明的示例性實(shí)施方式而公開的。
權(quán)利要求
1.一種用以執(zhí)行文件系統(tǒng)遷移的方法,該方法包括 使源塊設(shè)備關(guān)聯(lián)至目的地塊設(shè)備,其中,所述源塊設(shè)備和目的地塊設(shè)備分別包括多個(gè)源塊和目的地塊; 至少基于所述關(guān)聯(lián)將用于來自所述多個(gè)源塊的源塊的至少一個(gè)命令引導(dǎo)到所述源塊設(shè)備或目的地塊設(shè)備;以及 部分地基于所述至少一個(gè)所引導(dǎo)命令來更新來自所述多個(gè)目的地塊中的目的地塊。
2.如權(quán)利要求I所述的方法,其中,所述至少一個(gè)命令是在文件系統(tǒng)遷移期間生成的。
3.如權(quán)利要求I所述的方法,其中,引導(dǎo)所述至少一個(gè)命令還包括隨后在所述至少一個(gè)命令是寫請求時(shí)將所述至少一個(gè)命令引導(dǎo)到與源塊相關(guān)聯(lián)的目的地塊。
4.如權(quán)利要求I所述的方法,其中,所述引導(dǎo)還包括 針對所述至少一個(gè)命令是讀請求,隨后將所述至少一個(gè)命令引導(dǎo)到源塊,如果對應(yīng)的目的地塊未被更新的話;以及 針對所述至少一個(gè)命令是讀請求,隨后將所述至少一個(gè)命令引導(dǎo)到來自所述多個(gè)目的地塊的對應(yīng)于源塊的另一目的地塊,如果所述另一目的地塊已被更新的話。
5.如權(quán)利要求I所述的方法,還包括將與未被更新的所述多個(gè)目的地塊相關(guān)聯(lián)的所述多個(gè)源塊拷貝到目的地塊設(shè)備。
6.一種計(jì)算設(shè)備,包括 處理器; 存儲(chǔ)器,其被耦合至所述處理器,其中,所述存儲(chǔ)器包括; 關(guān)聯(lián)模塊,其被配置成使源塊設(shè)備與目的地塊設(shè)備相關(guān)聯(lián);以及 遷移模塊,其被配置成 確定與所述源塊設(shè)備上的至少一個(gè)塊相關(guān)聯(lián)的所述目的地塊設(shè)備上的至少一個(gè)塊是否在所述目的地塊設(shè)備上被更新;以及 基于所述確定使所述源塊設(shè)備上的文件系統(tǒng)遷移至所述目的地塊設(shè)備。
7.如權(quán)利要求6所述的計(jì)算設(shè)備,其中,所述遷移模塊還被配置成修改文件系統(tǒng)更新位圖以跟蹤對目的地塊設(shè)備上的所述至少一個(gè)塊的更新。
8.如權(quán)利要求7所述的計(jì)算設(shè)備,其中,所述遷移模塊還被配置成當(dāng)目的地塊設(shè)備上的所述至少一個(gè)塊被更新時(shí)修改文件系統(tǒng)更新位圖。
9.如權(quán)利要求6所述的計(jì)算設(shè)備,其中,所述遷移模塊還被配置成計(jì)算指示在目的地塊設(shè)備處未被更新的源塊設(shè)備上的所述至少一個(gè)塊的拷貝位圖。
10.如權(quán)利要求9所述的計(jì)算設(shè)備,其中,所述遷移模塊還被配置成基于拷貝位圖來遷移所述文件系統(tǒng)。
11.一種具有在被執(zhí)行時(shí)執(zhí)行動(dòng)作的一組計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀介質(zhì),所述動(dòng)作包括 響應(yīng)于用于源塊設(shè)備上的至少一個(gè)塊的重新定位的至少一個(gè)命令,基于源塊設(shè)備與目的地塊設(shè)備之間的關(guān)聯(lián)將來自源塊設(shè)備的塊重新定位至目的地塊設(shè)備;以及響應(yīng)于所述重新定位來更新與源塊設(shè)備相關(guān)聯(lián)的文件系統(tǒng)更新位圖; 基于更新將來自源塊設(shè)備的至少一個(gè)其他塊拷貝至目的地塊設(shè)備,其中,所述其他塊未被重新定位。
12.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其中,所述拷貝還包括基于文件系統(tǒng)更新位圖和目的地分配位圖來計(jì)算拷貝位圖。
13.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其中,當(dāng)源塊設(shè)備的塊中沒有一個(gè)被更新時(shí),所述拷貝是基于源分配位圖的。
14.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其中,所述重新定位包括將源塊設(shè)備的所述至少一個(gè)塊映射到目的地塊設(shè)備上的至少一個(gè)塊。
15.如權(quán)利要求14所述的計(jì)算機(jī)可讀介質(zhì),其中,所述重新定位還包括當(dāng)至少一個(gè)塊在目的地塊設(shè)備處未被更新時(shí)基于所述映射將命令引導(dǎo)至所述至少一個(gè)源塊設(shè)備以便從源塊設(shè)備讀取所述至少一個(gè)塊。
全文摘要
描述了一種用以執(zhí)行文件系統(tǒng)遷移的方法。該方法包括使源塊設(shè)備關(guān)聯(lián)至目的地塊設(shè)備,其中,所述源塊設(shè)備和目的地塊設(shè)備分別包括多個(gè)源塊和目的地塊。用于來自所述多個(gè)源塊的源塊的至少一個(gè)命令至少基于該關(guān)聯(lián)被引導(dǎo)到源塊設(shè)備或目的地塊設(shè)備。此外,部分地基于所述至少一個(gè)所引導(dǎo)的命令來更新來自所述多個(gè)目的地塊的目的地塊。
文檔編號G06F3/06GK102884516SQ201080066763
公開日2013年1月16日 申請日期2010年5月13日 優(yōu)先權(quán)日2010年5月13日
發(fā)明者K.K.桑帕思庫馬 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1