专利名称::主动队列管理方法、装置和无线网络控制器的制作方法
技术领域:
:本发明涉及通信
技术领域:
,特别涉及主动队列管理技术。
背景技术:
:传输控制协议(TransmitControlProtocol,TCP)是一种用于保障通信系统数据业务的可靠性的协议。当TCP应用于宽带码分多址(WidebandCodeDivisionMultipleAccess,WCDMA)等类似的网络系统中时,一个无线承载(RadioBearer,RB)可以同时使用多个TCP连接,数据包在经过无线网络控制器(RadioNetworkController,RNC)转发前会进入缓存进行缓冲,多个TCP连接的数据包进入缓存后,可能在缓存中积压,从而导致很大的排队时延,还可能出现诸如同步数据包超时、网页访问的交互性差、链路效率下降等问题。这时会采取丢弃一部分数据包来缓解缓存中数据包的积压。现有的丢弃一部分数据包的方法可以称为主动队列管理(ActiveQueueManagement,AQM)方案。AQM方案为当需要丢包时,丢弃队尾的数据包或丢弃队头的数据包。然而,由于现有AQM方案丢弃部分数据包的方法中,按照队列顺序进行丢弃,而不对数据包进行区分,某些情况下可能导致重要数据包丢失。
发明内容本发明实施例提供了一种主动队列管理方法、装置和无线网络控制器,从而可以在丢包处理时,实现有选择地丢包。本发明实施例提供的主动队列管理方法主要包括当达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;当判断出缓存拥塞时,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在所述第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;根据获取的优先级或者数据包的类型进行丢包。本发明实施例提供的主动队列管理装置主要包括判断模块,用于在达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;获取模块,用于在所述判断模块判断缓存拥塞时,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;丢包模块,用于根据所述获取模块获取的数据包的类型或优先级进行丢包。本发明实施例还提供了一种无线网络控制器,包括上述的主动队列管理装置。本发明实施例提供的主动队列管理方法、装置和无线网络控制器,通过获取缓存中的数据包的类型或者优先级,在需要丢包时,进行有选择地丢包,进一步地能够降低重要业务数据包被丢失的可能性或者减低对数据链路的影响,提高用户感受度。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的主动队列管理方法示意图;图2为本发明另一实施例提供的主动队列管理方法示意图;图3为本发明实施例中互联网协议版本六报文头结构示意图;图4为本发明再一实施例提供的主动队列管理方法示意图;图5为本发明一实施例提供的主动队列管理装置结构示意图;图6为本发明另一实施例提供的主动队列管理装置结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明一实施例提供的一种主动队列管理方法,该方法可以包括S101,当达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;在主动队列管理时,丢包间隔可以理解为对缓冲队列进行丢包处理的频度,丢包间隔越小,丢包的密度越大,当达到丢包间隔时,判断层二(对于宽带码分多址接入系统中,可以是无线链路控制层)的缓存是否拥塞,判断缓存拥塞的方法可以是将缓存占用量与预设的拥塞门限比较,例如如果缓存占用量大于或等于预设的拥塞门限,可以认为此时缓存拥塞,执行S102。其中,此处的缓存占用量可以是获取的缓冲队列的长度或者其他表示缓存占用量的方式,而对于不同的表示缓存占用量的方式,其各个门限的取值和/或表示方式可能有所不同。S102,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在所述第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;当缓存占用量达到预设的拥塞门限,表示缓存已经处于拥塞状态,则需要进行丢包处理。本实施例中,在进行丢包处理时,可以获取接收的第一数据包的类型或者优先级与在所述第一数据包之前和/或之后接收的若干个数据包的类型或者优先级,也就是区分出数据包的类型或者优先级,以便在后续步骤中,可以进行有选择地丢包。可以通过解析数据包报头中的相关字段获取数据包的类型或者优先级的方式,例如对于互联网协议版本六(Ipv6),可以直接通过其报文中的优先级字段解析得到优先级,对于其他协议(例如Ipv4),可以通过解析报头中的协议字段以及报头中的标志字段等字段,获知数据包的类型,而根据数据包类型,可以进一步或者数据包的优先级,例如,TCP数据包的优先级低于用户数据报协议(UserDatagramProtocol,UDP)数据包的优先级。S103,根据获取的优先级或者数据包的类型进行丢包。该步骤中,丢包的方式可以包括如果在第一数据包与其之前和/或之后接收的若干个数据包之中,存在TCP数据包和非TCP数据包,只丢弃TCP数据包;或者,丢弃低优先级的数据包等等,将在本发明后续实施例中详细描述。本发明实施例的方法,通过获取缓存中的数据包的类型或者优先级,在需要丢包时,进行有选择地丢包,进一步地能够降低重要业务数据包被丢失的可能性或者减低对数据链路的影响,,可以提高用户的感受度。进一步地,本发明实施例中,还可以根据达到丢包间隔时的缓存占用量调整丢包间隔,在调整丢包间隔时,可以根据不同情况,设置不同的丢包强度,也就是不同长度的丢包间隔。例如如果缓存占用量大于预设的拥塞门限且小于预设的目标门限,将丢包间隔增大第一步长,如果缓存占用量大于预设的目标门限且小于预设的最大门限,将丢包间隔减小第二步长;如果缓存占用量大于预设的最大门限,将丢包间隔减小第三步长;如果缓存占用量小于预设的拥塞门限,将丢包间隔增大第四步长。此处,第一步长《第二步长《第三步长,而各个步长可以根据实际需要设定。需要说明的是,拥塞门限<目标门限<最大门限,而在不同的场景和协议中,各个门限的取值可能会有所不同,本发明实施例不做限定。通过对丢包间隔的调整,可以控制缓存队列长度,从而防止触发由网络拥塞所导致的慢启动。此外,本发明实施例中,为了防止带宽受限,还可以根据获取的无线链路控制(RadioLinkControl,RLC)层的数据传输速率调整预设的拥塞门限。一般情况下,拥塞门限、目标门限、最大门限之间可以设置为固定的系数关系,拥塞门限的调整也就意味着目标门限、最大门限的调整。而根据RLC层的数据传输速率调整预设的拥塞门限的方式可以为数据传输速率越高,拥塞门限越高,例如可以将400Kbps对应的拥塞门限调整为100Kbytes,则可以将1500Kbps的拥塞门限调整为20Kbytes,而拥塞门限的初始值可以根据最大比特速率(MaxBitRate,MBR)来配置。通过解析数据包可以直接或间接地获取缓存中的数据包的优先级信息,例如可以根据数据包的优先级字段直接获知数据包的优先级,也可以根获取的数据包的类型确定出数据包的优先级,比如,可以将TCP数据包确定为优先级最低的数据包,用户数据报协议(UserDatagramProtocol,UDP)数据包的优先级高于TCP数据包等等。本实施例将以互联网协议版本六(InternetProtocolversion6,IPv6)场景下的主动队列管理为例进行说明,如图2所示,本发明另一实施例提供了一种主动队列管理方法,该方法可以包括S201,判断是否达到丢包间隔;如果达到丢包间隔,执行S202;否则,继续等待。S202:判断缓存占用量是否达到预设的拥塞门限;如果数据包是缓存在PDCP层的话,可以根据PDCP层的缓存占用量判断是否拥塞,具体可以参照图l所示实施例中的相关描述,此处不再赘述。如果缓存占用量达到预设的拥塞门限,则可以认为此时拥塞,需要进行丢包处理,即执行S203。S203:解析达到丢包间隔时接收的第一数据包及其之前和/或之后到达的若干个数据包的优先级字段,得到数据包的优先级;此处的若干个可以是任意数目,例如一个,两个等等。可以获取达到丢包间隔时接收的第一数据包及其之后到达的若干个数据包的优先级,也可以获取到达丢包间隔时接收的第一数据包及其之前到达的若干个数据包的优先级,或者,也可以获取到达丢包间隔时接收的第一数据包及其之前和之前到达的若干个数据包的优先级。可以根据协议的不同以及实际情况的需要采取不同的方式。对于互联网协议版本六(InternetProtocolversion6,IPv6)等类似的协议而言,数据包会在分组数据会聚协议(PacketDataConvergenceProtocol,PDCP)层进行缓存,可以将缓存在PDCP层的数据包称为缓存,并且其报文中可以存在表示数据包优先级的字段。因此可以通过解析数据包的优先级字段,得到上述数据包的优先级。其中,IPv6协议下的数据包报文头格式可以如图3所示,包括版本(4位),优先级字段(8位),流标签(20位),净荷长度(16位),下一个首部(8位),跳极限(8位),原地址(128位),目的地址(128位),扩展首部,数据(净荷)。而优先级字段的内容可以如表1所示表l:优先级字段的内容<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>由表1可知,IPv6对于不同的业务类型,定义了不同的优先级。优先级数值越大表示优先级越高。其中,优先级为0-7的数据包是TCP数据包,优先级8-15的数据包为UDP数据包。可以理解的是,上述IPv6只是具有优先级字段的一种协议的举例,其他具有优先级字段的协议也可以通过获取其优先级字段来得到数据包的优先级,不同的场景下,对于不同类型的业务其定义的优先级可能也有所不同,对此本发明实施例不予限定。本实施例中,可以在PDCP头压縮前获取缓存中的数据包的优先级字段。此外,也可以在其他的时刻获取缓存中的数据包的优先级字段,对此本发明实施例不予限定。S204,根据得到的数据包的优先级进行丢包;如前所述,对于IPv6,可以根据其优先级字段获取数据包的优先级,而从表1中可知,如果丢弃某些数据包(如优先级12-15的数据包)的话,产生的影响较大或很大,可以考虑不丢弃,而只丢弃其他优先级的数据包。在根据优先级丢弃数据包时,可以将当前数据包和在该当前数据包之前和/或之后到达缓存的若干个数据包进行比较,丢弃低优先级的数据包。例如,可以丢弃优先级最低的非单线程下载的TCP数据包,而当没有TCP数据包时,可以以丢弃优先级低于预设的优先级门限的UDP数据包,例如优先级低于11的UDP数据包,其中优先级较低的UDP可能是在UDP通信过程中发送的冗余包,而将这些冗余包丢弃后,对业务的影响不大,对用户感受度的影响也不是很明显。S205,根据缓存占用量调整丢包间隔;该步骤中,具体的调整丢包间隔的方式可以参考前述实施例的相关描述,此处不再赘述。S206,根据RLC层的数据传输速率调整拥塞门限。该步骤中,具体的调整拥塞门限的方式可以参考前述实施例的相关描述,此处不再赘述。需要说明的是,S205与S206的执行顺序不分先后,两者之间没有直接联系,而S205和S206可以在S203之前或者与S203同时执行,也可以在S204之前或者与S204同时执行,本实施例对此不做限定。上述实施例中,按照数据包的优先级来丢弃数据包,从而可以保证丢弃的数据包为低优先级的数据包,能够降低重要业务数据包被丢失的可能性,进一步地,可以提高用户感受度。此外,丢弃数据包时,也可以直接根据数据包的类型进行丢包处理,如图4所示,本发明再一实施例提供了一种主动队列管理方法,该方法可以包括S401,判断是否达到丢包间隔;如果达到丢包间隔,执行S402;否则,继续等待。S402:判断缓存占用量是否达到预设的拥塞门限;此步骤中,对缓存占用量的判断可以参照图l所示实施例中的相关描述,此处不再赘述。如果缓存占用量达到预设的拥塞门限,则可以认为此时拥塞,需要进行丢包处理,即执行S403。S403,获取达到丢包间隔时接收的数据包及其之前和/或之后到达的若干个数据包的类型;通过解析数据包可以获取数据包的类型,例如,对于Ipv4协议中,可以通过解析报头中的协议字段以及报头中的标志字段等字段,获知数据包的类型。可以获取达到丢包间隔时接收的第一数据包及其之后到达的若干个数据包的类型,也可以获取到达丢包间隔时接收的第一数据包及其之前到达的若干个数据包的类型,或者,也可以获取到达丢包间隔时接收的第一数据包及其之前和之前到达的若干个数据包的类型。可以根据协议的不同以及实际情况的需要采取不同的方式。需要说明的是,该步骤中,可以由进行业务识别的模块或者TPE模块等可以对数据包解析的模块获取数据包的类型;获取的数据包类型可以包括TCP、非TCP等等,而非TCP类型的数据包包括但不限于TCP确认包、捎带包、SYN(Synchronize,同步)包、FIN(Finish,结束)包、RST(Reset,复位)包,UDP包。S404,根据获取的数据包的类型进行丢包;该步骤中,在丢包时可以限制丢包的类型,例如,只丢弃TCP数据包。而进一步地,为了避免对单线程的TCP数据包造成影响而带来负增益,在只丢弃TCP数据包时,可以根据TCP的连接情况做出进一步区分,例如,当TCP的连接数目为1时,表示此时为单线程数据传输,可以不丢弃,;当TCP的连接数目为2且数据传输方向相反时,表示上、下行在同时传输,此时可以不丢弃;而对于TCP连接数等于2且数传方向相同或者TCP连接数大于2的情况,可以将TCP数据包丢弃。而限制不丢弃TCP确认包可以避免对上传业务产生负增益,不丢弃SYN、FIN、RST包,可以避免对TCP建链及拆链产生影响。同样地,本实施例中也可以根据缓存占用量对丢包间隔进行调整,以及根据RLC层的数据传输速率对拥塞门限进行调整,调整的方式与前述实施例类似,此处不再赘述。本实施例中的方法,根据数据包的类型进行丢包,对丢弃的数据包的类型进行限制,从而可以避免丢弃某些数据包对数据传输性能或者对于数据传输链路产生的影响。本发明一实施例还提供了一种主动队列管理装置,如图5所示,该装置可以包括判断模块501,用于在达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;获取模块502,用于在判断模块501判断缓存拥塞时,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;丢包模块503,用于根据获取模块502获取的数据包的类型或优先级进行丢包。具体地,丢包模块503进行丢包的方式可以包括如果在第一数据包与其之前和/或之后接收的若干个数据包之中,存在TCP数据包和非TCP数据包,只丢弃TCP数据包;或者,丢弃低优先级的数据包等等。对于如Ipv4等协议中,无法直接获取数据包的优先级,可以通过解析报头中的协议字段以及报头中的标志字段等字段,获知数据包的类型。获取的数据包类型可以包括TCP、非TCP等等,而非TCP类型的数据包包括但不限于TCP确认包、捎带包、SYN包、FIN包、RST包,UDP包。则丢包模块503可以直接根据获取模块获取的数据包的类型进行丢包。在丢包时可以限制丢包的类型,例如,只丢弃TCP数据包。而进一步地,为了避免对单线程的TCP数据包造成影响而带来负增益,在只丢弃TCP数据包时,可以根据TCP的连接情况做出进一步区分,例如,当TCP的连接数目为1时,表示此时为单线程数据传输,可以不丢弃,;当TCP的连接数目为2且数据传输方向相反时,表示上、下行在同时传输,此时可以不丢弃;而对于TCP连接数等于2且数传方向相同或者TCP连接数大于2的情况,可以将TCP数据包丢弃。而限制不丢弃TCP确认包可以避免对上传业务产生负增益,不丢弃SYN、FIN、RST包,可以避免对TCP建链及拆链产生影响。本实施例的主动队列管理装置中各个模块的执行处理过程可以参考图1或者图2或者图4实施例中的相关描述,此处不再赘述。本发明实施例的装置,通过获取缓存中的数据包的类型或者优先级,在需要丢包时,进行有选择地丢包,进一步地能够降低重要业务数据包被丢失的可能性或者减低对数据链路的影响,,可以提高用户的感受度。进一步地,为了防止触发由网络拥塞所导致的慢启动,该主动队列管理装置还可以包括丢包间隔调整模块,用于根据达到丢包间隔时的缓存占用量调整丢包间隔。丢包间隔调整模块对丢包间隔调整的方式可以参考前述方法实施例处的相关描述,此处不再赘述。此外,为了防止带宽受限,该主动队列管理装置还可以包括拥塞门限调整模块,根据获取的RLC层的数据传输速率调整预设的拥塞门限。一般情况下,拥塞门限、目标门限、最大门限之间可以设置为固定的系数关系,拥塞门限的调整也就意味着目标门限、最大门限的调整。而拥塞门限调整模块对拥塞门限调整的具体方式可以参考前述方法实施例处的相关描述,此处不再赘述。需要说明的是,本实施例中丢包间隔调整模块和拥塞门限调整模块可以同时存在,也可以各自单独存在。通过解析数据包可以直接或间接地获取缓存中的数据包的优先级信息,可以将获取的优先级信息比较后进行丢包处理,其中,可以通过解析数据包的优先级字段直接获取数据包的优先级信息,如图6所示,本发明另一实施例还提供了一种主动队列管理装置,该装置可以包括判断模块601,获取模块602,丢包模块603;其中判断模块601可以包括第一判断子模块6011,用于判断是否达到丢包间隔;如果没有达到丢包间隔,继续等待。第二判断子模块6012,用于在第一判断子模块6011判断出达到丢包间隔时,判断缓存占用量是否达到预设的拥塞门限;如果缓存占用量达到预设的拥塞门限,则可以认为此时拥塞,需要进行丢包处理。获取模块602可以用于解析达到丢包间隔时接收的数据包及其之前和/或之后到达的若干个数据包的优先级字段,得到数据包的优先级;或者,获取模块602可以包括第一获取子模块,用于解析达到丢包间隔时接收的数据包及其之前和/或之后到达的若干个数据包,得到数据包的类型;排序子模块,用于根据第一获取子模块获取得到的数据包的类型,对数据包的优先级进行排序,从而得到各数据包的优先级。此处的若干个可以是任意数目,例如一个,两个等等。对于IPv6等类似的协议而言,数据包会在PDCP层进行缓存,可以将缓存在PDCP层的数据包称为缓存,并且其报文中可以存在表示数据包优先级的字段。因此可以通过解析数据包的优先级字段,得到上述数据包的优先级。对于IPv6协议下数据包的报文头格式可以参考图3描述,而对于优先级字段的内容可以参考表1所示,此处不再赘述。而丢包模块603根据获取模块602的获取的优先级进行丢包。在根据优先级丢弃数据包时,可以将当前数据包和在该当前数据包之前和/或之后到达缓存的若干个数据包进行比较,丢弃低优先级的数据包。例如,可以丢弃优先级最低的非单线程下载的TCP数据包,而当没有TCP数据包时,可以以丢弃优先级低于预设的优先级门限的UDP数据包。具体可以参考图2所示实施例中的相关描述,此处不再赘述。需要说明的是,本实施例中的主动队列管理装置也可以丢包间隔调整模块和拥塞门限调整模块,其基本功能和存在方式与前述实施例中的描述基本相同,此处不再赘述。本发明一实施例还提供了一种无线网络控制器,该无线网络控制器可以包括图5或图6实施例所示的任意一种主动队列管理装置。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个......"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明实施例所提供的一种主动队列管理方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求一种主动队列管理方法,其特征在于,包括当达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;当判断出缓存拥塞时,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在所述第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;根据获取的优先级或者数据包的类型进行丢包。2.根据权利要求1所述的方法,其特征在于,根据数据包的优先级字段获取所述第一数据包或者所述第一数据包之前和/或之后接收的若干个数据包的优先级;或者,根据数据包的类型对所述数据包的优先级进行排序。3.根据权利要求2所述的方法,其特征在于,所述根据数据包的优先级字段获取所述第一数据包或者所述第一数据包之前和/或之后接收的若干个数据包的优先级之前包括在分组数据会聚协议头压縮前获取数据包的优先级字段。4.根据权利要求2-3任一项所述的方法,其特征在于,所述根据获取的优先级或者数据包的类型进行丢包包括丢弃低优先级的数据包。5.根据权利要求4所述的方法,其特征在于,所述丢弃低优先级的数据包包括如果在第一数据包与在所述第一数据包之前和/或之后接收的若干个数据包中存在至少一个传输控制协议(TCP)数据包,丢弃优先级的最低的非单线程下载的TCP数据包;如果在第一数据包与在所述第一数据包之前和/或之后接收的若干个数据包中不存在TCP数据包,丢弃优先级低于预设的优先级门限的用户数据报协议(UDP)数据包。6.根据权利要求1所述的方法,其特征在于,所述根据获取的优先级或者数据包的类型进行丢包包括只丢弃TCP数据包。7.根据权利要求6所述的方法,其特征在于,所述只丢弃TCP数据包包括只丢弃单线程下载的TCP数据包。8.根据权利要求2所述的方法,其特征在于,所述方法还进一步包括根据获取的无线链路控制(RLC)层数据传输速率调整所述预设的拥塞门限。9.根据权利要求1所述的方法,其特征在于,所述方法还进一步包括根据所述缓存占用量调整所述丢包间隔如果所述缓存占用量大于所述预设的拥塞门限且小于预设的目标门限,将所述丢包间隔增大第一步长,如果所述缓存占用量大于所述预设的目标门限且小于预设的最大门限,将所述丢包间隔减小第二步长;如果所述缓存占用量大于所述预设的最大门限,将所述丢包间隔减小第三步长;如果所述缓存占用量小于所述预设的拥塞门限,将所述丢包间隔增大第四步长。10.根据权利要求l-4任一项所述的方法,其特征在于,所述方法应用在互联网协议版本六中。11.一种主动队列管理装置,其特征在于,所述装置包括判断模块,用于在达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;获取模块,用于在所述判断模块判断缓存拥塞时,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;丢包模块,用于根据所述获取模块获取的数据包的类型或优先级进行丢包。12.如权利要求12所述的装置,其特征在于,所述判断模块包括第一判断子模块,用于判断是否达到丢包间隔;第二判断子模块,用于在所述第一判断子模块判断出达到丢包间隔时,判断缓存占用量是否达到预设的拥塞门限。13.如权利要求12所述的装置,其特征在于,所述获取模块通过解析达到丢包间隔时接收的数据包及其之前和/或之后到达的若干个数据包的优先级字段,获取数据包的优先级;或者,所述获取模块包括第一获取子模块,用于解析达到丢包间隔时接收的数据包及其之前和/或之后到达的若干个数据包,得到数据包的类型;排序子模块,用于根据所述第一获取子模块获取得到的数据包的类型,对数据包的优先级进行排序。14.如权利要求12-14任一项所述的装置,其特征在于,所述主动队列管理装置还包括丢包间隔调整模块,用于根据达到丢包间隔时的缓存占用量调整丢包间隔;和/或,拥塞门限调整模块,根据获取的无线链路控制层的数据传输速率调整预设的拥塞门限。15.—种无线网络控制器,其特征在于,所述无线网络控制器包括如权利要求12-15任一项所述的主动队列管理装置。全文摘要本发明实施例公开了一种主动队列管理方法,该主动队列管理方法主要包括当达到丢包间隔时,将缓存占用量与预设的拥塞门限比较,判断缓存是否拥塞;当判断出缓存拥塞时,获取达到丢包间隔时的接收的第一数据包的类型或者优先级与在第一数据包之前和/或之后接收的若干个数据包的类型或者优先级;根据获取的优先级或者数据包的类型进行丢包。本发明实施例还公开了主动队列管理的装置和无线网络控制器。通过本发明实施例的方案,可以实现有选择地丢包。文档编号H04L1/00GK101753440SQ20091018921公开日2010年6月23日申请日期2009年12月18日优先权日2009年12月18日发明者廖军华,张岩强,王宏伟,芦岩,谢胜琳,赵方明申请人:华为技术有限公司