一种长期演进LTE协议栈数据交互的处理方法及装置与流程

文档序号:17185309发布日期:2019-03-22 21:18阅读:219来源:国知局
一种长期演进LTE协议栈数据交互的处理方法及装置与流程

本发明涉及通信数据处理领域,尤其涉及一种长期演进lte协议栈数据交互的处理方法及装置。



背景技术:

长期演进(longtermevolution,lte)协议栈架构中,各协议层实体之间进行通信时,通信设备需要处理大量的数据包。现有技术中,数据包仅由通信设备的一个处理核来完成处理,然而,随着数据量的增加,lte协议栈架构的灵活性较差,单处理核已经不能满足服务质量的要求。具体要求包括:通信设备的协议栈上行数据处理速率峰值为150兆比特每秒,下行峰值为75兆比特每秒。同时,在1毫秒内,协议栈必须保证完成上行数据处理和下行数据处理。

另外,现有技术的双处理核架构中,每个处理核只处理特定几个协议层的数据,当某些协议层数据量较大时,双处理核系统的负载不均衡,造成数据处理的时长较大。

因此,现有技术中处理核处理数据的灵活性较差、负载不均衡以及数据处理的时长较长,是一个亟待解决的问题。



技术实现要素:

本申请实施例提供了一种长期演进lte协议栈数据交互的处理方法及装置,解决了现有技术中处理核处理数据的灵活性较差、负载不均衡以及数据处理的时长较大的问题。

本发明实施例提供一种长期演进lte协议栈数据交互的处理方法,该方法包括:

所述通信设备确定所述通信设备的n个处理核中每个处理核的负载率;n为大于2的整数;

所述通信设备接收处理任务,并将所述处理任务分配给n个处理核中负载率最小的处理核执行。

可选的,所述方法包括:

所述负载率最小的处理核为,所述n个处理核中剩余处理时长最短的处理核;所述剩余处理时长为处理核处理完当前任务所需的时长。

可选的,所述方法包括:

所述通信设备确定所述处理任务的处理链表,并将所述处理链表与一个线程对应;所述处理链表存储了所述处理任务的执行参数;

所述通信设备从所述处理链表读取所述执行参数;

所述通信设备的所述负载率最小的处理核,通过执行所述线程,根据所述执行参数,执行所述处理任务。

可选的,所述通信设备从所述处理链表读取所述执行参数,所述方法包括:

所述通信设备在第一预设周期内,读取所述执行参数;

若所述处理链表在所述通信设备读取所述执行参数时已被占用,所述通信设备在下一个所述第一预设周期,重新读取所述执行参数。

可选的,所述方法还包括:

所述通信设备通过以下公式,确定所述n个处理核的负载均衡度:

其中,bq为所述负载均衡度,tm为所述n个处理核处理完当前所有处理任务的处理时长,ts为所述n个处理核中每个处理核处理完当前处理任务的处理时长之和。

可选的,所述方法还包括:

所述通信设备向所述通信设备的管控软件,上报所述n个处理核的状态信息;所述状态信息包括:空闲、正常运行、缩容。

本发明实施例提供一种长期演进lte协议栈数据交互的处理装置,该装置包括:

确定模块,用于确定n个处理核中每个处理核的负载率;n为大于2的整数;

处理模块,用于接收处理任务,并将所述处理任务分配给n个处理核中负载率最小的处理核执行。

可选的,该装置包括:

所述负载率最小的处理核为,所述n个处理核中剩余处理时长最短的处理核;所述剩余处理时长为处理核处理完当前任务所需的时长。

可选的,所述处理模块,具体用于:

确定所述处理任务的处理链表,并将所述处理链表与一个线程对应;所述处理链表存储了所述处理任务的执行参数;从所述处理链表读取所述执行参数;负载率最小的处理核,通过执行所述线程,根据所述执行参数,执行所述处理任务。

可选的,所述处理模块,具体用于:

在第一预设周期内,读取所述执行参数;

若所述处理链表在读取所述执行参数时已被占用,在下一个所述第一预设周期,重新读取所述执行参数。

可选的,所述处理模块,还用于:

通过以下公式,确定所述n个处理核的负载均衡度:

其中,bq为所述负载均衡度,tm为所述n个处理核处理完当前所有处理任务的处理时长,ts为所述n个处理核中每个处理核处理完当前处理任务的处理时长之和。

可选的,所述处理模块,还用于:

向管控软件,上报所述n个处理核的状态信息;所述状态信息包括:空闲、正常运行、缩容。

本发明实施例中,所述通信设备包括n个处理核,处理能力比单处理核、双处理核架构更强,且未绑定执行处理任务与处理核关系,根据负载率选取处理核,灵活性更强;另外,通信设备将接收到的处理任务分配给n个处理核中负载率最小的处理核执行,减少了负载率较大的处理核的压力,且不会让负载率较小的处理核空闲,提升了n个处理核的负载均衡能力,处理任务等待时间更短,执行处理任务的效率更高。

附图说明

图1为本申请实施例中一种长期演进lte协议栈数据交互的处理方法对应的lte协议栈中用户平面协议栈的架构图;

图2为本申请实施例中一种长期演进lte协议栈数据交互的处理方法对应的lte协议栈中控制平面协议栈的架构图;

图3为本申请实施例中一种长期演进lte协议栈数据交互的处理方法对应各模块交互的架构示意图;

图4为本申请实施例中一种长期演进lte协议栈数据交互的处理方法对应的步骤流程图;

图5为本发明实施例提出的一种长期演进lte协议栈数据交互的处理方法对应的下行数据处理速率的测试实验结果图;

图6为本发明实施例提出的一种长期演进lte协议栈数据交互的处理方法对应的数据传输时延率的测试实验结果图;

图7为本申请实施例中一种长期演进lte协议栈数据交互的处理装置的结构示意图。

具体实施方式

为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。

下面结合说明书附图对本发明实施例作进一步详细描述。

通信设备之间通信时,实际上是通过在各个协议层传递数据包进行的,各个协议层构成了协议栈。其中,为了使数据在通信设备之间完成传输,通信设备的参与方之间必须遵循相同的通信规则,这套规则称为协议。lte协议栈按照传输的消息类型不同,可以分为用户平面协议栈和控制平面协议栈。控制面协议栈承载的对象是控制信令;用户面协议栈承载的对象是用户数据。图1为本申请实施例中一种协议层之间通信的内存管理方法对应的lte协议栈中用户平面协议栈的架构图,图2为本申请实施例中一种协议层之间通信的内存管理方法对应的lte协议栈中控制平面协议栈的架构图。其中,图1用户平面协议栈中包括的通信设备有:用户终端(userequipment,ue)、演进型基站(evolvednodeb,enodeb)、第四代移动电话行动通信标准核心网络(epc)。图2控制平面协议栈中包括的通信设备有:ue、enodeb。具体地,用户平面协议栈包括:物理层phy、多址接入信道层mac、无线链路层控制层rlc、分组数据汇聚协议层pdcp、无线资源控制层rrc、非接入层nas;控制平面协议栈包括:phy、mac、rlc、pdcp、rrc。

lte应用于各个网络系统中,举例来说,云无线接入网(cloud-radioaccessnetwork,c-ran)是中国移动提出的一种基于协作式无线电、集中化处理和实时云架构的绿色无线接入网架构。为了解决高密度基站部署带来的资源浪费和小区间干扰等严重问题,c-ran这种集中式架构应运而生。

面向c-ran的协议栈架构中,各协议层实体之间进行通信时,通信设备需要处理大量的数据包。现有技术中,数据包仅由通信设备的一个处理核来完成处理,然而,随着数据量的增加,单处理核已经不能满足服务质量的要求。具体要求包括:通信设备的协议栈上行数据处理速率峰值为150兆比特每秒,下行峰值为75兆比特每秒。同时,在1毫秒内,协议栈必须保证完成上行数据处理和下行数据处理。因此,随着数据量的增加,单处理核不能满足服务质量的要求,是一个亟待解决的问题。

本发明实施例提供了一种长期演进lte协议栈数据交互的处理方法,如图3所示,为本申请实施例中一种长期演进lte协议栈数据交互的处理方法对应各模块交互的架构示意图。

该架构中各模块描述如下:

任务发起方301:用于生成处理任务,具体的任务发起方可以是enodeb、lte接入网络的关键控制节点(mobilitymanagemententity,mme)、服务网关(servinggateway,sgw)。

数据分发模块302:用于将处理任务分发给对应协议处理线程。

协议处理模块303:执行处理任务的实体,包括n个线程,每个线程由一个唯一对应的处理核执行,因此n个线程共由n个处理核执行。n为大于2的整数。

