一种文件断点续传方法和系统转让专利

申请号 : CN202010081368.0

文献号 : CN111314449B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王建圆

申请人 : 北京东方金信科技股份有限公司

摘要 :

本发明涉及一种文件断点续传方法和系统,其特征在于包括以下步骤:1)服务器端向客户端发送HTTP请求,获取待传输资源的相关信息,将待传输资源进行分段得到分段资源,并建立与其对应的下载目标文件夹,所述下载目标文件夹中存储有分段资源起止信息表、临时文件编号标以及位点信息文件;2)客户端发送数据传输请求,并根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹进行更新;3)将所有传输完成的分段资源进行合并,得到完整的待传输资源。本发明可以广泛应用于文件断点续传领域。

权利要求 :

1.一种文件断点续传方法,其特征在于包括以下步骤:

1)服务器端向客户端发送HTTP请求,获取待传输资源的相关信息,将待传输资源进行分段得到分段资源,并建立与其对应的下载目标文件夹,所述下载目标文件夹中存储有分段资源起止信息表、临时文件编号表以及位点信息文件;

2)客户端发送数据传输请求,并根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹进行更新;

所述步骤2)中,根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹中的位点信息文件进行更新的方法,包括以下步骤:

2.1)客户端根据服务器端返回的下载目标文件夹中的记载信息,确定需要进行传输的各分段资源;

其中,确定需要进行传输的各分段资源的方法为:

若不存在临时文件,且位点信息文件中为空,则说明待传输资源为第一次上传或下载,所有分段资源均需要进行传输;

若存在临时文件,且位点信息文件中记载有与各临时文件编号对应的分段资源的起止分段信息,则说明该位点信息文件中记载的各分段资源已下载完毕,此时需要根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息表中记载的所有分段的起止分段信息,计算出未下载的各分段资源,即为需要进行传输的各分段资源;

若存在临时文件,且位点信息文件中并没有记载与该临时文件编号相对应的分段资源的起止位点信息,则说明该临时文件对应的分段资源为上传或下载失败的分段资源,此时,需清除上次上传或下载失败的部分,也即将该临时文件删除,然后根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息表中记载的所有分段的起止分段信息,计算出未下载的各分段资源;

2.2)为需要进行传输的各分段资源建立临时文件,并根据临时文件编号表确定各分段资源对应的临时文件的编号名称;

2.3)启动线程开始下载所有需要进行传输的各分段资源,下载时将各分段资源下载到与其对应的临时文件中;

2.4)当各分段资源下载完成时,将该分段资源的起止分段信息记录到位点信息文件中进行更新;

3)将所有传输完成的分段资源进行合并,得到完整的待传输资源。

2.如权利要求1所述的一种文件断点续传方法,其特征在于:所述步骤1)中,根据获取待传输资源的相关信息,为待传输资源建立与其对应的下载目标文件夹的方法,包括以下步骤:

1.1)根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源;

1.2)将各分段资源的起止位置信息记录到分段资源起止信息表中,并存储到下载目标文件夹;

1.3)为每一分段资源建立与之对应的唯一临时文件编号,然后将各临时文件的编号记录到临时文件编号表中,并存储到下载目标文件夹;

1.4)为待传输资源建立位点信息文件,用于在各分段资源下载完成后记录相应分段资源的起止分段信息,并存储到下载目标文件夹。

3.如权利要求2所述的一种文件断点续传方法,其特征在于:所述步骤1.3)中,根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源的方法为:用待传输资源大小除以给定线程个数,得到每次请求的分段资源,进而计算出各线程请求分段资源的起止位置。

4.如权利要求2所述的一种文件断点续传方法,其特征在于:所述步骤3)中,将所有传输完成的分段资源进行合并,得到完整的待传输资源的方法,包括以下步骤:

3.1)根据下载目标文件夹中的临时文件编号表中存储的各临时文件的编号,对各分段资源进行合并,得到完整的待传输资源;

3.2)将所有临时文件删除。

5.一种文件断点续传系统,其特征在于其包括:

设置在服务器端的下载目标创建模块,用于根据服务器端向客户端发送的HTTP请求,获取待传输资源的相关信息,将待传输资源分为分段资源并建立与其对应的下载目标文件夹,下载目标文件夹中存储有分段资源起止信息表、临时文件编号表以及位点信息文件;

设置在客户端的分段资源传输模块,用于根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹中的位点信息文件进行更新;

其中,确定需要进行传输的各分段资源的方法为:

若不存在临时文件,且位点信息文件中为空,则说明待传输资源为第一次上传或下载,所有分段资源均需要进行传输;

若存在临时文件,且位点信息文件中记载有与各临时文件编号对应的分段资源的起止分段信息,则说明该位点信息文件中记载的各分段资源已下载完毕,此时需要根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息表中记载的所有分段的起止分段信息,计算出未下载的各分段资源,即为需要进行传输的各分段资源;

若存在临时文件,且位点信息文件中并没有记载与该临时文件编号相对应的分段资源的起止位点信息,则说明该临时文件对应的分段资源为上传或下载失败的分段资源,此时,需清除上次上传或下载失败的部分,也即将该临时文件删除,然后根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息表中记载的所有分段的起止分段信息,计算出未下载的各分段资源;在下载目标文件夹中为需要进行传输的各分段资源建立临时文件,并根据临时文件编号表确定各分段资源对应的临时文件的编号名称;启动线程开始下载所有需要进行传输的各分段资源,下载时将各分段资源下载到与其对应的临时文件中,当各分段资源下载完成时,将该分段资源的起止分段信息记录到位点信息文件中进行更新;

分段资源合并模块,用于将所有传输完成的分段资源进行合并,得到完整的待传输资源。

6.如权利要求5所述的一种文件断点续传系统,其特征在于:所述下载目标创建模块包括:资源分段模块,用于根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源;

起止信息表创建模块,用于将各分段资源的起止位置信息记录到分段资源起止信息表中,并存储到下载目标文件夹;

临时文件编号表创建模块,用于为每一分段资源建立与之对应的唯一临时文件编号,然后将各临时文件的编号记录到临时文件编号表中,并存储到下载目标文件夹;

位点信息文件创建模块,用于为待传输资源建立位点信息文件,用于在各分段资源下载完成后记录相应分段资源的起止分段信息,并存储到下载目标文件夹。

7.如权利要求5所述的一种文件断点续传系统,其特征在于:所述分段资源合并模块包括:合并模块,用于根据下载目标文件夹中的临时文件编号表中存储的各临时文件的编号,对各分段资源进行合并,得到完整的待传输资源;

删除模块,用于将下载目标文件夹中的各临时文件删除。

说明书 :

一种文件断点续传方法和系统

技术领域

[0001] 本发明涉及一种文件断点续传方法和系统,属于通信技术领域。

背景技术

[0002] 随着网络技术的不断发展,网络在人们日常生活中的应用也日益广泛,利用网络实现资源共享也得到普遍应用。用户终端可以将需要共享或保存的文件传送到网络服务器中,然而,在用户终端向服务器传送文件的过程中,如果网络发生中断等情况,则会造成文件传送中止。
[0003] 为了解决文件传送中止的问题,文件断点续传应运而生。文件断点续传指的是在下载或上传时,将下载或上传任务(一个文件或一个压缩包)人为的划分为几个部分,每一个部分采用一个线程进行上传或下载,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传或下载未完成的部分,而没有必要从头开始上传下载。用户可以节省时间,提高速度。
[0004] 然而,目前大多断点续传方法是通过在某个线程中分批次从文件流中读取数据,然后以点的方式记录上次同步的位置,这样当某个批次出现记录位点信息异常时,下次断点开始会出现数据重复问题,导致文件不能正常使用。

发明内容

[0005] 针对上述问题,本发明的目的是提供一种文件断点续传方法和系统,通过文件方式记录待传输数据的分段位点信息(起止位置),并在读取位点文件信息的基础上分配下载任务,进而提高文件传输效率,实现多线程传输,减少传输时间。
[0006] 为实现上述目的,本发明采取以下技术方案:一种文件断点续传方法,其包括以下步骤:1)服务器端向客户端发送HTTP请求,获取待传输资源的相关信息,将待传输资源进行分段得到分段资源,并建立与其对应的下载目标文件夹,所述下载目标文件夹中存储有分段资源起止信息表、临时文件编号标以及位点信息文件;2)客户端发送数据传输请求,并根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹进行更新;3)将所有传输完成的分段资源进行合并,得到完整的待传输资源。
[0007] 进一步的,所述步骤1)中,根据获取待传输资源的相关信息,为待传输资源建立与其对应的下载目标文件夹的方法,包括以下步骤:1.1)根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源;1.2)将各分段资源的起止位置信息记录到分段资源起止信息表中,并存储到下载目标文件夹;1.3)为每一分段资源建立与之对应的唯一临时文件编号,然后将各临时文件的编号记录到临时文件编号表中,并存储到下载目标文件夹;1.4)为待传输资源建立位点信息文件,用于在各分段资源下载完成后记录相应分段资源的起止分段信息,并存储到下载目标文件夹。
[0008] 进一步的,所述步骤1.3)中,根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源的方法为:用待传输资源大小除以给定线程个数,得到每次请求的分段资源,进而计算出各线程请求分段资源的起止位置。
[0009] 进一步的,所述步骤2)中,根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹中的位点信息文件进行更新的方法,包括以下步骤:2.1)客户端根据服务器端返回的下载目标文件夹中的记载信息,确定需要进行传输的各分段资源;2.2)为需要进行传输的各分段资源建立临时文件,并根据临时文件编号表确定各分段资源对应的临时文件的编号名称;2.3)启动线程开始下载所有需要进行传输的各分段资源,下载时将各分段资源下载到与其对应的临时文件中;2.4)当各分段资源下载完成时,将该分段资源的起止分段信息记录到位点信息文件中进行更新。
[0010] 进一步的,所述步骤2.1)中,客户端根据服务器端返回的下载目标文件夹中的记载信息,确定需要进行传输的各分段资源的方法为:若不存在临时文件,且位点信息文件中为空,则说明待传输资源为第一次上传或下载,所有分段资源均需要进行传输;若存在临时文件,且位点信息文件中记载有与各临时文件编号对应的分段资源的起止分段信息,则说明该位点信息文件中记载的各分段资源已下载完毕,此时需要根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息文件中记载的所有分段的起止分段信息,计算出未下载的各分段资源,即为需要进行传输的各分段资源;若存在临时文件,且位点信息文件中并没有记载与该临时文件编号相对应的分段资源的起止位点信息,则说明该临时文件对应的分段资源为上传或下载失败的分段资源,此时,需清除上次上传或下载失败的部分,也即将该临时文件删除,然后根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息文件中记载的所有分段的起止分段信息,计算出未下载的各分段资源。
[0011] 进一步的,所述步骤3)中,将所有传输完成的分段资源进行合并,得到完整的待传输资源的方法,包括以下步骤:3.1)根据下载目标文件夹中的临时文件编号表中存储的各临时文件的编号,对各分段资源进行合并,得到完整的待传输资源;3.2)将所有临时文件删除。
[0012] 本发明的第二个方面,是提供一种文件断点续传系统,其包括:设置在服务器端的下载目标创建模块,用于根据服务器端向客户端发送的HTTP请求,获取待传输资源的相关信息,将待传输资源分为分段资源并建立与其对应的下载目标文件夹,下载目标文件夹中存储有分段资源起止信息表、临时文件编号表以及位点信息文件;设置在客户端的分段资源传输模块,用于根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹中的位点信息文件进行更新;分段资源合并模块,用于将所有传输完成的分段资源进行合并,得到完整的待传输资源。
[0013] 进一步的,所述下载目标创建模块包括:资源分段模块,用于根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源;起止信息表创建模块,用于将各分段资源的起止位置信息记录到分段资源起止信息表中,并存储到下载目标文件夹;临时文件编号创建模块,用于为每一分段资源建立与之对应的唯一临时文件编号,然后将各临时文件的编号记录到临时文件编号表中,并存储到下载目标文件夹;位点信息文件创建模块,用于为待传输资源建立位点信息文件,用于在各分段资源下载完成后记录相应分段资源的起止分段信息,并存储到下载目标文件夹。
[0014] 进一步的,所述分段资源传输模块包括:待传输分段资源确定模块,用于根据服务器端返回的下载目标文件夹中的记载信息,确定需要进行传输的各分段资源;临时文件创建模块,用于在下载目标文件夹中为需要进行传输的各分段资源建立临时文件,并根据临时文件编号表确定各分段资源对应的临时文件的编号名称;文件传输模块,用于启动线程开始下载所有需要进行传输的各分段资源,下载时将各分段资源下载到与其对应的临时文件中;位点信息更新模块,用于当各分段资源下载完成时,将该分段资源的起止分段信息记录到位点信息文件中进行更新。
[0015] 进一步的,所述分段资源合并模块包括:合并模块,用于根据下载目标文件夹中的临时文件编号表中存储的各临时文件的编号,对各分段资源进行合并,得到完整的待传输资源;删除模块,用于将下载目标文件夹中的各临时文件删除。
[0016] 本发明由于采取以上技术方案,其具有以下优点:1、本发明在文件上传或者下载过程中,通过位点信息文件记录的分段资源的起止分段信息,对中途下载或上传失败需要重新上传的分段资源进行确定,避免了现有技术中出现记录位点信息异常时导致数据文件不能正常使用的问题。2、本发明在对下载或上传失败的文件进行重新上传时,首先将下载或上传失败的部分清除,然后重新下载,避免了现有技术中数据重复下载而导致文件不能正常使用的问题。3、本发明对待传输资源进行传输时,根据线程个数和数据资源大小对待传输资源进行分段,采用多线程技术进行分段资源的下载,有效提高了传输效率,减少传输时间。因此,本发明可以广泛应用于文件断点续传领域。

附图说明

[0017] 图1是本发明文件断点续传示意图。

具体实施方式

[0018] 下面结合附图和实施例对本发明进行详细的描述。
[0019] 实施例一
[0020] 如图1所示,本发明提供的一种文件断点续传方法,其包括以下步骤:
[0021] 1)服务器端向客户端发送HTTP请求,获取待传输资源的相关信息,将待传输资源进行分段得到分段资源,并建立与其对应的下载目标文件夹,下载目标文件夹中存储有分段资源起止信息表、临时文件编号表以及位点信息文件。
[0022] 根据待传输资源的相关信息建立与其对应的下载目标文件夹的方法,包括以下步骤:
[0023] 1.1)根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源;
[0024] 具体的计算方法为:用待传输资源大小除以给定线程个数,得到每次请求的分段资源,进而计算出各线程请求分段资源的起止位置。特别的,线程数量越多,对待传输资源的分段也就越多,位点信息文件记录的位点信息数据也会越多。
[0025] 1.2)将各分段资源的起止位置信息记录到分段资源起止信息表中,并存储到下载目标文件夹。
[0026] 1.3)为每一分段资源建立与之对应的唯一临时文件编号,然后将各临时文件的编号记录到临时文件编号表中,并存储到下载目标文件夹。其中,临时文件的编号可以由该分段资源的起止位置确定,也可以采用其他常用的编号方法。
[0027] 1.4)为待传输资源建立位点信息文件,用于在各分段资源下载完成后记录相应分段资源的起止分段信息,便于在传输中断时确定传输失败的各分段资源。
[0028] 2)客户端发送数据传输请求,并根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹中的位点信息文件进行更新。
[0029] 具体的,包括以下步骤:
[0030] 2.1)客户端根据服务器端返回的下载目标文件夹中的记载信息,确定需要进行传输的各分段资源;
[0031] 具体的,需要根据下载目标文件夹中的记载信息,确定需要进行传输的各分段资源的方法为:
[0032] 若不存在临时文件,且位点信息文件为空,即没有记载位点信息,则说明待传输资源为第一次上传或下载,此时,所有分段资源均需要进行传输;
[0033] 若存在临时文件,且位点信息文件中记载有与各临时文件编号对应的分段资源的起止分段信息,则说明该位点信息文件中记载的各分段资源已下载完毕,此时需要根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息表中记载的所有分段资源的起止分段信息,计算出未下载的各分段资源,即为需要进行传输的各分段资源;
[0034] 若存在临时文件,且位点信息文件中并没有记载与该临时文件编号相对应的分段资源的起止分段信息,则说明该临时文件对应的分段资源为上传或下载失败的分段资源,此时,需清除上次上传或下载失败的部分,也即将该临时文件删除;然后根据位点信息文件中记载的各分段资源的起止分段信息以及分段资源起止信息表中记载的所有分段资源的起止分段信息,计算出未下载的各分段资源。
[0035] 2.2)在下载目标文件夹中为需要进行传输的各分段资源建立临时文件,并根据临时文件编号表确定各分段资源对应的临时文件的编号名称。
[0036] 2.3)启动线程开始下载所有需要进行传输的各分段资源,下载时将各分段资源下载到与其对应的临时文件中;
[0037] 2.4)当各分段资源下载完成时,将该分段资源的起止分段信息记录到位点信息文件中进行更新。
[0038] 3)将所有传输完成的分段资源进行合并,得到完整的待传输资源。
[0039] 具体的,包括以下步骤:
[0040] 3.1)根据下载目标文件夹中的临时文件编号表中存储的各临时文件的编号,对各分段资源进行合并,得到完整的待传输资源;
[0041] 3.2)将各临时文件删除。
[0042] 实施例二
[0043] 基于上述文件断点续传方法,本发明还提供一种文件断点续传系统,其包括:设置在服务器端的下载目标创建模块,用于根据服务器端向客户端发送的HTTP请求,获取待传输资源的相关信息,将待传输资源分为分段资源并建立与其对应的下载目标文件夹,下载目标文件夹中存储有分段资源起止信息表、临时文件编号表以及位点信息文件;设置在客户端的分段资源传输模块,用于根据服务器端返回的下载目标文件夹中的记载信息确定需要进行传输的各分段资源,启动线程进行各分段资源的传输,并对下载目标文件夹中的位点信息文件进行更新;分段资源合并模块,用于将所有传输完成的分段资源进行合并,得到完整的待传输资源。
[0044] 进一步的,下载目标创建模块包括资源分段模块、起止信息表创建模块、临时文件编号创建模块以及位点信息文件创建模块,其中,资源分段模块用于根据给定线程个数以及待传输资源的大小,对待传输资源进行分段,得到多个分段资源;起止信息表创建模块用于将各分段资源的起止位置信息记录到分段资源起止信息表中,并存储到下载目标文件夹;临时文件编号创建模块用于为每一分段资源建立与之对应的唯一临时文件编号,然后将各临时文件的编号记录到临时文件编号表中,并存储到下载目标文件夹;位点信息文件创建模块用于为待传输资源建立位点信息文件,用于在各分段资源下载完成后记录相应分段资源的起止分段信息,并存储到下载目标文件夹。
[0045] 进一步的,分段资源传输模块包括待传输分段资源确定模块、临时文件创建模块、文件传输模块、位点信息更新模块,其中,待传输分段资源确定模块用于根据服务器端返回的下载目标文件夹中的记载信息,确定需要进行传输的各分段资源;临时文件创建模块用于在下载目标文件夹中为需要进行传输的各分段资源建立临时文件,并根据临时文件编号表确定各分段资源对应的临时文件的编号名称;文件传输模块用于启动线程开始下载所有需要进行传输的各分段资源,下载时将各分段资源下载到与其对应的临时文件中;位点信息更新模块用于当各分段资源下载完成时,将该分段资源的起止分段信息记录到位点信息文件中进行更新。
[0046] 进一步的,分段资源合并模块包括合并模块和删除模块,其中,合并模块用于根据下载目标文件夹中的临时文件编号表中存储的各临时文件的编号,对各分段资源进行合并,得到完整的待传输资源;删除模块用于将下载目标文件夹中的各临时文件删除。
[0047] 以上给出一种具体的实施方式,但本发明不局限于所描述的实施方式。本发明的基本思路在于上述方案,对本领域普通技术人员而言,根据本发明的教导,设计出各种变形的模型、公式、参数并不需要花费创造性劳动。在不脱离本发明的原理和精神的情况下对实施方式进行的变化、修改、替换和变形仍落入本发明的保护范围内。