CN105069029A - 一种实时etl系统及方法 - Google Patents

一种实时etl系统及方法 Download PDF

Info

Publication number
CN105069029A
CN105069029A CN201510425219.0A CN201510425219A CN105069029A CN 105069029 A CN105069029 A CN 105069029A CN 201510425219 A CN201510425219 A CN 201510425219A CN 105069029 A CN105069029 A CN 105069029A
Authority
CN
China
Prior art keywords
etl
data
node
input data
network
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
CN201510425219.0A
Other languages
English (en)
Other versions
CN105069029B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201510425219.0A priority Critical patent/CN105069029B/zh
Publication of CN105069029A publication Critical patent/CN105069029A/zh
Application granted granted Critical
Publication of CN105069029B publication Critical patent/CN105069029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Abstract

本发明公开了一种实时ETL系统及方法,包括ETL客户端、分布式数据缓存队列、分布式状态管理机和ETL群集;所述ETL客户端,用于设计ETL流程、测试ETL流程和发布ETL流程;所述分布式数据缓存队列,用于缓存输入数据;所述分布式状态管理机,用于存储系统状态信息;所述ETL群集,用于按行从数据源获取输入数据,并将输入数据缓存到分布式数据缓存队列中,然后对输入数据进行处理。本发明具有很高的效率,能够解决目前ETL技术应用在实时大数据环境下的局限性问题。

Description

一种实时ETL系统及方法
技术领域
本发明涉及数据处理技术,特别是涉及一种实时ETL系统及方法。
背景技术
ETL(Extract-Transformation-Loading)即数据的抽取、转换和加载,也叫数据集成,是构建数据仓库的一种重要技术。
传统ETL过程将批量数据从业务数据库等数据源中抽取出来,经过清洗、转换等分析统计处理后,最终按照预先定义好的数据仓库模型将结果加载到数据仓库中。ETL过程通常采用定时任务调度的方式执行,当满足时间条件时,ETL服务器调度执行预先定义好的ETL任务,每次对数据源中的一批数据进行操作,将结果加载到数据仓库中,适用于对原始数据进行定时的批量处理情况,其业务流程如图1所示。
但是,随着电子商务、移动互联网、电信业务的发展,对业务数据分析的时限要求越来越高,出现了一批诸如用户点击流分析、基于位置的服务、实时账单查询等应用,这些应用都要求业务系统中的数据能尽快被后台分析系统感知。传统的ETL技术方案在面对实时大数据分析应用的情况下,其局限性非常明显,主要表现在以下几个方面:
(1)时间片调度方式不能满足实时性要求:传统ETL方案中数据处理任务按时间片调度,即每隔一段时间调度一次任务,对业务系统中的数据进行抽取、转换、加载操作,后台分析系统能否在业务系统的数据发生改变的情况下立即与之同步取决于调度的时间片大小,时间片过大则分析系统同步时延较大,这在时延要求较高的实时分析环境下是不允许的;时间片过小则会导致计算资源浪费。
(2)大数据环境下执行ETL任务效率不高:传统ETL方案中所有任务在特定的ETL服务器上执行,在大数据环境下,单台处理机的执行效率有限,且不易扩展。
(3)可靠性得不到保障:ETL服务器主机或网络连接中断导致所有正在运行ETL任务失败,严重时会导致数据丢失、混乱,这在可靠性要求较高的场景中是不允许的。
发明内容
本发明的目的在于克服现有技术的不足,提供一种实时ETL系统及方法,具有很高的效率,能够解决目前ETL技术应用在实时大数据环境下的局限性问题。
本发明的目的是通过以下技术方案来实现的:一种实时ETL系统,包括ETL客户端、分布式数据缓存队列、分布式状态管理机和ETL群集。
所述ETL客户端,用于设计ETL流程、测试ETL流程和发布ETL流程。
所述分布式数据缓存队列,用于缓存输入数据。
所述分布式状态管理机,用于存储系统状态信息。
所述ETL群集,用于按行从数据源获取输入数据,并将输入数据缓存到分布式数据缓存队列中,然后对输入数据进行处理。
所述系统状态信息包括输入数据的元数据信息和当前的分布式数据缓存队列的队列信息。
所述ETL群集包括多个ETL节点,多个ETL节点组成分布式数据处理ETL网络,分布式数据处理ETL网络包括抽取任务分布式子网络和处理任务分布式子网络。
所述抽取任务分布式子网络,用于按行从数据源中获取输入数据,并将输入数据缓存到分布式数据缓存队列。
所述处理任务分布式子网络,用于对输入数据进行处理和转换,并输出结果数据。
一种实时ETL方法,包括以下步骤:
S1.设计和测试ETL流程,将测试合格的ETL流程以元数据的方式存储为xml文件;
S2.将测试合格的ETL流程构造成能够在ETL群集中运行的分布式数据处理ETL流程,并将该分布式数据处理ETL流程发送到ETL群集;
S3.ETL群集中的多个ETL节点组成分布式数据处理ETL网络,构建每个数据源的分布式数据缓存队列,按行从数据源中获取输入数据,将输入数据发送到该数据源对应的分布式数据缓存队列,将该分布式数据缓存队列的队列信息和该分布式数据缓存队列对应数据源中输入数据的元数据信息发送到分布式状态管理机;
S4.从分布式数据缓存队列中抽取输入数据,并使输入数据流经分布式数据处理ETL网络中的处理任务分布式子网络中的所有ETL节点;
S5.每条进入分布式数据处理ETL网络中的输入数据形成一个消息树;
S6.判断每条输入数据是否在分布式数据处理ETL网络中被完全处理:
若存在输入数据未被完全处理,则从分布式数据缓存队列中重新抽取该输入数据,将该输入数据发送到分布式数据处理ETL网络中,重新处理;
若所有输入数据均被完全处理,输出处理完成后的结果数据。
所述步骤S2包括以下子步骤:
S21.检测ETL流程的DAG图中入度为0的ETL转换单元,并将该入度为0的ETL转换单元归类到输入步骤节点集合;检测ETL的DAG图中出度为0的ETL转换单元,并将该出度为0的ETL转换单元归类到输出步骤节点集合;将ETL流程的DAG图中除入度为0、出度为0以外的ETL转换单元归类到中间处理步骤节点集合;
S22.从步骤S1中的xml文件中读取每个ETL转换单元的元数据,并构建每个ETL转换单元的元数据对象;
S23.根据输入步骤节点集合中各ETL转换单元的元数据对象和ETL流程的DAG图中各ETL转换单元间的连接关系构成抽取任务分布式子网络;
S24.根据中间处理步骤节点集合中各ETL转换单元的元数据对象和ETL流程的DAG图中各ETL转换单元间的连接关系构成处理任务分布式子网络。
所述步骤S3还包括:将步骤S22中的元数据存储在分布式数据缓存队列中。
所述步骤S6中判断输入数据是否被处理完成的方式为:为输入数据的消息树分配一个变量,并将该变量均初始化为0,待所述输入数据经过处理任务分布式子网络处理后,判断所述变量是否为0。
若该变量为0,则该输入数据被完全处理。
若该变量不为0,则该输入数据未被完全处理。
所述判断输入数据是否被处理完成的方式包括以下子步骤:
S61.定义处理任务分布式子网络中任意一个ETL节点为k,接收到的输入数据为A,则ETL节点k为输入数据A生成一个随机的64位标识符SA,并将标识符SA保存到该处理任务分布式子网络的标识序列中,为ETL节点k的消息树分配一个64位的变量result,并将该变量result均初始化为0,然后将变量result通过公式(1)与标识符SA进行异或运算:
result=SAXORresult公式(1)
S62.若处理任务分布式子网络中ETL节点k之后无用于对输入数据A进行处理的ETL节点,则ETL节点k处理完成后,变量result再次通过公式(1)与标识符SA进行异或运算,跳转步骤S63;
若处理任务分布式子网络中ETL节点k之后有用于对输入数据A进行处理的ETL节点,则ETL节点k生成输入数据A的一个或多个中间输出值{A1,A2,A3,…,AN},并将中间输出值{A1,A2,A3,…,AN}发送给后续ETL节点,每个AN表示ETL节点k的一个中间输出值,为每个中间输出值AN生成一个随机的64位标识符并将标识符记录到该处理任务分布式子网络的标识序列中,变量result的值通过公式(2)进行更新:
r e s u l t = r e s u l t X O R S A 1 X O R S A 2 ... X O R S A N 公式(2)
ETL节点k处理完成后,变量result再次与标识符SA通过公式(1)进行异或运算;
S63.每过间隔时间t检测一次变量result的值:
若变量result的值为0,则输入数据A被完全处理;
若变量result的值不为0,则经过超时时长p后再次检测该result的值,若该变量result的值仍不为0,则输入数据A未被完全处理。
步骤S4中每个ETL节点对输入数据进行处理,ETL节点对输入数据进行处理包括以下步骤:
S41.处理任务分布式子网络中的任意一个ETL节点在自己的输入缓存区中获取该ETL节点的输入数据和输入数据的元数据信息;
S42.所述ETL节点根据自己的节点元数据信息中描述的操作步骤对输入数据进行处理,并修改输入数据的元数据信息,生成该ETL节点的输出数据的元数据信息;
S43.所述ETL节点将自己的输出数据和输出数据的元数据信息打包后发给处理任务分布式子网络中后续ETL节点。
所述ETL节点一直保持运行状态,除非主动停止该ETL节点。
本发明的有益效果是:
(1)本发明中ETL群集节点一直保持运行状态,输入数据到来后能够很快被处理;
(2)输入数据缓存到分布式数据缓存队列中,ETL群集节点直接从分布式数据缓存队列中获取新数据,ETL群集节点从而能够获取实时更新的数据;
(3)在分布式数据处理ETL网络中进行数据的流处理,每秒支持百万级数据的流量,具有很高的数据吞吐量;
(4)分布式数据缓存队列将输入数据分散存储在ETL群集中的多个ETL群集节点上,降低了ETL系统中单个ETL群集节点的访问瓶颈问题;
(5)分布式数据处理ETL网络中某个ETL群集节点失效导致输入数据处理失败后,会重新将该输入数据网送到分布式数据处理ETL网络中,避免了因单个ETL群集节点失效导致ETL系统整个任务失败;
(6)分布式数据缓存队列中,队列分布在多个节点之上,且每个节点在ETL群集中均有备份,避免了因某个节点失效导致分布式数据缓存队列不可用;
(7)ETL系统各部件之间的状态管理由分布式状态管理机完成,状态信息分布在ETL群集的多个ETL群集节点上,且每个ETL群集节点的数据在ETL群集中均有备份,避免了因单个ETL群集节点失效造成的状态信息不可用。
附图说明
图1为现有的ETL技术的处理流程;
图2为本发明一种实时ETL系统的结构框图;
图3为本发明一种实时ETL方法的流程图;
图4为ETL执行流程完全性检测示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图2所示,一种实时ETL系统,包括ETL客户端、分布式数据缓存队列、分布式状态管理机和ETL群集。
所述ETL客户端,用于设计ETL流程、测试ETL流程和发布ETL流程。ETL客户端还用于创建每个数据源的分布式数据缓存队列,发送ETL流程的输入数据的元数据信息和分布式数据缓存队列信息到分布式状态管理机。
所述分布式数据缓存队列,用于缓存输入数据。分布式数据缓存队列用于缓存一端时间期限内的实时输入数据,当发生ETL节点失效时,ETL流程可以从该分布式数据缓存队列中重新获取输入数据。
所述分布式状态管理机,用于存储系统状态信息。分布式状态管理机还用于ETL系统运行时各部件之间的状态信息交换,所述系统状态信息包括输入数据的元数据和当前的分布式数据缓存队列。
所述ETL群集,用于按行从数据源获取输入数据,并将输入数据缓存到分布式数据缓存队列中,然后对输入数据进行处理。
所述ETL群集包括多个ETL节点,多个ETL节点组成分布式数据处理ETL网络,分布式数据处理ETL网络包括抽取任务分布式子网络和处理任务分布式子网络。
所述抽取任务分布式子网络,用于按行从数据源中获取输入数据,并将输入数据缓存到分布式数据缓存队列。
所述处理任务分布式子网络,用于对输入数据进行处理和转换,并输出结果数据。
如图3所示,一种实时ETL方法,包括以下步骤:
S1.设计和测试ETL流程,将测试合格的ETL流程以元数据的方式存储为xml文件。
ETL客户端有可视化的界面用来设计和测试ETL流程,测试ETL流程是在ETL客户端所在的机器上模拟运行该ETL流程,用于测试所设计的ETL流程能否按预期设想运行并得到正确的结果。
将测试好的ETL流程以元数据的方式存储为xml文件,具体的元数据有:转换中每个步骤所做的工作、每个步骤输出行的元数据以及转换的数据库连接。
S2.将测试合格的ETL流程构造成能够在ETL群集中运行的分布式数据处理ETL流程,并将该分布式数据处理ETL流程发送到ETL群集。
所述ETL流程包括一个或多个输入步骤、中间处理步骤(即转换步骤)和输出步骤。ETL流程运行时按行从数据源中获取输入数据,经过中间步骤的处理,将结果数据通过输出步骤存储到目标仓库中。
本发明中输入数据从分布式数据缓存队列中获取,一项简单的ETL流程中包括至少一个分布式数据缓存队列,输入数据从ETL系统外部被推送到分布式数据缓存队列中。输入数据的元数据信息包括行的字段名、类型和精度信息。
输入步骤获取输入数据后,将输入数据流到中间处理步骤(转换步骤),中间处理步骤包括多种不同的类型,如字段查询、记录行合并、字段添加或修改、记录行拆分等。每个中间处理步骤代表对行的一种操作。多个中间处理步骤连接起来就可以完成复杂的数据处理任务。输出步骤通常包括将结果数据输出到数据库表、日志文件、数据仓库等目标存储中。输入步骤、中间处理步骤和输出步骤一起构成了数据流的DAG网络。
所述步骤S2包括以下子步骤:
S21.检测ETL流程的DAG图中入度为0的ETL转换单元,并将该入度为0的ETL转换单元归类到输入步骤节点集合;检测ETL的DAG图中出度为0的ETL转换单元,并将该出度为0的ETL转换单元归类到输出步骤节点集合;将ETL流程的DAG图中除入度为0、出度为0以外的ETL转换单元归类到中间处理步骤节点集合;
S22.从步骤S1中的xml文件中读取每个ETL转换单元的元数据,并构建每个ETL转换单元的元数据对象;
S23.根据输入步骤节点集合中各ETL转换单元的元数据对象和ETL流程的DAG图中各ETL转换单元间的连接关系构成抽取任务分布式子网络;
S24.根据中间处理步骤节点集合中各ETL转换单元的元数据对象和ETL流程的DAG图中各ETL转换单元间的连接关系构成处理任务分布式子网络。
S3.ETL群集中的多个ETL节点组成分布式数据处理ETL网络,构建每个数据源的分布式数据缓存队列,按行从数据源中获取输入数据,将输入数据发送到该数据源对应的分布式数据缓存队列,将该分布式数据缓存队列的队列信息和该分布式数据缓存队列对应数据源中输入数据的元数据信息发送到分布式状态管理机。
所述步骤S3还包括:将步骤S22中的元数据存储在分布式数据缓存队列中。
S4.从分布式数据缓存队列中抽取输入数据,并使输入数据流经分布式数据处理ETL网络中的处理任务分布式子网络中的所有ETL节点。
步骤S4中每个ETL节点对输入数据进行处理,ETL节点对输入数据进行处理包括以下步骤:
S41.处理任务分布式子网络中的任意一个ETL节点在自己的输入缓存区中获取该ETL节点的输入数据和输入数据的元数据信息;
S42.所述ETL节点根据自己的节点元数据信息中描述的操作步骤对输入数据进行处理,并修改输入数据的元数据信息,生成该ETL节点的输出数据的元数据信息;
S43.所述ETL节点将自己的输出数据和输出数据的元数据信息打包后发给处理任务分布式子网络中后续ETL节点。
S5.每条进入分布式数据处理ETL网络中的输入数据形成一个消息树;
S6.判断每条输入数据是否在分布式数据处理ETL网络中被完全处理:
若存在输入数据未被完全处理,则从分布式数据缓存队列中重新抽取该输入数据,将该输入数据发送到分布式数据处理ETL网络中,重新处理;
若所有输入数据均被完全处理,输出处理完成后的结果数据。
所述步骤S6中判断输入数据是否被处理完成的方式为:为输入数据的消息树分配一个变量,并将该变量均初始化为0,待所述输入数据经过处理任务分布式子网络处理后,判断所述变量是否为0:
若该变量为0,则该输入数据被完全处理;
若该变量不为0,则该输入数据未被完全处理。
所述判断输入数据是否被处理完成的方式包括以下子步骤:
S61.定义处理任务分布式子网络中任意一个ETL节点k,接收到的输入数据为A,则ETL节点k为输入数据A生成一个随机的64位标识符SA,并将标识符SA保存到该处理任务分布式子网络的标识序列中,如图4所示,为ETL节点k的消息树分配一个64位的变量result,并将该变量result均初始化为0,然后将变量result通过公式(1)与标识符SA进行异或运算:
result=SAXORresult公式(1)
S62.若处理任务分布式子网络中ETL节点k之后无用于对输入数据A进行处理的ETL节点,如图4(a)所示,则ETL节点k处理完成后,变量result再次通过公式(1)与标识符SA进行异或运算,跳转步骤S63;
若处理任务分布式子网络中ETL节点k之后有用于对输入数据A进行处理的ETL节点,如图4(b)所示,则ETL节点k生成输入数据A的一个或多个中间输出值{A1,A2,A3,…,AN},并将中间输出值{A1,A2,A3,…,AN}发送给后续ETL节点,每个AN表示ETL节点k的一个中间输出值,为每个中间输出值AN生成一个随机的64位标识符如图4(c)所示,并将标识符记录到该处理任务分布式子网络的标识序列中,变量result的值通过公式(2)进行更新:
r e s u l t = r e s u l t X O R S A 1 X O R S A 2 ... X O R S A N 公式(2)
ETL节点k处理完成后,变量result再次与标识符SA通过公式(1)进行异或运算;
S63.每过间隔时间t检测一次变量result的值:
若变量result的值为0,则输入数据A被完全处理;
若变量result的值不为0,则经过超时时长p后再次检测该result的值,若该变量result的值仍不为0,则输入数据A未被完全处理;间隔时间t为20毫秒~40毫秒。超时时长为20秒~30秒。
所述ETL节点一直保持运行状态,除非主动停止该ETL节点。所述ETL节点用于运行对应的ETL转换单元。

