CN104301172A - 网络处理器的统计计数方法 - Google Patents
网络处理器的统计计数方法 Download PDFInfo
- Publication number
- CN104301172A CN104301172A CN201410464914.3A CN201410464914A CN104301172A CN 104301172 A CN104301172 A CN 104301172A CN 201410464914 A CN201410464914 A CN 201410464914A CN 104301172 A CN104301172 A CN 104301172A
- Authority
- CN
- China
- Prior art keywords
- statistical
- counter
- address
- statistical counter
- value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 38
- 230000005055 memory storage Effects 0.000 claims description 22
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 230000032683 aging Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Abstract
本发明提供了一种网络处理器的统计计数方法,其特征在于,包括:当网络处理器启动会话时,为该会话分配统计计数器,在该会话中,统计项以统计命令的形式发送统计请求;轮询仲裁所有的统计命令,对统计项进行统计计数,同时更新统计计数器;当该会话结束后,回收所述统计计数器的地址;在统计计数的空闲时间轮询统计计数器,根据统计计数器的阈值,产生相应的统计消息。本发明中将网络处理器中复杂的统计信息封装成统计命令,统计模块以统计命令的方式进行统计计数,简化了统计计数的处理流程,硬件实现简单。
Description
技术领域
本发明涉及网络通讯领域,具体地,涉及一种网络处理器的统计计数方法。
背景技术
网络处理器在信息处理的过程中,为跟踪监测各种流量信息,如数据包基于帧或者字节的转发统计、丢弃统计等,需要对其进行相应地统计,提供必要的统计信息。然而,随着网络带宽的飞速增长,网络处理器中统计项成倍增加,导致了统计计数器的数量越来越大,种类越来越多,对统计计数的处理方式提出了更高的速度要求。
此外,为获取各个统计结果,通常采用主机直接访问统计存储器的方式来获取计数器的值。但是,随着统计计数器数量的增多,主机不间断地访问统计计数器,这将占用主机大量的处理时间,从而降低主机的执行效率,因此需要采用更有效的硬件机制向主机进行报告。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种网络处理器的统计计数的方法和统计消息。
网络处理器需要进行统计的信息种类很多,不同的统计类型要求不同的计数方式。为简化硬件实现过程,本发明采用统计命令的方式进行统计计数。
一帧数据进入网络处理器启动一个会话后,分配一个计数器对其进行统计计数;该会话完成后,这个计数器处于空闲状态,其存储地址也将变成空闲地址。随着网络处理器工作时间的增加,越来越多的统计计数器处于空闲状态,如果不对这些空闲的统计计数器进行回收,将会造成存储资源越来越大的浪费,因此本发明通过空闲地址队列管理机制来回收处于空闲状态的统计计数器的地址。
网络处理器在运行过程中,为防止主机频繁读取统计计数器占用带宽,可以产生统计消息来通知主机统计的结果。统计消息可以通过轮询统计计数器的方式来产生,这种以轮询方式产生统计消息的统计命令,如果和其它统计项的统计命令进行无差别的处理,将会占用大量的统计处理时间,导致其它各个统计项的统计请求不能得到及时的响应,从而降低统计计数的处理效率。本发明通过统计消息机制在空闲时间产生统计消息,隐藏了产生统计消息的处理时间,有效地提高网络处理器的处理性能。
根据本发明提供的网络处理器的统计计数方法包括如下步骤:
步骤1:当网络处理器启动会话时,为该会话分配统计计数器,在该会话中,统计项以统计命令的形式发送统计请求;轮询仲裁所有的统计命令,对统计项进行统计计数,同时更新统计计数器;当该会话结束后,回收所述统计计数器的地址;
步骤2:在统计计数的空闲时间轮询统计计数器,根据统计计数器的阈值,产生相应的统计消息。
优选地,所述统计命令包括初始化统计计数器、读统计计数器、复位统计计数器、加统计计数器和减统计计数器中任一种或任多种。
优选地,所述统计信息包括接收的队列入队信息、转发的队列出队信息、队列的长度信息和队列的丢弃信息中任一种或任多种。
优选地,所述步骤1包括如下步骤:
步骤1.1:当数据流进入网络处理器时,网络处理器启动会话,为该会话分配一个统计计数器;
步骤1.2:从空闲统计地址队列中获取一个空闲统计指针作为所述统计计数器的存储地址;
步骤1.3:在该会话中,统计项以统计命令的形式发送统计请求;轮询仲裁所有的统计命令,对统计项进行统计计数,同时更新统计计数器;
步骤1.4:当所述话结束时,启动老化机制删除流表中的表项信息,所述统计计数器的地址通过空闲地址队列管理机制重新返回空闲统计地址队列。
优选地,所述步骤3包括如下步骤:
步骤3.1:初始化统计计数器时,为每个统计计数器指定一个阈值;
步骤3.2:在统计计数的空闲时间,依次轮询所有的统计计数器,根据所述阈值,产生相应的统计消息;
优选地,空闲时间为完成了所有的统计命令的处理时,即当前没有统计请求。
优选地,初始化统计计数器具体为根据统计命令中的地址,把统计计数器的初始化值直接写入外部存储器的相应地址中;
读统计计数器具体为根据统计命令中的地址,将外部存储器中读出的统计计数器的值,返回给统计计数器;
复位统计计数器具体为把将统计计数器的值清零后直接写入外部存储器相应的地址中;
加统计计数器具体为根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后把该统计计数器的值和统计命令中的操作数相加得到更新后的值,最后把更新后的值写回外部存储器相应的地址中;
减统计计数器具体为根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后把该统计计数器的值和统计命令中的操作数相减得到更新后的值,最后把更新后的值写回外部存储器相应的地址中。
与现有技术相比,本发明具有如下的有益效果:
1.本发明中将网络处理器中复杂的统计信息封装成统计命令,统计模块以统计命令的方式进行统计计数,简化了统计计数的处理流程,硬件实现简单;
2.本发明采用空闲地址队列管理机制,回收表项信息被删除后的统计计数器的地址,使得统计计数器的地址可以重复使用,有效地节省了网络处理器的存储资源;
3.本发明利用统计计数的空闲时间产生统计消息,隐藏了为产生统计消息而轮询计数器的处理时间,保证了在网络处理器各个统计项发出统计请求后,能够得到及时的响应处理,有效地提高了统计计数的处理效率,进而提高网络处理器的执行效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明中封装后的统计命令的数据格式示意图;
图2为本发明中带有阈值信息的统计计数器的数据格式示意图;
图3为本发明中统计消息的数据格式示意图;
图4为本发明中网络处理器中统计计数的示意图;
图5为本发明中统计信息发送的示意图;
图6为本发明中统计命令仲裁的示意图;
图7为本发明中统计计数的示意图;
图8为本发明中空闲地址队列管理机制的示意图;
图9为本发明中统计消息产生的示意图;
图10为本发明的步骤流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
在本是实例中,本发明解决其技术问题所采用的技术方案是,各个统计项以统计命令的方式进行统计计数,在空闲时间产生统计消息,包括以下步骤:
步骤1:当网络处理器启动会话时,为该会话分配统计计数器,在该会话中,统计项以统计命令的形式发送统计请求;轮询仲裁所有的统计命令,对统计项进行统计计数,同时更新统计计数器;当该会话结束后,回收所述统计计数器的地址;
步骤2:在统计计数的空闲时间轮询统计计数器,根据统计计数器的阈值,产生相应的统计消息。
具体为:
对于网络处理器中的各个统计项,分别使用一个统计计数器来进行统计。数据包在网络处理器不同处理阶段产生的统计请求,以统计命令的方式通过统计信息发送模块进入统计模块中的统计命令仲裁模块,如图4所示。统计命令的格式如图1所示。其中,统计命令包括初始化统计计数器、读统计计数器、复位统计计数器、加统计计数器和减统计计数器,所述统计信息包括接收的队列入队信息、转发的队列出队信息、队列的长度信息和队列的丢弃信息等。
统计命令仲裁模块依次轮询所有的统计命令,获得应答的统计命令进入统计计数模块进行统计处理,如图6所示。
统计模块轮询所有的统计命令,依次执行各个统计项的统计命令,对不同的统计命令类型,进行相应的统计计数,同时更新统计计数器,如图7所示。其中,初始化命令执行过程是,根据统计命令中的地址,把初始化值直接写入外部存储器相应的地址中;读命令执行过程是,根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后返回该统计计数器的值;复位命令执行过程是,把统计计数器的值清零后直接写入外部存储器相应的地址中;加统计计数器具体为根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后把该统计计数器的值和统计命令中的操作数相加得到更新后的值,最后把更新后的值写回外部存储器相应的地址中;减统计计数器具体为根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后把该统计计数器的值和统计命令中的操作数相减得到更新后的值,最后把更新后的值写回外部存储器相应的地址中。
采用空闲地址队列管理机制来回收该统计计数器的地址,如图8所示,新的数据流进入网络处理器后开始一个会话,为其分配一个统计计数器。首先从空闲统计地址队列获取一个空闲统计指针作为计数器的存储地址,当会话结束时,启动老化机制删除流表中的表项信息,这个统计计数器的地址通过空闲地址队列管理机制重新返回空闲统计地址队列。
在统计计数的空闲时间,产生相应的统计消息,如图9所示。主机初始化统计计数器时,同时为每个统计计数器指定一个阈值,阈值信息加载到统计计数器的首部,如图2所示。统计命令仲裁模块在空闲时间应答轮询统计计数器的请求,统计计数模块执行轮询请求,从外部存储器中读出各个统计计数器,根据预先设定的阈值,产生对应的统计消息,存入统计消息队列,供主机读取。统计消息的数据格式如图3所示,统计消息用来通知主机当前各个统计计数器的结果。其中,所述的空闲时间是指统计计数模块完成了所有的统计命令的处理,当前没有其它的统计请求,所述的统计消息包括接收的队列入队消息、转发的队列出队消息、队列的长度消息和队列的丢弃消息等。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (7)
1.一种网络处理器的统计计数方法,其特征在于,包括如下步骤:
步骤1:当网络处理器启动会话时,为该会话分配统计计数器,在该会话中,统计项以统计命令的形式发送统计请求;轮询仲裁所有的统计命令,对统计项进行统计计数,同时更新统计计数器;当该会话结束后,回收所述统计计数器的地址;
步骤2:在统计计数的空闲时间轮询统计计数器,根据统计计数器的阈值,产生相应的统计消息。
2.根据权利要求1所述的网络处理器的统计计数方法,其特征在于,
所述统计命令包括初始化统计计数器、读统计计数器、复位统计计数器、加统计计数器和减统计计数器中任一种或任多种。
3.根据权利要求1所述的网络处理器的统计计数方法,其特征在于,所述统计信息包括接收的队列入队信息、转发的队列出队信息、队列的长度信息和队列的丢弃信息中任一种或任多种。
4.根据权利要求1所述的网络处理器的统计计数方法,其特征在于,所述步骤1包括如下步骤:
步骤1.1:当数据流进入网络处理器时,网络处理器启动会话,为该会话分配一个统计计数器;
步骤1.2:从空闲统计地址队列中获取一个空闲统计指针作为所述统计计数器的存储地址;
步骤1.3:在该会话中,统计项以统计命令的形式发送统计请求;轮询仲裁所有的统计命令,对统计项进行统计计数,同时更新统计计数器;
步骤1.4:当所述话结束时,启动老化机制删除流表中的表项信息,所述统计计数器的地址通过空闲地址队列管理机制重新返回空闲统计地址队列。
5.根据权利要求2所述的网络处理器的统计计数方法,其特征在于,所述步骤3包括如下步骤:
步骤3.1:初始化统计计数器时,为每个统计计数器指定一个阈值;
步骤3.2:在统计计数的空闲时间,依次轮询所有的统计计数器,根据所述阈值,产生相应的统计消息;
6.根据权利要求1或5所述的网络处理器的统计计数方法,其特征在于,空闲时间为完成了所有的统计命令的处理时,即当前没有统计请求。
7.根据权利要求2所述的网络处理器的统计计数方法,其特征在于,
初始化统计计数器具体为根据统计命令中的地址,把统计计数器的初始化值直接写入外部存储器的相应地址中;
读统计计数器具体为根据统计命令中的地址,将外部存储器中读出的统计计数器的值,返回给统计计数器;
复位统计计数器具体为把将统计计数器的值清零后直接写入外部存储器相应的地址中;
加统计计数器具体为根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后把该统计计数器的值和统计命令中的操作数相加得到更新后的值,最后把更新后的值写回外部存储器相应的地址中;
减统计计数器具体为根据统计命令中的地址,从外部存储器中读出统计计数器的值,然后把该统计计数器的值和统计命令中的操作数相减得到更新后的值,最后把更新后的值写回外部存储器相应的地址中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410464914.3A CN104301172A (zh) | 2014-09-12 | 2014-09-12 | 网络处理器的统计计数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410464914.3A CN104301172A (zh) | 2014-09-12 | 2014-09-12 | 网络处理器的统计计数方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104301172A true CN104301172A (zh) | 2015-01-21 |
Family
ID=52320751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410464914.3A Pending CN104301172A (zh) | 2014-09-12 | 2014-09-12 | 网络处理器的统计计数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301172A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114938A (zh) * | 2007-08-10 | 2008-01-30 | 杭州华三通信技术有限公司 | 一种分布式系统中带有阈值限制的统计方法、系统和装置 |
CN101286889A (zh) * | 2008-05-23 | 2008-10-15 | 杭州华三通信技术有限公司 | 一种状态记录的方法及装置 |
CN101325516A (zh) * | 2008-08-05 | 2008-12-17 | 中兴通讯股份有限公司 | 一种对sdh性能进行统计的装置与方法 |
CN101848132A (zh) * | 2009-03-24 | 2010-09-29 | 华为技术有限公司 | 流量统计装置及方法 |
CN102404151A (zh) * | 2011-11-28 | 2012-04-04 | 曙光信息产业(北京)有限公司 | 支持复杂流量统计的网卡设备和相关复杂流量统计方法 |
US20120221748A1 (en) * | 2010-07-16 | 2012-08-30 | International Business Machines Corporation | Monitoring network performance and detecting network faults using round trip transmission times |
CN102752196A (zh) * | 2012-06-19 | 2012-10-24 | 中兴通讯股份有限公司 | 统计信息的发送、统计计数方法及装置 |
CN103259668A (zh) * | 2013-04-02 | 2013-08-21 | 中兴通讯股份有限公司 | 实现计数器计数控制的方法及网络芯片 |
-
2014
- 2014-09-12 CN CN201410464914.3A patent/CN104301172A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114938A (zh) * | 2007-08-10 | 2008-01-30 | 杭州华三通信技术有限公司 | 一种分布式系统中带有阈值限制的统计方法、系统和装置 |
CN101286889A (zh) * | 2008-05-23 | 2008-10-15 | 杭州华三通信技术有限公司 | 一种状态记录的方法及装置 |
CN101325516A (zh) * | 2008-08-05 | 2008-12-17 | 中兴通讯股份有限公司 | 一种对sdh性能进行统计的装置与方法 |
CN101848132A (zh) * | 2009-03-24 | 2010-09-29 | 华为技术有限公司 | 流量统计装置及方法 |
US20120221748A1 (en) * | 2010-07-16 | 2012-08-30 | International Business Machines Corporation | Monitoring network performance and detecting network faults using round trip transmission times |
CN102404151A (zh) * | 2011-11-28 | 2012-04-04 | 曙光信息产业(北京)有限公司 | 支持复杂流量统计的网卡设备和相关复杂流量统计方法 |
CN102752196A (zh) * | 2012-06-19 | 2012-10-24 | 中兴通讯股份有限公司 | 统计信息的发送、统计计数方法及装置 |
CN103259668A (zh) * | 2013-04-02 | 2013-08-21 | 中兴通讯股份有限公司 | 实现计数器计数控制的方法及网络芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9832275B2 (en) | Message processing method, device and system for internet of things | |
CN104239132B (zh) | 一种唤醒对齐的方法、装置及终端 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
WO2018076755A1 (zh) | 一种升级包下发方法及装置 | |
US9584332B2 (en) | Message processing method and device | |
EP3418892B1 (en) | Method and device for managing and controlling broadcast, and terminal | |
CN107992271B (zh) | 数据预读方法、装置、设备及计算机可读存储介质 | |
CN107818012B (zh) | 一种数据处理方法、装置及电子设备 | |
CN110647392A (zh) | 一种基于容器集群的智能弹性伸缩方法 | |
CN108664521B (zh) | 一种提供序列号的方法、装置、电子设备和可读存储介质 | |
CN104683472A (zh) | 一种支持大数据量的数据传输方法 | |
CN109002363A (zh) | 一种事件处理方法、装置、设备及可读存储介质 | |
CN102821045B (zh) | 多播报文复制方法及装置 | |
CN104679493A (zh) | 一种流程化的事件处理机制的改进方法 | |
CN113742290B (zh) | 一种数据存储方法、装置、存储介质及电子装置 | |
CN104850516A (zh) | 一种ddr变频设计方法和装置 | |
CN109213745B (zh) | 一种分布式文件存储方法、装置、处理器及存储介质 | |
CN107391274A (zh) | 离线消息的处理方法及装置 | |
CN110232029A (zh) | 一种基于索引的fpga中ddr4包缓存的实现方法 | |
WO2016110070A1 (zh) | 数据获取方法及装置、存储介质 | |
CN103475520A (zh) | 一种分布式网络中的事务处理控制方法及装置 | |
CN110944064B (zh) | 嵌入式网络的远程访问控制系统、方法、设备和介质 | |
CN104301172A (zh) | 网络处理器的统计计数方法 | |
CN104967770A (zh) | 视频拍摄方法及装置 | |
CN109992363A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150121 |
|
RJ01 | Rejection of invention patent application after publication |