本发明涉及通信领域,尤其涉及一种资源调度分配的方法以及通信设备。
背景技术:
当前网络中传输的业务,有很大比例是基于TCP传输协议的业务。作为传输控制协议,TCP(Transmission Control Protocol)相比于UDP(User Datagram Protocol,用户数据报协议)而言,能够提供面向连接的、可靠交付的服务。在传输数据之前首先要建立连接,在传输完毕之后也要释放连接,丢包必须重传。TCP的特性使其可靠性大为提升,但是也使其比UDP增加了许多开销,如ACK确认、流量控制以及计时器等。
然而,当用户的资源需求总和大于可用资源时,即会产生网络拥塞。当发生拥塞时,会造成数据包的丢失,引起重传,使得传输效率降低。为了提高传输效率,TCP采用大小可变的发送窗口进行流量控制。在TCP端对端通信中,通过在发送方维持一个发送窗口cwnd和一个慢启动门限ssthresh,与接收端通告的接收窗口rwnd共同控制发送端发送数据包的数量,避免发生网络拥塞。
但是,现有LTE(Long Term Evolution,长期演进)系统中所使用的快速调度算法都未考虑传输层TCP状态。TCP状态是由拥塞控制模块获取的,主要分为四个部分,慢开始、拥塞避免、快速重传与快速恢复和超时重传。即现有LTE下行资源分配方法只考虑了无线信道状态或者用户间的公平性,并没有考虑TCP上行ACK(Acknowledgement,即确认信息)反馈情况。这会造成底层资源分配不能与TCP良好配合,限制系统性能。
技术实现要素:
本发明实施例提供了一种资源调度分配的方法以及通信设备,用于确定反馈确认信息紧急性比较高的第二目标设备,第一设备为第二目标设备分配无线承载资源,用来向第一设备反馈确认信息,提高系统的资源利用率。
本发明实施例第一方面提供一种资源调度分配的方法,可以包括:第一设备在每个第二设备接收该第一设备发送的第一数据包后,确定每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,该确认信息ACK与该第一数据包对应;这里的第一数据包可以理解为TCP数据包。该第一设备根据该反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,为第二目标设备分配无线承载资源,以使得该第二目标设备使用该无线承载资源向该第一设备反馈该确认信息ACK,该第二目标设备为剩余等待时长最少和/或该传输层控制层协议TCP状态处于预置状态的第二设备。应理解,这里的第一设备可以是基站,也可以是用户设备,当第一设备是基站时,第二设备是用户设备,当第一设备是用户设备时,第二设备是基站。上述的传输层控制协议TCP状态通常可以包括慢启动状态、拥塞避免状态、快速重传与快速恢复状态以及超时重传状态。那么,上述提及的预置状态就可以设置为慢启动状态、拥塞避免状态、快速重传与快速恢复状态以及超时重传状态中的至少一种。
在本发明实施例中,为了避免网络拥塞,TCP数据包的发送速率是依据返回ACK的情况来确定的。因此,如果不能有效分配资源传输更紧急的ACK,就会造成网络资源利用率低的情况。所以,这里第一设备先确定每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,再根据剩余等待时长和/或传输层控制协议TCP状态确定第二目标设备,为第二目标设备分配无线承载资源,以使得该第二目标设备使用该无线承载资源向该第一设备反馈该确认信息ACK。即若第一设备为eNodeB基站端,该策略可以通过获取的TCP状态,来估计不同用户ACK在上行队列中的等待情况并按照时延门限对ACK数据包进行紧急性区分。可以综合ACK的紧急性和信道质量,进行上行资源分配。这种方法可以使得较为紧急ACK确认信息尽快到达发送端,从而保证TCP数据包的发送速率。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第一种可能的实现方式中,该第一设备确定每个第二设备接收该第一设备发送的第一数据包后,每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长,可以包括:该第一设备获取每个第二设备接收该第一设备发送的第一数据包的发送时刻、超时重传时长和当前时刻;这里超时重传时长指的是该第一数据包从第一设备发出,第二设备接收之后,再返回确认信息到第一设备的总共时长;当前时刻指的是系统(第一设备)的当前时间。该第一设备根据该第一数据包的发送时间、该超时重传时间和该当前时刻,计算出每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长。即第一数据包的发送时间和超时重传时间之和,再减去当前时刻,就是每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长。
在本发明实施例中,提供了第一设备确定每个第二设备向第一设备反馈确认信息ACK的剩余等待时长的具体实现方式,为本发明实施例提供了可行性的方案。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种可能的实现方式,在本发明实施例的第一方面的第二种可能的实现方式中,该第一设备根据该反馈确认信息ACK的剩余等待时长和/或计时器的状态,为第二目标设备分配无线承载资源,可以包括:该第一设备根据该每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,确定每个第二设备的优先级;即第一设备可以根据每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,按照特定的公式确定每个第二设备的优先级。进而该第一设备可以根据该每个第二设备的优先级,为该第二目标设备分配无线承载资源,其中,该第二目标设备的优先级最高。
在本发明实施例中,提供了第一设备根据该反馈确认信息ACK的剩余等待时长,为第二目标设备分配无线承载资源的具体实现方式,增加了方案的可行性,这里的第二目标设备的优先级最高。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种可能的实现方式,在本发明实施例的第一方面的第三种可能的实现方式中,该第一设备根据该反馈确认信息ACK的剩余等待时长,为第二目标设备分配无线承载资源,可以包括:该第一设备根据该每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,确定每个第二设备的优先级;该第一设备根据该每个第二设备的优先级,确定每个第二设备的权重;该第一设备根据该每个第二设备的优先级,为该第二目标设备分配无线承载资源,该第二目标设备的权重最大。
在本发明实施例中,提供了第一设备根据该反馈确认信息ACK的剩余等待时长,为第二目标设备分配无线承载资源的另一种具体实现方式,增加了方案的可行性,这里的第二目标设备的权重最大。
本发明实施例第二方面提供一种资源调度分配的方法,可以包括:第一设备统计第二设备反馈的G个确认信息ACK各自的传输时长,G为正整数;该第一设备根据该G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的目标接收速率;这里ACK的目标接收速率可以为ACK的平均接收速率、中位速率,或者alpha滤波后的速率等。该第一设备根据该ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送数据包的当前传输速率,这里的当前传输速率可以是最大服务速率;该第一设备按照该当前传输速率为该第二设备进行资源分配。应理解,这里的第一设备可以是基站,也可以是用户设备,当第一设备是基站时,第二设备是用户设备,当第一设备是用户设备时,第二设备是基站。
在本发明实施例中,可以通过统计上行ACK的反馈速率,为下行资源分配设置最大服务速率。在最大服务速率的限制条件下对用户设备进行资源分配,避免将过多的RB(无线承载,Radio Bearer)资源分配给上行ACK受限的用户设备,从而提高系统资源利用率。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第一种可能的实现方式中,该第一设备根据该ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送数据包的当前传输速率,可以包括:该第一设备根据该ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送传输控制协议TCP数据包的第一传输速率;这里的第一传输速率是TCP数据包从传输层到PDCP/RLC层的一个传输速率,因为增加了一些协议头信息等;该第一设备按照该传输速率为该第二设备进行资源分配,可以包括:该第一设备按照该发送TCP数据包的第一传输速率为该第二设备进行资源分配。
在本发明实施例中,第一设备可以根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送传输控制协议TCP数据包的第一传输速率,再按照该第一传输速率为第二设备进行资源分配。对本发明技术方案增加了可行性。
结合本发明实施例的第二方面,在本发明实施例的第二方面的第二种可能的实现方式中,该第一设备根据该ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送数据包的当前传输速率,可以包括:该第一设备根据该ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送TCP数据包的第一传输速率;该第一设备根据为该第二设备发送TCP数据包的第一传输速率,以及该TCP数据包从无线链路层控制协议RLC到媒质接入控制层MAC添加的报文信息,计算为该第二设备发送MAC数据包的第二传输速率;这里的TCP数据包从传输层到PDCP/RLC层,再经过MAC层向第二设备发送,TCP数据包从传输层到PDCP/RLC层时,可以计算第一传输速率,再经过MAC层时,因为又增加了协议头信息,所以,相应的传输速率也跟着改变,那么,就可以计算出第二传输速率。该第一设备按照该传输速率为该第二设备进行资源分配,可以包括:该第一设备按照该发送MAC数据包的第二传输速率为该第二设备进行资源分配。
在本发明实施例中,提供了第二传输速率确定的具体方式,第一设备可以按照该发送MAC数据包的第二传输速率为该第二设备进行资源分配,实现提高系统资源利用率的功能。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种可能的实现方式,本发明实施例的第二方面的第二种可能的实现方式,在本发明实施例的第二方面的第三种可能的实现方式中,该第一设备按照该发送MAC层数据包的第二传输速率为该第二设备进行资源分配,可以包括:该第一设备根据该发送MAC层数据包的第二传输速率和预设的传输时间间隔,计算该第二设备的传输能力值;该第一设备按照该第二设备的传输能力值为该第二设备进行资源分配。
在本发明实施例中,又提供了一种可选的实现方式,提高了本发明技术方案的可行性。
本发明实施例第三方面提供一种通信设备,具有实现对应于上述第一方面提供的提高系统资源利用率的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本发明实施例第四方面提供一种通信设备,具有实现对应于上述第二方面提供的提高系统资源利用率的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本发明实施例第五方面提供一种通信设备,可以包括:存储器,收发器,处理器,该存储器、该收发器和该处理器通过总线连接;
该存储器,用于存储操作指令;
该处理器,用于在每个第二设备接收该第一设备发送的第一数据包后,确定每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,该确认信息ACK与该第一数据包对应;根据该反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,为第二目标设备分配无线承载资源,以使得该第二目标设备使用该无线承载资源向该第一设备反馈该确认信息ACK,该第二目标设备为剩余等待时长最少和/或该传输层控制层协议TCP状态处于预置状态的第二设备。
本发明实施例第六方面提供一种通信设备,可以包括:存储器,收发器,处理器,该存储器、该收发器和该处理器通过总线连接;
该存储器,用于存储操作指令;
该处理器,用于统计第二设备反馈的G个确认信息ACK各自的传输时长,G为正整数;根据该G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的目标接收速率;根据该ACK的目标接收速率和预设的上下行速率的匹配比例,计算为该第二设备发送数据包的当前传输速率;按照该当前传输速率为该第二设备进行资源分配。
本发明实施例第七方面提供一种存储介质,需要说明的是,本发的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述设备所用的计算机软件指令,其包含用于执行上述第一方面、第二方面、第三方面或第四方面为设备所设计的程序。
该存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,第一设备在每个第二设备接收该第一设备发送的第一数据包后,确定每个第二设备向该第一设备反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,该确认信息ACK与该第一数据包对应;该第一设备根据该反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,为第二目标设备分配无线承载资源,以使得该第二目标设备使用该无线承载资源向该第一设备反馈该确认信息ACK,该第二目标设备为剩余等待时长最少和/或该传输层控制层协议TCP状态处于预置状态的第二设备。第一设备确定剩余等待时长最少和/或该传输层控制层协议TCP状态处于预置状态的第二设备为第二目标设备,确定反馈确认信息的紧急性,从而,为第二目标设备分配无线承载资源,用来向第一设备反馈确认信息,因此,比较紧急的ACK向第一设备反馈了,那么,就相应的可以提高系统的资源利用率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1为本发明实施例中空口接入系统的示意图;
图2为本发明实施例中资源调度分配的方法的一个实施例示意图;
图3为本发明实施例中资源调度分配的方法的另一个实施例示意图;
图4为本发明实施例中通信设备的一个实施例示意图;
图5为本发明实施例中通信设备的另一个实施例示意图;
图6为本发明实施例中通信设备的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种资源调度分配的方法以及通信设备,用于确定反馈确认信息紧急性比较高的第二目标设备,第一设备为第二目标设备分配无线承载资源,用来向第一设备反馈确认信息,提高系统的资源利用率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,都应当属于本发明保护的范围。
本发明技术方案主要应用于空口接入系统的无线资源调度方法和设备中,例如UMTS(Universal Mobile Telecommunications System,通用移动电信系统)。本发明提出的基于TCP状态信息的上下行资源分配系统框架图如图1所示。主要包括核心网服务器、基站和终端(用户设备,UE),该系统框架还包括:传输层、PDCP(Packet Data Convergence Protocol,分组数据会聚协议)/RLC(Radio Link Control,无线链路控制)层、MAC(Medium Access Control,媒体接入控制)层和物理层,应理解,在图1所示中,还包括应用层等其他层,只是未示出而已。
其中,各层模块功能如下所示:
应用层:仿真环境参数配置模块主要功能是对仿真过程中所要用到的参数进行设置;读取segment模块的功能主要是读取每个segment中所包含的信息。
传输层:TCP发送端模块依据返回ACK的情况来确定数据包的发送速率;信息提取模块主要功能为:(1)在TCP层提取TCP发送端信息;(2)根据TCP发送端信息估计ACK反馈情况;(3)将上述信息传递给MAC层供上下行资源调度分配算法使用。
MAC层:对上下行资源进行分配和包调度。
下面对现有技术中,常见的几种资源分配的调度算法做一个简要的概括,如下所示:
(1)比例公平调度算法(PF)
比例公平调度算法(Proportional Fair)会为小区内的每个用户都分配一个优先级。在每个调度时刻,优先级高的用户会优先被调度。PF调度算法一方面充分利用用户信道的时变特性,另一方面保证了系统多用户分集与公平性之间的平衡,因此成为无线通信系统中常用的动念资源调度算法。
其数学表达式如公式1所示:
其中,ri表示用户i当前最大传输速率,Ri表示用户i到目前为止统计的平均速率,j表示选择进行调度的用户的编号。
(2)轮询调度算法(RR)
轮询调度算法(Round Robin),也叫公平时间调度算法。该算法核心是假设所有用户具有相同的优先级,保证以相等的机会为系统中所有用户分配相同数量的资源。例如,在一个包含K个用户的系统中,采用RR算法则能保证每个用户被调度的概率p(k)都是1/K。从占用资源的角度来说,RR调度算法是最公平的,所以,通常采用RR调度算法的结果作为时间公平性的上界。
(3)最大载干比调度算法(Max C/I)
最大载干比算法又称为Max C/I(Maximum Carrier to Interference)调度算法。该算法的指导思想是:将所有待服务的用户,依据基站端接收到其对应信号的载干比预测值进行由高到低的排序,并按此顺序进行调度。
载干比:C/I=载波信号强度/干扰信号强度
载干比一般反映信号在空间传播过程中,接收端接收信号的好坏。由于在任意时刻,总能保证载干比最好的用户享有服务权,Max C/I算法可以说是一种典型的利用多用户分集,使系统容量最大化的调度算法。但是,对信道条件不好的那些用户,如距离服务基站较远,或处于小区边缘,或处于深度衰落的用户,则很有可能因为始终得不到发送机会而一直处于等待状态。
由于没有考虑到任何公平性,Max C/I算法的主要应用只是在研究中作为系统容量的极限值,以便其他调度算法进行比较。
(4)改进的最大权重时延优先算法(M-LWDF)
基于将分组数据包的时延特性和信道条件的有效利用进行综合考虑,以达到最佳调度的思想,在改进的最大权重时延优先(Modified Largest Weighted Delay First)调度算法中,用户优先级的计算不仅要依据于当前信道的质量状况,还必须包括待传输数据队列的相关时延因子。
在M-LWDF算法中,用户i在第t时刻的优先级计算公式如公式2所示:
其中,Q代表用户的QoS参数;Ri(t)是用户i在t时刻的最大传输速λi是用户i的平均吞吐率;Di(t)是用户i在t时刻数据包的队列时延Ti是用户i能够容忍的最大时延。从上式可以看出,M-LWDF算法是在信道吞吐量和缓存队列时延之间做了有效折中,相当于对PF算法做了基于时延因子的线性加权。
现有LTE下行资源分配方法只考虑了无线信道状态或者用户间的公平性,并没有考虑TCP上行ACK反馈情况,如上述简述的几种资源分配的调度算法。这会造成底层资源分配不能与TCP良好配合,限制系统性能。例如,当小区边缘用户上行ACK反馈受限时,LTE下行资源分配模块仍然可能为该用户分配较多的无线资源。而该用户下行速率的增加不仅会加剧上行ACK传输受限的问题,而且会影响其他上行ACK反馈流畅的用户的资源分配,导致系统实际吞吐量的降低。
本发明提出的如上述图1所示的系统框架中,可添加传输层与MAC层之间的信令接口,即TCP信息提取模块,以便在资源分配时可以了解传输层状态,主要是获取用户设备反馈ACK的速率信息。另外,若使用TCP代理可以提高此框架在真实网络中的可实现性。应理解,这里获取传输层的状态信息还可以是由其他的功能模块来实现。
在此框架的基础上,本发明从上下行两个角度提出TCP状态感知的资源分配算法来改善系统性能,具体为:
a.下行资源分配方法只考虑了无线信道状态或者用户间的公平性,并没有考虑TCP上行ACK的反馈情况。但是当小区边缘用户上行ACK反馈受限时,LTE下行资源分配模块仍然可能为该用户分配较多的无线资源。而该用户下行速率的增加不仅会加剧上行ACK传输受限的问题,而且会影响其他上行ACK反馈流畅的用户的资源分配,导致系统实际吞吐量的降低。针对以上问题,我们提出了一种基于TCP上行ACK反馈信息的下行资源分配方法。通过统计上行ACK的反馈速率,为下行资源分配设置了最大服务速率。在最大服务速率的限制条件下对用户进行资源分配,避免将过多的RB(无线承载,Radio Bearer)资源分配给上行ACK受限的用户,从而提高系统资源利用率。
b.为了避免网络拥塞,TCP的发送速率是依据反馈ACK的情况来确定的。因此,如果不能有效分配资源传输更紧急的ACK,就会造成网络资源利用率低的情况。为了解决这个问题,我们提出了一种感知TCP状态的上行资源分配和包调度策略。在eNodeB侧,该策略通过获取的TCP状态,来估计不同用户ACK在上行队列中的等待情况并按照时延门限对ACK数据包进行紧急性区分。综合ACK的紧急性、信道质量和TCP发送端的状态,进行上行资源分配。
下面以实施例的方式对本发明技术方案作进一步的说明,如图2所示,为本发明实施例中资源调度分配的方法的一个实施例示意图,包括:
在本发明实施例中,每个用户设备接收第一TCP数据包后,确定每个用户设备反馈确认信息ACK的剩余等待时长,确认信息ACK与第一TCP数据包对应,可以由步骤201和202实现,如下所示:
201、第一设备获取每个第二设备接收第一设备发送的第一数据包的发送时刻、超时重传时长和当前时刻;
在本发明实施例中,第一设备获取每个第二设备接收第一设备发送的第一数据包的发送时刻、超时重传时长和当前时刻;即可以是基站获取每个用户设备接收的第一TCP数据包的发送时刻、超时重传时长和当前时刻。应理解这里的第一设备可以是基站,也可以是用户设备,当第一设备为基站时,第二设备为用户设备,当第一设备为用户设备时,第二设备为基站,下述,以第一设备为基站,第二设备为用户设备为例进行说明。
示例性的,假设第k个用户设备发送的Nk个TCP包没有接收到ACK确认信息。每个数据包的发送时间记为Tk,n,1≤k≤K,1≤n≤Nk。每个用户设备的超时重传时间记为RTOk。
202、第一设备根据第一数据包的发送时间、超时重传时间和当前时刻,计算出每个第二设备向第一设备反馈确认信息ACK的剩余等待时长;
在本发明实施例中,第一设备获取每个第二设备接收第一设备发送的第一数据包的发送时刻、超时重传时长和当前时刻之后,第一设备根据第一数据包的发送时间、超时重传时间和当前时刻,计算出每个第二设备向第一设备反馈确认信息ACK的剩余等待时长。即基站根据第一TCP数据包的发送时间、超时重传时间和当前时刻,计算出每个用户设备待反馈确认信息ACK的剩余等待时长。
示例性的,在一个上行调度周期开始时,基站计算所有没有被确认的TCP包能容忍的剩余等待时间dk,n,如公式3所示。
dk,n=RTOk+Tk,n-system_time,1≤k≤K,1≤n≤Nk (公式3)
其中,system_time是当前的系统时间,RTOk表示用户设备k的超时重传时间。
进一步的,还可以计算TCP包能容忍的剩余等待时间门限为d_thk,如公式4所示:
d_thk=η×RTOk (公式4)
其中,η为(0,1)之间内常数。
203、第一设备根据反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,为第二目标设备分配无线承载资源,以使得第二目标设备使用无线承载资源向第一设备反馈确认信息ACK,第二目标设备为剩余等待时长最少和/或传输层控制层协议TCP状态处于预置状态的第二设备。
在本发明实施例中,第一设备根据反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,为第二目标设备分配无线承载资源,以使得第二目标设备使用无线承载资源向第一设备反馈确认信息ACK,第二目标设备为剩余等待时长最少和/或传输层控制层协议TCP状态处于预置状态的第二设备。即基站可以根据每个用户设备反馈目标确认信息ACK的剩余等待时长,为目标用户设备分配无线承载资源,以使得目标设备使用无线承载资源向基站反馈确认信息,目标用户设备为剩余等待时长最少的用户设备。
具体的,可以包括:
(1)第一设备根据每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,确定每个第二设备的优先级;第一设备根据每个第二设备的优先级,为第二目标设备分配无线承载资源,第二目标设备的优先级最高。
(2)第一设备根据每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,确定每个第二设备的优先级;第一设备根据每个第二设备的优先级,确定每个第二设备的权重;第一设备根据每个第二设备的优先级,为第二目标设备分配无线承载资源,第二目标设备的权重最大。
示例性的,这里假设基站计算出的用户设备剩余等待时长最少的是目标用户设备1,那么,可以认为目标用户设备1反馈ACK的时间比较紧急,可以将RB资源分给目标用户设备1,目标用户设备1就可以使用RB资源反馈ACK了。
可选的,还可以计算各用户设备优先级mk,如公式5所示:
其中αβγ均为常数,且α>>β>>γ。
这里也可以根据用户设备的优先级来分配RB资源,优先级高的用户设备优先分配,再进行ACK反馈。
可选的,还可以确定各用户设备在各RB上的权重Mk,n,如公式6所示:
Mk,n=mk×ratek,n (公式6)
其中,ratek,n表示根据第k个用户设备在第n个RB上的CQI计算得到的传输能力。这里可以找出每一个RB上调度指标(权重)最大的用户设备并将该RB分配给对应用户设备,对应的用户设备可以使用该RB资源反馈ACK。
在本发明实施例中,根据TCP发送窗口发送的数据包和接收到的数据包信息计算每个数据包对应ACK的优先级。然后根据优先级进行资源调度和分配。在eNodeB侧,该策略通过获取的TCP状态,来估计不同用户ACK在上行队列中的等待情况并按照时延门限对ACK数据包进行紧急性区分。可以综合考虑ACK的紧急性、信道质量和TCP发送端的状态,进行上行资源分配。
如图3所示,为本发明实施例中资源调度分配的方法的一个实施例示意图,包括:
301、第一设备统计第二设备反馈的G个确认信息ACK各自的传输时长,G为正整数;
在本发明实施例中,第一设备统计第二设备反馈的G个确认信息ACK各自的传输时长,G为正整数;即可以是基站统计接收第一用户设备反馈的G个确认信息ACK各自的传输时长。应理解这里的第一设备可以是基站,也可以是用户设备,当第一设备为基站时,第二设备为用户设备,当第一设备为用户设备时,第二设备为基站,下述,以第一设备为基站,第二设备为用户设备为例进行说明。
示例性的,基站在TCP发送端,统计前Gk(1≤k≤K)个ACK的各自传输时间Tk,i,其中,k为用户索引,K为总数。如公式7所示:
Tk,i=t_rk,i-t_sk,i (公式7)
在公式3中,Tk,i表示用户设备k的第i个ACK的传输时间,t_sk,i是用户设备k正确接收到第i个TCP数据包的时间,同时该参数t_sk,i也为eNodeB基站侧MAC层收到用户设备k对第i个TCP数据包的最后一个小包反馈的ACK的时刻。t_rk,i表示eNodeB侧TCP发送端接收到该TCP数据包的ACK确认信息的时刻。
302、第一设备根据G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的目标接收速率;
在本发明实施例中,第一设备统计第二设备反馈的G个确认信息ACK各自的传输时长之后,第一设备根据G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的目标接收速率;即基站可以根据G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的平均接收速率,还可以是计算ACK的中位速率,或者alpha滤波后的速率等。
接上述的示例,前Gk(1≤k≤K)个ACK的平均反馈速率如公式8所示:
在公式4中,S_ackk,i表示第k个用户设备的第i个ACK的大小。
在实际应用中,通常情况下,若要保持系统稳定,单位时间内接收到的ACK的数目应与底层发送的TCP数据包的数目保持一致,此时其中,S_tcpk为用户设备k一个TCP数据包原始大小。
303、第一设备根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送数据包的当前传输速率;
在本发明实施例中,第一设备根据G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的目标接收速率之后,第一设备根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送数据包的当前传输速率。即基站可以根据ACK的平均接收速率和预设的上下行速率的匹配比例,计算为第一用户设备发送数据包的传输速率。
具体的,可以包括:
(1)第一设备根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送传输控制协议TCP数据包的第一传输速率;
(2)第一设备根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送TCP数据包的第一传输速率;第一设备根据为第二设备发送TCP数据包的第一传输速率,以及TCP数据包从无线链路层控制协议RLC(Radio Link Control,无线链路层控制协议)到媒质接入控制层MAC(Medium Access Control,媒质接入控制层)添加的报文信息,计算为第二设备发送MAC数据包的第二传输速率。
示例性的,在上述(1)的实现中,用户设备k的TCP下行传输速率上限如公式9所示:
R_TCPdownthk=R_ackk/αk (公式9)
其中,α表示TCP上下行速率匹配比例。
在上述(2)的实现中,是在(1)的实现基础上进行的,用户设备k一个TCP数据包到达RLC层时添加了TCP、IP(Internet Protocol,互联网协议)、PDCP(Packet Data Convergence Protocol,分组数据会聚协议)协议头之后数据包的大小如下述公式10所示:
S_pdcpk=S_headtcp+S_headip+S_headpdcp+S_tcpk (公式10)
其中,S_headtcp表示TCP层协议头大小,S_headip表示IP层协议头大小,S_headpdcp表示PDCP层协议头大小,S_tcpk表示用户设备k一个TCP数据包原始大小。
进一步的,假设若该TCP数据包在到达MAC层发送队列时被拆分成Nk个子数据包。RLC层和MAC层的协议头大小之和为S_headmac+S_headrlc,其中,S_headmac表示RLC层协议头大小,S_headrlc表示MAC层协议头大小。
那么,可以得到用户设备k在MAC层的传输速率上限,如公式11所示:
其中,对TCP数据包到MAC层之后分割后的子数据包的个数Nk的估计方法,如公式12所示:
其中,N_avgk表示前m个TCP数据包对应的拆分成MAC PDU(Protocol Data Unit,协议数据单元)个数的平均值,CQI_avgk表示前m个TCP数据包传输过程中所有RB(Radio Bearer,无线承载)上报的CQI(Channel Quality Indicator,信道质量指示)均值,CQIk表示当前时隙所有RB上报的CQI均值。
304、第一设备按照当前传输速率为第二设备进行资源分配。
在本发明实施例中,第一设备根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送数据包的当前传输速率之后,第一设备按照当前传输速率为第二设备进行资源分配。基站可以按照上述确定的传输速率为第一用户设备进行资源分配。
具体的,可以包括但不限于以下几种方式:
(1)第一设备按照发送TCP数据包的第一传输速率为第二设备进行资源分配。
(2)第一设备按照发送MAC数据包的第二传输速率为第二设备进行资源分配。
(3)第一设备根据发送MAC层数据包的第二传输速率和预设的传输时间间隔,计算第二设备的传输能力值;第一设备按照第二设备的传输能力值为第二设备进行资源分配。
示例性的,基站的下行资源分配和包调度模块,可以按照上述确定的发送TCP数据包的传输速率为第一用户设备分配资源,或者,可以按照上述确定的发送MAC数据包的传输速率为第一用户设备分配资源。
实际应用中,还可以计算用户设备k在MAC层的传输能力上限,如公式13所示:
C_MACdownthk=R_MACdownthk·TTI (公式13)
其中,TTI表示Transmission Time Interval,传输时间间隔。
每个用户设备都会计算出传输速率的上限值,那么,基站就可以按照MAX C/I算法进行资源分配尽量满足每个用户设备的上限。如果一个用户设备获得的传输能力到达它的上限,则停止为该用户设备分配资源。若所有用户设备的传输能力上限都被满足且还有剩余资源,按照MAX C/I算法分配剩余资源。
在本发明实施例中,通过统计上行ACK的反馈速率,为下行资源分配设置了最大服务速率。在最大服务速率的限制条件下对用户设备进行资源分配,避免将过多的RB资源分配给上行ACK受限的用户设备,从而提高系统资源利用率。
上述对本发明实施例中的资源调度分配的方法进行了说明,下面对本发明实施例中的通信设备进行说明,如图4所示,为本发明实施例中通信设备的一个实施例示意图,包括:
确定模块401,用于在每个第二设备接收通信设备发送的第一数据包后,确定每个第二设备向通信设备反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,确认信息ACK与第一数据包对应;
分配模块402,用于根据反馈确认信息ACK的剩余等待时长和/或传输层控制协议TCP状态,为第二目标设备分配无线承载资源,以使得第二目标设备使用无线承载资源向第一设备反馈确认信息ACK,第二目标设备为剩余等待时长最少和/或传输层控制层协议TCP状态处于预置状态的第二设备。
可选的,在本发明的一些实施例中,
确定模块401,具体用于获取每个第二设备接收通信设备发送的第一数据包的发送时刻、超时重传时长和当前时刻;根据第一数据包的发送时间、超时重传时间和当前时刻,计算出每个第二设备向通信设备反馈确认信息ACK的剩余等待时长。
可选的,在本发明的一些实施例中,
分配模块402,具体用于根据每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,确定每个第二设备的优先级;根据每个第二设备的优先级,为第二目标设备分配无线承载资源,第二目标设备的优先级最高。
可选的,在本发明的一些实施例中,
分配模块402,具体用于根据每个第二设备反馈确认信息ACK的剩余等待时长,发送窗口和慢启动门限,确定每个第二设备的优先级;根据每个第二设备的优先级,确定每个第二设备的权重;根据每个第二设备的优先级,为第二目标设备分配无线承载资源,第二目标设备的权重最大。
如图5所示,为本发明实施例中通信设备的另一个实施例示意图,包括:
统计模块501,用于统计第二设备反馈的G个确认信息ACK各自的传输时长,G为正整数;
计算模块502,用于根据G个确认信息ACK各自的传输时长和预设的对应每个ACK的大小,计算ACK的目标接收速率;
计算模块502,还用于根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送数据包的当前传输速率;
分配模块503,用于按照当前传输速率为第二设备进行资源分配。
可选的,在本发明的一些实施例中,
计算模块502,具体用于根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送传输控制协议TCP数据包的第一传输速率;
分配模块503,具体用于按照发送TCP数据包的第一传输速率为第二设备进行资源分配。
可选的,在本发明的一些实施例中,
计算模块502,具体用于根据ACK的目标接收速率和预设的上下行速率的匹配比例,计算为第二设备发送TCP数据包的第一传输速率;根据为第二设备发送TCP数据包的第一传输速率,以及TCP数据包从无线链路层控制协议RLC到媒质接入控制层MAC添加的报文信息,计算为第二设备发送MAC数据包的第二传输速率;
分配模块503,具体用于按照发送MAC数据包的第二传输速率为第二设备进行资源分配。
可选的,在本发明的一些实施例中,
分配模块503,具体还用于根据发送MAC层数据包的第二传输速率和预设的传输时间间隔,计算第二设备的传输能力值;按照第二设备的传输能力值为第二设备进行资源分配。
如图6所示,为本发明实施例中的通信设备的另一个实施例示意图,包括:
该通信设备可因配置或性能不同而产生比较大的差异,可以包括收发器601,一个或一个以上中央处理器(central processing units,CPU)602(例如,一个或一个以上处理器)和存储器603,一个或一个以上存储应用程序6041或数据6042的存储介质604(例如一个或一个以上海量存储设备)。其中,存储器603和存储介质604可以是短暂存储或持久存储。存储在存储介质604的程序可以包括一个或一个以上模块(图6中没示出),每个模块可以包括对通信设备中的一系列指令操作。更进一步地,中央处理器602可以设置为与存储介质604通信,在通信设备上执行存储介质604中的一系列指令操作。
在本发明的一个实施例中,中央处理器602还具有执行上述图2所示的实施例示意图中的步骤201-203的功能。
在本发明的另一个实施例中,中央处理器602还具有执行上述图3所示的实施例示意图中的步骤301-304的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。