[发明专利]自适应混合读/写缓存的方法有效
申请号: | 201510548293.1 | 申请日: | 2015-08-31 |
公开(公告)号: | CN105183378A | 公开(公告)日: | 2015-12-23 |
发明(设计)人: | 李浩然 | 申请(专利权)人: | 北京神州云科数据技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自适应 混合 缓存 方法 | ||
技术领域
本发明涉及计算机存储技术,尤其涉及一种自适应混合读/写的缓存的方法。
背景技术
目前市面上大部分存储产品的缓存都是读写分离的,读缓存的数据结构与写缓存的数据结构不复用,在内存中表现为两个区域,两份数据。
上述读写方式的优点是比较容易管理,但具有以下缺点:(1)如果对同一段数据先读后写,那么要么必须同时更新两份缓存,要么将读缓存设置为失效或删除。(2)如果对同一段数据先写后读,那么要么将写缓存中的脏数据回写完成后才可以进行读,要么将写缓存复制到读缓存,然后再进行读缓存。(3)在最差的情况下,同一份数据在缓存中可能会有两份,浪费了内存资源。
发明内容
本发明提供一种自适应混合读/写缓存的方法,通过控制读缓存和写缓存的大小,自适应地调节读写缓存的比例。
根据上述目的,本发明提供一种自适应混合读/写缓存的方法,其特征在于,所述方法包括:
将缓存按设定的大小划分成多个块,并设置成每个缓存节点为一个块;
使用红黑树对所述每个缓存节点进行索引;
在写入或读取缓存时,找到对应的缓存节点,然后在所述缓存节点上进行相应的写入或读取;
其中,在进行写入或读取缓存时,统计所述读写缓存的使用情况及读写比例,对所述写入或读取的缓存比例进行调节。
其中,所述步骤S3具体包括:
当写入缓存时,找到对应的缓存节点,然后将数据填充到所找到的缓存节点上;
当读取缓存时,找到对应的缓存节点,然后在找到的缓存节点上查找缓存。
其中,所述步骤S3还包括:
在读取缓存时,如果没有读取到完整的数据,则读取所述缓存对应的外存,并将读取的数据存入到所述缓存。
其中,对所述写入或读取的缓存比例进行调节的过程具体包括:统计每个磁盘阵列组RAID的读写缓存的使用情况以及读写输入输出IO的比例,如果读IO比例升高,则升高读缓冲在该RAID缓存的占比,反之升高写缓存在该RAID缓存中的占比。
其中,所述步骤S3还包括:
当所述缓存的空间不足时,释放热度最低的非脏缓存,将所述非脏缓存释放到指定的占比位置。
其中,所述步骤S3还包括:
在写缓存使用超过一定百分比时或写缓存余量不足时,则放缓或停止执行写I/O,启动回写动作,待清空掉足够的脏数据之后再启动写I/O。
其中,根据缓存的最后一次操作判定所述缓存为读缓冲还是写缓存,如果最后一次是读取,则为读缓存,否则为写缓存。
其中,所述方法还包括:
使用双控I/O锁对缓存的访问进行保护;所述对缓存的访问包括读取、写入和回写。
根据本发明的另一个方面,提供一种自适应混合读/写缓存的系统,所述系统包括:
缓冲块划分模块,用于将所述存储器的缓存按设定的大小划分成多个块;
索引模块,用于使用红黑树对所述每个缓存节点进行索引;
缓存读/写模块,用于进行缓存读写。
其中,所述缓存读/写模块包括:
读缓存单元,用于读取缓存;
写缓存单元,用于写入缓存;
缓存占比调节单元,用于以磁盘阵列组RAID的形式统计读写缓存的使用情况以及读写输入输出IO的比例并进行调节;
缓存释放单元,用于在所述存储器空间不足时释放所述缓存;
回写单元,用于在写缓存超过设定比例或写缓存余量不足时进行回写动作。
本发明的自适应混合读/写缓存的方法及系统,通过控制读缓存的大小和写缓存的大小,很容易保证缓存的读写一致性,并可以自适应地调节读写缓存的比例,从而可以对缓存做到内存资源的合理利用,同时在读取时查找速度快,并且不需要二次遍历。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明的自适应混合读/写缓存的方法的流程图。
图2示出了本发明的自适应混合读/写缓存的系统的结构框图。
图3示出了本发明的自适应混合读/写缓存的系统的缓存读/写模块的结构框图。
具体实施方式
下面将结合附图对本发明的实施例进行详细描述。
图1示出了本发明的自适应混合读/写缓存的方法的流程图。
参照图1,本发明的自适应混合读/写缓存的方法包括步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州云科数据技术有限公司,未经北京神州云科数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510548293.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种杏鲍菇肉酱的制备方法
- 下一篇:一种杀鱼装置