CN111654886A - 一种限制用户带宽的方法和装置 - Google Patents
一种限制用户带宽的方法和装置 Download PDFInfo
- Publication number
- CN111654886A CN111654886A CN202010464215.4A CN202010464215A CN111654886A CN 111654886 A CN111654886 A CN 111654886A CN 202010464215 A CN202010464215 A CN 202010464215A CN 111654886 A CN111654886 A CN 111654886A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- block ram
- message
- value
- sdram
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
Abstract
本说明书提供一种限制用户带宽的方法和装置,该方法中,将Block RAM和SDRAM相结合,通过Block RAM暂时存储指定周期内的统计数据,在指定周期结束时把Block RAM内统计数据读出,累加到SDRAM中,并清空Block RAM的统计数据,从而实现数据转移。通过这一方法,一个指定周期只需要对SDRAM进行一次读写操作,能够获得处理快速、统计容量大并且节约存储资源的效果。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种限制用户带宽的方法和装置。
背景技术
随着网络通信技术的不断发展,对于支持多用户的通信设备来说,控制各用户的使用带宽成为了必然需求。为了使系统的带宽限制功能保证准确高效,需要依赖精确实时的统计机制。在各种存储器件中,SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器)由于其容量大、价格低的特点而备受青睐。如果完全依赖SDRAM来存储统计数据的话,每一组数据需要进行两次访问操作,一次是获取原始统计值的读操作,一次是记录新统计值的写操作,这样,SDRAM内部结构特性会因为频繁的读写命令交织而加大响应操作命令的时延,降低命令的处理能力。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种限制用户带宽的方法和装置。
根据本说明书实施例的第一方面,提供一种限制用户带宽的方法,应用于集成有Block RAM的FPGA,所述FPGA连接SDRAM,所述SDRAM用于记录报文长度的统计值,所述BlockRAM用于记录指定周期内的报文长度的统计值,所述方法包括:
在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM已记录的统计值进行累加,并利用累加结果更新所述Block RAM已记录的统计值;
在所述指定周期结束时,将Block RAM当前的统计值与所述SDRAM已记录的统计值累加后写入所述SDRAM,并将Block RAM当前的统计值清除。
在某些例子中,上述Block RAM还用于记录带宽余量;上述方法还包括:
在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文。
在某些例子中,上述方法还包括:
在所述报文通过后,更新所述Block RAM内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;
在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
在某些例子中,上述预设阈值基于用户的可用带宽确定。
在某些例子中,各指定周期对应的预设阈值相同。
在某些例子中,上述带宽余量以二进制的比特位形式记录,所述比特位中包括正/负标志的比特位。
根据本说明书实施例的第二方面,提供一种限制用户带宽的装置,所述装置包括SDRAM和集成有Block RAM的FPGA,所述SDRAM和所述FPGA相连;其中:
所述SDRAM用于记录报文长度的统计值;
所述FPGA用于通过Block RAM记录指定周期内的报文长度的统计值,以及在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM已记录的统计值进行累加,并利用累加结果更新所述Block RAM已记录的统计值;
在所述指定周期结束时,将Block RAM当前的统计值与所述SDRAM已记录的统计值累加后写入所述SDRAM,并将Block RAM当前的统计值清除。
在某些例子中,上述FPGA还用于通过Block RAM记录带宽余量,以及在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文。
在某些例子中,上述FPGA还用于在所述报文通过后,更新所述Block RAM内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;
在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
在某些例子中,上述带宽余量以二进制的比特位形式记录,所述比特位中包括正/负标志的比特位。本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,公开了一种限制用户带宽的方法和装置,该方法中,将BlockRAM和SDRAM相结合,通过BRAM暂时存储指定周期内的统计数据,在指定周期结束时把BlockRAM内统计数据读出,累加到SDRAM中,并清空Block RAM的统计数据,从而实现数据转移。通过这一方法,一个指定周期只需要对SDRAM进行一次读写操作,能够获得处理快速、统计容量大并且节约存储资源的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书根据一示例性实施例示出的一种限制用户带宽的方法的流程图;
图2是本说明书根据一示例性实施例示出的一种限制用户带宽的装置工作流程的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着网络通信技术的不断发展,网络游戏、远程办公、网络电视等形式的出现对带宽提成了更加高的要求,对于支持多用户的通信设备来说,如果不限制带宽,可能某用户的一个程序就占用了所有的网络带宽,因此,控制各用户的使用带宽是重要需求。
带宽的应用领域非常多,可用来标识信号传输的数据传输能力、标识单位时间内通过链路的数据量、标识显示器的显示能力。在网络领域,带宽是指在单位时间内能传输的数据量,一般用bit/s(比特/秒),或bps(bits per second,比特每秒)来表示。由于单位时间一般指的是1秒钟,因此描述时常常把“比特/秒”省略,比如,带宽是1M,实际上是1Mbps,这里的Mbps是指兆位/秒。
为了使系统的带宽限制功能保证准确高效,必须设计合理高效的统计机制和阻断机制,统计机制可以用于统计用户已使用的带宽,而阻断机制可以用于在用户已使用的带宽达到限制时,阻断该用户的报文,阻断的方式可以包括丢弃该报文。可以看出,阻断机制需要依赖精确实时的统计机制。在各种存储器件中,SDRAM(Synchronous Dynamic RandomAccess Memory,同步动态随机存储器)由于其容量大、价格低的特点而备受青睐。在完全依赖SDRAM来存储统计数据的方案中,当有报文输入时,会读取当前SDRAM存储的统计数据,判断是否大于阈值,是则阻断该报文,否则允许该报文通过,并且在报文通过后,在SDRAM中写入新的统计数据。也就是说,每一组数据需要进行两次访问操作,一次是获取原始统计值的读操作,一次是记录新统计值的写操作,这样,SDRAM内部结构特性会因为频繁的读写命令交织而加大响应操作命令的时延,降低命令的处理能力。
相关技术中针对上述方法进行了改进,优化后的方法是:在读写操作前添加去冗余模块,这个去冗余模块用于在SDRAM的响应时间内将相同的数据累积,再一次性写入SDRAM,从而减少访问次数。然而,这种方法在面对需要逐包进行判断的带宽限制功能时无法保证精确度。
本说明书提供一种将Block RAM和SDRAM相结合,用以限制用户带宽的方法,通过Block RAM暂时存储预设周期内的统计数据,在周期结束时把Block RAM内统计数据读出,累加到SDRAM中,并清空Block RAM的统计数据,从而实现数据转移。通过这一方法,一个预设周期只需要对SDRAM进行一次读写操作,能够获得处理快速、统计容量大并且节约存储资源的效果。
在通信领域,FPGA、Block RAM和SDRAM的概念如下所示:
FPGA(Field Programmable Gate Array,现场可编程门阵列),是在PAL、GAL等可编程器件的基础上进一步发展的产物,是作为专用集成电路(Application SpecificIntegrated Circuit,ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。开发人员可以根据需要,通过可编辑的连接把FPGA内部的逻辑块连接起来,从而完成其所需要的逻辑功能。
Block RAM(Block Random Access Memory,块随机存储器),是FPGA内的一种固定资源,存取速度快,但是容量较小。
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器),是有一个同步接口的动态随机存取内存,在响应控制输入前会等待一个时钟信号,这样就能和计算机的系统总线同步,具有容量大、价格低的特点。
接下来对本说明书实施例进行详细说明。
如图1所示,图1是本说明书根据一示例性实施例示出的一种限制用户带宽的方法的流程图。所述方法应用于集成有Block RAM的FPGA,所述FPGA连接SDRAM,所述SDRAM用于记录报文长度统计值,所述Block RAM用于记录指定周期内的报文长度的统计值。
所述方法包括:
在步骤101、在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM已记录的统计值进行累加,并利用累加结果更新所述Block RAM已记录的统计值;
通常来说,在控制用户的使用带宽时,统计的是单位时间内通过的用户报文的总长度。可以理解的,报文是网络中交换与传输的数据单元,也是网络传输的单元,包含了将要发送的完整的数据信息,一般用字节(Byte)作为单位,1字节可换算成8比特,在本说明书中,报文长度与带宽之间的运算是先换算成统一的单位的,这一点之后不再赘述。本步骤是指,将一个单位时间划分为多个指定周期,通过Block RAM暂时存储一个指定周期内的统计数据。这里的指定周期可以根据需求进行设置,可以是10ms、20ms、500ms等。例如,BlockRAM当前已记录的统计值为100比特,当长度为4字节的报文通过时,将该报文的长度与Block RAM已记录的统计值进行累加,则累加后Block RAM记录的统计值为132比特。
在步骤102、在所述指定周期结束时,将Block RAM当前的统计值与所述SDRAM已记录的统计值累加后写入所述SDRAM,并将Block RAM当前的统计值清除。
本步骤是指:在指定周期的结束时刻,读出Block RAM内的统计值以及读出SDRAM内的统计值,将两个统计值进行累加后写入SDRAM,并将Block RAM内的统计值清除。可以看出,针对一条限速策略,一个指定周期内只需要对SDRAM进行一次读写操作,也就是说,减少了SDRAM的访问次数,而且,由于Block RAM每次只需要存储一个指定周期内的统计数据,因此,减少了使用Block RAM资源,避免造成该资源紧张的情况。
不同于相关技术中完全依赖SDRAM来存储统计数据,本说明书实施例的方法采用SDRAM和Block RAM配合存储,由Block RAM作为第一级的存储,再由SDRAM作为第二级的存储,减少了SDRAM的访问次数,并且在保证了处理快速、处理容量大的同时,也节约了FPGA内部存储资源。
可以理解的,在得到统计值之后,可以根据该统计值设置阻断机制,比如,通过设置阈值的方法,当有报文输入时,读取当前SDRAM存储的统计值,判断该统计值是否大于阈值,是则阻断该报文,否则允许该报文通过。当然,也可以根据具体场景的需求设置其他不同的阻断机制,本说明书对此不作限制。
为了实现逐包判断限制,在某些例子中,所述Block RAM还用于记录带宽余量;所述方法还包括:在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文。
一个实施例中,对于带宽余量的更新机制可以是:在所述报文通过后,更新所述Block RAM内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
前面提到的带宽余量实际上是指允许通过的流量,每通过一个报文,带宽余量会相应地减去该报文长度,因此,通过判定带宽余量是否大于零可以确定是否达到带宽限制。在每个指定周期的结束时刻,为剩余的带宽余量补充预设阈值,比如在当前指定周期结束时,原本的带宽余量为0.1M,补充预设阈值为1M之后,则带宽余量更新为1.1M,即下一指定周期开始时的带宽余量的初始值为1.1M。
在某些例子中,这里的预设阈值可以基于用户的可用带宽确定。用户的可用带宽是针对该用户的限速策略,对于支持多用户的设备来说,可以对接入的用户设置不同的限速策略,比如单位时间内,用户A的可用带宽设置为50M,用户B的可用带宽设置为30M,由于用户的可用带宽的不同,预设阈值相应的也有所不同。在某些例子中,各指定周期对应的预设阈值相同,也就是说,将用户的可用带宽平均分配到各指定周期对应的预设阈值上,比如,用户A的可用带宽为50M,针对用户A的指定周期为20ms,即将一个单位时间1s划分为50个指定周期,则每个指定周期对应的预设阈值为1M。这样,可以对报文逐包处理来实现带宽限制的功能,保证了精确度,同时以定时定量补充余量的方式,实现用户带宽的平稳控制。
在实际网络中,流量波动频繁,为应对这种流量突发波动较大的情况,前面提到的带宽余量可以二进制的比特位形式记录,所述比特位中包括正/负标志的比特位。也就是说,Block RAM内记录的带宽余量允许出现负数的情况,比如当前Block RAM内记录的带宽余量为0.02M,则有一个报文长度为0.03M的报文输入时,允许该报文通过,并更新BlockRAM内记录的带宽余量为-0.01M,则下一个输入的报文会被阻断,直至指定周期结束时,补充预设阈值1M,此时Block RAN内记录的带宽余量为0.99M。这样,可以适应流量短时突发的网络环境。
与前面方法的实施例相对应的,本说明书还提供了限制用户带宽的装置。所述装置包括SDRAM和集成有Block RAM的FPGA,所述SDRAM和所述FPGA相连,其中:
所述SDRAM用于记录报文长度的统计值;
所述FPGA用于通过Block RAM记录指定周期内的报文长度的统计值,以及在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM已记录的统计值进行累加,并利用累加结果更新所述Block RAM已记录的统计值;
在所述指定周期结束时,将Block RAM当前的统计值与所述SDRAM已记录的统计值累加后写入所述SDRAM,并将Block RAM当前的统计值清除。
在一个实施例中,上述FPGA还用于通过Block RAM记录带宽余量,以及在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文。
在一个较优实施例中,上述FPGA还用于在所述报文通过后,更新所述Block RAM内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;
在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
在一个较优实施例中,带宽余量以二进制的比特位形式记录,所述比特位中包括正/负标志的比特位。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可,在此不再赘述。
为方便理解,接下来以一应用实例进行说明:
如图2所示,图2是本说明书根据一示例性实施例示出的一种限制用户带宽的装置工作流程的示意图,所述装置包括SDRAM 23和集成有Block RAM 22的FPGA 21,所述SDRAM23和所述FPGA21相连,其中:
所述SDRAM 23用于记录报文长度的统计值;
所述FPGA21用于通过Block RAM 22记录指定周期内的报文长度的统计值,以及在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM 22已记录的统计值进行累加,并利用累加结果更新所述Block RAM 22已记录的统计值;
在所述指定周期结束时,将Block RAM 22当前的统计值与所述SDRAM 23已记录的统计值累加后写入所述SDRAM 23,并将Block RAM 22当前的统计值清除;
所述FPGA 21还用于通过Block RAM 22记录带宽余量,以及在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文;
在所述报文通过后,更新所述Block RAM 22内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;
在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
本说明书实施例的装置在应用过程中的工作流程包括:S201、Block RAM 22记录带宽余量和指定周期内的报文长度的统计值,SDRAM 23记录报文长度的统计值;
S202、判断当前指定周期是否到达结束时刻,是则执行S209;否则执行S203;
S203、检测到有报文输入,执行S204;
S204、读取Block RAM 22中记录的带宽余量(执行对Block RAM 22的读操作221),并进入S205;
S205、判断该带宽余量是否大于零,是则执行步骤206;否则执行步骤207;
S206、允许该报文通过,并执行S208;
S207、阻断该报文;
S208、将该报文的长度与Block RAM 22已记录的统计值进行累加,并更新BlockRAM 22记录的带宽余量,更新后的带宽余量为更新前记录的带宽余量减去该报文的长度(执行对Block RAM 22的写操作222);
S209、读取Block RAM 22内记录的统计值(执行对Block RAM 22的读操作223)和SDRAM 23内记录的统计值(执行对SDRAM 23的读操作224),进行累加计算,并将累加后的值写入SDRAM 23(执行对SDRAM 23的写操作225),并将Block RAM 22当前的统计值清除(执行对Block RAM 22的写操作226);
S210、将Block RAM 22记录的带宽余量与预设阈值进行累加,并将下一指定周期内的带宽余量的初始值设置为累加后的值,下一指定周期内的工作流程同样按照S201~S210进行。
本说明书实施例的装置,利用了FPGA善于并行处理的特性,清晰地界定各个处理流程,实现整体的流水操作;通过Block RAM和SDRAM结合,既保证了统计数据的容量,也节约了FPGA内部存储资源。因此,可以满足高性能的带宽限制系统的需求。
可以理解的,本说明书旨在实现支持多用户的设备控制各用户的使用带宽的问题。本说明书实施例的装置应用于支持多用户的设备形成带宽限制系统,可以对接入该系统的各用户设置不同的限速策略。当报文输入时,系统首先识别出该报文的来源,然后根据该来源对应的用户的限速策略来进行处理。以接入该系统的用户包括用户A和用户B为例,设置单位时间1s内用户A的可用带宽为50M,用户B的可用带宽为30M,假定系统中的指定周期均为20ms。那么,当用户A的报文输入时,系统会读取Block RAM中记录的针对用户A的带宽余量,从而判断是否允许该报文通过;在允许该报文通过时,系统会更新BlockRAM中记录的针对用户A的带宽余量和统计值,更新后的带宽余量为更新前的带宽余量减去报文长度,更新后的统计值为更新前的统计值加上报文长度;在计时器到20ms,即该指定周期结束时,系统读取Block RAM内记录的统计值和SDRAM内记录的统计值,累加计算后写入SDRAM,并将Block RAM的当前统计值清零,同时,将预设阈值补充到Block RAM的带宽余量中,此处用户A的预设阈值为1M,用户B的预设阈值为0.6M,用户A的预设阈值补充到Block RAM记录的针对用户A的带宽余量中,同理用户B的预设阈值补充到Block RAM记录的针对用户B的带宽余量中。如此,可以实现对用户A和用户B的使用带宽的精确控制。而针对新增的用户,只需要增加一条针对该新增用户的限速策略即可,具有合理高效的效果。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种限制用户带宽的方法,其特征在于,应用于集成有Block RAM的FPGA,所述FPGA连接SDRAM,所述SDRAM用于记录报文长度的统计值,所述Block RAM用于记录指定周期内的报文长度的统计值,所述方法包括:
在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM已记录的统计值进行累加,并利用累加结果更新所述Block RAM已记录的统计值;
在所述指定周期结束时,将Block RAM当前的统计值与所述SDRAM已记录的统计值累加后写入所述SDRAM,并将Block RAM当前的统计值清除。
2.根据权利要求1所述的方法,其特征在于,所述Block RAM还用于记录带宽余量;所述方法还包括:
在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述报文通过后,更新所述Block RAM内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;
在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
4.根据权利要求3所述的方法,其特征在于,所述预设阈值基于用户的可用带宽确定。
5.根据权利要求4所述的方法,其特征在于,各指定周期对应的预设阈值相同。
6.根据权利要求2所述的方法,其特征在于,所述带宽余量以二进制的比特位形式记录,所述比特位中包括正/负标志的比特位。
7.一种限制用户带宽的装置,其特征在于,所述装置包括SDRAM和集成有Block RAM的FPGA,所述SDRAM和所述FPGA相连;其中:
所述SDRAM用于记录报文长度的统计值;
所述FPGA用于通过Block RAM记录指定周期内的报文长度的统计值,以及在一个指定周期内,当报文通过时,将所述报文的长度与该周期内Block RAM已记录的统计值进行累加,并利用累加结果更新所述Block RAM已记录的统计值;
在所述指定周期结束时,将Block RAM当前的统计值与所述SDRAM已记录的统计值累加后写入所述SDRAM,并将Block RAM当前的统计值清除。
8.根据权利要求7所述的装置,其特征在于,所述FPGA还用于通过Block RAM记录带宽余量,以及在一个指定周期内,当检测到报文时,如果所述带宽余量大于零,则允许所述报文通过,否则阻断所述报文。
9.根据权利要求8所述的装置,其特征在于,所述FPGA还用于:
在所述报文通过后,更新所述Block RAM内记录的带宽余量;其中,更新后的带宽余量为所述带宽余量减去所述报文的长度;
在所述指定周期结束时,将当前的带宽余量与预设阈值进行累加,并将下一指定周期内所述带宽余量的初始值设置为累加后的值。
10.根据权利要求8所述的装置,其特征在于,所述带宽余量以二进制的比特位形式记录,所述比特位中包括正/负标志的比特位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010464215.4A CN111654886B (zh) | 2020-05-27 | 2020-05-27 | 一种限制用户带宽的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010464215.4A CN111654886B (zh) | 2020-05-27 | 2020-05-27 | 一种限制用户带宽的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654886A true CN111654886A (zh) | 2020-09-11 |
CN111654886B CN111654886B (zh) | 2023-06-27 |
Family
ID=72344656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010464215.4A Active CN111654886B (zh) | 2020-05-27 | 2020-05-27 | 一种限制用户带宽的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111654886B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981594A (zh) * | 2023-03-20 | 2023-04-18 | 国仪量子(合肥)技术有限公司 | 数据累加处理方法、装置、fpga芯片和介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1470996A (zh) * | 2002-07-23 | 2004-01-28 | 华为技术有限公司 | 外部存储器sdram读写处理方法 |
US20050213571A1 (en) * | 2004-03-29 | 2005-09-29 | Zarlink Semiconductor Inc. | Compact packet switching node storage architecture employing double data rate synchronous dynamic RAM |
CN101599294A (zh) * | 2009-05-11 | 2009-12-09 | 曙光信息产业(北京)有限公司 | 一种基于fpga的多虚拟队列数据存储的方法 |
CN101661429A (zh) * | 2009-08-18 | 2010-03-03 | 中兴通讯股份有限公司 | 一种统计信息的存储方法及设备 |
CN101848135A (zh) * | 2009-03-24 | 2010-09-29 | 华为技术有限公司 | 芯片的统计数据的管理方法和装置 |
US20120163392A1 (en) * | 2010-12-23 | 2012-06-28 | Electronics And Telecommunications Research Institute | Packet processing apparatus and method |
WO2012109911A1 (zh) * | 2011-02-15 | 2012-08-23 | 中兴通讯股份有限公司 | 网络流量监管方法及装置 |
CN104580005A (zh) * | 2015-01-13 | 2015-04-29 | 天津市德力电子仪器有限公司 | 一种精确按照流量模型发送随机长度报文的方法 |
CN105119768A (zh) * | 2015-06-26 | 2015-12-02 | 华为技术有限公司 | 一种现场可编程门阵列fpga及数据存储方法 |
US20160274816A1 (en) * | 2015-03-17 | 2016-09-22 | Gowin Semiconductor Corporation, Ltd. | Programmable Logic Device With On-Chip User Non-Volatile Memory |
CN206557767U (zh) * | 2016-11-11 | 2017-10-13 | 北京润科通用技术有限公司 | 一种基于乒乓操作结构控制数据缓存的缓存系统 |
-
2020
- 2020-05-27 CN CN202010464215.4A patent/CN111654886B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1470996A (zh) * | 2002-07-23 | 2004-01-28 | 华为技术有限公司 | 外部存储器sdram读写处理方法 |
US20050213571A1 (en) * | 2004-03-29 | 2005-09-29 | Zarlink Semiconductor Inc. | Compact packet switching node storage architecture employing double data rate synchronous dynamic RAM |
CN101848135A (zh) * | 2009-03-24 | 2010-09-29 | 华为技术有限公司 | 芯片的统计数据的管理方法和装置 |
CN101599294A (zh) * | 2009-05-11 | 2009-12-09 | 曙光信息产业(北京)有限公司 | 一种基于fpga的多虚拟队列数据存储的方法 |
CN101661429A (zh) * | 2009-08-18 | 2010-03-03 | 中兴通讯股份有限公司 | 一种统计信息的存储方法及设备 |
US20120163392A1 (en) * | 2010-12-23 | 2012-06-28 | Electronics And Telecommunications Research Institute | Packet processing apparatus and method |
WO2012109911A1 (zh) * | 2011-02-15 | 2012-08-23 | 中兴通讯股份有限公司 | 网络流量监管方法及装置 |
CN104580005A (zh) * | 2015-01-13 | 2015-04-29 | 天津市德力电子仪器有限公司 | 一种精确按照流量模型发送随机长度报文的方法 |
US20160274816A1 (en) * | 2015-03-17 | 2016-09-22 | Gowin Semiconductor Corporation, Ltd. | Programmable Logic Device With On-Chip User Non-Volatile Memory |
CN105119768A (zh) * | 2015-06-26 | 2015-12-02 | 华为技术有限公司 | 一种现场可编程门阵列fpga及数据存储方法 |
CN206557767U (zh) * | 2016-11-11 | 2017-10-13 | 北京润科通用技术有限公司 | 一种基于乒乓操作结构控制数据缓存的缓存系统 |
Non-Patent Citations (1)
Title |
---|
王鹏等: "基于三级存储阵列缓存高速数据包及性能分析", 《软件学报》, no. 12, pages 157 - 165 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115981594A (zh) * | 2023-03-20 | 2023-04-18 | 国仪量子(合肥)技术有限公司 | 数据累加处理方法、装置、fpga芯片和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111654886B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110995616B (zh) | 一种大流量服务器的管理方法、设备及可读介质 | |
US9215174B2 (en) | Oversubscription buffer management | |
CN105100876A (zh) | 一种流媒体的播放方法及装置 | |
KR20060129873A (ko) | 휴대단말기의 메모리 정리 방법 | |
CN102395958B (zh) | 一种数据包的并发处理方法及设备 | |
CN111107017A (zh) | 一种交换机报文拥塞的处理方法、设备以及存储介质 | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
CN112433881A (zh) | 一种分布式存储系统的数据恢复方法和装置 | |
CN114296681A (zh) | 一种流量控制方法、装置及其介质 | |
US8717891B2 (en) | Shaping apparatus and method | |
CN111654886B (zh) | 一种限制用户带宽的方法和装置 | |
CN105335323A (zh) | 一种数据突发的缓存装置和方法 | |
CN102882805A (zh) | 避免链路聚合组状态震荡的方法及装置 | |
CN103336670A (zh) | 一种基于数据温度对数据块自动进行分布的方法和装置 | |
US20140201458A1 (en) | Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows | |
CN110069457A (zh) | 一种基于分布式文件存储系统中过期文件删除方法及系统 | |
CN102739531B (zh) | 流量整形方法和流量整形设备 | |
CN103442091A (zh) | 一种数据传输方法及装置 | |
CN100493000C (zh) | 一种实现多逻辑通道计数的方法和装置 | |
CN109032503B (zh) | 一种固态硬盘数据迁移带宽的流控方法及装置 | |
CN111131066A (zh) | 一种流量整形方法及装置 | |
CN117499351A (zh) | 报文转发装置及方法、通信芯片及网络设备 | |
CN114095386B (zh) | 一种数据流统计方法、设备及存储介质 | |
CN112367384B (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
CN112073325B (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 |