【技术实现步骤摘要】
一种LinuxBcache中的垃圾回收方法及系统
本专利技术涉及计算机存储优化
,具体而言,为一种LinuxBcache中的垃圾回收方法及系统。
技术介绍
LinuxBcache是Linux内核中的块设备缓存,基本功能是用固态硬盘(缓存设备)给机械硬盘(后端设备)做缓存。在Bcache中,用B+tree(一种多路搜索树)维护缓存设备和后端设备上面数据的映射关系。该B+tree涉及的操作有“查找,遍历,插入,整理”四种,向缓存设备写数据会向B+tree插入元素;从缓存设备读数据会从B+tree查找元素;将缓存设备上的数据写回到后端设备(回刷)会遍历B+tree来标记缓存设备上有“脏数据”的区间;将缓存设备上的空间回收再利用(垃圾回收)会整理B+tree的所有节点。为保护B+tree上面数据的可靠性,防止上述四个动作并发进行(比如在插入的同时查找),Bcache采用“读写锁”的方式:对B+tree上面某节点加“读锁”,用来查找和遍历,此时请求写锁的其他任务必须等待;对B+tree上面某节点加“写锁”,用来插 ...
【技术保护点】
1.一种Linux Bcache中的垃圾回收方法,其特征在于,包括/n设置辅助B+tree;/n在写请求流程与GC流程并发时,写请求的数据元素插入所述辅助B+tree中,并在GC流程结束后,将插入的所述数据元素插入到原始B+tree中;/n取多个原始B+tree节点设置为GC流程检查点;/n在检查点设置任务优先级规则;/n在读请求与GC流程并发时,根据所述检查点的优先级比对结果以及当前的读请求排队任务个数,确定GC流程继续执行或者中断。/n
【技术特征摘要】
1.一种LinuxBcache中的垃圾回收方法,其特征在于,包括
设置辅助B+tree;
在写请求流程与GC流程并发时,写请求的数据元素插入所述辅助B+tree中,并在GC流程结束后,将插入的所述数据元素插入到原始B+tree中;
取多个原始B+tree节点设置为GC流程检查点;
在检查点设置任务优先级规则;
在读请求与GC流程并发时,根据所述检查点的优先级比对结果以及当前的读请求排队任务个数,确定GC流程继续执行或者中断。
2.根据权利要求1所述的所述的LinuxBcache中的垃圾回收方法,其特征在于,所述GC流程处理完毕后,遍历所述辅助B+tree。
3.根据权利要求2所述的所述的LinuxBcache中的垃圾回收方法,其特征在于,所述在检查点设置任务优先级规则,包括对GC任务优先级的设置和/或对排队等待的读请求任务个数设置。
4.一种Lin...
【专利技术属性】
技术研发人员:王云飞,沈海嘉,郭照斌,石胜男,
申请(专利权)人:天津中科曙光存储科技有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。