一种报文统计方法及装置制造方法及图纸

技术编号:19486439 阅读:20 留言:0更新日期:2018-11-17 11:27
本申请实施例提供了一种报文统计方法及装置,报文统计方法包括:从多个端口中选择目标端口;获取目标端口当前收发报文的统计数据;将目标端口当前收发报文的统计数据存储至计数容器;从多个端口中选择另一个端口作为目标端口,返回执行获取目标端口当前收发报文的统计数据的步骤;当网络设备需要获取收发报文的统计数据时,从计数容器中获取计数容器当前存储的统计数据。通过本申请实施例提供的技术方案,计数容器中所存储的各端口收发报文的统计数据具有实时性。基于此,当网络设备需要获取收发报文的统计数据时,网络设备可以直接从计数容器中获取到即时的收发报文的统计数据,有效提高了网络设备获取收发报文的统计数据的实时性及准确性。

【技术实现步骤摘要】
一种报文统计方法及装置
本申请涉及计算机
,特别是涉及一种报文统计方法及装置。
技术介绍
对于网络设备来说,报文的实时统计对于衡量网络设备端口的利用情况起到了很大的作用,在端口上收发方向报文的统计展示了当前网络流量的大小、用户的使用量情况以及网络带宽的适用情况,对于网络的部署和解决方案的选择起到了指导作用。目前,网络设备创建轮询线程,并通过所创建的轮询线程,将待统计的端口加入到该轮询线程列表中。当网络设备需要获取各端口收发报文的统计数据时,所创建的轮询线程只有遍历完一轮之后才能进行一次报文数据的统计,而轮询线程完成一轮端口遍历需要花费较长的时间。这样,遍历端口所花费的时间导致网络设备所获取的收发报文的统计数据缺乏实时性以及不准确。
技术实现思路
本申请实施例的目的在于提供一种报文统计方法及装置,以提高网络设备获取端口收发报文的统计数据的实时性和准确性。具体技术方案如下:第一方面,本申请实施例提供了一种报文统计方法,所述方法应用于网络设备,所述方法包括:从多个端口中选择一个端口,作为目标端口;获取所述目标端口当前收发报文的统计数据;将所述目标端口当前收发报文的统计数据存储至计数容器,所述计数容器用于存储各端口收发报文的统计数据;从所述多个端口中选择另一个端口作为目标端口,并返回执行所述获取所述目标端口当前收发报文的统计数据的步骤;当所述网络设备需要获取收发报文的统计数据时,从所述计数容器中获取所述计数容器当前存储的统计数据。第二方面,本申请实施例提供了一种报文统计装置,所述装置应用于网络设备,所述装置包括:选择模块,用于从多个端口中选择一个端口,作为目标端口;第一获取模块,用于获取所述目标端口当前收发报文的统计数据;存储模块,用于将所述目标端口当前收发报文的统计数据存储至计数容器,所述计数容器用于存储各端口收发报文的统计数据;所述选择模块,还用于从所述多个端口中选择另一个端口作为目标端口,并触发所述第一获取模块;第二获取模块,用于当所述网络设备需要获取收发报文的统计数据时,从所述计数容器中获取所述计数容器当前存储的统计数据。第三方面,本申请实施例提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一所述的报文统计方法步骤。第四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述任一所述的报文统计方法步骤。本申请实施例提供的技术方案中,每获取到一个端口当前收发报文的统计数据之后,就将所获取的统计数据存储至计数容器。这样,计数容器中所存储的各端口收发报文的统计数据具有实时性。基于此,当网络设备需要获取收发报文的统计数据时,网络设备可以直接从计数容器中获取到即时的收发报文的统计数据,有效提高了网络设备获取收发报文的统计数据的实时性及准确性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的报文统计方法的一种流程图;图2为本申请实施例提供的针对报文统计方法的一种结构示意图;图3为本申请实施例提供的报文统计装置的一种结构示意图;图4为本申请实施例提供的网络设备的一种结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面首先对本申请实施例提供的一种报文统计方法进行介绍。该报文统计方法应用于网络设备,其中,网络设备可以为交换机、路由器、防火墙等设备中的任一种。如图1所示的本申请实施例提供的报文统计方法的一种流程图,包括如下步骤。S101,从多个端口中选择一个端口,作为目标端口。在选择目标端口之后,可以创建计数线程,利用所创建的计数线程读取目标端口所对应的寄存器中存储的该目标端口收发报文的统计数据。其中,计数线程可以是由网络设备的内核驱动创建并启动的。计数线程用于读取端口对应的寄存器中存储的该端口收发报文的统计数据。S102,获取目标端口当前收发报文的统计数据。一种实现方式中,网络设备可以通过计数线程读取目标端口所对应的寄存器中存储的该目标端口收发报文的统计数据,进而获取到目标端口当前收发报文的统计数据。其中,每一个端口可以对应至少一个寄存器,寄存器可以用于存储对应端口上收发报文的统计数据。目标端口当前收发报文的统计数据可以是针对预设时间段内目标端口中收发报文的总数量。其中,预设时间段可以是自定义的。例如,预设时间段为当前时刻以前半小时的时间段,即统计目标端口在当前时刻以前半小时的时间段内收发报文的统计数据。一种实施方式中,可以按照报文类型,分别统计目标端口当前收发的报文中各报文类型对应的报文数量。其中,报文类型可以包括正常报文类型和异常报文类型,正常报文类型可以包括单播报文类型、组播报文类型和广播报文类型。正常报文类型所包括的报文类型可以不仅限于上述三种,在此不再一一列举。具体地,按照报文类型进行统计时,分别统计目标端口中异常报文类型的报文的数量、单播报文类型的报文的数量、组播报文类型的报文的数量以及广播报文类型的报文的数量。例如,网络设备所获取的目标端口当前收发报文的统计数据为:异常报文类型的报文的数量为1,正常报文类型的报文的数量为10。其中,在正常报文类型的报文中,单播报文类型的报文的数量为3,组播报文类型的报文的数量为4,广播报文类型的报文的数量为3。S103,将目标端口当前收发报文的统计数据存储至计数容器。其中,计数容器用于存储各端口收发报文的统计数据。计数容器存储的统计数据是按端口分类存储的,即每一端口所对应的统计数据是由该端口的报文数据统计得到的;在每一端口对应的统计数据中,还可以按照报文类型进一步地进行分类存储。将目标端口当前收发报文的统计数据存储至计数容器时,若计数容器中未存储该目标端口的统计数据,则计数容器创建目标端口与统计数据的对应关系,再将所获取的目标端口的统计数据存储于所创建的对应关系中;若计数容器中已存储有目标端口的统计数据,即计数容器中已存在目标端口与统计数据的对应关系,则将计数容器中已存储的目标端口对应的统计数据,更新为所获取的目标端口的统计数据。例如,计数容器中已存储的目标端口对应的报文类型包括组播类型和广播类型,其中,组播类型的报文的数量为10,广播类型的报文的数量为15。所获取的目标端口当前收发报文的统计数据包括:组播类型的报文的数量为3,广播类型的报文的数量为5。则当所获取的目标端口的统计数据存储至计数容器时,对计数容器中所存储的目标端口的统计数据进行更新,更新后的目标端口对应的组播类型的报文的数量为13,广播类型的报文的数量为20。一种实施方式中,为了提高各端口收发报文的统计数据的准确度,当目标端口为预设的标记本文档来自技高网...

