内河船舶大数据关键技术研究
万辉+张建雄+高嵩+蔡浩
摘 要:为了解决内河船舶信息孤岛、屏障问题,实现船舶海量数据的快速整合应用,本文对内河船舶数据互联互通、共享交换的实际情况进行了综合分析,对内河船舶大数据关键技术展开研究。厘清内河各类船舶数据间的关系,确定船舶大数据建设内容,探索船舶大数据处理技术方法、船舶大数据存储、船舶大数据共享与服务,为船舶大数据平台建设打下理论技术基础。
关键词:船舶;大数据;数据仓库;数据挖掘;ETL;数据抓取
中图分类号:U662.3 文献标识码:A 文章编号:1006—7973(2017)11-0047-04
大数据是一种新处理模式下具备更强决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据比较有代表性的定义是4V定义,即规模性(Volume)、多样性(Variety)、高速性(Velocity)和价值性(Value)。大数据的特点决定了在大数据时代,传统的数据处理技术必需有革命性的提升。
长江是我国的“黄金水道”,长江流域创造超过40%的国内生产总值和约35%的外贸进出口额,是沿江地区交通物流和经济社会可持续发展的重要命脉。船舶作为长江航运体系的载体,它承载着长江航运机构的各类业务。各航运机构间种类繁多的船舶业务系统运行时产生的数据庞大、增长快速、类型丰富,符合大数据的特征。伴随着长江航运信息化的加速发展,各类船舶业务数据会持续爆炸式的增长,由于各自机构系统之间相互独立运行,難以实现信息共享交换,各机构间各司其责,行政管理上的缺失,造成了人为的行政壁垒,阻碍了信息数据的整合应用,形成内河数据孤岛, 传统的数据处理技术遇到瓶颈,不能满足航运机构从海量数据中快速获取船舶信息的需求,内河船舶大数据技术的研究是长江航运信息化、智能化发展的必然要求;也是充分整合利用现有内河船舶数据资源,彻底解决内河船舶数据孤岛、屏障问题,实现内河船舶数据的互联互通、共享应用的手段。鉴于此,本文开展内河船舶大数据关键技术研究,厘清内河各类船舶数据间的关系,探索船舶大数据整合技术、方法。
1 船舶大数据建设分析
1.1 内河船舶数据现状
目前,长江航运机构开发的各类业务应用系统均建立了各自的后台数据库,基本涵盖了所有航运业务数据的数据库存储。但由于各业务应用系统相对独立,条块分割的建设模式使得这些应用系统的后台数据库成为了一个个信息孤岛。系统间所需信息需要人工转录,或通过数据接口进行异步共享。不同系统间数据结构交叉严重,数据在不同系统间重复录入,数据接口过多过杂,数据同步不及时,导致数据的时效性、一致性、准确性差。
1.2 船舶数据关系分析
长江航运船舶业务主要包括:船舶AIS动态监管、船舶VTS交管、LRIT、船舶登记、船舶安检、在港作业、船舶签证、危险品管理、综合统计等业务处理,主要业务涉及的数据项如下:
船舶AIS动态监管:MMSI、船名、航艏向、航速、经度、纬度、更新时间等。
船舶VTS交管:编号、船名、船舶位置、航速、更新时间等。
船舶登记:船舶编号、船舶登记号、中文船名、英文船名、船舶呼号、IMO编号、船舶曾用名、船籍港等。
安全检查:船舶编号、检查日期、检查地点、是否有缺陷、滞留时间、滞留原因、船级社、安全检查缺陷、安全检查项目等。
在港作业:船舶编号、作业代码、单位名称、单位地址、申请时间、联系人、联系电话等。
船舶签证:船舶编号、进出港代码、预到日期、船舶类型、开往港口、旅客总数、本港卸货数、本港装货数、载货种类、联系人、联系电话等。
通过分析,船舶信息间的关系都是通过船舶动态系统中船舶编号来唯一关联。船员、船公司等船舶辅助信息,要建立与船舶基本信息的关联,同样是通过船舶编号进行关联。
船舶AIS、VTS系统中并未包含船舶编号数据,要想实现与船舶基本信息的关联,需要从船舶名称入手,采用数据库(Oracle/Sqlserver)中间件实现中英文船名自动匹配关联及人工预处理关联,最终得到完整的船舶综合数据。
船舶AIS、VTS系统都包含了船舶位置信息,要实现数据关联的同时,还要解决数据融合问题,利用AIS、VTS的位置数据,通过Kalman滤波器进行信号的预处理,得到相对准确的船舶定位信息。将定位信息进行汇总融合,包括数据的时空对准、坐标转换,结合上面描述的关联数据,通过融合算法进行船舶动态数据的整体融合,得到准确的船舶动态融合数据。
1.3 船舶大数据建设内容分析
船舶大数据建设要遵循组织合理、结构清晰、冗余度低、便于操作、易于维护、安全可靠、扩充性好的原则,并建立大数据实时更新机制,以及各区域和各部门单位船舶协同管理的数据共享机制。
船舶大数据的建设将以船舶基础信息为核心,重构并形成支撑船舶管理的基础数据库(船舶基础库、船员基础库、船公司基础库)、船舶动态库、数据应用库,数据库的框架结构应以便于后期完善、扩展和改造等为标准进行搭建。
基础数据库:数据共享程度最高,是多个业务应用系统的基础,具有基础性、全局性特征。包括船舶基础数据、船员基础数据、船公司基础数据,以及相关证书基础数据。
动态数据库:数据主要用于支撑时间敏感性业务应用的开展,由动态业务过程产生。包括船舶AIS、VTS、进出口岸查验、船舶申报、船舶签证、船舶安全检查、事故处理、船舶违章、危险品申报数据等。
数据应用数据库:此类数据主要为了满足第三方开发系统业务应用的需求,进行深度挖掘、抽取、整合形成。
2 船舶大数据关键技术
建立船舶大数据,是要在网络互联互通及各业务系统共同提供数据信息的前提下,让各类离散业务数据资源能够实现多角度、全方位的共享应用。
通过船舶大数据,可以把各类船舶相关数据进行异构重组,形成统一、虚拟、完整的业务信息整合平台,同时能够提供一种资源协同、高性能计算、管理及应用服务的能力。船舶大数据的数据处理包括采集与加工、存储与处理、共享与服务三大层次。
2.1 数据的采集与加工技术
船舶大数据建设的核心既是对各类船舶数据的采集与加工,从图1可以分析得到,信息采集层由四部分组成,一是由外部的信息采集来组成;二是来源于分布在各地、各单位的异源数据库;三是来至网络的信息抓取;最后是人工录入数据。所有这些数据源的特点都是异构、分布、具备相关性、大小规模不等。
2.1.1 数据采集技术
由于各种数据不是在统一的时间生成,数据在进入数据仓库之前需要经过大量的运算,为了不影响原有系统的正常运行和保证导入数据仓库数据的正确性与有效性,可设置中间(临时)数据库。中间(临时)数据库起所有数据从传统数据库导入到数据仓库的过渡作用。
2.1.1.1 数据标准化归一
不同来源所得到的相同字段数据定义可能不一样,因此首先需要将数据字段的定义标准化,把它们的定义和取值区间统一起来,从而消除变量之间不同类型数值之间的悬殊差异。进行数据标准化需要定义各类数据标准化整合规则。包括:定义数据属性、字典、数据解析规则、整合对照表、对应的数据整合处理方式及数据检测条件等六项内容。
消除数据的主体差异。对各类船舶主题数据进行人工梳理及分析,然后将分布的、异构数据源中的数据抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库。
2.1.1.2 异源数据库及文件数据采集技术
对于只需一次性导入的数据可以遵循“数据元提取-数据清理-数据入库”的基本步骤完成数据采集。而对于需要定期或实时进行数据同步与交换的数据源,应通过数据交换平台同步交换抽取源数据,再进行上述处理。
数据同步交换规则及内容:①利用中间件直接访问各数据系统(数据库或者文件系统),同时建立灵活的数据导入方式;②向中间(临时)数据库导入数据,创建统一规则的数据导入环境;③设定用户权限,来区分不同用户应导入的相应的数据内容,确保不同用户间导入数据时不出现混乱操作。
基本上能转换当下流行的数据库数据(例如SqlServer、Oracle、Sybase、Db2、文件型Excel数据表及其它的文本存储的数據格式。各类的数据的同步交换处理都有相应的接口模块,都会有统一数据接口对接规则,这样能够实现对新的数据格式的快速增加、识别、转换。
实际操作时可以根据具体情况,灵活选择数据抽取方案。如对于船舶基础数据进行采集时,可以采用ETL工具直接连接各应用系统数据库将数据抽取到集中数据库中进行处理。而对于动态过程中产生的数据(如船舶签证、AIS、VTS等),由于涉及到实时数据抽取,可根据情况选择如下方案:①将实时和历史数据分开处理。周期性的将各单位的历史数据抽取到集中数据库中。通过跨数据源访问功能直接使用穿透钻取技术从应用服务中钻取到实时的数据。②使用数据同步工具对数据库进行实时同步。③对于手工填报数据和文件数据,建议采用指定格式(如Excel、Word)上传填报或者基于系统交互页面的填报,通过ETL工具导入数据库中。
2.1.1.3 数据抓取技术
船舶大数据还有一类数据来源依靠网络爬虫形式的数据抓取,数据抓取方案由目标设定、规则配置、任务执行、解析处理、人工判定五部分组成。
(1)利用工具来配置数据抓取目标。
(2)配置规则来实现数据的完整抓取。
(3)根据配置文件执行抓取任务。
(4)抓取程序访问数据列表地址来解析每一个数据项,利用正则匹配实现对html内容解析抓取。
(5)人工判断。抓取只是简单的实现了网络数据的采集,信息内容的准确性需要人工判定校准。
2.1.2 数据清洗加工技术
2.1.2.1 数据的清洗
过滤或者修改那些不符合要求的数据是作为数据清洗的主要任务。数据清洗不是简单的更新数据记录,而是对数据进行预处理,清洗过后的数据应能满足没有数据异常、没有近似重复记录的要求,并可以支持船舶数据的集成。技术手段:
数据人工调整:通过匹配检查,发现并标识出违反规则的一类数据,然后经过人工操作对这类数据进行相应的结构调整。
计算机自动调整:通过分析样本预先制定出数据清洗规则的集合,再利用专门的ETL工具或自行编制的批处理工具完成数据的清洗。
2.1.2.2 缺失值的处理
对于数据集中的数据,存在有这样两种情况:
(1)数据中有大量缺失值的属性,如确定是无效数据,通常采取的措施可以有:①从整合后的数据集中直接删除;②作删除标记。
(2)对于比较重要的属性,也会存在少量缺失值,需要将数据补充完整后进行一系列的数据挖掘。可以采取以下方式进行数据填补:①需要用一个相同的并且不会引起使用歧义的常数对象来替换缺失的属性值,例如字符串就直接填入空格;数值类直接填入0或者允许的缺省数据值;②利用该属性的最可能的值填充缺失值。
(3)清洗相似的重复数据。相似重复记录清洗内容包括如下两项,一是针对两个数据集的清洗,另外一个是针对合并后的数据集进行清洗。首先是记录匹配过程,即识别相似重复记录并标识与这个重复记录相同现实实体对象。然后,将找出的相似重复记录采用特定规则来合并成一个包含更多属性的新的实体对象,确保信息记录无冗余,最终在数据集中删除多余的记录。
(4)数据规模的消减。对数据进行了缺失值清理后,考虑进行人选或机选,删除冗余属性或者与船舶数据无关的属性。
2.2 采集数据的存储及处理技术
船舶数据的存储与处理,它的任务是对采集到的各种信息进行分析、存储、处理、发布。服务的动态创建及服务的即时发现是船舶大数据进行信息服务时要具备的重点功能。要实现异构数据的共享,可以将采集到的信息作为服务,来动态的创建、发现来自于不同分布范围的服务信息,做到对数据的集中、分类并深度处理分析。内容如下:
创建数据管理中心,通过交互操作实现对信息的请求、识别、接收、融合、编辑、更新、管理等。
大数据库创建,制定数据建设标准,将采集到的船舶信息存储在数据库或者其他存储介质。
数据仓库挖掘,分析原数据库、拟建数据库、Excel等数据文件的基本结构及内容,设计挖掘规则与概念模型,进行ETL深度分析处理。
2.3 数据的共享与服务技术
船舶数据的共享与服务可以针对不同用户的需求,直接AOC将核心层处理分析后的数据发送到各用户终端,用户即可得到所需业务数据服务。
建设数据交换平台,数据交换平台可基于数据中间件产品实现,组成一套完整的数据交换节点,在每个前置及数据采集点部署该交换节点,实现对内对外的数据交换。
实现数据应用共享服务,将核心数据层分析处理过的数据推送到不同的用户终端,并将这些信息利用中间件的方式进行汇总、整理,实现业务应用层面的数据共享,并能提供共享的数据接口服务。
采用Webservice+SSL+XML+Json接口技术,按船舶、船员、业务分类设计开发一套标准统一的船舶大数据接口服务,用来对内对外提供数据存储、更新、查询服务,保障船舶大数据运行的安全性、稳定性、可靠性及高可用性。
3 结语
通过内河船舶大数据关键技术研究,能够理清内河各类船舶数据间的关系,解决内河船舶信息孤岛问题,实现船舶数据的共享应用;能够为船舶大数据平台建设打下技术理论基础;能够获得一些大型船舶综合应用平台开发的思路、方法;能够获得更多关于船舶大数据行业应用的启发。
参考文献:
[1] Gartner. Top ten strategic technology trend for 2012[EB/OL].(2011-11-05)[2014-08-17]. http://www.gartner.com.
[2] 孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展, 2013,50(1):146-169.
[3] 张笛, 万程鹏, 严新平. 基于事故特征分析的长江碍航风险研究[J]. 中国航海, 2013, 36(2):94-99.
[4] 徐武雄, 初秀民, 刘兴龙. 海事业务数据挖掘和共享关键技术研究[C]// 中国智能交通年会. 2015.
[5] 文哲, 何正伟, 辛旭日,等. 基于云计算的海事信息处理模式[J]. 中国航海, 2016, 39(2):50-54.
[6] 整合海事系统业务信息资源促进海事协同管理 卢艳民 - 《天津航海》- 2011-03-25.
[7] 孙星, 严新平, 初秀民,等. 基于船标岸一体化技术的内河信息服务关键技术研究[J]. 交通信息与安全, 2012, 30(4):126-130.
[8] 申慧超, 胡勤友, 杨春. 基于AIS数据的预抵船舶联系信息查询系统[J]. 上海海事大学学报, 2010, 31(4):13-16.
[9] 于俊逸, 陈伟, 刘建,等. 内河航运VTS与AIS信息融合关键技术研究[J]. 交通信息与安全, 2013, 31(6).
[10] 彭玢, 代潔. 基于中间库与WebService平台信息交互接口设计[J]. 计算机与数字工程, 2013, 41(11):1801-1803.