客户端、服务端的文件下载控制方法、装置及系统制造方法及图纸

技术编号:15111262 阅读:59 留言:0更新日期:2017-04-09 02:05
本发明专利技术公开了客户端、服务端的文件下载控制方法、装置及系统,其中,客户端的文件下载控制方法,包括:基于预设方式为客户端分配初始下载时间点;当达到所述初始下载时间点则自动向服务端提交下载请求;接收服务端反馈的处置消息,若允许下载,则开始下载,否则等待下次重连时间点向服务端提交下载请求;所述预设方式为将各客户端的初始下载时间点分散到不同时间段的方法。本发明专利技术还公开了服务端的文件下载控制方法及装置,通过本发明专利技术所述技术方案,能够有效减轻服务端的响应压力,解决了服务端成为性能瓶颈的问题。

【技术实现步骤摘要】

本专利技术涉及计算机通信
,尤其涉及一种客户端的文件下载控制方法及装置、服务端的文件下载控制方法及装置和文件下载控制系统。
技术介绍
目前很多手机APP、桌面客户端、连接到公网的应用服务器都具备在线升级这一功能。在线升级当然离不开在线下载,当大量客户端请求下载服务器的升级包时,必然会给服务器造成一定的压力,影响其他业务功能的用户体验。甚至更为严重会致使服务瘫痪,宕机。现有的解决方案包括:通过在服务端设置专有参数,提供专有文件通道方式;例如Apache/Nginx/Lighttpd设置x-sendfile功能实现,这种方式在高并发大文件时很容易达到服务端的极限,保证不了下载功能的高可用性;扩大服务器带宽、增强服务器硬件资源配置(CPU/内存/高速硬盘等),这种方式依然受限于服务器的硬件性能极限;通过服务器集群加负载均衡的方式,加上必要的动态扩展手段,这让高并发大文件下载的正常运转理论上成为可能,但随着服务器数量和集群控制体系的复杂化,实际上需要付出更加巨额的资金成本和维护成本。
技术实现思路
针对上述技术问题,本专利技术公开了一种客户端、服务端的文件下载控制方法、装置及系统,能够从客户端角度出发,分散初始下载时间点,从而避免大量的客户端同时向服务端提交下载请求,从而对服务端的响应能力有较高的要求;也能够从服务端角度出发,通过监控下载量的方式,避免同时响应大量的下载请求,也避免造成服务端瘫痪或者宕机等情况的发生。本专利技术给出了一种客户端的文件下载控制方法,包括:基于预设方式为客户端分配初始下载时间点;当达到所述初始下载时间点则自动向服务端提交下载请求;接收服务端反馈的处置消息,若允许下载,则开始下载,否则等待下次重连时间点向服务端提交下载请求;所述预设方式为将各客户端的初始下载时间点分散到不同时间段的方法。进一步地,所述基于预设方式为客户端分配初始下载时间点为:基于hash散列方法为客户端分配初始下载时间点;或者,随机为客户端分配初始下载时间点。更进一步地,所述基于hash散列方法为客户端分配初始下载时间点为:将客户端唯一标识转化为ASCII码值,并将所述ASCII码值累加计算和值;基于下载请求对应的文件大小和网络情况得到下载完成所需的平均时间间隔;基于服务端允许下载的时间段和平均时间间隔得到允许下载的窗口大小;将所述和值对所述窗口大小取余后得到n;计算所述平均时间间隔与n的乘积,所述乘积与初始时间点相加得到初始下载时间点。进一步地,所述下次重连时间点为:基于所述预设方式重新为客户端分配的初始下载时间点;或者基于预设时间间隔后得到的下次重连时间点;或者服务端反馈的允许重新提交下载请求的时间点。本专利技术同时给出了一种客户端的文件下载控制装置,包括:时间点分配模块,用于基于预设方式为客户端分配初始下载时间点;下载请求提交模块,用于当达到所述初始下载时间点则自动向服务端提交下载请求;消息响应模块,用于接收服务端反馈的处置消息,若允许下载,则开始下载,否则等待下次重连时间点向服务端提交下载请求;所述预设方式为将各客户端的初始下载时间点分散到不同时间段的方法。进一步地,所述时间点分配模块,用于:基于hash散列方法为客户端分配初始下载时间点;或者,随机为客户端分配初始下载时间点。更进一步地,所述时间点分配模块,具体用于:将客户端唯一标识转化为ASCII码值,并将所述ASCII码值累加计算和值;基于下载请求对应的文件大小和网络情况得到下载完成所需的平均时间间隔;基于服务端允许下载的时间段和平均时间间隔得到允许下载的窗口大小;将所述和值对所述窗口大小取余后得到n;计算所述平均时间间隔与n的乘积,所述乘积与初始时间点相加得到初始下载时间点。进一步地,所述下次重连时间点为:基于所述预设方式重新为客户端分配的初始下载时间点;或者基于预设时间间隔后得到的下次重连时间点;或者服务端反馈的允许重新提交下载请求的时间点。本专利技术给出了一种服务端的文件下载控制方法,包括:接收客户端提交的下载请求,并查询服务端当前响应的下载量;基于下载量判断是否响应所述下载请求,并向客户端反馈处置消息。进一步地,所述基于下载量判断是否响应所述下载请求,并向客户端反馈处置消息为:判断所述下载量是否超过阈值,若是,则不响应所述下载请求,并向客户端反馈不允许下载的消息,否则响应所述下载请求,并向客户端反馈允许下载的消息。更进一步地,当判定不响应所述下载请求时,还包括:向客户端反馈重新提交下载请求的时间点。上述方法中,所述重新提交下载请求的时间点为:基于服务端当前响应的下载请求对应的文件大小、客户端提交的下载请求对应的文件大小、网络情况及重连队列情况,计算得到的重新提交下载请求的时间点。进一步地,当判定响应所述下载请求时,还包括:将所述下载量的数值加1,当所述下载请求响应完成或者异常中断,则将所述下载量的数值减1。进一步地,所述接收客户端提交的下载请求后,还包括:查询所述客户端下载失败的次数,若超过失败次数阈值,则不进行基于下载量判断是否响应所述下载请求的操作,而优先响应该下载请求。本专利技术同时给出了一种服务端的文件下载控制装置,包括:下载请求接收模块,用于接收客户端提交的下载请求,并查询服务端当前响应的下载量;请求判断响应模块,用于基于下载量判断是否响应所述下载请求,并向客户端反馈处置消息。进一步地,所述请求判断响应模块,用于:判断所述下载量是否超过阈值,若是,则不响应所述下载请求,并向客户端反馈不允许下载的消息,否则响应所述下载请求,并向客户端反馈允许下载的消息。更进一步地,当判定不响应所述下载请求时,还包括:向客户端反馈重新提交下载请求的时间点。上述装置中,所述重新提交下载请求的时间点为:基于服务端当前响应的下载请求对应的文件大小、客户端提交的下载请求对应的文件大小、网络情况及重连队列情况,计算得到的重新提交下载请求的时间点。进一步地,当判定响应所述下载请求时,还包括:将所述下载量的数值加1,当所述下载请求响应完成或者异常中断,则将所述下载量的数值减1。进一步地,所述接收客户端提交的下载请求后,还包括:查询所述客户端下载失败的次数,若超过失败次数阈值,则不进行基于下载量判断是否响应所述下载请求的操作,而优先响应该下载请求。本专利技术还给出了一种文件下载控制系统,包括:如上任一所述客户端的文件下载控制装置和如上任本文档来自技高网...

【技术保护点】
一种客户端的文件下载控制方法,其特征在于,包括:基于预设方式为客户端分配初始下载时间点;当达到所述初始下载时间点则自动向服务端提交下载请求;接收服务端反馈的处置消息,若允许下载,则开始下载,否则等待下次重连时间点向服务端提交下载请求;所述预设方式为将各客户端的初始下载时间点分散到不同时间段的方法。

【技术特征摘要】
1.一种客户端的文件下载控制方法,其特征在于,包括:
基于预设方式为客户端分配初始下载时间点;
当达到所述初始下载时间点则自动向服务端提交下载请求;
接收服务端反馈的处置消息,若允许下载,则开始下载,否则等待下次重连时间点向服
务端提交下载请求;
所述预设方式为将各客户端的初始下载时间点分散到不同时间段的方法。
2.如权利要求1所述的方法,其特征在于,所述基于预设方式为客户端分配初始下载
时间点为:
基于hash散列方法为客户端分配初始下载时间点;或者,随机为客户端分配初始下载
时间点。
3.如权利要求2所述的方法,其特征在于,所述基于hash散列方法为客户端分配初始
下载时间点为:
将客户端唯一标识转化为ASCII码值,并将所述ASCII码值累加计算和值;
基于下载请求对应的文件大小和网络情况得到下载完成所需的平均时间间隔;
基于服务端允许下载的时间段和平均时间间隔得到允许下载的窗口大小;
将所述和值对所述窗口大小取余后得到n;
计算所述平均时间间隔与n的乘积,所述乘积与初始时间点相加得到初始下载时间点。
4.如权利要求1所述的方法,其特征在于,所述下次重连时间点为:
基于所述预设方式重新为客户端分配的初始下载时间点;或者
基于预设时间间隔后得到的下次重连时间点;或者
服务端反馈的允许重新提交下载请求的时间点。
5.一种客户端的文件下载控制装置,其特征在于,包括:
时间点分配模块,用于基于预设方式为客户端分配初始下载时间点;
下载请求提交模块,用于当达到所述初始下载时间点则自动向服务端提交下载请求;
消息响应模块,用于接收服务端反馈的处置消息,若允许下载,则开始下载,否则等待
下次重连时间点向服务端提交下载请求;
所述预设方式为将各客户端的初始下载时间点分散到不同时间段的方法。
6.如权利要求5所述的装置,其特征在于,所述时间点分配模块,用于:
基于hash散列方法为客户端分配初始下载时间点;或者,随机为客户端分配初始下载
时间点。
7.如权利要求6所述的装置,其特征在于,所述时间点分配模块,具体用于:
将客户端唯一标识转化为ASCII码值,并将所述ASCII码值累加计算和值;
基于下载请求对应的文件大小和网络情况得到下载完成所需的平均时间间隔;
基于服务端允许下载的时间段和平均时间间隔得到允许下载的窗口大小;
将所述和值对所述窗口大小取余后得到n;
计算所述平均时间间隔与n的乘积,所述乘积与初始时间点相加得到初始下载时间点。
8.如权利要求5所述的装置,其特征在于,所述下次重连时间点为:
基于所述预设方式重新为客户端分配的初始下载时间点;或者
基于预设时间间隔后得到的下次重连时间点;或者
服务端反馈的允许重新提交下载请求的时间点。
9.一种服务端的文件下载控制方法,其特征在于,包括:
接收客户端提交的下载请求,并查询服务端当前响应的下载量;
基于下载量判断是否响应所述下载请求,并向客户端反馈处置消息。
10.如权利要求9所述的方法,其特征在于,所述基于下载量判断是否响应所述下载请
求,并向客户端反馈处置消息为:
判断所述下载量是否超过阈值,若是,则不响应所...

【专利技术属性】
技术研发人员:罗俊林袁昌锦
申请(专利权)人:北京致远协创软件有限公司
类型:发明
国别省市:北京;11

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

1