基于移动技术的大型机远程管理工具

2017-04-25 03:47李凤岐
实验技术与管理 2017年4期
关键词:调用子系统程序

陆 坤, 李凤岐

(大连理工大学 软件学院, 辽宁 大连 116600 )

基于移动技术的大型机远程管理工具

陆 坤, 李凤岐

(大连理工大学 软件学院, 辽宁 大连 116600 )

针对大型主机基于3270终端的字符界面,其操作繁琐、管理效率低的问题,提出了一个基于安卓的轻量、简洁且实时处理、功能强大的移动端大型主机维护和监控应用。该应用将主机常用的系统管理操作逻辑进行封装整理,并转移到移动端,能够帮助主机系统维护人员进行系统性能监控、应急处理和简化主机编程操作。实践证明,该应用可以有效简化运维流程,提升运维效率,进而保障大型机的高可用性。

大型主机远程管理; 系统维护; 移动技术应用

大型机(mainframe)也称大型主机,具有强大的数据吞吐量、高并发处理能力和良好的系统稳定性,是银行、电信、政府等部门关键业务处理的首选平台。目前全球企业超过80%的数据存储在大型机上,大型机为大型组织获取数据、使用数据、获取业务价值和推动营业收入增长提供了重要支持。但是,大型机在使用和系统维护管理等方面也存在一些不足之处,例如操作繁琐、管理效率低的问题,亟待研究和解决[1-2]。

1 大型机管理分析与改进思路

1.1 问题分析

(1) 操作繁琐,对从业人员要求高。目前大型机的系统管理员和应用开发人员皆通过3270终端管理和使用主机资源,需要对主机系统有较深入的了解。由于学习主机的难度较大,主机从业人员数量不能满足实际需要。

(2) 日常维护存在极大挑战。大型机系统的性能数据主要依赖于z/OS的SMF工具长期收集,以便专业人员进行系统性能分析、性能调优和故障诊断与处理。其他子系统的管理也严重依赖专业人员编写JCL实现,要求技术人员知识全面、技术水平极高,系统管理极具挑战性[3-4]。

(3) 应急处理困难。目前大型机的维护操作主要通过3270终端与主机连接和进行操作。当系统出现异常时,系统管理员很难随时随地通过3270以外的工具与主机交互并进行系统维护。

1.2 改进思路

针对上述大型机系统管理与应急危机处理存在的问题,本文给出一个基于移动技术的主机远程管理解决方案。该方案的思路是:通过移动端APP界面化的封装,把主机3270终端上的字符界面操作转移到移动端,而把复杂、难懂的技术细节隐藏,仅以APP的方式操作。系统管理员可以直接通过运行APP方便地管理主机资源,进行一些有关系统运维的操作[5-7]。即使出现突发状况、管理员不在电脑3270终端前的情况下,也可以通过手机等其他移动端上的APP进行远程处理,解决危机。同时,主机管理员可以通过APP不同的模块页面,直观地了解主机实时状态信息、资源信息等,从而降低使用和维护主机的技术门槛,方便地对系统进行实时监控和应急处理。

基于移动技术的主机远程管理的主要难点是:

(1) 要将电脑端基于复杂字符界面的大型机系统管理逻辑进行封装整理,以安卓手机APP的方式实现;

(2) 在主机端写好相应功能分析的程序,便于手机APP端调用,满足管理员对大型机的日常操作、维护等;给出一套主机资源分析的方案,每日的分析结果可以直接通过手机端进行查看。

2 系统的总体设计

2.1 技术线路

图1为基于移动技术的主机远程管理系统拓扑图。系统直接利用FTP通信,实现了Android移动端与大型机的直接连接。系统管理员既可以通过对移动端APP的操作来远程操控大型机,也可以通过传统的3270终端对大型机进行操控[8-10]。

图1 系统拓扑图

通过移动端操作主机的技术线路为:用户在手机等移动终端上的APP登录远程主机,通过安全验证后,可通过在APP端的点击和填写等操作来远程管理大型机系统,实现简单、快捷的管理,使系统真正可移动管理。移动端通过z/OS FTP协议与主机间通信。点击手机端Button的过程实质上是动态生成了相应的JCL代码,并向主机发送;主机接收到JCL后,执行并调用已在大型机上写好的REXX程序,最终实现对应的系统操作[11-12]。执行的结果将保存在大型机的数据集中,再通过z/OS FTP下载到移动端。移动端可以根据下传的结果判断操作是否成功,并将结果反馈给用户。

2.2 系统功能

本系统分为主机端和移动端。

(1) 主机端的功能是实现具体的模块功能,同时也实现RMF数据的抽取和整理。

(2) 移动端的功能主要是实现主机的远程操作和应急处理。用户通过移动设备可以实现与主机的通信,查看系统状态、向主机发送系统命令、对主机系统遇到的危机进行应急处理。为了提高移动端操作的速度,移动端主要实现了作业处理、用户管理、子系统管理和RMF查看等对系统危机有最直接干预的功能。

移动端APP的功能由用户管理、作业管理、子系统管理、RMF监控4个主要模块实现(见图2)。

图2 系统功能模块图

(1)用户管理模块。主要针对在线用户进行管理,特别适用于高校和科研机构不能确保在主控台对系统进行监控的管理员。管理员可以通过移动设备APP上的此模块对意外退出、被挂起等大型机发生的异常情况及时进行处理。

(2) 作业管理模块。主要针对系统中的作业处理。用户可以通过移动端界面看到当前系统作业状态,通过不同的Button对作业进行操作,例如取消当前作业、查看某作业的详细信息。

(3) 子系统管理模块。主要对DB2、CICS等子系统进行管理。有了大型机移动端APP,管理员可以不在主控台手动输入子系统的开启、结束命令,而是通过移动端APP就可以完成对远程主机的子系统的操作,如实现对DB2、CICS子系统的开启与关闭操作。

(4) RMF监控模块。针对系统资源情况,用户可以在移动端查看RMF数据统计信息、了解系统在一段时间内的状态。信息以图表的形式展现,更为直观和清晰。

2.3 运行流程设计

2.3.1 系统总体工作流程

管理员通过移动端APP登录系统后,可以选择作业管理、用户管理等操作,然后会生成相应的JCL作业,通过FTP通信传输到主机端的JES。传输到主机端的JCL会自动执行,然后调用在主机端封装好的REXX程序,以执行具体操作任务,然后将执行结果反馈到移动端进行本地存储。移动端根据存储在本地的数据进行显示。系统工作流程如图3所示。

图3 系统工作流程图

2.3.2 移动端APP请求流程

用户成功地通过移动端APP登录主机后,可以对相应模块进行操作。本系统有4个主要操作模块。由于操作逻辑设计相似,使得它们的请求及处理流程也具有相似性,所以可以抽象整理出一个通用的处理请求流程(见图4),其主要步骤如下:

(1) 判断登录用户是否有相应操作权限,若有,则进行步骤(2),否则发出提示信息后结束;

(2) 进入相应操作模块界面;

(3) 获取本次请求所需的参数;

(4) 根据参数生成相应的JCL程序;

(5) 通过FTP将JCL程序发送给大型机;

(6) 获取执行结果;

(7) 将结果反映在移动端。

图4 移动端通用请求处理流程图

2.3.3 主机端处理流程

主机端接收到来自移动端的请求后,调用已封装好的相应程序进行处理,最后得到结果并通过移动端显示。虽然分为不同模块的请求,但大致的处理流程相似,可以抽象为一个通用的主机端处理流程,具体步骤如下:

(1) 获得移动端上传的JCL程序;

(2) 在主机端JES子系统中执行JCL程序,并调用主机端已经封装好的相关REXX程序,实现相应功能;

(3) 获取程序执行结果并分析;

(4) 下传结果。

3 系统实现

3.1 关键技术的实现

3.1.1 TSO/E环境下REXX程序的调用

在本系统中,后台操作均通过REXX程序实现,移动端的请求需要调用这些已经封装好的REXX程序,以实现具体功能;而移动端的请求,实际是通过后台JCL的方式实现对主机端REXX程序的调用。在后台运行REXX程序,使用IKJEFT01创建调用TSO/E命令/CLIST/REXX所需的环境。

例如,调用数据集CBK.A3.REXX中名为CICSREXX的REXX程序(exec),可以通过提交如下JCL完成:

//IBMUSERAJOB MSGLEVEL=(1,1),NOTIFY=&SYSUID //STEP1 EXEC PGM=IKJEFT01 //SYSEXEC DD DSN=CBK.A3.REXX,DISP=SHR //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * CICSREXX /*

上例中,EXEC指定了执行实用程序IKJEFT01。通过提交该作业,即可在后台调用CICSREXX程序。本系统中来自移动端的请求都被封装成JCL,JCL通过上述方式调用对应的REXX程序。

3.1.2 移动端平台与主机端平台的通信

本系统中,如何实现移动端平台与主机端平台之间的通信是整个项目的关键点。通信是通过z/OS FTP来实现的。在安卓端编写FTP通信时使用Apache的开源软件包——common.net;而在实际开发中,只需要实例化Java中的FTPClient类,并通过调用FTPClient类对象的方法,就可以实现移动端应用,通过FTP协议与主机端的通信。具体实现过程的关键代码如下:

(1) 首先创建一个FTPClient类的对象:

ftpclient = new FTPClient()

(2) 对FTP客户端进行默认配置:

ftp.configure(new FTPClientConfig())

(3) 通过主机IP地址参数,建立FTP连接:

ftpclient.connect(IPADRESS)

(4) 通过用户名和密码验证,登录主机FTP:

ftpclient.login(USERNAME,PASSWORD)。

当FTP返回码为230时,表示登录成功。

建立移动端和主机之间的通信后,需要将移动端的操作转换成JCL发送到主机端去执行,其方式如下:

(1) 首先,将FTP设置成JES模式,在该模式下,用户方上传的任何文件都会被直接送到JES子系统的SPOOL中,并被作为一个作业来处理。用户此时的工作目录为用户的SPOOL空间。设置该文件处理模式,可以在Java程序中使用如下命令进行切换。

ftpclient.site(″filetype=jes″)

(2) FTP设置成JES模式后,需要将移动端操作转换成JCL文件,然后传到主机端。使用FTPClient类中的StoreFile(String remoteName,InputStream local)函数实现,上传本地文件到服务器当前目录下。上传的JCL代码会被发送到主机端,以作业的形式执行。关键代码为:

ftpclient.storeFile(″command″,inStream)

消息码为125说明作业被送到了JES的内部读入器,接下来消息码为250说明上传的作业已经被送入系统执行。

(3) 当需要去主机端查询数据集文件、下载数据库内容的时候,则是去访问主机上的顺序数据集或分区数据集的某个成员,这时需要把FTP访问模式改为SEQ,使用如下命令来设置:

ftpclient.site(″filetype=seq″)

(4) 之后就可以直接访问某顺序数据集或某分区数据集中的某一个成员。使用FTPClient类中的关键函数RetrieveFile(java.lang.String remoteName,OutputStream local),函数下载得到该数据库文件,在移动端进行分析,赋值,显示等操作。关键代码如下:

ftpclient.retrieveFile(remoteFileName,out)

3.2 移动端平台登录模块

移动端登录模块需要主机IP、用户名和密码等几个参数。每台主机IP不同,填写不同IP可以登录不同的主机,填写相应主机上存在的用户名及密码,可以以该用户权限登录主机。登录后,用户可以通过点击标题栏左上角的Button,弹出一个主操作列表,显示当前登录的用户和4个主要功能模块。

3.3 移动端平台作业管理模块

当用户从主操作列表中选择作业管理模块后,移动端APP通过FTP通信向主机发送一段JCL代码,该JCL代码的作用是调用主机上已经封装好的一段REXX程序,这个REXX程序是用来抽取当前在线用户信息的,并将用户信息整理后存入数据库中。然后,移动端获取数据库内容,并以列表的方式显示当前系统内的作业,以子页的方式显示某个作业的具体信息,并可以对该作业进行操作P和操作S等操作。用户管理模块和作业管理模块类似。

3.4 移动端平台子系统管理模块

当用户从主操作列表中选择子系统管理模块后,移动端首先向主机发送一个请求,请求获得DB2子系统和CICS子系统的当前状态(开启或关闭)。当获取状态文件后,分析文件中的标记符号,并在移动端应用界面上真实表现出来。接下来,用户就可以操作界面的开关Button来开启或关闭子系统。

3.5 移动端平台RMF资源监控模块

在实际工作中,大型机会一直保持开启状态,当SMF模块和RMF模块启动后,主机会产生大量SMF数据,其中包含大量的RMF数据。系统管理员需要经常向DUMP系统中存储这些数据的数据集,或生成报表查看。通过主机报表去查看数据,枯燥难懂;而基于移动技术的主机远程管理系统在请求该功能时,会在移动端界面上以图表形式展示。图5是系统CPU资源走势图,时间数据的抽取间隔为1 h。

4 结语

通过移动技术来对大型机进行远程管理,弥补了大型机移动化管理的空白,使得管理人员可以随时随地对主机进行管理操作。移动端设备通过FTP通信直接与主机进行交互,通过FTP向主机上传文件、执行文件、获取结果,实现真正意义上的对主机的远程移动管理。当主机突发危机的时候,通过移动终端能够及时响应和处理,降低了大型机维护的人力资源和成本。以往系统管理员需要先通过电脑上的3270终端登录大型机系统,再编写复杂脚本才可以完成这些操作;而使用该工具后,原本复杂的过程演变成移动端的几个按钮,只需要按需求操作移动端按键即可,简化了系统运维的流程,降低了误操作的可能性,用户和管理员的操作也更加直观。

References)

[1] Kettner J,Ebbers M,O’Brien W,et al. Introduction to the New Mainframe: z/OS Basics [M].IBM Redbooks,2012.

[2] 韩兆云.综合业务异地灾备系统三层异构云服务平台[J].金融电子化,2014(9):70-72.

[3] 崔江慧,刘会玲,刘树庆.高校大型仪器设备管理的实践与探索[J].实验室研究与探索,2011,30(10):198-200.

[4] 陈慧芬,卢庆武.云计算在高校机房管理中的应用[J].实验室研究与探索,2013,32(7):213-216.

[5] Smith D.Android开发范例代码大全[M].赵凯,译.2版.北京:清华大学出版社,2014:249-252.

[6] 耿东久,索岳,陈渝,等.基于Android手机的远程访问和控制系统[J].计算机应用,2011,31(2):559-561.

[7] 曲娜,盛桂珍,杨海波.基于物联网技术的智慧开放实验室管理系统设计[J].实验技术与管理,2015,32(12):140-142.

[8] 王秀丽,潘雷,顾贵芬.基于组态技术的机房监控系统设计[J].实验室科学,2015,18(6):60-63.

[9] 曹赛,汤会琳.移动技术支撑的远程教育教学平台构建与管理模式[J].现代远程教育研究,2014(1):85-88.

[10] 刘武,孙东红,任萍,等.基于移动智能终端管理的远程监控与管理技术[J].实验技术与管理,2013,30(4):58-61.

[11] Parziale L,Miu A,Levey R,et al. Implementing REXX Support in SDSF [M].USA:IBM International Technical Support Organization,2010.

[12] 高珍,刘恒,王天琪,等.大型主机系统管理REXX编程详解[M].北京:清华大学出版社,2012.

Remote management tool of mainframe based on mobile technology

Lu Kun, Li Fengqi

(School of Software,Dalian University of Technology,Dalian 116600,China)

Aiming at that the 3270 character terminal interface looks unfriendly to users and system administrators, this paper presents a remote management solution based on mobile technology for mainframe. The solution is to package and sort the common mainframe operations,which will be transferred to the mobile terminal. The tool can present mainframe operation process on mobile phones in a friendly way. It also greatly reduces the complexity of system management operations,improves efficiency and reduces the technical requirements for practitioners,which can greatly simplify the system operation and become more intuitive.

remote management of large mainframe; system maintainance; application of mobile technology

10.16791/j.cnki.sjg.2017.04.036

2016-10-10

辽宁省高等教育教学改革研究项目(UPRP20140233);大连理工大学教育教学改革重大项目(ZZD2016001)

陆坤(1980—),男,江苏徐州,博士,讲师,软件学院创新实践基地主任,主要研究方向为网络安全和创新人才培养.

E-mail:lukun@dlut.edu.cn

TP307

A

1002-4956(2017)4-0143-04

猜你喜欢
调用子系统程序
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
核电项目物项调用管理的应用研究
试论我国未决羁押程序的立法完善
LabWindows/CVI下基于ActiveX技术的Excel调用
驼峰测长设备在线监测子系统的设计与应用
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
基于系统调用的恶意软件检测技术研究
创卫暗访程序有待改进