XX银行数据仓库建设项目方案_第1页
XX银行数据仓库建设项目方案_第2页
XX银行数据仓库建设项目方案_第3页
XX银行数据仓库建设项目方案_第4页
XX银行数据仓库建设项目方案_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

银行数据仓库建设方案文件银行数据仓库建设方案文件)每条记录中有数据ETL的时间戳,对小数据量的数据表,可以通过该时间戳清除掉本次加载的数据。对于大数据量的表,可以利用时间窗口功能,如果大表某一天的数据出现错误后,可以直接进行一天数据的恢复。作业调度和监控根据作业依赖关系的元数据进行ETL作业的调度,并对执行过程进行监控。作业调度需要包括以下功能:灵活启停作业;根据日期规则设置作业执行计划;支持作业的并发执行;允许作业网络的嵌套;方便新增ETL作业。作业的监控需要包括以下功能:监控作业的当前执行情况;查询作业历史执行情况。元数据管理ETL过程需要通过元数据的管理来实现数据流程的监控以及作业的灵活调度。需要定义:源数据结构、目标数据结构、源和目标的映射(包括定制映射的方案、定制映射调用的函数、定制清洗的方案)、作业处理日志以及作业依赖关系。ETL模块设计XX银行的ETL采用数据库的存储过程及Shell脚本等技术支持,可以按照如下模块设计:调度模块:负责任务的管理、调度和分发,作业依赖关系的管理;作业控制:负责计算资源的分配、作业的执行,控制作业执行的流程、跟踪作业执行的结果、记录作业的日志。数据库模块:管理类数据库:用于调度和作业主控,保存任务和作业的相关配置信息和运行信息。应用类数据库:用于具体应用的业务数据库。ETL域:ETL架构中基本的计算资源组合,是一个计算机群,由JCI统一管理和控制,一个ETL域由一个ETLServer和多个ETLClient组成。ETL应用:应用部署和配置管理的基本单位,一个ETL应用包含一组相关的作业单元、作业配置参数和应用环境参数。物理作业:具体负责数据加工的程序执行单元,各类存储过程或者作业脚本(SHELL脚本、用C/C++/PROC等开发的可执行程序)。ETL模块可以划分为任务调度、任务控制、任务执行。任务调度模块在EDWH+EDWB统一模块中,调度是由部署在总行的调度SERVER统一完成调度工作,或者由部署在分行的调度Server完成本分行作业的调度。调度SERVER根据各个JOB的运行时间和依赖关系,按照一定的调度策略对总分行的JOB进行统一调度。在实际部署中,调度模块可以仅部署在总行,实施统一调度,也可能部署在分行,实施分布调度;而在每个ETL域的ETLServer上部署调度的Agent模块,调度Server负责任务的检索、调度和分发,调度Agent接收到调度Server的调度指令,调用作业主控模块(JCI)执行具体的作业,并根据JCI的退出码将作业的执行情况反馈给调度Server。任务控制模块统一架构中的处理模块是由一个或多个ETL域组成的。总行有一个或多个总行的ETL域,分行有本分行的ETL域。域与域在物理上是分开,但是在逻辑上是联系在一起的。对于不同的域,它们的处理任务也是不一样的。每个处理域由一个或多个ETLSERVER和若干个ETLCLIENT组成。ETLSERVER主要负责ETLJOB的具体执行。首先,ETLSERVER接收调度Agent发过来的要执行的作业的作业ID,根据该作业ID到管理库中获取该作业的运行参数并解释所有参数。其次根据作业运行资源需求,获取所属ETLCLIENT的资源情况,选择最优的若干台ETLCLIENT,分配作业给这些ETLCLIENT运行。最后收集并记录作业运行日志信息,释放ETLCLIENT的资源,更新作业运行状态,返回作业运行结果信息给调度Agent。ETLCLIENT主要负责ETLSERVER分配的作业模块的具体执行,是作业的具体执行者。ETL统一架构中的ETL域并不是一成不变的,理论上具有无限的横向扩展能力。它可以根据本域上的作业情况增减ETLCLIENT。如果作业的数目太多,ETLSERVER承担的任务过重,则可以增加ETLSERVER来降低原有的ETLSERVER调控任务的压力。如果实际运行JOB的ETLCLIENT资源不足,经常处于高负荷状态,则可以通过增加ETLCLIENT来提高运行效率。ETLServer访问管理库,ETLClient只访问应用库,不允许访问管理库。■数据库模块统一架构中的数据库模块分为两个部分:管理类数据库和业务类数据库。业务类数据库存放的是ETL作业处理的业务数据。管理类数据库存放的是作业运行控制相关的数据信息,如系统配置参数或作业配置信息、状态信息和运行日志信息等。在统一架构中,数据库模块分为两层,一层是总行层,另外一层是分行层。无论是总行还是分行,数据库都是由管理类数据库和业务类数据库组成。在管理库的具体部署时,可能只部署在总行,所有ETLServer都访问这个管理库,分行的ETLServer通过跨越广域网的数据库连接访问管理库。管理库的信息分为三类:系统参数和作业配置信息:静态参数;状态信息:属于控制类的动态信息;日志信息;

