航迹存储与检索方法、系统、设备及计算机存储可读介质与流程

文档序号:26050437发布日期:2021-07-27 15:25阅读:173来源:国知局
航迹存储与检索方法、系统、设备及计算机存储可读介质与流程

本发明涉及航迹存储与检索技术领域,具体地,涉及一种航迹存储与检索方法、系统、设备及计算机存储可读介质。



背景技术:

我国有着丰富的河流和沿海,是传统的渔业大国,然而随着我国经济的飞速发展,我国水资源面临诸多问题,如捕捞能力过剩,渔业资源衰退严重,经济鱼类资源接近枯竭,为此国家出台一系列禁渔,渔业保护区政策,但是我国渔业,水系现代化信息化相对还不完善。各种走私,偷沙,偷鱼等活动猖獗。现在大型港口,重点江河领域都安装了雷达,政府也对ais数据加强管理,通过这些数据可对各种船舶做有效监管,但是这些设备产生了海量的时空航迹数据,这就给传统的数据库处理方式带来了巨大挑战,随着我国渔业,水系现代化信息化的高速发展,对这些海量时空航迹数据高效处理成为亟待解决的问题。

ais数据系统是船舶自动识别系统(automaticidentificationsystem)的简称,由岸基(基站)设施和船载设备共同组成是一种船舶定位技术,通过低轨道的卫星接收船舶发送的ais报文信息,卫星将接收和解码ais报文信息转发给相应的地球站,从而让陆地管理机构掌握船舶的相关动态信息,实现对远海海域航行船舶的监控。

经过检索,专利文献cn112486473a公开了一种基于kafka和redis的准实时目标航迹显示方法,包括:构建前端显示程序和后处理服务,在后端处理服务中构建目标航迹点数据结构,存储目标航迹点数据;在redis服务中构建目标航迹数据存储类型,存储不同类型的目标航迹点数据;在后端处理服务中建立kafka消费线程,实时获取kafka消息队列内部的目标航迹原始数据,转换获取多个目标航迹点数据,更新redis服务中的目标航迹点数据;前端显示程序根据筛选条件定时获取并解析目标航迹点数据后,在地理信息系统图层上显示最新目标位置信息和航迹路径信息。该现有技术存在的问题在于虽然能够实时获取目标航迹点数据,但是无法很快地检索到航迹的历史数据。

专利文献cn112562422a公开了一种空中交通管制系统双机冗余模式下的航迹信息自同步方法,该现有技术适用于航迹处理,可实现对主备系统综合航迹的实时同步,主备同步并完整准确反映系统综合态势信息。但是该现有技术并不能解决快速检索历史的航迹信息的技术问题。

专利文献cn110879067a公开了一种基于大数据的全自动航迹获取方法、装置及地面站,该现有技术是通过地面站发送作业区域位置信息到大数据服务器;下载来自所述大数据服务器的可用航迹;选择所述可用航迹中的一个作为作业航迹;上传所述作业航迹到无人机。该现有技术中先预设一些无人机可以跑的的轨迹路线存储在大数据服务器上,然后使用的时候根据无人机位置和作业面积去匹配下载服务器上无人机可用的轨迹,然后选择其中一条飞行路径来使用。这个的路径是存储多个无人机预设路径选择其中一个,这个路径是少量的完整的预定义路径。但是该现有技术并不能够解决实际存在的海量历史航迹数据的查询检索和匹配,并不能根据实际需要去进行自定义。

目前航迹数据多而杂,如果要想查询检索航迹的历史数据非常耗时,即便是能够实现查询检索航迹的历史数据对于查询检索系统的性能要求极高,并不能得到广泛应用。

因此,亟需研发设计一种能够及时有效接收存储海良航迹数据并能做到毫秒级的检索航迹数据的系统和方法。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种航迹存储与检索方法、系统、设备及计算机存储可读介质,解决了传统数据处理,效率低及海量数据庞杂的问题,在渔政边检等监管行业有着大量使用场景。

根据本发明提供的一种航迹存储与检索方法,包括如下步骤:

步骤s1:数据采集端通过数据采集器收集航迹数据;

步骤s2:通过分布式日志接收服务把航迹数据接入到分布式数据总线中;

步骤s3:分布式数据总线通过分区管理数据,分布式数据总线通过消费者组和偏移量记录大数据计算引擎使用数据的情况;

步骤s4:通过大数据计算引擎读取分布式数据总线中的数据进行数据融合并统一数据记录目标;

