CN107704312A - 一种使qemu‑kvm虚拟机执行任意命令的方法及存储介质 - Google Patents
一种使qemu‑kvm虚拟机执行任意命令的方法及存储介质 Download PDFInfo
- Publication number
- CN107704312A CN107704312A CN201710969898.7A CN201710969898A CN107704312A CN 107704312 A CN107704312 A CN 107704312A CN 201710969898 A CN201710969898 A CN 201710969898A CN 107704312 A CN107704312 A CN 107704312A
- Authority
- CN
- China
- Prior art keywords
- qemu
- order
- virtual machine
- guest
- host
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
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
本申请公开了一种使qemu‑kvm虚拟机执行任意命令的方法及存储介质。该方法包括:在可编译源码的系统中增加qemu‑guest‑agent格式接口;宿主机调用qemu‑guest‑agent格式接口,输入要执行的命令及其参数;命令及其参数通过虚拟机中的qemu‑guest‑agent通信机制传入虚拟机内部;虚拟机内部的qemu‑guest‑agent守护进程获取所述命令及其参数;虚拟机内部执行命令;返回命令是否成功。本发明示例的技术方案,实现宿主机对虚拟机的完全控制及对虚拟机的个性化定制,让虚拟机执行任意内部命令,方便快捷。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种使qemu-kvm虚拟机执行任意命令的方法及存储介质。
背景技术
当前qemu-kvm虚拟机实现的qemu-guest-agent注入方法中,只有有限的几个注入方法。当在宿主机上使用其中的任一注入方法时,虚拟机内部的qemu-guest-agent守护进程只能实现对应的一种功能,相当于只能在虚拟机内部执行对应的一条固定的命令,即一个注入方法对应一条固定的命令,宿主机中无法直接让虚拟机完成任意命令,无法方便快捷的实现对虚拟机的完全控制及对虚拟机的个性化定制。
目前的注入方法中,比较技巧性的在虚拟机中执行任意命令的方法是“将所要执行的命令通过qemu-guest-agent现有的注入方法写入到虚拟机内的文件中,再使用现有的注入方法执行虚拟机内部被写入的文件”,从而实现在虚拟机中执行任意命令的效果。
现有的qemu-kvm虚拟机注入方法,或者是无法直接在虚拟机中执行任意命令,或者是可以执行任意命令,但技巧性强、步骤繁琐、缺乏便利性。
发明内容
鉴于现有技术中的上述缺陷或不足,本发明的目的在于提供一种使qemu-kvm虚拟机执行任意命令的方法及存储介质,可使虚拟机在宿主机的控制下实现执行任意命令,且操作便捷。
根据本发明的一个方面,提供了一种使qemu-kvm虚拟机执行任意命令的方法,所述方法包括:
在可编译源码的系统中增加qemu-guest-agent格式接口;
宿主机调用所述qemu-guest-agent格式接口,输入要执行的命令及其参数;
所述命令及其参数通过虚拟机中的qemu-guest-agent通信机制传入虚拟机内部;
虚拟机内部的qemu-guest-agent守护进程获取所述命令及其参数;
虚拟机内部执行命令;
返回命令是否成功。
进一步的,所述在可编译源码的系统中增加qemu-guest-agent格式接口,包括:
在可编译源码的系统中接收qemu-guest-agent源码包的安装;
在可编译源码的系统中接收qemu-guest-agent守护进程源码文件的修改。
进一步的,所述宿主机调用所述qemu-guest-agent格式接口时,通过libvirt API接口进行调用。libvirt API接口是指开源开发接口。
进一步的,所述宿主机调用所述qemu-guest-agent格式接口之前,还包括:宿主机接收可以调用qemu-guest-agent格式接口的软件包的安装,包括:
根据VM系统类型决定是否提取Microsoft VSS SDK头文件;
配置;
编译;
运行。
进一步的,还包括:
所述虚拟机通过读写端口文件与所述宿主机进行数据交互。
进一步的,所述虚拟机通过读写端口文件与所述宿主机进行数据交互,包括:
宿主机通过端口通信装置为虚拟机分配端口文件;
启动宿主机端口通信服务对所述端口文件进行读写操作,所述虚拟机通过读写所述端口文件与所述宿主机进行数据交互。
进一步的,所述虚拟机通过读写所述端口文件与所述宿主机进行数据交互,还包括:通过宿主机对所述端口文件进行监控。
进一步的,所述虚拟机内部执行命令,包括:
在所述qemu-guest-agent格式接口内调用system函数执行传递进来的虚拟机内部命令。
进一步的,所述虚拟机内部执行命令为在宿主机控制下,虚拟机执行任意内部命令。
根据本发明另一方面,提供了一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如本发明示例的任一种使qemu-kvm虚拟机执行任意命令的方法。
与现有技术相比,本发明的有益效果为:
1、本发明示例的使qemu-kvm虚拟机执行任意命令的方法,在宿主机的控制下让虚拟机执行任意命令,实现了宿主机对虚拟机的完全控制及对虚拟机的个性化定制。同时,本发明示例的方法,在使qemu-kvm虚拟机执行任意命令时,只需要发送一条命令,即操作一次,即可实现效果;而目前已知的技术若要实现让虚拟机执行任意命令,所采用的方法为:“将所要执行的命令通过qemu-guest-agent现有的注入方法写入到虚拟机内的文件中,再使用现有的注入方法执行虚拟机内部被写入的文件”,现有方法在将命令写入到虚拟机内部时,需要分别使用“打开文件、写入文件、关闭打开的文件”这些注入方法,需要进行多个步骤的操作,技巧性强且步骤繁琐。因此,本发明示例的方法与目前已知的技术相比,步骤简洁,操作便利。
2、本发明示例的存储介质,其所存储的程序在被处理器执行时可使qemu-kvm虚拟机在宿主机的控制下执行任意命令,无需很高的专业技巧,具有很强的操作性和实用性,适用范围广。
附图说明
图1为本发明的一个实施例使qemu-kvm虚拟机执行任意命令的方法的示例性流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,本实施例提供了一种qemu-kvm虚拟机执行任意命令的注入方法,包括:
S1:在可编译源码的系统中增加qemu-guest-agent格式接口;
S2:宿主机调用所述qemu-guest-agent格式接口,输入要执行的命令及其参数;
S3:所述命令及其参数通过虚拟机中的qemu-guest-agent通信机制传入虚拟机内部;
S4:虚拟机内部的qemu-guest-agent守护进程获取所述命令及其参数;
S5:虚拟机内部执行命令;
S6:返回命令是否成功。
步骤S1中,在可编译源码的系统中增加qemu-guest-agent格式接口,包括:
S11:在可编译源码的系统中接收qemu-guest-agent源码包的安装;
S12:在可编译源码的系统中接收qemu-guest-agent守护进程源码文件的修改。
宿主机调用qemu-guest-agent格式接口之前,还包括:宿主机接收可以调用qemu-guest-agent格式接口的软件包的安装,包括:
S13:根据VM系统类型决定是否提取Microsoft VSS SDK头文件;
S14:配置;
S15:编译;
S16:运行。
可编译源码的系统中增加的qemu-guest-agent格式接口需要在两个源码文件中得到体现,文件分别是源代码目录中的qga/qapi-schema.json和qga/commands-posix.c,这两个文件中的新增内容相互对应。
qga/qapi-schema.json中的内容:
{'command':'exe-cmd',
'data':{'cmd':'str'},
'returns':'int'}
其中,
command:表示这个接口是一条命令;
exe-cmd:qemu-guest-agent格式接口的名称,也可以修改为其它字符串;
data:表示qemu-guest-agent格式接口需要传入参数;
cmd:表示传入参数后,可以从cmd中获取参数内容;
str:表示传入的参数是字符串形式;
returns:表示qemu-guest-agent格式接口需要返回值;
int:表示qemu-guest-agent格式接口返回值是整数。
qga/commands-posix.c中的内容:
其中,
qmp_exe_cmd:对应于前述的新接口名称“exe-cmd”;
cmd:可以从cmd中获取参数内容;
int64_t:表示返回值是整数。
在上述qemu-guest-agent格式接口的具体描述中,cmd中的参数可以是任意命令,这样一来,可以通过qemu-guest-agent格式接口将任意命令传进虚拟机中,从而执行任意命令。
qemu-guest-agent格式接口可以通过libvirt API来使用。在virsh命令中使用形式是:virsh qemu-agent-command vm_name--cmd'{"execute":"exe-cmd","arguments":{"cmd":"cmd_str"}}'。virsh基于libvirt API开发。
其中vm_name为虚拟机名称,cmd_str是要执行的命令。在linux系统虚拟机中执行ls命令的示例:virsh qemu-agent-command vm--cmd'{"execute":"exe-cmd","arguments":{"cmd":"ls"}}'。其中,虚拟机名称是vm。
在创建安装程序之前需要在虚拟机中安装qemu-guest-agent,以在可编译源码的系统中增加qemu-guest-agent格式接口,以centos6.6,windows server 2008r2sp1虚拟机为例,具体安装程序创建步骤为:
一、windows server 2008r2sp1安装程序创建步骤:
1.linux宿主机(假设为centOS)系统中安装可以调用qemu-guest-agent格式接口的所需软件包为:
yum install mingw64-pixman mingw64-glib2mingw64-gmp mingw64-SDLglib2-devel mingw64-pkg-config rpm-build libfdt-devel pixman-devel zlib-devellibaio-devel libcap-devel libiscsi-devel SDL-devel texi2html gnutls-develcyrus-sasl-devel libtool pciutils-devel pulseaudio-libs-devel ncurses-devellibattr-devel libusbx-devel usbredir-devel texinfo spice-protocol spice-server-devel libseccomp-devel libcurl-devel libssh2-devel librados2-devellibrbd1-devel glusterfs-api-devel glusterfs-devel systemtap-sdt-devel nss-devel libjpeg-devel libpng-devel libuuid-devel bluez-libs-devel brlapi-develcheck-devel librdmacm-devel gperftools-devel iasl lzo-devel snappy-develnumactl-devel
2.安装源码包
执行命令:rpm-i qemu-guest-agent-2.3.0-4.el7.src.rpm
安装完成后,会生成~/rpmbuild。
3.修改相关源码文件
(1)rpmbuild-bp~/rpmbuild/SPECS/qemu-guest-agent.spec
(2)mkdir-p~/tmp
(3)cp-r~/rpmbuild/BUILD/qemu-2.3.0/~/tmp/qemu-2.3.0.new
(4)vim~/tmp/qemu-2.3.0.new/qga/qapi-schema.json
添加如下内容(注意格式与文档中已有内容保持一致,否则编绎可能会挂起):
{'command':'exe-cmd',
'data':{'cmd':'str'},
'returns':'int'}
(5)vim~/tmp/qemu-2.3.0.new/qga/commands-win32.c
添加如下内容:
4.提取Microsoft VSS SDK头文件
下载Microsoft VSS SDK
https://www.microsoft.com/en-us/download/details.aspx?id=23490,下载完成后,提取VSS SDK的头文件目录,有两种提取方法。
方法一:
在windows系统中安装VSS SDK,从中复制inc目录,放到开发机的~/tmp目录下。
方法二:
将VSS SDK复制到开发机目录~/tmp,执行以下命令:
yum install msitools
cd~/tmp
~/tmp/qemu-2.3.0.new/scripts/extract-vsssdk-headers
~/tmp/VSS SDK
5.配置
(1)cd~/tmp/qemu-2.3.0.new
(2)./configure--enable-guest-agent--with-vss-sdk=$(pwd)/../
--cross-prefix=x86_64-w64-mingw32-
6.编译
make qemu-ga.exe
生成的程序位于~/tmp/qemu-2.3.0.new/qemu-ga.exe
7.运行(执行此步骤前需要先在虚拟机中安装qemu-guest-agent)
(1)windows server 2008r2
a、停掉qemu-guest-ga服务
b、将下述文件
~/tmp/qemu-2.3.0.new/qemu-ga.exe
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll
复制到c:\Program Files\qemu-ga目录下
c、重启qemu-guest-ga服务
(2)windows server 2012r2
a、停掉qemu-guest-ga服务
b、将下述文件
~/tmp/qemu-2.3.0.new/qemu-ga.exe
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/iconv.dll
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libglib-2.0-0.dll
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libintl-8.dll
复制到c:\Program Files\qemu-ga目录下
c、重启qemu-guest-ga服务
注:windows中的qemu-ga从virtio的驱动光盘镜像中安装。
二、以qemu-kvm-0.12.1.2-2.491.el6_8.1.src.rpm版本为例进行介绍centos6.6创建步骤:
1、安装相关软件包
yum install glib2-devel libfdt-devel pixman-devel zlib-devel libaio-devel libcap-devel libiscsi-devel rpm-build SDL-devel texi2html gnutls-develcyrus-sasl-devel libtool pciutils-devel pulseaudio-libs-devel ncurses-devellibattr-devel libusbx-devel usbredir-devel texinfo spice-protocol spice-server-devel libseccomp-devel libcurl-devel libssh2-devel librados2-devellibrbd1-devel glusterfs-api-devel glusterfs-devel systemtap-sdt-devel nss-devel libjpeg-devel libpng-devel libuuid-devel bluez-libs-devel brlapi-develcheck-devel librdmacm-devel gperftools-devel iasl lzo-devel snappy-develnumactl-devel dev86
2、安装源码包
执行命令:rpm-i qemu-kvm-0.12.1.2-2.491.el6_8.1.src.rpm
安装完成后,会生成~/rpmbuild
3、修改相关源码文件
(1)rpmbuild-bp~/rpmbuild/SPECS/qemu-kvm.spec
(2)mkdir-p~/tmp
(3)cp-r~/rpmbuild/BUILD/qemu-kvm-0.12.1.2/~/tmp/
(4)cp-r~/rpmbuild/BUILD/qemu-kvm-0.12.1.2/~/tmp/qemu-kvm-0.12.1.2.new
(5)vim~/tmp/qemu-kvm-0.12.1.2.new/qapi-schema-guest.json
添加如下内容(注意格式与文档中已有内容保持一致,否则编绎可能会挂起):
{'command':'exe-cmd',
'data':{'cmd':'str'},
'returns':'int'}
(6)vim~/tmp/qemu-kvm-0.12.1.2.new/qga/commands-posix.c
添加如下内容:
4、生成补丁文件
(1)diff-rNu~/tmp/qemu-kvm-0.12.1.2~/tmp/qemu-kvm-0.12.1.2.new/>
(2)cp~/qemu-ga-exe-cmd.patch~/rpmbuild/SOURCES/
5、修改~/rpmbuild/SPECS/qemu-kvm.spec文件
(1)找到Patchxxx这样的字符串,xxx表示数字,在其中xxx最大一行下面添加Patchxxy:patch_file,假设xxx是最大的数字,则xxy=xxx+1。例如添加Patch5206:qemu-ga-exe-cmd.patch。
(2)找到%patchxxx-pn这样的字符串,xxx,n表示数字。在其中xxx最大的一行下面添加%patchxxy–pm,xxy,m为数字。假设xxx是最大的数字,则xxy=xxx+1。例如添加%patch5206-p5。
6、执行命令生成安装包
rpmbuild-bb~/rpmbuild/SPECS/qemu-kvm.spec--with guest_agent
命令执行完成后,生成的安装包位于目录:
~/rpmbuild/RPMS/x86_64/
三、命令使用示例
与宿主机接收可以调用qemu-guest-agent格式接口的软件包的安装相对应的,安装好qemu-guest-agent之后,宿主机中安装并通过virsh调用qemu-guest-agent的新接口执行下述命令:
virsh qemu-agent-command vm_name--cmd
'{"execute":"exe-cmd","arguments":{"cmd":"dir"}}'
命令及参数通过qemu-kvm现有qemu-guest-agent通信机制传入虚拟机内部,虚拟机内部qemu-guest-agent守护进程获取命令及其参数,之后虚拟机内部开始执行命令,最后返回命令是否成功。
通过修改qemu-guest-agent守护进程源码,增加qemu-guest-agent格式接口,在增加的qemu-guest-agent格式接口内调用system函数执行传递进来的虚拟机内部命令,最终实现直接执行任意虚拟机内部的命令,增强对虚拟机的控制及个性化定制,方便快捷。
宿主机调用qemu-guest-agent格式接口时,通过libvirt API接口进行调用,libvirt API接口是指开源开发接口,具体的,本实施例采用virsh进行调用,其他实施例中,也可选用其他的软件,可使用libvirt API接口的软件均可。
本实施例中,以虚拟机为windows系统进行说明,linux系统的虚拟机可以直接接收qemu-guest-agent的安装,如果虚拟机为其他系统,则需要在其它可以编译源码的系统中执行接收qemu-guest-agent的安装的步骤。
本实施例还提供一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如本实施例所述的使qemu-kvm虚拟机执行任意命令的方法。具体的,可读存储介质可以为光盘、软盘、移动硬盘、U盘、SD卡等,其被执行时实现的方法本实施例已作出详细说明,在此不再赘述。该计算机可读存储介质可以是上述实施例中的设备中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的使qemu-kvm虚拟机执行任意命令的方法。
宿主机通过端口通信装置为虚拟机分配端口文件,启动宿主机端口通信服务对所述端口文件进行读写操作,所述虚拟机通过读写所述端口文件与所述宿主机进行数据交互,通过宿主机对端口文件进行监控,在宿主机控制下,虚拟机执行任意内部命令。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述方法包括:
在可编译源码的系统中增加qemu-guest-agent格式接口;
宿主机调用所述qemu-guest-agent格式接口,输入要执行的命令及其参数;
所述命令及其参数通过虚拟机中的qemu-guest-agent通信机制传入虚拟机内部;
虚拟机内部的qemu-guest-agent守护进程获取所述命令及其参数;
虚拟机内部执行命令;
返回命令是否成功。
2.根据权利要求1所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述在可编译源码的系统中增加qemu-guest-agent格式接口,包括:
在可编译源码的系统中接收qemu-guest-agent源码包的安装;
在可编译源码的系统中接收qemu-guest-agent守护进程源码文件的修改。
3.根据权利要求1所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述宿主机调用所述qemu-guest-agent格式接口时,通过libvirt API接口进行调用。
4.根据权利要求2所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述宿主机调用所述qemu-guest-agent格式接口之前,还包括:宿主机接收可以调用qemu-guest-agent格式接口的软件包的安装,包括:
根据VM系统类型决定是否提取Microsoft VSS SDK头文件;
配置;
编译;
运行。
5.根据权利要求1所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,还包括:
所述虚拟机通过读写端口文件与所述宿主机进行数据交互。
6.根据权利要求5所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述虚拟机通过读写端口文件与所述宿主机进行数据交互,包括:
宿主机通过端口通信装置为虚拟机分配端口文件;
启动宿主机端口通信服务对所述端口文件进行读写操作,所述虚拟机通过读写所述端口文件与所述宿主机进行数据交互。
7.根据权利要求6所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,
所述虚拟机通过读写所述端口文件与所述宿主机进行数据交互,还包括:通过宿主机对所述端口文件进行监控。
8.根据权利要求1~7任一所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述虚拟机内部执行命令,包括:
在所述qemu-guest-agent格式接口内调用system函数执行传递进来的虚拟机内部命令。
9.根据权利要求8所述的使qemu-kvm虚拟机执行任意命令的方法,其特征在于,所述虚拟机内部执行命令为在宿主机控制下,虚拟机执行任意内部命令。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1~9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710969898.7A CN107704312B (zh) | 2017-10-18 | 2017-10-18 | 一种使qemu-kvm虚拟机执行任意命令的方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710969898.7A CN107704312B (zh) | 2017-10-18 | 2017-10-18 | 一种使qemu-kvm虚拟机执行任意命令的方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704312A true CN107704312A (zh) | 2018-02-16 |
CN107704312B CN107704312B (zh) | 2020-11-13 |
Family
ID=61181378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710969898.7A Active CN107704312B (zh) | 2017-10-18 | 2017-10-18 | 一种使qemu-kvm虚拟机执行任意命令的方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704312B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684035A (zh) * | 2018-12-17 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
CN111124535A (zh) * | 2019-12-06 | 2020-05-08 | 济南浪潮数据技术有限公司 | 云主机qga的功能扩展方法、装置、设备及存储介质 |
CN111181953A (zh) * | 2019-12-26 | 2020-05-19 | 山东乾云启创信息科技股份有限公司 | 一种鲲鹏虚拟化支持spice协议的方法及装置 |
CN111240924A (zh) * | 2019-12-27 | 2020-06-05 | 广东睿江云计算股份有限公司 | 一种Linux虚拟机Socket监听的检测方法及其系统 |
CN111916092A (zh) * | 2020-07-30 | 2020-11-10 | 山东超越数控电子股份有限公司 | 一种Qemu虚拟机远程音频传输方法及装置 |
CN112000436A (zh) * | 2020-08-21 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种虚拟机磁盘信息获取方法、装置及相关设备 |
CN113961147A (zh) * | 2021-10-26 | 2022-01-21 | 江苏安超云软件有限公司 | 在云平台上从已删除的块中回收空间的方法及应用 |
CN114461352A (zh) * | 2022-04-14 | 2022-05-10 | 广东睿江云计算股份有限公司 | 一种管理虚拟机集群的实施方法、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593246A (zh) * | 2012-08-15 | 2014-02-19 | 中国电信股份有限公司 | 虚拟机和宿主机之间的通信方法、宿主机和虚拟机系统 |
-
2017
- 2017-10-18 CN CN201710969898.7A patent/CN107704312B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593246A (zh) * | 2012-08-15 | 2014-02-19 | 中国电信股份有限公司 | 虚拟机和宿主机之间的通信方法、宿主机和虚拟机系统 |
Non-Patent Citations (1)
Title |
---|
HOBERTONY_7: "kvm libvirt qga 使用和扩展", 《HTTPS://BLOG.CSDN.NET/HOBERTONY_7/ARTICLE/DETAILS/50161091》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684035A (zh) * | 2018-12-17 | 2019-04-26 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
CN109684035B (zh) * | 2018-12-17 | 2020-11-17 | 武汉烽火信息集成技术有限公司 | 一种自适应的虚拟机和宿主机通信方法及系统 |
CN111124535A (zh) * | 2019-12-06 | 2020-05-08 | 济南浪潮数据技术有限公司 | 云主机qga的功能扩展方法、装置、设备及存储介质 |
CN111124535B (zh) * | 2019-12-06 | 2022-06-03 | 济南浪潮数据技术有限公司 | 云主机qga的功能扩展方法、装置、设备及存储介质 |
CN111181953A (zh) * | 2019-12-26 | 2020-05-19 | 山东乾云启创信息科技股份有限公司 | 一种鲲鹏虚拟化支持spice协议的方法及装置 |
CN111240924A (zh) * | 2019-12-27 | 2020-06-05 | 广东睿江云计算股份有限公司 | 一种Linux虚拟机Socket监听的检测方法及其系统 |
CN111240924B (zh) * | 2019-12-27 | 2023-05-12 | 广东睿江云计算股份有限公司 | 一种Linux虚拟机Socket监听的检测方法及其系统 |
CN111916092A (zh) * | 2020-07-30 | 2020-11-10 | 山东超越数控电子股份有限公司 | 一种Qemu虚拟机远程音频传输方法及装置 |
CN112000436A (zh) * | 2020-08-21 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种虚拟机磁盘信息获取方法、装置及相关设备 |
CN113961147A (zh) * | 2021-10-26 | 2022-01-21 | 江苏安超云软件有限公司 | 在云平台上从已删除的块中回收空间的方法及应用 |
CN114461352A (zh) * | 2022-04-14 | 2022-05-10 | 广东睿江云计算股份有限公司 | 一种管理虚拟机集群的实施方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107704312B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704312A (zh) | 一种使qemu‑kvm虚拟机执行任意命令的方法及存储介质 | |
EP3906488B1 (en) | Method and contract rewriting framework system for supporting smart contracts in a blockchain network | |
Topley | J2ME in a nutshell: a desktop quick reference | |
Slowinska et al. | Howard: A Dynamic Excavator for Reverse Engineering Data Structures. | |
CN110348216B (zh) | 一种针对云计算系统虚拟设备的模糊测试方法及系统 | |
US8819650B2 (en) | Instantiating an interface or abstract class in application code | |
US8136100B1 (en) | Software installation and icon management support | |
US8694981B2 (en) | Shared resource dependencies | |
JP5663006B2 (ja) | ランタイム環境を構築するためのシステムおよび方法 | |
US20110239307A1 (en) | Method for securing java bytecode | |
Zukowski | Mastering Java 2, J2SE 1.4 | |
CN104503778A (zh) | 一种应用程序的安装方法和装置 | |
Simmonds | Mastering Embedded Linux Programming | |
Simmonds | Mastering embedded Linux programming | |
Margosis et al. | Windows Sysinternals administrator's reference | |
Ostrander | Android UI Fundamentals: Develop and Design | |
CN101840337B (zh) | 一种适用于捕包应用的裁减系统定制方法 | |
EP3506136B1 (en) | Detecting stack cookie utilization in a binary software component using binary static analysis | |
US9135027B1 (en) | Code generation and execution for dynamic programming languages | |
Hirt et al. | Oracle JRockit: The Definitive Guide | |
CN114398102B (zh) | 一种应用程序包生成方法、装置、编译服务器及计算机可读存储介质 | |
Na et al. | Comparative Analysis of Mobile App Reverse Engineering Methods on Dalvik and ART. | |
CN106371895A (zh) | 一种升级kvm虚拟机去虚拟化的方法 | |
CN103164325B (zh) | 一种控制编码的方法和装置 | |
Debbabi et al. | Embedded Java security: security for mobile devices |
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 |