时间管理模块304:用于根据n个线程的处理时间,生成管理通知,并发送至数据分发模块302。

管理模块305:包括管理主模块和管理进程,管理进程用于对协议栈状态进行控制,生成处理任务的管理指令,并将n个线程的处理时间发送至时间管理模块,管理主模块用于存储管理进程需要的数据。

调度时间tti线程306:用于对n个线程的处理时间进行监督和记录。

管控软件307:用于接收管理主模块上报的管控信息。

部署这个架构的步骤如下:

(1)配置基站软件协议栈参数,在编译可运行文件的同时在代码中同时读取外部配置文件,这种设计思路主要方便基站自身参数的灵活改动,避免每次更换参数信息,要在源代码中进行修改和重新编译。配置文件中的参数包括enodeb的互联网协议(internetprotocol,ip)地址、mme和sgw的ip地址、打印日志的协议层实体的层级等。特别地,对于c-ran整个庞大系统有非常便捷的功能。

(2)将各协议层实体解耦,一个协议层实体发生改变不会影响另一个协议层实体工作,当代码发生改版或者重新开发时,保证代码重用率高。特别地,c-ran因为整个系统庞大,涉及协议栈软件、管控软件307、mme和sgw等各个单位同时运行并处理相对应关系。从研究到实现以及之后的测试、联调等工程步骤,将整个系统用划分模块的方式来运作。首先定义各个模块之间接口信息,然后各模块代码和功能互不干扰,对其中某个模块的改变只要不涉及对外接口信息改变,那么对于整个系统来说都是自身的变化。值得一提的是,特别地,c-ran协议栈软件也是将每个协议层划分为一个模块,各个模块之间的交互是通过特定的数据分发系统进行传输。这种做法使协议层模块之间消息更加通用,方便管理。对于全局性通用变量、结构体、消息信令等也能统一管理,从而获得更舒适的工程环境和体验。

(3)整个lte协议栈软件的定时器、内存管理、全局变量等由管理模块305统一管理,从而能够保证lte协议栈数据分发系统1毫秒的基本调度时间需求。内存开销和处理时延开销都是由更高层管控软件来控制。管控软件通过对每个c-ran协议栈接入用户个数、物理层带宽、运行时间和cpu使用率等进行监控来确保性能的优良。

(4)最后为了解决核间负载不均问题,通过合理分配资源,提高资源利用率。忙时,管理模块能够利用中央处理器(centralprocessingunit,cpu)资源处理更多的处理流程。

(5)为提高协议处理能力,lte协议软件需要提升各层协议并行处理程度,因此各层要独立维护实体信息和内存信息,同时在层间交互时要解除层间耦合性,支持消息异步处理。另外,为提高处理效率,协议软件内部支持多线程并行处理,因此需要使用专门的数据分发系统来处理层间数据交互。

为实现计算资源统计复用功能,协议软件运行状态和计算资源要实现可管可控,因此在协议软件内部增加了一个用于协议栈状态控制的管理模块。该模块独立于各层之外,负责管理协议栈运行状态和资源分配情况。在初始化阶段,为lte内部多线程分配cpu资源、为lte各协议模块分配初始内存地址及大小;在协议迁移过程中,负责收集各层内存迁移数据,选择合适时刻进行迁移,并在目标协议实体中恢复协议状态信息,保证协议实体可以正确、无缝进行迁移。

协议栈的计算资源分配由管控代理控制,因此协议栈实体需要向管控代理提供相应交互接口,用于动态申请资源、向管控代理上报状态信息、与管控代理进行协议栈建立、协议栈迁移和协议栈删除等一系列控制操作。另外,协议栈软件要实现计算资源(如内存资源)的自我管理,从而动态扩大和缩小容量,支持可伸缩的协议栈结构。

上述步骤部署的架构具有如下优点:

(1)提升了协议栈的灵活性:协议栈各模块需要具备较好的灵活性和独立性,协议栈实体实现多核并行化的一个重要基础是模块化,即协议栈的各层实体都作为一个独立单元运行,可以并行地进行数据包处理,协议层实体之间完全解除耦合性,使用统一层间接口进行通信。通过这种方式,使数据包之间的并行处理粒度由原来的整个协议栈级别缩小为层级别,在用户数据量增长时可以极大地提升整个协议栈数据处理能力。

