舰船科学技术  2016, Vol. 38 Issue (7): 143-148   PDF    
基于云存储的海量海洋监测数据平台设计
赵芳云, 张明富     
贵州工程应用技术学院 信息工程学院, 贵州 毕节 551700
摘要: 海洋监测数据规模较大,当前平台处理数据能力较低,无法有效处理海量海洋监测数据,不能满足监控实时性的要求,为此,设计一种基于云存储的海量海洋监测数据平台,给出了平台的总体结构,主要包括海洋数据监测子系统和云存储子系统。针对海洋数据监测子系统,详细分析了数据采集卡、传感器、AD7606芯片的设计过程,传感器将得到的海洋监测数据发送至数据采集卡中,采集卡将结果传输至AD7076芯片中,对数据进行处理,将处理后的结果存储至云存储子系统中。针对云存储子系统,给出了其详细架构和工作流程,设计了关键的实现代码。实验结果表明,所设计系统具有较高的运行效率,且采集的海洋数据较真实,监测结果可靠。
关键词: 云存储     海量     监测数据     平台    
Based on monitoring data of vast ocean cloud storage platform design
ZHAO Fang-yun, ZHANG Ming-fu     
Guizhou University of Engineering Science, School of Information Engineering, Bijie 551700, China
Abstract: The large scale marine monitoring data, the current platform data processing ability is low, cannot effectively handle huge amounts of marine monitoring data, cannot satisfy the requirement of monitoring real time, therefore, we design a massive marine monitoring data based on cloud storage platform, presented the general structure of the platform, mainly including marine data monitoring subsystem and the cloud storage subsystem. In view of the ocean data monitoring subsystem, detailed analysis of the data acquisition card, sensors, AD7606 chip design process, marine monitoring data of the sensor will be sent to the data acquisition card, the acquisition card to transmit the results to AD7076 chip to deal with data, the processed results stored to cloud storage subsystem. For the cloud storage subsystem, gives the detailed structure and working process, design the key implementation code. Experimental results show that the designed system has high efficiency, and ocean data is real, reliable monitoring results.
Key words: cloud storage     mass     monitoring data     platform    
0 引言

海洋在地球上所占的面积超过70%,蕴藏着非常丰富的资源,但近年来,随着人们大规模开发利用海洋资源,部分海域赤潮频发,对人们的生命财产安全造成了很大威胁[1-3]。所以,研究一种有效的海洋监测数据平台具有重要意义,已经成为相关学者研究的重点课题,受到越来越广泛的关注[4-6]

目前,有关海洋监测数据平台的研究有很多,相关研究也取得了一定成果,其中,文献[7]提出一种基于阈值的海洋数据监测方法,该方法对海洋数据的变化幅度进行阈值约束,若采集到的海洋数据变化幅值高于既定阈值,则认为可能会出现赤潮现象。采用该方法对海洋数据进行监测实现过程较为简单,但阈值的确定没有精确方法,只能依靠经验,导致监测结果可靠性低。文献[8]提出一种基于模糊逻辑的海洋数据监测方法,该方法针对不同传感器建立独立的模糊逻辑模型,用模糊规则代替实际值的海洋数据,通过模糊推理对节点的状态进行决策,从而实现海洋数据的监测。该方法运行时间较短,但需给出用于判断海洋数据是否存在赤潮现象的模糊规则,导致监测结果不准确;文献[9]提出一种基于成分分析的海洋数据监测方法,该方法首先针对赤潮海洋数据构建一组特征流,利用得到的特征流对海洋数据进行分析,从而实现海洋数据的监测。然而该方法在进行层次分析时,不能准确得到多个海洋数据特征之间的联系,导致最终得到的监测结果较为粗糙,无法达到精度要求;文献[10]提出一种基于模拟信号的监测方法,该方法对赤潮信号进行模拟,获取其特征信息,将得到的特征信息和海洋数据进行比对,从而实现海洋数据的监测。但该方法监测形式过于单一,且运行时间较长,不适于实际应用。

针对上述方法的弊端,本文设计一种基于云存储的海量海洋监测数据平台,给出了平台的总体结构,主要包括海洋数据监测子系统和云存储子系统。实验结果表明,所设计系统具有较高的运行效率,且采集的海洋数据较真实,监测结果可靠。