步骤s5:融合并统一后的数据存储到分布式搜索引擎中;

步骤s6:将存储到分布式搜索引擎的数据通过时间及空间叠加过滤,并且自定义数据精度获取详细航迹及抽样航迹;

其中,大数据计算引擎是读取数据总线上的原始航迹数据,用于数据融合的,数据融合是数据etl标准化,把同一目标及同一时刻的不同数据雷达、ais等数据融合成统一的航迹记录,融合后的结果存储在分布式搜索引擎中,大数据计算引擎是用来做计算的,分布式搜索引擎是用来存储和查询的。

优选地,步骤s1中是通过雷达控制器和ais设备对航迹数据进行收集。

优选地,步骤s2中的分布式日志接收服务包括:

分布式接收服务:通过部署多台不同接收服务来接收不同数据采集器采集的航迹数据,并由总控服务器控制数据接收状况;

分布式译码服务:利用不同接收服务的配置对采集的航迹数据进行译码,转化成可识别字符数据;

分布式传输服务:将可识别字符数据发送到分布式数据总线。

优选地,步骤s3中的分布式数据总线通过主题和分区存储航迹数据,同一个主题的航迹数据存储在不同分区里,每个分区包括主分区和备分区,主分区和备分区分布在不同的节点上;

其中,数据总线每个分区的数据是通过主分区写入的,副分区同步主分区的数据,主分区和副分区存储的数据是一样的,主分区和副分区都可以被大数据计算引擎读取,提高的数据总线的读取性能,如果主分区的节点意外宕机,多个副分区会选择一个副分区升级为主分区,提高数据总线的高可用性,数据总线负责数据的统一接入和分发,数据不修改,定期删除数据。

优选地,步骤s4中通过大数据计算引擎读取分布式数据总线的数据进行数据融合,把同一目标及同一时刻的不同数据融合成统一的航迹记录。

优选地,步骤s5中将融合并统一后的数据存储到分布式搜索引擎中,每个计算周期的数据作为一个索引,每个索引包括主分片和备分片,将数据存储到不同分片中,并且对不同的字段类型匹配不同的存储策略;

其中,分布式搜索引擎每个分片中的数据的增删改是通过主分片完成的,副分片同步主分片的操作,主分片和副分片存储的数据是一样的,主分片和副分片的数据都可以被航迹查询服务使用,提高的分布式搜索引擎的读取性能,如果主分片的节点意外宕机,多个副分片会选择一个副分片升级为主分片,提高分布式搜索引擎的高可用性。

优选地,步骤s6包括如下步骤:

步骤s6.1:建立空间网格,将所有的航迹数据放入空间网格中,通过自定义网格精度计算得到每个空间网格的长度stile,计算公式如下:

stile=c*cos(latitude)/2zoomlevel

其中,c代表地球周长,c=2πr,r为航迹点处地球的半径;latitude为航迹点的纬度值;zoomlevel为查询所自定义的网格精度;

步骤s6.2:根据查询检索条件所指定的时间范围内检索出所有原始航迹数据放入一级时间数据桶;

步骤s6.3:根据查询检索条件所自定义的网格精度检索出所有原始航迹数据中放入二级空间网格数据桶;

步骤s6.4:在一级时间数据桶中划分二级空间网格数据桶,把检索的原始航迹数据,按照航迹点时间和经纬度匹配对应的一级和二级数据桶,每个二级空间网格数据桶里保留一条记录。

根据本发明提供的一种航迹存储与检索系统,包括:

模块m1:数据采集端通过数据采集器收集航迹数据;

模块m2:通过分布式日志接收服务把航迹数据接入到分布式数据总线中;

模块m3:分布式数据总线通过分区管理数据,分布式数据总线通过消费者组和偏移量记录大数据计算引擎使用数据的情况;

模块m4:通过大数据计算引擎读取分布式数据总线中的数据进行数据融合并统一数据记录目标;

模块m5:融合并统一后的数据存储到分布式搜索引擎中;

模块m6:将存储到分布式搜索引擎的数据通过时间及空间叠加过滤获取详细航迹及抽样航迹。

根据本发明提供的一种存储由计算机程序的计算机可读存储介质,计算机程序被处理器执行时上述任一项所述的方法的步骤。

根据本发明提供的一种航迹存储与检索设备,包括上述的航迹存储与检索系统或者上述的存储有计算机程序的计算机可读存储介质。

与现有技术相比,本发明具有如下的有益效果:

1、本发明通过大数据接收存储处理数据,能及时有效接收存储海量航迹数据。

2、本发明通过时间空间叠加的航迹过滤算法,能够自定义航迹精度,实现毫秒级检索航迹数据,解决了传统航迹数据多而杂且无法查询历史数据的技术问题。

3、本发明利用地图网格进行时间和空间的叠加过滤,能够实现在不丢失精度的同时查询检索到所需要的历史航迹数据信息。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明中航迹存储与检索方法的逻辑流程图;

图2为本发明中航迹存储与检索系统的网络架构图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

如图1、图2所示,本发明提供了一种航迹存储与检索方法,包括如下步骤:

步骤s1:数据采集端通过雷达控制器和ais设备对航迹数据进行收集。具体地:

部署在岸边的铁塔上的雷达,按照频率扫描搜索雷达覆盖区域,一般是2.5秒扫描一圈,监控雷达扫描范围内的目标,雷达控制服务器控制雷达扫描并记录扫描结果,并把数据发送后端日志接收服务。

ais是船舶能够在vhf公用无线信道上向附近船舶和岸基ais接收服务持续发送其身份、位置、航向、航速和其它数据。通过ais接收设备,接收到船舶发送的ais信息,ais接收服务器记录信息,并把数据发送到后端日志服务。

步骤s2:通过分布式日志接收服务把航迹数据接入到分布式数据总线中;分布式日志接收服务包括:

分布式接收服务:通过部署多台不同接收服务,根据雷达、ais设备位置、种类不同由不同的接收服务接收,总控服务器来控制数据接收状况。

分布式译码服务:利用不同接收服务的配置对雷达和ais采集的航迹数据进行译码,转化成可识别字符数据;

分布式传输服务:将可识别字符数据发送到分布式数据总线。

步骤s3:分布式数据总线通过分区管理数据,分布式数据总线通过消费者组和偏移量记录大数据计算引擎使用数据的情况。分布式数据总线通过主题和分区存储航迹数据,同一个主题的航迹数据存储在不同分区里,每个分区包括主分区和备分区,主分区和备分区分布在不同的节点上,从而保证数据安全。同时管理大数据计算引擎订阅主题的情况,并且维护大数据计算引擎消费日志情况。

步骤s4:通过大数据计算引擎读取分布式数据总线中的数据进行数据融合并把同一目标及同一时刻的不同数据融合成统一的航迹记录。

步骤s5:融合并统一后的数据存储到分布式搜索引擎中。也就是将融合并统一后的数据存储到分布式搜索引擎中,每个计算周期的数据作为一个索引,每个索引包括主分片和备分片,将数据存储到不同分片中,并且对不同的字段类型匹配不同的存储策略。具体包括:

第一,针对文本、字符串类型的字段,根据文本、字符串的关键词,建立倒排索引表,关键词对应索引列表包含该关键词所在的文档的id、在该文档中出现的次数、在该文档中出现的位置信息。

第二,针对数字类型的字段,如船舶行驶速度,需要比较大小的字段类型,使用b树索引来索引数据,更能提高检索性能。

第三,针对经纬度类型的字段,这个是航迹最重要的字段,为了基于时空的各种检索,需要对经纬度特殊处理,生成geopoint特殊类型,geopoint最常用的表现方式为“维度,经度”的字符串,也可以是一个数组[“维度”,“经度”],也支持geohash和wktpointprimitive等写入形式。

检索时候分布式搜索引擎根据不同的检索条件类型,使用不同类型的索引,并且一次检索,对应的数据分布在不同节点的分片上,同时并行执行检索,能实现毫秒级响应,检索效率非常高。

步骤s6:将存储到分布式搜索引擎的数据通过时间及空间叠加过滤,并且自定义数据精度获取详细航迹及抽样航迹。

优选地,步骤s6包括如下步骤:

步骤s6.1:建立空间网格,将所有的航迹数据放入空间网格中,通过自定义网格精度计算得到每个空间网格的长度stile,计算公式如下:

stile=c*cos(latitude)/2zoomlevel

其中,c代表地球周长,c=2πr,r为航迹点处地球的半径;latitude为航迹点的纬度值;zoomlevel为查询所自定义的网格精度;

步骤s6.2:根据查询检索条件所指定的时间范围内检索出所有原始航迹数据放入一级时间数据桶;

