一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法

文档序号:291276 发布日期:2021-11-23 浏览:1次 >En<

阅读说明:本技术 一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法 (KubeEdge and edgeOS-based Internet of things equipment control architecture and method ) 是由 郁善金 王晓江 高丰 郑欢欢 杨涛 汤志航 于 2021-07-13 设计创作,主要内容包括:本发明涉及一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法,该架构具体为:所述KubeEdge包含云侧模块和边缘侧模块,所述云侧模块部署有云端节点,边缘侧模块部署有边缘节点,所述云侧模块管理边缘节点和发布边缘端应用,边缘侧模块执行边缘端应用部署和数据同步至云侧模块,所述边缘节点部署Device Mapper和MQTT Broker,所述EdgeOS配置有Gateway网关并通过该网关与端侧设备进行数据通信,所述Device Mapper以HTTP消息形式与Gateway网关交互,发布、订阅MQTT消息至MQTT Broker。本发明降低了KubeEdge侧设备管理开发的复杂度。(The invention relates to an Internet of things equipment control framework and a method based on KubeEdge and EdgeOS, wherein the framework specifically comprises the following steps: the KubeEdge comprises a cloud side module and an edge side module, the cloud side module is deployed with a cloud end node, the edge side module is deployed with an edge node, the cloud side module manages the edge node and issues edge end application, the edge side module executes edge end application deployment and data synchronization to the cloud side module, the edge node is deployed with a Device Mapper and an MQTT Broker, the EdgeOS is configured with a Gateway and carries out data communication with end side equipment through the Gateway, and the Device Mapper interacts with the Gateway in the form of HTTP messages and issues and subscribes MQTT messages to the MQTT Broker. The invention reduces the complexity of KubeEdge side equipment management development.)

一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法

技术领域

本发明涉及边缘计算领域,尤其涉及一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法。

背景技术

随着物联网和5G技术的不断推进和发展,云计算应用的逐渐增加以及智能设备数据的急剧增加,对设备的接入和数据采集需求必然空前高涨。2010-2018年全球物联网设备数量高速增长,复合增长率达20.9%,2018年,全球物联网设备连接数量将高达91亿个。预测2025年全球物联网设备(包括蜂窝及非蜂窝)联网设备将达到252亿个。传统的设备实时监控、数据采集使用技术不能满足低延时和高带宽的要求。另一方面设备终端、底层系统、设备接入协议转换等功能模块都以单体模式开发,实现数据收集、处理、导出、设备控制等功能。这种系统设计和实现方式存在运维困难、功能模块不可重用。在后期的开发当中,系统适应性非常差,系统数据共享不方便。

KubeEdge是一个开源系统,设计之初,不仅聚焦于云边协同、边缘自治,也充分考虑了对端侧设备的管理能力。其具备的设备管理能力,能够通过边侧模块直达端侧设备,贯通云-边-端。但是由于端侧设备支持的协议类型众多,难以做到统一,KubeEdge仅仅提供了规范框架,需要开发人员根据不同的协议自行开发,这对于对那些对协议不了解的开发人员来说,十分困难。

EdgeOS是一个基于OpenWrt开发的物联网操作系统,具备工业协议解析、数据过滤和分发等核心功能,具有跨平台、易使用和二次开发等优点。具备可扩展的南北向接入能力,但是其能力主要聚焦于南向设备的接入管理,缺乏类似KubeEdge这类基于云原生架构的云边协同能力。

综上所述,亟需一种既能简化KubeEdge设备管理开发复杂度,有效屏蔽端侧设备差异性,又能在端侧接入丰富协议类型设备的方法。

发明内容

为了解决现有技术中存在的上述技术问题,本发明提出了一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法,符合云边端架构,同时能有效屏蔽底层设备差异性,聚合不同系统的优势,提高了物联网平台的可扩展性以及提高边缘设备管理能力,其具体技术方案如下:

一种基于KubeEdge和EdgeOS的物联网设备控制架构,所述KubeEdge包含云侧模块和边缘侧模块,即云端和边缘端,所述云侧模块部署有云端节点,边缘侧模块部署有边缘节点,所述云侧模块管理边缘节点和发布边缘端应用,边缘侧模块执行边缘端应用部署和数据同步至云侧模块,所述边缘节点部署Device Mapper和MQTT Broker,所述EdgeOS配置有Gateway网关并通过该网关与端侧设备进行数据通信,所述Device Mapper以HTTP消息形式与Gateway网关交互,发布、订阅MQTT消息至MQTT Broker。

进一步的,所述云端节点包括:原生Kubernetes组件和CloudCore组件,所述原生Kubernetes组件包括:kube-apiserver,用于接收客户端请求;kube-scheduler,调度云端应用部署;kube-controller-manager,管理系统各种的微控制器。

