物联网是将具有计算通信和信息感知能力的设备嵌入到物品中,然后按照约定的协议来把物品与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络[1].通常在物联网中有数以亿计的传感设备,这些传感设备时刻都在收集、传输和交换数据,因此,物联网是一个数据的海洋,需要一个强有力的存储平台来满足其应用需求。同时,物联网最主要的目的不在于物物相连,而在于通过物与物之间的互联交换来为用户提供智能化服务。对于物联网应用服务提供商来说,传统存储模式要求企业一次性投入大量资金购置软硬件存储设备,搭建平台。而且随着新业务新应用的出现,企业还要对这些设备不断的维护和升级。在这种模式下,存储设施将占用企业很大的资金投入。
近年来随着云计算技术的兴起,云存储受到了人们的广泛关注。云计算为用户提供两种服务,一种是计算资源服务,把计算能力作为一种服务提供给用户;另一种是存储服务,将存储作为服务提供给用户,即本文所讲的云存储。云存储通过一系列软件集合将各种异构存储设备集合在一起构成海量存储空间供用户使用,需要存储服务的用户不再需要建立自己的数据中心,只需向云存储服务商申请存储服务,将自己的数据存放在云存储服务商提供的存储空间中。云存储模式使企业避免了存储平台的重复建设,节约了昂贵的软硬件基础设施投资。当前,云存储模式得到了众多厂商的支持和关注,众多知名厂商纷纷推出自己的云存储服务如Amazon公司推出的简单存储服务S3、谷歌推出的在线存储服务、微软公司推出的存储服务等。
1云存储的基本概念和关键技术
1.1云存储的概念和通用结构模型
云存储是在云计算的概念上延伸和发展出的一个新的概念,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统[2].
对比传统的存储设备,云存储是一个由网络设备、存储设备、服务器、应用软件、公用访问接口、接入网和客户端程序等多个部分组成的系统[3].在云存储系统中,各个部分以存储设备为核心,通过应用软件集合来对外提供数据存储和业务访问服务。云存储的通用结构模型如图1所示[2-4].
(1)存储层
存储层是云存储最基础的部分,包括存储设备层和存储设备管理层。存储层由各种各样的存储设备和网络设备组成,为了实现低成本,这些存储设备以及网络设备通常都是普通的商业产品,而不是可靠性更高的高端设备,系统的可靠性由一系列软件集合来保证。存储设备可以是网络连接式存储(NAS)和由小型计算机系统接口(ISCSI)所建立和管理的存储区域网等IP存储设备,可以是服务器连接存储(SAS)和小型计算机系统接口(SCSI)磁盘阵列等直连式存储(DAS)存储设备。
存储设备层之上是存储设备管理层,用来实现对存储设备的逻辑虚拟化管理、多链路冗余管理、硬件设备状态监控及故障维护等功能。
(2)基础管理层
基础管理层是云存储系统中最为核心的部分。云存储并不是一个单点存储系统,而是一个有成千上万个存储设备和服务器构成的一个集合体。基础管理层通过集群、分布式文件系统和网格计算等技术,实现了云存储中多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并在实现了良好的扩展性的同时,也满足了高可用性以及性能的需求。基础管理层还需要负责数据的加密、备份以及容灾。
(3)应用接口层
应用接口层是云存储中最灵活多变的部分,是用户利用云存储资源进行应用开发的关键部分。云存储供应商通过应用接口层,对客户提供统一的协议和编程接口,通常这些协议都是与平台无关的。
(4)访问层
访问层是基于云存储开发的应用程序的入口,云存储系统通过提供标准的公用应用接口来使授权用户享受云存储服务。云存储服务商可以根据服务类型和用户的不同来提供不同访问手段,从而保证数据的安全性和服务质量。
1.2云存储的关键技术
与传统的存储技术相比,云存储最大的特点是可扩展性好。当对存储空间的需求增加时,只需要简单增加存储设备就可以达到目的,并不需要对存储结构进行重新设计。而且随着存储空间的增加,系统的整体性能并不会下降。可以说云存储是对虚拟化的存储资源管理和使用。云存储的关键技术包括存储虚拟化、弹性存储空间扩展、分布式存储、数据隔离与保护等。
(1)存储虚拟化技术存储虚拟化技术是将物理资源存储进行了替换,通过将多个存储设备整合成一个与物理存储资源有相同功能和接口的虚拟存储资源,这样系统可以提供海量存储空间给用户,这些存储空间可能是建立在一个实际的物理资源上,也可能是跨多个物理资源,用户不需要了解底层的物理细节。
(2)弹性存储空间扩展技术云存储提供了一个巨大的存储资源池,但是应用对存储资源的使用具有时空性,即不同的时间段和不同地点对存储资源的需求是不同的,这就要求系统具有良好的弹性存储空间扩展功能。
(3)分布式存储技术分布式存储,就是将数据分散存储在多台独立的设备上,利用多个存储设备的存储资源来满足单个存储设备所不能满足的存储需求,并且实现对数据的并行访问。分布式存储的特征是存储资源能够被抽象表示和统一管理,并且能够保证数据读写与操作的安全性、可靠性等各方面要求。最典型分布式存储技术有的分布式文件系统GFS和的开源HDFS.
(4)数据隔离与保护数据隔离与保护技术保证大量用户共享云存储中的统一存储资源时,每个用户只能访问自身存储空间中的数据,对存储空间的分配管理不影响其他用户的使用。
2云存储作为物联网存储平台的可行性分析
物联网是一个物理世界与信息世界相连接的网络,通过将信息的载体扩展到“物”,在对这些信息分析处理的基础上实现对物理世界的智能化控制。因此物联网是一个规模庞大的信息计算系统,这个系统需要一个强有力的平台提供计算和存储服务来支撑其应用需求。当前云计算模式兴起,并迅速从概念走向应用。
云计算通过互联网将计算能力和存储空间有限的一系列IT设备整合成一个具有强大计算能力和海量存储空间的系统,其超大规模、高扩展性、高可靠性正好满足物联网对计算资源和存储资源的需求,成为支撑物联网应用的一个强有力的平台[5].云计算面向物联网提供计算资源和存储资源两种服务,其中,存储资源服务就是云存储。云存储服务是整个云计算平台最底层的服务,是与云计算模式相匹配的存储模式,满足整个系统对数据的存取访问。下面从可用性、可靠性、数据资源高度共享3个方面分析云存储在物联网环境中的应用。
(1)可用性
从处理的数据对象上来讲,物联网传感层所采集的数据大都是非结构化的数据,例如图像、视频、文本、病例数据等,而云存储最擅长的数据处理对象便是这些数据。
物联网中的传感信息具有大数据量、实效性、高度并发等特征[6].面对海量对象和海量汇聚的信息,快速存取成为物联网评价一个存储系统高可用性的一个关键指标。同时,高度并发的应用需求也要求系统必须以很小的响应时间来完成信息的快速处理和访问。云存储中的存储资源采用集中式的存放管理,而对这些资源的分配调度采用分布式。当用户提交数据访问请求时,云存储系统中便会有多个存储设备和服务器提供服务,大大提高了数据存取速度,同时,采用分布式存储架构可以实现对数据的并行读写,满足物联网中并发业务的数据存取需求。
物联网对存储资源的需求具有时空性,也就是不同的时间段和不同的地区对存储资源的需求是不同的。这就要求系统具有动态扩展存储空间和负载均衡功能。云存储系统采用弹性存储空间扩展技术和虚拟化技术,可以根据用户的需求或负载对存储空间大小动态伸缩,而这些过程对用户来说是透明的。
(2)可靠性
可靠性主要是从对数据存储的安全性方面来说的。物联网通过对感知数据的采集和分析处理来提供智能化服务,因此信息的可靠存储就更加关键。云存储通过以下两种方法来保证系统的可靠性:一是加强系统的容错性,增加备份数据;二是通过全网全资源监控管理来保障系统各环节的健壮性。
云存储提供多种级别的容错技术,如硬盘级、节点级和级的数据可靠性技术,可以被运用到物联网中以满足不同数据的不同存储需求。同时云存储中的每一份数据都是冗余存储的,数据可以根据用户的需求而创建不同数目的副本,并且这些副本是存储在不同地方的,这样可以提高系统的健壮性,当某些存储节点失效时不会影响整个系统的稳定性。
云存储的全网全资源管理的特性可以对全网资源的性能进行监控,使得系统可以据此快速定位故障并修复并根据资源使用状况来优化存储节点的性能从而保障整个系统各个环节的健壮性。
(3)数据资源共享
单一的物联网应用是物联网发展的必要过程,一个个单一的应用构成了未来物联网建设的基本单元[7].
通过对众多单一物联网应用的互联和集成能够提高对物理世界的管理水平,可以形成覆盖范围更广的未来物联网。这就要求海量数据的共享,通过数据共享,众多单一的物联网应用才能互联相互协作,从而为用户提供更好的智能化服务。云存储通过将收集到的海量感知信息按照应用需求统一存放在不同的数据中心中,这种集中存放的模式通过高速传输的互联网使得不同应用服务提供商之间的数据共享更为方便,可提高共享数据的访问速度。
从以上3个方面的分析可以看出,云存储解决了物联网所面临的海量数据存储这个难题,是物联网环境下一种比较好的存储方案。但是,物联网与云存储结合有一个前提条件是规模化,也就是说,只有当物联网的应用达到相当大的规模后才有必要采用云存储,对于一些小型的物联网应用例如家庭物联网应用则没有必要结合云存储。
3云存储在物联网应用中所面临的安全挑战及安全技术
物联网中的应用都是数据密集型的,传感设备与存储平台之间、用户与存储平台之间和用户与传感设备之间时刻都在进行数据交互,一旦数据的丢失和损坏都将早成难以预料的后果。同时,由于云存储是通过虚拟化技术来按照用户需求来分配存储空间,实际上所有用户的数据都存放在一个相同的物理存储系统中,不再像传统存储系统一样有物理的隔离和防护边界。这种集中存放模式容易丧失不同的企业数据和用户数据在存储和传输过程中的保密性,造成商业信息和隐私信息的泄露。
因此,云存储平台必须采取适当的安全策略来保证物联网中数据的完整性、保密性和不可抵赖性。
3.1云存储基础设施安全
云存储基础设施安全的主要目的是保证数据存储的完整性和保密性[8].下面主要从数据备份、数据检错和纠错、文件系统安全性、访问控制和身份鉴别等几个方面来阐述。
(1)备份和数据检错纠错
云存储中的物理存储设备都是一些比较廉价的商用设备,存储设备故障是一种正常现象而不是异常。
通常采用的做法是冗余备份数据,并将数据存放在不同的数据中心中,以保证个别存储设备的故障不影响整个存储系统的可用性。系统能够迅
速发现错误并找寻备份数据来完成数据存取访问。同时,廉价的商用存储设备也要求系统具有良好的数据检错和纠错技术来保证数据的正确读写。
(2)文件系统安全性
文件系统是云存储系统中的一个重要组成部分。文件系统加密是实现存储系统安全最简单最直接的方法。文件系统的安全性一方面通过数据加密的方式来保证,同是也可采用当前常见的安全文件系统,主要有以下几种:Blaze等人提出的加密文件系统(CFS)、Howaro等人提出的一个附加安全措施的分布式文件(AFS)、Kaashoek等人提出的系统、Wylie等人提出的PASIS系统等保证文件安全性的技术方法[9].
(3)访问控制和身份鉴别技术
访问控制和身份鉴别技术可以有效地控制用户对存储资源的访问,根据用户身份的不同,系统可以授予用户不同的访问权限,并设置相应的策略保证合法用户获得资源的访问权。这种策略可以将用户对存储系统的访问限制在一定的范围内,从而保证其他用户数据的安全性,防止越界访问。例如登录访问控制可以使有权用户能够登录到网络存储系统并获取存储资源,目录访问控制可以控制用户对目录、文件、存储设备的访问等。
3.2云应用安全云存储
应用安全主要是面向用户提供一些安全手段来保证用户数据在传输、交换和存取访问过程中的安全性,防止用户数据被非法访问和泄露。应用安全常采用的安全机制有以下几种:存储加密、交换加密、身份认证与访问控制和接口安全等。
存储加密在访问云入口对数据进行加密,保障传输的安全性,只有授权用户才能访问数据。在云存储平台中,各个用户的数据不是相互孤立的,各个用户之间需要时刻进行数据交换来满足物联网中的各种应用。交换加密保证了用户数据在交互过程中的安全性,交换加密常采用的技术手段是数字信。身份认证与访问控制机制确保授权用户在自己的权限范围内进行数据操作,从而防止非法用户对数据的访问,也可以防止授权用户的越界访问。云存储根据物联网的应用需求不同而提供不同的应用接口,因此,接口安全可以有效的保证应用程序对存储资源的安全访问,多接口模式和加密技术可以有效的保证接口安全。
4物联网环境下云存储系统的模型
基于云存储的物联网体系结构如图2所示。物联网环境下云存储平台的结构模型如图3所示。图2给出了云存储平台在整个物联网的体系结构中的位置,物联网整个体系结构从下到上依次可分为感知层、传输层、处理层、应用层4层[10].感知层主要用来收集周围可被感知物品的信息,并将这些感知信息简单处理后通过各种接入网传递到传输层;传输层将融合后的感知信息传输到处理层,再将处理层的反馈信息传递到感知层的各个设备;处理层提供存储和处理功能,提供数据分析、局势判断和控制决策等处理功能,云存储便设立在这一层来提供存储服务来满足整个系统对数据的访问。最上层的应用层建立不同领域中的各种应用。
云存储接受传输层提交的感知数据,并采用合适的策略(如按照地理位置就近原则)存储数据,提供访问接口供云计算信息处理平台对数据进行分析处理,并将处理的结果存放起来供应用层访问。
图3中整个云存储平台由云存储管理器[11-12]和云存储资源池[13-14]两个部分构成:
云存储管理器是整个云存储平台的“大脑”,主要任务是负责存储资源的管理和调度。云存储管理器以系统管理为核心,以用户管理、安全管理、存储资源管理、服务管理和云数据管理等为子管理模块。这些子管理模块分别分布在各个不同的服务器节点上,接受系统管理模块的统一管理。
系统管理模块是云存储管理器中的核心部件,掌握着整个云存储系统的拓扑结构和底层操作系统以及所采用的文件系统的基本信息,协调各个子管理模块的工作。同时,系统管理模块制订各种各样的策略并将其分发到各个子管理模块中去,例如文件分块大小、存储分区大小、存储空间分配策略、冗余副本个数、节点故障处理、安全等级等。子管理模块根据这些策略实现自身功能。
存储资源管理模块实现存储资源的管理和分配,主要功能如下:监控整个系统中云存储节点的运行状态,及时发现故障节点并采取相应的策略选择新的存储节点来代替原有节点提供存储服务;发现新添加的存储节点,实现对其透明访问;采取合适的负载均衡功能保证系统的可靠性;将大的数据块划分为较小的数据并将这些小型数据块分配到不同的存储节点上,实现分布式存储。
云数据管理模块的主要功能实现对元数据的管理,元数据是存储文件基本信息的一种数据。当一个文件被创建的时候,文件的一些基本信息如文件名、文件大小、文件存储位置、文件访问控制等将被作为一个元数据项存放在元数据文件中。当有文件访问请求时,系统首先查找该文件的元数据信息,根据元数据信息找出该文件的存储位置,然后向相应的存储节点发出数据访问请求。
服务管理模块定义了不同等级的云存储服务和用户为此支付的费用,用户可根据自己的实际需求选择合适的存储服务;用户管理模块负责管理整个云存储系统中用户的基本信息,实现对用户的访问认证及访问权限的授予;安全管理模块实现对整个云存储系统的安全管理,采用各种安全技术如防火墙技术、入侵检测技术、加密技术等来保证整个系统的安全性。
云存储资源池是由多个云存储节点构成,这些云存储节点可能分布在不同地点。通过存储虚拟化技术将其整合为一大容量虚拟存储设备,用户可以像使用物理存储设备那样来使用。
5结束语
云存储以其成本低廉、可扩展性高、易于管理等优点已成为未来存储发展的一种趋势。对于物联网应用服务提供商来说,云存储模式使其节省了构建存储平台所带来的昂贵的成本投入,应用服务商可以以较低的代价享受到先进的存储技术。数据的存储和管理工作完全由云存储服务商按照自己的要求来做,这样可以将更多的资金投入到本身的业务开发中去。物联网是一种数据密集型的信息系统,从传感层到应用层,时刻都有海量数据需要存取,同时对数据的敏感度比较高,一旦数据丢失或损坏,将严重影响系统的可用性。因此,云存储必须在安全性、可用性及可靠性等方面不断加以改进以适应物联网的应用需求。此外,物联网中云存储的大规模应用也不是一朝一夕能够实现的,随着物联网应用规模的不断扩大,云存储将经历着从为小范围物联网应用服务的私有云存储发展到为某个行业应用服务的行业云存储,最后发展到的各种云存储互联泛在阶段。