海底观测网络数据管理系统设计
2019-06-26陈杰张晓楠蔡玉龙高皜刘杰李正宝
陈杰, 张晓楠, 蔡玉龙, 高皜, 刘杰, 李正宝
(齐鲁工业大学(山东省科学院),山东省科学院海洋仪器仪表研究所,山东 青岛 266001)
海洋是地球的动态引擎,驱动能量传输和基本循环,对全球的气候变迁、生态循环、物种繁衍、人类进化等具有举足轻重的作用[1]。海底观测网能够长期实时、连续获取海洋物理、化学、地质、生物等观测数据,对于海洋科学研究、海洋环境保护以及海底资源勘探与开发都具有十分重要的意义[2-3]。近年来,海底观测网络的研究与建设已经成为国际海洋研究领域的热点[4]。
数据管理系统(data management system for seafloor observatory network, SON-DMS)是海底观测网络的数据核心、控制核心,是连接远程用户与海底设备之间的纽带[5]。在海底观测网络运行过程中,SON-DMS需要与海底设备建立实时通信链路,采集各类传感器数据和状态数据;需要管理成百上千种仪器并对设备运行状态和故障进行实时监控和应急处理。同时,SON-DMS需要对实时采集的数据进行解析、存储、显示、管理等,为用户提供数据服务。因此,SON-DMS已经成为海底观测网络的重要组成部分,设计开发自适应、可扩展、开放式的SON-DMS成为海底观测网络的重要研究内容。
目前,国内外开展的海底观测网络研究中,比较成熟的海底观测网信息系统主要是VENUS和NEPTUNE的信息管理系统(data management and archiving system, DMAS)。DMAS能够将海底观测数据通过互联网共享给全球用户,在线查看观测的视频、传感器数据等观测资料。管理用户可以对设备进行在线控制,例如在线开启其海底摄像头[6-8]。但DMAS以文件系统形式保存观测数据[9],其观测数据比较分散,对历史数据的查询分析和数据产品制作等处理难度大、效率低。随着国内海底观测网络研究的发展,相关研究单位也开发了一些观测网SON-DMS。但是这些系统的功能比较单一,或只适用于其对应的局域观测网,难以完全满足海底观测网动态管理和自适应控制的需求。本文通过分析海底观测网在通信、管理、故障诊断、数据质量控制等方面的系统需求,构建了SON-DMS的功能模型,设计了SON-DMS关键技术的相关实现算法,给出了系统的实现方案并通过海试验证了系统的性能。
1 系统分析
海底观测网络是一个比较庞大的观测系统,通过铠装海底光电复合缆连接成百上千种科学观测仪器,实现海底大范围的长期实时连续观测。在网络运行过程中,SON-DMS需要实时接收、存储海量采集数据,这些数据在存储格式、采集频率、数据质量等方面存在差异,设计高效的海量数据自动接收、解析和存储算法,实现海量数据实时并发接收及异构解析功能成为SON-DMS的基本功能。同时SON-DMS还需要对海底连接的上千种仪器设备实现动态管理,这些仪器的数量、种类、数据格式、指令格式、供电通信格式、布放位置等存在较大差异,采用可扩展的设计模式,实现海底观测仪器动态管理成为SON-DMS的又一重要功能需求。而且,海底观测网络需要实时监测海底设备能源分配状态、通信信道状态、舱内环境参数、传感器状态等水下接驳设备与传感器的状态参数,并对异常和故障进行快速诊断和分级处理。因此,实现故障诊断和自处理能力是SON-DMS系统设计的又一关键需求,能为海底观测网络长期稳定可靠运行提供重要保障。最后,海底观测网络还需要对接收的数据进行质量控制、产品制作等处理,为用户提供多类型、多学科海洋数据可视化展示平台,采用可视化展示分析技术实现智能交互是SON-DMS的关键技术和难点[10-13]。
通过上述分析,我们建立SON-DMS功能模型如图1所示,该模型从数据通信、设备管理、数据处理、数据产品方面对SON-DMS功能进行了分解:
(1)数据通信。SON-DMS要接收海底观测仪器通过光缆上传的数据,必须具有网络通信的功能。数据通信部分要能够达到以下要求:同时处理多个网络连接,对每个连接进行IP判断,保证通信数据的完整,能够正确收发数据,能够转发控制指令。
(2)设备管理。整个海底观测网络会有多个节点,每个节点会有数个接驳盒,每个接驳盒可以接有多种传感器。每种设备的IP地址、通信协议、通信数据格式等都会有所区别。SON-DMS必须具备设备管理功能,管理系统的节点信息和子系统信息,同时可以查看节点信息及子系统信息内容,并且可以添加、修改相关信息,保证设备增加或者删除时,系统能够以最短的时间适应这些动态变化。
(3)数据处理。SON-DMS的核心是为了获取、存储海洋数据,而设备上传的数据可能是采集到的“源数据”,SON-DMS必须要区分不同类别的数据,然后经过相应的公式换算得到用户“可理解”的数据,再将这些数据依据各自的时间信息存储到数据库指定的数据表里面。SON-DMS需要解析存储观测数据、状态数据、故障数据并对异常进行自动监控及报警。
(4)数据产品。为了对数据进行直观显示,SON-DMS需要将数据制作成数据产品展示给用户,以数据表格或者曲线形式对实时数据及历史数据进行显示。同时,为了提高数据分析的准确性,SON-DMS需要对解析的数据进行有效的质量控制。
2 关键技术与算法实现
在SON-DMS系统设计中,数据通信是其正常运行的前提,设计高质量的通信策略是海底观测网能否正常运行的关键;设备动态管理是SON-DMS保证海底观测网挂载的各设备正常运行的基础;故障诊断与自适应处理技术是海底观测网络长期可靠运行的必要保障;数据质量控制是SON-DMS提供优质用户服务和数据产品的关键。因此,通过重点分析SON-DMS设计中的难点问题和关键技术,设计相关实现算法才能保证SON-DMS的长期可靠运行。
2.1 数据通信
海底观测网长期放置在水下,每天24 h不间断产生大量的数据,而且不同设备的数据在采集频率、数据格式等方面存在差异。另外海底观测网系统庞大,水下环境复杂,海底通信网的不稳定有可能导致重要数据或者指令丢失,因此,实现海量数据的同步并发处理及提高指令执行成功率是数据通信所要解决的难点问题。
由于通信协议是通信传输中的基本单位,协议设计的好坏直接影响数据通信的效率,本文针对海底观测网络数据特点首先设计了一种通用型的通信协议,其协议格式如表1所示,结构图如图2所示。该协议将内容形式各异的数据进行封装,可以提高系统的解析速度,保证数据通信完整性。该通信协议主要分成3部分:包头、包体和校验位。包头部分包含节点ID号定义、时间戳等公共信息定义,长度以及格式固定。包体为完成的具体业务需要的接口参数信息,根据各自设备内容不同而有不同的格式和长度,依据具体数据内容进行分装、定义。校验位为包头与包体的CRC32校验,长度及格式固定。
表1 自定义通信协议格式
图2 通信协议结构图Fig.2 Structure chart of communication protocol
SON-DMS与水下设备进行通信时,为了兼顾通信效率和通道利用率,将数据接收与指令发送设计成两个相互独立的并发通信模块,各自独立完成其功能。数据接收模块每次接收数据时对数据进行包编号、校验和判断,若二者都正确则对数据进行解析并存储到数据库,通过重连机制实时监测网络状态并自动恢复通信连接,以提升网络系统的可靠性和自恢复能力。数据指令发送模块采用握手机制提高单次通信成功率,通过重发机制保证指令可靠传输与执行反馈。
2.2 设备管理
海底观测网在长期运行过程中会遇到传感器需要变更物理接口或随着探测需求的变化而增加传感器的情况。这种设备状态的动态变化对系统设计提出了更高的要求,需要设计可扩展性高的算法和结构来实现设备的动态管理需求。
参考MBARI以及VENUS数据管理系统设计方案[14-16],在吸取国外数据管理经验的基础上,根据前面介绍的设备管理需求,本文首先建立水下接驳设备的元数据表格与动态配置表格。元数据表格主要是对电气参数、接口形式、数据格式、通信参数、指令格式等设备基本信息进行管理。当设备信息改变时,主要通过对元数据表格的增删改查来进行维护。动态配置表对实际物理接口、协议编号、设备名称进行动态管理。物理接口与数据包中的节点ID号有唯一的映射关系,而与所接的设备不存在唯一的对应关系,其映射关系如图3所示。
图3 设备动态管理映射图Fig.3 Device dynamic management map
从图3中可以看出,物理接口com1可以连接设备1至设备n中的任意一个,当接口更换新的传感器,只需要在SON-DMS中完成对动态配置表格的更改,即建立好物理接口与实际设备的映射,程序便能从设备元数据表格中找出对应设备的映射,从而查找对应的数据格式等参数,然后利用正则表达式解析出数据。如果新增传感器,则首先在设备元数据表格中增添新增设备的数据格式等参数信息,然后在SON-DMS动态配置表中配置该设备所连接的物理接口。
2.3 故障诊断
海底观测网需要长期布放在海底,海底环境复杂多变,海底观测网络布放工程难度大,维修费用昂贵,一旦某一设备出现通信异常、数据异常等故障问题后不及时处理可能会影响整个海底观测网络的稳定性,从而对整个系统造成致命打击。SON-DMS需要实现对水下设备运行状态进行实时故障检测与诊断、异常信息报警及应急处理等。海底观测网需要监控的设备较多,状态参数具有大数据特点,如何快速定位故障并给出故障优先级处理顺序是故障诊断研究的重点内容。
故障诊断的难点在于海底观测网络布放在深海,只能依靠获取的状态数据进行判断。本设计首先按照海底观测网监控的状态参数进行分类,主要包括各路电参数监测,舱体内温湿度、漏水、压力状态监测,过压过流保护监测和通信控制监测。具体故障诊断内容如表2所示。
表2 故障监测内容
2.4 数据质量控制
海底观测网络中的传感器可能受周边环境、传感器本身非线性等因素的影响出现数据丢失或者数据失真的现象。SON-DMS在数据产品制作时必须对解析完成的传感器数据进行有效的数据质量控制,以降低数据错误率。海底观测网络中传感器数值有可能是随机干扰造成的无效异常值,也有可能是海洋参数连续变化出现的有效参考值,因此,在线剔除异常数值,并最大限度地保留在线数据有效信息是数据质量控制的重要研究内容。
本文采用一种改进的53H算法。53H算法最先是由Tukey提出的,其基本思想是产生一个曲线的平滑估计,然后通过将测量值与这一估计值进行比较来识别异常点[17]。其步骤如下:
第1步 设x(i)为测量的在线数据序列。为从x(i)构造一个新序列x1(i),取x(1),x(2),…,x(5)的中间值作为x1(3),然后舍去x(1)、加入x(6),取中间值得到x1(4);以此类推,直到加入最后一个数据。显然,x1(i)的项数比x(i)少4项。
第2步 用类似的方法在x1(i)的相邻3个数中选取中间值而构成序列x2(i)。
第3步 最后由序列x2(i)按如下方式构成x3(i):
x3(i)=0.25x2(i-1)+0.5x2(i)+0.25x2(i+1)。
(1)
这是一个Hanning平滑滤波器[18],因此该方法称为53H法。
第4步 如果有下式成立,则用x3(i)代替x(i),
|x(i)-x3(i)|>k,
(2)
其中,k为一预定值。
由运算步骤可以看出序列x(i)的开始4个点和末尾4个点没有得到有效平滑,因此本文将此算法作如下改进。
第5步 将x(i)序列开始的8个点和末尾8个点反序排列生成序列x′(i),即为:
x(8),x(7),x(6),x(5),x(4),x(3),x(2),x(1),x(9),…,x(n-8),x(n),x(n-1),x(n-2),x(n-3),x(n-4),x(n-5),x(n-6),x(n-7)。
由于改进的53H算法对序列开始和末尾的8个点进行了正反两次平滑,因此,只要选定适当的k值,该算法可以在不改变序列特性的情况下使所有的点都得到有效平滑。
3 系统实现
SON-DMS开发环境采用Microsoft Visual Studio 2010,编程语言采用C#,数据库类型为MySQL,数据通信骨干网采用基于TCP-IP协议的Socket通信技术,仪器端口采用串口通信技术。
3.1 数据通信
SON-DMS数据通信采用多线程处理机制实现并行处理,为每个连接创建一个线程来解决数据处理的并发问题,并采用双Socket、长短连接相结合的通信模式保证接收与发送过程互不干扰。数据接收模块采用Socket长连接,其流程图如图4所示,在保持连接期间,如果没有数据包发送,需要双方发送链路检测包以维持此连接,若连接断开,系统设有网络状态检测及重连机制以保证通信可靠性。指令发送模块采用Socket短连接, SON-DMS发送完指令并接收到来自水下表示已经正确接收和解码的返回包后,马上断开连接以减少系统开销。其流程图如图5所示,其中nT(n 图4 接收数据流程图Fig.4 Flow chart of receiving data 图5 发送指令流程图Fig.5 Flow chart of sending instruction 主要通过对数据库设备信息表的维护实现设备的动态管理,程序界面设计时使用动态树控件来显示设备名称以及设备数值等信息,动态配置解析完成传感器数据后,从数据库读取信息或者利用C#委托回调机制直接送到界面动态树显示。 数据处理使用多线程机制提高执行效率和程序工作的并发性。SON-DMS数据处理子系统的工作流程是当建立连接后,由SON-DMS发送数据采集等控制命令,海底采集程序接收到命令后将所得到的数据按照自定义协议打包,然后传送给SON-DMS处理,数据处理流程图如图6所示。同时,SON-DMS后台程序创建每种异常自动监测的线程,每隔固定时间按表2中的内容进行监测,无需人员实时守护。SON-DMS中集成SMS短信报警平台,异常出现后,会立即通过手机短信通知相关人员。 图6 数据处理流程图Fig.6 Flow chart of data processing SON-DMS处理两种类型的传感器数据,即每种传感器实际测量的数据以及经过53H数据质量控制算法计算得到的数值,数据产品的展示主要是将此两类传感器数据以及其他被测物理量使用C#委托回调机制送到界面制成实时曲线图或者表格,同样可以采用曲线或者表格的方式查询历史数据。使用线程机制保证图形界面的实时响应。 采用本文设计的SON-DMS的海底观测网于2017年8月—11月在青岛胶州湾中苑码头完成3个多月的海试试验。海试过程中,数据采集器上挂载5个传感器,实时自动监测溶解氧、甲烷、叶绿素、浊度、CDOM五类海洋环境参数。另外在岸边安装摄像头,远程终端设备可连接摄像头对岸边进行远程监控。 试验结果表明,SON-DMS在3个多月连续运行期间能够准确获取包括溶解氧、甲烷、叶绿素等五种海洋化学参数,能够成功发送各类指令并成功执行。系统对各种数据进行准确解析、存储、查询以及显示。SON-DMS具有较好的稳定性、完善的功能性和友好的人机接口,典型界面如图7~8所示。此外,SON-DMS还解决了海底观测网关键技术涉及的难点问题,具体表现在: 图7 SON-DMS典型界面IFig.7 Typical interface I of SON-DMS 图8 SON-DMS典型界面IIFig.8 Typical interface II of SON-DMS (1)SON-DMS具有强大的数据通信能力。 海底观测网实时监控系统连续稳定运行3个多月,SON-DMS收到有效科学数据多达560万条,数据丢包率仅为0.045%,指令响应时间小于3 s,指令执行成功率高达98.2%,这些性能指标说明在保证系统响应能力前提下,海底观测网数据通信关键技术中采用的通信协议格式能保证数据通信的完整性,双Socket、长短连接结合的机制能提高数据传输的可靠性。 (2)SON-DMS具有灵活的设备动态管理能力。 海试中,传感器设备需要更换接口或在接口上新增传感器时,只需在SON-DMS配置界面中动态配置物理接口所接的实际设备,该映射建立完成后,整个系统便可以在2 min之内以Socket网络通信方式接收到数据,说明以动态配置表与元数据表映射关系建立的方式动态管理设备比改变代码更为灵活。 (3)SON-DMS具备异常自动监控、故障及时报警的能力。 在实际验证中,考虑到无法现场复现观测仪器故障,采用模拟故障方法,针对电参数、温湿度、漏水故障,通过改变阈值检测诊断工作;针对通信故障,通过主动切断网络连接检测。模拟试验表明,SON-DMS能监控表2中列举的任意一种故障,而且能够通过短信及时报警。 (4)海底观测网络实时监控系统具有较低的数据错误率。 以溶解氧采集到的频率为例,经53H数据质量控制处理后,传感器数据的错误率(指SON-DMS接收到的异常传感数据与全部传感器数据的比值)由0.011%降低为0.000 81%,如表3所示。溶解氧原始频率曲线与数据质量控制处理曲线对比如图9所示。从对比曲线整体图以及局部放大图中可以看出,经过53H数据质量控制处理后得到的曲线有效剔除了异常值,并且在保留原始曲线趋势性的基础上,对原始的曲线进行了有效的平滑。 表3 海底观测网络实时监控系统的传感数据错误率分析 图9 数据对比曲线图Fig.9 Curve of data comparison 本文设计的SON-DMS由数据通信、设备管理、数据管理、数据产品4大子系统构成,解决了SON-DMS中涉及的数据通信、设备管理、故障诊断及数据质量控制等难点问题。经试验验证,该SON-DMS具有良好的稳定性、完善的功能性和便捷的人机接口。此外,系统集成的数据质量控制机制降低了系统数据错误率,提高了可靠性。这些特性使得开发的SON-DMS能够满足海底观测网监控系统现阶段的应用需求。 目前,SON-DMS已实际应用一年,运行情况良好。但是随着海底观测网的扩大,SON-DMS并没有包括对接驳盒的管理,而且存在界面不够美观等问题。因此,下一步的工作是在保证和提高系统稳定性的同时,逐步完善系统现存的不足之处。3.2 设备管理
3.3 数据处理
3.4 数据产品制作
4 系统试验
4.1 试验方案
4.2 试验结果及其分析
5 结论