CN110022343A - 自适应事件聚合 - Google Patents

自适应事件聚合 Download PDF

Info

Publication number
CN110022343A
CN110022343A CN201811276066.8A CN201811276066A CN110022343A CN 110022343 A CN110022343 A CN 110022343A CN 201811276066 A CN201811276066 A CN 201811276066A CN 110022343 A CN110022343 A CN 110022343A
Authority
CN
China
Prior art keywords
polymerization
dimension
event
buffer area
processor
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
CN201811276066.8A
Other languages
English (en)
Other versions
CN110022343B (zh
Inventor
江·吴
A·瓦伊拉雅
黄子正
P·G·韦加
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.)
Muleshoft Co
Mulesoft LLC
Original Assignee
Muleshoft Co
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 Muleshoft Co filed Critical Muleshoft Co
Priority to CN202110389634.0A priority Critical patent/CN113271234A/zh
Publication of CN110022343A publication Critical patent/CN110022343A/zh
Application granted granted Critical
Publication of CN110022343B publication Critical patent/CN110022343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种自适应聚合。使用多个代理监视应用程序网络。执行自适应事件聚合以确定聚合维度的保留值。基于聚合维度生成应用程序网络的报告。

Description

自适应事件聚合
其他申请的交叉引用
本申请要求于2017年10月30日提交的标题为“自适应事件聚合(ADAPTIVE EVENTAGGREGATION)”的美国临时专利申请No.62/579,045的优先权,其出于所有目的通过引用并入本文。
背景技术
应用程序网络包括与多个客户端计算机耦合的至少一个服务器计算机,通常经由至少一个API(应用程序编程接口)进行通信。应用程序网络的普及可能导致数万个API调用,其表示客户端到服务器的调用。出于监控、故障排除和/或分析的目的,API调用的数量可能非常大。
附图说明
在下文的具体实施方式和附图中公开了本发明的各种实施例。
图1是示出根据一些实施例的用于自适应事件聚合的编程的计算机/服务器系统的功能图。
图2A是应用程序网络可视化的图示。
图2B示出了应用程序网络的样本形状。
图3示出了代理和拓扑服务器。
图4是用于自适应事件聚合的序列图的图示。
图5是示出用于自适应事件聚合的过程的实施例的流程图。
图6是示出用于聚合处理的过程的实施例的流程图。
具体实施方式
本发明可以以多种方式实现,包括实现为过程;装置;系统;物质的组成;包含在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如被配置为执行存储在耦合到处理器的存储器上和/或由耦合到处理器的存储器提供的指令的处理器。在本说明书中,这些实现或本发明可以采用的任何其他形式可以称为技术。通常,可以在本发明的范围内改变所公开的过程的步骤的顺序。除非另有说明,否则组件(诸如描述为被配置为执行任务的处理器或存储器)可以被实现为临时配置为在给定时间执行任务的通用组件或者被制造为执行任务的特定组件。如本文所使用的,术语“处理器”指的是被配置为处理数据(诸如计算机程序指令)的一个或更多个设备、电路和/或处理核。
下面提供本发明的一个或更多个实施例的详细描述以及说明本发明原理的附图。结合这些实施例描述了本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多可选方案、修改和等同物。在以下描述中阐述了许多具体细节,以便提供对本发明的透彻理解。提供这些细节是出于示例的目的,并且可以在没有这些具体细节中的部分或全部的情况下根据权利要求来实践本发明。为了清楚起见,没有详细描述与本发明相关的技术领域中已知的技术材料,从而不会不必要地模糊本发明。
公开了自适应事件聚合。在一个实施例中,轻量级代理(lightweightagent)监视网络/API通信,其仅需使用主机上的小存储器/处理器资源来捕获相关度量(metric)。在数据流之前不需要具有先验知识,例如,要捕获的度量是否在服务器和具有相对较少的API调用的服务器之间,或要捕获的度量是否在服务器和具有大量API调用的客户端之间。在任何一种情况下,都可以通过完全无损事件报告捕获相关度量,而无需统计采样。对不同计算环境的内联、实时学习确定哪些维度与这种无损报告相关,以及在大量API调用的情况下,哪些维度可能是有损的和/或聚合的/退化的(collapsed)。
相比之下,传统上没有关于是否存在大量API调用的先验知识,采样被用于事件监视、故障排除和/或分析。另一种传统方法是捕获所有用于离线和/或后处理的API调用,这在大规模上可能在计算/存储器/时间/网络/财务资源方面是昂贵的。
公开了一种运行时间应用程序网络可视化器。可视化器显示软件应用程序实例之间的应用程序间API通信。在运行时间应用程序网络可视化中,每个应用程序实例可以表示为图形节点。可以通过从一个应用程序实例到另一个应用程序实例捕获的API调用事件导出源信息和目的地信息的唯一组合来生成图形边缘。API调用事件的数量可以是每分钟每个应用程序实例单个数字到数万个。每个应用程序实例使用大量API调用事件来导出边缘可能会消耗大量计算资源。
公开了一种用于聚合API调用事件以减少边缘生成中使用的计算资源量的系统。该系统自适应地学习和保存重要信息。在一个实施例中,轻量级代理监视网络/API通信和/或监视事件。这些轻量级代理在内存、处理器和/或网络容量方面具有足够的资源。与传统的统计采样相比,这些代理使用无损事件报告捕获相关度量。这些代理针对不同的计算环境执行内联、实时学习,以确定哪些维度与这种无损报告相关,以及哪些维度可能是有损的和/或聚合的/退化的。
图1是示出根据一些实施例的用于自适应事件聚合的编程的计算机/服务器系统的功能图。如图所示,图1提供了根据一些实施例的被编程为提供自适应事件聚合的通用计算机系统的功能图。显而易见的是,其他计算机系统架构和配置可以用于自适应事件聚合。
包括如下所述的各种子系统的计算机系统100包括至少一个微处理器子系统,也称为处理器或中央处理单元(“CPU”)102。例如,处理器102可以由单芯片处理器或多核和/或处理器实现。在一些实施例中,处理器102是控制计算机系统100的操作的通用数字处理器。使用从存储器110检索的指令,处理器102控制输入数据的接收和操纵,以及数据在输出设备上的输出和显示,例如显示器和图形处理单元(GPU)118。
处理器102与存储器110双向耦合,存储器110可包括第一主存储器,通常是随机存取存储器(“RAM”),以及第二主存储区域,通常是只读存储器(“ROM”)。如本领域所公知的,主存储器可以用作通用存储区域和高速暂存存储器,并且还可以用于存储输入数据和经处理的数据。除了用于在处理器102上操作的进程的其他数据和指令之外,主存储器还可以以数据对象和文本对象的形式存储编程指令和数据。同样如本领域所公知的,主存储器通常包括处理器102用于执行其功能的基本操作指令、程序代码、数据和对象,例如,编程指令。例如,主存储设备110可以包括下面描述的任何合适的计算机可读存储介质,这取决于例如数据访问是否需要是双向的或单向的。例如,处理器102还可以直接且非常快速地检索经常需要的数据并将其存储到高速缓存存储器(未示出)中。处理器102还可以包括协处理器(未示出)作为附加处理组件以辅助处理器和/或存储器110。
可移除大容量存储设备112为计算机系统100提供额外的数据存储容量,并且可以双向(读/写)或单向(只读)耦合到处理器102。例如,存储器112可以还包括计算机可读介质,诸如闪存、便携式大容量存储设备、全息存储设备、磁设备、磁光设备、光学设备和其他存储设备。固定大容量存储器120还可以例如提供额外的数据存储容量。大容量存储器120的一个示例是eMMC或microSD设备。在一个实施例中,大容量存储器120是通过总线114连接的固态驱动器。大容量存储器112、120通常存储处理器102通常并不主动使用的附加编程指令、数据等。应当理解,如果需要,可以将大容量存储器112、120中保留的信息以标准方式并入,作为主存储器110(例如RAM)的一部分、作为虚拟存储器。
除了向处理器102提供对存储子系统的访问之外,总线114还可用于提供对其他子系统和设备的访问。如图所示,这些可以包括显示监视器118、通信接口116、触摸(或物理)键盘104以及一个或更多个辅助输入/输出设备106(包括音频接口、声卡、麦克风、音频端口、音频记录设备、音频卡、扬声器、触摸(或点击)设备和/或根据需要的其他子系统)。除了触摸屏和/或电容式触摸界面之外,辅助设备106可以是鼠标、触控笔、跟踪球或平板电脑,并且可用于与图形用户界面交互。
如图所示,通信接口116允许处理器102使用网络连接耦合到另一计算机、计算机网络或电信网络。例如,通过通信接口116,处理器102可以从另一网络接收信息,例如数据对象或程序指令,或者在执行方法/处理步骤的过程中将信息输出到另一网络。信息通常表示为要在处理器上执行的一系列指令,可以从另一网络接收以及输出到另一网络。接口卡或类似设备以及由例如在处理器102上执行/实施的适当软件可用于将计算机系统100连接到外部网络并根据标准协议传输数据。例如,本文公开的各种处理实施例可以在处理器102上执行,或者可以在网络(诸如因特网、内联网或局域网)上结合共享处理的一部分的远程处理器来执行。在整个说明书中,“网络”是指计算机组件之间的任何互连,包括因特网、蓝牙、WiFi、3G、4G、4GLTE、GSM、以太网、内联网、局域网(“LAN”)、家庭区域网络(“HAN“)、串行连接、并行连接、广域网(“WAN”)、光纤通道、PCI/PCI-X、AGP、VLbus、PCI Express、Expresscard、无线带宽技术(Infiniband)、ACCESS.bus、无线LAN、家庭PNA、光纤、G.hn、红外网络、卫星网络、微波网络、蜂窝网络、虚拟专用网络(“VPN”)、通用串行总线(“USB”)、FireWire、串行ATA、1-Wire、UNI/O或将同构、异构系统和/或系统组连接在一起的任何形式。附加大容量存储设备(未示出)也可以通过通信接口116连接到处理器102。
辅助I/O设备接口(未示出)可以与计算机系统100结合使用。辅助I/O设备接口可以包括允许处理器102发送数据并且更典型地,接收来自其他设备(诸如麦克风、触敏显示器、传感器读卡器、磁带阅读器、语音或手写识别器、生物识别读卡器、照相机、便携式大容量存储设备和其他计算机)的数据的通用和定制接口。
此外,本文公开的各种实施例还涉及具有计算机可读介质的计算机存储产品,该计算机可读介质包括用于执行各种计算机实现的操作的程序代码。计算机可读介质是可以存储此后可以由计算机系统读取的数据的任何数据存储设备。计算机可读介质的示例包括但不限于上述所有介质:闪存介质,诸如NAND闪存、eMMC、SD、紧凑型闪存;磁介质,诸如硬盘、软盘和磁带;光介质,诸如CD-ROM盘;光磁介质,诸如光盘;以及专门配置的硬件设备,诸如专用集成电路(“ASIC”)、可编程逻辑器件(“PLD”)以及ROM和RAM器件。程序代码的示例包括例如由编译器产生的机器代码,或包含更高级代码的文件,例如,可以使用解释器执行的脚本。
图1中所示的计算机/服务器系统仅是适用于本文公开的各种实施例使用的计算机系统的示例。适合于这种使用的其他计算机系统可以包括额外的或更少的子系统。另外,总线114说明了用于链接子系统的任何互连方案。也可以使用具有不同子系统配置的其他计算机体系架构。
图2A是应用程序网络可视化的图示。本文描述的运行时间应用程序网络是一组软件应用程序实例,它们通过其API经由计算机网络彼此通信。应用程序实例可以是任何执行的软件程序,诸如IOT(物联网)传感器、软件服务、数据库服务器、桌面客户端浏览器或移动应用程序中的嵌入式软件实例。
在一个实施例中,为了监视、故障排除和分析的目的,通过其API在应用程序实例之间可视化通信,如图2A所示。该可视化可以采用有向图的形式。为了可视化运行时间应用程序网络,每个应用程序实例可以表示为图形节点,例如图2A中标记为“Mule”(202)、“Twitter”(204)、“Workday”(206)等等的11个节点。节点可以在图2A中被命名为相同,以指示相同应用程序的实例。
可以通过分析应用程序实例之间的API调用事件来导出图形边缘。边缘的方向可以指示来自一个应用程序实例调用到另一个应用程序实例的API调用方向,例如,图2A中从“Mule”指向“Twitter”的图形边缘(208)。每个节点观察到的API事件的数量可能是高度可变的。当服务器到服务器时,成千上万的API事件可能只产生少数边缘。另一方面,在客户端到服务器调用的情况下,成千上万的API调用可能产生数千个边缘。
图2B示出了应用程序网络的采样形状。如图2B所示,“服务G”(252)可以看到成千上万个客户端向服务器(254a...254z)进行API调用。在同一时间和相同的地形中,可能存在少量经常通信的服务器,例如在“服务F”(256)和“服务A”(258)之间,在这种情况下,每对服务器的API调用可以仔细跟踪。
跟踪大量API调用事件(例如在(252)和(254a...254z之间))可能在计算上是昂贵的。公开了内联聚合API调用事件以减少和限制用于生成图形边缘的数据量的技术。
图3示出了代理和拓扑服务器。运行时间应用程序网络可以由应用程序实例构成。在一个实施例中,在每个应用程序实例内安装并运行轻量级网络可视化器代理,如图3中的带圆圈的“a”(302a...302e)所示,例如“服务C”中的代理(302b)。代理可以收集对应用程序实例的传入API调用以及来自应用程序实例的传出API调用。通常,代理可以仅在应用程序实例的子集上运行,因为并非所有应用程序实例都可以允许安装代理。
代理可以彼此独立地运行。如果在应用程序网络中的其他地方运行其他代理,则一个代理可能不知道先验。为了生成整个应用程序网络的完整图片,可以将每个代理收集的通信信息发送到网络拓扑服务器(304)。拓扑服务器组合来自每个实例的信息以形成运行时间应用程序网络的全局视图。
在一个实施例中,代理可以收集网络中各个服务节点的信息,诸如代理(302a...302e),但不收集关于数据库节点(306a,306b)或客户端浏览器节点(308a...308z)的信息。所收集的信息被发送到拓扑服务器(304)。
在运行时间环境中,代理(302a...302e)可以将数据连续地发送到拓扑服务器(304),因为观察到的API调用信息随时间而改变。例如,如果代理每分钟将收集的通信信息发送到拓扑服务器(304),则在第一分钟,可能有五个不同的客户端(308a...308z)对“服务器G”进行一个API调用。在下一分钟,可能只有一个客户端(308a)对“服务器G”进行许多API调用。结果,由代理发送到拓扑服务器(304)的API调用事件数据在数量上以及事件内容的唯一性上是高度可变的。
公开了使用时间序列事件导出边缘。运行时间应用程序网络图中的边缘表示从一个应用程序实例到另一个应用程序实例的API交互。边缘可以包含有关发起API调用的应用程序实例、接收API调用的应用程序实例的信息,以及API调用的响应信息(诸如开始时间、调用持续时间、响应代码、响应大小等)的信息。边缘可以表示单个API调用或具有相同特征(诸如相同的源、目的地、方法、响应代码等)的多个API调用。
该表中给出了API调用数据的样本捕获:
在2018年3月2日12:32:42.003处,呼叫从IP地址:端口10.0.23.123:8374到IP地址:端口10.2.34.212:80,具有响应,在这种情况下是HTTP响应,代码为200(OK),大小为2314字节,持续时间为34ms。由于运行时间中的API调用仅在一段时间间隔内发生,如上所述使用“开始时间”和“持续时间”所表示的,每个API调用可以表示为时间序列事件。作为时间序列事件,API调用中包含的各种信息可以被分组为以下中的至少一个:时间戳,上下文维度和事件数据。
API调用可以表示为时间序列事件,如下表中给出的:
在该时间序列事件表中:
·时间戳-是API调用开始时间戳;
·上下文数据-一组标签值对,描述关于API调用的源信息和目的地信息。这些数据点是非附加的;以及
·事件数据-一组标签值对。有两种类型的事件数据,附加度量数据和非附加数据。
附加度量数据是标签值,其中该值是数值度量,其特征在于该数值度量可以从许多事件组合以形成总和。然后可以使用这些总和来导出统计测量,诸如平均值。非附加数据是标签值,其中该值可以是分类的、有序的、自由形式的文本,或是它不增加价值或感测以跨事件求和的数字。
时间序列事件的内容包括:
·事件时间戳:事件时间戳;
·维度:非附加上下文数据和非附加事件数据的一个或更多个维度值;以及
·度量(可选):事件数据的零个或更多个附加度量值。
使用以上结构,可以使用结构化对象来表示API调用:
公开了聚合时间序列事件。在聚合时间序列事件中对传统技术有所改进,以减少所需的存储量和处理量。为了聚合时间序列事件,必须确定哪些事件是“相似的”。事件相似性在本文中定义为对事件中的所有维度或维度子集具有相同维度值的事件。使用上面的示例,当两个事件的“source.ip”相同时,用户可以声明两个事件是相似的。或者当两个事件的“source.ip”,“destination.ip”和“client-id”相同时,它们可能是相似的。或者当所有维度具有相同值时,两个事件可能是相似的。
在用户定义事件相似性之后,还可以指定聚合时间窗口以将时间窗口内的类似事件退化成单个聚合事件。例如,聚合时间窗口可以是1分钟、5分钟、1小时、1天等。
当多个事件被退化成单个聚合事件时,来自各个事件的度量被组合以形成聚合的度量。可以选择任何度量进行聚合,例如,响应大小或持续时间可以对多个事件进行组合。因此,聚合事件包括:
·聚合时间间隔:聚合事件的时间起点和持续时间;
·聚合维度:非附加上下文数据和非附加事件数据的全部事件维度值或事件维度值的子集;以及
·聚合的度量:从个体事件数据组合的和聚合的度量值。
如所定义的聚合维度可以是事件维度的子集,不是聚合维度的一部分的事件维度被称为退化维度。退化维度的示例是响应代码。聚合事件不包含有关退化维度的任何信息。
时间序列事件聚合的结果为时间间隔和聚合维度值的每个唯一组合产生一个聚合事件。聚合事件的数量可能小于原始事件的数量。
公开了使用用于图形边缘的聚合事件。在运行时间应用程序网络中,时间序列事件可表示两个应用程序之间的单个API调用。这些API调用可用于导出表示网络中的应用程序之间的交互的图形边缘。每个边缘可以表示API调用的源和目的地的唯一组合。从同一源到同一目的地的重复调用在图中生成相同的边缘。
在该表中给出了应用程序实例之间的API调用事件的一组示例:
使用上述五个事件,可以导出位于10.0.23.123、10.0.4.211和10.2.34.212处的具有三个不同应用程序实例的应用程序网络。节点10.0.23.123与10.2.34.212进行通信。节点10.0.4.211正在与10.2.34.212通信,但节点10.0.23.123未与10.0.4.211通信。
代替使用原始事件来导出边缘,可以使用聚合事件来生成图形边缘。可以使用具有源IP和目的地IP的聚合维度的一分钟时间窗口来首先聚合五个事件。然后聚合过程将产生以下结果:
如上所示,五个事件被减少为三个聚合事件。从三个聚合事件中,可以导出相同的应用程序网络可视化。此示例说明如果系统首先将原始事件聚合为聚合事件,则可能会减少用于导出应用程序网络的内存和计算。这对于服务器到服务器通信尤其有效,例如在图3中的“服务A”和“服务F”之间。
本文描述了高基数维度。在时间序列事件聚合期间,聚合维度可以包含许多唯一值。每个维度的唯一值的数量是维度的基数。当维度具有高基数时,该维度可能具有大量唯一值。因此,聚合维度的基数决定了聚合期间数据减少的程度。
例如,如果原始事件由下表表示:
使用基于源IP和目的地IP的聚合,该聚合结果由下表表示:
聚合事件时间戳 源IP 目的地IP 事件计数 响应持续时间平均值 响应大小平均值
2018-03-02 12:32:00.000 10.0.23.123 10.2.34.212 1 34 2314
2018-03-02 12:33:00.000 10.0.23.21 10.2.34.212 1 45 1734
2018-03-02 12:33:00.000 10.0.17.100 10.2.34.212 1 39 2314
2018-03-02 12:33:00.000 10.0.4.211 10.2.34.212 1 49 1934
2018-03-02 12:33:00.000 10.0.4.123 10.2.34.212 1 21 42
以上示例是源IP维度内的高基数的示例,其表示几乎最坏情况的情景,其中不进行聚合的减少。这可能发生在客户端到服务器的通信中,这也是大量API调用可能压倒传统监视、故障排除和/或分析的实例。
公开了处理高基数维度。运行时间应用程序网络中的高基数维度可能发生在API事件的若干事件维度上,例如“源IP”、“API URI”、“客户端ID”等。
例如,应用程序网络可以包含从桌面或移动客户端(308a...308z)接收请求的应用程序服务器(图3中与302e相关联的“服务G”)。从应用程序服务器的角度来看,存在大量不同的客户端IP地址。这可能意味着客户端到服务器应用程序中的许多边缘,可能大约10,000个边缘。
然而,如果应用程序服务器(与302d相关联的“服务F”)被设计用于其他应用程序服务器(与302a相关联的“服务A”、与302b相关联的“服务C”、以及与302e相关联的“服务G”),然后应用程序服务器可以只看到少数不同的服务器IP地址。这可能意味着服务器到服务器应用程序中的边缘很少,可能大约十个边缘。
结果是对于相同的一组维度的结果,例如源IP,维度可以是客户端到服务器类型应用程序的高基数,或服务器到服务器类型应用程序的低基数。
通过运行时间API调用事件构建运行时间应用程序网络的一个挑战是可能没有关于应用程序服务器使用类型的先验和/或前期信息:服务客户端或服务其他服务器。可选地,应用程序服务器的使用可能会随时间而变化。因此,在事件聚合期间可能难以使用传统技术自动处理高基数维度,诸如以下用于处理潜在高基数维度的常用策略:
公开了一种优于这些传统方法的新技术。该技术在本文中称为“自适应事件聚合”,并且:
1.提供低资源利用率:它不会保留所有原始事件以产生聚合;
2.在没有先验知识的情况下,从高基数维度自动选择值以进行保留;以及
3.为保留的值生成精确的度量。
图4是自适应事件聚合的序列图的图示。在一个实施例中,自适应事件聚合将原始API调用事件发送到聚合系统。经过指定的时间量之后,调用方可以触发聚合系统以返回该点处的所有聚合事件。聚合系统使用一组聚合处理器。如本文所述,“聚合处理器”是专用于处理数据的软件和/或软件-硬件元件,其可以是例如对象/二进制代码。在一个实施例中,聚合处理器是每个轻量级代理(302a...302e)的一部分。每个聚合处理器通过以下内部阶段工作。
1.第1阶段:样本数据收集;
2.第2阶段:学习;
3.第3阶段:内联聚合;以及
4.第4阶段:提取汇总结果,重置为第1阶段。
可以在每个聚合处理器(302a...302e)处和/或拓扑服务器(304)内发生配置。以下可配置参数被提供给自适应聚合系统:
1.无损、有损和退化的聚合维度;
2.聚合的和未使用的度量;
3.学习缓冲区大小,学习算法,保留值计数;以及
4.输出尺寸。
在一个实施例中,可配置参数控制聚合的行为。每个事件维度可以配置为以下类型之一:
1.无损聚合维度-事件维度的全部或子集,在聚合期间保留其唯一维度值;
2.有损聚合维度-事件维度的全部或子集,在聚合期间部分保留其唯一维度值。系统可以使用有限量/有边界量的存储器和计算资源保留关于这些维度值的尽可能多的信息;或者
3.退化维度-事件维度的全部或子集,在聚合期间不保留其维度值。
事件度量可以被指定为以下类型之一:
1.聚合度量-被聚合和输出的事件度量;或者
2.未使用的度量-在聚合期间忽略的事件度量,以及可能不会出现在输出中的事件度量。
另外,系统的用户可以指定:
1.学习缓冲区大小-学习缓冲区中唯一关键字的数量,如下面第1阶段中进一步描述的;
2.学习算法-用于执行(自适应)学习的插入/可插入算法;
3.输出大小-大小指南,用于指定针对聚合产生的输出的最大数目而不管输入事件的数量;和/或
4.保留值计数-为每个有损聚合维度保留的重要值的数目。
关于配置数据聚合系统的样本代码的示例包括:
无损维度。当用户配置一个或更多个无损维度时,可以使用多个独立的自适应聚合处理器(302a...302e)。如果用户没有指定无损维度,则可以使用单个自适应聚合处理器。给定事件,系统首先可以使用来自无损维度的值来创建查找关键字。该查找关键字可用于定位处理器映射中的现有聚合处理器。如果未找到这样的处理器,则可以创建/实例化新的聚合处理器并将其添加到处理器映射中用于查找关键字。然后可以将事件发送到聚合处理器。聚合处理器中的所有事件对于其无损维度具有相同的值。每个聚合处理器对有损维度独立地执行4阶段自适应聚合。
例如,在该表中表示API事件序列:
事件时间戳 源IP 目的地IP 响应代码 响应持续时间 响应大小
2018-03-02 12:32:42.003 10.0.23.123 10.2.34.212 200-OK 34 2314
2018-03-02 12:33:13.243 10.0.23.123 10.2.34.212 400-坏的请求 22 42
2018-03-02 12:33:38.624 10.0.23.123 10.2.34.212 200-OK 39 2314
2018-03-02 12:33:38.523 10.0.4.211 10.2.34.13 200-OK 49 1934
2018-03-02 12:33:51.028 10.0.23.123 10.2.34.212 400-坏的请求 21 42
如果无损维度是“目的地IP”和“响应代码”,则创建/实例化三个独立的聚合处理器,每个处理具有相同的无损维度值的事件,如这三个表中的每一个所表示的:
聚合处理器1
聚合处理器2
聚合处理器3
阶段1-样本数据收集。每个聚合处理器经历多达四个内部阶段,如图4所示。在阶段1(402)期间,接收的每个事件被存储到存储器中的关键字-值结构中。该关键字-值结构在本文中称为“学习缓冲区”。每个关键字是聚合维度值的唯一组合,相关联的值是保持具有相同关键字的事件的聚合度量集合的聚合事件。对于上面聚合处理器1表中的示例,查找关键字是“目的地IP=10.2.34.212,响应代码=200-OK。”学习缓冲区的大小可以不超过用户配置的学习缓冲区大小。
在一个实施例中,在阶段1之前,接收每个事件之前使用预处理阶段。例如,一个预处理阶段可以是获取IP地址并将其减少到子域,例如24.1.23.237减少到24.1.23.0,并且24.1.23.123也减少到24.1.23.0。
当新事件到来时,如果来自维度值的唯一组合的关键字已经存在于关键字-值结构中,则更新该值以包括新事件的度量值。如果该关键字不存在,则系统检查以查看该关键字-值的当前大小是否小于学习缓冲区大小。如果是,则将新条目添加到新事件的关键字-值。
如果关键字-值结构的当前大小为学习缓冲区大小,使得学习缓冲区已满,则新事件不被插入到关键字-值结构中。相反,阶段2被触发并且可以在阶段3中处理新事件,如下面详细描述的。
例如,学习缓冲区收集“源IP”和“目的地IP”是聚合器进程的有损维度的事件,其中响应代码作为无损维度。由于该处理器处理的所有事件可能具有相同的无损维度值,因此源IP和目的地IP值可能会变化。但是在阶段1,即学习阶段,在学习缓冲区已满之前,尽管有损,但仍保持源IP和目的地IP的所有唯一组合。学习缓冲区中每个聚合事件的时间戳显示每个第一事件的到达时间,该事件具有源IP和目的地IP的该唯一组合。该示例中的学习缓冲区由此表表示:
学习缓冲区示例
阶段2-学习。如上所述,当学习缓冲区为学习缓冲区大小极限时,触发阶段2(404),并且新事件到达不适合现有唯一关键字集合的内容。阶段2使用指定的学习算法对学习缓冲区中的聚合事件进行分析。可以提供从传统采样到自适应算法的许多算法。在本节中,将更详细地描述自适应算法。
在自适应学习中,系统尝试为每个有损维度识别最重要的维度值。一旦识别出这些维度值后,将跟踪这些值周围的度量。为了识别最重要的维度值,学习步骤遍历学习缓冲区中的所有聚合事件,为有损维度的每个唯一值生成频率计数。如果定义了不止一个有损维度,则为所有有损维度生成维度值计数。
使用阶段1中的学习缓冲区示例表,具有源IP和目的地IP的有损维度,以下值计数生成以下直方图:
源IP直方图:
目的地IP直方图:
目的地IP 事件计数
10.2.34.212 5
10.2.34.210 1
如上所示,每个有损聚合维度的值计数是该维度的频率直方图。使用此直方图,系统选择(pick)要保留的值。所选择的值在本文中称为“保留值”。系统使用多个因子从唯一值的总数、事件计数频率、频率的偏差和直方图的形状确定保留值。
例如,如果唯一值的总数小于保留值计数,则可以将所有值添加为保留值。如果直方图显示高频值与其他值之间的高偏差,则仅保留高频值。如果直方图显示许多低频值,则可能没有保留任何值。分析结果可以是选择零或更多个保留值。但是,保留值的数目不得超过用户指定的保留值计数配置属性。
在学习分析之后,处理器进入阶段3。
阶段3-内联聚合。在学习阶段之后并且在阶段3(406)开始时,聚合处理器现在具有以下数据点:
1.最大程度的学习缓冲区;以及
2.对于每个有损聚合维度,一组零个或更多个保留值。
处理器创建本文称为“溢出缓冲区”的辅助缓冲区。溢出缓冲区在结构上类似于学习缓冲区。溢出缓冲区用于存储具有其聚合度量的附加聚合事件。
此时,处理器恢复对传入事件的处理。阶段3中要处理的第一事件是触发阶段2的事件。对于阶段3中处理的每个事件,将应用以下:
1.使用事件的有损维度中的值组合创建关键字;
2.检查关键字是否在学习缓冲区中。如果找到,则将度量聚合到现有的学习缓冲区中;
3.如果在学习缓冲区中未找到关键字,则针对每个有损维度,检查该有损维的值是否为保留值之一。如果该值是保留值之一,则值保持不变。如果该值不是保留值之一,则事件中的值将更新为特殊标记“<OTHER>”。
4.使用上面步骤3中的更新值从有损维度创建溢出关键字。
5.使用溢出关键字在溢出缓冲区中找到相应的聚合事件。如果在聚合缓冲区中找到条目,则事件的度量将聚合到找到的条目中。如果未找到条目,则为溢出关键字创建新的聚合事件条目,并将事件度量添加到新的聚合事件中。
在阶段3(406)中,溢出缓冲区的大小具有已知的上限。溢出缓冲区内的最大条目数是乘积
其中mi是每个保留值的维度。例如,如果处理器选择保留源IP和目的地IP维度的以下值,则使用上面针对阶段1(402)和阶段2(404)示出的学习缓冲区示例:
源IP 事件计数 保留
10.0.23.123 3
10.0.23.122 2
10.0.6.56 1
以及
目的地IP 事件计数 保留
10.2.34.212 5
10.2.34.210 1
则溢出缓冲区中的最大条目数是3×2=6。
继续该示例,假设在阶段3(406)接收到以下附加事件:
事件时间戳 源IP 目的地IP 响应代码 响应持续时间 响应大小
2018-03-02 12:33:38.103 10.0.23.123 10.2.34.212 200-OK 30 2133
2018-03-02 12:33:38.624 10.0.23.123 10.2.34.211 200-OK 39 2314
2018-03-02 12:33:42.024 10.0.6.51 10.2.34.212 200-OK 23 3111
2018-03-02 12:33:38.523 10.0.6.51 10.2.34.13 200-OK 49 1934
则:
1.对于第一事件,在学习缓冲区中找到(source=10.0.23.123,destination=10.2.34.212),因此更新学习缓冲区度量;
2.对于第二事件,(source=10.0.23.123,destination=10.2.34.211)被添加到具有(source=10.0.23.123,destination=<OTHER>)为溢出关键字的溢出缓冲区中,因为原始源IP和目的地IP组合在学习缓冲区中不存在,并且源IP值是保留值,但目的地IP不是;
3.对于第三事件,(source=10.0.6.51,destination=10.2.34.212)被添加到具有(source=<OTHER>,destination=10.2.34.212)为溢出关键字的溢出缓冲区中,因为原始源IP和目的地IP组合在学习缓冲区中不存在,并且源IP值不是保留值,而目的地IP是保留值;以及
4.对于第四事件,(source=10.0.6.51,destination=10.2.34.13)被添加到具有(source=<OTHER>,destination=<OTHER>)溢出关键字的溢出缓冲区中,因为源IP和目的地IP都不是保留值。
得到的学习缓冲区更新为:
并且得到的溢出缓冲区更新为:
由于学习缓冲区和溢出缓冲区两者都是有界的和/或具有最大尺寸,因此无论处理了多少附加事件,阶段3处理都节省了有限量的存储器。在一个实施例中,通过阶段3处理的每个事件在时间帧中处理,该时间帧是常量O(1)的阶数,因为仅针对两个缓冲区检查事件以确定如何聚合该事件。
给定保留值,在学习缓冲区和潜在溢出缓冲区中存在包含该值的条目。将具有相同保留值的所有条目的度量组合在一起可为该保留值提供精确的度量。
阶段4-提取聚合结果。然后,调用方可以从聚合处理器(408)提取聚合结果。当调用提取时,聚合处理器可以处于阶段1(402)或阶段3(406)。
如果处理器仍处于阶段1(402),则系统检查以查看学习缓冲区是否包含比所配置的输出大小更多的条目。如果学习缓冲区不包含比所配置的输出大小更多的条目,则返回学习缓冲区的全部内容。如果学习缓冲区包含比所配置的输出大小更多的条目,则强制阶段2学习生成保留值,并且当聚合处理器处于阶段3(406)时,如下所述提取聚合结果。
如果在调用提取时聚合处理器处于阶段3(406),则处理器首先通过降序事件计数对学习缓冲区进行排序。然后,处理器选择达到所配置的输出大小的前N个条目。如果学习缓冲区中剩余任何条目,则通过针对保留值检查有损维度值来将剩余条目中的每个条目处理到溢出缓冲区中以生成溢出关键字。使用溢出关键字,学习缓冲区中的所有剩余聚合事件都被放入溢出缓冲区。在此处理之后,溢出缓冲区的内容将附加到输出。
继续上面的示例,如果输出大小是2,则以下是来自聚合处理器的输出:
学习缓冲区:
溢出缓冲区:
组合输出:
请注意,输出包含每个所选保留维度值的精确度量。对于源IP 10.0.23.123,输出显示总共五个事件。对于源IP 10.0.23.122,输出显示总共两个事件。对于目的地IP10.2.34.212,输出总共产生七个事件。
当处理器处于阶段3(406)时,输出大小和溢出缓冲区大小的总和是输出的大小。在一个实施例中,在提取结果之后,处理器清除其学习缓冲区和溢出缓冲区并重置回到阶段1(402)。
在配置聚合处理器时,聚合处理器运行时间特性相比传统技术具有若干优点:
1.有限内存使用-每个聚合处理器使用固定大小的学习缓冲区加上具有已知上限的溢出缓冲区;
2.流式聚合-当事件由处理器处理时,聚合即时生成而不保持到传入事件;
3.恒定的计算时间-通过对学习缓冲区和溢出缓冲区的两次恒定时间查找,使用恒定的计算量处理每个事件;以及
4.保留值的精确度量-输出包含有损维度的所有保留值的精确度量。
插入/可插入阶段2学习。如图4所示,自适应聚合/处理分裂为几个阶段。结果,可以在阶段2(404)中使用插入来切换不同的学习算法,以识别要保留哪些有损维度值。这为学习提供了多种可能性:
1.组合学习缓冲区。如图4阶段2(404)中所述,学习算法可以使用单个学习缓冲区内的频率来确定保留值。由于可能存在多个学习缓冲区,每个无损维度值的唯一组合一个学习缓冲区,因此该算法还可以利用来自所有学习缓冲区的频率来确定在空间上保留哪些值。同时使用所有学习缓冲区可以提供全局视角来选择要保留的有损维度值;
2.利用历史保留值。阶段2(404)的学习的另一个变化是利用时间上的先前保留值而不是使用来自当前学习缓冲区的值。通过将来自先前检测的保留值与当前值组合,提供了更稳定的保留值集。历史保留值可以与衰减相关联,使得如果不进一步观察到保留值,则缓慢地,随着时间的推移将其从考虑中移除;和/或
3.使用不同的度量。这种替代类型的学习算法可以使用不同的度量(诸如响应时间或响应大小)来确定保留值,而不是使用频率。这会对输出产生不同的语义。使用响应时间或响应大小可以为响应时间和响应大小较高或较低的事件产生精确的度量,而不是为最常发生的事件产生精确的度量。识别此类事件的维度值对于某些用例可能很重要。
附加用例。如本文所公开但非限制性的,对应用程序网络可视化边缘生成使用自适应聚合仅仅是一个用例。自适应聚合方法是一种通用技术,适用于具有维度和度量的任何事件流。结果,自适应聚合方法被实现为可以嵌入到许多主机应用程序和服务中的通用库。
例如,在分析代理中使用自适应聚合,其在将聚合数据发送到中央分析服务之前聚合和限制所收集的度量标准。这减少了度量消耗的网络资源,并保护分析系统不被无限量的数据所淹没。
当不可能更新代理以包括自适应聚合时,也可以在服务端使用相同的聚合库。当服务从代理接收到数据时,它可以首先通过聚合库传递数据,以在将聚合事件传递给服务的其余部分之前减少和限制数据量。
图5是示出用于自适应事件聚合的过程的实施例的流程图。在一个实施例中,图5的过程由图3中的系统执行。
在步骤502中,使用多个代理来监视应用程序网络。在一个实施例中,多个代理包括多个轻量级代理。
在步骤504中,执行自适应事件聚合以确定聚合维度的值。在一个实施例中,执行自适应事件聚合包括至少部分地基于对与使用多个代理监视应用程序网络相关联的事件的聚合来确定聚合维度的值。在一个实施例中,执行自适应事件聚合包括执行内联学习和事件数据的收集。在一个实施例中,自适应事件聚合由聚合处理器执行。
在步骤506中,基于聚合维度生成应用程序网络的报告。在一个实施例中,报告包括以下中的至少一个:应用程序网络的可视化,事件监视报告和网络拓扑报告。
在一个实施例中,在减少的网络带宽下传送代理聚合度量。在一个实施例中,基于指示基于成功阈值的关键事件和失败事件的报告来生成应用程序网络的图形可视化。
在一个实施例中,生成应用程序网络的拓扑的图形可视化。图形可视化可以包括用于以下中的至少一个的图形提示:所监视数据的名称-值对,上下文维度,事件数据,时间戳,IP地址的网络元组,端口的网络元组,协议的网络元组,响应代码,维度计数,应用程序网络的实体之间的调用次数,维度的大小和响应大小。
图6是示出用于聚合处理的过程的实施例的流程图。在一个实施例中,图6的过程由图3中的代理(302a...302e)执行,并且是图5中的步骤(504)的一部分。
在步骤602中,将数据集合采样到学习缓冲区中。在一个实施例中,以下中的至少一个是可配置的:学习缓冲区大小,学习算法,输出大小和保留值计数。
在步骤604中,在学习缓冲区已满的情况下,使用学习来识别聚合维度的保留值。在一个实施例中,自适应学习用于识别保留值。在一个实施例中,聚合维度可配置为以下中的至少一个:无损维度,有损维度和退化维度。在一个实施例中,识别保留值包括将度量配置为以下中的至少一个:聚合的和未使用的。
在一个实施例中,使用学习识别包括使用以下中的至少一个:前N技术,随时间适应技术,组合学习缓冲区技术,历史保留值技术和不同度量技术。
在步骤606中,使用内联聚合将附加事件存储到溢出缓冲区中。在一个实施例中,存储附加事件包括附加事件的线性计算,包括保留值的无损度量。
在步骤608中,从学习缓冲区和溢出缓冲区中提取聚合结果。
尽管为了清楚理解的目的已经在一些细节上描述了前述实施例,但是本发明不限于所提供的细节。存在许多实现本发明的替代方式。所公开的实施例是说明性的而非限制性的。

Claims (20)

1.一种系统,包括:
处理器;以及
存储器,所述存储器与所述处理器耦合,其中所述存储器被配置为向所述处理器提供指令,所述指令在被执行时使所述处理器:
使用多个代理监视应用程序网络;
执行自适应事件聚合以确定聚合维度的保留值;以及
基于所述聚合维度生成所述应用程序网络的报告。
2.如权利要求1所述的系统,其中所述多个代理包括多个轻量级代理。
3.如权利要求1所述的系统,其中执行自适应事件聚合包括至少部分地基于事件的聚合来确定聚合维度的所述保留值,所述事件与使用所述多个代理监视所述应用程序网络相关联。
4.如权利要求1所述的系统,其中所述报告包括以下中的至少一个:所述应用程序网络的可视化,事件监视报告和网络拓扑报告。
5.如权利要求1所述的系统,其中执行自适应事件聚合包括执行内联学习和事件数据的收集。
6.如权利要求1所述的系统,其中所述处理器包括聚合处理器,并且其中所述自适应事件聚合由所述聚合处理器执行。
7.如权利要求6所述的系统,其中所述聚合处理器还被配置为:
将数据集合采样到学习缓冲区中;
在所述学习缓冲区已满的情况下使用学习来识别所述聚合维度的保留值;
使用内联聚合将附加事件存储到溢出缓冲区中;以及
从所述学习缓冲区和所述溢出缓冲区中提取聚合结果。
8.如权利要求7所述的系统,其中所述聚合维度可配置为以下中的至少一个:无损的维度,有损的维度和退化的维度。
9.如权利要求7所述的系统,其中识别所述保留值包括将度量配置为以下中的至少一个:聚合的和未使用的。
10.如权利要求7所述的系统,其中以下中的至少一个是可配置的:学习缓冲区大小,学习算法,输出大小和保留值计数。
11.如权利要求7所述的系统,其中存储附加事件包括对附加事件的线性计算,所述附加事件包括保留值的无损度量。
12.如权利要求7所述的系统,其中使用学习识别包括使用以下中的至少一个:前N技术,随时间适应技术,组合学习缓冲技术,历史保留值技术和不同度量技术。
13.如权利要求1所述的系统,其中所述存储器还被配置为向所述处理器提供指令,所述指令在被执行时使所述处理器在减小的网络带宽下传送代理聚合的度量。
14.如权利要求1所述的系统,其中所述存储器还被配置为向所述处理器提供指令,所述指令在被执行时使所述处理器基于报告来生成所述应用程序网络的图形可视化,所述报告基于成功阈值指示关键事件和故障事件。
15.如权利要求1所述的系统,其中所述存储器还被配置为向所述处理器提供指令,所述指令在被执行时使所述处理器生成所述应用程序网络的拓扑的图形可视化。
16.如权利要求15所述的系统,其中所述图形可视化包括用于以下中的至少一个的图形提示:被监视数据的名称-值对,上下文维度,事件数据,时间戳,IP地址的网络元组,端口的网络元组,协议的网络元组,响应代码,维度计数,应用程序网络实体之间的调用次数,维度大小和响应大小。
17.一种方法,包括:
使用多个代理监视应用程序网络;
执行自适应事件聚合以确定聚合维度的保留值;以及
基于所述聚合维度生成所述应用程序网络的报告。
18.如权利要求17所述的方法,其中,执行自适应事件聚合包括:
将数据集合采样到学习缓冲区中;
在所述学习缓冲区已满的情况下使用学习来识别所述聚合维度的保留值;
使用内联聚合将附加事件存储到溢出缓冲区中;以及
从所述学习缓冲区和所述溢出缓冲区中提取聚合结果。
19.一种计算机程序产品,所述计算机程序产品包含在非暂时性计算机可读存储介质中并且包括用于以下操作的计算机指令:
使用多个代理监视应用程序网络;
执行自适应事件聚合以确定聚合维度的保留值;以及
基于所述聚合维度生成所述应用程序网络的报告。
20.如权利要求19所述的计算机程序产品,其中执行自适应事件聚合还包括用于以下的计算机指令:
将数据集合采样到学习缓冲区中;
在所述学习缓冲区已满的情况下使用学习来识别所述聚合维度的保留值;
使用内联聚合将附加事件存储到溢出缓冲区中;以及
从所述学习缓冲区和所述溢出缓冲区中提取聚合结果。
CN201811276066.8A 2017-10-30 2018-10-30 自适应事件聚合 Active CN110022343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110389634.0A CN113271234A (zh) 2017-10-30 2018-10-30 自适应事件聚合

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762579045P 2017-10-30 2017-10-30
US62/579,045 2017-10-30
US15/874,714 US10528403B2 (en) 2017-10-30 2018-01-18 Adaptive event aggregation
US15/874,714 2018-01-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110389634.0A Division CN113271234A (zh) 2017-10-30 2018-10-30 自适应事件聚合

