Load Balancing Implementation Method, Device, Equipment and Medium Based on Traceability Gateway

Through the hierarchical forwarding of the application protocol proxy server and the application protocol server, the load balancing problem of VoWiFi traceability gateway under the hybrid network of different ePDG devices is solved, flexible multi-layer load balancing and horizontal expansion are achieved, and the system's resistance to peak shocks is improved.

CN115766587BActive Publication Date: 2025-07-15CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211455813.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-21
Publication Date
2025-07-15
Estimated Expiration
2042-11-21

AI Technical Summary

Technical Problem

The existing VoWiFi traceability gateways have insufficient load balancing capabilities under the pressure of hybrid networking of different ePDG equipment manufacturers and service scales, and lack flexibility, making it difficult to adapt to the hierarchical conversion of huge amounts of service query traffic.

Method used

Through the polling forwarding of the application protocol proxy server and the hierarchical forwarding of the subsequent application protocol server, load balancing is realized, combining finite state machine management and AVP forwarding capabilities, adapting to the Diameter protocol and RESTful protocol to achieve multi-layer flexible load balancing.

Benefits of technology

It improves the system's ability to resist peak service shocks and has flexible horizontal automatic expansion capabilities to meet the load balancing needs of VoWiFi services in hybrid networking and peak traffic scenarios for equipment of different manufacturers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115766587B_ABST
    Figure CN115766587B_ABST
Patent Text Reader

Abstract

The embodiments of the present invention provide a method, apparatus, device, and medium for load balancing based on a traceability gateway. The method includes: receiving a traceability query request message from a network element device through an application protocol proxy server, and obtaining query traffic corresponding to the traceability query request message; polling at least one application protocol server located at the back end according to the query traffic, and forwarding the traceability query request message to the at least one application protocol server, so that the at least one application protocol server hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance. Based on the polling and forwarding of the application protocol proxy server and the subsequent hierarchical forwarding of the application protocol server, the problem of hierarchically converting a huge amount of service query traffic to each VoWifi traceability query instance is solved, and the overall anti-service peak impact ability of the system is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of emerging information technologies, and in particular, to a method for implementing load balancing based on a traceability gateway, a device for implementing load balancing based on a traceability gateway, a corresponding electronic device, and a corresponding computer storage medium. Background Art

[0002] The VoWifi traceability gateway is a local network element device used to provide traceability functions in the VoWifi service, and it can mainly be used to complete the function of querying the traceability of the user's location. Specifically, the operator device ePDG (Evolved Packet Data Gateway, an essential network element in the case of non-trusted Wi-Fi network access) can use the gateway address and port number of the user as input parameters based on the traceability gateway interaction interface, and after invoking the traceability capability, return the user location information to the ePDG to complete the positioning of VoWiFi users.

[0003] Currently, the external interfaces of different ePDG device manufacturers are slightly different. To adapt to the actual requirements of mixed networking of different manufacturers and support the stable development of the VoWifi service, the VoWiFi traceability gateway must have flexible load balancing capabilities under different scales of service pressure. However, the existing public and open-source software rarely mentions the implementation methods of the traditional communication protocol Diameter and subsequent internal flexible load balancing of devices. Summary of the Invention

[0004] In view of the above problems, embodiments of the present invention are proposed to provide a method for implementing load balancing based on a traceability gateway, a device for implementing load balancing based on a traceability gateway, a corresponding electronic device, and a corresponding computer storage medium that can overcome the above problems or at least partially solve the above problems.

[0005] The embodiments of the present invention disclose a method for implementing load balancing based on a traceability gateway, which is applied to an application protocol proxy server. The application protocol proxy server is communicatively connected to a network element device and a traceability gateway based on a preset application protocol. The traceability gateway includes an application protocol server and a traceability query instance located at the back end of the application protocol proxy server. The method includes:

[0006] Receiving, by the application protocol proxy server, a traceability query request message from the network element device, and obtaining query traffic corresponding to the traceability query request message;

[0007] Poll at least one application protocol server located at the back end according to the query traffic, and forward the traceability query request message to the at least one application protocol server, so that the at least one application protocol server hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance.

[0008] Optionally, the polling at least one application protocol server located at the back end according to the service query traffic and forwarding the traceability query request message to the at least one application protocol server includes:

[0009] Obtain the token bucket threshold pre-configured for at least one application protocol server located at the back end; the token bucket threshold is used to represent the query traffic limit that each application protocol server can undertake;

[0010] Based on the query traffic and the configured token bucket threshold, determine the number of application protocol servers to be polled;

[0011] Forward the traceability query request message to at least one application protocol server located at the back end according to the number of application protocol servers to be polled.

[0012] Optionally, the forwarding the traceability query request message to at least one application protocol server located at the back end includes:

[0013] Obtain the configuration information of the application protocol server for the back end and the message source device information for the gateway device pre-configured;

[0014] Convert the configuration information of the application protocol server into a routing table, and add the message source device information to the routing table; wherein, the message source device information is used to determine the routing policy;

[0015] According to the number of application protocol servers to be polled, determine at least one application protocol server from the routing table based on the routing policy, and forward the traceability query request message to each determined application protocol server.

[0016] Optionally, the forwarding the traceability query request message to at least one application protocol server located at the back end includes:

[0017] Detect the heartbeat messages of the application protocol proxy server and the application protocol server at preset time intervals, and forward the traceability query request message to at least one application protocol server located at the back end when the connection is available;

[0018] Before forwarding the traceability query request message to at least one application protocol server located at the back end, the following steps are further included:

[0019] Add the message source device address information of the network element device and the destination address information of the application protocol server connected to the back end to the traceability query request message; the message source device address information is used to inform the application protocol proxy server of the source device address to which the location query reply information is to be forwarded when the application protocol proxy server receives the location query reply information returned by the application protocol server at the back end.

[0020] Optionally, before receiving the traceability query request message of the network element device through the application protocol proxy server, the following steps are further included:

[0021] Receive the device connection request of the network element device through the application protocol proxy server, and establish a communication connection with the application protocol server at the back end through the application protocol proxy server;

[0022] And, in response to the capability exchange request sent by the network element device, forward the capability exchange request to the application protocol server of the established communication connection, and receive the capability exchange response message returned by the application protocol server; the capability exchange response message is used to confirm whether the network element device has the traceability capability for the source message device.

[0023] Optionally, the following steps are further included:

[0024] When polling and forwarding through the application protocol proxy server, establish a finite state machine for each communication connection to monitor each communication connection based on the established finite state machine; among them, each monitored communication connection includes the communication connection between the application protocol proxy server and the network element device, and / or the communication connection between the application protocol proxy server and at least one application protocol server.

[0025] Optionally, the traceability query request message forwarded to the application protocol server carries the message source device address information of the network element device, and the method further includes:

[0026] Receive the location query reply information returned by at least one application protocol server through the application protocol proxy server; the location query reply information is obtained by querying in response to the traceability query request message by each traceability query instance to which the application protocol server is hierarchically and hierarchically forwarded;

[0027] Send the location query reply information to the network element device corresponding to the message source device address information through the application protocol proxy server according to the message source device address information.

[0028] An embodiment of the present invention also discloses a load balancing implementation device based on a traceability gateway, which is applied to an application protocol proxy server. The application protocol proxy server is communicatively connected to a network element device and a traceability gateway based on a preset application protocol. The traceability gateway includes an application protocol server and a traceability query instance located at the back end of the application protocol proxy server. The device includes:

[0029] A traceability query request message receiving module, configured to receive a traceability query request message from the network element device and obtain query traffic corresponding to the traceability query request message;

[0030] A polling forwarding module, configured to poll at least one application protocol server located at the back end according to the query traffic, and forward the traceability query request message to the at least one application protocol server, so that the at least one application protocol server hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance.

[0031] Optionally, the polling forwarding module includes:

[0032] A token bucket threshold obtaining sub-module, configured to obtain a token bucket threshold pre-configured for at least one application protocol server located at the back end; the token bucket threshold is used to represent the query traffic limit that each application protocol server can undertake;

[0033] A polling quantity determining sub-module, configured to determine the quantity of application protocol servers to be polled based on the query traffic and the configured token bucket threshold;

[0034] A polling forwarding sub-module, configured to forward the traceability query request message to at least one application protocol server located at the back end according to the quantity of application protocol servers to be polled.

[0035] Optionally, the polling forwarding sub-module includes:

[0036] A configuration information obtaining unit, configured to obtain pre-configured configuration information for the application protocol server at the back end and message source device information for the gateway device;

[0037] A routing table generating unit, configured to convert the configuration information of the application protocol server into a routing table, and add the message source device information to the routing table; wherein, the message source device information is used to determine a routing policy;

[0038] A request message forwarding unit, configured to determine at least one application protocol server from the routing table based on the routing policy according to the quantity of application protocol servers to be polled, and forward the traceability query request message to each determined application protocol server.

[0039] Optionally, the polling and forwarding sub-module further includes:

[0040] A heartbeat message detection unit, configured to perform heartbeat message detection on the application protocol proxy server and the application protocol server at a preset time interval, and forward the traceability query request message to at least one application protocol server located at the back end when the connection is available;

[0041] Optionally, before forwarding the traceability query request message to at least one application protocol server located at the back end, it further includes:

[0042] An address information adding unit, configured to add message source device address information of the network element device and destination address information of the application protocol server connected at the back end to the traceability query request message; the message source device address information is used to inform the application protocol proxy server of the source device address to which the location query reply information is to be forwarded when the application protocol proxy server receives the location query reply information returned by the application protocol server at the back end.

[0043] Optionally, before receiving the traceability query request message of the network element device through the application protocol proxy server, it further includes:

[0044] A communication connection establishment module, configured to receive a device connection request of the network element device through the application protocol proxy server, and establish a communication connection with the application protocol server at the back end through the application protocol proxy server;

[0045] A traceability capability determination module, configured to respond to a capability exchange request sent by the network element device, forward the capability exchange request to the application protocol server of the established communication connection, and receive a capability exchange response message returned by the application protocol server; the capability exchange response message is used to confirm whether the network element device has the traceability capability for the source message device.

[0046] Optionally, it further includes:

[0047] A state machine monitoring module, configured to establish a finite state machine for each communication connection when performing polling and forwarding through the application protocol proxy server, so as to monitor each communication connection based on the established finite state machine; where each communication connection to be monitored includes the communication connection between the application protocol proxy server and the network element device, and / or the communication connection between the application protocol proxy server and at least one application protocol server.

[0048] Optionally, the traceability query request message forwarded to the application protocol server carries message source device address information of the network element device, and further includes:

[0049] A location query reply information receiving module, configured to receive location query reply information returned by at least one application protocol server through the application protocol proxy server; the location query reply information is obtained by each traceability query instance to which the application protocol server performs hierarchical forwarding in response to the traceability query request message;

[0050] A location query reply information forwarding module, configured to send the location query reply information to a network element device corresponding to the message source device address information through the application protocol proxy server according to the message source device address information.

[0051] An embodiment of the present invention also discloses an electronic device, including: a processor, a memory, and a computer program stored on the memory and capable of running on the processor, where when the computer program is executed by the processor, it implements any one of the load balancing implementation methods based on the traceability gateway.

[0052] An embodiment of the present invention also discloses a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements any one of the load balancing implementation methods based on the traceability gateway

[0053] The embodiment of the present invention has the following advantages:

[0054] In the embodiment of the present invention, the application protocol proxy server establishes communication connections with network element devices and the traceability gateway based on a preset application protocol. The traceability gateway communicating with the application protocol proxy server may include application protocol servers and traceability query instances located at the back end of the application protocol proxy server. In the process of implementing load balancing for processing traceability query request messages based on the traceability gateway, mainly after the application protocol proxy server receives the traceability query request message from the network element device, based on the query traffic corresponding to the traceability query request message, it performs polling and forwarding to at least one application protocol server located at the back end to achieve the first layer of load balancing, so that subsequent application protocol servers can continue to perform hierarchical load balancing on the query traffic corresponding to the received traceability query request message and forward it to each traceability query instance for traceability query processing, that is, based on the polling and forwarding of the application protocol proxy server and the subsequent hierarchical forwarding of the application protocol server, it is designed to implement the multi-layer flexible load balancing ability of the VoWifi traceability gateway that meets the requirements of in-network devices, solve the problem of hierarchical conversion of a huge amount of service query traffic to each VoWifi traceability query instance, not only improve the overall system's ability to resist service peak impacts, but also make the VoWifi traceability query have flexible horizontal automatic expansion ability based on polling forwarding and hierarchical forwarding. Description of the Drawings

[0055] Figure 1It is a schematic diagram of the system framework for load balancing implemented based on a traceability gateway provided by an embodiment of the present invention;

[0056] Figure 2 It is a flowchart of the steps of an embodiment of a method for implementing load balancing based on a traceability gateway of the present invention;

[0057] Figure 3 It is a schematic diagram of the message flow for a traceability gateway provided by an embodiment of the present invention;

[0058] Figure 4 It is a schematic diagram of connection establishment for a traceability gateway provided by an embodiment of the present invention;

[0059] Figure 5 It is a flowchart of the steps of another embodiment of a method for implementing load balancing based on a traceability gateway of the present invention;

[0060] Figure 6 It is a schematic diagram of an application scenario for implementing load balancing based on a traceability gateway provided by an embodiment of the present invention;

[0061] Figure 7 It is a block diagram of the structure of an embodiment of a device for implementing load balancing based on a traceability gateway of the present invention;

[0062] Figure 8 It is a block diagram of the structure of another embodiment of a device for implementing load balancing based on a traceability gateway of the present invention. Detailed implementation manners

[0063] To make the above objects, features, and advantages of the present invention more obvious and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific implementation manners.

[0064] To facilitate the understanding of the present invention by those skilled in the art, the terms or nouns involved in the following embodiments of the present invention are explained below:

[0065] VoWifi: Also known as voiceWiFi or WiFiCalling, it refers to the service functions of making calls and sending text messages by a mobile terminal through wifi access. Usually, the mobile terminal needs to complete registration in the operator system and become a volte user before it can use this function, which is a voice access means controlled by the operator based on wifi access.

[0066] User LocalIP: It refers to the IP address of the user's local machine.

[0067] IP address: Internet Protocol Address, which refers to the Internet protocol address.

[0068] Diameter Protocol: It is not a single protocol but a protocol cluster, which includes the basic protocol (Diameter Base Protocol) and various application protocols extended from the basic protocol. It usually provides a basic framework for various application protocols and can define the protocol's transmission mechanism, message format, message processing, error handling, charging, and security services, etc.

[0069] RESTful Protocol: Representational State Transfer, is a software architecture style that provides a series of restrictive guidelines for better creating web services.

[0070] SWF Interface: Swift Interface, which is an interface written in a powerful and intuitive programming language.

[0071] Nginx: Load balancing.

[0072] SSL: Secure Socket Layer, is a network security protocol.

[0073] CER: Capabilities-Exchange-Request, which refers to the capabilities exchange request. Usually, the CER message is used for a Diameter entity to request information such as the capabilities, protocol version, and supported application protocols of the other entity.

[0074] CEA: Capabilities-Exchange-Answer, which refers to the capabilities exchange response. Usually, the CEA message is used for a Diameter entity to reply with information such as relevant capabilities, protocol version, and supported application protocols.

[0075] Finite State Machine: A finite state machine represents a mathematical model of "finite" states and behaviors such as transitions and actions between these states.

[0076] Session State: The session state is a mechanism used by the server side to record the client state.

[0077] AVP Field: Attribute-Value-Pair, which refers to the message body of a Diameter message. Specifically, the message body part of a Diameter message is usually in units of AVP. Diameter encapsulates various information related to a message with individual AVPs and then connects them head to tail.

[0078] QLR: Query-Location-Request, which refers to a location query request. Usually, the QLR message is sent by the ePDG to the traceability gateway to query whether the home gateway accessed by the VoWiFi user has the VoWiFi service enabled and the user location information.

[0079] QLA: Query-Location-Answer, which refers to a location query reply. Usually, the QLA message is used to reply to the ePDG about whether the home gateway accessed by the user has the VoWiFi service enabled and the user location information.

[0080] RoundRobin method: The round-robin scheduling algorithm, whose principle is to alternately assign requests from users to the server each time.

[0081] The VoWifi traceability gateway is a local network element device used to provide traceability functions in the VoWifi service. It can be used to complete the function of user location traceability query. Specifically, the ePDG network element device and the traceability gateway interaction interface adopt the Diameter protocol, and then by converting the Diameter protocol of the ePDG into the RESTful protocol, the traceability capability is called with the user's LocalIP and port number as input parameters. At this time, the VoWiFi traceability gateway can return the user location information to the ePDG network element device through internal logic processing to complete the positioning of the VoWiFi user.

[0082] However, currently, the external interfaces of different ePDG device manufacturers are slightly different. To adapt to the actual requirements of mixed networking of different manufacturers and support the stable development of the VoWifi service, the VoWiFi traceability gateway must have flexible load balancing capabilities under different scales of business pressure, and the existing public and open-source software rarely mentions the implementation methods of the traditional communication protocol Diameter and subsequent internal flexible load balancing of devices.

[0083] One of the core ideas of the embodiments of the present invention lies in the polling and forwarding based on the application protocol proxy server and the hierarchical forwarding of the subsequent application protocol server, that is, the partial Diameter signaling proxy forwarding for the VoWifi service and the VoWifi traceability query of the L7 layer RESTful protocol, realizing a VoWifi traceability gateway that meets the requirements of the existing network devices, especially the multi-layer flexible load balancing ability in the scenario of mixed networking of different manufacturers' devices and different peak traffic in the existing network, and meeting the needs of VoWifi service traceability. Further, the application protocol proxy server that realizes polling and forwarding also has the finite state machine management and AVP forwarding capabilities for the VoWifi gateway Diameter signaling, and realizes the session management and load balancing provided for the VoWifi gateway. In addition, after the application protocol proxy server polls and forwards the query traffic corresponding to the traceability query request message to at least one application protocol server located at the back end to achieve the first layer of load balancing, the application protocol server can also continue to perform hierarchical load balancing on the query traffic corresponding to the received traceability query request message and forward it to each traceability query instance for traceability query processing, further decoupling and distributing the peak service traffic hierarchically, and enabling the VoWifi traceability query to have a flexible horizontal automatic expansion ability based on polling and forwarding and hierarchical forwarding.

[0084] Referring to Figure 1 , it shows a schematic diagram of the system framework for realizing load balancing based on the traceability gateway provided by the embodiments of the present invention. This system involves network element device 110, application protocol proxy server 111, and traceability gateway 112.

[0085] Among them, the network element device 110, as an essential network element in the non-trusted Wi-Fi network access mode, can use the user's gateway address and port number as input parameters based on the traceability gateway interaction interface, call the traceability capability, and return the user location information to the ePDG to complete the VoWiFi user positioning; the application protocol proxy server 111 can be a Diameter protocol proxy server, which serves as an intermediate proxy server between the network element device 110 and the traceability gateway 112 to implement the load balancing process of the request processing of the traceability gateway 112; the traceability gateway 112 is mainly an important local network element device in the VoWiFi service, used to complete the function of user location traceability query. Its local network element device can include the DiameterServer application protocol server 11 at the backend and the traceability query instance 12 that processes L7 layer RESTful messages. After polling and forwarding to at least one application protocol server located at the backend to achieve the first layer of load balancing, the query traffic corresponding to the received traceability query request message can continue to be hierarchically load balanced and forwarded to each traceability query instance for traceability query processing, and further decouple and distribute the peak service traffic hierarchically.

[0086] Specifically, the application protocol proxy server 111 can be communicatively connected to the network element device 110 and the traceability gateway 112 based on a preset application protocol. Exemplarily, the preset application protocol can be the Diameter protocol. The VoWifi traceability gateway 112 realizes interaction with the ePDG gateway device 110 through the SWf interface based on the Diameter protocol. In the embodiment of the present invention, the application protocol proxy server can serve as an intermediate proxy server between the ePDG gateway device 110 and the VoWifi traceability gateway 112 to achieve load balancing during the interaction process of the VoWifi traceability gateway 112.

[0087] It should be noted that in the VoWifi traceability gateway 112, the application protocol server 11 can interact with the ePDG network element device 110 through the SWf interface of the Diameter protocol. The Diameter protocol should comply with the requirements of the RFC6733 standard "Diameter Base Protocol". Considering the huge traffic impact on the ePDG device during the peak business period, specifically, after the DiameterServer protocol conversion at the backend, the load balancing capability of the L7 layer RESTful protocol can be adapted, that is, there is a protocol conversion between the application protocol server 11 and the traceability query instance 12. Then, a 7-layer proxy protocol forwarder may also be involved between the application protocol server 11 and the traceability query instance 12.

[0088] In practical applications, compared with the application protocol proxy server 111 which is responsible for the first half of the overall system load balancing and realizes the polling and message forwarding of the application protocol proxy servers located at the back end, the proxy protocol forwarder is mainly responsible for the second half of the overall system load balancing and realizes the hierarchical forwarding of the traceability query instances. The traceability query instances can usually be manifested as a certain software process at the application layer, etc. For the proxy protocol forwarder, it is not marked in Figure 1 the system framework schematic diagram in

[0089] In the embodiment of the present invention, based on the polling forwarding of the application protocol proxy server and the subsequent hierarchical forwarding of the application protocol server, that is, the partial Diameter signaling proxy forwarding for the VoWifi service and the VoWifi traceability query of the L7 layer RESTful protocol, the multi-layer flexible load balancing ability of the VoWifi traceability gateway that meets the requirements of the existing network devices is realized, especially in the scenario of mixed networking of different manufacturers' devices in the existing network and different peak traffic volumes, to meet the requirements of VoWifi service traceability. Further, the application protocol proxy server that realizes the polling forwarding also has the finite state machine management and AVP forwarding capabilities for the VoWifi gateway Diameter signaling, and realizes the Session management and load balancing provided for the VoWifi gateway. In addition, after the application protocol proxy server performs polling and forwarding to at least one application protocol server located at the back end based on the query traffic corresponding to the traceability query request message and realizes the first layer of load balancing, the application protocol server can also continue to perform hierarchical load balancing on the query traffic corresponding to the received traceability query request message and forward it to each traceability query instance for traceability query processing, further decoupling and distributing the peak service traffic hierarchically, and enabling the VoWifi traceability query to have a flexible horizontal automatic expansion ability based on the polling forwarding and hierarchical forwarding.

[0090] Referring to Figure 2 , a step flowchart of an embodiment of a load balancing implementation method based on a traceability gateway of the present invention is shown, which is applied to an application protocol proxy server as shown in Figure 1 and specifically may include the following steps:

[0091] Step 201, receiving a traceability query request message from a network element device through the application protocol proxy server, and obtaining the query traffic corresponding to the traceability query request message;

[0092] In an embodiment of the present invention, polling and forwarding can be performed on at least one application protocol server located at the back end based on the query traffic corresponding to the traceability query request message, so as to achieve the load balancing of the first layer, and based on the subsequent hierarchical load balancing and forwarding to each traceability query instance for traceability query processing, thereby solving the problem of hierarchically converting a huge amount of service query traffic to each VoWifi traceability query instance.

[0093] Specifically, the VoWifi traceability gateway usually interacts with the ePDG gateway device through the SWf interface based on the Diameter protocol. In the first half of the overall system load balancing, in order to achieve the load balancing in the first half, the traceability gateway is not directly connected to the gateway device at this time. Instead, the application protocol proxy server is used as an intermediate proxy server between the ePDG gateway device and the VoWifi traceability gateway to perform load balancing.

[0094] The load balancing performed by the application protocol proxy server is mainly manifested as the load balancing forwarding of the query traffic. In an embodiment of the present invention, it can mainly receive the traceability query request message of the network element device by the application protocol proxy server and obtain the query traffic corresponding to the traceability query request message, so as to realize the load balancing forwarding of the query traffic subsequently.

