CN104641614A - 用于可扩展的结构化数据分布的系统和方法 - Google Patents

用于可扩展的结构化数据分布的系统和方法 Download PDF

Info

Publication number
CN104641614A
CN104641614A CN201380031492.4A CN201380031492A CN104641614A CN 104641614 A CN104641614 A CN 104641614A CN 201380031492 A CN201380031492 A CN 201380031492A CN 104641614 A CN104641614 A CN 104641614A
Authority
CN
China
Prior art keywords
data
packet
stream
bundle
affairs
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
CN201380031492.4A
Other languages
English (en)
Other versions
CN104641614B (zh
Inventor
马修·沃斯
毗瑟挐·马武拉姆
斯科特·科恩
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.)
Goldman Sachs and Co LLC
Original Assignee
Goldman Sachs and Co LLC
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
Application filed by Goldman Sachs and Co LLC filed Critical Goldman Sachs and Co LLC
Priority to CN201810203145.XA priority Critical patent/CN108337320B/zh
Publication of CN104641614A publication Critical patent/CN104641614A/zh
Application granted granted Critical
Publication of CN104641614B publication Critical patent/CN104641614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

提供用于有效地吸收、归档和分布任何规模的数据集的系统和方法。一些实施例通过实时流以及过去的数据重放提供了灵活的、基于策略大容量数据的分布。此外,一些实施例通过先进的版本特征提供了可靠和清晰的跨任何供应商系统的一致性。这种一致性对金融行业是特别有价值的,但对于任何管理多个数据分布点用于改进和可靠的数据可用性的公司也特别有用。

Description

