CN111782700A - 基于双层结构的数据流频次估计方法、系统及介质 - Google Patents

基于双层结构的数据流频次估计方法、系统及介质 Download PDF

Info

Publication number
CN111782700A
CN111782700A CN202010777760.9A CN202010777760A CN111782700A CN 111782700 A CN111782700 A CN 111782700A CN 202010777760 A CN202010777760 A CN 202010777760A CN 111782700 A CN111782700 A CN 111782700A
Authority
CN
China
Prior art keywords
counter
layer
data stream
found
counter structure
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.)
Granted
Application number
CN202010777760.9A
Other languages
English (en)
Other versions
CN111782700B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010777760.9A priority Critical patent/CN111782700B/zh
Publication of CN111782700A publication Critical patent/CN111782700A/zh
Application granted granted Critical
Publication of CN111782700B publication Critical patent/CN111782700B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • 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
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于双层结构的数据流频次估计方法、系统及介质,本发明方法包括通过第一层计数器结构、第二层计数器结构构成的双层结构来对收到的数据流计数,且其中第二层计数器结构用于记录第一层计数器结构中溢出的数据流;当需要查询数据流的频次估计值时,根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值。本发明可实现将大小流分开进行处理,针对性的对大小流进行特定的结构存储和计数,从而能够减少存储需求,提高大小流的评估精度。

Description

