CN101621833A - 一种报文流量控制方法和基站控制器 - Google Patents
一种报文流量控制方法和基站控制器 Download PDFInfo
- Publication number
- CN101621833A CN101621833A CN200910162389.9A CN200910162389A CN101621833A CN 101621833 A CN101621833 A CN 101621833A CN 200910162389 A CN200910162389 A CN 200910162389A CN 101621833 A CN101621833 A CN 101621833A
- Authority
- CN
- China
- Prior art keywords
- message
- control frame
- flow control
- data source
- upstream data
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文流量控制方法和基站控制器,其中方法包括:基站控制器中的网络处理器模块将从基站控制器中的上游数据源模块接收的报文放入相应的队列后,确定该队列的缓存水平值是否达到预设的高门限值;若达到高门限值,则构造降速流控帧并发送至上游数据源模块;基站控制器中的网络控制器模块从队列中调度出报文后,确定队列的缓存水平值是否达到预设的低门限值,若达到低门限值,则构造升速流控帧并发送至上游数据源模块;上游数据源模块根据降速流控帧或升速流控帧,降低或者提升其发送报文的速度。本发明通过基站控制器内部网络处理器模块与上游数据源模块之间的反馈机制,对基站控制器侧的报文发送流量进行较好的控制。
Description
技术领域
本发明涉及移动通信系统,尤其涉及一种报文流量控制方法和基站控制器。
背景技术
移动通信系统中,数据业务非连续性的特点影响着基站控制器和基站之间带宽资源的有效使用。为了提高基站控制器和基站之间传输资源的利用率,采用的方法是给非连续性的业务配置激活因子,业务接入时根据业务的最大速率乘以激活因子给该业务分配带宽。从基站控制器侧来看,在一个端口接入的业务最大带宽大于实际可用带宽。业务建立后流量是突发的,当在某一时刻业务的即时流量大于端口可用带宽时,基站控制器的发送能力不足以把这些报文都发送出去,在基站控制器内部产生丢包。
当前的解决方案是通过基站和基站控制器之间的反馈来对基站控制器侧的发送流量进行控制。基站控制器内部的丢包在基站检测到以后,基站给基站控制器发负确认提示控制器有丢包,然后在基站控制器侧执行降速。这样的反馈过程跨越了基站和基站控制器,反馈周期长,引入了基站和基站控制器之间接口的双向时延,无法实时地对基站控制器侧的发送流量进行较好的控制。
发明内容
本发明实施例提供了一种报文流量控制方法和基站控制器,用以实现对基站控制器侧的发送流量进行较好的控制。
本发明实施例提供的一种报文流量控制方法,包括:
基站控制器中的网络控制器模块将从所述基站控制器中的上游数据源模块接收的报文放入相应的队列后,确定所述队列的缓存水平值是否达到预先设置的高门限值;
若达到了所述高门限值,则构造降速流控帧并发送至所述上游数据源模块;
所述网络控制器模块从队列中调度出报文后,确定所述队列的缓存水平值是否达到预先设置的低门限值;
若达到了所述低门限值,则构造升速流控帧并发送至所述上游数据源模块;
所述上游数据源模块根据接收的所述降速流控帧或升速流控帧,降低或者提升其向所述基站控制器发送报文的速度。
将接收的报文放入队列,具体包括:
根据接收的报文的端口号和队列号,将其对应的报文描述符放入队列中,所述报文描述符指示报文存放的地址和报文长度;
从队列中调度出报文,具体包括:
根据报文描述符指示的报文存放的地址,以先进先出的方式,将报文调度至所述基站控制器的MAC缓存并向外发送。
所述发送降速流控帧或升速流控帧通过下述方式实现:
根据队列中各报文描述符对应的报文的队列号,在反向表中查找其对应的上游数据源模块索引,所述反向表中对应记录报文端口号、队列号与发送该报文的上游数据源模块的索引;
根据查询到的上游数据源模块的索引,向各上游数据源模块发送构造的降速流控帧或升速流控帧。
所述缓存水平值根据队列中任一报文的长度值以及队列中的报文总数来确定。
所述上游数据源模块根据接收的所述降速流控帧,降低其报文的发送速度,包括:
当所述上游数据源模块处于快速升速状态或者步长升速状态,所述上游数据源模块根据接收的降速流控帧,跃迁至降速状态;
当所述上游数据源模块处于降速状态时,丢弃所述降速流控帧;
所述快速升速状态定义为每隔ttl周期,报文发送速度呈指数增长的状态;
所述步长升速状态定义为当所述快速升速状态的报文发送速度达到设定的门限值时,每隔ttl周期,报文发送速度以设定的步长增长的状态;
所述降速状态定义为每隔ttl周期,报文发送速度固定等于V*b的状态;所述V表示从快速升速状态或步长升速状态跃迁至所述降速状态时的报文发送速度;所述b表示设定的降速因子,取值范围大于0小于1。
所述上游数据源模块根据接收的所述升速流控帧,提升其报文的发送速度,包括:
当所述上游数据源模块处于降速状态时,启动定时器,若在设定的时间内未收到升速流控帧,则自动跃迁至快速升速状态;
若在设定的时间内收到升速流控帧,则根据接收的升速流控帧,跃迁至快速升速状态,并在报文发送速度达到设定的门限值时,由快速升速状态跃迁至步长升速状态;
当所述上游数据源模块当前处于快速升速状态或者步长升速状态,丢弃所述升速流控帧。
本发明实施例提供了一种基站控制器,包括:网络控制器模块和上游数据源模块;
网络控制器模块,用于将从所述上游数据源模块接收的报文放入相应的队列后,确定所述队列的缓存水平值是否达到预先设置的高门限值;若达到了所述高门限值,则构造降速流控帧并发送至所述上游数据源模块;以及从队列中调度出报文后,确定所述队列的缓存水平值是否达到预先设置的低门限值;若达到所述低门限值,则构造升速流控帧并发送至所述上游数据源模块;
所述上游数据源模块,用于根据接收的所述降速流控帧或升速流控帧,降低或者提升其向所述网络控制器模块发送报文的速度。
所述网络控制器模块,具体包括:
入队模块,用于从上游数据源模块接收的报文放入相应的队列后,确定所述队列的缓存水平值是否达到预先设置的高门限值;若达到了所述高门限值,则构造出降速流控帧;
调度模块,用于从队列中调度出报文后,确定所述队列的缓存水平值是否达到预先设置的低门限值;若达到了所述低门限值,则构造出升速流控帧;
协议栈模块,用于发送所述降速流控帧或所述升速流控帧至上游数据源模块。
所述网络控制器模块,还包括配置模块,用于设置所述缓存水平值的低门限值和所述高门限值。
所述入队模块,还用于根据接收的报文的端口号和队列号,将其对应的报文描述符放入队列中,所述报文描述符指示报文存放的地址和报文长度;
所述调度模块,还用于根据报文描述符指示的报文存放的地址,将报文调度至所述基站控制器的MAC缓存并向外发送。
所述入队模块或所述调度模块发送降速流控帧或升速流控帧的方式,具体包括:
根据队列中各报文描述符对应的报文的队列号,在反向表中查找其对应的上游数据源模块索引,所述反向表中对应记录报文端口号、队列号与发送该报文的上游数据源模块的索引;
根据查询到的上游数据源模块的索引,向各上游数据源模块发送构造的降速流控帧或升速流控帧。
所述上游数据源模块的工作状态包括:快速升速状态、步长升速状态或降速状态;
所述快速升速状态定义为每隔ttl周期,报文发送速度呈指数增长的状态;
所述步长升速状态定义为当所述快速升速状态的报文发送速度达到设定的门限值时,每隔ttl周期,报文发送速度以设定的步长增长的状态;
所述降速状态定义为每隔ttl周期,报文发送速度固定等于V*b的状态;所述V表示从快速升速状态或步长升速状态跃迁至所述降速状态时的报文发送速度;所述b表示设定的降速因子,取值范围大于0小于1。
所述上游数据源模块,还用于当其处于快速升速状态或者步长升速状态时,根据接收的降速流控帧,跃迁至降速状态;当其处于降速状态时,丢弃所述降速流控帧;或者
当其处于降速状态时,启动定时器,若在设定的时间内未收到升速流控帧,则自动跃迁至快速升速状态;
若在设定的时间内收到升速流控帧,则根据接收的升速流控帧,跃迁至快速升速状态,并在报文发送速度达到设定的门限值时,由快速升速状态跃迁至步长升速状态;当其处于快速升速状态或者步长升速状态时,丢弃所述升速流控帧。
本发明实施例的有益效果包括:
本发明实施例提供的一种报文流量控制方法和基站控制器,基站控制器中的网络控制器模块将从基站控制器中的上游数据源模块接收的报文放入相应的队列后,确定队列的缓存水平值是否达到预先设置的高门限值;若达到了高门限值,则构造降速流控帧并发送至上游数据源模块;以及基站控制器中的网络控制器模块从队列中调度出报文后,确定队列的缓存水平值是否达到预先设置的低门限值;若达到低门限值,则构造升速流控帧并发送至上游数据源模块;上游数据源模块根据接收的降速流控帧或升速流控帧,降低或者提升其发送报文的速度。本发明实施例实现了对基站控制器侧队列的缓存水平进行实时监测,并在队列的缓存水平值达到设定的高门限值时,通过网络控制器模块与上游数据源模块之间的反馈机制,降低上游数据源模块的报文发送速度,避免上游数据源模块发到网络处理器模块的报文过多、报文长度过长而导致的丢包、上层业务同步失败等问题。同时,还通过设定缓存水平的低门限值,在队列的缓存水平达到低门限值时,提高上游数据源模块的报文发送速度,提高了带宽的利用率。
附图说明
图1为本发明实施例提供的报文流量控制方法的流程图;
图2为本发明实施例提供的上游数据源模块处于降速状态下其状态变化的流程图;
图3为本发明实施例提供的上游数据源模块处于快速升速状态下其状态变化的流程图;
图4为本发明实施例提供的上游数据源模块处于步长升速状态下其状态变化的流程图;
图5为本发明实施例提供的基站控制器的结构示意图;
图6为本发明实施例提供的网络控制器模块的结构示意图。
具体实施方式
下面结合附图,用具体的实施例,对本发明提供的一种报文流量控制方法和基站控制器进行详细的说明。
首先,对本发明实施例提供的一种报文流量控制方法进行详细地说明。
本发明实施例提供的一种报文流量控制方法,如图1所示,包括下述步骤:
S101、基站控制器中的网络控制器模块将从基站控制器中的上游数据源模块接收的报文放入相应的队列;并在该步骤完成后执行S102;
S102、确定当前队列的缓存水平值是否达到预先设置的高门限值;若是,执行步骤S103;若否,执行S108;
S103、网络控制器模块构造出降速流控帧,并发送至上游数据源模块;然后执行步骤S107;
S104、网络控制器模块从队列中调度出报文;并在该步骤完成后转向执行S105;
S105、确定当前队列的缓存水平值是否达到预先设置的低门限值;若是,执行步骤S106;若否,执行S108;
S106、网络控制器模块构造出升速流控帧,并发送至上游数据源模块;然后执行步骤S107;
S107、上游数据源模块根据接收的降速流控帧或升速流控帧,对应降低或者提升其报文的发送速度;
S108、退出流程。
上述步骤S101至S103,与S104至S106之间是相互独立的两个流程。
在本发明实施例中,上述步骤S101至S107中基站控制器侧报文流量的控制是通过基站控制器内部的网络处理器模块和上游数据源模块来完成的。更进一步地,网络处理器模块内部,包括网络处理器微引擎和网络处理器控制器,网络处理器微引擎具体包括调度模块和入队模块;网络处理器控制器具体包括配置模块和协议栈模块。
上述步骤S101中,由入队模块根据接收的报文的端口号和队列号,将报文放入相应的队列的操作。
在上述步骤S104中,由调度模块完成将从队列中调度出报文的操作。
通常一个端口在网络处理器模块内部可以对应多个队列,不同队列的优先级可以不同。网络处理器模块为每个队列独立维护对应的队列控制块,队列控制块中记录该队列相关的参数,例如反映队列缓存水平的各报文的长度和队列中报文的总数等。入队模块将报文入队后,或者调度模块将报文调度出队之后,由入队模块或调度模块更新队列控制块中的参数。
队列中可以存放实际的报文或报文对应的报文描述符,较佳地,队列可以通过存储报文描述符替代存储实际的报文,报文描述符与实际的报文存在一一对应的关系,报文描述符记录的是报文存放的地址和报文的长度。
在入队模块将报文入队时候,只需要根据接收的实际报文,将该报文对应的报文描述符入队即可。当调度模块调度报文出队的时候,以先进先出FIFO的方式,根据需要调度出队的报文描述符对应的报文调度至网络处理器模块的MAC缓存再往外发送即可。由于每个报文描述符的长度固定,且报文描述长度一般小于实际报文的长度,在队列中使用报文描述符替代实际的报文的好处在于可以提高网络处理器微引擎中入队模块和调度模块的报文处理性能。
在步骤S102和步骤S105中,由入队模块或者调度模块对更新后的队列控制块中的参数进行判断,判断队列的缓存水平值是否达到了设定的高门限值或低门限值。
在本发明实施例中,缓存水平值的高门限值或低门限值主要根据队列中各报文的长度和队列中报文的总数来确定。队列缓存水平的高门限值和低门限值可以由配置模块预先配置。
高门限值或低门限值根据队列中各报文的长度和队列中报文的总数来确定,是基于下述几方面的原因:
一个队列能缓存的报文个数是有限的,当上游数据源模块发到网络处理器模块的报文总数过多导致队列缓存溢出时,将产生丢包;如果队列中报文数量少于调度模块要调度的报文个数时,调度不充分,物理带宽未被合理利用,因此队列中报文的数量应当适中。
报文长度是可变的,网络处理器模块接口发送速率是有限的,长报文占用更多的发送时间。由于队列里缓存的报文采用FIFO的方式出队,当队列里缓存的报文总长度过大将导致后到的报文在队列缓存时间过长,如果超过了移动通信系统能接受的时延,将导致上层业务同步失败。因此,队列中报文的长度也应当适中。
另外,从基站控制器侧的网络处理器模块发送降速流控帧,到上游数据源模块接收该降速流控帧降低报文速度之间有一定时延,设置的缓存水平的高门限值需要满足队列中的缓存不会因为该时延的存在而溢出丢包。
在上述步骤S103中,当入队模块确定当前队列的缓存水平值达到了预先设置的高门限值时,入队模块构造出对应的降速流控帧,并发给网络处理器控制器的协议栈模块,由协议栈模块发送至上游数据源模块。
在上述步骤S106中,当调度模块确定当前队列的缓存水平值达到了预先设置的低门限值时,调度模块构造出对应的升速流控帧,并发给网络处理器控制器的协议栈模块,由协议栈模块发送至上游数据源模块。
一个队列中的报文可能会来自于不同的上游数据源模块,协议栈模块可以具体通过下述方式将升速流控帧或降速流控帧发送给相应的上游数据源模块:
在网络处理器微引擎侧,存储着记录发送上游数据源模块的索引、及该上游数据源模块发送的报文的端口号和队列号的相关表,以及这些相关表的反向表。在反向表中,记录各报文的队列号,端口号,以及发送该报文的上游数据源模块的索引。网络处理器微引擎可以根据队列中各报文的队列号,查询到反向表中对应的各上游数据源模块的索引。即使多个上游数据源模块发送的报文都在同一个队列中,也可以将升速流控帧或者降速流控帧发送到对应的各上游数据源模块。
在上游数据源模块侧,在未收到降速流控帧或者升速流控帧的情况下,以ttl为周期,间隔性地向基站控制器内部的网络处理器模块发送一次数据块,其中数据块长度是固定的,当要发的数据大于一个数据块大小时,将分包发送。一包在网络处理器模块侧对应一个数据报文,有一个报文描述符。
在本发明实施例中,可以设置上游数据源模块处于三种状态即:降速状态、快速升速状态和步长升速状态。其中各状态的具体定义如下:
快速升速状态,定义为每隔ttl周期,报文发送速度呈指数增长的状态;例如每个ttl周期,报文发送速度为V1、2V1、4V1、......2NV1依次类推。
步长升速状态,定义为当快速升速状态的报文发送速度达到设定的门限值时,每隔ttl周期,报文发送速度以设定的步长增长的状态;例如第一次发送速度为V1,相隔ttl再次发送报文的速度为V1+a,依次类推。
降速状态,定义为每隔ttl周期,报文发送速度固定等于V*b的状态;V表示从快速升速状态或步长升速状态跃迁至所述降速状态时的报文发送速度;所述b表示设定的降速因子,取值范围大于0小于1。
上述降速因子和快速升速状态报文发送速度的门限值,都可以由配置模块预先配置并通知给上游数据源模块。
上游数据源模块可以根据收到的降速流控帧或升速流控帧,在三个状态之间相互变换。具体说明如下:
假设当前上游数据源模块处于降速状态,在处于降速状态的起始,就启动了定时器,该定时器是为了防止因为升速流控帧丢包导致上游数据源模块一直处于降速状态,使得基站控制器与基站带宽资源不能有效利用而设置的。在上游数据源模块处于降速状态下,其状态变化的流程图如图2所示,包括:
S201、启动定时器;
S202、判断定时器是否超时,超时则执行步骤S203;否则执行步骤204;
S203、进入快速升速状态;
S204、判断是否收到升速流控帧;若是则执行S203;否则执行步骤205;
S205、丢弃收到的其他消息例如降速流控帧等,然后再次返回S202。
假设当前上游数据源模块处于快速升速状态或者步长升速状态,则只有在收到降速流控帧才会进入降速状态,收到其他消息例如升速流控帧的情况下,丢弃该消息。
上游数据源模块处于快速升速状态下,其状态变化的流程图如图3所示。
S301、启动ttl定时器;
S302、判断ttl是否超时,未超时,则执行步骤S303;若超时,则执行步骤S305;
S303、判断是否收到降速流控帧,若是,则执行S304;否则转向执行S302;
S304、进入降速状态。
S305、在快速升速状态下发送报文;并继续执行步骤S306;
S306、判断是否达到快速升速状态的门限值;若是,执行步骤S307,若否,转向执行步骤S301。
S307、进入步长升速状态。
上游数据源模块处于步长升速状态下,其状态变化的流程图如图4所示。
S401、启动ttl定时器;
S402、判断ttl是否超时,未超时,则执行步骤S403;若超时,则执行步骤S404;
S403、判断是否收到降速流控帧,若是,则执行S405;否则转向执行S402;
S404、在步长升速状态下发送报文;然后转向执行步骤S401;
S405、进入降速状态。
本发明实施例还提供了一种基站控制器,如图5所示,包括:网络控制器模块501和上游数据源模块502;
网络控制器模块501,用于将从上游数据源模块502接收的报文放入相应的队列后,确定队列的缓存水平值是否达到预先设置的高门限值;若达到了高门限值,则构造降速流控帧并发送至上游数据源模块502;以及从队列中调度出报文后,确定队列的缓存水平值是否达到预先设置的低门限值;若达到低门限值,则构造升速流控帧并发送至上游数据源模块502;
上游数据源模块502,用于根据接收的降速流控帧或升速流控帧,降低或者提升其向网络控制器模块501发送报文的速度。
其中网络控制器模块501,进一步地,如图6所示,具体包括:
入队模块5011,用于从上游数据源模块接收的报文放入相应的队列后,确定队列的缓存水平值是否达到预先设置的高门限值;若达到了高门限值,则构造出降速流控帧;
调度模块5012,用于从队列中调度出报文后,确定队列的缓存水平值是否达到预先设置的低门限值;若达到了低门限值,则构造出升速流控帧;
协议栈模块5013,用于发送降速流控帧或升速流控帧至上游数据源模块。
本发明实施例提供的基站控制器,如图6所示,还可以包括配置模块5014,用于设置缓存水平值的低门限值和高门限值。
入队模块5011,还用于根据接收的报文的端口号和队列号,将其对应的报文描述符放入队列中,该报文描述符指示报文存放的地址和报文长度;
调度模块5012,还用于根据报文描述符指示的报文存放的地址,将报文调度至基站控制器的MAC缓存并向外发送。
入队模块5011或调度模块5012发送降速流控帧或升速流控帧的方式,具体包括:
根据队列中各报文描述符对应的报文的队列号,在反向表中查找其对应的上游数据源模块索引,所述反向表中对应记录报文端口号、队列号与发送该报文的上游数据源模块的索引;
根据查询到的上游数据源模块的索引,向各上游数据源模块发送构造的降速流控帧或升速流控帧。
本发明实施例提供的上游数据源模块502的工作状态包括:快速升速状态、步长升速状态或降速状态;
快速升速状态,定义为每隔ttl周期,报文发送速度呈指数增长的状态;
步长升速状态,定义为当所述快速升速状态的报文发送速度达到设定的门限值时,每隔ttl周期,报文发送速度以设定的步长增长的状态;
降速状态,定义为每隔ttl周期,报文发送速度固定等于V*b的状态;所述V表示从快速升速状态或步长升速状态跃迁至所述降速状态时的报文发送速度;所述b表示设定的降速因子,取值范围大于0小于1。
上游数据源模块502,还用于当其处于快速升速状态或者步长升速状态时,根据接收的降速流控帧,跃迁至降速状态;当其处于降速状态时,丢弃所述降速流控帧;或者
当其处于降速状态时,启动定时器,若在设定的时间内未收到升速流控帧,则自动跃迁至快速升速状态;
若在设定的时间内收到升速流控帧,则根据接收的升速流控帧,跃迁至快速升速状态,并在报文发送速度达到设定的门限值时,由快速升速状态跃迁至步长升速状态;当其处于快速升速状态或者步长升速状态时,丢弃所述升速流控帧。
该上游数据源模块502,还用于在处于降速状态时,启动定时器,在设定的时间内未收到升速流控帧时,自动跃迁至快速升速状态。
本发明实施例提供的一种报文流量控制方法和基站控制器,基站控制器中的网络控制器模块将从基站控制器中的上游数据源模块接收的报文放入相应的队列后,确定队列的缓存水平值是否达到预先设置的高门限值;若达到了高门限值,则构造降速流控帧并发送至上游数据源模块;以及基站控制器中的网络控制器模块从队列中调度出报文后,确定队列的缓存水平值是否达到预先设置的低门限值;若达到低门限值,则构造升速流控帧并发送至上游数据源模块;上游数据源模块根据接收的降速流控帧或升速流控帧,降低或者提升其发送报文的速度。本发明实施例实现了对基站控制器侧队列的缓存水平进行实时监测,并在队列的缓存水平值达到设定的高门限值时,通过网络控制器模块与上游数据源模块之间的反馈机制,降低上游数据源模块的报文发送速度,避免上游数据源模块发到基站控制器侧的网络处理器模块的报文过多、报文长度过长而导致的丢包、上层业务同步失败等问题。同时,还通过设定缓存水平的低门限值,在队列的缓存水平达到低门限值时,提高上游数据源模块的报文发送速度,提高了带宽的利用率,为基站控制器的突发流量处理提供了较佳的实现方案。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1、一种报文流量控制方法,其特征在于,包括:
基站控制器中的网络控制器模块将从所述基站控制器中的上游数据源模块接收的报文放入相应的队列后,确定所述队列的缓存水平值是否达到预先设置的高门限值;
若达到了所述高门限值,则所述网络控制器模块构造降速流控帧并发送至所述上游数据源模块;
所述网络控制器模块从队列中调度出报文后,确定所述队列的缓存水平值是否达到预先设置的低门限值;
若达到了所述低门限值,则所述网络控制器模块构造升速流控帧并发送至所述上游数据源模块;
所述上游数据源模块根据接收的所述降速流控帧或升速流控帧,降低或者提升其向所述网络控制器模块发送报文的速度。
2、如权利要求1所述的方法,其特征在于,将接收的报文放入队列,具体包括:
根据接收的报文的端口号和队列号,将其对应的报文描述符放入队列中,所述报文描述符指示报文存放的地址和报文长度;
从队列中调度出报文,具体包括:
根据报文描述符指示的报文存放的地址,将报文调度至所述基站控制器的MAC缓存并向外发送。
3、如权利要求2所述的方法,其特征在于,所述发送降速流控帧或升速流控帧通过下述方式实现:
根据队列中各报文描述符对应的报文的队列号,在反向表中查找其对应的上游数据源模块索引,所述反向表中对应记录报文端口号、队列号与发送该报文的上游数据源模块的索引;
根据查询到的上游数据源模块的索引,向各上游数据源模块发送构造的降速流控帧或升速流控帧。
4、如权利要求1、2或3所述的方法,其特征在于,所述缓存水平值根据队列中任一报文的长度值以及队列中的报文总数来确定。
5、如权利要求1所述的方法,其特征在于,上游数据源模块根据接收的所述降速流控帧,降低其报文的发送速度,包括:
当所述上游数据源模块处于快速升速状态或者步长升速状态,所述上游数据源模块根据接收的降速流控帧,跃迁至降速状态;
当所述上游数据源模块处于降速状态时,丢弃所述降速流控帧;
所述快速升速状态定义为每隔ttl周期,报文发送速度呈指数增长的状态;
所述步长升速状态定义为当所述快速升速状态的报文发送速度达到设定的门限值时,每隔ttl周期,报文发送速度以设定的步长增长的状态;
所述降速状态定义为每隔ttl周期,报文发送速度固定等于V*b的状态;所述V表示从快速升速状态或步长升速状态跃迁至所述降速状态时的报文发送速度;所述b表示设定的降速因子,取值范围大于0小于1。
6、如权利要求1所述的方法,其特征在于,所述上游数据源模块根据接收的所述升速流控帧,提升其报文的发送速度,包括:
当所述上游数据源模块处于降速状态时,启动定时器,若在设定的时间内未收到升速流控帧,则自动跃迁至快速升速状态;
若在设定的时间内收到升速流控帧,则根据接收的升速流控帧,跃迁至快速升速状态,并在报文发送速度达到设定的门限值时,由快速升速状态跃迁至步长升速状态;
当所述上游数据源模块当前处于快速升速状态或者步长升速状态,丢弃所述升速流控帧。
7、一种基站控制器,其特征在于,包括:网络控制器模块和上游数据源模块;
所述网络控制器模块,用于将从所述上游数据源模块接收的报文放入相应的队列后,确定所述队列的缓存水平值是否达到预先设置的高门限值;若达到了所述高门限值,则构造降速流控帧并发送至所述上游数据源模块;以及从队列中调度出报文后,确定所述队列的缓存水平值是否达到预先设置的低门限值;若达到所述低门限值,则构造升速流控帧并发送至所述上游数据源模块;
所述上游数据源模块,用于根据接收的所述降速流控帧或升速流控帧,降低或者提升其向所述网络控制器模块发送报文的速度。
8、如权利要求7所述的方法,其特征在于,所述网络控制器模块,具体包括:
入队模块,用于从上游数据源模块接收的报文放入相应的队列后,确定所述队列的缓存水平值是否达到预先设置的高门限值;若达到了所述高门限值,则构造出降速流控帧;
调度模块,用于从队列中调度出报文后,确定所述队列的缓存水平值是否达到预先设置的低门限值;若达到了所述低门限值,则构造出升速流控帧;
协议栈模块,用于发送所述降速流控帧或所述升速流控帧至上游数据源模块。
9、如权利要求7所述的基站控制器,其特征在于,所述网络控制器模块,还包括配置模块,用于设置所述缓存水平值的低门限值和所述高门限值。
10、如权利要求8所述的基站控制器,其特征在于,所述入队模块,还用于根据接收的报文的端口号和队列号,将其对应的报文描述符放入队列中,所述报文描述符指示报文存放的地址和报文长度;
所述调度模块,还用于根据报文描述符指示的报文存放的地址,将报文调度至所述基站控制器的MAC缓存并向外发送。
11、如权利要求8所述的基站控制器,其特征在于,所述入队模块或所述调度模块发送降速流控帧或升速流控帧的方式,具体包括:
根据队列中各报文描述符对应的报文的队列号,在反向表中查找其对应的上游数据源模块索引,所述反向表中对应记录报文端口号、队列号与发送该报文的上游数据源模块的索引;
根据查询到的上游数据源模块的索引,向各上游数据源模块发送构造的降速流控帧或升速流控帧。
12、如权利要求8所述的基站控制器,其特征在于,所述上游数据源模块的工作状态包括:快速升速状态、步长升速状态或降速状态;
所述快速升速状态定义为每隔ttl周期,报文发送速度呈指数增长的状态;
所述步长升速状态定义为当所述快速升速状态的报文发送速度达到设定的门限值时,每隔ttl周期,报文发送速度以设定的步长增长的状态;
所述降速状态定义为每隔ttl周期,报文发送速度固定等于V*b的状态;所述V表示从快速升速状态或步长升速状态跃迁至所述降速状态时的报文发送速度;所述b表示设定的降速因子,取值范围大于0小于1。
13、如权利要求12所述的基站控制器,其特征在于,所述上游数据源模块,还用于当其处于快速升速状态或者步长升速状态时,根据接收的降速流控帧,跃迁至降速状态;当其处于降速状态时,丢弃所述降速流控帧;或者
当其处于降速状态时,启动定时器,若在设定的时间内未收到升速流控帧,则自动跃迁至快速升速状态;
若在设定的时间内收到升速流控帧,则根据接收的升速流控帧,跃迁至快速升速状态,并在报文发送速度达到设定的门限值时,由快速升速状态跃迁至步长升速状态;当其处于快速升速状态或者步长升速状态时,丢弃所述升速流控帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910162389.9A CN101621833B (zh) | 2009-08-13 | 2009-08-13 | 一种报文流量控制方法和基站控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910162389.9A CN101621833B (zh) | 2009-08-13 | 2009-08-13 | 一种报文流量控制方法和基站控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101621833A true CN101621833A (zh) | 2010-01-06 |
CN101621833B CN101621833B (zh) | 2012-05-09 |
Family
ID=41514801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910162389.9A Expired - Fee Related CN101621833B (zh) | 2009-08-13 | 2009-08-13 | 一种报文流量控制方法和基站控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101621833B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841486A (zh) * | 2010-06-01 | 2010-09-22 | 杭州华三通信技术有限公司 | 一种消息的传输方法和设备 |
CN101984594A (zh) * | 2010-10-25 | 2011-03-09 | 华为技术有限公司 | 交换网流量控制方法和装置 |
CN102893566A (zh) * | 2010-05-16 | 2013-01-23 | 阿尔特拉公司 | 用于实现非阻塞式基于优先级流控的方法和装置 |
CN103368861A (zh) * | 2013-07-30 | 2013-10-23 | 迈普通信技术股份有限公司 | 一种处理网络拥塞的系统及方法 |
CN103634226A (zh) * | 2012-08-20 | 2014-03-12 | 凌群电脑股份有限公司 | 自动调整数据吞吐量的运算模块及其方法 |
WO2015109807A1 (zh) * | 2014-01-24 | 2015-07-30 | 深圳市华宝电子科技有限公司 | 一种实时数据缓存方法及装置 |
CN104917688A (zh) * | 2014-03-12 | 2015-09-16 | 中国科学院声学研究所 | 一种流媒体网关的码率控制方法 |
CN107147584A (zh) * | 2017-05-12 | 2017-09-08 | 郑州云海信息技术有限公司 | 网络流量控制方法、存储设备和存储控制器 |
CN113098785A (zh) * | 2021-03-31 | 2021-07-09 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
WO2022022724A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 比特块的发送方法及装置 |
CN114039931A (zh) * | 2021-10-27 | 2022-02-11 | 浙江大华技术股份有限公司 | 一种控制数据传输的方法、装置、设备及介质 |
US11425051B2 (en) | 2017-05-31 | 2022-08-23 | Huawei Technologies Co., Ltd. | Flow control method and system, and device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708030A (zh) * | 2004-06-11 | 2005-12-14 | 华为技术有限公司 | 分组业务网络流量控制系统及其方法 |
CN101267382A (zh) * | 2007-03-13 | 2008-09-17 | 大唐移动通信设备有限公司 | 确定数据传输通道拥塞状态的方法及装置 |
-
2009
- 2009-08-13 CN CN200910162389.9A patent/CN101621833B/zh not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893566A (zh) * | 2010-05-16 | 2013-01-23 | 阿尔特拉公司 | 用于实现非阻塞式基于优先级流控的方法和装置 |
CN102893566B (zh) * | 2010-05-16 | 2016-08-03 | 阿尔特拉公司 | 用于实现非阻塞式基于优先级流控的方法和装置 |
CN101841486A (zh) * | 2010-06-01 | 2010-09-22 | 杭州华三通信技术有限公司 | 一种消息的传输方法和设备 |
CN101984594A (zh) * | 2010-10-25 | 2011-03-09 | 华为技术有限公司 | 交换网流量控制方法和装置 |
CN103634226A (zh) * | 2012-08-20 | 2014-03-12 | 凌群电脑股份有限公司 | 自动调整数据吞吐量的运算模块及其方法 |
CN103368861A (zh) * | 2013-07-30 | 2013-10-23 | 迈普通信技术股份有限公司 | 一种处理网络拥塞的系统及方法 |
WO2015109807A1 (zh) * | 2014-01-24 | 2015-07-30 | 深圳市华宝电子科技有限公司 | 一种实时数据缓存方法及装置 |
CN104917688A (zh) * | 2014-03-12 | 2015-09-16 | 中国科学院声学研究所 | 一种流媒体网关的码率控制方法 |
WO2015135349A1 (zh) * | 2014-03-12 | 2015-09-17 | 中国科学院声学研究所 | 一种流媒体网关的码率控制方法 |
CN107147584A (zh) * | 2017-05-12 | 2017-09-08 | 郑州云海信息技术有限公司 | 网络流量控制方法、存储设备和存储控制器 |
US11425051B2 (en) | 2017-05-31 | 2022-08-23 | Huawei Technologies Co., Ltd. | Flow control method and system, and device |
WO2022022724A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 比特块的发送方法及装置 |
CN113098785A (zh) * | 2021-03-31 | 2021-07-09 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN113098785B (zh) * | 2021-03-31 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
CN114039931A (zh) * | 2021-10-27 | 2022-02-11 | 浙江大华技术股份有限公司 | 一种控制数据传输的方法、装置、设备及介质 |
CN114039931B (zh) * | 2021-10-27 | 2024-04-02 | 浙江大华技术股份有限公司 | 一种控制数据传输的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101621833B (zh) | 2012-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101621833B (zh) | 一种报文流量控制方法和基站控制器 | |
US9277442B2 (en) | Multiple concurrent data link management | |
US8964619B2 (en) | Network assisted power management | |
RU2019134380A (ru) | Способы и системы для планирования ресурсов в телекоммуникационной системе | |
EP2445166B1 (en) | Method and device for controlling information channel flow | |
CN103428874A (zh) | 一种数据调度方法及装置 | |
CN102143596A (zh) | 一种无线资源调度方法和系统 | |
CN101500299A (zh) | 用户设备及不连续接收状态下的上行发送方法 | |
CN102647718A (zh) | 一种对VoIP业务进行混合资源分配的方法 | |
CN101258757A (zh) | 一种群组呼叫建立后的寻呼和迟后接入方法 | |
CN109586854A (zh) | 数据传输方法及装置 | |
WO2017091994A1 (zh) | 数据发送方法、装置和终端 | |
WO2008101434A1 (fr) | Terminal et procédé d'accès à un réseau de communication sans fil et système de communication sans fil correspondant | |
CN103959885A (zh) | 一种调度方法及基站 | |
CN102957626A (zh) | 一种报文转发方法和装置 | |
CN103442415A (zh) | 一种发送数据的方法及一种移动终端 | |
CN104244430B (zh) | 快速调度方法 | |
EP2477366B1 (en) | Data transmission method, apparatus and system | |
CN101742701A (zh) | 处理at命令的装置、方法及系统 | |
CN110191448A (zh) | 一种WiFi、BLE协同工作方法及相关组件 | |
CN102333026A (zh) | 报文转发方法及装置 | |
CN101626593A (zh) | 一种cdma业务信道的控制方法、系统及终端 | |
EP2169986B1 (en) | Controlling the transmission timing of a multicast packet | |
CN103582149A (zh) | Volte的资源调度方法及装置 | |
CN101491134A (zh) | 在多个状态之间进行转换的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120509 Termination date: 20190813 |