CN116483517B - 虚拟机控制方法、装置及系统 - Google Patents

虚拟机控制方法、装置及系统 Download PDF

Info

Publication number
CN116483517B
CN116483517B CN202310467793.7A CN202310467793A CN116483517B CN 116483517 B CN116483517 B CN 116483517B CN 202310467793 A CN202310467793 A CN 202310467793A CN 116483517 B CN116483517 B CN 116483517B
Authority
CN
China
Prior art keywords
virtual machine
login
machine end
instruction
sending
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
CN202310467793.7A
Other languages
English (en)
Other versions
CN116483517A (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.)
Anxin Wangdun Beijing Technology Co ltd
Original Assignee
Anxin Wangdun Beijing Technology Co ltd
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 Anxin Wangdun Beijing Technology Co ltd filed Critical Anxin Wangdun Beijing Technology Co ltd
Priority to CN202310467793.7A priority Critical patent/CN116483517B/zh
Publication of CN116483517A publication Critical patent/CN116483517A/zh
Application granted granted Critical
Publication of CN116483517B publication Critical patent/CN116483517B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种虚拟机控制方法、装置及系统,所述方法包括:向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;接收虚拟机端发送的执行结果。本发明提供的方法根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。

Description

虚拟机控制方法、装置及系统
技术领域
本发明涉及虚拟机控制技术领域,尤其是涉及一种虚拟机控制方法、装置及系统。
背景技术
Linux系统下虚拟化平台KVM虽然提供了virtio这类供程序员进行二次开发的接口,但是还不足以达到vmtools那种使用几个简单的函数就可以达到管控虚拟机的装置与方法。比如宿主机拷贝文件到虚拟机、虚拟机拷贝文件到宿主机、宿主机控制虚拟机中程序执行、宿主机同步或者异步等待虚拟机内部的消息通知等功能使用复杂,程序员需要反复调试验证,工作效率低下。
发明内容
本发明的目的是提供一种虚拟机控制方法、装置和系统,根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。
为解决上述问题,本发明的第一方面提供了一种虚拟机控制方法,应用于宿主机端,包括:
向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;
接收虚拟机端发送的执行结果。
可选的,所述方法还包括:
若所述登录状态为登录成功,则定期向虚拟机端发送心跳请求;
若发送心跳请求失败,则将所述第三方程序的命令保存至预设位置,并按照预设增幅频率向虚拟机端发送登录请求。
可选的,若所述登录状态为登录失败,则获取登录反馈中的失败原因;
将所述失败原因发送至第三方程序。
可选的,所述根据所述命令向虚拟机端发送指令,包括:
将所述指令发送至UNIX socket套接字,以供虚拟机端调用读vioserial设备的操作函数读取。
可选的,所述根据所述命令向虚拟机端发送指令包括:
判断所述命令的类型;
根据所述命令的类型采用预设的方式对所述命令进行解析,得到操作目标;
根据所述命令的类型和所述操作目标构建指令,并发送至虚拟机端。
本发明的另一个方面提供了一种虚拟机控制方法,应用于虚拟机端,包括:
接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
若所述登录状态为登录成功,则
接收宿主机端发送的指令并执行;
向宿主机端返回执行结果。
可选的,所述接收宿主机端的登录请求,包括:
通过调用读vioserial设备的操作函数实现。
本发明的另一个方面提供了一种虚拟机控制装置,应用于宿主机端,包括:
登录请求发送模块,向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
登录反馈接收模块,接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
指令发送模块,若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;
执行结果接收模块,接收虚拟机端发送的执行结果。
本发明的另一个方面提供了一种虚拟机控制装置,应用于虚拟机端,包括:
登录请求接收模块,接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
判断模块,若所述登录状态为登录成功,则
指令接收模块,接收宿主机端发送的指令并执行;
执行结果返回模块,向宿主机端返回执行结果。
本发明的另一个方面提供了一种虚拟机控制系统,包括第一虚拟机控制装置和第二虚拟机控制装置,所述第一虚拟机控制装置包括如上用于宿主机端的虚拟机控制装置所述第二虚拟机控制装置包括如上用于虚拟机端的虚拟机控制装置。
本发明的上述技术方案具有如下有益的技术效果:
本发明实施例提供的虚拟机控制方法通过虚拟机端构建通信连接,根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。
附图说明
图1是根据本发明一个实施方式的虚拟机控制方法的流程示意图;
图2是根据本发明第一实施方式的虚拟机控制系统的示意图;
图3是本发明实施例虚拟机控制系统的交互方式的示意图;
图4是本发明一个实施例提供的电子设备的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
UNIX socket套接字介绍如下。
Unix socket套接字的地址是一个文件路径,在底层实现中,Unix socket套接字会被映射到一个文件节点上。这个文件节点是一个特殊的文件,它不会出现在文件系统中,但可以用于进程间通信。
当一个进程创建一个Unix socket套接字时,操作系统会为它创建一个文件节点,并将该文件节点与套接字关联。进程可以通过该文件节点对套接字进行读写操作。当另一个进程要连接到该套接字时,它会通过文件系统路径找到对应的文件节点,并将其与一个新的套接字关联。这样两个进程就可以通过这个文件节点进行通信。
在底层实现中进程间通信机制包含进程间的信号机制、共享内存和管道等。当一个进程向另一个进程发送数据时,实际上是将数据写入到共享内存或管道中,然后通知接收进程去读取数据。
Virtio设备介绍如下。
驱动程序:virtio设备的驱动程序负责在虚拟机中模拟出对应的设备,并与virtio协议进行交互。驱动程序需要实现虚拟设备的所有功能,包括设备的初始化、数据传输和错误处理等。
Virtio设备通过读取文件节点与Unix socket套接字进行数据交互。
图1是根据本发明第一实施方式的虚拟机控制方法的流程示意图;
本发明的一个实施例提供了一种虚拟机控制方法,应用于宿主机端,包括:
向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;举例来说,登录请求可以包含登录账号,密码等信息,登录请求可以使用A5、RC4等加密算法进行加密;
接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;举例来说,指令可以包括宿主机拷贝文件到虚拟机、虚拟机拷贝文件到宿主机、控制虚拟机中程序执行和获取虚拟机中的信息等;
接收虚拟机端发送的执行结果。
本发明实施例提供的虚拟机控制方法通过虚拟机端构建通信连接,根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。
在一实施例中,所述方法还包括:
若所述登录状态为登录成功,则定期向虚拟机端发送心跳请求;举例来说,可以间隔5秒-30秒发送一次心跳包,心跳包可以是空包,也可以是包含时间,在断开连接的时候及时获取到断开时间,为查找原因提供帮助;
若发送心跳请求失败,则将所述第三方程序的命令保存至预设位置,并按照预设增幅频率向虚拟机端发送登录请求;举例来说,当宿主机端向虚拟机端发送心跳包后,在预设时间没有收到反馈,判断为发送心跳请求失败。
在本实施例中,通过定期发送心跳请求确保连接的稳定性,在连接断开后,将第三方程序的命令保存至预设位置,并按照预设增幅频率向虚拟机端发送登录请求,通过以上两点可以使业务请求数据更稳定,所有业务请求数据不会发生数据丢失的情况。
在一实施例中,方法还包括:
若所述登录状态为登录失败,则获取登录反馈中的失败原因;举例来说,失败原因可以包括账号密码错误等;
将所述失败原因发送至第三方程序。
在一实施例中,根据命令向虚拟机端发送指令,包括:
将指令发送至UNIX socket套接字,以供虚拟机端调用读vioserial设备的操作函数读取。
参照图2,下面以举例的方式本发明提供的实施例进行阐述。
首先,向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈,登录反馈包括登录状态,在登录状态为错误的时候还包括错误原因;
若登录状态为登录成功,第三方程序通过调用库文件的方式,与本发明的虚拟机控制装置(宿主机端)进行通信,将第三方程序的命令发送到虚拟机控制装置(宿主机端);
虚拟机控制装置(宿主机端)根据第三方程序的命令通过UNIX socket套接字,在预设的文件节点写入指令;
虚拟机控制装置(虚拟机端)通过调用读vioserial设备的操作函数,控制vioserial设备在预设的文件节点读取指令;
根据所述指令进行动作,并将动作的执行结果通过调用写vioserial设备的操作函数,控制vioserial设备在预设的文件节点写入执行结果(执行结果包括,执行是否成功,以及对应的数据)。
在一实施例中,根据命令向虚拟机端发送指令包括:
判断命令的类型;举例来说,命令的类型可以包括上传文件(将宿主机的文件拷贝至虚拟机),下载文件(将虚拟机的文件拷贝至宿主机),执行动作等;
根据命令的类型采用预设的方式对命令进行解析,得到操作目标;当命令的类型为上传文件时,对命令进行解析得到文件的路径,文件信息和写入的路径,基于文件路径和文件信息获取文件;命令的类型为下载文件时,对命令进行解析得到下载文件的路径,目标文件的路径(包括文件名称),超时时间(预设值),虚拟机端在达到该时间并没有完成时会返回错误原因;命令的类型为执行操作时,对命令进行解析得到需要执行的目标程序全路径、目标程序启动命令行参数等;
根据命令的类型和操作目标构建指令,并发送至虚拟机端;当命令的类型为上传文件时,根据文件内容、文件信息和写入的路径构建指令,并发送至虚拟机端;当命令的类型为下载文件时,根据下载文件的路径、目标文件的路径和超时时间构建指令,并发送至虚拟机端;当命令的类型为执行操作时,根据需要执行的目标程序全路径、目标程序启动命令行参数等构建指令,并发送至虚拟机端。
Linux系统下虚拟化平台KVM虽然提供了virtio这类供程序员进行二次开发的接口,但是还不足以达到vmtools那种使用几个简单的函数就可以达到管控虚拟机的装置与方法。比如宿主机拷贝文件到虚拟机、虚拟机拷贝文件到宿主机、宿主机控制虚拟机中程序执行、宿主机同步或者异步等待虚拟机内部的消息通知等。本发明基于UNIX socket套接字和virtio配合实现宿主机端对虚拟机端的全面控制和文件传输等功能。本发明一个实施例还提供了一种虚拟机控制方法,应用于虚拟机端,包括:
接收宿主机端的登录请求,验证登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端;,所述登录反馈包括登录状态;
若所述登录状态为登录成功,则
接收宿主机端发送的指令并执行;
向宿主机端返回执行结果。
在一实施例中,接收宿主机端的登录请求,包括:
通过调用读vioserial设备的操作函数实现。
举例来说,参照图2,验证登录请求包括:解析登录请求,判断登录请求携带的信息是否符合预设的标准,若是,则验证结果为验证通过,对应的登录状态为登录成功。
在所述登录状态为登录成功时,按照预设频率通过调用读vioserial设备的操作函数,控制vioserial设备读取预设的文件节点的数据,从而接收宿主机端发送的指令并执行,向宿主机端返回执行结果。
在一实施例中,执行指令包括:
解析指令,获得操作类型和操作目标;举例来说,操作类型包括:下载文件,上传文件,执行动作;当操作类型为下载文件时,解析操作目标得到下载文件的路径、目标文件的路径和超时时间;当操作类型为上传文件时,解析操作目标得到文件的路径、文件内容、文件信息和写入的路径;当操作类型为执行动作时,解析操作目标得到需要执行的目标程序全路径、目标程序启动命令行参数等;
对操作目标执行操作类型对应的动作,当操作类型为下载文件时,根据目标文件的路径获取到对应的文件内容,当在超时时间内完成,则直接将文件内容发送至宿主机端,当没有在超时时间完成,则发送错误原因(例如文件内容不存在等)至宿主机端;当操作类型为上传文件时,将文件内容与文件信息进行核验,在核验无误后将文件内容按照写入的路径进行写入,若写入成功则向宿主机端返回写入成功,若写入失败则向宿主机返回失败原因(路径不存在等);当操作类型为执行动作时,根据需要执行的目标程序全路径启动程序,将目标程序启动命令行参数输入程序,若执行成功则获取执行结果,若执行失败则获取失败原因,将执行结果或者执行失败的原因返回至宿主机端。
举例来说,操作类型包括:下载文件,上传文件,执行动作等;下载文件和上传文件的操作目标有文件路径和文件信息,执行动作的操作目标有具体的动作内容,例如,控制虚拟机中的程序执行或者读取虚拟机中的信息等。
在一实施例中,所述方法还包括:
接收宿主机端的心跳请求,按照预设的规则返回数据,例如返回空包或者返回当前的时间等。
本发明一个实施例还提供了一种虚拟机控制装置,应用于宿主机端,包括:
登录请求发送模块,向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
登录反馈接收模块,接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
指令发送模块,若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;
执行结果接收模块,接收虚拟机端发送的执行结果。
本发明一个实施例还提供了一种虚拟机控制装置,应用于虚拟机端,包括:
登录请求接收模块,接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
判断模块,若所述登录状态为登录成功,则
指令接收模块,接收宿主机端发送的指令并执行;
执行结果返回模块,向宿主机端返回执行结果。
参照图2,本发明一个实施例还提供了一种虚拟机控制系统,包括:第一虚拟机控制装置和第二虚拟机控制装置,所述第一虚拟机控制装置包括如上应用于宿主机端的虚拟机控制装置,所述第二虚拟机控制装置包括如上应用于虚拟机端的虚拟机控制装置。参照图2和图3,下面以举例的方式对虚拟机控制系统的工作方法进行阐述,可以知道的是,本举例并不是对本发明的进一步限定。
宿主机端的虚拟机控制装置向虚拟机端的虚拟机控制装置发送登录请求,并且携带特殊的登录信息(账号、密码等信息);
虚拟机端的虚拟机控制装置在收到以后登录请求后,对登录请求进行验证;并将验证结果返回给宿主机端的虚拟机控制装置;
在验证通过后,宿主机端的虚拟机控制装置定期向虚拟机端的虚拟机控制装置定期发送心跳请求,如果通信过程中发生网络异常或者心跳包发送失败则在单位时间内按照指定增幅频率向虚拟机端的虚拟机控制装置发起登录请求;并且在断开连接的情况下宿主机端的虚拟机控制装置会保存所有业务请求数据不会发生数据丢失的情况;通过以上2点来保证通信稳定性。
应用举例一:将宿主机上的任意文件上传到虚拟机中。
第三方程序调用宿主机端的虚拟机控制装置提供的“宿主机拷贝文件到虚拟机的接口函数”后,
宿主机端的虚拟机控制装置会读取要拷贝的源文件内容,并且将当前会话ID、文件内容包索引、宿主机上的文件源路径、拷贝到虚拟机的目标路径以及文件内容组装成一个网络包发送到UNIX socket。此时虚拟机端的虚拟机控制装置通过调用读vioserial设备的操作函数收到信号,解析对应消息ID组装的内容,直到全部文件内容接收完毕后,服务端程序会按照指定的目标路径写入到磁盘文件中。
应用举例二:同步等待获取将宿主机上的任意文件上传到虚拟机后的操作结果。
根据应用举例一描述的操作后,虚拟机端的虚拟机控制装置会将写磁盘文件的操作结果、当前会话ID以及磁盘文件的MD5组装成数据包,调用写vioserial设备的操作函数。此时宿主机端的虚拟机控制装置调用的读取UNIX socket函数收到信号,解析对应消息ID组装的内容,验证会话ID以及源文件内容的MD5来告知第三方程序的操作结果。
应用举例三:控制虚拟机内部程序执行。
本质与应用举例一相同,只是向UNIX socket发送的消息ID以及消息体不一致,消息体包括:需要执行的目标程序全路径、目标程序启动命令行参数等。操作结果跟应用举例二相同,读取UNIX socket接收的消息ID以及消息体不一致。消息体包括:如执行成功,返回执行结果,若执行失败,返回失败原因。
本发明旨在保护一种宿主机端的虚拟机控制方法、装置、虚拟机端的虚拟机控制方法、装置和虚拟机控制系统,根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。
本发明还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的虚拟机控制方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时能够实现如上所述的虚拟机控制方法。
图4是能够实现根据本发明一个实施例提供的虚拟机控制方法的电子设备的示例性结构图。
如图4所示,电子设备包括输入设备501、输入接口502、中央处理器503、存储器504、输出接口505以及输出设备506。其中,输入接口502、中央处理器503、存储器504以及输出接口505通过总线507相互连接,输入设备501和输出设备506分别通过输入接口502和输出接口505与总线507连接,进而与电子设备的其他组件连接。具体地,输入设备501接收来自外部的输入信息,并通过输入接口502将输入信息传送到中央处理器503;中央处理器503基于存储器504中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器504中,然后通过输出接口505将输出信息传送到输出设备506;输出设备506将输出信息输出到电子设备的外部供用户使用。
也就是说,图4所示的电子设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及一个或多个处理器,该一个或多个处理器在执行计算机可执行指令时可以实现结合图1描述的虚拟机控制方法。
在一个实施例中,图4所示的电子设备可以被实现为包括:存储器504,被配置为存储可执行程序代码;一个或多个处理器503,被配置为运行存储器504中存储的可执行程序代码,以执行上述实施例中的虚拟机控制方法。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动,媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数据多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
此外,显然“包括”一词不排除其他单元或步骤。装置权利要求中陈述的多个单元、模块或装置也可以由一个单元或总装置通过软件或硬件来实现。第一、第二等词语用来标识名称,而不标识任何特定的顺序。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地标识的方框实际上可以基本并行地执行,他们有时也可以按相反的顺序执行,这依据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或总流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本实施例中所称处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现装置/终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在本实施例中,装置/终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。本申请虽然以较佳实施例公开如上,但其实并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此,本申请的保护范围应当以本申请权利要求所界定的范围为准。
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例系统中的装置可以根据实际需要进行合并、划分和删减。