步骤s6.3:根据查询检索条件所自定义的网格精度检索出所有原始航迹数据中放入二级空间网格数据桶;

步骤s6.4:在一级时间数据桶中划分二级空间网格数据桶,把检索的原始航迹数据,按照航迹点时间和经纬度匹配对应的一级和二级数据桶,每个二级空间网格数据桶里保留一条记录。

针对步骤s6举例说明,假设地球基本上是圆的。为了让它变成平的,我们用一个想象的圆柱套住它,然后展开,这样看全世界就是一张图了。此时地图对应的地图网格级别为0,以地球半径:6372.7982km计算的,并保持在赤道上;对于其他纬度,该值必须乘以该纬度的余弦,那么网格的长和宽都为40041472m,如果地图网格级别设定为1,那么地图都被一分为四,整个世界地图被分为四个网格,那么网格的长和宽都为20020736m,以此类推,在网格级别为29时候,每个地图网格代表的长和宽都为0.0745m,全世界被分割成7.45cm*7.45cm的网格。对应的网格精度如下表:

接下来进行航迹检索,首先,基于时间过滤的航迹检索:

即根据检索条件所指定的时间范围内,只保留一条记录,例如指定60秒,系统把符合条件的所有原始航迹数据,按照时间60秒做分桶,例如航迹点a的时间是xxxx年xx月xx日12:00:01,航迹点b的时间是xxxx年xx月xx日12:00:36,航迹点c的时间是xxxx年xx月xx日12:01:24,那么航迹点a和b就落在xxxx年xx月xx日12:00:00-xxxx年xx月xx日12:01:00这个桶中。另外一个航迹点c就落在xxxx年xx月xx日12:01:00-xxxx年xx月xx日12:02:00这个桶中,那么可以按照桶,每个桶里保留一条记录,即实现基于时间过滤的航迹检索。

其次,基于空间过滤的航迹检索:

即根据检索条件所指定的网格精度,每个地理网格里只保留一条记录,按照检索条件指定的网格精度,把全世界划分成对应精度的网格,例如设置网格精度设定为22,那么每个网格是9.536m*9.536m的矩形,航迹点a,b对应的经纬度落在同一个9.536m*9.536m网格g1中,航迹点c对应的经纬度落在另外一个9.536m*9.536m网格g2中,程序按照分桶规则,每个网格作为一个数据桶,每个桶里保留一条记录,即实现了基于空间的航迹过滤检索。

再次,基于时间空间叠加过滤的航迹检索:

即根据检索条件指定的过滤时间范围如60秒,划分一级时间数据桶,按照检索条件指定的空间网格精度,在一级时间数据桶中划分二级空间网格数据桶,把检索的原始航迹数据,按照航迹点时间和经纬度匹配对应的一级和二级数据桶,然后系统根据规则,每个二级空间网格数据桶里保留一条记录,实现基于时间和空间叠加的航迹过滤检索。

根据本发明提供的一种航迹存储与检索系统,包括:

模块m1:数据采集端通过数据采集器收集航迹数据;

模块m2:通过分布式日志接收服务把航迹数据接入到分布式数据总线中;

模块m3:分布式数据总线通过分区管理数据,分布式数据总线通过消费者组和偏移量记录大数据计算引擎使用数据的情况;

模块m4:通过大数据计算引擎读取分布式数据总线中的数据进行数据融合并统一数据记录目标;

模块m5:融合并统一后的数据存储到分布式搜索引擎中;

模块m6:将存储到分布式搜索引擎的数据通过时间及空间叠加过滤获取详细航迹及抽样航迹。

本发明还提供了一种存储由计算机程序的计算机可读存储介质,计算机程序被处理器执行时上述任一项所述的方法的步骤。

本发明还提供了一种航迹存储与检索设备,包括上述的航迹存储与检索系统或者上述的存储有计算机程序的计算机可读存储介质。

随着渔业,航运的蓬勃发展,雷达,ais设备的广泛应用,并且相关部门对航迹实时性经度要求越来越高,产生了海量的航迹数据。

航迹数据具有时空性,即在某个时间范围内,航迹数据既有高速行驶的空间跨越性高的特性,还有可能静止不动的特性。基于航迹的海量性和时空特性对航迹数据检索使用基于时空的大数据检索方案。

基于时间空间叠加的航迹检索,对应海量的、时间空间特性的航迹数据,可有效的减少数据,并且条件灵活可配置,根据需求,灵活获得不同时空精度的航迹数据。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1