您当前的位置: 首页 > 无限物联

11个热门物联网开发平台的比较

2017-03-06 16:28:13

从1999年Kevin Ashton第1次提出这个概念以来,物联网已经历了迅速的转变。随着最近几年来连接到物联网的装备在多样性和数量方面出现指数式的增长,物联网已成了1种主流技术,在推动现在社会的生活方式方面有着极大的潜力。

在物联网的技术与工程上,硬件与软件平台之间目前仍有明确的界限,其中大多数供应商都将精力放在硬件方面。只有极少数供应商提供物联网软件服务:例如,Mattermark根据所获总投资排名的前100名物联网创业公司中,只有13家提供物联网软件服务。

本文针对现有物联网软件平台,基于我们对IoT供应商进行的详细分析做了1份综合调查。而本文最后选择的物联网供应商,完全是基于这样的标准:这些供应商是不是提供软件解决方案,来处理从物联网装备/传感器获得的信息。注意:虽然我们希望尽量全面,但本文中仍有可能漏掉了1些这些平台的最新改进。

物联网软件平台想要的重要功能

基于最近的几份调查,我们选出了物联网软件平台最关键的功能:装备管理、集成、安全性、数据搜集协议、分析类型和支持可视化,以便对样本功能进行比较。本文的后半段中会对这些特性进行简单介绍。

装备管理与支持集成

装备管理是物联网软件平台所需的重要功能之1。物联网平台应当保护着1堆与之连接的装备,并跟踪这些装备的运行状态;还应当能够处理配置、固件(或其他软件)更新问题,并提供装备级的毛病报告和处理方案。每天结束前,装备用户应当能够取得个人装备级的统计。

支持集成是物联网软件平台需要的另外一个重要功能。需要从物联网平台上公布的重要操作和数据应当能通过API访问,REST API经常使用于这1目的。

信息安全

运营物联网软件平台所需的信息安全手段,比普通软件利用和服务所需的要求更高。数百万台装备与物联网平台连接,代表着我们需要处理的漏洞也是相应比例的。1般来说,为了不被窃听,物联网装备与物联网软件平台之间的网络连接需要通过强大的加密机制来保障。

但是,在现代的物联网软件平台上,大多低本钱、低功率的装备都没法支持这样的高级访问控制措施。因此,物联网软件平台本身需要采取替换措施,以解决这类装备级的问题。例如:将物联网流量划分为专用网络,依托云利用级的强大安全性,要求定期更新密码并支持验证更新固件,还有签名才能更新软件等等,这些手段都能加强物联网软件平台的安全级别。

数据搜集协议

需要注意的另外一个重要方面,是物联网软件平台的各个组件之间用于数据通讯的协议类型。物联网平台可能需要扩大到数百万乃至数10亿装备(节点)上。应当使用轻量级通讯协议,以实现低能耗和低带宽功能。

注意:虽然我们在本文中将协议作为概述性辞汇,不过用以搜集数据的协议可分为下面几类:比如利用、负载容器、信息传递和遗留协议。

数据分析

从连接到物联网平台的传感器中所搜集的数据需要通过智能化手段进行分析,以取得成心义的见解。

物联网数据分析有4种主要类型:实时分析、批处理分析、预测分析与交互式分析。实时分析:对数据流履行在线(动态)分析。样本操作包括基于窗口的集成、挑选、转换等。

批处理分析:对积累的数据集进行操作。这样,批处理操作会在预定时间段内运行,或许延续数小时或很多天。预测分析:基于各类统计与机器学习技术,集中进行预测。交互式分析:对数据流和批数据履行多个探索性分析。最后1个就是实时分析,在任何软件平台都占据较重的分量。

当前的物联网软件平台

对当前的物联网软件平台进行仔细调查后,我们发现上面提到的每一个功能都已实现,只是程度不同而已。我们在下面列出了相干的平台,并进行了功能总结对照:

表1 相干平台功能总结对照(标着“未知”的栏目代表相干信息在可用文件中没法找到)

206

很明显,上面罗列的物联网初创公司,其中很多可能还不具有装备管理功能。在这方面,还需要物联网软件平台供应商提供解决方案。

另外在分析生成的物联网数据时,在计算及可视化方面提供的支持相对较少。它们大多支持实时分析——这是任何物联网框架的必备功能。但是,只有极少数物联网软件平台为其他3种分析类型提供支持。而可视化界面大多表现为门户网站这样的简单模式,允许对物联网生态环境进行管理,不过很少提供可视化的数据分析功能。

在不同的物联网软件平台中,还有几个常见功能,包括基于集成的REST API,支持用MQTT协议来搜集数据,和使用SSL进行链路加密。虽然在表1中没有提到,不过单ParStream公司就可以到达300万到400万行/秒的吞吐量。

这表明大多数物联网软件平台设计时并未太多斟酌物联网部署的系统性能,而在真实情况下这是非常关键的。

需要改进的功能

很明显有若干地方需要改进。在本节中,我们首先提供了1张改进功能列表。在物联网软件平台供应商的努力下,其中1些项目已实现,还有1些性能等待实现。以后我们提供了1张列表,包括现在还没有实现的这些新功能。

现有功能

数据分析

现在物联网软件平台大多支持实时分析,不过批处理分析和交互式数据分析或许一样重要。

在这1点上,有人可能会辩论:在其他知名的处理平台中包括这类分析功能,想要配置用于分析场景的软件系统也很简单。不过,这谈何容易。用于实时分析(Storm、Samza等)、用于批处理分析(Hadoop、Spark等)、用于预测分析(Spark MLLIB等)、用于交互式分析(Apache Drill等)的知名数据处理系统,其实不能直接用在物联网案例中。

基准

物联网软件平台需要有扩大性,还应包括描写和评估系统性能的装备。定义良好的性能指标需要:能够塑造与丈量物联网系统的性能,并斟酌到网络特性、能耗特点、系统吞吐率、计算资源消耗和其他运行特点。

边沿分析

需要采取措施以减少传感器装备与物联网服务器之间的大量网络带宽消耗。解决方案之1是使用轻量级的通讯协议。另外一个办法就是使用边沿分析法,以减少传输到物联网服务器上的原始数据总量。即使是在简单的硬件嵌入系统中(如Arduino),也能够实现边沿分析法。

其他问题

应当注意:有多个与物联网软件平台相干的其他问题,比如伦理、道德和法律问题,在本文中并未触及。虽然这些问题也很重要,但在本文中不作讨论。

需要添加的功能

处理无序进程

在任何物联网利用中都有可能碰到无序事件,在传感器所发出的事件流中,元组顺序混乱多是网络延迟、时钟偏移等缘由所致使的。处理无序的物联网事件可能会致使系统故障。处理无序事件时,需要在结果准确性与延迟之间做出权衡。

有4项主要的处理技术:基于缓存(Buffer-based)、基于标点(Punctuation-based)、基于推测(Speculation-based)和基于近似(Approximation-based techniques)。在物联网解决方案中,应当使用其中的1项或多项来解决无序事件的问题。

支持物联网背景

背景主要由个体、其偏好或过去的行动构成。例如:在移动电话案例中,由于现代移动电话中有很多不同类型的传感器,因此我们能够取得丰富的背景信息。在物联网分析中,这些背景数据应当被纳入斟酌。

结论

物联网模式的快速发展需要强大的物联网软件平台,能通过物联网用例满足出现的需求。本文中,我们调查了现有最早进的物联网软件平台的功能,调查集中在这些方面:装备管理、集成、安全性、数据搜集协议、分析类型、可视化支持。从这项研究中,像装备管理、物联网数据分析、物联网软件系统可扩大性和性能这样的领域明显需要物联网平台社区投入特别的关注。

TAG:
推荐阅读
图文聚焦