CN112583529A - 一种数据处理方法、装置、设备及存储介质 - Google Patents
一种数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112583529A CN112583529A CN202011503158.2A CN202011503158A CN112583529A CN 112583529 A CN112583529 A CN 112583529A CN 202011503158 A CN202011503158 A CN 202011503158A CN 112583529 A CN112583529 A CN 112583529A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- identification information
- data packet
- receiving end
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 42
- 230000001360 synchronised effect Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 16
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 11
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开实施例公开了一种数据处理方法、装置、设备及存储介质。该方法包括:接收接收端当前周期发送的反馈包,反馈包包括接收端在当前周期收到的第一数据包的包标识信息和截至当前周期的前一个周期收到的连续数据包的最大包标识信息;根据第一数据包的包标识信息和最大包标识信息,确定重传数据包;在重传数据包满足重传条件的情况下,发送给接收端。上述方案可以周期性的接收反馈包,及时感知接收端的丢包情况,并基于反馈包携带的第一数据包的包标识信息和连续数据包的最大包标识信息确定重传数据包,提高了重传数据包的准确性,在重传数据包满足重传条件的情况下将其发送给接收端,有效解决了数据包的丢失问题,提高了数据传输的准确性。
Description
技术领域
本公开实施例涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
流媒体技术是一种将一连串的媒体数据压缩后,以流的方式在网络中分段发送,实现在网络上实时传输以供观赏的技术,可以传输音频流、视频流、文本流、图像流等。
在将流媒体数据由发送端传输至接收端时,通常是将流媒体数据拆分为多个数据包进行传输。由于网络在传输数据包时会发生数据错误或者路由器溢出等异常情况容易导致数据包丢包,为了保证数据传输的准确性,需要通过反馈和重传机制来对丢包进行恢复。
常见的反馈和重传机制主要包括ACK(Acknowledge character,确认字符)和NACK,但均无法有效的解决数据包的丢包问题。
公开内容
本公开实施例提供一种数据处理方法、装置、设备及存储介质,可以有效解决数据包的丢包问题,保证数据传输的准确性。
第一方面,本公开实施例提供了一种数据处理方法,包括:
接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
第二方面,本公开实施例还提供了一种数据处理方法,包括:
接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
第三方面,本公开实施例还提供了一种数据处理装置,包括:
反馈包接收模块,用于接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
重传数据包确定模块,用于根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
重传数据包发送模块,用于在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
第四方面,本公开实施例还提供了一种数据处理装置,包括:
数据包接收模块,用于接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
最大包标识信息确定模块,用于在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
反馈模块,用于将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
第五方面,本公开实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时实现如第一方面所述的数据处理方法或如第二方面所述的数据处理方法。
第六面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据处理方法或如第二方面所述的数据处理方法。
本公开实施例提供一种数据处理方法、装置、设备及存储介质,通过接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。上述方案可以周期性的接收反馈包,及时感知接收端的丢包情况,并基于反馈包携带的第一数据包的包标识信息和接收端截至当前周期的前一个周期收到的连续数据包的最大包标识信息确定需要重传的数据包,提高了重传数据包的准确性,在重传数据包满足重传条件的情况下将其发送给接收端,有效解决了数据包的丢失问题,提高了数据传输的准确性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例一提供的一种数据处理方法的流程图;
图2为本公开实施例二提供的一种数据处理方法的流程图;
图3为本公开实施例三提供的一种数据处理方法的流程图;
图4为本公开实施例四提供的一种数据处理方法的流程图;
图5为本公开实施例五提供的一种数据处理方法的流程图;
图6为本公开实施例七提供的一种数据处理装置的结构图;
图7为本公开实施例八提供的一种数据处理装置的结构图;
图8为本公开实施例九提供的一种电子设备的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的对象进行区分,并非用于限定这些对象所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
实施例一
图1为本公开实施例一提供的一种数据处理方法的流程图,本实施例可适用于将流媒体数据由发送端传输至接收端的情况。发送端和接收端均可以是具备数据处理功能的终端,例如可以是手机、平板、笔记本等移动终端,也可以是台式机等固定终端或服务器。该方法可以数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可配置在发送端中。如图1所示,该方法具体包括如下步骤:
S110、接收接收端当前周期发送的反馈包。
其中,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息。数据包是通信传输中的数据单位,发送端在将流媒体数据发送给接收端时通常以数据包的形式发送给接收端。实施例对数据包的大小不进行限定,各数据包的大小可以相同也可以不同。包标识信息用于标识数据包从发送端到接收端的传输顺序,包标识信息是在数据包发送之前预先设置好的,例如可以是序列号,每一个数据包对应唯一的序列号,为了便于后续确定数据包是否丢失,可以按照顺序为数据包设置连续的序列号,序列号较小的优先发送,例如对于数据包1和数据包2,发送端优先发送数据包1。包标识信息可以存储在数据包的包头。数据包传输过程中,由于网络抖动或路由器溢出等原因,容易出现数据包丢包的情况,为了便于统计数据包的接收情况,在出现丢包时及时恢复丢失的数据包,发送端可以以周期为单位发送数据包。周期的大小可以根据实际需要设定,例如可以将周期设置为当前传输的数据流的两帧间隔时间,例如对于30fps的视频流,周期可以设为33ms。发送端每个周期发送的数据包的数量可以相同也可以不同。
反馈包用于记录接收端的接包情况,与发送端类似,接收端也是周期性的向发送端发送反馈包,例如接收端可以在每个周期结束时向发送端发送反馈包,以汇报当前周期的接包情况。需要说明的是,无论接收端是否接收到数据包,均会向发送端发送反馈包,使发送端可以及时感知接收端的接包情况,并在接收端出现丢包时可以及时发送丢失的数据包,降低传输延迟。本实施例的反馈包以包含第一数据包的包标识信息和接收端截至当前周期的前一个周期确认收到的连续数据包的最大包标识信息为例。
第一数据包为接收端在当前周期接收到的数据包,实际传输时,接收端可能一个数据包也接收不到,也可能会接收到部分数据包,还有可能会接收到全部数据包。以包标识信息为序列号为例,连续数据包为从传输开始接收端收到的序列号连续的数据包,最大包标识信息为连续数据包中最后一个数据包对应的包标识信息,例如序列号1-100为连续数据包,则最大包标识信息为序列号100。本实施例当前周期结束时反馈包中存储的是接收端从传输开始到当前周期的前一个周期结束时收到的连续数据包的最大包标识信息,例如到当前周期的前一个周期结束时,接收端收到30个数据包,序列号分别为101-129和131,假定序列号1-100的数据包已经确定收到,则前一个周期结束时,接收端收到的连续数据包的最大包标识信息为129。这样设置的好处是在后续判断发送端和接收端是否同步时,发送端可以直接根据反馈包中的最大包标识信息判断,并在发送端和接收端不同步时,可以及时向接收端发送数据同步请求,无需通过解析反馈包来判断发送端和接收端是否同步,节省了时间。关于发送端和接收端的同步问题可以参见后面的描述。
S120、根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包。
重传数据包可以是接收端丢失的数据包。考虑到反馈包传输过程中可能会因网络抖动等原因而丢失,导致发送端和接收端不同步,进而导致发送端会重复发送接收端已经收到的数据包,或者未发送接收端丢失的数据包,影响数据传输的准确性,因此在收到反馈包后可以优先判断发送端和接收端是否同步。可选的,可以基于反馈包携带的最大包标识信息和当前存储的第一丢包队列中的包标识信息判断发送端和接收端是否一致。例如可以确定当前存储的第一丢包队列中的最小包标识信息,根据该最小包标识信息和反馈包携带的最大包标识信息判断发送端和接收端是否同步。当前存储的第一丢包队列为发送端收到接收端当前周期发送的反馈包但还未处理该反馈包时存储的第一丢包队列,即此时第一丢包队列存储的是发送端在收到并处理前一个周期的反馈包后确定的接收端丢失数据包的包标识信息。例如前一个周期的反馈包反馈的第一数据包的序列号为80-98、100,假定序列号80之前的数据包已经收到,当前周期反馈包反馈的第一数据包的序列号为101-129,131,则根据序列号的连续性可以确定接收端在前一个周期结束丢失了序列号为99的数据包,当前周期又丢失了序列号为130的数据包,则处理前一个周期的反馈包后第一丢包队列存储的接收端丢失数据包的序列号为99,处理当前周期的反馈包后,第一丢包队列存储的接收端丢失数据包的序列号为99、130。如果当前周期的反馈包中最大包标识信息对应的序列号加1与处理当前周期的反馈包之前存储的第一丢包队列中最小包标识信息对应的序列号相同,则认为发送端和接收端同步,否则,认为发送端和接收端不同步。
在发送端和接收端同步的情况下,可选的,可以基于当前周期反馈包反馈的第一数据包的包标识信息更新第一丢包队列,并将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。更新第一丢包队列,即更新第一丢包队列存储的包标识信息。在发送端和接收端不同步的情况下,可选的,可以向接收端发送数据同步请求,待发送端和接收端同步后再将第一丢包队列中包标识信息对应的数据包作为重传数据包。由此可以提高重传数据包的准确性,避免重复发送接收端已接收到的数据包,以及无法及时发送接收端未收到的数据包的情况。
S130、在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
重传条件可以根据实际情况设定,例如重传数据包确定之后可以等待一段时间再发送,例如可以等待至少一个周期。以一个周期为例,假定发送端在当前周期收到反馈包后确定序列号为120的数据包丢失,如果下一个周期结束时收到的反馈包中仍未包含序列号120,则可以将序列号为120的数据包发送给接收端,如果下一个周期结束时收到的反馈包中包含序列号120,则无需再发送序列号为120的数据包,有效避免了丢失数据包的重复发送。
再如,同一个重传数据包发送给接收端后,可以等待至少一个RTT(Round TripTime,往返时间)才考虑是否再次重传,RTT为网络传输从接收端到发送端一个来回需要的时间,也即网络传输从发送端到接收端一个来回需要的时间,这样设置的好处是可以有效避免丢失数据包的重复发送,也提高了数据传输的准确性。以一个RTT为例,假定发送端将重传数据包120发送给接收端,一个RTT后如果发送端收到的反馈包中包含序列号120,表示接收端已收到重传数据包120,发送端无需再重新发送,避免了丢失数据包的重复发送,如果发送端收到的反馈包中仍未包含序列号120,表示重传数据包120再次丢失,发送端可以再次发送该重传数据包120,提高了数据传输的准确性。
本公开实施例一提供一种数据处理方法,通过接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。上述方案可以周期性的接收反馈包,及时感知接收端的丢包情况,并基于反馈包携带的第一数据包的包标识信息和接收端截至当前周期的前一个周期收到的连续数据包的最大包标识信息确定需要重传的数据包,提高了重传数据包的准确性,在重传数据包满足重传条件的情况下将其发送给接收端,有效解决了数据包的丢失问题,提高了数据传输的准确性。
实施例二
图2为本公开实施例二提供的一种数据处理方法的流程图,本实施例是在上述实施例的基础上进行优化,本实施例的包标识信息以序列号为例,参考图2,该方法可以包括如下步骤:
S210、接收接收端当前周期发送的反馈包。
S220、确定当前存储的第一丢包队列中的最小包标识信息。
其中,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息。最小包标识信息为第一丢包队列中的最小序列号,例如第一丢包队列存储的序列号为130、163-172,则最小包标识信息为序列号130。
S230、比较所述最小包标识信息和所述最大包标识信息。
比较反馈包携带的最大包标识信息与第一丢包队列的最小包标识信息可以确定发送端与接收端是否同步,为后续重传数据包的确定提供依据。
S240、所述最大包标识信息对应的数据包是否为所述最小包标识信息对应的数据包的前一个数据包,若是,执行S250,否则执行S260。
具体的,如果最大包标识信息对应的数据包为最小包标识信息对应的数据包的前一个数据包,则认为发送端和接收端同步,否则,认为发送端和接收端不同步。例如反馈包携带的最大包标识信息为129,第一丢包队列的最小包标识信息为130,则认为发送端和接收端同步。
S250、根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列。
在发送端和接收端同步的情况下可以根据当前周期反馈包反馈的接收端的收包情况以及前一个周期反馈包反馈的接收端的收包情况,更新第一丢包队列,确定当前周期结束时接收端丢失的数据包。例如前一个周期结束时反馈包反馈的第一数据包的序列号为101-129,131,当前周期结束时反馈包反馈的第一数据包的序列号为133-162,第一丢包队列更新之前包含的序列号为130,则第一丢包队列更新之后包含的序列号为130和132。
S260、向所述接收端发送数据同步请求。
其中,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息。接收端在每个周期结束时会根据实际收包情况确定丢失的数据包,并将丢失数据包的包标识信息存储在第二丢包队列中,正常情况下,发送端存储的第一丢包队列和接收端存储的第二丢包队列一致,即发送端和接收端同步,如果接收端发送的反馈包在传输过程中丢失,可能会导致发送端存储的第一丢包队列与接收端存储的第二丢包队列不一致,实施例将第一丢包队列与第二丢包队列不一致的情况称为发送端和接收端不同步,如果发送端和接收端不同步会影响数据传输的准确性。因此在确定发送端和接收端不同步时,发送端可以向接收端发送数据同步请求。
数据同步请求可以单独发送,也可以跟随重传数据包一起发送,即当发送端发送数据同步请求时,可以同时执行重传操作,发送重传数据包,该重传数据包为发送端和接收端不同步之前确定的需要重传的数据包。当数据同步请求跟随重传数据包一起发送时,可以在重传数据包的包头中增加一个bit来标识数据同步请求,实施例对具体的标识方式不进行限定,例如可以用1标识有数据同步请求,0标识无数据同步请求。接收端根据包头携带的信息即可确定发送端是否发送数据同步请求。当重传数据包有多个时,可以仅在第一个重传数据包的包头中增设一个bit以标识数据同步请求,简单方便,也可以在每一个重传数据包的包头作类似设计,可以有效避免第一个重传数据包丢失而导致接收端无法收到数据同步请求的问题。
S270、接收所述接收端发送的所述第二丢包队列中的包标识信息,并根据所述第二丢包队列中的包标识信息更新所述第一丢包队列。
接收端收到数据同步请求后,可以将当前存储的第二丢包队列中的包标识信息发送给发送端,发送端收到第二丢包队列的包标识信息后,即可根据该包标识信息更新第一丢包队列,例如可以将第一丢包队列中的包标识信息替换为第二丢包队列的包标识信息,以实现第一丢包队列和第二丢包队列的包标识信息一致。实施例不限定接收端发送第二丢包队列中包标识信息的形式,只要包含第二丢包队列的所有包标识信息即可。
S280、将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
发送端和接收端同步之后,即可将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
S290、在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
可选的,如果所述重传数据包的等待时间大于或等于第一设定阈值,则将所述重传数据包发送给所述接收端。第一设定阈值可以是至少一个周期,由此可以避免重复发送接收端收到的数据包。
S2100、如果设定时间内未收到所述接收端对所述重传数据包的确认信息,则重新发送所述重传数据包。
设定时间的大小可以根据实际情况设定,例如可以设定为至少一个RTT。这样设置的好处是可以避免丢失数据包的重复发送,也可以在确认重传数据包再次丢失后能够及时的再次重传,提高数据传输的准确性。需要说明的是,发送端在传输截止时间内可以重传丢失的数据包,如果传输截止时间到达后,即使接收端仍未收到重传数据包,发送端也不会再发送,并向接收端发送重传失败的消息。
本实施例在上述实施例的基础上先基于反馈包携带的前一个周期内确认收到的连续数据包的最大包标识信息,确定发送端和接收端是否同步,如果同步,基于反馈包携带的第一数据包的包标识信息更新第一丢包队列,并将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包,如果不同步,则向接收端发送数据同步请求,待发送端和接收端同步后再基于第一丢包队列确定重传数据包,提高了数据传输的准确性。
实施例三
图3为本公开实施例三提供的一种数据处理方法的流程图,本实施例是在上述实施例的基础上进行优化,本实施例的包标识信息以序列号为例,参考图3,该方法可以包括如下步骤:
S310、接收接收端当前周期发送的反馈包。
本实施例的反馈包中除了可以包含接收端在当前周期收到的第一数据包的包标识信息和接收端截至当前周期的前一个周期确认收到的连续数据包的最大包标识信息,还可以包含截止到所述当前周期结束时数据包的丢失数量。接收端在当前周期结束时丢失数据包的数量可以基于接收到的第一数据包的连续性确定,例如接收端在当前周期收到10个数据包,对应的序列号分别为1-7、9、10,则认为序列号为8的数据包丢失,丢失数量为1,累加历史周期的丢失数量即可截止到当前周期结束时数据包的丢失数量。
可以理解的是,在某些情况下,即使当前周期反馈包中最大序列号对应的数据包为第一丢包队列中最小序列号对应的数据包的前一个数据包,也会存在第一丢包队列对应的丢失数据包的数量与接收端统计的丢失数量不一致的情况,例如当前周期结束时接收端的第二丢包队列中存储的序列号为100,101,即丢失数量为2,截至当前周期的前一个周期确认收到的连续数据包的最大序列号为99,发送端的第一丢包队列中存储的序列号为100,则最大序列号99对应的数据包正好为序列号100对应的数据包的前一个数据包,但是第一丢包队列对应的丢失数据包的数量与接收端确定的丢失数量不一致,这种情况下发送端和接收端也不同步。因此本实施例在上述实施例的基础上增加了丢失数量,与最大序列号一起判断发送端和接收端是否同步,可以提高同步判断的准确性,进而提高数据传输的准确性。
S320、确定当前存储的第一丢包队列中的最小包标识信息。
S330、比较所述最小包标识信息和所述最大包标识信息。
S340、所述最大包标识信息对应的数据包是否为所述最小包标识信息对应的数据包的前一个数据包,若是,执行S350,否则执行S370。
S350、根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列。
本实施例最大包标识信息对应的数据包为最小包标识信息对应的数据包的前一个数据包的情况下,进一步判断第一丢包队列对应的丢失数据包的数量与反馈包反馈的丢失数量是否一致。在基于丢失数量进一步判断发送端和接收端是否同步之前,可以先基于反馈包反馈的第一数据包的序列号以及前一个周期反馈包反馈的第一数据包的序列号更新第一丢包队列,以使发送端确定当前周期结束时接收端丢失的数据包的数量,与反馈包反馈的丢失数量在时间上保持同步,更新过程可以参考上述实施例。
S360、所述更新后的第一丢包队列对应的丢失数据包的数量与所述丢失数量是否一致,若是,执行S3100,否则,执行S370。
如果更新后的第一丢包队列对应的丢失数据包的数量与当前周期反馈包反馈的丢失数量一致,则认为发送端和接收端同步,并可以基于更新后的第一丢包队列确定重传数据包。如果更新后的第一丢包队列对应的丢失数据包的数量与当前周期反馈包反馈的丢失数量不一致,则认为发送端和接收端不同步,此时可以向接收端发送数据同步请求,待发送端与接收端同步后再基于更新后的第一丢包队列确定重传数据包。
S370、向所述接收端发送数据同步请求。
S380、接收所述接收端发送的所述第二丢包队列中的包标识信息。
S390、根据所述第二丢包队列中的包标识信息更新所述更新后的第一丢包队列。
S3100、将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
需要注意的是,在基于最小序列号和最大序列号确定发送端和接收端不同时,仅包含一次更新第一丢包队列的操作,即收到接收端反馈的数据同步请求的响应结果时,基于该响应结果更新第一丢包队列,此时可以将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。在基于丢失数量确定发送端和接收端不同步时,由于最小序列号和最大序列号对的上,即最大序列号对应的数据包为最小序列号对应的数据包的前一个数据包,此时第一丢包队列有一次更新,后续收到接收端反馈的数据同步请求的响应结果时,发送端会再次更新第一丢包队列,此时可以将再次更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
S3110、在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
S3120、如果设定时间内未收到所述接收端对所述重传数据包的确认信息,则重新发送所述重传数据包。
本公开实施例在最大序列号对应的数据包为最小序列号对应的数据包的前一个数据包时,进一步基于丢失数量确定发送端和接收端是否同步,提高了同步判断的准确性,进而提高了数据传输的准确性,其他未描述的细节可以参考上述实施例。
实施例四
图4为本公开实施例四提供的一种数据处理方法的流程图,本实施例可适用于将流媒体数据由发送端传输至接收端的情况。发送端和接收端均可以是具备数据处理功能的终端,例如可以是手机、平板、笔记本等移动终端,也可以是台式机等固定终端或服务器。该方法可以数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可配置在接收端中。如图4所示,该方法具体包括如下步骤:
S410、接收发送端当前周期发送的数据包。
其中,所述数据包包括包标识信息。数据包以及包标识信息的介绍可以参考上述实施例。
S420、在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息。
可选的,接收端可以记录当前周期收到的每一个数据包的包标识信息,得到第一数据包。可选的,可以将收到的数据包的包标识信息存放在数据包集合或数据包数组中,后续可以基于该数据包集合或数据包数组确定当前周期丢失的数据包,数据包集合或数据包数组为空,表示接收端在当前周期未收到数据包。
最大包标识信息可以辅助发送端判断发送端和接收端是否同步,在发送端和接收端同步的情况下确定重传数据包,可以提高重传数据包的准确性,进而提高数据传输的准确性。可选的,可以确定前一个周期的反馈包中反馈的接收端从数据包传输开始到前一个周期结束时所接收到的连续数据包,将连续数据包的尾部数据包对应的包标识信息记为该连续数据包的最大包标识信息。
需要说明的是,如果传输过程中确定某些数据包已经丢弃,则这些丢弃的数据包不会影响连续数据包的确定,例如序列号1-100的数据包之前已经收到,序列号101-110的数据包确定丢弃,前一个周期结束时,接收端收到序列号为111-160、165的数据包,则截至该前一个周期接收端收到的连续数据包的最大包标识信息为序列号160。
S430、将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
传统的反馈机制主要包括ACK和NACK。ACK通常应用在TCP、QUIC等传输协议中,原理是接收端根据接收到的每个数据包向发送端发送ACK,当接收端确定数据包丢失时,重复发送丢包发生前的最后一个ACK,发送端根据收到的ACK判断接收端是否发生丢包以及是否需要重传,这种方式在发生丢包时,容易导致传输阻塞在丢包发生的位置,丢包问题解决前,发送端不会继续传输后续数据。NACK通常应用在如WebRTC等基于RTP的传输协议中,原理是接收端根据收到的数据包的序列号来判断是否发生丢包,只有当发生丢包的时候向发送端主动发送NACK,以标识丢包发生并请求重传。发送端只需根据收到的NACK进行重传,无需阻塞正常的数据包发送来等待重传的完成。这种方式虽然避免了阻塞,但也引入了额外问题,例如接收端只有发现收到的数据包序列号不连续才能感知到丢包的发生,即接收端必须收到丢包后的数据包才能发出NACK,如果传输过程中出现路由器溢出等导致大量数据包丢失,接收端发出NACK的时间会大大延后;其次,如果NACK包丢失,发送端将无法感知丢包,也不会响应重传的请求。
本实施例可以周期性的向发送端发送反馈包,并且反馈包中包含接收端当前周期收到的第一数据包和截至当前周期的前一个周期收到的连续数据包的最大包标识信息,既可以起到ACK和NACK的作用,又可以有效解决NACK的缺陷,同时还可以解决NACK和ACK无法及时处理尾部丢包的缺陷,使得发送端可以及时感知到接收端的丢包问题,并及时确定和发送需要重传的数据包,降低了传输延迟,提高了数据传输的准确性。
本公开实施例四提供一种数据处理方法,应用于接收端,通过接收发送端当前周期发送的数据包,所述数据包包括包标识信息;在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。上述方案可以周期性向发送端发送反馈包,使发送端可以及时感知到接收端的丢包情况,而且反馈包中除了包含接收端当前周期收到的数据包的包标识信息,还包括接收端截至当前周期的前一个周期收到的连续数据包的最大包标识信息,使得发送端可以准确的确定需要重传的数据包,有效解决了数据包的丢包问题,保证了数据传输的准确性。
实施例五
图5为本公开实施例五提供的一种数据处理方法的流程图,本实施例是在上述实施例的基础上进行优化,参考图5,该方法可以包括:
S510、接收发送端当前周期发送的数据包。
S520、在所述当前周期结束时,确定所述当前周期收到的第一数据包、截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息以及截止到所述当前周期结束时数据包的丢失数量。
丢失数量也可以辅助发送端判断发送端和接收端是否同步,本实施例在上述实施例的基础上增加丢失数量,可以提高发送端同步判断的准确性,进而提高重传数据包的准确性。可选的,可以基于上述实施例中的数据包集合或数据包数组确定丢失的数据包以及丢失数量。其他信息的确定过程可以参考上述实施例。
S530、将所述第一数据包的包标识信息、所述最大包标识信息以及所述丢失数量以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
S540、接收所述发送端发送的数据同步请求。
其中,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第一丢包队列用于存储发送端确定的接收端丢失数据包的包标识信息,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失数据包的包标识信息。
S550、响应所述数据同步请求,将所述第二丢包队列中的包标识信息发送给所述发送端,以使所述发送端更新所述第一丢包队列。
实施例不限定数据同步请求的具体响应方式,只要包含第二丢包队列中的全部包标识信息即可。需要说明的是,一个RTT内接收端可以仅发送一次第二丢包队列中的包标识信息,无需重复发送。
本实施例在上述实施例的基础上,在反馈包中增加了丢失数量,使发送端可以同时基于连续数据包的最大包标识信息以及丢失数量判断发送端和接收端是否同步,在确定重传数据包时可以提高重传数据包的准确性,避免重复发送接收端收到的数据包或者无法发送接收端确实丢失的数据包,从而提高数据传输的准确性。
可选的,反馈包中还可以仅包含接收端在当前周期收到的第一数据包的包标识信息以及截止到当前周期结束时数据包的丢失数量。发送端收到反馈包后可以基于第一数据包的包标识信息更新第一丢包队列,将更新后的第一丢包队列对应的丢失数据包的数量与反馈包反馈的丢失数量进行比较,如果两者一致,认为发送端和接收端同步,可以将更新后的第一丢包队列中的包标识信息对应的数据包作为重传数据包,否则,发送端向接收端发送数据同步请求,待发送端和接收端同步后,再基于第一丢包队列确定重传数据包。
实施例六
下面结合几个例子对数据的传输过程进行说明,反馈包中包含第一数据包的包标识信息、接收端截至当前周期的前一个周期确认收到的连续数据包的最大包标识信息以及截止到当前周期结束时数据包的丢失数量。
例1:接收端从传输开始所有数据包包都收到了,前一个周期结束时确认收到的连续数据包的最大seq=100,当前周期内又收到30个包,seq分别为101到129,加131,seq=130没收到。则当前周期结束时,反馈包反馈的连续数据包的最大seq=100,丢失数量为1,第一数据包的序列号为101-129,131。接收端存储的第二丢包队列中的序列号为130。发送端处理反馈包之前存储的第一丢包队列为空,发送端处理反馈包之后存储的第一丢包队列中的序列号为130,此时发送端和接收端同步,则可以将序列号为130的数据包作为重传数据包,并等待一个周期后再确定是否发送。
例2:继续上面例1的情形,下一个周期又收到30个数据包,seq分别为133-162,没有132。则下一个周期结束时,反馈包反馈的连续数据包的最大seq=129,丢失数量为2,第一数据包的序列号为133-162。接收端存储的第二丢包队列中的序列号为130,132。发送端处理反馈包之前存储的第一丢包队列中的序列号为130,该周期内仍然没有收到序列号为130的数据包,则发送端处理反馈包之后存储的第一丢包队列中的序列号为130,132,与反馈包反馈的丢失数量一致,可以确定当前发送端和接收端同步,则可以将序列号为130和132的数据包作为重传数据包,此时序列号为130的数据包可以发送,序列号为132的数据包需要等一个周期。
例3:继续上面例2的情形,下一个周期先收到了乱序的132,又收到19个数据包,seq分别为173-191,163-172没收到。则下一个周期结束时,反馈包反馈的连续数据包的最大seq=129,丢失数量为11,第一数据包的序列号为132,173-191。接收端存储的第二丢包队列中的序列号为130,163-172。发送端处理反馈包之前存储的第一丢包队列中的序列号为130,132,该周期内接收端收到序列号为132的数据包,则可以将第一丢包队列中的序列号132移除,发送端处理反馈包之后存储的第一丢包队列中的序列号为130,163-172,与反馈包反馈的丢失数量一致,可以确定当前发送端和接收端同步,则可以将序列号为130,163-172的数据包作为重传数据包,序列号为130的数据包之前已经发送,序列号为163-172的数据包需要等一个周期。
例4:继续上面例3的情形,下一个周期收到30个数据包,先是130的重传包,然后又收到了seq为192-220的数据包。则下一个周期结束时,反馈包反馈的连续数据包的最大seq=129,丢失数量为10,第一数据包的序列号为130,192-220。接收端存储的第二丢包队列中的序列号为163-172。假设该周期的反馈包没有被发送端收到,此时发送端的第一丢包队列中存储的序列号不变,仍为130,163-172。
例5:继续上面例4的情形,下一个周期收到9个数据包,seq分别为222-230。221没收到。则下一个周期结束时,反馈包反馈的连续数据包的最大seq=162,丢失数量为11,第一数据包的序列号为222-230。发送端处理反馈包之前存储的第一丢包队列中的序列号为130,163-172,与反馈包反馈的最大seq=162对不上,表示发送端和接收端不同步,则发送端向接收端发送数据同步请求,此时可以先基于反馈包反馈的最大seq=162更新第一丢包队列,将第一丢包队列中的序列号130移除,此时第一丢包队列中的序列号为163-172,发送端处理反馈包之后存储的第一丢包队列中的序列号为163-172,192-221。该周期内接收端仍未收到序列号为163-172的数据包,则可以重新发送同步之前确定的序列号为163-172的重传数据包。由于当前处于不同步的状态,因此无法确定序列号为192-221的数据包是否丢失。
例6:继续上面例5的情形,下一个周期没收到数据包。则下一个周期结束时,反馈包反馈的连续数据包的最大seq=162,丢失数量为11,第一数据包的序列号为空。发送端处理反馈包之前存储的第一丢包队列中的序列号为163-172,192-221,发送端处理反馈包之后存储的第一丢包队列中的序列号为163-172,192-221,与反馈包反馈的丢失数量不一致,则发送端继续发送数据同步请求。此时不存在待发送的重传数据包。
例7:继续上面例5的情形,下一个周期,收到了10个重传数据包,seq分别为163-172,并且发现数据包里增加了一个bit,且标识为1,则发送端在下一个周期结束时,发送反馈包的同时发送了nack sync包,用于响应数据同步请求,该nack sync包存储了该周期结束时第二丢包队列存储的序列号。该反馈包反馈的连续数据包的最大seq=220,丢失数量为1,第一数据包的序列号为221。发送端处理反馈包之前存储的第一丢包队列中的序列号为163-172,192-221,处理反馈包和nack sync包后,第一丢包队列中的序列号为221,与反馈包反馈的丢失数量一致,即发送端和接收端同步,此时发送端停止发送数据同步请求,并将序列号为221的数据包作为重传数据包,等待一个周期后可以确定是否重新发送该数据包。
通过上述示例可以看出接收端周期性的向发送端发送反馈包,使发送端可以及时感知接收端的收包情况,并基于反馈包携带的丢失数量和连续数据包的最大序列号判断发送端和接收端是否同步,在保证两者同步后再确定重传数据包,避免了重复发送接收端收到的数据包或者无法发送接收端确实丢失的数据包,提高了数据传输的准确性。
实施例七
图6为本公开实施例七提供的一种数据处理装置的结构图,该装置可以执行上述实施例所述的数据处理方法,并可设置于发送端,如图6所示,该装置可以包括:
反馈包接收模块61,用于接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
重传数据包确定模块62,用于根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
重传数据包发送模块63,用于在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
本公开实施例七提供一种数据处理装置,设置于发送端,通过接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。上述方案可以周期性的接收反馈包,及时感知接收端的丢包情况,并基于反馈包携带的第一数据包的包标识信息和接收端截至当前周期的前一个周期收到的连续数据包的最大包标识信息确定需要重传的数据包,提高了重传数据包的准确性,在重传数据包满足重传条件的情况下将其发送给接收端,有效解决了数据包的丢失问题,提高了数据传输的准确性。
在上述实施例的基础上,重传数据包确定模块62,包括:
最小包标识信息确定单元,用于确定当前存储的第一丢包队列中的最小包标识信息,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息;
第一丢包队列更新单元,用于根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,并将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
在上述实施例的基础上,第一丢包队列更新单元,具体用于:
比较所述最小包标识信息和所述最大包标识信息,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息;
如果所述最大包标识信息对应的数据包为所述最小包标识信息对应的数据包的前一个数据包,则根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列;否则,向所述接收端发送数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息;接收所述接收端发送的所述第二丢包队列中的包标识信息,并根据所述第二丢包队列中的包标识信息更新所述第一丢包队列。
在上述实施例的基础上,所述反馈包还包括截止到所述当前周期结束时数据包的丢失数量;
相应的,第一丢包队列更新单元,具体用于:
比较所述最小包标识信息和所述最大包标识信息,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息;
如果所述最大包标识信息对应的数据包为所述最小包标识信息对应的数据包的前一个数据包,则根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列;
如果更新后的第一丢包队列对应的丢失数据包的数量与所述丢失数量一致,则所述更新后的第一丢包队列不变;否则,向所述接收端发送数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息;接收所述接收端发送的所述第二丢包队列中的包标识信息;根据所述第二丢包队列中的包标识信息更新所述更新后的第一丢包队列。
在上述实施例的基础上,重传数据包发送模块63,具体用于:
如果所述重传数据包的等待时间大于或等于第一设定阈值,则将所述重传数据包发送给所述接收端。
在上述实施例的基础上,该装置还可以包括:
重发模块,用于在将所述重传数据包发送给所述接收端之后,如果设定时间内未收到所述接收端对所述重传数据包的确认信息,则重新发送所述重传数据包。
本公开实施例提供的数据处理装置与上述实施例提供的数据处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行数据处理方法相同的有益效果。
实施例八
图7为本公开实施例八提供的一种数据处理装置的结构图,该装置可以执行上述实施例所述的数据处理方法,并可设置于接收端,如图7所示,该装置可以包括:
数据包接收模块71,用于接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
最大包标识信息确定模块72,用于在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
反馈模块73,用于将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
本公开实施例八提供一种数据处理装置,设置于接收端,通过接收发送端当前周期发送的数据包,所述数据包包括包标识信息;在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。上述方案可以周期性向发送端发送反馈包,使发送端可以及时感知到接收端的丢包情况,而且反馈包中除了包含接收端当前周期收到的数据包的包标识信息,还包括接收端截至当前周期的前一个周期收到的连续数据包的最大包标识信息,使得发送端可以准确的确定需要重传的数据包,有效解决了数据包的丢包问题,保证了数据传输的准确性。
在上述实施例的基础上,该装置还可以包括:
数据同步请求接收模块,用于接收所述发送端发送的数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和接收端存储的第二丢包队列,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失数据包的包标识信息;
响应所述数据同步请求,将所述第二丢包队列中的包标识信息发送给所述发送端,以使所述发送端更新所述第一丢包队列。
在上述实施例的基础上,该装置还可以包括:
丢失数量确定模块,用于在所述当前周期结束时,确定截止到所述当前周期结束时数据包的丢失数量;
相应的,所述反馈包中还包括所述丢失数量。
本公开实施例提供的数据处理装置与上述实施例提供的数据处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行数据处理方法相同的有益效果。
实施例九
下面参考图8,其示出了适于用来实现本公开实施例的电子设备800的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置806加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
实施例十
本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收发送端当前周期发送的数据包,所述数据包包括包标识信息;在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,反馈包接收模块还可以被描述为“接收接收端当前周期发送的反馈包的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种数据处理方法,包括:
接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,所述根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包,包括:
确定当前存储的第一丢包队列中的最小包标识信息,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息;
根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,并将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,所述根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,包括:
比较所述最小包标识信息和所述最大包标识信息;
如果所述最大包标识信息对应的数据包为所述最小包标识信息对应的数据包的前一个数据包,则根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列;否则,向所述接收端发送数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息;接收所述接收端发送的所述第二丢包队列中的包标识信息,并根据所述第二丢包队列中的包标识信息更新所述第一丢包队列。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,所述反馈包还包括截止到所述当前周期结束时数据包的丢失数量;
相应的,所述根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,包括:
比较所述最小包标识信息和所述最大包标识信息,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息;
如果所述最大包标识信息对应的数据包为所述最小包标识信息对应的数据包的前一个数据包,则根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列;
如果更新后的第一丢包队列对应的丢失数据包的数量与所述丢失数量一致,则所述更新后的第一丢包队列不变;否则,向所述接收端发送数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息;接收所述接收端发送的所述第二丢包队列中的包标识信息;根据所述第二丢包队列中的包标识信息更新所述更新后的第一丢包队列。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,所述在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端,包括:
如果所述重传数据包的等待时间大于或等于第一设定阈值,则将所述重传数据包发送给所述接收端。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,在将所述重传数据包发送给所述接收端之后,还包括:
如果设定时间内未收到所述接收端对所述重传数据包的确认信息,则重新发送所述重传数据包。
根据本公开的一个或多个实施例,本公开提供了一种数据处理方法,包括:
接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,还包括:
接收所述发送端发送的数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和接收端存储的第二丢包队列,所述第一丢包队列用于存储所述发送端确定的所述接收端丢失数据包的包标识信息,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失数据包的包标识信息;
响应所述数据同步请求,将所述第二丢包队列中的包标识信息发送给所述发送端,以使所述发送端更新所述第一丢包队列。
根据本公开的一个或多个实施例,本公开提供的数据处理方法中,在所述当前周期结束时,所述方法还包括:
确定截止到所述当前周期结束时数据包的丢失数量;
相应的,所述反馈包中还包括所述丢失数量。
根据本公开的一个或多个实施例,本公开提供了一种数据处理装置,包括:
反馈包接收模块,用于接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
重传数据包确定模块,用于根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
重传数据包发送模块,用于在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
根据本公开的一个或多个实施例,本公开提供了一种数据处理装置,包括:
数据包接收模块,用于接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
最大包标识信息确定模块,用于在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
反馈模块,用于将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
根据本公开的一个或多个实施例,本公开提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时实现如本公开任一所述的数据处理方法。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一所述的数据处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包,包括:
确定当前存储的第一丢包队列中的最小包标识信息,所述第一丢包队列用于存储发送端确定的所述接收端丢失数据包的包标识信息;
根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,并将更新后的第一丢包队列中包标识信息对应的数据包作为重传数据包。
3.根据权利要求2所述的方法,其特征在于,所述根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,包括:
比较所述最小包标识信息和所述最大包标识信息;
如果所述最大包标识信息对应的数据包为所述最小包标识信息对应的数据包的前一个数据包,则根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列;否则,向所述接收端发送数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息;接收所述接收端发送的所述第二丢包队列中的包标识信息,并根据所述第二丢包队列中的包标识信息更新所述第一丢包队列。
4.根据权利要求2所述的方法,其特征在于,所述反馈包还包括截止到所述当前周期结束时数据包的丢失数量;
相应的,所述根据所述最小包标识信息和所述最大包标识信息更新所述第一丢包队列,包括:
比较所述最小包标识信息和所述最大包标识信息;
如果所述最大包标识信息对应的数据包为所述最小包标识信息对应的数据包的前一个数据包,则根据所述第一数据包的包标识信息结合前一个周期的反馈包反馈的第一数据包的包标识信息,更新所述第一丢包队列;
如果更新后的第一丢包队列对应的丢失数据包的数量与所述丢失数量一致,则所述更新后的第一丢包队列不变;否则,向所述接收端发送数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和所述接收端存储的第二丢包队列,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失的数据包的包标识信息;接收所述接收端发送的所述第二丢包队列中的包标识信息;根据所述第二丢包队列中的包标识信息更新所述更新后的第一丢包队列。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端,包括:
如果所述重传数据包的等待时间大于或等于第一设定阈值,则将所述重传数据包发送给所述接收端。
6.根据权利要求1-4任一项所述的方法,其特征在于,在将所述重传数据包发送给所述接收端之后,还包括:
如果设定时间内未收到所述接收端对所述重传数据包的确认信息,则重新发送所述重传数据包。
7.一种数据处理方法,其特征在于,包括:
接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收所述发送端发送的数据同步请求,所述数据同步请求用于请求同步所述发送端存储的第一丢包队列和接收端存储的第二丢包队列,所述第一丢包队列用于存储所述发送端确定的所述接收端丢失数据包的包标识信息,所述第二丢包队列用于存储所述接收端确定的所述接收端丢失数据包的包标识信息;
响应所述数据同步请求,将所述第二丢包队列中的包标识信息发送给所述发送端,以使所述发送端更新所述第一丢包队列。
9.根据权利要求7所述的方法,其特征在于,在所述当前周期结束时,所述方法还包括:
确定截止到所述当前周期结束时数据包的丢失数量;
相应的,所述反馈包中还包括所述丢失数量。
10.一种数据处理装置,其特征在于,包括:
反馈包接收模块,用于接收接收端当前周期发送的反馈包,所述反馈包包括所述接收端在所述当前周期收到的第一数据包的包标识信息和所述接收端截至所述当前周期的前一个周期确认收到的连续数据包的最大包标识信息;
重传数据包确定模块,用于根据所述第一数据包的包标识信息和所述最大包标识信息,确定重传数据包;
重传数据包发送模块,用于在所述重传数据包满足重传条件的情况下,将所述重传数据包发送给所述接收端。
11.一种数据处理装置,其特征在于,包括:
数据包接收模块,用于接收发送端当前周期发送的数据包,所述数据包包括包标识信息;
最大包标识信息确定模块,用于在所述当前周期结束时,确定所述当前周期收到的第一数据包和截至所述当前周期的前一个周期收到的连续数据包的最大包标识信息;
反馈模块,用于将所述第一数据包的包标识信息和所述最大包标识信息以反馈包的形式反馈给所述发送端,以使所述发送端根据所述反馈包确定并发送重传数据包。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时实现如权利要求1-6任一项所述的数据处理方法或如权利要求7-9任一项所述的数据处理方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一项所述的数据处理方法或如权利要求7-9任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503158.2A CN112583529B (zh) | 2020-12-18 | 2020-12-18 | 一种数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011503158.2A CN112583529B (zh) | 2020-12-18 | 2020-12-18 | 一种数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112583529A true CN112583529A (zh) | 2021-03-30 |
CN112583529B CN112583529B (zh) | 2023-10-31 |
Family
ID=75136099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011503158.2A Active CN112583529B (zh) | 2020-12-18 | 2020-12-18 | 一种数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112583529B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783780A (zh) * | 2021-09-29 | 2021-12-10 | 中孚信息股份有限公司 | 一种ieee802.11丢包统计及流量预测方法、***及终端 |
CN114333384A (zh) * | 2022-01-05 | 2022-04-12 | 北京京东方技术开发有限公司 | 通信方法、装置及*** |
WO2023071290A1 (zh) * | 2021-10-29 | 2023-05-04 | 中国电信股份有限公司 | 组播重传方法、装置、服务器以及存储介质 |
CN116132001A (zh) * | 2022-12-19 | 2023-05-16 | 华能信息技术有限公司 | 一种丢包重传方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905234A (en) * | 1987-06-03 | 1990-02-27 | General Electric Company | Apparatus and method for transmitting digital data over a radio communications channel |
CN102377544A (zh) * | 2010-08-10 | 2012-03-14 | 普天信息技术研究院有限公司 | 一种通信***中的重传方法 |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输*** |
CN106452692A (zh) * | 2016-11-30 | 2017-02-22 | 网宿科技股份有限公司 | 一种数据传输方法和*** |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
CN109067503A (zh) * | 2018-09-21 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种数据重传方法和装置 |
CN110784289A (zh) * | 2019-10-31 | 2020-02-11 | 海光信息技术有限公司 | 一种数据重传方法以及数据重传装置 |
CN111953454A (zh) * | 2020-07-16 | 2020-11-17 | 西安万像电子科技有限公司 | 丢包重传方法、设备及存储介质 |
-
2020
- 2020-12-18 CN CN202011503158.2A patent/CN112583529B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905234A (en) * | 1987-06-03 | 1990-02-27 | General Electric Company | Apparatus and method for transmitting digital data over a radio communications channel |
CN102377544A (zh) * | 2010-08-10 | 2012-03-14 | 普天信息技术研究院有限公司 | 一种通信***中的重传方法 |
CN105245317A (zh) * | 2015-10-20 | 2016-01-13 | 北京小鸟听听科技有限公司 | 一种数据传输方法、发送端、接收端和数据传输*** |
CN106452692A (zh) * | 2016-11-30 | 2017-02-22 | 网宿科技股份有限公司 | 一种数据传输方法和*** |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
CN109067503A (zh) * | 2018-09-21 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种数据重传方法和装置 |
CN110784289A (zh) * | 2019-10-31 | 2020-02-11 | 海光信息技术有限公司 | 一种数据重传方法以及数据重传装置 |
CN111953454A (zh) * | 2020-07-16 | 2020-11-17 | 西安万像电子科技有限公司 | 丢包重传方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
YOSUKE TANIGAWA ET AL.: "Selective retransmission with network coding based on restricted block ACK information in wireless LAN multicast", IEEE * |
零: "TCP重传机制", Retrieved from the Internet <URL:https://www.cnblogs.com/-wenli/p/13080675.html> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783780A (zh) * | 2021-09-29 | 2021-12-10 | 中孚信息股份有限公司 | 一种ieee802.11丢包统计及流量预测方法、***及终端 |
WO2023071290A1 (zh) * | 2021-10-29 | 2023-05-04 | 中国电信股份有限公司 | 组播重传方法、装置、服务器以及存储介质 |
CN114333384A (zh) * | 2022-01-05 | 2022-04-12 | 北京京东方技术开发有限公司 | 通信方法、装置及*** |
CN116132001A (zh) * | 2022-12-19 | 2023-05-16 | 华能信息技术有限公司 | 一种丢包重传方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112583529B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112583529B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
JP2014524092A (ja) | 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法 | |
EP3927005A1 (en) | Sidelink monitoring method for vehicle communication, and related device | |
US20190312938A1 (en) | Data Transmission Method And Apparatus | |
CN113992967B (zh) | 一种投屏数据传输方法、装置、电子设备及存储介质 | |
CN105450785B (zh) | 一种文件传输方法和装置 | |
US10021182B2 (en) | Method and apparatus for data synchronization | |
WO2023093879A1 (zh) | 数据传输方法、装置、设备和介质 | |
US8788689B2 (en) | Techniques for improved clock offset measuring | |
CN110830460A (zh) | 一种连接建立方法、装置、电子设备及存储介质 | |
CN111147606A (zh) | 数据传输的方法、装置、终端及存储介质 | |
CN112199174A (zh) | 消息发送的控制方法、装置、电子设备及计算机可读存储介质 | |
CN110233856B (zh) | 报文处理方法、装置及计算机可读存储介质 | |
CN103650401A (zh) | 一种移动终端内部通信方法 | |
CN112713969B (zh) | 数据传输方法和使用该方法的装置、*** | |
CN108540273B (zh) | 一种数据包重传的方法和装置 | |
CN110048865B (zh) | 一种总线数据传输方法、装置、电子设备及存储介质 | |
WO2023078222A1 (zh) | 数据传输方法、装置、设备和介质 | |
CN114979793A (zh) | 一种直播数据传输方法、装置、***、设备和介质 | |
CN112653691B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115086285B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN114513523B (zh) | 数据同步方法、装置、设备及存储介质 | |
CN113535428B (zh) | 请求消息和响应消息的处理方法、装置、设备和介质 | |
CN112019447B (zh) | 数据流量控制方法、装置、***、电子设备、及存储介质 | |
WO2024152920A1 (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 |