CN110858195A - 时间系列度量的高效的存储和查询 - Google Patents
时间系列度量的高效的存储和查询 Download PDFInfo
- Publication number
- CN110858195A CN110858195A CN201810940242.7A CN201810940242A CN110858195A CN 110858195 A CN110858195 A CN 110858195A CN 201810940242 A CN201810940242 A CN 201810940242A CN 110858195 A CN110858195 A CN 110858195A
- Authority
- CN
- China
- Prior art keywords
- measurement data
- network
- metric
- time series
- dimension
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及时间系列度量的高效的存储和查询,其中提供一种用于处理时间系列测量数据的方法。在多个时间段内接收包括多个网络性能度量的数据。将接收的数据写入到多个测量数据结构。将测量数据结构存储到具有第一维度和第二维度的二维阵列。第一维度表示时间,并且第二维度表示多个网络实体。将二维阵列的元素压缩成BLOB。BLOBS中的每一个与时间段和测量类型相关联,该时间段和测量类型与存储在对应的BLOB内的数据相关联。将BLOBS存储在第一表格和第二表格中。第一表格由网络实体和时间段的组合索引。第二表格由网络性能度量和网络实体的组合索引。
Description
技术领域
本发明的实施例一般涉及数据处理技术,并且具体涉及时间系列度量的高效的存储和查询。
背景技术
近年来,计算机网络和网络元素的管理变得越来越复杂,正如元素和网络的复杂性增加一样。不足以表述网络元素或者元素之间的链接是“向上”(与“向下”相对)。需要评估每个网络元素以及元素之间的链接的性能,以便提供网络的完整视图。为了评估性能,使用关键性能指标(KPI)。
KPI可以包括诸如“装备温度”到“流量”和“掉线”之类的项。在无线网络中,为单个元素提供数千个这样的KPI是很常见的。因为许多不同的网络元素可以构成完整的网络,所以可用KPI的总域可以非常快速地达到数万到数十万个KPI,每个网络元素并且针对每个时间间隔(例如,每5到15分钟)收集每个KPI。
网络性能管理应用在定期的基础上(例如,每小时或每15分钟)为每个受监控的网络元素收集所有这些KPI。在每天的基础上,该收集可以非常快速地导致监控超过10亿个KPI。因此,KPI的倍增可能意味着将需要非常大的计算机,以便对该数据量进行收集、存储、管理和报告。此外,在复合应用管理中,中央系统往往从几个不同且异构的源收集信息,将这些组合信息整体处理,并在检测到故障时生成警报。
期望具有装备良好以高效地存储和检索大量数据的数据存储系统。
发明内容
图示的实施例的目的和优点将在下面的描述中得到阐述并且从中显而易见。图示的实施例的附加优点将由在书面描述及其权利要求中以及从附图中特别指出的设备、系统和方法来实现和获得。
根据图示的实施例的目的,在一个方面,提供一种用于处理时间系列测量数据的方法。在多个时间段内接收包括多个网络性能度量的时间系列测量数据。每个网络性能度量测量网络实体的性能。将接收的时间系列测量数据写入到包括多个网络性能度量的多个测量数据结构。多个测量数据结构中的每一个存储对应于一个网络实体的时间系列测量数据。多个测量数据结构中的每一个包括指示类型和时间段的报头,该类型和时间段与存储在对应的测量数据结构内的时间系列测量数据相关联。将多个测量数据结构存储到被配置为具有第一维度和第二维度的二维阵列的数据结构。第一维度表示时间,并且第二维度表示多个网络实体。将二维阵列的元素压缩成多个二进制大对象(BLOB)。多个BLOBS中的每一个与时间段和测量类型相关联,该时间段和测量类型与存储在对应的BLOB内的时间系列测量数据相关联。将多个BLOBS存储在第一表格和第二表格中。第一表格由网络实体和时间段的组合索引。第二表格由网络性能度量和网络实体的组合索引。
在另一方面,提供一种用于检索时间系列测量数据的方法。从用户接收一个或多个查询参数。查询参数至少包括感兴趣的网络性能度量、感兴趣的时间段和感兴趣的网络实体。基于接收的查询参数从第二表格检索元素。第二表格存储多个BLOBS。第二表格由网络性能度量和网络实体的组合索引。对检索的元素进行分类,并且提取对应于感兴趣的网络实体的一个或多个元素。基于接收的查询参数从第一表格检索元素。第一表格存储多个BLOBS。第一表格由网络实体和时间段的组合索引。
附图说明
附随的附录和/或附图图示根据本公开的各种非限制性示例、发明方面:
图1是根据本发明的实施例的系统的实施例的部署图;
图2是根据系统的实施例的组件图;
图3是根据本公开的实施例的用于处理时间系列测量数据的方法的流程图;
图4是根据本公开的实施例的用于检索时间系列测量数据的方法的流程图;以及
图5以图形方式图示根据本公开的各种实施例的被执行用于存储时间系列测量数据的步骤的序列。
具体实施方式
现在参照附图更全面地描述本发明,在附图中示出图示的本发明的实施例,其中相同的附图标记标识相同的元件。本发明不以任何方式限于图示的实施例,因为以下所述的图示的实施例仅仅是可以按各种形式体现的本发明的示范,如本领域技术人员所理解的。因此,应理解:本文公开的任何结构和功能细节不应被解释为限制性的,而是仅仅作为权利要求的基础,并且作为用于教导本领域技术人员多样化地采用本发明的表示。此外,本文使用的术语和短语不旨在是限制性的,而是提供该发明的可理解的描述。
除非另外定义,否则本文使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常所理解的相同的含义。虽然也可以在本发明的实践或测试中使用与本文所述的方法和材料类似或等同的任何方法和材料,但是现在描述示范性方法和材料。必须注意:如本文和所附权利要求中所使用的,单数形式“一”、“一个”和“该”包括复数指示物,除非上下文另有明确说明。因而,例如,对“刺激”的引用包括多个这样的刺激,并且对“信号”的引用包括对一个或多个信号及本领域技术人员已知的其等同物的引用,等等。
应理解:如下所讨论的本发明的实施例优选是驻留在计算机可用介质上的软件算法、程序或代码,该计算机可用介质具有用于使得能够在具有计算机处理器的机器上执行的控制逻辑。机器典型地包括存储器存储,该存储器存储被配置成提供来自计算机算法或程序的执行的输出。
如本文所使用的,术语“软件”意味着与可以在主计算机的处理器中的任何代码或程序同义,而不管实现方式是以硬件、固件还是作为在盘上可用的软件计算机产品、存储器存储设备还是用于从远程机器下载。本文所述的实施例包括这样的软件来实现以下所述的等式、关系和算法。基于以下所述的实施例,本领域技术人员将理解该发明的进一步的特征和优点。相应地,除了如由所附权利要求指出的之外,本发明不受已经特别示出和描述的内容的限制。
在示范性实施例中,计算机系统组件可构成“模块”,其被配置和操作以执行如下文所述的某些操作。相应地,术语“模块”应当被理解为包含有形实体,是物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)而以某种方式操作并执行本文所述的某些操作的实体。
本公开的实施例提供用于处理性能测量数据的方法、系统和计算机程序产品。例如,在一些实施例中,一种方法包括:在多个时间段内接收关于多个网络性能度量的时间系列测量数据;将接收的时间系列测量数据写入到包括多个网络性能度量的多个测量数据结构;将多个测量数据结构存储到被配置为二维阵列的数据结构;将二维阵列的元素压缩成多个BLOB,并且将多个BLOB中的每一个存储在第一表格和第二表格中。第一表格由网络实体和时间段的组合索引,并且第二表格由网络性能度量和网络实体的组合索引。该方法提供一种缩短从时间系列测量数据存储系统检索内容的时间的方式。实施例最小化硬件占用空间并提供高效的存储和检索过程。
有利地,当故障跟踪是目标时,性能度量特别有用。在一些实施例中,可在故障发生之前开始并且在故障发生之后结束的识别时段内识别各种度量。
度量可以按不同方式与其它度量相关,并且相关度量包括第一、第二和进一步的关系级别。一些关系被认为对发现故障是关键性的,而其它关系并不是关键性的。关系可以是或者明显的,或者隐含的。例如,复杂度量(往往被称为KPI或KQI=关键质量指示符)可包括几个度量。例如,一个KPI是利用率=流量/容量。在这种情况下,如果在利用率上发出警报,用户将对深入挖掘流量和容量度量感兴趣。类似地,如果在流量上发出警报,用户将对利用率和容量度量感兴趣。实施例确保因此一起存储和检索相关度量。例如为了KQI,可能在一些元数据中指定或从另一个系统中提取其它关系:服务级别度量可能被关联到“%丢弃呼叫”度量。另外,度量可能是隐含相关的,并且关系通过算法(诸如相关性或因果算法)来学习。
术语故障在广义上用于意味着指示系统中某物故障的事件。例如,故障可以被扩展到以下中的任何一个:事件或一般用于事件的度量;配置变化;可用性和故障;服务级别观察;检测的行为异常,即网络实体(资源)的行为方式与它以往的方式不类似。感兴趣的特定情况是哨兵度量的情况,所述度量在它们满足某些条件时可能反映了值得调查的条件。类似地,术语性能度量在权利要求中用于覆盖诸如KPI、KQI之类事件以及任何其它性能或有用的监控数据。
参考图1,在计算机系统100内示出有优选实施例的部署图。计算机系统100与许多其它通用或专用计算系统环境或配置一起操作。可适合供计算机系统100使用的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统以及包括任何以上系统或设备的分布式云计算环境等等。可在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述计算机系统100。一般地,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等等。计算机系统100可以体现在分布式云计算环境中,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质两者中。如图1中所示,以通用计算设备的形式示出计算机系统100。计算机系统100的组件可包括但不限于一个或多个处理器或处理单元102、系统存储器104以及将包括系统存储器104的各种系统组件耦合到处理器102的总线106。
总线106表示几种类型的总线结构中的任何一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用各种总线架构中任何一个的处理器或本地总线。通过示例而非限制的方式,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线以及外围组件互连(PCI)总线。计算机系统100典型地包括各种计算机系统可读介质。这样的介质可以是计算机系统100可访问的任何可用介质,并且其包括易失性和非易失性介质、可移除和不可移除介质两者。
系统存储器104包括可读易失性存储器,诸如随机存取存储器(RAM)108和高速缓存存储器110,并且还包括非易失性或持久存储装置112。计算机系统100可进一步包括其它可移除/不可移除的易失性/非易失性计算机系统储存介质。仅仅通过示例的方式,可以提供存储装置112以用于从不可移除的非易失性磁介质(未示出并且被典型地称为“硬盘驱动器”)读取并向其写入。虽然未示出,但是可以提供用于从可移除的非易失性磁盘(例如,“软盘”)读取并向其写入的磁盘驱动器、以及用于从可移除的非易失性光盘(诸如CD-ROM、DVD-ROM或其它光学介质)读取或向其写入的光盘驱动器。在这样的实例中,每个都可以通过一个或多个数据媒体接口连接到总线106。如以下将进一步描绘和描述的,存储器104可包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行该发明的实施例的功能。
通过示例而非限制的方式,一组程序模块114可被存储在存储器104、以及操作系统、一个或多个应用程序、其它程序模块和程序数据中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某个组合中的每一个可包括联网环境的实现方式。可以提供至少一个程序模块114以执行如本文所述的该发明的实施例的功能和/或方法学。在优选实施例中,存储引擎116是被配置成执行该发明的实施例的功能的计算机程序。
计算机系统100还可以与以下各项通信:一个或多个外部设备118,诸如键盘、指示设备、显示器120等;使得用户122能够与计算机系统100交互的一个或多个设备;和/或使得计算机系统100能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这样的通信可以经由I/O接口122发生。此外,计算机系统100可以经由网络适配器124与一个或多个网络通信,所述网络诸如局域网(LAN)、一般广域网(WAN)和/或公共网络(例如,因特网)。如所描绘的,网络适配器124经由总线106与计算机系统100的其它组件通信。应当理解:虽然未示出,但是可能结合计算机系统100使用其它硬件和/或软件组件。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据存档存储系统。
在本发明的优选实施例中,度量收集系统126包括外部性能测量收集引擎。在另一个实施例中,度量收集系统包括集成性能测量收集引擎。
参考图2,优选实施例是以计算机程序形式的存储引擎116,包括:存储管理器202和压缩引擎204。度量收集系统126被示为独立于该实施例而收集性能数据216、故障数据218和其它事件220,并将对应的度量馈送到临时存储装置205中。例如,度量收集系统126可被设置成每分钟一次地仅仅收集性能数据216、故障数据218和其它事件220。在各种实施例中,度量收集系统126例如可包括任何合适的网络监控系统。
存储装置112在执行之前存储存储引擎模块116。在执行时,将存储引擎116的副本放置在高速缓存存储器110中以供执行,并且在存储系统112中创建由实施例使用的数据结构。数据结构包括:临时存储装置205,测量206;阵列208,第一表格212和第二表格214。存储管理器202负责创建和管理在存储系统112中创建的数据结构。度量收集系统126被配置成将事件直接馈送到临时存储装置205。
压缩引擎204被配置成将阵列208的元素压缩并存储为多个BLOB 210,如下所讨论的。
图3和4是分别示出根据本发明公开的示范性实施例的用于处理时间系列测量数据和用于检索时间系列测量数据的方法的流程图。在转向图3和图4的描述之前,注意这些图中的流程图示出其中以特定次序执行操作步骤的示例,如由连接块的线所指示,但是这些图中所示的各个步骤可以按任何次序或以任何组合或子组合来执行。应当理解:在一些实施例中,可以将以下所述的步骤中的一些组合成单个步骤。在一些实施例中,可执行一个或多个附加步骤。如将由本领域技术人员理解的,本发明的方面可被体现为方法或计算机程序产品。在一些实施例中,以下所述的方法可以至少部分地由存储引擎116的一个或多个组件执行,所述组件诸如但不限于存储管理器202和压缩引擎204。
从图3开始,在步骤302处,存储管理器202从度量收集系统126接收时间系列测量数据。如本文所讨论的,除了其它事情之外,“时间系列测量数据”可包括由一个或多个数据源、计算设备或传感器生成的一系列数据点或数据点的序列。每个数据点可以是值、小数据段或大数据段,并且每个数据点可与时间戳相关联或者与为数据点提供用于时间戳的基础的特定时间点相关联。数据可以是结构化的、非结构化的或半结构化的,并且可以来自文件、目录、网络分组、网络事件和/或传感器。由例如企业网络环境内的数据源生成的机器数据一般被认为是非结构化数据。时间系列测量数据包括具有时间戳并在多个时间段内收集的多个网络性能度量。每个网络性能度量都测量网络实体的性能。多个网络性能度量中的每一个与唯一整数标识符以及与度量相关联的度量类型标识符相关联。各种类型的聚合度量值可包括但不限于计数、最大值、最小值、平均值、算术平均值、几何平均值、中值、模式或者与时间戳相关联的度量值的中心趋势的任何其它适当的测量。其它类型的聚合度量值可包括位图保持基数值、直方图等等。
除了多个网络性能度量之外,接收的时间系列测量数据还可包括多个事件。“事件”可包括来自与单个时间戳相关联的特定数据源的单个活动记录。这样的事件例如可对应于日志文件中的一行或多行或者其它数据输入。此外,“事件”可从处理或索引机器数据中导出,或者可包括其它类型的事件。例如,事件还可以对应于任何时间系列数据,诸如传感器测量。存储管理器202优选收集性能数据、故障数据和其它事件,并将对应的度量馈送到临时存储装置205中。
根据本发明的实施例,在304处,存储管理器202被配置成处理存储在临时存储装置205中的数据并将该数据写入到多个测量数据结构206。多个测量数据结构206中的每一个被配置成存储对应于一个网络实体的时间系列测量数据(例如,性能度量的列表)。在一个实施例中,多个测量数据结构206中的每一个包括指示存储的度量值的类型和时间段的报头,该类型和时间段与存储在对应的测量数据结构内的时间系列测量数据相关联。报头可进一步包括标识对应的网络实体的信息。在该实施例中,多个测量数据结构206中的每一个可以被存储在无符号长整数的阵列中。该阵列存储度量标识符、度量类型和度量值。在一些实施例中,可存在将度量标识符映射到度量名称的附加表格。应当注意:可以基于度量类型将相关度量一起分组到一个测量数据结构206中。
在步骤306处,存储管理器202将多个测量数据结构存储到被配置为具有第一维度和第二维度的二维阵列208的数据结构。第一维度表示时间,并且第二维表示多个网络实体。例如,在一个实施例中,这样的二维阵列208可存储累积达一小时的数据,其中第一维度表示六十分钟,并且第二维度例如表示受监控的网络中的二十五万个网络实体。
根据本发明的实施例,在步骤308处,压缩引擎204将二维阵列208的元素划分并压缩成多个BLOB 210。在一个示例中,多个BLOB 210中的每一个与时间段和测量类型相关联,该时间段和测量类型与存储在对应的BLOB内的时间系列测量数据相关联。根据本发明的实施例,压缩引擎模块204将相同的度量分组在一起,使得由压缩引擎204采用的压缩技术可以对涉及特定网络实体的对应操作的性能的类似值起作用。
在步骤310处,存储管理器202将由压缩引擎204压缩的多个BLOB索引并存储在两个不同的表格(第一表格212和第二表格214)中。在实施例中,第一表格212包括经由网络实体和时间段的组合索引多个BLOB的表格。换句话说,在第一表格212中,每个BLOB包含在60分钟的时段内为正被监控的特定网络实体收集的所有度量值。第一表格212可以被称为“图表”表格。在一个实施例中,第二表格214包括通过组合网络性能度量和网络实体来索引多个BLOB的表格。换句话说,在第二表格214中,每个BLOB在特定时间段内为所有的网络实体保持特定性能度量的值。
现在参考图4,示出有根据本公开的实施例的用于检索时间系列测量数据的方法的流程图。在步骤402处,存储管理器202从用户接收查询参数以用于将相对于存储在存储装置112中的数据执行的查询。在一个实施例中,诸如图1中所示的计算机系统100之类的时间系列数据存储装置和检索系统可进一步包括可能由用户用于输入查询参数的图形用户界面(GUI)工具(图2中未示出)。作为非限制性示例,用户的查询可指定感兴趣的性能度量(诸如a,b,c,d,x),识别分类度量(例如,x),指定两个时间段(例如,时间段T))和应当为其检索性能度量值的网络实体(诸如y到z)。
在步骤404处,存储管理器202基于接收的查询参数而发布用于从第二表格214检索BLOB元素的查询。换句话说,存储管理器202在第二表格214中搜索包含感兴趣的性能度量(在这种情况下是分类度量x)和感兴趣的时间段关联的一个或多个BLOB。继续以上示例,这样的性能度量-时间段关联包括x/T关联。
在步骤406处,存储管理器202为发布的查询分类返回的结果。另外,在步骤406处,存储管理器202识别并提取对应于感兴趣的网络实体(y到z)的合格性能度量值。接下来,在步骤408处,存储管理器202基于接收的查询参数并基于步骤406的结果而发布用于从第一表格212检索BLOB元素的查询。换句话说,存储管理器202在第一表格212中搜索包含感兴趣的时间段和感兴趣的网络实体关联的一个或多个BLOB。继续以上示例,这样的关联包括时间段T与网络实体y到z之间的所有关联。根据本发明的实施例,在步骤410处,例如,经由GUI将在步骤404和408中获得的搜索结果呈现给用户。
图5以图形方式图示根据本公开的各种实施例的被执行用于存储时间系列测量数据的步骤的序列。如图5中所示,二维阵列208包括第一轴504(表示第一维度)和第二轴506(表示第二维度)。换句话说,第一轴504表示时间,而第二轴506表示正为其存储和检索性能数据的许多网络元件。二维阵列208还可被描述为具有数量为m行的测量数据结构206,其中每个测量206包括大约40个性能度量,并且其中m表示正被监控的网络实体的数量。替代地,二维阵列208也可被描述为具有数量为n列的测量数据结构206,其中n表示特定时间段(例如,一分钟)。在一些实施例中,每个度量可包括更多或更少的网络性能度量。
图5还示出由压缩引擎204执行的步骤308,该压缩引擎204组合、压缩和索引测量数据结构206的特定分组。由压缩引擎204执行的该压缩功能由存储管理器202用于在第一表格212与第二表格214之间分配压缩的数据。如上所指出的,第一表格212存储由网络实体和时间段的组合索引的多个BLOB 208,并且第二表格214存储由网络性能度量和网络实体的组合索引的多个BLOB 208。换句话说,存储在第一表格212中的每个BLOB表示对应于正被监控的特定网络实体的一个原始(例如,一小时)的测量数据结构206。另外,存储在第二表格214中的每个BLOB 208表示对应于特定时间段的一列测量数据结构206。
有鉴于此,本发明的实施例提供一种索引的存储和检索系统,其中在两个不同的表格中(即,通过时间和通过性能度量)打包、压缩和存储时间系列测量数据的唯一且新颖的组合允许缩短从存储系统检索内容的时间。
如将由本领域技术人员理解的,本发明的方面可被体现为系统、方法或计算机程序产品。相应地,本发明的方面可采用完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或者组合软件和硬件方面(本文中一般可全部被称为“电路”、“模块”或“系统”)的实施例的形式。此外,本发明的方面可采用在一个或多个计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质具有在其上体现的计算机可读程序代码。
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是但不限于电子、磁、光学、电磁、红外或半导体系统、装置或设备,或者前述的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括下面的内容:具有一条或多条电线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁存储设备或者前述的任何合适的组合。在本文献的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储用于由指令执行系统、装置或设备使用或与其结合使用的程序。
计算机可读信号介质可包括具有在其中体现的计算机可读程序代码的传播的数据信号,例如在基带中或作为载波的一部分。这样的传播的信号可采用各种形式中的任何一个,包括但不限于电磁、光学或其任何合适的组合。计算机可读信号介质可以是任何计算机可读介质,其不是计算机可读存储介质并且其可以传送、传播或传输程序以用于由指令执行系统、装置或设备使用或与其结合使用。
在计算机可读介质上体现的程序代码可使用任何适当的介质来传输,所述介质包括但不限于无线、有线、光纤电缆、RF等或者前述的任何合适的组合。
用于为本发明的方面执行操作的计算机程序代码可用一种或多种编程语言的任何组合来编写,所述编程语言包括诸如Java、Smalltalk、C++等等之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的传统的过程编程语言。程序代码可以完全在用户的计算机上、部分地在用户的计算机上、作为独立的软件包、部分地在用户的计算机上并且部分地在远程计算机上、或者完全在远程计算机或服务器上执行。在后一个场景中,远程计算机可通过任何类型的网络连接到用户的计算机,所述网络包括局域网(LAN)、广域网(WAN)或WLAN,或者可以进行到外部计算机(例如,通过使用因特网服务提供商的因特网)的连接。
附图中的流程图和框图图示根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能性和操作。在这方面,流程图或框图中的每个框可表示代码的模块、片段或部分,所述代码包括用于实现一个或多个指定的逻辑功能的一个或多个可执行指令。还应当注意:在一些替代实现方式中,框中指出的功能可不按图中指出的次序发生。例如,连续示出的两个框实际上可被基本上同时执行,或者该框有时可按相反的次序来执行,这取决于所涉及的功能性。还将注意:框图和/或流程图说明中的每个框以及框图和/或流程图说明中的框的组合可以由执行指定功能或动作的基于专用硬件的系统、或者专用硬件和计算机指令的组合来实现。
已经为了说明的目的呈现对本发明的各种实施例的描述,但是并不旨在穷举或限于公开的实施例。在不脱离所述实施例的范围和精神的情况下,许多修改和变型对本领域普通技术人员将是显而易见的。选择本文使用的术语以最好地解释实施例的原理、实际应用或者对市场上发现的技术的技术改进,或者以使得本领域普通技术人员能够理解本文公开的实施例。
Claims (19)
1.一种用于处理时间系列测量数据的方法,该方法包括:
在多个时间段内接收包括多个网络性能度量的时间系列测量数据,其中每个网络性能度量测量网络实体的性能;
将接收的时间系列测量数据写入到包括多个网络性能度量的多个测量数据结构,多个测量数据结构中的每一个存储对应于一个网络实体的时间系列测量数据,多个测量数据结构中的每一个包括指示类型和时间段的报头,该类型和时间段与存储在对应的测量数据结构内的时间系列测量数据相关联;
将多个测量数据结构存储到被配置为具有第一维度和第二维度的二维阵列的数据结构,其中第一维度表示时间,并且第二维度表示多个网络实体;
将二维阵列的元素压缩成多个二进制大对象(BLOB),多个BLOBS中的每一个与时间段和测量类型相关联,该时间段和测量类型与存储在对应的BLOB内的时间系列测量数据相关联;以及
将多个BLOBS存储在第一表格中和第二表格中,其中第一表格由网络实体和时间段的组合索引,并且其中第二表格由网络性能度量和网络实体的组合索引。
2.根据权利要求1所述的方法,其中多个网络性能度量中的每一个与唯一整数标识符相关联,并且与度量类型标识符相关联。
3.根据权利要求2所述的方法,其中度量类型标识符标识以下各项中的至少一个:性能度量的最大值、最小值、平均值、位图和直方图类型。
4.根据权利要求1所述的方法,其中多个测量数据结构中的每一个被存储在无符号长整数的阵列中。
5.根据权利要求1所述的方法,其中二维阵列的第一维度表示预定义的分钟数,并且二维阵列的第二维度表示预定义数目的网络实体。
6.根据权利要求1所述的方法,其中压缩二维阵列的元素的步骤进一步包括将对应于特定网络性能度量的值分组到一个BLOB中。
7.一种用于检索时间系列测量数据的方法,该方法包括:
从用户接收一个或多个查询参数,所述查询参数至少包括感兴趣的网络性能度量、感兴趣的时间段和感兴趣的网络实体;
基于接收的查询参数从第二表格检索元素,其中第二表格存储多个BLOBS,并且其中第二表格由网络性能度量和网络实体的组合索引;
对检索的元素进行分类,并且提取对应于感兴趣的网络实体的一个或多个元素;以及
基于接收的查询参数从第一表格检索元素,其中第一表格存储多个BLOBS,并且其中第一表格由网络实体和时间段的组合索引。
8.根据权利要求7所述的方法,其中多个BLOBS中的每一个存储包括多个网络性能度量的压缩的多个测量数据结构,其中多个测量数据结构中的每一个存储对应于一个网络实体的时间系列测量数据,并且其中多个测量数据结构中的每一个包括指示类型和时间段的报头,该类型和时间段与存储在对应的测量数据结构内的时间系列测量数据相关联。
9.根据权利要求8所述的方法,其中多个网络性能度量中的每一个与唯一整数标识符相关联,并且与度量类型标识符相关联。
10.根据权利要求9所述的方法,其中度量类型标识符标识以下各项中的至少一个:性能度量的最大值、最小值、平均值、位图和直方图类型。
11.一种用于存储和检索时间系列测量数据的系统,该系统包括:
度量收集引擎,用于获取与受监控的网络中的多个网络实体的性能相关的多个网络性能度量和事件;
存储库,包括用于存储多个网络性能度量的第一表格和第二表格;以及
与度量收集引擎并且与存储库通信的信息处理系统,包括处理器和耦合到处理器的存储器设备,所述存储器设备包含一组指令,该组指令在由处理器执行时使得处理器:
在多个时间段内从度量收集引擎接收包括多个网络性能度量的时间系列测量数据,其中每个网络性能度量测量网络实体的性能;
将接收的时间系列测量数据写入到包括多个网络性能度量的多个测量数据结构,多个测量数据结构中的每一个存储对应于一个网络实体的时间系列测量数据,多个测量数据结构中的每一个包括指示类型和时间段的报头,该类型和时间段与存储在对应的测量数据结构内的时间系列测量数据相关联;
将多个测量数据结构存储到被配置为具有第一维度和第二维度的二维阵列的数据结构,其中第一维度表示时间,并且第二维度表示多个网络实体;
将二维阵列的元素压缩成多个二进制大对象(BLOB),多个BLOBS中的每一个与时间段和测量类型相关联,该时间段和测量类型与存储在对应的BLOB内的时间系列测量数据相关联;以及
将多个BLOBS存储在第一表格中和第二表格中,其中第一表格由网络实体和时间段的组合索引,并且其中第二表格由网络性能度量和网络实体的组合索引。
12.根据权利要求11所述的系统,其中多个网络性能度量中的每一个与唯一整数标识符相关联,并且与度量类型标识符相关联。
13.根据权利要求12所述的系统,其中度量类型标识符标识以下各项中的至少一个:性能度量的最大值、最小值、平均值、位图和直方图类型。
14.根据权利要求11所述的系统,其中多个测量数据结构中的每一个被存储在无符号长整数的阵列中。
15.根据权利要求11所述的系统,其中二维阵列的第一维度表示预定义的分钟数,并且二维阵列的第二维度表示预定义数目的网络实体。
16.根据权利要求11所述的系统,其中该组指令在由处理器执行时使得处理器压缩二维阵列的元素,进一步使得处理器将对应于特定网络性能度量的值分组到一个BLOB中。
17.根据权利要求11所述的系统,其中该组指令在由处理器执行时进一步使得处理器:
从用户接收一个或多个查询参数,所述查询参数至少包括感兴趣的网络性能度量、感兴趣的时间段和感兴趣的网络实体;
基于接收的查询参数从第二表格检索元素;
对检索的元素进行分类,并且提取对应于感兴趣的网络实体的一个或多个元素;以及
基于接收的查询参数从第一表格检索元素。
18.根据权利要求11所述的系统,进一步包括图形用户界面(GUI),其中用户使用GUI提供一个或多个查询参数。
19.根据权利要求11所述的系统,其中二维阵列存储累积达一小时的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810940242.7A CN110858195A (zh) | 2018-08-17 | 2018-08-17 | 时间系列度量的高效的存储和查询 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810940242.7A CN110858195A (zh) | 2018-08-17 | 2018-08-17 | 时间系列度量的高效的存储和查询 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110858195A true CN110858195A (zh) | 2020-03-03 |
Family
ID=69634789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810940242.7A Pending CN110858195A (zh) | 2018-08-17 | 2018-08-17 | 时间系列度量的高效的存储和查询 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110858195A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662164B1 (en) * | 1998-05-19 | 2003-12-09 | Trilogy Development Group, Inc. | Method and apparatus for determining commission |
CN103688272A (zh) * | 2011-03-03 | 2014-03-26 | 赛弗有限责任公司 | 用于数据内的共同元素的自主检测和分离的系统以及与之关联的方法和设备 |
US20150341244A1 (en) * | 2014-05-22 | 2015-11-26 | Virtual Instruments Corporation | Performance Analysis of a Time-Varying Network |
CN105745868A (zh) * | 2013-11-26 | 2016-07-06 | 瑞典爱立信有限公司 | 网络中异常检测的方法和装置 |
US20160226976A1 (en) * | 2015-01-29 | 2016-08-04 | Quantum Metric, LLC | Techniques for compact data storage of network traffic and efficient search thereof |
US20160292043A1 (en) * | 2015-03-31 | 2016-10-06 | SkyKick, Inc. | Efficient backup, search and restore |
US20170060772A1 (en) * | 2015-08-31 | 2017-03-02 | Oracle International Corporation | Selective data compression for in-memory databases |
US9672246B1 (en) * | 2013-09-07 | 2017-06-06 | Ca, Inc. | Time-varying data retrieval |
-
2018
- 2018-08-17 CN CN201810940242.7A patent/CN110858195A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6662164B1 (en) * | 1998-05-19 | 2003-12-09 | Trilogy Development Group, Inc. | Method and apparatus for determining commission |
CN103688272A (zh) * | 2011-03-03 | 2014-03-26 | 赛弗有限责任公司 | 用于数据内的共同元素的自主检测和分离的系统以及与之关联的方法和设备 |
US9672246B1 (en) * | 2013-09-07 | 2017-06-06 | Ca, Inc. | Time-varying data retrieval |
CN105745868A (zh) * | 2013-11-26 | 2016-07-06 | 瑞典爱立信有限公司 | 网络中异常检测的方法和装置 |
US20150341244A1 (en) * | 2014-05-22 | 2015-11-26 | Virtual Instruments Corporation | Performance Analysis of a Time-Varying Network |
US20160226976A1 (en) * | 2015-01-29 | 2016-08-04 | Quantum Metric, LLC | Techniques for compact data storage of network traffic and efficient search thereof |
US20160292043A1 (en) * | 2015-03-31 | 2016-10-06 | SkyKick, Inc. | Efficient backup, search and restore |
US20170060772A1 (en) * | 2015-08-31 | 2017-03-02 | Oracle International Corporation | Selective data compression for in-memory databases |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3432520B1 (en) | Efficient storage and querying of time series metrics | |
US11726898B1 (en) | Generating metrics values for teams of microservices of a microservices-based architecture | |
CN107577588B (zh) | 一种海量日志数据智能运维系统 | |
US8321479B2 (en) | Efficient processing of time series data | |
US11526425B1 (en) | Generating metric data streams from spans ingested by a cloud deployment of an instrumentation analytics engine | |
US9043327B1 (en) | Performing flexible pivot querying of monitoring data using a multi-tenant monitoring system | |
CN111240876B (zh) | 微服务的故障定位方法、装置、存储介质及终端 | |
US9275068B2 (en) | De-duplication deployment planning | |
US11868234B1 (en) | Generating metrics values at component levels of a monolithic application and of a microservice of a microservices-based architecture | |
US11188409B2 (en) | Data lifecycle management | |
CN109408383B (zh) | 一种Java内存泄漏分析方法及装置 | |
WO2021242466A1 (en) | Computing performance analysis for spans in a microservices-based architecture | |
US11516269B1 (en) | Application performance monitoring (APM) detectors for flagging application performance alerts | |
US8543552B2 (en) | Detecting statistical variation from unclassified process log | |
CN111913860A (zh) | 一种操作行为分析方法及装置 | |
US9276826B1 (en) | Combining multiple signals to determine global system state | |
CN106951360B (zh) | 数据统计完整度计算方法和系统 | |
US9817864B1 (en) | Flexible pivot querying of monitoring data with zero setup | |
Yamnual et al. | Failure detection through monitoring of the scientific distributed system | |
CN110858195A (zh) | 时间系列度量的高效的存储和查询 | |
CN116126621A (zh) | 大数据集群的任务监控方法及相关设备 | |
Thakore et al. | Coordinated Analysis of Heterogeneous Monitor Data in Enterprise Clouds for Incident Response | |
WO2021047576A1 (zh) | 日志记录处理方法、装置、设备及机器可读存储介质 | |
CN117573467A (zh) | 日志处理方法、装置、设备及存储介质 | |
CN115033764A (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 |