CN110198275B - 一种流量控制方法、系统、服务器及存储介质 - Google Patents
一种流量控制方法、系统、服务器及存储介质 Download PDFInfo
- Publication number
- CN110198275B CN110198275B CN201810267164.9A CN201810267164A CN110198275B CN 110198275 B CN110198275 B CN 110198275B CN 201810267164 A CN201810267164 A CN 201810267164A CN 110198275 B CN110198275 B CN 110198275B
- Authority
- CN
- China
- Prior art keywords
- flow
- flow control
- user terminal
- server
- control logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信技术领域,尤其涉及一种流量控制方法、系统、服务器及存储介质,包括流控逻辑集群和业务集群,流控逻辑服务器接收到业务服务器发送的用户终端的流控状态查询请求时,获取用户终端的流量总和统计值,根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息;业务服务器根据流控指示信息,对用户终端进行流量控制,这样,通过流控逻辑服务集群,能够对用户终端在全网范围内使用流量进行统计,进而业务服务器能够根据用户终端在全网范围内使用流量的总和,对用户终端进行流量控制,提升流控效果,提高网络性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种流量控制方法、系统、服务器及存储介质。
背景技术
随着互联网的快速发展,网络流量需求非常大,现有技术中,通常是在单台服务器上依据单台服务器的带宽能力进行限流,单台业务服务器对于用户数据传输请求对应的每个传输链接,设置带宽阈值,其中,单链接带宽=单机总带宽/总链接数。
但是,现有技术中的方法,只能依据单台业务服务器的带宽能力进行流量控制,无法感知用户在全网范围的流量使用情况,也就无法针对用户在全网范围的流量消耗进行用户的流量控制,这样,对于一个业务集群,若一个用户抢占了业务集群中多台业务服务器的带宽,虽然在每台业务服务器上,均未超过其带宽阈值,但是也会导致业务集群中其它用户不可用,降低了网络性能。
发明内容
本发明实施例提供一种流量控制方法、系统、服务器及存储介质,以解决现有技术中不能感知用户在全网范围内的流量使用情况,流量控制效果不理想,降低了网络性能的问题。
本发明实施例提供的具体技术方案如下:
本发明一个实施例提供了一种流量控制系统,包括:流控逻辑集群和业务集群,所述流控逻辑集群包括至少两台流控逻辑服务器,所述业务集群包括至少两台业务服务器;
所述至少两台流控逻辑服务器中任一台流控逻辑服务器,用于在接收到所述至少两台业务服务器中任一台业务服务器发送的用户终端的流控状态查询请求时,从其中一台流控逻辑服务器获取用户终端的流量总和统计值,并根据获取的所述流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息;其中,用户终端的流控状态查询请求是所述任一台业务服务器接收到用户终端的数据传输请求后发出的;
所述任一台业务服务器,用于根据流控逻辑服务器返回的用户终端的流控指示信息,对用户终端的数据传输请求对应的流量进行控制。
结合本发明的一个实施例,还包括存储服务集群,还包括存储服务集群,所述存储服务集群包括至少两台存储服务器,至少由所述流控逻辑集群和所述存储服务集群组成流控服务集群,其中:
所述任一台业务服务器还用于,将本地统计的用户终端使用的流量值上报给所述任一台流控逻辑服务器;
所述任一台流控逻辑服务器还用于,将业务服务器上报的用户终端使用的流量值发送给所述至少两台存储服务器中任一台存储服务器,以及,接收到流控状态查询请求时从所述任一台存储服务器中查询用户终端的流量总和统计值;
所述任一台存储服务器用于,分别统计所述流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存用户终端的流量总和统计值。
结合本发明的一个实施例,所述流控指示信息中至少包括限流速率和限流带宽;
对用户终端的数据传输请求对应的流量进行控制时,所述任一台业务服务器具体用于:
根据所述流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据所述生成速率和更新周期,生产令牌;其中,每个令牌表征预设字节大小的流量;
针对所述用户终端的数据传输请求,向所述令牌桶申请流量,若确定所述令牌桶中当前存在满足所述用户终端的数据传输请求所需流量的令牌数目时,向所述用户终端分配所述数据传输请求所需大小的流量,并从所述令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
结合本发明的一个实施例,所述任一台业务服务器进一步用于:
向所述令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新所述令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃所述令牌桶中当前剩余的令牌对应的流量,并确定更新所述令牌桶中令牌数目。
结合本发明的一个实施例,所述任一台流控逻辑服务器,进一步用于:
若确定所述流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;
若确定所述流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
本发明另一个实施例提供了一种流量控制方法,包括:流控逻辑集群和业务集群,所述流控逻辑集群包括至少两台流控逻辑服务器,所述业务集群包括至少两台业务服务器;
所述至少两台流控逻辑服务器中任一台流控逻辑服务器接收所述至少两台业务服务器中任一台业务服务器发送的用户终端的流控状态查询请求;其中,所述用户终端的流控状态查询请求是所述任一台业务服务器接收到所述用户终端的数据传输请求后发出的;
从其中一台流控逻辑服务器获取所述用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息,以使所述业务服务器,根据流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
结合本发明另一个实施例,进一步包括:存储服务集群,所述存储服务集群包括至少两台存储服务器,至少由所述流控逻辑集群和所述存储服务集群组成流控服务集群;
则所述方法,还包括:接收各业务服务器上报的本地统计的用户终端使用的流量值;
将各业务服务器上报的用户终端使用的流量值发送给所述至少两台存储服务器中任一台存储服务器,以使所述任一台存储服务器分别统计所述流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存用户终端的流量总和统计值;
接收到流控状态查询请求时从所述任一台存储服务器中查询用户终端的流量总和统计值。
结合本发明另一个实施例,进一步包括:
若确定所述流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;
若确定所述流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
本发明另一个实施例提供了一种流量控制方法,包括:流控逻辑集群和业务集群,所述流控逻辑集群包括至少两台流控逻辑服务器,所述业务集群包括至少两台业务服务器;
至少两台业务服务器中任一台业务服务器接收到用户终端发送的数据传输请求时,向所述流控逻辑集群中相应的流控逻辑服务器发送所述用户终端的流控状态查询请求;
接收所述相应的流控逻辑服务器返回的流控指示信息;其中,所述流控指示信息是所述相应的流控逻辑服务器根据从其中一台流控逻辑服务器获取到的所述用户终端的流量总和统计值和预设的流量使用阈值,确定需要控制所述用户终端使用的流量时返回的;
根据所述相应的流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
结合本发明另一个实施例,所述流控指示信息中至少包括限流速率和限流带宽;
对所述用户终端的数据传输请求对应的流量进行控制时,具体包括:
根据所述流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据所述生成速率和更新周期,生产令牌;其中,每个令牌表征预设字节大小的流量;
针对所述用户终端的数据传输请求,向所述令牌桶申请流量,若确定所述令牌桶中当前存在满足所述用户终端的数据传输请求所需流量的令牌数目时,向所述用户终端分配所述数据传输请求所需大小的流量,并从所述令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
结合本发明另一个实施例,进一步包括:
向所述令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新所述令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃所述令牌桶中当前剩余的令牌对应的流量,并确定更新所述令牌桶中令牌数目。
本发明另一个实施例提供了一种流控逻辑服务器,至少两台流控逻辑服务器组成一个流控逻辑集群,包括:
第一接收模块,用于接收业务服务器发送的用户终端的流控状态查询请求;其中,所述用户终端的流控状态查询请求是所述业务服务器接收到所述用户终端的数据传输请求后发出的;
处理模块,用于从其中一个流控逻辑服务器获取所述用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息,以使所述业务服务器,根据所述流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
结合本发明另一个实施例,若所述业务服务器有多台,则进一步包括:
第二接收模块,用于接收各业务服务器上报的本地统计的用户终端使用的流量值;
发送模块,用于将各业务服务器上报的用户终端使用的流量值发送给存储服务器,以使存储服务器分别统计所述流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存各个用户终端的流量总和统计值;
第三接收模块,用于接收到流控状态查询请求时从存储服务器中查询用户终端的流量总和统计值。
结合本发明另一个实施例,进一步包括:
扩容模块,用于若确定所述流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;
缩容模块,用于若确定所述流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
本发明另一个实施例提供了一种业务服务器,包括:
第一接收模块,用于接收用户终端发送的数据传输请求;
发送模块,用于在所述第一接收模块接收到用户终端发送的数据传输请求时,向流控逻辑集群中相应的流控逻辑服务器发送所述用户终端的流控状态查询请求;
第二接收模块,用于接收所述相应的流控逻辑服务器返回的流控指示信息;其中,所述流控指示信息是所述相应的流控逻辑服务器根据从所述流控逻辑集群中其中一台流控逻辑服务器获取到的所述用户终端的流量总和统计值和预设的流量使用阈值,确定需要控制所述用户终端使用的流量时返回的;
控制模块,用于根据流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
结合本发明另一个实施例,所述流控指示信息中至少包括限流速率和限流带宽;
对所述用户终端的数据传输请求对应的流量进行控制时,控制模块具体用于:
根据所述流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据所述生成速率和更新周期,生产令牌;其中,每个令牌表征预设字节大小的流量;
针对所述用户终端的数据传输请求,向所述令牌桶申请流量,若确定所述令牌桶中当前存在满足所述用户终端的数据传输请求所需流量的令牌数目时,向所述用户终端分配所述数据传输请求所需大小的流量,并从所述令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
结合本发明另一个实施例,控制模块进一步用于:
向所述令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新所述令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃所述令牌桶中当前剩余的令牌对应的流量,并确定更新所述令牌桶中令牌数目。
本发明实施例中还提供了一种服务器,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述任一种流量控制方法。
本发明实施例中还提供了一种可读存储介质,其上存储有计算机程序:所述计算机程序被处理器执行时实现上述任一种流量控制方法的步骤。
本发明实施例中,设置流控逻辑集群和业务集群,所述流控逻辑服务器,用于接收到业务服务器发送的用户终端的流控状态查询请求时,从其中一台流控逻辑服务器获取用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息;其中,用户终端的流控状态查询请求是业务服务器接收到用户终端的数据传输请求后发出的;所述业务服务器,用于根据流控逻辑服务器返回的用户终端的流控指示信息,对用户终端的数据传输请求对应的流量进行控制,这样,通过集群设置能够对用户终端在全网范围内的使用的流量进行统计,进而业务服务器能够根据用户终端在全网范围内使用流量的总和,对用户终端进行流量控制,从而能够有效控制用户大量并发的数据传输请求的带宽流量,提升了流控效果,提高了网络性能。
附图说明
图1为本发明实施例中流量控制系统结构示意图;
图2为本发明实施例中流量控制方法的流程图;
图3为本发明实施例中利用令牌桶进行流量控制示意图;
图4为本发明实施例中令牌桶中消费令牌过程示意图;
图5为本发明实施例中令牌桶中生产令牌过程示意图;
图6为本发明实施例中提供的流控逻辑服务器结构示意图;
图7为本发明实施例中提供的业务服务器结构示意图;
图8为本发明实施例中服务器结构示意图;
图9为本发明实施例中终端结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面先对几个概念进行简单介绍:
流控:为流量控制的简称。
流量:用户上网发送和接收的数据量总和,常用统计单位为字节(Byte)。
带宽:带宽统计单位是比特/秒(bps)。
流控服务集群(Flow Control Cluster,FCC):依托云计算资源搭建的流控服务器的集群。
流量控制器(Flow Controllor,FC):一种通过高效令牌桶算法实现的流量控制功能组件。
L5负载均衡:腾讯云内部服务集群的负载均衡系统。
CMEM:腾讯云提供的分布式数据存储服务。
参阅图1所示,为本发明实施例中流量控制系统结构示意图,该系统至少包括用户终端、流控服务集群、业务集群。其中,流控服务集群至少包括流控逻辑集群和存储服务集群,流控逻辑集群包括至少两台流控逻辑服务器,存储服务集群包括至少两台存储服务器,业务集群包括至少两台业务服务器。
用户终端可以是智能手机、平板电脑、便携式个人计算机、智能电视等任何智能设备。用户可以通过用户终端向业务服务器发送业务请求、数据传输请求,例如,数据上传请求、数据下载请求等。
用户终端与业务服务器之间通过互联网相连,实现相互之间的通信。
业务服务器为用户终端提供各种网络服务,对于不同的终端或终端上的应用程序,业务服务器可以认为是提供相应网络服务的后台服务器,业务服务器可以为用户终端发送的数据传输请求分配数据传输带宽和流量,例如,用户通过用户终端向业务服务器发送文件下载请求,业务服务器接收到文件下载请求后,则会根据分配的带宽和流量,向用户终端传输文件。
其中,本发明实施例中,较佳的,业务服务器可以为若干台业务服务器组成的业务集群,业务集群可以对外确定出提供服务的业务服务器。
参阅图1所示,在一种可能的实施方式中,用户终端向业务集群中的多台业务服务器分别发送数据传输请求,或者向一台业务服务器提交了多个数据传输请求,例如,用户通过用户终端上的某个视频应用程序(Application,APP),提交了多个视频下载任务,则针对每个视频下载任务,会分别与业务服务器建立传输链接,但是通常业务服务器的带宽是有限制的,在网络传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,业务服务器会通过限制每个链接的流量额度,来限制数据传输速率。
但是现有技术中,通常是根据单台业务服务器的带宽能力进行流量控制,对于用户终端向业务集群中的多台业务服务分别发送数据传输请求的情况,则也是每台业务服务器分别进行流量控制,无法感知用户在全网范围的流量使用情况,也就无法针对用户在全网范围的流量消耗进行流量控制,这样,例如业务集群中100台业务服务器,每台业务服务器的带宽为1G,假设某用户终端同时抢占了100台业务服务器的1G带宽,对于一台业务服务器来说,并未超过其带宽限制,但是对于整个业务集群,该用户终端占用了大量的带宽和流量,这会导致业务集群中其它用户终端不可用,无法接入,影响了网络性能。
为了解决现有技术中不能感知用户在全网范围内的流量使用情况,流量控制效果不理想,降低了网络性能的问题,本发明实施例中,提供了一种可能的实施方式,参阅图1所示,设置了流控服务集群,流控服务集群作为流控计算和缓存节点,用于统计用户终端在全网范围的流量使用情况,流控服务集群至少包括流控逻辑集群和存储服务集群,流控逻辑集群包括至少两台流控逻辑服务器,存储服务集群包括至少两台存储服务器。其中,流控逻辑服务集群也可以根据预设的负载均衡算法确定出提供服务的流控逻辑服务器,例如L5负载均衡技术。
业务服务器与流控逻辑服务器也可以通过互联网进行通信。
本发明实施例中,基于上述流量控制系统,提供了一种可能的实施方式,至少两台流控逻辑服务器中任一台流控逻辑服务器,用于在接收到至少两台业务服务器中任一台业务服务器发送的用户终端的流控状态查询请求时,从其中一台流控逻辑服务器获取用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息;其中,用户终端的流控状态查询请求是所述任一台业务服务器接收到用户终端的数据传输请求后发出的;任一台业务服务器,用于根据流控逻辑服务器返回的用户终端的流控指示信息,对用户终端的数据传输请求对应的流量进行控制。
其中,流量总和统计值表征当前统计的用户终端在业务集群中使用的流量总和。
这样,流控逻辑服务器可以根据该用户终端全网的流量使用情况,判断该用户终端的流量总和统计值是否超限,能够对用户的全网流量使用情况进行统计计算,从而对用户终端进行流量控制,可以有效控制用户终端大量并发上传或下载请求的带宽流量。
值得说明的是,本发明实施例中,存储服务集群的统计计算功能也可以集成在流控逻辑集群中,由流控逻辑集群中各流控逻辑服务器来完成,这样,用户终端的流量总和统计值,就可以是由流控逻辑服务器来统计计算完成,从其中一个流控逻辑服务器中获取用户终端的流量总和统计值,也可以是流控逻辑服务器从存储服务器中查询得到。
其中,对于从其中一个流控逻辑服务器中获取用户终端的流量总和统计值,本发明实施例中提供了一种可能的实施方式,流控逻辑服务器接收到业务服务器上报的用户终端使用的流量值,并保存在本地,或根据用户终端标识,查找该用户终端对应的流控逻辑服务器,并保存在该对应的流控逻辑服务器,以及该对应的流控逻辑服务器对用户终端使用的流量值进行统计,获得用户终端的流量总和统计值,这样,当查询流量总和统计值时,找到该对应的流控逻辑服务器,并从中获取该用户终端的流量总和统计值。本发明实施例中仅是提供了一种可能的实施方式,对于其它方式并不进行限制。
为保证流控服务集群高效的流量统计,较佳的,存储服务集群和流控逻辑集群分开设置,当需要时,流控逻辑服务器从存储服务器中查询获取用户终端的流量总和统计值,本发明实施例中,提供了一种可能的实施方式,任一台业务服务器还用于,将本地统计的用户终端使用的流量值上报给任一台流控逻辑服务器;任一台流控逻辑服务器还用于,将业务服务器上报的用户终端使用的流量值发送给至少两台存储服务器中任一台存储服务器,以及,接收到流控状态查询请求时从该任一台存储服务器中查询用户终端的流量总和统计值;任一台存储服务器用于,分别统计流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存用户终端的流量总和统计值。这样,通过存储服务集群可以统计计算用户终端在全网范围中的总的流量使用情况,并且通过集群还可以支持高并发的流量统计计算。
进一步地,为提高流控服务集群的性能,本发明实施例中,流控服务集群还支持弹性扩容和缩容,能够有效适应业务规模的发展,不需要业务侧进行资源预留,能够有效降低运营成本,本发明实施例中,提供了一种流控服务集群扩容和缩容的实施方式,流控逻辑服务器还用于:若确定流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;若确定流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
其中,预设的负载监控指标,例如为CPU占用率、内存使用率等,本发明实施例中并不进行限制。
进一步地,现有技术中,业务服务器在进行流量控制时,在单链接上采用传统令牌桶算法来分配流量,业务服务器周期性生成链接允许使用的流量额度,链接不停的消耗流量额度用以收发流量,额度消耗完时不允许链接收发数据,额度未消耗完时可以回收给其他链接使用。现有技术中采用的传统令牌桶算法,包含令牌生产者生产令牌、消费者消耗令牌、多余流量退还等多个交互环节,集成到业务侧会增加业务模块交互复杂度,降低系统整体性能。
为了解决现有技术中采用传统令牌桶算法导致流量控制效率较低、实现较复杂的问题,本发明实施例中,在业务服务器上还集成了一种高效的流量控制方式,一种可能的实施方式,在业务服务上集成流量控制器,流量控制器用于实现本发明实施例中的令牌桶算法,流量控制器作为功能组件,可以嵌入到业务服务器中,例如,流量控制器可以实现为一个对象类或代理(agent)。
对用户终端的数据传输请求对应的流量进行控制时,业务服务器具体用于:根据流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据生成速率和更新周期,生产令牌;针对用户终端的数据传输请求,向令牌桶申请流量,若确定令牌桶中当前存在满足用户终端的数据传输请求所需流量的令牌数目时,向用户终端分配数据传输请求所需大小的流量,并从令牌桶中删除与数据传输请求所需大小的流量相等的令牌数目;其中,每个令牌表征预设字节大小的流量。
也就是说,本发明实施例中,当确定需要对用户终端进行流量控制时,启动业务服务器中集成的流量控制器,并初始化流量控制器中令牌桶参数,针对用户终端的数据传输请求所需的所有流量,通过流量控制器来申请,流量控制器可以对该数据传输请求的数据传输速率和流量进行控制,流量控制器可以根据限流带宽和限流速率,每秒允许一定量的流量产生。实际中,在具体实现时,业务服务器在针对该用户终端的数据传输请求,发送或接收流量数据时,调用FastFlowController::apply_for_bytes方法来向令牌桶申请指定大小的流量,FastFlowController::apply_for_bytes方法会从当前周期内扣减允许的使用。
进一步地,若确定令牌桶中当前不存在满足用户终端的数据传输请求所需流量的令牌数目时,则等待预设时间间隔后再重新向令牌桶申请流量,若确定申请流量失败次数达到预设次数,则拒绝该用户终端的数据传输请求或直接丢弃该用户终端的数据传输请求,例如,若令牌桶中流量不足时,FastFlowController::apply_for_bytes方法会使当前执行流睡眠一段时间后重新申请流量,若有新的流量补充,例如,到达下一个更新周期,流量控制器会重新刷新下一个更新周期内的流量配额,产生新的放通流量,则后续重新申请流量时就可以申请成功。
为进一步提高令牌桶的实现效率,本发明实施例中,业务服务器还用于:向令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃令牌桶中当前剩余的令牌对应的流量,并确定更新令牌桶中令牌数目。
其中,更新令牌桶中令牌数目,具体为:根据令牌的更新速率和更新周期,重新生产令牌。
并且,值得说明的是,若确定令牌桶中令牌大于令牌桶容量,则丢弃多余的令牌,并更新令牌桶中令牌的数目。
这样,如果需要对用户终端的数据传输请求的流量进行限流,则用户终端本次的数据传输请求所需的流量直接向流量控制器申请,并接收到流量申请操作时,会先自动识别是否需要更新令牌桶,若需要更新,则进行更新并直接丢弃更新之前的令牌桶中当前剩余的令牌对应的流量,不进行退换操作,使得整个流控过程,不需要显示定义生产者,只需向流量控制器申请流量消费即可,没有任何多余的交互过程,降低了复杂度,提高了流量控制效率。
可选地,上述的互联网使用标准通信技术和/或协议。互联网通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(MetropolitanArea Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(HyperText Mark-up Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(SecureSocket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
值得说明的是,本发明实施例中的系统结构示意图是为了更加清楚地说明本发明实施例中的技术方案,并不构成对本发明实施例提供的技术方案的限制,并且,本发明实施例中,并不限制流量控制方法的应用场景,本发明实施例提供的技术方案对于各应用场景中类似的问题,均是适用的。
为了解决现有技术中不能感知用户在全网范围内的流量使用情况,流量控制效果不理想,降低了网络性能的问题,本发明实施例中,能够感知用户在全网范围内的流量使用情况,可以根据用户在全网范围内的流量使用情况进行用户终端的流量控制,有效控制单个用户大量并发的数据传输请求的带宽流量,基于上述实施例,参阅图2所示,为本发明实施例中,流量控制方法的流程图,该方法包括:
步骤200:业务集群将本地统计的用户终端使用的流量值上报给流控逻辑集群。
具体地,业务集群可以预设周期将本地统计的用户终端使用的流量值上报给流控逻辑集群,流控逻辑集群中任一台流控逻辑服务器可以接收各业务服务器上报的本地统计的用户终端使用的流量值。
当然,业务集群也可以根据其它触发方式,上报用户终端使用的流量值,本发明实施例中并不进行限制。
例如,业务集群中多台业务服务器会分别将自身本地统计的用户终端使用的流量值上传到流控逻辑集群。
本发明实施例中,对于流控逻辑集群,通过预设的负载均衡技术确定流控逻辑集群中提供服务的流控逻辑服务器,则执行步骤200时,具体为:业务集群根据流控逻辑集群确定的提供服务的流控逻辑服务器的地址,确定相应的流控逻辑服务器,按照预设周期向该相应的流控逻辑服务器上报本地统计的用户终端使用的流量值。
本发明实施例中,在具体实现时,可以设置一个针对流控逻辑集群的负载均衡服务器,用于根据预设的负载均衡技术,确定出流控逻辑集群中当前可用的流控逻辑服务器,则执行步骤200时,具体为:业务服务器从负载均衡服务器中查询到当前可用的流控逻辑服务器,若当前可用的流控逻辑服务器有多个,则从中确定出一个当前可用的流控逻辑服务器,并将用户终端使用的流量值上报给该确定出的当前可用的流控逻辑服务器,其中,业务服务器从中确定出一个当前可用的流控逻辑服务器的方式,例如为,随机选择其中一个,又例如,采用预设的轮询机制来选择其中一个,还可以采用其它方式进行选择,本发明实施例中并不进行限制。
其中,预设周期,本发明实施例中,并不进行限制,可以根据实际需求进行设置,例如,每5s上报一次。或者还例如,对于数据传输请求比较少的时间段,例如在凌晨00:00-02:00,可以适当增加周期时间。
步骤201:流控逻辑集群将业务集群上报的用户终端使用的流量值发送给存储服务集群。
例如,存储服务集群采用CMEM集群,可以提高缓存的效率,支持高并发的流量总和统计值的计算。
具体地:流控逻辑集群中任一台流控逻辑服务器将各业务服务器上报的用户终端使用的流量值发送给存储服务器集群中至少两台存储服务器中任一台存储服务器。
其中,本发明实施例中,存储服务器集群可以采用分布式缓存技术和结构,例如,可以包括一个管理服务器和多个存储服务器,流控逻辑集群中各流控逻辑服务器向存储服务集群发送用户终端的流量值时,各流控逻辑服务器可以先存储服务集群中管理服务器请求存入的存储服务器地址,并根据返回的存储服务器地址,将用户终端的流量值发送到相应的存储服务器中。
较佳的,对于同一个用户终端的流量值,会存储在同一个存储服务器中,例如,流控逻辑服务器向存储服务集群发送用户终端的流量值时,存储服务器集群的管理服务器可以根据需要存入的流量值对应的用户终端的标识,查找到该用户终端的标识对应的存储服务器,并将该对应的存储服务器的地址返回给流控逻辑服务器,流控逻辑服务器根据返回的对应的存储服务器的地址,将该用户终端使用的流量值发送给该对应的存储服务器。
当然,对于同一个用户终端的流量值,也可以存储在不同的存储服务器中。
步骤203:存储服务集群分别统计并保存各个用户终端的流量总和统计值。
其中,流量总和统计值表征当前统计的用户终端在业务集群中使用的流量总和。
具体为:存储服务集群中任一台存储服务器分别统计流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存用户终端的流量总和统计值。
也就是说,本发明实施例中,存储服务集群以用户为粒度,分别统计每个用户终端的流量总和统计值,每个用户终端对应一个在全网范围内的流量总和统计值,由于业务集群是周期性上报用户终端当前使用的流量值,因此存储服务集群中缓存的用户终端的流量总和统计值也是在一个统计周期内使用的流量总和。
相应地,若对于同一个用户终端的流量值,会存储在同一个存储服务器中,则该存储服务器可以直接统计计算出给用户终端的流量总和统计值,并进行保存。
若对于同一个用户终端的流量值,存储在不同的存储服务器中,则可以通过管理服务器来获取各存储服务器中同一个用户终端使用的流量值,并进行统计计算,以及将统计的用户终端的流量总和统计值存储在选取出的一个存储服务器中。
步骤204:用户终端向业务集群发送数据传输请求。
例如,用户终端发送数据上传请求,或发送数据下载请求。
其中值得说明的是,业务集群周期性上报的本地统计的用户终端当前使用的流量值,也是用户终端的数据传输请求产生的结果,但不是每次用户终端一发送数据传输请求,业务集群就上报该用户终端的流量值,也就是说,用户终端发送数据传输请求并不是业务集群上报流量值的触发条件,业务集群是按照预设周期进行上报,本周期内上报的流量值是在本周期内所有的用户终端发送的各数据传输请求产生的流量,若在某周期内某用户终端没有发送数据传输请求,则业务集群上报的该用户终端的流量值就为0。
但用户终端每次发送数据传输请求,就会触发是否对该用户终端进行流量控制的执行过程,即后续步骤205-步骤210,也可以认为步骤200-步骤203和步骤204-步骤210是两个并行的执行流程。
步骤205:业务集群向流控逻辑集群发送用户终端的流控状态查询请求。
其中,流控逻辑集群按照预设的负载均衡技术,确定该用户终端的流控状态查询请求对应的流控逻辑服务器,进而业务集群中的业务服务器将该用户终端的流控状态查询请求发送给对应的流控逻辑服务器。
具体地,业务集群中的业务服务器根据提供服务的流控逻辑服务器的地址,确定相应的流控逻辑服务器,并向流控逻辑集群中相应的流控逻辑服务器发送用户终端的流控状态查询请求。这样,对于流控逻辑集群中任一台流控逻辑服务器都可以用于接收任一台业务服务器发送的用户终端的流控状态查询请求。
其中,对于业务服务器确定提供服务的流控逻辑服务器的地址的方式,本发明实施例中,提供了几种可能的实施方式:第一种方式:流控逻辑集群可以周期性地告知业务集群中各业务服务器提供服务的流控逻辑服务器的地址。第二种方式:也可以当业务集群需要与流控逻辑集群交互时,先向流控逻辑集群发送询请求,流控逻辑集群再返回提供服务的流控逻辑服务器的地址。
本发明实施例中仅是提供了两种可能的示例,对于其它的方式也是适用的,对此并不进行限制。
步骤206:流控逻辑集群从存储服务集群中查询用户终端的流量总和统计值。
具体地,本发明实施例中提供了一种可能的实施方式,流控逻辑集群中流控逻辑服务器可以向存储服务集群中管理服务器请求查询,该管理服务器可以根据用户终端的标识,确定相应的存储服务器,并从相应的存储服务器中获取该用户终端的流量总和统计值,并返回给该流控逻辑服务器。
当然,本发明实施例中,并不仅限于该实施方式,可以根据实际中存储服务集群的设计和存储技术,进行确定。
本发明实施例中,提供流控服务集群,流控服务集群至少包括流控逻辑集群和存储服务集群,分别用于进行用户终端流量是否限流判断和用户终端的流量总和统计值的计算和缓存,将流控服务集群化后,能够对用户在全网范围内使用的总流量进行统计,能够对用户终端单次数据传输请求的带宽流量进行控制,也能够有效控制用户终端大量并发的数据传输请求的带宽流量进行控制。
步骤207:存储服务集群向流控逻辑集群返回该用户终端的流量总和统计值。
步骤208:流控逻辑集群根据流量总和统计值和预设的流量使用阈值,确定是否需要控制用户终端使用的流量。
其中,预设的流量使用阈值,例如可以根据业务集群的总带宽和规划支持的用户终端数目进行设置,但本发明实施例中并不仅限于该方式,可以根据实际情况进行设置,每个用户终端对应的流量使用阈值,可以是相同的,也可以是不同的,例如,对于某个比较重要的客户的用户终端,可以给其设置比较高的流量使用阈值。
步骤209:流控逻辑集群若确定需要控制用户终端使用的流量,则向业务集群返回用户终端的流控指示信息,若确定不需要控制用户终端使用的流量,则向业务集群返回用户终端不需要流控的响应信息。
具体为:若确定该用户终端的流量总和统计值大于预设的流量使用阈值,则判定该用户终端的流量超限,确定需要控制用户终端使用的流量,若确定该用户终端的流量总和统计值不大于预设的流量使用阈值,则判断该用户终端的流量未超限,确定不需要控制用户终端使用的流量。
其中,流控指示信息中至少包括限流速率和限流带宽。同样地,本发明实施例中,限流速率和限流带宽也可以根据业务集群的总带宽和规划支持的用户终端数目进行设置,也可以根据其它因素或实际情况进行设置,本发明实施例中并不进行限制。
步骤210:业务集群若接收到流控指示信息,则根据流控指示信息对用户终端的数据传输请求对应的流量进行控制。
执行步骤210时,具体包括:
首先,业务集群中接收到流控指示信息的业务服务器根据流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据生成速率和更新周期,生产令牌。
其中,每个令牌表征预设字节大小的流量,例如一个令牌代表一个字节大小的流量。
例如,令牌的生成速率为rate,更新周期为period,则在每个更新周期内生产的令牌数目为rate*period。
进一步地,若确定生产的令牌数目大于令牌桶的容量,则丢弃多余的令牌,并更新令牌桶中令牌的数目。
然后,针对用户终端的数据传输请求,向令牌桶申请流量,若确定令牌桶中当前存在满足用户终端的数据传输请求所需流量的令牌数目时,向用户终端分配数据传输请求所需大小的流量,并从令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
其中,在向令牌桶申请流量时,还包括:向令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃令牌桶中当前剩余的令牌对应的流量,并确定更新令牌桶中令牌数目。
步骤211:流控逻辑集群根据预设的负载监控指标,进行扩容或缩容。
具体地,执行步骤211时,可以包括以下几种情况:
第一种情况:若确定流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将流控逻辑集群进行扩容。
第二种情况:若确定流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将流控逻辑集群进行缩容。
其中,本发明实施例中,监控指标例如为,平均CPU占用率、内存使用率、每秒查询率(Query Per Second,QPS)等,本发明实施例中并不进行限制,也可以为其它表征负载变化的监控指标。
本发明实施例中,若有多个负载监控指标,则针对每个负载监控指标可以相应地设置一个扩容阈值和缩容阈值,对每个负载监控指标分别进行监控,以扩容为例进行说明,例如,有3个负载监控指标,则分别判断每个负载监控指标连续超过相应的扩容阈值的时长是否达到第一预设时长,若确定其中2个负载监控指标的判断结果为是,则确定将流控逻辑集群进行扩容。
值得说明的是,上述实施例中步骤的执行顺序并不进行限制,本发明实施例中只是一种可能的示例。
本发明实施例中,设置流控服务集群,流控逻辑服务器接收到业务服务器发送的用户终端的流控状态查询请求时,从其中一台流控逻辑服务器获取用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息,进而业务服务器根据流控逻辑服务器返回的用户终端的流控指示信息,对用户终端的数据传输请求对应的流量进行控制,这样,能够对用户终端的全网范围内流量进行统计,进而业务服务器能够根据用户终端在全网范围内使用流量的总和,对用户终端进行流量控制,提升了流控效果,提高了网络性能。
并且,本发明实施例中的令牌桶算法,只需要在进行流量控制时,向令牌桶申请流量即可,不需要其他的交互过程,实现更加简单,效率更高。
基于上述实施例中,下面对本发明实施例中令牌桶流量控制原理和实现过程进行简单说明。
参阅图3所示,为本发明实施例中利用令牌桶进行流量控制示意图。
a、机器:需要进行速率访问控制的机器,机器上部署有多个进程,例如机器为本发明实施例中的业务服务器,每个进程用于处理用户终端发送的数据传输请求,例如参阅图3所示,以机器上部署有3个进程为例,分别为进程1(消费者)、进程2(消费者)、进程3(消费者)。
b、进程(消费者):每当需要处理一个用户终端的数据传输请求时,从令牌桶共享内存中获取令牌,若获取不到令牌,即令牌桶中当前不存在满足用户终端的数据传输请求所需流量的令牌数目,则拒绝服务或丢弃该数据传输请求。
c、令牌桶共享内存:存放有令牌桶容量、令牌的生成速率、更新周期、当前时间和令牌桶中当前令牌数目等。
d、令牌桶(生产者):守护进程,用于按照更新周期更新令牌桶中令牌数目。
基于上述图3的实施例,参阅图4所示为本发明实施例中令牌桶中消费令牌过程示意图。
步骤400:确定处理用户终端的数据传输请求时,向令牌桶申请令牌。
步骤401:判断令牌桶中当前是否存在满足用户终端的数据传输请求所需流量的令牌数目,若是,则执行步骤402,否则,则执行步骤406。
步骤402:向数据传输请求分配令牌,并更新令牌桶中令牌的数目。
具体地,采用预设的更新技术,从令牌桶中删除与数据传输请求所需大小的流量相等的令牌数目。
例如,分配了5个令牌的流量,则将令牌桶中令牌的数目减少5个。
其中,预设的更新技术,本发明实施例中采用比较并设置(Compare And Set,CAS)技术,这是一种无锁更新技术,实际中,若多进程同时处理数据传输请求,则会引起同时进行令牌更新,这必然会引起访问冲突,为了保证并发情况下令牌的正确访问,需要对令牌的更新进行加锁,但加锁会减低效率,进而影响流量控制性能,因此,本发明实施例中,较佳的采用CAS技术,能够有效的解决无锁情况下令牌并发更新的问题,当然也可以采用其它的更新技术,本发明实施例中并不进行限制。
采用CAS技术进行令牌数目更新时,具体为:判断当前读取的令牌数目是否为上一次读取的令牌数目,若是,则将令牌数目的值更新为新的值,若否,则确定令牌数目的值被更改,返回更新失败。
步骤403:判断更新是否成功,若是,则执行步骤404,否则,则返回执行步骤402。
步骤404:直接返回,继续执行其它流程。
步骤405:判断更新失败次数是否达到预设次数,若是,则执行步骤406,若否,则返回执行步骤402。
步骤406:返回失败。
基于上述实施例中,参阅图5所示,为本发明实施例中令牌桶中生产令牌过程示意图。
步骤500:按照更新周期和更新速率,生产令牌。
步骤501:判断令牌桶中令牌数目是否大于令牌桶的容量,若是,则执行步骤502,否则,则返回执行步骤500。
步骤502:丢弃多余的令牌,并更新令牌桶中令牌数目。
其中,本发明实施例中,更新令牌数目和上述图4所示的实施例中采用的更新技术相同,这里就不再详细介绍了。
步骤503:判断更新是否成功,若是,则执行步骤504,否则,则执行步骤505。
步骤504:直接返回,继续执行其它流程。
步骤505:判断更新失败次数是否达到预设次数,若是,则执行步骤506,若否,则返回执行步骤500。
步骤506:返回失败。
基于上述实施例,参阅图6所示,本发明实施例中提供了一种流控逻辑服务器,其中,图6中至少两台流控逻辑服务器组成一个流控逻辑集群,具体包括:
第一接收模块60,用于接收业务服务器发送的用户终端的流控状态查询请求;其中,所述用户终端的流控状态查询请求是所述业务服务器接收到所述用户终端的数据传输请求后发出的;
处理模块61,用于从其中一个流控逻辑服务器获取所述用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息,以使所述业务服务器,根据所述流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
可选的,若所述业务服务器有多台,进一步包括:
第二接收模块62,用于接收各业务服务器上报的本地统计的用户终端使用的流量值;
发送模块63,用于将各业务服务器上报的用户终端使用的流量值发送给存储服务器,以使存储服务器分别统计所述流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存各个用户终端的流量总和统计值;
第三接收模块64,用于接收到流控状态查询请求时从存储服务器中查询用户终端的流量总和统计值。
可选的,进一步包括:
扩容模块65,用于若确定所述流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;
缩容模块66,用于若确定所述流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
基于上述实施例,参阅图7所示,本发明实施例中,还提供了一种业务服务器,具体包括:
第一接收模块70,用于接收用户终端发送的数据传输请求;
发送模块71,用于在所述第一接收模块接收到用户终端发送的数据传输请求时,向流控逻辑集群中相应的流控逻辑服务器发送所述用户终端的流控状态查询请求;
第二接收模块72,用于接收所述相应的流控逻辑服务器返回的流控指示信息;其中,所述流控指示信息是所述相应的流控逻辑服务器根据从所述流控逻辑集群中其中一台流控逻辑服务器获取到的所述用户终端的流量总和统计值和预设的流量使用阈值,确定需要控制所述用户终端使用的流量时返回的;
控制模块73,用于根据流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
可选的,所述流控指示信息中至少包括限流速率和限流带宽;
对所述用户终端的数据传输请求对应的流量进行控制时,控制模块73具体用于:
根据所述流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据所述生成速率和更新周期,生产令牌;其中,每个令牌表征预设字节大小的流量;
针对所述用户终端的数据传输请求,向所述令牌桶申请流量,若确定所述令牌桶中当前存在满足所述用户终端的数据传输请求所需流量的令牌数目时,向所述用户终端分配所述数据传输请求所需大小的流量,并从所述令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
可选的,控制模块73进一步用于:
向所述令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新所述令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃所述令牌桶中当前剩余的令牌对应的流量,并确定更新所述令牌桶中令牌数目。
基于上述实施例,参阅图8所示,本发明实施例中,一种服务器的结构示意图。
本发明实施例提供了一种服务器,该服务器可以包括处理器810(CenterProcessing Unit,CPU)、存储器820、输入设备830和输出设备840等,输入设备830可以包括键盘、鼠标、触摸屏等,输出设备840可以包括显示设备,如液晶显示器(Liquid CrystalDisplay,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器820可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器810提供存储器820中存储的程序指令和数据。在本发明实施例中,存储器820可以用于存储多媒体内容的播放控制方法的程序。
处理器810通过调用存储器820存储的程序指令,处理器810用于按照获得的程序指令执行本发明实施例中的流量控制方法。
值得说明的是,图8中服务器可以为本发明实施例中的流控逻辑服务器、业务服务器或存储服务器,基于上述实施例,具体地,针对流控逻辑服务器、业务服务器或存储服务器,处理器810执行相应的流量控制方法的流程。
为便于说明,本发明中的实施例以包括触摸屏的便携式多功能装置900作示例性说明,本领域技术人员可以理解的,本发明中的实施例同样适用于其他装置,例如手持设备、车载设备、可穿戴设备、计算设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile station,MS),终端(terminal),终端设备(Terminal Equipment)等等。
图9示出了根据一些实施例的包括触摸屏的便携式多功能装置900的框图,所述装置900可以包括输入单元930、显示单元940、重力加速度传感器951、接近光传感器952、环境光传感器953、存储器920、处理器990、射频单元910、音频电路960、扬声器961、麦克风962、WiFi(wireless fidelity,无线保真)模块970、蓝牙模块980、电源993、外部接口997等部件。
本领域技术人员可以理解,图9仅仅是便携式多功能装置的举例,并不构成对便携式多功能装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
所述输入单元930可用于接收输入的数字或字符信息,以及产生与所述便携式多功能装置的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触摸屏931以及其他输入设备932。所述触摸屏931可收集用户在其上或附近的触摸操作(比如用户使用手指、关节、触笔等任何适合的物体在触摸屏上或在触摸屏附近的操作),并根据预先设定的程序驱动相应的连接装置。触摸屏可以检测用户对触摸屏的触摸动作,将所述触摸动作转换为触摸信号发送给所述处理器990,并能接收所述处理器990发来的命令并加以执行;所述触摸信号至少包括触点坐标信息。所述触摸屏931可以提供所述装置900和用户之间的输入界面和输出界面。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触摸屏。除了触摸屏931,输入单元930还可以包括其他输入设备。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键9321、开关按键9322等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元940可用于显示由用户输入的信息或提供给用户的信息以及装置900的各种菜单。进一步的,触摸屏931可覆盖显示面板941,当触摸屏931检测到在其上或附近的触摸操作后,传送给处理器990以确定触摸事件的类型,随后处理器990根据触摸事件的类型在显示面板941上提供相应的视觉输出。在本实施例中,触摸屏与显示单元可以集成为一个部件而实现装置900的输入、输出、显示功能;为便于描述,本发明实施例以触摸屏代表触摸屏和显示单元的功能集合;在某些实施例中,触摸屏与显示单元也可以作为两个独立的部件。
所述重力加速度传感器951可检测各个方向上(一般为三轴)加速度的大小,同时,所述重力加速度传感器951还可用于检测终端静止时重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。
装置900还可以包括一个或多个接近光传感器952,用于当所述装置900距用户较近时(例如当用户正在打电话时靠近耳朵)关闭并禁用触摸屏以避免用户对触摸屏的误操作;装置900还可以包括一个或多个环境光传感器953,用于当装置900位于用户口袋里或其他黑暗区域时保持触摸屏关闭,以防止装置900在锁定状态时消耗不必要的电池功耗或被误操作,在一些实施例中,接近光传感器和环境光传感器可以集成在一颗部件中,也可以作为两个独立的部件。至于装置900还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。虽然图9示出了接近光传感器和环境光传感器,但是可以理解的是,其并不属于装置900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
所述存储器920可用于存储指令和数据,存储器920可主要包括存储指令区和存储数据区,存储数据区可存储关节触摸手势与应用程序功能的关联关系;存储指令区可存储操作系统、至少一个功能所需的指令等;所述指令可使处理器990执行本发明实施例中的流量控制方法。
处理器990是装置900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的指令以及调用存储在存储器920内的数据,执行装置900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器990可包括一个或多个处理单元;优选的,处理器990可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器990中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,他们也可以在独立的芯片上分别实现。在本发明实施例中,处理器990还用于调用存储器中的指令以实现本发明实施例中的流量控制方法。
所述射频单元910可用于收发信息或通话过程中信号的接收和发送,特别地,将基站的下行信息接收后,给处理器990处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,射频单元910还可以通过无线通信与网络设备和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General PacketRadio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
音频电路960、扬声器961、麦克风962可提供用户与装置900之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,麦克风962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器990处理后,经射频单元910以发送给比如另一终端,或者将音频数据输出至存储器920以便进一步处理,音频电路也可以包括耳机插孔963,用于提供音频电路和耳机之间的连接接口。
WiFi属于短距离无线传输技术,装置900通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于装置900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
蓝牙是一种短距离无线通讯技术。利用蓝牙技术,能够有效地简化掌上电脑、笔记本电脑和手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与因特网(Internet)之间的通信,装置900通过蓝牙模块980使装置900与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙技术是能够实现语音和数据无线传输的开放性方案。然图9示出了WiFi模块970,但是可以理解的是,其并不属于装置900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
装置900还包括给各个部件供电的电源993(比如电池),优选的,电源可以通过电源管理系统994与处理器990逻辑相连,从而通过电源管理系统994实现管理充电、放电、以及功耗管理等功能。
装置900还包括外部接口997,所述外部接口可以是标准的Micro USB接口,也可以使多针连接器,可以用于连接装置900与其他装置进行通信,也可以用于连接充电器为装置900充电。
尽管未示出,装置900还可以包括摄像头、闪光灯等,在此不再赘述。
基于上述实施例,本发明实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的流量控制方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种流量控制方法,其特征在于,包括:流控逻辑集群、业务集群和存储服务集群,所述流控逻辑集群包括至少两台流控逻辑服务器,所述业务集群包括至少两台业务服务器,所述存储服务集群包括至少两个存储服务器和至少一个管理服务器;
所述至少两台流控逻辑服务器中任一台流控逻辑服务器接收所述至少两台业务服务器中任一台业务服务器发送的用户终端的流控状态查询请求;其中,所述用户终端的流控状态查询请求是所述任一台业务服务器接收到所述用户终端的数据传输请求后发出的,并且所述任一台流控逻辑服务器是所述流控逻辑集群根据负载均衡技术确定出的;
从其中一台流控逻辑服务器获取所述用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息,以使所述业务服务器,根据流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制,其中,所述流量总和统计值是向所述存储服务集群中的管理服务器请求查询,由所述管理服务器基于用户终端的标识,确定相应的一个存储服务器,并从所述一个存储服务器中获取并返回的,且所述流量总和统计值表征当前统计的用户终端在所述业务集群中使用的流量总和;
其中,所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值都存储在所述一个存储服务器时,所述一个存储服务器直接统计并存储的;或
所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值存储在所述至少两个存储服务器中的不同存储服务器时,通过所述管理服务器获取所述不同存储服务器中同一个用户终端使用的流量值,并进行统计,将统计的用户终端的流量总和统计值存储在所述一个存储服务器中。
2.如权利要求1所述的方法,其特征在于,进一步包括:至少由所述流控逻辑集群和所述存储服务集群组成流控服务集群;则所述方法,还包括:
所述至少两台流控逻辑服务器中任一台流控逻辑服务器接收各业务服务器上报的本地统计的用户终端使用的流量值;将各业务服务器上报的用户终端使用的流量值发送给所述至少两台存储服务器中任一台存储服务器,以使所述任一台存储服务器分别统计所述流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存用户终端的流量总和统计值。
3.如权利要求1所述的方法,其特征在于,进一步包括:
若确定所述流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;
若确定所述流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
4.一种流量控制方法,其特征在于,包括:流控逻辑集群、业务集群和存储服务集群,所述流控逻辑集群包括至少两台流控逻辑服务器,所述业务集群包括至少两台业务服务器,所述存储服务集群包括至少两个存储服务器和至少一个管理服务器;
至少两台业务服务器中任一台业务服务器接收到用户终端发送的数据传输请求时,向所述流控逻辑集群中相应的流控逻辑服务器发送所述用户终端的流控状态查询请求,具体包括:根据所述流控逻辑集群发送的确定出的流控逻辑服务器的地址,确定相应的流控逻辑服务器,并向流控逻辑集群中相应的流控逻辑服务器发送用户终端的流控状态查询请求,其中,所述相应的流控逻辑服务器是所述流控逻辑集群根据负载均衡技术确定的;
接收所述相应的流控逻辑服务器返回的流控指示信息;其中,所述流控指示信息是所述相应的流控逻辑服务器根据从其中一台流控逻辑服务器获取到的所述用户终端的流量总和统计值和预设的流量使用阈值,确定需要控制所述用户终端使用的流量时返回的,所述流量总和统计值是向所述存储服务集群中的管理服务器请求查询,由所述管理服务器基于用户终端的标识,确定相应的一个存储服务器,并从所述一个存储服务器中获取并返回的,且所述流量总和统计值表征当前统计的用户终端在所述业务集群中使用的流量总和,其中,所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值都存储在所述一个存储服务器时,所述一个存储服务器直接统计并存储的;或所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值存储在所述至少两个存储服务器中的不同存储服务器时,通过所述管理服务器获取所述不同存储服务器中同一个用户终端使用的流量值,并进行统计,将统计的用户终端的流量总和统计值存储在所述一个存储服务器中;
根据所述相应的流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
5.如权利要求4所述的方法,其特征在于,所述流控指示信息中至少包括限流速率和限流带宽;
对所述用户终端的数据传输请求对应的流量进行控制时,具体包括:
根据所述流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据所述生成速率和更新周期生产令牌;其中,每个令牌表征预设字节大小的流量;
针对所述用户终端的数据传输请求,向所述令牌桶申请流量,若确定所述令牌桶中当前存在满足所述用户终端的数据传输请求所需流量的令牌数目时,向所述用户终端分配所述数据传输请求所需大小的流量,并从所述令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
6.如权利要求5所述的方法,其特征在于,进一步包括:
向所述令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新所述令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃所述令牌桶中当前剩余的令牌对应的流量,并确定更新所述令牌桶中令牌数目。
7.一种流控逻辑服务器,其特征在于,至少两台流控逻辑服务器组成一个流控逻辑集群,包括:
第一接收模块,用于接收业务服务器发送的用户终端的流控状态查询请求;其中,所述用户终端的流控状态查询请求是所述业务服务器接收到所述用户终端的数据传输请求后发出的,并且所述流控逻辑服务器是所述流控逻辑集群根据负载均衡技术确定出的;
处理模块,用于从其中一个流控逻辑服务器获取所述用户终端的流量总和统计值,并根据获取的流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息,以使所述业务服务器,根据所述流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制,其中,所述流量总和统计值是向存储服务集群中的管理服务器请求查询,由所述管理服务器基于用户终端的标识,确定相应的一个存储服务器,并从所述一个存储服务器中获取并返回的,且所述流量总和统计值表征当前统计的用户终端在业务集群中使用的流量总和;所述存储服务器集群包括至少两个存储服务器和至少一个管理服务器,所述业务集群包括至少两台业务服务器;
其中,所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值都存储在所述一个存储服务器时,所述一个存储服务器直接统计并存储的;或
所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值存储在所述至少两个存储服务器中的不同存储服务器时,通过所述管理服务器获取所述不同存储服务器中同一个用户终端使用的流量值,并进行统计,将统计的用户终端的流量总和统计值存储在所述一个存储服务器中。
8.如权利要求7所述的流控逻辑服务器,其特征在于,若所述业务服务器有多台,则进一步包括:
第二接收模块,用于接收各业务服务器上报的本地统计的用户终端使用的流量值;
发送模块,用于将各业务服务器上报的用户终端使用的流量值发送给存储服务器,以使存储服务器分别统计所述流控逻辑集群中各流控逻辑服务器发送的用户终端使用的流量值,并保存各个用户终端的流量总和统计值。
9.如权利要求7所述的流控逻辑服务器,其特征在于,进一步包括:
扩容模块,用于若确定所述流控逻辑集群的预设的负载监控指标连续超过预设扩容阈值的时长达到第一预设时长,则确定将所述流控逻辑集群进行扩容;
缩容模块,用于若确定所述流控逻辑集群的预设的负载监控指标小于预设缩容阈值的时长达到第二预设时长,则确定将所述流控逻辑集群进行缩容。
10.一种业务服务器,其特征在于,包括:
第一接收模块,用于接收用户终端发送的数据传输请求;
发送模块,用于在所述第一接收模块接收到用户终端发送的数据传输请求时,向流控逻辑集群中相应的流控逻辑服务器发送所述用户终端的流控状态查询请求;所述发送模块具体用于:根据所述流控逻辑集群发送的确定出的流控逻辑服务器的地址,确定相应的流控逻辑服务器,并向流控逻辑集群中相应的流控逻辑服务器发送用户终端的流控状态查询请求,其中,所述相应的流控逻辑服务器是所述流控逻辑集群根据负载均衡技术确定的;
第二接收模块,用于接收所述相应的流控逻辑服务器返回的流控指示信息;其中,所述流控指示信息是所述相应的流控逻辑服务器根据从所述流控逻辑集群中其中一台流控逻辑服务器获取到的所述用户终端的流量总和统计值和预设的流量使用阈值,确定需要控制所述用户终端使用的流量时返回的,所述流量总和统计值是向存储服务集群中的管理服务器请求查询,由所述管理服务器基于用户终端的标识,确定相应的一个存储服务器,并从所述一个存储服务器中获取并返回的,且所述流量总和统计值表征当前统计的用户终端在业务集群中使用的流量总和,所述存储服务器集群包括至少两个存储服务器和至少一个管理服务器,所述业务集群包括至少两台业务服务器;其中,所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值都存储在所述一个存储服务器时,所述一个存储服务器直接统计并存储的;或所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值存储在所述至少两个存储服务器中的不同存储服务器时,通过所述管理服务器获取所述不同存储服务器中同一个用户终端使用的流量值,并进行统计,将统计的用户终端的流量总和统计值存储在所述一个存储服务器中;
控制模块,用于根据流控逻辑服务器返回的流控指示信息对所述用户终端的数据传输请求对应的流量进行控制。
11.如权利要求10所述的业务服务器,其特征在于,所述流控指示信息中至少包括限流速率和限流带宽;
对所述用户终端的数据传输请求对应的流量进行控制时,控制模块具体用于:
根据所述流控指示信息中的限流速率和限流带宽,确定令牌桶的容量,以及令牌的生成速率和更新周期,根据所述生成速率和更新周期生产令牌;其中,每个令牌表征预设字节大小的流量;
针对所述用户终端的数据传输请求,向所述令牌桶申请流量,若确定所述令牌桶中当前存在满足所述用户终端的数据传输请求所需流量的令牌数目时,向所述用户终端分配所述数据传输请求所需大小的流量,并从所述令牌桶中删除与所述数据传输请求所需大小的流量相等的令牌数目。
12.如权利要求11所述的业务服务器,其特征在于,控制模块进一步用于:
向所述令牌桶申请流量时,判断当前时刻是否达到下一个更新周期,若确定当前时刻未达到下一个更新周期,则确定不更新所述令牌桶中令牌数目,若确定当前时刻达到下一个更新周期,则直接丢弃所述令牌桶中当前剩余的令牌对应的流量,并确定更新所述令牌桶中令牌数目。
13.一种流量控制系统,其特征在于,包括:流控逻辑集群、业务集群和存储服务集群,所述流控逻辑集群包括至少两台流控逻辑服务器,所述业务集群包括至少两台业务服务器,所述存储服务集群包括至少两个存储服务器和至少一个管理服务器;
所述至少两台流控逻辑服务器中任一台所述流控逻辑服务器,用于在接收到所述至少两台业务服务器中任一台业务服务器发送的用户终端的流控状态查询请求时,从其中一台所述流控逻辑服务器获取用户终端的流量总和统计值,并根据获取的所述流量总和统计值和预设的流量使用阈值,确定需要控制用户终端使用的流量时,向发送流控状态查询请求的业务服务器返回用户终端的流控指示信息;其中,用户终端的流控状态查询请求是所述任一台业务服务器接收到用户终端的数据传输请求后发出的,并且所述任一台流控逻辑服务器是所述流控逻辑集群根据负载均衡技术确定出的,所述流量总和统计值是向所述存储服务集群中的管理服务器请求查询,由所述管理服务器基于用户终端的标识,确定相应的一个存储服务器,并从所述一个存储服务器中获取并返回的,且所述流量总和统计值表征当前统计的用户终端在所述业务集群中使用的流量总和,其中,所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值都存储在所述一个存储服务器时,所述一个存储服务器直接统计并存储的;或所述一个存储服务器中的流量总和统计值是当同一个用户终端的流量值存储在所述至少两个存储服务器中的不同存储服务器时,通过所述管理服务器获取所述不同存储服务器中同一个用户终端使用的流量值,并进行统计,将统计的用户终端的流量总和统计值存储在所述一个存储服务器中;
每个所述任一台业务服务器,用于根据流控逻辑服务器返回的用户终端的流控指示信息,对用户终端的数据传输请求对应的流量进行控制。
14.一种服务器,其特征在于,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述权利要求1-6任一项所述的方法。
15.一种可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810267164.9A CN110198275B (zh) | 2018-03-28 | 2018-03-28 | 一种流量控制方法、系统、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810267164.9A CN110198275B (zh) | 2018-03-28 | 2018-03-28 | 一种流量控制方法、系统、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110198275A CN110198275A (zh) | 2019-09-03 |
CN110198275B true CN110198275B (zh) | 2022-03-29 |
Family
ID=67751016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810267164.9A Active CN110198275B (zh) | 2018-03-28 | 2018-03-28 | 一种流量控制方法、系统、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110198275B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109889401B (zh) * | 2019-01-22 | 2021-03-16 | 金蝶软件(中国)有限公司 | 流量统计方法、装置、计算机设备和存储介质 |
CN110768912B (zh) * | 2019-10-21 | 2022-11-18 | 中国民航信息网络股份有限公司 | Api网关限流方法及装置 |
CN110830234B (zh) * | 2019-11-06 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种用户流量分配方法及装置 |
CN111181801B (zh) * | 2019-12-04 | 2021-11-09 | 腾讯云计算(北京)有限责任公司 | 节点集群测试方法、装置、电子设备及存储介质 |
CN111158878B (zh) * | 2019-12-30 | 2023-08-29 | 北京三快在线科技有限公司 | 资源转移请求线程控制方法、装置及存储介质 |
CN111224846B (zh) * | 2020-01-13 | 2022-03-29 | 北京智芯微电子科技有限公司 | 应用于电力采集系统的流量监测方法及装置 |
CN111352746B (zh) * | 2020-02-10 | 2023-07-07 | 福建天泉教育科技有限公司 | 消息限流方法、存储介质 |
CN111404836B (zh) * | 2020-03-30 | 2023-09-12 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
CN111585892B (zh) * | 2020-04-29 | 2022-08-12 | 平安科技(深圳)有限公司 | 数据中心流量管控方法和系统 |
CN111835562B (zh) * | 2020-07-01 | 2023-10-17 | 北京爱笔科技有限公司 | 日志上传方法、日志查询方法、系统 |
CN111970339B (zh) * | 2020-07-30 | 2022-05-10 | 北京金山云网络技术有限公司 | 请求控制方法、装置及电子设备 |
CN112473141A (zh) * | 2020-12-14 | 2021-03-12 | 网易(杭州)网络有限公司 | 一种游戏集群管理方法及装置 |
CN114978998B (zh) * | 2021-02-26 | 2023-12-12 | 中移(苏州)软件技术有限公司 | 一种流量控制方法、装置、终端及存储介质 |
CN113179536B (zh) * | 2021-03-12 | 2023-05-30 | 中国雄安集团数字城市科技有限公司 | 基于NB-IoT窄带通信技术的流量控制方法及系统 |
CN113542245B (zh) * | 2021-07-02 | 2023-04-25 | 广州华多网络科技有限公司 | 数据流量监控方法、装置、计算机设备及存储介质 |
CN113472674B (zh) * | 2021-07-12 | 2024-05-24 | 多点生活(成都)科技有限公司 | 一种流量控制方法、装置、存储介质及电子设备 |
CN113285884B (zh) * | 2021-07-19 | 2022-01-25 | 阿里云计算有限公司 | 流量控制方法及系统 |
CN113992593B (zh) * | 2021-10-20 | 2024-03-01 | 京东科技信息技术有限公司 | 服务资源调用方法、装置、电子设备及存储介质 |
CN114079635A (zh) * | 2021-11-17 | 2022-02-22 | 中国工商银行股份有限公司 | 基于多项式拟合的业务流量限流方法及装置 |
CN114116235A (zh) * | 2022-01-26 | 2022-03-01 | 杭州米络星科技(集团)有限公司 | 流量控制方法、装置、电子设备及计算机可读存储介质 |
CN114500128B (zh) * | 2022-02-07 | 2023-05-23 | 北京百度网讯科技有限公司 | 一种流控计费方法、装置、系统、电子设备、介质及产品 |
CN114567601B (zh) * | 2022-03-02 | 2024-04-12 | 统信软件技术有限公司 | 一种流量的限制方法及系统 |
CN114710450B (zh) * | 2022-03-31 | 2024-04-09 | 中国建设银行股份有限公司 | 流量控制方法、装置、设备及计算机存储介质 |
CN114938353B (zh) * | 2022-05-27 | 2024-04-16 | 中国银行股份有限公司 | 基于流式计算的异步通知限流方法及系统 |
CN114826774B (zh) * | 2022-06-02 | 2024-01-30 | 天翼数字生活科技有限公司 | 一种终端设备日志请求控制方法、服务端和系统 |
CN114884889B (zh) * | 2022-07-11 | 2022-10-14 | 三未信安科技股份有限公司 | 一种关于分布式服务的组合限流方法 |
CN115174411B (zh) * | 2022-07-29 | 2024-05-07 | 北京达佳互联信息技术有限公司 | 跨地域带宽的确定方法、装置、设备及存储介质 |
CN115442432B (zh) * | 2022-09-06 | 2024-06-07 | 上海浦东发展银行股份有限公司 | 一种控制方法、装置、设备及存储介质 |
CN115883472B (zh) * | 2022-11-29 | 2024-05-03 | 重庆紫光华山智安科技有限公司 | 令牌发放方法及相关装置 |
CN116668372B (zh) * | 2023-08-01 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571947A (zh) * | 2011-12-29 | 2012-07-11 | 奇智软件(北京)有限公司 | 一种代理处理数据的方法、装置和系统 |
WO2016188377A1 (zh) * | 2015-05-22 | 2016-12-01 | 中兴通讯股份有限公司 | 一种实现流量控制的方法、服务器及终端 |
CN107508860A (zh) * | 2017-07-21 | 2017-12-22 | 深圳市金立通信设备有限公司 | 一种服务限流方法、服务器及终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7813276B2 (en) * | 2006-07-10 | 2010-10-12 | International Business Machines Corporation | Method for distributed hierarchical admission control across a cluster |
CN101309220A (zh) * | 2008-06-27 | 2008-11-19 | 华为技术有限公司 | 一种流量控制方法和装置 |
CN103188160B (zh) * | 2013-04-18 | 2016-12-07 | 杭州华三通信技术有限公司 | 一种流量控制方法和转发单元 |
CN104753805B (zh) * | 2013-12-31 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 分布式流量控制方法、服务器和系统 |
CN106101017B (zh) * | 2016-06-01 | 2019-12-06 | 中国银联股份有限公司 | 一种线路流量控制方法及装置 |
CN107147585B (zh) * | 2017-03-31 | 2020-02-18 | 北京奇艺世纪科技有限公司 | 一种流量控制方法及装置 |
-
2018
- 2018-03-28 CN CN201810267164.9A patent/CN110198275B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571947A (zh) * | 2011-12-29 | 2012-07-11 | 奇智软件(北京)有限公司 | 一种代理处理数据的方法、装置和系统 |
WO2016188377A1 (zh) * | 2015-05-22 | 2016-12-01 | 中兴通讯股份有限公司 | 一种实现流量控制的方法、服务器及终端 |
CN107508860A (zh) * | 2017-07-21 | 2017-12-22 | 深圳市金立通信设备有限公司 | 一种服务限流方法、服务器及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN110198275A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110198275B (zh) | 一种流量控制方法、系统、服务器及存储介质 | |
CN110036661B (zh) | 一种上行数据传输方法、终端、网络侧设备及系统 | |
CN104142862B (zh) | 服务器的过载保护方法及装置 | |
KR102185004B1 (ko) | 단말과 네트워크 디바이스 사이의 상호작용을 위한 방법 및 단말 | |
WO2021243884A1 (zh) | 一种网元确定方法和装置 | |
CN109922504B (zh) | 数据分流方法及相关产品 | |
CN107634962B (zh) | 网络带宽的管理方法及相关产品 | |
US11099898B2 (en) | Method for allocating memory resources and terminal device | |
CN107329778B (zh) | 系统更新的方法及相关产品 | |
CN113393061B (zh) | 一种基于区块链的交易打包方法和相关装置 | |
CN109922539B (zh) | 网络连接方法及相关产品 | |
CN111651339B (zh) | 一种请求数量的控制方法和相关装置 | |
WO2018201411A1 (zh) | 调度请求传输控制方法及相关产品 | |
US11088954B2 (en) | Link detection method and related apparatus | |
CN108270839B (zh) | 访问频率控制系统及方法 | |
CN109644078B (zh) | 一种上行数据传输方法、终端、网络侧设备及系统 | |
CN111371916B (zh) | 一种数据处理方法及相关设备 | |
CN110045811B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN107220344B (zh) | 文件处理方法及相关产品 | |
CN109992369B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN111245878A (zh) | 一种基于混合云计算和雾计算的计算卸载通信网络的方法 | |
CN109644377B (zh) | 一种上行数据传输方法、终端、网络侧设备及系统 | |
CN107315623B (zh) | 一种上报统计数据的方法和装置 | |
CN110913022A (zh) | 移动终端网络文件下载方法、装置、系统及存储介质 | |
CN106572166B (zh) | 数据传输方法、备份服务器及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |