CN117112071B - 一种跨平台配置信息转化方法、系统、设备及存储介质 - Google Patents

一种跨平台配置信息转化方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN117112071B
CN117112071B CN202311387837.1A CN202311387837A CN117112071B CN 117112071 B CN117112071 B CN 117112071B CN 202311387837 A CN202311387837 A CN 202311387837A CN 117112071 B CN117112071 B CN 117112071B
Authority
CN
China
Prior art keywords
virtual machine
configuration information
configuration
target
virtualization platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311387837.1A
Other languages
English (en)
Other versions
CN117112071A (zh
Inventor
谢俊峰
王博恒
饶旭
黄传波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Vinchin Science And Technology Co
Original Assignee
Chengdu Vinchin Science And Technology Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Vinchin Science And Technology Co filed Critical Chengdu Vinchin Science And Technology Co
Priority to CN202311387837.1A priority Critical patent/CN117112071B/zh
Publication of CN117112071A publication Critical patent/CN117112071A/zh
Application granted granted Critical
Publication of CN117112071B publication Critical patent/CN117112071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及一种跨平台配置信息转化方法、系统、设备及存储介质。所述方法包括:备份虚拟机;获取原配置结构;转化过渡配置结构;获取目标配置结构;创建目标虚拟机。所述系统包括:备份虚拟机模块;获取原配置结构模块;转化过渡配置结构模块;获取目标配置结构模块;创建目标虚拟机模块。本发明以过渡配置结构作为中间转化模板,这样能够提高不同种虚拟化平台之间的配置信息转化效率,节约人力成本,且对虚拟化平台的性能几乎无影响。

Description

一种跨平台配置信息转化方法、系统、设备及存储介质
技术领域
本发明属于计算机技术领域,涉及一种跨平台配置信息转化方法、系统、设备及存储介质。
背景技术
现在虚拟化技术正在广泛的应用中,虚拟机则是虚拟化技术的重要组成部分。出于用户对大量虚拟机跨平台迁移的业务需求,需要实现将不同种类平台的虚拟机配置信息进行相互转化,从而实现不同种类平台间的虚拟机迁移。
目前,开发人员在设计开发跨平台虚拟机迁移产品时,传统的配置信息转化方法是一对一直接转化,即先获取原虚拟化平台A的配置信息,再将该配置信息直接转化为目标虚拟化平台B的配置信息。但是,现在市面上有大量不同种类的虚拟机平台,至少超过40种,这样有多个原虚拟化平台和多个目标虚拟化平台的情况,开发人员需要转化的次数就是原虚拟化平台的种类数乘以目标虚拟化平台的种类数,工作量可谓相当庞大。
因此,在设计开发跨平台虚拟机迁移产品时,如何帮助研发人员快速方便地完成配置信息转化,是当前急需解决的技术问题。
发明内容
本发明为了解决上述背景技术中的技术问题,提供一种跨平台配置信息转化方法、系统、设备及存储介质。
本发明解决上述技术问题的技术方案如下:
第一个方面,提供了一种跨平台配置信息转化方法,所述方法,包括步骤:
备份原虚拟化平台上的待备份虚拟机;
获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构;
按照过渡配置结构的配置参数结构,将原配置结构转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成;
将过渡配置结构转化为目标虚拟化平台的目标配置结构;
将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机。
在其中一个实施例中,所述虚拟机基本信息包括:虚拟机设备名称、虚拟机操作系统类型、虚拟机启动模式、BIOS和处理器架构;所述虚拟机计算资源信息包括:处理器数量和虚拟机内存;所述磁盘列表包括:磁盘名称、磁盘格式、总线类型、磁盘启动盘信息和磁盘大小;所述网卡列表包括:网卡名称、MAC地址、总线类型和IP信息。
在其中一个实施例中,虚拟化平台包括:Vmware虚拟化平台、KVM虚拟化平台、Openstack虚拟化平台、SmartX虚拟化平台、HCI虚拟化平台、XSky虚拟化平台、Hyper-V虚拟化平台、Zstack虚拟化平台、ICS虚拟化平台、Cloudview虚拟化平台、H3C虚拟化平台、Kunpeng虚拟化平台、CNware虚拟化平台、Proxmox虚拟化平台和Xen虚拟化平台。
在其中一个实施例中,所述获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构步骤,还包括:
读取数据库,获取该虚拟机的配置信息初始字符串A(0);
将配置信息初始字符串A(0)转化为json格式配置信息T(0);
将所述json格式配置信息T(0)转化为原虚拟化平台的原配置结构。
在其中一个实施例中,所述将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机步骤,还包括:
将目标配置结构转化为json格式配置信息T(2);
从json格式配置信息T(2)中获取目标虚拟机的配置信息,并根据该配置信息创建目标虚拟机。
第二个方面,提供了一种跨平台配置信息转化系统,包括:
备份虚拟机模块,用于备份原虚拟化平台上的待备份虚拟机;
获取原配置结构模块,用于获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构;
转化过渡配置结构模块,用于按照过渡配置结构的配置参数结构,将原配置结构转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成;
获取目标配置结构模块,用于将过渡配置结构转化为目标虚拟化平台的目标配置结构;
创建目标虚拟机模块,用于将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机。
在其中一个实施例中,所述获取原配置结构模块,包括:
获取配置信息初始字符串A(0)单元,用于读取数据库,获取该虚拟机的配置信息初始字符串A(0);
转化json格式配置信息T(0)单元,用于将配置信息初始字符串A(0)转化为json格式配置信息T(0);
转化原配置结构单元,用于将所述json格式配置信息T(0)转化为原虚拟化平台的原配置结构。
在其中一个实施例中,所述创建目标虚拟机模块,包括:
转化json格式配置信息T(2)单元,用于将目标配置结构转化为json格式配置信息T(2);
创建目标虚拟机单元,用于从json格式配置信息T(2)中获取目标虚拟机的配置信息,并根据该配置信息创建目标虚拟机。
第三个方面,提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行上述跨平台配置信息转化方法的步骤。
第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述跨平台配置信息转化方法。
本发明的有益效果是:
(1)本发明中,将任意原虚拟化平台的虚拟机配置信息先转化为过渡配置结构,再由过渡配置结构统一转化为目标虚拟化平台的虚拟机配置信息,在处理大量不同种类虚拟化平台间的虚拟机配置信息转化时,转化效率更高,能够有效节约开发人力成本;
(2)本发明虚拟化平台的配置结构是一种内存结构,对配置结构进行修改,几乎不会影响到虚拟化平台的性能,能够实现无感地完成配虚拟机置信息的转化;
(3)本发明过渡配置结构的配置参数结构能够起到类似标准模板的作用,应用场景广泛,几乎可以满足市面上虚拟化平台的跨平台虚拟机迁移需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1为本发明实施例1中跨平台配置信息转化方法的流程示意图。
图2为本发明实施例2中跨平台配置信息转化方法的流程示意图。
图3为本发明实施例2中3种原虚拟化平台与3种目标虚拟化平台之间的转化示意图。
图4为本发明实施例3中跨平台配置信息转化方法的流程示意图。
图5为本发明实施例3中5种原虚拟化平台与5种目标虚拟化平台之间的转化示意图。
图6为本发明实施例4中跨平台配置信息转化系统的结构示意图。
图7为本发明实施例4中获取原配置结构模块的结构示意图。
图8为本发明实施例4中创建目标虚拟机模块的结构示意图。
附图中,各标号所代表的部件列表如下:
4001、备份虚拟机模块;4002、获取原配置结构模块;4003、转化过渡配置结构模块;4004、获取目标配置结构模块;4005、创建目标虚拟机模块;40021、获取配置信息初始字符串A(0)单元;40022、转化json格式配置信息T(0)单元;40023、转化原配置结构单元;40051、转化json格式配置信息T(2)单元;40052、创建目标虚拟机单元。
实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供的方法,应用场景如下:
原虚拟化平台为Vmware,操作系统为Linux;
目标虚拟化平台为KVM,操作系统为Linux。
如图1所示,提供一种跨平台配置信息转化方法,该方法包括:
S101.备份原虚拟化平台Vmware上的待备份虚拟机。
S102.读取数据库,获取已备份虚拟机的配置信息初始字符串A(0)。
可以理解的是,虚拟化平台上可能运行一台或多台虚拟机,每台虚拟化的配置信息均是以字符串的形式记录保存在数据库中。
还可以理解的是,由于步骤S101完成了对原虚拟化平台全部内容的备份,因此在步骤S102中,备份系统可以直接读取数据库,获得需要的数据。
S103.将配置信息初始字符串A(0)转化为json格式配置信息T(0)。
值得说明的是,在步骤S103中,也可以将配置信息初始字符串A(0)转化为其他格式的配置信息。本实施例选择转化为json格式,因为其格式比较容易存储和解析转化。
S104.将所述json格式配置信息T(0)转化为原虚拟化平台Vmware的原配置结构。
S105.按照过渡配置结构的配置参数结构,将原配置结构转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成,所述虚拟机基本信息包括:虚拟机设备名称、虚拟机操作系统类型、虚拟机启动模式、BIOS和处理器架构;所述虚拟机计算资源信息包括:处理器数量和虚拟机内存;所述磁盘列表包括:磁盘名称、磁盘格式、总线类型、磁盘启动盘信息和磁盘大小;所述网卡列表包括:网卡名称、MAC地址、总线类型和IP信息。
进一步的,IP信息包括IP地址和IP类型。
可以理解的是,本实施例中的原配置结构、过渡配置结构和目标配置结构,均是内存中的一种自定义结构,三者间的转化过程都是在内存中进行。开发人员可以对配置结构做修改,同时由于是内存中的结构,因此无论Windows系统还是Linux系统均可以使用,满足了广泛的虚拟机需求,通用性较好。
在本实施例中,原配置结构和目标配置结构不依赖于具体的结构;过渡配置结构具有特定的配置参数结构,通过虚拟机基本信息、虚拟机计算资源信息、磁盘列表和网卡列表,可以有效涵盖配置信息转化所需的全部内容,在结构中增加自定义,可以满足各虚拟化平台所存在的不同细节方面的处理需求。
示例地,过渡配置结构配置参数结构如下:
{
"basic_info":{
"machine_name":"xxx",
"machine_uuid":"7cdd1942-f6e1-4bfc-b64c-5b354f75c2e6",
"boot_mode": "bios",
"os_type": "linux",
"cpu_arch": "x86",
},
"flavor":{
"cpu_num": "4",
"memory_value": "2097152",
},
"disk_list": [
{
"bootable": true,
"disk_size": "21474836480",
"disk_name": "vda",
"bus_type": "virtio",
"disk_format": "raw"
}
],
"network_list": [
{
"network_name": "xxx"
"mac_attr_address": "fa:16:3e:a3:d8:0e",
"bus_type": "virtio",
"ip_list":[
{
"ipaddr":"0.0.0.0",
"ipaddr_type":"ipv4"
}
],
}
],
"custom_info":{
}
}。
0041.其中,上述示例里,各字段代表的意思是:
machine_name:代表虚拟机设备名称;
machine_uuid:代表虚拟机设备的唯一标识符;
cpu_num:代表处理器的数量;
memory_value:代表虚拟机内存;
boot_mode:代表虚拟机设备启动模式;
os_type:代表虚拟机操作系统类型;
cpu_arch:代表处理器架构;
disk_list:代表磁盘列表;
bootable:代表磁盘是否为启动盘,true代表是,false代表不是;
disk_size:代表磁盘大小;
disk_name:代表磁盘名称
bus_type:代表总线类型;
disk_format:代表磁盘格式;
network_list:代表网卡列表;
network_name:代表网卡名称;
mac_attr_address:代表MAC地址;
bus_type:代表总线类型;
ip_list:代表IP列表
Ipaddr:代表IP地址;
ipaddr_type:代表IP地址类型。
值得说明的是,如上文提到配置结构可以进行修改,开发人员也可以根据具体虚拟化平台环境的需要,在虚拟机基本信息、虚拟机计算资源信息、磁盘列表和网卡列表等几个大类结构下添加小类结构,以帮助少数目标虚拟化平台获得足够的转化信息,更为灵活。
S106.将过渡配置结构转化为目标虚拟化平台KVM的目标配置结构。
S107.将目标配置结构转化为json格式配置信息T(2)。
S108.从json格式配置信息T(2)中获取目标虚拟机的配置信息,并根据该目标虚拟机的配置信息创建目标虚拟机。
本实施例将任意原虚拟化平台Vmware的虚拟机配置信息先转化为过渡配置结构,再由过渡配置结构统一转化为目标虚拟化平台KVM的虚拟机配置信息,这样通过配置结构,几乎不会影响到虚拟化平台的性能,能够实现无感地完成配虚拟机置信息的转化。
实施例2
本实施例提供的方法,应用场景如下:
第一原虚拟化平台为Vmware,操作系统为Linux;
第二原虚拟化平台为Openstack,操作系统为Linux;
第三原虚拟化平台为HCI,操作系统为Linux;
第一目标虚拟化平台为XSky,操作系统为Linux;
第二目标虚拟化平台为Hyper-V,操作系统为Linux;
第三目标虚拟化平台为Zstack,操作系统为Linux。
结合如图2和图3所示,提供一种跨平台配置信息转化方法,该方法包括:
S201.备份第一原虚拟化平台Vmware、第二原虚拟化平台Openstack和第三原虚拟化平台HCI上的待备份虚拟机;
S202.读取数据库,分别获得第一原虚拟化平台Vmware的配置信息初始字符串A(0-1)、第二原虚拟化平台Openstack的配置信息初始字符串A(0-2)和第三原虚拟化平台HCI的配置信息初始字符串A(0-3)。
S203.将配置信息初始字符串A(0-1)、配置信息初始字符串A(0-2)和配置信息初始字符串A(0-3)分别转化为各自对应的json格式配置信息T(0-1)、json格式配置信息T(0-2)和json格式配置信息T(0-3)。
S204.将json格式配置信息T(0-1)、json格式配置信息T(0-2)和json格式配置信息T(0-3)分别转化为各自对应的原配置结构 M(0-1)、原配置结构 M(0-2)和原配置结构 M(0-3)。
S205.按照过渡配置结构的配置参数结构,将原配置结构 M(0-1)、原配置结构 M(0-2)和原配置结构 M(0-3)均转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成,所述虚拟机基本信息包括:虚拟机设备名称、虚拟机操作系统类型、虚拟机启动模式、BIOS和处理器架构;所述虚拟机计算资源信息包括:处理器数量和虚拟机内存;所述磁盘列表包括:磁盘名称、磁盘格式、总线类型、磁盘启动盘信息和磁盘大小;所述网卡列表包括:网卡名称、MAC地址、总线类型和IP信息。
S206.将过渡配置结构分别转化为第一目标虚拟化平台XSky的目标配置结构 M(2-1)、第二目标虚拟化平台Hyper-V的目标配置结构 M(2-2)和第三目标虚拟化平台Zstack的目标配置结构 M(2-3)。
S207.将目标配置结构 M(2-1)、目标配置结构 M(2-2)、目标配置结构 M(2-3)分别转化为各自对应的json格式配置信息T(2-1)、json格式配置信息T(2-2)和json格式配置信息T(2-3)。
S208.从json格式配置信息T(2-1)中获取第一目标虚拟化平台XSky的配置信息,并根据该配置信息创建XSky的虚拟机;从json格式配置信息T(2-2)中获取第二目标虚拟化平台Hyper-V的配置信息,并根据该配置信息创建Hyper-V的虚拟机;从json格式配置信息T(2-3)中获取第三目标虚拟化平台Zstack的配置信息,并根据该配置信息创建Zstack的虚拟机。
本实施例将多个不同的原虚拟化平台的虚拟机配置信息均先转化为过渡配置结构,再由过渡配置结构统一转化为多个目标虚拟化平台的虚拟机配置信息,使得大量不同种虚拟化平台之间的虚拟机配置信息转化操作不再是传统的一对一进行,能够明显减少转化次数,这样提高了转化效率。
实施例3
本实施例提供的方法,应用场景如下:
第一原虚拟化平台为KVM,操作系统为Windows;
第二原虚拟化平台为H3C,操作系统为Linux;
第三原虚拟化平台为Kunpeng,操作系统为Linux;
第四原虚拟化平台为Cloudview,操作系统为Windows;
第五原虚拟化平台为SmartX,操作系统为Linux;
第一目标虚拟化平台为Xen,操作系统为Windows;
第二目标虚拟化平台为Kunpeng,操作系统为Linux;
第三目标虚拟化平台为CNware,操作系统为Linux;
第四目标虚拟化平台为Proxmox,操作系统为Linux;
第五目标虚拟化平台为ICS,操作系统为Windows。
结合图4和图5所示,提供一种跨平台配置信息转化方法,该方法包括:
S301.分别备份第一原虚拟化平台KVM、第二原虚拟化平台H3C和第三原虚拟化平台Kunpeng、第四原虚拟化平台Cloudview和第五原虚拟化平台SmartX的待备份虚拟机;
S302.读取数据库,分别获得第一原虚拟化平台KVM的配置信息初始字符串A(0-1)、第二原虚拟化平台H3C的配置信息初始字符串A(0-2)、第三原虚拟化平台Kunpeng的配置信息初始字符串A(0-3)、第四原虚拟化平台Cloudview的配置信息初始字符串A(0-4)和第五原虚拟化平台SmartX的配置信息初始字符串A(0-5);
S303.将配置信息初始字符串A(0-1)、配置信息初始字符串A(0-2)、配置信息初始字符串A(0-3)、配置信息初始字符串A(0-4)和配置信息初始字符串A(0-5)分别转化为各自对应的json格式配置信息T(0-1)、json格式配置信息T(0-2)、json格式配置信息T(0-3)、json格式配置信息T(0-4)和json格式配置信息T(0-5)。
S304.将json格式配置信息T(0-1)、json格式配置信息T(0-2)、json格式配置信息T(0-3)、json格式配置信息T(0-4)和json格式配置信息T(0-5)分别转化为各自对应的原配置结构 M(0-1)、原配置结构 M(0-2)和原配置结构 M(0-3)、原配置结构 M(0-4)和原配置结构 M(0-5)。
S305.按照过渡配置结构的配置参数结构,将原配置结构 M(0-1)、原配置结构 M(0-2)、原配置结构 M(0-3)、原配置结构 M(0-4)和原配置结构 M(0-5)均转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成,所述虚拟机基本信息包括:虚拟机设备名称、虚拟机操作系统类型、虚拟机启动模式、BIOS和处理器架构;所述虚拟机计算资源信息包括:处理器数量和虚拟机内存;所述磁盘列表包括:磁盘名称、磁盘格式、总线类型、磁盘启动盘信息和磁盘大小;所述网卡列表包括:网卡名称、MAC地址、总线类型和IP信息。
S306.将过渡配置结构分别转化为第一目标虚拟化平台Xen的目标配置结构 M(2-1)、第二目标虚拟化平台Kunpeng的目标配置结构 M(2-2)、第三目标虚拟化平台CNware的目标配置结构 M(2-3)、第四目标虚拟化平台Proxmox的目标配置结构 M(2-4)和第五目标虚拟化平台ICS的目标配置结构 M(2-5);
S307.将目标配置结构 M(2-1)、目标配置结构 M(2-2)、目标配置结构 M(2-3)、目标配置结构 M(2-4)和目标配置结构 M(2-5)分别转化为各自对应的json格式配置信息T(2-1)、json格式配置信息T(2-2)、json格式配置信息T(2-3)、json格式配置信息T(2-4)和json格式配置信息T(2-5)。
S308.从json格式配置信息T(2-1)中获取第一目标虚拟化平台Xen的配置信息,并根据该配置信息创建Xen的虚拟机;从json格式配置信息T(2-2)中获取第二目标虚拟化平台Kunpeng的配置信息,并根据该配置信息创建Kunpeng的虚拟机;从json格式配置信息T(2-3)中获取第三目标虚拟化平台CNware的配置信息,并根据该配置信息创建CNware的虚拟机;从json格式配置信息T(2-4)中获取第四目标虚拟化平台Proxmox的配置信息,并根据该配置信息创建Proxmox的虚拟机;从json格式配置信息T(2-5)中获取第五目标虚拟化平台ICS的配置信息,并根据该配置信息创建ICS的虚拟机。
在本实施例中,基于配置结构的本身特性和过渡配置结构特定结构的通用性,使得各虚拟化平台和各操作系统都得到兼容,从原25次的转化操作缩减到了10次,方便了研发人员的开发工作,节约了人力成本。
实施例4
如图6所示,提供了一种跨平台配置信息转化系统,该系统包括:
备份虚拟机模块4001,用于备份原虚拟化平台上的待备份虚拟机;
获取原配置结构模块4002,用于获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构;
转化过渡配置结构模块4003,用于按照过渡配置结构的配置参数结构,将原配置结构转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成;
获取目标配置结构模块4004,用于将过渡配置结构转化为目标虚拟化平台的目标配置结构;
创建目标虚拟机模块4005,用于将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机。
其中,如图7所示,所述获取原配置结构模块4002,包括:
获取配置信息初始字符串A(0)单元40021,用于读取数据库,获取该虚拟机的配置信息初始字符串A(0);
转化json格式配置信息T(0)单元40022,用于将配置信息初始字符串A(0)转化为json格式配置信息T(0);
转化原配置结构单元40023,用于将所述json格式配置信息T(0)转化为原虚拟化平台的原配置结构。
其中,如图8所示,所述创建目标虚拟机模块4005,包括:
转化json格式配置信息T(2)单元40051,用于将目标配置结构转化为json格式配置信息T(2);
创建目标虚拟机单元40052,用于从json格式配置信息T(2)中获取目标虚拟机的配置信息,并根据该配置信息创建目标虚拟机。
本实施例过渡配置结构的配置参数结构能够起到类似标准模板的作用,应用场景广泛,几乎可以满足市面上虚拟化平台的跨平台虚拟机迁移需求。
实施例5
在本实施例中,提供一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如实施例1至实施例3任一项所述跨平台配置信息转化方法的步骤。
实施例6
在本实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例1至实施例3任一项所述跨平台配置信息转化方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++、Ruby、Go,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (5)

1.一种跨平台配置信息转化方法,其特征在于,所述方法,包括步骤:
备份原虚拟化平台上的待备份虚拟机;
获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构;
按照过渡配置结构的配置参数结构,将原配置结构转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成;其中,所述虚拟机基本信息包括:虚拟机设备名称、虚拟机操作系统类型、虚拟机启动模式、BIOS和处理器架构;所述虚拟机计算资源信息包括:处理器数量和虚拟机内存;所述磁盘列表包括:磁盘名称、磁盘格式、总线类型、磁盘启动盘信息和磁盘大小;所述网卡列表包括:网卡名称、MAC地址、总线类型和IP信息;
将过渡配置结构转化为目标虚拟化平台的目标配置结构;
将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机;
其中,所述获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构步骤,还包括:
读取数据库,获取该虚拟机的配置信息初始字符串A;
将配置信息初始字符串A转化为json格式配置信息T;
将所述json格式配置信息T转化为原虚拟化平台的原配置结构;
所述将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机步骤,还包括:
将目标配置结构转化为json格式配置信息T;
从json格式配置信息T中获取目标虚拟机的配置信息,并根据该配置信息创建目标虚拟机。
2.根据权利要求1所述的跨平台配置信息转化方法,其特征在于,虚拟化平台包括:Vmware虚拟化平台、KVM虚拟化平台、Openstack虚拟化平台、SmartX虚拟化平台、HCI虚拟化平台、XSky虚拟化平台、Hyper-V虚拟化平台、Zstack虚拟化平台、ICS虚拟化平台、Cloudview虚拟化平台、H3C虚拟化平台、Kunpeng虚拟化平台、CNware虚拟化平台、Proxmox虚拟化平台和Xen虚拟化平台。
3.一种跨平台配置信息转化系统,其特征在于,包括:
备份虚拟机模块,用于备份原虚拟化平台上的待备份虚拟机;
获取原配置结构模块,用于获取已备份虚拟机的配置信息,并将该配置信息转化为原虚拟化平台的原配置结构;
转化过渡配置结构模块,用于按照过渡配置结构的配置参数结构,将原配置结构转化为过渡配置结构,其中所述过渡配置结构的配置参数结构由虚拟机基本信息、虚拟机计算资源信息、磁盘列表、网卡列表和自定义列表组成;其中,所述虚拟机基本信息包括:虚拟机设备名称、虚拟机操作系统类型、虚拟机启动模式、BIOS和处理器架构;所述虚拟机计算资源信息包括:处理器数量和虚拟机内存;所述磁盘列表包括:磁盘名称、磁盘格式、总线类型、磁盘启动盘信息和磁盘大小;所述网卡列表包括:网卡名称、MAC地址、总线类型和IP信息;
获取目标配置结构模块,用于将过渡配置结构转化为目标虚拟化平台的目标配置结构;
创建目标虚拟机模块,用于将目标配置结构转化为目标虚拟化平台的虚拟机配置信息,并根据该配置信息创建目标虚拟机;
其中,所述获取原配置结构模块,包括:
获取配置信息初始字符串A单元,用于读取数据库,获取该虚拟机的配置信息初始字符串A;
转化json格式配置信息T单元,用于将配置信息初始字符串A转化为json格式配置信息T;
转化原配置结构单元,用于将所述json格式配置信息T转化为原虚拟化平台的原配置结构;
所述创建目标虚拟机模块,包括:
转化json格式配置信息T单元,用于将目标配置结构转化为json格式配置信息T;
创建目标虚拟机单元,用于从json格式配置信息T中获取目标虚拟机的配置信息,并根据该配置信息创建目标虚拟机。
4.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1或2所述跨平台配置信息转化方法的步骤。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1或2所述跨平台配置信息转化方法。
CN202311387837.1A 2023-10-25 2023-10-25 一种跨平台配置信息转化方法、系统、设备及存储介质 Active CN117112071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311387837.1A CN117112071B (zh) 2023-10-25 2023-10-25 一种跨平台配置信息转化方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311387837.1A CN117112071B (zh) 2023-10-25 2023-10-25 一种跨平台配置信息转化方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117112071A CN117112071A (zh) 2023-11-24
CN117112071B true CN117112071B (zh) 2024-01-02

Family

ID=88811470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311387837.1A Active CN117112071B (zh) 2023-10-25 2023-10-25 一种跨平台配置信息转化方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117112071B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102834822A (zh) * 2010-04-12 2012-12-19 微软公司 由虚拟机共享的群集的快速-完整备份
CN103699430A (zh) * 2014-01-06 2014-04-02 山东大学 基于j2ee架构的远程kvm虚拟机管理系统的工作方法
CN107463427A (zh) * 2017-06-29 2017-12-12 北京北信源软件股份有限公司 一种虚拟机操作系统类型与版本的获取方法与装置
CN107656797A (zh) * 2017-09-27 2018-02-02 郑州云海信息技术有限公司 跨虚拟化平台迁移虚拟机的方法和装置
CN108206750A (zh) * 2016-12-16 2018-06-26 北京国双科技有限公司 虚拟机网卡的配置方法及装置
CN108363608A (zh) * 2018-02-06 2018-08-03 广东睿江云计算股份有限公司 一种虚拟机配置方法及其系统
CN112328365A (zh) * 2020-11-05 2021-02-05 济南浪潮数据技术有限公司 一种虚拟机迁移方法、装置、设备及存储介质
CN114237814A (zh) * 2021-11-17 2022-03-25 上海浦东发展银行股份有限公司 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备
CN114253666A (zh) * 2021-11-19 2022-03-29 苏州浪潮智能科技有限公司 一种虚拟机迁移的方法、装置、设备及可读介质
CN114296882A (zh) * 2021-12-31 2022-04-08 苏州浪潮智能科技有限公司 一种虚拟机内存快照的导出方法、装置及介质
CN114860393A (zh) * 2022-03-17 2022-08-05 新华三大数据技术有限公司 跨平台虚拟机迁移方法、装置和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8544003B1 (en) * 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US9043784B2 (en) * 2012-01-12 2015-05-26 Red Hat, Inc. Management of inter-dependent configurations of virtual machines in a cloud

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102834822A (zh) * 2010-04-12 2012-12-19 微软公司 由虚拟机共享的群集的快速-完整备份
CN103699430A (zh) * 2014-01-06 2014-04-02 山东大学 基于j2ee架构的远程kvm虚拟机管理系统的工作方法
CN108206750A (zh) * 2016-12-16 2018-06-26 北京国双科技有限公司 虚拟机网卡的配置方法及装置
CN107463427A (zh) * 2017-06-29 2017-12-12 北京北信源软件股份有限公司 一种虚拟机操作系统类型与版本的获取方法与装置
CN107656797A (zh) * 2017-09-27 2018-02-02 郑州云海信息技术有限公司 跨虚拟化平台迁移虚拟机的方法和装置
CN108363608A (zh) * 2018-02-06 2018-08-03 广东睿江云计算股份有限公司 一种虚拟机配置方法及其系统
CN112328365A (zh) * 2020-11-05 2021-02-05 济南浪潮数据技术有限公司 一种虚拟机迁移方法、装置、设备及存储介质
CN114237814A (zh) * 2021-11-17 2022-03-25 上海浦东发展银行股份有限公司 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备
CN114253666A (zh) * 2021-11-19 2022-03-29 苏州浪潮智能科技有限公司 一种虚拟机迁移的方法、装置、设备及可读介质
CN114296882A (zh) * 2021-12-31 2022-04-08 苏州浪潮智能科技有限公司 一种虚拟机内存快照的导出方法、装置及介质
CN114860393A (zh) * 2022-03-17 2022-08-05 新华三大数据技术有限公司 跨平台虚拟机迁移方法、装置和设备

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Dynamic resource provisioning and secured file sharing using virtualization in cloud azure";Perumal Kumaresan 等;《Journal of Cloud Computing》;第11卷(第1期);第1-3页 *
"云计算环境下可信虚拟数据中心构建及其关键技术研究";万鑫;《中国博士学位论文全文数据库 (信息科技辑)》;第I138-3页 *
"基于文件过滤驱动的跨平台网络文件系统CPNFS";周家劲,谢俊峰 等;《现代计算机》;第28卷(第6期);第90-95页 *
"基于虚拟化技术的计算机实验云平台的设计与实现";王韬;《中国优秀硕士学位论文全文数据库 (社会科学Ⅱ辑)》;第H131-134页 *
面向OpenStack/Ceph的虚拟机备份系统研究;杨皓森;胡晓勤;黄传波;;计算机系统应用(第11期);第98-104页 *

Also Published As

Publication number Publication date
CN117112071A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
US9823851B2 (en) Secure migratable architecture having security features
US20190087212A1 (en) Android simulator and method for implementing android simulator
US7134007B2 (en) Method for sharing firmware across heterogeneous processor architectures
US20080263258A1 (en) Method and System for Migrating Virtual Machines Between Hypervisors
US20110246988A1 (en) Hypervisor for starting a virtual machine
US9858098B2 (en) Hypervisor modification of system tables
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
US20040107421A1 (en) Methods and systems for cooperative scheduling of hardware resource elements
US7421431B2 (en) Providing access to system management information
US20150193249A1 (en) Idle processor management in virtualized systems via paravirtualization
US11301225B2 (en) Reducing application startup time by generating bytecode from metadata at build time
CN115988218A (zh) 一种虚拟化视频编解码系统、电子设备和存储介质
US11269606B2 (en) Firmware publication of multiple binary images
CN111625290B (zh) 一种Android平台下布局文件预加载方法、装置及电子设备
CN117112071B (zh) 一种跨平台配置信息转化方法、系统、设备及存储介质
US9684529B2 (en) Firmware and metadata migration across hypervisors based on supported capabilities
US11526358B2 (en) Deterministic execution replay for multicore systems
US20150242330A1 (en) Guest-programmable location of advanced configuration and power interface (acpi) tables in virtualized systems
CN107168815A (zh) 一种收集硬件错误信息的方法
CN115604331A (zh) 一种数据的处理系统、方法以及装置
CN117112072B (zh) 一种跨平台虚拟机驱动替换方法、系统及存储介质
CN107636624B (zh) 没有使用的特殊指令的垃圾收集
US8135943B1 (en) Method, apparatus, and computer-readable medium for generating a dispatching function
US11372653B1 (en) Runtime access to firmware platform configuration data
US7694301B1 (en) Method and system for supporting input/output for a virtual machine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant