一种信息处理方法、装置、设备及存储介质与流程

文档序号:27551835发布日期:2021-11-24 22:45阅读:73来源:国知局
一种信息处理方法、装置、设备及存储介质与流程

1.本技术涉及信息处理领域,涉及但不限于一种信息处理方法、装置、设备及存储介质。


背景技术:

2.相关技术中,在判断是否需要对应用的实例的数量进行调整时,只根据应用的一个指标,例如,内存使用率判断是否需要对应用的实例的数量进行调整,这样,造成判断是否对应用的实例的数量进行调整的准确度不高的问题。


技术实现要素:

3.本技术为解决相关技术中存在的至少一个问题而提供一种信息处理方法、装置、设备及存储介质,能够提高判断是否对应用的实例的数量进行调整的准确度。
4.本技术的技术方案是这样实现的:
5.第一方面,本技术实施例提供一种信息处理方法,所述方法包括:
6.根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率;
7.根据所述负载利用率,确定所述目标应用的实例的第一数量;所述第一数量为期望的所述目标应用的实例的数量;所述实例为所述目标应用的运行副本;
8.根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整;所述第二数量为所述目标应用所运行的实例的数量。
9.第二方面,本技术实施例提供了一种信息处理装置,所述装置包括:
10.第一确定单元,用于根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率;
11.第二确定单元,用于根据所述负载利用率,确定所述目标应用的实例的第一数量;所述第一数量为期望的所述目标应用的实例的数量;所述实例为所述目标应用的运行副本;
12.调整单元,用于根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整;所述第二数量为所述目标应用所运行的实例的数量。
13.第三方面,本技术实施例提供一种电子设备,存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述信息处理方法。
14.第四方面,本技术实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述信息处理方法。
15.本技术提供了一种信息处理方法、装置、设备及存储介质,根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率;根据所述负载利用率,确定所述目标应用的实例的第一数量;所述第一数量为期望的所述目标应用的实例的数量;所述实例为所述目标应用的运行副本;根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整;
所述第二数量为所述目标应用所运行的实例的数量。这样,可以根据目标应用的至少两个负载指标,判断是否需要对目标应用所运行的实例的数量进行调整,从而可以提高判断是否需要对目标应用所运行的实例的数量进行调整的准确度。
附图说明
16.图1为本技术实施例提供的一种信息处理系统的可选的结构示意图;
17.图2为本技术实施例提供的信息处理方法的可选的流程示意图;
18.图3为本技术实施例提供的信息处理方法的可选的流程示意图;
19.图4为本技术实施例提供的信息处理方法的可选的流程示意图;
20.图5为本技术实施例提供的信息处理方法的可选的流程示意图;
21.图6为本技术实施例提供的信息处理装置的可选的结构示意图;
22.图7为本技术实施例提供的电子设备的可选的结构示意图。
具体实施方式
23.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
24.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
25.对本技术进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
26.1)、负载,用于表征计算机资源,计算机资源可包括:中央处理器(central processing unit,cpu)资源、内存资源和网络资源等。
27.2)、负载指标,用于表征应用在运行时,计算机资源的使用情况,比如,在计算机资源为cpu的情况下,负载指标可包括:cpu利用率和cpu上下文切换率;在计算机资源为内存资源的情况下,负载指标可包括:内存(memory,men)使用率;在计算机资源为网络资源的情况下,负载指标可包括:输入输出(input output,io)响应时间、io使用率、io操作服务时间、网络速率、网络吞吐量和网络带宽。
28.这里,cpu利用率用于表征应用在运行时,cpu资源的使用情况,cpu上下文切换率用于表征cpu从一个任务切换到另一个任务的速率,内存使用率用于表征运行的应用所占用的内存资源。
29.3)、负载利用率,用于表征应用在运行时所消耗的计算机资源占对应的计算机资源的比值。
30.本技术实施例提供的信息处理方法可应用于信息处理系统,该信息处理系统可包括信息处理设备。
31.在一示例中,信息处理设备100的结构可如图1所示,信息处理设备100可包括:目标应用101和实例102。其中,实例102用于表征目标应用101的运行副本。
32.本技术实施例中,实例的数量可以是图1所示的三个实例,也可以是其他数量的实例。本技术实施例对实例的数量不进行任何限定。
33.本技术实施例中,基于图1所示的信息处理设备,信息处理设备根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率;根据所述负载利用率,确定所述目标应用的实例的第一数量;所述第一数量为期望的所述目标应用的实例的数量;所述实例为所述目标应用的运行副本;根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整;所述第二数量为所述目标应用所运行的实例的数量。
34.下面,结合图1所示的信息处理设备100的示意图,对本技术实施例提供的信息处理方法、装置、设备和存储介质的各实施例进行说明。
35.图2示意了一种可选的一种信息处理方法的流程示意图,本技术实施例提供的信息处理方法,用于调整应用的实例的数量;其中,对于调整各个应用的实例的数量的处理过程类似,现以目标应用(任一个应用)为例,对调整应用的实例的数量进行详细说明。
36.本技术实施例提供的一种信息处理方法可应用于信息处理设备,如图2所示,该方法可以包括如下步骤:
37.s201、根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率。
38.这里,目标应用包括:pod所管理的多个应用中的任意一个应用,其中,pod是一个应用管理平台中的管理应用的最小管理单位,应用管理平台可以是一个开源平台,开源平台例如为kubernetes(简称k8s)平台、无服务器运算平台(serverless computing,serverless)平台。
39.本技术实施例中,信息处理设备在确定了目标应用后,可以确定目标应用在运行时,至少两个计算机资源的使用情况(即至少两个负载指标),再根据至少两个负载指标,确定目标应用在运行时所消耗的计算机资源占对应的计算机资源的比值(即目标应用的负载利用率)。
40.这里,负载指标可包括:cpu利用率、内存使用率和io使用率。
41.信息处理设备在确定目标应用后,可以确定目标应用在运行时,cpu的利用率、内存的使用率和io的使用率,再根据cpu利用率、内存使用率和io使用率,确定目标应用在运行过程时所消耗的计算机资源占对应的计算机资源的比值。
42.这里,对于至少两个负载指标中每一所述负载指标,信息处理设备可以确定所述负载指标在一段时间内的平均利用率,并根据所述负载指标在一段时间内的平均利用率,确定目标应用的负载利用率,其中,对于一段时间的取值可以为1小时,也可以为其他数值,本技术实施例对此不进行限定。
43.在一示例中,负载指标包括:cpu利用率、内存使用率和io使用率,一段时间为1小时,信息处理设备确定cpu利用率在1小时内的平均利用率为p1,确定内存使用率在1小时内的平均利用率为p2,确定io使用率在1小时内的平均利用率为p3,则可根据p1、p2和p3,确定目标应用的负载利用率。
44.s202、根据所述负载利用率,确定所述目标应用的实例的第一数量。
45.这里,实例用于表征目标应用的运行副本。
46.在一示例中,目标应用为一即时通信软件,该即时通信软件的副本为在信息处理设备上运行的一个或两个该即时通信软件的不同的账号所对应的副本。
47.第一数量为期望的目标应用的实例的数量。
48.在一示例中,如果期望的目标应用的实例的数量为10,那么此时第一数量为10。
49.s203、根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整。
50.这里,第二数量为目标应用所运行的实例的数量。
51.在一示例中,如果目标应用所运行的实例的数量为3,那么此时第二数量为3。
52.第一数量和第二数量的第一关系可以包括:第一数量大于第二数量,或者,第一数量小于第二数量,或者,第一数量等于第二数量。
53.若第一数量大于第二数量,则表示期望的目标应用的实例的数量大于目前所运行的实例的数量。由于期望的实例的数量比运行的实例的数量多,因此,可以增大目前所运行的实例的数量,即第二数量,从而可以使得目前运行的实例的数量增大到所期望的实例的数量,即第一数量。
54.若第一数量小于第二数量,则表示期望的目标应用的实例的数量小于目前所运行的实例的数量。由于期望的实例的数量比运行的实例的数量少,因此,可以减小目前所运行的实例的数量,即第二数量,从而可以使得目前运行的实例的数量减小到所期望的实例的数量,即第一数量。
55.若第一数量等于第二数量,则表示期望的目标应用的实例的数量与目前所运行的实例的数量相等。由于期望的实例的数量和运行的实例的数量相等,因此,可以不改变目前所运行的实例的数量。
56.本技术实施例提供一种信息处理方法,根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率;根据所述负载利用率,确定所述目标应用的实例的第一数量;所述第一数量为期望的所述目标应用的实例的数量;所述实例为所述目标应用的运行副本;根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整;所述第二数量为所述目标应用所运行的实例的数量。这样,可以根据目标应用的至少两个负载指标,判断是否需要对目标应用所运行的实例的数量进行调整,从而可以提高判断是否需要对目标应用所运行的实例的数量进行调整的准确度。
57.本技术实施例中,上述s202可包括:根据负载利用率、第二数量和参考阈值,确定目标应用的实例的第一数量。
58.可以通过下述公式(1),确定目标应用的实例的第一数量。
[0059][0060]
其中,load为负载利用率,tu为参考阈值,cr为第二数量,ceil为向上取整函数。
[0061]
这里,参考阈值为一设定的标准值,可以根据负载利用率load和参考阈值tu的比值判断负载利用率与参考阈值的大小关系,若负载利用率load与标准阈值tu的比值等于1,则表示负载利用率load与参考阈值tu相等,此时不需要对目标应用的实例的数量进行调整;若负载利用率load与标准阈值tu的比值大于1,则表示负载利用率load大于参考阈值tu,此时需要增大目标应用的实例的数量;若负载利用率load与标准阈
值tu的比值小于1,则表示负载利用率load小于参考阈值tu,此时需要减小目标应用的实例的数量。
[0062]
本技术实施例中,参考阈值可以是5,也可以是其他数值,本技术实施例对此不进行任何限定。
[0063]
本技术实施例中,若确定的第一数量大于设置的目标应用的实例的最大数量max,则将第一数量确定为max;若确定的第一数量小于设置的目标应用的实例的最小数量min,则将第一数量确定为min。
[0064]
在一示例中,第一数量为10,设置的目标应用的实例的最大数量max为8,此时,由于第一数量10大于max8,因此,将第一数量确定为8。
[0065]
在一些实施例中,如图3所示,所述方法还包括:
[0066]
s301、确定所述至少两个负载指标中每一所述负载指标对应的目标权重。
[0067]
这里,可以通过k8s平台中的监控组件metricsserver,确定至少两个负载指标中的每一负载指标。
[0068]
在一示例中,通过监控组件metricsserver,确定的cpu利用率为60%,内存使用率为50%,io使用率为40%。
[0069]
信息处理设备可以接收用户输入的至少两个负载指标中每一负载指标对应的参考目标权重,并将接收的参考目标权重确定为目标权重。
[0070]
这里,对于参考目标权重的具体数值,本技术实施例对此不进行任何限定。
[0071]
在实际应用中,至少两个负载指标中每一负载指标对应的目标权重可以相同,也可以不同,本技术实施例对此不进行任何限定。
[0072]
本技术实施例中,在确定了至少两个负载指标中每一负载指标对应的目标权重后,上述s201包括:
[0073]
s302、根据所述至少两个负载指标和所确定的目标权重,确定所述目标应用的负载利用率。
[0074]
在一示例中,至少两个负载指标包括:cpu利用率60%、内存使用率50%和io使用率40%,至少两个负载指标对应的目标权重包括:cpu利用率对应的目标权重为0.5,内存使用率对应的目标权重为0.3,io使用率对应的目标权重为0.2,则可根据60*0.5+50*0.4+40*0.3,确定的目标应用的负载利用率为62%。
[0075]
在一些实施例中,所述方法还包括:确定所述目标应用的类型。
[0076]
这里,目标应用的类型可包括:计算型、内存型、网络型、集成开发和学习环境(integrated development and learning environment,idle)型和复合型。
[0077]
对于不同类型的目标应用,每个类型的目标应用对应一典型负载指标,典型负载指标为至少两个负载指标中的任意一个负载指标,典型负载指标为目标应用在运行过程中所消耗的最多的负载指标。
[0078]
在一示例中,对于计算型应用,计算型应用对应的典型负载指标为cpu利用率。
[0079]
在另一示例中,对于内存型应用,内存型应用对应的典型负载指标为内存使用率。
[0080]
在又一示例中,对于网络型应用,网络型应用对应的典型负载指标为网络吞吐量。
[0081]
本技术实施例中,典型负载指标所对应的权重与其他负载指标对应的权重相比,
可以是典型负载指标对应的权重比其他负载指标对应的权重大,也可以是典型负载指标对应的权重比其他负载指标对应的权重小,还可以是典型负载指标对应的权重与其他负载指标对应的权重相等,本技术实施例对此不进行任何限定。
[0082]
在一示例中,对于计算型应用,计算型应用对应的典型负载指标为cpu利用率,则计算型应用对应的权重集合中,cpu利用率对应的权重0.6,大于内存使用率对应的权重0.3和io使用率对应的权重0.1。
[0083]
本技术实施例中,一种类型的目标应用对应一种权重集合,其中,权重集合包括:至少两个负载指标中每一负载指标对应的权重。
[0084]
在一示例中,在至少两个负载指标包括:cpu利用率、内存使用率和io使用率的情况下,对于计算型应用,cpu利用率对应的权重为0.6,内存使用率对应的权重为0.3,io使用率对应的权重为0.1;对于内存型应用,cpu利用率对应的权重为0.3,内存使用率对应的权重为0.6,io使用率对应的权重为0.1。
[0085]
本技术实施例中,对于不同类型所对应的权重集合,权重集合中包括的负载指标对应的权重可以相同,也可以不同,本技术实施例对此不进行任何限定。
[0086]
在一示例中,对于计算型应用对应的权重集合和内存型应用对应的权重集合,针对负载指标包括io使用率的情况,两个权重集合中,io使用率对应的权重可以相同,例如,二者的io使用率均为0.1,两个权重集合中,io使用率对应的权重可以不同,例如,计算型应用的io使用率为0.2,内存型应用的io使用率为0.1。
[0087]
在确定了目标应用的类型后,所述确定所述至少两个负载指标中每一所述负载指标对应的权重,包括:根据所述类型,将至少一个权重集合中,所述类型对应的权重集合确定为目标权重集合。
[0088]
这里,权重集合包括:所述至少两个负载指标中每一所述负载指标对应的权重;所述目标权重集合包括:所述至少两个负载指标中每一所述负载指标对应的目标权重。
[0089]
在一示例中,权重集合可表示为:[cpu利用率对应的权重、内存使用率对应的权重、io使用率对应的权重];权重集合1:[0.6、0.3、0.1],权重集合2:[0.3、0.6、0.1],其中,权重集合1对应的类型为计算型应用,权重集合2对应的类型为内存型应用,若确定的目标应用的类型为计算型应用,则信息处理设备可以根据计算型应用,将权重集合1和权重集合2中,计算型应用对应的权重集合1确定为目标权重集合。
[0090]
在一些实施例中,如图4所示,所述确定所述目标应用的类型,包括:
[0091]
s401、确定所述至少两个负载指标中每一所述负载指标所对应的负载指标阈值。
[0092]
在一示例中,至少两个负载指标包括:cpu利用率、内存使用率和io使用率,其中,对于cpu利用率,cpu利用率对应的cpu利用率阈值可以为40%,对于内存使用率,内存使用率对应的内存使用率阈值可以为60%,对于io使用率,io使用率对应的io使用率阈值可以是60%。
[0093]
s402、确定所述至少两个负载指标和所确定的负载指标阈值的至少两个第二关系。
[0094]
这里,所述至少两个第二关系中每一所述第二关系表征所述至少两个负载指标中每一所述负载指标和所述负载指标对应的负载指标阈值的关系。
[0095]
在一示例中,在至少两个负载指标包括:cpu利用率60%、内存使用率40%和io使
用率40%的情况下,cpu利用率阈值为40%,内存使用率阈值为60%,io使用率阈值为60%,这样,对于cpu利用率,可以根据cpu利用率60%和cpu利用率阈值40%,确定cpu利用率与cpu利用率阈值的关系为cpu利用率大于cpu利用率阈值;对于内存使用率,可以根据内存使用率40%和内存使用率阈值60%,确定内存使用率和内存使用率阈值的关系为内存使用率小于内存使用率阈值;对于io使用率,可以根据io使用率40%和io使用率阈值60%,确定io使用率和io使用率阈值的关系为io使用率小于io使用率阈值。
[0096]
s403、将所述至少两个第二关系中,所述至少两个负载指标大于所确定的负载指标阈值的第二关系,确定为目标第二关系。
[0097]
在一示例中,至少两个第二关系包括:cpu利用率大于cpu利用率阈值、内存使用率小于内存使用率阈值和io使用率小于io使用率阈值,其中,由于cpu利用率大于cpu利用率阈值,因此,可以将cpu利用率大于cpu利用率阈值的第二关系,确定为目标第二关系。
[0098]
s404、根据所述目标第二关系中的负载指标,确定所述目标应用的类型。
[0099]
这里,在确定了目标第二关系中的负载指标后,可以将目标第二关系中的负载指标确定为典型负载指标,再根据典型负载指标,确定与典型负载指标对应的目标应用的类型。
[0100]
在一示例中,目标第二关系为cpu利用率大于cpu利用率阈值,则可确定cpu利用率为典型负载指标,再根据典型负载指标,确定与典型负载指标对应的目标应用的类型为计算型应用。
[0101]
本技术实施例中,针对idle型应用,由于idle型应用不对应一典型负载指标,因此,在负载指标均小于负载指标对应的负载指标阈值的情况下,可以将目标应用的类型确定为idle型。
[0102]
针对复合型应用,由于复合型应用是计算型应用和内存型应用的综合,因此,可以将cpu利用率大于40%,且内存使用率大于60%的目标应用的类型确定为复合型。
[0103]
在一些实施例中,如图5所示,上述s202,包括:
[0104]
s501、判断所述负载利用率和负载值是否满足设定条件。
[0105]
这里,设定条件包括:所述负载利用率和所述负载值大于扩容阈值,或者,所述负载利用率和所述负载值小于缩容阈值。
[0106]
扩容阈值用于表征在负载利用率和负载值均大于扩容阈值的情况下,才能够开始对目标应用进行扩容;缩容阈值用于表征在负载利用率和负载值均小于缩容阈值的情况下,才能够开始对目标应用进行缩容。
[0107]
这里,对目标应用进行扩容为增大目标应用的实例的数量,对目标应用进行缩容为减小目标应用的实例的数量。
[0108]
本技术实施例中,可以通过下述公式(2),对扩容阈值up进行计算。
[0109]
up=tu*(1+tolerance)
ꢀꢀꢀ
公式(2);
[0110]
其中,tu为参考阈值,tolerance为常数。
[0111]
本技术实施例中,tolerance可以为0.1,也可以为其他数值,本技术实施例对此不进行任何限定。
[0112]
可以通过下述公式(3),对缩容阈值down进行计算。
[0113]
down=tu*(1

tolerance)
ꢀꢀꢀ
公式(3)。
[0114]
本技术实施例中,由于扩容阈值表示的是只有达到该扩容阈值了,才能对目标应用进行扩容,缩容阈值表示的是只有达到该缩容阈值了,才能对缩容阈值进行缩容,因此,为了使得扩容阈值和缩容阈值不同,在计算扩容阈值时,在参考阈值tu的基础上乘以(1+tolerance),在计算缩容阈值时,在参考阈值tu的基础上乘以(1

tolerance)。
[0115]
s502、若所述负载利用率和所述负载值满足所述设定条件,则根据所述负载利用率,确定所述目标应用的实例的第一数量。
[0116]
这里,若设定条件为负载利用率和负载值大于扩容阈值,则表示可以对目标应用进行扩容,根据负载利用率,确定对目标应用进行扩容后所期望的目标应用的实例的数量。
[0117]
在一示例中,负载利用率为60%、负载值为70%,扩容阈值为50%,由于负载利用率60%和负载值70%均大于扩容阈值50%,因此,可以根据负载利用率60%,确定扩容后所期望的目标应用的实例的第一数量。
[0118]
若设定条件为负载利用率和负载值小于缩容阈值,则表示可以对目标应用进行缩容,根据负载利用率,确定对目标应用进行缩容后所期望的目标应用的实例的数量。
[0119]
在一示例中,负载利用率为60%、负载值为70%,缩容阈值为80%,由于负载利用率60%和负载值70%均小于缩容阈值80%,因此,可以根据负载利用率60%,确定扩容后所期望的目标应用的实例的第一数量。
[0120]
在一些实施例中,所述方法还包括:将所述负载利用率输入至设定模型,得到所述负载值;所述设定模型用于对所述负载利用率进行平稳处理。
[0121]
这里,设定模型可以包括:自回归积分滑动平均(autoregressive integrated moving average model,arima)模型。
[0122]
本技术实施例中,在负载利用率发生突变,比如,cpu利用率在增加后又很快降低的情况下,针对负载利用率增加的情况,此时应对目标应用进行扩容,但是针对cpu利用率在增加后又很快降低了的情况,应对目标应用进行扩容后又缩容,这样,容易造成伸缩抖动的问题,且易造成资源浪费的问题,为了避免上述两个问题,本技术将负载利用率输入值设定模型,以将发生突变的负载利用率调整为一平稳的负载利用率,这样,可以避免发生伸缩抖动的问题以及资源浪费的问题。
[0123]
随着云原生技术的发展,serverless的运维自动化、按需加载、弹性伸缩、强隔离性、敏捷开发部署等技术特点,带来了降低人力成本、降低风险、降低基础设施成本、降低交付时间等核心优势。这其中,弹性伸缩是serverless中被广泛关注的一大亮点,甚至有些人将自动扩缩容的能力支持作为应用是否serverless化的判定标准。
[0124]
弹性伸缩所关注的问题主要是容量规划与实际集群负载间的矛盾,当现有集群的资源无法承载流量压力时,如果通过调整集群的规模或者资源的分配,从而保障系统的稳定性,同样在集群负载较低时,尽量降低集群的资源配置从而减少闲置资源的浪费带来的成本开销。
[0125]
目前大部分开源组件和解决方案都是基于kubernetes的弹性伸缩组件来实现自动扩缩容的。kubernetes提供了一系列标准的弹性伸缩组件,从方向上可分为横向水平和纵向垂直两种伸缩方式,从对象上可分为按pod伸缩和按节点伸缩。
[0126]
kubernetes提供的基于单一负载指标阈值的伸缩策略对应用进行弹性伸缩时,需要用户定义应用的pod时设置pod的资源分配量request,并预先确定衡量负载的指标,设置
伸缩阈值、最大副本数、最小副本数等参数。默认情况下此弹性伸缩策略的工作流程每隔30s执行1次检查负载动作。
[0127]
kubernetes基于单一负载指标阈值的自动伸缩策略在获取应用负载时,假如应用的负载值是暂时性的,并且很快又降低,若未低于缩容阈值,这种pod资源的增加就造成系统资源的浪费,若低于缩容阈值则立刻触发缩容,因此导致伸缩抖动,频繁的伸缩对系统造成耗费,给系统造成很大的负担。
[0128]
本方案提出一种信息处理方法,该方法对目标应用进行伸缩时,综合目标应用当前不同的负载指标进行计算,得出应用的类型,然后输出该类型的典型负载指标,为了减少伸缩抖动,该方法利用arima对目标应用发负载利用率的变化情况进行预测,最后综合应用负载利用率和负载值共同决定是否触发伸缩,伸缩即为对目标应用的扩容或者缩容。
[0129]
本技术中根据应用的不同负载指标,将应用分为不同类型,一共包括5类:计算型、内存型、网络型、idle型和复合型。
[0130]
确定目标应用的类型的具体工作流程如下:
[0131]
第一步、提取应用所消耗的计算机资源。
[0132]
这里,可以通过kubernetes平台监控组件metricsserver将应用消耗的多种计算机资源进行采集汇总。
[0133]
第二步、根据提取的硬件资源,确定硬件资源所对应的负载指标。
[0134]
这里,可以将计算机资源的平均利用率确定为硬件资源所对应的负载指标。
[0135]
第三步、根据所述负载指标和负载指标阈值,确定应用的类型。
[0136]
在一示例中,目标应用的cpu利用率大于40%的为计算型,内存使用率大于60%的为内存型。
[0137]
本技术实施例中,判断是否需要对目标应用进行扩容和缩容的具体步骤如下所述:
[0138]
步骤1:根据各个负载指标以及负载指标对应的权重,确定负载利用率load。
[0139]
步骤2:将负载利用率load输入至arima算法,计算目标应用的负载值pre。
[0140]
步骤3:计算目标应用的扩容阈值up和缩容阈值down。
[0141]
步骤4:判断负载利用率load和负载值pre是否都大于扩容阈值up。如果都大于扩容阈值up,则进行步骤6,否则进行步骤5。
[0142]
步骤5:判断负载利用率load和负载值pre是否都小于缩容阈值down。如果都小于缩容阈值down,则进行步骤6。
[0143]
步骤6:计算目标应用的实例的第一数量。
[0144]
这里,对于步骤6的解释,请具体参见上述实施例中的解释,此处不再赘述。
[0145]
图6为本技术实施例的提供的一种信息处理装置,如图6所示,该信息处理装置600包括:
[0146]
第一确定单元601,用于根据目标应用的至少两个负载指标,确定所述目标应用的负载利用率;
[0147]
第二确定单元602,用于根据所述负载利用率,确定所述目标应用的实例的第一数量;所述第一数量为期望的所述目标应用的实例的数量;所述实例为所述目标应用的运行副本;
[0148]
调整单元603,用于根据所述第一数量和第二数量的第一关系,对所述第二数量进行调整;所述第二数量为所述目标应用所运行的实例的数量。
[0149]
在一些实施例中,所述装置还包括:第三确定单元,用于确定所述至少两个负载指标中每一所述负载指标对应的目标权重;
[0150]
第一确定单元601,还用于根据所述至少两个负载指标和所确定的目标权重,确定所述目标应用的负载利用率。
[0151]
在一些实施例中,所述第三确定单元,还用于确定所述目标应用的类型;
[0152]
所述第三确定单元,还用于:
[0153]
根据所述类型,将至少一个权重集合中,所述类型对应的权重集合确定为目标权重集合;所述权重集合包括:所述至少两个负载指标中每一所述负载指标对应的权重;所述目标权重集合包括:所述至少两个负载指标中每一所述负载指标对应的目标权重。
[0154]
在一些实施例中,所述第三确定单元,还用于:
[0155]
确定所述至少两个负载指标中每一所述负载指标所对应的负载指标阈值;
[0156]
确定所述至少两个负载指标和所确定的负载指标阈值的至少两个第二关系;
[0157]
将所述至少两个第二关系中,所述至少两个负载指标中大于所确定的负载指标阈值的第二关系,确定为目标第二关系;
[0158]
根据所述目标第二关系中的负载指标,确定所述目标应用的类型。
[0159]
在一些实施例中,第二确定单元602,还用于:
[0160]
判断所述负载利用率和负载值是否满足设定条件;所述设定条件包括:所述负载利用率和所述负载值大于扩容阈值,或者,所述负载利用率和所述负载值小于缩容阈值;
[0161]
若所述负载利用率和所述负载值满足所述设定条件,则根据所述负载利用率,确定所述目标应用的实例的第一数量。
[0162]
在一些实施例中,所述装置还包括:第四确定单元,用于将所述负载利用率输入至设定模型,得到所述负载值;所述设定模型用于对所述负载利用率进行平稳处理。
[0163]
在一些实施例中,调整单元603,还用于:
[0164]
若所述第一数量大于所述第二数量,则增大所述第二数量;
[0165]
若所述第一数量小于所述第二数量,则减小所述第二数量。
[0166]
本技术实施例还提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的信息处理方法。
[0167]
本技术实施例还提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的信息处理方法。
[0168]
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0169]
需要说明的是,图7为本技术实施例电子设备的一种硬件实体示意图,如图7所示,所述电子设备包括:一个处理器701、至少一个通信总线702、至少一个外部通信接口704和存储器705。其中,通信总线702配置为实现这些组件之间的连接通信。在一示例中,电子设备700还包括:用户接口703、其中,用户接口703可以包括显示屏,外部通信接口704可以包
括标准的有线接口和无线接口。
[0170]
存储器705配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及电子设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
[0171]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0172]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0173]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0174]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0175]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0176]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0177]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介
质。
[0178]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
[0179]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1