自适应传输方法和装置
技术领域
本申请实施例涉及数据传输技术领域,特别涉及一种自适应传输方法和装置。
背景技术
传输控制协议(Transfer Control Protocol,TCP)和基于用户数据报协议(User Datagram Protocol,UDP)的低时延互联网传输协议(Quick UDP Internet Connection,QUIC)是面向连接的、可靠的传输层通信协议。为了保证不发生丢包,发送端在发送数据包时会为每个数据包分配一个序号,接收端对已成功接收到的数据包返回一个相应的确认字符(Acknowledgement,ACK)。对于基于TCP或者QUIC的业务而言,下行数据传输的速率和上行确认字符传输的速率共同决定了业务的速率。
通常情况下,无线网络中下行传输速率较高,而上行传输成为瓶颈,因此,现有方案中可能会因为上行传输速率受限而导致下行吞吐量较低。
发明内容
为了解决现有技术中由于上行传输速率低而导致的下行吞吐量低的问题,本发明实施例提供了一种自适应传输方法和装置。所述技术方案如下:
第一方面,提供了一种自适应传输方法,该方法可以用于终端中,也可以用于网络侧设备中,该方法包括:
获取终端可用的第一上行传输速率和传输业务所需求的第二上行传输速率,如果第一上行传输速率低于第二上行传输速率,则说明上行并不能满足需求,此时,可以确定自适应传输策略,并根据自适应传输策略与对端进行数据传输。其中,自适应传输策略用于指示终端降低在单位时间段内发送的上行确认数据包的大小,以使得业务的上行确认数据包以小于或等于第一上行传输速率的速率传输时业务的下行数据包能以大于或等于下行传输速率的速率传输。
通过在第一上行传输速率低于第二上行传输速率时,确定自适应传输策略,并根据自适应传输策略与对端进行数据传输,解决了相关技术中由于上行传输速率较低而导致的下行吞吐量较低的问题;达到了可以通过降低需要发送的上行确认数据包的大小的方式来减少发送上行确认数据包所需耗费的时间,进而实现在第一上行传输速率较低的情况下保证上行的正常传输,提高了下行吞吐量。
在第一种可能的实现方式中,上述获取第一上行传输速率的步骤可以包括:
如果该方法用于终端中,则终端获取上行速率计算参数,根据该上行速率计算参数确定该第一上行传输速率;而如果该方法用于网络侧设备中,则接收终端发送的第一上行传输速率。其中,终端发送的第一上行传输速率为终端根据上行速率计算参数计算并发送的速率。上行速率计算参数包括终端的历史上行传输速率、终端的信道质量信息、终端的业务信息、终端的服务质量(Quality of Service,QoS)信息以及网络侧设备发送的上行可用传输速率中的至少一种。历史的上行传输速率为终端历史所支持的上行传输速率。
在第二种可能的实现方式中,上述获取第二上行传输速率的步骤可以包括:
获取下行传输速率,根据该下行传输速率计算该第二上行传输速率。
其中,获取下行传输速率的步骤可以包括:第一种,如果该方法用于终端中,则接收网络侧设备发送的该下行传输速率;或者,接收网络侧设备发送的下行速率计算参数,根据该下行速率计算参数计算该下行传输速率。第二种,如果该方法用于网络侧设备中,则根据下行速率计算参数计算该下行传输速率。
实际实现时,还可以获取终端的业务需求,根据下行传输速率和业务需求计算该第二上行传输速率。其中,业务需求可以包括业务类型和业务的上下文信息中的至少一种。
获取终端的业务需求的步骤可以包括:如果该方法用于终端中,则终端直接获取该业务需求;而如果该方法用于网络侧设备中,则网络侧设备可以接收终端发送的该业务需求。
在第三种可能的实现方式中,确定自适应传输策略的步骤可以包括如下三种可能的实现方式中的至少一种:
第一种,确定上行确认数据包的目标数据包格式,目标数据包格式的上行确认数据包的大小小于初始数据包格式的上行确认数据包的大小。其中,确定目标数据包格式的时刻为第一时刻,初始数据包格式为在第一时刻时若需要发送上行确认数据包则使用上行确认数据包的数据包格式。
第二种,确定上行确认数据包的发送时机;发送时机包括在接收到M个下行数据包之后返回上行确认数据包;M为大于N的整数,确定发送时机的时刻为第二时刻,N为在第二时刻时若需要发送上行确认数据包则接收到的下行数据包的个数。
第三种,在网络侧设备未开启下行数据传输的前向纠错(Forward Error Correction,FEC)机制时,生成第一指示信息,或者,计算下行数据传输的前向纠错组FEC group的第一大小,第一指示信息用于指示开启下行数据传输的FEC机制;在网络侧设备已经开启下行数据传输的FEC时,计算下行数据传输的FEC group的第二大小,第二大小小于FEC group的原始大小。其中,原始大小为网络侧设备已开启的下行数据传输的FEC机制中使用的FEC group的大小。
通过确定目标数据包格式,使得封装得到的上行确认数据包的大小小于使用初始数据包格式封装得到的数据包的大小,降低了终端所需上传的数据量,达到了在第一上行传输速率低于第二上行传输速率时,仍然可以保证上下行的速率匹配,保证了下行传输的吞吐量。
通过确定发送时机,使得在接收到M个下行数据包之后才发送上行确认数据包至网络侧设备,降低了所需发送的上行确认数据包的个数,也即保证了上下行的速率匹配,进而保证了下行传输的吞吐量。
通过在网络侧设备未开启下行数据传输的FEC机制时,生成第一指示信息,或者计算第一大小,达到了通过保证终端接收到的下行数据包的准确率来降低需要上传的上行确认数据包的个数,保证了下行传输的吞吐量的效果;类似的,在网络侧设备已开启下行数据传输的FEC机制时,计算下行数据传输的FEC group的第二大小,达到了通过保证终端接收到的下行数据包的准确率来降低需要上传的上行确认数据包的个数,保证了下行传输的吞吐量的效果。
在上述方法中,确定上行确认数据包的目标数据包格式的步骤可以包括:计算第二上
行传输速率和第一上行传输速率的差值;获取差值所对应的目标数据包格式;目标数据包格式的上行确认数据包越大差值越小。
确定上行确认数据包的发送时机的步骤可以包括:计算第二上行传输速率和第一上行传输速率的差值;获取差值所对应的M;M越大差值越大。
计算下行数据传输的FEC group的第二大小的步骤可以包括:计算第二上行传输速率和第一上行传输速率的差值;获取差值所对应的第二大小;第二大小的数值越大第二大小所对应的差值越小。
在第四种可能的实现方式中,若上述方法用于终端中,则根据自适应传输策略与对端进行数据传输的步骤包括:
若自适应传输策略包括上行确认数据包的目标数据包格式,则根据目标数据包格式发送上行确认数据包至网络侧设备;
若自适应传输策略包括上行确认数据包的发送时机,则根据发送时机发送上行确认数据包至网络侧设备;
若自适应传输策略包括第一指示信息,则发送第一指示信息至网络侧设备,网络侧设备在接收到第一指示信息之后,开启下行数据传输的前向纠错FEC机制;第一指示信息用于指示开启下行数据传输的FEC机制;
若自适应传输策略包括第一大小,则发送第一大小至网络侧设备,网络侧设备在接收到第一大小之后,开启下行数据传输的FEC机制并按照第一大小发送下行数据包至终端;第一大小为预先生成的下行数据传输的前向纠错组FEC group的大小;
若自适应传输策略包括第二大小,则发送第二大小至网络侧设备,网络侧设备在接收到第二大小之后,按照第二大小发送下行数据包至终端;第二大小为预先生成的下行数据传输的前向纠错组FEC group的大小。
而若该方法用于网络侧设备中,则根据自适应传输策略与对端进行数据传输的步骤包括:
若自适应传输策略包括上行确认数据包的目标数据包格式和/或上行确认数据包的发送时机,则发送目标数据包格式和/或发送时机至终端,接收终端根据目标数据包格式和/或发送时机发送的上行确认数据包;
若自适应传输策略包括第一指示信息,则开启下行数据传输的FEC机制;第一指示信息用于指示开启下行数据传输的FEC机制;
若自适应传输策略包括第一大小,则开启下行数据传输的FEC机制并按照第一大小发送下行数据包至终端;第一大小为预先生成的下行数据传输的前向纠错组FEC group的大小;
若自适应传输策略包括第二大小,则按照第二大小发送下行数据包至终端;第二大小为预先生成的下行数据传输的前向纠错组FEC group的大小。
第二方面,提供了一种自适应传输装置,所述自适应传输装置包括:处理器和与处理器相连的发射器;所述处理器被配置为执行指令,所述处理器通过执行指令来实现上述第一方面所述的自适应传输方法。
第三方面,提供了一种自适应传输装置,所述自适应传输装置包括至少一个单元,该至少一个单元用于实现上述第一方面中所提供的自适应传输方法。
附图说明
图1是本发明各个实施例所涉及的实施环境的示意图。
图2是本发明一个实施例提供的自适应传输方法的流程图。
图3是本发明一个实施例提供的TCP中上行确认数据包的可能的结构示意图。
图4是本发明一个实施例提供的自适应传输方法的流程图。
图5是本发明一个实施例提供的自适应传输装置的结构示意图。
图6是本发明一个实施例提供的自适应传输装置的结构示意图。
具体实施方式
本文所提及的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
在本文提及的“模块”通常是指存储在存储器中的能够实现某些功能的程序或指令;在本文中提及的“单元”通常是指按照逻辑划分的功能性结构,该“单元”可以由纯硬件实现,或者,软硬件的结合实现。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参考图1,其示出了本发明各个实施例提供的自适应传输方法所涉及的实施环境的示意图,如图1所示,该实施环境可以包括终端110和网络侧设备120。其中:
终端110可以为移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,比如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,对此并不做限定。又比如,可以是订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station,MS)、移动台(Mobile)、远程站(Remote Station,RS)、接入点(Access Point,AP)、远程终端(Remote Terminal)、接入终端(Access Terminal,AT)、用户装置(User Terminal,UT)、用户代理(User Agent,UA)、终端(User Device)、客户终端设备(Customer Premises Equipment,CPE)或用户终端(User Equipment,UE)。可选地,终端110还可以为中继(Relay),本实施例对此不作限定。
实际实现时,终端110可以通过无线空口建立与网络侧设备120之间的无线连接,并通过该无线连接向网络侧设备120发送上行数据。其中,该无线空口可以是任意频点的,基于4G、5G标准的无线空口,比如该无线空口是新空口(New Radio,NR);或者,该无线空口也可以是基于5G的更下一代移动通信网络技术标准的无线空口。可选地,该无线空口也可以是无线保真(Wireless Fidelity,Wifi)空口。
此外,对于小区边缘的边缘用户而言,由于小区边缘的网络覆盖较差,因此,边缘用户的上行传输速率通常并不能满足下行传输的需求,因此,下述各个实施例中所说的终端110可以为小区边缘的边缘用户,本实施例对此并不做限定。
网络侧设备120可以为接入网设备(Radio Access Network,RAN)、核心网设备、业务
服务器或者业务数据传递过程中的任意中继设备。中继设备可以为UE,对此并不做限定。并且,实际实现时,网络侧设备120还可以分为控制面和用户面两种逻辑功能实体,且下述各个实施例所说的网络侧设备的功能可以由控制面实现,也可以由用户面实现,对此并不做限定。
上述所说的终端110和网络侧设备120之间交互的数据包可以为基于TCP或者QUIC协议封装的数据包,可选地,终端110和网络侧设备120之间交互的数据包还可以是基于其他传输层或者应用层协议封装的数据包,该协议为基于反馈的协议,本实施例对此并不做限定。
下述各个实施例提供的自适应传输方法可以用于图1所示的终端110中,也可以用于图1所示的网络侧设备120中,本实施例对此并不做限定。下述各个实施例所说的上行是指终端至网络侧设备,下行是指网络侧设备至终端,对此并不做限定。并且下述各个实施例是以终端110作为下行数据包的接收端,且具有发送针对下行数据包的上行反馈信息的能力为例。
请参考图2,其示出了本发明一个实施例提供的自适应传输方法的方法流程图,本实施例以该自适应传输方法用于图1所示的终端110中来举例说明,如图2所示,该自适应传输方法包括:
步骤201,获取上行速率计算参数;根据上行速率计算参数确定第一上行传输速率。
其中,上行速率计算参数包括终端的历史上行传输速率、终端的信道质量信息、终端的业务信息、终端的服务质量(Quality of Service,QoS)信息以及网络侧设备发送的上行可用传输速率中的至少一种。历史上行传输速率为终端在此之前所支持的上行传输速率,比如,终端基于历史时间段计算得到。
第一上行传输速率为终端可用的上行传输速率。
以上行速率计算参数包括历史上行传输速率为例,终端根据该历史上行传输速率推算该第一上行传输速率。比如,终端可以直接将历史上行传输速率作为该第一上行传输速率。
以上行速率计算参数包括历史上行传输速率和终端的信道质量信息为例,终端对历史上行传输速率和终端的信道质量信息进行加权计算,并得到第一上行传输速率。
可选地,上行速率计算参数还可以包括网络侧设备发送的保证比特速率,则此时本步骤可以包括:将接收到的保证比特速率确定为该第一上行传输速率。
步骤202,获取下行传输速率。
终端获取下行传输速率的步骤可以包括如下三种可能的实现方式。
第一种,接收网络侧设备发送的下行传输速率。网络侧设备发送的下行传输速率为网络侧设备根据下行速率计算参数计算并发送的速率。下行速率计算参数包括目标信息、下行业务的保证速率以及下行业务的码率信息中的至少一种。其中,目标信息包括下行业务数据量和下行业务传输时长。
网络侧设备根据下行速率计算参数计算下行传输速率的步骤包括:
若下行速率计算参数包括目标信息,则下行传输速率=下行业务数据量/下行业务传输时长。
若下行速率计算参数包括下行业务的保证速率,则下行传输速率=下行业务的保证速
率。
若下行速率计算参数包括下行业务的码率信息,则下行传输速率=下行业务的码率*k;其中,k为常数,且通常为1.2或者1.3,对此并不做限定。
需要说明的是,上述下行传输速率可以是网络侧设备在传输下行数据包之前周期性获得并发送给终端的速率,也可以是网络侧设备在传输下行数据包的过程中获得并发送给终端的速率,对此并不做限定。
第二种,接收网络侧设备发送的下行速率计算参数,根据下行速率计算参数计算下行传输速率。下行速率计算参数如上述第一种所述,在此不再赘述。终端根据下行速率计算参数计算下行传输速率的计算方式与网络侧设备根据下行速率计算参数计算下行传输速率的计算方式类似,在此不再赘述。
第三种,终端根据下行数据的接收情况,计算下行传输速率。
可选地,终端可以获取接收到的下行数据包的大小以及接收到下行数据包所用的时长,计算获取到的大小与时长的比值,将计算得到的比值作为该下行传输速率。
需要说明的是,上述只是以终端通过上述获取方式获取下行传输速率为例,可选地,终端还可以通过其他获取方式来获取,对此并不做限定。
步骤203,根据下行传输速率计算第二上行传输速率。
根据下行传输速率以及下行传输速率和上行传输速率的关系计算该第二上行传输速率。其中,下行传输速率和上行传输速率的关系可以根据下行数据包的大小、上行确认数据包的大小以及上行确认包与下行数据包的数量之间的对应关系换算得到。
比如,以TCP为例,当两个下行数据包对应于一个上行确认包时,下行数据包的大小最大为1500byte,而上行确认数据包的大小按照40byte计算,则上下行的数据量差别为(1500*2)/40=75倍,折算为速率差别,即下行传输速率为上行传输速率的75倍,也即第二上行传输速率=下行传输速率/75。
可选地,终端还可以获取自身的业务需求,根据下行传输速率和业务需求计算该第二上行传输速率。其中,业务需求可以包括业务类型和业务的上下文信息中的至少一种。
当下行业务为混合业务时,根据下行传输速率和上行传输速率的关系来获得第二上行传输速率并不准确,此时需要进一步的区分不同业务的下行传输速率,因此需要根据业务类型和该业务类型的下行传输速率来得到第二上行传输速率。具体的,终端在计算某一下行传输速率时,将不同业务类型的下行数据包分别统计,得到该业务的下行传输速率,依此得到该业务的第二上行传输速率。
实际实现时,步骤201至步骤203可以为传输层、网络层、物理层、媒体介入控制(Media Access Control,MAC)层、无线链路控制协议(Radio Link Control,RLC)层或者分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层中的任意一个实体执行。
需要补充说明的是,步骤201至步骤203可以为周期性执行,对此并不做限定。
步骤204,若第一上行传输速率低于第二上行传输速率,则确定自适应传输策略。
在计算得到第一上行传输速率和第二上行传输速率之后,终端可以检测第一上行传输速率是否低于第二上行传输速率,若第一上行传输速率低于第二上行传输速率,则终端确定自适应传输策略。
自适应传输策略用于指示终端降低在单位时间段内发送的上行确认数据包的大小,以
使得业务的上行确认数据包以小于或等于第一上行传输速率的速率传输时业务的下行数据包能以大于或等于下行传输速率的速率传输。可选地,自适应传输策略指示终端在单位时间段内发送的上行确认数据包的总大小小于历史传输策略指示终端在单位时间段内发送的上行确认数据包的总大小。历史传输策略为在确定自适应传输策略之前使用的传输策略。单位时间段可以为预设的时间段,比如,1s、30s等等。其中,在单位时间段内发送的上行确认数据包的总大小减少可以为所需发送的单个上行确认数据包的大小减少,或者,所需发送的上行确认数据包的数量减少,或者同时包括两者。
实际实现时,终端确定自适应传输策略的步骤可以包括如下可能的实现方式中的至少一种。
第一种,确定上行确认数据包的目标数据包格式。
在第一上行传输速率低于第二上行传输速率时,为了上下行速率的匹配,减小对下行吞吐量的影响,终端可以构造较小的上行确认数据包并发送。可选地,终端可以确定上行确认数据包的目标数据包格式。该目标数据包格式的上行确认数据包的大小小于初始数据包格式的上行确认数据包的大小。其中,确定目标数据包格式的时刻为第一时刻,该初始数据包格式为在第一时刻时若需要发送上行确认数据包则使用上行确认数据包的数据包格式。可选地,初始数据包格式为历史发送的上行确认数据包的数据包格式也即未使用自适应传输策略时使用的上行确认数据包的数据包格式,该初始数据包格式为系统中规定的格式。
目标数据包格式包括:用于指示正确接收到的下行数据包的最大序列号的指示信息,或者,该指示信息以及接收的时间戳信息。其中,该指示信息可以是连续接收到的下行数据包的最大序列号或者期望接收到的下一个下行数据包的序列号。实际实现时,如果目标数据包格式中不包含选择性确认(Selective Acknowledgement,SACK),则该指示信息为连续接收到的下行数据包的下一个下行数据包的序列号;而如果目标数据包格式中包含SACK,该指示信息为SACK所确认的下行数据包的下一个下行数据包的序列号。
可选地,请参考图3,其示出了TCP中上行确认数据包的通常格式,则针对TCP协议,目标数据包格式为:TCP首部或者TCP首部+时间戳(位于选项中)。其中结合图3,TCP首部中的32位确认序列号为连续接收到的下行数据包的最大序列号。可选地,为了进一步减小目标数据包格式的上行确认数据包的大小,目标数据包格式中的TCP首部中还可以省略一部分域,比如,TCP首部中可以省略图3所示的32位序列号的域。由于在TCP中,时间戳以及选项中的部分接收到的数据包信息(TCP SACK、TCP重复选择性确认(Duplicate-Selective Acknowledgement,D-SACK))是在TCP连接建立的时候收发双方协商好的特性,一旦确认支持,则时间戳信息一直携带,且当有非连续数据包接收时,选项中的部分接收到的数据包信息也会携带。因此,上述所说的目标数据包格式的上行确认数据包小于初始数据包格式的上行确认数据包。以初始数据包格式为TCP首部+timestamp为例,目标数据包格式可以为TCP首部;又以初始数据包格式为TCP D-SACK为例,目标数据数据包格式可以为TCP首部或者TCP首部+timestamp。
另外,由于上行确认数据包中还可以包含数据部分,并且通常情况下数据部分的内容较多,因此,在本实施例中,为了减少目标数据包格式的上行确认数据包的大小,本实施例中目标数据包格式中可以不包含数据部分,而是将数据部分和上行确认数据包分别单独
发送,对此并不做限定。
可选地,在QUIC中,数据包格式可以包括Largest ACKed(QUIC ACK中仅包含一个域)、N个ACK Block(N>=1)、Largest ACKed+timestamp,Largest ACKed+Time since largest ACKed block或者Largest ACKed+timestamp+Time since largest ACKed block。其中,实际实现时,数据包格式中还可以包括其他字段;比如,还包括Type字段,本实施例对此并不做限定。目前QUIC的确认包格式还未完全确定,随着后续的演进上述数据包格式中的域名称可能会变化,在此仅是示例,以各个域的作用为限定。
实际实现时,本步骤可以包括:计算第二上行传输速率和第一上行传输速率的差值,获取该差值所对应的目标数据包格式。确定的目标数据包格式的上行确认数据包越大差值越小。可选地,终端可以根据差值与目标数据包格式之间的对应关系,确定该差值所对应的目标数据包格式。其中,对应关系可以为差值范围与数据包格式之间的对应关系。比如,以初始数据包格式为TCP SACK为例,请参考表1,其示出了一种可能的对应关系。又比如,以初始数据包格式为TCP D-SACK为例,请参考表2,其示出了一种可能的对应关系。
差值范围 |
数据包格式 |
(0,40kbps] |
TCP首部+timestamp |
(40kbps,+∞) |
TCP首部 |
表1
差值范围 |
数据包格式 |
(0,50kbps] |
TCP首部+timestamp |
(50kbps,+∞) |
TCP首部 |
表2
以应用于TCP且初始数据包格式为TCP SACK为例,假设计算得到的差值为10,则根据表1终端可以将TCP首部+timestamp确定为目标数据包格式;而假设计算得到的差值为50,则终端可以将TCP首部确定为目标数据包格式。
第二种,确定上行确认数据包的发送时机;发送时机包括在接收到M个下行数据包之后返回上行确认数据包;M为大于N的整数,确定发送时机的时刻为第二时刻,N为在第二时刻时若需要发送上行确认数据包则接收到的下行数据包的个数。
比如,在确定发送时机时,终端是接收到3个下行数据包时发送一个上行确认数据包至网络侧设备,则此时N为3,终端确定的M可以为4或者5,对此并不做限定。
终端可以获取预设的M。当然实际实现时,本步骤还可以包括:计算第二上行传输速率和第一上行传输速率的差值;获取差值所对应的M;M越大差值越大。可选地,终端可以根据差值范围与M之间的对应关系查询计算得到的差值所对应的M,对此并不做限定。
由于M越大,说明返回上行确认数据包之前接收到的下行数据包的个数越多,因此为了保证网络侧设备发送大量下行数据包之后均未收到上行确认数据包进而导致系统性能降低的问题,M的取值小于预设数值,该预设数值可以为经验值,本实施例对此并不做限定。
需要说明的是,发送时机还可以为正确接收到每个下行数据包之后在目标时长内返回上行确认数据包。其中,目标时长小于预设时长,预设时长为历史正确接收到每个下行数据包之后返回上行确认数据包的间隔时长。比如,以预设时长为20ms为例,为了保证上行确认数据包的返回速率,终端可以在接收到下行数据包之后的5ms内返回上行确认数据包
至网络侧设备。
第三种,在网络侧设备未开启下行数据传输的前向纠错(Forward Error Correction,FEC)机制时,生成第一指示信息,或者,计算下行数据传输的前向纠错组FEC group的第一大小,第一指示信息用于指示开启下行数据传输的FEC机制;在网络侧设备已经开启下行数据传输的FEC机制时,计算下行数据传输的FEC group的第二大小,第二大小小于FEC group的原始大小。其中,原始大小为网络侧设备已经开启的下行数据传输的FEC机制中使用的FEC group的大小。
在第三种可能的实现方式中,终端还可以检测网络侧设备是否已经开启下行数据传输的FEC机制;若网络侧设备未开启下行数据传输的FEC机制,则由于开启下行数据传输的FEC机制之后,会提高终端接收下行数据包的准确率,也即需要发送的上行确认数据包的个数或者大小会减小,因此为了保证在第一上行传输速率低于第二上行传输速率时,上行确认数据包的发送,终端可以生成第一指示信息,该第一指示信息用于指示网络侧设备开启下行数据传输的FEC机制,可选地,终端还可以计算FEC group的第一大小,本实施例对此并不做限定;而如果终端的检测结果为网络侧设备已经开启下行数据传输的FEC机制,则由于FEC group越小冗余量越高,终端成功接收到下行数据包的概率也越高,因此,为了保证上行确认数据包的发送,终端可以计算下行数据传输的FEC group的第二大小。需要说明的是,由于FEC机制只有在服务器中或者传输层中才会存在,因此对于此种情况,该网络侧设备可以为业务服务器或者具有传输层功能的设备。
可选地,终端可以按照FEC group的已有计算方式计算该第一大小,对此并不做限定。终端计算第二大小的步骤包括:计算第二上行传输速率和第一上行传输速率的差值;获取差值所对应的第二大小;其中,第二大小的数值越大第二大小所对应的差值越小。
上述只是以终端通过上述三种实现方式中的至少一种来确定自适应传输策略为例,可选地,终端还可以通过其他方式来确定自适应传输策略,本实施例对此并不做限定。
可选地,在第一上行速率不低于第二上行速率时,终端可以按照现有的传输策略传输,本实施例在此不再赘述。
步骤205,根据自适应传输策略与对端进行数据传输。
由于自适应传输策略可以包括多种实现方式,因此,本步骤可以相应的包括如下可能的实现方式:
若自适应传输策略包括上行确认数据包的目标数据包格式,则根据目标数据包格式发送上行确认数据包至网络侧设备。
在确定得到目标数据包格式之后,当需要发送上行确认数据包时,终端可以发送该目标数据包格式的上行确认数据包至网络侧设备。比如,在基于TCP的通信系统中,若确定得到的目标数据包格式为TCP首部时,则终端可以在发送上行确认数据包时,可以发送只包括TCP首部的上行确认数据包。
若自适应传输策略包括上行确认数据包的发送时机,则根据发送时机发送上行确认数据包至网络侧设备。
可选地,若发送时机为在接收到M个下行数据包之后返回上行确认数据包,则在终端与网络侧设备进行数据传输的过程中,终端可以在接收到M个下行数据包之后返回上行确认数据包,对此并不做限定。而若发送时机为接收到下行数据包之后的目标时长内返回上
行确认数据包,则在接收到下行数据包之后终端可以在目标时长内返回上行确认数据包至网络侧设备。
若自适应传输策略包括第一指示信息,则发送第一指示信息至网络侧设备,网络侧设备在接收到第一指示信息之后,开启下行数据传输的前向纠错FEC机制;第一指示信息用于指示开启下行数据传输的FEC机制。
在TCP中,终端可以通过TCP option发送第一指示信息至网络侧设备,对此并不做限定;而在QUIC中,终端可以通过QUIC QINDOW_UPDATE发送第一指示信息至网络侧设备。上述仅以终端通过上述两种信息发送第一指示信息至网络侧设备,可选地,实际实现时,对于每种传输系统,终端还可以通过其他方式来发送第一指示信息至网络侧设备,本实施例对其实际实现并不做限定。
若自适应传输策略包括第一大小,则发送第一大小至网络侧设备,网络侧设备在接收到第一大小之后,开启下行数据传输的FEC机制并按照第一大小发送下行数据包至终端;第一大小为终端生成的下行数据传输的FEC group的大小。
本实现方式与上一种实现方式类似,在此不再赘述。
若自适应传输策略包括第二大小,则发送第二大小至网络侧设备,网络侧设备在接收到第二大小之后,按照第二大小发送下行数据包至终端;第二大小为终端生成的下行数据传输的前向纠错组FEC group的大小。
实际实现时,步骤204和步骤205可以由终端中的传输层或者物理层来执行,本实施例对此并不做限定。
综上所述,本实施例提供的自适应传输方法,通过在第一上行传输速率低于第二上行传输速率时,确定自适应传输策略,并根据自适应传输策略与对端进行数据传输,解决了相关技术中由于上行传输速率较低而导致的下行吞吐量较低的问题;达到了可以通过降低需要发送的上行确认数据包的大小的方式来减少发送上行确认数据包所需耗费的时间,进而实现在第一上行传输速率较低的情况下保证上行的正常传输,提高了下行吞吐量。
请参考图4,其示出了本发明另一个实施例提供的自适应传输方法的方法流程图,本实施例以该自适应传输方法用于图1所示的网络侧设备120中来举例说明,如图4所示,该自适应传输方法包括:
步骤401,接收终端发送的第一上行传输速率。
第一上行传输速率是终端根据上行速率计算参数计算并发送的速率。终端计算该第一上行传输速率的计算方法与上述实施例中的步骤201的计算方式类似,在此不再赘述。
步骤402,获取下行传输速率。
网络侧设备获取下行传输速率的步骤可以包括:获取下行速率计算参数,根据下行速率计算参数计算该下行传输速率,其具体计算方法与上述实施例中的步骤202的计算方法类似,在此不再赘述。
步骤403,根据下行传输速率计算第二上行传输速率。
本步骤与上述实施例中的步骤203类似,在此不再赘述。
实际实现时,网络侧设备还可以接收终端发送的业务需求,进而根据下行传输速率和业务需求计算第二上行传输速率。业务需求可以包括业务类型和业务的上下文信息中的至
少一种。并且网络侧设备根据下行传输速率和业务需求计算第二上行传输速率的计算方式与步骤203中终端计算第二上行传输速率的计算方式类似,在此不再赘述。
并且,本实施例只是以网络侧设备通过步骤402和步骤403来获取第二上行传输速率为例,可选地,网络侧设备还可以通过接收终端发送的第二上行传输速率的方式来获取到该第二上行传输速率,其中该第二上行传输速率为终端获取并发送的速率,终端获取该第二上行传输速率的获取方式与上述实施例中的步骤202和步骤203的获取方式类似,在此不再赘述。
步骤401至步骤403可以为传输层、网络层、物理层、MAC层、RLC层或者PDCP层中的任意一个实体执行。
步骤404,若第一上行传输速率低于第二上行传输速率,则确定自适应传输策略。
本步骤与上述实施例中的步骤204类似,在此不再赘述。
可选地,在第一上行速率不低于第二上行速率时,网络侧设备可以按照现有的传输策略传输,本实施例在此不再赘述。
步骤405,根据自适应传输策略与对端进行数据传输。
由于自适应传输策略可以包括多种实现方式,因此,本步骤可以相应的包括如下可能的实现方式:
若自适应传输策略包括上行确认数据包的目标数据包格式和/或上行确认数据包的发送时机,则发送目标数据包格式和/或发送时机至终端,接收终端根据目标数据包格式和/或发送时机发送的上行确认数据包。
可选地,若终端接收到目标数据包格式,则在终端需要发送上行确认数据包时,终端可以发送目标数据包格式的上行确认数据包至网络侧设备;比如,若目标数据包格式为TCP ACK,则在需要发送上行确认数据包时,终端可以发送TCP ACK格式的上行确认数据包至网络侧设备;而若终端接收到发送时机时,则终端可以在发送时机到达时发送上行确认数据包至网络侧设备。比如,发送时机为接收到4个下行数据包时返回上行确认数据包至网络侧设备,则终端每次在接收到4个下行数据包时终端可以返回上行确认数据包至该网络侧设备。
若自适应传输策略包括第一指示信息,则开启下行数据传输的FEC机制;第一指示信息用于指示开启下行数据传输的FEC机制。
若自适应传输策略包括第一大小,则开启下行数据传输的FEC机制并按照第一大小发送下行数据包至终端;第一大小为网络侧设备生成的下行数据传输的FEC group的大小;
若自适应传输策略包括第二大小,则按照第二大小发送下行数据包至终端;第二大小为网络侧设备生成的下行数据传输的FEC group的大小。
步骤404和步骤405可以由网络侧设备中的传输层或者物理层来执行,本实施例对此并不做限定。
综上所述,本实施例提供的自适应传输方法,通过在第一上行传输速率低于第二上行传输速率时,确定自适应传输策略,并根据自适应传输策略与对端进行数据传输,解决了相关技术中由于上行传输速率较低而导致的下行吞吐量较低的问题;达到了可以通过降低需要发送的上行确认数据包的大小的方式来减少发送上行确认数据包所需耗费的时间,进而实现在第一上行传输速率较低的情况下保证上行的正常传输,提高了下行吞吐量。
上述各个实施例只是以上述方法用于网络侧设备发送下行数据包至终端,终端反馈上行确认数据包的场景中来举例说明,实际实现时,该方法还可以用于终端发送上行数据包至网络侧设备,网络侧设备反馈下行确认数据包的场景中。并且此时,该方法可以包括:
1、获取网络侧设备的第一下行传输速率和第二下行传输速率,第一下行传输速率为可用的下行传输速率,第二下行传输速率为支持业务的上行数据包传输的上行传输速率所需要的下行传输速率。
2、若第一下行传输速率低于第二下行传输速率,则确定自适应传输策略,该自适应传输策略用于指示网络侧设备降低在单位时间段内发送的下行确认数据包的大小,以使得业务的下行确认数据包以小于或等于第一下行传输速率的速率传输时业务的上行数据包能以大于或等于上行传输速率的速率传输。
3、根据自适应传输策略与对端进行数据传输。
其中,每个步骤的实现细节与上述图2和图3所对应的实施例的实现细节类似,本实施例在此不再赘述。
请参考图5,其示出了本申请一个示例性实施例提供的自适应传输设备的结构示意图,该自适应传输设备可以是图1所示的移动通信系统中的终端110,也可以为图1所示的网络侧设备120。该自适应传输设备包括:处理器51、接收器52、发射器53、存储器54和总线55。
处理器51包括一个或者一个以上处理核心,处理器51通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
接收器52和发射器53可以实现为一个通信组件,该通信组件可以是一块通信芯片,通信芯片中可以包括接收模块、发射模块和调制解调模块等,用于对信息进行调制和/或解调,并通过无线信号接收或发送该信息。
存储器54通过总线55与处理器51相连。
存储器54可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统541、获取模块542、确定模块543、传输模块544和至少一个其它功能所需的应用程序545等;存储数据区可存储根据信号接收端的使用所创建的数据等。此外,存储器54可以由任何类型的易失性或非易失性存储设备或者它们的组合实现。
处理器51用于执行获取模块542以实现上述各个方法实施例中有关获取步骤的功能;处理器51用于执行确定模块543以实现上述各个方法实施例中有关确定步骤的功能;处理器51用于执行传输模块544以实现上述各个方法实施例中有关传输步骤的功能。
此外,存储器54可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随时存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
请参考图6,其示出了本发明一个实施例提供的自适应传输装置的结构示意图,如图6所示,该自适应传输装置可以包括:获取单元610、确定单元620和传输单元630。
当该自适应传输装置用于终端中时,各个单元的功能分别如下:
获取单元610,用于执行上述实施例中的步骤201至步骤203;
确定单元620,用于执行上述实施例中的步骤204;
传输单元630,用于执行上述实施例中的步骤205。
而当自适应传输装置用于网络侧设备中时,各个单元的功能分别如下:
获取单元610,用于执行上述实施例中的步骤401至步骤403;
确定单元620,用于执行上述实施例中的步骤404;
传输单元630,用于执行上述实施例中的步骤405。
综上所述,本实施例提供的自适应传输方法,通过在第一上行传输速率低于第二上行传输速率时,确定自适应传输策略,并根据自适应传输策略与对端进行数据传输,解决了相关技术中由于上行传输速率较低而导致的下行吞吐量较低的问题;达到了可以通过降低需要发送的上行确认数据包的大小的方式来减少发送上行确认数据包所需耗费的时间,进而实现在第一上行传输速率较低的情况下保证上行的正常传输,提高了下行吞吐量。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
本领域普通技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。