1 基于云存储的海量海洋监测数据平台总体设计

海洋监测数据平台与其他信息平台不同,其整个设计、监理、实施均是以海洋资源这一特殊工业生产背景为核心展开的。所以,为了使基于云存储的海量海洋监测数据平台最终能够实现业务化运行,平台的设计必须以标准的海洋数据监测流程为依据,所设计平台总体结构如图 1所示。

图 1 平台总体结构图 Fig. 1 Platform overall structure

图 1所示,所设计的基于云存储的海量海洋监测数据平台主要包括海洋数据监测子系统和云存储子系统2部分。平台工作原理如下:传感器将得到的海洋监测数据发送至数据采集卡中,采集卡将结果传输至AD7076芯片中,对数据进行处理,将处理后的结果存储至云存储子系统中。

2 海洋数据监测子系统设计

海洋数据监测子系统为整个平台的基础,主要包括数据采集模块、数据集成模块和传感器,子系统结构用图 2进行描述。

图 2 海洋数据监测子系统 Fig. 2 Platform overall structure

图 2所示,数据采集模块通过和传感器的交互实现海洋数据的采集和监测,将采集到的数据传输至AD7606芯片中,进行集成数据处理,最后将处理结果发送至上层监测台站。

2.1 传感器设计

本节选用SHT75传感器对海洋数据(例如温度、盐度、浮游生物含量等)进行采集,SHT75传感器采用专利的工业COMS过程微加工技术,能够保证海洋数据的采集精度。SHT75传感器电路图如图 3所示。

图 3 SHT75传感器电路图 Fig. 3 SHT75 sensor circuit diagram

图 3所示,SHT75传感器中含有1个电容式聚合体测盐度元件、1个能隙式测温度元件和1个电压式测浮游生物含量元件,通过1个14位的A/D转换器将得到的测试结果统一转换成数值的形式进行输出。SHT75传感器体积小、能耗低,完全符合平台的设计要求。

2.2 数据采集卡设计

选用由NI公司生产的PCI-6224数据采集卡,其是一款依据PCI总线的多功能数据采集卡,能够采集32路模拟信号,工作原理如图 4所示:

图 4 数据采集卡工作原理图 Fig. 4 Working principle of the data acquisition card

系统要求数据采集卡能够同步采集64路数字信号,同时实现外部触发功能,而PCI6224的数字口没有时钟源,也没有触发功能,且只能采集32路模拟信号,所以本节采用外部触发的形式对采集卡进行控制。采集卡1将自身输出脉冲频率看作是外部时钟源,采集卡2的接线端子经外部连线和采集卡1的接线端子相连,利用软件编程对PC机进行管理,从而保证采集卡2的同步采集。

2.3 AD7606芯片内部结构设计

AD7606芯片为数据集成模块的核心,主要用于接收不同数据采集卡的现场监测数据,同时具备数据校验、汇总功能。

AD7606芯片主要由ADC、采集保持器构成,片外提供5 V基准参考电压、基准缓冲器以及高速的并行接口。详细电路如图 5所示。

图 5 AD7606芯片电路图 Fig. 5 AD7606 chip circuit diagram

AD7606芯片CPU选用DSP28335,DSP28335利用GPIO引脚为AD7606提供PWM信号,也就是转换信号。

AD7606的工作过程如下:开始对数据进行处理后,控制逻辑电路首先将寄存器的最高位置1,其地位置0,通过模数转换器对其进行转换获取电压值。将该值和输入信号相比,在下一次比较前对其进行修正,直至完成最低有效位数据的处理。

3 云存储子系统设计 3.1 云存储子系统架构

海洋监测数据规模大,平台自身处理能力不足,因此,本节引入云存储子系统。针对海量海洋监测数据平台的实际需要,本节设计了1种云存储架构,如图 6所示。

图 6 云存储子系统架构图 Fig. 6 Cloud storage subsystem architecture diagram

分析图 6可知,云存储子系统架构主要包括访问层、应用接口层、基础管理层和存储层。下面进行详细分析。

第1层为最底层的存储层,该层是一个海洋数据中心,为构建云存储架构的基础,主要由服务器、存储器与网络设施等构成。存储层利用底层的存储管理平台使海量海洋数据被保存至各存储设备,通常采用的存储设备是价格较低的PC机,它们利用高速网络互联。

第2层为基础管理层,该层主要负责提供操作系统服务,为云存储子系统的核心,也是最难实现的部分。基础管理层利用集群、海洋数据分布式文件系统与逻辑管理等技术,使多个存储设备协同工作,对外提供相同的服务,增强海量海洋数据的访问性能。

第3层为应用接口层,该层为海洋数据专线局域网与数据库层的数据接口。接口层首先对用户的需求进行分析,依据具体的需求提供相应的服务接口,使用户得到需要的服务,该层为云存储架构最灵活的部分。

第4层为访问层,负责提供自助管理软件服务,主要包括辅助决策展示服务、优化路径展示服务、共享海洋数据资源服务、海洋数据备份服务、监控台站服务、海量海洋数据融合服务等。访问层能够为用户提供专用的计算环境,使用户完全拥有海洋数据与程序的控制权。所有授权用户均可登录访问云存储子系统,享受云存储服务。

3.2 云存储子系统流程

云存储子系统利用内部IP地址完成海量海洋数据的传输与交互,使得用户运行的应用程序在各种实例间均可互相处理通信资源,提高工作效率。为了通过云存储子系统实现海量海洋实时监测数据的处理,并且实时解析数据流中的属性值保存到不同类型海洋专题数据库,本节设计的云存储子系统工作流程用图 7所示。

图 7 云存储子系统流程图 Fig. 7 The flow chart of cloud storage subsystem
3.3 关键代码设计

依据上述分析的云存储子系统流程图对云存储代码进行设计,部分关键代码如下:

object

div style=text-indent:2em;

//验证用户身份

font color=red;

div style=text-indent:2-9;

//限制文件大小

div class="wikiClear";

div style=margin-top:10px;

span class="btn btn-guide" style="float:left;

//开始存储

spanstyle=display:none;

divclass="like" style=margin-top:0;

class=bdlikebutton;

div class=bdlikebutton-inner;

div id="dislike";

style=margin-top:4px; display:block;

end。

4 实验结果分析 4.1 实验运行环境

为了验证本文设计的基于云存储的海量海洋监测数据平台的有效性,需要进行相关的实验分析。实验将嵌入式平台作为对比,在图 8描述的环境下进行实验分析。

图 8 实验环境图 Fig. 8 Experimental environment

为了便于实验分析,通过数据生成工具DatGen生成海洋赤潮监测要素的种类与范围。实验环境如下:中心站点选用Intel奔PC机,本地站点由sitsang开发板于Intel奔PC机构成。

4.2 运行时间测试

运行时间是衡量平台运行效率的重要指标,在图 8描述的实验环境中,分别采用本文平台和嵌入式平台对海量海洋数据进行监测,得到的结果如图 9所示。

图 9 两种平台运行时间比较 Fig. 9 Two platforms running time

分析图 9可以看出,随着待监测海洋数据量的逐渐增加,本文平台和嵌入式平台的运行时间均逐渐升高。但和嵌入式平台相比,本文平台的增长幅度明显更低,说明本文平台的运行时间较短,运行效率较高。

4.3 交互数据量测试

在实际的海洋监测环境中,复杂的外界条件可能会引起较长的时间延迟,大大降低海洋数据监测的实时性,因此,需对平台交互数据量进行测试,交互数据量越大,反映的海洋数据分布越真实,得到的监测结果越准确。表 1描述的是2种平台监测过程中产生的交互数据量与准确率。

表 1 两种平台交互数据量比较结果 Tab.1 Two platforms, interactive data comparison results

分析表 1可看出,不论数据集数量的多少,本文平台的交互数据量一直高于嵌入式平台,说明本文平台采集的海洋数据分布更加真实。

4.4 海洋数据监测结果比较

图 10为本文平台和嵌入式平台与实际海洋数据监测结果的比较图。

图 10 监测结果比较图 Fig. 10 Monitoring results comparison chart

分析图 10可知,采用本文平台对海洋数据进行监测共出现了2次赤潮,和实际监测结果相同。而嵌入式平台的监测结果中只出现了1次赤潮,和实际结果不符。说明本文平台的监测结果更加可靠。

5 结语

