传感器正变得无处不在。从几乎任何类型的工业应用到智能汽车、智能城市的应用程序,和医疗应用程序中,我们看到一个稳定增长的使用各种类型的传感器。增加的速度由这些传感器产生的数据量更戏剧性的因为传感器通常持续生产数据。就这些数据存储以供将来参考的关键要分析和寻找有价值的信息,如故障诊断信息。在本文中,我们描述一个可伸缩的分布式体系结构的传感器数据收集、存储和分析。系统使用多个开放源代码技术和运行在一个虚拟服务器集群。我们使用GPS传感器数据源和运行机器学习算法进行数据分析。
传感器通常用于测量和报告的一些性质的环境安装,如温度、压力、湿度、辐射,或天然气的水平。传统上这些测量收集并存储在一个数据存储,然后找到任何特别的处理情况。然而在这种情况下,像智能城市应用大量的传感器安装、存档和处理的数据量成为一个重要的问题。因为当数据的体积超过几个g的传统关系数据库不支持这样的卷或面临的性能问题(见[
另外近年来更要求应用程序正在开发中。传感器是在关键任务应用程序真正的或非实时干预。例如,在某些情况下,预计从传感器应用程序检测系统故障之前发生。
传统的数据存储和分析方法不能满足预期的新类型的传感器应用领域的体积和速度数据以前所未有的速度增长。结果,就必须适应新技术,即大数据技术,能够应对这些问题。
本文概述了小说的体系结构和实现,分布式的、可伸缩的传感器数据存储和分析系统,基于现代云计算和大数据技术。系统使用开源技术来提供端到端传感器数据生命周期管理和分析工具。
到处都是传感器数据的大小和种类他们生产快速增长。连续,新概念正在成为传感器的类型和使用稳步扩大。例如,统计数据显示,在互联网上的东西远比在互联网上的用户数量(
物联网使人们之间相互作用、对象和网络通过远程传感器。传感器设备,它可以监控温度、湿度、压力、噪声水平,和照明条件和检测速度,位置和大小的一个对象(
由于传感器技术的飞速发展,传感器和传感器数据的数量的数量已经增加了难以置信的利率。处理和分析这样的大数据需要巨大的计算和存储成本与传统的SQL数据库。因此,传感器数据存储平台解决方案的可伸缩性和可用性需求导致NoSQL数据库的使用,能够有效地分配数据在许多服务器和动态添加新属性数据记录(
NoSQL数据库,主要是开源的,可以分为以下类别。
键-值等不同类别的NoSQL数据库、文档,和宽栏商店,提供高可用性、性能和可伸缩性大数据。文献[
et al .(范德维恩准备研究
在大量使用传感器的结果在大容量的数据存储和处理。数据是有价值的信息提取和使用。信息提取需要工具和算法来识别有用的信息,如故障信息或系统诊断信息收集的数据从传感器中深埋。可以使用数据挖掘和机器学习等任务。然而大数据分析需要非传统的方法,统称为大数据。
的名字是大数据的集合理论,算法和框架,处理非常大量的数据的存储和分析。换句话说“大数据”是一个术语成熟随着时间的推移,大量的数据难以储存,管理,使用传统的数据库和软件技术和分析。近年来,大数据分析已经成为最受欢迎的主题在这世界,吸引了学术界和业界人士的兴趣。规模的快速增长,各种数据和速度力量开发人员构建新平台来管理这种极端大小的信息。国际数据公司(IDC)称,数字宇宙中数据的总量将在2020年达到35 zb
大数据有很多挑战等几个方面不同,体积,速度,准确性,和价值。品种是指等不同形式的非结构化数据信息,社交媒体对话,视频和照片;指的是大量的数据量;速度是指以多快的速度数据生成和速度需要分析;真实性指的是数据的可信度;价值,最重要的V大数据,指的是价值的数据存储在不同的组织
大数据分类(基于[
在大数据的类别分类,大数据地图可以在七个方面:(i)数据来源,(2)数据类型,(iii)内容格式,(iv)数据存储,(v)分析类型,(vi)基础设施和(七)处理框架。
数据来源包括以下几点:(一)人为的数据从Facebook和Twitter等社交媒体数据或短信、互联网搜索,博客,评论,和个人文件;(b)业务事务数据,如银行记录、信用卡、商业交易,和医疗记录;(c)从物联网机器生成的数据如家庭自动化系统移动设备和计算机系统日志;(d)各种类型的传感器,如流量传感器、湿度传感器、和工业传感器。
来自网络的数据量、传感器、卫星,和许多其他来源克服了传统的数据分析方法,为新类型的MapReduce编程模型等。2004年,谷歌发布了MapReduce文献[
MapReduce范式效果如图
Map和Reduce步骤的概述。
MapReduce,谷歌的大数据处理模式,已经在开源项目中实现像Hadoop
Hadoop MapReduce框架的主要优点是可伸缩性、成本效率、灵活性、速度、和韧性失败(
其他MapReduce-like系统是Apache火花和鲨鱼
Hadoop使用Hadoop分布式文件系统(HDFS),这是谷歌的开源版本文件系统(
Hadoop使用主从架构。名字节点和工作跟踪主节点而数据节点和任务跟踪器从集群中的节点。输入数据划分成块,这些块放入名称节点拥有的元数据块的Hadoop系统知道哪块存储在数据节点。如果一个节点没有它不破坏的完成工作,因为Hadoop知道那些块存储的副本
有效地运行Hadoop大数据需要建立集群。虚拟化技术的进步有显著降低的成本建立这样的集群;然而他们仍然需要重大的经济投资,在大多数情况下许可费用,人工干预。云计算提供了一个成本效益的方式提供大数据的计算和处理设施,也作为服务模型来支持大数据的技术。
一些开源云计算框架如OpenStack [
Hadoop集群可以设置在服务器上安装和配置必要的文件。但是它可以是一个艰巨的和具有挑战性的工作当有数百甚至数千台服务器作为Hadoop集群中的节点。云计算系统提供的基础设施,这是易于规模和易于管理网络和存储和提供容错功能。Gunarathne et al。
Hadoop平台为本研究创建如图
OpenStack云+ Hadoop集成和架构。
有几个选项,设置一个Hadoop集群。云系统(比如Amazon EC2提供支付EMR [
分析大数据需要使用数据挖掘和机器学习算法。有许多友好的机器学习框架如RapidMiner [
Mahout提供各种协同过滤算法从分类和聚类,可以并行运行在集群。Mahout的目标是建立一个可扩展的机器学习库使用Hadoop (
Ericson和Palickara比较各种分类和聚类算法的性能在两个不同的处理系统使用Mahout库:Hadoop和颗粒
MLLib [
独立的部署模式,使火花集群上运行一个私人使用一组部署脚本;另外所有火花进程运行在同一Java虚拟机(JVM)进程独立的本地模式;
Amazon EC2,使用户能够启动和管理火花集群;
Apache便,在火花之间动态地提供共享资源和其他框架;
Hadoop纱是通常被称为Hadoop 2,火花司机可以运行的应用程序的主人。
当机器学习算法进行分布式框架使用MapReduce两种方法是可能的:所有迭代结果可以写入磁盘和从磁盘读取(Mahout)和所有迭代结果可以存储在内存中(火花)。这一事实本身处理数据从内存会比从磁盘,火花提供显著的性能改进相比Mahout / Hadoop。
火花提出了一种新的分布式内存抽象,称为弹性分布式数据集(抽样),它提供了一个数据结构的内存计算大型集群。抽样可以实现容错,这意味着如果一个给定的任务失败,由于一些原因,如硬件故障和错误的用户代码,数据丢失可以自动恢复和重建的剩余的任务(
火花和Hadoop表演的比较结果提出的(
我们已经创建了一个端到端的传感器数据生命周期管理和使用上述技术分析系统。系统使用开源软件,并提供一个分布式和可伸缩的基础设施支持尽可能多的传感器。
提出系统的概述如图
系统架构。
在这项研究中我们使用GPS传感器作为数据生成器;然而系统体系结构是适合其他类型的传感器网络由于数据采集子系统可以收集任何类型的传感器数据通过TCP或UDP渠道发布。
GPS是一种最常用的位置检测技术,这是一个太空卫星导航系统提供全球接收器的时间和位置信息(
一个主要使用GPS车辆跟踪应用程序。在这项研究中我们使用一个叫Naviskop商用车辆跟踪系统(
GPS传感器主要用于实时跟踪对象的位置以及检查过去的历史位置。然而在大多数GPS应用程序数据没有分析。在本研究中我们使用车辆的定位数据发现隐藏的有趣的信息。例如,通过应用机器学习算法,GPS数据可以揭示个人的驾驶习惯,最受欢迎的地方,人们访问他们的车辆,和交通密度在一段时间内。一些学术研究调查的使用位置数据与数据挖掘和机器学习算法(
GPS接收器安装在车辆上有能力通过GPRS报告自己的位置。传感器到TCP服务器打开一个连接在每100米位置等情况变化或每30度。
我们使用QuickServer,一个开源的Java库的快速创建健壮和多线程,multiclient TCP服务器应用程序和功能强大的服务器应用程序(
QuickServer用于收集GPS发送的实时数据服务器。我们创建了一个数据过滤和解析程序在服务器上立即提取有用的信息并将它插入到数据库中。
从传感器收集的数据通常存储在一个数据存储解决方案。然而随着传感器的数量,因此增加的数据量就变成一个重要的任务,不断储存它。传统的传感器数据存储解决方案建议存储数据只有特定的一段时间。然而从传感器收集的数据是有价值的,因为它们可能携带隐藏图案错误或诊断信息。出于这个原因,我们已经创建了一个可伸缩的、分布式数据存储子系统用于存储传感器数据,直到他们进行了分析。
开源NoSQL数据库提供有效的替代大量的传感器数据存储。在本研究中我们使用MongoDB,一个流行的开源NoSQL数据库(
MongoDB已在数个研究中调查,被用于各种类型的商业和学术项目(
使用MongoDB的主要原因在我们的实现中是提供高性能支持QuickServer写。它还允许我们轻易规模的数据库使用情况下,大量的传感器。
无限期地存储传感器数据是系统的一个非常重要的特性。然而传感器数据必须进行分析找到重要的信息如预警信息和故障信息。数据分析可以通过简单地使用统计方法以及通过使用更复杂的数据挖掘和机器学习算法。在这项研究中,我们已经创建了一个可伸缩的、分布式数据分析子系统使用大数据技术。我们的目标是能够运行先进的机器学习算法在传感器数据寻找有价值的信息。
大数据处理需要处理能力以及存储支持通常提供的计算集群。集群通常使用多个服务器创建;然而虚拟化允许我们最大化创造集群资源利用率,降低成本。虚拟化能够帮助我们在一个物理机器上运行多个操作系统进而可以用作集群节点。另一方面,由于大多数虚拟化软件需要高许可费或广泛的专业背景,我们利用开源云计算软件OpenStack呼吁创建Hadoop集群的计算节点。
OpenStack的流行的云计算技术提供了许多机会大数据处理可伸缩的计算集群和先进的数据存储系统应用和科学研究人员(
OpenStack概览屏幕。
在这项研究中,我们创建了一个私有云使用OpenStack和6运行虚拟机实例(主节点操作工人)Hadoop集群节点(见图
OpenStack GUI屏幕截图显示了集群节点规范。
分析上述数据架构我们使用分布式机器学习算法。Apache Mahout和MLLib Apache火花是开源分布式框架进行大数据分析。我们使用两个框架实现GPS传感器数据聚类分析。聚类结果可用于道路规划或解释为找到最拥挤的地方在城市或最受欢迎的游客目的地,交通密度在某些时间段,等等。我们的地图数据存储在HDFS集群节点上运行MongoDB。
GPS传感器为我们提供一些重要的信息如纬度,经度,和高度的对象被跟踪,时间,和地面的速度。这些测量可用于各种目的。在本研究中我们使用经度和纬度数据从车辆GPS传感器。
几项研究证明使用机器学习和数据挖掘算法在空间数据
我们使用
在这项研究中,我们使用我们的架构集群与数以百万计的大型数据集点。性能结果如图
表
输入数据大小。
| 数量的点(百万) | 文件大小 |
|---|---|
| 1 | 14 MB |
| 10 | 134 MB |
| 20. | 268 MB |
| 30. | 401 MB |
| 50 | 668 MB |
| One hundred. | 1.4 GB |
作为参考,我们首先在台式机上运行Weka 8 GB的RAM和英特尔i5 - 3470 CPU。表
Weka
| 数量的点 | 执行时间(秒) |
|---|---|
| 100.000 | 2,34 |
| 200.000 | 8日,23 |
| 300.000 | 11日,29日 |
| 400.000 | 16日,67 |
| 500.000 | 20日23 |
| 公司创收 | 46岁,08年 |
| 1.500.000 | 67年,33 |
| 2.000.000 | 内存不足 |
| 3.000.000 | 内存不足 |
如表
表
| 数量的点 | 执行时间(秒) |
|---|---|
| 100.000 | 32 |
| 500.000 | 46 |
| 公司创收 | 72年 |
| 5.000.000 | 192年 |
然而使用分布式算法的真正优势表中可以看到
| 数量的点 | 执行时间(秒) |
|---|---|
| 10.000.000 | 241年 |
| 20.000.000 | 307年 |
| 30.000.000 | 532年 |
| 50.000.000 | 743年 |
| 100.000.000 | 1664年 |
如图
在本文中,我们展示了体系结构和分布式传感器测试结果数据收集、存储和分析系统。架构可以被扩展以支持大量的传感器和大数据大小。它可以用来支持地理上分布的传感器和收集传感器数据通过一个高性能的服务器。测试结果表明,该系统可以执行计算复杂的数据分析算法和显示与大型高性能传感器数据。作为一个结果,我们表明,使用开源技术,现代云计算和大数据框架可以用于大规模的传感器数据分析的需求。
作者宣称没有利益冲突有关的出版。