CN114338653A - 文件断点续传方法及装置 - Google Patents
文件断点续传方法及装置 Download PDFInfo
- Publication number
- CN114338653A CN114338653A CN202111649735.3A CN202111649735A CN114338653A CN 114338653 A CN114338653 A CN 114338653A CN 202111649735 A CN202111649735 A CN 202111649735A CN 114338653 A CN114338653 A CN 114338653A
- Authority
- CN
- China
- Prior art keywords
- file
- storage server
- uploaded
- target
- uploading
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013467 fragmentation Methods 0.000 abstract description 5
- 238000006062 fragmentation reaction Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种文件断点续传方法及装置。其中,该方法包括:接收终端的文件上传请求,该请求中包括待上传文件及文件标识;将待上传文件发送至目标存储服务器,由目标存储服务器上传待上传文件,并在目标存储服务器中断上传时,将已上传文件信息进行缓存,该已上传文件信息中至少包括文件标识及已上传文件大小;接收终端的文件续传请求,该请求中包括基于已上传文件大小确定的文件上传断点位置;将文件上传断点位置发送至目标存储服务器,由目标存储服务器从文件上传断点位置继续上传待上传文件。本申请解决了现有的文件断点续传技术需要分片缓存多个文件,缓存效率低且对系统负载较高的技术问题。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种文件断点续传方法及装置。
背景技术
随着网络技术的不断发展,网络在人们日常生活中的应用也日益广泛,利用网络实现资源共享也得到普遍应用。用户终端可以根据需要将共享文件上传到网络服务器中,也可以从服务器下载需要的文件。然而,在文件传输的过程中,如果网络发生中断等情况,会造成文件传输中止。
为解决文件传输中止问题,文件断点续传应运而生。文件断点续传是指在下载或上传时,将下载或上传任务划分为几个部分,每部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传或下载未完成的部分,而无需从头开始上传下载,用户可以节省时间,提高速度。
然而,由于目前处理文件断点续传时,大多采用分片多线程上传,需要缓存大量文件,然后再合并文件,当某批次记录点异常时,可能导致整个文件错误,而且在并发场景中,文件缓存效率较低,且线程文件片段缓存对系统负载较高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种文件断点续传方法及装置,以至少解决现有的文件断点续传技术需要分片缓存多个文件,缓存效率低且对系统负载较高的技术问题。
根据本申请实施例的一个方面,提供了一种文件断点续传方法,包括:接收终端的文件上传请求,所述文件上传请求中包括待上传文件及文件标识;将所述待上传文件发送至目标存储服务器,由所述目标存储服务器上传所述待上传文件,并在所述目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,所述已上传文件信息中至少包括所述文件标识及已上传文件大小;接收所述终端的文件续传请求,所述文件续传请求中包括基于所述已上传文件大小确定的文件上传断点位置;将所述文件上传断点位置发送至所述目标存储服务器,由所述目标存储服务器从所述文件上传断点位置继续上传所述待上传文件。
可选地,从分布式存储服务器集群中确定所述目标存储服务器,并将所述待上传文件发送至所述目标存储服务器,由所述目标存储服务器上传所述待上传文件;在所述目标存储服务器中断上传时,接收所述目标存储服务器反馈的成功状态码,将已上传文件信息以键值对形式进行缓存,其中,所述键值对的键为所述文件标识,所述键值对的值至少包括所述已上传文件大小。
可选地,响应于所述终端的查询请求,查询所述已上传文件信息,其中,所述查询请求中包括所述文件标识。
可选地,将所述文件上传断点位置基于所述目标存储服务器的私有协议打包发送至所述目标存储服务器,由所述目标存储服务器解析得到所述文件上传断点位置,并从所述文件上传断点位置继续上传所述待上传文件。
可选地,在所述目标存储服务器续传文件失败时,接收所述目标存储服务器反馈的失败状态码,不更新所述已上传文件信息;在所述目标存储服务器续传文件成功,但未接收到所述目标存储服务器反馈的成功状态码时,不更新所述已上传文件信息。
根据本申请实施例的另一方面,还提供了另一种文件断点续传方法,包括:接收终端的文件下载请求,所述下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的从所述目标下载文件的所述文件下载断点位置处开始下载的目标文件;将所述目标文件发送至所述终端。
可选地,所述文件存储信息中至少包括:所述目标下载文件的名称、存储路径及大小,所述存储器集群中第一次接收所述目标下载文件的第一服务器的标识以及所述目标下载文件上传至所述第一服务器的文件上传时间;基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器,包括:确定所述存储器集群中的各个存储服务器的文件同步时间,其中,所述存储器集群中的各个存储服务器中的文件互相同步,任一所述存储服务器的文件同步时间为所述存储器集群中的其他存储服务器将所述目标下载文件最后一次同步至所述存储服务器的时间的最小值;基于所述文件上传时间和所述各个存储服务器的文件同步时间,从所述存储器集群中选择至少一个备选存储服务器;基于负载均衡的轮询方式从所述至少一个备选存储服务器中确定所述目标存储服务器。
根据本申请实施例的另一方面,还提供了一种文件断点续传装置,包括:第一接收模块,用于接收终端的文件上传请求,所述文件上传请求中包括待上传文件及文件标识;第一发送模块,用于将所述待上传文件发送至目标存储服务器,由所述目标存储服务器上传所述待上传文件,并在所述目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,所述已上传文件信息中至少包括所述文件标识及已上传文件大小;第二接收模块,用于接收所述终端的文件续传请求,所述文件续传请求中包括基于所述已上传文件大小确定的文件上传断点位置;第二发送模块,用于将所述文件上传断点位置发送至所述目标存储服务器,由所述目标存储服务器从所述文件上传断点位置继续上传所述待上传文件。
根据本申请实施例的另一方面,还提供了另一种文件断点续传装置,包括:接收模块,用于接收终端的文件下载请求,所述下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;选择模块,用于基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;获取模块,用于将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的从所述目标下载文件的所述文件下载断点位置处开始下载的目标文件;发送模块,用于将所述目标文件发送至所述终端。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述的文件断点续传方法。
在本申请实施例中,在文件上传中断时,通过将存储服务器的已上传文件信息进行缓存,该已上传文件信息中至少包括已上传文件大小,在文件续传时,即可根据已上传文件信息确定文件上传断点位置,从而实现存储服务器从文件上传断点位置处继续上传文件;在文件下载中断并需要继续下载时,可以在下载请求中携带目标下载文件对应的存储器集群标识、文件存储信息及文件下载断点位置,在基于存储器集群标识和文件存储信息确定目标存储服务器后,由目标存储服务器从文件下载断点位置处继续下载目标文件并反馈至终端;通过以上方案,解决了现有的文件断点续传技术需要分片缓存多个文件,缓存效率低且对系统负载较高技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种文件断点续传方法的流程示意图;
图2是根据本申请实施例的一种文件断点上传过程的示意图;
图3是根据本申请实施例的另一种文件断点续传方法的流程示意图;
图4是根据本申请实施例的一种文件断点下载过程的示意图;
图5是根据本申请实施例的一种文件断点续传装置的结构示意图;
图6是根据本申请实施例的另一种文件断点续传装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,提供了一种文件断点续传方法,主要针对文件断点上传场景,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种可选的文件断点续传方法的流程示意图,如图1所示,该方法至少包括步骤S102-S108,其中:
步骤S102,接收终端的文件上传请求,文件上传请求中包括待上传文件及文件标识。
其中,终端可以是用户的手机、计算机等设备,用户可以通过终端发送文件上传请求,该文件上传请求中包括有待上传文件及文件标识tid,该文件标识关联待上传文件的整个会话;服务器中的反向代理模块会接收终端基于http协议发送的文件上传请求。
步骤S104,将待上传文件发送至目标存储服务器,由目标存储服务器上传待上传文件,并在目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,已上传文件信息中至少包括文件标识及已上传文件大小。
在本申请一些可选的实施例中,可以从分布式存储服务器集群中确定目标存储服务器,并将待上传文件发送至目标存储服务器,由目标存储服务器上传待上传文件;在目标存储服务器中断上传时,接收目标存储服务器反馈的成功状态码,将已上传文件信息以键值对形式进行缓存,其中,键值对的键为文件标识,键值对的值至少包括已上传文件大小。
具体地,反向代理模块接收文件上传请求后,可以将其发送至决策模块;决策模块可以基于负载均衡的轮询方式,从分布式存储服务器集群中确定目标存储服务器,并将其反馈给反向代理模块;反向代理模块将待上传文件发送至目标存储服务器,由目标存储服务器将该待上传文件写入磁盘;当目标存储服务器完成上传时,或是受网络等影响中断上传时,可以向反向代理模块反馈一个成功状态码;反向代理模块接收该成功状态码后,可以将已上传文件信息以键值对(key-value)形式缓存至缓存模块redis,其中,该键值对的键key为文件标识,键值对的值value至少包括已上传文件大小,还可以包括文件类型、对应的目标存储服务器标识、文件存储路径等信息。
步骤S106,接收终端的文件续传请求,文件续传请求中包括基于已上传文件大小确定的文件上传断点位置。
在接收终端的文件续传请求之前,反向代理模块会响应于终端的查询请求,查询已上传文件信息,其中,查询请求中包括文件标识。
具体地,受网络等原因影响导致上传文件中断时,终端会向反向代理模块发送带有文件标识的查询请求,反向代理模块基于该文件标识从缓存模块中查询对应文件的已上传文件信息,并反馈给终端。
之后,终端会基于已上传文件信息中的已上传文件大小,确定文件上传断点位置,并发送携带有该文件上传断点位置信息的文件续传请求,具体地,文件续传请求对应的http协议头中带有Content-Range,用于确定文件上传断点位置。
步骤S108,将文件上传断点位置发送至目标存储服务器,由目标存储服务器从文件上传断点位置继续上传待上传文件。
在本申请一些可选的实施例中,可以将文件上传断点位置基于目标存储服务器的私有协议打包发送至目标存储服务器,由目标存储服务器解析得到文件上传断点位置,并从文件上传断点位置继续上传待上传文件。
具体地,反向代理模块可以基于目标存储服务器的私有协议,打包一个带有offset(文件上传断点位置)的包发送至目标存储服务器,目标存储服务器解析该包得到offset后,可以将文件指针移动到offset处继续写入文件内容,即实现从文件上传断点位置处继续上传待上传文件。
当待上传文件续传完成后,目标存储服务器同样向反向代理模块反馈一个成功状态码;反向代理模块接收该成功状态码后,可以更新已上传文件信息。
在本申请一些可选的实施例中,在目标存储服务器续传文件失败时,会接收目标存储服务器反馈的失败状态码,不更新已上传文件信息。例如目标存储服务器因磁盘空间不足等原因,导致文件写入失败,目标存储服务器会向反向代理模块反馈一个失败状态码;反向代理模块接收该失败状态码后,不会在缓存模块插入或更新已上传文件信息;当终端再次发起续传时,仍依据先前的已上传文件信息确定文件上传断点位置并续传文件。
可选地,在目标存储服务器续传文件成功,但未接收到目标存储服务器反馈的成功状态码时,也不更新已上传文件信息。例如目标存储服务器成功将文件写入磁盘,但因网络中断导致反向代理模块未收到反馈的成功状态码,此时也不会在缓存模块插入或更新已上传文件信息;当终端再次发起续传时,仍依据先前的已上传文件信息确定文件上传断点位置并续传文件。
基于以上方案,针对断点续传中各种异常情况,都能保证文件上传的完整性和正确性。
图3为一种可选的文件断点上传过程的示意图,其中:
1、终端向反向代理模块发送上传请求;
2、反向代理模块请求决策模块确定目标存储服务器;
3、决策模块向反向代理模块反馈目标存储服务器;
4、反向代理模块将待上传文件发送至目标存储服务器;
5、目标存储服务器上传待上传文件,并向反向代理模块反馈成功状态码;
6、反向代理模块将已上传文件信息缓存至缓存模块;
7、终端向反向代理模块发送查询请求;
8、反向代理模块从缓存模块查询已上传文件信息并反馈给终端;
9、终端向反向代理模块发送携带有文件上传断点位置的文件续传请求;
10、反向代理模块将文件上传断点位置发送至目标存储服务器;
11、目标存储服务器从文件上传断点位置处续传待上传文件,并向反向代理模块反馈成功状态码;
12、反向代理模块将已上传文件信息更新至缓存模块。
在本申请实施例中,首先接收终端的文件上传请求,该文件上传请求中包括待上传文件及文件标识;然后将待上传文件发送至目标存储服务器,由目标存储服务器上传待上传文件,并在目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,已上传文件信息中至少包括文件标识及已上传文件大小;之后接收终端的文件续传请求,文件续传请求中包括基于已上传文件大小确定的文件上传断点位置;将文件上传断点位置发送至目标存储服务器,由目标存储服务器从文件上传断点位置继续上传待上传文件。由于该过程只需要缓存已上传文件信息,无需缓存文件,从而解决了现有的文件断点续传技术需要分片缓存多个文件,缓存效率低且对系统负载较高技术问题。
实施例2
根据本申请实施例,还提供了另一种文件断点续传方法,主要针对文件断点下载场景,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本申请实施例的一种可选的文件断点续传方法的流程示意图,如图3所示,该方法至少包括步骤S302-S308,其中:
步骤S302,接收终端的文件下载请求,下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置。
其中,终端可以是用户的手机、计算机等设备,用户可以通过终端向反向代理模块请求下载文件,反向代理模块接收终端通过http协议发送的下载请求,该下载请求中携带有目标下载文件对应的存储器集群标识和文件存储信息,文件存储信息中通常包括:目标下载文件的名称、存储路径及大小,存储器集群中第一次接收目标下载文件的第一服务器的标识以及目标下载文件上传至第一服务器的文件上传时间;同时,http协议头中带有Range:bytes:start-end,用于确定文件下载断点位置。
步骤S304,基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器。
其中,反向代理模块会将下载请求中的存储器集群标识和文件存储信息通过决策模块定义的私有协议发送至决策模块,决策模块可以根据这些信息从存储器集群中的多个存储服务器中确定用于下载目标文件的目标存储服务器。
在本申请一些可选的实施例中,决策模块首先确定存储器集群中的各个存储服务器的文件同步时间,其中,由于存储器集群中的各个存储服务器中的文件互相同步,任一存储服务器的文件同步时间为存储器集群中的其他存储服务器将目标文件最后一次同步至该存储服务器的时间中的最小值;然后基于文件上传时间和各个存储服务器的文件同步时间,从存储器集群中选择至少一个备选存储服务器;再从至少一个备选存储服务器中确定目标存储服务器。
其中,为保证最终的目标存储服务器中的文件已完成同步,在确定备选存储服务器时,可以参考以下实施步骤。
1、确定文件上传时间与当前时间的时间差,若时间差大于第一预设时长,将存储器集群中的所有存储服务器均作为备选存储服务器。其中,第一预设时长可以设置为24h,即当文件最后一次上传时间为24h之前时,可以认为当前所有的存储服务器中的目标文件均已完成同步,可以作为备选存储服务器。
2、若时间差小于第一预设时长,将存储器集群中的各个存储服务器的文件同步时间与文件上传时间进行比较,若存在文件同步时间晚于文件上传时间的存储服务器,将存储服务器作为备选存储服务器。可以理解地,文件同步时间晚于文件上传时间的存储服务器中的目标文件必然已完成同步,该存储服务器可以作为备选存储服务器。
3、若存在文件同步时间早于文件上传时间但不超过第二预设时长的存储服务器,且时间差大于第三预设时长,将存储服务器作为备选存储服务器。其中,第二预设时长可以设置为1s,第三预设时长可以设置为300s,即当文件最后一次上传时间为300s之前,若某一存储服务器的文件同步时间虽早于该文件上传时间但不超过1s,则认为该存储服务器正在同步目标文件且当前已同步完成,可以作为备选存储服务器。
4、若以上条件均不满足,则可以将第一服务器作为唯一的备选存储服务器,即最终的目标存储服务器。
之后,决策模块可以基于负载均衡的轮询方式从至少一个备选存储服务器中确定目标存储服务器,并将该目标存储服务器反馈给反向代理模块。
步骤S306,将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的从目标下载文件的文件下载断点位置处开始下载的目标文件。
步骤S308,将目标文件发送至终端。
具体地,反向代理模块会将下载请求发送至目标存储服务器,目标存储服务器会从目标下载文件的文件下载断点位置处开始下载文件,并将得到的目标文件发送至反向代理模块,由反向代理模块反馈至终端。
图4为一种可选的文件断点下载过程的示意图,其中:
1、终端向反向代理模块发送下载请求;
2、反向代理模块将下载请求信息发送至决策模块;
3、决策模块确定目标存储服务器并反馈给反向代理模块;
4、反向代理模块将下载请求发送至目标存储服务器;
5、目标存储服务器将目标文件发送至反向代理模块;
6、反向代理模块将目标文件反馈至终端。
在本申请实施例中,首先接收终端的文件下载请求,该下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;然后基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;再将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的从目标下载文件的文件下载断点位置处开始下载的目标文件;最后将目标文件发送至终端。该过程中,基于存储器集群标识和文件存储信息可以快速确定对应的存储服务器,提高寻址效率,基于文件下载断点位置即可从该位置处继续下载文件,提高了文件断点下载效率,从而解决了现有的文件断点续传技术需要分片缓存多个文件,缓存效率低且对系统负载较高技术问题。
实施例3
根据本申请实施例,提供了一种用于实现实施例1中的文件断点续传方法的文件断点续传装置,如图5所示,该装置至少包括:第一接收模块50,第一发送模块52,第二接收模块54和第二发送模块56,其中:
第一接收模块50,用于接收终端的文件上传请求,文件上传请求中包括待上传文件及文件标识;
第一发送模块52,用于将待上传文件发送至目标存储服务器,由目标存储服务器上传待上传文件,并在目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,已上传文件信息中至少包括文件标识及已上传文件大小;
第二接收模块54,用于接收终端的文件续传请求,文件续传请求中包括基于已上传文件大小确定的文件上传断点位置;
第二发送模块56,用于将文件上传断点位置发送至目标存储服务器,由目标存储服务器从文件上传断点位置继续上传待上传文件。
需要说明的是,本申请实施例中的文件断点续传装置中的各模块与实施例1中的文件断点续传方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
实施例4
根据本申请实施例,还提供了另一种用于实现实施例2中的文件断点续传方法的文件断点续传装置,如图6所示,该装置至少包括:接收模块60,选择模块62,获取模块64和发送模块66,其中:
接收模块60,用于接收终端的文件下载请求,下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;
选择模块62,用于基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;
获取模块64,用于将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的从目标下载文件的文件下载断点位置处开始下载的目标文件;
发送模块66,用于将目标文件发送至终端。
需要说明的是,本申请实施例中的文件断点续传装置中的各模块与实施例2中的文件断点续传方法的各实施步骤一一对应,由于实施例2中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例2,在此不再过多赘述。
实施例5
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行实施例1或实施例2中的文件断点续传方法。
具体地,在程序运行时控制非易失性存储介质所在设备执行实现以下步骤:接收终端的文件上传请求,文件上传请求中包括待上传文件及文件标识;将待上传文件发送至目标存储服务器,由目标存储服务器上传待上传文件,并在目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,已上传文件信息中至少包括文件标识及已上传文件大小;接收终端的文件续传请求,文件续传请求中包括基于已上传文件大小确定的文件上传断点位置;将文件上传断点位置发送至目标存储服务器,由目标存储服务器从文件上传断点位置继续上传待上传文件。
可选地,在程序运行时控制非易失性存储介质所在设备执行实现以下步骤:接收终端的文件下载请求,下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的从目标下载文件的文件下载断点位置处开始下载的目标文件;将目标文件发送至终端。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种文件断点续传方法,其特征在于,包括:
接收终端的文件上传请求,所述文件上传请求中包括待上传文件及文件标识;
将所述待上传文件发送至目标存储服务器,由所述目标存储服务器上传所述待上传文件,并在所述目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,所述已上传文件信息中至少包括所述文件标识及已上传文件大小;
接收所述终端的文件续传请求,所述文件续传请求中包括基于所述已上传文件大小确定的文件上传断点位置;
将所述文件上传断点位置发送至所述目标存储服务器,由所述目标存储服务器从所述文件上传断点位置继续上传所述待上传文件。
2.根据权利要求1所述的方法,其特征在于,将所述待上传文件发送至目标存储服务器,由所述目标存储服务器上传所述待上传文件,并在所述目标存储服务器停止上传时,将已上传文件信息进行缓存,包括:
从分布式存储服务器集群中确定所述目标存储服务器,并将所述待上传文件发送至所述目标存储服务器,由所述目标存储服务器上传所述待上传文件;
在所述目标存储服务器中断上传时,接收所述目标存储服务器反馈的成功状态码,将已上传文件信息以键值对形式进行缓存,其中,所述键值对的键为所述文件标识,所述键值对的值至少包括所述已上传文件大小。
3.根据权利要求1所述的方法,其特征在于,在接收所述终端的文件续传请求之前,所述方法还包括:
响应于所述终端的查询请求,查询所述已上传文件信息,其中,所述查询请求中包括所述文件标识。
4.根据权利要求1所述的方法,其特征在于,将所述文件上传断点位置发送至所述目标存储服务器,由所述目标存储服务器从所述文件上传断点位置继续上传所述待上传文件,包括:
将所述文件上传断点位置基于所述目标存储服务器的私有协议打包发送至所述目标存储服务器,由所述目标存储服务器解析得到所述文件上传断点位置,并从所述文件上传断点位置继续上传所述待上传文件。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标存储服务器续传文件失败时,接收所述目标存储服务器反馈的失败状态码,不更新所述已上传文件信息;
在所述目标存储服务器续传文件成功,但未接收到所述目标存储服务器反馈的成功状态码时,不更新所述已上传文件信息。
6.一种文件断点续传方法,其特征在于,包括:
接收终端的文件下载请求,所述下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;
基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;
将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的从所述目标下载文件的所述文件下载断点位置处开始下载的目标文件;
将所述目标文件发送至所述终端。
7.根据权利要求6所述的方法,其特征在于,所述文件存储信息中至少包括:所述目标下载文件的名称、存储路径及大小,所述存储器集群中第一次接收所述目标下载文件的第一服务器的标识以及所述目标下载文件上传至所述第一服务器的文件上传时间,基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器,包括:
确定所述存储器集群中的各个存储服务器的文件同步时间,其中,所述存储器集群中的各个存储服务器中的文件互相同步,任一所述存储服务器的文件同步时间为所述存储器集群中的其他存储服务器将所述目标下载文件最后一次同步至所述存储服务器的时间的最小值;
基于所述文件上传时间和所述各个存储服务器的文件同步时间,从所述存储器集群中选择至少一个备选存储服务器;
基于负载均衡的轮询方式从所述至少一个备选存储服务器中确定所述目标存储服务器。
8.一种文件断点续传装置,其特征在于,包括:
第一接收模块,用于接收终端的文件上传请求,所述文件上传请求中包括待上传文件及文件标识;
第一发送模块,用于将所述待上传文件发送至目标存储服务器,由所述目标存储服务器上传所述待上传文件,并在所述目标存储服务器中断上传时,将已上传文件信息进行缓存,其中,所述已上传文件信息中至少包括所述文件标识及已上传文件大小;
第二接收模块,用于接收所述终端的文件续传请求,所述文件续传请求中包括基于所述已上传文件大小确定的文件上传断点位置;
第二发送模块,用于将所述文件上传断点位置发送至所述目标存储服务器,由所述目标存储服务器从所述文件上传断点位置继续上传所述待上传文件。
9.一种文件断点续传装置,其特征在于,包括:
接收模块,用于接收终端的文件下载请求,所述下载请求中至少包括:目标下载文件对应的存储器集群标识、文件存储信息、文件下载断点位置;
选择模块,用于基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;
获取模块,用于将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的从所述目标下载文件的所述文件下载断点位置处开始下载的目标文件;
发送模块,用于将所述目标文件发送至所述终端。
10.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至5中任意一项所述的文件断点续传方法或权利要求6至7中任意一项所述的文件断点续传方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111649735.3A CN114338653A (zh) | 2021-12-29 | 2021-12-29 | 文件断点续传方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111649735.3A CN114338653A (zh) | 2021-12-29 | 2021-12-29 | 文件断点续传方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338653A true CN114338653A (zh) | 2022-04-12 |
Family
ID=81019548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111649735.3A Withdrawn CN114338653A (zh) | 2021-12-29 | 2021-12-29 | 文件断点续传方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338653A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190117A (zh) * | 2022-07-11 | 2022-10-14 | 南京国盛华兴科技有限公司 | 一种文件上传的控制方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634407A (zh) * | 2013-12-11 | 2014-03-12 | 北京荣之联科技股份有限公司 | 一种云存储文件断点续传的方法和装置 |
CN105141696A (zh) * | 2015-09-17 | 2015-12-09 | 成都华为技术有限公司 | 文件上传方法和装置 |
CN108234539A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种文件上传、下载、传输方法及装置 |
CN113568884A (zh) * | 2021-09-26 | 2021-10-29 | 武汉四通信息服务有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
WO2021237467A1 (zh) * | 2020-05-26 | 2021-12-02 | 深圳元戎启行科技有限公司 | 文件上传方法、文件下载方法和文件管理装置 |
-
2021
- 2021-12-29 CN CN202111649735.3A patent/CN114338653A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634407A (zh) * | 2013-12-11 | 2014-03-12 | 北京荣之联科技股份有限公司 | 一种云存储文件断点续传的方法和装置 |
CN105141696A (zh) * | 2015-09-17 | 2015-12-09 | 成都华为技术有限公司 | 文件上传方法和装置 |
CN108234539A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种文件上传、下载、传输方法及装置 |
WO2021237467A1 (zh) * | 2020-05-26 | 2021-12-02 | 深圳元戎启行科技有限公司 | 文件上传方法、文件下载方法和文件管理装置 |
CN113568884A (zh) * | 2021-09-26 | 2021-10-29 | 武汉四通信息服务有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190117A (zh) * | 2022-07-11 | 2022-10-14 | 南京国盛华兴科技有限公司 | 一种文件上传的控制方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1721438B1 (en) | Server, method and system for caching data streams | |
EP2957052B1 (en) | Media delivery service protocol to support large numbers of client with error failover processes | |
CN111190747A (zh) | 用于消息队列的消息丢失检测方法和装置 | |
EP1592184A2 (en) | Method and system for transmitting data for data synchronization between server and client when data synchronization session was abnormally terminated | |
CN110247985B (zh) | 一种资源下载方法、装置、电子设备及介质 | |
CN112367149B (zh) | 消息获取方法、装置、设备及存储介质 | |
CN105450682A (zh) | 一种用于数据同步保存、向客户端同步数据的方法、装置和系统 | |
CN110958150B (zh) | 一种服务动态配置的管理方法及装置 | |
CN114338653A (zh) | 文件断点续传方法及装置 | |
KR20160026138A (ko) | 클라우드 데이터 시스템의 급속 동기화 방법 및 그를 이용한 클라우드 데이터 시스템 | |
CN113268540B (zh) | 一种数据同步的方法及装置 | |
CN109688176B (zh) | 一种文件同步方法及终端、网络设备、存储介质 | |
JP5109901B2 (ja) | セッションデータ共有方法 | |
CN107786607B (zh) | 一种消息重传方法、消息重传服务器及用户设备 | |
CN110830381B (zh) | 拥塞控制方法及相关设备 | |
CN110895583B (zh) | 数据资源获取的方法、装置和系统 | |
CN107707590A (zh) | 数据传输的系统、方法及装置 | |
CN113747252B (zh) | 一种多媒体资源的传输方法、装置和系统 | |
CN111316606A (zh) | 控制器-交换机网络中的优化调和 | |
CN116414411A (zh) | 程序升级方法、系统、电子设备及存储介质 | |
CN110417850B (zh) | 软件配置获取方法、系统、服务器及介质 | |
WO2022089749A1 (en) | Checking state consistency in a log replication configuration | |
CN111222882A (zh) | 基于区块链的数据传输方法、装置、设备及可读存储介质 | |
CN116302618B (zh) | 一种会话信息处理方法及装置 | |
KR100693724B1 (ko) | 아이피 주소 정보를 이용한 파일 배포 방법 및 이를구현하는 클라이언트와 클라이어트-서버 시스템 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220412 |