CN114996260A - 一种清洗ais数据的方法、装置、终端设备及存储介质 - Google Patents
一种清洗ais数据的方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN114996260A CN114996260A CN202210938233.0A CN202210938233A CN114996260A CN 114996260 A CN114996260 A CN 114996260A CN 202210938233 A CN202210938233 A CN 202210938233A CN 114996260 A CN114996260 A CN 114996260A
- Authority
- CN
- China
- Prior art keywords
- data
- cleaning
- ais
- result
- verification
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请属于大数据处理技术领域,尤其涉及一种清洗AIS数据的方法、装置、终端设备及存储介质。该方法包括:获取待清洗的AIS数据;当数据类型为实时数据类型时,采用第一清洗流程对AIS数据进行浅度清洗;当数据类型为非实时数据类型时,采用第二清洗流程对AIS数据进行深度清洗。本方法中先确定待清洗的AIS数据的数据类型,针对不同数据类型的AIS数据选择不同的清洗方式。对于实时数据应用而言,提升了清洗数据的效率,有利于用户快速获取到AIS数据的清洗结果,保证了清洗后的AIS数据的时效;对于历史数据应用而言,保证AIS数据清洗彻底,提升了数据完整性和清洗效果,有利于从AIS数据中准确地提取出高质量信息。
Description
技术领域
本申请属于大数据处理技术领域,尤其涉及一种清洗AIS数据的方法、装置、终端设备及存储介质。
背景技术
船舶自动识别系统(Automatic Identification System,AIS)是一种新型的船舶避碰系统,也称无线电应答系统,用于船舶之间、船岸之间自动应答和识别,由AIS船台和AIS岸站系统组成,通过增强船舶识别和船舶动态信息收集的功能,实现船岸之间的信息传输和交换,可在航行安全、交通控制和海事管理方面发挥十分重要的作用。
随着该系统的深入推广和应用,海量船舶AIS数据不断积累,为后续数据分析应用创造了条件。船舶AIS数据内容丰富,能够从微观层面准确、真实地还原单条船舶的历史航行轨迹;从宏观层面反映群体船舶的航行特征、航道繁忙程度、港口作业效率、区域经济运行趋势和特点,对于行业管理部门和企业掌握行业发展态势、进行宏观决策等具有重要的支撑作用。
近年来,AIS数据的数据量越发庞大,这种情况下,保障AIS数据的质量才能更好地应用AIS数据,而保障AIS数据质量的一个必要步骤就是对AIS数据进行清洗。然而,目前针对AIS数据的清洗方法相对简单,导致清洗效率低、清洗效果差、无法从AIS数据中准确提取出高质量信息。
发明内容
有鉴于此,本申请实施例提供了一种清洗AIS数据的方法、装置、终端设备及存储介质,以解决目前针对AIS数据的清洗方法相对简单,导致清洗效率低、清洗效果差、无法从AIS数据中准确提取出高质量信息的问题。
本申请实施例的第一方面提供了一种清洗AIS数据的方法,该方法可以包括:
获取待清洗的AIS数据;
确定所述AIS数据的数据类型,所述数据类型包括实时数据类型和非实时数据类型;
当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,所述第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储;
当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,所述第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储。
本申请提供的清洗AIS数据的方法,先确定待清洗的AIS数据的数据类型,针对不同数据类型的AIS数据选择不同的清洗方式。即当AIS数据的数据类型为实时数据类型时,采用第一清洗流程对AIS数据进行浅度清洗,当AIS数据的数据类型为非实时数据类型时,采用第二清洗流程对AIS数据进行深度清洗。
本方法中,并未采用统一的清洗方式对AIS数据进行清洗,而是针对不同数据类型的AIS数据选择不同的清洗方式,第一清洗流程与第二清洗流程并不相同。其中,第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储,采用这种清洗流程对数据类型为实时数据类型的AIS数据进行浅度清洗,提升了清洗数据的效率,有利于用户快速获取到AIS数据的清洗结果,保证了清洗后的AIS数据的时效性。
第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储,整个清洗流程中清洗步骤更全面、多样,且采用深度去重处理,采用这种清洗流程对数据类型为非实时数据类型的AIS数据进行深度清洗,保证AIS数据清洗彻底,提升了数据完整性和清洗效果,进而有利于从AIS数据中准确地提取出高质量信息。
可选地,在一种可能的实现方式中,所述当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,包括:
当所述数据类型为所述实时数据类型时,采用哈希算法对所述AIS数据进行校验和校验,并丢弃校验和验证过程中不符合第一预设校验规则的数据,得到第一结果数据;
对所述第一结果数据进行第一数据长度校验,并丢弃第一数据长度校验过程中不符合第一预设长度的数据,得到第二结果数据;
对所述第二结果数据进行浅度去重处理,并丢弃浅度去重处理中重复的数据,得到第三结果数据;
对所述第一结果数据、所述第二结果数据、所述第三结果数据,以及校验和验证过程中、第一数据长度校验过程中、浅度去重处理中丢弃的数据,均进行第一标签标记处理,得到第一清洗结果;
存储所述第一清洗结果。
可选地,在一种可能的实现方式中,所述当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,包括:
当所述数据类型为所述非实时数据类型时,采用拼接算法对所述AIS数据进行校验和验证,并丢弃校验和验证过程中不符合第二预设校验规则的数据,得到第四结果数据;
对所述第四结果数据进行第二数据长度校验,并丢弃第二数据长度校验过程中不符合第二预设长度的数据,得到第五结果数据;
对所述第五结果数据进行异常数据剔除处理,并丢弃异常数据剔除处理中异常的数据,得到第六结果数据;
对所述第六结果数据进行深度去重处理,并丢弃深度去重处理中重复的数据,得到第七结果数据;
对所述第四结果数据、所述第五结果数据、所述第六结果数据、所述第七结果数据,以及校验和验证过程中、第二数据长度校验过程中、异常数据剔除处理中、深度去重处理中丢弃的数据,均进行第二标签标记处理,得到第二清洗结果;
存储所述第二清洗结果。
可选地,在一种可能的实现方式中,浅度去重处理对第一预设时长内的AIS数据进行去重处理,深度去重处理对第二预设时长内的AIS数据进行去重处理,所述第一预设时长小于所述第二预设时长。
可选地,在一种可能的实现方式中,存储所述第一清洗结果,包括:
确定所述AIS数据的来源节点所属的父节点;
将所述第一清洗结果存储至用户终端和所述父节点。
可选地,在一种可能的实现方式中,存储所述第一清洗结果之后,所述方法还包括:
获取数据类型为所述非实时数据类型的目标AIS数据;
采用第二清洗流程对所述目标AIS数据和所述第一清洗结果进行深度清洗。
可选地,在一种可能的实现方式中,当所述数据类型为所述实时数据类型时,采用第一清洗流程在预设清洗时间内完成对所述AIS数据进行浅度清洗的过程。
本申请实施例的第二方面提供了一种清洗AIS数据的装置,该装置可以包括:
获取单元,用于获取待清洗的AIS数据;
确定单元,用于确定所述AIS数据的数据类型,所述数据类型包括实时数据类型和非实时数据类型;
第一清洗单元,用于当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,所述第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储;
第二清洗单元,用于当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,所述第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面提供的清洗AIS数据的方法和步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面提供的清洗AIS数据的方法和步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面提供的清洗AIS数据的方法和步骤。
本申请实施例的第六方面提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的终端设备执行上述第一方面提供的清洗AIS数据的方法和步骤。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一示例性实施例提供的清洗AIS数据的方法的示意性流程图;
图2是本申请一示例性实施例提供的基站归属示意图;
图3是本申请另一示例性实施例示出的一种清洗AIS数据的方法的步骤S103的具体流程图;
图4是本申请又一示例性实施例示出的一种清洗AIS数据的方法的步骤S104的具体流程图;
图5是本申请一实施例提供的一种清洗AIS数据的装置的示意图;
图6是本申请另一实施例提供的一种终端设备的示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到【所描述条件或事件】”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到【所描述条件或事件】”或“响应于检测到【所描述条件或事件】”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参见图1,图1是本申请一示例性实施例提供的清洗AIS数据的方法的示意性流程图。在具体的实施例中,清洗AIS数据的方法可以由具备处理能力的终端设备执行,终端设备可以包括各种类型的服务器,例如,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务。终端设备也可以是移动终端设备(例如,智能手机、掌上电脑(Personal Digital Assistant,PDA)、平板电脑(Tablet Personal Computer,TabletPC)、笔记本电脑等)以及固定终端设备(例如,台式计算机、智能控制面板等)等。终端设备还可以是基站、控制中心设备(如基站控制设备)等。此处仅为示例性说明,对此不做限定。
如图1所示,清洗AIS数据的方法可以包括步骤S101至步骤S104。值得说明的是,步骤S103与步骤S104并列,根据步骤S102不同的执行结果,选择执行步骤S103或步骤S104,并非在步骤S103后执行步骤S104。
S101:获取待清洗的AIS数据。
在本申请实施例中,待清洗的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的清洗结果进行清洗即可。
S102:确定AIS数据的数据类型。
数据类型可以包括实时数据类型和非实时数据类型。可以理解为,当数据类型为实时数据类型时,AIS数据为实时数据;当数据类型为非实时数据类型时,AIS数据为历史数据。
AIS数据通常以秒为单位进行传输,在本申请实施例中,可以预先设置接收时间,例如,每5秒接收一次AIS数据、每8秒接收一次AIS数据等。根据获取到的AIS数据的时间,判断该AIS数据的数据类型属于实时数据类型,还是属于非实时数据类型。
若接收到的AIS数据的时间与预设接收时间相同,则判定该AIS数据的数据类型属于实时数据类型。由于网络波动、中断、基站接收效率差等原因,可能会导致接收到AIS数据的时间超出预设接收时间,则判定该AIS数据的数据类型属于非实时数据类型。
例如,每5秒接收一次AIS数据。第一次接收到AIS数据的时间在第5秒,则判定该AIS数据的数据类型属于实时数据类型。第二次接收到AIS数据的时间在第13秒,则判定该AIS数据的数据类型属于非实时数据类型。此处仅为示例性说明,对此不做限定。
当在步骤S102中确定AIS数据的数据类型为实时数据类型时,在步骤S102之后执行步骤S103;当在步骤S102中确定AIS数据的数据类型为非实时数据类型时,在步骤S102之后执行步骤S104。
S103:当数据类型为实时数据类型时,采用第一清洗流程对AIS数据进行浅度清洗。
在本申请实施例中,预先为不同数据类型的AIS数据设置了不同的清洗流程,根据不同的数据类型,选择不同的清洗流程。当确定AIS数据的数据类型为实时数据类型时,采用第一清洗流程对AIS数据进行浅度清洗。
该第一清洗流程可以包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储等流程。值得说明的是,对AIS数据进行第一报文校验、第一数据长度校验、浅度去重处理的顺序不做限定。例如,可以先对AIS数据进行第一报文校验,在第一报文校验结果上进行第一数据长度校验,在第一数据长度校验结果上进行浅度去重处理。又例如,可以先对AIS数据进行第一数据长度校验,在第一数据长度校验结果上进行第一报文校验,在第一报文校验结果上进行浅度去重处理等。
第一标签标记处理可以与第一清洗流程中,除第一清洗结果存储以外的任一处理并行执行。例如,在对AIS数据进行第一报文校验的过程中,同时对AIS数据进行第一标签标记处理,在对AIS数据进行第一数据长度校验的过程中,同时对AIS数据进行第一标签标记处理,在对AIS数据进行浅度去重处理的过程中,同时对AIS数据进行第一标签标记处理等。
将最终得到的第一清洗结果存储在指定区域。
S104:当数据类型为非实时数据类型时,采用第二清洗流程对AIS数据进行深度清洗。
当确定AIS数据的数据类型为非实时数据类型时,采用第二清洗流程对AIS数据进行浅度清洗。
该第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储。值得说明的是,对AIS数据进行第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理的顺序不做限定。
例如,可以先对AIS数据进行第二报文校验,在第二报文校验结果上进行第二数据长度校验,在第二数据长度校验结果上进行异常数据剔除处理,在异常数据剔除处理的结果上进行深度去重处理。又例如,可以先对AIS数据进行异常数据剔除处理,在异常数据剔除处理的结果上进行第二数据长度校验,在第二数据长度校验结果上进行第二报文校验,在第二报文校验结果上进行深度去重处理等。
第二标签标记处理可以与第二清洗流程中,除第二清洗结果存储以外的任一处理并行执行。例如,在对AIS数据进行第二报文校验的过程中,同时对AIS数据进行第二标签标记处理,在对AIS数据进行第二数据长度校验的过程中,同时对AIS数据进行第二标签标记处理,在对AIS数据进行异常数据剔除处理的过程中,同时对AIS数据进行第二标签标记处理,在对AIS数据进行深度去重处理的过程中,同时对AIS数据进行第二标签标记处理等。
将最终得到的第二清洗结果存储在指定区域。
本申请提供的清洗AIS数据的方法,先确定待清洗的AIS数据的数据类型,针对不同数据类型的AIS数据选择不同的清洗方式。即当AIS数据的数据类型为实时数据类型时,采用第一清洗流程对AIS数据进行浅度清洗,当AIS数据的数据类型为非实时数据类型时,采用第二清洗流程对AIS数据进行深度清洗。
本方法中,并未采用统一的清洗方式对AIS数据进行清洗,而是针对不同数据类型的AIS数据选择不同的清洗方式,第一清洗流程与第二清洗流程并不相同。其中,第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储,采用这种清洗流程对数据类型为实时数据类型的AIS数据进行浅度清洗,提升了清洗数据的效率,有利于用户快速获取到AIS数据的清洗结果,保证了清洗后的AIS数据的时效性。
第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储,整个清洗流程中清洗步骤更全面、多样,且采用深度去重处理,采用这种清洗流程对数据类型为非实时数据类型的AIS数据进行深度清洗,保证AIS数据清洗彻底,提升了数据完整性和清洗效果,进而可以从AIS数据中准确地提取出高质量信息。
采用本申请提供的清洗AIS数据的方法对AIS数据进行清洗,有利于后续根据清洗结果准确、真实地还原船舶的历史航行轨迹,反映群体船舶的航行特征、航道繁忙程度、港口作业效率、区域经济运行趋势和特点等。
可选地,在一种可能的实现方式中,为了提升对数据类型为实时数据类型的AIS数据的清洗效率,当数据类型为实时数据类型时,采用第一清洗流程在预设清洗时间内完成对AIS数据进行浅度清洗的过程。
示例性地,用户可根据实际需求,预先设置清洗时间,由管理员进行配置。例如,管理员在终端设备中配置清洗时间,当待清洗的AIS数据的数据类型为实时数据类型,该终端设备采用第一清洗流程对该AIS数据进行浅度清洗,并在该清洗时间内完成对该AIS数据的浅度清洗。
在一些实施方式中,可以在终端设备中配置数据服务平台,通过该数据服务平台完成对AIS数据的浅度清洗和深度清洗。例如,可以在终端设备中配置Data Service数据服务平台,管理员预先在Data Service中配置清洗时间、清洗流程等参数。
在实际清洗过程中,将获取到的待清洗的AIS数据输入该数据服务平台,该数据服务平台判断待清洗的AIS数据的数据类型为实时数据类型还是非实时数据类型。该数据服务平台中设置有不同的清洗通道(如实时优先通道和深度优先通道),当待清洗的AIS数据的数据类型为实时数据类型时,将该AIS数据送入实时优先通道,之后采用第一清洗流程对该AIS数据进行浅度清洗,并在预设的清洗时间内完成整个清洗流程。当待清洗的AIS数据的数据类型为非实时数据类型时,将该AIS数据送入深度优先通道,之后采用第二清洗流程对该AIS数据进行深度清洗。
本实施方式中,预先设置了清洗时间,保证采用第一清洗流程对AIS数据进行浅度清洗的过程在该清洗时间内完成,有效提升了对数据类型为实时数据类型的AIS数据的清洗效率。且由于清洗时间短,可以及时地将清洗结果反馈给用户,避免由于清洗带来的延时,保证了清洗后的AIS数据的时效。
请参见图3,图3是本申请另一示例性实施例示出的一种清洗AIS数据的方法的步骤S103的具体流程图;可选地,在本申请一些可能的实现方式中,上述S103可包括步骤S1031至步骤S1035,具体如下:
S1031:当数据类型为实时数据类型时,采用哈希算法对AIS数据进行校验和验证,并丢弃校验和验证过程中不符合第一预设校验规则的数据,得到第一结果数据。
第一报文校验可以包括校验和验证(Checksum)、异或校验、循环冗余校验(CyclicRedundancy Check,CRC)、纵向冗余校验(Longitudinal Redundancy Check,LRC)、补码求和等。此处仅为示例性说明,对此不做限定。
在本申请实施例中,以第一报文校验为校验和验证为例进行说明。AIS数据由一条条的报文构成,报文可以包括VDM报文和VDO报文。其中,VDM报文表示封装的是他船信息,VDO报文表示封装的是本船信息。本示例中,AIS数据由一条条的VDM报文构成。
示例性地,当数据类型为实时数据类型时,采用哈希算法对AIS数据进行校验和验证。例如,针对某条VDM报文,该条VDM报文会附上校验和验证数据,在获取到该条VDM报文时,同时获取到了该条VDM报文对应的校验和数据,采用哈希算法将该条VDM报文转换为一个哈希值。
第一预设校验规则包括转换得到的VDM报文的哈希值与该条VDM报文的校验和数据相同。
比较转换得到的哈希值与校验和数据是否相同。若该哈希值与校验和数据相同,则证明该条VDM报文是正确的,此时保留该条VDM报文。若该哈希值与校验和数据不相同,则证明该条VDM报文是错误的,此时丢弃该条VDM报文。
对AIS数据中的每条VDM报文都进行步骤S1031中的操作,直至对当前所有的AIS数据完成第一报文校验,根据第一报文校验过程中保留下来的AIS数据生成第一结果数据,可以理解为,第一结果数据中包含的是第一报文校验通过的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行第一报文校验的过程中,可以对此过程中保留或丢弃的数据进行第一标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如校验和验证不通过)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如校验和验证通过)、保留的时间、该VDM报文的来源等。
S1032:对第一结果数据进行第一数据长度校验,并丢弃第一数据长度校验过程中不符合第一预设长度的数据,得到第二结果数据。
示例性地,数据长度校验是指校验AIS数据对应的数据长度是否超过第一预设长度。第一预设长度由用户根据实际情况进行设置、调整,对此不做限定。第一结果数据中包含的是第一报文校验通过的AIS数据,对这些AIS数据进行第一数据长度校验。
例如,针对某条VDM报文,获取该条VDM报文中的载荷信息(可以理解为数据包),计算该载荷信息对应的数据长度,判断该数据长度与第一预设长度之间的大小。若该数据长度小于或等于第一预设长度,则证明该条VDM报文的数据长度符合要求,此时保留该条VDM报文。若该数据长度大于第一预设长度,则证明该条VDM报文的数据长度不符合要求,此时丢弃该条VDM报文。
对AIS数据中的每条VDM报文都进行步骤S1032中的操作,直至对当前所有的AIS数据完成第一数据长度校验,根据第一数据长度校验过程中保留下来的AIS数据生成第二结果数据,可以理解为,第二结果数据中包含的是在第一结果数据中筛选出的通过第一数据长度校验的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行第一数据长度校验的过程中,可以对此过程中保留或丢弃的数据进行第一标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如第一数据长度校验不通过,或校验和验证通过但第一数据长度校验不通过)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如第一数据长度校验通过,或校验和验证通过且第一数据长度校验通过)、保留的时间、该VDM报文的来源等。
S1033:对第二结果数据进行浅度去重处理,并丢弃浅度去重处理中重复的数据,得到第三结果数据。
在获取到的待清洗的AIS数据中,会存在很多重复数据,因此需要对这些数据进行去重处理。浅度去重处理与深度去重处理相对应,当AIS数据的数据类型为实时数据类型时,对该AIS数据进行浅度去重处理。当AIS数据的数据类型为非实时数据类型时,对该AIS数据进行深度去重处理。
浅度去重处理与深度去重处理的不同之处在于,浅度去重处理对第一预设时长内的AIS数据进行去重处理,深度去重处理对第二预设时长内的AIS数据进行去重处理。其中,第一预设时长小于第二预设时长。例如,第一预设时长为5秒,第二预设时长为10秒。浅度去重处理是指对5秒内的AIS数据进行去重处理,深度去重处理是指对10秒内的AIS数据进行去重处理。
浅度去重处理去重速度快,可以保证去重处理的效率,深度去重处理对更长时间内的AIS数据进行去重处理,保证重复数据剔除的更彻底,进而提升了AIS数据的清洗效果。
值得说明的是,丢弃浅度去重处理中重复的数据,并不是将所有重复的数据都丢掉,而是在重复的数据中保留一组数据后,将其余重复的数据丢弃。例如,数据1、数据2以及数据3重复,则保留数据1、数据2、数据3中任意一组数据,将其余两组数据丢弃。
示例性地,第二结果数据中包含的是在第一结果数据中筛选出的通过第一数据长度校验的AIS数据,对这些AIS数据进行浅度去重处理。例如,对这些AIS数据中的所有VDM报文进行浅度去重处理。
具体地,可采用重复数据检测算法对第二结果数据进行浅度去重处理。重复数据检测算法可以包括基于排序的检测算法、基于N-Gram的检测算法、基于优先权队列的检测算法等。
在本申请实施例中,以基于优先权队列的检测算法为例进行说明。示例性地,依次扫描AIS数据中的各个VDM报文,检测扫描到的VDM报文是否属于某个预设的队列中的聚类。将扫描到的VDM报文与队列中的每个聚类中的具有代表性的数据进行匹配。若匹配成功,则判断该VDM报文属于该聚类,如果某个VDM报文不属于队列中的任何一个聚类,那么该VDM报文单独组成一个新的类。
当所有的VDM报文扫描完毕,若一个聚类中有多条VDM报文,则在该聚类中保留一条VDM报文,其余的VDM报文丢弃。若一个聚类中只有一个AIS数据,则保留该VDM报文。
对AIS数据进行浅度去重处理后,根据浅度去重处理过程中保留下来的AIS数据生成第三结果数据,可以理解为,第三结果数据中包含的是在第二结果数据中筛选出的不重复的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行浅度去重处理的过程中,可以对此过程中保留或丢弃的数据进行第一标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如数据重复,或校验和验证通过、第一数据长度校验通过但数据重复)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如数据未重复,或校验和验证通过且第一数据长度校验通过且数据未重复)、保留的时间、该VDM报文的来源等。
S1034:对第一结果数据、第二结果数据、第三结果数据,以及校验和验证过程中、第一数据长度校验过程中、浅度去重处理中丢弃的数据,均进行第一标签标记处理,得到第一清洗结果。
示例性地,在一些实施方式中,对第一结果数据、第二结果数据、第三结果数据,以及校验和验证过程中、第一数据长度校验过程中、浅度去重处理中丢弃的数据,均进行第一标签标记处理,可以是在执行步骤S1031至步骤S1033的过程中并行执行。即如上述步骤S1031至步骤S1033中的描述,在对AIS数据进行校验和验证、第一数据长度校验、浅度去重处理时,对每个过程中保留或丢弃的各个数据打上不同状态的标签,得到第一清洗结果。
示例性地,在另一些实施方式中,也可以是对AIS数据进行校验和验证、第一数据长度校验、浅度去重处理之后,对每个过程中保留或丢弃的各个数据打上不同状态的标签,得到第一清洗结果。
第一清洗结果中可以包括通过第一报文校验、第一数据长度校验以及浅度去重处理之后,保留下来的AIS数据,这些AIS数据均被打上了不同状态的标签。
可选地,在一种可能的实现方式中,第一清洗结果中除了包括通过第一报文校验、第一数据长度校验以及浅度去重处理之后,保留下来的AIS数据,还可以包括未通过第一报文校验,和/或未通过第一数据长度校验,和/或未通过浅度去重处理,而被丢弃的AIS数据。同样,这些被保留或被丢弃的AIS数据均被打上了不同状态的标签。
可选地,在一种可能的实现方式中,为了便于后续对AIS数据进行测试,可以将打上不同状态的标签的AIS数据进行数据封装。例如,将打上不同状态的标签的AIS数据映射到预设的封装协议的净荷中,然后填充对应封装协议的包头,形成封装协议的数据包。
S1035:存储第一清洗结果。
示例性地,根据不同的需求,对于第一清洗结果可以有不同的存储方式。例如,可以将第一清洗结果存储至用户终端,也可以将第一清洗结果存储至当前AIS数据的来源节点所属的父节点,还可以将第一清洗结果与下一批AIS数据进行浅度清洗或深度清洗。
本实施方式中,采用第一报文校验、第一数据长度校验、浅度去重处理等方式对数据类型属于实时数据类型的AIS数据进行清洗,提升了清洗数据的效率,有利于用户快速获取到AIS数据的清洗结果,保证了清洗后的AIS数据的时效性。同时还对第一报文校验、第一数据长度校验以及浅度去重处理的每个过程中,保留或丢弃的AIS数据打上标签,便于用户在任何时候掌握每个AIS数据的动态。最后对第一清洗结果采取不同的处理方式,满足了用户的多种需求,提升了用户体验感。
在本申请提供的清洗AIS数据的方法中,实时数据(即数据类型为实时数据类型的AIS数据)具有时效性,延时过大或者断线缓存的AIS数据不再参与清洗和分发。且针对实时数据,主要考虑去重、时序以及数据结构完整合规等方面,清洗程度较浅。对于实时数据应用而言,提升了清洗数据的效率,有利于用户快速获取到AIS数据的清洗结果,保证了清洗后的AIS数据的时效性。
可选地,在一种可能的实现方式中,上述S1035可以包括步骤S10351至步骤S10352,具体如下:
S10351:确定AIS数据的来源节点所属的父节点。
示例性地,AIS数据中携带有来源,可以根据该来源确定AIS数据的来源节点。来源节点可以包括基站、第一控制中心设备、第二控制中心设备、第三控制中心设备等。
可以理解的是,不同的来源节点所属的父节点(上级节点)不同,各个来源节点与其所属的父节点是预先设定好的。
示例性地,当来源节点为基站时,该基站的父节点为第一控制中心设备(如若干个基站所归属的辖区内的控制中心设备,该第一控制中心设备用于控制这若干个基站)。
当来源节点为第一控制中心设备时,该第一控制中心设备的父节点为第二控制中心设备(如若干个辖区所归属的海区内的控制中心设备,该第二控制中心设备用于管理这若干个辖区)。
当来源节点为第二控制中心设备时,该第二控制中心设备的父节点为第三控制中心设备(如若干个海区所归属的国家内的控制中心设备,如管理国家数据中心的设备)。
S10352:将第一清洗结果存储至用户终端和父节点。
示例性地,可以对第一清洗结果进行复制,得到多份复制的第一清洗结果。将复制的第一清洗结果中的一份存储至用户终端,一份存储至父节点。
例如,将一份第一清洗结果存储用户本地数据库中,供用户使用。也可以将该第一清洗结果发送至用户所使用的终端,供用户使用。
确定父节点后,将一份第一清洗结果发送至父节点对应的设备,父节点对应的设备接收该第一清洗结果后,将该第一清洗结果存储至其设备中。
例如,父节点为第一控制中心设备,第一控制中心设备接收该第一清洗结果后,将该第一清洗结果存储至第一控制中心设备的数据库中。又例如,父节点为第二控制中心设备,第二控制中心设备接收该第一清洗结果后,将该第一清洗结果存储至第二控制中心设备的数据库中。再例如,父节点为第三控制中心设备,第三控制中心设备接收该第一清洗结果后,将该第一清洗结果存储至第三控制中心设备的数据库中。此处仅为示例性说明,对此不做限定。
本实施方式中,对第一清洗结果采取不同的处理方式,满足了用户的多种需求,提升了用户体验感。且在不同场景中,将第一清洗结果存储至不同的父节点,便于后续该父节点的设备对第一清洗结果进一步清洗,进而为用户提供更高级别的数据,实现更深层次的数据清洗。
可选地,在一种可能的实现方式中,在步骤S1035之后,本申请提供的清洗AIS数据的方法还可包括:获取数据类型为非实时数据类型的目标AIS数据;采用第二清洗流程对目标AIS数据和第一清洗结果进行深度清洗。
示例性地,采用第一清洗流程对AIS数据进行浅度清洗后,得到了第一清洗结果。继续获取下一批AIS数据,若下一批AIS数据的数据类型为非实时数据类型,将下一批AIS数据确定为目标AIS数据。采用第二清洗流程对目标AIS数据和第一清洗结果进行深度清洗。
可选地,在一种可能的实现方式中,也可以是,继续获取下一批AIS数据,无论下一批AIS数据的数据类型为实时数据类型还是非实时数据类型,都采用第二清洗流程对下一批AIS数据和第一清洗结果进行深度清洗。
可选地,在一种可能的实现方式中,也可以是,继续获取下一批AIS数据,无论下一批AIS数据的数据类型为实时数据类型还是非实时数据类型,都采用第一清洗流程对下一批AIS数据和第一清洗结果进行浅度清洗。
本实施方式中,在第一清洗结果的基础上与目标AIS数据再次进行深度清洗,可以深层次过滤掉第一清洗结果与目标AIS数据中的重复数据,提高了清洗结果的质量,有利于从AIS数据中准确提取出高质量信息。
请参见图4,图4是本申请又一示例性实施例示出的一种清洗AIS数据的方法的步骤S104的具体流程图;可选地,在本申请一些可能的实现方式中,上述S104可包括步骤S1041至步骤S1046,具体如下:
S1041:当数据类型为非实时数据类型时,采用拼接算法对AIS数据进行校验和验证,并丢弃校验和验证过程中不符合第二预设校验规则的数据,得到第四结果数据。
第二报文校验也可以包括校验和校验(Checksum)、异或校验、循环冗余校验(Cyclic Redundancy Check,CRC)、纵向冗余校验(Longitudinal Redundancy Check,LRC)、补码求和等。此处仅为示例性说明,对此不做限定。
在本申请实施例中,以第二报文校验为校验和验证为例进行说明。示例性地,当数据类型为非实时数据类型时,采用拼接算法对AIS数据进行校验和验证。例如,针对某条VDM报文,该条VDM报文会附上校验和数据,在获取到该条VDM报文时,同时获取到了该条VDM报文对应的校验和数据,采用拼接算法计算该条VDM报文对应的校验值。
拼接算法具体可以是,将VDM报文拆分为多个字段,分别计算每个字段的哈希值,再计算各个字段的哈希值之和,得到该条VDM报文对应的校验值。此处仅为示例性说明,对此不做限定。
第二预设校验规则包括计算得到的VDM报文的校验值与该条VDM报文的校验和数据相同。
判断计算得到的校验值与校验和数据是否相同。若该校验值与校验和数据相同,则证明该条VDM报文是正确的,此时保留该条VDM报文。若该校验值与校验和数据不相同,则证明该条VDM报文是错误的,此时丢弃该条VDM报文。
对AIS数据中的每条VDM报文都进行步骤S1041中的操作,直至对当前所有的AIS数据完成第二报文校验,根据第二报文校验过程中保留下来的AIS数据生成第四结果数据,可以理解为,第四结果数据中包含的是第二报文校验通过的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行第二报文校验的过程中,可以对此过程中保留或丢弃的数据进行第二标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如校验和验证不通过)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如校验和验证通过)、保留的时间、该VDM报文的来源等。
S1042:对第四结果数据进行第二数据长度校验,并丢弃第二数据长度校验过程中不符合第二预设长度的数据,得到第五结果数据。
示例性地,数据长度校验是指校验AIS数据对应的数据长度是否超过第二预设长度。第二预设长度由用户根据实际情况进行设置、调整,对此不做限定。第四结果数据中包含的是第二报文校验通过的AIS数据,对这些AIS数据进行第二数据长度校验。
例如,针对某条VDM报文,获取该条VDM报文中的载荷信息(可以理解为数据包),计算该载荷信息对应的数据长度,判断该数据长度与第二预设长度之间的大小。若该数据长度小于或等于第二预设长度,则证明该条VDM报文的数据长度符合要求,此时保留该条VDM报文。若该数据长度大于第二预设长度,则证明该条VDM报文的数据长度不符合要求,此时丢弃该条VDM报文。
对AIS数据中的每条VDM报文都进行步骤S1042中的操作,直至对当前所有的AIS数据完成第二数据长度校验,根据第二数据长度校验过程中保留下来的AIS数据生成第五结果数据,可以理解为,第五结果数据中包含的是在第四结果数据中筛选出的通过第二数据长度校验的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行第二数据长度校验的过程中,可以对此过程中保留或丢弃的数据进行第二标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如第二数据长度校验不通过,或校验和验证通过但第二数据长度校验不通过)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如第二数据长度校验通过,或校验和验证通过且第二数据长度校验通过)、保留的时间、该VDM报文的来源等。
S1043:对第五结果数据进行异常数据剔除处理,并丢弃异常数据剔除处理中异常的数据,得到第六结果数据。
示例性地,异常的数据是指AIS数据中的错误数据。例如,船舶动态数据错误(如时间、经纬度、航向角、航行速度等信息出现错误),船舶静态数据错误(如船舶名称、船舶类型、呼号、水上移动通信业务标识码、船舶类型等信息出现错误),船舶航次数据错误(如船舶吃水、货物类型、出发地、目的地等信息出现错误)等。
第五结果数据中包含的是在第四结果数据中筛选出的通过第二数据长度校验的VDM报文。判断每条VDM报文携带的信息与预设的信息是否匹配,例如,判断某条VDM报文携带的时间、经纬度、出发地、目的地等信息,与预设的时间、经纬度、出发地、目的地等信息是否匹配。
若VDM报文携带的信息与预设的信息匹配,则判定该条VDM报文正确,此时保留该条VDM报文。若VDM报文携带的信息与预设的信息不匹配,则判定该条VDM报文错误,此时丢弃该条VDM报文。
对AIS数据中的每条VDM报文都进行步骤S1043中的操作,直至对当前所有的AIS数据完成异常数据剔除处理,根据异常数据剔除处理过程中保留下来的AIS数据生成第六结果数据,可以理解为,第六结果数据中包含的是没有异常数据的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行异常数据剔除处理的过程中,可以对此过程中保留或丢弃的数据进行第二标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如存在异常的数据,或校验和验证通过、第二数据长度校验通过但存在异常的数据)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如数据正常,或校验和验证通过且第二数据长度校验通过且数据正常)、保留的时间、该VDM报文的来源等。
可选地,在一些可能的实现方式中,还可以对VDM报文进行解析,判断解析后的每个字段的取值是否符合标准规范,识别是否存在人为因素、电子设备自身因素等造成数据偏离等问题。示例性地,若解析后的字段的取值不符合标准规范,则将该VDM报文剔除。若解析后的字段的取值符合标准规范,则将该VDM报文保留。
S1044:对第六结果数据进行深度去重处理,并丢弃深度去重处理中重复的数据,得到第七结果数据。
示例性地,第六结果数据中包含的是在第五结果数据中筛选出的没有异常数据的AIS数据,对这些AIS数据进行深度去重处理。例如,对这些AIS数据中的所有VDM报文进行深度去重处理。
具体地,可采用重复数据检测算法对第六结果数据进行深度去重处理。对第六结果数据进行深度去重处理的过程可以参考步骤S1033中的描述,此处不再赘述。
对AIS数据进行深度去重处理后,根据深度去重处理过程中保留下来的AIS数据生成第七结果数据,可以理解为,第七结果数据中包含的是在第六结果数据中筛选出的不重复的VDM报文。
可选地,在一种可能的实现方式中,在对AIS数据进行异常数据剔除处理的过程中,可以对此过程中保留或丢弃的数据进行第二标签标记处理,即对此过程中保留或丢弃的数据打上不同状态的标签。
例如,对丢弃的每个VDM报文,标记其被丢弃的原因(如数据重复,或或校验和验证通过、第二数据长度校验通过、数据正常但数据重复)、丢弃的时间、该VDM报文的来源、丢弃的地点等。对保留的每个VDM报文,标记其被保留的原因(如数据正常,或校验和验证通过且第二数据长度校验通过且数据正常且数据未重复)、保留的时间、该VDM报文的来源等。
S1045:对第四结果数据、第五结果数据、第六结果数据、第七结果数据,以及校验和验证过程中、第二数据长度校验过程中、异常数据剔除处理中、深度去重处理中丢弃的数据,均进行第二标签标记处理,得到第二清洗结果。
示例性地,在一些实施方式中,对第四结果数据、第五结果数据、第六结果数据、第七结果数据,以及校验和验证过程中、第二数据长度校验过程中、异常数据剔除处理中、深度去重处理中丢弃的数据,均进行第二标签标记处理,可以是在执行步骤S1041至步骤S1044的过程中并行执行。即如上述步骤S1041至步骤S1044中的描述,在对AIS数据进行校验和验证、第二数据长度校验、异常数据剔除处理、深度去重处理时,对每个过程中保留或丢弃的各个数据打上不同状态的标签,得到第二清洗结果。
示例性地,在另一些实施方式中,也可以是对AIS数据进行校验和验证、第二数据长度校验、异常数据剔除处理、深度去重处理之后,对每个过程中保留或丢弃的各个数据打上不同状态的标签,得到第二清洗结果。
第二清洗结果中可以包括通过第二报文校验、第二数据长度校验、异常数据剔除处理以及深度去重处理之后,保留下来的AIS数据,这些AIS数据均被打上了不同状态的标签。
可选地,在一种可能的实现方式中,第二清洗结果中除了包括通过第二报文校验、第二数据长度校验、异常数据剔除处理以及深度去重处理之后,保留下来的AIS数据,还可以包括未通过第二报文校验,和/或未通过第二数据长度校验,和/或未通过异常数据剔除处理,和/或未通过深度去重处理,而被丢弃的AIS数据。同样,这些被保留或被丢弃的AIS数据均被打上了不同状态的标签。
可选地,在一种可能的实现方式中,为了便于后续对AIS数据进行测试,可以将打上不同状态的标签的AIS数据进行数据封装。例如,将打上不同状态的标签的AIS数据映射到预设的封装协议的净荷中,然后填充对应封装协议的包头,形成封装协议的数据包。
可选地,在一种可能的实现方式中,在对第四结果数据、第五结果数据、第六结果数据、第七结果数据进行第二标签标记处理的过程中,还可以对第四结果数据、第五结果数据、第六结果数据、第七结果数据中的AIS数据进行完善。
示例性地,将这些数据中的AIS数据补充完整。例如,可以通过检索预设的无线电数据库、船舶登记数据库、劳氏档案等数据源,获取完整的船舶信息,将AIS数据中缺失的信息以标签标记的方式补充完整。如可以补充船舶的经营人、货物信息等。此处仅为示例性说明,对此不做限定。将AIS数据补充完整有利于用户全面掌握船舶的各种信息,有利于用户监控该船舶以及后续对该船舶更好地分析。
S1046:存储第二清洗结果。
示例性地,根据不同的需求,对于第一清洗结果可以有不同的存储方式。例如,可以将第二清洗结果存储至用户终端,也可以将第二清洗结果存储至当前AIS数据的来源节点所属的父节点,还可以将第二清洗结果与下一批AIS数据进行浅度清洗或深度清洗。
示例性地,确定AIS数据的来源节点,根据AIS数据的来源节点确定该AIS数据的来源节点所属的父节点,将第二清洗结果存储至用户终端和父节点。
例如,父节点为第一控制中心设备,第一控制中心设备接收该第二清洗结果后,将该第二清洗结果存储至第一控制中心设备的数据库中。又例如,父节点为第二控制中心设备,第二控制中心设备接收该第二清洗结果后,将该第二清洗结果存储至第二控制中心设备的数据库中。再例如,父节点为第三控制中心设备,第三控制中心设备接收该第二清洗结果后,将该第二清洗结果存储至第三控制中心设备的数据库中。此处仅为示例性说明,对此不做限定。
具体过程可以参考步骤S1035中存储第一清洗结果的过程,此处不再赘述。
本实施方式中,采用第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理等方式对数据类型属于非实时数据类型的AIS数据进行清洗,整个清洗流程中清洗步骤更全面、多样,且采用深度去重处理,采用这种清洗流程对数据类型为非实时数据类型的AIS数据进行深度清洗,保证AIS数据清洗彻底,提升了清洗效果,进而可以从AIS数据中准确地提取出高质量信息。同时还对第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理的每个过程中,保留或丢弃的AIS数据打上标签,便于用户在任何时候掌握每个AIS数据的动态。最后对第二清洗结果采取不同的处理方式,满足了用户的多种需求,提升了用户体验感。且在不同场景中,将第二清洗结果存储至不同的父节点,便于后续该父节点的设备对第二清洗结果进一步清洗,进而为用户提供更高级别的数据,实现更深层次的数据清洗。
在本申请提供的清洗AIS数据的方法中,历史数据(即数据类型为非实时数据类型的AIS数据)主要在于完整性,延时过大或者断线缓存的数据都会整合进来参与清洗。对于历史数据,还会考虑报文解析后每个字段的取值是否符合标准规范,识别是否存在人为因素、电子设备自身因素等造成数据偏离等问题。对于历史数据应用而言,清洗程度更深,保证AIS数据清洗彻底,提升了数据完整性和清洗效果,有利于从AIS数据中准确地提取出高质量信息。
请参见图5,图5是本申请一实施例提供的一种清洗AIS数据的装置的示意图。该一种清洗AIS数据的装置包括的各单元用于执行图1、图3、图4对应的实施例中的各步骤。具体请参阅图1、图3、图4各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图5,包括:
获取单元210,用于获取待清洗的AIS数据;
确定单元220,用于确定所述AIS数据的数据类型,所述数据类型包括实时数据类型和非实时数据类型;
第一清洗单元230,用于当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,所述第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储;
第二清洗单元240,用于当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,所述第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储。
可选地,该第一清洗单元230具体用于:
当所述数据类型为所述实时数据类型时,采用哈希算法对所述AIS数据进行校验和验证,并丢弃校验验证和过程中不符合第一预设校验规则的数据,得到第一结果数据;
对所述第一结果数据进行第一数据长度校验,并丢弃第一数据长度校验过程中不符合第一预设长度的数据,得到第二结果数据;
对所述第二结果数据进行浅度去重处理,并丢弃浅度去重处理中重复的数据,得到第三结果数据;
对所述第一结果数据、所述第二结果数据、所述第三结果数据,以及校验和验证过程中、第一数据长度校验过程中、浅度去重处理中丢弃的数据,均进行第一标签标记处理,得到第一清洗结果;
存储所述第一清洗结果。
可选地,该第二清洗单元240具体用于:
当所述数据类型为所述非实时数据类型时,采用拼接算法对所述AIS数据进行校验和验证,并丢弃校验和验证过程中不符合第二预设校验规则的数据,得到第四结果数据;
对所述第四结果数据进行第二数据长度校验,并丢弃第二数据长度校验过程中不符合第二预设长度的数据,得到第五结果数据;
对所述第五结果数据进行异常数据剔除处理,并丢弃异常数据剔除处理中异常的数据,得到第六结果数据;
对所述第六结果数据进行深度去重处理,并丢弃深度去重处理中重复的数据,得到第七结果数据;
对所述第四结果数据、所述第五结果数据、所述第六结果数据、所述第七结果数据,以及校验和验证过程中、第二数据长度校验过程中、异常数据剔除处理中、深度去重处理中丢弃的数据,均进行第二标签标记处理,得到第二清洗结果;
存储所述第二清洗结果。
可选地,浅度去重处理对第一预设时长内的AIS数据进行去重处理,深度去重处理对第二预设时长内的AIS数据进行去重处理,所述第一预设时长小于所述第二预设时长。
可选地,该第一清洗单元230还用于:
确定所述AIS数据的来源节点所属的父节点;
将所述第一清洗结果存储至用户终端和所述父节点。
可选地,该装置还包括:
第三清洗单元,用于获取数据类型为所述非实时数据类型的目标AIS数据;采用第二清洗流程对所述目标AIS数据和所述第一清洗结果进行深度清洗。
可选地,当所述数据类型为所述实时数据类型时,采用第一清洗流程在预设清洗时间内完成对所述AIS数据进行浅度清洗的过程。
请参见图6,图6是本申请另一实施例提供的一种终端设备的示意图。如图6所示,该实施例的终端设备3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现上述各个清洗AIS数据的方法实施例中的步骤,例如图1所示的S101至S104。或者,所述处理器30执行所述计算机程序32时实现上述各实施例中各单元的功能,例如图5所示单元210至240功能。
示例性地,所述计算机程序32可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器31中,并由所述处理器30执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机指令段,该指令段用于描述所述计算机程序32在所述终端设备3中的执行过程。例如,所述计算机程序32可以被分割为获取单元、确定单元、第一清洗单元以及第二清洗单元,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图6仅仅是终端设备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数据的方法,其特征在于,所述方法包括:
获取待清洗的AIS数据;
确定所述AIS数据的数据类型,所述数据类型包括实时数据类型和非实时数据类型;
当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,所述第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储;
当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,所述第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储。
2.根据权利要求1所述的方法,其特征在于,当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,包括:
当所述数据类型为所述实时数据类型时,采用哈希算法对所述AIS数据进行校验和验证,并丢弃校验和验证过程中不符合第一预设校验规则的数据,得到第一结果数据;
对所述第一结果数据进行第一数据长度校验,并丢弃第一数据长度校验过程中不符合第一预设长度的数据,得到第二结果数据;
对所述第二结果数据进行浅度去重处理,并丢弃浅度去重处理中重复的数据,得到第三结果数据;
对所述第一结果数据、所述第二结果数据、所述第三结果数据,以及校验和验证过程中、第一数据长度校验过程中、浅度去重处理中丢弃的数据,均进行第一标签标记处理,得到第一清洗结果;
存储所述第一清洗结果。
3.根据权利要求1所述的方法,其特征在于,当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,包括:
当所述数据类型为所述非实时数据类型时,采用拼接算法对所述AIS数据进行校验和验证,并丢弃校验和验证过程中不符合第二预设校验规则的数据,得到第四结果数据;
对所述第四结果数据进行第二数据长度校验,并丢弃第二数据长度校验过程中不符合第二预设长度的数据,得到第五结果数据;
对所述第五结果数据进行异常数据剔除处理,并丢弃异常数据剔除处理中异常的数据,得到第六结果数据;
对所述第六结果数据进行深度去重处理,并丢弃深度去重处理中重复的数据,得到第七结果数据;
对所述第四结果数据、所述第五结果数据、所述第六结果数据、所述第七结果数据,以及校验和验证过程中、第二数据长度校验过程中、异常数据剔除处理中、深度去重处理中丢弃的数据,均进行第二标签标记处理,得到第二清洗结果;
存储所述第二清洗结果。
4.根据权利要求1至3任一项所述的方法,其特征在于,浅度去重处理对第一预设时长内的AIS数据进行去重处理,深度去重处理对第二预设时长内的AIS数据进行去重处理,所述第一预设时长小于所述第二预设时长。
5.根据权利要求2所述的方法,其特征在于,所述存储所述第一清洗结果,包括:
确定所述AIS数据的来源节点所属的父节点;
将所述第一清洗结果存储至用户终端和所述父节点。
6.根据权利要求2所述的方法,其特征在于,所述存储所述第一清洗结果之后,所述方法还包括:
获取数据类型为所述非实时数据类型的目标AIS数据;
采用第二清洗流程对所述目标AIS数据和所述第一清洗结果进行深度清洗。
7.根据权利要求1所述的方法,其特征在于,当所述数据类型为所述实时数据类型时,采用第一清洗流程在预设清洗时间内完成对所述AIS数据进行浅度清洗的过程。
8.一种清洗AIS数据的装置,其特征在于,所述装置包括:
获取单元,用于获取待清洗的AIS数据;
确定单元,用于确定所述AIS数据的数据类型,所述数据类型包括实时数据类型和非实时数据类型;
第一清洗单元,用于当所述数据类型为所述实时数据类型时,采用第一清洗流程对所述AIS数据进行浅度清洗,所述第一清洗流程包括第一报文校验、第一数据长度校验、浅度去重处理、第一标签标记处理、第一清洗结果存储;
第二清洗单元,用于当所述数据类型为所述非实时数据类型时,采用第二清洗流程对所述AIS数据进行深度清洗,所述第二清洗流程包括第二报文校验、第二数据长度校验、异常数据剔除处理、深度去重处理、第二标签标记处理、第二清洗结果存储。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938233.0A CN114996260B (zh) | 2022-08-05 | 2022-08-05 | 一种清洗ais数据的方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210938233.0A CN114996260B (zh) | 2022-08-05 | 2022-08-05 | 一种清洗ais数据的方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114996260A true CN114996260A (zh) | 2022-09-02 |
CN114996260B CN114996260B (zh) | 2022-11-11 |
Family
ID=83022959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210938233.0A Active CN114996260B (zh) | 2022-08-05 | 2022-08-05 | 一种清洗ais数据的方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996260B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074945A (zh) * | 2023-03-07 | 2023-05-05 | 交通运输部北海航海保障中心天津航标处 | Ais岸基网络中基于北斗授时时间同步技术的数据传输方法 |
CN117857671A (zh) * | 2024-03-08 | 2024-04-09 | 交通运输部北海航海保障中心天津航标处 | 一种基于船舶报文的多源ais数据完善性处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199743A (zh) * | 2014-08-22 | 2014-12-10 | 国家电网公司 | 一种配电网历史数据服务接口的一致性校验方法 |
CN106528865A (zh) * | 2016-12-02 | 2017-03-22 | 航天科工智慧产业发展有限公司 | 一种快速精准的交通大数据清洗方法 |
CN109783552A (zh) * | 2018-11-28 | 2019-05-21 | 中国电力科学研究院有限公司 | 一种数据清洗修复方法 |
CN110569237A (zh) * | 2019-09-12 | 2019-12-13 | 上海富数科技有限公司 | 实现实时数据清洗处理的系统及其方法 |
CN113064885A (zh) * | 2020-12-29 | 2021-07-02 | 中国移动通信集团贵州有限公司 | 一种数据清洗方法和装置 |
CN113435989A (zh) * | 2021-06-25 | 2021-09-24 | 中国工商银行股份有限公司 | 金融数据处理方法及装置 |
CN113836131A (zh) * | 2021-09-29 | 2021-12-24 | 平安科技(深圳)有限公司 | 一种大数据清洗方法、装置、计算机设备及存储介质 |
-
2022
- 2022-08-05 CN CN202210938233.0A patent/CN114996260B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199743A (zh) * | 2014-08-22 | 2014-12-10 | 国家电网公司 | 一种配电网历史数据服务接口的一致性校验方法 |
CN106528865A (zh) * | 2016-12-02 | 2017-03-22 | 航天科工智慧产业发展有限公司 | 一种快速精准的交通大数据清洗方法 |
CN109783552A (zh) * | 2018-11-28 | 2019-05-21 | 中国电力科学研究院有限公司 | 一种数据清洗修复方法 |
CN110569237A (zh) * | 2019-09-12 | 2019-12-13 | 上海富数科技有限公司 | 实现实时数据清洗处理的系统及其方法 |
CN113064885A (zh) * | 2020-12-29 | 2021-07-02 | 中国移动通信集团贵州有限公司 | 一种数据清洗方法和装置 |
CN113435989A (zh) * | 2021-06-25 | 2021-09-24 | 中国工商银行股份有限公司 | 金融数据处理方法及装置 |
CN113836131A (zh) * | 2021-09-29 | 2021-12-24 | 平安科技(深圳)有限公司 | 一种大数据清洗方法、装置、计算机设备及存储介质 |
Cited By (3)
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岸基网络中基于北斗授时时间同步技术的数据传输方法 |
CN117857671A (zh) * | 2024-03-08 | 2024-04-09 | 交通运输部北海航海保障中心天津航标处 | 一种基于船舶报文的多源ais数据完善性处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114996260B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114996260B (zh) | 一种清洗ais数据的方法、装置、终端设备及存储介质 | |
CN110213068B (zh) | 一种消息中间件的监控方法及相关设备 | |
CN109522304B (zh) | 异常对象识别方法及装置、存储介质 | |
CN111917740B (zh) | 一种异常流量告警日志检测方法、装置、设备及介质 | |
KR102536055B1 (ko) | 결함이 있는 분산 시스템 구성요소의 식별 | |
CN110138745B (zh) | 基于数据流序列的异常主机检测方法、装置、设备及介质 | |
CN114996261B (zh) | 基于ais数据的去重方法、装置、终端设备及存储介质 | |
CN106713396A (zh) | 服务器调度方法和系统 | |
CN111651595A (zh) | 一种异常日志处理方法及装置 | |
CN114090555A (zh) | 一种ais数据处理方法及系统 | |
CN106953717B (zh) | 一种船舶ais数据大批量高效解码方法及系统 | |
CN116112418A (zh) | 路由泄露的定位方法、装置、电子设备及存储介质 | |
CN111309696A (zh) | 日志处理方法及装置、电子设备、可读介质 | |
CN113992419A (zh) | 一种用户异常行为检测和处理系统及其方法 | |
CN111932427B (zh) | 一种基于多模态数据的突发公共安全事件检测方法及系统 | |
CN113407370B (zh) | 根因错误的聚类方法、装置、设备及计算机可读存储介质 | |
CN110535699B (zh) | 基础设施确定方法、装置、电子设备及可读取存储介质 | |
CN117215900A (zh) | 日志获取方法、装置及设备 | |
CN115633044B (zh) | 报文的处理方法、装置、电子设备及存储介质 | |
CN114520775B (zh) | 应用控制方法、装置、电子设备和存储介质 | |
CN115865486A (zh) | 基于多层感知卷积神经网络的网络入侵检测方法及系统 | |
CN114970495A (zh) | 人名消歧方法、装置、电子设备及存储介质 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN112580092B (zh) | 一种敏感文件识别方法及装置 | |
CN113098978B (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 |