UPF signaling plane load allocation method, system, electronic device and storage medium

By applying the UPF signaling load provisioning algorithm in the cloud-native core network, the load of the UPF service instance is dynamically allocated, which solves the problem of excessive load or failure of the service instance, and realizes high reliability and autonomous failure migration of the cloud-native UPF cluster.

CN115038123BActive Publication Date: 2025-04-08INSPUR COMM TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210451016.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-26
Publication Date
2025-04-08
Estimated Expiration
2042-04-26

AI Technical Summary

Technical Problem

In the cloud-native core network, multiple running UPF service instances lack dynamic session message provisioning, resulting in excessive loading or failure of some service instances.

Method used

During PFCP signaling transmission, the UPF service instance load provisioning algorithm is used to provision the load of the UPF service instance in the UPF cluster, including obtaining the container pod status information of the service instance through the Kubernetes API, calculating the number of session information to be shunted, and placing the load to other service instances based on the preset shunt ratio.

Benefits of technology

It realizes high reliability and autonomous failure migration of cloud-native UPF clusters, avoiding session information loss caused by excessive load of service instances or failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115038123B_ABST
    Figure CN115038123B_ABST
Patent Text Reader

Abstract

The present invention provides a UPF signaling plane load allocation method, system, electronic device and storage medium, including: when PFCP signaling is transmitted, the UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm; based on the allocated UPF service instance, the PFCP message between the SMF and the UPF is processed. The present invention applies the cloud native UPF signaling plane dynamic load allocation algorithm, and when the PFCP signaling is transmitted, when the service instance load in the UPF cluster is too large, dynamic load redistribution is performed to ensure that all service instances in the cluster work normally, and achieve the requirements of high reliability and autonomous fault migration of the cloud native UPF cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of mobile communication technology, and in particular to a UPF signaling plane load allocation method, system, electronic device and storage medium. Background Art

[0002] In 5G (5th Generation Mobile Communication Technology), the 5G core network (5GC) is divided into two categories: CPF (Control Plane Function) and UPF (User Plane Function), such as Figure 1 shown.

[0003] The control plane SMF (Session Management function) configures UPF through PFCP (Packet Forwarding Control Protocol). UPF establishes a tunnel between AN (Access Network) and DN (Data Network) based on the message information carried by PFCP, and forwards, discards, caches, and performs QoS operations on UE (User Equipment) data based on the tunnel information and the forwarding rules configured by PFCP. In the cloud-native core network, when UPF (User Plane Function) is decomposed into multiple running service instances, different sessions are established on multiple service instances. When a service instance is overloaded or fails, the session information established on it needs to be failed over.

[0004] Therefore, it is necessary to propose a new method for load allocation on the cloud-native UPF signaling plane. Summary of the invention

[0005] The present invention provides a UPF signaling plane load allocation method, system, electronic device and storage medium to solve the defect in the prior art that multiple service instances running in a cloud native core network lack dynamic session message allocation, resulting in excessive load or failure of some service instances.

[0006] In a first aspect, the present invention provides a UPF signaling plane load allocation method, comprising:

[0007] When the PFCP signaling is transmitted, the load of the UPF service instance in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm;

[0008] Based on the deployed UPF service instance, the PFCP messages between SMF and UPF are processed.

[0009] According to a UPF signaling plane load allocation method provided by the present invention, the UPF service instance load in the UPF cluster is allocated based on the user plane function UPF signaling plane load allocation algorithm, including:

[0010] Get the container pod status information of the service instance through the Kubernetes API;

[0011] If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances, and any service instance is in a running state, the number of session information to be diverted is calculated according to the running state information of any service instance;

[0012] Based on a first preset diversion ratio, the number of session information to be diverted is allocated to any service instance with a load smaller than the average load;

[0013] If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances and any service instance is in a faulty state, the difference between the load of any service instance and the average load of the UPF cluster is allocated to other service instances based on the second preset diversion ratio;

[0014] If it is determined that the number of service instances corresponding to the pod status information is greater than or equal to the total number of service instances, it is determined that the status update of all service instances is completed;

[0015] Update the session endpoint identifier SEID table record based on the deployed service instance load.

[0016] According to a UPF signaling plane load allocation method provided by the present invention, before obtaining the container pod status information of the service instance through the Kubernetes API, it also includes:

[0017] Call the metrics interface to obtain the CPU occupancy rate, memory occupancy rate, service instance capacity, and number of current sessions of the service instance through the metrics interface;

[0018] Determine the UPF service instance load based on the CPU occupancy rate, the memory occupancy rate, the service instance capacity and the number of current sessions of the service instance;

[0019] Obtain the total number of service instances in the UPF cluster, and calculate the average load of the UPF cluster based on the UPF service instance load and the total number of service instances;

[0020] Obtain several service instances whose load is less than the average load of the UPF cluster, calculate the difference between each service instance and the average load of the UPF cluster, and calculate the sum of all the differences.

[0021] According to a UPF signaling plane load allocation method provided by the present invention, the number of session information to be diverted is calculated according to the running status information of any service instance, including:

[0022] Determining that the CPU occupancy rate is greater than a first threshold, or the memory occupancy rate is greater than a second threshold, or the ratio of the service instance capacity to the number of current sessions of the service instance is greater than the first threshold;

[0023] Based on the current number of sessions of any service instance, the difference between the current number of sessions and the average load of the UPF cluster and the current load value, the number of session information to be diverted is obtained.

[0024] According to a UPF signaling plane load allocation method provided by the present invention, the number of session information to be distributed is allocated to any service instance with a load less than the average load based on a first preset distribution ratio, including:

[0025] Determine the first preset diversion ratio based on the difference between each service instance and the average load of the UPF cluster and the sum of all differences;

[0026] The number of session information to be diverted is multiplied by the first preset diversion ratio to obtain the number of session information distributed to any service instance with a load less than the average load.

[0027] According to a UPF signaling plane load allocation method provided by the present invention, the load of any service instance is allocated to other service instances based on a second preset diversion ratio, including:

[0028] Determining the second preset diversion ratio based on the current number of sessions of any service instance and the sum of all differences;

[0029] Multiply the difference between the load of any service instance and the average load of the UPF cluster by the second preset diversion ratio to obtain the number of session information allocated from any service instance with a load less than the average load.

[0030] In a second aspect, the present invention further provides a UPF signaling plane load allocation system, comprising:

[0031] A deployment module is used to deploy the UPF service instance load in the UPF cluster based on the UPF signaling plane load deployment algorithm when PFCP signaling is being transmitted;

[0032] The processing module is used to process the PFCP message between SMF and UPF based on the deployed UPF service instance.

[0033] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the UPF signaling plane load allocation method as described above is implemented.

[0034] The present invention also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, it implements any of the UPF signaling plane load allocation methods described above.

[0035] The present invention also provides a computer program product, including a computer program, which, when executed by a processor, implements any of the above-mentioned UPF signaling plane load allocation methods.

[0036] The UPF signaling plane load allocation method, system, electronic device and storage medium provided by the present invention apply the cloud-native UPF signaling plane dynamic load allocation algorithm. During PFCP signaling transmission, when the load of the service instance in the UPF cluster is too large, dynamic load redistribution is performed to ensure the normal operation of all service instances in the cluster, thereby achieving the requirements of high reliability and autonomous fault migration of the cloud-native UPF cluster. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0038] Figure 1 It is a core network user plane function and control plane function structure diagram provided by the existing technology;

[0039] Figure 2 It is one of the flow charts of the UPF signaling plane load allocation method provided by the present invention;

[0040] Figure 3 This is the architecture diagram of the cloud native UPF signaling plane load balancer provided by the present invention;

[0041] Figure 4 It is a schematic diagram of the PFCP message header format provided by the present invention;

[0042] Figure 5 This is the second flow chart of the UPF signaling plane load allocation method provided by the present invention;

[0043] Figure 6 It is a structural schematic diagram of the UPF signaling plane load allocation system provided by the present invention;

[0044] Figure 7 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0046] Figure 2 It is one of the flow charts of the UPF signaling plane load allocation method provided by the present invention, such as Figure 2 As shown, including:

[0047] Step 100: When the PFCP signaling is transmitted, the UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm;

[0048] Step 200: Based on the deployed UPF service instance, the PFCP message between the SMF and UPF is processed.

[0049] It should be noted that in the process of core network cloud-native evolution, the key is to split network functions into several fine-grained microservices according to functional dimensions, and combine virtualization and microservice governance to achieve cloud-native elasticity, reliability and scalability requirements.

[0050] The present invention proposes a cloud native UPF signaling plane load allocation algorithm, which is deployed on a UPF signaling plane load balancer device. The device performs dynamic load redistribution when the service instance load in the UPF cluster is too large during PFCP signaling transmission according to the cloud native UPF signaling plane dynamic load allocation algorithm to ensure that all service instances in the cluster operate normally. Through this algorithm, the requirements of high reliability and autonomous fault migration of the cloud native UPF cluster can be achieved. The architecture diagram of the cloud native UPF signaling plane load balancer is shown in the figure below: Figure 3 shown.

[0051] The Stream Endpoint Identifier (SEID) is the unique identifier of the PFCP session context between the PF control plane network element entities (i.e., SMF and UPF). The F-SEID includes the IP address of the PFCP entity and the assigned SEID, which is independently assigned by the CP and UPF entities and sent to each other in the PFCP message. The other PFCP entity uses this identifier as the unique identifier to identify the PFCP session.

[0052] The PFCP message header has an optional SEID, which occupies 8 bytes. For node-related messages, the PFCP message header does not contain the SEID field; for session-related messages, the SEID must be included. In the session establishment request, the SEID is set to all 0s. The SEID field is used in the SEID-UPF table to indicate the correspondence between session information and service instances. The general format of the PFCP message header is as follows: Figure 4 shown.

[0053] The cloud-native UPF signaling plane dynamic load allocation algorithm proposed in this invention aims to solve the problem that when a UPF service instance fails or has a high load, the algorithm can dynamically allocate the session information on it to other service instances with lower loads. The entire algorithm is executed periodically, and the periodic information can be input as parameters or configuration items when the algorithm is started, that is, the algorithm is executed according to the input periodicity.

[0054] During PFCP signaling transmission, the present invention performs dynamic load redistribution when the service instance load in the UPF cluster is too large to ensure that all service instances in the cluster operate normally, thereby achieving the requirements of high reliability and autonomous fault migration of the cloud-native UPF cluster.

[0055] Based on the above embodiment, the user plane function UPF signaling plane load allocation algorithm is used to allocate the UPF service instance load in the UPF cluster, including:

[0056] Get the container pod status information of the service instance through the Kubernetes API;

[0057] If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances, and any service instance is in a running state, the number of session information to be diverted is calculated according to the running state information of any service instance;

[0058] Based on a first preset diversion ratio, the number of session information to be diverted is allocated to any service instance with a load smaller than the average load;

[0059] If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances and any service instance is in a faulty state, the difference between the load of any service instance and the average load of the UPF cluster is allocated to other service instances based on the second preset diversion ratio;

[0060] If it is determined that the number of service instances corresponding to the pod status information is greater than or equal to the total number of service instances, it is determined that the status update of all service instances is completed;

[0061] Update the session endpoint identifier SEID table record based on the deployed service instance load.

[0062] Specifically, Figure 5 As shown, first call the pod information of the service instance through the Kubernetes API to obtain the pod status.

