一种云端异构虚拟化数字仿真平台制造技术

技术编号:36433713 阅读:17 留言:0更新日期:2023-01-20 22:46
本发明专利技术公开了一种云端异构虚拟化数字仿真平台,用户可以基于此平台创建并管理多CPU体系结构的虚拟机。平台包括云端虚拟机生成和运行环境、云端平台接入框架、本地用户访问接口和自定义网络通信协议四部分。云端虚拟机生成和运行环境为虚拟机提供所需资源,云端平台接入框架作为中间层负责用户访问控制和虚拟机管理,本地用户访问接口支持用户对虚拟机进行配置、控制和远程交互,自定义网络通信协议确保平台各部分之间数据同步和信息安全。本平台架设在云端,本地部署简单,高效灵活,可以极大节省本地资源。大节省本地资源。大节省本地资源。

【技术实现步骤摘要】
一种云端异构虚拟化数字仿真平台


[0001]本专利技术属于计算机系统虚拟化领域,特别涉及一种云端异构虚拟化数字仿真平台。

技术介绍

[0002]近年来,虚拟化技术在计算机领域的广泛使用给用户带来了极大的便利,它通过对计算机的物理资源进行抽象,打破了实体结构间不可切割的障碍,提供一个或多个操作环境,实现资源的模拟、隔离及共享,使得物理资源能够被最大限度的利用。
[0003]当前市场上也涌现出了一批VMM常用软件,比如Xen、KVM、VMware、VirtualBox等,为虚拟机提供了便捷的管理功能,但是这些软件只能模拟与宿主机硬件架构一致的虚拟机,无法进行多体系结构虚拟机仿真。QEMU支持跨架构模拟虚拟机,但是它以命令行的形式使用,专业性要求较高,没有简洁的可视化界面,不便于普通用户使用。此外,传统虚拟机的依赖文件多保存于用户本地机器,占用本地的存储空间,运行环境也依赖于本地资源,性能较低。云计算技术的成熟落地使得将虚拟机架设在云端成为一种新的趋势,在云端部署异构虚拟化仿真平台,用户在本地远程访问云端异构虚拟机,不仅节省了本地存储空间,提高了性能,而且使用起来更加简便灵活。

技术实现思路

[0004]本专利技术的目的在于提供一种云端异构虚拟化数字仿真平台,为用户提供搭建并管理多CPU体系结构虚拟机的服务。平台通过云端部署支持多用户并发访问,用户只需在本地安装SDK,部署简单,灵活性高,并且可以极大程度节省本地存储空间。
[0005]本专利技术提供的云端异构虚拟化数字仿真平台,事先在云端平台中集成虚拟机依赖文件池、OS镜像池、服务配置一体化池、开源库和软件池这四种类型的文件池,文件池中包括六种以上CPU体系结构虚拟机创建和运行所需的资源,用户可以基于此平台创建并管理多CPU体系结构的虚拟机,同时基于QEMU进行虚拟机硬件仿真,用户在本地配置虚拟机硬件参数,平台包括云端虚拟机生成和运行环境、云端平台接入框架、本地用户访问接口、自定义网络通信协议。
[0006]云端虚拟机生成和运行环境架设在云端高性能服务器,提供六种以上体系结构虚拟机创建和运行所需资源,可以接收云端平台接入框架发来的请求,并根据控制流连接控制本环境下虚拟机的创建、运行、挂起和关闭;同时可以根据数据流连接传输用户和虚拟机交互的数据;为了保证安全,本环境只提供受限的内网访问,只和云端平台接入框架进行受限信息交互,不作外网访问。针对异构虚拟机所依赖的宿主OS环境,云端虚拟机生成和运行环境提供Windows和Linux双宿主环境,可供用户选择;虚拟机的运行模式支持GUI(图形用户界面)和CLI(命令行接口)两种模式,用户可以指定使用一种。
[0007]云端虚拟机生成和运行环境可以进行异构硬件仿真,平台基于QEMU仿真七种硬件设备,具体包括:CPU、内存、网卡、硬盘、FLASH、SD卡和串口。其中,CPU支持六种以上体系结
构;内存支持至少一个插槽,单槽大小可配置;网卡的网络后端模式支持tap、user和bridge三种;硬盘支持hda、sda和vda三种类型;FLASH和SD属于外置设备,大小可配置;对串口类型的支持依据虚拟机体系结构而变,串口波特率可更改。
[0008]进一步地,虚拟机的创建和运行依赖多种类型的文件,所述云端虚拟机生成和运行环境提供四种类型的文件池,具体包括:
[0009](1)虚拟机依赖文件池,包含适配X86、ARM、RISC

V、PowerPC、MIPS、SPARC等体系结构的uboot启动文件、设备树文件和固件程序等;
[0010](2)OS镜像池,包含至少六种体系结构、三种类型(Debian、CentOS、内核镜像)、多版本(Debian 9.x、Debian 10.x、Debian 11.x、CentOS 7.x、CentOS8.x、Linux Kernel 2.x、Linux Kernel 3.x、Linux Kernel 4.x、Linux Kernel 5.x)的OS镜像;
[0011](3)服务配置一体化池,为了便于在虚拟机中集成服务(ssh、cron、tftp、vncserver、gdbserver等),提供X86、ARM、RISC

V、PowerPC、MIPS、SPARC等不同体系结构的服务程序和安装配置脚本;
[0012](4)开源库和软件池,结合开源代码和交叉编译工具链,提供开源库和软件(gcc、gdb、vim等)。
[0013]云端虚拟机生成和运行环境维护一个文件记录表,记录文件池中文件名到文件路径的索引,便于迅速查询和使用文件。
[0014]进一步地,云端虚拟机生成和运行环境对每一台虚拟机进行RootFS适配,构建RootFS需要文件池的支持。平台使用Busybox工具和交叉编译工具链生成基础RootFS目录,然后将文件池中的服务程序和开源软件集成到RootFS中,最后将RootFS压缩成虚拟机可以挂载的initramfs,这样虚拟机就可以包含更多服务和软件。
[0015]在虚拟机启动和运行之前,云端虚拟机生成和运行环境为了防止多个虚拟机使用宿主机资源时发生抢占和冲突,如IP地址冲突、端口冲突等,对虚拟机的运行环境和使用资源做隔离,提高虚拟机的安全性,具体为:为每一个虚拟机创建一个工作目录,在启动虚拟机之前,将虚拟机的依赖文件从文件池中拷贝到目标虚拟机的工作目录下,保证依赖文件的隔离;云端维护一个数据记录表,记录已被占用的IP地址及IP地址下已被占用的端口号,在收到本地用户传来的虚拟机生成指令之后,解析指令中涉及到的IP地址与端口号,查询数据记录表中是否存在此IP地址和端口号,如果不存在,则表明IP地址和端口可用,如果已存在,则终止虚拟机生成,并向用户反馈冲突的具体情况。
[0016]在虚拟机生成和启动之后,云端虚拟机生成和运行环境可以向虚拟机中动态集成新的服务和软件,即利用文件池集成新的程序到虚拟机RootFS,其具体步骤为:
[0017]S1、保存虚拟机快照;
[0018]S2、停止虚拟机;
[0019]S3、拷贝文件池中的软件和配置文件到虚拟机RootFS;
[0020]S4、从第一步保存的快照重新运行虚拟机;
[0021]S5、使用新集成的服务和软件。
[0022]云端平台接入框架分为用户管理子模块和虚拟机管理子模块,用户管理子模块与本地用户访问接口交互,接收本地用户的访问请求,加密存储用户账户密码,对用户进行身份验证;虚拟机管理子模块接收本地用户访问接口发来的虚拟机配置文件和虚拟机状态查
询与控制请求,根据接收到的请求内容,采用内部通信协议向云端虚拟机生成和运行环境发送虚拟机创建、运行、挂起和关闭请求;
[0023]云端平台接入框架对接收到的虚拟机配置文件内容进行封装,添加协议流ID和目标虚拟机ID,组成控制流数据发送给虚拟机生成和运行环境,虚拟机生成和运行环境接收到云端平台接入框架传来的控制流数据后,解析数据中的虚拟机配置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云端异构虚拟化数字仿真平台,其特征在于,事先在云端平台中集成虚拟机依赖文件池、OS镜像池、服务配置一体化池、开源库和软件池这四种类型的文件池,文件池中包括六种以上CPU体系结构虚拟机创建和运行所需的资源,用户能够基于此平台创建并管理多CPU体系结构的虚拟机,同时基于QEMU进行虚拟机硬件仿真,用户在本地配置虚拟机硬件参数,平台包括云端虚拟机生成和运行环境、云端平台接入框架、本地用户访问接口、自定义网络通信协议,其中:云端虚拟机生成和运行环境架设在云端高性能服务器,提供六种以上体系结构虚拟机创建和运行所需资源,接收云端平台接入框架发来的请求,并根据控制流连接控制本环境下虚拟机的创建、运行、挂起和关闭;根据数据流连接传输用户和虚拟机交互的数据;为了保证安全,本环境只提供受限的内网访问,只和云端平台接入框架进行受限信息交互,不作外网访问;云端平台接入框架分为用户管理子模块和虚拟机管理子模块,用户管理子模块加密存储用户账户密码,接收本地用户的访问请求,对用户进行身份验证;虚拟机管理子模块接收本地用户访问接口发来的虚拟机配置文件和虚拟机状态查询与控制请求,根据接收到的请求内容,采用内部通信协议向云端虚拟机生成和运行环境发送虚拟机创建、运行、挂起和关闭请求;本地用户访问接口提供用户注册登录功能,并根据用户需求向云端平台接入框架发送虚拟机配置文件和虚拟机状态查询与控制请求,支持用户在本地进行代码远程调试,支持以SDK形式发布,提供与云端交互的Java、Python、C++、Go这四种主流编程语言的API,并提供开发规范文档,开发者能够基于接口协议在本地进行PC客户端、Web应用程序或插件的多种形式的软件开发;自定义网络通信协议是云端服务器集群之间以及本地用户访问接口和云端平台接入框架进行通信的规范,它是基于TCP协议的用户层协议,用来同步云端服务器之间以及用户端和云端平台接入框架之间的信息交换,协调平台各部分的功能运转,同时通信协议提供安全加密策略,保证数据传输的安全性。2.根据权利要求1所述的云端异构虚拟化数字仿真平台,其特征在于,所述云端虚拟机生成和运行环境支持六种以上体系结构的虚拟机仿真,具体为X86、ARM、RISC

