[发明专利]一种应用于内容解析存储的基于内容的缓存方法有效
申请号: | 201110365027.7 | 申请日: | 2011-11-17 |
公开(公告)号: | CN102508790A | 公开(公告)日: | 2012-06-20 |
发明(设计)人: | 龚韬;肖利民;赵国玉;李秀桥;阮利 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用于 内容 解析 存储 基于 缓存 方法 | ||
技术领域
本发明涉及一种计算机存储系统中的缓存方法,具体涉及一种应用于内容解析存储的基于内容的缓存方法;属于计算机存储系统领域。
背景技术
目前桌面虚拟化产品中大规模虚拟机镜像存储带来了数据重复存储的问题,增加了共享存储系统的存储空间压力,内容解析存储技术(CAS)被用来解决数据重复存储的问题。它通过检测数据的内容相似性以合并存储重复数据,可以避免重复数据的多次存储,达到降低虚拟机镜像存储开销的目的。在降低存储开销的同时不能对虚拟机的性能造成显著的影响。并且,优化方法对虚拟机监控器和VM操作系统来说应当是透明的。
哈希函数是一种从任何一种数据中创建小的数字“指纹”的方法。该函数将数据打乱混合,重新创建一个叫做哈希值的指纹。在CAS中,通过对文件内容分块计算得到对应哈希值存储。
CAS技术对文件进行分块后计算哈希值序列,通过哈希值序列判断重复数据。对于内容相同的数据块只保留一份,并且在每一个分块文件中记录对应被共享的次数。对于采用CAS方式存储的文件,原先的文件实际存储的是该文件的每个分块的哈希值序列以及文件数据大小等信息。哈希序列对应的数据部分保存在共享存储系统里面。
因计算机处理速度与存储器速度不一致,在计算机系统中存在着一种缓存机制。缓存的存储速度高于实际操作的存储器的速度,缓存在处理器与实际存储器之间起到一个缓冲的作用,当处理器需要不停地读写相同的存储器内容时,则可以将这些数据暂存于缓存中,以提高读写性能。
现有的缓存方法都是以存储地址作为缓存索引的,这种方法在应用到CAS文件系统中时遇到问题,因在CAS文件系统中,文件地址内保存的是内容的哈希值而不是内容,以哈希值为索引的缓存并不能很好的提高文件系统性能。本发明就是提供一种在CAS文件系统中的缓存方法来提高CAS文件系统的性能
发明内容
本发明要解决的技术问题是在CAS文件系统中提供一种缓存机制,来减少实际文件操作,以提高CAS的性能。一般的使用数据地址作为缓存索引的缓存机制并不适用于CAS,本发明使用缓存内容的哈希值作为缓存索引,可以有效地提高CAS的性能。
为了达到实现上述方法,本发明的技术方案是这样的:
一种应用于内容解析存储的基于内容的缓存方法,具体包括如下内容:
在CAS文件系统中嵌入一个以缓存内容作哈希值作为缓存索引的缓存模块,以缓存模块的读写操作代替原有磁盘操作。当CAS文件系统发起磁盘读写操作时,缓存模块先检查对应数据块是否已被缓存,如已被缓存则可直接从缓存模块内部的缓存区调出使用;当检查数据不在缓存区时,再由缓存模块发起实际读写操作,以减少实际读写次数。缓存区是定义在缓存模块中的一个存储区,由多个缓存单元组成,每个缓存单元可以缓存一个数据块。
其中,对于CAS文件读操作,CAS需要从共享存储区读到哈希值序列对应的数据块,这时在缓存模块内,先调用cache_read()进行读缓存操作。若成功从自身的缓存区读到了需要的数据块,则直接返回给CAS。否则,发起磁盘读操作读取共享存储区,获得数据块后,通过cache_write()将数据块写入缓存区,再返回上层。
其中,对于CAS文件写操作,当CAS发起写操作时,CAS需要向共享存储区写入一个哈希值序列和数据块的映射,此时缓存模块同样以哈希值序列为索引,调用cache_write()将数据块保存到自己的缓存区,然后发起实际磁盘写操作写入共享存储区。
cache_read()是一个缓存区的读操作,由传入的缓存索引在缓存区寻找对应的缓存单元,若缓存命中则拷贝缓存单元内的数据块,若不命中则返回失败标志。cache_write()是一个缓存区的写操作,由数据块计算出索引值,并在缓存区寻找缓存单元保存。
本发明一种应用于内容解析存储的基于内容的缓存方法,其优点及功效在于可以提供一种在CAS文件系统中使用的缓存机制,来有效地提高CAS文件系统的性能。
附图说明
图1为带有缓存机制CAS文件系统的结构图
图2为带缓存的CAS读操作流程
图3为带缓存的CAS写操作流程
图4为一个缓存单元的结构
图5为缓存区结构
图6为cache_read()的操作流程
图7为cache_write()的操作流程
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110365027.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:全粒面超纤及制造方法
- 下一篇:耐磨损除尘器导气管
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法