科技发展
您当前的位置 > 首页 > 科技发展
名称 海洋观测资料共享服务平台设计与实现
发布机构 科技外事处 索引号 2189234/2020-00076
主题分类 科技发展 文号
发布日期 2020-12-09 主题词

海洋观测资料共享服务平台设计与实现

发布日期:2020-12-09 10:00 信息来源:科技外事处 访问量:? 字体 :[ 大 ][ 中 ][ 小 ]

海洋观测资料共享服务平台设计与实现

海洋观测数据是海洋科学研究、海洋预报减灾等业务化工作的基石。我国海洋观测业务工作经几十年的发展,逐步形成了由海洋站、浮标、雷达、志愿船、卫星遥感等组成的海洋立体观测网,基本覆盖了我国近岸、近海及部分重点关注海域,达到了分钟级的实时数据获取频次。在观测资料相对丰富的现状下,如何在保证数据安全的同时充分发挥其价值,进一步扩大共享应用范围,成为一个迫切需要解决的问题。

欧美发达国家高度重视海洋观测能力和海洋信息利用价值的提升。美国通过综合海洋观测系(IOOS)的建设,获取并发布应用近海海洋环境数据,后续又推出“海洋数据获取与信息提供能力增强计划”,不断提升其海洋数据质量与应用能力。美国业务化海洋观测系统高度重视数据的共享应用,凡不在强制性保密范围内的(不危及国家安全、不影响政府政务和不涉及个人隐私)海洋观测数据信息均可在全球范围内通过互联网平台经统一接口获取。欧盟国家在集成现有观测系统的基础上,制定全欧海洋发展战略计划,发展了欧洲海洋观测和数据管理共享信息网络,对欧洲立体海洋环境观测系统获取的数据进行有效管理、处理和共享。

政府间海洋学委员会(IOC)早在1961年就建立了国际海洋资料与信息交换计划(IODE),旨在通过海洋数据及时、免费、无限制地共享交换,满足各成员国对海洋资料和信息产品的需求。在IODE框架下,继而又推出了海洋数据门户(Ocean Data Portal,ODP)项目,提出统一的技术规范和网络服务,整合、共享元数据、数据及产品。

国内相关机构及研究人员也就海洋数据共享进行了不断的探索和实践。作为国内海洋数据管理服务的主要机构,国家海洋信息中心多年来开展了大量工作,积极推进海洋数据共享,明确海洋信息共享是海洋信息化建设的主要任务之一,提出了海洋信息共享服务的技术路径,利用并行数据库与资源虚拟化技术,设计实现了一种既能保证数据安全,又能充分满足用户数据使用需求的技术方案。在科技部、财政部“海洋科学数据共享工程建设”项目支持下,建设运行了海洋科学数据共享平台,并结合智慧海洋的建设发展,提出搭建标准统一、开放兼容的海洋大数据云平台,推进数据资源的互联互通,提升共享服务水平。

各海区机构也做了诸多工作。东海区计实现了基于WebGIS的东海区海洋观测资料共享及服务平台,并搭建了一套集观测预报数据共享、预报制作共享及平台服务于一体的东海区海洋观测预报减灾信息共享平台,实现东海区海洋观测资料及预报产品的共享。另外,国家自然科学基金委设立的国家自然科学基金海洋科学资料共享服务平台建设工程,资助实现了青岛海洋资料共享服务系统,后又筹建了青岛海洋科学资料共享服务中心,开展自然科学基金海洋科学资料的共享服务工作。还出现了一些针对特定类别海洋数据的共享平台,如南海海洋断面科学考察数据管理与共享系统、全球Argo资料共享与服务平台等。

作为国家全球海洋立体观测网建设的重要内容,2019年,自然资源部组织开展了将地方海洋观测网纳入国家海洋立体观测网的相关工作,同期落实了海洋预警监测工作体系内国家与地方机构海洋观测资料的共享实施,将国家海洋立体观测网获取的观测数据在国家和地方海洋预警监测部门之间充分共享,最大限度地发挥海洋观测资料的应用服务价值。本文所述的海洋观测资料共享服务平台即是承担此项任务的主体业务平台。平台在总结和吸纳国内外关于海洋数据共享应用的思考和实践经验基础上构建,遵照“整合资源、充分共享、统一平台、在线发布”的原则,切实推进海洋预警监测工作中海洋观测资料的有效共享。

