发明内容
本发明提供了一种海上目标对象的数据处理方法、装置及设备。实现了系统对不同类型海上目标对象的目标数据的并行化处理,提高系统整体的数据接入量,提高处理效率,有效减少计算资源成本。
为解决上述技术问题,本发明的实施例提供以下方案:
一种海上目标对象的数据处理方法,包括:
获取至少一种类型海上目标对象的位置信息;
根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引;所述网格是将预设存储范围按照经纬度进行划分得到的至少一个网格;
将所述目标对象的目标数据,按照所述网格索引进行存储。
可选的,根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引,包括:
将所述目标对象的经度向下取整,纬度向上取整,得到目标经纬度取整后的经纬度值;
根据所述目标经纬度取整后的经纬度值,生成所述目标经纬度信息所处目标网格的目标网格索引。
可选的,将所述目标对象的目标数据,按照所述网格索引进行存储,包括:
建立所述目标对象的标识与目标网格索引之间的对应关系;
根据所述对应关系,将所述目标对象的目标数据存储于所述目标对象对应的目标网格索引对应的存储空间。
可选的,根据所述对应关系,将所述目标对象的目标数据存储于所述目标对象对应的目标网格索引对应的存储空间,包括:
根据所述对应关系,判断所述目标网格中是否存在所述目标对象的目标数据,若存在,将所述目标对象的目标数据直接更新存储于所述目标网格索引对应的存储空间,若不存在,将所述目标数据存储于一新的目标网格,并更新所述目标对象与所述新的目标网格的对应关系。
可选的,所述海上目标对象的数据处理方法还包括:
对于存储有目标数据的目标网格,根据目标网格索引,生成所述目标数据的数据结构列表;
根据所述数据结构列表,创建所述目标数据的处理任务对象;
将所述处理任务对象写入处理任务队列中进行处理。
可选的,所述海上目标对象的数据处理方法还包括:
获取目标对象的查询条件;
根据所述查询条件,生成目标查询范围;
从与所述目标查询范围重叠的至少一个网格中,查找所述目标对象周边一预设范围内的其它目标对象。
可选的,所述海上目标对象包括:雷达监测到的目标对象和/或船舶自动识别系统AIS目标对象。
本发明还提供一种海上目标对象的数据处理装置,所述装置包括:
获取模块,用于获取至少一种类型海上目标对象的位置信息;
处理模块,用于根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引;所述网格是将预设存储范围按照经纬度进行划分得到的至少一个网格;将所述目标对象的目标数据,按照所述网格索引进行存储。
本发明还提供一种电子设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上所述的方法。
本发明还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上所述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,通过获取至少一种类型海上目标对象的位置信息;根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引;所述网格是将预设存储范围按照经纬度进行划分得到的至少一个网格;将所述目标对象的目标数据,按照所述网格索引进行存储。解决了影响系统对目标数据处理的实时性,降低了系统对目标数据的接入量的问题;实现了系统对不同类型海上目标对象的目标数据的并行化处理,提高系统整体的数据接入量,提高处理效率,有效减少计算资源成本。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提供一种海上目标对象的数据处理方法,包括:
步骤11,获取至少一种类型海上目标对象的位置信息,所述位置信息为:所述目标对象的经纬度信息;
这里,海上目标对象包括:雷达监测到的目标对象和/或船舶自动识别系统AIS目标对象。所述目标对象可以是通过各类设备跟踪探测得到的,包括但不限于:雷达监测到的目标对象、船舶自动识别系统AIS目标对象、光电传感器监测到的目标对象和/或全球定位系统GPS监测到的目标对象。
步骤12,根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引;所述网格是将预设存储范围按照经纬度进行划分得到的至少一个网格,生成所述网格索引的经纬度数值为整数数值;
步骤13,将所述目标对象的目标数据,按照所述网格索引进行存储,所述目标对象包括但不限于:军舰、渔船或者货船,所述目标数据包括但不限于:所述目标对象的航向、航速和轨迹等。
本发明的实施例中,通过将目标数据按照经纬度进行网格化存储,且各网格化数据结构间的目标数据读写和处理过程几乎互不干扰;实现了系统数据处理效率的有效提升,在相同的计算资源环境下,提升整体系统的目标数据接入量和数据处理的实时性。
如图2所示,在本发明一可选的实施例中,步骤12可以包括:
步骤121,将所述目标对象的经度向下取整,纬度向上取整,得到目标经纬度取整后的经纬度值;
步骤122,根据所述目标经纬度取整后的经纬度值,生成所述目标经纬度信息所处目标网格的目标网格索引;
这里,如图2所示,经度的范围可以为:[-180,179],纬度的范围可以为:[90,-89],在该经纬度范围内,可以按照经纬度的预设经纬度间隔,进行网络划分,将所述经度的范围和所述纬度的范围内划分多个网格,每一个目标对象的经纬度信息分别取整,得到目标经纬度取整后的经纬度值,将所述目标经纬度取整后的经纬度值作为该目标对象所对应的目标网格的目标网格索引。
本发明的该实施例中,将预设经纬度范围进行网格化划分,在进行数据处理时,以网格为单位进行目标对象的目标数据的存储、处理,统一并简化数据存储逻辑,有效提高系统的数据处理效率。
如图3所示,在本发明又一可选的实施例中,步骤13可以包括:
步骤131,建立所述目标对象的标识与目标网格索引之间的对应关系,所述目标对象的标识可以为:所述目标对象的ID;
步骤132,根据所述对应关系,将所述目标对象的目标数据存储于所述目标对象对应的目标网格索引对应的存储空间;
这里,不同的目标对象的目标数据,允许以相同的形式存储在不同的目标网格中,也允许存储在相同的目标网格中。
在本发明又一可选的实施例中,步骤132可以包括:
步骤1321,根据所述对应关系,判断所述目标网格中是否存在所述目标对象的目标数据,若存在,将所述目标对象的目标数据直接更新存储于所述目标网格索引对应的存储空间,若不存在,将所述目标数据存储于一新的目标网格,并更新所述目标对象与所述新的目标网格的对应关系。
这里,根据所述对应关系,查找所述目标网格中是否存在对应的目标数据,若所述目标网格的索引和已存在的网格索引一致,则所述目标网格中存在对应的目标数据,否则,所述目标网格中不存在对应的目标数据,将所述目标数据从对应的旧网格中移除,将所述目标数据存储于一新的目标网格,并更新所述目标对象与所述新的目标网格的对应关系。
本发明的该实施例中,根据所述对应关系,将所述目标对象的目标数据存储于所述目标对象对应的目标网格索引对应的存储空间,这样,不同的目标对象的目标数据可以同时按照该方法存储于相对应的网络,各目标网格的数据处理过程互不干扰,能够提高数据处理效率;在相同的计算资源环境下,有效提升整体系统的目标数据接入量和数据处理的实时性。
如图4所示,在本发明又一可选的实施例中,所述海上目标对象的数据处理方法还包括:
步骤14,对于存储有目标数据的目标网格,根据目标网格索引,生成所述目标数据的数据结构列表;
步骤15,根据所述数据结构列表,创建所述目标数据的处理任务对象;
步骤16,将所述处理任务对象写入处理任务队列中进行处理,所述处理任务包括但不限于:传输、解码和/或编译。
这里,将存储有目标数据的目标网络,生成网格数据结构列表,并使用该网格数据结构创建目标数据处理任务对象,进一步地将该目标数据处理任务对象放入任务队列中,数据处理线程可以并发地进行各个网格中的数据的处理,从而实现对该目标网络中的目标数据的并行处理,系统的数据处理效率得到有效提高。
如图5所示,在本发明又一可选的实施例中,所述海上目标对象的数据处理方法还包括:
步骤17,获取目标对象的查询条件;
步骤18,根据所述查询条件,生成目标查询范围;
步骤19,从与所述目标查询范围重叠的至少一个网格中,查找所述目标对象周边一预设范围内的其它目标对象。
这里,例如:获取给定的目标对象所在的位置,以所述给定的目标对象所在的位置为中心,指定预设目标查找范围,生成目标查询范围网格,计算确定所述目标查询范围网格是否与其他目标网格相交,若所述目标查询范围网格与其他目标网格相交,则找到所述目标范围网格中以及与所述目标范围网格相交的多个目标网格中的所有目标对象,否则,证明在所述预设目标查找范围内,没有其他目标对象。
本发明的该实施例中,通过指定预设范围,确定所述目标对象所处的目标网格中以及与所述目标网格相交的目标网格中是否存在其它目标对象,可以快捷地对目标进行筛选,针对性强且快捷高效。
本发明的实施例中,将目标数据按照经纬度进行网格化存储,可以简化数据接入处理复杂度,提高数据存储一致性,不同的目标网格中的目标数据可以并行处理,提高系统的数据处理效率,并且能够有效提升系统的目标对象接入数量和数据处理的实时性。
如图6所示,本发明还提供一种海上目标对象的数据处理装置60,所述装置包括:
获取模块61,用于获取至少一种类型海上目标对象的位置信息;
处理模块62,用于根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引;所述网格是将预设存储范围按照经纬度进行划分得到的至少一个网格;将所述目标对象的目标数据,按照所述网格索引进行存储。
可选的,根据所述位置信息,生成存储所述目标对象的目标数据的网格的网格索引,包括:
将所述目标对象的经度向下取整,纬度向上取整,得到目标经纬度取整后的经纬度值;
根据所述目标经纬度取整后的经纬度值,生成所述目标经纬度信息所处目标网格的目标网格索引。
可选的,将所述目标对象的目标数据,按照所述网格索引进行存储,包括:
建立所述目标对象的标识与目标网格索引之间的对应关系;
根据所述对应关系,将所述目标对象的目标数据存储于所述目标对象对应的目标网格索引对应的存储空间。
可选的,根据所述对应关系,将所述目标对象的目标数据存储于所述目标对象对应的目标网格索引对应的存储空间,包括:
根据所述对应关系,判断所述目标网格中是否存在所述目标对象的目标数据,若存在,将所述目标对象的目标数据直接更新存储于所述目标网格索引对应的存储空间,若不存在,将所述目标数据存储于一新的目标网格,并更新所述目标对象与所述新的目标网格的对应关系。
可选的,所述处理模块62还可以用于:
对于存储有目标数据的目标网格,根据目标网格索引,生成所述目标数据的数据结构列表;
根据所述数据结构列表,创建所述目标数据的处理任务对象;
将所述处理任务对象写入处理任务队列中进行处理。
可选的,所述处理模块还可以用于:
获取目标对象的查询条件;
根据所述查询条件,生成目标查询范围;
从与所述目标查询范围重叠的至少一个网格中,查找所述目标对象周边一预设范围内的其它目标对象。
可选的,所述海上目标对象包括:雷达监测到的目标对象和/或船舶自动识别系统AIS目标对象。
需要说明的是,该装置是与上述方法对应的装置,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种电子设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上所述的方法,上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算机可读存储介质,存储有指令,所述指令在计算机上运行时,使得计算机执行如上所述的方法,上述方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。