CN105939218B - 网络流量的统计方法及装置 - Google Patents

网络流量的统计方法及装置 Download PDF

Info

Publication number
CN105939218B
CN105939218B CN201610235200.4A CN201610235200A CN105939218B CN 105939218 B CN105939218 B CN 105939218B CN 201610235200 A CN201610235200 A CN 201610235200A CN 105939218 B CN105939218 B CN 105939218B
Authority
CN
China
Prior art keywords
cpu
storage unit
concordance list
uninterrupted
message flow
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
CN201610235200.4A
Other languages
English (en)
Other versions
CN105939218A (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech 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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201610235200.4A priority Critical patent/CN105939218B/zh
Publication of CN105939218A publication Critical patent/CN105939218A/zh
Application granted granted Critical
Publication of CN105939218B publication Critical patent/CN105939218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种网络流量的统计方法及装置,所述方法包括:所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系;将所述报文流的流量大小写入查询到的所述存储单元中;控制CPU周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。在本申请中,由于不需要多次对流量内存进行设置锁和解锁,因此可以解决相关技术中网络设备对网络流量统计效率低的问题。

Description

网络流量的统计方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及一种网络流量的统计方法及装置。
背景技术
随着计算机的发展,网络管理人员越来越关注用户对于网站的访问情况。网络管理人员可以从网站的访问量大小以及访问量的变化来分析用户的潜在需求变化,从而对网站的内容进行调整以吸引更多访问量。
在统计网站的访问量时,为了提高统计效率,网络设备使用多个CPU(CentralProcessing Unit,中央处理器)对网络流量进行统计,并将统计出的此网络流量的流量大小写入流量统计内存中。由于网络设备使用多个CPU对网络流量进行并行统计,因此为了避免出现因多个CPU同时对流量统计内存执行写操作而造成写入内存空间的统计结果不准确的问题,相关技术使用了锁机制,即当某个CPU对流量统计内存执行写操作之前,对该流量统计内存设置锁,以使其他CPU无法对该流量统计内存执行写操作,当该CPU完成对该流量统计内存的写操作时,可以解锁上述锁,以使其他CPU可以对该流量统计内存执行写操作。
由上述内容可知,相关技术可以通过锁机制来解决因多个CPU同时对流量统计内存执行写操作而造成的对网络流量的统计结果不准确的问题,但是当有较大的网络流量经过设备时,在将该网络流量的流量大小写入流量统计内存的过程中需要频繁对上述锁进行操作,从而导致网络设备对网络流量的统计效率低。
发明内容
有鉴于此,本申请提供一种网络流量的统计方法及装置,来解决相关技术中网络设备对网络流量统计效率低的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种网络流量的统计方法,所述方法应用于网络设备上,所述网络设备包括多个中央处理器CPU,以及为所述多个CPU分配的预设大小的存储空间,其中,所述多个CPU包括至少一控制CPU,所述存储空间被预先划分为若干存储单元,所述方法包括:
所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系;
将所述报文流的流量大小写入查询到的所述存储单元中;
控制CPU周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。
可选的,所述基于所述报文流的接收时间从预设的索引表中查询对应的存储单元之前,还包括:
对所述多个CPU的存储空间进行等大小划分得到若干存储单元;
为划分得到的所述若干存储单元分别设定对应的时间索引;
基于划分得到的所述若干存储单元以及对应的时间索引为所述多个CPU分别创建所述索引表。
可选的,所述基于所述报文流的接收时间从预设的索引表中查询对应的存储单元包括:
基于所述报文流的接收时间计算对应的时间索引;
基于所述时间索引从所述索引表中查询对应的存储单元。
可选的,所述方法还包括:
清空除控制CPU之外的其余各CPU的索引表中对应于当前时间的前一个存储单元。
可选的,所述方法还包括:
清空所述控制CPU的索引表中对应于当前时间的后一个存储单元。
根据本申请实施例的第二方面,提供一种网络流量的统计装置,所述装置应用于网络设备上,所述网络设备包括多个中央处理器CPU,以及为所述多个CPU分配的预设大小的存储空间,其中,所述多个CPU包括至少一控制CPU,所述存储空间被预先划分为若干存储单元,所述装置包括:
查询单元,用于所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系;
写入单元,用于将所述报文流的流量大小写入查询到的所述存储单元中;
累加单元,用于控制CPU周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。
可选的,所述装置还包括:
划分单元,用于对所述多个CPU的存储空间进行等大小划分得到若干存储单元;
设定单元,用于为划分得到的所述若干存储单元分别设定对应的时间索引;
创建单元,用于基于划分得到的所述若干存储单元以及对应的时间索引为所述多个CPU分别创建所述索引表。
可选的,所述查询单元具体用于:
基于所述报文流的接收时间计算对应的时间索引;
基于所述时间索引从所述索引表中查询对应的存储单元。
可选的,所述装置还包括:
第一清空单元,用于清空除控制CPU之外的其余各CPU的索引表中对应于当前时间的前一个存储单元。
可选的,所述装置还包括:
第二清空单元,用于清空所述控制CPU的索引表中对应于当前时间的后一个存储单元。
在本申请中,当网络设备上的多个CPU接收到报文流时,可以基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表可以包括若干存储单元与时间索引的对应关系,然后可以将所述报文流的流量大小写入查询到的存储单元中,控制CPU可以周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。应用本申请不需要多次对流量内存进行设置锁和解锁,从而可以解决相关技术中网络设备对网络流量统计效率低的问题。
附图说明
图1是相关技术中网络设备执行网络流量统计的应用场景图;
图2是本申请一实施例示出的一种网络流量的统计方法的流程图;
图3是本申请一实施例示出的一种网络流量的统计装置所在的网络设备的硬件结构图;
图4是本申请一实施例示出的网络流量的统计装置的逻辑框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为相关技术中网络设备执行网络流量统计的应用场景图,在该应用场景中,该网络设备可以包括多个CPU,且该多个CPU均可以对接收到的网络流量进行统计。
当网络流量流经某个CPU,如CPU1时,该CPU可以对此网络流量进行统计,然后将统计出的此流量的大小写入流量统计内存中。由于网络设备使用多个CPU对网络流量进行并行统计,因此为了避免出现因多个CPU同时对流量统计内存执行写操作而造成写入内存空间的统计结果不准确的问题,相关技术中通过使用锁机制来避免多个CPU将各自统计出的流量大小同时写入统计内存。即当某个CPU对流量统计内存执行写操作之前,会为流量统计内存设置锁,然后在该锁的保护下对流量统计内存执行写操作,当该CPU完成对流量统计内存的写操作时,再将该锁解锁,由于在将该锁进行解锁之前,其它CPU均无法针对统计内存执行写操作,因而通过这种方式,可以避免出现多个CPU在并行统计报文流的流量时,同时对内存空间执行写操作而造成的统计结果不准确的问题。
然而,相关技术虽然可以通过锁机制来解决因多个CPU同时对内存执行写操作而造成的对网络流量的统计结果不准确的问题,但是,当有较大的网络流量经过设备时,在将该网络流量的流量大小写入流量统计内存的过程中需要频繁对流量内存进行设置锁和解锁,从而导致网络设备对网络流量的统计效率低。
有鉴于此,本申请提供一种网络流量的统计方法及装置来解决相关技术中网络流量统计效率低的问题,在本申请中,当网络设备上的多个CPU接收到报文流时,可以基于该报文流的接收时间从预设的索引表中查询对应的存储单元,其中,上述索引表可以包括若干存储单元与时间索引的对应关系,然后可以将该报文流的流量大小写入查询到的存储单元中,控制CPU可以周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将该些流量大小进行累加得到累加值,并将该累加值累加写入控制CPU的索引表中对应于当前时间的前一存储单元中。应用本申请不需要多次对流量内存进行设置锁和解锁,从而可以解决相关技术中网络设备对网络流量统计效率低的问题。
参见图2,是本申请一实施例示出的一种网络流量的统计方法的流程图,该实施例应用于网络设备,包括以下步骤:
步骤201:所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系。
在本例中,上述网络设备可以包括多个CPU,其中,所述多个CPU包括至少一控制CPU。网络设备上的多个CPU可以用于统计并记录通过网络设备的网络流量的流量大小,控制CPU可以用于统计该多个CPU已记录的网络流量的流量大小。
在示出的一个实施例中,网络设备可以在流量统计内存上为各CPU分别分配预设大小的用于流量统计的存储空间。同时,对于为各CPU划分的上述存储空间,还可以由网络设备预先进行等大小划分得到若干存储单元,其中,各CPU的存储空间划分的存储单元的数量可以相同。
例如,假设网络设备具有3个CPU,则网络设备可以在内存中划分出三段预设大小的存储空间,其中,每一段存储空间与一个CPU相对应。对于为各CPU划分出的上述存储空间,还可以由网络设备将其划分为若干等大小的存储单元。
需要说明的是,对该多个CPU的存储空间的具体划分数量可以由设备性能或用户自定义设置,本申请对此不做限制。
例如,假设网络设备设定的流量统计周期为分钟,则可以将每一段存储空间划分为60个等大小的存储单元,每一个存储单元可以存储一秒的流量大小。
在本例中,将每个CPU对应的存储空间划分为等大小的若干个存储单元后,还可以为每个存储单元设定对应的时间索引。
其中,在为每个存储单元设定对应的时间索引时,可以基于该存储单元实际能存储的流量大小来设定,设置的时间索引可以为一个时间段,也可以是一个时间点。
在示出的一个实施例中,仍以网络设备设定的流量统计周期为分钟为例,如果将每一段存储空间划分为60个等大小的存储单元,每个存储单元可以对应存储1秒的网络流量的流量大小,假设CPU上的第一个存储单元存储第0秒的网络流量,那么可以将第一个存储单元的时间索引设定为第0秒到第1秒,也可以设置为第1秒。相似的,此时该CPU上的第二个存储单元则可以设置为第1秒到第2秒,或者也可以设置为第2秒,以此类推。
在本例中,为每个存储单元设定对应的时间索引后,可以基于存储单元以及对应的时间索引为网络设备上的每个CPU分别创建对应的索引表。其中,索引表可以包括存储单元与时间索引的对应关系。
在示出的一个实施例中,可以假设索引表包括存储单元以及与存储单元对应的时间索引,则当每个存储单元对应存储1秒的网络流量的流量大小时,某一CPU上的部分索引表可以如表1或表2所示:
存储单元 时间索引
100字节 第0秒-第1秒
111字节 第1秒-第2秒
101字节 第2秒-第3秒
表1
存储单元 时间索引
100字节 第1秒
111字节 第2秒
101字节 第3秒
表2
在示出的另一个实施例中,可以假设索引表只包括存储单元,则当每个存储单元对应存储1秒的网络流量的流量大小时,某一CPU上的部分索引表可以如表3所示:
存储单元
100字节
111字节
101字节
表3
在本例中,当网络设备接收到报文流时,可以基于该报文流的接收时间从预设的索引表中查询对应的存储单元,具体地,网络设备可以先基于该报文流的接收时间计算出对应的时间索引,然后再基于该时间索引从预设的索引表中查询对应的存储单元。
在示出的一个实施例中,假设网络设备接收到报文流的时间为2015年9月16日9时32分1秒,此时网络设备可以基于该报文流的接收时间计算出对应的时间索引。假设网络设备上CPU的索引表中每个存储单元可以存储1秒的流量大小,则由接收到报文流的时间为1秒可知,与该报文流的时间对应的时间索引可以为索引表中的第二个时间索引,当基于该第二个时间索引从索引表中查询存储单元时,可以得到该索引表中的第二个存储单元。
步骤202:将所述报文流的流量大小写入查询到的所述存储单元中。
在本例中,基于报文流的接收时间从预设的索引表中查询对应的存储单元后,网络设备可以将该报文流的流量大小写入索引表对应的存储单元中。
在示出的一个实施例中,假设上述实施例中报文流的流量大小为100字节,由上述实施例查询到的存储单元为索引表中的第二个存储单元可知,可以将该流量大小写入该存储单元中,假设该索引表如表3所示,则将100字节写入如表3所示的索引表的第二个存储单元后,可以得到如表4所示的索引表:
存储单元
100字节
211字节
101字节
表4
需要说明的是,计算报文流流量大小的技术为现有技术,本申请在此不再赘述。
步骤203:控制CPU周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。
在本例中,可以预先在控制CPU上绑定并开启一个定时器,以使控制CPU可以周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,并将所述流量大小进行累加得到累加值。
在示出的一个实施例中,开启定时器后,控制CPU可以通过在每个时间索引内执行一次定时器回调函数来实现周期性的遍历各CPU。有关于定时器回调函数的技术为现有技术,本申请在此不再赘述。
在一个实施例中,将上述累加值累加写入控制CPU的索引表中对应于当前时间的前一存储单元后,可以清空除控制CPU之外的其余各CPU的索引表中对应于当前时间的前一个存储单元,以防止控制CPU重复累加该些CPU存储单元中的数值。
在示出的一个实施例中,可以假设网络设备上除控制CPU之外包括2个CPU,且该2个CPU上的部分索引表都如表1所示,假设当前时间为1秒,此时控制CPU可以遍历该2个CPU,并从该2个CPU的索引表中对应于当前时间的前一个存储单元中获取流量大小,由表1可知,该2个CPU的索引表中对应于当前时间的存储单元为第二个存储单元,则该2个CPU的索引表中对应于当前时间的前一个存储单元可以为索引表的第一个存储单元。因此,控制CPU可以从该2个CPU的索引表的第一个存储单元中获取流量大小,并将获取到的流量大小进行累加得到累加值。如表1所示的索引表的第一个存储单元中记录的流量大小为100字节,因此,控制CPU通过对获取到的流量大小的累加可以得到累加值200字节,然后控制CPU可以将上述累加值累加写入其索引表中对应于当前时间的前一个存储单元中。
在上述实施例中,当控制CPU从该2个CPU的索引表的第一个存储单元获取流量大小后,可以清空该2个CPU的索引表的第一个存储单元,以防止对该2个CPU的索引表的第一个存储单元中的流量大小进行重复累加。将如表1所示的索引表的第一个存储单元清空后,该2个CPU上的索引表可以如表5所示:
存储单元 时间索引
0字节 第0秒-第1秒
111字节 第1秒-第2秒
101字节 第2秒-第3秒
表5
在另一个实施例中,将上述累加值累加写入控制CPU的索引表中对应于当前时间的前一存储单元后,可以清空控制CPU的索引表中对应于当前时间的后一个存储单元,以存放下一个时间索引内网络流量的流量大小。
在示出的一个实施例中,可以假设将上述累加值对应写入控制CPU的索引表后控制CPU的索引可以如表4所示,且当前时间为1秒。此时,可以清空控制CPU的索引表中对应于当前时间的后一个存储单元,由表4可知,控制CPU的索引表中对应于当前时间的存储单元为第二个存储单元,则对应于当前时间的后一个存储单元可以为第三个存储单元。此时,控制CPU可以清空该存储单元,以存放下一个时间索引内网络流量的流量大小。将如表4所示的索引表的第三个存储单元清空后,控制CPU的索引表可以如表6所示:
存储单元
100字节
211字节
0字节
表6
在本申请中,当网络设备上的多个CPU接收到报文流时,可以基于该报文流的接收时间从预设的索引表中查询对应的存储单元,其中,上述索引表可以包括若干存储单元与时间索引的对应关系,然后可以将该报文流的流量大小写入查询到的存储单元中,控制CPU可以周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将该些流量大小进行累加得到累加值,并将该累加值累加写入控制CPU的索引表中对应于当前时间的前一存储单元中。应用本申请不需要多次对流量内存进行设置锁和解锁,从而可以解决相关技术中网络设备对网络流量统计效率低的问题。
与前述网络流量的统计方法的实施例相对应,本申请还提供了网络流量的统计装置的实施例。
本申请网络流量的统计装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请一实施例示出的一种网络流量的统计装置所在的网络设备的硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。
请参考图4,为本申请一实施例示出的网络流量的统计装置的逻辑框图:
该装置可以包括:查询单元410、写入单元420以及累计单元430。
查询单元410,用于所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系;
写入单元420,用于将所述报文流的流量大小写入查询到的所述存储单元中;
累加单元430,用于控制CPU周期性的遍历各CPU的索引表,将所述索引表中对应于当前时间的前一存储单元中记录的流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。
在一个可选的实施方式中,所述装置还可以包括(图4中未示出):
划分单元440,用于对所述多个CPU的存储空间进行等大小划分得到若干存储单元;
设定单元450,用于为划分得到的所述若干存储单元分别设定对应的时间索引;
创建单元460,用于基于划分得到的所述若干存储单元以及对应的时间索引为所述多个CPU分别创建所述索引表。
在一个可选的实施方式中,所述装置可以具体用于:
基于所述报文流的接收时间计算对应的时间索引;
基于所述时间索引从所述索引表中查询对应的存储单元。
在一个可选的实施方式中,所述装置还可以包括(图4中未示出):
第一清空单元470,用于清空除控制CPU之外的其余各CPU的索引表中对应于当前时间的前一个存储单元。
在一个可选的实施方式中,所述装置还可以包括(图4中未示出):
第二清空单元480,用于清空所述控制CPU的索引表中对应于当前时间的后一个存储单元。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
在本申请中,当网络设备上的多个CPU接收到报文流时,可以基于该报文流的接收时间从预设的索引表中查询对应的存储单元,其中,上述索引表可以包括若干存储单元与时间索引的对应关系,然后可以将该报文流的流量大小写入查询到的存储单元中,控制CPU可以周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将该些流量大小进行累加得到累加值,并将该累加值累加写入控制CPU的索引表中对应于当前时间的前一存储单元中。应用本申请不需要多次对流量内存进行设置锁和解锁,从而可以解决相关技术中网络设备对网络流量统计效率低的问题。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种网络流量的统计方法,其特征在于,所述方法应用于网络设备上,所述网络设备包括多个中央处理器CPU,以及为所述多个CPU分配的预设大小的存储空间,其中,所述多个CPU包括至少一控制CPU,所述存储空间被预先划分为若干存储单元,所述方法包括:
所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系;
将所述报文流的流量大小写入查询到的所述存储单元中;
控制CPU周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。
2.根据权利要求1所述的方法,其特征在于,所述基于所述报文流的接收时间从预设的索引表中查询对应的存储单元之前,还包括:
对所述多个CPU的存储空间进行等大小划分得到若干存储单元;
为划分得到的所述若干存储单元分别设定对应的时间索引;
基于划分得到的所述若干存储单元以及对应的时间索引为所述多个CPU分别创建所述索引表。
3.根据权利要求2所述的方法,其特征在于,所述基于所述报文流的接收时间从预设的索引表中查询对应的存储单元包括:
基于所述报文流的接收时间计算对应的时间索引;
基于所述时间索引从所述索引表中查询对应的存储单元。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
清空除控制CPU之外的其余各CPU的索引表中对应于当前时间的前一个存储单元。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
清空所述控制CPU的索引表中对应于当前时间的后一个存储单元。
6.一种网络流量的统计装置,其特征在于,所述装置应用于网络设备上,所述网络设备包括多个中央处理器CPU,以及为所述多个CPU分配的预设大小的存储空间,其中,所述多个CPU包括至少一控制CPU,所述存储空间被预先划分为若干存储单元,所述装置包括:
查询单元,用于所述多个CPU接收到报文流时,基于所述报文流的接收时间从预设的索引表中查询对应的存储单元,其中,所述索引表包括若干存储单元与时间索引的对应关系;
写入单元,用于将所述报文流的流量大小写入查询到的所述存储单元中;
累加单元,用于控制CPU周期性的遍历各CPU,从各CPU的索引表中对应于当前时间的前一存储单元中获取流量大小,将所述流量大小进行累加得到累加值,并将所述累加值累加写入所述控制CPU的索引表中对应于当前时间的前一存储单元中。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
划分单元,用于对所述多个CPU的存储空间进行等大小划分得到若干存储单元;
设定单元,用于为划分得到的所述若干存储单元分别设定对应的时间索引;
创建单元,用于基于划分得到的所述若干存储单元以及对应的时间索引为所述多个CPU分别创建所述索引表。
8.根据权利要求7所述的装置,其特征在于,所述查询单元具体用于:
基于所述报文流的接收时间计算对应的时间索引;
基于所述时间索引从所述索引表中查询对应的存储单元。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一清空单元,用于清空除控制CPU之外的其余各CPU的索引表中对应于当前时间的前一个存储单元。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二清空单元,用于清空所述控制CPU的索引表中对应于当前时间的后一个存储单元。
CN201610235200.4A 2016-04-15 2016-04-15 网络流量的统计方法及装置 Active CN105939218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610235200.4A CN105939218B (zh) 2016-04-15 2016-04-15 网络流量的统计方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610235200.4A CN105939218B (zh) 2016-04-15 2016-04-15 网络流量的统计方法及装置

Publications (2)

Publication Number Publication Date
CN105939218A CN105939218A (zh) 2016-09-14
CN105939218B true CN105939218B (zh) 2019-02-19

Family

ID=57152252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610235200.4A Active CN105939218B (zh) 2016-04-15 2016-04-15 网络流量的统计方法及装置

Country Status (1)

Country Link
CN (1) CN105939218B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413413A (zh) * 2019-07-26 2019-11-05 北京蜜莱坞网络科技有限公司 一种数据写入方法、装置、设备及存储介质
CN112817967B (zh) * 2020-12-30 2023-09-29 北京天融信网络安全技术有限公司 流量数据存储方法、装置、电子设备及存储介质
CN115150171B (zh) * 2022-06-30 2023-11-10 北京天融信网络安全技术有限公司 一种流量统计方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101442490A (zh) * 2008-12-30 2009-05-27 北京畅讯信通科技有限公司 流量负载均衡处理方法
CN101598967A (zh) * 2009-06-23 2009-12-09 中兴通讯股份有限公司 多核防火墙单板及其运行方法
CN102571477A (zh) * 2010-12-31 2012-07-11 深圳市恒扬科技有限公司 一种流量统计装置、芯片以及设备
US8301754B1 (en) * 2007-04-10 2012-10-30 Google Inc. Statistics overlay

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301754B1 (en) * 2007-04-10 2012-10-30 Google Inc. Statistics overlay
CN101442490A (zh) * 2008-12-30 2009-05-27 北京畅讯信通科技有限公司 流量负载均衡处理方法
CN101598967A (zh) * 2009-06-23 2009-12-09 中兴通讯股份有限公司 多核防火墙单板及其运行方法
CN102571477A (zh) * 2010-12-31 2012-07-11 深圳市恒扬科技有限公司 一种流量统计装置、芯片以及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络读者访问流量统计分析系统的研究与实现;耶健;《现代图书情报技术 2005年》;20050630(第6期);全文

Also Published As

Publication number Publication date
CN105939218A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
CN104011683B (zh) 虚拟机管理方法以及虚拟机管理装置
CN104601696B (zh) 服务处理方法、服务调用系统、装置和系统
CN105939218B (zh) 网络流量的统计方法及装置
DE102017125180A1 (de) Synchrone Hardware-Ereignis-Sammlung
CN103326953A (zh) 一种基于令牌桶的流量限制方法和装置
CN108574645A (zh) 一种队列调度方法及装置
CN109246210A (zh) 物联网通信方法与装置
CN109587072A (zh) 分布式系统全局限速系统及方法
CN103036721A (zh) 云计算环境下的流量统计方法
CN110046187A (zh) 数据处理系统、方法及装置
CN109412875A (zh) zookeeper集群自动维护方法及装置
CN110134430A (zh) 一种数据打包方法、装置、存储介质和服务器
CN109359109A (zh) 一种基于分布式流计算的数据处理方法及系统
CN108062235A (zh) 数据处理方法及装置
CN103309843B (zh) 服务器的配置方法和系统
CN109033365A (zh) 一种数据处理方法及相关设备
CN109800074A (zh) 任务数据并发执行方法、装置以及电子设备
CN109117295A (zh) 一种交易超时监控方法及装置
CN108984427A (zh) 一种基于申威架构的设备中内存的处理方法及装置
CN110324411A (zh) 一种业务分流方法及装置
CN106304122A (zh) 一种业务数据分析方法及系统
CN105939373B (zh) 删除无效arp表项的方法及装置
CN109274609A (zh) 一种端口设置方法、装置、交换网板及可读存储介质
CN108021597A (zh) 一种并行计数器、服务器和一种计数方法
CN105939229A (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
CB02 Change of applicant information

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant before: Hangzhou Dipu Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant