Keep-alive message processing method, electronic equipment, computer readable medium and computer program product
By introducing an intergenerational identifier management mechanism, user plane devices compare the target intergenerational identifier with the intergenerational identifier stored locally, which solves the problem of keep-alive message conflicts during user plane device failover, ensuring device reliability and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-29
- Publication Date
- 2026-03-24
AI Technical Summary
During user plane device failover and recovery, the reactivation of the user's MAC address can cause ambiguous conflicts in keep-alive messages, forcing the user offline and affecting device reliability and user experience.
An intergenerational identifier management mechanism is introduced. When a user plane device receives a target message sent by a control plane device, it compares the target intergenerational identifier with the intergenerational identifier stored locally. If they do not match, the sending of keep-alive messages is prohibited to avoid keep-alive message conflicts.
Quickly identify whether a user plane device is a primary user plane device to avoid keep-alive message conflicts and improve device reliability and user experience.
Smart Images

Figure CN121727952A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of communication technology, and in particular to a keep-alive packet processing method, an electronic device, a computer readable medium and a computer program product. BACKGROUND
[0002] In order to improve reliability, a pool backup networking with control plane and user plane separated is usually adopted, that is, a plurality of user plane devices form a backup pool to jointly bear services. When a main user plane device fails, a control plane device switches user services to other user plane devices in the backup pool.
[0003] However, when the user plane device fails to switch, especially in the process of service back switching to the original user plane device after failure recovery, or in the process of recovery of the original failure user plane device after failure switching, there is a serious problem: since the user MAC address is reactivated, the user keep-alive packet sent by the new user plane device after going online may be delivered to the original user plane device by the network device. At this time, if the residual user data on the original user plane device has not been completely cleaned up, the keep-alive packet will continue to be sent, resulting in two keep-alive sources for the same user in the network. This ambiguity conflict of keep-alive packets will lead to user keep-alive failure, and the user will be forced to be offline, which seriously affects user experience and device reliability. SUMMARY
[0004] The present disclosure provides a keep-alive packet processing method, an electronic device, a computer readable medium and a computer program product.
[0005] In a first aspect, an embodiment of the present disclosure provides a keep-alive packet processing method applied to a user plane device, comprising:
[0006] receiving a first target message sent by a control plane device, and obtaining a target generation identifier of a target service from the first target message, wherein the target generation identifier is updated in the case that the target service is subjected to main user plane device switching, and the target generation identifier is different from each generation identifier ever allocated to the target service;
[0007] in response to the first target message being a first type message, comparing the target generation identifier with a generation identifier of the target service stored by the user plane device;
[0008] in the case that the target generation identifier is inconsistent with the generation identifier of the target service stored by the user plane device, prohibiting keep-alive packets from being sent to a terminal corresponding to the target service; wherein the generation identifier of the target service stored by the user plane device is sent by the control plane device to the user plane device in the case that the user plane device is switched as a main user plane device for processing the target service.
[0009] Secondly, embodiments of this disclosure also provide a keep-alive message processing method, applied to a control plane device, comprising:
[0010] In response to a primary user plane device switchover of the user plane device corresponding to the target service, a target generation identifier is generated, and the generation identifier of the target service is updated to the target generation identifier. The target generation identifier is different from all generation identifiers previously assigned to the target service. The update of the target generation identifier indicates that the primary user plane device of the target service has been switched.
[0011] Send a first target message carrying the target generation identifier to the primary user plane device after the switchover. The first target message is a second type message, which is used to instruct the primary user plane device to update the stored generation identifier of the target service to the target generation identifier.
[0012] Thirdly, embodiments of this disclosure also provide an electronic device, which includes a memory and a processor; the memory stores a computer program that can be executed by the processor, and when the computer program is executed by the processor, it implements the keep-alive message processing method.
[0013] Fourthly, embodiments of this disclosure also provide a computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the keep-alive message processing method described above.
[0014] Fifthly, embodiments of this disclosure also provide a computer program product, which includes a computer program that, when executed by a processor, implements the keep-alive message processing method.
[0015] The keep-alive message processing method of this embodiment includes: a user plane device receiving a first target message sent by a control plane device; obtaining a target generation identifier for a target service from the first target message; the target generation identifier being updated when a primary user plane device switch occurs for the target service, and the target generation identifier being different from all generation identifiers previously assigned to the target service; in response to the first target message being a first type message, comparing the target generation identifier with the generation identifier of the target service stored in the user plane device; and prohibiting the sending of keep-alive messages to the terminal corresponding to the target service if the target generation identifier is inconsistent with the generation identifier of the target service stored in the user plane device. The generation identifier of the target service reflects the switching status of the primary user plane device for the target service. Once the primary user plane device for the target service switches, the generation identifier corresponding to the target service is updated. If the user plane device compares the generation identifier of the target service stored in its own storage with the target generation identifier issued by the control plane device, and the two are inconsistent, it means that the user plane device is no longer the primary user plane device for the target service. In this way, it is prohibited to send keep-alive messages to the terminal corresponding to the target service. In this way, the user plane device can quickly identify whether it is the primary user plane device currently processing the target service, avoid ambiguity conflicts in keep-alive messages, and improve device reliability. Attached Figure Description
[0016] In the accompanying drawings of the embodiments disclosed herein:
[0017] Figure 1 This is a schematic diagram of the keep-alive message processing flow performed on the user plane device side according to an embodiment of the present disclosure;
[0018] Figure 2 A schematic diagram of the keep-alive message processing flow executed on the control plane device side according to an embodiment of this disclosure;
[0019] Figure 3 A schematic diagram illustrating the handover of the primary user plane device according to an embodiment of this disclosure;
[0020] Figure 4 A schematic diagram illustrating the main user plane device switchback provided in an embodiment of this disclosure;
[0021] Figure 5 This is a schematic diagram of the module composition of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0022] To enable those skilled in the art to better understand the technical solutions of this disclosure, the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.
[0023] The present disclosure will be described more fully below with reference to the accompanying drawings; however, the embodiments shown may be embodied in different forms, and the present disclosure should not be construed as limited to the embodiments set forth below. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will enable those skilled in the art to fully understand the scope of the disclosure.
[0024] The accompanying drawings are provided to further illustrate this disclosure and form part of the specification. They are used together with the detailed embodiments to explain this disclosure and do not constitute a limitation thereof. These and other features and advantages will become more apparent to those skilled in the art from the description of detailed embodiments with reference to the accompanying drawings.
[0025] Unless otherwise specified, each embodiment and feature of this disclosure may be used individually or in combination with other embodiments and features thereof.
[0026] Those skilled in the art will understand that various changes in form and detail may be made to the embodiments of this disclosure without departing from the scope of this disclosure as set forth by the appended claims.
[0027] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The term "and / or" as used in this disclosure includes any and all combinations of one or more of the associated enumerated entries. The singular forms "a" and "the" as used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. The terms "comprising," "made of," etc., as used in this disclosure specify the presence of the stated feature, integral, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.
[0028] Unless otherwise specified, all terms used in this disclosure (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined in this disclosure.
[0029] This disclosure provides a keep-alive message processing method, which is applied to a user plane device. Figure 1 This is a schematic diagram of the keep-alive message processing flow performed on the user plane device side according to an embodiment of this disclosure, as shown below. Figure 1 As shown, the method includes the following steps:
[0030] Step S11: Receive a first target message sent by the control plane device, and obtain the target generation identifier of the target service from the first target message. The target generation identifier is updated when the target service undergoes a primary user plane device switchover, and the target generation identifier is different from each generation identifier previously assigned to the target service.
[0031] The user plane device is equipped with a keep-alive timer. The user plane device sends keep-alive messages based on the period of the keep-alive timer and detects whether the user is online by judging whether the user device of the bound user returns a response message.
[0032] Generational identifiers are service-specific. One service can correspond to one user plane backup group, which may include one or more users whose user terminals process the same service. The control plane device manages multiple services and their generational identifiers, storing the latest generational identifiers for each user plane backup group (i.e., the generational identifiers corresponding to the services processed by each user plane device). For a given service, once the control plane device triggers a primary user plane device switchover (e.g., if the current primary user plane device fails), the control plane device will trigger a primary user plane device switchover for the relevant users bound to that user plane device (e.g., by user plane backup group), i.e., switching to another user plane device. Correspondingly, the generational identifier of the user plane backup group to which the relevant user belongs is updated, and the control plane device records the updated generational identifier.
[0033] Step S12: In response to the first target message being a first type message, compare the target generation identifier with the generation identifier of the target service stored in the user plane device.
[0034] The first type of message is used to notify the user plane device of the target generation identifier corresponding to the current primary user plane device, and can be a response type message. In this step, the user plane device receives the first target message sent by the control plane device, obtains the target generation identifier carried therein, and performs a consistency comparison between the target generation identifier and the generation identifier of the target service stored locally on the user plane device. Based on the comparison result, the status of the user plane device sending keep-alive messages is determined. The status of the user plane device sending keep-alive messages includes a status of prohibiting the sending of keep-alive messages to the terminal corresponding to the target service and a status of not prohibiting the sending of keep-alive messages to the terminal corresponding to the target service. It should be noted that the target generation identifier obtained from the control plane device and the generation identifier stored locally on the user plane device are both generation identifiers of the same service.
[0035] Step S13: If the target generation identifier is inconsistent with the generation identifier of the target service stored in the user plane device, the send of keep-alive messages to the terminal corresponding to the target service shall be prohibited; wherein, the generation identifier of the target service stored in the user plane device is sent to the control plane device by the control plane device when the user plane device is switched to the primary user plane device for processing the target service.
[0036] If the target generation identifier obtained from the control plane device is inconsistent with the target service generation identifier stored in the user plane device, it means that the user plane device is no longer the primary user plane device for the target service. In order to avoid ambiguity conflicts in keep-alive messages, the user plane device can no longer send keep-alive messages to the terminal corresponding to the target service, that is, it is prohibited to send keep-alive messages to the terminal corresponding to the target service.
[0037] It should be noted that the generational identifier of the target service stored in the user plane device was sent to the control plane device by the control plane device when the user plane device was switched to the primary user plane device for handling the target service, while the target generational identifier of the target service obtained from the first target message is the latest generational identifier of the target service.
[0038] This disclosure introduces a generational identifier management mechanism at the user plane backup group level, which can proactively prohibit the sending of keep-alive messages on user plane devices that should not be sending keep-alive messages, thereby avoiding abnormal user disconnection caused by abnormal delivery of user keep-alive messages.
[0039] The keep-alive message processing method of this embodiment includes: a user plane device receiving a first target message sent by a control plane device; obtaining a target generation identifier for a target service from the first target message; the target generation identifier being updated when a primary user plane device switch occurs for the target service, and the target generation identifier being different from all generation identifiers previously assigned to the target service; in response to the first target message being a first type message, comparing the target generation identifier with the generation identifier of the target service stored in the user plane device; and prohibiting the sending of keep-alive messages to the terminal corresponding to the target service if the target generation identifier is inconsistent with the generation identifier of the target service stored in the user plane device. The generation identifier of the target service reflects the switching status of the primary user plane device for the target service. Once a user plane device switching occurs for the target service, the generation identifier corresponding to the target service is updated. If the user plane device compares the generation identifier of the target service stored in its own storage with the target generation identifier issued by the control plane device, and the two are inconsistent, it means that the user plane device is no longer the primary user plane device for the target service. In this way, it is prohibited to send keep-alive messages to the terminal corresponding to the target service. In this way, the user plane device can quickly identify whether it is the primary user plane device currently processing the target service, avoid ambiguity conflicts in keep-alive messages, and improve device reliability.
[0040] In some embodiments, before receiving the first target message sent by the control plane device (i.e., step S11), the keep-alive message processing method may further include the following steps: in response to meeting the keep-alive condition, sending a query request message to the control plane device, wherein the query request message is used to instruct the control plane device to send back the first target message carrying the target generation identifier to the user plane device.
[0041] If the keep-alive condition is met, it indicates that a keep-alive message needs to be sent. Before sending the keep-alive message, the user plane device sends a query request message to the control plane device to query the generation identifier of the target service. The control plane device returns a first target message to the user plane device carrying the latest generation identifier of the target service (i.e., the target generation identifier). The user plane device determines whether it is still the legitimate master control plane device for the target service based on the comparison result between the generation identifier of the target service stored locally and the target generation identifier returned by the control plane device.
[0042] It should be noted that the keep-alive conditions include, but are not limited to: the keep-alive timer of the user plane device reaching its end, and / or receiving a keep-alive message sent by the terminal corresponding to the target service.
[0043] In some embodiments, before receiving the first target message sent by the control plane device (i.e., step S11), the keep-alive message processing method may further include the following steps: in response to meeting the keep-alive conditions and the user plane device being in a state where sending keep-alive messages to the terminal corresponding to the target service is not prohibited, a query request message is sent to the control plane device. The query request message is used to instruct the control plane device to send back the first target message carrying the target generation identifier to the user plane device. That is, the query request message is sent to the control plane device only when both the keep-alive conditions are met and the user plane device is in a state where sending keep-alive messages to the terminal corresponding to the target service is not prohibited. If the user plane device is in a state where sending keep-alive messages to the terminal corresponding to the target service is prohibited, it means that the user plane device is no longer the primary user plane device of the target service. Therefore, it is not necessary to request the generation identifier of the target service from the control plane device to determine whether the user plane device is the legitimate primary control plane device of the target service by comparing it with the generation identifier stored locally, which can save network overhead between the user plane device and the control plane device.
[0044] In some embodiments, after comparing the target generation identifier with the generation identifier of the target service stored in the user plane device (i.e., step S12), the keep-alive message processing method may further include the following steps: if the target generation identifier is consistent with the generation identifier of the target service stored in the user plane device and the keep-alive condition is met, a keep-alive message is sent to the terminal corresponding to the target service.
[0045] If the target generation identifier obtained from the control plane device is consistent with the generation identifier of the target service stored in the user plane device, it means that the user plane device is still the primary user plane device of the target service. In other words, the primary user plane device did not switch after the user plane device was switched to become the primary user plane device of the target service. Therefore, based on the keep-alive mechanism, the user plane device sends a keep-alive message to the terminal corresponding to the target service when the keep-alive conditions are met.
[0046] In some embodiments, after obtaining the target generation identifier of the target service from the first target message (i.e., step S11), the keep-alive message processing method may further include the following steps: in response to the first target message being a second type message, updating the generation identifier of the target service stored in the user plane device to the target generation identifier; the second type message is sent when the control plane device switches the user plane device to the primary user plane device for processing the target service.
[0047] The second type of message is the authorization type message. If the user plane device receives an authorization type message sent by the control plane device, it means that the user plane device has switched to the current primary user plane device of the target service. In this case, the user plane device needs to update the generation identifier of the target service locally, that is, update the generation identifier of the target service stored in the user plane device to the target generation identifier.
[0048] In some embodiments, after updating the generation identifier of the target service stored in the user plane device to the target generation identifier, the keep-alive message processing method may further include the following steps: in response to the user plane device being in a state where sending keep-alive messages to the terminal corresponding to the target service is prohibited, adjusting the user plane device to a state where sending keep-alive messages to the terminal corresponding to the target service is not prohibited.
[0049] If a user plane device receives a second type of message actively sent by the control plane device after prohibiting the sending of keep-alive messages to the terminal corresponding to the target service, and obtains the target generation identifier of the target service from the message, it means that the control plane device controls the main user plane device of the target service to switch back to the user plane device. Therefore, in addition to updating the target generation identifier of the target service locally, the user plane device also needs to reactivate the keep-alive mechanism, such as starting the keep-alive timer.
[0050] In some embodiments, before receiving the first target message sent by the control plane device (i.e., step S11), the keep-alive message processing method may further include the following steps: the terminal corresponding to the target service goes online for the first time on the user plane device; in response to receiving the second target message sent by the control plane device and the second target message being a second type message, the initial generation identifier of the target service carried in the second target message is obtained and the initial generation identifier of the target service is stored.
[0051] The above process is the identifier association process during the initialization phase. During this process, when the terminal corresponding to the target service first comes online on the user plane device, the control plane device assigns an initial generation identifier to the target service and sends it to the user plane device along with user data via an authorization type message (i.e., the second target message). The user plane device obtains the initial generation identifier carried in the second target message and stores it locally as the basis for determining whether to send a keep-alive message later. If the user plane device receives another authorization type message from the control plane device, it updates the target service's generation identifier locally from the initial generation identifier to the latest generation identifier based on the latest generation identifier carried in that authorization type message.
[0052] This disclosure also provides a keep-alive message processing method, which is applied to a control plane device. Figure 2 This is a schematic diagram of the keep-alive message processing flow executed on the control plane device side according to an embodiment of this disclosure, as shown below. Figure 2 As shown, the method includes the following steps:
[0053] Step S51: In response to a primary user plane device switchover of the user plane device corresponding to the target service, a target generation identifier is generated, and the generation identifier of the target service is updated to the target generation identifier. The target generation identifier is different from all the generation identifiers previously assigned to the target service. The target generation identifier is used by each user plane device to compare the target generation identifier with the generation identifier of the target service stored in its own memory to determine whether it is the primary user device processing the target service.
[0054] Step S52: Send a first target message carrying the target generation identifier to the switched primary user plane device. The first target message is configured as a second type message. The second type message is used to instruct the primary user plane device to update the generation identifier of the stored target service to the target generation identifier.
[0055] The second type of message can be an authorization message initiated by the control plane device. The second type of message can be an existing message used to communicate with the user plane device, with the message field carrying the target generation identifier added. Alternatively, the second type of message can also be a newly added separate message. Any message format that can notify the user plane device of this generation identifier update operation is within the protection scope of the embodiments of this disclosure.
[0056] In response to the control plane device switching the primary user plane device of the target service from one user plane device to another, the control plane device updates the generation identifier of the target service to the target generation identifier and sends the updated generation identifier (i.e., the target generation identifier) to the current primary user plane device through a second type message.
[0057] If the control plane device controls the handover of the primary user plane device for a target service, the control plane device updates the generation identifier of the target service and sends it to the new primary user plane device. The generation identifier of the target service reflects the handover status of the primary user plane device for that service. Once a handover occurs, the generation identifier corresponding to the target service is updated. The user plane device can determine whether it is the primary user plane device processing the target service by comparing its stored generation identifier with the one sent by the control plane device. This allows the user plane device to quickly identify whether it is the current primary user plane device processing the target service, avoiding ambiguity conflicts in keep-alive messages and improving device reliability.
[0058] In some embodiments, after sending a first target message carrying a target generation identifier to the switched primary user plane device (step S52), the keep-alive message processing method may further include the following steps:
[0059] Step S53: Broadcast a first target message configured as a first type message. The first target message carries a target generation identifier. The first type message is used to instruct the user plane device that receives the first target message to compare the stored generation identifier of the target service with the target generation identifier to determine whether it is the primary user device that processes the target service.
[0060] When a primary user plane device (MPD) controlling a target service switches over, the MPD updates the generation identifier of the target service and sends the updated generation identifier to the switched primary MPD via a first-type message. Simultaneously, the MPD actively broadcasts another first-type first-target message to directly notify other MPD devices of the updated generation identifier. MPD devices receiving this broadcast first-target message can compare the locally stored generation identifier of the target service with the generation identifier carried in the first-target message. If they do not match, the MPD immediately prohibits sending keep-alive messages to the user terminals corresponding to the target service. By broadcasting the updated generation identifier of the target service, all MPD devices that can receive this broadcast first-target message can immediately perform generation identifier comparison. If an MPD device does not receive the broadcast first-target message, it will also obtain the latest generation identifier of the target service by sending a query request message to the MPD before sending a keep-alive message to determine whether the generation identifier of the target service has been updated, thereby deciding whether to send a keep-alive message and avoiding ambiguity conflicts in keep-alive messages.
[0061] It should be noted that control plane devices can broadcast the first target message configured as a first type of message within the device backup group corresponding to the target service, or they can broadcast the first target message configured as a first type of message globally. A user plane device can be bound to one or more device backup groups.
[0062] In some embodiments, the keep-alive message processing method may further include the following steps: in response to receiving a query request message sent by any user plane device, sending a first target message configured as a first type message to the user plane device, the first target message carrying the target generation identifier, the first type message being used to instruct the user plane device receiving the first target message to compare the stored generation identifier of the target service with the current generation identifier of the target service to determine whether it is the primary user device processing the target service.
[0063] In other words, the control plane device determines the generation identifier corresponding to the service requested by the user plane device based on the query request, and returns the generation identifier to the user plane device so that the user plane device can compare the generation identifier with the generation identifier corresponding to the service stored locally on the user plane device, and decide whether to prohibit sending keep-alive messages to the terminal corresponding to the service based on the comparison result.
[0064] In some embodiments, before generating a target generation identifier (i.e., step S51) in response to a primary user plane device switchover of the user plane device corresponding to the target service, the keep-alive message processing method may further include the following steps: in response to the terminal corresponding to the target service coming online for the first time on the user plane device, an initial generation identifier is assigned to the target service; a second target message carrying the initial generation identifier is sent to the user plane device, wherein the second target message is configured as a second type message.
[0065] The above process is the identifier association process during the initialization phase. During this process, when the terminal corresponding to the target service first comes online on the user plane device, the control plane device assigns an initial generation identifier to the target service and sends it to the user plane device along with user data via an authorization type message (i.e., the second target message). The user plane device obtains the initial generation identifier carried in the second target message and stores it locally as the basis for determining whether to send a keep-alive message later. If the user plane device receives another authorization type message from the control plane device, it updates the target service's generation identifier locally from the initial generation identifier to the latest generation identifier based on the latest generation identifier carried in that authorization type message.
[0066] In some embodiments, the target generation identifier includes at least one target parameter, or the target generation identifier is calculated and generated based on at least one target parameter, including a preset serial number, a timestamp, and a random number. This disclosure does not limit the form or generation method of the generation identifier, as long as it ensures that the generation identifier can be updated during a main user plane switch, and that the updated generation identifier is different from any generation identifier before the update.
[0067] To clearly illustrate the solutions of this disclosure, a detailed description is provided below with reference to specific examples. In this disclosure, a Virtual Broadband Remote Access Server (vBRAS) scenario with control-to-user separation is taken as an example. This scenario includes two parts: a vBRAS control plane device (vBRAS-Control Plane, vBRAS-CP) and a vBRAS user plane device (vBRAS-User Plane, vBRAS-UP). vBRAS-CP is the control plane device, and vBRAS-UP is the user plane device. vBRAS-CP and vBRAS-UP communicate through a control plane interface protocol.
[0068] Example 1: Determining whether to send a keep-alive message based on querying generational identifiers
[0069] Figure 3 This is a schematic diagram of primary user plane device handover provided in an embodiment of this disclosure, as shown below. Figure 3 As shown, vBRAS-UP1 is bound to user 1. The identifier of the first user backup group to which user 1 belongs is G1. The first user backup group is used to process service 1, and the generation identifier of service 1 is M1. vBRAS-UP2 is bound to user 2. The identifier of the second user backup group to which user 2 belongs is G2. The second user backup group is used to process service 2, and the generation identifier of service 2 is M3. vBRAS-CP records the identifier of the user backup group and the generation identifier of each user.
[0070] User 1 goes online in vBRAS-UP-A, and vBRAS-CP assigns and distributes the following data to it: First User Plane Backup Group ID=G1, Initial Generation Identifier=M1.
[0071] When the keep-alive timer of vBRAS-UP-A expires, vBRAS-UP-A sends a query request message to vBRAS-CP, which carries G1 and M1 stored locally. vBRAS-CP, based on G1, finds that the generational identifier of service 1 is M1, and sends a query response message to vBRAS-UP-A, which also carries G1 and M1. vBRAS-UP-A compares the stored generational identifier of service 1 with the generational identifier of service 1 issued by vBRAS-CP, both being M1. Recognizing that it is still the primary user plane device for service 1, vBRAS-UP-A sends a keep-alive message to the terminal of user 1.
[0072] If vBRAS-UP-A fails, vBRAS-CP will switch the primary user equipment for Service 1 handled by User 1 from vBRAS-UP-A to vBRAS-UP-B, and update the generation identifier of Service 1 from M1 to M2. vBRAS-CP sends an authorization message (i.e., the first target message) to vBRAS-UP-B. This authorization message is configured as a second-type message, carrying G1 and M2. Figure 3 As shown, vBRAS-UP-B stores G1 and M2 locally, and User 1 comes online on vBRAS-UP-B. When vBRAS-UP-A recovers from a failure, it still stores G1 and M1. When vBRAS-UP-A meets the keep-alive conditions, it sends a query request message to vBRAS-CP before sending a keep-alive message. This query request message carries the locally stored G1 and M1. vBRAS-CP, based on G1, finds that the latest generation identifier for Service 1 is M2, and sends a query response message (i.e., the first target message) to vBRAS-UP-A. This query response message is configured as a first-type message, carrying G1 and M2. vBRAS-UP-A compares and finds that M1 is not equal to M2, determining that it is not the primary user plane device for Service 1. Therefore, it prohibits the sending of keep-alive messages to User 1's terminal in this and subsequent instances, thus avoiding keep-alive message conflicts between vBRAS-UP-A and vBRAS-UP-B.
[0073] Example 2: Reactivating the keep-alive mechanism
[0074] Figure 4 This is a schematic diagram of the main user plane device switchback provided in an embodiment of this disclosure, as shown below. Figure 4As shown, in Example 1, based on the failure of vBRAS-UP-A, after vBRAS-CP switches the primary user equipment of service 1 to vBRAS-UP-B, if vBRAS-UP-B also fails and the failure of vBRAS-UP-A is recovered, vBRAS-CP can instruct user 1 and user 2 to switch back to vBRAS-UP-A to come online. That is, the primary user equipment of service 1 handled by user 1 is switched back to vBRAS-UP-A, and the primary user equipment of service 2 handled by user 2 is switched to vBRAS-UP-A.
[0075] vBRAS-CP switches User 1 online to vBRAS-UP-A, updates the generation identifier of Service 1 from M2 to M4, and sends an authorization message to vBRAS-UP-A, carrying G1 and M4. vBRAS-CP switches User 2 online to vBRAS-UP-A, updates the generation identifier of Service 2 from M3 to M5, and sends an authorization message to vBRAS-UP-A, carrying G2 and M5. vBRAS-UP-A stores G1 and M4, as well as G2 and M5 locally, indicating that User 1 and User 2 are online on vBRAS-UP-A. vBRAS-UP-A activates the keep-alive mechanism based on this authorization message; that is, if vBRAS-UP-A is in a state where sending keep-alive messages to User 1's terminal is prohibited, vBRAS-UP-A is adjusted to a state where sending keep-alive messages to User 1's terminal is not prohibited. In addition, vBRAS-UP-A locally updates the generation identifier of service 1 from M2 to M4, and locally updates the generation identifier of service 2 from M3 to M5.
[0076] Example 3: vBRAS-CP Active Broadcast Generational Identifier
[0077] like Figure 3 As shown, vBRAS-UP1 is bound to user 1. The identifier of the first user backup group to which user 1 belongs is G1. The first user backup group is used to process service 1, and the generation identifier of service 1 is M1. vBRAS-UP2 is bound to user 2. The identifier of the second user backup group to which user 2 belongs is G2. The second user backup group is used to process service 2, and the generation identifier of service 2 is M3. vBRAS-CP records the identifier of the user backup group and the generation identifier of each user.
[0078] User 1 goes online at vBRAS-UP-A, and vBRAS-CP allocates and sends the following data to it: First User Plane Backup Group ID = G1, Initial Generation Identifier = M1. If vBRAS-UP-A fails, vBRAS-CP switches the primary user equipment for Service 1 handled by User 1 from vBRAS-UP-A to vBRAS-UP-B, and updates the generation identifier of Service 1 from M1 to M2. vBRAS-CP sends an authorization message to vBRAS-UP-B, carrying G1 and M2 in the authorization message. Figure 3 As shown, vBRAS-UP-B stores G1 and M2 locally, and user 1 goes online on vBRAS-UP-B. vBRAS-CP actively broadcasts a first target message carrying G1 and M2 to all available vBRAS-UPs. Upon receiving the first target message, the vBRAS-UP determines whether the generation identifier of service 1 stored locally is M2. If it is not equal to M2, it immediately prohibits sending keep-alive messages to user 1's terminal. At this time, vBRAS-UP-A may or may not be able to receive the first target message broadcast. If vBRAS-UP-A can receive the first target message broadcast, vBRAS-UP-A will immediately adjust to a state where it is prohibited from sending keep-alive messages to user 1's terminal. If vBRAS-UP-A cannot receive the first target message broadcast, after vBRAS-UP-A recovers from the fault and user 1 comes back online, according to Implementation Example 1, when the keep-alive conditions are met, vBRAS-CP will first query the latest generation identifier of service 1, and perform comparison and judgment of the generation identifier to decide whether to send a keep-alive message to user 1's terminal.
[0079] The embodiments disclosed herein can be applied to vBRAS systems that employ pooled backup networking, and are particularly suitable for scenarios with extremely high requirements for service continuity. When the primary and backup user plane devices switch over or switch back, user service interruption caused by keep-alive message conflicts can be effectively avoided.
[0080] This disclosure provides a solution to avoid keep-alive message conflicts, enabling older user plane devices after a user plane handover to detect that the user is no longer active on the device, thereby proactively stopping the sending of keep-alive messages, fundamentally avoiding message conflicts, and ensuring the stability of user services during handover and rollback processes.
[0081] This disclosure introduces a generational identifier management mechanism at the user plane backup group level, which can proactively stop sending keep-alive messages on user plane devices that should not be sending keep-alive messages, thereby preventing abnormal user disconnection caused by abnormal delivery of user keep-alive messages.
[0082] This disclosed embodiment, through a generational identifier management mechanism, fundamentally avoids the conflict problem caused by the simultaneous sending of keep-alive messages by the old and new user planes. It achieves smooth user plane switching at minimal cost, enabling user plane devices to proactively determine their status without waiting for forced data deletion from the control plane. This rapid response adapts to fast switching and rollback scenarios. Users will not experience abnormal offline status due to device-side switching logic, significantly improving service reliability and user experience.
[0083] This disclosure also provides an electronic device, such as... Figure 5 As shown, it includes a memory 1 and a processor 2; the memory 1 has a computer program that can be executed by the processor 2, and when the computer program is executed by the processor 2, it implements any of the keep-alive message processing methods of the present disclosure embodiments.
[0084] Among them, the processor is a device with data processing capabilities, including but not limited to the central processing unit (CPU); the memory is a device with data storage capabilities, including but not limited to random access memory (RAM), more specifically such as SDRAM, DDR, etc., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory (FLASH); I / O interface, or read-write interface, is connected between the processor and the memory, enabling information exchange between the memory and the processor, including but not limited to the data bus (Bus).
[0085] This disclosure also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements any of the keep-alive message processing methods of this disclosure.
[0086] This disclosure also provides a computer program product, which includes a computer program that, when executed by a processor, implements any of the keep-alive message processing methods of this disclosure.
[0087] Those skilled in the art will understand that all or some of the steps, systems, and devices disclosed above, as functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0088] In hardware implementations, the division between functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be executed by several physical components working together.
[0089] Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit (CPU), digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software may be distributed on a computer-readable medium, which may include computer storage media and communication media. In embodiments of this disclosure, computer storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, and any other media that can be used to store desired information and can be accessed by a computer. In embodiments of this disclosure, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
Claims
1. A keep-alive message processing method, applied to user plane equipment, the method comprising: Receive a first target message sent by a control plane device, and obtain the target generation identifier of the target service from the first target message. The target generation identifier is updated when the target service undergoes a primary user plane device switchover, and the target generation identifier is different from each generation identifier previously assigned to the target service. In response to the first target message being a first type message, the target generation identifier is compared with the generation identifier of the target service stored in the user plane device; If the target generation identifier is inconsistent with the generation identifier of the target service stored in the user plane device, the sending of keep-alive messages to the terminal corresponding to the target service is prohibited; wherein, the generation identifier of the target service stored in the user plane device is sent to the user plane device by the control plane device when the user plane device is switched to the primary user plane device for processing the target service.
2. The method according to claim 1, wherein, Before receiving the first target message sent by the control plane device, the method further includes: In response to meeting the keep-alive condition, a query request message is sent to the control plane device. The query request message is used to instruct the control plane device to send back the first target message carrying the target generation identifier to the user plane device.
3. The method according to claim 1, wherein, Before receiving the first target message sent by the control plane device, the method further includes: In response to the fulfillment of the keep-alive condition and the user plane device being in a state where it is not prohibited from sending keep-alive messages to the terminal corresponding to the target service, a query request message is sent to the control plane device. The query request message is used to instruct the control plane device to send back the first target message carrying the target generation identifier to the user plane device.
4. The method according to claim 1, wherein, After comparing the target generation identifier with the generation identifier of the target service stored in the user plane device, the method further includes: If the target generation identifier matches the generation identifier of the target service stored in the user plane device and the keep-alive condition is met, a keep-alive message is sent to the terminal corresponding to the target service.
5. The method according to claim 1, wherein, After obtaining the target generation identifier of the target service from the first target message, the method further includes: In response to the first target message being a second type message, the generation identifier of the target service stored in the user plane device is updated to the target generation identifier; the second type message is sent when the control plane device switches the user plane device to become the primary user plane device for processing the target service.
6. The method according to claim 5, wherein, After updating the generational identifier of the target service stored in the user plane device to the target generational identifier, the method further includes: In response to the user plane device being in a state where sending keep-alive messages to the terminal corresponding to the target service is prohibited, the user plane device is adjusted to a state where sending keep-alive messages to the terminal corresponding to the target service is not prohibited.
7. A keep-alive message processing method, applied to control plane equipment, the method comprising: In response to a primary user plane device switchover of the user plane device corresponding to the target service, a target generation identifier is generated, and the generation identifier of the target service is updated to the target generation identifier. The target generation identifier is different from all generation identifiers previously assigned to the target service. The target generation identifier is used by each user plane device to compare the target generation identifier with the generation identifier of the target service stored in its own memory to determine whether it is the primary user device processing the target service. A first target message carrying the target generation identifier is sent to the primary user plane device after the switchover. The first target message is configured as a second type message, which is used to instruct the primary user plane device to update the stored generation identifier of the target service to the target generation identifier.
8. The method according to claim 7, wherein, After sending the first target message carrying the target generation identifier to the switched primary user plane device, the method further includes: The broadcast is configured as a first target message of type 1, the first target message carrying the target generation identifier, the first type message being used to instruct the user plane device receiving the first target message to compare the stored generation identifier of the target service with the target generation identifier to determine whether it is the primary user device processing the target service.
9. The method according to claim 7, wherein, The method further includes: In response to receiving a query request message from any user plane device, a first target message configured as a first type message is sent to the user plane device. The first target message carries the target generation identifier. The first type message is used to instruct the user plane device that receives the first target message to compare the stored generation identifier of the target service with the current generation identifier of the target service to determine whether it is the primary user device processing the target service.
10. The method according to any one of claims 7-9, wherein, The target generation identifier includes at least one target parameter, or the target generation identifier is calculated and generated based on at least one target parameter, the target parameter including a preset serial number, a timestamp, and a random number.
11. An electronic device comprising a memory and a processor; the memory storing a computer program executable by the processor, wherein the computer program, when executed by the processor, implements the keep-alive message processing method according to any one of claims 1-6, or the keep-alive message processing method according to any one of claims 7-10.
12. A computer-readable medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the keep-alive message processing method according to any one of claims 1-6, or the keep-alive message processing method according to any one of claims 7-10.
13. A computer program product comprising a computer program that, when executed by a processor, implements the keep-alive message processing method according to any one of claims 1-6, or the keep-alive message processing method according to any one of claims 7-10.