数据包传输方法及设备与流程

文档序号:16150097发布日期:2018-12-05 17:24阅读:181来源:国知局

本申请涉及通信技术领域,尤其涉及一种数据包传输方法及设备。

背景技术

传输控制协议(transmissioncontrolprotocol,tcp)是一种面向连接的、可靠的、基于字节流的传输层通信协议,在当前网络中广泛应用。tcp协议是为有线网络设计的,有线传输环境的误码率很低并且传输时延很小,慢启动和拥塞控制是其最主要的协议特征。tcp协议的功能是由tcp实体来实现的。若tcp实体检测到发送的数据包丢失,即认为在有线网络上发生了拥塞,tcp实体执行拥塞控制,例如,减小发送窗口以降低数据包的发送速率。

目前,移动蜂窝网络的数据传输主要基于tcp。由于无线传输环境存在误码率较高、传输时延较长等缺陷,因此,在无线传输环境中丢失的数据包极有可能是因为无线信道的误码引起的。然而,tcp实体检测到发送的数据包丢失时就误以为发生了拥塞,即,认为tcp实体的发送窗口过大,从而tcp实体进入拥塞控制并减少发送窗口。但是若并非真正发生了网络拥塞,而现有tcp实体采用减小发送窗口的方式会降低无线信道的利用率。另外,由于无线信道的传输时延较大,tcp实体的发送窗口从较小窗口的阶段恢复到最大窗口的阶段需较长时间。

针对tcp实体存在的以上问题,现有技术方案是在基站侧插入面向用户设备的tcp实体和面向服务器的tcp实体。其中,面向服务器的tcp实体负责基站、核心网设备、服务器之间基于tcp协议的数据包传输,面向用户设备的tcp实体负责基站和用户设备之间基于tcp协议的数据包传输。通过在基站侧的面向用户设备的tcp实体中增加慢启动加速机制和拥塞控制机制来改善tcp实体在无线传输环境中的缺陷。其中,慢启动加速机制是面向用户设备的tcp实体中将初始发送窗口设置为一个较大的值,即缩短慢启动的时间,以提高数据的初始传输速率。拥塞控制机制是指面向用户设备的tcp实体先估算无线网络的可用带宽,在检测到超时或丢包的情况下,如果发送窗口小于估算的可用带宽对应的发送窗口,则不减小发送窗口,如果发送窗口大于估算的可用带宽对应的发送窗口,则tcp实体根据估算的可用带宽对应的发送窗口作为发送窗口。然而,这两种机制不能完全充分利用无线传输带宽。



技术实现要素:

本发明实施例提供一种数据包的传输方法及设备,通过pdcp单元当前缓存的数据包的多少来确定是否向pdcp单元发送数据包,这样可以更好的适应无线传输环境,提高了对无线传输带宽的利用率。

第一方面,本申请实施例提供了第一设备,第一设备包括传输控制单元、分组数据汇聚协议pdcp单元,其中,

pdcp单元用于向传输控制单元发送缓存指示信息,缓存指示信息用于指示pdcp单元对应的缓存空间中当前缓存的数据包数量;

传输控制单元用于从pdcp单元接收缓存指示信息;

传输控制单元用于根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包。

根据上述方案,传输控制单元根据pdcp单元对应的缓存空间中的数据包多少,确定是否向pdcp单元传输数据包,可以减少pdcp单元对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

结合第一方面,在第一方面的第一种可能实现方式中,传输控制单元还用于向pdcp单元发送获取请求,以获取缓存指示信息。

可选的,传输控制单元可以在向pdcp单元发送一次获取请求,pdcp单元在用户设备和服务器的tcp连接建立期间向传输控制单元多次反馈缓存指示信息,本发明实施例对pdcp单元反馈缓存指示信息的次数不做限定。这样传输控制单元无需多次向pdcp单元发送获取请求也能够多次获得缓存指示信息,减少了发送获取请求的时间,提高了缓存指示信息的获取效率。

可选的,pdcp单元可以按照预设时间间隔来向传输控制单元反馈缓存指示信息。

结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,缓存指示信息包括pdcp单元对应的缓存空间中当前已缓存的数据包数量;

在根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包方面,传输控制单元具体用于:若传输控制单元确定当前已缓存的数据包数量大于第一阈值,则停止向pdcp单元发送第二设备的数据包;若传输控制单元确定当前已缓存的数据包数量小于第二阈值,则确定向pdcp单元发送第二设备的数据包。

结合第一方面或第一方面的第一种可能实现方式,在第一方面的第三种可能实现方式中,缓存指示信息包括pdcp单元对应的缓存空间中当前已缓存的数据包的占比;

在根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包方面,传输控制单元具体用于:若传输控制单元确定当前已缓存的数据包的占比大于第三阈值,则停止向pdcp单元发送第二设备的数据包;若传输控制单元确定当前已缓存的数据包的占比小于第四阈值,则确定向pdcp单元发送第二设备的数据包。

结合第一方面或第一方面的第一种可能实现方式,在第一方面的第四种可能实现方式中,缓存指示信息包括缓存高指示信息或缓存低指示信息;

在根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包方面,传输控制单元具体用于:若缓存指示信息为缓存高指示信息,则停止向pdcp单元发送第二设备的数据包;若缓存指示信息为缓存低指示信息,则确定向pdcp单元发送第二设备的数据包。

可选的,缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量来确定的。缓存高指示信息表示当前已缓存的数据包数量大于第五阈值;缓存低指示信息表示当前已缓存的数据包数量小于第六阈值。或者,缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量在pdcp实体对应的缓存空间的占比来确定,缓存高指示信息表示当前已缓存的数据包数量大于第七阈值;缓存低指示信息表示当前已缓存的数据包数量小于第八阈值。

可选的,在第一方面中涉及的pdcp单元对应的缓存空间为pdcp单元独自使用的缓存空间。例如,第一设备为pdcp单元分配了单独的缓存空间,该缓存空间仅能被pdcp单元所使用,即当前已缓存的数据包仅包含pdcp单元缓存的数据包。

或者,第一设备还包括rlc单元;在第一方面中涉及的pdcp单元对应的缓存空间为pdcp单元和rlc单元共同使用的缓存空间。例如,第一设备为pdcp单元和rlc单元分配了一缓存空间,该缓存空间能被pdcp单元和rlc单元所使用,即当前已缓存的数据包包含pdcp单元缓存的数据包和rlc缓存的数据包。

结合第一方面,在第一方面的第五种可能实现方式中,传输控制单元具体用于确定是否向pdcp单元发送允许且未向第二设备发送的数据包。

结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方式、第一方面的第三种可能实现方式、第一方面的第四种可能实现方式、第一方面的第五种可能实现方式,在第一方面的第六种可能实现方式中,若第一设备为用户设备,第二设备为基站,则传输控制单元还用于接收第二设备发送的传输控制指示信息,传输控制指示信息用于指示基站将用户设备与服务器之间的一条连接截断为两条连接;

其中,两条连接分别为用户设备和基站之间在传输控制单元参与控制下的连接,以及基站和服务器之间的传输控制协议tcp连接。

结合第一方面、第一方面的第一种可能实现方式、第一方面的第二种可能实现方式、第一方面的第三种可能实现方式、第一方面的第四种可能实现方式、第一方面的第五种可能实现方式,在第一方面的第七种可能实现方式中,第一设备为基站,第二设备为用户设备。

第二方面,为本发明实施例提供了一种数据包传输方法,方法包括:

第一设备获取缓存指示信息,缓存指示信息用于指示第一设备内的pdcp单元对应的缓存空间中当前缓存的数据包数量;

第一设备根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包。

根据上述方案,第一设备根据pdcp单元对应的缓存空间中的数据包多少,确定是否向pdcp单元传输数据包,可以减少pdcp单元对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

在一种可能实现的方式中,第一设备获取缓存指示信息之前,还包括:

第一设备向pdcp单元发送获取请求,以获取缓存指示信息。

