一种基于UDP的数据传输方法、系统及电子设备技术方案

技术编号:29684101 阅读:14 留言:0更新日期:2021-08-13 22:08
本发明专利技术提供一种基于UDP的数据传输方法、系统及电子设备,其中数据传输方法为在网络终端与目标终端中分别只建立一个UDP Socket,基于UDP协议通信,网络终端与目标终端分别通过数据处理层对报文进行可靠传输处理和非可靠传输处理;在进行非可靠数据传输时,直接在原始报文中加入MUDP信息,通过UDP协议进行通信后,解析出MUDP信息的标记含义,符合要求则直接将原始报文发送至目标终端,具有低延时、传输快的特点;在进行可靠数据传输时,先后在原始报文中加入RDT信息和MUDP信息,通过UDP协议进行通信后,再先后解析出MUDP信息和RDT信息的标记含义,其中有效数据直接发送至目标终端,传输控制报文则请求重传,提高数据传输可靠性,减少丢包率。

【技术实现步骤摘要】
一种基于UDP的数据传输方法、系统及电子设备
本专利技术属于数据传输
,尤其涉及一种基于UDP的数据传输方法、系统及电子设备。
技术介绍
UDP是一个无连接协议,UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差,但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高。随着互联网技术的快速发展,特别在流媒体传输领域,在手机APP端与网络摄像头(IPC)端需要进行多样式的数据传输,当手机APP端向IPC端发送控制指令时,需要一种可靠的数据传输方式,但是当IPC端向手机APP端发送音视频数据时,则可以牺牲一定的可靠性来换取低延迟传输,因此为了适应这种多样式的数据传输,需要分别在手机APP端和IPC端建立多个Socket,一个TCP连接用于可靠数据传输,一个或多个UDP用于实时媒体数据传输,系统复杂,传输方法麻烦。因此,亟需一种能够同时满足可靠数据传输和非可靠数据传输,且无需配置太多Socket的数据传输方法及系统。
技术实现思路
本专利技术的目的在于克服上述现有技术存在的不足,提供一种基于UDP的数据传输方法、系统及电子设备,解决了现有技术中在采用UDP作为通信协议时,无法兼顾可靠数据传输和非可靠数据传输两种方式的缺陷,也克服了需要配置多个Socket所造成应用开发繁琐、系统复杂的问题。为了实现上述目的,第一方面,本专利技术提供一种基于UDP的数据传输方法,所述数据传输方法用于网络终端与目标终端的数据传输,所述数据传输方法过程如下:在网络终端与目标终端分别建立一个UDPSocket,所述网络终端与目标终端通过UDP协议通信;所述网络终端与目标终端分别通过数据处理层与UDP协议通信连接,所述数据处理层被配置为用于对所述网络终端和目标终端所要发送和/或接收的报文进行可靠传输处理和非可靠传输处理。在一些实施例中,在进行非可靠数据传输时,所述网络终端通过send_unreliable接口向数据处理层发送原始报文,所述数据处理层在所述原始报文中加入MUDP信息,得到MUDP报文;所述网络终端通过UDPSocket将MUDP报文发送至所述目标终端的UDPSocket,随后所述目标终端的数据处理层解析所述MUDP报文,并判断所述MUDP信息;若所述MUDP信息标记为“0”,则在MUDP报文中去掉MUDP信息,将原始报文通过recv_unreliable发送至目标终端。在一些实施例中,在进行可靠数据传输时,所述网络终端通过send_reliable接口向数据处理层发送原始报文,所述数据处理层在所述原始报文中加入MUDP信息,得到MUDP报文;所述网络终端通过UDPSocket将MUDP报文发送至所述目标终端的UDPSocket,随后所述目标终端的数据处理层解析所述MUDP报文,并判断所述MUDP信息;若所述MUDP信息标记为“1”,则在MUDP报文中去掉MUDP信息,将原始报文通过recv_reliable发送至目标终端。在一些实施例中,在进行可靠数据传输时,在所述网络终端的数据处理层向所述原始报文中加入MUDP信息前,所述数据处理层先通过RDT协议在原始报文中加入RDT信息;在所述目标终端的数据处理层解析所述MUDP报文并判断所述MUDP信息标记为“1”后,去除报文中的MUDP信息,所述目标终端的RDT协议对所述RDT信息进行解析;若RDT信息为有效数据,则将原始报文通过recv_reliable发送至目标终端;若RDT信息为传输控制报文,则检测是否存在丢包,如果存在丢包,则发送请求重传指令至所述网络终端。在一些实施例中,在非可靠数据传输中,所述MUDP信息位于所述原始报文的头部,所述MUDP信息大小为1个byte。在一些实施例中,在可靠数据传输中,所述RDT信息位于所述原始报文的头部,所述MUDP信息再加至所述RDT信息的头部,所述MUDP信息大小为1个byte。在一些实施例中,当所述网络终端通过可靠数据传输方式向所述目标终端发送控制指令时,所述目标终端接收到后同样通过可靠数据传输方式向所述网络终端返回收到指令。第二方面,本专利技术提供一种应用于如上述的基于UDP的数据传输方法的系统,包括:网络终端,所述网络终端包括第一UDPSocket和第一数据处理层;目标终端,所述目标终端包括第二UDPSocket和第二数据处理层;所述网络终端的第一UDPSocket与所述目标终端的第二UDPSocket通过UDP协议进行信号连接,所述网络终端与目标终端分别通过其数据处理层与UDP协议通信连接,所述数据处理层被配置为用于对所述网络终端和目标终端所要发送和/或接收的报文进行可靠传输处理和非可靠传输处理。在一些实施例中,所述网络终端还包括send_unreliable接口和send_reliable接口,所述send_unreliable接口和send_reliable接口分别与所述第一数据处理层信号连接,所述第一数据处理层包括第一MUDP模块和第一RDT模块;所述目标终端还包括recv_unreliable接口和recv_reliable接口,所述recv_unreliable接口和recv_reliable接口分别与所述第二数据处理层信号连接,所述第二数据处理层包括第二MUDP模块和第二RDT模块;在进行非可靠数据传输时,所述第一MUDP模块被配置为在所述原始报文中加入MUDP信息,得到MUDP报文;所述第二MUDP模块被配置为解析所述MUDP报文,并判断所述MUDP信息,若所述MUDP信息标记为“0”,则在MUDP报文中去掉MUDP信息,将原始报文通过recv_unreliable发送至目标终端;在进行可靠数据传输时,所述第一RDT模块被配置为通过RDT协议在原始报文中加入RDT信息;所述第一MUDP模块被配置为在所述RDT信息的头部加入MUDP信息,得到MUDP报文;所述第二MUDP模块被配置为解析所述MUDP报文,并判断所述MUDP信息,若所述MUDP信息标记为“1”,则在MUDP报文中去掉MUDP信息;所述第二RDT模块被配置为对所述RDT信息进行解析,若RDT信息为有效数据,则将原始报文通过recv_reliable发送至目标终端,若RDT信息为传输控制报文,则检测是否存在丢包,如果存在丢包,则发送请求重传指令至所述网络终端。第三方面,本专利技术提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现如上述基于UDP的数据传输方法。本专利技术的有益效果:因此,根据本公开实施例,在网络终端与目标终端中分别只建立一个UDPSocket,基于UDP协议通信,网络终端与目标终端分别通过数据处理层对报文进行可靠传输处理和非可靠传输处理。在进行非可靠数据传输时,直接在原始报文中加入MUDP信息本文档来自技高网...

