开源云架构助力大数据流物联网应用
立即解锁
发布时间: 2025-08-30 01:57:09 阅读量: 14 订阅数: 21 AIGC 


物联网互操作性与开源
### 开源云架构助力大数据流物联网应用
#### 1. 架构模块介绍
在大数据流物联网应用领域,一种独特的云架构应运而生,它主要由以下几个关键模块构成:
- **采集模块**:作为外部物联网智能对象网络接入云架构的入口,其核心任务是从不同且异构的数据源收集原始数据,并将这些数据提供给其他功能模块。由于智能对象可实现多种应用层协议,采集模块配备了一组不同的连接器,以妥善处理每种协议特定的传入数据流。
- **归一化模块**:原始数据通常依赖于具体应用,因此归一化模块被设计出来,用于对所有收集到的信息进行归一化处理,生成适合处理的表示形式。归一化过程包括对数据执行基本的原子操作,如:
- 去除无用信息(例如不必要的头部或元数据);
- 添加额外信息进行注释;
- 将有效负载转换为合适的格式。
为了高效处理大量传入数据,归一化步骤通过特定协议的队列和交换器进行组织。交换器在系统中充当路由器,根据动态路由规则将传入数据分发到一个或多个输出队列。其信息处理流程如下:
1. 所有与特定协议相关的数据流被路由到专用的协议特定交换器,该交换器将它们转发到协议专用队列;
2. 归一化过程处理队列中当前可用的输入数据,并执行所有必要的归一化操作,以获得可由后续模块处理的信息单元流;
3. 归一化后的流被转发到输出交换器。
归一化块的输出是第一个图形模块交换器的入口点,该交换器将数据传递给下一级所有感兴趣的监听器。使用交换器的主要优点是队列和归一化过程可以根据当前工作负载动态调整,例如,可轻松复制归一化队列和过程以避免系统拥塞。
- **图框架**:由监听器组成,监听器可以是图中的处理单元或外部消费者等实体,它们对原始数据流或图中不同节点提供的输出感兴趣。每个监听器代表拓扑中的一个节点,多个监听器在所有处理单元之间的连接定义了数据流从生产者到消费者的路由。节点是对传入数据进行某种计算的处理单元,边表示连接处理单元的信息流,它们共同实现一些复杂的行为。图分为两个阶段:
- 核心图:执行架构提供的基本处理(例如格式转换、归一化、聚合、数据关联和其他转换);
- 应用图:定义需要来自核心或内部图级别的数据,对已处理数据进行自定义处理的监听器。
核心图和应用图以一个或多个同心层的形式组织,以提供一组常用功能并动态扩展系统的能力。处理的复杂性与数据穿越的层数成正比,信息流始终指向外部或外部层。在图框架中,每个级别都可以通过级别专用的交换器访问,该交换器将所有数据流转发到其级别中的节点。
- **应用注册模块**:负责维护系统中所有图形节点的当前状态信息,并在图中路由数据。具体操作包括:
- 连接对系统提供的某些流感兴趣的新节点或消费者应用程序;
- 分离不再对流感兴趣的图节点,并在需要时重新连接它们;
- 处理发布新流的节点;
- 维护有关数据主题的信息,以正确生成路由键并在不同图级别之间组合数据流。
该模块由两个主要组件组成:
- 图状态数据库:用于存储所有活动图形节点的信息,如它们的状态、级别以及是否为发布者;
- 节点注册和队列管理器(NRQM):处理来自图形节点或外部进程的请求,管理队列和系统中的路由。
当新进程作为监听器加入图时,它向应用注册模块发送连接请求,指定其感兴趣的数据类型。NRQM 模块将新进程的信息存储在图状态数据库中,并根据其偏好为该进程创建一个新的专用输入队列。最后,NRQM 向该进程发送队列的引用,使其成为图的新监听器,并可以从输入队列读取传入流。注册阶段完成后,节点可以执行新的请求(例如发布、分离、获取状态)。
#### 2. 架构实现细节
整个系统由三个主要模块构成:传入原始数据的采集和归一化、图管理以及应用注册实体。以下是使用标准协议和开源组件实现该架构的详细信息:
- **采集节点和归一化节点实现**
- **采集节点**:考虑到主要且最广泛使用的物联网应用层协议,实现支持 HTTP、CoAP 和 MQTT。
- HTTP 采集节点采用 NGINX 实例,可通过默认 HTTP 端口访问。作为处理模块,配置了一个专用的 PHP 页面,将传入数据转发到内
0
0
复制全文
相关推荐









