一种分布式文件下载方法、系统、电子设备及存储介质技术方案

技术编号:38864508 阅读:11 留言:0更新日期:2023-09-17 10:05
一种分布式文件下载方法、系统、电子设备及存储介质,涉及互联网技术领域。该方法包括:获取用户提交的若干个下载任务;根据所述各下载任务对应的下载优先级,确定目标任务对象;判断所述目标任务对象是否支持分块下载;若是,则根据预设分块算法对所述目标任务对象进行文件分块得到分块文件,所述分块文件类型不同对应有不同下载路径;选择对应所述分块文件的下载路径,并发下载所述分块文件。实施本申请提供的技术方案,在处理大文件时对文件进行分块下载,达到了提高处理大文件下载速度的效果。果。果。

【技术实现步骤摘要】
一种分布式文件下载方法、系统、电子设备及存储介质


[0001]本申请涉及互联网
,具体涉及一种分布式文件下载方法、系统、电子设备及存储介质。

技术介绍

[0002]随着互联网技术的不断发展,在当今信息爆炸的时代,大量的数据和文件需要高效地传输和处理。无论是企业内部的数据共享,还是互联网上的文件下载,都需要一个可靠且高性能的文件下载方法来满足需求,特别是对于那些需要频繁下载大文件、或者需要同时处理多个下载任务的场景中更是需要。
[0003]目前,传统的文件下载方法是根据爬虫下载文件的方式,通过程序化地模拟人类浏览网页的行为,查找文件链接并发送网络请求来获取文件的二进制数据,最终保存到本地计算机上。
[0004]但是在实际应用中,传统的爬虫下载文件方法在处理大文件载任务时往往下载速度较慢且无法根据用户需求优先选取下载任务,影响工作效率,导致等待时间过长,用户体验感低。

技术实现思路

