船舶数据模型化传输方法

2019-04-22 12:30:10
船舶设计通讯 2019年2期
关键词:数据格式数据模型异构

沈 英

(北京海兰信数据科技股份有限公司,北京100095)

0 前 言

船舶智能化已经成为市场的发展趋势,随着计算机、网络、通信、新能源、物联网、大数据、人工智能等现代科学技术的发展和应用,船舶自动控制以及通信导航等电气系统也正朝着分布型、网络型和智能型的方向发展。随着船舶智能化水平的快速提升,实现船船和船岸之间可靠、安全、经济的数据交互,构筑船岸之间通信的纽带,支持获取智能船远程数据功能,是智能船发展的必经阶段。 船端动态异构数据模型化是第一步。

1 异构数据

船端动态数据包括各种设备或传感器数据,以及多种应用或功能所需的必要信息、指令交互。 分析船端动态数据的类别、设备来源,可能的数据格式大致可分为传感器数据和智能应用数据两大类,如图1 所示。

图1 动态数据分类

1.1 传感器数据

船舶上既有导航和航海传感器、主辅机设备监测报警,以及其他为船舶航行提供的位置、状态、故障、报警等信息,是智能船系统的传感器输入信息。对这一类的数据,需要将从各种接口中获取原始输入的数据,分别按照通信协议进行解析,获得格式化的数据。

1.2 智能应用数据

智能船的所有智能应用或系统都通过网络平台交互数据,这些应用的接口形式和数据通信协议均需要统一。

数据异构严重制约了船岸信息的共享程度。 船端不同设备的数据格式不同,如表1 所示,不同数据格式协议不同。 为了获得所有信息,数据使用者需要掌握多种协议的解析方式,所以实现异构数据转换势在必行。 数据模型为获取信息者提供集成的、完整的、统一的数据格式,便于数据的接收和订阅。完整性主要指数据集成了多种设备的信息,一致性指把不同语义的数据通过数据模型转换为统一的表达,这是船端局域网和船岸之间良好的数据发布和交换的前提,同时也可以简化处理过程,提高效率。

表1 部分异构数据

研究将船端动态多层级、多维度异构数据模型化,抽取模型的特点和特征,并将数据按照模型进行变换,这种方法使得实际传输的数据与原始数据有了不同的意义,既有助于数据轻量化技术的实现,也有助于提高信息传输的安全性。

2 数据模型及应用

实际应用中的数据模型有多种,比较常用的是JSON 和XML, 比如HTTP 协议中网络数据的传输等。与XML 相比,JSON 易读写,同时也易于机器解析生成,这些特点使其得到广泛使用。 自JSON 数据格式提出以来,在JSON 和XML 的实用性、传输效率、安全性等方面,一致认为JSON 在传输效率和浏览器解析等方面都比XML 更加实用和高效,因此,数据交换格式在很多领域逐渐从XML 转为JSON[1-2]。

JSON 语句是由键值对组成的字典,其中的值也可以是一个新的JSON 语句,从而JSON 数据模型允许任意级别的嵌套。 JSON 规范定义了7 种类型的值,分别是字符串、数字、数组、对象等。 根据JSON语句的结构, 非时态的JSON 结构的语句已经满足大多数产品的需求,但是不能满足船舶数据动态变化的需求。 采用时态JSON 语句,在每包数据中加入当前的时间,记录数据发生的时刻,便于数据接收方进行历史数据分析、船舶历史状态分析以及获取当前船舶航行参数等。 鉴于船舶可航行全球,可能分处全球不同的海域、不同的时区,相互之间存在时差。 为了动态数据时间同步, 以确定数据发生的具体时刻,界定状态或指令产生的时间先后关系,时态JSON 模型中的时间可采用船舶上GPS 设备提供的UTC(Universal Time Coordinated)时间作为时钟同步源。

智能船上的信号点至少有上千个,这些信号包括导航数据、智能机舱数据、能效数据等。 信号清单中的每种信号都是独一无二的, 鉴于JSON 的结构是键值组合的字典,为每一个信号设计唯一的标识KEY,KEY 对应的Value 是经过数据采集按照既定协议解析后的数值或者符号。

