基于数据管道和安全沙箱的ETL方法、装置、设备和介质制造方法及图纸

技术编号:28140542 阅读:19 留言:0更新日期:2021-04-21 19:16
本发明专利技术提供一种基于数据管道和安全沙箱的ETL方法、装置、设备和介质,方法包括:启动执行器接收前端的任务报文信息,并提取出各阶段的组件编码分别实例化出各阶段组件,通过无锁的内存队列构建各阶段组件之间的数据管道,从而构建ETL拓扑实例,启动数据采集,数据通过数据管道传输,实现中间数据不落地,且数据边生产边消费;其中,各阶段组件是独立且可复用的组件,并能按业务场景自由对接;数据的结构为经过封装改造的数组;其中类加载是采用扩展的双亲委派模型进行,使所述执行器各各阶段组件运行在各自独立的安全沙箱中。从而解决了目前ETL采集方案中传输速度小,性能损失大,组件和业务强相关,以及双亲委派模型存在的包冲突缺陷问题。陷问题。陷问题。

【技术实现步骤摘要】
基于数据管道和安全沙箱的ETL方法、装置、设备和介质


[0001]本专利技术涉及计算机
,特别涉及一种ETL方法、装置、设备和介质。

技术介绍

[0002]ETL,是英文Extract

Transform

Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
[0003]组件是一个组装单元,它具有约定式规范的接口,以及明确的依赖环境。本案,组件用来实现具体业务的ETL功能,是一个软件功能包的总称。
[0004]ETL采集装置分三个阶段,即抽取、转换、加载。各阶段的数据源依赖上一模块处理后的数据结果,即转换阶段的数据依赖抽取阶段的输出数据;加载阶段的数据依赖转换阶段的输出数据。
[0005]现有的ETL采集装置方案一,如图1所示:抽取阶段:从源端抽取数据,并将抽取结果输出到临时数据,可以是内存、数据库、文件等;转换阶段:从上一步的临时数据读取数据,对数据进行转换,并将转换结果输出到临时数据,可以是内存、数本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于数据管道和安全沙箱的ETL方法,其特征在于:包括下述步骤:S1、通过启动模块启动执行器;S2、执行器接收前端的任务报文信息,根据任务报文信息,提取出抽取、转换和加载对应的组件编码,并根据所述组件编码分别实例化出抽取组件、转换组件和加载组件,并通过无锁的内存队列构建所述抽取组件、所述转换组件和所述加载组件之间的数据管道,从而构建ETL拓扑实例;其中,所述抽取组件、所述转换组件和所述加载组件是由实现ETL功能的单组件解耦而成的,是独立且可复用的组件,并能按业务场景自由对接;S3、所述ETL拓扑实例启动数据采集,数据通过所述数据管道传输,依次由所述抽取组件、所述转换组件和所述加载组件进行抽取、转换和加载,实现中间数据不落地,且数据边生产边消费;所述数据的结构为经过封装改造的数组,即利用缓存行填充、CAS原子操作,实现无锁的内存队列;其中,整个ETL过程的类加载是采用扩展的双亲委派模型进行,App ClassLoader只加载JAVA的基础包,执行器和组件包的加载则分别由执行器ClassLoader和组件ClassLoader去完成,且所述执行器ClassLoader和所述组件ClassLoader的父加载器均为App ClassLoader,使所述执行器、所述抽取组件、所述转换组件和所述加载组件做到类隔离,运行在各自独立的安全沙箱中。2.根据权利要求1所述的基于数据管道和安全沙箱的ETL方法,其特征在于:所述抽取组件为Reader类组件,所述转换组件为Transform类组件,所述加载组件为Writer类组件。3.根据权利要求1所述的基于数据管道和安全沙箱的ETL方法,其特征在于:所述数据管道还支持并行写入和并行消费。4.根据权利要求1所述的基于数据管道和安全沙箱的ETL方法,其特征在于:所述抽取组件、所述转换组件和所述加载组件还具备热插拔和动态更新特性。5.一种基于数据管道和安全沙箱的ETL装置,其特征在于:包括:启动模块,用于启动执行器;执行器,用于接收前端的任务报文信息,根据任务报文信息,提取...

【专利技术属性】
技术研发人员:梁长生潘桦陈凯杰郑涛
申请(专利权)人:福建新大陆软件工程有限公司
类型:发明
国别省市:

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

1