缓存组件的管理方法、装置、电子设备及存储介质与流程



1.本技术涉及计算机技术领域,尤其涉及一种缓存组件的管理方法、装置、电子设备及存储介质。


背景技术:



2.目前,通过探针(如,exporter),获取各种类型的监控数据,然后,再由推送组件(如,pusher)拉取对应探针上的监控数据,由于探针数量大,推送组件采用了多副本方式部署,每个推送组件负责一部分探针。接着,推送组件将数据推送给缓存组件。
3.相关技术中,推送组件与缓存组件的对应关系是一一对应,在用户集中探针数量增加时,推送组件数量就会增加,同时缓存组件副本的数量就需要增加。
4.但是,目前存在的问题是,推送组件数量增加时,缓存组件副本无法根据推送组件数量进行动态扩容,维护成本过高。


技术实现要素:



5.本技术提供一种缓存组件的管理方法、装置、电子设备及存储介质。
6.根据本技术实施例的第一方面,提出一种缓存组件的管理方法,所述缓存组件,用于缓存推送组件推送的数据项,所述推送组件用于推送多个监控项对应的多个数据项,所述方法包括:获取所述多个监控项的监控项总数量;根据所述监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。
7.在该技术方案中,通过获取多个监控项的监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。由此,根据预设策略以及多个监控项的监控项总数量,可动态扩容管理缓存组件副本,降低了维护成本。
8.根据本技术实施例的第二方面,提出一种缓存组件的管理装置,所述缓存组件,用于缓存推送组件推送的数据项,所述推送组件用于推送多个监控项对应的多个数据项,所述装置包括:第一获取模块,用于获取所述多个监控项的监控项总数量;管理模块,用于根据所述监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。
9.根据本技术实施例的第三方面,提出一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术第一方面实施例所述的方法。
10.根据本技术实施例的第四方面,提出一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本技术第一方面实施例所述的方法。
11.根据本技术实施例的第五方面,提出一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本技术第一方面实施例所述的方法。
12.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
13.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
14.图1是本技术实施例的用户集与监控集的交互示意图;
15.图2是本技术实施例提供的一种缓存组件的管理方法的流程示意图;
16.图3是本技术实施例提供的另一种缓存组件的管理方法的流程示意图;
17.图4是本技术实施例提供的另一种缓存组件的管理方法的流程示意图;
18.图5是本技术实施例提供的另一种缓存组件的管理方法的流程示意图;
19.图6是本技术实施例提供的另一种缓存组件的管理方法的流程示意图;
20.图7是本技术实施例提供的预设映射关系更新维护示意图;
21.图8是本技术实施例提供的另一种缓存组件的管理方法的流程示意图;
22.图9是本技术实施例提供的一种缓存组件的管理方法的流程示意图;
23.图10是本技术实施例提供的一种缓存组件的管理装置的结构示意图;
24.图11是本技术的实施例的示例电子设备1100的示意性框图。
具体实施方式
25.为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
27.目前,如图1所示,通过探针(如,exporter),获取各种类型的监控数据,然后,再由推送组件(如,pusher)拉取对应探针上的监控数据,由于探针数量大,推送组件采用了多副本方式部署,每个推送组件负责一部分探针。接着,推送组件将监控数据推送给相关容器引擎kce监控集内的网关组件kgw,用户集和容器引擎kce监控集属于不同的虚拟私有网络,二者之间通过公开的服务方式进行通信,因此要给每个网关配置网关地址。最后,通过负载均衡类型服务器svc(lb)转发到缓存组件(如,pushgateway组件)。
28.相关技术中,将推送组件与缓存组件的对应关系设置为一一对应,在用户集中探针数量增加时,推送组件数量就会增加,同时缓存组件副本的数量也需要增加。
29.但是,目前存在的问题是,推送组件数量增加时,缓存组件副本无法根据推送组件数量进行动态扩容,维护成本过高。
30.针对上述问题,本技术提供了一种缓存组件的管理方法、装置、电子设备及存储介质。其中,需要说明的是,该缓存组件的管理方法的执行主体为缓存组件的管理装置,该装置可被配置于电子设备中。其中,该电子设备可以是移动终端,例如,手机、平板电脑、个人数字助理、服务器等具有各种操作系统的硬件设备。
31.图2是本技术实施例提供的一种缓存组件的管理方法的流程示意图。其中,缓存组
件,用于缓存推送组件推送的数据项,推送组件用于推送多个监控项对应的多个数据项。
32.如图2所示,该缓存组件的管理方法可包括如下步骤:
33.步骤201,获取多个监控项的监控项总数量。
34.在本技术实施例中,推送组件用于获取多个监控项对应的多个监控数据,推送组件将多个监控项对应的多个监控数据推送给缓存组件时,缓存组件的管理装置可将多个监控数据进行过滤,将过滤后的多个监控数据对应的多个监控项作为监控项总数量。比如,通过exporter可获取各种类型的监控数据,每种类型的监控数据可作为一个监控项,pusher从exporter拉取一个或多个监控项,并将拉取的一个或多个监控项推送至缓存组件。
35.步骤202,根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。
36.为了降低维护成本,可选地,缓存组件的管理装置可预先设置策略,根据该策略,结合监控项总数量,动态扩容管理已有的缓存组件副本。
37.综上,通过获取多个监控项的监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。由此,根据预设策略以及多个监控项的监控项总数量,可动态扩容管理缓存组件副本,降低了维护成本。
38.如图3所示,图3是本技术实施例提供的另一种缓存组件的管理方法的流程示意图。作为一种可能实现方式,在本技术实施例中,可根据监控项总数量、已有的缓存组件副本的副本数量以及数据项数量对已有的缓存组件副本进行动态扩容管理,图3所示实施例包括如下步骤:
39.步骤301,获取多个监控项的监控项总数量。
40.步骤302,确定已有的缓存组件副本的副本数量。
41.在本技术实施例中,缓存组件的管理装置可对已有的缓存组件的副本数量进行统计,根据统计结果确定已有的缓存组件副本的副本数量。
42.步骤303,确定已有的缓存组件副本能够缓存的数据项数量。
43.接着,缓存组件的管理装置对已有的缓存组件副本能够缓存的数据项数量进行预先设置,从而确定已有的缓存组件副本能够缓存的数据项数量。
44.步骤304,根据监控项总数量、副本数量,以及数据项数量对已有的缓存组件副本进行动态扩容管理。
45.进而,缓存组件的管理装置根据监控项总数量、副本数量,以及数据项数量对已有的缓存组件副本进行动态扩容管理。
46.作为本技术实施例的一种可能实现方式,确定副本数量和数据项数量的乘积值;如果乘积值小于监控项总数量,则对已有的缓存组件副本进行动态扩容管理。
47.也就是说,通过已有的缓存组件副本的副本数量与已有的缓存组件副本能够缓存的数据项数量进行相乘,将乘积值与监控项总数量进行比对,在乘积值小于监控项总数量时,对已有的缓存组件副本进行动态扩容管理;在乘积值大于或等于监控项总数量时,不需要对已有的缓存组件副本进行动态扩容管理。
48.综上,通过获取多个监控项的监控项总数量;确定已有的缓存组件副本的副本数量;确定已有的缓存组件副本能够缓存的数据项数量;根据监控项总数量、副本数量,以及数据项数量对已有的缓存组件副本进行动态扩容管理。由此,根据监控项总数量、副本数
量,以及数据项数量可动态扩容管理缓存组件副本,降低了维护成本。
49.如图4所示,图4是本技术实施例提供的另一种缓存组件的管理方法的流程示意图。作为一种可能实现方式,在本技术实施例中,通过确定与缓存组件对应的数据项列表,并确定出数据列表中处于活动状态的目标数据源,进而获取监控项总数量,图4所示实施例包括如下步骤:
50.步骤401,确定与缓存组件对应的数据项列表,数据项列表包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个数据源标识分别对应的多个状态信息,与多个数据源标识分别对应的多个时间戳。
51.在本技术实施例中,缓存组件的管理装置可对缓存组件缓存的监控数据进行统计,确定与缓存组件对应的数据项列表。其中,需要说明的是,数据项列表可包括但不限于:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个数据源标识分别对应的多个状态信息,与多个数据源标识分别对应的多个时间戳,时间戳,是相应数据源标识所属数据源提供的数据项被推送至缓存组件时的最近时间戳。
52.需要理解的是,数据项列表保存了每一个数据项的统计信息,可包括数据项数量、数据项上次推送的时间,如,“var t=map[string]sourcestat{"url1":{count=100,lastpushtime=xxx}}”,其中,推送组件通过url(uniform resource locator,统一资源定位符)将多个监控项对应的多个数据项发送至缓存组件,该url中可包括数据源标识,与数据源标识对应的监控项标识,以及与数据源标识分别对应的状态信息。如,url为“post/metrics/job/foo/cluster/bar/object/buz/source/node”,数据源标识为“post/metrics/job/foo/cluster/bar/object/buz/source”,表示来自bar集的buz节点的监控数据,监控项标识为node_exporter。根据数据项列表中的时间戳(即数据源上次推送的时间)可确定多个数据源标识对应的多个状态信息,其中,状态信息可包括但不限于活动状态、失效状态。比如,时间戳超过一定阈值,也就是数据项上次推送时间距当前时间超过预先设定的时长阈值时,则确定该数据项处于失效状态,否则,数据项处于活动状态。
[0053]
步骤402,从多个状态信息中确定出目标状态信息,所述目标状态信息指示:对应的目标数据源标识所属目标数据源当前处于活动状态,所述目标数据源标识属于多个数据源标识。
[0054]
可选地,可对多个状态信息进行统计,根据统计结果确定出多个数据源标识中当前处于活动状态的目标数据对应的目标数据源标识。
[0055]
步骤403,将与目标数据源标识对应的多个监控项标识的数量作为所述监控项总数量。
[0056]
进一步地,将目标数据源标识对应的多个监控项标识的数量作为监控项总数量。也就是说,对推送组件推送的监控数据进行过滤,获取处于活动状态的监控数据,进而确定出对应的多个监控项标识的数量,将多个监控项标识的数量作为监控项总数量。
[0057]
步骤404,根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。
[0058]
综上,通过确定与缓存组件对应的数据项列表,数据项列表包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个数据源标识分别对应的多个状态信息;从多个状态信息中确定出目标状态信息,所述目标状态信息指示:对应的目标数据源标
识所属目标数据源当前处于活动状态,所述目标数据源标识属于所述多个数据源标识;将与目标数据源标识对应的多个监控项标识的数量作为监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理,由此,根据数据项列表中的状态信息确定目标状态信息,并目标状态信息对应的目标数据源标识,确定出对应的多个监控项标识的数量,接着,根据监控项总数量,结合预设策略可动态扩容管理缓存组件副本,降低了维护成本。
[0059]
如图5所示,图5是本技术实施例提供的另一种缓存组件的管理方法的流程示意图。作为另一种可能实现方式,在本技术实施例中,可通过监控项总数量和参考副本数量,确定目标副本数量,将目标副本数量与已有的缓存组件副本的数量进行比对,根据比对结果对已有的缓存组件副本进行动态扩容管理。图5所示实施例包括如下步骤:
[0060]
步骤501,确定参考副本数量。
[0061]
在本技术实施例中,可预先设置参考副本数量。
[0062]
步骤502,根据监控项总数量和参考副本数量,确定目标副本数量,目标副本数量大于已有的缓存组件副本的数量。
[0063]
作为本技术实施例的一种可能实现方式,可对已有的缓存组件副本预设一个能够存储数据项数量的上限,将监控项总数量与参考副本数量进行相比,将相比结果与预设的存储数据项数量的上限进行比对,若相比结果大于预设的存储数据项数量的上限,则增加参考副本数量,直至相比结果不大于预设的存储数据项数量的上限,并将对应的最终的参考副本数量作为目标副本数量。
[0064]
比如,可通过如下代码实现:
[0065]
for{
[0066]
res:=math.ceil(float64(total)/float64(exp))
[0067]
if res《pushgateway接受数据上限{
[0068]
break
[0069]
}
[0070]
exp++
[0071]
};
[0072]
其中,total表示监控项总数量;exp表示参考副本数量;res表示缓存组件副本缓存的数据项数量,pushgateway接受数据上限表示已有的缓存组件副本能够存储数据项数量的上限。
[0073]
步骤503,确定目标副本数量和已有的缓存组件副本的数量之间的差值数量。
[0074]
进一步地,将目标副本数量与已有的缓存组件副本的数量进行相差,根据相差结果可确定目标副本数量和已有的缓存组件副本的数量之间的差值数量。
[0075]
步骤504,针对已有的缓存组件副本增加差值数量的缓存组件副本,并将增加的缓存组件副本作为已增加缓存组件副本。
[0076]
在本技术实施例中,将已有的缓存组件副本加上目标副本数量与已有的缓存组件副本的数量之间的差值,从而实现对已有的缓存组件副本进行动态扩容管理。其中,将增加的缓存组件副本作为已增加缓存组件副本。
[0077]
综上,通过确定参考副本数量;根据监控项总数量和参考副本数量,确定目标副本
数量,目标副本数量大于已有的缓存组件副本的数量;确定目标副本数量和已有的缓存组件副本的数量之间的差值数量;针对已有的缓存组件副本增加差值数量的缓存组件副本,并将增加的缓存组件副本作为已增加缓存组件副本。由此,通过目标副本数量与已有的缓存组件副本的数量确定缓存组件副本动态扩容需要增加的缓存组件副本数量,将已有的缓存组件副本加上目标副本数量与已有的缓存组件副本的数量之间的差值,实现了对已有的缓存组件副本动态扩容管理。
[0078]
为了将监控数据准确地推送至缓存组件,如图6所示,图6是本技术实施例提供的另一种缓存组件的管理方法的流程示意图。在对缓存组件的已有的缓存组件副本进行动态扩容管理之后,可对组件副本列表以及推送组件与缓存组件之间的映射关系进行更新维护。图6所示实施例包括如下步骤:
[0079]
步骤601,确定参考副本数量。
[0080]
步骤602,根据监控项总数量和参考副本数量,确定目标副本数量,目标副本数量大于已有的缓存组件副本的数量。
[0081]
步骤603,确定目标副本数量和已有的缓存组件副本的数量之间的差值数量。
[0082]
步骤604,针对已有的缓存组件副本增加差值数量的缓存组件副本,并将增加的缓存组件副本作为已增加缓存组件副本。
[0083]
步骤605,获取已增加缓存组件副本的组件副本信息。
[0084]
在本技术实施例中,在已有的缓存组件副本进行扩容时,缓存组件的管理装置可通过监听获取已增加缓存组件副本的组件副本信息。
[0085]
可选地,获取已增加缓存组件副本的标识;针对已增加缓存组件副本配置相应的转发地址信息;确定已增加缓存组件副本的状态信息为:可用状态;将已增加缓存组件副本的标识、转发地址信息,以及可用状态作为已增加缓存组件副本的组件副本信息。
[0086]
也就是说,组件副本信息中可包括但不限于已增加缓存组件副本的标识、转发地址信息,以及可用状态作为已增加缓存组件副本的组件副本信息。其中,缓存组件的管理装置可通过监听获取已增加缓存组件副本的标识,并对已增加缓存组件副本配置相应的转发地址信息,将已增加缓存组件副本的状态信息确定为:可用状态。
[0087]
步骤606,根据组件副本信息对组件副本列表进行更新维护,以得到目标组件副本列表。其中,目标组件副本列表包括:多个组件副本标识,与多个组件副本标识分别对应的多个状态信息,以及与多个组件副本标识分别对应的多个转发地址信息,多个组件副本标识包括:已有的缓存组件副本的标识,和已增加缓存组件副本的标识。
[0088]
接着,根据监听到的已增加缓存组件副本的组件副本信息,对组件副本列表进行更新维护,将更新后的组件副本列表作为目标组件副本列表。其中,需要说明的是,目标组件副本列表包括:多个组件副本标识,与多个组件副本标识分别对应的多个状态信息,以及与多个组件副本标识分别对应的多个转发地址信息,多个组件副本标识可包括但不限于:已有的缓存组件副本的标识,和已增加缓存组件副本的标识。
[0089]
举例而言,当pushgateway副本发生扩容时,为pushgateway sts(sts,kubernetes中的一种控制器,全称为statefulset)设置特定的标签,通过监听k8s资源变化(即监听k8s中pushgateway副本的数量变化),更新副本列表记录。
[0090]
步骤607,根据已增加缓存组件副本的标识对预设映射关系进行更新维护,以得到
目标映射关系。其中,目标映射关系包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个监控项标识分别对应的多个缓存组件副本的标识,缓存组件副本的标识是:已有的缓存组件副本的标识,或者是已增加缓存组件副本的标识。
[0091]
进一步地,如图7所示,图7中接受组件可为本技术实施例的缓存组件,缓存组件管理装置可根据映射关系进行监控数据的转发。在本技术实施例中,缓存组件管理装置可根据已增加缓存组件副本的标识对预设映射关系进行更新维护,获取目标映射关系。比如,可采用哈希算法进行匹配:副本列表[hash(数据源标识%len(副本列表)]。其中,目标映射关系包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个监控项标识分别对应的多个缓存组件副本的标识,缓存组件副本的标识是:已有的缓存组件副本的标识,或者是已增加缓存组件副本的标识。综上,通过确定参考副本数量;根据监控项总数量和参考副本数量,确定目标副本数量,目标副本数量大于已有的缓存组件副本的数量;确定目标副本数量和已有的缓存组件副本的数量之间的差值数量;针对已有的缓存组件副本增加差值数量的缓存组件副本,并将增加的缓存组件副本作为已增加缓存组件副本;获取已增加缓存组件副本的组件副本信息;根据组件副本信息对组件副本列表进行更新维护,以得到目标组件副本列表。由此,实现了对已有的缓存组件副本动态扩容管理,并对组件副本列表、推送组件与缓存组件之间的映射关系进行更新维护,确保监控数据准确地推送至对应的缓存组件。
[0092]
需要理解的是,由于数据项列表中的数据项可能失效,因此,为了不影响缓存组件的动态扩容,以及组件副本列表、推送组件与缓存组件之间的映射关系的更新,如图8所示,图8是本技术实施例提供的另一种缓存组件的管理方法的流程示意图。在本技术实施例中,可根据多个时间戳,对数据项列表进行有效性维护。图8所示实施例可包括如下步骤:
[0093]
步骤801,确定与缓存组件对应的数据项列表,数据项列表包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个数据源标识分别对应的多个状态信息,与多个数据源标识分别对应的多个时间戳。
[0094]
步骤802,获取当前时间戳。
[0095]
在本技术实施例中,缓存组件的管理装置可从数据项列表中获取多个时间戳,并将多个时间戳中的距离当前时间最近的时间戳作为当前时间戳。
[0096]
步骤803,确定多个时间戳分别与当前时间戳之间的多个时间差值。
[0097]
也就是将多个时间戳分别与当前时间戳进行比对,获取多个时间差值。
[0098]
步骤804,从多个时间差值之中确定出目标时间差值,目标时间差值大于预设时长阈值。
[0099]
比如,可从多个时间差值与预设时长阈值进行比对,将大于预设时长阈值的时间差值作为目标时间差值。
[0100]
步骤805,从数据项列表之中,删除目标时间差值对应的目标时间戳所关联的内容,关联的内容包括:与目标时间戳对应的数据源标识、与对应的数据源标识对应的多个监控项标识,以及与对应的数据源标识对应的状态信息。
[0101]
为了保证数据项列表的有效性,在本技术实施例中,从数据项列表之中,将目标时间差值对应的目标时间戳所关联的内容进行删除。其中,需要说明的是,关联的内容可包括但不限于:与目标时间戳对应的数据源标识、与对应的数据源标识对应的多个监控项标识,
以及与对应的数据源标识对应的状态信息。
[0102]
步骤806,从多个状态信息中确定出目标状态信息,目标状态信息指示:对应的目标数据源标识所属目标数据源当前处于活动状态,目标数据源标识属于多个数据源标识。
[0103]
步骤807,将与目标数据源标识对应的多个监控项标识的数量作为监控项总数量。
[0104]
步骤808,根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。
[0105]
综上,通过确定与缓存组件对应的数据项列表,数据项列表包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个数据源标识分别对应的多个状态信息,与多个数据源标识分别对应的多个时间戳;获取当前时间戳;确定多个时间戳分别与当前时间戳之间的多个时间差值;从多个时间差值之中确定出目标时间差值,目标时间差值大于预设时长阈值;从数据项列表之中,删除目标时间差值对应的目标时间戳所关联的内容,关联的内容包括:与目标时间戳对应的数据源标识、与对应的数据源标识对应的多个监控项标识,以及与对应的数据源标识对应的状态信息;从多个状态信息中确定出目标状态信息,目标状态信息指示:对应的目标数据源标识所属目标数据源当前处于活动状态,目标数据源标识属于多个数据源标识;将与目标数据源标识对应的多个监控项标识的数量作为监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。由此,通过根据多个时间戳,对数据项列表进行有效性维护,可保证数据项列表的有效性,从而提高监控项总数量的准确性,接着,根据监控项总数量,结合预设策略可动态扩容管理缓存组件副本,降低了维护成本。
[0106]
为了使本领域技术人员更加清楚地了解本技术,现举例进行说明。
[0107]
举例而言,如图9所示,pusher(推送组件)获取到监控数据后,将监控数据推送给相关kce(容器引擎)监控集内的kgw(网关组件),接着,通过svc(负载均衡类型服务器)将监控数据进行转发,kce-pushgateway-controller(缓存组件的管理装置)可接收svc转发的监控数据并进行数据统计,并将统计的多个监控数据进行过滤清理,将过滤清理后的多个监控数据(处于活动状态的监控数据)对应的多个监控项作为监控项总数量。根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理,接着,在对已有的缓存组件副本进行动态扩容管理之后,可监听到已增加的缓存组件副本的组件副本信息,根据监听到已增加的缓存组件副本的组件副本信息,可对组件副本列表进行更新维护,进一步地,根据更新后的组件副本列表信息中的已增加缓存组件副本的标识,可对推送组件与缓存组件之间的映射关系进行更新,得到目标映射关系,在更新映射关系的过程中,可清理缓存组件上的监控数据,以免出现多个pushgateway上存在同一监控数据;和/或,对于已删除的集,清理对应的映射关系和pushgateway上的监控数据。进而,kce-pushgateway-controller可根据目标映射关系将监控数据转发至pushgateway(缓存组件)。
[0108]
本技术实施例的缓存组件的管理方法,通过获取多个监控项的监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。由此,根据预设策略以及多个监控项的监控项总数量,可动态扩容管理缓存组件副本,降低了维护成本。
[0109]
与上述图1至图9实施例提供的缓存组件的管理方法相对应,本技术还提供一种缓存组件的管理装置,由于本技术实施例提供的缓存组件的管理装置与上述图1至图9实施例提供的缓存组件的管理方法相对应,因此在缓存组件的管理方法的实施方式也适用于本申
请实施例提供的缓存组件的管理装置,在本技术实施例中不再详细描述。
[0110]
图10是本技术实施例提供的一种缓存组件的管理装置的结构示意图。其中,缓存组件,用于缓存推送组件推送的数据项,推送组件用于推送多个监控项对应的多个数据项。
[0111]
如图10所示,该缓存组件的管理装置1000包括:第一获取模块1010、管理模块1020。
[0112]
其中,第一获取模块1010,用于获取多个监控项的监控项总数量;管理模块1020,用于根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。
[0113]
作为本技术实施例的一种可能实现方式,管理模块1020,具体用于:确定已有的缓存组件副本的副本数量;确定已有的缓存组件副本能够缓存的数据项数量;根据监控项总数量、副本数量,以及数据项数量对已有的缓存组件副本进行动态扩容管理。
[0114]
作为本技术实施例的一种可能实现方式,管理模块1020,还用于:确定副本数量和数据项数量的乘积值;如果乘积值小于监控项总数量,则对已有的缓存组件副本进行动态扩容管理。
[0115]
作为本技术实施例的一种可能实现方式,第一获取模块1010,具体用于:确定与缓存组件对应的数据项列表,数据项列表包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个数据源标识分别对应的多个状态信息;从多个状态信息中确定出目标状态信息,目标状态信息指示:对应的目标数据源标识所属目标数据源当前处于活动状态,目标数据源标识属于所述多个数据源标识;将与目标数据源标识对应的多个监控项标识的数量作为监控项总数量。
[0116]
作为本技术实施例的一种可能实现方式,第一获取模块1010,还用于:确定参考副本数量;根据监控项总数量和参考副本数量,确定目标副本数量,目标副本数量大于已有的缓存组件副本的数量;确定目标副本数量和所述已有的缓存组件副本的数量之间的差值数量;针对已有的缓存组件副本增加差值数量的缓存组件副本,并将增加的缓存组件副本作为已增加缓存组件副本。
[0117]
作为本技术实施例的一种可能实现方式,缓存组件的管理装置1000还包括:第二获取模块、更新模块。
[0118]
第二获取模块,用于获取已增加缓存组件副本的组件副本信息;更新模块,用于根据组件副本信息对组件副本列表进行更新维护,以得到目标组件副本列表;其中,目标组件副本列表包括:多个组件副本标识,与多个组件副本标识分别对应的多个状态信息,以及与多个组件副本标识分别对应的多个转发地址信息,多个组件副本标识包括:已有的缓存组件副本的标识,和已增加缓存组件副本的标识。
[0119]
作为本技术实施例的一种可能实现方式,第二获取模块,具体用于:获取已增加缓存组件副本的标识;针对已增加缓存组件副本配置相应的转发地址信息;确定已增加缓存组件副本的状态信息为:可用状态;将已增加缓存组件副本的标识、转发地址信息,以及可用状态作为已增加缓存组件副本的组件副本信息。
[0120]
作为本技术实施例的一种可能实现方式,更新模块,还用于:根据已增加缓存组件副本的标识对预设映射关系进行更新维护,以得到目标映射关系;其中,目标映射关系包括:多个数据源标识,与数据源标识对应的多个监控项标识,以及与多个监控项标识分别对应的多个缓存组件副本的标识,缓存组件副本的标识是:已有的缓存组件副本的标识,或者
是已增加缓存组件副本的标识。
[0121]
作为本技术实施例的一种可能实现方式,数据项列表还包括:与所述多个数据源标识分别对应的多个时间戳,所述时间戳,是相应数据源标识所属数据源提供的数据项被推送至所述缓存组件时的最近时间戳。
[0122]
作为本技术实施例的一种可能实现方式,缓存组件的管理装置1000还包括:维护模块。
[0123]
其中,维护模块,用于根据多个时间戳,对所述数据项列表进行有效性维护。
[0124]
作为本技术实施例的一种可能实现方式,维护模块,具体用于:获取当前时间戳;确定多个时间戳分别与当前时间戳之间的多个时间差值;从多个时间差值之中确定出目标时间差值,目标时间差值大于预设时长阈值;从数据项列表之中,删除目标时间差值对应的目标时间戳所关联的内容,关联的内容包括:与目标时间戳对应的数据源标识、与对应的数据源标识对应的多个监控项标识,以及与对应的数据源标识对应的状态信息。
[0125]
本技术实施例的缓存组件的管理装置,通过获取多个监控项的监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。由此,根据预设策略以及多个监控项的监控项总数量,可动态扩容管理缓存组件副本,降低了维护成本。
[0126]
为了实现上述实施例,本技术还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0127]
图11示出了可以用来实施本技术的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
[0128]
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0129]
设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0130]
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如功能测试方法。例如,在一些实施例中,功能测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当
计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的功能测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行缓存组件的管理方法。
[0131]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0132]
用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0133]
在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0134]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0135]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
[0136]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计
算机程序来产生客户端和服务器的关系。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0137]
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
[0138]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术提出的技术方案所期望的结果,本文在此不进行限制。
[0139]
上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。

技术特征:


1.一种缓存组件的管理方法,其特征在于,所述缓存组件,用于缓存推送组件推送的数据项,所述推送组件用于推送多个监控项对应的多个数据项,所述方法包括:获取所述多个监控项的监控项总数量;根据所述监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。2.如权利要求1所述的方法,其特征在于,所述根据所述监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理,包括:确定所述已有的缓存组件副本的副本数量;确定所述已有的缓存组件副本能够缓存的数据项数量;根据所述监控项总数量、所述副本数量,以及所述数据项数量对已有的缓存组件副本进行动态扩容管理。3.如权利要求2所述的方法,其特征在于,所述根据所述监控项总数量、所述副本数量,以及所述数据项数量对已有的缓存组件副本进行动态扩容管理,包括:确定所述副本数量和所述数据项数量的乘积值;如果所述乘积值小于所述监控项总数量,则对已有的缓存组件副本进行动态扩容管理。4.如权利要求1所述的方法,其特征在于,所述获取所述多个监控项的监控项总数量,包括:确定与所述缓存组件对应的数据项列表,所述数据项列表包括:多个数据源标识,与所述数据源标识对应的多个监控项标识,以及与所述多个数据源标识分别对应的多个状态信息;从所述多个状态信息中确定出目标状态信息,所述目标状态信息指示:对应的目标数据源标识所属目标数据源当前处于活动状态,所述目标数据源标识属于所述多个数据源标识;将与所述目标数据源标识对应的多个监控项标识的数量作为所述监控项总数量。5.如权利要求4所述的方法,其特征在于,所述对已有的缓存组件副本进行动态扩容管理,包括:确定参考副本数量;根据所述监控项总数量和所述参考副本数量,确定目标副本数量,所述目标副本数量大于所述已有的缓存组件副本的数量;确定所述目标副本数量和所述已有的缓存组件副本的数量之间的差值数量;针对所述已有的缓存组件副本增加所述差值数量的缓存组件副本,并将增加的所述缓存组件副本作为已增加缓存组件副本。6.如权利要求5所述的方法,其特征在于,在所述对所述缓存组件的已有的缓存组件副本进行动态扩容管理之后,还包括:获取所述已增加缓存组件副本的组件副本信息;根据所述组件副本信息对组件副本列表进行更新维护,以得到目标组件副本列表;其中,所述目标组件副本列表包括:多个组件副本标识,与所述多个组件副本标识分别对应的多个状态信息,以及与所述多个组件副本标识分别对应的多个转发地址信息,所述多个组件副本标识包括:所述已有的缓存组件副本的标识,和所述已增加缓存组件副本的
标识。7.如权利要求6所述的方法,其特征在于,所述获取所述已增加缓存组件副本的组件副本信息,包括:获取所述已增加缓存组件副本的标识;针对所述已增加缓存组件副本配置相应的转发地址信息;确定所述已增加缓存组件副本的状态信息为:可用状态;将所述已增加缓存组件副本的标识、所述转发地址信息,以及所述可用状态作为所述已增加缓存组件副本的组件副本信息。8.如权利要求7所述的方法,其特征在于,还包括:根据所述已增加缓存组件副本的标识对预设映射关系进行更新维护,以得到目标映射关系;其中,所述目标映射关系包括:所述多个数据源标识,与所述数据源标识对应的多个监控项标识,以及与所述多个监控项标识分别对应的多个缓存组件副本的标识,所述缓存组件副本的标识是:所述已有的缓存组件副本的标识,或者是所述已增加缓存组件副本的标识。9.如权利要求4所述的方法,其特征在于,所述数据项列表还包括:与所述多个数据源标识分别对应的多个时间戳,所述时间戳,是相应数据源标识所属数据源提供的数据项被推送至所述缓存组件时的最近时间戳。10.如权利要求9所述的方法,其特征在于,还包括:根据所述多个时间戳,对所述数据项列表进行有效性维护。11.如权利要求10所述的方法,其特征在于,所述根据所述多个时间戳,对所述数据项列表进行有效性维护,包括:获取当前时间戳;确定所述多个时间戳分别与当前时间戳之间的多个时间差值;从所述多个时间差值之中确定出目标时间差值,所述目标时间差值大于预设时长阈值;从所述数据项列表之中,删除所述目标时间差值对应的目标时间戳所关联的内容,所述关联的内容包括:与所述目标时间戳对应的数据源标识、与所述对应的数据源标识对应的多个监控项标识,以及与所述对应的数据源标识对应的状态信息。12.一种缓存组件的管理装置,其特征在于,所述缓存组件,用于缓存推送组件推送的数据项,所述推送组件用于推送多个监控项对应的多个数据项,所述装置包括:第一获取模块,用于获取所述多个监控项的监控项总数量;管理模块,用于根据所述监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。13.根据权利要求12所述的装置,其特征在于,所述管理模块,具体用于:确定所述已有的缓存组件副本的副本数量;确定所述已有的缓存组件副本能够缓存的数据项数量;根据所述监控项总数量、所述副本数量,以及所述数据项数量对已有的缓存组件副本进行动态扩容管理。
14.根据权利要求13所述的装置,其特征在于,所述管理模块,还用于:确定所述副本数量和所述数据项数量的乘积值;如果所述乘积值小于所述监控项总数量,则对已有的缓存组件副本进行动态扩容管理。15.根据权利要求12所述的装置,其特征在于,所述第一获取模块,具体用于:确定与所述缓存组件对应的数据项列表,所述数据项列表包括:多个数据源标识,与所述数据源标识对应的多个监控项标识,以及与所述多个数据源标识分别对应的多个状态信息;从所述多个状态信息中确定出目标状态信息,所述目标状态信息指示:对应的目标数据源标识所属目标数据源当前处于活动状态,所述目标数据源标识属于所述多个数据源标识;将与所述目标数据源标识对应的多个监控项标识的数量作为所述监控项总数量。16.根据权利要求15所述的装置,其特征在于,所述第一获取模块,还用于:确定参考副本数量;根据所述监控项总数量和所述参考副本数量,确定目标副本数量,所述目标副本数量大于所述已有的缓存组件副本的数量;确定所述目标副本数量和所述已有的缓存组件副本的数量之间的差值数量;针对所述已有的缓存组件副本增加所述差值数量的缓存组件副本,并将增加的所述缓存组件副本作为已增加缓存组件副本。17.根据权利要求16所述的装置,其特征在于,所述装置还包括:第二获取模块,用于获取所述已增加缓存组件副本的组件副本信息;更新模块,用于根据所述组件副本信息对组件副本列表进行更新维护,以得到目标组件副本列表;其中,所述目标组件副本列表包括:多个组件副本标识,与所述多个组件副本标识分别对应的多个状态信息,以及与所述多个组件副本标识分别对应的多个转发地址信息,所述多个组件副本标识包括:所述已有的缓存组件副本的标识,和所述已增加缓存组件副本的标识。18.根据权利要求17所述的装置,其特征在于,所述第二获取模块,具体用于:获取所述已增加缓存组件副本的标识;针对所述已增加缓存组件副本配置相应的转发地址信息;确定所述已增加缓存组件副本的状态信息为:可用状态;将所述已增加缓存组件副本的标识、所述转发地址信息,以及所述可用状态作为所述已增加缓存组件副本的组件副本信息。19.根据权利要求18所述的装置,其特征在于,所述更新模块,还用于:根据所述已增加缓存组件副本的标识对预设映射关系进行更新维护,以得到目标映射关系;其中,所述目标映射关系包括:所述多个数据源标识,与所述数据源标识对应的多个监控项标识,以及与所述多个监控项标识分别对应的多个缓存组件副本的标识,所述缓存组件副本的标识是:所述已有的缓存组件副本的标识,或者是所述已增加缓存组件副本的标
识。20.根据权利要求15所述的装置,其特征在于,所述数据项列表还包括:与所述多个数据源标识分别对应的多个时间戳,所述时间戳,是相应数据源标识所属数据源提供的数据项被推送至所述缓存组件时的最近时间戳。21.根据权利要求20所述的装置,其特征在于,所述装置还包括:维护模块,用于根据所述多个时间戳,对所述数据项列表进行有效性维护。22.根据权利要求21所述的装置,其特征在于,所述维护模块,具体用于:获取当前时间戳;确定所述多个时间戳分别与当前时间戳之间的多个时间差值;从所述多个时间差值之中确定出目标时间差值,所述目标时间差值大于预设时长阈值;从所述数据项列表之中,删除所述目标时间差值对应的目标时间戳所关联的内容,所述关联的内容包括:与所述目标时间戳对应的数据源标识、与所述对应的数据源标识对应的多个监控项标识,以及与所述对应的数据源标识对应的状态信息。23.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。24.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的方法。25.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-11中任一项所述的方法。

技术总结


本申请提出一种缓存组件的管理方法、装置、电子设备及存储介质,涉及计算机技术领域,该方法包括:获取多个监控项的监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。该方法通过获取多个监控项的监控项总数量;根据监控项总数量,结合预设策略对已有的缓存组件副本进行动态扩容管理。由此,根据预设策略以及多个监控项的监控项总数量,可动态扩容管理缓存组件副本,降低了维护成本。降低了维护成本。降低了维护成本。


技术研发人员:

李哲伟

受保护的技术使用者:

北京金山云网络技术有限公司

技术研发日:

2021.06.07

技术公布日:

2022/12/22

本文发布于:2024-09-22 03:45:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/43720.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:副本   组件   缓存   多个
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议