欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

杂七杂八的物联网学习

程序员文章站 2022-03-06 08:21:23
一、MQTT实现一对多通信(发布或订阅型协议)由中介(broker)、发布者(publisher)与订阅者(subscriber)构成(1)订阅者连接中介,向中介订阅主题A(2)发布者连接中介,发布主题A(3)中介把主题A转发给订阅者订阅者持续连接中介,发布者1:N订阅者,在物联网中,设备相当于发布者,服务器相当于订阅者订阅者和发布者只需要知道中介的地址发布/订阅的主题采用分层结构,例如:/sensor/temperature/# 等同于 以/sensor/temper.....

一、MQTT

实现一对多通信(发布或订阅型协议)

由中介(broker)、发布者(publisher)与订阅者(subscriber)构成

(1)订阅者连接中介,向中介订阅主题A

(2)发布者连接中介,发布主题A

(3)中介把主题A转发给订阅者

订阅者持续连接中介,发布者1:N订阅者,在物联网中,设备相当于发布者,服务器相当于订阅者

订阅者和发布者只需要知道中介的地址

发布/订阅的主题采用分层结构,例如:
/sensor/temperature/#  等同于  以/sensor/temperature/开头的所有主题

/sensor/+/room1  等同于  以/sensor/ 开头 以/room1结尾的所有主题

 

二、QoS

Quality of Service 服务质量:网络安全机制,解决网络堵塞和网络延迟

在“发布者与中介之间”与“中介与订阅者之间”都存在QoS,在MQTT协议中存在三个等级的QoS

(1)QoS 0 (at most once)最多发一次:遵循TCP/IP “尽力服务”原则(best effort)

         网络发生堵塞时,不管用户或者应用,马上丢包,减少业务量     所以不保证消息到达

(2)QoS 1 (at least once )至少发一次

发布者将主题A发送给中介,中介收到主题后,给发布者发送PUBACK,然后中介将主题A发送给订阅者

若在一定时间之内发布者没有收到PUBACK,则会再次向中介发送该主题

(3)QoS 2(exactly once)精确发送一次

发布者发送主题给中介,中介返回PUBREC,发送者发送PUBREL给中介,中介返回PUBCOMP,后中介将主题发送给订阅者。

QoS 1+QoS 2 :避免收到重复的消息

人们通常采用QoS 0 ,减少网络负担

 

三、retrain

订阅者只能接收到订阅之后发布的消息,发布者若发布了带有retrain标志的消息,则中介会将消息传递给订阅该主题的订阅者,并将带有retrain标志最新的消息存储下来,若有新的订阅者出现,则会立即接收到带有retrain标志的最新消息。
 

四、数据格式

文本数据格式:以XML、Json为主,XML易读,但是Json数据量相对较小

图像、音频:二进制——>MessagePack

 

五、批处理与流处理

1、批处理:将需要处理的数据存储起来,定期处理

(1)分布式处理平台 hadoop

拥有 MapReduce机制 与 分布式文件系统 HDFS 

MapReduce机制能够高效地处理数据,由map、shuffle与reduce三部分构成

map将数据进行分类,shuffle将不同节点、种类相同的数据归类,reduce将分类好的数据整合到一起

 

分布式文件系统能够将数据分割存入多个磁盘

 

(2)分布式处理平台Spark

RDD弹性分布数据集 :能够把数据放在内存上进行处理,RDD使用过的内存不能够写入,所以要在新的内存上展开处理结果

 

2、流处理:不保存数据,实时进行处理

 

六、数据库

关系型数据库RDB 在对于图像与音频等二进制数据的保存,一般将图像存在文件夹,将图像的数据路径存在RDB。

数据库把数据存储在硬盘,所以经常要对磁盘进行访问,所以处理速度较慢。

 

键值存储(NoSQL的一种)

(1)数据保存在内存:高速保存数据,但软件停止运行,数据丢失,因此多作为缓存

(2)数据保存在硬盘:存取速度慢

Redis:通常将数据存储在内存,随时可以讲数据保存到硬盘

 

文档行数据库(NoSQL的一种)

以结构化文档的格式保存数据(如XMl或Json) MongDB——Json格式

 

 

 

本文地址:https://blog.csdn.net/cutebaboon/article/details/108560795

相关标签: 物联网 数据库