一种文件下载断点续传的方法及系统与流程

文档序号:17282136发布日期:2019-04-03 01:13阅读:229来源:国知局
一种文件下载断点续传的方法及系统与流程

本发明涉及通信技术领域,尤其涉及一种文件下载断点续传的方法及系统。



背景技术:

随着通信技术的发展,当前的电子产品已经在各个行业得到广泛的应用。用户能够通过使用终端设备实现丰富的功能,在用户使用大量终端设备进行数据下载的过程中,若由于断电或数据连接线与外部设备断开等因素致使下载文件的过程中突然断掉,使得已下载的部分的文件需要从头开始下载,导致网络资源大量的浪费,从而给用户带来不良的体验。

针对上述问题,现有提出了一种文件的断点续传的方法,前端设备(下载工具,如)进行文件下载时,服务器会记录文件的下载地址以及该文件的下载进度,当前端设备在下载文件过程中突然断掉,可通过文件的下载地址在服务器上获取到该文件的下载进度,进而根据下载进度得到断点处,由断点处继续下载文件,实现文件的断点续传。

然而为了提升文件的安全性,将文件的下载地址间隔预设时长进行变更,也就是说,该文件的下载地址具有预设的生命周期,当生命周期结束,原来的下载地址就变更成新的下载地址并赋予新的生命周期。使用现有的下载工具(如QQ旋风、迅雷等)对此类文件进行下载过程中突然断掉,由于生命周期结束,以原来的文件下载地址就无法进行下载。



技术实现要素:

本发明所要解决的技术问题是:提供一种带有生命周期的文件下载断点续传的方法及系统。

为了解决上述技术问题,本发明采用的技术方案为:

一种文件下载断点续传的方法,包括:

步骤1、创建存储有文件的第一下载地址的下载地址列表;所述第一下载地址的有效的时间点为第一生命周期;

步骤2、间隔预设时长,获取文件的第二下载地址,判断第二下载地址的第二生命周期是否等于第一生命周期,若否,则进入步骤3;

步骤3、将第二下载地址与第一下载地址相关联;

步骤4、下载客户端通过第一下载地址下载所述文件时,由第一下载地址链接到第二下载地址进行文件下载。

本发明采用的另一技术方案为:

一种文件下载断点续传的系统,包括:创建模块、判断模块、关联模块和链接模块;

所述创建模块,用于创建存储有文件的第一下载地址的下载地址列表;所述第一下载地址的有效的时间点为第一生命周期;

所述判断模块,用于间隔预设时长,获取文件的第二下载地址,判断第二下载地址的第二生命周期是否等于第一生命周期;

所述关联模块,用于若所述第二生命周期不等于第一生命周期时,将第二下载地址与第一下载地址相关联;

所述链接模块,用于下载客户端通过第一下载地址下载所述文件时,由第一下载地址链接到第二下载地址进行文件下载。

本发明的有益效果在于:本发明提供的一种文件下载断点续传的方法及系统是代理模块通过创建一下载地址列表,用来存储文件的下载地址,当该文件的生命周期失效时,获取新的下载地址并与旧的下载地址关联。先判断文件的生命周期是否过期,若过期,则用新的下载地址替换旧的下载地址,用户在文件下载过程中突然掉电或中断后,而一段时间后又需要继续下载文件时,继续使用旧地址下载,代理模块将旧地址链接至新的地址,从而实现从服务器上继续下载带有生命周期的文件。本发明提供的一种文件下载断点续传的方法及系统克服了现有的下载工具无法识别下载过程突然断掉的文件是否是带有生命周期的文件而继续采用原来的下载地址导致下载失败的问题。

附图说明

图1为本发明的一种文件下载断点续传的方法的步骤流程图;

图2为本发明的一种文件下载断点续传的系统的结构示意图;

标号说明:

1、创建模块;2、判断模块;3、关联模块;4、链接模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:用户在文件下载过程中突然掉电或中断后,而一段时间后又需要继续下载文件时,继续使用旧地址下载,代理模块将旧地址链接至新地址,从而实现从下载服务器上继续下载带有生命周期的文件。

请参照图1,本发明提供的一种文件下载断点续传的方法,包括:

步骤1、创建存储有文件的第一下载地址的下载地址列表;所述第一下载地址的有效的时间点为第一生命周期;

步骤2、间隔预设时长,获取文件的第二下载地址,判断第二下载地址的第二生命周期是否等于第一生命周期,若否,则进入步骤3;

步骤3、将第二下载地址与第一下载地址相关联;

步骤4、下载客户端通过第一下载地址下载所述文件时,由第一下载地址链接到第二下载地址进行文件下载。

从上述描述可知,本发明的有益效果在于:本发明提供的一种文件下载断点续传的方法是代理模块通过创建一下载地址列表,用来存储文件的下载地址,当该文件的生命周期失效时,获取新的下载地址并与旧的下载地址关联。先判断文件的生命周期是否过期,若过期,则用新的下载地址替换旧的下载地址,用户在文件下载过程中突然掉电或中断后,而一段时间后又需要继续下载文件时,继续使用旧地址下载,代理模块将旧地址链接至新的地址,从而实现从服务器上继续下载带有生命周期的文件。本发明提供的一种文件下载断点续传的方法克服了现有的下载工具无法识别下载过程突然断掉的文件是否是带有生命周期的文件而继续采用原来的下载地址导致下载失败的问题。

进一步的,所述步骤4之后还包括步骤5;所述步骤5包括步骤51-步骤54;

步骤51、接收到请求获取文件信息时,获取文件的对应下载地址;

步骤52、查询下载地址列表,判断所述对应下载地址是否存储在所述下载地址列表中,若否,进入步骤53;若是,进入步骤54;

步骤53、记录所述对应下载地址至所述下载地址列表,由所述对应下载地址至下载服务器下载文件信息;

步骤54、判断所述下载地址列表中是否存储有与所述对应下载地址相关联的第三下载地址;若是,获取第三下载地址,将获取文件信息请求中的对应下载地址链接到第三下载地址,由第三下载地址至下载服务器下载文件信息。

由上述描述可知,代理模块接收到请求获取文件信息时,首先判断用户需要下载的文件信息是否是首次下载,若是首次下载,则说明下载地址列表中未存储此文件的对应下载地址,因此需要先获取文件的对应下载地址并记录。若不是首次下载,则说明可能是下载过程中发生中断而需要继续下载,这时需要判断下载地址列表中是否存储有与所述对应下载地址相关联的第三下载地址,若有,则说明该文件的生命周期已失效,已经变更为新的生命周期和新的下载地址(即为第三下载地址),此时获取第三下载地址,将获取文件信息请求中的对应下载地址链接到第三下载地址,由第三下载地址至下载服务器下载文件信息。

进一步的,所述步骤54还包括:若否,则由所述对应下载地址至下载服务器下载文件信息。

由上述描述可知,若下载地址列表中未存储有与所述对应下载地址相关联的第三下载地址,则说明该文件的生命周期还未失效,则采用所述对应下载地址即可下载文件。因此直接由所述对应下载地址至下载服务器下载文件信息即可。

进一步的,所述步骤5还包括:步骤55、接收所述文件的信息后转发至下载客户端;所述文件的信息包括文件的断点续传位置、文件名称和文件大小。

由上述描述可知,所述文件的断点续传位置即为文件的下载进度。

需要说明的是:在下载服务器端设置有数据库,该数据库用来存储下载客户端登陆的IP地址、每条线程下载的文件的下载地址以及与之相关联的每条线程的下载进度;每下载一个文件需要创建一个线程,因此在从下载服务器下载文件过程中需要记录每条线程的下载进度。在每次向文件中写入数据时,都会实时更新数据库中每条线程的下载进度;当出现中断时,记录下中断瞬间最新的下载进度作为断点续传位置。下载完成之后删除数据库中下载记录。

进一步的,所述步骤5之后还包括步骤6;所述步骤6包括步骤61-步骤64;

步骤61、接收到所述文件的下载请求时,获取文件的第四下载地址;

步骤62、判断所述下载地址列表中是否存储有与所述第四下载地址相关联的第五下载地址;若是,进入步骤63;若否,进入步骤64;

步骤63、获取第五下载地址,将所述下载请求中的第四下载地址链接到第五下载地址,由第五下载地址至下载服务器下载文件;

步骤64、由所述第四下载地址至下载服务器下载文件。

由上述描述可知,文件的信息还包括该文件的基本信息,例如文件名称、文件大小、文件创建时间等等;返回基本信息后再次发起文件的下载请求,此时再次登陆服务器获取文件的字节流(具体的文件数据流),此时需要再次判断下载地址是否有变更,通过再次判断所述下载地址列表中是否存储有与所述第四下载地址相关联的第五下载地址,若否,则说明没有下载地址变更,可直接由上述的下载请求中的第四下载地址至下载服务器下载文件;虽然二次登陆的时间间隔一般较短,但不排除在这两次登陆间隙,文件的下载地址又重新变更,因此再次判断上述步骤,是为了防止再二次登陆过程中文件的下载地址又重新变更而导致下载失败。若下载地址再次发生变更,那么步骤6中的第五下载地址为最新的下载地址。

请参照图2,本发明提供的一种文件下载断点续传的系统,包括:创建模块1、判断模块2、关联模块3和链接模块4;

所述创建模块1,用于创建存储有文件的第一下载地址的下载地址列表;所述第一下载地址的有效的时间点为第一生命周期;

所述判断模块2,用于间隔预设时长,获取文件的第二下载地址,判断第二下载地址的第二生命周期是否等于第一生命周期;

所述关联模块3,用于若所述第二生命周期不等于第一生命周期时,将第二下载地址与第一下载地址相关联;

所述链接模块4,用于下载客户端通过第一下载地址下载所述文件时,由第一下载地址链接到第二下载地址进行文件下载。

从上述描述可知,本发明的有益效果在于:本发明提供的一种文件下载断点续传的系统是代理模块通过创建一下载地址列表,用来存储文件的下载地址,当该文件的生命周期失效时,获取新的下载地址并与旧的下载地址关联。先判断文件的生命周期是否过期,若过期,则用新的下载地址替换旧的下载地址,用户在文件下载过程中突然掉电或中断后,而一段时间后又需要继续下载文件时,继续使用旧地址下载,代理模块将旧地址链接至新的地址,从而实现从服务器上继续下载带有生命周期的文件。本发明提供的一种文件下载断点续传的系统克服了现有的下载工具无法识别下载过程突然断掉的文件是否是带有生命周期的文件而继续采用原来的下载地址导致下载失败的问题。

进一步的,还包括第一获取模块;所述第一获取模块包括第一获取单元、第一判断单元、第一下载单元和第二下载单元;

所述第一获取单元,用于接收到请求获取文件信息时,获取文件的对应下载地址;

所述第一判断单元,用于查询下载地址列表,判断所述对应下载地址是否存储在所述下载地址列表中;

所述第一下载单元,用于若所述对应下载地址未存储在所述下载地址列表中,记录所述对应下载地址至所述下载地址列表,由所述对应下载地址至下载服务器下载文件信息;

所述第二下载单元,用于若所述对应下载地址存储在所述下载地址列表中,判断所述下载地址列表中是否存储有与所述对应下载地址相关联的第三下载地址;若是,获取第三下载地址,将获取文件信息请求中的对应下载地址链接到第三下载地址,由第三下载地址至下载服务器下载文件信息。

由上述描述可知,代理模块接收到请求获取文件信息时,首先判断用户需要下载的文件信息是否是首次下载,若是首次下载,则说明下载地址列表中未存储此文件的对应下载地址,因此需要先获取文件的对应下载地址并记录。若不是首次下载,则说明可能是下载过程中发生中断而需要继续下载,这时需要判断下载地址列表中是否存储有与所述对应下载地址相关联的第三下载地址,若有,则说明该文件的生命周期已失效,已经变更为新的生命周期和新的下载地址(即为第三下载地址),此时获取第三下载地址,将获取文件信息请求中的对应下载地址链接到第三下载地址,由第三下载地址至下载服务器下载文件信息。

进一步的,所述第二下载单元,还用于若所述下载地址列表中未存储有与所述对应下载地址相关联的第三下载地址,则由所述对应下载地址至下载服务器下载文件信息。

由上述描述可知,若下载地址列表中未存储有与所述对应下载地址相关联的第三下载地址,则说明该文件的生命周期还未失效,则采用所述对应下载地址即可下载文件。因此直接由所述对应下载地址至下载服务器下载文件信息即可。