Claims (8)

1.一种虚拟机控制方法,其特征在于,应用于宿主机端,包括:
向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;
接收虚拟机端发送的执行结果;
所述方法还包括:
若所述登录状态为登录成功,则定期向虚拟机端发送心跳请求;
若发送心跳请求失败,则将所述第三方程序的命令保存至预设位置,并按照预设增幅频率向虚拟机端发送登录请求;
所述根据所述命令向虚拟机端发送指令,包括:
将所述指令发送至UNIX socket套接字,以供虚拟机端调用读vioserial设备的操作函数读取。
2.根据权利要求1所述的方法,其特征在于,若所述登录状态为登录失败,则获取登录反馈中的失败原因;
将所述失败原因发送至第三方程序。
3.根据权利要求1所述的方法,其特征在于,
所述根据所述命令向虚拟机端发送指令包括:
判断所述命令的类型;
根据所述命令的类型采用预设的方式对所述命令进行解析,得到操作目标;
根据所述命令的类型和所述操作目标构建指令,并发送至虚拟机端。
4.一种虚拟机控制方法,其特征在于,应用于虚拟机端,包括:
接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
若所述登录状态为登录成功,则
接收宿主机端发送的指令并执行;
向宿主机端返回执行结果;
若所述登录状态为登录成功,则定期接收心跳请求;
所述接收宿主机端发送的指令,包括:调用读vioserial设备的操作函数读取UNIXsocket套接字中的所述指令。
5.根据权利要求4所述的方法,其特征在于,
所述接收宿主机端的登录请求,包括:
通过调用读vioserial设备的操作函数实现。
6.一种虚拟机控制装置,其特征在于,应用于宿主机端,包括:
登录请求发送模块,向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
登录反馈接收模块,接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
指令发送模块,若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令,若所述登录状态为登录成功,则定期向虚拟机端发送心跳请求,若发送心跳请求失败,则将所述第三方程序的命令保存至预设位置,并按照预设增幅频率向虚拟机端发送登录请求;
所述指令发送模块将所述指令发送至UNIX socket套接字,以供虚拟机端调用读vioserial设备的操作函数读取;
执行结果接收模块,接收虚拟机端发送的执行结果。
7.一种虚拟机控制装置,其特征在于,应用于虚拟机端,包括:
登录请求接收模块,接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
判断模块,若所述登录状态为登录成功,则
指令接收模块,接收宿主机端发送的指令并执行;
执行结果返回模块,向宿主机端返回执行结果;
若所述登录状态为登录成功,则定期接收心跳请求;
所述指令接收模块调用读vioserial设备的操作函数读取UNIX socket套接字中的所述指令。
8.一种虚拟机控制系统,其特征在于,包括第一虚拟机控制装置和第二虚拟机控制装置,所述第一虚拟机控制装置包括如权利要求6所述的虚拟机控制装置,所述第二虚拟机控制装置包括如权利要求7所述的虚拟机控制装置。
CN202310467793.7A 2023-04-27 2023-04-27 虚拟机控制方法、装置及系统 Active CN116483517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310467793.7A CN116483517B (zh) 2023-04-27 2023-04-27 虚拟机控制方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310467793.7A CN116483517B (zh) 2023-04-27 2023-04-27 虚拟机控制方法、装置及系统

