基于物联网的数据接入与数据存储的一些思考

基于物联网的数据接入和数据存储

一、边缘计算

边缘计算是指靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台。网络边缘侧可以是从数据源到云计算中心之间的任意功能实体,这些实体搭载着融合网络、计算、存储、 应用核心能力的边缘计算平台,为终端用户提供实时、动态和智能的服务计算。与像云端中进行处理和算法决策不同,边缘计算是将智能和计算推向更接近实际的行动,而云计算需要在云端进行计算,主要得差异体现在多源异构数据处理、带宽负载和资源浪费、资源限制和安全和隐私保护等方面。
边缘计算在具有低时延、高带宽、高可靠、海量连接、 异构汇聚和本地安全隐私保护等特点的应用场景,如智能交通、智慧城市和智能家居等行业或领域,存在非常突出的优势。这里以智能交通的一个点,大件的智能汽车为例,快速处理数据是一种至关重要的能力,而边缘计算是实现自动驾驶的关键。智能汽车本质上可以看作是一台车轮上的大型高功率计算机,其通过多个传感器收集数据。为了使这些车辆安全可靠地运行,这些传感器需要立即响应周围环境,处理速度的任何滞后都可能是致命的。
举一个很形象的例子就是:每户上海市民自己进行分拣处理垃圾,叫边缘计算。垃圾在垃圾桶侧、垃圾车、垃圾站处理,叫雾计算。把垃圾不管三七二十一,先拉到垃圾场集中处理,叫云计算。
边缘计算的应用解决了云计算的不足。随着边缘计算的兴起,在太多场景中需要计算庞大的数据并且得到即时反馈。这些场景开始暴露出云计算的不足,主要有以下几点:
(1)大数据的传输问题:据估计,到 2020 年,每人每天平均将产生 1.5GB 的数据。随着越来越多的设备连接到互联网并生成数据,以中心服务器为节点的云计算可能会遇到带宽瓶颈。
(2)数据处理的即时性:据统计,无人驾驶汽车每秒产生约 1GB 数据,波音 787 每秒产生的数据超过 5GB;2020 年我国数据储存量达到约 39ZB,其中约 30% 的数据来自于物联网设备的接入。海量数据的即时处理可能会使云计算力不从心。
(3)隐私及能耗的问题:云计算将身体可穿戴、医疗、工业制造等设备采集的隐私数据传输到数据中心的路径比较长,容易导致数据丢失或者信息泄露等风险;数据中心的高负载导致的高能耗也是数据中心管理规划的核心问题。
边缘计算的发展前景广阔,被称为“人工智能的最后一公里”,但它还在发展初期,有许多问题需要解决,如:框架的选用,通讯设备和协议的规范,终端设备的标识,更低延迟的需求等。随着 IPv6 及 5G 技术的普及,其中的一些问题将被解决,虽然这是一段不小的历程。相较于云计算,边缘计算有以下这些优势。优势一:更多的节点来负载流量,使得数据传输速度更快。优势二:更靠近终端设备,传输更安全,数据处理更即时。优势三:更分散的节点相比云计算故障所产生的影响更小,还解决了设备散热问题。两者既有区别,又互相配合。上文讲了云计算的缺点以及边缘计算的优点,那么是不是意味着在未来,边缘计算更胜云计算一筹呢?其实不然!云计算是人和计算设备的互动,而边缘计算则属于设备与设备之间的互动,最后再间接服务于人。边缘计算可以处理大量的即时数据,而云计算最后可以访问这些即时数据的历史或者处理结果并做汇总分析。边缘计算是云计算的补充和延伸。
边缘计算目前主要应用于自动驾驶、智能家居、工业物联网等领域,但目前仍存在的一些问题:
①设备的广泛分布,每个设备都要安装这样一套具备计算能力的装置;
②不同设备之间的异质性,边缘计算处理的逻辑和需要的能力(配置)是否需要区别;
③边缘计算的算力?边缘节点的数据是否还需要存储?
④边缘计算真的成本会更低吗?
⑤嵌入式开发?

二、物联网通信协议