依据船厂的信号清单,对所有信号进行统一规约。 以本项目中比较典型的3 个主题为例, 如表2所示, 其中在IG11GPS 主题的JSON 语句中,KEY“1101001”对应的value“3856.8376”是GPS 发出的本船的纬度,“1101002” 对应的则是本船的经度,“1101008”到“1101011”分别表示UTC 时间、日、月和年的信息,“1101022” 表示相对于正北的对地航向,“1101025” 则是对地航速。 这条语句展示的是GPS 的部分信息,使用者可以根据需求创建主题,也可以包含所有的GPS 信息。

表2 模型化后的JSON 语句

除了GPS 外,智能机舱数据、能效数据等都采用了这样的形式。 机舱的原始数据大部分遵循Modbus RTU/TCP 协议。Modbus 协议本身晦涩难懂,解析麻烦,容易出错。表2 中IG22AMS1 是关于机舱的主题, 是根据实船的Modbus 数据模型化后的JSON 语句,其中KEY 从“310410”到“310438”是报警量, 代表了机舱中部分的报警点, 如表3 所示。KEY 从“320001”到“320038”是 机 舱 的 部 分 模 拟量,如表4 所示,每个KEY Value 对应1 个机舱点位。

表3 IG22AMS1 报警量清单

表4 IG22AMS1 模拟量清单

在实船上,GPS 语句和机舱数据都是遵循标准的数据协议。 除了这些标准协议外,还有部分数据是用户自定义协议,对于协议的本身用户可以自行填写, 只要符合需要解析的数据格式。 在表2 中IG22MotionTran 是关于运动传感器的主题,原始数据本身是一串十六进制的数字, 通过多个字节组合成整型值或者浮点值等, 这需要用户在WEB 自行配置。 主题中每个KEY 对应几个字节组合,其中KEY“M00001” 对应船舶横摇,“M00002” 则表示船舶纵摇,“M00003”对应船舶首摇,“M00004”是船舶升沉。

从上面的例子可以看出,这种统一的规约可以把任何协议的信号用统一的数据模型表示出来。 把每个通道的数据完整地组合起来,既可以减少数据传输的流量,也便于阅读和理解。

数据模型传输软件系统是基于编程语言C++开发的,发布数据的接口如图2 所示,接口参数包括发布主题的名称、结构体和时间,其中结构体中的指针指向数据模型化后的JSON 语句, 结构体中的数据长度是JSON 语句的长度,时间是时态JSON 的UTC时间。

图2 发布数据接口

数据模型化传输软件中数据的分发采用的是DDS 发布/订阅体系架构,DDS 以数据为中心, 提供丰富的QoS(Quality of Service)服务质量策略,能保障数据进行实时、高效、灵活的分发,可满足各种分布式实时通信应用需求。 DDS 本质上是一个通过网络交换数据的协议[3],广泛应用于分布式应用等。DDS 基于DCPS(Data-Centric Publish-Subscribe,以数据为中心的发布订阅)模型,构建了全局数据空间的概念,所有数据对象都存在于此空间中,节点通过简单的读写操作便可以访问这些数据对象。DDS 提供了一个与平台无关的数据模型,使得实时分布式系统中的数据能够高效、 可靠地发布和订阅,主要应用在高性能和对资源有效使用的关键任务领域, 完全符合本文对船舶动态数据传输的要求。时态JSON 语句是在DDS 提供的接口服务的基础上转发的。

3 结 语

采用时态JSON 的格式对船端数据进行模型化,既解决了动态数据异构不易解析的问题,又可以利用JSON 数据格式简单、易于读写、占用带宽小、兼容性高的优点,便于DDS 发布/订阅架构的传输,也有利于数据使用者获取完整的、格式统一的船舶数据信息。

猜你喜欢
数据格式数据模型异构
试论同课异构之“同”与“异”
面板数据模型截面相关检验方法综述
在智能交通系统中PLC数据格式转换方法的研究
电子测试(2018年1期)2018-04-18 11:52:49
加热炉炉内跟踪数据模型优化
电子测试(2017年12期)2017-12-18 06:35:36
overlay SDN实现异构兼容的关键技术
电信科学(2016年11期)2016-11-23 05:07:56
LTE异构网技术与组网研究
论子函数在C语言数据格式输出中的应用
DWG与SHP数据格式互转换方法研究——以龙岩规划测绘数据为例
在新兴异构SoCs上集成多种系统
基于ArcGIS的规划数据格式转换研究