本发明涉及计算机技术领域,尤其涉及一种数据获取方法、数据提供方法及装置。
背景技术:
近年来,人工智能技术在产业和生活中得到了越来越广泛的应用。机器学习作为人工智能领域的一个重要分支,能够通过大量的训练数据,得到较为理想的数学模型,从而模拟人的思维。
然而,由于模型训练所需的数据量巨大,常常是千万级的文件数量,训练数据的读取速度成为影响模型训练效率的重要因素。
对于模型训练中,训练数据的读取速度较慢的问题,相关领域尚无有效的解决方案。
技术实现要素:
有鉴于此,本发明实施例提供一种数据获取方法、数据提供方法、装置、电子设备及存储介质,能够有效提高模型训练中训练数据的获取速度。
第一方面,本发明实施例提供一种数据获取方法,包括:
向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名;
根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件在所述对象存储服务器中的存储路径;
根据所述目录信息,从所述对象存储服务器中获取所述文件。
可选的,所述向对象存储服务器发送文件的目录信息挂载请求之前,所述方法还包括:
向所述对象存储服务器发送鉴权请求;
所述向对象存储服务器发送文件的目录信息挂载请求包括:
在接收到所述对象存储服务器发送的鉴权成功的消息后,向对象存储服务器发送文件的目录信息挂载请求。
可选的,所述根据所述目录信息,从对象存储服务器中获取所述文件之前,所述方法还包括:
获取文件筛选规则信息;
所述根据所述目录信息,从对象存储服务器中获取所述文件包括:
读取所述目录桶中的所述目录信息,根据所述目录信息构建层级目录结构;
根据所述文件筛选规则信息,从所述层级目录结构中选择需要读取的目标文件;
根据所述层级目录结构中指示的所述目标文件的存储路径,从所述对象存储服务器中获取所述目标文件。
可选的,所述文件筛选规则信息包括所述目标文件的数量、分布、大小中的至少一种。
可选的,所述目录信息为具有预设结构的目录文件,或者为文件名列表。
可选的,所述挂载请求还携带所述对象存储服务器对应的负载均衡服务器的地址,以通过所述负载均衡服务器访问所述对象存储服务器,其中,所述负载均衡服务器用于按照负载均衡算法将网络访问请求均衡分配到所述对象存储服务器。
第二方面,本发明的实施例还提供一种数据提供方法,包括:
接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名;
向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件的存储路径;
根据所述目录信息,向所述模型训练服务器提供所述文件。
可选的,所述接收模型训练服务器发送的目录信息挂载请求之前,所述方法还包括:
接收所述模型训练服务器发送的鉴权请求;
所述接收模型训练服务器发送的目录信息挂载请求包括:
在确定所述模型训练服务器鉴权成功后,接收模型训练服务器发送的目录信息挂载请求。
可选的,所述根据所述文件桶的桶名,将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点之前,所述方法还包括:
根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息;
将所述目录信息存储在预先建立的、与所述文件桶对应的目录桶中。
可选的,所述根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息包括:
扫描所述文件桶中存储对象的对象名称,拆分所述对象名称形成所述目录信息;
和/或
接收所述文件桶中存储对象的注册信息,根据所述注册信息形成所述目录信息。
第三方面,本发明的实施例还提供一种数据获取装置,包括:
请求发送单元,用于向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名;
目录挂载单元,用于根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件在所述对象存储服务器中的存储路径;
文件获取单元,用于根据所述目录信息,从所述对象存储服务器中获取所述文件。
可选的,所述请求发送单元,还用于:
在向对象存储服务器发送文件的目录信息挂载请求之前,向所述对象存储服务器发送鉴权请求;
在接收到所述对象存储服务器发送的鉴权成功的消息后,向对象存储服务器发送文件的目录信息挂载请求。
可选的,所述数据获取装置还包括:
规则获取单元,用于在根据所述目录信息,从对象存储服务器中获取所述文件之前,获取文件筛选规则信息;
所述文件获取单元包括:
构建模块,用于读取所述目录桶中的所述目录信息,根据所述目录信息构建层级目录结构;
选择模块,用于根据所述文件筛选规则信息,从所述层级目录结构中选择需要读取的目标文件;
获取模块,用于根据所述层级目录结构中指示的所述目标文件的存储路径,从所述对象存储服务器中获取所述目标文件。
可选的,所述文件筛选规则信息包括所述目标文件的数量、分布、大小中的至少一种。
可选的,所述目录信息为具有预设结构的目录文件,或者为文件名列表。
可选的,所述挂载请求还携带所述对象存储服务器对应的负载均衡服务器的地址,以通过所述负载均衡服务器访问所述对象存储服务器,其中,所述负载均衡服务器用于按照负载均衡算法将网络访问请求均衡分配到所述对象存储服务器。
第四方面,本发明的实施例还提供一种数据提供装置,包括:
请求接收单元,用于接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名;
响应返回单元,用于向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件的存储路径;
文件提供单元,用于根据所述目录信息,向所述模型训练服务器提供所述文件。
可选的,所述请求接收单元,还用于:
接收所述模型训练服务器发送的鉴权请求;
在确定所述模型训练服务器鉴权成功后,接收模型训练服务器发送的目录信息挂载请求。
可选的,所述数据提供装置还包括:
目录生成单元,用于在将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点之前,根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息;
目录存储单元,用于将所述目录信息存储在预先建立的、与所述文件桶对应的目录桶中。
可选的,所述目录生成单元包括:
第一生成模块,用于扫描所述文件桶中存储对象的对象名称,拆分所述对象名称形成所述目录信息;
和/或
第二生成模块,用于接收所述文件桶中存储对象的注册信息,根据所述注册信息形成所述目录信息。
第五方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种数据获取方法或数据提供方法。
第六方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种数据获取方法或数据提供方法。
本发明的实施例提供的数据获取方法、数据提供方法、装置、电子设备及存储介质,当模型训练服务器需要读取训练数据时,就可以先从层级目录服务器获取训练数据中各文件的目录信息,并根据目录信息获取文件在对象存储服务器中的存储路径,从而快速通过该存储路径获取到文件,避免了直接在对象存储服务器的海量数据中进行搜索,因此能够有效提高数据的获取速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例中数据交互应用场景的一种示意图;
图2为本发明的实施例提供的数据获取方法的一种流程图;
图3为本发明的实施例提供的数据提供方法的一种流程图;
图4为本发明的实施例提供的数据获取装置的一种结构示意图;
图5为本发明的实施例提供的数据提供装置的一种结构示意图;
图6为本发明的实施例提供的电子设备的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在机器学习中,一方面需要具有强大计算能力的计算机进行模型训练,另一方面也需要足够的数据样本来供计算机进行学习。这两项工作可以分别由不同的服务器完成。例如,模型训练可以由模型训练服务器执行,而训练数据可以由对象存储服务器提供。模型训练服务器可以与对象存储服务器交互,以便从对象存储服务器中获取数据并利用该数据进行模型训练。示例性的,模型训练服务器与对象存储服务器的一种交互示意图可以如图1所示。
第一方面,本发明的实施例提供一种数据获取方法,能够有效提高模型训练中训练数据的获取速度。
如图2所示,本发明的实施例提供的数据获取方法,基于模型训练服务器,可以包括:
s11,向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名;
在本发明的实施例中,模型训练服务器可以以读取文件的方式读取训练数据。每个文件都可以以对象的方式存储在对象存储服务器中。一项模型训练任务所需的所有训练数据可以形成一个数据集(dataset)。数据集中的数据可以以文件的形式被模型训练服务器读取。每个数据集可以存储在对象存储服务器的一个桶(bucket)中,装载数据集的桶又可以称为文件桶,每个文件桶有自己的桶名。由于模型训练所需的数据量巨大,可选的,一个数据集常常可以包括千万级别的文件数。
当模型训练服务器需要读取数据进行模型训练时,可以先向对象存储服务器发送目录信息挂载请求,将此次训练所需要的数据集所在的文件桶的桶名携带在该挂载请求中,以便对象存储服务器返回与该桶名对应的目录信息。
s12,根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件在所述对象存储服务器中的存储路径;
向对象存储服务器发送目录信息挂载请求后,本步骤中,模型训练服务器可以接收对象存储服务器返回的响应信息,并根据该响应消息将所述文件桶对应的目录桶挂载到本地预设挂载点。
可选的,在linux系统下,挂载命令可以通过mnt命令实现。例如,命令/root/batfs--endpoint=http://192.168.10.244:8080abc/mnt/antfs/可以表示,将桶名为abc的文件桶挂载到antfs目录下。本发明的实施例中,每个文件桶都有一个对应的目录桶,例如文件桶aaa可以具有一个对应的目录桶aaa-c。当需要挂载文件桶时,首先会将该文件桶对应的目录桶进行挂载。目录桶中存储有文件桶中文件的目录信息,由于目录信息仅仅记录了文件名和存储路径,因此本身的数据量非常小,却可以为获取文件提供明确的指引,大大缩减获取文件所需的时间。
可选的,该目录信息可以是一种多叉树的层级目录结构,用于指示各文件的存储路径。
s13,根据所述目录信息,从所述对象存储服务器中获取所述文件。
本步骤中,由于已经将文件的目录桶挂载到本地,当需要读取文件时,可以从目录桶的目录信息中快速获知文件在对象存储服务器中的具体位置,按图索骥快速获取对应的文件。
本发明的实施例提供的数据获取方法,模型训练服务器能够向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名,根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,根据所述目录信息,从所述对象存储服务器中获取所述文件。这样,当模型训练服务器需要读取训练数据时,就可以先从层级目录服务器获取训练数据中各文件的目录信息,并根据目录信息获取文件在对象存储服务器中的存储路径,从而快速通过该存储路径获取到文件,避免了直接在对象存储服务器的海量数据中进行搜索,因此能够有效提高数据的获取速度。
进一步的,为了加强数据安全,在本发明的一个实施例中,在向对象存储服务器发送文件的目录信息挂载请求之前,本发明的实施例提供的数据获取方法还可以包括:向所述对象存储服务器发送鉴权请求;基于此,向对象存储服务器发送文件的目录信息挂载请求包括:在接收到所述对象存储服务器发送的鉴权成功的消息后,向对象存储服务器发送文件的目录信息挂载请求。
可选的,鉴权请求中可以携带模型训练服务器的身份标识、ip地址、安全密钥等信息。对象存储服务器接收到该鉴权请求后,可以对上述信息进行验证,验证通过后,向模型训练服务器发送鉴权成功消息。模型训练服务器在接收到该鉴权成功的消息后,向对象存储服务器发送文件的目录信息挂载请求。
可以理解的,模型训练是个通过大量数据进行训练,不断迭代优化的过程。在此过程中,本发明的实施例中,服务器可以按照一定的规则从数据集中分批读取数据进行模型训练,当将数据集中的所有数据都读完一轮后,可以对模型参数进行调整,然后对数据集进行第二轮读取。如此反复可以达几十、上百轮,甚至更高。
为了进一步提高数据获取效率,在本发明的一个实施例中,模型训练服务器可以先获取从数据集中读取文件时的文件筛选规则信息,从而能够根据该文件筛选规则信息集中获取一批对应的文件,而不是对文件进行逐个请求和逐个提供,有效减少了通信时间。
具体而言,在本发明的一个实施例中,在步骤s13的根据所述目录信息,从对象存储服务器中获取所述文件之前,本发明的实施例提供的数据获取方法还可以包括:获取文件筛选规则信息;基于此,在步骤s13中根据所述目录信息,从对象存储服务器中获取所述文件可以包括:
读取所述目录桶中的所述目录信息,根据所述目录信息构建层级目录结构;
根据所述文件筛选规则信息,从所述层级目录结构中选择需要读取的目标文件;
根据所述层级目录结构中指示的所述目标文件的存储路径,从所述对象存储服务器中获取所述目标文件。
其中,文件筛选规则信息可以指模型训练服务器组织文件的策略,即每次如何读取文件,以便利用该批文件进行模型训练。可选的,在本发明的一个实施例中,文件筛选规则信息可以包括需要读取的所述目标文件的数量、分布、大小中的一种或多种。其中,目标文件的数量可以指每批读入的文件数,目标文件的分布可以指每批读入的文件的存储路径,及每个存储路径下读取的文件数,目标文件的大小可以指读取的每个文件的数据量大小。
示例性的,在本发明的一个实施例中,文件筛选规则信息可以包括:在目录c1下读取15个文件,在目录c2下读取10个文件,在目录c3下读取15个文件,在目录c4下读取30个文件,其中,各文件的文件大小均小于200m。则,可以按照该文件筛选规则信息,从目录信息中选择对应的目标文件(可选的,目录桶中的目录信息也可以记录每个文件的文件大小),然后根据目录信息提供的存储路径,从对象存储服务器获取这些目标文件。将这些目标文件的顺序打散后,进行模型训练。
可选的,目录桶中的目录信息的具体形式不限,既可以为具有预设结构的目录文件,例如json或者yaml等结构化文件,也可以为简单的文件名列表。对于结构化的目录文件而言,该种形式的目录信息更易于加载,对于直接将文件名平铺形成文件名列表的目录文件而言,该种方式的目录信息更易于维护。
由于训练数据的数据量巨大,且模型训练需要对数据进行反复多次的读取,为了进一步提高数据获取速度,降低网络请求延迟,在本发明的一个实施例中,步骤s11中模型训练服务器向对象存储服务器发送的目录信息挂载请求还可以携带对象存储服务器对应的负载均衡服务器的地址,以便通过负载均衡服务器访问所述对象存储服务器,其中,所述负载均衡服务器用于按照负载均衡算法将网络访问请求均衡分配到所述对象存储服务器。
这样,对象存储集群中的每个节点都是独立的,访问负载可以平均分配到集群中的所有节点上,一方面可以避免出现nas和集群文件系统中常见的资源利用不合理的问题,另一方面也可以让数据读取自动选择合理的节点,保证系统性能最大化。
相应的,第二方面,本发明的实施例还提供一种数据提供方法,能够有效提高模型训练中训练数据的获取速度。
如图3所示,本发明的实施例提供的数据提供方法,基于对象存储服务器,可以包括:
s21,接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名;
在本发明的实施例中,模型训练服务器可以以读取文件的方式读取训练数据。每个文件都可以以对象的方式存储在对象存储服务器中。一项模型训练任务所需的所有训练数据可以形成一个数据集(dataset)。数据集中的数据可以以文件的形式被模型训练服务器读取。每个数据集可以存储在对象存储服务器的一个桶(bucket)中,装载数据集的桶又可以称为文件桶,每个文件桶有自己的桶名。由于模型训练所需的数据量巨大,可选的,一个数据集常常可以包括千万级别的文件数。
当模型训练服务器需要读取数据进行模型训练时,可以先向对象存储服务器发送目录信息挂载请求,将此次训练所需要的数据集所在的文件桶的桶名携带在该挂载请求中,以便对象存储服务器返回与该桶名对应的目录信息。
s22,向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件的存储路径;
本步骤中,可以通过向模型训练服务器返回响应消息,将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点。
s23,根据所述目录信息,向所述模型训练服务器提供所述文件。
本发明的实施例提供的数据提供方法,对象存储服务器能够接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名,向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,根据所述目录信息,向所述模型训练服务器提供所述文件。这样,当模型训练服务器需要读取训练数据时,就可以先为其提供训练数据中各文件的目录信息,以便模型训练服务器根据目录信息获取文件在对象存储服务器中的存储路径,从而快速通过该存储路径获取到文件,避免了直接在对象存储服务器的海量数据中进行搜索,因此能够有效提高数据的获取速度。
进一步的,为了加强数据安全,在本发明的一个实施例中,在接收模型训练服务器发送的目录信息挂载请求之前,本发明的实施例提供的数据提供方法还可以包括:接收所述模型训练服务器发送的鉴权请求;基于此,接收模型训练服务器发送的目录信息挂载请求可以包括:在确定所述模型训练服务器鉴权成功后,接收模型训练服务器发送的目录信息挂载请求。
可选的,鉴权请求中可以携带模型训练服务器的身份标识、ip地址、安全密钥等信息。对象存储服务器接收到该鉴权请求后,可以对上述信息进行验证,验证通过后,向模型训练服务器发送鉴权成功消息。
可选的,为了能够在接收到目录信息的挂载请求时,快速给模型训练服务器以反馈,在本发明的实施例中,可以提前为对象存储服务器中的文件生成对应的目录信息。
具体而言,在本发明的一个实施例中,在步骤s22的根据所述文件桶的桶名,将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点之前,本发明的实施例提供的数据提供方法还可以包括:
根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息;
将所述目录信息存储在预先建立的、与所述文件桶对应的目录桶中。
可选的,在本发明的一个实施例中,根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息具体可以包括:扫描所述桶中存储对象的对象名称,拆分所述对象名称形成所述目录信息。例如,在本发明的一个实施例中,一个存储对象的对象名称为:
imagenet-large/train/n01782516_10048.jpeg
则可以按照斜杆,将该对象名称拆分为:imagenet-large、train、n01782516_10048.jpeg,这样形成的目录信息可以为:imagenet-large\train\n01782516_10048.jpeg,即imagenet-large文件夹下的train子文件夹下的n01782516_10048.jpeg文件。当扫描完桶中的所有文件后,即可形成包含所有文件的存储路径的目录信息。
可选的,在本发明的另一个实施例中,根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息也可以包括:接收所述桶中存储对象的注册信息,根据所述注册信息形成所述目录信息。也即是说,当对象存储服务器中新存储了一个对象时,可以主动向对象存储服务器发起注册请求,对象存储服务器可以根据接收到的注册信息,例如对象名称,生成目录信息。
可选的,上述两种生成目录信息的方式既可以单独使用,也可以结合使用,例如可以先将目前桶中已经存储的所有对象进行扫描,生成目录信息,当后期再有新的对象加入时,可以通过该对象的注册信息生成该对象的目录信息,并添加到原有的目录信息中。
第三方面,本发明的实施例还提供一种数据获取装置,能够有效提高模型训练中训练数据的获取速度。
如图4所示,本发明的实施例提供一种数据获取装置可以包括:
请求发送单元31,用于向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名;
目录挂载单元32,用于根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件在所述对象存储服务器中的存储路径;
文件获取单元33,用于根据所述目录信息,从所述对象存储服务器中获取所述文件。
本发明的实施例提供的数据获取装置,能够向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名,根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,根据所述目录信息,从所述对象存储服务器中获取所述文件。这样,当模型训练服务器需要读取训练数据时,就可以先从层级目录服务器获取训练数据中各文件的目录信息,并根据目录信息获取文件在对象存储服务器中的存储路径,从而快速通过该存储路径获取到文件,避免了直接在对象存储服务器的海量数据中进行搜索,因此能够有效提高数据的获取速度。
可选的,请求发送单元31还可以用于:
在向对象存储服务器发送文件的目录信息挂载请求之前,向所述对象存储服务器发送鉴权请求;
在接收到所述对象存储服务器发送的鉴权成功的消息后,向对象存储服务器发送文件的目录信息挂载请求。
可选的,所述数据获取装置还可以包括:规则获取单元,用于在根据所述目录信息,从对象存储服务器中获取所述文件之前,获取文件筛选规则信息;
基于此,文件获取单元33可以包括:
构建模块,用于读取所述目录桶中的所述目录信息,根据所述目录信息构建层级目录结构;
选择模块,用于根据所述文件筛选规则信息,从所述层级目录结构中选择需要读取的目标文件;
获取模块,用于根据所述层级目录结构中指示的所述目标文件的存储路径,从所述对象存储服务器中获取所述目标文件。
可选的,所述文件筛选规则信息包括所述目标文件的数量、分布、大小中的至少一种。
可选的,所述目录信息为具有预设结构的目录文件,或者为文件名列表。
可选的,所述挂载请求还携带所述对象存储服务器对应的负载均衡服务器的地址,以通过所述负载均衡服务器访问所述对象存储服务器,其中,所述负载均衡服务器用于按照负载均衡算法将网络访问请求均衡分配到所述对象存储服务器。
第四方面,本发明的实施例提供一种数据提供装置,能够有效提高模型训练中训练数据的获取速度。
如图5所示,本发明的实施例提供的数据提供装置可以包括:
请求接收单元41,用于接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名;
响应返回单元42,用于向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件的存储路径;
文件提供单元43,用于根据所述目录信息,向所述模型训练服务器提供所述文件。
本发明的实施例提供的数据提供装置,能够接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名,向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,根据所述目录信息,向所述模型训练服务器提供所述文件。这样,当模型训练服务器需要读取训练数据时,就可以先为其提供训练数据中各文件的目录信息,以便模型训练服务器根据目录信息获取文件在对象存储服务器中的存储路径,从而快速通过该存储路径获取到文件,避免了直接在对象存储服务器的海量数据中进行搜索,因此能够有效提高数据的获取速度。
可选的,请求接收单元41,还可用于:
接收所述模型训练服务器发送的鉴权请求;
在确定所述模型训练服务器鉴权成功后,接收模型训练服务器发送的目录信息挂载请求。
可选的,所述数据提供装置还可以包括:
目录生成单元,用于在将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点之前,根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息;
目录存储单元,用于将所述目录信息存储在预先建立的、与所述文件桶对应的目录桶中。
可选的,所述目录生成单元可以包括:
第一生成模块,用于扫描所述文件桶中存储对象的对象名称,拆分所述对象名称形成所述目录信息;
和/或
第二生成模块,用于接收所述文件桶中存储对象的注册信息,根据所述注册信息形成所述目录信息。
第五方面,本发明的实施例还提供一种电子设备,能够有效提高模型训练中训练数据的获取速度。
如图6所示,本发明的实施例提供的电子设备,可以包括:壳体51、处理器52、存储器53、电路板54和电源电路55,其中,电路板54安置在壳体51围成的空间内部,处理器52和存储器53设置在电路板54上;电源电路55,用于为上述电子设备的各个电路或器件供电;存储器53用于存储可执行程序代码;处理器52通过读取存储器53中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例提供的数据获取方法或数据提供方法。
处理器52对上述步骤的具体执行过程以及处理器52通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种数据获取方法或数据提供方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种数据获取方法,其特征在于,包括:
向对象存储服务器发送文件的目录信息挂载请求,所述挂载请求携带所述对象存储服务器中所述文件所在的文件桶的桶名;
根据所述对象存储服务器返回的响应消息,将所述文件桶对应的目录桶挂载到本地预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件在所述对象存储服务器中的存储路径;
根据所述目录信息,从所述对象存储服务器中获取所述文件。
2.根据权利要求1所述的方法,其特征在于,所述向对象存储服务器发送文件的目录信息挂载请求之前,所述方法还包括:
向所述对象存储服务器发送鉴权请求;
所述向对象存储服务器发送文件的目录信息挂载请求包括:
在接收到所述对象存储服务器发送的鉴权成功的消息后,向对象存储服务器发送文件的目录信息挂载请求。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目录信息,从对象存储服务器中获取所述文件之前,所述方法还包括:
获取文件筛选规则信息;
所述根据所述目录信息,从对象存储服务器中获取所述文件包括:
读取所述目录桶中的所述目录信息,根据所述目录信息构建层级目录结构;
根据所述文件筛选规则信息,从所述层级目录结构中选择需要读取的目标文件;
根据所述层级目录结构中指示的所述目标文件的存储路径,从所述对象存储服务器中获取所述目标文件。
4.根据权利要求3所述的方法,其特征在于,所述文件筛选规则信息包括所述目标文件的数量、分布、大小中的至少一种。
5.根据权利要求1所述的方法,其特征在于,所述目录信息为具有预设结构的目录文件,或者为文件名列表。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述挂载请求还携带所述对象存储服务器对应的负载均衡服务器的地址,以通过所述负载均衡服务器访问所述对象存储服务器,其中,所述负载均衡服务器用于按照负载均衡算法将网络访问请求均衡分配到所述对象存储服务器。
7.一种数据提供方法,其特征在于,包括:
接收模型训练服务器发送的目录信息挂载请求,所述挂载请求携带文件所在的文件桶的桶名;
向所述模型训练服务器返回响应消息,以使所述模型训练服务器将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点,其中,所述目录桶存储有所述文件的目录信息;所述目录信息指示所述文件的存储路径;
根据所述目录信息,向所述模型训练服务器提供所述文件。
8.根据权利要求7所述的方法,其特征在于,所述接收模型训练服务器发送的目录信息挂载请求之前,所述方法还包括:
接收所述模型训练服务器发送的鉴权请求;
所述接收模型训练服务器发送的目录信息挂载请求包括:
在确定所述模型训练服务器鉴权成功后,接收模型训练服务器发送的目录信息挂载请求。
9.根据权利要求7所述的方法,其特征在于,所述根据所述文件桶的桶名,将所述文件桶对应的目录桶挂载到所述模型训练服务器的预设挂载点之前,所述方法还包括:
根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息;
将所述目录信息存储在预先建立的、与所述文件桶对应的目录桶中。
10.根据权利要求9所述的方法,其特征在于,所述根据所述文件桶中存储对象的对象名称,生成所述存储对象对应的文件系统的目录信息包括:
扫描所述文件桶中存储对象的对象名称,拆分所述对象名称形成所述目录信息;
和/或
接收所述文件桶中存储对象的注册信息,根据所述注册信息形成所述目录信息。
技术总结