CN110324256B - 一种流式数据传输控制方法 - Google Patents

一种流式数据传输控制方法 Download PDF

Info

Publication number
CN110324256B
CN110324256B CN201910393920.7A CN201910393920A CN110324256B CN 110324256 B CN110324256 B CN 110324256B CN 201910393920 A CN201910393920 A CN 201910393920A CN 110324256 B CN110324256 B CN 110324256B
Authority
CN
China
Prior art keywords
data
precision
sending
data segment
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910393920.7A
Other languages
English (en)
Other versions
CN110324256A (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.)
Guangdong Chanming Information Technology Co ltd
Original Assignee
Southwest Jiaotong University
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 Southwest Jiaotong University filed Critical Southwest Jiaotong University
Priority to CN201910393920.7A priority Critical patent/CN110324256B/zh
Publication of CN110324256A publication Critical patent/CN110324256A/zh
Application granted granted Critical
Publication of CN110324256B publication Critical patent/CN110324256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/1867Arrangements specially adapted for the transmitter end
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明专利涉及通信数据传输控制,具体涉及一种流式数据传输控制方法,包括以下操作:将数据分割为数据段,按数据重要程度将各数据段分为多个等级,设定精度等级阈值;使用拥塞窗口与往返时延的比值作为数据的最佳发送速率估计值,根据该值计算并更新各精度等级数据段的发送概率;按照TCP的数据发送机制依次发送被选中的数据段;根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口,并主动调整数据发送精度,控制所要传输数据的量。如果网络带宽变好,增加发送数据的精度;否者,减少发送数据的精度,确保传输的进度。

Description

一种流式数据传输控制方法
技术领域
本发明专利涉及通信数据传输控制,具体涉及一种流式数据传输控制方法。
背景技术
目前,在端对端数据传输服务的构建上,网络主要提供了两类服务模型:一类是面向链接,提供有序、可靠的数据交付服务,典型的代表为基于TCP(传输控制协议)进行数据传输;另一类是面向无连接,提供无序、不可靠的数据传输交付服务,典型代表为基于UDP(用户数据报协议)进行数据传输。
TCP传输协议通过复杂的设计,能够建立端到端的双向链接,提供有序可靠的流式数据传输服务,并能够根据网络的负载和拥塞情况,动态地调整数据的发送速率。
而UDP协议则值提供了非常原始和简单的数据发送和侦听接口,只提供了尽力而为的数据传输能力。如果需要有序、可靠的数据数据交付,需要由应用自己实现。于此同时,UDP 协议本身也不包含拥塞控制机制。
随着网络应用的持续丰富,新兴的应用(如流媒体应用)对网络传输的服务模型提出了新的需求,这些新的传输需求不需要完全可靠的数据交付,但也不希望数据传输完全不可靠。
发明内容
本发明的目的是提供一种可通过调整数据的发送精度从而确保数据传输进度的流式数据传输控制方法。
为了实现上述目的,本申请采用的技术方案是一种流式数据传输控制方法,包括以下操作:
1)将数据分割为数据段,按数据重要程度将各数据段分为多个等级,设定精度等级阈值;
2)使用拥塞窗口与往返时延的比值作为数据的最佳发送速率估计值,根据该值计算并更新各精度等级数据段的发送概率;
3)按照TCP的数据发送机制依次发送被选中的数据段;
4)根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口,并使拥塞窗口的值≤数据段的期望发送速率*往返时延;其中,
当数据段等级值<精度等级阈值时,该数据为基础精度数据;
当数据段等级值≥精度等级阈值时,该数据为增强精度数据;
当被选中的基础精度数据ACK(Acknowledgement,确认字符)超时,则进行重传,并更新拥塞窗口和各精度等级数据段的发送概率;
当被选中的增强精度数据ACK超时,不进行重传,只更新拥塞窗口和各精度等级数据段的发送概率;
当收到的ACK中包含ECN标记,则更新拥塞窗口和各精度等级数据段的发送概率。
应用需要进行流式传输的数据分为多个数据等级,其中一部分需要可靠、有序的数据交付,而另外一部分可以容忍非可靠的数据交付;应用希望网络提供一种介于两者之间的“半可靠”传输控制协议。该协议一方面可以保证可靠数据有序、可靠交付,另一方面能够根据传输路径中链路的负载情况,动态地调整非可靠数据传输的精度。
这种传输协议既能提供比UDP更高级的传输服务,又比TCP更简单,能更充分地利用网络带宽,更好地满足应用的数据传输需求。
上述的ECN(Explicit Congestion Notification)即显式拥塞通告,是某些版本的TCP 用来让中间设备提前告知发送者网络出现拥塞的机制。上述的一个数据段即对应TCP报文中的数据段(segment)。
进一步的是,数据段发送过程中,利用SYN报文和ACK报文的TCP options中的保留字段,按照预设流程协商和确认任务的最大精度分级数目、精度等级阈值和期望发送速率。SYN 即同步序列编号(Synchronize Sequence Numbers),为同步标志,标志仅在三次握手建立TCP 连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。ACK即确认编号(Acknowledgement Number)。TCP报头内的确认编号栏内包含的确认编号为下一个预期的序列编号,同时提示远端***已经成功接收该编号之前的所有数据。
进一步的是,所述预设流程包含以下操作:
最大精度分级数目、精度等级阈值和期望发送速率的协商发生在TCP链接建立阶段;此时,发送端在SYN的TCP options字段中携带P值和RD_MAX值分别表示发送端能够支持的最大精度分级数目以及最大期望发送速率;以及PD_DEFAULT和RD_DEFAULT表示发送端推荐使用的最大精度分级数目和期望发送速率;
其中,接收端将收到的P、RD_MAX、PD_DEFAULT、RD_DEFAULT值保存在本地;对SYN报文进行ACK过程中,接收端将所需的精度等级阈值和所需的期望发送速率,通过ACK报文的TCP options,向发送端确认;
其中,接收端反馈的精度等级阈值<发送端通告的最大精度分级数目,期望发送速率≤发送端通告的RD_MAX值;
如果接收端不反馈,发送端默认采用PD_DEFAULT和RD_DEFAULT作为该接收端对应的传输任务的精度等级阈值和期望发送速率。(对于P、RD_MAX、PD_DEFAULT、RD_DEFAULT,发送端在连接阶段就会发给接收端,此时,接收端可以反馈自己的PD,RD,其他时候,接收端可以再次反馈新的PD,RD,达到更新该值的目的。)
进一步的是,接收端将多个连续的数据段组成数据块,按数据块为单位进行解码,能够容忍增强精度数据段的缺失。在进行数据发送时按发送顺序对数据段进行编号,发送的数据段编号取值j,从0开始编号,与数据段一起发送;所述接收端在收到数据段时,可计算出该数据段对应的数据块编号值为k=j div P,其中div表示整除运算;对应的精度等级信息为i=j mod P,其中mod为求余运算。
若数据块k中所有数据段已经收到,则对该数据块进行解码;
若接收端存在编号值小于k,基础精度数据的数据段均已收齐但尚未解码的数据块,则对该数据块进行解码。
进一步的是,对待传输的所有数据段进行编号和配置;每个数据段中携带所述数据段的编号和表明该数据段重要程度的精度等级编号;等级编号、数据段编号存放于TCP数据段的 TCP options保留字段中,其中,数据段编号与TCP报文头中的seq序列编号独立。
进一步的是,使用拥塞窗口与网络往返时延的比值作为数据的最佳发送速率估计值时,采用第一预设策略随机地挑选所要进行传输的数据段并进行传输;所述第一预设策略为:
P为最大精度分级数目;
PD为精度等级阈值;
i为等级编号;
RD为期望发送速率;
对于精度等级为i的每个数据段,以数据段发送概率Pr(i)被选中;
设当前网络的往返延迟为rtt,拥塞控制窗口大小为cwnd,那么,Pr(i)的取值为:
对于i<PD的精度等级,Pr(i)=1;
对于PD≤i≤P-1的精度等级,Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD))。
发送端在带宽充足时以期望发送速率传输数据,带宽不充足时动态降低传输精度以维持相同或相似的传输进度同时避免拥塞。
上述的数据精度或数据精度等级是通过数据段发送概率来刻画的。Pr(i)是一个0-1之间的数,表示精度等级为i的数据段,以多大的概率被选中传输。如果为1,表示该等级的数据段百分之百传输;如果是0,表示该等级的所有数据段都不传输。
进一步的是,发送端根据是否收到反馈的ACK以及ACK确认的TCP数据段确认号,判断传输过程中是否出现了丢包;
如果基础精度数据的ACK超时,则对该数据段进行重传,并按照TCP原有的策略调整滑动窗口的大小并且同时更新各精度等级数据段的发送概率;
如果增强型精度数据的ACK出现了超时,则不进行重传,按照第二预设策略调整滑动窗口的大小并且同时更新各精度等级数据段的发送概率;
如果发送端收到的ACK携带ECN标记,按照TCP原有的策略调整滑动窗口的大小,并按照新的滑动窗口值,更新各精度等级数据段的发送概率。
有些版本的TCP协议当收到多个确认号相同的ACK时,也为认为网络发生了丢包,会主动重传;同时,有的版本的TCP还引入了SACK等机制。在这些情形下,发送端均按照对应版本TCP原有的策略调整滑动窗口的大小,并更新各精度等级数据段的发送概率。
进一步的是,所述第二预设策略为:调整后的拥塞控制窗口大小=调整前的拥塞控制窗口大小–1。
进一步的是,接收端对于基础精度数据段已经收齐但尚未解码的数据块,当基础精度数据收齐的时间超过预设值时间T,则立即进行解码。
进一步的是,如果网络中间设备支持严格多优先级队列调度,则设支持的优先级数目为 PS,为基础精度数据的数据段携带最高优先级0;精度等级值为PD,PD+1,…,min(P-1, PD+PS-1)的增强精度数据的数据段分别携带优先级1,2,3,…,PS-1,其余精度等级的数据段携带优先级值PS-1。
本发明包含下列至少一种有益效果:
能够根据反馈的链路可用带宽信息,主动调整数据的发送精度,控制所要传输数据的量。如果网络带宽变好,则增加发送数据的精度;否者,减少发送数据的精度,从而减少所要发送的量,确保传输的进度。
根据精度等级将数据划分为需要可靠传输和不需要可靠传输的两类。当传输中出现丢包时,只对丢失的可靠数据进行重传,避免网络有效吞吐率的下降,让传输协议不被非可靠数据的丢包阻塞。
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显。或通过本发明的实践了解到。
附图说明
构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:
图1为用于说明实施方式中的实施方式中的流式数据传输控制方法示意图;
图2为用于说明实施方式中的数据段、数据块发送和编号顺序的示意图;
具体实施方式
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图1和2对本发明进行说明前,需要特别指出的是:
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。
此外,下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
关于本发明中术语和单位。本发明的说明书和权利要求书及有关的部分中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含。
参照图1、2,本实施方式采用一种带宽感知的分级多精度数据半可靠的流式数据传输控制方法。该控制方法可以通过扩展现有的TCP传输协议进行实现(支持在不同版本的TCP上进行扩展)。该方法在实施上包含三类参与者:数据发送端、接收端,以及一个或多个网络中间转发设备。传输控制方案通过发送端和接收端的协作完成。
采用的网络服务模型:
在该控制方法中,每个数据传输任务的需求由三元组<P,PD,RD>来描述。P为最大精度分级数目、PD为精度等级阈值、RD为数据的最佳发送速率。表示应用待传输的每份数据能够被拆分为0,1,…,P-1共P个精度等级(等级值越低越重要);其中,精度等级值小于PD的数据段需要可靠有序的数据交付,称其为基础精度数据;而精度等级值大于或等于PD的数据段只需尽力而为的数据传输服务,称其为增强精度数据;应用期望的数据发送速率为RD,称其为期望发送速率。<P,PD,RD>的取值由数据发送端和接收端在链接建立或数据发送过程中协商一致。
如图2所示,其中一行就是一个数据块,k,k+1,…为数据块编号。每行包含多个数据段, j为数据段编号。一个数据段刚好放到一个TCP数据段中进行传输。
即k为数据块编号,j是数据段编号。每个数据块最多包含P个数据段。解码时,一个数据块中收到的数据段越完整,解码获得的数据就越精确。i和j会携带在数据段中传输。对于接收端而言,通过j以及建立链接时候发送端告知接收端的P,能够反算出该数据段对应的k值。
在该方案中,待传输的数据被均匀的拆分为多个数据块,每个数据块又被编码为P个精度等级;每个数据块中相同精度等级的数据被打包到同一个数据段中,逐层的进行编号和传输。一个数据段对应于TCP传输中的一个数据包,数据段的大小根据网络中TCP的maximum segment size(MSS)确定。数据段中的编号采用循环编号的方式,与TCP的数据段序列号值 seq独立。接收端收到数据段后,解码恢复出各数据块的内容。如果一个数据块中的部分精度分级数据出现了缺失(即数据不全),接收端依然能够进行解码恢复,不过,解码获得的结果会不准确。对于每份数据块,接收端收到的数据段越全,解码获得的数据越精确;并且,等级值越低的数据段对解码精度的贡献越大。
面对上述传输需求,发送端和接收端之间建立一个类似TCP的网络传输链接,流式地进行数据传输;传输结束后断开链接。
链接建立过程中,发送端和接收端对该传输任务的<P,PD,RD>参数进行协商和确认。传输过程中,接收端可以更新该参数。
设当前发送端的拥塞窗口大小为cwnd,网络往返延迟值为rtt。
参照图1,本方法的步骤可以按下列进行:
1.发送端使用cwnd与rtt的比值作为数据的最佳发送速率估计值,并以此确定选择哪些精度的数据段进行传输,具体方式为调整各精度等级数据段的发送概率Pr(i)的取值,其中 i=0,1,…,P-1;对于精度等级为i的数据段,发送端随机地以概率Pr(i)选择是否要发送;
2.发送端按照TCP的数据发送机制依次发送被选中的数据段,接收端对收到的数据段进行确认;
3.发送端根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口cwnd,并使 cwnd的值不超过期望发送速率RD与往返时延rtt之积;
如果被选中的基础精度数据ACK超时,发送端则进行重传,并更新cwnd和Pr(i);如果被选中的增强精度数据ACK超时,发送端不进行重传,只更新cwnd和Pr(i);如果收到的ACK 中包含ECN标记,则更新cwnd和Pr(i)。
在实现上,本方法可基于现有各种版本的TCP协议进行修改扩展,实现相应的控制设计,也可以进行完整的重新设计。基于现有TCP进行扩展的实现方案能够与现有的网络设备兼容,并复用已有的TCP代码实现,因此作为本发明的优选实施方式。
在本方法中,链接建立(或数据发送)过程中,发送端和接收端利用SYN报文(或正常数据报文,即TCP链接建立完成后发送数据时的数据报文,除了在链接建立初期进行相关参数的协商配置外,在数据传输过程中也可以再次重新协商。这个时候,TCP链接已经建立完毕,借助的是数据报文而不是SYN报文来完成参数的传递。)和ACK报文TCP options中的保留字段,按照预设流程协商和确认任务的<P,PD,RD>参数。
这里的预设流程是:
<P,PD,RD>的协商发生在TCP链接建立/握手阶段,此时,发送端在SYN的TCPoptions 字段中携带P值和RD_MAX值,分别表示发送端能够支持的最大精度分级数目,以及最大发送速度;以及PD_DEFAULT和RD_DEFAULT表示发送端推荐使用的PD值和RD值。接收端将收到的P、RD_MAX、PD_DEFAULT、RD_DEFAULT值保存在本地。
对SYN报文进行ACK过程中,接收端将所需的PD值和RD值,通过ACK报文的 TCPoptions,向发送端确认。接收断反馈的PD必须小于发送端通告的P值,RD值不高于发送端通告的RD_MAX值。
如果接收端不反馈,发送端默认采用PD_DEFAULT和RD_DEFAULT作为该接收端对应的传输任务的PD和RD值。
在数据段发送过程中,接收段还可以对PD,RD进行更新,但不保证一定成功。此时,接收端在向发送端的连续M个ACK报文的TCP options中捎带新的PD值和RD值,M的取值根据网络状况设置,典型值为5。发送端收到后,更新该接收节点对应的PD值和RD值。
利用TCP options中的保留字段传输相关信息的设计如下表1:
Figure RE-GDA0002174614150000071
表1
发送端对待传输的所有数据段进行编号和配置。每个数据段中携带数据段编号j(该编号与TCP报文头中的seq序列号码独立)。j存放于TCP数据段的TCP options保留字段中。
发送端会根据当前链接的cwnd值,依次通过第一策略随机地挑选所要进行传输的数据段,并进行传输;第一策略的目标是,协议在带宽充足时以速率RD传输数据,带宽不充足时动态降低传输精度以维持相同或相似的传输进度同时避免拥塞。采用的方法是随机丢包,对于精度等级为i的每个数据段,以Pr(i)的概率被选中。假设当前网络的往返延迟为rtt,拥塞控制窗口大小为cwnd,那么,Pr(i)的取值如下:
对于i<PD的精度等级,Pr(i)=1;
对于PD≤i≤P-1的精度等级,Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD))。
发送端根据是否收到接收端反馈的ACK,以及ACK确认的TCP数据段确认号,判断传输过程中是否出现了丢包。如果基础精度数据段的ACK超时,则对该数据段进行重传,并按照 TCP原有的策略调整滑动窗口的大小;如果是增强型精度的ACK出现了超时,则不进行重传,按照第二策略调整滑动窗口的大小;对于收到的ACK如果携带了ECN标记,或者其他情况,均按照TCP原有的策略调整滑动窗口的大小。前述的第二策略为cwnd=cwnd–1。
接收端在收到数据段j时,该数据段对应的数据块编号值k=j div P,其中表示整除运算;对应的精度等级信息为i=j mod P,其中mod为求余运算。
若数据块k中所有数据段已经收到,则对该数据块进行解码;如果接收端存在编号值小于k,基础精度数据的数据段均已收齐当尚未解码的数据块,则对该数据块进行解码。
接收端对于基础精度数据段已经收齐但尚未解码的数据块,如果基础精度数据收齐的时间超过T(T可取值为rtt),则立即进行解码。
如果网络中间设备支持严格多优先级队列调度。假设支持的优先级数目为PS,那么,为基础精度数据的数据段携带最高优先级0;精度等级值为PD,PD+1,…,min(P-1,PD+PS-1) 的增强精度数据的数据段分别携带优先级1,2,3,…,PS-1,其余精度等级的数据段携带优先级值PS-1。
采用本实施方式的流式数据传输控制方法,发送端能够根据接收端反馈的链路可用带宽信息,主动调整数据的发送精度,控制所要传输数据的量。如果网络带宽变好,则增加发送数据的精度;否者,减少发送数据的精度,从而减少所要发送的量,确保传输的进度。根据精度等级将数据划分为需要可靠传输和不需要可靠传输的两类。当传输中出现丢包时,只对丢失的可靠数据进行重传,避免有效吞吐率的下降,让传输协议不被非可靠数据的丢包阻塞。
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

Claims (10)

1.一种流式数据传输控制方法,其特征在于,包括以下操作:
1)将数据分割为数据段,按数据重要程度将各数据段分为多个等级,设定精度等级阈值;
2)使用拥塞窗口与往返时延的比值作为数据的最佳发送速率估计值,根据该值计算并更新各精度等级数据段的发送概率;
3)按照TCP的数据发送机制依次发送被选中的数据段;
4)根据ACK反馈估计网络的拥塞状况和可用带宽,以此更新拥塞窗口,并使拥塞窗口的值≤数据段的期望发送速率*往返时延;其中,
当数据段等级值<精度等级阈值时,该数据为基础精度数据;
当数据段等级值≥精度等级阈值时,该数据为增强精度数据;
当被选中的基础精度数据ACK超时,则进行重传,并更新拥塞窗口和各精度等级数据段的发送概率;
当被选中的增强精度数据ACK超时,不进行重传,只更新拥塞窗口和各精度等级数据段的发送概率;
当收到的ACK中包含ECN标记,则更新拥塞窗口和各精度等级数据段的发送概率。
2.如权利要求1所述的流式数据传输控制方法,其特征在于,数据段发送过程中,利用SYN报文和ACK报文的TCP options中的保留字段,按照预设流程协商和确认任务的最大精度分级数目、精度等级阈值和期望发送速率。
3.如权利要求2所述的流式数据传输控制方法,其特征在于,所述预设流程包含以下操作:
最大精度分级数目、精度等级阈值和期望发送速率的协商发生在TCP链接建立阶段;此时,发送端在SYN的TCP options字段中携带P值和RD_MAX值分别表示发送端能够支持的最大精度分级数目以及最大期望发送速率;以及PD_DEFAULT和RD_DEFAULT表示发送端推荐使用的最大精度分级数目和期望发送速率;
其中,接收端将收到的P、RD_MAX、PD_DEFAULT、RD_DEFAULT值保存在本地;对SYN报文进行ACK过程中,接收端将所需的精度等级阈值和所需的期望发送速率,通过ACK报文的TCPoptions,向发送端确认;
其中,接收端反馈的精度等级阈值<发送端通告的最大精度分级数目,期望发送速率≤发送端通告的RD_MAX值;
如果接收端不反馈,发送端默认采用PD_DEFAULT和RD_DEFAULT作为该接收端对应的传输任务的精度等级阈值和期望发送速率。
4.如权利要求1所述的流式数据传输控制方法,其特征在于,接收端将多个连续的数据段组成数据块,按数据块为单位进行解码;在进行数据发送时按发送顺序对数据段进行编号,发送的数据段编号取值j;所述接收端在收到数据段时,可计算出该数据段对应的数据块编号值为k=j div P,其中div表示整除运算,P表示发送端能够支持的最大精度分级数目;对应的精度等级信息为i=j mod P,其中mod为求余运算;
若数据块k中所有数据段已经收到,则对该数据块进行解码;
若接收端存在编号值小于k,基础精度数据的数据段均已收齐但尚未解码的数据块,则对该数据块进行解码。
5.如权利要求4所述的流式数据传输控制方法,其特征在于,接收端对于基础精度数据已经收齐但尚未解码的数据块,当基础精度数据收齐的时间超过预设值时间T,则立即进行解码。
6.如权利要求1所述的流式数据传输控制方法,其特征在于,使用拥塞窗口与网络往返时延的比值作为数据的最佳发送速率估计值时,采用第一预设策略随机地挑选所要进行传输的数据段并进行传输;所述第一预设策略为:
P为发送端能够支持的最大精度分级数目;
PD为精度等级阈值;
i为等级编号;
RD为期望发送速率;
对于精度等级为i的每个数据段,以数据段发送概率Pr(i)被选中;
设当前网络的往返延迟为rtt,拥塞控制窗口大小为cwnd,那么,Pr(i)的取值为:
对于i<PD的精度等级,Pr(i)=1;
对于PD≤i≤P-1的精度等级,Pr(i)=1-max(0,min(1,i-cwnd/rtt*P/RD))。
7.如权利要求1所述的流式数据传输控制方法,其特征在于,发送端根据是否收到反馈的ACK以及ACK确认的TCP数据段确认号,判断传输过程中是否出现了丢包;
如果基础精度数据的ACK超时,则对该数据段进行重传,并按照TCP原有的策略调整滑动窗口的大小并且同时更新各精度等级数据段的发送概率;
如果增强型精度数据的ACK出现了超时,则不进行重传,按照第二预设策略调整滑动窗口的大小并且同时更新各精度等级数据段的发送概率;
如果发送端收到的ACK携带ECN标记,按照TCP原有的策略调整滑动窗口的大小,并按照新的滑动窗口值,更新各精度等级数据段的发送概率。
8.如权利要求7所述的流式数据传输控制方法,其特征在于,所述第二预设策略为:调整后的拥塞控制窗口大小=调整前的拥塞控制窗口大小–1。
9.如权利要求1所述的流式数据传输控制方法,其特征在于,对待传输的所有数据段进行编号和配置;每个数据段中携带所述数据段的编号和表明该数据段重要程度的精度等级编号;等级编号、数据段编号存放于TCP数据段的TCP options保留字段中,其中,数据段编号与TCP报文头中的seq序列编号独立。
10.如权利要求1所述的流式数据传输控制方法,其特征在于,如果网络中间设备支持严格多优先级队列调度,则设支持的优先级数目为PS,为基础精度数据的数据段携带最高优先级0;精度等级值为PD,PD+1,…,min(P-1,PD+PS-1)的增强精度数据的数据段分别携带优先级1,2,3,…,PS-1,其余精度等级的数据段携带优先级值PS-1。
CN201910393920.7A 2019-05-13 2019-05-13 一种流式数据传输控制方法 Active CN110324256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910393920.7A CN110324256B (zh) 2019-05-13 2019-05-13 一种流式数据传输控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910393920.7A CN110324256B (zh) 2019-05-13 2019-05-13 一种流式数据传输控制方法

