大数据在物联网的应用研究
2019-12-27张宝燕
张宝燕
(晋中学院信息技术与工程学院,山西 晋中 030619)
近些年来,大数据技术发展迅速。大数据已经广泛地应用在交通系统[1]、农业生产[2-4]、石油工业[5]、电力[6]等领域。通过大数据技术为很多领域提供了新的发展思路。在美国,很多农业产品的生长过程都通过传感器来采集数据并加以分析,提高农作物的产量和质量。其中会产生海量的数据,需要为它们提供一个存储和处理的方法,来实时地把握农作物生长状态,进而为农场主提供一个合理高效的农田治理方法。在国内,大数据技术发展很快,在北京,上海等城市也使用大数据技术为交通管理提供智能分析,智能决策。结合社会实际需求,网络的很多节点都是嵌入式设备,它们往往是计算能力弱,分布广泛,节点众多,采用无线连接。这种网络情形下,往往需要把数据传输到数据中心进行统一处理和分析。使用大数据技术对物联网的实际应用提供解决方案,是时代发展的迫切需求,对促进产业升级有重要的意义。
1 研究基础
Hadoop平台[7]是近些年来大数据领域使用较为广泛的产品。它将分布式文件系统HDFS和集群计算结合在了一起。围绕该平台的一系列软件组件为大数据的很多问题解决提供了技术支撑。这其中就包括了分布式数据库HBASE以及多种数据库数据共享和导入导出的插件Sqoop,它们为应用数据的无缝传输提供了方便。在物联网当中,使用CC2430作为控制节点,负责将传感器节点CC2530的相应数据上报给大数据中心,大数据中心使用计算机集群对日志数据进行采集和分析,为物联网的应用业务提供数据和计算决策支持。
Web技术开发方便了系统维护人员及时查看物联网的状态,对其中的采集数据进行实时查看,和对分析结果进行及时响应。它的优点在于提供了一个多种视角的可视化界面。用户能够在第一时间内查看和发现系统中的变化,这对于管理和维护整个系统运行是非常有必要的。Tomcat为后台运行和浏览器数据传输提供一个平台,而Spring框架结合MySQL数据为Web应用提供了很好的B/S架构。在应用当中,只需要通过浏览器可以在各种计算机设备上方便地查看和访问大数据中心的各个数据,并做各自权限内的系统操作。
2 方案设计
物联网络当中设置大量的传感器作为基础的采集数据节点。有些具有无线通信的特点,然后通过相应的协议传输到大数据中心。本系统在服务器上搭建了相应的大数据中心,同时使用Web界面来显示相应的数据,通过网络连接大数据中心。作为系统的采集层,其数据要进行采集和存储,并为后续的控制层提供相应的调用接口。这也是大数据中心处理数据系统的基础。分布式的文件访问系统当中,包括了数据的冗余备份、高并发的快速访问控制、以及传感数据的安全存储。总体结构如图1系统框架结构所示。
图1 系统框架结构
控制层要能够对数据和相应的外部操作结合起来。在这其中很多数据都是以数据表的形式存在,还有一些数据是以一些结构化的文件、图片和流数据存在。通过控制节点对传感节点的管理,实现数据的及时上报和采集。在外部服务当中,需要在前端为浏览器推送相应的数据。而后台需要对相应的数据进行处理和分析。在大数据中心需要对这些操作提交到Hadoop大数据平台上进行。这里不可避免地需要访问分布式的文件系统和计算机资源的调度。在这个过程当中,处理过程通常以作业的形式提交到系统后台。可以通过通信的方式来实现数据之间的转换。
在业务层上主要是系统的一些功能,如何把相应的日志数据在传感器上进行采集并把它整理到分布式文件系统上和数据库上。然后通过相应的计算机资源对数据进行分析整理。这些数据再通过后台处理,把平台上的数据以合适的视图推送给浏览器。这样,用户可以以Web视图的方式把相应的数据通过浏览器查看和修改。
在节点网络当中需要配置相应的认证来确保数据之间传输的安全。要通过生成证书,互相之间添加信任的公钥证书来实现无密码通信。这样建立的网络可以不需要用户频繁的输入密码来进行互相之间的数据备份,以及其他的计算交流。在数据的配置方面需要指定相应的驱动和相应的数据库存储的路径,并把相应的用户名和密码指定在相应的参数作为数据库的配置参数。将系统业务的相关操作转化成对应的数据库操作语句,如果数据库输入格式化类,将该语句提交到分布式数据库上面。集合多个业务的处理,把数据进行整合导入到对应的数据库当中。
在日志数据的处理方面,把多个数据进行标签化处理。在作业上,通过相应的reduce组件,对系统的多个键值对进行合并。设计相关的处理逻辑把数据汇聚到一个可视化的显示记录上面去,再通过Web页面显示出来。
3 实验测试
在系统实验阶段,要首先能够启动平台的各个服务,分别包括主节点NameNode,第二节点SecondaryNameNode,数据节点DataNode,作业节点TaskTracker。在数据的转入转出方面,启动了很多服务。这包括了主转换节点HMaster,注册服务节点HRegionServer,以及查询节点HQuorumPeer。在正常启动时,可以在界面当中输入jps命令来查看相应的结果。可以在命令行当中看到相应的服务都已经正确启动。如果有一些服务没有出现,那么可以查看相应的日志文件,可以看出系统抛出了哪些异常,从而锁定相应的问题。启动成功界面如图2。
图2 大数据服务启动成功界面
在数据的处理过程当中可以通过在线网络,在相应的Web界面查看相应的数据。这里配置的路径如下,http://localhost:50030/。可以在浏览器当中输入这个地址查看作业的运行情况和相应运行结果。系统运行测试状况如表1数据采集性能所示。
在这个数据当中可以看到处理的进程包括了四个任务线。通过并行的处理对数据进行快速的采集,并存到对应的数据库当中。分布式数据库需要提前做好相应的表的结构的存储设计,并创建。这里面采用了数据库提供的库文件。使用其中的Java接口通过servlet转接存储到分布式数据库当中。系统运行测试状况如表2日志数据分析性能所示。
表1 数据采集性能
表2 日志数据分析性能
日志的分析过程需要整合相应的计算机资源,对数据进行分割并处理最终聚合到一个处理结果当中。最后的结果就是能够展示相应的系统状态变化提醒用户人员及时的维护和响应。
4 结束语
针对物联网大量采集数据的处理问题,本文采用了大数据处理技术来和物联网进行整合。提供了一个高效的解决方案。该方案能够很好地利用软硬件资源实现成本较低而运行非常的高效。这为物联网的快速普及和应用提供了便利。