CN112783843A - 数据读取方法、装置及电子设备 - Google Patents

数据读取方法、装置及电子设备 Download PDF

Info

Publication number
CN112783843A
CN112783843A CN202011628612.7A CN202011628612A CN112783843A CN 112783843 A CN112783843 A CN 112783843A CN 202011628612 A CN202011628612 A CN 202011628612A CN 112783843 A CN112783843 A CN 112783843A
Authority
CN
China
Prior art keywords
data
cache space
target
reading
file system
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
Application number
CN202011628612.7A
Other languages
English (en)
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 Juyun Technology Co ltd
Original Assignee
Beijing Juyun 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 Juyun Technology Co ltd filed Critical Beijing Juyun Technology Co ltd
Priority to CN202011628612.7A priority Critical patent/CN112783843A/zh
Publication of CN112783843A publication Critical patent/CN112783843A/zh
Pending legal-status Critical Current

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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了数据读取方法、装置及电子设备,应用于数据处理技术领域。该方法包括:接收文件系统发送的数据请求;判断预设缓存空间中是否存储有目标数据集内的数据;若判断结果为是,从预设缓存空间中,读取向数据请求对应的待响应数据,否则,从对象存储系统中,读取数据请求对应的待响应数据;向文件系统反馈所读取到的待响应数据,以使文件系统在接收到待响应数据后向任务端反馈待响应数据。通过本方案,可以快速地进行数据读取。

Description

数据读取方法、装置及电子设备
技术领域
本发明涉及数据处理技术领域,特别是涉及数据读取方法、装置及电子设备。
背景技术
由文件系统和对象存储系统所构成的数据存储系统由于集合了文件系统和对象存储系统各自的优点,近年来被越来越广泛的使用。在该种存储结构的数据存储系统中,文件系统用于对存储在对象存储系统中的数据进行管理。
相关技术中,针对这种存储方式,如何快速地进行数据读取,是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种数据读取方法、装置及电子设备,以快速地进行数据读取。具体技术方案如下:
第一方面,本发明实施例提供了一种数据读取方法,应用于管理装置,所述管理装置与数据存储系统中的文件系统和对象存储系统相通信,且所述对象存储系统中存储有用于深度学习网络模型训练的多个数据集;所述方法包括:
接收文件系统发送的数据请求,其中,所述数据请求为所述文件系统在接收到训练任务端发送的训练数据获取请求时所发送的、用于从与所述文件系统对应的目标数据集中读取数据的请求,所述训练任务端为:用于对深度学习网络模型进行训练的任务端;
判断预设缓存空间中是否存储有所述目标数据集内的数据,其中,所述预设缓存空间为:为所述文件系统分配的缓存空间;
若判断结果为是,从所述预设缓存空间中,读取向所述数据请求对应的待响应数据,否则,从所述对象存储系统中,读取所述数据请求对应的待响应数据;
向所述文件系统反馈所读取到的待响应数据,以使所述文件系统在接收到所述待响应数据后向所述任务端反馈所述待响应数据。
可选的,所述数据请求中携带待读取的数据的数据标识;
所述从所述内存中,读取所述数据请求对应的待响应数据,包括:
判断所述预设缓存空间所存储的目标数据集内的数据中,是否包含所述数据标识所表示的目标数据;
当判断结果为是时,从所述预设缓存空间所存储的目标数据集内的数据中,读取所述目标数据,作为所述数据请求对应的待响应数据;
当判断结果为否时,按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据。
可选的,所述数据标识为:所述待读取的数据在所述文件系统中的目标数据路径;
在所述接收文件系统发送的数据请求之后,还包括:
基于预先建立的数据路径与对象标识之间的对应关系,确定与所述目标数据路径对应的目标对象标识,其中,与每一数据路径对应的对象标识为:所述文件系统中该数据路径下的数据在所述对象存储系统中的对象标识;
在按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据之后,所述方法还包括:
基于所述对象标识,从所述对象存储系统中获取所述目标数据,并在所述预设缓存空间中缓存所述目标数据。
可选的,在从存储有所述目标数据集的对象存储系统中,读取所述数据请求对应的待响应数据之后,所述方法还包括:
判断所述目标数据集的目标数据量是否大于所述预设缓存空间的大小,如果是,在所述预设缓存空间中缓存从所述对象存储系统中读取到的待响应数据,否则,在所述预设缓存空间中缓存所述对象存储系统中所述目标数据集的全部数据。
可选的,所述在所述预设缓存空间中缓存所述目标数据集的全部数据,包括:
通过调用预设数量个协程,从所述对象存储系统中读取所述目标数据集内的全部数据并将所读取的数据缓存进所述预设缓存空间中。
第二方面,本发明实施例提供了一种数据读取装置,应用于管理装置,所述管理装置与数据存储系统中的文件系统和对象存储系统相通信,且所述对象存储系统中存储有用于深度学习网络模型训练的多个数据集;所述装置包括:
请求接收模块,用于接收文件系统发送的数据请求,其中,所述数据请求为所述文件系统在接收到训练任务端发送的训练数据获取请求时所发送的、用于从与所述文件系统对应的目标数据集中读取数据的请求,所述训练任务端为:用于对深度学习网络模型进行训练的任务端;
数据判断模块,用于判断预设缓存空间中是否存储有所述目标数据集内的数据,其中,所述预设缓存空间为:为所述文件系统分配的缓存空间;
数据读取模块,用于若判断结果为是,从所述预设缓存空间中,读取向所述数据请求对应的待响应数据,否则,从所述对象存储系统中,读取所述数据请求对应的待响应数据;向所述文件系统反馈所读取到的待响应数据,以使所述文件系统在接收到所述待响应数据后向所述任务端反馈所述待响应数据。
可选的,所述数据请求中携带待读取的数据的数据标识;
所述数据读取模块,具体用于判断所述预设缓存空间所存储的目标数据集内的数据中,是否包含所述数据标识所表示的目标数据;当判断结果为是时,从所述预设缓存空间所存储的目标数据集内的数据中,读取所述目标数据,作为所述数据请求对应的待响应数据;当判断结果为否时,按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据。
可选的,所述数据标识为:所述待读取的数据在所述文件系统中的目标数据路径;
所述装置还包括:
对象标识确定模块,用于在所述请求接收模块接收文件系统发送的数据请求之后,基于预先建立的数据路径与对象标识之间的对应关系,确定与所述目标数据路径对应的目标对象标识,其中,与每一数据路径对应的对象标识为:所述文件系统中该数据路径下的数据在所述对象存储系统中的对象标识;
所述数据读取模块,还用于在按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据之后,基于所述对象标识,从所述对象存储系统中获取所述目标数据,并在所述预设缓存空间中缓存所述目标数据。
可选的,所述数据读取模块,还用于在所述从存储有所述目标数据集的对象存储系统中,读取所述数据请求对应的待响应数据之后,判断所述目标数据集的目标数据量是否大于所述预设缓存空间的大小,如果是,在所述预设缓存空间中缓存从所述对象存储系统中读取到的待响应数据,否则,在所述预设缓存空间中缓存所述对象存储系统中所述目标数据集的全部数据。
可选的,所述数据读取模块,具体用于通过调用预设数量个协程,从所述对象存储系统中读取所述目标数据集内的全部数据并将所读取的数据缓存进所述预设缓存空间中。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
本发明实施例有益效果:
本发明实施例所提供的数据读取方法中,当接收到针对目标数据集的数据请求后,先判断预设缓存空间中是否存储有目标数据集内的数据。如果预设缓存空间中存储有目标数据集内的数据,则从预设缓存空间中获取文件系统所需的数据,不必从对象存储系统中获取目标数据集内的数据。从而可以避免频繁的从对象存储系统中读取所需的数据,通过本方案可以快速地进行数据读取。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所
有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例所提供的数据读取系统的结构示意图;
图2为本发明实施例所提供的数据读取方法的流程图;
图3为本发明实施例所提供的数据读取方法的另一流程图;
图4为本发明实施例所提供的数据缓存方法的流流程图;
图5为本发明实施例所提供的结合实际业务场景的数据读取方法的示意图;
图6为本发明实施例所提供的数据读取装置的结构示意图;
图7为本发明实施例所提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高任务处理效率,本发明实施例提供了数据读取方法、装置及电子设备。
下面首先从管理装置的角度,对本发明实施例所提供的一种数据读取方法进行介绍。
其中,管理装置可以为任意具备数据处理能力的电子设备或电子设备中的功能模块,如可以为独立设置的缓存服务器或数据存储系统中的缓存管理器。并且,本发明实施例提供的数据处理方法可以通过软件、硬件或软硬件结合的方式实现
在一种实现方式中,本发明实施例还可以应用于数据存储系统中的功能模块。可选的,基于数据存储系统组织框架的不同,本发明实施例所提供的数据读取方法可以应用于数据存储系统中不同的功能模块。
示例性的,图1为本发明实施例提供的一种数据存储系统的结构示意图。包括:文件系统101、缓存管理器102和对象存储系统103。其中,对象存储103为以对象形式在磁盘中存储数据的数据库。数据连接器101则可以为用户空间文件系统(FUSE,Filesystem inUserspace)。本发明实施例中的管理装置,可以为图1所示数据存储系统中的缓存管理器102。
当训练任务端在任务执行期间需要获取训练数据时,任务端可以向文件系统101发送训练数据获取请求,文件系统101可以基于所接收到的训练数据获取请求向缓存管理器102发送用于从与文件系统对应的目标数据集中读取数据的数据请求,缓存管理器102接收到数据请求后,执行本发明实施例所提供的数据获取方法,从预设缓存空间或对象存储系统103读取数据请求对应的响应数据,并反馈响应数据。
如图2所示,本发明实施例提供的一种数据读取方法,可以包括如下步骤:
S201,接收文件系统发送的数据请求,其中,数据请求为文件系统在接收到训练任务端发送的训练数据获取请求时所发送的、用于从与文件系统对应的目标数据集中读取数据的请求,训练任务端为:用于对深度学习网络模型进行训练的任务端;
其中,在训练任务端对深度学习网络模型进行训练时,其在迭代的过程中,当需要从目标数据集中获取用于进行训练的训练数据,训练任务端可以向文件系统发送训练数据获取请求,该请求可以为获取指定数据路径下的数据用于训练的请求。在文件系统和存储系统所构成的数据系统中,文件系统自身不存储数据,其只用于作为对用户或任务端的交互层,方便用户或任务端对所存储的数据进行管理,故而,文件系统在接收到训练数据获取请求后,可以训练数据获取请求所请求的数据,向管理装置发送数据请求,以请求训练任务端所需的数据。
需要说明的是,每一目标数据集对应一个文件系统,该与目标数据集对应的文件系统只用于对目标数据集内的数据进行管理。
本发明实施例所提及的数据可以为图像、文本、音频、视频等任意类型的数据,本发明对此不作具体限定。
本发明实施例中,数据集可以为具有相同属性的数据集合。例如,针对深度网络模型训练所构建的样本集合,如人脸样本图像集合、音频样本集合等。
可选的,在一种实现方式中,上述数据请求中可以携带数据集标识,该数据集标识所表示的数据集为目标数据集。可选的,在另一种实现方式中,上述数据请求中可以携带数据标识,该数据标识所表示数据所在的数据集既为目标数据集。可选的,上述数据请求中可以同时携带数据标识和数据集标识,上述数据标识可以为待读取的数据在文件系统中的目标数据路径,这也是可以的。
S202,判断预设缓存空间中是否存储有目标数据集内的数据,其中,预设缓存空间为:为文件系统分配的缓存空间;
其中,在一种实现方式中,可以预先获取文件系统的预设缓存空间的大小时,可以基于预设缓存空间阈值为文件系统分配可用的缓存空间。其中文件系统的的预设缓存空间的大小可以由调度器或者用户手动指定,从而可以预先从配置文件中获取文件系统的预设缓存空间的大小。
在获取数据请求对应的响应数据之前,可以先确定预设缓存空间中是否存储有目标数据集内的数据。
可选的,在一种实现方式中,预设缓存空间可以单个也可以为多个。当预设缓存空间为单个时,则可仅判断该单个预设缓存空间中是否存储有目标数据集内的数据。可选的,在另一种实现方式中,当预设缓存空间为多个、且采用多级缓存逻辑时,可以针对每个预设缓存空间均判断是否存储有目标数据集内的数据,当任意一个预设缓存空间中存储有目标数据集内的数据时,既判断预设缓存空间中存储有目标数据集内的数据。反之,当多个预设缓存空间均未存储目标数据集内的数据时,既判断预设缓存空间中未存储目标数据集内的数据。
上述判断预设缓存空间中是否存储有目标数据集内的数据的实现方式可以基于目标数据集的数据集标识进行判断,可选的,在一种实现方式中,基于目标数据集的数据集标识对预设缓存空间中数据进行筛选,当筛选出所属数据集的数据集标识和目标数据集的数据集标识相同的数据时,则判定预设缓存空间中存储有目标数据集内的数据。反之,则判定预设缓存空间中未存储目标数据集内的数据。
当判定预设缓存空间中存储有目标数据集内的数据时,执行步骤S203。当判定预设缓存空间中未存储目标数据集内的数据时,执行步骤S204。
S203,从预设缓存空间中,读取向数据请求对应的待响应数据;
其中,为了减少获取数据的时间,当判定预设缓存空间中存储有目标数据集内的数据时,则不必从对象存储系统中获取目标数据集内的数据,可以直接从预设缓存空间中获取目标数据集内的数据,作为数据请求对应的响应数据。
可选的,在一种实现方式中,可以从预设缓存空间所包含的目标数据集内的数据中,等概率的选择出一个或多个数据,作为数据请求的响应数据。或者,在另一个实施例中,可以按照预设的筛选规则从预设缓存空间所包含的目标数据集内的数据中筛选出一个或多个数据,作为数据请求对应的响应数据。
S204,从对象存储系统中,读取数据请求对应的待响应数据;
其中,当判定预设缓存空间中未存储目标数据集内的数据时,则需要从对象存储系统中获取数据请求对应的响应数据。
从对象存储系统中获取数据请求对应的响应数据的方式基于对象存储系统的存储形式的不同而不同。
可选的,当对象存储系统为对象存储时,对象存储系统中目标数据集中的数据以对象的形式存储。在一种实现方式中,可以随机获取目标数据集内任意一个或多个数据的数据标识,并基于所获取的数据标识,从对象存储系统所存储的各数据中,查找以所获取数据标识作为键值的数据,作为数据请求对应的响应数据。
S205,向文件系统反馈所读取到的待响应数据,以使文件系统在接收到待响应数据后向任务端反馈待响应数据。
其中,在获取到响应数据后,即可将所获取的响应数据反馈至文件系统。
本实施例所提供的方案中,当接收到针对目标数据集的数据请求后,先判断预设缓存空间中是否存储有目标数据集内的数据。如果预设缓存空间中存储有目标数据集内的数据,则从预设缓存空间中获取文件系统所需的数据,不必从对象存储系统中获取目标数据集内的数据。从而可以避免频繁的从对象存储系统中读取所需的数据,通过本方案可以快速地进行数据读取。
可选地,在另一种实现方式中,数据读取请求中可以携带数据标识。例如,数据请求中可以携带数据名称、数据对应的数据ID(Identity document,身份证标识号)等数据标识。
那么,基于图2的实施例,如图3所示,本发明的另一实施例所提供的数据读取方法,上述步骤S203可以包括如下步骤:
S203A,判断预设缓存空间所存储的目标数据集内的数据中,是否包含数据标识所表示的目标数据;
其中,当预设缓存空间存储有目标数据集内的数据时,预设缓存空间包含的目标数据集内的数据中可能包含目标数据,也可能不包含目标数据。
基于判断预设缓存空间中是否存储目标数据集内的数据的不同方式,可以采用不同的方式判定预设缓存空间所包含的目标数据集内的数据中是否包含数据标识所表示的目标数据。
可选的,当基于目标数据集的数据集标识判断预设缓存空间中是否存储有目标数据集内的数据时,可以基于数据请求中携带的数据标识对预设缓存空间包含的目标数据集的数据进行筛选。若筛选出数据标识与数据请求中携带的数据标识相同的数据,则判断预设缓存空间所包含的目标数据集内的数据中包含数据标识所表示的目标数据。否则,判断预设缓存空间所包含的目标数据集内的数据中不包含数据标识所表示的目标数据。
可选的,当基于数据请求中携带的数据标识判断预设缓存空间中是否存储有目标数据集内的数据时,当判断预设缓存空间中包含的目标数据集内的数据时,则已经判断出预设缓存空间所包含的目标数据集内的数据中包含数据标识所表示的目标数据。
当判断预设缓存空间所包含的目标数据集内的数据中包含目标数据,则执行步骤S203B,当预设缓存空间所包含的目标数据集内的数据中不包含目标数据,则执行步骤S203C。
S203B,从预设缓存空间所存储的目标数据集内的数据中,读取目标数据,作为数据请求对应的待响应数据;
其中,在预设缓存空间所包含的目标数据集内的数据中包含目标数据时,可以将目标数据作为数据请求对应的响应数据,进而获取目标数据。
S203C,按照预设的选取规则,从预设缓存空间所存储的目标数据集内的数据中读取数据,作为数据请求对应的待响应数据。
其中,预设的选取规则可以基于需求和经验进行设置。
可选的,在一种实现方式中,可以随机选取从预设缓存空间所包含的目标数据集内的数据中获取数据,作为数据请求对应的响应数据。
可选的,在另一种实现方式中,为预设缓存空间中的每一数据进行打分,并基于每一数据评分,从预设缓存空间所包含的目标数据集内的数据中获取数据,作为数据请求对应的响应数据。例如,被获取的次数越多的数据的评分越低,被获取的越少的数据的评分越高,并从预设缓存空间所包含的目标数据集内的数据中获取数据,作为数据请求对应的响应数据,获取评分最高的数据,作为数据请求对应的响应数据。
本实施例所提供的方案中,当接收到针对目标数据集的数据请求后,先判断预设缓存空间中是否存储有目标数据集内的数据。如果预设缓存空间中存储有目标数据集内的数据,则从预设缓存空间中获取文件系统所需的数据,不必从对象存储系统中获取目标数据集内的数据。从而可以避免频繁的从对象存储系统中读取所需的数据,通过本方案可以快速地进行数据读取。
可选的,上述数据标识还可以为:待读取的数据在文件系统中的目标数据路径,则在本发明的另一实施例所提供的数据读取方法,在S201之后,还可以包括:
基于预先建立的数据路径与对象标识之间的对应关系,确定与目标数据路径对应的目标对象标识,其中,与每一数据路径对应的对象标识为:文件系统中该数据路径下的数据在对象存储系统中的对象标识。
其中,数据路径与对象标识之间的对应关系可以为在向对象存储系统中存储数据时所建立的。对象标识为数据存储在对象存储系统时,所对应的存储索引。数据在对象存储系统中的对象标识用于在对象存储系统中查找数据的索引,既在对象存储系统中,可以通过数据的对象标识查找数据。而在文件系统中,数据路径是查找数据的依据,可以按照数据路径一层层的查找对应的数据。故而依据预先建立的数据路径与对象标识之间的对应关系,可以快速的确定文件系统所管理的数据在对象存储系统中的对象标识,从而可以方便对文件系统中所管理数据的读取。
示例性的,对象存储系统中,存储有数据1、数据2和数据3。其中,数据1、数据2和数据3在对象存储中的对象标识分别为File1、File2和File3,而数据1、数据2和数据3在数据系统中的数据路径分别为:“C/集合1/数据1”、“C/集合1/数据2”和“C/集合2/数据3”。
相应的,在上述步骤S203C之后,还可以包括:
基于对象标识,从对象存储系统中获取目标数据,并在预设缓存空间中缓存目标数据。
如图4所示,在本发明实施例还提供的一种数据缓存方法中,包括如下步骤:
S401,判断目标数据集的目标数据量是否大于预设缓存空间的大小,;
其中,目标数据集的目标数据量可以为预先已知的。如可以在存储目标数据集时记录目标数据集的数据量。
当目标数据集的目标数据量大于预设缓存空间的大小时,执行步骤S402。当目标数据集的目标数据量不大于预设缓存空间的大小时,执行步骤S403。
S402,在预设缓存空间中缓存从对象存储系统中读取到的待响应数据;
其中,当目标数据集的目标数据量大于预设缓存空间的大小时,在预设缓存空间中缓存响应数据。可选的,在每次缓存响应数据后,可判断当前预设缓存空间中包含的目标数据集内的数据的数据量是小于预设缓存空间的大小,若不小于预设缓存空间的大小,则生成缓存中指指令,以停止向预设缓存空间中缓存响应数据。
S403,在预设缓存空间中缓存对象存储系统中目标数据集的全部数据。
其中,若目标数据量不大于预设缓存空间的大小,则在预设缓存空间中缓存目标数据集的全部数据。目标数据量不大于预设缓存空间的大小则意味着即使将目标数据集的全部数据均缓存在预设缓存空间中也不会导致预设缓存空间中包含的目标数据集的数据的数据量大于预设缓存空间的大小。
可选的,为了加快缓存的速度,在一种实现方式中,可以采用如下方式实现本步骤:
通过调用预设数量个协程,从对象存储系统中读取目标数据集内的全部数据并将所读取的数据缓存进预设缓存空间中。
其中,预设数量个协程可以为预先构建的,也可以为实时生成的,本发明实施例对此不作具体限定。
可选的,上述预设数量可以为基于经验和需求进行设置的,或者,上述预设数量可以为设备所包含CPU的数量。
本实施例所提供的方案中,当接收到针对目标数据集的数据请求后,先判断预设缓存空间中是否存在所需的数据。如果预设缓存空间中存在文件系统所需的数据,则直接从预设缓存空间中获取文件系统所需的数据,不必从对象存储系统中获取文件系统所需的数据。由于预设缓存空间的读写速度比对象存储系统的读写速度更快,因此,相比于现有技术中每次均需要从对象存储系统中获取所需的数据,通过本方案可以缩短获取响应数据的时间,进而更及时的响应文件系统的数据请求,从而提高了文件系统的任务处理效率。
可选的,为了更清楚阐述本发明实施例的技术方案,如图5所示,本发明实施例还提供了一种结合实际业务场景的数据读取方法的示意图。
图5中,深度学习训练任务管理器对深度学习训练任务,每个深度学习任务对于生成一个文件系统。如深度学习训练任务1对应文件系统1、深度学习训练任务2对应文件系统2、深度学习训练任务3对应文件系统3、深度学习训练任务4对应文件系统4。
当深度学习任务在进行任务训练过程中需要获取训练数据时,可以通过可以向文件系统发送训练数据获取请求,文件系统接收到训练数据获取请求后,向缓存管理器发送数据请求,缓存管理器在接收到数据请求可以向名称节点发送列表请求,以请求所请求数据在对象存储系统中的对象标识和目标数据集的数据量等信息。进而缓存管理器判断根据目标数据集的数据量与可以预设缓存空间的大小关系。当数据量小于等于预设缓存空间的大小,那么缓存管理器从对象存储中获取目标数据集的数据,作为响应数据,同时启动和CPU数一样多的协程从对象存储中获取目标数据集的全部数据。当数据量大于可用预设缓存空间的大小时,缓存管理器将所获取的响应数据存储到内存中并不释放,直到内存中包含的目标数据集的数据量不小于预设缓存空间的大小为止。
相应于上述实施例所提供的方法,如图6所示,本发明实施例还提供了一种数据读取装置,应用于管理装置,管理装置与数据存储系统中的文件系统和对象存储系统相通信,且对象存储系统中存储有用于深度学习网络模型训练的多个数据集;装置包括:
请求接收模块601,用于接收文件系统发送的数据请求,其中,数据请求为文件系统在接收到训练任务端发送的训练数据获取请求时所发送的、用于从与文件系统对应的目标数据集中读取数据的请求,训练任务端为:用于对深度学习网络模型进行训练的任务端;
数据判断模块602,用于判断预设缓存空间中是否存储有目标数据集内的数据,其中,预设缓存空间为:为文件系统分配的缓存空间;
数据读取模块603,用于若判断结果为是,从预设缓存空间中,读取向数据请求对应的待响应数据,否则,从对象存储系统中,读取数据请求对应的待响应数据;向文件系统反馈所读取到的待响应数据,以使文件系统在接收到待响应数据后向任务端反馈待响应数据。
可选的,数据请求中携带待读取的数据的数据标识;
数据读取模块,具体用于判断预设缓存空间所存储的目标数据集内的数据中,是否包含数据标识所表示的目标数据;当判断结果为是时,从预设缓存空间所存储的目标数据集内的数据中,读取目标数据,作为数据请求对应的待响应数据;当判断结果为否时,按照预设的数据读取规则,从预设缓存空间所存储的目标数据集内的数据中读取数据,作为数据请求对应的待响应数据。
可选的,数据标识为:待读取的数据在文件系统中的目标数据路径;
装置还包括:
对象标识确定模块,用于在请求接收模块接收文件系统发送的数据请求之后,基于预先建立的数据路径与对象标识之间的对应关系,确定与目标数据路径对应的目标对象标识,其中,与每一数据路径对应的对象标识为:文件系统中该数据路径下的数据在对象存储系统中的对象标识;
数据读取模块,还用于在按照预设的数据读取规则,从预设缓存空间所存储的目标数据集内的数据中读取数据,作为数据请求对应的待响应数据之后,基于对象标识,从对象存储系统中获取目标数据,并在预设缓存空间中缓存目标数据。
可选的,数据读取模块,还用于在从存储有目标数据集的对象存储系统中,读取数据请求对应的待响应数据之后,判断目标数据集的目标数据量是否大于预设缓存空间的大小,如果是,在预设缓存空间中缓存从对象存储系统中读取到的待响应数据,否则,在预设缓存空间中缓存对象存储系统中目标数据集的全部数据。
可选的,数据读取模块,具体用于通过调用预设数量个协程,从对象存储系统中读取目标数据集内的全部数据并将所读取的数据缓存进预设缓存空间中。
本实施例所提供的方案中,当接收到针对目标数据集的数据请求后,先判断预设缓存空间中是否存储有目标数据集内的数据。如果预设缓存空间中存储有目标数据集内的数据,则从预设缓存空间中获取文件系统所需的数据,不必从对象存储系统中获取目标数据集内的数据。从而可以避免频繁的从对象存储系统中读取所需的数据,通过本方案可以快速地进行数据读取。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述所提供的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据读取方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一数据读取方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种数据读取方法,其特征在于,应用于管理装置,所述管理装置与数据存储系统中的文件系统和对象存储系统相通信,且所述对象存储系统中存储有用于深度学习网络模型训练的多个数据集;所述方法包括:
接收文件系统发送的数据请求,其中,所述数据请求为所述文件系统在接收到训练任务端发送的训练数据获取请求时所发送的、用于从与所述文件系统对应的目标数据集中读取数据的请求,所述训练任务端为:用于对深度学习网络模型进行训练的任务端;
判断预设缓存空间中是否存储有所述目标数据集内的数据,其中,所述预设缓存空间为:为所述文件系统分配的缓存空间;
若判断结果为是,从所述预设缓存空间中,读取向所述数据请求对应的待响应数据,否则,从所述对象存储系统中,读取所述数据请求对应的待响应数据;
向所述文件系统反馈所读取到的待响应数据,以使所述文件系统在接收到所述待响应数据后向所述任务端反馈所述待响应数据。
2.根据权利要求1所述的方法,其特征在于,所述数据请求中携带待读取的数据的数据标识;
所述从所述内存中,读取所述数据请求对应的待响应数据,包括:
判断所述预设缓存空间所存储的目标数据集内的数据中,是否包含所述数据标识所表示的目标数据;
当判断结果为是时,从所述预设缓存空间所存储的目标数据集内的数据中,读取所述目标数据,作为所述数据请求对应的待响应数据;
当判断结果为否时,按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据。
3.根据权利要求2所述的方法,其特征在于,所述数据标识为:所述待读取的数据在所述文件系统中的目标数据路径;
在所述接收文件系统发送的数据请求之后,还包括:
基于预先建立的数据路径与对象标识之间的对应关系,确定与所述目标数据路径对应的目标对象标识,其中,与每一数据路径对应的对象标识为:所述文件系统中该数据路径下的数据在所述对象存储系统中的对象标识;
在按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据之后,所述方法还包括:
基于所述对象标识,从所述对象存储系统中获取所述目标数据,并在所述预设缓存空间中缓存所述目标数据。
4.根据权利要求1所述的方法,其特征在于,在从存储有所述目标数据集的对象存储系统中,读取所述数据请求对应的待响应数据之后,所述方法还包括:
判断所述目标数据集的目标数据量是否大于所述预设缓存空间的大小,如果是,在所述预设缓存空间中缓存从所述对象存储系统中读取到的待响应数据,否则,在所述预设缓存空间中缓存所述对象存储系统中所述目标数据集的全部数据。
5.根据权利要求4所述的方法,其特征在于,所述在所述预设缓存空间中缓存所述目标数据集的全部数据,包括:
通过调用预设数量个协程,从所述对象存储系统中读取所述目标数据集内的全部数据并将所读取的数据缓存进所述预设缓存空间中。
6.一种数据读取装置,其特征在于,应用于管理装置,所述管理装置与数据存储系统中的文件系统和对象存储系统相通信,且所述对象存储系统中存储有用于深度学习网络模型训练的多个数据集;所述装置包括:
请求接收模块,用于接收文件系统发送的数据请求,其中,所述数据请求为所述文件系统在接收到训练任务端发送的训练数据获取请求时所发送的、用于从与所述文件系统对应的目标数据集中读取数据的请求,所述训练任务端为:用于对深度学习网络模型进行训练的任务端;
数据判断模块,用于判断预设缓存空间中是否存储有所述目标数据集内的数据,其中,所述预设缓存空间为:为所述文件系统分配的缓存空间;
数据读取模块,用于若判断结果为是,从所述预设缓存空间中,读取向所述数据请求对应的待响应数据,否则,从所述对象存储系统中,读取所述数据请求对应的待响应数据;向所述文件系统反馈所读取到的待响应数据,以使所述文件系统在接收到所述待响应数据后向所述任务端反馈所述待响应数据。
7.根据权利要求6所述的装置,其特征在于,所述数据请求中携带待读取的数据的数据标识;
所述数据读取模块,具体用于判断所述预设缓存空间所存储的目标数据集内的数据中,是否包含所述数据标识所表示的目标数据;当判断结果为是时,从所述预设缓存空间所存储的目标数据集内的数据中,读取所述目标数据,作为所述数据请求对应的待响应数据;当判断结果为否时,按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据。
8.根据权利要求7所述的装置,其特征在于,所述数据标识为:所述待读取的数据在所述文件系统中的目标数据路径;
所述装置还包括:
对象标识确定模块,用于在所述请求接收模块接收文件系统发送的数据请求之后,基于预先建立的数据路径与对象标识之间的对应关系,确定与所述目标数据路径对应的目标对象标识,其中,与每一数据路径对应的对象标识为:所述文件系统中该数据路径下的数据在所述对象存储系统中的对象标识;
所述数据读取模块,还用于在按照预设的数据读取规则,从所述预设缓存空间所存储的目标数据集内的数据中读取数据,作为所述数据请求对应的待响应数据之后,基于所述对象标识,从所述对象存储系统中获取所述目标数据,并在所述预设缓存空间中缓存所述目标数据。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的方法步骤。
CN202011628612.7A 2020-12-31 2020-12-31 数据读取方法、装置及电子设备 Pending CN112783843A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011628612.7A CN112783843A (zh) 2020-12-31 2020-12-31 数据读取方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011628612.7A CN112783843A (zh) 2020-12-31 2020-12-31 数据读取方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN112783843A true CN112783843A (zh) 2021-05-11

Family

ID=75754624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011628612.7A Pending CN112783843A (zh) 2020-12-31 2020-12-31 数据读取方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112783843A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023816A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种对象存储系统的对象存放策略和访问方法
CN102158546A (zh) * 2011-02-28 2011-08-17 中国科学院计算技术研究所 一种集群文件系统及其文件服务方法
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
CN107357929A (zh) * 2017-07-27 2017-11-17 广东欧珀移动通信有限公司 文件读取方法、移动终端及可读存储介质
CN111124277A (zh) * 2019-11-21 2020-05-08 苏州浪潮智能科技有限公司 一种深度学习数据集缓存方法、系统、终端及存储介质
CN111177079A (zh) * 2019-12-30 2020-05-19 浪潮电子信息产业股份有限公司 网络文件系统数据读取方法、装置、设备、介质
CN111258965A (zh) * 2020-01-10 2020-06-09 北京猎豹移动科技有限公司 一种数据获取方法、装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457555A (zh) * 2010-10-28 2012-05-16 中兴通讯股份有限公司 一种分布式存储的安全系统及方法
CN102023816A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种对象存储系统的对象存放策略和访问方法
CN102158546A (zh) * 2011-02-28 2011-08-17 中国科学院计算技术研究所 一种集群文件系统及其文件服务方法
CN107357929A (zh) * 2017-07-27 2017-11-17 广东欧珀移动通信有限公司 文件读取方法、移动终端及可读存储介质
CN111124277A (zh) * 2019-11-21 2020-05-08 苏州浪潮智能科技有限公司 一种深度学习数据集缓存方法、系统、终端及存储介质
CN111177079A (zh) * 2019-12-30 2020-05-19 浪潮电子信息产业股份有限公司 网络文件系统数据读取方法、装置、设备、介质
CN111258965A (zh) * 2020-01-10 2020-06-09 北京猎豹移动科技有限公司 一种数据获取方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110837410B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
CN108683604B (zh) 并发访问控制方法、终端设备及介质
CN110062025B (zh) 数据采集的方法、装置、服务器及存储介质
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
US10275355B2 (en) Method and apparatus for cleaning files in a mobile terminal and associated mobile terminal
CN108200134A (zh) 请求消息管理方法及装置、存储介质
US20130179495A1 (en) System and method for alerting leakage of personal information in cloud computing environment
CN111163072B (zh) 机器学习模型中特征值的确定方法、装置及电子设备
CN107784205B (zh) 一种用户产品审核的方法、装置、服务器和存储介质
CN109241084B (zh) 数据的查询方法、终端设备及介质
CN110956269A (zh) 数据模型的生成方法、装置、设备以及计算机存储介质
CN109981569B (zh) 网络系统访问方法、装置、计算机设备及可读存储介质
CN111382206B (zh) 一种数据存储方法及装置
CN108154024B (zh) 一种数据检索方法、装置及电子设备
CN115757406A (zh) 数据存储方法、装置、电子设备及存储介质
CN112084021A (zh) 教育系统的界面配置方法、装置、设备及可读存储介质
CN112783843A (zh) 数据读取方法、装置及电子设备
CN112732765B (zh) 一种实验路径的确定方法及装置、电子设备
CN108763291B (zh) 一种数据管理方法、装置及电子设备
CN111800446A (zh) 调度处理方法、装置、设备和存储介质
KR102214185B1 (ko) 자원 획득 방법
CN112947844A (zh) 一种数据存储方法、装置、电子设备及介质
CN111163088B (zh) 消息处理方法、系统、装置及电子设备
CN106528577B (zh) 一种设置待清理文件的方法和装置
CN112817923B (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