缓存数据的确定方法及装置的制造方法

文档序号:8380688阅读:266来源:国知局
缓存数据的确定方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种缓存数据的确定方法及装置。
【背景技术】
[0002]计算机的处理器在处理数据的过程中,由于处理器从缓存存储器读取数据的速度比从磁盘中读取数据的速度快,为了加快数据处理速度,随着数据处理过程的不断进行,处理器会不断挑选出访问量比较高的好数据,并将这些好数据存储于缓存存储器中一份。在此基础上,处理器在处理数据时,如果所需数据已存储于缓存存储器,则直接从缓存存储器读取数据,该数据为缓存命中数据;如果所需数据还未存储于缓存存储器,则从磁盘读取所需数据,该数据为缓存缺失数据。为了加快数据处理速度,对于缓存缺失数据中访问量比较高的数据,可以将其写入缓存存储器,确保后续处理器需要该数据时,可以直接从缓存存储器读取该数据。然而,由于有些缓存存储器的写入次数有限,如SSD(Solid State Disk,固态硬盘),频繁向该类缓存存储器写入数据会降低该类缓存存储器的使用寿命。因此,在向该类缓存存储器写入数据之前,需要从所有的缓存缺失数据中,确定可以写入该类缓存存储器的缓存缺失数据。
[0003]相关技术在确定哪些缓存缺失数据可以写入缓存存储器时,通常采用的方法为:从所有缓存缺失数据中,随机选择部分缓存缺失数据,将该选择的缓存缺失数据作为可以写入缓存存储器的缓存缺失数据。
[0004]在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
[0005]缓存缺失数据分为访问量高的好数据、访问量居中的一般数据和访问量低的差数据。由于相关技术在确定缓存缺失数据时,仅是随机选择缓存缺失数据,因此,好数据、一般数据和差数据被选中的概率相等,使写入缓存存储器的好数据、一般数据和差数据的比例相等,导致处理器后续从缓存存储器读取数据时的命中率不高。

【发明内容】

