一种缓存更新方法和装置制造方法及图纸

技术编号:25801818 阅读:32 留言:0更新日期:2020-09-29 18:35
本公开涉及一种缓存更新方法和装置。该方法包括:通过前台任务接收用户发送的IO请求;通过前台任务响应所述IO请求来确定待更新数据,以及将所述待更新数据发送至第一缓冲区;基于所述第一缓冲区,通过后台任务对缓存进行更新。本公开可以减少缓存更新对与IO请求对应的IO关键路径的影响,从而可以降低IO关键路径的延迟,有效提高IO关键路径的IO性能,提高用户使用体验。

【技术实现步骤摘要】
一种缓存更新方法和装置
本公开涉及计算机领域,尤其涉及一种缓存更新方法和装置。
技术介绍
在一般的存储系统中,使用容量小性能高的存储介质作为缓存层,例如,内存、固态硬盘(SSD,SolidStateDrives)等。数据在写入底层大容量介质,例如,硬盘驱动(HDD,HardDiskDrive),或从底层大容量介质读取数据后,需要将写入或读取的数据更新到缓存中以备后续使用。缓存更新会引入额外的数据拷贝、元数据更新、旧数据淘汰等操作,若缓存更新发生在用户当前输入输出(IO,InputOutput)请求的路径上,会导致IO延迟明显增加,降低用户使用体验。
技术实现思路
有鉴于此,本公开提出了一种缓存更新方法和装置,使得可以减少缓存更新对IO延迟的影响,有效提高IO关键路径的IO性能。根据本公开的第一方面,提供了一种缓存更新方法,包括:通过前台任务接收用户发送的IO请求;通过前台任务响应所述IO请求来确定待更新数据,以及将所述待更新数据发送至第一缓冲区;基于所述第一缓冲区,通过后台任务对缓存进行更新。r>在一种可能的实现本文档来自技高网...

【技术保护点】
1.一种缓存更新方法,其特征在于,包括:/n通过前台任务接收用户发送的输入输出IO请求;/n通过前台任务响应所述IO请求来确定待更新数据,以及将所述待更新数据发送至第一缓冲区;/n基于所述第一缓冲区,通过后台任务对缓存进行更新。/n

【技术特征摘要】
1.一种缓存更新方法,其特征在于,包括:
通过前台任务接收用户发送的输入输出IO请求;
通过前台任务响应所述IO请求来确定待更新数据,以及将所述待更新数据发送至第一缓冲区;
基于所述第一缓冲区,通过后台任务对缓存进行更新。


2.根据权利要求1所述的方法,其特征在于,所述第一缓冲区位于日志结构合并树LSM-Tree结构的第一层级,所述缓存位于所述LSM-Tree结构的第二层级,所述第一层级中的数据具有可读写特性,所述第二层级中的数据具有只读特性。


3.根据权利要求2所述的方法,其特征在于,基于所述第一缓冲区,通过后台任务对缓存进行更新,包括:
当所述第一缓冲区中的数据量超过阈值时,将所述第一缓冲区转化为第二缓冲区,所述第二缓冲区位于所述LSM-Tree结构的第三层级,所述第三层级中的数据具有只读特性;
在所述第一层级中生成新的空的第一缓冲区;
将所述第二缓冲区中的数据与所述缓存中的数据进行数据合并,在所述第二层级中得到更新后的缓存。


4.根据权利要求2或3所述的方法,其特征在于,所述LSM-Tree结构中的数据包括元数据以及与所述元数据对应的数据。


5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述第二缓冲区中的数据与所述缓存中的数据进行数据合并之后,释放所述第二缓冲区。


6.根据权利要求1所述的方法,其特征在于,将所述待更新数据发送至第一缓冲区之后,所述方法还包括:
通过前台任务在所述缓存中对所述待更新数据的元数据进行更新。


7.根据权利要求6所述的方法,其特征在于,基于所述第一缓冲区,通过后台任务对缓存进行更新,包括:
通过后台任务在所述缓存中对所述待更新数据进行更新。


8.一种缓存更新装置,其特征在于,包括:
前台任务处理模块,用于通过前台任务接收用户发送的IO请求;
所述前台任务处理模块,还用于通过前台任务响应所述IO请求来确定待更新数据,以及将所述待更新数据发送至第一缓冲区;<...

【专利技术属性】
技术研发人员:王文博
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1