云数据存储技术在气象数据存储中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

云数据存储技术在气象数据存储中的应用
陈晴;杨明;肖云;吴京生;滕舟;魏爽;胡永亮;庞俊
【摘要】气象数据具有体量巨大、种类繁多、数据响应速度要求快等特点,传统的数据存储模式难以适应气象大数据的需求.基于云分布式存储技术设计一套数据存储方法,提高了气象数据存储传输能力.将气象数据分成结构化、半结构化和非结构化三种结构类型,针对不同结构类型的数据分别选择云存储模型,结构化数据采用分布式关系型数据库存储,半/非结构化数据采用NoSQL数据库存储.在对半/非结构化数据存储设计中,对数据进行主键表及属性表设计,对属性表的数据进行分块和压缩,提高大数据的存储读取性能.根据数据的时间度和使用度原则阐述了不同类型气象数据间的转换.实验表明,设计的基于云分布式存储技术的数据存储方法是可行的,在一定程度上提高了气象数据存储传输能力,为气象数据的云化建设提供一定的借鉴和参考.
【期刊名称】《计算机应用与软件》
【年(卷),期】2018(035)008
【总页数】5页(P124-127,158)
【关键词】云存储;分布式关系型数据库;NoSQL数据库存储;数据分块和压缩;数据的时间度和使用度
【作者】陈晴;杨明;肖云;吴京生;滕舟;魏爽;胡永亮;庞俊
【作者单位】浙江省气象信息网络中心浙江杭州310017;浙江省气象信息网络中心浙江杭州310017;浙江省气象信息网络中心浙江杭州310017;浙江省气象信息网络中心浙江杭州310017;浙江省气象信息网络中心浙江杭州310017;浙江省气
象信息网络中心浙江杭州310017;浙江省气象信息网络中心浙江杭州310017;武汉科技大学计算机科学与技术学院湖北武汉430065
【正文语种】中文
【中图分类】TP399
0 引言
随着气象业务现代化建设的深入,气象已进入大数据时代,表现在以下几方面:1) 数据体量巨大,数据量达到PB级,不断增加的数据量需要存储容量能动态扩展;
2) 数据种类繁多,既有地面、高空、卫星、雷达等监测数据,又有多种数值预报产品以及各种气象服务产品[1];3) 数据响应速度要求快,从大量的气象数据中获取有效的信息是气象服务的迫切需求[2]。

云存储技术通过集群应用、网格技术和分布式文件系统等技术手段,让网络中大量各种不同类型的存储设备在应用软件的管理下协同工作,共同对外提供数据存储和业务访问功能[3-4]。

根据气象部门对气象数据的要求,对云数据存储方法进行研究和探索,针对气象数据的特点设计并实现了一套基于云分布式存储技术的数据存储方法,利用云计算的分布式存储和并行化处理海量数据,为气象大数据的存储和计算提供支撑。

1 气象数据云存储的总体设计
1.1 云存储平台整体架构
基于云分布式存储技术的数据存储重点在于解决海量气象数据的存储和处理问题,提高用户的访问效率。

云存储平台整体架构划分为4个层次,自底向上依次是:数据存储层、存储管理层、业务服务层与用户访问层[5],见图1。

图1 云存储平台整体架构
数据存储层主要包括服务器集群以及将集群连接起来的物理链路,实现数据的统一管理。

考虑到设计的云存储平台需可扩展性强、可靠性高、成本尽量低等特点,同时存储设备要便于集中管理[6-7],方案中统一选择X86服务器构建普通机器集群,操作系统选择Linux操作系统。

存储管理层主要包括大规模的分布式计算系统,负责管理集群系统资源以及资源的虚拟化、控制分布式程序运行、隐藏下层故障恢复、数据冗余、数据备份和数据容灾等细节,有效地提供弹性计算和负载均衡的服务。

业务服务层采用云分布式服务技术,将不同的数据存储和计算功能分解成各种微服务,实现大规模数据的存储共享、查询及处理服务。

在此之上的云引擎为第三方云应用提供了弹性、低成本的运行环境,帮助简化云应用的构建和部署。

用户访问层通过用户授权、认证机制,使用户对数据进行特定权限范围的操作。

这一层具体包括一些数据搜索服务、地图服务以及第三方服务。

1.2 气象数据的组织
根据数据结构的差异,气象数据主要可分为离散型数据、网格数据、栅格数据。

自动气象站各种气象要素的实时和历史数据,水利、环保、海洋等外部门单位的站点数据以离散型数据形式存在;各种气象要素的网格化产品,数据以网格数据形式存在;云图、雷达以及模式预报的输出产品,数据以栅格数据的形式存在。

其中离散型数据属于结构化数据,网格数据和栅格数据属于半/非结构化数据。

1.3 数据存储模型的选择
云数据库是部署和虚拟化在云计算环境中的数据库,在云数据库应用中,客户端无需了解云数据库底层细节,底层硬件都已被虚拟化[8]。

云数据库对用户而言就像运行在普通服务器上的数据库一样,但数据的存储、处理能力与传统意义的数据库相比有了质的飞越[9-10]。