进一步的,所述CloudCore组件包括:EdgeController,用于同步边缘侧模块和API-server信息,管理边缘节点和Pods的元数据;DeviceController,用于同步边缘侧模块的设备CRD信息与API-Server信息;CloudHub,基于websocket或者quic协议连接与边缘端通信,监听云端的变化,缓存并发送消息到边缘侧模块,实现云边通信。

进一步的,所述边缘节点还部署有Edgecore组件,所述Edgecore组件包括:

EdgeHub:负责与边缘计算的云服务交互,从云端的CloudHub接收信息转发到边缘侧模块,同时将边缘侧模块消息通过隧道发送到云侧模块,具体包括同步云端资源更新、报告边缘主机和设备状态变化到云端;

Edged:用于管理容器化的应用程序,保障云端下发pod以及对于各种配置、存储能够在边缘节点运行,并在异常之后进行自动检测、故障恢复;

EventBus:是与MQTT服务器mosquitto交互的MQTT客户端,为其他组件提供订阅和发布功能,作为用于发送/接收有关MQTT主题的消息接口;

ServiceBus:是运行在边缘端的HTTP客户端,接受来自云端的请求,与运行在边缘端的HTTP服务器交互;

DeviceTwin:负责存储物联网设备状态并将设备状态同步到云端,还为应用程序提供查询接口;

MetaManager:是消息处理器,位于Edged和Edgehub之间,后端对应一个本地的轻量级数据库SQLite,它负责向所述轻量级数据库SQLite存储/检索元数据。

进一步的,所述Gateway网关设有设备采集服务和设备数据导出服务,所述采集服务负责网关与端侧设备进行数据通信,采集设备数据,将采集的设备数据统一处理;所述数据导出服务负责网关跟云端进行数据通信。

一种基于KubeEdge和EdgeOS的物联网设备控制方法,包括如下步骤:

步骤一:预搭建Kubernetes集群,在云端节点部署云端核心模块Cloudcore,在边缘节点部署边缘核心模块EdgeCore和设备数据通信模块MQTT Broker;

步骤二:在云端创建device model/device instance,该CRD资源包括对设备功能的描述及设备属性的描述;

步骤三:开发Device Mapper,并部署运行在边缘节点,使之与EdgeOS的HekrGateway204网关通过http通信。

进一步的,所述Device Mapper用于http消息和MQTT消息的转换,具体为:发布、订阅MQTT消息到MQTT Broker和以http消息与Hekr Gateway204网关交互。

本发明的有益效果:

本发明集成了KubeEdge和EdgeOS的优势,打通云边端,简化了KubeEdge侧对于设备管理开发的复杂性,有效的屏蔽了开发不同协议类型的Device Mapper,同时发挥了EdgeOS的工业协议解析、数据过滤和分发等核心能力,解决工业互联网、智能交通、新零售等场景中物联网设备的高效管理和智能分析,实现设备管理在云端和边缘端的协同。

附图说明

图1是本发明的基于KubeEdge和EdgeOS的设备管理交互图;

图2是KubeEdge框架图。

具体实施方式

为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。

如图1所示,本发明的一种基于KubeEdge和EdgeOS的物联网设备控制架构,具体包括以下内容:

基于KubeEdge实现云边协同、边缘自治、设备管理,KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机,可以实现端侧设备的控制管理。

如图2所示,所述KubeEdge基于kubernetes构建,并为网络应用程序提供基础架构支持、云侧和边缘侧之间的部署和元数据同步,KubeEdge包含云侧模块和边缘侧模块,即云端和边缘端,所述云侧模块部署有云端节点,边缘侧模块部署有边缘节点,云侧模块管理边缘节点和发布边缘端应用,边缘侧模块执行边缘端应用部署和数据同步到云端,其提供两方面的能力:一方面管理边缘端负载应用,即以pod形式运行的服务,另一方面通过DeviceController/Device twin/Device mapper对端侧设备控制及其数据同步。

所述云侧模块部署有云端节点,即kubernetes主控节点,所述kubernetes主控节点包括:原生Kubernetes组件和CloudCore组件。所述原生Kubernetes组件包括:kube-apiserver,用于接收客户端请求;kube-scheduler,调度云端应用部署;kube-controller-manager,管理系统各种的微控制器。

所述CloudCore组件包括:

EdgeController,是一个扩展的Kubernetes控制器,用于同步边缘侧模块和API-server信息,管理边缘节点和Pods的元数据,确保数据能够传递到指定的边缘节点;

DeviceController,是一个扩展的Kubernetes控制器,用于同步边缘侧设备CRD信息与API-Server信息,管理边缘设备,确保设备信息、设备状态的云边同步。

CloudHub,是一个Web Socket服务端,基于websocket或者quic协议连接与边缘端通信,负责监听云端的变化,缓存并发送消息到边缘侧模块的EdgeHub,实现云边通信。

所述边缘侧模块部署有边缘节点,借助Kubernetes CRDs和与所使用设备相对应的Device mapper对设备进行控制,所述边缘节点包括:Edgecore组件和MQTT Broker组件。

所述Edgecore组件包括:

EdgeHub:是一个Web Socket客户端,负责与边缘计算的云服务交互,从云端接收信息转发到边缘侧模块,同时将边缘侧模块消息通过隧道发送到云端,具体包括同步云端资源更新、报告边缘主机和设备状态变化到云端等功能;

Edged:是运行在边缘节点的代理,用于管理容器化的应用程序,保障云端下发pod以及对于各种配置、存储能够在边缘节点运行,并在异常之后提供自动检测、故障恢复等能力;

EventBus:是一个与MQTT服务器mosquitto交互的MQTT客户端,为其他组件提供订阅和发布功能,充当用于发送/接收有关MQTT主题的消息接口;

ServiceBus:是一个运行在边缘的HTTP客户端,接受来自云上服务的请求,与运行在边缘端的HTTP服务器交互,提供了云上服务通过HTTP协议访问边缘端HTTP服务器的能力;

DeviceTwin:负责存储物联网设备状态并将设备状态同步到云端,还为应用程序提供查询接口;

MetaManager:是消息处理器,位于Edged和Edgehub之间,其后端对应一个本地的轻量级数据库SQLite,所有其他模块需要与云端通信的内容都会被保存到本地DB中,当需要查询数据时,如果本地DB中存在该数据,就会从本地获取,这样就避免了与云端之间频繁的网络交互。同时,在网络中断的情况下,本地的缓存的数据也能够保障其稳定运行,比如智能汽车进入到没有无线信号的隧道中,在通信恢复之后,重新同步数据,它负责向所述轻量级数据库SQLite存储/检索元数据。

通过Device controller和Device twin,管理云端的设备,并在边缘节点和云端之间同步设备更新。在MQTT Broker和Device mapper的协助下,实现边缘节点和端侧设备控制及数据交换,从而使得云-边-端能力贯通。

所述EdgeOS物联网边缘网关系统通过配置其工业网关Hekr Gateway204,实现网关对物联网子设备的采集数据、协议解析、分发数据等功能,所述工业网关HekrGateway204设有设备采集服务和设备数据导出服务,所述采集服务负责网关与子设备进行数据通信,采集子设备数据,将采集的子设备数据统一处理;所述数据导出服务负责网关跟北向的云服务平台进行数据通信。

其中,所述物联网子设备支持多种通信协议类型设备,如ModBus、Zigbee、BlueTooth等。

所述Hekr Gateway204网关是EdgeOS系统的核心部分,主要功能包括:

协议解析,支持多种通信协议,与子设备进行数据通信,采集子设备数据;

数据过滤,将采集的子设备数据统一处理;

数据分发,根据需要,与云服务平台数据通信,分发设备数据至不同平台。

所述EdgeOS物联网边缘网关系统是基于OpenWrt开发的专为适配边缘侧资源受限设备配置的轻量级物联网操作系统,具备工业协议解析、数据过滤和分发等核心功能,具有跨平台、易使用和二次开发等优点,具体包括:

可扩展的南向接入能力,支持多种数据接口:以太网、RS232、RS485、CAN,支持多种工业协议解析,协议包括:KNX、BACnet、ModBus TCP、ModBus RTU、DL/T645、OPC等;

可扩展的北向接入能力,支持多种云服务平台,包括EdgeX、Http、IoTOS等;

数据自动化,根据条件和表达式等进行数据过滤、计算、转发等操作;

数据可视化,将采集的数据进行可视化展示;

丰富的网络接入能力,支持GPRS、4G(LTE)、Wi-Fi、以太网接入方式;

跨多种硬件平台,支持不同体系结构:ARM、x86、x86-64、MIPS等,不同成本,不同性能的多种硬件网关设备;

后台管理界面,可以使用浏览器作为客户端连接到管理后台进行功能配置,配置支持导入导出、可在现场快速部署;

低内存资源占用,EdgeOS程序本身只占用不到128MB的运行内存,运行不同协议的采集和云服务交互任务也有极低的内存占用表现;

EdgeOS系统被设计为可扩展的结构,通过编写成为模块的程序,可以让EdgeOS支持更多的数据采集协议或更多类型的子设备,也可以将数据以自定义的格式发送到自己的服务端。

基于上述架构,本发明的一种基于KubeEdge和EdgeOS的物联网设备控制方法,包括如下步骤:

步骤一:预搭建Kubernetes集群,在云端节点部署云端核心模块Cloudcore,在边缘节点部署边缘核心模块EdgeCore和设备数据通信模块MQTT Broker;

步骤二:在云端创建device model/device instance,该CRD资源包括对设备功能的描述及设备属性的描述;

步骤三:开发Device Mapper,并部署运行在边缘节点,使之与EdgeOS的HekrGateway204网关通过http通信。

所述Device Mapper用于http消息和MQTT消息的转换,向上发布、订阅MQTT消息到MQTT Broker,向下以http消息与Hekr Gateway204网关交互。

以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种电力物联终端安全状态评估方法、装置及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类