CN110035017A - 一种通信方法及装置 - Google Patents
一种通信方法及装置 Download PDFInfo
- Publication number
- CN110035017A CN110035017A CN201810032226.8A CN201810032226A CN110035017A CN 110035017 A CN110035017 A CN 110035017A CN 201810032226 A CN201810032226 A CN 201810032226A CN 110035017 A CN110035017 A CN 110035017A
- Authority
- CN
- China
- Prior art keywords
- window
- equipment
- length
- instruction information
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种通信方法及装置,其中方法包括:第一设备接收第二设备发送的数据包,并在确定数据包处理能力达到所述第一设备的处理上限时,生成第一窗口调整指示信息;所述第一窗口调整指示信息用于指示所述第二设备减少发送窗口的窗口长度;所述发送窗口的窗口长度与所述第二设备一次最多调度的数据包的数量成正比;所述第一设备向所述第二设备发送所述第一窗口调整指示信息。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
现有的长期演进(Long Term Evolution,LTE)系统空口传输技术中,在无线链路控制(Radio Link Control,RLC)层有两种传输模式,分别是确认模式(AcknowledgedMode,AM)和非确认模式(Unacknowledged Mode,UM)。对于RLC UM传输模式来说,发送端只负责将数据包发送给接收端即可,不需要接收端进一步对数据包接收情况向发送端进行确认反馈。也就是说,不论接收端是否成功接收到数据包,发送端都不再重新发送数据包。
对于RLC AM传输模式的接收端来说,需要保证数据包按序递交给接收层。所谓按序递交是指按照RLC层分配的包序号(SequenceNumber,SN)递增的顺序将接收到的数据包递交给接收层。在LTE系统中,RLC层维护重排序窗口,负责重传和补齐空口丢失的数据包,并按序向上层递交收到的数据包。当RLC层收到一个重传的数据包时,有可能触发窗口的快速移动,触发大量的数据包递交到分组数据汇聚协议(Packet Data ConvergenceProtocol,PDCP)层,折算的数据脉冲速率可能非常高,从而导致PDCP层不能及时处理瞬时的数据脉冲,导致内存不足或者数据堆积并丢包,这时的丢包因为窗口已经滑动,RLC层不会再重传,需要上层应用重传才能补齐,时延会比较大,影响用户体验,同时丢包本身是对空口资源的一种浪费。
相应的,未来的新空口(new radio,NR)系统中,RLC层支持乱序递交,重排序窗口放在PDCP层维护,RLC层收到的完整RLC业务数据单元(service data unit,SDU)会直接递交给PDCP层,当RLC层不断向PDCP层递交数据包时,可能因为PDCP层内存不足导致不得不丢弃RLC层递交数据包,这些数据包RLC层认为已经收到,不会进行重传,但因为PDCP层已经丢弃,不会实际上送到应用层,需要应用层重传才能补齐,时延会比较大,影响用户体验,同时丢包本身是对空口资源的一种浪费。当PDCP层收到窗口下界的数据包时,可能触发窗口的快速移动,触发大量的数据包递交到上层,折算的数据脉冲速率可能非常高,从而导致上层不能及时处理瞬时的数据脉冲,导致内存不足或者数据堆积并丢包。
综上,现有技术中,通信设备的处理能力和内存越来越难以应对脉冲数据的冲击,当通信设备接收到的数据包来不及处理,导致将接收到的数据包丢弃时,浪费了传输资源,影响了用户体验。
发明内容
本申请实施例提供一种通信方法及装置,用以解决在接收端处理能力不足时,如何降低接收端数据包丢弃的概率。
本申请实施例提供一种通信方法,该方法包括:
第一设备接收第二设备发送的数据包,并在确定数据包处理能力达到所述第一设备的处理上限时,生成第一窗口调整指示信息;所述第一窗口调整指示信息用于指示所述第二设备减少发送窗口的窗口长度;所述发送窗口的窗口长度与所述第二设备一次最多调度的数据包的数量成正比;
所述第一设备向所述第二设备发送所述第一窗口调整指示信息。
根据上述方法,第一设备在确定处理能力达到所述第一设备的处理上限时,通过第一窗口调整指示信息指示第二设备减少发送窗口的窗口长度,从而减少第二设备一次最多调度的数据包,从而减少接收到的数据包的数量,从而使得第一设备接收到的数据包能够及时得到处理,从而降低接收端数据包丢弃的概率。
可选的,所述确定数据包处理能力达到所述第一设备的处理上限,包括:
所述第一设备确定满足以下一项或多项预设条件时,确定数据包处理能力达到所述第一设备的处理上限:
所述第一设备的接收缓冲区的空闲缓存的大小小于第一阈值;
所述第一设备的接收缓冲区的占用缓存的大小大于第二阈值;
所述第一设备的接收缓冲区发生数据溢出;
所述第一设备确定没有空闲的资源处理接收到的数据包。
可选的,所述发送窗口调整前的窗口长度为M,M大于0;
所述发送窗口调整后的窗口长度为第一长度;
所述第一长度为α×M,或者,所述第一长度满足以下公式:
P=α×min((RX_Next_Highest-RX_Next+LAST_UPLOAD),M)
其中,P为所述第一长度,α为大于0且小于1的数,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值,RX_Next为所述第一设备的接收窗口中第一个未接收全的数据包的SN,LAST_UPLOAD为所述第一设备在所述接收窗口上一次滑动时递交的数据包的数量,min()为取最小值运算。
可选的,所述发送窗口的窗口长度为预设的K个长度中的一个,K为大于0的整数;
所述第一长度为所述K个长度中小于所述发送窗口调整前的窗口长度的长度。
可选的,所述第一窗口调整指示信息对应的逻辑信道或数据无线承载在所述第一设备中占用的缓存大于第三阈值;或者,所述第一窗口调整指示信息对应的逻辑信道或数据无线承载在所述第一设备中占有的缓存最大。
可选的,所述第一设备生成第一窗口调整指示信息之前,所述方法还包括:
所述第一设备确定第一定时器已经超时;
所述第一定时器为所述第一设备上一次生成窗口调整指示信息时启动的,所述第一定时器的定时时长为第一时长。
可选的,所述第一设备向所述第二设备发送所述第一窗口调整指示信息之后,所述方法还包括:
所述第一设备向所述第二设备发送第二窗口调整指示信息;
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度大于所述第一长度,或者所述第二长度小于所述第一长度。
可选的,所述第二长度大于所述第一长度时,所述第一设备向所述第二设备发送第二窗口调整指示信息之前,所述方法还包括:
所述第一设备确定满足以下一项或多项预设条件:
所述第一设备的接收缓冲区的空闲缓存的大小大于第四阈值;
所述第一设备的接收缓冲区的占用缓存的大小小于第五阈值;
所述第一设备接收的数据速率小于预设速率。
可选的,所述第一设备在发送所述第一窗口调整指示信息时,若确定所述接收窗口对应的重排序定时器已经启动,则将所述重排序定时器状态变量的取值确定为所述接收窗口的滑动边界;所述滑动边界位于所述接收窗口内,且所述滑动边界与所述接收窗口的起始边界之间的长度为所述发送窗口的窗口长度。
可选的,所述第一设备向所述第二设备发送所述第一窗口调整指示信息之后,所述方法还包括:
所述第一设备在启动接收窗口对应的重排序定时器时,根据以下方式确定重排序定时器状态变量,所述重排序定时器状态变量为触发与所述接收窗口对应的重排序定时器启动的数据包的SN:
若RX_Next_Highest位于所述接收窗口的滑动边界内,则将所述重排序定时器状态变量的取值确定为RX_Next_Highest,其中,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值;所述滑动边界位于所述接收窗口内,且所述滑动边界与所述接收窗口的起始边界之间的长度为所述发送窗口的窗口长度;
或者,若RX_Next_Highest位于所述接收窗口的滑动边界外,则将所述重排序定时器状态变量的取值确定为所述接收窗口的滑动边界。
可选的,所述第一设备向所述第二设备发送所述第一窗口调整指示信息,包括:
所述第一设备通过无线资源控制RRC信令向所述第二设备发送所述第一窗口调整指示信息;
或者,所述第一设备通过无线链路控制RLC层控制消息向所述第二设备发送所述第一窗口调整指示信息;
或者,所述第一设备通过媒体介入控制MAC控制元素CE向所述第二设备发送所述第一窗口调整指示信息。
第二方面,本申请实施例提供了一种通信装置,所述通信装置可以执行上述任意一种方法。
在一种可能的设计中,上述装置包括一个或多个处理器和通信单元。所述一个或多个处理器被配置为支持所述装置执行上述方法中第一设备相应的功能。例如,生成第一窗口调整指示信息。所述通信单元用于支持所述装置与其他设备通信,实现接收和/或发送功能。例如,发送第一窗口调整指示信息。
可选的,所述装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,其保存网络设备必要的程序指令和/或数据。所述一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
所述装置可以为基站,gNB或TRP等,所述通信单元可以是收发器,或收发电路。可选的,所述收发器也可以为输入/输出电路或者接口。
所述装置还可以为通信芯片。所述通信单元可以为通信芯片的输入/输出电路或者接口。
另一个可能的设计中,上述装置,包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于运行存储器中的计算机程序,使得该装置执行第一方面或第一方面中任一种可能实现方式中第一设备完成的方法。
在一种可能的设计中,上述装置包括一个或多个处理器和通信单元。所述一个或多个处理器被配置为支持所述装置执行上述方法中第一设备相应的功能。例如,生成第一窗口调整指示信息。所述通信单元用于支持所述装置与其他设备通信,实现接收和/或发送功能。例如,向第二设备发送所述第一窗口调整指示信息。
可选的,所述装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,其保存装置必要的程序指令和/或数据。所述一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
所述装置可以为智能终端或者可穿戴设备等,所述通信单元可以是收发器,或收发电路。可选的,所述收发器也可以为输入/输出电路或者接口。
所述装置还可以为通信芯片。所述通信单元可以为通信芯片的输入/输出电路或者接口。
另一个可能的设计中,上述装置,包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于运行该存储器中的计算机程序,使得该装置执行第二方面或第二方面中任一种可能实现方式中终端完成的方法。
第三方面,提供了一种系统,该系统包括上述第一设备和第二设备。
第四方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面中任一种可能实现方式中的方法的指令。
第五方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面中任一种可能实现方式中的方法的指令。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面及第一方面中任一种可能实现方式中的方法。
第八方面,本申请实施例提供一种通信方法,所述方法包括:
第二设备接收第一设备发送的第一窗口调整指示信息;所述第一窗口调整指示信息用于指示所述第二设备减少发送窗口的窗口长度;所述发送窗口的窗口长度与所述第二设备一次最多调度的数据包的数量成正比;所述第一窗口调整指示信息为所述第一设备在确定数据包处理能力达到所述第一设备的处理上限时生成的;
所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度。
根据上述方法,第二设备在接收到第一窗口调整指示信息之后,根据第一窗口调整指示信息减少发送窗口的窗口长度,从而减少向第二设备一次最多发送的数据包,从而减少第二设备接收到的数据包的数量,从而使得第一设备接收到的数据包能够及时得到处理,从而降低接收端数据包丢弃的概率。
可选的,所述发送窗口调整前的窗口长度为M,M大于0;
所述发送窗口调整后的窗口长度为第一长度;
所述第一长度为α×M,或者,所述第一长度满足以下公式:
P=α×min((RX_Next_Highest-RX_Next+LAST_UPLOAD),M)
其中,P为所述第一长度,α为大于0且小于1的数,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值,RX_Next为所述第一设备的接收窗口中第一个未接收全的数据包的SN,LAST_UPLOAD为所述第一设备在所述接收窗口上一次滑动时递交的数据包的数量,min()为取最小值运算。
可选的,所述发送窗口的窗口长度为预设的K个长度中的一个,K为大于0的整数;
所述第一长度为所述K个长度中小于所述发送窗口调整前的窗口长度的最大长度。
可选的,所述发送窗口对应的逻辑信道的数据信令承载在所述第一设备中占用的缓存大于第三阈值。
可选的,所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度之后,所述方法还包括:
所述第二设备接收所述第一设备发送的状态报告,所述状态报告指示出所述第一设备从所述第二设备接收到的至少一个数据包中每个数据包是否接收成功;
所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包;
或者,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
可选的,所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度之后,所述方法还包括:
所述第二设备接收所述第一设备发送的第二窗口调整指示信息;
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度大于所述第一长度,或者所述第二长度小于所述第一长度;
所述第二设备根据所述第二窗口调整指示信息调整所述发送窗口的窗口长度。
第九方面,本申请实施例提供了一种通信装置,所述通信装置可以执行上述任意一种方法。
在一种可能的设计中,上述装置包括一个或多个处理器和通信单元。所述一个或多个处理器被配置为支持所述装置执行上述方法中接入网设备相应的功能。例如,生成第一窗口调整指示信息。所述通信单元用于支持所述装置与其他设备通信,实现接收和/或发送功能。例如,发送第一窗口调整指示信息。
可选的,所述装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,其保存接入网设备必要的程序指令和/或数据。所述一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
所述装置可以为基站,gNB或TRP等,所述通信单元可以是收发器,或收发电路。可选的,所述收发器也可以为输入/输出电路或者接口。
所述装置还可以为通信芯片。所述通信单元可以为通信芯片的输入/输出电路或者接口。
另一个可能的设计中,上述装置,包括收发器、处理器和存储器。该处理器用于控制收发器收发信号,该存储器用于存储计算机程序,该处理器用于运行存储器中的计算机程序,使得该装置执行第八方面或第八方面中任一种可能实现方式中第二设备完成的方法。
在一种可能的设计中,上述装置包括一个或多个处理器和通信单元。所述一个或多个处理器被配置为支持所述装置执行上述方法中第二设备相应的功能。例如,根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度。所述通信单元用于支持所述装置与其他设备通信,实现接收和/或发送功能。例如,通过所述资源传输控制信息。
可选的,所述装置还可以包括一个或多个存储器,所述存储器用于与处理器耦合,其保存装置必要的程序指令和/或数据。所述一个或多个存储器可以和处理器集成在一起,也可以与处理器分离设置。本申请并不限定。
所述装置可以为智能终端或者可穿戴设备等,所述通信单元可以是收发器,或收发电路。可选的,所述收发器也可以为输入/输出电路或者接口。
所述装置还可以为通信芯片。所述通信单元可以为通信芯片的输入/输出电路或者接口。
第十方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第八方面或第八方面中任一种可能实现方式中的方法的指令。
第十一方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第八方面或第八方面中任一种可能实现方式中的方法的指令。
第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第八方面或第八方面中任一种可能实现方式中的方法。
附图说明
图1示出了适用于本申请实施例的通信方法的通信系统的示意图;
图2为本申请实施例提供的一种通信方法流程示意图;
图3为本申请实施例提供的一种消息结构示意图;
图4为本申请实施例提供的一种消息结构示意图;
图5为本申请实施例提供的一种消息结构示意图;
图6为本申请实施例提供的一种消息结构示意图;
图7为本申请实施例提供的一种消息结构示意图;
图8为本申请实施例提供的一种窗口结构示意图;
图9为本申请实施例提供的一种通信方法流程示意图;
图10为本申请实施例提供的一种通信方法流程示意图;
图11为本申请实施例提供的一种通信方法流程示意图;
图12为本申请实施例提供的一种通信方法流程示意图;
图13为本申请实施例提供的一种终端结构示意图;
图14为本申请实施例提供的一种接入网设备结构示意图;
图15为本申请实施例提供的一种通信装置结构示意图。
具体实施方式
下面结合说明书附图对本申请实施例做详细描述。
本申请实施例可以应用于各种移动通信系统,例如:新无线(new radio,NR)系统、全球移动通讯(global system of mobile communication,GSM)系统、码分多址(codedivision multiple access,CDMA)系统、宽带码分多址(wideband code divisionmultiple access,WCDMA)系统、通用分组无线业务(general pcket radio service,GPRS)、长期演进(long term evolution,LTE)系统、先进的长期演进(advanced long termevolution,LTE-A)系统、通用移动通信系统(universal mobile telecommunicationsystem,UMTS)、演进的长期演进(evolved long term evolution,eLTE)系统、未来通信系统等其它通信系统,具体的,在此不做限制。
为便于理解本申请实施例,首先以图1中示出的通信系统为例详细说明适用于本申请实施例的通信系统。图1示出了适用于本申请实施例的通信方法的通信系统的示意图。如图1所示,该通信系统100包括网络设备102和终端设备106,网络设备102可配置有多个天线,终端设备也可配置有多个天线。可选地,该通信系统还可包括网络设备104,网络设备104也可配置有多个天线。
应理解,网络设备102或网络设备104还可包括与信号发送和接收相关的多个部件(例如,处理器、调制器、复用器、解调器或解复用器等)。
本申请实施例中,终端,为具有无线收发功能的设备或可设置于该设备的芯片,也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对应用场景不做限定。本申请中将前述终端及可设置于前述终端的芯片统称为终端。
网络设备,为具有无线收发功能的设备或可设置于该设备的芯片,该设备包括但不限于:演进型节点B(evolved Node B,eNB)、无线网络控制器(radio networkcontroller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或homeNode B,HNB)、基带单元(baseband unit,BBU),无线保真(wireless fidelity,WIFI)系统中的接入点(access point,AP)、无线中继节点、无线回传节点、传输点(transmission andreception point,TRP或者transmission point,TP)等,还可以为5G,如,NR,系统中的gNB,或,传输点(TRP或TP),5G系统中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB或传输点的网络节点,如基带单元(BBU),或,分布式单元(DU,distributed unit)等。
在一些部署中,gNB可以包括集中式单元(centralized unit,CU)和DU。gNB还可以包括射频单元(radio unit,RU)。CU实现gNB的部分功能,DU实现gNB的部分功能,比如,CU实现无线资源控制(radio resource control,RRC),分组数据汇聚层协议(packet dataconvergence protocol,PDCP)层的功能,DU实现无线链路控制(radio link control,RLC)、媒体接入控制(media access control,MAC)和物理(physical,PHY)层的功能。由于RRC层的信息最终会变成PHY层的信息,或者,由PHY层的信息转变而来,因而,在这种架构下,高层信令,如RRC层信令或PHCP层信令,也可以认为是由DU发送的,或者,由DU+RU发送的。可以理解的是,网络设备(包括网络设备)可以为CU节点、或DU节点、或包括CU节点和DU节点的设备。此外,CU可以划分为接入网RAN中的网络设备,也可以将CU划分为核心网CN中的网络设备,在此不做限制。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”一词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
参见图2,为本申请实施例提供的一种通信方法流程示意图。
该方法包括:
步骤201:第一设备接收第二设备发送的数据包,并在确定数据包处理能力达到所述第一设备的处理上限时,生成第一窗口调整指示信息;所述第一窗口调整指示信息用于指示所述第二设备减少发送窗口的窗口长度;所述发送窗口的窗口长度与所述第二设备一次最多调度的数据包的数量成正比。
需要说明的是,第二设备向第一设备发送的数据包数量为至少一个。
步骤202:所述第一设备向所述第二设备发送所述第一窗口调整指示信息。
步骤203:第二设备接收第一设备发送的第一窗口调整指示信息;所述第一窗口调整指示信息为所述第一设备在确定数据包处理能力达到所述第一设备的处理上限时生成的。
步骤204:所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度。
图2所示的流程中,第二设备的RLC实体可以采用确认模式向第一设备发送数据包,本申请实施例中的数据包可以是指RLC PDU等。第一设备可以为终端,也可以为网络设备等通信设备;第二设备可以为终端,也可以为网络设备等通信设备,本申请实施例对此并不限定。
需要说明的是,RLC实体采用确认模式传输数据包时,接收端的RLC实体维护一个接收窗口,发送端的RLC实体维护一个发送窗口。其中,接收窗口和发送窗口与现有的重排序窗口或重组窗口的功能以及原理类似,用于重传和补齐空口丢失的数据包,并按序向上层递交收到的数据包。例如,发送端在发送数据包时,将发送窗口内的数据包按序排列,并在确定发送窗口内的数据包均按序发送到接收端时,滑动发送窗口,从而保证数据包按照数据包的序号递增的顺序发送。发送端每次最多发送的数据包的数量为发送窗口的窗口长度限定的数量。
步骤201中,所述第一设备确定满足以下一项或多项预设条件时,所述第一设备确定数据包处理能力达到所述第一设备的处理上限:
1、所述第一设备的接收缓冲区的空闲缓存的大小小于第一阈值。
接收缓冲区可以是指PDCP缓冲区、RLC缓冲区、网卡的缓冲区、应用程序的缓冲区等,第一阈值的取值可以根据实际情况确定,例如第一阈值可以为接收缓冲区的总量的20%等,在此不再赘述。
2、所述第一设备的接收缓冲区发生数据溢出。其中,接收缓冲区可以是指PDCP缓冲区等。
在该条件下,第一设备的RLC实体向PDCP实体递交数据包时,携带RLC实体信息,包括逻辑信道标识等。
3、所述第一设备确定没有空闲的资源处理接收到的数据包。具体的,第一设备中的网卡或者传输控制协议/因特网互联协议(Transmission Control Protocol/InternetProtocol,TCP/IP)栈或者应用等检测到发生丢包,或者检测到第一设备的处理器负载很重,则可以确定没有空闲的资源处理接收到的数据包。所述空闲的资源可以是指存储资源、处理器资源等。
4、所述第一设备的接收缓冲区的占用缓存的大小大于第二阈值。
在第一设备确定满足上述一项或多项预设条件时,确定需要减少发送窗口的窗口长度。可选的,第一设备可以先确定出占用的缓存大于第三阈值的数据无线承载(dataradio bearer,DRB)或者逻辑信道,或者,确定占用缓存最大的逻辑信道或DRB,然后将第二设备中与该逻辑信道或数据无线承载对应的发送窗口作为需要调整的发送窗口,即所述第一窗口调整指示信息对应的逻辑信道或数据无线承载在所述第一设备中占用的缓存大于第三阈值。其中,第三阈值的取值可以根据实际情况确定,在此不再赘述。
可选的,第一设备生成第一窗口调整指示信息之前,需要确定第一定时器是否超时。第一设备确定第一定时器已经超时,生成第一窗口调整指示信息,否则不再生成第一窗口调整指示信息。所述第一定时器为所述第一设备上一次生成窗口调整指示信息时启动,所述第一定时器的定时时长为第一时长,第一时长的具体取值可以根据实际情况确定,在此不再逐一举例说明。其中,上一次生成的窗口调整指示信息可以是用来调整第二设备的发送窗口的信息。
本申请实施例中,第一窗口调整指示信息可以指示发送窗口的窗口长度为第一长度,所述第一长度小于所述发送窗口调整前的窗口长度。具体的,第一设备生成第一窗口调整指示信息之前,可以先确定一个小于发送窗口调整前的窗口长度的第一长度。第一设备可以通过多种方式确定第一长度。
若所述发送窗口调整前的窗口长度为M,M大于0,一种可能的实现方式中,第一设备确定的所述第一长度满足以下公式:
P=α×M······(1)
其中,P为所述第一长度,α为大于0且小于1的数,α的取值可以根据实际情况确定,在此不再逐一举例说明。
另一种可能的实现方式中,第一设备确定的所述第一长度满足以下公式:
P=α×min((RX_Next_Highest-RX_Next+LAST_UPLOAD),M)······(2)
其中,P为所述第一长度,α为大于0且小于1的数,RX_Next_Highest为当前接收到的最大序列号(Serial Number,SN)的数据包的SN加1后的值,RX_Next为所述第一设备的接收窗口中第一个未接收全的数据包的SN,LAST_UPLOAD为所述第一设备在所述接收窗口上一次滑动时递交的数据包的数量,min()为取最小值运算。
另一种可能的实现方式中,发送窗口的窗口长度为预设的K个长度中的一个,K为大于0的整数。此时,所述第一长度为所述K个长度中小于所述发送窗口调整前的窗口长度的长度。例如,发送窗口的窗口长度为预设的五个长度中的一个长度,依次从小到大为:L0、L3、L4、L5、L6、L7。发送窗口调整前的窗口长度为L5时,第一设备确定数据包处理能力达到所述第一设备的处理上限时,确定出的第二长度为L4。
可选的,预设的K个长度可以位于第一窗口长度集合中。在减小发送窗口的长度时,可以从第一窗口长度集合中选取一个窗口长度作为发送窗口调整后的窗口长度。
具体的,第一窗口长度集合中包括K个窗口长度,K为大于0的整数。在减少发送窗口的长度时,可以将第一窗口长度集合中,小于发送窗口调整前的窗口长度的长度作为发送窗口调整后的窗口长度,即第一长度。
举例来说,第一窗口长度集合中包括5个窗口长度,分别为:217,214,213,212,211,210;对应的索引值依次为:0,3,4,5,6,7。发送窗口调整前的窗口长度为214,在减小发送窗口的窗口长度时,将第一窗口长度集合中小于214的最大窗口长度,即213作为发送窗口调整后的窗口长度,即第一长度。
本申请实施例中,第一窗口调整指示信息可以直接指示出第一长度,也可以间接指示出第一长度。第一窗口调整指示信息直接指示出第一长度时,可以为第一长度的取值,例如第一设备将发送窗口的窗口长度调整为长度为216,则第一窗口调整指示信息为216;第一窗口调整指示信息间接指示出第一长度时,可以为第一长度的索引值,例如,第一设备将发送窗口的窗口长度调整为长度为216,216对应的索引值为5,则第一窗口调整指示信息为5,当然窗口长度与索引值的预设关系需要提前约定,具体如何约定,在此不再赘述。
步骤202中,所述第一设备向所述第二设备发送所述第一窗口调整指示信息的具体实现方式,可以有多种,第一种可能的实现方式中,所述第一设备通过RRC信令向所述第二设备发送所述第一窗口调整指示信息。
第二种可能的实现方式中,所述第一设备通过RLC层控制消息向所述第二设备发送所述第一窗口调整指示信息。
在该实现方式中,第一窗口调整指示信息直接指示出第一长度时,RLC层控制消息的具体格式可以参考图3所示。图3中,RLC层控制消息包括数据/控制(data/control,D/C)字段,控制PDU类别(control PDU type,CPT)字段,窗口长度(window size)字段,保留(reversed,R)字段。其中,D/C字段用于指示该报文是数据报文还是控制报文;CPT字段用于指示报文的类别;窗口长度字段中承载第一窗口指示信息。
第一窗口调整指示信息间接指示出第一长度时,RLC层控制消息的具体格式可以参考图4所示。图4中,RLC层控制消息包括D/C字段,CPT字段,窗口等级(window level)字段,R字段。其中,D/C字段用于指示该报文是数据报文还是控制报文;CPT字段用于指示报文的类别;窗口等级字段中承载第一窗口指示信息。例如,第一窗口调整指示信息指示出的第一长度的索引值为5,对应的长度为216,则窗口等级字段中承载的第一窗口指示信息为5。
可选的,RLC层控制消息中还可以包括方向(direction,DIR)字段,用于指示上行方向的窗口还是下行方向的窗口。具体可以参考图5所示。
当然,图3至图5只是示例,RLC层控制消息还可以有其他形式,在此不再赘述。
第三种可能的实现方式中,所述第一设备通过MAC控制元素(Control Element,CE)向所述第二设备发送所述第一窗口调整指示信息。
在该实现方式中,第一窗口调整指示信息直接指示出第一长度时,MAC CE的具体格式可以参考图6所示。图6中,MAC CE包括R字段,逻辑信道标识(logical channelidentify,LCID)字段,目标逻辑信道标识(object logical channel identify,O_LCID)字段,窗口长度字段。其中,窗口长度字段中承载第一窗口指示信息;O_LCID字段用于指示发送窗口对应的逻辑信道,其他字段的含义可以参考前面的描述,在此不再赘述。
在该实现方式中,第一窗口调整指示信息间接指示出第一长度时,MAC CE的具体格式可以参考图7所示。图7中,MAC CE包括R字段,LCID字段,O_LCID字段,窗口等级字段,DIR字段。其中,窗口等级字段中承载第一窗口指示信息,例如,第一窗口调整指示信息指示出的第一长度的索引值为5,对应的长度为216,则窗口等级字段中承载的第一窗口指示信息为5;O_LCID字段用于指示发送窗口对应的逻辑信道,其他字段的含义可以参考前面的描述,在此不再赘述。
当然,图6至图7只是示例,MAC CE还可以有其他形式,在此不再赘述。
可选的,第一设备向所述第二设备发送所述第一窗口调整指示信息的同时,还可以启动第二定时器,第二定时器的定时时长为第二时长,第二时长的取值可以根据实际情况确定,在此不再赘述。
第一设备在第二定时器超时之前,不再调整所述发送窗口的窗口长度,从而避免了信令风暴的产生。
可选的,本申请实施例中,所述第一设备向所述第二设备发送所述第一窗口调整指示信息之后,所述第一设备还可以根据实际情况对所述发送窗口的窗口长度进行调整。举例来说,所述第一设备还可以向所述第二设备发送第二窗口调整指示信息;所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度大于所述第一长度,或者所述第二长度小于所述第一长度。
当第一设备确定数据包处理能力达到所述第一设备的处理上限时,第二长度小于所述第一长度;相应的,当第一设备确定数据包处理能力未达到所述第一设备的处理上限时,第二长度大于所述第一长度。
本申请实施例中,所述第一设备确定满足以下一项或多项预设条件时,可以确定数据包处理能力未达到所述第一设备的处理上限:
所述第一设备的接收缓冲区的空闲缓存的大小大于第四阈值;
所述第一设备的接收缓冲区的占用缓存的大小小于第五阈值;
所述第一设备接收的数据速率小于预设速率。
其中,第四阈值、第五阈值、预设速率的取值,可以根据实际情况确定,在此不再赘述。
可选的,第二长度大于所述第一长度时,第二长度可以满足以下公式:
T=β×P······(3)
其中,T为所述第二长度,P为所述第一长度,β为大于1的数,β的取值可以根据实际情况确定,在此不再逐一举例说明。
可选的,本申请实施例中,在增加发送窗口的长度时,可以从第二窗口长度集合中选取一个窗口长度。
具体的,第二窗口长度集合中包括Q个窗口长度,Q为大于0的整数。在增加发送窗口的长度时,可以将第二窗口长度集合中,大于发送窗口调整前的窗口长度的长度作为第二长度。
举例来说,第二窗口长度集合中包括8个窗口长度,分别为:217,216,215,214,213,212,211,210;对应的索引值依次为:0,1,2,3,4,5,6,7。发送窗口调整前的窗口长度为214,在增加发送窗口的窗口长度时,将第二窗口长度集合中大于214的最小窗口长度,即215作为发送窗口调整后的窗口长度,即第二长度。
可选的,所述第一设备启动第二定时器时,所述第一设备在第二定时器超时之后,向所述第二设备发送第二窗口指示信息。
第一设备发送第二窗口指示信息的具体实现方式,可以参考发送第一窗口指示信息中的描述,在此不再赘述。
本申请实施例中,数据包的接收端,即第一设备也会维护一个接收窗口,接收窗口指定了在不向前移动该接收窗口的前提下,第一设备能够接收的数据包的数量。如果接收窗口向前移动,则滑出接收窗口之外的任一数据包,不管其状态如何,都需要进行重组。接收窗口的功能和定义可以参考现有技术中关于重排序窗口或重组窗口的描述。接收窗口对应一个重排序定时器,重排序定时器对应一个重排序定时器状态变量,所述重排序定时器状态变量为触发与所述接收窗口对应的重排序定时器启动的数据包的SN。当启动重排序定时器时,表示存在序列号小于重排序定时器状态变量的数据包还未接收到,此时要等待接收这些数据包,直至重排序定时器超时。
可选的,所述第一设备在需要启动接收窗口对应的重排序定时器时,可以根据以下方式确定重排序定时器状态变量:
若RX_Next_Highest位于所述接收窗口的滑动边界内,则将所述重排序定时器状态变量的取值确定为RX_Next_Highest。其中,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值;所述滑动边界位于所述接收窗口内,且所述滑动边界与所述接收窗口的起始边界之间的长度为所述发送窗口的窗口长度。所述接收窗口的起始边界为所述第一设备的接收窗口中第一个未接收全的数据包的SN。
需要说明的是,RX_Next_Highest位于所述接收窗口的滑动边界内,是指RX_Next_Highest的取值大于或等于所述接收窗口的起始边界,且小于或等于所述接收窗口的滑动边界。
举例来说,如图8所示,为本申请实施例提供的一种接收窗口示意图。第二设备的发送窗口的窗口长度为M,第一设备的接收窗口的起始边界为N+1,第一设备的接收窗口的滑动边界为N+M。第一设备在启动接收窗口对应的重排序定时器时,RX_Next_Highest位于所述接收窗口的滑动边界内,即RX_Next_Highest为大于或等于N+1且小于或等于N+M时,位于所述接收窗口的滑动边界内,重排序定时器状态变量的取值为RX_Next_Highest。
若RX_Next_Highest位于所述接收窗口的滑动边界外,则将所述重排序定时器状态变量的取值确定为所述接收窗口的滑动边界。其中,RX_Next_Highest位于所述接收窗口的滑动边界外,可以是指RX_Next_Highest大于所述接收窗口的滑动边界。
结合图8,RX_Next_Highest大于N+M时,重排序定时器状态变量的取值为N+M。
所述第一设备在发送所述第一窗口调整指示信息时,若所述接收窗口对应的重排序定时器已经启动,则将所述重排序定时器状态变量的取值确定为所述接收窗口的滑动边界。
结合图8,第一设备在发送第一窗口调整指示信息时,确定接收窗口对应的重排序定时器已经启动,则将重排序定时器状态变量的取值确定为N+M。
步骤204中,第二设备接收到第一窗口调整指示信息之后,将发送窗口的窗口减小。需要说明的是,发送窗口指定了在不向前移动该发送窗口的前提下,第二设备能够发送的数据包的数量。
可选的,所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度之后,所述第二设备还可能接收到所述第一设备发送的状态报告,所述状态报告指示出所述第一设备从所述第二设备接收到的至少一个数据包中每个数据包是否接收成功。需要说明的是,所述至少一个数据包为通过所述发送窗口对应的逻辑信道发送的。
所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包。
相应的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则暂时不重传这些数据包,而是标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
可选的,所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度之后,还可能接收所述第一设备发送的第二窗口调整指示信息;所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度大于所述第一长度,或者所述第二长度小于所述第一长度。
所述第二设备根据所述第二窗口调整指示信息调整所述发送窗口的窗口长度。
下面通过具体的实施例描述前面的过程。
实施例1
第一设备的接收窗口的窗口长度初始化时为M,第二设备的发送窗口的窗口长度初始化时为M,举例来说,M可以为217。
第二设备向第一设备发送数据包。第一设备的RLC层接收到数据包之后,第一设备的RLC层向第一设备的PDCP层递交数据包时,携带RLC实体信息,数据包的逻辑信道标识等信息。
步骤901:第一设备的接收缓冲区的空闲缓存的大小小于第一阈值时,第一设备确定数据包处理能力达到所述第一设备的处理上限。
步骤902:第一设备的PDCP层指示第一设备的RLC层减小第二设备的发送窗口的窗口长度。
第一设备可以将占用的缓存大于第三阈值的数据无线承载对应的逻辑信道的发送窗口作为需要调整的发送窗口。在该条件下,第一设备的PDCP层可以指示所述数据无线承载对应的逻辑信道的RLC实体,减小所述数据无线承载对应的逻辑信道的发送窗口。
步骤903:第一设备确定第一窗口调整指示信息。
具体的,第一设备的RLC实体可以先确定调整后的第二设备的发送窗口的窗口长度,即第一长度。
从发送窗口的初始窗口首次调整时,第一设备可以根据公式(2)确定第一长度;若不是从发送窗口的初始窗口进行调整,第一设备可以根据公式(1)确定第一长度。
第一设备通过第一窗口调整指示信息直接指示第一长度,此时第一窗口调整指示信息为第一长度的取值。
步骤904:第一设备向第二设备发送第一窗口调整指示信息,并启动第二定时器。
具体的,第一设备可以通过第一设备的RLC实体生成RLC层控制消息,并通过RLC层控制消息发送第一窗口调整指示信息。RLC层控制消息的结构可以参考图3至图5,在此不再赘述。
步骤905:第二设备根据第一窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
步骤906:第一设备向第二设备发送状态报告。
步骤907:第二设备根据所述状态报告,进行数据包重传。
具体的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包。相应的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则暂时不重传这些数据包,而是标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小仍然小于第一阈值,第一设备在上次减少的发送窗口的窗口长度的基础上,再次减小第二设备的发送窗口的窗口长度。
具体的,步骤908:第一设备向第二设备发送第二窗口调整指示信息,并启动第二定时器。
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度小于所述第一长度。
所述第二长度可以通过公式(1)确定。
步骤909:第二设备根据第二窗口调整指示信息调整发送窗口的窗口长度。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小大于第四阈值时,第一设备确定需要增加第二设备的发送窗口,从而可以在上次减少的发送窗口的窗口长度的基础上,增加第二设备的发送窗口的窗口长度。
需要说明的是,此时第一设备的接收缓冲区可以是指RLC层接收缓冲区,也可以是指PDCP层接收缓冲区。
具体的,步骤910:第一设备向第二设备发送第三窗口调整指示信息,所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第三长度,所述第三长度大于所述第二长度。
所述第三长度可以通过公式(3)确定。
第一设备发送第二窗口调整指示信息的同时,还可以再次启动第二定时器。
步骤911:第二设备根据第三窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
实施例2
第一设备的接收窗口的窗口长度初始化时为M,第二设备的发送窗口的窗口长度初始化时为M,举例来说,M可以为217。
第二设备向第一设备发送数据包。第一设备的RLC层接收到数据包之后,第一设备的RLC层向第二设备的PDCP层递交数据包时,携带RLC实体信息,数据包的逻辑信道标识等信息。
步骤1001:第一设备的接收缓冲区发生数据溢出时,发生数据包丢包,此时,第一设备确定数据包处理能力达到所述第一设备的处理上限。
在该条件下,第一设备的RLC实体向PDCP实体递交数据包时,携带RLC实体信息,包括逻辑信道标识等。第一设备的接收缓冲区发生数据溢出时,第一设备的PDCP实体通知第一设备的RLC实体丢包相关信息,如果第一设备的RLC实体还没有给第二设备确认过对应数据包已经接收到,则可以继续等待第二设备重传上述丢包。
步骤1002:第一设备的PDCP层指示第一设备的RLC层减小第二设备的发送窗口的窗口长度。
第一设备可以将占用的缓存大于第三阈值的数据无线承载对应的逻辑信道的发送窗口作为需要调整的发送窗口。在该条件下,第一设备的PDCP层可以指示所述数据无线承载对应的逻辑信道的RLC实体,减小所述数据无线承载对应的逻辑信道的发送窗口。
步骤1003:第一设备确定第一窗口调整指示信息。
具体的,第一设备的RLC实体可以先确定调整后的第二设备的发送窗口的窗口长度,即第一长度。
从发送窗口的初始窗口首次调整时,第一设备可以根据公式(2)确定第一长度;若不是从发送窗口的初始窗口进行调整,第一设备可以根据公式(1)确定第一长度。
第一设备通过第一窗口调整指示信息直接指示第一长度,此时第一窗口调整指示信息为第一长度的取值。
步骤1004:第一设备向第二设备发送第一窗口调整指示信息,并启动第二定时器。
具体的,第一设备的RLC实体将第一窗口调整指示信息发送至第一设备的MAC实体,第一设备的MAC实体构建MAC CE,并通过MAC CE发送第一窗口调整指示信息。MAC CE的结构可以参考图6至图7,在此不再赘述。
步骤1005:第二设备根据第一窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
步骤1006:第一设备向第二设备发送状态报告。
步骤1007:第二设备根据所述状态报告,进行数据包重传。
具体的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包。相应的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则暂时不重传这些数据包,而是标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小仍然小于第一阈值,第一设备在上次减少的发送窗口的窗口长度的基础上,再次减小第二设备的发送窗口的窗口长度。
具体的,步骤1008:第一设备向第二设备发送第二窗口调整指示信息,并启动第二定时器。
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度小于所述第一长度。
所述第二长度可以通过公式(1)确定。
步骤1009:第二设备根据第二窗口调整指示信息调整发送窗口的窗口长度。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小大于第四阈值,或所述第一设备的接收缓冲区的占用缓存的大小小于第五阈值时,第一设备确定需要增加第二设备的发送窗口,从而可以在上次减少的发送窗口的窗口长度的基础上,增加第二设备的发送窗口的窗口长度。
需要说明的是,此时第一设备的接收缓冲区可以是指RLC层接收缓冲区,也可以是指PDCP层接收缓冲区。
具体的,步骤1010:第一设备向第二设备发送第三窗口调整指示信息,所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第三长度,所述第三长度大于所述第二长度。
所述第三长度可以通过公式(3)确定。
第一设备发送第二窗口调整指示信息的同时,还可以再次启动第二定时器。
步骤1011:第二设备根据第三窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
实施例3
第一设备的接收窗口的窗口长度初始化时为M,第二设备的发送窗口的窗口长度初始化时为M2。其中M为预设的值。举例来说,M可以为217。第二设备可以根据根据实际情况确定初始化时的发送窗口的窗口长度,在此不再赘述。举例来说,M2可以为212。
可选的,本申请实施例中,在减小发送窗口的长度时,可以从第一窗口长度集合中选取一个窗口长度作为发送窗口调整后的窗口长度。
具体的,第一窗口长度集合中包括K个窗口长度,K为大于0的整数。在减少发送窗口的长度时,可以将第一窗口长度集合中,小于发送窗口调整前的窗口长度的长度作为发送窗口调整后的窗口长度。
举例来说,第一窗口长度集合中包括5个窗口长度,分别为:217,214,213,212,211,210;对应的索引值依次为:0,3,4,5,6,7。发送窗口调整前的窗口长度为214,在减小发送窗口的窗口长度时,将第一窗口长度集合中小于214的最大窗口长度,即213,作为发送窗口调整后的窗口长度。
相应的,在增加发送窗口的长度时,可以从第二窗口长度集合中选取一个窗口长度。
具体的,第二窗口长度集合中包括Q个窗口长度,Q为大于0的整数。在增加发送窗口的长度时,可以将第二窗口长度集合中,大于发送窗口调整前的窗口长度的长度作为发送窗口调整后的窗口长度。
举例来说,第二窗口长度集合中包括8个窗口长度,分别为:217,216,215,214,213,212,211,210;对应的索引值依次为:0,1,2,3,4,5,6,7。发送窗口调整前的窗口长度为214,在增加发送窗口的窗口长度时,将第二窗口长度集合中大于214的最小窗口长度,即215,作为发送窗口调整后的窗口长度。
结合上面的描述,如图11所示,为本申请实施例提供的一种通信方法流程示意图。
在图11的流程之前,第二设备与网络侧激活了PDU session。
同时,图11的流程中,发送窗口的窗口长度在减少或增加时,分别通过第一窗口长度集合和第二窗口长度集合进行选择。
第一窗口长度集合中包括5个窗口长度,分别为:217,214,213,212,211,210;对应的索引值依次为:0,3,4,5,6,7。第二窗口长度集合中包括8个窗口长度,分别为:217,216,215,214,213,212,211,210;对应的索引值依次为:0,1,2,3,4,5,6,7。
步骤1101:第一设备的接收缓冲区的空闲缓存的大小小于第一阈值时,第一设备确定数据包处理能力达到所述第一设备的处理上限。
该接收缓冲区可以是指RLC层接收缓冲区。
此时,第一设备可以将占用的缓存大于第三阈值的数据无线承载对应的逻辑信道的发送窗口作为需要调整的发送窗口。
步骤1102:第一设备确定第一窗口调整指示信息。
具体的,第一设备的RLC实体可以将第一窗口长度集合中,小于发送窗口调整前的窗口长度的最大长度作为发送窗口调整后的窗口长度。结合前面的描述,第一设备的RLC实体从第一窗口长度集合中确定出的第一长度为211。此时,第一设备确定出的第一窗口调整指示信息可以为第一长度的取值,也可以为第一长度的索引值。
步骤1103:第一设备向第二设备发送第一窗口调整指示信息,并启动第二定时器。
具体的,第一设备可以通过第一设备的RLC实体生成RLC层控制消息,并通过RLC层控制消息发送第一窗口调整指示信息。RLC层控制消息的结构可以参考图3至图5,在此不再赘述。
步骤1104:第二设备根据第一窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
步骤1105:第一设备向第二设备发送状态报告。
步骤1106:第二设备根据所述状态报告,进行数据包重传。
具体的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包。相应的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则暂时不重传这些数据包,而是标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小仍然小于第一阈值,第一设备在上次减少的发送窗口的窗口长度的基础上,再次减小第二设备的发送窗口的窗口长度。
具体的,步骤1107:第一设备向第二设备发送第二窗口调整指示信息,并启动第二定时器。
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度小于所述第一长度。结合前面的描述,第一设备的RLC实体从第一窗口长度集合中确定出的第二长度为210。
步骤1108:第二设备根据第二窗口调整指示信息调整发送窗口的窗口长度。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小大于第四阈值时,第一设备确定需要增加第二设备的发送窗口,从而可以在上次减少的发送窗口的窗口长度的基础上,增加第二设备的发送窗口的窗口长度。
需要说明的是,此时第一设备的接收缓冲区可以是指RLC层接收缓冲区,也可以是指PDCP层接收缓冲区。
具体的,步骤1109:第一设备向第二设备发送第三窗口调整指示信息,所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第三长度,所述第三长度大于所述第二长度。
结合前面的描述,第一设备的RLC实体从第二窗口长度集合中确定出的第三长度为211。
步骤1110:第二设备根据第三窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
实施例4
如图12所示,为本申请实施例提供的一种通信方法流程示意图。
在图12的流程之前,第二设备与网络侧激活了PDU session。
同时,图12的流程中,发送窗口的窗口长度在减少或增加时,分别通过第一窗口长度集合和第二窗口长度集合进行选择。
第一窗口长度集合中包括5个窗口长度,分别为:217,214,213,212,211,210;对应的索引值依次为:0,3,4,5,6,7。第二窗口长度集合中包括8个窗口长度,分别为:217,216,215,214,213,212,211,210;对应的索引值依次为:0,1,2,3,4,5,6,7。
步骤1201:第一设备的接收缓冲区的空闲缓存的大小小于第一阈值时,第一设备确定数据包处理能力达到所述第一设备的处理上限。
该接收缓冲区可以是指RLC层接收缓冲区。
此时,第一设备可以将占用的缓存大于第三阈值的数据无线承载对应的逻辑信道的发送窗口作为需要调整的发送窗口。
步骤1202:第一设备确定第一窗口调整指示信息。
结合前面的描述,第一设备的RLC实体从第一窗口长度集合中确定出的第一长度为211。此时,第一设备确定出的第一窗口调整指示信息可以为第一长度的取值,也可以为第一长度的索引值。
步骤1203:第一设备向第二设备发送第一窗口调整指示信息,并启动第二定时器。
具体的,第一设备的RLC实体将第一窗口调整指示信息发送至第一设备的MAC实体,第一设备的MAC实体构建MAC CE,并通过MAC CE发送第一窗口调整指示信息。MAC CE的结构可以参考图6至图7,在此不再赘述。
步骤1204:第二设备根据第一窗口调整指示信息调整发送窗口的窗口长度。
第一设备通过MAC CE发送第一窗口调整指示信息时,第二设备将MAC CE中的目标逻辑信道字段指示的逻辑信道对应的发送窗口确定为需要调整的发送窗口。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
步骤1205:第一设备向第二设备发送状态报告。
步骤1206:第二设备根据所述状态报告,进行数据包重传。
具体的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包。相应的,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则暂时不重传这些数据包,而是标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小仍然小于第一阈值,第一设备在上次减少的发送窗口的窗口长度的基础上,再次减小第二设备的发送窗口的窗口长度。
具体的,步骤1207:第一设备向第二设备发送第二窗口调整指示信息,并启动第二定时器。
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度小于所述第一长度。结合前面的描述,第一设备的RLC实体从第一窗口长度集合中确定出的第二长度为210。
步骤1208:第二设备根据第三窗口调整指示信息调整发送窗口的窗口长度。
若第二定时器超时后,第一设备的接收缓冲区的空闲缓存的大小大于第四阈值时,第一设备确定需要增加第二设备的发送窗口,从而可以在上次减少的发送窗口的窗口长度的基础上,增加第二设备的发送窗口的窗口长度。
需要说明的是,此时第一设备的接收缓冲区可以是指RLC层接收缓冲区,也可以是指PDCP层接收缓冲区。
具体的,步骤1209:第一设备向第二设备发送第三窗口调整指示信息,所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第三长度,所述第三长度大于所述第二长度。
结合前面的描述,第一设备的RLC实体从第二窗口长度集合中确定出的第三长度为211。
步骤1210:第二设备根据第三窗口调整指示信息调整发送窗口的窗口长度。
第二设备发送的数据包和重传的数据包都不超出调整后的发送窗口的窗口长度的范围。
以上结合附图详细说明了本申请实施例的通信方法,以下结合附图详细说明本申请实施例的通信装置。
图13是本申请实施例提供的一种终端的结构示意图。该终端可适用于图2所示出的流程图中,执行上述方法实施例中第一设备或第二设备的功能。为了便于说明,图13仅示出了终端的主要部件。如图13所示,终端130包括处理器、存储器、控制电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对整个终端进行控制,执行软件程序,处理软件程序的数据,例如用于支持终端执行上述方法实施例中所描述的动作,如,生成第一窗口调整指示信息,向所述第二设备发送所述第一窗口调整指示信息等。存储器主要用于存储软件程序和数据,例如存储上述实施例中所描述的第一窗口调整指示信息等。控制电路主要用于基带信号与射频信号的转换以及对射频信号的处理。控制电路和天线一起也可以叫做收发器,主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。
当终端开机后,处理器可以读取存储单元中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过无线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至射频电路,射频电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到终端时,射频电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
本领域技术人员可以理解,为了便于说明,图13仅示出了一个存储器和一个处理器。在实际的终端中,可以存在多个处理器和多个存储器。存储器也可以称为存储介质或者存储设备等,本申请实施例对此不做限定。
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信协议以及通信数据进行处理,中央处理器主要用于对整个终端进行控制,执行软件程序,处理软件程序的数据。图13中的处理器可以包括基带处理器和/或中央处理器的功能,本领域技术人员可以理解,基带处理器和中央处理器也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,终端可以包括一个或多个基带处理器以适应不同的网络制式,终端可以包括多个中央处理器以增强其处理能力,终端的各个部件可以通过各种总线连接。所述基带处理器也可以表述为基带处理电路或者基带处理芯片。所述中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储单元中,由处理器执行软件程序以实现基带处理功能。
在本申请实施例中,可以将具有收发功能的天线和控制电路视为终端130的收发单元1301,例如,用于支持终端执行如图2部分所述的接收功能和发送功能。将具有处理功能的处理器视为终端130的处理单元1302。如图13所示,终端130包括收发单元1301和处理单元1302。收发单元也可以称为收发器、收发机、收发装置等。可选的,可以将收发单元1301中用于实现接收功能的器件视为接收单元,将收发单元1301中用于实现发送功能的器件视为发送单元,即收发单元1301包括接收单元和发送单元,接收单元也可以称为接收机、输入口、接收电路等,发送单元可以称为发射机、发射器或者发射电路等。
处理器1302可用于执行该存储器存储的指令,以控制收发单元1301接收信号和/或发送信号,完成上述方法实施例中终端的功能。作为一种实现方式,收发单元1301的功能可以考虑通过收发电路或者收发的专用芯片实现。
图14是本申请实施例提供的一种网络设备的结构示意图,如可以为基站的结构示意图。如图14所示,该基站可应用于如图2所示的流程中,执行上述方法实施例中第一设备或第二设备的功能。基站140可包括一个或多个射频单元,如远端射频单元(remote radiounit,RRU)1401和一个或多个基带单元(baseband unit,BBU)(也可称为数字单元,digitalunit,DU)1402。所述RRU 1401可以称为收发单元、收发机、收发电路、或者收发器等等,其可以包括至少一个天线14011和射频单元14012。所述RRU 1401部分主要用于射频信号的收发以及射频信号与基带信号的转换,例如用于向终端发送上述实施例中所述的信令消息。所述BBU 1402部分主要用于进行基带处理,对基站进行控制等。所述RRU 1401与BBU 1402可以是物理上设置在一起,也可以物理上分离设置的,即分布式基站。
所述BBU 1402为基站的控制中心,也可以称为处理单元,主要用于完成基带处理功能,如信道编码,复用,调制,扩频等等。例如所述BBU(处理单元)1402可以用于控制基站执行上述方法实施例中关于接入网设备的操作流程。
在一个实例中,所述BBU 1402可以由一个或多个单板构成,多个单板可以共同支持单一接入指示的无线接入网(如LTE网),也可以分别支持不同接入制式的无线接入网(如LTE网,5G网或其他网)。所述BBU 1402还包括存储器14021和处理器14022,所述存储器14021用于存储必要的指令和数据。例如存储器14021存储上述实施例中的码本索引与预编码矩阵的对应关系。所述处理器14022用于控制基站进行必要的动作,例如用于控制基站执行上述方法实施例中关于接入网设备的操作流程。所述存储器14021和处理器14022可以服务于一个或多个单板。也就是说,可以每个单板上单独设置存储器和处理器。也可以是多个单板共用相同的存储器和处理器。此外每个单板上还可以设置有必要的电路
图15给出了一种通信装置1500的结构示意图。装置1500可用于实现上述方法实施例中描述的方法,可以参见上述方法实施例中的说明。所述通信装置1500可以是芯片,接入网设备(如基站),终端或者其他接入网设备等。
所述通信装置1500包括一个或多个处理器1501。所述处理器1501可以是通用处理器和/或专用处理器等。例如可以是基带处理器、或中央处理器。基带处理器可以用于对通信协议以及通信数据进行处理,中央处理器可以用于对通信装置(如,基站、终端、或芯片等)进行控制,执行软件程序,处理软件程序的数据。所述通信装置可以包括收发单元,用以实现信号的输入(接收)和输出(发送)。例如,通信装置可以为芯片,所述收发单元可以是芯片的输入和/或输出电路,或者通信接口。所述芯片可以用于终端或基站或其他接入网设备。又如,通信装置可以为终端或基站或其他接入网设备,所述收发单元可以为收发器,射频芯片等。
所述通信装置1500包括一个或多个所述处理器1501,所述一个或多个处理器1501可实现图2所示的实施例中接入网设备或者终端的方法。
在一种可能的设计中,所述通信装置1500包括用于生成第一窗口调整指示信息的部件(means),以及用于发送第一窗口调整指示信息的部件(means)。可以通过一个或多个处理器来实现所述生成第一窗口调整指示信息的means以及发送第一窗口调整指示信息的means的功能。例如可以通过一个或多个处理器生成所述第一窗口调整指示信息,通过收发器、或输入/输出电路、或芯片的接口发送所述第一窗口调整指示信息。所述第一窗口调整指示信息可以参见上述方法实施例中的相关描述。
在一种可能的设计中,所述通信装置1500包括用于接收第一窗口调整指示信息的部件(means),以及用于确定第一窗口调整指示信息指示的资源的部件(means)。所述第一窗口调整指示信息以及如何确定第一窗口调整指示信息指示的资源可以参见上述方法实施例中的相关描述。例如可以通过收发器、或输入/输出电路、或芯片的接口接收所述第一窗口调整指示信息,通过一个或多个处理器确定第一窗口调整指示信息指示的资源。
可选的,处理器1501除了实现图2所示的实施例的方法,还可以实现其他功能。
可选的,一种设计中,处理器1501也可以包括指令1503,所述指令可以在所述处理器上被运行,使得所述通信装置1500执行上述方法实施例中描述的方法。
在又一种可能的设计中,通信装置1500也可以包括电路,所述电路可以实现前述方法实施例中接入网设备或终端的功能。
在又一种可能的设计中所述通信装置1500中可以包括一个或多个存储器1502,其上存有指令1504,所述指令可在所述处理器上被运行,使得所述通信装置1500执行上述方法实施例中描述的方法。可选的,所述存储器中还可以存储有数据。可选的处理器中也可以存储指令和/或数据。例如,所述一个或多个存储器1502可以存储上述实施例中所描述的对应关系,或者上述实施例中所涉及的相关的参数或表格等。所述处理器和存储器可以单独设置,也可以集成在一起。
在又一种可能的设计中,所述通信装置1500还可以包括收发单元1505以及天线1506。所述处理器1501可以称为处理单元,对通信装置(终端或者基站)进行控制。所述收发单元1505可以称为收发机、收发电路、或者收发器等,用于通过天线1506实现通信装置的收发功能。
本申请还提供一种通信系统,其包括前述的一个或多个第一设备,和,一个或多个第二设备。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例所述的方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例所述的方法。
应理解,在本申请实施例中的处理器可以是中央处理单元(Central ProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,通常为“和/或”的简略形式。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
Claims (20)
1.一种通信方法,其特征在于,该方法包括:
第一设备接收第二设备发送的数据包,并在确定数据包处理能力达到所述第一设备的处理上限时,生成第一窗口调整指示信息;所述第一窗口调整指示信息用于指示所述第二设备减少发送窗口的窗口长度;所述发送窗口的窗口长度与所述第二设备一次最多调度的数据包的数量成正比;
所述第一设备向所述第二设备发送所述第一窗口调整指示信息。
2.根据权利要求1所述的方法,其特征在于,所述确定数据包处理能力达到所述第一设备的处理上限,包括:
所述第一设备确定满足以下一项或多项预设条件时,确定数据包处理能力达到所述第一设备的处理上限:
所述第一设备的接收缓冲区的空闲缓存的大小小于第一阈值;
所述第一设备的接收缓冲区的占用缓存的大小大于第二阈值;
所述第一设备的接收缓冲区发生数据溢出;
所述第一设备确定没有空闲的资源处理接收到的数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述发送窗口调整前的窗口长度为M,M大于0;
所述发送窗口调整后的窗口长度为第一长度;
所述第一长度为α×M,或者,所述第一长度满足以下公式:
P=α×min((RX_Next_Highest-RX_Next+LAST_UPLOAD),M)
其中,P为所述第一长度,α为大于0且小于1的数,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值,RX_Next为所述第一设备的接收窗口中第一个未接收全的数据包的SN,LAST_UPLOAD为所述第一设备在所述接收窗口上一次滑动时递交的数据包的数量,min()为取最小值运算。
4.根据权利要求3所述的方法,其特征在于,所述发送窗口的窗口长度为预设的K个长度中的一个,K为大于0的整数;
所述第一长度为所述K个长度中小于所述发送窗口调整前的窗口长度的长度。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一窗口调整指示信息对应的逻辑信道或数据无线承载在所述第一设备中占用的缓存大于第三阈值;或者,所述第一窗口调整指示信息对应的逻辑信道或数据无线承载在所述第一设备中占有的缓存最大。
6.根据权利要求1至5任一所述的方法,其特征在于,所述第一设备生成第一窗口调整指示信息之前,所述方法还包括:
所述第一设备确定第一定时器已经超时;
所述第一定时器为所述第一设备上一次生成窗口调整指示信息时启动的,所述第一定时器的定时时长为第一时长。
7.根据权利要求3至6任一所述的方法,其特征在于,所述第一设备向所述第二设备发送所述第一窗口调整指示信息之后,所述方法还包括:
所述第一设备向所述第二设备发送第二窗口调整指示信息;
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度大于所述第一长度,或者所述第二长度小于所述第一长度。
8.根据权利要求7所述的方法,其特征在于,所述第二长度大于所述第一长度时,所述第一设备向所述第二设备发送第二窗口调整指示信息之前,所述方法还包括:
所述第一设备确定满足以下一项或多项预设条件:
所述第一设备的接收缓冲区的空闲缓存的大小大于第四阈值;
所述第一设备的接收缓冲区的占用缓存的大小小于第五阈值;
所述第一设备接收的数据速率小于预设速率。
9.根据权利要求1至8任一所述的方法,其特征在于,所述第一设备在发送所述第一窗口调整指示信息时,若确定所述接收窗口对应的重排序定时器已经启动,则将所述重排序定时器状态变量的取值确定为所述接收窗口的滑动边界;所述滑动边界位于所述接收窗口内,且所述滑动边界与所述接收窗口的起始边界之间的长度为所述发送窗口的窗口长度。
10.根据权利要求1至9任一所述的方法,其特征在于,所述第一设备向所述第二设备发送所述第一窗口调整指示信息之后,所述方法还包括:
所述第一设备在启动接收窗口对应的重排序定时器时,根据以下方式确定重排序定时器状态变量,所述重排序定时器状态变量为触发与所述接收窗口对应的重排序定时器启动的数据包的SN:
若RX_Next_Highest位于所述接收窗口的滑动边界内,则将所述重排序定时器状态变量的取值确定为RX_Next_Highest,其中,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值;所述滑动边界位于所述接收窗口内,且所述滑动边界与所述接收窗口的起始边界之间的长度为所述发送窗口的窗口长度;
或者,若RX_Next_Highest位于所述接收窗口的滑动边界外,则将所述重排序定时器状态变量的取值确定为所述接收窗口的滑动边界。
11.根据权利要求1至10任一所述的方法,其特征在于,所述第一设备向所述第二设备发送所述第一窗口调整指示信息,包括:
所述第一设备通过无线资源控制RRC信令向所述第二设备发送所述第一窗口调整指示信息;
或者,所述第一设备通过无线链路控制RLC层控制消息向所述第二设备发送所述第一窗口调整指示信息;
或者,所述第一设备通过媒体介入控制MAC控制元素CE向所述第二设备发送所述第一窗口调整指示信息。
12.一种通信方法,其特征在于,包括:
第二设备接收第一设备发送的第一窗口调整指示信息;所述第一窗口调整指示信息用于指示所述第二设备减少发送窗口的窗口长度;所述发送窗口的窗口长度与所述第二设备一次最多调度的数据包的数量成正比;所述第一窗口调整指示信息为所述第一设备在确定数据包处理能力达到所述第一设备的处理上限时生成的;
所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度。
13.根据权利要求12所述的方法,其特征在于,所述发送窗口调整前的窗口长度为M,M大于0;
所述发送窗口调整后的窗口长度为第一长度;
所述第一长度为α×M,或者,所述第一长度满足以下公式:
P=α×min((RX_Next_Highest-RX_Next+LAST_UPLOAD),M)
其中,P为所述第一长度,α为大于0且小于1的数,RX_Next_Highest为当前接收到的最大序列号SN的数据包的SN加1后的值,RX_Next为所述第一设备的接收窗口中第一个未接收全的数据包的SN,LAST_UPLOAD为所述第一设备在所述接收窗口上一次滑动时递交的数据包的数量,min()为取最小值运算。
14.根据权利要求13所述的方法,其特征在于,所述发送窗口的窗口长度为预设的K个长度中的一个,K为大于0的整数;
所述第一长度为所述K个长度中小于所述发送窗口调整前的窗口长度的最大长度。
15.根据权利要求12至14任一所述的方法,其特征在于,所述发送窗口对应的逻辑信道的数据信令承载在所述第一设备中占用的缓存大于第三阈值。
16.根据权利要求12至15任一所述的方法,其特征在于,所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度之后,所述方法还包括:
所述第二设备接收所述第一设备发送的状态报告,所述状态报告指示出所述第一设备从所述第二设备接收到的至少一个数据包中每个数据包是否接收成功;
所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口内的数据包接收失败,则重传接收失败的数据包;
或者,所述第二设备若根据所述状态报告确定所述至少一个数据包中位于所述发送窗口外的数据包接收失败,则标记接收失败且位于所述发送窗口外的数据包,并在确定标记的数据包位于滑动后的所述发送窗口内时,重传所述标记的数据包。
17.根据权利要求12至16任一所述的方法,其特征在于,所述第二设备根据所述第一窗口调整指示信息调整所述发送窗口的窗口长度之后,所述方法还包括:
所述第二设备接收所述第一设备发送的第二窗口调整指示信息;
所述第二窗口调整指示信息用于指示所述第二设备将所述发送窗口的窗口长度调整为第二长度,所述第二长度大于所述第一长度,或者所述第二长度小于所述第一长度;
所述第二设备根据所述第二窗口调整指示信息调整所述发送窗口的窗口长度。
18.一种通信装置,其特征在于,用于执行如权利要求1至17中任一项所述的方法。
19.一种通信装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,以使得所述装置执行如权利要求1至17中任一项所述的方法。
20.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至17中任意一项所述的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810032226.8A CN110035017A (zh) | 2018-01-12 | 2018-01-12 | 一种通信方法及装置 |
PCT/CN2019/071476 WO2019137501A1 (zh) | 2018-01-12 | 2019-01-11 | 一种通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810032226.8A CN110035017A (zh) | 2018-01-12 | 2018-01-12 | 一种通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110035017A true CN110035017A (zh) | 2019-07-19 |
Family
ID=67219375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810032226.8A Pending CN110035017A (zh) | 2018-01-12 | 2018-01-12 | 一种通信方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110035017A (zh) |
WO (1) | WO2019137501A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499749A (zh) * | 2020-11-13 | 2022-05-13 | 上海华为技术有限公司 | 一种数据发送方法及其相关设备 |
CN114598660A (zh) * | 2020-12-04 | 2022-06-07 | 大唐移动通信设备有限公司 | 传输窗口的调整方法、装置、发送设备、接收设备及介质 |
WO2024037230A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 一种通信方法及装置 |
CN114499749B (zh) * | 2020-11-13 | 2024-06-11 | 上海华为技术有限公司 | 一种数据发送方法及其相关设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021142848A1 (zh) * | 2020-01-19 | 2021-07-22 | Oppo广东移动通信有限公司 | Pdcp重排序定时器配置方法、装置、终端设备和网络设备 |
EP4187821A4 (en) * | 2020-08-05 | 2023-09-06 | Huawei Technologies Co., Ltd. | COMMUNICATION METHOD AND APPARATUS |
CN115065991A (zh) * | 2022-02-24 | 2022-09-16 | 山东浪潮科学研究院有限公司 | 基站上下行业务数据优化传输方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170504A (zh) * | 2007-12-03 | 2008-04-30 | 北京天碁科技有限公司 | 无线链路控制层窗口流量的调整方法 |
CN102055571A (zh) * | 2009-11-05 | 2011-05-11 | 华为技术有限公司 | 一种数据包的传输方法、通信设备和通信系统 |
EP2775635A1 (en) * | 2011-11-01 | 2014-09-10 | Samsung Electronics Co., Ltd. | Method and apparatus for estimating available bandwidth for each user equipment in mobile communication system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103840927B (zh) * | 2012-11-23 | 2017-09-12 | 华为技术有限公司 | 数据传输的方法和相关设备 |
-
2018
- 2018-01-12 CN CN201810032226.8A patent/CN110035017A/zh active Pending
-
2019
- 2019-01-11 WO PCT/CN2019/071476 patent/WO2019137501A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101170504A (zh) * | 2007-12-03 | 2008-04-30 | 北京天碁科技有限公司 | 无线链路控制层窗口流量的调整方法 |
CN102055571A (zh) * | 2009-11-05 | 2011-05-11 | 华为技术有限公司 | 一种数据包的传输方法、通信设备和通信系统 |
EP2775635A1 (en) * | 2011-11-01 | 2014-09-10 | Samsung Electronics Co., Ltd. | Method and apparatus for estimating available bandwidth for each user equipment in mobile communication system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499749A (zh) * | 2020-11-13 | 2022-05-13 | 上海华为技术有限公司 | 一种数据发送方法及其相关设备 |
CN114499749B (zh) * | 2020-11-13 | 2024-06-11 | 上海华为技术有限公司 | 一种数据发送方法及其相关设备 |
CN114598660A (zh) * | 2020-12-04 | 2022-06-07 | 大唐移动通信设备有限公司 | 传输窗口的调整方法、装置、发送设备、接收设备及介质 |
WO2024037230A1 (zh) * | 2022-08-15 | 2024-02-22 | 华为技术有限公司 | 一种通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019137501A1 (zh) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3616440B1 (en) | Duplicating pdcp pdus for a radio bearer | |
CN110035017A (zh) | 一种通信方法及装置 | |
US11343671B2 (en) | Handling of PDCP duplication and data recovery in new radio access technology | |
CN109788509A (zh) | 连续数据包传输失败的规避方法及装置 | |
US11464040B2 (en) | Data transmission method and apparatus | |
CN108809542A (zh) | 一种数据传输的处理方法和装置 | |
CN106134099A (zh) | 用于在移动通信系统中使用多个载波来发送和接收数据的方法和设备 | |
CN110324848A (zh) | 信息处理方法以及相关装置 | |
CN105191200A (zh) | 锚-助推器网络中的数据重传 | |
CN108365924A (zh) | 一种数据重传方法、通信装置 | |
CN101094461A (zh) | 无线通信系统处理上行链路传输的切换操作的方法及装置 | |
CN106171004B (zh) | 一种rlc数据包分流方法及基站 | |
CN104685930B (zh) | 一种通讯方法和终端 | |
CN110351020A (zh) | 一种传输数据的方法、装置和系统 | |
EP3226606B1 (en) | Method for ran-wlan aggregation | |
CN105830378B (zh) | 混合自动重复请求(harq)过程的丢弃 | |
US20190297530A1 (en) | Wireless communication apparatus and wireless communication system | |
US10687378B2 (en) | Method for communicating in multi-connection based mobile communication system and apparatus for the same | |
US20220416934A1 (en) | Data processing method and apparatus | |
CN102271364B (zh) | 一种数据包传输方法、装置及系统 | |
CN101360262B (zh) | 通讯系统中共享资源的控制方法及控制装置 | |
EP3920592B1 (en) | Switching method, apparatus and system in wireless communication system | |
US20090109951A1 (en) | Method and Apparatus for Counting Transmission Times of a PDU | |
CN108282815A (zh) | 一种数据处理的方法及数据处理设备 | |
US12004071B2 (en) | User equipment Layer 2 buffer operation in IAB networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190719 |