一种轻量级UDP通信冗余方法技术

技术编号:27140993 阅读:20 留言:0更新日期:2021-01-27 21:11
本发明专利技术涉及一种轻量级UDP通信冗余方法,属于嵌入式软件开发领域。本发明专利技术的发送端做冗余发送,在报文中设置报文序号、重发序号、报文长度、有效数据和校验信息,将信息重复发送多份到接收端,接收端过滤筛选发送端发来的冗余信息,并根据信息内容做网络状况统计。本发明专利技术通过校验信息提高报文的可靠性,通过在报文中设置报文序号、重发序号,在接收端根据报文序号、重发序号对报文进行冗余过滤,用最简单的方法,提高以太网单包指令及数据通信的可靠性。本发明专利技术既能提高以太网传输的可靠性,又能够评估以太网通信的质量,是一种有效的轻量级UDP可靠通信方法。UDP可靠通信方法。UDP可靠通信方法。

【技术实现步骤摘要】
一种轻量级UDP通信冗余方法


[0001]本专利技术属于嵌入式软件开发领域,具体涉及一种轻量级UDP通信冗余方法。

技术介绍

[0002]在嵌入式开发领域,以太网是一种常用的通信方式。尽管以太网有较大的传输带宽与丰富的应用,但是并不具备原生的冗余和纠错能力。为此有很多的传输设计方法和协议来弥补以太网传输可靠性的缺陷,但是普遍实现较为复杂或者传输过程不够透明。较为简单的传输需求有时的可靠性要求有但是不高,没有必要用复杂的方法实现可靠重传等较为重型可靠的功能,而是需要一种轻量级的通信冗余方法,既能够一定程度提高以太网传输的可靠性,又能够评估以太网通信的质量,让用户对传输情况有直观的判断。

技术实现思路

[0003](一)要解决的技术问题
[0004]本专利技术要解决的技术问题是如何提供一种轻量级UDP通信冗余方法,以解决现有技术中缺乏提高以太网可靠性的轻量级方法的问题。
[0005](二)技术方案
[0006]为了解决上述技术问题,本专利技术提出一种轻量级UDP通信冗余方法,该方法包括:
[0007]发送端向接收端发送UDP报文,所述报文包括报文序号、重发序号、报文长度、有效数据和校验信息;所述发送端每发送一条有效数据,要重复发送N条所述报文;N条所述报文的报文序号相同,重发序号连续递增;下一条有效数据报文序号自增1;
[0008]所述接收端接收所述发送端发过来的所有UDP报文,所述接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,所述接收端将保存维护这个本地报文序号;对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤,经过冗余过滤后将本地报文序号更新为新收到的报文的报文序号,然后进行有效数据的处理。
[0009]进一步地,N大于等于3。
[0010]进一步地,所述N条报文的报文序号相同,以一定的间隔时间连续发送。
[0011]进一步地,所述报文长度为所述有效数据长度,所述有效数据指实际要传输的数据内容。
[0012]进一步地,所述校验信息填写从所述报文序号到所述有效数据的CRC校验。
[0013]进一步地,所述CRC校验为CRC16或者CRC32。
[0014]进一步地,所述接收端接收到所述发送端发过来的UDP报文后,首先根据所述校验信息校验报文内容,如果不正确则记录下来相关错误信息;如果校验正确则执行其他操作。
[0015]进一步地,所述对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤具体包括:
[0016]对于之后新收到的的报文,只将报文序号大于本地报文序号的报文认为是正确的,执行下一步操作;如果不正确则记录错误信息;
[0017]如果报文序号连续,即收到的报文序号与本地报文序号相同,或者是比本地报文序号大1,则执行下一步操作;如果出现报文序号不连续的情况,则记录丢包信息,但是依旧执行下一步操作;
[0018]如果处理的不是重发序号为1的报文,则说明网络状态存在丢包,则记录重发信息,继续处理该报文;若重发序号为1,则继续处理报文。
[0019]进一步地,所述错误信息包括包长、次数和时间。
[0020]进一步地,所述重发信息包括重发序号、报文序号和时间。
[0021](三)有益效果
[0022]本专利技术提出一种轻量级UDP通信冗余方法,发送端做冗余发送,在报文中设置报文序号、重发序号、报文长度、有效数据和校验信息,将信息重复发送多份到接收端,接收端过滤筛选发送端发来的冗余信息,并根据信息内容做网络状况统计。本专利技术通过校验信息提高报文的可靠性,通过在报文中设置报文序号、重发序号,在接收端根据报文序号、重发序号对报文进行冗余过滤,用最简单的方法,提高以太网单包指令及数据通信的可靠性。本专利技术既能提高以太网传输的可靠性,又能够评估以太网通信的质量,是一种有效的轻量级UDP可靠通信方法。
附图说明
[0023]图1为本专利技术报文的组织结构;
[0024]图2为本专利技术接收端处理流程图。
具体实施方式
[0025]为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。
[0026]本专利技术实施例提出了一种轻量级UDP通信冗余方法,力求用最简单的方法,提高以太网单包指令及数据通信的可靠性。
[0027]本专利技术提出一种轻量级UDP通信冗余方法,该方法包括:
[0028]发送端向接收端发送UDP报文,所述报文包括报文序号、重发序号、报文长度、有效数据和校验信息;所述发送端每发送一条有效数据,要重复发送N条所述报文;N条所述报文的报文序号相同,重发序号连续递增;下一条有效数据报文序号自增1;
[0029]所述接收端接收所述发送端发过来的所有UDP报文,所述接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,所述接收端将保存维护这个本地报文序号;对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤,经过冗余过滤后将本地报文序号更新为新收到的报文的报文序号,然后进行有效数据的处理。
[0030]本方法由发送端和接收端两部分组成。发送端做冗余发送,将信息重复发送多份到接收端。接收端过滤筛选发送端发来的冗余信息,并根据信息内容做网络状况统计。以太网传输过程基于UDP协议,报文的格式如图1所示共分为5个部分,报文序号、重发序号、报文长度、有效数据和校验信息,其中报文长度指有效数据长度,有效数据指实际要传输的数据内容。报文序号、重发序号及校验信息的功能在后文说明。下面将分别介绍发送端和接收端的功能。
[0031]发送端每发送一条有效数据,要重复发送N条本方法设计的报文,N一般大于等于3。N条报文的报文序号相同,以一定的间隔时间连续发送,重发序号连续递增,校验信息填写从报文序号到有效数据的CRC校验,一般为CRC16或者CRC32。下一条有效数据报文序号自增1。
[0032]举例,发送一条报文长度为L,报文序号为A的有效数据,冗余发送N次。这N条报文的报文序号都是A,重发序号为1到N每条不同,报文长度和有效数据都相同。再发送报文,报文序号为A+1。
[0033]接收端接收发送端发过来的所有UDP报文,流程如图2所示。首先根据校验信息校验报文内容,如果不正确则记录下来相关错误信息,如包长、次数、时间等。如果校验正确则执行下一步。
[0034]接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,即无条件接收第一条报文。接收端将保存维护这个本地报文序号,对于之后的报文,只将报文序号大于本地报文序号的报文认为是正确的,执行下一步操作。如果不正确则记录错误信息,如包长、次数、时间等。
[0035]对于正常的网络状态,收到的报文序号应该是连续的,即收到的报文序号或者是与本地报文序号相同,或者是比本地报文序号大1,这种情况称为报文序号连续,此时执行下一步操作。如果出现报文序号不连续的情况,则记录下来相关丢包信息,但本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种轻量级UDP通信冗余方法,其特征在于,该方法包括:发送端向接收端发送UDP报文,所述报文包括报文序号、重发序号、报文长度、有效数据和校验信息;所述发送端每发送一条有效数据,要重复发送N条所述报文;N条所述报文的报文序号相同,重发序号连续递增;下一条有效数据报文序号自增1;所述接收端接收所述发送端发过来的所有UDP报文,所述接收端以收到的第一个发送端发送来的报文的报文序号为初始的本地报文序号,所述接收端将保存维护这个本地报文序号;对于之后新收到的报文,根据报文序号和重发序号进行冗余过滤,经过冗余过滤后将本地报文序号更新为新收到的报文的报文序号,然后进行有效数据的处理。2.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,N大于等于3。3.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,所述N条报文的报文序号相同,以一定的间隔时间连续发送。4.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,所述报文长度为所述有效数据长度,所述有效数据指实际要传输的数据内容。5.如权利要求1所述的轻量级UDP通信冗余方法,其特征在于,所述校验信息填写从所述报文序号到所述有效数据的CRC校验。6.如权利要求5所述的轻量级...

【专利技术属性】
技术研发人员:赵继伟李家彦牛俊慧许朋飞王晶
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

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

1