CN107634817A - 用于数据传输的方法和装置 - Google Patents

用于数据传输的方法和装置 Download PDF

Info

Publication number
CN107634817A
CN107634817A CN201610573028.3A CN201610573028A CN107634817A CN 107634817 A CN107634817 A CN 107634817A CN 201610573028 A CN201610573028 A CN 201610573028A CN 107634817 A CN107634817 A CN 107634817A
Authority
CN
China
Prior art keywords
redundant
time
data
sending
redundancy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610573028.3A
Other languages
English (en)
Other versions
CN107634817B (zh
Inventor
王凡钊
杨军
郑凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610573028.3A priority Critical patent/CN107634817B/zh
Priority to EP17830201.4A priority patent/EP3461044B1/en
Priority to PCT/CN2017/074340 priority patent/WO2018014552A1/zh
Publication of CN107634817A publication Critical patent/CN107634817A/zh
Priority to US16/251,790 priority patent/US10680759B2/en
Application granted granted Critical
Publication of CN107634817B publication Critical patent/CN107634817B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/1607Details of the supervisory signal
    • H04L1/1657Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明提供一种用于数据传输的方法和装置,该方法包括:根据目标业务的时延要求,确定冗余时间,该冗余时间表示用于发送该目标业务的原始数据的冗余数据的时间,该冗余时间小于或等于该时延要求对应的时间;确定冗余量N,该冗余量N表示冗余数据的发送次数,N为正整数;根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,该N个冗余发送时间间隔的时间总和小于或等于该冗余时间;发送该目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送该原始数据的冗余数据,n为1,…,N。因此,本发明能够在改善TCP时延性能的同时,有效减少非必须冗余发送。

Description

用于数据传输的方法和装置
技术领域
本发明涉及通信领域,并且更具体地,涉及一种用于数据传输的方法和装置。
背景技术
传输控制协议(Transmission Control Protocol,TCP)被广泛应用于提供可靠的传输服务。网络中的丢包无法避免。传统方案采用超时重传机制来重新发送已被确认丢失的数据包。例如发送端发送数据包后,如果在预定时长内未接收到接收端发送的对应的确认(Acknowledge,ACK)应答,则认为刚发送的数据包丢失,则触发超时重发机制重新发送该数据包。但是,超时重传机制是一种时间间隔呈指数增长的重传机制,即后一次重传的时间间隔要大于前一次重传的时间间隔,而且时间间隔呈指数形式增长,因此,超时重传机制不能满足实时业务对于TCP时延性能的要求。如何改善TCP时延性能成为改进TCP协议的重要方向之一。
当前技术采用前向纠错(Forward Error Correction,FEC)技术解决TCP时延性能问题。FEC技术仅根据网络状态信息确定冗余发送的次数与总时长,虽然能够减少超时重传发生的概率,但是可能产生非必须的冗余发送,增加不必要的网络开销。
发明内容
本发明提供一种用于数据传输的方法和装置,在改善TCP时延性能的同时,能够有效减少非必须冗余发送。
第一方面提供一种用于数据传输的方法,包括:根据目标业务的时延要求,确定冗余时间,所述冗余时间表示用于发送所述目标业务的原始数据的冗余数据的时间,所述冗余时间小于或等于所述时延要求对应的时间;确定冗余量N,所述冗余量N表示冗余数据的发送次数,N为正整数;根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,所述N个冗余发送时间间隔的时间总和小于或等于所述冗余时间;发送所述目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照所述第n个冗余发送时间间隔第n次发送所述原始数据的冗余数据,n为1,…,N。
所述冗余发送时间间隔指的是用于发送所述冗余数据的时间间隔。
应理解,所述N个冗余发送时间间隔均不小于最小发送时间间隔。所述最小发送时间间隔可以是系统预定义的,具体地,例如,所述最小发送时间间隔为20ms。
本方案中,根据目标业务的时延要求,确定冗余时间,然后根据该冗余时间与冗余量,确定冗余发送时间间隔,进而根据确定的冗余发送时间间隔发送该目标业务的冗余数据。一方面,通过发送冗余数据能够降低超时重传的概率,从而改善TCP时延性能;另一方面,根据目标业务的时延要求确定冗余时间,从而使得根据冗余时间与冗余量确定的冗余发送时间间隔的时间总和也在该目标业务的时延要求对应的时间范围内,相比于现有的FEC技术中仅根据网络状态信息确定冗余发送的次数和总时长,能够在一定程度上减少非必须冗余发送。因此,本发明能够在改善TCP时延性能的同时,有效减少非必须冗余发送。
结合第一方面,在第一方面的一种可能的实现方式中,所述根据所述冗余时间与所述冗余量,确定N个冗余发送时间间隔,包括:根据所述冗余时间与所述冗余量,确定所述N个冗余发送时间间隔,所述N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔均大于所述N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔在时间顺序上均早于所述N2个第二冗余发送时间间隔,N1与N2之和等于N。
本方案中,确定的N个冗余发送时间间隔先大后小,从而可以增加在第一个或第二个或非最后一个冗余发送时间间隔内接收到反馈数据(例如ACK)的概率。应理解,当在第x个冗余发送时间间隔内接收到反馈数据后,则停止发送冗余数据,无需按照剩余的冗余发送时间间隔继续发送冗余数据了,x为小于N的正整数。因此,本方案能够进一步地减少非必须冗余发送。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述方法还包括:发送所述目标业务的原始数据之后,在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述原始数据的冗余数据。
本方案能够有效减少非必须冗余发送。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述N1个第一冗余发送时间间隔均大于或等于可信反馈时间,所述N2个第二冗余发送时间间隔均小于所述可信反馈时间,所述可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至所述发送端所需的时间。
应理解,若发送端在时刻t1向接收端发送数据,在时刻t2接收到所述接收端发送的对应的反馈数据,则所述可信反馈时间等于(t2-t1)。当一个冗余发送时间间隔大于或等于所述可信反馈时间时,能够以较高的概率在该冗余发送时间间隔内接收到反馈数据。因此,本发明能够有效减少非必须冗余发送。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述根据所述冗余时间与所述冗余量,确定N个冗余发送时间间隔,包括:基于下列方法中的任一种方法或多种方法的组合,根据所述冗余时间与所述冗余量,确定N个冗余发送时间间隔:随机碰撞、公式计算、程序构建。
在上述某些实现方式中,所述N1个第一冗余发送时间间隔之间可以存在任意大小关系,所述N2个第二冗余发送时间间隔之间也可以存在任意大小关系。
在上述某些实现方式中,N1等于1。
在上述某些实现方式中,N2等于1,所述N1个第一冗余发送时间间隔均等于所述可信反馈时间。
在上述某些实现方式中,在所述冗余时间足够大的情况下,所述N个冗余发送时间间隔中的每个冗余发送时间间隔均大于所述可信反馈时间。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,包括:根据以下公式确定第n个冗余发送时间间隔Tp(n):
其中,MAX()表示求最大值的函数,Tt表示所述冗余时间,n为1,…,N,TTImin表示最小发送时间间隔。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述根据目标业务的时延要求,确定冗余时间,包括:获取所述目标业务的业务类型;根据所述目标业务的业务类型,获取所述目标业务的时延服务等级协议SLA;根据所述时延SLA,确定所述冗余时间。
具体地,根据所述时延SLA与往返传输时间RTT,计算所述冗余时间,所述冗余时间等于所述时延SLA与RTT的差值。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述确定冗余量N,包括:根据以下公式计算所述冗余量N:
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
应理解,所述时延保证率是用户对所述目标业务的用户需求。因此,在本方案中,根据目标业务的时延要求确定所述冗余时间,且根据网络状态信息(即丢包率)与用户需求(即时延保证率)确定所述冗余量,进而根据所述冗余时间与所述冗余量,确定所述N个冗余发送时间间隔。换句话说,本方案是根据目标业务的时延要求、用户需求以及网络状态信息,确定冗余发送时间间隔,然后基于确定的冗余发送时间间隔发送冗余数据。相比于现有的FEC技术中仅根据网络状态信息确定冗余发送的次数和总时长,本发明在保证目标业务的时延要求的基础上,可以在一定程度上减小非必须冗余发送。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,包括:在发送缓存不为空的情况下,根据所述冗余时间与所述冗余量,确定所述N个冗余发送时间间隔。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述方法还包括:若在第三个冗余发送时间间隔内没有接收到反馈数据,将所述冗余量增加INT(N/2)次。
具体地,增加的冗余量对应的时间间隔可以为最小发送时间间隔。
结合第一方面的上述某些实现方式,在第一方面的一种可能的实现方式中,所述方法还包括:在按照所述第n个冗余发送时间间隔第n次发送所述原始数据的冗余数据的过程中,统计网络状态信息,并根据最新获取的网络状态信息,更新所述冗余量与所述冗余发送时间间隔,所述网络状态信息包括丢包率与往返传输时间RTT。
在上述各个实现方式中,可以是在发送所述目标业务的原始数据之前确定所述N个冗余发送时间间隔;也可以是在发送所述目标业务的原始数据之后确定所述N个冗余发送时间间隔。
在上述各个实现方式中,所述反馈数据具体地例如为确认(Acknowledgment,ACK)报文。
第二方面提供一种用于数据传输的方法,包括:
确定目标业务的冗余时间,所述冗余时间表示用于发送所述目标业务的原始数据的冗余数据的时间;确定冗余量N,所述冗余量N表示冗余数据的发送次数,N为正整数;根据所述冗余时间与所述冗余量,确定N个冗余发送时间间隔,所述N个冗余发送时间间隔的时间总和小于或等于所述冗余时间,所述N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔均大于所述N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔在时间顺序上均早于所述N2个第二冗余发送时间间隔,N1与N2之和等于N;发送所述目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照所述第n个冗余发送时间间隔第n次发送所述原始数据的冗余数据,n为1,…,N。
本方案通过发送冗余数据,能够降低超时重传的概率,从而改善TCP时延性能。此外,本方案确定的N个冗余发送时间间隔先大后小,从而可以增加在第一个或第二个或非最后一个冗余发送时间间隔内接收到反馈数据(例如ACK)的概率。应理解,发送所述目标业务的原始数据之后,在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述原始数据的冗余数据,这种情况下则无需按照剩余的冗余发送时间间隔发送冗余数据了,n小于N,因此,能够有效减少非必须要冗余发送。因此,本发明能够在改善TCP时延性能的同时,有效减少非必须冗余发送。
结合第二方面,在第二方面的一种可能的实现方式中,所述N1个第一冗余发送时间间隔均大于或等于可信反馈时间,所述N2个第二冗余发送时间间隔均小于所述可信反馈时间,所述可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至所述发送端所需的时间。
结合第二方面的上述某些实现方式,在第二方面的一种可能的实现方式中,N2等于1,所述N1个第一冗余发送时间间隔均等于所述可信反馈时间。
结合第二方面的上述某些实现方式,在第二方面的一种可能的实现方式中,所述根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,包括:根据以下公式确定第n个冗余发送时间间隔Tp(n):
其中,MAX()表示求最大值的函数,Tt表示所述冗余时间,n为1,…,N,TTImin表示最小发送时间间隔。
结合第二方面的上述某些实现方式,在第二方面的一种可能的实现方式中,所述方法还包括:
发送所述目标业务的原始数据之后,在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述原始数据的冗余数据。
结合第二方面的上述某些实现方式,在第二方面的一种可能的实现方式中,所述确定冗余量N,包括:根据以下公式计算所述冗余量N:
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
第三方面提供了一种用于数据传输的装置,该装置用于执行上述第一方面的各个实现方式中的方法。具体地,该装置可以包括用于执行第一方面的各个实现方式中的方法的模块。
第四方面提供了一种用于数据传输的装置,该装置用于执行上述第二方面的各个实现方式中的方法。具体地,该装置可以包括用于执行上述第二方面的各个实现方式中的方法的模块。
第五方面提供了一种用于数据传输的装置,该装置包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行上述第一方面的各个实现方式中的方法。
第六方面提供了一种用于数据传输的装置,该装置包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行上述第二方面的各个实现方式中的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的场景示意图。
图2是现有FEC技术的示意图。
图3是本发明实施例的用于数据传输的方法的示意性流程图。
图4是本发明实施例的用于数据传输的方法的另一示意性流程图。
图5是本发明实施例的用于数据传输的方法的再一示意性流程图。
图6是本发明实施例提供的用于数据传输的装置的示意性框图。
图7是本发明实施例提供的用于数据传输的装置的另一示意性框图。
图8是本发明实施例提供的用于数据传输的装置的再一示意性框图。
图9是本发明实施例提供的用于数据传输的装置的再一示意性框图。
图10是本发明实施例提供的用于数据传输的系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的用于数据传输的方法与装置应用于对时延要求较高的通信场景。
图1示出本发明实施例的一个应用场景:多角色扮演在线游戏的示意图。该游戏可定义为多个角色协作完成一项任务。该游戏的信息首先从多个用户(如图1中所示的以太网用户、4G用户与WIFI用户)流向数据中心(或服务器),经数据中心处理后再返回用户。这些信息大部分是用户的键盘或者鼠标操作,数据量较小、数据的间隔较长,但时延要求较高。如果在图1所示场景中采用传统的超时重发机制,不能满足实时业务对TCP时延性能的要求。
为了解决超时重传机制产生的时延问题,当前技术中提出FEC技术。
图2示出现有技术中的FEC方法的示意图。S110,发送端与接收端之间建立通信链接,并协商编码数据包的数量。具体地,建立通信链接的过程为:发送端向接收端发送同步(Synchronous,SYN)消息,SYN是TCP/IP建立连接时使用的握手信号;接收端向发送端发送同步确认(SYN ACK)消息,以表示接收到SYN消息,ACK为确认(Acknowledgment);发送端再向接收端发送确认(ACK)消息作为响应。应理解,通过上述握手过程,发送端与接收端之间才能建立起可靠的TCP连接,后续才可以在发送端与接收端之间传递数据。例如,该发送端为客户机,该接收端为服务器。S120,发送端按照S110中协商确定的编码数据包的数量向接收端发送编码数据包(如图2中所示的编码数据包1-8),并通过统计发送编码数据包的数量以及接收到的确认(ACK)的数量,估计网络丢包情况。S130,发送端根据网络丢包情况,计算下次传输时需要发送的编码数据包的数量。S140,按照S130中计算的编码数据包的数量,向接收端发送编码数据包,以进行冗余传输,转到S120中继续估计网络丢包情况。
需要说明的是,图2中所示的编码数据包是针对原始数据包进行编码之后得到的编码包,可以理解为冗余数据包。每次传输时,首先发送原始数据包(图2未示出),然后紧接着发送编码数据包。因此,图2所示的发送端发送编码数据包可以理解为是发送原始数据的冗余数据。
如图2所示,在S120对应的传输过程中,接收到编码数据包5对应的ACK,则这次传输无需触发超时重发机制。再例如,在S140对应的传输过程中,接收到编码数据包11对应的ACK,则这次传输过程也无需触发超时重发机制。因此,现有的FEC技术通过发送冗余数据,降低了超时重传发生的概率,能够改善TCP时延性能。
但是,该FEC技术容易产生非必须冗余发送,造成不必要的开销。如图2所示,在S120对应的传输过程中,发送端接收到编码数据包5对应的ACK,说明接收端只需收到5个编码数据包就成功解码出所有原始数据包了,但实际情况是,发送端发送了8个编码数据包,而且在接收端可能发生大于5个编码数据包被成功收到的情况,而多接收的编码数据包对于接收端的解码过程是多余信息。换句话说,发送端产生了非必须冗余发送,造成不必要的开销,例如非必须冗余发送额外占用了网络传输资源。再例如,S140对应的传输过程中,发送端接收到编码数据包11对应的ACK,则发送端发送编码数据包12就成为非必须冗余发送。
因此,现有的FEC技术可能产生非必须冗余发送,增加不必要的开销。
针对上述技术问题,本发明实施例提出一种用于数据传输的方法与装置,相对于现有的FEC技术,在改善时延性能的同时,能够在一定程度上减少非必须冗余发送,从而降低网络开销。
应理解,本发明实施例的应用场景除了如图1所示的在线游戏场景之外,还可以是其他时延要求较高的通信场景,例如,物联网实时消息的传输、机器与机器间的实时通信、数据中心间保活信息的交互、机器人远程控制等场景。
图3示出本发明实施例的用于数据传输的方法200的示意性流程图,该方法200由发送端设备(下文简称为发送端)执行,该方法200包括:
S210,根据目标业务的时延要求,确定冗余时间,该冗余时间表示用于发送该目标业务的原始数据的冗余数据的时间,该冗余时间小于或等于该时延要求对应的时间。
可选地,作为一种实现方式,根据目标业务的时延要求,确定冗余时间,包括:获取该目标业务的业务类型;根据该目标业务的业务类型,获取该目标业务的时延服务等级协议(Service-Level Agreement,SLA);根据该时延SLA,确定该冗余时间。
具体地,例如,目标业务的业务类型为控制命令,可以将该目标业务的时延SLA设置为1000ms。
可选地,作为一种实现方式,根据该时延SLA,确定该冗余时间,包括:根据该时延SLA与往返传输时间(Round Trip Time,RTT),计算该冗余时间,该冗余时间等于该时延SLA与RTT的差值。
具体地,例如,目标业务的时延SLA为200ms,RTT为50ms,则该冗余时间可以设置为200-50=150ms。
可选地,作为另一种实现方式,根据该时延SLA,确定该冗余时间,包括:根据该时延SLA与可信反馈时间计算该冗余时间,该冗余时间等于该时延SLA与可信反馈时间的差值,该可信反馈时间表示从发送端发送数据起始足够对应的反馈数据到达该发送端的时间。
具体地,例如,目标业务的时延SLA为1000ms,可信反馈时间为250ms,则该冗余时间可以设置为1000-250=750ms。
应理解,该可信反馈时间可以通过统计网络状态信息估计得到,也可以通过经验值计算得到。
S220,确定冗余量N,该冗余量N表示冗余数据的发送次数。
具体地,冗余量N指的是,发送原始数据之后,发送该原始数据的冗余数据的次数。
在本发明实施例中,可以根据不同的网络状态,采用不同的手段确定冗余量。
在网络状态相对稳定、网络状态参数已知的场景(例如数据中心间专线传输场景)中,可以通过统计网络状态信息计算该冗余量。
可选地,作为一种实现方式,根据以下公式计算该冗余量N:
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
具体地,可以通过统计网络状态信息获取丢包率LR。例如通过统计发送的数据包的数量以及接收到的对应的ACK的数量,计算丢包率LR。
时延保证率SR是用户需求参数,对于不同的业务,用户需求的时延保证率可能不同。
假设丢包率为3%,时延保障率为99.999%,则根据公式(1)计算得到冗余量N等于3。
在网络状态变化较快,难以准确获得网络状态信息的场景(例如物联网场景)中,可以根据经验值,确定该冗余量。
具体地,根据经验值估计丢包率的值,然后根据估计的丢包率与用户需求的时延保障率,基于上述公式(1)计算该冗余量。
S230,根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,该N个冗余发送时间间隔的时间总和小于或等于该冗余时间,N为该冗余量,N为正整数。
应理解,冗余发送时间间隔指的是用于发送冗余数据的时间间隔。
需要说明的是,N个冗余发送时间间隔中的第1个冗余发送时间间隔的起始时刻是发送端发送原始数据的时刻。
还需要说明的是,在本发明实施例中,N个冗余发送时间间隔中的每个时间间隔均不小于最小发送时间间隔。最小发送时间间隔指的是系统预定义的最小的发送时间间隔,或者也可称之为发送时间间隔粒度。例如最小发送时间间隔为20ms。
例如,冗余时间为150ms,冗余量为3,最小发送时间间隔为20ms,确定的3个冗余发送时间间隔按照时间先后顺序依次为60ms,60ms和30ms。第1个冗余发送时间间隔60ms的起始时刻是发送端发送原始数据的时刻t1,从时刻t1开始经过60ms后的时刻t2为第1次发送冗余数据的时刻;从时刻t2开始经过60ms后的时刻t3为第2次发送冗余数据的时刻;从时刻t3开始经过30ms后的时刻t4为第3次发送冗余数据的时刻。
S240,发送该目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送该原始数据的冗余数据,n为1,…,N。n为正整数。
本发明实施例中,根据目标业务的时延要求,确定冗余时间,然后根据该冗余时间与冗余量,确定冗余发送时间间隔,进而根据确定的冗余发送时间间隔发送该目标业务的冗余数据。一方面,通过发送冗余数据能够降低超时重传的概率,从而改善TCP时延性能;另一方面,根据目标业务的时延要求确定冗余时间,从而使得根据冗余时间与冗余量确定的冗余发送时间间隔的时间总和也在该目标业务的时延要求对应的时间范围内,相比于现有的FEC技术中仅根据网络状态信息确定冗余发送的次数和总时长,能够在一定程度上减少非必须冗余发送。因此,本发明实施例能够在改善TCP时延性能的同时,有效减少非必须冗余发送。
可选地,在图3所示的实施例中,步骤S210-S230可以在发送目标业务的原始数据之前执行,也可以在发送目标业务的原始数据之后执行,本发明实施例对此不作限定。
具体地,在本发明实施例中,S210、S220与S230均是在发送端的发送缓存不为空的情况下执行的。换句话说,如果发送端的发送缓存为空,则无需发送数据,也无需发送冗余数据了,自然无需确定冗余时间、冗余量以及冗余发送时间间隔了。
还应理解,本发明实施例中提及的冗余数据可以是针对一个原始数据(数据包或报文)的直接冗余;也可以是对一组原始数据(例如多个数据包或一组报文)经过处理(例如,编码、拆分、组合等)后的冗余,本发明实施例对此不作限定。
还应理解,本发明实施例中提及的报文可以是数据报文也可以是控制报文。
可选地,作为一个实施例中,S230根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,包括:根据该冗余时间与该冗余量N,确定该N个冗余发送时间间隔,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔均大于该N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,N1与N2之和等于N。
该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,指的是,该N1个第一冗余发送时间间隔对应的时刻点均在该N2个第二冗余发送时间间隔对应的时刻点之前。
应理解,本发明实施例确定的N个冗余发送时间间隔整体上呈现出先大后小的特点。还应理解,冗余发送时间间隔越大,接收到反馈数据的概率越高。还应理解,在本发明实施例中,发送该目标业务的原始数据之后,在该第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送该原始数据的冗余数据,n为小于N的整数。本发明实施例中的冗余发送时间间隔先大后小,能够以较高概率在N个冗余发送时间间隔的第一个或第二个或第三个或者其他非最后一个冗余发送时间间隔内接收到反馈数据,则无需按照全部冗余发送时间间隔发送冗余数据,能够有效减少和非必须冗余发送,从而减小网络开销。
可选地,在本发明实施例中,该N1个第一冗余发送时间间隔之间可以存在任意大小关系,该N2个第二冗余发送时间间隔之间也可以存在任意大小关系。
具体地,例如,冗余时间为270ms,冗余量为5,最小发送时间间隔为20ms,确定的5个冗余发送时间间隔为90ms、50ms、60ms、30ms、40ms,其中,90ms、50ms、60ms对应于本发明实施例中的N1(等于3)个第一冗余发送时间间隔,30ms、40ms对应于本发明实施例中的N2(等于2)个第二冗余发送时间间隔。
可选地,在本发明实施例中,N1等于1。
具体地,例如,冗余时间为150ms,冗余量为3,最小发送时间间隔为20ms,确定的3个冗余发送时间间隔为60ms、40ms、50ms。其中,60ms对应于本发明实施例中的N1(等于1)个第一冗余发送时间间隔,40ms与50ms对应于本发明实施例中的N2(等于2)个第二冗余发送时间间隔。
可选地,在本发明实施例中,该N1个第一冗余发送时间间隔均大于或等于可信反馈时间,该N2个第二冗余发送时间间隔均小于该可信反馈时间,该可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至该发送端所需的时间。
应理解,若发送端在时刻t1向接收端发送数据,在时刻t2接收到该接收端发送的对应的反馈数据,则可信反馈时间可以设置为(t2-t1)。
具体地,例如,冗余时间为200ms,冗余量为4,可信反馈时间为60ms,最小发送时间间隔为20ms,确定的4个冗余发送时间间隔为60ms,70ms,30ms,40ms。其中,60ms与70ms这两个时间间隔对应于本发明实施例的N1(等于2)个第一冗余发送时间间隔,30ms与40sms这两个时间间隔对应于本发明实施例的N2(等于2)个第二冗余发送时间间隔。
具体地,可以通过统计网络状态信息,获取该可信反馈时间。
应理解,当一个冗余发送时间间隔大于或等于该可信反馈时间时,能够以较高的概率在该冗余发送时间间隔内接收到反馈数据。因此,本发明实施例能够有效减少非必须冗余发送。
可选地,在本发明实施例中,N2等于1,该N1个第一冗余发送时间间隔均等于该可信反馈时间。
具体地,例如,冗余时间为150ms,冗余量为3,可信反馈时间为60ms,最小发送时间间隔为20ms,确定的3个冗余发送时间间隔为60ms,60ms,30ms。其中,60ms与60ms这两个时间间隔对应于本发明实施例的N1(等于2)个第一冗余发送时间间隔,30ms对应于本发明实施例的N2(等于1)个第二冗余发送时间间隔。
可选地,在本发明实施例中,在冗余时间足够大的情况下,该N个冗余发送时间间隔中的每个冗余发送时间间隔均大于该可信反馈时间。
具体地,例如,冗余时间为210ms,冗余量为3,可信反馈时间为60ms,最小发送时间间隔为20ms,确定的3个冗余发送时间间隔为70ms,80ms,60ms。其中,70ms与80ms这两个时间间隔对应于本发明实施例的N1(等于2)个第一冗余发送时间间隔,60ms对应于本发明实施例的N2(等于1)个第二冗余发送时间间隔。
可选地,在本发明实施例中,S230根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,包括:基于下列方法中的任一种方法或多种方法的组合,根据该冗余时间与该冗余量,确定N个冗余发送时间间隔:随机碰撞、公式计算、程序构建。
可选地,在本发明实施例中,S230根据该冗余时间与该冗余量N,确定N个冗余发送时间间隔,包括:
根据以下公式确定第n个冗余发送时间间隔Tp(n):
其中,MAX()表示求最大值的函数,Tt表示该冗余时间,n为1,…,N,TTImin表示最小发送时间间隔,例如为20ms。
因此,在本发明实施例中,确定的N个冗余发送时间间隔整体上呈现出先大后小的特点,能够以较高概率在N个冗余发送时间间隔的第一个或第二个或第三个或者其他非最后一个冗余发送时间间隔内接收到反馈数据,则无需按照全部冗余发送时间间隔发送冗余数据,能够有效减少和非必须冗余发送,从而减小网络开销。
上述可知,图3所示的实施例中的步骤S210-S230可以看作是冗余数据的调度过程,实际发送过程中,并非全部按照S230确定的冗余发送时间间隔发送冗余数据。
图4示出了本发明实施例的用于数据传输的方法的另一示意性流程图。
S310,发送端与接收端之间建立通信链接(即TCP连接)。
具体地,建立通信链接的过程为:发送端向接收端发送同步(Synchronous,SYN)消息,SYN是TCP/IP建立连接时使用的握手信号;接收端向发送端发送同步确认(SYN ACK)消息,以表示接收到SYN消息,ACK为确认(Acknowledgment);发送端再向接收端发送确认(ACK)消息作为响应。应理解,通过上述握手过程,发送端与接收端之间才能建立起可靠的TCP连接,后续才可以在发送端与接收端之间传递数据。例如,该发送端为客户机,该接收端为服务器。
S320,在发送数据之前,发送端获知待发送数据的业务类型为控制消息,发送端需要发送两个控制消息,以数据包D1和数据包D2为例。
S330,发送端根据冗余时间与冗余量确定N个冗余发送时间间隔,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔均大于该N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,N1与N2之和等于N。关于N1个第一冗余发送时间间隔与N2个第二冗余发送时间间隔的详细描述请参见上文,为了简洁,这里不再赘述。
具体地,例如,冗余时间为120ms,冗余量为3,最小发送时间间隔为20ms,确定的3个冗余发送时间间隔:60ms,40ms,20ms。
S340,发送端向接收端发送首个数据包D1,并在第一个冗余发送时间间隔(例如60ms)内接收到数据包D1的确认(ACK),即接收端成功确认了数据包D1的正确接收。
在这种情形下,发送端无需根据S330确定的冗余发送时间间隔发送数据包D1的冗余数据了,具体地,如图4所示,无需按照S330确定的3个冗余发送时间间隔来发送数据包D1的冗余数据包R11,R12,R13。
S350,发送端根据冗余时间与冗余量确定冗余发送时间间隔。
具体地,例如,冗余时间为120ms,冗余量为3,最小发送时间间隔为20ms,确定的3个冗余发送时间间隔:60ms,40ms,20ms。
S360,发送端继续向接收端发送第二个数据包D2,在第一个冗余发送时间间隔(60ms)内并没有接收到接收端发送的ACK。
S370,发送端在发送数据包D2之后经过S350确定的第一个冗余发送时间间隔(60ms)之后的时刻发送D2的冗余数据包R21,并在第二个冗余发送时间间隔(40ms)内接收到冗余数据包R21的确认(ACK)。
这种情形下,发送端无需再根据第二个和第三个冗余发送时间间隔发送数据包D2的冗余数据包R22和R23了。
因此,在本发明实施例中,通过将冗余发送时间间隔设置为先大后小的特点,能够以较高概率在N个冗余发送时间间隔的第一个或第二个或第三个或者其他非最后一个冗余发送时间间隔内接收到反馈数据,因此,无需按照全部冗余发送时间间隔发送冗余数据,从而能够有效减少非必须冗余发送。
应理解,在图4所示的实施例中,步骤S330可以在发送数据包D1之前执行,也可以在发送数据包D1的同时或之后执行,本发明实施例对此不作限定,当然步骤S330一定是在开始发送冗余数据之前执行的。
还应理解,步骤S350与步骤330是同一个步骤。
具体地,在针对数据包D2的传输过程中,无需重新确定冗余发送时间间隔,可以直接利用S330的确定结果。即可以省略步骤S350。
可选地,步骤S350也可以是区别于步骤330的步骤。
具体地,在针对数据包D2的传输过程中,可以根据当前的网络状态信息重新确定数据包D2的冗余发送时间间隔。即在本发明实施例中,在冗余传输开始之后的任意时刻都可以动态调整冗余量以及冗余发送时间间隔。
具体地,在图3所示的实施例中,若在N个冗余发送时间间隔的第一个冗余发送时间间隔内没有收到原始数据的反馈数据,按照第一个冗余发送时间间隔第一次发送原始数据的冗余数据;若在第二个冗余发送时间间隔内没有收到第一次发送的冗余数据的反馈数据,按照第二个冗余发送时间间隔第二次发送原始数据的冗余数据;若在第三个冗余发送时间间隔内没有收到第二次发送的冗余数据的反馈数据,按照第三个冗余发送时间间隔第三次发送原始数据的冗余数据,以此类推,直至接收到某一次发送的冗余数据的反馈数据或者使用完S230中确定的冗余发送时间间隔。可选地,在本发明实施例中,在第三个冗余发送时间间隔内没有收到第二次发送的冗余数据的反馈数据的情况下,将冗余量增加INT(N/2)次。具体地,增加的冗余量对应的时间间隔可以为最小发送时间间隔。
可选地,在图3所示的实施例中,该方法还包括:在按照该第n个冗余发送时间间隔第n次发送该原始数据的冗余数据的过程中,统计网络状态信息,并根据最新获取的网络状态信息,更新冗余量与冗余发送时间间隔,该网络状态信息包括丢包率与往返传输时间RTT。
可选地,在图3所示的实施例中,S240可以根据S230中确定N个冗余发送时间间隔发送冗余数据;也可以在发送冗余数据的过程中,动态调整冗余量与冗余发送时间间隔。具体地,可以分别根据步骤S220与S230的手段动态确定冗余量与冗余发送时间间隔,具体内容参见上文相关描述,为了简洁,这里不再赘述。
图5示出本发明另一个实施例的用于数据传输的方法400的示意性流程图,该方法400可以由发送端设备执行,该方法400包括:
S410,确定目标业务的冗余时间,该冗余时间表示用于发送该目标业务的原始数据的冗余数据的时间。
应理解,S410包括但不限于根据目标业务的时延要求确定冗余时间。
S420,确定冗余量N,该冗余量N表示冗余数据的发送次数,N为正整数。
具体描述参见上文S220的描述,这里不再赘述。
S430,根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,该N个冗余发送时间间隔的时间总和小于或等于该冗余时间,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔均大于该N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,N1与N2之和等于N。
具体描述请参见上文关于N个冗余发送时间间隔的描述,这里不再赘述。
S440,发送该目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送该原始数据的冗余数据,n为1,…,N。
具体描述请参见上文,这里不再赘述。
在本发明实施例中,通过发送冗余数据,能够降低超时重传的概率,从而改善TCP时延性能。此外,本方案确定的N个冗余发送时间间隔先大后小,从而可以增加在第一个或第二个或非最后一个冗余发送时间间隔内接收到反馈数据(例如ACK)的概率。应理解,发送该目标业务的原始数据之后,在该第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送该原始数据的冗余数据,这种情况下则无需按照剩余的冗余发送时间间隔发送冗余数据了,n小于N,因此,能够有效减少非必须要冗余发送。因此,本发明实施例能够在改善TCP时延性能的同时,有效减少非必须冗余发送。
可选地,在本发明实施例中,该方法400还包括:
发送该目标业务的原始数据之后,在该第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送该原始数据的冗余数据。
具体描述请参见上文,这里不再赘述。
可选地,在本发明实施例中,该N1个第一冗余发送时间间隔均大于或等于可信反馈时间,该N2个第二冗余发送时间间隔均小于该可信反馈时间,该可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至该发送端所需的时间。
具体描述请参见上文,这里不再赘述。
可选地,在本发明实施例中,N2等于1,该N1个第一冗余发送时间间隔均等于该可信反馈时间。
具体描述请参见上文,这里不再赘述。
可选地,在本发明实施例中,根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,包括:根据上文所示公式(2)确定第n个冗余发送时间间隔Tp(n)。具体描述请参见上文,这里不再赘述。
本发明实施例的用于数据传输的方法既可以应用于网络状态变化较快、难以获得网络状态信息的场景,例如物联网;也可以应用于网络状态相对稳定、能够获知网络状态信息的场景,例如数据中心间专线传输的场景。下面分别以这两种场景为例描述本发明实施例的方法。
第一种场景:网络状态变化较快、难以准确获得网络状态信息。
这种场景中,无线网络和有线网络混合,甚至跨国跨运营商,所以网络状态差别较大、变化也较为迅速。例如,在物理网中,数据量一般较小,更增加获取网络状态信息的难度。
本发明实施例的方法应用在第一种场景中的基本流程为:
假设发送端的发送缓存不为空。
510,发送端根据对网络状态信息的非精确估计,确定冗余时间。
具体地,发送端判断待发送数据的业务类型为控制命令,则将待发送数据的时延SLA设置为1000ms。根据对网络状态信息的非精确估计,发送端设置冗余时间Tt=1000-△,△可以表示可信反馈时间,这种场景下,该可信反馈时间为经验值。例如根据经验值获知可信反馈时间△为250ms,则冗余时间Tt=1000-△=1000-250=750ms。
520,发送端根据对网络状态信息的非精确估计,确定冗余量。
具体地,例如发送端根据对网络状态信息的非精确估计,估算出丢包率LR,基于用户需求的时延保证率SR,根据上文所述的公式(1)计算冗余量N,例如得到的冗余量N为6。
530,发送端采用“不考虑网络状态的负指数周期调度策略”,根据冗余时间Tt与冗余量N,计算冗余发送时间间隔间隔。
应理解,“不考虑网络状态的负指数周期调度策略”指的是一种将冗余发送时间间隔设置为递减的等比数列的策略,该“不考虑网络状态的负指数周期调度策略”具体如下面公式所示:
其中,MAX()表示求最大值的函数,Tt为冗余时间,N为冗余量,n为1,…,N,TTImin为最小发送时间间隔,为等比数列的公比,b>1,代表Tt被量化为S个时间单位,a(n)=b(N-n)代表第n个冗余发送时间间隔包含a(n)个时间单位,代表第n个冗余发送时间间隔的时间占比,表示冗余时间为Tt时,第n次冗余数据发送距离第(n-1)次冗余数据发送的时间间隔。
应理解,当n取值1时,第(n-1)次冗余数据发送则为第0次冗余数据发送,该第0次冗余数据发送指的是该冗余数据对应的原始数据的发送,而非冗余数据的发送。
具体地,b可以取值为2,则第n次冗余数据发送距离第(n-1)次冗余数据发送的时间间隔(即第n个冗余发送时间间隔)Tp(n)的计算公式(即上文所述的公式(2))为:
应理解,本发明的上述实施例中均以b的取值为2为例进行描述,但本发明实施例对此不作限定。实际应用时可以根据具体需求,酌情考虑b的取值。
540,发送端发送原始数据之后,在第n个冗余发送时间间隔内没有接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送原始数据的冗余数据。
具体地,例如,若在第1个冗余发送时间间隔内没有收到原始数据的反馈数据,按照第1个冗余发送时间间隔第1次发送原始数据的冗余数据;若在第2个冗余发送时间间隔内没有收到第1次发送的冗余数据的反馈数据,按照第2个冗余发送时间间隔第2次发送原始数据的冗余数据;若在第3个冗余发送时间间隔内没有收到第2次发送的冗余数据的反馈数据,按照第3个冗余发送时间间隔第3次发送原始数据的冗余数据,以此类推,直至n的取值为N(本实施例中取值为6)为止。
应理解,在第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送原始数据的冗余数据。
550,发送端如果检测到在540中,第2次发送冗余数据后,在第3个冗余发送时间间隔内没有收到相应的ACK,则增加INT(N/2)次冗余量(在本实施例中增加3次),并重新计算在余下的各次冗余发送时间间隔,计算原则仍然为“不考虑网络状态的负指数周期调度策略”。
需要说明的是,余下的各次冗余发送时间间隔包括原本N次冗余发送时间间隔中除了第1次与第2次冗余发送时间间隔之外的剩余冗余发送时间间隔与新增加的INT(N/2)次冗余量对应的INT(N/2)次冗余发送时间间隔。
560,发送端在540的冗余数据发送过程中,根据数据(原始数据和/或冗余数据)的发送与反馈数据的接收的情况,非精确估计网络状态,并且转S510。
第二种场景:网络状态相对稳定、能够获知网络状态信息。
假设获取到的业务状态信息为:RTT为50ms、RTT抖动为40~60ms、丢包率小于3%、丢包模式为随机丢包和连续丢包混合,可信反馈时间为60ms,时间间隔最小门限值为20ms。目标业务的时延SLA为200ms,时延保障率99.999%。假设发送端始终有数据包发送,即发送端的发送缓存不为空。
本发明实施例的方法应用在第二种场景中的基本流程为:
610,发送端根据目标业务的时延SLA与RTT确定冗余时间。
具体地,冗余时间设置为时延SLA减去RTT,即200-50=150ms。
应理解,在本实施例中,将冗余时间设置为150ms,能够以较高的概率确保最后一次冗余发送也有足够的时间在目标业务的时延SLA内被确认。
620,根据丢包率与时延保证率,确定冗余量N。
具体地,将丢包率LR为3%,时延保障率SR为99.999%,代到上文所示的公式(1)中,计算得到的冗余量N为3。
630,根据610确定的冗余时间与620确定的冗余量N,确定冗余发送时间间隔。
具体地,因为网络状态信息已知,发送端采用最佳冗余调度算法得出相应的冗余发送时间间隔:60ms、60ms、30ms。
该最佳冗余调度算法可以是上述实施例中描述的关于确定N个冗余发送时间间隔的方法,具体描述参见上文,这里不再赘述。
640,按照630确定的N(本实施中取值为3)次冗余发送时间间隔发送冗余数据。
具体地,发送端发送原始数据之后,在第n个冗余发送时间间隔内没有接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送原始数据的冗余数据,n为1,…,N。
应理解,在第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送原始数据的冗余数据。
650,发送端如果检测到在640中,第2次发送冗余数据后,在第3个冗余发送时间间隔内没有收到相应的ACK,则认为网络处于连续丢包状态,临时增加3次冗余量。
具体地,新增加的冗余量对应的3个冗余发送时间间隔均为20ms。新增加的3次冗余发送时间间隔置于上次调度的最后一次冗余发送时间间隔之后。
660,发送端在,640的冗余数据发送过程中,根据数据(原始数据和/或冗余数据)的发送与反馈数据的接收的情况,精确统计网络状态信息,并且转S610。
综上所述,本发明实施例提供的用于数据传输的方法,相对于现有的FEC技术,能够减少非必须冗余发送。
应理解,本发明实施例中涉及的发送端例如可以为客户机,接收端例如可以为服务器。
上文描述了本发明实施例的用于数据传输的方法,下面本发明实施例的用于数据传输的装置。
图6示出本发明实施例的用于数据传输的装置700的示意性框图,该装置700包括:
确定模块710,用于根据目标业务的时延要求,确定冗余时间,该冗余时间表示用于发送该目标业务的原始数据的冗余数据的时间,该冗余时间小于或等于该时延要求对应的时间;该确定模块710还用于,确定冗余量N,该冗余量N表示冗余数据的发送次数,N为正整数;该确定模块710还用于,根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,该N个冗余发送时间间隔的时间总和小于或等于该冗余时间;发送模块720,用于发送该目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送该原始数据的冗余数据,n为1,…,N。
本发明实施例的用于数据传输的装置700能够有效减小非必须冗余发送。
可选地,在本发明实施例中,该确定模块710用于,根据该冗余时间与该冗余量,确定该N个冗余发送时间间隔,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔均大于该N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,N1与N2之和等于N。
可选地,在本发明实施例中,该N1个第一冗余发送时间间隔均大于或等于可信反馈时间,该N2个第二冗余发送时间间隔均小于该可信反馈时间,该可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至该发送端所需的时间。
可选地,在本发明实施例中,N2等于1,该N1个第一冗余发送时间间隔均等于该可信反馈时间。
可选地,在本发明实施例中,该确定模块710用于,根据以下公式确定第n个冗余发送时间间隔Tp(n):
其中,MAX()表示求最大值的函数,Tt表示该冗余时间,n为1,…,N,TTImin表示最小发送时间间隔。
可选地,在本发明实施例中,该发送模块720还用于,发送该目标业务的原始数据之后,在该第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送该原始数据的冗余数据。
可选地,在本发明实施例中,该确定模块710用于,根据以下公式计算该冗余量N:
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
应理解,本发明实施例中的装置700以功能单元的形式体现。在一个可选例子中,本领域技术人员可以理解,装置700可对应于本发明实施例的用于数据传输的方法中的发送端,可以用于执行上述本发明实施例的用于数据传输的方法中的相应流程和/或步骤,为避免重复,在此不再赘述。
具体地,在本发明实施例中,确定模块710可以由处理器实现,发送模块720可以由发送器实现。
图7示出本发明实施例的用于数据传输的装置800的示意性框图,该装置800包括:
确定模块810,用于确定目标业务的冗余时间,该冗余时间表示用于发送该目标业务的原始数据的冗余数据的时间;该确定模块810还用于,确定冗余量N,该冗余量N表示冗余数据的发送次数,N为正整数;该确定模块810还用于,根据该冗余时间与该冗余量,确定N个冗余发送时间间隔,该N个冗余发送时间间隔的时间总和小于或等于该冗余时间,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔均大于该N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,N1与N2之和等于N;发送模块820,用于发送该目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送该原始数据的冗余数据,n为1,…,N。
本发明实施例的用于数据传输的装置800能够有效减小非必须冗余发送。
可选地,在本发明实施例中,该N1个第一冗余发送时间间隔均大于或等于可信反馈时间,该N2个第二冗余发送时间间隔均小于该可信反馈时间,该可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至该发送端所需的时间。
可选地,在本发明实施例中,N2等于1,该N1个第一冗余发送时间间隔均等于该可信反馈时间。
可选地,在本发明实施例中,确定模块810用于,根据以下公式确定第n个冗余发送时间间隔Tp(n):
其中,MAX()表示求最大值的函数,Tt表示该冗余时间,n为1,…,N,TTImin表示最小发送时间间隔。
可选地,在本发明实施例中,该发送模块820还用于,发送该目标业务的原始数据之后,在该第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送该原始数据的冗余数据。
应理解,本发明实施例中的装置800以功能单元的形式体现。在一个可选例子中,本领域技术人员可以理解,装置800可对应于本发明实施例的用于数据传输的方法中的发送端,可以用于执行上述本发明实施例的用于数据传输的方法中的相应流程和/或步骤,为避免重复,在此不再赘述。
具体地,在本发明实施例中,确定模块810可以由处理器实现,发送模块820可以由发送器实现。
图8示出本发明实施例的用于数据传输的装置900的示意性框图,该装置900可对应于本发明实施例的用于数据传输的方法中的发送端,以及可以对应于本发明实施例的用于数据传输的装置700和装置800。该装置900包括:程序处理电路910、存储介质920和信号收发电路930。存储介质920用于存储程序或指令;程序处理电路910用于执行存储介质920中存储的程序或指令,且对存储介质920中存储的程序或指令的执行使得程序处理电路910用于执行上述本发明实施例的用于数据传输的方法中的相应流程,为了简洁,在此不再赘述。
程序处理电路910用于数字信息的处理。信号收发电路930用于物理信号的收发。存储介质920用于存储信息处理过程中的数据和程序,存储介质920可以集成到或者独立于程序处理电路910和/或信号收发电路930。
程序处理电路910可以被实现为一个或多个可用于程序执行的结构,具体功能是处理和/或发送数据、控制数据存储与访问等。
具体地,程序处理电路910包括但不限于,现场可编程门阵列(FPGA),数字信号处理器(DSP),通用处理器(CPU),专用集成电路(ASIC)或其它可编程逻辑组件。
信号收发电路930用于支持网元与一个或多个网元之间的物理信号。
信号收发电路930包含一个或者多个信号收发模块。每个信号收发模块包括但不限于,物理信号的捕获、滤波、信号放大、功率放大、辐射、模数数模转换、调制与解调、解码与编码等功能子模块。这些(子)模块可以是电路或者程序,多个收发模块可以共用一个或者多个功能子模块。
存储介质920是可读写的一种介质或者多种介质的组合,包括但不限于,光存储介质920(例如,数字多功能盘(DVD)),磁存储设备(例如,磁条、软盘),随机存取存储器(RAM),只读存储器(ROM),可编程ROM(PROM),可擦除PROM(EPROM),寄存器,智能卡,闪存设备等。
程序处理电路910包括协议栈模块,该协议栈模块用于规定网络信息处理原则,其功能由协议栈程序实现。协议栈程序可以包含多个子功能模块,如:物理层模块、数据链路层模块、网络层模块、传输层模块、应用层模块。协议栈程序被存储于存储介质920中,并由程序处理电路910执行。
在本发明实施例中,用于执行上述方法实施例中的方法的指令由协议栈模块承载。
在一个实施例中,本发明实施例的用于数据传输的方法在协议栈程序的传输层模块被实现。
本发明实施例中提及的术语“程序”应该被理解为:指令、代码、软件、函数等。
如图9所示,本发明实施例还提供了一种用于数据传输的装置1000,该装置1000可以对应于上述某些实施例中的发送端,可以用于执行上述方法实施例中与发送端对应的各个流程和/或步骤,为避免重复,在此不再详述。如图9所示,该装置1000包括处理器1010、存储器1020、总线系统1030、接收器1040和发送器1050。其中,处理器1010、存储器1020、接收器1040和发送器1050通过总线系统1030相连。存储器1020用于存储指令,处理器1010用于执行存储器1020存储的指令,并且对存储器1020中存储的指令的执行使得处理器1010用于控制接收器1040接收信号,并控制发送器1050发送信号。处理器1010用于,根据目标业务的时延要求,确定冗余时间,该冗余时间表示用于发送该目标业务的原始数据的冗余数据的时间,该冗余时间小于或等于该时延要求对应的时间;确定冗余量N,该冗余量N表示该冗余数据的发送次数,N为正整数;根据该冗余时间与该冗余量N,确定N个冗余发送时间间隔,该N个冗余发送时间间隔的时间总和小于或等于该冗余时间;发送器1050用于,发送该目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照该第n个冗余发送时间间隔第n次发送该冗余数据,n为1,…,N。
本发明实施例的用于数据传输的装置能够有效减小非必须冗余发送。
可选地,在本发明实施例中,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔均大于该N2个第二冗余发送时间间隔,该N1个第一冗余发送时间间隔在时间顺序上均早于该N2个第二冗余发送时间间隔,N1与N2之和等于N。
可选地,在本发明实施例中,该N1个第一冗余发送时间间隔均大于或等于可信反馈时间,该N2个第二冗余发送时间间隔均小于该可信反馈时间,该可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至该发送端所需的时间。
可选地,在本发明实施例中,N2等于1,该N1个第一冗余发送时间间隔均等于该可信反馈时间。
可选地,在本发明实施例中,该处理器1010用于,根据以下公式确定第n个冗余发送时间间隔Tp(n):
其中,MAX()表示求最大值的函数,Tt表示该冗余时间,TTImin表示最小发送时间间隔。
可选地,在本发明实施例中,该处理器用于,根据以下公式计算该冗余量N:
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
可选地,在本发明实施例中,该发送器1050还用于,发送该目标业务的原始数据之后,在该第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送该冗余数据。
可选地,本发明实施例中,处理器1010可以是中央处理单元(Central ProcessingUnit,简称为“CPU”),处理器1010还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(Application Specific IntegratedCircuits,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器1020可以包括只读存储器和随机存取存储器,并向处理器1010提供指令和数据。存储器1020的一部分还可以包括非易失性随机存取存储器。例如,存储器1020还可以存储设备类型的信息。
总线系统1030除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1030。
在实现过程中,上述方法的各步骤可以通过处理器1010中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1020,处理器1010读取存储器1020中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本发明实施例的用于数据传输的装置能够有效减小非必须冗余发送。
图10示出本发明实施例的用于数据传输的系统1100的示意图,该系统1100包括发送端1110与接收端1120。发送端1110对应于本发明实施例的用于数据传输的方法中的发送端,还可对应于本发明实施例的用于数据传输的装置700和800。接收端1120对应于本发明实施例的用于数据传输的方法中的接收端。
发送端1110通过应用层的应用程序模块获取目标业务的时延SLA;根据时延SLA确定冗余时间;通过估计网络状态估计丢包率,并根据丢包率与时延保障率确定冗余量N;根据冗余时间与冗余量,确定N个冗余发送时间间隔,该N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个冗余发送时间间隔,N1个第一冗余发送时间间隔均大于或等于可信反馈时间,N2个冗余发送时间间隔均小于可信反馈时间;按照N个冗余发送时间间隔向接收端1120发送冗余数据。
发送端1110与接收端1120之间基于N个冗余发送时间间隔传输冗余数据以及传输反馈数据的过程如图9中“冗余数据发送”与“冗余反馈发送”的放大图所示。
图9中所示的慢阶段对应本发明实施例中的N1个第一冗余发送时间间隔,图9中所示的快阶段对应本发明实施例中的N2个第二冗余发送时间间隔。可以理解为:发送端1110确定的N个冗余发送时间间隔相当于将冗余数据的发送过程分为慢、快两个阶段。
发送端在发送完目标业务的原始数据后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照所述第n个冗余发送时间间隔第n次发送所述原始数据的冗余数据,n为1,…,N;在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述原始数据的冗余数据。
如图9所示,确定N个冗余发送时间间隔的动作发生在发送端1110的传输层。
如图9所示,发送端1110与接收端1120中均包括一下五层协议:物理层、数据链路层、IP层、传输层、应用层。应理解,发送端1110与接收端1120之间数据(包括原始数据、冗余数据、反馈数据)的传输从逻辑层面看,可以认为是直接在传输层面上执行;从物理实现层面看,收发端之间的数据传输是通过物理信道传输的。具体地,发送端1110在传输层确定的待发送数据,会依次经过发送端1110的IP层、数据链路层以及物理层的处理,最终通过物理信道到达接收端1120的物理层,接收端1120物理层接收到的数据会依次经过接收端1120的数据链路层与IP层的处理,最终到达传输层,再进行相应的处理。
还应理解,本文中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种用于数据传输的方法,其特征在于,包括:
根据目标业务的时延要求,确定冗余时间,所述冗余时间表示用于发送所述目标业务的原始数据的冗余数据的时间,所述冗余时间小于或等于所述时延要求对应的时间;
确定冗余量N,所述冗余量N表示所述冗余数据的发送次数,N为正整数;
根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,所述N个冗余发送时间间隔的时间总和小于或等于所述冗余时间;
发送所述目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照所述第n个冗余发送时间间隔第n次发送所述冗余数据,n为1,…,N。
2.根据权利要求1所述的方法,其特征在于,所述N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔均大于所述N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔在时间顺序上均早于所述N2个第二冗余发送时间间隔,N1与N2之和等于N。
3.根据权利要求2所述的方法,其特征在于,所述N1个第一冗余发送时间间隔均大于或等于可信反馈时间,所述N2个第二冗余发送时间间隔均小于所述可信反馈时间,所述可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至所述发送端所需的时间。
4.根据权利要求3所述的方法,其特征在于,N2等于1,所述N1个第一冗余发送时间间隔均等于所述可信反馈时间。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,包括:
根据以下公式确定第n个冗余发送时间间隔Tp(n):
<mrow> <msub> <mi>T</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>M</mi> <mi>A</mi> <mi>X</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>t</mi> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <msup> <mn>2</mn> <mrow> <mi>N</mi> <mo>-</mo> <mi>n</mi> </mrow> </msup> <mrow> <msup> <mn>2</mn> <mi>N</mi> </msup> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>,</mo> <msub> <mi>TTI</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,MAX()表示求最大值的函数,Tt表示所述冗余时间,TTImin表示最小发送时间间隔。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述确定冗余量N,包括:
根据以下公式计算所述冗余量N:
<mrow> <mi>N</mi> <mo>=</mo> <mi>I</mi> <mi>N</mi> <mi>T</mi> <mrow> <mo>(</mo> <msubsup> <mi>log</mi> <mrow> <mi>L</mi> <mi>R</mi> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>S</mi> <mi>R</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
发送所述目标业务的原始数据之后,在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述冗余数据。
8.一种用于数据传输的装置,其特征在于,包括:
确定模块,用于根据目标业务的时延要求,确定冗余时间,所述冗余时间表示用于发送所述目标业务的原始数据的冗余数据的时间,所述冗余时间小于或等于所述时延要求对应的时间;
所述确定模块还用于,确定冗余量N,所述冗余量N表示冗余数据的发送次数,N为正整数;
所述确定模块还用于,根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,所述N个冗余发送时间间隔的时间总和小于或等于所述冗余时间;
发送模块,用于发送所述目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照所述第n个冗余发送时间间隔第n次发送所述原始数据的冗余数据,n为1,…,N。
9.根据权利要求8所述的装置,其特征在于,所述N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔均大于所述N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔在时间顺序上均早于所述N2个第二冗余发送时间间隔,N1与N2之和等于N。
10.根据权利要求9所述的装置,其特征在于,所述N1个第一冗余发送时间间隔均大于或等于可信反馈时间,所述N2个第二冗余发送时间间隔均小于所述可信反馈时间,所述可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至所述发送端所需的时间。
11.根据权利要求10所述的装置,其特征在于,N2等于1,所述N1个第一冗余发送时间间隔均等于所述可信反馈时间。
12.根据权利要求8至10中任一项所述的装置,其特征在于,所述确定模块用于,根据以下公式确定第n个冗余发送时间间隔Tp(n):
<mrow> <msub> <mi>T</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>M</mi> <mi>A</mi> <mi>X</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>t</mi> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <msup> <mn>2</mn> <mrow> <mi>N</mi> <mo>-</mo> <mi>n</mi> </mrow> </msup> <mrow> <msup> <mn>2</mn> <mi>N</mi> </msup> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>,</mo> <msub> <mi>TTI</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,MAX()表示求最大值的函数,Tt表示所述冗余时间,TTImin表示最小发送时间间隔。
13.根据权利要求8至12中任一项所述的装置,其特征在于,所述确定模块用于,根据以下公式计算所述冗余量N:
<mrow> <mi>N</mi> <mo>=</mo> <mi>I</mi> <mi>N</mi> <mi>T</mi> <mrow> <mo>(</mo> <msubsup> <mi>log</mi> <mrow> <mi>L</mi> <mi>R</mi> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>S</mi> <mi>R</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
14.根据权利要求8至13中任一项所述的装置,其特征在于,所述发送模块还用于,发送所述目标业务的原始数据之后,在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述冗余数据。
15.一种用于数据传输的装置,其特征在于,所述装置包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器存储的指令的执行使得所述处理器用于:
根据目标业务的时延要求,确定冗余时间,所述冗余时间表示用于发送所述目标业务的原始数据的冗余数据的时间,所述冗余时间小于或等于所述时延要求对应的时间;
确定冗余量N,所述冗余量N表示所述冗余数据的发送次数,N为正整数;
根据所述冗余时间与所述冗余量N,确定N个冗余发送时间间隔,所述N个冗余发送时间间隔的时间总和小于或等于所述冗余时间;
发送所述目标业务的原始数据之后,在第n个冗余发送时间间隔内未接收到反馈数据的情况下,按照所述第n个冗余发送时间间隔第n次发送所述冗余数据,n为1,…,N。
16.根据权利要求15所述的装置,其特征在于,所述N个冗余发送时间间隔包括N1个第一冗余发送时间间隔和N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔均大于所述N2个第二冗余发送时间间隔,所述N1个第一冗余发送时间间隔在时间顺序上均早于所述N2个第二冗余发送时间间隔,N1与N2之和等于N。
17.根据权利要求16所述的装置,其特征在于,所述N1个第一冗余发送时间间隔均大于或等于可信反馈时间,所述N2个第二冗余发送时间间隔均小于所述可信反馈时间,所述可信反馈时间表示从发送端发送数据开始,到对应的反馈数据返回至所述发送端所需的时间。
18.根据权利要求17所述的装置,其特征在于,N2等于1,所述N1个第一冗余发送时间间隔均等于所述可信反馈时间。
19.根据权利要求15至17中任一项所述的装置,其特征在于,所述处理器用于,根据以下公式确定第n个冗余发送时间间隔Tp(n):
<mrow> <msub> <mi>T</mi> <mi>p</mi> </msub> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>M</mi> <mi>A</mi> <mi>X</mi> <mrow> <mo>(</mo> <msub> <mi>T</mi> <mi>t</mi> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <msup> <mn>2</mn> <mrow> <mi>N</mi> <mo>-</mo> <mi>n</mi> </mrow> </msup> <mrow> <msup> <mn>2</mn> <mi>N</mi> </msup> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <mo>,</mo> <msub> <mi>TTI</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
其中,MAX()表示求最大值的函数,Tt表示所述冗余时间,TTImin表示最小发送时间间隔。
20.根据权利要求15至19中任一项所述的装置,其特征在于,所述处理器用于,根据以下公式计算所述冗余量N:
<mrow> <mi>N</mi> <mo>=</mo> <mi>I</mi> <mi>N</mi> <mi>T</mi> <mrow> <mo>(</mo> <msubsup> <mi>log</mi> <mrow> <mi>L</mi> <mi>R</mi> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>S</mi> <mi>R</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>
其中,INT()为取整函数,LR表示丢包率,SR表示时延保障率。
21.根据权利要求15至20中任一项所述的装置,其特征在于,所述处理器还用于,发送所述目标业务的原始数据之后,在所述第n个冗余发送时间间隔内接收到反馈数据的情况下,停止发送所述冗余数据。
CN201610573028.3A 2016-07-19 2016-07-19 用于数据传输的方法和装置 Active CN107634817B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610573028.3A CN107634817B (zh) 2016-07-19 2016-07-19 用于数据传输的方法和装置
EP17830201.4A EP3461044B1 (en) 2016-07-19 2017-02-22 Method and apparatus for data transmission
PCT/CN2017/074340 WO2018014552A1 (zh) 2016-07-19 2017-02-22 用于数据传输的方法和装置
US16/251,790 US10680759B2 (en) 2016-07-19 2019-01-18 Data transmission method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610573028.3A CN107634817B (zh) 2016-07-19 2016-07-19 用于数据传输的方法和装置

Publications (2)

Publication Number Publication Date
CN107634817A true CN107634817A (zh) 2018-01-26
CN107634817B CN107634817B (zh) 2020-01-31

Family

ID=60992810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610573028.3A Active CN107634817B (zh) 2016-07-19 2016-07-19 用于数据传输的方法和装置

Country Status (4)

Country Link
US (1) US10680759B2 (zh)
EP (1) EP3461044B1 (zh)
CN (1) CN107634817B (zh)
WO (1) WO2018014552A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837513A (zh) * 2019-11-07 2020-02-25 腾讯科技(深圳)有限公司 一种缓存更新方法、装置、服务器及存储介质
CN114521317A (zh) * 2020-04-20 2022-05-20 华为技术有限公司 用于首选数据包的选择性多数据包传输的装置和方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277280B2 (en) * 2018-03-19 2022-03-15 Cable Television Laboratories, Inc. Content centric networking systems and methods
US11477760B2 (en) * 2019-12-19 2022-10-18 Qualcomm Incorporated Frequency diversity techniques for single frequency networks
CN114531210B (zh) * 2022-02-03 2024-01-26 百果园技术(新加坡)有限公司 数据重传方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101500259A (zh) * 2008-01-30 2009-08-05 大唐移动通信设备有限公司 在高速共享数据信道上重传数据的方法、系统及装置
US8457492B2 (en) * 2009-05-25 2013-06-04 Hitachi, Ltd. Optical access system
CN104660380A (zh) * 2013-11-25 2015-05-27 上海益尚信息科技有限公司 新型多标准用于无线通讯网络中动态分配重传控制数据重传的方法
CN105490773A (zh) * 2015-11-26 2016-04-13 珠海多玩信息技术有限公司 传输多媒体数据的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8259565B2 (en) * 2004-09-16 2012-09-04 Qualcomm Inc. Call setup in a video telephony network
CN101141178B (zh) 2006-09-07 2012-02-22 中兴通讯股份有限公司 一种自适应选择传输时间间隔的方法
CN101162978A (zh) * 2006-10-13 2008-04-16 华为技术有限公司 数据混合自动重传方法及装置
CN101765147A (zh) 2008-12-25 2010-06-30 大唐移动通信设备有限公司 一种高速传输环境下的数据包传输方法和装置
GB2496828B (en) 2011-04-01 2013-11-13 Renesas Mobile Corp TTI Adaptation in E-DCH
CN103391554B (zh) * 2012-05-11 2016-05-25 中国移动通信集团公司 一种多时隙捆绑传输方法及装置
US9131498B2 (en) 2012-09-12 2015-09-08 Futurewei Technologies, Inc. System and method for adaptive transmission time interval (TTI) structure
US9166853B2 (en) * 2013-01-10 2015-10-20 Qualcomm Incorporated Rate adaptation for data communication
EP3175570B1 (en) * 2014-07-29 2019-09-25 Panasonic Intellectual Property Corporation of America Conveying number of required harq repetitions for coverage enhancement
US20180115925A1 (en) * 2015-04-09 2018-04-26 Ntt Docomo, Inc. Radio base station, user terminal and radio communication method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101500259A (zh) * 2008-01-30 2009-08-05 大唐移动通信设备有限公司 在高速共享数据信道上重传数据的方法、系统及装置
US8457492B2 (en) * 2009-05-25 2013-06-04 Hitachi, Ltd. Optical access system
CN104660380A (zh) * 2013-11-25 2015-05-27 上海益尚信息科技有限公司 新型多标准用于无线通讯网络中动态分配重传控制数据重传的方法
CN105490773A (zh) * 2015-11-26 2016-04-13 珠海多玩信息技术有限公司 传输多媒体数据的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837513A (zh) * 2019-11-07 2020-02-25 腾讯科技(深圳)有限公司 一种缓存更新方法、装置、服务器及存储介质
CN114521317A (zh) * 2020-04-20 2022-05-20 华为技术有限公司 用于首选数据包的选择性多数据包传输的装置和方法

Also Published As

Publication number Publication date
WO2018014552A1 (zh) 2018-01-25
US10680759B2 (en) 2020-06-09
EP3461044B1 (en) 2020-08-26
EP3461044A1 (en) 2019-03-27
US20190158228A1 (en) 2019-05-23
EP3461044A4 (en) 2019-06-26
CN107634817B (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN107634817B (zh) 用于数据传输的方法和装置
US8930569B2 (en) Methods and apparatus for optimum file transfers in a time-varying network emvironment
US9866351B2 (en) Communication method and communication apparatus
CN110677221B (zh) 重传控制方法、通信接口和电子设备
US20190159064A1 (en) Data transmission method and device
CN112436924B (zh) 一种数据传输方法及电子设备
EP3295591B1 (en) Quality of service driven receiver selective hybrid automatic repeat request for point-to-multipoint communication
US20150043414A1 (en) Communication method of access point (ap) and terminal to retransmit multicast packet based on feedback in network
WO2017097201A1 (zh) 一种数据传输方法、发送装置及接收装置
EP3654563A1 (en) Transmission timeout system
CN106301714B (zh) 一种数据传输方法及装置
CN104683259A (zh) Tcp拥塞控制方法及装置
US20060056523A1 (en) Device and process for adjusting the bit rate of a stream of contents and associated products
CN109560897B (zh) 一种tcp重传方法和装置
CN108696335B (zh) 传输方法、发送端和接收端
US10135576B2 (en) Rateless encoding
US10003470B2 (en) Method and terminal for transmitting and receiving data
WO2021164405A1 (zh) 数据编解码方法、相关设备及系统
EP3725049B1 (en) Transmission method and apparatus
JP2009273094A (ja) データ通信システム、データ通信端末、データ通信方法、およびプログラム
CN111698176A (zh) 数据传输方法、装置、电子设备和计算机可读存储介质
JP2008085950A (ja) Tcpを用いたレート制御方法、サーバ及びプログラム
JP2016019198A (ja) 通信装置、通信装置の制御方法、プログラム
US9531505B1 (en) Determining an amount of hybrid ARQ transmissions based on a series of acknowledgments
JP2009267479A (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
GR01 Patent grant
GR01 Patent grant