CN116095029B - 网络数据流测量方法、系统、终端及存储介质 - Google Patents

网络数据流测量方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN116095029B
CN116095029B CN202211515034.5A CN202211515034A CN116095029B CN 116095029 B CN116095029 B CN 116095029B CN 202211515034 A CN202211515034 A CN 202211515034A CN 116095029 B CN116095029 B CN 116095029B
Authority
CN
China
Prior art keywords
estimator
data stream
measured
estimation
data
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
CN202211515034.5A
Other languages
English (en)
Other versions
CN116095029A (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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202211515034.5A priority Critical patent/CN116095029B/zh
Publication of CN116095029A publication Critical patent/CN116095029A/zh
Application granted granted Critical
Publication of CN116095029B publication Critical patent/CN116095029B/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9021Plurality of buffers per packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络数据流测量方法、系统、终端及存储介质,通过线性计数LC估计器,对待测量数据流进行基数估计,得到第一基数估计值;以及实时获取LC估计器进行基数估计时的估计器状态;在LC估计器的估计器状态为充满状态的情况下,通过超级日志计数HLL估计器,对待测量数据流中未被LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;其中,待测量数据流包括若干数据包;根据第一基数估计值和第二基数估计值,确定待测量数据流的基数估计值。通过上述方案,在用于数据流基数估计的存储空间有限的情况下,有效避免由较小的数据流引起的存储空间浪费,大幅提升了空间利用率,保证了数据流基数估计的高准确度。

Description

网络数据流测量方法、系统、终端及存储介质
技术领域
本发明涉及网络测量技术领域,尤其涉及一种网络数据流测量方法、系统、终端及计算机可读存储介质。
背景技术
数据流是一组有序、有终点和起点的字节的数据序列,其数据规模和数据值范围往往是不可预知的。基数是指一个集合中不同的元素的个数。对数据流进行基数估计,在数据库优化、网络监控、数据分析等领域都有着广泛的应用需求。目前常见的基数估计算法主要有Linear Counting、LogLog Counting、Adaptive Counting及HyperLogLog Counting等,可以将基数估计算法封装为对应的基数估计器,用于估计数据流的基数。例如,LogLogCounting对应的线性计数(LogLog Counting,LC)估计器,HyperLogLog Counting对应的超级日志计数(HyperLogLog Counting,HLL)估计器。
日益增长的网络带宽使得端主机系统逐渐难以更上数据流的线速率,这就使得越来越多的网络测量任务(例如:数据流的基数估计)被卸载在高速硬件上,例如智能网卡、可编程交换机等。但是网络测量任务作为辅助功能,通常智能占据上述高速硬件中的小部分存储资源,例如在可编程交换机中,存储资源有限分配给路由表以及访问控制列表。
传统方式中是将一片连续的存储空间划分为若干相等大小空间以存储对应的基数估计器,并借用Count-Min Sketch的共享机制让每条数据流随机选择几个基数估计器来记录其基数。但是由于实际的数据流往往呈现出高度倾斜的分布,即大部分的数据流为小流,其基数很小,只有少部分是基数较大的大流。由于事先无法获悉大流会映射到哪些基数估计器中,所以每个基数估计器都必须有能力容纳基数最大的数据流,从而需要占用成百上千个比特。
由上述可知,用于数据流基数估计的存储空间有限,因此可用的基数估计器的数量也非常有限,从而加重了流与流之间的哈希冲突,导致数据流基数估计的准确率低。
基于此,如何提供一种在存储空间有限的情况下,能够实现数据流基数高准确率测量成为十分重要的技术问题。
发明内容
本发明的主要目的在于提供一种网络数据流测量方法、系统、终端及计算机可读存储介质,旨在解决现有技术中在有限的存储空间下,数据流基数估计准确度低的技术问题。
为了实现上述目的,本发明实施例提供了一种网络数据流测量方法,所述方法包括:
通过线性计数LC估计器,对待测量数据流进行基数估计,得到第一基数估计值;以及
实时获取所述LC估计器进行基数估计时的估计器状态;
在所述LC估计器的估计器状态为充满状态的情况下,通过超级日志计数HLL估计器,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;其中,所述待测量数据流包括若干所述数据包;
根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。
可选地,若干所述LC估计器存储于第一层存储空间,若干所述HLL估计器存储于第二层存储空间;其中,所述第一层存储空间和所述第二层存储空间为对用于数据流基数估计的连续存储空间划分得到的。
可选地,通过所述LC估计器,对所述待测量数据流进行基数估计,具体包括:
控制所述待测量数据流的数据包依次流入所述第一层存储空间;
通过所述第一层存储空间中的所述LC估计器对流入所述第一层存储空间的所述数据包进行基数估计,得到所述第一基数估计值。
可选地,所述通过所述HLL估计器,对所述待测量数据进行基数估计,得到第二基数估计值,具体包括:
在所述LC估计器的估计器状态为充满状态的情况下,控制所述待测量数据流中未被所述LC估计器进行基数估计的所述数据包流向第二层存储空间;
通过所述第二层存储空间的所述HLL估计器对流入所述第二层存储空间的所述数据包进行基数估计,得到所述第二基数估计值。
可选地,实时获取所述LC估计器进行计数估计时的估计器状态,具体包括:
实时获取所述LC估计器进行基数估计时位图中被置1的比特个数;
在所述LC估计器的所述位图中被置1的比特个数大于预设阈值的情况下,确定所述LC估计器的估计器状态为充满状态;
在所述在所述LC估计器的所述位图中被置1的比特个数小于所述预设阈值的情况下,确定所述LC估计器的估计器状态为非充满状态。
可选地,在获取所述LC估计器的估计器状态之后,所述方法还包括:
在所述LC估计器的估计器状态为非充满状态的情况下,确定所述待测量数据流的所有数据包是否均已进行基数估计;
在所述待测量数据流的数据包均已进行基数估计的情况下,将所述第一基数估计值作为所述待测量数据流的基数估计值。
可选地,所述待测量数据流包括若干子流,每个所述子流包括若干数据包。
可选地,在获取所述待测量数据流之后,所述方法还包括:
按照预设规则,将所述待测量数据流划分为若干子流;
为所述每个子流分配唯一对应的数据流标识;其中,所述数据流标识用于表示所述数据包所属的所述子流;以及
根据在对所述待测量数据流的所述数据包进行基数估计时,为元素相同的所述数据包分配对应的元素标识;
将每个所述数据包的所述数据流标识以及所述元素标识进行存储。
可选地,在得到所述数据包的所述数据流标识以及所述元素标识之后,所述方法还包括:
根据每个所述数据包的所述数据流标识以及所述元素标识,确定所述待测量数据流中每个所述子流的基数值。
可选地,在得到所述第二基数估计值之后,所述方法还包括:
记录得到所述第二基数估计值的次数,并进行存储。
为了实现上述目的,本发明实施例还提供了一种网络数据流测量系统,所述系统包括:
线性计数LC估计器,用于对待测量数据流进行基数估计,得到第一基数估计值;
处理器,用于实时获取所述LC估计器进行计数估计时的估计器状态;
超级日志计数HLL估计器,用于在所述LC估计器的估计器状态为充满状态的情况下,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;
所述处理器还用于根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。
为了实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的网络数据流测量方法中的步骤。
为了实现上述目的,本发明实施例还提供了一种终端,其包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上所述的网络数据流测量方法中的步骤。
本发明先预先设置LC估计器和HLL估计器,再通过LC估计器对待测量数据流进行基数估计,得到第一基数估计值;并实时获取LC估计器进行基数估计时的估计器状态;在LC估计器的估计器状态为充满状态时,通过HLL估计器对待测量数据流中未被LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值,以根据第一基数估计值和第二基数估计值确定待测量数据流的基数估计值。也就是说,在无法预知数据流大小的情况下,先通过LC估计器进行基数估计,对于较小的数据流LC估计器即可完成基数测量,然后根据LC估计器的估计器状态以及待测量数据流确定是否需要使用HLL估计器,再通过HLL估计器对待测量数据流中其他的数据包进行基数估计,从而完成对较大的数据流的基础测量,在用于数据流基数估计的存储空间有限的情况下,可以有效避免由较小的数据流引起的存储空间浪费,大幅提升了空间利用率,从而保证数据流基数估计的高准确度。
附图说明
图1为本发明实施例提供的网络数据流测量方法的流程图;
图2为本发明实施例提供的LC估计器的工作流程示意图;
图3为本发明实施例提供的步骤S103的流程图;
图4为本发明实施例提供的HLL估计器的工作流程示意图;
图5为本发明实施例提供的第一层存储空间、第二层存储空间的架构图;
图6为本发明实施例提供的网络数据流测量方法的另一流程图;
图7为本发明实施例提供的待测量数据流的示意图;
图8为本发明实施例提供的网络数据测量系统的结构示意图;
图9为本发明实施例提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种网络数据流测量方法,如图1所示,本发明实施例的网络数据流测量方法至少包括以下步骤:
S101,接收待测量数据流。
其中,待测量数据流包括若干数据包。
S102,通过LC估计器,对待测量数据流进行基数估计,得到第一基数估计值。
其中,LC估计器存储于第一层存储空间,HLL估计器存储于第二层存储空间,其中,第一层存储空间和第二层存储空间为对用于数据流基数估计的连续存储空间。
在本发明实施例中,可以先为数据流基数估计分配一定的连续存储空间,再将连续存储空间分为两层,即第一层存储空间和第二层存储空间。第一层存储空间中存储若干LC估计器,第二层存储空间存储若干HLL估计器。也就是说,将LC估计器和HLL估计器分别放置在一个双层sketch的不同层之中。
具体地,在获取到待测量数据流后,控制待测量数据流的数据包依次流入第一层存储空间,并为该待测量数据流随机分配一个第一层存储空间中的LC估计器;通过第一层存储空间中的该LC估计器对流入第一层存储空间的数据包进行基数估计,得到第一基数估计值。
更具体地,LC估计器需要维护一个大小为b的位图bm(即一个比特数组),如图2所示,在记录一个元素e(即数据包)时,LC估计器采用预设第一哈希函数h(·)为元素e在位图bm中选择一个位置,然后在该位置记录元素e,记录方式为将bm的第h(e)个比特设置为1,即令bm[h(e)]=1。显然,相同的元素会被记录在同一位置,即只会将一个比特置为1,从而实现去除重复的目的。不难发现,所记录集合的基数越大,即互不相同的元素的个数越多,bm中1的比例(记为r)越大。
LC估计器对所记录的集合(即数据流)的基数估计值为:b×ln(1/(1-r)),该基数估计值是对基数的极大似然估计。
S103,实时获取LC估计器进行基数估计时的估计器状态。
其中,估计器状态包括:充满状态、非充满状态。
如图3所示,步骤S103至少可以通过以下步骤实现:
S301,实时获取LC估计器进行基数估计时位图中被置1的比特个数。
S302,在LC估计器的位图中被置1的比特个数大于预设阈值的情况下,确定LC估计器的估计器状态为充满状态。
S303,在LC估计器的位图中被置1的比特个数小于预设阈值的情况下,确定LC估计器的估计器状态为非充满状态。
其中,上述预设阈值根据LC估计器的位图大小确定,可以等于位图的比特数组数。
S104,在LC估计器的估计器状态为充满状态的情况下,通过HLL估计器,对待测量数据流中未被LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值。
具体地,在LC估计器的估计器状态为充满状态的情况下,控制待测量数据流中未被LC估计器进行基数估计的数据包流向第二层存储空间;为待测量数据流分配一HLL估计器;通过第二层存储空间的HLL估计器对流入第二层存储空间的数据包进行基数估计,得到第二技术估计值。
进一步地,在LC估计器的估计器状态为充满状态的情况下,确定待测量数据流的数据包是否均已进行基数估计,在存在未进行基数估计的数据包的情况下,说明该待测量数据流为较大的数据流,LC估计器无法满足其基数估计的需求,因此将待测量数据流中剩余的其他数据包流向第二层存储空间,通过HLL估计器对待测量数据流中的其他数据包进行基数估计。
更进一步地,HLL估计器用于维护一个长为m(m一般为2的整数次幂)的数组cnts,如图4所示。在记录一个元素e(即数据包)时,HLL估计器用第二预设哈希函数g(·)计算出位串bs=g(e)。另pos=bs&m(其中,&表示按位与),所以pos是一个在0到m-1之间的取整的随机整数,HLL估计器将元素e记录在第pos个计数器cnts[pos]中。然后,计算出bs的前导零个数,记为z。HLL估计器的记录方式为将cnts[pos]更新的到不小于z+1,即:
cnts[pos]=max(cnts[pos],z+1)。
HLL估计器对所记录的集合(数据流)的基数估计值为:
其中,α为常数,是一个校正系数,取值根据m决定。令αm代表不同的m对应的α的取值,则α16=0.673,α32=0.697,α64=0.709,αm≥128=0..7213/(1+1.079/m)。
S105,根据第一基数估计值和第二基数估计值,确定待测量数据流的基数估计值。
在本发明实施例中,将第一基数估计值和第二基数估计值之和,作为待测量数据流的基数估计值。
此外,还可以记录得到所述第二基数估计值的次数,并进行存储。通过第二基数估计值的次数可以对设备的网络传输进行分析。
S106,在LC估计器的估计器状态为非充满状态的情况,确定待测量数据流的所有数据包是否均已进行基数估计。
S107,在所述待测量数据流的所有数据包均已进行基数估计的情况下,将第一基数估计值作为待测量数据流的基数估计值。
在LC估计器的估计器状态为非充满状态、且待测量待测量数据流的数据包均已进行基数估计的情况下,说明LC估计器已完成对待测量数据流的基数估计,则将第一基数估计值作为待测量数据流的基数估计值即可,无需再利用HLL估计器进行基数估计。
如图5所示,将一片连续存储空间分割为两层,第一层存储空间包括若干LC估计器,记为TLC;第二层存储空间包括若干HLL估计器,记为THLL,p2表示一条数据流被第二层记录的概率。如图5所示,当一个数据流f到达时,首先会到达第一层存储空间TLC,通过一个哈希函数φ1(·)为该数据包选择一个LC估计器:Lf:=TLC1(f)],然后利用Lf进行基数估计,并检测LC估计器的估计器状态。在LC估计器的位图中被置为1的比特个数大于预设阈值τ(τ<b),则说明该数据流f为较大的数据流。数据流f会到达第二层存储空间THLL,在第二层存储空间THLL中通过一个哈希函数φ2(·)为数据流f选择一个HLL估计器:Hf:=TLC2(f)]。然后用Hf记录数据包e;否则,则说明数据流f为一条较小的数据流(至少目前是一条较小的数据流),通过Lf即可完成数据流f的基数估计。
例如,图6所示,数据流f1在第一层存储空间中选中了一个LC估计器,该数据流f1中4个互不相同的元素只将3个比特置为1,因此3<τ=4,所以数据流f1没有到达第二层存储空间。数据流f2在第一层存储空间中选中一个LC估计器,该数据流f2的前6个互补相同的元素成功将τ(τ=4)个比特置为1,所以后续出现的元素会到达第二层存储层,并被记录在f2选中的HLL估计器中。
对于一个基数为c的数据流,LC估计器需要的空间开销为O(c·ln(c)),所以LC估计器只需要十几个比特就能处理较小的数据流。而HLL估计器的空间开销与数据流的基数c大小无关,即HLL估计器的空间开销不会随着c的增大而增大,更适合处理较大的数据流。由于在实际应用过程中,数据流往往呈现出高度倾斜的分布,即大部分的数据流是较小的数据流,其基数都较小,只有小部分是基数较大的大数据流。较小的数据流只需要占用较小的存储空间即可。但是由于无法预知数据流的大小,为了保证对数据流基数估计的准确性,往往会使用能够容纳大基数的估计器,在原本有限的存储空间中更加剧了存储空间的浪费,造成数据流基数估计的准确度低。
在本发明实施例提供了一种网络数据流测量方法,预先设置LC估计器和HLL估计器,先通过LC估计器对待测量数据流进行基数估计,得到第一基数估计值;并实时获取LC估计器进行基数估计时的估计器状态;在LC估计器的估计器状态为充满状态时,通过HLL估计器对待测量数据流中未被LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值,以根据第一基数估计值和第二基数估计值确定待测量数据流的基数估计值,也就是说,在无法预知数据流大小的情况下,先通过LC估计器进行基数估计,对于较小的数据流LC估计器即可完成基数测量,然后根据LC估计器的估计器状态以及待测量数据流确定是否需要使用HLL估计器,再通过HLL估计器对待测量数据流中其他的数据包进行基数估计,从而完成对较大的数据流的基础测量,在用于数据流基数估计的存储空间有限的情况下,可以有效避免由较小的数据流引起的存储空间浪费,大幅提升了空间利用率,从而保证数据流基数估计的高准确度。
在本发明的一些实施例中,待测量数据流可以包括若干子流,每个子流包括若干数据包。
进一步地,可以按照预设规则,将待测量数据流划分为若干子流;为每个子流分配唯一对应的数据流标识;以及在对待测量数据流进行基数估计时,为元素相同的数据包分配对应的相同的元素标识;将每个数据包的数据流标识以及元素标识进行存储。如图7所示,f1、f2、f3、f4为数据流标识,e1、e2、e3、e4为元素标识。
上述预设规则可以根据实际情况设定,在本发明实施例中不做限定。例如,在想要从一台网络交换机中检测DDoS时,可以认为携带同一目的IP地址的数据包属于同一条子流,即根据目的IP地址将待测量数据流划分为若干子流。
上述数据流标识用于表示该数据包所属的子流,即数据包属于哪条子流。在本发明实施例中,可以为每个子流分配唯一对应的数据流标识,且每个子流的数据流标识均不相同。例如,可以将目的IP地址作为子流的数据流标识。
上述元素相同也可以根据实际情况进行设定,在本发明实施例中不做具体限定。例如,想要从一台网络交换机中检测DDoS时,可以将一条数据流所包含的同源IP地址的数据包作为元素相同的数据包。在本发明实施例中,可以为相同元素的数据包分配唯一对应的元素标识,且不同元素的数据包的元素标识均不相同,即可以通过元素标识确定数据包之间是否为相同元素例如,将源IP地址作为数据包的元素标识。
在本发明实施例中,将待测量数据流划分为若干子流,并为待测量数据流中每个数据包分配对应的数据流标识和元素标识并进行存储,可以在对待测量数据流进行基数估计的过程中,可以根据每个数据包的数据流标识和元素标识,确定待测量数据流中每个子流的基数值,避免重复测量,进一步节约资源,另外还可以为后续其他的研究提供基础。
需要说明的是,在为待测量数据流中的每个数据包配置相应的元素标识后,在上述步骤S105中,可以根据元素标识,可以确定通过LC估计器和HLL估计器是否记录了相同的元素,在LC估计器和HLL估计器记录了相同的元素时,确定LC估计器和HLL估计器记录的相同元素的个数,此时待测量数据流的基数估计值为:第一基数估计值+第二基数估计值-LC估计器和HLL估计器记录的相同元素的个数。
例如,在元素标识为源IP地址A的情况下,LC估计器中已记录源IP地址A,在LC估计器为充满状态后,待测量数据流中还存在数据包的源IP地址为A,此时该数据包被HLL估计器进行记录,则LC估计器和HLL估计器对相同元素进行了双重记录,则待测量数据流的基数估计值=第一基数估计值+第二基数估计值-1。
通过上述方案,可以进一步提高待测量数据流的基数估计的准确度。
基于上述网络数据流测量方法,本发明实施例还提供了一种网络数据流测量系统,如图8所示,该系统至少包括:处理器810、若干LC估计器820、若干HLL估计器830。
LC估计器820用于对待测量数据流进行基数估计,得到第一基数估计值。处理器810用于实时获取所述LC估计器820进行基数估计时的估计器状态;HLL估计器830用于在所述LC估计器820的估计器状态为充满状态的情况下,对所述待测量数据流中未被所述LC估计器820进行基数估计的数据包进行基数估计,得到第二基数估计值;所述处理器810还用于根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。
基于上述网络数据流测量方法,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的网络数据流测量方法中的步骤。
基于上述网络数据流测量方法,本发明还提供了一种终端,如图9所示,其包括至少一个处理器(processor)90;显示屏91;以及存储器(memory)92,还可以包括通信接口(Communications Interface)93和总线94。其中,处理器90、显示屏91、存储器92和通信接口93可以通过总线94完成相互间的通信。显示屏91设置为显示初始设置模式中预设的用户引导界面。通信接口93可以传输信息。处理器90可以调用存储器92中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器92中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器92作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器90通过运行存储在存储器92中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的网络数据流测量方法。
存储器92可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器92可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (8)

1.一种网络数据流测量方法,其特征在于,所述方法包括:
通过线性计数LC估计器,对待测量数据流进行基数估计,得到第一基数估计值;以及
实时获取所述LC估计器进行基数估计时的估计器状态;
在所述LC估计器的估计器状态为充满状态的情况下,通过超级日志计数HLL估计器,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;其中,所述待测量数据流包括若干所述数据包;
根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值;
若干所述LC估计器存储于第一层存储空间,若干所述HLL估计器存储于第二层存储空间;其中,所述第一层存储空间和所述第二层存储空间为对用于数据流基数估计的连续存储空间划分得到的;
通过所述LC估计器,对所述待测量数据流进行基数估计,具体包括:
控制所述待测量数据流的数据包依次流入所述第一层存储空间;
通过所述第一层存储空间中的所述LC估计器对流入所述第一层存储空间的所述数据包进行基数估计,得到所述第一基数估计值;
所述通过所述HLL估计器,对所述待测量数据进行基数估计,得到第二基数估计值,具体包括:
在所述LC估计器的估计器状态为充满状态的情况下,控制所述待测量数据流中未被所述LC估计器进行基数估计的所述数据包流向第二层存储空间;
通过所述第二层存储空间的所述HLL估计器对流入所述第二层存储空间的所述数据包进行基数估计,得到所述第二基数估计值;
所述待测量数据流包括若干子流,每个所述子流包括若干数据包;
在获取所述待测量数据流之后,所述方法还包括:
按照预设规则,将所述待测量数据流划分为若干子流;
为每个所述子流分配唯一对应的数据流标识;其中,所述数据流标识用于表示所述数据包所属的所述子流;以及
根据在对所述待测量数据流的所述数据包进行基数估计时,为元素相同的所述数据包分配对应的元素标识;
将每个所述数据包的所述数据流标识以及所述元素标识进行存储。
2.根据权利要求1所述的方法,其特征在于,实时获取所述LC估计器进行基数估计时的估计器状态,具体包括:
实时获取所述LC估计器进行基数估计时位图中被置1的比特个数;
在所述LC估计器的所述位图中被置1的比特个数大于预设阈值的情况下,确定所述LC估计器的估计器状态为充满状态;
在所述LC估计器的所述位图中被置1的比特个数小于所述预设阈值的情况下,确定所述LC估计器的估计器状态为非充满状态。
3.根据权利要求1所述的网络数据流测量方法,其特征在于,在获取所述LC估计器进行基数估计时的估计器状态之后,所述方法还包括:
在所述LC估计器的估计器状态为非充满状态的情况下,确定所述待测量数据流的所有数据包是否均已进行基数估计;
在所述待测量数据流的数据包均已进行基数估计的情况下,将所述第一基数估计值作为所述待测量数据流的基数估计值。
4.根据权利要求3所述的网络数据流测量方法,其特征在于,在得到所述数据包的所述数据流标识以及所述元素标识之后,所述方法还包括:
根据每个所述数据包的所述数据流标识以及所述元素标识,确定所述待测量数据流中每个所述子流的基数值。
5.根据权利要求1所述的网络数据流测量方法,其特征在于,在得到所述第二基数估计值之后,所述方法还包括:
记录得到所述第二基数估计值的次数,并进行存储。
6.一种网络数据流测量系统,其特征在于,所述网络数据流测量系统应用于权利要求1-5任意一项的所述网络数据流测量方法,所述系统包括:
线性计数LC估计器,用于对待测量数据流进行基数估计,得到第一基数估计值;
处理器,用于实时获取所述LC估计器的估计器状态;
超级日志计数HLL估计器,用于在所述LC估计器的估计器状态为充满状态的情况下,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;
所述处理器还用于根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-5任意一项所述的网络数据流测量方法中的步骤。
8.一种终端,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求1-5任意一项所述的网络数据流测量方法中的步骤。
CN202211515034.5A 2022-11-30 2022-11-30 网络数据流测量方法、系统、终端及存储介质 Active CN116095029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211515034.5A CN116095029B (zh) 2022-11-30 2022-11-30 网络数据流测量方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211515034.5A CN116095029B (zh) 2022-11-30 2022-11-30 网络数据流测量方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN116095029A CN116095029A (zh) 2023-05-09
CN116095029B true CN116095029B (zh) 2024-05-14

Family

ID=86209144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211515034.5A Active CN116095029B (zh) 2022-11-30 2022-11-30 网络数据流测量方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN116095029B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116800637B (zh) * 2023-08-28 2023-10-24 北京傲星科技有限公司 数据流中数据项基数的估算方法及相关设备
CN117792962B (zh) * 2024-02-28 2024-05-24 苏州大学 一种分布式流基数测量方法、装置及计算机可读存储介质
CN117827851B (zh) * 2024-03-06 2024-05-10 苏州元澄科技股份有限公司 一种用于流基数测量的数据处理结构及其应用

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106709001A (zh) * 2016-12-22 2017-05-24 西安电子科技大学 一种面向流式大数据的基数估计方法
CN107346270A (zh) * 2016-05-05 2017-11-14 北京京东尚科信息技术有限公司 基于实时计算的基数估计的方法和系统
CN110955685A (zh) * 2019-11-29 2020-04-03 北京锐安科技有限公司 一种大数据基数估计方法、系统、服务器和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346270A (zh) * 2016-05-05 2017-11-14 北京京东尚科信息技术有限公司 基于实时计算的基数估计的方法和系统
CN106709001A (zh) * 2016-12-22 2017-05-24 西安电子科技大学 一种面向流式大数据的基数估计方法
CN110955685A (zh) * 2019-11-29 2020-04-03 北京锐安科技有限公司 一种大数据基数估计方法、系统、服务器和存储介质

