一种文件存储方法、装置、电子设备及存储介质制造方法及图纸

技术编号:19320604 阅读:26 留言:0更新日期:2018-11-03 11:00
本发明专利技术实施例提供一种文件存储方法、装置、电子设备及存储介质,方法应用于单机系统中的客户单元,单机系统包括多个客户单元、多个文件存储单元以及多个第一文件管理单元;方法包括:将一文件上传请求发送至第一目标文件管理单元,第一目标文件管理单元为多个第一文件管理单元中的任意一个;当接收到第一目标文件管理单元发送的指示允许文件上传的第一响应消息时,向第一目标文件管理单元发送第一数据上传请求;当接收到第一目标文件管理单元发送的第二响应消息时,将第一数据块上传至第一目标文件存储单元上;第二响应消息中携带有用于存储第一数据块的第一目标文件存储单元的信息。本发明专利技术实施例实现了多用户写入以及降低了请求时延。

File storage method, device, electronic device and storage medium

The embodiment of the present invention provides a file storage method, device, electronic equipment and storage medium, which is applied to a client unit in a stand-alone system, which comprises a plurality of client units, a plurality of file storage units and a plurality of first file management units. The first target file management unit is any of a plurality of first file management units; when receiving the first response message sent by the first target file management unit to allow file upload, the first data upload request is sent to the first target file management unit; and when receiving the first target file management unit, the first data upload request is sent to the first target file management unit. When the second response message sent by the standard file management unit is uploaded to the first target file storage unit, the second response message carries the information of the first target file storage unit for storing the first data block. The embodiment of the invention realizes multi-user writing and reduces the request delay.

【技术实现步骤摘要】
一种文件存储方法、装置、电子设备及存储介质
本专利技术实施例涉及存储
,尤其涉及一种文件存储方法、装置、电子设备及存储介质。
技术介绍
Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。HDFS有着高容错性的特点,并且设计用来部署在廉价的硬件上。此外,HDFS能够提供高吞吐量来访问应用程序的数据,适合超大数据集的应用程序。但是,HDFS在具有以上优点的同时,同时存在以下不足:其一,不适合低延迟数据访问。HDFS用于处理大型数据集分析任务,为了达到高数据吞吐量,可能会导致高延迟。其二,不支持多用户写入。HDFS中一个文件只有一个写入者,并且写操作只能在文件末尾完成,即只能执行追加操作。综上所述,现有技术中HDFS存在时延较高以及不能支持多用户写入的问题。
技术实现思路
本专利技术实施例提供一种文件存储方法、装置、电子设备及存储介质,以解决现有技术中HDFS时延较高以及不能支持多用户写入的问题。针对上述问题,第一方面,本专利技术实施例提供一种文件存储方法,应用于单机系统中的一客户单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元;所述方法包括:将一文件上传请求发送至第一目标文件管理单元,其中所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;当接收到所述第一目标文件管理单元根据所述文件上传请求发送的指示允许文件上传的第一响应消息时,根据所述第一响应消息,向所述第一目标文件管理单元发送请求上传第一数据块的第一数据上传请求;当接收到所述第一目标文件管理单元根据所述第一数据上传请求发送的第二响应消息时,根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。第二方面,本专利技术实施例提供一种文件存储方法,应用于单机系统中的第一目标文件管理单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元,所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;所述方法包括:接收第一客户单元发送的文件上传请求;当根据所述文件上传请求检测到允许文件上传时,向所述第一客户单元发送一指示允许文件上传的第一响应消息,以使所述第一客户单元根据所述第一响应消息发送上传第一数据块的第一数据上传请求;根据所述第一数据上传请求,向所述第一客户单元发送第二响应消息,以使所述第一客户单元根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。第三方面,本专利技术实施例提供一种文件存储装置,所述装置应用于单机系统中的一客户单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元;所述装置包括:第一发送模块,用于将一文件上传请求发送至第一目标文件管理单元,其中所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;第二发送模块,用于当接收到所述第一目标文件管理单元根据所述文件上传请求发送的指示允许文件上传的第一响应消息时,根据所述第一响应消息,向所述第一目标文件管理单元发送请求上传第一数据块的第一数据上传请求;第一上传模块,用于当接收到所述第一目标文件管理单元根据所述第一数据上传请求发送的第二响应消息时,根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。第四方面,本专利技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的文件存储方法的步骤。第五方面,本专利技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面所述的文件存储方法的步骤。第六方面,本专利技术实施例提供一种文件存储装置,所述装置应用于单机系统中的第一目标文件管理单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元,所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;所述装置包括:第一接收模块,用于接收第一客户单元发送的文件上传请求;第一发送模块,用于当根据所述文件上传请求检测到允许文件上传时,向所述第一客户单元发送一指示允许文件上传的第一响应消息,以使所述第一客户单元根据所述第一响应消息发送上传第一数据块的第一数据上传请求;第二发送模块,用于根据所述第一数据上传请求,向所述第一客户单元发送第二响应消息,以使所述第一客户单元根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。第七方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面所述的文件存储方法的步骤。第八方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第二方面所述的文件存储方法的步骤。本专利技术实施例提供的文件存储方法、装置、电子设备及存储介质,通过在单机系统中设置多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元,使得客户单元能够将文件上传请求发送至第一目标文件管理单元,该第一目标文件管理单元可以为多个第一文件管理单元中的任意一个,并在接收到第一目标文件管理单元发送的第一响应消息以及携带有用于存储第一数据块的第一目标文件存储单元的信息的第二响应消息时,将第一数据块上传至第一目标文件存储单元上,实现了客户单元能够向多个第一文件管理单元中的任意一个发送文件上传请求,避免了多个客户单元只能够向一个文件管理单元发送文件上传请求的过程,从而实现了多个客户单元能够分别向任意的第一文件管理单元发送文件上传请求,即不同第一文件管理单元能够同时处理文件上传请求,从而实现了多用户写入文件,并且降低了客户单元的请求压力,减少了文件传输时延。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1表示本专利技术实施例中应用于客户单元的文件本文档来自技高网...

