本發(fā)明涉及虛擬機管理技術,具體涉及一種應用于電子設備中的信息處理方法及一種電子設備。
背景技術:
目前,在虛擬化環(huán)境中,當系統(tǒng)管理員需要對宿主機的hypervisor進行升級時,為了避免中斷在虛擬機上正在運行的業(yè)務程序,可以采取將虛擬機從原(低版本)hypervisor1通過動態(tài)遷移來熱升級到目標(高版本)hypervisor2的方式。而當所要熱升級的hypervisor1所虛擬的虛擬機帶有透傳硬件設備時,虛擬機的物理透傳設備在熱升級時無法由當前hypervisor1到目標hypervisor2的動態(tài)遷移中完成平滑遷移。
技術實現要素:
本發(fā)明的主要目的在于提出一種信息處理方法及電子設備,旨在解決現有技術中存在的上述問題。
為實現上述目的,本發(fā)明提供一種信息處理方法,應用于電子設備,包括:
獲取第一虛擬機所對應的目標設備的相關信息;
從所述第一虛擬機所對應的物理存儲單元中選取第一存儲區(qū)域;其中,所述第一存儲區(qū)域中至少用于存儲所述目標設備的相關信息;
轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系;
基于所述映射關系,建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互
本發(fā)明提供一種電子設備,所述電子設備包括:
虛擬機管理單元,用于獲取第一虛擬機所對應的目標設備的相關信息;基于所述映射關系,建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互;
地址轉換單元,用于從所述第一虛擬機所對應的物理存儲單元中選取第一存儲區(qū)域;其中,所述第一存儲區(qū)域中至少用于存儲所述目標設備的相關信息;轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系。
本實施例提供的信息處理方法及電子設備,能夠獲取第一虛擬機所對應的目標設備的相關信息,將所述第一虛擬機所對應的物理存儲單元中選取的第一存儲區(qū)域,轉換為第二虛擬機對應的第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系,基于所述映射關系建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機與所述目標設備進行數據交互。如此,在進行目標設備在虛擬機之間遷移的時候,不需要進行復雜的替換流程,僅需要直接轉換該設備所屬虛擬機的所有權即可實現,從而保證透傳硬件設備的遷移更加平滑無縫,并有效縮短遷移時間。
附圖說明
圖1為本發(fā)明實施例中信息處理方法的實現流程示意圖1;
圖2為本發(fā)明實施例中處理示意圖1;
圖3為本發(fā)明實施例中處理示意圖2;
圖4為本發(fā)明實施例中信息處理方法的實現流程示意圖2;
圖5為本發(fā)明實施例中電子設備組成結構示意圖。
具體實施方式
下面結合附圖和具體實施例對本發(fā)明作進一步詳細說明。
實施例一、
本發(fā)明實施例提供一種信息處理方法,應用于電子設備,所述電子設備能夠管理至少一個虛擬機,如圖1所示,包括:
步驟101:獲取第一虛擬機所對應的目標設備的相關信息;
步驟102:從所述第一虛擬機所對應的物理存儲單元中選取第一存儲區(qū)域;其中,所述第一存儲區(qū)域中至少用于存儲所述目標設備的相關信息;
步驟103:轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系;
步驟104:基于所述映射關系,建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互。
具體來說,前述步驟101,獲取第一虛擬機所對應的目標設備的相關信息,也就是獲取到物理設備的相關信息,其中可以包括有硬件設備上下文等信息。
所述獲取第一虛擬機所對應的目標設備的相關信息時,所述方法還包括:
向所述目標設備發(fā)送停止處理的指令,以使得所述目標設備基于所述停止處理的指令暫停數據處理;至少獲取所述第一虛擬機對應的目標設備的上下文信息,將所述上下文信息作為所述相關信息。
其中,所述目標設備可以為圖2所示的物理設備,比如,在物理設備中保存所有虛擬機所對應的上下文信息以及接口信息等內容。
向目標設備發(fā)送暫停數據處理的指令,能夠避免虛擬機遷移過程中出現處理進度不符合的問題,使得目標設備在最終遷移至第二虛擬機之后能將處理進度無縫切換。
進一步地,所述從所述第一虛擬機的物理存儲中選取第一存儲區(qū)域,還包括:從所述第一虛擬機的物理存儲中,選取包含有所述目標設備的相關信息、以及直接內存訪問接口的存儲區(qū)域作為第一存儲區(qū)域。比如,參見圖3,第一虛擬機通過虛擬地址與物理地址的映射,查找到對應的物理存儲區(qū)域;在物理存儲區(qū)域中可以存儲多種信息,本實施例中關鍵獲取的內容為目標設備的上下文信息,以及內存訪問接口對應的存儲區(qū)域;這兩個內存對應的存儲區(qū)域可以為連續(xù)的也可以為不連續(xù)的。
前述步驟103中,轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,可以為將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址。
其中,第二虛擬機的第二存儲區(qū)域可以為在第二虛擬機建立時為第二虛擬機分配的存儲區(qū)域,包含有第二虛擬機的全部物理地址。
將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址的具體處理,可以為將第一存儲區(qū)域對應的包含有目標設備的上下文信息,以及內存訪問接口對應的這些存儲區(qū)域;進行轉換的方式,可以為從第二虛擬機的第二存儲區(qū)域中,選取一定大小的子存儲區(qū)域,這個子存儲區(qū)域大小為能夠保存目標設備的上下文信息,以及內存訪問接口這些內容的大小。
進一步地,轉換存儲區(qū)域的方式可以為之間將這第一存儲區(qū)域遷移到第二存儲區(qū)域內的子區(qū)域中。
本發(fā)明實施例,為了支持虛擬機帶有透傳硬件設備的本地hypervisor熱升級,在虛擬化中實現一個可以轉換透傳硬件設備所有權的半虛擬化翻轉模塊,可以在熱升級過程中直接將透傳硬件設備的所有權交給遷移后的虛擬機。具體來說,主要包括以下三個方面:在動態(tài)遷移過程中保存透傳硬件設備上下文;獲取vm中相關內存地址映射,并翻轉相關內存區(qū)域;恢復透傳設備上下文。
可見,通過采用上述方案,就能夠獲取第一虛擬機所對應的目標設備的相關信息,將所述第一虛擬機所對應的物理存儲單元中選取的第一存儲區(qū)域,轉換為第二虛擬機對應的第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系,基于所述映射關系建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機與所述目標設備進行數據交互。如此,在進行目標設備在虛擬機之間遷移的時候,不需要進行復雜的替換流程,僅需要直接轉換該設備所屬虛擬機的所有權即可實現,從而保證透傳硬件設備的遷移更加平滑無縫,并有效縮短遷移時間。另外,還能夠在遷移開始之前將目標設備的處理狀態(tài)控制為暫停狀態(tài),從而避免在遷移過程中該透傳硬件設備被其它虛擬機占用。
實施例二、
本發(fā)明實施例提供一種信息處理方法,應用于電子設備,所述電子設備能夠管理至少一個虛擬機,如圖1所示,包括:
步驟101:獲取第一虛擬機所對應的目標設備的相關信息;
步驟102:從所述第一虛擬機所對應的物理存儲單元中選取第一存儲區(qū)域;其中,所述第一存儲區(qū)域中至少用于存儲所述目標設備的相關信息;
步驟103:轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系;
步驟104:基于所述映射關系,建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互。
具體來說,前述步驟101,獲取第一虛擬機所對應的目標設備的相關信息,也就是獲取到物理設備的相關信息,其中可以包括有硬件設備上下文等信息。
所述獲取第一虛擬機所對應的目標設備的相關信息時,所述方法還包括:
向所述目標設備發(fā)送停止處理的指令,以使得所述目標設備基于所述停止處理的指令暫停數據處理;至少獲取所述第一虛擬機對應的目標設備的上下文信息,將所述上下文信息作為所述相關信息。
其中,所述目標設備可以為圖2所示的物理設備,比如,在物理設備中保存所有虛擬機所對應的上下文信息以及接口信息等內容。
向目標設備發(fā)送暫停數據處理的指令,能夠避免虛擬機遷移過程中出現處理進度不符合的問題,使得目標設備在最終遷移至第二虛擬機之后能將處理進度無縫切換。
進一步地,所述從所述第一虛擬機的物理存儲中選取第一存儲區(qū)域,還包括:從所述第一虛擬機的物理存儲中,選取包含有所述目標設備的相關信息、以及直接內存訪問接口的存儲區(qū)域作為第一存儲區(qū)域。比如,參見圖3,第一虛擬機通過虛擬地址與物理地址的映射,查找到對應的物理存儲區(qū)域;在物理存儲區(qū)域中可以存儲多種信息,本實施例中關鍵獲取的內容為目標設備的上下文信息,以及內存訪問接口對應的存儲區(qū)域;這兩個內存對應的存儲區(qū)域可以為連續(xù)的也可以為不連續(xù)的。
前述步驟103中,轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,可以為將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址。
其中,第二虛擬機的第二存儲區(qū)域可以為在第二虛擬機建立時為第二虛擬機分配的存儲區(qū)域,包含有第二虛擬機的全部物理地址。
將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址的具體處理,可以為將第一存儲區(qū)域對應的包含有目標設備的上下文信息,以及內存訪問接口對應的這些存儲區(qū)域;進行轉換的方式,可以為從第二虛擬機的第二存儲區(qū)域中,選取一定大小的子存儲區(qū)域,這個子存儲區(qū)域大小為能夠保存目標設備的上下文信息,以及內存訪問接口這些內容的大小。
進一步地,轉換存儲區(qū)域的方式可以為之間將這第一存儲區(qū)域遷移到第二存儲區(qū)域內的子區(qū)域中。
前述步驟104所述映射關系,建立所述第二虛擬機與目標設備的相關信息之后,所述方法還包括:基于所述映射關系,對直接內存存取進行重映射得到更新后的地址翻譯表,以使得所述目標設備基于所述地址翻譯表建立所述第二虛擬機與目標設備的相關信息。
其中,地址翻譯表可以為第二虛擬機的虛擬地址與第二虛擬機的第二存儲區(qū)域之間的映射關系;所述更新,也就是將目標設備中原保存的第一虛擬機的虛擬地址與物理地址的映射關系,更新為新的地址翻譯表。
控制所述第二虛擬機基于所述目標設備的相關信息,也就是基于更新后的地址翻譯表,控制所述第二虛擬機從所述第二物理地址中獲取所述目標設備的相關信息;
所述控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互,包括:通過所述第二虛擬機向所述目標設備發(fā)送運行指令,使得所述目標設備基于第二虛擬機的控制重新開始進行數據處理。
本發(fā)明實施例提供的整體處理流程,可以結合圖2、3,以及流程圖4進行如下說明:
在動態(tài)遷移的設備狀態(tài)傳輸階段開始時,由hypervisor向vm1發(fā)送通知,使其通過相應設備驅動暫停透傳設備并保存設備狀態(tài);
由hypervior1獲取vm1的物理地址(gpa)中用于dmaio及存放devicestate的內存區(qū)域:0001f~000ff;
將該內存區(qū)域通過頁面翻轉轉換給hypervisor2;具體的可以將hypervior1獲取vm1的物理地址(gpa)中用于dmaio及存放devicestate的內存區(qū)域:0001f~000ff轉換至hypervisor2宿主機物理地址:0ee1f~0eeff;
將以上用于設備重定向內存區(qū)域新的gpa->hpa的映射關系更新到dmare-mapping硬件里的地址翻譯表;
當動態(tài)遷移完成后,hypervisor2通知vm2設備驅動到翻轉后的內存地址讀取之前保存的設備狀態(tài),并恢復該透傳設備。
本發(fā)明實施例,為了支持虛擬機帶有透傳硬件設備的本地hypervisor熱升級,在虛擬化中實現一個可以轉換透傳硬件設備所有權的半虛擬化翻轉模塊,可以在熱升級過程中直接將透傳硬件設備的所有權交給遷移后的虛擬機。具體來說,主要包括以下三個方面:在動態(tài)遷移過程中保存透傳硬件設備上下文;獲取vm中相關內存地址映射,并翻轉相關內存區(qū)域;恢復透傳設備上下文。
可見,通過采用上述方案,就能夠獲取第一虛擬機所對應的目標設備的相關信息,將所述第一虛擬機所對應的物理存儲單元中選取的第一存儲區(qū)域,轉換為第二虛擬機對應的第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系,基于所述映射關系建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機與所述目標設備進行數據交互。如此,在進行目標設備在虛擬機之間遷移的時候,不需要進行復雜的替換流程,僅需要直接轉換該設備所屬虛擬機的所有權即可實現,從而保證透傳硬件設備的遷移更加平滑無縫,并有效縮短遷移時間。另外,還能夠在遷移開始之前將目標設備的處理狀態(tài)控制為暫停狀態(tài),從而避免在遷移過程中該透傳硬件設備被其它虛擬機占用。
實施例三、
本發(fā)明實施例提供一種電子設備,所述電子設備能夠管理至少一個虛擬機,如圖5所示,包括:
虛擬機管理單元51,用于獲取第一虛擬機所對應的目標設備的相關信息;基于所述映射關系,建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互;
地址轉換單元52,用于從所述第一虛擬機所對應的物理存儲單元中選取第一存儲區(qū)域;其中,所述第一存儲區(qū)域中至少用于存儲所述目標設備的相關信息;轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系。
具體來說,虛擬機管理單元51,用于獲取第一虛擬機所對應的目標設備的相關信息,也就是獲取到物理設備的相關信息,其中可以包括有硬件設備上下文等信息。
所述虛擬機管理單元51,用于向所述目標設備發(fā)送停止處理的指令,以使得所述目標設備基于所述停止處理的指令暫停數據處理;至少獲取所述第一虛擬機對應的目標設備的上下文信息,將所述上下文信息作為所述相關信息。
其中,所述目標設備可以為圖2所示的物理設備,比如,在物理設備中保存所有虛擬機所對應的上下文信息以及接口信息等內容。
向目標設備發(fā)送暫停數據處理的指令,能夠避免虛擬機遷移過程中出現處理進度不符合的問題,使得目標設備在最終遷移至第二虛擬機之后能將處理進度無縫切換。
進一步地,所述從所述第一虛擬機的物理存儲中選取第一存儲區(qū)域,還包括:從所述第一虛擬機的物理存儲中,選取包含有所述目標設備的相關信息、以及直接內存訪問接口的存儲區(qū)域作為第一存儲區(qū)域。比如,參見圖3,第一虛擬機通過虛擬地址與物理地址的映射,查找到對應的物理存儲區(qū)域;在物理存儲區(qū)域中可以存儲多種信息,本實施例中關鍵獲取的內容為目標設備的上下文信息,以及內存訪問接口對應的存儲區(qū)域;這兩個內存對應的存儲區(qū)域可以為連續(xù)的也可以為不連續(xù)的。
前述地址轉換單元52,用于轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,可以為將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址。
其中,第二虛擬機的第二存儲區(qū)域可以為在第二虛擬機建立時為第二虛擬機分配的存儲區(qū)域,包含有第二虛擬機的全部物理地址。
將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址的具體處理,可以為將第一存儲區(qū)域對應的包含有目標設備的上下文信息,以及內存訪問接口對應的這些存儲區(qū)域;進行轉換的方式,可以為從第二虛擬機的第二存儲區(qū)域中,選取一定大小的子存儲區(qū)域,這個子存儲區(qū)域大小為能夠保存目標設備的上下文信息,以及內存訪問接口這些內容的大小。
進一步地,地址轉換單元52,用于將這第一存儲區(qū)域遷移到第二存儲區(qū)域內的子區(qū)域中。
本發(fā)明實施例,為了支持虛擬機帶有透傳硬件設備的本地hypervisor熱升級,在虛擬化中實現一個可以轉換透傳硬件設備所有權的半虛擬化翻轉模塊,可以在熱升級過程中直接將透傳硬件設備的所有權交給遷移后的虛擬機。具體來說,主要包括以下三個方面:在動態(tài)遷移過程中保存透傳硬件設備上下文;獲取vm中相關內存地址映射,并翻轉相關內存區(qū)域;恢復透傳設備上下文。
可見,通過采用上述方案,就能夠獲取第一虛擬機所對應的目標設備的相關信息,將所述第一虛擬機所對應的物理存儲單元中選取的第一存儲區(qū)域,轉換為第二虛擬機對應的第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系,基于所述映射關系建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機與所述目標設備進行數據交互。如此,在進行目標設備在虛擬機之間遷移的時候,不需要進行復雜的替換流程,僅需要直接轉換該設備所屬虛擬機的所有權即可實現,從而保證透傳硬件設備的遷移更加平滑無縫,并有效縮短遷移時間。另外,還能夠在遷移開始之前將目標設備的處理狀態(tài)控制為暫停狀態(tài),從而避免在遷移過程中該透傳硬件設備被其它虛擬機占用。
實施例四、
本發(fā)明實施例提供一種電子設備,與實施例三提供的電子設備結構相同,具體來說,虛擬機管理單元,用于獲取第一虛擬機所對應的目標設備的相關信息,也就是獲取到物理設備的相關信息,其中可以包括有硬件設備上下文等信息。
虛擬機管理單元,用于向所述目標設備發(fā)送停止處理的指令,以使得所述目標設備基于所述停止處理的指令暫停數據處理;至少獲取所述第一虛擬機對應的目標設備的上下文信息,將所述上下文信息作為所述相關信息。
其中,所述目標設備可以為圖2所示的物理設備,比如,在物理設備中保存所有虛擬機所對應的上下文信息以及接口信息等內容。
向目標設備發(fā)送暫停數據處理的指令,能夠避免虛擬機遷移過程中出現處理進度不符合的問題,使得目標設備在最終遷移至第二虛擬機之后能將處理進度無縫切換。
進一步地,所述從所述第一虛擬機的物理存儲中選取第一存儲區(qū)域,還包括:從所述第一虛擬機的物理存儲中,選取包含有所述目標設備的相關信息、以及直接內存訪問接口的存儲區(qū)域作為第一存儲區(qū)域。比如,參見圖3,第一虛擬機通過虛擬地址與物理地址的映射,查找到對應的物理存儲區(qū)域;在物理存儲區(qū)域中可以存儲多種信息,本實施例中關鍵獲取的內容為目標設備的上下文信息,以及內存訪問接口對應的存儲區(qū)域;這兩個內存對應的存儲區(qū)域可以為連續(xù)的也可以為不連續(xù)的。
前述地址轉換單元,用于轉換所述第一存儲區(qū)域的存儲地址得到第二存儲地址,可以為將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址。
其中,第二虛擬機的第二存儲區(qū)域可以為在第二虛擬機建立時為第二虛擬機分配的存儲區(qū)域,包含有第二虛擬機的全部物理地址。
將所述第一存儲區(qū)域對應的物理地址,轉換至所述第二虛擬機的第二存儲區(qū)域所對應的第二物理地址的具體處理,可以為將第一存儲區(qū)域對應的包含有目標設備的上下文信息,以及內存訪問接口對應的這些存儲區(qū)域;進行轉換的方式,可以為從第二虛擬機的第二存儲區(qū)域中,選取一定大小的子存儲區(qū)域,這個子存儲區(qū)域大小為能夠保存目標設備的上下文信息,以及內存訪問接口這些內容的大小。
進一步地,轉換存儲區(qū)域的方式可以為之間將這第一存儲區(qū)域遷移到第二存儲區(qū)域內的子區(qū)域中。
前述虛擬機管理單元,用于基于所述映射關系,對直接內存存取進行重映射得到更新后的地址翻譯表,以使得所述目標設備基于所述地址翻譯表建立所述第二虛擬機與目標設備的相關信息。
其中,地址翻譯表可以為第二虛擬機的虛擬地址與第二虛擬機的第二存儲區(qū)域之間的映射關系;所述更新,也就是將目標設備中原保存的第一虛擬機的虛擬地址與物理地址的映射關系,更新為新的地址翻譯表。
控制所述第二虛擬機基于所述目標設備的相關信息,也就是基于更新后的地址翻譯表,控制所述第二虛擬機從所述第二物理地址中獲取所述目標設備的相關信息;
所述控制所述第二虛擬機基于所述目標設備的相關信息,與所述目標設備進行數據交互,包括:通過所述第二虛擬機向所述目標設備發(fā)送運行指令,使得所述目標設備基于第二虛擬機的控制重新開始進行數據處理。
本發(fā)明實施例提供的整體處理流程,可以結合圖2、3,以及流程圖4進行如下說明:
在動態(tài)遷移的設備狀態(tài)傳輸階段開始時,由hypervisor向vm1發(fā)送通知,使其通過相應設備驅動暫停透傳設備并保存設備狀態(tài);
由hypervior1獲取vm1的物理地址(gpa)中用于dmaio及存放devicestate的內存區(qū)域:0001f~000ff;
將該內存區(qū)域通過頁面翻轉轉換給hypervisor2;具體的可以將hypervior1獲取vm1的物理地址(gpa)中用于dmaio及存放devicestate的內存區(qū)域:0001f~000ff轉換至hypervisor2宿主機物理地址:0ee1f~0eeff;
將以上用于設備重定向內存區(qū)域新的gpa->hpa的映射關系更新到dmare-mapping硬件里的地址翻譯表;
當動態(tài)遷移完成后,hypervisor2通知vm2設備驅動到翻轉后的內存地址讀取之前保存的設備狀態(tài),并恢復該透傳設備。
本發(fā)明實施例,為了支持虛擬機帶有透傳硬件設備的本地hypervisor熱升級,在虛擬化中實現一個可以轉換透傳硬件設備所有權的半虛擬化翻轉模塊,可以在熱升級過程中直接將透傳硬件設備的所有權交給遷移后的虛擬機。具體來說,主要包括以下三個方面:在動態(tài)遷移過程中保存透傳硬件設備上下文;獲取vm中相關內存地址映射,并翻轉相關內存區(qū)域;恢復透傳設備上下文。
可見,通過采用上述方案,就能夠獲取第一虛擬機所對應的目標設備的相關信息,將所述第一虛擬機所對應的物理存儲單元中選取的第一存儲區(qū)域,轉換為第二虛擬機對應的第二存儲地址,建立所述第二存儲地址與第二控制層的映射關系,基于所述映射關系建立所述第二虛擬機與目標設備的相關信息,并控制所述第二虛擬機與所述目標設備進行數據交互。如此,在進行目標設備在虛擬機之間遷移的時候,不需要進行復雜的替換流程,僅需要直接轉換該設備所屬虛擬機的所有權即可實現,從而保證透傳硬件設備的遷移更加平滑無縫,并有效縮短遷移時間。另外,還能夠在遷移開始之前將目標設備的處理狀態(tài)控制為暫停狀態(tài),從而避免在遷移過程中該透傳硬件設備被其它虛擬機占用。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質包括:移動存儲設備、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現并作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明實施例的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機、服務器、或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質包括:移動存儲設備、rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。