海洋大数据处理软件体系结构设计❋

2015-03-18 07:25孙朝随郭忠文
关键词:网络服务异构数据处理

孙朝随,刘 青,胡 桐,郭忠文

(中国海洋大学 1.信息科学与工程学院; 2.图书馆,山东 青岛 266100)



海洋大数据处理软件体系结构设计❋

孙朝随1,刘 青2,胡 桐1,郭忠文1

(中国海洋大学 1.信息科学与工程学院; 2.图书馆,山东 青岛 266100)

针对海洋数据格式与海洋信息应用系统的异构性,提出一种基于移动代码(Mobile code)的海洋大数据处理软件体系结构。首先,利用统一的网络服务接口与数据交换格式,规范海洋信息应用系统之间的数据访问与共享。其次,通过移动代码将海洋大数据的处理过程移至云端,提高信息处理效率。应用示例实现了异构海洋信息应用系统间的互操作,并且缩短了海量数据的处理时间,验证了该体系结构在海洋大数据处理中的通用性与有效性。

海洋大数据; 软件体系结构; 移动代码

大数据处理技术是当前和未来一段时间内计算机领域的重要研究课题之一,在物联网、云计算及军事安全方面具有重要作用。大数据具有数据量大、数据结构多样、查询分析复杂等特点[1]。目前,大数据处理在互联网方面已经取得了较好的研究成果[2]。

在“数字海洋”及国家海洋公益项目建设成果基础上,中国的海洋信息化水平有了长足的发展,涉及到海洋物理、海洋生物、海洋化学、海洋气象、海洋经济、海岸带等多个研究领域。然而,不同领域数据采集的方法与设备各异,并且数据存储与处理也形式多样,主要体现在:(1)海洋数据格式多样,存在很多海洋行业专业文件格式标准;(2)不同海洋观测平台的观测设备、通信协议、数据质控及预处理方法各不相同;(3)用户需求的复杂多样性,包括海洋数据管理、海洋业务管理、海洋科学研究及海洋管理决策等;(4)已有各类海洋信息应用系统存在异构性:在国家海洋局等相关涉海业务部门,已经存在多个海洋数据管理及业务应用信息系统,这些系统面向不同业务,各自相对独立、结构各异,互操作困难。随着大量结构化或非结构化的海洋数据不断累积,各类海洋信息应用系统对海洋数据交换与共享的需求日渐显著,系统间的互操作性与海量数据的处理速度成为海洋大数据处理的2个重要问题。

本文根据海洋数据格式多样的特点,提出了一种基于移动代码(Mobile code)的海洋大数据处理软件体系结构,在满足海洋大数据处理性能需求的同时为各类海洋信息应用系统之间的互操作提供支持。

1 海洋大数据

随着人类海洋活动的拓展,综合性海洋观测网络已经在构建之中,包括部署在岸基的各类海洋台站、锚定和漂流的各类海洋观测平台、海洋科学调查作业、海底观测网和航空遥感等。综合性海洋观测网络通过长期、定点、连续、多要素的海洋观测获取到海量的观测数据。

1.1 海洋大数据的特点

1.1.1 高实时性与动态变化 海洋观测目前以长期连续监测和阶段连续监测为主,监测时间长,部属范围广,产生的数据量大。由于综合性海洋观测网络的任务需求与天气变化等原因,海洋数据流具有高实时性特点。各类综合性海洋观测网络的互联和协作也将产生动态变化的大数据流。

1.1.2 多源异构性 由于海洋观测涉及的学科较多,包括物理海洋、海洋气象、海洋生物、海洋化学、海洋地质、海洋遥感等,资料内容多样,年限跨度大且数据格式不统一。另外,由于存在多种海洋观测手段,数据的存储方式和语义描述也不一致,没有统一的标准规范。在不同的应用场景中,数据处理和使用的方式不同也给海洋数据的检索和分析带来了困难。

1.1.3 交互服务模型复杂 海洋观测数据往往被应用于各类不同的海洋信息应用系统中[3],实践的应用需求差异决定了各应用系统中组件之间的交互接口各异。当新的应用需求产生时,开发人员需要对数据库进行重新设计与代码重构。随着海洋观测网络的大规模接入,对各类海洋信息应用系统的集成难度越来越大。

1.1.4 数据处理分析模型普适性差 对于海洋观测采集到的大量高维数据的不同应用场景,参与计算的参数、计算任务以及计算结果的内容存在较大差别,使得构建具有普适性的大规模海洋数据处理应用较为困难。面对庞大的数据量,海洋大数据处理的高实时性需求也给数据的处理分析方法提出了更高要求。

1.2 海洋大数据的处理过程

1.2.1 数据采集与传输 海洋环境观测利用多种仪器或观测平台对海域进行高密度高频率的立体观测[4](包括岸站观测、浮标观测、船舶观测、卫星遥感、航空遥感、雷达监测等),以便获得有关要素的数据资料。目前,海洋观测数据由集中、间断性传输逐渐向实时、连续性传输发展。海洋数据的采集与传输过程见图1,监测对象即各类海洋要素。监测仪器或平台采集到的时间序列数据在经过格式转换与质量控制后,通过有线或者无线的方式由网络服务接口进行录入并存储。统一的网络服务接口(Web service interfaces)提供规范的数据获取与传输功能,通过Web发现、访问获得实时的数据资源,后文将介绍各类网络服务接口的概要设计。

图1 数据采集与传输Fig.1 Data acquisition and transmission

1.2.2 数据存储与检索 由网络服务接口录入的大量海洋数据一般采用分布式数据库(如Hbase[5])或分布式文件系统(如GFS[6]、HDFS[5])进行存储,由主服务器负责维护海洋数据的元数据与系统日志,而由块服务器存储实际数据。在数据处理过程中采用MapReduce编程模型[7]对任务进行调度以便提高海量数据处理能力(见图2)。

元数据库的主要作用是存储各种异构海洋数据的描述信息,以便在构建各类海洋信息应用系统时实现互操作。采用统一的元数据存储格式也有利于对各类异构海洋数据进行查询检索。

1.2.3 数据集成 统一的网络服务接口使得海洋数据集成得到简化,并且能同时提供实时与非实时的数据集成功能。数据集成主要包含两个方面,一是对监测数据的元数据按照统一格式进行整合,二是将产品数据按照服务接口规范进行发布,避免信息孤岛的形成。

图2 数据存储与检索Fig.2 Data storage and retrieval

2 海洋大数据处理软件体系结构

2.1 系统框架

本文提出的海洋大数据处理软件体系结构的整体框架见图3,该框架结构在面向服务框架基础上将各类异构的海洋信息应用系统无缝集成,然后利用移动代码(Mobile code)实现海洋大数据的云端处理,缩短海量数据的处理时间。

图3 系统框架

该框架中,各层之间采用统一的网络服务接口进行数据交换,包括在数据采集过程中,通过注册服务在元数据库中添加相应的数据描述,并将采集所得的数据以文件或数据集的形式存储到分布式文件系统或分布式数据库中。数据访问层主要由维护元数据库的主服务器与存储实际数据的块服务器组成,应用服务层包括各类异构的海洋信息应用系统。来自应用服务层的数据访问请求根据元数据库中的描述信息被重定向到存储实际数据的块服务器。应用服务层在获得数据后,根据元数据库中的描述对数据格式进行解析。考虑到客户端的处理能力相对较弱并且传输海量数据所需时间较长,该框架通过移动代码将海洋大数据的处理过程由客户端移至云端(即应用服务层),由具有较高运算能力的应用服务器进行处理之后将结果返回至用户,从而使得数据的处理与传输时间显著降低。另外,采用移动代码方式在云端处理数据也避免了系统的重复开发,用户通过网络服务接口完成代码的上传与更新。

2.2 网络服务接口 基于面向服务框架的网络服务接口是构成海洋大数据处理软件体系结构的核心组成部分。由于采用统一的服务接口名称(图4为部分目录服务接口列表)与数据交换格式,诸多复杂的异构海洋信息应用系统之间能够实现彼此透明与互操作,并且能够提供实时数据的集成功能。各网络服务接口按照功能划分为以下几个类别:

(1)目录服务接口:提供数据目录的注册访问与数据查新功能。

(2)基础数据访问服务接口:提供海洋基础数据的录入与查询获取功能。

(3)产品数据访问服务接口:提供产品数据的查询获取与发布功能。

(4)实时海洋数据获取服务接口:提供海洋环境要素实时观测数据的自动发现与传输功能。

(5)数据转换服务接口:提供文件格式转换与数据抽稀功能。

(6)移动代码管理服务接口:提供移动代码的上传、更新与下载功能。

图4 部分目录服务接口列表Fig.4 Category service interfaces(partial)

3 应用示例

