一种虚拟机的交互方法、装置、设备及存储介质与流程

文档序号:22757812发布日期:2020-10-31 09:55阅读:113来源:国知局
一种虚拟机的交互方法、装置、设备及存储介质与流程

本发明涉及虚拟机领域,特别涉及一种虚拟机交互方法、装置、设备及存储介质。



背景技术:

当前,随着计算机技术的不断发展,虚拟机的使用领域越来越广泛,人们对虚拟机的使用需求逐渐增加,需要更高效、便捷的方法与虚拟机进行交互。

在虚拟机的使用过程中,可能会同时启动多台虚拟机,因此与虚拟机的交互方式会影响运行的效率。现有技术中,可以通过人工操作与虚拟机进行交互,但这个过程会消耗大量的人力成本和时间成本,且难以覆盖所有虚拟机的交互操作。为了解决人工介入的虚拟机交互方式的缺点,现有技术中,通过在虚拟机内部安装代理软件的方式,自动识别虚拟机异常进而与虚拟机进行自动交互,但对于这种方式,在虚拟机操作系统尚未加载完成前无法对虚拟机进行监测,并且开发一款可以适配所有虚拟机的操作系统的代理软件的工作量庞大,同时在虚拟机内部安装代理软件可能会出现虚拟机系统不稳定、不安全和占用过多资源的情况。



技术实现要素:

有鉴于此,本发明的目的在于提供一种虚拟机交互方法、装置、设备及存储介质,能够在避免安装代理软件的情况下,实现与虚拟机的自动交互。其具体方案如下:

本申请的第一方面提供了一种虚拟机交互方法,包括:

获取虚拟机的实时操作界面图像;

识别所述实时操作界面图像对应的操作类型;

利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

可选的,所述获取虚拟机的实时操作界面图像,包括:

根据所述虚拟机的类型确定图像获取控制参数;所述图像获取控制参数包括图像获取时长和/或图像获取时间间隔;

基于所述图像获取控制参数对所述虚拟机的操作界面进行截取,得到所述虚拟机的实时操作界面图像。

可选的,所述获取虚拟机的实时操作界面图像,包括:

根据第一预设目标操作类型确定目标截取区域;

基于所述目标截取区域对所述虚拟机的操作界面进行截取,得到所述虚拟机的实时操作界面图像。

可选的,所述获取虚拟机的实时操作界面图像,包括:

对虚拟机播放的基于图像选择指令从预设自定义图像库中选择的预设样本图像进行截取,以得到所述虚拟机的实时操作界面图像;其中,所述图像选择指令为通过预设指令触发接口触发的与目标交互方式对应的指令。

可选的,所述识别所述实时操作界面图像对应的操作类型,包括:

确定与所述虚拟机的类型对应的预设模板图像库;

利用模板匹配法确定所述预设模板图像库中是否存在与所述实时操作界面图像相匹配的目标模板图像;

若是,则将所述预设模板图像库中记录的与所述目标模板图像对应的预设操作类型确定为所述实时操作界面图像对应的操作类型。

可选的,所述确定与所述虚拟机的类型对应的预设模板图像库之前,还包括:

收集虚拟机的已确定操作类型的历史操作界面图像;

以虚拟机类型为分组依据,对收集到的所述历史操作界面图像以及相应的操作类型进行分组,以得到相应的至少一组所述预设模板图像库。

可选的,所述识别所述实时操作界面图像对应的操作类型之前,还包括:

将所述实时操作界面图像与实时任务列表中的图像识别任务进行匹配;

若匹配到与所述实时操作界面图像相对应的图像识别任务,则启动所述识别所述实时操作界面图像对应的操作类型的步骤。

可选的,所述将所述实时操作界面图像与实时任务列表中的图像识别任务进行匹配之前,还包括:

基于所述虚拟机对应的预设模板图像库中与第二预设目标操作类型对应的模板图像,创建相应的目标图像识别任务,并将所述目标图像识别任务添加至所述实时任务列表;

可选的,所述识别所述实时操作界面图像对应的操作类型之后,还包括:

若所述操作类型属于非重复操作类型,则从所述实时任务列表中剔除与所述实时操作界面图像对应的图像识别任务;

可选的,所述识别所述实时操作界面图像对应的操作类型,包括:

