CN107924345A - 用于度量的聚合测量结果的数据存储区 - Google Patents

用于度量的聚合测量结果的数据存储区 Download PDF

Info

Publication number
CN107924345A
CN107924345A CN201680036112.XA CN201680036112A CN107924345A CN 107924345 A CN107924345 A CN 107924345A CN 201680036112 A CN201680036112 A CN 201680036112A CN 107924345 A CN107924345 A CN 107924345A
Authority
CN
China
Prior art keywords
measurement
measurement result
polymerizer
subsystem
computing resource
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
CN201680036112.XA
Other languages
English (en)
Other versions
CN107924345B (zh
Inventor
G·泰勒
B·丹尼希
S·A·R·罗德里格斯
J·D·曼加斯
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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
Priority claimed from US14/752,752 external-priority patent/US9880919B2/en
Priority claimed from US14/752,756 external-priority patent/US9910755B2/en
Priority claimed from US14/752,759 external-priority patent/US9882830B2/en
Priority claimed from US14/752,760 external-priority patent/US9880880B2/en
Priority claimed from US14/752,754 external-priority patent/US9882982B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107924345A publication Critical patent/CN107924345A/zh
Application granted granted Critical
Publication of CN107924345B publication Critical patent/CN107924345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • 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
    • 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
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种计算资源监视服务接收针对存储与计算资源相关联的度量的测量结果的请求。所述请求包含所述测量结果自身和所述测量结果的元数据,所述元数据指定所述测量结果的属性。至少部分基于所述元数据,所述计算资源监视服务产生完全限定度量识别符,并使用所述识别符来选择逻辑分区以用于放置所述测量结果。所述计算资源监视服务将所述测量结果从所述逻辑分区发送到包括一个或多个存储器中数据存储区的聚合器子系统。所述计算资源监视服务将所述测量结果存储在所述聚合器子系统内的存储器中数据存储区中。

Description

用于度量的聚合测量结果的数据存储区
相关申请案的交叉引用
本申请案出于各种目的通过引用并入有共同待决的2016年6月26日提交的名称为“DATASTORE FOR AGGREGATED MEASUREMENTS FOR METRICS”的第14/752,754号美国专利申请案(代理人案卷号0097749-515US0)、2016年6月26日提交的名称为“AGGREGATION OFMETRICS DATA WITH FINE GRANULARITY”的第14/752,752号美国专利申请案(代理人案卷号0097749-492US0)、2016年6月26日提交的名称为“ARCHITECTURE FOR METRICSAGGREGATION WITHOUT SERVICE PARTITIONING”的第14/752,759号美国专利申请案(代理人案卷号0097749-547US0)、2016年6月26日提交的名称为“AUTOMATIC SCALING OFCOMPUTING RESOURCES USING AGGREGATED METRICS”的第14/752,760号美国专利申请案(代理人案卷号0097749-548US0)、以及2016年6月26日提交的名称为“RETRIEVAL OFAUTHORITATIVE MEASUREMENT DATA FROM IN-MEMORY DATASTORES”的第14/752,756号美国专利申请案(代理人案卷号0097749-549US0)的全部公开内容。
背景技术
计算资源服务提供商的客户和管理员以及计算资源服务提供商的计算资源的其他用户通常利用监视服务来测量、诊断并改进他们运行他们的计算资源的方式。举例来说,通过这些监视服务,客户、管理员以及其他用户可获得他们的计算资源的数据,并使用此数据来确定他们的计算资源是否在恰当地工作。如果他们的计算资源未在恰当地工作,那么数据可用于识别可存在的任何问题并使得客户、管理员以及其他用户能够解决所述问题。然而,在高冲击操作事件期间,时间通常非常重要。监视分布式系统中的计算资源非常复杂,且复杂性随分布式系统的大小而增加。因此,用于监视计算资源的常规技术通常引起在获得指示问题的数据的时间与所述数据可用于消费的时间之间的较大时延。一些客户、管理员以及其他用户可需要快速地获取数据以跟踪其计算资源并尽可能快地解决任何问题。
附图说明
将参考图式描述根据本公开的各种实施方案,其中:
图1示出可实施各种实施方案的环境的说明性示例;
图2示出根据至少一个实施方案的计算资源监视服务的前端服务器处理一个或多个应用程序设计接口调用以存储测量结果并从所述服务检索测量结果的环境的说明性示例;
图3示出根据至少一个实施方案的计算资源监视服务的分区器子系统将测量结果分区到各种逻辑分区中并将每一逻辑分区中的测量结果传递到聚合器子系统的环境的说明性示例;
图4示出根据至少一个实施方案的聚合器子系统执行测量结果的聚合并提供对存储在一个或多个数据存储区内的测量结果的读访问的环境的说明性示例;
图5示出根据至少一个实施方案的客户计算机系统将测量结果分区到各种逻辑分区中并将测量结果从每一逻辑分区传递到计算资源监视服务的一个或多个聚合器子系统的环境的说明性示例;
图6示出根据至少一个实施方案的元数据设置有度量的测量结果以实现度量的测量结果的未来存储而不需要另外的元数据传输的环境的说明性示例;
图7示出根据至少一个实施方案的示例度量的测量结果的摄取用于确定是否将执行一个或多个资源的自动缩放的环境的说明性;
图8示出根据至少一个实施方案的用于对度量的测量结果分区以用于传递到一个或多个聚合器子系统的过程的说明性示例;
图9示出根据至少一个实施方案的用于聚合来自一个或多个分区器子系统的测量结果与来自计算资源监视服务的一个或多个数据存储区的测量结果的过程的说明性示例;
图10示出根据至少一个实施方案的用于响应于GET应用程序设计接口调用而从一个或多个聚合器数据存储区检索一个或多个测量结果的过程的说明性示例;
图11示出根据至少一个实施方案的用于对测量结果分区以传输到计算资源监视服务以用于发布测量结果的过程的说明性示例;
图12示出根据至少一个实施方案的用于至少部分基于元数据散列来将测量结果存储在一个或多个聚合器数据存储区中的过程的说明性示例;
图13示出根据至少一个实施方案的用于至少部分基于包含在针对获得测量结果的请求内的元数据来从一个或多个聚合器数据存储区检索测量结果的过程的说明性示例;以及
图14示出可实施各种实施方案的环境的说明性示例。
具体实施方式
在以下描述中,将描述各种实施方案。出于说明的目的,阐述具体的配置和细节以便提供对实施方案的透彻理解。然而,所属领域的技术人员也将清楚,实施方案可在没有具体细节的情况下实践。此外,众所周知的特征可被省略或简化以免使正描述的实施方案混淆。
本文中所描述并提出的技术涉及计算资源监视服务,所述计算资源监视服务经配置以聚合度量的测量结果并在通过服务提供商指定的保留期期间将聚合的测量结果存储在存储器中。计算资源监视服务可包含前端服务器,所述前端服务器可经配置以从多种不同的来源获得测量结果,所述来源包含计算资源服务提供商的客户、计算资源服务提供商的各种其它服务,以及通过各种服务可供客户使用的计算资源。此前端服务器可将这些测量结果变换成二进制序列化格式,所述二进制序列化格式可由计算资源监视服务的各种组件使用。一旦完成测量结果的变换,前端服务就可向各种分区器子系统发布这些测量结果以基于每一测量结果或度量的完全限定度量识别符(FQMI)以及测量结果的时间戳来划分测量结果以用于分布到各种聚合器数据存储区。
分区器子系统可基于FQMI将测量结果存储在各种队列中。每一队列可与相应的聚合器子系统相关联以用于将测量结果存储在各种聚合器数据存储区中,所述聚合器数据存储区用于支持对计算资源监视服务的应用程序设计接口(API)调用以检索测量结果。分区器子系统可基于每一测量结果的时间戳来进一步对每一队列内的测量结果分区。这使得分区器子系统能够基于时间戳来对测量结果到聚合器子系统的传递区分优先次序,首先传递最近的测量结果。另外,分区器子系统可在此数据的时间戳早于最旧保留期时清除来自各种队列的测量结果。对于具有在未来(例如,迟于最晚的保留期)的时间戳的测量结果,分区器子系统可将这些测量结果排在单独的未分区队列中,其中测量结果将保持直到所述测量结果的时间戳在稍后的时间处被当前的保留期覆盖。一旦保留期已被更新,就可从单独的未分区队列传送具有在此保留期内的时间戳的测量结果并处理所述测量结果。
聚合器子系统可从分区器子系统的各种队列获得测量结果并在保留期上聚合这些测量结果。当聚合器子系统从各种分区器子系统获得测量结果时,聚合器子系统可获得现有的测量结果并确定现有的测量结果中的任何测量结果是否对应于早于最旧保留期的时间段。如果是,那么聚合器子系统可清除这些现有的测量结果。聚合器子系统可将从分区器子系统获得的测量结果存储在各种基于文件的队列内以用于通过聚合器子系统的聚合器数据存储区异步处理。最近获得的测量结果与现有测量结果的此聚合可通过现有测量结果和最近获得的测量结果的反序列化并将最近获得的测量结果与其余的测量结果聚合成序列化格式来执行。此序列化数据随后可被存储在聚合器数据存储区内。
当计算资源服务提供商的客户将API调用提交到前端服务器以从计算资源监视服务检索测量结果(例如,GET等)时,前端服务器可将请求发送到聚合器子系统以获得测量结果。这可使得各种聚合器子系统各自访问度量映射注册表以确定所请求的测量结果存储在何处。聚合器子系统随后可访问其相应的聚合器数据存储区以获得所请求的测量结果并将这些测量结果提供到度量整合引擎。此度量整合引擎可收集来自聚合器子系统的测量结果并将这些测量结果提供到前端服务器。前端服务器可通过从度量整合引擎提供所收集的测量结果来履行客户的请求。
以此方式,计算资源监视服务可从多种来源摄取各种度量的测量结果,计算实时分析,并将测量结果提供到客户、管理员以及其它实体以实现对任何固有的计算资源问题的快速响应并允许在较短时间量内的度量评估。另外,本文中描述并提出的技术促进另外的技术优点。例如,因为通过计算资源监视服务摄取的测量结果被划分成逻辑分区并置于逻辑分区中以用于分布到各种分区器子系统,所以分区器子系统的任何故障可引起对通过计算资源监视服务进行的测量结果的总聚合的最小影响。这可确保计算资源服务提供商的客户可以最小的重要数据丢失的风险快速地在保留期上存储测量结果。
图1示出可实施各种实施方案的环境100的说明性示例。在环境100中,计算资源服务提供商的一个或多个客户102(例如,个人、组织、自动化过程、计算资源代理等)可将请求提交到计算资源监视服务104以存储计算资源的特定度量的测量结果。针对存储测量结果的请求可以API调用的形式提供到计算资源监视服务104,例如PUT调用。在实施方案中,针对存储测量结果的初始请求包含元数据,所述元数据可用于描述正被提供到计算资源监视服务104的测量结果。举例来说,元数据可指定已产生数据的原始计算资源的名称、原始计算资源所属的自动缩放群组、原始计算资源的虚拟机图像识别符及类似者。在通过API调用接收到测量结果和元数据以存储所述测量结果后,计算资源监视服务104可产生元数据的散列,所述元数据的散列可用于在存储后为测量结果编索引。测量结果可为来自某一可能值的范围的数值、布尔值或字母数字,或可能的状态的集合中的状态的其它指示符。测量结果可另外用作相关联的计算资源的操作的至少一个方面的指示,所述计算资源例如虚拟机实例、客户计算机系统、基于对象的数据存储区和/或其它计算资源。举例来说,测量结果可包含随时间变化的处理器利用率、随时间变化的存储器利用率、在某一时间段上在计算资源内检测到的误差的计数及类似者。
在实施方案中,计算资源监视服务104包含在计算资源监视服务104的用于测量结果的存储的每一数据中心106内的一个或多个分区器子系统108以及一个或多个聚合器子系统110。每一数据中心106可对应于计算资源监视服务104的计算机系统以及计算资源服务提供商的服务的其它计算机系统可位于的物理位置。当计算资源监视服务104从客户102获得测量结果时,计算资源监视服务104可利用所提供的元数据来识别已产生数据的计算资源并确定此计算资源所位于的数据中心106。至少部分基于此确定,计算资源监视服务104可选择对应的数据中心106以用于数据的存储。在一些实施方案中,计算资源监视服务104复制测量结果以用于存储在多个数据中心106的子集中以为测量结果提供冗余。这可使得计算资源监视服务104能够产生一个或多个冲突解决规则,以便在多个数据中心106的子集不能够响应于请求而提供一致的测量结果回答时选择特定的测量结果。举例来说,计算资源监视服务104可需要法定数量,其中计算资源监视服务104可选择由大部分数据中心106提供的测量结果,只要提供相同测量结果的数据中心106的数目大于或等于预定的数据中心106的数目。
提供到计算资源监视服务104的测量结果的元数据可唯一地识别出测量结果的特定度量。举例来说,元数据可通过客户账号、命名空间(例如,计算资源的相关联服务)、测量结果的维度(例如,键/值对)、测量结果自身的名称及类似者的组合来唯一地识别出测量结果。在实施方案中,当计算资源监视服务104从客户102接收测量结果和元数据时,计算资源监视服务104利用散列函数来产生元数据的散列,所述元数据的散列可用作待存储的测量结果的FQMI。另外,计算资源监视服务104可利用二进制序列化格式来压缩待存储的测量结果。在此二进制序列化格式中,序列化测量结果可包含通过将元数据散列来产生的FQMI、数据的时间戳、数据的测量单位以及测量结果自身。在替代的实施方案中,通过使用客户计算机系统或其它计算资源,客户102至少部分基于测量结果的元数据来计算FQMI。这可使得客户102能够将测量结果的FQMI提供给测量结果,而不需要计算资源监视服务104自身产生FQMI。
在实施方案中,一旦计算资源监视服务104已将元数据散列以产生待存储的测量结果的FQMI,就不再需要客户102重复元数据以用于特定度量的测量结果的未来提交,只要元数据尚未到期或客户102尚未开始与计算资源监视服务104的新会话。举例来说,当客户102将另外的测量结果提供到计算资源监视服务104时,客户102可提供对应于相同度量的测量结果的FQMI而非元数据。计算资源监视服务104可对测量结果和FQMI进行序列化,以预期将各种测量结果存储在计算资源监视服务104的数据存储区内。计算资源监视服务104可响应于客户的针对存储包含测量结果的元数据的第一测量结果的请求而将测量结果的FQMI提供给客户102。一旦计算资源监视服务104至少部分基于由客户102提供的元数据来产生FQMI,计算资源监视服务104就可将FQMI发送到客户102以供未来使用,包含PUT和GET请求。
可对计算资源监视服务104进行以用于存储测量结果(例如,度量的观察结果)的API调用可另外包含一个或多个参数,所述参数可用于指定在特定时间序列上为度量提供的数据在所述时间序列上为权威的。举例来说,当度量的测量结果在特定保留期上聚合时,客户102可指定对于所述时间序列,所提供的一个或多个测量结果在所述时间序列上为权威的,使得计算资源监视服务104可向请求测量结果的实体指示:所提供的所述时间序列的测量结果事实上为权威的且稳定的。在实施方案中,当计算资源监视服务104接收到包含可用于指定所提供的测量结果在时间序列上为权威的一个或多个参数的API调用时,计算资源监视服务104将在接收到的测量结果已与在时间序列上的其它测量结果聚合并被存储后使在时间序列上的各种测量结果可用。此测量结果以及在时间序列上的其它测量结果可用于客户102或其它实体,使得计算资源监视服务104可指示这些测量结果在时间序列上为权威的。
一旦计算资源监视服务104已将测量结果变换成序列化格式,计算资源监视服务104就可将测量结果发送到每一数据中心106内的一个或多个分区器子系统108。在实施方案中,每一分区器子系统108至少部分基于测量结果的FQMI和时间戳来确定多个逻辑分区中的哪一个逻辑分区将用于存储测量结果。对于接收到的各种测量结果,分区器子系统108可另外至少部分基于在一个或多个保留期上在数据中心108内的活动聚合器子系统110的数量来将这些各种测量结果划分到各种逻辑分区中。为确定活动聚合器子系统110的数目,分区器子系统108可访问度量映射注册表,所述度量映射注册表可提供逻辑分区到在一个或多个保留期上活动的聚合器子系统110的映射。分区器子系统108可将测量结果存储在与选定逻辑分区相关联的基于文件的队列内,所述逻辑分区绑定到数据中心106内的单一聚合器子系统110。
基于文件的队列可包含各种测量结果,所述测量结果可在已经过某一时间段之后(例如,每几毫秒等)经批处理并异步地传递到对应的聚合器子系统110。在这些基于文件的队列内的测量结果可在每一保留期期间传递到每数据中心106的仅一个聚合器子系统110,如通过度量映射注册表确定。在基于文件的队列内的测量结果可至少部分基于每一测量结果的观察时间来进行另外的子分区。这可使得分区器子系统能够以首先优先传递最近测量结果的方式来将测量结果传递到聚合器子系统110。具有在未来的时间戳(例如,迟于最晚的保留期的最晚时间序列)的测量结果可排在单独的未分区队列中,所述未分区队列可仅在时间序列变为当前时被处理。另外,分区器子系统108可清除具有早于最旧保留期的时间戳的测量结果。
聚合器子系统110为存储器中键-值存储系统,所述存储系统可经优化用于聚合测量结果并供应各种度量的时间序列测量数据。在实施方案中,存储器中键-值存储系统依赖于一个或多个计算机系统中用于存储聚合的测量结果的主存储器。举例来说,存储器中键-值存储系统可经由存储器总线直接地或间接地连接到计算机系统的中央处理单元(CPU)。这可使得CPU能够响应于GET请求而获得存储在存储器中键-值存储系统内的任何数据,或能够响应于GET请求而将任何数据存储在存储器中键-值存储系统内。主存储器还可直接由CPU访问。存储器中键-值存储系统可使用易失性存储系统(例如,随机存取存储器(RAM)等)或非易失性存储系统形成。在一些实施方案中,测量结果可存储在固态存储装置中,例如固态驱动(SSD)。
聚合器子系统110可从数据中心106内的各种分区器子系统108获得多个测量结果,且可将测量结果放置到基于文件的队列中以用于异步处理。如果特定度量第一次已在聚合时段上被观察,那么聚合器子系统110可将此特定度量的测量结果以其序列化格式存储在聚合器数据存储区内。替代地,如果先前已观察特定度量,那么聚合器子系统110可获得所存储的度量的测量结果,对所存储的测量结果和最近获得的测量结果进行反序列化,并以序列化格式聚合最近获得的测量结果与现有测量结果。这些聚合的测量结果随后可被存储在聚合器数据存储区内以用于履行查询请求。在实施方案中,聚合器子系统110将在最旧的保留期已被较晚的保留期替换以用于存储测量结果后清除来自聚合器数据存储区的任何到期的测量结果。
在任何时间处,计算资源服务提供商的客户102可将请求发送到计算资源监视服务104以从各种聚合器数据存储区检索任何数目的测量结果。针对检索测量结果的请求可以API调用的形式提供到计算资源监视服务104,例如GET调用。为使计算资源监视服务104获得履行请求所必需的测量结果,客户102可需要提供待获得的测量结果的元数据。这可使得计算资源监视服务104能够将元数据散列以获得测量结果的一个或多个FQMI。计算资源监视服务104可利用一个或多个FQMI来从度量映射注册表识别出在一个或多个当前保留期上的测量结果的一个或多个位置。
在实施方案中,从客户102到计算资源监视服务104的针对从各种聚合器数据存储区检索测量数据(例如,度量的一个或多个测量结果)的API调用可包含参数,所述参数可用于指示客户102正请求权威结果。举例来说,如果API调用包含用于请求特定时间范围和度量的权威结果的参数,那么计算资源监视服务104可检索度量在指定的时间范围内的测量结果,并确定这些测量结果中的任何测量结果是否为权威的。举例来说,如上文所提及,通过使用PUT API调用,客户102可指定特定测量结果或一系列测量结果在时间序列上为权威的。计算资源监视服务104可利用此信息来识别权威测量结果并将这些测量结果提供给客户102或其它请求实体。在一些实施方案中,客户102可提交GET API调用,所述GET API调用包含用于指示客户102不可知获得特定时间范围的权威测量结果的参数。这可使得计算资源监视服务104提供在指定时间范围上的所有测量结果,而不管所述测量结果是否为权威的。
在确定所请求的测量结果所存储的位置后,计算资源监视服务104可利用度量整合引擎112来将请求发送到来自各种数据中心106的适合的聚合器子系统110以获得履行GET请求所必需的测量结果。度量整合引擎112可为计算资源监视服务104的计算机系统模块,所述计算机系统模块可包含客户端库以使得所述模块能够从各种聚合器子系统110读取测量结果。一旦度量整合引擎112已从各种聚合器子系统110获得测量结果,来自每一数据中心106的测量结果就可被收集以产生数据中心106测量结果响应。度量整合引擎112可在所产生的响应发生冲突时利用一个或多个冲突解决规则来确定对GET请求的适合的响应。举例来说,度量整合引擎112可从各种数据中心106选择具有最高样本计数的响应。度量整合引擎112可以呈反序列化格式的测量结果的形式将响应提供到GET请求,所述反序列化格式可被客户102用于其自己的目的。
在实施方案中,度量整合引擎112经配置以将这些测量结果提供到自动缩放群组,所述自动缩放群组包括一项或多项服务器计算机和计算资源。测量结果可通过度量整合引擎112响应于来自针对与自动缩放群组内的计算资源相关联的度量的自动缩放群组内的一个或多个计算资源管理器的GET请求而获得。这些一个或多个计算资源管理器可利用所获得的特定度量的测量结果来确定现有计算资源的缩放是否有必要。如果是,那么在自动缩放群组中的每一服务器计算机内的计算资源管理器可按需要供应另外的计算资源或从自动缩放群组去除计算资源。
应注意,在一些实施方案中,分区器子系统108用于客户102的一个或多个客户端侧计算系统内。举例来说,客户端侧计算系统可从各种计算资源获得测量结果,且可直接地将测量结果的元数据散列。另外,客户客户端装置可访问由计算资源监视服务104提供的度量映射注册表以确定哪些聚合器子系统110将接收存储在客户客户端装置内的分区器子系统108的逻辑分区内的测量结果。客户客户端装置可将PUT请求发送到计算资源监视服务104的对应的聚合器子系统110以存储测量结果。测量结果可使用一个或多个通信协议来传输,所述通信协议可使得客户客户端装置能够确定每一测量结果是否已被成功地传输到对应的聚合器子系统110。如果测量结果的传输为未成功的,那么客户客户端装置可刷新分区器子系统108的基于文件的队列并针对每一失败的请求将新PUT请求发送到聚合器子系统110。否则,客户客户端装置可从聚合器子系统110接收对测量结果的传递已成功执行的确认。
如上文所提及,计算资源监视服务可从客户、管理员、计算资源以及其它实体获得测量结果,并在如通过服务所界定的特定保留期上将这些测量结果存储在一个或多个聚合器数据存储区内。通过计算资源监视服务获得的测量结果可在其实时到达时聚合。这可使得计算资源监视服务能够以迅速的方式对针对从聚合器数据存储区获得测量结果的请求做出响应,从而使得客户和其它实体能够将测量结果用于其自己的需要。因此,图2示出根据至少一个实施方案的计算资源监视服务202的前端服务器204处理一个或多个API调用以存储测量结果并从服务202检索测量结果的环境200的说明性示例。
在环境200中,计算资源监视服务202的前端服务器204可从客户计算机系统接收PUT请求以将测量结果存储在聚合器数据存储区内。客户计算机系统可为通过计算资源服务提供商托管但通过客户管理的计算机系统。替代地,客户计算机系统可包含通过客户在其自己的数据中心中托管的计算机系统和资源。PUT请求可包含特定度量在给定时间戳处的测量结果。另外,PUT请求可另外包含所提供的测量结果的元数据。此元数据可包含一个或多个度量属性,所述度量属性可唯一地识别出在计算资源监视服务202内的相关联的测量结果和度量。举例来说,元数据可个别地或组合地指定客户的账号(所述账号与提交PUT请求的客户计算机系统相关联或与负责测量结果的产生的另一计算资源相关联)、负责管理计算资源的特定服务(例如,虚拟计算机系统服务、数据库服务等)的名称、测量结果的维度(例如,键/值对)以及用于产生测量结果的计算资源的识别符。
当前端服务器204从客户计算机系统接收PUT请求时,前端服务器204可从PUT请求获得元数据并利用散列函数来产生将存储在聚合器数据存储区内的测量结果的FQMI。另外,前端服务器204可将测量结果变换成序列化格式以用于向一个或多个数据中心206内的分区器子系统208发布。从客户计算机系统获得的特定测量结果的序列化格式可包含FQMI、测量结果的时间戳、测量结果的测量单位以及测量结果自身。前端服务器204可从各种PUT请求获得未分区的测量结果以用于异步传递到一个或多个数据中心206的一个或多个分区器子系统208。举例来说,前端服务器204可包含一个或多个基于文件的队列,所述队列可各自经配置以将测量结果发送到维持在每一数据中心206内的分区器子系统208中的至少一个分区器子系统208。
在实施方案中,如果客户计算机系统提交针对存储相同度量的测量结果的稍后的PUT请求,那么只要元数据尚未到期,客户计算机系统就仅需要提供度量的FQMI而非来自测量结果的全部的元数据。替代地,PUT请求可缺少在针对存储相同度量的另一测量结果的初始PUT请求内接收到的元数据中的至少一些。如下文将更详细描述,一个或多个分区器子系统208可利用所提供的FQMI来将测量结果存储在聚合器数据存储区内,使得响应于针对检索测量结果的请求并指定元数据的信息包含至少两个测量结果。
PUT请求可另外将用于存储所提供的测量结果的多种选项提供给客户计算机系统。举例来说,在实施方案中,PUT API可使得客户计算机系统能够指定所提供的测量结果是否是在用于通过计算资源监视服务202聚合测量结果的时间段上针对特定度量将提供的最后一个测量结果。举例来说,通过PUT API,如果前端服务器204经配置以在将测量结果传递到分区器子系统208之前在特定时间间隔(例如,一秒、一分钟、一小时等)上批处理测量结果,那么客户计算机系统可指定所提供的测量结果为在特定时间间隔上的最后测量结果。这可使得即使当前时间间隔尚未逝去,前端服务器208也准备测量结果以用于传递到分区器子系统208。这可实现测量结果的更快的存储和可用性,因为前端服务器204可不需要等待来自客户计算机系统的另外的测量结果。在另一实施方案中,前端服务器204将利用游程长度编码来针对在用于测量结果的时间间隔上具有相同值的一个或多个顺序测量结果压缩所获得测量结果。这可减少序列化测量结果所需的存储空间。
在实施方案中,前端服务器204将至少部分基于接收到的PUT请求产生的序列化测量结果发送到每一数据中心206以用于测量结果的冗余存储。每一数据中心206可包含分区器负载均衡器(未示出),所述分区器负载均衡器经配置以将序列化测量结果发送到特定数据中心206内的分区器子系统208。分区器子系统可包含一个或多个计算机系统,所述计算机系统共同地经配置以至少部分基于每一测量结果的FQMI和时间戳来对各种度量的测量结果分区以用于传递到数据中心206内的一个或多个聚合器子系统210。在从前端服务器204获得测量结果后,分区器子系统208可访问度量映射注册表212以获得随时间变化的逻辑分区到在数据中心206内的聚合器子系统210的映射。度量映射注册表可包含映射的数据库和用于至少部分基于每一数据中心内的可用聚合器子系统210来产生分区调度的一个或多个计算机系统。举例来说,度量映射注册表212可以预定(例如,通过计算资源监视服务202或计算资源服务提供商界定)时间间隔评估在各种数据中心206内的各种聚合器子系统210。此评估可用于产生在未来的时间的分区调度。在一些实施方案中,可手动地更新分区调度,以便处理聚合器子系统210可用性的紧急问题、用于测量结果的存储的所需吞吐量以及其它问题。映射可对应于特定保留期,所述映射在所述保留期上为活动的。一旦保留期已逝去,度量映射注册表212就可使下一映射为当前的,同时保持对分区调度的最近改变的历史以使得GET请求能够被路由到正确的聚合器子系统210。
分区器子系统208可利用来自度量映射注册表212的映射来针对每一逻辑分区确定经分区的测量结果的目标聚合器子系统210。分区器子系统208可至少部分基于通过PUT请求获得的测量结果的FQMI和时间戳来从多个逻辑分区选择逻辑分区以用于测量结果的存储。如上文所提及,FQMI可使用散列函数将在元数据中提供的度量属性散列来产生。举例来说,FQMI可包含多字节散列,其中所述散列的一部分用于确定每一测量结果度量的逻辑分区,而所述散列的另一部分用于在逻辑分区内的测量结果的唯一识别。此逻辑分区可通过度量映射注册表212映射到特定的聚合器子系统210。
分区器子系统208可将经分区测量结果存储在基于文件的队列内,所述基于文件的队列各自绑定到数据中心206内的单一聚合器子系统210。每一基于文件的队列内的测量结果可在特定的较短时间间隔处(例如,每几毫秒等)经批处理并异步地传递到每一聚合器子系统210。这可使得分区器子系统208能够在每一保留期期间将测量结果从每一逻辑分区传递到每数据中心206的仅一个聚合器子系统210,如通过度量映射注册表212确定。每一逻辑分区可另外通过测量结果时间戳进行子分区。分区器子系统208可首先优先将最近的测量结果传递到聚合器子系统210。如果在任何点处基于文件的队列被填满,那么分区器子系统208可从基于文件的队列清除最旧的测量结果。另外,还可清除早于最旧保留期的时间戳的任何测量结果。分区器子系统208可维持测量结果的单独的未分区队列,所述测量结果的时间戳对应于在未来的时间(例如,所述时间戳指定迟于最晚的保留期时间的时间)。这些未来的观察结果可仅在这些测量结果的时间戳变为当前且处于保留期内时被处理。
如上文所提及,聚合器子系统210可为存储器中键-值存储系统,所述存储器中键-值存储系统经优化用于实时地聚合各种度量的测量结果并提供各种度量的时间序列测量结果。聚合器子系统210可从特定数据中心206内的分区器子系统208的逻辑分区获得测量结果,并将这些测量结果放置到一个或多个基于文件的队列中以用于通过聚合器子系统210的专用聚合器数据存储区进行异步处理。聚合器数据存储区可从基于文件的队列获得度量的测量结果,并确定在聚合时段上是否存在特定度量的现有测量结果。如果不存在特定度量的现有测量结果,那么聚合器数据存储区可存储序列化测量结果,且聚合器子系统210可更新度量映射注册表212以指示序列化测量结果已被成功地存储在数据存储区内。否则,聚合器子系统210可从聚合器数据存储区检索现有序列化测量结果,并对这些测量结果和来自队列的最近获得的测量结果进行反序列化。聚合器子系统210可聚合测量结果的两个反序列化集合。这些聚合的测量结果随后可被序列化并存储在聚合器数据存储区内。聚合器子系统可更新度量映射注册表212以指示来自逻辑分区的测量结果的存储得到成功执行。
在任何时间处,前端服务器204可从客户计算机系统、计算资源、管理员或其它授权实体接收GET请求以从一个或多个聚合器子系统210中的一个或多个聚合器数据存储区检索特定度量的测量结果。GET请求可包含将从计算资源监视服务202获得的测量结果的元数据,所述元数据可类似于在较早时间处提供以存储度量的测量结果的元数据。前端服务器204可将接收到的元数据散列以产生FQMI,所述FQMI可用于定位正寻求的测量结果。前端服务器204可将查询连同FQMI发送到度量整合引擎214以便获得履行GET请求所需的测量结果。响应于查询,度量整合引擎214可访问度量映射注册表212以确定履行GET请求所需的测量结果存储在何处。
为确定具有履行GET请求所必需的测量结果的聚合器子系统210,度量整合引擎214可将FQMI提供到度量映射注册表212。度量映射注册表212可分析当前映射和在多个保留期上的过去映射以确定测量结果存储在何处。一旦度量整合引擎214至少部分基于由度量映射注册表212提供的信息来从聚合器子系统210确定测量结果所存储在的聚合器数据存储区,度量整合引擎214就可对在每一数据中心206内的聚合器数据存储区进行访问以获得所请求的测量结果。
在实施方案中,度量整合引擎214收集从数据中心206中的每一个获得的测量结果。如果数据中心206的所收集的测量结果为不一致的,那么度量整合引擎214可利用一个或多个冲突解决规则来确定将响应于GET请求而提供哪些测量结果。举例来说,度量整合引擎214可从各种数据中心206选择具有最高样本计数的响应。一旦度量整合引擎214已解决数据中心当中的任何冲突(如果存在),度量整合引擎214就可将测量结果提供到前端服务器204。这可使得前端服务器204能够通过将测量结果提供到请求实体来履行GET请求。
在一些实施方案中,前端服务器204另外经配置以在测量结果已被聚合后,将各种度量的测量结果提供到自动缩放群组的一个或多个计算资源管理器。度量映射注册表212可维持自动缩放群组的计算资源的一个或多个条目,所述条目可针对每一保留期指定在各种数据中心206内的聚合器数据存储区,所述聚合器数据存储区包含这些计算资源的测量结果。另外,度量整合引擎214可经配置以周期性地访问度量映射注册表212以识别包含这些测量结果的这些聚合器数据存储区。这可使得度量整合引擎212能够获得这些计算资源的测量结果并将测量结果提供到前端服务器204。前端服务器204可将测量结果发送到自动缩放群组的一个或多个计算资源管理器以使得计算资源管理器能够相应地缩放计算资源。在一些情况中,一个或多个计算资源管理器可替代地将GET请求发送到前端服务器204,所述前端服务器可通过执行以上描述的过程来履行GET请求以获得所请求的一个或多个计算资源的测量结果。
如上文所提及,计算资源监视服务可包含在一个或多个数据中心内的一个或多个分区器子系统。分区器子系统可包含一个或多个计算机系统,所述计算机系统共同地经配置以将来自客户计算机系统的测量结果发布到聚合器子系统以用于存储。相应地,图3示出根据至少一个实施方案的计算资源监视服务的分区器子系统302将来自各种客户计算机系统的测量结果分区到各种逻辑分区中并将每一逻辑分区中的测量结果传递到一个或多个聚合器子系统312的环境300的说明性示例。分区器子系统302可包含度量摄取引擎304,所述度量摄取引擎可为分区器子系统302的一个或多个计算机系统的模块,分区器子系统经配置以从前端服务器获得序列化测量结果。
度量摄取引擎304可访问度量映射注册表310以确定用于将来自前端服务器的所获得测量结果分区到一个或多个逻辑分区中以用于存储在一个或多个聚合器子系统312中的方法。举例来说,度量摄取引擎304可利用度量映射注册表310来获得在特定的保留期上逻辑分区到聚合器子系统312的映射。度量摄取引擎304可至少部分基于接收到的每一测量结果的FQMI、每一测量结果的时间戳以及如度量映射注册表310通过映射界定的聚合器子系统312的数目来将接收到的测量结果分区到一个或多个逻辑分区中。
如上文所提及,FQMI可为测量结果的元数据的散列。FQMI的一部分可用于确定相关联的度量的逻辑分区,而FQMI的另一部分可用于在逻辑分区内的测量结果的识别。测量结果的分区可用一致的散列执行以使在聚合器子系统312被添加或从特定数据中心去除时在聚合器子系统312之间传输的测量结果的量最小化。测量结果的分区还可至少部分基于每一测量结果的测量时间戳来消除由于时钟偏差而造成的任何影响。
一旦度量摄取引擎304已至少部分基于来自度量映射注册表310的映射来将所获得的测量结果分区到一个或多个逻辑分区中,度量摄取引擎304就可将来自一个或多个逻辑分区的测量结果放置在一个或多个基于文件的队列308中。每一基于文件的队列308可绑定到单一聚合器子系统312,如图3中所说明。基于文件的队列308到特定聚合器子系统312的此绑定可至少部分基于与基于文件的队列308相关联的逻辑分区,因为每一逻辑分区可至少部分基于映射而映射到特定聚合器子系统312。每一基于文件的队列308中的测量结果可至少部分基于测量结果的时间序列来在规律的时间间隔处(例如,每几毫秒、每几秒等)经批处理并异步地传递到每一聚合器子系统312。
在每一基于文件的队列308内,测量结果可至少部分基于每一测量结果的时间戳来进行另外的子分区。这可使得分区器子系统302能够对测量结果的传递区分优先次序,使得首先将最近的测量结果传递到聚合器子系统312。在实施方案中,如果基于文件的队列308达到容量,那么分区器子系统302识别出具有最旧时间戳的测量结果并从队列308清除这些测量结果。另外,还可从分区器子系统302清除具有早于最旧保留期的时间戳的任何测量结果。这可使得度量摄取引擎304能够用从前端服务器获得的新测量结果继续填充基于文件的队列308,所述前端服务器可已从客户计算机系统获得测量结果。
分区器子系统302可另外包含未来观察队列306,所述未来观察队列可为不与任何聚合器子系统312相关联的单独的未分区队列。度量摄取引擎304可将具有在未来的时间戳的任何测量结果(例如,具有晚于最新保留期的时间戳的测量结果)传送到未来观察队列306,因为对于将包含这些测量结果的保留期,度量映射注册表310可不包含逻辑分区到聚合器子系统312的映射。因此,度量摄取引擎304可仅在未来观察队列306中的测量结果的时间戳变成当前且映射可用于将测量结果存储在逻辑分区中并将测量结果从逻辑分区发送到对应的聚合器子系统312时处理这些测量结果。
如上文所提及,计算资源监视服务可包含在每一数据中心内的一个或多个聚合器子系统,所述聚合器子系统经配置以实时地聚合度量测量结果并供应多种度量的时间序列测量结果。聚合器子系统可包含一个或多个计算机系统,所述计算机系统共同地经配置以执行前述任务,将测量结果存储在一个或多个聚合器数据存储区内并使这些测量结果可用于履行来自客户计算机系统和其它实体的GET请求。相应地,图4示出根据至少一个实施方案的聚合器子系统402执行测量结果的聚合并提供对存储在一个或多个数据存储区408内的测量结果的读访问的环境400的说明性示例。在环境400中,聚合器子系统402可包含度量处理引擎404,所述度量处理引擎可包括在聚合器子系统402的一个或多个计算机系统内操作的模块。度量处理引擎404可从各种分区器子系统的逻辑分区接收测量结果以用于存储在一个或多个数据存储区408中。响应于PUT请求,度量处理引擎404可将接收到的一个或多个测量结果放置到基于文件的队列406中以用于通过专用聚合器数据存储区408进行异步处理。
每一聚合器数据存储区408可包括一个或多个存储装置和至少一个模块,所述模块经配置以从基于文件的队列406获得测量结果以将测量结果存储在一个或多个存储装置内。在实施方案中,聚合器数据存储区408从基于文件的队列406获得测量结果,并确定在相同聚合时段上的相同度量的测量结果是否存储在聚合器数据存储区408内。如果是,那么聚合器数据存储区408可对所存储的测量结果和来自队列404的测量结果进行反序列化以便聚合特定度量的测量结果。聚合器数据存储区408可获得测量结果的两个集合的聚合结果,并使用以上描述的二进制序列化格式来对聚合的测量结果进行序列化。一旦聚合的测量结果已经序列化,聚合器数据存储区408就可将这些测量结果存储在数据存储区408的一个或多个存储装置内,并向度量处理引擎404发送最晚的测量结果已被成功存储的通知。替代地,如果测量结果第一次已在聚合时段上被观察,那么测量结果可简单地存储在聚合器数据存储区408内而不需要反序列化,因为测量结果可已呈二进制序列化格式。一旦度量处理引擎404接收到测量结果已被成功地存储在聚合器数据存储区408内的确认,度量处理引擎404就可访问度量映射注册表410以修改所述映射内的条目以指定测量结果在聚合器子系统402内的存储已成功完成。
度量处理引擎404可经配置以还处理来自计算资源监视服务的度量整合引擎410的GET请求。如上文所提及,度量映射注册表可包含逻辑分区和测量结果到在每一数据中心内的聚合器子系统402的映射。度量整合引擎可利用此映射来识别聚合器子系统402,所述聚合器子系统具有履行来自客户计算机系统的GET请求所必需的测量结果。至少部分基于映射,度量整合引擎可将请求发送到这些识别出的一个或多个聚合器子系统402中的每一个的度量处理引擎404以获得所需的测量结果。
一旦度量处理引擎404从度量整合引擎接收到GET请求,度量处理引擎404就可确定哪些聚合器数据存储区408具有履行所述请求必需的测量结果。度量处理引擎404可将包含FQMI和时间范围的查询发送到每一聚合器数据存储区408。每一聚合器数据存储区408可利用所提供的信息来识别出可用于履行请求的任何测量结果。如果识别出一个或多个测量结果,那么聚合器数据存储区408可将这些测量结果提供到度量处理引擎404。度量处理引擎404可收集可用于履行GET请求的测量结果,并将收集的测量结果提供到度量整合引擎410以用于进一步处理。
在实施方案中,聚合器数据存储区408经配置以在最旧的保留期已被较晚的保留期替换后从一个或多个存储装置清除到期的测量结果。举例来说,计算资源监视服务可在一个或多个连续的保留期上服务于GET请求。当新保留期开始时,计算资源监视服务可维持多个连续的保留期以用于履行来自客户计算机系统或其它计算资源的GET请求。计算资源监视服务还可维持已变得适合到期但可尚未被清除的较旧保留期的测量结果。当此较旧保留期的测量结果已变得适合到期时,聚合器数据存储区408可清除具有在此较旧保留期内的时间戳的任何测量结果。
如上文所提及,客户计算机系统可在通过使用计算资源监视服务内的一个或多个聚合器子系统进行的聚合和存储之前在内部执行测量结果的分区。此架构可避免对维持以上结合图2和图3描述的一个或多个分区器子系统的计算资源监视服务的需要,因为计算资源监视服务可直接地从客户计算机系统的逻辑分区获得序列化测量结果。相应地,图5示出根据至少一个实施方案的客户计算机系统502将测量结果分区到各种逻辑分区中并将这些测量结果传递到计算资源监视服务的一个或多个聚合器子系统512的环境500的说明性示例。
在环境500中,客户计算机系统502可包含度量摄取引擎504,所述度量摄取引擎可为客户计算机系统502的模块,所述模块经配置以从与客户计算机系统502相关联的计算资源或从客户计算机系统502自身获得测量结果。度量摄取引擎504可执行与上文结合图3所描述的度量摄取引擎类似的操作。举例来说,度量摄取引擎504可访问计算资源监视服务内的度量映射注册表510以确定用于将所获得测量结果分区到一个或多个逻辑分区中以用于存储在一个或多个聚合器子系统512中的方法。度量摄取引擎504可至少部分基于接收到的每一测量结果的FQMI、每一测量结果的时间戳以及如度量映射注册表510通过映射界定的聚合器子系统512的数目来将接收到的测量结果分区到一个或多个逻辑分区中。与以上结合图2描述的过程相反,客户计算机系统502可获得每一测量结果的元数据并利用散列函数来产生测量结果的FQMI。另外,客户计算机系统502可将测量结果变换成序列化格式以用于通过度量摄取引擎504处理。从客户计算机系统502获得的特定测量结果的序列化格式可包含FQMI、测量结果的时间戳、观察的测量单位以及测量结果自身。
一旦度量摄取引擎504已至少部分基于来自度量映射注册表510的映射来将测量结果分区到一个或多个逻辑分区中,度量摄取引擎504就可将来自每一逻辑分区的一个或多个测量结果放置在对应的基于文件的队列508中。类似于图3中说明的基于文件的队列,每一基于文件的队列508可绑定到单一聚合器子系统512。每一基于文件的队列508中的测量结果可至少部分基于测量结果的时间序列来在规律的时间间隔处(例如,每几毫秒、每几秒等)经批处理并异步地传递到每一聚合器子系统512。举例来说,在每一时间间隔处,客户计算机系统502可将包含测量结果的PUT请求发送到至少部分基于映射来选择的一个或多个聚合器子系统512。PUT请求可使用通信协议来发送到这些聚合器子系统512,所述通信协议对于客户计算机系统502和聚合器子系统512两者是相兼容的。如果PUT请求为不成功的,那么通信协议可使得产生指定在逻辑分区内的测量结果的发送已失败的通知。另外,通信协议可使得客户计算机系统502刷新在客户计算机系统502与聚合器子系统512之间的通信信道。这可使得客户计算机系统502能够再次尝试将PUT请求发送到聚合器子系统512。
在每一基于文件的队列508内,测量结果可至少部分基于测量时间戳来进行另外的子分区。这可使得客户计算机系统502能够对测量结果的传递区分优先次序,使得首先将最近的测量结果传递到聚合器子系统512。具有早于最旧保留期的时间戳的任何测量结果可从客户计算机系统502清除或传递到替代的度量监视服务。这可使得度量摄取引擎504能够用通过客户计算机系统502产生或获得的新测量结果继续填充基于文件的队列508。
类似于图3中说明的分区器子系统,客户计算机系统502可另外包含未来观察队列506,所述未来观察队列可为不与任何聚合子系统512相关联的单独的未分区队列。度量摄取引擎504可将具有在未来的时间戳的任何测量结果(例如,具有晚于最新保留期的时间戳的测量结果)传送到未来观察队列506,因为对于将包含具有这些时间戳的测量结果的保留期,度量映射注册表510可不包含逻辑分区到聚合器子系统512的映射。因此,度量摄取引擎504可仅在未来观察队列506中的测量结果的时间戳变成当前且映射可用于产生这些测量结果的逻辑分区并将测量结果从逻辑分区发送到对应的聚合器子系统512时处理这些测量结果。
在替代实施方案中,度量摄取引擎504可将未分区的测量结果提供到计算资源监视服务的任何数目的聚合器子系统512。一个或多个聚合器子系统512在获得未分区测量结果后可访问度量映射注册表510,以至少部分基于测量结果的FQMI和时间戳来确定哪些聚合器子系统512将用于存储未分区测量结果。如果聚合器子系统512至少部分基于来自度量映射注册表510的一个或多个映射来确定未分区测量结果将被存储在另一聚合器子系统的存储器中数据存储区内,那么所述聚合器子系统可将这些未分区测量结果发送到另一聚合器子系统,所述聚合器子系统随后可将测量结果存储在其一个或多个存储器中数据存储区内。
图6示出根据至少一个实施方案的元数据设置有测量结果以实现测量结果的未来存储而不需要另外的元数据传输的环境600的说明性示例。在环境600中,客户计算机系统602可将PUT请求发送到计算资源监视服务以将特定度量的测量结果存储在一个或多个数据中心606的聚合器子系统610内。除将被存储的测量结果外,PUT请求还可包含测量结果的元数据604。此元数据604可包含一个或多个度量属性,所述度量属性可唯一地识别出在计算资源监视服务内的相关联的测量结果。举例来说,元数据604可个别地或组合地指定客户的账号(所述账号与提交PUT请求的客户计算机系统602相关联,或与负责测量结果的产生的另一计算资源相关联)、负责管理计算资源的特定服务(例如,虚拟计算机系统服务、数据库服务等)的名称、测量结果的维度(例如,键/值对)以及用于产生测量结果的计算资源的识别符。
当计算资源监视服务从客户计算机系统602接收测量结果和元数据604时,计算资源监视服务可利用散列函数来产生元数据604的散列,所述元数据的散列可用作待存储的测量结果的FQMI。另外,计算资源监视服务可利用二进制序列化格式来压缩待存储的测量结果。在此二进制序列化格式中,序列化测量结果可包含通过将元数据604散列来产生的FQMI、测量结果的时间戳、测量结果的测量单位以及测量结果自身。一旦计算资源监视服务已将测量结果变换成序列化格式,计算资源监视服务就可将测量结果发送到每一数据中心606内的分区器子系统608。分区器子系统608可至少部分基于接收到的测量结果的FQMI和时间戳,以及在一个或多个保留期上在特定数据中心606内的活动聚合器子系统610的数目(如在逻辑分区到聚合器子系统610的映射中指定),从多个逻辑分区确定逻辑分区以用于测量结果的存储。分区器子系统608可根据从度量映射注册表获得的逻辑分区到聚合器子系统610的映射而将测量结果从与逻辑分区相关联的队列发送到数据中心606内的聚合器子系统610。
在实施方案中,一旦计算资源监视服务已将元数据604散列以产生待存储的测量结果的FQMI,客户计算机系统602就不再需要重复元数据604以用于度量的测量结果的未来提交,只要元数据604尚未到期或客户计算机系统602尚未开始与计算资源监视服务的新会话。举例来说,如果客户计算机系统602在稍后的时间处向计算资源监视服务提交另外的PUT请求,那么客户计算机服务602可提供对应于相同度量的测量结果的FQMI(例如,元数据散列612)而非元数据604。计算资源监视服务可对测量结果和FQMI进行序列化,以预期将测量结果存储在计算资源监视服务的数据存储区内。替代地,如果客户计算机系统602不提供测量结果的FQMI,那么计算资源监视服务可至少部分基于测量结果和度量来识别出FQMI,所述FQMI将至少部分基于度量映射注册表内的度量条目来使用。举例来说,如果PUT请求包含在特定时间序列上的测量结果的持续,那么计算资源监视服务可至少部分基于在所述时间序列上先前获得的测量结果来确定FQMI。这些先前获得的测量结果可已通过针对计算资源监视服务的存储测量结果的先前PUT请求获得。此先前PUT请求可已包含元数据604,从所述元数据产生FQMI。
在任何时间处,客户计算机系统602可提交针对从计算资源监视服务的一个或多个聚合器子系统610检索测量结果的GET请求。GET请求可包含将获得的测量结果的元数据604。计算资源监视服务可将接收到的元数据604散列以产生FQMI,所述FQMI可用于定位正寻求的测量结果。计算资源监视服务可将查询连同FQMI发送到度量整合引擎614以便获得履行GET请求所需的测量结果。响应于查询,度量整合引擎614可访问度量映射注册表以确定履行GET请求所需的测量结果存储在何处。度量整合引擎614可访问度量映射注册表并利用测量结果的FQMI和时间戳来确定哪些聚合器子系统610具有履行GET请求所必需的数据。一旦度量整合引擎614至少部分基于由度量映射注册表提供的信息来从聚合器子系统610确定测量结果所存储在的聚合器数据存储区,度量整合引擎614就可对在每一数据中心606内的聚合器数据存储区进行访问以获得所请求的测量结果。
如上文所提及,计算资源监视服务可使测量结果可用于自动缩放群组的一个或多个计算资源管理器,以使得这些计算资源管理器能够至少部分基于所获得的测量结果来快速地确定另外的计算资源在自动缩放群组内是否是必需的。相应地,图7示出根据至少一个实施方案的测量结果的摄取用于确定是否将执行一个或多个资源的自动缩放的环境700的说明性示例。在此示例中,网络环境700包含计算资源服务提供商704,所述计算资源服务提供商经由网络706与客户端装置706和服务器计算机742进行数据通信。在一个实施方案中,服务器计算机742包括用于实施实例720(例如,计算资源)的一个或多个计算机硬件装置。例如,服务器计算机742可包含用于实施多种计算资源的硬件,所述计算资源例如存储装置、虚拟化存储装置、联网装置及类似者。另外,所实施的计算资源可通过分布式计算资源服务提供商704的客户以可编程方式和远程地管理。
服务器计算机742包含多个计算机系统装置,所述装置各自能够执行通过计算资源服务提供商704产生的一个或多个实例720。在一个实施方案中,服务器计算机742中的每一个包含处理器、数据存储区、输入/输出总线和/或所属领域中已知的用于执行实例720的任何其它组件。另外,实例720可为虚拟机实例。如所属领域中已知,虚拟机实例为在如物理机器等执行程序的机器(即,计算机)上的软件实施的实例。例如,服务器计算机742中的每一个可经配置以执行能够实施实例720的实例管理器718。例如,实例管理器718可为管理程序、虚拟化层或经配置以实现多个实例720在单一服务器计算机742上的执行的另一类型的程序。如以上所论述,实例720中的每一个可经配置以执行应用的全部或一部分。网络环境700可跨越一个或多个数据中心,其中每一数据中心可在地理上彼此不同。另外,图7中示出的网络环境700可为通过计算资源服务提供商704采用的若干实施方案中的一个。
在一个实施方案中,计算资源服务提供商704包含负载均衡器数据库710、实例服务712、放置服务726、自动缩放服务730、维护服务732、计算资源监视服务734、负载均衡服务736和/或其它组件。负载均衡器数据库710可包含负载均衡器数据742。例如,负载均衡器数据库710可包含与自动缩放群组702相关联的负载均衡器740的一个或多个记录。负载均衡器数据746的记录中的每一个可对应于网络环境700的负载均衡器740。
实例服务712至少部分基于由客户提供的偏好的集合来实例化实例720。在一个实施方案中,实例服务712从客户端装置706上的客户接收针对产生一个或多个实例732的请求716,并可选地将所产生的实例720指配给自动缩放群组702。另外,从客户端装置706上的客户接收到的请求716还可指示开始所请求的实例720的执行的时间。响应于接收到请求,实例服务712实例化实例720。在各种实施方案中,自动缩放服务730接收请求并将命令发送到实例服务712以实例化实例720,使得例如通过使自动缩放群组702元数据与实例720相关联而使实例与自动缩放群组相关联。在一个实施方案中,实例服务712可将实例放置成备用状态或将实例与自动缩放群组分开,以响应于来自客户端装置706和/或自动缩放服务730的请求。例如,自动缩放服务730可将请求发送到实例服务712以根据请求716来去除与同自动缩放群组702分开的实例720相关联的自动缩放群组702元数据。此外,自动缩放服务730可从负载均衡器740重新指配分开的示例。
客户可与计算资源服务提供商704交互(经由适当配置且认证的API调用)以供应、操作并管理与自动缩放群组702相关联的实例720,所述实例在服务器计算机742上实例化且通过计算资源服务提供商704操作。另外,客户可产生一个或多个自动缩放群组702,且自动缩放群组702可为实例720的逻辑集合。此外,实例720可被指配给自动缩放群组702或可为自动缩放群组702的成员。自动缩放服务730可允许客户与各种自动缩放群组702交互并管理所述自动缩放群组。例如,客户可通过自动缩放服务730来设定自动缩放群组702的最大或最小容量。自动缩放群组702随后可管理指配给自动缩放群组的实例720以便维持由客户提供的设置。在各种实施方案中,客户可通过管理控制台来产生并管理自动缩放群组702,所述管理控制台如上文所描述由计算资源服务提供商704提供。
管理控制台可作为网页暴露给客户;通过与所述网页交互(例如,通过浏览器应用),客户可使得产生API调用。所产生的API调用可使得计算资源服务提供商704或其组件执行通过客户指示的各种操作。一旦客户已产生自动缩放群组702,客户就可通过提交请求716来将一个或多个负载均衡器指配到自动缩放群组702。在此情况下,请求716可通过自动缩放服务730或计算资源服务提供商304的其它组件处理。自动缩放群组702的实例720可用于各种目的,例如用作支持网站的服务器、操作商业应用或一般地用作客户的计算能力。实例720的其它应用可用以支持数据库应用、电子商务应用、商业应用和/或其它应用。另外,负载均衡器740可将流量分布到自动缩放群组702的各种实例720以实现用于以上描述的各种目的的实例的操作并防止自动缩放群组702的实例720过载。尽管实例服务712在图7中示出,但任何其它计算机系统或计算机系统服务可被计算资源服务提供商702利用,例如不采用虚拟化或实例化而是在专用或共享计算机/服务器和/或其它物理装置上供应计算资源的计算机系统或计算机系统服务。
放置服务726将实例720供应到服务器计算机742中的一个或多个。在一个实施方案中,放置服务726至少部分基于所指示的新实例720的自动缩放群组702来确定供应新实例720的服务器计算机742。例如,放置服务726可识别出具有用以执行实例720的合适容量的一项或多项服务器计算机742。为此目的,放置服务726从存储在数据存储区中的资源数据710来确定每一服务器计算机742的容量并相应地供应实例730,如将描述。自动缩放服务730至少部分基于通过请求实例720的客户界定的情况来自动地上下缩放一系列先前请求的实例720的容量。例如,自动缩放服务730可在需求低谷期间减少分配给客户的实例720的数目,并在需求高峰期间增加分配给客户的实例720的数目。
在一个实施方案中,自动缩放服务730在低使用率的时段和/或空闲时间期间放出所请求的实例720的子集。例如,自动缩放服务730可确定通过客户请求的实例720的量为冗余的和/或过多的。作为响应,自动缩放服务730可终止分配给客户的某一数目的实例320,使得分配给客户的实例720的剩余数目不是冗余的和/或过多的。在另一实施方案中,自动缩放服务730可在使用率不超过预定阈值时放出所请求的实例730的子集。类似地,自动缩放服务730在高使用率的时段期间增加实例320的量。在一个实施方案中,自动缩放服务730可在使用率超过预定阈值时增加实例720的量。
维护服务732调度服务器计算机742的维护、软件更新和/或固件更新。在一个实施方案中,维护服务732至少部分基于服务器计算机742的可用容量来在适合的时间处调度维护和软件更新。例如,维护服务732可在相应的服务器计算机742具有计划可用性的时间处调度维护和软件更新。在一个实施方案中,维护服务732可在维护服务732确定服务器计算机742不托管任何实例720时对服务器计算机742打补丁并重启所述服务器计算机。另外,维护服务732可对与实例742相关联的虚拟机打补丁,在必要时,在实例化与相应的虚拟机相关联的新图像之前。例如,维护服务732可至少部分基于实例720的健康状态来调度机器图像的补丁。在一个实施方案中,直到完成调度的维护时,才可在服务器计算机742上供应另外的实例。
维护服务732还可周期性地或不定期地检查实例720的健康状态,所述实例包含指配给自动缩放群组702和/或负载均衡器740的实例。健康检查可包含确定实例720的各种组件的负载、利用情况以及操作,所述组件例如中央处理单元、存储器、联网接口、操作系统、应用以及实例720的其它组件。在各种实施方案中,当维护服务732至少部分基于健康检查来确定实例720不健康时,维护服务732或服务提供商704的其它组件,例如自动缩放服务730,可开始用以从自动缩放群组702去除不健康的实例的工作流。另外,如果维护服务732确定先前不健康的实例720已返回到健康状态,那么维护服务732或服务提供商704的其它组件,例如自动缩放服务730,可将实例720移动到所述服务中或将实例720附接到自动缩放群组702。此外,如果指配给负载均衡器740的实例722返回健康状态,那么自动缩放群组702可将负载均衡器740的状态更新为在服务中,如上文所描述。
计算资源监视服务734可负责收集对应于实例720的资源数据。通过计算资源监视服务734获得的资源数据可指示实例720的各种组件的利用情况,所述组件例如中央处理单元、存储器、联网接口、操作系统、应用以及实例720的其它组件。此信息可用于多种不同目的,例如,确定是将资源分配给自动缩放群组702还是解除资源到所述自动缩放群组的分配。另外,信息可被维护服务732用于确定实例720和/或服务器计算机742的健康。计算资源监视服务734可获得并聚合指配给自动缩放群组702的所有实例720的利用信息。
在实施方案中,计算资源监视服务734从自动缩放群组702的实例720的一个或多个负载均衡器740获得针对将一个或多个实例720的测量结果存储在计算资源监视服务734的一个或多个存储器中数据存储区内的一个或多个PUT请求。每一PUT请求可包含每一测量结果的元数据,指定测量结果的度量属性。通过前端服务器,计算资源监视服务734可从负载均衡器740获得测量结果和元数据。前端服务器可利用元数据和散列函数来产生将存储在计算资源监视服务734的聚合器数据存储区内的测量结果的FQMI。另外,前端服务器可将测量结果变换成序列化格式以用于向服务734的一个或多个数据中心内的分区器子系统发布。前端服务器可将序列化测量结果从实例720发送到分区器子系统。
分区器子系统可至少部分基于测量结果的FQMI和时间戳来确定多个逻辑分区中的哪一个逻辑分区将用于存储测量结果。分区器子系统可访问度量映射注册表,所述度量映射注册表可提供逻辑分区到在一个或多个保留期上活动的聚合器子系统的映射。这可使得分区器子系统能够确定测量结果将存储在计算资源监视服务734的哪一个聚合器子系统中以用于处理GET请求。分区器子系统可将测量结果存储在与选定逻辑分区相关联的基于文件的队列内,所述逻辑分区绑定到单一聚合器子系统。
一旦计算资源监视服务734的聚合器子系统从分区器子系统获得测量结果,聚合器子系统就可确定在相同聚合时段上相同度量的测量结果是否存储在聚合器数据存储区内。如果是,那么聚合器数据存储区可对所存储的测量结果和来自分区器子系统的测量结果进行反序列化以便聚合特定度量的测量结果。聚合器数据存储区可获得测量结果的两个集合的聚合结果,并使用以上描述的二进制序列化格式来对聚合的测量结果进行序列化。一旦聚合的测量结果已经序列化,聚合器数据存储区就可将这些测量结果存储在数据存储区的一个或多个存储装置内,并向度量处理引擎404发送最晚的测量结果已被成功存储的通知。替代地,如果测量结果第一次已在聚合时段上被观察,那么测量结果可简单地存储在聚合器数据存储区内而不需要反序列化。
在实施方案中,计算资源监视服务734的前端服务器另外经配置以在测量结果已被聚合后,在特定时间段已经过之后,和/或响应于触发事件,例如特定度量的测量结果中的尖峰,将各种度量的测量结果提供到自动缩放群组702的一个或多个实例管理器718。度量映射注册表可维持自动缩放群组702的实例720的一个或多个条目,所述条目可针对每一保留期指定在计算资源监视服务734的各种数据中心内的聚合器数据存储区,所述聚合器数据存储区包含这些实例720的测量结果。另外,计算资源监视服务734的度量整合引擎可经配置以周期性地访问度量映射注册表以识别包含这些测量结果的这些聚合器数据存储区。这可使得度量整合引擎能够获得这些实例720的测量结果并将测量结果提供到前端服务器。前端服务器可将测量结果发送到自动缩放群组702的一个或多个实例管理器718以使得实例管理器718能够相应地自动缩放实例720。在一些情况中,一个或多个实例管理器718可替代地将GET请求发送到计算资源监视服务734,所述计算资源监视服务可通过执行以上描述的过程来履行GET请求以获得所请求的一个或多个实例720的测量结果。
在实施方案中,当自动缩放群组702的一个或多个实例管理器718从前端服务器获得测量结果时,一个或多个实例管理器718可确定是否执行自动缩放群组702的一个或多个实例720中的任何实例的修改。举例来说,至少部分基于所获得的特定实例720的测量结果,一个或多个实例管理器718可改变实例类型以解决通过所获得测量结果突出显示的任何问题。例如,如果一个或多个实例管理器718确定至少部分基于测量结果特定的实例720需要另外的处理能力和存储器,那么一个或多个实例管理器718可供应提供更大的处理能力和存储器的实例,由此使得一个或多个实例管理器718能够将实例资产从原始实例传送到此新供应的实例。
一个或多个实例管理器718可在在特定时间段上的测量结果的评估已经通过之后执行一个或多个实例720的修改。举例来说,如果所获得的特定保留期的测量结果指示需要自动缩放自动缩放群组702(例如,添加实例720、去除实例720、修改现有实例720等),那么一个或多个实例管理器718可等待自动缩放群组702的修改,直到所述一个或多个实例管理器获得并评估在另外的保留期上的测量结果。例如,如果在随后的保留期上的测量结果指示不必执行自动缩放群组702的任何修改,那么一个或多个实例管理器718可不执行这些修改,因为指示需要自动缩放自动缩放群组702的测量结果可被视为失常。
负载均衡服务736可被提供到计算资源服务提供商704的客户以便促进通过客户的实例720进行的请求处理。在各种实施方案中,实例720可被指配给自动缩放群组702,且负载均衡器服务736可将流量分布到指配给自动缩放群组702的实例722。例如,客户可使用实例720来操作网站,所述实例使用计算资源服务提供商704的资源来指配给自动缩放群组702。另外,网站可经由网络706从多个其它客户接收请求。计算资源服务提供商704可配置负载均衡服务736的负载均衡器以将请求引导至执行网站的自动缩放群组702的实例720,其方式为使得通过处理所述请求而产生的负载在执行网站的自动缩放群组702的实例720当中分布。负载均衡服务736可为计算机系统或虚拟计算机系统,所述计算机系统经配置以将请求分布到指配给负载均衡器的实例720,以便优化资源利用情况和/或避免使特定的服务器计算机742过载。例如,负载均衡器可包含连接到服务器架或以其它方式包含在数据中心中的物理硬件。在另一示例中,负载均衡器可包含由服务器计算机742支持的一个或多个虚拟机。
如上文所提及,计算资源监视服务可包含一个或多个分区器子系统,所述分区器子系统可用作用于各种度量的测量结果的发布的入口点。分区器子系统可从前端服务器获得测量结果,并至少部分基于每一测量结果的FQMI和时间戳以及如通过度量映射注册表提供的聚合器子系统的数目来将这些测量结果划分到逻辑分区中。分区器子系统可至少部分基于来自度量映射注册表的映射来将这些测量结果提供到各种聚合器子系统。相应地,图8示出根据至少一个实施方案的用于对度量的测量结果分区以用于传递到一个或多个聚合器子系统的过程800的说明性示例。过程800可通过计算资源监视服务的前端服务器执行,所述前端服务器可在将测量结果提供到计算资源监视服务的前述分区器子系统之前,从各种计算资源和/或客户计算机系统以及所执行的操作获得测量结果,所述分区器子系统可执行过程800的各种操作。
在任何点处,前端服务器可从客户计算机系统或其它计算资源接收802PUT API调用以在聚合器子系统内发布测量结果以用于将测量结果在存储器中存储在聚合器数据存储区内。PUT API调用可包含待存储的测量结果以及特定测量结果的元数据。元数据可指定测量结果的一个或多个度量属性。举例来说,元数据可通过客户账号、命名空间(例如,计算资源的相关联服务)、测量结果的维度(例如,键/值对)、测量结果自身的名称及类似者的组合来唯一地识别出测量结果。因此,前端服务器可从PUT API调用获得804将在存储器中存储在计算资源监视服务的聚合器数据存储区内的测量结果。
一旦前端服务器已从PUT API调用获得测量结果,前端服务器就可利用散列函数和所提供的元数据来产生测量结果的FQMI。此FQMI可包含多字节散列,其中所述散列的一部分可用于至少部分基于在度量映射注册表内的映射来确定每一测量结果度量的逻辑分区,而所述散列的另一部分可用于曾放置在对应的逻辑分区内的测量结果的唯一识别。前端服务器可另外将测量结果变换成二进制序列化格式。呈此格式的测量结果可包含FQMI、测量结果的时间戳、测量结果的测量单位以及测量结果自身。前端服务器可将此序列化测量结果发送到在计算资源监视服务的每一数据中心内的分区器子系统以用于测量结果的冗余存储。每一数据中心内的分区器子系统可通过分区器负载均衡器的使用来选择。
当分区器子系统从前端服务器接收序列化测量结果时,分区器子系统可确定806测量结果的FQMI和时间戳。分区器子系统可访问808度量映射注册表以获得逻辑分区到各种聚合器子系统的映射以确定哪一个逻辑分区将用于放置测量结果并用于将测量结果传递到聚合器子系统。举例来说,分区器子系统可利用来自序列化测量结果的FQMI和时间戳来至少部分基于映射,识别将测量结果放置在哪一个逻辑分区中。
在实施方案中,分区器子系统利用时间戳和映射来确定810所述测量结果是否在迟于最晚保留期的时间段上,如在映射中指定。如果测量结果包含未来时间戳(例如,时间戳针对迟于最晚的保留期的时间),那么分区器子系统可将测量结果排812在单独的未分区队列中,其中测量结果可保持直到所述测量结果的时间戳在稍后的时间处被当前的保留期覆盖。当保留期更新时,分区器子系统可从此队列获得测量结果并确定测量结果的时间戳是否被当前保留期覆盖。如果否,那么测量结果可保持在队列中。
如果测量结果的时间戳在当前保留期上,那么分区器子系统可将测量结果放置在分区器子系统的多个逻辑分区中的逻辑分区内,如至少部分基于时间戳、FQMI以及映射来确定。每一逻辑分区可与特定队列相关联,所述特定队列可用于将测量结果从分区器子系统发送到对应的聚合器子系统,如通过使用映射来确定。因此,当测量结果置于逻辑分区中时,分区器子系统可将测量结果移动814到绑定到对应的聚合器子系统的相关联的基于文件的队列中。此队列内的测量结果可至少部分基于每一测量结果的时间戳来分区,使得最近测量结果的传递可首先完成。因此,基于测量结果的此分区,分区器子系统可异步地将测量结果从队列传递816到对应的聚合器子系统以用于测量结果的存储器中存储。
如上文所提及,分区器子系统可将序列化测量结果发送到一个或多个聚合器子系统,所述聚合器子系统经配置以实时地聚合度量测量结果并供应多种度量的时间序列测量结果。聚合器子系统可包含一个或多个计算机系统,所述计算机系统共同地经配置以执行前述任务,将测量结果存储在一个或多个聚合器数据存储区内并使这些测量结果可用于履行来自客户计算机系统和其它实体的GET请求。相应地,图9示出根据至少一个实施方案的用于聚合来自一个或多个分区器子系统的测量结果与来自计算资源监视服务的一个或多个数据存储区的测量结果的过程900的说明性示例。过程900可通过计算资源监视服务的任何聚合器子系统执行,所述聚合器子系统可经配置以处理来自分区器子系统的测量结果并将测量结果存储在一个或多个存储器中数据存储区内。
在保留期期间的任何点处,聚合器子系统可从分区器子系统接收902新的序列化测量结果。如上文结合图8所描述,分区器子系统可包含一个或多个基于文件的队列,所述基于文件的队列可经配置以异步地将数据发送到数据中心内的一个或多个聚合器子系统。每一队列可至少部分基于包含在度量映射注册表内的针对给定保留期的映射来与单一聚合器子系统相关联。至少部分基于接收到的测量结果的FQMI和时间戳,聚合器子系统可识别出特定的存储器中数据存储区以用于存储接收到的测量结果。
一旦聚合器子系统已识别出存储器中数据存储区以用于存储所获得测量结果,聚合器子系统就可确定904聚合器子系统是否是在聚合时段上第一次遇到特定度量的测量结果。如果这是聚合器子系统在聚合时段期间第一次观察到此度量的测量结果,那么聚合器子系统可将序列化测量结果存储912在识别出的存储器中数据存储区内。然而,如果聚合器子系统确定在聚合时段上度量的其它测量结果被存储在所识别的存储器中数据存储区内,那么聚合器子系统可从存储器中数据存储区获得906这些其它序列化测量结果。
聚合器子系统可对来自分区器子系统的最近获得序列化测量结果和来自存储器中数据存储区的其它序列化测量结果进行反序列化908以用于聚合测量结果。一旦聚合器子系统已对最近获得的序列化测量结果和来自存储器中数据存储区的测量结果进行反序列化,聚合器子系统就可聚合910来自分区器子系统的最近获得测量结果与先前存储在存储器中数据存储区内的度量的其它测量结果。此聚合可包含将聚合的测量结果序列化成以上描述的二进制序列化格式。一旦聚合器子系统已聚合测量结果并对其进行序列化,聚合器子系统就可将序列化测量结果存储912在存储器中数据存储区内。
如上文所提及,计算资源监视服务的前端服务器结合服务的度量整合引擎,可处理并履行来自客户计算机系统和/或其它计算资源的GET请求。举例来说,响应于GET请求,度量整合引擎可获得履行请求所必需的来自如在度量映射注册表内指定的一个或多个聚合器数据存储区的测量结果,并收集这些测量结果以用于传递到请求实体。相应地,图10示出根据至少一个实施方案的用于响应于GET应用程序设计接口调用而从一个或多个聚合器数据存储区检索一个或多个测量结果的过程1000的说明性示例。过程1000可通过前端服务器和度量整合引擎执行,所述前端服务器可从各种实体获得GET请求,所述度量整合引擎可获得测量结果并收集这些测量结果以用于传递到请求实体。
在任何点处,计算资源监视服务的前端服务器可接收1002GET API调用以从计算资源监视服务获得一个或多个测量结果。GET API调用可包含待获得的测量结果的元数据。前端服务器可利用散列函数和元数据来产生将从计算资源监视服务的一个或多个聚合器数据存储区获得的测量结果的一个或多个FQMI。前端服务器可访问度量映射注册表并利用一个或多个FQMI来确定1004所请求的测量结果中的每一个的位置。
一旦前端服务器已获得所请求的测量结果中的每一个的位置,前端服务器就可确定1006所请求的测量结果中的任何测量结果是否由于测量结果的到期而不再存储在计算资源监视服务的一个或多个聚合器数据存储区内。如果确定一个或多个测量结果已到期,那么前端服务器可向请求实体指示1008这些一个或多个测量结果不再可从一个或多个聚合器数据存储区获得。如果这些到期的测量结果已被移动到替代的数据存储区,例如存档数据存储区,那么前端服务器可将针对检索到期测量结果的请求发送到存档数据存储区的计算机系统。
一旦前端服务器已确定任何未到期的测量结果在一个或多个聚合器数据存储区内的位置,前端服务器就可使得度量整合引擎对在度量映射注册表内指定的一个或多个聚合器数据存储区进行访问1010,以从聚合器数据存储区获得1012一个或多个测量结果,所述测量结果是履行GET请求所必需的。度量整合引擎可聚合1014并收集来自一个或多个聚合器数据存储区的测量结果并对测量结果进行反序列化以便履行GET请求。在实施方案中,如果测量结果冗余地存储在计算资源监视服务的超过一个数据中心内,那么度量整合引擎获得对GET请求的多个响应。
如果数据中心的所收集的测量结果为不一致的,那么度量整合引擎可利用一个或多个冲突解决规则来确定将响应于GET请求而提供哪些测量结果。举例来说,度量整合引擎可从各种数据中心选择具有最高样本计数的响应。一旦度量整合引擎已解决数据中心当中的任何冲突(如果存在),度量整合引擎就可将测量结果提供到前端服务器。这可使得前端服务器能够通过将测量结果提供到请求实体来履行GET请求。
如上文所提及,将测量结果提供到计算资源监视服务的客户计算机系统或其它计算资源可在通过使用计算资源监视服务的一个或多个聚合器子系统进行的聚合和存储之前在内部执行测量结果的分区。此架构可避免对维持以上结合图2和图3描述的一个或多个分区器子系统或分区器子系统的负载均衡器的计算资源监视服务的需要,因为计算资源监视服务可直接地从客户计算机系统或其它计算资源的逻辑分区获得序列化测量结果。相应地,图11示出根据至少一个实施方案的用于对测量结果分区以传输到计算资源监视服务以用于发布测量结果的过程1100的说明性示例。过程1100可通过客户计算机系统或其它计算资源执行,所述客户计算机系统或其它计算资源可经配置以在内部获得测量结果并对测量结果分区以传递到计算资源监视服务的聚合器子系统以用于在存储器中存储。
客户计算机系统或其它计算资源可包含一个或多个监视代理,所述监视代理经配置以监视客户计算机系统或计算资源的健康和其它度量。这些监视代理可记录随时间变化的各种度量的各种测量结果,并将这些测量结果提供到客户计算机系统或计算资源的前端模块。因此,客户计算机系统可从监视代理获得1102测量结果以用于存储在存储器中数据存储区内。另外,客户计算机系统可获得与所获得测量结果相关联的元数据。类似于以上描述的过程800,客户计算机系统服务器可利用散列函数和所提供的元数据来确定1104测量结果的FQMI。此FQMI可包含多字节散列,其中所述散列的一部分可用于至少部分基于在计算资源监视服务的度量映射注册表内的映射来确定每一测量结果度量的逻辑分区,而所述散列的另一部分可用于曾放置在对应的逻辑分区内的测量结果的唯一识别。客户计算机系统可另外将测量结果变换成二进制序列化格式。
客户计算机系统可访问1106计算资源监视服务的度量映射注册表以获得逻辑分区到计算资源监视服务内的聚合器子系统的映射。客户计算机系统可利用映射以及测量结果的FQMI和时间戳来识别在一个或多个保留期上的活动聚合器子系统。这可使得客户计算机系统能够使每一逻辑分区与在计算资源监视服务内的对应的聚合器子系统相关联。
在实施方案中,客户计算机系统利用时间戳和映射来确定1108所述测量结果是否在迟于最晚保留期的时间段上,如在映射中指定。如果测量结果包含未来时间戳(例如,时间戳针对迟于最晚的保留期的时间),那么客户计算机系统可将测量结果排1110在单独的未分区队列中,其中测量结果可保持直到所述测量结果的时间戳在稍后的时间处被当前的保留期覆盖。当保留期更新时,客户计算机系统可从此队列获得测量结果并确定测量结果的时间戳是否被当前保留期覆盖。如果否,那么测量结果可保持在队列中。
如果测量结果的时间戳在当前保留期上,那么客户计算机系统可将测量结果放置在分区器子系统的多个逻辑分区中的逻辑分区内,如至少部分基于时间戳、FQMI以及映射来确定。每一逻辑分区可与特定队列相关联,如上文所描述。因此,当测量结果置于逻辑分区中时,客户计算机系统可将测量结果排1112在绑定到对应的聚合器子系统的相关联的基于文件的队列内。此队列内的测量结果可至少部分基于每一测量结果的时间戳来分区,使得最近测量结果的传递可首先完成。因此,基于测量结果的此分区,客户计算机系统可将包含测量结果的一个或多个PUT API调用发送1114到计算资源监视服务内的对应的聚合器子系统。
在实施方案中,到聚合器子系统的PUT API调用通过使用通信协议来传输,所述通信协议可指示PUT API调用的传递是否成功完成。因此,通过使用此协议,客户计算机系统可确定1106PUT API调用以及因此测量结果的传递是否成功。如果测量结果的传递不成功,那么客户计算机系统可刷新在客户计算机系统与聚合器子系统之间的通信信道,并将包含测量结果的一个或多个PUT API调用发送1114到计算资源监视服务内的对应聚合器子系统。否则,如果传递成功,那么客户计算机系统可接收1116测量结果的成功传递和在聚合器子系统内的聚合的确认。
如上文所提及,一旦计算资源监视服务已将元数据散列以产生待存储的测量结果的FQMI,客户计算机系统就可不再需要重复元数据以用于特定度量的测量结果的未来提交,只要元数据尚未到期或客户计算机系统尚未开始与计算资源监视服务的新会话。举例来说,当客户计算机系统将另外的测量结果提供到计算资源监视服务时,客户计算机系统可提供对应于相同度量的测量结果的FQMI而非元数据。计算资源监视服务可对测量结果和FQMI进行序列化,以预期将各种测量结果存储在计算资源监视服务的存储器中数据存储区内。相应地,图12示出根据至少一个实施方案的用于至少部分基于元数据散列来将测量结果存储在一个或多个聚合器数据存储区中的过程1200的说明性示例。过程1200可通过前述计算资源监视服务执行,所述计算资源监视服务可获得针对存储测量结果的请求,所述请求可包含测量结果的元数据或每一测量结果的FQMI。
在任何点处,计算资源监视服务可接收1202PUT API调用以在聚合器数据存储区内发布测量结果。此PUT API调用可包含待存储的测量结果以及测量结果的元数据或测量结果的FQMI。因此,通过PUT API调用,计算资源监视服务可获得1204将存储在聚合器数据存储区内的测量结果。计算资源监视服务可另外确定1206PUT API调用是否包含待存储的测量结果的元数据。举例来说,元数据可包含一个或多个度量属性,所述度量属性可唯一地识别出在计算资源监视服务内的相关联的测量结果和度量。例如,元数据可个别地或组合地指定客户的账号(所述账号与提交PUT请求的客户计算机系统相关联,或与负责测量结果的产生的另一计算资源相关联)、负责管理计算资源的特定服务(例如,虚拟计算机系统服务、数据库服务等)的名称、测量结果的维度(例如,键/值对)以及用于产生测量结果的计算资源的识别符。
如果PUT API调用包含测量结果的元数据,那么计算资源监视服务可利用散列函数和所提供的元数据来产生1208元数据散列,所述元数据散列可包含测量结果的FQMI。此FQMI可包含多字节散列,其中所述散列的一部分可用于至少部分基于在计算资源监视服务的度量映射注册表内的映射来确定每一测量结果度量的逻辑分区,而所述散列的另一部分可用于曾放置在对应的逻辑分区内的测量结果的唯一识别。如果PUT API调用不包含测量结果的元数据,那么计算资源监视服务可确定1210PUT API调用是否包含测量结果的元数据散列(例如,FQMI)。如果PUT API调用不包含测量结果的元数据或FQMI,那么计算资源监视服务可拒绝1212针对存储测量结果的请求。替代地,计算资源监视服务可仍处理测量结果,但测量结果可不可由客户计算机系统或其它计算资源获得,因为测量结果可由于丢失的元数据和FQMI而不能恰当地编索引。
一旦计算资源监视服务已获得测量结果的FQMI,计算资源监视服务就可利用1214FQMI来识别测量结果的存储器中存储目的地。举例来说,计算资源监视服务可访问度量映射注册表以获得逻辑分区到各种聚合器子系统的映射以确定哪一个逻辑分区将用于放置测量结果并用于将测量结果传递到聚合器子系统。计算资源监视服务可利用来自序列化测量结果的FQMI和时间戳来至少部分基于映射,识别将测量结果放置在哪一个逻辑分区中。这可使得计算资源监视服务能够将测量结果存储1216在适合的存储目的地中,所述存储目的地可包含与逻辑分区相关联的聚合器子系统,其中测量结果至少部分基于测量结果的FQMI和时间戳而放置在所述逻辑分区中。
如上文所提及,计算资源监视服务可从一个或多个实体获得针对从存储器中数据存储区检索测量结果的各种GET请求。这些GET请求可包含待获得的测量结果的元数据和这些测量结果的时间戳。这可使得计算资源监视服务能够响应于GET请求而确定测量结果的存储位置并将这些测量结果提供到请求实体。相应地,图13示出根据至少一个实施方案的用于至少部分基于包含在针对获得测量结果的请求内的元数据来从一个或多个聚合器数据存储区检索测量结果的过程1300的说明性示例。过程1300可通过前述计算资源监视服务执行。
在任何点处,计算资源监视服务可接收1302GET API调用以从计算资源监视服务获得一个或多个测量结果。一旦计算资源监视服务接收到GET API调用,计算资源监视服务就可确定1304GET API调用是否包含待检索的测量结果的元数据。如果GET API调用不包含待检索的测量结果的元数据,那么计算资源监视服务可拒绝1306请求。然而,如果GET API调用确实包含待获得的测量结果的元数据,那么计算资源监视服务可利用散列函数和元数据来产生1308将从计算资源监视服务的一个或多个聚合器数据存储区获得的测量结果的一个或多个FQMI(例如,元数据散列)。
一旦计算资源监视服务产生待获得的测量结果的一个或多个FQMI,计算资源监视服务就可访问度量映射注册表并利用1310所产生的一个或多个FQMI来识别可存储测量结果的任何存储器中存储位置(例如,聚合器数据存储区)。举例来说,计算资源监视服务可从度量映射注册表获得测量结果到聚合器数据存储区的映射,并利用FQMI来确定1312可包含所请求的测量结果的聚合器数据存储区的位置。如果计算资源监视服务不能够识别所请求的测量结果的任何存储器中存储位置(例如,测量结果已到期等),那么计算资源监视服务可拒绝1306请求。
如果计算资源监视服务能够识别所请求的测量结果的一个或多个存储器中存储位置,那么计算资源监视服务可从所识别的位置检索1314所请求的测量结果并收集1316测量结果以用于传递到请求实体。举例来说,计算资源监视服务可从来自每一数据中心的各种聚合器子系统获得测量结果,测量结果可已冗余地存储在所述数据中心中。如果来自一个或多个数据中心的所获得的测量结果不相同,那么计算资源监视服务可利用一个或多个冲突解决规则来确定对GET API调用的适合的响应。举例来说,计算资源监视服务可从各种数据中心选择具有最高样本计数的响应。计算资源监视服务可以呈反序列化格式的经收集测量结果的形式将响应提供1318到GET请求,所述反序列化格式可被请求实体用于其自己的目的。
图14说明根据各种实施方案的用于实施各方面的示例环境1400的方面。如应了解,尽管出于说明的目的使用基于web的环境,但在适合时可使用不同的环境来实施各种实施方案。所述环境包含电子客户端装置1402,所述电子客户端装置可包含任何适合的装置,所述装置可用于经由适合的网络1404发送和/或接收请求、消息或信息,且在一些实施方案中,将信息传送回到装置的用户。此类客户端装置的示例包含个人计算机、手机、手持式消息传送装置、膝上型计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器及类似者。网络可包含任何适合的网络,包含内联网、因特网、蜂窝网络、局域网、卫星网络或任何其它此类网络和/或其组合。用于此系统的组合可至少部分取决于所选择的网络和/或环境的类型。用于经由此网络通信的协议和组件是众所周知的且将不在本文中详细论述。经由网络的通信可通过有线或无线连接和其组合实现。在此示例中,网络包含因特网,因为环境包含用于接收请求并响应于所述请求而提供内容的web服务器1406,但对于其它网络,可使用用于类似目的的替代装置,如所属领域的技术人员将清楚。
说明性环境包含至少一个应用服务器1408和数据存储区1410。应理解,可存在若干个应用服务器、层或其它元件、过程或组件,所述应用服务器、层或其它元件、过程或组件可被链接或以其它方式配置,所述应用服务器、层或其它元件、过程或组件可交互以执行任务,例如从适合的数据存储区获得数据。如本文中所使用,服务器可以各种方式实施,例如硬件装置或虚拟计算机系统。在一些上下文中,服务器可指代在计算机系统上执行的编程模块。如本文中所使用,除非另外陈述或通过上下文清楚,否则术语“数据存储区”是指能够存储、访问并检索数据的任何装置或装置的组合,所述装置或装置的组合可包含在任何标准、分布式、虚拟或群集的环境中的数据服务器、数据库、数据存储装置以及数据存储介质的任何组合和任何数目个数据服务器、数据库、数据存储装置以及数据存储介质。应用服务器可包含任何适合的硬件、软件以及固件,所述硬件、软件以及固件用于按需要与数据存储区集成以执行客户端装置的一个或多个应用的方面,处理应用的数据访问和业务逻辑中的一些或全部。应用服务器可与数据存储区协作而提供访问控制服务,且能够产生包含但不限于以下各项的内容:文本、图形、音频、视频和/或可用于提供给用户的其它内容,所述内容可通过web服务器以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、层叠样式表(“CSS”)或另一适合的客户端侧结构化语言的形式提供给用户。传送到客户端装置的内容可通过客户端装置处理以一个或多个形式提供内容,所述形式包含但不限于,用户可以听觉方式、以视觉方式和/或通过包含触摸、品尝和/或闻的其它感觉来感知的形式。所有请求和响应的处理,以及在客户端装置1402与应用服务器1408之间的内容的传递可通过web服务器使用以下各项来处理:PHP:超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML或在此示例中另一适合的服务器侧结构化语言。应理解,web和应用服务器不是必要的且仅为示例组件,因为本文中所论述的结构化代码可在任何适合的装置或如本文中在其它地方论述的托管机器上执行。另外,除非另外从上下文清楚,否则在本文中描述为通过单一装置执行的操作可通过多个装置共同地执行,所述多个装置可形成分布式和/或虚拟系统。
数据存储区1410可包含若干单独的数据表、数据库、数据文档、动态数据存储方案和/或其它数据存储机制,以及用于存储涉及本公开的特定方面的数据的介质。例如,所说明的数据存储区可包含用于存储生产数据1412和用户信息1416的机制,所述生产数据和用户信息可用于提供生产侧的内容。数据存储区还示出为包含用于存储日志数据1414的机制,所述日志数据可用于报告、分析或其它此类目的。应理解,可存在可需要被存储在数据存储区中的许多其它方面,例如页面图像信息和访问权利信息,所述其它方面可在适合时用以上列出的机制中的任何机制存储或用另外的机制存储在数据存储区1410中。数据存储区1410通过与其相关联的逻辑可用于从应用服务器1408接收指令,并响应于所述指令而获得、更新或以其它方式处理数据。应用服务器1408可响应于接收到的指令而提供静态、动态或静态和动态数据的组合。动态数据,例如在web日志(博客)、购物应用、新闻服务以及其它此类应用中使用的数据,可通过如本文中描述的服务器侧结构化语言产生,或可通过在应用服务器上操作或在应用服务器的控制下操作的内容管理系统(“CMS”)提供。在一个示例中,通过由用户操作的装置,用户可提交某一类型的项目的搜索请求。在此情况下,数据存储区可访问用户信息以验证用户的身份且可访问目录详细信息以获得关于所述类型的项目的信息。所述信息随后可被返回到用户,例如在用户能够经由用户装置1402上的浏览器浏览的网页上的结果列表中。所关注的特定项目的信息可在浏览器的专用页面或窗口浏览到。然而,应注意,本公开的实施方案未必限于网页的内容,而是可更一般地适用于一般地处理请求,其中请求未必是针对内容的请求。
每一服务器通常将包含操作系统,所述操作系统提供可执行程序指令以用于所述服务器的一般管理和操作,且所述服务器通常将包含存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在通过服务器的处理器执行时允许服务器执行其既定功能。服务器的操作系统和一般功能性的合适的实施是已知的或可商购的,且由所属领域的技术人员鉴于本文中的公开内容容易地实施。
在一个实施方案中,环境为利用若干计算机系统和组件的分布式和/或虚拟计算环境,所述计算机系统和组件经由通信链路使用一个或多个计算机网络或直接连接来互连。然而,所属领域的技术人员应了解,此系统在具有比图14中所说明的组件更少或更大数目的组件的系统中可同样良好地操作。因此,图14中的系统1400的描绘应被认为实质上为说明性的而非对本公开的范围的限制。
另外,本公开的实施方案可鉴于以下条款来描述:
1.一种计算机实施的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,从客户计算机系统接收引起多个测量结果的接收的一个或多个请求,所述一个或多个请求包含测量结果和指定所述测量结果的属性的元数据;
利用散列函数和所述元数据来产生完全限定度量识别符;
至少部分基于所述测量结果的所述完全限定度量识别符来将所述测量结果分区到多个逻辑分区中;
将所述测量结果从所述多个逻辑分区发送到对应的聚合器子系统,所述聚合器子系统包括一个或多个存储器中数据存储区以用于聚合并存储所述测量结果与存储在所述一个或多个存储器中数据存储区内的和所述完全限定度量识别符相关联的其它测量结果;
将所述测量结果存储在所述一个或多个存储器中数据存储区中;
接收针对检索一个或多个测量结果的请求,所述请求包含与所述一个或多个测量结果相关联的元数据;
利用所述散列函数和与所述一个或多个测量结果相关联的所述元数据来产生所述完全限定度量识别符;
利用所述完全限定度量识别符来识别所述一个或多个存储器中数据存储区,其中所述一个或多个测量结果和其它测量结果被存储;
从所识别的一个或多个存储器中数据存储区获得所述一个或多个测量结果和所述其它测量结果;以及
响应于所述请求而提供所述一个或多个测量结果和所述其它测量结果。
2.根据条款1所述的计算机实施的方法,所述方法另外包括聚合所述测量结果与和所述完全限定识别符相关联的所述其它测量结果以用于存储在所述一个或多个存储器中数据存储区中。
3.根据条款1或2所述的计算机实施的方法,所述方法另外包括至少部分基于所述测量结果的时间戳来对所述多个逻辑分区的所述测量结果进行分区以使得能够首先发送最近测量结果。
4.根据条款1-3中的任何条款所述的计算机实施的方法,所述方法另外包括:
从度量映射注册表获得所述多个逻辑分区到多个聚合器子系统的映射;
至少部分基于所述映射和所述测量结果中的每一测量结果的时间戳来识别出所述对应的聚合器子系统;以及
使所述多个逻辑分区与所识别的对应的聚合器子系统相关联以使得能够将所述测量结果发送到所识别的对应的聚合器子系统。
5.一种系统,所述系统包括经配置以实施一项或多项服务的至少一个计算装置,其中所述一项或多项服务经配置以:
接收针对存储测量结果的请求,所述请求包含所述测量结果和指定所述测量结果的属性的元数据;
至少部分基于所述元数据来产生所述测量结果的度量识别符;
至少部分基于所述度量识别符来选择在多个数据中心处的多个分区中的分区以用于放置所述测量结果;
将所述测量结果从所述分区发送到包括一个或多个存储器中数据存储区的对应的聚合器系统;
聚合所述测量结果与先前存储在所述一个或多个存储器中数据存储区中的存储器中数据存储区内的一个或多个测量结果;以及
将所述测量结果和所述一个或多个测量结果存储在所述一个或多个存储器中数据存储区中的所述存储器中数据存储区中。
6.根据条款5所述的系统,其中所述一项或多项服务另外经配置以:
接收针对检索一个或多个测量结果的请求,所述请求包含与所述一个或多个测量结果相关联的元数据;
至少部分基于与所述一个或多个测量结果相关联的所述元数据来产生所述度量识别符;
使用所述度量识别符来识别所述多个数据中心内的其中存储所述一个或多个测量结果的所述一个或多个存储器中数据存储区;
从所述多个数据中心的所识别的一个或多个存储器中数据存储区获得所述一个或多个测量结果;
在所述一个或多个测量结果在所述多个数据中心不同时,利用一个或多个冲突解决规则来确定将响应于所述请求而发送的所述一个或多个测量结果;以及
响应于所述请求而发送所述一个或多个测量结果。
7.根据条款5或6所述的系统,其中:
所述测量结果的所述属性中的至少一个包含所述测量结果的时间戳;以及
所述分区的所述选择是另外至少部分基于所述时间戳。
8.根据条款5-7中的任何条款所述的系统,其中所述一项或多项服务另外经配置以从所述存储器中数据存储区并至少部分基于保留期的到期而去除具有超过所述保留期的时间戳的测量结果。
9.根据条款5-8中的任何条款所述的系统,其中所述一项或多项服务另外经配置以二进制序列化格式对所述测量结果进行序列化,使得呈所述二进制序列化格式的所述测量结果包含所述度量识别符、所述测量结果的时间戳、所述测量结果的测量单位以及所述测量结果自身。
10.根据条款5-9中的任何条款所述的系统,其中所述一项或多项服务另外经配置以:
获得所述多个分区到多个聚合器系统的映射;
至少部分基于所述映射和所述测量结果的时间戳来识别出所述选定分区的所述对应的聚合器系统;以及
使所述选定分区与所述对应的聚合器系统相关联以使得能够将来自所述选定分区的所述测量结果发送到所述对应的聚合器系统。
11.根据条款5-10中的任何条款所述的系统,其中所述一项或多项服务另外经配置以:
接收针对存储第二测量结果的请求,所述请求包含所述第二测量结果和指定所述第二测量结果的属性的元数据;
至少部分基于所述元数据来产生所述第二测量结果的度量识别符;
至少部分基于所述第二测量结果的时间戳和所述度量识别符来确定无分区可用于放置所述第二测量结果,因为第二测量结果的所述时间戳在保留期外;以及
将所述第二测量结果存储在队列中,直到分区至少部分基于所述时间戳和所述度量识别符而可用。
12.根据条款5-11中的任何条款所述的系统,其中所述一项或多项服务另外经配置以在选定分区不具有用于放置所述测量结果的容量时,清除具有早于所述测量结果的时间戳的时间戳的一个或多个其它测量结果。
13.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述指令在通过计算机系统的一个或多个处理器执行时,使得所述计算机系统至少:
从多个分区中的分区接收度量的多个测量结果;
从存储器中数据存储区获得所述度量的其它测量结果;
聚合接收到的所述多个测量结果与所述其它测量结果;以及
将所述聚合的测量结果存储在所述存储器中数据存储区中。
14.根据条款13所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
接收针对从一个或多个存储器中数据存储区检索一个或多个测量结果的请求,所述请求包含所述一个或多个测量结果的度量识别符;
使用所述度量识别符来识别其中存储所述一个或多个测量结果的所述一个或多个存储器中数据存储区;
从所识别的一个或多个存储器中数据存储区获得所述一个或多个测量结果;以及
发送所述一个或多个测量结果。
15.根据条款13或14所述的非暂时性计算机可读存储介质,其中所述多个测量结果以二进制序列化格式被接收,其中呈所述二进制序列化格式的所述多个测量结果包含度量识别符、所述测量结果的时间戳、所述测量结果的测量单位以及所述多个测量结果自身。
16.根据条款15所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
对所述多个测量结果和来自所述存储器中数据存储区的所述其它测量结果进行反序列化;
聚合所述反序列化的多个测量结果与来自所述存储器中数据存储区的所述反序列化的测量结果;以及
在将所述聚合的测量结果存储在所述存储器中数据存储区之前对所述聚合的测量结果进行序列化。
17.根据条款13-16中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统至少部分基于保留期的到期来从所述存储器中数据存储区去除具有超过所述保留期的时间戳的测量结果。
18.根据条款13-17中的任何条款所述的非暂时性计算机可读存储介质,其中所述分区至少部分基于从注册表获得的所述多个分区到多个聚合器系统的映射而与所述计算机系统相关联。
19.根据条款13-18中的任何条款所述的非暂时性计算机可读存储介质,其中所述分区至少部分基于测量结果的分区而设置有所述多个测量结果,所述测量结果的分区至少部分基于所述多个测量结果的度量识别符和时间戳。
20.根据条款19所述的非暂时性计算机可读存储介质,其中所述测量结果的所述度量识别符使用散列函数和所述测量结果的元数据来产生,所述元数据指定所述测量结果的属性。
21.一种计算机实施的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,从客户计算机系统接收针对存储在度量的时间段内获得的所述度量的测量结果的请求,所述请求包含所述测量结果和指定所述测量结果的属性的元数据;
针对所述测量结果,利用散列函数和所述元数据来产生所述测量结果的完全限定度量识别符;
至少部分基于所述测量结果的所述完全限定度量识别符和时间戳来确定所述测量结果的一个或多个数据存储区;
将所述测量结果存储在第一所确定的一个或多个数据存储区内;
从所述客户计算机系统接收针对存储指定在所述度量的所述时间段内获得的测量结果的第二多个测量结果的第二请求,所述请求包含所述第二多个测量结果和所述完全限定度量识别符,但缺少所述元数据中的至少一部分;
利用所述第二多个测量结果的所述完全限定度量识别符和时间戳来确定将所述第二多个测量结果存储在何处;以及
根据所述确定来存储所述第二多个测量结果。
22.根据条款21所述的计算机实施的方法,所述方法另外包括:
从所述客户计算机系统接收针对检索所述测量结果的第三请求,所述请求包含所述完全限定度量识别符;以及
使用所述完全限定度量识别符来从所述测量结果的所述一个或多个数据存储区获得所述测量结果。
23.根据条款21或22所述的计算机实施的方法,所述方法另外包括利用游程长度编码来针对具有相同值的一个或多个顺序测量结果压缩所述测量结果和所述第二多个测量结果。
24.根据条款21-23中的任何条款所述的计算机实施的方法,所述方法另外包括在所述确定将会将所述第二多个测量结果存储在与所述测量结果相同的一个或多个数据存储区中时,聚合所述测量结果与所述第二多个测量结果。
25.一种系统,所述系统包括经配置以实施一项或多项服务的至少一个计算装置,其中所述一项或多项服务经配置以:
接收针对存储度量的多个测量结果的请求,所述请求不具有与随针对存储所述度量的其它测量结果的先前请求接收的相同的元数据;
确定所述多个测量结果的度量识别符;以及
使用所述度量识别符来存储所述多个测量结果,使得响应于针对检索指定所述元数据的所述度量的测量结果的请求的信息包含至少所述多个测量结果和所述其它测量结果两者。
26.根据条款25所述的系统,其中所述针对存储所述多个测量结果的请求包含所述度量识别符。
27.根据条款25或26所述的系统,其中所述一项或多项服务另外经配置以至少部分基于所确定的度量识别符来聚合所述多个测量结果与所述其它测量结果。
28.根据条款25-27中的任何条款所述的系统,其中使用所确定的完全限定度量识别符来存储所述度量数据包含:
利用所述多个测量结果中的所述测量结果的所述度量识别符和时间戳来将所述多个测量结果分区到一个或多个分区中;
将所述多个测量结果从所述一个或多个分区发送到多个聚合器子系统中的一个或多个聚合器子系统以用于所述多个测量结果的存储;以及
将所述多个测量结果存储在所述一个或多个聚合器子系统的一个或多个聚合器数据存储区内。
29.根据条款28所述的系统,其中所述一项或多项服务另外经配置以:
从度量映射注册表且至少部分基于所述多个测量结果中的所述测量结果的时间戳来获得在所述一个或多个分区与所述多个聚合器子系统之间的一个或多个映射;以及
至少部分基于所述一个或多个映射来从所述多个聚合器子系统选择所述一个或多个聚合器子系统。
30.根据条款25-29中的任何条款所述的系统,其中所述一项或多项服务另外经配置以:
接收针对检索所述多个测量结果的第二请求,所述请求指定所述元数据;
至少部分基于所述元数据来确定所述度量识别符;以及
通过使用所述度量识别符和在所述元数据中指定的一个或多个时间段来检索至少所述多个测量结果和所述其它测量结果两者。
31.根据条款25-30中的任何条款所述的系统,其中所述多个测量结果以二进制序列化格式存储,所述二进制序列化格式包含所述度量识别符、所述度量数据的时间戳、所述度量数据的测量单位以及通过所述度量数据表示的度量的测量结果。
32.根据条款25-31中的任何条款所述的系统,其中所述度量识别符通过使用散列函数和在所述元数据内指定的一个或多个度量属性来产生。
33.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述指令在通过计算机系统的一个或多个处理器执行时,使得所述计算机系统至少:
接收第一应用程序设计接口调用以存储度量的一个或多个测量结果,所述第一应用程序设计接口调用指定所述一个或多个测量结果和所述一个或多个测量结果的度量识别符,所述度量识别符至少部分基于包含在针对存储所述度量的其它测量结果的先前请求中的元数据来产生;
利用所述度量识别符来识别用于存储所述一个或多个测量结果的数据存储区;以及
将所述一个或多个测量结果存储在所识别的数据存储区中,使得所述一个或多个测量结果和所述其它测量结果可响应于包含所述元数据或所述完全限定度量识别符的请求而获得。
34.根据条款33所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
接收第二应用程序设计接口调用以检索所述度量的多个测量结果,所述第二应用程序设计接口调用包含所述元数据;
使用所包含的元数据来产生所述度量识别符;
至少部分基于所产生的度量识别符和在所述元数据中指定的一个或多个时间段来识别包含所述一个或多个测量结果和所述其它测量结果的一个或多个数据存储区;以及
从所识别的一个或多个数据存储区提供所述一个或多个测量结果和所述其它测量结果。
35.根据条款33或34所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统将所述一个或多个测量结果变换成二进制序列化格式,呈所述二进制序列化格式的所述一个或多个测量结果包含所述度量识别符和所述测量结果。
36.根据条款35所述的非暂时性计算机可读存储介质,其中将所述一个或多个测量结果存储在所识别的数据存储区中包含:
从所述数据存储区检索所述度量的序列化测量结果,所述序列化测量结果包含呈所述二进制序列化格式的所述其它测量结果;
对所述序列化测量结果和呈所述二进制序列化格式的所述一个或多个测量结果进行反序列化;
聚合所述一个或多个测量结果与所述其它测量结果;以及
将所述一个或多个测量结果和所述其它测量结果变换成所述二进制序列化格式。
37.根据条款35或36所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统利用游程长度编码来针对具有相同值的一个或多个顺序测量结果以所述二进制序列化格式压缩所述一个或多个测量结果。
38.根据条款33-37中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
至少部分基于所述一个或多个测量结果的所述度量识别符和时间戳来产生分区;
将所述逻辑分区中的所述一个或多个测量结果放置到队列中以用于分布到聚合器子系统,所述聚合器子系统包含所识别的数据存储区;以及
将所述一个或多个测量结果从所述队列发送到所述聚合器子系统以用于将所述一个或多个测量结果存储在所识别的数据存储区中。
39.根据条款38所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
从度量映射注册表获得在分区与聚合器子系统之间的随时间变化的映射;以及
利用所述度量数据的所述度量识别符和所述时间戳来从所述映射确定用于将所述一个或多个测量结果存储到所识别的数据存储区中的所述聚合器子系统。
40.根据条款33-40中的任何条款所述的非暂时性计算机可读存储介质,其中所述度量识别符通过使用散列函数以将在随针对存储所述其它测量结果的所述请求包含的所述元数据中指定的一个或多个度量属性散列来产生。
41.一种计算机实施的方法,所述方法包括:
通过在web服务器计算机系统处至少进行以下操作来在所述web服务器计算机系统处处理到来的度量:
从与客户计算机系统相关联的计算资源获得度量的多个测量结果,并针对所述多个测量结果中的每一测量结果包含指定所述测量结果的属性的元数据;
利用散列函数和所述元数据来产生所述多个测量结果中的每一测量结果的完全限定度量识别符;
从计算资源监视服务的度量映射注册表且至少部分基于所述多个测量结果中的每一测量结果的时间戳来获得逻辑分区到所述计算资源监视服务的聚合器子系统的映射,所述一个或多个聚合器子系统用于存储所述多个测量结果;
至少部分基于所述多个测量结果中的每一测量结果的所述完全限定度量识别符和每一测量结果的所述时间戳来将所述多个测量结果分区到多个逻辑分区中;
至少部分基于所述多个测量结果中的每一测量结果的所述时间戳来对所述多个逻辑分区中的所述多个测量结果进行子分区;
至少部分基于所述多个测量结果中的每一测量结果的所述时间戳来对所述多个逻辑分区中的所述多个测量结果区分优先次序;以及
将一个或多个应用程序设计接口调用发送到所述计算资源监视服务的所述一个或多个聚合器子系统以将所述多个逻辑分区的所述多个测量结果存储在所述一个或多个聚合器子系统的一个或多个数据存储区内,所述一个或多个应用程序设计接口调用包含所述多个测量结果。
42.根据条款41所述的计算机实施的方法,所述方法另外包括:
将来自所述多个逻辑分区的所述多个测量结果放置到一个或多个基于文件的队列中,所述一个或多个基于文件的队列与所述一个或多个聚合器子系统相关联;以及
将所述多个测量结果从所述基于文件的队列传递到所述一个或多个聚合器子系统。
43.根据条款41或42所述的计算机实施的方法,所述方法另外包括至少部分基于包含最晚时间戳的所述至少一个测量结果来从所述多个测量结果选择所述至少一个测量结果。
44.根据条款41-43中的任何条款所述的计算机实施的方法,所述方法另外包括:
从所述web服务器计算机系统发送针对从所述一个或多个数据存储区检索所述多个测量结果的请求;
在度量整合引擎处且至少部分基于所述多个逻辑分区的所述映射来确定包含所述一个或多个数据存储区的所述一个或多个聚合器子系统;
从所述一个或多个数据存储区获得所述多个测量结果;以及
将所述多个测量结果提供到所述web服务器计算机系统。
45.一种系统,所述系统包括:
一个或多个处理器;以及
存储器,所述存储器包含指令,所述指令在通过所述一个或多个处理器执行时,使得所述系统:
接收度量的多个测量结果,所述多个测量结果中的测量结果包含所述测量结果的元数据;
针对所述测量结果且至少部分基于所述元数据来确定度量识别符;
将所述测量结果分区到多个分区中;以及
将消息从所述系统发送到计算资源监视服务的一个或多个聚合器系统以存储所述测量结果。
46.根据条款45所述的系统,其中所述指令另外使得所述系统:
发送针对从所述一个或多个数据存储区检索一个或多个测量结果的请求,所述请求包含所述度量识别符并指定与所述一个或多个测量结果相关联的时间段;所述度量识别符和所述指定的时间段用于识别其中存储所述一个或多个测量结果的一个或多个数据存储区;以及
从所述计算资源监视服务获得所述一个或多个测量结果。
47.根据条款45或46所述的系统,其中所述指令另外使得所述系统以二进制序列化格式对所述测量结果进行序列化,使得呈所述二进制序列化格式的所述测量结果包含所述度量识别符、所述测量结果的时间戳、所述测量结果的测量单位以及所述测量结果自身。
48.根据条款45-47中的任何条款所述的系统,其中所述指令另外使得所述系统:
至少部分基于所述测量结果的时间戳来获得分区到多个聚合器子系统的映射;
至少部分基于所述映射来识别所述多个分区的所述一个或多个聚合器子系统;以及
使所述多个分区与所述一个或多个聚合器子系统相关联以使得能够从所述多个逻辑分区选择所述测量结果以用于产生所述消息。
49.根据条款45-48中的任何条款所述的系统,其中所述指令另外使得所述系统:
确定所述多个分区中的任何分区是否缺少用于所述多个测量结果中的至少一个测量结果的容量;以及
清除具有早于所述至少一个测量结果的时间戳的时间戳的一个或多个测量结果以产生用于放置所述至少一个测量结果的容量。
50.根据条款45-49中的任何条款所述的系统,其中所述指令另外使得所述系统:
至少部分基于所述度量识别符和在保留期外的时间戳来确定无逻辑分区可用于放置测量结果;以及
将所述测量结果放置在队列中,直到逻辑分区可用于放置所述测量结果。
51.根据条款45-50中的任何条款所述的系统,其中所述消息使用通信协议来传输到所述一个或多个聚合器子系统,所述通信协议经配置以提供所述测量结果的成功传递的确认。
52.根据条款45-51中的任何条款所述的系统,其中所述指令另外使得所述系统:
将来自所述多个分区的所述测量结果放置到一个或多个队列中,所述一个或多个队列与所述一个或多个聚合器子系统相关联;以及
将所述测量结果从所述队列传递到所述一个或多个聚合器子系统。
53.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述指令在通过计算机系统的一个或多个处理器执行时,使得所述计算机系统至少:
获得度量的测量结果,所述测量结果包含指定所述测量结果的属性的元数据;
至少部分基于所述元数据来确定所述测量结果的度量识别符;
将包含所述测量结果的多个测量结果分区到多个分区中;以及
在计算资源监视服务的多个聚合器系统当中分布来自所述多个分区的多个测量结果。
54.根据条款53所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
获得所述多个分区到所述计算资源监视服务的所述多个聚合器系统的映射;以及
使所述分区与对应的聚合器系统相关联以确定所述多个测量结果从所述分区到所述对应的聚合器系统的分布。
55.根据条款53或54所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
将所述多个测量结果放置到多个队列中,所述一个或多个队列与所述多个聚合器系统相关联;以及
从所述多个队列在所述多个聚合器系统当中分布所述多个测量结果。
56.根据条款53-55中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统使用通信协议来在所述多个聚合器系统当中分布所述多个测量结果,所述通信协议经配置以在所述多个测量结果的成功存储后提供所述多个测量结果的成功分布的确认。
57.根据条款53-56中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
将消息发送到所述多个聚合器系统以检索一个或多个测量结果,所述请求包含所述度量识别符并指定所述一个或多个测量结果的时间段以实现所述多个聚合器系统的识别;以及
从所述多个聚合器系统获得所述一个或多个测量结果。
58.根据条款53-57中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
获得所述度量的第二测量结果,所述第二测量结果包含指定所述第二测量结果的属性的元数据;
至少部分基于所述第二测量结果的所述元数据来确定所述第二测量结果的度量识别符;
至少部分基于所述第二测量结果的所述度量识别符和所述第二测量结果的晚于最晚保留期的时间戳来确定无逻辑分区可用于所述第二测量结果;以及
将所述第二测量结果放置在队列中,直到分区可用于所述第二测量结果。
59.根据条款53-58中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统将所述测量结果变换成二进制序列化格式,使得呈所述二进制序列化格式的所述测量结果另外包含至少所述度量识别符。
60.根据条款53-59中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统针对缺少用于至少一个测量结果的容量的任何分区,从所述分区去除具有早于所述至少一个测量结果的时间戳的时间戳的一个或多个测量结果。
61.一种计算机实施的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,从自动缩放群组的一个或多个虚拟机实例的一个或多个负载均衡器接收度量的多个测量结果,包含指定所述多个测量结果中的测量结果的属性的元数据;
利用散列函数和所述元数据来产生所述测量结果的完全限定度量识别符;
至少部分基于所述测量结果的所述完全限定度量识别符和时间戳来对所述测量结果分区,从而产生多个逻辑分区;
将所述多个测量结果从所述多个逻辑分区发送到一个或多个聚合器子系统以用于存储在所述一个或多个聚合器子系统的一个或多个数据存储区内;
在所述一个或多个虚拟机实例的一个或多个实例管理器处,从所述一个或多个数据存储区获得所述测量结果;以及
至少部分基于所述获得的测量结果通过至少改变所述自动缩放群组中的虚拟机实例的数目来执行所述自动缩放群组的自动缩放。
62.根据条款61所述的计算机实施的方法,所述方法另外包括:
从度量映射注册表获得所述多个逻辑分区到多个聚合器子系统的映射;
针对所述多个逻辑分区中的每一逻辑分区且至少部分基于所述映射来识别所述对应的聚合器子系统;以及
使每一逻辑分区与所识别的对应的聚合器子系统相关联以使得能够将所述逻辑分区的所述测量结果发送到所识别的对应的聚合器子系统。
63.根据条款61或62所述的计算机实施的方法,所述方法另外包括:
从所述一个或多个实例管理器接收针对检索一个或多个测量结果的请求,所述请求包含所述完全限定度量识别符;
利用所述完全限定度量识别符来识别其中存储所述一个或多个测量结果的所述一个或多个数据存储区;以及
响应于所述请求而将所述一个或多个测量结果提供到所述一个或多个实例管理器。
64.根据条款61-63中的任何条款所述的计算机实施的方法,所述方法另外包括在一个或多个聚合器子系统内聚合所述测量结果与在所述一个或多个存储器中数据存储区内的现有测量结果以实现所述多个测量结果的存储。
65.一种系统,所述系统包括经配置以实施一项或多项服务的至少一个计算装置,其中所述一项或多项服务经配置以:
接收与计算资源的群组相关联的度量的多个测量结果,所述多个测量结果中的测量结果与所述测量结果的元数据相关联;
针对所述测量结果且至少部分基于所述元数据来确定度量识别符;
将所述测量结果分区到多个分区中;
将所述测量结果从所述多个分区发送到一个或多个存储器中数据存储区以用于存储;以及
将所述测量结果提供到所述群组的一个或多个计算资源管理器以实现所述群组的一个或多个计算资源的修改。
66.根据条款65所述的系统,其中所述一项或多项服务经配置以:
接收针对检索一个或多个测量结果的请求,所述请求包含所述度量识别符并指定时间段;
使用所述度量识别符和所述指定的时间段来识别其中存储所述一个或多个测量结果的所述一个或多个存储器中数据存储区;
获得所述一个或多个测量结果;以及
将所述一个或多个测量结果发送到所述一个或多个计算资源管理器以实现所述群组的所述一个或多个计算资源的所述修改。
67.根据条款65或66所述的系统,其中所述一项或多项服务另外经配置以聚合所述测量结果与所述一个或多个存储器中数据存储区的现有测量结果以用于将所述测量结果存储在所述一个或多个存储器中数据存储区中。
68.根据条款65-67中的任何条款所述的系统,其中所述一项或多项服务另外经配置以二进制序列化格式对所述测量结果进行序列化,使得呈所述二进制序列化格式的所述测量结果包含所述度量识别符、所述测量结果的时间戳、所述测量结果的测量单位以及所述测量结果自身。
69.根据条款65-68中的任何条款所述的系统,其中所述一项或多项服务另外经配置以在所述多个分区中的一个或多个分区不具有用于所述测量结果的容量时,清除具有早于所述测量结果的最早时间戳的时间戳的一个或多个测量结果。
70.根据条款65-69中的任何条款所述的系统,其中所述一项或多项服务经配置以:
获得所述多个分区到多个聚合器系统的映射,所述多个聚合器系统包含所述一个或多个存储器中数据存储区;
至少部分基于所述映射来识别所述多个分区中的分区的对应的聚合器系统;以及
使所述分区与所述对应的聚合器系统相关联以使得能够将所述测量结果从所述分区发送到所述一个或多个存储器中数据存储区。
71.根据条款65-70中的任何条款所述的系统,其中所述一项或多项服务经配置以从所述一个或多个存储器中数据存储区去除到期的测量结果,因为所述到期的测量结果的旧保留期被较新的保留期替代。
72.根据条款65-71中的任何条款所述的系统,其中所述一个或多个计算资源管理器经配置以至少部分基于所提供的测量结果来为所述自动缩放群组供应另外的计算资源。
73.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述指令在通过计算机系统的一个或多个处理器执行时,使得所述计算机系统至少:
接收与计算资源的群组相关联的度量的测量结果,所述测量结果与所述测量结果的元数据相关联;
至少部分基于所述元数据来确定度量识别符;
至少部分基于所述测量结果的所述度量识别符来从多个分区选择分区;
将所述测量结果从所述选定分区发送到存储器中数据存储区以用于存储;以及
将所述测量结果提供到所述计算资源的群组的一个或多个计算资源管理器以使得能够对所述计算资源的群组执行一个或多个操作。
74.根据条款73所述的非暂时性计算机可读存储介质,其中所述一个或多个计算资源管理器经配置以至少部分基于所提供的测量结果来终止来自所述自动缩放群组的一个或多个计算资源。
75.根据条款73或74所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
至少部分基于分区到聚合器系统的映射来确定所述选定分区的对应的聚合器系统,所述对应的聚合器系统包含所述存储器中数据存储区;以及
使所述分区与所述对应的聚合器系统相关联以使得能够将来自所述选定分区的所述测量结果发送到所述存储器中数据存储区。
76.根据条款73-75中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
确定所述选定分区是否不具有用于所述测量结果的容量;以及
清除具有早于所述测量结果的时间戳的时间戳的一个或多个测量结果。
77.根据条款73-76中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
确定旧保留期已被存储在所述存储器中数据存储区中的所述测量结果的较新保留期替换;以及
从存储器中数据存储区去除具有在所述旧保留期内的时间戳的测量结果。
78.根据条款73-78中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
接收针对检索度量的一个或多个测量结果的消息,所述请求包含与所述一个或多个测量结果相关联的所述度量识别符并指定时间范围;
使用所述度量识别符和所述指定时间范围来识别一个或多个存储器中数据存储区;
从所识别的一个或多个存储器中数据存储区获得所述一个或多个测量结果;以及
将所述一个或多个测量结果发送到所述一个或多个计算资源管理器以使得能够对所述群组执行所述一个或多个操作。
79.根据条款73-78中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统使用二进制序列化格式来对所述测量结果进行序列化,使得呈所述二进制序列化格式的所述测量结果包含所述度量识别符、所述测量结果的时间戳、所述测量结果的测量单位以及所述测量结果自身。
80.根据条款79所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
从所述存储器中数据存储区获得多个测量结果,所述多个测量结果呈所述二进制序列化格式;
对所述多个测量结果和所述接收到的所述度量的测量结果进行反序列化;以及
聚合所述多个测量结果与所述接收到的所述度量的测量结果以用于存储在所述存储器中数据存储区内。
81.一种计算机实施的方法,所述方法包括:
在由计算资源服务提供商提供的计算资源监视服务的一个或多个计算机系统的控制下,
从所述计算资源服务提供商的客户的客户计算机系统接收第一应用程序设计接口调用以检索度量的测量结果的第一集合,所述第一应用程序设计接口调用包含完全限定度量识别符,并指定所述测量结果的第一集合的时间范围和指示所述测量结果的第一集合将为权威的参数;
至少部分基于所述测量结果的第一集合的所述完全限定度量识别符和所述指定时间范围来确定其中存储所述测量结果的第一集合的一个或多个数据存储区;
从所确定的其中存储所述测量结果的第一集合的一个或多个数据存储区获得所述测量结果的第一集合;
确定从所确定的一个或多个数据存储区获得的所述测量结果的第一集合是否为权威的;
由于所述测量结果的第一集合为权威的,响应于所述第一应用程序设计接口调用来提供所述测量结果的第一集合;
从所述客户计算机系统接收第二应用程序设计接口调用以检索所述度量的测量结果的第二集合,所述第二应用程序设计接口调用包含所述完全限定度量识别符,并指定所述测量结果的第二集合的时间范围和指示将获得所述测量结果的第二集合而不管用于所述度量的测量结果的存储的时间段是否已逝去的参数;
至少部分基于所述测量结果的第二集合的所述完全限定度量识别符和所述指定时间范围来确定其中存储所述测量结果的第二集合的一个或多个数据存储区;
从所确定的其中存储所述测量结果的第二集合的一个或多个数据存储区获得所述测量结果的第二集合;以及
响应于所述第二应用程序设计接口调用而提供所述测量结果的第二集合。
82.根据条款81所述的计算机实施的方法,所述方法另外包括:
从所述客户计算机系统接收第三应用程序设计接口调用以存储在所述第二度量的时间段内获得的第二度量的测量结果,所述第三应用程序设计接口调用指定指示待存储的所述测量结果在所述时间段上为权威的参数;
确定所述第二度量的所述测量结果的完全限定度量识别符;
至少部分基于所述第二度量的所述测量结果的所述完全限定度量识别符来确定所述第二度量的所述测量结果的数据存储区;
将所述第二度量的所述测量结果存储在所确定的数据存储区内;以及
因为所述第三应用程序设计接口调用指定指示待存储的所述测量结果在所述时间段上为权威的所述参数,使所述第二度量的所述测量结果可用于检索,并指示所述第二度量的所述测量结果在所述时间段上为权威的。
83.根据条款82所述的计算机实施的方法,所述方法另外包括:
至少部分基于所述第二度量的所述测量结果的所述完全限定度量识别符来选择多个逻辑分区中的逻辑分区以用于放置所述测量结果;
从度量映射注册表且至少部分基于所述第二度量的所述测量结果的时间戳来获得所述多个逻辑分区到多个存储器中数据存储区的映射;以及
至少部分基于所述映射来将所述第二度量的所述测量结果从所述逻辑分区发送到对应的聚合器子系统,所述聚合器子系统包括所述存储器中数据存储区。
84.根据条款82或83所述的计算机实施的方法,所述方法另外包括更新度量映射注册表以指示由于所述测量结果被存储在所确定的一个或多个数据存储区内,所述测量结果在所述时间段上为权威的。
85.一种系统,所述系统包括经配置以实施一项或多项服务的至少一个计算装置,其中所述一项或多项服务经配置以:
接收针对检索在时间间隔上的度量的测量数据的请求;
至少部分基于所述请求中的信息来确定其中存储所述测量数据的一个或多个数据存储区;
产生对所述请求的响应,使得:
如果所述请求指示权威数据将在所产生的响应中提供,那么所产生的响应将所述测量数据限制为权威测量数据;以及
如果所述请求不指示权威数据将在所产生的响应中提供,那么所产生的响应不限于权威测量数据。
86.根据条款85所述的系统,其中所述请求中的所述信息包含指示待检索的所述测量数据为权威的信息。
87.根据条款85-86所述的系统,其中所述请求中的所述信息包含指示待检索的测量数据并不限于所述权威测量数据的信息。
88.根据条款85-87中的任何条款所述的系统,其中:
所述请求中的所述信息包含所述测量数据的度量识别符和时间信息;以及
所述一项或多项服务另外经配置以:
针对至少所述时间间隔,获得指示其中存储所述测量数据的所述一个或多个数据存储区的映射;以及
利用所述度量识别符来识别其中存储所述测量数据的所述一个或多个数据存储区。
89.根据条款85-88中的任何条款所述的系统,其中所述一项或多项服务另外经配置以:
接收针对存储第二度量的测量结果的第二请求;
至少部分基于所述第二请求中的信息来确定所述第二度量的测量数据在时间间隔上为权威的,所述第二度量的所述测量数据包含所述第二度量的所述测量结果;以及
将所述第二度量的所述测量结果存储在第二存储器中数据存储区中以作为在所述时间间隔上权威的。
90.根据条款89所述的系统,其中:
所述针对存储所述第二度量的所述测量结果的第二请求包含所述第二度量的所述测量结果和指定所述第二度量的所述测量结果的属性的元数据;以及
所述一项或多项服务另外经配置以:
至少部分基于所述元数据来产生所述第二度量的所述测量结果的度量识别符;
至少部分基于所述第二度量的所述测量结果的所述度量识别符来选择多个逻辑分区中的分区以用于放置所述第二度量的所述测量结果;以及
将所述测量结果从所述分区发送到包括所述第二存储器中数据存储区的对应的聚合器系统。
91.根据条款90所述的系统,其中所述一项或多项服务另外经配置以:
从所述第二存储器中数据存储区去除所述第二度量的到期测量结果;以及
聚合所述第二度量的所述测量结果与所述第二度量的未到期测量结果以用于存储所述第二度量的所述测量结果。
92.根据条款90或91所述的系统,其中所述一项或多项服务另外经配置以二进制序列化格式对所述第二度量的所述测量结果进行序列化,使得呈所述二进制序列化格式的所述测量结果包含所述度量识别符、所述第二度量的所述测量结果的时间戳、所述第二度量的所述测量结果的测量单位以及所述第二度量的所述测量结果自身。
93.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述指令在通过计算机系统的一个或多个处理器执行时,使得所述计算机系统至少:
接收针对检索度量的测量数据的请求;
至少部分基于所述请求中的信息来识别其中存储所述测量数据的存储器中数据存储区;
在所述请求中的所述信息指示将提供权威测量结果时提供权威的测量数据;以及
在所述信息不指示将提供权威测量结果时提供所述测量数据而不管所述测量数据是否为权威的。
94.根据条款93所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
接收针对存储第二度量的测量结果的第二请求,所述第二请求指定所述第二度量的所述测量结果,且没有指示在时间间隔已逝去之前收集的所述第二度量的测量结果在所述时间间隔上为权威的信息;以及
将所述第二度量的所述测量结果存储在第二存储器中数据存储区中以作为在所述时间间隔上不权威的,因为所述请求缺少指示所述第二度量的所述测量结果在所述时间间隔上为权威的所述信息。
95.根据条款93或94所述的非暂时性计算机可读存储介质,其中所述请求中的所述信息指定指示待检索的所述度量的所述测量数据将为所述权威测量结果的参数。
96.根据条款93-96中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
至少部分基于所述请求中的所述信息来获得指示其中存储所述测量数据的所述存储器中数据存储区的映射;以及
利用所述请求中的所述信息来从所述映射识别其中存储所述测量数据的所述存储器中数据存储区。
97.根据条款96所述的非暂时性计算机可读存储介质,其中所述请求中的所述信息包含:
时间信息,所述时间信息可用于获得所述映射;以及
度量识别符,所述度量识别符可用于从所述映射识别其中存储所述测量数据的所述存储器中数据存储区。
98.根据条款93-97中的任何条款所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
接收针对存储第二度量的测量结果的第二请求,所述第二请求包含指示所述第二度量的测量数据在时间间隔上为权威的信息;以及
将所述第二度量的所述测量结果存储在第二存储器中数据存储区中以作为权威的,使得所述测量结果响应于针对获得所述第二度量的权威测量结果的请求而被返回。
99.根据条款98所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
至少部分基于包含在所述第二请求中的所述信息来产生所述第二度量的所述测量结果的度量识别符;
利用所述第二度量的所述测量结果的所述度量识别符来识别多个分区中的分区以用于放置所述第二度量的所述测量结果;以及
将所述测量结果从所述分区发送到所述第二存储器中数据存储区。
100.根据条款99所述的非暂时性计算机可读存储介质,其中:
所述第二请求中包含的所述信息指定所述第二度量的所述测量结果的时间戳;以及
所述多个分区中的所述分区的所述识别另外至少部分基于所述第二度量的所述测量结果的所述时间戳。
各种实施方案另外可在广泛多种操作环境中实施,所述操作环境在一些情况下可包含一个或多个用户计算机、计算装置或处理装置,这些装置可用于操作多个应用中的任何应用。用户或客户端装置可包含多个通用个人计算机中的任何通用个人计算机,例如运行标准操作系统的台式计算机、膝上型计算机或平板计算机,以及运行移动软件且能够支持多个联网和消息传送协议的蜂窝式、无线和手持式装置。此系统还可包含运行多种可商购的操作系统中的任何操作系统的多个工作站,以及用于例如开发和数据库管理的其它已知应用。这些装置还可包含其它电子装置,例如虚拟终端、瘦客户端、游戏系统和能够经由网络通信的其它装置。这些装置还可包含虚拟装置,例如虚拟机、管理程序和能够经由网络通信的其它虚拟装置。
本公开的各种实施方案利用所属领域的技术人员将熟悉的至少一个网络,所述网络用于使用多种可商购的协议中的任何协议来支持通信,所述协议例如传输控制协议/因特网协议(“TCP/IP”)、用户数据报协议(“UDP”)、在开放系统互连(“OSI”)模型的各层中操作的协议、文件传输协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、公共因特网文件系统(“CIFS”)以及AppleTalk。网络可为例如局域网、广域网、虚拟专用网、因特网、内联网、外联网、公用交换电话网、红外网络、无线网、卫星网络以及其任何组合。
在利用web服务器的实施方案中,web服务器可运行多个服务器或中间层应用中的任何服务器或中间层应用,包含超文本传输协议(“HTTP”)服务器、FTP服务器、公共网关接口(“CGI”)服务器、数据服务器、Java服务器、Apache服务器以及商业应用服务器。服务器还可能能够响应于来自用户装置的请求而执行程序或脚本,例如通过执行一个或多个web应用来进行,所述web应用可实施为用例如C、C#或C++等任何编程语言或例如Ruby、PHP、Perl、Python或TCL等任何脚本语言以及其组合编写的一个或多个脚本或程序。服务器还可包含数据库服务器,包含但不限于可商购自以及的那些服务器以及开源服务器,例如MySQL、Postgres、SQLite、MongoDB,以及能够存储、检索以及访问结构化或非结构化数据的任何其它服务器。数据库服务器可包含基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器或这些和/或其它数据库服务器的组合。
所述环境可包含多种数据存储区和其它存储器和存储介质,如上文所论述。这些可驻留在多种位置中,例如驻留在计算机中的一个或多个本地(和/或驻留在所述计算机中的一个或多个中)或远离在整个网络上的计算机中的任何或全部计算机的存储介质上。在实施方案的特定集合中,信息可驻留在所属领域的技术人员所熟悉的存储区域网络(“SAN”)中。类似地,用于执行归因于计算机、服务器或其它网络装置的功能的任何必要文件可在适合时存储在本地和/或远程地存储。在系统包含计算机化的装置时,每一此装置可包含可经由总线电耦合的硬件元件,所述元件包含例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)以及至少一个输出装置(例如,显示器装置、打印机或扬声器)。此系统还可包含一个或多个存储装置,例如磁盘驱动、光学存储装置以及固态存储装置,例如随机存取存储器(“RAM”)或只读存储器(“ROM”),以及可移除介质装置、存储器卡、闪存卡等。
此类装置还可包含计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线的)、红外通信装置等)以及如上文所描述的工作存储器。计算机可读存储介质读取器可与计算机可读存储介质连接或经配置以接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除的存储装置,以及用于暂时地和/或更永久地包含、存储、发送以及检索计算器可读信息的存储介质。系统和各种装置通常还将包含多个软件应用、模块、服务或位于至少一个工作存储器装置内的其它元件,包含操作系统和应用程序,例如客户端应用或web浏览器。应了解,替代的实施方案可具有与上文描述的实施方案之间的众多变化。例如,还可使用自定义硬件和/或特定的元件还可在硬件、软件(包含便携式软件,例如小程序)或两者中实施。另外,可采用到例如网络输入/输出装置等其它计算装置的连接。
用于容纳代码或代码的部分的存储介质和计算机可读介质可包含所属领域中已知或使用的任何适合的介质,包含存储介质和通信介质,例如但不限于,用任何方法或技术实施以用于存储和/或传输信息的易失性和非易失性、可移除和不可移除介质,所述信息例如计算机可读指令、数据结构、程序模块或其它数据,所述介质包含RAM、ROM、电可擦除可编程只读存储器(“EEPROM”)、闪存存储器或其它存储器技术、压缩光盘只读存储器(“CD-ROM”)、数字通用光盘(DVD)或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储装置,或可用于存储所需信息且可通过系统装置访问的任何其它介质。基于在本文中提供的公开内容和教示,所属领域的技术人员应了解用以实施各种实施方案的其它方式和/或方法。
因此,说明书和图式将被认为是说明性的而非限制性的意义。然而,显而易见的是,可在不脱离如在权利要求书中阐述的本发明的较宽精神和范围的情况下,可对说明书和图式做出各种修改和改变。
其它变化在本公开的精神内。因此,虽然所公开的技术易受各种修改和替代构造,但所公开的技术的特定所说明实施方案在图式中示出且已在上文详细描述。然而,应理解,并不意图将本发明限于所公开的一种或多种特定形式,而是相反,本发明将涵盖落入如随附的权利要求书中界定的本发明的精神和范围内的所有修改、替代构造以及等效物。
在描述所公开的实施方案(特别是在下面的权利要求书的上下文中)的上下文中使用的术语“一(a/an)”和“该”以及类似的指示物应被解释为涵盖单数和复数,除非本文另外指出或明显与上下文矛盾。除非另外提及,否则术语“包括”、“具有”、“包含”以及“含有”将被解释为开放的术语(即,意指“包含但不限于”)。在未经修改并指示物理连接时,术语“连接”将被解释为部分或完全包含在内、附接到或接合在一起内,即使某物在中间介入。除非在本文中另外指出,否则本文中的值的范围的列举仅意图用作个别地指代落入在范围内的每一单独值的速记方法,且每一单独的值并入到说明书中,如同所述值个别地列举在本文中一样。除非另外提及或与上下文矛盾,否则术语“集合”(例如,项目的集合)或“子集”的使用将被解释为包括一个或多个成员的非空集合。另外,除非另外提及或与上下文矛盾,否则对应的集合的术语“子集”未必指示对应的集合的恰当子集,而是子集和对应的集合可为相同的。
除非另外具体地陈述或者说是与上下文明显矛盾,否则连接语言例如形式短语“A、B、和C中的至少一个”或“A、B和C中的至少一个”应通过上下文一般性理解为提出某一项目、项等可为A或B或C,或A与B与C的集合的任何非空子集。举例来说,在具有三个成员的集合的说明性示例中,连接短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”是指以下集合中的任何集合{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}。因此,此连接语言通常并不意图意指特定的实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个各自存在。
除非在本文中另外指出或与上下文另外清楚矛盾,本文中描述的过程的操作可以任何合适的次序执行。本文中描述的过程(或其变化和/或组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,且可实施为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、通过硬件或其组合实施。代码可存储在计算机可读存储介质上,例如,呈包括可通过一个或多个处理器执行的多个指令的计算机程序的形式。计算机可读存储介质可为非暂时性的。
在本文中提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅意图更好地说明本发明的实施方案,且除非另外要求,否则不对本发明的范围造成限制。说明书中没有语言应被解释为将任何非要求的元素指示为本发明的实践所必需的。
本公开的实施方案在本文中描述,包含发明人已知的用于实施本发明的最佳模式。在阅读前述描述后,所属领域的技术人员可变得清楚那些实施方案的变化。发明人预期所属领域的技术人员在适当时采用此类变化,且发明人意图以与如本文中所具体描述不同的方式实践本公开的实施方案。因此,本公开的范围包含如适用法律所允许的在随附的权利要求书叙述的主题的所有修改和等效物。此外,除非在本文中另外指出或与上下文另外清楚地矛盾,否则以上描述元件在其所有可能变化中的任何组合被本公开的范围涵盖。
在本文中引用的所有参考文献,包含公开案、专利申请案以及专利特此通过同等程度的引用并入本文中,如同每一参考文献个别地且具体地指示为通过引用并入且以其全文在本文中阐述一样。

Claims (15)

1.一种系统,所述系统包括经配置以实施一项或多项服务的至少一个计算装置,其中所述一项或多项服务经配置以:
接收针对存储度量的多个测量结果的请求,所述请求不具有与随针对存储所述度量的其它测量结果的先前请求接收的相同的元数据;
确定所述多个测量结果的度量识别符;以及
使用所述度量识别符来存储所述多个测量结果,使得响应于针对检索指定所述元数据的所述度量的测量结果的请求的信息包含至少所述多个测量结果和所述其它测量结果两者。
2.根据权利要求1所述的系统,其中针对存储所述多个测量结果的所述请求包含所述度量识别符。
3.根据权利要求1或2所述的系统,其中所述一项或多项服务另外经配置以至少部分基于所确定的度量识别符来聚合所述多个测量结果与所述其它测量结果。
4.根据权利要求1-4中任一项所述的系统,其中使用所确定的完全限定度量识别符来存储所述度量数据包括:
利用所述多个测量结果中的所述测量结果的所述度量识别符和时间戳来将所述多个测量结果分区到一个或多个分区中;
将所述多个测量结果从所述一个或多个分区发送到多个聚合器子系统中的一个或多个聚合器子系统以用于所述多个测量结果的存储;以及
将所述多个测量结果存储在所述一个或多个聚合器子系统的一个或多个聚合器数据存储区内。
5.根据权利要求8所述的系统,其中所述一项或多项服务另外经配置以:
从度量映射注册表且至少部分基于所述多个测量结果中的所述测量结果的时间戳来获得在所述一个或多个分区与所述多个聚合器子系统之间的一个或多个映射;以及
至少部分基于所述一个或多个映射来从所述多个聚合器子系统选择所述一个或多个聚合器子系统。
6.根据权利要求1-5中任一项所述的系统,其中所述一项或多项服务另外经配置以:
接收针对检索所述多个测量结果的第二请求,所述请求指定所述元数据;
至少部分基于所述元数据来确定所述度量识别符;以及
通过使用所述度量识别符和在所述元数据中指定的一个或多个时间段来检索至少所述多个测量结果和所述其它测量结果两者。
7.根据权利要求1-6中任一项所述的系统,其中所述多个测量结果以二进制序列化格式存储,所述二进制序列化格式包含所述度量识别符、所述度量数据的时间戳、所述度量数据的测量单位以及通过所述度量数据表示的度量的测量结果。
8.根据权利要求1-7中任一项所述的系统,其中所述度量识别符通过使用散列函数和在所述元数据内指定的一个或多个度量属性来产生。
9.一种上面存储有可执行指令的非暂时性计算机可读存储介质,所述指令在通过计算机系统的一个或多个处理器执行时,使得所述计算机系统至少:
接收第一应用程序设计接口调用以存储度量的一个或多个测量结果,所述第一应用程序设计接口调用指定所述一个或多个测量结果和所述一个或多个测量结果的度量识别符,所述度量识别符至少部分基于包含在针对存储所述度量的其它测量结果的先前请求中的元数据来产生;
利用所述度量识别符来识别用于存储所述一个或多个测量结果的数据存储区;以及
将所述一个或多个测量结果存储在所识别的数据存储区中,使得所述一个或多个测量结果和所述其它测量结果可响应于包含所述元数据或所述完全限定度量识别符的请求而获得。
10.根据权利要求9所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
接收第二应用程序设计接口调用以检索所述度量的多个测量结果,所述第二应用程序设计接口调用包含所述元数据;
使用所包含的元数据来产生所述度量识别符;
至少部分基于所产生的度量识别符和在所述元数据中指定的一个或多个时间段来识别包含所述一个或多个测量结果和所述其它测量结果的一个或多个数据存储区;以及
从所识别的一个或多个数据存储区提供所述一个或多个测量结果和所述其它测量结果。
11.根据权利要求9或10所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统将所述一个或多个测量结果变换成二进制序列化格式,呈所述二进制序列化格式的所述一个或多个测量结果包含所述度量识别符和所述测量结果。
12.根据权利要求9-11中任一项所述的非暂时性计算机可读存储介质,其中将所述一个或多个测量结果存储在所识别的数据存储区中包含:
从所述数据存储区检索所述度量的序列化测量结果,所述序列化测量结果包含呈所述二进制序列化格式的所述其它测量结果;
对所述序列化测量结果和呈所述二进制序列化格式的所述一个或多个测量结果进行反序列化;
聚合所述一个或多个测量结果与所述其它测量结果;以及
将所述一个或多个测量结果和所述其它测量结果变换成所述二进制序列化格式。
13.根据权利要求9-12中任一项所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统利用游程长度编码来针对具有相同值的一个或多个顺序测量结果以所述二进制序列化格式压缩所述一个或多个测量结果。
14.根据权利要求9-13中任一项所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
至少部分基于所述一个或多个测量结果的所述度量识别符和时间戳来产生分区;
将所述逻辑分区中的所述一个或多个测量结果放置到队列中以用于分布到聚合器子系统,所述聚合器子系统包含所识别的数据存储区;以及
将所述一个或多个测量结果从所述队列发送到所述聚合器子系统以用于将所述一个或多个测量结果存储在所识别的数据存储区中。
15.根据权利要求9-14中任一项所述的非暂时性计算机可读存储介质,其中所述指令另外使得所述计算机系统:
从度量映射注册表获得在分区与聚合器子系统之间的随时间变化的映射;以及
利用所述度量数据的所述度量识别符和所述时间戳来从所述映射确定用于将所述一个或多个测量结果存储到所识别的数据存储区中的所述聚合器子系统。
CN201680036112.XA 2015-06-26 2016-06-24 用于度量的聚合测量结果的数据存储区 Active CN107924345B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US14/752754 2015-06-26
US14/752,752 US9880919B2 (en) 2015-06-26 2015-06-26 Aggregation of metrics data with fine granularity
US14/752,756 US9910755B2 (en) 2015-06-26 2015-06-26 Retrieval of authoritative measurement data from in-memory datastores
US14/752756 2015-06-26
US14/752,759 US9882830B2 (en) 2015-06-26 2015-06-26 Architecture for metrics aggregation without service partitioning
US14/752752 2015-06-26
US14/752759 2015-06-26
US14/752,760 US9880880B2 (en) 2015-06-26 2015-06-26 Automatic scaling of computing resources using aggregated metrics
US14/752,754 US9882982B2 (en) 2015-06-26 2015-06-26 Datastore for aggregated measurements for metrics
US14/752760 2015-06-26
PCT/US2016/039371 WO2016210332A1 (en) 2015-06-26 2016-06-24 Datastore for aggregated measurements for metrics

Publications (2)

Publication Number Publication Date
CN107924345A true CN107924345A (zh) 2018-04-17
CN107924345B CN107924345B (zh) 2021-09-21

Family

ID=56360520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680036112.XA Active CN107924345B (zh) 2015-06-26 2016-06-24 用于度量的聚合测量结果的数据存储区

Country Status (5)

Country Link
EP (1) EP3314865A1 (zh)
JP (1) JP6607963B2 (zh)
CN (1) CN107924345B (zh)
CA (1) CA2988805C (zh)
WO (1) WO2016210332A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020078395A1 (zh) * 2018-10-16 2020-04-23 杭州海康威视数字技术股份有限公司 数据存储方法、装置及存储介质
CN113127205A (zh) * 2021-04-30 2021-07-16 东北大学秦皇岛分校 一种云中满足截止时间约束且优化成本的工作流调度方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3382946A1 (en) * 2017-03-30 2018-10-03 Thomson Licensing Device and method for performance monitoring
WO2019140157A1 (en) * 2018-01-12 2019-07-18 Visa International Service Association Authentication based on biometric identification parameter of an individual for payment transaction
US11500687B2 (en) * 2019-09-27 2022-11-15 Tencent America LLC Method and apparatus for cloud service
US12021737B2 (en) 2022-11-17 2024-06-25 Cisco Technology, Inc. Techniques for fetching application data to be used in path selection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862501A (zh) * 2005-05-09 2006-11-15 国际商业机器公司 存储信息的系统和方法
US20120078881A1 (en) * 2010-09-24 2012-03-29 Hitachi Data Systems Corporation System and method for aggregating query results in a fault-tolerant database management system
US20120158954A1 (en) * 2010-09-22 2012-06-21 Ronan Heffernan Methods and apparatus to determine impressions using distributed demographic information
CN103430157A (zh) * 2011-03-21 2013-12-04 亚马逊技术有限公司 用于动态标记度量数据的方法和系统
WO2013184935A1 (en) * 2012-06-06 2013-12-12 Rackspace Us, Inc. Data management and indexing across a distributed database

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862501A (zh) * 2005-05-09 2006-11-15 国际商业机器公司 存储信息的系统和方法
US20120158954A1 (en) * 2010-09-22 2012-06-21 Ronan Heffernan Methods and apparatus to determine impressions using distributed demographic information
US20120078881A1 (en) * 2010-09-24 2012-03-29 Hitachi Data Systems Corporation System and method for aggregating query results in a fault-tolerant database management system
CN103430157A (zh) * 2011-03-21 2013-12-04 亚马逊技术有限公司 用于动态标记度量数据的方法和系统
WO2013184935A1 (en) * 2012-06-06 2013-12-12 Rackspace Us, Inc. Data management and indexing across a distributed database

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何宜军: "基于过程模式的软件过程度量模型研究与应用", 《中国优秀硕士学位论文全文数据库》 *
无: "Amazon CloudWatch Developer Guide", 《AMAZON WEB SERVICES》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020078395A1 (zh) * 2018-10-16 2020-04-23 杭州海康威视数字技术股份有限公司 数据存储方法、装置及存储介质
CN113127205A (zh) * 2021-04-30 2021-07-16 东北大学秦皇岛分校 一种云中满足截止时间约束且优化成本的工作流调度方法
CN113127205B (zh) * 2021-04-30 2022-05-17 东北大学秦皇岛分校 一种云中满足截止时间约束且优化成本的工作流调度方法

Also Published As

Publication number Publication date
CA2988805A1 (en) 2016-12-29
EP3314865A1 (en) 2018-05-02
CA2988805C (en) 2023-09-05
CN107924345B (zh) 2021-09-21
JP6607963B2 (ja) 2019-11-20
JP2018522336A (ja) 2018-08-09
WO2016210332A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
US10311453B2 (en) System and apparatus for assessing reach, engagement, conversation or other social metrics based on domain tailored evaluation of social media exposure
CN107924345A (zh) 用于度量的聚合测量结果的数据存储区
CN108874640B (zh) 一种集群性能的评估方法和装置
CN104731690B (zh) 适应性度量收集、存储、和警告阈值
CN105308576B (zh) 确定和监测计算机资源服务的性能能力
CN109313572A (zh) 通用自动缩放
US9880880B2 (en) Automatic scaling of computing resources using aggregated metrics
US10270854B2 (en) Datastore for aggregated measurements for metrics
US9882830B2 (en) Architecture for metrics aggregation without service partitioning
US9910755B2 (en) Retrieval of authoritative measurement data from in-memory datastores
CN103377077A (zh) 通过诱发延时来评估分布式计算服务的弹性的方法和系统
JP6286559B2 (ja) 対話式アプリケーションにおいて標識アイコンを追加するための方法およびデバイス
CN112631879A (zh) 数据采集方法、装置、计算机可读介质及电子设备
US8725703B2 (en) Management of an inventory of websites
CN108112268A (zh) 管理与自动扩展组相关的负载平衡器
CN109640127A (zh) 内容分发网络的故障定位方法及装置
US9880919B2 (en) Aggregation of metrics data with fine granularity
JP6491778B1 (ja) 分析装置、分析方法及びプログラム
US20170171030A1 (en) System and method for digital optimization of electronic discovery
WO2018134680A1 (en) System and method for integrating disparate computer systems and applications
CN114253951B (zh) 数据处理方法、系统及第二服务器
JP2013187627A (ja) 通信網監視システム、監視装置および通信網監視方法
JP2018101228A (ja) データ更新プログラム、データ更新方法及びデータ更新装置
CN116781585A (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