进一步的,所述第一获取模块还包括转发单元,用于接收所述文件的信息后转发至下载客户端;所述文件的信息包括文件的断点续传位置、文件名称和文件大小。

由上述描述可知,所述文件的断点续传位置即为文件的下载进度。

进一步的,还包括第二获取模块;所述第二获取模块包括第二获取单元、第二判断单元、第三下载单元和第四下载单元;

所述第二获取单元,用于接收到所述文件的下载请求时,获取文件的第四下载地址;

所述第二判断单元,用于判断所述下载地址列表中是否存储有与所述第四下载地址相关联的第五下载地址;

所述第三下载单元,用于若所述下载地址列表中存储有与所述第四下载地址相关联的第五下载地址,获取第五下载地址,将所述下载请求中的第四下载地址链接到第五下载地址,由第五下载地址至下载服务器下载文件;

所述第四下载单元,用于若所述下载地址列表中未存储有与所述第四下载地址相关联的第五下载地址,由所述第四下载地址至下载服务器下载文件。

由上述描述可知,文件的信息还包括该文件的基本信息,例如文件名称、文件大小、文件创建时间等等;返回基本信息后再次发起文件的下载请求,此时再次登陆服务器获取文件的字节流(具体的文件数据流),此时需要再次判断下载地址是否有变更,通过再次判断所述下载地址列表中是否存储有与所述第四下载地址相关联的第五下载地址,若否,则说明没有下载地址变更,可直接由上述的下载请求中的第四下载地址至下载服务器下载文件;虽然二次登陆的时间间隔一般较短,但不排除在这两次登陆间隙,文件的下载地址又重新变更,因此再次判断上述步骤,是为了防止再二次登陆过程中文件的下载地址又重新变更而导致下载失败。若下载地址再次发生变更,那么步骤6中的第五下载地址为最新的下载地址。

请参照图1-2,本发明的实施例一为:

本发明提供的一种文件下载断点续传的方法应用在由前端设备(下载工具,也叫下载客户端)、代理模块以及位于后台的下载服务器组成的结构框架中;其中下载工具为现有的QQ旋风、迅雷等。本发明提供的文件下载断点续传的方法是解决带有生命周期的文件下载过程中发生突然断掉,由于生命周期结束,以原来的文件下载地址无法进行下载的问题。

步骤1、在代理模块上创建存储有文件的第一下载地址的下载地址列表;所述第一下载地址的有效的时间点为第一生命周期;下载客户端可通过第一下载地址从下载服务器上下载对应的文件。

步骤2、间隔预设时长,代理模块获取存储在下载服务器上的文件的第二下载地址,判断第二下载地址的第二生命周期是否等于第一生命周期,若否,则进入步骤3;

需要说明的是:生命周期虽然是表示文件的有效期限且同一文件的有效期限一般相同,但不同阶段的生命周期的标识是唯一的,所以新的生命周期与之前的生命周期的标识是不同的,所以可通过判断两个生命周期是否相等,即可知道是否原生命周期失效。预设时长设置越短越好,这样设置的话监测较为精确,但考虑到这样设置需要实时占用大量的系统资源,因此可根据实际应用过程进行设置,使得在监测精确得到保障的同时尽可能减少系统资源的占用。

步骤3、将第二下载地址与第一下载地址相关联;具体为:若第二生命周期不等于第一生命周期,说明该文件的生命周期失效,获取新的下载地址(第二下载地址)并与旧的下载地址(第一下载地址)关联。

步骤4、下载客户端通过第一下载地址下载所述文件时,代理模块由第一下载地址链接到第二下载地址进行文件下载。

当用户使用下载客户端进行文件下载时,下载客户端会发送需要下载的文件的获取信息请求给代理模块,此时代理模块进行如下处理:

所述步骤4之后还包括步骤5;所述步骤5包括步骤51-步骤54;

步骤51、代理模块接收到请求获取文件信息时,获取文件的对应下载地址;

步骤52、查询下载地址列表,判断所述对应下载地址是否存储在所述下载地址列表中,若否,进入步骤53;若是,进入步骤54;其中可通过遍历的查询方式查询整个下载地址列表。

步骤53、记录所述对应下载地址至所述下载地址列表,由所述对应下载地址至下载服务器下载文件信息;

