【技术实现步骤摘要】
流量控制方法、装置、设备及存储介质
[0001]本公开涉及通信
,具体涉及数据传输、数据监控、流量控制等
,可应用于文件传输、消费者流量控制等场景下,尤其涉及一种流量控制方法、装置、设备及存储介质。
技术介绍
[0002]数据的生产者可以将数据发布在消息队列中,消费者可以从消息队列中消费生产者发布的数据。生成者发布数据所消耗的流量资源可以称为发布流量,消费者消费数据所消耗的流量资源可以称为订阅流量。当订阅流量过多时,消息队列所在的服务器会由于吞吐量过大而过载,影响了消息队列的稳定性和可用性。通过对订阅流量进行控制,可以限制消息队列所在的服务器的吞吐量,以提高消息队列的稳定性和可用性。
[0003]目前,对订阅流量进行控制的方案可以包括:面向每一个消费者进行流量控制的方案、或者面向消费者整体进行流量控制的方案。其中,面向每一个消费者进行流量控制的方案是指:根据每个消费者的订阅流量是否达到流量控制阈值,分别对每个消费者的订阅流量进行控制。面向消费者整体进行流量控制的方案是指:根据所有消费者的订阅流量整体是否达 ...
【技术保护点】
【技术特征摘要】
1.一种流量控制方法,所述方法包括:通过消耗总令牌桶中的令牌,对至少一个用户分别请求传输的第一目标数据进行传输,所述总令牌桶中令牌的数量不超过第一令牌数量;响应于检测到所述用户的数量和所述至少一个用户需要的第一数据传输流量达到预设条件,通过消耗每个所述用户对应的子令牌桶中的令牌,分别对每个所述用户请求传输的第一目标数据进行传输,所述子令牌桶中的令牌来自所述总令牌桶;根据所述用户需要的第一数据传输流量,调整所述用户对应的所述子令牌桶中令牌的数量,使所述子令牌桶中的令牌对应的第二数据传输流量与所述第一数据传输流量的差值小于第一流量阈值。2.根据权利要求1所述的方法,所述预设条件包括:所述用户的数量大于预设用户数量,且所述总令牌桶中消耗的令牌对应的数据传输流量大于第二流量阈值。3.根据权利要求1或2所述的方法,所述通过消耗每个所述用户对应的子令牌桶中的令牌,分别对每个所述用户请求传输的第一目标数据进行传输之前,所述方法还包括:为每个所述用户生成一个对应的所述子令牌桶,并向每个所述子令牌桶中分配所述总令牌桶中的令牌至所述子令牌桶中令牌的数量达到第二令牌数量。4.根据权利要求1
‑
3任一项所述的方法,所述根据所述用户需要的第一数据传输流量调整所述用户对应的所述子令牌桶中令牌的数量,使所述子令牌桶中的令牌对应的第二数据传输流量与所述第一数据传输流量的差值小于第一流量阈值,包括:根据所述用户需要的第一数据传输流量调整所述用户对应的所述子令牌桶中令牌的数量,使所述子令牌桶中的令牌对应的第二数据传输流量大于所述第一数据传输流量,且所述第二数据传输流量和所述第一数据传输流量的差值小于所述第一流量阈值。5.根据权利要求4所述的方法,所述根据所述用户需要的第一数据传输流量调整所述用户对应的所述子令牌桶中令牌的数量,使所述子令牌桶中的令牌对应的第二数据传输流量大于所述第一数据传输流量,且所述第二数据传输流量和所述第一数据传输流量的差值小于所述第一流量阈值,包括:对每个第一目标子令牌桶,按照预设周期检测所述第一目标子令牌桶中的令牌对应的第二数据传输流量、和所述第一目标子令牌桶对应的目标用户的第三数据传输流量,所述第一目标子令牌桶为任意一个所述子令牌桶;在每个所述预设周期内,当所述第一目标子令牌桶中的令牌对应的第二数据传输流量小于所述目标用户的第三数据传输流量时,继续从所述总令牌桶中选择预设数量的令牌分配至所述第一目标子令牌桶中;在每个所述预设周期内,当所述第一目标子令牌桶中的令牌对应的第二数据传输流量大于所述目标用户的第三数据传输流量,且所述第一目标子令牌桶中的令牌对应的第二数据传输流量与所述目标用户的第三数据传输流量之间的差值大于或等于所述第一流量阈值时,从所述第一目标子令牌桶中选择所述预设数量的令牌回收至所述总令牌桶中;其中,所述预设数量的令牌对应的第四数据传输流量小于或等于所述第一流量阈值。6.根据权利要求5所述的方法,所述在每个所述预设周期内,当所述第一目标子令牌桶中的令牌对应的第二数据传输流量小于所述目标用户的第三数据传输流量时,继续从所述
总令牌桶中选择预设数量的令牌分配至所述第一目标子令牌桶中,包括:在每个所述预设周期内,当所述第一目标子令牌桶中的令牌对应的第二数据传输流量小于所述目标用户的第三数据传输流量,且所述总令牌桶中盈余的令牌数量大于或等于所述预设数量时,继续从所述总令牌桶中选择所述预设数量的令牌分配至所述第一目标子令牌桶中;所述方法还包括:在每个所述预设周期内,当所述第一目标子令牌桶中的令牌对应的第二数据传输流量小于所述目标用户的第三数据传输流量,且所述总令牌桶中盈余的令牌数量小于所述预设数量时,从第二目标子令牌桶中回收所述预设数量的令牌,并分配至所述第一目标子令牌桶中,所述第二目标子令牌桶为令牌数量大于第三令牌数量的所述子令牌桶,所述第三令牌数量为根据所述第一令牌数量和所述用户的数量得到的平均令牌数量。7.根据权利要求6所述的方法,所述第二目标子令牌桶包括多个;所述从第二目标子令牌桶中回收所述预设数量的令牌,并分配至所述第一目标子令牌桶中,包括:从多个所述第二目标子令牌桶中确定令牌数量最多的第三目标子令牌桶;从所述第三目标子令牌桶中回收所述预设数量的令牌,并分配至所述第一目标子令牌桶中。8.根据权利要求1
‑
7任一项所述的方法,所述方法还包括:响应于新用户的第二数据传输请求,为所述新用户生成一个对应的子令牌桶,所述第二数据传输请求用于请求传输第二目标数据;当所述总令牌桶中盈余的令牌数量大于或等于预设数量时,从所述总令牌桶中选择所述预设数量的令牌分配至所述新用户对应的所述子令牌桶中,并通过消耗所述新用户对应的所述子令牌桶中的令牌,对所述第二目标数据进行传输;在对所述第二目标数据进行传输的过程中,当所述总令牌桶中盈余的令牌数量大于或等于所述新用户的第五数据传输流量时,对所述新用户对应的所述子令牌桶中令牌的数量进行调整,使所述新用户对应的所述子令牌桶中的令牌对应的第六数据传输流量大于所述新用户的第五数据传输流量,且所述新用户对应的所述子令牌桶中的令牌对应的第六数据传输流量与所述新用户的第五数据传输流量之间的差值小于所述第一流量阈值。9.根据权利要求8所述的方法,所述方法还包括:在对所述第二目标数据进行传输的过程中,当所述总令牌桶中盈余的令牌数量小于所述新用户...
【专利技术属性】
技术研发人员:李树毫,付胜博,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。