[0063] Set the current number of service instances in the UPF cluster to i, and compare the current number of service instances i with the total number of service instances n. If the number of service instances is less than the total number of service instances, and any service instance is in the running state, further calculate the number of session information to be diverted on the service instance, and according to the first preset diversion ratio, divert the number of session information to be diverted to other service instances with low load.

[0064] If the number of service instances is less than the total number of service instances and any service instance is in a faulty state, the difference between the load of the service instance and the average load of the UPF cluster is further allocated to other service instances according to the second preset diversion ratio.

[0065] If it is determined at the beginning that the current number of service instances exceeds the total number of service instances, it is considered that the status of all service instances in the UPF cluster has been checked and updated, and the algorithm is restarted after waiting for 10 minutes;

[0066] When the deployment is completed, the records in the SEID table are updated synchronously, and the service instance corresponding to the SEID is updated.

[0067] Based on the cloud-native core network, the present invention uses the UPF signaling plane load allocation algorithm to solve the problem that when a UPF service instance fails or has a high load, the algorithm can dynamically allocate the session information on it to other service instances with lower loads, so that the containerized UPF cluster can meet the requirements of high reliability and autonomous fault migration.

[0068] Based on any of the above embodiments, before obtaining the container pod status information of the service instance through the Kubernetes API, the method further includes:

[0069] Call the metrics interface to obtain the CPU occupancy rate, memory occupancy rate, service instance capacity, and number of current sessions of the service instance through the metrics interface;

[0070] Determine the UPF service instance load based on the CPU occupancy rate, the memory occupancy rate, the service instance capacity and the number of current sessions of the service instance;

[0071] Obtain the total number of service instances in the UPF cluster, and calculate the average load of the UPF cluster based on the UPF service instance load and the total number of service instances;

[0072] Obtain several service instances whose load is less than the average load of the UPF cluster, calculate the difference between each service instance and the average load of the UPF cluster, and calculate the sum of all the differences.

[0073] Specifically, Figure 5 As shown, the metrics interface is called to obtain the CPU usage cpu, memory usage memory, service instance capacity capacity and the current number of sessions seNumber of the service instance of the UPF service instance, and the load of the UPF service instance is obtained as load:

[0074]

[0075] Assume that the number of UPF cluster service instances is n, and the average load of the UPF cluster is calculated as bLoad:

[0076]

[0077] Get the service instances whose load is less than bLoad, and calculate the difference between bLoad and each service instance as ΔLoad:

[0078] ΔLoad=bLoad-load

[0079] The sum of all ΔLoad differences is calculated to be sLoad:

[0080]

[0081] By calculating the average load of the UPF cluster, the load of each service instance, and the difference between the load of a single service instance and the average load of the cluster, the present invention can dynamically obtain the real-time load status of each service instance, which is convenient for subsequent deployment calculations.

[0082] Based on any of the above embodiments, the step of calculating the number of session information to be diverted according to the running status information of any of the service instances includes:

[0083] Determining that the CPU occupancy rate is greater than a first threshold, or the memory occupancy rate is greater than a second threshold, or the ratio of the service instance capacity to the number of current sessions of the service instance is greater than the first threshold;

[0084] Based on the current number of sessions of any service instance, the difference between the current number of sessions and the average load of the UPF cluster and the current load value, the number of session information to be diverted is obtained.

[0085] Specifically, obtain the i-th service instance in the UPF cluster and set it to instance[i].

[0086] Check if instance[i].cpu>0.8 or instance[i].memory>0.7 or instance[i].capacity / instance[i].seNumber>0.8 of the service instance. That is, if any of the above conditions is met, the number of session information that needs to be offloaded from the service instance with a higher load is calculated to be s:

[0087]

[0088] The present invention solves the problem that when the load of a UPF service instance is high, the algorithm can dynamically allocate the session information on it to other service instances with lower loads through a UPF signaling plane load allocation algorithm.

