GTPU报文的分布式处理方法、装置及基站与流程

文档序号:13391440阅读:3022来源:国知局
GTPU报文的分布式处理方法、装置及基站与流程

本发明涉及无线通信技术领域,特别涉及一种gtpu(gprsturningprotocolfortheuserplane,用户层面的gprs隧道协议)报文的分布式处理方法、装置及基站。



背景技术:

gtp(gprsturningprotocol,gprs隧道协议)是一组基于ip(internetprotocol,互联网协议)的,用于gsm(globalsystemformobilecommunication,全球移动通信系统)和umts(universalmobiletelecommunicationssystem,通用移动通信系统)网络中支持gprs(generalpacketradioservice,通用分组无线业务)的通讯协议。gtpu是gtp协议的一种,其用于在gprs核心网内,无线接入网与核心网之间传送用户数据;其中,用户数据包可以以ipv4,ipv6或ppp中的任何格式传输。用户数据ip包封装在gtpu报文的playload(有效载荷)中,是一种ipoverip(ip报文传送ip数据)的隧道传输协议。gsm、umts、lte(longtermevolution,长期演进)都广泛使用gtpu协议。

本申请的发明人在实际应用中发现:随着4g的广泛部署,5g网络的应用,特别在商场,体育场等高密度用户小区中,基站用户面数据报文流量越来越大,传统的单纯的通过增加单一cpu的处理能力来处理大量的gtpu报文的方式已无法满足流量快速增长的需求。



技术实现要素:

本发明实施例的目的在于提供一种gtpu报文的分布式处理方法、装置及基站,可以均衡处理gtpu报文,适用于大数据流量的场景。

为解决上述技术问题,本发明的实施例提供了一种gtpu报文的分布式处理方法,包括:

接收gtpu报文,其中该gtpu报文为用户层面的通用分组无线业务gprs隧道协议报文;以及

将所述gtpu报文随机地分配至多个cpu中的其中一个进行处理。

其中,将所述gtpu报文随机地分配至多个cpu中的其中一个进行处理的步骤之前,还包括:

判断接收到的所述gtpu报文是否为数据面的报文;

若所述gtpu报文为数据面的报文,则执行所述将所述gtpu报文随机地分配至多个cpu中的其中一个进行处理的步骤。

其中,将所述gtpu报文随机地分配至多个cpu中的其中一个进行处理,包括:

执行随机算法,以生成对应所述gtpu报文的随机结果;

根据所述随机结果,将所述gtpu报文分配至所述多个cpu中的其中一个进行处理。

其中,所述执行随机算法,以生成对应所述gtpu报文的随机结果,包括:

识别所述gtpu报文是否为分片报文;

当所述gtpu报文为分片报文,则以所述gtpu报文中的互联网协议身份标识ip_id为关键字执行所述随机算法,以生成对应所述gtpu报文的随机结果;和/或,当所述gtpu报文为非分片报文,则产生随机数,并以所述随机数为关键字执行所述随机算法,以生成对应所述gtpu报文的随机结果。

其中,所述随机算法为哈希算法。

本发明实施例还提供了一种gtpu报文的分布式处理装置,包括:

接收模块,用于接收gtpu报文,其中该gtpu报文为用户层面的通用分组无线业务gprs隧道协议报文;以及

分配模块,用于将所述接收模块接收的gtpu报文随机地分配至多个cpu中的其中一个进行处理。

其中,所述处理装置,还包括:

报文分类模块,用于判断所述接收模块接收的所述gtpu报文是否为数据面的报文;

所述分配模块,具体用于当所述报文分类模块判断所述gtpu报文为数据面的报文时,将所述gtpu报文随机地分配至多个cpu中的其中一个进行处理。

其中,所述分配模块,包括:

随机单元,用于执行随机算法,以生成对应所述gtpu报文的随机结果;以及

