CICS 现代批处理功能包助力用户优化批量窗口 ——CICS新功能让在线交易应用全天候工作成为可能

前言


当前,全球化席卷着所有的企业,这股全球化的浪潮不仅给企业带来了商机,同时也带来巨大的挑战。过去,传统商业处于“日出而作、日落而息”的阶段。白天处理在线交易,晚上进行数据结算。而现在,全球化的推进带来了世界各地的客户,他们可能随时随地的提出交易请求。这就对我们传统业务流程带来了巨大的挑战。


OLTP 程序和批处理程序


首先我们看一下两种类型的应用:图 1 表示的是用户在ATM 取款机上取款的过程:用户在ATM 机上输入要取的金额(100 元);ATM 机和运行在银行里的应用程序进行通讯;应用程序从用户的帐户中扣除100 元钱;应用程序通知ATM 机;ATM 机将钱输出给用户。这就是一个OLTP(Online Transaction Processing)应用的例子。这种应用通常是轻量级的,只在很短的时间内就可以完成,占用很少的CPU 和内存资源

图1. OLTP 应用程序举例


而图2 给出的是另一种应用类型——批处理应用的例子:银行要定期为每一个帐户重新计算利息和信用额度,银行可能有几百万个用户,应用程序就要遍历所有的帐户,为每一个帐户计算利息和信用额度。这个过程可能要持续几个小时,我们称这种应用为批处理应用。

图2. 批处理应用程序举例

 

通常来说,运行在CICS上的应用都是OLTP 应用,而批处理应用通常是用COBOL语言编写的,运行在大型机上。

批量窗口


 
在传统业务处理中, 在线交易应用与批处理应用通常都是在相同的数据源上操作,由于批处理需要长时间独占文件,这样就会带来锁的问题。为了保证数据的一致性,在运行批处理的时候往往需要暂停或停止在线交易应用。这就是批量窗口(Batch Window)问题。

 

现代批处理

 
现代批处理(Modern Batch)最先是由WebSphere® Application Server (WAS) 提出的。其核心是WebSphere® Extended Deployment Compute Grid V8. 计算网格(Compute Grid)技术为传统批处理与在线交易应用并发执行提供可能。该技术将批处理作业切分成若干份,每一小份作业可以运行在在线交易的空隙时间。这样可以更充分利用了主机的资源,同时,解决了批量窗口问题。真正为客户所需求的全天候服务提供解决方案。CICS作为交易中间件系统,为众多在线交易应用提供强有力的支持。CICS在4.2版本之后开始引入现代批处理这一概念。通过WAS提供的企业级调度解决方案,将批处理分配到在CICS region 的JVM中,实现与在线交易应用并发执行。同时,由于程序所请求的资源都是统一由CICS系统进行调度,可以让批处理程序与在线交易应用进行更好的整合。

 

现代批处理技术特点


现代批处理基础与传统批处理最大不同是在于程序语言,传统批处理应用通常是用COBOL语言编写的,而现代批处理应用采用Java编写,Java在近几年快速成长,已经成为一门非常成熟的语言,拥有完善的框架和强大技术能力,同时主机中的zAAP为Java应用提供更好的解决方案,使用Java开发应用可以为客户节约更多的成本。同时,WAS提供企业级调度,为我们更好的跟踪批处理作业,我们可以随时对批处理作业进行暂停、停止、重启等操作。过去,当批处理作业中间出现问题,哪怕只有最后一条出现问题,也许要全部回滚,更正错误后重新执行。而现代批处理为我们提供更好的解决方案,在执行作业之前,我们可以设置若干存档点,当作业运行时遇到问题,可以回滚到最近的存档点。这样我们可以更容易的找到问题发生的地方,同时节约大量时间。于此同时,该系统也可以提供多region的作业调度,当发生作业运行请求的时候,系统将自动分配到空闲的region上,更好的实现负载均衡。
 
现代批处理架构

此功能部件包分为两大部分,一部分是由WAS提供的作业调度程序,另一部分是在 CICS JVM 服务器内提供了批处理容器,以用来处理批处理作业,并使作业能够与在线交易应用共享资源访问权,因此缩短或不需要批处理时间窗口。CICS内的JVM 服务器用于启动和管理批处理作业。该批处理容器与WAS兼容,并包含一组用于开发批处理作业的常用 Java API。




用户可以从Web端、MVS作业或者调用API来向作业调度程序提交xJCL脚本。该脚本用于控制批处理作业流程。WAS上的作业调度程序检查当前所有CICS上的批处理容器,分配作业到CICS JVM服务器上。JVM 服务器上对分配来的批处理作业,依照xJCL脚本上的配置进行启动和管理。同时CICS上的批处理容器也提供作业状态控制,以及记录日志,便于回滚等操作。当作业执行完毕后,批处理容器将日志返回给WAS,任务结束。CICS会对在批处理容器中的作业进行管理,作业通过CICS中文件的接口进行资源的访问。这使程序开发人员不用再去考虑资源文件的格式、地址等问题,而去专注于商业逻辑的开发,使开发变得更高效。

 

结语


CICS已有40多年的历史,已成为非常成熟可靠的系统,为批处理应用的稳定运行提供更好的保证,也为客户做应用迁移降低了风险。同时,业务资源由原先依附于底层设备,而转移到交易中间件上,进行统一管理,提高了资源的使用效率。由于功能包引入WAS提供的企业级调度方案,让企业资源更好的整合,实现SOA的资源重用思想,为在线交易应用与批处理应用提供相同的开发、运行环境,使两个业务更好的整合。从而从根本上提供了24X7并发业务处理能力。有效的减少、甚至杜绝批量窗口的发生。真正为客户节约成本,提供更好的支持。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坑爹程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值