[0089] Based on any of the above embodiments, allocating the number of session information to be distributed to any service instance with a load smaller than the average load based on the first preset distribution ratio includes:

[0090] Determine the first preset diversion ratio based on the difference between each service instance and the average load of the UPF cluster and the sum of all differences;

[0091] The number of session information to be diverted is multiplied by the first preset diversion ratio to obtain the number of session information distributed to any service instance with a load less than the average load.

[0092] Specifically, Figure 5 As shown in Figure 1, a service instance with positive ΔLoad in the UPF cluster is selected, and each service instance with positive ΔLoad receives Δs of session information from a service instance with a higher load.

[0093]

[0094] The present invention solves the problem that when the load of a UPF service instance is high, the algorithm can dynamically allocate the session information on it to other service instances with lower loads through a UPF signaling plane load allocation algorithm.

[0095] Based on any of the above embodiments, allocating the load of any of the service instances to other service instances based on the second preset split ratio includes:

[0096] Determining the second preset diversion ratio based on the current number of sessions of any service instance and the sum of all differences;

[0097] Multiply the difference between the load of any service instance and the average load of the UPF cluster by the second preset diversion ratio to obtain the number of session information allocated from any service instance with a load less than the average load.

[0098] Specifically, Figure 5 As shown in the figure, the service instance with positive ΔLoad in the UPF cluster is selected, and the session information obtained by each service instance with positive ΔLoad from the faulty service instance is calculated as Δs:

[0099]

[0100] The present invention solves the problem of a UPF service instance failing by using a UPF signaling plane load allocation algorithm. The algorithm can dynamically allocate the session information on the UPF service instance to other service instances with lower loads.

[0101] Below Figure 5 The complete process of the cloud native UPF signaling plane load allocation method shown in the figure is described, and the specific steps include:

[0102] (1) The algorithm starts.

[0103] (2) Call the metrics interface to obtain the CPU usage cpu, memory usage memory, service instance capacity capacity, and current session number seNumber of the UPF service instance.

[0104] (3) Let the load of the UPF service instance be load:

[0105]

[0106] (4) Assume that the number of UPF cluster service instances is n, and calculate the average load of the UPF cluster as bLoad:

[0107]

[0108] (5) Obtain service instances whose load is less than bLoad, and calculate the difference between bLoad and each service instance as ΔLoad:

[0109] ΔLoad=bLoad-load

[0110] (6) Calculate the sum of the differences of all ΔLoad as sLoad:

[0111]

[0112] (7) Call the pod information of the service instance through the Kubernetes API to obtain the pod status.

[0113] (8) Let i = 0.

[0114] (9) Determine whether i < n holds. If it is, go to step (10); otherwise, go to step (21).

[0115] (10) Obtain the i-th service instance in the UPF cluster and set it as instance[i].

[0116] (11) Check whether the pod status of the service instance instance[i] is running. If the pod status is running, go to step (12); otherwise, go to step (19).

[0117] (12) Check whether instance[i].cpu > 0.8 or instance[i].memory > 0.7 or instance[i].capacity / instance[i].seNumber > 0.8. If one of the rules is satisfied, go to step (13); otherwise, go to step (18).

[0118] (13) Calculate that the number of session information to be diverted from the service instance with a higher load is s,

[0119]

[0120] (14) Select the service instances in the UPF cluster with a positive ΔLoad.

[0121] (15) The session information obtained by each service instance with a positive ΔLoad from the service instance with a higher load is Δs:

[0122]

[0123] (16) Transfer the session information on the faulty or service instance with a higher load.

[0124] (17) Update the SEID table and update the service examples corresponding to the SEID.

[0125] (18) Let i = i + 1 and go to step (9).

[0126] (19) Select the service instance with positive ΔLoad in the UPF cluster.

[0127] (20) Calculate the session information Δs that each service instance with positive ΔLoad obtains from the faulty service instance, and go to step (17).

[0128]

[0129] (21) After the status of all service instances in the UPF cluster is checked and updated, the algorithm is restarted after waiting for 10 minutes.

[0130] (22)The algorithm ends.

[0131] The UPF signaling plane load allocation system provided by the present invention is described below. The UPF signaling plane load allocation system described below and the UPF signaling plane load allocation method described above can be referenced to each other.

[0132] Figure 6 Schematic diagram of the structure of the UPF signaling plane load allocation system provided by the present invention, such as Figure 6 As shown, it includes: a deployment module 61 and a processing module 62, wherein:

[0133] The allocation module 61 is used to allocate the UPF service instance load in the UPF cluster based on the UPF signaling plane load allocation algorithm when the PFCP signaling is transmitted; the processing module 62 is used to process the PFCP message between the SMF and the UPF based on the allocated UPF service instance.

[0134] The cloud-native UPF signaling plane dynamic load allocation algorithm proposed in the present invention aims to solve the problem that when a UPF service instance fails or has a high load, the algorithm can dynamically allocate the session information on it to other service instances with lower loads. The entire algorithm is executed periodically, and the periodic information can be input as parameters or configuration items when the algorithm is started, that is, the algorithm is executed according to the input periodicity.

[0135] Figure 7 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 7As shown, the electronic device may include: a processor 710, a communication interface 720, a memory 730 and a communication bus 740, wherein the processor 710, the communication interface 720 and the memory 730 communicate with each other through the communication bus 740. The processor 710 may call the logic instructions in the memory 730 to execute the UPF signaling plane load allocation method, the method comprising: when the PFCP signaling is transmitted, the UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm; based on the allocated UPF service instance, the PFCP message between the SMF and the UPF is processed.

[0136] In addition, the logic instructions in the above-mentioned memory 730 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.

[0137] On the other hand, the present invention also provides a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the UPF signaling plane load allocation method provided by the above methods. The method includes: when PFCP signaling is transmitted, the UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm; based on the allocated UPF service instance, the PFCP message between the SMF and the UPF is processed.

[0138] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, it is implemented to execute the UPF signaling plane load allocation method provided by the above-mentioned methods. The method includes: when PFCP signaling is transmitted, the UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm; based on the allocated UPF service instance, the PFCP message between the SMF and the UPF is processed.

[0139] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0140] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0141] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A UPF signaling plane load allocation method, characterized in that: include: When the PFCP signaling is transmitted, the UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm; Process the PFCP messages between the session management function SMF and UPF based on the deployed UPF service instance; The user plane function UPF signaling plane load allocation algorithm is used to allocate the UPF service instance load in the UPF cluster, including: Get the container pod status information of the service instance through the Kubernetes API; If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances, and any service instance is in a running state, the number of session information to be diverted is calculated according to the running state information of any service instance; Based on a first preset diversion ratio, the number of session information to be diverted is allocated to any service instance with a load smaller than the average load; If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances and any service instance is in a faulty state, the difference between the load of any service instance and the average load of the UPF cluster is allocated to other service instances based on the second preset diversion ratio; If it is determined that the number of service instances corresponding to the pod status information is greater than or equal to the total number of service instances, it is determined that the status update of all service instances is completed; Update the session endpoint identifier SEID table record according to the deployed service instance load; The calculating the number of session information to be diverted according to the running status information of any service instance includes: Determining that the CPU usage is greater than a first threshold, or the memory usage is greater than a second threshold, or the ratio of the service instance capacity to the number of current sessions of the service instance is greater than the first threshold; Based on the current number of sessions of any service instance, the difference between the current number of sessions and the average load of the UPF cluster and the current load value, the number of session information to be diverted is obtained; The step of allocating the number of session information to be distributed to any service instance with a load smaller than the average load based on the first preset distribution ratio includes: Determine the first preset diversion ratio based on the difference between each service instance and the average load of the UPF cluster and the sum of all differences; Multiplying the number of session information to be diverted by the first preset diversion ratio to obtain the number of session information distributed to any service instance with a load less than the average load; The allocating the load of any one of the service instances to other service instances based on the second preset split ratio includes: Determining the second preset diversion ratio based on the current number of sessions of any service instance and the sum of all differences; Multiply the difference between the load of any service instance and the average load of the UPF cluster by the second preset diversion ratio to obtain the number of session information allocated from any service instance with a load less than the average load.

2. The UPF signaling plane load allocation method according to claim 1 is characterized in that: Before obtaining the container pod status information of the service instance through the Kubernetes API, the following is also included: Call the metrics interface to obtain the CPU occupancy rate, memory occupancy rate, service instance capacity, and number of current sessions of the service instance through the metrics interface; Determine the UPF service instance load based on the CPU occupancy rate, the memory occupancy rate, the service instance capacity and the number of current sessions of the service instance; Obtain the total number of service instances in the UPF cluster, and calculate the average load of the UPF cluster based on the UPF service instance load and the total number of service instances; Obtain several service instances whose load is less than the average load of the UPF cluster, calculate the difference between each service instance and the average load of the UPF cluster, and calculate the sum of all the differences.

3. A UPF signaling plane load allocation system, characterized in that: include: A deployment module is used to deploy the UPF service instance load in the UPF cluster based on the UPF signaling plane load deployment algorithm when PFCP signaling is being transmitted; A processing module, used to process PFCP messages between SMF and UPF based on the deployed UPF service instance; The UPF service instance load in the UPF cluster is allocated based on the UPF signaling plane load allocation algorithm, including: Get the container pod status information of the service instance through the Kubernetes API; If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances, and any service instance is in a running state, the number of session information to be diverted is calculated according to the running state information of any service instance; Based on a first preset diversion ratio, the number of session information to be diverted is allocated to any service instance with a load smaller than the average load; If it is determined that the number of service instances corresponding to the pod status information is less than the total number of service instances and any service instance is in a faulty state, the difference between the load of any service instance and the average load of the UPF cluster is allocated to other service instances based on the second preset diversion ratio; If it is determined that the number of service instances corresponding to the pod status information is greater than or equal to the total number of service instances, it is determined that the status update of all service instances is completed; Update the session endpoint identifier SEID table record according to the deployed service instance load; The calculating the number of session information to be diverted according to the running status information of any service instance includes: Determining that the CPU usage is greater than a first threshold, or the memory usage is greater than a second threshold, or the ratio of the service instance capacity to the number of current sessions of the service instance is greater than the first threshold; Based on the current number of sessions of any service instance, the difference between the current number of sessions and the average load of the UPF cluster and the current load value, the number of session information to be diverted is obtained; The step of allocating the number of session information to be distributed to any service instance with a load smaller than the average load based on the first preset distribution ratio includes: Determine the first preset diversion ratio based on the difference between each service instance and the average load of the UPF cluster and the sum of all differences; Multiplying the number of session information to be diverted by the first preset diversion ratio to obtain the number of session information distributed to any service instance with a load less than the average load; The allocating the load of any one of the service instances to other service instances based on the second preset split ratio includes: Determining the second preset diversion ratio based on the current number of sessions of any service instance and the sum of all differences; Multiply the difference between the load of any service instance and the average load of the UPF cluster by the second preset diversion ratio to obtain the number of session information allocated from any service instance with a load less than the average load.

4. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, it implements the UPF signaling plane load allocation method as described in any one of claims 1 to 2.

5. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by the processor, it implements the UPF signaling plane load allocation method as described in any one of claims 1 to 2.

6. A computer program product comprising a computer program, characterized in that When the computer program is executed by the processor, it implements the UPF signaling plane load allocation method as described in any one of claims 1 to 2.

Citation Information

Patent Citations

  • Cloud native UPF signaling plane load balancing selection method and system

    CN114363963A