CN115499108A - 一种基于udp协议的闭环网络通信方法及系统 - Google Patents
一种基于udp协议的闭环网络通信方法及系统 Download PDFInfo
- Publication number
- CN115499108A CN115499108A CN202211179550.5A CN202211179550A CN115499108A CN 115499108 A CN115499108 A CN 115499108A CN 202211179550 A CN202211179550 A CN 202211179550A CN 115499108 A CN115499108 A CN 115499108A
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- sending end
- response
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 37
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005538 encapsulation Methods 0.000 claims description 45
- 230000005540 biological transmission Effects 0.000 abstract description 17
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
- H04L1/1883—Time-out mechanisms using multiple timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于UDP协议的闭环网络通信方法及系统,其方法包括:发送端通过UDP方式将消息数据包发送给接收端,并设置第一计时器及第一响应超时重发策略;接收端向发送端发送回应消息包;当未接收或超时,发送端根据第一响应超时重发策略重发消息数据包;当接收且未超时,发送端根据回应消息包设置第二计时器及第二响应超时重发策略;接收端向发送端发送执行结果消息包;当未接收或超时,发送端根据第二响应超时重发策略重发消息数据包;当接收且未超时,发送端确定完成。本申请即保证了业务数据的发送状态的确定性,也保证了业务执行结果的回报闭环,响应超时重发策略的设置解决了由于网络不稳定导致的数据传输延时和丢包的问题。
Description
技术领域
本申请涉及网络通信技术领域,尤其是涉及一种基于UDP协议的闭环网络通信方法及系统。
背景技术
用户数据报协议(User Datagram Protocol,UDP)与传输控制协议(TransmissionControl Protocol,TCP)都是用于处理网络数据包的。在OSI模型中,UDP协议及TCP协议位于第四层传输层,是IP协议的上一层。UDP 协议不需要和 TCP协议一样在发送数据前进行三次握手建立连接,可以随时发送数据,不需要占用连接资源,并且也只是数据报文的搬运工,不会对数据报文进行任何拆分和拼接操作,实时性好;UDP协议不仅支持一对一的传输方式,还支持一对多、多对多及多对一的传输方式。UDP协议帧的首部开销小,只有8个字节,节省带宽,传输数据报文高效。
但是,UDP协议也有很多缺点:由于UDP协议的通信不需要建立连接,导致通信是无状态的,无法形成发送和回报的闭环通信,无法保证可靠性;UDP协议不提供数据包分组、组装和数据包排序,并且也不会备份数据,发送数据后不会考虑接收方是否已经正确接收数据;发送方的UDP协议层对应用层发送的报文,在报文添加首部后就向下交付IP层,对应用层发送的报文,既不合并,也不拆分,只是保留这些报文的边界,因此,必须选择大小合适的报文;UDP协议没有拥塞控制,一直会以恒定的速度发送数据,不会对发送速率进行调整,在网络状况差时可能会丢包。因此,造成了已有的UDP协议的数据传输无法保证传输质量。
发明内容
为了解决已有的UDP协议的数据传输无法保证传输质量的问题,本申请提供了一种基于UDP协议的闭环网络通信方法及系统。
第一方面,本申请提供一种基于UDP协议的闭环网络通信方法,采用如下的技术方案:
发送端获取到业务数据,通过预设数据封装协议得到消息数据包;
发送端通过UDP方式将消息数据包发送给接收端,并设置第一计时器及第一响应超时重发策略;
接收端接收到消息数据包,通过预设数据封装协议向发送端发送回应消息包;
当未接收到回应消息包或接收回应消息包超过第一计时器的超时时间时,发送端根据第一响应超时重发策略重发消息数据包;
当接收到回应消息包且未超过第一计时器的超时时间时,发送端根据回应消息包设置第二计时器及第二响应超时重发策略;
接收端确定消息数据包对应的业务处理逻辑,得到执行业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包;
当未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间时,发送端根据第二响应超时重发策略重发消息数据包;
当接收到执行结果消息包且未超过第二计时器的超时时间时,发送端确定业务处理逻辑执行完成。
第二方面,本申请提供一种基于UDP协议的闭环网络通信系统,采用如下的技术方案:
发送端及接收端;
发送端,用于获取到业务数据,通过预设数据封装协议得到消息数据包;通过UDP方式将消息数据包发送给接收端,并设置第一计时器及第一响应超时重发策略;
接收端,用于接收到消息数据包,通过预设数据封装协议向发送端发送回应消息包;
发送端,还用于当未接收到回应消息包或接收回应消息包超过第一计时器的超时时间时,根据第一响应超时重发策略重发消息数据包;
发送端,还用于当发送端接收到回应消息包且未超过第一计时器的超时时间时,根据回应消息包设置第二计时器及第二响应超时重发策略;
接收端,还用于确定消息数据包对应的业务处理逻辑,得到执行业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包;
发送端,还用于当未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间时,根据第二响应超时重发策略重发消息数据包;
发送端,还用于当接收到执行结果消息包且未超过第二计时器的超时时间时,确定业务处理逻辑执行完成。
综上描述,本申请包括以下有益技术效果:
发送端获取到业务数据后,通过预设数据封装协议得到消息数据包,通过UDP方式将消息数据包发送给接收端,并设置第一计时器及第一响应超时重发策略;接收端接收到消息数据包,通过预设数据封装协议向发送端发送回应消息包;当未接收到回应消息包或接收回应消息包超过第一计时器的超时时间时,发送端根据第一响应超时重发策略重发消息数据包;当接收到回应消息包且未超过第一计时器的超时时间时,发送端根据回应消息包设置第二计时器及第二响应超时重发策略;接收端确定消息数据包对应的业务处理逻辑,得到执行业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包;当未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间时,发送端根据第二响应超时重发策略重发消息数据包;当接收到执行结果消息包且未超过第二计时器的超时时间时,发送端确定业务处理逻辑执行完成。即保证了业务数据的发送状态的确定性,也保证了业务执行结果的回报闭环,响应超时重发策略的设置解决了由于网络不稳定导致的数据传输延时和丢包的问题,保证了UDP协议的数据传输的可靠性。
附图说明
图1是本申请的基于UDP协议的闭环网络通信方法的流程示意图。
图2是本申请根据第一响应超时重发策略重发消息数据包的过程示意图。
图3是本申请根据第二响应超时重发策略重发消息数据包的过程示意图。
图4是本申请执行结果消息包的获取过程的流程示意图;
图5是本申请的基于UDP协议的闭环网络通信系统的交互示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下通过附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例公开一种基于UDP协议的闭环网络通信方法,UDP协议的网络通信中,包括了业务数据的发送端和接收并执行业务数据的接收端,发送端和接收端均为具有发送功能和接收功能的电子设备。
参照图1,该方法的执行步骤包括:
S101,发送端获取到业务数据,通过预设数据封装协议得到消息数据包;
其中,在执行步骤S101之前,本申请还需要进行预设数据封装协议的设置,在发送端与接收端建立通信之间,设置业务层的预设数据封装协议,预设数据封装协议针对不同的消息包设置不同的帧格式:
针对业务数据的消息数据包的业务数据帧格式,如下表1所示,包括业务消息头及业务数据区,业务消息头包括业务消息号及业务消息类型,业务消息号为每次发送端与接收端通信成功的标号,业务消息号为累加次数,业务消息类型对应业务数据的类型,业务数据区用于存放业务数据;除此之外,业务消息头中还有用于表示业务数据区实际数据总长度的固定区间、备用的固定区间及校验位的固定区间。
表1消息数据包的业务数据帧格式
针对回应消息包的回应消息数据帧格式,如下表2所示,包括回应消息头及回应数据区,回应消息头包括回应消息号及回应消息类型,回应消息号与当前接收到的业务消息号一致,业务消息类型与当前接收到的业务消息类型一致,回应数据区用于存放执行业务数据对应的业务处理逻辑需要的最大时间;除此之外,回应消息头中还有用于表示回应数据区长度的固定区间、备用的固定区间及校验位的固定区间;回应数据区还有用于表示是否收到消息的固定区间。
表2回应消息包的回应消息数据帧格式
针对执行结果消息包的执行结果消息数据帧格式,如下表3所示,包括执行结果消息头及执行结果数据区,执行结果消息头包括执行结果消息号及执行结果消息类型,执行结果消息号与当前接收到的业务消息号一致,执行结果消息类型与当前接收到的业务消息类型一致,执行结果数据区用于存放业务数据对应的业务处理逻辑执行完成之后的结果数据;除此之外,执行结果消息头中还有用于表示执行结果数据区长度的固定区间、备用的固定区间及校验位的固定区间;执行结果数据区还有用于表示业务处理逻辑是否执行成功的固定区间。
基于预设好的预设数据封装协议,发送端在接收到业务数据之后,对业务数据进行分析得到消息号及消息类型,通过预设数据封装协议的业务数据帧格式创建Buffer包,将消息号、消息类型及业务数据放入Buffer包,生成消息数据包。
表3执行结果消息包的执行结果消息数据帧格式
S102,发送端通过UDP方式将消息数据包发送给接收端,并设置第一计时器及第一响应超时重发策略;
其中,发送端调用UDP发送接口,确定接收端的IP地址和UDP接收接口,从而将消息数据包发送至接收端,发送端将消息号及消息类型作为KEY值,根据KEY值创建第一计时器,并开始计时,发送端设置第一最大重发次数及第一计时器的第一超时时间,根据第一超时时间及第一最大重发次数得到第一响应超时重发策略。将KEY值和第一计时器关联并存储在特定的数据结构中,例如Map结构。第一响应超时重发策略是:在发送端发送出消息数据包之后,第一计时器开始计时,如果在第一超时时间内没有收到接收端反馈的回应消息包,就表示需要进行重发,并且要满足重发次数不超过第一最大重发次数。
S103,接收端接收到消息数据包,通过预设数据封装协议向发送端发送回应消息包;
S104,当未接收到回应消息包或接收回应消息包超过第一计时器的超时时间时,发送端根据第一响应超时重发策略重发消息数据包;
其中,在发送端未接收到回应消息包或接收回应消息包超过第一计时器的超时时间,表示存在丢包或者网络波动,发送端需要根据第一响应超时重发策略重发消息数据包,即返回到步骤S102。
S105,当接收到回应消息包且未超过第一计时器的超时时间时,发送端根据回应消息包设置第二计时器及第二响应超时重发策略;
其中,在接收到回应消息包且未超过第一计时器的超时时间,表示不存在丢包或者网络波动,发送端根据回应消息包确定了接收端已经接收到消息数据包,按照回应消息包重新设置第二计时器及第二响应超时重发策略,具体过程为:
发送端解析回应消息包进行解析,得到消息号、消息类型及最大时间;
发送端将消息号及消息类型作为KEY值,根据KEY值创建第二计时器,并开始计时;
发送端将最大时间作为第二计时器的第二超时时间,并设置第二最大重发次数;
发送端根据第二超时时间及第二最大重发次数得到第二响应超时重发策略,第二响应超时重发策略是:在发送端接收到回应消息包之后,第二计时器开始计时,给业务处理逻辑执行的时间,如果在第二超时时间内没有收到接收端反馈的执行结果消息包,就表示需要重发消息数据包,并且要满足重发次数不超过第二最大重发次数。
S106,接收端确定消息数据包对应的业务处理逻辑,得到执行业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包;
S107,当未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间时,发送端根据第二响应超时重发策略重发消息数据包;
其中,在未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间,表示存在丢包或者网络波动,发送端需要根据第一响应超时重发策略重发消息数据包,即返回到步骤S102。
S108,当接收到执行结果消息包且未超过第二计时器的超时时间时,发送端确定业务处理逻辑执行完成。
其中,在接收到执行结果消息包且未超过第二计时器的超时时间,表示业务处理逻辑正常执行,并且不存在丢包和网络波动,发送端根据执行结果消息包就能确定业务处理逻辑执行完成。
本实施例的实施原理为:发送端获取到业务数据后,通过预设数据封装协议得到消息数据包,通过UDP方式将消息数据包发送给接收端,并设置第一计时器及第一响应超时重发策略;接收端接收到消息数据包,通过预设数据封装协议向发送端发送回应消息包;当未接收到回应消息包或接收回应消息包超过第一计时器的超时时间时,发送端根据第一响应超时重发策略重发消息数据包;当接收到回应消息包且未超过第一计时器的超时时间时,发送端根据回应消息包设置第二计时器及第二响应超时重发策略;接收端确定消息数据包对应的业务处理逻辑,得到执行业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包;当未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间时,发送端根据第二响应超时重发策略重发消息数据包;当接收到执行结果消息包且未超过第二计时器的超时时间时,发送端确定业务处理逻辑执行完成。即保证了业务数据的发送状态的确定性,也保证了业务执行结果的回报闭环,响应超时重发策略的设置解决了由于网络不稳定导致的数据传输延时和丢包的问题,保证了UDP协议的数据传输的可靠性。
在以上图1的实施例中步骤S104根据第一响应超时重发策略重发消息数据包的具体过程如图2所示:
S201,发送端获取消息数据包的累计重发次数;
其中,发送端通过读取消息数据包的发送记录,就能确定消息数据包的累计重发次数。
S202,发送端判断累计重发次数是否超过第一响应超时重发策略的第一最大重发次数;
其中,发送端判断累计重发次数是否超过第一响应超时重发策略的第一最大重发次数,例如第一最大重发次数为20次,如果累计重发次数18次,那么就执行步骤S203,如果累计重发次数21次,执行步骤S204。
S203,发送端重发消息数据包;
其中,累计重发次数不超过第一最大重发次数,则还能进行重发,回到图1实施例中步骤S102。
S204,发送端删除第一计时器。
其中,累计重发次数超过第一最大重发次数,就不会再进行重发了,证明丢包或者网络波动比较严重,数据无法有效进行传输,需要删除第一计时器,结束此次UDP通信。
在以上图1的实施例中步骤S107根据第二响应超时重发策略重发消息数据包的具体过程如图3所示:
S301,发送端获取消息数据包的累计重发次数;
其中,由于该步骤的执行顺序为第二计时器和第二响应超时重发策略生成之后,并且是由于未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间,那么发送端统计的消息数据包的累计重发次数,是从收到回应消息包开始的,本实施例中的累计重发次数与图2实施例中的累计重发次数是存在区别的。
S302,发送端判断累计重发次数是否超过第二响应超时重发策略的第二最大重发次数;
其中,发送端判断累计重发次数是否超过第二响应超时重发策略的第二最大重发次数,例如第二最大重发次数为40次,如果累计重发次数18次,那么就执行步骤S303,如果累计重发次数41次,执行步骤S304。
S303,发送端重发消息数据包;
其中,累计重发次数不超过第二最大重发次数,则还能进行重发,回到图1实施例中步骤S102。
S304,发送端删除第二计时器。
其中,累计重发次数超过第二最大重发次数,就不会再进行重发了,证明丢包、网络波动比较严重或者接收端没有执行业务处理逻辑,数据无法有效进行传输或者业务无法进行,需要删除第二计时器,结束此次UDP通信。
在以上图1的实施例中步骤S106执行结果消息包的获取过程具体如图4所示:
S401,接收端根据当前的消息数据包中的业务数据确定对应的业务处理逻辑;
其中,在接收端接收到当前的消息数据包之后,解析消息数据包得到其中的业务数据,从而确定对应的业务处理逻辑。
S402,接收端判断当前的消息数据包与上一次的消息数据包是否相同;
其中,接收端通过消息数据包中的业务消息号和业务消息类型,就能确定每一个消息数据包,从判断当前的消息数据包与上一次的消息数据包是否相同,如果相同,表示当前的消息数据包是重发的,可能是由于执行结果消息包在传输过程中丢包了或者网络波动造成超时,执行步骤S403;如果不相同,表示当前的消息数据包不是重发的,执行步骤S404。
S403,接收端获取上一次的消息数据包对应的业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包;
其中,当前的消息数据包与上一次的消息数据包相同,则获取上一次消息数据包对应的业务处理逻辑的执行结果消息,按照预设数据封装协议的执行结果数据帧格式形成执行结果消息包,发送给发送端。
S404,接收端执行当前的消息数据包对应的业务处理逻辑得到执行结果消息,通过预设数据封装协议向发送端发送执行结果消息包。
其中,当前的消息数据包与上一次的消息数据包不相同,则执行当前的消息数据包对应的业务处理逻辑,得到执行结果消息,按照预设数据封装协议的执行结果数据帧格式形成执行结果消息包,发送给发送端。
如图5所示,本申请实施例公开一种基于UDP协议的闭环网络通信系统,包括:
发送端501及接收端502;
发送端501,用于获取到业务数据,通过预设数据封装协议得到消息数据包;通过UDP方式将消息数据包发送给接收端502,并设置第一计时器及第一响应超时重发策略;
接收端502,用于接收到消息数据包,通过预设数据封装协议向发送端501发送回应消息包;
发送端501,还用于当未接收到回应消息包或接收回应消息包超过第一计时器的超时时间时,根据第一响应超时重发策略重发消息数据包;
发送端501,还用于当接收到回应消息包且未超过第一计时器的超时时间时,根据回应消息包设置第二计时器及第二响应超时重发策略;
接收端502,还用于确定消息数据包对应的业务处理逻辑,得到执行业务处理逻辑的执行结果消息,通过预设数据封装协议向发送端501发送执行结果消息包;
发送端501,还用于当未接收到执行结果消息包或接收执行结果消息包超过第二计时器的超时时间时,根据第二响应超时重发策略重发消息数据包;
发送端501,还用于当接收到执行结果消息包且未超过第二计时器的超时时间时,确定业务处理逻辑执行完成。
本实施例的实施原理为:基于UDP协议的闭环网络通信系统中发送端501和接收端502之间的数据交互,即保证了业务数据的发送状态的确定性,也保证了业务执行结果的回报闭环,响应超时重发策略的设置解决了由于网络不稳定导致的数据传输延时和丢包的问题,保证了UDP协议的数据传输的可靠性。
需要说明的是,基于UDP协议的闭环网络通信系统中发送端和接收端还用于执行以上图1-图4的基于UDP协议的闭环网络通信方法的实施例中所有的步骤。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
Claims (10)
1.一种基于UDP协议的闭环网络通信方法,其特征在于,应用于基于UDP协议的闭环网络通信系统,包括发送端及接收端,所述基于UDP协议的闭环网络通信方法包括:
所述发送端获取到业务数据,通过预设数据封装协议得到消息数据包;
所述发送端通过UDP方式将所述消息数据包发送给所述接收端,并设置第一计时器及第一响应超时重发策略;
所述接收端接收到所述消息数据包,通过所述预设数据封装协议向所述发送端发送回应消息包;
当未接收到所述回应消息包或接收所述回应消息包超过所述第一计时器的超时时间时,所述发送端根据所述第一响应超时重发策略重发所述消息数据包;
当接收到所述回应消息包且未超过所述第一计时器的超时时间时,所述发送端根据所述回应消息包设置第二计时器及第二响应超时重发策略;
所述接收端确定所述消息数据包对应的业务处理逻辑,得到执行所述业务处理逻辑的执行结果消息,通过所述预设数据封装协议向所述发送端发送执行结果消息包;
当未接收到所述执行结果消息包或接收所述执行结果消息包超过所述第二计时器的超时时间时,所述发送端根据所述第二响应超时重发策略重发所述消息数据包;
当接收到所述执行结果消息包且未超过所述第二计时器的超时时间时,所述发送端确定所述业务处理逻辑执行完成。
2.根据权利要求1所述的基于UDP协议的闭环网络通信方法,其特征在于,所述发送端获取到业务数据,通过预设数据封装协议得到消息数据包之前,还包括:
在所述发送端与所述接收端建立通信之间,设置业务层的预设数据封装协议,所述预设数据封装协议的业务数据帧格式包括业务消息头及业务数据区,所述业务消息头包括业务消息号及业务消息类型,所述业务消息号为每次所述发送端与所述接收端通信成功的标号,所述业务消息号为累加次数,所述业务消息类型对应业务数据的类型,所述业务数据区用于存放所述业务数据;
所述预设数据封装协议的回应消息数据帧格式包括回应消息头及回应数据区,所述回应消息头包括回应消息号及回应消息类型,所述回应消息号与当前接收到的所述业务消息号一致,所述业务消息类型与当前接收到的所述业务消息类型一致,所述回应数据区用于存放执行所述业务数据对应的业务处理逻辑需要的最大时间;
所述预设数据封装协议的执行结果消息数据帧格式包括执行结果消息头及执行结果数据区,所述执行结果消息头包括执行结果消息号及执行结果消息类型,所述执行结果消息号与当前接收到的所述业务消息号一致,所述执行结果消息类型与当前接收到的所述业务消息类型一致,所述执行结果数据区用于存放所述业务数据对应的业务处理逻辑执行完成之后的结果数据。
3.根据权利要求2所述的基于UDP协议的闭环网络通信方法,其特征在于,所述发送端获取到业务数据,通过预设数据封装协议得到消息数据包,包括:
所述发送端获取到业务数据;
所述发送端根据所述业务数据得到消息号及消息类型;
所述发送端通过所述预设数据封装协议的业务数据帧格式创建Buffer包,将所述消息号、所述消息类型及所述业务数据放入所述Buffer包,生成消息数据包。
4.根据权利要求3所述的基于UDP协议的闭环网络通信方法,其特征在于,所述发送端通过UDP方式将所述消息数据包发送给所述接收端,并设置第一计时器及第一响应超时重发策略,包括:
所述发送端调用UDP发送接口,将所述消息数据包发送至所述接收端;
所述发送端将所述消息号及所述消息类型作为KEY值,根据所述KEY值创建第一计时器,并开始计时;
所述发送端设置第一最大重发次数及所述第一计时器的第一超时时间,根据所述第一超时时间及所述第一最大重发次数得到第一响应超时重发策略。
5.根据权利要求4所述的基于UDP协议的闭环网络通信方法,其特征在于,所述发送端根据所述第一响应超时重发策略重发所述消息数据包,包括:
所述发送端获取所述消息数据包的累计重发次数;
所述发送端判断所述累计重发次数是否超过所述第一响应超时重发策略的所述第一最大重发次数;
若不超过所述第一最大重发次数,则所述发送端重发所述消息数据包;
若超过所述第一最大重发次数,则所述发送端删除所述第一计时器。
6.根据权利要求3所述的基于UDP协议的闭环网络通信方法,其特征在于,所述接收端接收到所述消息数据包,通过所述预设数据封装协议向所述发送端发送回应消息包,包括:
所述接收端接收到所述消息数据包;
所述接收端对所述消息数据包进行解析,得到所述消息号、所述消息类型及所述业务数据;
所述接收端根据所述业务数据确定执行所述业务数据对应的业务处理逻辑需要的最大时间;
所述接收端通过所述预设数据封装协议的回应消息数据帧格式创建Buffer包,将所述消息号、所述消息类型及所述最大时间放入所述Buffer包,生成回应消息包;
所述接收端调用UDP发送接口,将所述回应消息包发送至所述发送端。
7.根据权利要求6所述的基于UDP协议的闭环网络通信方法,其特征在于,所述发送端根据所述回应消息包设置第二计时器及第二响应超时重发策略,包括:
所述发送端解析所述回应消息包进行解析,得到所述消息号、所述消息类型及所述最大时间;
所述发送端将所述消息号及所述消息类型作为KEY值,根据所述KEY值创建第二计时器,并开始计时;
所述发送端将所述最大时间作为所述第二计时器的第二超时时间,并设置第二最大重发次数;
所述发送端根据所述第二超时时间及所述第二最大重发次数得到第二响应超时重发策略。
8.根据权利要求7所述的基于UDP协议的闭环网络通信方法,其特征在于,所述发送端根据所述第二响应超时重发策略重发所述消息数据包,包括:
所述发送端获取所述消息数据包的累计重发次数;
所述发送端判断所述累计重发次数是否超过所述第二响应超时重发策略的所述第二最大重发次数;
若不超过所述第二最大重发次数,则所述发送端重发所述消息数据包;
若超过所述第二最大重发次数,则所述发送端删除所述第二计时器。
9.根据权利要求3所述的基于UDP协议的闭环网络通信方法,其特征在于,所述接收端确定所述消息数据包对应的业务处理逻辑,得到执行所述业务处理逻辑的执行结果消息,通过所述预设数据封装协议向所述发送端发送执行结果消息包,包括:
所述接收端根据当前的所述消息数据包中的业务数据确定对应的业务处理逻辑;
所述接收端判断当前的所述消息数据包与上一次的消息数据包是否相同;
若相同,则所述接收端获取上一次的所述消息数据包对应的业务处理逻辑的执行结果消息,通过所述预设数据封装协议向所述发送端发送执行结果消息包;
若不相同,则所述接收端执行当前的所述消息数据包对应的业务处理逻辑得到执行结果消息,通过所述预设数据封装协议向所述发送端发送执行结果消息包。
10.一种基于UDP协议的闭环网络通信系统,其特征在于,包括:
发送端及接收端;
所述发送端,用于获取到业务数据,通过预设数据封装协议得到消息数据包;通过UDP方式将所述消息数据包发送给所述接收端,并设置第一计时器及第一响应超时重发策略;
所述接收端,用于接收到所述消息数据包,通过所述预设数据封装协议向所述发送端发送回应消息包;
所述发送端,还用于当未接收到所述回应消息包或接收所述回应消息包超过所述第一计时器的超时时间时,根据所述第一响应超时重发策略重发所述消息数据包;
所述发送端,还用于当所述发送端接收到所述回应消息包且未超过所述第一计时器的超时时间时,根据所述回应消息包设置第二计时器及第二响应超时重发策略;
所述接收端,还用于确定所述消息数据包对应的业务处理逻辑,得到执行所述业务处理逻辑的执行结果消息,通过所述预设数据封装协议向所述发送端发送执行结果消息包;
所述发送端,还用于当未接收到所述执行结果消息包或接收所述执行结果消息包超过所述第二计时器的超时时间时,根据所述第二响应超时重发策略重发所述消息数据包;
所述发送端,还用于当接收到所述执行结果消息包且未超过所述第二计时器的超时时间时,确定所述业务处理逻辑执行完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179550.5A CN115499108B (zh) | 2022-09-27 | 2022-09-27 | 一种基于udp协议的闭环网络通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211179550.5A CN115499108B (zh) | 2022-09-27 | 2022-09-27 | 一种基于udp协议的闭环网络通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115499108A true CN115499108A (zh) | 2022-12-20 |
CN115499108B CN115499108B (zh) | 2024-08-02 |
Family
ID=84472268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211179550.5A Active CN115499108B (zh) | 2022-09-27 | 2022-09-27 | 一种基于udp协议的闭环网络通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499108B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957730A (zh) * | 2011-08-29 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 基于udp协议的数据传输方法和系统 |
CN105100100A (zh) * | 2015-07-30 | 2015-11-25 | 北京广密华安科技有限公司 | 适用于分布式网络的udp传输方法和系统 |
US9560209B1 (en) * | 2016-06-17 | 2017-01-31 | Bandwith.com, Inc. | Techniques for troubleshooting IP based telecommunications networks |
CN107852398A (zh) * | 2013-11-25 | 2018-03-27 | 北京大学深圳研究生院 | 一种基于udp协议的网络编码及传输方法 |
CN108494782A (zh) * | 2018-03-28 | 2018-09-04 | 深圳市网心科技有限公司 | 一种基于udp的数据传输方法、终端设备及存储介质 |
CN111711680A (zh) * | 2020-06-09 | 2020-09-25 | 武汉虹信通信技术有限责任公司 | 基于udp协议的文件断点续传方法及装置 |
CN112929455A (zh) * | 2021-05-11 | 2021-06-08 | 北京华云安信息技术有限公司 | 基于udp的数据传输方法、装置、设备和可读存储介质 |
-
2022
- 2022-09-27 CN CN202211179550.5A patent/CN115499108B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957730A (zh) * | 2011-08-29 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 基于udp协议的数据传输方法和系统 |
CN107852398A (zh) * | 2013-11-25 | 2018-03-27 | 北京大学深圳研究生院 | 一种基于udp协议的网络编码及传输方法 |
CN105100100A (zh) * | 2015-07-30 | 2015-11-25 | 北京广密华安科技有限公司 | 适用于分布式网络的udp传输方法和系统 |
US9560209B1 (en) * | 2016-06-17 | 2017-01-31 | Bandwith.com, Inc. | Techniques for troubleshooting IP based telecommunications networks |
CN108494782A (zh) * | 2018-03-28 | 2018-09-04 | 深圳市网心科技有限公司 | 一种基于udp的数据传输方法、终端设备及存储介质 |
CN111711680A (zh) * | 2020-06-09 | 2020-09-25 | 武汉虹信通信技术有限责任公司 | 基于udp协议的文件断点续传方法及装置 |
CN112929455A (zh) * | 2021-05-11 | 2021-06-08 | 北京华云安信息技术有限公司 | 基于udp的数据传输方法、装置、设备和可读存储介质 |
Non-Patent Citations (2)
Title |
---|
刘磊;张磊;吴泽民;: "VxWorks下的多重定时器设计", 单片机与嵌入式系统应用, no. 12, 1 December 2009 (2009-12-01), pages 32 - 35 * |
王敏;黄战华;王铨;: "具有容错机制的改进型UDP协议", 光电工程, no. 03, 15 March 2011 (2011-03-15), pages 92 - 98 * |
Also Published As
Publication number | Publication date |
---|---|
CN115499108B (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5215413B2 (ja) | 再送プロトコルのためのステータス報告 | |
US8958411B2 (en) | Method of transmitting RLC data | |
US6961327B2 (en) | TCP aware local retransmissioner scheme for unreliable transmission network | |
JP3763741B2 (ja) | 半信頼性再送信プロトコルに対するパケット破棄通知 | |
EP2811681B1 (en) | Method for moving a receive window in a radio access network | |
US8351380B2 (en) | Method and apparatus for layer 2 ARQ for packets | |
US9397791B2 (en) | Transmitting data in a mobile communication system | |
US20170149675A1 (en) | Packet retransmission method and apparatus | |
CN112436994B (zh) | 一种数据传输方法及电子设备 | |
JP2002541727A5 (ja) | 半信頼性再送信プロトコルに対するパケット破棄通知 | |
WO2020147453A1 (zh) | 数据传输方法及相关装置 | |
WO2015066836A1 (zh) | 视频业务数据传输方法、数据接收装置和数据发送装置 | |
CN107959555B (zh) | 一种基于lwaap的数据传输方法、装置及存储介质 | |
CN108886713B (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN115633104B (zh) | 数据发送方法、数据接收方法、装置及数据收发系统 | |
JP4384676B2 (ja) | データ通信装置の制御方法 | |
US11502986B2 (en) | Reducing transmission delay of transmitting data in Wi-Fi | |
CN112511377B (zh) | 一种基于arq和udp协议的tcp网络加速方法 | |
US20050094632A1 (en) | DOCSIS MAC layer-based ARQ for fixed wireless | |
KR100612654B1 (ko) | 자동 재송신 요청을 위한 프레임 생성 장치 및 방법 | |
CN115499108B (zh) | 一种基于udp协议的闭环网络通信方法及系统 | |
CN116566920A (zh) | 一种数据传输控制方法及相关装置 | |
CN116963175A (zh) | 数据传输方法、装置及系统 | |
CN113424578B (zh) | 一种传输控制协议加速方法和装置 | |
KR100756183B1 (ko) | 페이크 응답 계층을 구비하는 네트워크 전송 장치와 이를이용한 티씨피 패킷 송수신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |