用于动态标记度量数据的方法和系统的制作方法

文档序号:6494627阅读:130来源:国知局
用于动态标记度量数据的方法和系统的制作方法
【专利摘要】本文描述了用于由计算资源的提供者动态标记度量数据的系统和方法。请求用户或应用程序可以请求计算资源的提供者基于由请求用户或应用程序指定的配置和/或设置来标记度量。然后,处理用户或应用程序可在随后的时间处理所标记的度量数据。
【专利说明】用于动态标记度量数据的方法和系统
【背景技术】
[0001]公司和组织运行将大量计算系统互联的计算机网络来支持其运营。计算系统可位于单个地理位置(例如,作为本地网络的部分)或位于多个不同的地理位置(例如,经由一个或多个专用或公共中间网络连接)。数据中心可容纳大量互联的计算系统,例如专用数据中心由单个组织来运行,而公共数据中心由第三方来运行,以便向客户提供计算资源。公共和专用数据中心可为数据中心、组织或其它客户所拥有的硬件提供网络访问、电力、硬件资源(例如,计算和存储),以及安全的安装场地。
[0002]为了促进数据中心资源的更大利用,虚拟化技术可允许单个物理计算机来托管对于连接的计算机用户作为独立的计算机出现和操作的一个或多个虚拟机实例。采用虚拟化,单个物理计算设备可以动态的方式来创建、维护或删除虚拟机。相应地,用户可请求来自数据中心的计算机资源并在“按需要”的基础上或至少在“按请求”的基础上被提供变化数量的虚拟机资源。
[0003]由于数据中心的规模和范围已增大,提供、管理和监控数据中心的物理和虚拟计算资源的任务已变得越来越复杂。
[0004]附图简述
[0005]贯穿附图,可再次使用参考数字来指示参考的元件之间的对应关系。提供附图是为了说明本文描述的示例性实施例,而附图并非旨在限制本公开的范围。
[0006]图1是示意性地示出可经由通信网络向多个用户计算系统提供计算资源的程序执行服务的实例的网络示意图;
[0007]图2A是配置成管理由程序执行服务的用户或应用程序请求的度量的标记的动态标记管理器的说明性组件的示意框图;
[0008]图2B是示意性地示出用户计算系统和程序执行服务的动态标记管理器之间的示例性交互的网络示意图;
[0009]图2C是示意性地示出动态标记管理器、用户计算系统和计算资源之间的示例性交互的网络示意图;
[0010]图3是示出由动态标记管理器组件实施的动态标记管理器例程的流程图;
[0011]图4是可用于请求度量数据的标记的显示的实例;以及
[0012]图5是可以输出以呈现所标记的度量数据的显示的实例。
【具体实施方式】
[0013]描述了用于由计算资源的提供者动态标记度量数据的系统和方法的实施例。比如,计算资源可包括程序执行能力、数据存储或管理能力、网络带宽等。在一些实施方式中,用户可请求生成可在将来的使用时段期间为用户管理和保留计算机资源的虚拟化基础设施。例如,用户可请求生成可在将来的使用时段期间为用户管理和保留数据存储或网络带宽的虚拟化基础设施。计算资源提供者可确定该提供者的哪些计算机资源可被提供来满足用户的请求并可以在请求的使用时段期间将这些计算机资源分配给用户。[0014]虚拟化环境可以为运行时环境,其包括用于用户的程序的应用软件堆栈以及用于在程序执行服务上执行用户的程序的一个或多个基础设施服务。虚拟化环境可包括用户可选择的操作系统(例如,Linux、Windows等)、应用程序服务器(例如,Apache Tomcat)、系统或应用程序配置等。虚拟化环境可配置成位于特定的URL。基础设施服务可包括但不限于用来在请求的计算资源之间分布工作量的负载均衡器、用来响应于负载或需求变化而缩放计算资源的负载缩放器、用来控制对计算资源的访问的防火墙或其它服务、允许用户监控程序的执行的监控接口、数据存储资源(例如,可缩放卷块存储器),等等。在一些实施例中,用户可能够选择可包括在虚拟化基础设施中的一个或多个程序或服务。例如,用户可能够从多个数据库模型(例如,关系数据库、SQL数据库、Oracle数据库等)中选择。在一些实施例中,可以对用户定制基础设施服务,而不是基础设施服务作为多个用户之间的共享资源。例如,在一些这样的实施例中,可以对用户的应用程序个别地定制负载均衡器,而不是将负载均衡器在程序执行服务的多个用户之间共享或分布。
[0015]可以收集已为用户分配的各种计算资源的度量数据。可以分析、定向、报告等计算资源的度量数据来监控计算机资源的使用模式和运行。可由程序执行服务或另一服务收集度量收集。例如,可测量计算机资源的操作性能、资源利用、需求模式等。在一些实施方式中,可按请求用户或应用程序所请求的那样标记度量数据。请求用户或应用程序可请求虚拟化基础设施来将任何键/值对添加到度量数据使得标记的度量数据可稍后被处理。然后,可向处理用户或应用程序输出标记的度量数据。
[0016]如本文所使用的,术语“测量”除了具有其普通含义之外还可以指具有一组属性的观测值。例如,测量可以包括名称、一组量度、命名空间、单位和/或时间戳以及可能地其它(或较少的)特性。如本文所使用的,术语“量度”除了具有其普通含义之外还可以用来说明可如何聚合测量,如按实例ID、实例类型、可用性时区或其它因素(在下文中详细描述)。如在本文所使用的,“命名空间”除了具有其普通含义之外还标识收集测量的服务。此外,如本文所使用的,“度量”除了具有其普通含义之外还可以包括测量数据的聚合。
[0017]用户可以指定说明将如何聚合各种测量的一个或多个度量。例如,度量数据可包括与测量数据相同的属性并且可以是具有给定的名称、在给定的时段内的一些或全部测量的合计。作为另一例子,度量可包括特定命名空间中的一些或全部测量的聚合,或者另一度量可包括具有特定实例ID的一些或全部测量的聚合。在一些实施例中,度量可为其它度量的聚合。由于此灵活性,在某些实施例中,度量包括基于用户的偏好的各种量度。如本文所使用的,术语“标记”除了具有其普通含义之外还可以指与特定度量相关的任何键/值对。例如,标记可指示特定度量的键“实例ID”具有“123456”的值。作为另一例子,标记可指示特定度量的键“客户ID”具有在特定数据存储中的记录“ 12,5”处找到的值。
[0018]现在将结合某些实例和实施例来描述本公开的各方面,这些实例和实施例旨在用于说明而非限制本公开。
[0019]图1为示意性地示出可经由通信网络108向多个用户计算系统104提供计算资源的程序执行服务100的实例的网络示意图。程序执行服务100可以是可提供用于租用以用于网络和/或其它应用托管的计算资源的网络服务或网络服务的集合。例如,程序执行服务100可管理来自用户的代表用户执行程序或程序的集合的请求。用户计算系统104中的至少一些可以相对于程序执行服务100是远程的。在本实例中,用户可以使用计算系统104来通过通信网络108访问程序执行服务100。例如,网络108可以是可能由各种不同的方面运行的链接的网络的公共可访问网络,如互联网。在其它实施例中,网络108可以是专用网络,例如非授权用户完全或部分不可访问的企业或大学网络。在另外的实施例中,网络108可包括可以访问互联网和/或从互联网访问的一个或多个专用网络。
[0020]程序执行服务100提供用于管理多个用户的程序的执行的各种功能。在图1示出的实例中,程序执行服务100包括可以代表用户执行程序的多个计算节点112。计算节点112可包括一个或多个物理计算系统116和/或在一个或多个物理计算系统上托管的一个或多个虚拟机120。例如,主机计算系统可提供多个虚拟机120并包括虚拟机(“VM”)管理器124来管理这些虚拟机(例如,管理程序或其它虚拟机监控器)。
[0021]在图1示出的实例中,每个计算节点112具有可用于执行一个或多个程序的一些计算资源量。每个计算节点112可提供特定量的程序执行容量,例如,可通过处理容量(例如,处理单元的数目和/或大小)、存储器容量、存储容量、网络带宽容量、非网络通信带宽等中的一个或多个的组合来测量这个量。在一些实施例中,程序执行服务100可提供预先配置的计算节点112,其中每个预先配置的计算节点具有相似和/或相等的可用于代表用户执行程序的资源量。在其它实施例中,程序执行服务100可提供各种不同计算节点112的选择,用户可从这些节点中选择用于代表用户执行程序的节点。在又一些实施例中,程序执行服务100可生成特定于用户和用户的程序的执行的各种计算节点。在一些这样的实施例中,计算节点112可具有变化量和/或类型的计算资源(例如,处理单元的大小、速度和/或类型;处理单元的数目;存储器和/或存储的量;平台配置,如32位或64位,操作系统
坐^
寸/ ο
[0022]程序执行服务100可向用户计算系统104提供对提供数据、程序和其它用户信息的海量存储的存储节点134的 访问。存储节点134可包括任何类型的持久数据存储,例如,非易失性存储设备,如硬盘驱动器、光盘驱动器等。在图1示出的实例中,计算节点112可经由网络128访问存储节点134。网络128可包括多个联网设备(未示出),如交换机、边缘路由器、核心路由器等。网络128可为(但不必需为)与图1所示的网络108不同的网络。
[0023]程序执行服务100的用户或应用程序可经由动态标记管理器130与程序执行服务100交互。例如,用户或应用程序可请求标记与已代表用户使用的程序执行服务100的资源相关的一个或多个度量(例如,资源利用和/或需求模式)。动态标记管理器130可经由网络128连接至计算节点112和存储节点134或与其通信。动态标记管理器130可通过网络108接收来自用户计算系统104的对标记度量的请求。用户(或用户授权的其他用户)可经由动态标记管理器130请求服务100标记与可稍后呈现给处理用户或应用的计算节点相关的一个或多个测量。在一些实施方式中,用户可请求动态标记管理器130标记已由不同的服务收集的度量数据。例如,度量数据可涉及网络资源的性能(例如,业务量、等待时间、速度、误差等);商品和/或服务销售的业绩(例如,销售量、利润、投资回报率、现金流量、销售目标等);金融资源的绩效(例如,股票、投资、资本收益/损失等);等。
[0024]在一些实施例中,用户可经由动态标记管理器130请求服务100生成一个或多个标记来代表用户标记度量。服务100可生成一个或多个标记,或者用户可指定用户偏好哪些标准来用于生成用于标记度量的一个或多个标记。在各种实施例中,可在对标记一个或多个度量进行请求时和/或在一个或多个其它时间(如在用户注册到和/或订用程序执行服务100的使用服务时)指定标记偏好和/或设置。在一些实施例中,动态标记管理器130可向一个或多个用户提供订用和/或注册服务,使得用户可指定与度量的类型和/或用于标记度量的偏好相关的信息、账户信息(例如,用户名、账单信息等)、使用条款等。
[0025]在一些实施例中,在用户与动态标记管理器130交互以为服务订用和/或注册之后或之前,可向用户发布一个或多个请求标识符(例如,密钥、令牌、用户名、密码等),其中这些标识符与用户相关并且将与请求标记与代表用户使用的资源相关的一个或多个度量结合使用。在其它实施例中,可提供动态标记管理器130之外的模块来执行与程序执行服务100的订用和/或注册服务相关的各种操作。
[0026]在一些实施例中,动态标记管理器130由一个或多个物理或虚拟计算系统来执行或实施。例如,在一些实施例中,具有包括CPU、I/O组件、存储和存储器的组件的服务器计算系统可用于执行动态标记管理器130。I/O组件可包括显示器、到网络128的网络连接、计算机可读介质驱动器和其它I/O设备(例如,键盘、鼠标、扬声器等)。动态标记管理器130的实施例可存储为在服务器的存储器中的一个或多个可执行程序模块,并且动态标记管理器130可通过网络128与计算节点112(例如,物理计算系统116和/或VM120)交互。动态标记管理器130可经由网络108接收来自用户的对标记度量的请求。
[0027]图2A是可管理来自用户或应用的对标记度量数据的请求的动态标记管理器130的实施例的说明性组件的示意性框图。在本实施例中,动态标记管理器130包括默认标记模块204、采集模块208、处理模块212和标记模块216。
[0028]默认标记模块204标记已由程序执行服务100收集的一个或多个度量,如资源利用、资源监控等。该度量数据可包括由程序服务100或另一服务收集的标准度量,并且/或者可包括由用户、插件、扩展等为收集定义或创建的度量。度量数据可包括不同的量度,并且用户可以创建和/或定义他们自己的度量。在一些实施方式中,标记包括将键/值对插入收集的度量中(例如,“命名空间”=“命名空间一”和/或“名称”=“CPU利用”)。
[0029]默认标记模块可包括程序执行服务的系统设计者想要的数量的标记。例如,程序执行服务的系统设计者可能想要基于实例ID(例如,生成度量的实例的ID)、实例类型(例如,生成度量的实例的类型)、命名空间(例如,生成度量的服务)、可用性时区(例如,生成度量的区域或时区)、名称(例如,度量的名称)、资源类型(例如,生成度量的资源的类型)等通过默认相应的收集的度量来标记。系统设计者也可能想要基于一个或多个因素用更多或者不同的标记来标记相应的度量。例如,对于与存储相关的度量,系统设计者可决定基于数据库类、数据库类型等来标记度量。可由默认标记模块204和系统设计者实施多个其它配置。
[0030]采集模块208接收来自用户或应用程序的对标记由程序执行服务100管理的一个或多个度量的请求,如为与代表用户或应用程序使用的一个或多个计算资源相关的度量添加一个或多个额外的标记的请求。请求可包括要添加的一些或全部标记。要添加的标记可不同于上文讨论的默认标记并作为上文讨论的默认标记的补充。额外的标记可以是程序执行服务100的用户或应用程序想要的标记,并且可不同于系统设计者所设计的默认标记。
[0031]额外标记的一个实例可包括指定服务器类型或应用程序堆栈的键/值对的标记。该实例标记可能是用户想要的,以便用户或应用程序可以稍后按相应的服务器类型或堆栈处理标记的度量。用户可请求采集模块208标记度量数据以对于相应的度量包括键“服务器类型”及其相关的值。作为另一例子,额外的标记可包括与客户的唯一标识符相关的标记。在本实例中,标记可能是用户或应用程序想要的,使得用户或应用程序可基于与客户相关的唯一标识符来处理标记的度量,如为了开账单目的。
[0032]作为又一例子,用户可请求添加额外的标记,用于通知计算资源的状态的任何变化。在本实例中,额外的标记可由用户或应用程序用来向任何负责的方面通知状态变化。在本实例中,用户可请求添加键“变化通知”并且其相应的值被赋予指示资源变化的状态的值(例如,“实例终止”)。作为进一步的例子,程序执行服务的应用程序可请求添加额外的标记来指示与计算资源相关的客户账户使得例如标记的度量数据可稍后被处理以便开账单。
[0033]应用程序也可请求添加与计算资源的地理时区、区域、数据中心等相关的额外标记使得例如标记的度量数据可稍后基于额外的标记被处理,以执行对计算资源的统计分析。各种标记可由用户或应用程序创建或定义并由程序执行服务100支持。对标记度量数据的请求可以各种方式由采集模块208接收。例如,请求可直接从用户接收(例如,经由由程序执行服务100提供的交互控制台或其它GUI)、从自动开始其它程序或其自身的其它实例的执行的用户的执行程序接收、从编程工具(例如,命令行工具、集成开发环境等)接收、经由由程序执行服务100提供的应用编程接口(“API”)(例如,使用网络服务的API)从与动态标记管理器130交互的程序接收,等等。
[0034]对标记度量的请求可包括标记的数目和/或类型、要使用的标记的最小和/或最大数目、要在标记度量时使用的标准的数目和/或类型等。对标记的请求可包括其它类型的偏好、要求和/或限制(例如,偏好的标记的类型、标记的频率、标记的条件等)。或者,动态标记管理器130可配置成向用户提供用于指定这些偏好、要求、限制等的选项和/或配置成自动提供这些选项。
[0035]采集模块208也可以从服务接收对标记的请求。例如,采集模块208可从程序执行服务100的另一模块或服务器接收对标记的请求,或者可从外部服务接收请求。请求可包括标记、要求、偏好等,如上文所述。
[0036]在由采集模块204接收对标记的请求之后,处理模块208可处理请求来确定可与之通信以便用额外的标记来标记度量数据的一个或多个计算节点。处理模块208可分析额外的标记并确定需要与哪些计算节点通信,以便用额外的标记来标记度量数据。例如,对于与用户对存储资源的使用相关的额外标记,处理模块208可确定哪些存储节点134在由用户使用。作为另一例子,对于指示用户的哪些客户在使用负载均衡器用于开账单目的的额外标记,处理模块208可确定用户在使用哪些负载均衡节点。
[0037]在某些实施例中,用户可指定用户想要哪些标准用于标记,如上文所述,并且处理模块208可基于该标准确定一个或多个额外标记并可确定可与之通信以便用额外的标记来标记度量的一个或多个计算节点。例如,用户可经由向导向采集模块208指示例如用户的程序执行服务账户用于多个客户,并且用户希望能够基于客户对计算资源的使用直接向客户开账单。用户可指示哪个客户在使用哪些计算资源。然后,处理模块208可确定与唯一的客户标识号相关的额外标记将提供用户所需的标记,并且确定应与哪些计算节点通信以便执行标记。处理模块208可向用户呈现确定的额外标记,这样用户、另一用户或应用程序可稍后处理标记的度量(在下文讨论)。[0038]在图2A示出的实施例中,标记模块216与一个或多个确定的计算节点通信以请求计算节点用额外的标记来标记任何测量或收集的度量。标记模块216和一个或多个确定的计算节点之间的交互可以各种方式发生。例如,交互可经由由一个或多个确定的计算节点提供的API其它类型的通信接口发生。标记模块216可传递应添加到由确定的计算节点测量或收集的任何度量的键/值对。标记模块216也可传递确定的计算节点所需的任何额外信息,以使计算节点能够根据需要标记数据。在一些实施方式中,在标记之后,采集模块208可接收对一个或多个进一步的额外标记或对额外标记的一个或多个修改的请求,并且处理模块212和标记模块216可基于这一个或多个进一步的额外标记或对额外标记的一个或多个修改来执行任何标记,如上文所述。
[0039]图4示出可呈现给用户以便请求程序执行服务对度量数据执行标记(如上文所述)的示例性图形用户接口。采集模块408可向用户呈现示出的网页,以使用户能够请求标记。如图4所示,用户可指定应添加到度量数据的多个额外标记,如上文所述。作为一些例子,用户可创建标记# I和标记# 2来请求程序执行服务标记具有指示的ID以及指示的指定键/值对的任何计算节点实例。
[0040]如上文所述,添加这些额外标记将允许用户或应用程序稍后根据需要(例如,开账单等)来处理标记的度量数据。此外,用户可创建标记# 3来指定对于包括负载均衡器的任何计算节点实例,应添加键“服务器类型”。由于用户已使用“$”指定键的值,所以程序执行服务可配置成实时或在运行时确定额外的键的该值,并用如用户所指定的额外的键来标记度量数据。例如,如果程序执行服务在运行时确定负载均衡器与与网络服务器相关的计算节点实例相关,则键“服务器类型”可被程序执行服务赋予值“网络服务器”,并且可用该额外的标记来标记度量数据。给予该键的值可由用户和程序执行服务来定义。例如,可被指定用于特定键(例如,服务器类型)的各种值可由用户定义,并由程序执行服务使用存储节点134来存储。这些存储的值可稍后由计算节点实例来访问,以确定应赋予特定键的值。
[0041]用户可创建标记# 4来指定为了与计算节点实例相关的任何状态变化创建并添加额外的标记。如图所示,用户已指示该额外标记应被赋予“变化状态”的键,并且可通过可指示可以找到该键的值的位置的引用“&地址”来找到将赋予该键的值。例如,如上文所说明的,可以赋予特定键的值可由存储节点134来管理,并且“&地址”可为对存储节点134的引用,存储节点134管理可赋予存储在数据存储中的特定键的值的列表。作为另一例子,“&地址”可直接指示可找到值的列表的存储位置、网络地址等。键的值可由动态标记管理器在用户请求时确定并与键关联,或者可由计算节点实例在运行时确定值。
[0042]用户可创建标记# 5来指定由程序执行服务生成将使用户能够执行按用户的客户开账单的额外标记。如上文所述,程序执行服务从而可以基于由用户指定的标准生成一个或多个额外的标记。例如,程序执行服务可生成具有键“客户ID”的额外标记来提供用户所请求的开账单。然后,程序执行服务可指定与客户的标识符相关的值并用这些键/值对标记度量。类似于上面给出的实例,程序执行服务可确定要赋予特定键的值。此外,程序执行服务可使用存储节点134存储生成的一个或多个键,使得处理标记的度量的用户和应用可稍后请求存储节点提供用于标记度量的键。也可向请求用户提供键的列表。
[0043]返回到图2A,动态标记模块130可不同于图2A所示来配置。例如,可组合、重新布置、添加或删除由示出的模块提供的各种功能。在一些实施例中,额外或不同的处理器或模块可执行参照图2A中所示的示例性实施例描述的功能中的一些或全部。许多实施方式变化是可能的。
[0044]尽管大体上按照标记度量数据来描述,但在其它实施例中,动态标记管理器130可标记任何类型的数据。例如,这些数据类型可包括以下中的一个或多个:网络数据(例如,网络业务量、性能数据、误差数据等);销售数据(例如,库存数据、利润数据、收入数据、预测数据等);金融数据(例如,投资数据、信用数据、保险数据等);等。
[0045]图2B是示意性地图示用户计算系统104a和程序执行服务100的动态标记管理器130之间的示例性交互的网络示意图。程序执行服务100可向多个用户计算系统104a、104b、...、104n提供计算资源。在本说明性实例中,程序执行服务100为用户计算系统104a、104b、...、104n提供API来以编程方式与动态标记管理器130交互。
[0046]图2B说明性地示出使用请求API传递对标记度量数据的请求的用户计算系统104a。请求API (I)经由网络108通信并(2)由程序执行服务100的动态标记管理器130接收。请求API可包括有关用户的请求的信息,如标记的数目和/或类型、标记的最小和/或最大数目、标记、要在标记度量时使用的标准的数目和/或类型等。请求API可包括有关请求的其它信息,如与用户对于标记度量数据的愿望相关的偏好、要求和/或限制。例如,请求API可包括关于哪些用户将被授予访问权来标记度量数据、偏好的标记类型、标记的频率、标记的条件等的信息。
[0047]在图2B示出的实例中,动态标记管理器130经由网络108与确认API通信(3),确认API由用户计算系统104a接收(4)。确认API可包括与程序执行服务100是否可准许请求(全部或部分地)相关的信息。确认API还可包括与用户的请求相关且将与标记度量数据结合使用的一个或多个请求标识符(例如,密钥、令牌、用户名、密码等)。确认API可包括其它信息,如确认可以满足用户.的偏好、要求和/或限制的信息。
[0048]图2B说明性地示出经由API以编程方式与程序执行服务100的动态标记管理器130交互的用户计算系统104a。程序执行服务100可经由API从其它用户计算系统(例如,
用户计算系统104b.....104η)接收对标记度量数据的请求,并且可经由API将确认传递到
其它用户计算系统(未在图2Β的说明性实例中示出这样的请求和确认)。动态标记管理器130(或其它适合的组件)可向多个用户计算系统呈现标记的度量数据。程序执行服务100和用户计算系统之间的其它类型的编程交互(另外地或替代地)是可能的。例如,请求可直接从用户接收(例如,经由由程序执行服务100提供的交互控制台或其它GUI)、从自动开始其它程序或其自身的其它实例的执行的用户的执行程序接收等。
[0049]图2C是示意性地示出用户计算节点112和程序执行服务100的动态标记管理器130之间的示例性交互的系统示意图。动态标记管理器130可请求按计算节点112的实例142a、142b、…、142η标记度量数据。如上文说明的,动态标记管理器130可从用户计算系统104a、…、104η接收对标记的请求。在一个实例中,如上文说明的,计算节点112为动态标记管理器130提供API以与计算节点112和实例142a、142b、...、142n以编程方式交互。动态标记管理器130和计算节点112之间的通信可包括有关用户的请求的信息,如标记的数目和/或类型、标记的最小和/或最大数目、标记等。通信可指定应添加到由计算节点112管理的度量数据的键/值对,以及计算112执行上文所述的标记所需的其它标准或信息。
[0050]图3是示意性地示出动态标记管理器例程300的示例性实施例的流程图。在一些实施方式中,例程300可由参照图1和2描述的程序执行服务100的动态标记管理器130的实施例来实施。示例性例程300就请求标记度量数据的用户来描述。示例性例程300旨在说明而非限制动态标记管理器130的各方面。
[0051]参照图3,在块304,程序执行服务执行度量数据的默认标记。系统设计者指定应插入或添加到由程序执行服务管理、收集、监控等的度量数据的默认标记。如上文说明的,按照系统设计者的设计,可使用各种默认标记,并且使用的默认标记的数目和/或类型可在相应的度量数据之间有所不同。在块308,动态标记管理器130从用户接收对由程序执行服务100标记度量的请求。如上文所述,请求可包括需要的标记的数目和/或类型、标记的最小和/或最大数目、要在标记度量时使用的标准的数目和/或类型等。请求可指定仅某个或某些用户被授予访问权来标记度量数据。对标记的请求可包括其它类型的偏好、要求和/或限制(例如,偏好的标记类型、标记的频率、标记的条件等)。
[0052]在块312,动态标记管理器130处理接收到的请求以确定用于标记度量数据的一个或多个额外的标记。在各种实施例中,对标记的请求包括将用于标记度量的额外标记。程序服务100分析请求以确定一个或多个额外的标记。在一些实施方式中,程序服务100可使用接收到的请求来创建或生成一个或多个额外的标记。如上文所述,接收到的请求可指定在标记度量时使用的标准,并且程序执行服务可分析标准来创建在标记度量时使用的一个或多个额外的标记。
[0053]参照图3,例程300在块316继续,在块316,动态标记管理器130用一个或多个额外的标记来标记度量数据,从而使标记的度量能够稍后由处理用户或应用来处理。动态标记管理器130确定可与之通信的一个或多个计算节点,以执行用额外标记来标记度量数据。然后,动态标记管理器130与确定的一个或多个计算节点通信来请求计算节点用额外的标记来标记由计算节点管理、收集、监控等的度量数据。动态标记管理器130可向计算节点提供将用来执行标记的额外标记以及将用来执行标记的条件、标准等。
[0054]在块320,可选地,可由例程300的实施例执行其它服务。例如,程序服务100可向处理用户或应用程序输出标记的度量数据。标记的度量数据的一些实例可包括以下示例性标记:“实例ID=1-020f0d6a” ;“实例类型=存储节点”;“主机名=www.xvx.com” ;“IP地址=10.254.111.4”;“时区=us-east-la”;“磁盘读取字节=5KB”;“数据中心=snap_8010f6e9”;“CPU利用=5小时”;“账单ID=123456” ;或“实例ID=1-030g0w2b” ;“实例类型=负载均衡器”;“时区=US-eaSt-lb” ;“账单ID=123456”等。标记的度量数据的许多其它变化是可能的。动态标记管理器130可以各种方式向处理用户或应用输出标记的度量数据。例如,程序服务100可使用API或其它通信接口、网页、交互控制台、应用等来输出标记的度量数据。
[0055]图5示出程序执行服务可可选地向处理用户输出的示例性网页。如图所示,程序执行服务可输出列出包含在标记的度量数据内的所有标记的网页。程序执行服务100可解析标记的度量数据以确定包含在标记的度量数据内的键/值对并将其输出给用户。如图所示,标记的度量数据包括上文所述的默认标记和额外的标记。作为另一例子,程序执行服务可经由与程序执行服务相关的应用程序输出标记的度量数据,以使得能够以任何所需的方式输出标记的度量。例如,程序执行服务可将标记的度量输出到基于度量数据的标记来聚合度量数据的聚合应用程序。
[0056]例如,聚合应用程序可基于与客户相关的标记来聚合标记的度量数据并将其呈现给处理用户或应用程序,使得可为了开账单或统计分析的目的而处理聚合的度量。聚合应用程序可解析标记的度量以定位与客户相关的所有标记,并基于这些标记(例如,具有相似的键)或标记的组合来聚合或集合度量。聚合应用程序可提供各种聚合以及次级聚合,并且标记的度量数据也可以输出到各种其它应用程序。在一些实施方式中,可由程序执行服务之外的另一服务来提供标记的度量的输出。
[0057]可根据以下条款来描述本公开的实施例:
[0058]条款1.一种用于标记度量的系统,所述系统包括:
[0059]计算机系统,其包括计算机硬件,所述计算机系统包括一个或多个计算节点且被编程来实施:
[0060]默认标记模块,其配置成用包括键和值对的默认标记通过至少将所述默认标记插入到与所述一个或多个计算节点的性能相关的一个或多个度量中来标记所述度量;
[0061]采集模块,其配置成接收要在标记所述一个或多个度量时使用的至少一个额外的标记,其中所述至少一个额外的标记不同于所述默认标记;
[0062]处理模块,其配置成分析所述至少一个额外的标记来确定要与之通信以便用所述至少一个额外的标记来标记所述一个或多个度量的一个或多个计算节点;以及
[0063]标记模块,其配置成与所确定的一个或多个计算节点通信来请求用所述至少一个额外的标记来标记所述一个或多个度量,从而使所标记的度量能够随后被聚合。
[0064]条款2.根据条款I所述的系统,其中所述采集模块还配置成从请求用户接收所述至少一个额外的标记中的至少一个。
[0065]条款3.根据条款2所述的系统,其中从所述请求用户接收的所述标记中的至少一个涉及与所述请求用户相关的账单标识符。
[0066]条款4.根据条款I所述的系统,其中所述标记模块还配置成通过与所述多个计算节点通信来标记所述一个或多个度量数据。
[0067]条款5.根据条款I所述的系统,其中所述标记的度量配置成由处理用户或应用程序来聚合。
[0068]条款6.—种标记度量的方法,所述方法包括:
[0069]由包括计算机硬件的一个或多个计算机系统:
[0070]用包括键和值对的默认标记来标记一个或多个度量;
[0071]接收要在标记所述一个或多个度量时使用的至少一个额外的标记,其中所述至少一个额外的标记不同于所述默认标记;
[0072]分析所述额外的标记来确定要与之通信以便用所述额外的标记来标记所述一个或多个度量的一个或多个计算节点;以及
[0073]与所确定的一个或多个计算节点通信来请求用所述额外的标记来标记所述一个或多个度量,从而使所标记的度量能够随后被处理。
[0074]条款7.根据条款6所述的方法,其还包括使用应用程序编程接口与所述多个计算节点通信。
[0075]条款8.根据条款6所述的方法,其还包括从请求用户或应用程序接收对所述至少一个额外标记的至少一个修改并至少基于所述至少一个修改来执行所述分析和通信步骤。
[0076]条款9.根据条款6所述的方法,其中所述计算节点中的至少一个包括以下中的一个或多个:负载均衡器、防火墙、物理机、虚拟机、存储节点和数据库服务器。
[0077]条款10.根据条款6所述的方法,其中所述处理应用程序是图形用户接口应用程序。
[0078]条款11.根据条款6所述的方法,其中所述标记的度量由处理用户或应用程序来处理。
[0079]条款12.根据条款11所述的方法,其还包括向所述处理用户或所述处理应用程序输出所述标记的度量。
[0080]条款13.根据条款11所述的方法,其中所述至少一个额外标记中的至少一个来自请求应用程序。
[0081]条款14.根据条款11所述的方法,其中所述至少一个额外的标记中的至少一个来自请求用户。
[0082]条款15.根据条款14所述的方法,其中所述请求用户和处理用户不同。
[0083]条款16.根据条款13所述的方法,其中所述请求应用程序和处理应用程序不同。
[0084]条款17.非瞬时性物理存储器,其包括存储在其上的可执行指令,所述可执行指令配置成使计算系统至少:
[0085]接收要在标记数据时使用的至少一个标记,其中所述至少一个标记包括键和值对;
[0086]分析所述至少一个标记以确定要与之通信以便用所述标记来标记所述数据的一个或多个计算节点;以及
[0087]与所确定的一个或多个计算节点通信以请求用所述标记来标记所述数据,从而使所标记的数据能够随后被处理。
[0088]条款18.根据条款17所述的非瞬时性物理存储器,其中所述标记的数据配置成由处理用户或应用程序来处理。
[0089]条款19.根据条款18所述的非瞬时性物理存储器,其还包括向所述处理用户或所述处理应用程序输出所述标记的数据。
[0090]条款20.根据条款18所述的非瞬时性物理存储器,其中至少一个额外的标记中的至少一个是从请求应用程序接收的。
[0091]条款21.根据条款18所述的非瞬时性物理存储器,其中至少一个额外的标记中的至少一个是从请求用户接收的。
[0092]条款22.根据条款21所述的非瞬时性物理存储器,其中所述请求用户和处理用户不同。
[0093]条款23.根据条款20所述的非瞬时性物理存储器,其中所述请求应用程序和处理应用程序不同。
[0094]条款24.根据条款17所述的非瞬时性物理存储器,其与配置成执行所述可执行指令的计算设备结合。
[0095]条款25.—种标记度量的方法,所述方法包括:
[0096]由包括计算机硬件的计算机系统:[0097]接收要在标记一个或多个度量时使用的至少一个额外的标记,其中所述至少一个额外的标记不同于包括在所述一个或多个度量中的默认标记;
[0098]用所述至少一个额外的标记来标记所述一个或多个度量;以及
[0099]输出包括所述至少一个额外的标记的所标记的度量。
[0100]条款26.根据条款25所述的方法,其中所述标记的度量输出到处理用户或应用程序。
[0101]条款27.根据条款25所述的方法,其中所述至少一个额外的标记中的至少一个来自请求应用程序。
[0102]条款28.根据条款25所述的方法,其中所述计算系统包括多个计算设备。
[0103]在前面的部分中描述的每个过程、方法和算法可以由一个或多个计算机或计算机处理器执行的代码模块来实施以及完全或部分地通过所述代码模块来自动化。代码模块可存储在任何类型的非瞬时性计算机可读存储介质或计算机存储设备(如硬盘驱动器、固态存储器、光盘等)上。系统和模块也可以在各种计算机可读传输介质(包括基于无线和基于有线/电缆的介质)上作为生成的数据信号(例如,作为载波或其它模拟或数字传播的信号的部分)来传输,并且可以采取各种形式(例如,作为单个或多路复用的模拟信号的部分,或作为多个离散的数字包或帧)。过程和算法可以部分或全部以应用程序专用电路实施。可以在任何类型的非瞬时性计算机存储器(例如,易失性或非易失性存储器)中持久地或以其它方式存储所公开的过程和过程步骤的结果。
[0104]上面描述的各种特征和过程可以彼此独立地使用,或者可以各种方式组合。所有可能的组合和子组合旨在落入本公开的范围。此外,在一些实施方式中可以省略某些方法或过程块。本文描述的方法和过程也不限于任何特定的顺序,并且与其相关的块或状态可以适当的其它顺序来执行。例如,可以专门公开的顺序之外的顺序来执行描述的块或状态,或者可在单个块或状态中组合多个块或状态。可以顺序地、并行地或以某个其它方式执行示例性块或状态。可将块或状态添加到所公开的示例性实施例或从其中移除。本文描述的示例性系统和组件可以不同于所述来配置。例如,可将元件添加到所公开的示例性实施例或从其中移除,或者相比于所公开的示例性实施例重新布置。
[0105]除非专门另有说明,或者在如所使用的上下文中另有所指,否则本文所使用的条件语言(如其中包括“可以”、“可能”(can,could, might, may)、“例如”等)通常旨在表达某些实施例包括而其它实施例不包括某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元件和/或步骤在任何方面对于一个或多个实施例是必需的或者一个或多个实施例必定包括用于在有或没有作者输入或提示的情况下决定是否在任何特定实施例中包括或将执行这些特征、元件和/或步骤的逻辑。术语“包括”、“具有”等为同义词,且以包含、无限度的方式来使用,并且不排除额外的元件、特征、动作、操作等。另外,以其包括的含义(而不是以其排他的含义)来使用术语“或”,使得当被用来例如联系一系列元件时,术语“或”指这一系列元件中的一个、一些或全部。
[0106]尽管已描述了某些示例性实施例,但这些实施例仅仅是按实例的方式来呈现,而非旨在限制本文公开的本发明的范围。因此,前文描述中的任何内容都不旨在暗示任何特定特征、特性、步骤、模块或块是必需或必不可少的。实际上,可以各种其它形式来实施本文描述的新颖方法和系统;此外,在不脱离本文公开的本发明的精神的情况下,可进行本文所述的方法和系统的形式中的各种省略、替代和变化。附带的条款及其等同项旨在涵盖将落入本文公开的发明中的某些的范围和精神内的这样的形式或修改。
【权利要求】
1.一种用于标记度量的系统,所述系统包括: 计算机系统,其包括计算机硬件,所述计算机系统包括一个或多个计算节点且被编程来实施: 默认标记模块,其配置成用包括键和值对的默认标记通过至少将所述默认标记插入到与所述一个或多个计算节点的性能相关的一个或多个度量中来标记所述度量; 采集模块,其配置成接收要在标记所述一个或多个度量时使用的至少一个额外的标记,其中所述至少一个额外的标记不同于所述默认标记; 处理模块,其配置成分析所述至少一个额外的标记来确定要与之通信以便用所述至少一个额外的标记来标记所述一个或多个度量的一个或多个计算节点;以及 标记模块,其配置成与所确定的一个或多个计算节点通信来请求用所述至少一个额外的标记来标记所述一个或多个度量,从而使所标记的度量能够随后被聚合。
2.根据权利要求1所述的系统,其中所述采集模块还配置成从请求用户接收所述至少一个额外的标记中的至少一个。
3.根据前述权利要求中任一项所述的系统,其中从所述请求用户接收的所述标记中的至少一个涉及与所述请求用户相关的账单标识符。
4.根据前述权利要求中任一项所述的系统,其中所述标记模块还配置成通过与所述多个计算节点通信来标记所述一个或多个度量数据。
5.根据前述权利要求中任一项所述的系统,其中所述标记的度量配置成由处理用户或应用程序来聚合。·
6.—种标记度量的方法,所述方法包括: 由包括计算机硬件的一个或多个计算机系统: 用包括键和值对的默认标记来标记一个或多个度量; 接收要在标记所述一个或多个度量时使用的至少一个额外的标记,其中所述至少一个额外的标记不同于所述默认标记; 分析所述额外的标记来确定要与之通信以便用所述额外的标记来标记所述一个或多个度量的一个或多个计算节点;以及 与所确定的一个或多个计算节点通信来请求用所述额外的标记来标记所述一个或多个度量,从而使所标记的度量能够随后被处理。
7.根据权利要求6所述的方法,其还包括使用应用程序编程接口与所述多个计算节点通信。
8.根据权利要求6或7所述的方法,其还包括从请求用户或应用程序接收对所述至少一个额外标记的至少一个修改并至少基于所述至少一个修改来执行所述分析和通信步骤。
9.根据权利要求6-8中任一项所述的方法,其中所述计算节点中的至少一个包括以下中的一个或多个:负载均衡器、防火墙、物理机、虚拟机、存储节点和数据库服务器。
10.根据权利要求6-9中任一项所述的方法,其中所述处理应用程序是图形用户接口应用程序。
11.根据权利要求6-10中任一项所述的方法,其中所述标记的度量由处理用户或应用程序来处理。
12.根据权利要求11中任一项所述的方法,其还包括向所述处理用户或所述处理应用程序输出所述标记的度量。
13.根据权利要求6-12中任一项所述的方法,其中所述至少一个额外标记中的至少一个来自请求应用程序。
14.根据权利要求13所述的方法,其中所述请求应用程序和处理应用程序不同。
15.根据权利要求6-14中任一项所述的方法,其中所述至少一个额外的标记中的至少一个来自请求用户。`
【文档编号】G06F9/40GK103430157SQ201280013226
【公开日】2013年12月4日 申请日期:2012年3月19日 优先权日:2011年3月21日
【发明者】马文·M·泰梅, 埃里克·J·布兰德温, 大卫·布朗, 马克·J·布鲁科, 埃里克·J·富勒 申请人:亚马逊技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1