在一种可能实现的方式中,缓存指示信息包括pdcp单元对应的缓存空间中当前已缓存的数据包数量;

第一设备根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包具体执行:若第一设备确定当前已缓存的数据包数量大于第一阈值,则停止向pdcp单元发送第二设备的数据包;若第一设备确定当前已缓存的数据包数量小于第二阈值,则确定向pdcp单元发送第二设备的数据包。

在一种可能实现的方式中,缓存指示信息包括pdcp单元对应的缓存空间中当前已缓存的数据包的占比;

第一设备根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包具体执行:若第一设备确定当前已缓存的数据包的占比大于第三阈值,则停止向pdcp单元发送第二设备的数据包;若第一设备确定当前已缓存的数据包的占比小于第四阈值,则确定向pdcp单元发送第二设备的数据包。

在一种可能实现的方式中,缓存指示信息包括缓存高指示信息或缓存低指示信息;

第一设备根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包具体执行:若缓存指示信息为缓存高指示信息,则停止向pdcp单元发送第二设备的数据包;若缓存指示信息为缓存低指示信息,则确定向pdcp单元发送第二设备的数据包;

可选的,缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量来确定的。缓存高指示信息表示当前已缓存的数据包数量大于第五阈值;缓存低指示信息表示当前已缓存的数据包数量小于第六阈值。或者,缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量在pdcp实体对应的缓存空间的占比来确定,缓存高指示信息表示当前已缓存的数据包数量大于第七阈值;缓存低指示信息表示当前已缓存的数据包数量小于第八阈值。

在一种可能实现的方式中,第一设备根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包具体执行:第一设备根据缓存指示信息,确定是否向pdcp单元发送允许且未向第二设备发送的数据包。

在一种可能实现的方式中,若第一设备为用户设备,第二设备为基站,则方法还包括:

第一设备接收第二设备发送的传输控制指示信息,传输控制指示信息用于指示基站将用户设备与服务器之间的一条连接截断为两条连接;

其中,两条连接分别为用户设备和基站之间在第一设备参与控制下的连接,以及基站和服务器之间的传输控制协议tcp连接。

在一种可能实现的方式中,第一设备为基站,第二设备为用户设备。

在一种可能实现的方式中,pdcp单元对应的缓存空间为pdcp单元独自使用的缓存空间。

在一种可能实现的方式中,第一设备还包括无线链路层控制协议rlc单元;pdcp单元对应的缓存空间为pdcp单元和rlc单元共同使用的缓存空间。

本申请实施例第三方面,提供了一种第一设备,第一设备具有实现第一方面方法中第一设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

在一种可能实现的方式中,第一设备包括处理器和收发器,处理器,用于获取缓存指示信息,缓存指示信息用于指示第一设备内的pdcp单元对应的缓存空间中当前缓存的数据包数量;处理器还用于根据缓存指示信息,确定是否向pdcp单元发送第二设备的数据包;若需发送,则通过收发器发送第二设备的数据包。

基于同一发明构思,第一设备解决问题的原理以及有益效果可以参见第一方面的方法以及所带来的有益效果,第一设备的实施可以参见第一方面第一设备侧方法的实施,重复之处不再赘述。

第四方面,为本发明实施例提供了一种存储介质,该存储介质中存储了程序代码,该程序代码被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的一种数据包传输方法。

第五方面,为本发明实施例提供了一种计算机程序产品,该计算机产品被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的一种数据包传输方法。

第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持第一设备实现上述方面中所涉及的功能,例如,根据pdcp单元对应的缓存空间中的数据包多少,确定是否向pdcp单元传输数据包。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存第一设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

在本发明实施例中,传输控制单元根据pdcp单元对应的缓存空间中的数据包多少,确定是否向pdcp单元传输数据包,可以减少pdcp单元对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1是为本发明实施例提供的一种可能的网络架构图;

图2是为本发明实施例提供的一种可能的网络架构图;

图3是为本发明实施例提供的一种可能的网络架构图;

图4是为本发明实施例提供的一种数据包传输方法的流程示意图;

图5是为本发明实施例提供的一种数据包传输方法的流程示意图;

图6(1)至图6(3)是为本发明实施例提供的一种传输控制单元发送数据包的方法的示例图;

图7(1)至图7(3)是为本发明实施例提供的另一种传输控制单元发送数据包的方法的示例图;

图8是为本发明实施例提供的一种第一设备的结构示意图;

图9是为本发明实施例提供的另一种第一设备的结构示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。

为了便于理解本申请,下面对本申请适用的可能的网络架构图进行介绍。请参见图1、图2和图3,分别为本发明实施例提供了一种可能的网络架构图。图1、图2或图3以该网络架构图为演进的分组系统(evolvedpacketsystem,eps)网络架构为例进行描述。其中,eps包括长期演进(longtermevolution,lte)接入网、演进的分组核心网(evolvedpacketcore,epc)以及服务器。进一步参见图1、图2或图3,lte接入网的部分包括图1、图2或图3中的基站,epc的部分包括图1、图2或图3中的核心网设备。实际应用中,核心网设备可以包括移动性管理实体(mobilitymanagemententity,mme)、gprs服务支持节点(servinggprssupportnode,sgsn)、pdn网关(pdngateway,p-gw)、服务网关(s-gw,servinggateway)、归属签约用户服务器(homesubscriberserver,hss)中的至少一项。

在eps中,服务器和用户设备之间建立的tcp连接按照链路类型一般分为两个部分。一个部分是服务器、核心网设备、基站之间的tcp连接,这部分连接是通过有线链路的连接。另一部分是基站和用户设备之间的tcp连接,这部分连接是通过无线链路的连接。由于tcp协议是为有线网络设计的,有线传输环境的误码率很低并且传输时延很小,慢启动和拥塞控制是其最主要的协议特征。tcp协议的功能是由tcp实体来实现的。若tcp实体检测到发送的数据包丢失,即认为在有线网络上发生了拥塞,tcp实体执行拥塞控制,例如,减小发送窗口以降低数据包的发送速率。

其中,在lte接入网中,基站和用户设备之间是通过uu接口相连接。在基站和用户设备之间的用户面协议结构中包含传输层、ip层、分组数据汇聚协议(packetdataconvergenceprotocol,pdcp)层、无线链路层控制(radiolinkcontrol,rlc)层、媒体接入控制(mediaaccesscontrol,mac)层、物理(physical)层。

基站和用户设备之间传输数据包具体是:对于从基站向用户设备发送数据包的场景中,基站的传输层将数据包经基站中的ip层、pdcp层、rlc层、mac层、物理层传输至用户设备,具体是经用户设备的物理层、mac层、rlc层、pdcp层到达用户设备的传输层的。对于从用户设备向基站发送数据包的场景中,用户设备将数据包经传输层、ip层、pdcp层、rlc层、mac层、物理层传输至基站的传输层,具体是经基站的物理层、mac层、rlc层、pdcp层到达传输层的。

在epc系统中,基站和核心网设备之间是通过iu接口相连接的。在基站和核心网设备的用户面协议结构中包含物理层(l1)、数据链路层(l2)、用户数据报协议(userdatagramprotocol,udp)/ip层、用户面隧道协议(gprstunnelingprotocol-userplane,gtp-u)层。核心网设备和服务器之间通过网络(internet)相连接,在服务器的用户面协议结构包括l1、l2、ip层、传输层。

接下来,分别通过图1、图2、图3对有线链路的传输层和无线链路的传输层进行说明。这里为了区分现有的tcp实体和本发明实施例中的新的传输控制实体,对其进行分别命名:本发明实施例的新的传输控制实体命名为第一传输控制实体;现有的tcp实体命名为第二传输控制实体,本发明实施例对现有的tcp实体和本发明实施例中的新的传输控制实体的名称不做限定。其中,第二传输控制实体对应的传输控制协议包括tcp;第一传输控制实体对应的传输控制协议为新的传输控制协议,可选的,新的传输控制协议不限于以tcp协议、udp协议等为基础来实现。

