数据处理平台高可靠性的设计与实现.doc_第1页
数据处理平台高可靠性的设计与实现.doc_第2页
数据处理平台高可靠性的设计与实现.doc_第3页
数据处理平台高可靠性的设计与实现.doc_第4页
数据处理平台高可靠性的设计与实现.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

数据处理平台高可靠性的设计与实现数据处理平台高可靠性的设计与实现中国建设银行股份有限公司信息技术管理部厦门开发中心林华兵在多个业务处理系统的应用环境中,一般都会涉及数据整合与数据集中处理的环节,通常在IT架构上会在多个上下游系统之间搭建一个数据处理平台,用于处理业务系统与下游的信息管理系统之问的数据加工需求,这个系统会根据需要进行短期的数据存储.对涉及多业务系统的企业,如银行,电信等,数据处理平台面对的源和目标系统多,每日处理数据量都很大.同时,为了适应管理与业务运营的需要,目标系统对供数的时间要求严格,数据处理平台必须在规定的时间窗口内准确地完成数据的转换和传输,以便支持下游系统正常运行,在这种环境下,数据处理平台的高可靠性(HA,HighAvailability)具有至关重要的意义.一,数据架构平台分析以某大型国有银行为例,业务方面日常运行着贷款,信用卡,数据仓库等多种应用,系统环境相对较复杂,数据处理平台面对的源和目标系统数量超过f)个,每日数据处理量达ITB级.相应地,目标系统对数据处理的时间要求严格,若在规定的时间窗口内数据未到达将直接影响次日的系统运营.为满足应用的需求,该银行搭建了一个位于数据仓库前端的操作型数据存储平台,实现每日业务系统到下游系统的数据加工,并根据加工要求进行特定数据的短期存储.其主要功能结构如图1所示.图l中的各主要功能模块和数据存储层均有交互,而相互间则通过事件通信和数据通信建立联系,是一种基于消息和数据依赖的低耦合的架构.在物理分布上,各个功能模块也是相互独立的,并支持通过存储共享的38中国金融电脑/2010.11图1数据存储平台功能结构方式实现加工的横向扩展.基于数据处理的高可靠性需求,结合我们的实践经验,本文从平台的分析和设计层面入手,提出一种可行的数据处理平台的高可靠性实现方法.从容错角度看,系统可靠性实现手段包括硬件冗余,软件冗余,信息冗佘和时问冗佘,而从容灾或故障自动恢复的角度看,系统可靠性还包括有效的故障检测和预警,发生故障时能自动或半自动地进行服务的重启或平滑切换到备份的模块中.简而言之,实现数据处理平台高可靠性的基本条件如下:(1)物理上,各模块所在的服务器具有备份机器;(2)具备故障汇报或心跳检测机制;(3)模块低耦合,模块故障可通过恢复脚本或程序独立恢复;(4)错误发生时业务可以正确回退,应用可以通过重新调度运行先前的任务.在企业级系统架构中,为有效支持可靠性的实现,除了满足功能需求外,在系统分析和软件设计阶段就必须引入指标考量备功能模块的耦合度以及横向扩展性,业务逻辑中断后的可持续性,区分系统可实现的可靠性功能和应用实现的可靠性功能,同时在硬件资源方面争取到合理的冗余以便支撑可靠性的实施.在综合考虑了数据量和加工效率的基础上,该银行的数据处理平台被设计为分布式的体系结构,各主要功能模块相互独立,这为高可靠性奠定了逻辑基础.而主要功能在物理部署上同样是分开的,并为各模块提供了备份机器,这种部署则是高可靠性实现的物理基础,同时这种分布还可以确保将故障缩小到易于控制的范围中.二,架构的实现方法考虑到该数据处理平台业务量持续增长的实际情况,在设计了低耦合的逻辑结构和相互备份的物结构后,在系统和数据库层面,我们提出以下策略以支持高可靠性的实施:一是数据容灾和应用容灾相结合.该数据处理平台是基于Oracle10g数据库的批处理系统,在数据库级,系统采用定期在线增量备份和日志归档的策略进行重要业务数据的备份,同时,为备份数据在异地建立镜像,防止重大故障或灾难出现时本地备份失效.在应用方面,则更多地通过削减模块功能依赖,增加备份部署与故障检测等手段确保高可靠性.二是系统级HA和应用级HA相结合.对于和外围系统关联的模块,如文件接入服务,因传输时IP地址配置为绑定的方式,我们采取系统级HA确保某一接入服务器故障时其IP地址能被备份机器复用,确保该切换对外围系统的透明.此外,采用系统HA的还有Oracle数据库服务,在数据文件未被破坏的情况下,该HA可以确保某一数据库服务失效时可以及时切换到备份的数据库副本上.结合系统和数据库层面的可靠性策略,而在数据处理平台的应用层面,我们进一步采片j以下结构和方法,从业务的细粒度层面确保平台的可靠性.1.分布式模块设计,粗粒度松耦合该数据处理平台的各个主要模块,包括事件通汛,作业调度,作业运行,数据传输等在功能上是相互独立的,仅存在数据或消息耦合,当某个功能模块发生故障时,其他模块的流程仍可持续;而在实际的物理部署上,由于处理量大,各模块也采用了分布部署的模式,可充分降低故障影响的范围,同时,各个主要模块还具备备份节点,在物理上具备了故障切换的基础.2.调度服务器和作业运行节点之间采用矩阵结构,克隆作业配置在数据处理平台中,存在诸多功能相同的调度或作业运行节点.在调度服务器和作业运行节点之间,我们设计出矩阵映射结构,确保任何一个作业可以在任一调度服务器上调度,且调度服务器可以将该作业派发到相对空闲的运行节点上.同时在这些节点上,采取作业配置信息全复制的策略,即新上线的作业配置信息在所有调度服务器和作业运行节点上同步更新,这些策略确保某一调度服务器故障或作业运行节点故障时其它节点可以很快地接管这些作业;同时,也可以利用这些配置实现涧度和作业运行的负载均衡,如图2所示.图2调度和作业运行的负载均衡示意3.对应用级可靠性,采用进程主动汇报和定时心跳检测相结合的故障检测机制应用级可靠性模块在结构上分为HAServer和Agent两端.在Server和Agent端都具备心跳检测功能,Server检1Agent的心跳,而Agent检测本地所监控服务的心跳或状态,防止因数据处理平台各进程无响应或Agent无响应导致的检测失效.对服务状态的汇报,则采取平台2OlO.11/中国金融电脑39各进程写标志文件,由Agent定时检查标志文件并将状态发送给Server的方式.Agent不仅定时检查进程的标志文件,还一并检查第三方产品的进程状态,即用统一的方式定时检查本机所有服务的状态.4.采用数据库锁,最大限度支持分布式的互操作对于临界资源的排它操作,如作业流的实例化动作等,由于触发位置可能多于一个,该数据处理平台采取数据库行级锁而不是内存锁的方式,最大限度支持分布式系统的互操作;同时避免因执行关键操作时某节点故障导致的应用滞留.5.模块级容错除了上述容灾手段外,数据处理平台的各个模块内部还通过代码回滚等手段实现部分容错功能,如数据库自动重连,连接失败主动报异常,事件发送失败时本地暂存和自动重试等等,提高故障恢复的效率.在作业运行层面,则通过运行于不同节点的调度模块和作业运行模块重复记录作业状态的方式,在故障发生时能有效记录作业的现场状态,作为还原应用的依据.6.HA模块的自身容错对于HA模块这样的特殊功能点,我们部署两组功能完全相同的主从式HAServer同时在两台机器上运行,正常情况下所有的状态检查信息只发往主HAServer,仅当主HAServer无响应时,检查信息发给备用HAServer.此外,备用HAServer通过相同的状态检查机制采集主HAServer的状态,如果发现主HAServer故障则可对主HAServer进行重启,如图3所示.三,实施的效果与问题分析数据平台可靠性设计的实现在某大型国有银行的生产环境取得了良好的效果,有效帮助运维及时发现系统的故障点,并通过隔离和恢复控制手段充分降低系统的平均故障响应时间和平均故障恢复时间;同时,还通过Agent的分布部署实现良好的扩展性,为数据处理平台40中国金融电脑/2010.11图3HA模块示意的业务持续提供了强有力的保障.这一切都得益于在设计阶段,进行了合理的功能分割,降低模块耦合,增加了的备份和故障恢复控制.但在实际的设计和实施过程中,我们也遇到了以下问题.1.故障可能误检测对于某些不易量化的故障类型,存在被误检测的可能,我们采取在切换时人工确认,以及实施过程中不断积累优化检测手段等方法,减少误检测的概率.综合该数据处理平台的可靠性实现效果和遇到的问题,并结合当前分布式系统架构的发展方向,我们认为数据处理平台的高可靠性可以向以下方向改进:2.故障分级评分,预警对于可量化的故障级别,可引入故障分级和评分的机制,强化故障前的预警,将高可靠性从容灾和系统恢复,提升到

温馨提示

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

评论

0/150

提交评论