一种基于ETL的数据优化方法及设备技术

技术编号:8078916 阅读:185 留言:0更新日期:2012-12-13 21:42
本发明专利技术实施例提供了提供一种基于ETL的数据优化方法及设备,所述的方法包括:根据数据抽取、转换、装载的过程ETL预先设置多个数据处理单元;对所述的数据处理单元预先设置通信机制;采集用户输入的包括来源数据的指令信息;根据所述的来源数据构建与所述的指令信息对应的数据处理流程;根据所述的数据处理单元以及预设的通信机制对所述的数据处理流程进行优化。通过预先设置数据处理单元以及通信机制,实现了对数据的简化优化、分支并行优化以及记录间并行优化,提高了数据优化的处理效率,节约硬件资源。

【技术实现步骤摘要】

本专利技术关于数据处理技术,特别是关于数据迁移转换过程中的处理技术,具体的讲是一种基于ETL的数据优化方法及设备
技术介绍
在企业信息化建设过程中,经常涉及到对大量、分散、异构的数据进行处理,数据抽取、转换、装载的过程(Extract-Transform-Load, ETL)是该过程中必不可少的一部分。现有技术中主要有如下几种方式来实现ETL过程 I、硬编码硬编码是通过高级语言(如C、C++)或脚本等编译出的一个独立运行的程序或嵌入ETL框架运行的动态链接库。这种方式的优点是灵活,只要是采用的编程语言能支持的数据类型和处理逻辑,在ETL过程中,都能得以实现。相对其“灵活”的优点来说,“硬编码”方式的缺点也十分显著由于该方式将所有ETL过程的实现逻辑,都封装到了一个硬编码程序中,ETL过程中的处理逻辑是不可见的,一旦要维护该ETL过程中的某个逻辑,则需要开发人员来进行。其可重用性、可移植性、可维护性差,难以文档化,而且工作量较大,开发周期一般较长。不适用与环境复杂多样、变化频繁的数据处理场景。2、存储过程数据库存储过程,是一组为了完成特定功能的SQL语句集,与程序中的函数类似,存储过程是在数据库中创建的。当要对数据库做一个较为复杂的操作时,可以通过存储过程将操作封装起来,并可以与事务处理等结合使用。存储过程实现ETL过程,将所有数据处理单元都存储在数据库中,随着需求的变动与添加,存储过程的数量会越来越大,导致该ETL过程的维护越来越困难。存储过程是脚本形式,不利于理解与工作交接,维护与调试难度大。同时,存储过程依赖与数据库系统,基本不具可移植性,比如=Oracle中的存储过程无法迁移到SQL Server中存储运行。3、批量序列处理根据ETL过程的需求,将数据以“数据包”的形式,按顺序在各数据处理单元之间传递,数据包内的所有数据,在一个数据处理单元内处理完成,形成新的数据包后,才传递给下一个数据单元处理。这种做法层次分明、结构简单、易理解,是ETL过程中最常用的实现方式。需要将所有数据以数据包形式,全部加载到内存,内存资源消耗情况依赖于所处理的数据包的大小,当数据包较大的时候,其处理效率呈加速下降的趋势。综上所述,上述三种处理方式主要存在如下缺陷I、无可复用性、可移植性 这些实现方式,通常是针对特定的外部数据和加载目标,有特定的数据处理逻辑,这些逻辑固化在了一个ETL程序中;所以这样的实现方式只能用于特定的ETL场景,在其他场景中,无法将之前的成果一直到新的场景、或重复利用起来,只能再针对新的特定场景完成一个新的实现;2、维护性、易用性差有些技术方案是通过“脚本”或“代码”的方式,描述从外部数据到加载目标的ETL过程。维护这样的ETL过程,涉及到对大量的“脚本”或“代码”的管理,非常混乱,而且这对实施人员的技术水平提出了相当高的要求,否则难以实现。3、无元数据管理有些技术方案比如“硬编码”和“存储过程”,缺乏了对元数据进行存储和管理的过程,导致对ETL过程的运行、跟踪 和分析,以及后期的维护调整,都非常难以进行。4、效率低下这类技术方案通常采用分布串行处理方式,这种方式能够满足小量数据简单的ETL过程需求。随着发展,各行业系统中的数据量越来越大,ETL过程通常要面对海量数据进行处理,对实时性要求越来越高,因此对ETL过程的效率就提出了越来越高的要求,传统的处理方式已经不能满足要求。5、资源占用大这类技术方案通过将要处理的各种异构数据,抽取到内存块中;甚至在转换过程中,需要实时连接外部数据如关系数据库。这就导致了大量的内存、CPU、带宽资源被占用。
技术实现思路
本专利技术实施例提供了一种基于ETL的数据优化方法及设备,通过预先设置数据处理单元以及通信机制,实现了对数据的简化优化、分支并行优化以及记录间并行优化,提高了数据优化的处理效率,节约硬件资源。本专利技术的目的之一是,提供一种基于ETL的数据优化方法,所述的方法包括根据数据抽取、转换、装载的过程ETL预先设置多个数据处理单元;对所述的数据处理单元预先设置通信机制;采集用户输入的包括来源数据的指令信息;根据所述的来源数据构建与所述的指令信息对应的数据处理流程;根据所述的数据处理单元以及预设的通信机制对所述的数据处理流程进行优化。本专利技术的目的之一是,提供一种基于ETL的数据优化设备,所述的设备包括数据单元设置装置,用于根据数据抽取、转换、装载的过程ETL预先设置多个数据处理单元;通信机制设置装置,用于对所述的数据处理单元预先设置通信机制;指令信息采集装置,用于采集用户输入的包括来源数据的指令信息;数据流程构建装置,用于根据所述的来源数据构建与所述的指令信息对应的数据处理流程;数据优化装置,用于根据所述的数据处理单元以及预设的通信机制对所述的数据处理流程进行优化。本专利技术的有益效果在于,通过预先设置数据处理单元以及通信机制,实现了对数据的简化优化、分支并行优化以及记录间并行优化,提高了数据优化的处理效率,节约硬件资源、网络资源,提高了系统的稳定性,以及优化设备的易用性、可复用性和可移植性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本专利技术实施例提供的一种基于ETL的数据优化方法的流程图;图2为本专利技术实施例提供的一种基于ETL的数据优化方法的实施方式二的流程图;图3为本专利技术实施例提供的一种基于ETL的数据优化方法的实施方式三的流程图;图4为本专利技术实施例提供的一种基于ETL的数据优化方法的实施方式四的流程图;图5为图I中的步骤S105的具体流程图; 图6为本专利技术实施例提供的一种基于ETL的数据优化设备的结构框图;图7为本专利技术实施例提供的一种基于ETL的数据优化设备的实施方式二的结构框图;图8为本专利技术实施例提供的一种基于ETL的数据优化设备的实施方式三的结构框图;图9为本专利技术实施例提供的一种基于ETL的数据优化设备的实施方式四的结构框图;图10为本专利技术实施例提供的一种基于ETL的数据优化设备的实施方式五的结构框图;图11为本专利技术实施例提供的一种数据处理单元的组合示意图;图12为步骤S3065中将多个数据处理单元转化为单步数据进行处理的示意图;图13是本专利技术实施例中根据某学校的指令信息生成的数据处理流程图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在企业信息化建设过程中,特别是面向分析与挖掘的商业智能业务过程,经常涉及到对大量、分散、异构的数据进行处理,ETL是这个过程中必不可少的一部分。下面首先介绍与本专利技术相关的缩略语与关键术语。ETL Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程。其负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换本文档来自技高网
...

【技术保护点】
一种基于数据抽取、转换、装载的过程ETL的数据优化方法,其特征是,所述的方法包括:根据数据抽取、转换、装载的过程ETL预先设置多个数据处理单元;对所述的数据处理单元预先设置通信机制;采集用户输入的包括来源数据的指令信息;根据所述的来源数据构建与所述的指令信息对应的数据处理流程;根据所述的数据处理单元以及预设的通信机制对所述的数据处理流程进行优化。

【技术特征摘要】

【专利技术属性】
技术研发人员:李纪洲周徐波王星宇
申请(专利权)人:北京久其软件股份有限公司
类型:发明
国别省市:

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

1