一种IO请求的处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:33503306 阅读:9 留言:0更新日期:2022-05-19 01:13
本发明专利技术提供了一种IO请求的处理方法、装置、设备及可读存储介质,所述方法包括:获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。利用本发明专利技术中的方法能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。延时的效果。延时的效果。

【技术实现步骤摘要】
一种IO请求的处理方法、装置、设备及可读存储介质


[0001]本专利技术涉及存储
,具体而言,涉及一种IO请求的处理方法、装置、设备及可读存储介质。

技术介绍

[0002]二级缓存的系统的一般缓存结构为一级缓存为内存缓存层、二级缓存为SSD缓存层、三级为HDD存储层。IO首先下发到内存缓存层,内存缓存层在满足一定下刷条件后下刷脏数据到SSD缓存层、SSD缓存层在满足一定的条件后下刷脏数据到HDD层。在延时控制上,如果要获得最低延时,则内存缓存层脏数据都要经过SSD缓存层,会造成SSD写入磨损很快。

技术实现思路

[0003]本专利技术的目的在于提供一种IO请求的处理方法、装置、设备及可读存储介质,以改善上述问题。
[0004]为了实现上述目的,本申请实施例提供了如下技术方案:一方面,本申请实施例提供了一种IO请求的处理方法,所述方法包括:获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
[0005]第二方面,本申请实施例提供了一种IO请求的处理装置,所述装置包括第一获取模块、计算模块和写入模块。
[0006]第一获取模块,用于获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;计算模块,用于根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;写入模块,用于根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
[0007]第三方面,本申请实施例提供了一种IO请求的处理设备,所述设备包括存储器和处理器。存储器用于存储计算机程序;处理器用于执行所述计算机程序时实现上述IO请求的处理方法的步骤。
[0008]第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述IO请求的处理方法的步骤。
[0009]本专利技术的有益效果为:
本专利技术的核心不在于提供尽可能低的延时,而在于满足应用最大延时要求的情况下尽可能的减少SSD缓存层写入,延长SSD缓存层寿命。本专利技术中的多级缓存存储系统分为三层,第一层为HDD层、第二层为SSD缓存层、第三层为内存缓存层,IO首先试探性写入HDD 层,在指定时间未能完成时才尝试写入SSD缓存层,同样,在尝试写入SSD缓存层时,未能在规定时间内完成时,才写入内存缓存层。通过这种调整,能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。
[0010]本专利技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术实施例了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0011]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0012]图1是本专利技术实施例中所述的IO请求的处理方法流程示意图;图2是本专利技术实施例中所述的IO请求的处理装置结构示意图;图3是本专利技术实施例中所述的IO请求的处理设备结构示意图。
具体实施方式
[0013]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0014]应注意到:相似的标号或字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0015]实施例1如图1所示,本实施例提供了一种IO请求的处理方法,该方法包括步骤S1、步骤S2和步骤S3。
[0016]步骤S1、获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;步骤S2、根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;步骤S3、根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
[0017]在本实施例中,应用正常工作的IO最大延时可以根据用户需求进行自定义,例如可以为10毫秒,并且还可以由用户直接输入。
[0018]对于很多数据产生速率一定的应用场景,比方视频流存储应用、高速ETC图片存储应用,数据产生速率是一定的。这些系统的正常工作不需要极低的IO延时,但是系统一般不能容忍较大的延时抖动,对于这些应用场景,提出本实施例中的方案,本实施例中的方案能根据应用场景有效平衡存储系统的最大写入延时和SDD写入磨损;本实施例的核心不在于提供尽可能低的延时,而在于满足应用最大延时要求的情况下尽可能的减少SSD缓存层写入,延长SSD缓存层寿命。本实施例中的多级缓存存储系统分为三层,第一层为HDD层、第二层为SSD缓存层、第三层为内存缓存层,IO首先试探性写入HDD 层,在指定时间未能完成时才尝试写入SSD缓存层,同样,在尝试写入SSD缓存层时,未能在规定时间内完成时,才写入内存缓存层。通过这种调整,能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。
[0019]在本公开的一种具体实施方式中,所述步骤S2,还可以包括步骤S21、步骤S22、步骤S23和步骤S24。
[0020]步骤S21、通过公式(1)计算得到所述IO请求在所述HDD存储层试探写入的最大延时,所述公式(1)为:L1=L*k1(0<k1<1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)公式(1)中,L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时;k1为比例系数,k1为介于0到1之间的任意数值;步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种IO请求的处理方法,其特征在于,包括:获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。2.根据权利要求1所述的IO请求的处理方法,其特征在于,根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,包括:通过公式(1)计算得到所述IO请求在所述HDD存储层试探写入的最大延时,所述公式(1)为:L1=L*k1(0<k1<1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)公式(1)中,L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时;k1为比例系数,k1为介于0到1之间的任意数值;通过公式(2)计算得到所述IO请求在所述SSD缓存层试探写入的最大延时,所述公式(2)为:L2=(L

L1)*k2(0<k2<1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)公式(2)中,L2为所述IO请求在所述SSD缓存层试探写入的最大延时;L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时;k2为比例系数,k2为介于0到1之间的任意数值;通过公式(3)计算得到所述IO请求在所述内存缓存层试探写入的最大延时,所述公式(3)为:L3=L

L1‑
L2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)公式(3)中,L3为所述IO请求在所述内存缓存层试探写入的最大延时;L2为所述IO请求在所述SSD缓存层试探写入的最大延时;L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时。3.根据权利要求2所述的IO请求的处理方法,其特征在于,根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入,包括:将所述IO请求下发到所述HDD存储层进行试探性写入,若所述IO请求在L1时间内完成写入,则返回存储完成的消息;若所述IO请求未在L1时间内完成写入,则将所述IO请求下发到所述SSD缓存层进行试探性写入;若所述IO请求在L2时间内完成写入,则返回存储完成的消息;若所述IO请求未在L2时间内完成写入,则将所述IO请求下发到所述内存缓存层进行试探性写入;若所述IO请求在L3时间内完成写入,则返回存储完成的消息;若所述IO请求未在L3时间内完成写入,则进入等待,直到在所述内存缓存层完成对所述IO请求的写入。4.根据权利要求1所述的IO请求的处理方法,其特征在于,根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入后,还包括:获取内存缓存层缓存时间阈值;对所述内存缓存层的数据进行监控,当所述内存缓存层的数据达到水位线或缓存数据的时间超过所述内存缓存层缓存时间阈值后,将所述内存缓存层的数据下刷到SSD缓存层。
5.一种IO请求的处理装置,其特征在于,包括:第一获取模块,用于获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用...

【专利技术属性】
技术研发人员:董文祥
申请(专利权)人:创新科技术有限公司
类型:发明
国别省市:

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

1