CN115422308A - 一种船舶自动识别系统数据处理系统及方法 - Google Patents
一种船舶自动识别系统数据处理系统及方法 Download PDFInfo
- Publication number
- CN115422308A CN115422308A CN202210793896.8A CN202210793896A CN115422308A CN 115422308 A CN115422308 A CN 115422308A CN 202210793896 A CN202210793896 A CN 202210793896A CN 115422308 A CN115422308 A CN 115422308A
- Authority
- CN
- China
- Prior art keywords
- ais
- data
- ship
- message
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims description 28
- 238000003672 processing method Methods 0.000 claims abstract description 14
- 238000004140 cleaning Methods 0.000 claims abstract description 13
- 238000005516 engineering process Methods 0.000 claims abstract description 13
- 230000000007 visual effect Effects 0.000 claims abstract description 13
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000007405 data analysis Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 8
- 238000000926 separation method Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000011160 research Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008054 signal transmission Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000013079 data visualisation Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000010223 real-time analysis Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Remote Sensing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了船舶自动识别系统技术领域的一种船舶自动识别系统数据处理系统及方法,包括:收集基站的AIS报文;采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;基于清洗后的AIS报文进行实时性能指标统计;结合实时性能指标统计结果进行可视化展示。本发明通过对AIS数据实时清洗去重,有效改善了AIS数据质量。
Description
技术领域
本发明涉及一种船舶自动识别系统数据处理系统及方法,属于船舶自动识别系统技术领域。
背景技术
Automatic Identification System(AIS)由岸基设施和船载设备共同组成的开放式数据传输系统,与计算机网络实现连接,构成水上交通监控网络。AIS设计的初衷是为了避免船舶碰撞,已经在水上交通使用了二十余年。随着AIS数据的质量和可访问性的不断提高,AIS数据的应用已经从早期的导航研究延伸到船舶行为分析、航运安全、贸易分析、环境评估、海事监管等领域。
AIS作为水上交通最重要的感知数据,在其应用方面已经积累了丰富的研究,不少学者对AIS数据的可靠性也开展了广泛研究,涉及到AIS数据可用性分析、错误数据甄别和AIS轨迹修正等多个方面,但是大部分研究都是集中在历史数据的分析,缺乏实时性错误AIS数据甄别和可用性分析的研究。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种船舶自动识别系统数据处理系统及方法,通过对AIS数据实时清洗去重,有效改善了AIS数据质量。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供了一种船舶自动识别系统数据处理方法,包括:
收集基站的AIS报文;
采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
基于清洗后的AIS报文进行实时性能指标统计;
结合实时性能指标统计结果进行可视化展示。
进一步的,采用流式计算技术对AIS报文进行清洗,包括:
AIS数据去重:通过Redis的TTL特性实现设定时间以内相同AIS报文的去重,通过Flink中的filter算子过滤掉重复的数据;
AIS数据解析:按照VDM协议将报文转换解析流程首先判断CRC校验是否一致,即计算报文的CRC码与传递的CRC码是否一致,如果不一致,表明该条报文存在错误;数据一致,对应报文类型信息按照给定的起始位寻找对应的起始字节,连续取指定位宽的数据,再经过转换合并成需要的信息;
错误数据甄别:将存在错误的AIS报文数据甄别出来并进行修复,主要错误有经纬度异常、速度和航向异常、接收顺序错误、以及多船使用同一MMSI码,修复的数据打上标记,通过Kafka消息队列同时存储到Doris数据库和下一级Flink集群进行下一步操作。
进一步的,所述方法还包括在规定时间内没有接收到相应的AIS报文时,进行AIS报文数据预测,具体包括:
预测下一包AIS接收时间:基于当前报文船舶速度和转向变换获得下次预收取报文的时间和位置,以船舶MMSI码为键值,将该船舶AIS下一包预测接收时间存储到Redis缓存中:
Tpredict=T+ΔT
其中:Tpredict为下一包接收预测时间,T为当前包接收的时间,ΔT为预测的间隔时间,设置失效时间为预测AIS发送时间间隔的一倍,即2ΔT;
处理Redis失效数据:如果基站在失效时间之内接收到AIS报文,根据新接收的AIS数据更新缓存中的下一包AIS接收时间和数据失效时间;如果在失效时间内没有接收到船舶新的AIS数据,表示存在AIS数据丢失现象,通过已有的船舶轨迹信息填充缺失的轨迹信息。
进一步的,基于清洗后的AIS报文进行实时性能指标统计,包括:
基础数据统计:按网格实时统计更新船舶的密度,按基站实时统计覆盖的船台数量以及系统的实际容量,按辖区统计AIS报文数量、AIS发送时间间隔;
错误数据统计:包括船舶位置错误、航行状态(速度和航行角)错误和复用MMSI码统计。
丢包数据统计:判断船舶离最近基站容量,如果容量<0.8,表示基本不存在时隙复用,排除由基站因素导致的AIS数据丢包;如果容量大于0.8,按照船岸之间的距离判断AIS丢包原因,其中,如果排除基站因素,判断该网格区域船舶存在丢包的数量,如果占比超过10%,判断是由于该区域的地理环节导致存在盲区,归纳丢包原因是由网格因素导致,如果船舶不仅在该网格中存在丢包现象,在其他区域也频繁存在丢包原因,将AIS丢包归结为船舶自身原因导致的丢包。
进一步的,丢包数据统计包括单艘船舶丢包率统计、网格丢包率统计和基站丢包率统计,其中:
单艘船舶丢包率统计:单艘船舶的丢包率Rship计算公式如下:
其中Nship表示船舶在窗口内收到的AIS报文数量,Neship表示由于船舶自身原因丢包的数量;
网格丢包率统计:某网格窗口内的丢包率Rgrid计算公式如下:
其中Ngrid表示某网格在窗口内收到的AIS报文数量,Negrid表示由于网格区域地理环节导致丢包的数量;
基站丢包率统计:基站窗口内的丢包率Rbase计算公式如下:
其中Nbase表示某基站在窗口内收到的AIS报文数量,Nebase表示由于基站容量导致丢包的数量。
进一步的,结合实时性能指标统计结果进行可视化展示,包括:可视化展示由前后端分离模式实现,后端通过Spring Boot和MyBatis plus从Doris数据仓库中获取数据,前端通过Vue,MapBox实现数据展示,前后端通过Ajax实现数据传递。
第二方面,本发明提供了一种船舶自动识别系统数据处理系统,包括:
数据采集模块:用于通过AIS采集终端收集基站的AIS报文;
数据聚焦模块:用于将各个AIS采集终端上传的数据汇聚后上传;
数据清洗模块:用于采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
数据分析模块:用于基于清洗后的AIS报文进行实时性能指标统计;
数据展示模块:用于结合实时性能指标统计结果进行可视化展示。
第三方面,本发明提供了一种船舶自动识别系统数据处理装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据上述任一项所述方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
与现有技术相比,本发明所达到的有益效果:
(1)由于基站覆盖区重叠,导致存在大量AIS数据重复,如果没有实时去重,将导致轨迹存在来回跳跃现象,通过对AIS数据实时清洗去重,有效改善了AIS数据质量。
(2)本方案通过对船舶丢包率、区域丢包率的实时分析,可以有效分析出船舶丢包原因,为海事管理和基站布局等提供借鉴。
附图说明
图1是本发明实施例一提供的AIS数据实时处理架构图;
图2是本发明实施例一提供的系统处理流程图;
图3是本发明实施例一提供的AIS报文格式示意图;
图4是本发明实施例一提供的多轨迹识别流程图;
图5是本发明实施例一提供的前后端分离可视化实现图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例一:
为了能够实时清洗AIS数据和统计AIS可用性,本实施例提出来一种船舶自动识别系统数据处理方法,融入流式计算技术,甄别出异常AIS数据,统计出AIS性能指标,可以有效提高如船舶碰撞、水上交通流量统计等AIS数据应用的质量。
一、AIS数据异常分析
AIS数据存在的问题主要包括二个方面,一个是数据错误,二是数据丢失。
1、数据错误
数据错误是接收到的AIS数据与船舶真实情况不一致,主要是由以下原因导致。
(1)AIS静态信息不符
由于船舶基本信息由船员输入,存在人为输入错误的可能性,导致其数据不正确或者不符合规范,尤其是船舶航行目的地、船舶长度和船舶类型等都存在一定错误。
(2)航行状态不符。
由于来源于GPS或者北斗等的船舶定位数据和船舶INS感知数据错误,导致船舶AIS动态数据与真实船舶运动状态不一致。
(3)AIS跳码。
水上移动通信业务标识码(Maritime Mobile Service Identify,MMSI)是能唯一识别AIS设备的九位数字码。由于人为切换、设备故障、伪基站等原因导致不同船台使用了同一MMSI码。这种现象会导致AIS轨迹出现跳跃现象,影响了水上交通安全。
2、数据丢失
AIS数据发送时间间隔是根据船台类型、船舶速度和转向来确定的,数据丢失表现为AIS基站没有在规定时间内接收到相应的AIS数据,主要是由以下原因导致。
(1)信号传输衰减。
AIS是基于VHF波段的自动报告系统,传输距离、航道两岸地形、临近建筑物、天气情况等都会影响信号的传输。无线电波的传输衰减会影响AIS数据的传输,导致接收到的AIS信号很弱。AIS基站在接收的时候会对信号进行调制和放大,噪声会在信号放大的同时被放大,导致AIS信号失真,而AIS报文没有消息容错机制,从而导致数据丢失。
(2)系统容量
AIS通信系统所能承载的最大AIS船台数量就是系统容量。由于AIS的报告速率取决于船舶类型、速度和航向等信息,系统容量是动态的。当系统中实际承载的船台数量大于系统容量的时候,系统就会存在时隙复用,导致基站在接收AIS信息的时候出现识别通信或者盲通信。识别通信或者盲通信是指在同一个时隙内,多个船台同时发送消息导致基站只能正确接收其中一个消息或者所有都不能正确接收,从而导致AIS数据丢失。
(3)AIS船台自身因素
AIS设备发射功率、供电稳定性、人为关闭等因素都会导致AIS数据丢失。AIS发射功率一般为25W,当功率较低且离AIS基站较远的时,AIS基站将无法收到船台的AIS数据。如果AIS船台没有内置稳压电源,AIS信号发射瞬间可能存在电流不够导致传输失败。
(4)噪声干扰
城市通常会聚集在航道沿线,大量人造电磁辐射源会对AIS船台造成干扰,影响AIS数据的可靠性。镜像干扰和天电干扰是AIS信号影响较大的2种干扰,降低了信号传输的精度。
如图1所示,本方案的执行系统是由数据采集层、数据聚焦层、数据清洗层、数据分析层和数据可视化层组成。
数据采集层是基于AIS客户端程序,通过计算机网络将AIS基站的数据采集上来传递数据聚焦层。
数据聚焦层是将各个AIS采集终端上传的数据汇聚起来。基于Apache Kafka的高吞吐/低延迟、持久性/可靠性、高并发、容错性等特点,系统采用Kafka实现数据采集层和数据清洗层的连接。
数据清洗层实现AIS数据去重、解析和错误数据甄别等操作。基于流式计算技术,采用Apache Flink实现实时计算,计算结果推送到数据分析层和Redis缓存中。Redis是一款开源的高性能非关系型内存数据库,支持丰富的数据结构,可实现快速增删改查。
数据分析层实时统计单船丢包率、区域丢包率、基站丢包率、基站饱和度等性能指标,计算结果存储到Apache Doris中。Apache Doris是MPP分析型数据库产品,亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。可视化层采用前后端分离技术,后端使用Spring Boot实现业务逻辑处理,前端使用Vue实现可视化展现。
二、实时AIS性能指标分析
1、算法处理流程
为了实现AIS数据实时修正和服务性能指标的实时统计,一种基于流式计算的实时并行计算方法被应用于AIS数据处理。算法处理流程如图2所示。首先各基站通过边端服务器将AIS数据通过Kafka集群传递到云端。云端首先进行去重和数据解析,通过解析后的数据预测船舶下一包AIS报文。分别统计基站的饱和度和区域船舶数量等信息。当存储在Redis缓存中的报文失效后,分析AIS失效原因,并按照船舶、网格和基站分别统计AIS服务性能。
2、数据清洗
步骤1:AIS数据去重
AIS的核心思想是卫星定位信息的广播式转发,为提高AIS岸基系统的覆盖率,AIS基站之间的距离小于基站的覆盖范围,导致岸基存在接收重叠区域,即某条船舶广播的AIS报文被多个基站接收到。大量冗余的AIS数据必然会增加系统存储、传输和处理的成本,所以为了减轻后续步骤的负担,首先是对AIS数据进行去重操作。由于AIS报文中没有包含完整时间戳,只包含UTC秒,在经纬度、速度等相同的情况,是有可能出现两条原始报文相同的情况,尤其是在船舶静止的情况下。在大部分情况下从岸基获取AIS消息到传递到云端是小于1分钟的,所以同一条报文通过不同岸基传递到云端的时间是在1分钟以内。同时出现1分钟内接收的两条报文实际发送时间相差1分钟且报文内容完全相同是小概率时间,不会影响数据分析结果。
本文通过Redis的TTL(Time To Live)特性实现1分钟以内相同AIS报文的去重,通过Flink中的filter算子过滤掉重复的数据。Redis的TTL特性即存储数据只在一定时间内有效,当生命周期结束,存储数据就无效了。filter算子是过滤筛选,将符合判断条件的结果集输出。算子对每条AIS数据进行过滤,如果达到Flink集群中的AIS报文已存在于Redis缓存中,则表示该报文重复,返回false,过滤掉该条数据。如果该报文不存在于Redis缓存中,则返回True,保留下该条AIS报文,同时将该报文存储到Redis缓存中,并设置Time ToLive为1分钟。
步骤2:AIS数据解析
为了提高AIS报文传输效率,AIS报文进行了压缩编码。为了获取报文中包含的真实信息,需要按照规定格式进行解码。平台通过map算子实现AIS原始数据的解码,map算子转换过程是将AIS原始报文转换为基于逗号分隔的AIS明文。一个完整的AIS报文如图3所示,由7个字段组成,每个字段之间用逗号隔开。
第一个字段是数据包标注,!开始表示该条报文是压缩编码,前两个字母是设备标志,AIVDM表示该报文由船舶通过VHF链路广播的消息。第二个字段是AIS消息的语句数,由于AIS报文有效载荷大小是受限制的,对于大的AIS消息需要拆分为语句发送。例中的语句数为1,表示该AIS消息只需要1条语句即可,第三个字段是语句序列,例子中是1,表示是第一条语句。第四个字段是连续报文语句的识别码,使其他语句可以与包含该同一电文的各语句相互穿插。如果某AIS消息只使用一个语句时,该字段为空。第5个字段是AIS的信道,AIS的信道分为A和B两个信道。第六个字段是封装的报文数据,如果消息是由多条语句组成,那么在解码时需要将各条消息提取合并成一个完整的消息码文才能进行解码。第7个字段是填充位数和校验字段。封装的报文数据第一个字段说明了报文的类型,常用的报文类型分为AIS目标信息、安全信息处理、扩展应用处理和系统控制四类。AIS目标信息又分为船舶静态信息和船舶动态信息。动态信息主要包括船舶MMSI码、航速、经纬度等信息,静态信息是类型包括船舶MMSI、IMO、名称、船长,船宽、目的港、类别、呼号等信息。
数据解析就是按照VDM协议将报文转换解析流程首先判断CRC校验是否一致,即计算报文的CRC码与传递的CRC码是否一致,如果不一致,表明该条报文存在错误。数据一致,对应报文类型信息按照给定的起始位寻找对应的起始字节,连续取指定位宽的数据,再经过转换合并成需要的信息。
步骤3:错误数据甄别
该步骤是将存在错误的AIS报文数据甄别出来并进行修复,主要错误有经纬度异常、速度和航向异常、接收顺序错误、以及多船使用同一MMSI码,修复的数据打上标记,通过Kafka消息队列同时存储到Doris数据库和下一级Flink集群进行下一步操作。
对于经纬度不处于正常范围的船舶,结合轨迹信息进行修复,如果前后报文数据相差在10分钟以内,依据船舶轨迹对当前报文数据进行修复。如果报文发送时间间隔超过10分钟,则不进行修复,标注该数据无效。如果两个AIS报文中的速度和航向角差值在阈值内,直接以平均值作为该段时间船舶的航行速度和航向。本文采用墨卡托算法计算船舶航迹,该方法是利用墨卡托海图投影具有等角及恒向线为直线的特点而得出的经差计算法。假定上一报文的经纬度为是longt-1,latt-1,航行速度是speedt,航向角是courset,tdiff表示两个报文之间的时间差,St表示船舶两点之间的航程。当前经纬度longt,latt计算公式如下:
latt=latt-1+St×cos(courset) (1)
longt=longt-1+DMP×tan(courset) (2)
其中,DMP是两点的渐长纬度差值,公式为:
St=speedt×tdiff (3)
DMP=MP(latt)-MP(latt-1) (4)
其中,MP是墨卡托海图纵坐标上单位纬度投影的长度随纬度增高而渐长的子午线弧长,公式为:
如果两个AIS报文中的速度和航向角差在阈值外,通过均匀插入n个点来逐步推算出当前报文的,包括前后报文共有n+2点,第1个点为上一报文的位置,第n+2点为当前报文的位置。假定船舶的加速度和航向的改变是均匀的,船舶在第i个点上的速度和航向计算如下:
按照公式(1)(2)依次推导出各个点的经纬度。
对于船舶速度、航向值不在正常范围的报文,通过前后AIS报文进行计算。
船舶MMSI是AIS系统进行船舶识别跟踪的标识,该值由船上工作人员录入到船台AIS设备上,存在MMSI码输入错误导致两艘或多艘船舶使用同一MMSI码,使得跟踪的轨迹在这些船舶之间不停的跳跃,造成识别跟踪错误。多船使用同一MMSI码识别流程如图4所示。
首先以MMSI为键值在Redis中查找船舶,新增船舶将其轨迹信息存储到Redis中。已有船舶判断新AIS报文中的位置信息是否与现有轨迹匹配的,如果未有匹配,为该船舶添加一段新的轨迹。如果匹配,将位置、速度等信息更新到相应的轨迹上。
由于AIS数据是通过不同的基站采集而来,存在先发送的AIS报文后被收到,如果不进行排序,会导致船舶轨迹来回跳跃的现象。基于此,对于处理过的AIS数据没有直接存储到数据仓库和下一个环节进行统计,而是将数据缓存,设置时间窗口,时间窗口外的数据将被推送到下一步骤。
设置2分钟的时间窗口根据船舶的行进方向对缓存中的AIS数据进行排序。假定缓存中的AIS报文为x1,x2,xn-1,最新接收的报文为xn,将xn与缓存中的报文xi依次对比将其插入到合适的位置。计算xn和xi之间的方向角,如果该方向角与船舶航行方向基本一致,表示xn报文是xi之后的报文,将其插入到xi之后,排序结束。否则将xn报文继续与xi-1报文进行对比,直到与缓存中所有报文比较完成。
3、数据预测
数据预测流程实现下一包AIS报文的接收时间,如果没有在规定时间内接收到相应的AIS报文,则通过已有的轨迹信息预测出当前的轨迹信息,并发送到下一步骤。
步骤1:预测下一包AIS接收时间
AIS发送频率与报文类型、船台类型和航行状态相关。静态数据按照每6分钟发送,动态数据依赖航速和航向。A类船台发送时间间隔为2秒,3.33秒,6秒,10秒和180秒。B类船台发送时间间隔为5秒,15秒,30秒和180秒。
基于当前报文船舶速度和转向变换获得下次预收取报文的时间和位置。
以船舶MMSI码为键值,将该船舶AIS下一包预测接收时间存储到Redis缓存中。
Tpredict=T+ΔT (10)
其中Tpredict为下一包接收预测时间,T为当前包接收的时间,ΔT为预测的间隔时间。设置失效时间为预测AIS发送时间间隔的一倍,即2ΔT。
步骤2:处理Redis失效数据
如果基站在失效时间之内接收到船舶AIS信号,就根据新接收的AIS数据更新缓存中的下一包AIS接收时间和数据失效时间。如果在失效时间内没有接收到船舶新的AIS数据,表示存在AIS数据丢失现象,通过已有的船舶轨迹信息填充缺失的轨迹信息。
由于船舶运动较为匀速,将其假定为线性高斯系统。Redis缓存中保存十分钟内的船舶运动数据,以时间为应变量,通过线性回归计算下一时刻的船速度和转向。假设缓存中存储的船舶速度和航行角为speedt1,speedt2,speedtn和航行headt1,headt2到headtn,计算临近报文之间船舶的加速度和转向角,以报文接收时间为应变量,加速度和转向角为因变量,通过线性回归预测船舶当前的加速度和转向角accepd和turnpd,从而预测出当前船舶的速度和转向角。
speedpd=speedtn+accepd (11)
headpd=headtn+turnpd (12)
船舶经纬度坐标按照公式(1)至(5)计算。将预测的船舶经纬度、船舶速度和航行角发送到Kafka消息队列提供给下一步骤计算。同时将该报文信息继续存储到Redis缓存中,并累加连续丢包次数,同时根据预测的速度和转向角设置失效时间。
4、数据统计
在数据统计模块中,设置5分钟时间窗口,对窗口内的数据进行相关统计。
步骤1:基础数据统计
在该步骤中,需要完成以下的统计,按网格实时统计更新船舶的密度;按基站实时统计覆盖的船台数量以及系统的实际容量。按辖区统计AIS报文数量、AIS发送时间间隔。
基于网格单元统计船舶密度是一种经常采用的方法。统计网格密度的时候需要选择特定时间点来统计,本文选择窗口中间时间点来统计,每天船舶选择与中间时间最接近的2条AIS数据来计算船舶在窗口中间时间时候的位置。
其中posmiddle表示船舶在窗口中间时间的位置,tmiddle表示窗口中间时间,tnext和tpre分别表示船舶在窗口中间时间的前后包接收时间,pospre和posnext分别是对应的位置。如果该窗口就有一条AIS数据,就按照公式(1)至(5)推导出船舶的位置。根据船舶所在的网格累计该网格中的船舶数量。
按基站实时统计覆盖的船台数量,统计方法与网格统计船舶密度方法一样,将窗口中间时间点设置为统计瞬间,计算该位置与基站的位置,如果在覆盖半径内,累计该基站覆盖的船台数量。AIS通信系统将1分钟分为2250个时隙,通常在一个时隙内完整传输一个位置报告报文,表示了系统所能承受的上限即系统容量。实际容量是系统实际需要的时隙,表示了系统的实际负荷情况。由于不同船舶每分钟需要的时隙数是不一样的,需要累加不同船舶占用的时隙来统计系统实际容量。设某个发送时间间隔船舶数量为Mi(i=1,2,…8),规定发送时间间隔为Ti(i,2,…8)秒,则系统的实际容量N是:
计算出系统实际容量和最大承载容量的比值,该比值大于1表示系统过载。时隙复用数会伴随着系统实际容量增大而增多,当比值达到500%的时候,时隙服用数接近100%,几乎每个时隙都被复用了。时隙服用会导致出现盲通信和识别通信的现象,最终导致AIS数据的丢失。
按辖区实时统计5分钟收到的AIS报文总数量,以及不同航行状态下(规定不同发送时间间隔)船舶实际接收AIS报文的时间间隔。
步骤2:错误数据统计
由于错误数据主要是由船舶自身原因导致,所以系统在窗口内按每条船舶统计错误数据,包括船舶位置错误、航行状态(速度和航行角)错误和复用MMSI码。
船舶位置错误统计包括错误数量统计和错误率统计。错误数量通过累加船舶位置错误的AIS数量获得,某船舶位置错误率Rpe计算如下:
其中Npe表示船舶位置错误的AIS包数量,N表示收到的AIS包数量。某船舶航行状态错误率Rnv计算如下:
其中Nnv表示船舶位置错误的AIS包数量。复用MMSI错误统计船舶轨迹段数量获得。
步骤3:丢包数据统计
实时分析船舶丢包原因,在这里将船舶丢包归纳为3类,船舶因素、区域因素和基站因素。
首先判断船舶离最近基站容量,如果容量<0.8,表示基本不存在时隙复用,排除由基站因素导致的AIS数据丢包。如果容量大于0.8,按照船岸之间的距离判断AIS丢包原因。
如果排除基站因素,判断该网格区域船舶存在丢包的数量,如果占比超过10%,判断是由于该区域的地理环节导致存在盲区,归纳丢包原因是由网格因素导致。
船舶不仅在该网格中存在丢包现象,在其他区域也频繁存在丢包原因,将AIS丢包归结为船舶自身原因导致的丢包。
(1)单艘船舶丢包率统计
单艘船舶的丢包率Rship计算公式如下:
其中Nship表示船舶在窗口内收到的AIS报文数量,Neship表示由于船舶自身原因丢包的数量。船舶每10分钟接收报文的数量、丢失报文的数量,因自身原因丢包的数量以及船舶丢包率都被存储到Doris数仓中,提供前端实时查询。
(2)网格丢包率统计
某网格窗口内的丢包率Rgrid计算公式如下:
其中Ngrid表示某网格在窗口内收到的AIS报文数量,Negrid表示由于网格区域地理环节导致丢包的数量。某网格每10分钟接收报文的数量、丢失报文的数量,因自身原因丢包的数量以及船舶丢包率都被存储到Doris数仓中,提供前端实时查询。
(3)基站丢包率统计
基站窗口内的丢包率Rbase计算公式如下:
其中Nbase表示某基站在窗口内收到的AIS报文数量,Nebase表示由于基站容量导致丢包的数量。某基站每10分钟接收报文的数量、丢失报文的数量,基站实际容量,因容量原因丢包的数量以及丢包率都被存储到Doris数仓中,提供前端实时查询。
5、数据可视化
可视化模块通过前后端分离模式实现,后端通过Spring Boot和MyBatis plus从Doris数据仓库中获取数据,前端通过Vue,MapBox实现数据展示,前后端通过Ajax实现数据传递。
本方案围绕AIS数据实时处理开展了相关研究,以长江干线江苏段AIS数据为例,分析AIS数据质量,研究结论如下:
(1)由于基站覆盖区重叠,导致存在大量AIS数据重复,如果没有实时去重,将导致轨迹存在来回跳跃现象,通过对AIS数据实时清洗去重,有效改善了AIS数据质量。
(2)由于定位和惯性系统的可靠性问题,大量船舶存在定位和航行数据异常状态,通过对轨迹和航行状态数据的修复,有效改善了船舶轨迹信息。
(3)大量MMSI码存在复用问题,通过对同一MMSI码不同轨迹的标识,可以为海事管理提供借鉴。
(4)通过对船舶丢包率、区域丢包率的实时分析,可以有效分析出船舶丢包原因,为海事管理和基站布局等提供借鉴。
综上,针对AIS数据质量问题,本文设计并实现了实时AIS数据清洗和性能分析算法。算法基于流式计算分布式并行执行海量AIS数据实时分析,通过消息队列实现消息在各模块之间的传递。首先AIS采集程序收集基站的AIS原始报文,通过消息队列推送给流式计算平台,流式计算平台通过报文数据解析和去重、基站覆盖范围内实际AIS数量、船舶报文预测、预测报文数据监测、丢包数据分析、区域数据统计步骤组成,最终结果通过数据可视化技术展现出来。通过AIS性能指标的实时分析,为海事AIS基站布局提供数据支撑,提升AIS性能指标,为船舶导航、海事监管提高更好的保障。
实施例二:
一种船舶自动识别系统数据处理系统,可实现实施例一所述的一种船舶自动识别系统数据处理方法,包括:
数据采集模块:用于通过AIS采集终端收集基站的AIS报文;
数据聚焦模块:用于将各个AIS采集终端上传的数据汇聚后上传;
数据清洗模块:用于采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
数据分析模块:用于基于清洗后的AIS报文进行实时性能指标统计;
数据展示模块:用于结合实时性能指标统计结果进行可视化展示。
实施例三:
本发明实施例还提供了一种船舶自动识别系统数据处理装置,可实现实施例一所述的一种船舶自动识别系统数据处理方法,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行下述方法的步骤:
收集基站的AIS报文;
采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
基于清洗后的AIS报文进行实时性能指标统计;
结合实时性能指标统计结果进行可视化展示。
实施例四:
本发明实施例还提供了一种计算机可读存储介质,可实现实施例一所述的一种船舶自动识别系统数据处理方法,其上存储有计算机程序,该程序被处理器执行时实现下述方法的步骤:
收集基站的AIS报文;
采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
基于清洗后的AIS报文进行实时性能指标统计;
结合实时性能指标统计结果进行可视化展示。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (9)
1.一种船舶自动识别系统数据处理方法,其特征是,包括:
收集基站的AIS报文;
采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
基于清洗后的AIS报文进行实时性能指标统计;
结合实时性能指标统计结果进行可视化展示。
2.根据权利要求1所述的船舶自动识别系统数据处理方法,其特征是,采用流式计算技术对AIS报文进行清洗,包括:
AIS数据去重:通过Redis的TTL特性实现设定时间以内相同AIS报文的去重,通过Flink中的filter算子过滤掉重复的数据;
AIS数据解析:按照VDM协议将报文转换解析流程首先判断CRC校验是否一致,即计算报文的CRC码与传递的CRC码是否一致,如果不一致,表明该条报文存在错误;数据一致,对应报文类型信息按照给定的起始位寻找对应的起始字节,连续取指定位宽的数据,再经过转换合并成需要的信息;
错误数据甄别:将存在错误的AIS报文数据甄别出来并进行修复,主要错误有经纬度异常、速度和航向异常、接收顺序错误、以及多船使用同一MMSI码,修复的数据打上标记,通过Kafka消息队列同时存储到Doris数据库和下一级Flink集群进行下一步操作。
3.根据权利要求1所述的船舶自动识别系统数据处理方法,其特征是,所述方法还包括在规定时间内没有接收到相应的AIS报文时,进行AIS报文数据预测,具体包括:
预测下一包AIS接收时间:基于当前报文船舶速度和转向变换获得下次预收取报文的时间和位置,以船舶MMSI码为键值,将该船舶AIS下一包预测接收时间存储到Redis缓存中:
Tpredict=T+ΔT
其中:Tpredict为下一包接收预测时间,T为当前包接收的时间,ΔT为预测的间隔时间,设置失效时间为预测AIS发送时间间隔的一倍,即2ΔT;
处理Redis失效数据:如果基站在失效时间之内接收到AIS报文,根据新接收的AIS数据更新缓存中的下一包AIS接收时间和数据失效时间;如果在失效时间内没有接收到船舶新的AIS数据,表示存在AIS数据丢失现象,通过已有的船舶轨迹信息填充缺失的轨迹信息。
4.根据权利要求1所述的船舶自动识别系统数据处理方法,其特征是,基于清洗后的AIS报文进行实时性能指标统计,包括:
基础数据统计:按网格实时统计更新船舶的密度,按基站实时统计覆盖的船台数量以及系统的实际容量,按辖区统计AIS报文数量、AIS发送时间间隔;
错误数据统计:包括船舶位置错误、航行状态(速度和航行角)错误和复用MMSI码统计。
丢包数据统计:判断船舶离最近基站容量,如果容量<0.8,表示基本不存在时隙复用,排除由基站因素导致的AIS数据丢包;如果容量大于0.8,按照船岸之间的距离判断AIS丢包原因,其中,如果排除基站因素,判断该网格区域船舶存在丢包的数量,如果占比超过10%,判断是由于该区域的地理环节导致存在盲区,归纳丢包原因是由网格因素导致,如果船舶不仅在该网格中存在丢包现象,在其他区域也频繁存在丢包原因,将AIS丢包归结为船舶自身原因导致的丢包。
5.根据权利要求1所述的船舶自动识别系统数据处理方法,其特征是,丢包数据统计包括单艘船舶丢包率统计、网格丢包率统计和基站丢包率统计,其中:
单艘船舶丢包率统计:单艘船舶的丢包率Rship计算公式如下:
其中Nship表示船舶在窗口内收到的AIS报文数量,Neship表示由于船舶自身原因丢包的数量;
网格丢包率统计:某网格窗口内的丢包率Rgrid计算公式如下:
其中Ngrid表示某网格在窗口内收到的AIS报文数量,Negrid表示由于网格区域地理环节导致丢包的数量;
基站丢包率统计:基站窗口内的丢包率Rbase计算公式如下:
其中Nbase表示某基站在窗口内收到的AIS报文数量,Nebase表示由于基站容量导致丢包的数量。
6.根据权利要求1所述的船舶自动识别系统数据处理方法,其特征是,结合实时性能指标统计结果进行可视化展示,包括:可视化展示由前后端分离模式实现,后端通过SpringBoot和MyBatis plus从Doris数据仓库中获取数据,前端通过Vue,MapBox实现数据展示,前后端通过Ajax实现数据传递。
7.一种船舶自动识别系统数据处理系统,其特征是,包括:
数据采集模块:用于通过AIS采集终端收集基站的AIS报文;
数据聚焦模块:用于将各个AIS采集终端上传的数据汇聚后上传;
数据清洗模块:用于采用流式计算技术对AIS报文进行清洗后,推送到Redis缓存中;
数据分析模块:用于基于清洗后的AIS报文进行实时性能指标统计;
数据展示模块:用于结合实时性能指标统计结果进行可视化展示。
8.一种船舶自动识别系统数据处理装置,其特征是,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1~6任一项所述方法的步骤。
9.计算机可读存储介质,其上存储有计算机程序,其特征是,该程序被处理器执行时实现权利要求1~6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210793896.8A CN115422308A (zh) | 2022-07-07 | 2022-07-07 | 一种船舶自动识别系统数据处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210793896.8A CN115422308A (zh) | 2022-07-07 | 2022-07-07 | 一种船舶自动识别系统数据处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115422308A true CN115422308A (zh) | 2022-12-02 |
Family
ID=84196884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210793896.8A Pending CN115422308A (zh) | 2022-07-07 | 2022-07-07 | 一种船舶自动识别系统数据处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115422308A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117857671A (zh) * | 2024-03-08 | 2024-04-09 | 交通运输部北海航海保障中心天津航标处 | 一种基于船舶报文的多源ais数据完善性处理方法 |
-
2022
- 2022-07-07 CN CN202210793896.8A patent/CN115422308A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117857671A (zh) * | 2024-03-08 | 2024-04-09 | 交通运输部北海航海保障中心天津航标处 | 一种基于船舶报文的多源ais数据完善性处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108322891B (zh) | 基于用户手机信令的交通区域拥堵识别方法 | |
US7783296B2 (en) | Method for measuring road traffic load based on analyzing cellular communications | |
WO2018122804A1 (zh) | 一种非等距时空划分的道路交通异常检测方法 | |
CN101702024B (zh) | 基于广播式自动相关监视的信号处理方法及装置 | |
CN113256146B (zh) | 船舶监管方法及系统 | |
CN107818382A (zh) | 航班到达时间预测方法 | |
CN111294742B (zh) | 基于信令cdr数据识别伴随手机号码的方法与系统 | |
CN115422308A (zh) | 一种船舶自动识别系统数据处理系统及方法 | |
CN116758723B (zh) | 一种车辆运输监测方法、系统及介质 | |
CN113240212A (zh) | 生成航班飞行轨迹的数据处理方法、电子设备和介质 | |
Wen et al. | Spatio-temporal route mining and visualization for busy waterways | |
Mieczyńska et al. | DBSCAN algorithm for AIS data reconstruction | |
CN114390438B (zh) | 一种交通设备定位方法及装置 | |
Hemalatha | Implementation of data mining techniques for weather report guidance for ships using global positioning system | |
CN117214935A (zh) | 基于卫星定位的位置监控方法及装置 | |
Lv et al. | A Real‐Time AIS Data Cleaning and Indicator Analysis Algorithm Based on Stream Computing | |
CN108052629A (zh) | 一种基于高精度dem数据的快速海陆判断方法 | |
Patroumpas | Online mobility tracking against evolving maritime trajectories | |
CN115328903B (zh) | 船舶停留状态识别方法和装置、电子设备和存储介质 | |
Evmides et al. | An Intelligent Framework for Vessel Traffic Monitoring Using AIS Data | |
Bao et al. | AIS big data framework for maritime safety supervision | |
CN115841765A (zh) | 车辆位置盲区监控方法、装置、电子设备及可读存储介质 | |
CN105553787A (zh) | 基于Hadoop的边缘网出口网络流量异常检测方法、系统 | |
CN110139308A (zh) | 一种基于大数据技术的无线网络干扰检测方法及装置 | |
CN116192691A (zh) | 一种数据包延时判断方法和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20221202 |