Publications (2)

Publication Number Publication Date
CN116483517A CN116483517A (zh) 2023-07-25
CN116483517B true CN116483517B (zh) 2024-01-26

Family

ID=87221127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310467793.7A Active CN116483517B (zh) 2023-04-27 2023-04-27 虚拟机控制方法、装置及系统

Country Status (1)

Country Link
CN (1) CN116483517B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117193936B (zh) * 2023-08-28 2024-06-11 北京志凌海纳科技股份有限公司 超融合架构下的虚拟机管理方法、装置及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256276A (ja) * 2002-02-27 2003-09-10 Nec Corp スイッチ間データ転送機能付きキャッシュ内蔵スイッチ装置と制御方法
CN104144172A (zh) * 2013-05-06 2014-11-12 上海宏第网络科技有限公司 一种基于桌面虚拟化技术的云平台系统和方法
CN107071051A (zh) * 2017-05-16 2017-08-18 上海上讯信息技术股份有限公司 用于命令执行的方法与设备
CN107154975A (zh) * 2017-05-09 2017-09-12 重庆文理学院 一种应用下载方法及装置
CN108234239A (zh) * 2017-12-29 2018-06-29 上海优刻得信息科技有限公司 虚拟机的心跳检测方法及其装置、设备和存储介质
CN110620684A (zh) * 2019-08-31 2019-12-27 苏州浪潮智能科技有限公司 一种存储双控防脑裂方法、系统、终端及存储介质
CN110958206A (zh) * 2018-09-26 2020-04-03 山东华软金盾软件股份有限公司 一种基于虚拟化的移动设备应用的数据保密方法
WO2022127583A1 (zh) * 2020-12-17 2022-06-23 中兴通讯股份有限公司 虚拟机控制方法、云管理设备及存储介质
CN115840937A (zh) * 2023-02-21 2023-03-24 中科方德软件有限公司 控制方法、装置及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107577516B (zh) * 2017-07-28 2020-08-14 华为技术有限公司 虚拟机密码重置方法、装置和系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256276A (ja) * 2002-02-27 2003-09-10 Nec Corp スイッチ間データ転送機能付きキャッシュ内蔵スイッチ装置と制御方法
CN104144172A (zh) * 2013-05-06 2014-11-12 上海宏第网络科技有限公司 一种基于桌面虚拟化技术的云平台系统和方法
CN107154975A (zh) * 2017-05-09 2017-09-12 重庆文理学院 一种应用下载方法及装置
CN107071051A (zh) * 2017-05-16 2017-08-18 上海上讯信息技术股份有限公司 用于命令执行的方法与设备
CN108234239A (zh) * 2017-12-29 2018-06-29 上海优刻得信息科技有限公司 虚拟机的心跳检测方法及其装置、设备和存储介质
CN110958206A (zh) * 2018-09-26 2020-04-03 山东华软金盾软件股份有限公司 一种基于虚拟化的移动设备应用的数据保密方法
CN110620684A (zh) * 2019-08-31 2019-12-27 苏州浪潮智能科技有限公司 一种存储双控防脑裂方法、系统、终端及存储介质
WO2022127583A1 (zh) * 2020-12-17 2022-06-23 中兴通讯股份有限公司 虚拟机控制方法、云管理设备及存储介质
CN115840937A (zh) * 2023-02-21 2023-03-24 中科方德软件有限公司 控制方法、装置及电子设备

Also Published As

Publication number Publication date
CN116483517A (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US9934138B1 (en) Application testing on a blockchain
US9003412B1 (en) Performing identified repeatable computations in a changing computing environment
US8347288B1 (en) System and method for verification of repeatable virtualized computing
JP2020091835A (ja) 情報を処理するための方法及び装置
CN103164523A (zh) 数据一致性检查方法、装置及系统
CN116483517B (zh) 虚拟机控制方法、装置及系统
CN110716845B (zh) 一种Android系统的日志信息读取的方法
CN111049913B (zh) 数据文件的传输方法及装置、存储介质、电子设备
CN111459948B (zh) 一种基于中心化块链式账本的交易完整性验证方法
CN111273870A (zh) 云存储系统间海量数据迭代迁移方法、设备及存储介质
CN112486814A (zh) 系统迁移性测试方法、迁移性测试系统、装置及存储介质
WO2019100690A1 (zh) 电子装置、测试的方法、系统及计算机可读存储介质
CN114237498A (zh) 一种云原生存储数据卷的快照生成方法与系统
CN111444216A (zh) 一种基于中心化块链式账本的数据块删除方法
CN108132832B (zh) 应用程序启动方法和装置
CN111858077A (zh) 一种存储系统中io请求日志的记录方法、装置及设备
US11481142B2 (en) Method and device for downloading resources
CN115729724B (zh) 故障注入方法、故障测试系统、电子设备及可读存储介质
WO2024016595A1 (zh) 一种rbd-nbd映射方法及装置
CN115098301A (zh) 一种云原生场景下有状态应用的快照生成方法和系统
CN115098297A (zh) 一种云原生存储数据卷的一致性快照生成方法和系统
CN110333914B (zh) 一种用于执行目标操作的方法与设备
CN112114778A (zh) 一种支持水平扩展的跨平台动态库算法管理系统
US10289691B2 (en) Dynamic replication of networked files
CN112995252B (zh) 页端与客户端间的数据传输方法、装置、设备及存储介质

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