陸 坤, 李鳳岐
(大連理工大學 軟件學院, 遼寧 大連 116600 )
基于移動技術的大型機遠程管理工具
陸 坤, 李鳳岐
(大連理工大學 軟件學院, 遼寧 大連 116600 )
針對大型主機基于3270終端的字符界面,其操作繁瑣、管理效率低的問題,提出了一個基于安卓的輕量、簡潔且實時處理、功能強大的移動端大型主機維護和監控應用。該應用將主機常用的系統管理操作邏輯進行封裝整理,并轉移到移動端,能夠幫助主機系統維護人員進行系統性能監控、應急處理和簡化主機編程操作。實踐證明,該應用可以有效簡化運維流程,提升運維效率,進而保障大型機的高可用性。
大型主機遠程管理; 系統維護; 移動技術應用
大型機(mainframe)也稱大型主機,具有強大的數據吞吐量、高并發處理能力和良好的系統穩定性,是銀行、電信、政府等部門關鍵業務處理的首選平臺。目前全球企業超過80%的數據存儲在大型機上,大型機為大型組織獲取數據、使用數據、獲取業務價值和推動營業收入增長提供了重要支持。但是,大型機在使用和系統維護管理等方面也存在一些不足之處,例如操作繁瑣、管理效率低的問題,亟待研究和解決[1-2]。
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.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.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。
通過移動技術來對大型機進行遠程管理,彌補了大型機移動化管理的空白,使得管理人員可以隨時隨地對主機進行管理操作。移動端設備通過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