本申請涉及異構芯片虛擬機遷移,尤其涉及一種異構虛擬化平臺虛擬機遷移方法及系統。
背景技術:
1、中煤科工開采研究院在數字化轉型期間建設了大量數字化系統,為了總體管理這些系統,建設了相應的機房和硬件設備,在此基礎上采用虛擬化超融合技術為這些系統分配相應的虛擬機資源。
2、之前異構虛擬化平臺以x86架構指令集和arm架構指令集為主,為了響應國家信創產業政策,選擇國產cpu芯片如海光、鯤鵬、兆芯、龍芯、申威等,包括指令集架構有x86、arm、loognarch、mips、sw64、risc-v等。虛擬機在異構虛擬化平臺的不同芯片架構之間進行遷移,以實現較佳的遷移后的虛擬機的運行效果尤為重要,例如從x86到其他國產指令集架構的自動化遷移的技術尤為重要。
技術實現思路
1、本申請旨在至少在一定程度上解決相關技術中的技術問題之一。
2、為此,本申請的第一個目的在于提出一種異構虛擬化平臺虛擬機遷移方法,從而提高異構虛擬化平臺虛擬機遷移效果。
3、本申請的第二個目的在于提出一種異構虛擬化平臺虛擬機遷移系統。
4、本申請的第三個目的在于提出一種電子設備。
5、本申請的第四個目的在于提出一種計算機可讀存儲介質。
6、本申請的第五個目的在于提出一種計算機程序產品。
7、為達上述目的,本申請第一方面實施例提出了一種異構虛擬化平臺虛擬機遷移方法,包括:
8、從源架構可執行文件中的二進制編碼中截取一段,得到部分二進制代碼;并得到所述部分二進制代碼在源架構機器上運行的第一運行數據;
9、針對所述異構虛擬化平臺的n個異構芯片系統,翻譯并運行所述部分二進制代碼,得到所述部分二進制代碼在所述n個異構芯片系統上運行的n個第二運行數據;
10、基于所述第一運行數據和所述n個第二運行數據,根據所述n個異構芯片系統的架構確定目標架構進制以及從多個翻譯流程中選擇目標翻譯流程;其中,所述多個翻譯流程包括靜態翻譯流程和動態翻譯流程,所述靜態翻譯流程包括由靜態翻譯器實現的靜態翻譯過程,所述動態翻譯流程包括由靜態翻譯器和動態翻譯執行器實現的動靜結合的翻譯過程;
11、基于所述目標架構進制和所述目標翻譯流程,通過所述靜態翻譯器、所述動態翻譯執行器和解釋器中的一個或多個翻譯所述源架構可執行文件,得到用于在目標架構機器上運行的可執行文件。
12、為達上述目的,本申請第二方面實施例提出了一種異構虛擬化平臺虛擬機遷移系統,包括:
13、所述系統包括指令選擇器、靜態翻譯器、動態翻譯執行器和解釋器,所述指令選擇器,用于:
14、從源架構可執行文件中的二進制編碼中截取一段,得到部分二進制代碼;并得到所述部分二進制代碼在源架構機器上運行的第一運行數據;
15、針對所述異構虛擬化平臺的n個異構芯片系統,翻譯并運行所述部分二進制代碼,得到所述部分二進制代碼在所述n個異構芯片系統上運行的n個第二運行數據;
16、基于所述第一運行數據和所述n個第二運行數據,根據所述n個異構芯片系統的架構確定目標架構進制以及從多個翻譯流程中選擇目標翻譯流程;其中,所述多個翻譯流程包括靜態翻譯流程和動態翻譯流程,所述靜態翻譯流程包括由靜態翻譯器實現的靜態翻譯過程,所述動態翻譯流程包括由靜態翻譯器和動態翻譯執行器實現的動靜結合的翻譯過程;
17、基于所述目標架構進制和所述目標翻譯流程,通過所述靜態翻譯器、所述動態翻譯執行器和解釋器中的一個或多個翻譯所述源架構可執行文件,得到用于在目標架構機器上運行的可執行文件。
18、為達上述目的,本申請第三方面實施例提出了一種電子設備,包括:處理器,以及與所述處理器通信連接的存儲器;所述存儲器存儲計算機執行指令;所述處理器執行所述存儲器存儲的計算機執行指令,以實現第一方面所述的方法。
19、為達上述目的,本申請第四方面實施例提出了一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有計算機執行指令,所述計算機執行指令被處理器執行時用于實現第一方面所述的方法。
20、為達上述目的,本申請第五方面實施例提出了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現第一方面所述的方法。
21、本申請提供的異構虛擬化平臺虛擬機遷移方法及系統,根據截取的源架構可執行文件的部分二進制代碼在各異構芯片系統的運行數據,選擇目標架構進制以及目標翻譯流程;基于目標架構進制和目標翻譯流程,翻譯源架構可執行文件;再根據翻譯效率判斷當前的目標架構進制和目標翻譯流程是否能夠得到理想的翻譯結果,在翻譯結果不理想的情況下,調整目標架構進制和目標翻譯流程重新進行翻譯,得到目標架構系統的可執行文件;從而提高異構虛擬化平臺虛擬機遷移效果。
22、本申請附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。
1.一種異構虛擬化平臺虛擬機遷移方法,其特征在于,所述方法包括以下步驟:
2.根據權利要求1所述的方法,其特征在于,所述第一運行數據包括所述部分二進制代碼在源架構機器上運行的第一執行時間,所述第二運行數據包括所述部分二進制代碼在第n個異構芯片系統上運行的第二執行時間、cpu資源占用率、內存資源占用率和存儲資源占用值;其中,1≤n≤n;
3.根據權利要求2所述的方法,其特征在于,所述基于所述第n個異構芯片系統的資源值,根據所述n個異構芯片系統的架構確定目標架構進制以及從多個翻譯流程中選擇目標翻譯流程;包括:
4.根據權利要求2所述的方法,其特征在于,所述基于所述部分二進制代碼在第n個異構芯片系統上運行的執行效率、cpu資源占用率、內存資源占用率和存儲資源占用值,得到n個異構芯片系統的資源值;包括:通過第一公式,基于所述執行效率、所述cpu資源占用率、所述內存資源占用率和所述存儲資源占用值,得到n個異構芯片系統的資源值,所述第一公式表示如下:
5.根據權利要求1所述的方法,其特征在于,所述翻譯流程還包括解釋器翻譯流程,所述解釋器翻譯流程包括解釋器直接運行過程;所述基于所述目標架構進制和所述目標翻譯流程,通過所述靜態翻譯器、所述動態翻譯執行器和解釋器中的一個或多個翻譯所述源架構可執行文件,得到用于在目標架構機器上運行的可執行文件;包括:
6.根據權利要求5所述的方法,其特征在于,所述預設閾值包括第一效率閾值和第二效率閾值,所述基于所述翻譯效率和預設閾值,確定新的所述目標架構進制、新的所述目標翻譯流程以及是否將所述翻譯后的目標可執行文件作為所述用于在目標架構機器上運行的可執行文件中的一個或者多個;包括:
7.根據權利要求1所述的方法,其特征在于,所述針對所述異構虛擬化平臺的n個異構芯片系統,翻譯并運行所述部分二進制代碼,得到所述部分二進制代碼在所述n個異構芯片系統上運行的n個第二運行數據;包括:
8.根據權利要求5所述的方法,其特征在于,所述通過所述靜態翻譯器和所述動態翻譯執行器以動靜結合方式翻譯所述源架構可執行文件,得到翻譯后的目標可執行文件;包括:
9.一種異構虛擬化平臺虛擬機遷移系統,其特征在于,所述系統包括指令選擇器、靜態翻譯器、動態翻譯執行器和解釋器,所述指令選擇器,用于:
10.一種計算機程序產品,其特征在于,包括計算機程序,該計算機程序被處理器執行時實現權利要求1-8中任一項所述的方法。