Publications (2)

Publication Number Publication Date
CN110324256A CN110324256A (zh) 2019-10-11
CN110324256B true CN110324256B (zh) 2022-10-14

Family

ID=68119076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910393920.7A Active CN110324256B (zh) 2019-05-13 2019-05-13 一种流式数据传输控制方法

Country Status (1)

Country Link
CN (1) CN110324256B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110958078B (zh) * 2019-11-01 2022-06-24 南通先进通信技术研究院有限公司 一种面向高损链路的低时延流码分组传输方法
CN110943803B (zh) * 2019-12-09 2021-10-08 西南交通大学 一种基于纠删编码的数据传输控制方法
CN111163013B (zh) * 2020-03-02 2022-04-29 西南交通大学 一种基于udp的半可靠数据传输拥塞控制方法
CN111614572B (zh) * 2020-04-28 2023-04-18 网络通信与安全紫金山实验室 一种基于rtt的tcp网络拥塞控制方法
CN113300967B (zh) * 2021-02-05 2024-03-12 阿里巴巴集团控股有限公司 Rdma网络传输方法、装置以及rdma网络通信***
CN114238219A (zh) * 2021-12-10 2022-03-25 广西电网有限责任公司电力科学研究院 一种互动式输变配日常统计报告动态收集方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1511396A (zh) * 2001-04-04 2004-07-07 ����ɭ�绰�ɷ����޹�˾ 数据流控制方法
CN103929370A (zh) * 2013-01-11 2014-07-16 中国科学院声学研究所 一种用于带宽预留网络的tcp拥塞控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4283589B2 (ja) * 2003-03-25 2009-06-24 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信制御方法及びプログラム
JP4778453B2 (ja) * 2007-01-24 2011-09-21 株式会社エヌ・ティ・ティ・ドコモ 通信端末、輻輳制御方法および輻輳制御プログラム
US20150236966A1 (en) * 2014-02-18 2015-08-20 Alcatel-Lucent Usa Inc. Control of congestion window size of an information transmission connection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1511396A (zh) * 2001-04-04 2004-07-07 ����ɭ�绰�ɷ����޹�˾ 数据流控制方法
CN103929370A (zh) * 2013-01-11 2014-07-16 中国科学院声学研究所 一种用于带宽预留网络的tcp拥塞控制方法

Also Published As

Publication number Publication date
CN110324256A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110324256B (zh) 一种流式数据传输控制方法
US10237153B2 (en) Packet retransmission method and apparatus
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
EP1568180B1 (en) A method for enhancing transmission quality of streaming media
EP1797663B1 (en) Data unit sender and data unit relay device
EP1771742B1 (en) High performance tcp for systems with infrequent ack
JP4654926B2 (ja) 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
US8085669B2 (en) Session relay device and session relay method
KR101081039B1 (ko) 다중 반송파 내의 재전송 요청 지연
WO2002030033A2 (en) Improved connectionless arq protocol
EP3654563A1 (en) Transmission timeout system
EP1798913A2 (en) Transport control method in wireless communication system
EP1105989B1 (en) Method and apparatus for conveying data packets in a communication system
JP2005509370A (ja) 信頼性の低い通信環境における通信効率および性能の改良
US8102768B2 (en) Method and system for traffic flow control in a communication network
US7154850B1 (en) Wireless data transmission using time out control
KR100913897B1 (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법
JP4531302B2 (ja) パケット中継装置、及びその方法
CN111193577B (zh) 使用传输超时的网络***通信方法及通信装置
JP2006279867A (ja) Adsl通信装置、プログラム及び方法
CN115189809B (zh) 基于qoe的异构网络实时视频传输arq与fec模式选择方法
JP2006237968A (ja) 通信システムおよび通信方法
EP1733527B1 (en) Technique for handling outdated information units
EP3389206B1 (en) Multipath error correction

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231007

Address after: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Hongyue Information Technology Co.,Ltd.

Address before: 610031 No. 111, North Section of Second Ring Road, Chengdu City, Sichuan Province

Patentee before: SOUTHWEST JIAOTONG University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231213

Address after: Room 1613-1616, 16th Floor, Block 2, Yuexiu Xinghui Yunjin Plaza, No. 84 Nanhai Avenue North, Guicheng Street, Nanhai District, Foshan City, Guangdong Province, 528000 (Residence Declaration)

Patentee after: Guangdong Chanming Information Technology Co.,Ltd.

Address before: 518000 1104, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Patentee before: Shenzhen Hongyue Information Technology Co.,Ltd.