Publications (2)

Publication Number Publication Date
CN110022343A true CN110022343A (zh) 2019-07-16
CN110022343B CN110022343B (zh) 2021-04-27

Family

ID=64100600

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811276066.8A Active CN110022343B (zh) 2017-10-30 2018-10-30 自适应事件聚合
CN202110389634.0A Pending CN113271234A (zh) 2017-10-30 2018-10-30 自适应事件聚合

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110389634.0A Pending CN113271234A (zh) 2017-10-30 2018-10-30 自适应事件聚合

Country Status (6)

Country Link
US (2) US10528403B2 (zh)
EP (1) EP3480696A1 (zh)
JP (1) JP7319038B2 (zh)
CN (2) CN110022343B (zh)
AU (1) AU2018253491B2 (zh)
CA (1) CA3022435A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022028144A1 (en) * 2020-08-03 2022-02-10 International Business Machines Corporation Blockchain management of provisioning failures

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897402B2 (en) * 2019-01-08 2021-01-19 Hewlett Packard Enterprise Development Lp Statistics increment for multiple publishers

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713020A (en) * 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
CN102122296A (zh) * 2008-12-05 2011-07-13 北京大学 检索结果聚类方法及装置
US20130083794A1 (en) * 2011-09-29 2013-04-04 Sridhar Lakshmanamurthy Aggregating Completion Messages In A Sideband Interface
CN103582512A (zh) * 2013-02-04 2014-02-12 华为技术有限公司 特征提取装置、网络流量识别方法、装置和系统
CN104123368A (zh) * 2014-07-24 2014-10-29 中国软件与技术服务股份有限公司 基于聚类的大数据属性重要性和辨识度的预警方法及系统
CN104156403A (zh) * 2014-07-24 2014-11-19 中国软件与技术服务股份有限公司 一种基于聚类的大数据常态模式提取方法及系统
US20170076109A1 (en) * 2015-09-12 2017-03-16 Q Bio, Inc Uniform-frequency records with obscured context

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255253A (ja) * 1995-03-17 1996-10-01 Toshiba Corp グラフ表示処理装置およびグラフ表示処理方法
US7603458B1 (en) * 2003-09-30 2009-10-13 Emc Corporation System and methods for processing and displaying aggregate status events for remote nodes
US20050138642A1 (en) 2003-12-18 2005-06-23 International Business Machines Corporation Event correlation system and method for monitoring resources
US20050262237A1 (en) 2004-04-19 2005-11-24 Netqos, Inc. Dynamic incident tracking and investigation in service monitors
US7644438B1 (en) * 2004-10-27 2010-01-05 Arcsight, Inc. Security event aggregation at software agent
US7562391B1 (en) * 2005-04-18 2009-07-14 Symantec Corporation Reducing false positive indications of buffer overflow attacks
US20080082661A1 (en) 2006-10-02 2008-04-03 Siemens Medical Solutions Usa, Inc. Method and Apparatus for Network Monitoring of Communications Networks
US8782614B2 (en) * 2011-04-08 2014-07-15 Ca, Inc. Visualization of JVM and cross-JVM call stacks
US8941657B2 (en) * 2011-05-23 2015-01-27 Microsoft Technology Licensing, Llc Calculating zoom level timeline data
US8964582B2 (en) * 2011-12-27 2015-02-24 Tektronix, Inc. Data integrity scoring and visualization for network and customer experience monitoring
US11438278B2 (en) 2015-06-29 2022-09-06 Vmware, Inc. Container-aware application dependency identification
US20170223136A1 (en) 2016-01-29 2017-08-03 AppDynamics, Inc. Any Web Page Reporting and Capture
US10587578B2 (en) * 2016-12-19 2020-03-10 Nicira, Inc. Firewall rule management for hierarchical entities
US10037232B1 (en) * 2017-01-31 2018-07-31 Ca, Inc. Alarms with stack trace spanning logical and physical architecture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5713020A (en) * 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
CN102122296A (zh) * 2008-12-05 2011-07-13 北京大学 检索结果聚类方法及装置
US20130083794A1 (en) * 2011-09-29 2013-04-04 Sridhar Lakshmanamurthy Aggregating Completion Messages In A Sideband Interface
CN103582512A (zh) * 2013-02-04 2014-02-12 华为技术有限公司 特征提取装置、网络流量识别方法、装置和系统
CN104123368A (zh) * 2014-07-24 2014-10-29 中国软件与技术服务股份有限公司 基于聚类的大数据属性重要性和辨识度的预警方法及系统
CN104156403A (zh) * 2014-07-24 2014-11-19 中国软件与技术服务股份有限公司 一种基于聚类的大数据常态模式提取方法及系统
US20170076109A1 (en) * 2015-09-12 2017-03-16 Q Bio, Inc Uniform-frequency records with obscured context

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022028144A1 (en) * 2020-08-03 2022-02-10 International Business Machines Corporation Blockchain management of provisioning failures
US11481268B2 (en) 2020-08-03 2022-10-25 International Business Machines Corporation Blockchain management of provisioning failures
CN115812298A (zh) * 2020-08-03 2023-03-17 国际商业机器公司 供应故障的区块链管理
GB2613724A (en) * 2020-08-03 2023-06-14 Ibm Blockchain management of provisioning failures