ETL流程设计系统ETL设计流程如下图:I 调度SERVER接收调度SEVER发

出的jobm获取该FOB对应的参

数廨析初始化获取作业运行资源的

要求、作业依赖检查ETLSERVERETLSERVERETLSERVERETT.二二⑶仃工作用山工作方苴期比祓脑诅迸诵;•蚤强诳说我量诵I 调度SERVER接收调度SEVER发

出的jobm获取该FOB对应的参

数廨析初始化获取作业运行资源的

要求、作业依赖检查ETLSERVERETLSERVERETLSERVERETT.二二⑶仃工作用山工作方苴期比祓脑诅迸诵;•蚤强诳说我量诵一独至支W审理?强懑这支Xfl方士j:作行刍通妇注••电支陵/变差西门井技/述仃色久切百过续月送过范登过续、强,出它通比祓.;塞建K如族:以色号包:过比登过续月送过范注、ETLSERVERETLSERVERETLSERVERI Bau,f^z.JtrKhKh;诳揩落获取ETLCLIENT资

源情况动态赞源分配,选择若干最优ETLCLIENT给点)■:::-::::-::K:K:3::E:M::-::::-:n・n・rsJ・ia:a-nMPJr啕常制地™fflHsjsi装通费n.i;±*■!!一!*XUXHSSMLXHSV■一■♦■)EB>rJaln,nlifl;M««::s'>«fflJ赤is:鹿盟温narsMmTarsMnJrssLf?心昌fflHsj-c::;笈*玄;;豆~©应用麴据库获取作业日志信息作业运行状态信

息.作业运行效率信息写入数据库本系统ETL处理流程顺序概要描述如下:调度程序在总行的调度服务器上面运行,当调度程序发现某个作业符合调度条件,就对其进行调度,将该JOB的ID发给该JOB所在域的ETLSERVER。ETLSERVER得到调度的调度指令后,根据JOBID,先到所在域中的管理类数据库中JOB实例表中查找该JOB,判断该JOB的状态是否正确,查找该JOB的前序JOB是否完成,然后在JOB参数表中查找该JOB对应的各种参数,为作业的运行解析和准备参数,同时到所在域的业务类数据库中查找各种输入文件是否存在,如果条件都满足,则JOB可以运行。3.ETLSERVER对JOB的类型进行判断,如果是普通的SHELLJOB或者EXECJOB,则根据JOB实例表中的NODES_LIST(该作业可使用的节点列表),计划在本域中分配一个ETLCLIENT给JOB运行,如果是DSJOB,则根据JOB实例表中的NODES_NEED(运行该作业所需节点数)和NODES_LIST(该作业可使用的节点列表)得到该JOB运行所需的结点个数以及所能够运行该JOB的结点列表。在每个ETLCLIENT上都安装着用于获取结点资源情况的RESOURCEAGENT,这些AGENT每隔一定的时间间隔,就会将本台CLIENT上的系统资源使用情况,如:CPU使用率,MEMORY使用率,I/O等待情况等写入所属域的管理类数据库中的结点使用情况表中。ETLSERVER在得到JOB运行的结点个数和能够运行该JOB的结点列表后,根据本域的管理类数据库中结点的使用情况表,按照一定的策略对能够运行该JOB的结点列表进行排序,选出最优的若干个ETLCLIENT。然后根据结点情况,动态生成JOB运行配置文件。然后根据运行配置文件,将JOB分配给各个ETLCLIENT执行。ETLCLIENT开始执行JOB,无论JOB运行成功还是失败,都将各种运行信息反馈给所属域的ETLSERVER。ETLSERVER得到ETLCLIENT的反馈信息后,将其写入日志,并设置JOB的状态,同时释放结点的资源。ETLSERVER将作业运行的情况通过退出码的方式反馈给调度程序。

