1.本发明涉及计算机技术领域,尤其涉及一种云资源池的资源利用率确定方法、装置、设备和介质。
背景技术:2.随着云计算技术的日益成熟,越来越多的企业和个人将应用程序部署到云计算平台执行。云计算平台将存储资源与计算资源集中放置在公共的云资源池中,使客户能够通过网络以按需付费的方式获取。资源利用率作为资源池使用情况的重要指标,是云计算平台建设、运营的重要决策依据。
3.现有评估资源池资源利用率的方法主要是利用特定监控指标的瞬时值、平均值和最大值三种类型数据。其中特定监控指标包括cpu利用率、内存利用率、网络流出/流入流量等。
4.现有技术中当资源池内各服务器的监控指标采样时间不同步时,单纯采用瞬时值评估资源池利用率,准确性较低。特别是当监控指标采样周期较长,不同服务器在相同时间段内的采样点存在时间偏差,各服务器特定资源类型的瞬时利用率将不具备可比性。当评估一段较长时间内的资源池利用率时,采用时间区间内特定监控指标的均值,将无法体现资源利用特征,评估结果偏差较大,对准确性造成不利影响。而采用时间区间内特定监控指标的峰值,评估结果容易受异常极值点、孤立点的影响,同样影响资源池利用率的评估准确性。
5.现有的一种云平台资源利用率评估方法中,每隔第一预设周期采集云平台包括的各服务器的资源使用参数,并根据资源使用参数计算各服务器的第一资源利用率,将第二预设周期内获得的、各集群所包括的各服务器的多个第一资源利用率的最大值作为各服务器的第二资源利用率;第二预设周期包括多个第一预设周期;将第三预设周期内获得的、各集群所包括的各服务器的多个第二资源利用率的平均值作为各服务器的第三资源利用率;第三预设周期包括多个第二预设周期;将第四预设周期内获得的、各集群所包括的各服务器的多个第三资源利用率的最大值作为各服务器的第四资源利用率;第四预设周期包括多个第三预设周期;将各集群包括的各服务器的第四资源利用率的平均值分别作为各集群的综合资源利用率。
6.上述现有技术的技术方案中本质上仍是指使用率资源利用特征中的最大值特征,而没有体现其他的资源利用特征,评估结果偏差较大。
7.现有的一种云数据中心资源利用率优化方法中,使用cpu、内存和网络的资源利用率的均值来计算服务器的综合资源利用率,根据所有服务器cpu利用率、内存利用率和网络利用率对应的均值,确定所有服务器的cpu利用率与对应均值的差值绝对值的第一和值、所有服务器的内存利用率与对应均值的差值绝对值的第二和值、所有服务器的网络利用率与对应均值的差值绝对值的第三和值,将第一和值作为资源池内cpu的总利用率、第二和值作为资源池内的内存总利用率、第三和值作为资源池内的网络总利用率。
8.上述现有技术中是将所有服务器同一时间的资源利用率的偏差和值作为资源池的利用率,但是不同服务器在相同时间段内的采样点存在时间偏差,因此导致最后得到的资源池的利用率的准确度较低。
9.综上,现有技术中在确定云资源池的资源利用率时的准确度较低。
技术实现要素:10.本发明提供了一种云资源池的资源利用率确定方法、装置、设备和介质,用以解决现有技术中的问题。
11.本发明提供了一种云资源池的资源利用率确定方法,所述方法包括:
12.获取所述云资源池内的每个服务器在预设时间范围内按照预设频率采集的预设资源的预设参数的每个参数值;
13.针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数;
14.确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。
15.进一步地,所述预设资源为cpu资源、内存资源、网络资源和磁盘资源中的任意一种。
16.进一步地,若所述预设资源为cpu资源,所述预设参数为cpu利用率;若所述预设资源为内存资源,所述预设参数为内存利用率;若所述预设资源为网络资源,所述预设参数为网络流入流量速率或网络流出流量速率;若所述预设资源为磁盘资源,所述预设参数为磁盘读速率、或磁盘写速率、或磁盘分配率。
17.进一步地,所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
18.根据所述目标参数值的数量及该服务器的参数值的总数量,确定该服务器的基础活跃度指数。
19.进一步地,所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
20.根据所述目标参数值的数量及所述预设时间范围包含的每个子时间范围,确定位于每个子时间范围内的子数量;
21.针对每个子时间范围内的子数量,若该子数量不小于预设数量阈值,则确定该子时间范围满足条件;
22.根据满足条件的子时间范围的数量及所述预设时间范围包含的子时间范围总数量,确定该服务器的基础活跃度指数。
23.相应地,本发明提供了一种云资源池的资源利用率确定装置,所述装置包括:
24.获取模块,用于获取所述云资源池内的每个服务器在预设时间范围内按照预设频率获取预设资源的预设参数的每个参数值;
25.确定模块,用于针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃
度指数;确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。
26.进一步地,所述确定模块,具体用于根据所述目标参数值的数量及该服务器的参数值的总数量,确定该服务器的基础活跃度指数。
27.进一步地,所述确定模块,具体用于根据所述目标参数值的数量及所述预设时间范围包含的每个子时间范围,确定位于每个子时间范围内的子数量;针对每个子时间范围内的子数量,若该子数量不小于预设数量阈值,则确定该子时间范围满足条件;根据满足条件的子时间范围的数量及所述预设时间范围包含的子时间范围总数量,确定该服务器的基础活跃度指数。
28.相应地,本发明提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于执行存储器中存储的计算机程序时实现上述云资源池的资源利用率确定方法中任一所述方法的步骤。
29.相应地,本发明提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述云资源池的资源利用率确定方法中任一所述方法的步骤。
30.本发明提供了一种云资源池的资源利用率确定方法、装置、设备和介质,在该方法中获取云资源池内的每个服务器在预设时间范围内按照预设频率采集的预设资源的预设参数的每个参数值;针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数;确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。由于本发明中对预设资源的预设参数可以设置多个预设阈值,确定预设时间范围内对应每个预设阈值的每个服务器的基础活跃度指数,并根据基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量、以及云资源池内包含的服务器的第二数量,确定出云资源池在预设资源对应预设阈值的资源利用率,从而可以更细粒度地确定出预设资源的预设参数对应的资源利用情况,提高了确定出的资源利用率的准确度。
附图说明
31.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明实施例提供的一种云资源池的资源利用率确定方法的过程示意图;
33.图2为本发明实施例提供的一种云资源池的资源利用率的计算过程的流程示意图;
34.图3为本发明实施例提供的一种基础活跃度指数的计算过程的流程示意图;
35.图4为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为5%的基础活跃度指数示意图;
36.图5为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为35%的基础活跃度指数示意图;
37.图6为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为65%的基础活跃度指数示意图;
38.图7为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为95%的基础活跃度指数示意图;
39.图8为本发明实施例提供的一种cpu利用率的预设阈值为5%时不同基础活跃度指数的服务器分布图;
40.图9为本发明实施例提供的一种cpu利用率的预设阈值为35%时不同基础活跃度指数的服务器分布图;
41.图10为本发明实施例提供的一种cpu利用率的预设阈值为65%时不同基础活跃度指数的服务器分布图;
42.图11为本发明实施例提供的一种cpu利用率的预设阈值为95%时不同基础活跃度指数的服务器分布图;
43.图12为本发明实施例提供的一种各服务器在内存利用率的预设阈值为5%的基础活跃度指数示意图;
44.图13为本发明实施例提供的一种各服务器在内存利用率的预设阈值为25%的基础活跃度指数示意图;
45.图14为本发明实施例提供的一种各服务器在内存利用率的预设阈值为45%的基础活跃度指数示意图;
46.图15为本发明实施例提供的一种各服务器在内存利用率的预设阈值为65%的基础活跃度指数示意图;
47.图16为本发明实施例提供的一种内存利用率的预设阈值为5%时不同基础活跃度指数的服务器分布图;
48.图17为本发明实施例提供的一种内存利用率的预设阈值为25%时不同基础活跃度指数的服务器分布图;
49.图18为本发明实施例提供的一种内存利用率的预设阈值为45%时不同基础活跃度指数的服务器分布图;
50.图19为本发明实施例提供的一种内存利用率的预设阈值为65%时不同基础活跃度指数的服务器分布图;
51.图20为本发明实施例提供的一种云资源池的资源利用率确定装置的结构示意图;
52.图21为本发明实施例提供的另一种云资源池的资源利用率确定装置的结构示意图;
53.图22为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
54.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的
所有其它实施例,都属于本发明保护的范围。
55.为了提高确定云资源池的资源利用率时的准确度,本发明实施例提供了一种云资源池的资源利用率确定方法、装置、设备和介质。
56.实施例1:
57.图1为本发明实施例提供的一种云资源池的资源利用率确定方法的过程示意图,该过程包括以下步骤:
58.s101:获取所述云资源池内的每个服务器在预设时间范围内按照预设频率采集的预设资源的预设参数的每个参数值。
59.本发明实施例提供的一种云资源池的资源利用率确定方法应用于电子设备,其中该电子设备可以是板、电脑、智能手机等智能终端,也可以是服务器,其中该服务器可以是本地服务器,也可以是云端服务器。
60.为了确定云资源池的资源利用率,在本发明实施例中,针对预设资源的预设参数,该电子设备获取云资源池中的每个服务器在预设时间范围内按照预设频率采集的每个参数值,其中该预设时间范围是用户预先设置的,该预设时间范围可以是1小时、一天、一周等,本发明实施例对此不做限制;该预设频率也是用户预先设置的,该预设频率可以是每秒一次、每分钟一次、每小时一次等。
61.其中,每个服务器在预设时间范围采集的参数值的数量可以相同,也可以不同,即允许每个服务器的采样时间之间存在偏差,从而使得在预设时间范围内按照预设频率采集的参数值的数量不同。
62.s102:针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数。
63.该电子设备预先保存有针对预设资源的预设参数的预设阈值,针对预设参数的预设阈值的数量有多个,且每个预设参数对应的预设阈值可以相同,也可以不同。
64.针对云资源池中的每个服务器,该电子设备确定该服务器的每个参数值,根据该服务的每个参数值以及预设阈值,确定不小于预设阈值的目标参数值,并根据目标参数值的数量,确定该服务器在预设资源的预设参数对应预设阈值的基础活跃度指数。
65.例如,该预设资源的预设参数为cpu利用率时,cpu利用率对应有多个预设阈值,针对每个服务器,根据该服务器的每个cpu利用率以及任一预设阈值,确定不小于预设阈值的目标cpu利用率,根据目标cpu利用率的数量确定出该服务器的基础活跃度指数。
66.s103:确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。
67.为了确定出云资源池的资源利用率,本发明实施例中保存有预设的基础活跃度指数阈值,根据每个服务器对应的基础活跃度指数,确定出基础活跃度指数不小于基础活跃度指数阈值的服务器的第一数量,根据第一数量以及云资源池包含的服务器的第二数量,确定云资源池的预设资源针对预设阈值的资源利用率。
68.具体的,根据基础活跃度指数不小于基础活跃度指数阈值的服务器的第一数量、以及云资源池包含的服务器的第二数量,确定出第一数量占第二数量的比值,将该比值确定为云资源池的预设资源针对预设阈值的资源利用率。
69.由于本发明实施例的该方法中获取云资源池内的每个服务器在预设时间范围内按照预设频率采集的预设资源的预设参数的每个参数值;针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数;确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。由于本发明中对预设资源的预设参数可以设置多个预设阈值,确定预设时间范围内对应每个预设阈值的每个服务器的基础活跃度指数,并根据基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量、以及云资源池内包含的服务器的第二数量,确定出云资源池在预设资源对应预设阈值的资源利用率,从而可以更细粒度地确定出预设资源的预设参数对应的资源利用情况,提高了确定出的资源利用率的准确度。
70.实施例2:
71.为了全面准确地确定出云资源池的资源利用率,在上述实施例的基础上,在本发明实施例中,所述预设资源为cpu资源、内存资源、网络资源和磁盘资源中的任意一种。
72.为了更加全面准确地确定出云资源池的资源利用率,在本发明实施例中,预设资源为cpu资源、内存资源、网络资源和磁盘资源中的任意一种,为了确定出云资源池中每种预设资源的资源利用率,在本发明实施例中,若所述预设资源为cpu资源,所述预设参数为cpu利用率;若所述预设资源为内存资源,所述预设参数为内存利用率;若所述预设资源为网络资源,所述预设参数为网络流入流量速率或网络流出流量速率;若所述预设资源为磁盘资源,所述预设参数为磁盘读速率、或磁盘写速率、或磁盘分配率。
73.即在确定云资源池的cpu资源的资源利用率时,可以获取云资源池中每个服务器在预设时间范围按照预设频率采集的每个cpu利用率,采用上述实施例中的方法确定出云资源池在cpu资源的资源利用率。
74.在确定云资源池的内存资源的资源利用率时,可以获取云资源池中每个服务器在预设时间范围按照预设频率采集的每个内存利用率,采用上述实施例中的方法确定出云资源池在内存资源的资源利用率。
75.在确定云资源池的网络资源的资源利用率时,可以获取云资源池中每个服务器在预设时间范围按照预设频率采集的每个网络流入流量速率或每个网络流出流量速率,采用上述实施例中的方法确定出云资源池在内存资源的资源利用率。
76.在确定云资源池的磁盘资源的资源利用率时,可以获取云资源池中每个服务器在预设时间范围按照预设频率采集的每个磁盘读速率、或每个磁盘写速率、或每个磁盘分配率,采用上述实施例中的方法确定出云资源池在内存资源的资源利用率。
77.实施例3:
78.为了确定服务器的基础活跃度指数,在上述各实施例的基础上,在本发明实施例中,所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
79.根据所述目标参数值的数量及该服务器的参数值的总数量,确定该服务器的基础活跃度指数。
80.为了确定服务器的基础活跃度指数,在本发明实施例中,根据目标参数值的数量、以及该服务器的参数值的总数量,确定出目标参数值的数量与总数量的比值,将该比值确
定为该服务器的基础活跃度指数。
81.示例性地,预设资源的预设参数组成的列表r为{r1,
…
,ri,
…rn
},其中,ri表示第i项监控指标,n为关键监控指标的数量;云资源池内的每个服务器组成的服务器列表p为{p1,
…
,pj,
…
,pm},其中,pj表示第j台物理服务器,m为资源池内的服务器的数量。
82.针对预设资源的预设参数ri的预设阈值组成列表为其中表示预设参数ri的第k个预设阈值,c表示预设参数ri的预设阈值的数量。获取服务器列表p中的每个服务器在预设时间范围[ts,te]内对应预设参数ri的每个参数值x
ij
,其中其中q表示参数值的数量。
[0083]
计算服务器列表p中的每个服务器在预设参数ri的每个预设阈值的基础活跃度指数,基础活跃度指数的计算过程包括以下步骤:
[0084]
步骤1:从服务器列表p中选择一台物理服务器pj。
[0085]
步骤2:从预设参数ri的预设阈值列表中选择一个预设阈值
[0086]
步骤3:计算服务器pj在监控指标ri的阈值点的基础活跃度指数h
ijk
,其中0≤h
ijk
≤1,函数f(
·
)为
[0087]
步骤4:重复步骤2和步骤3,直到遍历完列表中的所有预设阈值,得到服务器pj在预设参数ri上每个预设阈值的基础活跃度指数列表h
ij
={h
ij1
,
…
,h
ijk
,
…
,h
ijc
}。
[0088]
步骤5:重复步骤1至步骤4,直到遍历完列表{p1,
…
,pj,
…
,pm}中的所有服务器,得到各服务器在预设参数ri上预设阈值的基础活跃度指数列表hi,其中hi={h
i1
,
…
,h
ij
,
…
,h
im
}。
[0089]
实施例4:
[0090]
为了确定服务器的基础活跃度指数,在上述各实施例的基础上,在本发明实施例中,所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
[0091]
根据所述目标参数值的数量及所述预设时间范围包含的每个子时间范围,确定位于每个子时间范围内的子数量;
[0092]
针对每个子时间范围内的子数量,若该子数量不小于预设数量阈值,则确定该子时间范围满足条件;
[0093]
根据满足条件的子时间范围的数量及所述预设时间范围包含的子时间范围总数量,确定该服务器的基础活跃度指数。
[0094]
为了确定服务器的基础活跃度指数,在本发明实施例中,当预设时间范围较长或者预设频率较高时,预先将预设时间范围划分为多个子时间范围,其中每个子时间范围对应的参数值的数量不小于预设数量阈值,其中该预设数量阈值为正整数。
[0095]
在确定出预设时间范围内按照预设频率采集的参数值中目标参数值后,根据目标参数值的采集时间以及目标参数值的数量、预设时间范围包含的每个子时间范围,确定出目标参数值的采集时间对应的子时间范围,从而确定出位于每个子时间范围的目标参数值
的子数量。
[0096]
为了确定出服务器的基础活跃度指数,在本发明实施例中还预设有子时间范围对应的条件,该条件为子时间范围对应的子数量不小于预设数量阈值,根据每个子时间范围内的子数量、以及该预设数量阈值,确定子数量不小于预设数量阈值的子时间范围为满足条件的子时间范围。
[0097]
根据满足条件的子时间范围的数量、以及预设时间范围包含的子时间范围总数量,确定出满足条件的子时间范围的数量与总数量的比值,将该比值确定为该服务器的基础活跃度指数。
[0098]
示例性地,计算服务器列表p中的每个服务器在预设参数ri的每个预设阈值的基础活跃度指数,基础活跃度指数的计算过程包括以下步骤:
[0099]
步骤1:确定服务器列表p中的每个服务器pj。
[0100]
步骤2:确定预设参数ri的预设阈值列表中的每一个预设阈值
[0101]
步骤3:计算服务器pj在监控指标ri的阈值点的基础活跃度指数h
ijk
,具体包括以下步骤:
[0102]
步骤3.1:将预设时间范围[ts,te]划分为d个子时间范围,其中每个子时间范围包括{[t
s1
,t
e1
],
…
,[t
sd
,t
ed
],
…
,[t
sd
,t
ed
]},t
s1
=ts,t
ed
=te,t
sd
和t
ed
分别表示第d个子时间范围的起始时间和结束时间;预设数量阈值为n,且每个子时间范围的参数值的个数要大于等于n,初始化参数y=0,d=1。
[0103]
步骤3.2:获取一个子时间范围[t
sd
,t
ed
]内的参数值其中d_d表示第d个子区间内参数值的个数,初始化标记wd=0;
[0104]
步骤3.3:从参数值中获取一个值,计算其与预设阈值的差值,如果大于等于0,则wd=wd+1;否则,wd保持不变。
[0105]
步骤3.4:计算w
d-n,如果等于0,则y=y+1,然后执行步骤3.6;否则,继续执行步骤3.5。
[0106]
步骤3.5:从参数值中获取一个新的值,重复步骤3.3至步骤3.4,直到遍历完集合中的所有参数值。
[0107]
步骤3.6:d=d+1,如果d≤d,获取新的子时间范围内的参数值,重复步骤3.2至步骤3.5,直到遍历完所有的子时间范围。
[0108]
步骤3.7:计算服务器pj在监控指标ri的阈值点的基础活跃度指数h
ijk
,其中y表示满足子数量不小于预设数量阈值的子时间范围的数量,d表示预设时间范围包含的子时间范围的总数量。
[0109]
步骤4:重复步骤2和步骤3,直到遍历完列表中的所有预设阈
值,得到服务器pj在预设参数ri上每个预设阈值的基础活跃度指数列表h
ij
={h
ij1
,
…
,h
ijk
,
…
,h
ijc
}。
[0110]
步骤5:重复步骤1至步骤4,直到遍历完列表{p1,
…
,pj,
…
,pm}中的所有服务器,得到各服务器在预设参数ri上预设阈值的基础活跃度指数列表hi,其中hi={h
i1
,
…
,h
ij
,
…
,h
im
}。
[0111]
进一步地,为了确定云资源池的资源利用率,设定基础活跃度指数阈值{u1,
…
,ug,
…
,ug},其中ug表示第g个基础活跃度指数阈值,g表示基础活跃度指数阈值的个数;利用步骤5得到的基础活跃度指数列表hi,计算资源池在各基础活跃度指数阈值的资源利用率其中函数f(
·
)为遍历所有基础活跃度指数阈值{u1,
…
,ug,
…
,ug},从而获得在预设时间范围[ts,te]内指定资源池在预设参数的每个预设阈值的资源利用率。
[0112]
其中,指数的含义为:预设参数ri的基础活跃度指数h
ijk
大于等于基础活跃度指数阈值ug的服务器pj(j=1,2,
…
,m)占资源池所有物理服务器的比例;其中,h
ijk
表示在预设时间范围[ts,te]内,服务器pj在预设参数ri上的参数值大于等于预设阈值的占比。
[0113]
由于本发明实施例中,通过划分子时间范围和设置数量阈值,可以更均衡地评估预设时间范围内资源池内特定资源的利用情况,减弱高频率采集时参数值短时波动的影响;并且通过预设的多个基础活跃度指数阈值,可以进一步确定资源池内各服务器特定资源利用的分布情况。
[0114]
实施例5:
[0115]
下面通过一个具体的实施例对本发明实施例中确定云资源池的资源利用率的方法进行说明,图2为本发明实施例提供的一种云资源池的资源利用率的计算过程的流程示意图,如图2所示,该过程包括以下步骤:
[0116]
s201:获取资源池的预设资源的预设参数列表和服务器列表。
[0117]
s202:接收对每个预设参数设置的多个预设阈值以及预设时间范围。
[0118]
s203:针对预设参数列表中的任一项预设参数,获取云资源池内的每个服务器在预设时间范围内按照预设频率采集的每个参数值。
[0119]
s204:计算各服务器在各预设参数的各预设阈值的基础活跃度指数。
[0120]
s205:判断是否遍历了预设资源的预设参数列表中的所有项,若是,则进行s206,若否,则进行s203。
[0121]
s206:获得各服务器在各预设参数的各预设阈值的基础活跃度指数列表。
[0122]
s207:根据预设的每个基础活跃度指数阈值,计算资源池在每个基础活跃度指数阈值的资源利用率。
[0123]
图3为本发明实施例提供的一种基础活跃度指数的计算过程的流程示意图,如图3所示,该过程包括以下步骤:
[0124]
s301:确定服务器列表中的每个服务器。
[0125]
s302:确定预设参数的预设阈值列表中的每个预设阈值。
[0126]
s303:计算服务器在预设参数的预设阈值的基础活跃度指数。
[0127]
s304:确定是否遍历了预设参数的预设阈值列表中的所有预设阈值,若是,则进行s305,若否,则进行s302。
[0128]
s305:确定是否遍历了服务器列表中的所有服务器,若是,则进行s306,若否,则进行s301。
[0129]
s306:确定出各服务器在各预设参数的各预设阈值的基础活跃度指数。
[0130]
实施例5:
[0131]
下面通过一个具体的实施例对本发明实施例中确定云资源池的资源利用率的方法进行说明,包括以下步骤:
[0132]
步骤1:获取云资源池的服务器列表和预设资源的预设参数列表。
[0133]
可选地,预设资源的预设参数包括但不限于cpu利用率、内存利用率、网络流入流量速率、网络流出流量速率、磁盘读速率、磁盘写速率、磁盘分配率。
[0134]
示例性地,以云资源池的266台服务器数据为例,预设资源的预设参数为cpu利用率和内存利用率。
[0135]
步骤2:获取cpu利用率对应有多个预设阈值,包括5%、35%、65%和95%,cpu利用率对应的预设时间范围为近24小时。内存利用率对应的预设阈值包括5%、25%、45%和65%,内存利用率对应的预设时间范围也是近24小时。
[0136]
步骤3:预设资源的预设参数为cpu利用率时,获取266个服务器在指预设时间范围内的每个cpu利用率,预设频率为1小时1次,每个服务器对应有24个参数值。获取10台服务器的部分cpu利用率,如表1所示,单位为%。
[0137][0138]
表1
[0139]
如表1所示,1号服务器在第1h的cpu利用率为0.0086、在第2h的cpu利用率为0.056、在第3h的cpu利用率为0.0516、在第4h的cpu利用率为0.0833、在第5h的cpu利用率为0.3824、在第6h的cpu利用率为0.0431;2号服务器在第1h的cpu利用率为33.0395、在第2h的cpu利用率为30.2886、在第3h的cpu利用率为39.3409、在第4h的cpu利用率为24.3349、在第5h的cpu利用率为28.9465、在第6h的cpu利用率为24.8818。其他服务器以此类推,本发明实施例在此不做赘述。
[0140]
步骤4,计算266个服务器在cpu利用率上每个预设阈值的基础活跃度指数。基础活跃度指数的计算流程包括以下步骤:
[0141]
步骤4.1,从266个服务器中选择1号服务器。
[0142]
步骤4.2,从cpu利用率的预设阈值列表{5%,35%,65%,95%}中选择第一个预设阈值5%。
[0143]
步骤4.3,计算1号服务器在预设阈值5%处的基础活跃度指数步骤4.3,计算1号服务器在预设阈值5%处的基础活跃度指数其中,表示第j号服务器的第i个预设参数在预设时间范围内的第q个参数值,j={1,2,
…
,266},i={1,2};表示第i个预设参数的第k个预设阈值,k={1,2,3,4};函数f(
·
)为
[0144]
步骤4.4,重复步骤4.2和步骤4.3,直到遍历完列表{5%,35%,65%,95%}中的4个预设阈值,得到1号服务器在监控指标cpu利用率上各预设阈值的基础活跃度指数列表。
[0145]
步骤4.5,重复步骤4.1至步骤4.4,直到遍历完266台服务器,得到各服务器在cpu利用率上各预设阈值的基础活跃度指数列表。
[0146]
图4为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为5%的基础活跃度指数示意图,如图4所示,图4中展示了266个服务器在cpu利用率的预设阈值为5%时的基础活跃度指数。
[0147]
图5为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为35%的基础活跃度指数示意图,如图5所示,图5中展示了266个服务器在cpu利用率的预设阈值为35%时的基础活跃度指数。
[0148]
图6为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为65%的基础活跃度指数示意图,如图6所示,图6中展示了266个服务器在cpu利用率的预设阈值为65%时的基础活跃度指数。
[0149]
图7为本发明实施例提供的一种各服务器在cpu利用率的预设阈值为95%的基础活跃度指数示意图,如图7所示,图7中展示了266个服务器在cpu利用率的预设阈值为95%时的基础活跃度指数。
[0150]
图8为本发明实施例提供的一种cpu利用率的预设阈值为5%时不同基础活跃度指数的服务器分布图,如图8所示,图8中展示了cpu利用率的预设阈值为5%时各基础活跃度指数对应的服务器数量。
[0151]
图9为本发明实施例提供的一种cpu利用率的预设阈值为35%时不同基础活跃度指数的服务器分布图,如图9所示,图9中展示了cpu利用率的预设阈值为35%时各基础活跃度指数对应的服务器数量。
[0152]
图10为本发明实施例提供的一种cpu利用率的预设阈值为65%时不同基础活跃度指数的服务器分布图,如图10所示,图10中展示了cpu利用率的预设阈值为65%时各基础活跃度指数对应的服务器数量。
[0153]
图11为本发明实施例提供的一种cpu利用率的预设阈值为95%时不同基础活跃度指数的服务器分布图,如图11所示,图11中展示了cpu利用率的预设阈值为95%时各基础活
跃度指数对应的服务器数量。
[0154]
步骤5,重复步骤3和步骤4,选择监控指标内存利用率,获取266个服务器在预设时间范围24h内按照预设频率采集的每个内存利用率。获取10个服务器的部分内存利用率,如表2所示,预设频率为1小时1次,单位为%。
[0155][0156][0157]
表2
[0158]
如表1所示,1号服务器在第1h的内存利用率为4.9248、在第2h的内存利用率为4.9283、在第3h的内存利用率为4.9133、在第4h的内存利用率为4.9022、在第5h的内存利用率为4.9021、在第6h的内存利用率为4.9143;2号服务器在第1h的内存利用率为27.8825、在第2h的内存利用率为27.8905、在第3h的内存利用率为27.8762、在第4h的内存利用率为27.885、在第5h的内存利用率为27.8634、在第6h的内存利用率为27.8825。其他服务器以此类推,本发明实施例在此不做赘述。
[0159]
计算266台服务器在内存利用率上每个预设阈值{5%,35%,65%,95%}的基础活跃度指数,从而得到云资源池266台服务器在cpu利用率和内存利用率上每个预设阈值的基础活跃度指数列表。
[0160]
图12为本发明实施例提供的一种各服务器在内存利用率的预设阈值为5%的基础活跃度指数示意图,如图12所示,图12中展示了266个服务器在cpu利用率的预设阈值为5%时的基础活跃度指数。
[0161]
图13为本发明实施例提供的一种各服务器在内存利用率的预设阈值为25%的基础活跃度指数示意图,如图13所示,图13中展示了266个服务器在内存利用率的预设阈值为25%时的基础活跃度指数。
[0162]
图14为本发明实施例提供的一种各服务器在内存利用率的预设阈值为45%的基础活跃度指数示意图,如图14所示,图14中展示了266个服务器在内存利用率的预设阈值为45%时的基础活跃度指数。
[0163]
图15为本发明实施例提供的一种各服务器在内存利用率的预设阈值为65%的基础活跃度指数示意图,如图15所示,图15中展示了266个服务器在内存利用率的预设阈值为65%时的基础活跃度指数。
[0164]
图16为本发明实施例提供的一种内存利用率的预设阈值为5%时不同基础活跃度指数的服务器分布图,如图16所示,图16中展示了cpu利用率的预设阈值为5%时各基础活跃度指数对应的服务器数量。
[0165]
图17为本发明实施例提供的一种内存利用率的预设阈值为25%时不同基础活跃度指数的服务器分布图,如图17所示,图17中展示了内存利用率的预设阈值为25%时各基础活跃度指数对应的服务器数量。
[0166]
图18为本发明实施例提供的一种内存利用率的预设阈值为45%时不同基础活跃度指数的服务器分布图,如图18所示,图18中展示了内存利用率的预设阈值为45%时各基础活跃度指数对应的服务器数量。
[0167]
图19为本发明实施例提供的一种内存利用率的预设阈值为65%时不同基础活跃度指数的服务器分布图,如图19所示,图19中展示了内存利用率的预设阈值为65%时各基础活跃度指数对应的服务器数量。
[0168]
步骤6:设定基础活跃度指数阈值{0.3,0.6,0.9},利用步骤5得到的基础活跃度指数列表,计算资源池在每个基础活跃度指数阈值的活跃度指数,方法如下:
[0169][0170][0171][0172]
其中,i={1,2},k={1,2,3,4},函数f(
·
)为遍历所有i和k,从而获得在预设时间范围内云资源池在预设参数的每个预设阈值上的活跃度指数。
[0173]
资源池在cpu利用率的每个预设阈值上的活跃度指数如表3所示:
[0174][0175]
表3
[0176]
如表3所示,表3中第5行第4列的值0.075表示资源池266台服务器中,有7.5%的服务器,在指定24小时区间内,其cpu利用率大于95%的采样点占比达到90%以上。其他位置的值以此类推,本发明实施例对比不做赘述。
[0177]
资源池在内存利用率的每个预设阈值上的活跃度指数如表4所示:
[0178][0179]
表4
[0180]
如表4所示,表4中第2行第2列的值0.695表示资源池266台服务器中,有69.5%的服务器,在指定24小时区间内,其内存利用率大于5%的采样点占比达到30%以上。其他位置的值以此类推,本发明实施例对比不做赘述。
[0181]
预设资源的预设参数的预设阈值越大,基础活跃点指数阈值越高,对应的活跃度指数越大,则意味着资源池在预设资源的资源利用率越高。
[0182]
进一步地,如果cpu利用率是1分钟1次的预设频率采集,且预设时间范围区间为24小时,以小时为基本单位将预设时间范围划分为24个子时间范围,然后利用稀疏化处理方法计算步骤4.3中的基础活跃度指数,具体方法如下:
[0183]
步骤4.3.1:将预设时间范围24小时划分为24个子时间范围,预设数量阈值n=10,初始化参数y=0,d=1。
[0184]
步骤4.3.2:获取一个子时间范围的参数值,初始化标记wd=0。
[0185]
步骤4.3.3:从步骤4.3.2所述的参数值中获取一个值,计算其与预设阈值的差值,如果大于等于0,则wd=wd+1;否则,wd保持不变。
[0186]
步骤4.3.4:计算w
d-10,如果等于0,表示此子时间范围内有10个参数值大于等于预设阈值,将y值加1,然后执行步骤4.3.6;否则,继续执行步骤4.3.5。
[0187]
步骤4.3.5:从参数值中获取一个新的值,重复步骤4.3.3至步骤4.3.4,直到遍历完子时间范围内的所有参数值。
[0188]
步骤4.3.6:d=d+1,如果d≤24,获取新的子时间范围的参数值,重复步骤4.3.2至步骤4.3.5,直到遍历完所有的子时间范围。
[0189]
步骤4.3.6:计算服务器pj在预设参数ri的预设阈值的基础活跃度指数h
ijk
,其中
[0190]
由于在本发明实施例中能够对资源池进行多维度、细粒度的活跃态势感知,更准确地确定预设时间范围内资源池中特定资源的利用情况,从而为资源池运营、扩容、资源优化、以及资源调度等方面的决策提供支撑。
[0191]
实施例6:
[0192]
在上述各实施例的基础上,图20为本发明实施例提供的一种云资源池的资源利用
率确定装置的结构示意图,所述装置包括:
[0193]
获取模块2001,用于获取所述云资源池内的每个服务器在预设时间范围内按照预设频率获取预设资源的预设参数的每个参数值;
[0194]
确定模块2002,用于针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数;确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。
[0195]
进一步地,所述确定模块,具体用于根据所述目标参数值的数量及该服务器的参数值的总数量,确定该服务器的基础活跃度指数。
[0196]
进一步地,所述确定模块,具体用于根据所述目标参数值的数量及所述预设时间范围包含的每个子时间范围,确定位于每个子时间范围内的子数量;针对每个子时间范围内的子数量,若该子数量不小于预设数量阈值,则确定该子时间范围满足条件;根据满足条件的子时间范围的数量及所述预设时间范围包含的子时间范围总数量,确定该服务器的基础活跃度指数。
[0197]
下面通过一个具体的实施例对本发明实施例的一种云资源池的资源利用率确定装置进行说明,图21为本发明实施例提供的另一种云资源池的资源利用率确定装置的结构示意图,所述装置包括:
[0198]
数据获取模块2101,用于获取云资源池中的物理服务器列表、预设资源的预设参数列表、以及预设时间范围内的预设参数的每个参数值。相当于上述实施例中的获取模块2001。
[0199]
参数设置模块2102,用于设置各预设参数的各预设阈值、预设时间范围、子时间范围的数量、基础活跃度指数阈值和数量阈值等配置参数值。
[0200]
指数计算模块2103,用于计算资源池各服务器在各预设参数上各预设阈值的基础活跃度指数和资源池在各基础活跃度指数阈值的资源利用率。相当于上述实施例中的确定模块2002。
[0201]
数据存储模块2104,用于存储获取的参数值、配置参数值和计算结果。
[0202]
数据展示模块2105,用于展示参数值、配置参数值、资源池在各基础活跃度指数阈值的资源利用率、以及资源池中各物理服务器在各预设参数上各预设阈值的基础活跃度指数;展示形式包括但不限于曲线图、雷达图、热图、分组热图、多分组聚类热图、频率分布直方图、累积频率曲线图、箱线图、表格等。
[0203]
实施例7:
[0204]
图22为本发明实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明还提供了一种电子设备,包括处理器2201、通信接口2202、存储器2203和通信总线2204,其中,处理器2201,通信接口2202,存储器2203通过通信总线2204完成相互间的通信;
[0205]
所述存储器2203中存储有计算机程序,当所述程序被所述处理器2201执行时,使得所述处理器2201执行如下步骤:
[0206]
获取所述云资源池内的每个服务器在预设时间范围内按照预设频率采集的预设
资源的预设参数的每个参数值;
[0207]
针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数;
[0208]
确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。
[0209]
进一步地,所述处理器2201还用于所述预设资源为cpu资源、内存资源、网络资源和磁盘资源中的任意一种。
[0210]
进一步地,所述处理器2201还用于若所述预设资源为cpu资源,所述预设参数为cpu利用率;若所述预设资源为内存资源,所述预设参数为内存利用率;若所述预设资源为网络资源,所述预设参数为网络流入流量速率或网络流出流量速率;若所述预设资源为磁盘资源,所述预设参数为磁盘读速率、或磁盘写速率、或磁盘分配率。
[0211]
进一步地,所述处理器2201具体用于所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
[0212]
根据所述目标参数值的数量及该服务器的参数值的总数量,确定该服务器的基础活跃度指数。
[0213]
进一步地,所述处理器2201具体用于所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
[0214]
根据所述目标参数值的数量及所述预设时间范围包含的每个子时间范围,确定位于每个子时间范围内的子数量;
[0215]
针对每个子时间范围内的子数量,若该子数量不小于预设数量阈值,则确定该子时间范围满足条件;
[0216]
根据满足条件的子时间范围的数量及所述预设时间范围包含的子时间范围总数量,确定该服务器的基础活跃度指数。
[0217]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0218]
通信接口2202用于上述电子设备与其他设备之间的通信。
[0219]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0220]
上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0221]
实施例9:
[0222]
在上述各实施例的基础上,本发明还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行如下步骤:
[0223]
获取所述云资源池内的每个服务器在预设时间范围内按照预设频率采集的预设资源的预设参数的每个参数值;
[0224]
针对每个服务器,根据该服务器的每个参数值及预设阈值,确定不小于所述预设阈值的目标参数值,根据所述目标参数值的数量,确定该服务器的基础活跃度指数;
[0225]
确定基础活跃度指数不小于预设的基础活跃度指数阈值的服务器的第一数量,基于所述第一数量以及所述云资源池内包含的服务器的第二数量,确定所述云资源池的所述预设资源针对所述预设阈值的资源利用率。
[0226]
进一步地,所述预设资源为cpu资源、内存资源、网络资源和磁盘资源中的任意一种。
[0227]
进一步地,若所述预设资源为cpu资源,所述预设参数为cpu利用率;若所述预设资源为内存资源,所述预设参数为内存利用率;若所述预设资源为网络资源,所述预设参数为网络流入流量速率或网络流出流量速率;若所述预设资源为磁盘资源,所述预设参数为磁盘读速率、或磁盘写速率、或磁盘分配率。
[0228]
进一步地,所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
[0229]
根据所述目标参数值的数量及该服务器的参数值的总数量,确定该服务器的基础活跃度指数。
[0230]
进一步地,所述根据所述目标参数值的数量,确定该服务器的基础活跃度指数包括:
[0231]
根据所述目标参数值的数量及所述预设时间范围包含的每个子时间范围,确定位于每个子时间范围内的子数量;
[0232]
针对每个子时间范围内的子数量,若该子数量不小于预设数量阈值,则确定该子时间范围满足条件;
[0233]
根据满足条件的子时间范围的数量及所述预设时间范围包含的子时间范围总数量,确定该服务器的基础活跃度指数。
[0234]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0235]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0236]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0237]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0238]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。