考虑到气象数据自身的特点以及数据能够被快速访问的需求,同时气象数据中的实
时数据与历史数据是一体化的,因此数据量极为庞大。

传统的关系型数据库存储管
理系统可以满足数据的一致性和可用性,在小规模数据量时可以达到很好的效应,随着数据量与应用范围的增长导致节点增加,需要考虑数据同步和分区失败等开销,性能会快速下降,因此数据分布式存储是必然选择[1]。

数据分布式存储较常见的有两种形式:分布式关系型数据库和非关系型数据库(NoSQL)。

结构化数据采用分布式关系型数据库存储,半/非结构化数据采用NoSQL数据库存储。

具体如表1所示。

表1 数据的存储模型数据结构气象数据类型存储系统结构化数据存储文件元数据
信息和离散站点数据分布式关系型数据库半/非结构化数据网格化数据、栅格数据NoSQL数据库
2 关键技术
2.1 结构化数据的存储方式
结构化数据采用分布式关系型数据库存储,获取低延迟与高并发吞吐能力。

分布式关系型数据库采用传统的表-字段形式存储,将数据表水平拆分到后端的每个分数
据库的分表中,分布式关系型数据库中由每个分库负责每一份数据的读写操作,从而有效地分散了整体的访问压力,提高了大型数据的访问效率。

2.2 半/非结构数据的存储方式
半结构数据主要以网格化数据为主,非结构数据以栅格数据为主,这两种数据通常被当作字符串或二进制数据,采用NoSQL数据库存储。

NoSQL数据库采用了键
值(Key-Value)模型,模型中Key值指向Value的键值。

该结构主要分为主键、属性和值三部分,基于值存储的数据相对较大的特点,对数据进行切分与压缩相结合的技术处理可以大幅提升数据传输能力。

2.2.1 主键表及属性列表设计
(1) 网格数据的设计气象数据中的网格化数据通常Micaps4类格式数据文件的形
式存在。

Micaps4类格式数据文件包括3个维度的信息:时间、经度和纬度。


据气象要素和查询的时刻能够快速获取到相应的经纬数据。

表2为网格数据的主
键设计表,表3为数据的属性列设计表。

表2 网格数据主键设计表主键一主键二主键三气象要素及日期高度时间信息
表3 网格数据属性列设计表属性列类型属性列类型数据说明字符串年整型月整型
日整型时次整型时效整型
续表3属性列类型属性列类型层次整型经度格距浮点数维度格距浮点数起始经度
浮点数终止经度浮点数起始维度浮点数终止维度浮点数纬向格点数整型经向格点数整型等值线间隔浮点数等值线起始值浮点数等值线终止值浮点数加粗线值浮点数平滑系数浮点数经纬数据压缩后的二进制文件
(2) 栅格数据的设计气象数据中的栅格数据通常以二进制文件的形式存在,这类数据没有对其中某一片段的单独读取需求,通常会读取整个文件进行解析。

对于这类数据,每一行只有一个属性列用来存放压缩后的二进制文件数据,整个文件具有较高的压缩比。

由于每天产生的文件较多,较为适合压缩后存储在表格存储上。

表4为网格化数据的主键设计表,表中主键二为兼容Micaps 4数据格式增加的一列主键,无实际意义,可以恒为0。

表5为数据的属性列设计表。

表4 栅格数据主键设计表主键一主键二主键三数据类型及日期高度时间信息
表5 栅格数据属性列设计表属性列类型二进制数据字符串
2.2.2 半/非结构化数据的分块与压缩技术
半/非结构化数据以网格数据或栅格数据为主,可对数据进行分块与压缩进行存储。

NoSQL对象存储一般采用面向列的存储方式,其存储结构保证了数据表列的扩展性及I/O的高吞吐量,避免了表结构改变带来的维护压力,有效提高了数据分析
的吞吐性能。

基于半/非结构化气象数据的特点,对属性列的数据进行一定比例的行列切分。


分规则如下:按照行切分成M份,按照列切分成N份,即将数据切分成M×N个方格。

假设数据的latitude_point=X,longitude_point =Y,我们使切分后的方格rowsCount=X/M+1, colsCount=Y/N+1,切分后属性列data扩展为M×N 个属性列,如表6所示。

表6 属性列数据的分块Grid_0_0Grid_0_ Y/N+1…Grid_0_(M-1)*(Y/N+1)Grid_ X/M+1_0Grid_ X/M+1_Y/N+1…Grid_M_(M-1)*
(Y/N+1)…………Grid_(X/M+1)*(N-1)_0Grid_(X/M+1)*(N-
1)_Y/N+1…Grid_(X/M+1)*(N-1)_(M-1)* (Y/N+1)
将数据总共分为M×N个Grid,除了最右侧和底部,其他的每个Grid内的数据均为M×N字长。

在写入TableStore的时候,按照上述方式对数据进行切分,保存到TableStore 中的一行,每个Grid为一列,每列的列名为Grid_row_col, row 和col代表方格左上角的点的坐标。