分配单元,用于根据所述随机结果,将所述gtpu报文分配至所述多个cpu中的其中一个进行处理。

其中,所述分配模块,还包括:

分片报文识别单元,用于识别所述gtpu报文是否为分片报文;

所述随机单元,具体用于当所述gtpu报文为分片报文时,以所述gtpu报文中的互联网协议身份标识ip_id为关键字执行所述随机算法,以生成对应所述gtpu报文的随机结果;和/或,具体用于当所述gtpu报文为非分片报文时,则产生随机数,并以所述随机数为关键字执行所述随机算法,以生成对应所述gtpu报文的随机结果。

其中,所述随机算法为哈希算法。

本发明实施例还提供了一种基站,包括:如上所述的gtpu报文的分布式处理装置。

本发明的有益效果是:

以上的各实施例,将gtpu报文随机地分配至多个cpu中的其中一个进行处理,以实现gtpu报文的分布式处理。由于gtpu报文采用分布式的处理方式,因此以上实施例对单个cpu的性能要求并不高。同时,以上实施例由于可以分散处理这些gtpu报文,因此非常适用于大数据流量的场景。

附图说明

图1是本发明的gtpu报文的分布式处理方法的第一实施例的流程示意图;

图2是本发明的gtpu报文的分布式处理方法的第二实施例的流程示意图;

图3是图1中的步骤12的第一实施例的流程示意图;

图4是图1中的步骤12的第二实施例的流程示意图;

图5是本发明的gtpu报文的分布式处理装置的第一实施例的结构示意图;

图6是本发明的gtpu报文的分布式处理装置的第二实施例的结构示意图;

图7是图5中的分配模块的第一实施例的结构示意图;

图8是图5中的分配模块的第二实施例的结构示意图;

图9是本发明提供的基站的实施例的结构示意图。

具体实施例

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。

请参考图1,是本发明的gtpu报文的分布式处理方法的第一实施例的流程示意图。其包括:

步骤s11:接收gtpu报文。以及

步骤s12:将步骤s11接收的gtpu报文随机地分配至多个cpu中的其中一个进行处理。

其中,图1的方法流程可以应用于无线通信系统中的基站设备中,例如基站设备中的交换单板。

其中,gtpu报文指的是采用gtpu协议传输的报文。在步骤s11中,接收的gtpu报文可以来自于核心网络侧设备,例如基站设备可以通过其具有的s1接口来接收来自核心网络侧的gtpu报文。

在步骤s12中,可以由基站设备中的交换单板,将接收的gtpu报文分配至基站设备中的多个cpu之一进行处理,例如交换单板从s1接口处获取gtpu报文,然后采用一些随机算法将该gtpu报文随机地分配至与该交换单板连接的多个cpu中的其中一个。需要说明的是,s1接口也可以集成于交换单板中,作为交换单板的一部分。由于本实施例将接收的gtpu报文随机地分配至多个cpu中进行处理,因此可以使得大流量的gtpu报文能够合理地分配至多个cpu,从而实现了gtpu报文的分布式处理,由于gtpu报文采用分布式的处理方式,因此对单个cpu的性能要求并不高,并且适合于大数据流量的场景使用。

请参考图2,是本发明的gtpu报文的分布式处理方法的第二实施例的流程示意图。其中,图2与图1的主要差别在于,在图2中,在接收到gtpu报文(步骤s21)之后,首先判断gtpu报文是否为数据面的报文(步骤22),只有在判断到gtpu报文为数据面的报文时,才将所述gtpu报文随机地分配至多个cpu中的其中一个进行处理(步骤s23)。

其中,从交换单板通过s1接口获取到的报文从另外一个角度可以划分为:数据面的报文和控制面的报文两大类;其中,数据面的报文承载关于用户的数据,而控制面的报文承载一些信令控制信息,如关于基站的控制信息。在本发明实施例中,若接收到的gtpu报文属于控制面的报文,则无需进行随机地分配至多个cpu中的其中一个进行处理的操作,而是对该gtpu报文进行层2(layer2,l2)转发处理(步骤s24)。若接收到的gtpu报文属于数据面的报文,则需要进行随机地分配至多个cpu中的其中一个进行处理的操作。

