一种大文件传输方法及装置与流程

文档序号:15923008发布日期:2018-11-14 00:50阅读:162来源:国知局

本发明涉及互联网数据处理技术领域,尤其涉及一种大文件传输方法及装置。

背景技术

现有的文件上传过程中,客户端上传容量较大的目标文件时,将大文件切换成小文件,对每个小文件进行标识,并发的将每个小文件上传至服务器。具体的过程包括:客户端向服务器发送初始化请求,此初始化请求中携带此文件的文件信息(包括容量),服务器接收到此初始化请求后,根据文件信息进行初始化过程,初始化过程中包括根据此文件的容量为此文件准备存储区域。服务器在初始化过程结束后,向客户端返回初始化成功响应。客户端收到初始化成功响应后,向服务器发送上传分片文件的请求并向服务器上传分片文件,客户端在上传分片文件过程后可以向服务器发送合成请求,服务器收到合成请求后,开始根据已接收到的分片文件进行整体文件合并,在接收完所有分片文件后,服务器获得合并后的整体文件也可以认为是重构后的目标文件。服务器存储此目标文件,在收到上述客户端或者其它客户端针对此目标文件的下载请求后,将此已存储的目标文件发送至下载请求的客户端。

在上述方法中,客户端在上传分片文件的过程中还可以向服务器发送针对一个或一个以上的分片文件的删除请求,服务器收到此删除请求后,删除已存储的分片文件,如果在此之前收到过合成请求,还可以暂停合成操作,在从客户端收到重新上传的相应分片文件后,再继续进行合成操作。

此方法中,服务器在需要处理的大文件较多时,合成过程较为耗费服务器的处理能力,尤其在大文件在所有文件的比例中占用比例较大的情况下。所以需要进一步提高服务器的处理效率,节省服务器的处理资源。



技术实现要素:

为了解决上述技术问题,本发明提供了一种大文件传输方法及装置。

本发明提供的大文件传输方法,包括:

步骤1,服务器存储目标文件的所有分片文件和分片文件在目标文件中的排序信息和大小信息;在接收分片文件过程中或者在存储完目标文件所有的分片文件后根据各分片文件的排序信息、大小信息和存储地址生成所述目标文件的合成信息;

步骤2,所述服务器从客户端接收到针对所述目标文件的下载请求后,根据所述目标文件的合成信息向客户端按各分片文件在目标文件中的排序向所述客户端提供各分片文件的数据内容。

上述大文件传输方法还具有以下特点:

所述服务器存储目标文件的各分片文件之前还包括:所述服务器从客户端接收分片文件,根据分片文件的标识确定分片文件所属的目标文件以及在所述目标文件中的排序。

上述大文件传输方法还具有以下特点:

所述步骤1中还包括:所述服务器对接收到的分片文件进行备份,在生成所述目标文件的合成信息成功后,删除已存储的目标文件的各分片文件,将备份的各分片文件作为存储后的各分片文件,在生成所述目标文件的合成信息失败后,删除备份的各分片文件。

上述大文件传输方法还具有以下特点:

所述服务器存储目标文件的各分片文件之前还包括:所述服务器从客户端接收目标文件,判断所述目标文件的大小大于预设值后,将所述目标文件分成多个分片文件。

上述大文件传输方法还具有以下特点:

所述预设值根据已存储的文件的大小平均值确定。

本发明提供的大文件传输装置,应用于服务器,包括:

存储模块,用于存储目标文件的分片文件;

合成信息生成模块,用于在接收分片文件过程中或者在存储完目标文件所有的分片文件后根据各分片文件的排序信息、大小信息和存储地址生成所述目标文件的合成信息;

下载请求接收模块,用于从客户端接收到针对所述目标文件的下载请求;

传输模块,用于根据所述目标文件的合成信息向客户端按各分片文件在目标文件中的排序向所述客户端提供各分片文件的数据内容。

上述大文件传输装置还具有以下特点:

此装置还包括文件接收模块,用于从客户端接收分片文件,根据分片文件的标识确定分片文件所属的目标文件以及在所述目标文件中的排序。

上述大文件传输装置还具有以下特点:

所述装置还包括备份管理模块;

所述备份管理模块用于对接收到的分片文件进行备份,在生成所述目标文件的合成信息成功后,删除已存储的目标文件的各分片文件,将备份的各分片文件作为存储后的各分片文件,在生成所述目标文件的合成信息失败后,删除备份的各分片文件。

上述大文件传输装置还具有以下特点:

所述装置还包括判断模块;

所述接收模块,还用于从客户端接收目标文件;

所述判断模块用于在所述接收模块从客户端接收到目标文件后,判断所述目标文件的大小大于预设值时,将所述目标文件分成多个分片文件。

上述大文件传输装置还具有以下特点:

所述预设值根据已存储的文件的大小平均值确定。

本发明节省了耗费处理量的文件合成的步骤,提高了服务器的处理效率,同时减少了服务器的存储冗余。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中大文件传输方法的流程图;

图2是实施例中大文件传输装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1是实施例中大文件传输方法的流程图;此方法包括:

步骤1,服务器存储目标文件的所有分片文件和分片文件在目标文件中的排序信息和大小信息;在接收分片文件过程中或者在存储完目标文件所有的分片文件后根据各分片文件的排序信息、大小信息和存储地址生成目标文件的合成信息;

步骤2,服务器从客户端接收到针对下载目标文件的下载请求后,根据目标文件的合成信息向客户端按各分片文件在目标文件中的排序向客户端提供各分片文件的数据内容。

其中,服务器存储目标文件的分片文件后,在专门的存储区域记录各分片文件的排序信息。排序信息可以是编号式的排序信息,例如某一目标文件划分为5个分片文件,目标文件的标识为abc,按前后顺序关系为5个分片文件的标识为abc-1、abc-2、abc-3、abc-4、abc-5,其中,分片文件标识中第一个字段为目标文件的标识,第二个字段为当前分片文件在目标文件中的排序。

本方法节省了耗费处理量的文件合成的步骤,根据按各分片文件在目标文件中的排序向客户端提供各分片文件的数据内容,使客户端仍能按文件的先后顺序下载到完整文件,提高了服务器的处理效率,同时减少了服务器对分片文件和整体文件均进行存储所造成的存储冗余。

步骤1中服务器从客户端接收文件的方式是以下方式中的一种:

方式一,存储目标文件的各分片文件之前还包括:服务器从客户端接收目标文件的各分片文件。服务器从客户端接收分片文件,根据分片文件的标识确定分片文件所属的目标文件以及在所述目标文件中的排序。在多个客户端共享同一个目标文件时,不同客户端可以上传同一目标文件中的不同分片。

方式二,服务器存储目标文件的各分片文件之前还包括:服务器从客户端接收目标文件,判断目标文件的大小大于预设值后,将目标文件分成多个分片文件。该预设范围还可以是根据服务器已存储的文件的大小平均值确定,根据服务器存储的文件的不同而进行实时的修正。

在步骤1中对应于上述方式一,服务器在接收分片文件过程中根据分片文件的文件信息和存储地址生成目标文件的合成信息

在步骤1中对应于上述方式二,服务器在存储完目标文件所有的分片文件后根据分片文件的文件信息和存储地址生成目标文件的合成信息。

从上述描述可知,本方法可以支持具有不同功能的客户端,客户端在具有文件划分功能时,本方法中的服务器可以使用上述方式从客户端获取分片文件,客户端在不具有文件划分功能时,本方法中的服务器可以自动对收到的完整文件进行划分。

步骤1中还包括:服务器对接收到的分片文件进行备份,在生成目标文件的合成信息成功后,删除已存储的目标文件的各分片文件,将备份的各分片文件作为存储后的各分片文件,在生成目标文件的合成信息失败后,删除备份的各分片文件。此方法可以防止在合成信息未成功时,发送分片文件的客户端或其它客户端要求删除某些已上传成功的分片文件所造成的合成信息失败的情况,有效防止服务器的执行错误,保证服务器处理流程的鲁棒性。

图2是实施例中大文件传输装置的结构图,此装置应用于服务器,包括存储模块、合成信息生成模块、下载请求接收模块、传输模块。

存储模块用于存储目标文件的分片文件;

合成信息生成模块用于在接收分片文件过程中或者在存储完目标文件所有的分片文件后根据各分片文件的容量大小的排序信息和存储地址生成所述目标文件的合成信息;

下载请求接收模块用于从客户端接收到针对目标文件的下载请求;

传输模块,用于根据所述目标文件的合成信息向客户端按各分片文件在目标文件中的排序向所述客户端提供各分片文件的数据内容。

此装置还包括文件接收模块,此模块从客户端接收文件的方式是以下方式中的一种:

一,从客户端接收分片文件,根据分片文件的标识确定分片文件所属的目标文件以及在所述目标文件中的排序;

二,本装置还包括判断模块;接收模块用于从客户端接收目标文件;判断模块用于在所述接收模块从客户端接收到目标文件后,判断所述目标文件的大小大于预设值时,将目标文件分成多个分片文件。

与上述方法中对应,本装置还包括备份管理模块;备份管理模块用于对接收到的分片文件进行备份,在生成所述目标文件的合成信息成功后,删除已存储的目标文件的各分片文件,将备份的各分片文件作为存储后的各分片文件,在生成所述目标文件的合成信息失败后,删除备份的各分片文件。

综上,本发明节省了耗费处理量的文件合成的步骤,提高了服务器的处理效率,同时减少了服务器的存储冗余。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1