System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据存储,特别是一种缓存操作方法、装置和电子设备。
技术介绍
1、缓存是一种提升数据读取效率的技术,长期以来,各种缓存机制在内存上进行数据处理。持久化内存的出现改变了固有的内存体系结构,持久化内存具有容量大、持久化、字节寻址、低延迟高带宽的特点,允许使用常规读写指令修改数据,有效吸收了传统内存和硬盘的优势。
2、由于内存空间限制,目前缓存机制缺少驻留在物理内存外部的缓存,限制命中率不能进一步提升。同时缺少锁定内存页的功能,当前缓存算法不能有效选择何时从缓存中清除指定内存页,这导致有些关键数据或频繁访问的数据可能会被替换掉,使缓存命中率不够高,内存也无法更充分使用。最后,内存掉电后数据会丢失,上电应用恢复仍然要从硬盘读取数据,降低了恢复速度。
技术实现思路
1、鉴于上述问题,本申请实施例提供了一种缓存操作方法、装置和电子设备,以便克服上述问题或者至少部分地解决上述问题。
2、第一方面,本申请实施例提供一种缓存操作方法,应用于电子设备,所述电子设备包括一级缓存空间和二级缓存空间,所述二级缓存空间为持久化内存,所述方法包括:
3、响应于目标读取指令,在所述一级缓存空间和所述二级缓存空间中查询所述目标读取指令对应的目标数据;
4、在所述一级缓存空间和所述二级缓存空间中均不包含所述目标数据的情况下,从所述一级缓存空间的最近最少使用缓存页链表中,将处于末位且没有包含锁定标记的第一缓存页数据转移到所述二级缓存空间中,从所述一级缓存空间的最
5、基于所述目标读取指令,从所述一级缓存空间对应的目标外存空间中,将所述目标数据读取到所述一级缓存空间中。
6、可选地,所述方法还包括:
7、响应于目标锁定指令,在所述最近最少使用缓存页链表和/或所述最不常用缓存页链表中,向所述目标锁定指令对应的第三缓存页数据添加锁定标记,以对所述第三缓存页数据进行锁定,得到被锁定的第三缓存页数据;
8、在接收到所述被锁定的第三缓存页数据对应的目标清除指令的情况下,响应于所述目标清除指令,将所述被锁定的第三缓存页数据从所述一级缓存空间中清除。
9、可选地,所述方法还包括:
10、在所述被锁定的第三缓存页数据的未被命中的时长大于或等于第一预设时长,且所述被锁定的第三缓存页数据存在于所述最近最少使用缓存页链表的情况下,删除所述被锁定的第三缓存页数据的锁定标记,以对所述被锁定的第三缓存页数据进行解锁,得到所述第三缓存页数据;
11、在第二预设时长内,在所述被锁定的第三缓存页的访问率小于第一阈值,且所述被锁定的第三缓存页数据存在于所述最不常用缓存页链表的情况下,删除所述被锁定的第三缓存页数据的锁定标记,以对所述被锁定的第三缓存页数据进行解锁,得到所述第三缓存页数据。
12、可选地,所述从所述一级缓存空间的最近最少使用缓存页链表中,将处于末位且没有包含锁定标记的第一缓存页数据转移到所述二级缓存空间中,包括:
13、在所述目标读取指令为顺序读指令,且所述第一缓存页数据的数据量大于或等于第一阈值的情况下,创建缓存数据整理线程和写操作处理线程;
14、基于所述缓存数据整理线程,将所述第一缓存页数据转移到多个大小为64兆字节的数据块存储空间中;
15、基于所述写操作处理线程,将所述数据块存储空间中的第一缓存页数据转移到所述二级缓存空间中。
16、可选地,所述方法还包括:
17、在所述一级缓存空间中包含所述目标数据的情况下,确定所述目标数据所在的第一链表;
18、在所述第一链表为所述最近最少使用缓存页链表的情况下,将所述目标数据调整至所述最近最少使用缓存页链表的首位。
19、可选地,所述方法还包括:
20、在所述第一链表为所述最不常用缓存页链表的情况下,将所述目标数据的读取频率加一,以对所述目标数据的读取频率进行更新,得到更新后的读取频率;
21、基于所述更新后的读取频率,重新确定所述目标数据在所述最不常用缓存页链表中的位置。
22、可选地,所述方法还包括:
23、确定所述最近最少使用缓存页链表的第一命中率和所述最不常用缓存页链表的第二命中率;
24、在所述第一命中率大于所述第二命中率的情况下,按照预设比例增加所述最近最少使用缓存页链表的长度;
25、在所述第一命中率小于所述第二命中率的情况下,按照所述预设比例增加所述最不常用缓存页链表的长度;
26、在所述第一命中率等于所述第二命中率的情况下,维持所述最近最少使用缓存页链表的长度和所述最不常用缓存页链表的长度不变。
27、可选地,所述二级缓存空间的部分内存空间为应用直接访问模式,所述二级缓存空间的剩余内存空间为内存模式,所述方法还包括:
28、将所述最不常用缓存页链表中,读取频率大于或等于预设频率的第四缓存页数据,复制到所述二级缓存空间中处于所述应用直接访问模式的部分内存空间中;
29、在所述二级缓存空间掉电并重新上电后,基于所述二级缓存空间中处于所述应用直接访问模式的部分内存空间中的第四缓存页数据,执行应用恢复。
30、第二方面,本申请实施例提供一种缓存操作装置,应用于电子设备,所述电子设备包括一级缓存空间和二级缓存空间,所述二级缓存空间为持久化内存,所述装置包括:
31、查询模块,用于响应于目标读取指令,在所述一级缓存空间和所述二级缓存空间中查询所述目标读取指令对应的目标数据;
32、转移模块,用于在所述一级缓存空间和所述二级缓存空间中均不包含所述目标数据的情况下,从所述一级缓存空间的最近最少使用缓存页链表中,将处于末位且没有包含锁定标记的第一缓存页数据转移到所述二级缓存空间中,从所述一级缓存空间的最不常用缓存页链表中,将处于末位且没有包含锁定标记的第二缓存页数据转移到所述二级缓存空间中;其中,所述最近最少使用缓存页链表中的缓存页数据按照未被命中的时长由短到长的顺序排列;所述最不常用缓存页链表中的缓存页数据按照读取频率由大到小的顺序排列;
33、读取模块,用于基于所述目标读取指令,从所述一级缓存空间对应的目标外存空间中,将所述目标数据读取到所述一级缓存空间中。
34、可选地,所述装置还包括:
35、锁定模块,用于响应于目标锁定指令,在所述最近最少使用缓存页链表和/或所述最不常用缓存页链表中,向所述目标锁定指令对应的第三缓存页数据添加锁定标记,以对所述第三缓存页数据进行锁定,得到被锁定的第三缓存页数据;
36、清除模块,用于在接收到所述被锁定的第三缓本文档来自技高网...
【技术保护点】
1.一种缓存操作方法,其特征在于,应用于电子设备,所述电子设备包括一级缓存空间和二级缓存空间,所述二级缓存空间为持久化内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述从所述一级缓存空间的最近最少使用缓存页链表中,将处于末位且没有包含锁定标记的第一缓存页数据转移到所述二级缓存空间中,包括:
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1或2所述的方法,其特征在于,所述二级缓存空间的部分内存空间为应用直接访问模式,所述二级缓存空间的剩余内存空间为内存模式,所述方法还包括:
9.一种缓存操作装置,其特征在于,应用于电子设备,所述电子设备包括一级缓存空间和二级缓存空间,所述二级缓存空间为持久化内存,
10.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现权利要求1至8任意一项所述的缓存操作方法。
...【技术特征摘要】
1.一种缓存操作方法,其特征在于,应用于电子设备,所述电子设备包括一级缓存空间和二级缓存空间,所述二级缓存空间为持久化内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述从所述一级缓存空间的最近最少使用缓存页链表中,将处于末位且没有包含锁定标记的第一缓存页数据转移到所述二...
【专利技术属性】
技术研发人员:吴文峰,严辉华,李汉财,何睿,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。