在本发明实施例中,第一传输控制实体能够与pdcp实体之间可以实现数据传输。可选的,一类是非数据包的数据,例如,缓存指示信息、获取请求等;这一情况下,第一传输控制实体和pdcp实体是跨越ip层来传输数据的,具体是:第一传输控制实体跨越ip层将获取请求发送至pdcp实体,pdcp实体跨越ip层将缓存指示信息发送至第一传输控制实体。换句话说,缓存指示信息或获取请求可以不经过ip层。另一类是需要发送至第二设备的数据包,第一传输控制实体将该数据包发送至ip层,ip层对数据包执行ip封装等操作之后,将封装后的ip数据包发送至pdcp层。

在图1所示的可能的网络架构中,在面向服务器的部分,基站的传输层是通过插入面向服务器的第二传输控制实体实现的,服务器的传输层仍采用现有的tcp协议,即第二传输控制实体。通过在基站中插入面向服务器的第二传输控制实体,实现对有线传输环境和无线传输环境中数据包传输的截断。“截断”是指基站将用户设备与服务器之间的一条连接截断为两条连接;其中,两条连接分别为用户设备和基站之间在第一传输控制实体参与控制下的连接,以及基站和服务器之间的tcp连接。在面向用户设备的部分,基站的传输层是通过插入第一传输控制实体实现的,用于实现第一传输控制实体参与控制下的数据传输的功能。用户设备的传输层可仍采用现有的tcp协议,即第二传输控制实体。第一传输控制实体用于实现基站和用户设备之间数据包的传输,且基站中的第一传输控制实体可以与面向服务器的第二传输控制实体之间实现数据包的传输。

基于图1的网络架构,基站的第一传输控制实体从基站的pdcp实体接收缓存指示信息,缓存指示信息用于指示pdcp实体对应的缓存空间中当前已缓存的数据包数量;第一传输控制实体根据缓存指示信息,确定是否向pdcp实体发送用户设备的数据包。若pdcp实体对应的缓存空间中当前已缓存的数据包数量较少,基站的第一传输控制实体确定继续向pdcp实体发送数据包;若pdcp实体对应的缓存空间中当前已缓存的数据包数量较多,基站的第一传输控制实体确定停止向pdcp实体发送数据包。因此,第一传输控制实体根据pdcp实体对应的缓存空间中的数据包多少,确定是否向pdcp实体传输数据包,可以减少pdcp实体对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

在图2所示的可能的网络架构中,在面向服务器的部分,基站的传输层是通过插入面向服务器的第二传输控制实体实现的,服务器的传输层仍采用现有的tcp协议,即第二传输控制实体。通过在基站中插入面向服务器的第二传输控制实体,实现对有线传输环境和无线传输环境中数据包传输的截断。在面向用户设备的部分,基站和用户设备的传输层分别是通过插入第一传输控制实体实现的,用于实现第一传输控制实体参与控制下的数据传输的功能,第一传输控制实体用于实现基站和用户设备之间数据包的传输,且基站中的第一传输控制实体可以与面向服务器的第二传输控制实体之间实现数据包的传输。

基于图2的网络架构,基站和用户设备中分别插入了第一传输控制实体,将包含第一传输控制实体的通信设备命名为第一设备,接收数据包设备的命名为第二设备。在图2的例子中,在下行数据包传输的场景下,基站为第一设备,用户设备为第二设备;在上行数据包传输的场景下,基站为第二设备,用户设备为第一设备。第一设备的第一传输控制实体从第一设备的pdcp实体接收缓存指示信息,缓存指示信息用于指示pdcp实体对应的缓存空间中当前已缓存的数据包数量;第一传输控制实体根据缓存指示信息,确定是否向pdcp实体发送第二设备的数据包。若pdcp实体对应的缓存空间中当前已缓存的数据包数量较少,第一设备的第一传输控制实体确定继续向pdcp实体发送数据包;若pdcp实体对应的缓存空间中当前已缓存的数据包数量较多,第一设备的第一传输控制实体确定停止向pdcp实体发送数据包。因此,第一传输控制实体根据pdcp实体对应的缓存空间中的数据包多少,确定是否向pdcp实体传输数据包,可以减少pdcp实体对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

在图3所示的可能的网络架构中,基站的传输层插入了面向服务器的第二传输控制实体和面向用户设备的第二传输控制实体,服务器的传输层仍采用现有的tcp协议,即第二传输控制实体。基站通过插入面向服务器的第二传输控制实体和面向用户设备的第二传输控制实体,实现对有线传输环境和无线传输环境中数据包传输的截断。用户设备的传输层是通过插入第一传输控制实体实现的,用于实现第一传输控制实体参与控制下的数据传输的功能,第一传输控制实体用于实现基站和用户设备之间数据包的传输。可选的,基站中面向用户设备的第二传输控制实体和面向服务器的第二传输控制实体可以为一个第二传输控制实体,且能分别与用户设备或服务器实现数据包的传输。

基于图3的网络架构,用户设备的第一传输控制实体从用户设备的pdcp实体接收缓存指示信息,缓存指示信息用于指示pdcp实体对应的缓存空间中当前已缓存的数据包数量;第一传输控制实体根据缓存指示信息,确定是否向pdcp实体发送基站的数据包。若pdcp实体对应的缓存空间中当前已缓存的数据包数量较少,用户设备的第一传输控制实体确定继续向pdcp实体发送数据包;若pdcp实体对应的缓存空间中当前已缓存的数据包数量较多,用户设备的第一传输控制实体确定停止向pdcp实体发送数据包。因此,第一传输控制实体根据pdcp实体对应的缓存空间中的数据包多少,确定是否向pdcp实体传输数据包,可以减少pdcp实体对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

本发明实施例可应用于其它发送数据包的通信系统中,例如:eps系统、全球移动通讯(globalsystemofmobilecommunication,gsm)系统、码分多址(codedivisionmultipleaccess,cdma)系统、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)系统、通用分组无线业务(generalpacketradioservice,gprs)、lte频分双工(frequencydivisionduplex,fdd)系统、lte时分双工(timedivisionduplex,tdd)、下一代通信系统(例如,5g通信系统)等。术语“系统”可以和“网络”相互替换。本发明实施例描述的系统架构是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变,本发明实施例提供的技术方案对于类似的技术问题,同样适用。

本发明实施例中所涉及的基站是一种部署在无线接入网中用以为用户设备提供无线通信功能的装置。所述基站可以包括各种形式的宏基站、微基站(也成为小站)、中继站、接入点等。在采用不同的无线接入技术的系统中,具备基站功能的设备的名称可能会有所不同,例如,在lte系统中,成为演进的节点b(evolvednodeb,enb或者enodeb),在第三代(3rdgeneration,3g)系统中,成为节点b(nodeb)等。

本发明实施例中所涉及到的用户设备可以包括各种具有无限通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备。所述用户设备也可以称为移动台(mobilestation,ms)、终端(terminal)、终端设备(terminalequipment),还可以包括用户单元(subscribeunit)、蜂窝电话(cellularphone)、智能电话(smartphone)、无线数据卡、个人数字助理(personaldigitalassistant,pda)电脑、平板型电脑、无线调制解调器(modem)、手持设备(handheld)、膝上型电脑(laptopcomputer)、无绳电话(cordlessphone)或无线本地环路(wirelesslocalloop,wll)台、机器类型通信(machinetypecommunication,mtc)终端等。为方便描述,本发明所有实施例中,上面提到的设备统称为用户设备。

本发明实施例中的基站、用户设备可以具有其他名称。只要各个设备的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。

接下来,基于图1、图2、图3所示的网络架构,图4示出了本发明实施例提供了一种数据包传输方法的流程示意图。该方法是通过用户设备、基站、服务器之间的交互来执行的。由于在不同网络架构中,同一设备可能对应不同传输控制实体,这里为了区分各个设备中的第一传输控制实体、第二传输控制实体,在以下介绍中,用户设备的第一传输控制实体用第一传输控制实体a1来表示;用户设备的第二传输控制实体用第二传输控制实体a2来表示;基站的第一传输控制实体用第一传输控制实体b1来表示;基站中面向服务器的第二传输控制实体用第二传输控制实体b21来表示;基站中面向用户设备的第二传输控制实体用第二传输控制实体b22来表示;服务器的第二传输控制实体命名为第二传输控制实体c2。具体请参考以下步骤101至步骤110的详细描述。

101,用户设备向服务器发送syn请求。

例如,在用户设备需要与服务器建立连接的情况下,用户设备向服务器发送syn(synchronous)请求,基站将syn请求进行透传。

例如,基于图1所示的网络架构,基站透传syn请求具体是:基站的第一传输控制实体b1接收用户设备发送的syn请求,第一传输控制实体b1将syn请求发送至基站中面向服务器的第二传输控制实体b21,面向服务器的第二传输控制实体b21将syn请求发送至服务器。可选的,在执行步骤101之前,在基站中设置第一传输控制实体b1和面向服务器的第二传输控制实体b21;并且在用户设备设置第二传输控制实体a2,以及在服务器中设置第二传输控制实体c2。

例如,基于图2所示的网络架构,基站透传syn请求具体是:基站的第一传输控制实体b1接收用户设备发送的syn请求,第一传输控制实体b1将syn请求发送至基站中面向服务器的第二传输控制实体b21,面向服务器的第二传输控制实体b21将syn请求发送至服务器。可选的,在执行步骤101之前,在基站中设置第一传输控制实体b1和面向服务器的第二传输控制实体b21;并且在用户设备中设置第一传输控制实体a1;以及在服务器中设置第二传输控制实体c2。

例如,基于图3所示的网络架构,基站透传syn请求具体是:基站的面向用户设备的第二传输控制实体b22接收用户设备发送的syn请求,面向用户设备的第二传输控制实体b22将syn请求发送至基站中面向服务器的第二传输控制实体b21,第二传输控制实体将syn请求发送至服务器。可选的,在执行步骤101之前,在用户设备中设置第一传输控制实体a1,在基站中设置面向用户设备的第二传输控制实体b22和面向服务器的第二传输控制实体b21;以及在服务器中设置第二传输控制实体c2。

相应地,服务器接收用户设备发送的syn请求。

102,服务器向用户设备反馈syn请求的响应消息。

例如,基于图1所示的网络架构,服务器在接收到用户设备发送的syn请求之后,响应syn请求,并向用户设备反馈确认建立连接的响应消息。比如,该响应消息为synack消息。基站将syn请求的响应消息进行透传。基站透传响应消息具体是:基站的面向服务器的第二传输控制实体b21接收服务器发送的响应消息,面向服务器的第二传输控制实体b21将响应消息发送至基站中的第一传输控制实体b1,第一传输控制实体b1将响应消息发送至用户设备。

又如,基于图2所示的网络架构,服务器在接收到用户设备发送的syn请求之后,响应syn请求,并向基站反馈确认建立连接的响应消息,例如,反馈synack消息。具体是:服务器向基站中面向服务器的第二传输控制实体b21反馈syn请求的响应消息,面向服务器的第二传输控制实体b21接收该响应消息,并将该响应消息转发至基站中的第一传输控制实体b1。

相应地,基站的第一传输控制实体b1接收服务器发送响应消息。一种可选的方式中,所述基站可以将该响应消息透传至用户设备,且向用户设备发送传输控制指示信息。相应地,所述用户设备分别接收所述响应消息和所述传输控制指示信息。另一种可选的方式中,所述基站可以在该响应消息中增加传输控制指示消息,第一传输控制实体b1向所述用户设备发送增加所述传输控制指示信息后的响应消息。相应地,所述用户设备接收增加传输控制指示信息后的响应消息。

在本发明实施例中所涉及的传输控制指示消息,用于指示所述基站将所述用户设备与服务器之间的一条连接截断为两条连接;其中,所述两条连接分别为所述用户设备和所述基站之间在第一传输控制实体参与控制下的连接,以及所述基站和所述服务器之间的tcp连接。在图2所示的网络架构中,基站是通过插入第一传输控制实体b1和面向服务器的第二传输控制实体b21来实现将一条连接截断为两条连接的。

举例来说,所述第一传输控制实体b1可以在tcp报头中的保留字段写入预设字段,以此向用户设备指示上述传输控制指示消息。其中,tcp报头中的保留字段为6个bit,例如,预设字段可以为111110,这样用户设备在接收到该响应消息之后,能够确定基站采用第一传输控制实体b1传输数据包,并已将一条连接截断为两条连接。

又如,基于图3所示的网络架构,服务器在接收到用户设备发送的syn请求之后,响应syn请求,并向基站反馈确认建立tcp连接的响应消息,例如,反馈synack消息。具体是:服务器向基站的面向服务器的第二传输控制实体b21反馈针对syn请求的响应消息,面向服务器的第二传输控制实体b21接收该响应消息,并转发至基站中的面向用户设备的第二传输控制实体b22。

相应地,基站的面向用户设备的第二传输控制实体b22接收该响应消息。一种可选的方式中,所述基站可以将该响应消息透传至用户设备,且向用户设备发送传输控制指示信息。相应地,所述用户设备分别接收所述响应消息和所述传输控制指示信息。另一种可选的方式中,所述基站可以在该响应消息中增加传输控制指示消息,面向用户设备的第二传输控制实体b22向所述用户设备发送增加所述传输控制指示信息后的响应消息。相应地,所述用户设备接收增加传输控制指示信息后的响应消息。

在图3所示的网络架构中,基站是通过插入面向用户设备的第二传输控制实体b22和面向服务器的第二传输控制实体b21来实现将一条连接截断为两条连接的。

举例来说,所述面向用户设备的第二传输控制实体b22可以在tcp报头中的保留字段写入预设字段,以此向用户设备指示上述传输控制指示消息。其中,tcp报头中的保留字段为6个bit,例如,预设字段可以为111101,这样用户设备在接收到该响应消息之后,能够确定基站采用面向用户设备的第二传输控制实体b22传输数据包,并具有截断功能。

103,用户设备向服务器发送确认消息。

例如,在用户设备接收到服务器反馈的响应消息的情况下,用户设备向服务器发送确认消息,该确认消息表示用户设备已收到服务器反馈的响应消息,说明用户设备和服务器之间的连接已建立。基站将确认消息进行透传。

例如,基于图1或图2所示的网络架构,基站透传确认消息的过程具体是:基站的第一传输控制实体b1接收用户设备发送的确认消息,第一传输控制实体b1将确认消息发送至基站中面向服务器的第二传输控制实体b21,第二传输控制实体将确认消息发送至服务器。

例如,基于图3所示的网络架构,基站透传确认消息的过程具体是:基站的面向用户设备的第二传输控制实体b22接收用户设备发送的确认消息,面向用户设备的第二传输控制实体b22将确认消息发送至基站中面向服务器的第二传输控制实体b21,面向服务器的第二传输控制实体b21将确认消息发送至服务器。

相应地,服务器接收用户设备发送的确认消息。

104,基站和服务器之间实现数据包的传输。

其中,基站和服务器之间的数据包包括由服务器发送至用户设备的下行数据包,和/或由用户设备发送至服务器的上行数据包。

例如,基于图1或图2所示的网络架构,在面向用户设备的部分,基站的传输层是第一传输控制实体b1;在面向服务器的部分,基站的传输层是由面向服务器的第二传输控制实体b21来实现的。进一步的,对于下行数据包而言,服务器先将下行数据包发送至核心网设备、再由核心网设备将下行数据包发送至基站中的面向服务器的第二传输控制实体b21;对于上行数据包而言,面向服务器的第二传输控制实体b21接收基站的第一传输控制实体b1转发的上行数据包,再将上行数据包经过核心网设备发送至服务器,这样就实现了基站和服务器之间的数据包的传输。

