APP下载

基于云存储的海洋数据存储策略研究

2014-10-20龚茂珣

海洋信息技术与应用 2014年1期
关键词:存储空间存储设备存储系统

张 弛,龚茂珣

(国家海洋局东海预报中心 上海市 200081)

1 研究背景

1.1 现状分析

随着海洋观(监)测数据工作的不断发展,海洋数据具有分布面广、要素种类多、传输频率高等特点,如实时海洋数据以分钟、小时级别传输;文件传输类别异构化,如同时接收海洋遥感数据、海洋观测数据、海洋调查数据等;数据传输文件海量化,相当数量级的海洋观测点几乎同时向海区中心发送资料。

然而现有海洋数据存储体系是将单独服务器作为数据存储设备,由于该服务器负责接收海洋数据的同时需将数据进行解析并分发至各个不同目标地址的存储服务器,随着海洋数据以分钟级、小时级等多个时间传输频率源源不断地传输至该服务器,由于该服务器频繁的计算及分配剩余存储空间,导致I/O调度过于频繁,最终可能导致数据文件积压、数据处理延时等问题,严重影响了海洋数据存储体系的工作效率。针对此类问题,本文围绕研究海洋数据的结构特点以及提高现有传输硬件设备存储效率2方面进行开展[1]。

1.2 问题提出

当部分服务器进行接收数据并分配存储空间等高负载作业的同时,传输网内仍存在负载较轻的服务器,比如发布webservice、运行单一监控程序、邮件服务器等,以上现象说明数据传输网内服务器集群存在负载极不均衡的情况。该情况极有可能因负载较重的服务器死机从而降低整个海洋数据存储系统工作效率。如何对海量的多源异构海洋数据在合理利用现有硬件资源的基础上进行统一存储,以提高存储系统的负载均衡性和存储的安全性将成为海洋数据存储业务发展的方向。

2 海洋数据同步存储策略

2.1 云存储逻辑架构

一般情况下,放置存储设备的空间有限,也不具备无限扩充存储设备的可能。鉴于传输体系内拥有接近主流配置的服务器集群和较高的传输带宽,本文将构建基于云存储的架构,并根据海洋数据的实际数据结构特点采用了以下4层架构的设计[2],如图1所示:

图1 云存储子系统架构图

物理层:由于传输体系采用光纤、卫星、CDMA等通讯方式进行传输,所以内部的数据分发效率较高。作为硬件虚拟化的基础,该层的作用是将传输网内的所有可用服务器集群虚拟化成为一个整体的存储设备,管理员通过统一管理平台该网内的所有存储设备进行实时监控,云存储系统动态地将数据存储至负载较轻的存储服务器上,同时可进行存储空间分配、状态监控和维护升级等服务。该层为存储设备(如磁盘阵列)的扩展提供了兼容接口。

基础层:提供类似操作系统的可视化管理及配置服务。该层利用负载均衡存储算法及逻辑卷管理等技术实现了多个存储设备之间的协同工作,将海洋数据文件存储至物理层中,并且可以通过配置各海洋数据的字段对应要素,实现对多源异构数据的解析、分发及备份的自动化操作。该层的优势在于可集成分布式存储设备并提高数据访问效率[3]。

管理层:该层向访问层以统一数据接口的形式提供数据服务。由于海洋数据传输的不间断性,面对日益庞大的海洋数据库,建立该层的目的是便于今后的数据管理。该层将对外提供分权限访问数据的服务,无论硬件存储层中的服务器集群体积多么庞大,在该层只作为一个统一的数据接口展示,该设计相对多而繁杂的分散式数据库具有更加便于管理海洋数据的优势。

应用层:该层是当业务使用者调用海洋数据做数据挖掘或展示使用时,向应用接口层提供相应的数据接口,用户可根据被分配的访问及调用数据的权限获取所需数据,该层对数据做只读操作,目的是保护数据的不被意外修改或删除。

2.2 云存储系统详细设计

云存储系统通过传输网内的各服务器的IP地址实现内部实例间的数据交互与传输,与广域网中多用户通过实例协同工作相比具有更高效率的调用和处理通信资源的优势。为了将海洋数据利用云存储技术实现负载均衡分配存储空间,以及实时解析数据流中各要素并分发至各目标数据库的目的,本文设计了一个完整的云存储子系统的工作流程。

该子系统由4个主要部分构成:1)数据流映射接口;2) 虚拟化存储池;3) 数据分析模块;4)数据解析模块。由于存储过程依托运行中的虚拟机服务器进行空间分配存储,所以需将虚拟机管理员的全部权限赋予本存储系统。

各个部分的工作机制以及通信机制如图2所示。

2.2.1 数据映射接口