1平台架构

1.1总体框架

秉持“高内聚,低耦合”的设计思想,以数据层、业务逻辑层、表现层的三层框架来构建平台。

1.1.1数据层

数据层对平台数据资源进行管理调度,包括元数据及数据文件的监测注册、数据存储、数据接口配置、WebGIS空间数据调度、数据擦除、日志管理等。

1.1.2业务逻辑层

业务逻辑层承接数据层与表现层,是整个平台架构的核心,其向上被表现层调用,向下调用数据层。平台采用面向过程的业务逻辑组织方式,业务逻辑层的构成包括各类型的数据及用户实体,包括数据查询、检索、列表维护、打包下载、权限配置等等的运作规则,以及数据接收、接口获取与转发、FTP推送等业务流程和工作流实现。

1.1.3表现层

平台在表现层提供了多种数据表现方式与交互应用方式,包括数据组合检索、打包下载、数据文件在线阅览、数据表查阅、REST数据服务接口、在WebGIS基础上应用ECharts进行的数据可视化等。

1.2技术架构

平台在三层框架中同时又嵌入了基于NETMVC(模型视图控制器)的架构模式,将平台分成模型、视图和控制器3个主要组件组,将核心业务行为与基础结构及用户界面逻辑区分开,实现了所谓的“关注点的分离”。

1.3数据资源

当前海洋观测资料共享服务平台加载的业务化海洋观测数据,按照数据时效可划分为实时数据和延时数据两大类。海洋观测实时数据的共享内容为原始报文和经解码、标准化后形成的实时标准数据集,目前包括海洋站、浮标、岸基雷达等实时资料。海洋观测延时资料共享内容为精细化处理、质量控制和整合后形成的延时标准数据集,数据格式参照《海滨观测规范》(GB/T 14914-2006),目前包括海洋站、浮标、标准海洋断面等延时资料。

1.4基础环境

平台的建设运行基于海洋信息化建设先期形成的各项基础设施成果,如海洋信息通信地面专网、国家海洋综合数据库、海洋云平台、基础地理平台、海洋数据传输系统等,平台运行的基础依赖环境。

其中,网络/云平台/信息系统安全防护体系为海洋观测资料共享服务平台的安全防护提供了保障,数据/网络/云平台/信息系统标准规范体系确保了观测资料及应用服务的标准化,与互联网隔离的海洋信息通信专网进一步提升了平台数据的安全性。平台同时调用了基础地理平台的地图服务和海洋综合数据库的数据接口服务。平台加载的观测资料来源于海洋观测资料传输系统从国家和地方海洋观测机构传输、汇集的原始资料,经海洋综合数据库解码、标准化、入库后的标准数据集,以及数据处理订正系统质量控制与订正后的延时数据集。

2关键技术

2.1基于云平台的海量小文件存储模型

海洋观测资料共享服务平台接收、储存、检索、打包及转发的数据文件,几乎都是小文件。平台月增文件数量4000万左右(仅指数据文件,不含平台运行过程中产生的过程文件),其中只有不足1%的数据文件大于1KB。如果以传统存储方式将小文件直接存入硬盘,其操作效率将会随着小文件数量的不断增加变得越来越低。同时,海量小文件产生了大量的元数据,随着小文件数量的增多,对小文件进行操作时伴随的元数据操作会严重影响系统的性能,出现内存占用激增,磁盘I/O缓慢等问题。海量小文件的存储优化,目前有改进目录索引机制、提高Cache命中率、提高磁盘访问效率等方案,也出现了像C-FFS、ReiserFS、Facebook及淘宝的小文件存储系统等针对小文件存储的文件系统。

海洋观测资料共享服务平台部署运行于海洋云平台,有别于将数据文件直接存入硬盘的传统存储方式,云平台分布式存储系统主从结构下海量小文件存储的问题,主要表现在元数据结构效率低、主服务器性能容易成为瓶颈、磁盘I/O效率低、磁盘空间利用率低、网络通信延迟高等方面。

针对分布式存储系统下操作海量小文件存在的问题,目前应用最广泛的解决方案是文件合并技术,即将若干小文件合并成一个大文件进行存储,如利用HAR技术实现小文件的合并,在不增加内存占用的前提下提高了元数据的存储效率,或结合WebGIS根据地理位置对文件进行分组,将同组的小文件合并成大文件,并为其建立全局索引,提高了I/O性能,降低了内存占用率,为解决海量Argo观测资料的存储引入了PostgreSQL/PostGIS体系构成混合数据库,建立了Argo资料弹性扩展云存储模型。

海洋观测资料共享服务平台的数据来源固定,由上游数据服务器单点对单点的方式推送而来,在观测站位数量和观测内容、观测频次无调整的情况下,数据类型及数据文件增量也相对固定,包括各类别数据的增量都相对稳定。数据的访问读取,通常是按类型进行的,通常倾向于一次性获取固定区域的数据,且访问较多的通常都是最近的数据。尤其是依据平台的功能设计,也无须储存共享大量的历史数据。

根据平台的上述特点,本文设计了一种基于云平台的海量海洋观测数据小文件存储模型,模型主要针对元数据结构进行优化,主要包括以下要点。

(1)采用一种多级分类的数据组织结构。按照数据组织结构层级建立目录索引,将对应小文件的目录索引存入关系型数据库,并保持适当规模的目录索引表常驻内存,以此减少磁盘I/O。

(2)根据前端传入的检索条件,通过虚拟路径的映射,实现虚拟的、多级动态的小文件合并,提升小文件的访问效率。

(3)另针对平台后端大量运行的数据打包操作进行优化,首先对用户从平台前端发送来的打包条件进行分析匹配,依据平台数据组织分级进行组合,使连续的数据文件一次性读取,压缩I/O时间。

(4)建立数据清退机制。平台针对不同类型的数据设置不同的数据服务期限,超期的数据将从文件服务器上删除,同时在数据库中将对应的目录索引转存入历史表,使其不影响数据库操作速度。

2.2海量小文件即时监测转发

海洋预报减灾业务工作在应用海洋观测数据尤其是实时数据时,对数据实时性有很高的要求。另外,为了能使平台数据与预报减灾部门已有的业务系统做到无缝自动衔接,几乎不需要改动已有的业务系统,采用符合标准观测数据记录格式的数据文件为数据载体是一种更适合的选择(相对于数据服务接口)。作为一个目前定位于在海洋预警监测体系内共享数据的业务平台,如何满足预报减灾业务部门对观测数据的需求,尤其是对数据文件的实时性需求,是平台设计开发过程中需要着重考虑的点。

卢博等(2017)在设计业务化海洋观测数据传输网络时,采用基于FTP协议的文件分割保存、多线程调度等方法来提高数据文件传输的效率。在与海洋预报减灾业务相近的气象领域,也存在对大量的小数据文件进行高效实时传输的需求。陆颖华等(2014)提出了一种基于实时网络状况的自适应气象数据小文件传输优化方法,通过实时调整文件压缩参数和网络传输参数以优化传输性能。杨润芝等(2015)提出了一种气象数据的内存转发模型,打通数据接收和转发,减少中间处理环节,从而提高了数据转发时效。

海洋观测资料共享服务平台当前数据文件转发的设计需求为每分钟3×l04次,为提升转发时效,我们的设计方案将数据文件的监测与转发结合起来,具体实现如下。

(1)确定了以FTP方式主动推送数据的技术路线。作为主机间通讯的应用层传输协议,FTP方式易操作、安全、稳定,是在主机间进行文件传输的有效方式。主动推送相较于数据需求方轮询获取数据等方式,会给平台数据服务器端造成较大的性能压力,但更有利于保障数据传输的实时性,满足大量的小数据文件高效实时传输的需求。

(2)与基于云平台的海量小文件存储模型结合,在内存中驻留的目录索引表之外,再引入数据推送的FTP配置信息,减少应用程序与数据库的交互。

(3)采用多线程技术来实现多节点的同步转发,同时采用多线程动态调度机制来实现线程池的管理优化。

(4)为实现可靠的数据推送,设计了一个数据文件的推送流程,在数据推送过程中有效应对各种网络或目标地故障。

2.3数据可视化及接口服务

平台提供了多种形式的数据可视化服务,包括:

(1)基于WebGIS将海洋站、浮标、岸基雷达、断面调查等站位及观测设备、观测要素等属性信息进行可视化展示,地图底图调用自海洋基础地理平台,通过应用Nginx部署反向代理,将部署在内网地址的地图服务映射到海洋信息通信专网,使内网之外的专网用户也可使用此项服务。

(2)应用Echarts结合WebGIS,从综合数据库数据服务接口获取数据,绘制展示海洋站、浮标、雷达等各种实时观测数据分要素的时间序列图,并将海洋站实时潮位观测数据与潮汐预报产品叠加展示,供海洋预报减灾业务人员分析使用。

(3)将从数据接口获取的json格式数据再组织为数据表格形式,表格形式的展示更贴近用户查看数据的经验,方便用户对数据有更直观的感受。

(4)将平台运行管理的后台数据进行可视化展示。

(5)海洋观测资料共享服务平台的数据接口服务封装自海洋综合数据库的数据接口,同样应用Nginx将部署在内网的综合数据库接口服务映射到海洋信息通信专网。封装过程中,实现了数据权限的校验,确保数据安全。

3平台功能实现

平台建设按照海洋预警监测工作的要求,依据资料的时空连续和相互影响特性,以满足区域资料应用服务为原则,向自然资源部所属各相关国家业务中心、海区机构,以及省级海洋观测资料管理机构和相关应用单位进行各项实时、延时资料的充分、及时、可靠共享。系统功能主要包括首页、实时数据、延时数据、工作台、在线监控、帮助说明、系统管理。

3.1首页

首页包括数据可视化、打包记录、通知公告、数据接收及推送情况、往日数据包下载等功能模块。在首页中对观测数据及系统文件的接收、下载等情况进行统计展示,用户可通过地图查看海洋站、浮标、雷达、断面的站位信息及实时观测数据等,也可直接下载用户自行打包或系统自动打包的数据文件。

3.2实时数据

实时数据模块可查看实时数据的原始资料、标准数据集及数据接口,用户可对实时数据按多种分类条件进行筛选、查询,可查阅数据文件内容,将跨类别的数据文件发送到打包队列中,执行打包操作后可在后台将跨类别的数据转化为一个数据包,通过生成的文件链接进行下载。

3.3延时数据

延时数据模块可查看延时数据的标准数据集及数据接口,用户可对实时数据进行筛选、查询、打包及下载操作。具体操作方式与实时数据相一致。

3.4工作台

用户可通过工作台查看自己的工作记录,包括发送了哪些数据文件到打包列表、已打包了哪些数据文件、数据下载历史及观测设施故障信息填报等内容。

3.5帮助说明

在帮助说明模块可查看系统的通知公告、数据文件说明材料、辅助用户下载的工具组件等信息。其中,数据文件说明材料包括观测站位信息(站位代码、站位编码、经纬度、行政归属、观测要素等)、数据目录结构说明、数据文件命名规则、数据记录格式说明等,辅助用户理解、应用平台共享的海洋观测数据。

3.6系统管理

系统管理权限仅对系统管理员开放,可对系统的数据、用户及权限进行配置管理。其中,每个用户从属于一个用户角色,每个用户角色对应不同的资料权限,对于每种不同的资料类型,以行政区域为单位来分别设置其资料权限。以此来实现资料权限与用户权限的解耦,以灵活的配置方式来适应用户资料共享权限的变化调整。

4平台部署应用

平台部署在海洋云平台上,部署环境为WindowsServer操作系统,4×4核2.0GHz处理器,64GB内存,2TB磁盘空间。当前在海洋信息通信专网的部署地址为http://41.3.0.6/ybjzshare,推荐使用IE11或chrome8.0以上版本的浏览器进行访问。

5结语

海洋观测资料共享服务平台上线运行以来,用户覆盖沿海各省区市的海洋数据管理机构和相关国家业务中心,为海洋预警监测体系内的资料配置流通起到了一定作用。平台设计的基于云平台的海量小文件存储模型也可应用到海洋预警监测工作的其他方面。平台后续建设在进一步做好数据共享工作的同时,也可增加海洋信息产品共享、数据质量反馈、数据在线分析等功能,为用户提供更好的海洋数据及产品服务。

摘自《海洋信息》2020年第3期

 

扫一扫在手机打开当前页

海洋观测资料共享服务平台设计与实现

科技外事处 2020-12-09

海洋观测资料共享服务平台设计与实现

海洋观测数据是海洋科学研究、海洋预报减灾等业务化工作的基石。我国海洋观测业务工作经几十年的发展,逐步形成了由海洋站、浮标、雷达、志愿船、卫星遥感等组成的海洋立体观测网,基本覆盖了我国近岸、近海及部分重点关注海域,达到了分钟级的实时数据获取频次。在观测资料相对丰富的现状下,如何在保证数据安全的同时充分发挥其价值,进一步扩大共享应用范围,成为一个迫切需要解决的问题。

欧美发达国家高度重视海洋观测能力和海洋信息利用价值的提升。美国通过综合海洋观测系(IOOS)的建设,获取并发布应用近海海洋环境数据,后续又推出“海洋数据获取与信息提供能力增强计划”,不断提升其海洋数据质量与应用能力。美国业务化海洋观测系统高度重视数据的共享应用,凡不在强制性保密范围内的(不危及国家安全、不影响政府政务和不涉及个人隐私)海洋观测数据信息均可在全球范围内通过互联网平台经统一接口获取。欧盟国家在集成现有观测系统的基础上,制定全欧海洋发展战略计划,发展了欧洲海洋观测和数据管理共享信息网络,对欧洲立体海洋环境观测系统获取的数据进行有效管理、处理和共享。

政府间海洋学委员会(IOC)早在1961年就建立了国际海洋资料与信息交换计划(IODE),旨在通过海洋数据及时、免费、无限制地共享交换,满足各成员国对海洋资料和信息产品的需求。在IODE框架下,继而又推出了海洋数据门户(Ocean Data Portal,ODP)项目,提出统一的技术规范和网络服务,整合、共享元数据、数据及产品。

国内相关机构及研究人员也就海洋数据共享进行了不断的探索和实践。作为国内海洋数据管理服务的主要机构,国家海洋信息中心多年来开展了大量工作,积极推进海洋数据共享,明确海洋信息共享是海洋信息化建设的主要任务之一,提出了海洋信息共享服务的技术路径,利用并行数据库与资源虚拟化技术,设计实现了一种既能保证数据安全,又能充分满足用户数据使用需求的技术方案。在科技部、财政部“海洋科学数据共享工程建设”项目支持下,建设运行了海洋科学数据共享平台,并结合智慧海洋的建设发展,提出搭建标准统一、开放兼容的海洋大数据云平台,推进数据资源的互联互通,提升共享服务水平。

各海区机构也做了诸多工作。东海区计实现了基于WebGIS的东海区海洋观测资料共享及服务平台,并搭建了一套集观测预报数据共享、预报制作共享及平台服务于一体的东海区海洋观测预报减灾信息共享平台,实现东海区海洋观测资料及预报产品的共享。另外,国家自然科学基金委设立的国家自然科学基金海洋科学资料共享服务平台建设工程,资助实现了青岛海洋资料共享服务系统,后又筹建了青岛海洋科学资料共享服务中心,开展自然科学基金海洋科学资料的共享服务工作。还出现了一些针对特定类别海洋数据的共享平台,如南海海洋断面科学考察数据管理与共享系统、全球Argo资料共享与服务平台等。

作为国家全球海洋立体观测网建设的重要内容,2019年,自然资源部组织开展了将地方海洋观测网纳入国家海洋立体观测网的相关工作,同期落实了海洋预警监测工作体系内国家与地方机构海洋观测资料的共享实施,将国家海洋立体观测网获取的观测数据在国家和地方海洋预警监测部门之间充分共享,最大限度地发挥海洋观测资料的应用服务价值。本文所述的海洋观测资料共享服务平台即是承担此项任务的主体业务平台。平台在总结和吸纳国内外关于海洋数据共享应用的思考和实践经验基础上构建,遵照“整合资源、充分共享、统一平台、在线发布”的原则,切实推进海洋预警监测工作中海洋观测资料的有效共享。

1平台架构

1.1总体框架

秉持“高内聚,低耦合”的设计思想,以数据层、业务逻辑层、表现层的三层框架来构建平台。

1.1.1数据层

数据层对平台数据资源进行管理调度,包括元数据及数据文件的监测注册、数据存储、数据接口配置、WebGIS空间数据调度、数据擦除、日志管理等。

1.1.2业务逻辑层

业务逻辑层承接数据层与表现层,是整个平台架构的核心,其向上被表现层调用,向下调用数据层。平台采用面向过程的业务逻辑组织方式,业务逻辑层的构成包括各类型的数据及用户实体,包括数据查询、检索、列表维护、打包下载、权限配置等等的运作规则,以及数据接收、接口获取与转发、FTP推送等业务流程和工作流实现。

1.1.3表现层

平台在表现层提供了多种数据表现方式与交互应用方式,包括数据组合检索、打包下载、数据文件在线阅览、数据表查阅、REST数据服务接口、在WebGIS基础上应用ECharts进行的数据可视化等。

1.2技术架构

平台在三层框架中同时又嵌入了基于NETMVC(模型视图控制器)的架构模式,将平台分成模型、视图和控制器3个主要组件组,将核心业务行为与基础结构及用户界面逻辑区分开,实现了所谓的“关注点的分离”。

1.3数据资源

当前海洋观测资料共享服务平台加载的业务化海洋观测数据,按照数据时效可划分为实时数据和延时数据两大类。海洋观测实时数据的共享内容为原始报文和经解码、标准化后形成的实时标准数据集,目前包括海洋站、浮标、岸基雷达等实时资料。海洋观测延时资料共享内容为精细化处理、质量控制和整合后形成的延时标准数据集,数据格式参照《海滨观测规范》(GB/T 14914-2006),目前包括海洋站、浮标、标准海洋断面等延时资料。

1.4基础环境

平台的建设运行基于海洋信息化建设先期形成的各项基础设施成果,如海洋信息通信地面专网、国家海洋综合数据库、海洋云平台、基础地理平台、海洋数据传输系统等,平台运行的基础依赖环境。

其中,网络/云平台/信息系统安全防护体系为海洋观测资料共享服务平台的安全防护提供了保障,数据/网络/云平台/信息系统标准规范体系确保了观测资料及应用服务的标准化,与互联网隔离的海洋信息通信专网进一步提升了平台数据的安全性。平台同时调用了基础地理平台的地图服务和海洋综合数据库的数据接口服务。平台加载的观测资料来源于海洋观测资料传输系统从国家和地方海洋观测机构传输、汇集的原始资料,经海洋综合数据库解码、标准化、入库后的标准数据集,以及数据处理订正系统质量控制与订正后的延时数据集。

2关键技术

2.1基于云平台的海量小文件存储模型

海洋观测资料共享服务平台接收、储存、检索、打包及转发的数据文件,几乎都是小文件。平台月增文件数量4000万左右(仅指数据文件,不含平台运行过程中产生的过程文件),其中只有不足1%的数据文件大于1KB。如果以传统存储方式将小文件直接存入硬盘,其操作效率将会随着小文件数量的不断增加变得越来越低。同时,海量小文件产生了大量的元数据,随着小文件数量的增多,对小文件进行操作时伴随的元数据操作会严重影响系统的性能,出现内存占用激增,磁盘I/O缓慢等问题。海量小文件的存储优化,目前有改进目录索引机制、提高Cache命中率、提高磁盘访问效率等方案,也出现了像C-FFS、ReiserFS、Facebook及淘宝的小文件存储系统等针对小文件存储的文件系统。

海洋观测资料共享服务平台部署运行于海洋云平台,有别于将数据文件直接存入硬盘的传统存储方式,云平台分布式存储系统主从结构下海量小文件存储的问题,主要表现在元数据结构效率低、主服务器性能容易成为瓶颈、磁盘I/O效率低、磁盘空间利用率低、网络通信延迟高等方面。