又如,基于图3所示的网络架构,在面向用户设备的部分,基站的传输层是面向用户设备的第二传输控制实体b22来实现的;在面向服务器的部分,基站的传输层是由面向服务器的第二传输控制实体b21来实现的。进一步的,对于下行数据包而言,服务器先将下行数据包发送至核心网设备、再由核心网设备将下行数据包发送至基站中的面向服务器的第二传输控制实体b21,面向服务器的第二传输控制实体b21将下行数据包转发给基站的面向用户设备的第二传输控制实体b22;对于上行数据包而言,第二传输控制实体接收基站的面向用户设备的第二传输控制实体b22转发的上行数据包,再将上行数据包经过核心网设备发送至服务器,这样就实现了基站和服务器之间的数据包的传输。

105,用户设备和基站之间实现数据包的传输。

例如,用户设备和基站之间的数据包包括由服务器发送至用户设备的下行数据包和/或由用户设备发送至服务器的上行数据包。具体请参见图5所示实施例中步骤201至步骤205的详细描述。

106,用户设备向服务器发送fin请求。

例如,若用户设备由于完成下行数据包接收或者其他原因,发起断开与服务器的连接的情况下,用户设备向服务器发送fin(finish)请求。

相应地,服务器接收用户设备发送的fin请求。

在所述服务器接收到用户设备发送的fin请求之后,向用户设备反馈fin请求的响应消息,具体可以通过步骤107、109来实现。此外,用户设备和基站分别向服务器反馈确认消息,具体可以通过步骤108和步骤110来实现。请参见以下步骤107至步骤110的详细描述。

107,服务器向基站反馈fin请求的响应消息。

例如,在所述服务器接收到用户设备发送的fin请求之后,服务器响应fin请求,即向基站反馈断开所述用户设备的连接的响应消息,例如反馈finack消息。相应地,基于图1、图2或图3所示的网络架构图,基站中面向服务器的第二传输控制实体b21接收fin请求的响应消息。

108,基站向服务器发送确认消息。

相应地,服务器接收所述确认消息,该确认消息表示基站已收到服务器反馈的响应消息,说明基站和服务器之间的tcp连接已断开。

例如,基于图1、图2或图3所示的网络架构图,基站中面向服务器的第二传输控制实体b21在接收到服务器反馈的fin请求的响应消息之后,基站中面向服务器的第二传输控制实体b21向服务器发送确认消息,将该响应消息转发至接入网部分的传输层。

举例来说,基于图1或图2所示的网络架构图,基站中面向服务器的第二传输控制实体b21向第一传输控制实体b1转发fin请求的响应消息。可选的,在基站中面向服务器的第二传输控制实体b21未完成向第一传输控制实体b1发送下行数据包之前,面向服务器的第二传输控制实体b21不执行步骤108。

又举例来说,基于图3所示的网络架构图,基站中面向服务器的第二传输控制实体b21向面向用户设备的第二传输控制实体b22转发fin请求的响应消息。可选的,在基站中面向服务器的第二传输控制实体b21未完成向面向用户设备的第二传输控制实体b22发送下行数据包之前,面向服务器的第二传输控制实体b21不执行步骤108。

109,基站向用户设备发送fin请求的响应消息。

例如,基于图1或图2所示的网络架构图,在第一传输控制实体b1接收到面向服务器的第二传输控制实体b21转发的fin请求的响应消息之后,若第一传输控制实体b1完成向用户设备发送的下行数据包之后,向用户设备发送fin请求的响应消息。

例如,基于图3所示的网络架构图,在面向用户设备的第二传输控制实体b22接收到面向服务器的第二传输控制实体b21转发的fin请求的响应消息之后,若面向用户设备的第二传输控制实体b22完成向用户设备发送的下行数据包之后,向用户设备发送fin请求的响应消息。

相应地,所述用户设备接收所述基站发送的fin请求的响应消息。

110,用户设备向基站发送确认消息。

例如,在所述用户设备接收到基站中fin请求的响应消息之后,用户设备向基站发送确认消息,该确认消息表示用户设备已收到基站反馈的响应消息,进一步说明用户设备和基站之间在第一传输控制实体参与控制下的连接已断开。

接下来,请参见图5,为本发明实施例提供了一种数据包传输方法的流程示意图,如图,5所示,所述方法是由第一设备的传输控制单元和pdcp单元共同执行的,具体包括步骤201至步骤205。

例如,基于图1所示的网络架构,对于由用户设备发送至服务器的上行数据包而言,用户设备的第二传输控制实体a2将上行数据包发送至基站的第一传输控制实体b1,第一传输控制实体b1将上行数据包发送至基站中面向服务器的第二传输控制实体b21,以实现上行数据包在用户设备和基站之间的传输。

基于图1所示的网络架构,对于由服务器发送至用户设备的下行数据包而言,该下行数据包发送方法是由基站中的第一传输控制实体b1和基站中的pdcp实体交互实现的。在这一情况下,图5所示实施例中的第一设备表示基站;图5所示实施例中的第二设备表示用户设备;图5所示实施例中传输控制单元表示第一传输控制实体b1;图5所示实施例中pdcp单元表示基站的pdcp实体。

又如,基于图2所示的网络架构,对于由用户设备发送至服务器的上行数据包而言,用户设备的第一传输控制实体a1将上行数据包发送至基站的第一传输控制实体b1,以使第一传输控制实体b1将上行数据包发送至服务器。这一情况下,图5所示实施例中的第一设备表示用户设备;图5所示实施例中的第二设备表示基站;图5所示实施例中传输控制单元表示第一传输控制实体a1;图5所示实施例中pdcp单元表示用户设备的pdcp实体。

基于图2所示的网络架构,对于由服务器发送至用户设备的下行数据包而言,该下行数据包发送方法是由基站中的第一传输控制实体b1和基站中的pdcp实体交互实现的。在这一情况下,图5所示实施例中的第一设备表示基站;图5所示实施例中的第二设备表示用户设备;图5所示实施例中传输控制单元表示第一传输控制实体b1;图5所示实施例中pdcp单元表示pdcp实体。

又如,基于图3所示的网络架构,对于由用户设备发送至服务器的上行数据包而言,用户设备的第一传输控制实体a1将上行数据包发送至基站的面向用户设备的第二传输控制实体b22,以使面向用户设备的第二传输控制实体b22将上行数据包发送至服务器。这一情况下,图5所示实施例中的第一设备表示用户设备;图5所示实施例中的第二设备表示基站;图5所示实施例中传输控制单元表示第一传输控制实体a1;图5所示实施例中pdcp单元表示用户设备的pdcp实体。

基于图3所示的网络架构,对于由服务器发送至用户设备的下行数据包而言,基站中面向用户设备的第二传输控制实体b22接收面向服务器的第二传输控制实体b21转发的下行数据包,并将该下行数据包发送至用户设备的第一传输控制实体a1,以实现下行数据包在用户设备和基站之间的传输。

201,传输控制单元向pdcp单元发送获取请求。

其中,该获取请求可用于请求获取缓存指示信息。缓存指示信息用于指示所述pdcp单元对应的缓存空间中当前缓存的数据包的数量。

例如,所述传输控制单元在检测到用户设备和服务器建立连接之后,向所述pdcp单元发送该获取请求,该获取请求用于指示所述pdcp单元反馈缓存指示信息。这样传输控制单元能够根据缓存指示信息,确定是否向pdcp单元发送数据包。

可选的,所述获取请求是在所述用户设备和服务器初始建立连接之后发送的。

可选的,所述传输控制单元可以向pdcp单元发送一次获取请求,pdcp单元向传输控制单元反馈一次缓存指示信息。

可选的,所述传输控制单元可以在向pdcp单元发送一次获取请求,pdcp单元在用户设备和服务器的连接建立期间向传输控制单元多次反馈缓存指示信息,本发明实施例对pdcp单元反馈缓存指示信息的次数不做限定。这样传输控制单元无需多次向pdcp单元发送获取请求也能够多次获得缓存指示信息,减少了发送获取请求的时间,提高了缓存指示信息的获取效率。