Also Published As

Publication number Publication date
US10528403B2 (en) 2020-01-07
CN110022343B (zh) 2021-04-27
US20200097341A1 (en) 2020-03-26
AU2018253491B2 (en) 2023-07-27
US20190129767A1 (en) 2019-05-02
US11003513B2 (en) 2021-05-11
CA3022435A1 (en) 2019-04-30
JP7319038B2 (ja) 2023-08-01
EP3480696A1 (en) 2019-05-08
JP2019083012A (ja) 2019-05-30
CN113271234A (zh) 2021-08-17
AU2018253491A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
CN109961204B (zh) 一种微服务架构下业务质量分析方法和系统
US10394693B2 (en) Quantization of data streams of instrumented software
US10122788B2 (en) Managed function execution for processing data streams in real time
CN113220724B (zh) 用于处理数据流的方法、系统和计算机可读存储介质
CN109587008B (zh) 检测异常流量数据的方法、装置及存储介质
CN106649831B (zh) 一种数据过滤方法及装置
US20190294978A1 (en) Inferring digital twins from captured data
CN109684052B (zh) 事务分析方法、装置、设备及存储介质
US20210385251A1 (en) System and methods for integrating datasets and automating transformation workflows using a distributed computational graph
CN113645232B (zh) 一种面向工业互联网的智能化流量监测方法、系统及存储介质
US10009239B2 (en) Method and apparatus of estimating conversation in a distributed netflow environment
JP7069173B2 (ja) 高速分析のためにネットワーク・トラフィックを準備するシステム
CN109962789B (zh) 基于网络数据构建物联网应用标签体系的方法和装置
CN110262951A (zh) 一种业务秒级监控方法及系统、存储介质及客户端
CN110022343A (zh) 自适应事件聚合
Lee et al. ATMSim: An anomaly teletraffic detection measurement analysis simulator
CN113806169A (zh) 业务异常处理方法及装置
CN107330031B (zh) 一种数据存储的方法、装置及电子设备
Lee et al. Detecting anomaly teletraffic using stochastic self-similarity based on Hadoop
CN114039765A (zh) 一种配电物联网的安全管控方法、装置及电子设备
CN113918577A (zh) 数据表识别方法、装置、电子设备及存储介质
US10133997B2 (en) Object lifecycle analysis tool
CN116405330B (zh) 基于迁移学习的网络异常流量识别方法、装置和设备
CN115396319B (zh) 数据流分片方法、装置、设备及存储介质
CN118101281A (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