一种缓存数据管理方法、装置、计算机设备和存储介质与流程

文档序号:40982130发布日期:2025-02-18 19:50阅读:3来源:国知局
一种缓存数据管理方法、装置、计算机设备和存储介质与流程

本技术涉及分布式存储,特别是涉及一种缓存数据管理方法、装置、计算机设备和存储介质。


背景技术:

1、在现代web系统中,为了提高数据访问速度并减轻后端数据库的压力,通常会在web层和数据库层之间设计缓存层,这种设计可以使web层在查询数据时优先从缓存层获取,只有在缓存未命中时才会访问数据库,将数据更新到缓存中并返回结果。

2、对于支持高可用性的web系统,常见的架构有两种。第一种架构如图1所示,每个节点的web层和缓存层相互独立,数据库组成主备集群,每个节点均可对外提供服务。在这种架构下,如果缓存中不存在数据,系统会访问数据库并将数据放入缓存,但数据只要被访问过一次就会放入缓存,可能导致缓存中存在大量不常访问的数据,占用较大空间,造成资源浪费。此外,由于各节点缓存层相互独立,用户访问不同节点时可能会重复查询数据并更新缓存,影响了接口访问速度。

3、第二种架构如图2所示,每个节点的缓存层组成分布式缓存集群,在这种设计中,用户访问过任何一个节点后,数据会被保存在分布式缓存中,当用户再次访问其他节点时,可以从分布式缓存中直接获取数据,无需再次建立缓存,从而提高了访问速度。但是每个节点的缓存层都可能占用相同的内存空间,即使某些节点并没有接收到请求,它们的缓存层也可能保存了大量数据,导致内存资源的浪费。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够实现缓存数据自适应扩散的缓存数据管理方法、装置、计算机设备和存储介质。

2、一方面,提供一种缓存数据管理方法,所述方法包括:

3、统计单位时间内各数据的访问请求频次,并根据所述访问请求频次评估所述数据的访问热度;

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、评估模块,用于统计单位时间内各数据的访问请求频次,并根据所述访问请求频次评估所述数据的访问热度;

36、缓存模块,用于响应于接收到目标数据的访问请求,且所述目标数据的访问请求频次达到预设缓存阈值,建立所述目标数据的缓存;

37、扩散模块,用于根据所述目标数据的访问热度确定缓存扩散策略,并根据所述缓存扩散策略确定目标扩散节点,将所述目标数据扩散至所述目标扩散节点的缓存服务;

38、删除模块,用于响应于所述目标数据满足预设失效条件,对所述目标数据执行停止扩散和/或删除所述目标数据的缓存。

39、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

40、统计单位时间内各数据的访问请求频次,并根据所述访问请求频次评估所述数据的访问热度;

41、响应于接收到目标数据的访问请求,且所述目标数据的访问请求频次达到预设缓存阈值,建立所述目标数据的缓存;

42、根据所述目标数据的访问热度确定缓存扩散策略,并根据所述缓存扩散策略确定目标扩散节点,将所述目标数据扩散至所述目标扩散节点的缓存服务;

43、响应于所述目标数据满足预设失效条件,对所述目标数据执行停止扩散和/或删除所述目标数据的缓存。

44、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

45、统计单位时间内各数据的访问请求频次,并根据所述访问请求频次评估所述数据的访问热度;

46、响应于接收到目标数据的访问请求,且所述目标数据的访问请求频次达到预设缓存阈值,建立所述目标数据的缓存;

47、根据所述目标数据的访问热度确定缓存扩散策略,并根据所述缓存扩散策略确定目标扩散节点,将所述目标数据扩散至所述目标扩散节点的缓存服务;

48、响应于所述目标数据满足预设失效条件,对所述目标数据执行停止扩散和/或删除所述目标数据的缓存。

49、上述缓存数据管理方法、装置、计算机设备和存储介质,通过统计单位时间内各数据的访问请求频次,根据访问请求频次评估数据的访问热度,从而根据访问热度决定是否建立缓存,以及是否进行缓存扩散,确保只有高频访问的数据才会被缓存,避免了低频数据占用缓存空间,并加快其他节点的数据访问速度,减轻了数据库的压力。此外,根据预设失效条件执行停止扩散或删除缓存的操作,可以确保缓存资源得到及时释放,避免资源浪费。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1