用于可扩展的结构化数据分布的系统和方法
【专利说明】
[0001] 相关申请交叉引用
[0002] 本申请要求2012年4月13日提交的美国临时申请61/623,877的优先权,其出于 所有目的通过引用被整体合并于此。
技术领域
[0003] 本申请的技术的各种实施例通常涉及数据传送。更具体而言,本申请的技术的一 些实施例涉及用于可扩展的结构化数据分布的系统和方法。
【背景技术】
[0004] 各个行业存在日益增长的监管和竞争压力,以提高报告的数据的质量、一致性和 可用性。存储和处理需求从多个维度日益增加,诸如粒度、在线历史、冗余和用于将数据的 新组合结合起来的收集。此外,日内版本化对于管理具有不同时间需求的部门之间的差异 而言将是必然趋势,因为数据在公司内的部门之间越来越多的被共享。部门也已经开始寻 求方法,以能够使他们从批量处理变为增量的实时和流数据管理。
[0005] 尽管对高效和一致的数据管理的需求不断增长,许多大公司都将失败的ACID(原 子性,一致性,隔离性和持久性)架构更换为可扩展的BASE架构。查看和分析大至庞大的 数据集的解决方案逐渐变得司空见惯,因为这些公司发布其云扩展系统的内容以开源。尽 管超大规模的分析引擎逐渐变得司空见惯,管理数据集移动的工具并没有跟上。大公司都 在争相保护自己免受日益增加的储运损耗的可能性,因为他们缺乏管理大型数据流的可用 性的方法。
[0006] 许多其它公司面临着同样的无法复制不断增长的数据集。ACID架构是昂贵的、 复杂的,并且无法确保数据跨越空间和时间的一致性和可用性(例如,部门数据共享和鉴 证)。对这些不断增长的数据集的可用性、一致性,以及管理的更高的标准将始终被设置。
[0007] 概述
[0008] 用于可扩展的结构化数据分布的系统和方法被描述。在一些实施例中,方法可包 括从数据发生器接收流原始数据。这些数据可以基于归档策略被捆绑成数据包(即,束)。 在某些情况下,任何与流数据相关联的元数据被利用于高效的策略驱动路由。该元数据可 以可能递归地在一个或多个通道上(例如,控制通道)被发布。可通过使用由主时钟产生 的一系列连续的整数对每个数据包排序。然后该数据包可以被归档和传递(例如,平行地) 至已订阅该数据发生器的用户。该数据包可以基于排序被重放,所述排序通过基于来自数 据用户的请求的连续的整数被识别。
[0009] 本发明的实施例还包括包含指令集合的计算机可读存储介质,以引起一个或多个 处理器执行本文所描述的方法、该方法的变体,以及其它操作。
[0010] 一些实施例包括系统,其包括捆绑器、转换器、流时钟和归档服务。捆绑器可以被 配置为从数据发生器接收流原始数据,且通过将每个数据包与具有单调增加的顺序的唯一 的标识符关联将该原始数据捆绑为一系列数据包。转换器可以接收该数据包(例如,从归 档)并生成可加载的数据结构用于与数据订阅者关联的报告存储。加载器可以基于逻辑排 序接收并存储该可加载的数据结构至与该数据订阅者关联的存储设备。
[0011] 一些实施例可包括主时钟,其被配置为生成序列逻辑的整数,每个都与在业务对 齐的、策略驱动(声明的)的系列的数据包中的单个数据包关联。在各种实施例中,该系统 可以包括数据通道,其允许来自数据发生器的数据连续流至数据订阅者。此外,消息通道可 以被用于提供通过数据分布系统连续地从数据发生器流至数据订阅者的数据的当前的状 态。控制通道与数据通道分离以允许数据订阅者请求对数据的重放也可以被用于一些实施 例中。
[0012] 尽管多个实施例中公开了,本发明的其它实施例从下面详细描述中对于本领域技 术人员而言仍将变得显而易见,其示出并描述了本发明的示例性实施例。如将要认识到,本 发明能够在各个方面进行修改,所有这些都不脱离本发明的精神和范围。因此,附图和详细 描述应被视为示例性的而非限制性的。
【附图说明】
[0013] 本发明的实施例将通过使用附图被描述和解释,其中:
[0014] 图1所示是本技术的一些实施例可以被利用的环境的示例;
[0015] 图2所示是根据技术的一个或多个实施例的数据分布系统的操作的阶段;
[0016] 图3所示是根据本技术的各种实施例的用于捆绑数据的一组操作的流程图;
[0017] 图4所示是根据本技术的一些实施例的用于处理数据流的一组操作的流程图;
[0018]图5所示是根据本技术的一个或多个实施例的数据分布系统的一组组件;
[0019] 图6所示是根据本技术的各种实施例的用于传送数据的一组操作的流程图; [0020]图7所示是可以被用在本技术的一个或多个实施例中的数据分布系统架构的概 述;
[0021] 图8所示是本发明的实施例可以利用的计算机系统的示例;
[0022] 附图未必按比例绘制。例如,一些组件和/或操作可以被分成不同的块或者被组 合成单个块以用于讨论本申请的技术的一些实施例。而且,虽然本发明服从各种修改和替 代形式,但是特定实施例已经在附图中通过示例的方式示出并且在下面被详细描述了。然 而,本发明不被限于所描述的特定实施例。相反,本发明旨在覆盖落入由所附权利要求所限 定的本发明的范围内的所有修改、等同物以及替代方案。 具体实施例
[0023] 本申请的技术的各种实施例总体上涉及数据管理(例如,存储和大数据的移动)。 更具体地,一些实施例涉及用于可扩展的结构化数据分布的系统和方法。一些实施例提供 了适合于可靠地分布大量数据到多个平行客户端的数据总线。此外,一些实施例包括集成 系统,其用于有效地吸收、归档、和分布任何规模的数据集,以及通过实时流和过去的数据 重放提供灵活的、基于策略的高容量的数据分布。
[0024] 数据用户往往希望数据是一致的、可用的和分区的("CAP")。瞬间实现所有这些 属性通常是非常困难的。在许多一致性和可用性是至关重要的机构内实行延迟的一致性是 有利的妥协,而某些时间延迟是可以被接受的。这样,在此公开的数据分布系统的一些实施 例保持一致性、可用性和分区性的神圣,而只有在一致性的时间设置上让步。通过用于标记 数据的唯一时钟方案,最终各种数据分布系统的实施例实现所需要的CAP。
[0025] 为了解决来源于监管和竞争压力的向外扩展的需求,各种实施例提供了利用BASE 架构的数据流解决方案。各种实施例提供一种集成系统,其用于有效地吸收、归档和分布 任意规模的数据集。该集成系统可提供可扩展的分布(即高效、同时分流到任意数量的用 户)、一致性(即一致的实时备份、数据共享和鉴证支持)、灵活性(即供应商独立性和分析 引擎的快速运用)、管理(即在分布上的安全策略驱动管理),和/或鉴证(即以最高速度 对数据的过去版本进行重放和恢复)。
[0026] 此外,集成数据分布系统的一些实施例允许开发人员能够识别简单术语的数据 (模式和业务目的),并提交大量数据到总线,在那里策略管理存储、转换并同时到多个目 标的分流。所有通过总线发送的数据版本可被压缩和存储,然后以到任何目标的保证的一 致性被重放几秒、几天或几年之后。一些实施例包括可被更广泛地应用的特征,包括可修改 的基于组件的、消息驱