针对分布式存储系统下操作海量小文件存在的问题,目前应用最广泛的解决方案是文件合并技术,即将若干小文件合并成一个大文件进行存储,如利用HAR技术实现小文件的合并,在不增加内存占用的前提下提高了元数据的存储效率,或结合WebGIS根据地理位置对文件进行分组,将同组的小文件合并成大文件,并为其建立全局索引,提高了I/O性能,降低了内存占用率,为解决海量Argo观测资料的存储引入了PostgreSQL/PostGIS体系构成混合数据库,建立了Argo资料弹性扩展云存储模型。

海洋观测资料共享服务平台的数据来源固定,由上游数据服务器单点对单点的方式推送而来,在观测站位数量和观测内容、观测频次无调整的情况下,数据类型及数据文件增量也相对固定,包括各类别数据的增量都相对稳定。数据的访问读取,通常是按类型进行的,通常倾向于一次性获取固定区域的数据,且访问较多的通常都是最近的数据。尤其是依据平台的功能设计,也无须储存共享大量的历史数据。

根据平台的上述特点,本文设计了一种基于云平台的海量海洋观测数据小文件存储模型,模型主要针对元数据结构进行优化,主要包括以下要点。

(1)采用一种多级分类的数据组织结构。按照数据组织结构层级建立目录索引,将对应小文件的目录索引存入关系型数据库,并保持适当规模的目录索引表常驻内存,以此减少磁盘I/O。

(2)根据前端传入的检索条件,通过虚拟路径的映射,实现虚拟的、多级动态的小文件合并,提升小文件的访问效率。

(3)另针对平台后端大量运行的数据打包操作进行优化,首先对用户从平台前端发送来的打包条件进行分析匹配,依据平台数据组织分级进行组合,使连续的数据文件一次性读取,压缩I/O时间。

(4)建立数据清退机制。平台针对不同类型的数据设置不同的数据服务期限,超期的数据将从文件服务器上删除,同时在数据库中将对应的目录索引转存入历史表,使其不影响数据库操作速度。

2.2海量小文件即时监测转发

海洋预报减灾业务工作在应用海洋观测数据尤其是实时数据时,对数据实时性有很高的要求。另外,为了能使平台数据与预报减灾部门已有的业务系统做到无缝自动衔接,几乎不需要改动已有的业务系统,采用符合标准观测数据记录格式的数据文件为数据载体是一种更适合的选择(相对于数据服务接口)。作为一个目前定位于在海洋预警监测体系内共享数据的业务平台,如何满足预报减灾业务部门对观测数据的需求,尤其是对数据文件的实时性需求,是平台设计开发过程中需要着重考虑的点。

卢博等(2017)在设计业务化海洋观测数据传输网络时,采用基于FTP协议的文件分割保存、多线程调度等方法来提高数据文件传输的效率。在与海洋预报减灾业务相近的气象领域,也存在对大量的小数据文件进行高效实时传输的需求。陆颖华等(2014)提出了一种基于实时网络状况的自适应气象数据小文件传输优化方法,通过实时调整文件压缩参数和网络传输参数以优化传输性能。杨润芝等(2015)提出了一种气象数据的内存转发模型,打通数据接收和转发,减少中间处理环节,从而提高了数据转发时效。

海洋观测资料共享服务平台当前数据文件转发的设计需求为每分钟3×l04次,为提升转发时效,我们的设计方案将数据文件的监测与转发结合起来,具体实现如下。

(1)确定了以FTP方式主动推送数据的技术路线。作为主机间通讯的应用层传输协议,FTP方式易操作、安全、稳定,是在主机间进行文件传输的有效方式。主动推送相较于数据需求方轮询获取数据等方式,会给平台数据服务器端造成较大的性能压力,但更有利于保障数据传输的实时性,满足大量的小数据文件高效实时传输的需求。

(2)与基于云平台的海量小文件存储模型结合,在内存中驻留的目录索引表之外,再引入数据推送的FTP配置信息,减少应用程序与数据库的交互。

(3)采用多线程技术来实现多节点的同步转发,同时采用多线程动态调度机制来实现线程池的管理优化。

(4)为实现可靠的数据推送,设计了一个数据文件的推送流程,在数据推送过程中有效应对各种网络或目标地故障。

2.3数据可视化及接口服务

平台提供了多种形式的数据可视化服务,包括:

