CN112346750B - 组态软件控制方法、系统和存储介质 - Google Patents
组态软件控制方法、系统和存储介质 Download PDFInfo
- Publication number
- CN112346750B CN112346750B CN202011278636.4A CN202011278636A CN112346750B CN 112346750 B CN112346750 B CN 112346750B CN 202011278636 A CN202011278636 A CN 202011278636A CN 112346750 B CN112346750 B CN 112346750B
- Authority
- CN
- China
- Prior art keywords
- node
- application instance
- target
- end node
- edge
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提出一种组态软件控制方法、系统和存储介质,涉及工业控制技术领域。本公开的一种组态软件控制方法,包括:确定运行目标应用实例的端节点,作为目标端节点;目标端节点根据目标应用实例的索引信息获取对应的容器镜像,其中,应用实例封装成容器镜像并存储于云节点;目标端节点基于容器镜像部署目标应用实例的容器;目标端节点运行目标应用实例。通过这样的方法,应用实例的容器镜像存储于云端,端节点能够通过从云端获取镜像并部署容器的方式,实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
Description
技术领域
本公开涉及工业控制技术领域,特别是一种组态软件控制方法、系统和存储介质。
背景技术
在工业生产过程中,需要在不同的节点部署不同的软件控制设备的运行。相关技术中,组态软件可以通过单机开发,在完成开发、测试后,将应用软件固化在硬件设备上,成为设备出厂设置的一部分。
发明内容
本公开的一个目的在于提高工业控制部署的灵活度。
根据本公开的一些实施例的一个方面,提出一种组态软件控制方法,包括:确定运行目标应用实例的端节点,作为目标端节点;目标端节点根据目标应用实例的索引信息获取对应的容器镜像,其中,应用实例封装成容器镜像并存储于云节点;目标端节点基于容器镜像部署目标应用实例的容器;目标端节点运行目标应用实例。
在一些实施例中,组态软件控制方法还包括:在确定目标端节点后,暂停运行或删除目标端节点当前运行的应用实例的容器,以便部署目标应用实例的容器并运行。
在一些实施例中,端节点通过边缘节点与云节点连接。
在一些实施例中,根据目标应用实例的标识获取对应的容器镜像包括:目标端节点在连接的边缘节点查找目标应用实例对应的容器镜像;在查找到对应的容器镜像的情况下,目标端节点从边缘节点获取容器镜像;在未查找到对应的容器镜像的情况下,目标端节点经边缘节点从云节点获取容器镜像,并在边缘节点备份。
在一些实施例中,端节点包括生产端节点和仿真端节点,边缘节点包括生产边缘节点和仿真边缘节点;生产端节点通过生产边缘节点与云节点连接;和,仿真端节点通过仿真边缘节点与云节点连接。
在一些实施例中,目标端节点包括目标生产端节点和目标仿真端节点;组态软件控制方法还包括:生产边缘节点获取目标生产端节点的运行状态信息并上报云节点,运行状态信息包括资源配置、启动、停止、资源消耗、故障、测试或运行数据中的一项或多项;仿真边缘节点通过云节点获取目标生产端节点的运行状态信息,并通过数字孪生同步至目标仿真端节点。
在一些实施例中,组态软件控制方法还包括:仿真边缘节点获取目标仿真端节点的运行状态信息并上报云节点,以便云节点分析预测目标生产端节点的运行状态。
在一些实施例中,组态软件控制方法还包括:云节点获取控制参数,发送给目标端节点连接的边缘节点;边缘节点根据控制参数配置目标端节点上目标应用实例的容器。
在一些实施例中,组态软件控制方法还包括:云节点、边缘节点和端节点将各自的运行状态信息上报至区块链。
在一些实施例中,组态软件控制方法还包括以下至少一项:云节点通过边缘节点获取各个端节点的运行状态信息,基于预定机器学习算法评估对应的应用实例的性能;或边缘节点获取连接的各个端节点的运行状态信息,基于预定机器学习算法评估对应的应用实例的性能。
在一些实施例中,组态软件控制方法还包括:根据应用实例的性能的评估结果改变应用实例的生命周期状态,包括:将生命周期状态从仿真状态修改为可部署状态,或修改为注销或废弃状态。
在一些实施例中,应用实例的生命周期状态包括编码、仿真、可部署、注销和废弃;组态软件控制方法还包括以下至少一项:云节点跟踪记录每个应用实例的生命周期状态;边缘节点跟踪记录相连接的端节点上的应用实例的生命周期状态;或端节点记录自身运行的应用实例的生命周期状态。
在一些实施例中,组态软件控制方法还包括:云节点根据开发人员的编码操作生成应用实例;将应用实例封装成容器镜像,并存储于应用实例仓库;生成每个应用实例的索引信息,并与对应的容器镜像相关联。
在一些实施例中,组态软件控制方法还包括:云节点、边缘节点和端节点中的一种或多种获取身份认证信息;在认证成功的情况下,根据用户的身份等级确定用户能够调用的资源,资源包括应用实例对应的容器镜像、端节点、端节点的运行资源、边缘节点或边缘节点的运行资源中的一项或多项;记录并审核用户行为,生成用户行为数据;将用户行为数据上报区块链。
通过这样的方法,应用实例的容器镜像存储于云端,端节点能够通过从云端获取镜像并部署容器的方式,实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
根据本公开的一些实施例的一个方面,提出一种组态软件控制系统,包括:云节点,被配置为存储应用实例封装成的容器镜像;和端节点,被配置为在被选定为运行目标应用实例的目标端节点的情况下,根据目标应用实例的索引信息获取对应的容器镜像;基于容器镜像在自身部署目标应用实例的容器;运行目标应用实例。
在一些实施例中,组态软件控制系统还包括:边缘节点,位于云节点与一个或多个端节点之间。
在一些实施例中,端节点被配置为在被选定为运行目标应用实例的目标端节点的情况下,向边缘节点发送目标应用实例对应的容器镜像的查询请求;边缘节点,被配置为根据来自端节点的查询请求在自身存储空间中查找目标应用实例的容器镜像;在查找到情况下,向端节点反馈容器镜像;在未查找到的情况下,向云节点查询容器镜像;存储来自云节点的容器镜像,备份存储,并转发给发起查询请求的端节点。
在一些实施例中,端节点包括生产端节点和仿真端节点,边缘节点包括生产边缘节点和仿真边缘节点;生产端节点通过生产边缘节点与云节点连接;和,仿真端节点通过仿真边缘节点与云节点连接。
在一些实施例中,生产边缘节点被配置为获取生产端节点的运行状态信息并上报云节点,运行状态信息包括资源配置、启动、停止、资源消耗、故障、测试或运行数据中的一种或多种;仿真边缘节点被配置为通过云节点获取与自身连接的仿真端节点运行有相同应用实例的生产端节点的运行状态信息,并通过数字孪生同步至仿真端节点;生产端节点被配置为根据应用实例执行生产任务;仿真端节点被配置为根据应用实例仿真运行。
在一些实施例中,组态软件控制系统还包括:区块链,被配置为接收并存储来自云节点、边缘节点或端节点中至少一种的运行状态信息并存储。
根据本公开的一些实施例的一个方面,提出一种组态软件控制系统,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种组态软件控制方法。
这样的组态软件控制系统中,应用实例的容器镜像存储于云端,端节点能够通过从云端获取镜像并部署容器的方式,实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
根据本公开的一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种组态软件控制方法的步骤。
通过执行这样的计算机可读存储介质上的指令,能够将应用实例的容器镜像存储于云端,端节点能够通过从云端获取镜像并部署容器的方式,实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1为本公开的组态软件控制方法的一些实施例的流程图。
图2为本公开的组态软件控制方法的另一些实施例的流程图。
图3为本公开的组态软件控制方法的又一些实施例的流程图。
图4为本公开的组态软件控制系统的一些实施例的示意图。
图5为本公开的组态软件控制系统的另一些实施例的示意图。
图6为本公开的组态软件控制系统的又一些实施例的示意图。
图7为本公开的组态软件控制系统的再一些实施例的示意图。
图8为本公开的组态软件控制系统的另外一些实施例的示意图。
具体实施方式
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
本公开的组态软件控制方法的一些实施例的流程图如图1所示。
在步骤101中,确定运行目标应用实例的端节点,作为目标端节点。在一些实施例中,可以根据目标应用实例的功能、应用场景选择端节点。端节点可以包括HMI(HumanMachine Interface,人机交互接口)设备、PLC(Programmable Logic Controller,可编程逻辑控制器)等。端节点为工业设备运行的控制设备,通过部署应用实例能够实现对对应设备的运行控制。
在一些实施例中,可以在云节点远程指定目标端节点,从而实现远程的应用实例部署操作。
在步骤102中,目标端节点根据目标应用实例的索引信息获取对应的容器镜像。应用实例封装成容器镜像并存储于云节点,目标端节点可以通过间接或直接访问云端的方式获得目标应用实例的容器镜像。在一些实施例中,云端可以提供应用实例条目信息,包括应用实例标识或应用实例简介,通过识别条目信息确定目标应用实例,进而通过条目信息与容器镜像的关联关系获取目标应用实例的容器镜像。
在步骤103中,目标端节点基于容器镜像部署目标应用实例的容器。
在步骤104中,目标端节点运行目标应用实例。在一些实施例中,目标端节点通过运行目标应用实例能够控制相关设备的运行。
通过这样的方法,应用实例的容器镜像存储于云端,端节点能够通过从云端获取镜像并部署容器的方式,实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率,也便于丰富端节点的功能,使其在使用过程中逐渐的功能多样化和功能升级。
在一些实施例中,选定的目标端节点可以为空闲端节点,也可以部署了其他应用实例。在一些实施例中,可以在目标端节点已有的应用实例容器的基础上,增加目标应用实例的容器,从而实现对端节点已有功能的辅助、扩展,方便端节点功能的补充升级。例如,某台中间空调作为端节点,其开始只能处理某个通信协议,比如Modbus/Ip;后来需要能增加处理MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),则获取处理MQTT协议功能的应用实例的容器镜像,进而运行该容器,实现功能的扩展。
在一些实施例中,若指定的目标端节点当前正在运行其他应用实例的镜像,且目前需要使其停止当前功能,用于执行目标应用实例,则在确定目标端节点后,暂停运行或删除目标端节点当前运行的应用实例的容器,以便部署目标应用实例的容器并运行。例如,某台机械人原本的运动轨迹是进行部件或加工A装配,则其部署的为A对应的应用实例容器;当需要使其装配部件或加工B时,则需要停止或删除A对应的应用实例容器,获取B对应的应用实例容器镜像并部署和运行容器。
由于不同的产线需要通过对应的控制器来提供生产工艺流程和控制功能,而相关技术中,控制器的应用程序是固定的,切换产线时需要人工更换,或者是半人工更换。通过上文中实施例的方法,能够实现端节点功能的灵活部署和替换,例如,控制器可以按工艺需要移除上个产品的工艺管理应用程序,从边缘节点的容器仓库动态拉取新工艺的工艺管理应用程序等。产线切换时,提供产线的每个控制单元应加载的新工艺应用程序清单,每个控制单元按需要释放不需要的应用程序,然后从边缘节点的容器仓库按清单拉取新的应用程序,加载并运行。这样的方法使同一端节点能够在不同阶段执行不同的功能,提高了设备的复用能力,减少对空间和成本的占用。
在一些实施例中,端节点通过边缘节点与云节点连接。边缘节点一方面作为端节点和云节点信息传输的通道,另一方面也能够接收来自云节点的控制信息,调度端节点资源,对端节点容器进行参数配置等,实现对于端节点的远程配置。
在一些实施例中,边缘节点还可以存储部分应用实例的容器镜像,例如,当端节点从云节点获取应用实例的容器镜像、并经过边缘节点时,边缘节点在自身的存储空间(镜像仓库)中备份。在一些实施例中,边缘节点可以对备份的容器镜像设置生命周期,及时删除到达生命周期的容器镜像,从而降低对边缘节点的存储空间的压力。
在一些实施例中,当边缘节点收到来自目标端节点的查询请求后,边缘节点可以先在自身的存储空间中查找目标应用实例的容器镜像,在查找到对应的容器镜像的情况下,将查找到的容器镜像反馈给目标端节点;在未查找到对应的容器镜像的情况下,边缘节点发起向云节点的查询请求,从云节点获取容器镜像并转发给端节点,同时边缘节点在本地备份该容器镜像。通过这样的方法,端节点能够优先从自身连接的边缘节点获取容器镜像,提高获取效率。
在一些实施例中,应用实例的运行方式可以包括生产运行和仿真运行两种。对应的,端节点包括生产端节点和仿真端节点,边缘节点包括生产边缘节点和仿真边缘节点。生产端节点通过生产边缘节点与云节点连接;和仿真端节点通过仿真边缘节点与云节点连接。
当指定某个或某些生产端节点作为目标端节点时,将应用实例的容器部署于生产端节点,进而执行生产操作,如对设备、部件的加工装配等。在一些实施例中,生产操作的运行状态信息可以发送至生产边缘节点,或经过生产边缘节点发送至云节点,从而方便边缘节点、云节点实现应用实例在实际操作中的评估分析。在一些实施例中,运行数据可以包括资源配置、启动、停止、资源消耗、故障、测试或运行数据。在一些实施例中,生产端节点也可以基于生产操作的运行状态信息生成区块链数据,上报区块链存储,从而便于数据的留存和分享,提高数据可靠性和安全性。
当指定某个或某些仿真节点作为目标端节点时,将应用实例的容器部署于仿真端节点,进而执行仿真操作。在一些实施例中,仿真操作的运行状态信息可以发送至仿真边缘节点,或经过仿真边缘节点发送至云节点,从而方便边缘节点、云节点实现利用仿真的方式进行应用实例的评估分析。在一些实施例中,仿真端节点也可以基于仿真操作的运行状态信息生成区块链数据,上报区块链存储,从而便于数据的留存和分享,提高数据可靠性和安全性。
在一些实施例中,在指定目标端节点时,可以指定至少一个目标生产端节点和对应的目标仿真端节点,两者部署相同的目标应用实例,进而同步进行生产、仿真运行,从而能够从生产、仿真两个维度进行应用实例评估。
在一些实施例中,云节点能够在收到生产边缘节点的运行状态信息后,通过数字孪生技术将运行状态信息经过仿真边缘节点同步到运行了相同的应用实例容器的目标仿真端节点,从而能够基于生产端节点的运行状态执行仿真,提高仿真和生产的状态贴合度,提高云节点对于应用实例运行仿真预测的准确性。
本公开的组态软件控制方法的另一些实施例的流程图如图2所示。
在步骤201中,生产边缘节点获取目标生产端节点的运行状态信息并上报云节点,运行数据包括资源配置、启动、停止、资源消耗、故障、测试或运行数据。
在步骤202中,仿真边缘节点通过云节点获取目标生产端节点的运行状态信息,并通过数字孪生同步至目标仿真端节点。
在步骤203中,仿真边缘节点获取目标仿真端节点的运行状态信息并上报云节点,以便云节点分析预测目标生产端节点的运行状态。
通过这样的方法,基于生产端节点的运行状态执行仿真,能够提高仿真和生产的状态贴合度,提高云节点对于应用实例运行仿真预测的准确性。
在一些实施例中,云节点能够提供应用实例开发编辑端口,根据开发人员的编码操作生成应用实例,将应用实例封装成容器镜像,并存储于应用实例仓库。云节点生成每个应用实例的索引信息,并与对应的容器镜像相关联,以便端节点在查询应用实例时,能够根据索引信息确定目标应用实例。在一些实施例中,索引信息可以为应用实例简介,也可以为唯一标识。
在一些实施例中,云节点可以通过边缘节点获取各个端节点的运行状态信息,基于预定机器学习算法评估对应的应用实例的性能。在边缘节点能够获取连接的各个端节点的运行状态信息,基于预定机器学习算法评估对应的应用实例的性能。通过这样的方法,能够及时确定应用实例的性能,辅助应用实例的编辑、测试和投入应用。例如,若云节点或边缘节点确定目标应用实例的性能不在能达到预定水平,且经过预定次数的维护后仍旧不能达到预定水平,则将该目标应用实例的状态设定为注销或废弃状态;若云节点或边缘节点确定目标应用实例的性能达到了预定水平,则将生命周期状态从仿真状态修改为可部署状态,从而能够应用于实际生产。
在一些实施例中,应用实例的生命周期状态包括编码、仿真、可部署、注销和废弃;云节点能够跟踪记录每个应用实例的生命周期状态;边缘节点能够跟踪记录相连接的端节点上的应用实例的生命周期状态;端节点能够记录与自身相关联的应用实例的生命周期状态。针对相同应用实例的生命周期状态信息可以在云节点、边缘节点和端节点之间同步,以最新的生命周期状态信息为准。
本公开的组态软件控制方法的又一些实施例的流程图如图3所示。
在步骤301中,在应用实例开发过程中,开发人员接入云节点,云节点根据开发人员的编码操作生成应用实例。
在步骤302中,云节点将应用实例封装成容器镜像,并存储于应用实例仓库。
在步骤303中,生成每个应用实例的索引信息,并与对应的容器镜像相关联。
在步骤304中,当用户指定对应用实例进行测试时,分别指定目标生产端节点和目标仿真端节点。目标生产端节点和目标仿真端节点分别获得应用实例的容器镜像,并部署运行。
在步骤305中,与目标端节点连接的边缘节点向云节点上报运行状态信息。
在步骤306中,云节点和边缘节点基于预定机器学习算法评估对应的应用实例的性能。
在步骤307中,根据应用实例的性能的评估结果改变应用实例的生命周期状态。
通过这样的方法,能够从生产、仿真两个维度进行应用实例评估,提高对应用实例的测评的准确度和效率,提高应用实例的转化率,并保证生产安全。
在一些实施例中,当用户使用组态软件控制系统时,需要使用的云节点、边缘节点和端节点均可以获取用户的身份认证信息(例如身份标识和密钥),由一个或多个节点进行身份认证。执行认证的节点在认证成功的情况下,根据用户的身份等级确定用户能够调用的资源,资源包括应用实例对应的容器镜像、端节点、端节点的运行资源或边缘节点中的一项或多项;记录并审核用户行为,生成用户行为数据(如日志);将用户行为数据上报区块链,从而实现对于用户行为的忠实记录。在一些实施例中,对用户提供的信息进行身份认证的基础信息可以来自于区块链,从而提高认证的可靠性和安全性。
在一些实施例中,云节点、边缘节点和端节点均可以将自身运行过程中产生的数据上报区块链,从而便于系统数据的记录和维护。在一些实施例中,可以设置一部分端节点具备向区块链上报数据的能力,例如选择数据处理能力超过预定阈值的端节点具备向区块链上报数据的能力,从而避免数据上报工作对端节点造成处理负担。
本公开的组态软件控制系统的一些实施例的示意图如图4所示。
云节点41能够存储应用实例封装成的容器镜像。在一些实施例中,云节点41可以提供应用实例条目信息,包括应用实例标识或应用实例间接,通过识别条目信息确定目标应用实例,进而通过条目信息与容器镜像的关联关系获取目标应用实例的容器镜像。
端节点431~43(m+1)能够在被选定为运行目标应用实例的目标端节点的情况下,根据目标应用实例的索引信息获取对应的容器镜像;基于容器镜像在自身部署目标应用实例的容器;运行目标应用实例,m为不小于2的整数。端节点可以包括HMI设备、PLC等,为工业设备运行的控制设备,通过部署应用实例能够实现对对应设备的运行控制。
这样的组态软件控制系统中,应用实例的容器镜像存储于云端,端节点能够通过从云端获取镜像并部署容器的方式,实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
在一些实施例中,若指定的目标端节点正在运行其他应用实例的镜像,目前需要使其停止当前功能,则在确定目标端节点后,该端节点暂停运行或删除当前运行的应用实例的容器,以便部署目标应用实例的容器并运行。这样的系统能够实现端节点功能的灵活部署和替换,使同一端节点能够在不同阶段执行不同的功能,提高了设备的复用能力,减少对空间和成本的占用。
在一些实施例中,如图4所示,云节点41与端节点之间包括边缘节点421~42n,n为不小于2的整数,m不小于n。边缘节点能够作为端节点和云节点信息传输的通道,还能够接收来自云节点的控制信息,调度端节点资源,对端节点容器进行参数配置等。
这样的系统能够使边缘节点承载配置功能,降低对端节点的能力要求,有利于推广应用。
在一些实施例中,端节点能够在被选定为运行目标应用实例的目标端节点的情况下,向边缘节点发送目标应用实例对应的容器镜像的查询请求,查询请求中可以包括目标应用实例的索引信息,如序列号标识,或关键词。边缘节点能够根据来自端节点的查询请求在自身存储空间中查找目标应用实例的容器镜像;在查找到情况下,向端节点反馈容器镜像;在未查找到的情况下,向云节点查询容器镜像;边缘节点存储来自云节点的容器镜像,备份存储,并转发给发起查询请求的端节点。这样的系统中,端节点能够优先从自身连接的边缘节点获取容器镜像,提高获取效率。
在一些实施例中,边缘节点可以对备份的容器镜像设置生命周期,及时删除到达生命周期的容器镜像,从而降低对边缘节点的存储空间的压力。
本公开的组态软件控制系统的另一些实施例的示意图如图5所示。
云节点51与生产边缘节点521和仿真边缘节点522连接,生产边缘节点521连接有多个生产端节点5311~531p等,仿真边缘节点522连接多个仿真端节点5321、532q等,p、q为正整数,从而实现在工业控制的组态开发中,从单机开发转变为实现云-边-端3位一体协同开发,提高了开发的便捷度。
生产边缘节点能够获取生产端节点的运行状态信息并上报云节点。仿真边缘节点能够通过云节点,获取与自身连接的仿真端节点运行了相同应用实例的生产端节点的运行状态信息,并通过数字孪生同步至仿真端节点生产端节点被配置为根据应用实例执行生产任务。仿真端节点能够根据应用实例仿真运行。这样的系统能够基于生产端节点的运行状态执行仿真,提高仿真和生产的状态贴合度,提高云节点对于应用实例运行仿真预测的准确性。
在一些实施例中,组态软件控制系统还可以包括区块链,能够接收并存储来自云节点、边缘节点或端节点中至少一种的运行状态信息并存储。在一些实施例中,区块链支持来自云节点、边缘节点或端节点中至少一种的查询,并提供相应的信息,从而便于系统数据的记录、使用和维护。
本公开的组态软件控制系统的又一些实施例的示意图如图6所示。组态软件控制系统可以包括云节点61、边缘节点62和端节点63三个层次。
云节点61能够支持用户接入进行应用实例开发,生成容器的操作,并将容器镜像存在仓库中。另外,云节点61还能够支持用户接入控制,例如提供应用实例的控制参数等。
边缘节点62位于端节点和云节点之间,其中,生产边缘节点是与具体的控制生产装置的端节点连接,为生产系统配置具体的参数、程序;仿真边缘节点通过由生产边缘节点同步而来的参数和实例,在仿真端节点执行仿真操作,并反馈给云节点。
端节点63为运行了应用实例的容器的节点,它接收来自边缘计算节点的配置,在运行过程中还可以反馈数据给对应的边缘节点62。
在一些实施例中,如图6所示,云节点61可以包括账号管理模块611、生命周期管理模块612、应用组态模块613、数字孪生模块614、应用仿真模块615、仓库616、容器打包模块617以及评估模块618。
账号管理模块611能够提供账号管理(身份认证、授权)、用户对应的应用实例资产管理、用户对应的生产边缘节点资产管理、用户对应的端节点资产管理,以及用户行为日志管理、用户行为安全审计管理功能,在一些实施例中,可以将用户行为产生的数据写入账号区块链6001。
生命周期管理模块612能够为开发者、用户提供应用实例容器的生命周期管理。不同生命周期的实例容器在资源分配、运行调度、启停等方面不同,根据生命周期管理模块612对于生命周期的修改,云节点61的其他模块会产生关联变化。在一些实施例中,生命周期管理模块612可以将生命周期的变化情况写入应用区块链6002。
在一些实施例中,应用程序生命周期包括如下状态:编码、仿真、可部署、注销、废弃。编码表示应用程序处于编码阶段;仿真表示应用程序处于仿真阶段;可部署表示应用程序可以进入生产部署;注销表示应用程序进入不再推荐使用的状态,或因技术陈旧,或是质量原因,或是性能原因、抑或是安全原因;废弃表示应用程序不可用。
应用组态模块613能够为开发者提供应用实例组态设计服务。
数字孪生模块614能够与其他节点(边缘节点61和端节点63)的数字孪生模块624、634配合,同步云-边-端应用实例容器的运行状态信息,包括资源配置、起停、运行资源消耗,故障或异常,测试和运行数据收集等。通过使用数字孪生技术同步云-边-端应用实例的状态、方便仿真边缘计算节点和生产边缘计算节点的状态同步和应用实例管理,数据收集。在一些实施例中,数字孪生模块614可以将同步的数据写入应用区块链6002。
应用仿真模块615能够为开发者提供仿真发起服务,提供与开发者交互的接口,在接收仿真运行指令后,向仿真边缘节点发送对应的容器镜像和配置参数。根据应用仿真模块615发起的虚拟仿真或实际硬件仿真指令,仿真边缘节点分别执行虚拟仿真,或调度端节点执行实机仿真。
仓库616能够存放系统中所有的应用实例容器镜像。通过应用实例仓库和应用实例共享,能够提升工业知识传播和共享的有效性。在一些实施例中,仓库616可以将容器镜像写入应用区块链6002。
容器打包模块617能够将开发者提供的应用实例,并打包成容器,生成容器镜像。在一些实施例中,为降低存储、运行压力,在生成容器镜像后,删除对应容器。在一些实施例中,容器打包模块617可以将容器镜像写入应用区块链6002。
评估模块618能够使用机器学习(如深度学习)算法,评价应用实例质量,提供性能评价指标数据等。评估模块618提供的性能评价指标数据,能够便于开发者优化应用实例,便于直接用户决策应用实例是否达到要求,以及方便为其他目标用户提供推荐参考信息。在一些实施例中,评估模块618可以将评估结果写入应用区块链6002。
边缘节点62可以包括账号管理模块621、生命周期管理模块622、资源管理模块623、数字孪生模块624、容器调度运行模块625、仓库626和评估模块628。账号管理模块621、生命周期管理模块622、数字孪生模块624、仓库626和评估模块628与云节点61的对应模块功能相似。在一些实施例中,仓库626只存储部分应用实例的容器镜像,如该边缘节点62连接的端节点近期(如预定时长内)使用过的应用实例的容器镜像。在一些实施例中,
资源管理模块623能够管理边缘计算节点所管辖的端节点的资源情况。
容器调度运行模块625能够根据端节点的资源,实现应用程序实例容器的调度:起停、迁移、实例数伸缩等。
端节点63包括账号管理模块631、生命周期管理模块632、资源管理模块633和数字孪生模块634,与云节点61、边缘节点62中对应模块功能相似。
这样的系统通过云端开发,并远程控制在端节点进行仿真、部署和状态管理,提高开发、测试和投产的效率,实现平滑无缝的应用实例迁移;通过容器和虚拟化技术提高了现场控制的敏捷程度,提升了目标硬件资源的利用率,消除了对目标硬件的直接依赖;通过复用和区块链上链存储,提高了知识共享的程度,有效节省了用于重复开发的社会资源。
本公开组态软件控制系统的一个实施例的结构示意图如图7所示。组态软件控制系统中,每一个节点均包括存储器701和处理器702。其中:存储器701可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中组态软件控制方法的对应实施例中本节点的指令。处理器702耦接至存储器701,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器702用于执行存储器中存储的指令,能够实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
在一个实施例中,还可以如图8所示,组态软件控制系统800中每个节点包括存储器801和处理器802。处理器802通过BUS总线803耦合至存储器801。该组态软件控制系统800还可以通过存储接口804连接至外部存储装置805以便调用外部数据,还可以通过网络接口806连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实现应用实例的灵活部署,提高了工业控制部署的灵活度和部署效率。
在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现组态软件控制方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。
Claims (18)
1.一种组态软件控制方法,包括:
确定运行目标应用实例的端节点,作为目标端节点,其中,所述端节点通过边缘节点与云节点连接;
所述目标端节点根据所述目标应用实例的索引信息获取对应的容器镜像,包括:所述目标端节点在连接的所述边缘节点查找所述目标应用实例对应的容器镜像;在查找到对应的所述容器镜像的情况下,所述目标端节点从所述边缘节点获取所述容器镜像;在未查找到对应的所述容器镜像的情况下,所述目标端节点经所述边缘节点从所述云节点获取所述容器镜像,并在所述边缘节点备份;
其中,应用实例封装成容器镜像并存储于云节点;
目标端节点基于所述容器镜像部署所述目标应用实例的容器;
所述目标端节点运行所述目标应用实例。
2.根据权利要求1所述的方法,还包括:
在确定所述目标端节点后,暂停运行或删除所述目标端节点当前运行的应用实例的容器,以便部署所述目标应用实例的容器并运行。
3.根据权利要求1所述的方法,其中,
所述端节点包括生产端节点和仿真端节点,所述边缘节点包括生产边缘节点和仿真边缘节点;
所述生产端节点通过生产边缘节点与所述云节点连接;和
所述仿真端节点通过仿真边缘节点与所述云节点连接。
4.根据权利要求3所述的方法,其中,所述目标端节点包括目标生产端节点和目标仿真端节点;
还包括:
所述生产边缘节点获取所述目标生产端节点的运行状态信息并上报所述云节点,所述运行状态信息包括资源配置、启动、停止、资源消耗、故障、测试或运行数据中的一项或多项;
所述仿真边缘节点通过所述云节点获取所述目标生产端节点的运行状态信息,并通过数字孪生同步至所述目标仿真端节点。
5.根据权利要求4所述的方法,还包括:
所述仿真边缘节点获取所述目标仿真端节点的运行状态信息并上报所述云节点,以便所述云节点分析预测所述目标生产端节点的运行状态。
6.根据权利要求1所述的方法,还包括:
所述云节点获取控制参数,发送给所述目标端节点连接的边缘节点;
所述边缘节点根据所述控制参数配置所述目标端节点上目标应用实例的容器。
7.根据权利要求1所述的方法,还包括:
所述云节点、所述边缘节点和所述端节点将各自的运行状态信息上报至区块链。
8.根据权利要求1所述的方法,还包括以下至少一项:
所述云节点通过所述边缘节点获取各个端节点的运行状态信息,基于预定机器学习算法评估对应的应用实例的性能;或
所述边缘节点获取连接的各个端节点的运行状态信息,基于预定机器学习算法评估对应的应用实例的性能。
9.根据权利要求8所述的方法,还包括:
根据所述应用实例的性能的评估结果改变所述应用实例的生命周期状态,包括:
将所述生命周期状态从仿真状态修改为可部署状态,或修改为注销或废弃状态。
10.根据权利要求1、3~9任意一项所述的方法,其中,应用实例的生命周期状态包括编码、仿真、可部署、注销和废弃;
还包括以下至少一项:
所述云节点跟踪记录每个应用实例的生命周期状态;
所述边缘节点跟踪记录相连接的端节点上的应用实例的生命周期状态;或
所述端节点记录自身运行的应用实例的生命周期状态。
11.根据权利要求1、3~9任意一项所述的方法,还包括:
所述云节点根据开发人员的编码操作生成应用实例;
将所述应用实例封装成容器镜像,并存储于应用实例仓库;
生成每个应用实例的索引信息,并与对应的容器镜像相关联。
12.根据权利要求1所述的方法,还包括:
所述云节点、所述边缘节点和所述端节点中的一种或多种获取身份认证信息;
在认证成功的情况下,根据用户的身份等级确定用户能够调用的资源,所述资源包括应用实例对应的容器镜像、端节点、端节点的运行资源、边缘节点或边缘节点的运行资源中的一项或多项;
记录并审核用户行为,生成用户行为数据;
将用户行为数据上报区块链。
13.一种组态软件控制系统,包括:
云节点,被配置为存储应用实例封装成的容器镜像;
端节点,被配置为在被选定为运行目标应用实例的目标端节点的情况下,根据所述目标应用实例的索引信息获取对应的容器镜像,包括向边缘节点发送所述目标应用实例对应的容器镜像的查询请求;基于所述容器镜像在自身部署所述目标应用实例的容器;运行所述目标应用实例;和
所述边缘节点,位于所述云节点与一个或多个所述端节点之间,被配置为根据来自端节点的查询请求在自身存储空间中查找所述目标应用实例的容器镜像;在查找到情况下,向所述端节点反馈所述容器镜像;在未查找到的情况下,向所述云节点查询所述容器镜像;存储来自云节点的所述容器镜像,备份存储,并转发给发起所述查询请求的端节点。
14.根据权利要求13所述的系统,其中,
所述端节点包括生产端节点和仿真端节点,所述边缘节点包括生产边缘节点和仿真边缘节点;
所述生产端节点通过生产边缘节点与所述云节点连接;和
所述仿真端节点通过仿真边缘节点与所述云节点连接。
15.根据权利要求14所述的系统,其中,
所述生产边缘节点被配置为获取所述生产端节点的运行状态信息并上报所述云节点,所述运行状态信息包括资源配置、启动、停止、资源消耗、故障、测试或运行数据中的一种或多种;
所述仿真边缘节点被配置为通过所述云节点获取与自身连接的仿真端节点运行有相同应用实例的所述生产端节点的运行状态信息,并通过数字孪生同步至所述仿真端节点;
所述生产端节点被配置为根据所述应用实例执行生产任务;
所述仿真端节点被配置为根据所述应用实例仿真运行。
16.根据权利要求14所述的系统,还包括:
区块链,被配置为接收并存储来自所述云节点、所述边缘节点或所述端节点中至少一种的运行状态信息并存储。
17.一种组态软件控制系统,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至12任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至12任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011278636.4A CN112346750B (zh) | 2020-11-16 | 2020-11-16 | 组态软件控制方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011278636.4A CN112346750B (zh) | 2020-11-16 | 2020-11-16 | 组态软件控制方法、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346750A CN112346750A (zh) | 2021-02-09 |
CN112346750B true CN112346750B (zh) | 2022-04-01 |
Family
ID=74363874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011278636.4A Active CN112346750B (zh) | 2020-11-16 | 2020-11-16 | 组态软件控制方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346750B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113849364B (zh) * | 2021-07-29 | 2023-12-26 | 浪潮软件科技有限公司 | 一种边缘应用管理方法、装置、设备及可读存储介质 |
CN117640700B (zh) * | 2024-01-18 | 2024-04-30 | 深圳市宏大联合实业有限公司 | 一种数字孪生方法、系统以及第一节点 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577779A (zh) * | 2015-12-21 | 2016-05-11 | 用友网络科技股份有限公司 | 一种容器化部署大企业私有云的方法和系统 |
WO2018095138A1 (zh) * | 2016-11-25 | 2018-05-31 | 华为技术有限公司 | 容器的部署方法、服务间的通信方法及相关装置 |
CN108921551A (zh) * | 2018-06-11 | 2018-11-30 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链系统 |
CN109656686A (zh) * | 2018-12-17 | 2019-04-19 | 武汉烽火信息集成技术有限公司 | OpenStack上部署容器云方法、存储介质、电子设备及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468362B (zh) * | 2015-11-17 | 2019-03-08 | 广州杰赛科技股份有限公司 | 应用部署方法和云计算系统 |
US10969196B2 (en) * | 2016-01-04 | 2021-04-06 | Robert Marshall Campbell | Rotationally deployed non-blocking firearm mirror accessory |
CN111736956B (zh) * | 2020-06-29 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种容器服务部署方法、装置、设备及可读存储介质 |
CN111858370B (zh) * | 2020-07-28 | 2023-12-26 | 浪潮云信息技术股份公司 | DevOps的实现方法、装置、计算机可读介质 |
CN111930521A (zh) * | 2020-09-23 | 2020-11-13 | 北京百度网讯科技有限公司 | 用于部署应用的方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-11-16 CN CN202011278636.4A patent/CN112346750B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577779A (zh) * | 2015-12-21 | 2016-05-11 | 用友网络科技股份有限公司 | 一种容器化部署大企业私有云的方法和系统 |
WO2018095138A1 (zh) * | 2016-11-25 | 2018-05-31 | 华为技术有限公司 | 容器的部署方法、服务间的通信方法及相关装置 |
CN108921551A (zh) * | 2018-06-11 | 2018-11-30 | 西安纸贵互联网科技有限公司 | 基于Kubernetes平台的联盟区块链系统 |
CN109656686A (zh) * | 2018-12-17 | 2019-04-19 | 武汉烽火信息集成技术有限公司 | OpenStack上部署容器云方法、存储介质、电子设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112346750A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112346750B (zh) | 组态软件控制方法、系统和存储介质 | |
CN109597626B (zh) | 一种组件部署方法和装置 | |
US20220091830A1 (en) | System and method for a hybrid development platform | |
CN103399787B (zh) | 一种基于Hadoop云计算平台的MapReduce作业流式调度方法及调度系统 | |
CN108234175A (zh) | 一种基于容器的云平台存储切换方法及云平台 | |
CN105391586B (zh) | 一种故障定位分析的方法及系统 | |
CN103064717A (zh) | 一种集群系统并行安装软件的装置和方法 | |
CN111382201B (zh) | 异构数据库同步方法、装置、计算机设备及存储介质 | |
CN110162334A (zh) | 一种代码管理方法、装置、存储介质及计算机程序产品 | |
CN109597627A (zh) | 一种组件安装方法、装置、存储介质和处理器 | |
CN111651352A (zh) | 一种仓库代码的合并方法及装置 | |
CN110795105A (zh) | 一种配电自动化主站系统自动编译部署方法与系统 | |
CN113448690A (zh) | 监测方法及装置 | |
CN113687927A (zh) | Flume任务调度配置方法、装置、设备及存储介质 | |
CN111290934A (zh) | 基于Jenkins的车载网络产品云测试方法及系统 | |
CN116400987B (zh) | 持续集成方法、装置、电子设备及存储介质 | |
CN116909678A (zh) | 一种容器化plc的实现方法及系统、管理服务器 | |
KR102365841B1 (ko) | 서비스 기능 체인을 위한 자가 치유 방법 및 그 시스템 | |
CN112564979A (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
CN111083719A (zh) | 一种网元容量弹性调整的方法、装置和存储介质 | |
CN111526168A (zh) | 一种网络功能虚拟化nfv架构的调度管理方法及装置 | |
CN112671576B (zh) | 一种Kafka集群安全控制服务的部署方法、装置及设备 | |
CN116560801B (zh) | 一种跨容器的柜面系统信创迁移方法及设备 | |
CN117149728B (zh) | 可信分散控制系统上位机多节点数据在线同步方法及系统 | |
CN114003343A (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 |