举例而言,在步骤s22中,可以通过分析接收到的报文中的目的mac(mediaaccesscontrol,媒体访问控制)地址和目的ip地址来判断该接收到的gtpu报文是否为数据面的报文,例如报文的目的mac地址为本基站网管配置的基站媒体面mac地址,目的ip为网管配置的基站媒体面ip地址,则表示该报文为数据面的报文。

请参考图3,是图1中的步骤s12的第一实施例的流程示意图。其包括:

步骤s31:执行随机算法,以生成对应步骤s11接收的gtpu报文的随机结果。

步骤s32:根据步骤s31生成的随机结果,将步骤s11接收的gtpu报文分配至多个cpu中的其中一个进行处理。

其中,在步骤s31中的随机算法例如可以是哈希(hash)算法。需要说明的是,哈希算法是比较常用的随机算法,但是本发明并不限定于此,其他的随机算法同样适用于本发明实施例。

其中,在步骤s31中生成的随机结果例如为随机数。在步骤s32中,可以根据生成的随机数,将gtpu报文转发至交换单板中的其中一个端口。在本实施例中,交换单板可以具有多个端口,且每个端口对应至一个cpu,则步骤s32可以将gtpu报文转发至交换单板中的其中一个端口,从而将该gtpu报文分配至多个cpu中的一个进行处理。例如,当随机结果中的随机数为1时,则将gtpu报文转发至1号端口,即1号cpu;而当随机结果中的随机数为2时,则将gtpu报文转发至2号端口,即2号cpu。

本发明实施例,通过随机算法来确定gtpu报文所要分配至的cpu。此种方式,易于实现。

在图3的实施例中,对于大部分的随机算法,一般是基于某一关键词来进行随机运算,从而产生随机结果。因此,在步骤s31中的随机算法中可能涉及关键字,下面通过图4说明本发明基于不同的gtpu报文,如何产生该关键字。

请参考图4,是图1中的步骤12的第二实施例的流程示意图。其包括:

步骤s41:识别步骤s11接收的gtpu报文是否为分片报文。若为分片报文,则执行步骤s42;若不是分片报文,即非分片报文,则执行步骤s43。

步骤s42:以gtpu报文中的ip_id(互联网协议身份标识)为关键字执行随机算法,以生成对应gtpu报文的随机结果,然后执行步骤s44。

步骤s43:产生随机数(伪随机数),并以该随机数为关键字来执行随机算法,以生成对应随机结果,然后执行步骤s44。

步骤s44:根据随机结果,将接收的gtpu报文分配至多个cpu中的其中一个进行处理。

其中,接收的gtpu报文可能是同一ip报文中的其中一片,即一个ip报文可以分为多片来进行传输。因此,在步骤41中,可以先识别接收到的gtpu报文是否为分片报文,其中,如何识别gtpu报文是否为分片报文的方式对本领域技术人员而言是熟悉的,在此不赘述。其中,在步骤s42中,针对gtpu报文为分片报文的情况,则以此gtpu报文中的ip_id为关键字执行随机算法。对于分片报文,以其中的ip_id为关键字执行随机算法,可以保证同一ip报文的多个gtpu分片报文均能得到相同的随机结果,从而可以保证同一ip报文的多个分片均能分配至同一cpu进行处理。

其中,在步骤s43中,对于gtpu报文不是分片报文,即为非分片报文的情形,则可以利用随机算法(如哈希算法),先产生一个伪随机数,然后利用该伪随机数作为关键字来执行随机算法,从而产生随机结果。此种情况,可以将为非分片报文的gtpu报文随机地分配至多个cpu中的其中一个进行处理,从而实现对报文的均衡处理。