Also Published As

Publication number Publication date
CN116095029A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN116095029B (zh) 网络数据流测量方法、系统、终端及存储介质
CN109145158B (zh) 一种布隆过滤器中数据的处理方法以及布隆过滤器
US6173384B1 (en) Method of searching for a data element in a data structure
JP2020529171A (ja) トラフィック測定方法、デバイス、およびシステム
CN112671611B (zh) 基于sketch的大流检测方法和装置
CN109117275B (zh) 基于数据分片的对账方法、装置、计算机设备及存储介质
EP3149621A1 (en) Distance queries on massive networks
CN109741060A (zh) 信息查询系统、方法、装置、电子设备及存储介质
US9525727B2 (en) Efficient and scalable pull-based load distribution
CN1980198A (zh) 用于在网络上分条消息有效载荷数据的方法和设备
WO2016202158A1 (zh) 一种报文传输方法、装置及计算机可读存储介质
US20180191584A1 (en) System and method to sample a large data set of network traffic records
CN113810337B (zh) 用于网络报文去重的方法、装置、以及存储介质
CN104182519A (zh) 一种文件扫描方法及装置
CN110944016A (zh) DDoS攻击检测方法、装置、网络设备及存储介质
KR100567320B1 (ko) 인터넷 트래픽 측정을 위한 플로우 생성 방법
CN105471955A (zh) 分布式文件系统的写方法、客户端设备及分布式文件系统
CN108063814B (zh) 一种负载均衡方法及装置
CN108241639B (zh) 一种数据去重方法
WO2016197659A1 (zh) 网络媒体流收包方法、装置及系统
CN112073318A (zh) 聚合链路报文发送和接收方法、装置、设备及存储介质
CN105634999B (zh) 一种介质访问控制地址的老化方法及装置
CN113297430B (zh) 基于Sketch的高性能任意部分键测量方法和系统
CN105373433A (zh) 多核cpu负载均衡方法及装置
CN114020471A (zh) 一种基于草图的轻量级大象流检测方法及平台

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