[发明专利]一种缓存数据的方法及装置有效
申请号: | 201711098205.8 | 申请日: | 2017-11-09 |
公开(公告)号: | CN107908573B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 史顺玉 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F12/0877 | 分类号: | G06F12/0877;G06F12/0895 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王汝银 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据 方法 装置 | ||
本发明提供了一种缓存数据的方法及装置,所述的方法包括:S1:接收上层下发的IO数据块,并将IO数据块拆分成若干小数据块;S2:将拆分后的若干小数据块依次访问缓存盘;S3:访问完成后,将拆分后的若干小数据块封装成IO数据块,并通过回调函数提交给上层接口。所述的装置包括:数据拆分模块,用于将IO数据块差分成若干小数据块;数据访问模块,用于实现若干小数据块对于缓存盘的读或写访问;数据封装模块,用于将若干小数据块分装成一个完整的IO数据块。通过对上层下发的IO数据块先做拆分处理,拆分成更小的数据块,再访问缓存盘或磁盘,以此方式提高IO请求的缓存命中率,提升缓存访问速度。
技术领域
本发明涉及计算机技术领域,具体的说是一种缓存数据的方法及装置。
背景技术
在计算机技术中,缓存的使用比较广泛,cpu和内存之间、存储软件中都有使用。数据缓存是决定设备运行能力的重要决定因素,它不仅直接反应了设备的性能,而且决定着对硬件的选择范围。
目前,几款常见的用于Linux系统中的缓存软件的数据调度方法,基本上都未对上层下发的IO数据块做过多的处理,直接利用接收到的IO数据块访问缓存盘或后端机械盘,只是在数据访问的优先级、访问通道等环节进行了优化,对于较大的IO数据块而言,将IO数据块作为整体进行访问的方式,在缓存命中率以及缓存访问速度上不能满足客户的需求。
发明内容
为了解决上述问题,提供了一种缓存数据的方法及装置,对上层下发的IO数据块先做拆分处理,拆分成更小的数据块,再访问缓存盘或磁盘,以此方式提高IO请求的缓存命中率,提升缓存访问速度。
本发明实施例提供了一种缓存数据的方法,所述的方法包括:
S1:接收上层下发的IO数据块,并将IO数据块拆分成若干小数据块;
S2:将拆分后的若干小数据块依次访问缓存盘;
S3:访问完成后,将拆分后的若干小数据块封装成IO数据块,并通过回调函数提交给上层接口。
进一步的,步骤S1的具体实现过程为:
S11:系统接收到IO访问请求后,将IO数据块拆分成若干小数据块;
S12:为每一个小数据块建立链表管理。
进一步的,步骤S12的具体实现过程为:
S121:创建每一个小数据块的结构体,每一个结构体均包含链表、卷编号、逻辑块地址和扇区数量;
S122:获取IO请求的起始逻辑块地址;
S123:以IO请求的起始逻辑块地址为边界选取第一个小数据块,并记录其卷编号、逻辑块地址和扇区数量三种信息;
S124:通过上一个小数据块的逻辑块地址和扇区数量,计算出下一个小数据块的起始扇区地址,并在IO中以新计算出的逻辑块地址开始截取新的小数据块;
S125:将步骤S124中获取的信息记录到该小数据块对应的链表中;
S126:重复步骤S124-S125,直至所有的小数据块建立链表管理信息。
进一步的,步骤S123的具体实现过程为:
计算IO的起始逻辑块地址和缓存分区的扇区边界是否对齐;
若边界对齐,则从IO的起始扇区开始截取一个小数据块作为第一个小数据块,并记录其卷编号、逻辑块地址和扇区数量三种信息;
若边界不对齐,截取IO起始逻辑块地址到与缓存扇区对齐地址之间的这段数据作为第一个小数据块,并记录其卷编号、逻辑块地址和扇区数量三种信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711098205.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置