【技术保护点】
1.一种报文统计方法,其特征在于,所述方法应用于网络设备,所述方法包括:从多个端口中选择一个端口,作为目标端口;获取所述目标端口当前收发报文的统计数据;将所述目标端口当前收发报文的统计数据存储至计数容器,所述计数容器用于存储各端口收发报文的统计数据;从所述多个端口中选择另一个端口作为目标端口,并返回执行所述获取所述目标端口当前收发报文的统计数据的步骤;当所述网络设备需要获取收发报文的统计数据时,从所述计数容器中获取所述计数容器当前存储的统计数据。

【技术特征摘要】
1.一种报文统计方法,其特征在于,所述方法应用于网络设备,所述方法包括:从多个端口中选择一个端口,作为目标端口;获取所述目标端口当前收发报文的统计数据;将所述目标端口当前收发报文的统计数据存储至计数容器,所述计数容器用于存储各端口收发报文的统计数据;从所述多个端口中选择另一个端口作为目标端口,并返回执行所述获取所述目标端口当前收发报文的统计数据的步骤;当所述网络设备需要获取收发报文的统计数据时,从所述计数容器中获取所述计数容器当前存储的统计数据。2.根据权利要求1所述的方法,其特征在于,所述获取所述目标端口当前收发报文的统计数据,包括:按照报文类型,分别统计所述目标端口当前收发的报文中各报文类型对应的报文数量;将所述各报文类型对应的报文数量作为所述目标端口当前收发报文的统计数据。3.根据权利要求2所述的方法,其特征在于,所述报文类型包括正常报文类型和异常报文类型,所述正常报文类型包括单播报文类型、组播报文类型和广播报文类型。4.根据权利要求3所述的方法,其特征在于,所述将所述目标端口当前收发报文的统计数据存储至计数容器的步骤,包括:当所述目标端口为预设的标记端口时,从硬件计数器中获取所述硬件计数器记录的所述目标端口收发正常报文类型对应的报文的数量;根据所述硬件计数器记录的所述目标端口收发正常报文类型对应的报文的数量,对所述目标端口当前收发报文的统计数据中正常报文类型对应的报文数量进行校准;将经过校准的所述目标端口当前收发报文的统计数据存储至计数容器。5.根据权利要求1所述的方法,其特征在于,所述从所述多个端口中选择另一个端口作为目标端口,包括:以轮询的方式,从所述多个端口中选择另一个端口作为目标端口。6.一种报文统计装置,其特征在于,所述装置应用于网络设备,所述装置包括:选择模块,用于从多个端口中选择一个端口,作为目标端口;第一获取模块,用于获取所述...

【专利技术属性】
技术研发人员:王春磊
申请(专利权)人:新华三信息安全技术有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1