一种文件下载方法及服务器技术

技术编号:21634379 阅读:31 留言:0更新日期:2019-07-17 12:54
本发明专利技术实施例提供一种文件下载方法及服务器。所述方法包括接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端,本发明专利技术实施例通过服务器在接收到客户端发送的下载请求后,分配令牌,并在当前的可用带宽与所述下载带宽的比例小于预设的比例阈值时,对所述令牌的下载速度进行限速,从而有效降低了多个客户端同时下载文件时导致网络拥堵的可能性,提高了文件下载的效率。

A File Downloading Method and Server

【技术实现步骤摘要】
一种文件下载方法及服务器
本专利技术涉及电子通信
,尤其涉及一种文件下载方法及服务器。
技术介绍
Java设计网络程序中如何控制下载速度站在输入/输出(Input/Output,I/O)的角度来说,限速的控制技术有:假设下载或者上传速度上限是m(KB/s),那么发送一个固定的字节数据(假设是n字节)的时间花费是:n/m;假设现在要发送n字节的数据,那么理论所需的时间应该是n/m,而在实际情况下,发送n字节的数据只花费了t秒,那么发送该发送线程就应该睡眠n/m-t秒,这样就基本实现了速度的控制。而对于同时有大量客户端同时发起的下载请求时,以上现有技术在大量同时下载时容易造成的网络拥堵致使网络瘫痪。
技术实现思路
本专利技术实施例提供一种文件下载方法及服务器,用以解决现有技术中在大量同时下载时容易造成的网络拥堵致使网络瘫痪的问题。第一方面,本专利技术实施例提供了一种文件下载方法,包括:接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端。第二方面,本专利技术实施例提供了一种用于文件下载的服务器,包括:请求接收模块,用于接收客户端发送的下载请求;令牌分配模块,用于为所述下载请求分配空闲的令牌,并查看当前的可用带宽;令牌限速模块,用于若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;下载池模块,用于根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;文件发送模块,用于将下载后的文件发送给所述客户端。第三方面,本专利技术实施例还提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线;其中,所述处理器、存储器、通信接口通过所述通信总线完成相互间的通信;所述通信接口用于该电子设备的通信设备之间的信息传输;所述存储器存储有可被所述处理器执行的计算机程序指令,所述处理器调用所述程序指令能够执行如下方法:接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端。第四方面,本专利技术实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端。本专利技术实施例提供的文件下载方法及服务器,通过服务器在接收到客户端发送的下载请求后,分配令牌,并在当前的可用带宽与所述下载带宽的比例小于预设的比例阈值时,对所述令牌的下载速度进行限速,从而有效降低了多个客户端同时下载文件时导致网络拥堵的可能性,提高了文件下载的效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例的文件下载方法流程图;图2为本专利技术实施例的另一文件下载方法流程图;图3为本专利技术实施例的用于文件下载的服务器结构示意图;图4示例了一种电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例的文件下载方法流程图,如图1所示,所述方法包括:步骤S01、接收客户端发送的下载请求。本专利技术实施例的网络由一个服务器和至少一个与所述服务器相连的客户端组成。当任一客户端需要下载文件时,将向所述服务器发送下载请求。步骤S02、为所述下载请求分配空闲的令牌,并查看当前的可用带宽。所述服务器设置有下载池和预设数量的令牌,所述下载池包括与所述服务器中令牌的数量对应的下载线程,通过所述令牌可以开启下载线程将所述客户端需要的文件下载到所述下载池中。当所述服务器接收到下载请求后,将查看是否存在空闲的令牌。若存在,则所述服务器为所述下载请求分配一个空闲令牌。同时,所述服务器将检测所述下载池中带宽的使用状态,包括当前的可用带宽和预设的总下载带宽。步骤S03、若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽。所述服务器将可用带宽与所述总下载带宽进行比较,若两者的比值小于预设的比例阈值,例如20%等,则所述服务器判定所述可用带宽不足,并将所述令牌的下载速度设定为限速带宽;而若两者的比值不小于预设的比例阈值,则不对所述令牌的下载速度进行限定。步骤S04、根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌。根据所述令牌的下载速度,所述服务器在所述下载池中开启下载线程下载与所述下载请求对应的文件。若所述令牌的下载速度为限定带宽,则所述下载线程的下载速度最高为所述限定带宽;否则,不对该下载线程的下载速度进行限定。当所述文件在下载池中完成下载后,所述服务器释放该令牌。步骤S05、将下载后的文件发送给所述客户端。所述服务器将下载完成后的文件发送给所述客户端。本专利技术实施例通过服务器在接收到客户端发送的下载请求后,分配令牌,并在当前的可用带宽与所述下载带宽的比例小于预设的比例阈值时,对所述令牌的下载速度进行限速,从而有效降低了多个客户端同时下载文件时导致网络拥堵的可能性,提高了文件下载的效率。图2为本专利技术实施例的另一文件下载方法流程图,如图2所示,在所述步骤S01后,所述方法还包括:步骤S11、若没有空闲的令牌,则将所述下载请求保存到等待池中。当所述服务器接收到下载请求后,若当前不存在空闲的令牌,则将所述下载请求暂时保存到预先设置的等待池中。所述等待池中所有的下载请求可以按照预设的排列规则进行排序,例如,根据进入的时间先后,或者根据下载请求的优先级大小进行排序。为了简便起见,在下面的实施例中都仅以按时间先后进行排序为例进行举例说明。步骤S12、在任一令牌被释放后,将释放的令牌分配给所述等待池中最早保存的下载请求,并查看当前的可用带宽。由上述实施例可知,当所述下载池完成对任一文件的下载时,所述服务器会释放与所述文件对应的令牌。此时,所述服务器将查看所述等待池中是否存在下载请求。若不存在,则所述令牌将等待由客户端发送的新的下载指令;若存在,所述服务器则根据排序,提取出所述等待池中最早保存的下载请求,并将释放的令本文档来自技高网...

【技术保护点】
1.一种文件下载方法,其特征在于,包括:接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端。

【技术特征摘要】
1.一种文件下载方法,其特征在于,包括:接收客户端发送的下载请求;为所述下载请求分配空闲的令牌,并查看当前的可用带宽;若所述可用带宽与总下载带宽的比值小于预设的比例阈值,则将所述令牌的下载速度设定为限速带宽;根据所述令牌的下载速度,下载与所述下载请求对应的文件,并在下载完成后释放所述令牌;将下载后的文件发送给所述客户端。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若没有空闲的令牌,则将所述下载请求保存到等待池中;在任一令牌被释放后,将释放的令牌分配给所述等待池中最早保存的下载请求,并查看当前的可用带宽。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:设置所述令牌的总数、所述限速带宽和所述比例阈值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:设置不限速带宽;相应地,所述方法还包括:若所述可用带宽与总下载带宽的比值不小于预设的比例阈值,则将所述令牌的下载速度设定为所述不限速带宽。5.一种用于文件下载的服务器,其特征在于,包括:请求接收模块,用于接收客户端发送的下载请求;令牌分配模块,用于为所述下载请求分配空闲的令牌,并查看当前的可用带宽;令牌限速模块,用于若所述可用带宽与总下载带宽的比值小于预设的比例阈值...

【专利技术属性】
技术研发人员:林皓杨强高林武
申请(专利权)人:北京北信源信息安全技术有限公司
类型:发明
国别省市:北京,11

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

1