数据交换技术架构设计
面向服务的体系架构,以服务的形式构建数据迁移、交换等数据集成流程。系统以元数据服务为支撑,基于CWM-XMI、W3C-XML Schema规范,提供对传统的数据库、半结构化和非结构化文件数据的支持,以及对分布式存储等新兴技术的支持。在运维层面上,提供了基于Web的管理与监控工具;在开发层面上,提供了图形化的配置工具;在组件层面上,系统提供了数据访问服务、错误处理服务、数据转换与清洗服务、数据传输服务、任务调度服务、元数据管理服务、管理监控服务等服务。
基于Web的监控客户端,提供了完整的系统开发、管理和控制页面,核心功能包括:Dashboard,资源管理,任务监控,历史日志、系统配置五大组成部分。
Dashboard
提供系统运行的整体概览,包括当前系统最新任务运行状态的汇总,数据交换任务持续时间等信息。
监控
提供对数据集成任务的操作,包括任务的运行、状态展现(完成、错误终止、运行中、警告、异常终止)、排队情况、日志查询、执行方式(自动、手动)等信息。
历史
提供对数据集成任务历史日志的查询,包括通过分组、状态、时间段以及根据名称模糊匹配等手段进行细节的过滤。
资源管理
提供对系统资源的管理功能,包括节点、数据源、元数据、映射、任务、主题、计划调度等资源的管理和配置功能。
系统配置
提供对系统的配置,包括用户管理、密码修改、菜单授权、系统变量配置、系统更新等功能。
映射工具是创建ETL流程模板的图形化定义工具。其设计旨在使数据集成配置人员能够快捷地定义ETL流程中数据抽取(Extract)、转换(Transform)、加载(Load)过程。
基于Eclipse平台开发的映射工具实现了对ETL过程的图形化定义功能。ETL数据流程定义过程中的复杂性主要集中在数据映射定义和数据转换过程定义两部分工作上。为了降低复杂度,映射工具针对这两部分工作提供了更加便捷的开发模式。工具中包含有三种类型的节点,分别是:抽取节点、转换节点和加载节点,分别对应ETL三个处理步骤。每个节点定义都以树形结构直观地展现了输入和输出,方便用户以拖拽方式随需映射。
ETL工具的主要功能包括:
数据映射定义
通过映射工具可以定义关系数据库之间的数据结构映射关系、关系数据库与XML、Excel、平面数据之间的数据结构映射关系。
转换、清洗过程定义
数据转换是将源数据结构转换为目标数据的关键环节,数据转换是将抽取出来的数据通过一系列的函数、方法转换成目标数据源所需要的格式的过程。映射工具中以控件形式提供了诸如字符串拆分、合并、替换、码表转换、字符截取、统计等等常用的转换控件,用户还可以根据需要通过实现自定义转换添加自定义转换控件。
增量数据抽取定义
增量数据抽取即CDC(Change Data Capture)是指在指定时间段内对目标数据源已改变、新增、删除数据的捕获过程,通过映射工具,可以根据实际的业务环境,配置诸如时间戳方式、递增序列方式、标志位方式以及快照方式等增量抽取规则。
系统服务
系统服务是运行在操作系统下的一个系统进程,包括各种资源组件服务,诸如ETL服务、传输服务、任务服务、元数据服务等关键系统服务,并以Web 服务的方式发布数据接口。
ETL服务负责执行映射模板定义的ETL规则,实现数据抽取、转换、清洗、加载等功能。
对于跨地域分布式环境下的数据交换过程,需要通过传输服务将各个数据源中抽取出来的数据以指定传输方式(HTTP、FTP、消息等)发送到目的端。系统提供了稳定的数据传输功能,支持断点续传、错误恢复和过程监控,为动态可视化监控任务的正常运行和错误情况下的处理、恢复运行提供了便捷的途径。
系统任务服务,负责提供对数据集成任务的执行与监控服务接口。
元数据服务,提供了对关系数据库、文件和文档及应用程序中的结构化、半结构化和非结构化数据的元数据模型抽取支持,提供包括元数据模型定义、导入、导出、存取等功能的完整服务。
核心特性有:
l 集中或分布式部署模式,基于网络环境和安全性实现多点部署和统一管理;
l 图形化ETL定义工具,快速的定制开发数据抽取、转换(清洗)和加载任务;
l 远程管理与监控,统一管理、调度,实现全局总控与系统自动化运转;
l 错误处理与恢复,实现系统内自动识别与处理故障,减少人工参与;
l 多种增量抽取方案,增加数据同步的高效性、降低网络传输的资源占用;