APP下载

基于物联网的智能安全存储系统

2018-04-23李和显胡博

科教导刊·电子版 2018年36期
关键词:数据存储物联网

李和显 胡博

摘 要 物联网是基于互联网的第二网络,近年来,其应用和发展如火如荼,在如今科技飞速发展的过程中起着举足轻重的作用。物联网以数据为中心,其核心是数据存储和管理,而无线通信技术的出现和快速发展,伴随着人类社会中庞大的终端数量,将会产生海量数据。无疑,数据存储和管理技术将备受关注。鉴于此,本文提出了基于HBase的数据存储方案,从物联网海量数据存储系统的角度,对其进行设计,实现对数据存储的智能化处理,为信息服务提供安全保障。

关键词 物联网 数据存储 HBase

中图分类号:TP393文献标识码:A

0前言

人类社会从信息时代向数据时代的过渡使得数据处理需求急剧上升,当前物联网信息服务系统数据存储存在性能低下、共享困难等问题,因此,如何有效并可靠地存储这些数据对系统建设者们提出了巨大挑战。本文提出基于HBase的数据存储设计方案,为有效存储数据提供了有力的支持。

1相关理论介绍

1.1数据存储

数据存储是数据流在加工过程中产生的临时文件或需要查找的信息,数据以某种格式记录在计算机的内部或外部存储介质上,传统存储介质多为磁带或磁盘。而物联网数据通常数量巨大,难于收集、处理和分析,这就对存储系统设计者们提出了巨大挑战。一个高性能的数据存储系统通常要求智能、大容量、高吞吐率、存储可靠,并且有良好的横向扩展性能。

1.2 HBase简介

HBase是一个开源的分布式数据库,以Google公布的BigTable为基础实现,具有开源、分布式、可扩展以及面向列存储的特点,在架构上遵从主从模式,不支持事务的联机处理,不能进行关系查询。HBase适合物联网海量数据存储的优势在于其数据存储规模大,存储结构灵活,并且可以按列存储,这使得HBase数据表有着大容量、高灵活度以及高效率。HBase的存储底层是Key-Value的形式,在存储模型中HBase有四个维度的关系,即行键、列族、列、时间戳。HBase中存储的任意一个值可以认为是一个存储单元,每个存储单元由行键、列族、列、时间戳唯一确定。读取HBase数据表中的数据时,需要先定位到目标数据的行键,然后根据列族、列确定数据存储单元的具体位置,从而得到数据。

2系统设计及实现

2.1实时监控模块设计及实现

实时监控数据存储模块中存储的是经过解析的传感数据。此模块的基本功能是完整地存储解析后的传感数据,快速响应实时监控系统对数据的查询。关于存储方式,由于其内存储的数据需要同步到分布式数据存储集群中,因此要以易于数据同步的方式进行存储。另外,实时监控系统需要频繁地查询数据库中不断更新的数据, 因此最好采用读写分离的方式,提高模块的可用性。综合以上几点,可以考虑MySQL数据库系统,它使用SQL(结构化查询语言)对数据库进行管理,在速度、可靠性和适应性等方面都符合设计要求,因此本文选用MySQL存储实时监控数据。

2.2原始数据存储模块设计及实现

原始数据存储模块负责接收数据同步模块传输的原始数据,并且以集群的形式存储数据,使数据由单机存储变为分布式集群存储,因此对原始数据存储模块有着存储量大、易扩展、数据易用的要求。经过研究可以得出,基于Hadoop生态的各类组件都比较适合本系统的存储需求。Hadoop是目前比较流行的大数据处理框架,包含了很多极具实用性的功能组件,尤其是其中的分布式文件系统HDFS,可以说是满足本系统原始数据存储的不二之选。HDFS具有高可用、易扩展的特点,同时HDFS以文件的形式存储数据,并有多种存储形式可以灵活使用。

2.3数据同步模块设计及实现

数据同步模块可以将关系型数据库中存储的数据同步到分布式数据存储集群中, 此模块可以自动或通过人工指定数据库中数据的同步位置,指定数据过滤规则,并根据数据的不同类型进行处理。其具体功能是将实时监控系统数据存储模块的数据同步到原始数据存储模块中。因为原始数据存储模块还要为后续的数据整合、查询模块提供支持,所以要尽量保证及时性,同步增量数据,若每次同步数据规模小,则速度会更快。因此本系统选用增量同步工具。在系统开始运行时,同步开启数据同步工具,只需要每次把变化的数据同步到HDFS中即可,这样就可以保证数据同步的及时性与完整性。

2.4数据整合模块设计及实现

数据整合模块的作用是对存储在分布式文件系统中的原始数据进行二次处理,以应对系统对不同维度数据的查询需求。这种查询需求主要有两类,第一类是常规化处理任务,定期执行,对期间的增量数据按照既定方案进行处理,汇总到原有的处理结果中,供查询任务使用;第二類是应对临时性的处理任务,单次处理大量数据得出结果。针对数据批处理的要求,并考虑到对大规模数据的处理延时要求不是很高,需要存储大量数据等,选择采用MapReduce批处理计算模型来对数据进行处理。对于定期处理任务,通过Linux系统的crontab任务来固定执行时间,并通过检测据文件的产生时间来确定需要处理的数据源。

2.5多维度数据存储模块

多维度数据存储模块用于存储被数据处理模块处理、整合后的数据,要求此模块存储方式灵活、存储规模大、查询便捷,这样才能避免后期数据应用困难,有足够大的容量来存储不断增加的数据信息,并且保证查询的便捷性。综合考虑以上因素,本系统选用基于Hadoop的HBase非关系型数据库,作为多维度数据存储模块。由于HBase为非关系型,因此对数据的列信息控制相对宽松,可以在两个维度上进行信息表的扩展,即既可以随时添加新的行,也可以增加列的内容。如此,对数据信息存储的灵活性大大提高。同时HBase单表的规模可达数十亿行数百万列,完全可以满足本系统的存储要求。

3结语

该文介绍了数据存储和HBase技术的基本概况,充分发挥HBase的特性,结合物联网海量数据的特点,设计了基于HBase的数据存储系统,该系统实时监控模块、原始数据存储模块、数据同步模块、数据整合模块和多维度数据存储模块五部分组成,在每个模块的设计与选型上都以尽可能大的限度契合物联网数据的特点,并且强调其高灵活性和大规模存储的特点,力求以尽可能高的性能满足人类社会日益提高的对物联网数据存储的迫切需求。

作者简介:李和显,男,哈尔滨石油学院信息工程学院信息工程学院15级计算机专业。

参考文献

[1] 周开乐,丁帅,胡小建.面向海量数据应用的物联网信息服务系统研究综述[J].计算机应用研究,2012(01):8-11.

[2] 田野,袁博,李廷力.物联网海量异构数据存储与共享策略研究[J].电子学报,2016(02):247-257.

猜你喜欢

数据存储物联网
大数据时代档案信息建设的认识和实践
基于LABVIEW的温室管理系统的研究与设计
论智能油田的发展趋势及必要性
中国或成“物联网”领军者