当前位置: 首页 > 专利查询>鹏城实验室专利>正文

网络数据流测量方法、系统、终端及存储介质技术方案

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

【技术实现步骤摘要】
网络数据流测量方法、系统、终端及存储介质


[0001]本专利技术涉及网络测量
,尤其涉及一种网络数据流测量方法、系统、终端及计算机可读存储介质。

技术介绍

[0002]数据流是一组有序、有终点和起点的字节的数据序列,其数据规模和数据值范围往往是不可预知的。基数是指一个集合中不同的元素的个数。对数据流进行基数估计,在数据库优化、网络监控、数据分析等领域都有着广泛的应用需求。目前常见的基数估计算法主要有Linear Counting、LogLog Counting、Adaptive Counting及HyperLogLog Counting等,可以将基数估计算法封装为对应的基数估计器,用于估计数据流的基数。例如,LogLog Counting对应的线性计数(LogLog Counting,LC)估计器,HyperLogLog Counting对应的超级日志计数(HyperLogLog Counting,HLL)估计器。
[0003]日益增长的网络带宽使得端主机系统逐渐难以更上数据流的线速率,这就使得越来越多的网络测量任务(例如:数据流的基数估计)被卸载在高速硬件上,例如智能网卡、可编程交换机等。但是网络测量任务作为辅助功能,通常智能占据上述高速硬件中的小部分存储资源,例如在可编程交换机中,存储资源有限分配给路由表以及访问控制列表。
[0004]传统方式中是将一片连续的存储空间划分为若干相等大小空间以存储对应的基数估计器,并借用Count

Min Sketch的共享机制让每条数据流随机选择几个基数估计器来记录其基数。但是由于实际的数据流往往呈现出高度倾斜的分布,即大部分的数据流为小流,其基数很小,只有少部分是基数较大的大流。由于事先无法获悉大流会映射到哪些基数估计器中,所以每个基数估计器都必须有能力容纳基数最大的数据流,从而需要占用成百上千个比特。
[0005]由上述可知,用于数据流基数估计的存储空间有限,因此可用的基数估计器的数量也非常有限,从而加重了流与流之间的哈希冲突,导致数据流基数估计的准确率低。
[0006]基于此,如何提供一种在存储空间有限的情况下,能够实现数据流基数高准确率测量成为十分重要的技术问题。

技术实现思路

[0007]本专利技术的主要目的在于提供一种网络数据流测量方法、系统、终端及计算机可读存储介质,旨在解决现有技术中在有限的存储空间下,数据流基数估计准确度低的技术问题。
[0008]为了实现上述目的,本专利技术实施例提供了一种网络数据流测量方法,所述方法包括:
[0009]通过线性计数LC估计器,对待测量数据流进行基数估计,得到第一基数估计值;以及
[0010]实时获取所述LC估计器进行基数估计时的估计器状态;
[0011]在所述LC估计器的估计器状态为充满状态的情况下,通过超级日志计数HLL估计器,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;其中,所述待测量数据流包括若干所述数据包;
[0012]根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。
[0013]可选地,若干所述LC估计器存储于第一层存储空间,若干所述HLL估计器存储于第二层存储空间;其中,所述第一层存储空间和所述第二层存储空间为对用于数据流基数估计的连续存储空间划分得到的。
[0014]可选地,通过所述LC估计器,对所述待测量数据流进行基数估计,具体包括:
[0015]控制所述待测量数据流的数据包依次流入所述第一层存储空间;
[0016]通过所述第一层存储空间中的所述LC估计器对流入所述第一层存储空间的所述数据包进行基数估计,得到所述第一基数估计值。
[0017]可选地,所述通过所述HLL估计器,对所述待测量数据进行基数估计,得到第二基数估计值,具体包括:
[0018]在所述LC估计器的估计器状态为充满状态的情况下,控制所述待测量数据流中未被所述LC估计器进行基数估计的所述数据包流向第二层存储空间;
[0019]通过所述第二层存储空间的所述HLL估计器对流入所述第二层存储空间的所述数据包进行基数估计,得到所述第二基数估计值。
[0020]可选地,实时获取所述LC估计器进行计数估计时的估计器状态,具体包括:
[0021]实时获取所述LC估计器进行基数估计时位图中被置1的比特个数;
[0022]在所述LC估计器的所述位图中被置1的比特个数大于预设阈值的情况下,确定所述LC估计器的估计器状态为充满状态;
[0023]在所述在所述LC估计器的所述位图中被置1的比特个数小于所述预设阈值的情况下,确定所述LC估计器的估计器状态为非充满状态。
[0024]可选地,在获取所述LC估计器的估计器状态之后,所述方法还包括:
[0025]在所述LC估计器的估计器状态为非充满状态的情况下,确定所述待测量数据流的所有数据包是否均已进行基数估计;
[0026]在所述待测量数据流的数据包均已进行基数估计的情况下,将所述第一基数估计值作为所述待测量数据流的基数估计值。
[0027]可选地,所述待测量数据流包括若干子流,每个所述子流包括若干数据包。
[0028]可选地,在获取所述待测量数据流之后,所述方法还包括:
[0029]按照预设规则,将所述待测量数据流划分为若干子流;
[0030]为所述每个子流分配唯一对应的数据流标识;其中,所述数据流标识用于表示所述数据包所属的所述子流;以及
[0031]根据在对所述待测量数据流的所述数据包进行基数估计时,为元素相同的所述数据包分配对应的元素标识;
[0032]将每个所述数据包的所述数据流标识以及所述元素标识进行存储。
[0033]可选地,在得到所述数据包的所述数据流标识以及所述元素标识之后,所述方法还包括:
[0034]根据每个所述数据包的所述数据流标识以及所述元素标识,确定所述待测量数据流中每个所述子流的基数值。
[0035]可选地,在得到所述第二基数估计值之后,所述方法还包括:
[0036]记录得到所述第二基数估计值的次数,并进行存储。
[0037]为了实现上述目的,本专利技术实施例还提供了一种网络数据流测量系统,所述系统包括:
[0038]线性计数LC估计器,用于对待测量数据流进行基数估计,得到第一基数估计值;
[0039]处理器,用于实时获取所述LC估计器进行计数估计时的估计器状态;
[0040]超级日志计数HLL估计器,用于在所述LC估计器的估计器状态为充满状态的情况下,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;
[0041]所述处理器还用于根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。
[0042]为了实现上述目的,本专利技术实施例还提供了一种计算机可读存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络数据流测量方法,其特征在于,所述方法包括:通过线性计数LC估计器,对待测量数据流进行基数估计,得到第一基数估计值;以及实时获取所述LC估计器进行基数估计时的估计器状态;在所述LC估计器的估计器状态为充满状态的情况下,通过超级日志计数HLL估计器,对所述待测量数据流中未被所述LC估计器进行基数估计的数据包进行基数估计,得到第二基数估计值;其中,所述待测量数据流包括若干所述数据包;根据所述第一基数估计值和所述第二基数估计值,确定所述待测量数据流的基数估计值。2.根据权利要求1所述的网络数据流测量方法,其特征在于,若干所述LC估计器存储于第一层存储空间,若干所述HLL估计器存储于第二层存储空间;其中,所述第一层存储空间和所述第二层存储空间为对用于数据流基数估计的连续存储空间划分得到的。3.根据权利要求2所述的网络数据流测量方法,其特征在于,通过所述LC估计器,对所述待测量数据流进行基数估计,具体包括:控制所述待测量数据流的数据包依次流入所述第一层存储空间;通过所述第一层存储空间中的所述LC估计器对流入所述第一层存储空间的所述数据包进行基数估计,得到所述第一基数估计值。4.根据权利要求2所述的网络数据流测量方法,其特征在于,所述通过所述HLL估计器,对所述待测量数据进行基数估计,得到第二基数估计值,具体包括:在所述LC估计器的估计器状态为充满状态的情况下,控制所述待测量数据流中未被所述LC估计器进行基数估计的所述数据包流向第二层存储空间;通过所述第二层存储空间的所述HLL估计器对流入所述第二层存储空间的所述数据包进行基数估计,得到所述第二基数估计值。5.根据权利要求1所述的方法,其特征在于,实时获取所述LC估计器进行基数估计时的估计器状态,具体包括:实时获取所述LC估计器进行基数估计时位图中被置1的比特个数;在所述LC估计器的所述位图中被置1的比特个数大于预设阈值的情况下,确定所述LC估计器的估计器状态为充满状态;在所述在所述LC估计器的所述位图中被置1的比特个数小于所述预设阈值的情况下,确定所述LC估计器的估计器状态为非充满状态。6.根据权利要求1所述的网络数据流测量方法,其特征在于,在获取所述LC估计器进行基数估计时的估计器状态之后,所述方法还包括:在所述LC估计器的估计器状态为非充满状态的情况下,确定所述待测量数...

【专利技术属性】
技术研发人员:陈贵海李伟超陶小峰
申请(专利权)人:鹏城实验室
类型:发明
国别省市:

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

1