一种文件下载方法、装置和计算设备与流程

文档序号:37983693发布日期:2024-05-13 12:45阅读:28来源:国知局
一种文件下载方法、装置和计算设备与流程

本申请涉及计算机存储,尤其涉及一种文件下载方法、装置和计算设备。


背景技术:

1、随着大数据、人工智能的不断发展,数据存储需求呈现爆发式增长,这些数据文件具有数量多、文件大等特点,用户通常把文件存储在云端,实现文件的高速下载,提升用户使用体验。

2、众所周知,分布式存储是将数据分散存储于多台独立的设备上以提高系统可靠性、可用性、存取效率和扩展性。当服务器接收到用户下载文件的请求时,需要根据当时数据入库时所涉及计算集群对应的计算节点找到所有片段地址并基于该地址下载后处理得到完整文件,在这个过程中需要进行一系列消耗资源(例如计算集群映射的各计算节点、所需物力资源及网络资源等)的计算,最后将文件数据流返回给用户。但是当请求量巨大且并发进行时,对云端服务造成了较大压力。通常云端服务会设置下载缓存,针对不同用户的下载请求需要对应分配相应的资源且下载完成后缓存数据即会被销毁,再次有相同文件下载请求时则需要重新执行相关计算,造成了计算资源的浪费。


技术实现思路

1、本申请的主要目的在于提供一种文件下载方法、装置和计算设备,旨在解决文件并发下载效率较低的技术问题。

2、为实现上述目的,本申请实施例提供一种文件下载方法,包括:获取用户的文件下载请求,其中,所述文件下载请求中包含有待下载文件的文件标识符;检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点;若存在所述观测点,则将所述文件下载请求加载至对应于所述观测点的通知队列中进行等待;响应于所述观测点通知队列中的首个文件下载请求进行文件缓存;基于首个文件下载请求的文件缓存结果向所述观测点的通知队列中各在后文件下载请求所对应的用户发送下载反馈信息。

3、可选的,所述全局map映射关系中包含有键值对数据,以文件标识符作为所述键值对数据的key值,以所述文件标识符对应的所述观测点为所述键值对数据的value值,基于所述检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点包括:查询所述键值对数据中是否存在对应于所述文件标识符的key值;若存在对应于所述文件标识符的key值,则确定全局map映射关系中存在对应于所述文件标识符的观测点,其中,所述key值所对应的value值为对应所述观测点。

4、可选的,在所述检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点之后,所述方法还包括:若不存在所述观测点,则基于所述文件标识符在所述全局map映射关系中构建观测点;建立对应于所述观测点的通知队列;将新获取到的具有相同的所述文件标识符的在后文件下载请求加载至对应所建立的通知队列中进行等待。

5、可选的,所述将所述文件下载请求加载至对应于所述观测点的通知队列中进行等待包括:以所述文件标识符为基准,构建对应于所述观测点的通知队列;将所述标识符对应的首个文件下载请求和在后文件下载请求分别作为被观察者、观察者加载至对应的所述通知队列中进行等待。

6、可选的,所述基于首个文件下载请求的文件缓存结果向所述观测点的通知队列中各在后文件下载请求所对应的用户发送下载反馈信息包括:获取所述被观察者发送的缓存任务结束信号;基于所述缓存任务结束信号指示所述观测点向被观察者发送观测信号;若所述观测信号指示文件缓存成功,则向所述通知队列中的全部观察者发送对应的文件缓存数据;若所述观测信号指示文件缓存失败,则向所述通知队列中的全部观察者发送下载失败信息。

7、可选地,检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点的步骤之前,还包括:基于所述文件标识符对应获取所述待下载文件的特征数据,所述特征数据包括所述待下载文件的占用内存值及数据类型,所述数据类型包括冷数据和非冷数据;基于所述占用内存值判断是否大于预设阈值;若是,则基于所述文件下载请求进行解析并下载;若不是,则基于所述数据类型判断是否为热数据;若不是,则基于所述文件下载请求进行解析并下载;若是,则检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点。

8、可选的,在若所述观测信号指示文件缓存失败,则向所述通知队列中的全部观察者发送下载失败信息之后,所述方法还包括:所述观测点向日志管理模块发送缓存失败的日志信息;标记所述文件标识符的缓存失败次数;若同一文件标识符的缓存失败次数大于等于预设次数,则在再次获取到针对所述文件标识符的文件下载请求时,响应于再次文件下载请求向对应用户发送拒绝下载的反馈信息。

9、此外,为实现上述目的,本申请实施例还提供一种文件并发下载装置,所述装置包括:获取模块,用于获取用户的文件下载请求,其中,所述文件下载请求中包含有待下载文件的文件标识符;观测点检测模块,用于检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点;队列管理模,用于若存在所述观测点,则将所述文件下载请求加载至对应于所述观测点的通知队列中进行等待;下载反馈模块,用于基于所述观测点的通知队列中的首个文件下载请求向各用户发送下载反馈信息。

10、此外,为实现上述目的,本申请实施例还提供一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行本申请任意实施例所述的文件下载方法。

11、此外,为实现上述目的,本申请实施例还提供一种计算设备,所述计算设备包括:至少一个处理器、存储器和输入输出单元;其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行本申请任意实施例所述的文件下载方法。

12、本申请实施例提供的文件下载方法,在获取到用户发送的文件下载请求时,检测预设的全局map映射关系中是否存在对应于该文件下载请求的观测点,当存在对应观测点时,则将文件下载请求加载至对应于该观测点的通知队列中进行等待,直至观测点的文件缓存结束后,再将缓存文件信息告知在后下载的用户进行下载,换言之,当在先下载请求的文件缓存尚未结束时,因为在后下载的文件请求被挂起等待,从而可以阻止后续相同的文件下载请求并发地执行相关资源计算、分配,避免计算资源的浪费,整体上提升文件并发下载的效率。



技术特征:

1.一种文件下载方法,其特征在于,包括:

2.根据权利要求1所述的文件下载方法,其特征在于,所述全局map映射关系中包含有键值对数据,以文件标识符作为所述键值对数据的key值,以所述文件标识符对应的所述观测点为所述键值对数据的value值,基于所述检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点包括:

3.根据权利要求1或2所述的文件下载方法,其特征在于,在所述检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点之后,所述方法还包括:

4.根据权利要求1所述的文件下载方法,其特征在于,所述将所述文件下载请求加载至对应于所述观测点的通知队列中进行等待包括:

5.根据权利要求4所述的文件下载方法,其特征在于,所述基于首个文件下载请求的文件缓存结果向所述观测点的通知队列中各在后文件下载请求所对应的用户发送下载反馈信息包括:

6.根据权利要求5所述的文件下载方法,其特征在于,在若所述观测信号指示文件缓存失败,则向所述通知队列中的全部观察者发送下载失败信息之后,所述方法还包括:

7.根据权利要求1所述的文件下载方法,其特征在于,检测预设的全局map映射关系中是否存在对应于所述文件标识符的观测点的步骤之前,还包括:

8.根据权利要求1所述的文件下载方法,其特征在于,在所述向所述通知队列中的各文件下载请求所对应的用户发送下载反馈信息之后,所述方法还包括:

9.一种文件并发下载装置,其特征在于,所述装置包括:

10.一种计算设备,其特征在于,所述计算设备包括:


技术总结
本申请公开了一种文件下载方法、装置和计算设备,该文件下载方法包括:获取用户的文件下载请求,其中,文件下载请求中包含有待下载文件的文件标识符;检测预设的全局Map映射关系中是否存在对应于文件标识符的观测点;若存在观测点,则将文件下载请求加载至对应于观测点的通知队列中进行等待;对观测点通知队列中的首个文件下载请求进行文件缓存;基于首个文件下载请求的文件缓存结果向观测点的通知队列中各在后文件下载请求所对应的用户发送下载反馈信息。本申请旨在解决文件并发下载效率较低的技术问题,能够有效提高文件并发下载的效率。

技术研发人员:王帅,熊文轩,王星,周舒婷
受保护的技术使用者:四川蜀天信息技术有限公司
技术研发日:
技术公布日:2024/5/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1