一种工程软件资源云服务方法与流程

文档序号:17772960发布日期:2019-05-28 19:39阅读:150来源:国知局
一种工程软件资源云服务方法与流程

本申请涉及云技术领域,特别涉及一种工程软件资源云服务方法。



背景技术:

针对商业、管理等业务场景的web应用,普遍是采用b/s的软件开发框架,依托tomcat等服务容器的统一部署环境,并且是基于浏览器的使用方式,容易实现多租户云服务的个性配置(页面、数据库多实例)、弹性伸缩(服务器、服务容器动态扩展)。

相比而言,工程软件架构多样、部署方法不一、使用方式各异。例如,工程软件的开发框架有单机版的、客户端/服务器版的、分布式版的,分布式版的还可以细分成基于mpi(messagepassinginterface,信息传递接口)/openmp(一个跨平台的、较常用的基于共享内存(地址空间)的并行编程模型)、基于hla(highlevelarchitecture,高级体系结构)/rti(run-timeinterfrastructer,运行支撑框架)等;工程软件的部署环境多样,对于客户端/服务器版的、分布式版的工程软件部署环境复杂、部署过程繁琐;工程软件的使用方式各异,有界面交互使用方式(可细分为本地使用和云端使用两种方式)、接口调用使用方式、分布交互使用方式、嵌入流程的使用方式等。正是由于工程软件由于架构多样、部署方法不一、使用方式各异等特点,为提供工程软件的云服务带来难题。



技术实现要素:

为解决上述问题之一,本申请提供了一种工程软件资源云服务方法。

建立工程软件运行环境镜像;

将工程软件加入可共享的模板中,创建工程软件实例,以隔离所述工程软件;

分类建立工程软件服务和调度子系统;

分类建立工程软件服务目录,以形成从工程软件资源请求到撤销的流程。

其中,所述建立工程软件运行环境镜像,包括:

确定所述工程软件依赖的资源,所述工程软件依赖的资源,包括如下的一种或多种:操作系统、中间件、配置项、适配器;

封装所述工程软件依赖的资源。

其中,封装所述工程软件依赖的资源,包括如下的一种或多种途径:

将所述工程软件依赖的资源封装至虚拟机模板,以使在任一计算节点快速形成虚拟化的工程软件运行环境,撤销运行环境和回收计算节点;

将所述工程软件依赖的资源封装至轻量化容器模板,以使在任一计算节点快速形成虚拟化的工程软件运行环境,撤销运行环境和回收计算节点;

将所述工程软件依赖的资源封装至物理机配置文件,以使在任一计算节点快速导引出工程软件运行环境,撤销运行环境和回收计算节点。

其中,所述可共享的模板为如下的一种或多种:虚拟机模板,轻量化容器模板,物理机配置文件;

所述将工程软件加入可共享的模板中,包括:

将工程软件安装到如下的一种或多种中进行共享:虚拟机模板,轻量化容器模板,物理机配置文件。

其中,所述创建工程软件实例,包括:

配置并提供工程软件实例化接口,在快速形成虚拟化的工程软件运行环境的同时启动工程软件实例,监控工程软件实例运行状态,并在使用完成后关闭工程软件。

其中,所述创建工程软件实例之后,还包括:

提供工程软件实例句柄,以使客户端/服务器框架工程软件后台服务器实例与前台客户端联通,所述实例句柄为网络服务webservice地址,或者,远程过程调用rpc句柄;

提供基于分布式框架的工程软件分布实例化,以便基于中间件实现工程软件的分布式模块的相互联通。

其中,分类建立工程软件服务和调度子系统,包括:

确定工程软件的使用方式,所述使用方式包括如下的一种或多种:界面交互本地使用方式,界面交互云端使用方式,接口调用使用方式,分布交互使用方式,嵌入流程的使用方式;

根据所述使用方式,采用服务和调度的方法,建立工程软件服务、调度子系统。

其中,所述服务和调度,包括如下的一种或多种:许可证服务和调度、应用远程交互服务和调度、作业批处理服务和调度、远程过程调用服务和调度、分布交互服务和调度、流程调用服务和调度;

所述采用服务和调度的方法,建立工程软件服务、调度子系统,包括如下的一种或多种:

采用许可证服务和调度的方法,建立工程软件服务、调度子系统、采用应用远程交互服务和调度的方法,建立工程软件服务、调度子系统、采用作业批处理服务和调度的方法,建立工程软件服务、调度子系统、采用远程过程调用服务和调度的方法,建立工程软件服务、调度子系统、采用分布交互服务和调度的方法,建立工程软件服务、调度子系统、采用流程调用服务和调度的方法,建立工程软件服务、调度子系统。

其中,所述采用许可证服务和调度的方法,建立工程软件服务、调度子系统,包括:

向前台提供工程软件许可证认证授权服务;

当工程软件采用前台本地界面交互的方式被使用后,在后台建立许可证资源池管理和调度许可证;

所述采用应用远程交互服务和调度的方法,建立工程软件服务、调度子系统,包括:

将工程软件的界面采用虚拟网络控制台和/或windowsrdp推送到前台,以使工程软件采用交互的方式被前台使用;

在后台建立第二调度机制,以便在不同图形工作站打开隔离的工程软件;

所述采用作业批处理服务和调度的方法,建立工程软件服务、调度子系统,包括:

确定作业对应的文件;

将所述文件调度到后台的高性能集群的多个计算节点中,并启动计算分析;

在后台建立第三调度机制后,前台通过页面进行作业提交、过程监控和结果获取,以便在所需数目的高性能集群的计算节点打开隔离的工程软件;

所述采用远程过程调用服务和调度的方法,建立工程软件服务、调度子系统,包括:

将工程软件的远程过程调用服务接口通过发现操作,锁定操作和调用操作提供服务;

在后台建立第四调度机制后,工程软件在前台通过页面或者客户端程序被使用,以便在部署工程软件的高性能集群的计算节点选择隔离的工程软件实例;

所述采用分布交互服务和调度的方法,建立工程软件服务、调度子系统,包括:

将工程软件封装成符合高级体系结构hla规范的联邦成员;

在后台建立第五调度机制后,联邦成员加入hla运行支撑框架rti进行分布交互,以便为联邦成员指定工程软件,并为指定的隔离的工程软件分配计算节点;

所述采用流程调用服务和调度的方法,建立工程软件服务、调度子系统,包括:

将工程软件的调用做成模板嵌入流程;

在后台建立第六调度机制后,模板嵌入流程运行过程中,工程软件通过自动或者手动调用模板的方式被使用,在后台建立第五调度机制,以便为模板指定工程软件,并为指定的隔离的工程软件分配计算节点。

其中,所述分类建立工程软件服务目录,以形成从工程软件资源请求到撤销的流程,包括:

根据使用方式建立工程软件服务目录;

当服务目录下的工程软件被触发后,进入工程软件服务全生命周期的完整流程,其中,所述工程软件服务全生命周期的完整流程包括:资源请求、运行环境构建、软件实例化、任务文件提交、软件启动、软件使用、软件关闭、任务文件删除、实例化撤销、运行环境撤销和资源回收;

对于位于后台的工程软件和分布式工程软件,提供后台监控手段和分布协作手段,所述后台监控手段包括消息机制和桌面可视化。

本申请所述技术方案建立工程软件运行环境镜像,将工程软件加入可共享的模板中,创建工程软件实例,分类建立工程软件服务和调度子系统,分类建立工程软件服务目录,以形成从工程软件资源请求到撤销的流程,可以解决工程软件由于架构多样、部署方法不一、使用方式各异等带来的云服务难题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出本发明一个实施例提供的一种工程软件资源云服务方法流程图;

图2示出了本发明一个实施例提供的一种工程软件资源云服务方法得到的架构示意图。

具体实施方式

为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

针对web应用以外的工程软件由于架构多样、部署方法不一、使用方式各异等带来的云服务难题,本申请提供了一种工程软件资源云服务方法,该方法是通用化的解决方案,能够让单机版的、客户端/服务器版的、分布式版的工程软件统一部署到准备好的运行环境镜像中,按需创建工程软件实例,形成相互隔离、个性化的多租户云服务,并能够有效地访问使用,同时能够根据应用需求实现所占用资源的弹性伸缩和按需调度。

实施例1

本实施例提供一种工程软件资源云服务方法,参见图1。

s101,建立工程软件运行环境镜像。

本步骤的具体实现过程可以为:

步骤1.1,确定工程软件依赖的资源。

其中,工程软件依赖的资源,包括如下的一种或多种:操作系统、中间件、配置项、适配器。

步骤1.2,封装工程软件依赖的资源。

其中,封装工程软件依赖的资源,包括如下的一种或多种途径:

将工程软件依赖的资源封装至虚拟机模板,以使在任一计算节点快速形成虚拟化的工程软件运行环境,撤销运行环境和回收计算节点。

将工程软件依赖的资源封装至轻量化容器模板,以使在任一计算节点快速形成虚拟化的工程软件运行环境,撤销运行环境和回收计算节点。

将工程软件依赖的资源封装至物理机配置文件,以使在任一计算节点快速导引出工程软件运行环境,撤销运行环境和回收计算节点。

例如:针对工程软件有单机版的、客户端/服务器版的、分布式版等多种框架,采用计算系统虚拟化技术统一为工程软件建立运行环境。

将工程软件依赖的操作系统、中间件、配置项、适配器等封装到虚拟机模板,支持在指定的一组计算节点快速形成虚拟化的工程软件运行环境,支持运行环境的撤销和计算节点回收。

将工程软件依赖的操作系统、中间件、配置项、适配器等封装到轻量化容器模板,支持在指定的一组计算节点快速形成虚拟化的工程软件运行环境,支持运行环境的撤销和计算节点回收。

将工程软件依赖的操作系统、中间件、配置项、适配器等封装到配置文件,支持在指定的一组计算节点快速导引出所需要的工程软件运行环境,支持运行环境的撤销和计算节点回收。

通过执行本步骤,可以运用计算系统虚拟化技术为工程软件准备好运行环境镜像。具体的,针对工程软件有单机版的、客户端/服务器版的、分布式版等多种框架,采用计算系统虚拟化技术统一为工程软件建立运行环境,将工程软件依赖的操作系统、中间件、配置项、适配器等封装到虚拟机模板、轻量化容器模板或者配置文件中,支持在指定的一组计算节点快速形成虚拟化的工程软件运行环境或者快速导引出所需要的工程软件运行环境,支持运行环境的撤销和计算节点回收。

s102,将工程软件加入可共享的模板中,创建工程软件实例,以隔离工程软件。

其中,可共享的模板为如下的一种或多种:虚拟机模板,轻量化容器模板,物理机配置文件。

将工程软件加入可共享的模板中,包括:

将工程软件安装到如下的一种或多种中进行共享:虚拟机模板,轻量化容器模板,物理机配置文件。

创建工程软件实例的具体实现过程包括但不限于:

配置并提供工程软件实例化接口,在快速形成虚拟化的工程软件运行环境的同时启动工程软件实例,监控工程软件实例运行状态,并在使用完成后关闭工程软件。

例如:将工程软件安装到虚拟机模板中进行共享,配置并提供工程软件实例化接口,支持在快速构建隔离的工程软件运行环境的同时启动工程软件实例,支持工程软件实例运行状态监控,支持工程软件关闭。

将工程软件安装到轻量化容器模板中进行共享,配置并提供工程软件实例化接口,支持在快速构建隔离的工程软件运行环境的同时启动工程软件实例,支持工程软件实例运行状态监控,支持工程软件关闭。

将工程软件安装到共享存储中进行共享,配置并提供工程软件实例化接口,支持在快速构建隔离的工程软件运行环境的同时启动工程软件实例,支持工程软件实例运行状态监控,支持工程软件关闭。

另外,创建工程软件实例之后,还可以提供工程软件实例句柄,以使客户端/服务器框架工程软件后台服务器实例与前台客户端联通,实例句柄为webservice(网络服务)地址,或者,rpc(remoteprocedurecall,远程过程调用)句柄。提供基于分布式框架的工程软件分布实例化,以便基于中间件实现工程软件的分布式模块的相互联通。

例如:提供工程软件实例句柄(webservice地址或者各类rpc句柄),以实现客户端/服务器框架工程软件后台服务器实例与前台客户端联通;提供基于分布式框架的工程软件分布实例化,基于mpi/openmp、hlarti等中间件实现工程软件各分布式模块的相互联通。

通过执行本步骤,可以将工程软件安装到可共享的模板、地址中,按需创建工程软件实例。具体的,将工程软件安装到虚拟机模板、轻量化容器模板中进行共享,或者安装到共享存储中。配置并提供工程软件实例化接口,支持在快速构建隔离的工程软件运行环境的同时启动工程软件实例,支持工程软件实例运行状态监控,支持工程软件关闭。提供工程软件实例句柄,以实现客户端/服务器框架工程软件后台服务器实例与前台客户端联通;提供分布式框架工程软件分布实例化,并相互联通。

s103,分类建立工程软件服务和调度子系统。

本步骤的具体实现过程可以为:

步骤2.1,确定工程软件的使用方式。

其中,使用方式包括如下的一种或多种:界面交互本地使用方式,界面交互云端使用方式,接口调用使用方式,分布交互使用方式,嵌入流程的使用方式。

步骤2.2,根据使用方式,采用服务和调度的方法,建立工程软件服务、调度子系统。

其中,服务和调度,包括如下的一种或多种:许可证服务和调度、应用远程交互服务和调度、作业批处理服务和调度、远程过程调用服务和调度、分布交互服务和调度、流程调用服务和调度。

采用服务和调度的方法,建立工程软件服务、调度子系统的实现过程,包括如下的一种或多种:采用许可证服务和调度的方法,建立工程软件服务、调度子系统、采用应用远程交互服务和调度的方法,建立工程软件服务、调度子系统、采用作业批处理服务和调度的方法,建立工程软件服务、调度子系统、采用远程过程调用服务和调度的方法,建立工程软件服务、调度子系统、采用分布交互服务和调度的方法,建立工程软件服务、调度子系统、采用流程调用服务和调度的方法,建立工程软件服务、调度子系统。

具体的,

·采用许可证服务和调度的方法,建立工程软件服务、调度子系统的实现方式,包括:

向前台提供工程软件许可证认证授权服务;

当工程软件采用前台本地界面交互的方式被使用后,在后台建立许可证资源池管理和调度许可证。

·采用应用远程交互服务和调度的方法,建立工程软件服务、调度子系统的实现方式,为:

将工程软件的界面采用vnc(virtualnetworkconsole,虚拟网络控制台)和/或windowsrdp(remotedesktopprotocol,最近远程桌面协议)推送到前台,以使工程软件采用交互的方式被前台使用;

在后台建立第二调度机制(如许可证调度机制),以便在不同图形工作站打开隔离的工程软件。

·采用作业批处理服务和调度的方法,建立工程软件服务、调度子系统的实现方式为:

确定作业对应的文件;

将文件调度到后台的高性能集群的多个计算节点中,并启动计算分析;

在后台建立第三调度机制,前台通过页面进行作业提交、过程监控和结果获取,以便在所需数目的高性能集群的计算节点打开隔离的工程软件。

·采用远程过程调用服务(rpc)和调度的方法,建立工程软件服务、调度子系统的实现方式为:

将工程软件的远程过程调用服务接口通过发现操作,锁定操作和调用操作提供服务;

在后台建立第四调度机制后,工程软件在前台通过页面或者客户端程序被使用,以便在部署工程软件的高性能集群的计算节点选择隔离的工程软件实例。

·采用分布交互服务和调度的方法,建立工程软件服务、调度子系统的实现方式为:

将工程软件封装成符合hla规范的联邦成员;

在后台建立第五调度机制后,联邦成员加入hlarti进行分布交互,以便为联邦成员指定工程软件,并为指定的隔离的工程软件分配计算节点。

·采用流程调用服务和调度的方法,建立工程软件服务、调度子系统的实现方式为:

将工程软件的调用做成模板嵌入流程;

在后台建立第六调度机制后,模板嵌入流程运行过程中,工程软件通过自动或者手动调用模板的方式被使用,以便为模板指定工程软件,并为指定的隔离的工程软件分配计算节点。

例如:针对工程软件界面交互使用方式(可细分为本地使用和云端使用两种方式)、接口调用使用方式、分布交互使用方式、嵌入流程的使用方式等多种使用方式,采用许可证服务和调度、应用远程交互服务和调度、作业批处理服务和调度、rpc服务和调度、分布交互服务和调度、流程调用服务和调度等不同手段,分别建立工程软件服务、调度子系统。

其中,

许可证服务和调度是向工程师本地桌面的工程软件提供许可证认证授权服务,工程师在本地采用界面交互方式使用工程软件,后台建立许可证资源池对许可证进行管理和调度。

