CN107360233A - 文件上传的方法、装置、设备及可读存储介质 - Google Patents

文件上传的方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN107360233A
CN107360233A CN201710576080.9A CN201710576080A CN107360233A CN 107360233 A CN107360233 A CN 107360233A CN 201710576080 A CN201710576080 A CN 201710576080A CN 107360233 A CN107360233 A CN 107360233A
Authority
CN
China
Prior art keywords
file
uploaded
upload
fragmentation
burst
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
CN201710576080.9A
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.)
CENTURY DRAGON INFORMATION NETWORK Co Ltd
Original Assignee
CENTURY DRAGON INFORMATION NETWORK 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 CENTURY DRAGON INFORMATION NETWORK Co Ltd filed Critical CENTURY DRAGON INFORMATION NETWORK Co Ltd
Priority to CN201710576080.9A priority Critical patent/CN107360233A/zh
Publication of CN107360233A publication Critical patent/CN107360233A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种文件的上传方法,包括:获取待上传文件;根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列;上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。上述上传方法,对上传文件进行分片,并在上传文件分片的过程中同时计算待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。本发明还提供了一种文件上传的装置、设备以及可读存储介质。

Description

文件上传的方法、装置、设备及可读存储介质
技术领域
本发明涉及网络通信领域,特别是涉及文件上传的方法、装置、设备及可读存储介质。
背景技术
大数据时代,本地存储面临着严峻挑战,基于海量数据的云存储服务已成为用户关注的焦点。而如何将文件快速、稳定的上传至云端服务器是云存储领域中的核心问题。因此,需要采用校验值(如MD5)来对文件是否上传成功以及是否可以进行秒传进行判定。
传统的文件上传方法,需要先对文件进行MD5值计算,再上传文件,而大文件的MD5值计算花费时间过长,因此会增加文件上传所需要的时间。
发明内容
基于此,有必要针对传统的文件上传方法上传时间较长的问题,提供一种文件上传的方法、装置、设备及可读存储介质。
一种文件的上传方法,其中,所述方法包括:
获取待上传文件;
根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
上传所述文件分片,并同时计算所述待上传文件的文件校验值;
判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述文件的上传方法,对待上传文件进行分片,并在上传文件分片的过程中同时计算待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,上传所述文件分片,并同时计算所述待上传文件的文件校验值的步骤包括:
判断所述待上传文件的文件校验值是否计算完成;
若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
若所述校验值判断结果为服务器存在相同的校验值,则停止执行上传所述文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤之前,所述方法还包括:
获取所述待上传文件的上传状态;
若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述方法还包括:
发送断点获取请求,并接收回传的断点信息;
根据所述断点信息获取所述待上传文件对应的断点分片序列;
计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
作为一种实施例,其中,所述发送断点获取请求,并获取回传的断点信息的步骤之前包括:
判断所述待上传文件是否被修改;
若是,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传;
若否,则继续执行所述发送断点获取请求,并获取回传的断点信息的步骤。
作为一种实施例,其中,所述计算所述待上传文件的文件校验值的步骤包括:
计算文件分片的分片校验值;
判断所述文件分片的分片校验值是否计算完成;
若是,则上传所述文件分片的分片校验值。
作为一种实施例,其中,所述上传文件分片的步骤还包括:
获取文件分片序列的分片序列号以及并发上传通道的数量;
根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取相应数量的文件分片;
通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片;
获取服务器的分片上传判断信号;
若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道;
将所述新的文件分片在对应的空闲的上传通道中上传。
作为一种实施例,其中,若所述分片上传判断信号为上传失败,则所述同步依次上传所述文件分片序列中的文件分片的步骤还包括:
重新获取上传失败的文件分片以及空闲的上传通道;
统计所述上传失败的文件分片的失败次数;
若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
一种文件的上传装置,其中,所述装置包括:
文件获取模块,用于获取待上传文件;
分片获取模块,用于根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
分片上传模块,用于上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断模块,用于判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述文件的上传装置,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述文件获取模块之前,所述装置还包括:
文件排序模块,用于根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
文件选取模块,用于根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,分片上传模块包括:
校验判断单元,用于判断所述待上传文件的文件校验值是否计算完成;
结果获取单元,用于若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
停止执行单元,用于若所述校验值判断结果为服务器存在相同的校验值,则停止执行上传所述文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述分片获取模块之前,所述装置还包括:
状态获取模块,获取所述待上传文件的上传状态;
新建任务模块,用于若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述方法还包括:
断点获取模块,用于发送断点获取请求,并接收回传的断点信息;
断点序列获取模块,用于根据所述断点信息获取所述待上传文件对应的断点分片序列;
断点续传模块,用于计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
断点判断模块,用于判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
一种计算机设备,包括处理器、存储器以及存储在存储器中的计算机指令,所述计算机指令在被处理器执行时实现以下方法中的步骤:
获取待上传文件;
根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述计算机设备,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述处理器执行的获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,所述处理器执行的上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值的步骤包括:
判断所述待上传文件的文件校验值是否计算完成;
若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
若所述校验值判断结果为服务器存在相同的校验值,则停止执行上传文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述处理器执行的根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤之前,所述方法还包括:
获取所述待上传文件的上传状态;
若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述处理器执行的计算机程序所实现的方法还包括以下步骤:
发送断点获取请求,并接收回传的断点信息;
根据所述断点信息获取所述待上传文件对应的断点分片序列;
计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
作为一种实施例,其中,所述处理器所执行的发送断点获取请求,并获取回传的断点信息的步骤之前包括:
判断所述待上传文件是否被修改;
若是,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传;
若否,则继续执行所述发送断点获取请求,并获取回传的断点信息的步骤。
作为一种实施例,其中,所述处理器执行的计算所述待上传文件的文件校验值,并同步依次上传所述文件分片序列中的文件分片的步骤包括:
判断所述文件分片的分片校验值是否计算完成;
若是,则上传所述文件分片的分片校验值。
作为一种实施例,其中,所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
获取文件分片序列的分片序列号以及并发上传通道的数量;
根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取相应数量的文件分片;
通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片;
获取服务器的分片上传判断信号;
若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道;
将所述新的文件分片在对应的空闲的上传通道中上传。
作为一种实施例,其中,若所述分片上传判断信号为上传失败,则所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
重新获取上传失败的文件分片以及空闲的上传通道;
统计所述上传失败的文件分片的失败次数;
若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
上述文件的上传设备,对上传文件进行分片,并在上传文件分片的过程中同时计算待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
一种可读存储设备,所述可读存储设备中存储有计算机指令,所述计算机指令在被处理器执行时实现的方法包括以下步骤:
获取待上传文件;
根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述可读存储设备,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述处理器执行的获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,所述处理器执行的上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值的步骤包括:
判断所述待上传文件的文件校验值是否计算完成;
若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
若所述校验值判断结果为服务器存在相同的校验值,则停止执行所述同步上传所述文件的文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述处理器执行的根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤之前,所述方法还包括:
获取所述待上传文件的上传状态;
若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述处理器执行的计算机程序所实现的方法还包括以下步骤:
发送断点获取请求,并接收回传的断点信息;
根据所述断点信息获取所述待上传文件对应的断点分片序列;
计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
作为一种实施例,其中,所述处理器所执行的发送断点获取请求,并获取回传的断点信息的步骤之前包括:
判断所述待上传文件是否被修改;
若是,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传;
若否,则继续执行所述发送断点获取请求,并获取回传的断点信息的步骤。
作为一种实施例,其中,所述处理器执行的计算所述待上传文件的文件校验值,并同步依次上传所述文件分片序列中的文件分片的步骤包括:
判断所述文件分片的分片校验值是否计算完成;
若是,则上传所述文件分片的分片校验值。
作为一种实施例,其中,所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
获取文件分片序列的分片序列号以及并发上传通道的数量;
根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取相应数量的文件分片;
通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片;
获取服务器的分片上传判断信号;
若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道;
将所述新的文件分片在对应的空闲的上传通道中上传。
作为一种实施例,其中,若所述分片上传判断信号为上传失败,则所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
重新获取上传失败的文件分片以及空闲的上传通道;
统计所述上传失败的文件分片的失败次数;
若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
附图说明
图1为其中一个具体实施方式提供的文件的上传方法的应用场景图;
图2为其中一个具体实施方式提供的文件的上传方法的流程图;
图3为其中一个具体实施方式提供的文件分片序列示意图;
图4为其中一个具体实施方式提供的文件上传方法的逻辑示意图;
图5为其中一个具体实施方式提供的上传方法的部分流程图;
图6为其中一个具体实施方式提供的任务状态表;
图7为其中一个具体实施方式提供的任务状态变化示意图;
图8为其中一个具体实施方式提供的上传方法的部分流程图;
图9为其中一个具体实施方式提供的上传方法的部分流程图;
图10为其中一个具体实施方式提供的上传装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为其中一个具体实施方式提供的文件的上传方法的应用场景图。本地终端110与云端服务器120通信连接,本地终端110的存储空间有限,因此要将文件快速、稳定的上传至云端服务器120中。为了节省上传时间以及网络资源,对于云端服务器120中已经存在的文件,本地终端110将不再上传,即秒传。云端服务器120可以根据文件的检验值来判断文件是否已经存在。所述校验值是根据文件生成的值,常见的校验值有MD5值。本地终端110计算待上传文件的MD5值,并将MD5值上传给云端服务器120,云端服务器120根据MD5值判断待上传文件是否已经存在于云端服务器120中。
请参阅图2,图2为其中一个具体实施方式提供的文件的上传方法的流程图,其中,所述方法包括:
S220,获取待上传文件。
具体地,所述待上传文件是指用户或者系统将要上传到服务器的文件。
S240,根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列。
具体地,所述分片规则是根据需求预先设置的对待上传文件进行分片的规则。例如可以根据需求,设定分片的规则是除最后一个分片外,每个分片的大小均为预设值如4M,而最后一个分片的大小不超过该预设值4M。可以理解,分片规则还可以根据文件大小以及网络带宽进行设定。根据所分片规则将所述待上传文件分片。请一并参阅图3,图3为一个具体实施方式提供的文件分片序列示意图。图中的待上传文件的大小为14M,分片的规则是设定分片的规则是除最后一个分片外,每个分片的大小均4M,而最后一个分片的大小不超过4M。按照上述规则,将所述待上传文件分为4片,即获得所述文件分片序列300。所述文件分片序列300为文件分片组成的序列,用分片序列号对每个文件分片进行标识。如图3中的文件分片序列300,所述文件分片序列的序列号可以按照自然数递增的对分片进行编号,4个分片对应的序列号分别为1、2、3以及4,即文件分片310对应的序列号为1、文件分片320对应的序列号为2、文件分片330对应的序列号为3以及文件分片340对应的序列号为4。按照上述分片规则对分片进行编号,可以使得固定的数据库对应固定的序号,使得上传分片的过程更加清晰可控。
S260,上传所述文件分片,并同时计算所述待上传文件的文件校验值。
具体地,在上传文件分片序列中的文件分片的同时,计算上传文件的文件校验值。请一并参阅图4,图4为一个具体实施例提供的文件上传方法的逻辑示意图。所述同时,是指:所述待上传文件分别被校验值计算处理模块与分片上传处理模块处理,由校验值计算处理模块进行待上传文件的校验值以及各个分片的校验值的计算,由分片上传处理模块对待上传文件进行分片处理并获取文件分片序列。两个处理模块得到的结果分别传送至分片上传任务处理器进行上传,即在分片序列中的各个分片依次上传和校验值的计算过程同时进行。可以理解,当所述待上传文件的各个分片的校验值均被计算完成时,所述上传文件的校验值也被计算完成。
S280,判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
具体地,可以根据文件序列的序列号判断文件上传的进度,如果所有的文件分片均被上传,则所述待上传文件完成上传。例如在图3中的待上传文件中,当所有4个文件分片均上传完毕后,则完成所述待上传文件上传。
作为一种具体实施方式,其中,所述获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;根据所述上传文件队列依次获取文件作为待上传文件。
具体地,用户可以一次选择多个文件进行上传,当用户选择好准备上传的多个文件后并发出上传指令后。设备将获取上传的文件,并按照预设的规则将文件排序,获得上传文件队列,然后所述上传文件队列依次获取文件作为待上传文件。所述预设的规则可以包括根据文件大小递增排序、根据文件的大小递减排序、根据文件名称字母顺序排序、根据文件创建的时间排序以及根据文件的修改时间排序中的其中一种,也可以根据具体需求进行设定排序的规则。
请参阅图5,图5为一种具体实施方式提供的上传方法的部分流程图。其中,计算所述待上传文件的文件校验值,并同步上传所述文件分片序列中的文件分片的步骤包括:
S510,判断所述待上传文件的文件校验值是否计算完成。
具体地,判断校验值计算模块是否将待上传文件的文件校验值计算完成。
S520,若计算完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果。
具体地,如果判断所述文件校验值计算完成,则获取所述文件校验值,并将所述文件校验值上传服务器,所述服务器根据上传的校验值进行秒传判断,如果服务器中存在相同的校验值,则下发服务器存在相同的校验值的判断结果,所述待上传文件进行秒传,所述秒传是指一种“忽略式”上传方式,即如果待上传的第一文件的MD5值与服务器中已经存储的第二文件的MD5值相同,则服务器将会直接转存所述第二文件的副本,并通知客户端本次上传完成。如果服务器中不存在相同的校验值,则下发服务器不存在相同的校验值的判断结果,所述待上传文件继续上传。
S530,若所述校验值判断结果为服务器存在相同的校验值,则停止执行所述上传文件分片的步骤,所述待上传文件完成上传。
具体地,如果所述服务器中存在相同的校验值的判断结果,则所述上传文件进行秒传,即停止正在上传的文件分片的步骤,判定所述待上传文件直接完成上传。所述停止正在上传的文件分片,是指在待上传文件所对应的文件分片序列中选取的,正在执行上传的文件分片。
作为一种具体实施方式,其中,在步骤S240,根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列之前,所述方法还包括:
S232,获取所述待上传文件的上传状态。
具体地,所述上传状态是用来描述待上传文件的所处状态的变量或变量集。例如,所述上传状态可以包括新建任务、断点续传、正在上传、错误、完成、成功。所述新任务可以指所述上传任务状态为新任务,需要进行分片以及重新计算校验值。所述断点续传是指上传任务状态为断点续传,表示待上传文件是已经有部分上传完成,只需要将未上传部分进行上传即可。所述错误状态是指所述待上传文件在上传过程中出现意外错误,无法继续上传。所述完成状态是指所述待上传文件的所有分片均完成上传。所述成功状态是指服务器下发上传成功信号,确认所述待上传文件上传成功。所述正在上传是指待上传文件处于上传过程中。
进一步地,上传状态可以由文件任务状态列表进行管理,请一并参阅图6,图6为一个具体实施方式提供的任务状态表,上传状态的具体值以及每个具体值所对应的上传状态。请一并参阅图7,图7为一个具体实施方式提供的任务状态变化示意图。在处理新的待上传文件时,更改待上传文件的上传状态为新任务。然后进入处理,如果上传状态为新任务,则将上传状态更改为正在上传,开始进行上传处理。所述上传处理即开始对待上传文件进行分片获取分片序列,并同时计算待上传文件的校验值。如果可以秒传,则直接进行秒传。如果不能秒传,则等待所有文件分片均上传完成后,将上传状态更改为完成。当上传状态为完成后,将等待服务器下发的是否上传成功信号,若确认待上传文件上传成功,则将上传状态更改为成功。若在预设的延迟时间内不能确认待上传文件上传成功,则将上传状态更改为错误。
再进一步地,请继续参阅图7,如果正在上传的文件被暂停,则将上传状态更改为断点续传。因此,先判断待上传文件的上传状态,若所述上传状态为新任务,则按照新任务的流程对上传任务进行处理。若上传状态为断点续传,则按照断点续传的流程对上传任务进行处理。所述断点续传流程即:获取断点信息,从断点处继续上传待上传文件,等待所有文件分片均上传完成后,将上传状态更改为完成。当上传状态为完成后,将等待服务器下发的是否上传成功信号,若确认待上传文件上传成功,则将上传状态更改为成功。若在预设的延迟时间内不能确认待上传文件上传成功,则将上传状态更改为错误。
S234,若所述上传状态为新任务,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
具体地,如果所述上传状态为新任务,则继续执行步骤S240,继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
请参阅图8,图8为一种具体实施方式的部分流程图,其中,若所述上传状态为断点续传,则所述方法还包括:
S234’,发送断点获取请求,并接收回传的断点信息。
具体地,如果上传状态为断点续传,则需要根据断点续传的流程进行上传。即先获取断点信息,断点信息可以从服务器中获取。即首先向服务器发送断点获取请求,服务器根据断点获取请求发送对应的断点信息。
S235’,根据所述断点信息获取所述待上传文件对应的断点分片序列。
具体地,根据断点信息,获取对待上传文件对应的断点分片序列。所述断点分片序列即根据断点信息,将要继续上传的待上传文件所对应的分片序列。所述断点信息可以包括需要上传的分片序列号、未完成上传分片已经上传的大小等。
S236’,计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片。
具体地,在上传文件分片序列中的文件分片的同时,计算上传文件的文件校验值。所述同步依次上传即在分片序列中的各个分片依次上传和分片校验值的计算过程同时进行。
S237’,判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
具体地,当所有的文件分片全部上传时,则所述待上传文件完成上传。
作为一种具体实施方式,步骤S234’,所述发送断点获取请求,并获取回传的断点信息之前包括:
判断所述待上传文件是否被修改;若是,则继续执行步骤S240,根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列,直到所述待上传文件完成上传;若否,则继续执行步骤S234’。
具体地,由于断点续传时断点记录是由服务器中获取的,因此可能存在中断期间待上传文件在本地被修改的情况,此时,待上传文件实际上变成了新文件,而服务器中的断点记录与待上传文件并不匹配,因此会造成上传错误或者重复上传。为了进一步提高网络利用效率,可以在获取断点上传请求前,对上传状态为断点上传的待上传文件进行判断。如果所述待上传文件在中断期间未发生修改,则继续按照断点上传的流程处理待上传文件,即继续执行步骤S234’,所述发送断点获取请求,并获取回传的断点信息的步骤。如果所述待上传文件在终端期间发生了修改,则需要按照新任务的处理流程处理待上传文件,即继续执行步骤S240,根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列,直到所述待上传文件完成上传。
进一步地,可以通过检查所述被上传文件的修改时间、待上传文件的大小、部分校验值等方法判断所述待上传文件是否在中断期间被修改。
作为一种具体实施方式,其中,所述步骤S260,上传所述文件分片,并同时计算所述待上传文件的文件校验值包括:
S262,计算所述文件分片的分片校验值。
具体地,在计算整个文件的校验值过程中,还同时对分片校验值进行计算。可以理解,计算整个文件的校验值计算过程包含了对每个分片的校验值的计算。
S262,判断所述文件分片的分片校验值是否计算完成。
具体地,如果某个文件分片的分片校验值计算完成,则将该分片的分片校验值上传到服务器中。
S264,若是,则上传所述文件分片的分片校验值。
具体地,将每个分片校验值上传服务器,可以对每个分片进行秒传判断以及是否上传成功的判断,更有利于节省文件的上传时间,提高网络利用效率。
请参阅图9,图9为其中一个具体实施例提供的上传方法的部分流程图。其中,步骤S240中,所述上传文件分片的步骤还包括:
S241,获取文件分片序列的分片序列号以及并发上传通道的数量。
具体地,根据需求配置并发上传通道的数量,所述并发上传通道的数量是指由客户端上传时与服务器建立的通道数量。进一步地,所述并发上传通道的数量需要按照预设的规则对通道数量进行控制。更进一步地,所述预设的规则是指并发上传通道数量和上传的效率成一定的线性关系,所述并发上传通道越多,上传的效率越高但是对客户端的消耗也越大。因此根据具体需求以及客户端的配置来设定所述规则。再进一步地,所述并发上传通道的数量可以为4个、5个或者6个。
S242,根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取与上传通道数量相等的文件分片。
具体地,根据并发上传通道的数量及分片序列号,一次获取相应数量的文件分片进行并发上传。例如,并发上传通道的数量为5个,分片序列号为1、2、3直至20,第一次获取5个分片,即获取分片1至分片5。
S243,通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片。
具体地,将步骤S242中获取的分片分别在并发上传通道中同步上传。例如,将分片1至分片5分别在5个并发上传通道中上传。
S244,获取服务器的分片上传判断信号。
具体地,当一个分片上传成功后,服务器将下发上传成功信号。
S245,若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道。
具体地,如果所述分片上传判断信号为上传成功信号,则获取新的文件分片号以及空闲的上传通道。例如,分片1至分片5分别5个并发上传通道中上传,将要上传的文件分片序列号为分片6。当分片3上传完成后,分片3对应的通道即为空闲的上传通道。则将分片6继续在空闲的上传通道中上传。
S246,将所述新的文件分片在对应的空闲的上传通道中上传。
具体地,将所述新的文件分片在空闲的上传通道中上传,直到文件分片序列中的文件分片全部上传完成。
请继续参阅图9,其中,若所述分片上传判断信号为上传失败,则所述上传文件分片的步骤还包括:
S245’,重新获取上传失败的文件分片以及空闲的上传通道。
具体地,如果上传文件分片失败,则需要重新上传文件分片。获取上传失败的文件分片,并将其在空闲的上传通道中上传。
S246’,统计所述上传失败的文件分片的失败次数。
具体地,对上传失败的文件分片的失败次数进行统计。例如,设置失败次数参数,并将其初始化,当分片1上传失败后,将所述失败次数参数增加1,同时再次将分片1上传,如果仍然上传失败,则将所述失败次数参数再增加1。
S247’,若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
具体地,根据具体需求设置预设阈值,控制上传失败的次数。即如果所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
请参阅图10,图10为一种文件的上传装置的结构示意图,其中,所述装置包括:
文件获取模块1001,用于获取待上传文件;
分片获取模块1003,用于根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
分片上传模块1005,用于上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断模块1007,用于判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述文件的上传装置,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述文件获取模块之前,所述装置还包括:
文件排序模块,用于根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
文件选取模块,用于根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,分片上传模块包括:
校验判断单元,用于判断所述待上传文件的文件校验值是否计算完成;
结果获取单元,用于若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
停止执行单元,用于若所述校验值判断结果为服务器存在相同的校验值,则停止执行所述同步上传所述文件的文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述分片获取模块之前,所述装置还包括:
状态获取模块,获取所述待上传文件的上传状态;
新建任务模块,用于若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述方法还包括:
断点获取模块,用于发送断点获取请求,并接收回传的断点信息;
断点序列获取模块,用于根据所述断点信息获取所述待上传文件对应的断点分片序列;
断点续传模块,用于计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
断点判断模块,用于判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
一种计算机设备,包括处理器、存储器以及存储在存储器中的计算机指令,所述计算机指令在被处理器执行时实现以下方法中的步骤:
获取待上传文件;
根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述计算机设备,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述处理器执行的获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,所述处理器执行的上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值的步骤包括:
判断所述待上传文件的文件校验值是否计算完成;
若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
若所述校验值判断结果为服务器存在相同的校验值,则停止执行所述同步上传所述文件的文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述处理器执行的根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤之前,所述方法还包括:
获取所述待上传文件的上传状态;
若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述处理器执行的计算机程序所实现的方法还包括以下步骤:
发送断点获取请求,并接收回传的断点信息;
根据所述断点信息获取所述待上传文件对应的断点分片序列;
计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
作为一种实施例,其中,所述处理器所执行的发送断点获取请求,并获取回传的断点信息的步骤之前包括:
判断所述待上传文件是否被修改;
若是,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传;
若否,则继续执行所述发送断点获取请求,并获取回传的断点信息的步骤。
作为一种实施例,其中,所述处理器执行的计算所述待上传文件的文件校验值,并同步依次上传所述文件分片序列中的文件分片的步骤包括:
判断所述文件分片的分片校验值是否计算完成;
若是,则上传所述文件分片的分片校验值。
作为一种实施例,其中,所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
获取文件分片序列的分片序列号以及并发上传通道的数量;
根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取相应数量的文件分片;
通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片;
获取服务器的分片上传判断信号;
若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道;
将所述新的文件分片在对应的空闲的上传通道中上传。
作为一种实施例,其中,若所述分片上传判断信号为上传失败,则所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
重新获取上传失败的文件分片以及空闲的上传通道;
统计所述上传失败的文件分片的失败次数;
若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
上述文件的上传设备,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
一种可读存储设备,所述可读存储设备中存储有计算机指令,所述计算机指令在被处理器执行时实现的方法包括以下步骤:
获取待上传文件;
根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
上述可读存储设备,对上传文件进行分片,并在上传文件分片的过程中同时计算上传文件分片的分片校验值以及待上传文件的文件校验值,使得上传文件分片以及计算文件校验值的过程同步进行,从而避免了由于大文件的校验值计算时间过长而导致的上传时间的增加。
作为一种实施例,其中,所述处理器执行的获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
根据所述上传文件队列依次获取文件作为待上传文件。
作为一种实施例,其中,所述处理器执行的上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值的步骤包括:
判断所述待上传文件的文件校验值是否计算完成;
若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
若所述校验值判断结果为服务器存在相同的校验值,则停止执行所述同步上传所述文件的文件分片的步骤,所述待上传文件完成上传。
作为一种实施例,其中,所述处理器执行的根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤之前,所述方法还包括:
获取所述待上传文件的上传状态;
若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传。
作为一种实施例,其中,若所述上传状态为断点续传,则所述处理器执行的计算机程序所实现的方法还包括以下步骤:
发送断点获取请求,并接收回传的断点信息;
根据所述断点信息获取所述待上传文件对应的断点分片序列;
计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
作为一种实施例,其中,所述处理器所执行的发送断点获取请求,并获取回传的断点信息的步骤之前包括:
判断所述待上传文件是否被修改;
若是,则继续执行根据预设的分片规则将所述待文件上传分片,获得所述待上传文件对应的文件分片序列的步骤,直到所述待上传文件完成上传;
若否,则继续执行所述发送断点获取请求,并获取回传的断点信息的步骤。
作为一种实施例,其中,所述处理器执行的计算所述待上传文件的文件校验值,并同步依次上传所述文件分片序列中的文件分片的步骤包括:
判断所述文件分片的分片校验值是否计算完成;
若是,则上传所述文件分片的分片校验值。
作为一种实施例,其中,所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
获取文件分片序列的分片序列号以及并发上传通道的数量;
根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取相应数量的文件分片;
通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片;
获取服务器的分片上传判断信号;
若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道;
将所述新的文件分片在对应的空闲的上传通道中上传。
作为一种实施例,其中,若所述分片上传判断信号为上传失败,则所述处理器执行的同步依次上传所述文件分片序列中的文件分片的步骤还包括:
重新获取上传失败的文件分片以及空闲的上传通道;
统计所述上传失败的文件分片的失败次数;
若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种文件的上传方法,其特征在于,所述方法包括:
获取待上传文件;
根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列;
上传所述文件分片,并同时计算所述待上传文件的文件校验值;所述文件校验值用于服务器根据所述文件校验值进行文件校验;
判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
2.根据权利要求1所述的上传方法,其特征在于,所述获取待上传文件的步骤之前还包括:
根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
根据所述上传文件队列依次获取文件作为待上传文件。
3.根据权利要求1所述的上传方法,其特征在于,上传所述文件分片,并同时计算所述待上传文件的文件校验值的步骤包括:
判断所述待上传文件的文件校验值是否计算完成;
若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
若所述校验值判断结果为服务器存在相同的文件校验值,则停止执行上传所述文件分片的步骤,所述待上传文件完成上传。
4.根据权利要求1所述的上传方法,其特征在于,所述根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤之前,所述方法还包括:
获取所述待上传文件的上传状态;
若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
5.根据权利要求4所述的上传方法,其特征在于,若所述上传状态为断点续传,则所述方法还包括:
发送断点获取请求,并接收回传的断点信息;
根据所述断点信息获取所述待上传文件对应的断点分片序列;
上传所述断点分片序列中的文件分片,并同时计算所述断点分片序列中每个文件分片对应的分片校验值;
判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
6.根据权利要求5所述的上传方法,其特征在于,所述发送断点获取请求,并获取回传的断点信息的步骤之前包括:
判断所述待上传文件是否被修改;
若是,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传;
若否,则继续执行所述发送断点获取请求,并获取回传的断点信息的步骤。
7.根据权利要求1所述的上传方法,其特征在于,所述计算所述待上传文件的文件校验值的步骤包括:
计算文件分片的分片校验值;
判断所述文件分片的分片校验值是否计算完成;
若是,则上传所述文件分片的分片校验值。
8.根据权利要求1所述的上传方法,其特征在于,所述上传所述文件分片的步骤还包括:
获取文件分片序列的分片序列号以及并发上传通道的数量;
根据并发上传通道的数量及文件分片序列的分片序列号,在所述文件分片序列中获取相应数量的文件分片;
通过所述并发上传通道同步上传与所述并发上传通道数量对应的文件分片;
获取服务器的分片上传判断信号;
若所述分片上传判断信号为上传成功,则根据文件分片序列号在文件分片序列中获取新的文件分片以及空闲的上传通道;
将所述新的文件分片在对应的空闲的上传通道中上传。
9.根据权利要求8所述的上传方法,其特征在于,若所述分片上传判断信号为上传失败,则所述上传所述文件分片的步骤还包括:
重新获取上传失败的文件分片以及空闲的上传通道;
统计所述上传失败的文件分片的失败次数;
若所述失败次数小于预设阈值,则将所述上传失败的文件分片在对应的空闲的上传通道中上传。
10.一种文件的上传装置,其特征在于,所述装置包括:
文件获取模块,用于获取待上传文件;
分片获取模块,用于根据预设的分片规则将所述待上传文件分片得到文件分片组成文件分片序列;
分片上传模块,用于上传所述文件分片序列中的文件分片,并同时计算所述待上传文件的文件校验值;
判断模块,用于判断所述文件分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
11.根据权利要求10所述的上传装置,其特征在于,所述文件获取模块之前,所述装置还包括:
文件排序模块,用于根据预设的排列规则将待上传的多个文件排序,获得上传文件队列;
文件选取模块,用于根据所述上传文件队列依次获取文件作为待上传文件。
12.根据权利要求10所述的上传装置,其特征在于,分片上传模块包括:
校验判断单元,用于判断所述待上传文件的文件校验值是否计算完成;
结果获取单元,用于若完成,则上传所述文件校验值,并获取服务器下发的是否存在与所述文件校验值匹配的判断结果;
停止执行单元,用于若所述校验值判断结果为服务器存在相同的校验值,则停止执行上传所述文件分片的步骤,所述待上传文件完成上传。
13.根据权利要求10所述的上传装置,其特征在于,所述分片获取模块之前,所述装置还包括:
状态获取模块,获取所述待上传文件的上传状态;
新建任务模块,用于若所述上传状态为新建任务,则继续执行根据预设的分片规则将所述待上传文件分片,得到文件分片组成文件分片序列的步骤,直到所述待上传文件完成上传。
14.根据权利要求13所述的上传装置,其特征在于,若所述上传状态为断点续传,则所述方法还包括:
断点获取模块,用于发送断点获取请求,并接收回传的断点信息;
断点序列获取模块,用于根据所述断点信息获取所述待上传文件对应的断点分片序列;
断点续传模块,用于计算所述断点分片序列中每个文件分片对应的分片校验值,并同步依次上传所述断点分片序列中的文件分片;
断点判断模块,用于判断所述断点分片序列中的文件分片是否全部上传,若是,则所述待上传文件完成上传。
15.一种计算机设备,包括处理器、存储器以及存储在存储器中的计算机指令,所述计算机指令在被处理器执行时实现权利要求1-9中任一项所述方法中的步骤。
16.一种可读存储介质,所述可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时实现权利要求1-9中任一项所述的方法中的步骤。
CN201710576080.9A 2017-07-14 2017-07-14 文件上传的方法、装置、设备及可读存储介质 Pending CN107360233A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710576080.9A CN107360233A (zh) 2017-07-14 2017-07-14 文件上传的方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710576080.9A CN107360233A (zh) 2017-07-14 2017-07-14 文件上传的方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN107360233A true CN107360233A (zh) 2017-11-17

Family

ID=60293494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710576080.9A Pending CN107360233A (zh) 2017-07-14 2017-07-14 文件上传的方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN107360233A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108093034A (zh) * 2017-12-06 2018-05-29 深圳云天励飞技术有限公司 断点续传方法及装置、电子设备和计算机可读存储介质
CN109600423A (zh) * 2018-11-20 2019-04-09 深圳绿米联创科技有限公司 数据同步方法、装置、电子设备及存储介质
CN111031110A (zh) * 2019-11-29 2020-04-17 山东英信计算机技术有限公司 一种文件上传方法、装置及电子设备和存储介质
CN111314021A (zh) * 2020-02-07 2020-06-19 北京字节跳动网络技术有限公司 数据传输方法、装置、电子设备及计算机可读存储介质
CN112637341A (zh) * 2020-12-22 2021-04-09 平安银行股份有限公司 文件上传方法、装置、电子设备及存储介质
WO2021184992A1 (zh) * 2020-03-16 2021-09-23 华为技术有限公司 一种镜像文件的上传方法、相关设备及计算机存储介质
CN113810433A (zh) * 2020-06-11 2021-12-17 腾讯科技(深圳)有限公司 文件上传方法、装置和计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684712A (zh) * 2012-09-14 2014-03-26 百度在线网络技术(北京)有限公司 文件快速恢复重传的方法、装置及网盘
CN103716199A (zh) * 2013-11-15 2014-04-09 南京云川信息技术有限公司 一种跨协议的p2p安全内容监管方法
CN103731451A (zh) * 2012-10-12 2014-04-16 腾讯科技(深圳)有限公司 一种文件上传的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684712A (zh) * 2012-09-14 2014-03-26 百度在线网络技术(北京)有限公司 文件快速恢复重传的方法、装置及网盘
CN103731451A (zh) * 2012-10-12 2014-04-16 腾讯科技(深圳)有限公司 一种文件上传的方法及系统
CN103716199A (zh) * 2013-11-15 2014-04-09 南京云川信息技术有限公司 一种跨协议的p2p安全内容监管方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108093034A (zh) * 2017-12-06 2018-05-29 深圳云天励飞技术有限公司 断点续传方法及装置、电子设备和计算机可读存储介质
CN109600423A (zh) * 2018-11-20 2019-04-09 深圳绿米联创科技有限公司 数据同步方法、装置、电子设备及存储介质
CN109600423B (zh) * 2018-11-20 2021-07-06 深圳绿米联创科技有限公司 数据同步方法、装置、电子设备及存储介质
CN111031110A (zh) * 2019-11-29 2020-04-17 山东英信计算机技术有限公司 一种文件上传方法、装置及电子设备和存储介质
CN111031110B (zh) * 2019-11-29 2023-01-24 山东英信计算机技术有限公司 一种文件上传方法、装置及电子设备和存储介质
CN111314021A (zh) * 2020-02-07 2020-06-19 北京字节跳动网络技术有限公司 数据传输方法、装置、电子设备及计算机可读存储介质
WO2021184992A1 (zh) * 2020-03-16 2021-09-23 华为技术有限公司 一种镜像文件的上传方法、相关设备及计算机存储介质
CN113810433A (zh) * 2020-06-11 2021-12-17 腾讯科技(深圳)有限公司 文件上传方法、装置和计算机设备
CN112637341A (zh) * 2020-12-22 2021-04-09 平安银行股份有限公司 文件上传方法、装置、电子设备及存储介质
CN112637341B (zh) * 2020-12-22 2022-12-13 平安银行股份有限公司 文件上传方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107360233A (zh) 文件上传的方法、装置、设备及可读存储介质
CN110532247B (zh) 数据迁移方法和数据迁移系统
CN106850188B (zh) 一种基于多路异构单向传输通道的数据传输系统
CN102710630B (zh) 一种多线程分片的云上传下载方法及系统
CN106528418B (zh) 一种测试方法及装置
CN103377087B (zh) 一种数据任务处理方法、装置及系统
CN107483627A (zh) 一种文件分发、下载方法、分发服务器、客户端及系统
CN106354865B (zh) 一种同步主从数据库的方法、装置和系统
US9152466B2 (en) Organizing file events by their hierarchical paths for multi-threaded synch and parallel access system, apparatus, and method of operation
CN108134690B (zh) 网络业务部署流程控制方法、装置及系统
CN109799948B (zh) 一种数据存储方法及装置
CN107870948A (zh) 任务调度方法和装置
CN103259797B (zh) 数据文件传输方法及平台
CN104484167B (zh) 任务处理方法及装置
CN105721526B (zh) 一种终端、服务器文件同步的方法及装置
CN107832383B (zh) 一种跨机房数据库的数据一致性校验方法
CN107301178A (zh) 数据查询处理方法、装置及系统
CN109639768A (zh) 一种分布式分块文件传输方法及系统
Joshi Efficient redundancy techniques to reduce delay in cloud systems
US20160253219A1 (en) Data stream processing based on a boundary parameter
CN113111043A (zh) 一种中台源数据文件的处理方法、装置、系统及存储介质
CN108243146A (zh) 一种高效的信息提交方法
CN111198754A (zh) 一种任务调度方法及装置
CN107316176A (zh) 保单处理的控制方法和装置
CN106101710A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20171117

RJ01 Rejection of invention patent application after publication