[发明专利]一种数据缓存的方法及装置有效
申请号: | 201210031748.9 | 申请日: | 2012-02-13 |
公开(公告)号: | CN103246612A | 公开(公告)日: | 2013-08-14 |
发明(设计)人: | 殷琳君;殷俊杰 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 缓存 方法 装置 | ||
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据缓存的方法及装置。
背景技术
随着数据库技术的不断成熟,数据库的存储量日趋增大,从而可以为用户提供更加丰富的数据资源,用户可以从数据库中获取所需要的数据。在实际应用中,对于用户需求量大的系统,例如一个日访问量达到百万级的网站,由于每个用户的爱好、需求不尽相同,在单位时间内,需要处理大量的数据分析和访问工作,对系统性能和用户浏览速度也会造成影响,给用户的数据浏览速度提升造成瓶颈。
为了解决上述问题,一般采用将用户需要浏览的数据初始化到内存中缓存起来,用户访问网站时可以从内存中获取数据。数据缓存一般有两种方式,一种是服务端缓存,另一种是客户端缓存。现假设用于存储数据的内存为一个缓存池,其中存储的数据称之为元素,来详细阐述现有技术中,基于万维网(WEB)的系统是如何实现在客户端动态缓存数据的。现有技术中,为了实现在客户端动态缓存数据,一般采用下述三种方式:
第一种方式:根据超文本传输(http)协议中规定的相应属性(如cache_control,etag等),由服务端在http响应头中设置数据缓存时间等属性值来实现客户端动态缓存数据。例如,由服务端在http响应头中设置对应http请求所获取的数据的存储时间为两个小时,客户端不能缩短或延长时间。则在两个小时之后,无论该数据是否还需要被用户访问,都需要将该数据进行清理。
第二种方式:应用html5标准中的本地存储来实现客户端动态缓存数据。
第三种方式:在客户端采用缓存算法实现数据缓存管理,例如,采用先进先出的队列管理算法来管理缓存池中的各个元素。即先进入缓存池的元素,在缓存池容量达到预设的阈值时,即使该元素是被频繁访问的,该元素也会被清理。
上述三种方式,分别存在下述缺陷:
对于第一种方式:需要依赖服务端进行属性值设置,属性值在设置完成以后,客户端不能够对其进行控制,例如客户端不能够更改或者延长数据存储时间,所以这种方式灵活性较差。
对于第二种方式:兼容性较差,并非所有浏览器都支持html5标准,特别是旧版浏览器,例如ie9以下版本都不支持html5。
对于第三种方式:由于受制于WEB系统的客户端平台、语言和资源等各方面的限制,客户端能够采用的算法一般比较简单,使得用户在访问缓存池中的元素时,该元素可能已经被清理,所以命中率较低,从而影响了整个系统的性能。
综上所述,现有技术中,基于WEB系统的客户端在进行数据缓存时,灵活性较差、在占用系统资源低的情况下实现数据被访问时命中率较低,使得系统的性能也较差。
发明内容
本申请实施例提供一种数据缓存的方法及装置,能够较好地提高基于WEB系统的客户端在进行数据缓存时的灵活性以及数据被访问时的命中率,并改善系统的性能。
本申请实施例提出的技术方案如下:
一种数据缓存的方法,包括:根据缓存池中每次新加入元素的情况和缓存池中已加入元素被访问的命中次数,为缓存池中的每个元素分别维护重要度信息;在每次需要对缓存池中的元素进行清理时,参照缓存池中各个元素的排序结果,对所述缓存池中存储的元素进行清理,其中所述排序结果为根据分别为缓存池中的每个元素分别维护的重要度信息,按照预设的规则对缓存池中的各个元素进行排序得到的。
一种数据缓存的装置,包括:重要度信息维护单元,用于根据缓存池中每次新加入元素的情况和缓存池中已加入元素被访问的命中次数,为缓存池中的每个元素分别维护重要度信息;排序单元,用于在每次需要对缓存池中的元素进行清理时,根据重要度信息维护单元分别为缓存池中的每个元素分别维护的重要度信息,按照预设的规则对缓存池中的各个元素进行排序。缓存池清理单元,用于在每次需要对缓存池中的元素进行清理时,参照排序单元为缓存池中各个元素的排序结果,对所述缓存池中存储的元素进行清理。
采用上述技术方案,根据缓存池中每次新加入元素的情况和缓存池中已经存储的元素被访问的次数,为缓存池中的每个元素分别维护重要度信息,在每次需要对缓存池中的元素进行清理时,参照缓存池中各个元素的排序结果,对所述缓存池中存储的元素进行清理,从而能够较好地提高缓存池在进行缓存时的灵活性以及在占用系统资源低的情况下,实现数据被访问时的高命中率,并改善系统的性能。
附图说明
图1为本申请实施例一中,提出的数据缓存的方法流程图;
图2为本申请实施例一中,提出的缓存池组成示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210031748.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种含钙硅酸盐矿物碳酸化固定二氧化碳的方法
- 下一篇:单元幕墙的单挂件系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置