【技术保护点】
1.一种文件存储方法,其特征在于,所述方法应用于单机系统中的一客户单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元;所述方法包括:将一文件上传请求发送至第一目标文件管理单元,其中所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;当接收到所述第一目标文件管理单元根据所述文件上传请求发送的指示允许文件上传的第一响应消息时,根据所述第一响应消息,向所述第一目标文件管理单元发送请求上传第一数据块的第一数据上传请求;当接收到所述第一目标文件管理单元根据所述第一数据上传请求发送的第二响应消息时,根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。

【技术特征摘要】
1.一种文件存储方法,其特征在于,所述方法应用于单机系统中的一客户单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元;所述方法包括:将一文件上传请求发送至第一目标文件管理单元,其中所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;当接收到所述第一目标文件管理单元根据所述文件上传请求发送的指示允许文件上传的第一响应消息时,根据所述第一响应消息,向所述第一目标文件管理单元发送请求上传第一数据块的第一数据上传请求;当接收到所述第一目标文件管理单元根据所述第一数据上传请求发送的第二响应消息时,根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。2.根据权利要求1所述的方法,其特征在于,所述根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上,包括:根据所述第二响应消息,将所述第一数据块上传至任意一个第一目标文件存储单元上,由接收所述第一数据块的第一目标文件存储单元将所述第一数据块复制到其他第一目标文件存储单元上。3.根据权利要求1所述的方法,其特征在于,所述单机系统还包括用于备份元数据的第二文件管理单元;当所述文件的文件长度小于或等于一个数据块长度时,所述根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上之后,所述方法还包括:将一文件上传完成的通知消息发送至所述第一目标文件管理单元,以使所述第一目标文件管理单元根据所述通知消息写入所述文件的元数据,并将所述元数据复制至除所述第一目标文件管理单元之外的其他第一文件管理单元以及所述第二文件管理单元上。4.根据权利要求1所述的方法,其特征在于,当所述文件的文件长度大于数据块长度时,在根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上之后,所述方法还包括:依次将所述文件包括的其他数据块上传至与所述其他数据块对应的第二目标文件存储单元上;其中所述第二目标文件存储单元为所述多个文件存储单元中的至少一个。5.根据权利要求1所述的方法,其特征在于,当所述文件未写满整数个数据块时,处于未写满状态的数据块还用于存储其他文件数据。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:将一请求读取文件的请求消息发送至第二目标文件管理单元,其中所述第二目标文件管理单元为所述多个第一文件管理单元中的任意一个;接收所述第二目标文件管理单元根据所述请求消息发送的所述文件的元信息,其中所述元信息包括存储有所述文件的所有数据块的第三目标文件存储单元的信息,且每一数据块对应有至少一个第三目标文件存储单元;根据所述元信息,分别从每一数据块对应的至少一个第三目标文件存储单元中的任意一个第三目标文件存储中下载对应的数据块;其中,在所述文件的数据块下载过程中,对已经完成下载的数据块进行合并处理,直至所述文件的所有数据块合并完成。7.一种文件存储方法,其特征在于,所述方法应用于单机系统中的第一目标文件管理单元,其中,所述单机系统包括多个客户单元、用于进行文件存储的多个文件存储单元以及用于存储元数据且用于进行文件管理的多个第一文件管理单元,所述第一目标文件管理单元为所述多个第一文件管理单元中的任意一个;所述方法包括:接收第一客户单元发送的文件上传请求;当根据所述文件上传请求检测到允许文件上传时,向所述第一客户单元发送一指示允许文件上传的第一响应消息,以使所述第一客户单元根据所述第一响应消息发送上传第一数据块的第一数据上传请求;根据所述第一数据上传请求,向所述第一客户单元发送第二响应消息,以使所述第一客户单元根据所述第二响应消息,将所述第一数据块上传至第一目标文件存储单元上;其中,所述第二响应消息中携带有用于存储所述第一数据块的第一目标文件存储单元的信息,所述第一目标文件存储单元为所述多个文件存储单元中的至少一个。8.根据权利要求7所述的方法,其特征在于,所述单机系统还包括用于备份元数据的第二文件管理单元;所述方法还包括:接收所述第一客户单元发送的文件上传完成的...

【专利技术属性】
技术研发人员:夏正伟
申请(专利权)人:北京百悟科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1