可选的,所述传输控制单元还可以通过获取请求指示pdcp单元按照预设时间间隔反馈缓存指示信息,pdcp单元在接收到该获取请求之后,按照预设时间间隔反馈缓存指示信息。

202,pdcp单元向传输控制单元发送缓存指示信息。

例如,所述pdcp单元在接收到所述获取请求之后,所述pdcp单元统计对应的缓存空间中当前已缓存的数据包数量,并根据当前已缓存的数据包数量确定缓存指示信息。

可选的,所述缓存指示信息包括pdcp单元对应的缓存空间中当前已缓存的数据包数量。或者,所述缓存指示信息包括所述pdcp单元对应的缓存空间中当前已缓存的数据包数量在pdcp单元对应的总缓存空间中的占比。或者,所述缓存指示信息包括缓存高指示信息或缓存低指示信息,其中,缓存高指示信息或缓存低指示信息可以是通过当前已缓存的数据包数量来确定,或者缓存高指示信息或缓存低指示信息可以是通过当前已缓存的数据包数量在pdcp单元对应的缓存空间中的占比来确定,本发明实施例对此不做限定。

需要说明的是,在本发明实施例中涉及的pdcp单元对应的缓存空间为所述pdcp单元独自使用的缓存空间。例如,第一设备为pdcp单元分配了单独的缓存空间,该缓存空间仅能被pdcp单元所使用,即当前已缓存的数据包仅包含pdcp单元缓存的数据包。

或者,所述第一设备还包括rlc单元;所述pdcp单元对应的缓存空间为所述pdcp单元和所述rlc单元共同使用的缓存空间。例如,第一设备为pdcp单元和rlc单元分配了一缓存空间,该缓存空间能被pdcp单元和rlc单元所使用,即当前已缓存的数据包包含pdcp单元缓存的数据包和rlc缓存的数据包。

可选的,所述pdcp单元可以按照预设时间间隔来向所述传输控制单元反馈缓存指示信息。可选的,该预设时间间隔可以是由传输控制单元设定并通知pdcp单元的,或者是由pdcp单元设定的。

相应地,所述传输控制单元接收所述pdcp单元发送的缓存指示信息。

在可选的实现方式一中,对于所述缓存指示信息包括当前已缓存的数据包数量的情况,传输控制单元根据当前已缓存的数据包数量的大小确定是否向所述pdcp单元发送所述第二设备的数据包,包括:若所述传输控制单元确定所述当前已缓存的数据包数量大于第一阈值,则停止向所述pdcp单元发送所述第二设备的数据包;若所述传输控制单元确定所述当前已缓存的数据包数量小于第二阈值,则确定向所述pdcp单元发送所述第二设备的数据包。如图5所示,若确定所述当前已缓存的数据包的占比小于第二阈值,则执行步骤203;若确定所述当前已缓存的数据包的占比大于第一阈值,则执行步骤204。

针对可选的实现方式一而言,可选的,第一阈值大于或等于第二阈值。对于,第一阈值等于第二阈值的情况,若当前已缓存的数据包等于第一阈值的情况,在本发明实施例中,传输控制单元可以执行步骤203,或者也可以执行步骤204。

针对可选的实现方式一而言,可选的,所述pdcp单元可以先对当前已缓存的数据包数量进行判断,在确定满足一定条件的情况下向传输控制单元反馈缓存指示信息。例如,所述pdcp单元在所述当前已缓存的数据包数量大于第九阈值的情况下或者所述当前已缓存的数据包数量小于第十阈值情况下,反馈缓存指示信息。其中第九阈值大于或等于第十阈值。对于第九阈值大于第十阈值的情况下,在确定当前已缓存的数据包数量为大于等于第十阈值且小于等于第九阈值的情况,pdcp单元可以不发送缓存指示信息,这样减少了pdcp单元和传输控制单元交互次数。

可选的,本发明实施例中pdcp判断过程中所采用的第九阈值,可以与传输控制单元判断过程中所采用的第一阈值在数值上相等,或者也可以不相等。pdcp判断过程中所采用的第十阈值,可以与传输控制单元所采用的第二阈值在数值上相等,或者也可以不相等。本发明实施例对此各个阈值的大小不做限定。

举例来说,第九阈值为150,第十阈值为100,若当前缓存的数据包数量为80,则由于80小于100,则pdcp单元向传输控制单元反馈的缓存指示信息为当前缓存的数据包为80;若当前缓存的数据包数量为130,则由于130大于100,且130小于150,则pdcp单元不向传输控制单元反馈缓存指示信息;若当前缓存的数据包数量为180,则由于180大于150,则pdcp单元向传输控制单元反馈的缓存指示信息为当前缓存的数据包为180。这样减少了pdcp单元和传输控制单元交互次数,并且传输控制单元也能实现根据缓存指示消息确定出是否发送数据包的功能。

在可选的实现方式二中,对于所述缓存指示信息包括所述pdcp单元对应的缓存空间中当前已缓存的数据包数量在pdcp单元对应的总缓存空间中的占比的情况,传输控制单元根据所述缓存指示信息确定是否向所述pdcp单元发送所述第二设备的数据包,具体是:若所述传输控制单元确定所述当前已缓存的数据包的占比大于第三阈值,则停止向所述pdcp单元发送所述第二设备的数据包;若所述传输控制单元确定所述当前已缓存的数据包的占比小于第四阈值,则确定向所述pdcp单元发送所述第二设备的数据包。如图5所示,若确定所述当前已缓存的数据包的占比小于第四阈值,则执行步骤203;若确定所述当前已缓存的数据包的占比大于第三阈值,则执行步骤204。

可选的,可选的实现方式二的缓存指示信息的确定及发送,可以参考可选的实现方式一中缓存指示信息为当前已缓存的数据包数量的具体描述,在此不再赘述。另外,两者的区别在于反馈的数值不同、所设定的阈值不同,本发明实施例对所设定的阈值的大小不做限定。

在可选的实现方式三中,对于所述缓存指示信息包括缓存高指示信息或缓存低指示信息的情况,缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量来确定的。所述缓存高指示信息表示所述当前已缓存的数据包数量大于第五阈值;所述缓存低指示信息表示所述当前已缓存的数据包数量小于第六阈值。或者,缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量在所述pdcp实体对应的缓存空间的占比来确定,所述缓存高指示信息表示所述当前已缓存的数据包数量大于第七阈值;所述缓存低指示信息表示所述当前已缓存的数据包数量小于第八阈值。如图5所示,若所述缓存指示信息为所述缓存低指示信息,则执行步骤203;若所述缓存指示信息为所述缓存高指示信息,则执行步骤204。

针对可选的实现方式三而言,第五阈值大于或等于第六阈值。对于,第五阈值等于第六阈值的情况,若当前已缓存的数据包等于第五阈值的情况,在本发明实施例中,传输控制单元可以执行步骤203,或者也可以执行步骤204。

针对可选的实现方式三而言,可选的,缓存指示信息可以通过一个比特位来表示,1表示缓存高指示信息,0表示缓存低指示信息;或者,0表示缓存高指示信息,1表示缓存低指示信息。

针对可选的实现方式三而言,可选的,所述pdcp单元可以先对待发送的缓存指示信息进行判断,在确定满足一定条件的情况下向传输控制单元反馈缓存指示信息。具体是:所述pdcp单元可以在确定所述缓存指示信息为所述缓存高指示信息或者确定所述缓存指示信息为所述缓存低指示信息的情况下,反馈缓存指示信息。对于第五阈值大于第六阈值的情况下,可以在确定当前已缓存的数据包数量为大于等于第六阈值且小于等于第五阈值的情况,可以不发送缓存指示信息,这样减少了pdcp单元和传输控制单元交互次数。

举例来说,以缓存高指示信息或缓存低指示信息是通过当前已缓存的数据包数量在pdcp单元的总缓存空间中的占比来确定的为例来说明,第七阈值为85%,第八阈值为65%,当大于第七阈值时,缓存指示消息为1,当小于第八阈值时,缓存指示消息为0。

