一种面向远端海量数据文件预读的方法及设备与流程

专利2022-06-29  65

本发明属于计算机
技术领域
:,尤其涉及一种面向远端海量数据文件预读的方法及设备。
背景技术
::文件预读是指在顺序读取文件时提前将数据读取到缓存区,在下次读取时可以在缓存区直接读出数据,以提高文件的读性能。结构化的i/o请求指输入数据/输出数据请求中包括文件路径、文件类型、i/o请求类型等信息;磁盘i/o请求指输入数据/输出数据请求中不包括文件路径、文件类型、i/o请求类型等这些信息。现有的预读文件方法是通过当前读取文件的目录获取列表信息,进而读取目录下所有小于预设文件大小的文件到缓存中;或者通过预读数据到文件缓存中。然而这些预读文件方法都需要知道文件路径,才能准确找到预读文件,因此只能响应结构化的i/o请求,对于磁盘i/o请求无法确定预读文件,不能将所需文件提取至缓存区。技术实现要素:有鉴于此,本发明实施例提供了一种面向远端海量数据文件预读的方法及设备,以解决现有技术中,采用现有的预读文件方法进行文件预读时,对于磁盘i/o请求无法确定预读文件,不能将所需预读文件提取至缓存区的问题。本发明实施例的第一方面提供了一种面向远端海量数据文件预读的方法,包括:获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例的第二方面提供了一种面向远端海量数据文件预读的设备,该设备包括:获取单元,用于获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;查找单元,用于基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;解析单元,用于解析所述目标索引信息,得到所述目标预读文件的数据地址信息;读取单元,用于基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例的第三方面提供了另一种面向远端海量数据文件预读的设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持设备执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行以下步骤:获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例提供的一种面向远端海量数据文件预读的方法及设备具有以下有益效果:本发明实施例,通过获取终端发送的读取请求;基于所述偏移量查找所述目标预读文件的目标索引信息;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例,对于不包含文件路径、文件类型等信息的磁盘i/o请求,可通过请求中的偏移量确定索引信息,对索引信息进行解析得到预读文件的数据地址信息,根据数据地址信息读取预读文件的文件数据,并将文件数据缓存至服务器。本发明实施例不用依赖文件路径信息,也能确定预读文件地址,将预读文件数据提取至缓存区。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例提供的一种面向远端海量数据文件预读的方法的实现流程图;图2是本发明另一实施例提供的一种面向远端海量数据文件预读的方法的实现流程图;图3是本发明一实施例提供的一种面向远端海量数据文件预读的设备的示意图;图4是本发明另一实施例提供的一种面向远端海量数据文件预读的设备的示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。请参见图1,图1是本发明实施例提供的一种面向远端海量数据文件预读的方法的示意流程图。本实施例中文件预读方法的执行主体为面向远端海量数据文件预读的设备,包括但不限于文件预读的终端或服务器等。如图1所示的文件预读方法可包括:s101:获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量。服务器获取终端发送的读取请求。具体地,服务器接收终端发送的读取请求,或者服务器自行检测是否有终端发送的读取请求信息,当检测到终端发送的读取请求时,提取读取请求信息。其中,读取请求为磁盘i/o请求,即不包括文件路径、文件类型、i/o请求类型等这些信息的输入数据/输出数据请求。读取请求可以包括请求获取的目标预读文件的偏移量、目标预读文件大小、目标预读文件数据存储所占长度等。读取请求的数量可以为一个,也可以为多个;读取请求获取的目标预读文件可以为一个,也可以为多个。读取请求的数量、内容等以服务器获取到的实际情况为准,对此不做限定。s102:基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点。目标索引信息由服务器解析终端的文件系统获得,目标索引信息包括目标预读文件的索引节点。其中,文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;索引节点用于存放档案及目录的基本信息,包含时间、档名、使用者及群组等。具体地,服务器运行文件系统解析线程,通过文件系统解析线程解析文件系统,得到文件系统中所有文件的索引信息以及所述索引信息各自标识的文件对应的文件数据的首地址偏移量,索引信息包括各个文件的索引节点。基于所述偏移量查找所述目标预读文件的目标索引信息,具体可以是服务器获取读取请求中请求获取的目标预读文件的偏移量,根据目标预读文件的偏移量查找目标预读文件的目标索引信息。例如,服务器遍历解析文件系统获得的所有文件的索引信息各自标识的文件对应的文件数据的首地址偏移量,在所有首地址偏移量中查找与目标预读文件的偏移量相同的首地址偏移量,再查找与目标预读文件的偏移量相同的首地址偏移量关联的文件,获取该文件的索引信息;或者,服务器在数据库中查找与目标预读文件的偏移量相同的目标首地址偏移量,当找到与目标预读文件的偏移量相同的目标首地址偏移量时,查找目标首地址偏移量关联的目标预读文件,获取目标预读文件的目标索引信息。其中,数据库中存储了服务器解析文件系统得到的所有文件的索引信息以及索引信息各自标识的文件对应的文件数据的首地址偏移量。s103:解析所述目标索引信息,得到所述目标预读文件的数据地址信息。目标索引信息包括目标预读文件的索引节点。服务器获取目标索引信息中的索引节点,并解析所述索引节点,得到目标预读文件的数据地址信息。如分析所述索引节点的数据结构,获取索引节点数据结构的具体内得到目标预读文件的数据地址信息;或者分析所述索引节点,获取该索引节点对应的文件的元数据信息,得到所述目标预读文件的数据地址信息。其中,元数据信息可以包括文件偏移地址以及文件数据量,或者包括文件数据存储的起始地址以及结束地址,或者包括文件数据存储的起始位以及文件数据存储的长度等。进一步地,s103可以包括s1031-s1032,具体如下:s1031:解析所述目标索引信息获取目标索引信息中的所述索引节点。服务器解析目标索引信息获取目标索引信息中的索引节点。具体地,服务器解析目标索引信息,提取目标索引信息中的索引节点。s1032:基于所述索引节点获取所述索引节点对应的文件的元数据信息;所述元数据信息包括文件偏移地址以及文件数据量。服务器解析索引节点,获取索引节点对应的文件的元数据信息。具体地,服务器根据索引节点包含的用于存放文件、档案、目录等的基本信息,获取索引节点对应的文件的元数据信息。元数据信息可以包括文件偏移地址以及文件数据量,或者包括文件数据存储的起始地址以及结束地址,或者包括文件数据存储的起始位以及文件数据存储的长度等。进一步地,为了使缓存至服务器的文件数据更完整,服务器在获取索引节点对应的文件的元数据信息时,还可以获取该文件所属的父目录内其余文件的元数据信息。具体地,服务器通过解析索引节点获取该文件父目录的索引节点,解析所述父目录的索引节点,获取父目录内除目标预读文件外其余所有文件的元数据信息。如服务器解析索引节点,获取索引节点对应的文件的元数据信息,根据元数据信息包括的文件偏移地址以及文件数据量,确定目标预读文件的具体数据地址信息,查找所述数据地址信息的上一级信息,即目标预读文件的父目录信息。获取父目录的索引节点,并解析父目录的索引节点,得到父目录内所有文件各自的索引节点。由于目标预读文件的元数据信息已经获得,所以此时可剔除父目录内目标预读文件的索引节点。通过解析父目录内目标预读文件外其余所有文件各自对应的索引节点,得到父目录内其余所有文件的元数据信息。元数据信息可以包括文件偏移地址以及文件数据量,或者包括文件数据存储的起始地址以及结束地址,或者包括文件数据存储的起始位以及文件数据存储的长度等,可以根据计算文件偏移地址以及文件数据量,或者文件数据存储的起始地址以及结束地址,或者包括文件数据存储的起始位以及文件数据存储的长度确定文件的具体地址。s104:基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。服务器根据数据地址信息在云端读取目标预读文件的文件数据,并将文件数据缓存至服务器。具体地,根据元数据信息包括的文件偏移地址以及文件数据量,确定目标预读文件的具体位置,基于目标预读文件的具体位置在云端中查找到目标预读文件,并获取目标预读文件的具体文件数据,将文件数据缓存至服务器,也可将文件数据缓存至本地存储系统。进一步地,当服务器还获取了目标预读文件所属的父目录内,其余文件的元数据信息时,可根据这些元数据信息确定父目录内其余文件的具体位置,在云端中查找这些文件,获取这些文件的具体文件数据,并将这些文件数据缓存至服务器,也可以缓存至本地存储系统。进一步地,s104可以包括s1041-s1043,具体如下:s1041:为所述数据信息创建地址标识,并将所述地址标识存储于数据传输队列中。服务器根据用户预设的对应关系获取目标预读文件的数据信息,并为目标预读文件的数据信息创建地址标识,并将地址标识存储于数据传输队列中。其中,预设对应关系用于服务器根据地址信息从云端获取所述目标预读文件的数据信息。地址标识用于标识目标预读文件的数据信息具体存储的位置,地址标识的形式可以是字母、字符、数字、自定义名称等,用户可根据实际情况进行设置,对此不做限定。数据传输队列是服务器在与云端进行数据交互时创建的队列,可用于传输数据或者存放地址标识。为了加快传输数据速率,也可提前创建数据传输队列,如在服务器解析文件系统时就创建数据传输队列。服务器也可将获取到的数据信息按照数据量进行平均分段或者随机分段,并按照分段的顺序为每一段数据信息创建与之对应的段地址标识,将每一段数据信息的段地址标识存储于数据传输队列中。段地址标识用于标识目标预读文件的每一段数据信息具体存储的位置,段地址标识的形式可以是字母、字符、数字、自定义名称等,用户可根据实际情况进行设置,对此不做限定。s1042:当在所述数据传输队列中检测到所述地址标识时,通过预读线程从所述云端读取所述地址标识对应的文件数据。服务器在数据传输队列中检测到地址标识时,通过服务器中的预读线程在云端中读取地址标识对应的文件数据。具体地,服务器根据地址标识表示的文件数据在云端中的位置查找文件数据,并启动预读线程读取该文件数据。当服务器在数据传输队列中未检测到地址标识时,则发出休眠指令使预读线程进入休眠状态。进一步地,为了提高读取文件数据的效率,用户可根据实际情况设置服务器在数据传输队列中检测地址标识的周期,例如,可设置每一秒检测一次、每两秒检测一次等,对此不做限制。预读线程用于读取云端中的文件数据,可在服务器与云端进行数据交互时创建,也可在服务器解析文件系统时创建。预读线程的数量可以是一个,也可以是多个。例如,当服务器将获取到的数据信息按照数据量进行平均分段或者随机分段,并按照分段的顺序为每一段数据信息创建与之对应的段地址标识,将每一段数据信息的段地址标识存储于数据传输队列中时,就可创建多个预读线程。服务器在数据传输队列中检测到段地址标识时,通过多个预读线程依次去读取各个段地址标识对应的各段数据,并按照各个预读线程读取数据的顺序,将读取到的各段数据进行组合,得到目标预读文件的文件数据。s1043:将所述文件数据缓存至服务器。服务器将通过预读线程从云端读取到的文件数据缓存至服务器,或者缓存至本地数据库。本发明实施例,通过获取终端发送的读取请求;基于所述偏移量查找所述目标预读文件的目标索引信息;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例,对于不包含文件路径、文件类型等信息的磁盘i/o请求,可通过请求中的偏移量确定索引信息,对索引信息进行解析得到预读文件的数据地址信息,根据数据地址信息读取预读文件的文件数据,并将文件数据缓存至服务器。本发明实施例不用依赖文件路径信息,也能确定预读文件地址,将预读文件数据提取至缓存区。请参见图2,图2是本发明实施例提供的一种面向远端海量数据文件预读的方法的示意流程图。本实施例中文件预读方法的执行主体为面向远端海量数据文件预读的设备,包括但不限于文件预读的终端或服务器等。为了加快处理读取请求,提升读取预读文件的速率,本实施例与上一实施例的区别为,在s204之前还可以包括s202-s203。本实施例中s201、s204-s206与图1对应的实施例中的s101、s102-s104完全相同,具体请参阅图1对应的实施例中s101、s102-s104的相关描述,此处不赘述。值得说明的是,s202-s203只需在s204:基于所述偏移量查找所述目标预读文件的目标索引信息之前执行即可,s202-s203也可在s201前执行,对此不做限定。为了加快处理读取请求,提升读取预读文件的速率,在s204之前还可包括s202-s203,s202-s203具体如下:s202:当检测到数据写入请求次数达到预设阈值时,解析所述终端的文件系统,得到文件信息集合;所述文件信息集合包括所述文件系统中所有文件的索引信息以及所述索引信息各自标识的文件对应的文件数据的首地址偏移量。当检测到数据写入请求次数达到预设阈值时,解析终端的文件系统,得到文件信息集合。其中,文件信息集合可以包括文件系统中所有文件的索引信息以及每个索引信息各自标识的文件对应的文件数据的首地址偏移量。具体地,终端的文件系统在接收到数据写入请求时,将该请求发送至服务器,服务器记录收到数据写入请求的次数。当接收到数据写入请求的次数达到预设阈值时,服务器启动文件系统解析线程解析终端的文件系统,得到文件信息集合。预设阈值为用户根据实际情况设置的收到数据写入请求的次数,预设阈值可以为一次、两次、五次等,对此不做限制。进一步地,为了避免服务器频繁解析终端的文件系统,还可设置服务器解析文件系统的时间周期。如可以设置为,服务器的解析时间周期满足第一预设阈值,且检测到数据写入请求次数满足第二预设阈值时,解析所述终端的文件系统,得到文件信息集合。第一预设阈值为用户根据实际情况设置的服务器解析文件系统的时间周期,第一预设阈值可以为每120秒解析一次、每60秒解析一次等,对此不做限制。第二预设阈值为用户根据实际情况设置的收到数据写入请求的次数,第二预设阈值可以为一次、两次、五次等,对此不做限制。进一步地,所述文件系统包括目标类型标识。文件系统包括目标类型标识,目标类型标识用于标明该文件系统的类型。服务器在解析文件系统时,可以通过获取文件的目标类型标识,确定该文件系统所属的类型。进一步地,当文件系统包括目标类型标识时,s202可以包括s2021-s2022,具体如下:s2021:基于类型标识与解析方法之间的预设对应关系,确定所述目标类型标识对应的目标解析方法。类型标识与解析方法的对应关系具体可以为用户预先设置好的对应关系,每一个类型标识都有与之唯一对应的解析方法,可根据类型标识与解析方法之间的预设对应关系,确定目标类型标识对应的目标解析方法。例如,文件系统的类型标识可以为日志文件系统xfs、windowsnt环境的文件系统(newtechnologyfilesystem,ntfs)、光盘文件系统(compactdiscfilesystem,cdfs)、文件配置表(fileallocationtable,fat)等,对应的解析方法可以为xfs解析方法、ntfs解析方法、cdfs解析方法、fat解析方法等。s2022:采用所述目标解析方法解析所述文件系统,得到文件信息集合。根据获取到的与目标类型标识对应的目标解析方法,解析终端的文件系统,得到文件系统内所有文件的索引信息以及每个索引信息各自标识的文件对应的文件数据的首地址偏移量,即文件信息集合。例如,当目标类型标识为xfs时,与之对应的解析方法为xfs解析方法,通过xfs解析方法解析该文件系统。具体地,通过解析xfs文件系统硬盘分区开头的部分数据获取该文件系统根目录的block,解析block对应的数据结构获取根目录的索引节点,解析根目录的索引节点获取根目录下所有一级子目录、文件以及链接的索引信息。若索引信息为目录的索引信息,根据一级子目录的索引信息解析一级子目录下所有二级子目录、文件以及链接,获取二级子目录、文件以及链接的索引信息,并根据获取到的二级子目录的索引信息继续解析解析三级子目录,直到解析至没有子目录。若索引信息为文件的索引信息,则解析文件索引信息获取该文件的首地址偏移量。其中,block是数据库中最小存储和处理单位,包含块本身的头信息数据。若索引信息为链接的索引信息或者其他非文件、非目录的索引信息,则跳过该索引信息,不进行处理。s203:将所述文件信息集合存储至本地数据库中。服务器将获取到的文件系统内所有文件的索引信息以及每个索引信息各自标识的文件对应的文件数据的首地址偏移量存储至本地数据库中。s204:基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点。本实施例中s204与上一实施例中的s102完全相同,具体请参阅上一实施例中s102的相关描述,此处不赘述。进一步地,s204可以包括s2041-s2042,具体如下:s2041:在所述本地数据库中查找与所述偏移量相同的目标首地址偏移量。本地数据库中存储有服务器解析文件系统得到的所有文件的索引信息以及所述索引信息各自标识的文件对应的文件数据的首地址偏移量。服务器基于目标预读文件的偏移量在本地数据库中查找与该偏移量相同的目标首地址偏移量。s2042:基于所述目标首地址偏移量确定所述目标索引信息。当在本地数据库中查找到与目标预读文件的偏移量相同的目标首地址偏移量时,在本地数据库中查找目标首地址偏移量关联的目标预读文件,并获取目标预读文件的目标索引信息。当在数据库中未查找到与目标预读文件的偏移量相同的目标首地址偏移量时,服务器可以不处理所述读取请求,也可以给终端发送未查找到目标预读文件或者未查找到目标索引信息的响应消息。本发明实施例,通过获取终端发送的读取请求;基于所述偏移量查找所述目标预读文件的目标索引信息;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例,对于不包含文件路径、文件类型等信息的磁盘i/o请求,可通过请求中的偏移量确定索引信息,对索引信息进行解析得到预读文件的数据地址信息,根据数据地址信息读取预读文件的文件数据,并将文件数据缓存至服务器。本发明实施例不用依赖文件路径信息,也能确定预读文件地址,将预读文件数据提取至缓存区。请参见图3,图3是本发明一实施例提供的一种面向远端海量数据文件预读的设备的示意图。面向远端海量数据文件预读的设备包括的各单元用于执行图1、图2对应的实施例中的各步骤。具体请参阅图1、图2各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,面向远端海量数据文件预读的设备3包括:获取单元310,用于获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;查找单元320,用于基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;解析单元330,用于解析所述目标索引信息,得到所述目标预读文件的数据地址信息;读取单元340,用于基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。进一步地,面向远端海量数据文件预读的设备还包括:文件系统解析单元,用于当检测到数据写入请求次数达到预设阈值时,解析所述终端的文件系统,得到文件信息集合;所述文件信息集合包括所述文件系统中所有文件的索引信息以及所述索引信息各自标识的文件对应的文件数据的首地址偏移量;存储单元,用于将所述文件信息集合存储至本地数据库中。进一步地,所述文件系统包括目标类型标识;文件系统解析单元具体用于:基于类型标识与解析方法之间的预设对应关系,确定所述目标类型标识对应的目标解析方法;采用所述目标解析方法解析所述文件系统,得到文件信息集合。进一步地,查找单元具体用于:在所述本地数据库中查找与所述偏移量相同的目标首地址偏移量;基于所述目标首地址偏移量确定所述目标索引信息。进一步地,解析单元具体用于:解析所述目标索引信息获取目标索引信息中的所述索引节点;基于所述索引节点获取所述索引节点对应的文件的元数据信息;所述元数据信息包括文件偏移地址以及文件数据量。进一步地,读取单元具体用于:为所述数据信息创建地址标识,并将所述地址标识存储于数据传输队列中;当在所述数据传输队列中检测到所述地址标识时,通过预读线程从所述云端读取所述地址标识对应的文件数据;将所述文件数据缓存至服务器。请参见图4,图4是本发明另一实施例提供的一种面向远端海量数据文件预读的设备的示意图。如图4所示,该实施例的面向远端海量数据文件预读的设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个设备文件预读方法实施例中的步骤,例如图1所示的s101至s104。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示单元310至340功能。示例性的,所述计算机程序42可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述设备4中的执行过程。例如,所述计算机程序42可以被分割成获取单元、查找单元、解析单元以及读取单元,各单元具体功能如上所述。所述设备包括但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是设备4的示例,并不构成对设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述设备还可以包括输入输出设备、网络接入设备、总线等。所称处理器40可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述存储器41可以是所述设备4的内部存储单元,例如设备4的硬盘或内存。所述存储器41也可以是所述设备4的外部存储设备,例如所述设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括所述设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
技术特征:

