CN114489519B - 一种io请求的处理方法、装置、设备及可读存储介质 - Google Patents
一种io请求的处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114489519B CN114489519B CN202210401074.0A CN202210401074A CN114489519B CN 114489519 B CN114489519 B CN 114489519B CN 202210401074 A CN202210401074 A CN 202210401074A CN 114489519 B CN114489519 B CN 114489519B
- Authority
- CN
- China
- Prior art keywords
- request
- layer
- writing
- maximum
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种IO请求的处理方法、装置、设备及可读存储介质,所述方法包括:获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。利用本发明中的方法能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。
Description
技术领域
本发明涉及存储技术领域,具体而言,涉及一种IO请求的处理方法、装置、设备及可读存储介质。
背景技术
二级缓存的系统的一般缓存结构为一级缓存为内存缓存层、二级缓存为SSD缓存层、三级为HDD存储层。IO首先下发到内存缓存层,内存缓存层在满足一定下刷条件后下刷脏数据到SSD缓存层、SSD缓存层在满足一定的条件后下刷脏数据到HDD层。在延时控制上,如果要获得最低延时,则内存缓存层脏数据都要经过SSD缓存层,会造成SSD写入磨损很快。
发明内容
本发明的目的在于提供一种IO请求的处理方法、装置、设备及可读存储介质,以改善上述问题。
为了实现上述目的,本申请实施例提供了如下技术方案:
一方面,本申请实施例提供了一种IO请求的处理方法,所述方法包括:
获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;
根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;
根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
第二方面,本申请实施例提供了一种IO请求的处理装置,所述装置包括第一获取模块、计算模块和写入模块。
第一获取模块,用于获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;
计算模块,用于根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;
写入模块,用于根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
第三方面,本申请实施例提供了一种IO请求的处理设备,所述设备包括存储器和处理器。存储器用于存储计算机程序;处理器用于执行所述计算机程序时实现上述IO请求的处理方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述IO请求的处理方法的步骤。
本发明的有益效果为:
本发明的核心不在于提供尽可能低的延时,而在于满足应用最大延时要求的情况下尽可能的减少SSD缓存层写入,延长SSD缓存层寿命。本发明中的多级缓存存储系统分为三层,第一层为HDD层、第二层为SSD缓存层、第三层为内存缓存层,IO首先试探性写入HDD层,在指定时间未能完成时才尝试写入SSD缓存层,同样,在尝试写入SSD缓存层时,未能在规定时间内完成时,才写入内存缓存层。通过这种调整,能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例中所述的IO请求的处理方法流程示意图;
图2是本发明实施例中所述的IO请求的处理装置结构示意图;
图3是本发明实施例中所述的IO请求的处理设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号或字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
如图1所示,本实施例提供了一种IO请求的处理方法,该方法包括步骤S1、步骤S2和步骤S3。
步骤S1、获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;
步骤S2、根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;
步骤S3、根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
在本实施例中,应用正常工作的IO最大延时可以根据用户需求进行自定义,例如可以为10毫秒,并且还可以由用户直接输入。
对于很多数据产生速率一定的应用场景,比方视频流存储应用、高速ETC图片存储应用,数据产生速率是一定的。这些系统的正常工作不需要极低的IO延时,但是系统一般不能容忍较大的延时抖动,对于这些应用场景,提出本实施例中的方案,本实施例中的方案能根据应用场景有效平衡存储系统的最大写入延时和SDD写入磨损;
本实施例的核心不在于提供尽可能低的延时,而在于满足应用最大延时要求的情况下尽可能的减少SSD缓存层写入,延长SSD缓存层寿命。本实施例中的多级缓存存储系统分为三层,第一层为HDD层、第二层为SSD缓存层、第三层为内存缓存层,IO首先试探性写入HDD 层,在指定时间未能完成时才尝试写入SSD缓存层,同样,在尝试写入SSD缓存层时,未能在规定时间内完成时,才写入内存缓存层。通过这种调整,能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。
在本公开的一种具体实施方式中,所述步骤S2,还可以包括步骤S21、步骤S22、步骤S23和步骤S24。
步骤S21、通过公式(1)计算得到所述IO请求在所述HDD存储层试探写入的最大延时,所述公式(1)为:
L1=L*k1(0<k1<1) (1)
公式(1)中,L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时;k1为比例系数,k1为介于0到1之间的任意数值;
步骤S22、通过公式(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之间的任意数值;
步骤S23、通过公式(3)计算得到所述IO请求在所述内存缓存层试探写入的最大延时,所述公式(3)为:
L3=L-L1-L2 (3)
公式(3)中,L3为所述IO请求在所述内存缓存层试探写入的最大延时;L2为所述IO请求在所述SSD缓存层试探写入的最大延时;L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时。
在本实施例中,k1和k2可以根据用户需求进行自定义;在另一种实施方式中k1一般取值为0.667,k2一般取值为0.667。
在本公开的一种具体实施方式中,所述步骤S3,还可以包括步骤S31。
步骤S31、将所述IO请求下发到所述HDD存储层进行试探性写入,若所述IO请求在L1时间内完成写入,则返回存储完成的消息;若所述IO请求未在L1时间内完成写入,则将所述IO请求下发到所述SSD缓存层进行试探性写入;若所述IO请求在L2时间内完成写入,则返回存储完成的消息;若所述IO请求未在L2时间内完成写入,则将所述IO请求下发到所述内存缓存层进行试探性写入;若所述IO请求在L3时间内完成写入,则返回存储完成的消息;若所述IO请求未在L3时间内完成写入,则进入等待,直到在所述内存缓存层完成对所述IO请求的写入。
在本实施例中,当内存缓存层还有剩余空间,能立马完成对所述IO请求的写入,因此当所述IO请求未在L3时间内完成写入时,则进入等待模式,当内存缓存层有剩余空间时,立马完成对所述IO请求的写入。
在本公开的一种具体实施方式中,所述方法,还可以包括步骤S4和步骤S5。
步骤S4、获取内存缓存层缓存时间阈值;
步骤S5、对所述内存缓存层的数据进行监控,当所述内存缓存层的数据达到水位线或缓存数据的时间超过所述内存缓存层缓存时间阈值后,将所述内存缓存层的数据下刷到SSD缓存层。
在本公开的一种具体实施方式中,所述方法,还可以包括步骤S6。
步骤S6、对所述SSD缓存层的数据进行监控,当所述SSD缓存层的数据达到水位线或监测到所述HDD存储层空闲时,将所述SSD缓存层的数据下刷到所述HDD存储层。
在本公开的一种具体实施方式中,所述方法,还可以包括步骤S7、步骤S8、步骤S9和步骤S10。
步骤S7、获取第一输入信息,所述第一输入信息包括需要减小应用正常工作的IO平均延时的信息;
步骤S8、响应于所述第一输入信息,发送第一控制命令,所述第一控制命令包括减小比例系数k1并增大比例系数k2的命令;
步骤S9、获取第二输入信息,所述第二输入信息包括需要增大所述应用正常工作的IO平均延时的信息;
步骤S10、响应于所述第二输入信息,发送第二控制命令,所述第二控制命令包括增大比例系数k1并减小比例系数k2的命令。
实施例2
如图2所示,本实施例提供了一种IO请求的处理装置,所述装置包括第一获取模块701、计算模块702和写入模块703。
第一获取模块701,用于获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;
计算模块702,用于根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;
写入模块703,用于根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入。
本实施例的核心不在于提供尽可能低的延时,而在于满足应用最大延时要求的情况下尽可能的减少SSD缓存层写入,延长SSD缓存层寿命。本实施例中的多级缓存存储系统分为三层,第一层为HDD层、第二层为SSD缓存层、第三层为内存缓存层,IO首先试探性写入HDD 层,在指定时间未能完成时才尝试写入SSD缓存层,同样,在尝试写入SSD缓存层时,未能在规定时间内完成时,才写入内存缓存层。通过这种调整,能在有效降低SSD缓存层数据写入量的同时达到控制最大延时的效果。
在本公开的一种具体实施方式中,所述计算模块702,还包括第一计算单元7021、第二计算单元7022和第三计算单元7023。
第一计算单元7021,用于通过公式(1)计算得到所述IO请求在所述HDD存储层试探写入的最大延时,所述公式(1)为:
L1=L*k1(0<k1<1) (1)
公式(1)中,L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时;k1为比例系数,k1为介于0到1之间的任意数值;
第二计算单元7022,用于通过公式(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之间的任意数值;
第三计算单元7023,用于通过公式(3)计算得到所述IO请求在所述内存缓存层试探写入的最大延时,所述公式(3)为:
L3=L-L1-L2 (3)
公式(3)中,L3为所述IO请求在所述内存缓存层试探写入的最大延时;L2为所述IO请求在所述SSD缓存层试探写入的最大延时;L1为所述IO请求在所述HDD存储层试探写入的最大延时,L为应用正常工作的IO最大延时。
在本公开的一种具体实施方式中,所述写入模块703,还包括写入单元7031。
写入单元7031,用于将所述IO请求下发到所述HDD存储层进行试探性写入,若所述IO请求在L1时间内完成写入,则返回存储完成的消息;若所述IO请求未在L1时间内完成写入,则将所述IO请求下发到所述SSD缓存层进行试探性写入;若所述IO请求在L2时间内完成写入,则返回存储完成的消息;若所述IO请求未在L2时间内完成写入,则将所述IO请求下发到所述内存缓存层进行试探性写入;若所述IO请求在L3时间内完成写入,则返回存储完成的消息;若所述IO请求未在L3时间内完成写入,则进入等待,直到在所述内存缓存层完成对所述IO请求的写入。
在本公开的一种具体实施方式中,所述装置,还包括第二获取模块704和第一监控模块705。
第二获取模块704,用于获取内存缓存层缓存时间阈值;
第一监控模块705,用于对所述内存缓存层的数据进行监控,当所述内存缓存层的数据达到水位线或缓存数据的时间超过所述内存缓存层缓存时间阈值后,将所述内存缓存层的数据下刷到SSD缓存层。
在本公开的一种具体实施方式中,所述装置,还包括第二监控模块706。
第二监控模块706,用于对所述SSD缓存层的数据进行监控,当所述SSD缓存层的数据达到水位线或监测到所述HDD存储层空闲时,将所述SSD缓存层的数据下刷到所述HDD存储层。
在本公开的一种具体实施方式中,所述装置,还包括第三获取模块707、第一响应模块708、第四获取模块709和第二响应模块710。
第三获取模块707,用于获取第一输入信息,所述第一输入信息包括需要减小所述应用正常工作的IO平均延时的信息;
第一响应模块708,用于响应于所述第一输入信息,发送第一控制命令,所述第一控制命令包括减小比例系数k1并增大比例系数k2的命令;
第四获取模块709,用于获取第二输入信息,所述第二输入信息包括需要增大所述应用正常工作的IO平均延时的信息;
第二响应模块710,用于响应于所述第二输入信息,发送第二控制命令,所述第二控制命令包括增大比例系数k1并减小比例系数k2的命令。
需要说明的是,关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例3
相应于上面的方法实施例,本公开实施例还提供了IO请求的处理设备,下文描述的IO请求的处理设备与上文描述的IO请求的处理方法可相互对应参照。
图3是根据一示例性实施例示出的IO请求的处理设备800的框图。如图3所示,该IO请求的处理设备800可以包括:处理器801,存储器802。该IO请求的处理设备800还可以包括多媒体组件803,输入/输出(I/O)接口804,以及通信组件805中的一者或多者。
其中,处理器801用于控制该IO请求的处理设备800的整体操作,以完成上述的IO请求的处理方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该IO请求的处理设备800的操作,这些数据例如可以包括用于在该IO请求的处理设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该IO请求的处理设备800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,该IO请求的处理设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal ProcessingDevice,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的IO请求的处理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的IO请求的处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器802,上述程序指令可由该IO请求的处理设备800的处理器801执行以完成上述的IO请求的处理方法。
实施例4
相应于上面的方法实施例,本公开实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的IO请求的处理方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的IO请求的处理方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种IO请求的处理方法,其特征在于,包括:
获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;
根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;
根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述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最大延时;
其中,根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入,包括:
将所述IO请求下发到所述HDD存储层进行试探性写入,若所述IO请求在L1时间内完成写入,则返回存储完成的消息;若所述IO请求未在L1时间内完成写入,则将所述IO请求下发到所述SSD缓存层进行试探性写入;若所述IO请求在L2时间内完成写入,则返回存储完成的消息;若所述IO请求未在L2时间内完成写入,则将所述IO请求下发到所述内存缓存层进行试探性写入;若所述IO请求在L3时间内完成写入,则返回存储完成的消息;若所述IO请求未在L3时间内完成写入,则进入等待,直到在所述内存缓存层完成对所述IO请求的写入。
2.根据权利要求1所述的IO请求的处理方法,其特征在于,根据所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时对所述IO请求进行写入后,还包括:
获取内存缓存层缓存时间阈值;
对所述内存缓存层的数据进行监控,当所述内存缓存层的数据达到水位线或缓存数据的时间超过所述内存缓存层缓存时间阈值后,将所述内存缓存层的数据下刷到SSD缓存层。
3.一种IO请求的处理装置,其特征在于,包括:
第一获取模块,用于获取第一数据和第二数据,所述第一数据包括IO请求,所述第二数据包括应用正常工作的IO最大延时;
计算模块,用于根据所述第二数据计算得到所述IO请求在多级缓存存储系统中的每一层的试探写入最大延时,所述多级缓存存储系统包括HDD存储层、SSD缓存层和内存缓存层;
写入模块,用于根据所述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最大延时;
其中,写入模块,包括:
写入单元,用于将所述IO请求下发到所述HDD存储层进行试探性写入,若所述IO请求在L1时间内完成写入,则返回存储完成的消息;若所述IO请求未在L1时间内完成写入,则将所述IO请求下发到所述SSD缓存层进行试探性写入;若所述IO请求在L2时间内完成写入,则返回存储完成的消息;若所述IO请求未在L2时间内完成写入,则将所述IO请求下发到所述内存缓存层进行试探性写入;若所述IO请求在L3时间内完成写入,则返回存储完成的消息;若所述IO请求未在L3时间内完成写入,则进入等待,直到在所述内存缓存层完成对所述IO请求的写入。
4.根据权利要求3所述的IO请求的处理装置,其特征在于,所述装置,还包括:
第二获取模块,用于获取内存缓存层缓存时间阈值;
第一监控模块,用于对所述内存缓存层的数据进行监控,当所述内存缓存层的数据达到水位线或缓存数据的时间超过所述内存缓存层缓存时间阈值后,将所述内存缓存层的数据下刷到SSD缓存层。
5.一种IO请求的处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至2任一项所述IO请求的处理方法的步骤。
6.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述IO请求的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210401074.0A CN114489519B (zh) | 2022-04-18 | 2022-04-18 | 一种io请求的处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210401074.0A CN114489519B (zh) | 2022-04-18 | 2022-04-18 | 一种io请求的处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489519A CN114489519A (zh) | 2022-05-13 |
CN114489519B true CN114489519B (zh) | 2022-07-12 |
Family
ID=81489532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210401074.0A Active CN114489519B (zh) | 2022-04-18 | 2022-04-18 | 一种io请求的处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489519B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329704A (zh) * | 2017-06-30 | 2017-11-07 | 杭州宏杉科技股份有限公司 | 一种缓存镜像方法及控制器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043530B1 (en) * | 2012-04-09 | 2015-05-26 | Netapp, Inc. | Data storage within hybrid storage aggregate |
US9619180B2 (en) * | 2013-07-29 | 2017-04-11 | Silicon Graphics International Corp. | System method for I/O acceleration in hybrid storage wherein copies of data segments are deleted if identified segments does not meet quality level threshold |
CN103761051B (zh) * | 2013-12-17 | 2016-05-18 | 北京同有飞骥科技股份有限公司 | 一种基于持续数据多输入输出流并发写入性能优化方法 |
US11513692B2 (en) * | 2016-06-30 | 2022-11-29 | EMC IP Holding Company LLC | Arranging SSD resources based on estimated endurance |
US10467195B2 (en) * | 2016-09-06 | 2019-11-05 | Samsung Electronics Co., Ltd. | Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system |
US11163465B1 (en) * | 2017-10-31 | 2021-11-02 | EMC IP Holding Company, LLC | Top-down wear-leveling storage system and method |
CN109840047A (zh) * | 2017-11-27 | 2019-06-04 | 华为技术有限公司 | 一种降低读延时的方法及装置 |
CN109471594B (zh) * | 2018-10-09 | 2020-07-10 | 华中科技大学 | 一种mlc闪存读写方法 |
CN112000287B (zh) * | 2020-08-14 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种io请求处理装置、方法、设备及可读存储介质 |
CN111984200B (zh) * | 2020-08-28 | 2024-04-12 | 大连大学 | 海量视频数据存储系统 |
CN112699014A (zh) * | 2020-12-25 | 2021-04-23 | 深圳创新科技术有限公司 | 一种存储性能预测功能的测试及展示方法及装置 |
CN113672524B (zh) * | 2021-08-20 | 2024-07-02 | 上海哔哩哔哩科技有限公司 | 基于多级缓存的数据处理方法及系统 |
-
2022
- 2022-04-18 CN CN202210401074.0A patent/CN114489519B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107329704A (zh) * | 2017-06-30 | 2017-11-07 | 杭州宏杉科技股份有限公司 | 一种缓存镜像方法及控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN114489519A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934144B2 (en) | Cache allocation for disk array | |
US20110010569A1 (en) | Adaptive Flushing of Storage Data | |
CN114328281B (zh) | 固态硬盘异常掉电处理方法、装置、电子设备及介质 | |
CN110968524B (zh) | 数据存储控制方法、装置、存储介质及电子装置 | |
CN108874324B (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
US12045661B2 (en) | System and method for usage based system management | |
CN108701026A (zh) | 用于在存储器约束下管理进程的方法和装置 | |
CN107608778B (zh) | 应用程序管控方法、装置、存储介质及电子设备 | |
US9785374B2 (en) | Storage device management in computing systems | |
CN112558872A (zh) | 数据处理方法和装置、存储介质和电子设备 | |
CN114489519B (zh) | 一种io请求的处理方法、装置、设备及可读存储介质 | |
KR101575369B1 (ko) | 비휘발성 메모리에 기록 및 소거하기 위한 방법 | |
JP2009500771A (ja) | 記録媒体動作時のパワーマネジメント | |
CN109918322A (zh) | 存储器系统及其操作方法 | |
CN103246558A (zh) | 应用管理方法和装置 | |
CN113138718A (zh) | 用于分布式块存储系统的存储方法、设备、系统和介质 | |
CN111142790B (zh) | 对磁盘写请求的控制方法、装置、电子设备及存储介质 | |
CN113986840A (zh) | 一种区块链数据多级存储、读取方法及存储系统 | |
TWI697003B (zh) | 記憶體裝置與控制方法 | |
CN114936003B (zh) | 资源池的数据分层迁移方法、装置、设备及可读存储介质 | |
CN112905119A (zh) | 一种分布式存储系统的数据写入控制方法、装置及设备 | |
CN111090633A (zh) | 一种分布式文件系统的小文件聚合方法、装置及设备 | |
CN112860599A (zh) | 数据缓存处理方法、装置以及存储介质 | |
CN111506843B (zh) | 一种图片加载方法、系统及电子设备和存储介质 | |
US11080059B1 (en) | Reducing firmware size and increasing firmware performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |