数字大学、智慧高校 | 高等学校数字化校园建设解决方案——07、数据转换系统(ETL)。

1. 数据转换系统(Googosoft ETL



4.1 Googosoft ETL概述


Googosoft ETL为数据整合提供了令人满意的解决方案。它可以批量完成数据抽取(Extract)、清洗(Cleaning)、转换(Transformation)、装载(Loading)等任务,不但满足了用户对种类繁多的异构数据库进行整合的需求,同时可以通过增量方式进行数据的后期更新,一体化的解决数据整合过程中遇到的种种困难。


国子数据转换系统的主要功能是对已有的数据进行有选择的批量采集、转换、装载服务,应用于数据库批量采集、迁移、转换、更新等数据整合、数据仓库建立和维护、数据质量管理等工作。典型的用户有学校、政府单位等。这些用户的业务数据量大,对数据集中、数据转换、数据质量管理等有迫切需求。



4.2 Googosoft ETL功能概述


4.2.1 中心数据库


   中心数据库将分散在各部门业务系统的数据集中统一存放,以师、生角色为主线,提供跨部门的人事、教学、科研、公共资产、财务、信息服务等综合数据,从而为教职工、学生提供全方位的信息服务,并实现“谁产生、谁维护、谁负责”的权威数据源。同时中心数据库可以成为后续开发各种应用系统提供通用的数据库平台。


通过中心数据库的权威数据为数据综合查询、统计、分析、决策等应用提供权威数据支持。

 


4.2.2 数据仓库


数据仓库是面向主题的、集成的、随时间变化的、稳定的数据集合,用于支持管理决策的定制过程。



4.2.3 ETL


ETL分别是三个单词的首字母缩写(Extract Transform Load),也就是抽取、清洗、转换、装载,但我们日常往往简称其为数据转换。ETL包含了四个方面,首先是“抽取”:将数据从各种原始的业务系统中读取出来,这是所有工作的前提。其次“清洗”:在将操作型数据源的数据转换进入中心数据库以及数据集市之前必须保证源数据的质量。


现实世界的数据趋向不完全和不一致,带有许多噪音,数据在抽取出来之后,存在很多冗余、歧义的地方,我们称之为脏数据,这些数据需要进行统一的校准,使之成为能够互相关联的真实数据,这是数据清洗的过程。再次“转换”:按照预先设计好的中心数据库以及数据仓库的构建规则将抽取的数据进行转换,使本来异构的数据格式能统一起来。最后“装载”:将转换完的数据按计划增量或全部的导入到中心数据库和数据仓库中。



4.2.4 数据抽取


主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。确定如何抽取或查询源数据并非易事,因为它往往存储在多个地方可能是一个RDMS、一个文本文件、一个Excel文件、一个DBF文件或其他类型文件的异构数据库,连接时可以通过标准的连接工具比如ODBC、JDBC或FTP等。数据抽取分析时需要对业务深刻理解。



4.2.5数据传输

  通过网络把远程的数据文件FTP到本地目录下。

  在实施中,它的步骤如下:


1) 初始化参数表,如时间间隔、远程数据文件的存放地址、本地数据文件的存放路径、并连接到远程主机。

2) 取远程数据文件列表,将其取到本地。

3) 根据远程数据文件列表,生成取数据文件的脚本,运行此脚本。

4) 完成取数据操作后,生成取回数据列表,根据此列表生成删除远程数据文件的脚本,运行此脚本。

5) 将取回的数据文件迁移到指定文件夹中。

6) 继续监控。



4.2.6 数据清洗

   针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,允许通过试抽取,将有问题的记录先剔除出来,根据实际情况调整相应的清洗工作。


   数据清洗主要在中心数据库、数据仓库和数据质量管理三个领域中应用。而数据清洗保证信息源的数据质量,从而保证了辅助决策的原始数据的正确性和准确性。没有数据清洗,很可能导致错误的决策,因此数据清洗是构建中心数据库和数据仓库的必要因素。



