CN110168522B - 维护数据沿袭以检测数据事件 - Google Patents
维护数据沿袭以检测数据事件 Download PDFInfo
- Publication number
- CN110168522B CN110168522B CN201780077385.3A CN201780077385A CN110168522B CN 110168522 B CN110168522 B CN 110168522B CN 201780077385 A CN201780077385 A CN 201780077385A CN 110168522 B CN110168522 B CN 110168522B
- Authority
- CN
- China
- Prior art keywords
- history
- data
- event
- etl
- data objects
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 148
- 230000008569 process Effects 0.000 claims abstract description 81
- 230000009466 transformation Effects 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 238000003860 storage Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 18
- 238000005192 partition Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 abstract description 5
- 238000011156 evaluation Methods 0.000 abstract 1
- 238000013500 data storage Methods 0.000 description 26
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2393—Updating materialised views
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
可维护数据对象的历史以检测数据事件。可接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载(ETL)过程的指示。可更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的所述ETL过程。可执行对所述更新的评估以确定是否触发与所述数据沿袭相关联的事件。如果所述事件被触发,那么可向所述事件的一个或多个订户发送所述事件的通知。
Description
背景技术
随着组织创建、跟踪和保留信息的技术能力不断提高,已经开发出用于管理和存储不断增长的信息浪潮的各种不同技术。例如,数据库系统为客户端提供许多不同的专用或定制的硬件和软件配置来管理存储的信息。组织必须存储和管理的数据量越来越多,常常对应地增加了数据存储和管理技术(如数据库系统)的规模和复杂性,这继而增加了维护信息的成本。新技术试图通过引入提供不同处理或维护能力的不同数据格式来降低维护数据的复杂性和存储要求。然而,引入多种数据格式并非没有代价。数据通常由不同系统处理,所述系统可不支持数据的当前数据格式。因此,应用了在不同格式或位置之间提取、变换和加载数据的技术。因此,随着时间的推移,数据可在内容、模式、格式或位置方面演变。可需要可跟踪数据演变并对演进采取响应动作的技术。
附图说明
图1是根据一些实施例的示出维护历史以检测数据事件的逻辑框图。
图2是根据一些实施例的示出提供不同服务的提供商网络的逻辑框图,所述服务包括响应于数据事件执行提取、变换、加载(ETL)处理的ETL服务。
图3是根据一些实施例的示出执行ETL处理的ETL服务的逻辑框图。
图4是根据一些实施例的示出ETL服务的数据目录的逻辑框图,所述数据目录维护历史、检测用于历史的数据事件,并向ETL作业管理提供数据事件的通知。
图5是根据一些实施例的示出维护历史、检测用于历史的数据事件并发送数据事件的通知的数据目录的逻辑框图。
图6示出根据一些实施例的实例历史图。
图7示出根据一些实施例的在客户端和用于管理或更新历史结构的数据目录服务之间的交互。
图8是根据一些实施例的示出用于实施维护历史以检测数据事件的方法和技术的高级流程图。
图9示出根据一些实施例的被配置成实施本文描述的各种方法、技术和系统的实例系统。
尽管本文通过实例的方式针对若干实施例和说明性附图描述实施例,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应当理解,附图和对其的详细描述并非旨在将实施例限制于所公开的特定形式,而是相反,其意图为覆盖落入由所附权利要求限定的精神和范围内的所有修改、等同物和替代物。本文使用的标题仅用于组织目的,并非意指用于限制说明书或权利要求的范围。如在整个本申请中所使用的,词语“可”以允许的意义使用(即,意指具有潜在的意义),而不是强制意义(即,意指必须)。类似地,词语“包括(include)”、“包括(including)”和“包括(includes)”意指包括但不限于。
还应当理解,尽管术语第一、第二等可在本文中用于描述各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于区分一种元件与另一种元件。举例来说,在不脱离本发明的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都为触点,但它们不是相同的触点。
具体实施方式
本文描述维护历史以检测数据事件的各种实施例。ETL处理通过促进跨不同数据存储库和数据模式或格式的移动数据,为数据管理员、利益相关者、生产者或消费者提供利用不同数据格式、存储系统或存储位置的能力。举例来说,收集网站交互的使用和其它分析(例如,访问者点击和其它动作)的数据产生器可生成呈大日志文件或其它半结构化数据格式的存储的分析数据。然而,为了对分析数据执行各种分析操作或查询,可执行ETL过程以提取期望的数据,将期望的数据变换为分析引擎(如数据库系统)可用的格式,并将提取的数据以适当的数据模式和格式加载到适当的存储系统中。
典型的ETL处理技术依赖于按时间顺序的机制来启动ETL处理的执行。ETL过程可被安排为每晚执行,或在某一天的某个时间每周执行一次。然而,由于ETL处理作业与数据交互并变换数据,因此可最佳地使执行ETL处理作业的定时与数据或关于数据的事件的改变对准,因为数据并非始终按调度创建、更新、修改或删除,也不会以相同的方式创建、更新、修改或删除。举例来说,可在数据存储库中创建或存储新数据对象以添加另一天的销售价值数据,或可将新数据对象存储为较大数据集的校正。此外,除了执行ETL处理的那些之外,多个不同系统对数据对象的改变感兴趣。举例来说,监控、安全或审计系统可对数据事件进行推断以采取不同的动作(例如,防御性动作或数据调查)。因此,许多方都对数据的改变感兴趣。
可维护历史信息,所述历史信息描述数据沿袭或数据随时间的变化的历史。举例来说,历史信息可指示何时数据对象被用作ETL过程的输入,或生成数据对象的ETL过程。由于历史信息可提供关于数据对象随时间的变化或数据对象之间的链接的丰富信息集,因此可通过维护历史信息来定义和检测数据事件。
图1是根据一些实施例的示出维护历史以检测数据事件的逻辑框图。数据产生器(一个或多个)110可以是创建或修改存储在一个或多个数据存储库中的数据对象的任何实体。数据产生器(一个或多个)110可写入、存储、更新或删除数据对象,如数据文件、目录、表、字节范围、数据块、数据页、数据组块或其它数据结构。数据对象可包含非结构化数据(例如,文档、图像等)、半结构化数据(例如,逗号分隔值(CSV)文件)或结构化数据(例如,数据库表)。数据对象的创建(或改变)可作为提取、变换或加载(ETL)过程的一部分来执行。
可通过包括或以其它方式描述由ETL过程指示112指示的改变来创建、改变、修改、更新或以其它方式维护历史120。举例来说,ETL过程指示112可包括输入数据(例如,源数据对象(一个或多个))、输入参数(例如,述词、函数或其它ETL控件),以及所得输出数据(例如,变换的数据对象(一个或多个))。可将历史120存储为数据结构(如下面关于图6讨论的沿袭数据结构620)以描述数据对象从一个状态到另一个状态的演变。举例来说,数据对象(一个或多个)122a可以是以原始格式存储的数据对象(例如,直接来自数据产生器110)。然后,可应用ETL过程124a来生成数据对象(一个或多个)122b,其可移除无关数据、不完整记录,改变数据对象的数据模式和文件格式。可将另一个ETL过程124b应用于数据对象122b以生成变换的数据对象(一个或多个)122c,其可以是信息与其它数据对象(未示出,但可在历史120中指示或描述)组合或结合的数据对象。
对于与历史120相关联的事件,在各种实施例中,可针对事件标准评估由历史120的更新描述的改变。举例来说,注册历史120的事件的请求(如下面关于图7讨论的请求730)可描述条件,如触发事件的历史120的改变的类型。改变的类型或其它条件或标准可包括存储新数据对象(例如,作为ETL过程的结果)、由ETL过程变换的数据对象的方面、特征、属性或内容(例如,数据对象的大小、记录数、添加/移除的记录数、文件格式、最小或最大数据值、数据值的平均值等)、数据对象的源(例如,数据产生器、ETL过程等)、数据对象的位置或与数据对象或产生数据对象的ETL过程相关的任何其它标准。
如果识别出事件,那么可向事件订户(一个或多个)130提供事件132的通知。事件订户(一个或多个)130可以是ETL服务、系统或客户端(如下面关于图2至图7讨论的ETL服务220)、监控服务、安全服务、审计服务或可执行依赖于历史120中描述的数据对象的数据事件的任务或操作的其它系统、服务、装置或客户端。举例来说,基于网络的零售商可响应于指示表示库存或出售物的数据对象的改变的数据事件来更新网站的列表。在另一实例中,安全或监控系统可响应于检测到的指示对大量记录的删除或更新的数据事件而暂停访问或停止数据对象的处理。订户(一个或多个)130可提交事件注册以定制所通知的事件,或可订阅已经被监控的标准或默认事件。
请注意,维护历史以检测数据事件的先前描述是逻辑说明,因此不应被解释为对数据产生器、历史内容、表示或结构、ETL过程指示、数据事件通知或事件订户的限制。
本说明书以提供商网络的一般描述开始,所述提供商网络实施提取、变换、加载(ETL)服务,所述服务维护数据的历史信息并且识别、变换和移动存储在提供商网络或外部数据存储库中的数据。接着讨论包括可作为实施ETL服务的一部分采用的不同组件/模块或组件/模块的布置的ETL服务的各种实例。然后讨论实施维护历史以检测数据事件的多种不同方法和技术,其中一些在所附流程图中说明。最后,提供可在其上实施各种组件、模块、系统、装置和/或节点的实例计算系统的描述。在整个说明书中提供各种实例。
图2是根据一些实施例的示出提供不同服务的提供商网络的逻辑框图,所述服务包括响应于数据事件执行提取、变换、加载(ETL)处理的ETL服务。提供商网络200可为专用或封闭系统,或可由如公司或公共部门组织的实体建立,以向客户端250提供经由因特网和/或其它网络可访问的一种或多种服务(如各种类型的基于云的存储)。提供商网络200可在单个位置实施,或可包括托管各种资源池的众多数据中心,所述资源池如需要以实施和分布由提供商网络200提供的基础设施和存储服务的物理和/或虚拟化计算机服务器、存储装置、网络设备等(例如,下面关于图9描述的计算系统1000)的集合。在一些实施例中,提供商网络200可实施各种计算资源或服务,如数据存储服务(一种或多种)210(例如,对象存储服务、基于块的存储服务或数据仓库存储服务)、ETL服务220,以及其它服务(一种或多种)230,所述其它服务可包括虚拟计算服务、数据处理服务(一种或多种)(例如,地图缩减、数据流和/或其它大规模数据处理技术),和/或任何其它类型的基于网络的服务(其可包括未示出的各种其它类型的存储、处理、分析、通信、事件操纵、可视化和安全服务)。
在各种实施例中,图2所说明的组件可直接在计算机硬件内作为可由计算机硬件(例如,微处理器或计算机系统)直接或间接执行的指令实施,或使用这些技术的组合实施。举例来说,图2的组件可由包括多个计算节点(或简称为节点)的系统实施,所述计算节点中的每一个可类似于图9说明并且在下面描述的计算机系统实施例。在各种实施例中,给定系统或服务组件(例如,数据存储服务230的组件)的功能性可由特定节点实施,或可分布在若干节点上。在一些实施例中,给定节点可实施多于一个服务系统组件(例如,多于一个数据存储组件)的功能。
数据存储服务(一种或多种)210可实施用于代表客户端250存储、访问和管理数据的不同类型的数据存储库,作为基于网络的服务,其使得客户端250能够在云或网络计算环境中操作数据存储系统。举例来说,数据存储服务(一种或多种)210可包括各种类型的数据库存储服务(关系和非关系)或用于存储、查询和更新数据的数据仓库。这些服务可以是可缩放和可扩展的企业级数据库系统。查询可针对分布在多个物理资源上的数据存储服务210中的数据库或数据仓库,并且数据库系统可根据需要按比例放大或缩小。在不同的实施例中,数据库系统可有效地与各种类型和/或组织的数据库模式一起工作。在一些实施例中,客户端/订户可以多种方式提交查询,例如,通过SQL接口以交互方式向数据库系统提交。在其它实施例中,外部应用和程序可使用开放式数据库连接(ODBC)和/或Java数据库连接(JDBC)驱动程序接口向数据库系统提交查询。
数据存储服务(一种或多种)210还可包括用于放置、更新和获取数据对象或文件(其可包括未知文件类型的数据文件)的各种对象或文件数据存储库。可经由编程接口(例如,API)或图形用户接口来访问这类数据存储服务(一种或多种)210。数据存储服务(一种或多种)210可提供基于虚拟块的存储,用于将数据维护为数据卷的一部分,所述数据卷可类似于基于本地块的存储装置(例如,硬盘驱动器、固态驱动器等)被安装或访问,并且可利用基于块的数据存储协议或接口(如因特网小型计算机接口(iSCSI))来访问。
在一些实施例中,ETL服务220可跨各种数据存储服务210创建并动态地更新代表提供商网络200中的客户端存储的数据目录。举例来说,以非关系数据库格式存储的数据库可与在基于对象的数据存储库中存储对象的容器一起被识别为两者都代表提供商网络200的同一客户存储。ETL服务220可跟踪维护数据对象的历史的数据目录中描述的数据的更新或改变,如下面关于图5详细讨论的。ETL服务220还可执行从各种数据存储服务(一种或多种)210中的一种或多种提取、变换和加载到另一位置的ETL作业。举例来说,ETL服务可向客户端提供资源以创建、维护和编排数据加载作业,所述数据加载作业采取一种或多种数据集,执行各种变换操作,并且存储变换的数据以供另外处理(例如,通过数据处理服务(一种或多种)中的一种或多种)。在至少一些实施例中,可响应于基于数据目录中维护的数据对象的历史检测到的数据事件来执行ETL作业或过程,如下面关于图4所讨论的。在一些实施例中,ETL服务可访问由ETL服务220生成的数据目录,以便执行ETL操作(例如,将数据对象从一种文件类型转换为一种或多种不同文件类型的其它数据对象的作业)。
其它服务(一种或多种)230可包括各种类型的数据处理服务以执行不同功能(例如,异常检测、机器学习、查询或任何其它类型的数据处理操作)。举例来说,在至少一些实施例中,数据处理服务可包括地图缩减服务,其创建对存储在数据存储服务210之一中的数据实施地图缩减功能的处理节点的集群。各种其它分布式处理架构和技术可通过数据处理服务(例如,网格计算、分片、分布式散列等)来实施。注意,在一些实施例中,数据处理操作可实施为数据存储服务(一种或多种)210的一部分(例如,查询引擎处理对指定数据的请求)。数据处理服务(一种或多种)可以是ETL服务220的客户端,以便调用ETL作业的执行以使数据可用于在不同位置或数据格式中进行处理,从而执行各种关于存储在数据存储服务(一种或多种)210中的数据集的处理操作。在一些实施例中,其它服务(一种或多种)230可以是ETL服务220的客户端,以便订阅或接收ETL服务220在数据目录中维护的数据对象的历史中检测到的数据事件的通知。
一般来说,客户端250可涵盖可配置为经由网络260向提供商网络200提交基于网络的请求的任何类型的客户端,所述基于网络的请求包括对存储服务的请求(例如,创建、读取、写入、获得或修改数据存储服务(一种或多种)210中的数据的请求、在ETL服务220处生成ETL作业的请求等)。举例来说,给定客户端250可包括合适版本的web浏览器,或可包括插件模块或其它类型的代码模块,其被配置为作为web浏览器提供的执行环境的扩展或在所述执行环境内执行。替代地,客户端250可涵盖应用,如数据库应用(或其用户接口)、媒体应用、办公室应用或可利用数据存储服务(一种或多种)210中的存储资源来存储和/或访问数据以实施各种应用的任何其它应用。在一些实施例中,这类应用可包括足够的协议支持(例如,用于合适版本的超文本传输协议(HTTP)),用于生成和处理基于网络的服务请求,而不必实施对所有类型的基于网络的数据的完全浏览器支持。也就是说,客户端250可为被配置成直接与提供商网络200交互的应用。在一些实施例中,客户端250可被配置成根据代表性状态传输(REST)风格的基于网络的服务架构、基于文档或消息的基于网络的服务架构或另一合适的基于网络的服务架构来生成基于网络的服务请求。
在一些实施例中,客户端250可被配置为以对其它应用透明的方式向那些应用提供对提供商网络200的访问。举例来说,客户端250可被配置为与操作系统或文件系统集成,以在数据存储服务210(一种或多种)之一(例如,基于块的存储服务)上提供存储。然而,操作系统或文件系统可向应用提供不同的存储接口,如文件、目录和/或文件夹的传统文件系统层次结构。在这类实施例中,可不需要修改应用来利用存储系统服务模型。相反,介接到数据存储服务(一种或多种)210的细节可由客户端250和操作系统或文件系统代表在操作系统环境内执行的应用来协调。
客户端250可经由网络260向提供商网络200传达基于网络的服务请求(例如,针对数据存储服务(一种或多种)210中的数据的访问请求、操作、任务或作业,作为其它服务(一种或多种)230的一部分执行,或与ETL服务220交互)且接收来自提供商网络200的响应。在各种实施例中,网络260可涵盖在客户端250和提供商网络200之间建立基于网络的通信所必需的联网硬件和协议的任何合适的组合。举例来说,网络260通常可涵盖共同实施因特网的各种电信网络和服务提供商。网络260还可包括专用网络,如局域网(LAN)或广域网(WAN)以及公共或专用无线网络。举例来说,给定客户端250和提供商网络200两者可分别在具有它们自身内部网络的企业内提供。在这类实施例中,网络260可包括在给定客户端250和因特网之间以及因特网和提供商网络200之间建立网络链路所必需的硬件(例如,调制解调器、路由器、交换机、负载平衡器、代理服务器等)和软件(例如,协议栈、计费软件、防火墙/安全软件等)。注意,在一些实施例中,客户端250可使用专用网络而不是公共因特网与提供商网络200通信。
图3是根据一些实施例的示出执行事件驱动ETL处理的ETL服务的框图。ETL服务220可经由接口310提供对数据目录360和ETL作业(用于创建、管理和执行)的访问,在各种实施例中,接口310可以是编程接口(例如,应用编程接口(API))、命令行接口和/或图形用户接口。
ETL服务220可实施ETL作业创建320以通过手动作业创建(例如,创建、编辑或上载ETL代码或创建或编辑ETL作业的图)或通过自动作业创建来操纵ETL作业的创建。ETL作业创建n20可操纵自动ETL作业创建和手动ETL作业创建的请求。举例来说,ETL作业创建320可接收作业生成请求,所述作业生成请求可指定ETL作业的数据对象和目标数据格式。可包括其它作业信息,如访问凭证、触发事件或用于执行ETL作业的任何其它信息作为创建请求的一部分或作为触发事件注册请求的一部分。ETL作业创建320可通过确定数据对象的源数据格式和数据对象的目标数据格式来自动生成ETL代码以执行ETL作业。举例来说,在一个实施例中,可从数据目录360确定源数据格式和目标数据格式。在另一实施例中,ETL作业创建320可执行数据格式辨识技术,或访问其它数据存储库(例如,如存储在关系数据库中的数据目录)以检索数据格式信息。然后,ETL作业创建320可比较源数据格式和目标数据格式或模式,以选择应用于源数据对象的变换来实现目标数据格式。然后,ETL作业创建320可生成用于所选择变换的代码并构造用于执行所选择变换的源代码。ETL作业的代码可存储在ETL作业存储库350中以供后续执行。
ETL作业创建320还可实施ETL作业的手动创建。举例来说,可通过图形用户接口手动选择、组合或组装变换操作,以定义要应用的变换的工作流。对应于工作流的代码可生成(或由用户供应)、编辑和存储以供随后作为ETL作业存储库350的一部分执行。
ETL服务220可实施ETL作业管理330以向客户端提供管理、编辑、删除或以其它方式改变ETL作业的能力。也可为ETL作业定义触发事件。举例来说,基于针对数据对象维护的历史检测到的数据事件可被注册为ETL作业的触发事件。ETL作业管理330可订阅和接收数据事件并请求执行ETL作业,如下面关于图4所讨论的。
ETL服务220可实施ETL作业执行340以提供执行平台ETL作业。在一些实施例中,ETL作业执行340可提供无服务器架构(从客户端的角度),以便供应适当数量的资源(例如,来自执行ETL作业代码的虚拟计算服务的虚拟计算示例)以便满足客户端或ETL服务220提供的性能要求、目的或目标。在一些实施例中,ETL作业执行340可自动执行作业,而无需任何用户编辑来自ETL作业创建320的自动生成的ETL代码的改变。在一些实施例中,ETL作业执行340可执行被修改的自动生成的ETL作业。ETL作业执行340可响应于检测到的ETL作业的触发事件(其可由ETL作业管理或用于触发事件条件的另一系统或服务监控来检测)来执行作业。
ETL服务220可维护描述数据集(存储在提供商网络200中或外部存储位置中)的数据目录360并维护数据集的历史。ETL服务220可识别未知数据对象、识别未知数据对象的数据格式,并将数据格式存储在未知数据对象的数据目录中。ETL服务220允许目录用户、所有者或其它利益相关者修改或以其它方式管理数据目录。举例来说,ETL服务220可处理和执行针对数据目录360的访问请求(例如,组合、删除或拆分目录中的元数据表或编辑为数据目录确定的元数据的请求。ETL服务220可实施数据目录的访问或控制策略(例如,针对经授权用户限制对数据目录的访问)。ETL服务220可实施数据保留或生命周期策略以确定维护数据目录(或较旧版本的数据目录)的时间。ETL服务220可操纵用于创建新数据目录的数据中的存储资源的供应。ETL服务220还可执行负载平衡、热管理、故障恢复和其它资源管理技术(例如,实施持久性要求)以确保客户端的数据目录的可用性。
用于数据目录360的存储可由一个或多个存储节点、服务或计算装置(例如,下文关于图9讨论的系统1000)来实施,以为由数据目录服务200生成的数据目录提供持久存储。这类存储节点(或存储360的其它存储组件)可实施各种查询处理引擎或其它请求操纵组件,以根据经由接口310接收的请求提供对数据目录的访问。举例来说,在一个实施例中,数据目录存储可实施为非关系数据库,其存储表中的数据对象的文件类型和其它元数据。在一些实施例中,代表单个用户帐户跨不同存储服务(一种或多种)210存储的各种数据对象的元数据集合可一起存储在可使客户端可访问的用户数据对象的单个元数据目录中。
图4是根据一些实施例的示出ETL服务的数据目录的逻辑框图,所述数据目录维护历史、检测历史的数据事件,并向ETL作业管理提供数据事件的通知。ETL作业管理330可监控由来自数据目录360的通知420提供的数据事件,所述数据事件触发ETL作业并请求执行满足ETL作业的执行标准的ETL作业430。
数据目录360可维护数据集的历史信息(如下面关于图5所讨论的)。数据目录360可从外部ETL客户端410(例如,在提供商网络200外部实施的ETL系统、组件或装置,其经由网络260向ETL服务220提交ETL过程指示410)接收ETL过程的指示。数据目录360可更新ETL过程指示410的适当历史。同样地,数据目录360可接收内部ETL过程指示440作为由ETL作业执行340指示或执行的结果ETL过程并且更新ETL过程指示440的适当历史。如下面关于图5所讨论的,数据目录360可确定对数据目录的更新是否触发代表ETL作业管理330注册的数据事件。举例来说,可通过更新历史信息来检测指示原始数据对象的加载的数据事件,所述历史信息指示历史中的原始数据对象的示例已被添加到历史结构中。一旦检测到事件,就向ETL作业管理330提供事件420的通知。继而,ETL作业管理330可确定事件是否触发ETL作业的执行。如果触发了ETL作业(例如,基于ETL作业的执行标准或其它信息),那么可向ETL作业执行340提供请求430。
图5是根据一些实施例的示出维护历史、检测历史的数据事件并且发送数据事件的通知的数据目录的逻辑框图。除了存储数据对象的数据模式和其它元数据之外,数据目录360可维护历史存储库540,如图5所示。历史信息可以各种格式或数据结构存储在历史存储库540中。在一些实施例中,可根据图(或可从其生成图的对象集)来存储历史信息,如下面关于图6所讨论的。历史信息可响应于各种不同的请求由历史管理530更新536,或由历史560访问。
数据目录360可实施历史管理530以操纵存储在历史存储库540中的历史信息的创建、修改、更新或其它维护。举例来说,创建历史结构或对象的请求532可由历史管理530操纵,历史管理530可解释要在基础历史存储库540中进行的改变(例如,添加、移除、移动或修改哪些对象,以及应当是什么对象内容作为添加、移除、移动或修改的结果)并对历史执行适当的更新536。历史管理530还可操纵ETL过程534的指示,所述ETL过程534可更新源数据对象的历史536以包括ETL过程和作为审查调用的结果而生成的变换的数据对象。举例来说,历史管理530可在历史结构中创建历史对象的新示例并将必要信息(例如,数据模式版本、ETL过程、创建者、存储位置、输入数据、操作成本,如消耗的时间或资源等)存储在历史对象中。
对于历史信息的更新,数据目录360可实施数据事件监控520以确定数据事件是否已经发生。数据事件可与数据事件注册表510一起注册512,所述数据事件注册表510可将事件标准514提供给数据事件监控520。举例来说,可将检查由ETL过程生成的新数据对象的大小的事件标准提供给由历史管理提供的历史更新538指示的数据事件监控520。然后,历史管理530可从历史管理530或通过请求522和从历史存储库540接收历史524(或其它历史信息)来确定新数据对象大小。对于检测到的数据事件526,数据事件通知生成550可生成通知(根据指定的通知类型)并将通知552发送给订户(其可由数据事件注册表510提供516)。举例来说,数据事件通知生成550可根据用于数据目录360或ETL服务220的API接口(例如,接口310)生成并发送消息。
数据目录360还可提供对历史存储库540的访问。举例来说,数据目录360可实施可操纵对历史数据562的请求的历史访问560。可提供对特定数据对象或一串数据对象的沿袭的数据的请求562。历史访问560可解释所述请求,并且生成对历史存储库540的适当的访问请求566,以便接收568并发送历史数据564。在至少一些实施例中,历史访问560可生成并为显示而提供历史图,如下面关于图6所讨论的。举例来说,不同数据对象(例如,作为其它数据对象的源和变换版本的对象)之间的链接可通过评估历史来确定,并且用于生成示出图的可视表示,所述图描述数据对象和变换的链接。
可根据不同的数据结构或格式存储历史信息。图6示出根据一些实施例的实例历史图。举例来说,命名空间610可用作历史图600中与特定账户、个人、团队、项目等相关联的不同历史结构620的容器、目录或其它逻辑分组。命名空间610可包括名称和/或描述。举例来说,命名空间名称可用作可在其它历史访问请求(如创建下面关于图7讨论的新历史数据结构的请求)中引用的标识符。所述描述可包括可提供给访问历史信息的用户的任何属性、注释或其它信息(例如,响应于数据历史请求562)以确定在命名空间内维护的历史结构的类型或内容。
链接到命名空间610、历史数据结构620a和620b可提供由历史信息表示或描述的数据对象的描述或集合。举例来说,历史数据结构620a可描述存储基于网络的站点的点击动作记录的点击流日志的历史。包括点击流日志的数据对象之间的不同版本、变换或链接(或从点击流日志生成的不同版本、变换或链接可包括在一个或多个历史数据结构中)。历史数据结构620可包括名称、描述、数据提供者名称(例如,数据源),以及可在创建历史数据结构时定义的数据的属性。在一些实施例中,历史数据结构620的属性可由链接到历史数据结构620的子历史数据对象继承(例如,安全指定或生命周期指定)。多个历史数据对象可链接到单个数据结构,指示不同的版本或变换
可提供链接到历史数据结构的历史数据对象(如链接到历史数据结构620a的历史数据对象630a和630b,以及链接到历史数据结构620b的历史数据对象630c)以描述可作为历史结构的一部分生成、预期和/或存储的数据对象的类型。历史数据对象630可描述数据对象的名称、描述、源(其可以是ETL过程或作业以及ETL过程或作业的输入数据或参数,如另一个历史数据对象或结构)或文件类型,并且可维护数据模式版本(例如,存储数据的结构,如列数、数据类型、默认值、数据字段、关键值等)。数据模式可随时间改变,因此可根据版本标识符维护多个数据模式版本。
历史数据对象示例(一个或多个),如链接到历史数据对象630a的对象示例640a、链接到历史数据对象630b的对象示640b,以及链接到历史数据对象630c的对象示例640c。历史数据对象可描述数据的具体、物化版本(例如,存储在数据存储库中的具体数据文件、分区或其它对象)并且可包括名称、数据模式版本、身份(通过指示ETL过程或作业的特定执行、运行或应用以通过过程或作业标识符和/或时间戳创建历史数据对象)以及生成对象的ETL过程的状态(例如,完成或在过程中)、存储位置或源数据。举例来说,历史数据对象实例可以是一段时间(例如,1天或1周)的点击流日志,所述点击流日志是为点击流日志维护的历史数据结构的一部分,如上面的实例中所讨论的。
图7示出根据一些实施例的客户端和用于管理或更新历史结构的数据目录服务之间的交互。如上所述,接口310可以是基于网络的、图形的和/或编程接口(例如,API),其允许客户端如客户端710(其可类似于客户端250或如上关于图2所讨论的,或如以上图4中讨论的ETL服务220的组件)访问数据目录360。客户端710可提交创建历史数据结构720的请求。所述请求可包括历史数据结构的名称、它所属的命名空间、要应用于所有子对象的属性、描述和/或数据提供者名称。举例来说,属性可将由历史数据结构描述的数据对象指定为“机密”数据。
客户端710可提交创建历史数据对象730的请求以包括在历史数据结构中。举例来说,请求730可包括历史数据结构的命名空间(例如,通过标识符或名称)、历史数据结构(例如,通过标识符或名称)、对象名称、文件类型(例如,CSV、优化行列式(ORC)、文本、JavaScript对象表示法(JSON)等)、属性(例如,除了从历史数据结构继承的那些)、对象的描述、对象的数据模式,并且在一些实施例中,可包括对象的预期分区数。举例来说,数据对象可按时间段(例如,按工作日)划分,因此可通过提供的数字或函数来定义预期分区数。
在各种实施例中,客户端710可提交注册数据事件740的请求。所述请求可包括历史数据结构(例如,通过标识符或名称)、历史数据对象(一个或多个)(例如,通过标识符或名称)、事件标准(例如,通过包括条件语句、功能、操作或其它比较器的列表)、事件的订户(一个或多个)(例如,通过包括如用户标识符、电子邮件地址、网络地址等的标识符),以及订户的通知类型(例如,电子消息、电话呼叫等)。在一些实施例中,可随后修改或删除事件注册(未示出)。
尽管图2至图7已经在ETL服务的上下文中描述和示出,但在图2至图7中示出和描述的各种技术和组件在不同的实施例中可容易地应用于其它数据访问或管理系统,这可促进依赖于数据事件的操作。独立ETL处理系统是可在专用网络或系统中实施以执行与上述那些类似的技术的另一实施例的实例。因此,图2至图7不旨在相对于可实施事件驱动ETL处理的系统的其它实施例具有限制性。图8是根据一些实施例的示出用于实施维护历史以检测数据事件的方法和技术的高级流程图。各种不同的系统和装置可单独地或一起工作地实施下面描述的各种方法和技术。举例来说,如上文关于图2至图7所描述的ETL服务可被配置为实施各种方法。替代地,不同系统和装置的组合,如管理对数据的访问的数据监控或安全系统可执行取决于根据以下技术确定的通知的操作。因此,上面的实例和/或被称为执行所说明的方法的任何其它系统或装置并不旨在限制其它不同的组件、模块、系统或系统和装置的配置。
如在810处所指示,可接收应用于源数据对象(一个或多个)以生成变换的数据对象的ETL过程的指示。举例来说,可通过API请求提交指示,并且指示包括识别源对象的信息(例如,通过对象标识符)、ETL过程(例如,通过标识符或通过描述ETL过程的内容来描述ETL过程,如过滤、聚合、移除或以其它方式重新格式化源数据对象的过程)、ETL过程的输入控件或参数、执行ETL过程的成本(例如,I/O带宽、网络带宽、处理器使用率、时间、变换的数据对象(一个或多个)的大小、以工作单位或货币价值计算的资源成本)。
在各种实施例中,可更新源数据对象(一个或多个)的历史以包括变换的数据对象(一个或多个)和生成变换的数据对象(一个或多个)的ETL过程的应用,如在820处所指示。举例来说,维护历史信息的数据结构(如上面关于图6描述的图结构)可更新以包括描述ETL过程的新数据对象、变换的数据对象以及作为历史的一部分维护的任何其它信息。在至少一些实施例中,可维护ETL过程性能度量、成本或其它过程信息。调用所处理的ETL的用户、客户端、帐户或实体的身份可作为历史信息的一部分包括在内。
如在830处所指示的,在一些实施例中,可评估对历史的更新以确定更新是否满足用于触发与历史相关联的事件的标准。举例来说,标准可包括存储新数据对象(例如,作为ETL过程的结果)、由ETL过程变换的数据对象的方面、特征、属性或内容(例如,数据对象的大小、记录数、添加/移除的记录数、文件格式、值或根据数据对象的值确定的信息,如平均值、总量或其它统计数据等)、数据对象的源(例如,数据产生器、ETL过程等)、数据对象的位置或与数据对象或产生数据对象的ETL过程相关的任何其它标准。可评估一个或多个标准。在一些实施例中,可评估事件的替代标准集,使得如果满足标准的一个集合,那么触发事件。以这种方式,响应于数据均衡所采取的动作的执行可相对于历史中描述的数据对象、针对具体事件、条件或情境进行调适。
如从840的否定退出所指示的,如果不满足事件标准,那么响应于ETL过程的指示,可不采取进一步的动作。然而,在一些实施例中,如果满足事件标准,那么如在850处所指示,可向事件的订户发送事件的通知。举例来说,可执行API调用、电子邮件消息、通知发布、SMS或MMS消息、电话呼叫或任何其它类型的通知。在一些实施例中,不同的订户可根据不同的通知技术接收通知事件。可基于订户的列表或注册表来确定订户的拒绝。在一些实施例中,可将数据通知广播到默认集或订户列表,而不管触发的数据事件的类型。举例来说,可将特定历史的所有数据事件发送到相同的订户(即使并非所有这些订户都可响应于相同的事件而动作)。然而,在其它实例中,可向不同订户提供针对相同历史的不同数据事件的通知。
在各种实施例中,本文描述的方法可通过硬件和软件的任何组合来实施。举例来说,在一个实施例中,所述方法可由计算机系统(例如,如图9中的计算机系统)实施,所述计算机系统包括执行存储在耦合到处理器的计算机可读存储介质上的程序指令的一个或多个处理器。程序指令可被配置成实施本文描述的功能性(例如,实施本文描述的基于网络的虚拟计算资源提供商的各种服务器和其它组件的功能性)。如附图中所说明和本文描述的各种方法表示方法的实例实施例。可改变任何方法的顺序,并且可添加、重新排序、组合、省略、修改等各种元件。
如本文描述的维护历史以检测数据事件的实施例可在一个或多个计算机系统上执行,所述计算机系统可与各种其它装置交互。图9示出一种这类计算机系统。在不同的实施例中,计算机系统1000可为各种类型的装置中的任何一种,包括但不限于个人计算机系统、台式计算机、膝上型计算机、笔记本或上网本计算机、大型计算机系统、手持计算机、工作站、网络计算机、相机、机顶盒、移动装置、消费者装置、视频游戏机、手持视频游戏装置、应用服务器、存储装置、外围装置(如交换机、调制解调器、路由器)或通常任何类型的计算节点、计算装置或电子装置。
在所说明的实施例中,计算机系统1000包括经由输入/输出(I/O)接口1030耦合到系统存储器1020的一个或多个处理器1010。计算机系统1000另外包括耦合到I/O接口1030的网络接口1040,以及一个或多个输入/输出装置1050,如光标控制装置1060、键盘1070和显示器(一个或多个)1080。显示器(一个或多个)1080可包括标准计算机监控器(一个或多个)和/或其它显示系统、技术或装置。在至少一些实施方式中,输入/输出装置1050还可包括触摸或多触摸使能装置,如触摸板或平板电脑,经由所述触摸板或平板电脑用户经由触控笔型装置和/或一个或多个数字进入输入。在一些实施例中,预期可使用计算机系统1000的单个示例来实施实施例,而在其它实施例中,多个这类系统或构成计算机系统1000的多个节点可被配置成托管实施例的不同部分或示例。举例来说,在一个实施例中,可经由计算机系统1000的一个或多个节点来实施一些元件,所述节点不同于实施其它元件的那些节点。
在各个实施例中,计算机系统1000可为包括一个处理器1010的单处理器系统,或包括若干处理器1010(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器1010可为能够执行指令的任何合适的处理器。举例来说,在各个实施例中,处理器1010可为实施各种指令集架构(ISA)中的任何一种的通用或嵌入式处理器,如x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器系统中,处理器1010中的每一个可共同但不一定实施相同的ISA。
在一些实施例中,至少一个处理器1010可为图形处理单元。图形处理单元或GPU可被视为个人计算机、工作站、游戏控制台或其它计算或电子装置的专用图形渲染装置。现代GPU在操纵和显示计算机图形方面可非常有效,并且它们高度并行的结构可使它们比一系列复杂图形算法的典型CPU更有效。举例来说,图形处理器可比用主机中央处理单元(CPU)直接绘制到屏幕上更快地执行它们的方式实施多个图形基元操作。在各种实施例中,图形渲染可至少部分地由配置用于在这类GPU中的一个上执行或在这类GPU中的两个或更多个上并行执行的程序指令来实施。GPU(一个或多个)可实施允许程序员调用GPU(一个或多个)的功能性的一个或多个应用编程接口(API)。合适的GPU可从如辉达公司(NVIDIACorporation)、治天科技公司(现美国超微半导体公司)(ATI Technologies(AMD))等供应商商购获得。
系统存储器1020可被配置成存储由处理器1010可访问的程序指令和/或数据。在各个实施例中,系统存储器1020可使用任何合适的存储器技术来实施,如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器或任何其它类型的存储器。在所说明的实施例中,实施如上面描述的那些的所期望功能的程序指令和数据被示为分别作为程序指令1025和数据存储件1035存储在系统存储器1020中。在其它实施例中,可在不同类型的计算机可访问介质上或与系统存储器1020或计算机系统1000分离的类似介质上接收、发送或存储程序指令和/或数据。一般而言,非暂时性计算机可读存储介质可包括存储介质或存储器介质(如磁性或光学介质),例如经由I/O接口1030耦合到计算机系统1000的磁盘或DVD/CD-ROM。经由计算机可读介质存储的程序指令和数据可由传送介质或信号(如电信号、电磁信号或数字信号)传送,所述信号可经由通信介质(如网络和/或无线链路)传达,如可经由网络接口1040实施。
在一个实施例中,I/O接口1030可被配置成协调处理器1010、系统存储器1020和装置中的任何外围装置之间的I/O业务量,包括网络接口1040或如输入/输出装置1050的其它外围接口。在一些实施例中,I/O接口1030可执行任何必要的协议、定时或其它数据变换,以将来自一个组件(例如,系统存储器1020)的数据信号转换成适合于由另一组件(例如,处理器1010)使用的格式。在一些实施例中,I/O接口1030可包括对通过各种类型的外围总线附接的装置的支持,例如,如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施例中,I/O接口1030的功能可分成两个或更多个单独的组件,例如北桥和南桥。另外,在一些实施例中,I/O接口1030的一些或全部功能性,如到系统存储器1020的接口可直接并入到处理器1010中。
网络接口1040可被配置成允许在计算机系统1000和附接到网络的其它装置(如其它计算机系统)之间或在计算机系统1000的节点之间交换数据。在各种实施例中,网络接口1040可支持经由有线或无线通用数据网络,例如,如任何类型的以太网;经由如模拟语音网络或数字光纤通信网络的电信/电话网络;经由如光纤通道SAN的存储区域网络或经由任何其它合适类型的网络和/或协议的通信。
在一些实施例中,输入/输出装置1050可包括一个或多个显示终端、键盘、小键盘、触摸板、扫描装置、语音或光学辨识装置,或适合于由一个或多个计算机系统1000输入或检索数据的任何其它装置。多个输入/输出装置1050可存在于计算机系统1000中,或可分布在计算机系统1000的各个节点上。在一些实施例中,类似的输入/输出装置可与计算机系统1000分离,并且可通过有线或无线连接(如通过网络接口1040)与计算机系统1000的一个或多个节点交互。
如图9所示,存储器1020可包括程序指令1025和数据存储件1035,所述程序指令1025被配置成实施如本文所描述的各种方法和技术,所述数据存储件1035包含由程序指令1025可访问的各种数据。在一个实施例中,程序指令1025可包括如本文所描述并如图中所说明的实施例的软件元件。数据存储件1035可包括可在实施例中使用的数据。在其它实施例中,可包括其它或不同的软件元件和数据。
本领域技术人员将理解,计算机系统1000仅为说明性的,并不旨在限制本文所描述的技术的范围。具体地,计算机系统和装置可包括可执行所指示功能的硬件或软件的任何组合,包括计算机、个人计算机系统、台式计算机、膝上型计算机、笔记本或上网本计算机、大型计算机系统、手持式计算机、工作站、网络计算机、相机、机顶盒、移动装置、网络装置、因特网器具、PDA、无线手机、寻呼机、消费者装置、视频游戏控制台、手持视频游戏装置、应用服务器、存储装置、外围装置(如交换机、调制解调器、路由器)或通常任何类型的计算或电子装置。计算机系统1000还可连接到未说明的其它装置,或替代地可作为独立系统操作。另外,在一些实施例中,由所说明的组件提供的功能性可组合在更少的组件中或分布在附加组件中。类似地,在一些实施例中,可不提供所说明的组件中的一些的功能性和/或可使用其它附加功能。
本领域技术人员还将理解,虽然各种项目被说明为在使用时存储在存储器中或存储库上,但是为了存储器管理和数据完整性的目的,这些项目或它们的一部分可在存储器和其它存储装置之间传输。替代地,在其它实施例中,软件组件中的一些或所有可在另一装置上的存储器中执行,并经由计算机间通信与所说明的计算机系统通信。系统组件中的一些或所有或数据结构也可存储(例如,作为指令或结构化数据)在计算机可访问介质或便携式物品上,以由适当的驱动器读取,其各种实例在上面进行描述。在一些实施例中,存储在与计算机系统1000分离的非暂时性计算机可访问介质上的指令可经由传送介质或经由通信介质(如网络和/或无线链路)传达的信号(如电信号、电磁信号或数字信号)传送到计算机系统1000上。各个实施例可另外包括在计算机可访问介质上接收、发送或存储根据前述描述实施的指令和/或数据。因此,可用其它计算机系统配置来实施本发明。
注意,本文描述的任何分布式系统实施例或它们的组件中的任何可实施为一个或多个web服务。举例来说,ETL服务的多个节点可向客户端呈现ETL服务作为基于网络的服务。在一些实施例中,基于网络的服务可由设计用于支持网络上的可互操作的机器到机器交互的软件和/或硬件系统来实施。基于网络的服务可具有以机器-可处理格式描述的接口,如Web服务描述语言(WSDL)。其它系统可以基于网络的服务的接口的描述所规定的方式与基于网络的服务交互。举例来说,基于网络的服务可定义其它系统可调用的各种操作,并且可定义特定应用编程接口(API),当请求各种操作时,可期望其它系统以符合所述特定应用编程接口。
在各种实施例中,可通过使用包括与基于网络的服务请求相关联的参数和/或数据的消息来请求或调用基于网络的服务。可根据如可扩展标记语言(XML)的特定标记语言来格式化这类消息,和/或可使用如简单对象访问协议(SOAP)的协议来封装这类消息。为了执行web服务请求,基于网络的服务客户端可使用基于因特网的应用层传输协议(如超文本传输协议(HTTP))汇编包括所述请求的消息,并将所述消息传达到对应于web服务的可寻址端点(如,统一资源定位符(URL))。
在一些实施例中,可使用代表性状态传输(“RESTful”)技术而不是基于消息的技术来实施web服务。举例来说,可通过HTTP方法(如PUT、GET或DELETE)内包括的参数来调用根据RESTful技术实施的web服务,而不是封装在SOAP消息中。
可根据以下条款描述本公开的实施例:
1.一种系统,其包含:
至少一个处理器;
存储器,其用于存储程序指令,所述程序指令在被执行的情况下使所述至少一个处理器执行方法,所述方法包含:
接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载(ETL)过程的指示;
更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的ETL过程应用于所述一个或多个源数据对象的应用;
确定所述变换的数据对象的所述历史的所述更新是否满足触发与所述历史相关联的事件的标准;和
响应于确定所述变换的数据对象的所述历史的所述更新满足触发所述事件的所述标准,向所述事件的订户发送所述事件的通知。
2.根据条款1所述的系统,
其中所述方法还包含接收创建所述源数据对象的所述历史的历史结构的请求;
其中更新所述源数据对象的所述历史包含在所述历史结构中包括新历史对象,所述新历史对象描述所述变换的数据对象和生成所述变换的数据对象的ETL过程应用于所述一个或多个源数据对象的应用。
3.根据条款1所述的系统,其中所述方法还包含接收将所述事件与所述历史相关联的请求,其中所述请求指定用于触发所述事件的所述标准。
4.根据条款1所述的系统,其中所述至少一个处理器和所述存储器被实施为由提供商网络提供的数据目录的部分,其中所述订户是由所述提供商网络提供的ETL服务,并且其中所述事件的所述通知触发由所述ETL服务至少部分地基于所述变换的数据对象执行的另一ETL过程。
5.一种方法,其包含:
接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载(ETL)过程的指示;
更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的ETL过程应用于所述一个或多个源数据对象的应用;
确定所述变换的数据对象的所述历史的所述更新是否满足触发与所述历史相关联的事件的标准;和
响应于确定所述变换的数据对象的所述历史的所述更新满足触发所述事件的所述标准,向所述事件的订户发送所述事件的通知。
6.根据条款5所述的方法,
其中所述方法还包含接收创建所述源数据对象的所述数据沿袭的历史结构的请求;
其中更新所述源数据对象的所述历史包含在所述历史结构中包括新历史对象,所述新历史对象描述所述变换的数据对象和生成所述变换的数据对象的ETL过程应用于所述一个或多个源数据对象的应用。
7.根据条款6所述的方法,其中所述一个或多个源数据对象是数据集的分区,其中所述一个或多个变换的数据对象是所述数据集的不同物化版本的分区,并且其中创建所述历史结构的所述请求还指定所述数据集的预期分区数。
8.根据条款5所述的方法,其中更新所述源数据对象的所述历史还包括处理用于生成所述变换的数据对象的成本。
9.根据条款5所述的方法,其还包含接收将所述事件与所述历史相关联的请求,其中所述请求指定用于触发所述事件的所述标准。
10.根据条款5所述的方法,其还包含:
生成所述历史的图;和
为显示而提供所述历史的所述图。
11.根据条款5所述的方法,其还包含:
接收对所述变换的数据对象的所述历史的请求;和
作为所述历史的一部分,发送所述源数据对象和应用于所述源数据对象以生成所述变换的数据对象的所述ETL过程的指示。
12.根据条款5所述的方法,其中所述事件的所述通知触发应用于所述变换的数据对象的另一ETL过程。
13.根据条款12所述的方法,其中所述接收所述指示、所述更新所述历史、所述确定是否满足所述数据事件的所述标准,和所述通知的所述发送由提供商网络提供的数据目录执行,其中所述订户是所述提供商网络外部的ETL客户端,并且其中所述事件的所述通知经由用于所述数据目录的API发送到所述ETL客户端。
14.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令当由一个或多个计算装置执行时使所述一个或多个计算装置实施:
接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载(ETL)过程的指示;
更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的ETL过程应用于所述一个或多个源数据对象的应用;
确定所述变换的数据对象的所述历史的所述更新是否满足触发与所述历史相关联的事件的标准;和
响应于确定所述变换的数据对象的所述历史的所述更新满足触发所述事件的所述标准,向所述事件的订户发送所述事件的通知。
15.根据条款14所述的非暂时性计算机可读存储介质,
其中所述程序指令使所述一个或多个计算装置还实施接收创建所述源数据对象的所述历史的历史结构的请求;和
其中在更新所述源数据对象的所述历史时,所述程序指令使所述一个或多个计算装置实施在所述历史结构中包括新历史对象,所述新历史对象描述所述变换的数据对象和生成所述变换的数据对象的ETL过程应用于所述一个或多个源数据对象的应用。
16.根据条款14所述的非暂时性计算机可读存储介质,其中更新所述源数据对象的所述历史还包括所述变换的数据对象的数据模式。
17.根据条款14所述的非暂时性计算机可读存储介质,其中所述程序指令使所述一个或多个计算装置还实施接收将所述事件与所述历史相关联的请求,其中所述请求指定用于触发所述事件的所述标准。
18.根据条款14所述的非暂时性计算机可读存储介质,其中所述程序指令使所述一个或多个计算装置还实施:
接收对所述变换的数据对象的所述历史的请求;和
作为所述历史的一部分,发送所述源数据对象和应用于所述源数据对象以生成所述变换的数据对象的所述ETL过程的指示。
19.根据条款14所述的非暂时性计算机可读存储介质,其中所述事件的所述通知触发应用于所述变换的数据对象的另一ETL过程。
20.根据条款14所述的非暂时性计算机可读存储介质,其中所述接收所述指示、所述更新所述历史、所述确定是否满足所述数据事件的所述标准,和所述通知的所述发送由提供商网络提供的数据目录执行,并且其中所述订户是由所述提供商网络提供的ETL服务。
如附图中所说明和本文描述的各种方法表示方法的实例实施例。所述方法可用软件、硬件或其组合来实施。可改变方法的顺序,并且可添加、重新排序、组合、省略、修改等各种元件。
可进行各种修改和改变,这对于受益于本公开的本领域技术人员来说为显而易见的。本发明旨在包含所有这类修改和变化,并且因此,以上描述被认视为说明性的而不是限制性的。
Claims (17)
1.一种用于维护历史以检测数据事件的系统,包含:
至少一个处理器;
存储器,其用于存储程序指令,所述程序指令在被执行的情况下使所述至少一个处理器执行方法,所述方法包含:
接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载ETL过程的指示;
更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的所述ETL过程应用于所述一个或多个源数据对象的应用;
确定所述变换的数据对象的所述历史的所述更新是否满足触发与所述历史相关联的事件的标准;以及
响应于确定所述变换的数据对象的所述历史的所述更新满足触发所述事件的所述标准,向所述事件的订户发送所述事件的通知,
其中所述方法还包含接收创建所述源数据对象的所述历史的历史结构的请求;
其中更新所述源数据对象的所述历史包含在所述历史结构中包括新历史对象,所述新历史对象描述所述变换的数据对象和生成所述变换的数据对象的所述ETL过程应用于所述一个或多个源数据对象的所述应用。
2.根据权利要求1所述的系统,其中所述方法还包含接收将所述事件与所述历史相关联的请求,其中所述请求指定用于触发所述事件的所述标准。
3.根据权利要求1所述的系统,其中所述至少一个处理器和所述存储器被实施为由提供商网络提供的数据目录的部分,其中所述订户是由所述提供商网络提供的ETL服务,并且其中所述事件的所述通知触发由所述ETL服务至少部分地基于所述变换的数据对象执行的另一ETL过程。
4.一种用于维护历史以检测数据事件的方法,包含:
接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载ETL过程的指示;
更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的所述ETL过程应用于所述一个或多个源数据对象的所述应用;
确定所述变换的数据对象的所述历史的所述更新是否满足触发与所述历史相关联的事件的标准;以及
响应于确定所述变换的数据对象的所述历史的所述更新满足触发所述事件的所述标准,向所述事件的订户发送所述事件的通知,
其中所述方法还包含接收创建所述源数据对象的所述数据沿袭的历史结构的请求;
其中更新所述源数据对象的所述历史包含在所述历史结构中包括新历史对象,所述新历史对象描述所述变换的数据对象和生成所述变换的数据对象的所述ETL过程应用于所述一个或多个源数据对象的所述应用。
5.根据权利要求4所述的方法,其中所述一个或多个源数据对象是数据集的分区,其中所述一个或多个变换的数据对象是所述数据集的不同物化版本的分区,并且其中创建所述历史结构的所述请求还指定所述数据集的预期分区数。
6.根据权利要求4所述的方法,其中更新所述源数据对象的所述历史还包括处理用于生成所述变换的数据对象的成本。
7.根据权利要求4所述的方法,其还包含接收将所述事件与所述历史相关联的请求,其中所述请求指定用于触发所述事件的所述标准。
8.根据权利要求4所述的方法,其还包含:
生成所述历史的图;和
为显示而提供所述历史的所述图。
9.根据权利要求4所述的方法,其还包含:
接收对所述变换的数据对象的所述历史的请求;和
作为所述历史的一部分,发送所述源数据对象和应用于所述源数据对象以生成所述变换的数据对象的所述ETL过程的指示。
10.根据权利要求4所述的方法,其中所述事件的所述通知触发应用于所述变换的数据对象的另一ETL过程。
11.根据权利要求10所述的方法,其中所述接收所述指示、所述更新所述历史、所述确定是否满足所述事件的所述标准,和所述通知的所述发送由提供商网络提供的数据目录执行,其中所述订户是所述提供商网络外部的ETL客户端,并且其中所述事件的所述通知经由用于所述数据目录的API发送到所述ETL客户端。
12.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令在由一个或多个计算装置执行时使所述一个或多个计算装置实施:
接收应用于一个或多个源数据对象以生成一个或多个变换的数据对象的提取、变换、加载ETL过程的指示;
更新所述源数据对象的历史以包括所述变换的数据对象和生成所述变换的数据对象的所述ETL过程应用于所述一个或多个源数据对象的所述应用;
确定所述变换的数据对象的所述历史的所述更新是否满足触发与所述历史相关联的事件的标准;以及
响应于确定所述变换的数据对象的所述历史的所述更新满足触发所述事件的所述标准,向所述事件的订户发送所述事件的通知,
其中所述程序指令使所述一个或多个计算装置还实施接收创建所述源数据对象的所述历史的历史结构的请求;和
其中在更新所述源数据对象的所述历史时,所述程序指令使所述一个或多个计算装置实施在所述历史结构中包括新历史对象,所述新历史对象描述所述变换的数据对象和生成所述变换的数据对象的所述ETL过程应用于所述一个或多个源数据对象的所述应用。
13.根据权利要求12所述的非暂时性计算机可读存储介质,其中更新所述源数据对象的所述历史还包括所述变换的数据对象的数据模式。
14.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述程序指令使所述一个或多个计算装置还实施接收将所述事件与所述历史相关联的请求,其中所述请求指定用于触发所述事件的所述标准。
15.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述程序指令使所述一个或多个计算装置还实施:
接收对所述变换的数据对象的所述历史的请求;和
作为所述历史的一部分,发送所述源数据对象和应用于所述源数据对象以生成所述变换的数据对象的所述ETL过程的指示。
16.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述事件的所述通知触发应用于所述变换的数据对象的另一ETL过程。
17.根据权利要求12所述的非暂时性计算机可读存储介质,其中所述接收所述指示、所述更新所述历史、所述确定是否满足所述事件的所述标准,和所述通知的所述发送由提供商网络提供的数据目录执行,并且其中所述订户是由所述提供商网络提供的ETL服务。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/385,789 US10545979B2 (en) | 2016-12-20 | 2016-12-20 | Maintaining data lineage to detect data events |
US15/385,789 | 2016-12-20 | ||
PCT/US2017/066928 WO2018118739A1 (en) | 2016-12-20 | 2017-12-18 | Maintaining data lineage to detect data events |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110168522A CN110168522A (zh) | 2019-08-23 |
CN110168522B true CN110168522B (zh) | 2024-02-23 |
Family
ID=60943154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780077385.3A Active CN110168522B (zh) | 2016-12-20 | 2017-12-18 | 维护数据沿袭以检测数据事件 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10545979B2 (zh) |
EP (1) | EP3559828A1 (zh) |
CN (1) | CN110168522B (zh) |
WO (1) | WO2018118739A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11481408B2 (en) | 2016-11-27 | 2022-10-25 | Amazon Technologies, Inc. | Event driven extract, transform, load (ETL) processing |
US11277494B1 (en) | 2016-11-27 | 2022-03-15 | Amazon Technologies, Inc. | Dynamically routing code for executing |
US10545979B2 (en) | 2016-12-20 | 2020-01-28 | Amazon Technologies, Inc. | Maintaining data lineage to detect data events |
US11036560B1 (en) | 2016-12-20 | 2021-06-15 | Amazon Technologies, Inc. | Determining isolation types for executing code portions |
US10431002B2 (en) * | 2017-02-23 | 2019-10-01 | International Business Machines Corporation | Displaying data lineage using three dimensional virtual reality model |
DE102018207175A1 (de) * | 2018-05-08 | 2019-11-14 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Aktivieren von Tasks in einem Betriebssystem |
US11354330B2 (en) * | 2018-12-14 | 2022-06-07 | Sisense Ltd. | System and method for partitioning data based on authorization rules |
JP7334260B2 (ja) * | 2019-03-21 | 2023-08-28 | グラブタクシー ホールディングス プライベート リミテッド | 複数のデータ構造を管理するための通信装置、通信方法、コンピュータプログラム、非一時的な記憶媒体および通信システム |
US11416510B2 (en) | 2019-04-10 | 2022-08-16 | Kpmg Llp | Systems and methods for applying lifecycle processes to digital data objects utilizing distributed ledger technology and artificial intelligence |
EP4097584A4 (en) * | 2020-01-31 | 2023-10-18 | Hitachi Vantara LLC | MULTIPLE VERSION OF DATA CLUSTER ETL PROCESSING |
US11349957B2 (en) | 2020-05-14 | 2022-05-31 | Bank Of America Corporation | Automatic knowledge management for data lineage tracking |
US11847130B2 (en) * | 2021-05-21 | 2023-12-19 | Capital One Services, Llc | Extract, transform, load monitoring platform |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609435A (zh) * | 2010-12-20 | 2012-07-25 | 微软公司 | 使用实时处理器的大规模事件评估 |
CN103970753A (zh) * | 2013-01-28 | 2014-08-06 | 北大方正集团有限公司 | 关联知识的推送方法和装置 |
CN104618496A (zh) * | 2015-02-13 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种数据更新的方法、装置及系统 |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590644B2 (en) | 1999-12-21 | 2009-09-15 | International Business Machine Corporation | Method and apparatus of streaming data transformation using code generator and translator |
US20020059566A1 (en) | 2000-08-29 | 2002-05-16 | Delcambre Lois M. | Uni-level description of computer information and transformation of computer information between representation schemes |
US8788931B1 (en) | 2000-11-28 | 2014-07-22 | International Business Machines Corporation | Creating mapping rules from meta data for data transformation utilizing visual editing |
US6983455B2 (en) | 2002-04-10 | 2006-01-03 | Sun Microsystems, Inc. | Mechanism for profiling computer code |
WO2004081533A2 (en) * | 2003-03-10 | 2004-09-23 | The Regents Of The University Of California | Vault and vault-like carrier molecules |
US7840949B2 (en) | 2003-11-03 | 2010-11-23 | Ramal Acquisition Corp. | System and method for data transformation using dataflow graphs |
US20050283622A1 (en) | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | System for managing security index scores |
CN100489818C (zh) | 2004-11-26 | 2009-05-20 | 松下电器产业株式会社 | 处理器和安全处理系统 |
US8270941B2 (en) | 2006-02-24 | 2012-09-18 | Qualcomm Incorporated | System and method for downloading user interface components to wireless devices |
US8307012B2 (en) | 2006-02-28 | 2012-11-06 | Sap Ag | Schema mapping and data transformation on the basis of a conceptual model |
US20110107383A1 (en) | 2006-05-04 | 2011-05-05 | Feedgazer, Llc | Method and system for celebrity display of web feed content |
US7721091B2 (en) | 2006-05-12 | 2010-05-18 | International Business Machines Corporation | Method for protecting against denial of service attacks using trust, quality of service, personalization, and hide port messages |
US7548905B2 (en) | 2006-10-30 | 2009-06-16 | Teradata Us, Inc. | Refreshing an execution plan for a query |
US9626421B2 (en) * | 2007-09-21 | 2017-04-18 | Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh | ETL-less zero-redundancy system and method for reporting OLTP data |
EP2079020B1 (en) * | 2008-01-03 | 2013-03-20 | Accenture Global Services Limited | System amd method for automating ETL applications |
US8296301B2 (en) | 2008-01-30 | 2012-10-23 | Commvault Systems, Inc. | Systems and methods for probabilistic data classification |
US8136158B1 (en) | 2008-07-21 | 2012-03-13 | Google Inc. | User-level segmentation mechanism that facilitates safely executing untrusted native code |
US8037050B2 (en) * | 2008-08-02 | 2011-10-11 | Knowledge Computing Corporation | Methods and apparatus for performing multi-data-source, non-ETL queries and entity resolution |
US8370796B2 (en) | 2008-08-26 | 2013-02-05 | International Business Machines Corporation | Development tooling enablement for audit event generation |
US20100274750A1 (en) | 2009-04-22 | 2010-10-28 | Microsoft Corporation | Data Classification Pipeline Including Automatic Classification Rules |
US8473901B1 (en) | 2009-06-12 | 2013-06-25 | The Mathworks, Inc. | Non-literal representation of programming language code |
US20110023028A1 (en) | 2009-07-27 | 2011-01-27 | Alcatel-Lucent Usa Inc. | Virtualization software with dynamic resource allocation for virtual machines |
US9684785B2 (en) | 2009-12-17 | 2017-06-20 | Red Hat, Inc. | Providing multiple isolated execution environments for securely accessing untrusted content |
CN102971706B (zh) | 2010-05-10 | 2016-08-10 | 思杰系统有限公司 | 将信息从安全虚拟机重定向到不安全虚拟机 |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US8572677B2 (en) | 2010-07-14 | 2013-10-29 | William G. Bartholomay | Devices, systems, and methods for enabling reconfiguration of services supported by a network of devices |
US8769269B2 (en) | 2010-08-12 | 2014-07-01 | International Business Machines Corporation | Cloud data management |
US8528083B2 (en) | 2011-03-10 | 2013-09-03 | Adobe Systems Incorporated | Using a call gate to prevent secure sandbox leakage |
US9430114B1 (en) | 2011-11-03 | 2016-08-30 | Pervasive Software | Data transformation system, graphical mapping tool, and method for creating a schema map |
US8751438B2 (en) * | 2012-04-13 | 2014-06-10 | Verizon Patent And Licensing Inc. | Data extraction, transformation, and loading |
CN102768676B (zh) | 2012-06-14 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 一种格式未知文件的处理方法和装置 |
US9582556B2 (en) | 2013-10-03 | 2017-02-28 | International Business Machines Corporation | Automatic generation of an extract, transform, load (ETL) job |
US20150286701A1 (en) | 2014-04-04 | 2015-10-08 | Quantum Corporation | Data Classification Aware Object Storage |
US9600547B2 (en) | 2014-05-30 | 2017-03-21 | International Business Machines Corporation | System and method of consuming and integrating with rest-based cloud and enterprise services |
US10007790B2 (en) | 2014-06-06 | 2018-06-26 | Empire Technology Development Llc | Secure application development and execution |
US9552401B2 (en) * | 2014-06-23 | 2017-01-24 | International Business Machines Corporation | ETL tool interface for remote mainframes |
WO2016018289A1 (en) | 2014-07-30 | 2016-02-04 | Hewlett-Packard Development Company, L.P. | Security risk scoring of an application |
JP6205066B2 (ja) | 2014-09-04 | 2017-09-27 | 株式会社日立製作所 | ストリームデータ処理方法、ストリームデータ処理装置及び記憶媒体 |
US9898515B1 (en) | 2014-10-29 | 2018-02-20 | Jpmorgan Chase Bank, N.A. | Data extraction and transformation method and system |
US10083295B2 (en) | 2014-12-23 | 2018-09-25 | Mcafee, Llc | System and method to combine multiple reputations |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9471775B1 (en) | 2015-02-04 | 2016-10-18 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US10089313B2 (en) | 2015-02-19 | 2018-10-02 | Bank Of America Corporation | Conversion of data integration system files |
US9785413B2 (en) | 2015-03-06 | 2017-10-10 | Intel Corporation | Methods and apparatus to eliminate partial-redundant vector loads |
US10817544B2 (en) * | 2015-04-20 | 2020-10-27 | Splunk Inc. | Scaling available storage based on counting generated events |
US10108683B2 (en) * | 2015-04-24 | 2018-10-23 | International Business Machines Corporation | Distributed balanced optimization for an extract, transform, and load (ETL) job |
US9525673B1 (en) * | 2015-05-29 | 2016-12-20 | Sap Se | Content protection for extract, transform, load (ETL) scripts |
US10051082B2 (en) | 2015-06-05 | 2018-08-14 | International Business Machines Corporation | Cost determination to provide software as a service |
EP3110161B1 (en) | 2015-06-23 | 2019-10-09 | Nokia Technologies Oy | Method, apparatus and computer program product for controlling access to concurrently captured images |
US10191802B2 (en) * | 2015-09-04 | 2019-01-29 | Oracle International Corporation | Extract-transform-load diagnostics |
WO2017059012A1 (en) | 2015-09-29 | 2017-04-06 | Skytree, Inc. | Exporting a transformation chain including endpoint of model for prediction |
US10771538B2 (en) * | 2015-10-08 | 2020-09-08 | International Business Machines Corporation | Automated ETL resource provisioner |
CA2946775C (en) | 2015-10-29 | 2024-05-07 | Subodh Kumar | Automated server workload management using machine learning |
US20170154019A1 (en) | 2015-11-30 | 2017-06-01 | Open Text Sa Ulc | Template-driven transformation systems and methods |
CN108293092B (zh) | 2015-11-30 | 2020-07-28 | 惠普发展公司有限责任合伙企业 | 基于强度变化的参数调整 |
US10089371B2 (en) * | 2015-12-29 | 2018-10-02 | Sap Se | Extensible extract, transform and load (ETL) framework |
US11593342B2 (en) | 2016-02-01 | 2023-02-28 | Smartshift Technologies, Inc. | Systems and methods for database orientation transformation |
US10089103B2 (en) | 2016-08-03 | 2018-10-02 | Smartshift Technologies, Inc. | Systems and methods for transformation of reporting schema |
US10175978B2 (en) | 2016-11-04 | 2019-01-08 | International Business Machines Corporation | Monitoring code sensitivity to cause software build breaks during software project development |
US10268825B2 (en) | 2016-12-01 | 2019-04-23 | International Business Machines Corporation | Amalgamating code vulnerabilities across projects |
US10496638B2 (en) | 2016-12-07 | 2019-12-03 | City University Of Hong Kong | Systems and methods for privacy-assured similarity joins over encrypted datasets |
US10545979B2 (en) | 2016-12-20 | 2020-01-28 | Amazon Technologies, Inc. | Maintaining data lineage to detect data events |
-
2016
- 2016-12-20 US US15/385,789 patent/US10545979B2/en active Active
-
2017
- 2017-12-18 CN CN201780077385.3A patent/CN110168522B/zh active Active
- 2017-12-18 WO PCT/US2017/066928 patent/WO2018118739A1/en unknown
- 2017-12-18 EP EP17826397.6A patent/EP3559828A1/en not_active Withdrawn
-
2020
- 2020-01-24 US US16/752,022 patent/US11423041B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609435A (zh) * | 2010-12-20 | 2012-07-25 | 微软公司 | 使用实时处理器的大规模事件评估 |
CN103970753A (zh) * | 2013-01-28 | 2014-08-06 | 北大方正集团有限公司 | 关联知识的推送方法和装置 |
CN104618496A (zh) * | 2015-02-13 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 一种数据更新的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180173774A1 (en) | 2018-06-21 |
US20200159742A1 (en) | 2020-05-21 |
US10545979B2 (en) | 2020-01-28 |
US11423041B2 (en) | 2022-08-23 |
EP3559828A1 (en) | 2019-10-30 |
CN110168522A (zh) | 2019-08-23 |
WO2018118739A1 (en) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110168522B (zh) | 维护数据沿袭以检测数据事件 | |
CN109997126B (zh) | 事件驱动提取、变换、加载(etl)处理 | |
US11797558B2 (en) | Generating data transformation workflows | |
US11874828B2 (en) | Managed materialized views created from heterogenous data sources | |
US11704331B2 (en) | Dynamic generation of data catalogs for accessing data | |
US10922493B1 (en) | Determining a relationship recommendation for a natural language request | |
JP2022058578A (ja) | 分散イベント処理システムにおけるデータシリアライズ | |
JP2019194868A (ja) | 戦術的クエリから連続クエリへの変換 | |
US11288319B1 (en) | Generating trending natural language request recommendations | |
US11017764B1 (en) | Predicting follow-on requests to a natural language request received by a natural language processing system | |
US10909114B1 (en) | Predicting partitions of a database table for processing a database query | |
US11475053B1 (en) | Providing completion recommendations for a partial natural language request received by a natural language processing system | |
CN114730312A (zh) | 从异构数据源创建的受管物化视图 | |
US11853301B1 (en) | Sharing compiled code for executing queries across query engines | |
US11615061B1 (en) | Evaluating workload for database migration recommendations | |
US10963479B1 (en) | Hosting version controlled extract, transform, load (ETL) code | |
US11836869B1 (en) | Generating three-dimensional data visualizations in an extended reality environment | |
CN110023923B (zh) | 生成数据变换工作流 | |
US11550760B1 (en) | Time-based partitioning to avoid in-place updates for data set copies | |
US11775584B1 (en) | Dynamically scaling query plan operations for query processing | |
CN109964216B (zh) | 识别未知数据对象 | |
Zhu et al. | A technical evaluation of Neo4j and elasticsearch for mining twitter data | |
Tiwari et al. | A Survey of Optimization Big Data Analytical Tools | |
Noori | Adding value to object storage: integrating analytics with cloud storage back ends | |
Onwuama et al. | Current Computing Trends in Database Design-A Review Perspective |
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 |