「连载」边缘计算(四)01-19:边缘部分原理解析(原理篇)

(接上篇)

边缘部分组件

在形式上,EdgeCore是一个单独的可执行文件,其中不同的功能以模块的形式进行管理,具体架构如图5-3所示。


图5-3 EdgeCore架构

由图5-3可知,EdgeCore包含的功能模块比较多,包括EdgeHubMetaManagerDeviceTwinEventBus、Edged、Edgemesh、CSI和CNI。接下来逐个功能模块进行解析。

  1. EdgeHubKubeEdge边缘部分组件与云部分组件交互的门户,负责接收下发到边缘的资源操作数据,并传送给边缘组件的其他功能模块。
  2. MetaManager:负责从EdgeHub 接收pod、ConfigMap、Secret、Service、和Endpoint等资源的增、删、改、查信息。首先将这些信息写入sqlite,然后将这些信息传送给Edged,同时接收Edged上报的NodeStatuspodStatus等事件, 并将这些信息写入sqlite,最后将这些信息传送给EdgeHub
  3. DeviceTwin:负责从EdgeHub 接收DeviceInstanceDeviceTwin和Desired等资源的增、删、改、查信息。首先将这些信息写入sqlite中,然后将这些信息传送给EventBus,同时接收EventBus上报的DeviceStatusDeviceTwin和Reported等事件,并将这些信息写入sqlite中,最后将这些信息传送给EdgeHub
  4. EventBusKubeEdge边缘部分与端部分交互的门户,通过订阅MQTT消息的方式将采集到的终端设备的数据上报给DeviceTwin;同时通过发布MQTT消息的方式将从DeviceTwin接收的相关指令下发到终端设备。
  5. Edged:负责从MetaManager中接收pod、ConfigMap、Secret、Service、和Endpoint等资源的增、删、改、查信息,并根据事件信息进行相应操作,负责边缘节点上应用负载的整个生命周期,同时将边缘节点上的NodeStatuspodStatus等状态数据上报给MetaManager
  6. EdgemeshKubeEdge边缘部分网络解决方案的实现,负责在同一节点上的pod间的通信和在不同节点上的pod间的通信。
  7. CSI:负责从下发到边缘的PV、 PVC和StorageClass等相关资源的增、删、改、查。
  8. CNI:负责从上下发到边缘的网络相关资源的增、删、改、查。

5.4 端部分组件

KubeEdge中,Mppers具体架构如图5-4所示。

图5-4 KubeEdge端部分组件架构

由图5-4可知,KubeEdge端部分从KubeEdge部分EdgeCore对接的协议划分,可以分为通过MQTT协议进行对接的终端设备和通过HTTP进行对接的终端设备。

1)通过MQTT协议进行对接的终端设备:该方式是目前KubeEdge推荐的方式。通过该方式对接的终端设备,需要针对支持不同协议的设备开发相应的Mapper。Mapper负责将支持不同协议的设备的数据转换成MQTT协议支持的格式,并负责将MQTT协议格式的数据转换成指定的协议格式。Mapper与EdgeCoreEventBus进行交互时,需要使用MQTT Broker作为中间通道。在该方式下,目前只提供了支持bluetooth和modbus的Mapper。

2)通过HTTP进行对接的终端设备:该方式用来对接直接支持HTTP的终端设备,也可以针对支持不同协议的设备开发相应的Mapper。Mapper负责将支持不同协议的设备的数据转换成HTTP支持的格式,并负责将HTTP格式的数据转换成指定的协议格式。目前,该方式只通过EdgeCoreServiceBus开放一个对接的入口,还没有相关对接实现和落地案例。

 「未完待续……

点击下方标题可阅读技术文章

「连载」边缘计算(一)01-16:边缘计算系统逻辑架构(原理篇)
「连载」边缘计算(二)01-17:边缘计算系统逻辑架构(原理篇)
「连载」边缘计算(三)01-18:边缘部分原理解析(原理篇)

 

  • 23
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
上一篇文章中我们介绍了如何通过遗传算法来解决函数优化问题,本文将介绍如何使用遗传算法来解决组合优化问题。 组合优化问题是指在一组离散的元素中,寻找一个最优的组合方案,使得满足一定的约束条件,并且达到最优化的目标。比如,在旅行商问题中,需要找到一条经过所有城市的最短路径。 下面我们以背包问题为例,来介绍如何使用遗传算法来解决组合优化问题。 背包问题是指有一个容量为W的背包,和n个物品,每个物品有一个重量wi和一个价值vi,需要选择一些物品放入背包中,使得总重量不超过W,同时总价值最大。 我们可以将每个物品视为一个基因,将所有物品的组合视为一个个体,通过遗传算法来不断优化每个个体的适应度,从而找到最优的组合方案。 具体步骤如下: 1. 定义基因型和表现型 我们可以将每个物品看做一个基因,每个个体的基因型就是一个n维的01向量,其中每个元素表示该物品是否被选中,1表示被选中,0表示未被选中。例如,一个基因型为[1, 0, 1, 0, 1]表示选中了第1、3、5个物品。 每个个体的表现型就是选中的物品的集合,可以通过基因型和物品的重量和价值来计算得到。 2. 定义适应度函数 适应度函数可以定义为选中的物品的总价值,但需要满足总重量不超过W的约束条件。如果超过了W,则适应度为0。 3. 初始化种群 我们可以随机生成一些基因型,作为初始种群。 4. 选择操作 选择操作可以使用轮盘赌选择,即按照每个个体的适应度来分配一定的比例,再进行随机选择。 5. 交叉操作 交叉操作可以选择两个基因型,随机选取一个位置,将两个基因型在该位置之后的部分进行交换,得到两个新的基因型。 6. 变异操作 变异操作可以随机选择一个基因型的一个位置,将该位置的值进行取反。 7. 繁殖新种群 通过选择、交叉和变异操作,生成一些新的基因型,作为下一代种群。 8. 判断终止条件 可以设定一个终止条件,例如达到最大迭代次数或者找到最优解。 通过上述步骤,我们可以使用遗传算法来解决背包问题。下一篇文章将介绍如何使用遗传算法来解决排课问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值