V、PowerPC、MIPS、SPARC;虚拟机的硬件设备基于QEMU进行仿真,具体包括:CPU、内存、网卡、硬盘、FLASH、SD卡和串口七种;所述本地用户访问接口提供虚拟机配置模板文件,用户在本地配置界面对虚拟机的硬件参数进行配置,具体配置内容包括CPU架构、内存槽数、内存单槽大小、硬盘类型、硬盘容量、网卡模式、IP地址、串口波特率、FLASH设备容量、SD卡容量、OS镜像、IP地址、GDB调试端口号、虚拟机宿主环境、交互方式、虚拟机启动方式,配置参数写入模板文件,将模板文件上传到云端平台接入框架进行下一步虚拟机的生成,模板文件格式为json。3.根据权利要求1所述的云端异构虚拟化数字仿真平台,其特征在于,所述云端虚拟机生成和运行环境提供四种类型的文件池,具体包括:虚拟机依赖文件池,包含适配X86、ARM、RISC

V、PowerPC、MIPS、SPARC体系结构的uboot启动文件、启动虚拟机所需的设备树文件和固件程序;OS镜像池,包含至少六种体系结构、三种类型包括Debian、CentOS、内核镜像、多版本包
括Debian 9.x、Debian 10.x、Debian 11.x、CentOS 7.x、CentOS8.x、Linux Kernel 2.x、Linux Kernel 3.x、Linux Kernel 4.x、Linux Kernel 5.x的操作系统镜像;服务配置一体化池,为了便于在虚拟机中集成服务包括ssh、cron、tftp、vncserver、gdbserver,提供X86、ARM、RISC

V、PowerPC、MIPS、SPARC不同体系结构的服务程序和安装配置脚本;开源库和软件池,结合开源代码和交叉编译工具链,提供开源库和软件包括gcc、gdb、vim;所述云端虚拟机生成和运行环境提供根文件系统RootFS适配,构造根文件系统需要文件池的支持,平台使用Busybox工具和交叉编译工具链生成基础RootFS目录,然后将文件池中的服务程序和开源软件集成到RootFS中,最后将RootFS压缩成虚拟机可以挂载的initramfs;所述云端虚拟机生成和运行环境维护一个文件池记录表,记录文件池中文件名到文件路径的索引,便于迅速查询和使用文件。4.根据权利要求1所述的云端异构虚拟化数字仿真平台,其特征在于,所述云端虚拟机生成和运行环境为了防止多个虚拟机使用宿主机资源时发生抢占和冲突,对虚拟机的运行环境和使用资源做隔离,提高虚拟机的安全性,具体为:为每一个虚拟机创建一个工作目录,在启动虚拟机之前,将虚拟机的依赖文件从文件池中拷贝到目标虚拟机的工作目录下,保证依赖文件的隔离;云端虚拟机生成...

【专利技术属性】
技术研发人员:付才叶康健万传浩吕建强
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1