[0095] In practical applications, as Figure 3 shown, the network element device can be represented as an ePDG device, the application protocol proxy server can be represented as a DiameterProxyAgent server, and the application protocol server can be represented as a BackendDiameterServer. At this time, the application protocol proxy server can receive the service request information for VoWiFi (i.e., VoWiFiMsg) sent by the ePDG device. The ePDG device is mainly a network element device for completing the positioning of VoWiFi users. Then, the service request information it sends to the application protocol proxy server is usually a traceability query request message. The traceability query request message can be specifically obtained by the ePDG network element device filtering the received service query request sent by the user terminal. Then, the query traffic corresponding to the traceability query request message can also be realized by the ePDG network element device filtering the received service query request to obtain the traceability query request message and counting the query traffic belonging to the traceability query request in the service query request.

[0096] In a preferred embodiment, before receiving the traceability query request message of the network element device through the application protocol proxy server, the application protocol proxy server, as an intermediate proxy server between the network element device and the traceability gateway, will establish communication connections with the network element device and the traceability gateway. Specifically, it communicates with the network element device and the traceability gateway based on a preset application protocol, such as the Diameter protocol.

[0097] Specifically, referring to Figure 4 , a schematic diagram of connection establishment for the traceability gateway provided by an embodiment of the present invention is shown. Before receiving the traceability query request message of the network element device through the application protocol proxy server, the application protocol proxy server can receive the device connection request of the network element device and establish a communication connection with the backend application protocol server. That is, after receiving the device connection request, the Diameter proxy server can initiate a Session connection message to multiple subsequent DiameterServers, that is, the application protocol servers, and undertake the message relay and forwarding function.

[0098] In addition, it can respond to the capability exchange request sent by the network element device, forward the capability exchange request to the application protocol server with which the communication connection is established, and receive the capability exchange response message returned by the application protocol server. The capability exchange response message can mainly be used to confirm whether the network element device has the traceability capability for the source message device.

[0099] Exemplarily, as Figure 4 shown, in terms of the message processing time sequence, after the ePDG network element device initiates a connection request to the Diameter proxy server, the Diameter proxy server will initiate a connection request to the pre-configured VoWifi DiameterServer at the backend, that is, the application protocol server, and wait for the connection success reply message to confirm whether the communication connections between the Diameter proxy server, the network element device, and the application protocol server are successfully established.

[0100] After establishing the communication connections between the Diameter proxy server, the network element device, and the application protocol server, upon receiving the capability exchange request message, i.e., the CER message, from the ePDG network element device, the Diameter proxy server will send the CER message to the VoWifiDiameterServer application protocol server respectively and wait for the application protocol server to reply with the capability exchange response message, i.e., the CEA message, to confirm the traceability capability. It should be noted that after the connection is successfully established, the connection availability between the ePDG network element device and the Diameter proxy server, as well as between the Diameter proxy server and the VoWifiDiameterServer application protocol server, can be detected through the timed Device-Watchdog heartbeat message, and the message forwarding required subsequently can be maintained based on the connection availability.

[0101] Step 202: Poll at least one application protocol server located at the back end according to the query traffic and forward the traceability query request message to at least one application protocol server, so that at least one application protocol server hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance.

[0102] After establishing the communication connections between the Diameter proxy server, the network element device, and the application protocol server, and confirming that the ePDG network element device has the traceability capability, when receiving the traceability query request message from the network element device through the application protocol proxy server, it is possible to poll at least one application protocol server located at the back end according to the query traffic and forward the traceability query request message to at least one application protocol server, so as to achieve the load-balanced forwarding of the query traffic to the application protocol server.

[0103] Exemplarily, as Figure 4 shown, when the ePDG network element device sends a QLR traceability request to the Diameter proxy server, the Diameter proxy server will obtain a token according to the token bucket algorithm and, as Figure 3 shown, forward the QLR message to the VoWifiDiameterServer in a RoundRobin manner. After receiving the QLA reply, i.e., the location query reply information, the Diameter proxy server can forward it to the corresponding ePDG network element device, so as to achieve the traceability query of the user's location, obtain the user location information, and complete the VoWiFi user positioning. It should be noted that the traceability query involved in the embodiments of the present invention is carried out with the knowledge and permission of the user and does not violate the personal privacy of others.

[0104] Specifically, in the process of implementing load balancing based on polling and forwarding of the application protocol server, the token bucket algorithm executed by the application protocol proxy server is mainly manifested as obtaining the token bucket threshold pre-configured for at least one application protocol server located at the backend. At this time, based on the query traffic and the configured token bucket threshold, the number of application protocol servers to be polled can be determined, and the traceability query request message can be forwarded to at least one application protocol server located at the backend according to the number of application protocol servers to be polled.

[0105] Among them, the current bearing capacity of a single Diameter Server is limited and can be calculated according to the configuration. That is, the threshold of the token bucket can be pre-configured based on the calculation of the configuration. Then, the obtained token bucket threshold is used to represent the limit of the query traffic received by each application protocol server, and the token it has can also be used to represent the permission of the application protocol proxy server to access a certain application protocol server. It should be noted that based on the threshold of the token bucket, if there is a new evolution of the bearing service or the configuration of the Diameter Server is upgraded in the future, dynamic threshold setting can also be supported, and the embodiments of the present invention do not limit this.

[0106] In practical applications, during the polling and forwarding process, it will be forwarded to the pre-configured application protocol servers at the subsequent level, generally multiple. These application protocol servers are in a parallel relationship and jointly bear the business pressure. The determination of message forwarding to multiple application protocol servers, in addition to determining the number of servers that need to process the business based on the query traffic and the token bucket threshold as described above, also needs to rely on the routing table to implement polling and message forwarding.

[0107] In a specific implementation, the configuration information for the application protocol server at the backend and the message source device information for the gateway device can be obtained, and then the configuration information of the application protocol server can be converted into a routing table, and the message source device information can be added to the routing table. At this time, at least one application protocol server can be determined from the routing table based on the routing policy according to the number of application protocol servers to be polled, and the traceability query request message can be forwarded to each determined application protocol server.

[0108] Among them, the aforementioned configuration information VoWifiBackendConfig information can refer to the pre-configured information related to the backend Diameter Server, such as including information such as IP address, port, application ID, Realm name, server identifier, expiration time, etc., and the embodiments of the present invention do not limit this.

[0109] In the embodiments of the present invention, the message source device information can be used to determine the routing policy. Specifically, the message source device information can include the RealmName for the network element device and the ApplicationIdentifier, and the routing policy determined by the message source device information recorded in the routing table can be manifested as selecting the application protocol server according to the RealmName, and trying to forward the requests of the network element devices with the same RealmName to the same or the same group of application protocol servers, or avoiding the application protocol servers during use, etc. In this regard, the embodiments of the present invention do not impose limitations.

[0110] In a preferred embodiment, as Figure 3 shown, when polling and forwarding through the application protocol proxy server, a finite state machine for each communication connection can also be established to monitor each communication connection based on the established finite state machine; wherein, the monitored communication connections include the communication connection between the application protocol proxy server and the network element device, and / or the communication connection between the application protocol proxy server and at least one application protocol server.

[0111] In practical applications, after the ePDG message arrives, the finite state machine information of each Session state can also be maintained, and the Origin-Host AVP information and Destination-Host AVP information of the Diameter message can be supplemented to achieve the purpose of tracking the source device address of each Diameter Session and the destination address of the subsequent connection, and maintaining the Session state. The specific finite state machine information can include, for example, the waiting communication connection state (manifested as the Wait-Conn-Ack state), the waiting traceability ability confirmation state (manifested as the Wait-I-CEA state), the startup state (manifested as the I-Open state), the closing state (manifested as the Closing state), the closed state (manifested as the Closed state), etc.

[0112] It should be noted that the state machine maintains the Session state. Generally speaking, if it is an ePDG device, its messages will be forwarded through the Diameter proxy to different backend Diameter Servers, and different destination Servers need to establish different logical Sessions, and the maintenance of these Sessions requires a finite state machine. And according to the RFC6733 specification, the Diameter proxy server needs to attach AVP data containing the source and destination device information in the forwarded message so that after receiving the reply from the backend Diameter Server, it can be forwarded to the correct source device. And the timing for supplementing the Diameter message can generally be before receiving the message forwarding.