网络协议:
基于配电网设备的物联网通信首先排除有线协议(USB、M-Bus)和无线近距离协议(NFC、蓝牙、WIFI)。目前满足要求的就只有远距离无线通信协议。
远距离无线通信协议有蜂窝通信协议和非蜂窝通信协议。蜂窝通信协议主要是2/3/4/5G、NB-IoT等技术下的各电信运营商采用的制式、协议。非蜂窝通信协议主要是ZigBee技术和LoRa技术。
首先Zigbee用于连接10-100米范围内的设备,不太适合。2G/3G面临退网。4/5G传输距离远且速率高,但成本是否过高。LoRa也是不错的远程数据通信的技术,但其数据传输速率是0.3kbps至50kbps,需要考虑传输速率是否够用的问题。
然后就剩下NB-IoT了,这里介绍一下NB-IoT:
NB-IoT,全称为Narrow Band Internet ofThings,也称窄带物联网,是3GPP专为运营商定制的LPWA蜂窝解决方案,采用超窄带、重复运输、精简网络协议等设计,以牺牲一定速率、时延、移动性能等获取面向LPWA物联网的承载能力。
从接入网络上看,NB-IoT的上行传输方案支持单频音传输和多频音传输两种形式。单频音方案支持更好的覆盖、容量与终端功耗;多频音方案可用于支持更大的峰值速率。
从技术特点上看,NB-IoT的部署方式较为快捷、灵活。从功耗和性能上看,NB-IoT终端的功耗低。从成本和市场推广上看,因为NB-IoT可直接部署于2G/3G/4G网络,现有无线网络基站的射频与天线可以复用。
与传统2G、3G、4G蜂窝通信模式相比,NB-IoT自身具备的低功耗、广覆盖、低成本、大容量等优势,使其可以广泛应用于多种垂直行业,如远程抄表、资产跟踪、智能停车、智慧农业等。

设备-云端通信协议:
物联网设备终端接入网络后,只是物联网应用的开始。设备接入网络后,设备与设备之间需要互相通信,设备与云端需要互相通信。只有互通,物联网的价值才展现出来。既然要互通,则需要一套物联网通信协议。只有遵循该套协议的设备相互间能够通信,能够交换数据。
常用的物联网通信协议主要有MQTT协议,MQTT协议是基于消息模型来实现的。设备与设备之间,设备与云端之间通过交换消息来实现通信,消息里面携带了通信数据。
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
在这里插入图片描述

MQTT协议开源产品EMQ的相关简介:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、数据接入

首先需要智能采集装置将采集到的数据上传到服务器,采集来的数据以何种形式落地到磁盘是影响数据接入的关键。MQTT协议接入到EMQ,进而接入到kafka/influxDB等。

四、时序数据存储

时序数据库的技术要求:
(1)海量数据存储(分布式存储)
(2)高并发高吞吐写入
(3)多维度聚合查询
(4)OLAP分析
时序数据库组件:
InfluxDB主流时序数据库,单机免费、集群收费。
TimescaleDB基于PostgreSQL, 可能适合数据量不太大的情形, 但提供丰富的SQL功能。
KairosDB基于Cassandra, 运维应该比较简单, 扩展性也应该不错, 写入性能估计也不错,但不支持 SQL。
CrateDB基于ElasticSearch,支持ANSI SQL,写入性能应该很好,扩展性也应该不错,估计 SQL支持度和读取性能会差一些。
OpenTsdb底层使用Hbase作为其分布式存储引擎,具有hbase的相关优势,不支持SQL。
Kudu列式存储(基于hbase),支持SQL,比较赞的是支持 update/insert,可以通过 impala 或spark来支持SQL查询。
Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的成员之一,专门为了对快速变化的数据进行快速的分析。Kudu的大部分场景和Hbase类似,其设计降低了随机读写性能,提高了扫描性能,在大部分场景下,Kudu在拥有接近Hbase的随机读写性能的同时,还有远超Hbase的扫描性能,填补了以往Hadoop存储层的空缺。
区别于HBase存储引擎,Kudu有如下优势:
①快速的OLAP类查询处理速度。
②与MapReduce、Spark等Hadoop生态圈常见系统高度兼容,其连接驱动由官方支持维护。
③与Impala深度集成,相比HDFS+Parquet+Impala的传统架构,Kudu+Impala在绝大多数场景下拥有更好的性能。
④能够同时支持OLTP和OLAP请求,并且两者都拥有良好的性能。
⑤支持结构化的数据,纯粹的列式存储,省空间的同时,提供更高效的查询速度。

猜你喜欢

转载自blog.csdn.net/weixin_44455388/article/details/108243668