4.2.7 数据转换

   主要针对中心数据库和数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过内建的库函数、自定义脚本或其他的扩展方式,实现了各种复杂的转换,并且支持监控数据转换的状态。数据转换是真正将源数据变为目标数据的关键环节,它包括数据格式转换、数据类型转换、数据汇总计算、数据拼接等等。


   但这些工作可以在不同的处理过程中视具体情况而定。比如可以在数据抽取时转换,可以在数据加载时转换。对数据转换过程中,可能产生三部分数据:第一部分是异常数据,是在转换过程中发现的不合乎规则的记录;第二部分是合法的、正常的数据;第三部分是汇总数据。



4.2.8 数据转载

   主要是将经过转换和清洗的数据加载到中心数据库和数据仓库里面,即入库。可以通过数据文件直接装载或直连数据库的方式来进行数据装载,充分体现高效性。数据加载有两部分,一部分是把合法的、正常的数据文件装入表中;另一部分是把汇总数据加载到汇总表,根据不同类型的数据,可能会有二次汇总。



4.2.9 调度


  决定什么时间执行什么任务以及任务执行次数的设置,配置完成后,调度服务启动会按时间触发任务执行。统一的调度是ETL中较为重要的 功能,它不但可以将源数据加载到数据仓库中,而且还可以更新中心数据库和数据集市,更重要的是还可以更新OLAP Server数据。它在整个高校数据集成方案中扮演着总指挥、总调度的角色。



4.3 Googosoft ETL数据转换系统带来的收益



  社会的需求和计算机技术的不断发展,人们开始对原来数据库中的数据开始进行再加工,形成一个综合的、面向分析的环境,以支持科学决策的产生。


   由此,中心数据库和数据仓库的思想、技术、产品逐渐开始形成。构建中心数据库和数据仓库的目的是要建立一种体系化的数据存储环境,将分析决策所需要的大量数据从传统的操作环境中分离出来,使分散的、不一致的操作数据转换成集成的、统一的信息,组织内不同的单位都可以在单一的环境下,通过运用其中的数据和信息,发现全新的视野和新的问题、新的分析和与想法,进而发展出制度化的决策系统,并获取更多的经营效益。中心数据库和数据仓库提供用户用于坚持支持的当前和历史数据,这些数据在传统的数据库中很难或不能得到。


   构建中心数据库和数据仓库,需要将学校中拥有的各种类型的数据经过必要的转换、整理后,定期的、批量的装载到中心数据库和数据仓库中。


   因为高校的数据来源多样,各种数据来源的数据规范并不完全一致,所以数据的转换、整理和装载需要一套完整、功能强大的软件系统的支撑,这就是ETL工具,国子软件提供是Googosoft ETL工具,以解决如下问题:


1) 能够从各种不同的数据源中读取数据。通过预置SQL Server、Oracle、Access等常用数据源连接,能够从数据源中直接获取数据。系统还提供了强大的扩展能力,针对DBF、Excel、文本文件等形式的各种异构数据,系统可以根据需要随时增加各种数据源。

2) 规范化数据访问接口。Googosoft ETL 数据转换系统的数据获取做到了多样化,而所有的数据处理都是通过规范的数据接口来访问,保证了异构数据库环境下,数据间的自由转换和存储。

3) 可视化的数据抽取过程定义。数据抽取都是面向抽象的数据库底层,Googosoft ETL 提供了完善的数据抽取过程定义,极大的降低了数据抽取过程设计的门槛,不但提高了设计数据抽取过程的效率,而且使数据抽取过程更加安全可靠。

4) 集成数据库建模能力。中心数据库和数据仓库的构建不是一朝一夕就能完成的,而是需要循环往复的增加、修改的过程,因此ETL中集成数据库建模能力就显得至关重要。ETL在后台集成数据库建模能力,可以根据用户生成的结果集在数据库中创建相应的数据表、使中心数据库和数据仓库的建模不会因为字段类型不匹配而造成数据抽取过程的失败。

5) 侦测业务数据库中发生的变化。中心数据库和数据仓库的数据来源于业务数据库,而业务数据库一般不保留对数据的增删改操作,而每次都将中心数据库和数据仓库中的数据清空重来,又是不现实的,这就需要数据抽取工具具有自动侦测业务数据库中发生的变化,将业务数据库中发生了增删改的数据,通过增量文件的形式抽取出来。

