CN112087522B - 一种面向工业机器人数据处理的边云协同流程编排系统 - Google Patents
一种面向工业机器人数据处理的边云协同流程编排系统 Download PDFInfo
- Publication number
- CN112087522B CN112087522B CN202010984350.1A CN202010984350A CN112087522B CN 112087522 B CN112087522 B CN 112087522B CN 202010984350 A CN202010984350 A CN 202010984350A CN 112087522 B CN112087522 B CN 112087522B
- Authority
- CN
- China
- Prior art keywords
- cloud
- edge
- data
- operator
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种面向工业机器人数据处理的边云协同流程编排系统,系统涉及数据的流式处理和边云协同的工业机器人数据处理流程部署方法,以及二者在同一底层运行和通信机制之上同时实现的方案,将边缘节点和云服务器纳入一个统一的管理系统,提高了边云协同系统的管理的方便性,在边缘端进行数据的预处理,避免占用网络带宽资源将大量无效的原始数据上传到云端,并使数据的流式处理和边云协同在一套完整的底层运行和通信机制之上同时被实现,进而实现将边端设备纳入云端统一管理、边云协同的自动化部署数据处理流程、高效的边云、算子间流式数据传输这三个有益效果。
Description
技术领域
本发明涉及工业互联网中工业机器人的数据处理领域,尤其涉及一种面向工业机器人数据处理的边云协同流程编排系统。
背景技术
从工业机器人数据的采集,到通过采集的数据进行模型的训练和相应的预测,需要机器人工厂和云平台合作组成边云协同的业务流程,在此协同系统中,机器人工厂靠近机器人的计算设备为边端,云平台为云端。边端负责机器人数据的采集、预处理、上云等步骤,云端负责接收数据、模型训练、在线预测等步骤,边端与云端串行合作,形成工业机器人数据处理、故障预测的完整流程。一个完整的数据处理流程包含了多个数据采集处理的多个步骤,对于流程中的每个步骤,在进行算法设计开发、统一输入输出接口之后,都能抽象出规范的数据处理模块,通过对这些模块的复用,能够大大简化部署一套从机器人工厂到云平台的边云协同工作的数据处理流程。
边云协同是指云服务器端和边端设备端的协同,包括资源协同、应用协同、数据协同、智能协同等多种协同。边云协同的技术需要将边端与云端纳入统一的管理体系中,将边端与云端之间的差异透明化,同时还应提供数据通信组件使边云之间的数据通路畅通无阻。
Kubernetes是来一个开源的容器集群管理系统,用于自动部署、扩展和管理容器化应用程序,近年来,将一个庞大的功能程序解耦为多个功能相对独立的微程序,之后将其分别封装为docker容器,并通过kubernetes平台自动部署已经成为新兴的热点技术。相应的,将一个完整的数据处理流程划分为多个独立的功能模块,将每个模块独立部署,应用此种方法可以自动化容器的部署和复制、随时扩展或收缩流程中一部分模块的规模,并且可以很容易地升级应用程序容器的新版本。
Kubeedge是华为开源的注重于边端计算的容器管理平台,可将云服务器容器化应用编排和管理扩展到边端设备。Kubeedge为适应边端资源有限等特点,对Kubernetes的组件进行大幅重构和优化,为边端网络和应用程序提供核心基础架构支持,支持在云端和边端部署应用并同步双边元数据。同时,kubeedge百分百兼容kubernetes API,可以使用kubernetes API原语管理边端节点和设备。
目前的流程编排技术聚焦于通过可视化编排界面或者根据一个流程配置清单建立一个流程,但并未考虑边云协同的需求以及对于流式数据处理的支持。而边云协同方向现有技术没有考虑为边云之间的通信提供一个统一的入口,需要边和云之间的组件相互配合,增加了边云组件的复杂性,此外现有技术也未考虑对于流式数据处理的支持,不符合工业互联网背景下边端采集到的流式数据处理的模式。
发明内容
为了解决目前包级别一致性更新方案的一些弊端,我们提出一种面向工业机器人数据处理的边云协同流程编排系统,
具体地,系统基于数据的流式处理和边云协同的工业机器人数据处理流程部署方法实现,二者在同一底层运行和通信机制之上同时实现,所述底层运行和通信机制包括边端和云端,包括算子传输数据的网络代理组件、边端和云端之间的网络代理组件,由在边端运行的边端和云端之间的网络代理组件主动连接公网上的在云端运行的边端和云端之间的网络代理组件,设置算子传输数据的网络代理组件负责与上下游的算子连接进行数据的收发和缓存,在接收到数据时通过远程过程调用的形式交付算子进行业务逻辑处理,所述算子传输数据的网络代理组件和算子容器一一对应,共存于同一个pod中,并将数据和对应的路由信息交给边端和云端之间的网络代理组件进行分发,
所述数据的流式处理流程过程为,每一个算子代表对单条数据的处理过程,算子保持运行,不断地逐条处理到来的数据;所述边云协同的工业机器人数据处理流程部署方法架构由云端控制平面、云端部署平面和边端部署平面三部分组成,通过所述云端控制平面实现外部流程编排的输入,并通过所述边端部署平面实现对本地计算资源的管理。
所述算子传输数据的网络代理组件包括输入单元、缓冲区、窗口聚集单元、输入队列、算子调用单元、输出队列、输出单元,采用ZMQ作为算子传输数据的网络代理组件之间、算子传输数据的网络代理组件与边端和云端之间的网络代理组件之间以及边端和云端之间的网络代理组件之间进行网络通信的工具库,算子传输数据的网络代理组件对算子的远程过程调用采用的gRPC协议;其机制具体为:输入单元通过ZMQ套接字从上游算子接收数据放入缓冲区,并根据配置的窗口聚集单元预处理成数据集合,再将数据集合整体放入输入队列,算子调用单元从输入队列中不断获取数据集合,并通过gRPC协议交付算子进行处理并获得结果,并将结果放入输出队列,输出单元从输出队列中获取结果并置入缓冲区,由ZMQ套接字从缓冲区中读取并发送给下游算子。
所述边端和云端之间的网络代理组件的逻辑结构为:所述在边端运行的边端和云端之间的网络代理组件一侧与同端算子的输出单元和输入单元连接,另一侧则与所述在云端运行的边端和云端之间的网络代理组件进行连接,数据则通过分发器根据数据所带的路由信息进行选择性得向算子分发或向云端分发,所述在云端运行的边端和云端之间的网络代理组件一侧与算子连接,另一侧则通过暴露公网端口,由所述在边端运行的边端和云端之间的网络代理组件主动进行连接,通过设置二级路由信息,作为每条数据的头部内容。
所述二级路由信息的实现方式为:第一级路由用于指定目的算子,第二级路由用于指定目的边端,所述第一级路由存在于算子和所述边端和云端之间的网络代理组件之间,算子A的所述算子传输数据的网络代理组件输出单元发送的数据路由信息发送到特定的云端的算子B,分发器检查目的地为云端于是交给云端连接进行发送,所述算子B的所述算子传输数据的网络代理组件输入单元在其所述边端和云端之间的网络代理组件中注册的监听路由地址,因此在云端运行的边端和云端之间的网络代理组件在检查数据目的地为本机后,将数据正确地发送给所述算子B;在存在多个边端时,则应用第二级路由,多个边端在连接云端时,分别注册为多个的路由,当所述算子B的所述算子传输数据的网络代理组件发送路由信息为指向算子C时,其所述在云端运行的边端和云端之间的网络代理组件分发器检查后,发现其目的地为所述边端,则增加第二级路由信息,于是交付边端连接进行发送时可以正确地发往所述算子C所在边端,所述算子C所在边端的分发器丢弃第二级路由信息,检查第一级路由信息,便可知应当发往注册了监听路由的算子C,于是完成了整个流传输的过程。
所述云端控制平面的运行逻辑架构包括:可视化流程编排步骤,提供可视化拖拽式编排的界面作为前端,所述界面分为编排区和组件区两个区域,用户通过将组件区提供的不同功能的数据处理镜像的组件拖拽进编排区后,数据发送至流程解析步骤;所述流程解析步骤设置后端接收所述前端发送的流程配置文件,解析配置文件生成各个算子的configmap、deployment和service所需的信息,并将存储数据处理流程中不同功能的数据处理模块发送至算子仓库模块,将流程相关配置信息存储于数据库模块;所述算子部署的位置即云端或指定的边端,由控制部署步骤将完整的机器人数据处理流程划分为部署到边端和云端的两部分,并将数据发送至所述云端部署平面的云端流程步骤;
云端部署平面的运行逻辑架构包括:所述云端流程步骤,接收所述控制部署步骤的数据后将属于云端的算子部署到云端集群的kubernetes环境中,并将数据发送至云端部署平面的算子容器;所述云端部署平面的算子容器为运行中的数据处理流程,包含configmap、deployment和service三个组件;云端数据通道代理与所述云端部署平面的算子容器双向发送数据,并和边端数据通道代理之间数据传输,向所述边端部署平面传输指令;
边端部署平面的运行逻辑架构包括:边端流程步骤,接收所述控制部署步骤的数据后将属于边端的算子部署到边端集群的kubeedge环境中,并将数据发送至设置于边端部署平面的算子容器;所述边端部署平面的算子容器为运行中的数据处理流程,包含configmap、deployment和service三个组件;所述边端数据通道代理与所述边端部署平面的算子容器双向发送数据,并和所述云端数据通道代理之间数据传输,接收操作指令并向所述云端部署平面发送本地状态信息,并根据云端部署平面的指令管理本地的计算资源。
所述后端的流程部署有流程参数收发、数据库交互和参数解析流程生成三个功能,所述流程参数收发功能接收所述前端对当前流程信息的查询并返回查询结果,或者接收前端创建、删除流程的指令和流程信息,并返回指令操作结果;所述数据库交互功能为后端与数据库交互,在创建、删除流程时存储或删除流程数据,主要包括流程名字以及该流程相关的configmap、deployment和service,或者当前端查询流程信息时查询数据库向流程参数收发子模块返回相关信息;所述参数解析功能是通过解析前端发送的流程信息,通过与kubernetes和kubeedge的API Server交互,创建或删除流程中各个处理步骤的configmap、deployment和service。
所述configmap中包含算子的前驱、后继算子的地址,该算子部署的位置,所述deployment包含实际运行的算子实例,所述service提供算子间访问的服务暴露、负载均衡的功能。
所述云端数据通道代理使用云端部署平面的kubeedge环境的cloudedge与所述边端数据通道代理使用边端部署平面的kubeedge环境的edgecore通信;所述边端数据通道代理使用边端部署平面的kubeedge的edgecore,与所述云端数据通道代理使用云端部署平面的kubeedge环境的cloudcore通信。
与现有技术相比,本发明的方法具有以下优势:
一、将边端设备纳入云端统一管理
本发明基于云端kubernetes服务器集群和边端kubeedge节点,将边端节点和云服务器纳入一个统一的管理系统,云端可以像操作云端本身的节点一样监控、管理边端的资源状态。在进行流程操作时,统一由云服务器上的控制节点发出控制信号,自动地在边和云上拉取所需镜像生成相应的数据处理模块,无需在边和云分别,提高了边云协同系统的管理的方便性。
二、边云协同的自动化部署数据处理流程
基于云端kubernetes服务器集群和边端kubeedge节点的边云协同的机器人数据处理流程编排方法,既充分考虑了云服务器机器学习资源充足的特点,也考虑了边端服务器距离机器人数据源更近但计算资源紧张的特点,在边端进行数据的预处理,避免占用网络带宽资源将大量无效的原始数据上传到云端,而云端进行复杂的机器学习等处理过程。
三、高效的边云、算子间流式数据传输
数据的流式处理和边云协同在一套完整的底层运行和通信机制之上同时被实现。底层通信机制解决了不同pod、不同物理位置上下游算子之间的数据传输问题,并提供了对流式数据处理的支持,使得该部分对算子开发者完全透明。同时避免了传统模式下使用消息队列中间件或其他需要工程师自己实现的通信方式带来的单点性能瓶颈,加强了流式处理语义下的实时性保障。
附图说明
图1流程部署方法的架构图;
图2部署一个对机器人数据的处理流程图;
图3删除一个对机器人数据的处理流程图;
图4底层运行和通信机制的整体结构;
图5 pipet组件的内部结构;
图6 piproxy进行跨云边的算子间通信原理
具体实施方式
以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。
针对现有技术存在的缺点,本发明提出了一种面向工业机器人数据处理的边云协同流程编排系统的技术方案。通过可视化的拖拽式编排界面,拖拽数据处理模块组成从边端节点到云服务器的完整数据处理流程,再由基于kubernetes与kubeedge组成的边云协同流程部署系统,分别在云端和边端的设备上部署相应数据处理模块,形成工业机器人数据采集、处理再到预测性维护的完整流程。同时,本发明还提供了工业机器人流式数据传输支持方法,分别提供边端和云服务器之间、平台内功能模块和模块之间的底层实时流式数据通信功能支持。
边云协同的工业机器人数据处理流程部署方法
相比于云端的服务器,边端即机器人工厂中的设备通常具有计算、存储能力较低的缺陷,边端往往不具备独自处理完整流程的能力;而若是将完整的流程全部部署到云端,大量机器人原始数据经过广域网传输,势必会出现网络带宽较低、网络波动造成的传输速率低下、传输过程出现异常错误等问题,所以,将机器人数据处理流程根据需求划分到边端和云端是更为合理的选择。
边端主要是指机器人工厂中靠近工业机器人的计算设备,能够采集到机器人运行产生的原始数据,但边端设备资源受限、计算能力较低,往往不能胜任如机器学习训练等复杂的计算过程,因此将此类复杂的计算任务卸载到云端是一个更优的选择。另一方面,边端设备往往与云端的云服务器地理位置相距甚远,相互之间的数据传输需要经过广域网,广域网带宽较低,网络环境复杂,而在传输工业机器人采集的多传感器、高频率数据时,需要长时间、大量的带宽,因此需要在边端对数据进行预处理,提取相比于原始数据更加有效的数据,将处理后的更为精炼的预处理数据传输到云端。
不同边端的设备计算能力各有不同,相同的机器人数据处理流程在一个边云系统中适用,在另一个边云系统中可能会运行低效或者出现异常,因此需要工程师根据自己的需求将流程自主、灵活地划分到云端和边端。
在工业机器人数据处理的场景中,业务流程横跨云端和边端,如何自动化地将业务流程部署到边云两端,是本发明重要的研究点。本发明中的边云协同的工业机器人数据处理流程部署方法基于kubernetes与kubeedge两个开源框架,将云服务器和边端设备两种资源整合成一个整体。流程部署方法的架构图如图1所示,由云端控制平面、云端部署平面和边端部署平面三部分组成。
1)可视化流程编排提供一个可视化拖拽式编排的界面,编排界面分为编排区和组件区两个区域,组件区提供了不同功能的数据处理镜像供用户使用,编排区是用户组建流程的区域,用户通过将组件区的组件拖拽进编排区,再用有向线段连接各个组件,形成完整的数据处理流程。
2)流程解析时后端接收前端发送的流程配置文件,解析配置文件生成各个算子Configmap、deployment和service所需的信息。
3)生成的Configmap中包含了该configmap所属算子的前驱、后继算子的地址,该算子部署的位置即云端还是某一指定的边端。
4)生成的deployment包含了实际运行的算子实例。
5)生成的service提供了算子间访问的服务暴露、负载均衡的功能。
6)算子仓库存储数据处理流程中不同功能的数据处理模块,可以一次存储,多次使用。
7)数据库存储流程相关配置信息,用于查询流程信息时提供相关信息。
8)控制部署将完整的机器人数据处理流程划分为需要分别部署到边端和云端的两部分。
9)云端流程将属于云端的算子部署到云端集群的kubernetes环境中。
10)边端流程部署将属于边端的算子部署到边端设备的kubeedge环境中。
11)算子容器为运行中的数据处理流程,包含configmap、deployment和service三个组件。
12)云端数据通道代理和边端数据通道代理负责云端和边端之间的数据传输,无需算子自己负责云边通信。
后端流程部署主要有流程参数收发、数据库交互和参数解析流程生成三个功能。流程参数收发是后端与可视化编排前端交互,接收前端对当前流程信息的查询并返回查询结果,或者接收前端创建、删除流程的指令和流程信息,并返回指令操作结果。数据库交互功能为后端与数据库交互,在创建、删除流程时存储或删除流程数据,主要包括流程名字以及该流程相关的configmap、deployment和service,或者当前端查询流程信息时查询数据库向流程参数收发子模块返回相关信息。参数解析是通过解析前端发送的流程信息,通过与kubernetes和kubeedge的API Server交互,创建或删除流程中各个处理步骤的configmap、deployment和service。
机器人数据处理流程的编排部署和删除操作是一个跨越云端和边端设备、需要前端和后端相互配合的过程,因此需要将边端设备和云端设备整合在一个系统中统一管理。本发明采用kubernetes和kubeedge两个开源框架,将kubernetes和kubeedge结合可以整合云端服务器和边端设备的资源,并为流程中分属云端和边端的数据处理镜像提供相同的运行环境。云端一方面使用kubernetes管理庞大的设备资源,为在云端部署数据处理模块提供基础环境支持,另一方面使用kubeedge的cloudedge与边端设备上的kubeedge的edgecore通信,传输指令;边端使用kubeedge的edgecore,一方面与云端的cloudcore通信,接收操作指令并发送本地状态信息,另一方面根据云服务器的指令管理本地的计算资源。
当需要部署一个对机器人数据的处理流程时,共经历以下几个步骤:
1)确定机器人数据处理的步骤,在可视化流程编排前端根据事先确定的处理步骤,选取相应的数据处理镜像,将该镜像从镜像选取区拖拽到画布上,并确定该镜像的部署位置,即部署到云端的服务器还是自己工厂的边端设备上。
2)机器人工厂的工程师在可视化流程编排前端使用有向线将各个镜像连接组成完整的数据处理流程。
3)前端将流程包括名称,镜像,位置,数据流向在内的配置发送给流程编排后端。
4)流程编排后端程序解析流程配置内容,根据流程配置生成每个镜像所对应的configmap,deployment,service
5)流程编排后端程序与kubernetes和kubeedge的API Server交互,将各个镜像对应的configmap,deployment,service部署到事先确定好的云服务器或机器人厂商的边端节点上。
6)流程编排后端程序与数据库交互,存储该流程各个镜像对应的的configmap,deployment,service名称。
7)流程编排后端程序向前端返回处理结果
当需要删除一个对机器人数据的处理流程时,共经历以下几个步骤:
1)机器人工厂的工程师在前端查询正在工作的机器人数据处理流程
2)工程师选取需要删除的流程
3)前端将需要删除的流程名字发送给流程编排后端。
4)流程编排后端程序根据流程名称在数据库中查询该流程中的各个镜像对应的configmap,deployment,service。
5)流程编排后端程序与kubernetes和kubeedge的API Server交互,删除云服务器和边端节点中部署的各个镜像对应的configmap,deployment,service。
6)流程编排后端程序与数据库交互,删除该流程的相关数据。
7)流程编排后端程序向前端返回处理结果
机器人数据底层传输通信方法
在本方法中,数据的流式处理和边云协同在一套完整的底层运行和通信机制之上同时被实现。流程中的每一个算子均代表了对单条数据的处理过程,而算子保持运行,不断地逐条处理到来的数据,达成了流式处理的基本形态。算子对于一次数据输入,可以输出0至任意多条输出,相当于在流式处理中的FlatMap语义,同时本方法又为算子提供了流式处理中经典的窗口机制,对数据进行时间维度聚集,提升了数据处理的灵活性。边云协同则通过算子在任意物理位置(多个边缘端和云端)的部署体现,而底层通信机制则解决了不同pod、不同物理位置,尤其是在私网环境的边端和在公网环境的云端中,上下游算子之间的数据传输问题,使得该部分对算子开发者完全透明,极大地降低了边云协同流式处理的开发难度和工作量。
底层运行和通信机制的整体结构示例如图4所示,图中包含了两个边端和一个云端。本方法中命名算子传输数据的网络代理组件为pipet,边端和云端之间的网络代理组件为piproxy,后者根据物理位置不同,分为在边端运行的piproxy-edge,和在云端运行的piproxy-cloud,由于边端和云端的网络环境不同,云端通常更容易分配公网地址,因此由piproxy-edge主动连接公网上的piproxy-cloud。算子本身不负责与上下游的算子连接进行数据的收发和缓存,将该任务交由pipet完成,这种机制通常被称为sidecar,并且由pipet在接收到数据时通过远程过程调用(Remote Procedure Call,RPC)的形式交付算子进行业务逻辑处理,如图4所示,pipet和算子容器一一对应,在同一个pod。pipet不负责连接不在同一个端上的算子,而是将数据和对应的路由信息交给piproxy进行分发,图4中1)过程表示边端上的pipet与piproxy-edge连接,将数据传输至或接收自云端和其他边端,2)过程表示云端上的pipet与piproxy-cloud连接,将数据传输至或接收自边端,而3)过程则表示处于同一端上的pipet可以直接连接传输数据而不需要piproxy的代理。这种通信组织机制在连通云边算子的同时,避免了传统模式下使用消息队列中间件带来的单点性能瓶颈,加强了流式处理语义下的实时性保障。
pipet组件的内部结构如图5所示,图中展示了pipet连接两个上游算子和两个下游算子的情况,实际上两者的数量可以为0至任意多个。本方法采用目前广泛使用、较为成熟、容错性较好的ZeroMQ(简称ZMQ)作为pipet之间、pipet与piproxy之间以及piproxy-edge与piproxy-cloud之间进行网络通信的工具库,ZMQ支持多种连接语义,并且采用了failback容错机制,即在网络异常丢失连接时进行重连尝试而非抛出异常,降低了pipet在编程时的复杂度。pipet对算子的远程过程调用则采用了工业界常用的gRPC协议,因此算子在打包为Docker镜像应当实现规定的gRPC服务接口以被pipet正确地调用。pipet的整体工作流程如图5所示,输入单元通过ZMQ套接字从上游算子接收数据放入缓冲区,并根据配置的窗口聚集单元(滚动、滑动或会话)预处理成数据集合,再将数据集合整体放入输入队列,算子调用单元从输入队列中不断获取数据集合,并通过gRPC协议交付算子(算子以虚线表示不属于pipet中的单元)进行处理并获得结果,并将结果放入输出队列,输出单元从输出队列中获取结果并置入缓冲区,由ZMQ套接字从缓冲区中读取并发送给下游算子。
piproxy进行跨云边的算子间通信原理如图6所示,演示了数据流从边端2上的算子A至云端的算子B,再到边端1上的算子C的过程。piproxy-edge一侧与同端算子的输出单元和输入单元连接,另一侧则与piproxy-cloud进行连接,数据则通过分发器根据数据所带的路由信息进行选择性得向算子分发或向云端分发。piproxy-cloud一侧与算子连接,另一侧则通过暴露公网端口,由piproxy-edge主动进行连接。在数据流动的过程中,其所携带的路由信息决定了是否能被路由到正确的算子上,因此根据云边协同这种特殊的场景,本方法设计了一种二级路由信息,作为每条数据的头部内容,第一级路由用于指定目的算子,第二级路由用于指定目的边端。第一级路由存在于算子和piproxy之间,例如图6中算子A-pipet输出单元发送的数据路由信息为”CLOUD:B”(见过程1),表示发送到云端的算子B,分发器检查目的地为云端于是交给云端连接进行发送(见过程2、3)。而算子B-pipet输入单元在piproxy中注册的监听路由为”CLOUD:B”,因此piproxy-cloud在检查数据目的地为本机后(见过程4),将数据正确地发送给算子B(见过程5)。在从云端向边端发送数据的过程中,由于通常存在多个边端,因此需要第二级路由。边端1、2在连接云端的同时,分别注册了”EDGE1”和”EDGE2”的路由。当算子B-pipet发送路由信息为”EDGE1:C”的数据时(见过程6),piproxy-cloud分发器检查后发现其目的地为边端1,则增加第二级路由信息”EDGE1”(见过程7),于是交付边端连接进行发送时可以正确地发往边端1(见过程8)。边端1的分发器丢弃第二级路由信息,检查第一级路由信息”EDGE1:C”(见过程9),便可知应当发往注册了监听路由”EDGE1:C”的算子C(见过程10),于是完成了整个流传输的过程。
Claims (8)
1.一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于: 系统基于数据的流式处理和边云协同的工业机器人数据处理流程部署方法实现,二者在同一底层运行和通信机制之上同时实现,所述底层运行和通信机制包括边端和云端,包括算子传输数据的网络代理组件、边端和云端之间的网络代理组件,由在边端运行的边端和云端之间的网络代理组件主动连接公网上的在云端运行的边端和云端之间的网络代理组件,设置算子传输数据的网络代理组件负责与上下游的算子连接进行数据的收发和缓存,在接收到数据时通过远程过程调用的形式交付算子进行业务逻辑处理,所述算子传输数据的网络代理组件和算子容器一一对应,共存于同一个pod中,并将数据和对应的路由信息交给边端和云端之间的网络代理组件进行分发,
所述数据的流式处理流程过程为,每一个算子代表对单条数据的处理过程,算子保持运行,不断地逐条处理到来的数据;所述边云协同的工业机器人数据处理流程部署方法架构由云端控制平面、云端部署平面和边端部署平面三部分组成,通过所述云端控制平面实现外部流程编排的输入,并通过所述边端部署平面实现对本地计算资源的管理。
2.如权利要求1所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述算子传输数据的网络代理组件包括输入单元、缓冲区、窗口聚集单元、输入队列、算子调用单元、输出队列、输出单元,采用ZMQ作为算子传输数据的网络代理组件之间、算子传输数据的网络代理组件与边端和云端之间的网络代理组件之间以及边端和云端之间的网络代理组件之间进行网络通信的工具库,算子传输数据的网络代理组件对算子的远程过程调用采用的gRPC协议;其机制具体为:输入单元通过ZMQ套接字从上游算子接收数据放入缓冲区,并根据配置的窗口聚集单元预处理成数据集合,再将数据集合整体放入输入队列,算子调用单元从输入队列中不断获取数据集合,并通过gRPC协议交付算子进行处理并获得结果,并将结果放入输出队列,输出单元从输出队列中获取结果并置入缓冲区,由ZMQ套接字从缓冲区中读取并发送给下游算子。
3.如权利要求2所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述边端和云端之间的网络代理组件的逻辑结构为:所述在边端运行的边端和云端之间的网络代理组件一侧与同端算子的输出单元和输入单元连接,另一侧则与所述在云端运行的边端和云端之间的网络代理组件进行连接,数据则通过分发器根据数据所带的路由信息进行选择性得向算子分发或向云端分发,所述在云端运行的边端和云端之间的网络代理组件一侧与算子连接,另一侧则通过暴露公网端口,由所述在边端运行的边端和云端之间的网络代理组件主动进行连接,通过设置二级路由信息,作为每条数据的头部内容。
4.如权利要求3所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述二级路由信息的实现方式为:第一级路由用于指定目的算子,第二级路由用于指定目的边端,所述第一级路由存在于算子和所述边端和云端之间的网络代理组件之间,算子A的所述算子传输数据的网络代理组件输出单元发送的数据路由信息发送到特定的云端的算子B,分发器检查目的地为云端于是交给云端连接进行发送,所述算子B的所述算子传输数据的网络代理组件输入单元在其所述边端和云端之间的网络代理组件中注册的监听路由地址,因此在云端运行的边端和云端之间的网络代理组件在检查数据目的地为本机后,将数据正确地发送给所述算子B;在存在多个边端时,则应用第二级路由,多个边端在连接云端时,分别注册为多个的路由,当所述算子B的所述算子传输数据的网络代理组件发送路由信息为指向算子C时,所述在云端运行的边端和云端之间的网络代理组件分发器检查后,发现其目的地为所述边端,则增加第二级路由信息,于是交付边端连接进行发送时可以正确地发往所述算子C所在边端,所述算子C所在边端的分发器丢弃第二级路由信息,检查第一级路由信息,便可知应当发往注册了监听路由的算子C,于是完成了整个流传输的过程。
5.如权利要求4所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述云端控制平面的运行逻辑架构包括:可视化流程编排步骤,提供可视化拖拽式编排的界面作为前端,所述界面分为编排区和组件区两个区域,用户通过将组件区提供的不同功能的数据处理镜像的组件拖拽进编排区后,数据发送至流程解析步骤;所述流程解析步骤设置后端接收所述前端发送的流程配置文件,解析配置文件生成各个算子的configmap、deployment和service所需的信息,并将存储数据处理流程中不同功能的数据处理模块发送至算子仓库模块,将流程相关配置信息存储于数据库模块;所述算子部署的位置即云端或指定的边端,由控制部署步骤将完整的机器人数据处理流程划分为部署到边端和云端的两部分,并将数据发送至所述云端部署平面的云端流程步骤;
云端部署平面的运行逻辑架构包括:所述云端流程步骤,接收所述控制部署步骤的数据后将属于云端的算子部署到云端集群的kubernetes环境中,并将数据发送至云端部署平面的算子容器;所述云端部署平面的算子容器为运行中的数据处理流程,包含configmap、deployment和service三个组件;云端数据通道代理与所述云端部署平面的算子容器双向发送数据,并和边端数据通道代理之间数据传输,向所述边端部署平面传输指令;
边端部署平面的运行逻辑架构包括:边端流程步骤,接收所述控制部署步骤的数据后将属于边端的算子部署到边端集群的kubeedge环境中,并将数据发送至设置于边端部署平面的算子容器;所述边端部署平面的算子容器为运行中的数据处理流程,包含configmap、deployment和service三个组件;所述边端数据通道代理与所述边端部署平面的算子容器双向发送数据,并和所述云端数据通道代理之间数据传输,接收操作指令并向所述云端部署平面发送本地状态信息,并根据云端部署平面的指令管理本地的计算资源。
6.如权利要求5所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述后端的流程部署有流程参数收发、数据库交互和参数解析流程生成三个功能,所述流程参数收发功能接收所述前端对当前流程信息的查询并返回查询结果,或者接收前端创建、删除流程的指令和流程信息,并返回指令操作结果;所述数据库交互功能为后端与数据库交互,在创建、删除流程时存储或删除流程数据,主要包括流程名字以及该流程相关的configmap、deployment和service,或者当前端查询流程信息时查询数据库向流程参数收发子模块返回相关信息;所述参数解析功能是通过解析前端发送的流程信息,通过与kubernetes和kubeedge的API Server交互,创建或删除流程中各个处理步骤的configmap、deployment和service。
7.如权利要求6所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述configmap中包含算子的前驱、后继算子的地址,该算子部署的位置,所述deployment包含实际运行的算子实例,所述service提供算子间访问的服务暴露、负载均衡的功能。
8.如权利要求7所述的一种面向工业机器人数据处理的边云协同流程编排系统,其特征在于:所述云端数据通道代理使用云端部署平面的kubeedge环境的cloudedge,与所述边端数据通道代理使用边端部署平面的kubeedge环境的edgecore通信;所述边端数据通道代理使用边端部署平面的kubeedge的edgecore,与所述云端数据通道代理使用云端部署平面的kubeedge环境的cloudcore通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010984350.1A CN112087522B (zh) | 2020-09-18 | 2020-09-18 | 一种面向工业机器人数据处理的边云协同流程编排系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010984350.1A CN112087522B (zh) | 2020-09-18 | 2020-09-18 | 一种面向工业机器人数据处理的边云协同流程编排系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087522A CN112087522A (zh) | 2020-12-15 |
CN112087522B true CN112087522B (zh) | 2021-10-22 |
Family
ID=73737501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010984350.1A Active CN112087522B (zh) | 2020-09-18 | 2020-09-18 | 一种面向工业机器人数据处理的边云协同流程编排系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112087522B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559133B (zh) * | 2020-12-22 | 2023-04-07 | 北京滴普科技有限公司 | 一种基于原生容器技术的云边协同系统及云边协同方法 |
CN112950153B (zh) * | 2021-02-24 | 2023-12-01 | 国网江苏省电力有限公司信息通信分公司 | 一种基于云边协同环境的集中编排业务方法及系统 |
CN113010385B (zh) * | 2021-03-18 | 2022-10-28 | 山东英信计算机技术有限公司 | 一种任务状态更新方法、装置、设备及介质 |
CN113515264B (zh) * | 2021-04-26 | 2024-02-06 | 山东新一代信息产业技术研究院有限公司 | 一种基于云边端架构的应用市场功能设计方法 |
CN113312059B (zh) * | 2021-06-15 | 2023-08-04 | 北京百度网讯科技有限公司 | 一种服务处理系统、方法及云原生系统 |
CN113687822A (zh) * | 2021-07-26 | 2021-11-23 | 安徽华元智控科技有限公司 | 一种边缘侧控制系统部署工具链及部署方法 |
US20230033818A1 (en) * | 2021-07-30 | 2023-02-02 | International Business Machines Corporation | Edge function-guided artifical intelligence request routing |
CN114124948A (zh) * | 2021-09-19 | 2022-03-01 | 济南浪潮数据技术有限公司 | 一种云端组件高可用的方法、装置、设备及可读介质 |
CN114844925B (zh) * | 2022-04-29 | 2024-04-05 | 青岛慧拓智能机器有限公司 | 无人矿山全域智能监测系统 |
CN115225630A (zh) * | 2022-07-19 | 2022-10-21 | 浪潮云信息技术股份公司 | 一种边缘计算场景下的云边消息通信方法 |
CN115620582A (zh) * | 2022-12-14 | 2023-01-17 | 北京东方国信科技股份有限公司 | 工业互联网教学实训系统、方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977242A (zh) * | 2010-11-16 | 2011-02-16 | 西安电子科技大学 | 一种分层分布式云计算体系结构及服务提供方法 |
CN109787805A (zh) * | 2018-11-16 | 2019-05-21 | 华北电力大学 | 基于多云协同的家庭智慧能源管理系统 |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN111562966A (zh) * | 2020-04-28 | 2020-08-21 | 北京航空航天大学 | 一种人机物融合云计算平台的资源编排方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9225791B2 (en) * | 2011-02-28 | 2015-12-29 | Red Hat, Inc. | Staged data migration between data sources and cloud-based storage network |
CN111049876A (zh) * | 2019-10-18 | 2020-04-21 | 烽火通信科技股份有限公司 | 一种轻量电信云边缘计算系统架构 |
CN111258716B (zh) * | 2020-01-14 | 2023-06-27 | 钛链智云(厦门)信息科技有限公司 | 一种基于容器云平台的边缘机器学习系统及其方法 |
-
2020
- 2020-09-18 CN CN202010984350.1A patent/CN112087522B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977242A (zh) * | 2010-11-16 | 2011-02-16 | 西安电子科技大学 | 一种分层分布式云计算体系结构及服务提供方法 |
CN109787805A (zh) * | 2018-11-16 | 2019-05-21 | 华北电力大学 | 基于多云协同的家庭智慧能源管理系统 |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN111562966A (zh) * | 2020-04-28 | 2020-08-21 | 北京航空航天大学 | 一种人机物融合云计算平台的资源编排方法 |
Non-Patent Citations (1)
Title |
---|
5G边云协同实时数据计算架构的研究;马松,王庚;《2019全国边缘计算学术研讨会论文集》;20190916;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112087522A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112087522B (zh) | 一种面向工业机器人数据处理的边云协同流程编排系统 | |
CN111835565B (zh) | 一种基于数字孪生的通信网络优化方法、装置和系统 | |
CN112953778A (zh) | 智融标识网络中基于意图驱动的服务编排系统和方法 | |
CN111031034A (zh) | 多协议融合边缘计算网关 | |
CN112600717B (zh) | 基于sdn的卫星网络管控协议半实物试验装置 | |
CN104702522A (zh) | 软件定义网络(sdn)中基于性能的路由 | |
CN110716744A (zh) | 一种数据流处理方法、系统和计算机可读存储介质 | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
US20200409744A1 (en) | Workflow engine framework | |
CN112925646A (zh) | 一种电力数据边缘计算系统以及计算方法 | |
CN114143181B (zh) | 一种意图驱动的空间信息网络编排系统及方法 | |
CN113900794A (zh) | 一种工业数据采集平台及方法 | |
CN108255585A (zh) | Sdk异常控制及应用程序运行方法、装置及其设备 | |
CN112994937A (zh) | 智融标识网络中虚拟cdn的部署与迁移系统 | |
CN112291728A (zh) | 基于5g网络的私有行业应用平台实现架构 | |
CN111885439A (zh) | 一种光网络综合管理和值勤管理系统 | |
CN112381347A (zh) | 一种基于api网关的生产设备状态数据实时监控方法及系统 | |
CN116485136A (zh) | 基于云边协同的锂电池产线数据平台建设方法及系统 | |
CN114363187B (zh) | 一种虚拟工业设备节点的部署方法及系统 | |
CN112486666A (zh) | 一种模型驱动的参考架构方法及平台 | |
TW201931227A (zh) | 一種虛實網路資源拓樸之介面系統 | |
CN112003825A (zh) | 一种基于sdn的虚拟网络隔离方法及sdn控制器 | |
Ou et al. | Research on network performance optimization technology based on cloud-edge collaborative architecture | |
TW201824170A (zh) | 匯流服務供裝資料交換系統 | |
CN110392111A (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 |