[发明专利]数据缓存处理方法、装置以及系统有效
申请号: | 201210562759.X | 申请日: | 2012-12-21 |
公开(公告)号: | CN103019962A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 李明君 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 缓存 处理 方法 装置 以及 系统 | ||
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据缓存处理方法、装置以及系统。
背景技术
缓存技术是计算机系统中进行数据访问的常见技术,在计算机系统进行数据访问时,可将最近访问的数据放置在缓存器中,这样,计算机系统需要重新访问数据时,就可以将通过缓存器来读取数据,提高数据读写效率。
现有缓存技术在进行缓存数据处理时,通常采用最近最少使用(Least Recently Used,LRU)缓存替代算法对缓存器中的缓存数据进行处理,即在计算机系统访问数据时,将最近最新访问的数据保留在缓存器中,而将最近最久未访问的数据替换出缓存器,以确保缓存器中缓存的数据均是最近最新访问的数据。这样,在计算机中的处理器读取数据时,就可以优先从缓存器中查询是否有自身所要读取的数据,若有则直接从缓存器中读取该数据,否则,从普通存储器,例如硬盘中读取数据。这种缓存技术应用在大部分计算机系统中,例如在使用Xen虚拟化的桌面云系统中,就使用这种缓存技术,在该桌面云系统中,服务器上特权域(Domain0)会虚拟出CPU、输入输出IO总线、存储等资源,供服务器上的虚拟机域(Domain U)使用,而在Domain0中会设置针对Domain U的缓存(Cache)模块,即缓存器,缓存各个Domain U所使用镜像的数据,并收集数据块被各个Domain U的IO调用的进度、频度等信息,对数据在cache模块中进行调度,其中,Cache模块中缓存的数据,就是按照LRU算法进行处理,从而可在Cache模块中缓存“热度”高的数据,替换出“变冷”的数据,确保Cache模块中的数据价值较大,从而提高缓存命中率,并减少各个Domain U访问远端存储上的镜像而产生的IO对远端存储每秒输入输出量IOPS的压力。
但是,现有缓存技术中,缓存器中的数据按照LRU进行替换时,计算机系统中访问的任何数据均是按照LRU来进行缓存,缓存器对计算机系统中的任何类型的数据执行相同的缓存操作,这就使得计算机系统中的重要IO进程的数据,例如系统文件数据在访问时的命中率较低,使得计算机系统的执行效率较差。
发明内容
本发明实施例提供一种数据缓存处理方法、装置以及系统,可克服现有缓存技术中存在的问题,使得高优先级的数据在缓存器中的保留时间,提高高优先级数据的命中率。
第一方面,本发明实施例提供一种数据缓存处理方法,包括:
获得待缓存数据的数据类型;
根据所述数据类型,以及预设的优先级映射表,得到所述待缓存数据的优先级,所述预设的优先级映射表包括数据类型以及数据类型对应的优先级;
基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,并更新所述缓存器的缓存队列;
其中,所述缓存器的缓存队列包括各优先级对应的缓存队列,各优先级对应的缓存队列对应所述缓存器中存储的各优先级的缓存数据。
结合第一方面,在第一种可能实现方式中,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括:
当所述缓存器已满时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
结合第一方面或第一方面的第一种可能实现方式,在第二种可能实现方式中,所述缓存器中设置有各优先级对应的缓存队列的最大长度;
所述优先替换所述缓存器中低优先级对应的缓存队列中的数据,具体包括:
当所述待缓存数据的优先级对应的缓存队列的长度未超过最大长度时,优先替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中;
当所述待缓存数据的优先级对应的缓存队列的长度超过最大长度时,替换所述待缓存数据的优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
结合第一方面,在第三种可能实现方式中,所述数据类型的个数为3个,相应的所述优先级映射表中的优先级的个数为3个,且优先级分为高优先级、中优先级和低优先级。
结合第一方面的第三种可能实现方式,在第四种可能实现方式中,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括:
当所述缓存器已满,且所述待缓存数据的优先级为高优先级时,替换所述缓存器中低优先级对应的缓存队列中的数据,将所述待缓存数据存储在缓存器中。
结合第一方面的第三种可能实现方式,在第五种可能实现方式中,所述基于所述待缓存数据的优先级,按照优先级的高低将所述待缓存数据存储在缓存器中,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210562759.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通用串行总线传输控制方法及主机设备
- 下一篇:一种指令高速缓冲存储器
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置