动态资源分配动态资源分配的主要依据。ResourceAgent:运行于域中所有节点(包括主节点)之上的一个守护进程,负责按照一定的时间间隔采集当前节点的各种系统资源(CPU使用情况,内存使用情况)使用情况,磁盘I/O使用情况,是否存在故障),并通过TCP/IP和运行于主节点上的ResourceBroker进程进行通信,将当前节点的系统资源使用情况汇报给ETLServer;ResourceBroker:运行于域中ETLServer之上的一个守护进程,负责j接收来自域内节点的连接请求,记录请求节点的系统资源使用情况;如果域中某个节点超过指定的时间间隔没有发送资源报告,则将该节点置为故障,该节点将不会被分配来运行任务,如果此后收到该节点的资源报告请求,则将该节点状态置为活动。客户端与服务端采用C/S通信模式,通过TCP协议传送信息,这样做的好处是:避免工作节点直接访问管理库,访问管理库的工作统一ETLServer来完成,从而提高了应用部署的适应能力;ETLServer可以据此检测所有工作节点是否存在故障;客户端负责采集信息发送到服务端,服务端接收信息,并写到数据库。对于每个客户端的连接,服务端fork出一个子进程处理。服务端与客户端作为daemon进程,要求能够长时间运行。应该能接受收SIGQUIT,SIGTERM,SIGHUP信号,完成退出并清理进程资源;在EDW中,将由成千上万的作业来完成数据整和的功能,这些作业由于复杂度不同,运行频度不同,甚至是同一个作业,由于数据来源不同(例如不同的分行),数据规模也是相差甚远的,因此如果对所有的作业使用相同的配置文件,将对系统资源造成极大的浪费,例如一个非常简单的作业,事实只需要几秒钟的时间,却将其部署到多个节点上运行,不仅没必要,而且造成额外的网络开销和调度开销。因此为了提高作业运行的性能,充分使用计算机群中所有节点的资源,必须采用一种合理的作业运行资源配置方案,在这种方案中,将根据作业的复杂度,数据规模,运行频度、约束条件等因素,动态地生成运行资源配置配置文件,从而使系统中的每个作业能以最优的方案运行,从而使整个系统获得最优的性能。数据接口设计数据仓库平台系统需要建立一个集成的ETL接口平台,该平台需要同时支持:打包数据文件和数据库直连两种ETL方式。各种ETL方式的通过ETL工具进行统一配置和管理,不同的接口方式由相应的接口适配器(InputAdapter)来处理,接口适配器仅处理数据/文件物理格式的转换,并不负责业务要素层面的转换,接口适配器一旦调试通过后,将不随业务元素变化(例如表字段改变)而变化。数据接口规范用来规范本系统和各源业务系统以及本系统内部之间数据交换,使数据交换遵循一个统一的标准。由于各业务系统之间的数据标准不尽一致,因此在制订与不同业务系统的数据接口规范时,必须要涵盖如下内容:>数据内容分析确定需要的数据表,以及表中的每个数据项,包括数据项的长度、类型等,明确数据表项之间相互的关系。>数据格式根据接口文件类型指定文件格式,如文本文件,需描述字段变长分隔符分隔,字符数据项、日期数据项格式等。>编码格式文件内容的编码格式,如ASCII码、EBCDIC码等,确定数据交换文件的解析规范或语义。>编码规范说明业务系统相关的业务编码,和本系统保持统一的标准。如业务种类、网点机构的机构代码等,必须遵守统一的命名规范。>数据来源数据表项来自的业务系统。数据表项和业务系统数据表项的对应关系。>数据统计算法对于各业务指标的计算方法必须有统一的公式,并且其组成要素的业务涵义必须统一。>外部数据接口标准对于来自外部的数据,须经过系统预处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论