应用远程交互服务和调度是将后台管理的工程软件的界面采用vnc、windowsrdp协议推送到前台桌面供工程师交互使用,后台建立调度机制将工程软件在不同图形工作站打开并有效隔离。

作业批处理服务和调度是将相应文件调度到后台的高性能集群的多个计算节点中启动计算分析,工程师在前台通过页面进行作业提交、过程监控和结果获取,后台建立调度机制将工程软件分配给高性能集群的计算节点并有效隔离。

rpc服务和调度是将工程软件的rpc接口通过发现、锁定、调用等操作提供服务,工程师在前台通过页面或者客户端程序进行使用,后台建立调度机制将工程软件分配给高性能集群的计算节点并有效隔离。

分布交互服务和调度是将工程软件封装成符合hla规范的联邦成员,(多个)工程师在运行管理界面操作联邦成员加入hlarti实现分布交互,后台建立调度机制为联邦成员指定相对应的工程软件并为其分配计算节点隔离使用。

流程调用服务和调度是将工程软件的调用做成模板嵌入流程,(多个)工程师在流程运行过程中自动或者手动调用模板使用工程软件,后台建立调度机制为模板指定相对应的工程软件并为其分配计算节点隔离使用。

通过执行本步骤,可以根据使用方式的不同,分类建立工程软件服务、调度子系统。具体的,针对工程软件界面交互使用方式(可细分为本地使用和云端使用两种方式)、接口调用使用方式、分布交互使用方式、嵌入流程的使用方式等多种使用方式,采用许可证服务和调度、应用远程交互服务和调度、作业批处理服务和调度、rpc服务和调度、分布交互服务和调度、流程调用服务和调度等不同手段,分别建立工程软件服务、调度子系统。

s104,分类建立工程软件服务目录,以形成从工程软件资源请求到撤销的流程。

本步骤可以通过如下方式实现:

步骤3.1,根据使用方式建立工程软件服务目录。

步骤3.2,当服务目录下的工程软件被触发后,进入工程软件服务全生命周期的完整流程。

其中,工程软件服务全生命周期的完整流程包括:资源请求、运行环境构建、软件实例化、任务文件提交、软件启动、软件使用、软件关闭、任务文件删除、实例化撤销、运行环境撤销和资源回收。

步骤3.3,对于位于后台的工程软件和分布式工程软件,提供后台监控手段和分布协作手段,后台监控手段包括消息机制和桌面可视化。

例如:根据使用方式的不同分类建立工程软件服务目录,点击服务目录下具体的工程软件,进入工程软件服务全生命周期的完整流程,包括资源请求、运行环境构建、软件实例化、任务文件提交、软件启动、软件使用、软件关闭、任务文件删除、实例化撤销、运行环境撤销和资源回收。针对后台使用工程软件和分布使用工程软件,提供包括消息机制和桌面可视化等后台监控手段和分布协作手段。

通过执行本步骤,可以分类建立工程软件服务目录,形成从资源请求到撤销的完整流程。具体的,根据使用方式的不同分类建立工程软件服务目录,点击服务目录下具体的工程软件,进入工程软件服务全生命周期的完整流程,包括资源请求、运行环境构建、软件实例化、任务文件提交、软件启动、软件使用、软件关闭、任务文件删除、实例化撤销、运行环境撤销和资源回收。针对后台使用工程软件和分布使用工程软件,提供包括消息机制和桌面可视化等后台监控手段和分布协作手段。

通过本实施例提供的工程软件资源云服务方法所得到的架构可如图2所示,拓展了软件资源的云服务方法,针对web应用以外的工程软件由于架构多样、部署方法不一、使用方式各异等带来的云服务难题,形成了通用化的解决方案,能够让单机版的、客户端/服务器版的、分布式版的工程软件统一部署到准备好的运行环境镜像中,按需创建工程软件实例,形成相互隔离、个性化的多租户云服务,并能够有效地访问使用,同时能够根据应用需求实现所占用资源的弹性伸缩。

本实施例提供的方法建立工程软件运行环境镜像,将工程软件加入可共享的模板中,创建工程软件实例,分类建立工程软件服务和调度子系统,分类建立工程软件服务目录,以形成从工程软件资源请求到撤销的流程,可以解决工程软件由于架构多样、部署方法不一、使用方式各异等带来的云服务难题。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1