【技术保护点】
1.一种基于UDP的数据传输方法,其特征在于,所述数据传输方法用于网络终端与目标终端的数据传输,所述数据传输方法过程如下:/n在网络终端与目标终端分别建立一个UDP Socket,所述网络终端与目标终端通过UDP协议通信;/n所述网络终端与目标终端分别通过数据处理层与UDP协议通信连接,所述数据处理层被配置为用于对所述网络终端和目标终端所要发送和/或接收的报文进行可靠传输处理和非可靠传输处理。/n

【技术特征摘要】
1.一种基于UDP的数据传输方法,其特征在于,所述数据传输方法用于网络终端与目标终端的数据传输,所述数据传输方法过程如下:
在网络终端与目标终端分别建立一个UDPSocket,所述网络终端与目标终端通过UDP协议通信;
所述网络终端与目标终端分别通过数据处理层与UDP协议通信连接,所述数据处理层被配置为用于对所述网络终端和目标终端所要发送和/或接收的报文进行可靠传输处理和非可靠传输处理。


2.如权利要求1所述的一种基于UDP的数据传输方法,其特征在于,在进行非可靠数据传输时,所述网络终端通过send_unreliable接口向数据处理层发送原始报文,所述数据处理层在所述原始报文中加入MUDP信息,得到MUDP报文;
所述网络终端通过UDPSocket将MUDP报文发送至所述目标终端的UDPSocket,随后所述目标终端的数据处理层解析所述MUDP报文,并判断所述MUDP信息;
若所述MUDP信息标记为“0”,则在MUDP报文中去掉MUDP信息,将原始报文通过recv_unreliable发送至目标终端。


3.如权利要求2所述的一种基于UDP的数据传输方法,其特征在于,在进行可靠数据传输时,所述网络终端通过send_reliable接口向数据处理层发送原始报文,所述数据处理层在所述原始报文中加入MUDP信息,得到MUDP报文;
所述网络终端通过UDPSocket将MUDP报文发送至所述目标终端的UDPSocket,随后所述目标终端的数据处理层解析所述MUDP报文,并判断所述MUDP信息;
若所述MUDP信息标记为“1”,则在MUDP报文中去掉MUDP信息,将原始报文通过recv_reliable发送至目标终端。


4.如权利要求3所述的一种基于UDP的数据传输方法,其特征在于,在进行可靠数据传输时,在所述网络终端的数据处理层向所述原始报文中加入MUDP信息前,所述数据处理层先通过RDT协议在原始报文中加入RDT信息;
在所述目标终端的数据处理层解析所述MUDP报文并判断所述MUDP信息标记为“1”后,去除报文中的MUDP信息,所述目标终端的RDT协议对所述RDT信息进行解析;
若RDT信息为有效数据,则将原始报文通过recv_reliable发送至目标终端;
若RDT信息为传输控制报文,则检测是否存在丢包,如果存在丢包,则发送请求重传指令至所述网络终端。


5.如权利要求4所述的一种基于UDP的数据传输方法,其特征在于,在非可靠数据传输中,所述MUDP信息位于所述原始报文的头部,所述MUDP信息大小为1个byte。


6.如权利要求5所述的一种基于UDP的数据传输方法,其特征在于,在可靠数据传输中,所述RDT信息位于所述原始报文的头部,所述MUDP信息再加至所述RDT信息的头部,所述MUDP信息大小为1个by...

【专利技术属性】
技术研发人员:肖术骏曾金生
申请(专利权)人:珠海六点智能科技有限公司
类型:发明
国别省市:广东;44

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

1