1.3 物联网系统与大数据技术的深入融合
当今世界正处于一个万物智能互联的时代,同时也处于大数据的时代。大数据(Big Data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。在维克托·迈尔·舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中,大数据不采用随机分析法(抽样调查)这样的捷径处理,而是对所有数据进行分析处理。IBM提出大数据有5V特点,即Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
1.3.1 联网设备带来数据量的急剧增长
物联网是大数据的重要来源,随着数据通信成本的急剧下降,物联网在各行各业得到了推广应用。各种传感技术和智能设备的出现,计算机、摄像机等设备和智能手机、平板电脑、可穿戴设备等移动终端的迅速普及,每秒物联网都会产生海量数据,都促使全球数据总量发生急剧增长。从手环、共享出行、智能电表、环境监测设备到电梯、数控机床、挖掘机、工业生产线等都在源源不断地产生海量的实时数据并发往云端。这些海量数据是社会和企业宝贵的财富,能够帮助企业实时监控业务或设备的运行情况,生成各种维度的报表,并且通过大数据分析和机器学习,对业务进行预测和预警,帮助社会或企业进行科学决策、节约成本并创造新的价值。
据相关机构统计,目前全世界的联网设备数量已经超过170亿,除智能手机、平板电脑、笔记本电脑或固定电话等连接设备外,物联网设备的数量达到70亿。物联网连接设备无论是在消费者端(智能家居、智能硬件等),还是企业级连接端(机器设备等)最近这两年都得到了强势的增长。预计2020年,活跃的物联网设备数量将超过100亿,到2025年将增加到220亿。
随着物联网系统中联网设备数量的飞速增长,数据的产生速度和数量已超出了一般人的想象,未来还将以指数级的速度增长。例如,智能摄像头的分辨率正在从1 080P向8K级别转化,一个摄像头一天所采集的数据量已从100GB发展到200GB。2020年,一个互联网用户平均每天产生的数据量可能达到1.5GB,而一家智能医院的所有设备,如CT、核磁共振扫描仪等进行联网后,其一天所产生的数据总量将超过3TB。
上述数字时刻都在提醒我们,未来将是一个充满数据的世界。在如今掌握数据便是掌握财富的时代,物联网创造的价值也将水涨船高。由于物联网数据具有非结构化、碎片化、时空域等特性,因此需要新型的数据存储和处理技术。大数据技术可支持物联网系统中海量数据的深度应用。物联网帮助收集来自感知层、传输层、平台层、应用层的众多数据,然后将这些海量数据传送到云平台进行分析加工。物联网产生的大数据处理过程可以归结为数据采集、数据存储和数据分析处理3个基本步骤。数据采集和存储是基本功能,而大数据时代真正的价值蕴含在数据分析处理中。物联网数据分析处理的挑战还在于将新的物联网数据和已有的数据库进行整合。
1.3.2 物联网系统中大数据的特征
物联网不同于传统互联网,互联网主要解决人与人之间的连接,其数据采集和处理过程首先要满足人的需求。物联网拥有海量的节点,除了人和服务器,物品、设备、感知终端等都是物联网的组成节点,其数据的数量和规模远大于互联网。物联网节点的数据生成频率远高于互联网。物联网中的数据传输速率或采集频率更高,在很多情况下需要实时访问、控制相应的节点和设备,海量的数据必然对传输速率及实时性有更高的要求。物联网对数据真实性的要求很高,物联网是真实物理世界与虚拟信息世界的关联纽带,物联网对数据的处理将直接影响物理世界,所以物联网中数据的真实性显得尤为重要。除此以外,物联网拥有多样化的数据,物联网涉及的范围很广,从智慧城市、智慧交通、智慧物流、商品溯源到智能家居、智慧医疗、安防监控等,都属于物联网应用范畴,所以在不同的领域或不同行业,需要面对类型不同的应用数据。
具体分析,物联网中的大数据大致有如下几个特征。
(1)数据是时序的,带有时间戳:联网的设备按照设定的周期或受外部的事件触发,源源不断地产生数据。每个数据点都是在一个时间点产生的,这个时间点对于数据的计算和分析十分重要,必须记录。
(2)数据是结构化的:网络爬虫得到的数据及微博、微信产生的海量数据都是非结构化的,可以是文字、图片、视频等。但物联网设备产生的数据往往是结构化的,而且是数值型的,如智能电表采集的电流、电压就可以用4B、标准的浮点数来表示。
(3)数据极少有更新操作:联网设备产生的数据是机器日志数据,一般不容许而且也没有修改的必要。很少有需要对采集的原始数据进行修改的场景。但对于一个典型的信息化或互联网应用,记录是一定可以修改或删除的。
(4)数据源是唯一的:一个物联网设备采集的数据与另一个设备采集的数据是完全独立的。一台设备的数据一定是这台设备产生的,不可能是人工或其他设备产生的,也就是说,一台设备的数据只有一个生产者,数据源是唯一的。
(5)相较于互联网应用,写多读少:对于互联网应用,一条数据记录,往往是一次写,很多次读。例如,一条微博文章,只写一次,但可能有上百万人读。但物联网设备产生的数据不一样,对于产生的数据,一般由计算、分析程序自动读,而且计算、分析次数不多,只有分析事故等场景时,才会需要人主动查看原始数据。
(6)用户关注的是一段时间的趋势:一条银行记录或一条微博、微信记录对它的用户而言都是很重要的。但对于物联网数据,每个数据点与数据点的变化并不大,一般是渐变的,大家关心的更多是一段时间,如过去的5分钟,过去的1小时数据变化的趋势,一般对某个特定时间点的数据并不关注。
(7)数据是有保留期限的:采集的数据一般都有基于时长的保留策略,比如保留1天、1周、1月、1年甚至更长时间。为节省存储空间,系统最好能定时自动删除。
(8)数据的查询分析往往是基于时间段和某组设备的:对于物联网数据,在做计算和分析的时候,一定是指定时间范围的,不会只针对一个时间点的数据或整个历史数据进行。而且往往需要根据分析的维度,对物联网设备的一个子集采集的数据进行分析,如某个地理区域的设备,某个型号、某个批次的设备,某个厂商的设备等。
(9)除存储查询外,往往需要实时分析计算操作:对于大部分互联网大数据应用,更多的是离线分析,即使有实时分析,但实时分析的要求并不高。例如,用户画像可以在积累一定的用户行为数据后进行,早一天或晚一天画不会怎么影响结果。但是物联网应用对数据的实时计算要求往往很高,因为需要根据计算结果进行实时报警,以免事故的发生。
(10)流量平稳、可预测:给定物联网数量、数据采集频次,就可以较为准确地估算所需要的带宽和流量,以及每天新生成的数据量。而不像电商,在平台活动期间,流量会出现几十倍的涨幅;也不像12306网站,春节期间网站流量会出现几十倍的增长。
(11)数据处理的特殊性:与典型的互联网相比,物联网的数据处理需求不一样。例如,要检查某个具体时间的设备采集的某个数据量,但传感器的实际采集时间不是这个时间点,这时候往往需要做插值处理。还有很多场景,需要基于采集量做复杂的数学函数计算。
(12)数据量巨大:以智能电表为例,一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录,全国有接近5亿台智能电表,每天仅智能电表就生成近500亿条记录。一台联网的汽车每隔10~15秒就采集一次数据发到云端,一台车一天很容易就产生1 000条记录。如果中国2亿辆车全部联网,每天将产生2 000亿条记录。5年之内,由物联网设备产生的数据将占世界数据总量的90%以上。
1.3.3 物联网系统专用的大数据处理平台
为了对日益增长的互联网数据进行处理,出现了众多的大数据分析工具,最典型的就是Hadoop系统。除使用大家所熟悉的Hadoop组件(如HDFS、MapReduce、HBase、Hive)外,通用的大数据处理平台往往还使用Kafka(或其他消息队列工具)、Redis(或其他缓存软件)、Flink(或其他实时流式数据处理软件)。在大数据的存储方面也有人选用MongoDB、Cassandra或其他NoSQL数据库。这样一个典型的大数据处理平台基本上能很好地处理互联网行业的应用需求,如典型的用户画像、舆情分析等。
目前在农业、交通等物联网应用系统中,不少大数据平台是基于上述的互联网通用大数据处理平台架构进行开发的。虽然在某种程度上可以正常工作满足客户需求,但是由于物联网场景的数据有其独特性,通用大数据处理平台在很多方面存在先天不足,具体有以下几点。
(1)运行效率低。现有的这些开源软件主要用于处理互联网上的非结构化数据,但是物联网采集的数据都是时序的、结构化的。用非结构化数据处理技术来处理结构化数据,无论是存储还是计算,消费的资源都多很多。例如,智能电表采集电流、电压两个量的数据,若采用HBase或其他KV型数据库进行存储,其中的Row Key往往是智能电表的ID,以及其他静态标签值。每个采集量的Key由Row Key、Column Family、Column Qualifier、时间戳、键值类型等组成,然后紧跟具体的采集量的值。这样存储数据,负载很大,浪费存储空间。
(2)运维成本高。每个模块,无论是Kafka、HBase、HDFS还是Redis,都有自己的管理后台,都需要单独管理。在传统的信息系统中,一个DBA只要管理MySQL或Oracle就可以了,但现在一个DBA需要管理、配置、优化很多模块,工作量大了很多。而且由于模块数量过多,定位一个问题变得更为复杂。例如,用户发现有条采集的数据丢失,无法迅速定位丢失的是Kafka、HBase、Spark数据,还是应用程序数据,往往需要花很长时间找到方法将各模块的日志关联起来才能找到原因。模块越多,系统整体的稳定性就越差。
(3)应用推出慢、利润低。由于研发效率低,运维成本高,导致产品推向市场的时间变长,让企业丧失商机。而且这些开源软件都在演化中,要同步使用最新的版本也需要耗费一定的人力。除互联网头部公司外,中小型公司在大数据平台的人力资源成本一般都远超过专业公司的产品或服务费用。
(4)对于小数据量场景,私有化部署太重。在物联网、车联网场景中,因为涉及生产经营数据的安全,很多还是采取私有化部署的。而每个私有化部署,处理的数据量有很大的区别,联网设备从几百台到数千万台不等。对于数据量小的场景,通用的大数据解决方案就显得过于臃肿,投入与产出不成正比。因此,有的平台提供商往往有两套方案:一套针对大数据场景,使用通用的大数据平台;一套针对小数据场景,使用MySQL或其他数据库来处理,但使研发和维护成本提高。
物联网系统的数据是流式数据,单个数据点的价值很低,甚至丢失一小段时间的数据也不影响分析的结论,不影响系统的正常运行。但由于数据记录数量巨大,导致数据的实时写入成为瓶颈,查询分析极为缓慢,这就成为新的技术挑战。传统的关系型数据库、NoSQL数据库及流式计算引擎由于没有充分利用物联网数据的特点,性能提升极为有限,只能依靠集群技术,投入更多的计算资源和存储资源来处理,造成系统的运营维护成本急剧上升。
针对上述问题,需要按照物联网场景来优化开发满足其应用特征的大数据处理平台,其应具有如下特征。
(1)充分利用物联网的数据特点,在技术上做各种优化,大幅度提高数据插入、查询的性能,降低硬件或云服务的成本。
(2)平台必须是水平扩展的,随着数据量的增加,只需要服务器扩容即可。
(3)平台必须有单一的管理后台,是易于维护的,尽量做到零管理。
(4)平台应该是开放的,有业界流行的标准SQL接口,提供Python、R或其他语言开发接口,方便集成各种机器学习、人工智能算法或其他应用。
面对这一高速增长的物联网数据处理市场,近几年出现了一批专注于物联网场景下时序数据处理的公司。例如美国的InfluxData,融资已经超过1.3亿美元,其产品InfluxDB在IT运维监测方面有相当高的市场占有率。在工业控制领域,老牌实时数据库公司OSIsoft在2017年5月获得软银12亿美元的投资,期望成为新兴的物联网领域数据库的领头羊。开源社区也十分活跃,如基于HBase开发的OpenTSDB。我国的阿里、百度、华为都有基于OpenTSDB的产品。北京涛思数据科技有限公司在吸取众多传统关系型数据库、NoSQL数据库、流式计算引擎、消息队列等软件的优点之后,自主开发了一个完整的时序大数据处理引擎TDengine。
1.3.4 工业物联网应用与大数据的融合
物联网中数据的产生主要依赖于各种物联网设备,通过这些设备中的各种传感器感知到用户的行为习惯,进而形成相关的数据。再通过大数据进一步处理,形成有效的数据,再利用这些数据更好地服务用户。物联网系统与大数据的融合应用空间广阔,大数据和物联网技术的结合充满无限可能。物联网系统中的大数据处理技术可以帮助人们建立智能监控模型、智能分析模型、智能决策模型等应用服务工具,深刻改变了人们的生活。数据存储、数据计算与挖掘技术,都将成为万物互联场景下大数据应用的核心能力。
作为一个典型的范例,工业物联网围绕工业生产系统各环节,充分应用移动互联、人工智能等现代信息技术和先进通信技术,实现工业生产各环节的万物互联、人机交互,是具有状态全面感知、信息高效处理、应用便捷灵活特征的智能服务系统。工业大数据是工业物联网与大数据技术的深度融合应用。工业大数据是在工业产品全生命周期的信息化应用中所产生的数据,是工业物联网的核心,也是工业智能化发展的关键。工业大数据是基于网络互联和大数据技术,贯穿于工业的设计、工艺、生产、管理、服务等各环节,使工业系统具备描述、诊断、预测、决策、控制等智能化功能的模式和结果。
从业界的共识看,工业大数据的主要来源有3类。第一类是企业经营相关的业务数据,这类数据来自企业信息化范畴,包括企业资源计划(ERP)、产品生命周期管理(PLM)、供应链管理(SCM)、客户关系管理(CRM)和环境管理系统(EMS)等,此类数据是工业企业传统的数据资产。第二类是机器设备互联数据,主要是指工业生产过程中,装备、物料及产品加工过程的工况状态、环境参数等运营情况数据,通过MES系统实时传递,目前在智能装备大量应用的情况下,此类数据量增长最快。此类数据是工业物联网系统实时采集的数据。第三类是企业外部数据,包括工业企业产品售出之后的使用、运营情况的数据,同时还包括大量客户、供应商、互联网等的数据。
从工业领域的物联网与大数据的融合应用来看,物联网系统中的大数据与普遍意义上的互联网大数据具有以下不同的特点。
(1)工业物联网大数据更强调数据的完整性。
互联网大数据是在数据分析的基础上分析用户的使用习惯、消费偏好和行为特征等相关数据,运用的是统计学的知识对数据进行处理,如今日头条通过对数据的分析,给用户推荐阅读内容,增加用户黏性。如淘宝通过统计分析消费者的消费习惯,推荐相关的产品给用户。而工业物联网系统中的大数据是通过对设备、机组等连续记载获取设备运行的全部数据,再根据对设备的监测,在多指标的逻辑算法上基于数据分析的综合评估,来指导设备的调整、检修、配件更换、耗材更换,以保证生产的连续性。
(2)工业物联网大数据更强调数据的准确性。
互联网大数据所收集的数据,大多是关联性的,是一种发散性的数据收集和分析,互联网大数据在进行预测和决策时,仅考虑两个属性之间的关联是否具有统计显著性。例如,亚马逊收集买家的行为,对转化率、相关性、买家满意率和留存率数据进行分析,类似这样的数据并不能准确地反映每个买家购买行为的决定因素。
而工业物联网系统中的大数据具有非常强的目的性,更强调数据的正确性。工业大数据对预测和分析结果的容错率比互联网大数据低很多。例如,工业物联网系统中的故障预测是基于装备真实健康状态和衰退趋势,结合用户决策活动的定制化需求,提供设备使用、维修和管理等活动相关的最优决策支持,并达成任务活动与设备状态的最佳匹配,以保障生产系统的持续稳定运行能力。
(3)工业物联网大数据更强调数据的及时性。
互联网大数据在时效性方面没有特殊的要求,其数据是长期积累的,从中找出数据中的相关性即可。而工业物联网系统中的大数据非常注重数据的时效性,时间序列特征明显,数据的时间戳和数值幅度都在变化;采集的频率高,数据量大且数据维度多、价值分散。例如,工业设备的故障,厂房或生产的灾难性故障,火灾、污染物的泄漏等,这些不仅需要事后补救,更为重要的是,工业物联网需要在数据提供和采集的基础上给予提前预测,发出预警,在灾难发生之前采取措施避免灾难的发生。