WO2020082839A1 - 报文处理方法、相关设备及计算机存储介质 - Google Patents

报文处理方法、相关设备及计算机存储介质 Download PDF

Info

Publication number
WO2020082839A1
WO2020082839A1 PCT/CN2019/098055 CN2019098055W WO2020082839A1 WO 2020082839 A1 WO2020082839 A1 WO 2020082839A1 CN 2019098055 W CN2019098055 W CN 2019098055W WO 2020082839 A1 WO2020082839 A1 WO 2020082839A1
Authority
WO
WIPO (PCT)
Prior art keywords
service instance
service
association information
load balancing
historical association
Prior art date
Application number
PCT/CN2019/098055
Other languages
English (en)
French (fr)
Inventor
章万光
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2020082839A1 publication Critical patent/WO2020082839A1/zh
Priority to US17/104,777 priority Critical patent/US11316916B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Definitions

  • the present invention relates to the field of communication technology, and in particular, to a message processing method, related equipment, and a computer storage medium.
  • PaaS Platform as a service
  • load balancing service is a core service provided by the PaaS platform, which can detect the load of service instances (also called pods) on the back end of the platform and adopt a scheduling strategy to load balance.
  • LBS can randomly select any scheduling strategy to achieve pod load balancing. For example, LBS selects a round-robin scheduling strategy to allow each pod to process services, which does not meet the actual communication needs of specific services, such as delay-sensitive services, or multi-person network conferences and multi-person network conferences that need to be scheduled to the same pod according to business. People online game business and so on. In addition, it may increase the delay and complexity of business communications and affect business performance.
  • the embodiments of the present invention disclose a message processing method, related equipment, and computer storage media, which can solve the problems in the prior art that cannot meet the actual communication needs of specific services.
  • an embodiment of the present invention discloses a packet processing method.
  • the method includes: a load balancing device receives a data packet sent by a user equipment, and the data packet is used to request processing services.
  • the data packet may include historical association information, which is used to determine whether a service instance bound to the historical association information already exists.
  • the number of service instances is not limited, and it may be one or more. When the number of service instances is multiple, multiple service instances can form a service instance set.
  • the load balancing device selects a service instance for processing the data message according to the historical association information. Furthermore, the data message is sent to the selected service instance for processing.
  • the service instance used to process the data message can be selected according to the historical association information in the data message, to solve the problem in the prior art that it cannot meet the communication needs of specific services.
  • the service instance bound to the historical association information is selected if there is one service instance bound to the historical association information and the load of the service instance does not exceed the load threshold.
  • the service instance bound to the historical relationship information is selected as the service instance for processing data packets .
  • a second possible implementation manner of the first aspect if the load of the service instance bound to the historical association information exceeds the load threshold, then Select a new service instance. Specifically, if there are one or more service instances bound to historical association information, and the load of each service instance exceeds the load threshold, the load balancing device can select a new service instance as a service for processing data packets Examples.
  • the load balancing device A new service instance can be selected according to a preset load balancing rule as a service instance for processing data packets.
  • the historical association information is specifically used to identify a user or to identify a service.
  • an embodiment of the present invention provides a load balancing apparatus, the apparatus including a functional module or unit for performing the method described in the first aspect or any possible implementation manner of the first aspect above.
  • an embodiment of the present invention provides a load balancing device, including: a processor and a memory, where the load balancing device executes the first aspect or any possible implementation manner of the first aspect when executing instructions in the memory The method described in.
  • the device may further include a communication interface and a bus.
  • the processor, communication interface, and memory communicate with each other through the bus; the communication interface is used to receive and send data; the memory is used to store instructions; the processor is used to call instructions in the memory to perform the first aspect or the first Method described in any possible implementation of aspects.
  • a computer non-transitory storage medium in a fourth aspect, storing program code for message processing.
  • the program code includes instructions for performing the method described in the first aspect or any possible implementation manner of the first aspect.
  • a chip product is provided to perform the method in the first aspect or any possible implementation manner of the first aspect.
  • FIG. 1 is a schematic diagram of a network framework provided by an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a scenario provided by an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a message processing method according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a message format provided by an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an optional field format provided by an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a load balancing device according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of another load balancing device according to an embodiment of the present invention.
  • the present invention provides a packet processing method, a network framework to which the method is applicable, and related equipment.
  • FIG. 1 is a schematic diagram of a network framework provided by an embodiment of the present invention.
  • the network framework 100 shown in FIG. 1 includes a user equipment cluster 102, a load balancing device 104, and a service equipment cluster 106. among them,
  • the user equipment cluster 102 includes one or more user equipment.
  • the illustration takes m user equipment as an example, and m is a positive integer.
  • the service device cluster 106 includes one or more service devices.
  • the illustration shows n service devices as an example, where n is a positive integer.
  • the m user equipments in the user equipment cluster 102 are deployed in an external network, and the external network may be the Internet.
  • the user equipment 102 includes, but is not limited to, a mobile phone, a tablet (personal computer), a personal digital assistant (PDA), a mobile internet device (MID), a wearable device (wearable device), and Other devices that support network communication.
  • the n service devices in the service device cluster 106 are deployed in the internal network, and the internal network may be a local area network (LAN).
  • Service equipment refers to equipment used to provide business services.
  • the n service equipments in the service equipment cluster can support the provision of the same business services or different business services.
  • a service device refers to a device deployed with one or more service instances (pods).
  • the service instance is used to provide business services, such as voice services, video services, network conference services, and conversation services. Be limited.
  • the n service devices in the service device cluster are each deployed with service instances for providing the same business service, for example, the n service devices are all used to provide network session services and so on.
  • the service device can be either a hardware device or a functional module implemented by a software program. It includes but is not limited to servers, hosts, virtual machines, containers, etc.
  • the load balancing device 104 is deployed in a demilitarized zone (DMZ) to achieve load balancing of user equipment.
  • the load balancing device adopts a preset scheduling strategy to allocate the service request sent by the user equipment (which may also be a data message carrying the service request) to any one or more of the n service devices for processing, to avoid
  • the load of some service equipment is too large, which results in a large delay in business communication, business performance and user experience are affected.
  • DMZ commonly known as the demilitarized zone. It can also be understood as a special network area different from the external network or the internal network. Some websites such as web servers, mail servers, and load balancing (LB) devices that do not contain confidential information are usually deployed in the DMZ.
  • LB load balancing
  • the user equipment in the user equipment cluster 102 can communicate with the load balancing device 104 through the external network, and the service equipment in the service equipment cluster 104 can communicate with the load balancing device 104 through the internal network.
  • the scheduling strategy is used to implement the scheduling or allocation of business requests.
  • the scheduling strategy may also be called a load balancing strategy (or load balancing rule), which may be specifically set by the system.
  • load balancing strategy or load balancing rule
  • Polling scheduling refers to scheduling business requests to different service instances (specifically, any service instance deployed in a service device) in a round-robin manner.
  • service processing capability of each service instance is usually the same, and the load balancing device can evenly distribute all business requests to each service instance for processing.
  • weighted round robin scheduling (weight round robin, WRR)
  • Weighted round-robin scheduling is mainly an optimization and supplement to round-robin scheduling.
  • the load balancing device will consider the performance of each service instance and assign a weight to each service instance.
  • the weight is used to reflect the service instance's processing of business requests.
  • the service instance with the larger weight has larger business request. For example, if the weight of service instance A is 1, and the weight of service instance B is 2, then the service request dispatched by the load balancing device to service instance B is twice that of service instance A.
  • the minimum connection scheduling refers to allocating the service request of the new user equipment to the service instance with the smallest number of connections.
  • Minimal connection scheduling is a dynamic scheduling algorithm that estimates the status of a service instance through the number of user devices currently connected to the service instance (also called the number of connections).
  • the load balancing device records the connection number of the service instance. When a business request of a user equipment is scheduled to the service instance, the connection number of the service instance increases by 1, and when the connection is interrupted or times out, the connection number of the service instance decreases by 1.
  • Weighted minimum connection scheduling is the optimization of minimum connection scheduling.
  • Each service instance is configured with a corresponding weight value, which is used to represent the processing performance of the service instance.
  • the default weight of the service instance is 1, and the system can dynamically adjust the weight of the service instance.
  • the load balancing device tries to make the connection number of the service instance proportional to the weight of the service instance when scheduling the business request of the user equipment.
  • the load balancing device can automatically obtain the load of the service instance and dynamically adjust the weight of the service instance.
  • LBLC load balancing scheduling for the target Internet protocol (IP) address of data packets for business requests. It is mainly used in the cache cluster system because the target IP address of data packets of user equipment in this system Is changing. Assuming that each service instance can handle any business request, the design goal of LBLC is to dispatch business requests with the same target IP address to the same service instance for processing in the case of load balancing of the service instances, to improve business processing efficiency performance.
  • IP Internet protocol
  • LBLC first finds the most recently used service instance of the target IP address according to the target IP address of the business request. If the service instance is available and not overloaded (the load is less than or equal to the preset threshold), the service request is sent to the Processed in the service instance. If the service instance does not exist, or the service instance is overloaded and has half or more of the workload, then use the "minimum connection" principle to select an available service instance and send business requests to the service instance for processing.
  • LBLCR Locality-based least connections with replication
  • LBLCR is also load balancing for the target IP address and is applied to the cache cluster system.
  • the difference with LBLC is that LBLC maintains a mapping between a target IP address and a service instance, while LBLCR maintains a mapping between a target IP address and a group of service instances.
  • LBLCR selects a service instance from the service instance group corresponding to the target IP address according to the "minimum connection" principle. If the service instance is not overloaded, the service request of the user equipment is sent to the service instance for processing.
  • the service instance is overloaded, select a service instance from the service instance cluster according to the "minimum connection" principle, add the selected service instance to the service instance group corresponding to the target IP address, and further send a business request to the service Handle in the example.
  • destination address hashing destination hashing, DH
  • DH uses the target IP address of the business request as a hash key to find the service instance corresponding to the hash key from the statically assigned hash table. If the service instance is available and there is no overload, the business request is dispatched to this Processed in the service instance. Otherwise, the return is empty and the process ends.
  • source address hash scheduling (source hashing, SH)
  • SH uses the source IP address of the business request as a hash key to find the service instance corresponding to the hash key from the statically assigned hash table. If the service instance is available and not overloaded, the business request is dispatched to the service instance . Otherwise, the return is empty and the process ends.
  • NQ refers to a scheduling algorithm that does not require queuing. If the number of connections of the service instance is equal to 0, the load balancing device dispatches the business request of the user equipment to the service instance for processing, without performing SED calculation.
  • FIG. 2 is a schematic diagram of a scenario provided by an embodiment of the present invention.
  • the scenario shown in FIG. 2 shows m user equipments, a load balancing device, and n service instances (pods).
  • m user equipments are deployed in the external network
  • the load balancing device is deployed in the isolated zone DMZ
  • n service instances are deployed in the internal network.
  • Each service instance provides corresponding business services, such as conference services, WeChat services, game services, and so on.
  • the business services provided by any two service instances in the n service instances may be the same or different, and the invention is not limited thereto.
  • the n service instances shown in the present invention are located in the same service instance set, and are all used to provide the same business service.
  • the service instance pod is a basic functional unit or module.
  • a pod includes a set of containers and their shared volumes (volumes), used to provide corresponding functional services.
  • Each pod will be assigned a unique IP address to communicate through that IP address.
  • the relevant explanation of the service instance pod the present invention is not limited.
  • the user equipment communicates with the load balancing device through an external network, for example, sending a service request of the user equipment (specifically, a data message carrying the service request) to the load balancing device.
  • the load balancing device communicates with the service instance through the intranet, for example, dispatching the service request of the user equipment to the service instance for processing.
  • the load balancing device is configured with a corresponding communication port, which is used to transmit data packets of a specific service.
  • the specific service is one or more services customized by the system, which is not limited in the present invention.
  • the load balancing device may be configured with different communication ports to process communication requests of different services.
  • the communication port may be a port that integrates a receiving function and a sending function.
  • the port may be used to receive data packets sent by user equipment, and may also be used to send data packets to a service instance.
  • the communication port may include a first port and a second port, where the first port is used to communicate with the user equipment, for example, to receive a data packet sent by the user equipment.
  • the second port is used to communicate with the service instance, for example, to send a data message to the service instance, etc.
  • the present invention is not limited.
  • the load balancing device is configured with two ports.
  • the first port is used to communicate with user equipment supporting network conference services
  • the second port is used to communicate with service instance pods that support processing of network conference services.
  • the port number of the first port is 8118
  • the port number of the second port is 3008.
  • user equipment 1 user1
  • the load balancing device receives the service request sent by the user equipment 1 through the port 8118, and then sends the service request to pod1 using a preset scheduling strategy.
  • the load balancing device sends a service request to pod1 with an IP address of 172.1.0.1.
  • the pod1 receives the service request sent by the load balancing device through port 3008, and then processes the service request.
  • the scheduling strategy please refer to the relevant explanations in the foregoing embodiments, which will not be repeated here.
  • FIG. 3 is a schematic flowchart of a packet processing method according to an embodiment of the present invention.
  • the method shown in FIG. 3 includes the following implementation steps:
  • Step S301 The user equipment sends a data message to the load balancing device.
  • the load balancing device receives the data message sent by the user equipment.
  • the user equipment may send a data message to the load balancing device, and the data message is used to
  • the business services include, but are not limited to, network conference services, call services, game services, and so on.
  • the data message may carry historical association information, and the historical association information may be used to identify a user (that is, identify a user device) or identify a service (that is, identify a business service). It is specifically used to determine whether there is a service instance associated with the historical association information.
  • the number of service instances is not limited. When the number of service instances is more than one, the more than one service instance may also be called Service instance set. For details about the service instance, please refer to the relevant introduction in the foregoing embodiment, which will not be repeated here.
  • the historical association information is used to identify the user equipment, and the historical association information may specifically be the name, model, identification (ID) number used to represent the user equipment, or other key information used to distinguish the user equipment Wait.
  • ID identification
  • the historical association information may specifically be the name, model, identification (ID) number used to represent the user equipment, or other key information used to distinguish the user equipment Wait.
  • the user equipment in the present invention can associate and bind a service instance in advance. It is convenient for the subsequent use of the service instance to process the data message of the user equipment. For example, if the data message sent by the user equipment carries historical association information, and the historical association information is used to identify the user equipment, the load balancing device may search for the corresponding service instance according to the historical association information to send the data message to Find service instance processing.
  • the same user equipment cluster may be associated with and bound to a service instance in advance. It is convenient for subsequent use of the service instance to process data messages of any user equipment in the user equipment cluster.
  • the same user equipment cluster may be associated with a service instance cluster in advance, and the service instance cluster includes multiple service instances. It is convenient for subsequently using the service instance in the service instance cluster to process the data message of any user equipment in the user equipment cluster.
  • each service instance in the service instance cluster can provide the same business service for processing data packets of each user equipment in the user equipment cluster for the business service.
  • any user equipment selects a service instance from the service instance cluster to process the data message of the user equipment it is specifically described in detail in S302 of the present invention below.
  • the user equipment cluster involved in the present invention includes one or more user equipment, and each user equipment included in it may be specifically set by the system.
  • each user equipment in the user equipment cluster needs to meet any one or more of the following conditions: 1) Each user equipment in the user equipment cluster corresponds to the same historical association information. 2)
  • Each user equipment in the user equipment cluster has corresponding historical association information of the same type, that is, the system can form multiple user equipments with the same type of historical association information into a user equipment cluster, and the historical association information
  • the type to which it belongs may also be understood as the type of user equipment corresponding to the historical association information, such as television equipment, ultrasound diagnostic equipment, and so on.
  • the similarity between the historical association information of each user equipment in the user equipment cluster is greater than or equal to a preset similarity, which is set by the system self-defined, for example, set according to the experience value, or According to statistics of a series of experimental data, etc. That is, the system can form a plurality of user equipment corresponding to historical related information with a similar degree of similarity into a user equipment cluster.
  • the historical association information is used to identify the business service, and the historical association information may specifically be information such as the name, function description, and number used to represent the business service.
  • the system can pre-associate and bind a service instance or service instance set for the same business service or the same type of business service (specifically, the same business or the same type of business) to facilitate the use of the service instance or the service in the service instance set An example to process the data message sent by the user equipment of the (class) business service.
  • Step S302 The load balancing device determines a service instance for processing the data message according to the data message.
  • Step S303 The load balancing device sends a data message to the determined service instance. Accordingly, the service instance receives and processes the data message.
  • step S302 The following describes several specific implementations involved in step S302.
  • the data packet includes historical association information
  • the historical association information is used to determine whether there is a service instance bound to the historical association information.
  • the load balancing device may determine, according to the historical association information included in the data message, whether a service instance bound to the historical association information already exists.
  • the load balancing device may query, according to the historical association information in the data message, whether there is a service instance corresponding to the historical association information bound from the historical distribution record.
  • the history allocation record is used to record whether the corresponding service instance is allocated to the binding corresponding to the historical association information.
  • the historical distribution record may be stored in the form of tables, texts, arrays, etc. locally in the load balancing device, or stored in a preset database. Taking a database as an example, the database may specifically be a database deployed locally on the load balancing device or a database deployed on other devices (such as a cloud server), and the present invention is not limited thereto.
  • the load balancing device may further determine whether the load of the bound service instance is greater than or equal to the load threshold. When the load is less than the load threshold, it is determined that the bound service instance is not overloaded, and the bound service instance is determined as a service instance for processing data packets. When the load is greater than or equal to the load threshold, it is determined that the bound service instance is overloaded, and the load balancing device may select a new service instance as the service instance for processing data packets.
  • the load balancing device may select a service instance with the smallest load from the service instance set (the service instance included in the service instance set and the bound service instance provide the same function or business service) in addition to the bound service instance As an example of a service for processing data packets.
  • the load balancing device may randomly or adopt a preset first scheduling strategy to select a new service instance as a service instance for processing data packets.
  • the first scheduling strategy is customized by the system, such as the foregoing The polling scheduling strategy described above and so on.
  • each service instance in the multiple service instances supports processing of data packets of the same service (specifically the historical association information (Data messages corresponding to the identified user equipment or business service).
  • the load balancing device may determine whether there is at least one service instance with a load less than the load threshold among the multiple service instances. If it does not exist, the load balancing device adopts the preset schedule from the service instance set other than the bound multiple service instances (the service instance included in the service instance set and the bound multiple service instances provide the same business service) The strategy selects a new service instance as the service instance for processing data packets.
  • the load balancing device may select one service instance from at least one service instance as a service instance for processing data packets. For example, the load balancing device may randomly and randomly select a service instance from at least one service instance as a service instance for processing data packets. Alternatively, the load balancing device may use a preset second scheduling strategy to select a service instance from at least one service instance as a service instance for processing data packets, and the second scheduling strategy is customized by the system, such as load Minimum scheduling strategy, etc.
  • the load balancing device may adopt a preset third scheduling strategy to select a new service instance from the service instance set as a service instance for processing data packets.
  • the service instance set includes one or more service instances, and each service instance supports processing data packets of the user equipment or business service identified by the historical association information.
  • the load balancing device may adopt a preset third scheduling strategy (also called load balancing rule) to select a new service instance from the service instance set as a service instance for processing data packets.
  • a preset third scheduling strategy also called load balancing rule
  • the first scheduling strategy to the third scheduling strategy involved in the present invention may be scheduling strategies set by the system, and may also be called load balancing rules. They may be the same or different, and the invention is not limited. For details, reference may be made to the relevant elaboration on the scheduling strategy in the foregoing embodiment, and details are not repeated here.
  • the load balancing device may send the data message received in S301 to the service instance.
  • the service instance receives the data message and processes the data message to provide the business service requested by the data message.
  • the user equipment enters the network conference A to participate in the conference.
  • the user equipment sends a data message to the load balancing device.
  • the data message is specifically used to request the pod to provide a corresponding network conference service so that the user equipment enters the network conference A.
  • the load balancing device sends the data message to the service instance, and the service instance is used to provide network conference service related to network conference A.
  • the service instance can enable threads related to the network conference service to provide the corresponding network conference service for the user equipment, so that the user equipment enters the network conference A to successfully participate in the conference.
  • the load balancing device may send the new service instance and the historical association information to the database In order to store the association binding relationship between the new service instance and the historical association information in the database. That is, the database will update the history allocation record to associate and store the new service instance and the history association information in its own database.
  • the load balancing device may update the load of the determined service instance, for example, The load of this service instance is reduced by 1. If the load of the service instance is 0, you can also control the deletion of historical distribution records about the service instance. Specifically, if the load balancing device does not receive the data message (specifically a response message) of the user equipment within a preset time period, it may be determined that a service interruption has occurred in the user equipment.
  • the load balancing device may send a notification message to the database, where the notification message is used to notify the update of the historical allocation record of the service instance corresponding to the user equipment, for example, to notify the reduction of the load of the service instance.
  • the database may directly delete the allocation record of the service instance, etc., and the invention is not limited.
  • the historical related information involved in the present invention may also be referred to as key information, which may specifically be a keyword, key value, or keyword glossary, etc.
  • the present invention is not limited.
  • the historical association information may be carried in a default field in the data packet, and the default field is a field customized by the system. For example, taking a data packet as a transmission control protocol (transmission control protocol, TCP) packet as an example, the historical association information may be carried in an optional data field of the TCP packet.
  • the historical association information may be carried in the optional data field in a type length value (type length value, TLV) manner.
  • FIG. 4 shows a schematic diagram of a TCP message format.
  • the format of the TCP message shown in FIG. 4 includes the TCP message header and data.
  • the TCP header includes the source port field (source port number), destination port field (destination port number), sequence number field (sequence number), confirmation sequence number field (acksequence number), data offset field (date offset), reserved field (reserved), control bit field (control flags), window field (window size), checksum (checksum), urgent pointer (urgent) and optional data field (optional data). among them:
  • the source port field which occupies 2 bytes, identifies the return address of the message.
  • the destination port field which occupies 2 bytes, indicates the receiving port (or application port) of the receiving end.
  • the sequence number field which occupies 4 bytes, is a key part of TCP reliable transmission. Indicates the sequence number of the first byte of the message.
  • the data offset field also known as the header length field, occupies 4 bits and indicates the length of the TCP header, that is, where the data starts.
  • the reserved field which occupies 3 bits, is reserved for defining new functional uses in the future.
  • the control bit field which occupies 9 bits, includes 6 flag bits, and each flag bit represents a control function.
  • the window field which occupies 2 bytes, indicates how much space is left in the current receiving window of the receiving end for TCP flow control.
  • Checksum field 2bytes, parity check, used to check the message.
  • the emergency pointer field which occupies 2 bytes, is only valid when the emergency pointer flag in the control bit field is 1. When the emergency pointer flag is not set, it can be used as a padding field.
  • Optional data fields, custom fields, the length must be an integer multiple of 32bit.
  • the format of the optional data field may be as shown in FIG. 5, and the optional data field includes type, length, and value.
  • the length defines the length of the history associated field, and the length is not limited by the present invention, for example, 2 bytes and so on.
  • the value indicates the historical association information carried in the historical association field, such as keywords, keywords, and so on.
  • the data message involved in the present invention may specifically be the first message sent when the user equipment and the load balancing device perform service communication.
  • the system can pre-agree on the specifics of the first message Format structure to carry historical related information in the first message.
  • the user equipment sends an initial message for the service request to the load balancing device, and the initial message includes historical association information.
  • the load balancing device may determine the service instance used to process the business request based on the historical association information in the first message, and then send the first message to the determined service instance for processing.
  • the problems in the prior art such as inability to meet service communication requirements, long service communication delay, and high complexity, can be solved, thereby effectively reducing the service communication delay and complexity.
  • the load balancing device 600 includes a communication module 602 and a processing module 604.
  • the processing module 604 can be used to control and manage the actions of the load balancing device 600.
  • the processing module 604 is used to perform step S302 in FIG. 3, and / or to perform other contents of the technology described in the text.
  • the communication module 602 is used to communicate with other modules or devices.
  • the communication module 602 is used to perform steps S301 and S303 in FIG. 3 and / or to perform other contents of the technology described in the text.
  • the load balancing device 600 may further include a storage module 606.
  • the storage module 606 is used to store program codes and data of the load balancing device 600, for example, program codes used for message processing.
  • the processing module 604 is used to call the program code in the storage module 606 to implement the implementation steps with the load balancing device as the execution subject in the embodiment described in FIG. 3 above, and / or other content for performing the technology described in the text step.
  • the processing module 604 may be a processor or a controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), and an application-specific integrated circuit (Application-Specific Integrated Circuit (ASIC), Field Programmable Gate Array (Field Programmable Gate Array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logical blocks, modules and circuits described in conjunction with the disclosure of the present invention.
  • the processor may also be a combination of computing functions, for example, including one or more microprocessor combinations, a combination of DSP and microprocessor, and so on.
  • the communication module 602 may be a communication interface, a transceiver, a transceiver circuit, etc., where the communication interface is a general term and may include one or more interfaces, such as an interface between the communication module and the processing module, a load balancing device and the user equipment Interface etc.
  • the storage module 606 may be a memory, or other services or modules for providing storage functions.
  • the load balancing device involved in the embodiment of the present invention may be the load balancing device (also referred to as a computing device) shown in FIG. 7.
  • the load balancing device 700 includes one or more processors 701, a communication interface 702, and a memory 703.
  • the processor 701, the communication interface 702, and the memory 703 may be connected through a bus or other methods.
  • bus 704 Take bus 704 as an example. among them:
  • the processor 701 may be composed of one or more general-purpose processors, such as a central processing unit (Central Processing Unit, CPU).
  • the processor 701 may be used to run any one or more of the following functional module programs in the relevant program code: a communication module, a processing module, and a storage module. That is to say, the processor 701 executing the program code can realize any one or more functions of the functional modules such as the communication module and the processing module.
  • a communication module such as a communication module
  • processing module such as a communication module
  • storage module such as the communication module and the processing module. That is to say, the processor 701 executing the program code can realize any one or more functions of the functional modules such as the communication module and the processing module.
  • the communication module and the processing module please refer to the relevant explanations in the foregoing embodiments.
  • the communication interface 702 may be a wired interface (such as an Ethernet interface) or a wireless interface (such as a cellular network interface or using a wireless local area network interface) for communicating with other modules / devices.
  • the communication interface 702 in the embodiment of the present invention may be specifically used to receive a data message sent by a user equipment or send a data message to a service instance.
  • the memory 703 may include volatile memory (Volatile Memory), such as random access memory (Random Access Memory, RAM); the memory may also include non-volatile memory (Non-Volatile Memory), such as read-only memory (Read-Only Memory, ROM), flash memory (Flash), hard disk (HDD), or solid-state drive (SSD); memory 703 may also include a combination of the aforementioned types of memory.
  • volatile memory such as random access memory (Random Access Memory, RAM
  • non-Volatile Memory such as read-only memory (Read-Only Memory, ROM), flash memory (Flash), hard disk (HDD), or solid-state drive (SSD)
  • memory 703 may also include a combination of the aforementioned types of memory.
  • the memory 703 can be used to store a set of program codes, so that the processor 701 can call the program codes stored in the memory 703 to implement the functions of the communication module and / or the processing module involved in the embodiments of the present invention.
  • FIG. 6 or FIG. 7 is only one possible implementation manner of the embodiments of the present application.
  • the load balancing device may further include more or fewer components, which is not limited herein.
  • the load balancing device may further include more or fewer components, which is not limited herein.
  • Embodiments of the present invention also provide a computer non-transitory storage medium.
  • the computer non-transitory storage medium stores instructions, and when it runs on a processor, the method flow shown in FIG. 3 can be implemented.
  • An embodiment of the present invention also provides a computer program product.
  • the computer program product runs on a processor, the method flow shown in FIG. 3 can be implemented.
  • the steps of the method or algorithm described in conjunction with the disclosure of the embodiments of the present invention may be implemented by hardware, or may be implemented by a processor executing software instructions.
  • Software instructions can be composed of corresponding software modules, which can be stored in random access memory (Random Access Memory, RAM), flash memory, read-only memory (Read Only Memory, ROM), and erasable programmable read-only memory ( Erasable Programmable ROM (EPROM), Electrically Erasable Programmable Read Only Memory (Electrically EPROM, EEPROM), registers, hard disk, removable hard disk, CD-ROM or any other form of storage medium well known in the art.
  • An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and can write information to the storage medium.
  • the storage medium may also be an integral part of the processor.
  • the processor and the storage medium may be located in the ASIC.
  • the ASIC may be located in the computing device.
  • the processor and the storage medium may also exist as discrete components in the computing device.
  • the foregoing storage media include various media that can store program codes, such as ROM, RAM, magnetic disks, or optical disks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了报文处理方法,包括:负载均衡装置接收用户设备发送的数据报文,在所述数据报文包括历史关联信息时,根据所述历史关联信息选择用于处理所述数据报文的服务实例,负载均衡装置向选择的服务实例发送该数据报文。通过实施本发明实施例,能够解决现有技术中存在的无法满足特定业务的通信需求等问题。

Description

报文处理方法、相关设备及计算机存储介质 技术领域
本发明涉及通信技术领域,尤其涉及报文处理方法、相关设备及计算机存储介质。
背景技术
随着云计算技术的不断发展和日益普及,其在实现服务的高可用性、处理能力的可扩展性等方面的优势越来越凸显了。平台即服务(platform as a service,PaaS)作为云计算的一种重要服务,能够加快应用的开发、部署、测试和上线。其中,负载均衡服务(load balance service,LBS)是PaaS平台提供的一个核心服务,可检测平台后端的服务实例(也可称为pod)的负载情况,并采取调度策略进行负载均衡。
在实践中发现,现有的调度策略有多种,LBS可随机选用任一种调度策略来实现pod的负载均衡。例如,LBS选用轮询调度策略让每个pod都处理业务,这并不能满足特定业务的实际通信需求,例如时延敏感型业务,或者需按业务调度到同一pod处理的多人网络会议以及多人网络游戏业务等等。此外,还可能会增加业务通信的时延和复杂度,影响业务性能。
发明内容
本发明实施例公开了报文处理方法、相关设备及计算机存储介质,能够解决现有技术中存在的无法满足特定业务的实际通信需求等问题。
第一方面,本发明实施例公开提供了一种报文处理方法,所述方法包括:负载均衡装置接收用户设备发送的数据报文,该数据报文用于请求处理业务。该数据报文中可包括历史关联信息,用于确定是否已存在该历史关联信息对应绑定的服务实例,该服务实例的数量并不做限定,其可为一个或多个。当该服务实例的数量为多个时,多个服务实例可组成一个服务实例集。进一步地,在数据报文包括历史关联信息时,负载均衡装置根据该历史关联信息选择用于处理数据报文的服务实例。进而,将数据报文发送给选择的服务实例进行处理。
通过实施本发明实施例,可依据数据报文中的历史关联信息来选择用于处理数据报文的服务实例,以解决现有技术中存在的无法满足特定业务的通信需求的问题。
结合第一方面,在第一方面的第一种可能的实施方式中,如果与该历史关联信息绑定的服务实例的负载未超过负载阈值时,则选择与该历史关联信息绑定的服务实例。具体存在以下两种可能的实施情况。第一种,如果与历史关联信息绑定的服务实例为一个,且该服务实例的负载未超过负载阈值,则选择与历史关系信息绑定的服务实例,作为用于处理数据报文的服务实例。
第二种,如果与历史关联信息绑定的服务实例有多个,且该多个服务实例中存在负载未超过负载阈值的服务实例,则从负载未超过阈值的服务实例中选取一个服务实例,作为用于处理数据报文的服务实例。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实 施方式中,如果与该历史关联信息绑定的服务实例的负载超过负载阈值时,则选择新的服务实例。具体的,与历史关联信息绑定的服务实例为一个或多个,且每个服务实例的负载均超过负载阈值,则负载均衡装置可选择新的服务实例,作为用于处理数据报文的服务实例。
结合第一方面或第一方面的第一种或第二种可能的实施方式中,在第一方面的第三种可能的实施方式中,在数据报文未包括历史关联信息时,负载均衡装置可按照预设的负载均衡规则选择新的服务实例,作为用于处理数据报文的服务实例。
结合第一方面或第一方面的第一种至第三种可能的实施方式中,在第一方面的第四种可能的实施方式中,历史关联信息具体用于标识用户或者用于标识服务。
第二方面,本发明实施例提供了一种负载均衡装置,所述装置包括用于执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法的功能模块或单元。
第三方面,本发明实施例提供了一种负载均衡装置,包括:处理器和存储器,其中在执行存储器中的指令时,负载均衡装置执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
可选地,该装置还可包括通信接口和总线。其中,处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
第四方面,提供了一种计算机非瞬态(non-transitory)存储介质,所述计算机非瞬态存储介质存储了用于报文处理的程序代码。所述程序代码包括用于执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法的指令。
第五方面,提供了一种芯片产品,以执行上述第一方面或第一方面的任意可能的实施方式中的方法。
本发明在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种网络框架示意图。
图2是本发明实施例提供的一种场景示意图。
图3是本发明实施例提供的一种报文处理方法的流程示意图。
图4是本发明实施例提供的一种报文格式示意图。
图5是本发明实施例提供的一种可选项字段的格式示意图。
图6是本发明实施例提供的一种负载均衡装置的结构示意图。
图7是本发明实施例提供的另一种负载均衡装置的结构示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
为解决现有技术中存在的无法满足特定业务的通信需求、业务通信时延或复杂度较高等问题,本发明提出一种报文处理方法、所述方法适用的网络框架以及相关设备。
首先,介绍本发明适用的网络框架示意图。请参见图1,是本发明实施例提供的一种网络框架示意图。如图1所示的网络框架100包括用户设备集群102、负载均衡装置104以及服务设备集群106。其中,
用户设备集群102中包括一个或多个用户设备,图示以m个用户设备为例示出,m为正整数。服务设备集群106中包括有一个或多个服务设备,图示以n个服务设备为例示出,n为正整数。
用户设备集群102中的m个用户设备部署在外网中,外网可以是互联网(internet)。所述用户设备102包括但不限于手机、平板电脑(table personal computer)、个人数字助理(personal digital assistant,PDA)、移动上网装置(mobile internet device,MID)、可穿戴式设备(wearable device)以及其他支持和网络通信的设备等。
服务设备集群106中的n个服务设备部署在内网中,内网可以是局域网(local area network,LAN)。服务设备是指用于提供业务服务的设备,服务设备集群中的n个服务设备可以支持提供相同的业务服务,也可支持提供不同的业务服务。
本发明中,服务设备是指部署有一个或多个服务实例(pod)的设备,该服务实例用于提供业务服务,例如语音服务、视频服务、网络会议服务以及会话服务等等,本发明不做限定。服务设备集群中的n个服务设备各自部署有用于提供相同的业务服务的服务实例,例如n个服务设备均用于提供网络会话服务等等。在实际应用中,服务设备既可为硬件设备,也可为由软件程序实现的功能模块。其包括但不限于服务器、主机、虚拟机、容器等等。
负载均衡装置104部署在隔离区(demilitarized zone,DMZ),用于实现用户设备的负载均衡。具体的,负载均衡装置采用预设的调度策略将用户设备发送的业务请求(也可为承载业务请求的数据报文)分配到n个服务设备中的任一个或多个设备中进行处理,避免某些服务设备的负载量过大,导致业务通信的时延较大、业务性能和用户体验受影响等。
其中,两个防火墙之间的空间称为DMZ,俗称非军事区。也可理解为不同于外网或内网的特殊网络区域,DMZ内通常部署一些网站web服务器、邮件mail服务器以及负载均衡装置(load balance,LB)等不含机密信息的设备。
在实际通信过程中,用户设备集群102中的用户设备通过外网可与负载均衡装置104通信,服务设备集群104中的服务设备通过内网可与负载均衡装置104通信。
调度策略用于实现业务请求的调度或分配,该调度策略也可称为负载均衡策略(或负载均衡规则),其具体可为***自定义设置的。在传统技术中,调度策略有以下十种:
(1)、轮询调度(round robin,RR)
轮询调度是指按依次循环的方式将业务请求调度到不同的服务实例(具体可为服务设备中部署的任一服务实例)中。在实际应用中,每个服务实例处理请求的能力通常是相同的,负载均衡装置可将所有的业务请求平均分配到每个服务实例上处理。
(2)、加权轮询调度(weight round robin,WRR)
加权轮询调度主要是对轮询调度的一种优化和补充,负载均衡装置会考虑每个服务实例的性能,给每个服务实例分配一个权值,该权值用于反映服务实例处理业务请求的能力。权值越大的服务实例,处理的业务请求越大。例如,服务实例A的权值为1,服务实例B的权值为2,则负载均衡装置调度到服务实例B的业务请求是服务实例A的两倍。
(3)、最小连接调度(least connections,LC)
最小连接调度是指将新的用户设备的业务请求分配到连接数最小的服务实例上。最小连接调度是一种动态的调度算法,通过服务实例当前通信连接的用户设备的数量(也可称为连接数)来估计服务实例的情况。负载均衡装置记录服务实例的连接数,当一个用户设备的业务请求被调度到服务实例时,该服务实例的连接数加1,当连接中断或超时时,该服务实例的连接数减1。
(4)、加权最小连接调度(weight least connections,LC)
加权最小连接调度是最小连接调度的优化。每个服务实例配置有相应地权值,用于表示该服务实例的处理性能。服务实例的缺省权值为1,***可动态调整服务实例的权值。在调度过程中,负载均衡装置在调度用户设备的业务请求时尽可能使服务实例的连接数和该服务实例的权值成比例。负载均衡装置可自动获取服务实例的负载情况,动态调整该服务实例的权值。
(5)、基于局部的最少连接(locality-based least connections,LBLC)
LBLC是针对业务请求的数据报文的目标互联网协议(internet protocol,IP)地址的负载均衡调度,主要应用于缓存(cache)集群***,是因为该***中用户设备的数据报文的目标IP地址是变化的。假设每个服务实例都可以处理任一业务请求,LBLC的设计目标是:在服务实例的负载均衡的情况下,将相同目标IP地址的业务请求调度到同一服务实例处理,以提高业务处理效率和性能。
具体的,LBLC先根据业务请求的目标IP地址找出该目标IP地址最近使用的服务实例,若该服务实例可用且没有超载(负载量小于或等于预设阈值),将该业务请求发送到该服务实例中处理。若该服务实例不存在,或者该服务实例超载且有一半及以上的工作负载,则使用“最小连接”原则选出一个可用的服务实例,将业务请求发送到该服务实例中处理。
(6)、带复制的基于局部性的最少连接(locality-based least connections with replication,LBLCR)
LBLCR也是针对目标IP地址的负载均衡,应用于cache集群***。与LBLC不同之处在于:LBLC维护一个目标IP地址和一个服务实例的映射,而LBLCR维护一个目标IP地址和一组服务实例的映射。具体的,LBLCR按“最小连接”原则从与目标IP地址对应的服务实例组中选出一个服务实例,若该服务实例没有超载,将用户设备的业务请求发送给该服务实例处理。若该服务实例超载,则按“最小连接”原则从服务实例集群中选取一个服务实例,将选取的服务实例添加到与目标IP地址对应的服务实例组中,进一步可将业务请求发送到该服务实例中处理。同时,当该服务实例组有一段时长未被修改,可将该服务实例组中最忙碌(负载量最大)的一个服务实例删除,以降低复制程度, 即降低重复被选中用于处理业务请求的概率。
(7)、目标地址散列调度(destination hashing,DH)
DH将业务请求的目标IP地址作为散列键(hash key),从静态分配的散列表中查找与散列键对应的服务实例,若该服务实例可用且没有超载,则将业务请求调度到该服务实例中处理。否则,返回为空,结束流程。
(8)、源地址散列调度(source hashing,SH)
SH将业务请求的源IP地址作为散列键,从静态分配的散列表中查找与散列键对应的服务实例,若该服务实例可用且没有超载,则将业务请求调度到该服务实例中处理。否则,返回为空,结束流程。
(9)、最短的期望的延迟(shortest expected delay,SED)
SED是基于加权最少连接WLC的调度算法。举例来说,假设三个服务实例分别为:A、B和C。三个服务实例各自的权值对应为:1,2和3。如果采用WLC调度业务请求时,可将新进入的业务请求调度给服务实例ABC中的任意一个。而使用SED调度时,采用如下公式计算服务实例对应的运算结果:(1+权值)/权值。这里即为,A:(1+1)/1=2,B:(1+2)/2=1.5,C:(1+3)/3=4/3。相应地,SED将业务请求发送给运算结果最小的服务实例C进行处理。
(10)、最少队列调度(never queue,NQ)
NQ是指无需排队的调度算法。如果服务实例的连接数等于0,负载均衡装置将用户设备的业务请求调度到该服务实例中进行处理,无需进行SED运算。
其次,介绍本发明适用的场景示意图。请参见图2,是本发明实施例提供的一种场景示意图。如图2所示的场景中示出m个用户设备、一个负载均衡装置以及n个服务实例(pod)。其中,m个用户设备部署在外网中,负载均衡装置部署在隔离区DMZ中,n个服务实例部署在内网中。每个服务实例提供相应地业务服务,例如会议服务、微信服务、游戏服务等等。在n个服务实例中的任意两个服务实例提供的业务服务,它们可以相同,也可不同,本发明并不做限定。可选地,本发明示出的n个服务实例位于同一服务实例集中,均用于提供相同的业务服务。
其中,在开源平台Kubernetes中,服务实例pod是一种基本功能单元或模块。一个pod包括一组容器以及它们共享的卷(volumes),用于提供相应地功能服务。每个pod会被指派一个唯一的IP地址,以通过该IP地址实现通信。关于服务实例pod的相关阐述,本发明不做限定。
如图2,在实际通信过程中,用户设备通过外网与负载均衡装置通信,例如将用户设备的业务请求(具体可为承载业务请求的数据报文)发送给负载均衡装置。负载均衡装置通过内网与服务实例通信,例如将用户设备的业务请求调度到服务实例中进行处理。
其中,负载均衡装置配置有相应地通信端口,该通信端口用于传输特定业务的数据报文,该特定业务为***自定义的一个或多个业务,本发明不做限定。可选地,针对不同的业务通信,负载均衡装置可配置有不同的通信端口,以处理不同业务的通信请求。
该通信端口可为集成接收功能和发送功能一体的端口,例如该端口可用于接收用户设备发送的数据报文,同时也可用于向服务实例发送数据报文。或者,该通信端口可包括第一端口和第二端口,其中第一端口用于与用户设备通信,例如接收用户设备发送的 数据报文。第二端口用于与服务实例通信,例如向服务实例发送数据报文等等,本发明并不限定。
举例来说,如图2所示假设负载均衡装置配置有两个端口,第一端口用于与支持网络会议业务的用户设备通信,第二端口用于与支持处理网络会议业务的服务实例pod通信。如图所示,第一端口的端口号为8118,第二端口的端口号为3008。在网络会议业务通信过程中,用户设备1(user1)通过外网向负载均衡装置发送业务请求。负载均衡装置通过8118端口接收用户设备1发送的业务请求,进而采用预设的调度策略将业务请求发送给pod1。具体的,负载均衡装置向IP地址为172.1.0.1的pod1发送业务请求。相应地,该pod1通过3008端口接收负载均衡装置发送的业务请求,进而处理该业务请求。关于调度策略具体可参见前述实施例中的相关阐述,这里不再赘述。
接着,请参见图3是本发明实施例提供的一种报文处理方法的流程示意图。如图3所示的方法包括如下实施步骤:
步骤S301、用户设备向负载均衡装置发送数据报文。相应地,负载均衡装置接收用户设备发送的数据报文。
在业务通信过程中,用户设备可向负载均衡装置发送数据报文,所述数据报文用于
请求处理业务,也即是请求提供处理该业务所需的业务服务,该业务服务包括但不限于网络会议服务、通话服务以及游戏服务等等。其中,数据报文中可携带有历史关联信息,该历史关联信息可用于标识用户(即标识用户设备)或者标识服务(即标识业务服务)。其具体用于确定是否存在有与该历史关联信息关联绑定的服务实例,该服务实例的数量并不做限定,当服务实例的数量为一个以上时,该一个以上的服务实例也可称为服务实例集。关于服务实例具体可参见前述实施例中的相关介绍,这里不再赘述。在一个示例中,历史关联信息用于标识用户设备,该历史关联信息具体可为用于代表用户设备的名称、型号、身份识别(identify,ID)号、或者其他用于区别用户设备的关键信息等。具体存在以下几种可能的实施方式。
第一种,本发明中的用户设备可预先关联绑定一个服务实例。便于后续利用该服务实例来处理该用户设备的数据报文。例如,用户设备发送的数据报文中携带有历史关联信息,该历史关联信息用于标识该用户设备,则负载均衡设备可根据该历史关联信息查找对应的服务实例,以将数据报文发送给查找的服务实例处理。
第二种,本发明中同一用户设备集群可预先关联绑定一个服务实例。便于后续利用该服务实例来处理该用户设备集群中任一用户设备的数据报文。
第三种,本发明中同一用户设备集群可预先关联绑定一个服务实例集群,该服务实例集群中包括多个服务实例。便于后续利用该服务实例集群中的服务实例来处理该用户设备集群中任一用户设备的数据报文。其中,该服务实例集群中的每个服务实例均可提供相同的业务服务,以用于处理用户设备集群中每个用户设备的针对该业务服务的数据报文。关于任一用户设备如何从服务实例集群中选取服务实例来处理该用户设备的数据报文,具体在本发明下文S302中详细阐述。
本发明涉及的用户设备集群包括有一个或多个用户设备,其所包括的各个用户设备具体可为***自定义设置的。例如,该用户设备集群中的每个用户设备需满足以下条件 中的任一个或多个的组合:1)该用户设备集群中的每个用户设备对应具有相同的历史关联信息。2)该用户设备集群中的每个用户设备对应具有的历史关联信息属于同一类型,也即是***可将具有同一类型的历史关联信息的多个用户设备组成一个用户设备集群,该历史关联信息所属的类型也可理解为该历史关联信息对应的用户设备的类型,例如电视类设备、超声诊断类设备等等。3)该用户设备集群中的每个用户设备的历史关联信息之间的相似度大于或等于预设相似度,该预设相似度为***自定义设置的,例如根据经验值设定的,或者根据一些列实验数据统计获得的等等。也即是,***可将相似度较近的历史关联信息对应的多个用户设备组成一个用户设备集群。
在一个示例中,历史关联信息用于标识业务服务,该历史关联信息具体可为用于代表业务服务的名称、功能说明、编号等信息。具体的,***可预先为同一业务服务或同一类业务服务(具体可为同一种业务或同一类业务)关联绑定一个服务实例或服务实例集,便于利用该服务实例或者该服务实例集中的服务实例来处理该(类)业务服务的用户设备发送的数据报文。
步骤S302、负载均衡装置根据数据报文,确定用于处理该数据报文的服务实例。
步骤S303、负载均衡装置向确定的服务实例发送数据报文。相应地,服务实例接收并处理该数据报文。
下面阐述步骤S302涉及的几种具体实施方式。
在一种可能的实施方式中,数据报文中包括有历史关联信息,该历史关联信息用于确定是否存在有该历史关联信息对应绑定的服务实例。负载均衡装置在接收数据报文后,可根据数据报文中包括的历史关联信息,确定是否已存在与该历史关联信息对应绑定的服务实例。
具体的,负载均衡装置可根据数据报文中的历史关联信息,从历史分配记录中查询是否存在有该历史关联信息对应绑定的服务实例。该历史分配记录用于记录是否为历史关联信息对应绑定分配有相应地服务实例。其中,该历史分配记录具体可以表格、文字、数组等形式存储在负载均衡装置本地,或者存储在预设的数据库中。以数据库为例,该数据库具体可为部署在负载均衡装置本地的数据库,也可为部署在其他设备(例如云端服务器)的数据库,本发明并不做限定。
如果存在与该历史关联信息对应绑定的一个服务实例时,负载均衡装置可进一步确定该绑定的服务实例的负载是否大于或等于负载阈值。当负载小于负载阈值,则确定该绑定的服务实例没超载,将绑定的服务实例确定为用于处理数据报文的服务实例。当负载大于或等于负载阈值时,则确定该绑定的服务实例超载,负载均衡装置可选取一个新的服务实例作为用于处理数据报文的服务实例。例如,负载均衡装置可从除该绑定的服务实例之外的服务实例集中(该服务实例集中包括的服务实例与绑定的服务实例提供相同的功能或业务服务)选取负载最小的一个服务实例,作为用于处理数据报文的服务实例。或者,负载均衡装置可随机或者采用预设的第一调度策略选取一个新的服务实例,以作为用于处理数据报文的服务实例,该第一调度策略为***自定义设置的,例如前文所述的轮询调度策略等等。
如果存在与该历史关联信息对应绑定的多个服务实例(即服务实例集群),该多个服务实例中的每个服务实例均支持处理同一业务的数据报文(具体可为该历史关联信息 对应标识的用户设备或业务服务的数据报文)。进一步地,负载均衡装置可确定多个服务实例中是否存在有负载小于负载阈值的至少一个服务实例。如果不存在,负载均衡装置从除绑定的多个服务实例之外的服务实例集中(该服务实例集中包括的服务实例和绑定的多个服务实例提供相同的业务服务)采用预设的调度策略选取一个新的服务实例,作为用于处理数据报文的服务实例。如果存在,负载均衡装置可从至少一个服务实例中选取一个服务实例,作为用于处理数据报文的服务实例。例如,负载均衡装置可随机、随意从至少一个服务实例中选取一个服务实例作为用于处理数据报文的服务实例。或者,负载均衡装置可采用预设的第二调度策略从至少一个服务实例中选取一个服务实例,作为用于处理数据报文的服务实例,该第二调度策略为***自定义设置的,例如负载最小调度策略等等。
如果不存在该历史关联信息对应绑定的服务实例,负载均衡装置可采用预设的第三调度策略从服务实例集中选取一个新的服务实例,作为用于处理数据报文的服务实例。该服务实例集中包括一个或多个服务实例,每个服务实例均支持处理该历史关联信息对应标识的用户设备或业务服务的数据报文。关于该调度策略具体可参见前述实施例中的相关介绍,这里不再赘述。
在另一种可能的实施方式中,数据报文中不包括历史关联信息。则负载均衡装置可采用预设的第三调度策略(也可称为负载均衡规则)从服务实例集中选取一个新的服务实例,作为用于处理数据报文的服务实例。关于服务实例集的相关阐述,可参见前述实施例中的相关介绍,这里不再赘述。
其中,本发明上文涉及的第一调度策略至第三调度策略,均可为***自定义设置的调度策略,也可称为负载均衡规则。它们可以相同,也可不相同,本发明并不做限定。其具体可参见前述实施例中关于调度策略的相关阐述,这里不再赘述。
相应地,步骤S303中在负载均衡装置确定到用于处理数据报文的服务实例后,可将S301中接收的数据报文发送给该服务实例。相应地,该服务实例接收该数据报文,并处理该数据报文以提供所述数据报文所请求的业务服务。
举例来说,以网络会议业务为例,假设用户设备向进入网络会议A中与会。用户设备向负载均衡装置发送数据报文,该数据报文具体用于请求pod提供相应地网络会议服务,以便用户设备进入网络会议A中。相应地,负载均衡装置在确定服务实例后,将该数据报文发送给该服务实例,该服务实例用于提供网络会议A相关的网络会议服务。相应地,服务实例接收到该数据报文后,可启用网络会议服务相关的线程,为用户设备提供相应地网络会议服务,以让用户设备进入网络会议A中成功与会。
在一种可能的实施例中,当负载均衡装置选取一个新的服务实例作为用于处理数据报文的服务实例时,负载均衡装置可将该新的服务实例和该历史关联信息发送至数据库中,便于在数据库中存储该新的服务实例和该历史关联信息间的关联绑定关系。也即是,数据库将更新历史分配记录,以将该新的服务实例和该历史关联信息关联绑定存储至自身数据库中。
在一种可能的实施例中,在业务通信过程中,如果用户设备发生业务中断(例如网 络出现故障或者用户设备断开通信)时,负载均衡装置可更新该确定的服务实例的负载,例如将该服务实例的负载减1。如果该服务实例的负载为0,还可控制删除关于该服务实例的历史分配记录。具体的,负载均衡装置在预设时长内未接收到用户设备的数据报文(具体可为响应报文),则可确定用户设备发生了业务中断。此时,负载均衡装置可向数据库发送通知消息,该通知消息用于通知更新该用户设备对应确定的服务实例的历史分配记录,例如,通知减小该服务实例的负载。可选地,如果该服务实例的负载为0,数据库可直接删除该服务实例的分配记录等等,本发明并不做限定。
在一种可选实施例中,本发明涉及的历史关联信息也可称为关键信息,其具体可为关键字、关键值或者关键词汇等等,本发明并不做限定。该历史关联信息具体可承载在数据报文中的默认字段中,该默认字段为***自定义的字段。例如,以数据报文为传输控制协议(transmission control protocol,TCP)报文为例,该历史关联信息可承载在TCP报文的可选项数据字段中。可选地,该历史关联信息具体可采用类型长度值(type length value,TLV)方式承载在可选项数据字段中。
如图4示出一种TCP报文的格式示意图。如图4所示的TCP报文的格式中包括TCP报文头和数据。TCP报文头具体包括源端口字段(source port number)、目的端口字段(destination port number)、序号字段(sequence number)、确认序号字段(acksequence number)、数据偏移字段(date offset)、保留字段(reserved)、控制位字段(control flags)、窗口字段(window size)、校验和(checksum)、紧急指针(urgent pointer)和可选项数据字段(optional data)。其中:
源端口字段,占2字节(bytes),标识报文的返回地址。
目的端口字段,占2bytes,指明接收端的接收端口(或应用程序端口)。
序号字段,占4bytes,是TCP可靠传输的关键部分。表示报文的第一个字节的序号。
确认序号字段,占4bytes,是TCP可靠传输的关键部分。指明下一个期待接收的字节序号。
数据偏移字段,也可称为报文头长度字段,占4比特(bits),指示TCP报文头的长度,即数据从何处开始。
保留字段,占3bits,为将来定义新的功能用途作保留。
控制位字段,占9bits,包括6个标志位,每个标志位表示一个控制功能。
窗口字段,占2bytes,表示接收端当前的接收窗还有多少剩余空间,用于TCP的流量控制。
校验和字段,占2bytes,奇偶校验,用于对报文进行校验。
紧急指针字段,占2bytes,当控制位字段中的紧急指针标志位为1时才有效。当紧急指针标志位没有被设置时,可作为填充字段。
可选项数据字段,自定义字段,长度需为32bit的整数倍。本发明中,该可选项数据字段的格式可如图5所示,该可选项数据字段包括类型(type)、长度(length)和值(value)。其中,类型表示了可选项数据字段被定义的类型,例如type=historical context,标识了可选项数据字段被定义为历史关联字段,指示用于承载历史关联信息。长度定义了历史关联字段的长度,该长度本发明并不做限定,例如2bytes等等。值表示历史关联字段承载的历史关联信息,例如关键字、关键字等等。
在一种可选实施例中,本发明涉及的数据报文具体可为用户设备和负载均衡装置进行业务通信时的首发报文。具体的,为减少业务通信的复杂度或减少通信流量,在业务通信过程中,例如采用用户数据报文协议(user datagram protocol,UDP)的业务通信过程中,***可预先约定首发报文的具体格式结构,以将历史关联信息承载在首发报文中。相应地,在实际业务通信过程中,用户设备向负载均衡装置发送针对业务请求的首发报文,该首发报文中包括历史关联信息。负载均衡装置基于该首发报文中的历史关联信息,可确定用于处理该业务请求的服务实例,进而将首发报文发送给确定的服务实例中进行处理。由此可见,整个业务通信过程中,仅需对首发报文的格式进行重定义,并不会改变后续通信过程中传输的报文的格式,有利于减少业务通信的复杂度,减少报文构建的复杂度。
通过实施本发明实施例,能够解决现有技术中存在的无法满足业务通信需求、业务通信时延较长、复杂度较高等问题,从而能有效减少业务通信的时延和复杂度。
结合上文图1-图5所述实施例中的相关描述,下面介绍本发明适用的相关装置。请参见图6是本发明实施例提供的一种负载均衡装置的结构示意图。该负载均衡装置600包括通信模块602和处理模块604。其中,处理模块604可用于对负载均衡装置600的动作进行控制和管理。例如,处理模块604用于执行图3中的步骤S302,和/或用于执行文本所描述的技术的其他内容。通信模块602用于与其他模块或设备进行通信,例如,通信模块602用于执行图3中的步骤S301和S303,和/或用于执行文本所描述的技术的其他内容。
可选地,该负载均衡装置600还可包括存储模块606。该存储模块606用于存储负载均衡装置600的程序代码和数据,例如存储用于报文处理的程序代码。处理模块604用于调用该存储模块606中的程序代码以实现如上图3所述实施例中的以负载均衡装置为执行主体的实施步骤,和/或用于执行文本所描述的技术的其他内容步骤。
其中,处理模块604可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块602可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如通信模块与处理模块之间的接口、负载均衡装置与用户设备之间的接口等。存储模块606可以是存储器,或者其他用于提供存储功能的服务或模块。
当处理模块604为处理器,通信模块602为通信接口,存储模块606为存储器时,本发明实施例所涉及负载均衡装置可以为图7所示的负载均衡装置(也可称为计算设备)。
请参见图7所示,负载均衡装置700包括一个或多个处理器701、通信接口702和存储器703,处理器701、通信接口702和存储器703可通过总线或者其它方式连接,本发明实施例以通过总线704连接为例。其中:
处理器701可以由一个或者多个通用处理器构成,例如中央处理器(Central Processing Unit,CPU)。处理器701可用于运行相关的程序代码中以下任一项或多项功能模块的程序:通信模块、处理模块以及存储模块等。也就是说,处理器701执行程序代码可以实现通信模块以及处理模块等功能模块中的任一项或多项的功能。其中,关于所述通信模块以及处理模块具体可参见前述实施例中的相关阐述。
通信接口702可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。例如,本发明实施例中通信接口702具体可用于接收用户设备发送的数据报文,或者向服务实例发送数据报文等。
存储器703可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器703还可以包括上述种类的存储器的组合。存储器703可用于存储一组程序代码,以便于处理器701调用存储器703中存储的程序代码以实现本发明实施例中涉及的通信模块和/或处理模块的功能。
需要说明的,图6或图7仅仅是本申请实施例的一种可能的实现方式,实际应用中,负载均衡装置还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图3所述实施例中的相关阐述,这里不再赘述。
本发明实施例还提供一种计算机非瞬态存储介质,所述计算机非瞬态存储介质中存储有指令,当其在处理器上运行时,图3所示的方法流程得以实现。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图3所示的方法流程得以实现。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (12)

  1. 一种报文处理方法,其特征在于,所述方法包括:
    负载均衡装置接收用户设备发送的数据报文;
    所述负载均衡装置在所述数据报文包括历史关联信息时,根据所述历史关联信息选择用于处理所述数据报文的服务实例;
    所述负载均衡装置向选择的服务实例发送所述数据报文。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述历史关联信息选择用于处理所述数据报文的服务实例,包括:
    如果与所述历史关联信息绑定的服务实例的负载未超过负载阈值,则选择与所述历史关联信息绑定的服务实例。
  3. 根据权利要求1或2所述的方法,其特征在于,所述根据所述历史关联信息选择用于处理所述数据报文的服务实例,包括:
    如果与所述历史关联信息绑定的服务实例的负载超过负载阈值,则选择新的服务实例。
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述方法包括:
    所述负载均衡装置在所述数据报文未包括所述历史关联信息时,按照负载均衡规则选择用于处理所述数据报文的服务实例。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述历史关联信息用于标识用户或者标识服务。
  6. 一种负载均衡装置,其特征在于,包括通信模块和处理模块,其中,
    所述通信模块,用于接收用户设备发送的数据报文;
    所述处理模块,用于在所述数据报文包括历史关联信息时,根据所述历史关联信息选择用于处理所述数据报文的服务实例;
    所述处理模块,还用于向选择的服务实例发送所述数据报文。
  7. 根据权利要求6所述的装置,其特征在于,
    所述处理模块,具体用于如果与所述历史关联信息绑定的服务实例的负载未超过负载阈值,则选择与所述历史关联信息绑定的服务实例。
  8. 根据权利要求6或7所述的装置,其特征在于,
    所述处理模块,具体用于如果与所述历史关联信息绑定的服务实例的负载超过负载阈值,则选择新的服务实例。
  9. 根据权利要求6-8中任一项所述的装置,其特征在于,
    所述处理模块,还用于在所述数据报文未包括所述历史关联信息时,按照负载均衡规则选择用于处理所述数据报文的服务实例。
  10. 根据权利要求6-9中任一项所述的装置,其特征在于,所述历史关联信息用于标识用户或者标识服务。
  11. 一种负载均衡装置,其特征在于,包括处理器和存储器;其中,在所述处理器执行所述存储器中的指令时,所述负载均衡装置执行如上权利要求1-5中任一项所述方法。
  12. 一种计算机非瞬态存储介质,所述计算机非瞬态存储介质存储有计算机程序,其特征在于,所述计算机程序被计算设备执行时实现如权利要求1至5任一项所述方法。
PCT/CN2019/098055 2018-10-24 2019-07-27 报文处理方法、相关设备及计算机存储介质 WO2020082839A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/104,777 US11316916B2 (en) 2018-10-24 2020-11-25 Packet processing method, related device, and computer storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811246024.X 2018-10-24
CN201811246024.XA CN109361749B (zh) 2018-10-24 2018-10-24 报文处理方法、相关设备及计算机存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/104,777 Continuation US11316916B2 (en) 2018-10-24 2020-11-25 Packet processing method, related device, and computer storage medium

Publications (1)

Publication Number Publication Date
WO2020082839A1 true WO2020082839A1 (zh) 2020-04-30

Family

ID=65346400

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/098055 WO2020082839A1 (zh) 2018-10-24 2019-07-27 报文处理方法、相关设备及计算机存储介质

Country Status (3)

Country Link
US (1) US11316916B2 (zh)
CN (1) CN109361749B (zh)
WO (1) WO2020082839A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361749B (zh) * 2018-10-24 2022-03-29 华为云计算技术有限公司 报文处理方法、相关设备及计算机存储介质
US11914624B2 (en) * 2020-12-10 2024-02-27 Coupang Corp. Systems and methods for managing connections in scalable clusters
CN117729206B (zh) * 2024-02-07 2024-05-31 湖南三湘银行股份有限公司 基于物联网的多媒体接入方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337417A1 (en) * 2011-12-19 2014-11-13 Solbox Inc Method and apparatus for processing server load balancing by using the result of hash function
CN107070983A (zh) * 2017-01-23 2017-08-18 天地融科技股份有限公司 一种基于地址转发的负载均衡方法、设备和***
CN108449282A (zh) * 2018-05-29 2018-08-24 华为技术有限公司 一种负载均衡方法及其装置
CN109361749A (zh) * 2018-10-24 2019-02-19 华为技术有限公司 报文处理方法、相关设备及计算机存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006010526D1 (de) * 2005-04-04 2009-12-31 Ericsson Telefon Ab L M Verfahren und vorrichtung zur lastverteilung auf anwendungsservern
US8429287B2 (en) * 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
CN102137130A (zh) 2010-01-22 2011-07-27 华为技术有限公司 基于http的同步方法和装置
CN101783771A (zh) * 2010-03-24 2010-07-21 杭州华三通信技术有限公司 一种实现负载均衡持续性的方法和设备
CN103139246B (zh) * 2011-11-25 2016-06-15 百度在线网络技术(北京)有限公司 负载均衡设备和负载均衡及防御方法
CN103166870B (zh) * 2011-12-13 2017-02-08 百度在线网络技术(北京)有限公司 负载均衡集群***及采用其提供服务的方法
CN103457869A (zh) * 2013-08-28 2013-12-18 北京星网锐捷网络技术有限公司 会话保持方法和装置
CN104539586A (zh) * 2014-12-08 2015-04-22 中兴通讯股份有限公司 会话管理方法和装置
CN106302565B (zh) * 2015-05-12 2020-11-24 浙江格林蓝德信息技术有限公司 业务服务器的调度方法及***
CN106101232A (zh) * 2016-06-16 2016-11-09 北京思源置地科技有限公司 负载均衡方法及装置
CN107786669B (zh) * 2017-11-10 2021-06-22 华为技术有限公司 一种负载均衡处理的方法、服务器、装置及存储介质
CN108156086B (zh) * 2017-12-19 2022-04-22 北京奇艺世纪科技有限公司 一种策略规则下发方法及装置
CN108134828A (zh) * 2017-12-20 2018-06-08 金蝶软件(中国)有限公司 服务请求的路由方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337417A1 (en) * 2011-12-19 2014-11-13 Solbox Inc Method and apparatus for processing server load balancing by using the result of hash function
CN107070983A (zh) * 2017-01-23 2017-08-18 天地融科技股份有限公司 一种基于地址转发的负载均衡方法、设备和***
CN108449282A (zh) * 2018-05-29 2018-08-24 华为技术有限公司 一种负载均衡方法及其装置
CN109361749A (zh) * 2018-10-24 2019-02-19 华为技术有限公司 报文处理方法、相关设备及计算机存储介质

Also Published As

Publication number Publication date
CN109361749B (zh) 2022-03-29
CN109361749A (zh) 2019-02-19
US20210084100A1 (en) 2021-03-18
US11316916B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
KR101623197B1 (ko) 클라이언트 디바이스 상에서의 패킷 송신을 스케줄링하기 위한 시스템 및 방법
US9537786B2 (en) Method, device, and system for information processing based on distributed buses
JP4577853B2 (ja) ネットワーク・プロトコル処理のオフロードにおいて接続確立をサポートする装置および方法
JP4886685B2 (ja) ネットワーク・プロトコル処理のオフロードにおいてメモリ管理をサポートする装置および方法
CN110602156A (zh) 一种负载均衡调度方法及装置
CN113711551A (zh) 促进网络接口控制器(nic)中的动态命令管理的***和方法
US9781012B2 (en) Behavior monitoring and compliance for multi-tenant resources
US11316916B2 (en) Packet processing method, related device, and computer storage medium
US9374425B2 (en) Behavior based client selection for disparate treatment
WO2014190791A1 (zh) 一种网关设备身份设置的方法及管理网关设备
WO2020019743A1 (zh) 流量控制方法及装置
WO2021120633A1 (zh) 一种负载均衡方法及相关设备
US10999364B1 (en) Emulation of memory access transport services
US9104488B2 (en) Support server for redirecting task results to a wake-up server
WO2013075446A1 (zh) 处理业务的方法和***
US8539089B2 (en) System and method for vertical perimeter protection
WO2022148363A1 (zh) 数据传输方法及数据传输服务器
WO2021147354A1 (zh) 服务等级配置方法以及装置
WO2017185615A1 (zh) 一种业务处理设备的业务状态确定方法及调度设备
WO2023186046A1 (zh) 一种发送报文的方法和装置
US10154116B1 (en) Efficient synchronization of locally-available content
US11012364B2 (en) Aggregated link flow control system
WO2012159537A1 (zh) 一种用户信息共享的即时通讯***及方法
WO2023045191A1 (zh) 视频流的获取方法及装置、服务器、存储介质和程序产品
US10728291B1 (en) Persistent duplex connections and communication protocol for content distribution

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19876056

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19876056

Country of ref document: EP

Kind code of ref document: A1