[发明专利]一种Cache异步淘汰的方法和装置有效
申请号: | 200810089980.1 | 申请日: | 2008-04-14 |
公开(公告)号: | CN101561783A | 公开(公告)日: | 2009-10-21 |
发明(设计)人: | 杨含飞 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08;G06F9/50 |
代理公司: | 北京挺立专利事务所 | 代理人: | 叶树明 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cache 异步 淘汰 方法 装置 | ||
1.一种Cache异步淘汰的方法,其特征在于,包括以下步骤:
调用线程向Cache放置对象时,所述Cache首先检查一级Cache的容量;
所述一级Cache的容量未满时,所述一级Cache直接将对象放到所述一级Cache里;
所述一级Cache的容量已满时,取得所述一级Cache里应淘汰的对象,将其从所述一级Cache移除,并将新对象放入所述一级Cache里,并获取回收区中淘汰对象的占用空间情况;
比较所述淘汰对象的占用空间情况与预先设定的门限值;
所述淘汰对象的占用空间情况大于所述门限值时,关闭所述回收区中的淘汰对象;
所述回收区中的空间未满时,由所述线程在后台以异步并行的方式关闭淘汰对象,调用线程不参与淘汰对象的关闭。
2.如权利要求1所述Cache异步淘汰的方法,其特征在于,所述回收区具体为二级Cache,被放入到所述回收区中的淘汰对象等待关闭或重新被回收利用。
3.如权利要求1所述Cache异步淘汰的方法,其特征在于,所述获取回收区中淘汰对象的占用空间情况的步骤前还包括:
一级Cache容量已满时,将淘汰对象放置到回收区中。
4.如权利要求1所述Cache异步淘汰的方法,其特征在于,所述关闭所述回收区的淘汰对象步骤具体为:
调整关闭淘汰对象的线程数目,从回收区中移除淘汰对象,并释放所述淘汰对象占用的资源;
所述一定数目的线程之间以并行的方式关闭淘汰对象。
5.如权利要求1或4所述的Cache异步淘汰的方法,其特征在于,所述关闭所述回收区中的淘汰对象步骤具体为:
按照淘汰对象放入回收区中的顺序关闭淘汰顺序优先的对象。
6.如权利要求4所述的Cache异步淘汰的方法,其特征在于,所述调整关闭淘汰对象的线程具体为:
根据需要淘汰对象的数量在预先设定线程数量的范围内调整线程的数量。
7.如权利要求1所述的Cache异步淘汰的方法,其特征在于,所述回收区中的空间已满时,由调用线程直接关闭当前从一级Cache里淘汰的对象。
8.一种Cache异步淘汰的装置,其特征在于,包括:
获取模块,用于获取回收区中淘汰对象的占用空间情况;调用线程向Cache放置对象时,所述Cache首先检查一级Cache的容量;所述一级Cache的容量未满时,所述一级Cache直接将对象放到所述一级Cache里;所述一级Cache的容量已满时,取得所述一级Cache里应淘汰的对象,将其从所述一级Cache移除,并将新对象放入所述一级Cache里;
比较模块,用于比较获取模块获取的淘汰对象占用空间情况与预先设定的门限值;
对象关闭模块,用于当获取模块获取到淘汰对象占用的空间情况大于预先设定的门限值时,关闭所述回收区中的淘汰对象;所述回收区中的空间未满时,由所述线程在后台以异步并行的方式关闭淘汰对象,调用线程不参与淘汰对象的关闭。
9.如权利要求8所述Cache异步淘汰的装置,其特征在于,所述对象关闭模块进一步包括:
对象顺序检测子模块,用于检测淘汰对象放入回收区中的顺序;
线程控制子模块,用于在预先设定的范围内调整关闭淘汰对象线程的数量;
关闭子模块,用于利用所述线程控制子模块调整的线程并行的关闭对象顺序检测子模块检测到的顺序优先的淘汰对象;所述回收区中的空间已满时,由调用线程直接关闭当前从一级Cache里淘汰的对象。
10.如权利要求8或9所述Cache异步淘汰的装置,其特征在于,还包括:
回收区具体为二级Cache,被放入到所述回收区中的淘汰对象等待关闭或重新被回收利用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810089980.1/1.html,转载请声明来源钻瓜专利网。