用于获取、存储和消费大规模数据流的管理服务制造技术

技术编号:13455214 阅读:33 留言:0更新日期:2016-08-02 19:53
一种多租户流管理服务的控制节点接收将数据流初始化的请求,所述数据流包括多个数据记录。基于分区策略,所述控制节点确定将用于配置子系统的参数,以便摄取、存储和检索所述记录。所述控制节点识别将用于检索子系统的节点的资源。所述检索节点被配置成实施编程记录检索接口,包括实施非顺序和顺序访问模式的相应接口。所述控制节点使用选择的资源来配置所述检索节点。

【技术实现步骤摘要】
【国外来华专利技术】用于获取、存储和消费大规模数据流的管理服务
技术介绍
随着近年来数据存储的成本下降,并且随着将计算基础设施的各种元件互连的能力提高,有可能收集并分析涉及广泛多种应用的越来越多的数据。例如,移动电话可以生成指示其位置、电话用户使用的应用等等的数据,其中的至少一些数据可以收集和分析,以便将定制化赠券、广告等呈现给用户。对监控摄像机收集的数据进行分析可用于防止和/或处理犯罪案件,并且从嵌入在飞机发动机、汽车或复杂机械内的各个位置的传感器收集的数据可用于各种目的,例如,预防性维护、提高效率以及降低成本。流数据量的增加伴随(并且在一些情况下,可能伴随)商用硬件的使用增加。在为许多类型的应用管理大规模计算资源方面,用于商用硬件的虚拟化技术的出现提供益处,从而允许各种计算资源被多个客户有效且安全地共享。例如,通过为每个用户提供由单个物理计算机托管的一个或多个虚拟机,虚拟化技术可允许在多个用户之间共享单个物理计算机,其中每个这样的虚拟机都是充当不同逻辑计算系统的软件模拟,从而使用户产生他们是给定硬件计算资源的唯一操作员和管理员的错觉,同时还在各个虚拟机之间提供应用隔离和安全保证。此外,一些虚拟化技术能够提供跨两个或更多物理资源的虚拟资源,例如,单个虚拟机具有跨多个不同物理计算系统的多个虚拟处理器。除了计算平台之外,一些大组织还提供使用虚拟化技术建立的各种类型的存储服务。使用这种存储服务,可以在所需的耐用性水平存储大量的数据。尽管可用相对低的成本从各种提供者得到虚拟化计算和/或存储资源,然而,由于许多原因,对大型动态波动数据流的收集、存储和处理进行管理和协调仍然是具有挑战性的课题。随着更多的资源被添加到为处理大型数据流而设立的系统,例如,系统的不同部分之间可能会出现工作负载不平衡。如果不加以解决,除了没有充分利用(且因此浪费)其他资源之外,这种不平衡会导致某些资源出现严重的性能问题。如果此类数据或结果存储在客户端无法控制的设施处,客户端还可能关心流数据的安全性或者分析流数据的结果。随着分布式系统的大小增长,出现故障的频率自然也会增加(例如,偶尔失去连接和/或出现硬件故障),这些故障也必须被有效解决,以防止流数据收集、存储或分析出现中断而增加成本。附图说明图1提供根据至少一些实施方案的数据流概念的简单概述。图2提供根据至少一些实施方案的流管理系统(SMS)和流处理系统(SPS)的各个子部件之间的数据流动的概述,所述SPS包括流处理阶段的集合。图3示出根据至少一些实施方案的可以在SMS和SPS处实施的编程接口的相应集合的实例。图4示出根据至少一些实施方案的示例性基于web的接口,所述接口可以被实施以使得SPS客户端能够生成流处理阶段的图形。图5示出根据至少一些实施方案的可以在SMS处实施的编程记录提交接口和记录检索接口的实例。图6示出根据至少一些实施方案的SMS的摄取子系统的示例性元件。图7示出根据至少一些实施方案的SMS的存储子系统的示例性元件。图8示出根据至少一些实施方案的SMS的检索子系统的示例性元件,以及检索子系统与SPS交互的实例。图9示出根据至少一些实施方案的冗余组的实例,所述冗余组可以针对SMS或SPS的节点而设立。图10示出根据至少一些实施方案的提供者网络环境,其中给定冗余组的节点可以分布在多个数据中心之间。图11示出根据至少一些实施方案的多个放置目的地,所述放置目的地可以被选择用于SMS或SPS的节点。图12a和图12b示出根据至少一些实施方案的分别可由SPS客户端和SMS客户端提交的安全选项请求的实例。图13a示出根据至少一些实施方案的在流数据生产者与SMS的摄取节点之间的示例性交互。图13b示出根据至少一些实施方案的可以针对SMS处的摄取数据记录生成的序列号的示例性元素。图14示出根据至少一些实施方案的在SMS处的流数据记录的顺序存储和检索的实例。图15示出根据至少一些实施方案的可以针对SMS和SPS节点作出的流分区映射和对应配置决策的实例。图16示出根据至少一些实施方案的动态流重新分区的实例。图17是示出根据至少一些实施方案的可以被执行以支持流记录摄取和流记录检索的编程接口的相应集合的操作方面的流程图。图18a是示出根据至少一些实施方案的可以被执行以配置流处理阶段的操作方面的流程图。图18b是示出根据至少一些实施方案的可以响应于调用客户端库的部件以配置流处理工作者节点而执行的操作方面的流程图。图19是示出根据至少一些实施方案的可以被执行以实施流处理的一个或多个恢复策略的操作方面的流程图。图20是示出根据至少一些实施方案的可以被执行以实施数据流的多个安全选项的操作方面的流程图。图21是示出根据至少一些实施方案的可以被执行以实施数据流的分区策略的操作方面的流程图。图22是示出根据至少一些实施方案的可以被执行以实施数据流的动态重新分区的操作方面的流程图。图23是示出根据至少一些实施方案的可以被执行以实施数据流记录的至少一次(at-least-once)记录摄取策略的操作方面的流程图。图24是示出根据至少一些实施方案的可以被执行以实施数据流的多个持久性策略的操作方面的流程图。图25示出根据至少一些实施方案的流处理系统的实例,其中处理阶段的工作者节点使用数据库表来协调它们的工作负载。图26示出根据至少一些实施方案的可以存储在分区分配表中的示例性条目,所述分区分配表用于工作负载协调。图27示出根据至少一些实施方案的可以由流处理阶段的工作者节点执行以便选择分区的操作方面,其中在所述分区上执行处理操作。图28示出根据至少一些实施方案的可以由流处理阶段的工作者节点执行,以便基于从流管理服务控制子系统获取的信息来更新分区分配表的操作方面。图29示出根据至少一些实施方案的可以由流处理阶段的工作者节点执行的负载平衡操作的方面。图30是示出可以用于至少一些实施方案的示例性计算装置的框图。虽然本文通过若干实施方案和说明性附图以实例的方式描述实施方案,但所属领域的技术人员将认识到,实施方案并不受限于所述的实施方案或附图。应理解,附图和详细说明并不意图将实施方案限定于所公开的特定形式,相反,本专利技术将涵盖落在由所附权利要求书界定的精神和范围内的所有修改、等效物和替代。本文中使用的标题只是为了编制的目的,而并不用来限制说明书或权利要求书的范围。本申请全文所用字词“可以”以许可意义(即,表示具有潜在可能)使用,而非强制意义(即,表示必须)。类似地,字词“包括(include)”、“包括(including)”以及“包括(includes)”意指包括但并不限于。具体实施方式本专利技术描述用于管理大规模数据流的创建、存储、检索和处理的方法和设备的各种实施方案,所述方法和设备被设计用来处理数百或甚至数千并行的数据生产者和数据消费者。本文中使用的术语“数据流”是指可由一个或多个数据生产者生成并被一个或多个数据消费者访问的数据记录序列,其中假设每个数据记录都是不可变的字节序列。流管理服务(SMS)可以提供编程接口(例如,应用编程接口(API)、web页或web站、图形用户接口或者命令行工具),以使得能够创建、配置和删除流,以及在一些实施方案中,提交、存储和检索流数据记录。涉及与SMS控制部件交互的一些类型的流操作(例如,流创建或删除,或者本文档来自技高网...

【技术保护点】
一种方法,其包括:由一个或多个计算装置执行:针对包括多个数据记录的特定数据流,确定节点集合,所述节点集合可由一个或多个控制部件配置成基于包括流分区策略的一个或多个策略来执行流管理操作;响应于经由一个或多个编程记录检索接口接收的数据检索请求,提供数据记录,其中所述一个或多个编程记录检索接口包括实现非顺序访问模式的第一检索接口以及实现顺序访问模式的第二检索接口,并且其中与使用所述第一检索接口相关联的计费率与使用所述第二检索接口相关联的计费率不同;以及至少部分基于所述多个记录检索接口的相应使用计数度量,生成与所述特定数据流相关联的客户端计费量。

【技术特征摘要】
【国外来华专利技术】2013.11.11 US 14/077,1731.一种用于管理数据流的方法,其包括:由一个或多个计算装置执行:针对包括多个数据记录序列的特定数据流,确定节点集合,所述节点集合可由一个或多个控制部件配置成基于包括流分区策略的一个或多个策略来执行流管理操作,所述流分区策略用于将包括所述多个数据记录序列的所述特定数据流分区成多个分区;响应于经由一个或多个编程记录检索接口接收的数据检索请求,提供数据记录,其中所述一个或多个编程记录检索接口包括实现非顺序访问模式的第一检索接口以及实现顺序访问模式的第二检索接口,并且其中与使用所述第一检索接口相关联的计费率与使用所述第二检索接口相关联的计费率不同;以及至少部分基于所述多个编程记录检索接口的相应使用计数度量,生成与所述特定数据流相关联的客户端计费量。2.根据权利要求1所述的方法,其还包括由所述一个或多个计算装置执行:根据所述分区策略,至少部分基于与所述特定数据流的特定数据记录相关联的键,将所述特定数据记录分配到所述特定数据流的第一分区,其中所述键由对应于所述特定数据记录的写入请求指示。3.根据权利要求1所述的方法,其还包括由所述一个或多个计算装置执行:至少部分基于特定数据记录被分配到的分区,选择下列项中的一个或多个:(a)负责接受所述特定数据记录的记录摄取子系统的特定节点,(b)负责存储所述特定数据记录的至少一个复本的记录存储子系统的特定节点,以及(c)负责响应于读取请求而从所述记录存储子系统获取所述特定数据记录的检索子系统的特定节点。4.根据权利要求1所述的方法,其还包括由所述一个或多个计算装置执行:接收经由一个或多个编程记录提交接口提交的数据记录,其中所述一个或多个编程记录提交接口包括支持数据记录的串联提交的第一提交接口以及使得能够通过引用下列中的一个来提交数据记录的第二提交接口:(a)提供者网络实施的存储服务处的对象地址,(b)通用记录定位符,(c)数据库记录。5.根据权利要求1所述的方法,其还包括由所述一个或多个计算装置执行:至少部分基于下列项中的一个,从数据存储子系统的特定节点移除特定数据记录:(a)针对所述特定数据流配置的数据去除重复窗口,(b)与所述特定数据流相关联的数据存档策略,(c)客户端指明的数据保留策略,(d)移除所述特定数据记录的客户端请求,或者(e)所述特定数据记录已被一个或多个数据消费者处理的指示。6.根据权利要求1所述的方法,其中针对所述特定数据流配置的(a)记录摄取子系统、(b)记录存储子系统或(c)记录检索子系统中的至少一个子系统包括被所述一个或多个控制部件配置成冗余组的成员的多个节点,其中所述冗余组包括:(a)被分配来对所述流的数据记录的集合执行操作的一个或多个主节点,以及(b)被配置成响应于一个或多个触发事件而承担主节点角色的一个或多个非主节点。7.根据权利要求6所述的方法,其中在特定数据中心处将所述一个或多个主节点中的特定主节点实例化,并且其中在不同的数据中心处将所述一个或多个非主节点中的特定非主节点实例化。8.根据权利要求6所述的方法,其还包括由所述一个或多个计算...

【专利技术属性】
技术研发人员:M·M·泰默G·D·高雷J·D·杜纳根G·伯吉斯熊颖
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1