【技术实现步骤摘要】
基于数据管道和安全沙箱的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装置,其特征在于:包括:启动模块,用于启动执行器;执行器,用于接收前端的任务报文信息,根据任务报文信息,提取...
【专利技术属性】
技术研发人员:梁长生,潘桦,陈凯杰,郑涛,
申请(专利权)人:福建新大陆软件工程有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。