数据传输的流量控制方法

文档序号:7846635阅读:1489来源:国知局
专利名称:数据传输的流量控制方法
技术领域
本发明涉及一种在流量控制的方法,更具体来说,涉及一种在可编程逻辑设计中的流量控制方法。
本领域的普通技术人员都知道FIFO的大小从另一个方面也直接影响到了资源的利用率。FIFO越大,其资源的消耗也越大。从节约资源的角度考虑,FIFO越小越好;而从传输数据报文的可靠性角度考虑,FIFO则是越大越好。这两方面的矛盾使得流量控制中的FIFO的设计和使用难于把握和控制。而实际上,数据传送过程中的下行设备往往自身都具有缓存的功能,可以直接被加以利用。基于这个现状,本发明考虑取消数据传输过程中的FIFO,而利用下行设备自身的存储功能。这样的做法在满足了实现流量控制的前提下,又可以在最大程度上实现节省资源的目的。
本流量控制方法易于实施和操作,只需在一个接口上对输入或输出的传输率进行控制。当数据流量达到或超过某个预先设定的限流率时,多余的数据包将被丢弃,其中限流率可以根据传输中总的数据包通讯量设定。限流机制是可以串行控制的,数据包可以被连续的执行不同的限流率,在一个接口上可以构造超过20种不同的限流率。本方法适用范围广泛,可以运用在网络交换机上,也可以用在网络服务器上进行流量控制,还可以用在输入输出的接口以及路由器的接口上。
为了达到上述目的,设计了一种数据传输的流量控制方法,所述方法包括如下步骤上行数据传输设备将数据包发送到一FIFO或RAM中缓存;所述FIFO/RAM在一个接口上控制输入的传输率,当数据流量达到或超过某个预先设定的限流率时,多余的数据包将会被丢弃;
同时,所述FIFO/RAM控制其输出传输率,以符合下行接收设备的需要;其中,所述FIFO/RAM中设有一时间标尺,参照该标尺统计数据流量,当数据流量大于某个预先设定的数值时,在此时间段后进入的数据包将会被丢弃,通过所述统计、丢弃的方法以实现流量控制。
所述FIFO/RAM是下行接收设备自身具备的FIFO/RAM,而并非额外的硬件资源。
考虑到在系统中大部分设备自身带有缓冲存储器,所以本发明在实现流控时,首先设计一个时间标尺,该标尺长度可以根据下行设备的缓存能力来确定,参照所述标尺统计数据流量。当然,这种流量统计可以根据数据类型进行分类统计,这样就可以实现分类流控。数据流量大于预先设定的数值也包括多种情况,一是数据包数大于预先设定的数值,另一种是数据包的有效字节数大于预先设定的字节数。在此时间段后进入的数据包将会被丢弃掉。
实施本发明,在通过时标统计的方法实现了流量控制的同时,节省了用于缓存的资源,从而降低了设计成本。
本发明是由FPGA逻辑来实现的。可以根据需要,对数据包进行分类处理,即对不同类型的数据报文采用不同的优先级,分别进行统计、分析、处理。对其中的每一类数据报文,可以分别采用下面的一种方法来处理。
在图2中,当时间标尺计数器为零时,对输入数据和输出数据统计计数器进行清零,同时开始新的统计。因为设定了在时间T内输出3个数据包——该值是预先设定的,可以根据下行设备的处理能力,设定不同的数值——所以,在这个时标内输入的第4之后的数据包时会被丢弃掉,从而实现了限流、流控的目的。
在图3所示的另一个实施例中,对数据的统计不是以数据包的个数为参考,而是统计数据的字节数。因为设定了在时间T内输出n个字节的数据——该值是预先设定的,可以根据下行设备的处理能力,设定不同的数值,在此假设n1+n2<n<n1+n2+n3——因此,当第3个数据包输出结束时,输出字节已经超出了设定的数值n,而在这个时标内输入的第4之后的数据包将被丢弃掉。同时,在逻辑中还设定了最后通过的数据包的最大值,当最后通过的一个数据包的长度大于这个设定值时,将这个数据包中止输出,同时置错误标志,这样就防止了因为最后一个数据包的超长对下行设备的影响。
以上的两种限流方法都避免了使用大容量的FIFO的机制,从而节省了资源,降低了成本。
根据以上的描述,本领域的普通技术人员已经可以容易的实施本发明所述的方法。当然,上述发明可以在其它的特殊形式中得到具体实施,且并不背离所揭示的精髓或根本特征。因此可以理解,本发明不应被前面说明性的细节所限定。
在说明书中的任何参考符号并不限制本发明的保护范围。“包括”一词不排除本发明所列之外的其它组件的出现。在组件或单元之前的“一个”不排除多个这种组件或单元的存在。
权利要求
1.一种数据传输的流量控制方法,所述方法包括如下步骤上行数据传输设备将数据包发送到一FIFO或RAM中缓存;所述FIFO/RAM在一个接口上控制输入的传输率,当数据流量达到或超过预先设定的限流率时,多余的数据包将会被丢弃;同时,所述FIFO/RAM控制其输出传输率,以符合下行接收设备的需要;其中,所述FIFO/RAM的输入端设有一时间标尺,参照该标尺统计数据流量,当数据流量大于预先设定的数值时,在此时间段后进入的数据包将会被丢弃,通过所述统计、丢弃的方法以实现流量控制;所述FIFO/RAM是下行接收设备自身具备的FIFO/RAM,而并非额外的硬件资源。
2.如权利要求1所述的方法,其特征在于,所述时间标尺的长度可以根据下行设备的缓存能力来确定。
3.如权利要求2所述的方法,其特征在于,统计数据流量时可以根据数据类型进行分类统计,以实现分类流控。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述当数据流量大于预先设定的数值是指数据包数大于预先设定的数值。
5.如权利要求1-3中任一项所述的方法,其特征在于,所述当数据流量大于预先设定的数值是指数据包的有效字节数大于预先设定的字节数。
6.如权利要求1所述的方法,其特征在于,所述限流方法是串行控制的,数据包可以被连续的执行不同的限流率,并可以在一个接口上构造数种不同的限流率。
全文摘要
本发明涉及一种数据传输的流量控制方法,由上行数据传输设备将数据包发送到一下行接收设备自身具备的FIFO或RAM中缓存;FIFO/RAM在一个接口上控制输入的传输率,输入端设有一时间标尺,参照该标尺统计数据流量,当数据流量达到或超过预先设定的限流率时,多余的数据包将会被丢弃;同时,FIFO/RAM控制其输出传输率,以符合下行接收设备的需要。实现了流量控制的同时,节省了用于缓存的资源,从而降低了设计成本。可广泛应用于数据传输和通信领域。
文档编号H04L12/08GK1449156SQ03109558
公开日2003年10月15日 申请日期2003年4月14日 优先权日2003年4月14日
发明者周恩松, 郝迁, 邓晓林 申请人:北京港湾网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1