基于NetCDF的数据交换平台研究
扫描二维码
随时随地手机看文章
摘 要: 针对异构海洋观测数据交互困难的问题,提出基于NetCDF的海洋观测数据交换格式,定义海洋观测数据交互规范,实现海洋观测数据灵活装载和随机访问。基于此,设计海洋观测数据交换平台框架,通过分层架构模式实现海洋观测数据用户“一站式”访问。最后,开发原型系统加以验证。
关键词: 观测数据; NetCDF; 数据交换
随着科学技术进步,人类探测海洋的能力日益提升,近年来,国家越来越重视海洋领域的开发建设,实施了大批海洋工程项目,提高了利用海洋的能力。但是,在利用海洋观测数据的实践中,数据交互困难越显突出,主要体现在如下方面:
(1)数据格式复杂。当前海洋观测数据常用的数据格式包括电报码、XML格式文件、文本、数据库等。不同的数据格式要求信息系统提供不同的访问方式,增加了海洋数据融合的困难。
(2)海洋应用与海洋科学数据存在差异。当前数字海洋所规范的数据格式多为文本或者数据库文件,但是在预报计算、分析等海洋科学领域所使用的大多为专业格式数据,如NetCDF、Grid等,这种格式的不统一给数据交互带来困难。
(3)数据分布广泛,我国海域广阔,沿海遍布着大大小小多个海洋机构,不同机构掌握一定的海洋观测数据,缺乏统一的安排和协调,也造成海洋观测数据共享困难。
本文针对我国海洋观测数据交互存在的实际困难,提出一套解决方案,在构建基于NetCDF通用观测数据交换格式的基础上,设计海洋观测数据交换平台,并在天津海洋观测数据展示平台项目中进行验证。
1 相关研究
近年来,针对海洋领域数据交换和集成,有许多研究机构做了大量工作,取得了丰富的研究成果。美国海军和国家海洋大气局实施开发了IOOS[1-2](Integrated Ocean Observing System)项目,目的是统一分散在各部门的海洋观测数据,提供共享信息,IOOS框架采用分层设计,并以用户需求为驱动,通过各层间的数据流整合,达到观测数据集成的目的。IOOS的分段子系统DMAC[3](Data Management and Communications)则主要负责海洋数据的传输和通讯,DMAC定义了一套共同遵守的、通用的标准,实现海洋观测数据互操作框架。海洋交互观测网ORION[4](Ocean Research Interactive Observatory Networks)项目为科学家、教育者和普通公众对海洋的交互、连续访问提供了一个平台。美国NSF、SURA、ONR和NOAA-CSC等组织资助了海洋元数据互操作项目MMI [5](Marine Metadata Interoperation)提供了一个开放的资源共享平台,便于组织和个人将与海洋相关的信息资源注册到MMI中,然后进行共享。由欧盟资助的MarineXML项目[6]则用于验证XML技术在提高海洋信息部门之间,特别是海洋观测部门之间数据互操作性中所起的作用。该项目开发并改进海洋标记语言MML。
上述项目从不同角度解决海洋观测数据的交换与共享,但是上述项目没有搭建起海洋应用与海洋科研之间的信息共享桥梁,此外,上述项目没有为用户提供一个屏蔽数据共享细节的界面,本文设计的海洋观测数据交换平台则更多地从用户易用的角度给出协同应用与科研的海洋观测数据信息共享解决方案。
2 基于NetCDF的交换数据格式定义
NetCDF(Network Common Data Form)[7-8]网络通用数据格式由UCAR在其Unidata项目中提出。NetCDF利用矩阵方式存储数据,具有自描述性、结构独立性、随机访问性、可追加性、可共享性等特点,广泛应用于海洋观测领域存储和交换数据。根据我国海洋观测数据交换的应用需求,定义基于NetCDF的海洋观测交换数据格式,如图1所示。
基于NetCDF的海洋观测交换数据定义领域内观测数据交换的一般标准,通过交换数据,使得具有普遍异构性的海洋观测数据以一种通用标准样式被各类web服务所调用,解决数据交互困难的问题。海洋观测交换数据所定义的格式包括六部分内容。
(1)ObservationData(观测数据):建立海洋观测交换数据标识,用于标识一个交换数据文件,其中,id为数据标签,name为数据解释,ObservationData建立的交换数据文件包含一个维度,多个变量;
(2)Dimension(维度):解释海洋观测交换数据形式,一个海洋观测交换数据文件包含唯一一组维度定义,Dimension给出交换数据各数据项之间的排列,本文给出维度的固定格式,包括:数据层次说明(level)、纬度(latitude)、经度(longitude)和时间(time);
(3)Variables(变量):对于维度中各参数的说明,包括参数名、对应参数类型以及参数的取值;
(4)DataType(数据类型):通用数据类型说明;
(5)Attributes(属性):变量所包含的属性说明,其组成为属性名(name)、属性类型(type)、属性值(value),属性是海洋交换数据的元数据说明,解释包含作者、生成时间、数据来源等信息;
(6)Data(数据):海洋观测交换数据内容,所定义的数据内涵与变量中声明的数据标签一致。
图2利用实例说明海洋观测交换数据形式。