[发明专利]一种文件下载方法及服务器有效
申请号: | 201910272023.0 | 申请日: | 2019-04-04 |
公开(公告)号: | CN110022364B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 林皓;杨强;高林武 | 申请(专利权)人: | 密信(北京)数字科技有限公司 |
主分类号: | H04L67/06 | 分类号: | H04L67/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100195 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 下载 方法 服务器 | ||
本发明实施例提供一种文件下载方法及服务器。所述方法包括接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端,本发明实施例通过服务器在接收到客户端发送的下载请求后,分配令牌,并在当前的可用带宽与所述下载带宽的比例小于预设的比例阈值时,对所述令牌的下载速度进行限速,从而有效降低了多个客户端同时下载文件时导致网络拥堵的可能性,提高了文件下载的效率。
技术领域
本发明涉及电子通信技术领域,尤其涉及一种文件下载方法及服务器。
背景技术
Java设计网络程序中如何控制下载速度站在输入/输出(Input/Output,I/O)的角度来说,限速的控制技术有:假设下载或者上传速度上限是m(KB/s),那么发送一个固定的字节数据(假设是n字节)的时间花费是:n/m;假设现在要发送n字节的数据,那么理论所需的时间应该是n/m,而在实际情况下,发送n字节的数据只花费了t秒,那么发送该发送线程就应该睡眠n/m-t秒,这样就基本实现了速度的控制。
而对于同时有大量客户端同时发起的下载请求时,以上现有技术在大量同时下载时容易造成的网络拥堵致使网络瘫痪。
发明内容
本发明实施例提供一种文件下载方法及服务器,用以解决现有技术中在大量同时下载时容易造成的网络拥堵致使网络瘫痪的问题。
第一方面,本发明实施例提供了一种文件下载方法,包括:
接收客户端发送的下载请求;
为所述下载请求分配空闲的令牌,并查看当前的可用带宽;
若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;
根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;
将下载后的文件发送给所述客户端。
第二方面,本发明实施例提供了一种用于文件下载的服务器,包括:
请求接收模块,用于接收客户端发送的下载请求;
令牌分配模块,用于为所述下载请求分配空闲的令牌,并查看当前的可用带宽;
令牌限速模块,用于若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;
下载池模块,用于根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;
文件发送模块,用于将下载后的文件发送给所述客户端。
第三方面,本发明实施例还提供了一种电子设备,包括:
处理器、存储器、通信接口和通信总线;其中,
所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;
所述通信接口用于该电子设备的通信设备之间的信息传输;
所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述程序指令能够执行如下方法:
接收客户端发送的下载请求;
为所述下载请求分配空闲的令牌,并查看当前的可用带宽;
若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于密信(北京)数字科技有限公司,未经密信(北京)数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910272023.0/2.html,转载请声明来源钻瓜专利网。