利用训练集,对基于机器学习方法构建的空白模型进行训练,以得到训练后模型;其中,所述训练集包括历史操作界面图像及其对应的所述操作类型;

将所述实时操作界面图像输入至所述训练后模型,以确定所述实时操作界面图像对应的操作类型。

可选的,所述利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互之后,还包括:

监测交互结果;

若未监测到与所述预设交互方式对应的交互结果,则记录所述交互结果或重新基于所述预设交互方式与所述虚拟机进行交互。

可选的,所述利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互,包括:

利用与所述操作类型对应的第一预设交互方式与所述虚拟机进行交互;所述第一预设交互方式为向所述虚拟机发送用于控制所述虚拟机记录图像识别日志数据的数据记录指令;

或者,利用与所述操作类型对应的第二预设交互方式与所述虚拟机进行交互;所述第二预设交互方式为向所述虚拟机发送用于控制所述虚拟机发送提示信息的信息发送指令;

或者,利用与所述操作类型对应的第三预设交互方式与所述虚拟机进行交互;所述第三预设交互方式为模拟外设向所述虚拟机的文本框中输入预设信息,或在所述虚拟机的选项框中选择目标选项。

本申请的第二方面提供了一种虚拟机交互装置,包括:

图像获取模块,用于获取虚拟机的实时操作界面图像;

图像识别模块,用于识别所述实时操作界面图像对应的操作类型;

交互模块,用于利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

本申请的第三方面提供了一种电子设备,包括:

存储器,用于保存计算机程序;

处理器,用于执行所述计算机程序,以实现前述的虚拟机交互方法。

本申请的第四方面提供了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的虚拟机交互方法。

本申请中,先获取虚拟机的实时操作界面图像,然后识别上述实时操作界面图像对应的操作类型,再根据上述操作类型确定出对应的预设交互方式,最后利用上述预设交互方式与上述虚拟机进行交互。可见,本申请通过识别实时操作界面图像的操作类型确定与虚拟机进行交互的交互方式,这个过程不需要在虚拟机中安装代理软件,在虚拟机系统未加载完成之前也可以对虚拟机进行监测,并且可以有效提高虚拟机系统的稳定性、安全性,节省资源空间,减少开发的工作量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请提供的一种虚拟机交互方法流程图;

图2为本申请提供的系统恢复选项窗口界面示意图;

图3为本申请提供的一种具体的虚拟机交互方法流程图;

图4为本申请提供的用户登录界面的模板图像示意图;

图5为本申请提供的截取的虚拟机的用户登录界面图像示意图;

图6为本申请提供的一种具体的虚拟机交互方法流程图;

图7为本申请提供的一种具体的虚拟机交互方法流程图;

图8为本申请提供的实时操作界面图像截取示意图;

图9为本申请提供的一种具体的虚拟机交互方法流程图;

图10为本申请提供的一种虚拟机交互装置结构示意图;

图11为本申请提供的一种电子设备结构图。

具体实施方式

现有技术中,通过在虚拟机内安装代理软件的方式,识别虚拟机的异常进而进行联动处置。这种方式的问题是需要安装代理软件,第一方面,不同虚拟机操作系统之间存在较大差异,开发一款可以适配所有虚拟机操作系统的代理软件的工作量较大;另外,在虚拟机操作系统尚未加载完成前,所有的代理软件都无法使用,在这个阶段出现的问题不能被修复;此外,安装代理软件可能导致虚拟系统不稳定、不安全,并占用较多的存储资源,从而影响虚拟机系统的运行。为了克服上述技术问题,本申请提供了一种新的虚拟机交互方式,能够在避免安装代理软件的情况下,实现与虚拟机的自动交互。

本申请实施例公开了一种虚拟机交互方法,应用于物理机。参见图1所示,该虚拟机交互方法可以包括以下步骤:

步骤s11:获取虚拟机的实时操作界面图像。

本实施例中,可以通过虚拟机操作系统中自带的截图软件或者物理机的截图软件,对虚拟机的操作界面进行截图,以得到虚拟机的实时操作界面图像,可以理解的是,上述虚拟机操作系统中自带的截图软件通常是虚拟机内部已有的软件,不需要人为安装。进一步的,当需要监测的虚拟机种类或数量繁多的时候,如果对所有虚拟机的所有运行过程都进行监测,会大大增加监测的运算量,同时会造成大量的资源浪费,因此对不同类型的虚拟机进行监测的时候,可以根据不同的监测需求,对实时操作界面图像的截取在截取时间和截取位置等方面进行进一步的限定。

