• 中文核心期刊
  • 中国科技核心期刊
  • ISSN 1007-6336
  • CN 21-1168/X

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

一种通用的海洋环境监测系统设计方法

胡克勇 耿润田 沈飞飞 武曲 郭忠文

引用本文:
Citation:

一种通用的海洋环境监测系统设计方法

    作者简介: 胡克勇(1986-), 男, 山东青岛人, 博士, 主要研究方向为海洋信息处理, E-mail:hukeyongouc@163.com;
  • 基金项目: 国家自然科学基金(61572448);山东省中青年科学家科研奖励基金(ZR2016FB21;ZR2017BF043)
  • 中图分类号: X84

Universal design method of ocean environment monitoring systems

  • 摘要: 提出一种通用的海洋环境监测系统设计方法,将海洋环境监测系统分为采集层、数据层以及应用层三个层次,并分别描述了三层中采用的关键技术,采集程序结合配置工具可以灵活地实现多源异构数据的获取,数据库可以无更改地满足新的存储需求,基于功能模块库实现应用客户端的快速生成。该方法已应用在基于国际海洋标准IEEE P2402的监测系统开发中,通过不同的监测系统开发案例,展示了该方法的可行性及有效性。
  • 图 1  海洋环境监测系统层次架构

    Figure 1.  Layer architecture for ocean environment monitoring systems

    图 2  监测对象关系

    Figure 2.  Relation between monitoring objectst

    图 3  数据采集程序结构

    Figure 3.  Structure of data collection software

    图 4  XML数据文件配置

    Figure 4.  Configuration for XML data file

    图 5  海面风随时间的变化曲线

    Figure 5.  Temporal variation curve of surface wind

    图 6  盐度等值线

    Figure 6.  Contour map of salinity

    图 7  海流纹理

    Figure 7.  Texture map of ocean current

    表 1  原数据表

    Table 1.  Original data table

    下载: 导出CSV

    表 2  原数据表增加PH参数后的结构

    Table 2.  Structure of original data table with additive PH parameterp

    下载: 导出CSV

    表 3  参数表

    Table 3.  Parameter table

    下载: 导出CSV

    表 4  本文设计数据表

    Table 4.  Data table in this paper

    下载: 导出CSV

    表 5  应用案例

    Table 5.  Application cases

    下载: 导出CSV
  • [1] SEIM H E, FLETCHER M, MOOERS C N K, et al.Towards a regional coastal ocean observing system:an initial design for the Southeast Coastal Ocean Observing Regional Association[J].Journal of Marine Systems, 2009, 77(3):261-277. doi: 10.1016/j.jmarsys.2007.12.016
    [2] 陶冠峰, 隋伟娜, 赵辉, 等.海洋环境监测数据集成系统的研究与实现[J].海洋环境科学, 2017, 36(2):281-283, 290.
    [3] FLETCHER M, CLEARY J, COTHRAN J, et al.Southeast Atlantic Coastal Ocean Observation System (SEACOOS) information management:evolution of a distributed community system[J].Marine Technology Society Journal, 2008, 42(3):28-34. doi: 10.4031/002533208786842589
    [4] 胡克勇, 车兆东, 沈飞飞, 等.海洋传感观测服务柔性开发技术研究[J].中国海洋大学学报, 2014, 44(12):115-122.
    [5] PROCTOR R, ROBERTS K, WARD B J.A data delivery system for IMOS, the Australian integrated marine observing system[J].Advances in Geosciences, 2010, 28:11-16. doi: 10.5194/adgeo-28-11-2010
    [6] JONES D W, OLSONBAKER J I.Developing best practices for IOOS web portals[C]//Proceedings of OCEANS 2009.Biloxi, MS, USA: IEEE, 2009: 1-6.
    [7] OGC 09-127r2, OGC® PUCK protocol standard[S].
    [8] TILAK S, HUBBARD P, MILLER M, et al.The Ring Buffer Network Bus (RBNB) DataTurbine streaming data middleware for environmental observing systems[C]//Proceedings of the 3rd IEEE International Conference on e-Science and Grid Computing.Bangalore, India: IEEE, 2007: 125-133.
    [9] AMES D P, HORSBURGH J S, CAO Y, et al.HydroDesktop:web services-based software for hydrologic data discovery, download, visualization, and analysis[J].Environmental Modelling & Software, 2012, 37:146-156.
    [10] IEEEStd 2402-2017, IEEE standard design criteria of complex virtual instruments for ocean observation[S].
    [11] TAHIR M, KHAN F, BABAR M, et al.Framework for better reusability in component based software engineering[J].Journal of Applied Environmental and Biological Sciences, 2016, 6(4S):77-81.
  • [1] 崔丽娜徐韧 . 两台多参数水质仪在线监测比对结果分析及方法评估. 海洋环境科学, 2019, 38(4): 634-638. doi: 10.12111/j.mes20190423
    [2] 杨梦蓉代小蓉肖航 . 象山港海水和沉积物中多环芳烃分布特征和来源研究. 海洋环境科学, 2019, 38(6): 1-8. doi: 10.12111/j.mes.20190045
    [3] 戴明刘华雪吴风霞巩秀玉廖秀丽黄洪辉 . 万山群岛海域网采浮游植物与环境因子的关系. 海洋环境科学, 2019, 38(4): 540-547, 554. doi: 10.12111/j.mes20190409
    [4] 葛在名吴正超刘子嘉周卫文董园李芊 . 去吸附法测定珠江口颗粒附着细菌的丰度特征及其环境因子耦合研究. 海洋环境科学, 2019, 38(6): 1-6. doi: 10.12111/j.mes.20190065
    [5] 申友利孙燕张守文黄子眉 . 中石化广西液化天然气项目海洋自然灾害风险评估. 海洋环境科学, 2019, 38(4): 513-520. doi: 10.12111/j.mes20190405
    [6] 高强刘韬王妍丁初晨 . 海洋生态经济系统协调发展评价研究——以海南省为例. 海洋环境科学, 2019, 38(4): 568-574. doi: 10.12111/j.mes20190413
    [7] 刘洪艳覃海华王珊 . 海洋沉积物中一株铁还原细菌ZQ21异化还原Fe(Ⅲ)性质分析. 海洋环境科学, 2019, 38(4): 508-512, 520. doi: 10.12111/j.mes20190404
    [8] 郭康丽陈洁王小冬王艳 . 两种海洋硅藻透明胞外聚合颗粒物的产生及其生态学意义. 海洋环境科学, 2019, 38(6): 1-7. doi: 10.12111/j.mes.20190053
    [9] 郭康丽陈洁王小冬王艳 . 两种海洋硅藻透明胞外聚合颗粒物的产生及其生态学意义. 海洋环境科学, 2019, 38(5): 649-655. doi: 10.12111/j.mes20190501
    [10] 李汉英张红玉王霞于红兵徐玉芬刘兴健张叶春 . 海洋工程对砂质海岸演变的影响——以海南万宁日月湾人工岛为例. 海洋环境科学, 2019, 38(4): 575-581. doi: 10.12111/j.mes20190414
  • 加载中