(2)核间负载更加均衡:lte协议栈多核架构应具备良好的核间均衡基础。通过新增处理核个数,依照时间的统计算法,合理分配处理核。

下面结合图3,如图4所示,为本申请实施例中一种长期演进lte协议栈数据交互的处理方法对应的步骤流程图。

步骤401:所述通信设备确定所述通信设备的n个处理核中每个处理核的负载率。

n为大于2的整数。

步骤402:所述通信设备接收处理任务,并将所述处理任务分配给n个处理核中负载率最小的处理核执行。

步骤401中,通信设备为ue、enodeb、epc中任意一种。

通信设备的n个处理核中每个处理核的负载率为表征该处理核负载大小的指标。举例来说,为处理核当前处理的数据包数量与该处理核处理数据包的最大数量的比值。

步骤402中,所述通信设备接收任务发起方发送的处理任务,并将所述处理任务分配给n个处理核中负载率最小的处理核执行。

举例来说,当通信设备接收到任务1时,共10个处理核。处理核1、处理核2、处理核3、处理核4、处理核5、处理核6、处理核7、处理核8、处理核9、处理核10;其负载率依次为,0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、0.95,则将处理核1作为执行任务1的处理核。

一种确定负载率最小的处理核的方式为,所述n个处理核中剩余处理时长最短的处理核;所述剩余处理时长为处理核处理完当前任务所需的时长。具体地,处理核是以执行各个独立的任务的处理时间来计算剩余处理时间的。

举例来说,处理核1处理完处理任务1共需时间10毫秒,当分配给处理核1处理任务2时,若处理核1还需处理任务2毫秒将任务1处理完毕,则此时处理核1的处理时间即为2毫秒。

一种可选的实现方式为,所述通信设备确定所述处理任务的处理链表,并将所述处理链表与一个线程对应;所述处理链表存储了所述处理任务的执行参数;

所述通信设备从所述处理链表读取所述执行参数;

所述通信设备的所述负载率最小的处理核,通过执行所述线程,根据所述执行参数,执行所述处理任务。

处理核执行处理任务时,需要根据一些数据执行该处理任务,这些数据存储在处理链表中,与一个线程对应。处理链表包括但不限于所述处理任务的执行参数。举例来说,执行参数包括最大执行时间、执行失败动作等。

处理核执行处理任务之前,通信设备会从处理链表中读取执行参数,在根据读取到的执行参数,由负载率最小的处理核,通过执行所述线程执行该处理任务。

所述通信设备从所述处理链表读取所述执行参数时,一种可选的实现方式如下:

所述通信设备在第一预设周期内,读取所述执行参数;

若所述处理链表在所述通信设备读取所述执行参数时已被占用,所述通信设备在下一个所述第一预设周期,重新读取所述执行参数。

步骤401~步骤402中,一种可选的实施方式为,通过以下公式,确定所述n个处理核的负载均衡度:

其中,bq为所述负载均衡度,tm为所述n个处理核处理完当前所有处理任务的处理时长,ts为所述n个处理核中每个处理核处理完当前处理任务的处理时长之和。

举例来说,处理核共有3个,这3个处理核执行完3个任务的时间为9毫秒,而这3个任务各自执行完的时间分别为4毫秒、6毫秒、8毫秒,因此负载均衡度为2/3。

一种可选的实施方式为,所述通信设备向所述通信设备的管控软件,上报所述n个处理核的状态信息;所述状态信息包括但不限于:空闲、正常运行、缩容,可根据具体需求增加、自定义状态信息。

其中,空闲代表该处理核可用,且当前不执行处理任务;正常运行代表,该处理核可用,且当前执行处理任务;缩容代表该处理核不可用,则不会将处理任务分配给该处理核。

本发明实施例中,通过对协议栈的模块化,提升了协议栈的灵活性,即协议栈的各模块都作为一个独立单元运行,可以并行地进行数据包处理,层与层之间完全解除耦合性,使用统一层间接口进行通信。通过这种方式,使数据包之间的并行处理粒度由原来的整个协议栈级别缩小为层级别,在用户数据量增长时可以极大地提升整个协议栈数据处理能力。

本发明实施例中,所述通信设备包括n个处理核,处理能力比单处理核更强;另外,通信设备将接收到的处理任务分配给n个处理核中负载率最小的处理核执行,处理任务等待时间更低,执行处理任务的效率更高。

如图5所示,为本发明实施例提出的一种长期演进lte协议栈数据交互的处理方法对应的下行数据处理速率的测试实验结果图。

具体地测试过程:从协议栈数据分发系统接收下发数据,数据是包长为64-1500字节的ip数据包,测试中包长采用了200和1000字节的数据包作为实验数据,然后将数据包发给处理线程,最后将数据平均分给接入的用户。在测试过程中增加用户数量来观察下行数据处理速率的峰值。基于上述步骤,分别在单核旧架构、单核新架构、二核新架构、二核旧架构、四核新架构和四核旧架构等6种情况下,得到测试结果。其中旧架构为现有技术中lte协议栈的架构,新架构为本发明实施例中图3的架构。

测试结果表明:随着终端用户数的增加,系统的峰值速率会下降,这主要是因为系统随着接入用户增加,系统资源分配难度加大导致系统峰值下降,属于正常情况。当cpu的核数增加时,每个核的任务处理效率会提高,峰值相应也会随之提高。因此多核并行化架构的cpu核数越多,协议栈的下行数据处理峰值会增大。用户的接入数量很小时,旧的单核架构要优于新的多核并行架构。用户接入量少,系统对性能的要求不高,对于多核架构来说,核间通信等其他问题导致无法达到理想峰值。数据规模的大小也会影响到系统下行峰值速率,当用户接入数量一定时,数据规模越大,架构并行处理越多,相应的处理速率也会越快,从而峰值速率也会提高。

另外,数据传输的时延也能反映系统的性能,传输的时延取决于系统负载均衡的能力。若传输的时延比较小,数据丢包或其他数据接收错误等问题可以尽量避免,从而系统的性能就会提高。

如图6所示,为本发明实施例提出的一种长期演进lte协议栈数据交互的处理方法对应的数据传输时延率的测试实验结果图。

测试过程:构造一个灌包发送程序和灌包接收程序,事先构造出10000个带有编号的ip数据包,这些数据包的长度都为1000字节,具体配置如表1所示。其中,iperf为灌包发送程序。

表1

首先灌包程序将数据包发出,记录发送时间,同时接收程序开始接收数据。当接收程序开始接收数据时,记录接收的时间和观察对应的编码,统计相同编码的数据发送和接收时间的差值,这个差值就是数据传输的时延。由于时延具有偶然性,所以测试过程中,对发送的10000个数据包求平均值,保证结果的准确性。

根据图6结果显示:

随着终端用户数的增加,系统的数据传输时延会加大。

用户的接入数量很小时,单核架构的时延要优于新的多核并行架构。单核架构只需要使用一个函数进行串行数据处理,而多核架构需要切分成并行,故单核的时延要优些。

当cpu的核数增加时,每个核的任务处理效率会提高,时延相应也会随之改善。因此多核并行化架构的cpu核数越多,协议栈的数据处理时延越优。

如图7所示,为本发明实施例提供的一种长期演进lte协议栈数据交互的处理装置的结构示意图,该装置包括:

确定模块701,用于确定n个处理核中每个处理核的负载率;n为大于2的整数;

处理模块702,用于接收处理任务,并将所述处理任务分配给n个处理核中负载率最小的处理核执行。

可选的,该装置包括:

所述负载率最小的处理核为,所述n个处理核中剩余处理时长最短的处理核;所述剩余处理时长为处理核处理完当前任务所需的时长。

可选的,所述处理模块702,具体用于:

确定所述处理任务的处理链表,并将所述处理链表与一个线程对应;所述处理链表存储了所述处理任务的执行参数;从所述处理链表读取所述执行参数;负载率最小的处理核,通过执行所述线程,根据所述执行参数,执行所述处理任务。

可选的,所述处理模块702,具体用于:

在第一预设周期内,读取所述执行参数;

若所述处理链表在读取所述执行参数时已被占用,在下一个所述第一预设周期,重新读取所述执行参数。

可选的,所述处理模块702,还用于:

通过以下公式,确定所述n个处理核的负载均衡度:

其中,bq为所述负载均衡度,tm为所述n个处理核处理完当前所有处理任务的处理时长,ts为所述n个处理核中每个处理核处理完当前处理任务的处理时长之和。

可选的,所述处理模块702,还用于:

向管控软件,上报所述n个处理核的状态信息;所述状态信息包括:空闲、正常运行、缩容。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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