c/c++语言开发共享杂七杂八的物联网学习

一、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格式

 

 

 

c/c++开发分享杂七杂八的物联网学习地址:https://blog.csdn.net/cutebaboon/article/details/108560795

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/597595.html

(0)
上一篇 2021年5月8日
下一篇 2021年5月8日

精彩推荐