若当前缓存的数据包的占比为50%,则由于50%小于65%,则pdcp单元向传输控制单元反馈的缓存指示信息为0;若当前缓存的数据包的占比为75%,则由于75%大于65%,且75%小于85%,则pdcp单元不向传输控制单元反馈缓存指示信息;若当前缓存的数据包的占比为90%,则由于90%大于85%,则pdcp单元向传输控制单元反馈的缓存指示信息为1。这样减少了pdcp单元和传输控制单元交互次数,并且传输控制单元也能实现根据缓存指示消息确定出是否发送数据包的功能。

需要说明的是,可选的实现方式三中的第七阈值和第八阈值可以参考第五阈值和第六阈值的实现方式,在此不再赘述。另外两者的区别在于所设定的阈值不同,本发明实施例对所设定的阈值的大小不做限定。

203,若所述缓存指示信息指示当前已缓存的数据包数量小于第二阈值、或当前已缓存的数据包的占比小于第四阈值、或所述缓存指示信息为缓存低指示信息,则所述传输控制单元向所述pdcp单元发送所述第二设备的数据包。

例如,当前已缓存的数据包数量小于第二阈值、或当前已缓存的数据包的占比小于第四阈值,或所述缓存指示信息为缓存低指示信息,均表示pdcp单元对应的缓存空间中当前缓存的数据包较少,进而表示pdcp单元对应的缓存空间中的较多数据包已经向用户设备传输了,因此这一情况下,所述传输控制单元可以继续向pdcp单元发送所述第二设备的数据包,这样可以减少pdcp实体对应的缓存空间在无线环境质量较好时没有数据包情况发生,进而可以更好的适应无线环境质量。

可选的,在用户设备和服务器建立连接的过程中,所述传输控制单元接收第二设备反馈的接收窗口,并根据接收窗口来向第二设备发送数据包。接收窗口用于表示第二设备可以接收的数据包的数量。这样传输控制单元将接收窗口确定为发送窗口,并根据发送窗口,将需要向第二设备发送的数据包划分为允许且未发送的数据包以及不允许发送的数据包。允许且未发送的数据包处于发送窗口范围之内,不允许发送的数据包不在发送窗口范围之内。结合本发明实施例的方案,在传输控制单元确定缓存低指示信息之后,传输控制单元发送的数据包为允许且未发送的数据包。

可选的,在第一设备发送数据包之后还可以接收第二设备反馈的确认消息,确认消息用于指示第二设备已接收到数据包的标识。这样,传输控制单元可以根据接收窗口和确认消息进一步对数据包进行划分,所划分的数据包还包括已发送且已确认的数据包和已发送且未确认的数据包。可以理解的是,在未向第二设备发送任何数据包之前,不会收到第二设备反馈的确认消息,进而不存在已发送且已确认的数据包。

可选的,传输控制单元能够根据接收窗口以及确定消息划分数据包的过程具体为:第一设备的传输控制单元接收第二设备反馈的接收窗口,接收窗口指示了窗口内的数据包的预设数量;并将接收窗口确定为第一设备的发送窗口;所述传输控制单元确定发送窗口所包含的数据包。

其中,若第一设备还未向第二设备发送数据包,则发送窗口的起始位置为第一个未发送的数据包位置;发送窗口的终点位置为从第一个数据包开始计数直至达到预设数量的数据包的位置。

随着数据包的发送以及确认消息的接收,所述传输控制单元可以向后移动发送窗口,且发送窗口的起始位置为按照数据包的发送顺序最早发送且未收到确定消息的数据包所在位置;发送窗口的终点位置为按照数据包的发送顺序从起始位置开始计数直至达到预设数量的数据包的位置。

如果传输控制单元将发送窗口内的一数据包已向第二设备发送且接收到确认消息,则将确认消息指示的数据包确定为已发送且已确认的数据包。该数据包可以在发送窗口内,例如在该数据包之前发送的数据包还未收到确认消息。或者,该数据包也可以在发送窗口外,例如在该数据包之前发送的数据包均收到确认消息。

如果传输控制单元将发送窗口内的一数据包已向第二设备发送且未接收到确认消息,则该数据包为已发送且未确认的数据包。该数据包在发送窗口内。

如果传输控制单元未将发送窗口内的一数据包向第二设备发送,则该数据包为允许且未发送的数据包。该数据包在发送窗口内。

如果一数据包是位于发送窗口外且传输控制单元未向第二设备发送的,则该数据包为不允许发送的数据包。该数据包在发送窗口外。

可以理解的是,若当前不存在允许且未发送的数据包,则所述传输控制单元不发送数据包。

204,若所述缓存指示信息指示当前已缓存的数据包数量大于第一阈值、或当前已缓存的数据包的占比大于第三阈值、或所述缓存指示信息为缓存高指示信息,则所述传输控制单元停止向所述pdcp单元发送所述第二设备的数据包。

例如,前已缓存的数据包数量大于第一阈值、或当前已缓存的数据包的占比大于第三阈值、或所述缓存指示信息为缓存高指示信息,均表示pdcp单元对应的缓存空间中当前缓存的数据包较多,表示pdcp单元对应的缓存空间中的较少数据包已经向用户设备传输了,因此这一情况下,所述传输控制单元可以停止向pdcp单元发送所述第二设备的数据包,这样可以减少pdcp实体对应的缓存空间在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量。

可选的,在确定缓存高指示信息之后,传输控制单元停止发送的数据包为允许且未发送的数据包。

举例来说,请一并参见图6(1)至图6(3),为本发明实施例提供了一种传输控制单元发送数据包的方法的示例图。如图6所示,传输控制单元接收到的接收窗口为15个数据包。所述传输控制单元一次可以向pdcp单元发送一个或者多个数据包,所发送的数据包数量,本举例说明不做限定。

其中,已确认的数据包表示第一设备已向第二设备发送的且已收到第二设备反馈的确定消息的数据包。已发送的数据包表示第一设备的传输控制单元已向pdcp单元发送的数据包,且该部分数据包未收到第二设备反馈的确认消息的数据包,可选的该已发送的数据包可能部分数据包已向第二设备发送,也有可能部分数据包还缓存在pdcp单元对应的缓存空间中。允许但未发送的数据包表示允许第一设备向第二设备发送的数据包,且第一设备中的传输控制单元未向pdcp单元发送的数据包;不允许发送的数据包表示不允许第一设备向第二设备发送的数据包。

在图6(1)中,当前发送窗口内包含从1号至10号的已发送数据包,以及从11号至15号为允许发送但未发送的数据包。超过15之后的数据包为不允许发送的数据包。若传输控制单元确定pdcp单元中缓存低指示,则所述传输控制单元可以继续向pdcp单元发送11号至15号的全部或者部分数据包,例如发送11号至14号的数据包。

进一步的,在图6(2)中,在图6(1)的基础上,传输控制单元接收到第二设备反馈的1号至5号的确定消息,则将发送窗口移动至6号至20号数据包,且发送窗口内允许发送但未发送的数据包包括15号至20号的数据包。若传输控制单元确定pdcp单元中缓存低指示,则所述传输控制单元可以继续向pdcp单元发送15号至20号的全部或者部分数据包,例如发送15号的数据包。

进一步的,在图6(3)中,在图6(2)的基础上,传输控制单元又接收到第二设备反馈的6号的确定消息,则将发送窗口移动至7号至21号数据包,且发送窗口内允许发送但未发送的数据包包括16号至21号的数据包。若传输控制单元确定pdcp单元中缓存高指示,则所述传输控制单元停止向pdcp单元发送当前发送窗口内16号至21号的数据包。可以理解的是,若后续传输控制单元接收到pdcp单元中缓存低指示,则所述传输控制单元可以继续向pdcp单元发送16号至21号的数据包。

回到图5,步骤205,在所述传输控制单元从所述第二设备第一次接收到目标数据包未收到的通知消息的情况下,则所述传输控制单元向所述pdcp单元重发所述目标数据包。

