CN113078986B - 一种数据传输方法及电子设备 - Google Patents
一种数据传输方法及电子设备 Download PDFInfo
- Publication number
- CN113078986B CN113078986B CN202110335391.2A CN202110335391A CN113078986B CN 113078986 B CN113078986 B CN 113078986B CN 202110335391 A CN202110335391 A CN 202110335391A CN 113078986 B CN113078986 B CN 113078986B
- Authority
- CN
- China
- Prior art keywords
- unit length
- transmission unit
- maximum transmission
- message
- updated
- 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.)
- Active
Links
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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据传输方法及电子设备,该方法包括:获取最大传输单元长度;基于所述最大传输单元长度传输报文;在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;基于更新后的最大传输单元长度传输所述报文。本申请中,在基于最大传输单元长度传输报文并确定报文传输失败的情况下,更新最大传输单元长度,并基于更新后的最大传输单元长度传输报文,避免最大传输单元长度大于网络层所允许的最大传输单元长度引起的报文反复重传或分包重传,提高了报文的传输效率。
Description
技术领域
本申请涉及数据传输技术领域,特别涉及一种数据传输方法及电子设备。
背景技术
随着网络安全性能的提升,数据加密技术应用越来越广泛。数据加密技术有多种选择,例如在用户数据层加密,在传输层加密,或在网络层加密。
数据加密技术的应用会增加IP协议数据单元(Protocol Data Unit,PDU)长度,使得IP PDU的长度超过最大传输单元(Maximum Transmission Unit,MTU)长度,也即,会打破传统IP数据传输长度的限制,导致报文发送失败,之后,报文反复重传或分包重传,均会导致报文传输效率较低。
发明内容
有鉴于此,本申请实施例提出了一种数据传输方法及电子设备,用以解决现有技术中报文传输效率较低的问题。
第一方面,本申请实施例提供了一种数据传输方法,其中,包括:
获取最大传输单元长度;
基于所述最大传输单元长度传输报文;
在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
基于更新后的最大传输单元长度传输所述报文。
在一种可能的实施方式中,所述基于所述最大传输单元长度传输报文,包括:
基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;
分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
在一种可能的实施方式中,所述基于更新后的最大传输单元长度传输所述报文,包括:
基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;
分别对每个所述第二报文分片进行传输;
在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
在一种可能的实施方式中,所述数据传输方法还包括:
在所述报文传输失败且所述传输次数等于所述预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;
在所述更新后的最大传输单元长度等于所述预设最大传输单元长度的情况下,确定停止传输所述报文。
在一种可能的实施方式中,所述数据传输方法还包括:
在所述报文传输失败且所述传输次数等于所述预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;
在所述更新后的最大传输单元长度大于所述预设最大传输单元长度的情况下,将所述更新后的最大传输单元长度更新为所述预设最大传输单元长度,以基于所述预设最大传输单元长度传输所述报文。
在一种可能的实施方式中,所述数据传输方法还包括:
在基于所述预设最大传输单元长度传输所述报文传输失败的情况下,确定停止传输所述报文。
在一种可能的实施方式中,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度,包括,
确定是否接收到接收端基于所述报文返回的确收信息;
若未接收到所述确收信息,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度。
第二方面,本申请实施例还提供了一种电子设备,其中,包括:
获取模块,其配置地获取最大传输单元长度;
第一传输模块,其配置地基于所述最大传输单元长度传输报文;
更新模块,其配置地在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
第二传输模块,其配置地基于更新后的最大传输单元长度传输所述报文。
在一种可能的实施方式中,所述第一传输模块具体配置为:
基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;
分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
在一种可能的实施方式中,所述第二传输模块具体配置为:
基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;
分别对每个所述第二报文分片进行传输;
在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
本申请实施例的数据传输方法中,在基于最大传输单元长度传输报文并确定报文传输失败的情况下,更新最大传输单元长度,并基于更新后的最大传输单元长度传输报文,避免最大传输单元长度大于网络层所允许的最大传输单元长度引起的报文反复重传或分包重传,提高了报文的传输效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请所提供的一种数据传输方法的流程图;
图2示出了本申请所提供的一种数据传输方法中基于最大传输单元长度传输报文的流程图;
图3示出了本申请所提供的一种数据传输方法中基于更新后的最大传输单元长度传输报文的流程图;
图4示出了本申请所提供的一种数据传输方法对应的一个实施例的示意图;
图5示出了本申请所提供的另一种数据传输方法的流程图;
图6示出了本申请所提供的电子设备的结构示意图;
图7示出了本申请所提供的另一电子设备的结构示意图。
具体实施方式
为了使得本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例的附图,对本申请实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于所描述的本申请的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另外定义,本申请使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本申请实施例的以下说明清楚且简明,本申请省略了已知功能和已知部件的详细说明。
目前,数据加密技术有多种选择,例如在用户数据层加密,在传输层加密,或在网络层加密。其中,在用户数据层加密是最常见数据加密技术,例如淘宝,微信等应用程序,加密信息数据头或加密校验在用户数据层就已完成,在传输到IP层已根据传统协议分片完成,其是由每个应用程序独立完成的。在传输层加密同用户数据层加密类似,同样是在传输到网络层时,数据分片已完成。上述两种加密技术均不会出现IP协议数据单元(ProtocolData Unit,PDU)长度过长的问题。因此,本申请针对在网络层加密这一技术进行的完善。
具体地,在网络层进行数据加密的过程如下:假如一个IP PDU长度为1500bytes,其中报文的报头长度为20bytes,IP服务数据单元(service data unit,SDU)长度为1480bytes。经过IPsec加密后,报头长度增加到了50bytes,新的IP PDU长度为1530bytes,1530bytes的数据传输是会失败的。其中,网络层数据加密IPsec是一种底层的数据加密,不再针对单独的应用,会对所有待传输的报文统一进行加密。传统IPV4报文的报头长度为20bytes,但经过IPsec后,报文的报头长度为50bytes。
现有技术中采用以下两种方式确保报文传输成功。第一种方式,根据故障和运营商修改最大传输单元(Maximum Transmission Unit,MTU)长度,以适配运营商报文的长度。例如将IP MTU修改为1440bytes,传输的IP PDU最大只有1440bytes,经过IPsec加密后,增加到1470bytes,其仍小于1500bytes,也即能够确保报文传输完成。但该方式需要对运营商分别进行测试,以及进行手动调整适配,耗时耗力。第二种方式,IP报文中的数据包自动分片和适配,例如将一个原始IP PDU分为2个新的IP PDU传输报文,一个新的IP PDU传输1450bytes,另一个新的IP PDU传输30bytes。但这样会导致IP PDU分片过多,一次性传输的IP报文不满,导致报文传输效率低下。
如图1所示,为本申请第一方面提供的数据传输方法的流程图,其记载的数据传输方法能够有效提高报文的传输效率。其中,具体步骤包括S101-S104。
S101,获取最大传输单元长度。
这里,本申请实施例应用于设备终端,具体应用在设备终端向其他设备终端或服务器传输报文的场景下。
在传输报文之前,获取当前设备终端所允许的最大传输单元长度,例如每次传输能够传输多少个字节的数据包等。
S102,基于最大传输单元长度传输报文。
报文中包含至少一个IP SDU,在确定该设备终端的最大传输单元长度之后,将所有的IP SDU以最大传输单元长度进行传输,进而实现报文的传输。
具体地,图2示出了基于最大传输单元长度传输报文的具体方法步骤,包括S201和S202。
S201,基于最大传输单元长度,对报文进行分片处理,得到至少一个第一报文分片;其中,第一报文分片的长度小于或等于最大传输单元长度。
S202,分别对每个第一报文分片进行传输,以对报文进行传输。
在具体实施中,报文的长度均较大,因此,在确定该设备终端的最大传输单元长度之后,以最大传输单元长度为单位,将报文进行分片处理以得到至少一个第一报文分片。
这里,第一报文分片的长度小于或等于最大传输单元长度,例如最大传输单元长度为1500bytes,基于此,将一个报文中包含的所有数据3500bytes分为了3个第一报文分片,其中2个第一报文分片的长度等于最大传输单元长度,也即2个第一报文分片的长度为1500bytes,此时报文中剩余500bytes,其不足以填满一个最大传输单元长度,因此,另外一个第一报文分片的长度小于最大传输单元长度。
在得到至少一个第一报文分片之后,分别对每个第一报文分片进行传输,以对报文进行传输。
S103,在确定报文传输失败的情况下,更新最大传输单元长度;其中,传输失败的原因为最大传输单元长度大于网络层所允许的最大传输单元长度。
这里,报文传输失败的原因包括最大传输单元长度大于网络层所允许的最大传输单元长度,当前所处的网络环境中无网络信号或网络信号较弱,与其他设备终端或服务器无法连接等。
具体地,在传输报文之后,确定是否接收到接收端(其他设备终端或服务器)基于报文返回的确收信息,若未接收到接收端返回的确收信息,确定传输失败的原因为最大传输单元长度大于网络层所允许的最大传输单元长度。
其中,该确收信息可以是接收端在接收到所有第一报文分片之后生成的,也可以是接收端基于接收到每个第一报文分片之后生成的子信息合成的,本申请实施例对此不做具体限定。
进一步地,在确定报文传输失败的原因为最大传输单元长度大于网络层所允许的最大传输单元长度的情况下,更新最大传输单元长度,具体为减小该最大传输单元长度。
值得说明的是,在传输失败的原因为当前所处的网络环境中无网络信号或网络信号较弱,与其他设备终端或服务器无法连接时,可以直接尝试重新对报文进行传输。
S104,基于更新后的最大传输单元长度传输报文。
在更新最大传输单元长度之后,基于更新后的最大传输单元长度传输报文,具体的方法步骤可以参照图3,其包括S301-S303。
S301,基于更新后的最大传输单元长度,对报文进行分片处理,得到至少一个第二报文分片。
S302,分别对每个第二报文分片进行传输。
S303,在确定基于更新后的最大传输单元长度传输报文传输失败的情况下,再次更新最大传输单元长度,以基于更新后的最大传输单元长度传输报文,直至报文传输成功或报文的传输次数等于预设阈值。
同样地,在确定更新后的最大传输单元长度之后,以更新后的最大传输单元长度为单位,将报文进行分片处理以得到至少一个第二报文分片。其中,第二报文分片的长度小于第一报文分片的长度。
在得到至少一个第二报文分片之后,分别对每个第二报文分片进行传输,以对报文进行传输。
当然,存在更新后的最大传输单元长度仍大于网络层所允许的最大传输单元长度的情况,也即基于更新后的最大传输单元长度传输报文仍然会传输失败,此时,再次更新最大传输单元长度,以基于更新后的最大传输单元长度传输报文,直至报文传输成功或报文的传输次数等于预设阈值。
其中,该预设阈值为该设备终端限制的重传门限,避免无限进行重传导致资源浪费的问题。
具体地,图4示出了一个具体地实施例,PDU1和PDU2分别为加密前的一个报文分片,其均包括20bytes的报头和1480bytes的SDU,也即PDU1和PDU2的长度均为1500bytes;经过IPsec后,得到new PDU1和new PDU2的报头长度为50bytes,也即new PDU1和new PDU2的长度均为1530bytes,此时,进行数据传输之后确定传输失败;之后,更新最大传输单元长度,例如从1500bytes更新为1480bytes,基于该更新的最大传输单元长度进行分片处理,也即重新划分new PDU1和new PDU2的数据,以得到长度为1480bytes的new PDU1、new PDU2、new PDU3等,并依次进行传输。当然,若以1480bytes为最大传输单元长度时仍传输失败,则可以机修更新最大传输单元长度,直至报文传输成功或报文的传输次数等于预设阈值。并且,在基于更新的最大传输单元长度划分得到的new PDU1、new PDU2、new PDU3可以基于更新前new PDU1和new PDU2的数据进行自适配调整,也即依次将更新前new PDU1和new PDU2的数据填充至更新后的new PDU1、new PDU2、new PDU3中,无需针对每个运营商逐个在代码进行写入和调整,维护方便。
本申请实施例提供的数据传输方法中,在基于最大传输单元长度传输报文并确定报文传输失败的情况下,更新最大传输单元长度,并基于更新后的最大传输单元长度传输报文,更新后的最大传输单元长度小于最大传输单元长度,进而避免了最大传输单元长度大于网络层所允许的最大传输单元长度引起的报文反复重传或分包重传导致的资源浪费、传输效率低等问题,提高了报文的传输效率。
进一步地,一旦传输次数等于预设阈值,则确定不再执行上述更新最大传输单元长度以及基于更新后的最大传输单元长度传输报文的步骤,具体执行图5示出的方法步骤,具体包括S501-S504。
S501,在报文传输失败且传输次数等于预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小。
S502,在更新后的最大传输单元长度等于预设最大传输单元长度的情况下,确定停止传输报文。
S503,在更新后的最大传输单元长度大于预设最大传输单元长度的情况下,将更新后的最大传输单元长度更新为预设最大传输单元长度,以基于预设最大传输单元长度传输报文。
S504,在基于预设最大传输单元长度传输报文传输失败的情况下,确定停止传输报文。
在具体实施中,每个设备终端均设置有一个预设最大传输单元长度,该预设最大传输单元长度为该设备终端所允许的最大传输单元长度的最小值。
这里,一旦确定针对同一报文的传输次数等于预设阈值,且仍传输失败的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小,在更新后的最大传输单元长度等于预设最大传输单元长度的情况下,也即确定该报文无法完成传输的情况下,确定停止传输报文;在更新后的最大传输单元长度大于预设最大传输单元长度的情况下,也即,该设备终端还未基于预设最大传输单元长度来传输报文,此时,将更新后的最大传输单元长度更新为预设最大传输单元长度,以基于预设最大传输单元长度传输报文。本申请实施例中的数据传输方法能够避免报文重复传输导致的资源浪费,还能够提高报文传输的时效性。
进一步地,若基于预设最大传输单元长度传输报文之后,仍确定该报文传输失败,此时确定该报文无法完成传输,确定停止传输报文。
基于同一发明构思,本申请的第二方面还提供了一种与数据传输方法对应的电子设备,由于本申请中的电子设备解决问题的原理与本申请上述数据传输方法相似,因此电子设备的实施可以参见方法的实施,重复之处不再赘述。
图6示出了本申请实施例提供的电子设备的示意图,具体包括:
获取模块601,其配置地获取最大传输单元长度;
第一传输模块602,其配置地基于所述最大传输单元长度传输报文;
更新模块603,其配置地在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
第二传输模块604,其配置地基于更新后的最大传输单元长度传输所述报文。
在又一实施例中,所述第一传输模块602具体配置为:
基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;
分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
在又一实施例中,所述第二传输模块604具体配置为:
基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;
分别对每个所述第二报文分片进行传输;
在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
在又一实施例中,所述电子设备还包括第一确定模块605,其配置地:
在所述报文传输失败且所述传输次数等于所述预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;
在所述更新后的最大传输单元长度等于所述预设最大传输单元长度的情况下,确定停止传输所述报文;
在所述更新后的最大传输单元长度大于所述预设最大传输单元长度的情况下,将所述更新后的最大传输单元长度更新为所述预设最大传输单元长度,以基于所述预设最大传输单元长度传输所述报文;
在基于所述预设最大传输单元长度传输所述报文传输失败的情况下,确定停止传输所述报文。
在又一实施例中,所述电子设备还包括第二确定模块606,其配置地:
确定是否接收到接收端基于所述报文返回的确收信息;
若未接收到所述确收信息,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度。
本申请实施例中,在基于最大传输单元长度传输报文并确定报文传输失败的情况下,更新最大传输单元长度,并基于更新后的最大传输单元长度传输报文,避免最大传输单元长度大于网络层所允许的最大传输单元长度引起的报文反复重传或分包重传,提高了报文的传输效率。
本申请实施例提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本申请任意实施例提供的方法,包括如下步骤S11至S14:
S11,获取最大传输单元长度;
S12,基于所述最大传输单元长度传输报文;
S13,在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
S14,基于更新后的最大传输单元长度传输所述报文。
计算机程序被处理器执行基于所述最大传输单元长度传输报文时,具体被处理器执行如下步骤:基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
计算机程序被处理器执行基于更新后的最大传输单元长度传输所述报文时,具体被处理器执行如下步骤:基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;分别对每个所述第二报文分片进行传输;在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
计算机程序被处理器执行数据传输方法时,还被处理器执行如下步骤:在所述报文传输失败且所述传输次数等于所述预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;在所述更新后的最大传输单元长度等于所述预设最大传输单元长度的情况下,确定停止传输所述报文;在所述更新后的最大传输单元长度大于所述预设最大传输单元长度的情况下,将所述更新后的最大传输单元长度更新为所述预设最大传输单元长度,以基于所述预设最大传输单元长度传输所述报文;在基于所述预设最大传输单元长度传输所述报文传输失败的情况下,确定停止传输所述报文。
计算机程序被处理器执行确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度时,具体被处理器执行如下步骤:确定是否接收到接收端基于所述报文返回的确收信息;若未接收到所述确收信息,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度。
本申请实施例中,在基于最大传输单元长度传输报文并确定报文传输失败的情况下,更新最大传输单元长度,并基于更新后的最大传输单元长度传输报文,避免最大传输单元长度大于网络层所允许的最大传输单元长度引起的报文反复重传或分包重传,提高了报文的传输效率。
本申请实施例提供了一种电子设备,该电子设备的结构示意图可以如图7所示,至少包括存储器701和处理器702,存储器701上存储有计算机程序,处理器702在执行存储器701上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序步骤如下S21至S24:
S21,获取最大传输单元长度;
S22,基于所述最大传输单元长度传输报文;
S23,在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
S24,基于更新后的最大传输单元长度传输所述报文。
处理器在执行存储器上存储的基于所述最大传输单元长度传输报文时,还执行如下计算机程序:基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
处理器在执行存储器上存储的基于更新后的最大传输单元长度传输所述报文时,还执行如下计算机程序:基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;分别对每个所述第二报文分片进行传输;在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
处理器在执行存储器上存储的数据传输方法时,还执行如下计算机程序:在所述报文传输失败且所述传输次数等于所述预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;在所述更新后的最大传输单元长度等于所述预设最大传输单元长度的情况下,确定停止传输所述报文;在所述更新后的最大传输单元长度大于所述预设最大传输单元长度的情况下,将所述更新后的最大传输单元长度更新为所述预设最大传输单元长度,以基于所述预设最大传输单元长度传输所述报文;在基于所述预设最大传输单元长度传输所述报文传输失败的情况下,确定停止传输所述报文。
处理器在执行存储器上存储的确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度时,还执行如下计算机程序:确定是否接收到接收端基于所述报文返回的确收信息;若未接收到所述确收信息,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度。
本申请实施例中,在基于最大传输单元长度传输报文并确定报文传输失败的情况下,更新最大传输单元长度,并基于更新后的最大传输单元长度传输报文,避免最大传输单元长度大于网络层所允许的最大传输单元长度引起的报文反复重传或分包重传,提高了报文的传输效率。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本申请的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本申请。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本申请的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本申请的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上对本申请多个实施例进行了详细说明,但本申请不限于这些具体的实施例,本领域技术人员在本申请构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本申请所要求保护的范围之内。
Claims (8)
1.一种数据传输方法,应用于设备终端,其中,所述方法包括:
获取最大传输单元长度;
基于所述最大传输单元长度传输报文;
在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
基于更新后的最大传输单元长度传输所述报文;
在所述报文传输失败且所述传输次数等于预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;
在所述更新后的最大传输单元长度大于所述预设最大传输单元长度的情况下,将所述更新后的最大传输单元长度更新为所述预设最大传输单元长度,以基于所述预设最大传输单元长度传输所述报文;
在基于所述预设最大传输单元长度传输所述报文传输失败的情况下,确定停止传输所述报文。
2.根据权利要求1所述的数据传输方法,所述基于所述最大传输单元长度传输报文,包括:
基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;
分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
3.根据权利要求1所述的数据传输方法,所述基于更新后的最大传输单元长度传输所述报文,包括:
基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;
分别对每个所述第二报文分片进行传输;
在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
4.根据权利要求3所述的数据传输方法,还包括:
在所述报文传输失败且所述传输次数等于所述预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;
在所述更新后的最大传输单元长度等于所述预设最大传输单元长度的情况下,确定停止传输所述报文。
5.根据权利要求1所述的数据传输方法,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度,包括,
确定是否接收到接收端基于所述报文返回的确收信息;
若未接收到所述确收信息,确定所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度。
6.一种电子设备,包括:
获取模块,其配置地获取最大传输单元长度;
第一传输模块,其配置地基于所述最大传输单元长度传输报文;
更新模块,其配置地在确定所述报文传输失败的情况下,更新所述最大传输单元长度;其中,所述传输失败的原因为所述最大传输单元长度大于网络层所允许的最大传输单元长度;
第二传输模块,其配置地基于更新后的最大传输单元长度传输所述报文;
第一确定模块,其配置地在所述报文传输失败且所述传输次数等于预设阈值的情况下,判断更新后的最大传输单元长度与预设最大传输单元长度之间的大小;
在所述更新后的最大传输单元长度大于所述预设最大传输单元长度的情况下,将所述更新后的最大传输单元长度更新为所述预设最大传输单元长度,以基于所述预设最大传输单元长度传输所述报文;
在基于所述预设最大传输单元长度传输所述报文传输失败的情况下,确定停止传输所述报文。
7.根据权利要求6所述的电子设备,所述第一传输模块具体配置为:
基于所述最大传输单元长度,对所述报文进行分片处理,得到至少一个第一报文分片;其中,所述第一报文分片的长度小于或等于所述最大传输单元长度;
分别对每个所述第一报文分片进行传输,以对所述报文进行传输。
8.根据权利要求6所述的电子设备,所述第二传输模块具体配置为:
基于所述更新后的最大传输单元长度,对所述报文进行分片处理,得到至少一个第二报文分片;
分别对每个所述第二报文分片进行传输;
在确定基于所述更新后的最大传输单元长度传输所述报文传输失败的情况下,再次更新所述最大传输单元长度,以基于更新后的最大传输单元长度传输所述报文,直至所述报文传输成功或所述报文的传输次数等于预设阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110335391.2A CN113078986B (zh) | 2021-03-29 | 2021-03-29 | 一种数据传输方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110335391.2A CN113078986B (zh) | 2021-03-29 | 2021-03-29 | 一种数据传输方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113078986A CN113078986A (zh) | 2021-07-06 |
CN113078986B true CN113078986B (zh) | 2023-01-17 |
Family
ID=76611520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110335391.2A Active CN113078986B (zh) | 2021-03-29 | 2021-03-29 | 一种数据传输方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113078986B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
CN101488912B (zh) * | 2008-12-19 | 2011-06-15 | 华为技术有限公司 | 一种ip分片方法和装置 |
CN101616078B (zh) * | 2009-07-16 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种路径最大传输单元的发现方法、路由器及节点设备 |
CN103326947B (zh) * | 2013-02-22 | 2017-06-30 | 新华三技术有限公司 | Pmtu的学习方法、数据报文的发送方法及网络设备 |
US9271164B2 (en) * | 2013-08-05 | 2016-02-23 | Acer Incorporated | Method of increasing data throughput of a wireless network system by dynamically adjusting MTU/fragmentation size according to current transmission status |
CN104601469B (zh) * | 2015-01-12 | 2018-01-12 | 新华三技术有限公司 | 组播报文转发方法和设备 |
-
2021
- 2021-03-29 CN CN202110335391.2A patent/CN113078986B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113078986A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11310681B2 (en) | Transmitting and receiving a PDCP layer status report in a mobile telecommunications system | |
US11159981B2 (en) | Congestion processing method and apparatus | |
US8589586B2 (en) | Method and apparatus for managing transmission of TCP data segments | |
CN112153696B (zh) | Rlc sdu分段处理方法、装置及终端 | |
US11258721B2 (en) | Radio link control (RLC) acknowledged mode (AM) data reception | |
CN107801211A (zh) | 一种报文的非按序递交方法及rlc实体、基站 | |
CN113473532B (zh) | 一种无线链路控制状态报告优化传输方法及系统 | |
CN116599953B (zh) | 一种文件上传的方法、装置、系统、设备及可读存储介质 | |
CN113078986B (zh) | 一种数据传输方法及电子设备 | |
JP7502691B2 (ja) | 無線通信装置、無線通信方法、及び無線通信システム | |
CN108012289B (zh) | Pdu的发送方法及装置,和pdu的接收方法及装置 | |
JP4447028B2 (ja) | 通信制御方法、送信装置、およびコンピュータプログラム | |
EP2023522A2 (en) | Method and device for counting transmission times of data unit, transmission device and computer program | |
JP2010045528A (ja) | 通信端末装置及びパケットデータ受信方法 | |
CN118214577A (zh) | 一种机载数据加载安全与效率改进方法、设备及介质 | |
CN118540272A (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 | ||
GR01 | Patent grant |