CN111723057B - 一种文件预读方法、装置、设备及存储介质 - Google Patents
一种文件预读方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111723057B CN111723057B CN202010469782.9A CN202010469782A CN111723057B CN 111723057 B CN111723057 B CN 111723057B CN 202010469782 A CN202010469782 A CN 202010469782A CN 111723057 B CN111723057 B CN 111723057B
- Authority
- CN
- China
- Prior art keywords
- read
- reading
- target file
- file
- space
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 239000002699 waste material Substances 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文件预读方法,该方法包括以下步骤:确定待预读的目标文件;确定当前实际预读缓存量;根据当前实际预读缓存量,确定待分配给目标文件的预读空间;基于预读空间,对目标文件进行预读。应用本申请实施例所提供的技术方案,动态确定待分配给目标文件的预读空间,这样方便在当前实际预读缓存量较小时,为目标文件分配较大的预读空间,在当前实际预读缓存量较大时,为目标文件分配较小的预读空间,以充分利用缓存空间,避免缓存空间的浪费,保证预读效率,而且,在为目标文件分配较大的预读空间的情况下,可以进一步提高数据加载速度,减少读取时延。本申请还公开了一种文件预读装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种文件预读方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展,存储系统逐渐发展起来,其在各行业的应用越来越广泛。存储系统存在可进行大量文件存储的优点,但是同时,也存在文件读取加载慢的问题。在对存储系统中的文件进行读取时,需要查找到待读取的文件所在的存储服务器,然后向该存储服务器获取相应数据。如果都是在有实际的文件读取请求时才进行相应数据的获取,则受限于带宽、磁盘性能等影响,可能会使得数据加载较慢,读取时延较长。
针对这种情况,通常通过文件预读解决数据加载较慢,读取时延较长的问题。在相关技术中,在进行文件预读时,无论当前可用缓存空间多少,都会为每个文件分配固定大小的少量预读空间,如几个条带的预读空间,一个条带一般为4M。也就是说,即使当前可用缓存空间较大,也只能为当前的预读文件分配固定大小的少量预读空间,这无疑会造成缓存空间的浪费,而且少量预读空间所能够承载的数据量较小,数据加载速度慢、读取时延长等问题得不到较好改善。
发明内容
本申请的目的是提供一种文件预读方法、装置、设备及存储介质,以动态调整预读文件的预读空间,避免缓存空间的浪费,较好改善数据加载速度、读取时延。
为解决上述技术问题,本申请提供如下技术方案:
一种文件预读方法,包括:
确定待预读的目标文件;
确定当前实际预读缓存量;
根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间;
基于所述预读空间,对所述目标文件进行预读。
在本申请的一种具体实施方式中,所述确定待预读的目标文件,包括:
对设定时间段内的读IO进行监控;
根据监控结果,确定当前读IO对应的文件是否为随机读文件;
如果否,则将所述当前读IO对应的文件确定为待预读的目标文件。
在本申请的一种具体实施方式中,所述根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述当前实际预读缓存量达到许可预读缓存量,则确定待分配给所述目标文件的预读空间为0。
在本申请的一种具体实施方式中,所述根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述当前实际预读缓存量未达到所述许可预读缓存量,则根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间。
在本申请的一种具体实施方式中,所述根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述目标文件的类型为小文件类型,且所述当前实际预读缓存量大于预设阈值,则确定待分配给所述目标文件的预读空间为设定数量的条带,所述设定数量的条带的大小小于所述目标文件的文件大小。
在本申请的一种具体实施方式中,所述根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述目标文件的类型为小文件类型,且所述当前实际预读缓存量不大于所述预设阈值,则确定待分配给所述目标文件的预读空间与所述目标文件的文件大小相同。
在本申请的一种具体实施方式中,所述根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述目标文件的类型为大文件顺序或局部随机读文件类型,则根据所述许可预读缓存量和所述当前实际预读缓存量中小文件占用的预读缓存量,确定待分配给所述目标文件的预读空间。
一种文件预读装置,包括:
目标文件确定模块,用于确定待预读的目标文件;
实际预读缓存量确定模块,用于确定当前实际预读缓存量;
预读空间确定模块,用于根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间;
文件预读模块,用于基于所述预读空间,对所述目标文件进行预读。
一种文件预读设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述文件预读方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述文件预读方法的步骤。
应用本申请实施例所提供的技术方案,确定待预读的目标文件后,确定当前实际预读缓存量,根据当前实际预读缓存量,可以确定待分配给目标文件的预读空间,再基于预读空间,对目标文件进行预读。对于待预读的目标文件,不是为其分配固定大小的预读空间,而是根据当前实际预读缓存量,动态确定待分配给目标文件的预读空间,这样方便在当前实际预读缓存量较小时,为目标文件分配较大的预读空间,在当前实际预读缓存量较大时,为目标文件分配较小的预读空间,以充分利用缓存空间,避免缓存空间的浪费,保证预读效率,而且,在为目标文件分配较大的预读空间的情况下,可以进一步提高数据加载速度,减少读取时延。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种文件预读方法的实施流程图;
图2为本申请实施例中预读空间的一种确定结果示意图;
图3为本申请实施例中一种文件预读装置的结构示意图;
图4为本申请实施例中一种文件预读设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种文件预读方法的实施流程图,该方法可以包括以下步骤:
S110:确定待预读的目标文件。
存储系统中可以存储大量文件。用户或者其他系统在有文件读取需求时,可以向存储系统发出文件读取请求。
在监测到有读IO(Input/Output,输入/输出)时,可以根据读IO状态,确定待预读的目标文件。
在本申请的一种具体实施方式中,步骤S110可以包括以下步骤:
步骤一:对设定时间段内的读IO进行监控;
步骤二:根据监控结果,确定当前读IO对应的文件是否为随机读文件;如果否,则执行步骤三;
步骤三:将当前读IO对应的文件确定为待预读的目标文件。
为便于描述,将上述三个步骤结合起来进行说明。
在本申请实施例中,可以对设定时间段内的读IO进行监控。如对当前时刻之前几分钟内的读IO进行监控。通过监控读IO可以判断文件读取实现顺序。
根据监控结果,可以确定当前读IO对应的文件是否为随机读文件。如在设定时间段内的读IO不连续,可能为跳读状态,这种情况下,可以确定当前读IO对应的文件为随机读文件。
对于随机读文件,因为读取不连续,无法预判具体要读取哪个文件,所以对于随机读文件,可以设定其预读空间为0,不对其进行预读操作。
如果当前读IO对应的文件不是随机读文件,则可能为小文件或者大文件的顺序、局部随机读文件,在这种情况下,可以将当前读IO对应的文件确定为待预读的目标文件。以对其进行进一步的预读操作。
S120:确定当前实际预读缓存量。
在实际应用中,存储系统可以同时接收多个文件的读取请求。每个预读文件都在缓存空间中存储,占用部分缓存空间。可以在全局配置中设置全局缓存空间大小,也可称为全局换存量大小。
在确定待预读的目标文件之后,可以确定当前实际预读缓存量,即在缓存空间中已经存储的数据量。
S130:根据当前实际预读缓存量,确定待分配给目标文件的预读空间。
在确定当前实际预读缓存量之后,可以根据当前实际预读缓存量,确定待分配给目标文件的预读空间。具体的,可以根据当前实际预读缓存量与许可预读缓存量的比较,确定待分配给目标文件的预读空间。在当前实际预读缓存量较小的情况下,可以适当增大待分配给目标文件的预读空间,反之,在当前实际预读缓存量较大的情况下,可以适当减小待分配给目标文件的预读空间。
需要说明的是,许可预读缓存量表示被允许的预读缓存量,其大小与缓存空间大小相同。
S140:基于预读空间,对目标文件进行预读。
在确定分配给目标文件的预读空间后,可以基于该预读空间,对目标文件进行预读,预读数据的大小与预读空间大小相同,将预读数据在缓存空间存储。通过预读,提前加载数据,后续读IO可以直接读内存数据。
应用本申请实施例所提供的方法,确定待预读的目标文件后,确定当前实际预读缓存量,根据当前实际预读缓存量,可以确定待分配给目标文件的预读空间,再基于预读空间,对目标文件进行预读。对于待预读的目标文件,不是为其分配固定大小的预读空间,而是根据当前实际预读缓存量,动态确定待分配给目标文件的预读空间,这样方便在当前实际预读缓存量较小时,为目标文件分配较大的预读空间,在当前实际预读缓存量较大时,为目标文件分配较小的预读空间,以充分利用缓存空间,避免缓存空间的浪费,保证预读效率,而且,在为目标文件分配较大的预读空间的情况下,可以进一步提高数据加载速度,减少读取时延。
在本申请的一个实施例中,步骤S130可以包括以下步骤:
如果当前实际预读缓存量达到许可预读缓存量,则确定待分配给目标文件的预读空间为0。
在本申请实施例中,在确定待预读的目标文件,确定当前实际预读缓存量之后,可以对当前实际预读缓存量与许可预读缓存量进行大小比较,根据比较结果,确定待分配给目标文件的预读空间。
具体的,在当前实际预读缓存量达到许可预读缓存量的情况下,表明当前缓存空间已没有剩余空间,无法再进行预读数据的存储,可以确定待分配给目标文件的预读空间为0,不对其进行预读操作,以避免数据失效的情况发生。
在本申请的一个实施例中,步骤S130可以包括以下步骤:
如果当前实际预读缓存量未达到许可预读缓存量,则根据目标文件的类型和当前实际预读缓存量,确定待分配给目标文件的预读空间。
在本申请实施例中,在确定待预读的目标文件,确定当前实际预读缓存量之后,可以对当前实际预读缓存量与许可预读缓存量进行大小比较,根据比较结果,确定待分配给目标文件的预读空间。
具体的,在当前实际预读缓存量未达到许可预读缓存量的情况下,进一步可以根据目标文件的类型和当前实际预读缓存量,确定待分配给目标文件的预读空间。目标文件的类型可包括小文件类型、大文件顺序或局部随机读文件类型。可以通过文件的大小识别文件的大小模式,通过文件的IO监控识别顺序。具体的,将多大的文件确定为小文件,可以根据实际情况进行设定。顺序读是指读IO连续,局部随机读是指读IO在一定范围内连续。
在本申请的一种具体实施方式中,如果目标文件的类型为小文件类型,且当前实际预读缓存量大于预设阈值,则可以确定待分配给目标文件的预读空间为设定数量的条带,设定数量的条带的大小小于目标文件的文件大小。
在实际应用中,可以根据实际情况,预先设定一个阈值,如将许可预读缓存量的50%设定为该阈值。
在目标文件的类型为小文件类型的情况下,可以将当前实际预读缓存量与该阈值进行比较,如果当前实际预读缓存量大于该阈值,则可以确定待分配给目标文件的预读空间为设定数量的条带。该设定数量的条带的大小小于目标文件的文件大小,如1个条带。
在当前实际预读缓存量大于预设阈值的情况下,表明缓存空间已被占用较多,可以适当减小待分配给目标文件的预读空间,以保证尽可能多的预读的基础上保证数据不失效。
在本申请的另一种具体实施方式中,如果目标文件的类型为小文件类型,且当前实际预读缓存量不大于预设阈值,则可以确定待分配给目标文件的预读空间与目标文件的文件大小相同。
在目标文件的类型为小文件类型的情况下,可以将当前实际预读缓存量与该阈值进行比较,如果当前实际预读缓存量不大于预设阈值,则表明缓存空间还有较多剩余空间供存储预读数据,可以确定待分配给目标文件的预读空间为目标文件的文件大小。预读整个文件,这样可以更好地提高数据加载速度,减少读取时延。
在本申请的一个实施例中,如果目标文件的类型为大文件顺序或局部随机读文件类型,则可以根据许可预读缓存量和当前实际预读缓存量中小文件占用的预读缓存量,确定待分配给目标文件的预读空间。
在本申请实施例中,在确定待预读的目标文件,确定当前实际预读缓存量后,如果当前实际预读缓存量未达到许可预读缓存量,则表明缓存空间还有剩余空间可供存储预读数据。在这种情况下,可以根据目标文件的类型和当前实际预读缓存量,确定待分配给目标文件的预读空间。
如果目标文件的类型为大文件顺序或局部随机读文件类型,则可以先确定当前实际预读缓存量中小文件占用的预读缓存量,根据小文件占用的预读缓存量和许可预读缓存量,确定待分配给目标文件的预读空间。
具体的,根据当前实际预读缓存量中小文件占用的预读缓存量、许可预读缓存量、顺序或局部随机读文件个数,确定待分配给目标文件的预读空间。
可以使用以下公式(1)进行预读空间的确定:
预读空间=(许可预读缓存量-当前实际预读缓存量中小文件占用的预读缓存量)/顺序或局部随机读文件个数 (公式1)
这样可以保证尽可能多地进行预读数据的存储。
图2所示为本申请实施例对预读空间的一种确定结果示意图,在进行预读空间的确定之前,可以先在全局配置中设定全局缓存量大小,即许可预读缓存量,通过缓存量计算模块可以确定当前实际预读缓存量与许可预读缓存量、预设阈值等的大小关系。如果待预读的目标文件为随机读文件,则可以直接将其预读空间分配为0,不对其进行预读操作。对于小文件、大文件顺序或局部随机读文件,在当前实际预读缓存量达到许可预读缓存量时,将预读空间分配为0,不对其进行预读操作。对于小文件,在当前实际预读缓存量未达到许可预读缓存量,但大于预设阈值时,为其分配一个条带的预读空间,在不大于预设阈值时,为其分配的预读空间与文件大小相同。对于大文件顺序或局部随机读文件,在当前实际预读缓存量未达到许可预读缓存量时,可以根据公式(1)为其分配预读空间。确定预读空间后,可以基于该预读空间,通过缓存模块对目标文件进行预读操作,并缓存预读数据。
在当前的相关技术中,一个文件仅可加载固定的较少的预读数据,比如存储系统当前可用的缓存空间为10G,当前只读一个文件,这个文件预读量仍为固定值,可能只有32M,存在缓存空间的严重浪费。而本申请根据当前实际预读缓存量,可以动态确定分配给目标文件的预读空间,避免缓存空间的浪费,保证预读效率。
相应于上面的方法实施例,本申请实施例还提供了一种文件预读装置,下文描述的文件预读装置与上文描述的文件预读方法可相互对应参照。
参见图3所示,该装置可以包括以下模块:
目标文件确定模块310,用于确定待预读的目标文件;
实际预读缓存量确定模块320,用于确定当前实际预读缓存量;
预读空间确定模块330,用于根据当前实际预读缓存量,确定待分配给目标文件的预读空间;
文件预读模块340,用于基于预读空间,对目标文件进行预读。
应用本申请实施例所提供的装置,确定待预读的目标文件后,确定当前实际预读缓存量,根据当前实际预读缓存量,可以确定待分配给目标文件的预读空间,再基于预读空间,对目标文件进行预读。对于待预读的目标文件,不是为其分配固定大小的预读空间,而是根据当前实际预读缓存量,动态确定待分配给目标文件的预读空间,这样方便在当前实际预读缓存量较小时,为目标文件分配较大的预读空间,在当前实际预读缓存量较大时,为目标文件分配较小的预读空间,以充分利用缓存空间,避免缓存空间的浪费,保证预读效率,而且,在为目标文件分配较大的预读空间的情况下,可以进一步提高数据加载速度,减少读取时延。
在本申请的一种具体实施方式中,目标文件确定模块310,用于:
对设定时间段内的读IO进行监控;
根据监控结果,确定当前读IO对应的文件是否为随机读文件;
如果否,则将当前读IO对应的文件确定为待预读的目标文件。
在本申请的一种具体实施方式中,预读空间确定模块330,用于:
如果当前实际预读缓存量达到许可预读缓存量,则确定待分配给目标文件的预读空间为0。
在本申请的一种具体实施方式中,预读空间确定模块330,用于:
如果当前实际预读缓存量未达到许可预读缓存量,则根据目标文件的类型和当前实际预读缓存量,确定待分配给目标文件的预读空间。
在本申请的一种具体实施方式中,预读空间确定模块330,用于:
如果目标文件的类型为小文件类型,且当前实际预读缓存量大于预设阈值,则确定待分配给目标文件的预读空间为设定数量的条带,设定数量的条带的大小小于目标文件的文件大小。
在本申请的一种具体实施方式中,预读空间确定模块330,用于:
如果目标文件的类型为小文件类型,且当前实际预读缓存量不大于预设阈值,则确定待分配给目标文件的预读空间与目标文件的文件大小相同。
在本申请的一种具体实施方式中,预读空间确定模块330,用于:
如果目标文件的类型为大文件顺序或局部随机读文件类型,则根据许可预读缓存量和当前实际预读缓存量中小文件占用的预读缓存量,确定待分配给目标文件的预读空间。
相应于上面的方法实施例,本申请实施例还提供了一种文件预读设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述文件预读方法的步骤。
如图4所示,为文件预读设备的组成结构示意图,文件预读设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行文件预读方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
确定待预读的目标文件;
确定当前实际预读缓存量;
根据当前实际预读缓存量,确定待分配给目标文件的预读空间;
基于预读空间,对目标文件进行预读。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如IO监控功能、数据读取功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如缓存量数据、预读空间数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图4所示的结构并不构成对本申请实施例中文件预读设备的限定,在实际应用中文件预读设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述文件预读方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种文件预读方法,其特征在于,包括:
确定待预读的目标文件;
确定当前实际预读缓存量;
根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间;
基于所述预读空间,对所述目标文件进行预读;
所述根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述目标文件的类型为小文件类型,且所述当前实际预读缓存量大于预设阈值,则确定待分配给所述目标文件的预读空间为设定数量的条带,所述设定数量的条带的大小小于所述目标文件的文件大小。
2.根据权利要求1所述的方法,其特征在于,所述确定待预读的目标文件,包括:
对设定时间段内的读IO进行监控;
根据监控结果,确定当前读IO对应的文件是否为随机读文件;
如果否,则将所述当前读IO对应的文件确定为待预读的目标文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述当前实际预读缓存量达到许可预读缓存量,则确定待分配给所述目标文件的预读空间为0。
4.根据权利要求1至3之中任一项所述的方法,其特征在于,所述根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述当前实际预读缓存量未达到许可预读缓存量,则根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述目标文件的类型为小文件类型,且所述当前实际预读缓存量不大于所述预设阈值,则确定待分配给所述目标文件的预读空间与所述目标文件的文件大小相同。
6.根据权利要求4所述的方法,其特征在于,所述根据所述目标文件的类型和所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间,包括:
如果所述目标文件的类型为大文件顺序或局部随机读文件类型,则根据所述许可预读缓存量和所述当前实际预读缓存量中小文件占用的预读缓存量,确定待分配给所述目标文件的预读空间。
7.一种文件预读装置,其特征在于,包括:
目标文件确定模块,用于确定待预读的目标文件;
实际预读缓存量确定模块,用于确定当前实际预读缓存量;
预读空间确定模块,用于根据所述当前实际预读缓存量,确定待分配给所述目标文件的预读空间;
文件预读模块,用于基于所述预读空间,对所述目标文件进行预读;
所述文件预读装置,还用于:
如果所述目标文件的类型为小文件类型,且所述当前实际预读缓存量大于预设阈值,则确定待分配给所述目标文件的预读空间为设定数量的条带,所述设定数量的条带的大小小于所述目标文件的文件大小。
8.一种文件预读设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述文件预读方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述文件预读方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469782.9A CN111723057B (zh) | 2020-05-28 | 2020-05-28 | 一种文件预读方法、装置、设备及存储介质 |
PCT/CN2021/073473 WO2021238265A1 (zh) | 2020-05-28 | 2021-01-25 | 一种文件预读方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010469782.9A CN111723057B (zh) | 2020-05-28 | 2020-05-28 | 一种文件预读方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723057A CN111723057A (zh) | 2020-09-29 |
CN111723057B true CN111723057B (zh) | 2023-07-14 |
Family
ID=72565297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010469782.9A Active CN111723057B (zh) | 2020-05-28 | 2020-05-28 | 一种文件预读方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111723057B (zh) |
WO (1) | WO2021238265A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723057B (zh) * | 2020-05-28 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种文件预读方法、装置、设备及存储介质 |
CN113626381B (zh) * | 2021-06-30 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种基于分布式文件系统交织读预读的优化方法、装置 |
CN113821460B (zh) * | 2021-08-27 | 2024-03-01 | 济南浪潮数据技术有限公司 | 一种文件预读缓存分配方法和装置 |
CN114442948A (zh) * | 2022-01-14 | 2022-05-06 | 济南浪潮数据技术有限公司 | 一种存储系统预读方法、装置、设备及存储介质 |
CN114116634B (zh) * | 2022-01-26 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种缓存方法、装置及可读存储介质 |
CN114168272B (zh) * | 2022-02-14 | 2022-04-19 | 麒麟软件有限公司 | 一种缓存读文件时随机读的内核io优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809883B1 (en) * | 2007-10-16 | 2010-10-05 | Netapp, Inc. | Cached reads for a storage system |
US10572452B1 (en) * | 2015-01-01 | 2020-02-25 | EMC IP Holding Company LLC | Context-based read-ahead for B+ tree data structures in a deduplication system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337262B2 (en) * | 2005-05-02 | 2008-02-26 | International Business Machines Corporation | Adaptive read ahead method of data recorded on a sequential media readable via a variable data block size storage device |
JP4902285B2 (ja) * | 2006-07-18 | 2012-03-21 | キヤノン株式会社 | 情報閲覧装置、その制御方法及びプログラム |
CN102521349A (zh) * | 2011-12-12 | 2012-06-27 | 深圳市创新科信息技术有限公司 | 一种文件预读方法 |
EP2842040B1 (en) * | 2012-04-27 | 2017-06-07 | Hewlett-Packard Enterprise Development LP | Collaborative caching |
WO2014201696A1 (zh) * | 2013-06-21 | 2014-12-24 | 华为技术有限公司 | 一种文件读取方法、存储设备及读取系统 |
CN105653684B (zh) * | 2015-12-29 | 2020-03-03 | 曙光云计算集团有限公司 | 分布式文件系统的预读方法和装置 |
CN106570108A (zh) * | 2016-11-01 | 2017-04-19 | 中国科学院计算机网络信息中心 | 一种云存储环境下海量数据自适应读取优化方法及系统 |
CN107590278A (zh) * | 2017-09-28 | 2018-01-16 | 郑州云海信息技术有限公司 | 一种基于ceph的文件预读方法及相关装置 |
CN108920271A (zh) * | 2018-05-17 | 2018-11-30 | 广州优视网络科技有限公司 | 应用缓存清理方法、装置、存储介质和终端 |
CN108874310A (zh) * | 2018-05-28 | 2018-11-23 | 郑州云海信息技术有限公司 | 分布式存储的读缓存方法、装置及计算机可读存储介质 |
CN110007867B (zh) * | 2019-04-11 | 2022-08-12 | 苏州浪潮智能科技有限公司 | 一种缓存空间分配方法、装置、设备及存储介质 |
CN110502498A (zh) * | 2019-08-16 | 2019-11-26 | 济南浪潮数据技术有限公司 | 一种分布式文件系统文件预读方法和系统 |
CN111723057B (zh) * | 2020-05-28 | 2023-07-14 | 广东浪潮大数据研究有限公司 | 一种文件预读方法、装置、设备及存储介质 |
-
2020
- 2020-05-28 CN CN202010469782.9A patent/CN111723057B/zh active Active
-
2021
- 2021-01-25 WO PCT/CN2021/073473 patent/WO2021238265A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809883B1 (en) * | 2007-10-16 | 2010-10-05 | Netapp, Inc. | Cached reads for a storage system |
US10572452B1 (en) * | 2015-01-01 | 2020-02-25 | EMC IP Holding Company LLC | Context-based read-ahead for B+ tree data structures in a deduplication system |
Also Published As
Publication number | Publication date |
---|---|
WO2021238265A1 (zh) | 2021-12-02 |
CN111723057A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111723057B (zh) | 一种文件预读方法、装置、设备及存储介质 | |
CN111723058B (zh) | 一种预读数据缓存方法、装置、设备及存储介质 | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
US11030088B2 (en) | Pseudo main memory system | |
US20150143045A1 (en) | Cache control apparatus and method | |
US10789170B2 (en) | Storage management method, electronic device and computer readable medium | |
CN110187832B (zh) | 一种数据操作的方法、设备和系统 | |
CN111563052B (zh) | 降低读延时的缓存方法、装置、计算机设备及存储介质 | |
US20170004087A1 (en) | Adaptive cache management method according to access characteristics of user application in distributed environment | |
WO2004059499A2 (en) | Memory controller and method for writing to a memory | |
CN105138481A (zh) | 存储数据的处理方法、装置和系统 | |
CN111309644A (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
US9063863B2 (en) | Systems and methods for background destaging storage tracks | |
US10901883B2 (en) | Embedded memory management scheme for real-time applications | |
CN110119245B (zh) | 用于操作nand闪存物理空间以扩展存储器容量的方法和系统 | |
EP3249540A1 (en) | Method for writing multiple copies into storage device, and storage device | |
KR101549569B1 (ko) | 가비지 컬렉션 수행 방법 및 그 방법을 이용한 플래시 메모리 장치 | |
US20190179781A1 (en) | Memory system and operating method thereof | |
US10719461B2 (en) | Solid state device with distributed bit buckets | |
CN111338567B (zh) | 一种基于Protocol Buffer的镜像缓存方法 | |
CN109840217B (zh) | 一种缓存资源分配和装置 | |
CN107273188B (zh) | 一种虚拟机中央处理单元cpu绑定方法及装置 | |
KR101866681B1 (ko) | 페이지 크기를 동적으로 제어하는 페이지 제어 방법 및 장치 | |
US8996813B2 (en) | Systems and methods for managing destage conflicts | |
US20050071606A1 (en) | Device, system and method of allocating spill cells in binary instrumentation using one free register |
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 |