图(7)表(5)
计量
  • 文章访问数:  460
  • HTML全文浏览量:  481
  • PDF下载量:  8
出版历程
  • 收稿日期:  2017-11-08
  • 录用日期:  2018-01-13
  • 刊出日期:  2019-08-20

一种通用的海洋环境监测系统设计方法

    作者简介:胡克勇(1986-), 男, 山东青岛人, 博士, 主要研究方向为海洋信息处理, E-mail:hukeyongouc@163.com
  • 1. 青岛理工大学 信息与控制工程学院, 山东 青岛 266520
  • 2. 国家海洋标准计量中心, 天津 300112
  • 3. 中国海洋大学 信息科学与工程学院, 山东 青岛 266100
基金项目: 国家自然科学基金(61572448);山东省中青年科学家科研奖励基金(ZR2016FB21;ZR2017BF043)

摘要: 提出一种通用的海洋环境监测系统设计方法,将海洋环境监测系统分为采集层、数据层以及应用层三个层次,并分别描述了三层中采用的关键技术,采集程序结合配置工具可以灵活地实现多源异构数据的获取,数据库可以无更改地满足新的存储需求,基于功能模块库实现应用客户端的快速生成。该方法已应用在基于国际海洋标准IEEE P2402的监测系统开发中,通过不同的监测系统开发案例,展示了该方法的可行性及有效性。

English Abstract

  • 随着传感器技术、网络技术以及海洋科学技术的发展,越来越多的监测仪器部署于规划海域,对海域的海洋环境状态进行监测,构成了海洋环境监测网络的硬件环境[1]。监测仪器利用携带的传感器采样不同的海洋环境参数并转换成数字形式的数据,然后对监测数据进行集成、处理及分析,可以为气候变化、海洋运输等领域的应用提供数据支持以及决策依据。

    近年来,不同的海洋组织针对海洋环境监测系统开发开展了一系列研究[2-6],并形成了针对不同应用的开发工具及资源。然而,这些工具大都是专用且高度集成的,不具有通用性,无法在其他的海洋监测系统中进行复用,原因在于:在数据采集过程中,由于需要利用仪器专有的命令集与其进行交互,数据采集程序通常与仪器通信协议紧密耦合[7];在使用不同类型仪器时,需要不断进行修改以适应新协议[8];在数据存储时,数据库结构缺乏良好的可扩展性,例如,在航测基础数据库中,通常按照CTD等仪器类型分别建立航次表、站位表、海面数据表、水体实测层以及水体标准层数据表,并添加相应的海洋环境参数作为表的字段;在采用新的监测仪器或平台时,需要增加相应的表,且在监测参数发生变化时需要更改相应表的结构;另外,尽管现在已有Suffer、HydroDesktop[9]、ODV等多种可视化显示与分析工具,但无法抽取其中的功能满足特定的系统需求,导致开发效率较低。

    针对上述问题,本文提出一种通用的海洋环境监测系统设计方法,分别介绍了采集层、数据层以及应用层采用的关键技术,复用已有的工具及资源,解决了多源异构数据的获取以及客户端软件的快速生成问题。该方法已在基于IEEE P2402标准[10]展开应用,并通过多个海洋监测应用案例中对该方法的有效性及可行性进行了验证。

    • 图 1显示了海洋环境监测系统层次架构,自下而上分为采集层、数据层与应用层,囊括了从监测数据采集到可视化分析展示整个过程,下面简要描述各层的作用及层间关系。

      图  1  海洋环境监测系统层次架构

      Figure 1.  Layer architecture for ocean environment monitoring systems

      在采集层中,监测数据来自不同的源,这些监测源采用不同的监测方式,产生的数据结构也不尽相同。监测数据可以来自具体的物理监测设备,依靠其携带的传感器对海洋环境参数进行测量,并通过具体的协议命令与设备进行交互获取数据值;监测数据可以来自分析过程,通过将水样取回,在实验室中进行分析得到结果;监测数据可以来自数值模型,利用具体算法对已有的监测数据进行二次计算得到;这些数据通常以文件的形式存储结果,不同的系统其文件格式及内部数据结构都不一致,需要根据提交的文件编写数据解析程序。

      数据层需要对来自多个监测源的不同结构的数据进行集成存储,对数据进行质量控制,添加数据使用时所必需的元数据;另外,数据层还应存储:通过对某一专题范围内的监测数据进行分析整理形成产品数据;支撑区域系统运行与管理的各种业务化数据;支持基于地理信息的监测数据处理的地图/图像数据。由于海洋监测具有持续时间长、范围大、监测参数多等特点,数据库结构应具有良好的可扩展性,能够以较少的更改适应监测系统需求的变化,能够向应用层提供快速查询响应、数据导入导出等服务。

      利用数据层提供的服务,应用层能够方便地获取监测数据,利用各种工具对数据进行分析与处理,以支持海洋预报、防灾减灾、环境保护领域的各种应用。应用层的工具在功能上具有相似性,通常都具有监测数据的可视化功能、基于地理信息系统的显示功能、基于多种查询条件的数据搜索功能。

    • 由于采集的数据来自多监测源,且监测数据具有不同结构,本节首先对监测过程进行抽象,并提取出关键对象。图 2显示了对象之间的关系,责任对象即不同的海洋观测部门,负责监测项目的规划和方法对象的部署;方法对象指监测仪器及传感器,通过方法对象能够了解对监测对象的采样方式;监测对象指不同的海域,通常用站位进行表示,指明了监测发生的地点;感知对象指明了监测海域的不同海洋参数,并产生结果对象;结果对象负责记录针对不同参数产生的测量值。

      图  2  监测对象关系

      Figure 2.  Relation between monitoring objectst

      在监测过程中,由于责任对象及方法对象较为固定,从监测数据中主要提取监测对象、感知对象以及结果对象信息,设计标准数据序列结构(时间,站位标识符,参数标识符,采样值,质量标识符)。数据采集程序通过对数据流及数据文件中的信息进行提取,并转换成标准数据序列,实现对多源异构数据的统一管理。

      为了向上层屏蔽多源数据异构性,将数据采集程序分离并开发成相对独立的模块,能够有效地减少由于监测环境的改变对整个监测系统的影响,其结构如图 3所示。一方面,采集程序直接从仪器收集采样数据值,对数据进行处理,并向上层提供标准的数据序列。采集程序周期性地与仪器通信进行数据收集,建立连接,发送命令及取回数据,这些操作都封装在采集函数中。针对已有的仪器,开发人员可复用已有采集函数;针对新类型的仪器,需要根据仪器通信协议编写新的采集函数。

      图  3  数据采集程序结构

      Figure 3.  Structure of data collection software

      另一方面,很多监测数据由于采样方法的局限缺乏实时性,例如人工观测的各种类的鱼数目,这些数据通常记录在数据文件中,然后通过程序读取。当前海洋监测领域普遍使用的文件类型包括XML、CSV和TSV,利用解析程序能够对不同格式的文件自适应读取。在数据提取过程中,首先要明确文件中包含的元数据,按照文件内容配置监测站位、剖面及参数等信息;然后解析程序需要了解具体参数值及采样时间在文件中的位置。位置信息在XML文件中可以使用数据节点的可扩展路径标识,在CSV和TSV文件中则是具体参数对应的列标识符。数据解析程序按照配置信息找到参数数据位置并提取相应数据值,转换成标准结构的数据序列,图 4展示了对一个XML数据文件进行配置以提取站位和参数信息的过程。

      图  4  XML数据文件配置

      Figure 4.  Configuration for XML data file

      在取回采样数据后,通过质量控制过程对数据进行检查。整个过程主要包含两个步骤:(1)针对不完整或格式不正确的数据,对采样值进行缺失标记;(2)通过配置工具预先定义参数数据值的上限和下限,并与采样值进行比较,确保数据处于正常的范围之内,针对质量较差的数据将进一步进行人工检查。

    • 由于海洋监测数据类型较多,本节仅从航测数据说明可扩展数据库设计方法,该方法可以扩展到其他类型数据。航测数据可以分为监测元数据与监测数据,元数据从时间、空间、内容等方面对监测数据进行描述,航次信息主要包括航次号、航测起止时间、调查海区、调查机构、调查项目以及站位时间和经纬度等信息,这些信息相对比较固定,较少发生变化,因此着重考虑监测数据表的设计。

      为方便描述,以仅含有水文参数的CTD水体环境实测层数据表为例,如表 1所示,一个参数作为数据表的一列,并跟随质量符及精度符列分别作为质量和精度描述;在监测需求发生变化,需要增加监测参数时,表结构需要进行相应更改,如表 2所示。这种更改不仅会造成新增加的列中部分数据为空,使得存储效率降低,还会造成数据库表列太多,影响数据表访问及查询性能。

      表 1  原数据表

      Table 1.  Original data table

      表 2  原数据表增加PH参数后的结构

      Table 2.  Structure of original data table with additive PH parameterp

      为应对数据库表结构的修改,将监测参数单独提取出来,形成监测参数表,除了参数名,可以按照需求扩展存储单位、参数简写等其他信息;在数据表中,通过外键与参数表的VariableID产生关联,并存储采样值、质量及精度信息。如表 3所示,当增加新的监测参数时,仅需在参数表中添加一行数据即可实现,在数据表使用相应的VariableID中存储监测数据,整个过程无需更改数据库的结构,且数据表中空值极少,存储效率高,如表 4所示。

      表 3  参数表

      Table 3.  Parameter table

      表 4  本文设计数据表

      Table 4.  Data table in this paper

    • 由于不同海洋监测系统的需求各异,直接使用Suffer等工具无法满足特定的系统需求,而且这些工具大多是高度集成的,不提供源代码,无法抽取其中的功能模块,因此海洋监测系统的客户端大多是从零开发,开发周期较长,维护代价较大。

      海洋监测系统大多需要向用户提供数据查找、数据显示、数据分析等服务,通过将这些共有功能提取出来,每个功能封装成相对独立的模块,组成功能模块库;在有新的功能需求时,设计实现新的模块放入模块库中;设计人员根据系统需求从模块库中选择相应模块,按照软件工程领域的基于组件的开发方法[11],对模块进行组装,快速生成客户端。

      通过对海洋监测系统需求进行调研,目前功能模块库主要包括:

      (1) 地图导航模块:利用二维地图方式作为数据浏览的导航界面,可以直观的显示监测区域及监测系统的拓扑结构。地图导航模块利用不同的图标标识各个节点,并提供该节点简要的描述信息。

      (2) 时间曲线模块:处理时间序列的数据,显示参数随时间变化的趋势。该模块扩展了传统的二维曲线显示方式,支持多子窗口、多坐标系同时显示;用户可以方便地进行对曲线进行放大、缩小以及移动;同时,多样化的标注方式包括瞬时值、特征点、文本标注等可以帮助用户更好地对数据进行分析。

      (3) 垂直剖面模块:处理剖面数据,显示参数随深度变化的趋势,支持时间曲线模块的所有功能,所不同的是其使用垂直的深度坐标系代替了水平的时间坐标系,从而可直观显示参数的垂直变化。

      (4) 矢量场模块:以二维形式显示基于网格的海流等矢量数据,可以设置地理范围、参数类型、格点数量、数据文档或数据,支持无失真的缩放、拖拽、时间动画操作。

      (5) 等值线模块:以二维形式可视化显示基于网格的温度等标量数据,将数值相等的点连接成平滑曲线,能够清晰的显示参数在空间范围内的变化趋势。

      (6) 玫瑰图模块:统计一段时间内矢量数据如海风、海流在各个方向上的统计结果。该模块分别对矢量数据的方向和速度在十六个方向上的分布进行统计,结果包括矢量数据在各方向上的频率分布以及平均速度。

      (7) 参数关联模块:显示两个相关参数之间的变化关系。例如温度和盐度,横坐标显示温度,纵坐标显示盐度,利用一段时间内每个时刻两种参数对应的值绘制关联点,由一系列关联点可以形成关联曲线。

      (8) 数据列表模块:以列表的方式显示各参数的原始测量值。该模块有两种工作模式:实时刷新和历史显示。

      (9) 数据下载模块:提供下载监测数据的功能。通过选择时间范围以及要下载的参数,以NetCDF、XML或CSV的格式将数据保存在用户指定目录。

    • 本文所提出的设计方法已经应用到不同的海洋环境监测系统开发中(见表 5),涉及近岸监测、深水动力环境立体监测、水下传感器网络以及海上试验场等领域,下面主要以海上试验场建设技术研究和原型设计为例展示该方法的可行性及有效性。

      表 5  应用案例

      Table 5.  Application cases

      海上试验场数据集成系统包括三个节点,分别是海床基、水下试验平台、小型多参数浮标,用来监测小麦岛海域气象、水质等多种海洋参数的变化情况,海床基和水下试验平台每半年回收一次进行维护,参数采样间隔为一小时。采样数据通过无线或海底光缆方式到达本地服务器,采集程序对数据进行解析后将数据存库;客户端从数据库获取数据,利用不同功能模块实现监测数据的实时展示及历史查询等。海面风的时间曲线界面如图 5所示,窗口中包含了两个坐标系,分别用来显示海面风速和风向随时间的变化状况,用户可以移动鼠标实时查看相应时刻的观测值。

      图  5  海面风随时间的变化曲线

      Figure 5.  Temporal variation curve of surface wind

      另外,系统利用WRF-ARW模式对该海域的海洋气象参数(海面风、海面气压、海面温度、海面相对湿度)及海洋水文参数(海水温度、海水盐度、海流、海浪)进行数值模拟,并采用等值线模块、矢量场模块提供数值模拟数据的可视化展示。图 6为盐度的分布等值线,直观的反映了监测区域盐度的分布特征,图 7为海流的纹理矢量图,主要用纹理以及颜色的映射关系来反映出海流的流向和流速,对于海流漩涡的表现有良好效果。通过设置参数,可以查看不同经纬度、不同水深以及不同时间范围的盐度和海流状况,并可对图像进行放大缩小以进行细粒度查看,点击播放则可对不同时刻的盐度和海流状况进行连续显示,从而了解其一段时间内的变化趋势。

      图  6  盐度等值线

      Figure 6.  Contour map of salinity

      图  7  海流纹理

      Figure 7.  Texture map of ocean current

    • 针对海洋监测领域存在的多源异构数据的获取、数据存储结构不合理以及应用程序低效重复开发的问题,本文提出了一种通用的海洋环境监测系统设计方法,将系统划分为采集层、数据层以及应用层,基于配置而无需修改程序的方式,实现了从仪器及数据文件获取监测数据,设计了可扩展参数的数据库结构,设计了可复用的功能模块库以快速生成客户端,从而保证海洋环境监测系统的高效快速构建。在以后的工作中,一方面,数据采集程序要逐步囊括各种类型的仪器及不同的文件类型,另一方面要不断扩充模块库的内容,逐步实现海洋环境监测系统的零编程开发。

参考文献 (11)

目录

    /

    返回文章