System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及分布式存储,特别是涉及一种缓存数据管理方法、装置、计算机设备和存储介质。
技术介绍
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、统计单位时间内各数据的访问请求频次,并根据所述访问请求频次评估所本文档来自技高网...
【技术保护点】
1.一种缓存数据管理方法,其特征在于,包括:
2.根据权利要求1所述的缓存数据管理方法,其特征在于,所述根据所述目标数据的访问热度确定缓存扩散策略,并根据所述缓存扩散策略确定目标扩散节点,将所述目标数据扩散至所述目标扩散节点的缓存服务,包括:
3.根据权利要求1或2所述的缓存数据管理方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的缓存数据管理方法,其特征在于,所述响应于所述目标数据的访问请求频次大于等于第一频次阈值,将所述目标数据与候选节点进行匹配,确定至少一个目标扩散节点,包括:
5.根据权利要求1或4所述的缓存数据管理方法,其特征在于,所述响应于所述目标数据满足预设失效条件,对所述目标数据执行停止扩散和/或删除所述目标数据的缓存,包括:
6.根据权利要求5所述的缓存数据管理方法,其特征在于,所述响应于所述当前访问热度大于等于预设缓存阈值,不删除所述目标数据的缓存,并根据所述当前访问热度判断是否对所述目标数据执行停止扩散,包括:
7.根据权利要求1所述的缓存数据管理方法,其特征在于,所述方法还包
8.一种缓存数据管理装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种缓存数据管理方法,其特征在于,包括:
2.根据权利要求1所述的缓存数据管理方法,其特征在于,所述根据所述目标数据的访问热度确定缓存扩散策略,并根据所述缓存扩散策略确定目标扩散节点,将所述目标数据扩散至所述目标扩散节点的缓存服务,包括:
3.根据权利要求1或2所述的缓存数据管理方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的缓存数据管理方法,其特征在于,所述响应于所述目标数据的访问请求频次大于等于第一频次阈值,将所述目标数据与候选节点进行匹配,确定至少一个目标扩散节点,包括:
5.根据权利要求1或4所述的缓存数据管理方法,其特征在于,所述响应于所述目标数据满足预设失效条件,对所述目标数据执行停止扩散和/或删除所述目标数据的缓存...
【专利技术属性】
技术研发人员:李兴华,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。