CN114996261A - 基于ais数据的去重方法、装置、终端设备及存储介质 - Google Patents
基于ais数据的去重方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN114996261A CN114996261A CN202210938400.1A CN202210938400A CN114996261A CN 114996261 A CN114996261 A CN 114996261A CN 202210938400 A CN202210938400 A CN 202210938400A CN 114996261 A CN114996261 A CN 114996261A
- Authority
- CN
- China
- Prior art keywords
- data
- deduplication
- ais data
- ais
- 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.)
- Granted
Links
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/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
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G3/00—Traffic control systems for marine craft
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Ocean & Marine Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于大数据处理技术领域,尤其涉及基于AIS数据的去重方法、装置、终端设备及存储介质。该方法包括:获取预设的时间窗口,时间窗口包括多个时间片,时间窗口每次滑动一个时间片;获取处于时间窗口内的第N‑1个时间片对应的多个AIS数据;对第N‑1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。本方法中的去重处理方式,相较于传统的逐个比较去重的方式,大大减少了AIS数据去重的时间;时间窗口每次滑动一个时间片,依次对一个时间片对应的多个AIS数据进行并行去重处理,不容易出错,有效地提升了去重结果的质量。
Description
技术领域
本申请属于大数据处理技术领域,尤其涉及一种基于AIS数据的去重方法、装置、终端设备及存储介质。
背景技术
船舶自动识别系统(Automatic Identification System,AIS)是一种新型的船舶避碰系统,也称无线电应答系统,用于船舶之间、船岸之间自动应答和识别,由AIS船台和AIS岸站系统组成,通过增强船舶识别和船舶动态信息收集的功能,实现船岸之间的信息传输和交换,可在航行安全、交通控制和海事管理方面发挥十分重要的作用。
随着该系统的深入推广和应用,海量船舶AIS数据不断积累,为后续数据分析应用创造了条件。由于AIS系统通过广播机制工作,热备站间、基站间、辖区间、海区间,以及不同数据来源间,避免不了会有大量重复的数据。为了保障AIS数据的质量,对AIS数据进行去重处理,保证数据的唯一性就显得格外重要。
然而,采用传统的去重方法对AIS数据去重时,整个去重过程耗费时间长、容易出错,导致去重效果差。
发明内容
有鉴于此,本申请实施例提供了一种基于AIS数据的去重方法、装置、终端设备及存储介质,以解决目前采用传统的去重方法对AIS数据去重时,整个去重过程耗费时间长、容易出错,导致去重效果差的问题。
本申请实施例的第一方面提供了一种基于AIS数据的去重方法,可以包括:
获取预设的时间窗口,所述时间窗口包括多个时间片,所述时间窗口每次滑动一个时间片;
获取处于所述时间窗口内的第N-1个时间片对应的多个AIS数据,N为正整数;
对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;
对所述初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。
本申请提供的基于AIS数据的去重方法中,通过获取时间窗口内的第N-1个时间片对应的多个AIS数据;对第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。这种并行去重处理的方式,相较于传统的逐个比较去重的方式,大大减少了AIS数据去重的时间,提升了AIS数据去重的效率。且时间窗口每次滑动一个时间片,依次对一个时间片对应的多个AIS数据进行并行去重处理,减少去重处理过程中错误的发生,提升了AIS数据去重结果的质量。
可选地,在一种可能的实现方式中,所述对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果,包括:
将所述第N-1个时间片对应的多个AIS数据划分为M个数据组,每个数据组包括两个AIS数据,M为正整数;
对M个数据组同时进行去重处理,得到每个数据组的去重结果;
将各个数据组的去重结果合并为目标AIS数据,所述目标AIS数据包括多个AIS数据;
对所述目标AIS数据进行并行去重,直至所述第N-1个时间片对应的多个AIS数据完成并行去重,得到所述初始去重结果,所述初始去重结果中的各个AIS数据均不相同。
可选地,在一种可能的实现方式中,所述对M个数据组同时进行去重处理,得到每个数据组的去重结果,包括:
针对每个数据组,判断所述数据组中的两个AIS数据是否相同;
当判定所述数据组中的两个AIS数据相同时,保留所述两个AIS数据中的一个AIS数据,丢弃所述两个AIS数据中的另一个AIS数据,得到所述数据组的去重结果。
可选地,在一种可能的实现方式中,所述针对每个数据组,判断所述数据组中的两个AIS数据是否相同之后,所述去重方法还包括:
当判定所述数据组中的两个AIS数据不同时,保留所述两个AIS数据,得到所述数据组的去重结果。
可选地,在一种可能的实现方式中,所述针对每个数据组,判断所述数据组中的两个AIS数据是否相同,包括:
针对每个数据组,获取所述数据组中的每个AIS数据的载荷信息;
当检测到两个载荷信息相同时,判定所述数据组中的两个AIS数据相同;
当检测到两个载荷信息不同时,判定所述数据组中的两个AIS数据不同。
可选地,在一种可能的实现方式中,所述针对每个数据组,获取所述数据组中的每个AIS数据的载荷信息之后,所述去重方法还包括:
采用哈希算法计算每个所述载荷信息的哈希值;
当两个载荷信息的哈希值相同时,判定所述两个载荷信息相同;
当两个载荷信息的哈希值不同时,判定所述两个载荷信息不同。
可选地,在一种可能的实现方式中,所述多个AIS数据的来源节点包括基站、第一控制中心设备、第二控制中心设备、第三控制中心设备中的任意一个。
本申请实施例的第二方面提供了一种基于AIS数据的去重装置,可以包括:
第一获取单元,用于获取预设的时间窗口,所述时间窗口包括多个时间片,所述时间窗口每次滑动一个时间片;
第二获取单元,用于获取处于所述时间窗口内的第N-1个时间片对应的多个AIS数据,N为正整数;
第一去重处理单元,用于对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;
第二去重处理单元,用于对所述初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面提供的基于AIS数据的去重方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面提供的基于AIS数据的去重方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面提供的基于AIS数据的去重方法的步骤。
本申请实施例的第六方面提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的终端设备执行上述第一方面提供的基于AIS数据的去重方法的步骤。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一示例性实施例提供的基于AIS数据的去重方法的示意性流程图;
图2是本申请一示例性实施例提供的基站归属示意图;
图3是本申请一示例性实施例提供的S1时间片对应的场景示意图;
图4是本申请另一示例性实施例提供的S2时间片对应的场景示意图;
图5是本申请又一示例性实施例提供的S6时间片对应的场景示意图;
图6是本申请另一示例性实施例示出的一种基于AIS数据的去重方法的步骤S103的具体流程图;
图7是本申请一示例性实施例示出的一种VDM报文示意图;
图8是本申请一实施例提供的一种基于AIS数据的去重装置的示意图;
图9是本申请另一实施例提供的一种终端设备的示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到【所描述条件或事件】”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到【所描述条件或事件】”或“响应于检测到【所描述条件或事件】”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参见图1,图1是本申请一示例性实施例提供的基于AIS数据的去重方法的示意性流程图。在具体的实施例中,基于AIS数据的去重方法可以由具备处理能力的终端设备执行,终端设备可以包括各种类型的服务器,例如,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务。终端设备也可以是移动终端设备(例如,智能手机、掌上电脑(Personal Digital Assistant,PDA)、平板电脑(Tablet Personal Computer,TabletPC)、笔记本电脑等)以及固定终端设备(例如,台式计算机、智能控制面板等)等。终端设备还可以是基站、控制中心设备(如基站控制设备)等。此处仅为示例性说明,对此不做限定。
如图1所示,基于AIS数据的去重方法可以包括步骤S101至步骤S104。
在本申请实施例中的多个AIS数据可以包括船舶动态数据、船舶静态数据以及船舶航次数据等。其中,船舶动态数据可以包括时间、经纬度、航向角、航行速度等信息;船舶静态数据可以包括船舶名称、船舶类型、呼号、水上移动通信业务标识码等信息;船舶航次数据可以包括船舶吃水、货物类型、出发地、目的地等信息。
终端设备获取到的需要进行去重处理的多个AIS数据,可以是通过分布在沿海和内河岸边的基站采集到的,也可以是通过低轨道卫星采集到的。本申请实施例中,以基站采集到的AIS数据为例进行说明。
示例性地,多个AIS数据的来源节点可以包括基站、第一控制中心设备、第二控制中心设备、第三控制中心设备中的任意一个或多个。
其中,第一控制中心设备可以是若干个基站所归属的辖区内的控制中心设备,该第一控制中心设备用于控制这若干个基站。
第二控制中心设备可以是若干个辖区所归属的海区内的控制中心设备,该第二控制中心设备用于管理这若干个辖区。例如,第二控制中心设备可以管理这若干个辖区内的各个基站。
第三控制中心设备可以是若干个海区所归属的国家内的控制中心设备,如管理国家数据中心的设备。该第三控制中心设备用于管理这若干个海区,例如,第三控制中心设备可以管理这若干个海区内的各个基站。
为了便于理解,请参见图2,图2是本申请一示例性实施例提供的基站归属示意图。如图2所示,基站1、基站2归属于辖区1,基站3、基站4归属于辖区2,基站5、基站6归属于辖区3,基站7、基站8归属于辖区4;辖区1、辖区2归属于海区1,辖区3、辖区4归属于海区2;海区1、海区2归属于国家。
在一些实施方式中,当需要对一个基站内部的AIS数据进行并行去重处理时,即需要对同一个基站接收到的AIS数据进行并行去重处理时,多个AIS数据由该基站获取。例如,基站1中预先设置有两台设备,每台设备都可接收得到AIS数据,对基站内部的AIS数据进行并行去重处理,即指对基站1中不同设备接收到的AIS数据进行并行去重处理。
当需要对基站间的AIS数据进行并行去重处理时,即需要对同一辖区内不同的多个基站接收到的AIS数据进行并行去重处理时,多个AIS数据由该第一控制中心设备获取。例如,辖区1内包含基站1、基站2,对基站1和基站2的AIS数据进行并行去重处理,即指对基站间的AIS数据进行并行去重处理。值得说明的是,图2示例中每个辖区包含了两个基站,实际应用中,每个辖区可包含更多数量的基站。此时,可采用分组的方式对多个基站进行分组后,再进行并行去重处理。
当需要对辖区间的AIS数据进行并行去重处理时,即需要对同一海区内不同辖区的多个基站接收到的AIS数据进行并行去重处理时,多个AIS数据由该第二控制中心设备获取。例如,海区1内包含辖区1、辖区2,海区2内包含辖区3、辖区4,对辖区1和辖区2的AIS数据进行并行去重处理,以及对辖区3和辖区4的AIS数据进行并行去重处理,即指对辖区间的AIS数据进行并行去重处理。
值得说明的是,若对辖区间的AIS数据进行并行去重处理之前,已经对各个辖区内的AIS数据进行了并行去重处理,则对各个辖区内的并行去重处理结果进行再次去重即可。例如,已经对辖区1的基站1和基站2的AIS数据,以及辖区2的基站3和基站4的AIS数据进行了并行去重处理,对辖区间的AIS数据进行并行去重处理时,对辖区1的并行去重处理结果和辖区2的并行去重处理结果进行去重即可。
当需要对海区间的AIS数据进行并行去重处理时,即需要对不同海区的多个基站接收到的AIS数据进行并行去重处理时,多个AIS数据由该第三控制中心设备获取。例如,对海区1和海区2的AIS数据进行并行去重处理,即指对海区间的AIS数据进行并行去重处理。
值得说明的是,若对海区间的AIS数据进行并行去重处理之前,已经对各个海区内的AIS数据进行了并行去重处理,则对各个海区的并行去重处理结果进行去重即可。例如,已经对海区1的AIS数据和海区2的AIS数据进行了并行去重处理,对海区间的AIS数据进行并行去重处理时,对海区1的并行去重处理结果和海区2的并行去重处理结果进行去重即可。
可选地,在一种可能的实现方式中,可以对当前来源节点的多个AIS数据进行并行去重处理后,将处理结果发送至当前来源节点的父节点所在的设备,父节点所在的设备对接收到的处理结果和其对应的多个AIS数据进行并行去重处理,并将处理结果发送至该父节点的父节点所在的设备,并重复执行该过程,直至将所有AIS数据汇总至最高节点所在的设备。
示例性地,不同的来源节点所属的父节点(上级节点)不同,各个来源节点与其所属的父节点是预先设定好的。基站的父节点为第一控制中心设备(如若干个基站所归属的辖区内的控制中心设备,该第一控制中心设备用于控制这若干个基站)。
第一控制中心设备的父节点为第二控制中心设备(如若干个辖区所归属的海区内的控制中心设备,该第二控制中心设备用于管理这若干个辖区)。
第二控制中心设备的父节点为第三控制中心设备(如若干个海区所归属的国家内的控制中心设备,如管理国家数据中心的设备)。
例如,对基站内部的多个AIS数据进行并行去重处理,将处理结果发送至第一控制中心设备。第一控制中心设备对不同基站的多个AIS数据进行并行去重处理,将处理结果发送至第二控制中心设备。第二控制中心设备对不同辖区的多个AIS数据进行并行去重处理,将处理结果发送至第三控制中心设备。第三控制中心设备对不同海区的多个AIS数据进行并行去重处理,将处理结果存储至国家数据中心。
值得说明的是,AIS数据的数据类型可以包括实时数据类型和非实时数据类型。
AIS数据通常以秒为单位进行传输,在本申请实施例中,可以预先设置接收时间,例如,每5秒接收一次AIS数据、每8秒接收一次AIS数据等。根据获取到的AIS数据的时间,判断该AIS数据的数据类型属于实时数据类型,还是属于非实时数据类型。
若接收到的AIS数据的时间与预设接收时间相同,则判定该AIS数据的数据类型属于实时数据类型。由于网络波动、中断、基站接收效率差等原因,可能会导致接收到AIS数据的时间超出预设接收时间,则判定该AIS数据的数据类型属于非实时数据类型。
例如,每5秒接收一次AIS数据。第一次接收到AIS数据的时间在第5秒,则判定该AIS数据的数据类型属于实时数据类型。第二次接收到AIS数据的时间在第13秒,则判定该AIS数据的数据类型属于非实时数据类型。此处仅为示例性说明,对此不做限定。
图1所示的步骤S101至步骤S104,具体如下:
S101:获取预设的时间窗口。
在本申请实施例中,对AIS数据进行去重处理时,由于数据量多变,为了充分利用终端设备的处理性能,不浪费资源,可以预先设置一个时间窗口。终端设备中的处理器按照预设的时间窗口对处于该时间窗口内的AIS数据进行去重处理。
时间窗口的核心,便是时间的定义,根据不同的需求为时间窗口设置不同的时间区域。例如,对数据类型属于实时数据类型的AIS数据进行去重处理时,可以将时间窗口的尺度设置为5秒、6秒、8秒等。又例如,对数据类型属于非实时数据类型的AIS数据进行去重处理时,可以将时间窗口的尺度设置为10秒、15秒、20秒等。此处仅为示例性说明,对此不做限定。
可以理解的是,不同的时间窗口对应不同的处理能力。也就是说,时间窗口设置的越大,能同时处理的AIS数据就越多,对AIS数据去重更彻底;时间窗口设置的越小,能同时处理的AIS数据就越少,对AIS数据去重速度更快。
时间窗口包括多个时间片,每个时间片对应的时间自行设定。例如,在本申请实施例中,每个时间片可以对应1秒、2秒、5秒等。时间窗口的时间区域越长,可同时容纳的时间片便越多。例如,时间窗口的时间区域为5秒,每个时间片对应1秒时,可最多同时容纳5个时间片;时间窗口的时间区域为10秒,每个时间片对应1秒时,可最多同时容纳10个时间片。此处仅为示例性说明,对此不做限定。
预先设置时间窗口每次滑动的大小,通常时间窗口滑动的大小不超过时间窗口的大小。例如,在本申请实施例中,时间窗口可以每次滑动一个时间片,即时间窗口每次前进1秒。又例如,在本申请实施例中,时间窗口可以每次滑动两个时间片,即时间窗口每次前进2秒。
S102:获取处于时间窗口内的第N-1个时间片对应的多个AIS数据。
N为正整数。可以理解的是,当N=1时,此时处于时间窗口内的第0个时间片对应的多个AIS数据为空。当N>1时,此时获取处于时间窗口内的第N-1个时间片对应的多个AIS数据。
每个时间片对应一列AIS数据,每列AIS数据包含多个AIS数据。在本申请实施例中,以S1、S2、S3、S4、S5、S6、S7、S8、S9……表示时间片。
为了便于理解,请参见图3,图3是本申请一示例性实施例提供的S1时间片对应的场景示意图。时间线可用于表示时间窗口移动的方向。图3所示的是,当N=2时,此时处于时间窗口内的第1个时间片对应的多个AIS数据,即获取S1时间片对应的多个AIS数据。如图3所示,S1时间片对应第一列AIS数据,该第一列AIS数据处于时间窗口内,该第一列AIS数据包含3个AIS数据,分别表示为da1、db1、dx1。
随着时间窗口的滑动,处于时间窗口内的多个AIS数据也随之改变。为了便于理解,请参见图4,图4是本申请另一示例性实施例提供的S2时间片对应的场景示意图。例如,时间窗口滑动一个时间片,当N=3时,此时处于时间窗口内的有第1个时间片对应的多个AIS数据,以及第2个时间片对应的多个AIS数据。获取第2个时间片对应的多个AIS数据,即获取S2时间片对应的多个AIS数据。S2时间片对应第二列AIS数据,该第二列AIS数据处于时间窗口内,该第二列AIS数据包含的AIS数据分别表示为da2、db2、dx2。
可以理解的是,在本申请实施例中,时间窗口的时间区域为5秒,每个时间片对应1秒,当时间窗口滑动到S6时间片时,S1时间片对应的多个AIS数据将因为超时出列,而S6时间片对应的多个AIS数据则进入时间窗口。
为了便于理解,请参见图5,图5是本申请又一示例性实施例提供的S6时间片对应的场景示意图。图5所示的是,当N=7时,此时处于时间窗口内的有S2时间片、S3时间片、S4时间片、S5时间片、S6时间片分别对应的多个AIS数据。即此时处于时间窗口内的有S2时间片对应的da2、db2、dx2 AIS数据,S3时间片对应的da3、db3、dx3 AIS数据,S4时间片对应的da4、db4、dx4AIS数据,S5时间片对应的da5、db5、dx5 AIS数据,S6时间片对应的da6、db6、dx6 AIS数据。而S1时间片对应的da1、db1、dx1 AIS数据因为超时而移出时间窗口。
以此类推,AIS数据越多,所需要的时间片越多,每增加一列AIS数据,增多一个时间片。值得说明的是,图3至图5中仅示出了S1时间片至S9时间片对应的场景,实际在处理过程中,AIS数据远超于此。
S103:对第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果。
在本申请实施例中,当N=1时,此时处于时间窗口内的第0个时间片对应的多个AIS数据为空。那么,此时对第0个时间片对应的多个AIS数据进行并行去重,得到的初始去重结果也为空。
示例性地,当N>1时,对第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果。初始去重结果包括至少一个AIS数据,当初始去重结果包括多个AIS数据时,每个AIS数据均不相同。
例如,当N=2时,对第1个时间片对应的多个AIS数据进行并行去重,即对S1时间片对应的da1、db1、dx1 AIS数据进行并行去重。若da1、db1、dx1三个AIS数据中,dx1与da1重复,da1与db1不重复,则丢弃dx1或da1。例如,丢弃dx1,保留da1与db1,初始去重结果即为da1与db1这两个AIS数据。
若da1、db1、dx1三个AIS数据均相同,则任意保留其中一个AIS数据,丢弃其余两个AIS数据。例如,丢弃da1与db1,保留dx1。初始去重结果即为dx1这个AIS数据。此处仅为示例性说明,对此不做限定。
S104:对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。
在本申请实施例中,当N=1时,初始去重结果为空,而第N个时间片对应的多个AIS数据,即为S1时间片对应的多个AIS数据。对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,由于此时初始去重结果为空,相当于对第1个时间片对应的多个AIS数据进行并行去重,即对S1时间片对应的多个AIS数据进行并行去重,得到目标去重结果。目标去重结果包括至少一个AIS数据,当目标去重结果中包括多个AIS数据时,每个AIS数据均不相同。
可选地,在一种可能的实现方式中,可直接对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重处理,得到目标去重结果。
可选地,在另一种可能的实现方式中,可先对第N个时间片对应的多个AIS数据进行并行去重处理,得到去重结果,将该去重结果与初始去重结果再进行并行去重处理,得到目标去重结果。
示例性地,当N>1时,如N=2时,初始去重结果是对第1个时间片对应的多个AIS数据进行并行去重,即对S1时间片对应的da1、db1、dx1 AIS数据进行并行去重得到的。假设初始去重结果包括da1与db1这两个AIS数据。
N=2时,第N个时间片对应的多个AIS数据,即S2时间片对应的多个AIS数据为da2、db2、dx2 AIS数据。
在一种可能的实现方式中,对da1、db1、da2、db2、dx2 这几个AIS数据直接进行并行去重,得到目标去重结果。例如,da2与db1重复,其余均不重复,则丢弃da2或db1。如丢弃da2,保留db1,目标去重结果即为da1、db1、db2、dx2。
在另一种可能的实现方式中,先对S2时间片对应的da2、db2、dx2 AIS数据进行并行去重处理。若da2、db2、dx2三个AIS数据中,dx2与da2重复,da2与db2不重复,则丢弃dx2或da2。例如,丢弃dx2,保留da2与db2,此时得到的去重结果即为da2与db2这两个AIS数据。
对该去重结果中的da2、db2以及初始去重结果中的da1、db1进行并行去重处理,得到目标去重结果。例如,da2与db1重复,其余均不重复,则丢弃da2或db1。如丢弃da2,保留db1,目标去重结果即为da1、db1、db2。
可以理解为,第N个时间片对应的目标去重结果,是对第N-1个时间片以及第N个时间片对应的多个AIS数据进行并行去重处理得到的。第N-1个时间片对应的目标去重结果,是对第N-2个时间片以及第N-1个时间片对应的多个AIS数据进行并行去重处理得到的。因此,第N个时间片对应的目标去重结果,实际上是对第N个时间片之前以及第N个时间片对应的多个AIS数据进行并行去重处理后得到的。
本申请提供的基于AIS数据的去重方法中,通过获取时间窗口内的第N-1个时间片对应的多个AIS数据;对第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。这种并行去重处理的方式,相较于传统的逐个比较去重的方式,大大减少了AIS数据去重的时间,提升了AIS数据去重的效率。时间窗口每次滑动一个时间片,依次对一个时间片对应的多个AIS数据进行并行去重处理,减少去重处理过程中错误的发生,提升了AIS数据去重结果的质量。按照时间窗口动态调整比对数据,能够更加精准地去除时间窗内的重复数据,避免超出时间窗口界限的有效数据丢失。
请参见图6,图6是本申请另一示例性实施例示出的一种基于AIS数据的去重方法的步骤S103的具体流程图;可选地,在本申请一些可能的实现方式中,为了提升去重处理的速度,上述S103可包括步骤S1031至步骤S1034,具体如下:
S1031:将第N-1个时间片对应的多个AIS数据划分为M个数据组。
示例性地,为了快速判断出AIS数据之间是否重复,将要进行去重处理的多个AIS数据划分为M个数据组。其中,每个数据组包括两个AIS数据,M为正整数。
当第N-1个时间片对应的多个AIS数据的数量刚好为偶数时,则将多个AIS数据两两为一组划分,得到若干个数据组。例如,第10个时间片即S10时间片对应的多个AIS数据分别为da10、db10、dx10、dy10。将da10、db10、dx10、dy10划分为两个数据组,分别为数据组1:da10、db10,数据组2:dx10、dy10。
当第N-1个时间片对应的多个AIS数据的数量刚好为奇数时,先进行两两划分,将多余的那个AIS数据与一个空数据划分为一个数据组,或者将多余的那个AIS数据单独作为一个特殊的数据组,或者将多余的那个AIS数据与其他任意一个AIS数据组成一个数据组。例如,第1个时间片即S1时间片对应的多个AIS数据分别为da1、db1、dx1。将da1、db1划分为一个数据组,将dx1与一个空数据划分为一个数据组,或者将dx1单独作为一个特殊的数据组,或者将dx1与da1组成一个数据组。此处仅为示例性说明,对此不做限定。
S1032:对M个数据组同时进行去重处理,得到每个数据组的去重结果。
示例性地,并行去重处理指同时进行去重处理。沿用S1031中的例子,第10个时间片即S10时间片对应的多个AIS数据分别为da10、db10、dx10、dy10。将da10、db10、dx10、dy10划分为两个数据组,分别为数据组1:da10、db10,数据组2:dx10、dy10。
对数据组1和数据组2各自包含的AIS数据同时进行去重处理,得到数据组1和数据组2各自的去重结果。例如,da10与db10重复,丢弃da10或db10。如丢弃da10,保留db10,数据组1的去重结果为db10。dx10与dy10重复,丢弃dx10或dy10。如丢弃dx10,保留dy10,数据组2的去重结果为dy10。
S1033:将各个数据组的去重结果合并为目标AIS数据。
示例性地,沿用S1032中的例子,将数据组1的去重结果与数据组2的去重结果合并,得到目标AIS数据。目标AIS数据包括多个AIS数据。
例如,数据组1的去重结果为db10,数据组2的去重结果为dy10,将db10和dy10合并为目标AIS数据,也就是说,目标AIS数据包含db10和dy10这两个AIS数据。
S1034:对目标AIS数据进行并行去重,直至第N-1个时间片对应的多个AIS数据完成并行去重,得到初始去重结果。
在本申请实施例中,若目标AIS数据中包含两个AIS数据,则直接对这两个AIS数据进行去重处理。若这两个AIS数据相同,保留两个AIS数据中的一个AIS数据,丢弃两个AIS数据中的另一个AIS数据,得到初始去重结果。若这两个AIS数据不同,保留这两个AIS数据,得到初始去重结果。
在本申请实施例中,若目标AIS数据中包含两个以上的AIS数据,则重复执行步骤S1031至步骤S1033。即将目标AIS数据中的多个AIS数据划分为若干个数据组,对若干个数据组同时进行去重处理,得到每个数据组的去重结果,将各个数据组的去重结果合并为新的目标AIS数据,对新的目标AIS数据进行并行去重,直至第N-1个时间片对应的多个AIS数据完成并行去重,得到初始去重结果。初始去重结果中的各个AIS数据均不相同。
本实施方式中,对多个AIS数据进行去重处理时,将多个AIS数据划分为若干个数据组,然后采用并行去重处理的方式,同时对多个数据组中的AIS数据进行去重处理,有效提升了对AIS数据去重处理的速度。且采用这种方式,使去重处理全面覆盖到每个AIS数据,从而保证最后得到的去重结果中没有重复数据,减少去重处理过程中错误的发生,提升了AIS数据去重结果的质量,进而有利于用户后续对该AIS数据更好地分析。
可选地,在本申请一些可能的实现方式中,上述步骤S104中,对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果的具体实现方式,也可参考步骤S1031至步骤S1034。
例如,将初始去重结果中包含的AIS数据和第N个时间片对应的多个AIS数据划分为L个数据组;L为正整数,对L个数据组同时进行去重处理,得到每个数据组的去重结果;将各个数据组的去重结果合并为新的目标AIS数据;对新的目标AIS数据进行并行去重,直至对初始去重结果和第N个时间片对应的多个AIS数据完成并行去重,得到目标去重结果。目标去重结果中的各个AIS数据均不相同。具体过程可参考步骤S1031至步骤S1034中的描述,此处不再赘述。
可选地,在本申请一些可能的实现方式中,上述步骤S104中,对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果时,也可以是先对第N个时间片对应的多个AIS数据进行并行去重,得到一个去重结果,将该去重结果与初始去重结果再进行并行去重处理,得到目标去重结果。
这种情况下,依旧可以采用步骤S1031至步骤S1034中的方式,先对第N个时间片对应的多个AIS数据进行并行去重,得到去重结果后,再采用步骤S1031至步骤S1034中的方式,对该去重结果与初始去重结果进行并行去重处理,得到目标去重结果。
例如,将该去重结果与初始去重结果中的多个AIS数据划分为若干个数据组;对若干个数据组同时进行去重处理,得到每个数据组的去重结果;将各个数据组的去重结果合并为新的目标AIS数据;对新的目标AIS数据进行并行去重,直至对去重结果与初始去重结果中的多个AIS数据完成并行去重,得到目标去重结果。目标去重结果中的各个AIS数据均不相同。
本实施方式中,对初始去重结果和第N个时间片对应的多个AIS数据进行并行去重时,将初始去重结果和第N个时间片对应的多个AIS数据划分为若干个数据组,然后采用并行去重处理的方式,同时对多个数据组中的AIS数据进行去重处理,有效提升了对AIS数据去重处理的速度。且采用这种方式,使去重处理全面覆盖到每个AIS数据,从而保证最后得到的去重结果中没有重复数据,减少去重处理过程中错误的发生,提升了AIS数据去重结果的质量,进而有利于用户后续对该AIS数据更好地分析。
可选地,在一种可能的实现方式中,上述S1032可以包括步骤S10321至步骤S10323。其中,步骤S10322与步骤S10323并列,根据不同的情况,选择在步骤S10321后执行步骤S10322或步骤S10323,具体如下:
S10321:针对每个数据组,判断数据组中的两个AIS数据是否相同。
示例性地,当某个数据组中包含两个AIS数据时,判断这两个AIS数据是否相同。当某个数据组中包含一个AIS数据时,直接将该AIS数据作为该数据组的去重结果。
当数据组中的两个AIS数据相同时,执行步骤S10322;当数据组中的两个AIS数据不同时,执行步骤S10323。
S10322:当判定数据组中的两个AIS数据相同时,保留两个AIS数据中的一个AIS数据,丢弃两个AIS数据中的另一个AIS数据,得到数据组的去重结果。
例如,某个数据组中包含dx1与da1这两个AIS数据,dx1与da1这两个AIS数据相同,则保留dx1与da1中的任意一个AIS数据,丢弃另一个AIS数据,保留的那个AIS数据即为该数据组的去重结果。如丢弃dx1,保留da1,则该数据组的去重结果为da1。此处仅为示例性说明,对此不做限定。
在本实施方式中,判断数据组中的两个AIS数据是否相同,若两个AIS数据相同,则只保留其中一个AIS数据,并将保留的AIS数据作为该数据组的去重结果,保证在该去重结果中该AIS数据是唯一的,从而保证了去重结果的有效性。
S10323:当判定数据组中的两个AIS数据不同时,保留两个AIS数据,得到数据组的去重结果。
例如,某个数据组中包含da2与dx2这两个AIS数据,da2与dx2这两个AIS数据不同,则保留da2与dx2这两个AIS数据,将da2与dx2这两个AIS数据作为该数据组的去重结果。此处仅为示例性说明,对此不做限定。
在本实施方式中,判断数据组中的两个AIS数据是否相同,若两个AIS数据不同,则将这两个AIS数据都保留,并将保留的AIS数据作为该数据组的去重结果,保证该去重结果中每个AIS数据是唯一的,从而保证了去重结果的有效性。
可选地,在一种可能的实现方式中,在对AIS数据进行并行去重处理的过程中,可以对此过程中保留或丢弃的数据进行标签标记处理,即对此过程中保留或丢弃的AIS数据打上不同状态的标签。
例如,对丢弃的每个AIS数据,标记其被丢弃的原因(如重复数据)、丢弃的时间、该AIS数据的来源、丢弃的地点等。对保留的每个AIS数据,标记其被保留的原因(如数据不重复)、保留的时间、该AIS数据的来源等。
本实施方式中,在去重处理的过程中,对保留或丢弃的AIS数据打上标签,便于用户在任何时候掌握每个AIS数据的动态。
可选地,在一种可能的实现方式中,上述步骤S10321可以包括:
针对每个数据组,获取数据组中的每个AIS数据的载荷信息;当检测到两个载荷信息相同时,判定数据组中的两个AIS数据相同;当检测到两个载荷信息不同时,判定数据组中的两个AIS数据不同。
在本申请实施例中,AIS数据由一条条的报文构成,报文可以包括VDM报文和VDO报文。其中,VDM报文表示封装的是他船信息,VDO报文表示封装的是本船信息。本示例中,AIS数据由一条条的VDM报文构成。
VDM报文按照美国国家海洋电子协会(National Marine ElectronicsAssociation)为海用电子设备制定的标准格式NMEA-0183格式进行封装。判断两个AIS数据是否相同,实质上是在判断两条VDM报文是否相同。
传统的去重处理过程中,判断两个AIS数据是否重复,依靠整条VDM报文的字符串的是否相同来判定。然而,由于不同基站、不同辖区、不同海区等来源节点封装VDM报文所用的报文序号、校验和等字段不尽相同,仅依靠整条VDM报文的字符串的是否相同来判定两个AIS数据是否重复,极容易出现误判的情况,导致去重结果不准确。
在本申请实施例中,针对每个数据组,获取数据组中的每个AIS数据的载荷信息,即提取每条VDM报文中的载荷信息。其中,载荷信息是每条VDM报文的有效信息。
判断两条VDM报文对应的载荷信息是否相同。示例性地,可逐个比较两个载荷信息的字符串是否相同。例如,VDM报文中的载荷信息的字符串的长度平均值约为34字节,每次比对1字节,大约进行34次比较操作,即可确定两个载荷信息的字符串是否相同。
若两个载荷信息的字符串完全相同,即两个载荷信息相同,则判定数据组中的两个AIS数据相同。若两个载荷信息的字符串有不同之处,即两个载荷信息不同,则判定数据组中的两个AIS数据不同。
请参见图7,图7是本申请一示例性实施例示出的一种VDM报文示意图;如图7所示,该VDM报文为“!--VDM,x,x,x,x,a,s--s,x*hh<CR><LF>”,报文下方的英文表示该报文中各个字符表示的含义。其中,框选出来的内容即为解码后得到的载荷信息,即图7中的1371载荷信息。
本实施方式中,通过判断VDM报文中的载荷信息是否相同,进而判断数据组中的两个AIS数据是否重复,有效避免了传统的依靠整条VDM报文的字符串的是否相同,来判定两个AIS数据是否重复而出现的误判的情况,进而提升了去重结果的准确性,提升了去重结果的质量。
可选地,在一种可能的实现方式中,为了提升判断载荷信息是否相同的速度和质量,在针对每个数据组,获取数据组中的每个AIS数据的载荷信息之后,本申请提供的基于AIS数据的去重方法还包括:采用哈希算法计算每个载荷信息的哈希值;当两个载荷信息的哈希值相同时,判定两个载荷信息相同;当两个载荷信息的哈希值不同时,判定两个载荷信息不同。
示例性地,提取每个载荷信息的字符串,采用哈希算法将每个载荷信息的字符串转换为对应的哈希值。其中,哈希值又称散列值。判断两个载荷信息的哈希值是否相同,若两个载荷信息的哈希值相同,则判定两个载荷信息相同;若两个载荷信息的哈希值不同时,则判定两个载荷信息不同。
例如,VDM报文中的载荷信息的字符串的长度平均值约为34字节,每次比对1字节,大约进行34次比较操作,即可确定两个载荷信息的字符串是否相同。但是,随着时间窗口内的AIS数据的增多,比较操作也会随之增加。因此,本实施方式中,将VDM报文中的载荷信息的字符串做32(4个字节)的哈希运算,并记录其散列值。此后,每次使用该散列值做比较操作,每次比对1字节,最多只需进行4次比较操作,即可得到比较结果。
且通过哈希算法计算得到的散列值偶合概率约四十亿分之一,可忽略不计,由此可以保证通过该方式比较得到的结果的准确性。
示例性地,采用哈希算法对两个载荷信息进行比较,从而判断两个载荷信息是否相同,可以通过以下代码实现:
AisData
{
VdmGroup
{
vdm[1-5]; //由1个或多个vdm句子组成
};
SixBitString payload; //单句在和数据或复合句合并后的载荷数据
HashValue1 h1;//Hash1算法结果值
HashValue h2; //Hash2算法结果值
Char channel;//报文发射所用信道,A或B
DateTime timestamp; //报文产生的时间标签
Integer slot; //报文发射所用时隙
}
此处仅为示例性说明,对此不做限定。
本实施方式中,通过哈希算法将每个载荷信息的字符串转换为对应的哈希值,再通过比较哈希值的方式判断两个载荷信息是否相同,不仅提升了去重处理的速度,还提升了去重处理结果的准确性。
可选地,在一种可能的实现方式中,为了避免哈希耦合带来的误判,进一步提升去重处理结果的精确度,可以基于哈希算法对载荷信息进行多次比较。例如,在第一次采用哈希算法对两个载荷信息比较的基础上,再次采用哈希算法对两个载荷信息进行比较,根据二次比较的结果,确定两个载荷信息是否相同。
例如,采用哈希算法计算两个载荷信息的哈希值,若两个载荷信息的哈希值相同,则再次采用哈希算法计算这两个载荷信息的哈希值,再次判断第二次计算得到的两个哈希值是否相同。若两个哈希值还相同,则判定两个载荷信息相同;若两个哈希值不同,则判定两个载荷信息不同。
示例性地,采用哈希算法对两个载荷信息进行两次比较,从而判断两个载荷信息是否相同,可以通过以下代码实现:
compare(data1, data2)
{
如果两条AIS数据信道不相同:
返回“不同数据”;
如果data1的payload哈希值1为空:
计算data1的payload哈希值1并保存;
如果data2的payload哈希值1为空:
计算data2的payload哈希值1并保存;
如果两条数据payload的哈希值1不相同:
返回“不同数据”;
//如果第一次hash相同,则做2次验证
如果data1的payload哈希值2为空:
计算data1的payload哈希值2并保存;
如果data2的payload哈希值2为空:
计算data2的payload哈希2并保存;
如果两条数据payload的哈希值2不相同:
返回“不同数据”;
否则:
返回“相同数据”
}
此处仅为示例性说明,对此不做限定。
本实施方式中,采用哈希算法对两个载荷信息进行多次比较,从而判断两个载荷信息是否相同,避免了哈希耦合带来的误判,进一步提升了去重处理结果的精确度。
可选地,在一种可能的实现场景中,在对多个AIS数据进行并行去重处理的过程中,可将重复或者未重复的AIS数据存储至不同的数据库中。例如,可以将重复的AIS数据置于重复数据库中,未重复的数据置于数据沉淀池中参与之后的去重处理。
如图3所示的S1时间片对应的场景中,对S1时间片对应的da1、db1、dx1进行并行去重处理时,若da1和db1不同,dx1与da1相同,则对dx1进行标记,如对dx1打上重复的标签,并将dx1置于重复数据库中。对da1和db1进行标记,如对da1和db1打上入选的标签,并将da1和db1置于时间窗口对应的数据沉淀池中。
如S1时间片对应各个AIS数据的处理流程可以表示为:
S1:da1、db1入选,标记,推送,沉淀;dx1重复,标记,推送,出列。
如图4所示的S2时间片对应的场景中,对S2时间片对应的da2、db2、dx2先进行并行去重处理,再将处理结果与数据沉淀池S1时间片对应的去重结果进行对比。若db2与da2相同,则对db2进行标记,如对db2打上重复的标签,并将db2置于重复数据库中。对da2和dx2进行标记,如对da2和dx2打上入选的标签,并将da2和dx2置于时间窗口对应的数据沉淀池中。
如S2时间片对应各个AIS数据的处理流程可以表示为:
S2:da2、dx2入选,标记,推送,沉淀;db2重复,标记,推送,出列。
再将数据沉淀池中的da1、db1、da2以及dx2进行并行去重处理,最终得到S2时间片对应的去重结果,具体过程不再赘述。
如图5所示的S6时间片对应的场景中,对S6时间片对应的da6、db6、dx6先进行并行去重处理,再将处理结果与数据沉淀池中的AIS数据进行对比,具体过程不再赘述。
值得说明的是,时间窗口的时间区域为5秒,每个时间片对应1秒,当时间窗口滑动到S6时间片时,S1时间片对应的多个AIS数据将因为超时出列,而S6时间片对应的多个AIS数据则进入时间窗口。
如S6时间片对应各个AIS数据的处理流程可以表示为:
S6:da1、db1超时,出列;新增比对:da6、db6、dx6。
可选地,在一种可能的实现方式中,可以先对每个时间片进行初始化,然后再对AIS数据进行并行去重处理,该过程可通过代码实现,代码具体如下。
S1:a1、b1入选,标记、推送、沉淀;x1重复,标记、推送、出列;
Q.init(); Q.cmp(a1); Q.cmp(b1); Q.cmp(...)。
注:1. AIS数据处理系统与AIS岸基网络保持时钟同步,避免数据时间戳错误。
2.(1)初始化数据去重清洗队列Q对象
Q.init()
{
清空队列Q<HashKey, AISData>;
设置时间窗口长度TW_SIZE,int类型,单位毫秒;
设置时间片长度TS_SIZE,int类型,单位毫秒; //TS_SIZE<TW_SIZE
设置时间窗口起始时间TW_TIME0=GetCurrentTime();
初始化时间片计时器;
}
(2)对每条AIS实时数据进行去重
Q.cmp(aisData)
{
Bool found = false;//重复标志位初始化
hv=hash(aisData.payload); //对AIS报文的载荷部分进行hash处理
aisData.setHashValue(hv);//设置AIS报文的hash值,用于快速检测
遍历队列while(data=Q.getNext())
{
if(hv==hv.key)//该数据的哈希值与队列中的某条报文重复
{
标记重复数据aisData;
推出当前数据aisData;
found = true;//重复标志位改变
break;结束遍历
}
}
//完成遍历
If(!found)//没有重复数据
{
标记非重复数据aisData;
推出当前数据aisData;
当前数据入列Q.add(aisData);//沉淀
}
}
(3)时间片定时任务(间隔TS_SIZE)
Q.ontimer()
{
时间窗口向后滑动1个时间片;//步长TS_SIZE
TW_TIME0 += TS_SIZE;
遍历队列
{
data=Q.getNext()//删除Q中超时的AIS数据:
If(TW_TIME0-data.timestamp >TW_SIZE)
Q.remove(data);
}
}
此处仅为示例性说明,对此不做限定。
请参见图8,图8是本申请一实施例提供的一种基于AIS数据的去重装置的示意图。该一种基于AIS数据的去重装置包括的各单元用于执行图1、图6对应的实施例中的各步骤。具体请参阅图1、图6各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图8,包括:
第一获取单元210,用于获取预设的时间窗口,所述时间窗口包括多个时间片,所述时间窗口每次滑动一个时间片;
第二获取单元220,用于获取处于所述时间窗口内的第N-1个时间片对应的多个AIS数据,N为正整数;
第一去重处理单元230,用于对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;
第二去重处理单元240,用于对所述初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。
可选地,该第二获取单元220具体用于:
将所述第N-1个时间片对应的多个AIS数据划分为M个数据组,每个数据组包括两个AIS数据,M为正整数;
对M个数据组同时进行去重处理,得到每个数据组的去重结果;
将各个数据组的去重结果合并为目标AIS数据,所述目标AIS数据包括多个AIS数据;
对所述目标AIS数据进行并行去重,直至所述第N-1个时间片对应的多个AIS数据完成并行去重,得到所述初始去重结果,所述初始去重结果中的各个AIS数据均不相同。
可选地,该第二获取单元220还用于:
针对每个数据组,判断所述数据组中的两个AIS数据是否相同;
当判定所述数据组中的两个AIS数据相同时,保留所述两个AIS数据中的一个AIS数据,丢弃所述两个AIS数据中的另一个AIS数据,得到所述数据组的去重结果。
可选地,该第二获取单元220还用于:当判定所述数据组中的两个AIS数据不同时,保留所述两个AIS数据,得到所述数据组的去重结果。
可选地,该第二获取单元220还用于:
针对每个数据组,获取所述数据组中的每个AIS数据的载荷信息;
当检测到两个载荷信息相同时,判定所述数据组中的两个AIS数据相同;
当检测到两个载荷信息不同时,判定所述数据组中的两个AIS数据不同。
可选地,该装置还包括:
检测单元,用于:针对每个数据组,获取所述数据组中的每个AIS数据的载荷信息;当检测到两个载荷信息相同时,判定所述数据组中的两个AIS数据相同;当检测到两个载荷信息不同时,判定所述数据组中的两个AIS数据不同。
可选地,该装置还包括:
判断单元,用于:采用哈希算法计算每个所述载荷信息的哈希值;当两个载荷信息的哈希值相同时,判定所述两个载荷信息相同;当两个载荷信息的哈希值不同时,判定所述两个载荷信息不同。
可选地,所述多个AIS数据的来源节点包括基站、第一控制中心设备、第二控制中心设备、第三控制中心设备中的任意一个。
请参见图9,图9是本申请另一实施例提供的一种终端设备的示意图。如图9所示,该实施例的终端设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现上述各个基于AIS数据的去重方法实施例中的步骤,例如图1所示的S101至S104。或者,所述处理器30执行所述计算机程序32时实现上述各实施例中各单元的功能,例如图8所示单元210至240功能。
示例性地,所述计算机程序32可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器31中,并由所述处理器30执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机指令段,该指令段用于描述所述计算机程序32在所述终端设备3中的执行过程。例如,所述计算机程序32可以被分割为第一获取单元、第二获取单元、第一去重处理单元以及第二去重处理单元,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图9仅仅是终端设备3的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31可以是所述终端设备的内部存储单元,例如设备的硬盘或内存。所述存储器31也可以是所述终端设备的外部存储终端,例如所述终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器31还可以既包括所述设备的内部存储单元也包括外部存储终端。所述存储器31用于存储所述计算机指令以及所述终端所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以是非易失性,也可以是易失性,该计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各个基于AIS数据的去重方法实施例中的步骤。
本申请还提供了一种计算机程序产品,当计算机程序产品在设备上运行时,使得该设备执行上述各个基于AIS数据的去重方法实施例中的步骤。
本申请实施例还提供了一种芯片或者集成电路,该芯片或者集成电路包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片或者集成电路的设备执行上述各个基于AIS数据的去重方法实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于AIS数据的去重方法,其特征在于,包括:
获取预设的时间窗口,所述时间窗口包括多个时间片,所述时间窗口每次滑动一个时间片;
获取处于所述时间窗口内的第N-1个时间片对应的多个AIS数据,N为正整数;
对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;
对所述初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。
2.根据权利要求1所述的去重方法,其特征在于,所述对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果,包括:
将所述第N-1个时间片对应的多个AIS数据划分为M个数据组,每个数据组包括两个AIS数据,M为正整数;
对M个数据组同时进行去重处理,得到每个数据组的去重结果;
将各个数据组的去重结果合并为目标AIS数据,所述目标AIS数据包括多个AIS数据;
对所述目标AIS数据进行并行去重,直至所述第N-1个时间片对应的多个AIS数据完成并行去重,得到所述初始去重结果,所述初始去重结果中的各个AIS数据均不相同。
3.根据权利要求2所述的去重方法,其特征在于,所述对M个数据组同时进行去重处理,得到每个数据组的去重结果,包括:
针对每个数据组,判断所述数据组中的两个AIS数据是否相同;
当判定所述数据组中的两个AIS数据相同时,保留所述两个AIS数据中的一个AIS数据,丢弃所述两个AIS数据中的另一个AIS数据,得到所述数据组的去重结果。
4.根据权利要求3所述的去重方法,其特征在于,所述针对每个数据组,判断所述数据组中的两个AIS数据是否相同之后,所述去重方法还包括:
当判定所述数据组中的两个AIS数据不同时,保留所述两个AIS数据,得到所述数据组的去重结果。
5.根据权利要求3或4所述的去重方法,其特征在于,所述针对每个数据组,判断所述数据组中的两个AIS数据是否相同,包括:
针对每个数据组,获取所述数据组中的每个AIS数据的载荷信息;
当检测到两个载荷信息相同时,判定所述数据组中的两个AIS数据相同;
当检测到两个载荷信息不同时,判定所述数据组中的两个AIS数据不同。
6.根据权利要求5所述的去重方法,其特征在于,所述针对每个数据组,获取所述数据组中的每个AIS数据的载荷信息之后,所述去重方法还包括:
采用哈希算法计算每个所述载荷信息的哈希值;
当两个载荷信息的哈希值相同时,判定所述两个载荷信息相同;
当两个载荷信息的哈希值不同时,判定所述两个载荷信息不同。
7.根据权利要求1所述的去重方法,其特征在于,所述多个AIS数据的来源节点包括基站、第一控制中心设备、第二控制中心设备、第三控制中心设备中的任意一个。
8.一种基于AIS数据的去重装置,其特征在于,包括:
第一获取单元,用于获取预设的时间窗口,所述时间窗口包括多个时间片,所述时间窗口每次滑动一个时间片;
第二获取单元,用于获取处于所述时间窗口内的第N-1个时间片对应的多个AIS数据,N为正整数;
第一去重处理单元,用于对所述第N-1个时间片对应的多个AIS数据进行并行去重,得到初始去重结果;
第二去重处理单元,用于对所述初始去重结果和第N个时间片对应的多个AIS数据进行并行去重,得到目标去重结果。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938400.1A CN114996261B (zh) | 2022-08-05 | 2022-08-05 | 基于ais数据的去重方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938400.1A CN114996261B (zh) | 2022-08-05 | 2022-08-05 | 基于ais数据的去重方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114996261A true CN114996261A (zh) | 2022-09-02 |
CN114996261B CN114996261B (zh) | 2022-10-28 |
Family
ID=83023129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210938400.1A Active CN114996261B (zh) | 2022-08-05 | 2022-08-05 | 基于ais数据的去重方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996261B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074945A (zh) * | 2023-03-07 | 2023-05-05 | 交通运输部北海航海保障中心天津航标处 | Ais岸基网络中基于北斗授时时间同步技术的数据传输方法 |
CN117745472A (zh) * | 2023-12-21 | 2024-03-22 | 江苏省工程勘测研究院有限责任公司 | 基于轻量化传感模型的河道管理方法及系统 |
CN117857671A (zh) * | 2024-03-08 | 2024-04-09 | 交通运输部北海航海保障中心天津航标处 | 一种基于船舶报文的多源ais数据完善性处理方法 |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002075500A2 (en) * | 2001-03-16 | 2002-09-26 | United Parcel Service Of America, Inc. | Real-time delivery feasibility analysis systems and methods |
US20120257626A1 (en) * | 2011-04-06 | 2012-10-11 | Mcghee David W | Systems and methods for in-line removal of duplicate network packets |
US20160171724A1 (en) * | 2014-12-15 | 2016-06-16 | General Electric Company | Methods and systems for real-time image reconstruction with arbitrary temporal windows |
CN108923967A (zh) * | 2018-06-27 | 2018-11-30 | 平安科技(深圳)有限公司 | 一种去重流量记录方法、装置、服务器及存储介质 |
CN108923972A (zh) * | 2018-06-30 | 2018-11-30 | 平安科技(深圳)有限公司 | 一种去重流量提示方法、装置、服务器及存储介质 |
CN109582640A (zh) * | 2018-11-15 | 2019-04-05 | 深圳市酷开网络科技有限公司 | 一种基于滑动窗口的数据去重存储方法、装置及存储介质 |
CN110472013A (zh) * | 2019-08-06 | 2019-11-19 | 湖南蚁坊软件股份有限公司 | 一种热门话题更新方法、装置和计算机存储介质 |
CN111061894A (zh) * | 2019-11-07 | 2020-04-24 | 深圳云天励飞技术有限公司 | 同行数据的处理方法、装置、电子设备及存储介质 |
CN111949678A (zh) * | 2019-05-17 | 2020-11-17 | 北京京东尚科信息技术有限公司 | 跨时间窗口的非累加指标的处理方法和装置 |
CN112560435A (zh) * | 2020-12-18 | 2021-03-26 | 北京声智科技有限公司 | 文本语料处理方法、装置、设备及存储介质 |
CN113204387A (zh) * | 2021-05-21 | 2021-08-03 | 珠海金山网络游戏科技有限公司 | 实时计算中数据超时的处理方法及装置 |
US20210258969A1 (en) * | 2020-02-14 | 2021-08-19 | Verizon Patent And Licensing Inc. | Method and system for ran intelligent controller |
CN113568960A (zh) * | 2021-09-24 | 2021-10-29 | 江苏正泰泰杰赛智能科技有限公司 | 物联网数据实时分析方法、系统及计算机可读存储介质 |
CN113641676A (zh) * | 2021-08-20 | 2021-11-12 | 烽火通信科技股份有限公司 | 一种时序处理方法及装置 |
CN113810337A (zh) * | 2020-06-12 | 2021-12-17 | 中国电信股份有限公司 | 用于网络报文去重的方法、装置、以及存储介质 |
US20220050712A1 (en) * | 2020-08-14 | 2022-02-17 | Feedzai - Consultadoria E Inovação Tecnológica, S.A. | Distributed streaming system supporting real-time sliding windows |
CN114116162A (zh) * | 2021-11-18 | 2022-03-01 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、系统及非暂时性存储介质 |
CN114461599A (zh) * | 2022-01-19 | 2022-05-10 | 北京星辰天合科技股份有限公司 | 分段数据存储方法、装置、存储介质及电子装置 |
US20220167236A1 (en) * | 2020-11-25 | 2022-05-26 | Northeastern University | Intelligence and Learning in O-RAN for 5G and 6G Cellular Networks |
-
2022
- 2022-08-05 CN CN202210938400.1A patent/CN114996261B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002075500A2 (en) * | 2001-03-16 | 2002-09-26 | United Parcel Service Of America, Inc. | Real-time delivery feasibility analysis systems and methods |
US20120257626A1 (en) * | 2011-04-06 | 2012-10-11 | Mcghee David W | Systems and methods for in-line removal of duplicate network packets |
US20160171724A1 (en) * | 2014-12-15 | 2016-06-16 | General Electric Company | Methods and systems for real-time image reconstruction with arbitrary temporal windows |
CN108923967A (zh) * | 2018-06-27 | 2018-11-30 | 平安科技(深圳)有限公司 | 一种去重流量记录方法、装置、服务器及存储介质 |
CN108923972A (zh) * | 2018-06-30 | 2018-11-30 | 平安科技(深圳)有限公司 | 一种去重流量提示方法、装置、服务器及存储介质 |
CN109582640A (zh) * | 2018-11-15 | 2019-04-05 | 深圳市酷开网络科技有限公司 | 一种基于滑动窗口的数据去重存储方法、装置及存储介质 |
CN111949678A (zh) * | 2019-05-17 | 2020-11-17 | 北京京东尚科信息技术有限公司 | 跨时间窗口的非累加指标的处理方法和装置 |
CN110472013A (zh) * | 2019-08-06 | 2019-11-19 | 湖南蚁坊软件股份有限公司 | 一种热门话题更新方法、装置和计算机存储介质 |
CN111061894A (zh) * | 2019-11-07 | 2020-04-24 | 深圳云天励飞技术有限公司 | 同行数据的处理方法、装置、电子设备及存储介质 |
US20210258969A1 (en) * | 2020-02-14 | 2021-08-19 | Verizon Patent And Licensing Inc. | Method and system for ran intelligent controller |
CN113810337A (zh) * | 2020-06-12 | 2021-12-17 | 中国电信股份有限公司 | 用于网络报文去重的方法、装置、以及存储介质 |
US20220050712A1 (en) * | 2020-08-14 | 2022-02-17 | Feedzai - Consultadoria E Inovação Tecnológica, S.A. | Distributed streaming system supporting real-time sliding windows |
US20220167236A1 (en) * | 2020-11-25 | 2022-05-26 | Northeastern University | Intelligence and Learning in O-RAN for 5G and 6G Cellular Networks |
CN112560435A (zh) * | 2020-12-18 | 2021-03-26 | 北京声智科技有限公司 | 文本语料处理方法、装置、设备及存储介质 |
CN113204387A (zh) * | 2021-05-21 | 2021-08-03 | 珠海金山网络游戏科技有限公司 | 实时计算中数据超时的处理方法及装置 |
CN113641676A (zh) * | 2021-08-20 | 2021-11-12 | 烽火通信科技股份有限公司 | 一种时序处理方法及装置 |
CN113568960A (zh) * | 2021-09-24 | 2021-10-29 | 江苏正泰泰杰赛智能科技有限公司 | 物联网数据实时分析方法、系统及计算机可读存储介质 |
CN114116162A (zh) * | 2021-11-18 | 2022-03-01 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、系统及非暂时性存储介质 |
CN114461599A (zh) * | 2022-01-19 | 2022-05-10 | 北京星辰天合科技股份有限公司 | 分段数据存储方法、装置、存储介质及电子装置 |
Non-Patent Citations (2)
Title |
---|
毛嘉莉等: "基于滑动窗口的分布式轨迹流聚类", 《计算机学报》 * |
甘亮等: "HS-StreamCube:网络安全事件流实时多维分析系统", 《计算机工程与科学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074945A (zh) * | 2023-03-07 | 2023-05-05 | 交通运输部北海航海保障中心天津航标处 | Ais岸基网络中基于北斗授时时间同步技术的数据传输方法 |
CN116074945B (zh) * | 2023-03-07 | 2023-06-06 | 交通运输部北海航海保障中心天津航标处 | Ais岸基网络中基于北斗授时时间同步技术的数据传输方法 |
CN117745472A (zh) * | 2023-12-21 | 2024-03-22 | 江苏省工程勘测研究院有限责任公司 | 基于轻量化传感模型的河道管理方法及系统 |
CN117857671A (zh) * | 2024-03-08 | 2024-04-09 | 交通运输部北海航海保障中心天津航标处 | 一种基于船舶报文的多源ais数据完善性处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114996261B (zh) | 2022-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114996261B (zh) | 基于ais数据的去重方法、装置、终端设备及存储介质 | |
CN107038157B (zh) | 基于人工智能的识别错误发现方法、装置及存储介质 | |
CN114996260B (zh) | 一种清洗ais数据的方法、装置、终端设备及存储介质 | |
CN115840808B (zh) | 科技项目咨询方法、装置、服务器及计算机可读存储介质 | |
CN110968730A (zh) | 音频标记处理方法、装置、计算机设备及存储介质 | |
CN114186567A (zh) | 敏感词检测方法及其装置、设备、介质、产品 | |
CN112861844A (zh) | 业务数据的处理方法、装置和服务器 | |
CN116501898A (zh) | 适用于少样本和有偏数据的金融文本事件抽取方法和装置 | |
CN106953717B (zh) | 一种船舶ais数据大批量高效解码方法及系统 | |
CN111160026A (zh) | 一种模型训练方法、装置、实现文本处理的方法及装置 | |
Lv et al. | Massive AIS data storage and query based on Hadoop platform | |
CN117459069A (zh) | 基于北斗短报文的海事安全信息高效无损压缩系统及方法 | |
US20150134588A1 (en) | Singularity of Presence | |
CN116579319A (zh) | 一种文本相似度的分析方法及系统 | |
CN103577604A (zh) | 一种用于Hadoop分布式环境的图像索引结构 | |
CN116185298A (zh) | 一种日志分布式存储的方法 | |
CN102855115A (zh) | 一种基于拼接墙显示文字标注的方法及系统 | |
CN113221558B (zh) | 一种快递地址纠错方法、装置、存储介质及电子设备 | |
CN115292008A (zh) | 用于分布式系统的事务处理方法、装置、设备及介质 | |
CN113457990B (zh) | 货物分拣方法、装置、电子设备及介质 | |
CN111104484B (zh) | 文本相似度检测方法、装置及电子设备 | |
CN109241208B (zh) | 地址定位、地址监测、信息处理方法及装置 | |
CN113158677B (zh) | 一种命名实体识别方法和系统 | |
CN114492413B (zh) | 文本校对方法、装置和电子设备 | |
CN106649427B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |