CN111881096A - 一种文件读取方法、装置、设备及存储介质 - Google Patents

一种文件读取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111881096A
CN111881096A CN202010724303.3A CN202010724303A CN111881096A CN 111881096 A CN111881096 A CN 111881096A CN 202010724303 A CN202010724303 A CN 202010724303A CN 111881096 A CN111881096 A CN 111881096A
Authority
CN
China
Prior art keywords
data
read
file
file system
preset time
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.)
Granted
Application number
CN202010724303.3A
Other languages
English (en)
Other versions
CN111881096B (zh
Inventor
刘相乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202010724303.3A priority Critical patent/CN111881096B/zh
Publication of CN111881096A publication Critical patent/CN111881096A/zh
Application granted granted Critical
Publication of CN111881096B publication Critical patent/CN111881096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS

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

一种文件读取方法、装置、设备及存储介质
技术领域
本发明涉及存储技术领域,更具体地说,涉及一种文件读取方法、装置、设备及存储介质。
背景技术
NFS共享服务是NAS集群存储系统中提供文件共享的服务进程,读取文件是存储应用场景中最常见的一种操作,尤其是顺序读,但是每次读都会涉及到用户态和内核态的切换以及内存拷贝,这中间会耗费大量的时间。
发明内容
本发明的目的是提供一种文件读取方法、装置、设备及存储介质,能够减少读操作的次数,减少系统用户态和内核态切换的次数以及内存拷贝次数,进而节省时间,提高文件读性能。
为了实现上述目的,本发明提供如下技术方案:
一种文件读取方法,包括:
接收客户端发送的读请求,并判断当前时刻是否达到预定时刻;
如果当前时刻达到所述预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取所述文件系统返回的数据,并将所述文件系统返回的数据返回给相应的客户端;
如果当前时刻未达到所述预定时刻,则等待至所述预定时刻。
优选的,获取当前时刻之前预设时间段内接收的全部读请求之后,将当前具有的全部读操作下发给文件系统之前,还包括:
如果对应数据均位于任一文件的读请求的数量达到数量阈值,则确定该任一文本为目标文件,生成与所述目标文件中未被读取且未与所述读请求对应的预设长度的数据对应的读操作,并在与该读操作存在对应数据的位置相邻的其他读操作时,将该读操作及与该读操作对应数据的位置相邻的其他读操作进行合并。
优选的,生成与所述目标文件中未被读取且未与所述读请求对应的预设长度的数据对应的读操作,包括:
确定所述目标文件中与所述读请求对应的全部数据中位于最大长度的连续的位置的数据为目标数据,确定所述目标文件中位于所述目标数据之后的与所述目标数据位置相邻的未被读取且未与所述读请求对应的预设长度的数据为预读数据,生成与所述预读数据对应的读操作。
优选的,接收客户端发送的读请求之后,还包括:
将所述读请求对应数据所在的文件、所在的文件中位置及所在的文件中位置的长度均记录到预先设置的信息链表中;
对应的,将所述文件系统返回的数据返回给相应的客户端,包括:
按照所述信息链表中记录的信息,将所述文件系统返回的数据返回给相应的客户端。
优选的,判断当前时刻是否达到预定时刻之前,还包括:
判断缓存中是否存在与当前接收的读请求对应的数据,如果是,则由所述缓存中获取相应的数据并返回给相应的客户端,如果否,则执行判断当前时刻是否达到预定时刻的步骤;
对应的,获取所述文件系统返回的数据之后,还包括:
将所述文件系统返回的数据存储至所述缓存中。
优选的,还包括:
实时监控所述缓存中存储的数据,如果所述缓存中存储的任一数据在所述缓存中存储的时长达到时长阈值和/或该任一数据在所述文件系统中发生改变,则从所述缓存中删除该任一数据。
优选的,还包括:
将所述缓存中存储的数据的数据标识,推送给对所述文件系统具有访问权限的每个客户端。
一种文件读取装置,包括:
接收模块,用于:接收客户端发送的读请求,并判断当前时刻是否达到预定时刻;
合并模块,用于:如果当前时刻达到所述预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取所述文件系统返回的数据,并将所述文件系统返回的数据返回给相应的客户端;
等待模块,用于:如果当前时刻未达到所述预定时刻,则等待至所述预定时刻。
一种文件读取设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述文件读取方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述文件读取方法的步骤。
本发明提供了一种文件读取方法、装置、设备及存储介质,该方法包括:接收客户端发送的读请求,并判断当前时刻是否达到预定时刻;如果当前时刻达到所述预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取所述文件系统返回的数据,并将所述文件系统返回的数据返回给相应的客户端;如果当前时刻未达到所述预定时刻,则等待至所述预定时刻。本申请接收到客户发送的读请求后,如果当前时刻未达到预定时刻则等待至预定时刻,否则获取当前时刻之前预设时间段内的全部读请求,并将对应数据的位置相邻的读请求对应的读操作进行合并后,将合并所得读操作及无法合并的读操作均下发给文件系统,进而将文件系统返回的数据返回给相应的客户端;可见,本申请每达到预定时刻则将预定时刻之前的一定时间段内的读请求中,对应数据的位置相邻的读请求对应读操作进行聚合,从而将本需要多次下发给文件系统的读操作合并为一次读操作,减少读操作的次数,减少系统用户态和内核态切换的次数以及内存拷贝次数,进而节省时间,提高文件读性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种文件读取方法的第一种流程图;
图2为本发明实施例提供的一种文件读取方法的第二种流程图;
图3为本发明实施例提供的一种文件读取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种文件读取方法的流程图,可以包括:
S11:接收客户端发送的读请求,并判断当前时刻是否达到预定时刻。
本发明实施例提供的一种文件读取方法的执行主体可以为对应的装置,而该装置具体可以基于NFS进程(NFS共享服务)实现,因此该文件读取方法的执行主体可以为NFS进程,本申请中以该文件读取方法的执行主体为NFS进程进行具体说明。
预设时间段可以根据实际需要进行设定,每经过一个预设时间段则达到一个预定时刻,本申请在接收到客户端发送的读请求后,可以判断当前时刻是否达到当前时刻之后、距离当前时刻最近的一个预定时刻,如果达到,则可以对当前时刻之前预设时间段内接收的全部读请求进行相应的操作,否则,则等待至达到当前时刻之后、距离当前时刻最近的一个预定时刻;其中,读请求为客户端需要读取文件时发送的。
S12:如果当前时刻达到预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取文件系统返回的数据,并将文件系统返回的数据返回给相应的客户端。
当前时刻达到预定时刻时,可以获取当前时刻之前预设时间段内接收的全部的读请求,这些读请求均为当前时刻之前预设时间段内接收的、等待达到预定时刻被处理的读请求,本申请实施例后续需要处理的也均为这部分读请求。在获取到相应时间段的全部读请求后,可以确定每个读请求所请求的数据(每个读请求对应的数据,或者说每个读请求需要读取的数据)所在的文件及在文件中所在的位置,如果任意多个读请求所请求的数据的位置相邻,也即该任意多个读请求所请求的数据能够形成位置连续的数据,则将该任意多个读请求对应的读操作合并为一个整体的读操作,进而将合并得到的全部读操作以及无法进行合并的读操作均下发给文件系统,文件系统会将这些读操作对应的数据返回给NFS进程,NFS进程会将文件系统返回的数据返回给相应的客户端;其中,一个读请求对应一次读操作。
S13:如果当前时刻未达到预定时刻,则等待至预定时刻。
本申请接收到客户发送的读请求后,如果当前时刻未达到预定时刻则等待至预定时刻,否则获取当前时刻之前预设时间段内的全部读请求,并将对应数据的位置相邻的读请求对应的读操作进行合并后,将合并所得读操作及无法合并的读操作均下发给文件系统,进而将文件系统返回的数据返回给相应的客户端;可见,本申请每达到预定时刻则将预定时刻之前的一定时间段内的读请求中,对应数据的位置相邻的读请求对应读操作进行聚合,从而将本需要多次下发给文件系统的读操作合并为一次读操作,减少读操作的次数,减少系统用户态和内核态切换的次数以及内存拷贝次数,进而节省时间,提高文件读性能。
本发明实施例提供的一种文件读取方法,获取当前时刻之前预设时间段内接收的全部读请求之后,将当前具有的全部读操作下发给文件系统之前,还可以包括:
如果对应数据均位于任一文件的读请求的数量达到数量阈值,则确定该任一文本为目标文件,生成与目标文件中未被读取且未与读请求对应的预设长度的数据对应的读操作,并在与该读操作存在对应数据的位置相邻的其他读操作时,将该读操作及与该读操作对应数据的位置相邻的其他读操作进行合并。
其中,数量阈值(cnt_for_preread)及预设长度可以根据实际需要进行设定;如果在预设时间段内需要读取同一文件的读请求的数量达到数量阈值,或者说需要对同一文件进行读操作的次数达到数量阈值,则认为该文件被读取的比较频繁,在当前时刻之后被读取的可能性也非常大,因此可以预读该文件中的一部分数据供获取;具体来说,在确定出在预设时间段内需要读取同一文件的读请求的数量达到数量阈值的目标文件后,则可以将目标文件中未被读取且未与读请求对应的一定长度的数据作为需要预读的数据,生成与需要预读的数据对应的读操作,进而将该读操作与读请求对应读操作进行相应合并后,将合并得到的读操作下发给文件系统实现文件读取,从而在实现数据预读的同时,进一步减少了读操作的次数,提高了文件读取性能。
本发明实施例提供的一种文件读取方法,生成与目标文件中未被读取且未与读请求对应的预设长度的数据对应的读操作,可以包括:
确定目标文件中与读请求对应的全部数据中位于最大长度的连续的位置的数据为目标数据,确定目标文件中位于目标数据之后的与目标数据位置相邻的未被读取且未与读请求对应的预设长度的数据为预读数据,生成与预读数据对应的读操作。
在确定需要预读的目标文件中的数据时,为了使得预读的数据的读操作能够与其他数据的读操作进行合并,以有效减少读操作的次数,本申请实施例可以确定目标文件中需要读取的数据中位于连续的位置的最大长度的数据,进而读取位于该数据之后的与该数据相邻的数据为预读数据,从而使得预读数据对应读操作能够与目标文件中需要读取的数据中位于连续的位置的最大长度的数据对应读操作进行合并;另外,如果目标文件中需要读取的数据中位于连续的位置的最大长度的数据之后与该数据长度相同的数据均未被读取,且均未与读请求对应,则可以直接读取该数据之后与该数据相邻的且与该数据相同长度的数据;当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。
本发明实施例提供的一种文件读取方法,接收客户端发送的读请求之后,还可以包括:
将读请求对应数据所在的文件、所在的文件中位置及所在的文件中位置的长度均记录到预先设置的信息链表中;
对应的,将文件系统返回的数据返回给相应的客户端,包括:
按照信息链表中记录的信息,将文件系统返回的数据返回给相应的客户端。
本申请实施例中可以设置有信息链表,在接收到读请求后,对读请求进行解码以解析出读请求对应数据所在的文件、位置及长度,并将解析出的读请求对应数据所在的文件、位置及长度这些读信息均记录到信息链表中,实现对读请求的读信息的统计;对应的,在将文件系统返回的数据返回给相应的客户端时,具体可以是按照信息链表中的信息将对应客户端所请求的数据返回;在需要对读请求进行分析的其他步骤也均可以是由信息链表中获取相应信息后实现分析;通过这种方式实现读请求的统计,进而便于对读请求实现相应的分析及对应的数据返回等操作。
本发明实施例提供的一种文件读取方法,判断当前时刻是否达到预定时刻之前,还可以包括:
判断缓存中是否存在与当前接收的读请求对应的数据,如果是,则由缓存中获取相应的数据并返回给相应的客户端,如果否,则执行判断当前时刻是否达到预定时刻的步骤;
对应的,获取文件系统返回的数据之后,还可以包括:
将文件系统返回的数据存储至缓存中。
需要说明的是,为了进一步提高文件读取性能,本申请实施例可以设置有相应的缓存,从而在接收到读请求时,如果缓存中存储有相应的数据,则直接将缓存中相应的数据返回给相应客户端,否则,再通过文件系统读取相应的数据。另外,在获取文件系统返回的数据之后,也可以是先将文件系统返回的数据存储至缓存中,然后再从缓存中将这些数据返回给相应的客户端;当然在获取文件系统返回的数据之后,将文件系统返回的数据存储至缓存中,以及将文件系统返回的数据返回给相应的客户端,这两个步骤也可以同时进行,均在本发明的保护范围之内。
本发明实施例提供的一种文件读取方法,还可以包括:
实时监控缓存中存储的数据,如果缓存中存储的任一数据在缓存中存储的时长达到时长阈值和/或该任一数据在文件系统中发生改变,则从缓存中删除该任一数据。
为了避免缓存中数据的数据量过多导致无法正常实现当前所需数据的存储,本申请实施例可以实时监控缓存中的数据,进而在任一数据在缓存中存储时长过长(达到根据实际需要设定的时长阈值)和/或该任一数据在文件系统中发生改变导致该任一数据无效时,可以从缓存中删除该任一数据。
本发明实施例提供的一种文件读取方法,还可以包括:
将缓存中存储的数据的数据标识,推送给对文件系统具有访问权限的每个客户端。
数据标识与数据一一对应,能够唯一的表示相应的数据,而位于缓存中的数据可供客户端实现快速访问;因此为了对文件系统具有访问权限的每个客户端能够获知可快速访问的数据,本申请实施例可以将缓存中存储的数据的数据标识均推送给对文件系统具有访问权限的每个客户端,便于客户端实现相应的数据读取。
在一种具体应用场景中,本申请实施例提供的一种文件读取方法可以如图2所示,包括如下步骤:
1)NFS进程接收到请求解码并判断是否是读请求,如果不是则继续等待,如果是读请求则进行下一步;
2)记录该读请求需要的读取的文件、位置、长度等读信息到read_info_list链表(信息链表)中;
3)根据要读的文件、位置和长度,从缓存中查询是否之前已经读取到缓存中,如果已经读过,则直接将这些数据返回给客户端,否则进行下一步;
4)等待一段时间(事先设定这个时间段的值,比如10ms);
5)判断这段时间内针对任一文件的读请求的数量(请求次数)是否达到或者超过相应阈值cnt_for_preread,如果达到则计算预读数据的位置及长度,并生成对应的读操作,根据全部读操作对应数据的位置合并读操作;
6)将合并后的所有读操作及无法合并的所有读操作均下发给文件系统,等待返回;
7)接收文件系统返回的数据存入缓存中;
8)根据每个读请求要读的位置及长度,从缓存中取数据并返回给客户端。
可见,本申请记录每个读请求的信息,用于读操作合并和确定是否需要预读数据及预读数据的位置;将位置相邻的读操作合并成一个,减少与文件系统的交互,提高性能;根据对读请求的统计预测可能会读到的文件及位置,提前读取到NFS的缓存中;通过读请求的统计、读操作的聚合及数据预读的方式,减少时间消耗,提高读文件的效率及性能。
本发明实施例还提供了一种文件读取装置,如图3所示,可以包括:
接收模块11,用于:接收客户端发送的读请求,并判断当前时刻是否达到预定时刻;
合并模块12,用于:如果当前时刻达到预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取文件系统返回的数据,并将文件系统返回的数据返回给相应的客户端;
等待模块13,用于:如果当前时刻未达到预定时刻,则等待至预定时刻。
本发明实施例提供的一种文件读取装置,还可以包括:
预读模块,用于:获取当前时刻之前预设时间段内接收的全部读请求之后,将当前具有的全部读操作下发给文件系统之前,如果对应数据均位于任一文件的读请求的数量达到数量阈值,则确定该任一文本为目标文件,生成与目标文件中未被读取且未与读请求对应的预设长度的数据对应的读操作,并在与该读操作存在对应数据的位置相邻的其他读操作时,将该读操作及与该读操作对应数据的位置相邻的其他读操作进行合并。
本发明实施例提供的一种文件读取装置,预读模块可以包括:
生成单元,用于:确定目标文件中与读请求对应的全部数据中位于最大长度的连续的位置的数据为目标数据,确定目标文件中位于目标数据之后的与目标数据位置相邻的未被读取且未与读请求对应的预设长度的数据为预读数据,生成与预读数据对应的读操作。
本发明实施例提供的一种文件读取装置,还可以包括:
记录模块,用于:接收客户端发送的读请求之后,将读请求对应数据所在的文件、所在的文件中位置及所在的文件中位置的长度均记录到预先设置的信息链表中;
对应的,合并模块可以包括:
返回单元,用于:按照信息链表中记录的信息,将文件系统返回的数据返回给相应的客户端。
本发明实施例提供的一种文件读取装置,还可以包括:
判断模块,用于:判断当前时刻是否达到预定时刻之前,判断缓存中是否存在与当前接收的读请求对应的数据,如果是,则由缓存中获取相应的数据并返回给相应的客户端,如果否,则执行判断当前时刻是否达到预定时刻的步骤;
缓存模块,用于:获取文件系统返回的数据之后,将文件系统返回的数据存储至缓存中。
本发明实施例提供的一种文件读取装置,还可以包括:
监控模块,用于:实时监控缓存中存储的数据,如果缓存中存储的任一数据在缓存中存储的时长达到时长阈值和/或该任一数据在文件系统中发生改变,则从缓存中删除该任一数据。
本发明实施例提供的一种文件读取装置,还可以包括:
推送模块,用于:将缓存中存储的数据的数据标识,推送给对文件系统具有访问权限的每个客户端。
本发明实施例还提供了一种文件读取设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项文件读取方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上任一项文件读取方法的步骤。
需要说明的是,本发明实施例提供的一种文件读取装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种文件读取方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种文件读取方法,其特征在于,包括:
接收客户端发送的读请求,并判断当前时刻是否达到预定时刻;
如果当前时刻达到所述预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取所述文件系统返回的数据,并将所述文件系统返回的数据返回给相应的客户端;
如果当前时刻未达到所述预定时刻,则等待至所述预定时刻。
2.根据权利要求1所述的方法,其特征在于,获取当前时刻之前预设时间段内接收的全部读请求之后,将当前具有的全部读操作下发给文件系统之前,还包括:
如果对应数据均位于任一文件的读请求的数量达到数量阈值,则确定该任一文本为目标文件,生成与所述目标文件中未被读取且未与所述读请求对应的预设长度的数据对应的读操作,并在与该读操作存在对应数据的位置相邻的其他读操作时,将该读操作及与该读操作对应数据的位置相邻的其他读操作进行合并。
3.根据权利要求2所述的方法,其特征在于,生成与所述目标文件中未被读取且未与所述读请求对应的预设长度的数据对应的读操作,包括:
确定所述目标文件中与所述读请求对应的全部数据中位于最大长度的连续的位置的数据为目标数据,确定所述目标文件中位于所述目标数据之后的与所述目标数据位置相邻的未被读取且未与所述读请求对应的预设长度的数据为预读数据,生成与所述预读数据对应的读操作。
4.根据权利要求3所述的方法,其特征在于,接收客户端发送的读请求之后,还包括:
将所述读请求对应数据所在的文件、所在的文件中位置及所在的文件中位置的长度均记录到预先设置的信息链表中;
对应的,将所述文件系统返回的数据返回给相应的客户端,包括:
按照所述信息链表中记录的信息,将所述文件系统返回的数据返回给相应的客户端。
5.根据权利要求4所述的方法,其特征在于,判断当前时刻是否达到预定时刻之前,还包括:
判断缓存中是否存在与当前接收的读请求对应的数据,如果是,则由所述缓存中获取相应的数据并返回给相应的客户端,如果否,则执行判断当前时刻是否达到预定时刻的步骤;
对应的,获取所述文件系统返回的数据之后,还包括:
将所述文件系统返回的数据存储至所述缓存中。
6.根据权利要求5所述的方法,其特征在于,还包括:
实时监控所述缓存中存储的数据,如果所述缓存中存储的任一数据在所述缓存中存储的时长达到时长阈值和/或该任一数据在所述文件系统中发生改变,则从所述缓存中删除该任一数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
将所述缓存中存储的数据的数据标识,推送给对所述文件系统具有访问权限的每个客户端。
8.一种文件读取装置,其特征在于,包括:
接收模块,用于:接收客户端发送的读请求,并判断当前时刻是否达到预定时刻;
合并模块,用于:如果当前时刻达到所述预定时刻,则获取当前时刻之前预设时间段内接收的全部读请求,将对应数据的位置相邻的读请求对应的读操作进行合并,将当前具有的全部读操作下发给文件系统,获取所述文件系统返回的数据,并将所述文件系统返回的数据返回给相应的客户端;
等待模块,用于:如果当前时刻未达到所述预定时刻,则等待至所述预定时刻。
9.一种文件读取设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述文件读取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述文件读取方法的步骤。
CN202010724303.3A 2020-07-24 2020-07-24 一种文件读取方法、装置、设备及存储介质 Active CN111881096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010724303.3A CN111881096B (zh) 2020-07-24 2020-07-24 一种文件读取方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010724303.3A CN111881096B (zh) 2020-07-24 2020-07-24 一种文件读取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111881096A true CN111881096A (zh) 2020-11-03
CN111881096B CN111881096B (zh) 2022-06-17

Family

ID=73201618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010724303.3A Active CN111881096B (zh) 2020-07-24 2020-07-24 一种文件读取方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111881096B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685363A (zh) * 2020-12-30 2021-04-20 湖南博匠信息科技有限公司 一种用户文件读取、写入方法及装置
CN112732197A (zh) * 2021-01-14 2021-04-30 苏州浪潮智能科技有限公司 一种数据io的处理方法、装置、存储介质及设备
CN113254415A (zh) * 2021-05-19 2021-08-13 浪潮商用机器有限公司 一种分布式文件系统读请求处理方法及装置
CN114564154A (zh) * 2022-03-01 2022-05-31 苏州浪潮智能科技有限公司 一种基于分布式存储的数据读取方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902473A (zh) * 2012-12-31 2014-07-02 华为技术有限公司 一种数据处理方法及数据缓存系统
CN105094701A (zh) * 2015-07-20 2015-11-25 浪潮(北京)电子信息产业有限公司 一种自适应预读方法及装置
CN106161503A (zh) * 2015-03-27 2016-11-23 中兴通讯股份有限公司 一种分布式存储系统中的文件读取方法及服务端
CN106951301A (zh) * 2017-04-27 2017-07-14 腾讯科技(深圳)有限公司 文件预读方法及装置
CN107943413A (zh) * 2017-10-12 2018-04-20 记忆科技(深圳)有限公司 一种固态硬盘提升读性能的方法
US20180349095A1 (en) * 2017-06-06 2018-12-06 ScaleFlux, Inc. Log-structured merge tree based data storage architecture
CN108959519A (zh) * 2018-06-28 2018-12-07 郑州云海信息技术有限公司 一种读取数据的方法、装置和计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902473A (zh) * 2012-12-31 2014-07-02 华为技术有限公司 一种数据处理方法及数据缓存系统
CN106161503A (zh) * 2015-03-27 2016-11-23 中兴通讯股份有限公司 一种分布式存储系统中的文件读取方法及服务端
CN105094701A (zh) * 2015-07-20 2015-11-25 浪潮(北京)电子信息产业有限公司 一种自适应预读方法及装置
CN106951301A (zh) * 2017-04-27 2017-07-14 腾讯科技(深圳)有限公司 文件预读方法及装置
US20180349095A1 (en) * 2017-06-06 2018-12-06 ScaleFlux, Inc. Log-structured merge tree based data storage architecture
CN107943413A (zh) * 2017-10-12 2018-04-20 记忆科技(深圳)有限公司 一种固态硬盘提升读性能的方法
CN108959519A (zh) * 2018-06-28 2018-12-07 郑州云海信息技术有限公司 一种读取数据的方法、装置和计算机可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112685363A (zh) * 2020-12-30 2021-04-20 湖南博匠信息科技有限公司 一种用户文件读取、写入方法及装置
CN112732197A (zh) * 2021-01-14 2021-04-30 苏州浪潮智能科技有限公司 一种数据io的处理方法、装置、存储介质及设备
CN113254415A (zh) * 2021-05-19 2021-08-13 浪潮商用机器有限公司 一种分布式文件系统读请求处理方法及装置
CN114564154A (zh) * 2022-03-01 2022-05-31 苏州浪潮智能科技有限公司 一种基于分布式存储的数据读取方法
CN114564154B (zh) * 2022-03-01 2023-08-18 苏州浪潮智能科技有限公司 一种基于分布式存储的数据读取方法

Also Published As

Publication number Publication date
CN111881096B (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
CN111881096B (zh) 一种文件读取方法、装置、设备及存储介质
CN108319654B (zh) 计算系统、冷热数据分离方法及装置、计算机可读存储介质
CN110046133B (zh) 一种存储文件系统的元数据管理方法、装置及系统
US8418003B2 (en) Log collecting apparatus, program, method, and system
CN110109953B (zh) 一种数据查询方法、装置及设备
US6832227B2 (en) Database management program, a database managing method and an apparatus therefor
US10649905B2 (en) Method and apparatus for storing data
GB2518158A (en) Method and system for data access in a storage infrastructure
CN107197359B (zh) 视频文件缓存方法及装置
CN111339143A (zh) 数据缓存方法、装置及云服务器
CN111061752B (zh) 数据处理方法、装置及电子设备
CN111026728A (zh) 一种日志数据处理方法及相关装置
CN112269534A (zh) 一种数据读取方法、装置、设备及计算机可读存储介质
CN112148690A (zh) 一种文件缓存方法、文件访问请求处理方法及装置
CN110908965A (zh) 一种对象存储管理方法、装置、设备及存储介质
CN113687781A (zh) 一种热数据的上拉方法、装置、设备及介质
CN111913913B (zh) 访问请求的处理方法和装置
CN113726341B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN107665235B (zh) 缓存处理方法、装置、计算机设备和存储介质
CN113438302A (zh) 动态资源多级缓存方法、系统、计算机设备及存储介质
CN111694806A (zh) 一种事务日志的缓存方法、装置、设备和存储介质
CN110334073A (zh) 一种元数据预取方法、装置、终端、服务器及存储介质
CN110019362B (zh) 一种访问数据库的方法及装置
CN114461590A (zh) 一种基于关联规则的数据库文件页预取方法及装置
CN112597354A (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
GR01 Patent grant
GR01 Patent grant