CN104539557A - 报文统计上报cpu的方法及装置 - Google Patents
报文统计上报cpu的方法及装置 Download PDFInfo
- Publication number
- CN104539557A CN104539557A CN201510001555.2A CN201510001555A CN104539557A CN 104539557 A CN104539557 A CN 104539557A CN 201510001555 A CN201510001555 A CN 201510001555A CN 104539557 A CN104539557 A CN 104539557A
- Authority
- CN
- China
- Prior art keywords
- counter
- address
- threshold value
- fifo memory
- fifo
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明揭示了一种报文统计上报CPU的方法,采用大量计数器对报文进行统计后,先将计数器的地址存储,并且采用两级阈值过滤掉相同地址,达到一次中断处理多个统计值;同时采用超时机制来触发中断,及时通知CPU同步报文统计。本发明还揭示了一种报文统计上报CPU的装置,包括复数计数器、FIFO写入逻辑处理模块、FIFO存储器和计时器。本发明可以减少中断次数,并且一次中断可以处理多个统计结果,减轻了CPU的处理负担;采用两级阈值过滤掉相同的地址,防止CPU中断处理时将资源浪费在处理相同的地址上;同时保证报文统计均能得到及时处理。
Description
技术领域
本发明涉及芯片报文统计技术领域,尤其是涉及一种利用两级门限和超时机制实现报文统计上报CPU的方法及装置。
背景技术
报文的各种类型的统计是网络接入设备的一种基本功能,高性能交换芯片会有报文统计引擎对报文做各种统计。通过对报文的各种统计类型,以及对流量的分析,可以发现网络设备设计不合理或者性能瓶颈的所在,也有利于优化网络设备的某些功能,来满足客户对服务质量的要求。例如:网络接入设备处理过多的异常报文会导致其服务性能降低,若在设备的关键模块存在各种统计功能,则可以找出异常原因的所在,提升设备的性能来满足客户的需求。
在现有技术中,这种统计通常由大量的计数器(counter)来实现,为了保证统计的准确性,需要在counter溢出之前读走,通常实现方式是某个counter的值达到设定的阈值之后上报中断通知CPU处理,但是这种方式可能会导致频繁中断,加重CPU负担。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种报文统计上报CPU的方法及装置,改进了中断上报CPU方式,以防止频繁中断增加CPU处理负担,以及采用超时机制保证统计都能得到及时处理。
为实现上述目的,本发明提出如下技术方案:一种报文统计上报CPU的方法,包括用多个计数器对报文进行统计,当任意一个所述计数器的统计值符合设定的进入FIFO的触发阈值后,将所述计数器的地址存入所述FIFO存储器中,当所述FIFO存储器的存储深度达到设定的深度或当所述FIFO存储器存储所述计数器地址的时间达到设定计数值后,触发中断通知CPU读取所述计数器内的统计值。
优选地,所述进入FIFO的触发阈值包括第一级阈值和第二级阈值,若任意一个所述计数器的统计值大于所述第一级阈值、小于所述第二级阈值,则判断所述计数器的地址是否已存在于所述FIFO中,若否,则将所述计数器的地址存入所述FIFO存储器中;若任意一个所述计数器的统计值大于所述第二级阈值,则将所述计数器的地址存入所述FIFO存储器中。
优选地,所述FIFO存储器存储所述计数器地址的时间达到设定计数值后触发中断的过程包括:从第一个所述计数器的地址进入所述FIFO存储器时开始计时,若达到设定的所述计数值后所述FIFO存储器的存储深度未达到设定深度,则同样触发中断。
优选地,所述CPU读取所述计数器内的统计值的过程包括:所述CPU先从所述FIFO存储器中读出所述计数器的地址,再根据所述地址读取相应的所述计数器,得到报文统计值。
优选地,采用一个计时器对所述FIFO存储器的地址存储进行计时,触发中断后,所述计时器清零。
本发明的另一目的还在于,提供一种报文统计上报CPU的装置,包括复数计数器、FIFO写入逻辑处理模块、FIFO存储器和计时器,
所述计数器用于进行报文统计,得出相应的统计值;
所述FIFO写入逻辑处理模块用于判断所述统计值是否符合设定的进入FIFO的触发阈值;
在所述计数器的统计值符合设定的进入FIFO的触发阈值的情况下,所述FIFO存储器用于存储所述计数器的地址,并在其存储深度达到设定的深度后,触发中断通知CPU读取所述计数器内的统计值;
所述计时器用于对所述FIFO存储器的地址存储进行计时,并在达到设定计数值后,触发中断通知CPU读取所述计数器内的统计值。
优选地,所述进入FIFO的触发阈值包括第一级阈值和第二级阈值,所述FIFO写入逻辑处理模块的处理过程包括:若任意一个所述计数器的统计值大于所述第一级阈值、小于所述第二级阈值,则判断所述计数器的地址是否已存在于所述FIFO中,若否,则将所述计数器的地址存入所述FIFO存储器中;若任意一个所述计数器的统计值大于所述第二级阈值,则将所述计数器的地址存入所述FIFO存储器中。
优选地,所述计时器从第一个所述计数器的地址进入所述FIFO存储器时开始计时,若达到设定的所述计数值后所述FIFO存储器的存储深度未达到设定深度,则触发中断。
优选地,所述CPU先从所述FIFO存储器中读出所述计数器的地址,再根据所述地址读取相应的所述计数器,得到报文统计值。
优选地,触发中断后,所述计时器清零。
本发明的有益效果是:1、本发明可以减少中断次数,并且一次中断可以处理多个统计结果,减轻了CPU的处理负担;2、本发明采用两级触发阈值,可以过滤掉相同的地址,防止CPU中断处理时将资源浪费在处理相同的地址上;3、本发明采用超时机制保证报文统计都能得到及时处理。
附图说明
图1是本发明报文统计上报CPU的方法的流程示意图;
图2是本发明报文统计上报CPU的装置的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种报文统计上报CPU的方法,用于实现高性能交换芯片对报文的统计。采用大量计数器对报文进行统计后,先将计数器的地址存储,并且采用两级阈值过滤掉相同地址,达到一次中断处理多个统计值的效果;同时采用超时机制来触发中断,及时通知CPU同步报文统计。
如图1所示,本发明所揭示的一种报文统计上报CPU的方法,具体过程为:
步骤S1,采用多个计数器对报文进行统计;
步骤S2,当任意一个计数器的统计值符合设定的进入FIFO的触发阈值后,将计数器的地址存入FIFO存储器中;
为了防止频繁中断,本发明在某个计数器的统计值达到设定的进入FIFO的触发阈值之后,先将计数器的地址存入FIFO(先进先出)存储器中。
本发明将进入FIFO的触发阈值设定为两级:第一级阈值和第二级阈值,利用第二级阈值,可以过滤掉相同的地址,防止CPU中断处理时将资源浪费在处理相同的地址上。具体地,若任意一个计数器的统计值大于第一级阈值而小于第二级阈值,则需判断计数器的地址是否已存在于FIFO中,如果存在,不再将其地址放进FIFO,若不存在,则将其地址放进FIFO存储器中。若任意一个计数器的统计值大于第二级阈值,也将计数器的地址存入FIFO存储器中。
步骤S3,当FIFO存储器的存储深度达到设定的深度或当FIFO存储器存储计数器地址的时间达到设定计数值后,触发中断通知CPU;
具体地,当FIFO存储器中地址的个数(即存储深度)达到设定深度值后触发中断。但是如果FIFO中已经存储了部分地址,之后长时间内都没有值再被放入,即FIFO的深度可能长时间之内达不到设定的深度,为了及时通知CPU同步FIFO已经存储的地址的报文统计,本发明采用一个计时器,在第一个地址进入FIFO时开始计时,如果在计数器计数到设定的计数值后FIFO还没有达到设定深度,此时也触发中断,中断触发后,计时器清零。
步骤S4,CPU先从FIFO存储器中读出计数器的地址,再根据该地址读取相应的计数器,得到报文统计值。
如图2所示,本发明还揭示了一种报文统计上报CPU的装置,包括复数计数器、FIFO写入逻辑处理模块、FIFO存储器和计时器,计数器用于进行报文统计,得出相应的统计值;当某个计数器的值大于第一级阈值或者大于第二阈值时,这个计数器的地址将被送到FIFO写入逻辑处理模块中进行逻辑处理。
FIFO写入逻辑处理模块中的逻辑处理过程具体为:若任意一个计数器的地址不存在于FIFO中,且其统计值小于第二级阈值,则将其地址放进FIFO存储器中;若计数器的统计值大于第二级阈值,同样将计数器的地址存入FIFO存储器中。
FIFO存储器用于存储计数器的地址,并在其存储深度达到设定的深度后,触发中断通知CPU读取计数器内的统计值。
计时器用于对FIFO存储器的地址存储进行计时,并在达到设定计数值后,触发中断通知CPU读取计数器内的统计值。具体地,计时器从第一个计数器的地址进入FIFO存储器时开始计时,若达到设定的计数值后,FIFO存储器的存储深度还未达到设定深度,则直接触发中断,即采用超时机制来触发中断,及时通知CPU。触发中断后,计时器清零。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种报文统计上报CPU的方法,其特征在于,包括用多个计数器对报文进行统计,当任意一个所述计数器的统计值符合设定的进入FIFO的触发阈值后,将所述计数器的地址存入所述FIFO存储器中,当所述FIFO存储器的存储深度达到设定的深度或当所述FIFO存储器存储所述计数器地址的时间达到设定计数值后,触发中断通知CPU读取所述计数器内的统计值。
2.根据权利要求1所述的方法,其特征在于,所述进入FIFO的触发阈值包括第一级阈值和第二级阈值,若任意一个所述计数器的统计值大于所述第一级阈值、小于所述第二级阈值,则判断所述计数器的地址是否已存在于所述FIFO中,若否,则将所述计数器的地址存入所述FIFO存储器中;若任意一个所述计数器的统计值大于所述第二级阈值,则将所述计数器的地址存入所述FIFO存储器中。
3.根据权利要求1所述的方法,其特征在于,所述FIFO存储器存储所述计数器地址的时间达到设定计数值后触发中断的过程包括:从第一个所述计数器的地址进入所述FIFO存储器时开始计时,若达到设定的所述计数值后所述FIFO存储器的存储深度未达到设定深度,则同样触发中断。
4.根据权利要求1所述的方法,其特征在于,所述CPU读取所述计数器内的统计值的过程包括:所述CPU先从所述FIFO存储器中读出所述计数器的地址,再根据所述地址读取相应的所述计数器,得到报文统计值。
5.根据权利要求1或3所述的方法,其特征在于,采用一个计时器对所述FIFO存储器的地址存储进行计时,触发中断后,所述计时器清零。
6.一种报文统计上报CPU的装置,其特征在于,包括复数计数器、FIFO写入逻辑处理模块、FIFO存储器和计时器,
所述计数器用于进行报文统计,得出相应的统计值;
所述FIFO写入逻辑处理模块用于判断所述统计值是否符合设定的进入FIFO的触发阈值;
在所述计数器的统计值符合设定的进入FIFO的触发阈值的情况下,所述FIFO存储器用于存储所述计数器的地址,并在其存储深度达到设定的深度后,触发中断通知CPU读取所述计数器内的统计值;
所述计时器用于对所述FIFO存储器的地址存储进行计时,并在达到设定计数值后,触发中断通知CPU读取所述计数器内的统计值。
7.根据权利要求6所述的装置,其特征在于,所述进入FIFO的触发阈值包括第一级阈值和第二级阈值,所述FIFO写入逻辑处理模块的处理过程包括:若任意一个所述计数器的统计值大于所述第一级阈值、小于所述第二级阈值,则判断所述计数器的地址是否已存在于所述FIFO中,若否,则将所述计数器的地址存入所述FIFO存储器中;若任意一个所述计数器的统计值大于所述第二级阈值,则将所述计数器的地址存入所述FIFO存储器中。
8.根据权利要求6所述的装置,其特征在于,所述计时器从第一个所述计数器的地址进入所述FIFO存储器时开始计时,若达到设定的所述计数值后所述FIFO存储器的存储深度未达到设定深度,则触发中断。
9.根据权利要求6所述的装置,其特征在于,所述CPU先从所述FIFO存储器中读出所述计数器的地址,再根据所述地址读取相应的所述计数器,得到报文统计值。
10.根据权利要求6或8所述的装置,其特征在于,触发中断后,所述计时器清零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510001555.2A CN104539557B (zh) | 2015-01-04 | 2015-01-04 | 报文统计上报cpu的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510001555.2A CN104539557B (zh) | 2015-01-04 | 2015-01-04 | 报文统计上报cpu的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104539557A true CN104539557A (zh) | 2015-04-22 |
CN104539557B CN104539557B (zh) | 2017-08-11 |
Family
ID=52855026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510001555.2A Active CN104539557B (zh) | 2015-01-04 | 2015-01-04 | 报文统计上报cpu的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104539557B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921665A (zh) * | 2017-03-06 | 2017-07-04 | 北京东土军悦科技有限公司 | 一种报文处理方法及网络设备 |
CN107704421A (zh) * | 2017-09-12 | 2018-02-16 | 新华三信息安全技术有限公司 | 一种多核处理器及报文处理方法 |
CN107766268A (zh) * | 2017-10-27 | 2018-03-06 | 郑州云海信息技术有限公司 | 存储设备的中断发送方法、装置、系统、设备及存储介质 |
CN113992545A (zh) * | 2021-12-28 | 2022-01-28 | 昆高新芯微电子(江苏)有限公司 | 实现网络流量统计的方法、芯片和交换机 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943479A (en) * | 1997-01-02 | 1999-08-24 | Digital Equipment Corporation | Method for reducing the rate of interrupts in a high speed I/O controller |
CN101170509A (zh) * | 2007-11-21 | 2008-04-30 | 中兴通讯股份有限公司 | 交换路由器系统的流量控制方法 |
CN101442439A (zh) * | 2008-12-17 | 2009-05-27 | 杭州华三通信技术有限公司 | 一种上报中断的方法和pci总线系统 |
CN101626324A (zh) * | 2009-08-19 | 2010-01-13 | 杭州华三通信技术有限公司 | 转发路径检测方法和设备 |
CN102006615A (zh) * | 2010-11-25 | 2011-04-06 | 中兴通讯股份有限公司 | 报文处理方法及装置 |
CN103997415A (zh) * | 2013-02-20 | 2014-08-20 | 中兴通讯股份有限公司 | 一种实现报文统计的装置及方法 |
CN104022971A (zh) * | 2014-05-26 | 2014-09-03 | 上海斐讯数据通信技术有限公司 | 优化交换机报文上送方法及其系统 |
-
2015
- 2015-01-04 CN CN201510001555.2A patent/CN104539557B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943479A (en) * | 1997-01-02 | 1999-08-24 | Digital Equipment Corporation | Method for reducing the rate of interrupts in a high speed I/O controller |
CN101170509A (zh) * | 2007-11-21 | 2008-04-30 | 中兴通讯股份有限公司 | 交换路由器系统的流量控制方法 |
CN101442439A (zh) * | 2008-12-17 | 2009-05-27 | 杭州华三通信技术有限公司 | 一种上报中断的方法和pci总线系统 |
CN101626324A (zh) * | 2009-08-19 | 2010-01-13 | 杭州华三通信技术有限公司 | 转发路径检测方法和设备 |
CN102006615A (zh) * | 2010-11-25 | 2011-04-06 | 中兴通讯股份有限公司 | 报文处理方法及装置 |
CN103997415A (zh) * | 2013-02-20 | 2014-08-20 | 中兴通讯股份有限公司 | 一种实现报文统计的装置及方法 |
CN104022971A (zh) * | 2014-05-26 | 2014-09-03 | 上海斐讯数据通信技术有限公司 | 优化交换机报文上送方法及其系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921665A (zh) * | 2017-03-06 | 2017-07-04 | 北京东土军悦科技有限公司 | 一种报文处理方法及网络设备 |
CN106921665B (zh) * | 2017-03-06 | 2020-09-11 | 北京东土军悦科技有限公司 | 一种报文处理方法及网络设备 |
CN107704421A (zh) * | 2017-09-12 | 2018-02-16 | 新华三信息安全技术有限公司 | 一种多核处理器及报文处理方法 |
CN107766268A (zh) * | 2017-10-27 | 2018-03-06 | 郑州云海信息技术有限公司 | 存储设备的中断发送方法、装置、系统、设备及存储介质 |
CN113992545A (zh) * | 2021-12-28 | 2022-01-28 | 昆高新芯微电子(江苏)有限公司 | 实现网络流量统计的方法、芯片和交换机 |
CN113992545B (zh) * | 2021-12-28 | 2022-04-22 | 昆高新芯微电子(江苏)有限公司 | 实现网络流量统计的方法、芯片和交换机 |
Also Published As
Publication number | Publication date |
---|---|
CN104539557B (zh) | 2017-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539557A (zh) | 报文统计上报cpu的方法及装置 | |
CN100591052C (zh) | 流量控制的方法和业务处理系统 | |
WO2016179968A1 (zh) | 一种队列管理方法、装置及存储介质 | |
CN105323184A (zh) | 节约ram资源实现流量统计的方法及装置 | |
CN108021487B (zh) | 一种gpu图形处理性能监测与分析方法 | |
CN103312566B (zh) | 检测报文端口拥塞的方法及装置 | |
EP3166269B1 (en) | Queue management method and apparatus | |
CN103838659A (zh) | 一种系统日志的控制方法和装置 | |
WO2020134840A1 (zh) | 数据分配方法及相关产品 | |
CN101699795B (zh) | 一种报文拥塞处理方法及系统 | |
CN100546191C (zh) | 一种大容量无刷新的高速统计计数器 | |
US20170237677A1 (en) | Data caching method and device, and storage medium | |
CN106557358A (zh) | 一种基于双核处理器的数据存储方法及装置 | |
EP3200391B1 (en) | Counter and counting method | |
CN100469055C (zh) | 转发报文的处理方法及处理装置 | |
CN113064738A (zh) | 基于概要数据的主动队列管理方法 | |
US20140201458A1 (en) | Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows | |
CN110232029B (zh) | 一种基于索引的fpga中ddr4包缓存的实现方法 | |
CN113778347B (zh) | 一种ceph系统读写质量优化方法及服务端 | |
CN101557602B (zh) | 一种多级网元告警同步方法及系统 | |
CN105610725A (zh) | 一种动态的队列拥塞老化管理方法与装置 | |
CN103179050B (zh) | 数据包入队和出队管理方法及数据包处理装置 | |
CN105141468B (zh) | 高效实现网络芯片流量统计的方法及装置 | |
US9531616B2 (en) | Method and system for counting data packets | |
CN106982176B (zh) | 一种数据传输方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171124 Address after: Xinghan street Suzhou Industrial Park in Jiangsu province 215000 No. 5 Building No. 6 Room 201 Patentee after: Suzhou Sheng Ke science and Technology Co., Ltd. Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215000 B No. 5 Building 4 floor 13/16 unit Patentee before: Centec Networks (Suzhou) Inc. |
|
TR01 | Transfer of patent right |