文件分片的下载请求调度方法及系统与流程

摘要: 本发明涉及互联网文件下载,特别涉及文件分片的下载请求调度方法及系统。背景技术:1、目前,大部分文件下载系统中,当传输大文件时,通常采用分片下载方式,即将一个大文...
文件分片的下载请求调度方法及系统与流程

本发明涉及互联网文件下载,特别涉及文件分片的下载请求调度方法及系统。

背景技术:

1、目前,大部分文件下载系统中,当传输大文件时,通常采用分片下载方式,即将一个大文件切分成多个分片,将不同的分片分配到不同的服务端上进行并行下载,以提高下载速度。

2、然而,在分片下载过程中,各个服务端的资源状况各不相同,有些服务端资源充足,有些服务端资源不足,导致不同分片的下载速率不一致。由于一个大文件必须所有分片都下载成功才能拼装使用,因此最慢的一个分片将限制整个大文件的下载速度,即整体下载效率受限于处理速度最慢的服务端。

3、此外,在实际应用场景中,会存在多个客户端在不同时间段并发下载同一个大文件的情况。每一个大文件的下载又涉及多个分片的并行下载,同样会面临上述因服务端资源差异而导致的效率瓶颈问题。

4、现有技术中,针对上述场景通常采用随机产生分片并随机分配分片到各个服务端上进行下载的方式。同时,一些方案引入了中心缓存集群,不同服务端获取分片后向中心缓存集群添加分片缓存信息,后续客户端从中心缓存集群获取分片数据。另一些方案中,下载服务器返回一个下载服务器地址,客户端从该地址进行文件下载,但同一分片在不同服务器上下载时需要各自从数据源重新读取数据,无法复用已生成的分片缓存。

5、因此,如何在分片下载场景下避免慢服务端拖累整体下载效率、减少重复从数据源或中心缓存获取数据所产生的io开销,是当前亟需解决的技术问题。

技术实现思路

1、本发明所要解决的技术问题是:提供文件分片的下载请求调度方法及系统,以减少服务端重复加载分片数据的内部io开销,避免慢服务端拖累下载速度,提高大文件并发下载效率。

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

3、一种文件分片的下载请求调度方法,包括:

4、当所述服务端缓存文件分片时,所述中间调度层缓存所述文件分片与服务端的映射关系以及正与所述服务端建立连接并下载所述文件分片的客户端数量;

5、中间调度层接收所有客户端发送的文件分片的下载请求,并将每个所述下载请求转发至不同的服务端;

6、当所述中间调度层再次接收到同一个文件分片的下载请求时,根据所述映射关系确定与所述文件分片对应的服务端,判断正与所述服务端建立连接并下载所述文件分片的客户端数量是否超过预设阈值,若是,则所述中间调度层将所述下载请求转发至其他服务端。

7、为了解决上述技术问题,本发明采用的另一种技术方案为:一种文件分片的下载请求调度系统,包括服务端、中间调度层以及客户端,所述服务端实现以下步骤:缓存文件分片;与请求下载所述文件分片的客户端建立连接并将所述文件分片发送给所述客户端;

8、所述中间调度层实现以下步骤:存所述文件分片与服务端的映射关系以及正与所述服务端建立连接并下载所述文件分片的客户端数量;接收所有客户端发送的文件分片的下载请求,并将每个所述下载请求转发至不同的服务端;当再次接收到同一个文件分片的下载请求时,根据所述映射关系确定与所述文件分片对应的服务端,判断正与所述服务端建立连接并下载所述文件分片的客户端数量是否超过预设阈值,若是,则将所述下载请求转发至其他服务端

9、所述客户端实现以下步骤:向所述中间调度层发送文件分片的下载请求;与所述文件分片对应的服务端建立连接并下载所述文件分片。

10、本发明的有益效果在于:本发明通过中间调度层缓存文件分片与服务端的映射关系以及正与服务端建立连接并下载该分片的客户端数量,实现了对服务端实时负载的精确感知。在此基础上,将同一分片的后续请求优先转发至已缓存该分片的同一服务端,避免了服务端重复从数据源加载分片数据,减少了内部io传输开销;同时,当服务端负载达到预设阈值时,动态将请求切换至其他服务端,防止单一服务端过载成为瓶颈。此外,将不同分片的首次请求分散至不同服务端,有利于均匀分布初始负载。本发明实现了对服务端本地内存资源的复用、下载负载的均衡分配,以及大文件并发下载场景下整体效率与系统吞吐量的显著提升。

1.一种文件分片的下载请求调度方法,其特征在于,包括:

2.根据权利要求1所述的一种文件分片的下载请求调度方法,其特征在于,中间调度层缓存所述文件分片与服务端的映射关系,并且所述中间调度层用于缓存正与服务端建立连接并下载所述文件分片的客户端数量,包括:

3.根据权利要求1所述的一种文件分片的下载请求调度方法,其特征在于,所述中间调度层将所述下载请求转发至其他服务端,包括:

4.根据权利要求1所述的一种文件分片的下载请求调度方法,其特征在于,还包括:

5.根据权利要求4所述的一种文件分片的下载请求调度方法,其特征在于,所述中间调度层根据所述映射关系将所述文件分片的下载请求转发至对应的服务端之后,还包括:

6.根据权利要求1所述的一种文件分片的下载请求调度方法,其特征在于,还包括:

7.根据权利要求1所述的一种文件分片的下载请求调度方法,其特征在于,还包括:

8.根据权利要求7所述的一种文件分片的下载请求调度方法,其特征在于,当一个服务端完成一个文件分片的下载后,所述中间调度层将正与所述服务端建立连接并下载所述文件分片的客户端数量减1,包括:

9.根据权利要求1所述的一种文件分片的下载请求调度方法,其特征在于,所述预设阈值为服务端的最大并发下载数的90%。

10.一种文件分片的下载请求调度系统,其特征在于,包括服务端、中间调度层以及客户端,所述服务端实现以下步骤:缓存文件分片;与请求下载所述文件分片的客户端建立连接并将所述文件分片发送给所述客户端;