本实施例中,上述获取虚拟机的实时操作界面图像,可以包括:根据所述虚拟机的类型确定图像获取控制参数;所述图像获取控制参数包括图像获取时长和/或图像获取时间间隔;基于所述图像获取控制参数对所述虚拟机的操作界面进行截取,得到所述虚拟机的实时操作界面图像。可以理解的是,可以根据虚拟机类型,确定虚拟机在具体什么时间段内需要进行监测,同时可以根据虚拟机的类型,预设图像截取的时间间隔,然后在上述需要监测的时间段内根据上述预设的图像截取的时间间隔对实时操作界面图像进行截取。例如,当对windows虚拟机进行监测的时候,由于重点需要监测的是虚拟机的启动过程,因此可以选择对windows虚拟机启动时的5分钟时间段内的操作界面进行截取,以避免资源的浪费,提高对虚拟机的监测效率。

步骤s12:识别所述实时操作界面图像对应的操作类型。

本实施例中,在获取到所述实时操作界面图像之后,可以通过识别上述实时操作界面图像确定该操作界面图像表示的操作类型。可以理解的是,不同的操作类型可能对应着不同的操作界面图像,所以为了在后续步骤中利用不同的交互方式响应不同的实时操作界面图像对应的操作类型,可以通过实时操作界面图像识别出该实时操作界面图像对应的操作类型。例如,识别出上述实时操作界面图像所对应的操作类型可能是警告或提示类操作,或者识别出上述实时操作界面图像所对应的操作类型可能是数据输入类操作。具体的,识别所述实时操作界面图像对应的操作类型的方法包括但不限于模板匹配法、机器学习法。

本实施例中,在识别所述实时操作界面图像对应的操作类型之前,还可以包括:将所述实时操作界面图像与实时任务列表中的图像识别任务进行匹配;若匹配到与所述实时操作界面图像相对应的图像识别任务,则启动所述识别所述实时操作界面图像对应的操作类型的步骤。可以理解的是,在识别所述实时操作界面图像对应的操作类型之前,先将获取的实时操作界面图像与实时任务列表中的图像识别任务进行匹配,如果存在与上述实时操作界面图像对应的图像识别任务时,则对上述实时操作界面图像进行识别,以确定出上述实时操作界面图像对应的操作类型。这样一来,当实时任务列表中不存在与实时操作界面图像对应的图像识别任务时,则不对实时操作界面图像进行识别,通过这种方式,可以减少识别的运算量,并提高识别实时操作界面图像的效率。

本实施例中,将所述实时操作界面图像与实时任务列表中的图像识别任务进行匹配之前,还可以包括:基于所述虚拟机对应的预设模板图像库中与第二预设目标操作类型对应的模板图像,创建相应的目标图像识别任务,并将所述目标图像识别任务添加至所述实时任务列表。可以理解的是,上述实时任务列表中的目标图像识别任务主要用于识别与第二预设目标操作类型对应的实时操作界面图像所对应的具体操作类型,并且上述实时任务列表中的目标图像识别任务可以是基于与第二预设目标操作类型对应的模板图像创建的图像识别任务,也可以是由用户根据第二预设目标操作类型向实时任务列表中添加的图像识别任务。

本实施例中,所述识别所述实时操作界面图像对应的操作类型之后,还可以包括:若所述操作类型属于非重复操作类型,则从所述实时任务列表中剔除与所述实时操作界面图像对应的图像识别任务;可以理解的是,上述实时任务列表中可以包括重复类型和/或非重复类型的图像识别任务,如果识别到上述实时操作界面图像对应的操作类型是非重复类型,则识别出上述实时操作界面图像对应的操作类型之后,从上述实时任务列表中剔除该实时操作界面图像对应的图像识别任务,以减少后续识别实时操作界面图像对应的操作类型的运算量。通过这种方式,可以减少实时任务列表中的图像识别任务的数量,以减少实时操作界面图像与实时任务列表中的图像识别任务进行匹配时的运算量,可以提高后续运算过程的效率,并减少资源占用。