当读取数据某个二维坐标的数据时只需确定数据在具体的某一个Grid,读取该Grid属性列的值即可。

压缩技术是在分块的基础上对每个Grid中的数据进行一定比例的压缩。

相比之前读取整个数据量,将数据进行分块压缩后读取Grid返回的数据量至少减少倍以上。

2.3 气象数据间的转化
为了提高数据的存储、传输和使用效率,降低数据维护的成本,特别是对数据量庞大、时间序列长的气象数据,根据气象数据类型的不同选择不同的存储系统。

将使用频率较高,数据生成时间与当前时次临近的热、温数据存放在在NoSQL对象存储中,如实时的格点数据、栅格数据等;将使用频率较低,数据生成时间与当前时次间隔时间较长的冷数据存放在NoSQL文件存储中,如历史文件数据、长序列数据等;将关系型数据存放在关系结构型存储中,如存储文件元数据信息和离散站点数据等。

热、温、冷数据之间的转换策略遵循时间度及数据使用度的原则。

各存储系统之间数据的转换如图2所示。

图2 热、温、冷数据之间的转换
3 实验分析
3.1 测试数据集的建立
对结构化数据以及半/非结构化数据在云存储平台上的读取效率进行测试。

本文实
验采用的数据为雷达降水产品、风廓线雷达产品、循环同化10米风、5分钟最大
风场等半/非结构化数据,存储类型选择NoSQL数据库;降水、温度、风、能见度等结构化数据,存储类型选择分布式关系型数据库。

3.2 云存储平台实验结果
半/非结构化数据测试,对网络状态相同情况下两种数据环境中调用数据所耗的时间进行测试对比。

场景1:将数据存储在开放结构化数据服务(OTS)中,对数据进行
调用,获取数据传输到客户端的时间。

场景2:常规数据服务中对数据进行调用,获取数据传输到客户端的时间。

测试结果如图3所示。

图3 常规数据服务与开放结构化数据服务性能测试结果对比图
结构化数据测试,对网络状态相同情况下两种数据环境中调用数据所耗的时间进行
测试对比。

场景1:将数据存储在分布式关系型数据库(RDS)中,对数据进行调用,获取数据传输到客户端的时间。

场景2:利用SQL server对数据进行调用,获取
数据传输到客户端的时间。

测试结果如图4所示。

图4 SQL server数据库与分布式关系型数据库性能测试结果对比图
3.3 实验结果分析
结果显示,借助云存储平台气象数据的读取性能有了一定的提高。

其中NoSQL数据库中数据读取性能与常规数据服务中数据读取性能做比较,性能上有了很大提高。

分布式关系型数据库中数据读取性能比SQL server数据库中数据读取性能做比较,性能上也有提高,但提高幅度没有前者大。

4 结语
本文针对气象数据的特点,对云数据存储方法进行探索和研究,基于云分布式存储技术设计了一套数据存储方法实现气象大数据的存储。

(1) 根据气象数据结构的不同分成结构化数据与半/非结构化数据,针对不同结构类型的数据选择云存储模型,结构化数据采用分布式关系型数据库存储,半/非结构化数据采用NoSQL数据库存储。

(2) 在对半/非结构化数据存储设计中,对数据进行主键表及属性表设计,并对属性表中的数据进行分块压缩,提高数据的存储读取性能。

(3) 根据气象数据时间度及数据使用度的不同,将数据分成热、温、冷三种类型的数据,并阐述了不同类型数据间的转换规则。

实验证明借助云存储平台,气象数据的存储读取性能有了显著的提高。

本文对气象数据的云存储方法的设计思路是可行的, 为气象数据的云化建设提供一定的借鉴和参考。

参考文献
【相关文献】
[1] 章国材.气象云建设的研究与思考[J].气象与环境科学,2015,38(4):1-11.
[2] 樊宇虹,冯永祥,马志强,等.基于气象应用的私有云存储方案[J].计算机工程与设
计,2015,36(2):426-430.
[3] 周海赟,付超.基于云存储的安防实时监控视频数据采集系统设计[J]. 中国公共安全学术
版,2014(4):127-129.
[4] 冉军.基于云存储的智能电网访问控制研究[D]. 北京:华北电力大学,2014.
[5] 王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报,2012,23(4):962-982.
[6] 施蓉蓉.高校图书馆数字资源云存储模式探究[J] .图书馆研究,2012,42 (3):32-34.
[7] 孙福权 , 张达伟,程勖 ,等. 基于Hadoop企业私有云存储平台的构建[J].辽宁工程技术大学学报,2011,30(6):913-916.
[8] 侯建 , 帅仁俊 ,侯文. 基于云计算的海量数据存储模型[J].通信技术,2011, 44(5):163-165.
[9] 林子雨,赖永炫,林琛,等.云数据库研究[J].软件学报,2012,23(5):1148-1166.
[10] 刘正伟,文中领,张海涛.云计算与云数据管理技术[J].计算机研究与发展,2012,49(S1):26-31.。

相关文档
最新文档