【技术实现步骤摘要】
应用于Bcache的回收方法及装置
本申请涉及计算机数据处理
,具体而言,涉及一种应用于Bcache的回收方法及装置。
技术介绍
Bcache是一个Linux内核块设备的cache实现。它允许一个或多个高速存储设备(caching盘)被用来当做相对廉价的低速大容量设备(backing盘)的缓冲层。这样对于用户来说既可以得到低速HDD(机械硬盘)的大容量,同时因为访问透过SSD(固态硬盘)缓冲,可以得到近似于SSD的访问速度,并且整个访问过程对于用户来说是透明的,和一般访问块设备是一样的使用方式。Bcache设计过程中充分考虑SSD的特性,缓存设备会按照桶(bucket)大小划分成很多bucket,bucket的大小是可配置的,通常是设置成与缓存SSD设备的擦除大小一致。这些bucket也就构成了缓存空间。Bcache根据配置可以以不同的策略来使用bucket,包括LRU(最近最少使用策略),FIFO(先进先出策略),和Random(随机选择策略)。Bcache通过btree(多路搜索树)来做LBA(逻辑区域地址 ...
【技术保护点】
1.一种应用于Bcache的回收方法,其特征在于,所述方法包括:/n获取非空闲的桶bucket,所述非空闲的桶bucket是包含脏数据和/或过期数据的缓存空间;/n将非空闲的bucket进行数据整合至空闲的bucket中,将非空闲的bucket的空间释放;/n将释放空间后的非空闲的bucket标记为空闲的bucket,以增加空闲的bucket的数量。/n
【技术特征摘要】
1.一种应用于Bcache的回收方法,其特征在于,所述方法包括:
获取非空闲的桶bucket,所述非空闲的桶bucket是包含脏数据和/或过期数据的缓存空间;
将非空闲的bucket进行数据整合至空闲的bucket中,将非空闲的bucket的空间释放;
将释放空间后的非空闲的bucket标记为空闲的bucket,以增加空闲的bucket的数量。
2.根据权利要求1所述的应用于Bcache的回收方法,其特征在于,所述将非空闲的bucket进行数据整合至空闲的bucket中包括:
将非空闲的bucket中的过期数据丢弃;
按照一个空闲的bucket占满后再占用下一个空闲的bucket的规则,将非空闲的bucket中剩余的数据依次转移到空闲的bucket中。
3.根据权利要求1或2所述的应用于Bcache的回收方法,其特征在于,所述将非空闲的bucket进行数据整合至空闲的bucket中包括:
集中提取各个非空闲的bucket中脏数据;
将各个非空闲的bucket中脏数据重新分配至空闲的bucket中。
4.根据权利要求3所述的应用于Bcache的回收方法,其特征在于,所述将非空闲的bucket的空间释放,还包括:
基于最近最少策略LRU对预设时段内访问频率低于预设频率值的非空闲的bucket中非脏数据进行丢弃。
5.根据权利要求3所述的应用于Bcache的回收方法,其特征在于,所述集中提取各个非空闲的bucket中脏数据还包括:
获取各个非空闲的bucket中脏数据的占用空间;
分别判断每个非空闲的b...
【专利技术属性】
技术研发人员:陈亮,刘国辉,
申请(专利权)人:北京易捷思达科技发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。