进一步的,为了减少资源的占用,本实施例中,所述获取虚拟机的实时操作界面图像之前,可以包括:若所述实时任务列表中存在图像识别任务,则启动所述获取所述述实时操作界面图像的步骤;若所述实时任务列表中不存在图像识别任务,则不启动所述获取所述实时操作界面图像的步骤。

步骤s13:利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

本实施例中,在确定上述实时操作界面图像的操作类型之后,可以根据与上述操作类型对应的预设交互方式与虚拟机进行交互,以实现与虚拟机的交互过程。可以理解的是,首先对于不同的操作类型预设对应的交互方式,获取到实时操作界面图像后根据上述实时操作界面图像识别出该图像对应的操作类型,再根据该操作类型对应的预设交互方式与虚拟机进行交互。

在第一种具体实施方式中,上述利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互,可以包括:利用与所述操作类型对应的第一预设交互方式与所述虚拟机进行交互;所述第一预设交互方式为向所述虚拟机发送用于控制所述虚拟机记录图像识别日志数据的数据记录指令。例如,预先将第一预设交互方式与用户登录操作、挂起操作建立映射关系,当识别出虚拟机的实时操作界面图像对应的操作类型是用户登录操作时,向上述虚拟机发送数据记录指令,上述虚拟机得到上述指令后记录关于识别上述用户登录操作的日志数据。

在第二种具体实施方式中,上述利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互,可以包括:利用与所述操作类型对应的第二预设交互方式与所述虚拟机进行交互;所述第二预设交互方式为向所述虚拟机发送用于控制所述虚拟机发送提示信息的信息发送指令。例如,预先将第二预设交互方式与错误提示操作建立映射关系,当监测到上述虚拟机的实时操作界面图像对应的操作类型是错误提示操作时,向上述虚拟机发送信息发送指令,虚拟机根据接收到的信息发送指令后向用户端发送通知邮件,其中,所述错误提示操作可以是蓝屏提示或操作错误提示等提示。

在第三种具体实施方式中,上述利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互,可以包括:利用与所述操作类型对应的第三预设交互方式与所述虚拟机进行交互;所述第三预设交互方式为模拟外设向所述虚拟机的文本框中输入预设信息,或在所述虚拟机的选项框中选择目标选项。例如,预先将第三预设交互方式与信息选择操作和数据输入操作建立映射关系,当监测到上述虚拟机的实时操作界面图像对应的操作类型为数据输入操作时,可以模拟键盘向相应的文本框中输入待输入信息。例如图2所示,当实时操作界面图像为系统恢复选项窗口时,识别出上述系统恢复选项窗口对应的操作类型为信息选择操作,然后模拟鼠标对语言种类和键盘输入方式进行选择。

本实施例中,在利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互之后,还可以包括:监测交互结果。具体的,当利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互之后,对交互结果进行监测;其中,监测的交互结果可以是监测到操作界面的改变,也可以是监测交互后的操作界面是否符合预设的交互效果。例如,当上述交互方式是模拟键盘输入回车键时,需要监测的交互结果是虚拟机是否继续进行后续运行,即需要监测虚拟机的操作界面是否发生改变,因此可以通过识别交互前的实时操作界面图像和交互后的实时操作界面图像之间的相似度,当符合预设相似度阈值时判断交互成功;当上述交互方式是向虚拟机发送一个向用户终端发送邮件的指令时,需要监测的交互结果是邮件是否发送成功,因此可以根据预设的成功提示图片监测虚拟机是否显示邮件发送后的成功提示。

本实施例中,在监测交互结果之后,还可以包括:若未监测到与所述预设交互方式对应的交互结果,则记录所述交互结果或重新基于所述预设交互方式与所述虚拟机进行交互。可以理解的是,本实施例中,对交互结果进行监测后,如果未监测到交互结果或监测到交互失败,则记录交互结果,或重新基于所述预设交互方式与所述虚拟机进行交互。例如,当监测到向用户终端发送邮件的操作失败后,重新向虚拟机发送信息发送指令,虚拟机接收到信息发送指令后重新向用户端发送邮件。这样一来,提高了交互的准确率和完成度。