[0113] In a preferred embodiment, with reference to Figure 4 As shown in the message processing timing diagram, after establishing the communication connections between the Diameter proxy server, the network element device, and the application protocol server, it is also possible to detect the connection availability between the ePDG network element device and the Diameter proxy server, and between the Diameter proxy server and the VoWifi Diameter Server application protocol server, by periodically sending Device-Watchdog heartbeat messages, and maintain the message forwarding for subsequent processing based on the connection availability. Then, when forwarding the traceability query request message to at least one application protocol server located at the back end, it is also necessary to ensure that the heartbeat messages are detected between the application protocol proxy server and the application protocol server at a preset time interval, and this is carried out under the condition of connection availability.

[0114] In a preferred embodiment, when forwarding messages to at least one application protocol server at the back end, it is also possible to add the message source device address information of the network element device and the destination address information of the application protocol server connected at the back end to the traceability query request message being forwarded. The message source device address information is used to inform the application protocol proxy server of the source device address to which the location query reply information is to be forwarded when the application protocol proxy server receives the location query reply information returned by the application protocol server at the back end.

[0115] Then, for the Diameter proxy server, the traceability query request message forwarded to the application protocol server carries the message source device address information of the network element device. After the application protocol proxy server receives the location query reply information returned by at least one application protocol server, this location query reply information is mainly obtained by querying in response to the traceability query request message for each traceability query instance forwarded by the application protocol server in a hierarchical and graded manner. At this time, the location query reply information can be sent to the network element device corresponding to the message source device address information according to the message source device address information.

[0116] Exemplarily, as Figure 4 shown, after receiving the QLR message, the Diameter Server will perform protocol conversion and query the traceability instance at the back end. After obtaining the reply related to the user location information, it will encapsulate it into a QLA message and reply to the Diameter proxy server; after the application protocol proxy server receives the QLA reply, that is, the location query reply information, the Diameter proxy server can forward it to the corresponding ePDG network element device to implement the traceability query of the user location, obtain the user location information, and complete the VoWiFi user positioning.

[0117] In the embodiment of the present invention, after polling and forwarding to at least one application protocol server located at the back end to achieve load balancing at the first layer, the query traffic corresponding to the received traceability query request message can be further subjected to hierarchical load balancing and forwarded to each traceability query instance for traceability query processing, and further decouple and distribute the peak service traffic hierarchically.

[0118] Specifically, the back-end Diameter Server can perform protocol conversion to form a RESTful protocol at the L7 layer. That is, after the load balancing at the first layer is not sufficient, subsequent load balancing can be performed at the L7 layer proxy protocol forwarder at this time. At this time, it is also necessary to forward to the back-end server again based on the L7 layer proxy protocol forwarder, and allow the configuration and quantity of the traceability instances located at the back end of the L7 layer proxy protocol forwarder to be adjusted to achieve load balancing after converting the traceability query request message into a RESTful protocol.

[0119] Among them, considering the parallel expandability characteristics of the system, multiple traceability instances should be configured according to the actual system load conditions in combination with the load-bearing pressure limit of a single instance. Each traceability query instance can be manifested as a process for executing traceability queries, that is, mainly used to undertake the execution of the specific VoWifi traceability function. On the basis of proxy forwarding of some Diameter signaling for the VoWifi service, the VoWifi traceability query is realized based on the L7 layer RESTful protocol.

[0120] In practical applications, the L7 layer proxy protocol forwarder is used to forward based on the RESTful protocol after the protocol conversion of the previous-level Diameter protocol, and can be forwarded to the corresponding traceability instance at the back end according to the polling mechanism, which is equivalent to playing the role of secondary load balancing. It should be noted that the bearing of the RESTful protocol usually depends on the L7 layer HTTP protocol. In the embodiment of the present invention, an existing L7 layer proxy protocol forwarder can be appropriately configured to implement the function of secondary load balancing, and the embodiment of the present invention will not elaborate on this.

[0121] In an embodiment of the present invention, an application protocol proxy server communicates with a network element device and a traceability gateway based on a preset application protocol. The traceability gateway communicating with the application protocol proxy server may include an application protocol server and a traceability query instance located at the back end of the application protocol proxy server. During the load balancing process of processing a traceability query request message based on the traceability gateway, mainly after the application protocol proxy server receives the traceability query request message from the network element device, it polls and forwards to at least one application protocol server located at the back end based on the query traffic corresponding to the traceability query request message, so as to achieve the first-level load balancing. Then, the subsequent application protocol server can continue to perform hierarchical load balancing on the query traffic corresponding to the received traceability query request message and forward it to each traceability query instance for traceability query processing. That is, based on the polling and forwarding of the application protocol proxy server and the hierarchical forwarding of the subsequent application protocol server, a multi-layer flexible load balancing capability of the VoWifi traceability gateway that meets the requirements of in-network devices is designed and implemented, solving the problem of hierarchical conversion of a large amount of service query traffic to each VoWifi traceability query instance. This not only improves the overall anti-peak service impact ability of the system, but also enables the VoWifi traceability query to have a flexible horizontal automatic expansion ability based on polling and forwarding and hierarchical forwarding.

[0122] Refer to Figure 5 , which shows a flowchart of steps of another embodiment of the load balancing implementation method based on a traceability gateway according to the present invention, applied to a traceability gateway. The traceability gateway communicates with an application protocol proxy server based on a preset application protocol. The traceability gateway includes an application protocol server and a traceability query instance located at the back end of the application protocol proxy server. Specifically, it may include the following steps:

[0123] Step 501, receive the traceability query request message polled and forwarded by the application protocol proxy server through the application protocol server;

[0124] In an embodiment of the present invention, it is possible to poll and forward to at least one application protocol server located at the back end based on the query traffic corresponding to the traceability query request message, so as to achieve the first-level load balancing, and based on the subsequent hierarchical load balancing and forwarding to each traceability query instance for traceability query processing, solve the problem of hierarchical conversion of a large amount of service query traffic to each VoWifi traceability query instance.

[0125] Specifically, the VoWifi traceability gateway usually interacts with the ePDG gateway device through the SWf interface based on the Diameter protocol. In the first half of the overall system load balancing, that is, in order to achieve load balancing in the first half, the traceability gateway is not directly connected to the gateway device at this time. Instead, the application protocol proxy server is used as an intermediate proxy server between the ePDG gateway device and the VoWifi traceability gateway for load balancing.

[0126] The load balancing performed by the application protocol proxy server is mainly manifested as the load-balanced forwarding of query traffic. In the embodiments of the present invention, it can mainly receive the traceability query request message from the network element device through the application protocol proxy server, obtain the query traffic corresponding to the traceability query request message, and then perform subsequent load-balanced forwarding of the query traffic, which is mainly manifested as polling at least one application protocol server located at the back end according to the query traffic and forwarding the traceability query request message to at least one application protocol server.

[0127] Step 502: Hierarchically forward the query traffic corresponding to the traceability query request message to each traceability query instance through the application protocol server;

[0128] At this time, for the application protocol server that forwards the traceability query request message, after receiving the traceability query request message polled and forwarded by the application protocol proxy server, it can hierarchically forward the query traffic corresponding to the traceability query request message to each traceability query instance.

[0129] Specifically, since the back-end DiameterServer performs the conversion from the Diameter protocol to the RESTful protocol, and the forwarding of the RESTful protocol must use a 7-layer proxy, and considering the huge traffic impact of the ePDG device during the business peak period, the load balancing ability of the L7-layer RESTful protocol can be adapted after the protocol conversion by the back-end DiameterServer. That is, there is a protocol conversion between the application protocol server and the traceability query instance, so there may also be a 7-layer proxy protocol forwarder between the application protocol server and the traceability query instance.