步骤205为可选步骤。例如,在所述传输控制单元从所述第二设备接收到目标数据包未收到的通知消息,且关于目标数据包未收到的通知消息是第一次收到的情况下,传输控制单元立即重发所述目标数据包,其中目标数据包是发送窗口中已发送且未确认的多个数据包中的任意一个。可选的,传输控制单元能够依据pdcp单元反馈的缓存指示信息来发送数据包,使得数据包在发送顺序上不会改变,因此第二设备可以按照顺序来接收数据包;若传输控制单元一旦收到目标数据包未收到的通知消息,则可以执行重传。相比于现有方案,采用现有的tcp协议在数据包传输过程中,数据包的发送顺序会发生变化,因此采用在接收到三次同一数据包未收到的通知消息,才会重传该目标数据包的方案,本发明实施例的方案重传未收到数据包的效率更高。

举例来说,请一并参见图7(1)至图7(3),为本发明实施例提供了另一种传输控制单元发送数据包的方法的示例图。如图7所示,传输控制单元将接收窗口设定为发送窗口,且发送窗口为15个数据包。

在图7(1)中,在传输控制单元接收到第二设备发送的1号、2号、3号、5号数据包的确认消息,以及4号数据包未收到的通知消息,且该通知消息为第一次通知,在这一情况下,当前的发送窗口包含从4号至18号的数据包,其中,5号为已发送且接收到确认消息的数据包,6至14号的数据包为已发送且未收到确认的数据包,以及15号至18号的数据包为允许发送但未发送的数据包。

进一步参见图7(2),所述传输控制单元立即重发4号数据包。需要说明的是,传输控制单元可以在接收到pdcp单元中缓存低指示或缓存高指示的情况下,均立即重发4号数据包。可以理解的是,所述传输控制单元未收到关于5号至14号的数据包未收到的通知消息,因此无需重发5号至14号的数据包。

进一步的,在图7(3)中,在图7(2)的基础上,传输控制单元重发4号数据包之后,若传输控制单元接收到pdcp单元中缓存低指示,则所述传输控制单元可以继续向pdcp单元发送15号至18号的数据包,例如,发送15号数据包。

而本发明实施例中,第一设备的传输控制单元可以根据缓存指示信息确定是否向pdcp单元发送第二设备的数据包。若pdcp实体对应的缓存空间中当前已缓存的数据包数量较少,传输控制单元确定继续向pdcp实体发送数据包;若pdcp实体对应的缓存空间中当前已缓存的数据包数量较多,传输控制单元确定停止向pdcp实体发送数据包。因此,传输控制单元根据pdcp单元对应的缓存空间中的数据包多少,确定是否向pdcp单元传输数据包,可以减少pdcp单元对应的缓存空间在无线环境质量较好时没有数据包以及在无线环境质量较差时数据包溢出的情况发生,进而可以更好的适应无线环境质量,提高了对无线传输带宽的利用率。

图8示出了上述实施例中所涉及的第一设备的一种功能示意图。如图8所示,该第一设备800可以包括传输控制单元801和pdcp单元802。

所述pdcp单元802用于向所述传输控制单元801发送缓存指示信息,所述缓存指示信息用于指示所述pdcp单元802对应的缓存空间中当前缓存的数据包数量;

所述传输控制单元801用于从所述pdcp单元802接收所述缓存指示信息;

所述传输控制单元801用于根据所述缓存指示信息,确定是否向所述pdcp单元802发送所述第二设备的数据包。

在一个可选的实施例中,所述传输控制单元801还用于向所述pdcp单元802发送获取请求,以获取所述缓存指示信息。

在一个可选的实施例中,所述缓存指示信息包括所述pdcp单元802对应的缓存空间中当前已缓存的数据包数量;

在根据所述缓存指示信息,确定是否向所述pdcp单元802发送所述第二设备的数据包方面,所述传输控制单元801具体用于:若所述传输控制单元801确定所述当前已缓存的数据包数量大于第一阈值,则停止向所述pdcp单元802发送所述第二设备的数据包;若所述传输控制单元801确定所述当前已缓存的数据包数量小于第二阈值,则确定向所述pdcp单元802发送所述第二设备的数据包。

在一个可选的实施例中,所述缓存指示信息包括所述pdcp单元802对应的缓存空间中当前已缓存的数据包的占比;

在根据所述缓存指示信息,确定是否向所述pdcp单元802发送所述第二设备的数据包方面,所述传输控制单元801具体用于:若所述传输控制单元801确定所述当前已缓存的数据包的占比大于第三阈值,则停止向所述pdcp单元802发送所述第二设备的数据包;若所述传输控制单元801确定所述当前已缓存的数据包的占比小于第四阈值,则确定向所述pdcp单元802发送所述第二设备的数据包。

在一个可选的实施例中,所述缓存指示信息包括缓存高指示信息或缓存低指示信息;

在根据所述缓存指示信息,确定是否向所述pdcp单元802发送所述第二设备的数据包方面,所述传输控制单元801具体用于:若所述缓存指示信息为所述缓存高指示信息,则停止向所述pdcp单元802发送所述第二设备的数据包;若所述缓存指示信息为所述缓存低指示信息,则确定向所述pdcp单元802发送所述第二设备的数据包;其中,所述缓存高指示信息表示所述当前已缓存的数据包数量大于第五阈值;所述缓存低指示信息表示所述当前已缓存的数据包数量小于第六阈值。

在一个可选的实施例中,所述传输控制单元801具体用于确定是否向所述pdcp单元802发送允许且未向所述第二设备发送的数据包。

在一个可选的实施例中,若所述第一设备800为用户设备,所述第二设备为基站,则所述传输控制单元801还用于接收所述第二设备发送的传输控制指示信息,所述传输控制指示信息用于指示所述基站将所述用户设备与服务器之间的一条连接截断为两条连接;

其中,所述两条连接分别为所述用户设备和所述基站之间在所述传输控制单元801参与控制下的连接,以及所述基站和所述服务器之间的传输控制协议tcp连接。

在一个可选的实施例中,所述第一设备800为基站,所述第二设备为用户设备。

在一个可选的实施例中,所述pdcp单元802对应的缓存空间为所述pdcp单元802独自使用的缓存空间。

在一个可选的实施例中,所述第一设备800还包括rlc单元;所述pdcp单元802对应的缓存空间为所述pdcp单元802和所述rlc单元共同使用的缓存空间。

可以理解的,关于图8的第一设备800包括的功能块的具体实现方式及相应的有益效果,可参考前述实施例(例如,图5),这里不赘述。

图8所示实施例中的第一设备800可以以图9所示的第一设备900实现。如图9所示,为本发明实施例提供了另一种第一设备的结构示意图,图9所示的第一设备900包括:处理器901和收发器902,所述收发器902用于支持第一设备900与上述实施例中涉及的第二设备之间的数据传输。处理器901和收发器902通信连接,例如通过总线相连。所述第一设备900还可以包括存储器903。存储器903用于存储供第一设备900执行的程序代码和数据,处理器901用于执行存储器903中存储的应用程序代码,以实现图1至图7(3)所示任一实施例提供的第一设备的动作。

需要说明的是,实际应用中第一设备可以包括一个或者多个处理器,该第一设备800的结构并不构成对本申请实施例的限定。

处理器901可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

存储器903可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器903也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器903还可以包括上述种类的存储器的组合。

在本发明实施例中还提供了一种计算机存储介质,用于储存为上述第一设备所用的计算机软件指令,其包含用于执行上述实施例中为第一设备所设计的程序。该存储介质包括但不限于快闪存储器、硬盘、固态硬盘。

在本发明实施例中还提供了一种计算机程序产品,该计算机产品被计算设备运行时,上述实施例中为第一设备所设计的数据包传输方法。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。

尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施但这并不表示这些措施不能组合起来产生良好的效果。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过internet或其它有线或无线电信系统。

本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1