步骤54、判断所述下载地址列表中是否存储有与所述对应下载地址相关联的第三下载地址;若是,获取第三下载地址,将获取文件信息请求中的对应下载地址链接到第三下载地址,由第三下载地址至下载服务器下载文件信息。

若否,则由所述对应下载地址至下载服务器下载文件信息。其中步骤5,代理模块接收到请求获取文件信息时,首先判断用户需要下载的文件信息是否是首次下载,若是首次下载,则说明下载地址列表中未存储此文件的对应下载地址,因此需要先获取文件的对应下载地址并记录。若不是首次下载,则说明可能是下载过程中发生中断而需要继续下载,这时需要判断下载地址列表中是否存储有与所述对应下载地址相关联的第三下载地址,若有,则说明该文件的生命周期已失效,已经变更为新的生命周期和新的下载地址(即为第三下载地址),此时获取第三下载地址,将获取文件信息请求中的对应下载地址链接到第三下载地址,由第三下载地址至下载服务器下载文件信息。若下载地址列表中未存储有与所述对应下载地址相关联的第三下载地址,则说明该文件的生命周期还未失效,则采用所述对应下载地址即可下载文件。因此直接由所述对应下载地址至下载服务器下载文件信息即可。

下载服务器接收到请求获取文件信息后进行相应处理,返回相关的文件信息给代理模块,此时代理模块进行如下操作:

所述步骤5还包括:

步骤55、代理模块将接收到的所述文件的信息后转发至下载客户端;所述文件的信息包括文件的断点续传位置、文件名称和文件大小。所述文件的断点续传位置即为文件的下载进度。

需要说明的是:在下载服务器端设置有数据库,该数据库用来存储下载客户端登陆的IP地址、每条线程下载的文件的下载地址以及与之相关联的每条线程的下载进度;每下载一个文件需要创建一个线程,因此在从下载服务器下载文件过程中需要记录每条线程的下载进度。在每次向文件中写入数据时,都会实时更新数据库中每条线程的下载进度;当出现中断时,记录下中断瞬间最新的下载进度作为断点续传位置。下载完成之后删除数据库中下载记录。

此时下载客户端发送文件的下载请求给代理模块,此时代理模块进入如下操作:

所述步骤5之后还包括步骤6;所述步骤6包括步骤61-步骤64;

步骤61、代理模块接收到所述文件的下载请求时,获取文件的第四下载地址;

步骤62、判断所述下载地址列表中是否存储有与所述第四下载地址相关联的第五下载地址;若是,进入步骤63;若否,进入步骤64;

步骤63、获取第五下载地址,将所述下载请求中的第四下载地址链接到第五下载地址,由第五下载地址至下载服务器下载文件;

步骤64、由所述第四下载地址至下载服务器下载文件。

其中步骤6,文件的信息还包括该文件的基本信息,例如文件名称、文件大小、文件创建时间等等;返回基本信息后再次发起文件的下载请求,此时再次登陆服务器获取文件的字节流(具体的文件数据流),此时需要再次判断下载地址是否有变更,通过再次判断所述下载地址列表中是否存储有与所述第四下载地址相关联的第五下载地址,若否,则说明没有下载地址变更,可直接由上述的下载请求中的第四下载地址至下载服务器下载文件;虽然二次登陆的时间间隔一般较短,但不排除在这两次登陆间隙,文件的下载地址又重新变更,因此再次判断上述步骤,是为了防止再二次登陆过程中文件的下载地址又重新变更而导致下载失败。若下载地址再次发生变更,那么步骤6中的第五下载地址为最新的下载地址。

综上所述,本发明提供的一种文件下载断点续传的方法及系统是代理模块通过创建一下载地址列表,用来存储文件的下载地址,当该文件的生命周期失效时,获取新的下载地址并与旧的下载地址关联。先判断文件的生命周期是否过期,若过期,则用新的下载地址替换旧的下载地址,用户在文件下载过程中突然掉电或中断后,而一段时间后又需要继续下载文件时,继续使用旧地址下载,代理模块将旧地址链接至新的地址,从而实现从服务器上继续下载带有生命周期的文件。本发明提供的一种文件下载断点续传的方法及系统克服了现有的下载工具无法识别下载过程突然断掉的文件是否是带有生命周期的文件而继续采用原来的下载地址导致下载失败的问题。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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