船舶AIS数据云存储系统研究
2016-06-16丁振国
丁振国
(江苏海事职业技术学院 航海技术学院 ,南京 211170)
船舶AIS数据云存储系统研究
丁振国
(江苏海事职业技术学院 航海技术学院 ,南京211170)
摘要:分析了船舶AIS数据现有关系型数据库存储方式的不足,利用分布式数据库模型的特点建立了历史AIS数据和区域AIS数据存储模型,实现了AIS数据云存储,并通过实验验证了AIS数据云存储系统在读写船舶AIS数据上的优势。
关键词:AIS;云存储;模式;对比
船舶自动识别系统(AIS)由基站设施和船载设备组成,是一种新型的集网络技术、现代通讯技术、计算机技术、电子信息显示技术为一体的数字助航设备。通过AIS基站和接收机可以实时采集和存储船舶AIS信息,AIS数据的分析对了解海上交通情况、保障海上交通安全、分析船舶交通航行状况具有重要的意义。目前,在采用关系型数据库技术存取海量船舶AIS信息时,具有吞吐量小、存取效率低、存储容量受限等技术限制。因此,提高AIS信息存储和检索服务,构建可以存储海量AIS信息的云存储系统具有很高的应用价值。
1AIS信息分类
根据2006年发布的船舶AIS技术要求,AIS信息包含多种不同类型的消息[1]。这些消息包含 AIS的传输信息以及支持各种其它系统或者数据链路的功能。消息1、2、3是船舶的动态消息,包含了用户识别码MMSI、船舶航行状态、转向率、对地航速、船舶精确度、经纬度、对地航向、真航向、时间标记等船舶航行的实时动态信息。消息4和消息11分别是基地台报告和UTC(协调世界时)以及日期回应,内容包括用户识别码MMSI、UTC的年、月、时、分、秒和船位的精确度和经纬度等信息。消息5是船舶的静态数据和与航程相关的数据,该消息是在任何一个参数被改变后就立即发送,包括用户识别码MMSI、IMO号码、呼号、名称、船舶以及载货类型、预计达到时间、当前最深静态吃水量和目的地等相关航次信息。消息9是标准搜索飞机位置报告,它用于搜救飞机台站的标准位置报告,该消息默认报告时间间隔是10秒,用于代替消息1、消息2和消息3。消息18和消息19是船舶B类信息,包含的内容有用户识别码MMSI、对地航速、船位精确度、经纬度、对地航向、真航向和时间标记等信息。消息21是助航设备报告,内容包括用户识别码MMSI助航类型、助航名称、船位精确度、经纬度、电子定位装置类型等信息。
2目前AIS数据存储方式
目前大量船舶都已安装AIS,船载AIS设备不断向基站发送AIS信息。我国海事组织已经建成覆盖我国沿海和主要内河水域的AIS基站网络系统,其网络拓扑结构如图1所示。
图1 AIS管理中心网络拓扑图
由拓扑结构图可知,AIS管理中心服务器由NMR500、NMR800、NMR1000和NMR-datalog组成,其中NMR500负责建立和维护与基站之间的连接,处理系统与基站之间以及与客户端之间消息的接发等;NMR800提供客户端与AIS网络连接的接口,充当AIS网络和客户端所处的外部局域网之间的软件防火墙等;NMR1000负责控制NMR-500和NMR-800,监视网络的运行状态、提供报警、更改系统配置和更新软件等;NMR-datalog使用SQL2005存储数据,并将SQL数据库中数据转存于NETAPP网络存储中。AIS基站搜集AIS数据后,通过2MSDH光纤将数据传输至AIS中心机房,NMR500将因基站交叉覆盖接受的重复数据过滤后,一则入NMR-datalog服务器数据库中,二则其它用户通过NMR800进行用户认证后,直接从NMR500获取数据。NMR-datalog服务器使用6块320G固态硬盘做RAID1,安装SQL2005数据库存储数据,每日数据量为20-30G。根据实际操作经验,如使用机械硬盘作为SQL2005数据库存储,则I/O输入输出将成为瓶颈。由于NMR-datalog数据库容量有限,所以每周日8时,系统将数据表中7日前数据复制导出压缩成包,存储至NMR-datalog的网络存储器NETAPP中,SQL保留原数据,一旦SQL存储容量达到90%,则自动按时间依次删除早期数据。NMR-datalog后接磁带库服务器,对SQL进行备份。
目前,各海区AIS数据中心大多采用上述关系型数据库的方式进行数据的保存。另外,还有一种数据的保存方式是将原始AIS数据以文本文件的形式保存在计算机硬盘或光盘等存储介质中。很明显,第二种处理方式非常不适合数据的有效使用。第一种存储方式虽然比第二种方式在数据管理和使用方面有很大的改进,但是在关系型数据库中仅保留短期的AIS数据,要想检索历史数据,需要对备份的数据库文件重新导入到数据库中,工作效率较低。
3AIS数据云存储模式
本文构建的分布式数据库系统主要用来存储船舶的历史AIS数据和区域AIS数据,主要存储船舶的动态信息和与航行状态相关的信息,这些信息主要是消息1、2、3、5、18、19和24,内容包含船舶的实时动态信息,存储这些信息可以分析船舶的历史轨迹情况和根据区域存储分析区域交通流情况。
3.1历史AIS数据存储模型
根据健值对[2]数据模型和AIS信息的特点构建可以存储船舶历史AIS数据的存储模型,以达到可以存储长期船舶的AIS信息的目的,并且在提取某一条船舶时可以快速得到该船舶的历史数据。存储船舶历史AIS数据主要用到的是列族,这是一个四维哈希表结构(如图2),健空间取名aiskeyspace,相当于关系型数据库中的数据库名;列族取名shais,相当于关系型数据库中表名。
(1)历史AIS数据列值
列是键值对数据结构中最基本的存储单元,存储历史船舶AIS消息 1、2、3、5、18、19的信息,每一条信息都有一个时间标记,因此可以利用这个时间标记作为该条信息的列名;列值就是该条信息的所有内容,为AIS的原始信息。根据分布式数据库中列的数据结构可以得到AIS存储模型列值的数据结构(如图3)。
如果一条AIS数据中信息内容为1335190963;0;!ABVDM,1,1,2,A, 16∶CeI0P@08d7k@Ah78KPPMJ00S@,0*64;根据AIS列值的数据模型,一条AIS信息的列值存储结构(如图4)。
图2 历史AIS数据模型四维哈希结构
图3 历史AIS数据列值数据模型
图4 历史AIS数据列值存储结构
(2)历史AIS数据行健值
为了区分每一条信息属于哪一条船舶,就需要用到行健值,它是唯一标识列值。行健值是唯一标识某组列的对象,因此行健值的确定必须能够反应该对象的特征。船舶的MMSI是可以独特识别各类台站的一列九位数字码,所以它可以唯一标识一个船舶。用船舶的MMSI作为行健值可以唯一确定一组列的对象[3-4]。根据分布式数据库的行健数据结构可以得到AIS信息的行健值数据结构(如图5)。
图5 历史AIS数据行健值存储结构
(3)历史AIS数据列族
当定义好AIS数据的列值和行健值,就可以根据分布式数据库列族的数据结构,构建AIS列族数据结构(如图6)。行健值为船舶的MMSI,列名是AIS信息发送的时间,列值是AIS原始信息的内容。这样,同一个船舶的AIS信息被存储在同一个行健值下。当需要查询某一船舶的历史AIS信息时,只需要提供该船舶的MMSI和需要查询的时间段,就能得到该船舶历史AIS信息。
图6 历史AIS数据列族存储结构
3.2区域AIS数据存储模型
存储区域AIS数据是根据船舶的位置信息,以区域为单位存储,目的是可以快速提供某段区域某段时间内的船舶AIS信息,利用这些数据可以分析该段区域的交通流情况。为达到快速查询某个区域的目的,根据健值对的数据模型和AIS信息的特点构建了可以存储船舶区域AIS数据的存储模型。存储区域AIS数据时,将整个地球平面根据“四叉树”的数据结构进行划分。“四叉树”是一种数据结构,每一个节点最多有四个子树的数据结构,用来在数据库放置和定位文件[5]。在“四叉树”中,每一个节点通常有四个孩子,为到达想要的记录所进行的查找操作次数称为树的深度。如图7所示,第一层是将地球平面划分成四个区域,每一个区域都有唯一的数字进行标示,第二层又将每一个区域分成四个区域,即总共4*4个区域,依次类推,第n层总共4的n次方。划分后的每一个区域都有唯一的一串数据进行标识。
图7 “四叉树”划分区域
(1)区域AIS数据列值
列是健值对数据结构中最基本的存储单元,在存储区域AIS数据存储的列值与历史AIS数据相同,列名同样是AIS信息的发送时间,列值是AIS的原始信息。
(2)区域AIS数据行健值
区域AIS的数据行健值是根据“四叉树”将地球平面分割成每一小格子而得到的唯一数字确定的,在同一个时间内,每一条船舶所在的区域,都有唯一的数字表示,因此区域AIS数据的行健值就可以利用“四叉树”得到的数字表示,某个时间在该区域的船舶AIS信息就会被存储在行键值下。根据分布式数据库行健值的数据结构可以得到区域AIS信息的行健值数据结构(如图8)。
图8 区域AIS数据行健值存储结构
(3)区域AIS数据列族
当定义好区域AIS数据的列值和行健值,根据分布式数据库列族的数据结构,构建区域AIS列族数据结构(如图9)。行健值是由“四叉树”数据结构得到的区域ID,列名是AIS信息发送的时间,列值是AIS原始信息的内容。每一条船舶在不同区域的AIS数据就会被存储在不同的区域ID下。当需要查询某段区域某段时间的船舶数据时,可以根据区域的ID号和时间查询需要的数据。
4AIS云数据存储系统构建和读写测试对比
AIS云存储系统的主要功能是将从AIS基站接收到的数据经过解析并分别进行区域AIS数据存储和历史AIS数据储存。用户需要通过网络访问相关的查询页面,获得需要的AIS数据,系统结构如图10所示。
图9 区域AIS数据列族存储结构
图10 AIS数据云存储系统结构
在实验过程中,新建立的数据存储方式在对AIS数据读写方面的速度都比关系型数据库MySQL对AIS数据读操作快。例如:分别向两种数据库插入一亿条AIS数据,新建立的数据存储方式用时431.018分钟向云存储数据库中同时写入了历史AIS数据和区域AIS数据;相同的数据,MySQL数据库用时487.3分钟,但是仅仅向MySQL中写入了历史AIS数据。在读取某一条船舶的AIS数据实验过程中,新建立的数据存储系统也比MySQL更具有优势,具体比较如图11所示。系列2是MySQL数据库对AIS数据读操作实验结果,系列1是新建立的数据存储方式对AIS数据读操作实验结果,当读取的数量很少是,两种数据存储系统的效率差距不太明显,然而当数据读取量增加时,新建立的数据云存储系统具有明显的优势。同时,云存储数据库还具有多节点同时写入、水平扩展和垂直扩展的优势。
因此,基于健值对数据结构的云存储系统比关系型数据库具有更大的吞吐量、更高的存储和查询效率、更好的可扩展性,为长期存储AIS数据和快速查询服务提供一个更加高效的方法,提高了AIS数据的使用深度和广度。
图11 两种数据库读AIS数据比较
参考文献:
[1]GB/T20068-2006,船载自动识别系统(AIS)技术要求[S].
[2]肖红玉,陈海,黄静.Key-Value数据库的研究与应用[J].自动化与仪器仪表,2010,(4):87-89.
[3]陈国伟,杨春,周需要,等.海量船舶自动识别系统中数据检索系统的设计与实现[J].计算机应用,2015,35(S1):83-85.
[4]张颖.船舶自动识别系统(AIS)接口数据的研究与应用[D].大连:大连海事大学,2009.
[5]丁振国.瓦片式电子海图图片生成与编码分析[J].船海工程,2012,41(4):158-160.
A Study on the Cloud Storage System of Ship’s AIS Data
DING Zhen-guo
(College of Marine Technology,Jiangsu Maritime Institute,Nanjing 211170,China)
Abstract:This paper makes use of the characteristics of distributed database data model to build up historical AIS data and regional AIS data storage model by analyzing inadequate storage mode of the existing relational database. The new storage model realizes the cloud storage of AIS data and this paper verified its advantage in reading and writing on ship’s AIS data by the experiment.
Key words:AIS; cloud storage;model; comparison
收稿日期:2016-02-29
基金项目:江苏省航海学会2015年度科研项目(2015C02);江苏省高校品牌专业建设工程资助项目(PPZY2015B177)
作者简介:丁振国(1979-),男,黑龙江伊春人,讲师,硕士,E-mail:jmi86176951@163.com。
中图分类号:U644?
文献标识码:A
doi:10.3969/j.issn.1671-234X.2016.01.008
文章编号:1671-234X(2016)01-0037-06