基于双层结构的数据流频次估计方法、系统及介质
技术领域
本发明涉及数据流处理技术,具体涉及一种基于双层结构的数据流频次估计方法、系统及介质。
背景技术
数据流存在于许多的应用场景中,如自然语言处理、图形流、多媒体流、网络流量、数据库等。我们可以通过对数据流的收集和分析,从中解析出有用的信息,来帮助和指导我们对数据流的管理和利用。比如,我们可以通过分析网络流量中项目的频次来检测重攻击(heavy hitters)、重大变化(heavy changer)、流大小分布和熵测量等信息。进一步分析通过链路的大量IP报文,我们可以发现与网络性能相关的事件,如检测网络阻塞和链路循环,评估内容的受欢迎程度等,这些事件对网络服务的用户体验有很大的影响。我们还可能发现可疑的有害活动,如蠕虫传播、DDOS攻击和网络扫描,这些活动极大地危害主机系统和网络基础设施的安全。
数据流本身具有传输快、范围广和持续久的特点,随着时间的推移和技术的不断进步与发展,这些特点变得越来越明显,同时数据的容量也变的越来越大。从全球范围来看,近年来IP流量增长迅猛。到2022年,每月的IP流量将达到每人50GB,与2017年(16GB)相比增长3.1倍左右。
数据流量频次估计是指在一定的测量周期内,对每个活动的网络流进行数据包数量的计数,长期以来一直是各种数据流应用中的一个关键问题,包括流量监控、负载平衡、容量规划等。近年来,在面对海量网络流量的情况下,实现流量的逐流测量、高速、无差错变得越来越具有挑战性。例如,在当今的数据中心,在很短的时间内(例如5ms)就可以出现数千个数据流。但是,始终需要跟踪所有流的大小(流的大小,即网络流中包的数量),特别是在数据中心中。此外,现代数据中心网络已经扩展到100gbps甚至更高的速度;因此,以线路速率度量网络流量仍然是一个挑战。
传统的解决方案为数据流中的每个项保留一个计数器,其内存占用空间很容易地超过几个千兆位。如此大的内存消耗只能通过外部存储(例如多核处理器平台上的主存储器或连接到FPGA芯片的外部DRAM)来处理,这种解决方案受制于外部存储设备的低带宽,难以实现很高的吞吐量和很快的处理速度,同时由于数据流的速度和容量的增加,这种方法已经不能满足我们对数据流处理的需求。
因此,利用概率数据结构估计项目频次已经成为一种流行的方法,并得到了广泛的认可。Sketch方法是一种高精度的数据流估计方法,在固定存储中具有亚线性存储的复杂性。近年来,各种各样的Sketch方法被提出,并广泛应用于数据流处理中进行频次的估计。在Sketch方法中,存储的多少和精度的高低是一个正相关的关系,分配的存储越多,精度就越高,反之,在很小的存储空间上实现很高的精度是很难实现的。然而在数据爆炸的时代,可用存储空间实在有限,只能在尽可能少地增加存储成本的同时提高准确性,这也是一个极大的挑战。Sketch方法是一类被广泛应用在网络测量领域的概率数据结构。Sketch类方法往往利用哈希函数等概率方法将元素映射到连续的内存空间上,通过牺牲一定的准确性来达到较小的空间消耗和极快的常数级处理时间。这样的特性使得Sketch类方法能很好地应用到网络、数据库等涉及大流量数据流的估计中。
最为经典的方法是Count-Min sketch(CM Sketch),之后有很多的方法是以这种方法为基础而实现的,或者是在不同程度上借鉴了这种方法。如图1所示,CM Sketch方法使用d个数组,每个数组有w个计数器和1个对应的独立的哈希函数。在插入大小为v的元素时,对于每个计数器数组,用对应的哈希函数hi将元素k映射到该数组中的一个计数器Count[i,hi(k)],然后将这个计数器Count[i,hi(k)]加v。记CM Sketch的数据结构为Count[d][w],记哈希函数为hd,对于插入的元素,得到更新操作如下:
Figure BDA0002619102840000021
上式表示对于1~d之间的任意i,将Count[i,hi(k)]加上v完成更新,其中hi(k)为哈希函数的函数值。
而查询时,对每个数组分别询问,得到每个数组被映射到的计数器的值,最终输出这些值中的最小值。记查询元素的估计值为f,得到查询操作如下:
Figure BDA0002619102840000022
CM Sketch方法只会过高地估计查询的元素大小,只存在单边估计错误,对于重复次数较多的元素估计的准确度较高,而对于出现次数较少的元素往往会过高地估计。此外还有许多方法是区别于CM,采用了自己的算法来实现频次估计的目的,但是本质上都是利用哈希函数,将元素映射到内存空间上进行记录,不可避免的存在哈希冲突带来的精度损失的问题,将哈希冲突的影响降低也是一个设计和发展的方向。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于双层结构的数据流频次估计方法、系统及介质,本发明可实现将大小流分开进行处理,针对性的对大小流进行特定的结构存储和计数,从而能够减少存储需求,提高大小流的评估精度。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于双层结构的数据流频次估计方法,包括:
1)通过第一层计数器结构、第二层计数器结构构成的双层结构来对收到的数据流计数,且其中第二层计数器结构用于记录第一层计数器结构中溢出的数据流;
2)当需要查询数据流的频次估计值时,根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值。
可选地,步骤1)的详细步骤包括:
1.1A)收到数据流;
1.2A)通过哈希操作对数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到对应的计数器;
1.3A)将在第一层计数器结构中找到的计数器的计数值加1;
1.4A)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希,在第二层计数器结构中找到一个对应的计数器,将在第二层计数器结构中找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构中找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
可选地,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1A)对待查询数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2A)通过哈希操作对第一层计数器结构中找到的计数器地址进行哈希,在第二层计数器结构中找到一个对应的计数器,读取在第二层计数器结构中找到的计数器的计数值;
2.3A)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的计数器的计数值加权求和,得到数据流的频次估计值。
可选地,步骤1)的详细步骤包括:
1.1B)收到数据流;
1.2B)在0~L之间随机生成一个随机整数,将该随机数和数据流标识进行拼接作为新的标识,并生成多个新的标识作为多个虚拟计数器标识;
1.3B)针对每一个虚拟计数器标识,通过哈希操作对虚拟计数器标识进行哈希,在第一层计数器结构中找到对应的计数器;
1.4B)将在第一层计数器结构中找到的计数器的计数值加1;
1.5B)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希,在第二层计数器结构中找到一个对应的计数器,将在第二层计数器结构中找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构中找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
可选地,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1B)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2B)通过哈希操作对第一层计数器结构中找到的计数器地址进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构中找到一个对应的计数器,读取在第二层计数器结构中找到的计数器的计数值;将
2.3B)在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4B)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
可选地,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1C)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2C)通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构中找到一个对应的计数器,若在第二层计数器结构中找到的计数器为第一次找到,则读取在第二层计数器结构中找到的计数器的计数值,否则忽略在第二层计数器结构中找到的计数器;
2.3C)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到且读取的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4C)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
可选地,步骤1)的详细步骤包括:
1.1D)收到数据流;
1.2D)通过哈希操作对数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到对应的计数器;
1.3D)将在第一层计数器结构中找到的计数器的计数值加1;
1.4D)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址通过N个哈希函数分别进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构的N组计数器中分别找到一个对应的计数器,将在第二层计数器结构的N组计数器中每一个找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构的N组计数器中每一个找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
可选地,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1D)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2D)通过哈希操作对第一层计数器结构中找到的计数器的地址通过N个哈希函数分别进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构的N组计数器中找到一个对应的计数器,读取在第二层计数器结构的N组计数器中找到的计数器的计数值,且找出其中最小的计数值;
2.3D)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的最小的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4D)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
此外,本发明还提供一种基于双层结构的数据流频次估计系统,包括计算机设备,该计算机设备被编程或配置以执行所述基于双层结构的数据流频次估计方法的步骤,或者该计算机设备的存储器中存储有被编程或配置以执行所述基于双层结构的数据流频次估计方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述基于双层结构的数据流频次估计方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明通过第一层计数器结构、第二层计数器结构构成的双层结构来对收到的数据流进行计数,且其中第二层计数器结构用于记录第一层计数器结构中溢出的数据流;当需要查询数据流的频次估计值时,根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值,可实现将大小流分开进行处理,针对性的对大小流进行特定的结构存储和计数,从而能够减少存储需求,提高大小流的评估精度。
附图说明
图1为现有CM Sketch方法的实现原理示意图。
图2为本发明实施例一方法的基本流程示意图。
图3为本发明实施例一中的双层结构结构图。
图4为本发明实施例一中的双层结构的插入操作流程图。
图5为本发明实施例一中的双层结构的查询操作流程图。
图6为本发明实施例二中的双层结构结构图。
图7为本发明实施例二中的双层结构的插入操作流程图。
图8为本发明实施例二中的双层结构的查询操作流程图。
图9为本发明实施例三中的双层结构结构图。
图10为本发明实施例四中的双层结构结构图。
图11为本发明实施例四中的双层结构的插入操作流程图。
图12为本发明实施例四中的双层结构的查询操作流程图。
图13为本发明实施例中30万数据包测量结果。
图14为本发明实施例中40万数据包测量结果。
图15为本发明实施例中50万数据包测量结果。
图16为本发明实施例中60万数据包测量结果。
图17为本发明实施例中70万数据包测量结果。
图18为本发明实施例中80万数据包测量结果。
图19为本发明实施例中90万数据包测量结果。
图20为本发明实施例中100万数据包测量结果。
具体实施方式
本发明基于双层结构的数据流频次估计方法的基本思路如下:实际应用中的数据流的组成是存在斜度的,即不是均匀分布的。比较常见的一个分布特征是Zipf分布。如果我们将数据流中小于一个阈值大小的流称之为小流,而大于这个阈值的归并为大流,则可以简单描述这种分布特征:数据流中小流占大部分,而大流只占小部分。在明确数据流的这些特征之后,本发明方法通过将大小流分开进行处理,针对性的对大小流进行特定的结构存储和计数,从而能够减少存储需求,提高大小流的评估精度。需要说明的是,由于双层结构的具体的实现上,根据每层所采用的算法和结构的不同,会对整体产生不同的评估精度影响。下文将通过不断改进的多个实施例一步步得到了最终合适的结构以及方案。
实施例一(方法A):
如图2所示,本实施例基于双层结构的数据流频次估计方法包括:
1)通过第一层计数器结构、第二层计数器结构构成的双层结构来对收到的数据流计数,且其中第二层计数器结构用于记录第一层计数器结构中溢出的数据流;
2)当需要查询数据流的频次估计值时,根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值。
参见图2可知,与当前较多的先处理大流再处理小流的方法不同,我们的第一层用于处理小流,而第二层处理从第一层溢出的大流。数据流的标识符等信息只在第一层进行处理,在第一层的数据达到阈值之后,将自动往第二层发送数据进行下一步的存储。这样的好处在于两层之间不需要交互,数据流仅仅需要一次流通就能被记录完成。在查询阶段时,根据数据流中数据的标识信息,对应查找计数器的状态信息,从而得到数据流的频次估计值。
如图3所示,本实施例中的双层结构中,A.第一层和第二层都采用单层的计数器结构,通过哈希操作进行定位和存储。如图3所示,通过哈希操作对数据流的标识进行哈希,在第一层中找到一个计数器进行存放。第一层的计数器设置为小位宽,当达到计数的最大值,往第二级溢出,如图中第一层“F”方块标识的计数器达到了阈值,对“F”方块标识的计数器的地址进行哈希,映射到第二层中的计数器中进行存储。查询时根据数据流的标识在第一层和第二层中进行查询,计算得到频次估计值。
如图4所示,步骤1)的详细步骤包括:
1.1A)收到数据流(flow);
1.2A)通过哈希操作对数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到对应的计数器;
1.3A)将在第一层计数器结构中找到的计数器的计数值加1;
1.4A)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出(超过阈值),若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希,在第二层计数器结构中找到一个对应的计数器,将在第二层计数器结构中找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构中找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
如图5所示,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1A)对待查询数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2A)通过哈希操作对第一层计数器结构中找到的计数器地址进行哈希,在第二层计数器结构中找到一个对应的计数器,读取在第二层计数器结构中找到的计数器的计数值;
2.3A)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的计数器的计数值加权求和,得到数据流的频次估计值。
本实施例方法的特点在于双层结构的设计简单,实现方便,但是因为哈希而产生的哈希冲突会比较严重,在每一层都存在这样的误差,两层误差会进一步累积,造成不少的精度损失。下文的实施例将对本实施例进行进一步改进以克服上述问题。
此外,本实施例还提供一种基于双层结构的数据流频次估计系统,包括计算机设备,该计算机设备被编程或配置以执行前述基于双层结构的数据流频次估计方法的步骤,或者该计算机设备的存储器中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
实施例二(方法B):
本实施例方法为实施例一方法的进一步改进。
如图6所示,本实施例中的双层结构中,第一层和第二层仍采用单层的计数器结构,但第一层采用虚拟计数器的方法进行优化调整。如图所示,在第一层中,引入了虚拟计数器的概念,一个数据流会被存储在多个计数器中,虚拟化计数器仅存在于逻辑上的概念,实际还是存储在物理上的计数器中。这样会存在一个物理的计数器同样会用于记录多个数据流的问题,为了解决这个问题,我们会在数据查询的过程中引入消除误差的操作,从而减轻这个问题带来的影响。同样“F”方块标识的是达到阈值的计数器,将向第二层输入数据。在第二层的处理过程和A一致。查询时每个数据流的估计值为其虚拟计数器中存储的数值之和,而每一个虚拟计数器的值则是在第一层和第二层中进行查询计算得到。
如图7所示,步骤1)的详细步骤包括:
1.1B)收到数据流;
1.2B)在0~L之间随机生成一个随机整数,将该随机数和数据流标识进行拼接作为新的标识,并生成多个新的标识作为多个虚拟计数器标识;
1.3B)针对每一个虚拟计数器标识,通过哈希操作对虚拟计数器标识进行哈希,在第一层计数器结构中找到对应的计数器;
1.4B)将在第一层计数器结构中找到的计数器的计数值加1;
1.5B)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希,在第二层计数器结构中找到一个对应的计数器,将在第二层计数器结构中找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构中找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
如图8所示,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1B)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2B)通过哈希操作对第一层计数器结构中找到的计数器地址进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构中找到一个对应的计数器,读取在第二层计数器结构中找到的计数器的计数值;将
2.3B)在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4B)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
本实施例方法通过分散存储数据流,减少了第一层哈希冲突导致的影响,为总体的精度提升做出了贡献,但是并未解决第二层的误差问题,仍有进一步提升的空间。
此外,本实施例还提供一种基于双层结构的数据流频次估计系统,包括计算机设备,该计算机设备被编程或配置以执行前述基于双层结构的数据流频次估计方法的步骤,或者该计算机设备的存储器中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
实施例三(方法C):
本实施例方法为实施例二方法的进一步改进。
如图9所示,本实施例中的双层结构与实施例二相同,第一层采用虚拟化后的单层结构,第二层仍采用单层结构,但增加误差消除的优化操作。与实施例二的区别在于查询阶段加入了第二层的误差消除操作。如图所示第二层标记为H的小方块,第一层向第二层传递的两个数据在这个位置上发生了哈希冲突,并且这两个冲突的数据都是来自存储Flow A的计数器,对于这样的情况,我们在计算估计值的过程中,在虚拟计数器读取过一次“H”计数器中的值之后,之后涉及到“H”计数器的虚拟计数器的查值都不再计算这个部分。
对应地,步骤1)的方法与实施例二相同,故在此不再赘述。
查询操作与实施例二不同,查询操作在加入了限定条件,对于一个数据流的所有虚拟化计数器,在查值过程中若多个虚拟计数器指向了第二层的同一个计数器,则该数值只能被一个虚拟计数器使用,其他虚拟计数器不操作。
本实施例步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1C)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2C)通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构中找到一个对应的计数器,若在第二层计数器结构中找到的计数器为第一次找到,则读取在第二层计数器结构中找到的计数器的计数值,否则忽略在第二层计数器结构中找到的计数器;
2.3C)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到且读取的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4C)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
本实施例在实施例二的基础上,增加第二层的误差消除之后,相对于实施例二的结果,会减少很多不必要的过高估计情况,能够弥补在哈希函数选择不理想,冲突概率较高的情况下,让频次估计值更接近于真实值,对精度也有一定的保证。
此外,本实施例还提供一种基于双层结构的数据流频次估计系统,包括计算机设备,该计算机设备被编程或配置以执行前述基于双层结构的数据流频次估计方法的步骤,或者该计算机设备的存储器中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
实施例四(方法D):
本实施例方法为实施例二方法的进一步改进。
如图10所示,本实施例的双层结构中,A.第一层采用单层虚拟计数器方法和结构,第二层采用多组计数器方法(类似于CM Sketch),同时保留单层消除误差的优化。第一层的处理过程和之前一致,区别在于第二层将单层的计数器结构修改为了多层。如图所示,在第一层的计数器得到阈值后,传递到第二层(以4层计数器结构为例)时,对同一个输入值进行4次哈希操作,分别映射到4层计数器中。在进行查询时,虚拟计数器在第二层得到的返回值为4层中估计值的最小值。第二层中对于单层的查询仍保留C中的误差消除操作。
如图11所示,步骤1)的详细步骤包括:
1.1D)收到数据流;
1.2D)通过哈希操作对数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到对应的计数器;
1.3D)将在第一层计数器结构中找到的计数器的计数值加1;
1.4D)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址通过N个哈希函数分别进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构的N组计数器中分别找到一个对应的计数器,将在第二层计数器结构的N组计数器中每一个找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构的N组计数器中每一个找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
如图12所示,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1D)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2D)通过哈希操作对第一层计数器结构中找到的计数器的地址通过N个哈希函数分别进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构的N组计数器中找到一个对应的计数器,读取在第二层计数器结构的N组计数器中找到的计数器的计数值,且找出其中最小的计数值;
2.3D)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的最小的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4D)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
将第二层设计为多层结构后,虽然不能避免哈希冲突,但是本实施例方法能够通过取多层估计值中最小值的方法来取得哈希冲突产生的最小误差,尽可能地降低第二层的误差,从而提升整体的评估精度。
下文将针对实施例四的方法进行可行性证明:
通常,在CM Sketch方法中,精度保证将根据一对用户指定的参数ε和δ来进行,这意味着回答查询时的误差在误差ε和概率δ的因子内。因此,空间和更新时间将取决于误差ε和概率δ;我们的目标是尽可能限制这种依赖性。第二层的设计类似于Count-min(CM)Sketch,由CM证明可知:
设置第二层的计数器个数w2
Figure BDA0002619102840000121
其中e为自然对数的底,ε2表示第二层产生的误差;则概率Pr满足:
Figure BDA0002619102840000122
上式中,
Figure BDA0002619102840000123
为从第二层中查询的测量值,bi为溢出到第二层的真实值,在第二层中,精度保证将根据一对用户指定的第二层的参数ε2和δ来进行,ε2是第二层产生的误差,δ为指定的概率参数。‖b‖1是第一层的溢出次数,都有
Figure BDA0002619102840000124
其中bitwidth是第一层位宽,n为测量周期中的数据包总数。
第一层是单层计数器结构,定义If,k为数据流f和数据流k被哈希(hash)到第一层中相同的计数器中的可能性,当f=k∧hash(f)=hash(k)(“∧”是且的意思,相当于集合中的交集,命题P∧Q的真假与P,Q的真假有关,当P,Q全是真命题时,命题P∧Q为真命题,其他都是假命题)时If,k=1,在其他情况下,If,k=0;定义Xf为由于hash函数将其他流打进和数据流f相同的计数器时对数据流f的估计造成的误差,则
Figure BDA0002619102840000125
其中ak是第一层的计数器数组的第k项目(把第一层看成一个数组,k是这个数组的索引,k的取值范围是0~第一层的计数器宽度)。则从第一层测到的数据
Figure BDA0002619102840000129
其中af是数据流f的在第一层中的真实值,
Figure BDA0002619102840000128
是数据流f在第一层中的测量值。那么期望E(If,k)为:
Figure BDA0002619102840000126
上式中,hash(f)是指数据流f经过哈希算法后的输出值,也就是第一层计数器数组的某个位置索引,hash(k)是指数据流k经过哈希算法后的输出值,range(hash)是指第一层的哈希函数的值域大小,即第一层计数器的个数。设第一层的计数器个数m(公式中的m在这里写成w1,都是指第一层的计数器个数)设置为:
Figure BDA0002619102840000127
那么If,k的期望E(If,k)满足:
Figure BDA0002619102840000131
在第一层中,精度保证也将根据用户指定的第一层的参数ε1和δ来进行,即ε1是第一层产生的误差,e为自然对数的底。那么Xf的期望E(Xf)为:
Figure BDA0002619102840000132
上式中,ak是第一层的计数器数组的第k项目(把第一层看成一个数组,k是这个数组的索引,k的取值范围是0~第一层的计数器宽度),n为测量周期中的数据包总数,ε1表示第二层产生的误差;
由马尔可夫不等式可知,
Figure BDA0002619102840000133
的概率为:
Figure BDA0002619102840000134
故有:
Figure BDA0002619102840000135
其中af是数据流f的在第一层中的真实值,
Figure BDA0002619102840000136
是数据流f在第一层中的测量值,d为一个常数。由以上两层有:
Figure BDA0002619102840000137
那么,数据流f通过实施例四的测量值
Figure BDA0002619102840000138
满足:
Figure BDA0002619102840000139
即有:
Figure BDA00026191028400001310
因此由两层结构造成的总误差ε为ε=ε12,因此有:
Figure BDA00026191028400001311
我们在估计过程中的查询值
Figure BDA00026191028400001312
由下面的公式给出:
Figure BDA00026191028400001313
其中,bitwidth为第一层计数器的位宽,l为虚拟计数器数量,n为测量报文总数,m为第一层计数器的数量,counter1[i]为第一层计数器第i个计数器的值,address(i)为l个虚拟计数器中第i个计数器在第一层中存储的地址,hj(address(i))为计算address(i)的哈希值,counter2[j,hj(address(i))]为在第二层计数器的第j组中根据索引i求得的对应位置的计数器值。
上述证明有以下保证:
Figure BDA0002619102840000141
并且满足至少1-δ的置信度,其中ai为流i在所测量数据流中的真实大小,
Figure BDA0002619102840000142
为流i通过实施例四测量出的估计值。其结论为:在给定错误率ε和置信度δ的前提下,实施例四的测量结果满足在至少1-δ的置信度下,测量值相比真实值的误差不超过错误率和数据包所有报文个数的乘积。
为了对本实施例方法进行验证,本实施例分别采用了大小为30万,40万,…,100万的数据包进行精度和存储开销的测试。其中精度的评价指标为ARE(average relativeerror平均相对误差),计算方式为:
Figure BDA0002619102840000143
本实施例中分别设置存储大小分别为0.1MB,0.2MB,…,2.0MB,在最优的分配比例情况下,测得了10组报文数据的ARE结果,同时与对应内存条件下现有的Count-Min方法进行对比,结果如图13、图14、图15、图16、图17、图18、图19、图20所示。图13为本实施例中30万数据包测量结果,图14为本实施例中40万数据包测量结果,图15为本实施例中50万数据包测量结果,图16为本实施例中60万数据包测量结果,图17为本实施例中70万数据包测量结果,图18为本实施例中80万数据包测量结果,图19为本实施例中90万数据包测量结果,图20为本实施例中100万数据包测量结果。从图13~图20中的结果可以看出,实施例四(方法D)在不同的内存条件和不同的数据包输入情况下,得到的精度都优于现有的Count-Min方法,并且在小内存下(小于0.5MB)的情况下,实施例四能够远远优于Count-Min方法。
此外,本实施例还提供一种基于双层结构的数据流频次估计系统,包括计算机设备,该计算机设备被编程或配置以执行前述基于双层结构的数据流频次估计方法的步骤,或者该计算机设备的存储器中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于双层结构的数据流频次估计方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于双层结构的数据流频次估计方法,其特征在于,包括:
1)通过第一层计数器结构、第二层计数器结构构成的双层结构来对收到的数据流计数,且其中第二层计数器结构用于记录第一层计数器结构中溢出的数据流;
2)当需要查询数据流的频次估计值时,根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值。
2.根据权利要求1所述的基于双层结构的数据流频次估计方法,其特征在于,步骤1)的详细步骤包括:
1.1A)收到数据流;
1.2A)通过哈希操作对数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到对应的计数器;
1.3A)将在第一层计数器结构中找到的计数器的计数值加1;
1.4A)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希,在第二层计数器结构中找到一个对应的计数器,将在第二层计数器结构中找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构中找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
3.根据权利要求2所述的基于双层结构的数据流频次估计方法,其特征在于,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1A)对待查询数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2A)通过哈希操作对第一层计数器结构中找到的计数器地址进行哈希,在第二层计数器结构中找到一个对应的计数器,读取在第二层计数器结构中找到的计数器的计数值;
2.3A)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的计数器的计数值加权求和,得到数据流的频次估计值。
4.根据权利要求1所述的基于双层结构的数据流频次估计方法,其特征在于,步骤1)的详细步骤包括:
1.1B)收到数据流;
1.2B)在0~L之间随机生成一个随机整数,将该随机数和数据流标识进行拼接作为新的标识,并生成多个新的标识作为多个虚拟计数器标识;
1.3B)针对每一个虚拟计数器标识,通过哈希操作对虚拟计数器标识进行哈希,在第一层计数器结构中找到对应的计数器;
1.4B)将在第一层计数器结构中找到的计数器的计数值加1;
1.5B)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希,在第二层计数器结构中找到一个对应的计数器,将在第二层计数器结构中找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构中找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
5.根据权利要求4所述的基于双层结构的数据流频次估计方法,其特征在于,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1B)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2B)通过哈希操作对第一层计数器结构中找到的计数器地址进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构中找到一个对应的计数器,读取在第二层计数器结构中找到的计数器的计数值;将
2.3B)在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4B)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
6.根据权利要求4所述的基于双层结构的数据流频次估计方法,其特征在于,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1C)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2C)通过哈希操作对第一层计数器结构中找到的计数器的地址进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构中找到一个对应的计数器,若在第二层计数器结构中找到的计数器为第一次找到,则读取在第二层计数器结构中找到的计数器的计数值,否则忽略在第二层计数器结构中找到的计数器;
2.3C)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到且读取的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4C)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
7.根据权利要求1所述的基于双层结构的数据流频次估计方法,其特征在于,步骤1)的详细步骤包括:
1.1D)收到数据流;
1.2D)通过哈希操作对数据流的标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到对应的计数器;
1.3D)将在第一层计数器结构中找到的计数器的计数值加1;
1.4D)判断在第一层计数器结构中找到的计数器的计数值的值是否溢出,若溢出,则通过哈希操作对第一层计数器结构中找到的计数器的地址通过N个哈希函数分别进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构的N组计数器中分别找到一个对应的计数器,将在第二层计数器结构的N组计数器中每一个找到的计数器的计数值加1,并将数据流的标识存放在第二层计数器结构的N组计数器中每一个找到的计数器中;否则将数据流的标识存放在第一层计数器结构中找到的计数器中。
8.根据权利要求7所述的基于双层结构的数据流频次估计方法,其特征在于,步骤2)中根据第一层计数器结构、第二层计数器结构中记录的数据流标识统计查询数据流的频次估计值的步骤包括:
2.1D)对待查询数据流的标识分别拼接0~L之间的所有整数得到L个新标识,对L个新标识进行哈希操作得到第一层计数器结构中的计数器地址,根据计数器地址在第一层计数器结构中找到一个对应的计数器,读取在第一层计数器结构中找到的计数器的计数值;
2.2D)通过哈希操作对第一层计数器结构中找到的计数器的地址通过N个哈希函数分别进行哈希操作得到第二层计数器结构中的计数器地址,根据计数器地址在第二层计数器结构的N组计数器中找到一个对应的计数器,读取在第二层计数器结构的N组计数器中找到的计数器的计数值,且找出其中最小的计数值;
2.3D)将在第一层计数器结构中找到的计数器的计数值、在第二层计数器结构中找到的最小的计数器的计数值加权求和,得到数据流含噪声的频次估计值;
2.4D)将数据流含噪声的频次估计值减去噪声得到数据流的频次估计值,所述噪声为所有数据流平均到每个计数器记录的数值。
9.一种基于双层结构的数据流频次估计系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~8中任意一项所述基于双层结构的数据流频次估计方法的步骤,或者计算机设备的存储器中存储有被编程或配置以执行权利要求1~8中任意一项所述基于双层结构的数据流频次估计方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~8中任意一项所述基于双层结构的数据流频次估计方法的计算机程序。
CN202010777760.9A 2020-08-05 2020-08-05 基于双层结构的数据流频次估计方法、系统及介质 Active CN111782700B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010777760.9A CN111782700B (zh) 2020-08-05 2020-08-05 基于双层结构的数据流频次估计方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010777760.9A CN111782700B (zh) 2020-08-05 2020-08-05 基于双层结构的数据流频次估计方法、系统及介质

Publications (2)

Publication Number Publication Date
CN111782700A true CN111782700A (zh) 2020-10-16
CN111782700B CN111782700B (zh) 2023-08-18

Family

ID=72765820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010777760.9A Active CN111782700B (zh) 2020-08-05 2020-08-05 基于双层结构的数据流频次估计方法、系统及介质

Country Status (1)

Country Link
CN (1) CN111782700B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225227A (zh) * 2021-03-25 2021-08-06 北京大学 一种兼顾简单性与准确性的基于简图的网络测量方法和装置
CN115051954A (zh) * 2022-08-17 2022-09-13 北京左江科技股份有限公司 一种基于FPGA BlockRam的大容量以太网报文统计限速结构
CN115460111A (zh) * 2022-07-26 2022-12-09 西安电子科技大学 基于HINOC协议的Top-k流的统计方法及其系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304404A (zh) * 2017-01-12 2018-07-20 北京大学 一种基于改进的Sketch结构的数据频率估计方法
CN108304409A (zh) * 2017-01-13 2018-07-20 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN109861881A (zh) * 2019-01-24 2019-06-07 大连理工大学 一种基于三层Sketch架构的大象流检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304404A (zh) * 2017-01-12 2018-07-20 北京大学 一种基于改进的Sketch结构的数据频率估计方法
CN108304409A (zh) * 2017-01-13 2018-07-20 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN109861881A (zh) * 2019-01-24 2019-06-07 大连理工大学 一种基于三层Sketch架构的大象流检测方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113225227A (zh) * 2021-03-25 2021-08-06 北京大学 一种兼顾简单性与准确性的基于简图的网络测量方法和装置
CN113225227B (zh) * 2021-03-25 2023-01-17 北京大学 一种兼顾简单性与准确性的基于简图的网络测量方法和装置
CN115460111A (zh) * 2022-07-26 2022-12-09 西安电子科技大学 基于HINOC协议的Top-k流的统计方法及其系统
CN115051954A (zh) * 2022-08-17 2022-09-13 北京左江科技股份有限公司 一种基于FPGA BlockRam的大容量以太网报文统计限速结构
CN115051954B (zh) * 2022-08-17 2022-11-11 北京左江科技股份有限公司 一种基于FPGA BlockRam的大容量以太网报文统计限速装置

