自适应混合读/写缓存的方法_2

文档序号:9432203阅读:来源:国知局
升高,则升高读缓冲在该RAID缓存的占比,反之升高写缓存在该RAID缓存中的占比。
[0048]当缓存的空间不足时,优先释放热度最低的非脏缓存,将非脏缓存释放到指定的占比位置。
[0049]在写缓存使用超过一定百分比时或写缓存余量不足时,则放缓或停止执行写1/0,启动回写动作,待清空掉足够的脏数据之后再启动写I/O。
[0050]在本实施例中,一段缓存是写缓存还是读缓冲,是根据缓存的最后一次操作来判定,如果最后一次是读取,则为读缓存,否则为写缓存。
[0051 ] 在上述方法中,使用双控I/O锁对缓存的访问,如读取、写入和回写进行保护。
[0052]图2示出了本发明的自适应混合读/写缓存的系统的结构框图。
[0053]图3示出了本发明的自适应混合读/写缓存的系统的缓存读/写模块的结构框图。
[0054]根据本发明的另一个方面,提供一种自适应混合读/写缓存的系统,参照图2和图3,该系统包括:
[0055]缓冲块划分模块10,用于将所述存储器的缓存按设定的大小划分成多个块;
[0056]索引模块20,用于使用红黑树对所述每个缓存节点进行索引;
[0057]缓存读/写模块30,用于进行缓存读写。
[0058]其中,缓存读/写模块30包括:
[0059]读缓存单元301,用于读取缓存;
[0060]写缓存单元302,用于写入缓存;
[0061]缓存占比调节单元303,用于以磁盘阵列组RAID的形式统计读写缓存的使用情况以及读写输入输出1的比例并进行调节;
[0062]缓存释放单元304,用于在所述存储器空间不足时释放所述缓存;
[0063]回写单元305,用于在写缓存超过设定比例或写缓存余量不足时进行回写动作。
[0064]本发明的自适应混合读/写缓存的方法,通过控制读缓存的大小和写缓存的大小,很容易保证缓存的读写一致性,并可以自适应地调节读写缓存的比例,从而可以对缓存做到内存资源的合理利用,同时在读取时查找速度快,并且不需要二次遍历。
[0065]虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
【主权项】
1.一种自适应混合读/写缓存的方法,其特征在于,所述方法包括: 将缓存按设定的大小划分成多个块,并设置成每个缓存节点为一个块; 使用红黑树对所述每个缓存节点进行索引; 在写入或读取缓存时,找到对应的缓存节点,然后在所述缓存节点上进行相应的写入或读取; 其中,在进行写入或读取缓存时,统计所述读写缓存的使用情况及读写比例,对所述写入或读取的缓存比例进行调节。2.根据权利要求1所述的自适应混合读/写缓存的方法,其特征在于,所述步骤S3具体包括: 当写入缓存时,找到对应的缓存节点,然后将数据填充到所找到的缓存节点上; 当读取缓存时,找到对应的缓存节点,然后在找到的缓存节点上查找缓存。3.根据权利要求2所述的自适应混合读/写缓存的方法,其特征在于,所述步骤S3还包括: 在读取缓存时,如果没有读取到完整的数据,则读取所述缓存对应的外存,并将读取的数据存入到所述缓存。4.根据权利要求1所述的自适应混合读/写缓存的方法,其特征在于,对所述写入或读取的缓存比例进行调节的过程具体包括:统计每个磁盘阵列组RAID的读写缓存的使用情况以及读写输入输出1的比例,如果读1比例升高,则升高读缓冲在该RAID缓存的占比,反之升高写缓存在该RAID缓存中的占比。5.根据权利要求1所述的自适应混合读/写缓存的方法,其特征在于,所述步骤S3还包括: 当所述缓存的空间不足时,释放热度最低的非脏缓存,将所述非脏缓存释放到指定的占比位置。6.根据权利要求1所述的自适应混合读/写缓存的方法,其特征在于,所述步骤S3还包括: 在写缓存使用超过一定百分比时或写缓存余量不足时,则放缓或停止执行写1/0,启动回写动作,待清空掉足够的脏数据之后再启动写I/O。7.根据权利要求1所述的自适应混合读/写缓存的方法,其特征在于, 根据缓存的最后一次操作判定所述缓存为读缓冲还是写缓存,如果最后一次是读取,则为读缓存,否则为写缓存。8.根据权利要求1所述的自适应混合读/写缓存的方法,其特征在于,所述方法还包括: 使用双控I/o锁对缓存的访问进行保护;所述对缓存的访问包括读取、写入和回写。9.一种自适应混合读/写缓存的系统,其特征在于,所述系统包括: 缓冲块划分模块,用于将缓存按设定的大小划分成多个块; 索引模块,用于使用红黑树对所述每个缓存节点进行索引; 缓存读/写模块,用于进行缓存读写。10.根据权利要求9所述的自适应混合读/写缓存的系统,其特征在于,所述缓存读/写模块包括: 读缓存单元,用于读取缓存; 写缓存单元,用于写入缓存; 缓存占比调节单元,用于以磁盘阵列组RAID的形式统计读写缓存的使用情况以及读写输入输出1的比例并进行调节; 缓存释放单元,用于在所述存储器空间不足时释放所述缓存; 回写单元,用于在写缓存超过设定比例或写缓存余量不足时进行回写动作。
【专利摘要】本发明涉及一种自适应混合读/写缓存的方法及系统,所述方法包括:S1、将所述存储器的缓存按设定的大小划分成多个块,并设置成每个缓存节点为一个块;S2、使用红黑树对所述每个缓存节点进行索引;S3、在写入或读取缓存时,找到对应的缓存节点,然后在所述缓存节点上进行相应的写入或读取;其中,在进行写入或读取缓存时,统计所述读写缓存的使用情况及读写比例,对所述写入或读取的缓存比例进行调节。本发明的方法通过控制读缓存和写缓存的大小,自适应地调节读写缓存的比例。
【IPC分类】G06F3/06
【公开号】CN105183378
【申请号】CN201510548293
【发明人】李浩然
【申请人】北京神州云科数据技术有限公司
【公开日】2015年12月23日
【申请日】2015年8月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1