專利名稱:數(shù)據動態(tài)遷移的方法和裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)據處理技術領域,尤其涉及一種數(shù)據動態(tài)遷移的方法和裝置。
背景技術:
隨著計算機硬件的飛速發(fā)展,計算機互聯(lián)技術和虛擬機技術研究取得了長
足的進步。VPS (Virtual Private Server,虛擬專用服務器)是利用虛擬服務 器軟件在一臺物理服務器上創(chuàng)建的多個相互隔離的小服務器。無需任何操作系 統(tǒng)安裝工作,這些VPS本身就有自己的操作系統(tǒng),它的運行和管理與獨立服務器 完全相同。人們將若干VPS連接起來,并結合虛擬機技術,在其中一臺VPS出現(xiàn) 故障時,將這臺VPS從系統(tǒng)中隔離出去,并將其上運行的虛擬服務遷移到其它的 VPS上,完成負載轉嫁。通過功能整合和故障過渡可以提高整個系統(tǒng)的可用性和 可靠性,把非計劃和計劃的停機時間降到最低。
目前國內外的各種虛擬化技術產品都集成了動態(tài)遷移機制,每種虛擬化技 術產品釆用不同的動態(tài)遷移機制。
現(xiàn)有的Swsoft公司的Virtuozzo技術是為運行在其中的每一個應用提供一 個完整的虛擬操作系統(tǒng)環(huán)境(VE), Virtuozzo采用CPT (Check Pointing,檢查 點)機制,將每個單獨的VE存儲狀態(tài)和它的一個應用進程封存在一個單獨的文 件內,然后將該文件遷移到目標節(jié)點上,在目標節(jié)點上重起這些VE (包括運行 之上的程序)。具體的遷移方法分成兩種技術
(1) smarter策略
在遷移之前,smarter策略對待遷移虛擬執(zhí)行環(huán)境(VE)中的所有進程進行 優(yōu)化。利用CPT技術,首先凍結待遷移的VE,然后將VE的所有狀態(tài)保存到一個文 件中。(2 ) flexible策略
首先遷移一些關鍵的內核數(shù)據結構,然后目標虛擬機重啟,通過網絡遷移其余的頁,內存的遷移機制與操作系統(tǒng)的內存換入換出基本接近。這種方法有很多的優(yōu)勢,如避免了直接停止原主機所造成的服務間斷問題。缺點是遷移中很大程度上增加了對原虛擬機的依賴性,容易增加拷貝的次數(shù)和遷移消耗的時間,降低遷移效率。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術中至少存在如下問題在操作系統(tǒng)中,各種應用服務和網絡服務對數(shù)據頁的請求次數(shù)和請求頻率是不同的,因此在遷移中會造成這樣一種現(xiàn)象對于已經遷移至目標虛擬服務器的數(shù)據頁,如果又被修改,則該數(shù)據頁需要重新由源虛擬服務器遷移至目標服務器,即不論該數(shù)據頁被修改的次數(shù)多少,每修改一次,需要將該數(shù)據頁重新遷移一次,這樣必然在一定的程度上增加了遷移的次數(shù)和整個遷移的消耗時間,很大程度上降低了遷移的效率。
發(fā)明內容
本發(fā)明的實施例提供一種數(shù)據動態(tài)遷移的方法和裝置,可以提高數(shù)據的遷移效率。
本發(fā)明的實施例提供一種數(shù)據動態(tài)遷移的方法,包括在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁^皮修改的頻率,對數(shù)據頁進行分層;
在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變化,對數(shù)據頁進行動態(tài)分層;
對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。本發(fā)明的實施例還提供一種數(shù)據動態(tài)遷移的裝置,包括初始分層單元,用于在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁被
修改的頻率,對數(shù)據頁進行分層;
動態(tài)分層單元,用于在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變
化,對數(shù)據頁進行動態(tài)分層;
執(zhí)行單元,用于對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。
本發(fā)明實施例提供的數(shù)據動態(tài)遷移的方法和裝置,根據各數(shù)據頁被修改的
頻率的不同,對待遷移的數(shù)據頁進行分層,在數(shù)據頁遷移過程中,根據各數(shù)據
頁被修改次數(shù)的變化,對待遷移的數(shù)據頁進行動態(tài)分層,從而能夠隨時了解和掌握各數(shù)據頁的使用狀態(tài),對各數(shù)據頁的層次歸屬進行重新定位,使數(shù)據頁的遷移更加合理有效,提高遷移效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其它的附圖。圖l為本發(fā)明實施例提供的數(shù)據動態(tài)遷移的方法流程圖;圖2為本發(fā)明實施例一提供的數(shù)據動態(tài)遷移的方法流程圖;圖3為本發(fā)明實施例提供的臟頁的數(shù)據結構示意圖;圖4為本發(fā)明實施例提供的臟頁的分層隊列結構示意圖;圖5為本發(fā)明實施例提供的各層的總體數(shù)據結構示意圖;圖6為本發(fā)明實施例提供的數(shù)據動態(tài)遷移的裝置結構示意圖;圖7為本發(fā)明實施例二提供的數(shù)據動態(tài)遷移的裝置結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明的所有實施例中,所述數(shù)據頁為VPS的內存頁,所述對數(shù)據的動態(tài)遷移即對VPS的內存頁的動態(tài)遷移。
如圖1所示,本發(fā)明實施例數(shù)據動態(tài)遷移的方法包括
5101、 在虛擬服務器中的數(shù)據頁遷移之前,根據虛擬服務器中數(shù)據頁被修改的頻率,對數(shù)據頁進行分層。
在數(shù)據頁遷移之前,首先對各數(shù)據頁的大概使用狀態(tài)進行了解,將各數(shù)據頁按照被修改頻率的大小進行初始化分層,修改頻率較低數(shù)據頁被分至低層,修改頻率較高的數(shù)據頁被分至高層。然后對分層后的各數(shù)據頁進行遷移,首先遷移被修改頻率較低的數(shù)據頁,也就是位于較低層的數(shù)據頁。
5102、 在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變化,對數(shù)據頁進4亍動態(tài)分層。
隨著數(shù)據頁的不斷遷移,各數(shù)據頁被修改的頻率也有所不同,根據各數(shù)據頁被修改次數(shù)的變化,在初始化分層的各數(shù)據頁的層次結構上,對各數(shù)據頁的層次歸屬進行重新定位。修改頻率比較高的,將被鏈入較高層的數(shù)據頁列表中,修改頻率比較低的,將被鏈入到較低層的數(shù)據頁列表中,使數(shù)據頁的遷移更加合理有效,提高數(shù)據頁的遷移效率。
S1 0 3 、對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移梯:作。
將系統(tǒng)未遷移的數(shù)據頁的數(shù)量與系統(tǒng)設置的數(shù)據頁閾值進行比較,當整個虛擬服務器的未遷移的數(shù)據頁的數(shù)量d 、于系統(tǒng)設置的數(shù)據頁閣值時,則凍結個虛擬服務器,將剩余的數(shù)據頁一次性全部遷移;當整個虛擬服務器的未遷移的數(shù)據頁的數(shù)量不小于系統(tǒng)設置的數(shù)據頁閾值時,將最低層的數(shù)據頁加入到遷移隊列中,繼續(xù)進行遷移。
本發(fā)明實施例提供的數(shù)據動態(tài)遷移的方法,根據各數(shù)據頁被修改的頻率的不同,對待遷移的數(shù)據頁進行分層,在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變化,對待遷移的數(shù)據頁進行動態(tài)分層,從而能夠隨時了解和掌握各數(shù)據頁的使用狀態(tài),對各數(shù)據頁的層次歸屬進行重新定位,使數(shù)據頁的遷移更加合理有效,提高遷移效率。
實施例一
在本實施例中,根據虛擬服務器各數(shù)據頁在一段時間內被修改次數(shù)的不同,對所有的數(shù)據頁進^f亍分層,將待遷移的數(shù)據頁分為三層,其中,0層中的數(shù)據頁為被修改的頻率最小的數(shù)據頁。
如圖2所示,所述lt據動態(tài)遷移的方法包括
5201、 在數(shù)據頁遷移之前,首先對各數(shù)據頁的大概使用狀態(tài)進行了解,按照各數(shù)據頁被修改的頻率由小到大的順序,將各數(shù)據頁由低到高進行分層,其中,最低層中的數(shù)據頁為^皮修改的頻率最小的數(shù)據頁。在本實施例中,將所有數(shù)據頁分為三層,其中,最低層為O層,為修改頻率最小的層,最高層為2層,為修改頻率最高的層,介于兩層之間的為l層,首先遷移O層中的數(shù)據頁。
在本實施例中,設定在一段時間內O層中數(shù)據頁被修改的次數(shù)范圍為O到IO,l層中數(shù)據頁被修改的次數(shù)范圍為10到20, 2層中數(shù)據頁被修改的次數(shù)范圍為20到30。當然,各層中數(shù)據頁被^修改的次數(shù)范圍不限于此。
5202、 在數(shù)據頁遷移過程中,為每個數(shù)據頁設置一個計數(shù)標志,用于記錄一段時間內該數(shù)據頁被修改的次數(shù)。隨著數(shù)據頁的不斷遷移,各數(shù)據頁被修改的頻率也有所不同,根據各數(shù)據頁被修改的次數(shù)的變化,在初始化分層的各數(shù)據頁的層次結構上,隨時了解和掌握各數(shù)據頁的使用狀態(tài),對各數(shù)據頁的層次歸屬進行重新定位。修改頻率比較高的,將被鏈入較高層的數(shù)據頁列表中,修改頻率低的將被鏈入到較低層的數(shù)據頁列表中。
為了記錄一段時間內該數(shù)據頁被修改的次數(shù),為每個數(shù)據頁設置一個計數(shù)
標志。如圖3所示,為臟頁的數(shù)據結構,為每個數(shù)據頁設置一個計數(shù)標志dirty-count,用于記錄一段時間以來該數(shù)據頁被 畛改的次數(shù)。
其中,如圖4所示,為臟頁的分層隊列,參數(shù)Struct page—infc^next是一個指針,用來指向下一個數(shù)據頁,對待遷移的臟頁進^f亍排隊。
在數(shù)據頁的遷移過程中,由于操作系統(tǒng)一直是活躍的, 一些已經被遷移至目標節(jié)點的數(shù)據頁又會被修改,那么這些數(shù)據頁(也可稱為臟頁)就需要重新遷移,這樣整個遷移過程將一直持續(xù)下去,直到未遷移的數(shù)據頁小于某個閾值,或總的遷移次數(shù)達到某個預定的上限。
5203、 為每層設置一個分層計數(shù)偏移量。
在操作系統(tǒng)中,數(shù)據頁被使用的時候,使用狀態(tài)是不確定的,有可能出現(xiàn)某個時間段,數(shù)據頁比較活躍,上一次處于較少活動狀態(tài)的數(shù)據頁有可能在這個時間段,在各層之間循環(huán)跳躍,這樣會導致系統(tǒng)的性能大幅度降低,因為數(shù)據頁需要在不同層系之間進行刪除和插入操作。
為了避免數(shù)據頁在各層之間循環(huán)跳躍,本發(fā)明實施例在每個層設置一個分層計數(shù)偏移量,所述分層計數(shù)偏移量的值將根據具體情況進行設置。
5204、 根據各數(shù)據頁的計數(shù)標志,以及所述分層計數(shù)偏移量,對各數(shù)據頁進行動態(tài)分層。
10對于某一數(shù)據頁來說,若該數(shù)據頁計數(shù)標志的值超出該數(shù)據頁所在層的上 限值,但是超出的部分小于所在層的分層計數(shù)偏移量,則該數(shù)據頁將保智在原
來的層;若該數(shù)據頁計數(shù)標志的值超出該數(shù)據頁所在層的上限值,而且超出的 部分大于所在層的分層計數(shù)偏移量,則該數(shù)據頁將從原層刪除并插入到其它層 中。
例如,位于1層的某數(shù)據頁的修改次數(shù)為15, 1層的分層計數(shù)偏移量為5,若 該數(shù)據頁的計數(shù)標志由15增加至23,由于該數(shù)據頁計數(shù)標志的值超出l層的上限 值20,但是超出的部分3小于1層的分層計數(shù)偏移量5,則該數(shù)據頁將保留在l層; 若該數(shù)據頁的計數(shù)標志由15增加指27,由于該數(shù)據頁計數(shù)標志的值超出l層的上 限值20,而且超出的部分7大于1層的分層計數(shù)偏移量5,則該數(shù)據頁將從l層刪 除,并插入到2層中。
因而,采用上述的方法,能夠減少數(shù)據頁因為較活躍而在不同的層次中來 回抖動跳躍。分層計數(shù)偏移量的值將根據具體情況進行設置,合理的分層計數(shù) 偏移量能大大減少數(shù)據頁來回抖動的次數(shù),提高遷移效率,節(jié)省系統(tǒng)資源。
如圖5所示,為各層的總體數(shù)據結構,其中的最大值和最小值,用來判斷臟 頁的修改頻率是否在這個范圍之內,如果在這個范圍之內,就把該臟頁分層在 這一層,否則就放棄對該臟頁的分層。其中,struct Mode為指向臟頁的指針, 這個數(shù)據結構是O層的雙向循環(huán)鏈表的頭節(jié)點。同時在O層和其它層使用的數(shù)據 結構中,唯一的區(qū)別就是O層使用的數(shù)據結構中,使用了一個總的計數(shù)Atomic-t count,用于記錄自上次數(shù)據頁遷移以來,O層新增加的臟頁數(shù),該數(shù)值越大, 說明該VPS越活躍。在0層遷移完畢后,需要把新增的臟頁插入到上面的層次中。
根據O層臟頁計數(shù)的大小,減少或增加O層中臟頁數(shù)的數(shù)量,并且控制遷移 的循環(huán)次數(shù)。例如,對一個比較活躍的VPS,我們將盡量減少它的遷移循環(huán)次數(shù)。若O層臟頁計數(shù)比較大,說明該VPS比較活躍,該VPS的很多數(shù)據頁剛遷移完
又被修改,需要重新被遷移,這樣遷移的循環(huán)次數(shù)就會很大。因此設置了一個
循環(huán)遷移的上限值,當遷移的循環(huán)次數(shù)超過該上限值時,我們就凍結整個VPS,
將其內存頁一次性遷移到目標節(jié)點。
S205、判斷未遷移的數(shù)據頁數(shù)量是否大于閾值,才艮據判斷結果作出相應的 處理。
為系統(tǒng)設定一個數(shù)據頁閾值,在本實施例中,該數(shù)據頁閾值設定為1024, 判斷剩余的待遷移的數(shù)據量是否小于該數(shù)據頁閾值。
S205a、若未遷移的數(shù)據頁數(shù)量大于該閾值,則將最低層的數(shù)據頁遷移到遷 移隊列中,進行下一次的遷移。
S205b、若未遷移的數(shù)據頁數(shù)量不大于該閾值,則凍結該VPS,將所有的數(shù) 據頁一次性遷移。
因而,利用本發(fā)明實施例數(shù)據動態(tài)遷移的方法,將所有的數(shù)據頁進行遷移, 進而能夠減少遷移過程中數(shù)據頁在各層之間的抖動,提高數(shù)據的遷移效率,提 升系統(tǒng)的可用性。
本發(fā)明的實施例還提供一種數(shù)據動態(tài)遷移的裝置。
如圖6所示,所述數(shù)據動態(tài)遷移的裝置,包括
初始分層單元601,用于在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁 被修改的頻率,對數(shù)據頁進行分層。在數(shù)據頁遷移之前,首先對各數(shù)據頁的大 概使用狀態(tài)進行了解,由初始分層單元601將各數(shù)據頁按照被修改頻率的大小進 行初始化分層,然后對分層后的各數(shù)據頁進行遷移。
動態(tài)分層單元602,用于在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的 變化,對數(shù)據頁進行動態(tài)分層。隨著數(shù)據頁的不斷遷移,各數(shù)據頁被修改的頻
12率也有所不同,根據各數(shù)據頁被修改的次數(shù)的變化,在初始化的各數(shù)據頁的層
次結構上,隨時了解和掌握各數(shù)據頁的使用狀態(tài),由動態(tài)分層單元602對各數(shù)據 頁的層次歸屬進行重新定位,使數(shù)據頁的遷移更加合理有效,提高數(shù)據頁的遷 移效率。
執(zhí)行單元603,用于對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。 本發(fā)明實施例提供的數(shù)據動態(tài)遷移的裝置,根據各數(shù)據頁被修改的頻率的 不同,對待遷移的數(shù)據頁進行分層,在數(shù)據頁遷移過程中,根據各數(shù)據頁被修 改次數(shù)的變化,對待遷移的數(shù)據頁進行動態(tài)分層,從而能夠隨時了解和掌握各 數(shù)據頁的使用狀態(tài),對各數(shù)據頁的層次歸屬進行重新定位,使數(shù)據頁的遷移更 加合理有效,提高遷移效率。 實施例二
如圖7所示,所述數(shù)據動態(tài)遷移的裝置,包括
初始分層單元701,用于在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁 被修改的頻率,對數(shù)據頁進行分層。為每層設置一個一段時間內被修改次數(shù)的 上P艮值和下限值,其中,最低層的下限值為O,對于相鄰的兩層來說,低層的上 限值即為高層的下限值。
動態(tài)分層單元702,用于在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的 變化,對數(shù)據頁進行動態(tài)分層。
執(zhí)行單元703,用于對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。
其中,所述動態(tài)分層單元702包括
計數(shù)標志設置子單元7021,用于為每個數(shù)據頁設置一個計數(shù)標志,記錄在 數(shù)據頁遷移過程中一段時間內該數(shù)據頁被修改的次數(shù);
偏移量設置子單元7022,用于為每層設置一個分層計數(shù)偏移量;動態(tài)分層子單元7023,用于根據所述計數(shù)標志,以及所述分層計數(shù)偏移量, 對各數(shù)據頁進行動態(tài)分層。
對于某一數(shù)據頁來說,若該數(shù)據頁計數(shù)標志的值超出該數(shù)據頁所在層的上 限值,但是超出的部分小于所在層的分層計數(shù)偏移量,則該數(shù)據頁將保留在原 來的層;若該數(shù)據頁計數(shù)標志的值超出該數(shù)據頁所在層的上限值,而且超出的 部分大于所在層的分層計數(shù)偏移量,則該數(shù)據頁將從原層刪除并插入到其它層 中。分層計數(shù)偏移量的值將根據具體情況進行設置,合理的分層計數(shù)偏移量能 夠減少數(shù)據頁因為較活躍而在不同的層次中來回抖動跳躍,提高遷移效率,節(jié) 省系統(tǒng)資源。
其中,所述執(zhí)行單元703包括
設定子單元7031,用于為系統(tǒng)設定一個數(shù)據頁閾值;
判斷子單元7032,用于判斷整個虛擬服務器中未遷移的數(shù)據頁的數(shù)量是否 小于該數(shù)據頁閾值;
第一執(zhí)行子單元7033,用于當未遷移的數(shù)據頁的數(shù)量小于該數(shù)據頁閾值, 則凍結整個虛擬服務器,將所述未遷移的數(shù)據頁一次性全部遷移;
第二執(zhí)行子單元7034,用于當未遷移的數(shù)據頁的數(shù)量不小于該數(shù)據頁閾值, 則將最低層的數(shù)據頁加入到遷移隊列中,繼續(xù)進行遷移。
因而,利用本發(fā)明實施例提供的數(shù)據動態(tài)遷移的裝置,根據各數(shù)據頁被修 改的頻率的不同,對待遷移的數(shù)據頁進行分層,在數(shù)據頁遷移過程中,根據各 數(shù)據頁被修改次數(shù)的變化,對待遷移的數(shù)據頁進行動態(tài)分層,從而能夠隨時了 解和掌握各數(shù)據頁的使用狀態(tài),對各數(shù)據頁的層次歸屬進行重新定位,使數(shù)據 頁的遷移更加合理有效;此外,為每層設置一個分層計數(shù)偏移量,分層計數(shù)偏 移量的值將根據具體情況進行設置,合理的分層計數(shù)偏移量能夠減少數(shù)據頁因為較活躍而在不同的層次中來回抖動跳躍,提高遷移效率。
是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算 機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上迷各方法的實施例的流程。
其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。
以上所述,僅為本發(fā)明實施例的具體實施方式
,但本發(fā)明實施例的保護范 圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內, 可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明 實施例的保護范圍應該以權利要求的保護范圍為準。
權利要求
1、一種數(shù)據動態(tài)遷移的方法,其特征在于,包括在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁被修改的頻率,對數(shù)據頁進行分層;在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變化,對數(shù)據頁進行動態(tài)分層;對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。
2、 根據權利要求l所述的數(shù)據動態(tài)遷移的方法,其特征在于,所述在虛擬 服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁被修改的頻率,對數(shù)據頁進行分層 包括按照被修改的頻率由小到大的順序,將各數(shù)據頁由低到高進行分層,其中, 最低層中的數(shù)據頁為被修改的頻率最小的數(shù)據頁。
3、 根據權利要求l所述的數(shù)據動態(tài)遷移的方法,其特征在于,所述在數(shù)據 頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變化,對數(shù)據頁進行動態(tài)分層包括:為每個數(shù)據頁設置一個計數(shù)標志,用于在數(shù)據頁遷移過程中,記錄一段時 間內該數(shù)據頁#皮#"改的次數(shù);為每層設置一個分層計數(shù)偏移量;根據所述計數(shù)標志,以及所述分層計數(shù)偏移量,對各數(shù)據頁進行動態(tài)分層。
4、 根據權利要求3所述的數(shù)據動態(tài)遷移的方法,其特征在于,所述各數(shù)據 頁有一個臟頁標識,用于記錄該數(shù)據頁是否在遷移中或者遷移后^^皮修改過。
5、 根據權利要求4所述的數(shù)據動態(tài)遷移的方法,其特征在于,所述最低層 設置有一個總的臟頁計數(shù)標識,用于記錄自上次數(shù)據頁遷移以來,最低層新增 加的臟頁數(shù),其中,所述臟頁即被修改過的數(shù)據頁,根據所述最低層新增加的 臟頁數(shù)設置虛擬服務器數(shù)據頁遷移的循環(huán)次數(shù)。
6、 根據權利要求l所述的數(shù)據動態(tài)遷移的方法,其特征在于,所述將所述 動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作的步驟包括將系統(tǒng)未遷移的數(shù)據頁的數(shù)量與系統(tǒng)設置的數(shù)據頁閾值進行比較,根據所 述比較結果,執(zhí)行相應的數(shù)據遷移操作。
7、 根據權利要求6所述的數(shù)據動態(tài)遷移的方法,其特征在于,所述將系統(tǒng) 未遷移的數(shù)據頁的數(shù)量與系統(tǒng)設置的數(shù)據頁閾值進行比較,根據所述比較結果, 執(zhí)行相應的數(shù)據遷移操作的步驟包括設定一個數(shù)據頁閾值;判斷整個虛擬服務器中未遷移的數(shù)據頁的數(shù)量是否小于該數(shù)據頁閾值; 若未遷移的數(shù)據頁的數(shù)量小于該數(shù)據頁閾值,則凍結整個虛擬服務器,將所述未遷移的lt據頁 一次性全部遷移;若未遷移的數(shù)據頁的數(shù)量不小于該數(shù)據頁閾值,則將最低層的數(shù)據頁加入到遷移隊列中,繼續(xù)進行遷移。
8、 一種數(shù)據動態(tài)遷移的裝置,其特征在于,包括初始分層單元,用于在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁被 修改的頻率,對數(shù)據頁進行分層;動態(tài)分層單元,用于在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變 化,對數(shù)據頁進行動態(tài)分層;執(zhí)行單元,用于對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。
9、 根據權利要求8所述的數(shù)據動態(tài)遷移的裝置,其特征在于,所述動態(tài)分 層單元包括計數(shù)標志設置子單元,用于為每個數(shù)據頁設置一個計數(shù)標志,記錄在數(shù)據 頁遷移過程中 一段時間內該數(shù)據頁被修改的次數(shù);偏移量設置子單元,用于為每層設置一個分層計數(shù)偏移量; 動態(tài)分層子單元,用于根據所述計數(shù)標志,以及所述分層計數(shù)偏移量,對各數(shù)據頁進行動態(tài)分層。
10、根據權利要求8所述的數(shù)據動態(tài)遷移的裝置,其特征在于,所述執(zhí)行單元包括設定子單元,用于為系統(tǒng)設定一個數(shù)據頁閾值;判斷子單元,用于判斷整個虛擬服務器中未遷移的數(shù)據頁的數(shù)量是否小于 該數(shù)據頁閾值;第一執(zhí)行子單元,用于當未遷移的數(shù)據頁的數(shù)量小于該數(shù)據頁闊值,則凍 結整個虛擬服務器,將所述未遷移的數(shù)據頁一次性全部遷移;第二執(zhí)行子單元,用于當未遷移的數(shù)據頁的數(shù)量不小于該數(shù)據頁閾值,則將最低層的數(shù)據頁加入到遷移隊列中,繼續(xù)進行遷移。
全文摘要
本發(fā)明實施例公開了一種數(shù)據動態(tài)遷移的方法,所述數(shù)據動態(tài)遷移的方法,包括在虛擬服務器中的數(shù)據頁遷移之前,根據各數(shù)據頁被修改的頻率,對數(shù)據頁進行分層;在數(shù)據頁遷移過程中,根據各數(shù)據頁被修改次數(shù)的變化,對數(shù)據頁進行動態(tài)分層;對所述動態(tài)分層后的數(shù)據頁進行數(shù)據遷移操作。本發(fā)明實施例還公開了一種數(shù)據動態(tài)遷移的裝置,本發(fā)明實施例能夠隨時了解和掌握各數(shù)據頁的使用狀態(tài),對各數(shù)據頁的層次歸屬進行重新定位,使數(shù)據頁的遷移更加合理有效,提高遷移效率。
文檔編號G06F12/08GK101493797SQ20091012842
公開日2009年7月29日 申請日期2009年3月12日 優(yōu)先權日2009年3月12日
發(fā)明者全小飛, 孔金珠, 永 李 申請人:華為技術有限公司