Claims (10)

1.一种实时ETL系统,其特征在于:包括ETL客户端、分布式数据缓存队列、分布式状态管理机和ETL群集;
所述ETL客户端,用于设计ETL流程、测试ETL流程和发布ETL流程;
所述分布式数据缓存队列,用于缓存输入数据;
所述分布式状态管理机,用于存储系统状态信息;
所述ETL群集,用于按行从数据源获取输入数据,并将输入数据缓存到分布式数据缓存队列中,然后对输入数据进行处理。
2.根据权利要求1所述的一种实时ETL系统,其特征在于:所述系统状态信息包括输入数据的元数据信息和当前的分布式数据缓存队列的队列信息。
3.根据权利要求1所述的一种实时ETL系统,其特征在于:所述ETL群集包括多个ETL节点,多个ETL节点组成分布式数据处理ETL网络,分布式数据处理ETL网络包括抽取任务分布式子网络和处理任务分布式子网络;
所述抽取任务分布式子网络,用于按行从数据源中获取输入数据,并将输入数据缓存到分布式数据缓存队列;
所述处理任务分布式子网络,用于对输入数据进行处理和转换,并输出结果数据。
4.一种实时ETL方法,其特征在于:包括以下步骤:
S1.设计和测试ETL流程,将测试合格的ETL流程以元数据的方式存储为xml文件;
S2.将测试合格的ETL流程构造成能够在ETL群集中运行的分布式数据处理ETL流程,并将该分布式数据处理ETL流程发送到ETL群集;
S3.ETL群集中的多个ETL节点组成分布式数据处理ETL网络,构建每个数据源的分布式数据缓存队列,按行从数据源中获取输入数据,将输入数据发送到该数据源对应的分布式数据缓存队列,将该分布式数据缓存队列的队列信息和该分布式数据缓存队列对应数据源中输入数据的元数据信息发送到分布式状态管理机;
S4.从分布式数据缓存队列中抽取输入数据,并使输入数据流经分布式数据处理ETL网络中的处理任务分布式子网络中的所有ETL节点;
S5.每条进入分布式数据处理ETL网络中的输入数据形成一个消息树;
S6.判断每条输入数据是否在分布式数据处理ETL网络中被完全处理:
若存在输入数据未被完全处理,则从分布式数据缓存队列中重新抽取该输入数据,将该输入数据发送到分布式数据处理ETL网络中,重新处理;
若所有输入数据均被完全处理,输出处理完成后的结果数据。
5.根据权利要求4所述的一种实时ETL方法,其特征在于:所述步骤S2包括以下子步骤:
S21.检测ETL流程的DAG图中入度为0的ETL转换单元,并将该入度为0的ETL转换单元归类到输入步骤节点集合;检测ETL的DAG图中出度为0的ETL转换单元,并将该出度为0的ETL转换单元归类到输出步骤节点集合;将ETL流程的DAG图中除入度为0、出度为0以外的ETL转换单元归类到中间处理步骤节点集合;
S22.从步骤S1中的xml文件中读取每个ETL转换单元的元数据,并构建每个ETL转换单元的元数据对象;
S23.根据输入步骤节点集合中各ETL转换单元的元数据对象和ETL流程的DAG图中各ETL转换单元间的连接关系构成抽取任务分布式子网络;
S24.根据中间处理步骤节点集合中各ETL转换单元的元数据对象和ETL流程的DAG图中各ETL转换单元间的连接关系构成处理任务分布式子网络。
6.根据权利要求5所述的一种实时ETL方法,其特征在于:所述步骤S3还包括:将步骤S22中的元数据存储在分布式数据缓存队列中。
7.根据权利要求4所述的一种实时ETL方法,其特征在于:所述步骤S6中判断输入数据是否被处理完成的方式为:为输入数据的消息树分配一个变量,并将该变量均初始化为0,待所述输入数据经过处理任务分布式子网络处理后,判断所述变量是否为0:
若该变量为0,则该输入数据被完全处理;
若该变量不为0,则该输入数据未被完全处理。
8.根据权利要求7所述的一种实时ETL方法,其特征在于:所述判断输入数据是否被处理完成的方式包括以下子步骤:
S61.定义处理任务分布式子网络中任意一个ETL节点为k,接收到的输入数据为A,则ETL节点k为输入数据A生成一个随机的64位标识符SA,并将标识符SA保存到该处理任务分布式子网络的标识序列中,为ETL节点k的消息树分配一个64位的变量result,并将该变量result均初始化为0,然后将变量result通过公式(1)与标识符SA进行异或运算:
result=SAXORresult公式(1)
S62.若处理任务分布式子网络中ETL节点k之后无用于对输入数据A进行处理的ETL节点,则ETL节点k处理完成后,变量result再次通过公式(1)与标识符SA进行异或运算,跳转步骤S63;
若处理任务分布式子网络中ETL节点k之后有用于对输入数据A进行处理的ETL节点,则ETL节点k生成输入数据A的一个或多个中间输出值{A1,A2,A3,…,AN},并将中间输出值{A1,A2,A3,…,AN}发送给后续ETL节点,每个AN表示ETL节点k的一个中间输出值,为每个中间输出值AN生成一个随机的64位标识符并将标识符记录到该处理任务分布式子网络的标识序列中,变量result的值通过公式(2)进行更新:
r e s u l t = resultXORS A 1 XORS A 2 ... XORS A N 公式(2)
ETL节点k处理完成后,变量result再次与标识符SA通过公式(1)进行异或运算;
S63.每过间隔时间t检测一次变量result的值:
若变量result的值为0,则输入数据A被完全处理;
若变量result的值不为0,则经过超时时长p后再次检测该result的值,若该变量result的值仍不为0,则输入数据A未被完全处理。
9.根据权利要求4所述的一种实时ETL方法,其特征在于:步骤S4中每个ETL节点对输入数据进行处理,ETL节点对输入数据进行处理包括以下步骤:
S41.处理任务分布式子网络中的任意一个ETL节点在自己的输入缓存区中获取该ETL节点的输入数据和输入数据的元数据信息;
S42.所述ETL节点根据自己的节点元数据信息中描述的操作步骤对输入数据进行处理,并修改输入数据的元数据信息,生成该ETL节点的输出数据的元数据信息;
S43.所述ETL节点将自己的输出数据和输出数据的元数据信息打包后发给处理任务分布式子网络中后续ETL节点。
10.根据权利要求4所述的一种实时ETL方法,其特征在于:所述ETL节点一直保持运行状态,除非主动停止该ETL节点。
CN201510425219.0A 2015-07-17 2015-07-17 一种实时etl系统及方法 Active CN105069029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510425219.0A CN105069029B (zh) 2015-07-17 2015-07-17 一种实时etl系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510425219.0A CN105069029B (zh) 2015-07-17 2015-07-17 一种实时etl系统及方法