用于可扩展的结构化数据分布的系统和方法
相关申请交叉引用
本申请要求2012年4月13日提交的美国临时申请61/623,877的优先权,其出于所有目的通过引用被整体合并于此。
技术领域
本申请的技术的各种实施例通常涉及数据传送。更具体而言,本申请的技术的一些实施例涉及用于可扩展的结构化数据分布的系统和方法。
背景技术
各个行业存在日益增长的监管和竞争压力,以提高报告的数据的质量、一致性和可用性。存储和处理需求从多个维度日益增加,诸如粒度、在线历史、冗余和用于将数据的新组合结合起来的收集。此外,日内版本化对于管理具有不同时间需求的部门之间的差异而言将是必然趋势,因为数据在公司内的部门之间越来越多的被共享。部门也已经开始寻求方法,以能够使他们从批量处理变为增量的实时和流数据管理。
尽管对高效和一致的数据管理的需求不断增长,许多大公司都将失败的ACID(原子性,一致性,隔离性和持久性)架构更换为可扩展的BASE架构。查看和分析大至庞大的数据集的解决方案逐渐变得司空见惯,因为这些公司发布其云扩展系统的内容以开源。尽管超大规模的分析引擎逐渐变得司空见惯,管理数据集移动的工具并没有跟上。大公司都在争相保护自己免受日益增加的储运损耗的可能性,因为他们缺乏管理大型数据流的可用性的方法。
许多其它公司面临着同样的无法复制不断增长的数据集。ACID架构是昂贵的、复杂的,并且无法确保数据跨越空间和时间的一致性和可用性(例如,部门数据共享和鉴证)。对这些不断增长的数据集的可用性、一致性,以及管理的更高的标准将始终被设置。
概述
用于可扩展的结构化数据分布的系统和方法被描述。在一些实施例中,方法可包括从数据发生器接收流原始数据。这些数据可以基于归档策略被捆绑成数据包(即,束)。在某些情况下,任何与流数据相关联的元数据被利用于高效的策略驱动路由。该元数据可以可能递归地在一个或多个通道上(例如,控制通道)被发布。可通过使用由主时钟产生的一系列连续的整数对每个数据包排序。然后该数据包可以被归档和传递(例如,平行地)至已订阅该数据发生器的用户。该数据包可以基于排序被重放,所述排序通过基于来自数据用户的请求的连续的整数被识别。
本发明的实施例还包括包含指令集合的计算机可读存储介质,以引起一个或多个处理器执行本文所描述的方法、该方法的变体,以及其它操作。
一些实施例包括系统,其包括捆绑器、转换器、流时钟和归档服务。捆绑器可以被配置为从数据发生器接收流原始数据,且通过将每个数据包与具有单调增加的顺序的唯一的标识符关联将该原始数据捆绑为一系列数据包。转换器可以接收该数据包(例如,从归档)并生成可加载的数据结构用于与数据订阅者关联的报告存储。加载器可以基于逻辑排序接收并存储该可加载的数据结构至与该数据订阅者关联的存储设备。
一些实施例可包括主时钟,其被配置为生成序列逻辑的整数,每个都与在业务对齐的、策略驱动(声明的)的系列的数据包中的单个数据包关联。在各种实施例中,该系统可以包括数据通道,其允许来自数据发生器的数据连续流至数据订阅者。此外,消息通道可以被用于提供通过数据分布系统连续地从数据发生器流至数据订阅者的数据的当前的状态。控制通道与数据通道分离以允许数据订阅者请求对数据的重放也可以被用于一些实施例中。
尽管多个实施例中公开了,本发明的其它实施例从下面详细描述中对于本领域技术人员而言仍将变得显而易见,其示出并描述了本发明的示例性实施例。如将要认识到,本发明能够在各个方面进行修改,所有这些都不脱离本发明的精神和范围。因此,附图和详细描述应被视为示例性的而非限制性的。
附图说明
本发明的实施例将通过使用附图被描述和解释,其中:
图1所示是本技术的一些实施例可以被利用的环境的示例;
图2所示是根据技术的一个或多个实施例的数据分布系统的操作的阶段;
图3所示是根据本技术的各种实施例的用于捆绑数据的一组操作的流程图;
图4所示是根据本技术的一些实施例的用于处理数据流的一组操作的流程图;
图5所示是根据本技术的一个或多个实施例的数据分布系统的一组组件;
图6所示是根据本技术的各种实施例的用于传送数据的一组操作的流程图;
图7所示是可以被用在本技术的一个或多个实施例中的数据分布系统架构的概述;
图8所示是本发明的实施例可以利用的计算机系统的示例;
附图未必按比例绘制。例如,一些组件和/或操作可以被分成不同的块或者被组合成单个块以用于讨论本申请的技术的一些实施例。而且,虽然本发明服从各种修改和替代形式,但是特定实施例已经在附图中通过示例的方式示出并且在下面被详细描述了。然而,本发明不被限于所描述的特定实施例。相反,本发明旨在覆盖落入由所附权利要求所限定的本发明的范围内的所有修改、等同物以及替代方案。
具体实施例
本申请的技术的各种实施例总体上涉及数据管理(例如,存储和大数据的移动)。更具体地,一些实施例涉及用于可扩展的结构化数据分布的系统和方法。一些实施例提供了适合于可靠地分布大量数据到多个平行客户端的数据总线。此外,一些实施例包括集成系统,其用于有效地吸收、归档、和分布任何规模的数据集,以及通过实时流和过去的数据重放提供灵活的、基于策略的高容量的数据分布。
数据用户往往希望数据是一致的、可用的和分区的(“CAP”)。瞬间实现所有这些属性通常是非常困难的。在许多一致性和可用性是至关重要的机构内实行延迟的一致性是有利的妥协,而某些时间延迟是可以被接受的。这样,在此公开的数据分布系统的一些实施例保持一致性、可用性和分区性的神圣,而只有在一致性的时间设置上让步。通过用于标记数据的唯一时钟方案,最终各种数据分布系统的实施例实现所需要的CAP。
为了解决来源于监管和竞争压力的向外扩展的需求,各种实施例提供了利用BASE架构的数据流解决方案。各种实施例提供一种集成系统,其用于有效地吸收、归档和分布任意规模的数据集。该集成系统可提供可扩展的分布(即高效、同时分流到任意数量的用户)、一致性(即一致的实时备份、数据共享和鉴证支持)、灵活性(即供应商独立性和分析引擎的快速运用)、管理(即在分布上的安全策略驱动管理),和/或鉴证(即以最高速度对数据的过去版本进行重放和恢复)。
此外,集成数据分布系统的一些实施例允许开发人员能够识别简单术语的数据(模式和业务目的),并提交大量数据到总线,在那里策略管理存储、转换并同时到多个目标的分流。所有通过总线发送的数据版本可被压缩和存储,然后以到任何目标的保证的一致性被重放几秒、几天或几年之后。一些实施例包括可被更广泛地应用的特征,包括可修改的基于组件的、消息驱动的架构、无状态和声明的设置,以及特殊的压缩和优化特征。
一些实施例在内部和外部域上以节省成本的云技术为数据流架桥。为此,该技术的一些实施例可以包括特征以支持各种分布式/非分布式流组合,例如,但不限于以下内容:1)高容量数据捕获和重放;2)用于电线和磁盘上的安全的基于策略的加密;3)高通量平行传输;4)在途平行处理或转换;5)高级结构化压缩;6)在业务层面监控和管理数据处理和存储成本的能力;和/或7)柔性适配器进出可重复的数据流。
尽管许多传统的系统使用命令式的数据流,本技术的各种实施例使用基于规则的或“声明的”数据流。其结果是,所有数据的提供、订阅、通过、归档和授权可以通过一组被充分理解的规则从任何专有实现解耦。此外,数据可以从底层存储库模型被抽象出来。由于捕获的数据以有序、原始形式被保存,该数据可以从过去的任何点被重放到新的数据库解决方案,为新技术的快速应用提供一个很好的平台。在一些实施例中,内置一致性机制帮助管理同时流。这允许不同的数据存储被填充和平行使用。通过平行地使用一致的存储,新的混合报告架构成为可能。例如,串联关系的和NoSQL引擎的综合优势在应用层可用,以此种方式为大数据报告的挑战提供新的性能和成本比例动态。
在下面的描述中,出于解释的目的,对许多特定细节进行了阐述,以便彻底理解本发明的实施例。然而,本发明的实施例可以在没有这些具体细节的情况下实施,这对于本领域技术人员而言将是显而易见的。
此外,在此介绍的技术可以被表现为专用硬件(例如,电路)、以软件和/或固件适当编程的可编程电路,或特殊用途和可编程电路的组合。因此,实施例可以包括具有存储于其上的非暂时性指令的非暂时性机器可读介质,该非暂时性指令可用于对计算机(或其它电子设备)进行编程以执行进程。机器可读介质可以包括,但不限于,光盘、光盘只读存储器(CD-ROM)、磁光盘、ROM、随机访问存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM),专用集成电路(ASIC)、磁或光卡、闪存,或其它类型的适于存储电子指令的介质/机器可读介质。
术语
以下给出了贯穿本申请所用的术语、缩写词以及短语的简要定义。
术语“连接”或“耦合”和相关术语在操作意义上被使用,并且未必限于直接的物理连接或耦合。因此,例如,两个设备可以直接地或者经由一个或多个中间媒体或设备来耦合。作为另一示例,设备能够以在其间传递信息同时不与彼此共享任何物理连接的方式来耦合设备。基于本文所提供的公开内容,本领域技术人员根据前述定义将了解存在的连接或耦合的各种方式。
短语“在某些实施例中”、“根据各种实施例”、“在所示出的实施例中”、“在其它实施例中”等类似的短语一般意味着跟随该短语之后的特定特征、结构或特性被包括在本发明的至少一个实施例中,且可能被包括在多于一个实施例中。此外,这样的短语未必指的是相同的实施例或者指的是不同的实施例。
如果本说明陈述组件或特征“可以”、“能够”、“可能”或“也许”被包括或者具有特性,则不要求该特定组件或特征被包括或者具有该特性。
概述
图1所示是本技术的一些实施例中可被利用在其中的环境100的示例。如图1所示,数据发生器110A-110N产生在数据分布网络120上被分布至数据用户130A-130N的数据。根据各种实施例,数据分布网络120实现通过特征组合的可扩展的数据流。通过数据发生器110A-110N生成的数据可以被结构化,且流处理组件都被给予对该结构的认识。这种认识可以在运行时被注入,甚至可以在每个工作循环注入,如果需要,用于更多的动态资源共享。通过系统地结构化由数据发生器生成的数据,各种实施例可以利用下列一个或多个特征:1)有效的进程内的和在磁盘上的列式压缩;2)数据和控制流的分离;3)通过呈现重要的业务构建进行流的透明化和监控;4)能够通过订阅、过滤、分叉,或合并有效地管理流的能力;以及5)植入结构化数据服务到流的能力,诸如目标数据存储上游的密钥生成服务。
在一些实施例中,数据分布网络120包括流处理组件,其推送所有产物给外部服务用于基于每个工作周期的状态管理和恢复。节省下来的状态服务可以被专门用于这一目的。以这种方式,该系统的所有繁重的处理组件恢复外部服务状态的关闭,并且可以做到从周期到周期的完全动态。处理的无状态的规则是通过专注于管理状态(无处理)的指定的状态服务来读取来自下游产物的进度。同样地,流处理部件可仅接收推送到它们的输入或从声明的上行服务请求它。
一种可视化设计的实施例的方式是考虑流处理组件作为管的一段,其可被动态地附着以兼容管的上游和下游段。管连接是高度动态的,由于更多的处理可以在状态组件之间运转,而不需要上传或恢复任何以前的状态信息。在各种不同的实施例中,仅存在一个状态服务组件,所有其它状态服务最终都可以从该状态服务组件恢复。这是原始归档服务140。在一些实施例中所有下游状态服务的归档要求可以被放宽。
图2所示是根据技术的一个或多个实施例的数据分布系统200的操作的阶段。如图2所示,数据分布系统200能够从一个或多个数据发生器110A-110N摄取流数据。如下面进一步解释的,然后该数据被捆绑成可以被压缩(例如,使用列式压缩)的离散数据包。然后这些离散数据包被分配到一个或多个数据用户。基本上同时地,离散数据包可以被提供一个唯一标识符并归档(在图2中未示出)。然后数据用户可以从离散数据包中解包数据,并生成报告或以其它方式使用数据。
数据分布系统200可以具有可插入组件架构。该数据分布系统可具有处理组件和状态服务。在一些实施例中,处理组件可包括双通道管段一一个数据流通道和一个控制流通道。状态服务也可以具有分离的数据和控制通道,但作为多个目的地扇出的信号分离器,如图2所示。该组件可以是语言和平台独立的。组件之间的协议可以通过消息订阅/发布被实现,其包括通过存/取性质的窄交付传送API和通过启动/关闭的进程控制API的仪器输出。
从操作的角度来看,外部组件的行为非常相似。它们发布与分布式主时钟对齐的一致的仪器信息,使得进程和容量可以通过系统被理解。仪器可与数据包的唯一标识符(即束ID)对齐。也就是说,在开始消耗一束或完成一束的处理之后存在仪器事件。仪器的该方面以主时钟对仪器事件排序。以主时钟对仪器事件排序允许与流时钟事件对齐的仪器作为控制事件。
数据分布系统200的组件延伸超出基本运输,并可以被用于有助于数据的最终交付的任何步骤。一些实施例提供了数据管理进程,其将数据形成为在将来可访问的格式。如果需要对数据进行恢复或重放,归档可以基于独特的标识符定位并重新发送数据的精确副本。例如,也将遵循具有一致的仪器的双管无状态进程模型。以这种方式,贯穿流的全程,容量和监控可以用单个工具集进行管理。
数据分布系统200可以最大化事件的效率,因为持久性的要求对于下游归档不是必要的。持久性消息只在进入到用于打包和归档的捆绑器时被要求。从该点上来说,鉴于唯一标识符和打包,所有的数据是可重复的。非持久主题被用于发布捆绑器外或下游的所有活动,大大降低了基础设施的负担。
通过使数据分布系统200的组件配置是声明性的,系统可以动态地运转流量处理组件,如上所述。通过使数据结构和数据源模型是声明性的,该系统提供了关于那些源的操作透明度和简单的方法以建立哪些数据可从哪里得到的公共目录。声明订阅可以被用于精确地理解数据流,其在使用数据分布系统200的部门之间被共享。所有的数据和控制信号可以通过系统被推送,从而随着动态的安装和扩展,允许声明性协议和数据的发布者和订阅者之间的解耦。
图3所示是根据本技术的各种实施例的用于捆绑数据的一组操作300的流程图。接收操作310接收来自一个或多个数据发生器的流数据。确定操作320确定捆绑参数(例如,束大小)用于根据捆绑参数捆绑不同的小块流数据。捆绑参数可包括允许业务确定数据应当如何被分组或捆绑(例如,通过图5所示的捆绑器)成数据包(例如,基于内容、来源、预期用途等)的业务规则。在一些情况下,捆绑器可以在进行任何转换之前集合原始消息或数据。束可以被分配一单调增加的束ID或其它唯一标识符以按顺序对束排序。这种唯一的ID可能是公共的ID,其用于报告版本、验证和任何其它需要利用束流数据的有保证的顺序的查询活动。
存储操作330在归档中存储捆绑的数据包。然后发布操作340可以发布与在控制通道上的束关联的元数据。在一些实施例中,元数据可包括束ID。除了在控制通道上发布元数据,发布操作350可发布元数据至分离的流。尽管关于非持久主题的控制信息可以被发送,控制数据的相同副本可具有数据本身。包括具有包的控制数据的一些优点包括以下内容:1)系统的确切行为可从归档被读取和重放,因为包中包含了所有事件和数据;以及2)包括定位在束本身内的索引信息的控制摘要信息允许文件(只是索引)的快速扫描,在很多情况下消除了扫描整个文件的需要。
图4所示是根据技术的一些实施例的用于处理数据流的一组操作400的流程图。这些操作的一个或多个操作可以通过各种系统组件来执行,如提交服务或捆绑器。如图4所示,接收操作410接收来自一个或多个数据发生器的流数据。捆绑操作420捆绑流数据成为数据包,如图3所示。其通过排序操作430被分配了唯一的标识符。传送操作440传送具有分配的唯一标识符的数据包至一个或多个数据用户。
捆绑操作420可以集合进入数据分布系统的不同小块的信息成为较大的时钟逻辑的数据块、数据包或束。由捆绑操作420执行的大数据流的集合允许系统利用数据和控制的分离。通过调整被包括在束元数据内的束大小和控制信息,该系统可以创建多倍效率用于管理通过束的元数据的数据(又名控制数据)。各种实施例允许控制数据的内容的选择以调整大数据流的决定。
通过捆绑操作420进行数据的集合或“分块”也具有改善IO性能的直接和简单的好处。在一些实施例中,通过唯一的ID,捆绑与序列化和识别束的排序密切相关,它对于创建数据的可靠分布是有用的。没有通过序列化和识别给定的一致的排序,数据流不能在多个位置被可靠地再现(例如,主要的和备份)。
图5所示是根据本技术的一个或多个实施例的数据分布系统500的一组组件。如图5所示,数据分布系统500可以包括捆绑器510、归档520、转换器530、存储库服务540、加载器550、报告存储560和存储570。
从数据流的角度看,捆绑器510可以位于提交服务和归档服务520之间。提交服务,尽管没有示出,是从一个或多个数据发生器接收原始流数据,并将该原始数据提供给捆绑器510。捆绑器510创建特定数据流的连续排序的束,即,有一组特定的协调的捆绑器进程用于每种类型的消息流。这些协调进程创建集合的数据表示,并将其发送到归档服务。
考虑到束是以单调增加顺序被生成和流动的,不同“束流”可被创建以便于数据流的不同部分的动态加速,其中基于一些选择标准使得一些束流动比其它束快。元数据的选择可以被用来识别和分别列举一系列的束。
作为一个示例,多束可以通过以下标准构建:业务日期,类型:={Greeks|Credi tGreeks|UnderlierAttributes},以及地域:={GL|AS|EU|AM}。这将导致每个业务日期的流经数据分布系统的12束流;每个束流的唯一标识符必须是单独的,以便允许有优先次序,并且是无间隔和有序的单调递增的唯一ID。
在一些实施例中,束的内容可以包括控制数据,其被与数据打包在一起成为束。尽管关于非持久主题的控制信息也被发送出,其相同副本可具有数据本身。一些优点包括以下内容:1)系统的确切行为可从归档被读取和重放,因为束中包含了所有事件和数据;以及2)被定位在束本身内的包括索引信息的控制摘要信息允许文件(只是索引)的快速扫描,从而减少或消除了扫描整个文件的需要。
束可以是在任何转换被执行之前的原始信息的集合。束可以通过唯一标识符被序列化,其可以是单调增加的束ID。这种唯一的标识符可能是公共的ID,其被用于报告版本、验证和任何其它需要利用束流数据的有保证的顺序的查询活动。束消息可以包括任何以下五个部分:1)摘要部分;2)质量部分;3)索引部分;4)校验和部分;和/或5)数据部分。
束的摘要段可以被用来以密钥信息和束的那些顶层属性唯一地标识束,那些属性通常是在所有类型的数据中引发关注,所有类型的数据如被捆绑的数据流、束的序列号、列表数据的行数,和数据段的大小。在一些实施例中,摘要段可独立于所有其它部分被发送以作为一个快速控制信号。
质量部分是在束消息中可选的轻量级保留段,其是由纯源化进程决定来填充。例如,定价进程可能会提供关于它生产的数据的性质的指标,例如完整性检查故障。通过将完整性检查故障放在一个特殊区域用于数据的独立消耗,纯源化可以为订阅者提供更高速度的信息至质量段。以下团队可能订阅这些信号以在糟糕的数据击中束时就提前知道糟糕的数据。MR分析师也可能订阅某些信号以获得完整性检查故障的预警。这些消息段的大小将在物理上被限制,且该效用将取决于提供时数据是如何被精心组织的。
索引段是可选束段,其以简明的形式指示该束的内容其对于跟踪和解决问题是有用的。不同于质量段,索引段通过使用业务对齐策略基于应用于列表数据的密钥规则的束而建立。索引段可能是数据本身大小的一小部分,但预计有时将大于摘要和质量段。
校验和消息段可以被包括在包含数据段的消息内。通过包括校验和消息段,数据加载变得在所有分布的位置中独立地可验证。在一些实施例中,校验和消息段包括表示在数据部分中的列表数据的所有列的集合/总和/散列的校验和。
在一些实施例中,束的数据段可以是消息或数据的集合的一列表式重组。数据可以以一中性形式被保存。该数据的格式通过在保持输入消息格式的一致性和被优化用于转换成若干其它形式之间进行平衡被选择。典型地,数据段可以是大至束允许的最大大小的任何大小。
在一些实施例中,归档服务520存储包括所有的段的完整的束。通过存储完整的束,容错以及使用重放的新系统的背面填充可被提供。此外,存储完整的束对轻量级消息也有优化的好处和影响,因为控制消息不需要持久;如果所有的消息段被保留在一个可用的归档存储中,则非持久的消息策略可以简单地通过归档轮询被后退以采取更有效的分布。
该摘要段提供密钥信息以唯一地识别束以及是什么允许关于将被关联的相同束的不同消息。摘要部分的无密钥元素提供一些一般特征,其对于观察和识别在监控工具中可视的段是有用的(例如,数据数、大小、数据流和束号码)。具有数据段的消息还可以包括校验和段。通过包括校验和段与数据段,分布式独立位置可在转换之后独立地验证数据并上传而无需交叉引用其他位置。这种独立性是一个大量数据的低接触可靠分布的关键促成者。
使用这些约束,任何其它的消息组合可根据需要被创建。一个简单的策略是创建一个轻量级消息,其包括除了作为控制信息的数据之外的一切。如果段是始终如一的轻量级,这个策略导致只有两个束类型用于特定的数据流-控制消息包括摘要、质量、索引以及校验和信息,以及完整的数据消息包括所有这些附加的数据。该捆绑器可以根据配置用于动态的消息货的规则发布这两个消息类型。
作为一个例子,该摘要部分可以包含以下结构:每个值的名字被在“:=”之前显示,并且该值可以是专有项的枚举列表、数据的类型或另一种结构。
此外,在消息解析之前需要被选择或检查的值可被包括在消息属性部分(仅限于字符串和数字)。例如,允许过滤、束流的字符串化版本将被添加作为字符串消息属性。日期、时间标记,以及用于解释的任何必须被解析的数据应仅被包括在该消息的有效载体内(JSON文本)。
数据由捆绑器510以唯一的识别符捆绑并标记,并被放置到归档520中。转换器530从归档520中提取数据以将其转换成便于用户使用的加载数据。与目标报告存储560对齐的加载器550确保数据是根据协议被加载的(串行和原子束)。
归档520和存储库服务540管理状态存储。归档服务可以通过该系统重复所有流。在分布式的数据中实现归档一致性要求影响数据的事件的排序的解决方案。数据分布系统500通过分布事件作为数据以及通过单调递增的唯一标识符实现排序和至所有用户的传送的完整性实现一致性。用数据库管理员熟悉的术语来说,数据分布系统500以有效的和一致的方式管理事务日志组件到所有类型的所有数据库和数据存储的传送。事务日志组件流就是流。这是一种技术人员通常思考数据库问题的相反方式。事务日志通常被认为是数据库中数据的回溯而不是多种数据库的最重要的位置。
为了保证恶劣环境下的一致性,事务数据的这种流是持续和可重放的。这种持续的可重放的流是管线状态的中心。这是唯一需要仔细管理的用于可恢复性的状态。以任何该流可流动的速度,所有组件和此流的下游状态是可恢复的。
在系统中颠倒事务日志和数据库的定位可以添加在这样范例上构建的应用的复杂性。建立在这种类型的传送顶部的应用需要注意版本元数据,如果它们需要比较不同的物理位置之间的数据。数据分布系统的一个目标是通过建立分布式的版本化方案的最简单的可能的基础使这个版本范例作为可采用的并尽可能简单的。在这个版本方案的中心是一个新的计时方法,其目的是精确的分布。
本技术的各种实施例使用单调的用户对齐的时钟和流。计时和排序设备的一个例子是一个无间隔的递增的整数系列。数据分布系统500保证,对于每一个指定的数据流,有一个且只有一个对数据排序的连续系列的整数周期(即,主时钟)。
主时钟的最重要的方面就是相对于用户对齐。时钟的周期与用户的上传对齐。每个周期代表一个可加载数据集或“束”。为了使客户端受益于在系统中的一致性,它们必须在事务中加载每个束并且处于时钟提供的顺序。换句话说,每个束是一个原子的上传客户端。这通过具有以其提取任何需要的束的确定的命名方案和将被传送的确定的束的系列(单调递增顺序)使得客户端更方便。
数据流可以从任何数据系列被配置以建立独立的数据流。这在技术上的意思是,流将具有自己的独立系列的时钟周期。这使得该流以不同于其它流的速率运行。在数据集中的任何规模的集可以被宣称以声明流。通常,这些与不同的流优先级对齐。例如,如果由客户端的价格估值组成的数据集会按业务日期和对一选择的业务日期的业务价格进行分流,业务可能被允许以更高于其它业务的优先级流动。
本技术的其它一些实施例通过在消耗和写下数据之后立即允许协议以创建引用的不可变归档来允许引用流数据的能力。被创建用于分布的束通过一个明确定义的引用策略是永久可识别的,这依赖于它们的流包(束)身份。这种方法,与业务对齐的归档规则一起,几乎当数据一写入到磁盘中时就架桥于流和归档数据。关于数据的每个信号或涉及数据的报告可以利用对包的永久的引用。在流环境中数据沿袭被给予了非常即时(近实时)的支持。
分布的传送至多个目标可以引入可怕的核对要求。数据分布系统500的各种实施例包括在流中通过检验和的核对。检验和可以以每一个数据束被包括在控制信息内。这些检验和被用于确保在传送到目标存储之后数据是如预期的。
数据分布系统500可以采用列式检验和策略。这种策略是行式校验和的有效性的三倍。首先,列式检验和符合列式压缩优化。当与行式检验和相比时,它们可以是更有效的。其次,列式检验和可以在不同的数据存储间工作,并被给予公差以用于在具有不同的浮点表示的平台间舍入误差。第三,列式检验和与列式订阅是更有效的组合,其中客户端仅订阅数据的列的子集。
图6所示是根据本技术的各种实施例的用于传送数据的一组操作600的流程图。如图6所示,可以在数据分布系统内运行两个线程。一个线程可以允许从发生器接收的数据包被归档并被自动推送到任何数据订阅者。第二线程可以允许数据订阅者请求某些被重放的数据。
接收操作610接收来自一个或多个数据发生器的流数据。捆绑操作620可以捆绑数据成为数据包,其被分配到唯一的有序的标识符。然后该数据包可使用归档操作630被归档。转换操作640转换数据包成为订阅者请求的可加载的格式。然后采用传送操作650,该数据包可以以所期望的格式被传送至数据用户。
当重放操作660接收请求以重放一些数据包时,然后检索操作670可以从归档中检索所需的数据包。然后这些数据包利用转换操作640被转换变成为请求的可加载的格式。通过使用传送操作650,该数据包随后以所期望的格式被传送。
图7所示是可以被用在本技术的一个或多个实施例中的数据分布系统架构700的概述。图7示出了消息和控制数据是如何被精确地从归档复制到DC2归档。有两个用于归档的容错的基本选项。保证的-本地复制和跨分区(例如,到DC2归档)。对于MRT,数据流是可再生的,所以具有15分钟复制至分区的本地的保证满足这些需求。对于事务性的活动,跨分区的数据复制的更高程度的保证可能是必要的。
归档服务采用分层存储以获得最大的通量。分层存储允许归档履行其作为一个大容量信号分离器的作用(一次写入,多次读取)。数据可以被写入到归档服务,并随后几乎立刻由多个用户读取。本技术的各种实施例包括用于来自归档的束的用户的API。该API可以很简单,但要明确束的用户的责任(API的调用者-这主要是转换器)以声明他们需要什么束-这执行了用户知道消耗的束的状态的原则。这允许澄清单向依赖性以及故障恢复的责任。例如,该接入点(AP)可以是一个单一的功能,如以下:Msg归档::获取束(数据流、开始数、最大束、最大数据大小、最大等待时间)。
数据用户还可以通过在归档写入后被激发的事件与归档间接进行交互。当小消息需要原子的处理和实时加载频率的增加时,在小束中的所有数据的发布可以允许各种技术的实施例以有效地、灵活地运作。
转换器可以仅是部分转换数据(即,他们负责维护他们从归档服务消耗的结构化数据的基本模式、集合和枢轴)。“转换”是转变为便于上传的格式。每个转换器可以消耗用于特定的数据的连续序列的束,并将其转换成便于加载和上传其至转换存储库服务的形式。通常情况下,转换器的产物可通过多个加载器进程被消耗。
转换器可以是无状态的,并且可能使得关于数据流的增量发展。其结果是,转换器可能会从它们的输出(从转换存储库)拾取状态,因此,通过简单地删除或移动在存储库中的输出进行紧急维护是可能的;转换器将从其写入到的存储库的最新的一批的最后继续工作。消耗随着具有心跳模式的订阅,其有利于根据动态消息货配置的消息的推送和提取。转换器可以在每个束流的基础上进行操作,允许每个流被单独生成并防止一个束流阻挡另一个。根据各种实施例,转换器可被数据的发生器/提供者拥有,且是原始数据束的唯一用户,以确保外部用户不直接消耗束消息。相反,转换器可以根据一个声明的协议消耗转换器的产物。
这个服务与束的归档服务类似,但它存储转换器的转换产物。转换后的数据包可以明显比束大,由上传包内的多个束组成。
加载器上传来自转换存储库服务的优化包到指定的目标存储。该加载器配置在运行时被提供且包括转换存储库服务、目标存储和数据模式信息。与转换器/归档服务的关系类似,加载器可以订阅转换存储库控制信号并从转换存储库服务提取所需要的东西。与转换器类似,加载器利用在目标的状态性存储中的状态,以确保收到束是不重复的。由于该事实使得责任更为清晰,该转换器API需要加载器给予批次的起始的束ID以提取。只有加载器具有洞察其在目标存储中的加载状态和进展情况,所以加载器驱动对数据的请求是有意义的。请注意,这并不意味着加载器是纯粹的轮询。如同转换器,加载器利用具有心跳方法的订阅收集数据,其给予具有附加的心跳的监控可靠性的最好的推动效率。
加载器为每一个数据流创建附加的加载控制流至目标存储。该第二流是存储特定的加载表历史和检验和核对结果。它代表了特定的数据目标的加载记录和检验和结果。注意,该数据流独立于加载记录流。
通过该技术的实施例创建的各种流可以被设计成便于高容量加载到各种报告存储。出于这个原因,并且由于就地更新不是许多类型的存储的选项,数据流通常最好被捕获作为不可变的事件的表。当采取这种方法时,数据表在所有这些报告存储间逻辑上变得相同。它不包含任何实例特定的概念,如时间戳。所有实例特定的信息在加载控制表中被捕获。除去时间戳的一个优点是在数据表的清晰分离内被创建的简易型,它是跨系统的逻辑相同的,尽管加载控制表是实例特定的。唯一的标识符可以被用作一个准普遍的时钟增量,所以在数据表中无需时间戳以了解相对的版本。加载控制表映射实例特定的时间至特定的数据存储的流时间。
一些实施例支持任何长度或大小的分布式事务,并通过一逻辑的,而非物理的事务方法跨任意数量的不同的数据流。事务完整性在目的地被执行,且超时是可配置的。事务是具有超时的增加的服务的逻辑数据集的一种类型。通过在来自数据的单独的通道上流动一特殊的事务条件并给预定事务的所有数据分配事务ID,分布式事务可以在一个或多个实施例中被实现。事务信号包括事务ID标签和超时阈值。与例如“行数”的规则以及诸如“2555”的测量相一致的完成标准可以与该初始信号一起被发送,如果它是已知的,或在稍后的点被发送,如果它是未知的。所有以这种身份提交的数据被认为是事务的一部分。逻辑事务的想法是流动所有的事务信息到每个目标数据存储,即使是挂起和未提交的事务数据。运输进程的机构推送完全不可知的信息至流之间的事务。
事务的数据元素可以被分配一个唯一的事务ID。对于像捆绑器、转换器和加载器一样的组件,这个ID可以是数据的另一个方面而不具有特殊目的。事务ID可被分配给任何跨一个或多个数据流的没有限制的数据元素。对于处理复杂粒度事务的复杂事务,被分配事务ID的元素之间的间隔甚至是允许的,因此,跨数据元素的任何事务可以被指定。
事务的完成标准可以通过单独的事务流被分配给所有端数据存储。完成标准可以像受事务影响的在每个流(或登陆表)中预期的行数一样简单,或像规则驱动配置允许一样复杂。完成标准可以包括在一些实施例中的超时间隔。从捆绑器、归档、转换器和加载器的角度,事务流是像数据分布系统内的其它任何流一样的。不存在任何与其它高速的、轻量级流不同的特殊处理(像用户编辑流)。完成标准可以在其引用的数据的任何时间之前或之后到达。
作为这个的结果,以及为了极好地支持分布式事务,对没有完成标准的事务ID可考虑挂起事务,以及与它们相关联的所有数据可被认为是不完整的。换句话说,非零事务ID的存在,是所有需要的以标记数据作为事务的一部分,并且任何支持的事务信息的缺失被准确地解释为尚未符合完成标准。
一特殊的事务完成进程(或TCP)可能对指定的授权的报告实例运行,并订阅了所有可能会影响到它处理的事务流的加载器的事件。这个进程封装了所有的逻辑,用于确定事务是否根据完成标准和已经到达的数据被完成了。注意限制这个复杂的逻辑至一个进程的实现和配置的优势,和保持在报告/查询API之外的复杂性的优势。TCP可能持有被所有未决事务的事务ID键控的简单的缓存。随着数据到达,它会在端数据存储中更新事务完成状态,并从缓存中移除已完成的事务。如其它强大的系统组件一样,TCP可以仅利用端数据存储状态用于启动/恢复。完成状态可以通过发布至事务流进行更新。这给予一致的事务状态至所有的分布式存储。
完成状态事件可能包含事务ID和满足事务的完成标准的数据的最大束ID。如果一个规范化表用于事务状态,具有每个数据流中含一个行条目(一种通用、灵活和可能是最好的办法),完成标准可以被规定仅为数据被预期的表,以及完成状态的束ID将是完成的事务的数据的最大束ID。与其它处理流的管道组件相同,TCP为所有事务流束发布开始和结束处理(用于监控、支持和扩展的一致性)。然而,TCP不需要发布来自其它数据流的接收信号,因为它不处理在那些流中的写入或提交。TCP通过标记任何超过给定时间限制的事务的状态为“超时”(并且也会从挂起事务的缓存中除去超时事务)来处理“超时”。
当束ID低于最低的挂起事务的束ID时报告查询利用在事务流中的完成标准来查询。事务最简单的解释是忽略任何等于或大于挂起事务的开始的数据束,其中事务状态不等于超时,从而忽略超时事务。
对于更复杂的事务处理,TCP将被加强以检查它的挂起和处理中的事务的缓存用于在特定键间隔上的重叠(维度组合),并会发布/写入之后的与其它挂起的事务的键间隔冲突的事务的故障。
方便地,投入TCP的细粒事务的增加的复杂性可以减少查询的复杂性。复杂的粒度事务的查询不必从最低挂起事务束ID选择;它们可以简单地只选择具有成功的完成状态的事务。注意,通过设计事务完成处理到一单一进程,当启动TCP时,配置不同的处理策略用于流的集合作为配置规则变得更容易。事务处理的复杂性可以无需使其它核心系统组件变复杂而发展。
由于事务分配是与束正交的,并且它如何可以跨数据应用是完全灵活的,事务的实现可以发展得比依赖束的方法更复杂。什么构成冲突的业务特定的处理会被封装在TCP中,作为结果的查询逻辑会变得比具有更少的粒状的基于分块的选择查询更简单。
因为系统中的进程保持它们的基本运输责任的纯粹,执行异常和问题可以被更容易地隔离和理解。负载均衡和最优化不会被在流中的表-锁定或其它类型的互相操作或等待运行完成复杂化。由于所有的事务信息会被发布到端数据存储,因此它们是可以被报告的。调查超过数目的冲突事务或超时会变成很容易的事情。
该技术的各种实施例保持主要组件作为单纯的独立于业务事务性的需求的传输基本设施。因此,这些实施例能够降低需要“窥视”系统的核心以监视挂起事务活动或其它状态的进程的未来可能性。应用活动可以反而利用更好的设计以支持进程和工具的端数据存储。
逻辑事务通过乐观锁与正常的非事务性流协同工作。相比于数据流事务是弱的(即乐观的),在数据流中的任何与事务冲突的流将导致事务失败,而非流。通过锁定事务创建逻辑流失败可以使事务变得强(比如,锁定),这个事务会使所有在事务期间到达的数据无效,其不是事务的一部分。然而,在该数据分布系统上对流进行备份(非物理的,但通过逻辑失效)似乎会背离保证的最终一致性分布的精神。这样的特征,如果需要,必须小心地使用。
逻辑事务利用硬件的趋势,其中存储容量增长并持续增长多倍,但是IO能力却落后于该增长。获取和存储所有被提交的事务的代价很低的;空间的浪费不用被担心。如上面所提到的,有时具有可用的失败事务信息是更有利于理解和调节系统的。
会有一个相当大的区别在管理流或改变数据的模式以及报告静态数据的模式之间。在一些实施例中管理可以被使用来将全是事务的分布式数据转换成到更适合历史查询的更清楚的形式。
一些实施例可以使用动态的信息货来动态地优化消息流用于可变大小的消息。所有消息束仍然可以以完整形式被保存在归档中,包括控制、索引、质量和数据段。对于大的消息(“大”的阈值是可以在捆绑器中配置的),所有但是数据部分可能会被发布在EMS总线上,标志束的成功归档。然后转换器会回顾从归档中请求数据束。然而,对于大量的小消息,我们可以发布包括数据部分的全部的消息,避免用户往返请求数据的需要。
转换器消耗动态消息,然后有一个协议来对发送给它们的数据内容进行遵守。对纯控制消息,他们会回顾并从归档中抓取大的数据。对于小的消息,他们会单纯地继续并消耗消息中的数据并放弃额外的差错(并使得归档服务器免于忙于小数据集的请求)。这些动态的策略变得非常重要因为我们对不同消息流进行加速通过,其具有编辑、允许和可变的消息内容。适合被推送的流将被推送。具有非常大的适于文件存储和获取的数据集的流将会自动做而无需对各种服务器进程进行调整。系统通过调整捆绑大小、消息阈值和压缩策略会变的高度可协调。
包大小的调整可以留给管理基础设施的运营团队。基础设施可能会如预期经常变更并会由于环境的不同而不同。分层存储解决方案将会演变,用于传输的最佳打包在几乎每次的硬件升级中变化。这就是为什么捆绑器有三重阈值的配置:通过时间阈值、大小阈值,和逻辑行数阈值。
当偶发轮询时,具有心跳的订阅是一种组合的方法来订阅非持久性的信息。心跳机制(轮询)减轻了发生器上的持久性的存储-转发责任并给予流架构师在控制的持久性和非持久性发布之间选择的能力。然而,当心跳机制与恢复逻辑耦合时,心跳机制的好处远超过简单的监控检查;这个组合能提供一个非常简单而强大的恢复实现。
作为一个示例,考虑以下转换器的束的消耗。转换器通过询问转换存储库已经处理到什么程度-换句话说,在存储库中下一个准备处理和存储的束是哪个来启动。然后它可以调用归档服务来使接下来的束进行处理(只要是一个看上去合理的数字)。归档服务会返回这个束。在批次处理后,转换器会等待一些时间用于从归档服务传来信号以指示期望的若干束为下一批次做好准备。
如果束准备好了,转换器会请求下一步-重复步骤1。如果没有束做好准备并且没有到来的活动,总之转换器在继续和请求束之前将等待一个配置的时间间隔。记住,信号并不是持久的,所以会有一小的可能性,即没有信号到达,但是转换器必须继续去询问来确定。如果仍然没有束,则时间衰减会增加一些量来等待下一个心跳检查。心跳机制保持减慢。当束最终再次可用,它们会被获取,并将心跳率为在缺少的控制信息中的更频繁的轮询而再次增加。
数据目标承担一些责任来允许数据分布系统以确保一致性。它们必须使数据可读回数据分布系统,如果数据分布系统是将管理被创建的数据的一致性。然而,这相对于来自用于目标间的核对的降低的需求的获取而言通常会是一个很小的成本。
数据版本化可以被用于在不同的目标数据存储之间获得一致的数据。对数据分布系统客户端,版本策略要求从传统的ACID方法转移到另一个方法,这个方法中每个数据请求不仅返回数据,还返回流时钟信息。需要在不同的目的地保持一致的查询需要提供流时钟时间(束ID)以得到相同的结果,或失败/警告如果没有可用的数据。然而,数据分布系统的协议要求最终数据必须是一致的。
数据的更新本质上只是更换相同的数据,这里的“相同”是由身份策略来决定的。身份策略基本上是键属性的选择,通过其来评级/排序和选择。在相同的身份的流中后到达的数据会取代早到达的数据。然而,数据并不总是由身份被控制或被替换或被无效化。在某些情况下,它会对通过身份以外的属性管理数据有意义。逻辑数据集,下面将进行解释,是另一种方法来管理数据的集合,Q其不是通过身份,而是通过其它属性,如由谁提交数据或数据用于什么用途。
身份服务是另一个例子来说明嵌入声明结构的数据流相比起非结构化的流是如何可以具有很大的优势。身份服务可以在流中生成用于选择列的子集的短整数身份密钥,并通过这些密钥来丰富数据集。这样的密钥在任何目标存储中用于提升报告操作的性能。这在建模宽的、非规范化的流时特别有效,其经常被用于分布式源的实践。目前,我们计划使用日生成的密钥集,因为它只是在需要提升的日流中。历史密钥生成不需要在流中完成。
加载控制表是确保用于特定系列的数据与检验和是一致的方式。想要绝对保证他们只会选择检出的核对的数据的客户端需要使用加载控制表来确定他们可以安全选择的最高的水标识。例如:Select from Datasetwhere BundleID<(Select MIN(InvalidBundleStatus)fromDatasetControl)…,其中InvalidBundleStatus取决于找到最低的尚未成功地验证的束ID或者通过返回最大数据束ID+1。这种算法会将所有待验证的作为无效处理,直到运行。
尽管增加了一些复杂性分摊至关心束检查状态的客户端,但从相对于单个数据项的束大小获得的杠杆率(通常在1000对1),意味着没有明显的性能附加。这样的系统的一个优点是,它将校验和失败的临界放到客户端的手中。在非常大的数据流的情况下,客户端仍然希望访问数据,即使知道校验和失败。客户端很可能决定,基于数据的非物质性,先使用后续数据而于此同时让坏数据进行修复。
逻辑数据集是用于创建事务的理念的扩展。因为束是一种完全由用于调节流的基础设施操作所拥有的物理包域,分离的逻辑构建必须被引入以管理任意类型的应用数据集。逻辑数据集通过发送具有唯一身份的逻辑数据集定义而被创建,然后以该身份标记所有随后提交的数据。逻辑数据集定义是公布在一个分离的流上,具有与其引用的数据流的分离结构。随后客户端选择逻辑集流的属性并选择其应用至的数据。
逻辑数据集帮助促进完整性功能。类似于事务,在逻辑数据流中提供的完整性标准和标记的相关数据可以指示在逻辑集内的所有数据是否在特定的报告存储中是可用的。
事务是具有超时检查的增加因素的完整性逻辑数据集的一种类型。因为逻辑集被表示为流,它们享有与常规数据流相同的束和版本化特征。这意味着逻辑集信息可以如数据流中的数据一样演化。并且一系列的逻辑事件会在流中排队,还有一个逻辑时钟,使所有这些跨系统的逻辑事件对齐。一个好的策略是允许逻辑集事件显示被包含在一般默认消耗中或者从一般默认消耗中排除。逻辑事件流可以,通过这种方式,为所有用户形成数据上的共同的视角,而用户可以选择包含或忽略在自己的预览中的某些组件-然后推出状态更新到这些逻辑集流以使期望的内容公开。然后数据和事件的官方公共视角可以作为流/最大束ID对被通信以用于数据集和逻辑数据集。这也许是最简洁和直观的方式来表达这样一个复杂的流事件的选择。
一组被认可的流和束ID的配对的发布被称为“Blessing”。Blessing可以通过任何流授权发布,其只要确定数据流作为特定的点有利于消耗。在使用这些数据集时,平行传送的流的Blessing提供大数据集的平行可用性和协同/一致性。
在一些实施例中的编辑是另一种形式的逻辑数据集。被修改的数据仅是被添加到流中以取代那个数据的之前的版本,其具有唯一的编辑身份以将其与在编辑中的其它数据系在一起。通过这种方式,编辑可以被包含或被忽略。删除是一种特殊形式的修改。删除可以被实现为特定的逻辑集的失效。例如,糟糕的发起运行可以通过忽略与发起运行相关联的逻辑集被“删除”。个别项目的删除独立于任何特定的逻辑集的无效,其将会通过提交具有与删除内容有相同身份的数据项和在数据表中被设定为true的逻辑删除状态被完成。
容错可通过复制的消息归档的双流被获得。考虑到所有的数据都可以从这个归档中再生,唯一需要考虑的关键点是如何创建归档本身的容错。
示例性计算机系统概述
本发明的具体实施例包括各种步骤和操作,这在上面已经描述。各种这些步骤和操作可以由硬件组件来执行,或可以被表现为机器可执行指令,其可以被用于引起由指令编程的通用或专用处理器来执行步骤。可替换地,这些步骤可以由硬件、软件和/或固件的组合来执行。像这样,图8所示是本发明的实施例可以利用的可能被用于作为计算机系统800示例。根据本示例,该计算机系统包括:总线810、至少一个处理器820、至少一个通信端口830、主存储器840、可移动存储介质850、只读存储器860和大容量存储器870。
处理器820可以是任何已知的处理器,例如,但不限于,处理器;处理器;基于ARM的处理器或处理器的线路。通信端口830可以是任何一个的用于与调制解调器的拨号连接的RS-232端口、10/100以太网端口,或使用铜缆或光纤千兆位端口。通信端口830可以根据网络例如局域网(LAN)、广域网(WAN)或者任何与计算机系统800连接的网络进行选择。
主存储器840可以是随机访问存储器(RAM),或任何其它在本领域中公知的动态存储设备。只读存储器860可以是任何静态存储设备,例如可编程只读存储器(PROM)芯片,用于存储静态信息诸如用于处理器820的指令。
大容量存储器870可以被用于存储信息和指令。例如,也可以使用硬盘等家族的SCSI驱动器、光盘、磁盘阵列如RAID,如Adaptec家族的RAID驱动器,或者任何其它的大容量存储设备。
总线810将处理器820与其它内存、存储设备和通信模块通信耦合。总线810可以是基于PCI/PCI-X或基于SCS I的系统总线,取决于所使用的存储设备。
可移动存储介质850可以是任何类型的外部硬盘驱动器、软盘驱动器、Zip驱动器,只读光盘驱动器(CD-ROM)、可复写式光盘机(CD-RW),或数字只读光盘存储器(DVD-ROM)。
以上描述的部件意在举例说明某些类型的可能性。上述实施例决不应当限制本发明的范围,因为它们仅是示例性实施例。
综上所述,本发明提供了新颖的用于结构化数据分布的系统、方法和布置。尽管本发明的一个或多个实施例的详细描述已经在上面给出,不改变本发明的精神,各种替换、修改和等同物对于本领域技术人员而言将是显而易见的。例如,尽管上面描述的实施例涉及特定的特征,本发明的范围还包括具有不同特征的组合的实施例以及未包括所有上述特征的实施例。

Claims (27)

1.一种方法包括:
从数据发生器接收流数据;
确定来自所述流数据的业务对齐的归档序列,所述流数据应当根据一组捆绑参数被捆绑在一起;
将所述数据捆绑为具有标准格式的数据包;
通过使用由主时钟产生的一系列连续的整数对每个所述数据包排序;
在控制通道上发布关于所述数据包的可用性的元数据;以及
传送所述数据包至已订阅了所述数据发生器的数据用户。
2.根据权利要求1所述的方法,其中所述捆绑参数包括由业务规定的声明性规则。
3.根据权利要求1所述的方法,其中所述标准格式是偏向于所述流数据的移动和压缩的标准的中性格式。
4.根据权利要求1所述的方法,进一步包括基于根据来自数据用户的请求的排序重放所述数据包。
5.根据权利要求1所述的方法,进一步包括以平台独立的方式对所述数据包归档。
6.根据权利要求1所述的方法,其中被发布在所述控制通道上的所述元数据包括索引。
7.根据权利要求1所述的方法,其中所述数据的捆绑包括识别数据,其当被压缩时将导致在所述数据包的每个包具有期望的尺寸。
8.根据权利要求1所述的方法,其中捆绑所述数据包括将每个所述捆绑的包与新的元数据关联,其中所述新的元数据包括摘要数据、质量数据、索引数据或校验和数据中的至少一个。
9.根据权利要求1所述的方法,其中所述数据包至所述用户的所述传送包括平行传送。
10.根据权利要求1所述的方法,进一步包括使用列式校验和用于验证所述数据。
11.根据权利要求10所述的方法,其中所述列式校验和允许以规定的公差舍入误差。
12.一种系统包括:
捆绑器,其被配置为从数据发生器接收流原始数据且将所述原始数据捆绑为一系列数据包,并且与每个所述数据包唯一的标识符关联,所述唯一的标识符具有基于来自所述数据发生器的上传的单调增加的顺序;
转换器,其接收具有所述关联的唯一的标识符的所述数据包并生成可加载的数据结构用于与数据订阅者关联的报告存储;以及
加载器,其基于所述单调增加的顺序接收并存储所述可加载的数据结构至与所述数据订阅者关联的存储设备。
13.根据权利要求12所述的系统,其中所述流原始数据包括多个流。
14.根据权利要求13所述的系统,其中来自每个所述多个流的所述数据包被分配不同组的唯一的标识符。
15.根据权利要求13所述的系统,其中流原始数据的每个所述多个流被分配流优先级。
16.根据权利要求12所述的系统,进一步包括识别模块,其从所述流时钟接收系列逻辑整数并生成具有所述逻辑排序的所述唯一的标识符。
17.根据权利要求16所述的系统,进一步包括流时钟,其被配置为生成所述系列逻辑整数,并且其中单个整数是与在所述系列数据包中的单个数据包关联的所述唯一的标识符。
18.根据权利要求12所述的系统,进一步包括:
数据通道,其允许来自数据发生器的数据通过所述捆绑器被连续流至所述数据订阅者;
消息通道,其提供被连续地从所述数据发生器流至所述数据订阅者的所述数据的当前的状态;以及
控制通道,其与所述数据通道分离以允许所述数据订阅者请求所述数据的重放。
19.根据权利要求18所述的系统,其中所述控制通道以相较于所述数据通道更快的速度运行。
20.根据权利要求18所述的系统,其中所述控制通道递归地发布关于所述数据包的元数据。
21.根据权利要求12所述的系统,进一步包括归档服务以归档所述数据包。
22.一种方法包括:
接收请求以重放被捆绑成数据包的数据,其具有在被存储于归档之前被分配给所述数据包的逻辑的排序,其中所述请求包括在将被重放的所述数据上的逻辑绑定并为所述数据订阅者识别格式;
从所述归档检索与所述逻辑绑定一致的数据;以及
将所述数据包转换成在重放所述数据的所述请求中被识别的可加载的格式。
23.根据权利要求22所述的方法,其中在所述逻辑绑定后的数据包被忽略。
24.根据权利要求22所述的方法,进一步包括:
接收归档策略的选择;以及
根据所述归档策略归档所述数据。
25.根据权利要求24所述的方法,其中所述归档策略是基于维度的归档策略。
26.根据权利要求22所述的方法,其中所述数据包使用列式压缩被压缩。
27.根据权利要求22所述的方法,其中所述数据包包括每个提供摘要数据、质量数据、索引数据或校验和数据的元数据。
CN201380031492.4A 2012-04-13 2013-04-15 用于可扩展的结构化数据分布的系统和方法 Active CN104641614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810203145.XA CN108337320B (zh) 2012-04-13 2013-04-15 用于可扩展的结构化数据分布的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261623877P 2012-04-13 2012-04-13
US61/623,877 2012-04-13
PCT/US2013/036652 WO2013155532A2 (en) 2012-04-13 2013-04-15 Systems and methods for scalable structured data distribution

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810203145.XA Division CN108337320B (zh) 2012-04-13 2013-04-15 用于可扩展的结构化数据分布的系统和方法

