CN112104667B - 一种流量控制方法、装置及系统 - Google Patents
一种流量控制方法、装置及系统 Download PDFInfo
- Publication number
- CN112104667B CN112104667B CN202011236009.4A CN202011236009A CN112104667B CN 112104667 B CN112104667 B CN 112104667B CN 202011236009 A CN202011236009 A CN 202011236009A CN 112104667 B CN112104667 B CN 112104667B
- Authority
- CN
- China
- Prior art keywords
- message
- input
- flow
- value
- memory
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/722—Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量控制方法、装置及系统。方法包括,在当前时间域内,解析输入报文,获取每个输入报文长度值;读取内部寄存器中关于存储器的缓存报文信息;根据每个输入报文长度值与缓存报文信息,获取输入总流量值;若输入总流量值小于预设的流量阀寄存器值,则判断存储器中是否有报文存储,若存储器中存储了报文,则取出存储报文并与后续输入流量一起输出至服务器,同时更新缓存报文信息中的报文读取的起始地址与预读取首报文长度值;若大于或等于流量阀寄存器值,则将后续输入流量存入存储器中,同时更新缓存报文信息中的报文存入结束地址。本发明具有无需增加服务器和复杂操作,通过牺牲部分报文的时效性,保持报文的完整的有益效果。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及一种流量控制方法、装置及系统。
背景技术
随着传输链路速率的不断提升,网络流量的不断增长,流量的传输往往不是均匀的,存在突发的情况。即在某一时间段内流量达到一个高的峰值,但下一时间段内流量又下降到较低点,起伏变化较大。巨大的突发流量经常超过后端服务器的存储空间和处理能力,导致服务器丢弃部分报文。因此前端设备除了能够完成对流量的汇聚、分流之外,如果能够实时监测突发流量,并将突发流量缓存、整形后平缓的输出,确保不超过后端服务器的处理能力。
现有的突发数据流量处理方法主要有:
后端服务器预留处理能力。让单个服务器处理能力占空比不超过服务器实际最大处理能力的某个阈值,并将输入流量尽可能平均分配给多个服务器,以减少每个服务器端口的输入流量。但是这也意味着需要增加传输线路和后端服务器数量,建设和维护成本都会相应提高;
流控拥塞机制。拥塞机制控制丢弃优先级低的报文,可以保证优先级高的报文不会被丢弃,但是依然不能保证所有报文流的完整性。
因此,提供一种无需增加传输线路和后端服务器数量,也能保证报文流完整的流量控制方法、装置及系统是本领域技术人员亟待解决的问题。
发明内容
当出现流量突发的情况,突发流量可能会均匀地分配给所有服务器,也可能不均匀地分配给部分服务器,但是阈值的设置会确保突发流量不会超过单个服务器的处理能力而导致丢包。
基于上述原因,本发明的目的在于提供一种流量控制方法、装置及系统,用于解决现有方法中服务器的端口存储空间非常有限,无法应对突发流量的临时存储要求,该方法无需增加传输线路和后端服务器数量,能保证报文流完整性。
为解决上述技术问题,本发明采用以下技术方案:
解析输入报文,获取每个输入报文长度值;
读取内部寄存器中关于存储器的缓存报文信息;
根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值;
若当前时间域内所述总流量值小于所述预设的流量阀寄存器值,则判断存储器中是否有报文存储,若所述存储器中存储了报文,则取出所述存储器中存储报文并与后续输入流量一起输出至服务器,同时更新所述缓存报文信息中的报文读出的起始地址与预读取首报文长度值;
若当前时间域内所述总流量值大于或等于所述预设的流量阀寄存器值,则所述后续输入流量缓存入所述存储器,同时更新所述缓存报文信息中的报文存入结束地址;
其中,所述流量阀寄存器值根据后级服务器处理能力限制进行预设。
优选地,步骤:读取内部寄存器关于存储器中的缓存报文信息后,判断是否存储了缓存报文具体为,比较所述缓存报文中的报文读出的起始地址与所述报文存入的结束地址;
若所述报文存入的结束地址与所述报文读出的起始地址相同,则所述存储器中未存储报文;
若所述报文存入的结束地址不同于所述报文读出的起始地址,则所述存储器中已经有报文存储。
优选地,步骤:根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值中,当前时间域内所述输入总流量值具体为,若所述存储器中未存储报文,则当前时间域内所述输入总流量值为所述每个输入报文长度值的累加值;
若所述存储器中已经有报文存储,则当前时间域内所述输入总流量值为所述每个输入报文长度值的累加值与所述预读取首报文长度值之和。
优选地,步骤:根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值;
结束之后,清零所述每个输入报文长度值的累加值。
优选地,步骤:若所述存储器中存储了报文,则取出所述存储器中存储报文并与后续输入流量一起输出至服务器,同时更新缓存报文信息中的报文读出的起始地址与预读取首报文长度值,
其中,取出所述存储器中存储报文具体为,根据所述报文读出的起始地址和预读取首报文长度值,从所述存储器中读取出首个完整的报文并输出至服务器中;
其中,更新所述缓存报文信息中的报文读出的起始地址与预读取首报文长度值具体为,更新报文读出的起始地址指向所述存储器中下一个预读取报文的首地址,更新预读取首报文长度值指向所述存储器中下一个报文的长度值。
优选地,步骤:若当前时间域内所述总流量值大于或等于所述预设的流量阀寄存器值,则所述后续输入流量缓存入所述存储器,同时更新所述缓存报文信息中的报文存入结束地址,
其中,更新所述缓存报文信息中的报文存入结束地址具体为,更新报文存入的结束地址指向所述存储器中最后一个存入报文的结束地址。
优选地,步骤:根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值,
其中,获取当前时间域内所述输入总流量值具体为,每个时钟周期计算并统计一次输入总流量值,所述时钟周期以纳秒为单位。
一种流量控制装置,用于与存储器配合,包括
解析模块,用于解析输入报文,获取每个输入报文长度值;
存储模块,用于在控制器内部寄存器中存储关于存储器的缓存报文信息;
计算模块,用于根据所述每个输入报文长度值与所述缓存报文信息,计算当前时间域内输入总流量,计算结束后清零;
判断模块,用于判断当前时间域内所述输入总流量是否小于预设的流量阀寄存器值,若在当前时间域内所述输入总流量小于所述预设的流量阀寄存器值时,用于判断所述存储器中是否有报文存储;
更新模块,用于在所述控制器内部寄存器中更新所述缓存报文信息;
读取模块,用于读取所述存储器中存储报文并输出至服务器;
缓存模块,用于将后续输入流量缓存入所述存储器中;
其中,所述流量阀寄存器值根据后级服务器处理能力限制进行预设。
一种流量控制系统,包括输入接口卡、输出接口卡、存储器和上述所述的流量控制装置;
所述流量控制装置通过通信总线与服务器连通;
所述流量控制装置与所述存储器连通;
所述输入接口卡与所述流量控制装置连通,用于实现输入流量光信号与电信号之间的转换;
所述流量控制装置通过所述输出接口卡将流量输出至服务器中。
一种流量控制系统,包括网卡插槽、存储器和上述所述的流量控制装置;
所述网卡插槽位于服务器上;
所述存储器与所述流量控制装置一体成型,通过所述网卡插槽与服务器连通。
本技术方案中,控制器解析输入报文,获取每个输入报文长度值;控制器读取内部寄存器中关于存储器的缓存报文信息;控制器根据每个输入报文长度值与缓存报文信息,获取当前时间域内输入总流量值;判断当前时间域内输入总流量值与预设的流量阀寄存器值的大小,若当前时间域内输入总流量值小于预设的流量阀寄存器值,则判断存储器中是否有报文存储,若存储器中存储了报文,则取出存储报文并与后续输入流量一起输出至服务器,同时更新缓存报文信息中的报文读取的起始地址与预读取首报文长度值;若当前时间域内总流量值大于或等于流量阀寄存器值,则将后续输入流量存入存储器中,同时更新缓存报文信息中的报文存入结束地址。总体上说,上述步骤基于控制器与存储器的配合实现,在当前时间域的前提下,对输入流量进行计算,将突发流量缓存入存储器中,待后续输入流量平稳后,再从存储器中读出并输出至后级服务器中。因为,突发流量的表现形式为若干条完整报文,不论是存入存储器还是从存储器中取出都不会破坏报文的完整性,保证优先级低的报文不会被丢弃。因此,本技术方案具有无需增加服务器和复杂操作,通过牺牲部分报文的时效性,保持报文的完整的有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1 为本发明提供的一种流量控制方法的流程图;
图2 为本发明提供的一种流量控制方法中缓存报文的结构示意图;
图3 为本发明提供的一种流量控制装置的结构示意图;
图4 为本发明实施例提供的一种流量控制方法的流程图。
图5 为本发明实施例提供的一种流量控制系统的结构示意图;
图6 为本发明实施例提供的一种流量控制系统的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例采用递进的方式撰写。
请参阅图1至图6,本发明实施例提供了一种流量控制方法、装置及系统。主要解决现有方法中服务器的端口存储空间非常有限,无法应对突发流量的临时存储要求,该方法无需增加传输线路和后端服务器数量,能保证报文流完整性。
在实际运用过程中,根据不同的使用需求或所需的效果,各方法步骤有具体的使用细节,各步骤所采用的具体设备或检测部件可以根据实际需要进行选择,具体的控制器可以选择FPGA、CPLD、EPLD;存储器可以选择SDRAM、QDR、DDR。在本实施例中,采用具体为可编程逻辑门阵列(Field Programmable Gate Array)(简称FPGA)+双倍速率同步动态随机存储器(Double Data Rate)(简称DDR)。
一种基于FPGA与DDR的流量控制方法,包括如下步骤:
S1 .FPGA解析输入报文,获取每个输入报文长度值;
S2 .FPGA读取内部寄存器中关于DDR的缓存报文信息;
S3 .根据每个输入报文长度值与缓存报文信息,获取当前时间域内输入总流量值;
S41 .若当前时间域内总流量值小于预设的流量阀寄存器值,则判断DDR中是否有报文存储,S411.若DDR中存储了报文,则取出DDR中存储报文并与后续输入流量一起输出至服务器,同时更新缓存报文信息中的报文读出的起始地址与预读取首报文长度值;
S42.若当前时间域内总流量值大于或等于预设的流量阀寄存器值,则后续输入流量缓存入DDR,同时更新缓存报文信息中的报文存入结束地址;
其中,流量阀寄存器值根据后级服务器处理能力限制进行预设。
步骤S1中,FPGA解析输入报文时,是以比特为单位,计算每个输入报文的长度。
步骤S2中,FPGA读取其内部寄存器中关于DDR的缓存报文信息,有可能存在报文信息,也有可能不存在报文信息。
步骤S3中,结合每个输入报文的长度与缓存报文信息,计算得出输入总流量值,该输入总流量值的单位为比特。
步骤S41中,预设的流量阀寄存器值为工作过程之前,提前配置好当前时间域内的流量阀寄存器值,即当前时间域内允许输出的流量门限,具体流量阀寄存器值可以根据后级服务器处理能力等限制条件进行配置。
将当前时间域内输入总流量值与预设的流量阀寄存器值相比较,判断是否输入流量超过门限,若当前时间域内输入总流量值小于流量阀寄存器值,即当前输入总流量值未达到突发门限,则判断DDR中是否有报文存储。
步骤S411中,若是,则取出DDR中存储的报文并与后续输入流量一起输出至服务器,其中,DDR中的存储报文与后续输入流量的表现形式均为若干条完整的报文,同时更新内部寄存器关于DDR中缓存报文信息中的报文读出的起始地址与预读取首报文长度值;若否,正常输出流量至服务器。
步骤S42中,若当前时间域内输入总流量值大于流量阀寄存器值,即当前输入总流量值已超过突发门限,则当前时间域内后续输入流量缓存入DDR中,其中,后续输入流量的表现形式为若干条完整的报文。同时更新缓存报文信息中的报文存入结束地址后,当前时间域内工作过程结束,下一个时间域工作过程开始。
综上,上述步骤基于FPGA与DDR的配合实现,在当前时间域的前提下,FPGA对输入流量进行计算,将突发流量缓存入DDR中,待后续输入流量平稳后,再从DDR中读出并输出至后级服务器中。因为,突发流量的表现形式为若干条完整报文,不论是存入DDR还是从DDR中取出都不会破坏报文的完整性,保证优先级低的报文不会被丢弃。因此,上述步骤具有无需增加服务器,也不需复杂操作,牺牲部分报文的时效性,保持报文的完整的有益效果。
优选地,步骤S2后,判断是否存储了缓存报文具体为,比较缓存报文中的报文读出的起始地址与报文存入的结束地址;
若报文存入的结束地址与报文读出的起始地址相同,则DDR中未存储报文;
若报文存入的结束地址不同于报文读出的起始地址,则DDR中已经有报文存储。
步骤S2中,缓存报文信息具体为报文存入DDR的结束地址、报文读出DDR的起始地址。比较两者是否相等,若相等,则表明DDR中报文为空,即未存储报文;若不等,则表明DDR中有报文存储。
优选地,步骤3中,当前时间域内输入总流量值具体为,若DDR中未存储报文,则当前时间域内输入总流量值为每个输入报文长度值的累加值;
若DDR中已经有报文存储,则当前时间域内输入总流量值为每个输入报文长度值的累加值与预读取首报文长度值之和。
步骤S3中,计算当前时间域内的输入总流量值具体为,若DDR中未存储报文,则将步骤S2中获取的每个输入报文长度值累加;若DDR中已经存储报文,则将步骤S2中获取的每个输入报文长度值累加之后加上预读取首报文长度值。
优选地,步骤S3结束之后,清零每个输入报文长度值的累加值。
步骤S3中,根据当前时间域内的每个输入报文长度值计算当前输入总流量值之后,上述输入报文长度值的累加值已失效无用,清零该累加值,为下一个时间域内的输入总流量值的准确计算做准备。
步骤S41中,同样是根据缓存报文信息判断DDR中是否有报文存储。
优选地,步骤S411中,取出中存储报文具体为,根据报文读出的起始地址和预读取首报文长度值,从DDR中读取出首个完整的报文并输出至服务器中;
其中,更新缓存报文信息中的报文读出的起始地址与预读取首报文长度值具体为,更新报文读出的起始地址指向DDR中下一个预读取报文的首地址,更新预读取首报文长度值指向DDR中下一个报文的长度值。
步骤S411中,通过获取的报文读出DDR的起始地址与预读取首报文长度值,可以确定指向该完整首报文。取出该完整报文后,将报文读出DDR的起始地址移动,指向下一个预读报文的首地址,同时将预读取首报文长度值移动,指向下一个报文的长度值,为计算下一个时间域内输入总流量做准备。
优选地,步骤S42中,更新缓存报文信息中的报文存入结束地址具体为,更新报文存入的结束地址指向DDR中最后一个存入报文的结束地址。
步骤S42中,后续输入流量存入DDR中,同时将报文存入DDR的结束地址移动,指向最后一个存入报文的结束地址。为计算下一个时间域内输入总流量做准备。
优选地,步骤S3中,获取当前时间域内输入总流量值具体为,每个时钟周期计算并统计一次输入总流量值,时钟周期以纳秒为单位。
步骤S3中,具体可以纳秒(ns)为时间周期单位,每个时间周期计算并统计一次输入总流量值,确保实时统计输入总流量高效精准。
需要说明的是,本实施例中的服务器用于实时监测当前CPU使用率、内存占用率和动态调整突发流量的整形率。当服务器CPU的使用率和内存占用率已经达到峰值并出现丢包的情况时,配置FPGA内部相应寄存器,增大对突发流量的整形率,以达到服务器不丢包的效果。反之,当CPU的使用率和内存占用率很低的时候,可配置FPGA内部相应寄存器将整形率降为0,使输入流量不需要缓存全部正常输出。
本发明还公开了一种流量控制装置即FPGA,用于与DDR配合,包括
解析模块,用于解析输入报文,获取每个输入报文长度值,并将报文长度值发送至计算模块;
存储模块,用于在FPGA的内部寄存器中存储关于DDR的缓存报文信息,并将缓存报文信息发送至计算模块;
计算模块,用于根据每个输入报文长度值与缓存报文信息,计算当前时间域内输入总流量,并将当前时间域内输入总流量发送至判断模块,计算结束后清零;
判断模块,用于判断当前时间域内输入总流量是否小于预设的流量阀寄存器值,若在当前时间域内输入总流量小于预设的流量阀寄存器值时,用于判断DDR中是否有报文存储;
更新模块,用于在FPGA的内部寄存器中更新缓存报文信息;
读取模块,用于读取DDR中存储报文并输出至服务器;
缓存模块,用于将后续输入流量缓存入DDR中;
其中,流量阀寄存器值根据后级服务器处理能力限制进行预设。
本发明还公开了一种流量控制系统,包括输入接口卡1、输出接口卡2、存储器3即DDR和上述流量控制装置4即FPGA;
FPGA 4通过通信总线与服务器连通;
FPGA 4与DDR 3连通;
输入接口卡1与FPGA 4连通,用于实现输入流量光信号与电信号之间的转换;
FPGA 4通过输出接口卡2将流量输出至服务器中。
基于上述流量控制方法的相关设备为前端采集分流设备,输入接口卡实现输入流量光信号与电信号之间的转换。FPGA实现对输入流量的实时计算和统计,并将突发流量缓存进DDR中,待后续流量平缓后从DDR中读取并输出。FPGA将输出流量通过输出接口卡传输到服务器,服务器读取和配置FPGA内部寄存器,根据当前自身的处理占空比,动态调整该整形设备对突发流量的整形率。
另一种实施方式如下:
一种流量控制系统,包括网卡插槽5、存储器3即DDR和上述流量控制装置4即FPGA;
网卡插槽5位于服务器上;
DDR 3与FPGA 4一体成型,通过网卡插槽5与服务器连通。
工作过程中,流量从网卡的接口输入,经过FPGA与DDR处理后通过插槽传输至服务器。
以上对本发明所提供的一种流量控制方法、装置及系统进行了详细介绍。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种流量控制方法,其特征在于,包括如下步骤:
解析输入报文,获取每个输入报文长度值;
读取内部寄存器中关于存储器的缓存报文信息;
根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值;
若当前时间域内所述总流量值小于预设的流量阀寄存器值,则判断存储器中是否有报文存储,若所述存储器中存储了报文,则取出所述存储器中存储报文并与后续输入流量一起输出至服务器,同时更新所述缓存报文信息中的报文读出的起始地址与预读取首报文长度值;
若当前时间域内所述总流量值大于或等于预设的所述流量阀寄存器值,则所述后续输入流量缓存入所述存储器,同时更新所述缓存报文信息中的报文存入结束地址;
其中,所述流量阀寄存器值根据后级服务器处理能力限制进行预设。
2.如权利要求1所述的流量控制方法,其特征在于,步骤:读取内部寄存器关于存储器中的缓存报文信息后,判断是否存储了缓存报文具体为,比较所述缓存报文中的报文读出的起始地址与所述报文存入的结束地址;
若所述报文存入的结束地址与所述报文读出的起始地址相同,则所述存储器中未存储报文;
若所述报文存入的结束地址不同于所述报文读出的起始地址,则所述存储器中已经有报文存储。
3.如权利要求2所述的流量控制方法,其特征在于,步骤:根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值,当前时间域内所述输入总流量值具体为,若所述存储器中未存储报文,则当前时间域内所述输入总流量值为所述每个输入报文长度值的累加值;
若所述存储器中已经有报文存储,则当前时间域内所述输入总流量值为所述每个输入报文长度值的累加值与所述预读取首报文长度值之和。
4.如权利要求3所述的流量控制方法,其特征在于,步骤:根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值;
结束之后,清零所述每个输入报文长度值的累加值。
5.如权利要求4所述的流量控制方法,其特征在于,步骤:若所述存储器中存储了报文,则取出所述存储器中存储报文并与后续输入流量一起输出至服务器,同时更新缓存报文信息中的报文读出的起始地址与预读取首报文长度值,
其中,取出所述存储器中存储报文具体为,根据所述报文读出的起始地址和预读取首报文长度值,从所述存储器中读取出首个完整的报文并输出至服务器中;
其中,更新所述缓存报文信息中的报文读出的起始地址与预读取首报文长度值具体为,更新报文读出的起始地址指向所述存储器中下一个预读取报文的首地址,更新预读取首报文长度值指向所述存储器中下一个报文的长度值。
6.如权利要求5所述的流量控制方法,其特征在于,步骤:若当前时间域内所述总流量值大于或等于所述预设的流量阀寄存器值,则所述后续输入流量缓存入所述存储器,同时更新所述缓存报文信息中的报文存入结束地址,
其中,更新所述缓存报文信息中的报文存入结束地址具体为,更新报文存入的结束地址指向所述存储器中最后一个存入报文的结束地址。
7.如权利要求1所述的流量控制方法,其特征在于,步骤:根据所述每个输入报文长度值与所述缓存报文信息,获取当前时间域内输入总流量值,
其中,获取当前时间域内所述输入总流量值具体为,每个时钟周期计算并统计一次输入总流量值,所述时钟周期以纳秒为单位。
8.一种流量控制装置,用于与存储器配合,其特征在于,包括
解析模块,用于解析输入报文,获取每个输入报文长度值;
存储模块,用于在控制器内部寄存器中存储关于存储器的缓存报文信息;
计算模块,用于根据所述每个输入报文长度值与所述缓存报文信息,计算当前时间域内输入总流量,计算结束后清零;
判断模块,用于判断当前时间域内所述输入总流量是否小于预设的流量阀寄存器值,若在当前时间域内所述输入总流量小于所述预设的流量阀寄存器值时,用于判断所述存储器中是否有报文存储;
更新模块,用于在所述控制器内部寄存器中更新所述缓存报文信息;
读取模块,用于读取所述存储器中存储报文并输出至服务器;
缓存模块,用于将后续输入流量缓存入所述存储器中;
其中,所述流量阀寄存器值根据后级服务器处理能力限制进行预设。
9.一种流量控制系统,其特征在于,包括输入接口卡(1)、输出接口卡(2)、存储器(3)和如权利要求8所述的流量控制装置(4);
所述流量控制装置(4)通过通信总线与服务器连通;
所述流量控制装置(4)与所述存储器(3)连通;
所述输入接口卡(1)与所述流量控制装置(4)连通,用于实现输入流量光信号与电信号之间的转换;
所述流量控制装置(4)通过所述输出接口卡(2)将流量输出至服务器中。
10.一种流量控制系统,其特征在于,包括网卡插槽(5)、存储器(3)和如权利要求8所述的流量控制装置(4);
所述网卡插槽(5)位于服务器上;
所述存储器(3)与所述流量控制装置(4)一体成型,通过所述网卡插槽(5)与服务器连通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011236009.4A CN112104667B (zh) | 2020-11-09 | 2020-11-09 | 一种流量控制方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011236009.4A CN112104667B (zh) | 2020-11-09 | 2020-11-09 | 一种流量控制方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104667A CN112104667A (zh) | 2020-12-18 |
CN112104667B true CN112104667B (zh) | 2021-02-09 |
Family
ID=73785726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011236009.4A Active CN112104667B (zh) | 2020-11-09 | 2020-11-09 | 一种流量控制方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104667B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117978749B (zh) * | 2024-03-27 | 2024-05-28 | 湖南博匠信息科技有限公司 | 一种基于fpga实现数据源流控的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377749A (zh) * | 2007-08-31 | 2009-03-04 | 华为技术有限公司 | 存储器数据校验方法、装置、可编程逻辑器件及系统 |
CN101448270A (zh) * | 2008-12-23 | 2009-06-03 | 中兴通讯股份有限公司 | 一种网元信令跟踪动态流量控制的方法及系统 |
CN109165096A (zh) * | 2018-08-20 | 2019-01-08 | 四川长虹电器股份有限公司 | web集群的缓存利用系统及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496811B1 (en) * | 2000-05-01 | 2002-12-17 | Lucent Technologies Inc. | Fuzzy-logic based overload detection and correction for packet gateways |
US8051213B2 (en) * | 2002-06-06 | 2011-11-01 | International Business Machines Corporation | Method for server-directed packet forwarding by a network controller based on a packet buffer threshold |
CN100403747C (zh) * | 2003-12-11 | 2008-07-16 | 上海贝尔阿尔卡特股份有限公司 | 数据流量控制方法 |
CN102843705B (zh) * | 2011-06-24 | 2017-10-17 | 中兴通讯股份有限公司 | 一种针对业务功能进行流量控制的方法和系统 |
CN102904823B (zh) * | 2012-10-23 | 2016-01-20 | 大连梯耐德网络技术有限公司 | 一种基于存储器的多用户多业务的精确流量控制方法 |
CN105450473B (zh) * | 2015-12-07 | 2018-07-13 | 湖南戎腾网络科技有限公司 | 一种面向lte网络的用户溯源关联方法及前端采集器 |
CN107135088B (zh) * | 2016-02-29 | 2020-09-11 | 华为技术有限公司 | 云计算系统中处理日志的方法和装置 |
CN107342947B (zh) * | 2016-04-28 | 2020-06-26 | 华为技术有限公司 | 流量整形方法、控制器、网络设备和流量整形系统 |
CN108881033B (zh) * | 2018-06-20 | 2021-04-02 | 湖南戎腾网络科技有限公司 | 基于fpga+npu的面向lte网络的高速用户溯源方法 |
CN110572329B (zh) * | 2019-07-08 | 2022-07-01 | 紫光云技术有限公司 | 一种网络自适应流量整形方法及系统 |
-
2020
- 2020-11-09 CN CN202011236009.4A patent/CN112104667B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377749A (zh) * | 2007-08-31 | 2009-03-04 | 华为技术有限公司 | 存储器数据校验方法、装置、可编程逻辑器件及系统 |
CN101448270A (zh) * | 2008-12-23 | 2009-06-03 | 中兴通讯股份有限公司 | 一种网元信令跟踪动态流量控制的方法及系统 |
CN109165096A (zh) * | 2018-08-20 | 2019-01-08 | 四川长虹电器股份有限公司 | web集群的缓存利用系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112104667A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109412914B (zh) | 流数据与axi接口通信装置 | |
CN110278157B (zh) | 拥塞控制方法及网络设备 | |
CN112765054B (zh) | 一种基于fpga的高速数据采集系统及方法 | |
KR20210086420A (ko) | 신경망 데이터 처리 장치, 방법 및 전자 장비 | |
CN112104667B (zh) | 一种流量控制方法、装置及系统 | |
EP4020892A1 (en) | Network parameter configuration method and apparatus | |
EP4057152A1 (en) | Data transmission method and related device | |
CN110572329B (zh) | 一种网络自适应流量整形方法及系统 | |
CN102591799B (zh) | 一种存放数据的方法和装置 | |
CN116886609A (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
CN110765059A (zh) | 一种pcie数据优先级管理方法和装置 | |
EP1491995B1 (en) | Dual-port functionality for a single-port cell memory device | |
CN104052676A (zh) | 一种发送通路及发送通路的数据处理方法 | |
CN108550103A (zh) | 一种图像处理方法及装置 | |
CN110297785A (zh) | 一种基于fpga的金融数据流控装置和流控方法 | |
CN114553776B (zh) | 一种信号乱序控制与速率自适应的传输装置及其传输方法 | |
CN107846328B (zh) | 基于并发无锁环形队列的网络速率实时统计方法 | |
CN110213168A (zh) | 一种fc转以太网的数据转换流量控制方法及装置 | |
CN117061439B (zh) | 一种tsn实时以太网交换机的数据处理方法 | |
CN112448897A (zh) | 一种基于强化学习的交换机共享缓存分配方法及装置 | |
CN111654886A (zh) | 一种限制用户带宽的方法和装置 | |
CN105306958A (zh) | 一种基于ip的传输流码率平滑处理的方法及装置 | |
CN114500385A (zh) | 一种通过fpga实现千兆以太网数据流量整形的方法及系统 | |
CN112787944A (zh) | 流量控制方法、设备及计算机可读存储介质 | |
CN116866182A (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 |