一种基于云原生微服务的模型开发与部署方法与流程

文档序号:28598946发布日期:2022-01-22 10:55阅读:159来源:国知局
一种基于云原生微服务的模型开发与部署方法与流程

1.本发明涉及一种基于云原生微服务的模型开发与部署方法,属于工业数字化转型技术领域。


背景技术:

2.工业机理模型、数据驱动模型是工业生产内部的核心,依靠有效的模型能够更合理、优化地安排、控制生产过程,提高生产质量、增强生产效率、降低成本。大部分模型具有较强的专业性,需要相关专业人才开发。然而,一般中小型企业没有自己的专业开发团队,机理模型、数据模型的使用受到严重的限制。
3.专利《基于云环境的交互式模型开发环境系统和方法》,提供一种基于云环境的交互模式模型开发环境系统,基于hdfs和spark计算架构,通过ipython交互式编程界面,完成开发环境的搭建。通过该发明,用户不需要关心大数据集群复杂的调度、优化、配置等,但是该工具的使用门槛相对较高,必须具备大数据开发的基础,会大数据相关编程才能使用该工具。
4.专利《一种智能模型开发方法和智能控制方法》,基于算法组件进行算法模型开发和智能控制,算法组件列表里包括丰富的算法组件,但是该专利中的模型开发与智能控制耦合度高,数据源在模型开发时就锁定了,同一个模型无法实例化多次,应用于多个对象中。
5.专利《一种基于云原生微服务架构的自助式可视化数据分析方法》,包括数据层、处理层、分析层和应用展现层,该发明提供组件化或事件化交互,通过简单的页面、步骤,生成可视化数据模型,在应用层实现多端展示。但是该发明在处理层、分析层不具备人工智能相关的模型训练环境、同时也不提供自定义开发算子环境。
6.以上专利开发模型的方式,模型与实际应用时的数据密切绑定的,无法实现模型的快速便捷多次复用,无法有效快速应对工业场景中,模型需求相同,但是设备数据源不同时,无法快速将一个机理模型实例化多次,应用在多个对象上。另外,传统的web开发模型为单体式开发,该方法开发都在同一个项目改代码效率低、难维护,而微服务架构恰恰弥补了单体架构的不足,通过有效的拆分应用,实现敏捷开发和部署。


技术实现要素:

7.本发明要解决的技术问题是:机理模型具有较强的专业性,需要相关专业人才开发。然而,一般中小型企业没有自己的专业开发团队,由于缺乏专业支撑,机理模型的开发环境、开发方法以及使用受到严重的限制。。
8.为了解决上述技术问题,本发明的技术方案是提供了一种基于云原生微服务的模型开发与部署方法,其特征在于,包括以下步骤:
9.步骤1、在模型信息管理模块创建模型文件夹,在模型文件夹内创建不同的模型文件以设置相应的基础数据信息;
10.步骤2、利用模型开发模块为用户提供开发机理模型的环境,模型开发模块内嵌机理模型模板、开发组件和数据源,其中:开发组件包括通用算法组件,典型行业机理模型组件以及用户自定义组件;数据源用于调试、训练、测试用户创建好的机理模型;
11.步骤3、用户以拖拉拽的方式将机理模型模板和/或开发组件拖入模型开发模块提供的建模区域,将机理模型模板与用户选中的开发组件进行串并联完成机理模型的开发,或者将用户选中的开发组件进行串并联完成机理模型的开发,或者直接选中机理模型模板完成机理模型的开发;
12.步骤4、用户完成机理模型的开发后,利用模型测试验证模块实现对机理模型的在线测试;进行在线测试时,用户首先完成模型输入参数的设置,随后通过模型测试验证模块验证输入、输出是否满足机理模型设定的条件,如果不满足,则迭代调整设置;
13.机理模型通过测试验证后,开发完毕;
14.步骤5、利用模型实例服务管理模块完成机理模型的运行、部署和管理,具体包括以下步骤:
15.步骤501、将机理模型及其相关的配置文件存储在模型库中,其中,配置文件包括模型文件、项目依赖文件requirements.txt、构建镜像文本文件dockerfile等,其中,项目依赖文件requirements.txt是模型运行依赖环境配置文件;构建镜像文本文件dockerfile是用来构建镜像的文本文件,内容包含了一条条构建镜像所需的指令和说明,在编写镜像文本文件dockerfile时,镜像文本文件dockerfile中的命令要能复现整个环境配置过程;
16.步骤502、改写镜像文本文件dockerfile中的模型运行依赖环境配置,将其指向项目依赖文件requirements.txt;
17.步骤503、在镜像文本文件dockerfile的存放目录下,通过执行docker build命令来构建模型镜像,docker build命令执行后,根据项目依赖文件requirements.txt中的配置下载和安装运行模型所需要的依赖环境,模型镜像构建成功后,存储在镜像仓中;
18.步骤504、用户利用模型实例服务管理模块选择目标机理模型,模型实例服务管理模块从镜像仓库中拉取对应的模型镜像;
19.在本步骤中,为了提高操作的便捷性,选择目标机理模型后,目标机理模型的输入输出端口以接口列表的形式呈现在用户界面上,然后将输入、输出端口所对应的输入、输出参数点与根据实际设备建立的设备模型的参数点绑定在一起,建立外部输入数据源与目标机理模型的输入参数以及目标机理模型的输出与外部数据源的映射关系;然后将目标机理模型的输入输出端口的参数接口配置信息添加到参数信息配置文件argumentrequirements.txt中;
20.步骤505、改写镜像文本文件dockerfile中的模型运行依赖环境配置,将其指向参数信息配置文件argumentrequirements.txt;
21.步骤506、在镜像文本文件dockerfile的存放目录下,通过执行docker build命令来构建新的模型镜像,docker build命令执行后,根据参数信息配置文件argumentrequirements.txt中的设置进行接口配置,形成新的模型镜像;
22.步骤507、新的模型镜像产生后,选择模型在边缘侧或者云端运行:
23.若选择模型在云端运行,则基于步骤506得到的新的模型镜像启动一个新容器,生成容器实例,从而将模型部署在容器中并使其开始在该容器环境中运行;
24.若选择在边缘侧运行,则将步骤506得到的新的模型镜像和目标机理模型的输入输出端口的参数接口配置信息一起下发至边缘侧运行,边缘侧为边缘侧平台或者边缘侧网关。
25.优选的,步骤1中,所述基础数据信息包括模型的元数据、模型的接口数据以及模型的协议数据。
26.优选的,步骤2中,用户可以基于web端直接在线开发算子,随后对算子进行在线编译调试,调试成功后的算子被封装成组件,作为用户自定义组件;用户也可以在本地开发算子,并在本地完成算子的编译调试后,将其上传至模型开发模块,由模型开发模块将接收到的算子封装为组件,作为用户自定义组件。
27.优选的,步骤3中,将仅由开发组件组成的机理模型定义为单体模型,用户完成单体模型的开发后可以将该单体模型二次封装为一个新的机理模型模板内嵌于模型开发模块中,由单体模型与单体模型或者单体模型与组件串并联形成的新模型定义为组合模型。
28.优选的,用户在开发机理模型的过程中可以点击机理模型模板以查看其内部的开发组件构成。
29.优选的,在机理模型进行测试运行时,点击机理模型中的任一开发组件和/或机理模型模板均可查看其输入、输出状态,以便于查看中间结果以及当中间结果出现问题时及时合理地定位问题点。
30.本发明提供了一种用于工业互联网的机理模型快速开发部署方法,集建模、编译、调试、实例化、部署为一体的综合性方法。本发明内嵌丰富的模型应用模板、组件,支持自定义开发,一般开发人员可以基于内嵌的模型模板、组件快速开发自己的机理模型,基于容器化技术快速部署应用自己的机理模型,实现知识共享、提高知识复用率、开发效率,并可快速基于微服务与工业互联网的其他系统或者平台无缝整合。
31.与现有技术相比,本发明具体具有如下优点:
32.1)根据本发明提供的技术方案,为中小型企业、机理模型开发者、机理模型应用工程师提供了一种可便捷开发、部署应用的基于云原生微服务架构的模型开发部署系统和方法;
33.2)本发明内嵌专业的丰富的模型模板库、组件库,一般的机理模型可直接基于组件库、模板库完成建立,降低了模型开发的难度,降低了开发门槛和工作强度;
34.3)本发明提供的模型实例化方法,当工业场景所需的模型原理或者规则相同时,可以通过复制模型镜像,基于模型镜像通过接口信息绑定不同的数据源,基于此构建容器,进行重复实例化,实现模型的重复复用,降低开发工作量;
35.4)本发明的模型基于容器进行部署运行,其优势在于,使用容器消除了模型开发与模型运行的环境差异,保证了应用生命周期的环境一致性标准化;并且基于容器开发和运行,其适配性更强,可以跨平台部署,越来越多的云平台都支持容器,用户无需担心受到云平台的捆绑;
36.5)本发明提供的实例方法,在进行实例化部署时,可视实际需求,将模型实例部署在云端运行或者边缘侧运行,在边缘侧运行进行边缘计算时反应能力更快,并且将一部分数据在边缘侧处理掉后,可以减缓云端存储、计算的压力。
附图说明
37.图1为基于云原生微服务架构的模型开系统功能框架图;
38.图2为模型开发流、及实例化部署应用流程。
具体实施方式
39.下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所附权利要求书所限定的范围。
40.本发明旨在降低开发门槛、开发量,为机理模型、数据驱动模型开发者和使用者提供易开发、快部署的web端开发、部署使用方法,为此本发明为中小型企业提供了一种基于云原生微服务架构的模型开发与部署方法,降低开发门槛,提高开发和应用效率。
41.本发明提供的方法具体包括以下步骤:
42.步骤1、在模型信息管理模块创建模型文件夹,在模型文件夹内创建不同的模型文件以设置相应的基础数据信息,该基础数据信息包括模型的元数据、模型的接口数据以及模型的协议数据。
43.步骤2、利用模型开发模块为用户提供开发机理模型的环境,模型开发模块内嵌机理模型模板、开发组件和数据源,其中:开发组件包括数据处理、机器学习、深度学习等通用算法组件,电机、电气、能源等典型行业机理模型组件以及用户自定义组件;用户可以基于web端直接在线开发算子,本发明支持python、java、matlab、r等常用模型开发语言,随后对算子进行在线编译调试,调试成功后的算子被封装成组件,作为用户自定义组件;用户也可以在本地开发算子,并在本地完成算子的编译调试后,将其上传至模型开发模块,由模型开发模块将接收到的算子封装为组件,作为用户自定义组件;
44.数据源包括模拟数据、本地上传数据、数据库数据等,主要用于调试、训练、测试用户创建好的模型。
45.步骤3、用户以拖拉拽的方式将机理模型模板和/或开发组件拖入模型开发模块提供的建模区域,将机理模型模板与用户选中的开发组件进行串并联完成机理模型的开发,或者将用户选中的开发组件进行串并联完成机理模型的开发,或者直接选中机理模型模板完成机理模型的开发;
46.将仅由开发组件组成的机理模型定义为单体模型,由单体模型和单体模型或者单体模型与组件组成的机理模型定义为组合模型用户完成单体模型的开发后可以将该单体模型二次封装为一个新的机理模型模板内嵌于模型开发模块中;
47.用户在开发机理模型的过程中可以点击机理模型模板以查看其内部的开发组件构成。
48.步骤4、用户完成机理模型的开发后,利用模型测试验证模块实现对机理模型的在线测试;进行在线测试时,用户首先完成模型输入参数的设置,随后通过模型测试验证模块验证输入、输出是否满足机理模型设定的条件,如果不满足,则迭代调整设置;
49.在机理模型进行测试运行时,点击机理模型中的任一开发组件和/或机理模型模板均可查看其输入、输出状态,以便于查看中间结果以及当中间结果出现问题时及时合理
地定位问题点;
50.机理模型通过测试验证后,开发完毕。
51.步骤5、利用模型实例服务管理模块完成机理模型的运行、部署和管理,具体包括以下步骤:
52.为了在机理模型实例化时,减少初始化配置环境的时间,在机理模型开发完成后,构建模型基础镜像,生成配置好机理模型计算所需环境的镜像,并存储在云资源的容器镜像仓库中,构建镜像文件过程为:
53.步骤501、将机理模型及其相关的配置文件存储在模型库中,其中,配置文件包括模型文件、项目依赖文件requirements.txt、构建镜像文本文件dockerfile等,其中,项目依赖文件requirements.txt是模型运行依赖环境配置文件;构建镜像文本文件dockerfile是用来构建镜像的文本文件,内容包含了一条条构建镜像所需的指令和说明,在编写镜像文本文件dockerfile时,镜像文本文件dockerfile中的命令要能复现整个环境配置过程;
54.步骤502、改写镜像文本文件dockerfile中的模型运行依赖环境配置,将其指向项目依赖文件requirements.txt;
55.步骤503、在镜像文本文件dockerfile的存放目录下,通过执行docker build命令来构建模型镜像,docker build命令执行后,根据项目依赖文件requirements.txt中的配置下载和安装运行模型所需要的依赖环境,模型镜像构建成功后,存储在镜像仓中;
56.步骤504、用户利用模型实例服务管理模块选择目标机理模型,模型实例服务管理模块从镜像仓库中拉取对应的模型镜像;
57.在本步骤中,为了提高操作的便捷性,选择目标机理模型后,目标机理模型的输入输出端口以接口列表的形式呈现在用户界面上,然后将输入、输出端口所对应的输入、输出参数点与根据实际设备建立的设备模型的参数点绑定在一起,建立外部输入数据源与目标机理模型的输入参数以及目标机理模型的输出与外部数据源的映射关系,其中,设备模型预先存储在iot数据库中;然后将目标机理模型的输入输出端口的参数接口配置信息添加到参数信息配置文件argumentrequirements.txt中;
58.步骤505、改写镜像文本文件dockerfile中的模型运行依赖环境配置,将其指向参数信息配置文件argumentrequirements.txt;
59.步骤506、在镜像文本文件dockerfile的存放目录下,通过执行docker build命令来构建新的模型镜像,docker build命令执行后,根据参数信息配置文件argumentrequirements.txt中的设置进行接口配置,形成新的模型镜像;
60.步骤507、新的模型镜像产生后,选择模型在边缘侧或者云端运行:
61.若选择模型在云端运行,则基于步骤506得到的新的模型镜像启动一个新容器,生成容器实例,从而将模型部署在容器中并使其开始在该容器环境中运行;
62.若选择在边缘侧运行,则将步骤506得到的新的模型镜像和目标机理模型的输入输出端口的参数接口配置信息一起下发至边缘侧运行,边缘侧为边缘侧平台或者边缘侧网关。
63.当工业场景所需的模型原理或者规则相同时,可以通过复制镜像仓库中的模型镜像,基于模型镜像通过接口配置绑定不同的数据源,构建新的模型镜像,然后基于新的模型镜像建立容器实例,进行重复实例化,实现模型的重复复用,降低开发工作量。为了保证模
型实例与实例之间的独立性,以及以防单个实例运行错误影响到其他的实例,在本发明中,每次建立模型实例时都基于新的模型镜像建立新的独立的容器。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1