数据缓存处理方法、装置、电子设备及计算机存储介质与流程
未命名
08-14
阅读:154
评论:0
1.本技术涉及数据处理技术领域,具体而言,本技术涉及一种数据缓存处理方法、装置、电子设备及计算机存储介质。
背景技术:
2.在数据缓存管理领域,管理缓存数据通常需要将目标数据存放在内存中作为缓存,但由于内存资源比较宝贵,通常只能给应用分配有限的存储空间。当缓存数据超过存储空间大小时,多余的缓存数据无法存入。在遇到缓存存储空间不足时,现有的方案大多使用以下两种方式来解决:(1)采用缓存数据淘汰方案,将访问热度较低的缓存数据直接从内存中删除,从而释放存储空间。(2)采用缓存数据转移方案,将访问热度较低的缓存数据从内存中挪出,转而存储到其他访问速度较低的存储设备,例如ssd等。
3.然而,本技术实施例的发明人在具体技术实现过程中,发现上述方案1直接将访问热度较低的缓存数据删除,虽然释放出来了存储空间,但是同时也减少了缓存数据的数量,特别是目标数据都比较大时,缓存空间中所能存储的对象就会变得非常有限,缓存存储空间没有得到最大化利用。上述方案2通过将访问热度较低的缓存数据转移到其他存储设备,虽然最大化保留了缓存数据,但是需要采购和部署额外的存储设备,增加了系统的实施成本。另外,由于外部存储设备访问速度远远低于内存,当处于外部存储设备中的缓存数据被再次读取时,会产生较大的性能损失。因此,亟需一种新的缓存数据处理方法。
技术实现要素:
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.图1为本技术实施例提供的一种数据缓存处理方法的流程示意图;
36.图2为本技术实施例提供的热度统计流程的示意图;
37.图3为本技术实施例提供的数据解压缩流程的示意图;
38.图4为本技术实施例提供的数据缓存处理的整体架构的示意图;
39.图5为本技术实施例提供的数据压缩流程的示意图;
40.图6为本技术实施例提供的删除低频数据的示意图;
41.图7为本技术实施例提供的一种数据缓存处理装置的结构示意图;
42.图8为本技术实施例提供的一种电子设备的结构示意。
具体实施方式
43.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
44.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组
件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”指示实现为“a”,或者实现为“a”,或者实现为“a和b”。
45.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
46.本技术提出一种数据缓存处理的方案,通过对访问热度较低的目标缓存数据进行压缩,降低了此类缓存数据对于内存空间的占用,提升了单位内存空间中存储的缓存对象数量。据实际测试,对象压缩后可减少十几倍的内存空间占用,所以相同大小的内存将支持更多的缓存数据存储,从而增加了缓存命中率。本技术实施例同时也考虑到由于压缩过程会产生性能损耗,从实用性方面考量,本技术实施例通过对目标数据访问热度进行统计,从而对可控范围内的低频访问的目标数据进行动态压缩和解压,并且压缩和解压过程采取异步方式执行,近一步降低性能损耗。
47.下面通过对几个示例性实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
48.图1为本技术实施例提供的数据缓存处理方法的流程示意图,如图1所示,该方法应用于缓存管理器,缓存管理器包括缓存数据操作接口、热度统计模块、压缩管理模块和缓存空间模块,包括:步骤s110,缓存数据操作接口接收到数据使用方读取第一目标缓存数据的读取请求时,调用热度统计模块对第一目标缓存数据的热度进行增加处理,并通过缓存空间模块获取第一目标缓存数据的压缩标识;步骤s120,根据压缩标识确定第一目标缓存数据是否为压缩数据;当确定第一目标缓存数据是压缩数据时,通过压缩管理模块获得解压缩后的第一目标缓存数据,并返回该解压缩后的第一目标缓存数据;当确定第一目标缓存数据不是压缩数据时,返回第一目标缓存数据。
49.在实际处理中,数据使用方通常以“服务”的形式出现或存在,下面以数据使用方是服务为例,对本技术实施例的方法进行整体介绍:
50.如图2所示,步骤1,服务向缓存管理模块的缓存数据操作接口发起读取目标数据(即第一目标缓存数据)的读取请求,相对应地,缓存数据操作接口接收服务读取目标数据(即第一目标缓存数据)的读取请求。步骤2,缓存数据操作接口调用热度统计模块,对目标数据的热度进行增加处理,该步骤在具体处理时,可以是调用热度统计对目标key(对应于目标数据)的热度进行增加,比如进行加1处理。步骤3,缓存数据操作接口向服务返回该目标数据。
51.在实际处理中,在步骤3之前还包括如图4所示的数据解压缩处理流程,该流程包括如下步骤:步骤a,缓存数据操作接口通过缓存空间模块获取该目标数据(即第一目标缓存数据)的压缩标识(比如压缩标志位),并根据压缩标识确定该目标数据(即第一目标缓存数据)是否为压缩数据,若确定该目标数据(即第一目标缓存数据)是压缩数据,即该目标数据是经过压缩后的压缩数据,则执行步骤b:缓存数据操作接口向压缩管理模块发起解压请
求,即发送该目标数据(即第一目标缓存数据)的解压缩请求,以使得压缩管理模块解压缩第一目标缓存数据;随后执行步骤c:压缩管理模块向缓存空间模块发送执行该目标数据的解压缩指令,并从缓存空间模块获取解压缩后的该目标数据,随后,压缩管理模块向缓存数据操作接口发送该解压缩后的目标数据,缓存数据操作接口向数据使用方(即服务)发送该解压缩后的目标数据。若确定该目标数据(即第一目标缓存数据)不是压缩数据,即该目标数据是未经过压缩的原始数据,此时,缓存数据操作接口直接将该目标数据(即第一目标缓存数据)返回给服务(即数据使用方),即缓存数据操作接口向数据使用方发送该目标数据(即第一目标缓存数据)。
52.本技术提供的方法,通过对访问热度较低的目标缓存数据进行压缩,降低了此类缓存数据对于内存空间的占用,提升了单位内存空间中存储的缓存对象数量。据实际测试,对象压缩后可减少十几倍的内存空间占用,所以相同大小的内存将支持更多的缓存数据存储,从而增加了缓存命中率。本技术实施例同时也考虑到由于压缩过程会产生性能损耗,从实用性方面考量,本技术实施例通过对目标数据访问热度进行统计,从而对可控范围内的低频访问的目标数据进行动态压缩和解压,并且压缩和解压过程采取异步方式执行,近一步降低性能损耗。
53.本技术实施例的数据缓存处理的整体架构,如图4所示,包括数据使用方(以服务的形式呈现)、缓存管理(包括缓存数据操作接口层、热度统计、压缩管理和缓存空间四个子部分)和原始数据(包括数据库、文件系统和网络资源等)三个部分。其中,图4中的缓存数据操作接口层即为前文的缓存数据操作接口,图4中的缓存管理即为前文的缓存管理器,图4中的热度统计即为前文的热度统计模块,图4中的压缩管理即为前文的压缩管理模块,图4中的缓存空间即为前文的缓存空间模块。
54.下面对本技术实施例的数据缓存处理整体架构中各部分的作用进行简要说明:
55.1、数据使用方(以服务为例),当服务需要读取缓存数据时直接与缓存管理器的缓存数据操作接口层进行交互,该接口层提供了缓存数据读取和缓存数据写入接口,屏蔽了数据压缩、解压、热度统计等复杂操作。
56.2、缓存管理器内部包含了热度统计、压缩管理和缓存空间管理3个子部分。在服务对目标缓存数据进行读写时,热度统计模块对目标缓存对象进行热度统计。压缩管理模块根据热度统计结果对符合条件的缓存对象进行后台压缩,由于数据压缩过程是通过异步执行,不会对业务造成性能影响。而当缓存数据已被压缩的情况下再次读取时需要先经过解压,为了保证数据一致性此步骤为同步执行,会一定程序降低缓存数据读取性能,但是对于原始数据来自于文件系统或网络资源等多数场景,缓存数据解压缩带来的性能损耗仍然在可接收范围之内。缓存空间模块负责跟踪已压缩空间和未压缩空间两部分的存储空间,当总体存储空间不足时按lru算法对老旧缓存对象进行内存空间回收。
57.在本技术实施例的一种可能的实现方式中,该方法还包括:缓存数据操作接口接收到数据使用方写入第二目标缓存数据的写入请求时,调用热度统计模块对第二目标缓存数据的热度进行增加处理,并通过缓存空间模块缓存第二目标缓存数据。
58.上述的数据写入过程,可以包括如下处理:步骤1,服务向缓存管理模块的缓存数据操作接口发起写入目标数据(即第二目标缓存数据)的写入请求,相对应地,缓存数据操作接口接收服务写入目标数据(即第二目标缓存数据)的写入请求。步骤2,缓存数据操作接
口调用热度统计模块,对目标数据的热度进行增加处理,该步骤在具体处理时,可以是调用热度统计对目标key(对应于目标数据)的热度进行增加,比如进行加1处理。
59.上述的第二目标缓存数据可以是不同于第一目标缓存数据的其他数据,也可以是与第一目标缓存数据相同的目标数据,本技术实施例不对其作限制。当第二目标缓存数据是与第一目标缓存数据相同的目标数据时,可以理解为是:先接收到该目标数据的写入请求,在将该目标数据写入缓存空间后,又接收了该目标数据的读取请求,从缓存空间中读取该目标数据。
60.在本技术实施例的一种可能的实现方式中,该方法还包括:
61.压缩管理模块通过热度统计模块获取缓存数据的热度统计结果,并根据热度统计结果对缓存数据进行压缩处理。其中,压缩管理模块按照预配置的时间间隔定时根据热度统计结果对缓存数据进行压缩处理,或者,压缩管理模块在缓存空间模块的缓存内存空间小于第一预定阈值时,根据热度统计结果对缓存数据进行压缩处理。
62.根据热度统计结果对缓存数据进行压缩处理的过程,可以为:根据热度统计结果,获取热度低于第一预定热度阈值的缓存数据列表;接着,从缓存空间模块获取缓存数据列表中每个缓存数据分别占用的缓存空间;然后,对占用的缓存空间大于预定缓存空间阈值的缓存数据进行压缩处理并设置缓存数据已压缩的压缩标识。
63.图5给出了上述对缓存数据进行压缩处理的过程,包括如下处理步骤:
64.步骤1,压缩管理模块定时执行压缩流程,为了不影响缓存数据的写入性能,该流程为后台异步执行,执行时机有两个:(1)按预配置的时间间隔定时执行,即,当到达预定执行时间点时自动触发压缩管理模块根据热度统计结果对缓存数据进行压缩处理;(2)当缓存总体内存空间(包括已压缩空间和未压缩空间两部分的存储空间)不足时触发,比如,压缩管理模块在缓存空间模块的缓存内存空间小于第一预定阈值时,根据热度统计结果对缓存数据进行压缩处理。
65.步骤2,缓存压缩模块获取热度统计模块统计产生的热度数值,获取访问热度较低的缓存数据的key值列表。相当于,根据热度统计结果,获取热度低于第一预定热度阈值的缓存数据列表。
66.步骤3,缓存压缩模块根据获取到的低频缓存数据key从缓存空间检索缓存对象大小,近一步获取占用空间较大的缓存数据key。相当于,从缓存空间模块获取缓存数据列表中每个缓存数据分别占用的缓存空间。
67.步骤4,缓存压缩模块对此类低频访问且占用空间较大的目标缓存数据执行数据压缩并设置数据已压缩的标记位。相当于,对占用的缓存空间大于预定缓存空间阈值的缓存数据进行压缩处理并设置缓存数据已压缩的压缩标识。
68.在本技术实施例的一种可能的实现方式中,缓存空间模块中的缓存空间包括已压缩空间和未压缩空间两部分,已压缩空间存储已压缩的缓存数据,未压缩空间存储未压缩的缓存数据。
69.在本技术实施例的一种可能的实现方式中,缓存空间模块跟踪缓存空间中剩余缓存空间的大小,并当剩余缓存空间小于第二预定阈值时,对热度低于第二预定热度阈值的缓存数据进行删除处理。
70.缓存空间模块的管理流程较为简单,因为热度统计模块已对每个缓存数据(即缓
存对象)的热度进行统计。缓存空间模块基于此热度统计,当缓存存储空间出现不足时(比如剩余缓存空间小于第二预定阈值时)将访问热度最低的压缩数据对象删除,完成内存空间回收以供后续热点数存储。图5为缓存空间模块删除热度较低的缓存数据的示意图。
71.一般的缓存管理方案,对缓存数据淘汰比较频繁,当已淘汰的缓存数据被再次读取时,需要重新从原始数据来源进行加载,从而将压力传导给了原始数据层(比如数据库、文件系统、网络资源等)。而采用本技术实施例的方法后,缓存存储空间利用率得到较大提升,由于低频大数据对象执行压缩后能减少十几倍内存空间的占用,单位内存存储空间中可存储更多缓存数据数,可大幅降低对数据库、文件系统、网络资源的压力。
72.本技术实施例对于数据使用方具体是什么类型的系统或服务,并不关注。对底层原始目标数据的类型(具体是数据库、文件系统还是网络资源数据)也不关注。对业务何时进行缓存数据写入、缓存读取和缓存数据删除也不关注。
73.可见,本技术实施例的数据缓存处理方法,通过对访问热度较低的目标缓存数据进行压缩,降低了此类缓存数据对于内存空间的占用,提升了单位内存空间中存储的缓存对象数量。据实际测试,对象压缩后可减少十几倍的内存空间占用,所以相同大小的内存将支持更多的缓存数据存储,从而增加了缓存命中率。本技术实施例同时也考虑到由于压缩过程会产生性能损耗,从实用性方面考量,本技术实施例通过对目标数据访问热度进行统计,从而对可控范围内的低频访问的目标数据进行动态压缩和解压,并且压缩和解压过程采取异步方式执行,近一步降低性能损耗。
74.本技术实施例提供了一种数据缓存处理装置,如图7所示,该装置700可以包括:第一处理单元701以及第二处理单元702,其中,该装置应用于缓存管理器,缓存管理器包括缓存数据操作接口、热度统计模块、压缩管理模块和缓存空间模块,该装置包括:
75.第一处理单元701,用于缓存数据操作接口接收到数据使用方读取第一目标缓存数据的读取请求时,调用热度统计模块对第一目标缓存数据的热度进行增加处理,并通过缓存空间模块获取第一目标缓存数据的压缩标识;
76.第二处理单元702,用于根据压缩标识确定第一目标缓存数据是否为压缩数据;当确定第一目标缓存数据是压缩数据时,通过压缩管理模块获得解压缩后的第一目标缓存数据,并返回该解压缩后的第一目标缓存数据;或者,当确定第一目标缓存数据不是压缩数据时,返回第一目标缓存数据。
77.在一种可能的实现方式中,缓存数据操作接口接收到数据使用方写入第二目标缓存数据的写入请求时,调用热度统计模块对第二目标缓存数据的热度进行增加处理,并通过缓存空间模块缓存第二目标缓存数据。
78.在一种可能的实现方式中,压缩管理模块通过热度统计模块获取缓存数据的热度统计结果,并根据热度统计结果对缓存数据进行压缩处理。
79.在一种可能的实现方式中,压缩管理模块按照预配置的时间间隔定时根据热度统计结果对缓存数据进行压缩处理,或者,压缩管理模块在缓存空间模块的缓存内存空间小于第一预定阈值时,根据热度统计结果对缓存数据进行压缩处理。
80.在一种可能的实现方式中,在根据热度统计结果对缓存数据进行压缩处理时,可以根据热度统计结果,获取热度低于第一预定热度阈值的缓存数据列表;从缓存空间模块获取缓存数据列表中每个缓存数据分别占用的缓存空间;对占用的缓存空间大于预定缓存
memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
89.存储器4003用于存储执行本技术实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
90.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
91.本技术实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
92.应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
93.以上所述仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
技术特征:
1.一种数据缓存处理方法,其特征在于,应用于缓存管理器,所述缓存管理器包括缓存数据操作接口、热度统计模块、压缩管理模块和缓存空间模块,所述方法包括:所述缓存数据操作接口接收到数据使用方读取第一目标缓存数据的读取请求时,调用热度统计模块对所述第一目标缓存数据的热度进行增加处理,并通过缓存空间模块获取所述第一目标缓存数据的压缩标识;根据所述压缩标识确定所述第一目标缓存数据是否为压缩数据;当确定所述第一目标缓存数据是压缩数据时,通过所述压缩管理模块获得解压缩后的第一目标缓存数据,并返回该解压缩后的第一目标缓存数据;当确定所述第一目标缓存数据不是压缩数据时,返回所述第一目标缓存数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述缓存数据操作接口接收到数据使用方写入第二目标缓存数据的写入请求时,调用热度统计模块对所述第二目标缓存数据的热度进行增加处理,并通过缓存空间模块缓存所述第二目标缓存数据。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述压缩管理模块通过所述热度统计模块获取缓存数据的热度统计结果,并根据所述热度统计结果对缓存数据进行压缩处理。4.根据权利要求3所述的方法,其特征在于,所述压缩管理模块按照预配置的时间间隔定时根据所述热度统计结果对缓存数据进行压缩处理,或者,所述压缩管理模块在所述缓存空间模块的缓存内存空间小于第一预定阈值时,根据所述热度统计结果对缓存数据进行压缩处理。5.根据权利要求3或4所述的方法,其特征在于,所述根据所述热度统计结果对缓存数据进行压缩处理,包括:根据所述热度统计结果,获取热度低于第一预定热度阈值的缓存数据列表;从所述缓存空间模块获取所述缓存数据列表中每个缓存数据分别占用的缓存空间;对占用的缓存空间大于预定缓存空间阈值的缓存数据进行压缩处理并设置缓存数据已压缩的压缩标识。6.根据权利要求1-5任一项所述的方法,其特征在于,所述缓存空间模块中的缓存空间包括已压缩空间和未压缩空间两部分,所述已压缩空间存储已压缩的缓存数据,所述未压缩空间存储未压缩的缓存数据。7.根据权利要求1-5任一项所述的方法,其特征在于,所述缓存空间模块跟踪所述缓存空间中剩余缓存空间的大小,并当所述剩余缓存空间小于第二预定阈值时,对热度低于第二预定热度阈值的缓存数据进行删除处理。8.一种数据缓存处理装置,其特征在于,应用于缓存管理器,所述缓存管理器包括缓存数据操作接口、热度统计模块、压缩管理模块和缓存空间模块,所述装置包括:第一处理单元,用于所述缓存数据操作接口接收到数据使用方读取第一目标缓存数据的读取请求时,调用热度统计模块对所述第一目标缓存数据的热度进行增加处理,并通过缓存空间模块获取所述第一目标缓存数据的压缩标识;第二处理单元,用于根据所述压缩标识确定所述第一目标缓存数据是否为压缩数据;当确定所述第一目标缓存数据是压缩数据时,通过所述压缩管理模块获得解压缩后的第一
目标缓存数据,并返回该解压缩后的第一目标缓存数据;或者,当确定所述第一目标缓存数据不是压缩数据时,返回所述第一目标缓存数据。9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法的步骤。11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
技术总结
本申请实施例提供了一种数据缓存处理方法、装置、电子设备及计算机存储介质,涉及数据处理领域。该方法包括:缓存数据操作接口接收到数据使用方读取第一目标缓存数据的读取请求时,调用热度统计模块对第一目标缓存数据的热度进行增加处理,并通过缓存空间模块获取第一目标缓存数据的压缩标识;当根据压缩标识确定第一目标缓存数据是压缩数据时,通过压缩管理模块获得解压缩后的第一目标缓存数据,并返回该解压缩后的第一目标缓存数据;当根据压缩标识确定第一目标缓存数据不是压缩数据时,返回第一目标缓存数据。本申请实施例可以解决访问热度较低的缓存数据占用较多内存空间的的问题。问题。问题。
技术研发人员:庄慧栋
受保护的技术使用者:南京亚信软件有限公司
技术研发日:2023.05.16
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