Publications (2)

Publication Number Publication Date
CN104641614A true CN104641614A (zh) 2015-05-20
CN104641614B CN104641614B (zh) 2018-04-13

Family

ID=49326108

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380031492.4A Active CN104641614B (zh) 2012-04-13 2013-04-15 用于可扩展的结构化数据分布的系统和方法
CN201810203145.XA Active CN108337320B (zh) 2012-04-13 2013-04-15 用于可扩展的结构化数据分布的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810203145.XA Active CN108337320B (zh) 2012-04-13 2013-04-15 用于可扩展的结构化数据分布的系统和方法

Country Status (8)

Country Link
US (4) US20130275612A1 (zh)
EP (2) EP3926931A3 (zh)
JP (1) JP6090681B2 (zh)
CN (2) CN104641614B (zh)
AU (4) AU2013245651B2 (zh)
CA (1) CA2870021C (zh)
HK (1) HK1251935A1 (zh)
WO (1) WO2013155532A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019025A (zh) * 2017-07-20 2019-07-16 中国移动通信集团公司 一种流数据处理方法和装置

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US10445674B2 (en) 2012-06-05 2019-10-15 Dimensional Insight Incorporated Measure factory
US10671955B2 (en) 2012-06-05 2020-06-02 Dimensional Insight Incorporated Dynamic generation of guided pages
US10755233B2 (en) 2012-06-05 2020-08-25 Dimensional Insight Incorporated Guided page navigation
US9274668B2 (en) 2012-06-05 2016-03-01 Dimensional Insight Incorporated Guided page navigation
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9509529B1 (en) * 2012-10-16 2016-11-29 Solace Systems, Inc. Assured messaging system with differentiated real time traffic
US9582475B2 (en) * 2012-12-17 2017-02-28 Business Objects Software Ltd. Packaging business intelligence documents with embedded data
US9536096B2 (en) * 2012-12-17 2017-01-03 Business Objects Software Ltd. Presenting visualizations of business intelligence data
US9596279B2 (en) * 2013-02-08 2017-03-14 Dell Products L.P. Cloud-based streaming data receiver and persister
US9191432B2 (en) 2013-02-11 2015-11-17 Dell Products L.P. SAAS network-based backup system
US9442993B2 (en) 2013-02-11 2016-09-13 Dell Products L.P. Metadata manager for analytics system
US9141680B2 (en) 2013-02-11 2015-09-22 Dell Products L.P. Data consistency and rollback for cloud analytics
US9652520B2 (en) 2013-08-29 2017-05-16 Oracle International Corporation System and method for supporting parallel asynchronous synchronization between clusters in a distributed data grid
US9798727B2 (en) 2014-05-27 2017-10-24 International Business Machines Corporation Reordering of database records for improved compression
US9860292B2 (en) 2014-06-04 2018-01-02 Inmobi Pte. Ltd. Method and system for delivering data to a batch consumer and a streaming consumer
US10394692B2 (en) * 2015-01-29 2019-08-27 Signalfx, Inc. Real-time processing of data streams received from instrumented software
US11030063B1 (en) * 2015-03-30 2021-06-08 Amazon Technologies, Inc. Ensuring data integrity during large-scale data migration
US10387414B2 (en) 2015-04-13 2019-08-20 Risk Management Solutions, Inc. High performance big data computing system and platform
US10044788B2 (en) * 2015-11-17 2018-08-07 Wyse Technology L.L.C. Native client multimedia redirection
US10838965B1 (en) * 2016-04-22 2020-11-17 EMC IP Holding Company LLC Data valuation at content ingest
US10725947B2 (en) * 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine
CN106934593A (zh) * 2017-02-22 2017-07-07 上海爱韦讯信息技术有限公司 一种基于fog数据的独立性控制方法及实现装置
US20180332367A1 (en) * 2017-05-09 2018-11-15 EMC IP Holding Company LLC Dynamically scaling a number of stream segments that dynamically store streaming data while preserving the order of writes
US10922287B2 (en) 2017-05-24 2021-02-16 Cisco Technology, Inc. Intelligent layout of composite data structures in tiered storage
US10545823B2 (en) 2017-10-13 2020-01-28 Cisco Technology, Inc. Accelerating erasure code replication in distributed systems
US10915516B2 (en) 2017-10-18 2021-02-09 Cisco Technology, Inc. Efficient trickle updates in large databases using persistent memory
EP3489774B1 (de) * 2017-11-22 2024-04-17 Siemens Aktiengesellschaft Automatisierte ermittlung einer parametrierung eines auswerteverfahrens
US10691671B2 (en) 2017-12-21 2020-06-23 Cisco Technology, Inc. Using persistent memory to enable consistent data for batch processing and streaming processing
US11188865B2 (en) 2018-07-13 2021-11-30 Dimensional Insight Incorporated Assisted analytics
US10678699B2 (en) 2018-07-26 2020-06-09 Cisco Technology, Inc. Cascading pre-filter to improve caching efficiency
US11966400B2 (en) 2020-02-18 2024-04-23 Sony Group Corporation Common database architecture to support largescale transactions and node archival on a MaaS platform
TWI758736B (zh) * 2020-05-26 2022-03-21 昕力資訊股份有限公司 應用在並行處理環境的工作排程與執行的電腦程式產品及裝置
CN111694828A (zh) * 2020-06-08 2020-09-22 山东伏羲智库互联网研究院 数据处理方法、设备、系统及存储介质
US11929163B1 (en) 2020-10-16 2024-03-12 Express Scripts Strategic Development, Inc. Automated device efficacy determination systems for health monitoring devices
US11515035B1 (en) 2020-10-16 2022-11-29 Express Scripts Strategic Development, Inc. Automated device efficacy determination systems for health monitoring devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246463A1 (en) * 2010-04-05 2011-10-06 Microsoft Corporation Summarizing streams of information

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341476A (en) * 1992-12-23 1994-08-23 Abbott Laboratories Dynamic data distribution network with sink and source files for particular data types
US6594682B2 (en) * 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6549540B1 (en) 1999-03-15 2003-04-15 Sun Microsystems, Inc. Method and apparatus for bundling serial data transmission links to obtain increased data throughput
WO2002013091A1 (en) 2000-08-04 2002-02-14 Goldman, Sachs & Co. System for processing raw financial data to produce validated product offering information to subscribers
US7051315B2 (en) * 2000-09-26 2006-05-23 Appstream, Inc. Network streaming of multi-application program code
GB2368247A (en) * 2000-10-18 2002-04-24 Power X Ltd Method and apparatus for regulating process state control messages
US8352988B2 (en) * 2000-11-27 2013-01-08 Cox Communications, Inc. System and method for time shifting the delivery of video information
US7882257B2 (en) * 2000-12-29 2011-02-01 Avaya Inc. Stream processing node
US20020144283A1 (en) * 2001-03-30 2002-10-03 Intertainer, Inc. Content distribution system
JP3588061B2 (ja) * 2001-05-16 2004-11-10 日本ユニシス株式会社 データ交換装置、データ交換方法及びデータ交換プログラム
US6877107B2 (en) * 2001-07-05 2005-04-05 Softwired Ag Method for ensuring operation during node failures and network partitions in a clustered message passing server
US20030145089A1 (en) * 2002-01-29 2003-07-31 Xerox Corporation System and method for enabling arbitrary components to transfer data between each other
FR2838589B1 (fr) 2002-04-10 2005-03-04 Thomson Licensing Sa Dispositif de transmission de donnees et dispositif de reception de donnees
US7290057B2 (en) * 2002-08-20 2007-10-30 Microsoft Corporation Media streaming of web content data
CN100417156C (zh) * 2003-07-16 2008-09-03 中兴通讯股份有限公司 一种流控传输协议中数据传输实现方法及系统
GB2407006A (en) * 2003-10-08 2005-04-13 Sony Uk Ltd Communicating streamed payload data and packet based auxiliary data
WO2007076459A2 (en) * 2005-12-21 2007-07-05 Digimarc Corporation Rules driven pan id metadata routing system and network
US20070208828A1 (en) * 2006-01-24 2007-09-06 Brier John J Jr Systems and methods for data mining and interactive presentation of same
US7769704B2 (en) * 2006-03-09 2010-08-03 Evolveware, Inc. Contextual pattern decoder engine
WO2007130338A2 (en) * 2006-05-01 2007-11-15 Portfolia, Inc. Consolidation, sharing and analysis of investment information
US8094685B2 (en) * 2006-10-04 2012-01-10 Siemens Medical Solutions Usa, Inc. Systems and methods for synchronizing multiple video streams
WO2008063164A2 (en) 2006-11-17 2008-05-29 Barclays Capital Inc. System and method for generating customized reports
CN101232623A (zh) * 2007-01-22 2008-07-30 李会根 基于传输流的立体音视频数字编码传输方法和系统
JP5650197B2 (ja) * 2009-03-31 2015-01-07 テレフオンアクチーボラゲット エル エム エリクソン(パブル) マルチキャスト配信を通じてメディアを提供するシステムのための方法及び装置
WO2012075565A1 (en) * 2010-12-06 2012-06-14 Smart Technologies Ulc Annotation method and system for conferencing
US9930379B2 (en) * 2012-01-31 2018-03-27 Comcast Cable Communications, Llc System and method for data stream fragmentation
US9264747B2 (en) * 2012-03-11 2016-02-16 Broadcom Corporation Audio/video channel bonding configuration adaptations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246463A1 (en) * 2010-04-05 2011-10-06 Microsoft Corporation Summarizing streams of information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019025A (zh) * 2017-07-20 2019-07-16 中国移动通信集团公司 一种流数据处理方法和装置

Also Published As

Publication number Publication date
CN108337320B (zh) 2020-09-01
US20170078349A1 (en) 2017-03-16
JP2015519639A (ja) 2015-07-09
AU2016225945B2 (en) 2018-04-12
AU2018202871B2 (en) 2020-02-06
US9479556B2 (en) 2016-10-25
CA2870021C (en) 2018-07-31
EP3926931A3 (en) 2022-05-04
CN108337320A (zh) 2018-07-27
HK1251935A1 (zh) 2019-05-03
EP2837158A4 (en) 2015-12-16
WO2013155532A2 (en) 2013-10-17
AU2013245651A1 (en) 2014-10-30
US10601883B2 (en) 2020-03-24
EP3926931A2 (en) 2021-12-22
AU2013245651B2 (en) 2016-06-16
US20160072866A1 (en) 2016-03-10
US20130275612A1 (en) 2013-10-17
CA2870021A1 (en) 2013-10-17
AU2020202988A1 (en) 2020-05-28
US20200186582A1 (en) 2020-06-11
US10904308B2 (en) 2021-01-26
AU2018202871A1 (en) 2018-05-17
JP6090681B2 (ja) 2017-03-08
AU2016225945A1 (en) 2016-09-29
AU2020202988B2 (en) 2021-05-13
EP2837158A2 (en) 2015-02-18
WO2013155532A3 (en) 2013-12-05
CN104641614B (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN104641614A (zh) 用于可扩展的结构化数据分布的系统和方法
CN106164865B (zh) 用于数据复制的依赖性感知的事务批处理的方法和系统
US9116955B2 (en) Managing data queries
CN110651265A (zh) 数据复制系统
CN105144080A (zh) 用于元数据管理的系统
CN102822819A (zh) 管理数据查询
CN109144785A (zh) 用于备份数据的方法和装置
CN114218218A (zh) 基于数据仓库的数据处理方法、装置、设备及存储介质
Sánchez et al. Distributed data collection for the ATLAS EventIndex
Barberis et al. The ATLAS EventIndex: a BigData catalogue for all ATLAS experiment events
CN106156356A (zh) 基于xml的oais信息封装方法及系统
Fernández Casaní et al. A reliable large distributed object store based platform for collecting event metadata
KR101508068B1 (ko) 데이터 중복성 제거 장치 및 그 방법
Favareto et al. Use of the Hadoop structured storage tools for the ATLAS EventIndex event catalogue
CN111488321A (zh) 一种对存储卷的管理系统
US20170032004A1 (en) Core data services based cross-system analytics
Golpayegani The Lightweight Virtual File System
Annangi Security Log Analysis Using Hadoop
Jingang et al. The design and implementation of the IDS catalogue data archive system
Boychenko A Distributed Analysis Framework for Heterogeneous Data Processing in HEP Environments
CN118550972A (zh) 一种微批数据采集处理方法、装置及可读存储介质
St-Hilaire et al. Maritime Situational Awareness Research Infrastructure (MSARI): Requirements and High Level Design
Capitão Micael José

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American New York

Applicant after: Goldman Sachs LLC

Address before: American New York

Applicant before: Goldman Sachs

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant