发明内容
基于此,有必要针对上述技术问题,提供一种能够优先处理低时延业务,满足低时延业务的QoS要求的低时延数据处理方法、装置及系统。
为了实现上述目的,一方面,本发明实施例提供了一种从CPU角度实施的低时延数据处理方法,包括步骤:
接收交换机传输的总数据流,对总数据流进行软交换,得到各终端数据流;总数据流包括各业务数据流;业务数据流由网络侧数据经交换机依据业务优先级进行流分类得到;业务优先级中高优先级业务包括低时延业务;
对终端数据流进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上;并依据映射的结果进行终端数据流的空口资源分配;
直至空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送。
在其中一个实施例中,业务数据流由网络侧数据经交换机依据服务类别和业务优先级进行流分类得到;
服务类别包括以下类别中的任意一种或任意组合:UGS业务、RTPS业务、NRTPS业务和BE业务;其中,UGS业务包含低时延业务;
业务优先级的优先级顺序由高到低依次为:UGS业务、RTPS业务、NRTPS业务和BE业务;
映射的结果包括UGS队列、RTPS队列、NRTPS队列和BE队列。
在其中一个实施例中,依据映射的结果进行终端数据流的空口资源分配的步骤包括:
优先对UGS队列分配固定长度的时隙资源;
按照业务优先级的优先级顺序,依次为RTPS队列、NRTPS队列和BE队列分配除固定长度的时隙资源外剩余的时隙资源。
在其中一个实施例中,还包括步骤:
按照终端优先级的优先级顺序,依次对各终端数据流进行空口资源分配。
在其中一个实施例中,直至空口资源分配完毕时、取数据组空口数据帧的步骤中:
按照业务优先级的次序取数据进行组包,得到MAC包;
对MAC包进行组包,得到空口数据帧;其中,将业务优先级中高优先级业务对应的数据、优先放入空口数据帧的下行业务信道中。
在其中一个实施例中,对终端数据流进行QoS队列管理,得到各QoS队列的步骤包括:
基于配置信息,根据终端数据流生成预设个数的优先级队列;
对优先级队列进行队列调度和拥塞避免,得到QoS队列。
另一方面,本发明实施例还提供了一种从交换机角度实施的低时延数据处理方法,包括步骤:
接收网络侧数据;
依据业务优先级对网络侧数据进行流分类,得到各业务数据流;业务优先级中高优先级业务包括低时延业务;
将包含各业务数据流的总数据流传输给CPU;
总数据流用于指示CPU在终端数据流的空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送;终端数据流为CPU对总数据流进行软交换得到;终端数据流用于指示CPU进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上,并依据映射的结果进行终端数据流的空口资源分配。
在其中一个实施例中,依据业务优先级对网络侧数据进行流分类,得到各业务数据流的步骤包括:
根据服务类别和业务优先级,对网络侧数据进行流分类,得到各业务数据流;
服务类别包括以下类别中的任意一种或任意组合:UGS业务、RTPS业务、NRTPS业务和BE业务;其中,UGS业务包含低时延业务;
业务优先级的优先级顺序由高到低依次为:UGS业务、RTPS业务、NRTPS业务和BE业务。
一种从CPU角度实施的低时延数据处理装置,包括:
软交换模块,用于接收交换机传输的总数据流,对总数据流进行软交换,得到各终端数据流;总数据流包括各业务数据流;业务数据流由网络侧数据经交换机依据业务优先级进行流分类得到;业务优先级中高优先级业务包括低时延业务;
队列映射模块,用于对终端数据流进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上;
资源分配模块,用于依据映射的结果进行终端数据流的空口资源分配;
空口帧组帧模块,用于直至空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送。
一种从交换机角度实施的低时延数据处理装置,,包括:
接收模块,用于接收网络侧数据;
流分类模块,用于依据业务优先级对网络侧数据进行流分类,得到各业务数据流;业务优先级中高优先级业务包括低时延业务;
传输模块,用于将包含各业务数据流的总数据流传输给CPU;
总数据流用于指示CPU在终端数据流的空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送;终端数据流为CPU对总数据流进行软交换得到;终端数据流用于指示CPU进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上,并依据映射的结果进行终端数据流的空口资源分配。
一种低时延数据处理系统,包括CPU和连接CPU的交换机;CPU用于通过空口连接各终端;交换机通过以太网接口接收网络侧数据;
CPU用于执行上述任一项从CPU角度实施的低时延数据处理方法的步骤;
交换机用于执行上述任一项从交换机角度实施的低时延数据处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
本申请通过识别业务数据流,为不同的业务流分配不同的优先级;同时根据业务流的优先级,依次为各类型的业务分配空口资源,优先级高的数据会优先得到空口资源,从而优先处理低时延业务数据,保证低时延;本申请能够自动识别业务数据流的优先级,通过为低时延业务优先分配空口资源,有效降低低时延业务时延。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的低时延数据处理方法,可以应用于如图1所示的应用环境中,涉及到业务数据流识别、分类,空口协议数据处理,以及空口资源分配等。图1中,AP(AccessPoint,访问接入点),RT(Remote Terminal,远程终端),LAN(Local Area Network,局域网)等英文缩写为本领域常规技术术语,部分未注明的元器件也能够采用本领域相应的手段予以实现。具体的,本申请可应用于基于无线点对多点(PTMP,point-to-multipointconnection)传输系统。
在一个实施例中,如图2所示,提供了一种低时延数据处理方法,以该方法应用于CPU(Central Processing Unit,中央处理器)为例进行说明,包括以下步骤:
步骤202,接收交换机传输的总数据流,对总数据流进行软交换,得到各终端数据流。
其中,总数据流包括各业务数据流;业务数据流由网络侧数据经交换机依据业务优先级进行流分类得到;业务优先级中高优先级业务包括低时延业务。
具体地,交换机从网络侧接收数据,并对不同数据流进行分类;例如,按照服务类别(COS,class of service),可以分类为以下业务,具体包括主动授予服务业务(UGS,Unsolicited Grant Service)、实时轮询业务(RTPS,Real Time Polling Service)、非实时轮询业务(NRTPS,Not Real Time Polling Service),以及尽力而为业务(BE,BestEffect)。进一步的,本申请中的业务优先级,从高到低可以依次为:UGS、RTPS、NRTPS、BE。其中,低时延业务可以被分类为UGS业务。
又如,在交换机侧实现上述流分类功能,可针对所有从以太网口进入设备的数据进行自定义流分类。同时,可依据实际需要进行业务优先级的划分,并将低时延业务划归为高优先级。本申请能够自动识别业务数据流的优先级。
在一个具体实施例中,业务数据流由网络侧数据经交换机依据服务类别和业务优先级进行流分类得到;
服务类别包括以下类别中的任意一种或任意组合:UGS业务、RTPS业务、NRTPS业务和BE业务;其中,UGS业务包含低时延业务;业务优先级的优先级顺序由高到低依次为:UGS业务、RTPS业务、NRTPS业务和BE业务。
进一步的,交换机将从不同端口进入的所有数据,形成一个数据流进入到CPU,由CPU实现软交换功能(即数据软交换),进而形成不同终端的数据流(即各终端数据流)。在一个具体的示例中,交换机将进行自定义流分类后的数据,形成一个总的数据流传输给CPU。由CPU对该总的数据流进行软交换处理,得到各终端数据流。
步骤204,对终端数据流进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上;并依据映射的结果进行终端数据流的空口资源分配。
具体而言,CPU对每个数据流进行QoS队列管理(即每个流内部的QoS管理),并完成每个空口数据流映射到4个空口调度QoS等级(即空口调度等级)。需要说明的是,空口调度QoS等级可对应前述的主动授予服务业务、实时轮询业务、非实时轮询业务和尽力而为业务。
在一个具体实施例中,对终端数据流进行QoS队列管理,得到各QoS队列的步骤包括:
基于配置信息,根据终端数据流生成预设个数的优先级队列;
对优先级队列进行队列调度和拥塞避免,得到QoS队列。
具体而言,本申请对每个流内部的QoS管理,可以将每个终端的数据流根据配置形成8个优先级队列,并存入8个队列的缓存中,并对该优先级队列进行队列管理,队列调度,拥塞避免功能。其中,数据流的种类远大于8种,将各数据流映射到优先级队列可以采用经验值,即8个,也可以是其他个数。
基于上述步骤,进而能够完成每个空口数据流映射到4个空口调度QoS等级的步骤,为后续的空口资源分配奠定基础,从而本申请可以保证低时延业务优先分配空口资源,降低低时延业务时延。
在一个具体的实施例中,依据映射的结果进行终端数据流的空口资源分配的步骤包括:
优先对UGS队列分配固定长度的时隙资源;
按照业务优先级的优先级顺序,依次为RTPS队列、NRTPS队列和BE队列分配除固定长度的时隙资源外剩余的时隙资源。
具体地,本申请提出根据业务流的优先级,依次为UGS,RTPS,NRTPS、BE类型的业务分配空口资源,优先级高的数据会优先得到空口资源。本申请通过识别低时延业务,对低时延业务进行优先处理,降低低时延业务的传输时延。
在一个具体的实施例中,还包括步骤:
按照终端优先级的优先级顺序,依次对各终端数据流进行空口资源分配。
具体而言,本申请可按照UGS>RTPS>NRTPS>BE的严格优先级进行,其中UGS为预分配方式,即静态分配,优先分配固定长度的时隙资源,剩余的时隙资源,其他三种按照优先级顺序分配,其中,不同RT之间的分配,按照RT优先级先后分配。进一步的,不同的RT可以通过网管预先设定成不同优先级。
步骤206,直至空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送。
具体而言,直至所有资源分配完毕,CPU可以进行空口数据帧的组建,并将空口数据帧经空口发送出去。
在一个具体的实施例中,直至空口资源分配完毕时、取数据组空口数据帧的步骤中:
按照业务优先级的次序取数据进行组包,得到MAC包;
对MAC包进行组包,得到空口数据帧;其中,将业务优先级中高优先级业务对应的数据、优先放入空口数据帧的下行业务信道中。
具体地,本申请提出按照业务优先级取数据进行组MAC(Media Access Control,媒体接入控制)包,再把MAC包组成空口帧(即空口数据帧),优先级高的数据压到空口帧的前面,经空口发送出去。其中,业务优先级可以为UGS>RTPS>NRTPS>BE。
例如,如图3所示,CPU组空口数据帧时,优先把优先级高的数据压到数据帧下行业务信道的前面。需要说明的是,下行业务信道中有很多TCH,优先把优先级高的数据放入到前面的TCH中。
上述从CPU角度实施的低时延数据处理方法中,本申请提出由交换机识别业务数据流,为不同业务流定义不同优先级;对数据进行处理时,优先处理低时延要求的业务数据;分配空口资源时,把分配给低时延业务的空口资源优先分配在空口帧的前面,使得低时延业务数据可以在空口优先发送。
本申请能够自动识别业务数据流的优先级;保证低时延业务优先分配空口资源,降低低时延业务时延;同时,保证低时延业务数据压到空口数据帧前面,降低低时延业务时延。
在一个实施例中,如图4所示,提供了一种低时延数据处理方法,以该方法应用于交换机为例进行说明,包括以下步骤:
步骤402,接收网络侧数据;
步骤404,依据业务优先级对网络侧数据进行流分类,得到各业务数据流;业务优先级中高优先级业务包括低时延业务;
步骤406,将包含各业务数据流的总数据流传输给CPU;
总数据流用于指示CPU在终端数据流的空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送;终端数据流为CPU对总数据流进行软交换得到;终端数据流用于指示CPU进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上,并依据映射的结果进行终端数据流的空口资源分配。
具体而言,上述从CPU角度实施的空口数据发送等步骤,可以参阅前文实施例中对步骤202~206的描述,此处不再赘述。
本申请中,交换机从网络侧接收数据(即网络侧的数据从以太网口进入交换机),然后由该交换机对不同数据流进行分类。
从交换机角度而言,依次通过Port tag端口打标签,Classifier流分类,在交换机侧实现该功能,针对所有从以太网口进入设备的数据进行自定义流分类;进一步的,交换机将进行自定义流分类后的数据,形成一个总的数据流传输给CPU。使得本申请能够自动识别业务数据流的优先级。
在其中一个实施例中,依据业务优先级对网络侧数据进行流分类,得到各业务数据流的步骤包括:
根据服务类别和业务优先级,对网络侧数据进行流分类,得到各业务数据流;
服务类别包括以下类别中的任意一种或任意组合:UGS业务、RTPS业务、NRTPS业务和BE业务;其中,UGS业务包含低时延业务;
业务优先级的优先级顺序由高到低依次为:UGS业务、RTPS业务、NRTPS业务和BE业务。
具体地,交换机从网络侧接收数据,并对不同数据流进行分类;例如,按照服务类别(COS,class of service),可以分类为以下业务,具体包括主动授予服务业务(UGS,Unsolicited Grant Service)、实时轮询业务(RTPS,Real Time Polling Service)、非实时轮询业务(NRTPS,Not Real Time Polling Service),以及尽力而为业务(BE,BestEffect)。进一步的,本申请中的业务优先级,从高到低可以依次为:UGS、RTPS、NRTPS、BE。其中,低时延业务可以被分类为UGS业务。
又如,在交换机侧实现上述流分类功能,可针对所有从以太网口进入设备的数据进行自定义流分类。同时,可依据实际需要进行业务优先级的划分,并将低时延业务划归为高优先级。本申请能够自动识别业务数据流的优先级。
以上,从交换机角度实施的低时延数据处理方法中,本申请通过识别业务数据流,为不同的业务流分配不同的优先级;同时由CPU根据业务流的优先级,依次为各类型的业务分配空口资源,优先级高的数据会优先得到空口资源,从而优先处理低时延业务数据,保证低时延;而分配空口资源时,把分配给低时延业务的空口资源优先分配在空口帧的前面,使得低时延业务数据可以在空口优先发送。
为了进一步阐述本申请的技术方案,下面结合一个具体的实例进行说明,如图5所示,提供了一种低时延数据处理方法,以该方法应用于CPU和交换机为例进行说明,包括以下步骤:
步骤[501],Port tag端口打标签,Classifier流分类,在交换机侧实现该功能,针对所有从以太网口进入设备的数据进行自定义流分类。
步骤[502],将从不同端口进入的所有数据,形成一个数据流进入到CPU,即交换机将进行自定义流分类后的数据,形成一个总的数据流传输给CPU。由CPU实现数据软交换,形成不同终端的数据流。
步骤[503],对每个数据流进行QoS队列管理(每个流内部的QoS管理,将每个终端的数据流根据配置形成8个优先级队列,并存入8个队列的缓存中,对该优先级队列进行队列管理,队列调度,拥塞避免功能),并完成每个空口数据流映射到4个空口调度QoS等级。在一个具体的示例中,本步骤的具体实现可以参阅图6。
需要说明的是,数据流的种类远大于8种,将数据流映射到8个优先级队列是一个经验值,也可以是其他个数。而空口调度QoS等级对应主动授予服务业务、实时轮询业务、非实时轮询业务以及尽力而为业务。
步骤[504],按照UGS>RTPS>NRTPS>BE的严格优先级进行,其中UGS为预分配方式,即静态分配,优先分配固定长度的时隙资源,剩余的时隙资源,其他三种按照优先级顺序分配,其中,不同RT之间的分配,按照RT优先级先后分配,直至所有资源分配完毕。其中,不同的RT可以通过网管预先设定成不同优先级。
步骤[505],按照业务优先级(例如,UGS>RTPS>NRTPS>BE)取数据进行组MAC包,再把MAC包组成空口帧,优先级高的数据压到空口帧的前面,经空口发送出去。
进一步的,上述各步骤的实现,可以参阅图6明确其详细过程。需要说明的是,图6中ETH-1、ETH-2…等,指的是Ethernet以太网,即各以太网口;SGMI I表示Serial GigabitMedia Independent Interface,即串行千兆位媒质独立接口,属于一种数据交换技术;Soft SW即soft switch,软交换,用于从一个SGMII中接收到的数据分离成不同RT(远程终端)的数据;Service Flow Classifilter表示服务流分类,与步骤[501]的流分类意义一样,只不过步骤[501]是针对某个ETH的流分类,此步骤是针对某个服务流的流分类;而SF表示Service Flow。
进一步的,本申请能够识别低时延业务,对低时延业务进行优先处理,降低低时延业务的传输时延,具体可以包括以下过程:
首先,从网络侧接收数据,对不同数据流进行分类,如主动授予服务业务、实时轮询业务、非实时轮询业务以及尽力而为业务。业务优先级从高到低为:UGS、RTPS、NRTPS、BE。低时延业务会被分类为UGS业务。
进一步的,根据业务流的优先级,依次为UGS,RTPS,NRTPS、BE类型的业务分配空口资源,优先级高的数据会优先得到空口资源。
最后,组空口数据帧时,优先把优先级高的数据压到数据帧下行业务信道的前面;其中,下行业务信道中有很多TCH,优先入到前面的TCH中。
本申请识别业务数据流,为不同业务流定义不同优先级;对数据进行处理时,优先处理低时延要求的业务数据;分配空口资源时,把分配给低时延业务的空口资源优先分配在空口帧的前面,使得低时延业务数据可以在空口优先发送。本申请能够自动识别业务数据流的优先级;保证低时延业务优先分配空口资源,降低低时延业务时延;保证低时延业务数据压到空口数据帧前面,降低低时延业务时延。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种从CPU角度实施的低时延数据处理装置,包括:
软交换模块710,用于接收交换机传输的总数据流,对总数据流进行软交换,得到各终端数据流;总数据流包括各业务数据流;业务数据流由网络侧数据经交换机依据业务优先级进行流分类得到;业务优先级中高优先级业务包括低时延业务;
队列映射模块720,用于对终端数据流进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上;
资源分配模块730,用于依据映射的结果进行终端数据流的空口资源分配;
空口帧组帧模块740,用于直至空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送。
关于从CPU角度实施的低时延数据处理装置的具体限定可以参见上文中对于从CPU角度实施的低时延数据处理的限定,在此不再赘述。上述从CPU角度实施的低时延数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图8所示,提供了一种从交换机角度实施的低时延数据处理装置,包括:
接收模块810,用于接收网络侧数据;
流分类模块820,用于依据业务优先级对网络侧数据进行流分类,得到各业务数据流;业务优先级中高优先级业务包括低时延业务;
传输模块830,用于将包含各业务数据流的总数据流传输给CPU;
总数据流用于指示CPU在终端数据流的空口资源分配完毕时、取数据组空口数据帧,并将空口数据帧经空口发送;终端数据流为CPU对总数据流进行软交换得到;终端数据流用于指示CPU进行QoS队列管理,得到各QoS队列,且基于业务优先级将QoS队列映射到相应的空口调度等级上,并依据映射的结果进行终端数据流的空口资源分配。
关于从交换机角度实施的低时延数据处理装置的具体限定可以参见上文中对于从交换机角度实施的低时延数据处理的限定,在此不再赘述。上述从交换机角度实施的低时延数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图9所示,提供了一种低时延数据处理系统,包括CPU和连接CPU的交换机;CPU用于通过空口连接各终端;交换机通过以太网接口接收网络侧数据;
CPU用于执行上述任一项从CPU角度实施的低时延数据处理方法的步骤;
交换机用于执行上述任一项从交换机角度实施的低时延数据处理方法的步骤。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。