CN105245463A - 一种流量控制方法和设备 - Google Patents

一种流量控制方法和设备 Download PDF

Info

Publication number
CN105245463A
CN105245463A CN201410325686.1A CN201410325686A CN105245463A CN 105245463 A CN105245463 A CN 105245463A CN 201410325686 A CN201410325686 A CN 201410325686A CN 105245463 A CN105245463 A CN 105245463A
Authority
CN
China
Prior art keywords
connection
time
transmitted
data volume
average discharge
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.)
Granted
Application number
CN201410325686.1A
Other languages
English (en)
Other versions
CN105245463B (zh
Inventor
杨森
娄继冰
陈杰
刘诗毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410325686.1A priority Critical patent/CN105245463B/zh
Publication of CN105245463A publication Critical patent/CN105245463A/zh
Application granted granted Critical
Publication of CN105245463B publication Critical patent/CN105245463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种流量控制方法,包括:对于每一条连接,记录该连接中传输的数据量;当检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;若所述平均流量超过流量阈值,则拒绝该数据读取或写入请求;若所述平均流量未超过所述流量阈值,则执行对应的数据读取或写入操作。本发明实施例还公开了一种流量控制设备。实施本发明实施例,实现了流量控制,并为粒度小,精确度高的流量控制提供了技术支持。

Description

一种流量控制方法和设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种流量控制方法和设备。
背景技术
流量控制用于防止在端口阻塞的情况下丢帧,当发送或接收缓冲区开始溢出时,通过将阻塞信号发送回源地址实现流量控制。流量控制可以有效的防止由于网络中瞬间的大量数据对网络带来的冲击,保证用户网络高效而稳定的运行,正确地实施流量控制,能让网络得到更充分地使用,减少网络上的竞争。
更广义上,如果流量控制的策略能够很好地符合与用户约定的网络使用规则,那么用户也就能更合理地使用有限的网络资源。
目前,亟需一种用于实施流量控制的技术方案。
发明内容
本发明实施例公开了一种流量控制方法和设备,能够实现流量控制,并为粒度小,精确度高的流量控制提供技术支持。
本发明实施例第一方面公开了一种流量控制方法,包括:
对于每一条连接,记录该连接中传输的数据量;
当检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;
若所述平均流量超过流量阈值,则拒绝该数据读取或写入请求;
若所述平均流量未超过所述流量阈值,则执行对应的数据读取或写入操作。
本发明实施例第二方面公开了一种流量控制设备,包括:
记录模块,用于对于每一条连接,记录该连接中传输的数据量;
检测模块,用于检测针对该连接的数据读取或写入请求;
确定模块,用于当所述检测模块检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;
判断模块,用于判断所述平均流量是否超过流量阈值;
处理模块,用于当所述判断模块判断为是时,拒绝该数据读取或写入请求;当所述判断模块判断为否时,执行对应的数据读取或写入操作。
实施本发明实施例,具有如下有益效果:
提供了一种基于单位时间的流量控制方案,通过设置单位时间大小,可以有效地控制流量控制的时间粒度大小,能够实现流量控制,并为粒度小,精确度高的流量控制提供了技术支持。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种流量控制方法的流程示意图;
图2是本发明实施例提供的另一种流量控制方法的流程示意图;
图3是本发明实施例提供的一种的MCP++系统的架构示意图;
图4是本发明实施例提供的一种MCP++系统中流量控制架构示意图;
图5是本发明实施例提供的一种统计队列的示意图;
图6为本发明实施例提供的一种流量控制设备的结构示意图;
图7为本发明实施例提供的另一种流量控制设备的结构示意图;
图8为本发明实施例提供的另一种流量控制设备的结构示意图;
图9为本发明实施例提供的另一种流量控制设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种流量控制方法的流程示意图,可以包括以下步骤:
S101、对于每一条连接,记录该连接中传输的数据量。
S102、当检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量。
S103、判断该平均流量是否超过流量阈值;若是,则转至S104;否则,转至S105。
S104、拒绝该数据读取或写入请求。
S105、执行对应的数据读取或写入操作。
本发明实施例中,为了实现针对连接的流量控制,对于每条连接,流量控制设备均记录该连接中传输的数据量。
作为一种可选的实施方式,上述S101中,记录该连接中传输的数据量可以包括以下步骤:
S11)、流量监控开启时,为该连接分配统计队列;
S12)、将该连接中传输的数据量记录到该统计队列中。
其中,对于每一条连接,为其分配的统计队列可以包括至少两个时间格子,该时间格子用于记录预设时间间隔内该连接中传输的数据量。优选地,该预设时间间隔不大于上述统计平均流量的单位时间,该统计队列包括的时间格子的总数对应的时间总长(即时间格子的总数与预设时间间隔的乘积)大于或等于该单位时间;该单位时间小于1s。
基于该统计队列,流量监控开启时,流量控制设备可以实时监控该连接中传输的数据,并依次在统计队列的各时间格子中记录连续的各预设时间间隔内该连接中传输的数据量。
例如,假设对于连接a,其对应的统计队列中包括20个时间格子,每个时间格子对应的预设时间间隔为100ms,则该统计队列对应的时间总长为2s,流量监控开启时,流量控制设备可以实时监控连接a中传输的数据,若监控开启时至监控开启后第100ms,连接a中传输的数据量为500k,则在统计队列的第一个时间格子中记录数据量500k,若监控开启后第100ms至200ms,该连接a中传输的数据量为0,则在统计队列的第二个时间格子中记录数据量0。
作为一种可选的实施方式,上述为连接分配统计队列为循环队列,即当流量监控的持续时间超过了统计队列对应的时间总长时,将超出该时间总长的流量监控时间内该连接中传输的数据量从该统计队列的第一个时间格子开始覆写。
在该统计队列包括N个时间格子的情况下,该连接在流量监控开启后的第K个预设时间间隔内传输的数据量,记录在所述统计队列的第M个时间格子中,其中:
M=K%N;
其中,N,M,K为正整数,M≤N,N≥2,(x%y)为x对y取模。
例如,假设统计队列中共有10个时间格子,每个时间格子对应的预设时间间隔为10ms,则流量监控开启后的第13个预设时间间隔内(即流量监控开启后第120ms~130ms内)传输的数据量,记录在该统计队列的第3个时间格子中。
本发明实施例中,流量控制设备检测到针对该连接的数据读取或写入请求时,可以根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前之前的单位时间内传输的平均流量,进而判断该平均流量是否超过预设的流量阈值。
例如,假设预先配置的针对连接a的一次数据读取或写入请求对应的数据量为10k,预设的流量阈值为50k每100ms(即单位时间为100ms),则当流量控制设备检测到针对连接a数据读取请求时,流量控制设备可以在自身记录的该连接中传输的数据量中,查询当前时间之前的100ms内,该连接中传输的数据量Q1,并当Q1+10>50时,则认为当前时间之前单位时间内传输的平均流量超过了流量阈值,拒绝该数据读取请求;当Q1+10≤50时,则认为当前时间之前单位时间内传输的平均流量未超过流量阈值,允许该数据读取请求。
进一步地,本发明实施例中,当流量控制设备拒绝针对该连接的数据读取或写入请求之后,还可以将该连接设置为限速连接,如将该连接加入限速连接列表,并禁止通过该连接传输数据。
对于限速连接列表中的连接,流量控制设备可以判断该连接在当前时间之前的单位时间内传输的平均流量是否超过流量阈值,并当该连接在该当前时间之前的单位时间内传输的平均流量未超过流量阈值时,将该连接从限速连接队列中移出,并允许通过该连接传输数据。
作为一种可选实施方式,流量控制设备可以在将连接加入限速连接列表后,周期性扫描该连接,即每隔预设周期,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过流量阈值,并当判断超过时,继续周期性扫描该连接(即判断该连接在当前时间之前的单位时间内传输的平均流量是否超过流量阈值);直至流量控制设备判断该连接在当前时间之前的单位时间内传输的平均流量未超过流量阈值,则将该连接从限速连接列表中移出。
如图2所示,为本发明实施例提供的另一种流量控制方法的流程示意图,可以包括以下步骤:
S201、对于每一条连接,将该连接中传输的数据量记录到对应的统计队列中。
本发明实施例中,流量控制设备在流量监控开始时,为每一条连接分配一个统计队列,该统计队列包括至少两个时间格子,每个时间格子中记录一个预设时间间隔内该连接中传输的数据量。
流量控制设备实时监控该连接中传输的数据量,并将其依次记录到对应的统计队列的时间格子中。
S202、当检测到针对连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及该统计队列中记录的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量。
S203、判断该平均流量是否超过流量阈值;若是,则转至S204;否则,转至S208。
假设连接b对应的统计队列包括10个时间格子,每个时间格子对应的预设时间间隔为10ms,预设的流量阈值为80k每50ms(即单位时间为50ms),流量控制设备在流量开启后第160ms检测到针对连接b的数据读取请求,且预设一次数据读取请求对应的数据量为20k,则流量控制设备查询连接b对应的统计队列中第2个时间格子至第6个时间格子内记录的数据量Q2,若Q2+20>80,则确定当前时间之前的单位时间内传输的平均流量超过流量阈值,若Q2+20≤80,则确定当前时间之前的单位时间内传输的平均流量未超过流量阈值。
S204、拒绝该数据读取或写入请求,并将该连接对应的统计队列加入限速队列列表。
本发明实施例中,当流量控制设备检测到针对某连接的数据读取或写入请求,并确定该连接在当前时间之前的单位时间内传输的平均流量超过流量阈值时,流量控制设备将拒绝该数据读取或写入请求,并将该连接对应的统计队列设备为限速队列,加入到限速队列列表,该限速队列对应的连接禁止数据传输。
S205、以第一时间周期扫描该限速队列,并确定该限速队列在当前时间之前的单位时间内传输的平均流量。
S206、判断该限速队列在当前时间之前的单位时间内传输的平均流量是否超过流量阈值;若超过,则转至S205;否则,转至S207。
本发明实施例中,当统计队列被设置为限速队列后,流量控制设备可以每隔预设时间(第一时间周期),确定该限速队列在当前时间之前的单位时间内的传输的平均流量。由于限速队列对应的连接禁止数据传输,因此,在统计队列对处于限速队列列表中时,该统计队列中记录的数据量为0,进而,流量控制设备确定的限速队列在当前时间之前的单位时间内传输的平均流量将逐渐降低。当该限速队列在当前时间之前的单位时间内传输的平均流量低于流量阈值时,将该连接对应的统计队列从限速队列列表中移出。
S207、将该连接对应的统计队列从限速队列列表中移出。
S208、执行对应的数据读取或写入操作。
本发明实施例中,当流量控制设备接收到针对某连接的数据读取或写入请求,且确定该连接在当前时间之前的单位时间内传输的平均流量未超过预设的流量阈值,则执行对应的数据读取或写入操作,并在该连接对应的统计队列中相应的时间格子中记录对应的数据量。
通过以上描述可以看出,在本发明实施例提供的技术方案中,提供了一种基于单位时间的流量控制方案,通过设置单位时间大小,可以有效地控制流量控制的时间粒度大小,实现了流量控制,并为粒度小,精确度高的流量控制提供了技术支持。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。
在该实施例中,以MCP(Maincontrol,Cache,Proxy,主控制器、存储器、代理)++系统架构中的流量控制为例进行描述。
MCP++是一种网络收发与业务逻辑分离、高性能、高可靠的网络服务器编程框架。如图3所示,它由CCD(ConnectionCacheDaemon,连接缓存守护进程)/MCD(MainControlDaemon,主控制守护进程)/DCC(DaemonConnectionCache,守护进程连接缓存)3类进程构成,CCD进程用来监听TCP(TransmissionControlProtocol,传输控制协议)/UDP(UserDatagramProtocol,数据报协议)端口,接收外部请求,并将MCD进程的回复包发送出去;MCD进程用来承载业务应用;DCC进程用来连接后台Server(服务器),发送来自MCD进程的请求,CCD/MCD/DCC之前利用共享内存MQ(MessageQueue,消息队列)通信,共享内存MQ通过命名Fifo实现MQ事件通知。
在该系统架构中,后台服务往往要对接多种上层模块和业务,不同业务的访问模式也可能差别很大。如果不能很好的控制后台服务的流量,就可能出现一些业务模块挤占了另一些业务的流量,或者一些突发流量性的业务给其他业务造成访问毛刺。
后台服务很多时候还要对接更下层的服务模块,在各模块都不做流量限制的时候,很容易引起雪崩效应,使得整个服务瘫痪。
本发明实施例中,CCD和DCC采用基本相同的架构来进行流量控制,其流量控制架构示意图可以如图4所示(图中以CCD为例,下文中也以CCD为例进行描述)。CCD使用该特性来精确控制用户上传、下载速率,DCC使用该特性来控制后台数据传输速率,防止数据堆积。
MCP++为每个连接分配有一个flow(流)号,用来唯一标识连接。在开启流量监控后,为每个连接分配一个统计队列,其示意图可以参见图5,其中:
每个Grid(时间格子)存放该连接在一个interval(时间间隔)内的流量值,Grid数据和interval大小可以根据具体场景配置,Grid数量越多,interval越小,流量控制的时间粒度就越小,流量控制就越精确。
开启流量控制后,CCD每次接收到数据读取或写入请求时,都要到根据数据读取或写入请求对应的数据量以及统计队列中记录的数据量,确定当前时间之前的单位时间内的平均流量,并当该平均流量超过预设流量阈值时,拒绝该数据读取或写入请求,并将该统计队列设置为限速队列,加入到限速队列列表,并禁止针对该统计队列对应的连接进行数据读取或写入;当该平均流量未超过预设流量阈值时,则执行对应的数据读取或写入操作,并更新统计队列信息。
对于设置为限速队列的统计队列,CCD可以周期性扫描该统计队列,并当该统计队列对应的连接在当前时间之前的单位时间内的平均流量未超过流量阈值时,将该统计队列从限速队列列表中移出,并重新允许针对该统计队列对应的连接的数据读取和写入。
此外,由于MCP++系统架构中,网络连接处理与业务逻辑之间具有事件通知机制。将这种机制结合到上述流量控制方案中,业务逻辑可以实时的知道链路的流量状态,并根据其控制业务逻辑的运行。比如:业务逻辑可以设置在链路流量过载时接收相应事件通知,这时业务逻辑感知到链路过载,可以控制逻辑处理或分发的速度,也可以检测是否属于正常范围,是否收到网络攻击等。
基于上述方法实施例相同的技术构思,本发明实施例还提供了一种流量控制设备,可以应用于上述方法实施例。
如图6所示,为本发明实施例提供的一种流量控制设备的结构示意图,可以包括:
记录模块61,用于对于每一条连接,记录该连接中传输的数据量;
检测模块62,用于检测针对该连接的数据读取或写入请求;
确定模块63,用于当所述检测模块检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;
判断模块64,用于判断所述平均流量是否超过流量阈值;
处理模块65,用于当所述判断模块判断为是时,拒绝该数据读取或写入请求;当所述判断模块判断为否时,执行对应的数据读取或写入操作。
其中,所述处理模块65还可以用于,拒绝该数据读取或写入请求之后,将该连接加入限速连接列表,并禁止通过该连接传输数据。
其中,所述判断模块64还可以用于,当所述处理模块将该连接加入限速连接列表,并禁止通过该连接传输数据之后,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值;
相应的,所述处理模块65还可以用于,当所述判断模块判断该连接在该当前时间之前的单位时间内传输的平均流量未超过所述流量阈值时,将该连接从所述限速连接列表中移出,并允许通过该连接传输数据。
其中,所述判断模块64可以用于,每隔预设周期,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,直至该连接在当前时间之前的单位时间内传输的平均流量未超过所述流量阈值。
请一并参阅图7,图7是本发明实施例公开的另一种流量控制设备的结构示意图。其中,图7所示的流量控制设备是由图6所示的流量控制设备进行优化得到的,与图6所示的终端设备相比,图7所示的流量控制设备中的记录模块61可以包括:
分配单元611,用于在流量监控开启时,为该连接分配统计队列;
记录单元612,用于将该连接中传输的数据量记录到该统计队列中。
其中,所述统计队列包括至少两个时间格子,该时间格子用于记录预设时间间隔内该连接中传输的数据量;其中,所述统计队列包括的时间格子的总数对应的时间总长大于或等于所述单位时间。
请一并参阅图8,图8是本发明实施例公开的另一种流量控制设备的结构示意图。其中,图8所示的流量控制设备是由图7所示的流量控制设备进行优化得到的,与图7所示的终端设备相比,图8所示的流量控制设备中的记录单元612可以包括:
监控子单元6121,用于监控该连接中传输的数据;
记录子单元6122,用于依次在所述统计队列的各时间格子中记录连续的各预设时间间隔内该连接中传输的数据量。
其中,所述统计队列包括N个时间格子;
该连接在流量监控开启后的第K个预设时间间隔内传输的数据量,记录在所述统计队列的第M个时间格子中,其中:
M=K%N;
其中,N,M,K为正整数,M≤N,N≥2,(x%y)为x对y取模。
图9是本发明实施例中提供的另一种流量控制设备的结构示意图。如图9所示,该流量控制设备包括:至少一个处理器91,例如CPU,输入输出装置93,存储器94,至少一个通信总线92。其中,通信总线92用于实现这些组件之间的连接通信,输入输出接口93用于接收数据读取或写入请求,传输请求写入或读取的数据。其中,存储器94可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器94可选的还可以是至少一个位于远离前述处理器91的存储装置。其中存储器94中存储一组程序代码,且处理器91调用存储器94中存储的程序代码,用于执行以下操作:
对于每一条连接,记录该连接中传输的数据量;
当检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;
若所述平均流量超过流量阈值,则拒绝该数据读取或写入请求;
若所述平均流量未超过所述流量阈值,则执行对应的数据读取或写入操作。
在可选实施例中,处理器91调用存储器94中存储的程序代码记录该连接中传输的数据量,可以包括:
流量监控开启时,为该连接分配统计队列;其中,所述统计队列包括至少两个时间格子,该时间格子用于记录预设时间间隔内该连接中传输的数据量;其中,所述统计队列包括的时间格子的总数对应的时间总长大于或等于所述单位时间;
将该连接中传输的数据量记录到所述统计队列中。
进一步可选地,处理器91调用存储器94中存储的程序代码将该连接中传输的数据量记录到所述统计队列中,可以包括:
监控该连接中传输的数据;
依次在所述统计队列的各时间格子中记录连续的各预设时间间隔内该连接中传输的数据量。
其中,所述统计队列包括N个时间格子;
该连接在流量监控开启后的第K个预设时间间隔内传输的数据量,记录在所述统计队列的第M个时间格子中,其中:
M=K%N;
其中,N,M,K为正整数,M≤N,N≥2,(x%y)为x对y取模。
在可选实施例中,处理器91调用存储器94中存储的程序代码拒绝该数据读取或写入请求之后,还可以执行以下操作:
将该连接加入限速连接列表,并禁止通过该连接传输数据。
在可选实施例中,处理器91调用存储器94中存储的程序代码将该连接加入限速连接列表,并禁止通过该连接传输数据之后,还可以执行以下操作:
判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,并当该连接在该当前时间之前的单位时间内传输的平均流量未超过所述流量阈值时,将该连接从所述限速连接列表中移出,并允许通过该连接传输数据。
进一步可选地,处理器91调用存储器94中存储的程序代码判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,可以包括:
每隔预设周期,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,直至该连接在当前时间之前的单位时间内传输的平均流量未超过所述流量阈值。
具体的,本实施例中介绍的流量控制设备可以用以实施本发明结合图1或图2介绍的流量控制方法实施例中的部分或全部流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (16)

1.一种流量控制方法,其特征在于,包括:
对于每一条连接,记录该连接中传输的数据量;
当检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;
若所述平均流量超过流量阈值,则拒绝该数据读取或写入请求;
若所述平均流量未超过所述流量阈值,则执行对应的数据读取或写入操作。
2.如权利要求1所述的方法,其特征在于,所述记录该连接中传输的数据量,包括:
流量监控开启时,为该连接分配统计队列;
将该连接中传输的数据量记录到所述统计队列中。
3.如权利要求2所述的方法,其特征在于,
所述统计队列包括至少两个时间格子,该时间格子用于记录预设时间间隔内该连接中传输的数据量;其中,所述统计队列包括的时间格子的总数对应的时间总长大于或等于所述单位时间。
4.如权利要求3所述的方法,其特征在于,所述将该连接中传输的数据量记录到所述统计队列中,包括:
监控该连接中传输的数据;
依次在所述统计队列的各时间格子中记录连续的各预设时间间隔内该连接中传输的数据量。
5.如权利要求4所述的方法,其特征在于,所述统计队列包括N个时间格子;
该连接在流量监控开启后的第K个预设时间间隔内传输的数据量,记录在所述统计队列的第M个时间格子中,其中:
M=K%N;
其中,N,M,K为正整数,M≤N,N≥2,(x%y)为x对y取模。
6.如权利要求1所述的方法,其特征在于,所述拒绝该数据读取或写入请求之后,该方法还包括:
将该连接加入限速连接列表,并禁止通过该连接传输数据。
7.如权利要求6所述的方法,其特征在于,将该连接加入限速连接列表,并禁止通过该连接传输数据之后,该方法包括:
判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,并当该连接在该当前时间之前的单位时间内传输的平均流量未超过所述流量阈值时,将该连接从所述限速连接列表中移出,并允许通过该连接传输数据。
8.如权利要求7所述的方法,其特征在于,所述判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,包括:
每隔预设周期,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,直至该连接在当前时间之前的单位时间内传输的平均流量未超过所述流量阈值。
9.一种流量控制设备,其特征在于,包括:
记录模块,用于对于每一条连接,记录该连接中传输的数据量;
检测模块,用于检测针对该连接的数据读取或写入请求;
确定模块,用于当所述检测模块检测到针对该连接的数据读取或写入请求时,根据该数据读取或写入请求对应的数据量,以及所记录的该连接中传输的数据量,确定该连接在当前时间之前的单位时间内传输的平均流量;
判断模块,用于判断所述平均流量是否超过流量阈值;
处理模块,用于当所述判断模块判断为是时,拒绝该数据读取或写入请求;当所述判断模块判断为否时,执行对应的数据读取或写入操作。
10.如权利要求9所述的设备,其特征在于,所述记录模块包括:
分配单元,用于在流量监控开启时,为该连接分配统计队列;
记录单元,用于将该连接中传输的数据量记录到该统计队列中。
11.如权利要求10所述的设备,其特征在于,
所述统计队列包括至少两个时间格子,该时间格子用于记录预设时间间隔内该连接中传输的数据量;其中,所述统计队列包括的时间格子的总数对应的时间总长大于或等于所述单位时间。
12.如权利要求11所述的设备,其特征在于,所述记录单元包括:
监控子单元,用于监控该连接中传输的数据;
记录子单元,用于依次在所述统计队列的各时间格子中记录连续的各预设时间间隔内该连接中传输的数据量。
13.如权利要求12所述的设备,其特征在于,所述统计队列包括N个时间格子;
该连接在流量监控开启后的第K个预设时间间隔内传输的数据量,记录在所述统计队列的第M个时间格子中,其中:
M=K%N;
其中,N,M,K为正整数,M≤N,N≥2,(x%y)为x对y取模。
14.如权利要求9所述的设备,其特征在于,
所述处理模块还用于,拒绝该数据读取或写入请求之后,将该连接加入限速连接列表,并禁止通过该连接传输数据。
15.如权利要求14所述的设备,其特征在于,
所述判断模块还用于,当所述处理模块将该连接加入限速连接列表,并禁止通过该连接传输数据之后,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值;
所述处理模块还用于,当所述判断模块判断该连接在该当前时间之前的单位时间内传输的平均流量未超过所述流量阈值时,将该连接从所述限速连接列表中移出,并允许通过该连接传输数据。
16.如权利要求15所述的设备,其特征在于,
所述判断模块用于,每隔预设周期,判断该连接在当前时间之前的单位时间内传输的平均流量是否超过所述流量阈值,直至该连接在当前时间之前的单位时间内传输的平均流量未超过所述流量阈值。
CN201410325686.1A 2014-07-09 2014-07-09 一种流量控制方法、设备及存储介质 Active CN105245463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410325686.1A CN105245463B (zh) 2014-07-09 2014-07-09 一种流量控制方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410325686.1A CN105245463B (zh) 2014-07-09 2014-07-09 一种流量控制方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN105245463A true CN105245463A (zh) 2016-01-13
CN105245463B CN105245463B (zh) 2019-10-22

Family

ID=55042968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410325686.1A Active CN105245463B (zh) 2014-07-09 2014-07-09 一种流量控制方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN105245463B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107276857A (zh) * 2017-08-16 2017-10-20 郑州云海信息技术有限公司 一种监测流量的方法及装置
CN108075944A (zh) * 2016-11-16 2018-05-25 腾讯科技(深圳)有限公司 一种网络监控方法及装置
CN108255600A (zh) * 2016-12-29 2018-07-06 乐视汽车(北京)有限公司 一种用于数据处理的方法、设备及电子设备
CN110222034A (zh) * 2019-06-04 2019-09-10 北京奇艺世纪科技有限公司 一种数据库维护方法及装置
CN113691457A (zh) * 2021-08-10 2021-11-23 中国银联股份有限公司 限流控制方法、装置、设备及存储介质
WO2022194150A1 (zh) * 2021-03-17 2022-09-22 华为技术有限公司 传输控制方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856597B1 (en) * 2000-02-10 2005-02-15 Paradyne Corporation System and method for statistical control of power dissipation with host enforcement
CN101022356A (zh) * 2006-02-16 2007-08-22 中兴通讯股份有限公司 一种abis接口带宽分配系统及方法
CN101110981A (zh) * 2006-07-21 2008-01-23 中兴通讯股份有限公司 根据授权对短消息系统的流量进行限制的方法
CN101202741A (zh) * 2006-12-14 2008-06-18 英业达股份有限公司 动态调整任务请求数的方法
CN101662799A (zh) * 2009-08-28 2010-03-03 中兴通讯股份有限公司 一种接纳控制的实现方法及装置
CN102281590A (zh) * 2011-09-15 2011-12-14 华为技术有限公司 控制负荷量的方法和装置
CN102377631A (zh) * 2010-08-06 2012-03-14 北京乾唐视联网络科技有限公司 一种基于流量控制的数据传输方法及通信系统
CN103731323A (zh) * 2014-01-23 2014-04-16 中国联合网络通信集团有限公司 一种监控移动互联网业务流量的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856597B1 (en) * 2000-02-10 2005-02-15 Paradyne Corporation System and method for statistical control of power dissipation with host enforcement
CN101022356A (zh) * 2006-02-16 2007-08-22 中兴通讯股份有限公司 一种abis接口带宽分配系统及方法
CN101110981A (zh) * 2006-07-21 2008-01-23 中兴通讯股份有限公司 根据授权对短消息系统的流量进行限制的方法
CN101202741A (zh) * 2006-12-14 2008-06-18 英业达股份有限公司 动态调整任务请求数的方法
CN101662799A (zh) * 2009-08-28 2010-03-03 中兴通讯股份有限公司 一种接纳控制的实现方法及装置
CN102377631A (zh) * 2010-08-06 2012-03-14 北京乾唐视联网络科技有限公司 一种基于流量控制的数据传输方法及通信系统
CN102281590A (zh) * 2011-09-15 2011-12-14 华为技术有限公司 控制负荷量的方法和装置
CN103731323A (zh) * 2014-01-23 2014-04-16 中国联合网络通信集团有限公司 一种监控移动互联网业务流量的方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108075944A (zh) * 2016-11-16 2018-05-25 腾讯科技(深圳)有限公司 一种网络监控方法及装置
CN108075944B (zh) * 2016-11-16 2021-01-15 腾讯科技(深圳)有限公司 一种网络监控方法及装置
CN108255600A (zh) * 2016-12-29 2018-07-06 乐视汽车(北京)有限公司 一种用于数据处理的方法、设备及电子设备
CN107276857A (zh) * 2017-08-16 2017-10-20 郑州云海信息技术有限公司 一种监测流量的方法及装置
CN110222034A (zh) * 2019-06-04 2019-09-10 北京奇艺世纪科技有限公司 一种数据库维护方法及装置
WO2022194150A1 (zh) * 2021-03-17 2022-09-22 华为技术有限公司 传输控制方法及装置
CN113691457A (zh) * 2021-08-10 2021-11-23 中国银联股份有限公司 限流控制方法、装置、设备及存储介质
WO2023015869A1 (zh) * 2021-08-10 2023-02-16 中国银联股份有限公司 限流控制方法、装置、设备及存储介质
CN113691457B (zh) * 2021-08-10 2023-07-18 中国银联股份有限公司 限流控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105245463B (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN105245463A (zh) 一种流量控制方法和设备
US9282022B2 (en) Forensics for network switching diagnosis
CN105025080A (zh) 一种分布式系统的过载保护方法和服务器
US11088966B2 (en) Managing congestion in a network adapter based on host bus performance
CN101505260A (zh) 消息流量的控制方法、系统及装置
CN109660468A (zh) 一种端口拥塞管理方法、装置和设备
CN101620551A (zh) 一种面向多虚拟机应用的网卡中断控制方法
CN105027081A (zh) 一种轮询和中断的切换方法及装置
CN104980472A (zh) 网络访问量的控制方法及装置
CN104052676B (zh) 一种发送通路装置及发送通路的数据处理方法
CN102611630B (zh) 一种报文接收控制方法及系统
CN103338144A (zh) 一种会话数据同步方法和装置
CN102447606A (zh) 一种数据传输流量控制方法及装置
CN101188560A (zh) 实现转发能力动态检测的方法和装置
CN110708234B (zh) 消息发送的处理方法、消息发送的处理装置及存储介质
CN102281263B (zh) 一种建立iSCSI会话的方法和iSCSI发起方
CN102882708A (zh) 运维审计方法、装置及系统
EP2579507B1 (en) Method and system for counting data packets
CN104283741B (zh) 精确检测大流老化的方法及装置
CN101448022B (zh) 互联网小型计算机系统接口接收端窗口控制方法及装置
CN108718398A (zh) 视频会议系统的码流传输方法、装置及会议设备
CN112039835B (zh) 自适应轮询时间估算方法、装置、设备及存储介质
CN104022961A (zh) 一种数据传输方法、装置及系统
CN110781104A (zh) 一种数据处理系统、方法和装置
CN110347518B (zh) 消息处理方法及装置

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211104

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 2, 518000, East 403 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.