另外,在步骤44中,基于随机结果来分配gtpu报文时,还可以考虑各端口(或cpu)的权重,并按照权重比例来对gtpu报文进行分配,例如使用wrr(weightedroundrobin,加权循环调度算法)来对gtpu报文进行均衡分配。

本实施例,对于分片报文,以报文中的ip_id来执行随机算法,从而保证同一ip报文的各分片能够被分配至同一cpu中处理。

另外,在图3或图4实施例中,其中涉及的gtpu报文可以为数据面的报文。即图3或图4的实施例可以与图2实施例相结合。

借助于以上方法实施例,本发明实施例可以将大流量的gtpu报文合理地分配到多个cpu上,以减轻对单个cpu的要求,从而适应大流量的场景。并且可以保证同一ip报文的多个不同分片能够送到同一个cpu中处理。

以上对本发明的实施例进行了介绍之后,下面再介结两个可以应用本发明实施例的场景,以帮助理解本发明的特性。但是,可以理解的是,本发明并不限于以下的具体场景中。

应用场景一:

5g无线基站设备,一般会承载大流量数据业务,并且部署在用户密集的商场。其s1口通过路由器连接核心网。当大量ue(userequipment,用户设备)通过5g在线点播高清视频时,5g基站将用户的ip数据报文通过gtpu隧道封装后,通过s1口传输到核心网。核心网网关请求视频服务器的视频数据,并返回gtpu隧道封装后的ip数据报文。而在用户很多时,gtpu报文流量非常大,超过单个cpu最大处理能力,而本发明的实施例可以使得5g基站的交换单板能够将gtpu报文分发到多个cpu,以及保证同一ip报文的不同分片送到同一cpu,从而实现对gtpu报文的分布式处理。

应用场景二:

对于lte制式无线基站设备,一般部署在用户密集的商场。其s1口通过路由器连接核心网。当大量ue通过lte制式浏览网页,lte基站将用户的ip数据报文通过gtpu隧道封装后,通过s1口传输到核心网。核心网网关请求网页服务器,并返还gtpu隧道封装后的ip数据报文(如gtpu报文)。当在用户很多的时,gtpu报文流量非常大,会超过单个cpu最大处理能力,而本发明实施例的方式可以使得lte基站的交换单板能够将gtpu报文分发到多个cpu,并保证同一ip报文的不同分片送到同一cpu,从而实现对gtpu报文的分布式处理。

下面再对本发明的装置实施例进行说明。其中,本发明实施例的装置可以为上述提及的基站设备,尤其是基站设备中的交换单板。

请参考图5,是本发明的gtpu报文的分布式处理装置1的第一实施例的结构示意图。其包括:

接收模块11,用于接收gtpu报文。以及

分配模块12,用于将所述接收模块11接收的gtpu报文随机地分配至多个cpu中的其中一个进行处理。

其中,接收模块11可以通过基站设备中的s1接口来接收来自核心网侧的gtpu报文。

本实施例可以与上述图1的方法实施例相对应,因此图1实施例的各细节描述均可以引用至本实施例中。因此出于简洁,不再赘述。

需要说明的是,上述的接收模块11和分配模块12的功能均可以由交换单板(如交换单板芯片)来实现。

由于本实施例由分配模块12将接收模块11接收的gtpu报文随机地分配至多个cpu中的其中一个进行处理,因此可以使得大流量的gtpu报文能够合理地分配至多个cpu,从而可以实现gtpu报文的均衡处理,以满足gtpu报文流量快速增长的需求。

