用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载计算机毕业设计网络工程

基于DataStage的大批量数据处理优化策略的设计与实现

联系方式:点击这里给我发消息QQ212181988
官方主页:www.biye114.com
图片预览: ;论坛转帖
插件情况:
售后服务:请联系客服QQ:212181988
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

 新一代企业现金日终批量数据处理系统延续CCMP系统的构建模式,在日终进行数据的加载,以满足客户查询等操作的及时性要求。
本文围绕企业现金日终批量数据处理的整体流程,具体介绍了作者在数据组日终批量项目中的工作。在日终批量数据处理的过程中,各类数据文件通过IBM InfoSphere DataStage软件进行读取、转换、载入到Oracle数据库中,并在数据库中对数据进一步的加工。随着我行业务的发展,企业现金的日交易量超过了千万级,每日产生的数据量级也达到了千万级。高效高质的进行数据处理譬如与上下游组件数据交互,日终数据备份等也成了制约现金管理数据处理和维护的瓶颈。为了保证企业现金管理组件安全稳定的运行,需要对现有的数据策略进行优化,综合比较现有的大批量数据处理方案并结合企业现金组件现行的生产运行环境,选择datastage作为数据处理的优化点,充分利用现有工具的并发处理能力提高数据处理效率。

关键词:大批量,数据处理,DataStage,优化策略


目录
1 绪论 2
1.1 研究背景及意义 2
1.2 研究内容 2
1.3 论文结构 2
2 企业现金日终批量数据处理流程介绍 4
2.1 企业现金中的日终批量数据处理子系统 4
2.2 日终批量数据处理整体流程 4
2.3 日终数据处理Shell脚本介绍 6
2.3.1 Shell介绍 6
2.3.2 日终数据处理主要Shell脚本构成 6
3 基于DataStage的数据处理 7
3.1 IBM InfoSphere DataStage特性及构成 8
3.2 IBM InfoSphere DataStage客户端介绍 9
3.2.1.1 DataStage Administrator 9
3.2.1.2 DataStage Designer 9
3.2.1.3 DataStage Director 10
3.3 IBM InfoSphere DataStage安装与集群部署 11
3.3.1 IBM InfoSphere DataStage安装 11
3.3.2 IBM InfoSphere DataStage集群部署尝试 11
3.3.2.1 IBM InfoSphere DataStage集群部署 11
3.3.2.2 IBM InfoSphere DataStage集群与非集群对比 12
3.4 IBM InfoSphere DataStage作业的开发与调试 14
3.4.1 DataStage Job的开发 14
3.4.2 调用DataStage作业以及存储过程脚本 17
3.4.3 调用DataStage作业子脚本 18
3.5 IBM InfoSphere DataStage经验总结 19
4 大批量数据文件处理的优化策略 20
4.1 大批量数据并发执行 20
4.2 Merge Stage的加工预处理 20
4.3 数据加工过程的优化 21
5 总结与展望 22
致谢 23

1绪论
1.1研究背景及意义
目前,银行业之间的竞争日益激烈,随着互联网的发展,又带了互联网金融的竞争。随着信息技术的不断发展,其在深刻影响社会各个方面的同时,也在影响着银行业。信息技术的应用使得银行在满足市场、客户的瞬息万变的需求时,越来越能够游刃有余。企业现金管理系统作为商业银行重要的组成部分,为企业提供了涵盖收付款工具、流动性管理、公司理财、信息报告、电子银行等的综合金融服务,有效的提高了企业资金运转效率与效益。随着企业现金管理系统业务的持续发展,各级机构迫切需要系统能够提供准确的业务数据,定期自动生成业务统计报表,以提升企业现金的业务管理水平和管理效率,这就需要我们利用先进的信息技术,高效、准确地支持企业现金管理业务的发展。
1.2研究内容
本文围绕企业现金日终批量数据处理的整体流程,具体介绍了作者在数据组日终批量项目中的工作。在日终批量数据处理的过程中,各类数据文件通过IBM InfoSphere DataStage软件进行读取、转换、载入到Oracle数据库中,并在数据库中对数据进一步的加工。随着我行业务的发展,企业现金的日交易量超过了千万级,每日产生的数据量级也达到了千万级。高效高质的进行数据处理譬如与上下游组件数据交互,日终数据备份等也成了制约现金管理数据处理和维护的瓶颈。为了保证企业现金管理组件安全稳定的运行,需要对现有的数据策略进行优化,综合比较现有的大批量数据处理方案并结合企业现金组件现行的生产运行环境,选择datastage作为数据处理的优化点,充分利用现有工具的并发处理能力提高数据处理效率。
1.3论文结构
本论文共分为六章。
第一章,绪论(即本章)。介绍论文的研究背景及意义、研究内容以及论文的组织结构。
第二章,企业现金日终批量数据处理流程介绍。包括日终批量数据处理在企业现金中的位置、整体流程。
第三章,DataStage对数据文件的处理。主要涉及IBM InfoSphere DataStage安装、集群部署的尝试、数据文件构成介绍及作业开发调试等。
第四章,大批量数据文件处理的优化策略。主要包括文件拆分,并发执行,DataStage特殊作业开发调试和运行等。
第五章,企业现金日终批量返还数据处理相关总结。包含全量数据追加、业务分析数据过滤、IBM InfoSphere DataStage日志清理、数据文件传输规范、撰写工作联系单等。
第六章,总结与展望。


2企业现金日终批量数据处理流程介绍
2.1企业现金中的日终批量数据处理子系统
截至到目前,新一代企业现金日终批量数据处理子系统主要对每天CCBS系统传输的大机文件、FESP系统、ICSP系统、P9平台发送的数据文件等进行处理。如图2-1中所示,各个系统每天日终定时段通过BDE传输组件将数据文件传输到指定的存储磁盘,随后批量服务器在日终通过Control-M调度工具调用相应作业,借助DataStage数据处理软件及Oracle相关技术将数据文件中的数据加载到批量数据库。联机数据库通过DBLink技术访问批量数据库并进一步加工数据,从而为企业现金P8相关组件,诸如新一代企业现金虚拟现金池报表、跨国公司总部外汇资金集中运营报表、智能现金池报表、综合信息报告等的查询、展现等提供数据支持,实现快速查询、高效展现报表的效果,提高客户查询的时效性。

2.2日终批量数据处理整体流程
具体的新一代企业现金日终批量数据处理的整体流程,延续了现金管理平台(CCMP)的模式,通过Control—M调度工具调用Shell脚本,将各类数据文件通过IBM InfoSphere DataStage软件进行读取、转换、载入到Oracle数据库中,并在数据库中进一步的加工,具体流程详见图2-1。

图2-1 新一代企业现金日终数据处理整体流程示意图
图2-1描述了新一代企业现金日终数据处理的整体流程。目前,需要提供数据的各类报表的数据源主要来自CCBS、FESP、ICSP、CCBSS、ECIF等系统直接或间接通过P9平台通过新一代传输组件BDE直连或间接传输。数据处理具体流程为:
1、批量调度工具Control—M按照数据处理的逻辑顺序统一调度包括文件检测、数据处理以及日切等后续处理的Shell脚本,并对各个脚本的运行状态进行监测,并设置告警阈值。
2、Shell脚本完成对数据处理整体的封装。数据处理的Shell脚本主要可以分为以下几个模块:
1)FileWatching文件到达检测。数据文件是数据处理的源头,我们需要在确定数据文件到达之后才可以启动数据处理程序。主要通过调用java程序接口完成文件的检测,每一分钟轮询一次,一旦监测到数据文件在指定的目录中存在,返回成功。否则将一直轮询。
2)调用DataStage软件运行相应的作业(Job)。一旦检测到数据文件满足我们数据处理的条件,Shell脚本即可调用DataStage的相应命令启动相应DataStage开发的数据处理作业对数据文件进行抽取、转换并加载到批量数据库。
3)调用存储过程对数据库中的数据进一步加工。利用DataStage软件将数据库放入数据库中只是完成了数据文件的初步解析,还需要对数据做进一步诸如账号转换、币种转换、钞汇鉴别转换、添加数据标记等等的加工,这就需要调用存储过程来完成。Shell脚本调用java程序接口实现对数据库的访问及存储过程的运行。
4)日志的记录。数据处理的所有过程几乎都通过Shell脚本封装的形式完成,在这一过程中需要对数据处理的过程进行相应的记录,以便我们在后续的查询、纠错过程中更加的方便。
此外,Shell脚本中还兼顾了重跑机制。该机制只要是为了避免在数据处理过程中意外退出、未完成等等情况,当再次重新调用该数据处理时可以不受上次失败作业的影响。

2.3日终数据处理Shell脚本介绍
正如前文所述,Shell脚本是对所有数据处理相关的DataStage作业、Oracle数据库存储过程等等核心数据处理的封装,我们通过调用Shell脚本来实现外部数据文件的处理。接下来具体介绍一下Shell脚本的构成。
2.3.1Shell介绍
Shell本身是一个用C语言编写的程序,它是用户使用Unix的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix系统的关键。
2.3.2日终数据处理主要Shell脚本构成
Shell脚本涉及的内容主要包含文件检测、数据文件分离、调用DataStage作业及存储过程等几个类别。主要特点有:
1)Shell脚本分为不同类型,同类型脚本通过脚本名称进行区分,脚本内容一致,实现高度复用。
2)调用封装好的java程序实现文件检测、数据库的访问、存储过程的执行等。
3)辅助设计不同日期不同分行不同作业的日志记录,方便日志的检查与管理。如加载数据活期明细档位数据SAECNTXN,其路径存放在:$HOME/S72/log/日期/分行号/SAECNTXN.log。
4)结合配置文件实现参数的集中管理。脚本通过读取配置文件获取对应的参数信息,如DataStage的工程名称、Server IP、用户名、密码(密文)等。
5)兼顾重跑机制。该机制只要是为了避免在数据处理过程中意外退出、未完成等等情况,当再次重新调用该数据处理时可以不受上次失败作业的影响。主要涉及到对可能出现的意外导致部分数据加载到数据库后的清理策略,如对于分区表清理当日分区、对于insert操作而非分区表则需要用Delete操作清理数据库数据。
3基于DataStage的数据处理
IBM InfoSphere Information Server作为首个全面统一的企业信息体系结构基础,将InfoSphere DataStage 、 QualityStage 、IInformation Analyzer Information Integrator 中的技术集成到一个统一平台,如图5-1所示。企业现金日终数据处理子系统也引入了该平台,并主要运用InfoSphere DataStage对数据进行抽取、清洗、转换、装载等操作。

图5-1 IBM InfoSphere Information Server内容

数据整合的核心内容是从数据源中抽取数据,然后对这些数据进行转化,最终加载到目标数据库或者数据仓库中去,这也就是我们通常所说的 ETL 过程(Extract,Transform, Load)。IBM InfoSphere DataStage(下面简称为DataStage)为整个 ETL 过程提供了一个图形化的开发环境,它是一套专门对多种操作数据源的数据抽取、转换和维护过程进行简化和自动化,并将其输入数据集或数据仓库的集成工具。主要功能有:
1)抽取。主要是针对各个业务系统及不同网点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。
2)清洗。主要是针对系统的各个环节可能出现的数据二义性、重复、不完整、违反业务规则等问题,允许通过试抽取,将有问题的纪录先剔除出来,根据实际情况调整相应的清洗操作。
3)转换。主要是针对数据仓库建立的模型,通过一系列的转换来实现将数据从业务模型到分析模型,通过内建的库函数、自定义脚本或其他的扩展方式,实现了各种复杂的转换,并且支持调试环境,清楚的监控数据转换的状态。
4)装载。主要是将经过转换的数据装载到数据仓库里面,可以通过数据文件直接装载或直连数据库的方式来进行数据装载,可以充分体现高效性。在应用的时候可以随时调整数据抽取工作的运行方式,可以灵活的集成到其他管理系统中。
3.1IBM InfoSphere DataStage特性及构成
企业现金日终数据处理使用DataStage 8.5版本,其有以下特性:
1)数据源连接能力:数据整合工具的数据源连接能力是非常重要的,这将直接决定它能够应用的范围。DataStage 能够直接连接非常多的数据源,包括:文本文件、XML 文件、企业应用程序,比如 SAP、PeopleSoft、Siebel、Oracle Application、几乎所有的数据库系统,比如 DB2、Oracle、SQL Server、Sybase ASE/IQ、Teradata、Informix等以及可通过ODBC连接的数据库、Web Services、SAS、WebSphere MQ
2)多国语言支持(NLS):DataStage能够支持几乎所有编码,以及多种扩展编码(IBM、NEC、富士通、日立等),可以添加编码的支持,DataStage内部为UTF8编码。
3)并行运行能力:ETL Job的控件大多数都支持并行运行,此外DataStage企业版还可以在多台装有DataStage Server的机器上并行执行,这也是传统的手工编码方式难以做到的。这样,DataStage就可以充分利用硬件资源。而且,当你的硬件资源升级的时候也不用修改已经开发好的ETL Job,只需要修改一个描述硬件资源的文件即可。并行执行能力是DataStage所能处理数据的速度可以得到趋近于线性的扩展,轻松处理大量数据。