6) 能够数据库抽取工作自动执行。中心数据库和数据仓库的数据是批量加载的,需要耗费大量的时间,而且会对业务数据库的运行产生压力,因此数据抽取过程要求在业务数据库空闲的时间内执行。ETL提供了完整的任务调度能力,用户可以根据业务数据库的运行规律,设定数据抽取过程在业务空闲的时间自动运行。

7) 具有完整的数据传输和管理功能。构建中心数据库和数据仓库,经常需要将抽取出来的数据传输到异地载入,因此ETL提供了完善的网络传输和管理功能,用户可以根据需要将增量数据通过网络传输到异地后载入,对数据的传输、载入ETL提供了完整的管理功能。

 


4.4 Googosoft ETL功能的实现



   Googosoft ETL工具完成的工作是将有用的信息从一个目标数据源抽取出来然后经过一系列的清洗转换加工工作,将数据按照目的数据源的要求,将目标数据源的数据装载到目的数据源。我们可以将ETL工具的这个工作过程看作是一个流程,我们将流程分解,可以看到,最初的工作是将目标数据源的数据抽取出来,最终的工作是将处理后的数据装载到目的数据源中,而中间的部分则是对数据流的处理工作。我们可以假设流程中包含若干个处理数据问题的节点,每个节点只能完成单一的数据处理任务,那么ETL工具的头结点和尾节点将是实现数据抽取和装载功能的节点,中间的节点都是进行数据转换处理工作的,比如某个节点只能完成数据的合并。




  有了以上的观点,可以形成如下图:



ETL功能的实现.png



上图是一个Googosoft ETL工具的内部原理图,他说明ETL工具必须有一个或多个头结点和尾节点,中间的部分是可以不断增加的单一功能节点的多样化组合。当需要使用ETL工具完成一个任务的时候,数据首先经过头节点抽取出来,然后设计中间这些节点的数据变换功能,进行组合,完成数据的处理过程,最后经过尾节点将数据装载到目的数据源。


这种设计的好处在于,我们只需要不断地添加中间节点的种类,就可以不断的增强ETL工具的功能,而且在每次任务来临的时候,我们不需要整体推翻ETL工具的设计,而是改变中间节点种类的搭配和组合就可以完成数据的转换任务。将上面的思路抽象化,形成以下的规则:


作业:转换及其执行顺序的集合。

转换:由多个功能节点和流程组成,实现较复杂的数据转换过程,下图是实现增量数据抽取转换。



ETL功能的实现2.png


功能节点:原来完成一些基本变换功能的操作。如下图所示,这是一个结构最简单的功能节点的原理图,从图中我们可以看出,一个功能节点有m个输入端口和n个输出端口,不同来源的数据就是通过不同的输入端口,载入功能节点,通过一系列的转换函数,将数据进行转换处理,再通过不同输出端口,将数据输出到不同目标数据源中。如果只有输入流程而没有输出流程的节点就称为输入节点,而只有输出流程而没有输入流程的节点称为输出节点。



ETL功能的实现3.png


流程:用来连接节点并传递数据,但不负责数据转换。端口和流程的关系:端口是接口,而流程是实现此接口的类。概念示意图如下:


ETL功能的实现4.png


下图是给出两个节点间的流程传输数据示意。

如上图所示,每个节点都作为一个线程运行。

调度线程监控所有其他节点的运行。


ETL功能的实现5.png





  联机事务处理OLTP(On-Line Transaction Processing),是传统的关系型数据库的主要应用,主要是基本的,日常的事务处理,例如学生成绩录入、银行交易等。


联机分析处理OLAP(On-Line Analytical Processing),是针对特定问题的联机数据访问和分析。通过对信息(维数据)的多种可能的观察形势进行快速、稳定、一致和交换性的存取,允许管理决策人员对数据进行深入观察。

元数据(Metadata),描述数据的数据,指在中心数据库和数据仓库建设过程中所产生的有关数据源定义、目标定义、规则转换等相关的关键数据。



4.4.1 整体结构

总体应用如下图所示,系统分两层应用,一层是基层单位,另一层是上级机构。在基层单位,业务系统的应用配有业务系统数据库服务器,为了进行数据转换,分析工作,还需要数据转换服务器。基层数据转换服务器进行数据转换操作,转换的数据机构广域网上传到上层机构的FTP服务器中。在上级机构,通过数据转换服务器从FTP服务器下载差异数据文件,并将其装载到数据仓库中,完成数据集中、转换、更新全过程。



4.4.1整体结构.png


   具体技术结构如下图所示,首先将等待操作的数据源(即源数据源)通过数据源配置工具配置数据库的相关参数,进行数据库连接。数据源配置好后为数据转换任务配置及执行任务调用做准备。任务配置实质是元数据(指描述数据的数据)的生成和管理,可以通过可视化任务配置工具配置任务所需要的功能节点以及设定任务中各功能节点的执行流程。配置好的任务将在任务列表中列出,可以手动执行,也可以通过调度配置由调度自动统一执行。调度通过调度控制来控制调度服务的启动和停止。任务的执行是由数据转换引擎解释处理的,同时记录明细日志,通过任务监控反映出任务整体执行情况,并通过日志查看具体任务节点的执行情况。



4.4.1整体结构6.png

 

 


4.4.2 功能概述

Googosoft ETL数据转换系统不只是单一的实现某些数据类型转换的工具,而是一种数据转换功能的无限组合,用户可以根据每次执行的任务不同,可以由可视化的流程定义工具自行设定功能节点组合以及执行流程,来完成一次任务。


系统应用的核心环节是功能节点的选择和执行流程的配置。功能节点非常丰富,下一节详细介绍一些常用的功能节点。系统自带一些常用功能节点,能够对数据和文件进行操作。


对数据的操作:数据库连接、数据更新、增量数据抽取、增量数据载入、数据整理和清洗。

对文件的操作:复制、删除、更名、解压缩、FTP传输等。根据目前系统提供的功能节点,能满足用户日常的绝大部分需求。

综合来说,可以实现数据集中、数据整理、多数据源批量数据导入、导出、修改、批量文件拷贝、删除、远程传输等等。



 数据库连接节点

数据库连接节点与数据源配置有很大关联,该节点的主要功能是将在数据源配置过程中保存的成功数据库连接,在一次任务中具体选择、搭配、调用的过程。

文件拷贝

文件拷贝节点是将源目录下的文件拷贝到目标目录下的一个任务节点。只要将源文件所在的目录和文件名以及目标目录等参数配置正确,就可以完成一次文件的拷贝任务。

删除文件

删除文件节点完成指定目录下的指定文件的功能节点。

文件更名

文件更名节点将源文件更名为目标文件并加盖时间戳的节点,时间戳按时间格式定义产生。

文件解压缩

文件解压缩任务节点多用于远程文件传输,以减小文件大小的处理过程。

FTP传输

FTP传输节点是数据转换工具在广域网中应用中比较重要的节点,通过它可以进行远程数据传输。

SQL脚本

SQL脚本节点为了做数据整理和数据清洗,及一些直接处理数据而用的任务节点。

增量抽取

如下图所示,增量抽取节点是进行差异数据抽取的节点,可以实现源数据和参照数据通过关键字段进行对比,抽取出新增数据、修改数据和删除数据,并记录变更结果的功能。该节点通常与增量载入节点搭配使用,通过增量载入节点将其记录的差异数据装载到目标数据库,完成对数据库的更新过程。



?增量抽取.png


 增量载入

增量载入节点是与增量抽取节点相对应的,是负责将抽取出来的数据装载到目标数据库的任务节点。如系统所示:



?增量载入.png



数据更新

数据更新节点是完成源数据库的数据批量添加到目标数据库操作的节点。

管理和设计功能

数据资源配置工具

对数据库操作的时候,系统通过这个工具进行数据库连接,配置简单,可以直接配置Oracle数据库、SQL Server数据库等ODBC、JDBC支持的所有数据库。并设有数据库连接测试,只有数据库连接成功的情况下才能保存该连接设定,并且可以直接从可视化配置工具中调用该连接,简化了用户的操作,减少了错误操作的发生。

任务配置工具

将系统已有的功能节点进行组合,形成执行流程,生成用户需要的一次性完成的任务。同时提供新建、修改、删除任务等功能。如下图所示:


 

?任务配置工具.png

 

 调度配置

配置什么时间执行什么任务以及执行次数的配置,配置完成后,调度服务启动会按时间触发任务执行。

 调度控制

启动、停止调度服务。

 任务列表

