IoT云供应中间件:原理、组件与运行机制
立即解锁
发布时间: 2025-08-29 11:10:08 阅读量: 16 订阅数: 21 AIGC 


智慧城市:人与技术的融合
# IoT云供应中间件:原理、组件与运行机制
## 1. 引言
在物联网云环境中,供应中间件起着至关重要的作用。它能够帮助用户实现和执行物联网云系统中的供应工作流,应对大规模资源池的弹性扩展、无处不在的访问以及资源定制等挑战。物联网云供应主要涉及两个核心任务:一是分配和部署软件定义网关(SDGs),二是使用特定于应用的工件对软件定义网关进行定制。
## 2. 物联网云供应中间件概述
### 2.1 中间件架构
物联网云供应中间件基于微服务架构设计,分布在云和边缘设备上。其主要组件包括:
- 软件定义网关(SDGs)
- 运行在边缘设备上的供应守护进程和虚拟缓冲区守护进程
- 运行在云端的供应控制器
以下是中间件的主要组件架构图:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(Provisioning Controller):::process -->|管理| B(APIManager):::process
A -->|监控| C(MonitoringCoordinator):::process
A -->|处理| D(DeploymentHandler):::process
A -->|构建| E(ImageBuilder):::process
A -->|管理| F(SDGManager):::process
A -->|管理| G(ArtifactsManager):::process
H(Edge Device):::process -->|通信| A
H -->|运行| I(Software-Defined Gateway):::process
H -->|运行| J(Provisioning Daemon):::process
H -->|运行| K(Virtual Buffers Daemon):::process
I -->|包含| L(Artifacts Package):::process
I -->|包含| M(Provisioning Agent):::process
I -->|包含| N(Device Connectivity):::process
I -->|包含| O(SDG Monitor):::process
K -->|包含| P(VirtualBuffers):::process
K -->|包含| Q(DeviceDrivers):::process
```
### 2.2 主要任务
- **分配和部署软件定义网关(SDGs)**:SDGs是一种特殊类型的软件定义物联网单元,用于支持物联网云计算资源的虚拟化,提供隔离和管理的应用执行环境。
- **定制软件定义网关**:使用特定于应用的工件对SDGs进行定制,以满足不同应用的需求。
## 3. 软件定义网关(SDGs)
### 3.1 SDG原型
SDG原型定义了SDGs和特定于应用组件的隔离运行时环境,其主要目的是提供隔离的命名空间,并限制和隔离CPU和内存等资源的使用。SDG原型依赖于内核支持的虚拟化方法,如LXC、libvirt - sandbox或chroot等容器技术,通过定义良好的API,SDGs可以在运行时进行动态配置、供应、互连和部署。
### 3.2 SDG组件
#### 3.2.1 工件包(Artifact Packages)
物联网云应用由不同的应用组件和支持文件组成,这些被称为特定于应用的工件。为了实现自动化工件供应,这些工件需要被打包,工件包包含以下内容:
| 内容 | 说明 |
| ---- | ---- |
| 供应指令 | 包含安装和卸载包等必要指令 |
| 元信息 | 如工件的硬件要求和暴露的API |
#### 3.2.2 供应代理(Provisioning Agent)
供应代理是一个轻量级组件,预先安装在SDGs内部。其主要职责包括:
- 定期检查供应控制器的更新队列,下载工件包并执行供应工作流中引用的指令。
- 作为供应指令的本地解释器,处理供应控制器发起的各种请求,如创建当前设备状态的快照并上传到控制器。
#### 3.2.3 设备连接(Device Connectivity)
SDGs部署在边缘设备上,具有有限的权限,不能直接访问硬件。设备连接组件提供了一个SDG端点,用于暴露底层设备并实现基于服务的交互。该组件提供了一个可插拔的连接层,默认预配置了自定义的REST - 类似应用层协议,也支持CoAP和MQTT等通信协议。
## 4. 边缘设备中间件支持
### 4.1 虚拟缓冲区守护进程(Virtual Buffers Daemon)
虚拟缓冲区守护进程(VBD)的主要目的是调解与连接到现场总线的设备的通信,并提供对这些设备的虚拟独占访问。其主要概念是虚拟缓冲区,它提供了传感器和执行器的虚拟表示。VBD的主要组件包括:
- **虚拟缓冲区(VirtualBuffers)**:包装设备驱动程序,与设备驱动程序共享共同的行为。
- **设备驱动程序包(DeviceDrivers Package)**:包含一组驱动程序实现。
- **虚拟缓冲区管理器(VirtualBuffersManager)**:管理缓冲区和驱动程序的生命周期。
以下是VBD的简化UML图:
```mermaid
classDiagram
class Component {
+initialize()
```
0
0
复制全文
相关推荐