Also Published As

Publication number Publication date
CN111782700B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN111782700B (zh) 基于双层结构的数据流频次估计方法、系统及介质
US7669241B2 (en) Streaming algorithms for robust, real-time detection of DDoS attacks
CN104579974B (zh) 面向ndn中名字查找的哈希布鲁姆过滤器及数据转发方法
CN112100185B (zh) 区块链数据平衡负载的索引系统及方法
CN110650020B (zh) 拟态模糊判决方法、装置及系统
CN108763536A (zh) 数据库访问方法及装置
CN110990897A (zh) 一种文件指纹的生成方法及装置
CN111835599B (zh) 一种基于SketchLearn的混合网络测量方法、装置及介质
CN117473188A (zh) 一种显示数据的渲染方法、装置、电子设备及存储介质
CN111200542B (zh) 一种基于确定性替换策略的网络流量管理方法及系统
Li et al. Pyramid family: Generic frameworks for accurate and fast flow size measurement
Cormode et al. Time-decaying sketches for sensor data aggregation
CN112235254A (zh) 一种高速主干网中Tor网桥的快速识别方法
CN114020471B (zh) 一种基于草图的轻量级大象流检测方法及平台
Ye et al. UA-Sketch: an accurate approach to detect heavy flow based on uninterrupted arrival
CN110716931A (zh) 一种基于哈希指纹的布鲁姆过滤器
Li et al. SIM: A fast real-time graph stream summarization with improved memory efficiency and accuracy
CN110868332A (zh) 一种基于sdn的网络级流量测量方法
Zhao et al. HBL-Sketch: A new three-tier sketch for accurate network measurement
Fu et al. Jump Filter: A Dynamic Sketch for Big Data Governance.
Xie et al. A Stateful Bloom Filter for Per-Flow State Monitoring
Zeng et al. LSketch: A Label-Enabled Graph Stream Sketch Toward Time-Sensitive Queries
Sigurleifsson et al. The Count-Min Sketch data structure and its uses within Computer Science
CN110134331B (zh) 路由路径规划方法、系统及可读存储介质
Wang et al. Optimizing hash function number for bf-based object locating algorithm

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