SHIPSCIENCEANDTECHNOLOGYVol.38,No.1AJan.,2016
基于云计算的船联网大规模数据存储研究
李加彦,韩
要:
敏
(河南职业技术学院,河南郑州450046)
摘
当前物联网技术快速发展,在多个行业已得到成功应用。本文针对基于云计算的船联网中出现的大
规模数据存储中出现的问题,如数据量非常大、结构化数据和非结构化数据存储的不同需求等,提出一种基于NoSQL技术和关系数据库技术的存储系统。对存储系统的架构进行设计及相关测试,结果表明这种存储系统可以有效结合2种不同数据库技术的优点,有效实现大规模数据的存储。
关键词:
云计算;船联网;数据存储
中图分类号:TP392文献标识码:
A
doi:10.3404/j.issn.1672-7649.2016.1A.041
文章编号:1672-7649(2016)1A-0121-03
Shipcontrolmechanismbasedonfuzzyoptimizationalgorithm
LIJia-yan,HANMin
(DepartmentofInformationEngineering,HenanPolytechnic,Zhengzhou450046,China)Abstract:
Thecurrentinternetofthingstechnologyhasbeenrapiddevelopment,hasbeenavery
successfulapplicationinmanyindustries.Inthispaper,basedoncloudcomputing,theproblemoflargescaledatastorage,suchasdatavolumeisverylarge,structureddataandunstructureddatastorage,etc,thispaperproposesastoragesystembasedonNoSQLtechnologyandrelationaldatabasetechnology,thestoragesystemisdesigned.Theresultsshowthatthissystemcaneffectivelycombinetheadvantagesoftwodifferentdatabasetechnology,effectivelyachievelarge-scaledatastorage.
Keywords:
cloudcomputing;shipnetwork;datastorage
括了很多图片文件以及图像数据,这些数据同之前的
文本数据相比,其大小是文本数据的几百倍甚至几千倍,因而会导致原有系统无法对这些数据进行有效存储,并且无法进行有效的分析,无法满足当下物联网。因而如何实现对数据进行有效存储
和分析具有非常重要的现实意义。发展的需求
云计算技术可以实现高性能的计算,通过发展迅速的因特网技术,通过不同的网络将不同位置的数据中心有效的结合在一起,不同船只可以将自身的数据通过因特网或者其他网络将数据传输到云计算中心,然后云计算中心再将这些数据存放于不同的计算机,这样,就可以在多台机器上实现对数据的存储以及分析工作。本文针对当前船联网大量数据在存储中出现的问题,提出一种结合云计算技术、关系数据库技术和NoSQL技术的大规模数据存储技术,以期能够解决当前船联网中数据量巨大而出现的存储问题。
[2-3]
0引言
当前计算机技术在船舶行业中得到广泛应用,
如船舶通信及船舶监控等。结合物联网提出船联网的概念,使得船联网具有数字化、自动化等特点。在船联网中,使用RFID技术等手段来实现对船舶上的物品进行全程监控。由于大的航运公司航运货物数量巨大,而且一般都是几百艘的规模,因而使得船联网中需要存储以及分析的数据数量非常大,其监控的数据量可能达到TB的级别,使用传统的嵌入式系统对数据进行存储会出现很多问题,而这
[1]
恰恰是船联网能否实现数字化和自动化的关键。船联网自从被提出以来就得到了快速发展,在船联网中的监控系统也经历了气动、电动以及嵌入式等几个阶段,这也导致在船联网中所需要处理的数据也在逐步增加,这些信息除了一些基本信息之外,还包
收稿日期:2015-10-16
作者简介:李加彦(1984-),男,硕士,讲师,研究方向为计算机网络、数据库。
·122·舰船科1
相关概念
1.1
云计算
云计算是通过因特网、局域网等将不同的存储设备和计算机设备连接起来,使得这些设备能够形成一个和“云”相似的环境,将这些计算机的能力有效结合起来,提高用户的运算能力。在舰船的运输及数据处理中,云计算会使得数据的存储和分析变得更为简单,这是由于传统的嵌入式系统由于运算及存储能力有效,因而无法对大规模数据进行有效分析和监控。用户可以通过将一些设备同云计算的中心连接起来,将自身需要处理的数据通过网络传输到其他计算机的存储设备上,并调用其他计算资源进行计算,由于云计算可以调用不同位置大量的计算机资源,可以很好地解决当前船联网中需要存储的数据量非常庞大的问题。同时在云计算中心包含了大量的防火墙以及其他安全设施,因而可以有效保障数据的安全,通过对云平台进行配置和部署,实现对数据高效地存储和计算。1.2
船联网
船联网是将物联网技术同船舶行业有效结合的一个概念,并且是当前船舶行业的发展方向,结合了多个学科,国内外近年来开展了很多船联网有关的项目及研究,如欧盟提出一种RIS系统,也就是内河航运综合信息服务系统,同时,我国也积极开展了对于船联网的研究和应用,如在京杭运河以及长三角地区开展船联网示范性工程等。在当前物联网及其相关技术迅速发展的大背景下,船联网利用物联网中的先进技术,可以实现导航、标识、跟踪以及定位等功能,实现对船舶的信息化、高效化管理。船联网具有一些非常鲜明的特点,主要包括:
1)服务集成化:组建船联网的最终目标是实现对航运的搞笑识别、定位以及监控管理等,因而其必然具有服务集成化的特点;
2)技术多样:船联网结合了当前RFID技术、导航技术、网络通信技术等技术,并且将这些技术有效地结合在一起进行应用;
3)船联网中要素的多样化,在组建船联网过程中,船舶的自动化程度以及自身的自动化水平会在很大程度上对船联网产生一定影响。
图1为船联网数据的存储过程,以RFID数据为例,通过数据过滤等技术,结合各类网络将数据传输给船联网数据中心进行存储和分析[4-5]。
学技术
第38卷
RFID数据收集数据过滤信息组件层次信息交换层次舰载数据岸基数中心据中心应用图1船联网数据存储过程
Fig.1
Shipnetworkingdatastorageprocess
2
大规模数据存储研究
2.1
关系数据库技术和NoSQL技术
在船联网中由于涉及的船只较多,需要监控的数据量也非常大,从传统文本数据到现在的监控声音、视频数据,其数据量正在呈几何级数增长,因而有必要对这些数据如何进行有效存储进行研究。在船联网的数据中包含了很多非结构化以及结构化的数据。使用云计算技术应用于船联网,一般使用NoSQL技术和关系数据库技术2种存储技术。
NoSQL数据库非常适合用于非结构化以及结构化数据的存储,同时可以实现对于频繁读取数据的需求,并且具有良好的扩展性。但它也有一些缺点,即在进行查询操作中遇到多表关联时会出现问题。而关系数据库技术是一种非常成熟的存储技术,它可以有效地解决NoSQL数据库在查询中存在的一些问题,同时具有非常高的可靠性。可是关系数据库无法解决在大规模数据存储时的存储速度问题,在数据量非常庞大的情况下,数据的处理会非常缓慢,而且很难通过简单的增加机器的数量来增加数据库的容量,这是由于关系数据库中的数据都具有很强的关联性。因而单独使用关系数据库并不能解决船联网中大规模数据存储的问题。同时关系数据库不太适合存储船联网中的一些文本数据,其表的结构非常固定,因而不适合非结构化数据的存储。2.2
存储系统架构设计
对于船联网中大规模数据的存储,采用单一的关系数据库技术或者NoSQL数据库都很难以解决问题,因而本文提出一种将2种数据库技术结合的方案,这样就可以实现对结构化的数据以及非结构化数据的有效存储。本文设计的存储系统包括存储中间件及数据存储层2个部分,存储中间件的作用在于提供一个接口,通过这个接口可以将不同结构的
第1A期等:基于云计算的船联网大规模数据存储研究李加彦,·123·
数据放到不同的数据库,例如很多的文本数据可以
通过这个接口放到关系数据库中,而一些非结构化的数据可以放到NoSQL数据库中。图1所示为存储系统的架构设计。在最底层的存储系统中,选择Hbase作为NoSQL数据库,MySQL作为关系数据库,这两者都是开源实现,同时都提供了非常多的资料供程序员进行开发。在这2个数据库的基础上开发一种可以同主系统连接的接口,也就是中间件,同时考虑到这2个数据库之间的数据有可能会发生迁移,因而在系统中设置了一个迁移模块。
用户程序配置模块开关模块查询模块写模块读模块数据关联模块数据迁移HbaseMySQL图2
中间件架构设计
Fig.2
Middlewarearchitecturedesign
2.3中间件设计
中间件主要提供系统同存储系统之间的接口,
根据整个系统对于数据操作的需求,将中间件分为若干个模块,这其中包括配置模块、读模块、写模块、删除模块以及查询模块等。
配置模块的主要功能为对整个存储系统进行基本的配置,系统想对2个数据库进行各类操作前,需要对2个数据库进行连接操作,这个时候就需要对数据库进行配置。
读模块可以提供系统对于数据库中读取数据的所有接口,包括对2种不同类型数据库读列数据和行数据的接口,并且可以进一步读取整张表的数据。
对数据库进行写操作需要首先建立新的表,因而写模块包括了建立新表的接口以及写数据的接口。查询模块提供了查询接口,首先调用读取数据的接口,然后将读取的数据进行分析和整合,最后返回查询结果。删除模块则是对数据库表中的数据进行删除,这其中又包括了删除表的接口以及删除数据的接口。
中间件在实现上是使用JAVA语言将所有的接口都封装到一个名为Platform的类中,同时通过不同的类来实现对数据库的连接、读取以及更新等操
作,如Connection类可以实现上层计算机同数据库之间的连接,ColumnAttribute类可以实现对数据库中的属性和列。
3系统测试
在完成对存储系统的架构设计以及程序设计后,需要对存储系统进行相关测试,由于在实际环境中很难获取船联网中海量的数据,因而只使用2个数据表的数据进行测试,这2张数据表中分别包含20000条数据,然后对存储系统的中间件进行相关测试。对于写模块的测试主要目标看是否可以同时向Hbase和MySQL数据库中写入数据,需要对创建表接口以及写入接口进行测试。通过以下程序段来进行创建表接口及写入接口测试,通过测试可以发现,
设计的读接口实现了对2个数据库的写入功能。同时,本测试只是模拟船联网中产生的数据,所有在实验中所使用的数据均为随机生成,但是可以通过计算机的数量来对中间件进行重新配置,因而可以
有效地实现对船联网中大量数据的存储。
4
结语
本文首先分析了当前船联网发展的现状以及在数据存储中所存在的问题,大规模的音频数据以及视频数据同传统的文本数据一起,对数据存储提出了新的挑战;在此基础上,提出了一种基于关系数据库技术和NoSQL技术的大规模数据存储技术,对存储系统的架构进行了相关设计,特别对中间件的设计及实现进行了说明;最后,使用随机产生的数据模拟船联网中的大量数据进行了基本测试,通过增加计算机的数量以及修改中间件的配置信息,可以有效实现大规模数据存储。参考文献:
1]陈国靖.RFID技术在构建船舶物联网系统中的关键技
术[
J].舰船科学技术,2015,37(2):208-211.2]郭艳霞,颜军.海量数据存储模式的研究[
J].计算机与数字工程,
2008(11):162-165.3]王聪,王翠荣,
王兴伟,等.面向云计算的数据中心网络体系结构设计
[J].计算机研究与发展,2012(2):286-293.4]宋杰,李甜甜,
闫振兴,等.一种云计算环境下的能效模型和度量方法[
J].软件学报,2012(2):200-214.5]GREENANKM,LONGDDE,MILLEREL,etal.Aspin-upsavedisenergyearned:achievingpower-efficient,erasure-codedstorage.Proc.oftheHotDep2008.2008.
[[[[[
因篇幅问题不能全部显示,请点此查看更多更全内容