[0130] Among them, the relative application protocol proxy server is responsible for the first half of the overall system load balancing, and realizes the polling and message forwarding of the application protocol proxy servers located at the back end. For the proxy protocol forwarder, it is mainly responsible for the second half of the overall system load balancing, so as to hierarchically convert a huge amount of service query traffic into each VoWifi traceability query instance, which not only improves the overall system's ability to resist service peak impacts, but also enables the VoWifi traceability query to have flexible horizontal automatic scaling ability. It should be noted that the 7-layer proxy protocol forwarding can be implemented in various ways. Currently, we use Nginx to configure the L7 layer to decode the SSL encrypted message and implement forwarding.

[0131] In practical applications, the 7-layer proxy protocol forwarder is used to forward based on the RESTful protocol after the Diameter protocol conversion at the previous level, and can be forwarded to the corresponding traceability instance at the back end according to the polling mechanism, which is equivalent to playing the role of secondary load balancing. It should be noted that the RESTful protocol is usually carried depending on the L7-layer HTTP protocol. In the embodiments of the present invention, an existing 7-layer proxy protocol forwarder can be appropriately configured to implement the function of secondary load balancing, and the embodiments of the present invention will not elaborate on this.

[0132] Step 503, each traceability query instance responds to the traceability query request message and returns a location query reply message to the application protocol server, so that the application protocol server can return the location query reply message to the network element device via the application protocol proxy server.

[0133] In an embodiment of the present invention, after each traceability query instance receives the traceability query request message sent by the application server, it can respond to the traceability query request message and return a location query reply message to the application protocol server, so that the application protocol server can return the location query reply message to the network element device via the application protocol proxy server.

[0134] In practical applications, the peak service traffic is load balanced and forwarded to the back-end DiameterServer through the Diameter proxy, and the back-end DiameterServer forms the L7-layer RESTful protocol after protocol conversion, and then the load balancing of the final traceability instance is achieved through a properly configured 7-layer proxy protocol forwarder, that is, the service traffic received by each traceability query instance is received from the 7-layer proxy protocol forwarder.

[0135] Specifically, each traceability query instance responds to the traceability query request message and returns a location query reply message to the application protocol server, such as Figure 4As shown, specifically, after the Diameter Server application protocol proxy server receives the QLR message, it will perform protocol conversion and query the backend traceability instance. After obtaining the response related to the user location information, it will encapsulate it into a QLA message and reply to the Diameter proxy server. After the application protocol proxy server receives the QLA response, that is, the location query reply information, the Diameter proxy server can forward it to the corresponding ePDG network element device to implement the traceability query of the user location, obtain the user location information, and complete the VoWiFi user positioning.

[0136] In practical applications, when returning the location query reply information, it is manifested that the application protocol server hierarchically classifies the traceability request message. Each traceability query instance can respond to the traceability query request message to query and obtain the location query reply information, and return the location query reply information to the application protocol server. At this time, the protocol proxy server can receive the location query reply information returned by the application protocol server, and then the application protocol proxy server sends the location query reply information to the network element device corresponding to the message source device address information according to the message source device address information.

[0137] It should be noted that it is possible to adjust the configuration and quantity of the backend Diameter Server, or to adjust the configuration and quantity of the traceability instances at the L7 layer, which plays a role in flexibly adapting to the business scale, so as to achieve the purpose of hierarchical decoupling and distribution of peak service traffic, and enable flexible horizontal expansion ability.

[0138] In the embodiment of the present invention, based on the polling forwarding of the application protocol proxy server and the subsequent hierarchical forwarding of the application protocol server, the multi-layer flexible load balancing ability of the VoWifi traceability gateway that meets the requirements of the existing network devices is designed and implemented, solving the problem of hierarchical conversion of a large amount of service query traffic to each VoWifi traceability query instance. It not only improves the overall anti-peak service impact ability of the system, but also enables the VoWifi traceability query to have flexible horizontal automatic expansion ability based on polling forwarding and hierarchical forwarding.

[0139] In order to enable those skilled in the art to know the load balancing implementation based on the traceability gateway proposed in the embodiment of the present invention, refer to Figure 6 , which shows a schematic diagram of the application scenario for implementing load balancing based on the traceability gateway provided in the embodiment of the present invention. The following description is made in combination with this application scenario:

[0140] It is mainly applied in the scenario of traceability, that is, user location query. Usually, it can achieve the multi-layer flexible load balancing ability of the VoWifi traceability gateway that meets the requirements of the existing network devices, especially in the scenario of mixed networking of devices from different manufacturers and different peak traffic in the existing network, to meet the requirements of VoWifi service traceability.

[0141] Specifically, it relates to a system for implementing load balancing based on a traceability gateway, including network element devices (ePDG), application protocol proxy servers (DiameterProxyAgentMaster / DiameterProxyAgentSlave), state machines (FiniteStateMachine), application protocol servers (BackendDiameterSever1 / BackendDiameter Sever2 / BackendDiameterSever3, etc.), Layer 7 proxy protocol forwarders (L7ProtocolProxyAgentMaster), and traceability query instances (Vowifi traceability query instance 1 / Vowifi traceability query instance 2 / Vowifi traceability query instance 3, etc.).

[0142] Among them, the application protocol server and the traceability query instance both belong to the traceability gateway, and they are both important local network element devices in the VoWiFi service, and can both be used to complete the function of user location traceability query; the application protocol proxy server can communicate with the network element device and the traceability gateway based on a preset application protocol. Exemplarily, the preset application protocol can be the Diameter protocol. The VoWifi traceability gateway realizes interaction with the ePDG gateway device through the SWf interface based on the Diameter protocol. In the embodiment of the present invention, the application protocol proxy server can serve as an intermediate proxy server between the ePDG gateway device and the VoWifi traceability gateway to achieve load balancing during the interaction process of the VoWifi traceability gateway; as an essential network element in the non-trusted Wi-Fi network access mode, the network element device can use the gateway address and port number of the user as input parameters based on the traceability gateway interaction interface, and after invoking the traceability capability, return the user location information to the ePDG to complete the VoWiFi user positioning; compared with the application protocol proxy server responsible for the first half of the overall system load balancing, realizing the polling and message forwarding of the application protocol proxy server located at the back end, the proxy protocol forwarder is mainly responsible for the second half of the overall system load balancing, realizing the hierarchical forwarding of the traceability query instances.

[0143] In practical applications, the process of implementing load balancing is manifested as the network element device sending a connection request to the application protocol proxy server, receiving the device connection request of the network element device through the application protocol proxy server, and establishing a communication connection with the application protocol server at the back end through the application protocol proxy server. That is, after receiving the device connection request, the Diameter proxy server can initiate a Session connection message to multiple DiameterServers at the subsequent level, that is, the application protocol server, and undertake the function of message relay forwarding.

[0144] The application protocol proxy server responds to the capability exchange request sent by the network element device, forwards the capability exchange request to the application protocol server of the established communication connection, and receives the capability exchange response message returned by the application protocol server. The capability exchange response message can mainly be used to confirm whether the network element device has the ability to trace the source message device.

[0145] After establishing the communication connections between the Diameter proxy server, the network element device, and the application protocol server, when the Diameter proxy server receives the capability exchange request message of the ePDG network element device, that is, the CER message, it receives the traceability query request message of the network element device through the application protocol proxy server, obtains the query traffic corresponding to the traceability query request message, then polls at least one application protocol server located at the back end according to the query traffic, and forwards the traceability query request message to at least one application protocol server, realizing the first half of the overall system load balancing based on the application protocol proxy server.

[0146] Moreover, when polling and forwarding through the application protocol proxy server, a finite state machine for each communication connection can also be established to monitor each communication connection based on the established finite state machine; among them, each monitored communication connection includes the communication connection between the application protocol proxy server and the network element device, and / or the communication connection between the application protocol proxy server and at least one application protocol server. In actual applications, after the ePDG message arrives, the finite state machine information of each Session state can also be maintained, and the Origin-Host AVP information and Destination-Host AVP information of the Diameter message can be supplemented to achieve the purpose of tracking the source device address of each Diameter Session and the destination address of the subsequent connection, and maintaining the Session state.

