虚拟机控制方法、装置及系统制造方法及图纸

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

【技术实现步骤摘要】
虚拟机控制方法、装置及系统


[0001]本专利技术涉及虚拟机控制
,尤其是涉及一种虚拟机控制方法、装置及系统。

技术介绍

[0002]Linux系统下虚拟化平台KVM虽然提供了virtio这类供程序员进行二次开发的接口,但是还不足以达到vmtools那种使用几个简单的函数就可以达到管控虚拟机的装置与方法。比如宿主机拷贝文件到虚拟机、虚拟机拷贝文件到宿主机、宿主机控制虚拟机中程序执行、宿主机同步或者异步等待虚拟机内部的消息通知等功能使用复杂,程序员需要反复调试验证,工作效率低下。

技术实现思路

[0003]本专利技术的目的是提供一种虚拟机控制方法、装置和系统,根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。
[0004]为解决上述问题,本专利技术的第一方面提供了一种虚拟机控制方法,应用于宿主机端,包括:
[0005]向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
[0006]接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
[0007]若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;
[0008]接收虚拟机端发送的执行结果。
[0009]可选的,所述方法还包括:
[0010]若所述登录状态为登录成功,则定期向虚拟机端发送心跳请求;
[0011]若发送心跳请求失败,则将所述第三方程序的命令保存至预设位置,并按照预设增幅频率向虚拟机端发送登录请求。
[0012]可选的,若所述登录状态为登录失败,则获取登录反馈中的失败原因;
[0013]将所述失败原因发送至第三方程序。
[0014]可选的,所述根据所述命令向虚拟机端发送指令,包括:
[0015]将所述指令发送至UNIX socket套接字,以供虚拟机端调用读vioserial设备的操作函数读取。
[0016]可选的,所述根据所述命令向虚拟机端发送指令包括:
[0017]判断所述命令的类型;
[0018]根据所述命令的类型采用预设的方式对所述命令进行解析,得到操作目标;
[0019]根据所述命令的类型和所述操作目标构建指令,并发送至虚拟机端。
[0020]本专利技术的另一个方面提供了一种虚拟机控制方法,应用于虚拟机端,包括:
[0021]接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
[0022]若所述登录状态为登录成功,则
[0023]接收宿主机端发送的指令并执行;
[0024]向宿主机端返回执行结果。
[0025]可选的,所述接收宿主机端的登录请求,包括:
[0026]通过调用读vioserial设备的操作函数实现。
[0027]本专利技术的另一个方面提供了一种虚拟机控制装置,应用于宿主机端,包括:
[0028]登录请求发送模块,向虚拟机端发送登录请求,以使得虚拟机端根据所述登录请求验证登录信息并返回登录反馈;
[0029]登录反馈接收模块,接收虚拟机端返回的登录反馈,所述登录反馈包括登录状态;
[0030]指令发送模块,若所述登录状态为登录成功,则接收第三方程序的命令,并根据所述命令向虚拟机端发送指令,以使得虚拟机端执行所述指令;
[0031]执行结果接收模块,接收虚拟机端发送的执行结果。
[0032]本专利技术的另一个方面提供了一种虚拟机控制装置,应用于虚拟机端,包括:
[0033]登录请求接收模块,接收宿主机端的登录请求,验证所述登录请求,得到验证结果,将验证结果作为登录反馈发送至宿主机端,所述登录反馈包括登录状态;
[0034]判断模块,若所述登录状态为登录成功,则
[0035]指令接收模块,接收宿主机端发送的指令并执行;
[0036]执行结果返回模块,向宿主机端返回执行结果。
[0037]本专利技术的另一个方面提供了一种虚拟机控制系统,包括第一虚拟机控制装置和第二虚拟机控制装置,所述第一虚拟机控制装置包括如上用于宿主机端的虚拟机控制装置所述第二虚拟机控制装置包括如上用于虚拟机端的虚拟机控制装置。
[0038]本专利技术的上述技术方案具有如下有益的技术效果:
[0039]本专利技术实施例提供的虚拟机控制方法通过虚拟机端构建通信连接,根据第三方的命令对虚拟机进行控制,使得第三方程序不需要关注于底层逻辑实现,只关注于业务开发,从而减小程序员的体力劳动。
附图说明
[0040]图1是根据本专利技术一个实施方式的虚拟机控制方法的流程示意图;
[0041]图2是根据本专利技术第一实施方式的虚拟机控制系统的示意图;
[0042]图3是本专利技术实施例虚拟机控制系统的交互方式的示意图;
[0043]图4是本专利技术一个实施例提供的电子设备的示意图。
具体实施方式
[0044]为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。
[0045]显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0046]在本专利技术的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0047]此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0048]UNIX socket套接字介绍如下。
[0049]Unix socket套接字的地址是一个文件路径,在底层实现中,Unix socket套接字会被映射到一个文件节点上。这个文件节点是一个特殊的文件,它不会出现在文件系统中,但可以用于进程间通信。
[0050]当一个进程创建一个Unix socket套接字时,操作系统会为它创建一个文件节点,并将该文件节点与套接字关联。进程可以通过该文件节点对套接字进行读写操作。当另一个进程要连接到该套接字时,它会通过文件系统路径找到对应的文件节点,并将其与一个新的套接字关联。这样两个进程就可以通过这个文件节点进行通信。
[0051]在底层实现中进程间通信机制包含进程间的信号机制、共享内存和管道等。当一个进程向另一个进程发送数据时,实际上是将数据写入到共享内存或管道中,然后通知接收进程去读取数据。
[0052]Virtio设备介绍如下。
[0053]驱动程序:virtio设备的驱动程序负责在虚拟机中模拟出对应的设备,本文档来自技高网
...

【技术保护点】

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

【专利技术属性】
技术研发人员:李睿姜向前
申请(专利权)人:安芯网盾北京科技有限公司
类型:发明
国别省市:

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

1