由上可见,本实施例中先对虚拟机的操作界面进行截取,得到虚拟机的实时操作界面图像,然后识别所述实时操作界面图像对应的操作类型,最后利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。这个过程相比于人工介入的虚拟机交互方式,可以避免完全依赖于人工操作。并且相比于现有的基于安装代理软件的虚拟机交互方式,在虚拟机系统未加载完成之前也可以对虚拟机进行监测,并且不需要侵入虚拟机操作系统,可以有效提高虚拟机系统的稳定性、安全性,并节约存储资源。

本申请实施例公开了一种具体的虚拟机交互方法,应用于物理机。参见图3所示,该虚拟机交互方法可以包括以下步骤:

步骤s21:收集虚拟机的已确定操作类型的历史操作界面图像。

本实施例中,首先收集虚拟机的已确定操作类型的历史操作界面图像,进一步的,将收集到的历史操作界面图像的格式转化为可识别的格式,可以理解的是,上述收集的历史操作界面图像对应的操作类型,是在识别上述实时操作界面图像对应的操作类型的过程中需要识别的操作类型。并且,上述历史操作界面图像可以是由用户确定的,即用户可以通过不同的监测需求对历史操作界面图像进行选择。

步骤s22:以虚拟机类型为分组依据,对收集到的所述历史操作界面图像以及相应的操作类型进行分组,以得到相应的至少一组所述预设模板图像库。

本实施例中,因为在识别所述实时操作界面图像对应的操作类型时,只需要将获取的实时操作界面图像与当前虚拟机类型对应的目标模板图像进行匹配,且不同类型虚拟机需要匹配的目标模板图像的数量和类型是不一致的,所以为了减少图像匹配操作时的运算量,可以根据虚拟机的类型对所述历史操作界面图像以及相应的操作类型进行分组,以得到与不同类型虚拟机对应的预设模板图像库。需要说明的是,上述预设模板图像库中包含目标模板图像和与上述目标模板图像对应的操作类型。例如,对于linux虚拟机,由于重点需要监测的是虚拟机是否正常进入控制台,因此可以将收集到的历史操作界面图像中的linux虚拟机成功进入控制台的历史操作界面图像分配到与linux虚拟机对应的预设模板图像库中。而对于一台windows虚拟机,由于重点需要监测的操作类型是用户登录操作、错误提示操作、信息选择操作、数据输入操作和软件成功启动提示操作,因此,可以将收集到的与上述操作类型对应的历史操作界面图像分配到与上述windows虚拟机对应的预设模板图像库中。

步骤s23:获取虚拟机的实时操作界面图像。

步骤s24:确定与所述虚拟机的类型对应的预设模板图像库。

本实施例中,在获取到上述实时操作界面图像后,将虚拟机与上述不同类型虚拟机对应的预设模板图像库进行匹配,确定与所述虚拟机的类型对应的预设模板图像库,以减少识别上述实时操作界面图像对应的操作类型时的运算量。

步骤s25:利用模板匹配法确定所述预设模板图像库中是否存在与所述实时操作界面图像相匹配的目标模板图像。

本实施例中,可以基于模板匹配法将实时操作界面图像与所述虚拟机的类型对应的预设模板图像库进行对比匹配,以确定出所述预设模板图像库中每张预设模板图像与所述实时操作界面图像之间的相似度,然后通过将每张预设模板图像对应的所述相似度与相应的预设相似度阈值进行比较,以确定上述预设模板图像库中是否含有与实时操作界面图像对应的目标模板图像。

本实施例中,对于图像画面中存在可变图像区域的预设模板图像,可以基于可变图像区域在预设模板图像中的占比,确定出预设模板图像对应的所述相似度阈值。具体的,所述相似度阈值与预设模板图像中的可变图像区域的占比呈负相关关系;另外,所述可变图像区域可以包括但不限于用户自定义图像区域、系统动态调整的图像区域,如时间显示区域等。

例如,图4和图5分别示出了在针对用户登录操作进行相应的图像识别过程中所涉及的目标模板图像和实时操作界面图像,由于上述目标模板图像中的用户头像区域是一种可变图像区域,所以可以根据上述用户头像区域在目标模板图像中的占比,适当降低上述目标模板图像对应的相似度阈值。

步骤s26:若是,则将所述预设模板图像库中记录的与所述目标模板图像对应的预设操作类型确定为所述实时操作界面图像对应的操作类型。

本实施例中,当确定出与上述实时操作界面图像相匹配后的目标模板图像后,根据上述预设模板图像库中存储的目标模板图像及对应的操作类型,确定出该操作界面对应的操作类型。

步骤s27:利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

其中,关于上述步骤s23、步骤s27的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。

由此可见,本实施例通过收集历史操作界面图像,并根据虚拟机类型对历史操作界面图像进行分类以得到预设模板图像库,然后利用预设模板图像库并基于模板匹配法识别实时操作界面图像对应的操作类型,通过这种方式,可以有针对性的与获取的实时操作界面图像中存在目标操作类型的虚拟机进行交互,并减少在识别实时操作界面图像对应的操作类型过程中的运算量,有效地提高识别上述实时操作界面图像对应的操作类型的速度和效率。

本申请实施例公开了一种具体的虚拟机交互方法,应用于物理机。参见图6所示,该虚拟机交互方法可以包括以下步骤:

步骤s31:利用训练集,对基于机器学习方法构建的空白模型进行训练,以得到训练后模型。

本实施例中,通过将上述训练集输入至基于机器学习方法构建的空白模型中,经过大量训练数据的训练,得到上述训练后模型。该训练后模型可以识别输入的实时操作界面图像的操作类型。其中,上述训练集中包括历史操作界面图像和上述历史操作界面图像对应的操作类型。

步骤s32:获取虚拟机的实时操作界面图像。

步骤s33:将所述实时操作界面图像输入至所述训练后模型,以确定所述实时操作界面图像对应的操作类型。

本实施例中,在获取到上述实时操作界面图像后,将该实时操作界面图像输入至训练后模型,以得到训练后模型输出的实时操作界面图像的操作类型。例如,当某个用户正在播放一些违规内容,或者某个用户正在访问某些违规网站时,截取该虚拟机的实时操作界面图像,将上述实时操作界面图像输入至训练后的模型,以识别出该实时操作界面图像属于违规内容。

步骤s34:利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

本实施例中,预先将播放违规视频与其对应的预设交互方式建立映射关系,其中,上述预设交互方式可以是模拟外设关闭当前操作界面;具体的,当监测到上述操作界面图像对应的操作类型为播放违规视频时,可以模拟鼠标点击关闭按钮以关闭当前的操作界面。例如,当监测到虚拟机正在播放暴力血腥类视频时,可以通过模拟鼠标关闭当前操作界面。

其中,关于上述步骤s32、步骤s34的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。

由此可见,本实施例中通过建立训练集对基于机器学习方法构建的空白模型进行训练,再利用得到训练后的模型识别所述实时操作界面图像对应的操作类型,通过机器学习方法对实时操作界面图像进行识别,能够提高监测虚拟机的实时操作界面对应的操作类型的准确率,尤其是提高对违规视频等不具备固定模板图像的操作类型的操作界面的监测。

本申请实施例公开了一种具体的虚拟机交互方法。参见图7所示,该虚拟机交互方法可以包括以下步骤:

步骤s41:根据第一预设目标操作类型确定目标截取区域。

本实施例中,可以根据第一预设目标操作类型将其对应的操作界面中的能够体现操作类型的部分作为目标截取区域。可以理解的是,虚拟机的操作界面中包含很多元素对象,但后续步骤对操作界面进行识别的时候,对于部分操作界面图像只需要识别该图像中的目标对象区域就可以识别出上述实时操作界面图像所对应的操作类型。所以可以现根据目标操作类型确定出目标截取区域,以减少实时操作界面图像中的非目标对象信息,提高识别所述实时操作界面图像对应的操作类型的准确率和效率。

具体的,当第一预设目标操作类型为触发开始按钮时,可以将包含按钮的部分区域图像作为目标截取区域。例如,当第一预设目标操作类型为触发windows虚拟机的开始按钮时,能够反映操作类型的图像区域为开始按钮的区域,所以可以将虚拟机界面左下角的50像素作为目标截取区域。同样,例如图8所示,当第一预设目标操作类型为用户登录操作时,根据windows虚拟机的用户登录时的实时操作界面图像的特点,可以将上述操作界面中除用户头像位置的区域图像以外的图像区域作为目标截取区域。

步骤s42:基于所述目标截取区域对所述虚拟机的操作界面进行截取,得到所述虚拟机的实时操作界面图像。

本实施例中,当根据第一预设目标操作类型确定目标截取区域后,可以只对操作界面中的目标截取区域进行截取,即根据第一预设目标操作类型对其对应的操作界面中的能够体现操作类型的部分区域进行截取。例如,对windows虚拟机界面的左下角的50像素进行截取,将得到虚拟机的开始按钮作为虚拟机的实时操作界面图像。

步骤s43:识别所述实时操作界面图像对应的操作类型。

步骤s44:利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

其中,关于上述步骤s43、步骤s44的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。

由此可见,本实施例通过截取第一预设目标操作类型对应的目标截取区域,并将上述目标截取区域作为实时操作界面图像,然后通过识别上述实时操作界面图像识别对应的操作类型,通过这种方式可以提高识别操作类型的效率和准确率,并减少资源占用。

本申请实施例公开了一种具体的虚拟机交互方法,应用于物理机。参见图9所示,该虚拟机交互方法可以包括以下步骤:

步骤s51:对虚拟机播放的基于图像选择指令从预设自定义图像库中选择的预设样本图像进行截取,以得到所述虚拟机的实时操作界面图像。

本实施例中,可以通过截取虚拟机播放的基于图像选择指令从预设自定义图像库中选择的预设样本图像,以得到上述实时操作界面图像,其中,所述图像选择指令为通过预设指令触发接口触发的与目标交互方式对应的指令,即上述图像选择指令可以是由物理机向虚拟机发送的指令;其中,上述预设样本图像已经与其对应的预设交互方式建立映射关系,并且,上述预设样本图像可以是由用户端发送至物理机并由物理机通过预设数据传输接口发送给虚拟机的样本图像。进一步的,本实施例中,也可以由用户直接操作虚拟机选择预设自定义图像库中的预设样本图像进行播放,然后虚拟机通过截取播放的预设样本图像得到实时操作界面图像。

例如,当需要对虚拟机进行挂起操作时,向虚拟机发送与挂起操作对应的图像选择指令,虚拟机根据图像选择指令从预设自定义图像库中选择出与挂起操作对应的预设样本图像进行播放,并对播放的预设样本图像进行截取以得到实时操作界面图像。上述预设样本图像对应的操作类型可以包括但不限于挂起操作、快照操作、增加cpu操作。

步骤s52:识别所述实时操作界面图像对应的操作类型。

步骤s53:利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

本实施例中,通过识别上述预设样本图像的操作类型确定与上述虚拟机的交互方式。例如,当监测到播放的预设样本图像对应的操作类型为挂起操作时,根据与挂起操作对应的预设交互方式向虚拟机发送挂起指令,使虚拟机自动执行挂起操作,即暂时将程序调离出内存;同样,例如,当监测到播放的预设目标模板图像对应的操作类型为快照操作时,根据与快照操作对应的预设交互方式向虚拟机发送快照指令,使虚拟机自动执行快照操作,即对虚拟机内存进行快速读取;同样,例如,当监测到播放的预设目标模板图像对应的操作类型为增加cpu操作时,根据与增加cpu操作对应的预设交互方式向虚拟机发送增加cpu指令,使虚拟机自动执行增加cpu的操作,即给上述虚拟机增加分配一颗物理核。

其中,关于上述步骤s52的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。

由此可见,本实施例中,通过播放预设样本图像,识别出与预设样本图像对应的操作类型,进而确定与上述操作类型对应的预设交互方式,然后利用上述预设交互方式与虚拟机进行交互。通过这种方式,可以与虚拟机进行一些特定的或者是复杂的交互,并且能够在实现有人工参与的主动交互的同时简化用户与虚拟机之间进行交互的操作过程,减轻用户在与虚拟机交互时的工作量。

相应的,本申请实施例还公开了一种虚拟机交互装置,参见图10所示,该装置包括:

图像获取模块11,用于获取虚拟机的实时操作界面图像;

图像识别模块12,用于识别所述实时操作界面图像对应的操作类型;

交互模块13,用于利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。

由上可见,本实施例中首先获取虚拟机的实时操作界面图像,然后识别所述实时操作界面图像对应的操作类型,最后利用与所述操作类型对应的预设交互方式与所述虚拟机进行交互。这个过程无需安装代理软件,可以有效提高虚拟机系统的稳定性、安全性,节省资源空间,并且减少开发的工作量,同时可以避免完全依赖于人工介入的方式与虚拟机进行交互,降低了人力成本和时间成本,并且提高对虚拟机的监测覆盖范围。

在一些实施例中,所述图像获取模块11具体可以包括:

第一预设条件单元,用于根据所述虚拟机的类型确定图像获取控制参数;所述图像获取控制参数包括图像获取时长和/或图像获取时间间隔;

第一图像获取单元,用于基于所述图像获取控制参数对所述虚拟机的操作界面进行截取,得到所述虚拟机的实时操作界面图像;

第一预设条件单元,用于根据第一预设目标操作类型确定目标截取区域;

第二图像获取单元,用于基于所述目标截取区域对所述虚拟机的操作界面进行截取,得到所述虚拟机的实时操作界面图像;

第三图像获取单元,用于对虚拟机播放的基于图像选择指令从预设自定义图像库中选择的预设样本图像进行截取,以得到所述虚拟机的实时操作界面图像;其中,所述图像选择指令为通过预设指令触发接口触发的与目标交互方式对应的指令。

在一些实施例中,所述图像识别模块12具体可以包括:

模板图像库建立单元,用于收集虚拟机的已确定操作类型的历史操作界面图像;以虚拟机类型为分组依据,对收集到的所述历史操作界面图像以及相应的操作类型进行分组,以得到相应的至少一组所述预设模板图像库;

第一识别单元,用于确定与所述虚拟机的类型对应的预设模板图像库;利用模板匹配法确定所述预设模板图像库中是否存在与所述实时操作界面图像相匹配的目标模板图像;若是,则将所述预设模板图像库中记录的与所述目标模板图像对应的预设操作类型确定为所述实时操作界面图像对应的操作类型;

匹配单元,用于将所述实时操作界面图像与实时任务列表中的图像识别任务进行匹配;若匹配到与所述实时操作界面图像相对应的图像识别任务,则启动所述识别所述实时操作界面图像对应的操作类型的步骤;

任务列表创建单元,用于基于所述虚拟机对应的预设模板图像库中与第二预设目标操作类型对应的模板图像,创建相应的目标图像识别任务,并将所述目标图像识别任务添加至所述实时任务列表;

任务剔除单元,用于若所述操作类型属于非重复操作类型,则从所述实时任务列表中剔除与所述实时操作界面图像对应的图像识别任务;

模型建立单元,用于利用训练集,对基于机器学习方法构建的空白模型进行训练,以得到训练后模型;其中,所述训练集包括历史操作界面图像及其对应的所述操作类型;

第二识别单元,用于将所述实时操作界面图像输入至所述训练后模型,以确定所述实时操作界面图像对应的操作类型。

在一些实施例中,所述交互模块13具体可以包括:

第一交互单元,用于利用与所述操作类型对应的第一预设交互方式与所述虚拟机进行交互;所述第一预设交互方式为向所述虚拟机发送用于控制所述虚拟机记录图像识别日志数据的数据记录指令;

第二交互单元,用于利用与所述操作类型对应的第二预设交互方式与所述虚拟机进行交互;所述第二预设交互方式为向所述虚拟机发送用于控制所述虚拟机发送提示信息的信息发送指令;

第三交互单元,用于利用与所述操作类型对应的第三预设交互方式与所述虚拟机进行交互;所述第三预设交互方式为模拟外设向所述虚拟机的文本框中输入预设信息,或在所述虚拟机的选项框中选择目标选项;

交互监测单元,用于监测交互结果;若未监测到与所述预设交互方式对应的交互结果,则记录所述交互结果或重新基于所述预设交互方式与所述虚拟机进行交互。

进一步的,本申请实施例还公开了一种电子设备,参见图11所示,图中的内容不能被认为是对本申请的使用范围的任何限制。

图10为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的虚拟机交互方法中的相关步骤。

本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。

另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括实时操作界面图像在内的数据223等,存储方式可以是短暂存储或者永久存储。

其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windowsserver、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的虚拟机交互方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20获取到的各种实时操作界面图像数据。

进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的虚拟机交互方法步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种虚拟机交互方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1