本文设计了一种基于云存储的海量海洋监测数据平台,给出了平台的总体结构,主要包括海洋数据监测子系统和云存储子系统。针对海洋数据监测子系统,详细分析了数据采集卡、传感器、AD7606芯片的设计过程,传感器将得到的海洋监测数据发送至数据采集卡中,采集卡将结果传输至AD7076芯片中,对数据进行处理,将处理后的结果存储至云存储子系统中。针对云存储子系统,给出了其详细架构和工作流程,设计了关键的实现代码。实验结果表明,所设计系统具有较高的运行效率,且采集的海洋数据较真实,监测结果可靠。

参考文献
[1] 张海山. 基于云存储视频监控系统的研究[J]. 电子设计工程 , 2015, 23 (10) :169–171.
ZHANG Hai-shan. Research of video surveillance system based on cloud storage[J]. Electronic Design Engineering , 2015, 23 (10) :169–171.
[2] 黄冬梅, 随宏运, 贺琪, 等. 云计算环境下基于数据关联度的海洋监测大数据布局策略[J]. 计算机工程与科学 , 2015, 37 (11) :1989–1996.
HUANG Dong-mei, SUI Hong-yuan, HE Qi, et al. A marine monitoring big data placement strategy in cloud computing environment based on data dependency[J]. Computer Engineering and Science , 2015, 37 (11) :1989–1996.
[3] 李林阳, 吕志平, 陈正生, 等. 海量连续运行参考站网数据云存储模型[J]. 导航定位学报 , 2014, 2 (3) :64–70, 86.
LI Lin-yang, LV Zhi-ping, CHEN Zheng-sheng, et al. Cloud storage model of massive continuous operating reference station system data[J]. Journal of Navigation and Positioning , 2014, 2 (3) :64–70, 86.
[4] 雷德龙, 郭殿升, 陈崇成, 等. 基于MongoDB的矢量空间数据云存储与处理系统[J]. 地球信息科学学报 , 2014, 16 (4) :507–516.
LEI De-long, GUO Dian-sheng, CHEN Chong-cheng, et al. Vector spatial data cloud storage and processing based on MongoDB[J]. Journal of Geo-information Science , 2014, 16 (4) :507–516.
[5] 徐芳辰, 沈苏彬. 一种基于OpenStack的云存储方案[J]. 计算机技术与发展 , 2015, 25 (11) :76–81, 86.
XU Fang-chen, SHEN Su-bin. A cloud storage solution based on OpenStack[J]. Computer Technology and Development , 2015, 25 (11) :76–81, 86.
[6] 屈志坚, 陈阁. 容错存储的电力系统监测数据查询优化技术[J]. 电网技术 , 2015, 39 (11) :3221–3227.
QU Zhi-jian, CHEN Ge. Query optimization for power system monitoring data with fault-tolerant storage[J]. Power System Technology , 2015, 39 (11) :3221–3227.
[7] 杜雅杰, 姚炎明, 焦建格. 基于数值模拟的海洋水质监测数据同步化研究[J]. 科技通报 , 2015, 31 (3) :258–262.
DU Ya-jie, YAO Yan-ming, JIAO Jian-ge. Study on synchronization of the sea water quality monitoring data based on numerical simulation[J]. Bulletin of Science and Technology , 2015, 31 (3) :258–262.
[8] 李浩琦, 王海斌, 汪俊. 基于CUDA的海洋监测数据并行压缩技术研究[J]. 海洋技术学报 , 2014, 33 (1) :39–44.
LI Hao-qi, WANG Hai-bin, WANG Jun. Study on the parallel compression technique for marine monitoring data based on CUDA[J]. Journal of Ocean Technology , 2014, 33 (1) :39–44.
[9] 王斌, 叶颖, 郭海, 等. 基于混合通信的海洋环境综合监测系统软件设计[J]. 计算机测量与控制 , 2015, 23 (12) :4225–4228.
WANG Bin, YE Ying, GUO Hai, et al. Design of ocean environment comprehensive monitoring system software based on multi-communication[J]. Computer Measurement & Control , 2015, 23 (12) :4225–4228.
[10] 周恩光, 李舟军, 郭华, 等. 一个改进的云存储数据完整性验证方案[J]. 电子学报 , 2014, 42 (1) :150–154.
ZHOU En-guang, LI Zhou-jun, GUO Hua, et al. An improved data integrity verification scheme in cloud storage system[J]. Acta Electronica Sinica , 2014, 42 (1) :150–154.