[0006]为了提高缓存存储器中存储的访问次数比较高的好数据的比例,从而提高处理器后续从缓存存储器读取数据时的命中率,本发明实施例提供了一种缓存数据的确定方法及装置。所述技术方案如下:
[0007]第一方面,提供了一种缓存数据的确定方法,所述方法包括:
[0008]获取所读取的缓存缺失数据的数据标识,所述数据标识用于区分不同的缓存缺失数据;
[0009]基于获取的缓存缺失数据的数据标识选择待定数据的数据标识;
[0010]将各个待定数据的数据标识进行分组记录;
[0011]统计所述各个待定数据的数据标识在各个分组中的出现次数;
[0012]根据所述出现次数选择目标待定数据,将所述目标待定数据确定为写入缓存存储器的缓存缺失数据。
[0013]结合第一方面,在第一方面的第一种可能的实现方式中,所述各个分组构成一个时间窗口序列,所述时间窗口序列包括至少两个时间窗口,每个时间窗口包括第一预设数值个第一存储单元,每两个时间窗口之间间隔第二预设数值个第二存储单元;
[0014]所述将各个待定数据的数据标识进行分组记录,包括:
[0015]将各个待定数据的数据标识按顺序分别记录至所述时间窗口序列的各个第一存储单元中;
[0016]所述统计所述各个待定数据的数据标识在各个分组中的出现次数,包括:
[0017]统计所述各个待定数据的数据标识在所述时间窗口序列的各个时间窗口中的出现次数。
[0018]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述统计所述各个待定数据的数据标识在所述时间窗口序列的各个时间窗口中的出现次数,包括:
[0019]统计所述时间窗口序列的各个时间窗口中记录同一数据标识的第一存储单元的数量;
[0020]根据所述记录同一数据标识的第一存储单元的数量,确定所述各个待定数据的数据标识在所述时间窗口序列的各个时间窗口中的出现次数。
[0021]结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述统计所述时间窗口序列的各个时间窗口中记录同一数据标识的第一存储单元的数量,包括:
[0022]当所述时间窗口序列中的所有第一存储单元均被填满时,统计所述时间窗口序列的各个时间窗口中记录同一数据标识的第一存储单元的数量。
[0023]结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述统计所述时间窗口序列的各个时间窗口中记录同一数据标识的第一存储单元的数量之后,还包括:
[0024]清除所述时间窗口序列的各个第一存储单元中存储的数据标识,以通过所述时间窗口序列记录后续数据读取过程中选择的待定数据的数据标识。
[0025]结合第一方面至第一方面的第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述出现次数选择目标待定数据,将所述目标待定数据确定为写入缓存存储器的缓存缺失数据,包括:
[0026]选择出现次数不小于预设阈值的待定数据,将所述出现次数不小于预设阈值的待定数据作为目标待定数据,将所述目标待定数据确定为写入缓存存储器的缓存缺失数据。
[0027]结合第一方面至第一方面的第五种可能的实现方式中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述将所述目标待定数据确定为写入缓存存储器的缓存缺失数据之后,还包括:
[0028]将所述目标待定数据的数据标识添加至预设白名单中,所述预设白名单包括第四预设数值个第三存储单元,每个第三存储单元可记录一个目标待定数据的数据标识;
[0029]当后续读取的缓存缺失数据命中所述预设白名单中的任一个数据标识对应的目标待定数据时,将命中的目标待定数据写入所述缓存存储器。
[0030]结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述将命中的目标待定数据写入所述缓存存储器,包括:
[0031]当所述缓存存储器的存储空间还未满时,根据所述命中的目标待定数据的数据大小直接将所述命中的目标待定数据写入所述缓存存储器;
[0032]当所述缓存存储器的存储空间已满时,根据预设缓存替换算法淘汰所述缓存存储器中所述数据大小的存储空间所存储的数据,将所述命中的目标待定数据写入被淘汰数据对应的存储位置。
[0033]第二方面,提供了一种缓存数据的确定装置,所述装置包括:
[0034]获取模块,用于获取所读取的缓存缺失数据的数据标识,所述数据标识用于区分不同的缓存缺失数据;
[0035]选择模块,用于基于获取的缓存缺失数据的数据标识选择待定数据的数据标识;
[0036]记录模块,用于将各个待定数据的数据标识进行分组记录;
[0037]统计模块,用于统计所述各个待定数据的数据标识在各个分组中的出现次数;
[0038]确定模块,用于根据所述出现次数选择目标待定数据,将所述目标待定数据确定为写入缓存存储器的缓存缺失数据。
[0039]结合第二方面,在第二方面的第一种可能的实现方式中,所述各个分组构成一个时间窗口序列,所述时间窗口序列包括至少两个时间窗口,每个时间窗口包括第一预设数值个第一存储单元,每两个时间窗口之间间隔第二预设数值个第二存储单元;
[0040]所述记录模块,用于将各个待定数据的数据标识按顺序分别记录至所述时间窗口序列的各个第一存储单元中;
[0041]所述统计模块,用于统计所述各个待定数据的数据标识在所述时间窗口序列的各个时间窗口中的出现次数。
[0042]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述统计模块包括:
[0043]统计单元,用于统计所述时间窗口序列的各个时间窗口中记录同一数据标识的第一存储单元的数量;
[0044]第一确定单元,用于根据所述记录同一数据标识的第一存储单元的数量,确定所述各个待定数据的数据标识在所述时间窗口序列的各个时间窗口中的出现次数。
[0045]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述统计单元,用于当所述时间窗口序列中的所有第一存储单元均被填满时,统计所述时间窗口序列的各个时间窗口中记录同一数据标识的第一存储单元的数量。
[0046]结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述统计模块还包括:
[0047]清除单元,用于清除所述时间窗口序列的各个第一存储单元中存储的数据标识,以通过所述时间窗口序列记录后续数据读取过程中选择的待定数据的数据标识。
[0048]结合第二方面至第二方面的第四种可能的实现方式中的任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述确定模块,用于选择出现次数不小于预设阈值的待定数据作为目标待定数据,将所述目标待定数据确定为写入缓存存储器的缓存缺失数据。
[0049]结合第二方面至第二方面的第五种可能的实现方式中的任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述装置还包括:
[0050]添加模块,用于将所述目标待定数据的数据标识添加至预设白名单中,所述预设白名单包括第四预设数值个第三存储单元,每个第三存储单元可记录一个目标待定数据的数据标识;
[0051]写入模块,用于当后续读取的缓存缺失数据命中所述预设白名单中的任一个数据标识对应的目标待定数据时,将命中的目标待定数据写入所述缓存存储器。
[0052]结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述写入模块用于:
[0053]当所述缓存存储器的存储空间还未满时,根据所述命中的目标待定数据的数据大小直接将所述命中的目标待定数据写入所述缓存存储器;
[0054]当所述缓存存储器的存储空间已满时,根据预设缓存替换算法淘汰所述缓存存储器中所述数据大小的存储空间所存储的数据,将所述命中的目标待定数据写入被淘汰数据对应的存储位置。
[0055]本发明实施例提供的技术方案带来的有益效果是:
[0056]通过将各个待定数据的数据标识进行分组记录,并统计各个待定数据的数据标识在各个分组中的出现次数后,根据出现次数选择目标待定数据,并将目标待定数据确定为写入缓存存储器的缓存缺失数据。由于出现次数多能够标识该缓存缺失数据的被读取次数比较多,因而可以从所读取的缓存缺失数据中选择出被读取次数多的好数据,从而能够提高缓存存储器中存储的好数据的比例,进而能够提高处理器后续从缓存存储器读取数据时的命中率。
【附图说明】
[0057]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058]图1是本发明一实施例提供的缓存数据的确定方法所涉及的系统架构图;
[0059]图2是本发明另一实施例提供的一种缓存数据的确定方法的流程图;
[0060]图3是本发明另一实施例提供的一种缓存数据的确定方法的流程图;
[0061]图4是本发明另一实施例提供的一种时间窗口序列的不意图;
[0062]图5是本发明另一实施例提供的一种缓存数据的确定装置的结构示意图;
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1