Publications (2)

Publication Number Publication Date
CN105069029A true CN105069029A (zh) 2015-11-18
CN105069029B CN105069029B (zh) 2019-01-29

Family

ID=54498401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510425219.0A Active CN105069029B (zh) 2015-07-17 2015-07-17 一种实时etl系统及方法

Country Status (1)

Country Link
CN (1) CN105069029B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101571A (zh) * 2018-07-17 2018-12-28 新华三大数据技术有限公司 Etl设计过程的处理方法、装置和设备
CN109800226A (zh) * 2018-12-25 2019-05-24 北京明略软件系统有限公司 一种数据治理中的任务管理方法及装置
CN111082976A (zh) * 2019-12-02 2020-04-28 东莞数汇大数据有限公司 一种支持etl任务调度可视化的方法
CN112416752A (zh) * 2020-11-02 2021-02-26 四川新网银行股份有限公司 一种基于数据仓库etl分层测试的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282356B (zh) * 2021-06-16 2021-12-14 泰瑞数创科技(北京)有限公司 一种实时执行本地分布式分析的方法、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317928A (zh) * 2014-10-31 2015-01-28 北京思特奇信息技术股份有限公司 一种基于分布式数据库的业务etl方法及系统
US20150134592A1 (en) * 2013-11-11 2015-05-14 Work 4 Labs, Inc. Extract transform load (etl) applications for job matching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134592A1 (en) * 2013-11-11 2015-05-14 Work 4 Labs, Inc. Extract transform load (etl) applications for job matching
CN104317928A (zh) * 2014-10-31 2015-01-28 北京思特奇信息技术股份有限公司 一种基于分布式数据库的业务etl方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
赵俊 等: "公共数据中心的ETL系统设计与实现", 《计算机应用与软件》 *
邵天会 等: "ETL多点缓存技术的数据仓库系统构建", 《河南科学》 *
陈雪峰: "一种ETL与数据清洗相结合的分布式数据集成工具的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101571A (zh) * 2018-07-17 2018-12-28 新华三大数据技术有限公司 Etl设计过程的处理方法、装置和设备
CN109101571B (zh) * 2018-07-17 2020-12-08 新华三大数据技术有限公司 Etl设计过程的处理方法、装置和设备
CN109800226A (zh) * 2018-12-25 2019-05-24 北京明略软件系统有限公司 一种数据治理中的任务管理方法及装置
CN111082976A (zh) * 2019-12-02 2020-04-28 东莞数汇大数据有限公司 一种支持etl任务调度可视化的方法
CN111082976B (zh) * 2019-12-02 2022-07-29 东莞数汇大数据有限公司 一种支持etl任务调度可视化的方法
CN112416752A (zh) * 2020-11-02 2021-02-26 四川新网银行股份有限公司 一种基于数据仓库etl分层测试的方法
CN112416752B (zh) * 2020-11-02 2023-06-06 四川新网银行股份有限公司 一种基于数据仓库etl分层测试的方法

