System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种百亿级船舶运动数据的实时处理方法技术_技高网

一种百亿级船舶运动数据的实时处理方法技术

技术编号:40257296 阅读:12 留言:0更新日期:2024-02-02 22:49
本发明专利技术涉及一种百亿级船舶运动数据的实时处理方法方法,对于雷达扫描到的船舶数据,进行压缩处理后分别存入clickhouse数据库和Elasticsearch搜索引擎中,提供对于百亿级别的船舶数据按照区域查询雷达轨迹、多目标轨迹查询等检索方式,检索时间控制在秒级内,同时将未处理原始数据也存入数据库中,提供对原始数据的按雷达ID查询,按船舶ID查询等快速查询。本发明专利技术能解决船舶轨迹数据量大、难以进行长时间存储、难以进行空间查询等问题。

【技术实现步骤摘要】

本专利技术属于大数据处理,涉及一种百亿级船舶运动数据的实时处理方法


技术介绍

1、航运在全球大宗商民贸易中起重要作用,80%以上的大宗商品贸易都是要通过航运进行运输。为保证船舶航运安全,通常采用雷达对船舶的运行轨迹及位置信息进行实时跟踪处理。但随着船舶数量和航海业务也在逐年增加,雷达扫描到的船舶运动数据量达到百亿级,由于数据量巨大,在进行数据长时间存储、对处理后的雷达数据进行快速查询等专利技术面临困难。


技术实现思路

1、本专利技术的目的是针对上述问题,提供一种百亿级船舶运动数据的实时处理方法,将检索时间能够控制在秒级内,同时会将未处理原始数据也存入数据库中,提供对原始数据的按雷达id查询,按船舶id查询等快速查询方法,用以解决船舶轨迹数据量大,难以进行长时间存储,难以进行空间查询等问题。

2、本专利技术的技术方案如下:

3、一种百亿级船舶运动数据的实时处理方法,其特征在于,包括以下步骤:

4、(1)数据接入:将雷达数据包解析成json字符串的格式向kafka中的radar主题发送消息,利用kafka作为消息缓冲队列;

5、(2)数据抽稀:采用流处理引擎flink中的滑动窗口对kafka中的数据进行处理;

6、(3)定义elasticsearch中的index,并且将船舶的经纬度定义为geo_point类型;使用logstash将kafka中主题为radar-flink的数据,抽取到elasticsearch中,在抽取数据的时候,将船舶的经纬度以数组的形式写入location字段中,再将location转为float类型,然后将location写入elasticsearch中的geo_point类型的数据;使用elasticsearch提供近一到三个月的抽稀数据存储;

7、(4)对于船只的轨迹,使用道格拉斯-普克算法进行数据抽稀,抽稀的阈值设置为0.01;

8、(5)空间查询:利用elasticsearch提供的geo空间查询能力,查询圆形、矩形、不规则多边形区域内一定时间内船只的id和对应轨迹点的数量的接口,同时查询圆形、矩形、不规则多边形区域内一定时间内船只的轨迹接口,对于从elasticsearch中查询到的船只轨迹,运行道格拉斯-普克算法进行轨迹抽稀,将抽稀后的轨迹点数据按照时间顺序排列后进行返回;

9、(6)全量数据保存:使用后端程序将kafka中主题为radar的全量数据以批处理的形式存储clickhouse中,以保障数据的完整性,随时可以溯源,同时根据硬件资源提供1-3年的存储。

10、本专利技术能够实现按照区域查询雷达轨迹、多目标轨迹查询、按照半径查询并按时间倒叙展现船舶运动轨迹,具有以下有益效果:

11、1、处理速度快,从数据接入到数据入库花费时间少;

12、2、查询速度快,能够快速查询矩形、圆形、多边形等区域内的船舶轨迹;

13、3、在不改变船舶轨迹形状的基础上对轨迹点进行了抽稀,抽稀后的数据约为原数据的80%;

14、4、技术实现简单,具有很强的应用价值。

本文档来自技高网...

【技术保护点】

1.一种百亿级船舶运动数据的实时处理方法,其特征在于,包括以下步骤:

【技术特征摘要】

1.一种百亿级船舶运动数据的实时处...

【专利技术属性】
技术研发人员:黄晶晶
申请(专利权)人:北京航天长峰科技工业集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1