[0147] The application protocol server receives the traceability query request message polled and forwarded by the application protocol proxy server, hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance. At this time, each traceability query instance can respond to the traceability query request message and return the location query reply information to the application protocol server, so that the application protocol server can return the location query reply information to the network element device via the application protocol proxy server. That is, the peak service traffic is load-balanced and forwarded to the Diameter Server at the back end through the Diameter proxy, and the Diameter Server at the back end performs protocol conversion to form the RESTful protocol at the L7 layer, and then realizes the load balancing of the final traceability instance through the appropriately configured 7-layer proxy protocol forwarder, and can realize the second half of the overall system load balancing based on the 7-layer proxy protocol forwarder.

[0148] In an embodiment of the present invention, based on the polling forwarding of the application protocol proxy server and the hierarchical forwarding of the subsequent application protocol server, that is, for the partial Diameter signaling proxy forwarding of the VoWifi service and the VoWifi traceability query of the L7 layer RESTful protocol, a VoWifi traceability gateway that meets the requirements of the existing network equipment is realized. Especially in the scenario of mixed networking of equipment from different manufacturers and different peak traffic in the existing network, a multi-layer flexible load balancing ability is achieved to meet the requirements of VoWifi service traceability. Further, the application protocol proxy server that realizes polling forwarding also has the ability to manage the finite state machine and forward AVP for the Diameter signaling of the VoWifi gateway, and realizes the Session management and load balancing provided for the VoWifi gateway. In addition, after the application protocol proxy server polls and forwards the query traffic corresponding to the traceability query request message to at least one application protocol server located at the back end to achieve the first-layer load balancing, the application protocol server can also continue to perform hierarchical load balancing on the query traffic corresponding to the received traceability query request message and forward it to each traceability query instance for traceability query processing. Further, the peak service traffic is decoupled and distributed hierarchically, and based on polling forwarding and hierarchical forwarding, the VoWifi traceability query has a flexible horizontal automatic expansion ability, solving the problem that in the prior art, there is a lack of management and AVP forwarding ability for the Session and finite state machine of the Diameter protocol, and there is only an L7 layer load balancing component based on RESTful, so the implementation effect is not good in the scenario of large traffic impact on the ePDG equipment in the existing network.

[0149] It should be noted that for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of the present invention are not limited by the described action sequence, because according to the embodiments of the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential for the embodiments of the present invention.

[0150] Referring to Figure 7 , a structural block diagram of an embodiment of a load balancing implementation device based on a traceability gateway according to the present invention is shown. It is applied to an application protocol proxy server, and the application protocol proxy server is communicatively connected to a network element device and a traceability gateway based on a preset application protocol. The traceability gateway includes an application protocol server and a traceability query instance located at the back end of the application protocol proxy server, and specifically may include the following modules:

[0151] A traceability query request message receiving module 701, configured to receive a traceability query request message from a network element device and obtain query traffic corresponding to the traceability query request message;

[0152] The polling and forwarding module 702 is configured to poll at least one application protocol server located at the backend according to the query traffic, and forward the traceability query request message to at least one application protocol server, so that at least one application protocol server hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance.

[0153] In an embodiment of the present invention, the polling and forwarding module 702 may include the following sub-modules:

[0154] The token bucket threshold acquisition sub-module is configured to acquire the token bucket thresholds pre-configured for at least one application protocol server located at the backend; the token bucket thresholds are used to represent the query traffic limits undertaken by each application protocol server;

[0155] The polling quantity determination sub-module is configured to determine the quantity of application protocol servers to be polled based on the query traffic and the configured token bucket thresholds;

[0156] The polling and forwarding sub-module is configured to forward the traceability query request message to at least one application protocol server located at the backend according to the quantity of application protocol servers to be polled.

[0157] In an embodiment of the present invention, the polling and forwarding sub-module may include the following units:

[0158] The configuration information acquisition unit is configured to acquire the configuration information for the application protocol servers at the backend and the message source device information for the gateway device pre-configured;

[0159] The routing table generation unit is configured to convert the configuration information of the application protocol servers into a routing table, and add the message source device information to the routing table; wherein, the message source device information is used to determine the routing policy;

[0160] The request message forwarding unit is configured to determine at least one application protocol server from the routing table based on the routing policy according to the quantity of application protocol servers to be polled, and forward the traceability query request message to each determined application protocol server.

[0161] In an embodiment of the present invention, the polling and forwarding sub-module may further include the following units:

[0162] The heartbeat message detection unit is configured to perform heartbeat message detection on the application protocol proxy server and the application protocol server at a preset time interval, and forward the traceability query request message to at least one application protocol server located at the backend in the case of connection availability;

[0163] In an embodiment of the present invention, before forwarding the traceability query request message to at least one application protocol server located at the back end, the following units may further be included:

[0164] An address information adding unit, configured to add, to the traceability query request message, the message source device address information of the network element device and the destination address information of the application protocol server connected to the back end; the message source device address information is used to inform the application protocol proxy server of the source device address to which the location query reply information is to be forwarded when the application protocol proxy server receives the location query reply information returned by the application protocol server at the back end.

[0165] In an embodiment of the present invention, before receiving, by the application protocol proxy server, the traceability query request message of the network element device, the device provided by the embodiment of the present invention may further include the following modules:

[0166] A communication connection establishing module, configured to receive, by the application protocol proxy server, the device connection request of the network element device, and establish a communication connection with the application protocol server at the back end through the application protocol proxy server;

[0167] A traceability capability determining module, configured to respond to the capability exchange request sent by the network element device, forward the capability exchange request to the application protocol server of the established communication connection, and receive the capability exchange response message returned by the application protocol server; the capability exchange response message is used to confirm whether the network element device has the traceability capability for the source message device.

[0168] In an embodiment of the present invention, the device provided by the embodiment of the present invention may further include the following modules:

[0169] A state machine monitoring module, configured to establish a finite state machine for each communication connection when polling and forwarding through the application protocol proxy server, so as to monitor each communication connection based on the established finite state machine; wherein, each monitored communication connection includes the communication connection between the application protocol proxy server and the network element device, and / or the communication connection between the application protocol proxy server and at least one application protocol server.

[0170] In an embodiment of the present invention, the traceability query request message forwarded to the application protocol server carries the message source device address information of the network element device, and the device provided by the embodiment of the present invention may further include the following modules:

[0171] A location query reply information receiving module, configured to receive, by the application protocol proxy server, the location query reply information returned by at least one application protocol server; the location query reply information is obtained by querying in response to the traceability query request message for each traceability query instance hierarchically and hierarchically forwarded by the application protocol server.

[0172] A location query response information forwarding module, which is used to send location query response information to a network element device corresponding to the message source device address information through an application protocol proxy server according to the message source device address information.

[0173] In the load balancing implementation device based on the traceability gateway proposed in the embodiment of the present invention, the application protocol proxy server realizes communication connections with the network element device and the traceability gateway based on a preset application protocol. The traceability gateway communicating with the application protocol proxy server may include an application protocol server and a traceability query instance located at the back end of the application protocol proxy server. In the load balancing process of processing the traceability query request message based on the traceability gateway, mainly after the application protocol proxy server receives the traceability query request message from the network element device, it performs polling and forwarding to at least one application protocol server located at the back end based on the query traffic corresponding to the traceability query request message, realizing the first layer of load balancing, so that the subsequent application protocol server can continue to perform hierarchical load balancing on the query traffic corresponding to the received traceability query request message and forward it to each traceability query instance for traceability query processing, that is, based on the polling and forwarding of the application protocol proxy server and the hierarchical forwarding of the subsequent application protocol server, the multi-layer flexible load balancing ability of the VoWifi traceability gateway that meets the requirements of the existing network devices is designed and implemented, solving the problem of hierarchical conversion of a huge amount of service query traffic to each VoWifi traceability query instance. It not only improves the overall anti-peak business impact ability of the system, but also enables the VoWifi traceability query to have flexible horizontal automatic expansion ability based on polling forwarding and hierarchical forwarding.

[0174] Refer to Figure 8 , which shows the structural block diagram of another embodiment of the load balancing implementation device based on the traceability gateway of the present invention, applied to the traceability gateway. The traceability gateway communicates with the application protocol proxy server based on a preset application protocol. The traceability gateway includes an application protocol server and a traceability query instance located at the back end of the application protocol proxy server, and specifically may include the following modules:

