APP下载

海洋环境综合监测信息系统的设计与实现

2016-10-25张翼飞成方林

海洋技术学报 2016年4期
关键词:业务流程报文观测

李 博,叶 颖,王 斌,张翼飞,成方林,郭 海

(国家海洋技术中心,天津 300112)

海洋环境综合监测信息系统的设计与实现

李博,叶颖,王斌,张翼飞,成方林,郭海

(国家海洋技术中心,天津300112)

针对海洋观测预报与防灾减灾工作对海洋水文气象观测数据智能化管理的业务需求,提出了数据分级管理的技术方案。采用基于面向对象的软件工程思想和基于WPF框架的软件开发技术,实现了海洋水文气象管理信息系统的模块化设计与智能化开发。该系统可实现数据实时获取、比对分析、记录查询、业务应用等。

水文气象;智能化;WPF框架;海洋灾害

20世纪80年代以来,为了有效应对海洋灾害,提升海洋环境预报水平,在我国沿岸、部分海岛和海洋平台上建立了海洋观测站(点),以长期、连续、实时在线的获取海洋水文气象数据[1]。然而,长期以来我国海洋水文气象观测数据在管理和使用上存在数据共享不畅通、数据格式不统一以及数据管理方式不合理等问题,严重影响了观测数据的质量,并影响到海洋灾害预报的准确性。因此,开发出功能齐备、信息完整、界面友好的海洋环境综合监测信息系统,实现快速、有效、准确、标准化地对海洋水文、气象数据进行存储、处理、显示尤为重要。

该系统基于SQL-Server数据库的数据管理技术,结合数据分级管理的方案对观测数据进行存储和处理,以基于UML的面向对象软件设计思想实现系统的分析与设计,以基于WPF-Framework的软件开发框架实现系统的灵活开发。

1 系统主要功能简介

当前我国海洋环境监测系统大多参照《GBT 14914-2006海滨观测规范》中的要求。观测要素包括风速、风向、气温、相对湿度、气压、降雨、能见度等气象要素;海水温度、海水盐度、潮位等水文要素。其中,水文要素以北京时24时(不含24时)为日界,气象要素以北京时20时(不含20时)为日界。此外,系统还需为其他观测要素(如:叶绿素、溶解氧、波浪等)提供接口。

因此,海洋环境综合监测信息系统要完成对多种来源、多种时相、多种精确度要求的海洋观测基础数据进行存储与管理,并具有一定的可扩展性。可满足实时数据、历史数据、整点数据的显示、查询、处理、补录等功能。同时,根据海洋观测预报的业务需求,可支持灵活生成各类报表。此外,该系统既可实现将观测数据上传至各级海洋环境预报部门,又可满足海洋台站本地使用。根据系统模块化设计的需要,还需留有对外可进行二次编程的接口。系统功能分析用例图如图1所示。

图1 系统功能分析用例图

2 系统业务流程建模

2.1建模方法研究

目前在业务流程建模和管理领域,比较常用并且有效的业务流程分析与建模工具有事件驱动过程链(EPC)、Petri网、UML活动图、业务流图、数据流图等[2]。由于每种表示方法的复杂程度各不相同,它们的适用范围也不一样。其中,数据流图主要用于结构化的软件设计中,其优势在于描述数据在软件各模块之间的流程,并对其内部结构进行建模。UML活动图从角色行为的角度描述业务活动,主要适用于面向对象的系统分析与开发。业务流图主要用于系统需求分析,用来跟踪信息持有者交流以获取业务流程。数据流图、UML活动图以及业务流图均具有图形化的表示方法,与EPC和Petri网相比,它们表示方法比较简单直观。其中,UML活动图在用户和软件设计人员中接受程度较高,可方便与用户交流并获取业务流程。因此,采用UML活动图对海洋监测综合系统的业务流程进行建模[3]。

2.2业务流程分析

对海洋环境综合监测信息系统的业务需求进行分析,采用UML的活动图对海洋环境综合信息系统的业务流程进行建模。主要的业务流程包括:(1)接收实时观测数据、数据存储与显示等基于实时数据的功能。(2)调用前端机中的历史数据完成对存储数据进行更新操作。(3)提供对外服务的接口,支持数据查询与智能化显示、数据报表生成与对外发布等[4]。

其中,数据存储的方式是多重存储。体现在同一数据既要存储到本地数据库中又要存储到相应的文件中。存储在本地数据库中的数据既可用于本地管理与存储,也可用于数据的查找和对外提供二次开发接口。存储在文件中的数据以文本文件的格式被传输至海洋环境预报单位。

此外,对进入数据库中的数据进行分级管理,细化为临时存储数据和永久存储数据。临时存储数据存储在临时数据表中,存储当前小时进入数据管理系统的数据,并在后续小时数据进入系统后将临时数据表中数据插入最终数据表中。临时数据表限定数据量阈值,超过设定阈值后临时数据表数据将被自动删除。最终数据表每个观测要素一个表,记录该要素当天数据,包括该要素当天各整点数据值、数据极值和当天每分钟的数据值,该表存放的数据为永久存储数据。

