CN108965308A - 传输数据的方法、装置和*** - Google Patents
传输数据的方法、装置和*** Download PDFInfo
- Publication number
- CN108965308A CN108965308A CN201810836905.0A CN201810836905A CN108965308A CN 108965308 A CN108965308 A CN 108965308A CN 201810836905 A CN201810836905 A CN 201810836905A CN 108965308 A CN108965308 A CN 108965308A
- Authority
- CN
- China
- Prior art keywords
- sending ending
- ending equipment
- receiving device
- data packet
- instruction information
- 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
Classifications
-
- 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/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/003—Arrangements for allocating sub-channels of the transmission path
- H04L5/0053—Allocation of signaling, i.e. of overhead other than pilot signals
- H04L5/0055—Physical resource allocation for ACK/NACK
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种传输数据的方法、装置和***。其中,该方法包括:发送端设备发送至少一个数据包至接收端设备;发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;发送端设备接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。本发明解决了现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种传输数据的方法、装置和***。
背景技术
众所周知,在网络传输协议中有TCP协议和UDP协议,对于视频数据的实时传输,一般采用UDP协议或基于UDP协议加入部分控制逻辑。这是由于传送数据量大且视频数据在较多情况下是允许丢包的。UDP协议本身,是不保证数据的可靠传输的。
目前对于UDP协议加入数据可靠性逻辑控制的方案,较多参考了TCP协议的可靠传输及UDT协议的可靠传输等。但是,在视频画面实时传输场景下仍存在如下问题:首先,现有技术中的保证UDP协议可靠性的算法,但同时对于数据类型区分、对于可靠性级别进行区分并适用于批量数据传输的设计不足;其次,实时画面的传输是有时效性的,现有的传输协议对于过期数据的及时停止及销毁设计不足。由上可知,现有技术中保证UDP协议的传输可靠性的方案,传输效率较低。
针对上述现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种传输数据的方法、装置和***,以至少解决现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种传输数据的方法,包括:发送端设备发送至少一个数据包至接收端设备;发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;发送端设备接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
可选的,发送端设备接收接收端设备返回的指示信息包括:若接收端设备已接收到至少一个数据包,则发送端设备接收接收端设备返回的第一确认信息,并根据第一确认信息更新本地的预定缓存区和本地的发送丢失列表,其中,预定缓存区用于缓存至少一个数据包,发送丢失列表用于记录丢失的至少一个数据包;向接收端设备返回第二确认信息,其中,第二确认信息至少包括:丢弃包信息。
进一步地,可选的,该方法还包括:当发送丢失列表不为空时,发送发送丢失列表中待发送的数据包;当发送丢失列表为空时,发送新的待发送的数据包;其中,若发送次数大于预设最大重传次数,则丢弃待发送的数据包。
可选的,发送端设备接收接收端设备返回的指示信息包括:若接收端设备未接收到至少一个数据包,则发送端设备接收接收端设备返回的第三确认信息,并根据第三确认信息中序列号逐个检查;根据序列号得到对应预定缓存区的位置,位置标记为可用或标记不可用且缓存区中序列号跟检查到的序列号不相等,丢弃数据包;否则写入发送丢失列表。
根据本发明实施例的一个方面,提供了另一种传输数据的方法,包括:接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;接收端设备将与第一判断结果对应的指示信息返回至发送端设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
可选的,接收端设备设置有第一定时器和第二定时器,指示信息至少包括:第一确认信息和重传信息,接收端设备将与第一判断结果对应的指示信息返回至发送端设备包括:若第一判断结果为接收端设备已接收到至少一个数据包,则接收端设备在第一定时器的触发下,返回第一确认信息至发送端设备;若第一判断结果为接收端设备未接收到至少一个数据包,则接收端设备在第二定时器的触发下,返回重传信息至发送端设备,其中,重传信息中至少包括:接收端设备已确认丢失的至少一个数据包的序列号。
进一步地,可选的,在返回第一确认信息至发送端设备之后,该方法还包括:接收发送端设备发送的丢弃包信息,清除丢失包队列中存储的丢弃包的序列号。
根据本发明实施例的另一方面,还提供了一种传输数据的装置,包括:发送模块,用于发送至少一个数据包至接收端设备;检测模块,用于在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;接收模块,用于接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
根据本发明实施例的另一方面,还提供了另一种传输数据的装置,包括:判断模块,用于判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;发送模块,用于将与第一判断结果对应的指示信息返回至发送端设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
根据本发明实施例的又一方面,还提供了一种传输数据的***,包括:发送端设备和接收端设备,其中,发送端设备发送至少一个数据包至接收端设备;发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;并将与第一判断结果对应的指示信息返回至发送端设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作;发送端设备接收接收端设备返回的指示信息。
根据本发明实施例的再一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述传输数据的方法。
根据本发明实施例的再一方面,还提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行上述传输数据的方法。
在本发明实施例中,通过发送端设备发送至少一个数据包至接收端设备;发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;发送端设备接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作,达到了提高数据传输效率的目的,从而实现了有效保证UDP协议可靠性的技术效果,进而解决了现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种传输数据的方法在发送设备侧的流程示意图;
图2是根据本发明实施例的另一种传输数据的方法在发送设备侧的流程示意图;
图3是根据本发明实施例的一种传输数据的方法在接收端设备侧的流程示意图;
图4是根据本发明实施例的一种传输数据的装置在发送端设备侧的结构示意图;
图5是根据本发明实施例的一种传输数据的装置在接收端设备侧的结构示意图;
图6是根据本发明实施例的一种传输数据的***的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种传输数据的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种传输数据的方法在发送设备侧的流程示意图,如图1所示,在发送端设备侧,该方法包括如下步骤:
步骤S102,发送端设备发送至少一个数据包至接收端设备;
步骤S104,发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有定时器;
步骤S106,发送端设备接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
具体的,结合步骤S102至步骤S106,本申请提供的传输数据的方法中发送端设置一个EXP定时器,用于检测已发送未被确认的数据包。该EXP定时器的触发周期为ETP。ETP会根据网络情况自动调整取值。
其中,EXP定时器的触发时,将已发送未确认的数据写入发送丢失列表,并进行如下调整:
首先,调整ETP=exp-count*(RTT+4*RTTVar)+ATP,ETP为EXP定时器的周期时间。其中ATP为ACK的周期,exp-count为超时次数;
其次,exp-count自加1。
除此之外,如果没有已发送未确认数据,exp-count置1。
本申请提供的传输数据的方法中连接建立后是双工的,即不区分发送端设备和接收端设备,每一侧均能发送大量数据给另一侧。
在本发明实施例中,通过发送端设备发送至少一个数据包至接收端设备;发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;发送端设备接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作,达到了提高数据传输效率的目的,从而实现了有效保证UDP协议可靠性的技术效果,进而解决了现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
可选的,步骤S106中发送端设备接收接收端设备返回的指示信息包括:
步骤S1061,若接收端设备已接收到至少一个数据包,则发送端设备接收接收端设备返回的第一确认信息,并根据第一确认信息更新本地的预定缓存区和本地的发送丢失列表,其中,预定缓存区用于缓存至少一个数据包,发送丢失列表用于记录丢失的至少一个数据包;
步骤S1062,向接收端设备返回第二确认信息,其中,第二确认信息至少包括:丢弃包信息。
其中,发送缓存:缓存发送过的数据。缓冲区每个位置有一个标志是否可用,当发出一个包后,循环找一个缓冲区中标志为可用的位置存储该包,并更改为不可用状态。当一个包确认收到后,将缓冲区中对应的包设置成可用状态。
发送丢失列表,用于记录丢失的包,用于发送端设备的重发。
具体的,在发送端设备收到ACK包(即,第一确认信息)后操作如下:
1.得到发端送过来的RTT、RTTVar、ATP;其中:RTT为往返时延,RTTVar为RTT的均方差、ATP为ACK定时器的周期;
2.更新最大已回复序列号;
3.将已确认收到的包对应的发送端缓存标志置为可用;
4.更新发送丢失列表,将已收到的包从发送丢失列表中删除;
5.回复ACK2包,其中ACK2包的序列号跟ACK携带过来的序列号相同(ack_number),内容为丢弃包队列;
6.重置EXP定时器。
进一步地,可选的,本申请提供的传输数据的方法还包括:
步骤S107,当发送丢失列表不为空时,发送发送丢失列表中待发送的数据包;
步骤S108,当发送丢失列表为空时,发送新的待发送的数据包;
其中,若发送次数大于预设最大重传次数,则丢弃待发送的数据包。
可选的,步骤S106中发送端设备接收接收端设备返回的指示信息包括:
步骤S1061’,若接收端设备未接收到至少一个数据包,则发送端设备接收接收端设备返回的第三确认信息,并根据第三确认信息中序列号逐个检查;
步骤S1062’,根据序列号得到对应预定缓存区的位置,位置标记为可用或标记不可用且缓存区中序列号跟检查到的序列号不相等,丢弃数据包;否则写入发送丢失列表。
具体的,将NACK包(即,本申请提供的第三确认信息)中序列号逐个检查,根据序列号找出对应发端设备预定缓存区的位置,如果该位置标记可用或标记不可用但缓存区number跟检查序列号不相等,丢弃该包。否则写入发送丢失列表。
其中,当一个数据包包对应的预定缓存区的位置变为可用或标记为不可用里面存储的号跟包号不相等代表该包对应的缓冲已经被释放,或释放后又被其它包占用了。出现这种情况为上层发出清空某类过期数据的命令,此时这些包不需要再次被发送,记录下来这些包的序号并存入丢弃包队列。
综上,图2是根据本发明实施例的另一种传输数据的方法在发送设备侧的流程示意图,如图2所示,本申请提供的传输数据的方法具体如下:
步骤S1,开始传输数据;
步骤S2,判断发送丢失列表是否为空。
在上述步骤S1至S2中,发送端设备发送至少一个数据包至接收端设备之前,发送端设备可以预先判断发送丢失列表是否为空。
其中,若上述判断结果为发送丢失列表为空,则执行步骤S3,若上述判断结果为发送丢失列表不为空,则执行步骤S4。
步骤S3,确定当前待发送的数据包。
在上述步骤S3中,上述判断结果为发送丢失列表为空,则确定当前待发送的数据包。
步骤S4,选择发送丢失列表中的数据包。
在上述步骤S4中,上述判断结果为发送丢失列表不为空,表明当前发送丢失列表中存在需要重发的数据包,则确定当前待发送的数据包。
步骤S5,将上述数据包的重传次数加一;
步骤S6,判断重传次数是否超出最大重传次数。
在上述步骤S5至步骤S6中,在发送上述发送丢失列表中的数据包之后,上述发送端设备将上述数据包的重传次数加一,并判断该数据包的重传次数是否超出最大重传次数。
其中,若判断出当前数据包的重传次数超出最大重传次数,则执行步骤S8,若判断出当前数据包的重传次数未超出最大重传次数,则执行步骤S7。
步骤S7,选择对应缓存区中的数据包。
在上述步骤S7中,若判断出当前数据包的重传次数未超出最大重传次数,则选择对应缓存区中的数据包。
步骤S8,丢弃数据包,释放对应的缓存区。
在上述步骤S8中,若判断出当前数据包的重传次数超出最大重传次数,则丢弃数据包,释放对应的缓存区。
步骤S9,发送至少一个数据包至接收端设备。
在上述步骤S3和步骤S7之后,也即,确定当前待发送的数据包,或者,选择发送丢失列表对应缓存区中的数据包之后,上述发送端设备发送至少一个数据包至接收端设备。
作为一种可选的实施例,在执行上述步骤S9之后,可以停止传输数据,也可以返回步骤S1继续传输数据。
实施例2
根据本发明实施例的一个方面,提供了另一种传输数据的方法,图3是根据本发明实施例的一种传输数据的方法在接收端设备侧的流程示意图,如图3所示,在接收端设备侧,该方法包括如下步骤:
步骤S302,接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;
步骤S304,接收端设备将与第一判断结果对应的指示信息返回至发送端设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
具体的,结合步骤S302至步骤S304,接收端设备记录最大接收包号max_number,当新到一个包,其接收号为number有:当number>=max_number+1,将(max_number,number)之间(不包括两端)的值写入接收丢失列表;当number<max_number,查看接收丢失列表中是否有number,如果有删除。
在本发明实施例中,通过接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;接收端设备将与第一判断结果对应的指示信息返回至发送端设备设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作,达到了提高数据传输效率的目的,从而实现了有效保证UDP协议可靠性的技术效果,进而解决了现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
可选的,接收端设备设置有第一定时器和第二定时器,指示信息至少包括:第一确认信息和重传信息,步骤S304中接收端设备将与第一判断结果对应的指示信息返回至发送端设备包括:
步骤S3041,若第一判断结果为接收端设备已接收到至少一个数据包,则接收端设备在第一定时器的触发下,返回第一确认信息至发送端设备;
步骤S3042,若第一判断结果为接收端设备未接收到至少一个数据包,则接收端设备在第二定时器的触发下,返回重传信息至发送端设备,其中,重传信息中至少包括:接收端设备已确认丢失的至少一个数据包的序列号。
具体的,结合步骤S3041和步骤S3042,在本申请提供的传输数据的方法中:
接收端设备ACK定时器(即本申请提供的第一定时器),在大量数据传输过程中,如果采用TCP的方式即每个包进行一次回复,效率不高。故接收端设备采用一个周期统一进行回复。接收到的数据越多一次回复中有效的信息就占比越高,带宽利用率越高。该定时器触发周期为ATP。ATP初始值通过上层逻辑指定(建议0.01)。在本算法涉及的实时视频传输场景下,参考建议为:
接收端设备可以检测到丢包率,根据丢包率计算重传次数。例如:可靠性保证99.99%的到达率即丢包率需要小于0.01。如果当前丢包率为80%,则需要至少重传3次。
令接收端设备给定的缓存帧数为N,重传次数为C。
预测发送端设备设备近N帧的总码流,并根据当前的传输速率计算出传输时间t1;
根据输出端的显示要求(每秒多少帧)计算N帧的显示时间t2;
如果t2>t1,ATP=MIN((t2-t1)/C,0.01);
如果t2<=t1,ATP=0.01;
接收端设备NACK定时器(即本申请提供的第二定时器),该定时器在触发后会将接收端设备判定的已丢失的包号反馈给发送端设备设备。该定时器周期为NTP。NTP的值跟ATP的值相同。
其中,接收缓存,接收端设备缓存,收到包后送入上层;接收丢失列表,接收端设备认为丢失的包,会通过NACK数据包将内容反馈回发送端设备。
除此之外,当NACK定时器时间到时,存在如下操作:
1.如果接收丢失列表为空,不进行任何操作;
2.如果接收丢失列表不为空,将接收丢失列表中中反馈时间在k*(RTT+4*RTTVar)之前的项找出,其中k为反馈次数加一。
3.如果k超出最大反馈次数,丢弃该项;
4.k自加1;
5.将所有满足的项打包发给接收端。
当ACK定时器时间到时,存在如下操作:
1.接收端发送ACK包,包中携带主要数据:
2.ACK包对应的序列号ack_number(该序列号初值为0,每次自加1);
3.预期下次接收的number:expect_number;
4.当接收丢失列表为空时,expect_number为当前接收到的最大number+1;
5.当接收丢失列表部位空时,expect_number为接收丢失列表中的最小值;
其中,是否发送ACK包满足如下原则:
1.expect_number跟上次回复的相同,且时间差小于RTT+4*RTTVar,不进行ACK包回复;
2.expect_number跟收到的ACK2包中确认过的最大number相同,不进行ACK回复;
3.其他情况下回复ACK包。
进一步地,可选的,在步骤S3041中返回第一确认信息至发送端设备之后,本申请提供的传输数据的方法还包括:
步骤S3043,接收发送端设备发送的丢弃包信息,清除丢失包队列中存储的丢弃包的序列号。
具体的,当接收端设备收到ACK2包(即,本申请提供的丢弃包信息)时,接收端设备操作如下:
1.ACK包从接收端设备发给发送端设备,发送端设备回复ACK2到接收端设备,时间差记为rtt,更新RTT和RTTVar:
RTTVar=(RTTVar*3+abs(rtt-RTT))/4
RTT=(RTT*7+rtt)/8
2.更新最大收到的ACK2对应number;
3.根据丢弃包队列清除接收端设备丢失列表中存在的包序号。
实施例3
根据本发明实施例的另一方面,还提供了一种传输数据的装置,图4是根据本发明实施例的一种传输数据的装置在发送端设备侧的结构示意图,如图4所示,在发送端设备侧,包括:
发送模块42,用于发送至少一个数据包至接收端设备;检测模块44,用于在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;接收模块46,用于接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
在本发明实施例中,通过发送端设备发送至少一个数据包至接收端设备;发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备设置有第一定时器;发送端设备接收接收端设备返回的指示信息,其中,指示信息用于指示发送端设备执行与指示信息对应的操作,达到了提高数据传输效率的目的,从而实现了有效保证UDP协议可靠性的技术效果,进而解决了现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
实施例4
根据本发明实施例的另一方面,还提供了另一种传输数据的装置,图5是根据本发明实施例的一种传输数据的装置在接收端设备侧的结构示意图,如图5所示,在接收端设备侧,包括:
判断模块52,用于判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;发送模块54,用于将与第一判断结果对应的指示信息返回至发送端设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作。
在本发明实施例中,通过接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;接收端设备将与第一判断结果对应的指示信息返回至发送端设备设备,其中,指示信息用于指示发送端设备执行与指示信息对应的操作,达到了提高数据传输效率的目的,从而实现了有效保证UDP协议可靠性的技术效果,进而解决了现有技术中保证UDP协议的传输可靠性的方案,传输效率较低的技术问题。
实施例5
根据本发明实施例的又一方面,还提供了一种传输数据的***,图6是根据本发明实施例的一种传输数据的***的结构示意图,如图6所示,包括:发送端设备62和接收端设备64。
其中,发送端设备62发送至少一个数据包至接收端设备64;发送端设备62在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,状态信息至少包括:已确收状态和未确收状态,发送端设备62设置有第一定时器;接收端设备64判断是否接收到发送端设备62发送的至少一个数据包,得到第一判断结果;并将与第一判断结果对应的指示信息返回至发送端设备62,其中,指示信息用于指示发送端设备62执行与指示信息对应的操作;发送端设备62接收接收端设备64返回的指示信息。
综上,本申请提供的传输数据的***中接收端设备和发送端设备都会有确保数据可靠性的保证其中:发送端设备通过EXP定时器触发自检流程找到发送未确认的包,放入发送丢失列表中;接收端设备通过NACK定时器将接受丢失列表反馈给发送端设备;接收端设备ACK定时器,确保两侧确认的最大连续序号;ATP和NTP的自适应保证复杂网络环境下实时传输的快速反馈;通过指定数据类型可及时清理发送端设备过期数据,接收端设备过期数据;在视频传输过程中有参考帧,非参考帧。如果采用渐进式编码方案还会有基本层,增强层等,这些数据在传输过程中要求的可靠度是不一样的。上层传入的每个包还会携带最大重发次数,以方便保证不同级别的数据的不同传输可靠度。
实施例6
根据本发明实施例的再一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述传输数据的方法。
实施例7
根据本发明实施例的再一方面,还提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行上述传输数据的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种传输数据的方法,其特征在于,包括:
发送端设备发送至少一个数据包至接收端设备;
所述发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,所述状态信息至少包括:已确收状态和未确收状态,所述发送端设备设置有所述定时器;
所述发送端设备接收所述接收端设备返回的指示信息,其中,所述指示信息用于指示所述发送端设备执行与所述指示信息对应的操作。
2.根据权利要求1所述的方法,其特征在于,所述发送端设备接收所述接收端设备返回的指示信息包括:
若所述接收端设备已接收到所述至少一个数据包,则所述发送端设备接收所述接收端设备返回的第一确认信息,并根据所述第一确认信息更新本地的预定缓存区和本地的发送丢失列表,其中,所述预定缓存区用于缓存所述至少一个数据包,所述发送丢失列表用于记录丢失的至少一个数据包;
向所述接收端设备返回第二确认信息,其中,所述第二确认信息至少包括:丢弃包信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述发送丢失列表不为空时,发送所述发送丢失列表中待发送的数据包;
当所述发送丢失列表为空时,发送新的待发送的数据包;
其中,若发送次数大于预设最大重传次数,则丢弃所述待发送的数据包。
4.根据权利要求1或2所述的方法,其特征在于,所述发送端设备接收所述接收端设备返回的指示信息包括:
若所述接收端设备未接收到所述至少一个数据包,则所述发送端设备接收所述接收端设备返回的第三确认信息,并根据所述第三确认信息中序列号逐个检查;
根据所述序列号得到对应预定缓存区的位置,所述位置标记为可用或标记不可用且缓存区中序列号跟检查到的所述序列号不相等,丢弃数据包;否则写入发送丢失列表。
5.一种传输数据的方法,其特征在于,包括:
接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;
所述接收端设备将与所述第一判断结果对应的指示信息返回至所述发送端设备,其中,所述指示信息用于指示所述发送端设备执行与所述指示信息对应的操作。
6.根据权利要求5所述的方法,其特征在于,所述接收端设备设置有第一定时器和第二定时器,所述指示信息至少包括:第一确认信息和重传信息,所述接收端设备将与所述第一判断结果对应的指示信息返回至所述发送端设备包括:
若所述第一判断结果为所述接收端设备已接收到所述至少一个数据包,则所述接收端设备在所述第一定时器的触发下,返回所述第一确认信息至所述发送端设备;
若所述第一判断结果为所述接收端设备未接收到所述至少一个数据包,则所述接收端设备在所述第二定时器的触发下,返回所述重传信息至所述发送端设备,其中,所述重传信息中至少包括:所述接收端设备已确认丢失的至少一个数据包的序列号。
7.根据权利要求5或6所述的方法,其特征在于,在所述返回所述第一确认信息至所述发送端设备之后,所述方法还包括:
接收所述发送端设备发送的丢弃包信息,清除丢失包队列中存储的丢弃包的序列号。
8.一种传输数据的装置,其特征在于,包括:
发送模块,用于发送至少一个数据包至接收端设备;
检测模块,用于在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,所述状态信息至少包括:已确收状态和未确收状态,所述发送端设备设置有所述定时器;
接收模块,用于接收所述接收端设备返回的指示信息,其中,所述指示信息用于指示所述发送端设备执行与所述指示信息对应的操作。
9.一种传输数据的装置,其特征在于,包括:
判断模块,用于判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;
发送模块,用于将与所述第一判断结果对应的指示信息返回至所述发送端设备,其中,所述指示信息用于指示所述发送端设备执行与所述指示信息对应的操作。
10.一种传输数据的***,其特征在于,包括:发送端设备和接收端设备,其中,
所述发送端设备发送至少一个数据包至接收端设备;所述发送端设备在定时器的触发下,检测已发送的至少一个数据包的状态信息,其中,所述状态信息至少包括:已确收状态和未确收状态,所述发送端设备设置有所述定时器;
所述接收端设备判断是否接收到发送端设备发送的至少一个数据包,得到第一判断结果;并将与所述第一判断结果对应的指示信息返回至所述发送端设备,其中,所述指示信息用于指示所述发送端设备执行与所述指示信息对应的操作;
所述发送端设备接收所述接收端设备返回的指示信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836905.0A CN108965308A (zh) | 2018-07-26 | 2018-07-26 | 传输数据的方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836905.0A CN108965308A (zh) | 2018-07-26 | 2018-07-26 | 传输数据的方法、装置和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108965308A true CN108965308A (zh) | 2018-12-07 |
Family
ID=64463887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810836905.0A Pending CN108965308A (zh) | 2018-07-26 | 2018-07-26 | 传输数据的方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965308A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714352A (zh) * | 2018-12-29 | 2019-05-03 | 北京金山安全软件有限公司 | 网络数据传输方法、装置及电子设备 |
CN110519598A (zh) * | 2019-08-23 | 2019-11-29 | 香港乐蜜有限公司 | 视频解码方法、装置及设备 |
WO2020192258A1 (zh) * | 2019-03-25 | 2020-10-01 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111756479A (zh) * | 2019-03-27 | 2020-10-09 | 华为技术有限公司 | 一种通信方法及装置 |
CN113365141A (zh) * | 2021-05-10 | 2021-09-07 | 北京乐驾科技有限公司 | 数据的无线传输方法、装置及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914844A (zh) * | 2003-12-29 | 2007-02-14 | 韩国电子通信研究院 | 移动通信***中重传分组的方法和其上记录程序的计算机可读介质 |
CN101340268A (zh) * | 2008-08-18 | 2009-01-07 | 杭州华三通信技术有限公司 | 节点间通信确认机制的实现方法和实现*** |
CN106982108A (zh) * | 2016-01-18 | 2017-07-25 | 华为技术有限公司 | 一种数据传输的方法以及相关设备 |
-
2018
- 2018-07-26 CN CN201810836905.0A patent/CN108965308A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914844A (zh) * | 2003-12-29 | 2007-02-14 | 韩国电子通信研究院 | 移动通信***中重传分组的方法和其上记录程序的计算机可读介质 |
CN101340268A (zh) * | 2008-08-18 | 2009-01-07 | 杭州华三通信技术有限公司 | 节点间通信确认机制的实现方法和实现*** |
CN106982108A (zh) * | 2016-01-18 | 2017-07-25 | 华为技术有限公司 | 一种数据传输的方法以及相关设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714352A (zh) * | 2018-12-29 | 2019-05-03 | 北京金山安全软件有限公司 | 网络数据传输方法、装置及电子设备 |
WO2020192258A1 (zh) * | 2019-03-25 | 2020-10-01 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111740808A (zh) * | 2019-03-25 | 2020-10-02 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111740808B (zh) * | 2019-03-25 | 2022-07-22 | 华为技术有限公司 | 一种数据传输方法及装置 |
CN111756479A (zh) * | 2019-03-27 | 2020-10-09 | 华为技术有限公司 | 一种通信方法及装置 |
CN111756479B (zh) * | 2019-03-27 | 2021-12-10 | 华为技术有限公司 | 一种通信方法及装置 |
CN110519598A (zh) * | 2019-08-23 | 2019-11-29 | 香港乐蜜有限公司 | 视频解码方法、装置及设备 |
CN113365141A (zh) * | 2021-05-10 | 2021-09-07 | 北京乐驾科技有限公司 | 数据的无线传输方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965308A (zh) | 传输数据的方法、装置和*** | |
Blanton et al. | On making TCP more robust to packet reordering | |
US9379852B2 (en) | Packet recovery method, communication system, information processing device, and program | |
CN108337242A (zh) | 传输数据的方法、存储介质及处理器 | |
CN106982108B (zh) | 一种数据传输的方法以及相关设备 | |
CN106878191B (zh) | 一种数据传送方法、发送节点、接收节点及数据传送*** | |
CN108494782B (zh) | 一种基于udp的数据传输方法、终端设备及存储介质 | |
KR100436435B1 (ko) | 유무선 통합망에서 간접 승인을 이용한 패킷 전송 장치 및그 방법 | |
CA2397778C (en) | Data discard mechanism for selective repeat protocol | |
US7782758B2 (en) | Efficient loss recovery architecture for loss-decoupled TCP | |
US20020054570A1 (en) | Data communication system, data communication method, and recording medium with data communication program recorded thereon | |
US8200838B2 (en) | Data flow control with duplicate acknowledgement | |
CN107204834A (zh) | 一种基于udt协议的高速网络可靠传输的控制方法 | |
CN101159520A (zh) | 数据传输方法 | |
CN101369877B (zh) | 无线传输控制协议处理方法和设备 | |
CN103607302B (zh) | 故障信息上报方法、监控设备及管理设备 | |
KR20130065619A (ko) | 송신 노드로부터 목적지 노드로의 데이터 전송 방법 | |
CN102857354A (zh) | 告警信息上报方法、装置及*** | |
CN109981385A (zh) | 一种实现丢包检测的方法、装置和*** | |
CN101695067B (zh) | 基于tcp的数据处理方法、装置、数字电视接收终端和*** | |
CN117544571A (zh) | 大报文安全可靠传输方法及装置 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和*** | |
CN115866095A (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN116963175A (zh) | 数据传输方法、装置及*** | |
CN108616337A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |