一种基于netty的NtripCaster集群系统技术方案

技术编号:36421288 阅读:8 留言:0更新日期:2023-01-20 22:29
本发明专利技术公开了一种基于netty的NtripCaster集群系统,包括:Ntrip集群,基于Netty框架在SpringBoot环境下构建,包括多个服务节点;Ntrip服务端,用于接收RTK基站发送的RTCM数据,所述Ntrip服务端与所述RTK基站之间通过Ntrip协议通讯;Ntrip客户端,用于发送所述RTCM数据给外部设备,所述Ntrip客户端与所述RTK基站之间通过Ntrip协议通讯;所述Ntrip服务端与所述Ntrip客户端之间通过所述Ntrip集群进行通信。本发明专利技术通过基于netty与SpringBoot的构建NtripCaster集群,来管理接收RTK基站发送的RTCM数据,并将RTCM数据转发给外部设备的过程,可以更高效的完成Caster相关的业务扩展。关的业务扩展。关的业务扩展。

【技术实现步骤摘要】
一种基于netty的NtripCaster集群系统


[0001]本专利技术涉及网络集群服务,特别涉及一种基于netty的NtripCaster集群系统。

技术介绍

[0002]随着室外机器人,智能汽车,无人机等设备的普及,对室外GPS定位精度的要求越来越高。目前普遍使用RTK(载波相位差分)技术来实现厘米级的GPS定位精度。其中网络RTK的具体实现需要能够提供RTCM格式的数据,而Ntrip协议是一种广泛使用的RTCM传输协议。现有的Ntrip Catser大多基于C语言来实现,也有go语言实现的开源版本。这些都只实现了基础的数据传输分发的功能,对于业务层的支持很少,扩展性较差,同时由于RTK技术的时效性,Caster需要能够稳定持续的提供RTCM数据。

技术实现思路

[0003]为解决在现有技术中,对于业务层的支持少,扩展性较差的技术问题,本专利技术提供一种基于netty的NtripCaster集群系统,包括:
[0004]Ntrip集群,基于Netty框架在SpringBoot环境下构建,包括多个服务节点;
[0005]Ntrip服务端,用于接收RTK基站发送的RTCM数据,所述Ntrip服务端与所述RTK基站之间通过Ntrip协议通讯;
[0006]Ntrip客户端,用于发送所述RTCM数据给外部设备,所述Ntrip客户端与所述RTK基站之间通过Ntrip协议通讯;
[0007]所述Ntrip服务端与所述Ntrip客户端之间通过所述Ntrip集群进行通信。
>[0008]在本技术方案中,通过基于netty与SpringBoot的构建NtripCaster集群,来管理接收RTK基站发送的RTCM数据,并将RTCM数据转发给外部设备的过程,利用netty是java上广泛使用的网络服务器和客户端程序,高并发、传输快、定制能力强,适合NtripCaster的适用场景的特性,基于java的SpringBoot平台可以更高效的完成Caster相关的业务扩展。同时,Caster集群化使得Caster拥有了很高的可用性,并允许Caster进行不停机运维。
[0009]优选地,所述Ntrip集群还包括Nginx平衡器,用于平均分配所述RTK基站和所述外部设备的连接请求。
[0010]在本优选的技术方案中,通过所有进入或者流出集群的RTCM数据,都要经过Nginx服务器进行数据的流量管理与分配,从而实现负载均衡。
[0011]进一步优选地,所述Nginx平衡器还用于,当分配的连接请求所对应的所述服务节点处于故障或者离线状态下,断开与所述服务节点的连接,并将所述连接请求分配给其他服务节点。
[0012]在本技术方案中,通过所有进入或者流出集群的RTCM数据,都要经过Nginx服务器进行数据的流量管理与分配,从而实现负载均衡。
[0013]优选地,所述Ntrip集群还包括断线检测模块,用于当所述服务节点断线时,将所述服务节点从所述Ntrip集群中移除;
[0014]还用于当所述服务节点从断线中恢复时,将断线的所述服务节点从所述Ntrip集群中恢复。
[0015]在本技术方案中,通过对于服务节点的活跃状态,当服务节点不处于活跃状态时,当不处于活跃状态时,便将其从集群系统中移除,从而降低集群的规模,从而提高集群管理的效率。
[0016]优选地,所述Ntrip集群还包括集群规模控制模块,用于当所述服务节点在预设服务时间内未与所述服务节点进行数据传输时,断开与所述服务节点之间的连接。
[0017]优选地,所述Ntrip集群还包括状态同步模块,基于RebbitMQ框架,用于当所述服务节点上线或者断线时,将所述服务节点的状态信息,使用消息队列,发送给所述Ntrip集群中的其他服务节点。
[0018]在本技术方案中,通过使用RabbitMQ的消息队列机制进行server和client的状态同步,当集群的一个节点中的server或client有上下线,该节点会通过消息队列告知其他节点同步状态,从而保证整个集群中的状态一致性。
[0019]优选地,所述Ntrip协议通讯基于TCP协议实现。
[0020]优选地,所述Ntrip集群还包括鉴权模块,用于为所述服务节点提供鉴权服务并将本次通讯记录在日志中
[0021]优选地,还包括外部业务系统服务模块,用于为所述服务节点提供业务服务。
[0022]本专利技术至少包括以下一项技术效果:
[0023](1)通过基于netty与SpringBoot的构建NtripCaster集群,来管理接收RTK基站发送的RTCM数据,并将RTCM数据转发给外部设备的过程,可以更高效的完成Caster相关的业务扩展。
[0024](2)通过Caster集群化使得Caster拥有了很高的可用性,并允许Caster进行不停机运维;
[0025](2)通过对于服务节点的活跃状态,当服务节点不处于活跃状态时,当不处于活跃状态时,便将其从集群系统中移除,从而降低集群的规模,从而提高集群管理的效率
[0026](4)通过使用RabbitMQ的消息队列机制进行server和client的状态同步,当集群的一个节点中的server或client有上下线,该节点会通过消息队列告知其他节点同步状态,从而保证整个集群中的状态一致性。
附图说明
[0027]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本专利技术实施例1的结构示意图;
[0029]图2为本专利技术实施例4的结构示意图;
[0030]图3为本专利技术实施例4的具体模块结构示意图。
具体实施方式
[0031]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0032]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
[0033]为使图面简洁,各图中只示意性地表示出了与本专利技术相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
[0034]还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于netty的NtripCaster集群系统,其特征在于,包括:Ntrip集群,基于Netty框架在SpringBoot环境下构建,包括多个服务节点;Ntrip服务端,用于接收RTK基站发送的RTCM数据,所述Ntrip服务端与所述RTK基站之间通过Ntrip协议通讯;Ntrip客户端,用于发送所述RTCM数据给外部设备,所述Ntrip客户端与所述RTK基站之间通过Ntrip协议通讯;所述Ntrip服务端与所述Ntrip客户端之间通过所述Ntrip集群进行通信。2.根据权利要求1所述的一种基于netty的NtripCaster集群系统,其特征在于,所述Ntrip集群还包括Nginx平衡器,用于平均分配所述RTK基站和所述外部设备的连接请求。3.根据权利要求2所述的一种基于netty的NtripCaster集群系统,其特征在于,所述Nginx平衡器还用于,当分配的连接请求所对应的所述服务节点处于故障或者离线状态下,断开与所述服务节点的连接,并将所述连接请求分配给其他服务节点。4.根据权利要求1所述的一种基于netty的NtripCaster集群系统,其特征在于,所述Ntrip集群还包括断线检测模块,用于当所述服务节点断线时,将所述服务节点从所述...

【专利技术属性】
技术研发人员:李炜侃
申请(专利权)人:上海筱珈科技有限公司
类型:发明
国别省市:

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

1