CN112463212B - 一种支持跨系统平台的环境搭建方法及装置 - Google Patents

一种支持跨系统平台的环境搭建方法及装置 Download PDF

Info

Publication number
CN112463212B
CN112463212B CN202011371707.5A CN202011371707A CN112463212B CN 112463212 B CN112463212 B CN 112463212B CN 202011371707 A CN202011371707 A CN 202011371707A CN 112463212 B CN112463212 B CN 112463212B
Authority
CN
China
Prior art keywords
environment
construction
node chain
setting
environment construction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011371707.5A
Other languages
English (en)
Other versions
CN112463212A (zh
Inventor
谢小舜
刘志强
李志军
钟伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202011371707.5A priority Critical patent/CN112463212B/zh
Publication of CN112463212A publication Critical patent/CN112463212A/zh
Application granted granted Critical
Publication of CN112463212B publication Critical patent/CN112463212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种支持跨系统平台的环境搭建方法及装置,本发明涉及信息安全技术领域,包括:接收一设定系统平台的环境搭建请求和对应的环境搭建信息;将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链。本发明将不同系统平台的环境搭建,在同一个工作流实例上进行,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。

Description

一种支持跨系统平台的环境搭建方法及装置
技术领域
本发明涉及计算机领域,特别是涉及一种支持跨系统平台的环境搭建方法及装置。
背景技术
在软件开发、测试和部署过程中,环境搭建是一个重要环节。对于金融软件开发,往往涉及IBM大型主机及开放平台等多种系统平台的环境搭建。人工搭建的等待和沟通成本较大,总体搭建效能不高。在国内银行业IBM大型主机逐步下平台的发展趋势下,IBMzOS、UNIX及Windows等多种系统平台并存运行的情况越来越多,因此需要一种支持多种系统平台的环境搭建方法。
发明内容
针对现有技术中的问题,本申请提供一种支持跨系统平台的环境搭建方法及其装置,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种支持跨系统平台的环境搭建方法,包括:
接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台。
在优选的实施例中,还包括:
建立所述设定流程实例。
在优选的实施例中,所述建立所述设定工作流实例包括:
发起Activiti流程,利用所述Activiti流程中的服务模板生成所述设定流程实例。
在优选的实施例中,还包括:
每个搭建节点链对应一设定方式和/或设定接口。
优选的实施例中,所述根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,包括:
根据所述环境搭建请求确定所述设定方式和/或设定接口;
通过所述设定方式和/或设定接口触发所述环境搭建节点链运行。
在优选的实施例中,还包括:
每个环境搭建节点链进一步耦接一唯一对应的数据库,所述环境搭建方法还包括:
将每个环境搭建节点链生成的所述环境搭建参数存储至其唯一对应的所述数据库。
在优选的实施例中,所述环境搭建信息包括:月份版本信息、环境信息、分区信息、参考环境信息及数据拷贝环境信息。
在优选的实施例中,所述系统平台包括:zOS平台,所述设定方式为JCL作业,所述设定接口为JES接口;
所述通过所述设定方式和/或设定接口触发所述环境搭建节点链运行,包括:
通过JES接口和JCL作业触发所述环境搭建节点链运行;或者,
所述系统平台包括:UNIX平台,所述设定方式为建立会话Session,打开Channel通道执行Shell功能脚本,所述通过所述设定方式和/或设定接口触发所述环境搭建节点链运行,包括:
通过建立会话Session,打开Channel通道执行Shell功能脚本来触发所述环境搭建节点链运行;或者,
所述系统平台包括:Windows平台,所述设定方式为执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯,所述通过所述设定方式和/或设定接口触发所述环境搭建节点链运行,包括:
通过执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯来触发所述环境搭建节点链运行。
第二方面,本申请提供一种支持跨系统平台的环境搭建装置,包括:
接收模块,接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
搭建模块,将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台。
在优选的实施例中,还包括:
实例建立模块,建立所述设定流程实例。
优选的实施例中,所述实例建立模块具体用于发起Activiti流程,利用所述Activiti流程中的服务模板生成所述设定流程实例。
在优选的实施例中,还包括:
每个搭建节点链对应一设定方式和/或设定接口。
在优选的实施例中,所述搭建模块,包括:
确定单元,根据所述环境搭建请求确定所述设定方式和/或设定接口;
触发单元,通过所述设定方式和/或设定接口触发所述环境搭建节点链运行。
在优选的实施例中,还包括:
每个环境搭建节点链进一步耦接一唯一对应的数据库;
优选的实施例中,所述环境搭建装置还包括:
数据库存储模块,将每个环境搭建节点链生成的所述环境搭建参数存储至其唯一对应的所述数据库。
优选的实施例中,所述环境搭建信息包括:月份版本信息、环境信息、分区信息、参考环境信息及数据拷贝环境信息。
优选的实施例中,所述系统平台包括:zOS平台,所述设定方式为JCL作业,所述设定接口为JES接口;
所述触发单元具体用于通过JES接口和JCL作业触发所述环境搭建节点链运行;或者,
所述系统平台包括:UNIX平台,所述设定方式为建立会话Session,打开Channel通道执行Shell功能脚本,所述触发单元具体用于通过建立会话Session,打开Channel通道执行Shell功能脚本来触发所述环境搭建节点链运行;或者,
所述系统平台包括:Windows平台,所述设定方式为执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯,所述触发单元具体用于通过执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯来触发所述环境搭建节点链运行。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述环境搭建方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述环境搭建方法。
本发明的有益效果如下:
本发明提供一种支持跨系统平台的环境搭建方法及装置,首先接收一设定系统平台的环境搭建请求和对应的环境搭建信息;然后将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,本发明通过利用该设定流程实例,可以用于多个系统平台的环境搭建,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种支持跨系统平台的环境搭建方法实现流程图。
图2为控制程序的调度流程图。
图3为系统平台端的执行环境搭建的流程图。
图4为一种支持跨系统平台的环境搭建装置模块图。
图5为搭建模块的示意图。
图6为本发明实施的多系统平台节点链在Activiti服务模板中的定义示意图。
图7为环境搭建的软件系统结构图。
图8为WEB页面前端功能模块图。
图9为总控(任务调度系统)模块图。
图10为存储模块图。
图11为定时功能模块图。
图12为通讯总线结构模块图。
图13为常见系统平台的环境搭建技术实现图。
图14为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在软件开发、测试和部署过程中,环境搭建是一个重要环节。对于金融软件开发,往往涉及IBM大型主机及开放平台等多种系统平台的环境搭建。IBM大型主机环境搭建,需要CICS、DB2、TWS、主机程序等许多专业的运维人员分别搭建,开放平台如新终端平台等也是各应用运维人员分别搭建,待各系统平台全部环境搭建完毕,放开版本更新控制,发布环境就绪通知。这种环境搭建方式,虽最终能完成搭建,且有些环节实现了局部自动化,但其没有并发和前后依赖的硬控制,各运维人员之间以及环境搭建的前后依赖环节的等待和沟通成本较大,总体搭建效能不高。在国内银行业IBM大型主机逐步下平台的发展趋势下,IBMzOS、UNIX及Windows等多种系统平台并存运行的情况越来越多,因此需要一种能够同时支持多种系统平台的环境搭建自动化系统及方法。
现有的跨平台环境搭建主要依赖于人工,由于在搭建过程中存在相互的耦合,所以增加了很多人工沟通成本及时间成本。本申请提供一种支持跨系统平台的环境搭建方法及装置,将各系统平台的环境搭建,在同一个工作流实例上进行,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
基于此,本发明在于提供一种支持跨系统平台的环境搭建自动化系统及方法,解决上述问题。本发明实施公开了一种支持跨系统平台的环境搭建自动化系统及方法,采用开源Activiti工作流框架实现对多系统平台的环境搭建自动化,将各系统平台的环境搭建,在同一个工作流实例上进行,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
需要说明的是,本发明可用于信息安全技术领域,当然也可用于其他例如类似技术领域,本发明不限于此。
参见附图1,一种支持跨系统平台的环境搭建方法,具体包括:
S101:接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
具体的,所述系统平台包括但不限于大型主机zOS平台,UNIX平台,Windows平台。所述搭建请求信息包括了所需系统环境,各系统环境之间搭建步骤的先后顺序,环境搭建的版本信息,数据存储的分区及拷贝环境等。
在本发明的实施例中,所述环境搭建信息包括月份版本、环境、分区、参考环境、数据拷贝环境。
S102:将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台。
具体的,一设定流程实例是通过工作流引擎生成的,例如当前比较流行的开源工作流引擎Acitiviti。流程实例中可包括多个并行的搭建节点链,使得搭建之间的耦合性降低,效率提高,便于控制程序进行触发调度。
在本发明的实施例中,所述触发运行对应该设定系统平台的搭建节点链,需要在一个控制程序进行触发调度,该控制程序是常态运行在平台服务器端。
作为本发明的一个实施例,如图2所示,上述控制程序的触发调度步骤具体包括:
S201:解析搭建节点链的参数信息;
具体地,所述搭建节点链的参数包括实例号、表单号、节点名、处理状态、系统信息,节点间的关联关系和分支走向。
S202:根据节点链信息查找相应系统的搭建反馈信息;
具体地,所述搭建反馈信息包括处理状态、分支走向、日志登记、告警通知等。在本发明的实施例中,搭建反馈信息是通过一定时采集操作获取。每隔一预设时间,例如100毫秒,连接各系统平台的数据库;扫描搭建情况表,状态为未完成或已处理的不做处理,已完成的将处理状态置为已处理。
S203:结合搭建反馈信息和节点链的参数信息,进行任务分发;
在本发明的实施例中,总控程序中对任务的分发是根据任务请求信息,结合搭建反馈信息,指派相应的接口进行处理。
S204:根据系统类型和节点链参数信息访问通讯总线,找到通讯总线中的对应连接方式、传输方式或交互接口,进行信息传输,并触发对应系统平台的节点运行。
优选地,所述系统平台包括:大型主机zOS平台,UNIX平台,Windows平台。
在本发明的实施例中,所述通讯总线包括通讯连接服务、数据传输程序、接口和协议。优选地,对于大型主机zOS平台,通过FTP打开JES接口进行通讯;对于UNIX平台,通过SSH登录并建立会话Session,或通过HTTP及TCP的httpClient及RPC调用接口和服务;对于Windows平台,通过RUNTIME,或JNI与C/C++程序代码和功能库进行交互通讯。
在本发明的实施例中,环境搭建方法需要一个预设的工作流实例,该工作流实例可以是一个事先建立好的工作流实例,也可以是一个在接收到搭建请求后建立的工作流实例。例如通过工作流引擎Acitiviti建立一个工作流实例,其步骤为:
S601:将Activiti提供的流程设计器应用activiti-app.war部署到Tomcat的webapps目录;
S602:创建新的数据库。修改activiti-app.properties配置文件,默认使用H2内存数据库,创建的模型重启后会丢失,改成使用对应使用的数据库;
S603:浏览器访问http://localhost:8080/activiti-app,登录账户:admin:test;
S604:创建一个环境搭建流程图;
S605:给每个用户任务指派候选组(有权限执行当前任务的角色);
S606:导出流程图为.bpmn.xml文件;
S607:在POM文件中添加依赖;
S608:将导出的.bpmn.xml文件拷贝到项目文件夹/resources/processes下;
S609:启动应用,会在数据库里创建28张表,表创建好之后停止应用。application.properties文件修改配置项;
S610:在程序中使用自动注入的方式,使用Activiti的7大接口,完成工作流实例的建立。
进一步地,用于建立工作流的工作流引擎还有多个,例如jBpm,Werkflow,雀书,Open Business Engine,ObjectWeb Bonita,Bigbross Bossa等,它们均可用于建立所述工作流实例,在此不做一一赘述。
在本发明的实施例中,所述每个搭建节点链对应一设定方式和/或设定接口,而每个搭建节点链对应一个系统平台。每个搭建节点链对应一设定方式和/或设定接口;所述根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,包括:
根据所述环境搭建请求确定所述设定方式和/或设定接口;
通过所述设定方式和/或设定接口触发所述环境搭建节点链运行。
可以理解,不同的系统平台有各自对应的设定方式和设定接口。
例如,对于大型zOS平台,所述设定方式为JCL作业,所述设定接口为JES接口;所述触发单元具体用于通过JES接口和JCL作业触发所述环境搭建节点链运行。
对于UNIX平台,所述设定方式为建立会话Session,打开Channel通道执行Shell功能脚本,所述触发单元具体用于通过建立会话Session,打开Channel通道执行Shell功能脚本来触发所述环境搭建节点链运行。
对于Windows平台,所述设定方式为执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯,所述触发单元具体用于通过执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯来触发所述环境搭建节点链运行。
参见图3,通过所述设定方式和设定接口,系统平台端的节点链可实现触发运行,其流程包括:
S301:接收通讯总线发出的节点运行触发指令;
S302:执行预设的搭建脚本或功能程序;
S303:每个脚本或功能程序执行完毕后,将结果写入所在系统平台的数据库。
具体的,步骤S301中,控制程序与系统平台端通过已经建立的设定方式进行通讯,系统平台接收节点运行的触发指令,指令可为一个全局变量值,当需要触发时变量值置从0置为1。
步骤302中,系统平台执行搭建脚本或功能程序,对于不同的系统平台执行搭建脚本的方式也是存在差别的。
例如,对于大型主机zOS平台是指JCL作业;对于UNIX平台是指Shell功能脚本,或HTTP及TCP的httpClient及RPC调用接口和服务;对于Windows平台是指DOS或.BAT功能脚本或API。
在本发明的实施例中,每个环境搭建节点链进一步耦接一唯一对应的数据库,所述数据库可以通过数据库软件建立,例如在大型主机zOS平台可以采用Data Base,在UNIX平台可以采用MySQL,在Windows平台可以采用SQL Server。数据库中存储着搭建节点链的信息,例如实例号、表单号、节点名、处理状态。
下面给出一个具体的跨平台环境搭建的实施例:
例如根据软件部署需求,涉及在大型主机zOS平台,UNIX平台及Windows平台上部署相应的环境。
根据所述跨平台环境搭建的方法,首先通过Acitiviti创建一个工作流流程图,如图6所示。根据项目计划触发环境搭建,然后进行相关预处理,如解析搭建信息,配置数据库,进行任务分发等。
在流程图中,建立三条并行的系统平台搭建链,其中第一分支为执行UNIX搭建,执行完后等待触发信号,然后执行Windows搭建,执行完成后等待触发信号;第二分支为执行zOS搭建,执行完后等待触发信号,然后执行UNIX搭建,执行完成后等待触发信号;第三分支为执行Windows搭建,执行完后等待触发信号,然后执行zOS搭建,执行完成后等待触发信号。
完成这三个分支并行的搭建节点链的触发运行后,进行相关后续处理,最终完成搭建。举个例子,控制程序首先并行触发三个平台的搭建第一步骤,然后定时巡检搭建情况,假设UNIX平台最新完成搭建,此时巡检Windows平台是否也完成第一步骤搭建,若完成,则按照流程图中第一分支继续触发运行Windows平台的搭建第二步骤;若未完成,则第一分支搭建节点链继续等待,控制程序巡检zOS平台第一步骤的搭建情况,若已完成,则运行流程图的第二分支,若未完成,则继续等待,直至巡检到另外两个平台中任一完成,进入第一或第二分支。
同理可以扩展到Windows先完成第一步骤搭建和zOS平台先完成第一步骤搭建,循环执行,直至完成所有系统平台搭建节点链。
若平台环境搭建存在先后顺序的依赖,则在执行时选择与其先后依赖顺序一致的分支。各系统平台环境搭建的搭建节点链执行完后,进行相关后续处理,例如数据存储,内存释放等,并且对搭建结果进行评价测试。
可以理解,本发明的上述方法,首先接收一设定系统平台的环境搭建请求和对应的环境搭建信息;然后将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,本发明通过利用该设定流程实例,可以用于多个系统平台的环境搭建,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
如图7所示,本实施例中利用java开发了一个开放平台软件系统,该系统为执行本方法所搭建,主要由开放平台100的WEB页面前端001、总控002、存储模块006,定时模块007和通讯总线008组成,以及多系统平台200的多个并行的搭建节点链(图中的009、011以及013)和数据库(图中的010、012以及014)。
WEB页面前端001与总控002连接,提供面向用户的输入及操作界面,同时用于显示处理结果。如图8所示,WEB页面前端包括输入模块101、通讯模块102以及显示模块103。输入模块101用于接收用户输入,输入项包括月份版本、环境、分区、参考环境、数据拷贝环境,同时输入模块也包括保存、发送等操作按钮;通讯模块102实现WEB页面前端001与总控002的网络连接及数据传输;显示模块103根据总控002返回的结果,在页面前端展示给用户,通过日志模块004存储过程中产生的日志,通知模块005用于产生各个通知信息,交互处理模块003与通讯总线008耦接,进行任务分配。
总控002是一套常态运行在平台服务器端的程序,用于任务处理和逻辑分析处理的集中管理。通过MVC架构模式(Model、View、Controller)开发,实现对任务调度功能的封装,提供JSON标准格式输入输出的对外服务接口,第三方可直接调用,实现跨系统平台的环境搭建自动化。如图9所示,总控002包括输入解析模块201、任务请求模块202、任务分发模块203、逻辑处理模块204、任务存储模块205、任务跟踪模块206和通讯模块207。
其中,输入解析模块201通过读取前端输入的数据包,解析任务请求的月份版本、环境、分区、参考环境及数据拷贝环境,并将信息提供给后续处理模块;任务请求模块202用于响应用户的请求,将请求类型提供给任务分发模块203;任务分发模块203根据任务请求模块202提供的请求类型,指派对应的接口程序去处理;逻辑处理模块204,包含各种功能的接口程序,每个接口程序完成相应的逻辑功能处理;任务存储模块205主要用于存储WEB前端001接收的输入信息、事务状态及任务处理结果,以便用于任务处理和跟踪;任务跟踪模块206实现了任务输入后的全流程跟踪管理,包括任务分发、任务处理、任务结束,并将结果返回给WEB页面前端001;通讯模块207用于与WEB页面前端001之间的网络连接与数据传输。
存储模块006,如图10所示,包括数据库601和Xml文件602。其中,数据库601存储实例流程的各项信息,如实例号、表单号、节点名、处理状态等;Xml文件602,用来存储服务模板、节点定义、节点之间的关联关系和分支走向逻辑关系。
定时模块007,如图11所示,包括定时触发单元701、数据库连接单元702、信息获取单元703和信息返回单元704。定时触发单元701通过数据库连接单元702,每隔一段时间连接各系统平台的数据库;信息获取单元703从各系统数据库获取信息后,通过信息返回单元704将信息反馈给总控002进行逻辑分析处理和分支走向判断处理。
通讯总线008,包含通讯连接服务、数据传输程序、接口和协议等。如图12所示,包括但不限于FTP单元801、SSH单元802、HTTP单元803、TCP单元804、RUNTIME单元805和JNI单元806。如图13所示,一般的:对于大型主机zOS平台,通过FTP单元801打开JES接口,进行JCL作业的触发调动;对于UNIX平台,通过SSH单元802登录并建立会话Session,打开Channel通道进行Shell功能脚本的执行,或通过HTTP单元803及TCP单元804的httpClient及RPC调用接口和服务来完成相应的功能;对于Windows平台,通过RUNTIME单元805进行DOS或.BAT功能脚本的执行,或通过JNI单元806与C/C++程序代码和功能库进行交互通讯。
可以理解,本发明解决了IBM zOS、UNIX及Windows等多种系统平台并存情况下的环境搭建自动化问题,提供了一种全程无人值守、步骤可灵活配置的跨系统平台环境搭建自动化的系统及方法;同时,该系统及方法能有效提高搭建效率,减少人工沟通成本,减少人工搭建出错率,搭建进度更可控,搭建情况可视化。本发明的具体优点如下:
1、通过本发明,可将IBM zOS、UNIX及Windows等多种系统平台的环境搭建纳入同一个实例进行管控,实现跨平台环境搭建一体化和自动化,能有效提高环境搭建效率,减少人工沟通成本,减少人工搭建出错率,使进度更可控。
2、通过本发明,能实现多系统平台环境搭建的可视化,各系统平台和各步骤的搭建情况直观展示。
3、通过本发明,搭建步骤增减可灵活配置,步骤划分可粗可细,简单高效。
4、本发明可将通用模块进行封装,提供给第三方直接调用;也可在流程节点加入第三方接口,与各应用进行功能联动。
对应于上文实施例所述的支持跨系统平台的环境搭建方法,图4示出了本申请实施例提供的一种支持跨系统平台的环境搭建装置模块图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,上述环境搭建装置包括:接收模块41和搭建模块42,其中:
接收模块41:接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
搭建模块42:将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台。
本发明提供一种支持跨系统平台的环境搭建装置,首先接收一设定系统平台的环境搭建请求和对应的环境搭建信息;然后将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,本发明通过利用该设定流程实例,可以用于多个系统平台的环境搭建,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
在本发明的实施例中,所述环境搭建信息包括月份版本、环境、分区、参考环境、数据拷贝环境。
具体的,一设定流程实例是通过工作流引擎生成的,例如当前比较流行的开源工作流引擎Acitiviti。流程实例中可包括多个并行的搭建节点链,使得搭建之间的耦合性降低,效率提高,便于控制程序进行触发调度。
在本发明的实施例中,所述触发运行对应该设定系统平台的搭建节点链,需要在一个控制程序进行触发调度,该控制程序是常态运行在平台服务器端。
可选地,如图5所示,所述搭建模块包括:确定单元51和触发单元52,其中:
确定单元51:根据所述环境搭建请求确定设定方式和/或设定接口;
触发单元52:通过设定方式和/或设定接口触发所述环境搭建节点链运行。
具体地,所述搭建节点链的参数包括实例号、表单号、节点名、处理状态、系统信息,节点间的关联关系和分支走向。
优选地,所述系统平台包括:大型主机zOS平台,UNIX平台,Windows平台。
在本发明的实施例中,所述通讯总线包括通讯连接服务、数据传输程序、接口和协议。优选地,对于大型主机zOS平台,通过FTP打开JES接口进行通讯;对于UNIX平台,通过SSH登录并建立会话Session,或通过HTTP及TCP的httpClient及RPC调用接口和服务;对于Windows平台,通过RUNTIME,或JNI与C/C++程序代码和功能库进行交互通讯。
在本发明的实施例中,环境搭建方法需要一个预设的工作流实例,该工作流实例可以是一个事先建立好的工作流实例,也可以是一个在接收到搭建请求后建立的工作流实例。例如通过工作流引擎Acitiviti建立一个工作流实例。
可以理解,不同的系统平台有各自对应的设定方式和设定接口。
例如,对于大型zOS平台,所述设定方式为JCL作业,所述设定接口为JES接口;所述触发单元具体用于通过JES接口和JCL作业触发所述环境搭建节点链运行。
对于UNIX平台,所述设定方式为建立会话Session,打开Channel通道执行Shell功能脚本,所述触发单元具体用于通过建立会话Session,打开Channel通道执行Shell功能脚本来触发所述环境搭建节点链运行。
对于Windows平台,所述设定方式为执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯,所述触发单元具体用于通过执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯来触发所述环境搭建节点链运行。
例如,对于大型主机zOS平台是指JCL作业;对于UNIX平台是指Shell功能脚本,或HTTP及TCP的httpClient及RPC调用接口和服务;对于Windows平台是指DOS或.BAT功能脚本或API。
在本发明的实施例中,每个环境搭建节点链进一步耦接一唯一对应的数据库,所述数据库可以通过数据库软件建立,例如在大型主机zOS平台可以采用Data Base,在UNIX平台可以采用MySQL,在Windows平台可以采用SQL Server。数据库中存储着搭建节点链的信息,例如实例号、表单号、节点名、处理状态。
可选地,所述环境搭建装置还可以包括:实例建立模块,其中所述实例建立模块具体用于发起Activiti流程,利用所述Activiti流程中的服务模板生成所述设定流程实例。
可选地,所述环境搭建装置还可以包括:数据库存储模块,将每个环境搭建节点链生成的所述环境搭建参数存储至其唯一对应的所述数据库。
可选地,所述环境搭建参数包括:月份版本信息、环境信息、分区信息、参考环境信息及数据拷贝环境信息。
可以看出,本发明解决了IBM zOS、UNIX及Windows等多种系统平台并存情况下的环境搭建自动化问题,提供了一种全程无人值守、步骤可灵活配置的跨系统平台环境搭建自动化的系统及方法;同时,该系统及方法能有效提高搭建效率,减少人工沟通成本,减少人工搭建出错率,搭建进度更可控,搭建情况可视化。本发明的具体优点如下:
1、通过本发明,可将IBM zOS、UNIX及Windows等多种系统平台的环境搭建纳入同一个实例进行管控,实现跨平台环境搭建一体化和自动化,能有效提高环境搭建效率,减少人工沟通成本,减少人工搭建出错率,使进度更可控。
2、通过本发明,能实现多系统平台环境搭建的可视化,各系统平台和各步骤的搭建情况直观展示。
3、通过本发明,搭建步骤增减可灵活配置,步骤划分可粗可细,简单高效。
4、本发明可将通用模块进行封装,提供给第三方直接调用;也可在流程节点加入第三方接口,与各应用进行功能联动。
从硬件层面来说,为了保障分布式数据存储的高可用性,避免主备切换时的数据丢失,本申请提供一种用于实现所述跨平台环境搭建的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现服务器、装置、分布式消息中间件集群装置、各类数据库以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的环境搭建的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图14为本申请实施例的电子设备9600的系统构成的示意框图。如图14所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图14是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,跨平台环境搭建功能可以被集成到中央处理器9100中。例如,中央处理器9100可以被配置为进行如下控制:
S101:接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
S102:将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台。
从上述描述可知,本申请的实施例提供的电子设备,通过利用该设定流程实例,可以用于多个系统平台的环境搭建,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
如图14所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图10中所示的所有部件;此外,电子设备9600还可以包括图10中没有示出的部件,可以参考现有技术。
如图14所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体可以为服务器的环境搭建方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的环境搭建方法的全部步骤。
从上述描述可知,本申请的实施例提供的计算机可读存储介质,通过利用该设定流程实例,可以用于多个系统平台的环境搭建,能有效提高搭建效率,减少人工搭建出错率,且搭建进度更可控,扩展性更灵活,实现从环境搭建计划到环境搭建就绪再到后续处理的全程自动化需求。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种支持跨系统平台的环境搭建方法,其特征在于,包括:
接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台;
其中,每个搭建节点链对应一设定方式和/或设定接口;所述根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,包括:
根据所述环境搭建请求确定所述设定方式和/或设定接口;
通过所述设定方式和/或设定接口触发所述环境搭建节点链运行;
其中,所述系统平台包括:zOS平台,所述设定方式为JCL作业,所述设定接口为JES接口;
所述通过所述设定方式和/或设定接口触发所述环境搭建节点链运行,包括:
通过JES接口和JCL作业触发所述环境搭建节点链运行;或者,
所述系统平台包括:UNIX平台,所述设定方式为建立会话Session,打开Channel通道执行Shell功能脚本,所述通过所述设定方式和/或设定接口触发所述环境搭建节点链运行,包括:
通过建立会话Session,打开Channel通道执行Shell功能脚本来触发所述环境搭建节点链运行;或者,
所述系统平台包括:Windows平台,所述设定方式为执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯,所述通过所述设定方式和/或设定接口触发所述环境搭建节点链运行,包括:
通过执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯来触发所述环境搭建节点链运行。
2.根据权利要求1所述的环境搭建方法,其特征在于,还包括:
建立所述设定流程实例。
3.根据权利要求2所述的环境搭建方法,其特征在于,建立设定工作流实例包括:
发起Activiti流程,利用所述Activiti流程中的服务模板生成所述设定流程实例。
4.根据权利要求1所述的环境搭建方法,其特征在于,每个环境搭建节点链进一步耦接一唯一对应的数据库,所述环境搭建方法还包括:
将每个环境搭建节点链生成的所述环境搭建参数存储至其唯一对应的所述数据库。
5.根据权利要求1所述的环境搭建方法,其特征在于,所述环境搭建信息包括:月份版本信息、环境信息、分区信息、参考环境信息及数据拷贝环境信息。
6.一种支持跨系统平台的环境搭建装置,其特征在于,还包括:
接收模块,接收一设定系统平台的环境搭建请求和对应的环境搭建信息;
搭建模块,将所述环境搭建信息输入至一设定流程实例中,并根据所述环境搭建请求触发运行对应该设定系统平台的搭建节点链,所述搭建节点链输出搭建完成的环境参数;其中所述设定流程实例包括多个并行的搭建节点链,每个搭建节点链对应一种系统平台;
其中,每个搭建节点链对应一设定方式和/或设定接口;所述搭建模块,包括:
确定单元,根据所述环境搭建请求确定所述设定方式和/或设定接口;
其中,所述系统平台包括:zOS平台,所述设定方式为JCL作业,所述设定接口为JES接口;
触发单元具体用于通过JES接口和JCL作业触发所述环境搭建节点链运行;或者,
所述系统平台包括:UNIX平台,所述设定方式为建立会话Session,打开Channel通道执行Shell功能脚本,所述触发单元具体用于通过建立会话Session,打开Channel通道执行Shell功能脚本来触发所述环境搭建节点链运行;或者,
所述系统平台包括:Windows平台,所述设定方式为执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯,所述触发单元具体用于通过执行DOS或.BAT功能脚本,或者为与C/C++程序代码和功能库进行交互通讯来触发所述环境搭建节点链运行。
7.根据权利要求6所述的环境搭建装置,其特征在于,还包括:
实例建立模块,建立所述设定流程实例。
8.根据权利要求7所述的环境搭建装置,其特征在于,所述实例建立模块具体用于发起Activiti流程,利用所述Activiti流程中的服务模板生成所述设定流程实例。
9.根据权利要求6所述的环境搭建装置,其特征在于,每个环境搭建节点链进一步耦接一唯一对应的数据库,所述环境搭建装置还包括:
数据库存储模块,将每个环境搭建节点链生成的所述环境搭建参数存储至其唯一对应的所述数据库。
10.根据权利要求6所述的环境搭建装置,其特征在于,所述环境搭建信息包括:月份版本信息、环境信息、分区信息、参考环境信息及数据拷贝环境信息。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的环境搭建方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述的环境搭建方法。
CN202011371707.5A 2020-11-30 2020-11-30 一种支持跨系统平台的环境搭建方法及装置 Active CN112463212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011371707.5A CN112463212B (zh) 2020-11-30 2020-11-30 一种支持跨系统平台的环境搭建方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011371707.5A CN112463212B (zh) 2020-11-30 2020-11-30 一种支持跨系统平台的环境搭建方法及装置

Publications (2)

Publication Number Publication Date
CN112463212A CN112463212A (zh) 2021-03-09
CN112463212B true CN112463212B (zh) 2024-01-26

Family

ID=74806648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011371707.5A Active CN112463212B (zh) 2020-11-30 2020-11-30 一种支持跨系统平台的环境搭建方法及装置

Country Status (1)

Country Link
CN (1) CN112463212B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789886A (zh) * 2009-01-23 2010-07-28 中兴通讯股份有限公司 一种分布式环境的环境搭建自动化系统及方法
CN109522024A (zh) * 2018-10-23 2019-03-26 中国银行股份有限公司 一种环境搭建方法、装置、存储介质及处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789886A (zh) * 2009-01-23 2010-07-28 中兴通讯股份有限公司 一种分布式环境的环境搭建自动化系统及方法
CN109522024A (zh) * 2018-10-23 2019-03-26 中国银行股份有限公司 一种环境搭建方法、装置、存储介质及处理器

Also Published As

Publication number Publication date
CN112463212A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN111352653B (zh) 基于PaaS云平台服务器的系统开发方法及服务器
CN107807815B (zh) 分布式处理任务的方法和装置
CN111813601B (zh) 有状态分布式集群的微服务回滚方法及装置
CN111459539B (zh) 基于镜像分层的持续集成流水线运行方法及装置
CN111796838B (zh) Mpp数据库自动部署方法及装置
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
CN112905337A (zh) 软硬件混合部署的MySQL集群调度方法及装置
KR101086620B1 (ko) 스마트 오피스 시스템 및 운용을 위한 서버 및 운용 방법
CN113626002A (zh) 一种服务执行方法及装置
CN110221840B (zh) 应用程序的功能实现方法及装置、设备及存储介质
CN111552901B (zh) H5跨引擎客户端数据自动化更新的方法、存储介质
CN107896242B (zh) 一种服务共享方法及装置
CN113849399A (zh) 多国产化平台下的多机协同软件的自动化测试系统和方法
CN113296742A (zh) App数据处理方法、装置及移动终端
CN110427260B (zh) 主机作业调度方法、装置及系统
CN112463212B (zh) 一种支持跨系统平台的环境搭建方法及装置
CN111367561A (zh) 软件程序远程开发方法及装置
CN111414232B (zh) 虚拟机模板数据处理方法及装置
CN110554906A (zh) 虚拟机配置管理方法及装置
CN113176892B (zh) 一种基于发布单元的标准化持续交付方法及系统
CN113641343B (zh) 基于环境隔离的高并发python算法调用方法及介质
CN115774573B (zh) 应用集成方法、装置、电子设备和存储介质
CN115865913A (zh) Rpa机器人边缘计算方法、装置及系统
CN117170695A (zh) 安装程序生成方法、运行方法、装置、设备及存储介质
CN115145554A (zh) 一种小程序测试预览码生成方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant