物联网(Internet of things,loT)涉及到人类生活的各个方面,对于提高国民生活质量、推动经济发展具有十分重要的意义。现已经成为学术界和工业界的关注焦点,甚至升级为很多国家的发展战略,如欧洲的“e-Europe”、美国的“智慧地球”以及我国的“感知中国”战略。
从数据处理角度,物联网自下而上可以分为感知层、网络层、数据层以及应用层,如图l所示。可以看到,数据层在整个物联网体系结构中起到了承上启下的作用,向下服务于感知网络,向上为各类应用作有力支撑,其核心功能之一是存储物联网感知数据,将数据以一定的形式记录于存储介质中。感知数据反映了物理世界特定条件下的真实状态,因而蕴涵了大量直接的或不为人们所知的潜在的有价值信息,借助于信息处理技术可实现物联网智能化应用;而作为记录感知数据的手段,数据存储系统可以保证感知数据的持续累积,为物联网提取信息、挖掘知识提供实时的或大量的历史数据,是实现物联网智能化应用的关键角色。因此,设计良好的数据存储方案对于推动物联网发展、实现物联网价值的最大化具有不可替代的作用。
图1 物联网层次
本文开展了物联网存储模式与方案研究,首先分析了物联网数据特征为存储带来韵挑战,并基于此提出物联网存储的需求,根据需求给出物联网存储方案定性评价指标;其次,对物联网数据存储模式进行分类,并根据这些分类介绍物联网存储的研究现状与进展,同时对典型的物联网存储技术及方案进行了比较分析;之后根据物联网应用分类指出适合相应应用特性的存储模式;最后对物联网存储进一步工作进行了总结。
1.物联网数据存储挑战与需求
1.1 物联网数据特征与挑战
物联网数据来源于大规模异构感知设备,描述着数以十亿计的物理世界对象,总体而言其呈现以下主要特征:
a)多源异构。物联网数据来源于不同的感知设备,如RFID识读器、视频设备、温度传感器、湿度传感器等,源自这些设备的数据有着不同的语义及结构。
b)超大规模。物联网部署了数量巨大的感知设备,这些设备的持续感知将以前所未有的速度产生数据,导致数据规模的急剧膨胀,形成了海量数据。
c)时空关联。物联网系统中每一个采样数据都具备时间和空间属性,用于描述物体状态在时间和空间上的动态变化。
d)多维标量。物联网应用通常集成了多个不同种类的感知设备,可同时感知多个指标量(即多维事件),因而物联网采样数据通常是多维甚至是高维的。
e)冗余度高。物联网应用中存在采样频率过高以及不同的感知设备对同一个物体同时感知等情况,这类情况导致了大量的冗余数据。
上述特征为物联网数据存储实现带来了巨大挑战:a)物联网多源异构数据给存储与共享形成了不少难题,需要对数据的表达进行细致的考虑.b)数据规模巨大,对海量存储空间有强烈需求;c)感知信息具有时空关联的特性,蕴藏了海量有价值的信息,存储系统需要支持从不同空间区域上的多粒度分级存储和检索,以改善资源利用率并提高信息获取效率;d)(实时的、历史的)多维事件的检测不仅需要考虑效率,还需要在具有不确定性(缺失、噪声等)的情况下保证较高的准确率;e)冗余数据占据了过多的存储空间与网络流量,需要适当地压缩、去重以保证数据质量。因而物联网存储系统相对于传统互联网存储面临着更多更新的难题,需要专门研究以支持物联网智能应用。
1.2 物联网数据存储需求
为应对物联网的挑战,应用于物联网的存储系统须满足以下需求:
a)开放兼容,即物联网信息服务系统具备良好的开放性。接口与交互协议须便于物联网信息的发现、定位和获取,使得物联网信息的共享成为可能;兼容多种物联网技术,屏蔽多种数据接口带来的复杂性,物联网数据可用于数据挖掘、状态跟踪等各类应用,兼容多源、异构的物联网有助于缩减应用开发成本,降低使用代价。
b)动态扩展。它包括两方面:(a)存储能力动态可扩展,具备伴随数据规模增大可无限横向扩展的能力,同时也具备需求完成后释放资源的能力,良好的弹性是应对物联网海量数据存储的基本前提;(b)数据结构动态可扩展,即数据不要固定结构,可根据需求灵活定制数据格式。物联网数据具有多源、异构的特点,固定结构难以应对此类数据的管理,灵活结构可解决此难题。
c)可靠高效,即支持高并发及高可用性。物联网存在大量网关同时向信息服务系统写数据以及大量用户同时查询数据的情景,信息服务系统需对这类高并发场景提供良好支持;另一方面,还应在部分节点失效的情况下,整个系统依然可提供正常信息服务,即具备高容错能力,这是信息服务系统可用的关键。
d)安全可信。物联网信息服务系统健康地运维需要健全的安全体系支持,系统的开放性对维护数据安全、提高隐私保护带来了更大的挑战。构建于安全可信框架下的物联网信息服务是推动用户广泛接受必须满足的条件,也是物联网普及应用的前提。
2.物联网数据存储评价指标
根据物联网数据存储需求,可以从以下几个方面展开对物联网数据存储方案的评价:
a)开放性(openness),指系统具有开放性质的措施和形式,其他系统能够方便地接人,可以通过约定的规则或协议交换数据、协同工作、共享资源。
b)扩展性(scalability),指在通过增加设备等手段提升存储能力的同时,系统整体性能不会受到显著的消极影响。
c)灵活性(flexibility),在此指存储系统可应对异构的数据,灵活调整数据结构。
d)可靠性(reliability),指系统在一定时间内无故障地完成指定任务的可能性,通常可以用平均无故障时衡量。
e)高效性(efficiency),指系统在完成特定任务时占用较少的时间和资源。
f)安全性(security),指系统可以通过如访问控制、加密等安全手段确保数据的私密性。
g)可用性(usability),指系统易用程度,是否可轻松高效地完成特定范围的任务。
h)实时性(real-time),指系统中数据的产生到获取经历的时延小于限定时间。
其中,评价指标a)对应于开放兼容的需求;评价指标b)c)对应于动态扩展的需求;评价指标d)e)对应于可靠高效的需求;评价指标f)对应于安全可信的需求;评价指标g)对应于系统普适需求;评价指标h)对应于部分应用特别需求。
3.物联网存储研究进展与比较分析
3.1 存储模式分类
物联网整体是由若干局域感知网络构成,感知网络之间基于互联网、卫星等手段实现互连互通。从网络构成角度划分,物联网数据存储模式主要分为两大类:
a)网内存储模式。利用感知网络自身的存储能力记录感知数据;通常感知设备都具备一定的存储空间,以WSN为例,除电源、传感单元、处理器等部件外,也配备了存储单元,可以保存一定量的数据。网内存储还可细分为两类:(a)本地存储,感知数据生成后就地存储于产生它的感知节点中;(b)分布存储,感知数据分布存储于感知网络的某些或全部节点中,通过分布式机制实现对数据的访问。
b)网外存储模式。感知数据由各个节点产生后,由专门的节点负责数据集成,并借助网络、无人机等设施与感知网络外部建立通信,最终以人工收集、自动推送或定期询问等方式将感知数据发送至网络外的存储系统集中存储,查询处理可以在网外存储系统中直接完成,无须与感知网络建立通信。
不同存储模式的工作重点有所差别,对于网内存储模式,既需要关注于对感知数据的网内处理与存储以实现高效节能,也需要实现快速、可靠的信息收集与统计,有效减少扫描时延并确保鲁棒性,并在具有不确定性的实时数据流基础上提供可靠的事件查询结果;对于网外存储模式,需要关注大规模数据下的分片存储与查询优化处理,兼容多源异构数据的存储与表达,提供多级时间、空间粒度下对于复杂事件的查询支持,并在多用户、多任务、高并发情况下保持较高的性能。
图2是对本节所介绍的物联网存储分类及总结。从图中可以看到,这两类模式从技术上来讲最基本的存储手段有四种:8)文件系统,将感知数据以文件的形式(如XML文件或纯文本)存储于文件系统中,文件系统包括了本地文件系统,以及建立于本地文件系统之上的分布式文件系统;b)数据库,将感知数据以结构化、半结构化或非结构化等形式存储于数据库中;c)混合式,将文件系统与数据库结合,在数据库中存储的不是原始感知数据,而是数据的索引,原始数据以文件形式存储于文件系统中,可充分利用两者存储不同类型数据特有的优势;d)云平台,其技术基础实质上仍是分布式文件系统或数据库,作为一项新兴技术和新的服务模式,具有(计算资源与存储空间)弹性、开放、高性能等优势,但其内部环境复杂也引发了更多的数据安全等问题,与物联网的结合需要专门的研究。
图2 物联网存储分类及技术
3.2 典型存储技术及方案
3.2.1 基于文件系统的物联网存储
文件系统包括本地文件系统以及建立于本地文件系统之上的分布式文件系统。
本地文件系统是指文件系统管理的物理存储资源直接连接在本地节点上,处理器通过系统总线可以直接访问。建立于本地文件系统上的方案如在TinyOS上使用XML存储数据以实现嵌入式设备提供Web服;将所有数据都存储于PML文件中,实现了一个物联网的数据服务器;为优化PML存储,提出了一个PML压缩算法"J。但基于本地文件系统的方案整体较少,仅在一些早期方案或小规模、简单应用中被采用,究其原因:a)本地文件系统功能有限,仅提供基本的存储与文件索引功能,无法很好地支持大规模数据处理;b)横向扩展困难也是限制本地文件系统应用的一个重要原因;C)将不同设备上的本地文件系统连接协同工作需要大量额外工作,增加了使用成本;d)本地文件系统通常运行于独立的设备之上,当设备失效时容易造成数据丢失,可靠性不强。
鉴于本地文件系统的上述局限,一些研究关注于使用分布式文件系统存储物联网数据。这类文件系统建立于本地文件系统之上,通过网络将若干存储节点相连,逻辑上将独立的存储节点聚合为一个文件系统整体,统一管理这些节点的物理资源,同时提供并发控制以实现多用户文件访问,可以解决I/O瓶颈、空间动态扩展等问题。分布式文件系统是近年来的一个研究热点。典型的分布式文件系统为Xyratex的Lustre、谷歌的GFS以及Apache项目中的HDFS等。图3展示了分布式文件系统一般架构。该类系统主要由两类角色构成:a)元数据服务器,用于保存元数据(文件名、文件路径、数据块索引等),并监测其他服务器状态,扮演整个集群的管理角色;b)用户数据服务器,用于存储用户数据,一般情况下数据会将数据备份到不同机架的若干服务器上,以防止数据因部分节点失效而丢失,同时提供机架感知功能,客户端访问数据时确保从最近的机架以最快的速度获取数据。
图3 分布式文件系统架构
对于存储物联网数据,分布式文件系统较本地文件系统的优点是显而易见的:a)只需简单地配置即可轻松地将集群扩展到数万节点,适用于存储物联网海量数据;b)提供并发访问控制,并可以根据数据分布优化访问,提高多任务环境下物联网应用效率;c)将节点失效视为常态,容错性高,提供了健全的数据备份及恢复机制,确保数据的可靠性;d)吞量大,适合大规模数据应用;e)一次写,多次读,与物联网数据读写模式一致;f)一些分布式文件系统还支持上层海量数据处理工具,如Hadoop中的MapReduce,有助于挖掘物联网数据潜在信息。
然而,无论是本地文件系统还是分布式文件系统,都存在一些不可避免的问题:a)文件结构定制化程度高,与实际应用部分耦合,不利于不同应用共享数据;b)数据冗余度大,清理困难,浪费存储空间,容易造成数据的不一致;c)文件大小不一,物联网数据的不确定性容易产生大量小文件,对这类文件的处理需要根据不同的文件系统作专门的研究;d)以文件为单位管理数据,通常仅针对少量关键字进行索引,检索困难,对物联网数据,特别是海量物联网数据的多维度、多粒度的分级检索支持度差;e)文件系统不能很好地支持在线数据流处理,无法满足部分物联网应用的实时性要求。因此,基于文件系统的方案并不适用于存储物联网数据。
3.2.2 基于数据库的物联网存储
主流的数据库技术分为关系型数据库(relational database management system,RDBMS)和非关系型数据库(not only SQL,NoSQL)两类。关系型数据库以结构化的方式存储数据,提供标准的SQL语言,具有强大的查询功能;非关系型数据库是目前一个新的数据库研究热点,通常以键值对的形式存储数据,已成功应用于互联网大数据处理。
感知网络内部使用的数据库系统与网外存储模式使用的数据库系统由于设备不同,两者设计上有较大差异,本节将分别从网内和网外两个方面阐述基于数据库的物联网存储。
1)网内存储模式中数据库的应用
感知网络内部可通过某种策略确定数据在节点中的分布,这类存储系统典型的代表有TinyDB、Cougar等。TinyDB是用于存储WSN感知数据的分布式数据库原型系统,它将整个感知网络内的数据都散列到指定的节点进行存储和管理,提供类SQL接口,用户无须了解WSN具体结构,可以相同的语言查询数据。关于TinyDB已有较多的研究。Cougar功能与TinyDB类似,如图4所示,在理念上与TinyDB最大的不同是将无线传感器网络节点划分为若干簇,客户前端可与任意簇头交互,簇头同时负责与簇内其他节点的通信;相对于Ti-nyDB侧重为数据管理提供底层系统框架,并对查询引擎进行优化,Cougar更侧重于有效通信机制的建立,并尽可能减少查询引起的通信能量消耗。
图4 Cougar系统架构
TinyDB与Cougar都是基于传统的关系型数据库模型.部分研究将目光转移到了新数据库存储技术,如文献尝试基于非关系型数据库Redis 22实现无线传感器网络的查询系统,用于取代TinyDB。
但上述这些工作实质上都是数据库技术向感知网络的简单扩展,需要针对感知网内数据特点开展更有针对性的工作,因而部分研究为上述工作进行了优化,提出了一些改进的存储方案及策略。多数感知网络能量有限,节能极为重要,文献关注到了感知网络能量问题,提出了无线传感网络中一种能量有效的存储方法,采用动态规划方法确保所有存储节点能量均衡且所有节点能耗最小由于多数存储策略只以节能为目的,很少顾及节点有限的存储容量,文献在优化存储的过程中,重点关注如何节省空间,设计的一种小波渐近数据压缩算法在耗能相当的情况下节省了节点存储容量。感知设备还存在多维甚至高维的情况,文献指出支持多维查询的数据存储方法DIM(distributed index for multi—dimensional data)和Pool算法存在热点、规模扩展性差、平均查找代价过大、可操作性不足等问题,并基于K-D树提出了一种支持多维查询的数据存储策略,在一定程度上解决了DIM以及Pool算法存在的问题。此外,由于传感器自身或环境的原因可能产生不精确或缺失的数据,感知数据具有一定的不确定性,文献针对这种不确定数据流提出了基于滑动窗口的概率阈值频繁项查询算法,但该算法仅考虑了数据集中的情况.在分布式环境下并不适用;文献提出了基于过滤策略的分布式聚类算法,并设计了分布式环境下不确定数据的表示和存储方法。上述研究都是从数据特征角度分析并解决问题,而文献则从用户的角度出发,指出不同查询用户所关心事件的粒度不同,并提出了一套基于环结构的传感器网络多分辨率数据存储机制,提供了多分辨率层次结构的存储查询机制来有效地支持不同粒度由粗到细的查询请求。
以上这些方案一定程度上解决了能耗、感知数据流的不确定性以及多维数据的优化查询等问题,但目前对于传感数据的统计特性以及感知数据之间的关联性研究仍显不足另外,由于多数方案的查询都需要在整个感知网络内部广播,因此网内存储模式随着网络规模的增大,能量的消耗将随之加快,限制了应用规模,扩展性不强。
2)网外存储模式中数据库的应用
关系型数据库技术成熟,其中一些典型的产品如MySQL、SQL server以及DB2等已经广泛应用于互联网、金融、企业以及教育等行业,其功能与性能得到了长时间验证,因此,当前网外模式多数物联网存储方案都选择这种技术为基础”。数据库的使用一定程度上减少了数据管理的难度,使得具体应用与数据得以分离,但简单地推广至物联网很难满足其需求。因此一些研究针对物联网数据的特性提出了相应的解决方案。文献在分析物品移动路径特征与采样数据实际应用状况的基础上,针对物流仓储提出了一个面向RFID海量数据的新数据模型RFID—Cuboids,该模型在完整保存了物品状态变化的同时还显著地进行了数据压缩,由于多数存储方案如文献一样,仅针对物联网某一个方面、某一种技术或某一个业务领域,应用场景具有较大的局限性。文献面向整个物联网,特别针对物联网数据时空关联特性,在改良RDBMS基础上提出了兼容键值(key—value)查询方式的数据库模型RDB—KV、该方案将物联网数据分为数值型和多媒体型。并最终将所有物联网数据都转换为数值型进行存储,对于一些较大的或重复程度较高的数据,仅提取一些关键帧,在保证数据正确性的同时,有效减少数据量,提高数据质量;然而该方案核心技术为RDBMS,尽管RDB—KV将所有数据都存人一张表中,避免了join(连接)操作带来的性能损耗。但由于RDBMS采用r锁机制,该方案扩展性较差,在性能及并发性方面表现并不理想:文献分析了物联网环境下数据库系统面临的挑战,指出传统关系型数据库的SQL已不适合时间序列数据的查询一文献也指出RDBMS在应对物联网感知数据时具有以下不足:a)传统数据库系统难以存储管理海量的感知数据;b)多数情况下,为满足实时性,只需得到一定误差范围内的近似结果,传统的RDBMS很难支持任何近似查询操作。对于一些聚集查询请求,RDBMS需要扫描外存中的关系表数据来得到查询结果,这个过程会产生许多I/O操作,不满足数据流系统中的实时查询要求。
因此,一些新兴的数据库技术得到了不少关注,尤其是NoSQL,该技术由于性能、扩展性方面的优势已在互联网中处理大数据方面有较成功的应用。NoSQL与RDBMS在设计理念上有较大差异,关系型数据库的数据格式固定,每一行数据都具有相同的字段.这方便了不同表之间连接查询操作,但也是性能瓶颈的主因而NoSQL具备以下特点:a)扩展简单,能方便地水平扩展集群,轻松应对海量数据存储;b)性能高,NoSQL遵循BASE(basically available(基本可用)、soft state(软状态)、eventually consistency(最终一致性))模型,牺牲高一致性以获得高性能;c)结构灵活,NoSQL允许每一行有不同字段,并可随意增删,操作灵活且减少了时间和空间开销,适用于高效存取异构数据。当前,较为流行的开源NoSQL数据库有MongoDB、CouchDB-8、HBase、Redis以及Cassandra、”等;应用较广的非开源数据库有谷歌的Bigtable。以及亚马逊的Dynamo等。
已有少量工作将NoSQL数据库应用于物联网领域,文献将NoSQL应用构建物联网异构多媒体数据存储架构,但这项工作较为初步;NoSQL技术种类众多,陔方案并未给出合理的选择依据。文献在对比了不同NoSQL特性的基础上,针对感知数据的海量异构性基于NoSQL提出了一套存储方案,该方案对异构物联网数据提出统一的表达形式,并通过预处理、数据分布等策略减少冗余数据量,提高了数据质量但这些方案对物联网感知数据的时空关联性以及数据不确定性方面并没有展开有效的工作,对于如何使用NoSQL应对物联网数据的种类特性研究还不够全面。
3.2.3 合式
部分应用出于自身的考虑设计了数据库与文件系统结合使用的方式。由于感知节点资源有限,混合式对于感知网络内部实现起来较为困难,这种方式多出现于网外存储模式中。
文献针对智能电网数据存储,设计了BDBMS与本地文件系统结合的存储架构,将数据存储于文件系统中,而文件路径及时间信息则存储于数据库中。该方案实际上是对本地文件系统方案的改进,提高了文件的检索效率,使得存储空间的扩展变得简单,是一种轻量化设计,实现容易,开发工程量小。但这种改进收益并不大,对该方案进行的仿真实验结果表明,其执行时间较长,性能差;进一步地,通过分析可得,这类方案使得数据与应用的祸合度更高,若有其他需求须重新设计;另外,由于数据库中的索引信息定制程度高,开放性并不理想,难以实现与其他系统的互操作,且由于实现机制简单,不能很好地保证数据的完整性和可靠性。
文献使用分布式文件系统HDFS与数据库HUADINGS构建了智慧医疗应用,较文献工作更为合理,对不同格式数据进行了分类存储,非结构化数据存储于文件系统中,而结构化数据则存储于数据库中,用于借助数据库的强大查询功能支持语义规则分析。
混合式可以利用数据库与文件系统各自的优点,但由于涉及了两类存储系统,在访问数据时较单一的系统而言增加了额外的开销,系统性能也会受到消极影响。可以看到,如果应用中涉及了结构化、半结构化以及非结构化等多种复杂的数据,将数据库与文件系统结合是一个不错的选择,也有利于针对不同类型的数据存储上进行优化;但如果数据类型单一,如文献展示的应用,则无须采取这种方式。
3.2.4 基于云平台的物联网数据存储
云计算是一种大规模的分布式计算模式,带动了一种将应用作为服务的新趋势,使得硬件与软件通过互联网可以被充分地使用。物联网存在大量数据密集型应用,这些应用需要对海量数据进行处理,云平台有助于解决物联网自身平台存储空间有限、计算性能差等问题,提高环境感知能力以及数据的收集和存储效率,并提供高效的在线处理感知数据的能力。鉴于云平台的这些优势,已有大量工作开展了基于云平台的物联网数据存储研究,如文献设计了一个基于云平台的高效海量数据处理模型,可以同时处理物联网产生的结构化、半结构化和非结构化数据;文献不仅考虑了数据格式问题,更关注了物联网系统间的互操作性、系统安全、数据服务质量以及存储空间的动态扩展,基于云计算为物联网智慧医疗提出了一个开放、安全以及灵活的平台,探索了弹性的物联网服务;大量的应用与异构感知节点的接人使得大规模数据处理变得十分困难,文献考虑到了不断增长的物联网实体及多种多样的信息带来的物联网设备管理失控问题,并在开放性上较文献做了更多实践,融合了物联网一些先进的技术和新的标准,如链接传感数据(linked sensor data)、语义传感网本体以及CoAP协议,使得整个数据管理框架面向底层感知网络以及上层智能应用都具备很好的开放性。实时性是物联网应用的另一个重要需求,与应用交互的设备如传感器等对海量存储、高性能计算能力有非常高的要求。文献研究了物联网与云计算的结合以解决大数据面临的问题,提高了数据实时性,以实现用户可以在任何时间、任何地点对任何物体的访问。除去数据的实时性,大量冗余数据也为云平台与物联网的结合带来了挑战。文献在保证数据实时性的基础上,设计了一个空间有界(space-bounded)的数据摘要结构,极大地减少了数据量,并基于时间滑动窗口(time sliding window)的聚合算法确保了数据的准确性。
云平台为物联网数据存储提供了弹性的、开放的、实时的、高效的服务,却加重了数据隐私和安全问题。文献对结合云平台的智能电网风险进行了分析,指出了云平台下数据面临的七个安全风险,虽然部分研究[”一川提出了一些方法保证云平台环境下数据的安全,但目前还没有一个系统的框架应对上述所有风险。
3.3 物联网存储模式比较分析
3.2节详细阐述了各类存储模式所使用的技术及基于这些技术的方案。可以看到最基本的存储技术虽然只有数据库与文件系统两类,但这些技术内部又有更细的划分,基于这些技术衍生出的具体方案及改进方案更为多样,难以枚举出所有的方案,因此,在对比不同的存储模式时仅选取了其中的一些典型方案作为代表。表1是根据3.2节中的分析得到的结果,其中符号“V”表明该类物联网存储方案在对应的指标上具有较好的表现,下面根据这些指标进行详细的阐述。
表1 物联网存储模式比较
a)在开放性方面。网内的存储模式通常较为封闭,与其他系统通信困难、协同性较差,通常两个感知网络之间的数据交换需要借助翻译模块,洲实现。但翻译模块通常是定制的,难以兼容所有种类的感知网络,即便是同一种物联网技术内部也存在标准不一的情况,要为所有感知技术都建立通信桥梁将更加困难。网外模式中由于本地文件系统缺乏对外的标准接口,不利于外部系统从中获取数据,因而开放性相比其他几类较差。
b)在扩展性方面。网内模式的存储空间通常是由感知网络节点的存储容量所决定的,部分类型感知设备,如RFID的手持识读器可以通过更换存储卡获取更大的容量,但对于广泛应用的WSN,一旦部署完成(如通过无人机抛洒至一个广大区域进行环境监测),则几乎不能更换设备,因此这类模式的存储空间受到了感知网络节点物理空间的限制。在网外模式中,本地文件系统缺乏协同机制以利用不同机器上的存储空间,通常只能纵向扩展,即增加机器本身的存储空间,但独立的机器所能管理的空间是有限的,因此本地文件系统的扩展性并不理想,而其他几类则可以通过横向扩展轻松获得更大的空间。
c)在灵活性方面。网内数据库模式大多采用的是关系型模型,这类模型数据格式固定,难以灵活增删字段,虽有一些初步的工作将NoSQL引人这类模式应对异构数据,但还未得到广泛应用。因此整体上来讲,网内模式的数据灵活性是较差的。在网外模式中,由于非关系型数据库系统与云平台的应用,数据格式上能支持结构化、半结构化以及非结构化等数据,数据类型上也可应对复杂的多媒体数据,因而基于这几类技术的方案都具备较好的灵活性。
d)在可靠性方面。网内存储模式由于感知节点存储空间与计算资源的限制,难以提供数据冗余备份,一点感知节点失效,将可能导致部分或全部的数据丢失,系统鲁棒性较差。网外存储模式中,基于本地文件系统的存储方案通常存储于单台机器上,备份困难,容易存在单点失效的问题,而其他几类技术的方案通常都能够通过网络利用本地甚至异地的多台机器存储空间,并提供完善的备份与同步机制,因而数据的可靠性能得到良好的保证。
e)在高效性方面。网内存储模式的查询通常需要洪泛,这种工作模式下即便是单次查询,也会引发大量不必要的开销,因而完成数据访问的效率较低。网外存储模式中将数据库与文件系统混合应用的方案。需要部署两类系统,而这两类系统间需要额外的通信开销完成任务,文献实验表明其性能较其他几类使用单一系统的方案有较大的劣势。
f)在安全性方面。由于物联网的日益普及,而感知数据多涉及敏感、隐私信息,其安全问题得到了特别的关注。在网内存储模式方面,针对如何保护网内数据安全已有较多的研究,一些典型的方案如WSN中的TinySec和SenSec安全操作系统、RFID网络中的Hash-lock协议、公钥密码机制等,这些方案能一定程度地保护感知网内数据安全,但这些方案整体还并不完善。由于感知网络环境的特殊性易被攻破,部分方案由于算法复杂度较高,在实际中难以部署到资源受限的感知设备中。在网外存储模式中,应用防火墙、访问控制以及认证机制等设置便可较好地保护数据安全;然而由于云平台环境复杂,面临的安全风险更高,目前还未有系统的方案能够较好地应对云平台下数据安全问题。
g)在可用性方面。无论网内还是网外存储模式,采用RD-BMS的方案都可以提供标准的SQL查询语言,接口单一,查询语言对用户友好程度高、易于理解,因而基于RDBMS的方案可用性较高。而基于非关系型数据库的方案,由于NoSQL种类众多,并没有统一的查询语言,虽然部分系统能提供功能强大的查询语法(如MongoDB查询语法几乎可以与SQL一一对应,并支持空间数据的查询),但因为各类系统使用的语言不一致,导致了使用成本的增加,可用性较基于RDBMS的方案差。基于文件系统的方案,虽然部分分布式文件系统提供了一定功能的数据处理工具,但整体上定制程度高,用户端工作量较大,难以轻松利用一些简单SQL语言便可实现的功能,因此基于文件系统的方案可用性是最差的。
h)在实时性方面。网内存储模式由于可以直接与感知网络交互,数据的实时性得到了最大化的保证。而网络外部存储模式由于需要将数据通过通信网络传输到外部存储系统集中存储,因此增加了通信时延;此外,由于网络造成的能量消耗较高,无法一有数据产生便传送至外部存储,需要累积一定量一次性传输,以减少频繁网络交互带来的能量消耗,因而网外存储模式的实时性要远低于网内存储模式。
3.4 不同存储模式应用范围
根据物联网应用对数据量的需求可以将应用分为数据稀疏型和数据密集型两大类。前者一般应用简单,多为数据的直接获取和展示,用户通过查询所得到的结果一般是最初输人数据的实例,最多再加上一些简单处理如求和、平均、极大、极小等;而后者一般应用较为复杂,需要大量数据支持,并运用多种数据处理手段从数据中挖掘出数据之间蕴涵的关系以及感兴趣的知识。另一方面,从数据的实时性要求角度可以将物联网应用划分为实时性应用、半实时性应用以及历史数据应用、实时性应用要求数据产生与获得之间的时延很小,一旦生成便尽可能快地获得;半实时性应用对时延的要求稍有放宽(如获取智能交通应用关于某时段交通路况的信息),几分钟甚至上小时的时延是可以容忍的;历史数据应用则通常需要较大的数据量的累积,因而并不关心数据的实时性,新产生的数据对数据处理结果几乎没有影响。
根据上述分析,可以界定不同存储模式的适用范围,进而得到图5展示的物联网应用与存储模式的对应关系。网内存储模式由于数据量小、数据简单、实时性高,因而用于实时性或半实时性应用;网外存储模式往往具备良好的硬件、完善的数据接口以及强大的功能,能够很好地支撑数据处理,从海量感知数据中获取有价值的信息,因此适用于数据密集型的应用。同时,部分方案能够支持在线对历史数据流的处理,因而也适用于如文献所示的高速公路车速监控、股票趋势预测等半实时性应用。
图5 物联网应用分类与存储分类对应关系
4.物联网数据存储趋势与下一步工作
根据上述分析可以得出,物联网由于本身的技术多样性、应用广泛性等特点,多种存储方案并存是其发展的必然结果,没有一种模式或一种方案能解决所有问题。另一方面,可以根据物联网存储的发展总结出一个明显的趋势:从最早的一维数据到现在的多维数据,从早期数据的简单呈现到目前的基于海量数据的信息处理,物联网应用越来越复杂,智能化程度也日益增加,对存储系统的要求也随之增高,不同的存储模式(网内存储模式、网外存储模式)在不同类型(实时性、半实时性、历史数据)的应用中将会朝着更为安全、开放、兼容、高效等方向发展,以应对物联网数据的各类特性,满足智能化应用需求。但要达到这些目标,下一步工作还需要在以下几个方面完善。
对于网内存储模式:8)开放性方面,还缺乏标准的数据交换机制,感知网络内部现存了多种数据交换协议,如PML、M2MXML以及NGTP等,不同的协议定义的数据格式各异,且限制在特定领域内有效,仅靠翻译模块实现不同感知网络之间的数据交换具有较大的局限性;b)可靠性方面,内部存储模式易受网络内分组丢失和节点失效的情况影响而丢失数据,虽有一些工作关注到这样的问题,但效果并不明显;c)安全性方面,现有的解决方案在理论上都能一定程度地确保数据安全,但网内存储模式中节点资源有限,现有的方法往往能耗较高,实际部署较为困难;d)实时性方面,虽然网内存储模式具备天然的实时性优势,但目前的应用已并非简单的数据获取与展示,在线实时的复杂事件检测仍然是一个难点。由于复杂事件检测的应用场景一般为分布式环境,数据在汇集到中心节点时,由于网络延迟或其他不确定因素,在数据流中可能存在数据乱序的情况,如何在保证在线复杂事件检测完整性和一致性的前提下去除乱序数据的影响,也是需要考虑的问题。
对于网外存储模式:a)在高效性方面,绝大部分方案都基于RDBMS,由于其本身的局限性,在海量数据背景下很难提供高性能查询,对于并发的支持度也很低,虽然有部分方案尝试使用了NoSQL提高性能,但存储策略还较为初步;b)可用性方面,服务功能还相当局限,SQL已不再适应物联网时空相关性及动态流式等特征,而NoSQL大多数情况下也仅能支持功能有限的键值查询,虽然有工作将RDBMS与键值结合,但其方案还并不成熟,缺乏复杂、灵活的查询服务;c)灵活性方面,异构感知数据的存储管理已超越了以往的时空数据管理的范畴,现实世界的物理对象还具备多种属性,虽然文献提出了统一的表达方式,但其数据类型仅限于数值型,未能概括物联网所有数据类型,因而物联网数据存储的面对异构数据的灵活度还有待加强;d)安全性方面,基于云平台的方案问题尤为突出,已有的方法能一定程度地解决云平台数据的安全性和私密问题,但各个方法之间相对独立,缺乏系统性工作;e)其他方面,对感知数据的关联性研究当前还相对空白,如何支持不同应用数据之间的关联挖掘,以达到协同工作的目的将需要专门的研究工作。
此外,部分应用需要将网内存储模式与网外存储模式相结合,如在网内存储模式的实时数据流中捕获即时发生的事件,同时利用网外存储模式中的海量历史数据发掘与事件相关的信息,这是未来物联网应用的一个趋势,两种模式之间的协同需要考虑效率、带宽占用、能量消耗等方面之间的平衡,同时如何确定最佳的服务方式(如API调用、订单服务、实时推送等)也需要细致的考量。
5.结束语
本文从感知网络构成方式角度将物联网数据存储分为网内存储模式和网外存储模式,并根据物联网数据特征得出物联网存储需求,依据这些需求导出开放性、扩展性、灵活性、高效性、可靠性、可用性、安全性、实时性八个指标,对比评价了不同存储模式下的存储方案。本文将物联网应用分为实时性、半实时性以及历史数据应用,根据应用特征界定了不同的存储模式及方案应用范围,并在最后分析了物联网存储发展趋势,同时基于当前工作的不足,介绍了下一步不同模式的物联网存储研究工作的重点。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:物联网存储模式与方案研究
本文网址:http://www.toberp.com/html/consultation/10839312897.html