(1)基于WebGIS将海洋站、浮标、岸基雷达、断面调查等站位及观测设备、观测要素等属性信息进行可视化展示,地图底图调用自海洋基础地理平台,通过应用Nginx部署反向代理,将部署在内网地址的地图服务映射到海洋信息通信专网,使内网之外的专网用户也可使用此项服务。

(2)应用Echarts结合WebGIS,从综合数据库数据服务接口获取数据,绘制展示海洋站、浮标、雷达等各种实时观测数据分要素的时间序列图,并将海洋站实时潮位观测数据与潮汐预报产品叠加展示,供海洋预报减灾业务人员分析使用。

(3)将从数据接口获取的json格式数据再组织为数据表格形式,表格形式的展示更贴近用户查看数据的经验,方便用户对数据有更直观的感受。

(4)将平台运行管理的后台数据进行可视化展示。

(5)海洋观测资料共享服务平台的数据接口服务封装自海洋综合数据库的数据接口,同样应用Nginx将部署在内网的综合数据库接口服务映射到海洋信息通信专网。封装过程中,实现了数据权限的校验,确保数据安全。

3平台功能实现

平台建设按照海洋预警监测工作的要求,依据资料的时空连续和相互影响特性,以满足区域资料应用服务为原则,向自然资源部所属各相关国家业务中心、海区机构,以及省级海洋观测资料管理机构和相关应用单位进行各项实时、延时资料的充分、及时、可靠共享。系统功能主要包括首页、实时数据、延时数据、工作台、在线监控、帮助说明、系统管理。

3.1首页

首页包括数据可视化、打包记录、通知公告、数据接收及推送情况、往日数据包下载等功能模块。在首页中对观测数据及系统文件的接收、下载等情况进行统计展示,用户可通过地图查看海洋站、浮标、雷达、断面的站位信息及实时观测数据等,也可直接下载用户自行打包或系统自动打包的数据文件。

3.2实时数据

实时数据模块可查看实时数据的原始资料、标准数据集及数据接口,用户可对实时数据按多种分类条件进行筛选、查询,可查阅数据文件内容,将跨类别的数据文件发送到打包队列中,执行打包操作后可在后台将跨类别的数据转化为一个数据包,通过生成的文件链接进行下载。

3.3延时数据

延时数据模块可查看延时数据的标准数据集及数据接口,用户可对实时数据进行筛选、查询、打包及下载操作。具体操作方式与实时数据相一致。

3.4工作台

用户可通过工作台查看自己的工作记录,包括发送了哪些数据文件到打包列表、已打包了哪些数据文件、数据下载历史及观测设施故障信息填报等内容。

3.5帮助说明

在帮助说明模块可查看系统的通知公告、数据文件说明材料、辅助用户下载的工具组件等信息。其中,数据文件说明材料包括观测站位信息(站位代码、站位编码、经纬度、行政归属、观测要素等)、数据目录结构说明、数据文件命名规则、数据记录格式说明等,辅助用户理解、应用平台共享的海洋观测数据。

3.6系统管理

系统管理权限仅对系统管理员开放,可对系统的数据、用户及权限进行配置管理。其中,每个用户从属于一个用户角色,每个用户角色对应不同的资料权限,对于每种不同的资料类型,以行政区域为单位来分别设置其资料权限。以此来实现资料权限与用户权限的解耦,以灵活的配置方式来适应用户资料共享权限的变化调整。

4平台部署应用

平台部署在海洋云平台上,部署环境为WindowsServer操作系统,4×4核2.0GHz处理器,64GB内存,2TB磁盘空间。当前在海洋信息通信专网的部署地址为http://41.3.0.6/ybjzshare,推荐使用IE11或chrome8.0以上版本的浏览器进行访问。

5结语

海洋观测资料共享服务平台上线运行以来,用户覆盖沿海各省区市的海洋数据管理机构和相关国家业务中心,为海洋预警监测体系内的资料配置流通起到了一定作用。平台设计的基于云平台的海量小文件存储模型也可应用到海洋预警监测工作的其他方面。平台后续建设在进一步做好数据共享工作的同时,也可增加海洋信息产品共享、数据质量反馈、数据在线分析等功能,为用户提供更好的海洋数据及产品服务。

摘自《海洋信息》2020年第3期