• 快捷搜索
  • 全站搜索

交行境内外一体化应用自动化部署

2018-08-22 15:32:38作者:编辑:金融咨询网
本文介绍了交通银行如何利用境内外一体化应用自动化部署设计, 提高应用软件的快速部署能力,实现信息系统版本稳定高效的投产,满足境内外一体化应用发布要求。

行业背景:当前金融行业随着互联网的发展正经历着快速变革:各类业务创新快速涌现、交易量呈爆炸式增长、信息系统规模迅速增长、数量越来越多,系统间的复杂程度进一步提高。同时,同业之间的激烈竞争导致用户粘性降低,行业监管也愈发严格。业务部门对IT系统交付能力的要求持续提高:代码开发和测试的周期越来越短、投产频率大大增加、投产过程要求稳定高效,降低发布过程中对业务的影响度,规避可能产生的风险。

  问题:为满足各区域地方性法规和金融规范,遵守“系统和数据置放于本地”的监管要求,各区域的系统必须分开部署和独立运行。因此应用版本的部署设计也必须满足全球一体化应用架构灵活的分时部署要求,这更加大了版本发布流程设计的难度。

  实战经验:无人化、智能化全自动版本发布流程的设计不仅减少了版本发布人力成本,而且大大降低了操作风险,使得任何复杂的发布需求均可通过此流程实现自动发布,满足了全球一体化的版本发布需求。同时通过一系列策略的实施使得版本发布过程对业务的影响控制在秒级。此外通过监控系统实时跟踪发布进程,准确判断发布过程对交易的影响,对安全稳定的发布起到显著的保障作用。

生产环境发布面临的问题

  1.系统层面的复杂度。系统层面采用灵活的同城双活机制,即借用开发主机的CPU资源在生产环境设立若干可随时启闭的CICS,当处于业务高峰时开启双活CICS,从生产环境切换一部分交易到同城备份中心,从而缓解系统处理压力。

  2.数据库层面的状况。主机数据库系统采用一套主机DB2 data sharing,分布在若干个Z/OS分区上,因此程序在数据库层面一旦更新就是生效最新版本。

  3.发布时间的多样性。由于应用系统是境内外全球一体化的架构设计,因此需要考虑按不同时区发布版本的要求。

  4.程序资源层面的复杂性。影响核心系统联机交易的程序资源通常有下列三种情况。

  一是长通道交易资源。此类资源由于交易访问频繁度特别高,因此开启了DB2 ENTRY的长通道,设定此类资源在较长时间无交易访问的情况下才释放,版本发布时必须注意需要先执行关闭 DB2 ENTRY才能更新。

  二是高频交易的资源。这类资源在版本更新过程中会对联机交易产生影响,并且交易访问频度也非常高,通常版本发布时因交易长时间不释放而无法更新成功,需要对联机入口交易封闭才可以更新成功。

  三是普通联机资源。这类资源是一些访问频度不是特别高的资源,因此此类资源即便有交易时也因会快速释放而可以顺利更新成功。

  5.发布过程中特殊作业的运行。一是表结构变更特殊作业。例如新建表或者新增字段、新增索引等,因此不仅此类表结构变更的资源需纳入版本统一管理,还要保证其在生产上的正确运行。二是各类特殊操作。例如各种需要在生产环境随版本发布同时执行的SQL语句、作业、或是运行特定程序等。

  6.与开放系统变更一致性要求。发布过程中若涉及与开放系统接口相关变更,需考虑因变更时间点的不同导致出现接口不一致引发交易失败的情况。

无人化、智能化的全自动生产版本发布流程

  1.模块化的流程配置。目前的主机应用系统版本发布流程均采用模块化的版本发布模式,各应用系统的版本发布流程均采用不同的参数表配置。所有系统的版本发布流程均由三个模块组成:即第一部分前期准备工作;第二部分发布程序至实际运行环境;第三部分生效本次发布的资源。

  2.固化流程。所有版本发布流程均为固化模式,满足任何场景的版本发布要求,而且无需任何人工干预环节。

  3.全自动化的智能解决方案。主要体现为如下几方面。

  自动执行特殊作业:根据每次版本发布的特殊作业信息,通过配置调度关系表来确定相关作业的先后执行关系,并实现批量自动化提交,减少了人工操作可能引发的风险。

  主动监测CICS状态:在版本发布前需要对当前生产环境的CICS状态以及CICS所在LPAR等信息做周全的信息扫描,排除因系统配置信息更改造成版本发布异常的隐患。

  主动识别双活状态:通过主动检测CICS状态获知当前系统是否处于双活状态。如果是,则需主动启用双活情况下的配置参数表;反之则启用一般情况下的配置参数表,避免出现在双活模式下遗漏更新双活配置项而导致的交易失败。

  主动判别DB2 ENTRY资源:发布资源清单中如有涉及DB2 ENTRY的资源,则发布流程中自动执行关闭DB2 ENTRY的长链接通道,待版本发布完毕后自动开启;反之则不执行相关操作。

  多进程多任务的发布模式:众所周知,联机资源的生效须在所有CICS上均执行过NEWCOPY命令,否则会出现CICS上运行的程序版本不一致,导致交易异常。原有采用串行顺序执行每个CICS的模式效率较低,为此我们依据CICS的数量拆分任务,单个CICS独立处理所需发布的程序,采用多个进程同步处理的模式,大幅提升了效率,减少了发布时间。

  设置启停联机交易的场景:更新影响高频交易的资源时,资源往往因长时间被联机交易占用而无法释放,导致在长时间等待后触发主机系统的保护机制而异常中断,同时还堵住了后续等待作业队列的通道,最终会影响整个发布流程的进展。经过多次试验最终设计了自动启停联机的方案,通过预先关闭联机入口交易再更新高频资源最后开启联机交易,成功解决了高频交易更新失败的问题,提升了版本发布的成功率和稳定性。

  主动判断资源的更新级别:由于在发布高频交易资源时需要关闭联机入口交易,而此时会造成所有交易均无法正常链接后台的现象。为了缩短关闭联机的时间窗口,需要预先对发布资源清单做自动梳理,将影响高频交易的资源做优先级调优处理,并且集中进行更新。

  精确控制同步触发停联机交易:通过研究分析发现,在主机并发提交作业时,由于执行作业所在LPAR不同会造成实际并发作业会出现一定的时间差,从而出现高频交易资源无法正常绑定的情况。为了解决作业不同步执行的问题,我们设置了一个总控台,再在每个LPAR上设置分控台,每个LPAR上的并发作业也独立设置一个状态栏位。通过作业状态栏位和分控台的信息交互以及分控台和总控台信息传递,成功地将所有并发作业在同步触发停联机交易的时间差异降低至毫秒级,大大缩短了停联机的跨度时间。图是控制同步触发停启联机交易状态转换示意图。

图片1.jpg

  与其他开放系统联动发布:由于主机与开放系统之间的联系是通过接口报文信息实现联机通讯的,如果主机更改了接口信息配置项,则开放系统也应同步联动更新,否则会出现因接口不一致导致交易失败。因此在主机发布流程中,我们设计了主机与开放平台的发布状态交互同步,大大减少了不同平台之间因存在变更时间差而导致的交易失败。    

  实时监控平台:通过部署智能化的监控平台,可以实时观察到整个发布流程的每一个环节,能让监控人员直观地看到整个发布的进程状态。一旦中间环节出现错误,立刻智能报警通知,并能准确定位到出错交易,使得问题能得到快速解决。 

  完善的快速回退机制:为防范版本发布后因部署的程序有BUG导致交易异常,我们设计了快速退回发布流程,根据所需恢复的信息修改发布清单,选择发布场景,就可以快速将版本恢复至老版本,有效保障了生产环境交易的稳定运行。

境内外一体化版本管理策略

  主机境内外一体化系统部署架构为矩阵模式:横向为区域模块和应用系统,区域模块主要分为境内、亚太、欧洲、美洲等;应用系统主要是主机业务系统等;纵向为资源配置部署项,分为数据库部署、中间件部署和应用部署等。各区域各应用系统对相关资源配置部署既有独立又有交叉的要求(如图所示)。

图片2.jpg

主机境内外一体化系统部署架构

  举例来说,在不同应用系统和单一资源配置部署维度上,基础功能模块中一部分服务于主机业务系统,一部分服务于账务系统,有些是同时服务于主机业务系统和账务系统。在不同区域模块和单一资源配置部署的维度上,亚太、欧洲和美洲三大区域的联机功能部署大部分是独立管理的,但又有部分基础功能配置需要跨所有区域保持高度同步;在00是在应用部署方面是一体化管理的。基于以上种种情况,以及不同区域不同时区的情况,版本发布部署架构需要满足各种应用系统之间的交互发布,支持不同时区的发布要求,实现了全球一体化的发布架构。

  基于IT系统部署架构的矩阵模型,版本管理策略采用三要素定位法,即根据系统名、子系统名、程序类型三要素来唯一定义资源的版本管理策略。在版本管理体系中,首先根据区域模块和应用系统的架构进行排列组合。再根据各区域各应用系统对相关资源配置部署既有独立又有交叉要求的情况梳理资源。通过定义系统和子系统,定位发布资源的部署模式是独立还是交叉部署。最后依据资源配置部署项定义的程序类型,定位资源在资源配置部署项的模式。

(交通银行软件开发中心(上海) 胡雪峰 李锐 茅利华)

(文章来源:金融电子化杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章