在实际的海洋数据处理应用的开发过程中,基于本文提出的海洋大数据处理软件体系结构,构建并部署了一个海洋数据集成与应用系统,并以此检验该体系结构在海洋数据集成过程中的通用性与有效性。该项目包括2个实际的子任务:海洋调查与区域数值模拟。海洋调查按照规划的站位进行了定时定点观测,采集大量海洋要素数据。区域数值模拟用于动态模拟调查海域的海洋要素物理变化特征,包括温度、盐度、潮流、波浪等变量。这两类数据主要以文件格式为主。海洋调查数据的录入首先通过目录访问接口进行注册,然后通过基础数据访问服务接口存储至分布式文件系统,并将元数据录入至元数据库。区域数值模拟则首先通过基础数据访问服务接口获取所需的海洋调查数据,然后将数值模拟结果通过产品数据访问服务接口进行发布。客户端通过移动代码将本地的数据可视化处理推至应用服务器,由特定的应用服务器对解析后的基础数据与产品数据进行处理,将可视化结果传回客户端显示。图5(a)显示了可视化的系统用户接口,通过选取感兴趣的调查航次查看相应观测站位的仪器与要素信息。图5(b)为数值模拟数据查询界面,用于即时查看指定要素在某一时间的可视化输出。由于采用了统一的基础数据与产品数据网络服务接口,该应用示例在数据集成过程中的测试难度被显著降低。并且,采用移动代码方式在云端处理海量数据不仅提高了系统性能,也维持了较低的开发成本,缩短了开发周期。图6显示了由客户端下载数据并进行可视化与采用本文提出的海洋大数据处理软件体系结构由云端进行可视化的系统性能对比结果,采用本文提出的海洋大数据处理软件体系结构显著缩短了平均任务完成时间。

图5 用户接口示例

图6 系统性能对比

4 结语

本文针对诸多海洋数据格式与各类海洋信息应用系统的异构特点,提出了一种基于移动代码(Mobile code)的海洋大数据处理软件体系结构,其主要设计思想是:利用统一的网络服务接口与数据交换格式,规范海洋信息应用系统之间的数据访问与共享行为,实现异构海洋信息应用系统间的互操作;通过移动代码将海洋大数据的处理过程移至云端,利用云端处理能力缩短海量数据的处理时间。本文通过应用示例实现了异构海洋信息应用系统之间的互操作,并且缩短了海量数据的处理时间,证明了该体系结构在海洋大数据处理中的通用性与有效性。今后将对已有的网络服务接口进行细化并根据实际的应用需求添加系统安全服务接口与管理接口。

[1] 倪明选, 罗吴蔓. 数据爆炸时代的技术变革 [J].中国计算机学会通讯, 2011, 7(7): 12-20.

[2] Sakr Sherif, Liu Anna, Daniel M, et al. A survey of large scale data management approaches in cloud environments [J]. IEEE Communications Surveys & Tutorials, 2011, 13(3): 61-65.

[3] Guo Zhongwen, Chen Pengpeng, Zhang Hao, et al. IMA: an integrated monitoring architecture with sensor networks [J]. IEEE Transactions on Instruments and Measurement, 2012: 61(5): 1287-1295.

[4] 马毅.我国海洋预报观测系统概述 [J]. 海洋预报, 2008, 1: 56-62.

[5] Shvachko K, Huang H, Radia S, et al. The hadoop distributed file system [C]. Incline v: Proceedings of the 26th IEEE Symposium on Massive Storage Systems and Technologies(MSST2010), 2010.

[6] Ghemawat S, Gobioff H, Leung ST. The Google file system [C]. Proceedings of the 19th ACM Symp on Operating Systems Principles, New York: ACM Press, 2003: 29-43.

[7] Dean, Jeffrey, Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters [C]. Sam Fran cisco: Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation (OSDI 2004), 2004: 1-13.

责任编辑 陈呈超

Software Architecture for Oceanographic Big Data Processing

SUN Chao-Sui1, LIU Qing2, HU Tong1, GUO Zhong-Wen1

(1. College of Information Science and Engineering; 2. Library, Ocean University of China, Qingdao 266100, China)

This paper presented software architecture for oceanographic big data processing to address the integration problem among heterogeneous marine-oriented information systems. The proposed software architecture firstly took advantage of unified exchanging data format and web service interfaces to regulate the access and sharing behavior between heterogeneous marine-oriented information systems, and then pushed data processing procedure to cloud computing by means of mobile code in order to improve data processing efficiency. Application examples prove that such software architecture has a set of advantages on scalability and versatility, and significantly shortens the time of massive data processing.

oceanographic big data;software architecture;mobile code

国家海洋公益项目(200905030-4)资助

2013-08-20;

2014-02-20

孙朝随(1965-),男,博士生。E-mail: guozhw@ouc.edu.cn

TP393

A

1672-5174(2015)02-134-04

10.16441/j.cnki.hdxb.20130193

猜你喜欢
网络服务异构数据处理
ETC拓展应用场景下的多源异构交易系统
试论同课异构之“同”与“异”
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
网络服务合同的法律问题研究
基于网络服务者在侵权法中的应用分析
无人机测绘数据处理关键技术及运用
吴健:多元异构的数字敦煌
基于MATLAB语言的物理实验数据处理探讨
异构醇醚在超浓缩洗衣液中的应用探索