一种UDP业务的拥塞控制方法及设备与流程

文档序号:13640249阅读:246来源:国知局

本发明实施例涉及通信技术领域,尤其涉及一种udp业务的拥塞控制方法及设备。



背景技术:

在网络通信中,用户数据报协议(userdatagramprotocol,udp)可以将网络数据流量压缩成数据包的形式,udp在处理数据包时具有资源消耗小、处理速度快的特点,在音频、视频和数据传送时得到广泛的应用。

针对udp业务,服务器在向客户端传输udp业务数据包时,客户端并不对接收的数据包发出确认,服务器也无法确认多少数据包在多长时间内被客户端完整接收。由于基站与客户端之间的网络质量的不确定性,udp业务数据包很容易在基站侧被丢弃,从而导致数据传输不可靠。例如,对于视频数据包的传输,丢包后可能会出现花屏、卡顿和跳秒现象,从而影响到用户的业务体验。

但是,udp业务是不具备拥塞控制机制的,当在服务器向客户端传输udp业务数据包的过程中发生拥塞时,数据包会被基站直接丢弃。即使客户端能够通过向服务器发送icmp端口不可达差错消息提示服务器客户端已经发生拥塞,但该方式也无法直接降低拥塞发生的概率。并且,由于传输链路原因导致拥塞时,例如网络质量较差使得基站无法及时将数据包发送给客户端,客户端不会向服务器发送icmp端口不可达消息,服务器也无从得知拥塞,进一步可能导致更多的数据包被丢弃。而传输控制协议(transmissioncontrolprotocol,tcp)在收发数据包时,虽然具有拥塞控制机制,但在非丢包时协议开销较大,网络传输带宽利用率低于udp协议,而一旦发生丢包,传输效率进一步锐减。

因此,在移动网络中,如何实现udp业务的拥塞控制优化,进一步的降低udp业务的丢包率,提高传输可靠性成为一个亟待解决的问题。



技术实现要素:

本申请提供一种udp业务的拥塞控制方法及设备,可以实现udp业务的拥塞控制,降低由于下行网络质量较差导致的udp业务数据包的丢包率,从而提高数据传输的可靠性。

为达到上述目的,本申请采用如下技术方案:

本申请的第一方面,提供一种udp业务的拥塞控制方法,该方法包括:基站接收服务器发送的第一用户数据报协议udp业务数据包;若缓存空间已被占满,基站则丢弃第一udp业务数据包,并向服务器发送拥塞消息。其中,第一udp业务数据包为与客户端发起的udp业务对应的一个数据包;第二udp业务数据包为与客户端发起的udp业务对应的一个数据包,第二udp业务数据包缓存在缓存空间中,该缓存空间由基站针对udp业务预先配置,该缓存空间的大小由基站根据与客户端之间的下行网络质量确定。

本申请中,基站可以根据与客户端之间的下行网络质量,为udp业务确定缓存空间,并在该缓存空间已被占满时,丢弃第一udp业务数据包,并向服务器发送拥塞消息。由于当缓存空间已被占满时,基站会丢弃第一udp业务数据包,并向服务器发送拥塞消息,使得服务器不再通过基站向客户端发送udp业务数据或者调整发送的udp业务数据,实现了udp业务的拥塞控制;并且,由于缓存空间是由基站基于与客户端之间的下行网络质量为udp业务配置的,因此可以降低由于下行网络质量较差导致的udp业务数据包的丢包率,从而提高数据传输的可靠性。

本申请的第二方面,提供一种基站,该基站包括:接收单元、丢弃单元和发送单元。其中,接收单元,用于接收服务器发送的第一用户数据报协议udp业务数据包;其中,第一udp业务数据包为与客户端发起的udp业务对应的一个数据包;第二udp业务数据包为与客户端发起的udp业务对应的一个数据包,第二udp业务数据包缓存在缓存空间中,缓存空间由基站针对udp业务预先配置,缓存空间的大小由基站根据与客户端之间的下行网络质量确定。丢弃单元,用于若缓存空间已被占满,则丢弃第一udp业务数据包。发送单元,用于向服务器发送拥塞消息。

需要说明的是,本发明实施例的第二方面及其各种可能的实现方式的各个功能单元,是为了执行上述第一方面以及第一方面的各种可选方式的udp业务的拥塞控制方法方法,而对基站进行的逻辑上的划分。第二方面及其各种可能的实现方式的各个功能单元的详细描述以及有益效果分析可以参考上述第一方面及其各种可能的实现方式中的对应描述及技术效果,此处不再赘述。

本申请的第三方面,提供一种基站,该基站可以包括:处理器、存储器和通信接口。其中,存储器用于存储计算机执行指令,处理器、通信接口与存储器通过总线连接,当基站运行时,处理器执行存储器存储的计算机执行指令,以使基站执行如第一方面以及第一方面的各种可选方式所述的udp业务的拥塞控制方法。

本申请的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在一个基站上运行时,使得该基站执行如第一方面以及第一方面的各种可选方式所述的udp业务的拥塞控制方法。

附图说明

图1为本发明实施例提供的一种系统架构示意图;

图2为本发明实施例提供的一种基站的结构示意图一;

图3为本发明实施例提供的一种udp业务的拥塞控制方法的流程图一;

图4为本发明实施例提供的一种udp业务的拥塞控制方法的流程图二;

图5为本发明实施例提供的一种udp业务的拥塞控制方法的流程图三;

图6为本发明实施例提供的一种基站的结构示意图二;

图7为本发明实施例提供的一种基站的结构示意图三。

具体实施方式

本发明实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一udp业务数据包和第二udp业务数据包等是用于区别不同的udp业务数据包,而不是用于描述记录的特定顺序。

在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理器是指包含两个或两个以上物理核的处理器。

此外,本发明实施例的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括其他没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明实施例提供的udp业务的拥塞控制方法及设备,可以应用于实现udp业务拥塞控制的过程中。本发明实施例提供的udp业务的拥塞控制方法,其基本原理是:基站根据与客户端之间的下行网络质量,向服务器发送拥塞消息,以使得服务器获知拥塞已经发生。

本发明实施例提供的udp业务的拥塞控制方法及设备,可以实现udp业务的拥塞控制,降低由于下行网络质量较差导致的udp业务数据包的丢包率,从而提高数据传输的可靠性。

请参考图1,其示出了本发明实施例提供的一种udp业务的拥塞控制方法所应用的系统架构示意图。如图1所示,该系统架构可以包括终端01、基站02和服务器03。其中,终端01中包括客户端10。

其中,终端01、基站02和服务器03通信连接。客户端10可以向服务器发送业务请求;服务器03可以在接收到业务请求后,通过基站向客户端10发送相应的业务数据。

示例性的,终端01是一种指向用户提供语音和/或数据连通性的设备,具有有线/无线连接功能的手持式设备,或连接到无线调制解调器的其他处理设备。终端01可以经过无线接入网(radioaccessnetwork,ran)与一个或多个网络设备进行通信。终端01可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,也可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与ran交换语言和/或数据,例如,个人通信业务(personalcommunicationservice,pcs)电话、无绳电话、会话发起协议(sip)话机、无线本地环路(wirelesslocalloop,wll)站、个人数字助理(personaldigitalassistant,pda)等设备,本发明实施例对此不作任何限制。

示例性的,基站是一种部署在无线接入网中用以为终端01提供无线通信功能的装置。基站可以包括各种形式的宏基站、微基站、中继站、接入点等等。在采用不同的无线接入技术的系统中,具备基站功能的设备的名称可能会有所不同,例如,在lte系统中,称为演进的基站(evolvednodeb,enb或enodeb),在第3代移动通信技术(the3rdgenerationtelecommunication,3g)系统中,称为基站(nodeb)等等。随着通信技术的演进,“基站”这一名称可能会变化。

图2示出了一种基站的结构示意图。如图2所示,基站02包括20部分以及21部分。

下面结合图2对基站02的各个构成部件进行具体的介绍:

其中,20部分主要用于射频信号的收发以及射频信号与基带信号的转换;21部分主要用于基带处理,对基站02进行控制等。20部分通常可以称为收发单元、收发机、收发电路、或者收发器等。21部分通常是基站02的控制中心,通常可以称为处理单元,用于控制基站02执行上述图2中关于基站02(即服务基站)所执行的步骤。

其中,20部分的收发单元,也可以称为收发机,或收发器等,其包括天线和射频单元,其中射频单元主要用于进行射频处理。可选的,可以将20部分中用于实现接收功能的器件视为接收单元,将用于实现发送功能的器件视为发送单元,即20部分包括接收单元和发送单元。接收单元也可以称为接收机、接收器、或接收电路等,发送单元可以称为发射机、发射器或者发射电路等。

其中,21部分可以包括一个或多个单板,每个单板可以包括一个或多个处理器和一个或多个存储器,处理器用于读取和执行存储器中的程序以实现基带处理功能以及对基站02的控制。若存在多个单板,各个单板之间可以互联以增加处理能力。作为一中可选的实施方式,也可以是多个单板共用一个或多个处理器,或者是多个单板共用一个或多个存储器,或者是多个单板同时共用一个或多个处理器。其中,存储器和处理器可以是集成在一起的,也可以是独立设置的。在一些实施例中,20部分和21部分可以是集成在一起的,也可以是独立设置的。另外,21部分中的全部功能可以集成在一个芯片中实现,也可以部分功能集成在一个芯片中实现另外一部分功能集成在其他一个或多个芯片中实现,本发明实施例对此不进行限定。

图2所示的基站02可以执行本发明实施例提供的udp业务的拥塞控制方法中基站执行的操作。如:在一种可实现方式中,基站02中的21部分可以用于丢弃第一udp业务数据包;基站02中的20部分可以用于向服务器发送拥塞消息。

需要说明的是,图2示出的设备结构并不构成对基站的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,本发明实施例对此不进行限定。

基于图1所示的系统架构示意图,以及图2所示的基站02的各模块或组成部分,本发明实施例提供一种udp业务的拥塞控制方法,该方法对图1所示的系统中终端01、基站02和服务器03的交互过程,进行了详细的介绍。具体的,如图3所示,该udp业务的拥塞控制方法可以包括s301和s302:

s301、基站接收服务器发送的第一udp业务数据包。

其中,第一udp业务数据包为与客户端发起的udp业务对应的一个数据包;第二udp业务数据包为与客户端发起的udp业务对应的一个数据包,第二udp业务数据包缓存在缓存空间中,缓存空间由基站针对udp业务预先配置,缓存空间的大小由基站根据与客户端之间的下行网络质量确定。

具体的,本发明实施例中,客户端10可以向服务器03发送业务请求;服务器03在接收到该业务请求后,向基站发送该业务请求对应的数据包;基站在接收到该数据包后,根据该数据包判断该数据包是否为udp业务数据包。

示例性的,基站可以解析接收到的数据包报头的协议字段,若协议字段等于17,基站则确定该数据包为udp业务数据包。

示例性的,本发明实施例中,基站可以为udp业务预先配置缓存空间,以缓存udp业务数据包。具体的,本发明实施例中,结合图3,如图4所示,在上述s301之前,本申请实施例提供的udp业务的拥塞控制方法还可以包括s401:

s401、基站根据与客户端之间的下行网络质量,采用预设的公式计算得到缓存空间的大小。

其中,预设的公式为c=c0+c1*(a-cqi);其中,c为缓存空间的大小;c0为udp业务对应的平均缓存大小;c1为缓存偏移量;cqi为基站与客户端之间的下行网络质量;a为平均cqi,或者a由基站预先配置,或者a由基站计算得到。

其中,c1的大小可根据基站整体缓存大小设定,若基站缓存空间较大,c1可以设置的较大,若基站缓存空间较小,c1则可以设置的较小,但c1的设置应该保障c>0且c不可过小,以免基站缓存数据过于容易溢出;cqi是信道质量指示、用于由客户端向基站反馈下行网络质量的情况;a的设置与平均cqi相一致,若平均cqi较高,a也可以设置的较高。

示例性的,基站可以在接收到服务器发送的数据包,并判断该数据包为udp业务数据包(如第二udp业务数据包)后,根据与与客户端之间的下行网络质量,采用预设的公式计算得到缓存空间的大小,并将第二udp业务数据包缓存在该缓存空间中。

s302、若缓存空间已被占满,基站则丢弃第一udp业务数据包,并向服务器发送拥塞消息。

其中,基站在接收到服务器发送的udp业务对应的一个数据包(即第二udp业务数据包)后,将该第二udp业务数据包缓存在缓存空间中;然后基站再次接收到服务器发送的udp业务对应的一个数据包(即第一udp业务数据包),当缓存空间已被占满(即缓存空间缓存的数据包的大小等于或者大于缓存空间的大小)时,基站则丢弃第一udp业务数据包,并向服务器发送拥塞消息,以使得服务器获知拥塞已经发生,从而使得服务器不再通过基站向客户端发送udp业务数据或者调整发送的udp业务数据。

