- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于可复用构件思想的ETL架构设计
2.1 银联统计分析系统的介绍
银联统计分析系统是建立在数据仓库基础上的,为银联各分公司领导提供决策辅助信息的系统。其目的是为了更深入应用银联积累的大量跨行交易数据,是为了促进分公司、银行、金融监管机构和行业客户对业务进行全面、及时、准确的分析和定位,及时了解业务发展动态和预测,及时解决业务发展中存在的问题。
银联在全国有37家省级分公司。各分公司所关心的数据内容,关注的KPI体系,KPI的评价标准都是一致的。但是,各分公司由于当地经济发展水平不同,银行卡应用深度不同,导致各分公司业务种类差异很大,即使是同一种业务,其成熟程度、规范程度差异也很大,体现在数据上就是数据源的种类不一致,即使是相同的业务数据源,在数据结构、业务判断规则、数据表现形式方面也有很大差异性。
这种共性大差异性也大的多个数据仓库系统,设计上选用可重用性构件的思想来指导ETL的架构设计,实现上采用自己开发的拥有自动知识产权决策支持系统产品:数据挖掘商业应用平台(Compass)。该平台包括智能流程管理子系统、报表专家子系统、多维分析子系统、数据挖掘子系统四个部分。其中智能流程子系统是一个独立的ETL开发工具,能够支持基于可复用构件思想ETL过程的实现。
2.2 银联统计分析系统ETL构件分层识别
在银联统计分析系统ETL设计阶段,依据图1所示的ETL架构和设计思想来设计和组织ETL各处理阶段可重用构件以及构件之间的接口规则:
(1)抽取层。银联统计分析系统抽取层处理的数据主要三类:业务数据、维度数据、辅助数据。业务数据主要包括全流水、二次清分数据、公共支付、固网支付、网上支付等业务交易数据;维度数据主要包括商户信息、机构信息、终端信息、地区信息等;辅助数据主要是卡bin信息、发卡信息等。
银联统计分析系统这个层面的数据除了全流水数据外,其他的内容在各个分公司表现形式、处理规则差异很大,封装成构件的价值不大,所以这个层面可以识别的构件只有全流水抽取。
(2)集成转换层。鉴于各分公司统计分析系统所关心的数据内容,关注的KPI体系,关注的维度数据(商户、机构、终端)信息相似度很高,所以这个层面可以识别的构件比较多,主要有两大类:流水数据集成转换构件;维度类数据集成转换构件,具体包括商户、机构、终端、商户类别、地区信息的集成转换构件。
辅助数据因为类型多样,差异比较大,可重用价值不高,所以不对其识别构件。
(3)特殊处理层。银联统计分析系统的特殊处理层的构件不再按照数据类别识别,而是根据每个指标的使用频率、涉及数据记录数的多少识别三类构件:交易指标类构件、调账指标类构件、维度统计指标类构件,分别负责交易类指标、调账类指标、商户和终端发展情况的统计。
(4)基础服务层。各分公司银联统计分析系统对元数据管理要求基本一致且没有特殊要求,银联统计分析系统将其识别为元数据管理构件。
考虑到银联统计分析系统处理的数据对象基本一致,差异主要体现在数据的表现形式和处理规则上,加上ETL过程构件之间传递数据量很大,这里选用数据池的形式而不采用函数调用的形式来定义构件接口。例如,所有分公司对商户关注的信息都是一样的,但是每个分公司提供的商户信息的表现形式却各不相同,抽取层接口数据池通过约定抽取层商户信息抽取过程生成内容和格式,为集成转换层商户信息集成转换构件提供一个稳定的数据源,使其不必关心用户提供的数据源是什么形式。
考虑到银联统计分析系统关注的指标繁多,一次性全部识别成控件难度和工作量都很大。所以,首先识别并封装最重要的、最常用的交易类指标的自动测试构建;然后是调帐指标和维度统计指标的自动测试构件的识别和封装。
2.3 银联统计分析系统ETL架构设计
基于可复用构件思想银联统计分析系统ETL架构具体包含六个功能模块(如图3所示)包括:元数据抽取模块、可重用构件选择和导入模块、数据仓库架构自动维护模块、ETL过程定义模块、ETL调度模块、ETL构件生成模块。各个模块的具体功能分工如下:
(1)元数据抽取模块。这个模块主要完成两项工作:抽取银联业务数据和维度数据元数据,并在此基础上对系统进行更精确的定义,例如银联各类数据源提供的时间周期、银联数据仓库数据保留的时间和备份频率等信息。
(2)可重用构件的选择和导入模块。在银联统计分析系统的分析和设计阶段,已经识别了抽取层、集成转换层等各层有重用价值的构件。为了管理和重用这些构件,构件选择和导入模块的功能有两个:第一,从银联构件库中抽取已经封装的全流水交易数据抽取构件、集成转换构件、KPI转换构件、维度类数据集成转换构件(包括商户、机构、终端、商户类别、地区信息五类构件)、KPI自动测试类构件,将其导入到ETL过程库,按照ETL架构(见图1)对导人的构件分层组织,生成系统的ETL过程框架(如图4(a)所示),图4(a)中的ETL过程链中三个JOB节点分别对应ETL架构(见图1)中的抽取层、数据集成转换层、特殊处理层,图4(b)~(d)分别对应各导人构件(一个JOB节点代表一个导人构件的处理过程)在这三个层次中的组织形式。第二,模块可根据新项目银联分公司特殊业务规则和指标口径配置每个构件的处理规则,将配置信息加入元数据库中。
(3)数据仓库架构自动维护模块。数据仓库架构自动维护模块主要功能是依据元数据库中的信息,为银联统计分析系统完成数据仓库的创建和初始化工作,完成事实表、维度表创建,完成每个构件需要的配置表、中间表和临时表的建立等工作,而这些原本需要用手工来实现和维护的。
(4)ETL过程定义模块。在初始框架的基础上,可通过ETL定义模块可视化地定义构件库中没有可重用构件的ETL过程,例如手续费和品牌费抽取、商户信息抽取(如图5所示)、终端信息过程等,使整个银联统计分析系统的ETL趋于完善。
(5)ETL调度模块。ETL调度模块可以根据系统的调度设置,执行ETL过程库中的ETL过程,实现数据抽取、转换、加载、换算等工作。
(6)可重用构件生成模块。对于新定义的ETL过程,若可重用价值高,可通过ETL构件生成模块从ETL过程库中抽取相应ETL处理过程包装成可重用构件。可重用构件一般包括以下内容:ETL处理过程、配置过程说明文档、相关表(配置表、中间表和临时表)的信息、初始化数据、特殊规则配置功能界面,构件这些构成部分由ETL构件生成模块分别存入到构件库中相关表中。
3 结 语
这里介绍了一个基于可复用构件思想的ETL架构,以北京银联、江苏银联、浙江银联等10家省级银联统计分析系统为例,介绍了该架构各层构件的识别过程,设计了ETL模块构成以及各模块主要功能。该架构已经在10家省级银联分公司的统计分析系统的ETL构建中应用,实践表明该架构是有效的,它能够在比较短的时间内完成统计分析系统的构建,可有效缩短系统的开发周期,大幅度降低各分公司的时间成本和资金成本,对于推动数据仓库和商业智能在银联各个省级分公司的应用有显著意义和使用价值。
作者:刘绍清,黄章树
(1.福州职业技术学院 福建福州 350002;2.福州大学 管理学院 福建 福州 350002)
来源:现代电子技术