缓存数据处理方法和装置、电子设备及存储介质与流程

文档序号:32785887发布日期:2023-01-03 18:48阅读:28来源:国知局
缓存数据处理方法和装置、电子设备及存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种缓存数据处理方法和装置、电子设备及存储介质。


背景技术:

2.目前,由于数据库的读取速度远小于内存的读取速度,所以为了加快读取速度,会将部分数据存储到内存中,该内存称为缓存。但是缓存的容量较小,当待缓存的数据超出缓存容量限制时,根据淘汰算法淘汰部分数据。相关技术中,淘汰算法包括lru(least recently used),即最近最少使用,lru算法的思想是如果数据最近被访问过,那么将来被访问的概率也会很高,但是这种淘汰算法容易剔除掉访问次数多的数据。


技术实现要素:

3.本技术实施例的主要目的在于提出一种缓存数据处理方法和装置、电子设备及存储介质,旨在避免错误剔除掉访问次数多的数据。
4.为实现上述目的,本技术实施例的第一方面提出了一种缓存数据处理方法,所述方法包括:
5.获取待处理的原始缓存数据;其中,所述原始缓存数据存储于预设的目标存储空间,所述原始缓存数据包括初始热度数据,所述初始热度数据用于表征所述原始缓存数据的数据热度,所述目标存储空间具有初始数据容量;
6.根据所述初始热度数据对所述原始缓存数据进行通过率评估,得到所述原始缓存数据的目标通过率;
7.根据所述目标通过率和预先获取的第一数值对所述原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据;其中,所述初始热度数据包括第一热度数据和第二热度数据,所述第一候选缓存数据包括所述第一热度数据,所述第二候选缓存数据包括所述第二热度数据,所述第一数值是小于1的正小数;
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.分类模块,用于根据所述目标通过率和预先获取的第一数值对所述原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据;其中,所述初始热度数据包括第一热度数据和第二热度数据,所述第一候选缓存数据包括所述第一热度数据,所述第二候选缓存数据包括所述第二热度数据,所述第一数值是小于1的正小数;
36.热度增强模块,用于对所述第一热度数据进行热度增强处理,得到所述第一候选缓存数据的第一热度值;
37.筛选模块,用于根据所述第一热度值和所述第二热度数据对所述原始缓存数据进行筛选处理,得到第一目标缓存数据;
38.剔除处理模块,用于若所述初始数据容量大于预设的数据容量阈值,则将所述第一目标缓存数据进行剔除处理。
39.为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
40.为实现上述目的,本技术实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
41.本技术提出的缓存数据处理方法和装置、电子设备及计算机可读存储介质,其通过获取待处理的原始缓存数据,其中,原始缓存数据存储于预设的目标存储空间,原始缓存数据包括初始热度数据,初始热度数据用于表征原始缓存数据的数据热度,目标存储空间具有初始数据容量,根据初始热度数据对原始缓存数据进行通过率评估,得到原始缓存数据的目标通过率,根据目标通过率和预先获取的第一数值对原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据,其中,初始热度数据包括第一热度数据和第二热度数据,第一候选缓存数据包括第一热度数据,第二候选缓存数据包括第二热度数据,第一数值是小于1的正小数,对第一热度数据进行热度增强处理,得到第一候选缓存数据的第一热度值,这一方式能够对第一候选缓存数据进行热度增强处理,使得随着访问次数的增加第一候选缓存数据的第一热度数据变大,从而得到第一热度值,提高热度值的准确性。进一步地,根据第一热度值和第二热度数据对原始缓存数据进行筛选处理,得到第一目标缓存数据,若初始数据容量大于预设的数据容量阈值,则将第一目标缓存数据进行剔除处理,能够根据第一热度值和第二热度数据从原始缓存数据筛选出第一目标缓存数据,并将该第一目标缓存数据从目标存储空间中剔除,能够避免错误剔除掉访问次数多的缓存数据,从而提高数据处理的准确性。
附图说明
42.图1是本技术实施例提供的缓存数据处理方法的第一流程图;
43.图2是图1中的步骤s110的流程图;
44.图3是图2中的步骤s230的流程图;
45.图4是图3中的步骤s330的流程图;
46.图5是图1中的步骤s130的流程图;
47.图6是图1中的步骤s160的流程图;
48.图7是本技术实施例提供的缓存数据处理方法的第二流程图;
49.图8是本技术实施例提供的缓存数据处理装置的结构示意图;
50.图9是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
52.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
53.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
54.首先,对本技术中涉及的若干名词进行解析:
55.缓存(caching):是将数据子集储存到一个具备高度可访问性的高速运行层的过程,这一层被称作高速缓冲存储器(cache)。此过程旨在快速读取使用率较高的数据,避免在存取之前的数据时产生额外的计算负担。
56.容量:常指一个物体的容积的大小,容量的公制单位是升。容量也指物体或者空间所能够容纳的单位物体的数量。现广泛应用于计算机硬盘、电池等储量的计量。
57.目前,由于数据库的读取速度远小于内存的读取速度,所以为了加快读取速度,会将部分数据存储到内存中,该内存称为缓存。但是缓存的容量较小,当待缓存的数据超出缓存容量限制时,根据淘汰算法淘汰部分数据。相关技术中,淘汰算法包括lru(least recently used),即最近最少使用,lru算法的思想是如果数据最近被访问过,那么将来被访问的概率也会很高,但是这种淘汰算法容易剔除掉访问次数多的数据。
58.基于此,本技术实施例提供了一种缓存数据处理方法和装置、电子设备及存储介质,旨在避免错误剔除掉访问次数多的数据。
59.本技术实施例提供的缓存数据处理方法和装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的缓存数据处理方法。
60.本技术实施例提供的缓存数据处理方法,涉及数据处理技术领域。本技术实施例提供的缓存数据处理方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存
储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现缓存数据处理方法的应用等,但并不局限于以上形式。
61.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
62.图1是本技术实施例提供的缓存数据处理方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤s110至步骤s160。
63.步骤s110,获取待处理的原始缓存数据;其中,原始缓存数据存储于预设的目标存储空间,原始缓存数据包括初始热度数据,初始热度数据用于表征原始缓存数据的数据热度,目标存储空间具有初始数据容量;
64.步骤s120,根据初始热度数据对原始缓存数据进行通过率评估,得到原始缓存数据的目标通过率;
65.步骤s130,根据目标通过率和预先获取的第一数值对原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据;其中,初始热度数据包括第一热度数据和第二热度数据,第一候选缓存数据包括第一热度数据,第二候选缓存数据包括第二热度数据,第一数值是小于1的正小数;
66.步骤s140,对第一热度数据进行热度增强处理,得到第一候选缓存数据的第一热度值;
67.步骤s150,根据第一热度值和第二热度数据对原始缓存数据进行筛选处理,得到第一目标缓存数据;
68.步骤s160,若初始数据容量大于预设的数据容量阈值,则将第一目标缓存数据进行剔除处理。
69.本技术实施例所示意的步骤s110至步骤s160,通过获取待处理的原始缓存数据,其中,原始缓存数据存储于预设的目标存储空间,原始缓存数据包括初始热度数据,初始热度数据用于表征原始缓存数据的数据热度,目标存储空间具有初始数据容量,根据初始热度数据对原始缓存数据进行通过率评估,得到原始缓存数据的目标通过率,根据目标通过率和预先获取的第一数值对原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据,其中,初始热度数据包括第一热度数据和第二热度数据,第一候选缓存数据包括第一热度数据,第二候选缓存数据包括第二热度数据,第一数值是小于1的正小数,对第一热度数据进行热度增强处理,得到第一候选缓存数据的第一热度值,这一方式能够对第一候选缓存数据进行热度增强处理,使得随着访问次数的增加第一候选缓存数据的第一热度数据变大,从而得到第一热度值,提高热度值的准确性。进一步地,根据第一热度值和第二热度数据对原始缓存数据进行筛选处理,得到第一目标缓存数据,若初始数据容量大于
预设的数据容量阈值,则将第一目标缓存数据进行剔除处理,能够根据第一热度值和第二热度数据从原始缓存数据筛选出第一目标缓存数据,并将该第一目标缓存数据从目标存储空间中剔除,能够避免错误剔除掉访问次数多的缓存数据,从而提高数据处理的准确性。
70.在一些实施例的步骤s110中,获取待处理的原始缓存数据,该原始缓存数据为当前存储于目标存储空间的部分缓存数据或者全部缓存数据,目标存储空间为用于存储原始缓存数据的某一存储设备,目标存储空间具有初始数据容量。原始缓存数据包括初始热度数据,初始热度数据用于表征原始缓存数据的数据热度。可以理解的是,缓存数据被访问的频率可以用于评估数据热度,其随着时间的推移而变化。若某一缓存数据在一时间段内被频繁访问,该缓存数据的数据热度通常较高,随着时间的推移,数据被访问的频率降低,数据热度也随之下降。
71.在一些实施例的步骤s120中,当用户端利用应用程序链接存储设备访问原始缓存数据时,根据初始热度数据、预设的计算因子和预设的数值对原始缓存数据进行通过率评估,得到原始缓存数据的目标通过率。若初始热度数据表示为heatvalue,计算因子表示为cal_factor,预设的数值为一常数,表示为a,该常数可以为1,目标通过率表示为p,则通过率的评估方法如公式(1)所示。
[0072][0073]
在一些实施例的步骤s130中,由于数据热度是基于一段时间内数据的访问频率得到的,并不是每次访问数据都会数据热度,因此本技术实施例通过定义目标通过率和第一数值限制数据热度增长的速度。为了识别出原始缓存数据中可以进行热度增加的数据和不进行热度增加的数据,随机生成一个小于1的正整数作为第一数值,根据目标通过率和第一数值对原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据。具体地,当目标通过率和第一数值满足预设的热度增加判别条件,则将原始缓存数据分类为第一候选缓存数据,当目标通过率和第一数值不满足该热度增加判别条件,则将原始缓存数据分类为第二候选缓存数据。初始热度数据包括第一热度数据和第二热度数据,第一候选缓存数据包括第一热度数据,第一热度数据用于表征第一候选缓存数据的数据热度,第二候选缓存数据包括第二热度数据,第二热度数据用于表征第二候选缓存数据的数据热度。
[0074]
在一些实施例的步骤s140中,第一候选缓存数据是可以进行热度增加的数据,根据热度增强参数对第一热度数据进行热度增强处理,得到第一候选缓存数据的第一热度值。具体地,将热度增强参数与第一热度数据进行数值相加,得到第一热度值,其中热度增强参数可以为1。例如,若热度增强参数表示为enhance_num,第一热度数据表示为heatvalue,第一热度值表示为heatvalue1,则热度增强的方法如公式(2)所示。
[0075]
heatvalue1=heatvalue+enhance_num(2)
[0076]
在一些实施例的步骤s150中,根据第一热度值和第二热度数据对原始缓存数据进行排序处理,得到第一排序结果,根据第一排序结果对原始缓存数据进行筛选处理,得到第一目标缓存数据,第一目标缓存数据为数据热度最小的缓存数据。
[0077]
在一些实施例的步骤s160中,初始数据容量为待存储数据和已存储数据所占用存储空间的大小,数据容量阈值可以为目标存储空间的容量上限值,也可以为人为定义的小于该容量上限值的一个数值,若初始数据容量大于数据容量阈值,说明目标存储空间无法
继续存储待缓存的数据,则将第一目标缓存数据进行剔除处理,以释放目标存储空间用于存储待缓存的数据。
[0078]
请参阅图2,在一些实施例中,步骤s110可以包括但不限于包括步骤s210至步骤s230:
[0079]
步骤s210,查询原始缓存数据的访问记录,得到原始缓存数据的被访问频次;
[0080]
步骤s220,若被访问频次等于零,则获取预设的参考热度数据,并将参考热度数据作为初始热度数据;
[0081]
步骤s230,若被访问频次大于零,则获取原始缓存数据的数据热度在预设时间段内的更新状态,并根据更新状态将处于目标更新时刻的数据热度作为初始热度数据,或者根据更新状态对处于目标更新时刻的数据热度进行热度衰减处理,得到初始热度数据;其中,目标更新时刻为原始缓存数据的数据热度在时间段内最后一次更新的时刻。
[0082]
在一些实施例的步骤s210中,可以通过预设的脚本程序等对存储于内存或者数据库中的访问记录执行查询操作,得到原始缓存数据的被访问频次,被访问频次为大于或者等于零的整数。
[0083]
在一些实施例的步骤s220中,目前主要的淘汰算法包括lru算法和lfu(least frequently used)算法,其中lfu算法即最近最不经常使用,其算法思想是一定时期内被访问次数最少的数据,在将来被访问到的几率也是最小的。通过lfu算法进行缓存数据剔除时,会使最新加入的缓存数据因被访问次数少而容易被错误的剔除掉。
[0084]
若被访问频次等于零,说明原始缓存数据是初次被访问,原始缓存数据可能为最新存储至目标存储空间的缓存数据,则获取预设的参考热度数据,并将参考热度数据作为初始热度数据,以使原始缓存数据具有一定的数据热度,避免其因被访问次数少而被错误淘汰掉。需要说明的是,参考热度数据可根据实际情况灵活配置。
[0085]
在一些实施例的步骤s230中,若被访问频次大于零,说明原始缓存数据非初次被访问,则获取原始缓存数据的数据热度在预设时间段内的更新状态,若更新状态为递增状态,即在该时间段内的多个时刻,原始缓存数据的数据热度一直在增加,则将处于最后一个时刻热度增强后的数据热度作为初始热度数据。当缓存数据在一段时间内被频繁访问,但之后访问频次变少,该缓存数据对应的数据热度也会随时间慢慢随变小,可以将处于最后一个时刻热度增强后的数据热度进行热度衰减处理,得到初始热度数据。若更新状态为递减状态,即在该时间段内的多个时刻,原始缓存数据的数据热度一直在减少,则将处于最后一个时刻热度衰减后的数据热度作为初始热度数据或者将处于最后一个时刻热度衰减后的数据热度继续进行热度衰减处理,得到初始热度数据。
[0086]
上述步骤s210至步骤s230,通过对访问记录进行查询处理,得到原始缓存数据的被访问频次,根据被访问频次判断原始缓存数据是否为初次访问,若被访问频次等于零,说明原始缓存数据可能为最近存储至目标存储空间的缓存数据,为了避免原始缓存数据因被访问频次过少而被错误剔除掉,则根据参考热度数据设置原始缓存数据的数据热度,若被访问频次大于零,说明原始缓存数据为非初次访问数据,则将处于目标更新时刻的数据热度作为初始热度数据,或者将处于目标更新时刻的数据热度进行热度衰减处理后得到的数据热度作为初始热度数据,能够较为合理地确定原始缓存数据的初始热度数据,提高了数据的合理性。
[0087]
请参阅图3,在一些实施例中,步骤s230可以包括但不限于包括步骤s310至步骤s330:
[0088]
步骤s310,当更新状态为递减状态,获取当前时间值和处于目标更新时刻的数据热度;
[0089]
步骤s320,对当前时间值与目标更新时刻对应的时间值进行求差处理,得到时间差值;
[0090]
步骤s330,若时间差值大于预设的衰减周期因子,则基于衰减周期因子对处于目标更新时刻的数据热度进行热度衰减处理,得到初始热度数据。
[0091]
在一些实施例的步骤s310中,并不是每次访问次数减少,都会进行热度衰减处理,当更新状态为递减状态,为了判断数据热度是否能够继续进行热度衰减处理,需要获取当前时间值和处于目标更新时刻的数据热度,其中,可以通过计时器或者其他时间采集工具来获取当前时间值,可以从预设的数据库或者数据平台等提取到处于目标更新时刻的数据热度。
[0092]
在一些实施例的步骤s320中,可以将当前时间值与目标更新时刻对应的时间值进行相减,得到时间差值。根据时间差值的大小来确定是否需要对处于目标更新时刻的数据热度进行热度衰减。
[0093]
在一些实施例的步骤s330中,当时间差值大于衰减周期因子,说明数据热度能够继续进行热度衰减处理,则基于衰减周期因子对目标更新时刻的数据热度进行数值相减,得到初始热度数据。若时间差值小于或者等于衰减周期因子,说明数据热度无法继续进行热度衰减处理,则不进行热度衰减流程,直接将处于目标更新时刻的数据热度作为初始热度数据。
[0094]
由于并不是每次访问次数减少,都会进行热度衰减处理,上述步骤s310至步骤s330通过判断是否对目标更新时刻的数据热度进行衰减处理,能够得到更为准确的初始热度数据,并通过定义衰减因子、计算因子,避免错误剔除了访问次数较多的数据,能够提高数据处理的准确性。
[0095]
需要说明的是,衰减周期因子是热度衰减的周期,即每隔多长时间可以进行热度衰减,其数值可根据实际情况灵活配置,只要数值大于零即可。
[0096]
请参阅图4,在一些实施例中,步骤s330可以包括但不限于包括步骤s410至步骤s420:
[0097]
步骤s410,对时间差值和衰减周期因子进行衰减计算,得到目标衰减参数;
[0098]
步骤s420,根据目标衰减参数对处于目标更新时刻的数据热度进行热度衰减处理,得到初始热度数据。
[0099]
在一些实施例的步骤s410至步骤s420中,将时间差值除以衰减周期因子以进行衰减计算,得到目标衰减参数decay_num。为了对目标更新时刻的数据热度heatvalue进行热度衰减处理,将heatvalue减去目标衰减参数decay_num,得到初始热度数据。通过这一方式能够简化计算过程、减小计算量,提高初始热度数据的合理性以及数据处理的准确性。
[0100]
请参阅图5,在一些实施例中,步骤s130还可以包括但不限于包括步骤s510至步骤s530:
[0101]
步骤s510,对目标通过率和第一数值进行比对;
[0102]
步骤s520,若目标通过率大于第一数值,则原始缓存数据为第一候选缓存数据;
[0103]
步骤s530,若目标通过率小于或者等于第一数值,则原始缓存数据为第二候选缓存数据。
[0104]
在一些实施例的步骤s510中,由于并不是每次访问原始缓存数据,都会使数据热度增加,通过将目标通过率和第一数值进行比对,根据比对结果来确定是否对初始热度数据进行热度增强处理,以限制热度增长的速度。
[0105]
在一些实施例的步骤s520中,若目标通过率表示为p,第一数值表示为r,对p和r进行比对,若目标通过率p大于第一数值r(p>r),则原始缓存数据为第一候选缓存数据。
[0106]
在一些实施例的步骤s530中,若目标通过率p小于或者等于第一数值r(p≤p),则原始缓存数据为第二候选缓存数据。
[0107]
需要说明的是,随着数据热度的增加,目标通过率越小,使目标通过率大于第一数值的概率减小,热度增长的速度变慢。
[0108]
通过上述步骤s510至步骤s530,能够基于目标通过率来区分原始缓存数据的热度的增长快慢,不需要每次访问原始缓存数据都需要对初始热度数据进行热度增强处理,提高了数据处理的准确性。
[0109]
请参阅图6,在一些实施例的步骤s160之后,缓存数据处理方法包括但不限于包括步骤s610至步骤s630:
[0110]
步骤s610,获取目标存储空间的当前数据容量;
[0111]
步骤s620,若当前数据容量大于数据容量阈值,则获取每一第二目标缓存数据的第二热度值;
[0112]
步骤s630,根据第二热度值对所有第二目标缓存数据进行筛选处理,得到第三目标缓存数据,并对第三目标缓存数据进行剔除处理。
[0113]
在一些实施例的步骤s610中,剔除第一目标缓存数据后,为了确保待缓存数据能够存储至目标存储空间,需要获取目标存储空间的当前数据容量,根据当前数据容量的大小来确定是否需要进一步清理目标存储空间。其中,当前数据容量为初始数据容量减去第一目标缓存数据所占的数据容量。
[0114]
在一些实施例的步骤s620中,若当前数据容量仍然大于数据容量阈值,说明待缓存数据无法存储至目标存储空间,需要继续释放目标存储空间中的缓存数据,则获取每一第二目标缓存数据的第二热度值,根据多个第二热度值对每一第二目标缓存数据进行升序排序,得到第二排序结果。其中,第二排序结果能够表明第二目标缓存数据的数据热度情况。越靠前的第二目标缓存数据的数据热度越小。
[0115]
在一些实施例的步骤s630中,根据第二排序结果对第二目标缓存数据进行筛选处理,得到第三目标缓存数据,其中,可以根据第二排序结果,选取排在前k个的第二目标缓存数据作为第三目标缓存数据,k为大于0的整数。进一步地,对第三目标缓存数据进行剔除处理,第三目标缓存数据为第二热度值较小的第二目标缓存数据。
[0116]
此外,若当前数据容量小于或者等于数据容量阈值,则表明目标空间的可存储数据容量能够满足存储待缓存数据的需求,则不需要对目标存储空间中的第二目标缓存数据进行清理,可以直接将待缓存数据能够存储至目标存储空间。
[0117]
通过上述步骤s610至步骤s630,在目标存储空间的可存储数据容量不足时,能够
继续剔除数据热度较小的缓存数据,以释放目标存储空间,利用该目标存储空间存储待缓存数据,以提高数据处理的速度。
[0118]
图7是本技术实施例提供的缓存数据处理方法的一个可选的流程图,图7中的方法可以包括但不限于包括步骤s7010至步骤s7120。
[0119]
步骤s7010,获取待处理的原始缓存数据;其中,原始缓存数据存储于目标存储空间,目标存储空间具有初始数据容量;
[0120]
步骤s7020,获取数据访问记录,对数据访问记录进行查询处理,得到原始缓存数据的被访问频次;
[0121]
步骤s7030,判断被访问频次是否等于零;若判断结果为是,则执行步骤s7040;若判断结果为否,则执行步骤s7050;
[0122]
步骤s7040,获取预设的参考热度数据,将参考热度数据作为原始缓存数据的初始热度数据;
[0123]
步骤s7050,获取目标更新时刻的数据热度作为原始缓存数据的初始热度数据;
[0124]
步骤s7060,获取当前时间值,并将当前时间与目标更新时刻对应的时间值进行求差处理,得到时间差值;
[0125]
步骤s7070,判断时间差值是否大于预设的衰减周期因子;若判断结果为是,则执行步骤s7080;若判断结果为否,则执行步骤s7090;
[0126]
步骤s7080,将时间差值除以衰减周期因子进行衰减计算,得到目标衰减参数,将初始热度数据减去目标衰减参数进行热度衰减处理,以更新初始热度数据;
[0127]
步骤s7090,根据预设的计算因子对初始热度数据进行通过率评估,得到目标通过率;
[0128]
步骤s7100,判断目标通过率是否大于预设的第一数值;若判断结果为是,则执行步骤s7110;若判断结果为否,则执行步骤s7120;
[0129]
步骤s7110,对初始热度数据进行热度增强处理,以更新初始热度数据;
[0130]
步骤s7120,根据初始热度数据对原始缓存数据进行筛选处理,得到第一目标缓存数据,若初始数据容量大于预设的数据容量阈值,则对第一目标缓存数据进行剔除处理。
[0131]
在一些实施例的步骤s7010至步骤s7120中,通过将参考热度数据作为原始缓存数据的初始热度值,能够支持自由配置新加缓存数据的数据热度,避免最新加入的缓存数据由于次数少,被错误的剔除掉。同时通过定义的衰减周期因子、计算因子,可以自由配置符合系统要求的缓存数据淘汰策略,实现缓存数据的最优配置,让有限的缓存数据资源实现最大的效应,提高应用的响应速度和稳定性,能够帮助改善服务质量,提高用户满意度。
[0132]
请参阅图8,本技术实施例还提供一种缓存数据处理装置,可以实现上述缓存数据处理方法,该装置包括:
[0133]
获取模块810,用于获取待处理的原始缓存数据;其中,原始缓存数据存储于预设的目标存储空间,原始缓存数据包括初始热度数据,初始热度数据用于表征原始缓存数据的数据热度,目标存储空间具有初始数据容量;
[0134]
评估模块820,用于根据初始热度数据对原始缓存数据进行通过率评估,得到原始缓存数据的目标通过率;
[0135]
分类模块830,用于根据目标通过率和预先获取的第一数值对原始缓存数据进行
分类处理,得到第一候选缓存数据和第二候选缓存数据;其中,初始热度数据包括第一热度数据和第二热度数据,第一候选缓存数据包括第一热度数据,第二候选缓存数据包括第二热度数据,第一数值是小于1的正小数;
[0136]
热度增强模块840,用于对第一热度数据进行热度增强处理,得到第一候选缓存数据的第一热度值;
[0137]
筛选模块850,用于根据第一热度值和第二热度数据对原始缓存数据进行筛选处理,得到第一目标缓存数据;
[0138]
剔除处理模块860,用于若初始数据容量大于预设的数据容量阈值,则将第一目标缓存数据进行剔除处理。
[0139]
该缓存数据处理装置的具体实施方式与上述缓存数据处理方法的具体实施例基本相同,在此不再赘述。
[0140]
本技术实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述缓存数据处理方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
[0141]
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
[0142]
处理器910,可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
[0143]
存储器920,可以采用只读存储器(readonlymemory,rom)、静态存储设备、动态存储设备或者随机存取存储器(randomaccessmemory,ram)等形式实现。存储器920可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器920中,并由处理器910来调用执行本技术实施例的缓存数据处理方法;
[0144]
输入/输出接口930,用于实现信息输入及输出;
[0145]
通信接口940,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
[0146]
总线950,在设备的各个组件(例如处理器910、存储器920、输入/输出接口930和通信接口940)之间传输信息;
[0147]
其中处理器910、存储器920、输入/输出接口930和通信接口940通过总线950实现彼此之间在设备内部的通信连接。
[0148]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述缓存数据处理方法。
[0149]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0150]
本技术实施例提供的缓存数据处理方法、缓存数据处理装置、电子设备及计算机
可读存储介质,其通过获取待处理的原始缓存数据,其中,原始缓存数据存储于预设的目标存储空间,原始缓存数据包括初始热度数据,初始热度数据用于表征原始缓存数据的数据热度,目标存储空间具有初始数据容量,根据初始热度数据对原始缓存数据进行通过率评估,得到原始缓存数据的目标通过率,根据目标通过率和预先获取的第一数值对原始缓存数据进行分类处理,得到第一候选缓存数据和第二候选缓存数据,其中,初始热度数据包括第一热度数据和第二热度数据,第一候选缓存数据包括第一热度数据,第二候选缓存数据包括第二热度数据,第一数值是小于1的正小数,对第一热度数据进行热度增强处理,得到第一候选缓存数据的第一热度值,这一方式能够对第一候选缓存数据进行热度增强处理,使得随着访问次数的增加第一候选缓存数据的第一热度数据变大,从而得到第一热度值,提高热度值的准确性。进一步地,根据第一热度值和第二热度数据对原始缓存数据进行筛选处理,得到第一目标缓存数据,若初始数据容量大于预设的数据容量阈值,则将第一目标缓存数据进行剔除处理,能够根据第一热度值和第二热度数据从原始缓存数据筛选出第一目标缓存数据,并将该第一目标缓存数据从目标存储空间中剔除,能够避免错误剔除掉访问次数多的缓存数据,从而提高数据处理的准确性。
[0151]
本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0152]
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0153]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0154]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0155]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0156]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“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可以是单个,也可以是多个。
[0157]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其
它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0158]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0159]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0160]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0161]
以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1