例如,假设udp业务为客户端10发起的视频业务。服务器03接收到拥塞消息(获知拥塞已经发生)后,不再向基站02发送视频数据,从而使得基站02也不向客户端10发送视频数据;或者,服务器03向基站02发送更低码率的视频数据,使得基站将更低码率的视频数据传输至客户端10。

示例性的,本发明实施例中的拥塞消息中可以包含有目的ip地址和目的端口号信息。例如,客户端a发起的udp业务为udp业务1,客户端a的服务器为服务器a,基站向服务器a发送的拥塞消息中包含有服务器a的ip地址和端口号信息。

示例性的,本发明实施例中的拥塞消息可以是协议规定的格式,例如基站可以向服务器发送icmp端口不可达差错消息,该icmp端口不可达差错消息中携带有拥塞消息;或者,拥塞消息的格式也可以由基站与服务器预先约定。

当然,当缓存空间未被占满(即缓存空间缓存的数据包的大小小于缓存空间的大小)时,基站可以将第一udp业务数据包缓存在缓存空间中。具体的,本发明实施例中,结合图3,如图5所示,上述s302可以替换为s501:

s501、若缓存空间未被占满,基站则在缓存空间中缓存第一udp业务数据包。

需要说明的是,本发明实施例中,基站也可以针对终端01的所有udp业务配置同一个缓存空间,以缓存该终端01的每个udp业务对应的udp业务数据包。

例如,终端01的客户端a发起的udp业务为udp业务1,客户端a的服务器为服务器a,终端01的客户端b发起的udp业务为udp业务2,客户端b的服务器为服务器b,基站可以针对udp业务1和udp业务2配置一个缓存空间,以缓存udp业务1对应的udp业务数据包和udp业务2对应的udp业务数据包。

本发明实施例提供一种udp业务的拥塞控制方法,基站可以根据与客户端之间的下行网络质量,为udp业务确定缓存空间,并在该缓存空间已被占满时,丢弃第一udp业务数据包,并向服务器发送拥塞消息。由于当缓存空间已被占满时,基站会丢弃第一udp业务数据包,并向服务器发送拥塞消息,使得服务器不再通过基站向客户端发送udp业务数据或者调整发送的udp业务数据,实现了udp业务的拥塞控制;并且,由于缓存空间是由基站基于与客户端之间的下行网络质量为udp业务配置的,因此可以降低由于下行网络质量较差导致的udp业务数据包的丢包率,从而提高数据传输的可靠性。

上述主要从基站的角度对本发明实施例提供的方案进行了介绍。可以理解的是,基站为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的基站及算法步骤,本发明能够以硬件,或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本发明实施例可以根据上述方法示例对基站进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本发明实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图6示出了上述和实施例中涉及的基站的一种可能的结构示意图,如图6所示,该基站600可以包括:接收单元601、丢弃单元602和发送单元603。

其中,接收单元601用于支持上述实施例中的s301,和/或用于本文所描述的技术的其它过程。丢弃单元602用于支持上述实施例中的s302,和/或用于本文所描述的技术的其它过程。发送单元603用于支持上述实施例中的s302,和/或用于本文所描述的技术的其它过程。

进一步的,如图7,所示,图6所示的基站600还可以包括:缓存单元604和计算单元605。

其中,缓存单元604用于支持上述实施例中的s501,和/或用于本文所描述的技术的其它过程。计算单元605用于支持上述实施例中的s401,和/或用于本文所描述的技术的其它过程。

在采用集成的单元的情况下,上述丢弃单元602、缓存单元604和计算单元605等可以集成在一个处理模块中实现,例如该处理模块可以是图2所示的基站02中的21部分。接收单元601和发送单元603可以集成在一个通信模块中实现,例如该通信模块可以是图2所示的基站02中的20部分。

本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在一个基站上运行时,使得该基站执行图3-5中任一附图中的相关方法步骤。

其中,本发明实施例提供的基站600中各个模块的详细描述以及各个模块或单元执行图3-5中任一附图中的相关方法步骤后所带来的技术效果可以参考本发明方法实施例中的相关描述,此处不再赘述。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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