CN117812166A - 一种基于udp的数据传输方法、***、设备和存储介质 - Google Patents

一种基于udp的数据传输方法、***、设备和存储介质 Download PDF

Info

Publication number
CN117812166A
CN117812166A CN202410236979.6A CN202410236979A CN117812166A CN 117812166 A CN117812166 A CN 117812166A CN 202410236979 A CN202410236979 A CN 202410236979A CN 117812166 A CN117812166 A CN 117812166A
Authority
CN
China
Prior art keywords
data
sender
fragmented
udp
sending
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
Application number
CN202410236979.6A
Other languages
English (en)
Other versions
CN117812166B (zh
Inventor
李勇
莫素林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Eme Medical Furniture Technology Co ltd
Original Assignee
Guangzhou Eme Medical Furniture Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Eme Medical Furniture Technology Co ltd filed Critical Guangzhou Eme Medical Furniture Technology Co ltd
Priority to CN202410236979.6A priority Critical patent/CN117812166B/zh
Publication of CN117812166A publication Critical patent/CN117812166A/zh
Application granted granted Critical
Publication of CN117812166B publication Critical patent/CN117812166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及信息通信技术领域,所要解决的技术问题是提供一种基于UDP的数据传输方法、***、设备和存储介质,方法包括以下步骤:发送方和接收方确认分片数据的格式内容;发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;发送方将分片数据放入发送队列,并发送到接收方;接收方解析分片数据,分离出确认数据并将其返回至发送方;发送方接收到确认数据后将初始的分片数据从发送队列中移除。发送方根据确认好的格式内容,对输入的数据进行分片处理,之后通过发送队列发送给接收方,接收方解析数据并向发送方确认,发送方确认接收方已收到数据就将发送队列的数据删除;此方法保证在低速率带宽和不稳定的网络环境中数据可以完整完好传输。

Description

一种基于UDP的数据传输方法、***、设备和存储介质
技术领域
本发明涉及信息通信技术领域,更具体地,涉及一种基于UDP的数据传输方法、***、设备和存储介质。
背景技术
用户数据报协议,英文名为User Datagram Protocol,简称UDP,是一种在计算机网络中常用的传输层协议。UDP是一种无连接的协议,不具备可靠性和流量控制等特性,但由于其简单、高效的特点,被广泛应用于实时性要求较高、对数据完整性要求较低的应用场景。
传输控制协议(TCP)和用户数据报协议(UDP)都是通信网络中的常用方式;TCP协议可以提供比较可靠的、面向连接的数据传输功能,但是面对复杂的网络环境和低带宽网络情况总是会出现数据丢失和数据阻塞的状况,导致数据传输效率底下。UDP是一种无连接的协议,这使得UDP的开销较小适合低速率的带宽环境,但UDP不具备可靠性和流量控制等特性,使得数据传输没有可靠性保障。
发明内容
本发明旨在提供一种基于UDP的数据传输方法、***、设备和存储介质,以解决上述技术问题,发送方根据确认好的格式内容,对输入的数据进行分片处理,之后通过发送队列发送给接收方,接收方解析数据并向发送方确认,发送方确认接收方已收到数据就将发送队列的数据删除;此方法保证在低速率带宽和不稳定的网络环境中数据可以完整完好传输。
本发明解决其技术问题所采用的技术方案是:一种基于UDP的数据传输方法,包括以下步骤:
发送方和接收方确认分片数据的格式内容;
发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;
发送方将分片数据放入发送队列,并发送到接收方;
接收方解析分片数据,分离出确认数据并将其返回至发送方;
发送方接收到确认数据后将初始的分片数据从发送队列中移除。
优选的,所述分片数据的格式内容包括分片帧头和数据体。
优选的,所述分片帧头具体包括:确认头+总数据大小+分片数量+分片编号+分片数据大小;所述数据体具体为分片的具体数据内容。
优选的,所述分片处理的条件为:输入的数据大小超过500字节。
优选的,所述发送方将分片数据放入发送队列,并发送到接收方的过程具体为:
发送方维护一个发送队列,发送队列初始为空,发送数据时将分片好的数据放入发送队列,数据发送线程从发送队列中循环获取数据并延迟后发送到接收方。
优选的,所述接收方解析分片数据,分离出确认数据并将其返回至发送方具体为:
接收方接收数据后根据分片帧头重组数据,之后将确认头返回至发送方。
优选的,本方法还包括:当发送方没有接收到确认数据,则发送方将发送队列中的分片数据重新发送至接收方,直至发送方接收到确认数据,之后将初始的分片数据从发送队列中移除。
一种基于UDP的数据传输***,包括依次电性连接的格式内容确认模块、数据分片处理模块、分片数据发送模块、数据解析模块和分片数据移除模块;
所述格式内容确认模块,用于发送方和接收方确认分片数据的格式内容;
所述数据分片处理模块,用于发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;
所述分片数据发送模块,用于发送方将分片数据放入发送队列,并发送到接收方;
所述数据解析模块,用于接收方解析分片数据,分离出确认数据并将其返回至发送方;
所述分片数据移除模块,用于发送方接收到确认数据后将初始的分片数据从发送队列中移除。
一种设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现所述的一种基于UDP的数据传输方法。
一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行所述的一种基于UDP的数据传输方法。
本发明的有益效果是:
相比现有技术,本申请提供了一种基于UDP的数据传输方法、***、设备和存储介质,发送方根据确认好的格式内容,对输入的数据进行分片处理,之后通过发送队列发送给接收方,接收方解析数据并向发送方确认,发送方确认接收方已收到数据就将发送队列的数据删除;此方法保证在低速率带宽和不稳定的网络环境中数据可以完整完好传输。
附图说明
图1是本发明一个实施例的方法流程示意图;
图2是本发明一个实施例的数据传输流程图;
图3是本发明一个实施例的***模块示意图;
图4是本发明一个实施例的发送方和接收方交互示意图。
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
具体实施方式
下面结合附图和具体实施例,对本发明做进一步详细说明。
如图1所示,本发明的一种基于UDP的数据传输方法,包括以下步骤:
S1:发送方和接收方确认分片数据的格式内容;
S2:发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;
S3:发送方将分片数据放入发送队列,并发送到接收方;
S4:接收方解析分片数据,分离出确认数据并将其返回至发送方;
S5:发送方接收到确认数据后将初始的分片数据从发送队列中移除。
上述方案中,如图2所示,发送方根据确认好的格式内容,对输入的数据进行分片处理,之后通过发送队列发送给接收方,接收方解析数据并向发送方返回确认头,发送方收到确认头就将发送队列的数据删除;此方法保证在低速率带宽和不稳定的网络环境中数据可以完整完好传输。
UDP是无连接的,面向消息的数据传输协议,其有两个缺陷:一是数据容易丢失;二是数据包无序;为了保证其可靠性且应用与低速率带宽中需要实现多个策略。
例如:1、数据包确认机制:当接收方接收到数据时,即回复确认头进行确认;
2、重传机制:接收方解析数据并向发送方确认,发送方确认接收方已收到数据就将发送队列的数据删除,假如发送方没有收到接收方发送的确认信息,则进行重复发送,只是收到确认信息,才将传输队列的数据进行删除;
3、序号机制:发送方和接收方需要先确认分片数据的格式内容,确保双方能正确解析数据,可以采用数学进制的方法来定义格式。
优选的,在步骤S1中,所述分片数据的格式内容包括分片帧头和数据体。
优选的,所述分片帧头具体包括:确认头+总数据大小+分片数量+分片编号+分片数据大小;所述数据体具体为分片的具体数据内容。
上述方案中,发送方和接收方需要先确认分片数据的格式内容,确保双方能正确解析数据。这里使用16进制数举例;
例如:2670F90C13B517569E43059D13B51735....。
其中2670F90C13B517569E43为分片帧头,之后为数据体。
优选的,在步骤S2中,所述分片处理的条件为:输入的数据大小超过500字节。
上述方案中,在实际应用中如果数据包超过最大传输单元的值,该值为1500字节,UDP会对数据包自动进行分片导致数据丢失,且在不同的网络设备中设置的最大传输单元的值并不同,在Internet上的标准的最大传输单元的值为576字节;因此在发送数据前需要将发送数据进行主动分片并将数据包大小控制在500字节以内。
优选的,在步骤S3中,所述发送方将分片数据放入发送队列,并发送到接收方的过程具体为:
发送方维护一个发送队列,发送队列初始为空,发送数据时将分片好的数据放入发送队列,数据发送线程从发送队列中循环获取数据并发送到接收方。
上述方案中,发送方首先需要对要发送的数据进行分片处理,处理成为事先定义好的格式。然后在将数据放入发送队列中;队列举例如:list={数据1,数据2,数据3,.....},在从队列中获取数据发送到接收方。
优选的,数据发送线程从发送队列中循环获取数据,延迟若干毫秒后发送到接收方。
上述方案中,发送方需要维护一个发送队列,此队列初始为空。发送方发送数据时将分片好的数据放入该队列;数据发送线程从此队列中循环获取数据并发送到接收方,为减少因接收方处理消息不及时导致丢包情况可以在发送时延迟1微妙发送。
优选的,在步骤S4中,所述接收方解析分片数据,分离出确认数据并将其返回至发送方具体为:
接收方接收数据后根据分片帧头重组数据,之后将确认头返回至发送方。
上述方案中,接收方接收到数据后根据定义好的格式解析数据,然后将确认数据返回至发送方。
发送方接收到返回数据后在将该发送的数据从队列中删除;例如返回的是数据2的确认头那么队列就如:list={数据1,数据3,.....}。如此逐条发送数据,直至数据发送完成。为避免发送数据过多导致数据阻塞发送方应根据设备性能对发送队列长度进行限制。
优选的,本方法还包括:当发送方没有接收到确认数据,则发送方将发送队列中的分片数据重新发送至接收方,直至发送方接收到确认数据,之后将初始的分片数据从发送队列中移除。
如图3所示,一种基于UDP的数据传输***,包括依次电性连接的格式内容确认模块、数据分片处理模块、分片数据发送模块、数据解析模块和分片数据移除模块;
所述格式内容确认模块,用于发送方和接收方确认分片数据的格式内容;
所述数据分片处理模块,用于发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;
所述分片数据发送模块,用于发送方将分片数据放入发送队列,并发送到接收方;
所述数据解析模块,用于接收方解析分片数据,分离出确认数据并将其返回至发送方;
所述分片数据移除模块,用于发送方接收到确认数据后将初始的分片数据从发送队列中移除。
上述方案中,如图4所示,发送方根据确认好的格式内容,对输入的数据进行分片处理,之后发送方维护一个发送队列,发送队列初始为空,发送数据时将分片好的数据放入发送队列,数据发送线程从发送队列中循环获取数据并发送到接收方,接收方解析和组装数据并向发送方返回确认头,发送方收到确认头就将发送队列的数据删除;此方法保证在低速率带宽和不稳定的网络环境中数据可以完整完好传输。
本发明还提供了一种设备,为本发明提供的设备的一个优选的实施例的结构示意图,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任一实施例所述的一种基于UDP的数据传输方法。
需要说明的是,在一些具体的实施例中,该设备中还可以包括多个存储器和/或多个处理器,其具体的数目及连接方式可根据实际情况需要进行设置和适应性调整。
本发明还提供了一种计算机可读存储介质,具体包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的一种基于UDP的数据传输方法。
需要说明的是,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要进一步说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于UDP的数据传输方法,其特征在于,包括以下步骤:
发送方和接收方确认分片数据的格式内容;
发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;
发送方将分片数据放入发送队列,并发送到接收方;
接收方解析分片数据,分离出确认数据并将其返回至发送方;
发送方接收到确认数据后将初始的分片数据从发送队列中移除。
2.根据权利要求1所述的一种基于UDP的数据传输方法,其特征在于,所述分片数据的格式内容包括分片帧头和数据体。
3.根据权利要求2所述的一种基于UDP的数据传输方法,其特征在于,所述分片帧头具体包括:确认头+总数据大小+分片数量+分片编号+分片数据大小;所述数据体具体为分片的具体数据内容。
4.根据权利要求1所述的一种基于UDP的数据传输方法,其特征在于,所述分片处理的条件为:输入的数据大小超过500字节。
5.根据权利要求1所述的一种基于UDP的数据传输方法,其特征在于,所述发送方将分片数据放入发送队列,并发送到接收方的过程具体为:
发送方维护一个发送队列,发送队列初始为空,发送数据时将分片好的数据放入发送队列,数据发送线程从发送队列中循环获取数据并延迟后发送到接收方。
6.根据权利要求3所述的一种基于UDP的数据传输方法,其特征在于,所述接收方解析分片数据,分离出确认数据并将其返回至发送方具体为:
接收方接收数据后根据分片帧头重组数据,之后将确认头返回至发送方。
7.根据权利要求1所述的一种基于UDP的数据传输方法,其特征在于,本方法还包括:当发送方没有接收到确认数据,则发送方将发送队列中的分片数据重新发送至接收方,直至发送方接收到确认数据,之后将初始的分片数据从发送队列中移除。
8.一种基于UDP的数据传输***,其特征在于,包括依次电性连接的格式内容确认模块、数据分片处理模块、分片数据发送模块、数据解析模块和分片数据移除模块;
所述格式内容确认模块,用于发送方和接收方确认分片数据的格式内容;
所述数据分片处理模块,用于发送方将输入的数据进行分片处理,形成符合格式内容的分片数据;
所述分片数据发送模块,用于发送方将分片数据放入发送队列,并发送到接收方;
所述数据解析模块,用于接收方解析分片数据,分离出确认数据并将其返回至发送方;
所述分片数据移除模块,用于发送方接收到确认数据后将初始的分片数据从发送队列中移除。
9.一种设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的一种基于UDP的数据传输方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任一项所述的一种基于UDP的数据传输方法。
CN202410236979.6A 2024-03-01 2024-03-01 一种基于udp的数据传输方法、装置、设备和存储介质 Active CN117812166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410236979.6A CN117812166B (zh) 2024-03-01 2024-03-01 一种基于udp的数据传输方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410236979.6A CN117812166B (zh) 2024-03-01 2024-03-01 一种基于udp的数据传输方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN117812166A true CN117812166A (zh) 2024-04-02
CN117812166B CN117812166B (zh) 2024-07-05

Family

ID=90433883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410236979.6A Active CN117812166B (zh) 2024-03-01 2024-03-01 一种基于udp的数据传输方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN117812166B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938406A (zh) * 2009-07-02 2011-01-05 华为技术有限公司 微波多通道报文发送方法和装置及传送***
CN102377524A (zh) * 2011-10-11 2012-03-14 北京邮电大学 分片处理的方法和***
CN106549845A (zh) * 2016-10-26 2017-03-29 郑州云海信息技术有限公司 一种基于ntb硬件的通信方法及***
CN109039551A (zh) * 2018-08-22 2018-12-18 苏州凌犀物联网技术有限公司 一种Lora报文重装异常处理方法、发送端及接收端
CN110913431A (zh) * 2019-11-27 2020-03-24 深圳云博智联科技有限公司 数据无线传输方法、装置、计算机设备及存储介质
CN113489575A (zh) * 2021-06-25 2021-10-08 阿波罗智联(北京)科技有限公司 一种数据传输方法、装置及电子设备
WO2022001287A1 (zh) * 2020-07-03 2022-01-06 华为技术有限公司 一种报文处理的方法及设备
CN115883680A (zh) * 2022-11-24 2023-03-31 天翼数字生活科技有限公司 一种基于arq的udp协议数据传输方法、***及设备
CN116647518A (zh) * 2023-06-29 2023-08-25 重庆赛力斯新能源汽车设计院有限公司 一种数据传输方法、装置、电子设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938406A (zh) * 2009-07-02 2011-01-05 华为技术有限公司 微波多通道报文发送方法和装置及传送***
CN102377524A (zh) * 2011-10-11 2012-03-14 北京邮电大学 分片处理的方法和***
CN106549845A (zh) * 2016-10-26 2017-03-29 郑州云海信息技术有限公司 一种基于ntb硬件的通信方法及***
CN109039551A (zh) * 2018-08-22 2018-12-18 苏州凌犀物联网技术有限公司 一种Lora报文重装异常处理方法、发送端及接收端
CN110913431A (zh) * 2019-11-27 2020-03-24 深圳云博智联科技有限公司 数据无线传输方法、装置、计算机设备及存储介质
WO2022001287A1 (zh) * 2020-07-03 2022-01-06 华为技术有限公司 一种报文处理的方法及设备
CN113489575A (zh) * 2021-06-25 2021-10-08 阿波罗智联(北京)科技有限公司 一种数据传输方法、装置及电子设备
CN115883680A (zh) * 2022-11-24 2023-03-31 天翼数字生活科技有限公司 一种基于arq的udp协议数据传输方法、***及设备
CN116647518A (zh) * 2023-06-29 2023-08-25 重庆赛力斯新能源汽车设计院有限公司 一种数据传输方法、装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
富元;吕建新;: "基于UDP的可靠传输协议的研究与实现", 光通信研究, no. 05, 10 October 2009 (2009-10-10) *

Also Published As

Publication number Publication date
CN117812166B (zh) 2024-07-05

Similar Documents

Publication Publication Date Title
CN1494296B (zh) 确定网络路径传输单元
US6438108B1 (en) System for improved transmission of acknowledgements within a packet data network
CN106330414B (zh) 一种报文传输方法及装置
US9860806B2 (en) Method and system for computing and sending resource requests and avoiding deadlock situations in mobile communication system
EP2119171B1 (en) Improved data transfer method, system and protocol
EP1395014B1 (en) A method of transmitting data streams with data segments of variable length
CN106612284B (zh) 一种流数据的传输方法和装置
CN112235616B (zh) 一种视频传输方法、装置、设备及介质
WO2020119347A1 (zh) 一种消息传输方法、装置、设备及介质
CN110581812A (zh) 一种数据报文的处理方法和装置
CN108900433B (zh) 一种传输lora报文的方法、终端和服务器
CN111131179B (zh) 业务处理方法、装置、网络设备及存储介质
CN111371887B (zh) 物联网日志传输方法、客户端、服务端、设备及存储介质
CN116647518A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN112994851B (zh) 一种支持差异化可协商的并行数据通信方法及装置
CN117812166B (zh) 一种基于udp的数据传输方法、装置、设备和存储介质
EP3672189A1 (en) Data transmission method, device and system
CN103873443A (zh) 信息处理方法、本地代理服务器和网络代理服务器
CN113259490B (zh) 基于udp传输协议的多级节点网络数据传输方法
CN112202691A (zh) 一种gtp-u协议的报文处理方法、发送端及接收端
WO2017067224A1 (zh) 一种报文处理方法及装置
CN107196819B (zh) 一种网络连接的方法及其***、计算机可读存储介质
CN116896567B (zh) 网络层协议传输数据方法和装置
CN111431842A (zh) 一种用于专网环境的串口终端无线传输方法
CN106209733B (zh) 一种数据处理方法及装置

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