图2 实时数据处理业务流程图

图3 补录数据业务流程图

图4 数据服务业务流程图

3 系统功能模块设计

根据系统分析阶段的业务流程,可以将系统细化为数据采集模块、数据处理模块、数据存储模块以及数据显示模块。针对海洋环境综合监测信息系统在实际使用中的业务,各模块的功能如下所述:

数据采集模块:读取前端观测系统的数据、对数据有效性进行分析、数据格式的标准化操作、向前端观测系统发送数据请求命令、校时命令等。

数据处理模块:解析水文观测要素数据、解析气象观测要素数据、解析系统状态数据、数据封装、数据质量控制、编制数据报表、存储数据报表等。

数据存储模块:生成数据文件、数据入库、数据库表更新、数据查询等。

数据显示模块:实时数据显示、数据完整性检查、历史数据显示、数据发布等。

为实现上述功能模块,设计了数据处理类、数据存储类、二次开发类等。系统的类图如图5所示。

图5 系统类图

4 系统数据库设计

4.1数据库逻辑结构设计

海洋站水文气象观测数据要在海洋观测站、海洋中心站、海区预报中心及国家预报中心等各单位使用,其中海洋观测站端仅使用本站数据,海洋中心站使用本中心站下属各海洋站数据,海区预报中心使用本海区下属各海洋站数据,国家预报中心使用所有海洋站的数据,这些数据是连续不间断产生和使用的[5]。因此,在进行数据库设计时,必须考虑大规模数据的存储问题。在建立数据库的同时,构建出符合海洋观测预报业务的数据模型,设计了临时数据存储表、以及各观测要素的数据永久存储表。其中,临时表每个要素每小时一行数据,用于存放近3 d每分钟生成的实时据。数据存储表每个要素每天一行数据,用于存放整点值数据、极值数据以及该天每分钟数据。

4.2数据库触发器设计

结构化查询语言Structure Query Language(SQL)是专门为数据库建立的操作命令集,是一种功能齐全的数据库语言。SQL主要由两部分组成:DDL(Data Definition Language)和DML(Data Manipulation Language)。其中,DDL是建立数据库表及列的指令群,DML是操作数据库记录的指令群。以下SQL语句实现了海洋水文气象数据库触发器的设计。

上述两段程序分别以潮位(WL)数据和气温(AT)数据为例,实现了水文要素和气象要素的数据临时表向正式表的级联更新。其中,水文要素更新是指将本时刻00分作为时标的数据更新至正式存储表该小时时标的位置,气象要素更新是指将上一时刻00分作为时标的数据更新至正式存储表本小时时标的位置。

5 系统实现

5.1软件开发环境

本系统采用Visual Studio C#2010作为软件开发平台,以WPF软件开发框架和SQL Server2005为数据库的系统开发模式。

其中,WPF是微软新一代图形系统,运行在.NET Framework 3.0及以上版本,为用户界面、2D/3D图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。程序员在WPF的帮助下,开发出媲美Mac程序的界面已成为可能。WPF相对于Windows客户端的开发来说,向前跨出了的一大步,它提供了超丰富的.NET UI框架,集成了矢量图形,丰富的流动文字支持 (flow text support),3D视觉效果和强大无比的控件模型框架。基于DirectX引擎,支持GPU硬件加速,在不支持硬件加速时也可以使用软件绘制。高级别的线程绘制,可提高使用者的体验[6]。

SQL Server 2005能提供大型系统所需的数据库服务,可实现成千上万的用户同时连接。SQL Server 2005为这样的环境提供了全面的保护,具有防止问题发生的安全措施,可在多个用户之间有效地分配可用资源(如内存、网络带宽和磁盘I/O)。对于数据量规模较大的系统,可将数据分开存放在多台服务器上,从而使处理负荷分散到多台计算机上,使站点能为成千上万的并发用户提供服务。此外,还可以在一台计算机上运行多个SQL Ser-ver 2005实例[7]。

5.2对外服务接口

根据系统支持灵活添加观测要素的需求,设计了对外服务的接口,供系统外用户调用。接口内实现的函数如下所述:

(1)int operadb()函数。

输入参数:数据库名、数据源名称、数据库登陆密码、SQL语句。

返回结果:0或1。

说明:操作数据库后的结果。返回1表示操作成功,返回0表示操作不成功。

(2)DataTable selectdb()

输入参数:数据库名、数据源名称、数据库登陆密码、SQL语句。

返回结果:DataTable类型数据表格。

说明:查询数据结果。

(3)int real_data_insert()

输入参数:数据类型、站点名称、数据时间、当前数据。

返回结果:-1,0,1。

说明:时数据对外操作接口。返回-1表示数据异常,返回0表示插入数据失败,返回1表示数据插入数据成功。

(4)int zrdata_insert()

输入参数:数据类型、站点名、数据时间,当前数据。

返回结果:-1,0,1。

说明:整日数据补录。返回-1表示数据异常,返回0表示插入数据失败,返回1表示数据插入数据成功。

(5)int hisdata_insert()

输入参数:站点名、数据类型、数据时间,当前数据。

返回结果:-1,0,1。

说明:原始数据补录,即对应每小时的60个数据进行补录。返回-1表示操作异常,0表示操作未成功,1表示操作成功。

5.3系统试运行

利用5.1中论述的软件开发工具,对海洋环境综合管理信息系统进行开发,并在国家海洋技术中心近海室岸基观测课题组进行现场测试。

其中,前端数据采集器使用国家海洋技术中心研发的XZY-3型海洋站水文气象自动观测系统,可实现对海洋水文气象各观测要素的获取。实验环境如图6所示。

图6 海洋环境综合监测信息系统实验

5.3.1实时数据获取与显示系统通过RS232获取前端采集系统的数据,对数据进行解析后实时显示,并形成数据文件、存入数据库。如图7所示。

图7 实时数据显示界面

5.3.2历史数据补录与查询利用系统对外提供接口中的hisdata_insert()、selectdb()等函数,可实现对采集系统中历史数据进行补录、智能化显示等,如图8。

图8 历史数据补录及显示界面

5.3.3数据报表解析与生成利用系统对外接口中的selectdb()函数进行二次开发可实现数据报表的解析和生成。报表解析功能为:读取串口数据,数据完整性分析、数据处理等。其流程如图9所示。

图9 报文解析流程图

报文生成功能主要有:读取数据、数据查询、编写标题记录、数据格规整、报文数据完整性检查、填写备注、报文存储。其流程图如图10所示。

图10 报文生成流程图

根据上述流程图,开发了月报报文模块及实时报文模块,并集成至信息系统。如图11~图12所示。

图11 月报报文模块

图12 实时报文模块

6 结论

本文建立了海洋环境监测综合管理信息系统,该系统以数据分级存储和观测参数灵活配置为特点,实现了海洋观测数据的自动化管理,有效降低了海洋观测系统的管理成本,同时系统为海洋观测数据的模块化管理和使用提供了对外接口。通过对海洋水文气象观测参数的实时数据读取与显示、历史数据查询、报表管理等功能,验证了系统对外服务接口的可用性,为今后开展全要素海洋综合观测系统的信息化建设奠定了技术基础。

[1]秦明慧,李平,戴永寿,等.海洋台站数据管理及动态发布系统的设计[J].海洋预报,2010,27(3):66-71.

[2]赖信仁.UML团队开发流程与管理[M].北京:清华大学出版社,2012.

[3]百度.工作流程引擎[OL].[2014-6-4]http://baike.baidu.com/view/1636259.htm.

[4]李博,王斌,叶颖,等.海洋水文气象数据管理系统的模块化设计与实现[J].海洋开发与管理,2015,32(4):49-52.

[5]韩家新.中国海洋环境监测系统:海洋站和志愿船观测系统的建设与运行[J].海洋技术,2003,22(1):49-57.

[6]王斌,叶颖,郭海,等.基于混合通信的海洋综合监测系统软件设计[J].计算机测量与控制,2015,23(12):4225-4228.

[7]刘维学.SQLserver查询优化器原理与优化实力分析[J].计算机技术与发展,2013,23(11):108-111.

Design and Implementation of a Complex Ocean Observation Information System

LI Bo,YE Ying,WANG Bin,ZHANG Yi-fei,CHENG Fang-lin,GUO Hai
National Ocean Technology Center,Tianijn 300112,China

Tomeettheoperationaldemandofintelligentmanagementtowardmarinehydrologicaland meteorological observing data serving marine disaster forecasting and reduction,a data classified management method is proposed in this paper.The object-oriented software engineering scheme and related technique based on WPF framework are deployed to fulfill the modular design and intelligent development for the complex ocean observation information system.The proposed system can support several functions,such as real-time data acquisition,data comparison and analysis,historical record inquiry and operational data application.

hydrology and meteorology;intelligent management;WPF framework;marine disasters

X84

A

1003-2029(2016)04-0044-06

10.3969/j.issn.1003-2029.2016.04.009

2016-01-16

海洋公益性资助项目“海洋动力环境观测仪器设备综合测试平台技术研究与应用示范”(201305033)

李博(1984-)男,工程师,研究方向为计算机软件工程、海洋观测技术。E-mail:tjut001@126.com

猜你喜欢

业务流程报文观测
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
天文动手做——观测活动(21) 软件模拟观测星空
企业财务管理、业务流程管理中整合ERP之探索
互联网+背景下物流公司的业务流程再造
2018年18个值得观测的营销趋势
建设项目全过程造价管理咨询服务的业务流程分析
基于财务业务流程再造的ERP信息系统构建探析
可观测宇宙