Also Published As

Publication number Publication date
CN105069029B (zh) 2019-01-29

Similar Documents

Publication Publication Date Title
CN107038162B (zh) 基于数据库日志的实时数据查询方法和系统
Goodhope et al. Building LinkedIn's Real-time Activity Data Pipeline.
US20120297249A1 (en) Platform for Continuous Mobile-Cloud Services
Brito et al. Scalable and low-latency data processing with stream mapreduce
CN105069029A (zh) 一种实时etl系统及方法
WO2019182670A1 (en) Endpoint process state collector
CN109739929A (zh) 数据同步方法、装置及系统
CN112118174B (zh) 软件定义数据网关
US20100223446A1 (en) Contextual tracing
CN105357061A (zh) 一种基于大数据流处理技术的运维监控分析系统
KR20150112357A (ko) 센서 데이터 처리 시스템 및 방법
TW201804392A (zh) 風險識別方法、風險識別裝置、雲風險識別裝置及系統
CN112256523B (zh) 业务数据处理方法及装置
CN111338893A (zh) 进程日志处理方法、装置、计算机设备以及存储介质
CN107357804A (zh) 互联网金融海量日志的分析系统及方法
CN114372084A (zh) 面向传感流数据的实时处理系统
Dunne et al. A comparison of data streaming frameworks for anomaly detection in embedded systems
CN114401207B (zh) 一种通讯异常终端设备定位方法、装置及电子设备
CN111913933B (zh) 基于统一支撑平台的电网历史数据管理方法及系统
CN117336135A (zh) 数据传输方法、装置、存储介质以及电子设备
CN107566341A (zh) 一种基于联邦分布式文件存储系统的数据持久化存储方法及系统
CN111506672A (zh) 实时分析环保监测数据的方法、装置、设备及存储介质
CN115391429A (zh) 基于大数据云计算的时序数据处理方法及装置
CN103812691A (zh) 一种集群负载均衡系统的日志统计系统及方法
Aung et al. Performance Evaluation for Real-Time Messaging System in Big Data Pipeline Architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant