掌桥专利:专业的专利平台
掌桥专利
首页

一种5G通信数据包转发方法和终端

文献发布时间:2023-06-19 11:54:11


一种5G通信数据包转发方法和终端

技术领域

本发明涉及5G通信技术领域,尤其涉及一种5G通信数据包转发方法和终端。

背景技术

第五代移动通信技术(5th generation mobile networks或5th generationwireless systems、5th-Generation,简称5G或5G技术)是最新一代蜂窝移动通信技术,也是继4G(LTE-A、WiMax)、3G(UMTS、LTE)和2G(GSM)系统之后的延伸。5G的性能目标是高数据速率、减少延迟、节省能源、降低成本、提高系统容量和大规模设备连接。

5G通信用户面转发是指5G通信系统用户平面的数据包转发。5G通信系统需要支持转发超大容量的数据包和接入大规模的用户设备,为此必须采用多核CPU并行转发处理大量用户的数据包。随着CPU核心数量的增加,5G通信用户面的转发能力也得到增强;当CPU核心数量超过10个以上时,5G通信用户面的转发能力几乎不再随着CPU核心数量的增加而增加,也就是说,当CPU核心数量超过10个以上时,再增加CPU核心数量无法再有效提高5G通信用户面的转发能力。

如图1所示,以两个CPU核心处理转发四个用户的数据包为例,用箭头连线表示CPU核心与用户数据包的处理关系,表明数据包由哪个CPU核心负责处理转发,图1中,图示箭头由“CPU核心1”指向“用户1”的意思是CPU核心1参与处理用户1的数据包的意思,普通多核处理转发时,每个CPU核心都会参与处理四个用户的数据包;同一个用户的数据包(包括用户上行数据包和用户下行数据包,其中,用户上行数据包就是用户发给其它主机的数据包,用户下行数据包就是其它主机发给用户的数据包)会分配给多个CPU核心处理。

多个CPU核心参与处理转发同一个用户的数据包会带来如下问题:

CPU核心的高速缓存利用率变低;因为CPU核心处理转发用户的数据包时,会将该用户信息存储到高速缓存以便高速读取。如果多个CPU核心对应的高速缓存都存储了一份用户信息,就造成CPU核心的高速缓存利用率较低,而且CPU核心数越多利用率越低。

各个用户的流量统计和计费变得复杂低效。由于单个用户的流量会由多个CPU核心处理转发,所以需要汇总多个CPU核心上的用户流量统计和计费,而且CPU核心数越多汇总用户流量统计和计费越低效。

上述问题都会导致当CPU核心数量超过10个以上时,5G通信用户面的处理转发能力几乎不再随着CPU核心数量的增加而增加。

因此,现有技术还有待于改进和发展。

发明内容

本发明的主要目的在于提供一种5G通信数据包转发方法和终端,旨在解决现有技术中增加CPU核心数量到一定数量后再无法有效提高5G通信用户面的转发能力的问题。

为实现上述目的,本发明提供一种5G通信数据包转发方法,所述5G通信数据包转发方法包括如下步骤:

预先使用N个CPU核心运行5G通信用户面转发系统,并将N个CPU核心依次编号为0、1、2、…、(N-2)和(N-1);

接收数据包,判断所述数据包为用户上行数据包或者为用户下行数据包;

如果所述数据包为用户上行数据包,则读取所述用户上行数据包中的源IP地址,并将所述源IP地址记为用户IP地址;

如果所述数据包为用户下行数据包,则读取所述用户下行数据包中的目的IP地址,并将所述目的IP地址记为用户IP地址;

获取所述用户IP地址为M,计算M除以N的余数记为Q,Q对应一个CPU核心编号,将所述数据包分配给编号为Q的CPU核心进行转发处理。

可选地,所述的5G通信数据包转发方法,其中,N为大于或者等于2的正整数。

可选地,所述的5G通信数据包转发方法,其中,所述用户上行数据包为用户发给其它主机的数据包。

可选地,所述的5G通信数据包转发方法,其中,所述用户下行数据包为其它主机发给用户的数据包。

可选地,所述的5G通信数据包转发方法,其中,M为一个四字节的整数。

可选地,所述的5G通信数据包转发方法,其中,M的数值范围为0-4294967295。

可选地,所述的5G通信数据包转发方法,其中,Q的数值范围为0-(N-1)。

可选地,所述的5G通信数据包转发方法,其中,将所述数据包分配给编号为Q的CPU核心进行转发处理用于保证将同一个用户的用户上行数据包和用户下行数据包始终分配给同一个CPU核心处理。

此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的5G通信数据包转发程序,所述5G通信数据包转发程序被所述处理器执行时实现如上所述的5G通信数据包转发方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有5G通信数据包转发程序,所述5G通信数据包转发程序被处理器执行时实现如上所述的5G通信数据包转发方法的步骤。

本发明通过预先使用N个CPU核心运行5G通信用户面转发系统,并将N个CPU核心依次编号为0、1、2、…、(N-2)和(N-1);接收数据包,判断所述数据包为用户上行数据包或者为用户下行数据包;如果所述数据包为用户上行数据包,则读取所述用户上行数据包中的源IP地址,并将所述源IP地址记为用户IP地址;如果所述数据包为用户下行数据包,则读取所述用户下行数据包中的目的IP地址,并将所述目的IP地址记为用户IP地址;获取所述用户IP地址为M,计算M除以N的余数记为Q,Q对应一个CPU核心编号,将所述数据包分配给编号为Q的CPU核心进行转发处理。本发明将同一个用户的数据包溯源分配给同一个CPU核心处理,使得用户信息只需存储到一个CPU核心的高速缓存,提高高速缓存的利用率;同时在单个CPU核心上也能实现单个用户的流量统计和计费,最终使得5G通信用户面的处理转发能力随着CPU核心数量的增加而增加。

附图说明

图1是两个CPU核心处理转发四个用户的数据包的原理示意图;

图2是本发明5G通信数据包转发方法的较佳实施例的流程图;

图3是本发明5G通信数据包转发方法的较佳实施例中将同一个用户的数据包溯源分配给同一个CPU核心处理的示意图;

图4为本发明终端的较佳实施例的运行环境示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明较佳实施例所述的5G通信数据包转发方法,如图2和图3所示,所述5G通信数据包转发方法包括以下步骤:

步骤S10、预先使用N个CPU核心运行5G通信用户面转发系统,并将N个CPU核心依次编号为0、1、2、…、(N-2)和(N-1)。

具体地,预先使用N个CPU核心运行5G通信用户面转发系统,其中,N为大于或者等于2的正整数,并将N个CPU核心依次编号为0、1、2、…、(N-2)和(N-1),例如当N为11时,11个CPU核心依次编号为0、1、2、3、4、5、6、7、8、9、10。

步骤S20、接收数据包,判断所述数据包为用户上行数据包或者为用户下行数据包。

具体地,接收数据包后,先判断所述数据包是用户上行数据包还是用户下行数据包,其中,所述用户上行数据包为用户发给其它主机的数据包,所述用户下行数据包为其它主机发给用户的数据包。

步骤S30、如果所述数据包为用户上行数据包,则读取所述用户上行数据包中的源IP地址,并将所述源IP地址记为用户IP地址。

具体地,所述用户上行数据包是用户发给其它主机的,所以所述用户上行数据包的源IP地址是用户IP地址,那么当所述数据包为用户上行数据包时,读取所述用户上行数据包中的源IP地址,并将所述源IP地址记为用户IP地址。

步骤S40、如果所述数据包为用户下行数据包,则读取所述用户下行数据包中的目的IP地址,并将所述目的IP地址记为用户IP地址。

具体地,所述用户下行数据包是其它主机发给用户的,所以所述用户下行数据包的目的IP地址是用户IP地址,那么当所述数据包为用户下行数据包,则读取所述用户下行数据包中的目的IP地址,并将所述目的IP地址记为用户IP地址。

步骤S50、获取所述用户IP地址为M,计算M除以N的余数记为Q,Q对应一个CPU核心编号,将所述数据包分配给编号为Q的CPU核心进行转发处理。

具体地,获取所述用户IP地址为M,其中,M为一个四字节的整数,M的数值范围为0-4294967295;计算M除以N的余数记为Q,Q对应一个CPU核心编号,其中,Q的数值范围为0-(N-1),也就是说,Q为N个CPU核心中的一个;然后将所述数据包分配给编号为Q的CPU核心进行转发处理,将同一个用户的用户上行数据包和用户下行数据包始终分配给同一个CPU核心处理。例如,用户A对外通信,溯源分配转发是指多核CPU转发用户A对外的双向通信数据包(用户上行数据包和用户下行数据包)时,处理这些数据包的CPU核心总是同一个。

本发明将同一个用户的数据包(包括用户上行数据包和用户下行数据包)溯源分配给同一个CPU核心处理,使得用户信息只需存储到一个CPU核心的高速缓存,提高了高速缓存的利用率;同时在单个CPU核心上就能实现单个用户的流量统计和计费;最终使得5G通信用户面的处理转发能力随着CPU核心数量的增加而增加。

进一步地,如图4所示,基于上述5G通信数据包转发方法,本发明还相应提供了一种终端,所述终端包括处理器10、存储器20及显示器30。图4仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据,例如所述安装终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有5G通信数据包转发程序40,该5G通信数据包转发程序40可被处理器10所执行,从而实现本申请中5G通信数据包转发方法。

所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述5G通信数据包转发方法等。

所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述终端的信息以及用于显示可视化的用户界面。所述终端的部件10-30通过系统总线相互通信。

在一实施例中,当处理器10执行所述存储器20中5G通信数据包转发程序40时实现以下步骤:

预先使用N个CPU核心运行5G通信用户面转发系统,并将N个CPU核心依次编号为0、1、2、…、(N-2)和(N-1);

接收数据包,判断所述数据包为用户上行数据包或者为用户下行数据包;

如果所述数据包为用户上行数据包,则读取所述用户上行数据包中的源IP地址,并将所述源IP地址记为用户IP地址;

如果所述数据包为用户下行数据包,则读取所述用户下行数据包中的目的IP地址,并将所述目的IP地址记为用户IP地址;

获取所述用户IP地址为M,计算M除以N的余数记为Q,Q对应一个CPU核心编号,将所述数据包分配给编号为Q的CPU核心进行转发处理。

可选地,所述的5G通信数据包转发方法,其中,N为大于或者等于2的正整数。

可选地,所述的5G通信数据包转发方法,其中,所述用户上行数据包为用户发给其它主机的数据包。

可选地,所述的5G通信数据包转发方法,其中,所述用户下行数据包为其它主机发给用户的数据包。

可选地,所述的5G通信数据包转发方法,其中,M为一个四字节的整数。

可选地,所述的5G通信数据包转发方法,其中,M的数值范围为0-4294967295。

可选地,所述的5G通信数据包转发方法,其中,Q的数值范围为0-(N-1)。

可选地,所述的5G通信数据包转发方法,其中,将所述数据包分配给编号为Q的CPU核心进行转发处理用于保证将同一个用户的用户上行数据包和用户下行数据包始终分配给同一个CPU核心处理。

本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有5G通信数据包转发程序,所述5G通信数据包转发程序被处理器执行时实现如上所述的5G通信数据包转发方法的步骤。

综上所述,本发明提供一种5G通信数据包转发方法和终端,所述方法包括:预先使用N个CPU核心运行5G通信用户面转发系统,并将N个CPU核心依次编号为0、1、2、…、(N-2)和(N-1);接收数据包,判断所述数据包为用户上行数据包或者为用户下行数据包;如果所述数据包为用户上行数据包,则读取所述用户上行数据包中的源IP地址,并将所述源IP地址记为用户IP地址;如果所述数据包为用户下行数据包,则读取所述用户下行数据包中的目的IP地址,并将所述目的IP地址记为用户IP地址;获取所述用户IP地址为M,计算M除以N的余数记为Q,Q对应一个CPU核心编号,将所述数据包分配给编号为Q的CPU核心进行转发处理。本发明将同一个用户的数据包溯源分配给同一个CPU核心处理,使得用户信息只需存储到一个CPU核心的高速缓存,提高高速缓存的利用率;同时在单个CPU核心上也能实现单个用户的流量统计和计费,最终使得5G通信用户面的处理转发能力随着CPU核心数量的增加而增加。

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

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 一种5G通信数据包转发方法和终端
  • 数据包转发方法、装置及移动终端
技术分类

06120113096067