CN113515263A - 工业app机理模型部署方法、装置、设备和可读存储介质 - Google Patents
工业app机理模型部署方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- CN113515263A CN113515263A CN202110451152.3A CN202110451152A CN113515263A CN 113515263 A CN113515263 A CN 113515263A CN 202110451152 A CN202110451152 A CN 202110451152A CN 113515263 A CN113515263 A CN 113515263A
- Authority
- CN
- China
- Prior art keywords
- model
- mechanism model
- industrial app
- user
- automatic deployment
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Abstract
本发明实施例涉及工业APP机理模型部署方法、装置、设备和可读存储介质。接收用户上传的基于OpenAPI规范封装的工业APP机理模型,其中,机理模型基于多种编程语言开发;响应于接收用户选择的编程语言,判断是否已部署对应环境;若已部署对应环境,则选择对应环境进行自动部署操作;若未部署对应环境,则基于对应编程语言镜像,通过CMP创建对应环境;响应于接收到的自动部署操作,执行工业APP机理模型自动部署。本发明实施例消除异构模型之间的壁垒,打通异构模型之间的数据流、控制流,实现模型的数据流通,实现异构语言模型的全面兼容,突破传统机理模型的局限性。
Description
技术领域
本发明涉及工业APP领域,尤其涉及一种工业APP机理模型部 署方法、装置、设备和可读存储介质。
背景技术
构建面向汽车行业的工业APP机理模型库具有重要意义:工业 技术层面,打通汽车工业机理沉淀的关键环节,摆脱国内软件在模仿、 跟踪和追赶国外技术的被动局面,有助于实现汽车行业工业技术软件 自主可控,引领创新型国家建设;产业层面,构建汽车全流程、全产 业链、全应用层级的工业APP机理模型库,有助于汽车行业形成完 整、有序、规范、高效的数字化、网络化、智能化的解决方案,加速 工业知识沉淀、传播、复用与价值创造,有效促进汽车行业转型升级, 推动制造强国建设;生态建设层面,打通工业APP机理模型产业链 的上下游,汇聚产学研用各方力量,为开发者提供全面的技术资源支 持,建立多方参与、互利共存的汽车行业工业APP机理模型库应用 生态体系,促进工业互联网生态的协同发展。
现有工业APP机理模型的存在形式鱼龙混杂、没有一个统一的 多语言模型的封装调用标准将模型收集、集成、统一调用起来。机理 模型是根据对象、生产过程的内部机制或者物质流的传递机理建立起 来的精确机理模型。它形成的背后逻辑是质量平衡方程、能量平衡方 程、动量平衡方程、相平衡方程以及某些物性方程、化学反应定律、 电路基本定律等等,它存在的形式可以由C++、C#、JAVA、Python、 MATLAB.m等多种高级编程语言所编写,大多数的机理模型开发者 只会选择用自己最熟悉、最了解的语言来进行编写机理模型,因此我 们无法统一规定机理模型开发者只使用某一种规定语言来进行约束, 这样限制了机理模型语言的丰富性、也阻碍了开发者的开发热情,开 发者重新学习一门语言的难度较大、时间长、熟练程度也不如自己常 用的语言。
发明内容
本发明目的在于提出一种工业APP机理模型部署方法、装置、 设备和可读存储介质,提出基于OpenAPI规范的模型封装标准的多 编程语言机理模型,OpenAPI是一个标准的、与语言无关的RESTful API接口规范,它可以同时允许开发人员和操作系统查看并理解某 个服务的功能,而无需访问源代码,既方便开发者学习和阅读,也方 便机器阅读;能够解决不同种语言进行统一标准封装的问题。
第一方面,本发明提出一种工业APP机理模型部署方法,其特 征在于,包括以下步骤:
接收用户上传的基于OpenAPI规范封装的工业APP机理模型, 其中,机理模型基于多种编程语言开发;
响应于接收用户选择的编程语言,判断是否已部署对应环境;若 已部署对应环境,则选择对应环境进行自动部署操作;若未部署对应 环境,则基于对应编程语言镜像,通过CMP创建对应环境;
响应于接收到的自动部署操作,执行工业APP机理模型自动部 署。
优选的,多种编程语言包括Python、Java、matlab、C++、C#、 Excel、FMU。
优选的,针对多编程语言的工业APP机理模型的封装过程包括: 修改Demo工程中的联系人信息、模型入参信息、模型出参信息、业 务逻辑中的一个或多个;对修改后的Demo工程执行测试,测试通过 后,完成针对对应编程语言的工业APP机理模型的封装过程。
优选的,执行工业APP机理模型自动部署的步骤包括:调用CMP 接口创建账号;为账号创建带有对应编程语言的自动部署服务的运行 虚拟机;通过模型注册信息调用自动部署服务进行注册。
优选的,创建运行虚拟机时为用户同一类别的编程语言创建一个 虚拟机。
优选的,模型注册信息包括账号ID、虚拟机IP、封装的工业APP 机理模型。
优选的,调用自动部署服务进行注册的过程包括:虚拟机部署完 毕后,自动部署服务接收用户上传的封装好的工业APP机理模型, 根据机理模型需要的依赖环境requirements.txt进行依赖包下载,创建 模型所需的运行环境,模型根据不同语言的启动脚本启动模型,在模 型启动后根据启动后的swagger地址获取API文件,从而调用websim组件注册接口,返回部署注册结果,实现模型的自动部署。
第二发明,本发明还提出一种工业APP机理模型部署装置,其 特征在于,包括:
模型接收模块,接收用户上传的基于OpenAPI规范封装的工业 APP机理模型,其中,机理模型基于多种编程语言开发;
环境检测模块,响应于接收用户选择的编程语言,判断是否已部 署对应环境;若已部署对应环境,则选择对应环境进行自动部署操作; 若未部署对应环境,则基于对应编程语言镜像,通过CMP创建对应 环境;
自动部署服务模块,响应于接收到的自动部署操作,执行工业 APP机理模型自动部署。
第三方面,本发明提出一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述 一个或多个处理器实现所述工业APP机理模型部署方法。
第四方面,本发明提出一种计算机可读存储介质,其上存储有计 算机程序,其特征在于,该程序被处理器执行时实现所述工业APP 机理模型部署方法。
本发明实施例与现有技术相比,具体有益效果如下:
目前工业APP机理模型的集成能力较弱,联动协同、融合重整、 赋能增值的集成发展效应难以形成,一定程度上已经成为制约机理模 型大规模被应用开发成工业APP的技术瓶颈。本发明实施例旨在完 成多种语言编写的机理模型的封装方法、多种语言封装后模型的自动 部署调用方法,消除异构模型之间的壁垒,打通异构模型之间的数据 流、控制流,实现模型的数据流通,实现异构语言模型的全面兼容, 突破传统机理模型的局限性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方 案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简 单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式, 对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可 以根据这些附图获得其他的附图。
图1为本发明实施例的工业APP机理模型部署方法;
图2为本发明实施例的工业APP机理模型部署装置结构示意图;
图3为本发明实施例的Demo示意图;
图4为本发明实施例的一种电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明 的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发 明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本 领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其 它实施例,都属于本发明所保护的范围。
下面将结合参考附图来详细说明本发明实施例。
本申请实施例提供工业APP机理模型部署方法,其流程图如图1 所示,该方法可以由工业APP服务器装置来执行,该装置可以由软 件和/或硬件构成,并一般集成在电子设备中。
结合图1,本实施例提供的工业APP机理模型部署方法具体包括:
步骤S100,接收用户上传的基于OpenAPI规范封装的工业APP 机理模型,其中,机理模型基于多种编程语言开发。
开发人员使用自己熟悉的编程语言对工业APP机理模型进行开 发,之后根据基于OpenAPI规范的封装方案对机理模型进行封装。 开发人员所使用的编程语言为已有编程语言,包括但不限于Python、 Java、matlab、C++、C#、Excel、FMU。
下述针对Java、Python、C#、C++、MATLAB.m语言五种常用 编程语言基于OpenAPI规范的封装方案给出详细说明。
1、针对JAVA语言的工业APP机理模型的封装
①可根据需要,修改javaDemo工程中的Application.java文件, 修改联系人等信息。
②修改javaDemo工程中的ModelService.java文件,根据用户自 己业务逻辑修改,如图3所示。其中,用户业务逻辑指工业APP实 现对应功能的相关业务逻辑,用户可以根据自身工业APP的需求去 调整业务逻辑。本发明实施例提供的封装方法,用于对用户原有的业 务逻辑进行标准化处理。
③修改javaDemo工程的中的Input.java文件,根据用户自己业 务需要,修改模型入参信息:增加/减少入参个数,入参类型必须是 List;自定义入参名称。
④修改javavDemo工程中的Output.java文件,根据用户自己业 务需要,修改模型出参信息:增加/减少出参个数,出参类型必须是 List;自定义出参名称。
⑤修改ApiController中的service方法中业务逻辑,根据用户自 己业务逻辑修改。
⑥-修改application.properties中的server.port值,此为服务启动 后的端口号,比如8888。
⑦部署启动服务。
⑧登录http://localhost:8888/swagger-ui/index.html测试。此地 址中的端口号8888即为步骤6中设定的。
⑨测试时,点击【Try it out】,输入请求内容,测试运行【Excute】。
其中,javaDemo工程为预先为用户提供Demo(模板或样例), 用户可以在Demo中根据自身需要调整参数和业务逻辑,实现需要的 功能。
2、针对Python语言的工业APP机理模型的封装
①下载依赖包,Demo依赖的几个包的版本需要注意下,先下载 Werkzeug 0.14.1版本依赖包,再下载flask依赖包。
②可根据需要,修改pythonDemo工程中的cofig/_init_.py文件, 修改联系人等信息。
③修改run.py中如下内容,根据用户自己业务需要,修改模型入 参信息。
parser.add_argument('input',required=True,location='json', default={'val1':[u'入参参数1'],'val2':[0]})
增加/减少入参个数,入参类型必须是List,长度保持一致;自定 义入参名称。
④修改run.py中output_model定义信息,根据用户自己业务需 要,修改模型出参信息。
output_model=api.model('output',{
'val1':fields.List(cls_or_instance=fields.String,description='出参参数1'),
'val2':fields.List(cls_or_instance=fields.Integer,description='出参参数2')
})
增加/减少出参个数,出参类型必须是List;自定义出参名称。
⑤修改run.py中def post中的业务逻辑,根据用户自己业务逻辑 修改。其中,用户业务逻辑指工业APP实现对应功能的相关业务逻 辑,用户可以根据自身工业APP的需求去调整业务逻辑。本发明实 施例提供的封装方法,用于对用户原有的业务逻辑进行标准化处理。
⑥修改config\_init_.py中的PORT值。
⑦部署启动服务。
⑧登录http://localhost:8888/api-docs测试,测试时,点击【Try it out】,输入请求内容,测试运行【Excute】。
其中,pythonDemo工程为预先为用户提供Demo(模板或样例), 用户可以在Demo中根据自身需要调整参数和业务逻辑,实现需要的 功能。
3、针对C#语言的工业APP机理模型的封装
①可根据需要,修改c#-demo工程中的App_Start文件夹下 SwaggerConfis.cs文件,修改联系人等信息。
②修改c#-demo工程中Models文件夹下的InputData.cs,根 据用户自己业务需要,修改模型入参信息。增加/减少入参个数,入 参类型必须是List;自定义入参名称;参数类型必须是public。
③修改c#-demo工程中的OutputData.cs,根据用户自己业务需 要,修改模型出参信息。增加/减少出参个数,出参类型必须是List; 自定义出参名称;参数类型必须是public。
④修改c#-demo工程中的serviceController.cs中的 ServiceProcess方法,根据用户自己业务逻辑修改。其中,用户业务 逻辑指工业APP实现对应功能的相关业务逻辑,用户可以根据自身 工业APP的需求去调整业务逻辑。本发明实施例提供的封装方法, 用于对用户原有的业务逻辑进行标准化处理。
⑤修改c#-demo工程属性中的web-项目URL信息中的端口 号。
⑥启动服务(实际部署服务可以采用IIS部署服务)。
⑦IIS中配置网站,直接点击“浏览*:8004”,默认浏览器会自 动打开http://localhost:8004/swagger/ui/index。
⑧测试时,点击【Try it out】,输入请求内容,测试运行【Excute】。
其中,c#-Demo工程为预先为用户提供Demo(模板或样例), 用户可以在Demo中根据自身需要调整参数和业务逻辑,实现需要的 功能。
4、针对C++语言的工业APP机理模型的封装
①可根据需要,修改c++-demo工程中的 src/SwaggerComponent.hpp文件,修改联系人等信息。
②修改c++-demo工程中的InputDto.hpp,根据用户自己业务需 要,修改模型入参信息。增加/减少入参个数,入参类型必须是List; 自定义入参名称。
③修改c++-demo工程中的OutputDto.hpp,根据用户自己业务 需要,修改模型出参信息。增加/减少出参个数,出参类型必须是List; 自定义出参名称。
④修改c++-demo工程中的ApiService.cpp中的service方法, 根据用户自己业务逻辑修改。其中,用户业务逻辑指工业APP实现 对应功能的相关业务逻辑,用户可以根据自身工业APP的需求去调 整业务逻辑。本发明实施例提供的封装方法,用于对用户原有的业务 逻辑进行标准化处理。
⑤部署服务端口申请,根据申请的服务端口修改 AppComponent.hpp中的8888端口值。
⑥使用管理员权限,根据文件install-oatpp-modules.bat中命令, 编译工程。
⑦启动服务程序build\Debug\cDemo-exe.exe。
⑧登录http://localhost:8888/swagger/ui。
⑨测试时,点击【Try it out】,输入请求内容,测试运行【Excute】。
其中,c++-Demo工程为预先为用户提供Demo(模板或样例), 用户可以在Demo中根据自身需要调整参数和业务逻辑,实现需要的 功能。
5、针对MATLAB.m语言的工业APP机理模型的封装
①m文件转Jar文件:保证MATLAB内置的Java版本和系 统的Java版本一致性;准备一份要调用的Matlab代码,将Matlab 代码打包成Jar包。
②在Matlab命令行窗口输入deploytool指令,唤起打包部署 工具,配置打包类型、包名、类名;选择待打包的M的文件,等 待打包完成。
③环境配置:需添加两个Jar包到Java项目中,Matlab安装 目录下的Jar 包:...\MATLAB\R2017a\toolbox\javabuilder\jar\javabuilder.jar,前面M 文件生成的Jar包:...\add\for_redistribution_files_only\add.jar。
④同时运行时,需要安装Matlab Compiler Runtime(MCR),运行MCRInstaller.exe,该插件无需授权,可免费试用。例如: MATLAB_Runtime_R2019b_Update_7_win64.zip。
⑤可根据需要,修改mJavaDemo工程中的Application.java文 件,修改联系人等信息。
⑥修改mJavaDemo工程中的ModelService.java文件,根据用 户自己业务逻辑修改。
⑦修改mJavaDemo工程的中的Input.java根据用户自己业务 需要,修改模型入参信息。增加/减少入参个数,入参类型必须是List; 自定义入参名称。
⑧修改mJavaDemo工程中的Output.java根据用户自己业务 需要,修改模型出参信息。增加/减少出参个数,出参类型必须是List; 自定义出参名称。
⑨修改ApiController中的service方法中业务逻辑,根据用户 自己业务逻辑修改。其中,用户业务逻辑指工业APP实现对应功能 的相关业务逻辑,用户可以根据自身工业APP的需求去调整业务逻 辑。本发明实施例提供的封装方法,用于对用户原有的业务逻辑进行 标准化处理。
⑩部署服务端口申请,根据申请的服务端口修改 application.properties中的server.port值。
其中,mJavaDemo工程为预先为用户提供Demo(模板或样例), 用户可以在Demo中根据自身需要调整参数和业务逻辑,实现需要的 功能。
步骤S200,响应于接收用户选择的编程语言,判断是否已部署 对应环境;若已部署对应环境,则选择对应环境进行自动部署操作; 若未部署对应环境,则基于对应编程语言镜像,通过CMP创建对应 环境。
具体的,开发人员封装好的工业APP机理模型在上次页面上传 时,将选择对应自己开发模型的编程语言去选择部署环境,接收到用 户选择的部署环境后,判断是否已部署对应环境。若已部署对应环境, 则选择对应环境进行自动部署操作;若未部署对应环境,则基于对应 编程语言镜像,通过CMP(Cloud management platforms,云管理平 台)创建环境。目前支持自动部署的语言包括但不限于Python、Java、 matlab、C++、C#、Excel、FMU。
步骤S300,响应于接收到的自动部署操作,执行工业APP机理 模型自动部署。
具体的,执行工业APP机理模型自动部署的具体步骤包括:
步骤S310,调用CMP接口创建账号。
本发明实施例提出通过CMP接口创建账号,通过后台执行,对 于用户是无感的,并且无需用户知道账号,可以便捷用户的使用,同 时更方便本发明实施例对机理模型自动部署的管理。
步骤S320,为账号创建带有对应编程语言的自动部署服务的运 行虚拟机。
具体的,创建账号之后,系统根据编程语言类别创建带有对应编 程语言的自动部署服务的镜像的运行虚拟机。优选的,一个用户一种 编程语言创建一个虚拟机即可,也就是一个用户的同种编程语言的机 理模型在一个虚拟机上部署。
步骤S330,通过模型注册信息调用自动部署服务进行注册。
具体的,模型注册信息包括账号ID、虚拟机IP、封装的工业APP 机理模型。调用自动部署服务进行注册的过程包括:虚拟机部署完毕 后,自动部署服务接收用户上传的封装好的工业APP机理模型,根 据机理模型需要的依赖环境requirements.txt进行依赖包下载,创建模 型所需的运行环境,根据模型然后根据不同语言的启动脚本启动模型, 在模型启动后根据启动后的swagger地址获取API文件,从而调用 websim组件注册接口,返回部署注册结果,实现模型的自动部署。
完成自动部署后,注册后的模型即可在工业APP集成开发平台 上实现被调用和集成。封装模型通过自动部署程序的部署可以实现模 型在集成开发环境的集成与调用。
由C++、C#、JAVA、Python、MATLAB.m等多种语言编写的模 型经过封装后,无法直接被工业APP集成开发平台所调用,本发明 提出了将封装后的机理模型进行自动部署的技术方案,即开发自动部 署的执行程序,将各语言的模型创建带有对应语言的exe服务的镜像的运行虚机环境,虚拟机搭建之后,exe执行程序进行上传文件,实 现部署和启动和依赖包下载,之后.exe执行程序调用集成开发环境的 机理模型注册接口,即可实现多语言模型的自动部署,从而在集成开 发环境中调用模型,进而将所需的机理模型拖拽到集成开发环境中, 开发自己所需的工业APP。
本发明实施例通过开发统一的封装标准能够有序、规范、高效的 对工业工业APP机理模型进行收集和规范,方便机理模型开发者选 择用自己最熟悉、最了解的语言来机理模型的编写,OpenAPI的封装 标准既方便开发者学习和阅读,也方便机器阅读。能够解决不同种语 言进行统一标准封装的问题。加速了汽车行业工业知识的沉淀、传播、 复用与价值创造,有效促进汽车行业转型升级。通过开发机理模型自 动部署程序,可以实现模型在集成开发环境的集成与调用,打通机理 模型和集成开发环境的上下游壁垒,免去了手动部署开发者不同语言 的机理模型的工作,无需对自己开发的模型进行虚拟机搭建、镜像和 运行,节省了手动部署的繁琐步骤,由程序替代,节省开发者部署虚 拟机的时间。实现多语言模型的自动部署,从而在集成开发环境中调 用模型,进而将所需的机理模型拖拽到集成开发环境中,开发自己所 需的工业APP。
结合图2,本发明实施例还提出一种工业APP机理模型部署装置, 包括模型接收模块410,环境检测模块420,自动部署服务模块430。
模型接收模块,接收用户上传的基于OpenAPI规范封装的工业 APP机理模型,其中,机理模型基于多种编程语言开发;
环境检测模块,响应于接收用户选择的编程语言,判断是否已部 署对应环境;若已部署对应环境,则选择对应环境进行自动部署操作; 若未部署对应环境,则基于对应编程语言镜像,通过CMP创建对应 环境;
自动部署服务模块,响应于接收到的自动部署操作,执行工业 APP机理模型自动部署。
可选的,多种编程语言包括Python、Java、matlab、C++、C#、 Excel、FMU。
可选的,针对多编程语言的工业APP机理模型的封装过程包括: 修改Demo工程中的联系人信息、模型入参信息、模型出参信息、业 务逻辑中的一个或多个;对修改后的Demo工程执行测试,测试通过 后,完成针对对应编程语言的工业APP机理模型的封装过程。
可选的,执行工业APP机理模型自动部署的步骤包括:调用CMP 接口创建账号;为账号创建带有对应编程语言的自动部署服务的运行 虚拟机;通过模型注册信息调用自动部署服务进行注册。
可选的,创建运行虚拟机时为用户同一类别的编程语言创建一个 虚拟机。
可选的,模型注册信息包括账号ID、虚拟机IP、封装的工业APP 机理模型。
可选的,调用自动部署服务进行注册的过程包括:虚拟机部署完 毕后,自动部署服务接收用户上传的封装好的工业APP机理模型, 根据机理模型需要的依赖环境requirements.txt进行依赖包下载,创建 模型所需的运行环境,根据模型然后根据不同语言的启动脚本启动模 型,在模型启动后根据启动后的swagger地址获取API文件,从而调用websim组件注册接口,返回部署注册结果,实现模型的自动部署。
图4为本发明实施例提供的一种电子设备的结构示意图,如图4 所示,该设备包括处理器50、存储器51、输入装置52和输出装置 53;设备中处理器50的数量可以是一个或多个,图4中以一个处理 器50为例;设备中的处理器50、存储器51、输入装置52和输出装 置53可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、 计算机可执行程序以及模块,如本发明实施例中的动态场景数据的导 入方法对应的程序指令/模块(例如,动态场景数据的导入装置中的 属性获取模块410,查找模块420,数据获取模块430,填充模块440 和导入模块450)。处理器50通过运行存储在存储器51中的软件程 序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即 实现上述的动态场景数据的导入方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程 序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可 存储根据终端的使用所创建的数据等。此外,存储器51可以包括高 速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘 存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中, 存储器51可进一步包括相对于处理器50远程设置的存储器,这些远 程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互 联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或字符信息,以及产生与设 备的用户设置以及功能控制有关的键信号输入。输出装置53可包括 显示屏等显示设备。
本实施例还提供了一种介质,所述介质上存储有计算机指令,所 述计算机指令用于使所述计算机执行上述的计算方法。该介质可使计 算机执行上述计算方法,因而具有计算准确率高和成本低的优点。
本发明中的介质,可以采用一个或多个计算机可读的介质的任意 组合。介质可以是计算机可读信号介质或者计算机可读存储介质。计 算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、 或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存 储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线 的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只 读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、 便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以 是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装 置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分 传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数 据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的 任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介 质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或 者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的 程序。
介质上包含的程序代码可以用任何适当的介质传输,包括但不限 于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申 请操作的计算机程序代码,程序设计语言包括面向对象的程序设计语 言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言 —诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用 户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件 包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在 远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算 机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连 接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服 务提供商来通过因特网连接)。
应该理解的是,可以使用上面所示的各种形式的流程,重新排序、 增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也 可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的 技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域 技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修 改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修 改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种工业APP机理模型部署方法,其特征在于,包括以下步骤:
接收用户上传的基于OpenAPI规范封装的工业APP机理模型,其中,机理模型基于多种编程语言开发;
响应于接收用户选择的编程语言,判断是否已部署对应环境;若已部署对应环境,则选择对应环境进行自动部署操作;若未部署对应环境,则基于对应编程语言镜像,通过CMP创建对应环境;
响应于接收到的自动部署操作,执行工业APP机理模型自动部署。
2.根据权利要求1所述的方法,其特征在于,多种编程语言包括Python、Java、matlab、C++、C#、Excel、FMU。
3.根据权利要求2所述的方法,其特征在于,针对多编程语言的工业APP机理模型的封装过程包括:修改Demo工程中的联系人信息、模型入参信息、模型出参信息、业务逻辑中的一个或多个;对修改后的Demo工程执行测试,测试通过后,完成针对对应编程语言的工业APP机理模型的封装过程。
4.根据权利要求1所述的方法,其特征在于,执行工业APP机理模型自动部署的步骤包括:调用CMP接口创建账号;为账号创建带有对应编程语言的自动部署服务的运行虚拟机;通过模型注册信息调用自动部署服务进行注册。
5.根据权利要求4所述的方法,其特征在于,创建运行虚拟机时为用户同一类别的编程语言创建一个虚拟机。
6.根据权利要求4所述的方法,其特征在于,模型注册信息包括账号ID、虚拟机IP、封装的工业APP机理模型。
7.根据权利要求6所述的方法,其特征在于,调用自动部署服务进行注册的过程包括:虚拟机部署完毕后,自动部署服务接收用户上传的封装好的工业APP机理模型,根据机理模型需要的依赖环境requirements.txt进行依赖包下载,创建模型所需的运行环境,模型根据不同语言的启动脚本启动模型,在模型启动后根据启动后的swagger地址获取API文件,从而调用websim组件注册接口,返回部署注册结果,实现模型的自动部署。
8.一种工业APP机理模型部署装置,其特征在于,包括:
模型接收模块,接收用户上传的基于OpenAPI规范封装的工业APP机理模型,其中,机理模型基于多种编程语言开发;
环境检测模块,响应于接收用户选择的编程语言,判断是否已部署对应环境;若已部署对应环境,则选择对应环境进行自动部署操作;若未部署对应环境,则基于对应编程语言镜像,通过CMP创建对应环境;
自动部署服务模块,响应于接收到的自动部署操作,执行工业APP机理模型自动部署。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的工业APP机理模型部署方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的工业APP机理模型部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110451152.3A CN113515263B (zh) | 2021-04-26 | 2021-04-26 | 工业app机理模型部署方法、装置、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110451152.3A CN113515263B (zh) | 2021-04-26 | 2021-04-26 | 工业app机理模型部署方法、装置、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515263A true CN113515263A (zh) | 2021-10-19 |
CN113515263B CN113515263B (zh) | 2022-06-17 |
Family
ID=78063479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110451152.3A Active CN113515263B (zh) | 2021-04-26 | 2021-04-26 | 工业app机理模型部署方法、装置、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515263B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546530A (zh) * | 2022-02-25 | 2022-05-27 | 博锐尚格科技股份有限公司 | 一种大数据的加载方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718251A (zh) * | 2014-12-03 | 2016-06-29 | 苏宁云商集团股份有限公司 | 多语言sdk自动化实现方法及系统 |
US20190386877A1 (en) * | 2018-06-15 | 2019-12-19 | Vmware, Inc. | Hierarchical api for a sddc |
CN111399825A (zh) * | 2020-03-17 | 2020-07-10 | 四川研宝科技有限公司 | 一种基于api文档的api接口开发管理方法及系统 |
CN111930635A (zh) * | 2020-09-17 | 2020-11-13 | 深圳微品致远信息科技有限公司 | 基于swagger快速自动化测试的方法及系统 |
CN112230893A (zh) * | 2020-10-16 | 2021-01-15 | 北京中船信息科技有限公司 | 面向船舶制造的多种工业机理模型一站式构建系统及方法 |
CN112306464A (zh) * | 2020-10-14 | 2021-02-02 | 中国科学院沈阳自动化研究所 | 利用数字孪生体实现工业场景下信息物理融合方法和系统 |
CN112380145A (zh) * | 2021-01-15 | 2021-02-19 | 树根互联技术有限公司 | Sdk生成方法、装置、设备及可读存储介质 |
CN112600891A (zh) * | 2020-12-07 | 2021-04-02 | 中科蓝智(武汉)科技有限公司 | 一种基于信息物理融合的边云协同系统及工作方法 |
CN112612452A (zh) * | 2020-12-18 | 2021-04-06 | 华人运通(上海)云计算科技有限公司 | 一种api平台实现方法、装置、设备及存储介质 |
-
2021
- 2021-04-26 CN CN202110451152.3A patent/CN113515263B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718251A (zh) * | 2014-12-03 | 2016-06-29 | 苏宁云商集团股份有限公司 | 多语言sdk自动化实现方法及系统 |
US20190386877A1 (en) * | 2018-06-15 | 2019-12-19 | Vmware, Inc. | Hierarchical api for a sddc |
CN111399825A (zh) * | 2020-03-17 | 2020-07-10 | 四川研宝科技有限公司 | 一种基于api文档的api接口开发管理方法及系统 |
CN111930635A (zh) * | 2020-09-17 | 2020-11-13 | 深圳微品致远信息科技有限公司 | 基于swagger快速自动化测试的方法及系统 |
CN112306464A (zh) * | 2020-10-14 | 2021-02-02 | 中国科学院沈阳自动化研究所 | 利用数字孪生体实现工业场景下信息物理融合方法和系统 |
CN112230893A (zh) * | 2020-10-16 | 2021-01-15 | 北京中船信息科技有限公司 | 面向船舶制造的多种工业机理模型一站式构建系统及方法 |
CN112600891A (zh) * | 2020-12-07 | 2021-04-02 | 中科蓝智(武汉)科技有限公司 | 一种基于信息物理融合的边云协同系统及工作方法 |
CN112612452A (zh) * | 2020-12-18 | 2021-04-06 | 华人运通(上海)云计算科技有限公司 | 一种api平台实现方法、装置、设备及存储介质 |
CN112380145A (zh) * | 2021-01-15 | 2021-02-19 | 树根互联技术有限公司 | Sdk生成方法、装置、设备及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546530A (zh) * | 2022-02-25 | 2022-05-27 | 博锐尚格科技股份有限公司 | 一种大数据的加载方法、装置、设备及介质 |
CN114546530B (zh) * | 2022-02-25 | 2023-10-24 | 博锐尚格科技股份有限公司 | 一种大数据的加载方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113515263B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7371141B2 (ja) | リアルタイムデータフロープログラミング言語のためのツールおよび方法 | |
US10108535B2 (en) | Web application test script generation to test software functionality | |
CN112270149B (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
US20050240917A1 (en) | Software configuration program for software applications | |
CN110347378A (zh) | 项目开发环境的搭建方法及装置 | |
CN107301137A (zh) | Rset接口实现方法和装置及电子设备和计算机可读存储介质 | |
CN112148278A (zh) | 可视化的区块链智能合约框架及智能合约开发部署方法 | |
CN115407977A (zh) | 一种信息编译方法、装置、设备及计算机可读存储介质 | |
CN113553035A (zh) | 一种通用的前端ui组件库的设计和构建方法 | |
CN113515263B (zh) | 工业app机理模型部署方法、装置、设备和可读存储介质 | |
CN111752841A (zh) | 单测模拟方法、装置、设备与计算机可读存储介质 | |
CN115454417A (zh) | web前端项目搭建方法 | |
US8700374B1 (en) | System and method of using an active link in a state programming environment to locate an element in a graphical programming environment | |
CN116166907B (zh) | 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置 | |
CN109062548B (zh) | 一种基于工作流搭建的Web服务扩展方法及系统 | |
Mongiello et al. | AC-contract: Run-time verification of context-aware applications | |
CN114297088A (zh) | 前端vue框架组件的测试方法、装置、设备及介质 | |
KR101684454B1 (ko) | 하이브리드 애플리케이션 및 이의 이벤트 처리 방법 | |
Saadatmand | Towards automating integration testing of. NET applications using Roslyn | |
CN110633077A (zh) | 一种基于模块化的快速开发系统及方法 | |
Phan | Ionic 2 Cookbook | |
CN115858397B (zh) | App自动化测试方法、装置及自动化测试系统 | |
Pereira et al. | Development of self-diagnosis tests system using a DSL for creating new test suites for integration in a cyber-physical system | |
Utting et al. | Specification and validation of the MODAM module manager | |
Abbruzzese | Hands-On TypeScript for C# and. NET Core Developers: Transition from C# to TypeScript 3.1 and build applications with ASP. NET Core 2 |
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 |