一种基于MPTCP协议的GNSS网络基准站系统数据调度方法与流程

文档序号:35348858发布日期:2023-09-07 21:30阅读:46来源:国知局
一种基于MPTCP协议的GNSS网络基准站系统数据调度方法

本发明公开一种基于mptcp协议的gnss网络基准站系统数据调度方法,属于数据调度的。


背景技术:

1、全球卫星导航系统gnss技术是一种通过使用地面和卫星设备来确定地球上位置的技术。gnss技术已经广泛应用于交通、农业、建筑、航空航天、国防等领域。然而,由于gnss定位精度受到多种因素的影响,包括天气、地形变化、地形遮挡和信号传输中的误差等,这些因素使得定位误差变大,不能满足某些应用领域对定位精度的要求。为了提高gnss定位精度,差分定位技术被引入。差分定位技术是一种通过将基准站位置信息与移动设备位置信息进行比较来计算准确位置的技术。通过差分定位技术,可以将基准站的精确位置信息传输到移动设备上,从而移动设备可以更加准确地计算其位置。

2、基于互联网的rtcm网络传输协议,英文networked transport of rtcm viainternet protocol,简写为ntrip,是应用于高精度gnss系统中完成差分信息传输的专用应用层协议。如附图1所示,ntrip协议参与通讯的角色包括ntrip server(ntrip服务器)、ntrip caster(ntrip广播服务器)和ntrip client(ntrip客户端)。其基本工作原理是ntrip souce产生rtcm数据流发送到ntrip server,ntrip server发送到ntrip caster,ntrip client上传一个自身位置的gga,获取caster发过来的rtcm数据流,实现差分解算。但是,传统ntrip协议是基于tcp协议,即传输控制协议进行数据传输的,而tcp协议的设计是基于单一网络接口的,当底层网络环境不稳定,或者发生网络接口切换的时候,连接的持续性无法保证,这在移动网络环境下尤其严重。

3、mptcp协议可以在多条网络路径上同时传输数据,从而提高数据传输的实时性和可靠性。如附图2所示,在mptcp的实现中,一个会话可以通过多个tcp连接进行传输,并且这些连接可以同时在不同的网络路径上进行传输。当其中的某个网络路径发生故障时,数据传输可以自动切换到其他可用路径上,从而保证连接的持续性和可靠性,从而保证gnss定位的精度和可靠性。

4、此外,由于网络环境的不稳定性,mptcp协议仍然存在一定的丢包率。丢包率是指在数据传输过程中数据包丢失的比率。如果丢失太多的数据包,将会对数据的准确性产生很大的影响,从而影响数据传输的准确性和可靠性。

5、中国专利文献cn104994036a公开了一种多路径并行传输协议(mptcp)中的动态数据调度方法,包括:测量各路径的往返时间rtt及往返时间的变化值rttvar;根据rtt及rttvar判断路径是否可用,摒弃拥塞路径,保留可用路径;估计各路径的数据传输能力;结合估算的数据传输能力及当前的发送窗口为各路径分配数据传输配额,调度器按照传输配额分发传输数据。本发明还提供了一种多发选收的数据传输方案,对在数据传输过程中相对实时性较高的数据使用多条路径同时传输数据,从而降低数据包丢失的风险,对于提高路径的整体传输能力具有深远的意义。

6、中国专利文献cn101656653a涉及移动通信领域,尤其涉及对应用于多路径传输的接收缓存的配置技术。一种应用于多路径传输的接收缓存配置方法,包括:测量获得各单路径的往返时延参数rtt;确定多路径中各单路径的接收缓存需求量abuf_size;根据各单路径的rtt、以及各单路径的abuf_size,确定所述多路径的接收缓存需求量bufs_size;根据确定的bufs_size配置所述应用于多路径传输的接收缓存。本发明还提供了一种多路径传输协议接收缓存配置方法以及传输路径选取方法。该方法将不同类型的数据存放在客户端不同的读取缓冲池中。客户端可以及时从相应的读取缓冲池快速读取重要的数据mptcp可以同时接收来自不同路径的数据。这样可以在多个路径上并发地接收数据,提高数据接收的吞吐量和效率。

7、现有技术通过更换协议的思路:无法采用其他多路径协议如multipath quic协议,cmt-sctp协议,是因为这些协议会同现有的网络设施和协议存在兼容问题。

8、为此现有技术领域还提出通过增加数据缓冲池来克服技术问题,但是增加mptcp缓冲池的大小需要考虑系统的资源限制和性能需求。增加缓冲池的大小可能会占用更多的内存,并且可能会对系统的延迟和吞吐量产生影响。


技术实现思路

1、针对现有技术的问题,本发明公开一种基于mptcp协议的gnss网络基准站系统数据调度方法。

2、发明概述:

3、本发明通过修改mptcp协议的数据传输过程,可以使多个相同的数据包在多个路径上同时传输,从而解决了ntrip协议因单一路径传输限制而造成的连接不稳定问题;并且设计客户端缓冲池用于存放不同类型的数据,此技术思路即使其中一条路径上发生数据包丢失,客户端仍然可以从剩余的通路中快速选择该数据包,从而降低数据包丢失的风险;另外,划分缓冲池存储数据的方法,还对应解决mptcp协议多路径数据传输缓冲池溢出的问题,同时将传输数据根据重要性分为两类,并分别存储于不同的缓冲池中,以减少数据乱序现象,同时提高差分数据传输的实时性。该策略可以提高数据传输的可靠性和实时性,从而保证gnss定位的精度和可靠性。

4、本发明详细的技术方案如下:

5、一种基于mptcp协议的gnss网络基准站系统数据调度方法,其特征在于,包括:设计数据传输层、数据分类和设计客户端缓冲池;

6、所述设计数据传输层,在gnss网络基准站系统中,将ntrip的底层协议tcp协议替换为mptcp协议;

7、所述mptcp协议利用多个网络接口来传输数据,并将数据流分割成多个子流,以在不同的网络路径上传输数据,以提高ntrip协议的可靠性和效率,同时减少数据传输中断的可能性;

8、所述mptcp协议用于实现多路径之间的带宽聚合和无缝切换:当发生丢包时,通过多条路径及时反馈给发送方,从而减少传输时延,提高网络性能;

9、ntrip协议是一种基于互联网的rtcm网络传输协议,通常使用tcp协议作为底层协议。尽管tcp协议是一种可靠的、面向连接的协议,可以保证差分数据传输的可靠性和稳定性,但是由于gnss基准站需要实时传输差分数据流给用户,对网络传输的实时性和稳定性要求较高。然而,tcp协议的数据传输速率易受网络接口切换和丢包的影响,这可能会导致数据传输失败或传输延迟,从而降低gnss定位的精度和可靠性。此外,由于移动终端设备的普及,移动终端设备具有多种接口,如3gpp、4g、5g、lte、wifi等网络已经非常常见,在gnss网络基准站系统中用户会同时具备4g端口和wifi端口等多种类型的网络接口。tcp协议是基于单一网络接口,无法同时利用多条网络路径传输数据,因此当出现网络接口切换的情况时会导致数据传输失败或传输延迟,进一步降低了gnss定位的精度和可靠性;

10、相比之下,tcp协议在互联网上传输数据时,可能会遇到带宽限制,当有大量实时性要求高的rtcm数据在ntrip中传输时,tcp单一网络接口传输数据可能会降低传输速度,从而影响实时性;如附图4所示,mptcp协议与tcp协议的传输效果相比,mptcp协议在丢包时可以通过多条路径及时反馈给发送方,减少传输时延,提高了网络性能,同时还实现了多路径带宽聚合和无缝切换,提高了ntrip协议的可靠性和效率。

11、所述数据分类:对通过mptcp协议传输的gnss基准站数据进行分类一级数据和二级数据;所述一级数据包括高实时性的rtcm数据和nmea数据;所述二级数据包括控制命令、状态信息和无高实时性的rtcm数据和nmea数据;

12、所述数据分类具备包括以下步骤:

13、s11:根据所述rtcm数据和nmea数据的消息头和消息载荷的格式及内容差异来判断数据的类型,然后根据数据的实时性需求将其分为一级数据和二级数据:

14、在mptcp协议发送端的输入缓冲区中,数据以结构体sk_buff的形式存在,该结构体包含数据包的各种信息;

15、由于所述rtcm数据和nmea数据具有固定的数据格式,所述rtcm数据包含特定的二进制消息头,如下表3所示;rtcm数据首先是3个字节的消息头,用于标识rtcm版本和消息类型,然后是2个字节的消息长度,接着是消息载荷,其格式根据消息类型而不同,最后是3个字节的crc校验码,此外如表1所示,根据rtcm消息的消息类型将rtcm分别分为一级数据和二级数据;

16、所述nmea数据采用ascii消息头传输,如下表4所示,nmea数据消息的格式以$符号开头,后面包含一系列字段,用于标识消息类型,此外如上表2所示,根据nmea消息的消息类型可将nmea分别分为一级数据和二级数据;

17、表3:rtcm数据的消息头

18、 序言 保留字 信息占用字节数 信息 crc校验 8bits 6bits 10bits 不定 24bits

19、表4 nmea数据的消息头

20、

21、s12:对所述一级数据进行复制操作,由于一级数据需要高实时性,因此需要对其进行复制操作,使一级数据通过所有的子流传输,以提高数据传输的可靠性,确保每个子流都能及时接收到数据。假设子流数目为n条,则复制的一级数据包的数目为n-1个,复制之后缓冲池内存在n个相同的一级数据包;

22、s13:数据分配,如下图6所示,对所述一级数据采用多发选收策略,在数据缓冲池中对所述一级数据进行复制操作之后,所述一级数据和二级数据全部进入mptcp协议调度器;在mptcp协议调度器里对全部数据和子流之间进行分配:将所述一级数据平均分配到每个子流进行数据传输;将所述二级数据通过mptcp调度器进行可用子流的分配,以确保数据传输的效率和可靠性,当数据通过子流传输到客户端时,接收到一级数据之后就可丢弃该一级数据复制的所有数据包,接收到二级数据就直接将二级数据读取至相应的缓冲池中;

23、所述设计客户端缓冲池:

24、当gnss网络基准站数据从ntrip广播服务器经过mptcp多路径传输协议传输出去后,客户端并不会立即从网络中接收数据,数据先被写入到一个读取缓冲区中,然后由mptcp协议从缓冲区发送到客户端;所述gnss网络基准站通过多条路径同时传输数据到客户端缓冲池,大量的数据堆积在缓冲池中可能导致缓冲池溢出的现象,为了解决这个问题。

25、根据本发明优选的,所述设计客户端缓冲池的具体方法包括:

26、s21:是数据处理:按照s11,根据数据扩展头部中的数据类型,判断数据是一级数据还是二级数据;由于在发送端的mptcp协议调度器里复制了相同子流数目的一级数据,因此删除多余的相同的一级数据包;

27、s22:是对客户端缓冲池的判断:

28、判断mptcp多路径传输协议中相应的读取客户端缓冲池中是否存在剩余空间:

29、当客户端缓冲池没有剩余空间时,则进入所述客户端缓冲池的相应数据进入等待环节,即等待服务端读取客户端缓冲池中存在空闲的空间时,该数据才会进入读取客户端缓冲池;

30、当客户端缓冲池存在剩余空闲的空间时,则根据所述读取客户端缓冲池剩余的大小,把相应的数据放入到读取客户端缓冲池中,该数据的大小不得超过该读取缓冲池的剩余的大小;

31、s23:接收数据之后客户端缓冲池的调整:

32、所述客户端缓冲池平均分为缓冲池a和缓冲池b;

33、当数据进入到相应的读取客户端缓冲池之后,对所述缓冲池a和缓冲池b的大小进行调整,调整之后比较所述缓冲池a和缓冲池b的剩余空间的大小,将剩余空间长度较大的ntrip读取客户端缓冲池的值传送给ntrip广播服务器;ntrip广播服务器根据接收到的ntrip客户端缓冲区的大小调整滑动窗口中发送窗口的大小,然后ntrip广播服务器通过mptcp协议的子流继续往ntrip客户端传输数据。

34、根据本发明优选的,在步骤s23中增加动态调整方法,包括:

35、在缓冲池大小的调整过程中,可以考虑加入动态调整的机制,例如,在实际运行中,可以根据当前的网络环境和负载情况,动态调整缓冲池a和缓冲池b的大小,以最大化利用缓冲池的空间,提高数据传输效率。这个调整机制可以基于一些指标来实现,例如当前网络带宽利用率、缓冲池的满载程度等等,通过这种动态调整的机制,可以让缓冲池的利用率更高,提高数据传输的效率;

36、当相应的数据进入相应的读取缓冲池之后,会对读取缓冲池的大小进行调整,设在mptcp协议中客户端读取缓冲池大小一共为m,所述m为客户端缓冲池的容量大小,将缓冲池分为两个大小不一的缓冲池a和缓冲池b,同时缓冲池a与缓冲池b的大小是可以改变的,但是所述缓冲池a和缓冲池b的大小均在范围[min,max](min+max=m,0<=min<max<=m)之间;

37、当读取缓冲池a读取到相应的数据之后,读取缓冲池a的剩余空间长度为lena,此时将读取缓冲池a的长度增加1/(1-lena),同时读取缓冲池b的空间长度减小1/(1-lena);

38、当读取缓冲池b读取到相应的数据之后,读取缓冲池b的剩余空间长度为lenb,此时将读取缓冲池b的长度增加1/(1-lenb),同时读取缓冲池a的空间长度减小1/(1-lenb)。

39、根据本发明优选的,所述mptcp协议的具体通讯过程如下:

40、s31:ntrip广播服务器和ntrip客户端建立mptcp连接:ntrip客户端向ntrip广播服务器发起tcp连接请求,ntrip广播服务器返回tcp syn/ack握手信号,建立tcp连接;在tcp连接建立之后,ntrip广播服务器和ntrip客户端之间通过tcp连接进行数据传输;

41、s32:mptcp协议子流的创建:ntrip客户端和ntrip广播服务器之间建立tcp连接之后,ntrip客户端向ntrip广播服务器发送mptcp协议的选项信息;ntrip广播服务器接收到所述选项信息后,将为每个网络路径创建一个mptcp协议子流,每个子流拥有独立的tcp参数,所述tcp参数包括:序列号、确认号、窗口大小;这些子流可以同时传输数据,从而提高传输效率和可靠性;

42、s33:数据传输:ntrip客户端将数据流分割成多个子流,并分别发送到不同的网络路径上;ntrip广播服务器接收到所述子流后,合并成一个完整的数据流,并将数据流发送回ntrip客户端;

43、s34:数据流控制:mptcp协议根据不同的网络状况来控制数据流量,例如,在某个网络路径上出现网络拥塞时,mptcp可以将流量切换到其他网络路径上,以避免数据传输中断;

44、s35:连接关闭:当ntrip客户端和ntrip广播服务器完成数据传输后,ntrip客户端向ntrip广播服务器发送tcp fin信号,关闭tcp连接;ntrip广播服务器收到tcp fin信号后,返回tcp ack信号,并关闭tcp连接。

45、本发明的技术优势

46、1、本发明所述一种基于mptcp协议的gnss网络基准站系统数据调度方法利用gnss网络基准站系统多端口,将ntrip底层协议tcp协议替换成mptcp协议,以解决ntrip协议因单一路径传输限制而造成的数据拥塞问题,提高数据传输的效率和可靠性。

47、2、本发明针对gnss基准站系统提出了一种多发选收的多路径数据缓存策略,该策略对通过mptcp子流传输的数据进行分类,分为一级数据和二级数据。同时对一级数据进行复制,可以使多个相同的数据包在多个路径上同时传输,从而降低数据包丢失的风险。这样即使其中一条路径上发生数据包丢失,客户端仍然可以从剩下的通路中立刻选择该数据包,提高数据传输的可靠性。

48、3、本发明还针对mptcp层中的接收方的缓冲池进行设计优化,提出了一种划分缓冲池存储数据的方法,该方法将不同类型的数据存放在客户端不同的读取缓冲池中,客户端可以及时从相应的读取缓冲池快速读取重要的数据信息,从而解决mptcp因共享接收缓存大小的限制而造成数据包的乱序问题,尽可能的保证数据按序到达,提高数据传输的可靠性。

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