图5-2 DataStage Client客户端工具

4)便捷的开发环境:DataStage 的开发环境是基于 C/S 模式的,通过 DataStage Client 连接到DataStage Server 上进行开发。这里有一点需要注意,DataStage Client 只能安装在 Windows 平台上面。而 DataStage Server 则支持多种平台,比如 Windows、Solaris、Redhat Linux、AIX、HP-UNIX。DataStage Client 有四种客户端工具,分别是 DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director,如图5-2所示。下面介绍这几种客户端工具在 DataStage 架构中所处的位置以及它们如何协同工作来开发 ETL Job 的。
3.2IBM InfoSphere DataStage客户端介绍
从图5-2可以看出DataStage Client 由四种客户端组成,即 DataStage Administrator、DataStage Designer、DataStage Manager、DataStage Director,这4个客户端构成DataStage工程建立、作业开发、参数配置等等功能,我们相关ETL Job的开发也是在这四个客户端的基础上开发的,下面一一进行介绍。
3.2.1.1DataStage Administrator
DataStage Administrator 的主要功能有以下几个:
1.设置客户端和服务器连接的最大时间。
以管理员的身份登陆 DataStage Administrator(默认安装下管理员为dsadm)。你可以设置客户端和服务器的最大连接时间,默认的最大连接时间是永不过期。最大连接时间的意思就是如果客户端和服务器的连接时间超过了最大连接时间,那么客户端和服务器之间的连接将被强行断开。
2.添加和删除项目
在 Projects标签中,可以新建或者删除项目,以及设置已有项目的属性。要用 DataStage 进行 ETL 的开发,首先就要用 DataStage Administrator 新建一个项目,然后在这个项目里面进行 ETL Job 的开发。
在Property里,能够设置该Project全局设置、用户权限以及License的管理。

3.2.1.2DataStage Designer
DataStage Designer是ETL Job开发的核心环境。值得注意的是,登陆DataStage Designer 的时候,不仅要指定DataStage Server 的IP或Server名,而且要指定连接到这个DataStage Server上的哪个项目上面,上面已经提到DataStage的项目是由DataStage Administrator 来创建的。

一、DataStage Designer的主要功能

1. ETL Job的开发
DataStage Designer里面包含了DataStage为ETL开发已经构建好的组件, 主要分为两种,一种是用来连接数据源的组件,另一种是用来做数据转换的组件。此外DataStage还提供自定义函数(Basic),利用这些组件,开发人员可以通过图形化的方式进行ETL Job的开发,此外ETL Job支持参数的传递。
2. ETL Job的编译
开发好ETL Job后,可以直接在DataStage Designer里面进行编译。如果编译不通过,编译器会帮助开发人员定位到出错的地方。
3. ETL Job的执行
编译成功后,ETL Job就可以执行了,在DataStage Designer里面可以运行ETL Job。ETL Job的运行情况可以在DataStage Director中看到,这方面的内容将在介绍DataStage Director的时候提到。
4. ETL Job的DEBUG
ETL Job可以在Designer中设置断点,跟踪监视Job执行时的中间变量。
5. ETL Job Report的生成
可以为ETL Job生成文档报告,该报告非常详细,只通过该报告,就可以完全了解该Job的结构与处理过程,非常便于分析。

二、DataStage提供的常用控件

1. DB操作控件
主要用于各种DB的连接,连接方式有多种,有面向厂家的Native方式,如Sybase的OpenClient方式,也有通用的ODBC等方式,此外也有些比较特别的DB操作控件,如Sybase的IQ Load、BCP控件,主要用于数据的快速导入和导出。
2. 文件操作控件
常用的有Sequential File、Hashed File, Sequential File是可指定编码形式和格式的CSV文件,Hashed File主要是为了加快检索效率,而替代DB控件的一种比较好的选择,这两种控件可用于输入或输出。
3.处理控件
主要的处理空间有Transformer、Aggregator, Transformer是负责数据转换的关键控件,在该控件中可以调用一些自定义函数,Aggregator是用于统计的控件,非常类似于SQL中的GROUP BY,也提供Count、Max、Min、Sum的统计操作,还支持如First、Last、Average等操作。

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:212181988发送资料
  • 官方微信