该接口是围绕如何解决海洋数据流进行数据映射,并在映射存储到对应的目标数据库。该接口的设计思想是利用C语言编写一套软件接口,目的是规避各海洋数据采集器由于硬件接口不统一而无法实时传输到云存储中的缺陷。

2.2.2 虚拟化存储池

当前端仪器采集到海洋数据后,通过数据映射接口将数据传输至云存储中,云存储首先将接收的数据存储在计算机缓存中,然后根据当前云存储系统内的各服务器的存储状态和当前的计算负载状态等评价指标综合计算后分配存储空间,以实现弹性存储的目的,并在存储层中对实时数据进行存储。

图2 私有云存储子系统流程图

2.2.3 数据分析模块

由于海洋数据部分是结构化内容的报文文件,在对海洋数据进行存储后,业务使用者可将海洋数据的实际内容按照《海洋水文规范》中各要素对应的意义利用结构化数据模型技术进行建模。建模的目的是为下一步的海洋数据内容解析做准备,当启动该模块时,系统将对数据内容自顶向下地进行分析,并将最终结果通过统一的结构化数据格式传递给解析模块。

2.2.4 数据解析模块

该层主要对海洋数据进行解析操作,系统将已存储的各数据要素模型与将解析后的数据内容进行比较分析,并将对应格式的数据要素模型回馈至虚拟化硬件端,该端将根据具体实际要素模板提取对应的数据属性值,如果未匹配相应模板,系统则默认回溯到元数据分析模块继续查找。解析后的要素最终将通过数据映射接口同步至各目标数据库,实现海洋数据的同步解析入库。

3 云存储部署策略及实验

通过对国内外云存储系统及海洋数据存储机制的研究,本文提出了对海洋数据利用云存储技术进行存储的思想,并设计了以下实验,实验结论验证了本文针对海洋数据提出的云存储负载均衡存储机制的可行性。

3.1 云部署策略

部署云存储的数据服务器参数如表1所示。

表1 云部署单台计算机参数

通过云存储子系统部署的每一台服务器均平均配置成3台虚拟机,以模拟海量海洋数据集中存储的需求。部署架构如图3所示。

3.2 云存储机制

海洋数据采集端通过数据映射接口向云存储系统发起1个写入数据的请求,映射接口会将反馈采集端与那个存储节点建立传输协议,并进行数据写入。文件是以chunks的方式写入存储,每个block由被生成时系统赋予唯一的chunk-handle进行标识,为了提高云存储的数据容灾性,每一个block将会被复制到多个存储节点上。

本文以1个控制节点(ControlNode),5个存储节点(StoreNode),并假设64个海洋数据采集端同时发送1条大小为1 MB的海洋数据文件为例:

图3 云存储部署架构图

3.3 结果分析

本文设计的云存储的工作机制旨在减少控制节点的参与计算,不会将单个文件拆分成多个部分同时写入不同存储节点。对于小于等于1 MB的文件以原文件尺寸存储成chunk,当文件大小大于1 MB时,客户端会控制以大文件的方式分配存储空间。但考虑到海洋数据文件一般单个大小不会超过1 MB,所以该存储方式对海洋数据存储尤其适用。

4 结论

当前海洋观测预报系统中海洋数据的存储机制已无法实现动态均衡存储的现状正制约着海洋数据存储领域的发展,本文基于对海洋数据特点、存储结构进行研究和调研,设计了全新的基于云存储的海洋数据存储体系架构,可在节约空间和财力的基础上动态地将海洋数据存储、解析并分发至各目标数据库,该系统在资源利用率、响应时间及可扩展性方面都将优于先前的系统。

实验结果表明,该系统可以基本满足对海洋数据流存储体系的优化,本研究的贡献意义在于利用现有服务器资源进行虚拟化部署以实现云存储体系,极大程度地提高数据存储能力以及数据处理效率,并为今后的海洋数据的存储系统的设计提供理论和实际的借鉴价值。

[1]王佳隽.基于云计算环境的虚拟化资源管理研究[D].复旦大学,2011.

[2]李思扬.云计算平台中虚拟化运行环境的研究与实现 [D].北京邮电大学,2012.

[3]施岩.云计算研究及Hadoop应用程序的开发与测试[D].北京邮电大学,2011.

猜你喜欢

存储空间存储设备存储系统
基于多种群协同进化算法的数据并行聚类算法
苹果订阅捆绑服务Apple One正式上线
分布式存储系统在企业档案管理中的应用
用好Windows 10保留的存储空间
天河超算存储系统在美创佳绩
Windows 7下USB存储设备接入痕迹的证据提取
基于Flash芯片的新型存储设备数据恢复技术研究
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计
用批处理管理计算机USB设备的使用