1.一种面向远端海量数据文件预读的方法,其特征在于,包括:

获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;

基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;

解析所述目标索引信息,得到所述目标预读文件的数据地址信息;

基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。

2.如权利要求1所述的方法,其特征在于,所述基于所述偏移量从数据库中查找所述目标预读文件的目标索引信息之前,还包括:

当检测到数据写入请求次数达到预设阈值时,解析所述终端的文件系统,得到文件信息集合;所述文件信息集合包括所述文件系统中所有文件的索引信息以及所述索引信息各自标识的文件对应的文件数据的首地址偏移量;

将所述文件信息集合存储至本地数据库中。

3.如权利要求2所述的方法,其特征在于,所述基于所述偏移量从数据库中查找所述目标预读文件的目标索引信息,包括:

在所述本地数据库中查找与所述偏移量相同的目标首地址偏移量;

基于所述目标首地址偏移量确定所述目标索引信息。

4.如权利要求2所述的方法,其特征在于,所述文件系统包括目标类型标识;所述当检测到数据写入请求次数达到预设阈值时,解析所述终端的文件系统,得到文件信息集合,包括:

基于类型标识与解析方法之间的预设对应关系,确定所述目标类型标识对应的目标解析方法;

采用所述目标解析方法解析所述文件系统,得到文件信息集合。

5.如权利要求1所述的方法,其特征在于,所述解析所述目标索引信息,得到所述目标预读文件的数据地址信息,包括:

解析所述目标索引信息获取目标索引信息中的所述索引节点;

基于所述索引节点获取所述索引节点对应的文件的元数据信息;所述元数据信息包括文件偏移地址以及文件数据量。

6.如权利要求1所述的方法,其特征在于,所述基于所述数据地址信息在云端读取所述目标预读文件的数据信息,并将所述数据信息缓存至服务器,包括:

为所述数据信息创建地址标识,并将所述地址标识存储于数据传输队列中;

当在所述数据传输队列中检测到所述地址标识时,通过预读线程从所述云端读取所述地址标识对应的文件数据;

将所述文件数据缓存至服务器。

7.一种面向远端海量数据文件预读的设备,其特征在于,包括:

获取单元,用于获取终端发送的读取请求;所述读取请求包括请求获取的目标预读文件的偏移量;

查找单元,用于基于所述偏移量查找所述目标预读文件的目标索引信息;所述目标索引信息通过解析终端的文件系统获得;所述目标索引信息包括所述目标预读文件的索引节点;

解析单元,用于解析所述目标索引信息,得到所述目标预读文件的数据地址信息;

读取单元,用于基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。

8.如权利要求7所述的设备,其特征在于,所述查找单元具体用于:

在所述本地数据库中查找与所述偏移量相同的目标首地址偏移量;

基于所述目标首地址偏移量确定所述目标索引信息。

9.一种面向远端海量数据文件预读的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。

技术总结
本发明适用于计算机技术领域,提供了一种面向远端海量数据文件预读的方法及设备,该方法包括:获取终端发送的读取请求;基于所述偏移量查找所述目标预读文件的目标索引信息;解析所述目标索引信息,得到所述目标预读文件的数据地址信息;基于所述数据地址信息在云端读取所述目标预读文件的文件数据,并将所述文件数据缓存至服务器。本发明实施例,对于不包含文件路径、文件类型等信息的磁盘I/O请求,可通过请求中的偏移量确定索引信息,对索引信息进行解析得到预读文件的数据地址信息,根据数据地址信息读取预读文件的文件数据,并将文件数据缓存至服务器。本发明实施例不用依赖文件路径信息,也能确定预读文件地址,将预读文件数据提取至缓存区。

技术研发人员:高磊;高正;邹海锋;陈子光
受保护的技术使用者:深圳市远行科技股份有限公司
技术研发日:2019.03.22
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-26119.html

最新回复(0)