请参考图6,是本发明的gtpu报文的分布式处理装置1的第二实施例的流程示意图。其中,图6与图5的主要差别在于,图6还包括:报文分类模块13,用于对接收模块11接收的gtpu报文进行报文分类,以判断该gtpu报文是否为数据面的报文。当报文分类模块13判断到接收模块接收的gtpu报文为数据面的报文时,则通过分配模块12将gtpu报文随机地分配至多个cpu中的其中一个进行处理。也就是说,本实施例对gtpu报文的分布式处理主要是针对数据面的gtpu报文。需要说明的是,报文分类模块13的功能可以由交换单板来实现。

请参考图7,是图5中的匹配模块12的第一实施例的结构示意图。其包括:

随机单元121,用于执行随机算法,以生成对应接收的gtpu报文的随机结果。

分配单元122,用于根据随机单元121生成的随机结果,将接收的gtpu报文分配至多个cpu中的其中一个进行处理。

其中,随机单元121执行的随机算法例如可以是哈希(hash)算法。需要说明的是,哈希算法是比较常用的随机算法,但是本发明并不限定于此,其他的随机算法同样适用于本发明实施例。

其中,随机单元121生成的随机结果例如为随机数。分配单元122可以根据随机单元121生成的随机数,将gtpu报文转发至交换单板中的其中一个端口。在本实施例中,交换单板可以具有多个端口,且每个端口对应至一个cpu,则将gtpu报文转发至交换单板中的其中一个端口,即是将该gtpu报文转发至多个cpu中的一个进行处理。换句话说,分配单元122可以根据随机结果来选择端口,并将gtpu报文发送至该选择的端口。另外,分配单元122在选择端口时,可以考虑各端口的权重。

请参考图8,是图5中的匹配模块12的第二实施例的结构示意图。图8与图7相比,主要差别在于,其还包括:分片报文识别单元123,用于识别接收的gtpu报文是否为分片报文。此时,随机单元121,具体用于当接收的gtpu报文为分片报文时,以该gtpu报文中的ip_id为关键字执行随机算法,以生成对应所述gtpu报文的随机结果;和/或,具体用于当所述gtpu报文为非分片报文时,则产生随机数,并将该随机数作为关键字来执行所述随机算法,以生成对应所述gtpu报文的随机结果。

其中,接收的gtpu报文可能仅是同一ip报文中的其中一片,即一个ip报文可以分为多片来进行传输。因此,可以由分片报文识别单元123先识别接收到的gtpu报文是否为分片报文。

其中,随机单元121针对gtpu报文为分片报文的情况,则以此gtpu报文中的ip_id为关键字执行随机算法。对于分片报文,以其中的ip_id为关键字执行随机算法,可以保证同一ip报文的多个gtpu分片报文均能得到相同的随机结果,从而可以保证同一ip报文的多个分片均能分配至同一cpu进行处理。

其中,随机单元121对于gtpu报文不是分片报文,即非分片报文的情形,则可以利用随机算法(如哈希算法),先产生一个伪随机数,然后利用该伪随机数来作为关键字来执行随机算法,从而产生随机结果。此种情况,可以将不是分片报文的gtpu报文随机地分配至多个cpu中的其中一个进行处理,从而实现对报文的均衡处理。

另外,上述提及的gtpu报文均可以为数据面的报文。

本发明实施例的gtpu报文的分布式处理装置,例如其可以基站设备中的交换单板,其可以将大流量的gtpu报文合理地分配到多个cpu上,以减轻对单个cpu的要求,从而适应大流量的场景。并且可以保证同一ip报文的多个不同分片能够送到同一个cpu中处理。

请参考图9,是本发明的用于说明基站的实施例的结构示意图。在图9中,基站9可以包括前文所描述的gtpu报文的分布式处理装置1。

本发明实施例的基站,由于将接收的gtpu报文随机地分配至多个cpu中进行处理,因此可以使得大流量的gtpu报文能够合理地分配至多个cpu,从而实现了gtpu报文的分布式处理,由于gtpu报文采用分布式的处理方式,因此对单个cpu的性能要求并不高,并且适合于大数据流量的场景使用。

值得一提的是,本发明所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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