CN114124731B - 流量监控方法、装置、集成电路及网络设备 - Google Patents

流量监控方法、装置、集成电路及网络设备 Download PDF

Info

Publication number
CN114124731B
CN114124731B CN202011235536.3A CN202011235536A CN114124731B CN 114124731 B CN114124731 B CN 114124731B CN 202011235536 A CN202011235536 A CN 202011235536A CN 114124731 B CN114124731 B CN 114124731B
Authority
CN
China
Prior art keywords
register
information
value
traffic monitoring
packet
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
Application number
CN202011235536.3A
Other languages
English (en)
Other versions
CN114124731A (zh
Inventor
张正义
胡晶
杨斐然
吴海峰
宋伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP21859545.2A priority Critical patent/EP4195540A4/en
Priority to PCT/CN2021/081657 priority patent/WO2022041696A1/zh
Publication of CN114124731A publication Critical patent/CN114124731A/zh
Priority to US18/173,662 priority patent/US11777826B2/en
Application granted granted Critical
Publication of CN114124731B publication Critical patent/CN114124731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本申请实施例公开了一种流量监控方法、装置、集成电路和网络设备,当流量监控装置接收报文时,确定该流量监控装置中包括空的第一寄存器后,将第一寄存器中的第一信息的值更新为该报文的目标性能指标的测量值并将第一寄存器中的第二信息的值加一。该第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示接收的报文中匹配第一寄存器中的第一信息的值的报文数量。这样,将第一信息和第二信息作为寄存器的两个统计参数,根据接收的报文的目标性能指标的测量值灵活的更新各寄存器中这两个统计参数的值,实现对目标性能指标的全面、准确的统计。

Description

流量监控方法、装置、集成电路及网络设备
本申请要求于2020年8月26日提交的申请号为202010873634.3、发明名称为“一种数据统计方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别是涉及一种流量监控方法、装置、集成电路及网络设备。
背景技术
在网络运行的过程中,能够通过报文时延、芯片端口队列长度等性能指标取值的分布反映网络的运行状况。通过存储该性能指标的所有取值能够准确计算它的分布,但该方式需要占用大量的存储资源。为了减少存储需求,当前通过直方图统计的方式来粗略的统计各种性能指标取值的分布情况。
直方图统计算法中,需要预先设置各性能指标对应的取值范围并将取值范围等分到对应的数据桶,配置较为繁琐。而且,对于不同的数据流或相同数据流的不同阶段,无法确保配置的取值范围以及各个数据桶的深度划分是否合理,统计精度较差。
发明内容
基于此,本申请实施例提供了一种流量监控方法、装置、集成电路及网络设备,能够对接收到的报文的各种性能指标进行简单、准确的统计。通过少量的存储资源,就能准确的体现网络设备的真实状况。
第一方面,本申请实施例提供了一种流量监控方法,该方法例如可以包括:当流量监控装置接收第一报文时,确定该流量监控装置中是否包括第一寄存器,该第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的所述第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的所述第二信息用于指示流量监控装置接收的报文中匹配第一寄存器中的所述第一信息的值的报文数量;响应于该流量监控装置确定流量监控装置中包括第一寄存器,流量监控装置将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。这样,无需配置目标性能指标的取值范围,也不需要对取值范围进行等分来确定每个数据桶的深度,而是将用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度的第一信息,以及用于指示接收的报文中匹配各寄存器中第一信息的值的报文数量的第二信息作为寄存器的两个统计参数,根据接收的报文的目标性能指标的测量值灵活的更新各寄存器中这两个统计参数的值,实现对目标性能指标的统计,不仅减少了统计目标性能指标的配置工作量,还由于不再局限统计的整体取值范围以及各个寄存器统计的取值子范围,使得获得更加全面、准确的统计结果成为可能,从而,能够更加准确的知悉网络设备的真实运行状况。
需要说明的是,本申请实施例提供的方法中,流量监控装置中的用于统计的寄存器数量越多,统计结果越精确。
其中,每个寄存器对应一个数据桶,该数据桶统计目标性能指标的测量值在一定范围内的报文,该数据桶中记录第一信息的值和第二信息的值,其中,第一信息的值是指该数据桶中所统计的报文的测量值或测量值的范围,第二信息的值是指该数据桶所统计的报文的数量。数据桶中记录的统计结果存储在对应的寄存器中。寄存器对应的数据桶的深度可以作为该寄存器中第一信息的值,落入对应数据桶的深度的报文数量可以作为该数据桶对应寄存器中第二信息的值。
在一种可能的实现方式中,该方法还可以包括:当流量监控装置接收第二报文时,确定该流量监控装置中是否包括第二寄存器,该第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第二寄存器中的第一信息的值的报文数量;此时,响应于流量监控装置确定该流量监控装置中不包括第二寄存器,该流量监控装置执行下述操作:根据流量监控装置包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新流量监控装置包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。可见,该方法将用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度的第一信息,以及用于指示接收的报文中匹配各寄存器中第一信息的值的报文数量的第二信息作为寄存器的两个统计参数,根据接收的报文的目标性能指标的测量值灵活的更新各寄存器中这两个统计参数的值,在确定不存在空寄存器时实现对目标性能指标的统计,不仅减少了统计目标性能指标的配置工作量,还由于不再局限统计的整体取值范围以及各个寄存器统计的取值子范围,使得获得更加全面、准确的统计结果成为可能,从而,能够更加准确的知悉网络设备的真实运行状况。
该实现方式中,确定的第三寄存器和第四寄存器是排序后相邻的两个寄存器,确定相邻的寄存器中的第三寄存器和第四寄存器的方式包括但不限于下述四种可能的实现方式:
作为一个示例,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。
作为另一个示例,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。
作为再一个示例,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值的和。
作为又一个示例,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值加权和。可见,通过上述示例提供的方法,可以准确的确定流量监控装置中的第三寄存器和第四寄存器,为确保流量监控装置实现流量监控的精度提供了数据基础。
在一种可能的实现方式中,该方法还可以包括:流量监控装置确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,流量监控装置将第四寄存器中的第二信息的值加一。作为一个示例,该流量监控装置确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,例如可以包括:流量监控装置确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。作为另一个示例,流量监控装置确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,例如也可以包括:流量监控装置确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第二报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。如此,实现了在第三寄存器和第四寄存器更新后,通过第四寄存器对第二报文的目标性能指标的快速统计。
在一种可能的实现方式中,该方法还可以包括:流量监控装置确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值,流量监控装置将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。如此,实现了在第三寄存器和第四寄存器更新后,通过第三寄存器对第二报文的目标性能指标的快速统计。
在一种可能的实现方式中,该方法还可以包括:当流量监控装置接收第三报文时,流量监控装置确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,那么,该流量监控装置将第三寄存器中的第二信息的值加一。这样,实现了更加快速有效的对目标性能指标的测量值与寄存器的第一信息的值匹配的报文的统计。
其中,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置被包括在处理芯片中,例如,可以集成在网络处理器(英文:network processor,简称:NP)芯片中。
第二方面,本申请实施例提供了一种流量监控装置,该流量监控装置例如可以包括:第一接收单元、第一确定单元和第二确定单元。其中,第一接收单元,用于接收第一报文;第一确定单元,用于确定流量监控装置中是否包括第一寄存器,第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第一寄存器中的第一信息的值的报文数量;第二确定单元,用于响应于流量监控装置确定流量监控装置中包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
在一种可能的实现方式中,该装置还包括:第二接收单元、第三确定单元和第一更新单元。其中,第二接收单元,用于接收第二报文;第三确定单元,用于确定流量监控装置中是否包括第二寄存器,第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第二寄存器中的第一信息的值的报文数量;第一更新单元,用于响应于流量监控装置确定流量监控装置中不包括第二寄存器,根据流量监控装置包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新流量监控装置包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。
其中,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。又或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值的和。再或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值加权和。
在一种可能的实现方式中,该装置还包括:第四确定单元和第二更新单元。第四确定单元,用于确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,第二更新单元,用于将第四寄存器中的第二信息的值加一。
作为一个示例,所述第四确定单元,具体用于:确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。
作为另一个示例,所述第四确定单元,具体用于:确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第二报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。
在一种可能的实现方式中,该装置还包括:第五确定单元和第三更新单元。其中,第五确定单元,用于确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值;第三更新单元,用于将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。
在一种可能的实现方式中,该装置还包括:第三接收单元、第六确定单元和第四更新单元。其中,第三接收单元,用于接收第三报文;第六确定单元,用于确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,第四更新单元,用于将第三寄存器中的第二信息的值加一。
作为一个示例,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置被包括在处理芯片中,例如,可以集成在NP芯片中。
需要说明的是,第二方面提供的流量监控装置与第一方面提供的方法对应,具体实现方式以及达到的效果,参见第一方面所示的方法的相关描述。
第三方面,本申请实施例还提供了一种流量监控装置,该装置包括处理器和收发器。其中,收发器,用于接收第一报文;处理器,用于确定流量监控装置中是否包括第一寄存器,第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第一寄存器中的第一信息的值的报文数量;处理器,还用于响应于确定流量监控装置中包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
在一种可能的实现方式中,收发器,还用于接收第二报文;处理器,还用于确定流量监控装置中是否包括第二寄存器,第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第二寄存器中的第一信息的值的报文数量;处理器,还用于响应于流量监控装置确定流量监控装置中不包括第二寄存器,根据流量监控装置包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新流量监控装置包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。
其中,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。又或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值的和。再或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值加权和。
在一种可能的实现方式中,处理器,还用于确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,流量监控装置将第四寄存器中的第二信息的值加一。其中,处理器,具体用于:确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。或者,处理器,具体用于:确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第一报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。
在一种可能的实现方式中,处理器,还用于确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值,流量监控装置将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。
在一种可能的实现方式中,收发器,还用于接收第三报文;处理器,还用于确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,流量监控装置将第三寄存器中的第二信息的值加一。
作为一个示例,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置被包括在处理芯片中,例如,可以集成在NP芯片中。
需要说明的是,第三方面提供的流量监控装置与第一方面提供的方法对应,具体实现方式以及达到的效果,参见第一方面所示的方法的相关描述。
第四方面,本申请实施例还提供了一种集成电路,该集成电路包括控制电路和接口电路。其中,接口电路,用于接收第一报文;控制电路,用于确定集成电路中是否包括第一寄存器,第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示集成电路接收的报文中匹配第一寄存器中的第一信息的值的报文数量;控制电路,还用于响应于确定集成电路中包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
在一种可能的实现方式中,接口电路,还用于接收第二报文;控制电路,还用于确定集成电路中是否包括第二寄存器,第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示集成电路接收的报文中匹配第二寄存器中的第一信息的值的报文数量;控制电路,还用于响应于集成电路确定集成电路中不包括第二寄存器,根据集成电路包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新集成电路包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。
其中,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。又或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于集成电路包括的任意两个相邻寄存器中的第二信息的值的和。再或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值加权和。
在一种可能的实现方式中,控制电路,还用于确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,集成电路将第四寄存器中的第二信息的值加一。其中,控制电路,具体用于:确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。或者,控制电路,具体用于:确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第一报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。
在一种可能的实现方式中,控制电路,还用于确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值,集成电路将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。
在一种可能的实现方式中,收发器,还用于接收第三报文;控制电路,还用于确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,集成电路将第三寄存器中的第二信息的值加一。
作为一个示例,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置被包括在处理芯片中,例如,可以集成在NP芯片中。
需要说明的是,第四方面提供的集成电路与第一方面提供的方法对应,具体实现方式以及达到的效果,参见第一方面所示的方法的相关描述。
第五方面,本申请实施例还提供了一种网络设备,该网络设备可以包括上述第二方面或第三方面提供的流量监控装置,或者,该网络设备可以包括上述第四方面提供的集成电路。
第六方面,本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上第一方面提供的所述方法。
第七方面,本申请还提供了计算机程序产品,包括计算机程序或计算机可读指令,当所述计算机程序或所述计算机可读指令在计算机上运行时,使得计算机执行前述第一方面所提供的方法。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种直方图统计算法的时延的直方图示意图;
图2为本申请实施例中一种网络设备10的结构示意图;
图3为本申请实施例中一种流量监控方法的一示例性流程示意图;
图4a为本申请实施例中图3所示的流量监控方法下各寄存器保存内容的一示意图;
图4b为本申请实施例中图3所示的流量监控方法下各寄存器保存内容的另一示意图;
图5为本申请实施例中一种流量监控方法100的流程示意图;
图6为本申请实施例中一种流量监控方法200的流程示意图;
图7为本申请实施例中一种流量监控装置700的结构示意图;
图8为本申请实施例中一种流量监控装置800的结构示意图;
图9为本申请实施例中一种集成电路900的结构示意图;
图10为本申请实施例中一种通信设备1000的结构示意图;
图11为本申请实施例中一种通信设备1100的结构示意图。
具体实施方式
为了减少获取存储时延、报文长度、接收报文的时间间隔或队列占用率等各种性能指标分布信息所需要的存储资源,通常通过直方图统计的方式记录性能指标的情况,从而体现网络的运行状况。
目前统计网络设备性能指标的方式,作为一个示例,可以通过网络设备上的四个寄存器R1~R4实现,以统计的性能指标为时延为例,假设预设的目标分位值(即调整时延阈值的参考比例)为95%,R1用于保存当前周期采集到的报文的总个数n,网络设备每接收到一个报文,该R1中的取值加一;R2用于保存该周期中的时延阈值t1;R3用于保存该周期内所接收的报文中时延超过时延阈值t1的报文的个数m;R4用于保存该周期内当前所接收的报文中时延的最大值(英文:max latency,简称ML)。具体实现时,网络设备会周期性的计算(m/n)(即时延大于t1的报文占所有报文的比例),并根据(m/n)和目标分位值更新R2中的取值,当(1-m/n)<95%,则,根据下述公式(1)计算新的时延阈值t2,当(1-m/n)≥95%,则,根据下述公式(2)计算新的时延阈值t3:
t2=t1-ML*[95%-(1-m/n)]/G……公式(1)
t3=t1+ML*[(1-m/n)-95%)]/G……公式(2)
其中,G为步长,是常数。需要说明的是,每次更新R2的取值时,其他寄存器的取值均需要清零。该统计方案,实现比较简单,但是存在很多问题:问题一,由于不考虑数据分布,只能采用线性的梯度下降来收敛阈值t1,容易引起收敛问题,影响统计精度;问题二,该方案只能获取事先设定的目标分位数,无法获取其他分位数信息;问题三,统计结果体现一个实时的取值,与该性能指标在网络设备整个运行过程中的情况可能有较大差距。
作为另一个示例,目前还可以采用直方图统计算法来统计性能指标。以通过R1~R4统计的性能指标,例如,R1~R4中每个R中包括的一个用于统计时延的数据桶(英文:databucket)。以直方图统计方法中的直方条(英文:bin)这一数据桶的具体实现为例对该示例进行说明,例如,R1中包括用于统计时延的bin 1,R2中包括用于统计时延的bin 2,R3中包括用于统计时延的bin 3,R4中包括用于统计时延的bin 4,那么,bin 1~bin 4为一组统计时延的bin。网络设备预先配置时延统计范围:[t1,t2],bin 1~bin 4中分别包括一个计数器(英文:counter),每个counter用于统计接收到的报文中落入所属bin对应时延子范围的报文个数。例如,将[t1,t2]等分为4个子区间:[t1,t3]、(t3,t4]、(t4,t5]、(t5,t2],其中,t3=t1+(t2-t1)/4,t4=t3+(t2-t1)/4,t5=t4+(t2-t1)/4。bin 1中的counter1用于统计接收到的报文中时延在[t1,t3]内的报文个数,bin 2中的counter2用于统计接收到的报文中时延在(t3,t4]内的报文个数,bin 3中的counter3用于统计接收到的报文中时延在(t4,t5]内的报文个数,bin 4中的counter4用于统计接收到的报文中时延在(t5,t2]内的报文个数。其中,任意一个时延子范围均可以记作该bin的深度,例如,时延子范围(t3,t4]可以称为bin 2的深度。任意时刻,可以基于该bin 1~bin 4中counter的取值,得到该网络设备的时延的概率分布曲线,过程例如可以是:将各counter中的取值进行归一化处理,得到counter1~counter4的归一化处理结果依次为:a、b、c和d,那么,可以得到如图1所示的直方图,其中,bin 1~bin 4对应的直方图高度分别为a、b、c和d。此外,可以根据此直方图得到该时延的累积分布函数(英文:cumulative distribution function,简称:CDF)的曲线,进一步可以按照需求的出现概率(例如95%)确定对应的横坐标的值,作为网络设备设置的时延标定值。虽然目前的直方图统计算法相比上述介绍的统计方法,能够较准确的统计网络设备的性能指标,但是,该直方图统计方案中需要预先配置性能指标对应的取值范围并将取值范围等分到对应的bin中,配置过程较为繁琐,由于报文的多样性和复杂性可能导致配置的取值范围不合理,还可能导致bin的深度分配不合理,部分bin中的counter值很大,而部分bin中的counter值很小,统计结果不够精确。
基于此,本申请实施例提供了一种流量监控方法,该流量监控方法应用于本申请实施例提供的流量监控装置中,流量监控装置中包括多个寄存器,每个寄存器中包括第一信息和第二信息,其中,第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二信息用于指示所述流量监控装置接收的报文中匹配该寄存器中的第一信息的值的报文数量。每个寄存器对应一个数据桶,该数据桶统计目标性能指标的测量值在一定范围内的报文,该数据桶中记录第一信息的值和第二信息的值,其中,第一信息的值是指该数据桶中所统计的报文的测量值或测量值的范围,第二信息的值是指该数据桶所统计的报文的数量。数据桶中记录的统计结果存储在对应的寄存器中。寄存器对应的数据桶的深度可以作为该寄存器中第一信息的值,落入对应数据桶的深度的报文数量可以作为该数据桶对应寄存器中第二信息的值。例如,对于寄存器Rx,对应于数据桶x,该数据桶x的深度为0-50,那么,当流量监控装置未接收到目标性能指标的测量值落入0-50的报文时,寄存器Rx中第一信息的值和第二信息的值为0;当流量监控装置接收到目标性能指标的测量值为10的报文1时,寄存器Rx中第一信息的值可以为10,第二信息的值可以为1;当流量监控装置接收到目标性能指标的测量值为16的报文2时,寄存器Rx中第一信息的值可以为[(10*1+16*1)/(1+1)]=13,第二信息的值可以为2;当流量监控装置接收到目标性能指标的测量值为7的报文3时,寄存器Rx中第一信息的值可以为[(13*2+7*1)/(2+1)]=11,第二信息的值可以为3。
本申请实施例提供的流量监控方法,例如可以包括:当流量监控装置接收第一报文时,且确定该流量监控装置中还包括空的第一寄存器(即,第一寄存器中第二信息的值为零),则,利用第一寄存器统计该第一报文的目标性能指标,即,将第一寄存器中第一信息的值更新为该第一报文的目标性能指标的测量值,将第一寄存器中第二信息的值加一。这样,无需配置待监测的性能指标(即目标性能指标)的取值范围,也不需要对取值范围进行等分来确定每个数据桶的深度,而是将用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度的第一信息,以及用于指示接收的报文中匹配各寄存器中第一信息的值的报文数量的第二信息作为寄存器的两个统计参数,根据接收的报文的目标性能指标的测量值灵活的更新各寄存器中这两个统计参数的值,实现对目标性能指标的统计,不仅减少了统计目标性能指标的配置工作量,还由于不再局限统计的整体取值范围以及各个寄存器统计的取值子范围,使得获得更加全面、准确的统计结果成为可能,从而,能够更加准确的知悉网络设备的真实运行状况。需要说明的是,该实现方式中,流量监控装置中的用于统计的寄存器数量越多,统计结果越精确。
其中,数据桶用于表征统计目标性能指标的测量值的对象,数据桶的深度是指该数据桶能够统计的目标性能指标的测量值或测量值的范围,不同深度的数据桶用于实现对目标性能指标的测量值不同或测量值范围不同的报文的统计。例如,流量监控装置中包括:数据桶1和数据桶2,其中,数据桶1用于统计目标性能指标的测量值在0-50之间的报文,数据桶2用于统计目标性能指标的测量值在51-101之间的报文,那么,数据桶1的深度可以表示为0-50,数据桶2的深度可以表示为51-100;或者,如果数据桶的深度是该数据桶用于承载的目标性能指标的测量值的最小值,数据桶用于承载该数据桶的深度到该数据桶的深度加50的报文,那么,数据桶1的深度也可以表示为0,数据桶2的深度可以表示为51;又或者,数据桶的深度也可以表示为落入该数据桶统计范围的报文的测量值的平均值。
寄存器是数据桶在该流量监控装置中的一种硬件实现方式。例如,上述数据桶1中统计的数据可以存储在该流量监控装置的寄存器1中,数据桶2中统计的数据可以存储在该流量监控装置的寄存器2中。假设流量监控装置接收到报文1~报文5,报文1~报文5的目标性能指标的测量值分别为10、20、60、30、90,那么,报文1、报文2和报文4对应数据桶1的深度(即,落入数据桶1的统计范围),寄存器1中保存报文1、报文2和报文4对应的统计结果,报文3和报文5对应数据桶2的深度,寄存器2保存报文3和报文5对应的统计结果,如,数据桶1对应的寄存器1中保存的第一信息的值可以为[(10*1+20*1+30*1)/(1+1+1)]=20,寄存器1中保存的第二信息的值为3;数据桶2对应的寄存器2中保存的第一信息的值可以为[(60*1+90*1)/(1+1)]=75,寄存器2中保存的第二信息的值为2。
作为一个示例,在直方图统计方法中,数据桶例如可以通过直方条bin实现,每个寄存器保存一个bin对应的统计结果,bin采集的统计结果存储在对应的寄存器中。下文中,数据桶、bin和寄存器可以替换使用。
其中,寄存器中的第一信息可以表示为value,寄存器中第二信息可以表示为counter。下文中,第一信息和value可以替换使用,第二信息和counter可以替换使用。
举例来说,本申请实施例应用的网络设备10具体可以参见图2,如图2所示,该网络设备10至少可以包括流量监控装置120。其中,流量监控装置120中可以包括多个寄存器R,以流量监控装置120中包括R1~R4为例,该流量监控装置120能够按照本申请实施例提供的流量监控方法,对R1~R4中保存的内容进行管控和处理。该流量监控装置120可以被集成在处理芯片中,例如,可以集成在网络处理器(英文:network processor,简称:NP)芯片110中,流量监控装置120可以是NP芯片110中的具有本申请实施例所提供的流量监控能力的功能模块。如,流量监控装置120是NP芯片110中的一个具有流量监控能力的协处理器。
需要说明的是,本示例中用于存储统计结果的寄存器为R1~R4,该流量监控装置120还可以包括寄存器R0,该R0用于存储待统计的报文的第一信息的值和第二信息的值,R0中第二信息的值为1。如果完成一个报文的统计,则,可以将R0中该报文的第一信息的值和第二信息的值清零,为统计下一个报文做好准备;或者,也可以在接收到下一个待统计的报文时,直接用下一个报文的第一信息的值更新该R0中前一个报文的第一信息的值。
以图2所示的网络设备10为例,示例性的说明本申请实施例提供的流量监控方法的流程,参见图3所示,该流量监控过程可以包括:S11,流量监控装置120接收报文1,获取报文1的目标性能指标的测量值x,并在R0中保存:value=x、counter=1;S12,判断是否有空闲的用于保存统计结果的R,如果有,则执行下述S13,否则执行S14;S13,将R0中的内容写入相应的用于保存统计结果的R中,并执行S16,需要说明的是,各个R保存的对应关系中的value的值可以按从大到小或从小到大排序;S14,将R0按照value的值加入各R的排序,将排序后相邻R的counter的值之和最小的两个R进行合并;S15,判断R0是否参与合并,如果是,则,执行S16,否则,执行S13;S16,判断是否有新接收的报文,如果有,则返回执行S11,否则结束。
其中,S11中流量监控装置120接收报文1并获取报文1的目标性能指标的测量值x,具体可以是:网络设备10接收到报文1,并由NP芯片110从报文1中提取报文头(或者,提取有效载荷(英文:payload)中的部分数据和报文头),由NP芯片110中的流量监控装置120依据所提取的部分进行流量监控,获取报文1的目标性能指标的测量值x。
作为一个示例,基于上述图3所示的方法,说明接收到12个报文时,流量监控装置120进行逐包时延统计的过程,下述描述中时延的单位例如可以为毫秒。以各用于保存统计结果的R中的value值从小到大排序为例进行说明。
一种情况下,当网络设备10接收到报文1时,流量监控模块120获取该报文1的时延的测量值为7,在R0中存入:value=7、counter=1,并将该R0中的value=7、counter=1存入R1中,如图4a中的第一个部分;当网络设备10接收到报文2时,流量监控模块120获取该报文2的时延的测量值为12,在R0中存入:value=12、counter=1,由于12大于7,所以,将该R0中的value=12、counter=1存入R2中,如图4a中的第二个部分;当网络设备10接收到报文3时,流量监控模块120获取该报文3的时延的测量值为8,在R0中存入:value=8、counter=1,由于8大于7且8小于12,所以,将R2中的value=12、counter=1搬移到R3中,将该R0中的value=8、counter=1存入R2中,如图4a中的第三个部分;当网络设备10接收到报文4时,流量监控模块120获取该报文4的时延的测量值为7,在R0中存入:value=7、counter=1,由于7小于8且7不小于7,所以,将R3中value=12、counter=1搬移到R4,将R2中的value=8、counter=1搬移到R3,将R0中的value=7、counter=1存入R2中,如图4a中的第四个部分;以此类推,接收到10个报文后,R1~R4中保存的内容参见图4a的第五个部分;当网络设备10接收到报文11时,流量监控模块120获取该报文11的时延的测量值为7,在R0中存入:value=7、counter=1,此时,由于不存在空闲的R,则,将R0与R1~R4按照value的值从小到大排序,分别为:R0(value=7,counter=1)、R1(value=7,counter=5)、R2(value=8,counter=1)、R3(value=11,counter=2)和R4(value=12,counter=2),从而确定相邻的两个R中counter的值之和最小的是R2和R3,合并R2(value=8,counter=1)和R3(value=11,counter=2)中的内容,得到[value=(8*1+11*2)/(1+2)=10,counter=(1+2)=3],将该合并后的value=8、counter=1存入R3,将R1中的value=7、counter=5搬移到R2,将R0中的value=7、counter=1存入R1,R1~R4中保存的内容如图4a的第六个部分;当网络设备10接收到报文12时,流量监控模块120获取该报文12的时延的测量值为4,在R0中存入:value=4、counter=1,此时,由于不存在空闲的R,则,将R0与R1~R4按照value的值从小到大排序,分别为:R0(value=4,counter=1)、R1(value=7,counter=1)、R2(value=7,counter=5)、R3(value=10,counter=3)和R4(value=12,counter=2),从而确定相邻的两个R中counter的值之和最小的是R0和R1,合并R0(value=4,counter=1)和R1(value=7,counter=1)中的内容,得到[value=(4*1+7*1)/(1+1)=5.5,counter=(1+1)=2],将该合并后的value=5.5、counter=2存入R1,R1~R4中保存的内容如图4a的第七个部分。
另一种情况下,当网络设备10接收到报文1~报文3时,流量监控模块120的R1~R4的情况可以分别参见图4b的第一个部分~第三个部分所示,其中,图4b的第一个部分~第三个部分分别与图4a中的第一个部分~第三个部分对应相同;当网络设备10接收到报文4’时,流量监控模块120获取该报文4’的时延的测量值为7,在R0中存入:value=7、counter=1,确定R0中的value的值和R1中的value的值均为7,所以,并将R0和R1的内容合并,即,将R1中counter的值加一,R1中保存:value=7、counter=2,如图4b中的第四个部分;以此类推,接收到10个报文后,R1~R4中保存的内容参见图4b的第五个部分;当网络设备10接收到报文11’时,流量监控模块120获取该报文11’的时延的测量值为6,在R0中存入:value=6、counter=1,此时,由于不存在空闲的R,则,将R0与R1~R4按照value的值从小到大排序,分别为:R0(value=6,counter=1)、R1(value=7,counter=5)、R2(value=8,counter=1)、R3(value=11,counter=2)和R4(value=12,counter=2),从而确定相邻的两个R中counter的值之和最小的是R2和R3,合并R2(value=8,counter=1)和R3(value=11,counter=2)中的内容,得到[value=(8*1+11*2)/(1+2)=10,counter=(1+2)=3],将该合并后的value=10、counter=3存入R3,将R1的内容搬移到R2,将R0中的内容存入R1,R1~R4中保存的内容如图4b的第六个部分;当网络设备10接收到报文12’时,流量监控模块120获取该报文12’的时延的测量值为4,在R0中保存:value=4、counter=1,此时,由于不存在空闲的R,则,将R0与R1~R4按照value值从小到大排序,分别为:R0(value=4,counter=1)、R1(value=6,counter=1)、R2(value=7,counter=5)、R3(value=10,counter=3)和R4(value=12,counter=2),从而确定相邻的两个R中counter的值之和最小的是R0和R1,合并R0(value=4,counter=1)和R1(value=6,counter=1)中的内容,得到[value=(4*1+6*1)/(1+1)=5,counter=(1+1)=2],将该合并后的value=5、counter=2)存入R1,R1~R4中保存的内容如图4b的第七个部分。
需要说明的是,该网络设备10中或其他能够与该网络设备10通信的网络设备中还可以包括控制装置,该控制装置例如可以是中央处理单元(英文:central process unit,简称:CPU)。该控制装置能够读取R1~R4中保存的统计结果,并对所读取的统计结果进行处理,如,对各R中的counter的值进行归一化处理,以各R中的value值为横坐标,counter的值的归一化处理结果为纵坐标,得到该网络设备10截止读取统计结果时刻的时延的概率分布函数(英文:probability distribution function,简称:PDF)曲线。之后,以各R中的value值为横坐标,每个横坐标对应的纵坐标为:小于横坐标对应value值的所有R的counter的值归一化处理结果的累加和,得到该网络设备10截止读取统计结果时刻的时延的CDF曲线。
可见,本申请实施例提供的流量监控方法,无需存储所有报文的性能指标的具体数值,节约了网络设备的存储资源,也无需进行复杂的配置,能够简单、准确的对网络设备的性能指标进行逐报文的统计,从而,基于统计结果能够准确分析出网络设备的真实运行状况。
本申请实施例中,网络设备是指集成有本申请实施例提供的流量监控模块,能够对所接收的报文进行逐包性能指标统计的设备,具体可以包括但不限于交换机、路由器或防火墙等。
本申请实施例中,网络设备统计的性能指标包括但不限于:时延、报文大小(也可以称为报文长度)、接收报文的时间间隔或队列占用率。
下面结合附图,通过实施例来详细说明本申请实施例中一种流量监控方法的具体实现方式。
本申请实施例中一种流量监控方法,该方法可以应用于流量监控装置,例如应用于上述图2所示的网络设备10中的流量监控装置120中。流量监控装置统计不同的性能指标所执行的操作均相同,本申请实施例中以流量监控装置统计目标性能指标为例进行说明,该目标性能指标为流量监控装置能够监控和统计的所有性能指标中的任意一种。
流量监控装置中包括:一个用于临时存储待监控报文的目标性能指标的测量值的寄存器,以及若干个用于保存目标性能指标的统计结果的寄存器。其中,用于保存目标性能指标的统计结果的寄存器的数量是固定不变的;用于临时存储待监控报文的目标性能指标的测量值的寄存器,在接收到该待监控报文之后到对该待监控报文的目标性能指标完成监控之前,存储该待监控报文的目标性能指标的第一信息的值和第二信息的值,第二信息的值为1。
下述实施例中,用于保存目标性能指标的统计结果的寄存器中包括第一信息和第二信息,每个寄存器中第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,例如,上述图4b中,各寄存器中第一信息表示为value,以图4b第七个部分中的R1为例,R1中包括数据桶,该数据桶的深度与5对应,即,R1中第一信息用于指示承载被监控报文的时延的测量值的数据桶的深度为5,也就是说,R1中监控时延测量值与5对应的报文。每个寄存器中第二信息用于指示该流量监控装置接收的报文中匹配该寄存器中第一信息的值的报文数量,例如,上述图4b中,各寄存器中第二信息表示为counter,以图4b第七个部分中的R1为例,R1中第二信息的值为2,用于指示所接收的报文中时延测量值与5匹配的报文为2个,也就是说,R1中监控到了时延测量值与5对应的2个报文。当寄存器中第二信息的值为零,则,说明该寄存器还未对任何报文的目标性能指标的测量值进行监控,表征该寄存器为空。
当流量监控装置接收到某个待监控报文时,需要先检查该流量监控装置是否还有空的用于保存目标性能指标的统计结果的寄存器,如果有,则,可以按照下述图5所示的方法100完成对该待监控报文的监控;如果没有空的用于保存目标性能指标的统计结果的寄存器,则,可以按照下述图6所示的方法200完成对该待监控报文的监控。
作为一个示例,参见图5,本申请实施例提供的一种流量监控方法100例如可以包括下述S101~S103:
S101,流量监控装置接收第一报文。
其中,该第一报文可以是业务报文,也可以是控制报文,在本申请实施例不作限定。
具体实现时,该流量监控装置所在的网络设备接收到第一报文后,可以由网络设备中的NP芯片从第一报文中提取报文头(或者,提取payload中的部分数据和报文头),再由该NP芯片中的流量监控装置依据所提取的部分进行流量监控。
在S101和S102之间,流量监控装置可以获取第一报文的目标性能指标的测量值,并基于该测量值更新用于临时存储待监控报文的目标性能指标的测量值的寄存器中第一信息的值和第二信息的值,更新后该寄存器中的第一信息的值为该第一报文的目标性能指标的测量值,更新后该寄存器中的第二信息的值为1。这样,为后续完成对第一报文的监控提供了数据基础。
S102,流量监控装置确定该流量监控装置中是否包括第一寄存器,该第一寄存器包括第一信息和第二信息,该第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第一寄存器中的第一信息的值的报文数量。
S103,响应于流量监控装置确定流量监控装置中包括第一寄存器,流量监控装置将第一寄存器中的第一信息的值更新为第一报文的所述目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
在S101之后,流量监控装置可以从所有用于保存目标性能指标的统计结果的寄存器中确定是否有空的寄存器,如果存在,则将该空的寄存器中的任意一个寄存器记作第一寄存器,执行S103。例如,假设确定流量监控装置中存在多个空寄存器时,可以选择与非空寄存器相邻的空寄存器作为第一寄存器。
以图4a为例,假设流量监控装置包括的R1~R4均为空,当流量监控装置接收到报文1时,可以将R1~R4任意一个寄存器确定为第一寄存器,例如,将R1作为第一寄存器,并将该R1中第一信息的值更新为报文1的目标性能指标(如时延)的测量值7,将该R1中第二信息的值更新为1(即将R1中更新前第二信息的值0加1)。
假设在图4a中第一个部分之后,流量监控装置接收到报文2,可以将空的R2~R4中任意一个寄存器确定为第一寄存器,例如,将与非空寄存器R1相邻的R2作为第一寄存器,将该R2中第一信息的值更新为报文2的目标性能指标的测量值12,将该R2中第二信息的值更新为1。
在一些可能的实现方式中,流量监控装置中的寄存器可以被按照寄存器中的第一信息的值的递增顺序排列,即,以图2所示的流量监控装置120为例,如果R1中第一信息的值为a,R2中第一信息的值为b,R3中第一信息的值为c,R4中第一信息的值为d,且a≤b≤c≤d,那么,4个寄存器的排序依次可以是:R1、R2、R3和R4。
作为一个示例,S102中,还可以将用于临时存储待监控报文的目标性能指标的测量值的寄存器和非空的用于保存目标性能指标的统计结果的寄存器按照第一信息的值进行排序,第一寄存器可以是该用于临时存储待监控报文的目标性能指标的测量值的寄存器所在排序位置对应的用于保存目标性能指标的统计结果的寄存器,该情况下,可以先将该排序位置的寄存器中的统计结果向后迁移,然后再执行S103。例如,在图4a中第二个部分之后,流量监控装置接收到报文3,可以将寄存器R0和R1、R2按照value值的大小排序,得到的顺序为:R1、R0和R2,那么,可以将R2中的value=12、counter=1迁移到R3中,将R2确定为第一寄存器,将该R2中第一信息的值更新为报文3的目标性能指标的测量值8,将该R2中第二信息的值更新为1。这样,可以确保每次更新后,流量监控装置中各个寄存器仍然按照寄存器中的第一信息的值的递增顺序排列。
需要说明的是,流量监控装置中各个寄存器也可以按照寄存器中的第一信息的值的递减顺序排列,具体实现方式可以参见上述递增顺序的相关描述。
如果流量监控装置确定不存在空寄存器(即不包括第一寄存器),则,流量监控装置对所接收报文的监控方法可以参见下述方法200中的相关描述,这里不再赘述。
这样,通过该方法100,无需配置待监测的目标性能指标的取值范围,也不需要对取值范围进行等分来确定每个数据桶的深度,而是将用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度的第一信息,以及用于指示接收的报文中匹配各寄存器中第一信息的值的报文数量的第二信息作为寄存器的两个统计参数,根据接收的报文的目标性能指标的测量值灵活的更新各寄存器中这两个统计参数的值,在确定存在空寄存器时实现对目标性能指标的统计,不仅减少了统计目标性能指标的配置工作量,还由于不再局限统计的整体取值范围以及各个寄存器统计的取值子范围,使得获得更加全面、准确的统计结果成为可能,从而,能够更加准确的知悉网络设备的真实运行状况。
作为一个示例,参见图6,本申请实施例提供的另一种流量监控方法200例如可以包括下述S201~S203:
S201,流量监控装置接收第二报文。
其中,该第二报文可以是业务报文,也可以是控制报文,在本申请实施例不作限定。
具体实现时,该流量监控装置所在的网络设备接收到第二报文后,可以由网络设备中的NP芯片从第二报文中提取报文头(或者,提取payload中的部分数据和报文头),再由该NP芯片中的流量监控装置依据所提取的部分进行流量监控。
在S201和S202之间,流量监控装置可以获取第二报文的目标性能指标的测量值,并基于该测量值更新用于临时存储待监控报文的目标性能指标的测量值的寄存器中第一信息的值和第二信息的值,更新后该寄存器中的第一信息的值为该第二报文的目标性能指标的测量值,更新后该寄存器中的第二信息的值为1。这样,为后续完成对第二报文的监控提供了数据基础。
S202,流量监控装置确定流量监控装置中是否包括第二寄存器,该第二寄存器包括第一信息和第二信息,该第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的所述目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第二寄存器中的第一信息的值的报文数量。
S203,响应于流量监控装置确定流量监控装置中不包括第二寄存器,流量监控装置执行下述S2031和S2032:
S2031,流量监控装置根据流量监控装置包括的第三寄存器中第一信息的值和第三寄存器中的第二信息的值更新流量监控装置包括的第四寄存器中第一信息的值和第四寄存器中第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和。
S2032,流量监控装置将第三寄存器中的第二信息的值清零。
在S201之后,流量监控装置可以从所有用于保存目标性能指标的统计结果的寄存器中确定是否有空的寄存器,如果不存在,则可以确定S202中的判断结果是:确定流量监控装置中不包括第二寄存器,从而执行S203。
具体实现时,当基于S202的判断确定流量监控装置中不包括空的第二寄存器时,流量监控装置还需要确定第三寄存器和第四寄存器,才可以完成对第二报文的目标性能指标的监控。例如,将流量监控装置中的所有用于保存目标性能指标的统计结果的寄存器以及一个用于临时存储待监控报文的目标性能指标的测量值的寄存器按照第一信息的值递增顺序排列,从而确定待处理的第三寄存器和第四寄存器。
所确定的第三寄存器和第四寄存器是排序后相邻的两个寄存器,本申请实施例确定相邻的第三寄存器和第四寄存器的方式包括但不限于下述四种可能的实现方式:
实现方式一,第三寄存器和第四寄存器确定为S203中待处理的寄存器,例如可以依据:第三寄存器中的第二信息的值与第四寄存器中的所述第二信息的值的和小于第一阈值。以图4b中第五个部分之后接收到报文11’为例,排序后各寄存器的顺序为:R0、R1、R2、R3和R4,假设第一阈值为4,则,只有R2和R3中counter的值之和3小于第一阈值4,而且,R0位于R2和R3的左侧,从而确定第三寄存器是R2,第四寄存器是R3。
实现方式二,第三寄存器和第四寄存器确定为S203中待处理的寄存器,例如还可以依据:第三寄存器中第二信息的值与第四寄存器第二信息的值的和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值的和。仍然以图4b中第五个部分之后接收到报文11’为例,排序后各寄存器的顺序为:R0、R1、R2、R3和R4,计算每两个相邻R的counter的值之和,得到的counter的值之和分别为:6、6、3和4,确定counter的值之和最小的是3,3是R2和R3中counter的值之和,而且,R0位于R2和R3的左侧,从而确定第三寄存器是R2,第四寄存器是R3。
实现方式三,第三寄存器和第四寄存器确定为S203中待处理的寄存器,例如还可以依据:第三寄存器中的第二信息的值与第四寄存器中的所述第二信息的值的加权和小于第一阈值。以图4b中第五个部分之后接收到报文11’为例,排序后各寄存器的顺序为:R0、R1、R2、R3和R4,假设第一阈值为0.5,R0、R1、R2、R3和R4的权重分别为0.2、0.2、0.2、0.1和0.3,计算每两个相邻R的counter的值的加权和,得到的counter的值加权和分别为:(1*0.2+5*0.2)=1.2、(5*0.2+1*0.2)=1.2、(1*0.2+2*0.1)=0.4以及(2*0.1+2*0.3)=0.8则,只有R2和R3中counter的值的加权和为0.4小于第一阈值0.5,而且,R0位于R2和R3的左侧,从而确定第三寄存器是R2,第四寄存器是R3。
实现方式四,第三寄存器和第四寄存器确定为S203中待处理的寄存器,例如还可以依据:第三寄存器中第二信息的值与第四寄存器第二信息的值的加权和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值的加权和。仍然以图4b中第五个部分之后接收到报文11’为例,排序后各寄存器的顺序为:R0、R1、R2、R3和R4,假设R0、R1、R2、R3和R4的权重分别为0.2、0.2、0.2、0.1和0.3,计算每两个相邻R的counter的值的加权和,得到的counter的值加权和分别为:(1*0.2+5*0.2)=1.2、(5*0.2+1*0.2)=1.2、(1*0.2+2*0.1)=0.4以及(2*0.1+2*0.3)=0.8,确定counter的值的加权和最小的是0.4,0.4是R2和R3中counter的值的加权和,而且,R0位于R2和R3的左侧,从而确定第三寄存器是R2,第四寄存器是R3。
可见,流量监控装置预先为每个寄存器设置对应的权重,根据权重与对应寄存器的第二信息的值的加权和确定S203中待处理的第三寄存器和第四寄存器,实现以预设的权重干预各个寄存器的数据桶中统计结果的效果,使得流量监控装置获得的统计结果更接近真实的目标性能指标的分布情况,进一步提高流量监控的精度。需要说明的是,各个寄存器对应的权重可以相同也可以不同,本申请实施例不做具体限定。
流量监控装置采用第三寄存器更新第四寄存器,作为一个示例,可以以两个寄存器中第一信息的值加权平均获得更新后第四寄存器的第一信息的值,权重分别为两个寄存器中第二信息的值,例如,第三寄存器中第一信息的值为a,第三寄存器中第二信息的值为b,第四寄存器中第一信息的值为c,第四寄存器中第二信息的值为d,则,更新后第四寄存器中第一信息的值可以等于[(a*b+c*d)/(b+d)]。作为另一个示例,可以以两个寄存器中第一信息的值的平均值作为更新后第四寄存器的第一信息的值,例如,第三寄存器中第一信息的值为a,第四寄存器中第一信息的值为c,则,更新后第四寄存器中第一信息的值可以等于[(a+c)/2]。本申请实施例中对于采用第三寄存器更新第四寄存器的具体实现方式不作限定,上述仅为示例性的说明。下文中以加权平均的方式更新第四寄存器为例进行说明。
在一些可能的实现方式中,第三寄存器可以是用于临时存储待监控报文的目标性能指标的测量值的寄存器,第四寄存器为排序后与该用于临时存储待监控报文的目标性能指标的测量值的寄存器相邻的用于保存目标性能指标的统计结果的寄存器。S203例如可以包括:流量监控装置根据第三寄存器中第一信息的值、第三寄存器中第二信息的值(即1)、第四寄存器中第一信息的值和第四寄存器中第二信息的值,更新第四寄存器中第一信息的值,并将第四寄存器中的第二信息的值的加1;将第三寄存器中第二信息的值清零。例如,以图4b中第六个部分之后接收到报文12’为例,排序后各寄存器的顺序为:R0、R1、R2、R3和R4,确定第三寄存器是R0,第四寄存器是R1,那么,更新后的R1中的value的值可以为[(4*1+6*1)/(1+1)]=5,更新后R1中counter的值可以为(1+1)=2;同时,将R0中的counter的值清零,以便对下一个待监控报文的目标性能指标的测量值进行临时保存,此外,流量监控装置还可以将R0中的value值也清零。
在另一些可能的实现方式中,第三寄存器和第四寄存器可以均为用于保存目标性能指标的统计结果的寄存器。S203例如可以包括:流量监控装置根据第三寄存器中第一信息的值、第三寄存器中第二信息的值(即1)、第四寄存器中第一信息的值和第四寄存器中第二信息的值,更新第四寄存器中第一信息的值,并将第四寄存器中的第二信息的值的加第三寄存器中第二信息的值;之后,将第三寄存器中第二信息的值清零。例如,以图4b中第五个部分之后接收到报文11’为例,排序后各寄存器的顺序为:R0、R1、R2、R3和R4,确定第三寄存器是R2,第四寄存器是R3,那么,更新后的R3中的value的值可以为[(8*1+11*2)/(1+2)]=10,更新后R3中counter的值可以为(1+2)=3;同时,将R2中的counter的值清零。如果排序后用于临时存储待监控报文的目标性能指标的测量值的寄存器与第三寄存器不相邻,则,流量监控装置可以通过数据迁移的方式实现对第二报文的监控,例如,上述举例中,将R2中的counter的值清零后,流量监控装置还可以将R1中的value=7、counter=5迁移到R2中,将R0中的value=6、counter=1迁移到R1中,并将R0中的counter的值清零。如此,确保完成对第二报文的监控之后,各寄存器还按照第一信息的值的递增顺序排序。
该实现方式中,如果排序后用于临时存储待监控报文的目标性能指标的测量值的寄存器与第三寄存器相邻且位于第三寄存器之前,则,流量监控装置可以将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,而且,将第三寄存器中的第二信息的值加一。
需要说明的是,在确定流量监控装置中不包括空寄存器时,该流量监控装置还可以确定是否存在与该第二报文的目标性能指标的测量值匹配的第四寄存器的第一信息的值,如果有,则,可以基于第二报文更新第四寄存器,更新后的第四寄存器中第一信息的值可以保持不变,或者,更新后第四寄存器中第一信息的值可以为更新前第四寄存器中第一信息的值和第二报文的目标性能指标的测量值的平均值(或加权平均值);更新后第四寄存器中第二信息的值为更新前第四寄存器中第二信息的值加1。
作为一个示例,流量监控装置确定该第二报文的目标性能指标的测量值与第四寄存器的第一信息的值匹配,可以包括:该流量监控装置确定第二报文的目标性能指标的测量值属于第四寄存器中所述第一信息的值对应的数值范围。例如,第四寄存器中第一信息的值为5,对应的数值范围为1~10,那么,如果第二报文的目标性能指标的测量值为7,则,可以确定该第二报文的目标性能指标的测量值与第四寄存器的第一信息的值匹配。又例如,第四寄存器中第一信息的值为5,对应的数值范围为5±3,那么,如果第二报文的目标性能指标的测量值为7,则,可以确定该第二报文的目标性能指标的测量值与第四寄存器的第一信息的值匹配。
作为另一个示例,流量监控装置确定该第二报文的目标性能指标的测量值与第四寄存器的第一信息的值匹配,也可以包括:流量监控装置确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第二报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。例如,流量监控装置包括第四寄存器和第五寄存器,第四寄存器中第一信息的值为5,第五寄存器中第一信息的值为12,如果第二报文的目标性能指标的测量值为7,那么,由于(7-5)<(12-7),则,可以确定该第二报文的目标性能指标的测量值与第四寄存器的第一信息的值匹配。
具体实现时,在确定流量监控装置中不包括空寄存器时,该流量监控装置还可以确定是否存在与所接收报文的目标性能指标的测量值匹配的寄存器的第一信息的值,如果有,则,可以基于第二报文更新该所匹配的寄存器。例如,流量监控装置可以接收第三报文,该流量监控装置确定该第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,则,该流量监控装置将第三寄存器中的第二信息的值加一。其中,更新后的第三寄存器中第一信息的值可以保持不变,或者,更新后第三寄存器中第一信息的值可以为更新前第三寄存器中第一信息的值和第三报文的目标性能指标的测量值的平均值(或加权平均值)。又例如,流量监控装置可以接收第四报文,该流量监控装置确定该第四报文的目标性能指标的测量值匹配第四寄存器中的第一信息的值,则,该流量监控装置将第四寄存器中的第二信息的值加一。其中,更新后的第四寄存器中第一信息的值可以保持不变,或者,更新后第四寄存器中第一信息的值可以为更新前第四寄存器中第一信息的值和第四报文的目标性能指标的测量值的平均值(或加权平均值)。
具体实现时,包括该流量监控装置的网络设备中的控制装置(如CPU),或者,与包括该流量监控装置的网络设备通信的网络设备,可以在任何需要的时刻从流量监控装置中获取各个寄存器中保存的统计结果,基于所获取的统计结果确定该目标性能指标的概率分布。该概率分布能够体现流量监控装置所在的网络设备到获取时刻目标性能指标的情况,例如,该网络设备目标性能指标小于某个数值的报文占所接收的所有报文的比例;又例如,该网络设备的目标性能指标规定的合格率或次品率对应的目标性能指标的取值为多少,通常用于表示网络设备的目标性能指标的标定值。
可见,通过该方法200,无需配置待监测的目标性能指标的取值范围,也不需要对取值范围进行等分来确定每个数据桶的深度,而是将用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度的第一信息,以及用于指示接收的报文中匹配各寄存器中第一信息的值的报文数量的第二信息作为寄存器的两个统计参数,根据接收的报文的目标性能指标的测量值灵活的更新各寄存器中这两个统计参数的值,在确定不存在空寄存器时实现对目标性能指标的统计,不仅减少了统计目标性能指标的配置工作量,还由于不再局限统计的整体取值范围以及各个寄存器统计的取值子范围,使得获得更加全面、准确的统计结果成为可能,从而,能够更加准确的知悉网络设备的真实运行状况。
上述方法100和方法200中,流量监控装置中参与统计的寄存器越多,根据统计结果生成的CDF就会越接近基于所有目标性能指标的真实值获得的CDF,即,统计结果会越准确,所以,方法100和方法200对于硬件资源丰富(即寄存器资源较多)的网络设备的性能指标的监控效果更加突出。
基于上述方法实施例,本申请实施例还提供了一种流量监控装置,下面将结合附图对该装置进行说明。
参见图7,该图为本申请实施例提供的一种流量监控装置700的结构示意图,该装置700例如可以是流量监控装置120,执行图3所示的方法,该装置700可以包括:第一接收单元701、第一确定单元702和第二确定单元703。
第一接收单元701,用于接收第一报文。
其中,第一接收单元701的具体实现可以参见图5所述实施例中S101的详细描述。
第一确定单元702,用于确定流量监控装置700中是否包括第一寄存器,第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示流量监控装置700接收的报文中匹配第一寄存器中的第一信息的值的报文数量。
其中,第一确定单元702的具体实现可以参见图5所述实施例中S102的详细描述。
第二确定单元703,用于响应于流量监控装置700确定流量监控装置700中包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
其中,第二确定单元703的具体实现可以参见图5所述实施例中S103的详细描述。
在一种可能的实现方式中,该装置700还包括:第二接收单元、第三确定单元和第一更新单元。
第二接收单元,用于接收第二报文。
其中,第二接收单元的具体实现可以参见图6所述实施例中S201的详细描述。
第三确定单元,用于确定流量监控装置700中是否包括第二寄存器,第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示流量监控装置700接收的报文中匹配第二寄存器中的第一信息的值的报文数量。
其中,第三确定单元的具体实现可以参见图6所述实施例中S202的详细描述。
第一更新单元,用于响应于流量监控装置700确定流量监控装置700中不包括第二寄存器,根据流量监控装置700包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新流量监控装置700包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。
其中,第一更新单元的具体实现可以参见图6所述实施例中S203的详细描述。
其中,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。又或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于流量监控装置700包括的任意两个相邻寄存器中的第二信息的值的和。再或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置700包括的任意两个相邻寄存器中的第二信息的值加权和。
在一种可能的实现方式中,该装置700还包括:第四确定单元和第二更新单元。第四确定单元,用于确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,第二更新单元,用于将第四寄存器中的第二信息的值加一。
作为一个示例,所述第四确定单元,具体用于:确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。
作为另一个示例,所述第四确定单元,具体用于:确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第二报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。
在一种可能的实现方式中,该装置700还包括:第五确定单元和第三更新单元。其中,第五确定单元,用于确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值;第三更新单元,用于将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。
在一种可能的实现方式中,该装置700还包括:第三接收单元、第六确定单元和第四更新单元。其中,第三接收单元,用于接收第三报文;第六确定单元,用于确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,第四更新单元,用于将第三寄存器中的第二信息的值加一。
作为一个示例,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置700中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置700中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置700被包括在处理芯片中,例如,可以集成在NP芯片中。
关于流量监控装置700具体可执行的功能和实现,可以参见图3所示的方法、图5所示的方法100以及图6所示的方法200中的相应描述,此处不再赘述。
相应的,本申请实施例还提供了一种流量监控装置800,如图8所示。该装置800包括处理器801和收发器802。
收发器802,用于接收第一报文。
处理器801,用于确定流量监控装置中是否包括第一寄存器,第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示流量监控装置接收的报文中匹配第一寄存器中的第一信息的值的报文数量。
处理器801,还用于响应于确定流量监控装置中包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
其中,收发器802的具体实现可以参见图5所述实施例中S101的详细描述。处理器801的具体实现可以参见图5所述实施例中S102~S103的详细描述。
在一种可能的实现方式中,收发器802,还用于接收第二报文;处理器801,还用于确定流量监控装置800中是否包括第二寄存器,第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示流量监控装置800接收的报文中匹配第二寄存器中的第一信息的值的报文数量;处理器801,还用于响应于流量监控装置800确定流量监控装置800中不包括第二寄存器,根据流量监控装置800包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新流量监控装置800包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。其中,收发器802的具体实现可以参见图6所述实施例中S201的详细描述。处理器801的具体实现可以参见图6所述实施例中S202~S203的详细描述。
其中,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。又或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于流量监控装置800包括的任意两个相邻寄存器中的第二信息的值的和。再或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置800包括的任意两个相邻寄存器中的第二信息的值加权和。
在一种可能的实现方式中,处理器801,还用于确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,流量监控装置800将第四寄存器中的第二信息的值加一。其中,处理器801,具体用于:确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。或者,处理器801,具体用于:确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第一报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。
在一种可能的实现方式中,处理器801,还用于确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值,流量监控装置800将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。
在一种可能的实现方式中,收发器802,还用于接收第三报文;处理器801,还用于确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,流量监控装置800将第三寄存器中的第二信息的值加一。
作为一个示例,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置800中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置800中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置800被包括在处理芯片中,例如,可以集成在NP芯片中。
关于流量监控装置800具体可执行的功能和实现,可以参见图3所示的方法、图5所示的方法100以及图6所示的方法200中的相应描述,此处不再赘述。
相应的,本申请实施例还提供了一种集成电路900,如图9所示。该集成电路900包括控制电路901和接口电路902。
接口电路902,用于接收第一报文。
控制电路901,用于确定集成电路900中是否包括第一寄存器,第一寄存器包括第一信息和第二信息,第一寄存器中的第二信息的值为零,第一寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第一寄存器中的第二信息用于指示集成电路900接收的报文中匹配第一寄存器中的第一信息的值的报文数量。
控制电路901,还用于响应于确定集成电路900中包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。
其中,接口电路902的具体实现可以参见图5所述实施例中S101的详细描述。控制电路901的具体实现可以参见图5所述实施例中S102~S103的详细描述。
在一种可能的实现方式中,接口电路902,还用于接收第二报文;控制电路901,还用于确定集成电路900中是否包括第二寄存器,第二寄存器包括第一信息和第二信息,第二寄存器中的第二信息的值为零,第二寄存器中的第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,第二寄存器中的第二信息用于指示集成电路900接收的报文中匹配第二寄存器中的第一信息的值的报文数量;控制电路901,还用于响应于集成电路900确定集成电路900中不包括第二寄存器,根据集成电路900包括的第三寄存器中的第一信息的值和第三寄存器中的第二信息的值更新集成电路900包括的第四寄存器中的第一信息的值和第四寄存器中的第二信息的值,更新后的第四寄存器中的第二信息的值等于第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和;和将第三寄存器中的第二信息的值清零。
其中,接口电路902的具体实现可以参见图6所述实施例中S601的详细描述。控制电路901的具体实现可以参见图6所述实施例中S202~S203的详细描述。
其中,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和小于第一阈值。或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和小于第一阈值。又或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的和不大于集成电路900包括的任意两个相邻寄存器中的第二信息的值的和。再或者,第三寄存器与第四寄存器相邻,第三寄存器中的第二信息的值与第四寄存器中的第二信息的值的加权和不大于流量监控装置包括的任意两个相邻寄存器中的第二信息的值加权和。
在一种可能的实现方式中,控制电路901,还用于确定第二报文的目标性能指标的测量值匹配更新后的第四寄存器中的第一信息的值,集成电路900将第四寄存器中的第二信息的值加一。其中,控制电路901,具体用于:确定第二报文的目标性能指标的测量值属于第四寄存器中第一信息的值对应的数值范围。或者,控制电路901,具体用于:确定第二报文的目标性能指标的测量值与第四寄存器中的第一信息的值的差,小于第一报文的目标性能指标的测量值与其他寄存器中的第一信息的值的差。
在一种可能的实现方式中,控制电路901,还用于确定第二报文的目标性能指标的测量值不匹配更新后的第四寄存器中的第一信息的值,集成电路900将第三寄存器中的第一信息的值更新为第二报文的目标性能指标的测量值,和将第三寄存器中的第二信息的值加一。
在一种可能的实现方式中,收发器,还用于接收第三报文;控制电路901,还用于确定第三报文的目标性能指标的测量值匹配第三寄存器中的第一信息的值,集成电路900将第三寄存器中的第二信息的值加一。
作为一个示例,第三寄存器位于第一寄存器和第四寄存器之间,其中,第三寄存器与第一寄存器相邻,且第三寄存器与第四寄存器相邻,第三寄存器中的第一信息的值大于第一寄存器中的第一信息的值,且第三寄存器中的第一信息的值小于第四寄存器中的第一信息的值。
本申请实施例中,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。或者,流量监控装置中的寄存器被按照寄存器中的第一信息的值的递减顺序排列。
本申请实施例中,目标性能指标包括下述指标中的任意一种:时延、报文长度、接收报文时间间隔或队列占用率。
本申请实施例中,该流量监控装置被包括在处理芯片中,例如,可以集成在NP芯片中。
关于集成电路900具体可执行的功能和实现,可以参见图3所示的方法、图5所示的方法100以及图6所示的方法200中的相应描述,此处不再赘述。
图10为本申请实施例提供的一种通信设备1000的结构示意图,该通信设备1000例如可以是图2所示实施例中的网络设备10,或者也可以是图7所示实施例中的流量监控装置700所在的网络设备,或者也可以是图8所示实施例中的流量监控装置800所在的网络设备,又或者也可以是图9所示实施例中的集成电路900所在的网络设备。
请参阅图10所示,通信设备1000包括:处理器1010、通信接口1020和存储器1030。其中通信设备1000中的处理器1010的数量可以一个或多个,图10中以一个处理器为例。本申请实施例中,处理器1010、通信接口1020和存储器1030可通过总线系统或其它方式连接,其中,图10中以通过总线系统1040连接为例。
处理器1010可以是CPU、NP、或者CPU和NP的组合。处理器1010还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信接口1020用于接收和发送报文,具体地,通信接口1020可以包括接收接口和发送接口。其中,接收接口可以用于接收报文,发送接口可以用于发送报文。通信接口1020的个数可以为一个或多个。
存储器1030可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1030也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1030还可以包括上述种类的存储器的组合。
可选地,存储器1030存储有操作系统和程序、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,程序可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。处理器1010可以读取存储器1030中的程序,实现本申请实施例提供的流量监控方法。
其中,存储器1030可以为通信设备1000中的存储器件,也可以为独立于通信设备1000的存储装置。
总线系统1040可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线系统1040可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图11是本申请实施例提供的另一种通信设备1100的结构示意图,通信设备1100可以配置为前述图2所示实施例中的网络设备10,或者也可以是图7所示实施例中的流量监控装置700所在的网络设备,或者也可以是图8所示实施例中的流量监控装置800所在的网络设备,又或者也可以是图9所示实施例中的集成电路900所在的网络设备,再或者也可以是图10所示的通信设备1000。
通信设备1100包括:主控板1110和接口板1130。
主控板1110也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1110对通信设备1100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1110包括:中央处理器1111和存储器1112。
接口板1130也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板1130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板1130包括:中央处理器1131、网络处理器1132、转发表项存储器1134和物理接口卡(ph8sical interface card,PIC)1133。
接口板1130上的中央处理器1131用于对接口板1130进行控制管理并与主控板1110上的中央处理器1111进行通信。
网络处理器1132用于实现报文的转发处理。网络处理器1132的形态可以是转发芯片。具体而言,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡1133用于实现物理层的对接功能,原始的流量由此进入接口板1130,以及处理后的报文从该物理接口卡1133发出。物理接口卡1133包括至少一个物理接口,物理接口也称物理口,物理接口卡1133对应于系统架构中的FlexE物理接口。物理接口卡1133也称为子卡,可安装在接口板1130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1132处理。在一些实施例中,接口板1130的中央处理器1131也可执行网络处理器1132的功能,比如基于通用CPU实现软件转发,从而物理接口卡1133中不需要网络处理器1132。
可选地,通信设备1100包括多个接口板,例如通信设备1100还包括接口板1140,接口板1140包括:中央处理器1141、网络处理器1142、转发表项存储器1144和物理接口卡1143。
可选地,通信设备1100还包括交换网板1120。交换网板1120也可以称为交换网板单元(switch fabric unit,SFU)。在通信设备有多个接口板1130的情况下,交换网板1120用于完成各接口板之间的数据交换。例如,接口板1130和接口板1140之间可以通过交换网板1120通信。
主控板1110和接口板1130耦合。例如。主控板1110、接口板1130和接口板1140,以及交换网板1120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板1110和接口板1130之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1110和接口板1130之间通过IPC通道进行通信。
在逻辑上,通信设备1100包括控制面和转发面,控制面包括主控板1110和中央处理器1131,转发面包括执行转发的各个组件,比如转发表项存储器1134、物理接口卡1133和网络处理器1132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1132基于控制面下发的转发表对物理接口卡1133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1134中。在一些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果通信设备1100被配置为网络设备10,中央处理器1111可以获取第一报文的目标性能指标的测量值,确定是否包括空的第一寄存器,响应于确定包括第一寄存器,将第一寄存器中的第一信息的值更新为第一报文的所述目标性能指标的测量值,和将第一寄存器中的第二信息的值加一。网络处理器1132可以触发物理接口卡1133接收第一报文。
应理解,流量监控装置800中的收发器802可以相当于通信设备1100中的物理接口卡1133或物理接口卡1143;流量监控装置800中的处理器802可以相当于通信设备1100中的中央处理器1111或中央处理器1131。流量监控装置700中的第一接收单元701可以相当于通信设备1100中的物理接口卡1133或物理接口卡1143;流量监控装置700中的第一确定单元702和第二确定单元703等可以相当于通信设备1100中的中央处理器1111或中央处理器1131。
应理解,本申请实施例中接口板1140上的操作与接口板1130的操作一致,为了简洁,不再赘述。应理解,本实施例的通信设备1100可对应于上述各个方法实施例中的流量监控装置或集成电路,该通信设备1100中的主控板1110、接口板1130和/或接口板1140可以实现上述各个方法实施例中的流量监控装置中所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
应理解,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,通信设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,通信设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,通信设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的通信设备的数据接入和处理能力要大于集中式架构的设备。可选地,通信设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等通信设备)。具体采用哪种架构,取决于具体的组网部署场景。
在一些可能的实施例中,上述各网络设备或通信设备可以实现为虚拟化设备。例如,虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(英文:Virtual Machine,VM),虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。可以将虚拟机配置为图1中的各网络设备。例如,可以基于通用的物理服务器结合网络功能虚拟化(NetworkFunctions Virtualization,NFV)技术来实现各网络设备或通信设备。各网络设备或通信设备为虚拟主机、虚拟路由器或虚拟交换机。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的各网络设备或通信设备,此处不再赘述。
应理解,上述各种产品形态的通信设备,分别具有上述方法实施例中各网络设备或通信设备的任意功能,此处不再赘述。
本申请实施例还提供了一种芯片,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器;处理器,例如可以是图8示出的流量监控装置800的一种具体实现形式,可以用于执行上述流量监控方法。其中,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
本申请实施例还提供了一种计算机可读存储介质,包括指令或计算机程序,当其在计算机上运行时,使得计算机执行以上实施例提供的流量监控方法。
本申请实施例还提供了一种包含指令或计算机程序的计算机程序产品,当其在计算机上运行时,使得计算机执行以上实施例提供的流量监控方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (47)

1.一种流量监控方法,其特征在于,所述方法包括:
流量监控装置接收第一报文;
所述流量监控装置确定所述流量监控装置中是否包括第一寄存器,所述第一寄存器包括第一信息和第二信息,所述第一寄存器中的所述第二信息的值为零,所述第一寄存器中的所述第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,所述第一寄存器中的所述第二信息用于指示所述流量监控装置接收的报文中匹配所述第一寄存器中的所述第一信息的值的报文数量;
响应于所述流量监控装置确定所述流量监控装置中包括所述第一寄存器,所述流量监控装置将所述第一寄存器中的所述第一信息的值更新为所述第一报文的所述目标性能指标的测量值,和将所述第一寄存器中的所述第二信息的值加一。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述流量监控装置接收第二报文;
所述流量监控装置确定所述流量监控装置中是否包括第二寄存器,所述第二寄存器包括所述第一信息和所述第二信息,所述第二寄存器中的所述第二信息的值为零,所述第二寄存器中的所述第一信息用于指示承载被监控报文的所述目标性能指标的测量值的数据桶的深度,所述第二寄存器中的所述第二信息用于指示所述流量监控装置接收的报文中匹配所述第二寄存器中的所述第一信息的值的报文数量;
响应于所述流量监控装置确定所述流量监控装置中不包括所述第二寄存器,所述流量监控装置:
根据所述流量监控装置包括的第三寄存器中的所述第一信息的值和所述第三寄存器中的所述第二信息的值更新所述流量监控装置包括的第四寄存器中的所述第一信息的值和所述第四寄存器中的所述第二信息的值,更新后的所述第四寄存器中的所述第二信息的值等于所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和;和
将所述第三寄存器中的所述第二信息的值清零。
3.根据权利要求2所述的方法,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和小于第一阈值。
4.根据权利要求2所述的方法,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的加权和小于第一阈值。
5.根据权利要求2所述的方法,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和不大于所述流量监控装置包括的任意两个相邻寄存器中的所述第二信息的值的和。
6.根据权利要求2所述的方法,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的加权和不大于所述流量监控装置包括的任意两个相邻寄存器中的所述第二信息的值加权和。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:
所述流量监控装置确定所述第二报文的所述目标性能指标的测量值匹配更新后的所述第四寄存器中的所述第一信息的值,所述流量监控装置将所述第四寄存器中的所述第二信息的值加一。
8.根据权利要求7所述方法,其特征在于,所述流量监控装置确定所述第二报文的所述目标性能指标的测量值匹配更新后的所述第四寄存器中的所述第一信息的值,包括:
所述流量监控装置确定所述第二报文的目标性能指标的测量值属于所述第四寄存器中所述第一信息的值对应的数值范围。
9.根据权利要求7所述的方法,其特征在于,所述流量监控装置确定所述第二报文的所述目标性能指标的测量值匹配更新后的所述第四寄存器中的所述第一信息的值,包括:
所述流量监控装置确定所述第二报文的目标性能指标的测量值与所述第四寄存器中的所述第一信息的值的差,小于所述第二报文的目标性能指标的测量值与其他寄存器中的所述第一信息的值的差。
10.根据权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:
所述流量监控装置确定所述第二报文的所述目标性能指标的测量值不匹配更新后的所述第四寄存器中的所述第一信息的值,所述流量监控装置将所述第三寄存器中的所述第一信息的值更新为所述第二报文的所述目标性能指标的测量值,和将所述第三寄存器中的所述第二信息的值加一。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述流量监控装置接收第三报文;
所述流量监控装置确定所述第三报文的所述目标性能指标的测量值匹配所述第三寄存器中的所述第一信息的值,所述流量监控装置将所述第三寄存器中的所述第二信息的值加一。
12.根据权利要求10所述的方法,其特征在于,所述第三寄存器位于所述第一寄存器和所述第四寄存器之间,其中,所述第三寄存器与所述第一寄存器相邻,且所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第一信息的值大于所述第一寄存器中的所述第一信息的值,且所述第三寄存器中的所述第一信息的值小于所述第四寄存器中的所述第一信息的值。
13.根据权利要求1所述的方法,其特征在于,所述流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。
14.根据权利要求1所述的方法,其特征在于,所述目标性能指标包括下述指标中的任意一种:
时延、报文长度、接收报文时间间隔或队列占用率。
15.根据权利要求1所述的方法,其特征在于,
所述流量监控装置被包括在网络处理器NP芯片中。
16.一种流量监控装置,其特征在于,所述装置包括处理器和收发器,其中:
所述收发器,用于接收第一报文;
所述处理器,用于确定所述流量监控装置中是否包括第一寄存器,所述第一寄存器包括第一信息和第二信息,所述第一寄存器中的所述第二信息的值为零,所述第一寄存器中的所述第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,所述第一寄存器中的所述第二信息用于指示所述流量监控装置接收的报文中匹配所述第一寄存器中的所述第一信息的值的报文数量;
所述处理器,还用于响应于确定所述流量监控装置中包括所述第一寄存器,将所述第一寄存器中的所述第一信息的值更新为所述第一报文的所述目标性能指标的测量值,和将所述第一寄存器中的所述第二信息的值加一。
17.根据权利要求16所述的装置,其特征在于,
所述收发器,还用于接收第二报文;
所述处理器,还用于确定所述流量监控装置中是否包括第二寄存器,所述第二寄存器包括所述第一信息和所述第二信息,所述第二寄存器中的所述第二信息的值为零,所述第二寄存器中的所述第一信息用于指示承载被监控报文的所述目标性能指标的测量值的数据桶的深度,所述第二寄存器中的所述第二信息用于指示所述流量监控装置接收的报文中匹配所述第二寄存器中的所述第一信息的值的报文数量;
所述处理器,还用于响应于所述流量监控装置确定所述流量监控装置中不包括所述第二寄存器,根据所述流量监控装置包括的第三寄存器中的所述第一信息的值和所述第三寄存器中的所述第二信息的值更新所述流量监控装置包括的第四寄存器中的所述第一信息的值和所述第四寄存器中的所述第二信息的值,更新后的所述第四寄存器中的所述第二信息的值等于所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和;和将所述第三寄存器中的所述第二信息的值清零。
18.根据权利要求17所述的装置,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和小于第一阈值。
19.根据权利要求17所述的装置,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的加权和小于第一阈值。
20.根据权利要求17所述的装置,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和不大于所述流量监控装置包括的任意两个相邻寄存器中的所述第二信息的值的和。
21.根据权利要求17所述的装置,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的加权和不大于所述流量监控装置包括的任意两个相邻寄存器中的所述第二信息的值加权和。
22.根据权利要求17-21任一项所述的装置,其特征在于,
所述处理器,还用于确定所述第二报文的所述目标性能指标的测量值匹配更新后的所述第四寄存器中的所述第一信息的值,所述流量监控装置将所述第四寄存器中的所述第二信息的值加一。
23.根据权利要求22所述装置,其特征在于,所述处理器,具体用于:
确定所述第二报文的目标性能指标的测量值属于所述第四寄存器中所述第一信息的值对应的数值范围。
24.根据权利要求22所述的装置,其特征在于,所述处理器,具体用于:
确定所述第二报文的目标性能指标的测量值与所述第四寄存器中的所述第一信息的值的差,小于所述第一报文的目标性能指标的测量值与其他寄存器中的所述第一信息的值的差。
25.根据权利要求17-21任一项所述的装置,其特征在于,
所述处理器,还用于确定所述第二报文的所述目标性能指标的测量值不匹配更新后的所述第四寄存器中的所述第一信息的值,所述流量监控装置将所述第三寄存器中的所述第一信息的值更新为所述第二报文的所述目标性能指标的测量值,和将所述第三寄存器中的所述第二信息的值加一。
26.根据权利要求25所述的装置,其特征在于,
所述收发器,还用于接收第三报文;
所述处理器,还用于确定所述第三报文的所述目标性能指标的测量值匹配所述第三寄存器中的所述第一信息的值,所述流量监控装置将所述第三寄存器中的所述第二信息的值加一。
27.根据权利要求25所述的装置,其特征在于,所述第三寄存器位于所述第一寄存器和所述第四寄存器之间,其中,所述第三寄存器与所述第一寄存器相邻,且所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第一信息的值大于所述第一寄存器中的所述第一信息的值,且所述第三寄存器中的所述第一信息的值小于所述第四寄存器中的所述第一信息的值。
28.根据权利要求16所述的装置,其特征在于,所述流量监控装置中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。
29.根据权利要求16所述的装置,其特征在于,所述目标性能指标包括下述指标中的任意一种:
时延、报文长度、接收报文时间间隔或队列占用率。
30.根据权利要求16所述的装置,其特征在于,
所述流量监控装置被包括在网络处理器NP芯片中。
31.一种集成电路,其特征在于,所述集成电路包括控制电路和接口电路,其中:
所述接口电路,用于接收第一报文;
所述控制电路,用于确定所述集成电路中是否包括第一寄存器,所述第一寄存器包括第一信息和第二信息,所述第一寄存器中的所述第二信息的值为零,所述第一寄存器中的所述第一信息用于指示承载被监控报文的目标性能指标的测量值的数据桶的深度,所述第一寄存器中的所述第二信息用于指示所述集成电路接收的报文中匹配所述第一寄存器中的所述第一信息的值的报文数量;
所述控制电路,还用于响应于确定所述集成电路中包括所述第一寄存器,将所述第一寄存器中的所述第一信息的值更新为所述第一报文的所述目标性能指标的测量值,和将所述第一寄存器中的所述第二信息的值加一。
32.根据权利要求31所述的集成电路,其特征在于,
所述接口电路,还用于接收第二报文;
所述控制电路,还用于确定所述集成电路中是否包括第二寄存器,所述第二寄存器包括所述第一信息和所述第二信息,所述第二寄存器中的所述第二信息的值为零,所述第二寄存器中的所述第一信息用于指示承载被监控报文的所述目标性能指标的测量值的数据桶的深度,所述第二寄存器中的所述第二信息用于指示所述集成电路接收的报文中匹配所述第二寄存器中的所述第一信息的值的报文数量;
所述控制电路,还用于响应于所述集成电路确定所述集成电路中不包括所述第二寄存器,根据所述集成电路包括的第三寄存器中的所述第一信息的值和所述第三寄存器中的所述第二信息的值更新所述集成电路包括的第四寄存器中的所述第一信息的值和所述第四寄存器中的所述第二信息的值,更新后的所述第四寄存器中的所述第二信息的值等于所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和;和将所述第三寄存器中的所述第二信息的值清零。
33.根据权利要求32所述的集成电路,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和小于第一阈值。
34.根据权利要求32所述的集成电路,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的加权和小于第一阈值。
35.根据权利要求32所述的集成电路,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的和不大于所述集成电路包括的任意两个相邻寄存器中的所述第二信息的值的和。
36.根据权利要求32所述的集成电路,其特征在于,
所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第二信息的值与所述第四寄存器中的所述第二信息的值的加权和不大于所述集成电路包括的任意两个相邻寄存器中的所述第二信息的值加权和。
37.根据权利要求32-36任一项所述的集成电路,其特征在于,
所述控制电路,还用于确定所述第二报文的所述目标性能指标的测量值匹配更新后的所述第四寄存器中的所述第一信息的值,所述集成电路将所述第四寄存器中的所述第二信息的值加一。
38.根据权利要求37所述集成电路,其特征在于,所述控制电路,具体用于:
确定所述第二报文的目标性能指标的测量值属于所述第四寄存器中所述第一信息的值对应的数值范围。
39.根据权利要求37所述的集成电路,其特征在于,所述控制电路,具体用于:
确定所述第二报文的目标性能指标的测量值与所述第四寄存器中的所述第一信息的值的差,小于所述第一报文的目标性能指标的测量值与其他寄存器中的所述第一信息的值的差。
40.根据权利要求32-36任一项所述的集成电路,其特征在于,
所述控制电路,还用于确定所述第二报文的所述目标性能指标的测量值不匹配更新后的所述第四寄存器中的所述第一信息的值,所述集成电路将所述第三寄存器中的所述第一信息的值更新为所述第二报文的所述目标性能指标的测量值,和将所述第三寄存器中的所述第二信息的值加一。
41.根据权利要求40所述的集成电路,其特征在于,
所述接口电路,还用于接收第三报文;
所述控制电路,还用于确定所述第三报文的所述目标性能指标的测量值匹配所述第三寄存器中的所述第一信息的值,所述集成电路将所述第三寄存器中的所述第二信息的值加一。
42.根据权利要求40所述的集成电路,其特征在于,所述第三寄存器位于所述第一寄存器和所述第四寄存器之间,其中,所述第三寄存器与所述第一寄存器相邻,且所述第三寄存器与所述第四寄存器相邻,所述第三寄存器中的所述第一信息的值大于所述第一寄存器中的所述第一信息的值,且所述第三寄存器中的所述第一信息的值小于所述第四寄存器中的所述第一信息的值。
43.根据权利要求31所述的集成电路,其特征在于,所述集成电路中的寄存器被按照寄存器中的第一信息的值的递增顺序排列。
44.根据权利要求31所述的集成电路,其特征在于,所述目标性能指标包括下述指标中的任意一种:
时延、报文长度、报文接收时间间隔或队列占用率。
45.根据权利要求31所述的集成电路,其特征在于,
所述集成电路被包括在网络处理器NP芯片中。
46.一种网络设备,其特征在于,所述网络设备包括权利要求16-30任一项所述的流量监控装置,或者,所述网络设备包括权利要求31-45任一项所述的集成电路。
47.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当其在计算机上运行时,使得计算机执行以上权利要求1-15任一项所述的方法。
CN202011235536.3A 2020-08-26 2020-11-06 流量监控方法、装置、集成电路及网络设备 Active CN114124731B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21859545.2A EP4195540A4 (en) 2020-08-26 2021-03-19 TRAFFIC MONITORING METHOD AND DEVICE, INTEGRATED CIRCUIT AND NETWORK DEVICE
PCT/CN2021/081657 WO2022041696A1 (zh) 2020-08-26 2021-03-19 流量监控方法、装置、集成电路及网络设备
US18/173,662 US11777826B2 (en) 2020-08-26 2023-02-23 Traffic monitoring method and apparatus, integrated circuit, and network device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010873634 2020-08-26
CN2020108736343 2020-08-26

Publications (2)

Publication Number Publication Date
CN114124731A CN114124731A (zh) 2022-03-01
CN114124731B true CN114124731B (zh) 2023-03-31

Family

ID=80360695

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011235536.3A Active CN114124731B (zh) 2020-08-26 2020-11-06 流量监控方法、装置、集成电路及网络设备
CN202011233448.XA Active CN114205254B (zh) 2020-08-26 2020-11-06 流量监控方法、装置、集成电路、网络设备及网络系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011233448.XA Active CN114205254B (zh) 2020-08-26 2020-11-06 流量监控方法、装置、集成电路、网络设备及网络系统

Country Status (1)

Country Link
CN (2) CN114124731B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741739A (zh) * 2009-12-01 2010-06-16 中兴通讯股份有限公司 一种交换设备出、入端口报文统计的方法和装置
CN104283699A (zh) * 2013-07-01 2015-01-14 中兴通讯股份有限公司 业务类型确定方法和装置
CN106789450A (zh) * 2017-03-01 2017-05-31 杭州迪普科技股份有限公司 一种报文的特征统计方法及装置
CN107852364A (zh) * 2015-08-10 2018-03-27 高通股份有限公司 多个宽带订阅共享
CN109962832A (zh) * 2017-12-26 2019-07-02 华为技术有限公司 报文处理的方法和装置
CN110087261A (zh) * 2019-04-28 2019-08-02 电子科技大学 一种基于OpenWrt的企业级无线局域网流量控制方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289447B2 (en) * 2003-10-21 2007-10-30 Comcast Cable Holdings, Llc Method and packet-level device for traffic regulation in a data network
EP2040422A1 (en) * 2007-09-19 2009-03-25 British Telecommunications Public Limited Company Methods and apparatus for providing congestion indications
US8751757B1 (en) * 2011-12-30 2014-06-10 Emc Corporation Acquisition and kernel memory storage of I/O metrics
US10001943B2 (en) * 2015-11-06 2018-06-19 HomeAway.com, Inc. Data stream processor and method to throttle consumption of message data in a distributed computing system
US10514997B2 (en) * 2016-09-27 2019-12-24 Eaton Intelligent Power Limited Multi-producer single consumer lock-free queues with producer reference counting
CN110768856B (zh) * 2018-07-27 2022-01-14 华为技术有限公司 网络流测量的方法、网络测量设备以及控制面设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741739A (zh) * 2009-12-01 2010-06-16 中兴通讯股份有限公司 一种交换设备出、入端口报文统计的方法和装置
CN104283699A (zh) * 2013-07-01 2015-01-14 中兴通讯股份有限公司 业务类型确定方法和装置
CN107852364A (zh) * 2015-08-10 2018-03-27 高通股份有限公司 多个宽带订阅共享
CN106789450A (zh) * 2017-03-01 2017-05-31 杭州迪普科技股份有限公司 一种报文的特征统计方法及装置
CN109962832A (zh) * 2017-12-26 2019-07-02 华为技术有限公司 报文处理的方法和装置
CN110087261A (zh) * 2019-04-28 2019-08-02 电子科技大学 一种基于OpenWrt的企业级无线局域网流量控制方法

Also Published As

Publication number Publication date
CN114205254A (zh) 2022-03-18
CN114205254B (zh) 2023-12-15
CN114124731A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
JP7039685B2 (ja) トラフィック測定方法、デバイス、およびシステム
US7577736B1 (en) Network accounting statistics collection
US20220038374A1 (en) Microburst detection and management
US20110296024A1 (en) Data center resource usage and cost determination
US10419965B1 (en) Distributed meters and statistical meters
CN101902395A (zh) 管理主机上的资源的系统和方法
US11050649B2 (en) Delay measurement method of network node device, apparatus, and network node device
JP2015057931A (ja) ネットワーク装置、通信システム、異常トラヒックの検出方法およびプログラム
CN107707612B (zh) 一种负载均衡集群的资源利用率的评估方法及装置
CN111726299B (zh) 流量均衡方法及装置
CN112688837B (zh) 基于时间滑动窗口的网络测量方法与装置
EP4075749A1 (en) Detection method and detection device for heavy flow data stream
CN116566907A (zh) 一种网络拥塞控制方法及相关装置
CN114124731B (zh) 流量监控方法、装置、集成电路及网络设备
CN110113269B (zh) 一种基于中间件的流量控制的方法及相关装置
EP4195609A1 (en) Traffic monitoring method and apparatus, integrated circuit, network device, and network system
US11777826B2 (en) Traffic monitoring method and apparatus, integrated circuit, and network device
CN112511449B (zh) 一种报文流乱序检测方法、报文处理方法及装置
CN116471194A (zh) 流统计方法、装置及系统
CN112152867B (zh) 流量矩阵测量方法、系统以及存储介质
CN115733642A (zh) 流量特征提取方法及装置
WO2023005817A1 (zh) 路径确定方法、装置、设备、系统及计算机可读存储介质
CN114640609A (zh) 一种网络中流量处理、盲点获取方法及装置
EP3965373B1 (en) Abnormality detection method and abnormality detection program
US20230394373A1 (en) Method, apparatus, and system for determining collection period, device, and storage medium

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