一种云原生UPF信令面负载均衡选择方法及系统与流程

文档序号:29702097发布日期:2022-04-16 14:47阅读:238来源:国知局
一种云原生UPF信令面负载均衡选择方法及系统与流程
一种云原生upf信令面负载均衡选择方法及系统
技术领域
1.本发明涉及移动通信技术领域,尤其涉及一种云原生upf信令面负载均衡选择方法及系统。


背景技术:

2.在5g(5th generation mobile communication technology,第五代移动通信技术)中,5g核心网(5gc)整体拆分为cpf(control plane function,控制面功能)和upf(user plane function,用户面功能)两类,如图1所示。
3.控制面smf(session management function,会话管理功能)通过pfcp(packet forwarding control protocol,报文转发控制协议)配置upf,upf根据pfcp所携带的报文信息在an(access network,接入网络)和dn(data network,数据网络)之间建立隧道,并依据隧道信息和pfcp配置的转发规则,对ue(user equipment,用户设备)的数据进行转发、丢弃、缓存和qos等操作处理。在云原生核心网中,当upf分解为多个运行的服务实例后,需要解决控制面发给upf的pfcp消息如何路由选择upf服务实例问题。
4.因此,需要提出新的对云原生upf信令面进行负载均衡的方法,以解决控制面发给upf的pfcp消息如何路由选择upf服务实例问题。


技术实现要素:

5.本发明提供一种云原生upf信令面负载均衡选择方法及系统,用以解决现有技术中针对云原生核心网中缺乏控制面发给upf的pfcp消息如何路由选择upf服务实例方法的缺陷。
6.第一方面,本发明提供一种云原生upf信令面负载均衡选择方法,包括:
7.待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;
8.基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
9.根据本发明提供的一种云原生upf信令面负载均衡选择方法,所述待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例,包括:
10.获取信令消息,若判断所述信令消息为request类型,则进一步确认所述信令消息是否为会话级别消息;
11.若判断所述信令消息为会话级别消息,则进一步确认所述信令消息是否为pfcpsessionestablishmentrequest,若是,则调用metrics接口,计算得到每个upf服务实例的负荷load,确定load最小服务实例,否则获取所述信令消息中携带的up-seid,将所述up-seid与seid-upf表进行对比,确认upf服务实例;
12.若判断所述信令消息不是会话级别消息,则随机选择服务实例为所述upf服务实例。
13.根据本发明提供的一种云原生upf信令面负载均衡选择方法,所述调用metrics接口,计算得到每个upf服务实例的负荷load,确定load最小服务实例,包括:
14.通过所述metrics接口,获取每个upf服务实例的cpu占用率、内存占用率、服务实例容量和服务实例当前会话个数;
15.若判断所述cpu占用率大于第一阈值,或所述内存占用率大于第二阈值,或所述服务实例当前会话个数与所述服务实例容量比值大于第三阈值,则确定所述load为正无穷大;
16.若判断所述cpu占用率不大于第一阈值,所述内存占用率不大于第二阈值,以及所述服务实例当前会话个数与所述服务实例容量比值不大于第三阈值,则确定所述load为所述cpu占用率、所述内存占用率和所述服务实例当前会话个数与所述服务实例容量比值进行加权求和所得到。
17.根据本发明提供的一种云原生upf信令面负载均衡选择方法,所述获取所述信令消息中携带的up-seid,将所述up-seid与seid-upf表进行对比,确认upf服务实例,包括:
18.若所述seid-upf表中存在所述up-seid对应的服务实例,则确定所述up-seid对应的服务实例为所述upf服务实例;
19.若所述seid-upf表中不存在所述up-seid对应的服务实例,则随机选择服务实例为所述upf服务实例。
20.根据本发明提供的一种云原生upf信令面负载均衡选择方法,所述待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例,还包括:
21.获取信令消息,若判断所述信令消息不是request类型,则进一步确认所述信令消息是否为pfcpsessionestablishmentresponse;
22.若判断所述信令消息为pfcpsessionestablishmentresponse,则获取消息头中的会话端点标识符处理seid字段,否则将所述信令消息发送至外部并结束流程;
23.基于所述seid字段确认在seid-upf表中是否存在所述seid字段对应的服务实例,若存在,则更新所述对应的服务实例的seid,将所述信令消息发送至外部并结束流程,否则基于所述seid-upf表的容量确定所述upf服务实例。
24.根据本发明提供的一种云原生upf信令面负载均衡选择方法,所述基于所述seid-upf表的容量确定所述upf服务实例,包括:
25.若判断所述seid-upf表已满,则基于最近最少使用页面置换算法lru对所述seid-upf表进行替换,将所述信令消息发送至外部并结束流程;
26.否则,向所述seid-upf表中插入所述seid字段与服务实例记录,将所述信令消息发送至外部并结束流程。
27.第二方面,本发明还提供一种云原生upf信令面负载均衡选择系统,包括:
28.选择模块,用于待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;
29.处理模块,用于基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
30.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并
可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述云原生upf信令面负载均衡选择方法的步骤。
31.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述云原生upf信令面负载均衡选择方法的步骤。
32.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述云原生upf信令面负载均衡选择方法的步骤。
33.本发明提供的云原生upf信令面负载均衡选择方法及系统,通过在云原生核心网内,通过云原生upf信令面负载均衡选择算法来处理外部smf和upf集群之间的信令通信,使得容器化的upf集群能满足弹性、可靠性和扩展性要求。
附图说明
34.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是现有技术提供的核心网用户面功能和控制面功能结构图;
36.图2是本发明提供的云原生upf信令面负载均衡选择方法的流程示意图之一;
37.图3是本发明提供的云原生upf信令面负载均衡器架构图;
38.图4是本发明提供的pfcp消息头格式示意图;
39.图5是本发明提供的云原生upf信令面负载均衡选择方法的流程示意图之二;
40.图6是本发明提供的云原生upf信令面负载均衡选择系统的结构示意图;
41.图7是本发明提供的电子设备的结构示意图。
具体实施方式
42.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.图2是本发明提供的云原生upf信令面负载均衡选择方法的流程示意图之一,如图2所示,包括:
44.步骤s1,待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;
45.步骤s2,基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
46.需要说明的是,在核心网云原生演进过程中,关键在于将网络功能按照功能等维度拆分为若干细粒度的微服务,并结合虚拟化和微服务治理,实现云原生弹性、可靠性和可扩展性的要求。
47.本发明提出一种云原生upf信令面负载均衡算法,部署在upf信令面负载均衡器装
置上,该装置根据云原生upf信令面负载均衡选择算法在pfcp会话建立时选择upf集群的服务实例,并通过粘性策略保持会话统一。通过该算法,可以实现云原生upf集群弹性、可靠性和扩展性的要求。云原生upf信令面负载均衡器架构图如图3所示。
48.对于smf与upf之间的n4接口,是5g核心网控制面与转发面的接口,将seid(session endpoint identifier handling,会话端点标识符处理)作为控制面网元实体(即smf与upf)间pfcp会话上下文的唯一标识f-seid(fully qualified seid)包括pfcp实体的ip地址和分配的seid,由cpf和upf实体各自独立分配,并在pfcp消息中发送给对方,对方pfcp实体通过该标识作为识别pfcp会话的唯一标识。pfcp端点在发送消息时必须使用本地分配的对等pfcp端的seid值。seid值在pfcp端点之间使用pfcp消息交换。pfcp实体想对等pfcp实体发送seid值,并期望通过“f-seid”ie接收与该pfcp会话相关的所有后续控制平面消息。与pfcp会话相关的消息应与pfcp会话共享相同的f-seid。应在pfcp会话释放后释放f-seid。
49.pfcp消息头可选项seid,占8字节。对于节点相关的消息,pfcp消息头不包含seid字段;对于会话相关的消息,必须包含seid,在会话建立请求中,seid置为全0,pfcp消息头的通用格式如图4所示。
50.本发明通过在云原生核心网内,根据云原生upf信令面负载均衡选择算法来处理外部smf和upf集群之间的信令通信,使得容器化的upf集群能满足弹性、可靠性和扩展性要求。
51.基于上述实施例,步骤s1包括:
52.获取信令消息,若判断所述信令消息为request类型,则进一步确认所述信令消息是否为会话级别消息;
53.若判断所述信令消息为会话级别消息,则进一步确认所述信令消息是否为pfcpsessionestablishmentrequest,若是,则调用metrics接口,计算得到每个upf服务实例的负荷load,确定load最小服务实例,否则获取所述信令消息中携带的up-seid,将所述up-seid与seid-upf表进行对比,确认upf服务实例;
54.若判断所述信令消息不是会话级别消息,则随机选择服务实例为所述upf服务实例。
55.具体地,如图5所示的流程图,首先是监控信令消息,获取到信令消息后,检查该消息是否为request类型,如果是则进一步判断是否为会话级别消息,此处对于节点相关消息或会话相关消息,pfcp中消息头是需要区分是否包含seid。
56.若进一步判断为会话级别消息,检查该消息是否为pfcpsessionestablishmentrequest,如果是则调用metrics接口,计算得到每个upf服务实例的负荷load,确定load最小服务实例,否则获取信令消息中携带的up-seid,与seid-upf表进行对比,以获得upf服务实例。
57.若进一步判断不是会话级别消息,则随机选择服务实例为所述upf服务实例。
58.本发明通过判断信令消息的类型为request类型,然后按照相应的路由选择策略,得到相应的upf服务实例,满足upf集群的弹性、可靠性和扩展性的要求。
59.基于上述任一实施例,所述调用metrics接口,计算得到每个upf服务实例的负荷load,确定load最小服务实例,包括:
60.通过所述metrics接口,获取每个upf服务实例的cpu占用率、内存占用率、服务实例容量和服务实例当前会话个数;
61.若判断所述cpu占用率大于第一阈值,或所述内存占用率大于第二阈值,或所述服务实例当前会话个数与所述服务实例容量比值大于第三阈值,则确定所述load为正无穷大;
62.若判断所述cpu占用率不大于第一阈值,所述内存占用率不大于第二阈值,以及所述服务实例当前会话个数与所述服务实例容量比值不大于第三阈值,则确定所述load为所述cpu占用率、所述内存占用率和所述服务实例当前会话个数与所述服务实例容量比值进行加权求和所得到。
63.具体地,调用metrics接口,计算每个upf服务实例的load,采用如下算法:
64.获取upf服务实例的cpu占用率cpu,内存占用率memory,服务实例容量capacity和服务实例当前的会话个数senumber,计算upf服务实例的负载load,具体如下:
[0065][0066]
根据上面计算原则,得到每个upf服务实例的load,选取load最小的服务实例作为upf服务实例。
[0067]
本发明通过分别计算服务实例的cpu占用率、内存占用率、服务实例容量和服务实例当前会话个数,并设定一定的阈值得到高负载和低负载状态下的负荷,以选取负荷最小的服务实例。
[0068]
基于上述任一实施例,所述获取所述信令消息中携带的up-seid,将所述up-seid与seid-upf表进行对比,确认upf服务实例,包括:
[0069]
若所述seid-upf表中存在所述up-seid对应的服务实例,则确定所述up-seid对应的服务实例为所述upf服务实例;
[0070]
若所述seid-upf表中不存在所述up-seid对应的服务实例,则随机选择服务实例为所述upf服务实例。
[0071]
具体地,若进一步判断不是会话级别消息,则获取信令消息中携带的up-seid,将该up-seid作为查询条件,查询seid-upf表,看表中是否有该seid记录的服务实例,若查询到表中有该seid记录的服务实例,则选择该实例作为upf服务实例,否则即随机选择upf的服务实例,将信令消息发送到upf服务实例,结束进程。
[0072]
本发明通过对比seid-upf表中的seid记录,选取具体的upf服务实例,具有执行效率高以及可靠性高的特点。
[0073]
基于上述任一实施例,步骤s1还包括:
[0074]
获取信令消息,若判断所述信令消息不是request类型,则进一步确认所述信令消息是否为pfcpsessionestablishmentresponse;
[0075]
若判断所述信令消息为pfcpsessionestablishmentresponse,则获取消息头中的会话端点标识符处理seid字段,否则将所述信令消息发送至外部并结束流程;
[0076]
基于所述seid字段确认在seid-upf表中是否存在所述seid字段对应的服务实例,
若存在,则更新所述对应的服务实例的seid,将所述信令消息发送至外部并结束流程,否则基于所述seid-upf表的容量确定所述upf服务实例。
[0077]
具体地,如图5所示,对于信令消息的另一种情况,若判断为不是request类型,需要进一步确认该信令消息是否为pfcpsessionestablishmentresponse,若是,则获取消息头中的seid字段,以消息头中的seid作为查询条件,查询seid-upf表,看表中是否有该seid的记录的服务实例,如果表中存在该seid记录的服务实例,更新该服务实例的seid,将所述信令消息发送至外部并结束流程,如果表中不存在该seid记录的服务实例,基于所述seid-upf表的容量确定所述upf服务实例。
[0078]
此外,若确认该信令消息不是为pfcpsessionestablishmentresponse,则直接将信令消息发送至外部并结束流程。
[0079]
本发明通过判断信令消息的类型为非request类型,然后按照相应的路由选择策略,得到相应的upf服务实例,满足upf集群的弹性、可靠性和扩展性的要求。
[0080]
基于上述任一实施例,所述基于所述seid-upf表的容量确定所述upf服务实例,包括:
[0081]
若判断所述seid-upf表已满,则基于最近最少使用页面置换算法lru对所述seid-upf表进行替换,将所述信令消息发送至外部并结束流程;
[0082]
否则,向所述seid-upf表中插入所述seid字段与服务实例记录,将所述信令消息发送至外部并结束流程。
[0083]
具体地,本发明中针对基于seid-upf表的容量确定upf服务实例,包括:
[0084]
检查seid-upf表的容量是否已满,若容量已经满了,则根据lru(least recently used,最近最少使用页面置换算法)对seid-upf表进行替换,再将信令消息发送至外部并结束流程;
[0085]
若上述seid-upf表的容量还没有满,则向表中插入seid与服务实例的记录,再将信令消息发送至外部并结束流程。
[0086]
本发明通过判断seid-upf表的容量,进一步判断是否需要更新该表中的seid信息,能及时获得upf服务实例中负荷最小的服务实例,确保业务的流畅性。
[0087]
下面根据图5中的云原生upf信令面负载均衡选择方法的完整流程进行说明,如图5所示,具体步骤包括:
[0088]
(1)算法开始;
[0089]
(2)监控信令消息,当获取到信令消息后,检查消息是否为request类型。如果消息类型为request类型,前往步骤(3);否则,前往步骤(8);
[0090]
(3)检查是否为会话级别的消息。如果是会话级别的消息,前往步骤(4);否则,前往步骤(20);
[0091]
(4)检查消息是否为pfcpsessionestablishmentrequest,如果消息是该类型,前往步骤(5);否则,前往步骤(17);
[0092]
(5)调用metrics接口,获取upf服务实例的cpu占用率cpu,内存占用率memory,服务实例容量capacity和服务实例当前的会话个数senumber;
[0093]
(6)设upf服务实例的负载为load:
[0094][0095]
(7)计算出个upf服务实例的load,选取load最小的服务实例;
[0096]
(8)如果不是request类型消息,再检查消息是否为pfcpsessionestablishmentresponse,如果是该类型消息,前往步骤(9);否则,前往步骤(15);
[0097]
(9)获取消息头中的seid字段;
[0098]
(10)将该seid作为查询条件,查询seid-upf表,看表中是否有该seid的记录的服务实例。如果表中存在该seid记录的服务实例,前往步骤(11);否则,前往步骤(12);
[0099]
(11)更新该服务实例的seid,前往步骤(16);
[0100]
(12)检查seid-upf表是否已满。如果seid-upf表已满,前往步骤(13);否则,前往步骤(14);
[0101]
(13)根据lru算法对seid-upf表进行替换,前往步骤(16);
[0102]
(14)向表中插入seid与服务实例的记录,前往步骤(16);
[0103]
(15)如果该消息类型不是pfcpsessionestablishmentrespone,前往步骤(16);
[0104]
(16)将信令消息发送给外部,前往步骤(22);
[0105]
(17)获取信令消息中携带的up-seid;
[0106]
(18)将该up-seid作为查询条件,查询seid-upf表,看表中是否有该seid的记录的服务实例;如果表中存在该seid记录的服务实例,前往步骤(19);否则,前往步骤(20);
[0107]
(19)选择该upf服务实例;
[0108]
(20)随机选择upf服务实例;
[0109]
(21)发送信令消息到upf服务实例;
[0110]
(22)结束算法流程。
[0111]
下面对本发明提供的云原生upf信令面负载均衡选择系统行描述,下文描述的云原生upf信令面负载均衡选择系统与上文描述的云原生upf信令面负载均衡选择方法可相互对应参照。
[0112]
图6是本发明提供的云原生upf信令面负载均衡选择系统的结构示意图,如图6所示,包括:选择模块61和处理模块62,其中:
[0113]
选择模块61用于待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;处理模块62用于基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
[0114]
本发明通过在云原生核心网内,通过云原生upf信令面负载均衡选择算法来处理外部smf和upf集群之间的信令通信,使得容器化的upf集群能满足弹性、可靠性和扩展性要求。
[0115]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行云原生upf信令面负载均衡选择方
法,该方法包括:待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
[0116]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0117]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的云原生upf信令面负载均衡选择方法,该方法包括:待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
[0118]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的云原生upf信令面负载均衡选择方法,该方法包括:待报文转发控制协议pfcp会话建立时,基于用户面功能upf信令面负载均衡选择算法确定upf集群中对应的upf服务实例;基于所述upf服务实例,对会话管理功能smf和upf之间的pfcp消息进行处理。
[0119]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0120]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0121]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1