将所有任务展现给用户、用户可以手动设定任务的执行操作。

任务监控

查看任务执行结果是否成功。

日志查看

查看任务执行的详细情况。日志详细记录了任务节点执行情况,以每一个任务名称加执行时间戳,列出日志文件。



4.4.3 核心功能


4.4.3.1 数据整合

   如下图所示,学校和企事业单位结构的上下级单位通常已经搭建了许多互补相通的业务系统,这些业务系统在操作上互补相通,但数据存在着一定的关联关系,上级机构往往希望能够把下级部门的这些相关数据集中起来进行综合分析,各下级单位之间也存在着数据的共享同步。在实施过程中这些数据来自于不同的数据库,有的是SQL Server的,有的是Oracle的,有的是Access的,需要进行采集的数据可能仅仅是这些数据库中的某些表,或者是某些表的某些字段。通过Googosoft ETL数据转换系统可以将存在于业务系统中的原始数据库中的相关数据进行一系列的转换过程,包括行列合并、拆分、类型变换等等进行统一处理,按照统一的格式加载到中心数据库和数据仓库中,这就完成了数据的整合过程。



4.4.3.1数据整合.png



4.4.3.2 数据更新


   很多学校和企事业单位已经进行了数据整合工程。但是数据整合工程之后,数据批量更新就成了最主要的问题。

   如下图所示,这是Googosoft ETL数据转换系统在数据增量更新应用方面的解决方法。首先数据转换系统从业务数据库中将变更数据形成增量数据文件,记载对数据的增加、删除、修改等操作,通过局域网或广域网的网络环境,直接更新上级结构的数据仓库或数据库中的原始数据。



4.4.3.2数据更新.png


4.4.3.3 数据转换


   随着信息化的飞速发展,很多学校和企事业单位以前的业务系统都需要进行更新换代,在系统更新的同时,涉及到历史数据重新导入新的业务系统中的问题,这种需求往往是数据库类型、数据结构的变更。手工进行数据转换虽然可以实现,但工作量非常大。利用Googosoft ETL数据转换系统来完成这个过程,不但可以大大提高数据批量转换的效率,对数据转换质量也有进一步的保证。


  数据转换是Googosoft ETL数据转换系统的主要功能,如下图所示,原始数据往往存在多种数据库类型,这些数据库中的数据通过设定的规则进一步进行筛选工作,将筛选出来的结果进行一系列转换过程的处理,包括行列合并拆分、数据计算、格式转换等等,按照既定的规则装载到目的数据仓库或数据库中。



4.4.3.3数据转换.png



4.4.3.4 数据质量管理 

很多学校和企事业单位在常年的基层数据采集过程中,积累了大量的历史数据,但这些数据往往存在着冗余和歧义的地方,每当需要对这些数据进行综合查询和分析的时候,常常会出现不合理的结果,这些脏数据直接影响着分析结果的质量。此外,一些关键数据的指标也需要进行监控。

Googosoft ETL数据转换系统在数据质量管理方面具有独特的解决办法,如下图所示,系统从杂乱无章的原始数据中,将关心的数据进行筛选提取,通过数据真实性校验过程,将不合理的数据按照预先设定的规则进行批量修正,同时详细记录更改的信息。对于一些修正工作,如果需要人工监督,还可以将关键处理数据设定预警功能,每当涉及到这些数据的变更,就通知相关人员进行确认,然后将梳理后的数据按照设定的规则,输出结果数据,批量装载到指定的目的数据库中。



图片44.4.3.4数据质量管理.png




4.4.4 Googosoft ETL数据转换系统的技术优势


Googosoft ETL数据转换系统是一个基于Java、跨平台的ETL应用框架。Googosoft ETL数据转换系统特点:



数据库支持各种常见数据库如Oracle、SQL Server、Sybase、mysql、DB2、Access等。

数据类型支持String、Numeric、Integer、Date相关的数据类型。

转换方式:流程式运行,字段一一映射。

功能数据更新,增量数据抽取、导入,ZIP文件压缩,FTP远程传输,调度及日志管理。

任务配置采用可视化配置,以XML形式描述。





Copyright 2015-2035 西安越影信息技术有限公司 YUEYINGIT.COM | 陕ICP备2020016252号-1
客服QQ:58155571
Top