[0005]本申请提供了一种分布式文件下载方法、系统、电子设备及存储介质,具有提高下载大文件速度的效果。
[0006]第一方面,本申请提供了一种分布式文件下载方法,包括:获取用户提交的若干个下载任务;根据所述各下载任务对应的下载优先级,确定目标任务对象;判断所述目标任务对象是否支持分块下载;若是,则根据预设分块算法对所述目标任务对象进行文件分块得到分块文件,所述分块文件类型不同对应有不同下载路径;选择对应所述分块文件的下载路径,并发下载所述分块文件。
[0007]通过采用上述技术方案,将用户提交的下载任务存入任务队列进行管理、调度,然后根据预设文件并发数以及下载任务对应下载优先级匹配任务对象,并对任务对象对应文件进行分块下载,有效提高在处理大文件时的下载速度,从而增加用户体验感。
[0008]可选的,获取若干个用户提交的下载任务,将所述下载任务存入预设任务队列,所述任务队列用于存储和管理待执行任务。
[0009]通过采用上述技术方案,获取并将用户提交的若干个下载任务存入预设Redis队列中,便于在处理若干个下载任务时,对多个下载任务进行调度,提高下载任务处理的效率。
[0010]可选的,根据所述下载任务中的文件信息,查询下载优先级序列表确定任务队列中各下载任务的下载优先级,所述优先级序列表包括文件信息和文件信息对应的下载优先
级;筛选出任务队列中下载优先级最大的下载任务作为目标任务对象。
[0011]通过采用上述技术方案,根据下载任务中的文件信息查询序列表,来获取下载任务对应的优先级,从而起到根据用户需求,自由分配下载任务的作用。
[0012]可选的,判断所述目标任务对象对应文件是否支持断点续传;若是,则选择分块下载文件作为下载方式;若否,则选择流式读取文件作为下载方式。
[0013]通过采用上述技术方案,在下载任务之前先判断该文件是否支持断点续传,从而选取不同的下载方式,当该文件支持断点续传则采用分块下载的方式,当该文件不支持断点续传则采用流式读取的方式,从而在面对不同文件采取不同下载方式,提高下载文件时的效率。
[0014]可选的,通过HTTP发送头部请求;接收所述头部请求返回所述下载文件对应的头部字段信息;根据所述头部字段信息以及断点续传标准,确定文件是否支持断点续传。
[0015]通过采用上述技术方案,根据HTTP协议向服务器发送头部请求,并接收返回的头部字段信息,进一步识别头部字段信息中的值从而判断文件是否支持断点续传,在下载文件之前,对文件是否支持断点续传进行识别,为后续选择文件下载方式提供基础,提高文件下载效率,可选的,根据预设算法识别所述目标任务对象对应文件的文件后缀;查询映射表,得到所述文件后缀对应文件夹路径;将所述文件夹路径作为下载路径。
[0016]通过采用上述技术方案,通过预设算法识别目标任务对象对应文件的文件后缀,根据该文件后缀查询映射表得到对应该文件后缀的文件夹路径,并将该文件夹路径作为文件下载路径,便于查找文件下载路径,提高文件下载效率。
[0017]可选的,根据预设状态识别算法,获取所述任务队列中各下载任务的状态信息;根据所述状态信息,筛选状态为已完成的下载任务;生成对应提示信息并发送给用户,所述提示信息用于通知用户下载任务已完成。
[0018]通过采用上述技术方案,对任务队列进行检测,根据预设状态识别算法识别任务队列中各下载任务的状态信息,并筛选出状态信息显示为已完成的下载任务,对于已完成的下载任务生成提示信息发送给用户,本方案生成对应已完成下载任务的提示信息,可以提示用户下载任务已完成,提高用户体验感。
[0019]在本申请的第二方面提供了一种分布式文件下载方法的系统,包括:任务获取模块,用于获取若干个下载任务;任务匹配模块,用于根据预设文件并发数和所述各下载任务对应的下载优先级,匹配任务队列得到目标任务对象;文件识别模块,用于判断所述目标任务对象的数据量是否大于预置文件数据量阈值;若是,则根据预设分块算法对所述目标任务对象进行文件分块得到分块文件;文件下载模块,用于通过预设选取规则,选择对应所述目标任务对象的下载路径;根据所述下载路径,下载所述目标任务对象对应分块文件并存入数据库。
[0020]在本申请的第三方面提供了一种电子设备。
[0021]一种分布式文件下载方法的系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,该程序能够被处理器加载执行时实现一种分布式文件下载方法。
[0022]在本申请的第四方面提供了一种计算机可读存储介质。
[0023]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现一种分布式文件下载方法。
[0024]综上所述,本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:1、本申请通过将用户提交的下载任务存入任务队列进行管理、调度,然后根据预设文件并发数以及下载任务对应下载优先级匹配任务对象,并对任务对象对应文件进行分块下载,有效提高在处理大文件时的下载速度。
[0025]2、本申请通过采用流式读取的方式下载文件,在文件不支持断点续传的情况下,对文件分块,逐个数据块地从输入流中读取数据的方法,而不是将整个文件一次性加载到内存中,可有效提高文件下载效率,避免出现因文件过大导致系统出错的问题。
[0026]3、本申请通过识别文件后缀,来读取文件保存的文件夹路径,从而将该文件夹路径作为下载路径,能够提高获取下载路径的效率。
附图说明
[0027]图1是本申请实施例提供的一种分布式文件下载方法的流程示意图。
[0028]图2是本申请实施例公开的一种分布式文件下载方法的下载方式选取流程示意图。
[0029]图3是本申请实施例公开的一种分布式文件下载方法的系统结构示意图。
[0030]图4是本申请实施例的公开的一种电子设备的结构示意图。
[0031]附图标记说明:301、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式文件下载方法,其特征在于,包括:获取用户提交的若干个下载任务;根据所述各下载任务对应的下载优先级,确定目标任务对象;判断所述目标任务对象是否支持分块下载;若是,则根据预设分块算法对所述目标任务对象进行文件分块得到分块文件,所述分块文件类型不同对应有不同下载路径;选择对应所述分块文件的下载路径,并发下载所述分块文件。2.根据权利要求1所述的一种分布式文件下载方法,其特征在于,所述获取用户提交的若干个下载任务之后,还包括:获取若干个用户提交的下载任务,将所述下载任务存入预设任务队列,所述任务队列用于存储和管理待执行任务。3.根据权利要求2所述的一种分布式下载方法,其特征在于,所述根据各下载任务对应的下载优先级,确定目标任务对象中,包括:根据所述下载任务中的文件信息,查询下载优先级序列表确定任务队列中各下载任务的下载优先级,所述优先级序列表包括文件信息和文件信息对应的下载优先级;筛选出任务队列中下载优先级最大的下载任务作为目标任务对象。4.根据权利要求1所述的一种分布式下载方法,其特征在于,所述判断所述目标任务对象是否支持分块下载中,包括:判断所述目标任务对象对应文件是否支持断点续传;若是,则选择分块下载文件作为下载方式;若否,则选择流式读取文件作为下载方式。5.根据权利要求4所述的一种分布式下载方法,其特征在于,所述判断所述下载文件是否支持断点续传中,包括:通过HTTP发送头部请求;接收所述头部请求返回所述下载文件对应的头部字段信息;根据所述头部字段信息以及断点续传标准,确定文件是否支持断点续传。6.根据权利要求1所述的一种分布式下载方法,其特征在于,所述选择对应所述分块文件的下载路径中,包括:根据预设算法识别所述目标任务对象对应文件的文件后缀;查询映射表,得到...

【专利技术属性】
技术研发人员:朱林志
申请(专利权)人:企知道科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1