CN110807010A - 文件读取方法、装置、电子设备和存储介质 - Google Patents
文件读取方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110807010A CN110807010A CN201911039388.5A CN201911039388A CN110807010A CN 110807010 A CN110807010 A CN 110807010A CN 201911039388 A CN201911039388 A CN 201911039388A CN 110807010 A CN110807010 A CN 110807010A
- Authority
- CN
- China
- Prior art keywords
- file
- target file
- cache
- target
- reading
- 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.)
- Pending
Links
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种文件读取方法、装置、电子设备和存储介质,其中,方法包括:截获文件读取请求,读取请求中包括目标文件标识;判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件;若当前的缓存文件中未包含目标文件,则判断目标文件是否为预设的文件;若目标文件为预设的文件,则将目标文件存入缓存区;响应文件读取请求,并将目标文件继续存储在缓存区。该方法通过在响应文件读取请求后,根据目标文件是否为预设文件,控制目标文件是否继续存储在缓存区,若为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以便于后续读取该目标文件时直接从缓存区获取目标文件,从而提高了文件的读取速度和读取效率。
Description
技术领域
本申请涉及文件系统技术领域,尤其涉及一种文件读取方法、装置、电子设备和存储介质。
背景技术
实际应用中,文件读取是一种常见的文件系统操作。目前,在读取文件时,文件系统读取文件的速度慢、效率低,特别是对于需要多次读取大量文件的情况。
发明内容
本申请提出一种文件读取方法、装置、电子设备和存储介质,用于解决相关技术中多次读取大量文件,存在读取速度慢、读取效率低的问题。
本申请一方面实施例提出了一种文件读取方法,包括:
截获文件读取请求,所述读取请求中包括目标文件标识;
判断当前的缓存文件中是否包含与所述目标文件标识匹配的目标文件;
若当前的缓存文件中未包含所述目标文件,则判断所述目标文件是否为预设的文件;
若所述目标文件为预设的文件,则将所述目标文件存入缓存区;
响应所述文件读取请求,并将所述目标文件继续存储在缓存区。
本申请实施例的文件读取方法,通过截获文件读取请求,读取请求中包括目标文件标识,判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件,若当前的缓存文件中未包含目标文件,则判断目标文件是否为预设的文件,若目标文件为预设的文件,则将目标文件存入缓存区,响应文件读取请求,并将目标文件继续存储在缓存区。由此,在响应文件读取请求后,根据目标文件是否为预设文件,控制目标文件是否继续存储在缓存区,若为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以便于后续读取目标文件时直接从缓存区获取目标文件,从而提高了文件的读取速度和读取效率。
作为本申请一方面实施例一种可能的实现方式,所述判断所述目标文件是否为预设的文件,包括:
判断所述目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配。
作为本申请一方面实施例一种可能的实现方式,所述判断所述目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配之前,还包括:
根据获取的配置文件更改指令中包含的目录,更改所述磁盘配置文件中手动内存操作参数的赋值。
作为本申请一方面实施例一种可能的实现方式,所述判断所述目标文件是否为预设的文件,包括:
判断所述目标文件所在的存储区,在第一连续预设时段内被读取的次数是否大于第一阈值。
作为本申请一方面实施例一种可能的实现方式,所述将所述目标文件存入缓存区之前,还包括:
判断所述缓存区当前的剩余空间与所述目标文件所占空间的差值,是否大于第二阈值;
若否,则获取所述缓存区中当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数;
根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件;
将所述缓存区中待清除的缓存文件清除。
作为本申请一方面实施例一种可能的实现方式,所述将所述目标文件存入缓存区之后,还包括:
根据各缓存文件在所述缓存区中的存储位置,生成所述缓存区的索引文件;
所述响应所述文件读取请求,包括:
根据所述索引文件,确定所述目标文件所在的目标存储位置;
从所述目标存储位置,读取所述目标文件。
本申请另一方面实施例提出了一种文件读取装置,包括:
第一获取模块,用于截获文件读取请求,所述读取请求中包括目标文件标识;
第一判断模块,用于判断当前的缓存文件中是否包含与所述目标文件标识匹配的目标文件;
第二判断模块,用于在当前的缓存文件中未包含所述目标文件时,判断所述目标文件是否为预设的文件;
缓存模块,用于在所述目标文件为预设的文件时,将所述目标文件存入缓存区;
响应模块,用于响应所述文件读取请求,并将所述目标文件继续存储在缓存区。
本申请实施例的文件读取装置,通过截获文件读取请求,读取请求中包括目标文件标识,判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件,若当前的缓存文件中未包含目标文件,则判断目标文件是否为预设的文件,若目标文件为预设的文件,则将目标文件存入缓存区,响应文件读取请求,并将目标文件继续存储在缓存区。由此,在响应文件读取请求后,根据目标文件是否为预设文件,控制目标文件是否继续存储在缓存区,若为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以便于后续读取目标文件时直接从缓存区获取目标文件,从而提高了文件的读取速度和读取效率。
作为本申请另一方面实施例一种可能的实现方式,所述第二判断模块,具体用于:
判断所述目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参指定的目录匹配。
作为本申请另一方面实施例一种可能的实现方式,该装置还包括:
第一生成模块,用于根据获取的配置文件更改指令中包含的目录,更改所述磁盘配置文件中手动内存操作参数的赋值。
作为本申请另一方面实施例一种可能的实现方式,所述第二判断模块,具体用于:
判断所述目标文件所在的存储区,在第一连续预设时段内被读取的次数是否大于第一阈值。
作为本申请另一方面实施例一种可能的实现方式,该装置还包括:
第三判断模块,用于判断所述缓存区当前的剩余空间与所述目标文件所占空间的差值,是否大于第二阈值;
第二获取模块,用于在所述缓存区当前的剩余空间与所述目标文件所占空间的差值小于或者等于第二阈值时,获取所述缓存区中当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数;
确定模块,用于根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件;
清除模块,用于将所述缓存区中待清除的缓存文件清除。
作为本申请另一方面实施例一种可能的实现方式,该装置还包括:
第二生成模块,用于根据各缓存文件在所述缓存区中的存储位置,生成所述缓存区的索引文件;
所述响应模块,具体用于根据所述索引文件,确定所述目标文件所在的目标存储位置;从所述目标存储位置,读取所述目标文件。
本申请另一方面实施例提出了一种电子设备,包括:处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上述一方面实施例所述的文件读取方法。
本申请另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述一方面实施例所述的文件读取方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种文件读取方法的流程示意图;
图2为本申请实施例提供的另一种文件读取方法的流程示意图;
图3为本申请实施例提供的另一种文件读取方法的流程示意图;
图4为本申请实施例提供的一种文件读取装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的文件读取方法、装置、电子设备和存储介质。
本申请实施例,针对相关技术中多次读取大量文件时,存在读取速度慢、读取效率低的问题,提出一种文件读取方法。
本申请实施例提供的文件读取方法,在响应文件读取请求后,根据目标文件是否为预设文件,控制目标文件是否继续存储在缓存区,若为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以便于后续读取目标文件时直接从缓存区获取目标文件,从而提高了文件的读取速度和读取效率。
图1为本申请实施例提供的一种文件读取方法的流程示意图。
本申请实施例中文件读取方法,可由本申请实施例提供的文件读取装置执行,该装置可配置于电子设备,如计算机等,以实现若目标文件为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以使后续读取该文件时,直接从缓存区获取目标文件。
如图1所示,该文件读取方法包括:
步骤101,截获文件读取请求,读取请求中包括目标文件标识。
本实施例中,当需要读取文件时,会发送文件读取请求。当监测到有读取请求时,截获文件读取请求。其中,文件读取请求中包含要读取的文件的标识。
为了便于说明,本实施例中,将读取请求要读取的文件称为目标文件,则读取请求中包含该目标文件标识。其中,标识可以是文件名等能够表示文件唯一性的标识。
作为一种应用场景,基于深度学习进行模型训练时,需要多次读取大量的文件用于训练学习。当需要使用某文件进行训练时,可发送相应的文件读取请求,其中,该文件读取请求中包含要使用的文件的标识,以便于根据该标识获取文件。
步骤102,判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件。
本实施例中,在获取目标文件的标识后,可先判断当前的缓存文件中是否包含要读取的目标文件。其中,缓存文件是指缓存区中存储的文件。也就是说,在获取目标文件标识后,根据目标文件标识判断缓存区中是否包含目标文件。
具体地,可将目标文件标识与当前的每个缓存文件的标识依次进行比对,以确定是否存在缓存文件的标识与目标文件标识一致。
本实施例中,在获取目标文件的标识后,先判断目标文件是否为已经被缓存的文件,在目标文件是已经被缓存的文件时,直接从缓存区获取该文件,无需从磁盘中获取该文件,从而提高了读取文件的读取速度和效率。
步骤103,若当前的缓存文件中未包含目标文件,则判断目标文件是否为预设的文件。
本实施例中,若当前的缓存文件中未包含目标文件,也即缓存区不包含目标文件,目标文件未被缓存至缓存区时,进一步判断目标文件是否预设文件。其中,预设文件可以是用户指定的文件,也可以是需要多次读取的文件等。
步骤104,若目标文件为预设的文件,则将目标文件存入缓存区。
本实施例中,若目标文件为预设文件,那么可将目标文件存入缓存区,以从缓存区中获取该文件。
步骤105,响应文件读取请求,并将目标文件继续存储在缓存区。
本实施例中,根据获取的目标文件响应当前的文件读取请求,以实现文件的读取。并且,将预设文件继续存储在缓存区,后续读取该文件时,可直接从缓存区读取该文件,而无需每次读取时先将文件缓存到缓存区,响应读取请求后删除该文件,从而在多次读取文件时,提高了读取速度和读取效率。
如果目标文件不是预设文件,那么在响应文件读取请求后,可将目标文件从缓存区中删除,以节省缓存区空间。
作为一种应用场景,在深度学习时,需要多次读取大量的文件用于训练模型,由于相关技术中多次读取大量文件时,读取速度慢、效率低,从而会降低模型训练速度。利用本申请实施例的文件读取方法,将用于训练学习的文件缓存到缓存区,从缓存区直接读取该文件,可以提高文件的读取速度和效率,从而提高模型训练速度。
需要说明的是,在接收读取请求后,也可以在当前的缓存文件未包含目标文件,将目标文件存到缓存区后、或者在将目标文件写到缓存区的同时,判断文件是否为预设文件,进而再确定目标文件为预设文件时,再响应读取请求后,继续存储该目标文件。
本申请实施例的文件读取方法,在响应文件读取请求后,根据目标文件是否为预设文件,控制目标文件是否继续存储在缓存区,若为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以便于后续读取目标文件时直接从缓存区获取目标文件,从而提高了文件的读取速度和读取效率。
对于上述若当前的缓存文件中不包含目标文件,判断目标文件是否为预设的文件时,在本申请的一个实施例中,可判断目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配。下面结合图2进行说明,图2为本申请实施例提供的另一种文件读取方法的流程示意图。
如图2所示,该文件读取方法包括:
步骤201,截获文件读取请求,读取请求中包括目标文件标识。
步骤202,判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件。
本实施例中,步骤201-步骤202与上述步骤101-步骤102类似,故在此不再赘述。
步骤203,若当前的缓存文件中未包含目标文件,则判断目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配。
本实施例中,磁盘配置文件中手动内存操作参数指定的目录中的文件是指定要读取的文件,目录中可包含文件名、文件大小、文件的存储区等信息。当指定要读取的文件时,可通过对手动内存操作参数赋值的方式实现,具体地,可将其参数的取值赋为要读取的文件构成的目录。
在实际应用中,当读取某文件时,先从磁盘中读取该文件所在的存储区内所有的文件,然后从所有文件中获取该文件。本实施例中,在确定当前的缓存文件中不包含目标文件时,可判断目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配,具体地,可判断目标文件所在的存储区是否与指定的目录中的存储区匹配。
步骤204,若目标文件所在的存储区,与磁盘配置文件中手动内存操作参数指定的目录匹配,则将目标文件存入缓存区。
如果目标文件所在的存储区,与磁盘配置文件中手动内存操作参数指定的目录匹配,将目标文件存入缓存区中,以便于从缓存区读取该目标文件。
步骤205,响应文件读取请求,并将目标文件继续存储在缓存区。
本实施例中,根据获取的目标文件响应当前的文件读取请求,以实现文件的读取。并且,将预设文件继续存储在缓存区。
由此,如果目标文件所在的存储区与磁盘配置文件中手动内存操作参数指定的目录匹配,则在响应文件读取请求后,继续将目标文件存储在缓存区,后续再读取该文件时,可直接从缓存区读取该文件,而无需每次读取时先将文件缓存到缓存区,响应读取请求后删除该文件,从而在多次读取文件时,提高了读取速度和读取效率。
如果目标文件所在的存储区,与磁盘配置文件中手动内存操作参数指定的目录不匹配,那么在响应文件读取请求后,可将目标文件从缓存区中删除,以节省缓存区空间。
本申请实施例中,通过判断目标文件所在的存储区,是否与磁盘配置文件中的手动内存操作参数指定的目录匹配,以实现当目标文件所在的存储区与磁盘配置文件中指定的目录匹配时,在响应文件读取请求后将目标文件继续存储在缓存区,后续再读取目标文件,可以直接从缓存区中获取目标文件,从而可以快速读取文件,提高读取效率。
在本申请的一个实施例中,还可更改磁盘配置文件中手动内存操作参数指定的目录,从而可以根据需要指定要读取的文件。
具体而言,用户可以根据需要对磁盘配置文件中指定的目录进行更改,由此,电子设备可获取到配置文件更改指令。其中,更改指令中包含目录,该目录中的文件为要读取的文件。因此,根据获取的配置文件更改指令中包含的目录,更改磁盘配置文件中手动内存操作参数的赋值,具体地,可将手动内存操作参数的赋值更改为配置文件更改指令中包含的目录。
本申请实施例中,通过根据获取的配置文件更改指令中包含的目录,更改磁盘配置文件中手动内存操作参数的赋值,由此可以根据需要调整在响应读取请求后可以继续存储缓存区的文件,从而满足了用户的个性化需求。
在实际读取文件时,可能会对某些文件进行多次读取,基于此,在本申请的一个实施例中,在判断目标文件是否为预设的文件时,可判断目标文件所在的存储区,在第一连续预设时段内被读取的次数是否大于第一阈值。
具体地,每次读取的文件时,可记录被磁盘中每个存储区被读取的时间,那么可以统计目标文件所在的存储区在第一连续预设时段内被读取的次数。如果目标文件所在的存储区,在第一连续预设时段内被读取的次数大于第一阈值,可以认为目标文件在后续也可能会被多次读取,则目标文件为预设的文件,在响应目标文件的读取请求后,将目标文件继续存储在缓存区中。
比如,第一连续预设时段为2小时,第一阈值为5次,若目标文件A所在的存储区在前2个小时内被读取了8次,读取次数超过了5次,那么在响应目标文件A的读取请求后,将目标文件A继续存储在缓存区,以便后续再读取文件A时,直接从缓存区中获取。
本申请实施例中,通过判断目标文件所在的存储区,在第一连续预设时段内被读取的次数是否大于第一阈值,如果大于第一阈值说明目标文件可能被多次读取,因此在响应目标文件的读取请求后,继续将目标文件存储在缓存区中,后续再读取目标文件时,从缓存区中直接获取目标文件,从而在多次读取文件时,直接从缓存区中读取文件,可以提高文件的读取效率。
在实际应用,缓存区大小一定,随着存入的文件越来越多,其剩余空间越来越小,后续可能无法存入文件。基于此,在本申请的一个实施例中,在将目标文件存入缓存区之前,可先对缓存区内的缓存文件进行一定的清理。下面结合图3进行说明,图3为本申请实施例提供的另一种文件读取方法的流程示意图。
如图3所示,在将目标文件存入缓存区之前,该文件读取方法还包括:
步骤301,判断缓存区当前的剩余空间与目标文件所占空间的差值,是否大于第二阈值。
在将目标文件存入缓存区之前,计算缓存区当前的剩余空间与目标文件所占空间的差值,判断差值是否大于第二阈值。也就是说,在将目标文件存入缓存区之前,先判断缓存区当前的剩余空间是否足够。
其中,第二阈值可以根据实际需要设定,也可以是根据经验得出的。
步骤302,若缓存区当前的剩余空间与目标文件所占空间的差值小于或等于第二阈值,则获取缓存区中当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数。
本实施例中,记录缓存区中每个缓存文件被读取的时间,由此,在缓存区当前的剩余空间与目标文件所占空间的差值小于或等于第二阈值时,可以统计出缓存区中当前已存储的每个缓存文件,在第二连续预设时段内被读取的次数。
步骤303,根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件。
若缓存区当前的剩余空间与目标文件所占空间的差值小于或等于第二阈值,缓存区当前的剩余空间不够大,为了保证能够将目标文件存入缓存区,可对缓存文件进行一定的清理。
在具体实现时,可以将缓存区内的缓存文件全部清除,也可以进行部分清理。
作为一种实现方式,可根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件。
具体而言,根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,判断每个缓存文件在第二连续预设时段内被读取的次数是否小于第三阈值。其中,第三阈值可以根据需要设定。
如果小于第三阈值,说明在第二连续预设时段内缓存文件被读取的次数较小,可以将其确定为待清除的缓存文件。也就是说,可以将在第二连续预设时段内被读取的次数小于第三阈值的缓存文件,确定为待清除的缓存文件。
步骤304,将缓存区中待清除的缓存文件清除。
在确定待清除文件后,将缓存区中待清除的缓存文件进行清除。之后,将目标文件存入缓存区中。
本申请实施例中,在将目标文件存入缓存区之前,通过判断缓存区当前的剩余空间与目标文件所占空间的差值是否大于第二阈值,若否,则获取缓存区当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,并根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件,然后将缓存区中待清除的缓存文件清除。由此,将缓存区内被读取次数较少的缓存文件清除,从而可以保证目标文件能够存入缓存区内。
在从缓存区获取文件时,如果通过逐个查找获取文件,势必会降低读取效率。基于此,在本申请的一个实施例中,在上述将目标文件存入缓存区后,可根据缓存区中每个缓存文件在缓存区中的存储位置,生成缓存的索引文件。其中,索引文件中可包括每个缓存文件的标识、大小、存储位置等信息。那么,在响应目标文件对应的文件读取请求时,可以根据索引文件和读取请求中的目标文件标识,确定目标文件在缓存区的存储位置,然后从该存储位置读取目标文件。
由此,每当有文件存入缓存区后,可以更新或生成缓存区的索引文件,从而读取文件时,可以根据索引文件快速获取待读取的文件。
本申请实施例中,通过在将目标文件存入缓存区之后,根据各缓存文件在所述缓存区中的存储位置,生成缓存区的索引文件,在读取目标文件时,可以通过索引文件快速获取目标文件,从而提高了文件读取效率。
为了实现上述实施例,本申请实施例还提出一种文件读取装置。图4为本申请实施例提供的一种文件读取装置的结构示意图。
如图4所示,该文件读取装置包括:第一获取模块410、第一判断模块420、第二判断模块430、缓存模块440和响应模块450。
第一获取模块410,用于截获文件读取请求,读取请求中包括目标文件标识;
第一判断模块420,用于判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件;
第二判断模块430,用于在当前的缓存文件中未包含目标文件时,判断目标文件是否为预设的文件;
缓存模块440,用于在目标文件为预设的文件时,将目标文件存入缓存区;
响应模块450,用于响应文件读取请求,并将目标文件继续存储在缓存区。
在本申请实施例一种可能的实现方式中,上述第二判断模块430,具体用于:
判断目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参指定的目录匹配。
在本申请实施例一种可能的实现方式中,该装置还包括:
第一生成模块,用于根据获取的配置文件更改指令中包含的目录,更改磁盘配置文件中手动内存操作参数的赋值。
在本申请实施例一种可能的实现方式中,上述第二判断模块430,具体用于:
判断目标文件所在的存储区,在第一连续预设时段内被读取的次数是否大于第一阈值。
在本申请实施例一种可能的实现方式中,该装置还包括:
第三判断模块,用于判断缓存区当前的剩余空间与目标文件所占空间的差值,是否大于第二阈值;
第二获取模块,用于在缓存区当前的剩余空间与目标文件所占空间的差值小于或者等于第二阈值时,获取缓存区当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数;
确定模块,用于根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件;
清除模块,用于将缓存区中待清除的缓存文件清除。
在本申请实施例一种可能的实现方式中,该装置还包括:
第二生成模块,用于根据各缓存文件在缓存区中的存储位置,生成缓存区的索引文件;
上述响应模块450,具体用于根据索引文件,确定目标文件所在的目标存储位置;从目标存储位置,读取获取目标文件。
需要说明的是,前述对文件读取方法实施例的解释说明,也适用于该实施例的文件读取装置,故在此不再赘述。
本申请实施例的文件读取装置,通过截获文件读取请求,读取请求中包括目标文件标识,判断当前的缓存文件中是否包含与目标文件标识匹配的目标文件,若当前的缓存文件中未包含目标文件,则判断目标文件是否为预设的文件,若目标文件为预设的文件,则将目标文件存入缓存区,响应文件读取请求,并将目标文件继续存储在缓存区。由此,在响应文件读取请求后,根据目标文件是否为预设文件,控制目标文件是否继续存储在缓存区,若为预设文件,在响应文件读取请求后将目标文件继续存储在缓存区,以便于后续读取目标文件时直接从缓存区获取目标文件,从而提高了文件的读取速度和读取效率。
为了实现上述实施例,本申请实施例还提出一种电子设备,包括:包括处理器和存储器;
其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如上述实施例所述的文件读取方法。
为了实现上述实施例,本申请实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所述的文件读取方法。
在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种文件读取方法,其特征在于,包括:
截获文件读取请求,所述读取请求中包括目标文件标识;
判断当前的缓存文件中是否包含与所述目标文件标识匹配的目标文件;
若当前的缓存文件中未包含所述目标文件,则判断所述目标文件是否为预设的文件;
若所述目标文件为预设的文件,则将所述目标文件存入缓存区;
响应所述文件读取请求,并将所述目标文件继续存储在缓存区。
2.如权利要求1所述的方法,其特征在于,所述判断所述目标文件是否为预设的文件,包括:
判断所述目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配。
3.如权利要求2所述的方法,其特征在于,所述判断所述目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参数指定的目录匹配之前,还包括:
根据获取的配置文件更改指令中包含的目录,更改所述磁盘配置文件中手动内存操作参数的赋值。
4.如权利要求1所述的方法,其特征在于,所述判断所述目标文件是否为预设的文件,包括:
判断所述目标文件所在的存储区,在第一连续预设时段内被读取的次数是否大于第一阈值。
5.如权利要求1-4任一所述的方法,其特征在于,所述将所述目标文件存入缓存区之前,还包括:
判断所述缓存区当前的剩余空间与所述目标文件所占空间的差值,是否大于第二阈值;
若否,则获取所述缓存区中当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数;
根据当前已存储的各缓存文件在第二连续预设时段内分别对应的各被读取的次数,确定待清除的缓存文件;
将所述缓存区中待清除的缓存文件清除。
6.如权利要求1-4任一所述的方法,其特征在于,所述将所述目标文件存入缓存区之后,还包括:
根据各缓存文件在所述缓存区中的存储位置,生成所述缓存区的索引文件;
所述响应所述文件读取请求,包括:
根据所述索引文件,确定所述目标文件所在的目标存储位置;
从所述目标存储位置,读取所述目标文件。
7.一种文件读取装置,其特征在于,包括:
第一获取模块,用于截获文件读取请求,所述读取请求中包括目标文件标识;
第一判断模块,用于判断当前的缓存文件中是否包含与所述目标文件标识匹配的目标文件;
第二判断模块,用于在当前的缓存文件中未包含所述目标文件时,判断所述目标文件是否为预设的文件;
缓存模块,用于在所述目标文件为预设的文件时,将所述目标文件存入缓存区;
响应模块,用于响应所述文件读取请求,并将所述目标文件继续存储在缓存区。
8.如权利要求7所述的装置,其特征在于,所述第二判断模块,具体用于:
判断所述目标文件所在的存储区,是否与磁盘配置文件中手动内存操作参指定的目录匹配。
9.一种电子设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一所述的文件读取方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的文件读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039388.5A CN110807010A (zh) | 2019-10-29 | 2019-10-29 | 文件读取方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911039388.5A CN110807010A (zh) | 2019-10-29 | 2019-10-29 | 文件读取方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110807010A true CN110807010A (zh) | 2020-02-18 |
Family
ID=69489501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911039388.5A Pending CN110807010A (zh) | 2019-10-29 | 2019-10-29 | 文件读取方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807010A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346865A (zh) * | 2020-11-04 | 2021-02-09 | 深圳Tcl新技术有限公司 | 文件获取方法、装置、终端设备以及存储介质 |
CN113242321A (zh) * | 2021-07-12 | 2021-08-10 | 广东睿江云计算股份有限公司 | 一种移动存储设备数据传输方法 |
CN113760851A (zh) * | 2020-06-03 | 2021-12-07 | 浙江宇视科技有限公司 | 文件处理方法、装置、设备及介质 |
CN114089912A (zh) * | 2021-10-19 | 2022-02-25 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
US20180018344A1 (en) * | 2016-07-12 | 2018-01-18 | Commvault Systems, Inc. | Dynamic management of expandable cache storage for multiple network shares configured in a file server |
CN108491166A (zh) * | 2018-03-27 | 2018-09-04 | 江苏菲利斯通信息科技有限公司 | 面向光盘库的读数据缓存管理方法 |
CN109634876A (zh) * | 2018-12-11 | 2019-04-16 | 广东省新代通信与网络创新研究院 | 文件访问方法、装置及计算机可读存储介质 |
CN109815425A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 缓存数据处理方法、装置、计算机设备和存储介质 |
CN109947720A (zh) * | 2019-04-12 | 2019-06-28 | 苏州浪潮智能科技有限公司 | 一种文件预读方法、装置、设备及可读存储介质 |
-
2019
- 2019-10-29 CN CN201911039388.5A patent/CN110807010A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
US20180018344A1 (en) * | 2016-07-12 | 2018-01-18 | Commvault Systems, Inc. | Dynamic management of expandable cache storage for multiple network shares configured in a file server |
CN108491166A (zh) * | 2018-03-27 | 2018-09-04 | 江苏菲利斯通信息科技有限公司 | 面向光盘库的读数据缓存管理方法 |
CN109634876A (zh) * | 2018-12-11 | 2019-04-16 | 广东省新代通信与网络创新研究院 | 文件访问方法、装置及计算机可读存储介质 |
CN109815425A (zh) * | 2018-12-14 | 2019-05-28 | 平安科技(深圳)有限公司 | 缓存数据处理方法、装置、计算机设备和存储介质 |
CN109947720A (zh) * | 2019-04-12 | 2019-06-28 | 苏州浪潮智能科技有限公司 | 一种文件预读方法、装置、设备及可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760851A (zh) * | 2020-06-03 | 2021-12-07 | 浙江宇视科技有限公司 | 文件处理方法、装置、设备及介质 |
CN113760851B (zh) * | 2020-06-03 | 2024-02-27 | 浙江宇视科技有限公司 | 文件处理方法、装置、设备及介质 |
CN112346865A (zh) * | 2020-11-04 | 2021-02-09 | 深圳Tcl新技术有限公司 | 文件获取方法、装置、终端设备以及存储介质 |
CN113242321A (zh) * | 2021-07-12 | 2021-08-10 | 广东睿江云计算股份有限公司 | 一种移动存储设备数据传输方法 |
CN114089912A (zh) * | 2021-10-19 | 2022-02-25 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
CN114089912B (zh) * | 2021-10-19 | 2024-05-24 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807010A (zh) | 文件读取方法、装置、电子设备和存储介质 | |
US10133679B2 (en) | Read cache management method and apparatus based on solid state drive | |
CN108733761B (zh) | 一种数据处理方法装置及系统 | |
US20150317246A1 (en) | Memory Reclamation Method and Apparatus | |
EP3252609A1 (en) | Cache data determination method and device | |
CN107430551B (zh) | 数据缓存方法、存储控制装置、及存储设备 | |
CN112714359B (zh) | 视频推荐方法、装置、计算机设备及存储介质 | |
US10732896B2 (en) | Method and system for reading data during control sync operations | |
CN110399348A (zh) | 文件重删方法、装置、系统及计算机可读存储介质 | |
CN107707600A (zh) | 一种数据存储方法及装置 | |
CN111198856A (zh) | 文件管理方法、装置、计算机设备和存储介质 | |
CN107665235B (zh) | 缓存处理方法、装置、计算机设备和存储介质 | |
CN107229421B (zh) | 视频数据存储系统的创建、文件写入和读取方法及装置 | |
CN111026331A (zh) | 请求响应方法、装置、设备及计算机可读存储介质 | |
CN110737389B (zh) | 存储数据的方法和装置 | |
CN105574008B (zh) | 应用于分布式文件系统的任务调度方法和设备 | |
CN109101608A (zh) | 一种数据存储方法、数据查询方法及装置 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN106446080B (zh) | 数据查询的方法、查询服务设备、客户端设备和数据系统 | |
CN108090087B (zh) | 文件处理方法及装置 | |
KR950033947A (ko) | 프린터 및 캐시 메모리 공간 할당 방법 | |
CN110750566A (zh) | 数据处理方法、装置、缓存系统及缓存管理平台 | |
CN110334073A (zh) | 一种元数据预取方法、装置、终端、服务器及存储介质 | |
CN109582233A (zh) | 一种数据的缓存方法和装置 | |
CN109669623A (zh) | 一种文件管理方法、文件管理装置、电子设备及存储介质 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200917 Address after: Room 91, 5 / F, building 5, yard 30, Shixing street, Shijingshan District, Beijing 100041 Applicant after: Beijing juyuncube Technology Co., Ltd Address before: 100041 Beijing, Shijingshan District Xing Xing street, building 30, No. 3, building 2, A-0071 Applicant before: Beijing Cheetah Mobile Technology Co.,Ltd. |