APP下载

物联网海量异构传感器采样数据存储与查询处理

2018-01-09赵立波李凌霞王旭

软件导刊 2017年12期
关键词:物联网

赵立波+李凌霞+王旭

摘要:物联网中的数据具有海量、异构性的特点,数据存储关系到数据共享、数据查询等后续工作,对存储方式的研究一直备受关注。在介绍存储策略和查询技术的基础上,着重探讨查询算法,为海量异构传感采样数据存储提供可参考的解决方案。

关键词:物联网;海量数据;异构数据;海量数据;数据查询

DOIDOI:10.11907/rjdk.172023

中图分类号:TP392

文献标识码:A 文章编号:1672-7800(2017)012-0182-02

Abstract:The datas in the IoT are massive and heterogeneous, the good storage strategy has been a research hotspot. The storage of data is related to the next operation, such as data sharing, data query and so on. Based on the analysis of storage technology, a storage strategy is proposed based on the selection of appropriate storage technology, and the query algorithm is discussed, which provides a reference solution for the storage of massive heterogeneous sensor sampling data.

Key Words:Internet of Things;massive data;heterogeneous data;storage;data query

0 引言

1999年,美国Auto-ID首先提出“物联网”(The Internet of Thing,IoT)的概念[1],指通过各种信息传感系统(如传感网、射频识别系统、红外感应器、激光扫描器等)、条码与二维码、全球定位系统,按约定的通信协议,将物与物、人与物、人与人连接起来,通过各种接入网、互联网进行信息交换,以实现智能化识别、定位、跟踪、监控的一种信息网络。物联网从底层到高层共分为感知层、网络层、数据层、应用层[2]。数据经过层层处理,从底层传送到高层。

物联网中的数据具有如下特征:①物联网数据的大数据特征。由于物联网结点中存在各类传感器节点,感知的数据类型各不相同,每一个传感器在工作期间都是频繁地采集数据,因此整个系统中产生了海量数据,这些海量数据的存储、查询对于物联网数据管理系统是一个巨大挑战;②物联网数据的异构性[3]。在一个物联网系统中,包含不同类型的传感节点,例如音频传感器、温度传感器、GPS传感器等,这些传感器得到的采样数据结构完全不同,而这些不同类型的采样数据要在一个网络中协调工作,互相配合。因此,如何存储这些异构的海量数据亟待研究解决。鉴于此,本文梳理了物联网海量异构数据的存储策略和查询技术,总结了各种方法的优缺点,为海量异构传感采样数据存储提供参考。

1 物联网数据管理系统特点与结构

物联网的数据管理系统是分布式的,但又不同于传统分布式数据库系统,它具有自己的特性:一是在传感网的生存环境中,感知节点可能随时失效,存储容量、处理能力、电池能量有限;二是数据需在传感网内进行预处理,这是因为物联网由海量节点组成,并且每个节点采集到的采样数据中包含大量冗余无效的噪声数据;三是能够处理感知数据误差。

物联网中的数据管理系统主要分为集中式、半分布式、分布式、层次式。集中式结构中,节点的工作方式是将采集的数据按事先约定的形式传送至中心节点,再由中心节点统一处理。这种方式的优点是简单,并且数据中心与节点相比较,具有强大的存储和计算能力,可以支持复杂、密集的查询工作。但缺点也很明显,中心节点成为整个系统的瓶颈,容错性较差。半分布式结构中,节点将数据传送到中心节点之前,会对原始数据进行简单处理。分布式结构中,节点独自处理数据存储及查询命令。显然,这要求网络中所有节点具有较强的通信、存储和计算能力。由于每次查询都会有网络通信开销,导致查询效率低下,因此分布式结构不适合密集、复杂的查询工作。层次式结构中,节点被分为网络层和代理层两种类型。网络层的每个节点均具有一定的计算和存储能力,完成诸如接收指令、本地计算和数据传送等任务。而代理层是为了完成接收命令、本地计算和数据传输等功能,因此代理层节点要求具有一定的计算和存储能力。

2 物联网海量异构数据存储策略

对于物联网的海量异构数据,较好的方案是采用集中式处理方式。集中式管理方式下,文件系统的存储方式由于效率限制,不适合作为物联网数据的存储方案,数据库技术作为物联网数据的存储方案是比较常见的选择。

数据库技术可分为关系型数据库和非关系型数据库。关系型数据库技术较为成熟,对数据描述精确,强调数据的完整性、一致性。然而,传感网数据流具有与之完全不同的特点,即数据实时到达,是一个时间序列,且数据流中存在噪声数据,数据具有多样性,结构完全不同,因此不能简单地将关系型数据库技术推广到物联网数据存储处理中。

新兴的非关系型数据库技术中,NoSQL技术由于性能、扩展性等方面的优势,在处理大数据方面有很多成功应用,其中包含云数据管理技术。其利用普通PC搭建平台,动态管理大规模计算机资源,使这些计算机协调工作,结合计算机群的资源处理能力,为海量数据处理提供有效解决方法。

针对物联网海量异构数据的特点,对于数据存储,必须对原始数据作預处理,并用统一的表达方式将数据存储到数据库中。endprint

(1)预处理。在物联网节点内进行数据预处理,其原因有二:一是由于物联网中的采样数据带有大量的噪声数据,而物联网节点处理能力及能量有限,因此要先进行数据清洗、数据融合、关键值提取;二是由于物联网各节点采样数据格式不一致,因此预处理中也要对数据格式进行统一规划。

根据传感器类型的不同,将采样数据分为非数值化与数值化两种。对于非数值化数据,例如视频、音频数据,要根据实际应用作分析,通过算法提取出关键值;对于数值型数据,还需注意密集数据的稀疏化。数据经过清洗和融合之后,定义一个状态变化的阈值,当状态变化超过阈值,才提取数据,进一步达到数据关键值提取的目的。

(2)数据表达。文献[2-3]中,提出使用非NoSQL数据库存储物联网数据的策略。在此方法中,有三级数据:数据元素、数据记录、数据集合。数据集合由数据记录组成,数据记录由数据元素组成。采样数据包含两类信息:静态信息和动态信息。静态信息指只采集一次信息,例如传感节点ID;而动态信息指时空相关信息,例如时间、温度等。用一条类似于数据中的记录记载这两条信息,如图1所示。

静态信息和动态信息分别指向原子信息开始位置,每个原子信息表示方法为:。其中,Key是字符类型,用来描述数据名称,而Value是字符类型或者数值类型。例如在养老智能家居系统中,温度传感器的数据表示可以为:。动态信息表示传感器节点实际采样值。采样值分为两种:一种是轻量级数据,例如温度、温度、血压、脉博等数据;一种是稠化数据,例如多媒体数据信息,稠化数据经过第一步预处理后,已经达到数据轻量化要求。

多个数据元素组成了一条记录,内容包括senID、type、value、time,loc。senID:节点ID;type:数据类型;value:數据值;time:采样时间;loc:采样地点。每条记录相当于关系型数据库中的一条记录,若干条记录组成一个数据集合。

文献[4]中,提出用MongoDB数据库存储数据的方法。此方法中,可以像普通关系数据库用E-R图设计数据逻辑模型,将E-R图中的实体集、属性集和方法集转换为MongoDB中的属性和集合。

E-R模型中的单值属性、对象属性、派生属性分别为单一键值对应的文档、多键值对应的文档和外部引用的文档。实体可以转换为集合,在实体转换为集合时:一对一的关系中,将两个实体转换为一个集合,一个实体看作另一个实体的属性;一对多的关系中,将两个实体分别建立集合,再根据具体情况确定将哪个集合嵌套在另一个集合中;多对多的关系中,将实体和关系都映射为集合,再根据应用需求构建不同的数据模型。

非关系型数据库的存储方式能够高效实现主关键字的查询,缺点是对于物联网数据的时空关系表示与存储、时空逻辑条件查询以及属性约束条件查询等不能很好地予以支持。

3 查询技术

目前,物联网海量数据查询算法相关研究并不多,主要方法是构建能够快速查询数据的索引表,加快查询速度。每种查询算法都与数据存储方案关系紧密,不能普遍适用。文献[5]提出了一种基于分布式哈希表的数据结构查询方法,将数据抽象为对作为索引,k是存储信息内容关系字的Hash值,v是数据存储的具体地址,根据k和v的映射关系快速查询数据。文献[6]提出了的一种查询优化算法,即基于语义空间资源及R-tree,将倒排文件与R-tree结合,构建一种适合空间资源top-k查询的树形索引结构。这些算法的难点是要根据不同的数据和查询算法建立不同的索引表。

4 结语

海量异构数据如何存储,达到方便共享、快速查询的要求值得探究。本文从寻求合适的存储方式入手,分析各类数据的不同,提出了一种能够统一表达数据的存储策略,并对查询技术作了探讨。未来工作中,将进一步探寻

更高效的查询方法。

参考文献:

[1] SARMA S,BROCK D L,ASHTON K. MIT auto ID WH-001:the networked physical world-proposals for engineering the next generation of computing,commerce & automatic-identification[M].Massachusetts:MIT Press,2000.

[2] 丁治明.面向物联网海量传感器采样数据管理的数据库集群系统框架[J].计算机工程,2011,37(23):1175-1191.

[3] 田野.物联网海量异构数据存储与共享策略研究[J].电子学报,2016,44(2):247-256.

[4] 王光磊.MongoDB数据库的应用研究和方案优化[J].信息科技,2011,20(044):93-96.

[5] 李占波.基于Chord算法的物联网信息机制[J].2011,37(23):107-109.

[6] 马武彬,刘明星,邓苏,等.面向物联网的语义空间资源索引构建及其查询优化算法[J].系统工程与电子技术,2014,36(1):173-178.

(责任编辑:孙 娟)

猜你喜欢

物联网
基于无线组网的智慧公交站点信息系统研究与实践
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者