CN111385069A - 数据传输方法及计算机设备 - Google Patents
数据传输方法及计算机设备 Download PDFInfo
- Publication number
- CN111385069A CN111385069A CN201811614515.5A CN201811614515A CN111385069A CN 111385069 A CN111385069 A CN 111385069A CN 201811614515 A CN201811614515 A CN 201811614515A CN 111385069 A CN111385069 A CN 111385069A
- Authority
- CN
- China
- Prior art keywords
- data packet
- sequence number
- sending
- sending sequence
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000005540 biological transmission Effects 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 63
- 238000012790 confirmation Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer 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/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1841—Resequencing
-
- 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/1607—Details of the supervisory signal
-
- 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/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- 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/1874—Buffer management
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本申请涉及数据处理领域,尤其涉及一种数据传输方法及计算机设备。所述数据传输方法,包括:接收并解析发送端发送的数据包,获得所述数据包的发送序号,其中,所述数据包设置有特定的发送序号;若当次接收到的数据包的发送序号与当前已提交数据包的发送序号不连续,将当次接收到的数据包缓存在本地,继续接收发送端发送的数据包;若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。本申请提供的方案通过在接收端设置缓存,且为每个数据包设置一个特定的发送序号,保证外部接收端口接收到有序的数据包,提高了整个系统的可靠性。
Description
技术领域
本申请涉及数据处理领域,具体而言,本申请涉及一种数据传输方法及计算机设备。
背景技术
互联网环境下,不同服务商之间的网络连通性差异大,容易出现网络抖动现象,如果直接通过TCP、UDP等方式发送数据,数据的可靠性和实时性都难以满足服务要求。
现有技术中,采用在全球范围内的各区域优质机房,各个专线节点上建立路由中转点,对于需要投递的数据包,先封装成自由格式,然后通过自建的路由中专网络,投递到目的节点,该路由系统工作在应用层,将有限的路由中转流量资源提供给私有服务使用,对于应用层的路由数据包,提供一个和网络层类似的路由投递服务,这种方式等同于在应用层上搭建一个私有的网络层,应用层在进程升级重启时,或路由算法成环时,会造成丢包,路由系统发送的数据包,都是独立发送,且可能经历不同的路由路径达到目的地,因此可能出现先发的数据包后到的现象,造成收到的数据包杂乱无章。
发明内容
本申请提供了一种数据传输方法及计算机设备,以解决接收到的数据包无序的问题。
本申请实施例首先提供了一种数据传输方法,包括:
接收并解析发送端发送的数据包,获得所述数据包的发送序号,其中,所述数据包设置有特定的发送序号;
若当次接收到的数据包的发送序号与当前已提交数据包的发送序号不连续,将当次接收到的数据包缓存在本地,继续接收发送端发送的数据包;
若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
优选地,所述获得所述数据包的发送序号的步骤之后,还包括:
生成携带与所述发送序号对应序号的接收确认通知,将所述接收确认通知回复至发送端。
优选地,接收并解析发送端发送的数据包的步骤之后,还包括:
接收发送端重发的数据包;其中,所述发送端在预设时间内未接收到所述接收确认通知时,读取缓存的数据包并进行重发。
优选地,所述接收发送端重发的数据包之后,还包括:
解析所述重发的数据包获得该数据包的发送序号,若当前发送序号对应的数据包已提交给外部处理端口或存储于缓存中,则将该重发的数据包丢弃。
优选地,所述若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续的步骤之前,还包括:
判断当次接收到的数据包的发送序号与当前已提交数据包的发送序号是否连续。
优选地,所述当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口的步骤,包括:
检测到当次接收到的发送序号与当前已提交数据包的发送序号连续,判断当次接收到的发送序号与缓存中的数据包的发送序号是否连续,若连续,将缓存中的所有数据包按照发送序号的顺序提交处理;若不连续,将与已提交数据包的发送序号连续的数据包提交处理。
进一步地,本申请实施例还提供了一种数据传输方法,包括:
发送端为待发送的数据包设置特定的发送序号,按照所述发送序号依次将所述数据包发送至接收端;
接收端接收所述数据包,解析数据包获得当次接收到的数据包的发送序号;
接收端判断当次接收到的发送序号是否与当前已提交数据包的发送序号连续,若否,将当次接收到的数据包缓存在接收端,继续接收发送端发送的数据包,循环判断过程;若是,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
优选地,所述按照所述发送序号依次将所述数据包发送至接收端的步骤之后,还包括:
将当前发送的数据包缓存在发送端。
优选地,所述按照所述发送序号依次将所述数据包发送至接收端的步骤之后,还包括:
发送端在预设时间内未接收到接收确认通知时,读取发送端缓存的数据包并重发至接收端;
接收端接收所述重发的数据包,若重发的数据包与当前已提交的数据包的发送序列连续,按照所述发送序号顺序将所述重发的数据包提交给外部处理端口。
进一步地,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种方案所述的数据传输方法的步骤。
更进一步地,本申请实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一技术方案所述的数据传输方法的步骤。
与现有技术相比,本申请提供的方案至少具备如下优点:
本申请实施例提供的数据传输方法,根据当前接收到的数据包的发送序号与当前已提交数据包的发送序号之间的连续关系确定是否将当次接收到的数据包提交给外部处理端口处理,若不连续,将当次接收到的数据包缓存在本地端,继续接收发送端发送的数据包,直至接收到的数据包的发送序号与已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。该种数据传输方式,能够降低发送端重新发包的概率,使得外部处理端口接收到的数据包的发送序列是连续的,解决了外接处理端口接收到的数据包杂乱无章的问题。
本申请实施例提供的数据传输方法,通过在接收端设置缓存机制,且为每个数据包设置一个特定的发送序号,保证外部接收端口接收到有序的数据包,提高整个系统的可靠性。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个实施例提供的数据传输方法的实施环境图;
图2为本申请一个实施例提供的数据传输方法的流程示意图,该方法适于接收端执行;
图3为本申请一个实施例提供的数据传输方法的过程示意图;
图4为本申请另一个实施例提供的数据传输方法的流程示意图,该方法适于系统执行;
图5为本申请另一种实施例提供的数据传输方法的过程示意图;
图6为本申请一种实施例提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组合。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一直播视频图像称为第二直播视频图像,且类似地,可将第二直播视频图像称为第一直播视频图像。第一直播视频图像和第二直播视频图像两者都是直播视频图像,但其不是同一个直播视频图像。
本领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图1所示,图1为一个实施例中提供的数据传输方法的实施环境图,在该实施环境中,包括计算机设备110以及终端120。
需要说明的是,终端120以及计算机设备110可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。计算机设备110以及终端110可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,计算机设备可以为服务器,本申请在此不做限制。
在一个实施例中,如图2所示,图2为数据传输方法的流程示意图,本实施例中提出了一种数据传输方法,该方法可以应用于上述的计算机设备110或终端120中,具体可以包括以下步骤:
S210,接收并解析发送端发送的数据包,获得所述数据包的发送序号,其中,所述数据包设置有特定的发送序号;
S220,若当次接收到的数据包的发送序号与当前已提交数据包的发送序号不连续,将当次接收到的数据包缓存在本地,继续接收发送端发送的数据包;
S230,若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
本申请实施例在接收端执行,接收端接收到数据包,根据当次接收到的数据包的发送序号与当前已提交数据包的发送序号之间的连续关系确定是否将当次接收到的数据包提交给外部处理端口处理,若不连续,将当次接收到的数据包缓存在本地端,即接收端,继续接收发送端发送的数据包,直至接收到的数据包的发送序号与已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。该种数据传输方式,能够降低发送端重新发包的概率,使得外部处理端口接收到的数据包的发送序列是连续按照发送序号排列的,通过在接收端缓存及设置发送序号保证外部处理端口接收到有序可靠的数据包,解决了外接处理端口接收到的数据包杂乱无章的问题。
为了详细说明本申请提供的技术方案及技术效果,接下来将以多种实施例展开阐述本申请提供的技术方案。
S210,接收并解析发送端发送的数据包,获得所述数据包的发送序号,其中,所述数据包设置有特定的发送序号;
接收端可以是图1中的计算机设备110,接收端接收到发送端发送的数据包,每个数据包上均携带有特定的发送序号,数据包上的发送序号按照特定顺序排列,可以按照数字的递增顺序或数字的递减顺序,该数字可以是十进制、二进制或十六进制等,发送序号可以从1开始进行编号,数据包的发送序号代表真实的发包数量,可以利用发送序号获得数据包的发送数量,使得发送序号变成统计指标。一个发送序号对应一个数据包,而非对应一个字节流,如:每个数据包有100字节,数据包1的发送序号是1,数据包2的发送序号是2,而不是100,接收端没有切包的问题,在TCP(Transmission Control Protocol,传输控制协议)中,业务层的反序列化错误,多读或者少读1个字节,会造成后续数据包格式完全错乱,造成行为不可定义。而在本申请实施例提供的方案中,每个包都是独立的,没有流式数据切包错误的问题,优选地,将本申请提供的方案应用于路由系统中。
本方案通过解析当前接收到的数据包,获得其携带的发送序号,以便将该发送序号作为评判是否将其提交给外部处理端口的基础。
一种实施例中,获得当次接收到的数据包的发送序号的步骤之后,还包括:生成携带与所述发送序号对应序号的接收确认通知,将所述接收确认通知回复至发送端。
为每个数据包发送独立的确认字符,由于确认字符及发送序号的设定对象是整个数据包,使得发送成本大大降低,接收端接收到数据包之后,将包含有发送序号相关信息的接收确认通知回复至发送端,发送端接收到该接收确认通知,表明该发送序号对应的数据包发送成功,发送端未接收到该接收确认通知,则表明该发送序号对应的数据包发送失败。
一种实施例中,为了提高系统的运行效率,若发送端在预设时段内并未接收到数据包对应的接收确认通知,从本地缓存中调取该发送序号对应的数据包,重新发送该数据包。
该种情况包括如下两种情形:其一,接收端未接收到数据包,因此并未发送与该数据包对应的接收确认通知,导致发送端未能在预设时段接收到该数据包对应的接收确认通知。其二,接收端接收到数据包,发送出与该数据包对应的接收确认通知,但该接收确认通知并未在预设时段内到达发送端。
本实施例所述的预设时段可以是从发送端发出数据包开始计时,也可以是从接收端发出接收确认通知开始计时,针对上述第一种情况,发送端并未发送接收确认通知,因此,预设时段从发送端发出数据包开始计时,针对上述第二种情况,优选从接收端发出接收确认通知开始计时。
一种实施例中,步骤S210中接收并解析发送端发送的数据包的步骤之后,还包括:
接收发送端重发的数据包;其中,所述发送端在预设时间内未接收到所述接收确认通知时,读取缓存的数据包并进行重发。
发送端读取缓存的数据包并进行重新发送,接收端接收发送端重新发送的数据包。
一种实施例中,接收端接收到发送端重发的数据包,解析所述重发的数据包获得该数据包的发送序号,判断当前发送序号对应的数据包是否已提交给外部处理端口或存储于缓存中,若是,则将该重发的数据包丢弃;若否,则进行步骤S220。
考虑到发送端进行重发数据包的前提是发送端在预设时间内未接收到所述接收确认通知,如前所述发送端在预设时间内未接收到接收确认通知包括:接收端已发送接收确认通知,但由于延迟导致该接收确认通知未能于预设时间内反馈至发送端,可能会超时反馈至发送端,该种情况下,该接收确认通知对应的数据包已通过步骤S220缓存至接收端或通过步骤S230提交至外部处理端口,因此,接收到发送端重发的数据包之后,判断当前发送序号对应的数据包是否已提交给外部处理端口或存储于缓存中,则将该重发的数据包丢弃。
本实施例为重发机制设定预设时间段,以便发送端及时发现未能准时发送的数据包,有利于外部处理端口尽快接收到连续的数据包,若无重发机制,在数据包丢失时,外部处理端口未接收到丢失的数据包,则发送序列在该数据包之后的数据包一直存储于接收端的缓存中,对接收端的缓存提出较大挑战,且外部处理端口一直无法提取到有效数据,会导致系统无法顺利进行,本实施例提供重发机制能够保障外部处理端口及时提取到有效数据,提高系统的运行效率。
S220,若当次接收到的数据包与当前已提交数据包的发送序号不连续,将当次接收到的数据包缓存在本地,继续接收发送端发送的数据包。
步骤S220之前,还包括:判断当次接收到的数据包的发送序号与当前已提交数据包的发送序号是否连续,若连续,则进行步骤S220,若不连续,则进行步骤S230,其中,当前已提交数据包为当前已提交给外部处理端口的最新数据包,举例阐述上述方案:若接收端当次接收到的数据包的发送序号为6,假设发送端按照递增的发送序号发送数据包,当前已提交给外部处理端口的最新数据包的发送序号为3,则将当次接收到的数据包缓存在本地端,继续接收发送端发送的数据包,若接收到的下一个数据包的发送序列为5,则判断当次接收到的数据包与当前已提交数据包的发送序号是否连续,当次接收到的数据包的发送序列为5,与当前已提交的数据包的发送序列3并不连续,将当前接收到的发送序号为5的数据包缓存在本地端,继续接收发送端发送的数据包,若接收到的下一个数据包的发送序列为4,则判断当次接收到的数据包与当前已提交数据包的发送序列是否连续,当次接收到的发送序列为5,与当前已提交的数据包的发送序列3是连续的,则进行步骤S230,即将缓存中的数据包按照发送序号的顺序提交给外部处理端口。
S230,若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
一种实施例中,按照发送序号顺序将缓存的数据包提交给外部处理端口的执行过程包括如下两种情形:其一,检测到当次接收到的数据包与当前已提交数据包的发送序号是连续的,将当次接收到的数据包提交给外部处理端口,再检测缓存中保存的数据包的发送序号是否与更新后的已提交数据包的发送序号连续,若是,调取与已提交数据包的发送序号连续的数据包,并将该数据包提交至外部处理端口,若否,接收发送端发送的数据包。按照该种方式逐个对比缓存中的数据包与已提交数据包的发送序号,逐个提交给外部处理端口。结合上一示例,本方案是先将发送序号为4的数据包提交至外部处理端口,再依次将发送序号为5、6的数据包提交至外部处理端口进行处理。本申请实施例提供的方案有利于及时处理后到的数据包,有利于分散处理,降低外部处理端口拥堵的概率。
其二,检测到当次接收到的数据包与当前已提交数据包的发送序号是连续的,获得缓存中与已提交数据包及待提交数据包的发送序号连续的数据包,将数据包按照发送序号的顺序排序,将排序后数据包提交至外部处理端口。结合上一示例,本方案是将发送序号为4、5、6的数据包按照发送序号进行排序,将排序后的数据包一起提交至外部处理端口进行处理。本申请实施例提供的方案,减少了判断步骤,降低了系统冗余度,降低系统资源消耗。
一种实施例中,所述数据传输方法的过程示意图如图3所示,接收并解析发送端发送的数据包,获得所述数据包的发送序号,其中,所述数据包设置有特定的发送序号;判断当次接收到的数据包的发送序号是否与当前已提交数据包的发送序号连续,若否,将当次接收到的数据包缓存在本地,继续接收发送端发送的数据包,重复判断过程,直至当次接收到的数据包与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
进一步地,本申请实施例还提供了一种数据传输方法,其流程示意图如图4所示,包括如下子步骤:
S410,发送端为待发送的数据包设置特定的发送序号,按照所述发送序号依次将所述数据包发送至接收端;
S420,接收端接收所述数据包,解析数据包获得当次接收到的数据包的发送序号;
S430,接收端判断当次接收到的数据包的发送序号是否与当前已提交数据包的发送序号连续,若否,将当次接收到的数据包缓存在接收端,继续接收发送端发送的数据包,循环判断过程;若是,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
本申请实施例提供的方法优选在系统上执行,本方法通过在接收端设置缓存,且为每个数据包设置一个特定的发送序号,保证外部接收端口接收到有序的数据包,提高了整个系统的可靠性。
一种实施例中,按照所述发送序号依次将所述数据包发送至接收端的步骤之后,还包括:将当前发送的数据包缓存在发送端。该实施例提供的方案有利于进行数据包重发时,迅速将需要重发的数据包调取出来进行重发。
一种实施例中,数据传输方法中,在按照发送序号依次将所述数据包发送至接收端之后,还可以进行如下操作:(1)发送端在预设时间内未接收到所述接收确认通知时,读取发送端缓存的数据包并重发至接收端;(2)接收端接收所述重发的数据包,若重发的数据包与当前已提交的数据包的发送序列连续,按照所述发送序号顺序将所述重发的数据包提交给外部处理端口外部处理端口。
发送端进行重发的方式优选与上述实施例相同,接收端在接收到重发的数据包后,判断重发的数据包是否与当前已提交的数据包的发送序号连续,若连续,则按照发送序号的顺序将该重发的数据包提交给外部处理端口。若当前发送序号对应的数据包已提交给外部处理端口或存储于缓存中,则将该重发的数据包丢弃。
本方案的实施过程如图5所示,发送端发送数据包1,接收端接收到数据包1,发送包含与当前数据包的发送序列对应信息的接收确认字符返回给发送端,并将数据包提交给外部处理端口,若发送端未在预设时间内接收到接收端发送的确认字符,发送端从本地端缓存中调取当前发送序列对应的数据包并重新发送;若后发的数据包3早于先发的数据包2到达,则接收端会把后发的数据包3缓存在本地,接收到数据包2之后,按照发送顺序将数据包提交给外部处理端口进行处理。
上述发送端未在预设时间内接收到接收端发送的确认字符包括两种情形:数据包在传送至接收端的过程中丢失,接收端并未接收到数据包,因此并未回复对应的确认字符,或者该数据包对应的确认字符在传送至发送端的过程中丢失。
进一步地,本申请实施例还提供了一种数据传输方法,该方法可以在发送端实施,包括:为待发送的数据包设置特定的发送序号,按照所述发送序号依次将所述数据包发送至接收端;接收所述接收端回复的接收确认通知;其中,所述接收端接收并缓存数据包,解析数据包的发送序号并生成携带与所述发送序号相应序号的接收确认通知;当在超时时间内未接收到接收端回复的所述接收确认通知,读取缓存的数据包重发至接收端;其中,接收端在接收到所述数据包后,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
本申请实施例中的发送端可以为图1中的终端,在发送端为各待发送的数据包设置发送序号,有利于接收端接收到这些数据包之后,按照该特定的发送序号按序提交给外部处理端口。接收端具备缓存能力和缓存空间使得接收端能在接收到与前一数据包的发送序号不连续的数据包之后,将该不连续的数据包缓存至接收端,待获得与前一数据包的发送序号连续后,再将缓存中的多个数据包按照发送序号提交给外部处理端口。
更进一步地,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
更进一步地,本申请实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的。
图6是根据一示例性实施例示出的一种用于计算机设备600的框图。例如,计算机设备600可以被提供为一服务器。参照图6,计算机设备600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述的步骤。
计算机设备600还可以包括一个电源组件626被配置为执行计算机设备600的电源管理,一个有线或无线网络接口650被配置为将计算机设备600连接到网络,和一个输入输出(I/O)接口658。计算机设备600可以操作基于存储在存储器632的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种数据传输方法,其特征在于,包括:
接收并解析发送端发送的数据包,获得所述数据包的发送序号,其中,所述数据包设置有特定的发送序号;
若当次接收到的数据包的发送序号与当前已提交数据包的发送序号不连续,将当次接收到的数据包缓存在本地,继续接收发送端发送的数据包;
若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
2.根据权利要求1所述的数据传输方法,其特征在于,所述获得所述数据包的发送序号的步骤之后,还包括:
生成携带与所述发送序号对应序号的接收确认通知,将所述接收确认通知回复至发送端。
3.根据权利要求2所述的数据传输方法,其特征在于,所述接收并解析发送端发送的数据包的步骤之后,还包括:
接收发送端重发的数据包;其中,所述发送端在预设时间内未接收到所述接收确认通知时,读取缓存的数据包并进行重发。
4.根据权利要求3所述的数据传输方法,其特征在于,所述接收发送端重发的数据包之后,还包括:
解析所述重发的数据包获得该数据包的发送序号,若当前发送序号对应的数据包已提交给外部处理端口或存储于缓存中,则将该重发的数据包丢弃。
5.根据权利要求1所述的数据传输方法,其特征在于,所述若当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续的步骤之前,还包括:
判断当次接收到的数据包的发送序号与当前已提交数据包的发送序号是否连续。
6.根据权利要求1所述的数据传输方法,其特征在于,所述当次接收到的数据包的发送序号与当前已提交数据包的发送序号连续,按照所述发送序号顺序将缓存的数据包提交给外部处理端口的步骤,包括:
检测到当次接收到的发送序号与当前已提交数据包的发送序号连续,判断当次接收到的发送序号与缓存中的数据包的发送序号是否连续,若连续,将缓存中的所有数据包按照发送序号的顺序提交处理;若不连续,将与已提交数据包的发送序号连续的数据包提交处理。
7.一种数据传输方法,其特征在于,包括:
发送端为待发送的数据包设置特定的发送序号,按照所述发送序号依次将所述数据包发送至接收端;
接收端接收所述数据包,解析数据包获得当次接收到的数据包的发送序号;
接收端判断当次接收到的发送序号是否与当前已提交数据包的发送序号连续,若否,将当次接收到的数据包缓存在接收端,继续接收发送端发送的数据包,循环判断过程;若是,按照所述发送序号顺序将缓存的数据包提交给外部处理端口。
8.根据权利要求7所述的数据传输方法,其特征在于,所述按照所述发送序号依次将所述数据包发送至接收端的步骤之后,还包括:
将当前发送的数据包缓存在发送端。
9.根据权利要求7所述的数据传输方法,其特征在于,所述按照所述发送序号依次将所述数据包发送至接收端的步骤之后,还包括:
发送端在预设时间内未接收到接收确认通知时,读取发送端缓存的数据包并重发至接收端;
接收端接收重发的数据包,若重发的数据包与当前已提交的数据包的发送序列连续,按照所述发送序号顺序将所述重发的数据包提交给外部处理端口。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至9中任一项所述的数据传输方法的步骤。
11.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至9中任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614515.5A CN111385069A (zh) | 2018-12-27 | 2018-12-27 | 数据传输方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614515.5A CN111385069A (zh) | 2018-12-27 | 2018-12-27 | 数据传输方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111385069A true CN111385069A (zh) | 2020-07-07 |
Family
ID=71218013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614515.5A Pending CN111385069A (zh) | 2018-12-27 | 2018-12-27 | 数据传输方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385069A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392667A (zh) * | 2021-08-17 | 2021-09-14 | 深圳市成为信息技术有限公司 | 一种读写器的数据传输方法、数据接收器及存储介质 |
CN115102672A (zh) * | 2022-06-15 | 2022-09-23 | 珠海格力电器股份有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050063303A1 (en) * | 2003-07-29 | 2005-03-24 | Samuels Allen R. | TCP selective acknowledgements for communicating delivered and missed data packets |
CN102714577A (zh) * | 2011-06-07 | 2012-10-03 | 华为技术有限公司 | 数据接收处理方法及装置 |
CN102823207A (zh) * | 2012-05-18 | 2012-12-12 | 华为技术有限公司 | 一种数据包的转发方法和设备 |
CN105933319A (zh) * | 2016-05-30 | 2016-09-07 | 贵阳朗玛信息技术股份有限公司 | 视频数据包的发送、接收方法及装置 |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
CN108234087A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 数据传输方法及发送端 |
CN108243211A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN108377427A (zh) * | 2018-01-29 | 2018-08-07 | 明博教育科技股份有限公司 | 一种实时视频传输方法和系统 |
-
2018
- 2018-12-27 CN CN201811614515.5A patent/CN111385069A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050063303A1 (en) * | 2003-07-29 | 2005-03-24 | Samuels Allen R. | TCP selective acknowledgements for communicating delivered and missed data packets |
CN102714577A (zh) * | 2011-06-07 | 2012-10-03 | 华为技术有限公司 | 数据接收处理方法及装置 |
CN102823207A (zh) * | 2012-05-18 | 2012-12-12 | 华为技术有限公司 | 一种数据包的转发方法和设备 |
CN105933319A (zh) * | 2016-05-30 | 2016-09-07 | 贵阳朗玛信息技术股份有限公司 | 视频数据包的发送、接收方法及装置 |
CN108234087A (zh) * | 2016-12-22 | 2018-06-29 | 华为技术有限公司 | 数据传输方法及发送端 |
CN108243211A (zh) * | 2016-12-24 | 2018-07-03 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
CN108377427A (zh) * | 2018-01-29 | 2018-08-07 | 明博教育科技股份有限公司 | 一种实时视频传输方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392667A (zh) * | 2021-08-17 | 2021-09-14 | 深圳市成为信息技术有限公司 | 一种读写器的数据传输方法、数据接收器及存储介质 |
CN115102672A (zh) * | 2022-06-15 | 2022-09-23 | 珠海格力电器股份有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
CN115102672B (zh) * | 2022-06-15 | 2024-04-05 | 珠海格力电器股份有限公司 | 数据处理方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3716546B1 (en) | Data transmission method and first device | |
US20220014312A1 (en) | Data transmission method and apparatus | |
US8953631B2 (en) | Interruption, at least in part, of frame transmission | |
US9866351B2 (en) | Communication method and communication apparatus | |
CN110391879B (zh) | 数据传输网络的丢包恢复方法、装置和计算机设备 | |
CN110505123B (zh) | 丢包率的计算方法、服务器及计算机可读存储介质 | |
US20220217093A1 (en) | Sequence Number Synchronization Method and Apparatus | |
CN113852445A (zh) | 一种提高数据传输可靠性的方法、系统、设备和存储介质 | |
CN111385069A (zh) | 数据传输方法及计算机设备 | |
WO2016015441A1 (zh) | 一种业务数据管理的方法、装置及系统 | |
CN111404842A (zh) | 数据传输方法、装置及计算机存储介质 | |
EP3672189B1 (en) | Data transmission method, device and system | |
WO2020163124A1 (en) | In-packet network coding | |
CN113259490A (zh) | 基于udp传输协议的多级节点网络数据传输方法 | |
Phung et al. | Enhancing rest http with random linear network coding in dynamic edge computing environments | |
CN110169023A (zh) | 一种数据传输方法、数据接收设备及数据发送设备 | |
CN104426866B (zh) | 一种数据传输方法及装置 | |
US20240333437A1 (en) | Direct Access To Storage Device Via Switch Data Plane | |
CN114499777B (zh) | 一种集群无人系统数据传输方法 | |
CN109688085B (zh) | 传输控制协议代理方法、存储介质及服务器 | |
US20080091841A1 (en) | Communication method, communication system, communication apparatus, and recording medium | |
WO2023279802A1 (zh) | 协议数据传输方法、装置、网络节点及存储介质 | |
WO2024027367A1 (zh) | 编码、解码方法及其装置 | |
CN118540272A (zh) | 拥塞控制方法、装置、设备、介质及程序产品 | |
JP2006229973A (ja) | ビットマップマネージャ、ビットマップメモリ割り当て方法、ネットワーク構成要素間の確認を発生する方法、およびこれを実行するネットワーク構成要素 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200707 |
|
RJ01 | Rejection of invention patent application after publication |