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

文档序号:33129576发布日期:2023-02-01 07:23阅读:60来源:国知局
一种虚拟机管理方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,具体涉及一种虚拟机管理方法、装置、设备及存储介质。


背景技术:

2.虚拟机是通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统。虚拟机会占用实体设备的部分资源用于处理任务。但是,当虚拟机所要处理的任务需要较大的资源时,会出现虚拟机的资源不足的问题。
3.目前,无法较为准确地为虚拟机分配合适的资源,影响虚拟机处理任务。


技术实现要素:

4.有鉴于此,本技术提供一种虚拟机管理方法、装置、设备及存储介质,能够较为准确地确定虚拟机的活跃状态,实现对虚拟机的资源的合理调整。
5.为解决上述问题,本技术提供的技术方案如下:
6.第一方面,本技术提供一种虚拟机管理方法,所述方法包括:
7.获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,所述输入设备的触发次数根据所述虚拟机的客户端与所述虚拟机的服务端之间的输入通道传输的输入数据确定,所述传输数据为所述虚拟机的服务端向所述虚拟机的客户端发送的数据;
8.根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件;
9.若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率满足目标应用场景的活跃条件,确定所述虚拟机的运行状态为活跃状态;
10.增加所述虚拟机的资源。
11.在一种可能的实现方式中,针对每种目标应用场景,所述确定所述目标应用场景的活跃条件,包括:
12.确定所述目标应用场景下的主要参数、辅助参数与空参数;其中,所述主要参数对应的重要指标大于所述辅助参数对应的重要指标,所述空参数对应的重要指标为零;其中,所述参数为所述输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种或多种;
13.根据所述目标应用场景下各参数的重要指标与所述参数的标准阈值,确定所述目标应用场景的活跃条件。
14.在一种可能的实现方式中,所述目标应用场景包括办公场景,在所述办公场景下:
15.所述输入设备触发次数为主要参数,对应重要指标为第一主要比例;所述虚拟机
中央处理器使用率为辅助参数,对应重要指标为第一辅助比例;所述传输数据的数据量为空参数;
16.所述确定所述目标应用场景的活跃条件,包括:
17.计算所述输入设备触发次数的标准阈值与所述第一主要比例的乘积,得到第一阈值;
18.计算所述虚拟机中央处理器使用率的标准阈值与所述第一辅助比例的乘积,得到第二阈值;
19.根据所述第一阈值与所述第二阈值,确定所述办公场景的活跃条件;所述办公场景的活跃条件为所述输入设备触发次数在第一时长内均大于所述第一阈值,并且所述虚拟机中央处理器使用率大于所述第二阈值。
20.在一种可能的实现方式中,所述目标应用场景包括传输场景,所述传输场景下:
21.所述传输数据的数据量为主要参数,对应重要指标为第二主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第二辅助比例;所述输入设备触发次数为空参数;
22.所述确定所述目标应用场景的活跃条件,包括:
23.计算所述传输数据的数据量的标准阈值与所述第二主要比例的乘积,得到第三阈值;
24.计算所述虚拟机中央处理器使用率的标准阈值与所述第二辅助比例的乘积,得到第四阈值;
25.根据所述第三阈值与所述第四阈值,确定所述传输场景的活跃条件;所述传输场景的活跃条件为所述传输数据的数据量达到所述第三阈值,并且所述虚拟机中央处理器使用率大于所述第四阈值。
26.在一种可能的实现方式中,所述目标应用场景包括多窗口切换场景,在所述多窗口切换场景下:
27.所述输入设备触发次数和所述传输数据的数据量为主要参数,对应重要指标分别为第三主要比例和第四主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第三辅助比例;
28.所述确定所述目标应用场景的活跃条件,包括:
29.计算所述输入设备触发次数的标准阈值与所述第三主要比例的乘积,得到第五阈值;
30.计算所述传输数据的数据量的标准阈值与所述第四主要比例的乘积,得到第六阈值;
31.计算所述虚拟机中央处理器使用率的标准阈值与所述第三辅助比例的乘积,得到第七阈值;
32.根据所述第五阈值、所述第六阈值以及所述第七阈值,确定所述多窗口切换场景的活跃条件;所述多窗口切换场景的活跃条件为所述输入设备触发次数达到所述第五阈值,所述传输数据的数据量达到所述第六阈值,并且所述虚拟机中央处理器使用率大于所述第七阈值。
33.在一种可能的实现方式中,所述目标应用场景包括软件运行场景,在所述软件运
行场景下:
34.所述虚拟机中央处理器使用率为主要参数,对应重要指标为第五主要比例;所述输入设备触发次数和所述传输数据的数据量为空参数;
35.所述确定所述目标应用场景的活跃条件,包括:
36.计算所述虚拟机中央处理器使用率的标准阈值与所述第五主要比例的乘积,得到第八阈值;
37.根据所述第八阈值,确定所述多窗口切换场景的活跃条件;所述软件运行场景的活跃条件为所述活跃条件为在第二时长内,所述虚拟机中央处理器使用率大于所述第八阈值。
38.在一种可能的实现方式中,所述目标应用场景包括多操作持续场景,在所述多操作持续场景下:
39.所述输入设备触发次数、所述传输数据的数据量和所述虚拟机中央处理器使用率均为主要参数,对应重要指标分别为第六主要比例、第七主要比例和第八主要比例;
40.所述确定所述目标应用场景的活跃条件,包括:
41.计算所述输入设备触发次数的标准阈值与所述第六主要比例的乘积,得到第九阈值;
42.计算所述传输数据的数据量的标准阈值与所述第七主要比例的乘积,得到第十阈值;
43.计算所述虚拟机中央处理器使用率的标准阈值与所述第八主要比例的乘积,得到第十一阈值;
44.根据所述第九阈值、所述第十阈值以及所述第十一阈值,确定所述多操作持续场景的活跃条件;所述多操作持续场景的活跃条件为在第三时长包括的每个单位时长内,满足所述输入设备触发次数达到所述第九阈值、所述传输数据的数据量达到所述第十阈值或者所述虚拟机中央处理器使用率达到所述第十一阈值中的一个或者多个。
45.在一种可能的实现方式中,在所述若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率满足目标应用场景下的活跃条件,确定所述虚拟机的运行状态为活跃状态之后,所述方法还包括:
46.基于所述虚拟机的运行状态以及所述虚拟机的信息,生成运行文件,所述运行文件包括状态字段以及虚拟机标识,所述状态字段用于指示所述虚拟机的运行状态,所述虚拟机标识用于标识所述虚拟机。
47.在一种可能的实现方式中,所述增加所述虚拟机的资源,包括:
48.在预设持续时间内,增加所述虚拟机的资源。
49.在一种可能的实现方式中,所述获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,包括:
50.响应于定时器的计时到达预设时长,获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率;
51.将所述定时器的计时清零,重新开始计时。
52.第二方面,本技术提供一种虚拟机管理装置,所述方法包括:
53.获取单元,用于获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处
理器使用率,所述输入设备的触发次数根据所述虚拟机的客户端与所述虚拟机的服务端之间的输入通道传输的输入数据确定,所述传输数据为所述虚拟机的服务端向所述虚拟机的客户端发送的数据;
54.第一确定单元,用于根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件;
55.第二确定单元,用于若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率满足目标应用场景的活跃条件,确定所述虚拟机的运行状态为活跃状态;
56.增加单元,用于增加所述虚拟机的资源。
57.在一种可能的实现方式中,针对每种目标应用场景,所述第二确定单元,用于确定所述目标应用场景的活跃条件,包括:
58.所述第二确定单元,具体用于确定所述目标应用场景下的主要参数、辅助参数与空参数;其中,所述主要参数对应的重要指标大于所述辅助参数对应的重要指标,所述空参数对应的重要指标为零;其中,所述参数为所述输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种或多种;
59.根据所述目标应用场景下各参数的重要指标与所述参数的标准阈值,确定所述目标应用场景的活跃条件。
60.在一种可能的实现方式中,所述目标应用场景包括办公场景,在所述办公场景下:
61.所述输入设备触发次数为主要参数,对应重要指标为第一主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第一辅助比例;所述传输数据的数据量为空参数;
62.所述第二确定单元,用于确定所述目标应用场景的活跃条件,包括:
63.所述第二确定单元,具体用于计算所述输入设备触发次数的标准阈值与所述第一主要比例的乘积,得到第一阈值;
64.计算所述虚拟机中央处理器使用率的标准阈值与所述第一辅助比例的乘积,得到第二阈值;
65.根据所述第一阈值与所述第二阈值,确定所述办公场景的活跃条件;所述办公场景的活跃条件为所述输入设备触发次数在第一时长内均大于所述第一阈值,并且所述虚拟机中央处理器使用率大于所述第二阈值。
66.在一种可能的实现方式中,所述目标应用场景包括传输场景,所述传输场景下:
67.所述传输数据的数据量为主要参数,对应重要指标为第二主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第二辅助比例;所述输入设备触发次数为空参数;
68.所述第二确定单元,用于确定所述目标应用场景的活跃条件,包括:
69.所述第二确定单元,具体用于计算所述传输数据的数据量的标准阈值与所述第二主要比例的乘积,得到第三阈值;
70.计算所述虚拟机中央处理器使用率的标准阈值与所述第二辅助比例的乘积,得到
第四阈值;
71.根据所述第三阈值与所述第四阈值,确定所述传输场景的活跃条件;所述传输场景的活跃条件为所述传输数据的数据量达到所述第三阈值,并且所述虚拟机中央处理器使用率大于所述第四阈值。
72.在一种可能的实现方式中,所述目标应用场景包括多窗口切换场景,在所述多窗口切换场景下:
73.所述输入设备触发次数和所述传输数据的数据量为主要参数,对应重要指标分别为第三主要比例和第四主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第三辅助比例;
74.所述第二确定单元,用于确定所述目标应用场景的活跃条件,包括:
75.所述第二确定单元,具体用于计算所述输入设备触发次数的标准阈值与所述第三主要比例的乘积,得到第五阈值;
76.计算所述传输数据的数据量的标准阈值与所述第四主要比例的乘积,得到第六阈值;
77.计算所述虚拟机中央处理器使用率的标准阈值与所述第三辅助比例的乘积,得到第七阈值;
78.根据所述第五阈值、所述第六阈值以及所述第七阈值,确定所述多窗口切换场景的活跃条件;所述多窗口切换场景的活跃条件为所述输入设备触发次数达到所述第五阈值,所述传输数据的数据量达到所述第六阈值,并且所述虚拟机中央处理器使用率大于所述第七阈值。
79.在一种可能的实现方式中,所述目标应用场景包括软件运行场景,在所述软件运行场景下:
80.所述虚拟机中央处理器使用率为主要参数,对应重要指标为第五主要比例;所述输入设备触发次数和所述传输数据的数据量为空参数;
81.所述第二确定单元,用于确定所述目标应用场景的活跃条件,包括:
82.所述第二确定单元,具体用于计算所述虚拟机中央处理器使用率的标准阈值与所述第五主要比例的乘积,得到第八阈值;
83.根据所述第八阈值,确定所述多窗口切换场景的活跃条件;所述软件运行场景的活跃条件为所述活跃条件为在第二时长内,所述虚拟机中央处理器使用率大于所述第八阈值。
84.在一种可能的实现方式中,所述目标应用场景包括多操作持续场景,在所述多操作持续场景下:
85.所述输入设备触发次数、所述传输数据的数据量和所述虚拟机中央处理器使用率均为主要参数,对应重要指标分别为第六主要比例、第七主要比例和第八主要比例;
86.所述第二确定单元,用于确定所述目标应用场景的活跃条件,包括:
87.所述第二确定单元,具体用于计算所述输入设备触发次数的标准阈值与所述第六主要比例的乘积,得到第九阈值;
88.计算所述传输数据的数据量的标准阈值与所述第七主要比例的乘积,得到第十阈值;
89.计算所述虚拟机中央处理器使用率的标准阈值与所述第八主要比例的乘积,得到第十一阈值;
90.根据所述第九阈值、所述第十阈值以及所述第十一阈值,确定所述多操作持续场景的活跃条件;所述多操作持续场景的活跃条件为在第三时长包括的每个单位时长内,满足所述输入设备触发次数达到所述第九阈值、所述传输数据的数据量达到所述第十阈值或者所述虚拟机中央处理器使用率达到所述第十一阈值中的一个或者多个。
91.在一种可能的实现方式中,所述装置还包括:
92.生成单元,用于基于所述虚拟机的运行状态以及所述虚拟机的信息,生成运行文件,所述运行文件包括状态字段以及虚拟机标识,所述状态字段用于指示所述虚拟机的运行状态,所述虚拟机标识用于标识所述虚拟机。
93.在一种可能的实现方式中,所述增加单元,用于增加所述虚拟机的资源,包括:
94.所述增加单元,具体用于增加所述虚拟机的资源在预设持续时间内,增加所述虚拟机的资源。
95.在一种可能的实现方式中,所述获取单元,用于获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,包括:
96.所述获取单元,具体用于响应于定时器的计时到达预设时长,获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率;
97.将所述定时器的计时清零,重新开始计时。
98.第三方面,本技术提供一种虚拟机管理设备,包括:处理器、存储器、系统总线;
99.所述处理器以及所述存储器通过所述系统总线相连;
100.所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行第一方面以及第一方面包括的任一种可能的实现方式所述的虚拟机管理方法。
101.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行第一方面以及第一方面包括的任一种可能的实现方式所述的虚拟机管理方法。
102.第五方面,本技术提供一种计算机程序产品,该计算机程序产品包括指令,当其在计算机上运行时,使得所述计算机执行第一方面以及第一方面包括的任一种可能的实现方式所述的虚拟机管理方法。
103.由此可见,本技术具有如下有益效果:
104.本技术提供的一种虚拟机管理方法、装置、设备及存储介质,通过获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,其中,输入设备的触发次数根据所述虚拟机的客户端与所述虚拟机的服务端之间的输入通道传输的输入数据确定,传输数据为所述虚拟机的服务端向所述虚拟机的客户端发送的数据;再根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件;若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率满足目标应用场景下的活跃条件,确定虚拟机的运行状态为活跃状态;活跃状态下的虚拟机需要较大
的资源,增加所述虚拟机的资源。
105.如此,根据输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率三种数据,以及输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率在目标应用场景下的重要指标,能够较为匹配地确定在目标应用场景下的活跃条件。进而根据输入设备的触发次数、传输数据的数据量、虚拟机中央处理器使用率和活跃条件,较为准确地确定虚拟机在不同场景下是否处于活跃状态。在确定虚拟机为活跃状态后,为虚拟机增加资源,实现对虚拟机的资源的合理控制,提高虚拟机处理任务的效率。
附图说明
106.图1为本技术实施例提供的示例性应用场景的框架示意图;
107.图2为本技术实施例提供的一种虚拟机管理方法的流程示意图;
108.图3为本技术实施例提供的一种虚拟机管理装置的结构示意图;
109.图4为本技术实施例提供的一种用于虚拟机管理的设备的框图;
110.图5是本技术的一些实施例中服务器的结构示意图。
具体实施方式
111.为了便于理解和解释本技术实施例提供的技术方案,下面将先对本技术的背景技术进行说明。
112.虚拟机在运行的过程中,会使用预先分配的资源处理任务。但是,在一些情况下,虚拟机需要处理的任务所需的资源较大,超过了虚拟机当前具备的资源,导致虚拟机处理任务的效率较低,影响虚拟机的正常运行。对虚拟机的运行状态进行监控,如果确定虚拟机处于活跃状态,也就是需要处理大量资源的状态,则调整为虚拟机分配的资源。目前,可以通过监控键盘和鼠标的操作来判断虚拟机是否处于活跃状态。但此种方法适合的场景有限,难以对虚拟机的活跃状态进行较为准确地确定。
113.基于此,本技术实施例提供的一种虚拟机管理方法、装置、设备及存储介质,通过获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,其中,输入设备的触发次数根据所述虚拟机的客户端与所述虚拟机的服务端之间的输入通道传输的输入数据确定,传输数据为所述虚拟机的服务端向所述虚拟机的客户端发送的数据;再根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件;若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率满足目标应用场景下的活跃条件,确定虚拟机的运行状态为活跃状态;活跃状态下的虚拟机需要较大的资源,增加所述虚拟机的资源。如此,根据输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率三种数据,以及输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率在目标应用场景下的重要指标,能够较为匹配地确定在目标应用场景下的活跃条件。进而根据输入设备的触发次数、传输数据的数据量、虚拟机中央处理器使用率和活跃条件,较为准确地确定虚拟机在不同场景下是否处于活跃状态。在确定虚拟机为活跃状态后,为虚拟机增加资源,实现对虚拟机的资源的合理控制,提
高虚拟机处理任务的效率。
114.为了便于理解本技术实施例提供的虚拟机管理方法,下面结合图1所示的场景示例进行说明。参见图1所示,该图为本技术实施例提供的示例性应用场景的框架示意图。
115.作为一种示例,在设备上建立虚拟机,得到虚拟机的客户端101。虚拟机的客户端101能够响应于用户的操作进行任务的处理。虚拟机的客户端101与虚拟机的服务端102连接。虚拟机的服务端102能够为虚拟机的客户端101提供处理任务的数据,并且能够对虚拟机的客户端101中虚拟机占用的资源进行管理。虚拟机的服务端102获取虚拟机的客户端101向虚拟机的服务端102传输的输入设备的触发次数。虚拟机的服务端102抓取虚拟机的服务端102向虚拟机的客户端101发送的数据流,得到传输数据的数据量。虚拟机的服务端102还获取虚拟机的客户端101中虚拟机运行过程中的虚拟机中央处理器使用率。虚拟机的服务端102根据获取的输入设备的触发次数、传输数据的数据量和虚拟机中央处理器使用率,以及输入设备触发次数、传输数据的数据量和虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定目标应用场景的活跃条件。虚拟机的服务端102再根据获取的输入设备的触发次数、传输数据的数据量、虚拟机中央处理器使用率以及目标应用场景的活跃条件,能够确定虚拟机是否处于在目标应用场景下的活跃状态。如果确定虚拟机处于活跃状态,虚拟机的服务端102增加为虚拟机分配的资源,实现对虚拟机的资源的合理分配。
116.本领域技术人员可以理解,图1所示的框架示意图仅是本技术的实施方式可以在其中得以实现的一个示例。本技术实施方式的适用范围不受到该框架任何方面的限制。
117.基于上述说明,下面将结合附图对本技术提供的虚拟机管理方法进行详细说明。
118.首先需要说明的是,本技术实施例提供的虚拟机管理方法,能够应用于虚拟机的服务端或者是管理虚拟机的客户端的管理设备。虚拟机的服务端或者是管理虚拟机的客户端的管理设备,具有为虚拟机分配的资源的功能。
119.本技术实施例提供一种虚拟机管理方法。参见图2所示,该图为本技术实施例提供的一种虚拟机管理方法的流程示意图。虚拟机管理方法包括s201-s204。
120.s201:获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,所述输入设备的触发次数根据所述虚拟机的客户端与所述虚拟机的服务端之间的输入通道传输的输入数据确定,所述传输数据为所述虚拟机的服务端向所述虚拟机的客户端发送的数据。
121.虚拟机的客户端是指运行虚拟机的客户侧的设备。虚拟机的客户端能够是实体设备或者是虚拟设备,本技术在此不做限制。虚拟机的客户端预先配置有处理任务的资源。处理任务的资源例如为内存所能提供的存储资源以及处理器所能提供的计算资源。预先基于虚拟机的客户端具备的资源,为虚拟机分配部分资源。例如,预先为虚拟机分配部分存储资源和部分计算资源,便于虚拟机基于分配的存储资源和计算资源实现任务处理。
122.虚拟机的服务端为与虚拟机的客户端连接的服务侧的设备。虚拟机的服务端能够与虚拟机的客户端进行数据交互,为虚拟机的客户端处理任务提供相关数据。在一些可能的实现方式中,虚拟机的服务端能够控制虚拟机的客户端中,为虚拟机分配的资源,实现对虚拟机的资源的管理。
123.虚拟机的客户端与虚拟机的服务端之间建立多个数据通道。每个数据通道用于传输不同类型的数据。作为一种示例,虚拟机的客户端与虚拟机的服务端之间建立输入通道、
显示通道、光标通道以及音频通道等。其中,输入通道用于传输输入设备的输入的数据。输入设备例如为鼠标以及键盘等与虚拟机的客户端连接(有线/无线连接)的,用于输入内容的设备。显示通道用于传输图形命令、图像和视频流相关的数据。光标通道用于传输指针设备位置、可见性和光标形状相关的数据。音频通道用于传输音频数据。
124.获取虚拟机的客户端与所述虚拟机的服务端之间输入通道传输的输入数据。作为一种示例,输入通道是spice(simple protocol for independent computing environment,独立计算环境简单)协议中的input channel(输入通道)。
125.输入数据是输入设备在虚拟机的客户端触发事件的相关数据。作为一种示例,在spice协议中,采用inputs_channel_handle_message(输入通道操作信息)方法汇总输入设备在虚拟机的客户端触发的事件的相关数据。基于获取的输入数据,能够确定输入设备触发事件的触发次数,得到输入设备的触发次数。在一种可能的实现方式中,能够基于spice协议,在虚拟机服务端建立计数接口,计数接口与输入通道连接。计数接口能够对传输的输入数据进行处理,统计输入设备触发事件的触发次数,得到输入设备的触发次数。输入设备的触发次数能够反映输入设备触发的事件的数量。基于输入设备的触发次数,能够对需要输入设备触发大量事件的应用场景下虚拟机是否处于活跃状态进行判断。
126.传输数据为所述虚拟机的服务端向虚拟机的客户端发送的数据。作为一种示例,在spice协议中,具体能够采用red_channel_client_handle_outgoing(外发客户端通道信息操作)方法处理由虚拟机的服务端向虚拟机的客户端发送的数据。基于red_channel_client_handle_outgoing方法在虚拟机的服务端设计数据接口。数据接口用于统计传输数据的数据量。基于传输数据的数据量,能够针对虚拟机的服务端向虚拟机的客户端发送的数据的数据量的情况对虚拟机是否处于活跃状态进行判断,具体可以针对需要虚拟机的服务端向虚拟机的客户端发送大量数据的应用场景下虚拟机是否处于活跃状态进行判断。
127.在一些可能的实现方式中,除了数据接口,基于red_channel_client_handle_outgoing方法设计数据池。数据池用于存储数据接口获取的传输数据,其能够实现动态存储传输数据,能够存储数据接口传输的最近的一定数量的传输数据。作为一种示例,数据池能够存储1000条传输数据。数据池在存储满1000条传输数据后,为了保持传输数据的连贯性,在获取新的传输数据后,删除数据池存储的获取时间最早的传输数据,使得数据池中存储获取时间最新的1000条传输数据。
128.需要说明的是,虚拟机的服务端向虚拟机的客户端传输的每条传输数据的数据量并非是固定的,传输数据的数据量与虚拟机的客户端显示的窗口的变化程度相关。当虚拟机的客户端的显示窗口的变化频率较快时,传输数据的数据量较大。当虚拟机的客户端的显示窗口的变化频率较慢时,传输数据的数据量较小。作为一种示例,判断虚拟机的客户端显示的窗口的变化频率的传输数据的数据量为150kb(kilobyte,千字节)。基于传输数据的数据量中大于150kb的传输数量的条数占传输数量的条数的比例,能对虚拟机的客户端的运行状态进行确定。
129.虚拟机中央处理器使用率(以下简称虚拟机cpu使用率)是指虚拟机当前占用的cpu(central processing unit,中央处理器)的使用率。虚拟机cpu使用率能够较为直观地体现虚拟机当前的运行情况。在一种可能的实现方式中,获取当前时刻的虚拟机占用的cpu的使用率。作为一种示例,调用系统libvirt(虚拟化函数库)中virdomaingetinfo(获取虚
拟机实例信息)的接口获取虚拟机占用的cpu的使用率。在另一种可能的实现方式中,按照采样周期对虚拟机占用的cpu的使用率进行多次采样,根据得到的多个虚拟机占用的cpu的使用率,计算得到当前的虚拟机cpu使用率。其中,采样周期可以是基于qemu(一种模拟处理器软件)设置的定时器确定周期长度的。如此,通过采样得到的多个虚拟机占用的cpu的使用率,能够得到较为准确的虚拟机cpu使用率,能够避免仅获取一个虚拟机占用的cpu的使用率的数值所导致的偏差。作为一种示例,采样周期设置为10秒,调用libvirt接口virdomaingetinfo获取两个相邻周期内虚拟机占用的cpu的使用率cputime1和cputime2。计算cputime1和cputime2之间的差值得到cputime。基于公式(1)计算虚拟机cpu使用率。
130.虚拟机cpu使用率=100
×
cpu_time/(10
×
cpu核数
×
109)(1)
131.需要说明的是,在一种可能的实现方式中,能够根据预先设置的采集周期获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率。作为一种示例,采集周期的预设时长为120秒。采集周期能够基于定时器测定。当定时器的及时到达预设时长时,获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率。并且将定时器计时清零,重新开始计时,以便进入下一个采集周期。
132.s202:根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件。
133.输入设备触发次数的标准阈值,传输数据的数据量的标准阈值以及虚拟机中央处理器使用率的标准阈值均可以是预先设置的用于确定活跃条件的阈值。其中,需要说明的是,虚拟机的运行状态包括非活跃状态和活跃状态。活跃状态是指输入设备触发次数、传输数据的数据量以及虚拟机cpu使用率满足目标应用场景的活跃条件的虚拟机的运行状态。非活跃状态是指输入设备触发次数、传输数据的数据量以及虚拟机cpu使用率不满足目标应用场景的活跃条件的虚拟机的运行状态。
134.输入设备触发次数的标准阈值,传输数据的数据量的标准阈值以及虚拟机中央处理器使用率的标准阈值能够根据虚拟机的客户端的使用情况进行设置,本技术实施例对此不做限定。作为一种示例,输入设备触发次数的标准阈值为200次。传输数据的数据量的标准阈值为数据量超过150kb的传输数据占全部传输数据的比例为70%。虚拟机cpu使用率的标准阈值为50%。
135.能够理解的是,不同类型的数据对于不同的目标应用场景下的运行状态的判断的重要程度不同。具体的,能够使用输入设备触发次数、传输数据的数据量以及虚拟机中央处理器使用率分别在目标应用场景下的重要指标,来衡量输入设备触发次数、传输数据的数据量以及虚拟机中央处理器使用率分别对于目标应用场景下虚拟机运行状态判断的重要程度。输入设备触发次数、传输数据的数据量以及虚拟机中央处理器使用率分别在目标应用场景下的重要指标具体能够是用于计算活跃条件的比例。
136.基于输入设备的触发次数的标准阈值以及输入设备的触发次数在目标应用场景下的重要指标,能够得到目标应用场景下用于确定运行状态的活跃条件中有关输入设备的触发次数的条件。基于传输数据的数据量的标准阈值以及传输数据的数据量在目标应用场景下的重要指标,能够得到目标应用场景下用于确定运行状态的活跃条件中有关传输数据
的数据量的条件。基于虚拟机中央处理器使用率的标准阈值以及虚拟机中央处理器使用率在目标应用场景下的重要指标,能够得到目标应用场景下用于确定运行状态的活跃条件中有关虚拟机中央处理器使用率的条件。
137.对于不同的目标应用场景,判断虚拟机是否为活跃状态的活跃条件不同。本技术实施例提供一种确定目标应用场景的活跃条件的具体实现方式,并且提供五种目标应用场景下确定目标应用场景的活跃条件的具体实现方式,具体请参见下文的详细介绍。
138.s203:若所述输入设备的触发次数、所述传输数据的数据量以及所述虚拟机cpu使用率满足目标应用场景的活跃条件,确定所述虚拟机的运行状态为活跃状态。
139.在确定目标应用场景的活跃条件后,能够基于输入设备触发次数、传输数据的数据量和虚拟机中央处理器使用率,以及目标应用场景的活跃条件,确定虚拟机的运行状态。需要说明的是,在虚拟机的服务端与虚拟机的客户端建立连接时,将虚拟机的运行状态初始化为非活跃状态。若输入设备触发次数、传输数据的数据量以及虚拟机中央处理器使用率满足活跃条件,则说明虚拟机的运行状态为活跃状态。若输入设备触发次数、传输数据的数据量以及所述虚拟机中央处理器使用率不满足活跃条件,则说明虚拟机的运行状态为非活跃状态。
140.s204:增加所述虚拟机的资源。
141.在活跃状态下,虚拟机所需要的资源较多,增加虚拟机的资源,避免虚拟机配置的资源限制虚拟机的处理效率。
142.作为一种示例,虚拟机的资源包括存储资源和计算资源中的一种或者多种。增加虚拟机的存储资源能够通过增加为虚拟机分配的内存实现。增加虚拟机的计算资源能够通过增加虚拟机的cpu数量实现。
143.需要说明的是,本技术实施例不限定执行s203:增加所述虚拟机的资源的具体触发方式。在一种可能的实现方式中,对虚拟机的运行状态进行监测,在监测到虚拟机的运行状态为活跃状态时,触发执行s203:增加所述虚拟机的资源。在另一种可能的实现方式中,预先创建用于调整虚拟机的资源的配置进程。在确定虚拟机的运行状态后,生成运行文件。运行文件包括用于指示所述虚拟机的运行状态的状态字段。配置进程读取运行文件包括的状态字段。响应于确定状态字段指示虚拟机为活跃状态,配置进程增加所述虚拟机的资源。有关运行文件的具体介绍请参见下文。
144.在一种可能的实现方式中,预先设置增加虚拟机的资源的预设持续时间。响应于增加虚拟机的资源,开始计时,在预设持续时间之内,增加虚拟机的资源。在到达预设持续时间后,作为一种示例,将虚拟机的资源调整至未增加之前的资源;作为另一种示例,先将虚拟机的资源调整至未增加之前的资源,并再次执行上述s201:获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,以及上述s202:根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件。在得到目标应用场景的活跃条件后,再次判断虚拟机的运行状态。如果虚拟机处于活跃状态,则再在预设持续时间之内,增加虚拟机的资源。
145.预设持续时间能够是预先设定的固定值,也能够是根据虚拟机的活跃状态设置的
动态值。作为一种示例,预设持续时间为固定值,取值为30分钟。
146.基于上述s201-s204的相关内容可知,基于输入设备的触发次数、传输数据的数据量以及虚拟机cpu使用率,能够综合判断虚拟机在目标应用场景中的运行状态,为配置虚拟机的资源提供较为准确的运行状态的确定结果。如此能够有效地监控虚拟机的活跃状态,提高虚拟器的资源利用率。
147.在一种可能的实现方式中,在确定虚拟机的运行状态为活跃状态之后,能够生成运行文件。本技术实施例还提供一种虚拟机管理方法,在上述s202:若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机cpu使用率满足目标应用场景下的活跃条件,确定所述虚拟机的运行状态为活跃状态之后,还包括以下步骤:
148.基于所述虚拟机的运行状态以及所述虚拟机的信息,生成运行文件。
149.运行文件包括状态字段以及虚拟机标识。其中,状态字段用于指示所述虚拟机的运行状态。作为一种示例,状态字段为usr_statue,状态字段的取值为active,或者为deactive。其中,active用于指示虚拟机的运行状态为活跃状态,deactive用于指示虚拟机的运行状态为非活跃状态。虚拟机标识用于标识虚拟机。作为一种示例,虚拟机标识为虚拟机的客户端的uuid(universally unique identifier,通用唯一识别码)。
150.在一些可能的实现方式中,运行文件还包括生成运行文件的时间、虚拟机的客户端的用户名称、虚拟机的客户端与虚拟机的服务端的连接关系以及虚拟机的ip(internet protocol,网际互连协议)端口标识。作为一种示例,运行文件的文件格式如下:
151.系统时间:"time":"2022-07-10 09:28:27";
152.ip端口:"ip":"192.168.0.26","port":"5900";
153.uuid:"uuid":"a6afe1f3-0f9a-4116-9126-edc6432f2f4d";
154.用户名:"username":"user-test";
155.连接状态:"connect":"connected";
156.状态字段"usr_status":"active"。
157.在一些可能的实现方式中,虚拟机的服务端能够解析运行文件,基于状态字段指示的活跃状态,增加虚拟机的资源。本技术实施例提供一种增加所述虚拟机的资源,包括:
158.响应于配置进程解析所述运行文件包括的状态字段指示所述虚拟机为活跃状态,所述配置进程增加所述虚拟机的资源。
159.配置进程是虚拟机的服务端建立的用于调整虚拟机的资源的进程。配置进程能够读取运行文件,并解析运行文件包括的状态字段。基于状态字段指示的虚拟机的运行状态为活跃状态,增加虚拟机的资源。
160.配置进程每间隔预设间隔时长解析运行文件。作为一种示例,预设间隔时长为5分钟。
161.在一些可能的实现方式中,不同的目标应用场景下具有对应的主要参数、辅助参数和空参数。其中,主要参数是指确定活跃状态需要着重参考的参数,也就是说,对确定活跃状态影响较大的参数。辅助参数是指确定活跃状态需要辅助参考的参数,也就是说,对确定活跃状态影响较小的参数。而空参数是指确定活跃状态不需要参考的参数,也就是说,对确定活跃状态没有影响的参数。本技术实施例中,参数可以包括输入设备的触发次数、传输数据的数据量、虚拟机中央处理器使用率中。在实际应用中,该参数还可以包括其他影响虚
拟机运行状态的参数。
162.针对每种目标应用场景,本技术实施例提供一种确定所述目标应用场景的活跃条件的具体实现方式,包括以下a1-a2两个步骤:
163.a1:确定所述目标应用场景下的主要参数、辅助参数与空参数;其中,所述主要参数对应的重要指标大于所述辅助参数对应的重要指标,所述空参数对应的重要指标为零;其中,所述参数为所述输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种或多种。
164.在确定需要判断的目标应用场景之后,先确定输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,分别是目标应用场景下的主要参数、辅助参数或者空参数。其中,主要参数对应的重要指标大于辅助参数对应的重要指标。空参数对应的重要指标为零。如此能够通过各个参数的重要指标调整各个参数的标准阈值的占比,实现得到匹配目标应用场景的活跃条件。需要说明的是,对于各个种类的目标应用场景,均存在主要参数。部分目标应用场景仅存在主要参数。部分目标应用场景存在主要参数和辅助参数。部分目标应用场景存在主要参数、辅助参数以及空参数。目标应用场景的主要参数、辅助参数与空参数能够是预先设定的。
165.作为一种示例,目标应用场景包括办公场景、传输场景、多窗口切换场景、软件运行场景以及多操作持续场景。各个目标应用场景的主要参数、辅助参数以及空参数参见表1所示。
166.目标应用场景输入设备的触发次数传输数据的数据量虚拟机中央处理器使用率办公场景主要参数空参数辅助参数传输场景空参数主要参数辅助参数多窗口切换场景主要参数主要参数辅助参数软件运行场景空参数空参数主要参数多操作持续场景主要参数主要参数主要参数
167.表1
168.a2:根据所述目标应用场景下各参数的重要指标与所述参数的标准阈值,确定所述目标应用场景的活跃条件。
169.在确定目标应用场景下各个参数的重要指标后,根据各个参数的重要指标和参数的标准阈值,确定目标应用场景的活跃条件。
170.在一种可能的实现方式中,各个参数的重要指标对应比例。基于各个参数的重要指标对应的比例和该参数的标准阈值,能够得到各个目标应用场景对应活跃条件中各参数的阈值。可见,不同目标应用场景下,同一参数对应的阈值可能不同,由此可以实现更加精准的对虚拟机运行状态的确定。
171.在一些可能的实现方式中,目标应用场景包括办公场景、传输场景、多窗口切换场景、软件运行场景以及多操作持续场景中的一种或者多种。对于不同类型的目标应用场景,活跃条件不同。下面对五种类型不同的目标应用场景的确定所述目标应用场景的活跃条件的具体实现方式进行介绍。
172.第一种:目标应用场景包括办公场景。
173.办公场景下,使用输入设备的频次较大,并且会占用部分虚拟机cpu使用率,但是
对传输数据的数据量影响不大。输入设备触发次数为办公场景下的主要参数,输入设备触发次数对应的重要指标为第一主要比例。虚拟机中央处理器使用率为办公场景下的辅助参数,虚拟机中央处理器使用率对应的重要指标为第一辅助比例。传输数据的数据量为办公场景下的空参数,对应重要指标为零。采用虚拟机cpu使用率作为辅助参数来判断虚拟机是否为活跃状态,能够更为准确地确定虚拟机是否处于办公场景的活跃状态。
174.对于办公场景,确定所述目标应用场景的活跃条件包括以下b1-b3三个步骤。
175.b1:计算所述输入设备触发次数的标准阈值与所述第一主要比例的乘积,得到第一阈值。
176.以输入设备触发次数的标准阈值为200次,第一主要比例为100%为例,计算200次与100%的乘积,得到第一阈值为200次。
177.b2:计算所述虚拟机中央处理器使用率的标准阈值与所述第一辅助比例的乘积,得到第二阈值。
178.以虚拟机中央处理器使用率的标准阈值为50%,第一辅助比例为40%为例,计算50%与40%的乘积,得到第二阈值为20%。
179.b3:根据所述第一阈值与所述第二阈值,确定所述办公场景的活跃条件;所述办公场景的活跃条件为所述输入设备触发次数在第一时长内均大于所述第一阈值,并且所述虚拟机中央处理器使用率大于所述第二阈值。
180.基于得到的第一阈值,能够确定办公场景的活跃条件中有关输入设备触发次数的阈值。基于得到的第二阈值,能够确定办公场景的活跃条件中有关虚拟机中央处理器使用率的阈值。再基于判断办公场景下运行状态所需要的第一时长,能够得到办公场景的活跃条件。其中,第一时长能够预先设置。
181.作为一种示例,第一时长为3分钟,并以上述第一阈值为200次,第二阈值为20%为例,办公场景的活跃条件为办公场景的活跃条件为输入设备触发次数在3分钟内均大于200次,并且虚拟机中央处理器cpu使用率大于20%。
182.第二种:目标应用场景包括传输场景。
183.传输场景下,输入设备的触发次数很少,而传输数据的数据量较大。传输数据的数据量为主要参数,传输数据的数据量对应的重要指标为第二主要比例。虚拟机中央处理器使用率为辅助参数,虚拟机中央处理器使用率对应的重要指标为第二辅助比例。输入设备触发次数为空参数,对应重要指标为零。
184.对于传输场景,确定所述目标应用场景的活跃条件包括以下c1-c3三个步骤。
185.c1:计算所述传输数据的数据量的标准阈值与所述第二主要比例的乘积,得到第三阈值。
186.以传输数据的数据量的标准阈值为数据量超过150kb的传输数据占全部传输数据的比例为70%,第二主要比例为100%为例,计算70%与100%的乘积,得到第三阈值为70%。
187.c2:计算所述虚拟机中央处理器使用率的标准阈值与所述第二辅助比例的乘积,得到第四阈值。
188.以虚拟机中央处理器使用率的标准阈值为50%,第二辅助比例为40%为例,计算50%与40%的乘积,得到第四阈值为20%。
189.c3:根据所述第三阈值与所述第四阈值,确定所述传输场景的活跃条件;所述传输场景的活跃条件为所述传输数据的数据量达到所述第三阈值,并且所述虚拟机中央处理器使用率大于所述第四阈值。
190.基于得到的第三阈值,能够确定办公场景的活跃条件中有关传输数据的数据量的阈值。基于得到的第四阈值,能够确定办公场景的活跃条件中有关虚拟机中央处理器使用率的阈值。
191.作为一种示例,以第三阈值为70%,第四阈值为20%为例,传输场景的活跃条件为传输数据的数据量中数据量超过150kb的传输数据占全部传输数据的比例超过70%,并且虚拟机cpu使用率大于20%。
192.第三种:目标应用场景包括多窗口切换场景。
193.多窗口切换场景下,虚拟机的客户端的显示窗口频繁进行切换。多窗口切换场景下输入设备具有一定的操作频率,传输数据的数据量较大,并且虚拟机cpu也会有一定的占用。输入设备触发次数为主要参数,输入设备触发次数对应的重要指标为第三主要比例。传输数据的数据量为主要参数,传输数据的数据量对应的重要指标为第四主要比例。虚拟机中央处理器使用率为辅助参数,虚拟机中央处理器使用率对应的重要指标为第三辅助比例。
194.对于多窗口切换场景,确定所述目标应用场景的活跃条件包括以下d1-d4四个步骤。
195.d1:计算所述输入设备触发次数的标准阈值与所述第三主要比例的乘积,得到第五阈值。
196.以输入设备触发次数的标准阈值为200次,第三主要比例为70%为例,计算200次与70%的乘积,得到第五阈值为140次。
197.d2:计算所述传输数据的数据量的标准阈值与所述第四主要比例的乘积,得到第六阈值。
198.以传输数据的数据量的标准阈值数据量超过150kb的传输数据占全部传输数据的比例为70%,第四主要比例为80%为例,计算70%与80%的乘积,得到第六阈值为56%。
199.d3:计算所述虚拟机中央处理器使用率的标准阈值与所述第三辅助比例的乘积,得到第七阈值。
200.以虚拟机中央处理器使用率的标准阈值为50%,第三辅助比例为40%为例,计算50%与40%的乘积,得到第七阈值为20%。
201.d4:根据所述第五阈值、所述第六阈值以及所述第七阈值,确定所述多窗口切换场景的活跃条件;所述多窗口切换场景的活跃条件为所述输入设备触发次数达到所述第五阈值,所述传输数据的数据量达到所述第六阈值,并且所述虚拟机中央处理器使用率大于所述第七阈值。
202.基于得到的第五阈值,能够确定多窗口切换场景的活跃条件中有关输入设备触发次数的阈值。基于得到的第六阈值,能够确定多窗口切换场景的活跃条件中有关传输数据的数据量的阈值。基于得到的第七阈值,能够确定多窗口切换场景的活跃条件中有关虚拟机中央处理器使用率的阈值。
203.作为一种示例,以上述第五阈值为140次,第六阈值为56%,第七阈值为20%为例,
多窗口切换场景的活跃条件为输入设备触发次数达到140次,传输数据的数据量中数据量超过150kb的传输数据占全部传输数据的比例超过56%,并且虚拟机cpu使用率大于20%。
204.第四种:目标应用场景包括软件运行场景。
205.在软件运行场景下,虚拟机cpu使用率会在短时间内快速上升。基于虚拟机cpu使用率,能够判断虚拟机是否处于软件运行场景的活跃状态。虚拟机中央处理器使用率为主要参数,虚拟机中央处理器使用率对应的重要指标为第五主要比例。输入设备触发次数和所述传输数据的数据量为空参数,对应重要指标为零。
206.对于软件运行场景,确定所述目标应用场景的活跃条件包括以下e1-e2两个步骤。
207.e1:计算所述虚拟机中央处理器使用率的标准阈值与所述第五主要比例的乘积,得到第八阈值。
208.以虚拟机中央处理器使用率的标准阈值为50%,第五主要比例为100%为例,计算50%与100%的乘积,得到第八阈值为50%。
209.e2:根据所述第八阈值,确定所述多窗口切换场景的活跃条件;所述软件运行场景的活跃条件为所述活跃条件为在第二时长内,所述虚拟机中央处理器使用率大于所述第八阈值。
210.基于得到的第八阈值,能够确定办公场景的活跃条件中有关虚拟机中央处理器使用率的阈值。再基于判断软件运行场景下运行状态所需要的第二时长,能够得到软件运行场景的活跃条件。其中,第二时长能够预先设置。
211.作为一种示例,第二时长为3分钟,并以上述第八阈值为50%为例,软件运行场景的活跃条件为在3分钟内,虚拟机cpu使用率大于50%。
212.第五种:目标应用场景包括多操作持续场景。
213.多操作持续场景为一段连续或者重叠的时间内,出现虚拟机的客户端的多种操作。输入设备触发次数为主要参数,对应的重要指标为第六主要比例。传输数据的数据量为主要参数,对应的重要指标为第七主要比例。虚拟机中央处理器使用率为主要参数,对应的重要指标为第八主要比例。
214.对于多操作持续场景,确定所述目标应用场景的活跃条件包括以下f1-f4四个步骤。
215.f1:计算所述输入设备触发次数的标准阈值与所述第六主要比例的乘积,得到第九阈值。
216.f2:计算所述传输数据的数据量的标准阈值与所述第七主要比例的乘积,得到第十阈值。
217.f3:计算所述虚拟机中央处理器使用率的标准阈值与所述第八主要比例的乘积,得到第十一阈值。
218.f4:根据所述第九阈值、所述第十阈值以及所述第十一阈值,确定所述多操作持续场景的活跃条件;所述多操作持续场景的活跃条件为在第三时长包括的每个单位时长内,满足所述输入设备触发次数达到所述第九阈值、所述传输数据的数据量达到所述第十阈值或者所述虚拟机中央处理器使用率达到所述第十一阈值中的一个或者多个。
219.需要说明的是,多操作持续场景下,输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种或者多种均能够作为判断活跃状态的依据。
220.在一些可能的实现方式中,仅根据输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种进行活跃状态的判断。第六主要比例、第七主要比例和第八主要比例的取值均为较大的数值,例如均为80%。作为一种示例,第六主要比例、第七主要比例和第八主要比例的取值均为80%。以输入设备触发次数的标准阈值为200次,传输数据的数据量的标准阈值数据量超过150kb的传输数据占全部传输数据的比例为70%虚拟机中央处理器使用率的标准阈值为50%为例,计算得到的第九阈值为160,第十阈值为56%,第十一阈值为40%。多操作持续场景的活跃条件包括满足输入设备触发次数超过160次,或者传输数据的数据量为数据量超过150kb的传输数据占全部传输数据的比例超过56%,或者虚拟机cpu使用率超过40%。
221.在一些可能的实现方式中,仅根据输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种进行活跃状态的判断。第六主要比例、第七主要比例和第八主要比例的取值均为较大的数值,比如取值范围为75%-100%。作为一种示例,第六主要比例、第七主要比例和第八主要比例的取值均为80%。以输入设备触发次数的标准阈值为200次,传输数据的数据量的标准阈值数据量超过150kb的传输数据占全部传输数据的比例为70%,虚拟机中央处理器使用率的标准阈值为50%为例,计算得到的第九阈值为160,第十阈值为56%,第十一阈值为40%。多操作持续场景的活跃条件包括在第三时长包括的每个单位时长内满足输入设备触发次数超过160次,或者传输数据的数据量为数据量超过150kb的传输数据占全部传输数据的比例超过56%,或者虚拟机cpu使用率超过40%。其中,第三时长能够预先设置。作为一种示例,第三时长为5分钟,每个单位时长为1分钟。
222.在另一些可能的实现方式中,根据输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的任意两种进行活跃状态的判断。第六主要比例、第七主要比例和第八主要比例的取值均为稍大的数值,比如取值范围为55%-75%。作为一种示例,第六主要比例、第七主要比例和第八主要比例的取值均为70%。以输入设备触发次数的标准阈值为200次,传输数据的数据量的标准阈值数据量超过150kb的传输数据占全部传输数据的比例为70%,虚拟机中央处理器使用率的标准阈值为50%为例,计算得到的第九阈值为140,第十阈值为49%,第十一阈值为35%。多操作持续场景的活跃条件包括在第三时长包括的每个单位时长内满足输入设备触发次数超过140次,传输数据的数据量为数据量超过150kb的传输数据占全部传输数据的比例超过49%,以及虚拟机cpu使用率超过35%中的两种。其中,第三时长能够预先设置。作为一种示例,第三时长为5分钟,每个单位时长为1分钟。
223.在又一些可能的实现方式中,根据输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的三种进行活跃状态的判断。第六主要比例、第七主要比例和第八主要比例的取值均为较小的数值,比如取值范围为45%-55%。作为一种示例,第六主要比例、第七主要比例和第八主要比例的取值均为50%。以输入设备触发次数的标准阈值为200次,传输数据的数据量的标准阈值数据量超过150kb的传输数据占全部传输数据的比例为70%,虚拟机中央处理器使用率的标准阈值为50%为例,计算得到的第九阈值为100,第十阈值为35%,第十一阈值为25%。多操作持续场景的活跃条件包括在第三时长包括的每个单位时长内满足输入设备触发次数超过100次,以及传输数据的数据量为数据量超过150kb的传输数据占全部传输数据的比例超过35%,以及虚拟机cpu使用率超过25%。其中,
第三时长能够预先设置。作为一种示例,第三时长为5分钟,每个单位时长为1分钟。
224.基于本技术实施例提供的虚拟机管理方法,本技术实施例提供一种虚拟机管理装置,参见图3所示,该图为本技术实施例提供的一种虚拟机管理装置的结构示意图。该虚拟机管理装置包括:
225.获取单元301,用于获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,所述输入设备的触发次数根据所述虚拟机的客户端与所述虚拟机的服务端之间的输入通道传输的输入数据确定,所述传输数据为所述虚拟机的服务端向所述虚拟机的客户端发送的数据;
226.第一确定单元302,用于根据所述输入设备触发次数的标准阈值,所述传输数据的数据量的标准阈值以及所述虚拟机中央处理器使用率的标准阈值,以及所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率分别在目标应用场景下的重要指标,确定所述目标应用场景的活跃条件;
227.第二确定单元303,用于若所述输入设备触发次数、所述传输数据的数据量以及所述虚拟机中央处理器使用率满足目标应用场景的活跃条件,确定所述虚拟机的运行状态为活跃状态;
228.增加单元304,用于增加所述虚拟机的资源。
229.在一种可能的实现方式中,针对每种目标应用场景,所述第二确定单元303,用于确定所述目标应用场景的活跃条件,包括:
230.所述第二确定单元303,具体用于确定所述目标应用场景下的主要参数、辅助参数与空参数;其中,所述主要参数对应的重要指标大于所述辅助参数对应的重要指标,所述空参数对应的重要指标为零;其中,所述参数为所述输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率中的一种或多种;
231.根据所述目标应用场景下各参数的重要指标与所述参数的标准阈值,确定所述目标应用场景的活跃条件。
232.在一种可能的实现方式中,所述目标应用场景包括办公场景,在所述办公场景下:
233.所述输入设备触发次数为主要参数,对应重要指标为第一主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第一辅助比例;所述传输数据的数据量为空参数;
234.所述第二确定单元303,用于确定所述目标应用场景的活跃条件,包括:
235.所述第二确定单元303,具体用于计算所述输入设备触发次数的标准阈值与所述第一主要比例的乘积,得到第一阈值;
236.计算所述虚拟机中央处理器使用率的标准阈值与所述第一辅助比例的乘积,得到第二阈值;
237.根据所述第一阈值与所述第二阈值,确定所述办公场景的活跃条件;所述办公场景的活跃条件为所述输入设备触发次数在第一时长内均大于所述第一阈值,并且所述虚拟机中央处理器使用率大于所述第二阈值。
238.在一种可能的实现方式中,所述目标应用场景包括传输场景,所述传输场景下:
239.所述传输数据的数据量为主要参数,对应重要指标为第二主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第二辅助比例;所述输入设备触发次数为
空参数;
240.所述第二确定单元303,用于确定所述目标应用场景的活跃条件,包括:
241.所述第二确定单元303,具体用于计算所述传输数据的数据量的标准阈值与所述第二主要比例的乘积,得到第三阈值;
242.计算所述虚拟机中央处理器使用率的标准阈值与所述第二辅助比例的乘积,得到第四阈值;
243.根据所述第三阈值与所述第四阈值,确定所述传输场景的活跃条件;所述传输场景的活跃条件为所述传输数据的数据量达到所述第三阈值,并且所述虚拟机中央处理器使用率大于所述第四阈值。
244.在一种可能的实现方式中,所述目标应用场景包括多窗口切换场景,在所述多窗口切换场景下:
245.所述输入设备触发次数和所述传输数据的数据量为主要参数,对应重要指标分别为第三主要比例和第四主要比例;所述虚拟机中央处理器使用率为辅助参数,对应重要指标为第三辅助比例;
246.所述第二确定单元303,用于确定所述目标应用场景的活跃条件,包括:
247.所述第二确定单元303,具体用于计算所述输入设备触发次数的标准阈值与所述第三主要比例的乘积,得到第五阈值;
248.计算所述传输数据的数据量的标准阈值与所述第四主要比例的乘积,得到第六阈值;
249.计算所述虚拟机中央处理器使用率的标准阈值与所述第三辅助比例的乘积,得到第七阈值;
250.根据所述第五阈值、所述第六阈值以及所述第七阈值,确定所述多窗口切换场景的活跃条件;所述多窗口切换场景的活跃条件为所述输入设备触发次数达到所述第五阈值,所述传输数据的数据量达到所述第六阈值,并且所述虚拟机中央处理器使用率大于所述第七阈值。
251.在一种可能的实现方式中,所述目标应用场景包括软件运行场景,在所述软件运行场景下:
252.所述虚拟机中央处理器使用率为主要参数,对应重要指标为第五主要比例;所述输入设备触发次数和所述传输数据的数据量为空参数;
253.所述第二确定单元303,用于确定所述目标应用场景的活跃条件,包括:
254.所述第二确定单元303,具体用于计算所述虚拟机中央处理器使用率的标准阈值与所述第五主要比例的乘积,得到第八阈值;
255.根据所述第八阈值,确定所述多窗口切换场景的活跃条件;所述软件运行场景的活跃条件为所述活跃条件为在第二时长内,所述虚拟机中央处理器使用率大于所述第八阈值。
256.在一种可能的实现方式中,所述目标应用场景包括多操作持续场景,在所述多操作持续场景下:
257.所述输入设备触发次数、所述传输数据的数据量和所述虚拟机中央处理器使用率均为主要参数,对应重要指标分别为第六主要比例、第七主要比例和第八主要比例;
258.所述第二确定单元303,用于确定所述目标应用场景的活跃条件,包括:
259.所述第二确定单元303,具体用于计算所述输入设备触发次数的标准阈值与所述第六主要比例的乘积,得到第九阈值;
260.计算所述传输数据的数据量的标准阈值与所述第七主要比例的乘积,得到第十阈值;
261.计算所述虚拟机中央处理器使用率的标准阈值与所述第八主要比例的乘积,得到第十一阈值;
262.根据所述第九阈值、所述第十阈值以及所述第十一阈值,确定所述多操作持续场景的活跃条件;所述多操作持续场景的活跃条件为在第三时长包括的每个单位时长内,满足所述输入设备触发次数达到所述第九阈值、所述传输数据的数据量达到所述第十阈值或者所述虚拟机中央处理器使用率达到所述第十一阈值中的一个或者多个。
263.在一种可能的实现方式中,所述装置还包括:
264.生成单元,用于基于所述虚拟机的运行状态以及所述虚拟机的信息,生成运行文件,所述运行文件包括状态字段以及虚拟机标识,所述状态字段用于指示所述虚拟机的运行状态,所述虚拟机标识用于标识所述虚拟机。
265.在一种可能的实现方式中,所述增加单元304,用于增加所述虚拟机的资源,包括:
266.所述增加单元304,具体用于增加所述虚拟机的资源在预设持续时间内,增加所述虚拟机的资源。
267.在一种可能的实现方式中,所述获取单元301,用于获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率,包括:
268.所述获取单元301,具体用于响应于定时器的计时到达预设时长,获取输入设备的触发次数、传输数据的数据量以及虚拟机中央处理器使用率;
269.将所述定时器的计时清零,重新开始计时。
270.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
271.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
272.本技术实施例提供了一种用于虚拟机管理的设备,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述一个或多个实施例中所述的虚拟机管理方法。
273.图4是根据一示例性实施例示出的一种用于虚拟机管理设备400的框图。例如,设备400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
274.参照图4,设备400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(i/o)的接口412,传感器组件414,以及通信组件416。
275.处理组件402通常控制设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便
于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
276.存储器404被配置为存储各种类型的数据以支持在设备400的操作。这些数据的示例包括用于在设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
277.电源组件406为设备400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为设备400生成、管理和分配电力相关联的组件。
278.多媒体组件408包括在所述设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
279.音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(mic),当设备400处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
280.i/o接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
281.传感器组件414包括一个或多个传感器,用于为设备400提供各个方面的状态评估。例如,传感器组件414可以检测到设备400的打开/关闭状态,组件的相对定位,例如所述组件为设备400的显示器和小键盘,传感器组件414还可以搜索设备400或设备400一个组件的位置改变,用户与设备400接触的存在或不存在,设备400方位或加速/减速和设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
282.通信组件416被配置为便于设备400和其他设备之间有线或无线方式的通信。设备400可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频信息处理(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
283.在示例性实施例中,设备400可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
284.在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由设备400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
285.图5是本技术的一些实施例中服务器的结构示意图。该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
286.服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
287.一种非临时性计算机可读存储介质,当所述存储介质中的指令由设备(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的虚拟机管理方法。
288.一种非临时性计算机可读存储介质,当所述存储介质中的指令由设备(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中虚拟机管理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本技术方法实施例的描述。
289.此外,需要说明的是:本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图1所对应实施例中虚拟机管理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本技术方法实施例的描述。
290.本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由上面的权利要求指出。
291.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
292.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
293.以上对本技术所提供的一种虚拟机管理方法、一种虚拟机管理装置和可读存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
294.需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
295.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
296.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
297.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
298.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1