随着技术的发展与市场需求的深入,IoT物联网已进入快速发展期,给ICT行业带来了广阔的市场空间。在刚刚过去的2018华为中国生态伙伴大会期间,通过展区展示不难发现,在汽车、水、电、气、工业设备等等领域,越来越多的终端联接网络,源源不断的产生海量时序和时空数据,这些数据往往具有很强的时效性,随着时间的推移,其价值也就急速衰减,因此如何应对海量时序/时空数据的高速存储和查询、如何对数据进行实时的检测和监控、如何实时的挖掘出数据背后的价值都是很大的挑战。那么,华为云EI企业智能又是如何帮助用户与伙伴应对这些挑战呢?
车联网正成为IoT行业应用的先锋
IoT典型场景
根据笔者在IoT领域的一些实践经验,将IoT领域的在线应用场景归纳为如下:
物联网IoT数据源产生的数据大多是时序和时空数据,那么什么是时序数据和时空数据。我们一般认为时序数据是某个时间点发生了某件事情,但是在时序数据这个领域里定义的时序数据全都是跟数值有关的。举一个简单例子,一辆汽车在上午9点在某个加油站加油这条记录,相当于一条日志,本身不能构成一个时序数据,但是如果今天我们每一秒钟都记录了该汽车的油箱里具体油量的值,那么今天的86400条油量记录数据再加上每秒的时间点则构成了一个时序数据。那什么是时空数据呢?简单来说,如果今天我们每一秒钟都记录了该汽车的位置信息(X\Y坐标),这些位置数据则构成了二维空间数据,那么这86400条的坐标记录数据加上每秒的时间点则构成了一个时空数据。
对于这些时序和时空数据的在线业务可以简单的分为三大类,实时检测、实时查询和实时分析。
实时检测是期望可以实时的对异常数据、异常行为和故障进行检测,快速返回给管理系统或者通知相关人员等。比如车队管理则要求进行电子围栏的检测,一旦发现车辆行驶或停止的范围超出了规定的地理空间范围,则可以进行告警。或者货运公司发现某货运汽车并没有按照正常的路线行驶,偏离了正常航道,也可以进行告警,从而进行实时纠偏。
实时查询,主要是对于这些时序数据或者时空数据进行查询以进行下一步的分析或进行展现,比如查询早上7点到9点早高峰期间车的轨迹、车辆本周的油量变化曲线、用户用电曲线等。由于IoT采集数据的频率非常高,可能还需要绘制低精度的曲线。
实时分析,主要是对于采集到的指标数据进行分析,得到基于某些行业的知识,比如对于驾驶员的行为分析,对于汽车油耗的统计分析等。
IoT数据实时分析方案
在IoT领域,对于IoT数据的实时处理流程包括以下几个步骤:
1) 通过IoT Hub进行数据采集或者通过GPS的接入;
2) 对数据进行实时检测,或者预处理;
3) 数据写入数据库/文件系统;
4) 对数据库/文件系统中的数据进行查询、分析。
基于华为云服务来实现上述的处理流程,主要会如下图所示的几个服务:
IoT Hub可以对接物联网终端进行数据采集;DIS(数据接入服务)采用kafka内核将数据接入到华为云,并和CloudStream(实时流计算服务)无缝对接;CloudStream从DIS消费数据进行实时检测或分析,返回检测结果给在线应用,或者增加一些分析数据写入到CloudTable时序/时空数据库中;CloudTable(表格存储服务)作为毫秒级NoSQL数据库可以支持海量的数据存储,并提供时序/时空数据的查询和实时分析;对于一些近实时的查询分析可以通过spark内核的UQuery服务来进行。下面详细介绍核心服务CloudStream实时流计算和CloudTable时序/时空数据库能给企业带来什么价值。
实时流计算,IoT的核心引擎
对于IoT场景的海量时序/时空数据,华为云CloudStream作为实时流式大数据分析服务,微秒级的计算性能为企业挖掘实时数据价值提供了核心能力,具体体现有以下显著优势:
1. 双引擎
IoT场景海量的数据实时计算必须需要有高性能的计算引擎支撑,既要满足低时延高吞吐的性能要求,又要满足数据一致性要求。另外,IoT场景多种多样的业务也要求计算引擎能够运行批量,流式,交互式,图处理,机器学习等应用。目前业界主流的流计算引擎Flink和Spark Streaming都非常适合IoT场景,两者以不同的设计思想(前者是原生流式计算,后者是微批处理计算)各领风骚,都有着活跃的开源社区支撑。
CloudStream集成了Flink和Spark Streaming,双引擎方式很好的连接了开源生态,完全兼容开源版本Flink1.4和Spark2.2,方便业务人员平滑迁移线下业务上云。
2. 基于地理位置分析的SQL 扩展
IoT大量业务场景需要对时空数据进行实时的地理位置分析,如电子围栏、偏航检测等。CloudStream扩展了Flink SQL,提供了基于地理位置分析的一系列Time GeoSpatial语法,方便业务人员使用SQL快速开发地理位置分析业务,其中DDL for Time GeoSpatial可以快速定义基本元素,例如点、线、多边形、圆等;SQL Geospatial Scalar Functions 可以对基本元素进行基本操作,例如计算两点间距离、判断区域是否覆盖、判断点是否在区域内、移动位置计算、分析距离相交包含关系等;SQL Time Geospatial可以在窗口中对基本元素进行基本操作,例如计算多种窗口的平均速度和距离。
图示为实时流计算服务的IoT算子轻松实现电子围栏检测
3. CEP on SQL
IoT大量业务场景需要实时检测无尽数据流中的复杂模式,例如车辆异常行为检测、工业设备异常运行状态检测。CloudStream扩展了Flink SQL,提供了非常高效的CEP on SQL的能力,提供了基于Match Recognize的模式匹配检测,可以帮助业务人员使用SQL实现基于复杂事件规则的异常检测业务,无需开发Flink PATTERN API自定义业务,只需要一行SQL查询语句搞定,大大降低此类业务开发难度。
CloudTable时序/时空数据库,为IoT数据而生
CloudTable是华为云上毫秒级的NoSQL数据库,提供了HBase、OpenTSDB、GeoMesa接口,其中OpenTSDB和GeoMesa作为时序和时空数据库为IoT行业而生,为时序和时空数据的高吞吐量的写入和查询提供了解决方案。
高性能时序数据库
基于对分布式架构系统的良好支持和完善的生态,CloudTable选择了OpenTSDB作为时序数据库内核,并做了软硬件的垂直性能优化,可以支持千万级别的写入吞吐量和百万数据点3秒之内的读取性能,很好的解决物联网领域海量数据写入和读取性能的问题。
同时,时序数据库还提供了三种常用计算:插值、降精度和聚合。
对于每秒都上报的数据,其中某一秒的数据因为某些原因丢失了,则可以通过插值进行补齐。如下图红色框内的点(图a),对绿色线条和红色线条的值进行求和聚合计算,如果没有插值,则会出现结果突变的情况,如果进行了插值则是比较好的效果(图b)
图a 无插值求和结果 图b 插值求和结果
降精度有助于提升查询效率,同时可以提供更加清晰的曲线信息给在线应用。
图a 原始时序数据 图b 降精度之后数据
时序数据库中的聚合和传统数据库的聚合还有一些差异。时序数据库中聚合是将多个独立的时间线聚合成一个数据时间序列,类似于SQL里面的group by,但是此处的aggregation是按照每个时间戳和分组进行聚合。降精度计算中也可以使用不同的聚合函数进行降精度,而每个聚合函数中不仅会包含聚合的函数,也会包含插值的函数,对于缺失的数据,可以采用插值后的数据进行聚合。
时空数据库
华为云CloudTable引入了地理大数据处理套件GeoMesa,可以帮助物联网存储和分析海量时空(spatio-temporal)数据,提供轨迹查询、区域分布统计、区域查询、密度分析、聚合、OD分析等功能。
GeoMesa基于Geohash编码以及空间填充曲线的理论基础,做到了将二维经纬度转换成一维字符串,将三维时空(经纬度和时间)转换成一维字符串,为高性能查询打下了基础。
通过CloudTable中GeoMesa,对于物联网中时空维度的查询简单有效,举个例子,比如
1) 早上7点-9点,有哪些人/车出现在深圳市龙岗区坂田?
2) 早上7点-9点,从深圳市南山区到深圳市龙岗区坂田的人/车的轨迹是怎么样的?
3) 晚上5:30-7:30,深圳市龙岗区坂田的人/车的轨迹是怎么样的?
图示为基于时空数据库服务用CQL实现区域分析
通过以上的一些查询,可以分析出行人/车的出行规律,进而进行附近的健身房、餐馆、娱乐设施的推荐;分析出住宅区、工作区的聚集地;分析出同行的人的数量,抽象出公共巴士的路线,优化公共交通路线等等。通过时空数据的查询和分析可以进一步挖掘出时空数据背后的价值。
Cloud2.0时代,越来越多的企业关注如何提升应用上云效率的同时,也在聚焦新技术给现行业务带来的创新与改变。华为云实时流计算和时空数据库帮助行业伙伴与客户轻松实现IoT场景下时空时序数据的实时计算、存储和查询,为IoT海量数据和业务应用之间架起一道桥梁。除此之外,IoT场景还有很多即有趣又丰富的业务,华为云EI企业智能提供了丰富的大数据和AI服务,比如机器学习服务、图引擎服务、深度学习服务等,将携手与行业伙伴共同扩展更多能力,丰富更多算法和模型,从而打开IoT无限可能。
相关推荐
【华为云IoT物联网MQTT模拟器】是华为云针对物联网(IoT)开发者推出的一款专业工具,主要用于测试和验证基于MQTT协议的设备或应用。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息传输...
【华为云IoT工业互联网助力新基建】 随着信息技术的飞速发展和新型基础设施建设(简称“新基建”)的推进,工业互联网已经成为推动制造业转型升级、提升国家竞争力的关键力量。华为云作为全球领先的信息与通信技术...
这是-基于STM32+物联网设计的浇花神器-(华为云IOT)(上位机源码与可执行文件)资料包。 里面包含了上位机实现代码,上位机采用QT设计,也包含了Android、window下可以直接运行的APP。 具体实现过程看博客介绍。 该...
华为云IoT工业互联网助力新基建—.pdf
总之,智能井盖系统结合STM32微控制器的计算能力、NBIOT模组的远程通信功能和华为云IOT平台的强大管理能力,构建了一个全面的监测和管理系统,提升了城市安全管理的效率和精度,同时也增强了环境监测的能力。...
本文中主要介绍了传统数据库没有物联网的速度基因,时序数据库的数据存储设计,时序数据库编程语言之争,时序数据库整合趋势明显等相关内容。本文来自csdn,由火龙果软件Anna编辑、推荐。而且“增删改查”是传统...
标题中的“华为云IoT工业互联网助力新基建”揭示了本次讨论的核心内容——华为云如何通过其物联网(IoT)技术和平台来推动中国的新型基础设施建设,即“新基建”。在这个主题下,我们可以深入探讨以下几个相关的IT...
【华为云mqttClientID生成工具】是一个用于生成与华为云 MQTT 服务兼容的客户端ID的实用工具。在物联网(IoT)场景中,MQTT(Message Queuing Telemetry Transport)是一种广泛采用的轻量级发布/订阅式消息协议,...
华为云AI技术结合5G、IoT(物联网)、AR(增强现实)融合技术,正在推动人工智能的发展,开启新的潜能。这一系列技术的融合被华为罗华霖等专家认为是未来智能社会的基石,它将深刻地改变各行各业。 在5G网络技术...
这是 《123 基于物联网的智能浇水系统(STM32+华为云IOT)-上位机源码》 项目的Qt上位机上位机源码包。 这是一个Qt工程,采用QT5.12.6版本开发的源码。、支持生成Windows系统运行程序。也支持生成Android手机APP。 ...
华为云IoT 物联网 MQTT模拟器 Mac版本
根据需求设计一款基于STM32的人体健康监护系统,可以实时监测被测者的心率、体温以及周围环境的温度,也同时可以通过姿态解算来判断被测者是否睡觉。该系统可以将被测者的心率、体温等数据既可以在本地显示,也可以...
这个专场可能包含以下议题:实时计算与流计算的最新理论进展、实际应用案例分享、性能优化技巧、新技术和工具的介绍、以及如何结合数据库实现高效实时分析等。参会者可以期待深入的技术讲解、实战经验分享以及对未来...
其中,UGO用于数据库结构迁移,DRS则支持数据迁移和实时变化数据捕捉,确保数据一致性。此外,GaussDB还具备强大的实时性能诊断和智能优化功能,助力企业提升数据库运行效率。 面对政企和金融客户更为复杂的业务...
2. 实时流计算:边缘计算可以实时处理和分析IoT设备数据,提供实时的业务 insights。 3. 云存储:边缘计算可以将处理后的数据存储在云存储中,提供数据的安全和可靠性。 四、Edge Hub和Stream Analysis Service ...
此外,华为云IoT提供多样化的部署形态,包括公有云、混合云、智能站点和边缘计算,确保在任何环境和规模下都能实现无缝联接。 其次,联接生态是通过华为云市场来建立的。这个平台为硬件设备制造商(IHV)、行业应用...
华为云GaussDB数字化转型解决方案是基于华为云数据库的解决方案,旨在帮助企业实现数字化转型。该解决方案提供了全栈软硬件创新能力,包括数据库服务基础服务、开发者专业服务、企业应用、IoT 物联网安全、企业智能...
(资料包里包含了完整STM32源码和Qt开发的手机APP源码,支持Android和windows) 硬件选项要求: (1) ESP8266 串口 WIFI,用来与 OneNet 进行远程通信。 (2) DHT11 温度传感器,检测本地环境的温度湿度信息。 ...
[135]-OpenHarmony 3.1.1对接华为云IOT【华为云IoT+鸿蒙】.pdf