CN115629843A - A Cloud Heterogeneous Virtualization Digital Simulation Platform - Google Patents
A Cloud Heterogeneous Virtualization Digital Simulation Platform Download PDFInfo
- Publication number
- CN115629843A CN115629843A CN202211360070.9A CN202211360070A CN115629843A CN 115629843 A CN115629843 A CN 115629843A CN 202211360070 A CN202211360070 A CN 202211360070A CN 115629843 A CN115629843 A CN 115629843A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- cloud
- user
- file
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种云端异构虚拟化数字仿真平台,用户可以基于此平台创建并管理多CPU体系结构的虚拟机。平台包括云端虚拟机生成和运行环境、云端平台接入框架、本地用户访问接口和自定义网络通信协议四部分。云端虚拟机生成和运行环境为虚拟机提供所需资源,云端平台接入框架作为中间层负责用户访问控制和虚拟机管理,本地用户访问接口支持用户对虚拟机进行配置、控制和远程交互,自定义网络通信协议确保平台各部分之间数据同步和信息安全。本平台架设在云端,本地部署简单,高效灵活,可以极大节省本地资源。
The invention discloses a cloud heterogeneous virtualization digital simulation platform, based on which users can create and manage virtual machines with multi-CPU architecture. The platform includes four parts: cloud virtual machine generation and operating environment, cloud platform access framework, local user access interface and custom network communication protocol. The cloud virtual machine generation and operating environment provides the required resources for the virtual machine. The cloud platform access framework is responsible for user access control and virtual machine management as the middle layer. The local user access interface supports the user to configure, control and remotely interact with the virtual machine. Define network communication protocols to ensure data synchronization and information security between various parts of the platform. The platform is set up in the cloud, and the local deployment is simple, efficient and flexible, which can greatly save local resources.
Description
技术领域technical field
本发明属于计算机系统虚拟化领域,特别涉及一种云端异构虚拟化数字仿真平台。The invention belongs to the field of computer system virtualization, in particular to a cloud heterogeneous virtualization digital simulation platform.
背景技术Background technique
近年来,虚拟化技术在计算机领域的广泛使用给用户带来了极大的便利,它通过对计算机的物理资源进行抽象,打破了实体结构间不可切割的障碍,提供一个或多个操作环境,实现资源的模拟、隔离及共享,使得物理资源能够被最大限度的利用。In recent years, the widespread use of virtualization technology in the computer field has brought great convenience to users. It abstracts the physical resources of computers, breaks the inseparable barriers between physical structures, and provides one or more operating environments. Realize the simulation, isolation and sharing of resources, so that physical resources can be utilized to the maximum extent.
当前市场上也涌现出了一批VMM常用软件,比如Xen、KVM、VMware、VirtualBox等,为虚拟机提供了便捷的管理功能,但是这些软件只能模拟与宿主机硬件架构一致的虚拟机,无法进行多体系结构虚拟机仿真。QEMU支持跨架构模拟虚拟机,但是它以命令行的形式使用,专业性要求较高,没有简洁的可视化界面,不便于普通用户使用。此外,传统虚拟机的依赖文件多保存于用户本地机器,占用本地的存储空间,运行环境也依赖于本地资源,性能较低。云计算技术的成熟落地使得将虚拟机架设在云端成为一种新的趋势,在云端部署异构虚拟化仿真平台,用户在本地远程访问云端异构虚拟机,不仅节省了本地存储空间,提高了性能,而且使用起来更加简便灵活。There are also a number of common VMM software emerging on the market, such as Xen, KVM, VMware, VirtualBox, etc., which provide convenient management functions for virtual machines, but these software can only simulate virtual machines that are consistent with the hardware architecture of the host, and cannot Perform multi-architecture virtual machine emulation. QEMU supports cross-architecture simulation of virtual machines, but it is used in the form of a command line, which requires high professionalism and does not have a concise visual interface, which is not convenient for ordinary users to use. In addition, the dependent files of traditional virtual machines are mostly stored on the user's local machine, occupying local storage space, and the operating environment also relies on local resources, resulting in low performance. The maturity of cloud computing technology has made it a new trend to set up virtual machines on the cloud. Deploying a heterogeneous virtualization simulation platform on the cloud allows users to remotely access heterogeneous virtual machines in the cloud, which not only saves local storage space, but also improves performance, and it is easier and more flexible to use.
发明内容Contents of the invention
本发明的目的在于提供一种云端异构虚拟化数字仿真平台,为用户提供搭建并管理多CPU体系结构虚拟机的服务。平台通过云端部署支持多用户并发访问,用户只需在本地安装SDK,部署简单,灵活性高,并且可以极大程度节省本地存储空间。The purpose of the present invention is to provide a cloud heterogeneous virtualization digital simulation platform, which provides users with the service of building and managing multi-CPU architecture virtual machines. The platform supports concurrent access by multiple users through cloud deployment. Users only need to install the SDK locally. The deployment is simple, the flexibility is high, and the local storage space can be greatly saved.
本发明提供的云端异构虚拟化数字仿真平台,事先在云端平台中集成虚拟机依赖文件池、OS镜像池、服务配置一体化池、开源库和软件池这四种类型的文件池,文件池中包括六种以上CPU体系结构虚拟机创建和运行所需的资源,用户可以基于此平台创建并管理多CPU体系结构的虚拟机,同时基于QEMU进行虚拟机硬件仿真,用户在本地配置虚拟机硬件参数,平台包括云端虚拟机生成和运行环境、云端平台接入框架、本地用户访问接口、自定义网络通信协议。The cloud heterogeneous virtualization digital simulation platform provided by the present invention integrates four types of file pools in the cloud platform in advance: virtual machine dependent file pool, OS image pool, service configuration integration pool, open source library and software pool, file pool It includes the resources required for creating and running virtual machines with more than six CPU architectures. Users can create and manage virtual machines with multiple CPU architectures based on this platform. At the same time, they can perform virtual machine hardware emulation based on QEMU, and users can configure virtual machine hardware locally. Parameters, the platform includes cloud virtual machine generation and operating environment, cloud platform access framework, local user access interface, and custom network communication protocol.
云端虚拟机生成和运行环境架设在云端高性能服务器,提供六种以上体系结构虚拟机创建和运行所需资源,可以接收云端平台接入框架发来的请求,并根据控制流连接控制本环境下虚拟机的创建、运行、挂起和关闭;同时可以根据数据流连接传输用户和虚拟机交互的数据;为了保证安全,本环境只提供受限的内网访问,只和云端平台接入框架进行受限信息交互,不作外网访问。针对异构虚拟机所依赖的宿主OS环境,云端虚拟机生成和运行环境提供Windows和Linux双宿主环境,可供用户选择;虚拟机的运行模式支持GUI(图形用户界面)和CLI(命令行接口)两种模式,用户可以指定使用一种。The generation and operation environment of the cloud virtual machine is set up on a high-performance server in the cloud, which provides more than six types of resources required for the creation and operation of the virtual machine of the architecture, and can receive requests from the cloud platform access framework, and control the environment in this environment according to the control flow connection Create, run, suspend and shut down the virtual machine; at the same time, the data interacted between the user and the virtual machine can be transmitted according to the data flow connection; in order to ensure security, this environment only provides limited intranet access, and only communicates with the cloud platform access framework Restricted information exchange, no external network access. For the host OS environment that heterogeneous virtual machines rely on, the cloud virtual machine generation and operating environment provides Windows and Linux dual-hosting environments for users to choose; the operating mode of the virtual machine supports GUI (graphical user interface) and CLI (command line interface) ) two modes, the user can specify to use one.
云端虚拟机生成和运行环境可以进行异构硬件仿真,平台基于QEMU仿真七种硬件设备,具体包括:CPU、内存、网卡、硬盘、FLASH、SD卡和串口。其中,CPU支持六种以上体系结构;内存支持至少一个插槽,单槽大小可配置;网卡的网络后端模式支持tap、user和bridge三种;硬盘支持hda、sda和vda三种类型;FLASH和SD属于外置设备,大小可配置;对串口类型的支持依据虚拟机体系结构而变,串口波特率可更改。The cloud virtual machine generation and running environment can carry out heterogeneous hardware simulation. The platform is based on QEMU to simulate seven hardware devices, including: CPU, memory, network card, hard disk, FLASH, SD card and serial port. Among them, the CPU supports more than six architectures; the memory supports at least one slot, and the size of a single slot can be configured; the network back-end mode of the network card supports three types: tap, user, and bridge; the hard disk supports three types: hda, sda, and vda; FLASH SD and SD are external devices with a configurable size; the support for the serial port type varies according to the virtual machine architecture, and the serial port baud rate can be changed.
进一步地,虚拟机的创建和运行依赖多种类型的文件,所述云端虚拟机生成和运行环境提供四种类型的文件池,具体包括:Further, the creation and operation of a virtual machine depends on various types of files, and the cloud virtual machine generation and operation environment provides four types of file pools, specifically including:
(1)虚拟机依赖文件池,包含适配X86、ARM、RISC-V、PowerPC、MIPS、SPARC等体系结构的uboot启动文件、设备树文件和固件程序等;(1) The virtual machine depends on the file pool, including uboot startup files, device tree files, and firmware programs adapted to X86, ARM, RISC-V, PowerPC, MIPS, SPARC and other architectures;
(2)OS镜像池,包含至少六种体系结构、三种类型(Debian、CentOS、内核镜像)、多版本(Debian 9.x、Debian 10.x、Debian 11.x、CentOS 7.x、CentOS8.x、Linux Kernel2.x、Linux Kernel 3.x、Linux Kernel 4.x、Linux Kernel 5.x)的OS镜像;(2) OS image pool, including at least six architectures, three types (Debian, CentOS, kernel image), multiple versions (Debian 9.x, Debian 10.x, Debian 11.x, CentOS 7.x, CentOS8 .x, Linux Kernel2.x, Linux Kernel 3.x, Linux Kernel 4.x, Linux Kernel 5.x) OS images;
(3)服务配置一体化池,为了便于在虚拟机中集成服务(ssh、cron、tftp、vncserver、gdbserver等),提供X86、ARM、RISC-V、PowerPC、MIPS、SPARC等不同体系结构的服务程序和安装配置脚本;(3) Service configuration integration pool, in order to facilitate the integration of services (ssh, cron, tftp, vncserver, gdbserver, etc.) Program and installation configuration scripts;
(4)开源库和软件池,结合开源代码和交叉编译工具链,提供开源库和软件(gcc、gdb、vim等)。(4) Open source libraries and software pools, combined with open source code and cross-compilation tool chains, provide open source libraries and software (gcc, gdb, vim, etc.).
云端虚拟机生成和运行环境维护一个文件记录表,记录文件池中文件名到文件路径的索引,便于迅速查询和使用文件。The cloud virtual machine generation and operating environment maintains a file record table, which records the index from the file name to the file path in the file pool, which is convenient for quickly querying and using files.
进一步地,云端虚拟机生成和运行环境对每一台虚拟机进行RootFS适配,构建RootFS需要文件池的支持。平台使用Busybox工具和交叉编译工具链生成基础RootFS目录,然后将文件池中的服务程序和开源软件集成到RootFS中,最后将RootFS压缩成虚拟机可以挂载的initramfs,这样虚拟机就可以包含更多服务和软件。Furthermore, the cloud virtual machine generation and operating environment adapts RootFS to each virtual machine, and building RootFS requires the support of a file pool. The platform uses the Busybox tool and cross-compilation tool chain to generate the basic RootFS directory, then integrates the service programs and open source software in the file pool into RootFS, and finally compresses RootFS into an initramfs that can be mounted by the virtual machine, so that the virtual machine can contain more Multiple services and software.
在虚拟机启动和运行之前,云端虚拟机生成和运行环境为了防止多个虚拟机使用宿主机资源时发生抢占和冲突,如IP地址冲突、端口冲突等,对虚拟机的运行环境和使用资源做隔离,提高虚拟机的安全性,具体为:为每一个虚拟机创建一个工作目录,在启动虚拟机之前,将虚拟机的依赖文件从文件池中拷贝到目标虚拟机的工作目录下,保证依赖文件的隔离;云端维护一个数据记录表,记录已被占用的IP地址及IP地址下已被占用的端口号,在收到本地用户传来的虚拟机生成指令之后,解析指令中涉及到的IP地址与端口号,查询数据记录表中是否存在此IP地址和端口号,如果不存在,则表明IP地址和端口可用,如果已存在,则终止虚拟机生成,并向用户反馈冲突的具体情况。Before the virtual machine is started and running, the cloud virtual machine generation and operating environment are designed to prevent multiple virtual machines from preempting and conflicting when using host resources, such as IP address conflicts and port conflicts. Isolate and improve the security of the virtual machine, specifically: create a working directory for each virtual machine, and copy the dependent files of the virtual machine from the file pool to the working directory of the target virtual machine before starting the virtual machine to ensure that the dependent Isolation of files; the cloud maintains a data record table to record the occupied IP address and the occupied port number under the IP address. After receiving the virtual machine generation command from the local user, the IP involved in the command is parsed Address and port number, check whether the IP address and port number exist in the data record table. If not, it indicates that the IP address and port number are available. If they exist, the generation of the virtual machine is terminated, and the specific situation of the conflict is reported to the user.
在虚拟机生成和启动之后,云端虚拟机生成和运行环境可以向虚拟机中动态集成新的服务和软件,即利用文件池集成新的程序到虚拟机RootFS,其具体步骤为:After the virtual machine is generated and started, the cloud virtual machine generation and operating environment can dynamically integrate new services and software into the virtual machine, that is, use the file pool to integrate new programs into the virtual machine RootFS. The specific steps are:
S1、保存虚拟机快照;S1. Save the snapshot of the virtual machine;
S2、停止虚拟机;S2, stop the virtual machine;
S3、拷贝文件池中的软件和配置文件到虚拟机RootFS;S3, copy the software and configuration files in the file pool to the virtual machine RootFS;
S4、从第一步保存的快照重新运行虚拟机;S4, rerun the virtual machine from the snapshot saved in the first step;
S5、使用新集成的服务和软件。S5. Using newly integrated services and software.
云端平台接入框架分为用户管理子模块和虚拟机管理子模块,用户管理子模块与本地用户访问接口交互,接收本地用户的访问请求,加密存储用户账户密码,对用户进行身份验证;虚拟机管理子模块接收本地用户访问接口发来的虚拟机配置文件和虚拟机状态查询与控制请求,根据接收到的请求内容,采用内部通信协议向云端虚拟机生成和运行环境发送虚拟机创建、运行、挂起和关闭请求;The cloud platform access framework is divided into a user management sub-module and a virtual machine management sub-module. The user management sub-module interacts with the local user access interface, receives the local user's access request, encrypts and stores the user account password, and authenticates the user; the virtual machine The management sub-module receives the virtual machine configuration file and the virtual machine status query and control request sent by the local user access interface, and uses the internal communication protocol to send the virtual machine creation, operation, suspend and close requests;
云端平台接入框架对接收到的虚拟机配置文件内容进行封装,添加协议流ID和目标虚拟机ID,组成控制流数据发送给虚拟机生成和运行环境,虚拟机生成和运行环境接收到云端平台接入框架传来的控制流数据后,解析数据中的虚拟机配置信息,根据解析的配置参数获取文件池中虚拟机依赖文件路径(包括适配的RootFS),针对用户所选择的虚拟机宿主平台,生成对应的bat脚本(Windows平台)或者shell脚本(Linux平台),利用脚本文件生成和启动虚拟机。The cloud platform access framework encapsulates the content of the received virtual machine configuration file, adds the protocol flow ID and the target virtual machine ID, forms the control flow data and sends it to the virtual machine generation and operating environment, and the virtual machine generation and operating environment receives it to the cloud platform After accessing the control flow data from the framework, analyze the virtual machine configuration information in the data, and obtain the virtual machine dependent file path (including the adapted RootFS) in the file pool according to the analyzed configuration parameters, and target the virtual machine host selected by the user Platform, generate the corresponding bat script (Windows platform) or shell script (Linux platform), use the script file to generate and start the virtual machine.
云端服务器集群之间以及本地用户访问接口和云端平台接入框架之间具有自定义网络通信协议,具体包括:There are custom network communication protocols between cloud server clusters and between local user access interfaces and cloud platform access frameworks, including:
内部通信协议,此协议是云端平台接入框架和云端虚拟机生成和运行环境进行信息交换的协议,它是一个基于TCP的用户层协议,具有控制流和数据流两种连接方式。Internal communication protocol. This protocol is a protocol for information exchange between the cloud platform access framework and the cloud virtual machine generation and operating environment. It is a TCP-based user layer protocol with two connection modes: control flow and data flow.
控制流连接用来传输虚拟机生成配置信息、操作指令(虚拟机的启动、挂起、重启和关闭)、动态功能集成信息、操作返回码。The control flow connection is used to transmit configuration information generated by the virtual machine, operation instructions (starting, suspending, restarting and shutting down of the virtual machine), dynamic function integration information, and operation return codes.
虚拟机生成配置信息包括:流ID、虚拟机ID、CPU架构、开发板架构、内存槽数和大小、硬盘类型和容量、网络模式、串口波特率、操作系统类型和版本、IP地址、GDB端口号、宿主机环境、交互方式、虚拟机启动方式;Virtual machine generation configuration information includes: stream ID, virtual machine ID, CPU architecture, development board architecture, number and size of memory slots, hard disk type and capacity, network mode, serial port baud rate, operating system type and version, IP address, GDB Port number, host environment, interaction mode, virtual machine startup mode;
操作指令信息包括:流ID、虚拟机ID、操作方式(启动、挂起、重启、关闭);Operation command information includes: stream ID, virtual machine ID, operation mode (start, suspend, restart, close);
动态功能集成信息包括:流ID、虚拟机ID、服务名称、开源工具链名称;Dynamic function integration information includes: stream ID, virtual machine ID, service name, open source tool chain name;
操作返回码包括:流ID、虚拟机ID、操作结果信息;The operation return code includes: stream ID, virtual machine ID, and operation result information;
数据流连接传输用户输入到虚拟机的信息和虚拟机输出的信息;The data flow connection transmits the information input by the user to the virtual machine and the information output by the virtual machine;
用户输入到虚拟机的信息格包括:流ID、虚拟机ID、输入数据信息;The information grid input by the user to the virtual machine includes: stream ID, virtual machine ID, and input data information;
虚拟机输出信息包括:流ID、虚拟机ID、输出数据信息;The virtual machine output information includes: flow ID, virtual machine ID, output data information;
用户通信协议,此协议是本地用户访问接口和云端平台接入框架进行信息交换的协议,也是一个基于TCP的用户层协议,用于用户登录权限访问和虚拟机信息传输;登录权限访问传输的是控制用户的注册登录、权限访问的数据信息,具有单次传输信息量小、条目多和控制复杂的特点;虚拟机信息传输的是用户和虚拟机交互的信息,包括用户向虚拟机输入的内容和虚拟机返回的输出,具有单次传输信息量大、保持时间长和控制简单的特点。User communication protocol. This protocol is a protocol for information exchange between the local user access interface and the cloud platform access framework. It is also a TCP-based user layer protocol, used for user login access and virtual machine information transmission; login access transmission is The data information that controls the user's registration, login, and authority access has the characteristics of a small amount of information transmitted in a single time, many entries, and complex control; the information transmitted by the virtual machine is the information that the user interacts with the virtual machine, including the content that the user inputs to the virtual machine And the output returned by the virtual machine has the characteristics of large amount of information in a single transmission, long retention time and simple control.
访问请求内容包括:流ID、操作类型(用户注册、用户登录、云端验证)、数据发送方标识、数据接收方标识、用户账号、用户密码、请求状态信息;Access request content includes: flow ID, operation type (user registration, user login, cloud verification), data sender ID, data receiver ID, user account, user password, request status information;
虚拟机信息包括:流ID、数据发送方标识、数据接收方标识、虚拟机配置数据、虚拟机ID、虚拟机输入数据、虚拟机输出数据;Virtual machine information includes: stream ID, data sender ID, data receiver ID, virtual machine configuration data, virtual machine ID, virtual machine input data, virtual machine output data;
虚拟机状态查询与控制请求内容包括:流ID、数据发送方标识、数据接收方标识、虚拟机ID、查询和控制指令;The content of the virtual machine status query and control request includes: stream ID, data sender ID, data receiver ID, virtual machine ID, query and control instructions;
此外,对于数据的传输,平台采取RSA非对称加密算法,保证数据传输安全,同时优化算法的加解密过程,提高平台数据传输效率。In addition, for data transmission, the platform adopts the RSA asymmetric encryption algorithm to ensure the security of data transmission, and at the same time optimizes the encryption and decryption process of the algorithm to improve the efficiency of platform data transmission.
本地用户访问接口与云端平台接入框架交互,实现用户注册登录、虚拟机配置、虚拟机状态控制、代码远程调试。用户首先在本地远程访问云端平台,完成注册后方可登录平台,用户的账号密码在云端数据库中加密存储,云端平台接入框架对用户进行身份验证。本地用户访问接口模块以SDK形式发布,提供与云端交互的四种主流编程语言(Java、Python、C++、Go)的API,并提供基于SDK的开发规范文档,开发者可以基于SDK API和开发规范在本地进行PC客户端、Web应用程序、插件等多种形式的软件开发。The local user access interface interacts with the cloud platform access framework to realize user registration and login, virtual machine configuration, virtual machine state control, and remote code debugging. The user first remotely accesses the cloud platform locally, and can only log in to the platform after completing the registration. The user's account password is encrypted and stored in the cloud database, and the cloud platform access framework authenticates the user. The local user access interface module is released in the form of SDK, which provides APIs of four mainstream programming languages (Java, Python, C++, Go) interacting with the cloud, and provides SDK-based development specification documents. Developers can use the SDK API and development specification Various forms of software development, such as PC client, web application, plug-in, etc., are carried out locally.
用户登录平台之后,可以根据需求创建和管理虚拟机。平台支持多种体系结构虚拟机(X86、ARM、RISC-V、PowerPC、MIPS、SPARC等)仿真,为仿真虚拟机提供配置模板文件,模板文件类型为json。After users log in to the platform, they can create and manage virtual machines according to their needs. The platform supports the simulation of virtual machines with various architectures (X86, ARM, RISC-V, PowerPC, MIPS, SPARC, etc.), and provides configuration template files for the simulated virtual machines. The template file type is json.
用户在本地配置界面对虚拟机的参数进行配置,具体配置内容包括CPU架构、内存槽数、内存单槽大小、硬盘类型(had、sda、vda)、硬盘容量、网卡模式(tap、user、bridge)、IP地址、串口波特率、FLASH设备容量、SD卡容量、操作系统镜像(可以选择多类型、多版本的操作系统镜像)、GDB调试端口号、虚拟机宿主环境(Windows、Linux)、交互方式(GUI、CLI)、虚拟机启动方式(Uboot启动、直接启动),配置参数写入模板文件,将模板文件上传到云端平台接入框架进行下一步虚拟机的生成。The user configures the parameters of the virtual machine on the local configuration interface. The specific configuration content includes CPU architecture, number of memory slots, size of a single memory slot, hard disk type (had, sda, vda), hard disk capacity, network card mode (tap, user, bridge ), IP address, serial port baud rate, FLASH device capacity, SD card capacity, operating system image (multiple types and versions of operating system images can be selected), GDB debugging port number, virtual machine host environment (Windows, Linux), Interactive mode (GUI, CLI), virtual machine startup mode (Uboot startup, direct startup), configuration parameters are written into the template file, and the template file is uploaded to the cloud platform access framework to generate the virtual machine in the next step.
用户可以在本地对远程虚拟机的状态进行查询和控制,虚拟机状态包括开机、运行、关机、挂起,用户向虚拟机管理子模块发送虚拟机状态查询请求,虚拟机管理子模块解析请求中的vm_query参数,获取目标虚拟机ID,向虚拟机生成和运行环境转发查询请求;虚拟机生成和运行环境查询宿主机中虚拟机进程状态,将查询结果通过数据流连接返回给用户。用户向虚拟机管理子模块发送状态控制请求,虚拟机管理子模块解析请求中的vm_control参数,根据参数内容向虚拟机生成和运行环境发送虚拟机控制操作指令,实现对虚拟机的开机、关机、挂起等操作。The user can query and control the status of the remote virtual machine locally. The status of the virtual machine includes startup, running, shutdown, and suspension. The user sends a virtual machine status query request to the virtual machine management submodule, and the virtual machine management submodule parses the request. The vm_query parameter of the target virtual machine obtains the ID of the target virtual machine, and forwards the query request to the virtual machine generation and operating environment; the virtual machine generation and operating environment queries the status of the virtual machine process in the host machine, and returns the query result to the user through the data flow connection. The user sends a state control request to the virtual machine management sub-module, and the virtual machine management sub-module parses the vm_control parameter in the request, and sends virtual machine control operation instructions to the virtual machine generation and running environment according to the parameter content, so as to realize the virtual machine startup, shutdown, Suspend and so on.
用户可以在本地对嵌入式Linux系统代码进行远程调试,每一台云端嵌入式Linux虚拟机都装载GDBServer服务程序,用户从云端开源库和软件池中下载对应CPU架构的GDB文件,云端嵌入式Linux系统根据配置过程中指定的GDB调试端口号,开启GDBServer服务,用户在本地使用已下载的GDB文件远程连接到云端嵌入式Linux虚拟机中的GDBServer端口,进行程序的跨架构调试。Users can remotely debug the embedded Linux system code locally. Each cloud embedded Linux virtual machine is loaded with the GDBServer service program. Users download the GDB file corresponding to the CPU architecture from the cloud open source library and software pool. The cloud embedded Linux The system starts the GDBServer service according to the GDB debugging port number specified in the configuration process, and the user uses the downloaded GDB file locally to remotely connect to the GDBServer port in the cloud embedded Linux virtual machine to perform cross-architecture debugging of the program.
附图说明Description of drawings
为了更清楚地说明本发明实施例的技术方案,下面将对本实施例中所需要使用的附图做简单的介绍,应当理解,以下附图只是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings that need to be used in this embodiment will be briefly introduced below. It should be understood that the following drawings are only some embodiments of the present invention, and those of ordinary skill in the art In other words, other drawings can also be obtained from these drawings without paying creative labor.
图1是本发明实施例提供的一种云端异构虚拟化数字仿真平台的架构示意图。FIG. 1 is a schematic diagram of the architecture of a cloud-based heterogeneous virtualized digital simulation platform provided by an embodiment of the present invention.
图2是本发明实施例的虚拟机创建流程图。Fig. 2 is a flow chart of creating a virtual machine according to an embodiment of the present invention.
图3是本发明实施例的虚拟机状态查询流程图。FIG. 3 is a flow chart of virtual machine status query according to an embodiment of the present invention.
图4是本发明实施例的虚拟机状态控制流程图。FIG. 4 is a flow chart of virtual machine state control according to an embodiment of the present invention.
图5是本发明实施例的虚拟机服务动态集成流程图。Fig. 5 is a flowchart of dynamic integration of virtual machine services according to an embodiment of the present invention.
图6是本发明实施例的嵌入式Linux系统调试流程图。Fig. 6 is a flowchart of debugging the embedded Linux system according to the embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
本发明的目的在于提供一种云端异构虚拟化数字仿真平台,为用户提供搭建并管理多CPU体系结构虚拟机的服务。平台通过云端部署支持多用户并发访问,用户只需在本地安装SDK,部署简单,灵活性高,并且可以极大程度节省本地存储空间。The purpose of the present invention is to provide a cloud heterogeneous virtualization digital simulation platform, which provides users with the service of building and managing multi-CPU architecture virtual machines. The platform supports concurrent access by multiple users through cloud deployment. Users only need to install the SDK locally. The deployment is simple, the flexibility is high, and the local storage space can be greatly saved.
具体地,图1是本发明实施例提供的一种云端异构虚拟化数字仿真平台的架构示意图,平台包括云端虚拟机生成和运行环境、云端平台接入框架、本地用户访问接口、自定义网络通信协议。Specifically, Fig. 1 is a schematic diagram of the architecture of a cloud heterogeneous virtualized digital simulation platform provided by an embodiment of the present invention. The platform includes a cloud virtual machine generation and operating environment, a cloud platform access framework, a local user access interface, and a custom network letter of agreement.
云端虚拟机生成和运行环境架设在云端高性能服务器,提供Windows和Linux两种宿主环境,提供虚拟机创建和运行所需的资源。宿主环境基于QEMU进行虚拟机硬件仿真,具体包括:CPU、内存、网卡、硬盘、FLASH、SD卡和串口七种硬件设备,其中,CPU支持X86、ARM、RISC-V、PowerPC、MIPS、SPARC等体系结构;内存支持至少一个插槽,单槽大小可配置;网卡的网络后端模式支持tap、user和bridge三种;硬盘支持hda、sda和vda三种类型;FLASH和SD属于外置设备,大小可配置;对串口类型的支持依据虚拟机体系结构而变,串口波特率可更改。The cloud virtual machine generation and running environment is set up on a high-performance server in the cloud, providing two host environments of Windows and Linux, and providing the resources required for virtual machine creation and operation. The host environment is based on QEMU for virtual machine hardware emulation, including seven hardware devices: CPU, memory, network card, hard disk, FLASH, SD card and serial port. Among them, the CPU supports X86, ARM, RISC-V, PowerPC, MIPS, SPARC, etc. Architecture; the memory supports at least one slot, and the size of a single slot can be configured; the network back-end mode of the network card supports three types: tap, user, and bridge; the hard disk supports three types: hda, sda, and vda; FLASH and SD are external devices. The size is configurable; the support for the serial port type varies according to the virtual machine architecture, and the serial port baud rate can be changed.
进一步地,云端虚拟机生成和运行环境提供四种虚拟机的创建和运行依赖的文件池,具体包括:Furthermore, the cloud virtual machine generation and running environment provides four kinds of file pools on which the creation and running of virtual machines depend, including:
(1)虚拟机依赖文件池,包含适配X86、ARM、RISC-V、PowerPC、MIPS、SPARC等体系结构的uboot启动文件、设备树文件和固件程序等;(1) The virtual machine depends on the file pool, including uboot startup files, device tree files, and firmware programs adapted to X86, ARM, RISC-V, PowerPC, MIPS, SPARC and other architectures;
(2)OS镜像池,包含至少六种体系结构、三种类型(Debian、CentOS、内核镜像)、多版本(Debian 9.x、Debian 10.x、Debian 11.x、CentOS 7.x、CentOS8.x、Linux Kernel2.x、Linux Kernel 3.x、Linux Kernel 4.x、Linux Kernel 5.x)的OS镜像,根据镜像文件的不同,虚拟机的运行模式支持GUI(图形用户界面)和CLI(命令行接口)两种模式,用户可以指定使用一种;(2) OS image pool, including at least six architectures, three types (Debian, CentOS, kernel image), multiple versions (Debian 9.x, Debian 10.x, Debian 11.x, CentOS 7.x, CentOS8 .x, Linux Kernel2.x, Linux Kernel 3.x, Linux Kernel 4.x, Linux Kernel 5.x) OS image, depending on the image file, the operating mode of the virtual machine supports GUI (Graphical User Interface) and CLI (command line interface) two modes, the user can specify to use one;
(3)服务配置一体化池,为了便于在虚拟机中集成服务(ssh、cron、tftp、vncserver、gdbserver等),提供X86、ARM、RISC-V、PowerPC、MIPS、SPARC等不同体系结构的服务程序和安装配置脚本;(3) Service configuration integration pool, in order to facilitate the integration of services (ssh, cron, tftp, vncserver, gdbserver, etc.) Program and installation configuration scripts;
(4)开源库和软件池,结合开源代码和交叉编译工具链,提供开源库和软件(gcc、gdb、vim等)。(4) Open source libraries and software pools, combined with open source code and cross-compilation tool chains, provide open source libraries and software (gcc, gdb, vim, etc.).
同时,云端虚拟机生成和运行环境维护一个文件记录表,记录文件池中文件名到文件路径的索引,便于迅速查询和使用文件。At the same time, the cloud virtual machine generation and operating environment maintains a file record table, which records the index from the file name to the file path in the file pool, which is convenient for quickly querying and using files.
云端虚拟机生成和运行环境对每一台虚拟机进行RootFS适配,构建RootFS需要文件池的支持;平台使用Busybox工具和交叉编译工具链生成基础RootFS目录,然后将文件池中的服务程序和开源软件集成到RootFS中,最后将RootFS压缩成虚拟机可以挂载的initramfs,这样虚拟机就可以包含更多服务和软件。The cloud virtual machine generation and running environment adapts RootFS to each virtual machine, and the construction of RootFS requires the support of the file pool; the platform uses the Busybox tool and the cross-compilation tool chain to generate the basic RootFS directory, and then integrates the service program in the file pool with the open source The software is integrated into RootFS, and finally the RootFS is compressed into an initramfs that the virtual machine can mount, so that the virtual machine can contain more services and software.
云端虚拟机生成和运行环境为了防止多个虚拟机使用宿主机资源时发生抢占和冲突,如IP地址冲突、端口冲突等,对虚拟机的运行环境和使用资源做隔离,提高虚拟机的安全性,具体为:为每一个虚拟机创建一个工作目录,在启动虚拟机之前,将虚拟机的依赖文件从文件池中拷贝到目标虚拟机的工作目录下,保证依赖文件的隔离;云端维护一个数据记录表,记录已被占用的IP地址及IP地址下已被占用的端口号,在收到本地用户传来的虚拟机生成指令之后,解析指令中涉及到的IP地址与端口号,查询数据记录表中是否存在此IP地址和端口号,如果不存在,则表明IP地址和端口可用,如果已存在,则终止虚拟机生成,并向用户反馈冲突的具体情况。Cloud virtual machine generation and operating environment In order to prevent multiple virtual machines from preempting and conflicting when using host resources, such as IP address conflicts, port conflicts, etc., the operating environment of the virtual machine and the resources used are isolated to improve the security of the virtual machine , specifically: create a working directory for each virtual machine, copy the dependent files of the virtual machine from the file pool to the working directory of the target virtual machine before starting the virtual machine, and ensure the isolation of dependent files; the cloud maintains a data Record table, which records the occupied IP address and the occupied port number under the IP address. After receiving the virtual machine generation instruction from the local user, analyze the IP address and port number involved in the instruction, and query the data record Check whether the IP address and port number exist in the table. If not, it indicates that the IP address and port number are available. If they exist, the generation of the virtual machine is terminated, and the specific situation of the conflict is reported to the user.
云端平台接入框架作为中间层负责用户访问控制和虚拟机管理,包括用户管理子模块和虚拟机管理子模块。用户管理子模块维护一个用户数据库,用于存储用户的账号密码,用户数据库中存储的的用户数据使用加密算法加密,保证数据的安全。虚拟机管理子模块作为桥梁控制本地用户访问接口与云端虚拟机生成和运行环境之间的信息流转,通过对自定义网络通信协议的解析,实现虚拟机配置管理、虚拟机状态查询、虚拟机状态控制、虚拟机信息数据转发。The cloud platform access framework, as the middle layer, is responsible for user access control and virtual machine management, including user management sub-modules and virtual machine management sub-modules. The user management sub-module maintains a user database for storing user account passwords, and the user data stored in the user database is encrypted using an encryption algorithm to ensure data security. The virtual machine management sub-module acts as a bridge to control the information flow between the local user access interface and the cloud virtual machine generation and operating environment. By analyzing the custom network communication protocol, it realizes virtual machine configuration management, virtual machine status query, and virtual machine status Control, virtual machine information data forwarding.
本地用户访问接口是用户在本地安装的软件,提供可视化的界面,便于用户与云端平台交互。用户可以在本地完成身份注册之后登录平台,进行虚拟机配置、虚拟机状态查询与控制、代码远程调试。本地用户访问接口特别支持以SDK形式发布,提供与云端交互的四种主流编程语言(Java、Python、C++、Go)的API,并提供开发规范文档,开发者可以基于接口协议在本地进行PC客户端、Web应用程序、插件等多种形式的软件开发。The local user access interface is software installed locally by the user, which provides a visual interface for the user to interact with the cloud platform. Users can log in to the platform after completing identity registration locally to perform virtual machine configuration, virtual machine status query and control, and code remote debugging. The local user access interface especially supports publishing in the form of SDK, provides APIs of four mainstream programming languages (Java, Python, C++, Go) interacting with the cloud, and provides development specification documents, and developers can implement PC clients locally based on the interface protocol. Various forms of software development such as terminals, web applications, plug-ins, etc.
自定义网络通信协议是云端服务器集群之间以及本地用户访问接口和云端平台接入框架进行通信的规范,它是基于TCP协议的用户层协议,用来同步云端服务器之间以及用户端和云端平台接入框架之间的信息交换,协调平台各部分的功能运转,同时通信协议提供安全加密策略,保证数据传输的安全性。自定义网络通信协议具体包括内部通信协议和用户通信协议两种。The custom network communication protocol is a specification for communication between cloud server clusters and the local user access interface and cloud platform access framework. It is a user layer protocol based on the TCP protocol and is used to synchronize between cloud servers and between the client and the cloud platform. The information exchange between access frameworks coordinates the functional operation of each part of the platform, and the communication protocol provides a secure encryption strategy to ensure the security of data transmission. The custom network communication protocol specifically includes two types of internal communication protocol and user communication protocol.
内部通信协议是云端平台接入框架和云端虚拟机生成和运行环境进行信息交换的协议,它是一个基于TCP的用户层协议,具有控制流和数据流两种连接方式。The internal communication protocol is a protocol for information exchange between the cloud platform access framework and the cloud virtual machine generation and operating environment. It is a TCP-based user layer protocol with two connection modes: control flow and data flow.
控制流连接用来传输虚拟机生成配置信息、操作指令(虚拟机的启动、挂起、重启和关闭)、动态功能集成信息、操作返回码。The control flow connection is used to transmit configuration information generated by the virtual machine, operation instructions (starting, suspending, restarting and shutting down of the virtual machine), dynamic function integration information, and operation return codes.
虚拟机生成配置信息格式:Virtual machine generation configuration information format:
操作指令格式:Operation instruction format:
动态功能集成信息格式:Dynamic function integration information format:
操作返回码格式:Operation return code format:
数据流连接传输用户输入到虚拟机的信息和虚拟机输出的信息。Data stream connections carry information that the user enters into the virtual machine and information that goes out of the virtual machine.
用户输入到虚拟机的信息格式:The format of the information entered by the user into the virtual machine:
虚拟机输出信息格式:Virtual machine output information format:
用户通信协议是本地用户访问接口和云端平台接入框架进行信息交换的协议,也是一个基于TCP的用户层协议,用于用户登录权限访问和虚拟机信息传输。登录权限访问传输的是控制用户的注册登录、权限访问的数据信息,具有单次传输信息量小、条目多和控制复杂的特点;虚拟机信息传输的是用户和虚拟机交互的信息,包括用户向虚拟机输入的内容和虚拟机返回的输出,具有单次传输信息量大、保持时间长和控制简单的特点。The user communication protocol is a protocol for information exchange between the local user access interface and the cloud platform access framework. It is also a TCP-based user layer protocol for user login access and virtual machine information transmission. Login authority access transfers the data information that controls the user's registration, login, and authority access. It has the characteristics of small amount of information, many items, and complex control in a single transmission; the virtual machine information transmits information about the interaction between the user and the virtual machine, including user The content input to the virtual machine and the output returned by the virtual machine have the characteristics of a large amount of information in a single transmission, a long retention time and simple control.
访问请求格式:Access request format:
虚拟机信息格式:Virtual machine information format:
虚拟机状态查询与控制请求格式:Virtual machine status query and control request format:
此外,对于数据的传输,平台采取RSA非对称加密算法,保证数据传输安全,同时优化算法的加解密过程,提高平台数据传输效率。In addition, for data transmission, the platform adopts the RSA asymmetric encryption algorithm to ensure the security of data transmission, and at the same time optimizes the encryption and decryption process of the algorithm to improve the efficiency of platform data transmission.
图2是本发明实施例的虚拟机创建流程图。Fig. 2 is a flow chart of creating a virtual machine according to an embodiment of the present invention.
用户首先在本地远程访问云服务器,输入账号密码进行注册,用户的账号密码在云端用户数据库中加密存储,注册完成之后,用户输入账户密码登录平台,云端平台验证用户的账户密码是否有误,如果正确,则准许用户进入平台。The user first remotely accesses the cloud server locally and enters the account password to register. The user's account password is encrypted and stored in the cloud user database. After the registration is completed, the user enters the account password to log in to the platform, and the cloud platform verifies whether the user's account password is correct. If correct, the user is allowed to enter the platform.
用户成功登录平台之后,在本地虚拟机配置界面根据实际需求对虚拟机的硬件参数进行配置,可配置内容包括:CPU架构、内存槽数、内存单槽大小、硬盘类型(had、sda、vda)、硬盘容量、网卡模式(tap、user、bridge)、IP地址、串口波特率、FLASH设备容量、SD卡容量、OS镜像(可以选择多类型、多版本的操作系统镜像)、IP地址、GDB调试端口号、虚拟机宿主环境(Windows、Linux)、交互方式(GUI、CLI)、虚拟机启动方式(Uboot启动、直接启动)。本发明提供一种虚拟机参数配置模板文件,用户自定义的参数将写入虚拟机配置模板文件中,以json格式存储,模板文件的格式和内容如下:After the user successfully logs in to the platform, configure the hardware parameters of the virtual machine on the local virtual machine configuration interface according to actual needs. The configurable content includes: CPU architecture, number of memory slots, size of single memory slot, hard disk type (had, sda, vda) , hard disk capacity, network card mode (tap, user, bridge), IP address, serial port baud rate, FLASH device capacity, SD card capacity, OS image (multiple types and versions of the operating system image can be selected), IP address, GDB Debugging port number, virtual machine host environment (Windows, Linux), interactive mode (GUI, CLI), virtual machine startup mode (Uboot startup, direct startup). The present invention provides a virtual machine parameter configuration template file. User-defined parameters will be written into the virtual machine configuration template file and stored in json format. The format and content of the template file are as follows:
用户配置完成之后,将配置文件上传到云端平台接入框架,云端平台接入框架对配置文件数据进行封装,添加协议流ID和目标虚拟机ID,组成控制流数据发送给虚拟机生成和运行环境,虚拟机生成和运行环境接收到云端平台接入框架传来的控制流数据后,解析数据中的虚拟机配置信息,获取文件池中虚拟机依赖文件路径(包括适配的RootFS)。After the user configuration is completed, the configuration file is uploaded to the cloud platform access framework, and the cloud platform access framework encapsulates the configuration file data, adds the protocol flow ID and the target virtual machine ID, and forms the control flow data and sends it to the virtual machine generation and operating environment After the virtual machine generation and operating environment receives the control flow data from the cloud platform access framework, it parses the virtual machine configuration information in the data, and obtains the virtual machine dependent file path (including the adapted RootFS) in the file pool.
在虚拟机启动和运行之前,平台查询数据记录表中是否存在配置文件中的IP地址和端口号,如果已存在,则终止虚拟机生成,并向用户反馈冲突的具体情况;如果不存在,则表明IP地址和端口可用,然后平台为目标虚拟机创建一个工作目录,将虚拟机的依赖文件从文件池中拷贝到目标虚拟机的工作目录下。接着,针对用户所选择的虚拟机宿主平台,生成对应的bat脚本(Windows平台)或者shell脚本(Linux平台),利用脚本文件生成和启动虚拟机。Before the virtual machine is started and running, the platform queries whether the IP address and port number in the configuration file exist in the data record table. If it exists, the generation of the virtual machine will be terminated and the specific situation of the conflict will be fed back to the user; if it does not exist, the Indicate that the IP address and port are available, and then the platform creates a working directory for the target virtual machine, and copies the dependent files of the virtual machine from the file pool to the working directory of the target virtual machine. Next, for the virtual machine host platform selected by the user, generate a corresponding bat script (Windows platform) or shell script (Linux platform), and use the script file to generate and start the virtual machine.
图3是本发明实施例的虚拟机状态查询流程图。FIG. 3 is a flow chart of virtual machine status query according to an embodiment of the present invention.
用户可以在本地对远程虚拟机的状态进行查询,虚拟机状态包括开机、运行、关机、挂起,用户根据通信协议,向虚拟机管理子模块发送虚拟机状态查询请求,虚拟机管理子模块解析请求中的vm_query参数,获取目标虚拟机ID,向虚拟机生成和运行环境转发查询请求;虚拟机生成和运行环境查询宿主机中虚拟机进程状态,将查询结果通过数据流连接返回给用户。The user can query the status of the remote virtual machine locally. The status of the virtual machine includes startup, running, shutdown, and suspension. The user sends a virtual machine status query request to the virtual machine management sub-module according to the communication protocol, and the virtual machine management sub-module analyzes The vm_query parameter in the request obtains the ID of the target virtual machine, and forwards the query request to the virtual machine generation and running environment; the virtual machine generation and running environment queries the status of the virtual machine process in the host machine, and returns the query result to the user through the data flow connection.
图4是本发明实施例的虚拟机状态控制流程图。FIG. 4 is a flow chart of virtual machine state control according to an embodiment of the present invention.
用户可以在本地对远程虚拟机的状态进行控制,用户根据通信协议,向虚拟机管理子模块发送状态控制请求,虚拟机管理子模块解析请求中的vm_control参数,根据参数内容向虚拟机生成和运行环境发送虚拟机控制操作指令,实现对虚拟机的开机、关机、挂起等操作。The user can control the state of the remote virtual machine locally. The user sends a state control request to the virtual machine management submodule according to the communication protocol. The virtual machine management submodule parses the vm_control parameter in the request and generates and runs the virtual machine according to the parameter content. The environment sends virtual machine control operation instructions to implement operations such as starting, shutting down, and suspending the virtual machine.
图5是本发明实施例的虚拟机服务动态集成流程图。Fig. 5 is a flowchart of dynamic integration of virtual machine services according to an embodiment of the present invention.
在虚拟机生成和启动之后,用户可以向虚拟机中动态集成新的服务和软件,即利用文件池集成新的程序到虚拟机RootFS,其具体步骤为:After the virtual machine is generated and started, the user can dynamically integrate new services and software into the virtual machine, that is, use the file pool to integrate new programs into the virtual machine RootFS. The specific steps are:
S1、保存虚拟机快照;S1. Save the snapshot of the virtual machine;
S2、停止虚拟机;S2, stop the virtual machine;
S3、拷贝文件池中的软件和配置文件到虚拟机RootFS;S3, copy the software and configuration files in the file pool to the virtual machine RootFS;
S4、从第一步保存的快照重新运行虚拟机;S4, rerun the virtual machine from the snapshot saved in the first step;
S5、使用新集成的服务和软件。S5. Using newly integrated services and software.
图6是本发明实施例的嵌入式Linux系统调试流程图。Fig. 6 is a flowchart of debugging the embedded Linux system according to the embodiment of the present invention.
平台支持用户远程对嵌入式Linux系统代码进行调试,每一台云端嵌入式Linux虚拟机都装载GDBServer服务程序,用户从云端开源库和软件池中下载对应CPU架构的GDB文件,云端嵌入式Linux系统根据配置过程中指定的GDB调试端口号,开启GDBServer服务,具体命令为:gdbserver<host-ip>:port filename其中,<host-ip>为宿主机的ip地址,port为配置过程中指定的调试端口号,filename为需要调试的程序的文件名称。The platform supports users to remotely debug the code of the embedded Linux system. Each cloud embedded Linux virtual machine is loaded with the GDBServer service program. Users download the GDB file corresponding to the CPU architecture from the cloud open source library and software pool. The cloud embedded Linux system According to the GDB debugging port number specified in the configuration process, start the GDBServer service, the specific command is: gdbserver<host-ip>:port filename Among them, <host-ip> is the IP address of the host machine, and port is the debugging specified in the configuration process Port number, filename is the file name of the program to be debugged.
用户在本地使用已下载的GDB文件远程连接到云端嵌入式Linux虚拟机中的GDBServer端口,进行程序的跨架构调试,远程连接的命令为:target remote<target-board-ip>:port其中,<target-board-ip>为云端嵌入式Linux系统的ip地址,port为配置过程中指定的调试端口号。The user locally uses the downloaded GDB file to remotely connect to the GDBServer port in the embedded Linux virtual machine in the cloud for cross-architecture debugging of the program. The remote connection command is: target remote<target-board-ip>:port where, < target-board-ip> is the ip address of the embedded Linux system in the cloud, and port is the debugging port number specified in the configuration process.
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。The above-mentioned embodiments are only to illustrate the technical concept and characteristics of the present invention, and the purpose is to enable those skilled in the art to understand the content of the present invention and implement it accordingly, and not to limit the protection scope of the present invention. All equivalent changes or modifications made according to the spirit of the present invention shall fall within the protection scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211360070.9A CN115629843A (en) | 2022-11-02 | 2022-11-02 | A Cloud Heterogeneous Virtualization Digital Simulation Platform |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211360070.9A CN115629843A (en) | 2022-11-02 | 2022-11-02 | A Cloud Heterogeneous Virtualization Digital Simulation Platform |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN115629843A true CN115629843A (en) | 2023-01-20 |
Family
ID=84908933
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211360070.9A Pending CN115629843A (en) | 2022-11-02 | 2022-11-02 | A Cloud Heterogeneous Virtualization Digital Simulation Platform |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115629843A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116107548A (en) * | 2023-04-13 | 2023-05-12 | 中国科学院长春光学精密机械与物理研究所 | Cross-platform integrated software architecture |
| CN116302363A (en) * | 2023-05-16 | 2023-06-23 | 苏州浪潮智能科技有限公司 | Virtual machine creation method, system, computer equipment and storage medium |
| CN116820657A (en) * | 2023-08-30 | 2023-09-29 | 北京创易云互联科技有限公司 | Intelligent virtualized logic algorithm based on Docker and AI technology |
| CN117369734A (en) * | 2023-12-08 | 2024-01-09 | 浪潮电子信息产业股份有限公司 | Storage resource management system, method and storage virtualization system |
| CN119312403A (en) * | 2024-12-17 | 2025-01-14 | 安徽海马云科技股份有限公司 | Method and device for implementing x86 cloud application file isolation |
| CN119376864A (en) * | 2024-12-31 | 2025-01-28 | 浙江沐恩网络科技有限公司 | A cloud browser service system for feature phones |
-
2022
- 2022-11-02 CN CN202211360070.9A patent/CN115629843A/en active Pending
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116107548A (en) * | 2023-04-13 | 2023-05-12 | 中国科学院长春光学精密机械与物理研究所 | Cross-platform integrated software architecture |
| CN116107548B (en) * | 2023-04-13 | 2023-07-04 | 中国科学院长春光学精密机械与物理研究所 | Cross-platform integrated software system |
| CN116302363A (en) * | 2023-05-16 | 2023-06-23 | 苏州浪潮智能科技有限公司 | Virtual machine creation method, system, computer equipment and storage medium |
| CN116302363B (en) * | 2023-05-16 | 2023-08-04 | 苏州浪潮智能科技有限公司 | A virtual machine creation method, system, computer equipment and storage medium |
| CN116820657A (en) * | 2023-08-30 | 2023-09-29 | 北京创易云互联科技有限公司 | Intelligent virtualized logic algorithm based on Docker and AI technology |
| CN117369734A (en) * | 2023-12-08 | 2024-01-09 | 浪潮电子信息产业股份有限公司 | Storage resource management system, method and storage virtualization system |
| CN117369734B (en) * | 2023-12-08 | 2024-03-08 | 浪潮电子信息产业股份有限公司 | Storage resource management system, method and storage virtualization system |
| CN119312403A (en) * | 2024-12-17 | 2025-01-14 | 安徽海马云科技股份有限公司 | Method and device for implementing x86 cloud application file isolation |
| CN119376864A (en) * | 2024-12-31 | 2025-01-28 | 浙江沐恩网络科技有限公司 | A cloud browser service system for feature phones |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11550564B1 (en) | Automating application of software patches to a server having a virtualization layer | |
| CN115629843A (en) | A Cloud Heterogeneous Virtualization Digital Simulation Platform | |
| US10095496B2 (en) | Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud infrastructure | |
| CN109154888B (en) | Super fusion system equipped with coordinator | |
| US11941452B2 (en) | System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint | |
| US9710259B2 (en) | System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure | |
| US10031783B2 (en) | Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure | |
| US20180039507A1 (en) | System and method for management of a virtual machine environment | |
| CN104113574B (en) | Safe transfer method and system of wide area network trusted virtual machine | |
| US9940148B1 (en) | In-place hypervisor updates | |
| CN111459606A (en) | Method for quickly creating virtual machine under virtualization and server | |
| US20240160431A1 (en) | Technologies to update firmware and microcode | |
| Hale et al. | Electrical Engineering and Computer Science Department | |
| CN111708553A (en) | Terminal and system for background updating of desktop mirror image | |
| US8973019B1 (en) | Method and system for emulation of super speed devices in virtual machines | |
| Holt et al. | Embedded operating systems | |
| CN115509590B (en) | Continuous deployment method and computer equipment | |
| CN116881929A (en) | Safety protection methods, devices, electronic equipment and substrate controller chips | |
| CN116069584A (en) | Extending monitoring services into trusted cloud operator domains | |
| CN107562518B (en) | Graphics card ROM extraction and collection system and method based on KVM virtualization technology | |
| CN112835595B (en) | Method, device, equipment and medium for running AIX system on small core architecture | |
| Hansen | Virtual machine mobility with self-migration | |
| Kourai et al. | Virtual AMT for Unified Management of Physical and Virtual Desktops | |
| Toivanen | OpenDataPlane (ODP) as a Part of a Linux Operating System Image Built with Yocto Project | |
| WO2024008066A1 (en) | Cloud computing technology-based server and cloud system |
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 |