海上平台水文气象数据监测系统的设计与实现
2018-01-03李文倚庞长才张天一
李文倚 武 鹏 庞长才 张天一
(中海油研究总院 北京 100028)
海上平台水文气象数据监测系统的设计与实现
李文倚 武 鹏 庞长才 张天一
(中海油研究总院 北京 100028)
基于.NET开发平台和云存储、并行计算、多线程和应用程序托管等技术设计并实现了面向海上平台水文气象数据的监测系统。系统集海量数据的采集、发送、处理、管理和可视化于一体,解决了海上平台的风、海流、波浪、泥温和盐度等海量水文气象数据难以采集、无法远程快捷智能传输、难以进行有效处理和挖掘以及难以可视化的问题。为长期有效获得并处理海量连续水文气象观测数据,进而提供有效水文气象信息指导给出了解决方案。
海上平台 海量数据 高频采集 数据处理 可视化
0 引 言
海上平台水文气象数据是海上油气田开发各个阶段的重要基础数据之一,由于海上条件的限制,海上油气田区域长期连续的水文气象观测数据十分缺乏,传统的浮标和潜标方式投入大、观测时间短,数据监测作用受限[1]。由于水文气象数据具有高频采集特点,一个监测点一年的数据量达近亿条规模,形成海量数据,同时鉴于平台条件所限,相应应用程序的运行需要自动化无人值守,相应数据的传输也受到平台通信网络带宽和传输速度的限制[2]。基于以上特点,海上平台的风、海流、波浪、泥温和盐度等海量水文气象数据监测面临难以采集、无法远程快捷智能传输、难以进行有效处理和挖掘、难以可视化,进而无法有效和科学利用的问题。
本文针对海上平台水文气象环境条件研究领域[3],基于.NET开发平台,采用分布式架构,结合数据仓库和云存储技术,设计与实现了海上平台水文气象监测系统。除了有效的数据采集外,同时集成了完善的海量数据接收、数据解析、数据加解密、数据处理、数据入库和数据可视化等过程,形成了一整套面向水文气象数据的海上平台水文气象数据一体化自动数据监测系统。系统革新了目前通过将监测数据按一定时间进行传统人工拷贝传输再进行线下处理的方式,实现了海上平台端到目标数据中心端之间,海量数据的不间断持续入库、处理与数据管理和可视化,为海上平台设计环境条件研究,油气田开发生产提供了全面、翔实的水文气象数据与信息支持。
1 系统总体架构
系统总体结构如图1所示,主要包括:(1) 数据采集;(2) 数据发送服务;(3) 数据处理;(4) 数据管理与可视化四个部分。其中数据采集部分负责对水文气象监测仪器采集的实时数据生成序列化文件及对监测要素的实时显示。数据发送服务负责在平台端将监测数据按一定的时间间隔定时发送到目标数据中心。数据处理部分负责在数据中心端接收传输的风、海流、波浪、泥温、盐度等数据[4],并对数据进行处理后存储到数据库。数据管理与可视化部分实现对所有数据的管理,可以实现任意时间段数据的按需查询,并可以经过一定的数学计算和数据加工按需形成数据曲线、剖面图及多种关键统计指标[5]。
图1 系统总体结构图
2 系统的设计与实现
本文设计实现了面向水文气象海量数据采集、发送、处理、管理和可视化于一体的综合应用平台。整个系统采用分布式架构处理多个平台数据传输请求并进行数据处理。
本文首先设计实现了平台端数据采集模块,通过分析不同被监测对象的多种不同属性,数据采集模块综合了各监测设备的被监测数据对象的多种不同属性。气象参数主要包括气压、气温、湿度、风速及风向。海流主要包括波长、周期。海浪包括波高、周期、方向谱。把这些数据分别统一生成标准序列化文件作为系统接收采集设备的标准数据文件。标准化数据文件满足一定数据格式,通过各监测设备的数据接口按一定的时间间隔(时间间隔采用可配置方式,可按需配置,时间间隔可根据网络条件、实时性要求进行调整)生成,作为数据发送服务的发送对象。同时,平台端提供仪表盘功能,实现监测数据的实时解析并将数据组织成特定意义的要素(比如风速和风向)进行显示,为平台生产端提供气象实时数据支持。
其次,在通过数据采集获得标准化数据文件的基础上,本文采用WINDOWS服务的方式设计并实现了数据发送服务。数据发送服务重点实现了自动化无人值守功能,用于自动发送标准化数据文件。此数据发送服务是数据自动传输的核心,解决了平台通信网络带宽和传输速度的限制问题。该模块采用了C/S模式实现了程序托管。除此之外,为了确保数据发送服务持续正常的运行,设计并实现了系统级程序监控服务对数据发送服务进行全程监控,在无人值守的情况下,自动应答并处理各种异常(如软件意外关闭、网络中断、系统宕机等),自动激活数据发送服务。数据发送服务通过定时轮询机制,定时抓取待发送的数据文件,并对待发送的数据文件进行压缩与加密,压缩率达到八分之一,同时支持断点续传功能。传输层协议使用TCP,应用层基于FTP协议将压缩加密后的数据包发送到目标数据中心,能够很好地适应带宽网络较小的条件进行持续不间断地数据发送,数据发送相关服务的逻辑结构如图2所示。
在数据发送服务的基础上,本文设计了数据处理模块,数据处理模块包括数据接收服务,主要依据每个平台的数据发送请求,形成队列处理作业,处理作业自动完成数据文件的接收,并把数据文件存储在指定的数据共享目录。数据接收服务是数据处理模块设计和实现的基础,数据接收服务除了将数据文件存储在共享目录,还将数据推送到核心数据处理流程,通过对数据接口的管理、数据预处理和数据解析入库等流程将数据存储到数据库中,如图3所示。
图3 数据处理流程示意图
本文特别针对海量数据的特点,对于存储需要面对高频采集的海量数据,存储架构上充分考虑了数据的持续增长、数据读取和数据处理的效率问题。数据存储模块采用分布式架构进行设计和实现,设置了一个主服务器、多个数据存储服务器。主服务器部署数据接口管理模块及数据接收作业调度程序。数据接口管理模块首先把接收的原始文件保存到文件服务器,同时数据接口管理模块针对接收的数据包文件进行格式检查,对符合格式规范的文件包进行分类,把风、海流、波浪、泥温等数据包文件放置到各类数据处理作业中。数据接收作业调度程序,负责把数据存储到不同的数据存储服务器,同时通过对数据预处理服务器的计算资源的检测,自动判断启动数据预处理模块。数据预处理模块采用多线程处理和并行计算模式完成多个平台的风、海流、波浪、泥温和盐度等多类数据质量检查、数据滑动平均等处理流程,示意图见图4。在完成预处理后把数据存储到数据存储服务器的数据库中,比如针对风数据进行的滑动平均计算,将原始1秒采样数据通过计算转换为1分钟、3分钟及1小时平均数据,转换后数据同步存入到数据库中。数据质量检查包括对采集数据的合理性和时间连续性进行检查,对不符合检查标准的数据自动标注为异常数据,为以后数据深度应用与挖掘提供支持。
图4 多平台多种数据并行处理示意图
数据管理与可视化模块采用B/S架构,综合了图形图像技术、数据库技术、AJAX技术,基于ASP.NET、Javascript和C#进行开发。该模块在数据存储中基于数据仓库技术[6]和云存储[7],应用了“块+时间”双索引,在数据库中建立DATApacket表(如图5所示)用于存储接收的文件数据包信息,主要包括PackDataID、数据起始时间(DataStartTime)及数据结束时间(DataEndTime)等。同时建立各数据表,以风数据表为例(如图6所示),主要包括所在包ID(PacketDataID)、接收数据时间(WindTime)及数据属性。在查询时,通过“块+时间”双索引检索解决了时间单索引情况下的查询超时问题,使数亿条海浪数据的查询速度达到常规数据的查询速度。
图5 DATApacket表
图6 风数据表
在处理风、波浪、海浪的月度和年度等统计数据中采用了空间换时间的策略,在对海量数据进行统计时,并不对数据进行实时处理,而是在后台定期完成常用数据的统计并将统计结果进行存储。在前台展示需要读取相应数据并进行处理的时候,先自动搜索中间存储,如果中间存储有满足要求的数据,直接调用中间存储结果进行二次处理,前台可以快速展示相应处理结果(如图7所示),总体处理效率提升近百倍。完成数据处理后,绘制各类数据的曲线图、玫瑰图(如图8所示)等。
图7 某平台风数据月度平均数据
图8 某平台风速分布风向玫瑰图
内部终端用户和外部终端用户通过门户系统,按照相应授权,通过系统认证可以在线访问相应数据,对数据和相应信息进行浏览、下载等操作。例如:可以依据不同的时间段下载历史水文数据;可以通过数据仪表盘观察一定时间点和时间段的风、海流、波浪、泥温和盐度等平台水文气象情况。
3 应用案例
截止目前已通过本系统分别采集了9个平台的水文气象监测数据,实时不间断数据传输,入库数据量百亿条。如南海东部某平台,距离数据中心2 000多公里,实测平均传输速度仅为16.07 KB/s,原监测为自容方式,过一段时间须更换存储,把存储数据的介质拿回到数据中心处理后才能进行具体应用。数据采集周期长且质量无法保障。该平台部署海上平台水文气象数据监测系统后,局域网授权用户每时每刻都能浏览、下载该监测到的最新数据,并可快速浏览每年、月的统计图表,能够为海上平台设计环境条件研究,油气田开发生产提供综合的水文气象数据信息支持。
4 结 语
本文设计并实现了面向海上平台水文气象数据的监测系统,该系统给出了远程海量数据批量采集,窄带宽不间断传输,海量数据存储、管理和可视化的技术解决方案,在实际工作中取得了很好的应用效果。 在下一步工作中,可以引入GIS技术,实现气象观测点的查询导航及气象格点数据的动态显示功能[8],进一步提高水文气象数据监测系统的应用支持能力和适应性。
[1] 刘在科,李家钢,雷方辉.海上油气平台水文气象监测系统标准化研究[C]//2015年深海能源大会论文集,2015.
[2] 王亚丁,唐军武,徐俊臣,等.海洋观测水文气象通用数据采集器架构设计[J].海洋技术学报,2013,32(2):11-15.
[3] 张喜验.海洋台站自动化观测系统模块化的实现[J].海洋技术学报,2000,19(3):21-25.
[4] 李民,袁新,刘勇,等.国内大型海洋水文气象资料浮标的现状及发展方向[J].气象水文海洋仪器,2002(2):1-4.
[5] 马瑞,周谢,彭舟,等.考虑气温因素的负荷特性统计指标关联特征数据挖掘[J].中国电机工程学报,2015,35(1):43-51.
[6] 沈飞飞,郭忠文,胡克勇.一种海洋环境数据存储模型设计与应用[J].中国海洋大学学报(自然科学版),2015,45(6):122-127.
[7] 赵芳云,张明富.基于云存储的海量海洋监测数据平台设计[J].舰船科学技术,2016,38(13):143-148.
[8] 刘健,姜晓轶,范湘涛.海洋环境信息可视化研究进展[J].海洋通报,2014(2):235-240.
DESIGNANDIMPLEMENTATIONOFOFFSHOREPLATFORMHYDROMETEOROLOGICALDATAMONITORINGSYSTEM
Li Wenyi Wu Peng Pang Zhangcai Zhang Tianyi
(ResearchInstitute,ChinaNationalOffshoreOilCorporation,Beijing100028,China)
Based on the .Net development platform and cloud storage, parallel computing, multithreading and application hosting technology, a monitoring system for the hydrometeorological data of offshore platforms is designed and implemented. The system had integrated the collection of massive data, data send, data processing, data management, and data visualization. The system solved issues that massive hydrometeorological data of offshore platform environment, such as the wind, the ocean currents, the waves, the mud temperature and the salinity were difficult to collect, including the issues that the massive hydrometeorological data was unable to transmit remotely, intelligently and quickly, and the issues that hydrometeorological data were difficult to effectively deal with, to visualize and to mining. The results show that the system can effectively obtain and process massive continuous hydrological and meteorological observation data. Therefore, our system provides an effective solution of hydrometeorological information guidance.
Offshore platform Massive data High frequency collection Data processing Visualization
2017-02-22。李文倚,高工,主研领域:企业信息集成,数据库应用系统。武鹏,高工。庞长才,工程师。张天一,工程师。
TP311
A
10.3969/j.issn.1000-386x.2017.12.062