[0175] A request message receiving module 801, located in the application protocol server, is used to receive the traceability query request message polled and forwarded by the application protocol proxy server;

[0176] A request message forwarding module 802, located in the application protocol server, is used to hierarchically forward the query traffic corresponding to the traceability query request message to each traceability query instance;

[0177] A location query module 803, located in each traceability query instance, returns location query response information to the application protocol server by responding to the traceability query request message, so that the application protocol server can return the location query response information to the network element device via the application protocol proxy server.

[0178] In the load balancing implementation device based on the traceability gateway proposed in the embodiments of the present invention, based on the polling forwarding of the application protocol proxy server and the hierarchical forwarding of the subsequent application protocol servers, the multi-layer flexible load balancing capability of the VoWifi traceability gateway that meets the requirements of in-network devices is designed and implemented, solving the problem of hierarchically converting a huge amount of service query traffic to each VoWifi traceability query instance. This not only improves the overall anti-peak service impact capability of the system but also enables the VoWifi traceability query to have a flexible horizontal automatic expansion capability based on polling forwarding and hierarchical forwarding.

[0179] For the device embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the related parts, please refer to the partial description of the method embodiments.

[0180] The embodiments of the present invention also provide an electronic device, including:

[0181] It includes a processor, a memory, and a computer program stored on the memory and capable of running on the processor. When the computer program is executed by the processor, it implements each process of the above-mentioned method embodiment for load balancing implementation based on the traceability gateway and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0182] The embodiments of the present invention also provide a computer-readable storage medium with a computer program stored thereon. When the computer program is executed by the processor, it implements each process of the above-mentioned method embodiment for load balancing implementation based on the traceability gateway and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0183] Each embodiment in this specification is described in a progressive manner. The key point of each embodiment is to illustrate the differences from other embodiments. For the same or similar parts among the embodiments, reference can be made to each other.

[0184] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a device, or a computer program product. Therefore, the embodiments of the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program codes.

[0185] Embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing terminal devices generate a device for implementing the functions specified in one process Figure 1 one process or multiple processes and / or blocks Figure 1 or multiple blocks.

[0186] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device that implements the functions specified in one process Figure 1 one process or multiple processes and / or blocks Figure 1 or multiple blocks.

[0187] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device, such that a series of operation steps are executed on the computer or other programmable terminal device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable terminal device provide steps for implementing the functions specified in one process Figure 1 one process or multiple processes and / or blocks Figure 1 or multiple blocks.

[0188] Although the preferred embodiments of the present invention have been described, those skilled in the art can make additional changes and modifications once they learn the basic creative concepts. Therefore, the appended claims are intended to be construed to include the preferred embodiments and all changes and modifications that fall within the scope of the present invention.

[0189] Finally, it should also be noted that in this text, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or terminal device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or terminal device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or terminal device comprising the element.

[0190] The above has introduced in detail a method for implementing load balancing based on a traceability gateway, a device for implementing load balancing based on a traceability gateway, a corresponding electronic device, and a corresponding computer storage medium provided by the present invention. Specific examples are used in this text to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation on the present invention.

Claims

1. A method for implementing load balancing based on a traceability gateway, characterized in that, Applied to an application protocol proxy server, the application protocol proxy server is communicatively connected to a network element device and a traceability gateway based on a preset application protocol, wherein the traceability gateway includes an application protocol server and a traceability query instance located at the back end of the application protocol proxy server. The method includes: Receiving, by the application protocol proxy server, a traceability query request message from the network element device, and obtaining query traffic corresponding to the traceability query request message; Polling at least one application protocol server located at the back end according to the query traffic, and forwarding the traceability query request message to the at least one application protocol server, so that the at least one application protocol server hierarchically forwards the query traffic corresponding to the traceability query request message to each traceability query instance.

2. The method according to claim 1, characterized in that, The polling at least one application protocol server located at the back end according to the query traffic, and forwarding the traceability query request message to the at least one application protocol server includes: Obtaining a token bucket threshold pre-configured for at least one application protocol server located at the back end; the token bucket threshold is used to represent the query traffic limit that each application protocol server can undertake; Determining the number of application protocol servers to be polled based on the query traffic and the configured token bucket threshold; Forwarding the traceability query request message to at least one application protocol server located at the back end according to the number of application protocol servers to be polled.

3. The method according to claim 2, characterized in that, The forwarding the traceability query request message to at least one application protocol server located at the back end according to the number of application protocol servers to be polled includes: Obtaining configuration information for the application protocol servers at the back end and message source device information for the network element device pre-configured; Converting the configuration information of the application protocol server into a routing table, and adding the message source device information to the routing table; wherein, the message source device information is used to determine a routing policy; Determining at least one application protocol server from the routing table based on the routing policy according to the number of application protocol servers to be polled, and forwarding the traceability query request message to each determined application protocol server.

4. The method according to claim 2 or 3, characterized in that, The forwarding the traceability query request message to at least one application protocol server located at the back end includes: Detecting heartbeat messages between the application protocol proxy server and the application protocol server at a preset time interval, and forwarding the traceability query request message to at least one application protocol server located at the back end when the connection is available; Before forwarding the traceability query request message to at least one application protocol server located at the back end, it further includes: Adding message source device address information for the network element device and destination address information for the application protocol server connected at the back end to the traceability query request message; the message source device address information is used to inform the application protocol proxy server of the source device address to which the location query reply message is to be forwarded when the application protocol proxy server receives the location query reply message returned by the application protocol server at the back end.

5. The method according to claim 1 or 2, characterized in that, Before receiving the traceability query request message of the network element device through the application protocol proxy server, the following steps are further included: Receiving a device connection request of the network element device through the application protocol proxy server, and establishing a communication connection with an application protocol server at the backend through the application protocol proxy server; And, in response to a capability exchange request sent by the network element device, forwarding the capability exchange request to the application protocol server of the established communication connection, and receiving a capability exchange response message returned by the application protocol server; the capability exchange response message is used to confirm whether the network element device has the ability to trace the message source device.

6. The method according to claim 5, characterized in that, The following steps are further included: When performing polling and forwarding through the application protocol proxy server, establishing a finite state machine for each communication connection to monitor each communication connection based on the established finite state machine; wherein, each communication connection to be monitored includes the communication connection between the application protocol proxy server and the network element device, and / or the communication connection between the application protocol proxy server and at least one application protocol server.

7. The method according to claim 1, characterized in that, The traceability query request message forwarded to the application protocol server carries the message source device address information of the network element device, and the method further includes: Receiving location query reply information returned by at least one application protocol server through the application protocol proxy server; the location query reply information is obtained by each traceability query instance corresponding to the traceability query request message through hierarchical and graded forwarding by the application protocol server. Sending the location query reply information to the network element device corresponding to the message source device address information through the application protocol proxy server according to the message source device address information.

8. An apparatus for implementing load balancing based on a traceability gateway, characterized in that, Applied to an application protocol proxy server, the application protocol proxy server is communicatively connected to a network element device and a traceability gateway based on a preset application protocol, wherein the traceability gateway includes an application protocol server and a traceability query instance located at the backend of the application protocol proxy server, and the apparatus includes: A traceability query request message receiving module, configured to receive the traceability query request message of the network element device and obtain the query traffic corresponding to the traceability query request message; A polling and forwarding module, configured to poll at least one application protocol server located at the backend according to the query traffic and forward the traceability query request message to the at least one application protocol server, so that the at least one application protocol server hierarchically and graded forwards the query traffic corresponding to the traceability query request message to each traceability query instance.

9. An electronic device, characterized in that, The following is included: A processor, a memory, and a computer program stored on the memory and capable of running on the processor, where when the computer program is executed by the processor, it implements the load balancing implementation method based on a traceability gateway according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, it implements the load balancing implementation method based on a traceability gateway according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method and system for realizing dual authentication of voice wireless local area network

    CN114466360A

  • Online charging for multi-user agent instances served by different telephony application servers

    US20190349209A1