WO2020063251A1 - 一种通信方法及相关设备 - Google Patents

一种通信方法及相关设备 Download PDF

Info

Publication number
WO2020063251A1
WO2020063251A1 PCT/CN2019/103490 CN2019103490W WO2020063251A1 WO 2020063251 A1 WO2020063251 A1 WO 2020063251A1 CN 2019103490 W CN2019103490 W CN 2019103490W WO 2020063251 A1 WO2020063251 A1 WO 2020063251A1
Authority
WO
WIPO (PCT)
Prior art keywords
vspu
processing node
service processing
address information
vspus
Prior art date
Application number
PCT/CN2019/103490
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 华为技术有限公司
Priority to EP19865131.7A priority Critical patent/EP3843342A4/en
Publication of WO2020063251A1 publication Critical patent/WO2020063251A1/zh
Priority to US17/212,398 priority patent/US20210211381A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0627Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time by acting on the notification or alarm source
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • 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
    • 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

Definitions

  • the present application relates to the field of wireless network technologies, and in particular, to a communication method and related equipment.
  • Public cloud system resources such as servers or storage space
  • the resources are provided through the Internet, and its core attribute is shared resource services. Due to its resource-sharing nature, tenants are generally not allowed to monopolize a physical host. Even if it can be monopolized, the cost is relatively high. Therefore, the performance of a single virtual machine is generally not too high. There is an upper limit on the processing performance of the entire system. Unlimited expansion.
  • the embodiments of the present application provide a communication method and related equipment, which can realize unlimited expansion and improve the processing performance of the entire system.
  • an embodiment of the present application provides a communication method, including:
  • the GSC receives a vSPU list sent by a vCTRL in a first service processing node in at least one service processing node, where the vSPU list includes address information of the vSPU in the first service processing node; and then processes the second service in at least one service processing node
  • the vCTRL in the node sends the address information.
  • the vSPU in the second service processing node receives the address information of the vSPU in the first service processing node, it selects the vSPU in the first service processing node for communication, so as to realize direct communication between the service processing nodes. Communication without being limited by the performance of GSC and vCTRL, which can achieve unlimited expansion and improve the processing performance of the entire system.
  • GSC can monitor the operating status of each business processing node; when the operating status of a business processing node is abnormal, GSC can send a notification message to vCTRL in other business processing nodes, and other services After receiving the notification message, the vCTRL in the processing node synchronizes the notification message to the vSPU, so that the vSPU can determine that the operating status of the business processing node is abnormal, and does not select the vSPU in the business processing node for communication, thereby avoiding selecting an abnormality.
  • VSPU guarantees successful communication.
  • the vCTRL in the first service processing node may obtain the load of each vSPU in the first service processing node, and then report the load of each vSPU in the first service processing node to GSC, GSC.
  • the load of each vSPU in the first service processing node is delivered to each vSPU in the second service processing node.
  • the vSPU in the second service processing node may select the vSPU in the first service processing node for communication according to the load and vSPU list of each vSPU in the first service processing node, thereby ensuring load balancing of services.
  • an embodiment of the present application provides a communication method, including: vCTRL in a first service processing node obtains a vSPU list in a first service processing node; and then sends a vSPU list to the GSC, where the vSPU list includes the first service
  • the address information of the vSPU in the processing node, and the GSC synchronizes the address information of the vSPU in the first service processing node to the second service processing node, so that the vSPU in the second service processing node selects the vSPU in the first service processing node.
  • Communication It enables direct communication between business processing nodes without being limited by the performance of GSC and vCTRL, which can achieve unlimited expansion and improve the processing performance of the entire system.
  • the vCTRL in the first service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in the first service processing node exceeds a first preset threshold At this time, the vCTRL in the first service processing node can increase the number of vSPUs in the first service processing node, thereby achieving elastic expansion according to the service situation.
  • the vCTRL in the first service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in the first service processing node is lower than the second When the threshold is set, the vCTRL in the first service processing node can reduce the number of vSPUs in the first service processing node, thereby achieving elastic scaling down according to the service situation.
  • the vCTRL in the first service processing node may report the expanded or reduced vSPU list to the GSC, so that the GSC synchronizes the expanded or reduced vSPU list to other service processing nodes So that other service processing nodes can select vSPUs for communication according to the expanded or reduced vSPU list.
  • the vCTRL in the first service processing node may obtain the running status of the vSPU in its own service processing node; when the running status of the vSPU in the first service processing node is in an abnormal state (for example, a failure occurs) (Or offline), the vCTRL in the first service processing node can update the vSPU list and send the updated vSPU list to the GSC, so that the GSC synchronizes the updated vSPU list to each other business processing node, so that Each other service processing node selects to communicate with the vSPU in the first service processing node according to the updated vSPU list.
  • an abnormal state for example, a failure occurs
  • an embodiment of the present application provides a communication method, including: GSC receiving a vSPU list sent by vCTRL in each service processing node in at least one service processing node.
  • the vSPU list includes the first address information of the vSPU in each service processing node; then the GSC selects the target vSPU from the vSPUs in at least one service processing node; and finally sends the first address information of the target vSPU to the user equipment.
  • An address information is used to instruct the user equipment to communicate with the target vSPU. In this way, the user equipment directly communicates with the target device according to the address information without being limited by the performance of GSC and vCTRL, thereby enabling unlimited expansion and improving the processing performance of the entire system.
  • the GSC can receive the load of each vSPU in each business processing node sent by the vCTRL in each business processing node in at least one business processing node; then according to each of the business processing nodes For the load of the vSPU, the target vSPU is selected from the vSPUs in one or more service processing nodes, thereby ensuring the load balance of each service processing node.
  • the GSC can select the vSPU with the smallest load from the vSPUs in one or more service processing nodes as the target vSPU, thereby ensuring the load balancing of each service processing node.
  • GSC can monitor the running status of one or more business processing nodes; if the running status of one of the business processing nodes is monitored, the vSPU list in the business processing node can be deleted , And select the target vSPU from the vSPUs in other service processing nodes, so as to avoid selecting an abnormal vSPU and ensure successful communication.
  • the GSC may obtain at least one of the location of the user equipment and the location of the operator; and then, based on at least one of the location of the location and the information of the operator, from one or more service processing nodes Select the target business processing node.
  • the target service processing node is a service processing node belonging to the same operator as the user equipment or a service processing node with the best service quality to the user equipment.
  • the GSC sends the second address information of the vCTRL in the target service processing node to the user equipment. After receiving the second address information of the vCTRL in the target service processing node, the user equipment can send a service request to the vCTRL in the target service processing node. .
  • an embodiment of the present application provides a communication method including: vCTRL in a service processing node obtains a vSPU list of a vSPU in a service processing node; and then sends a vSPU list to the GSC, and the vSPU list includes the vSPU in the service processing node
  • the first address information is used by the GSC to instruct the user equipment to select a vSPU in the service processing node for communication.
  • the user equipment directly communicates with the target device according to the address information without being limited by the performance of GSC and vCTRL, thereby enabling unlimited expansion and improving the processing performance of the entire system.
  • the vCTRL in each service processing node can check the load of each vSPU in its own service processing node according to a preset period, and report the load of each vSPU to the GSC, so that the GSC can Load to select vSPU for communication to ensure load balance.
  • the vCTRL in each service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in a certain service processing node exceeds the first preset At the threshold, the vCTRL in the service processing node can increase the number of vSPUs in the service processing node, so as to achieve elastic expansion according to the service situation.
  • the vCTRL in each service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in a certain service processing node is lower than the second
  • the vCTRL in the service processing node can reduce the number of vSPUs in the service processing node, thereby achieving elastic scaling down according to the business situation.
  • the vCTRL in each service processing node can report the expanded or reduced vSPU list to GSC, so that the GSC synchronizes the expanded or reduced vSPU list to other service processing nodes So that other service processing nodes can select vSPUs for communication according to the expanded or reduced vSPU list.
  • the vCTRL in each business processing node can obtain the running status of the vSPU in its own business processing node.
  • the vCTRL in the service processing node can update the vSPU list and send the updated vSPU list to the GSC, so that the GSC can select the target vSPU according to the updated vSPU list, thereby realizing user equipment and targets The vSPU communicates.
  • an embodiment of the present application provides a GSC.
  • the GSC is configured to implement the methods and functions performed by the GSC in the first aspect and the third aspect, and is implemented by hardware / software.
  • the hardware / software includes and Corresponding modules for the above functions.
  • an embodiment of the present application provides a vCTRL configured to implement the methods and functions performed by the vCTRL in the second and fourth aspects, and implemented by hardware / software, and the hardware / software includes and Corresponding modules for the above functions.
  • an embodiment of the present application provides another GSC, including: a processor and a memory.
  • the processor executes a program stored in the memory to implement steps in a communication method provided by the first aspect and the third aspect. .
  • the GSC provided in the embodiment of the present application further includes a communication bus, and the communication bus is used to implement connection and communication between the processor and the memory.
  • the GSC provided in the embodiment of the present application may include a module corresponding to the GSC behavior in the method design.
  • Modules can be software and / or hardware.
  • an embodiment of the present application provides another vCTRL, including: a processor and a memory.
  • the processor executes a program stored in the memory to implement steps in a communication method provided by the second aspect and the fourth aspect. .
  • the vCTRL provided in the embodiment of the present application further includes a communication bus, and the communication bus is used to implement connection and communication between the processor and the memory.
  • the vCTRL provided in the embodiment of the present application may include a module corresponding to the vCTRL behavior in the method design.
  • Modules can be software and / or hardware.
  • the present application provides a computer-readable storage medium.
  • the computer-readable storage medium has instructions stored thereon that, when run on a computer, cause the computer to execute the methods of the above aspects.
  • the present application provides a computer program product containing instructions that, when run on a computer, causes the computer to perform the methods of the above aspects.
  • FIG. 1 is a schematic architecture diagram of a public cloud system according to an embodiment of the present application.
  • FIG. 2 is a schematic architecture diagram of a public cloud system based on server-side load balancing according to an embodiment of the present application
  • FIG. 3 is a schematic architecture diagram of a public cloud system based on client load balancing according to an embodiment of the present application
  • FIG. 4 (A) is a schematic architecture diagram of a public cloud system provided by an embodiment of the present application.
  • FIG. 4 (B) is a schematic architecture diagram of another public cloud system provided by the present application.
  • FIG. 5 is a schematic flowchart of a communication method according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a communication method according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a global service controller GSC according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a node controller vCTRL according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of another global service controller GSC proposed by the present application.
  • FIG. 10 is a schematic structural diagram of another node controller vCTRL according to an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an architecture of a public cloud system provided by an embodiment of the present application.
  • This system is implemented using Elastic Load Balancing (ELB) to improve the overall performance of the system.
  • the system includes multiple clients, multiple back-end servers (vServers), and an ELB.
  • the ELB presents a fixed address to the outside. Each client establishes a connection with the ELB through this address. The client can send a message to the ELB. After receiving the message, the ELB initiates a connection to the back-end server. The message is sent to the back-end server, and all messages need to pass through the ELB.
  • the ELB can check the running status of each back-end server according to a preset period.
  • the ELB can forward the packet to other back-end servers.
  • the performance of the back-end server cannot bear the accessed service, a new back-end server is automatically expanded to carry the service.
  • the processing performance of this system is limited by the performance of the ELB, which results in an upper limit on the performance and cannot be infinitely expanded.
  • FIG. 2 is a schematic diagram of a public cloud system based on server-side load balancing provided by an embodiment of the present application.
  • the Linux virtual server (LVS) cluster presents a unified virtual address (virtual Internet Protocol) to the outside, and the client only communicates with the VIP, and is not sure which server is actually providing business services.
  • the Open Shortest Path First (OSPF) protocol runs between the LVS cluster and the switch, and the switch generates an equal-cost multi-path routing (ECMP) for the VIP.
  • OSPF Open Shortest Path First
  • ECMP equal-cost multi-path routing
  • Expand LVS when LVS performance is insufficient, and add new equal-cost routes to the switch after the expansion.
  • the system has a limit on the number of equal-cost routes. When the number of equal-cost routes reaches the upper limit, the capacity cannot be expanded. And the performance of the entire system is also limited by the maximum performance of the unified entry point. If the unified entry point fails, the entire system will be paralyzed.
  • a possible implementation method is that when a client initiates a request, the DNS server returns an address to the client A list.
  • the address list includes the addresses of servers that process services. After the client receives the address list, it randomly selects an address from the address list to send the request.
  • Another possible implementation manner is that the server providing the service registers with the service center, the service center records the address of the registered server in the address list, and when the client requests the service from the service center, the service center returns the address list to the client to Client, after receiving the address list, the client randomly selects a server to serve according to the address list. As shown in FIG. 3, FIG.
  • FIG 3 is a schematic structural diagram of a public cloud system based on client load balancing provided by an embodiment of the present application.
  • the ELB distributes the request to the middleware layer (Load Balancer, LB), and the LB layer selects a server from the server list issued by the service center to serve.
  • the LB layer is regarded as the client selecting the server, and the overall performance is improved through client load balancing.
  • system performance is limited by the performance of the local domain ELB and cannot be expanded indefinitely.
  • FIG. 4 (A) is a schematic architecture diagram of a public cloud system provided by an embodiment of the present application.
  • the system includes a global service controller (GSC) and one or more service processing nodes.
  • Each service processing node includes a node controller (vrtual controller) (vCTRL) and one or more virtual service processing units ( virtual service unit (vSPU), where the vSPU may be a virtual server (vServer).
  • vrtual controller vrtual controller
  • vSPU virtual service processing units
  • vServer virtual server
  • FIG. 4 (A) vSPUs in each service processing node can perform inter-node communication, such as routing and forwarding.
  • FIG. 4 (B) is a schematic architecture diagram of another public cloud system provided by the present application. The system is a globally distributed deployment across regions, including a GSC and one or more business processing nodes. Each business processing node includes a vCTRL and one or more vSPUs. It can also include one or more clients. In the system shown in (B), the client can choose to communicate with any vSPU in each service processing node. Based on the above system, the embodiments of the present application provide the following solutions.
  • FIG. 5 is a schematic flowchart of a communication method according to an embodiment of the present application. The method includes, but is not limited to, the following steps:
  • the relevant information may include the vSPU address information, resource information, and Carrying capacity and so on.
  • the vCTRL in the first service processing node After receiving the relevant information of each vSPU in the first service processing node, the vCTRL in the first service processing node generates a vSPU list, and then sends the vSPU list to the GSC.
  • the vSPU list may include address information of each vSPU in the first service processing node, and may further include resource information, bearer capacity, and so on.
  • the GSC After receiving the vSPU list in the first service processing node, the GSC sends a synchronization message to each other service processing node (for example, the second service processing node), where the synchronization message includes the vSPU list in the first service processing node.
  • S504 After receiving the vSPU list in the first service processing node, the second service processing node sends the vSPU list in the first service processing node to each vSPU in the second service processing node.
  • the vSPU of the second service processing node After receiving the vSPU list in the first service processing node, the vSPU of the second service processing node selects address information from the vSPU list, and communicates with the vSPU in the first service processing node according to the address information.
  • the vCTRL in the first service processing node may obtain the load of each vSPU in the first service processing node, and then report the load of each vSPU in the first service processing node to the GSC, and the GSC may report the first service
  • the load of each vSPU in the processing node is delivered to each vSPU in the second service processing node.
  • the vSPU in the second service processing node may select the first service processing according to the load of each vSPU in the first service processing node and the vSPU list.
  • the vSPUs in the nodes communicate. For example, a vSPU with the smallest load among the first service processing nodes may be selected for communication.
  • the load may include a CPU occupation size, a memory occupation size, a bandwidth occupation size, and the like.
  • GSC can monitor the running status of each business processing node; when the running status of a business processing node is abnormal, GSC can send a notification message to vCTRL in other business processing nodes. After receiving the notification message, vCTRL synchronizes the notification message to the vSPU, and the vSPU can determine that the operation status of the service processing node is abnormal, and does not select the vSPU in the service processing node for communication, so as to avoid selecting an abnormal vSPU and ensure The communication was successful.
  • the vCTRL in each service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in a certain service processing node exceeds a first preset threshold, the service The vCTRL in a processing node can increase the number of vSPUs in the service processing node, thereby achieving elastic expansion according to the business situation.
  • the vCTRL in each service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in a certain service processing node is lower than the second preset threshold, the The vCTRL in a service processing node can reduce the number of vSPUs in the service processing node, thereby achieving elastic scaling down according to the business situation.
  • the vCTRL in each service processing node can report the expanded or reduced vSPU list to GSC, so that the GSC synchronizes the expanded or reduced vSPU list to other service processing nodes, so that other service processing nodes can Select the vSPU for communication based on the expanded or reduced vSPU list.
  • the vCTRL in each business processing node can obtain the running status of the vSPU in its own business processing node; when the running status of the vSPU in a certain business processing node is in an abnormal state (for example, a failure or offline)
  • the vCTRL in the business processing node can update the vSPU list and send the updated vSPU list to the GSC, so that the GSC synchronizes the updated vSPU list to each other business processing node, so that each other business processing node Select to communicate with the vSPU in the service processing node according to the updated vSPU list.
  • the vCTRL in each service processing node sends the vSPU list in its own service processing node to GSC, and the GSC sends the vSPU list to vCTRL in other service processing nodes, and then vCTRL synchronizes the vSPU list to their respective Each vSPU in the business processing node.
  • the vSPU in one of the service processing nodes can select the vSPU in the other service processing node for communication according to the vSPU list, enabling direct communication between service processing nodes without being limited by the performance of GSC and vCTRL, thereby achieving unlimited Expansion to improve the processing performance of the entire system.
  • FIG. 6 is a schematic flowchart of a communication method according to an embodiment of the present application.
  • the method includes, but is not limited to, the following steps:
  • the relevant information may include the vSPU address information, resource information, and bearing capacity in the service processing node. and many more.
  • the vSPU list may include the first address information of each vSPU in the service processing node, and may also include resource information, bearing capacity, and so on.
  • the vCTRL in each service processing node may check the load of each vSPU in its own service processing node according to a preset period, and report the load of each vSPU to the GSC.
  • the load may include a CPU occupation size, a memory occupation size, a bandwidth occupation size, and the like.
  • the user equipment Before the user equipment requests a business service from the vSPU in the service processing node, it may first send an address request to the GSC.
  • the GSC After receiving the address request, the GSC selects a target vSPU from vSPUs in one or more service processing nodes.
  • the GSC may receive the load of each vSPU in each service processing node reported by the vCTRL in each service processing node; then, according to the load of each vSPU in each service processing node, from one or more The target vSPU is selected from the vSPUs of each service processing node. Further, the vSPU with the smallest load may be selected from the vSPUs in one or more service processing nodes as the target vSPU.
  • the GSC sends the first address information of the target vSPU to the user equipment.
  • the embodiment of the present application provides another optional solution, including: GSC can obtain at least one of a location where the user equipment is located and operator information; and then according to the location and operation of the area At least one of the business information, selects a target business processing node from one or more business processing nodes.
  • the target service processing node is a service processing node belonging to the same operator as the user equipment or a service processing node with the best service quality to the user equipment.
  • the GSC sends the second address information of the vCTRL in the target service processing node to the user equipment. After receiving the second address information of the vCTRL in the target service processing node, the user equipment can send a service request to the vCTRL in the target service processing node.
  • the target service processing node may return the vSPU list in the target service processing node to the user equipment, or return the address information of the vSPU with the least load. If the user equipment receives the vSPU list in the target service processing node, the user equipment can select a vSPU in the target service processing node to communicate according to the vSPU list. If the user equipment receives the address information of the vSPU with the smallest load, the user equipment can Address information to communicate with the vSPU with the smallest load.
  • the GSC can monitor the running status of one or more business processing nodes; if the running status of one of the business processing nodes is monitored, the vSPU list in the business processing node can be deleted and other services can be deleted The target vSPU is selected from the vSPUs in the processing node.
  • the vCTRL in each service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in a certain service processing node exceeds a first preset threshold, the service The vCTRL in a processing node can increase the number of vSPUs in the service processing node, thereby achieving elastic expansion according to the business situation.
  • the vCTRL in each service processing node can obtain the load of the vSPU in its own service processing node; when the load of one or more vSPUs in a certain service processing node is lower than the second preset threshold, the The vCTRL in a service processing node can reduce the number of vSPUs in the service processing node, thereby achieving elastic scaling down according to the business situation.
  • the vCTRL in each service processing node can report the expanded or reduced vSPU list to GSC, so that the GSC synchronizes the expanded or reduced vSPU list to other service processing nodes, so that other service processing nodes can Select the vSPU for communication based on the expanded or reduced vSPU list.
  • the vCTRL in each business processing node can obtain the running status of the vSPU in its own business processing node.
  • the vCTRL in the service processing node can update the vSPU list and send the updated vSPU list to the GSC, so that the GSC can select the target vSPU according to the updated vSPU list, and then the user equipment communicates with the target vSPU.
  • no communication occurs between the service processing nodes, and the service processing node processes the service request from the user equipment.
  • the GSC obtains the vSPU list in each service processing node.
  • the GSC selects the target vSPU and returns the address information of the target vSPU to the user equipment.
  • the user equipment directly communicates with the target device according to the address information of the target vSPU, without being limited by the performance of GSC and vCTRL, thereby enabling unlimited expansion and improving the processing performance of the entire system.
  • FIG. 7 is a schematic structural diagram of a global service controller GSC according to an embodiment of the present application.
  • the GSC may include a receiving module 701, a processing module 702, and a sending module 703. A detailed description of each module is as follows: .
  • the receiving module 701 is configured to receive a vSPU list sent by a vCTRL in a first service processing node in at least one service processing node, where the vSPU list includes address information of a vSPU in the first service processing node;
  • a sending module 703 is configured to send the address information to a vCTRL in a second service processing node of the at least one service processing node, where the address information is used to instruct a vSPU in the second service processing node to select the first service processing node.
  • the vSPU in a service processing node communicates.
  • a processing module 702 is configured to monitor the running status of each service processing node
  • the sending module 703 is further configured to send a notification message to the vCTRL in the second service processing node when the running status of the first service processing node is abnormal, and the notification message is used to indicate the first The vSPU in the two service processing nodes does not select the vSPU in the first service processing node for communication.
  • the receiving module 701 is configured to receive a vSPU list sent by a vCTRL in each service processing node in at least one service processing node, where the vSPU list includes the vSPU in each service processing node.
  • First address information a processing module 702, configured to select a target vSPU from a vSPU in the at least one service processing node;
  • a sending module 703 is configured to send the first address information of the target vSPU to a user equipment, where the first address information is used to instruct the user equipment to communicate with the target vSPU.
  • the processing module 702 is further configured to monitor the running status of the at least one business processing node; delete the vSPU list in the business processing node whose operating status is abnormal in the at least one business processing node, and remove The target vSPU is selected from vSPUs in other service processing nodes in the at least one service processing node.
  • the receiving module 701 is further configured to receive a load of each vSPU in each service processing node sent by the vCTRL in each of the at least one service processing node; the processing module 702, further And configured to select the target vSPU from the vSPUs in the at least one service processing node according to the load of each vSPU in the at least one service processing node.
  • the processing module 702 is further configured to select, from the vSPUs in the at least one service processing node, the vSPU with the smallest load as the target vSPU.
  • the processing module 702 is further configured to obtain at least one of an area location of the user equipment and operator information; and from the area location and at least one of the operator information, obtain the information from the area location and the operator information. Selecting a target service processing node from at least one service processing node, where the target service processing node is a service processing node belonging to the same operator as the user equipment or a service processing node with the best service quality to the user equipment;
  • the sending module 703 is further configured to send the second address information of the vCTRL in the target service processing node to the user equipment, where the second address information is used to instruct the user equipment to the target service processing node.
  • vCTRL requests vSPU to communicate.
  • each module may also correspond to the corresponding description of the method embodiments shown in FIG. 5 or FIG. 6, and execute the methods and functions performed by the GSC in the above embodiments.
  • FIG. 8 is a schematic structural diagram of a node controller vCTRL according to an embodiment of the present application.
  • the vCTRL may include an obtaining module 801, a processing module 802, a sending module 803, and a receiving module 804. The detailed description is as follows.
  • An obtaining module 801, configured to obtain a vSPU list in the first service processing node
  • a sending module 803 is configured to send the vSPU list to a GSC, where the vSPU list includes address information of a vSPU in the first service processing node, where the address information is used by the GSC to indicate a second service processing node.
  • the vSPU selects a vSPU in the first service processing node for communication.
  • the obtaining module 801 is further configured to obtain a load of a vSPU in the first service processing node;
  • the processing module 802 is configured to increase the number of vSPUs in the first service processing node when the load of the vSPUs in the first service processing node exceeds a first preset threshold.
  • the obtaining module 801 is further configured to obtain a load of a vSPU in the first service processing node;
  • the processing module 802 is configured to reduce the number of vSPUs in the first service processing node when the load of the vSPUs in the first service processing node is lower than a second preset threshold.
  • the obtaining module 801 is further configured to obtain the running status of the vSPU in the first service processing node; the processing module 802 is further configured to use the operating status of the vSPU in the first service processing node at the When the status is abnormal, the vSPU list is updated.
  • an obtaining module 801 is configured to obtain a vSPU list of a vSPU in a service processing node; and a sending module 803 is configured to send the vSPU list to a GSC, where the vSPU list includes the First address information of the vSPU, the first address information is used by the GSC to instruct the user equipment to select a vSPU in the service processing node for communication.
  • the obtaining module 801 is further configured to obtain a load of a vSPU in the service processing node;
  • the processing module 802 is configured to increase the number of vSPUs in the service processing node when the load of the vSPU in the service processing node exceeds a first preset threshold.
  • the obtaining module 801 is further configured to obtain a load of a vSPU in the service processing node;
  • the processing module 802 is configured to reduce the number of vSPUs in the service processing node when the load of the vSPU in the service processing node is lower than a second preset threshold.
  • the obtaining module 801 is further configured to obtain a running status of a vSPU in the service processing node;
  • the processing module 802 is further configured to update the vSPU list when the running status of the vSPU in the service processing node is in an abnormal state.
  • the receiving module 804 is configured to receive a service request sent by the user equipment, where the service request is received by the user device after receiving the second address information of the vCTRL in the service processing node sent by the GSC. Sending that the service processing node and the user equipment belong to the same operator, or the service quality to the user equipment is optimal;
  • the sending module 803 is further configured to send, to the user equipment, the vSPU list in the service processing node or address information of a vSPU with a minimum load.
  • each module may also correspond to the corresponding description of the method embodiments shown in FIG. 5 or FIG. 6, and execute the methods and functions performed by vCTRL in the foregoing embodiments.
  • FIG. 9 is a schematic structural diagram of another global service controller GSC according to an embodiment of the present application.
  • the GSC may include: at least one processor 901, at least one communication interface 902, at least one memory 903, and at least one communication bus 904.
  • the processor 901 may be a central processing unit, a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute various exemplary logical blocks, modules, and circuits described in connection with the present disclosure.
  • the processor may also be a combination that implements computing functions, such as a combination including one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on.
  • the communication bus 904 may be a peripheral component interconnect standard PCI bus or an extended industry standard structure EISA bus. The bus can be divided into an address bus, a data bus, a control bus, and the like.
  • a communication bus 904 is used to implement connection communication between these components.
  • the communication interface 902 of the device in the embodiment of the present application is used to perform signaling or data communication with other node devices.
  • the memory 903 may include volatile memory, such as nonvolatile dynamic random access memory (NVRAM), phase change random access memory (PRAM), magnetoresistive random access memory (magetoresistive RAM, MRAM), etc., may also include non-volatile memory, such as at least one disk storage device, electrically erasable programmable read-only memory (EEPROM), flash-memory (EEPROM), flash memory devices, such as flash memory (NOR flash memory) or anti-flash memory (NAND flash memory), semiconductor devices, such as solid state hard disk (solid state disk (SSD), etc.).
  • the memory 903 may optionally be at least one storage device located far from the foregoing processor 901.
  • a set of program code is stored in the memory 903, and the processor 901 executes a program executed by the GSC in the memory 903.
  • vSPU list sent by a vCTRL in a first service processing node in at least one service processing node, where the vSPU list includes address information of a vSPU in the first service processing node;
  • the vSPU in the processing node communicates.
  • processor 901 is further configured to perform the following operations:
  • a notification message is sent to the vCTRL in the second service processing node through the communication interface 902, and the notification message is used to indicate the second service processing
  • the vSPU in the node does not select the vSPU in the first service processing node for communication.
  • processor 901 is further configured to perform the following operations:
  • vSPU list sent by vCTRL in each service processing node in at least one service processing node, where the vSPU list includes first address information of the vSPU in each service processing node;
  • processor 901 is further configured to perform the following operations:
  • the target vSPU is selected from the vSPUs in the processing node.
  • processor 901 is further configured to perform the following operations:
  • each vSPU in each service processing node sent by vCTRL in each of the at least one service processing node through the communication interface 902; according to each vSPU in the at least one service processing node Selecting the target vSPU from a vSPU in the at least one service processing node.
  • processor 901 is further configured to perform the following operations:
  • processor 901 is further configured to perform the following operations:
  • the target service processing node is a service processing node belonging to the same operator as the user equipment or a service processing node with the best service quality to the user equipment;
  • processor may also cooperate with the memory and the communication interface to perform the operations of the GSC described in the embodiments of the above application.
  • FIG. 10 is a schematic structural diagram of another node controller vCTRL according to an embodiment of the present application.
  • the section vCTRL may include: at least one processor 1001, at least one communication interface 1002, at least one memory 1003, and at least one communication bus 1004.
  • the processor 1001 may be various types of processors mentioned above.
  • the communication bus 1004 may be a peripheral component interconnect standard PCI bus or an extended industry standard structure EISA bus.
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only a thick line is used in FIG. 10, but it does not mean that there is only one bus or one type of bus.
  • the communication bus 1004 is used to implement connection and communication between these components.
  • the communication interface 1002 of the device in the embodiment of the present application is used to perform signaling or data communication with other node devices.
  • the memory 1003 may be various types of memories mentioned above.
  • the memory 1003 may optionally be at least one storage device located far from the foregoing processor 1001.
  • a set of program code is stored in the memory 1003, and the processor 1001 executes a program executed by the distributed unit in the memory 1003.
  • the vSPU list includes address information of the vSPU in the first service processing node, and the address information is used by the GSC to instruct the vSPU selection in the second service processing node
  • the vSPU in the first service processing node performs communication.
  • processor 1001 is further configured to perform the following operations:
  • processor 1001 is further configured to perform the following operations:
  • the load of the vSPU in the first service processing node is lower than a second preset threshold, the number of vSPUs in the first service processing node is reduced.
  • processor 1001 is further configured to perform the following operations:
  • the vSPU list is updated.
  • processor 1001 is further configured to perform the following operations:
  • the vSPU list includes first address information of the vSPU in the service processing node, and the first address information is used by the GSC to instruct the user equipment to select the service processing
  • the vSPUs in the nodes communicate.
  • processor 1001 is further configured to perform the following operations:
  • processor 1001 is further configured to perform the following operations:
  • processor 1001 is further configured to perform the following operations:
  • the vSPU list is updated.
  • processor 1001 is further configured to perform the following operations:
  • processor may also cooperate with the memory and the communication interface to execute the operation of the vCTRL in the foregoing application embodiment.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be from a website site, computer, server, or data center Transmission by wire (for example, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) to another website site, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, and the like that includes one or more available medium integration.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).

Abstract

本申请实施例公开了一种通信方法及相关设备,该方法应用于公有云系统,系统包括全局服务控制器GSC以及至少一个业务处理节点,每个业务处理节点包括节点控制器vCTRL以及虚拟业务处理单元vSPU,其中:GSC接收至少一个业务处理节点中的第一业务处理节点中的vCTRL发送的vSPU列表,vSPU列表包括第一业务处理节点中的vSPU的地址信息;GSC向至少一个业务处理节点中第二业务处理节点中的vCTRL发送地址信息,地址信息用于指示第二业务处理节点中的vSPU选择第一业务处理节点中的vSPU进行通信。采用本申请实施例,可以实现无限扩容,提高整个系统的处理性能。

Description

一种通信方法及相关设备
本申请要求于2018年9月26日提交中国国家知识产权局、申请号为201811121019.6、发明名称为“一种通信方法及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及无线网络技术领域,尤其涉及一种通信方法及相关设备。
背景技术
公有云系统资源(例如服务器或存储空间)由第三方云服务提供商拥有和运营,该资源通过因特网(Internet)提供,其核心属性是共享资源服务。由于其资源共享性,通常不会允许租户独占一台物理主机,即使可以独占,其成本也相对较高,因此单台虚拟机的性能一般不会太高,整个系统的处理性能存在上限,不能无限扩容。
发明内容
本申请实施例提供一种通信方法及相关设备,可以实现无限扩容,提高整个系统的处理性能。
第一方面,本申请实施例提供了一种通信方法,包括:
GSC接收至少一个业务处理节点中的第一业务处理节点中的vCTRL发送的vSPU列表,该vSPU列表包括第一业务处理节点中的vSPU的地址信息;然后向至少一个业务处理节点中第二业务处理节点中的vCTRL发送地址信息,第二业务处理节点中的vSPU接收到第一业务处理节点中的vSPU的地址信息之后,选择第一业务处理节点中的vSPU进行通信,实现业务处理节点之间直接通信,而不受限于GSC和vCTRL的性能,从而可以实现无限扩容,提高整个系统的处理性能。
在一种可能的设计中,GSC可以监控每个业务处理节点的运行状态;当某个业务处理节点的运行状态为异常状态时,GSC可以向其他业务处理节点中的vCTRL发送通知消息,其他业务处理节点中的vCTRL接收到通知消息之后,将该通知消息同步到vSPU,进而vSPU可以确定该业务处理节点的运行状态为异常状态,不选择该业务处理节点中的vSPU进行通信,从而避免选择异常的vSPU,保证通信成功。
在另一种可能的设计中,第一业务处理节点中vCTRL可以获取第一业务处理节点中的每个vSPU的负载,然后将第一业务处理节点中的每个vSPU的负载上报给GSC,GSC将第一业务处理节点中每个vSPU的负载下发到第二业务处理节点中每个vSPU。第二业务处理节点中vSPU可以根据第一业务处理节点中每个vSPU的负载和vSPU列表,选择第一业务处理节点中的vSPU进行通信,从而保证业务的负载均衡。
第二方面,本申请实施例提供了一种通信方法,包括:第一业务处理节点中的vCTRL获取第一业务处理节点中的vSPU列表;然后向GSC发送vSPU列表,该vSPU列表包括第一业务处理节点中的vSPU的地址信息,GSC将第一业务处理节点中的vSPU的地址信息同 步到第二业务处理节点中,以便第二业务处理节点中的vSPU选择第一业务处理节点中的vSPU进行通信。实现业务处理节点之间直接通信,而不受限于GSC和vCTRL的性能,从而可以实现无限扩容,提高整个系统的处理性能。
在一种可能的设计中,第一业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当第一业务处理节点中的其中一个或多个vSPU的负载超过第一预设阈值时,第一业务处理节点中的vCTRL可以增加第一业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性扩容。
在另一种可能的设计中,第一业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当第一业务处理节点中的其中一个或多个vSPU的负载低于第二预设阈值时,第一业务处理节点中的vCTRL可以减少第一业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性缩容。
在另一种可能的设计中,第一业务处理节点中的vCTRL可以将扩容后或缩容后的vSPU列表上报给GSC,以便GSC将扩容后或缩容后的vSPU列表同步到其他业务处理节点,以便其他业务处理节点可以按照扩容后或缩容后的vSPU列表选择vSPU进行通信。
在另一种可能的设计中,第一业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的运行状态;当第一业务处理节点中的vSPU的运行状态处于异常状态(例如,出现故障或下线)时,第一业务处理节点中的vCTRL可以对vSPU列表进行更新,并向GSC发送更新后的vSPU列表,以便GSC将更新后的vSPU列表同步到其他每个业务处理节点,从而使得其他每个业务处理节点根据更新后的vSPU列表选择与第一业务处理节点中的vSPU进行通信。
应理解,上述仅说明了第一业务处理节点中的vCTRL具有上述功能,对于系统中的任何一个业务处理节点都具有上述功能。
第三方面,本申请实施例提供了一种通信方法,包括:GSC接收至少一个业务处理节点中每个业务处理节点中的vCTRL发送的vSPU列表。其中,该vSPU列表包括每个业务处理节点中的vSPU的第一地址信息;然后GSC从至少一个业务处理节点中的vSPU中选取目标vSPU;最后向用户设备发送目标vSPU的第一地址信息,第一地址信息用于指示用户设备与目标vSPU进行通信。这样,用户设备根据地址信息与目标设备直接进行通信,而不受限于GSC和vCTRL的性能,从而可以实现无限扩容,提高整个系统的处理性能。
在一种可能的设计中,GSC可以接收至少一个业务处理节点中每个业务处理节点中的vCTRL发送的每个业务处理节点中的每个vSPU的负载;然后根据每个业务处理节点中每个vSPU的负载,从一个或多个业务处理节点中的vSPU中选取目标vSPU,从而保证每个业务处理节点的负载均衡。
在另一种可能的设计中,GSC可以从一个或多个业务处理节点中的vSPU中选取负载最小的vSPU作为目标vSPU,从而保证每个业务处理节点的负载均衡。
在另一种可能的设计中,GSC可以监控一个或多个业务处理节点的运行状态;如果监控到其中某个业务处理节点的运行状态为异常状态,则可以删除该业务处理节点中的vSPU列表,并从其他业务处理节点中的vSPU中选取目标vSPU,从而避免选择异常的vSPU,保证通信成功。
在另一种可能的设计中,GSC可以获取用户设备所在的区域位置以及运营商信息中的至少一种;然后根据区域位置以及运营商信息中的至少一种,从一个或多个业务处理节点中选取目标业务处理节点。其中,目标业务处理节点为与用户设备属于同一运营商的业务处理节点、或到用户设备的服务质量最优的业务处理节点。最后GSC向用户设备发送该目标业务处理节点中的vCTRL的第二地址信息,用户设备接收到目标业务处理节点中的vCTRL的第二地址信息之后,可以向目标业务处理节点中的vCTRL发送服务请求。
第四方面,本申请实施例提供了一种通信方法,包括:业务处理节点中的vCTRL获取业务处理节点中的vSPU的vSPU列表;然后向GSC发送vSPU列表,vSPU列表包括业务处理节点中的vSPU的第一地址信息,第一地址信息用于GSC指示用户设备选择业务处理节点中的vSPU进行通信。这样,用户设备根据地址信息与目标设备直接进行通信,而不受限于GSC和vCTRL的性能,从而可以实现无限扩容,提高整个系统的处理性能。
在一种可能的设计中,每个业务处理节点中的vCTRL可以按照预设周期检查自己业务处理节点中每个vSPU的负载,并向GSC上报每个vSPU的负载,以便GSC根据每个vSPU的负载来选取vSPU进行通信,保证负载均衡。
在另一种可能的设计中,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当某个业务处理节点中的其中一个或多个vSPU的负载超过第一预设阈值时,该业务处理节点中的vCTRL可以增加该业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性扩容。
在另一种可能的设计中,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当某个业务处理节点中的其中一个或多个vSPU的负载低于第二预设阈值时,该业务处理节点中的vCTRL可以减少该业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性缩容。
在另一种可能的设计中,每个业务处理节点中的vCTRL可以将扩容后或缩容后的vSPU列表上报给GSC,以便GSC将扩容后或缩容后的vSPU列表同步到其他业务处理节点,以便其他业务处理节点可以按照扩容后或缩容后的vSPU列表选择vSPU进行通信。
在另一种可能的设计中,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的运行状态,当某个业务处理节点中的vSPU的运行状态处于异常状态(例如,出现故障或下线)时,该业务处理节点中的vCTRL可以对vSPU列表进行更新,并向GSC发送更新后的vSPU列表,以便GSC可以根据更新后的vSPU列表来选择目标vSPU,进而实现用户设备与目标vSPU进行通信。
第五方面,本申请实施例提供了一种GSC,该GSC被配置为实现上述第一方面和第三方面中的GSC所执行的方法和功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的模块。
第六方面,本申请实施例提供了一种vCTRL,该vCTRL被配置为实现上述第二方面和第四方面中的vCTRL所执行的方法和功能,由硬件/软件实现,其硬件/软件包括与上述功能相应的模块。
第七方面,本申请实施例提供了另一种GSC,包括:处理器和存储器,处理器执行存储器中存储的程序用于实现上述第一方面和第三方面提供的一种通信方法中的步骤。
在一种可能的设计中,本申请实施例提供的GSC还包括通信总线,通信总线用于实现处理器和存储器之间连接通信。
在另一个可能的设计中,本申请实施例提供的GSC可以包含用于执行上述方法设计中的GSC行为相对应的模块。模块可以是软件和/或是硬件。
第八方面,本申请实施例提供了另一种vCTRL,包括:处理器和存储器,处理器执行存储器中存储的程序用于实现上述第二方面和第四方面提供的一种通信方法中的步骤。
在一种可能的设计中,本申请实施例提供的vCTRL还包括通信总线,通信总线用于实现处理器和存储器之间连接通信。
在另一个可能的设计中,本申请实施例提供的vCTRL可以包含用于执行上述方法设计中的vCTRL行为相对应的模块。模块可以是软件和/或是硬件。
第九方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
第十方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种公有云系统的架构示意图;
图2是本申请实施例提供的一种基于服务端负载均衡的公有云系统的架构示意图;
图3是本申请实施例提供的一种基于客户端负载均衡的公有云系统的架构示意图;
图4(A)是本申请实施例提供的一种公有云系统的架构示意图;
图4(B)是本申请提供的另一种公有云系统的架构示意图;
图5是本申请实施例提供的一种通信方法的流程示意图;
图6是本申请实施例提供的一种通信方法的流程示意图;
图7是本申请实施例提供的一种全局服务控制器GSC的结构示意图;
图8是本申请实施例提供的一种节点控制器vCTRL的结构示意图;
图9是本申请提出的另一种全局服务控制器GSC的结构示意图;
图10是本申请实施例提出的另一种节点控制器vCTRL的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参见图1,图1是本申请实施例提供的一种公有云系统的架构示意图。该系统采用弹性负载均衡(Elastic Load Balancing,ELB)的方式来实现来提升系统的整体性能。该系统包括多个客户端、多个后端服务器(vServer)以及一个ELB。ELB对外呈现一个固定的地址,每个客户端都通过该地址与ELB建立连接,客户端可以向ELB发送报文,ELB接收到报文之后,向后端服务器发起连接,并按照一定的策略将该报文发送给后端服务器,所有报文都需要经过ELB。另外,ELB可以按照预设周期检查每个后端服务器的运行状态, 当后端服务器不可用时,ELB可以将报文转发给其他后端服务器。当后端服务器性能无法承载接入的业务时,自动扩展出新的后端服务器来承载业务。但是,该系统的处理性能受限于ELB的性能,导致性能存在上限,不能无限扩容。
请参见图2,图2是本申请实施例提供的一种基于服务端负载均衡的公有云系统的架构示意图。如图所示,Linux虚拟服务器(linux virtual server,LVS)集群对外呈现统一虚拟地址(virtual internet protocol,VIP),客户端只与该VIP进行通信,并不确定真正提供业务服务的服务器。LVS集群与交换机之间运行开放最短路径优先(open shortest path first,OSPF)协议,交换机上生成该VIP的等价路由(equal-cost multi-path routing,ECMP)。当LVS性能不足时扩容LVS,并在扩容后在交换机上增加新的等价路由。但是,该系统的等价路由条数有数量限制,当等价路由条数达到上限值时,无法继续扩容。并且整个系统的性能也受限于统一入口点的最大性能,如果统一入口点发生故障,导致整个系统会发生瘫痪。
相应地,基于客户端负载均衡也可以提升系统性能,以域名系统(domain name system,DNS)应用为例,一种可能的实现方式,当客户端发起请求后,DNS服务器向客户端返回一个地址列表,该地址列表包括处理业务的服务器的地址,客户端接收到地址列表之后,随机从地址列表选择一个地址来发送请求。另一种可能的实现方式,提供服务的服务器向服务中心注册,服务中心将已注册的服务器的地址记录在地址列表中,客户端向服务中心请求服务时,服务中心向客户端返回地址列表给客户端,客户端接收到该地址列表之后,根据地址列表中随机选择一个服务器进行服务。如图3所示,图3是本申请实施例提供的一种基于客户端负载均衡的公有云系统的架构示意图。ELB接收到外部请求之后,将该请求分发到中间件层(Load Balancer,LB),LB层从服务中心下发的服务器列表中选择一个服务器进行服务。在此过程中,LB层看作成客户端选择服务器,通过客户端负载均衡实现整体性能的提升。但是,系统性能受限于本地域ELB的性能,不能无限扩容。
综上所述,以上三种系统的处理性能均存在上限,不能无限扩容。为了解决上述技术问题,本申请实施例提供了如图4(A)和图4(B)所示的系统。图4(A)是本申请实施例提供的一种公有云系统的架构示意图。该系统包括一个业务全局控制器(global service controller,GSC)和一个或多个业务处理节点,每个业务处理节点包括一个节点控制器(vrtual controller,vCTRL)以及一个或多个虚拟业务处理单元(virtual service process unit,vSPU),其中,vSPU可以为虚拟服务器(virtual Server,vServer)。在图4(A)所示的系统中,每个业务处理节点中的vSPU之间可以进行节点间通信,例如路由转发。图4(B)是本申请提供的另一种公有云系统的架构示意图。该系统是跨地域全局分布式部署,包括一个GSC和一个或多个业务处理节点,每个业务处理节点包括一个vCTRL以及一个或多个vSPU,还可以包括一个或多个客户端,在图4(B)所示的系统中,客户端可以选择与每个业务处理节点中的任意一个vSPU进行通信。基于上述系统,本申请实施例提供了如下解决方案。
请参见图5,图5是本申请实施例提供的一种通信方法的流程示意图,该方法包括但不限于如下步骤:
S501,第一业务处理节点中的vSPU上线后向第一业务处理节点中的vCTRL发送自己的相关信息进行注册,其中,相关信息可以包括第一业务处理节点中的vSPU的地址信息、资源信息和承载能力等等。
S502,第一业务处理节点中的vCTRL接收到第一业务处理节点中每个vSPU的相关信息之后,生成vSPU列表,然后向GSC发送vSPU列表。其中,vSPU列表可以包括第一业务处理节点中每个vSPU的地址信息,还可以包括资源信息以及承载能力等等。
S503,GSC接收到第一业务处理节点中的vSPU列表之后,向其他每个业务处理处理节点(例如第二业务处理节点)发送同步消息,该同步消息包括第一业务处理节点中的vSPU列表。
S504,第二业务处理节点接收到第一业务处理节点中的vSPU列表之后,向第二业务处理节点中每个vSPU发送第一业务处理节点中的vSPU列表。
S505,第二业务处理节点的vSPU接收到第一业务处理节点中的vSPU列表之后,从该vSPU列表中选择地址信息,根据该地址信息与第一业务处理节点中的vSPU进行通信。
具体实现中,第一业务处理节点中vCTRL可以获取第一业务处理节点中的每个vSPU的负载,然后将第一业务处理节点中的每个vSPU的负载上报给GSC,GSC可以将第一业务处理节点中每个vSPU的负载下发到第二业务处理节点中每个vSPU,第二业务处理节点中vSPU可以根据第一业务处理节点中每个vSPU的负载和vSPU列表,选择第一业务处理节点中的vSPU进行通信。例如,可以选择第一业务处理节点中负载最小的vSPU进行通信。其中,负载可以包括CPU占用大小、内存占用大小或带宽占用大小等等。
可选的,GSC可以监控每个业务处理节点的运行状态;当某个业务处理节点的运行状态为异常状态时,GSC可以向其他业务处理节点中的vCTRL发送通知消息,其他业务处理节点中的vCTRL接收到通知消息之后,将该通知消息同步到vSPU,进而vSPU可以确定该业务处理节点的运行状态为异常状态,不选择该业务处理节点中的vSPU进行通信,从而避免选择异常的vSPU,保证通信成功。
可选的,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当某个业务处理节点中的其中一个或多个vSPU的负载超过第一预设阈值时,该业务处理节点中的vCTRL可以增加该业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性扩容。
可选的,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当某个业务处理节点中的其中一个或多个vSPU的负载低于第二预设阈值时,该业务处理节点中的vCTRL可以减少该业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性缩容。
其中,每个业务处理节点中的vCTRL可以将扩容后或缩容后的vSPU列表上报给GSC,以便GSC将扩容后或缩容后的vSPU列表同步到其他业务处理节点,以便其他业务处理节点可以按照扩容后或缩容后的vSPU列表选择vSPU进行通信。
可选的,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的运行状态;当某个业务处理节点中的vSPU的运行状态处于异常状态(例如,出现故障或下线)时,该业务处理节点中的vCTRL可以对vSPU列表进行更新,并向GSC发送更新后的vSPU 列表,以便GSC将更新后的vSPU列表同步到其他每个业务处理节点,从而使得其他每个业务处理节点根据更新后的vSPU列表选择与该业务处理节点中的vSPU进行通信。
在本申请实施例中,每个业务处理节点中的vCTRL将自己业务处理节点中的vSPU列表发送给GSC,GSC将vSPU列表发送给其他业务处理节点中的vCTRL,然后vCTRL将vSPU列表同步到各自业务处理节点中的每个vSPU。这样,其中一个业务处理节点中的vSPU可以根据vSPU列表选择另外一个业务处理节点中的vSPU进行通信,实现业务处理节点之间直接通信,而不受限于GSC和vCTRL的性能,从而可以实现无限扩容,提高整个系统的处理性能。
请参见图6,图6是本申请实施例提供的一种通信方法的流程示意图,该方法包括但不限于如下步骤:
S601,每个业务处理节点中的vSPU上线后向该业务处理节点中的vCTRL发送自己的相关信息进行注册,其中,相关信息可以包括该业务处理节点中的vSPU的地址信息、资源信息和承载能力等等。
S602,每个业务处理节点中的vCTRL接收到自己业务处理节点中每个vSPU的相关信息之后,生成vSPU列表,然后向GSC发送vSPU列表。其中,vSPU列表可以包括业务处理节点中每个vSPU的第一地址信息,还可以包括资源信息以及承载能力等等。
可选的,每个业务处理节点中的vCTRL可以按照预设周期检查自己业务处理节点中每个vSPU的负载,并向GSC上报每个vSPU的负载。其中,负载可以包括CPU占用大小、内存占用大小或带宽占用大小等等。
S603,用户设备在向业务处理节点中的vSPU请求业务服务之前,可以先向GSC发送地址请求。
S604,GSC接收到地址请求之后,从一个或多个业务处理节点中的vSPU中选取目标vSPU。
具体实现中,GSC可以接收每个业务处理节点中的vCTRL上报的所述每个业务处理节点中的每个vSPU的负载;然后根据每个业务处理节点中每个vSPU的负载,从一个或多个业务处理节点中的vSPU中选取目标vSPU。进一步的,可以从一个或多个业务处理节点中的vSPU中选取所述负载最小的vSPU作为所述目标vSPU。
S605,GSC向用户设备发送目标vSPU的第一地址信息。
S606,用户设备接收到目标vSPU的第一地址信息之后,根据第一地址信息与目标vSPU进行通信。
针对上述S604-606所涉及的方案,本申请实施例提供了另一种可选方案,包括:GSC可以获取用户设备所在的区域位置以及运营商信息中的至少一种;然后根据区域位置以及运营商信息中的至少一种,从一个或多个业务处理节点中选取目标业务处理节点。其中,目标业务处理节点为与用户设备属于同一运营商的业务处理节点、或到用户设备的服务质量最优的业务处理节点。最后GSC向用户设备发送该目标业务处理节点中的vCTRL的第二地址信息,用户设备接收到目标业务处理节点中的vCTRL的第二地址信息之后,可以向目标业务处理节点中的vCTRL发送服务请求。目标业务处理节点接收到服务请求之后,可以 向用户设备返回目标业务处理节点中的vSPU列表,也可以返回负载最小的vSPU的地址信息。如果用户设备接收到目标业务处理节点中的vSPU列表,用户设备可以根据vSPU列表,选择目标业务处理节点中一个vSPU进行通信,如果用户设备接收到负载最小的vSPU的地址信息,用户设备可以根据该地址信息,与负载最小的vSPU进行通信。
可选的,GSC可以监控一个或多个业务处理节点的运行状态;如果监控到其中某个业务处理节点的运行状态为异常状态,则可以删除该业务处理节点中的vSPU列表,并从其他业务处理节点中的vSPU中选取所述目标vSPU。
可选的,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当某个业务处理节点中的其中一个或多个vSPU的负载超过第一预设阈值时,该业务处理节点中的vCTRL可以增加该业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性扩容。
可选的,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的负载;当某个业务处理节点中的其中一个或多个vSPU的负载低于第二预设阈值时,该业务处理节点中的vCTRL可以减少该业务处理节点中的vSPU的数量,从而实现根据业务情况进行弹性缩容。
其中,每个业务处理节点中的vCTRL可以将扩容后或缩容后的vSPU列表上报给GSC,以便GSC将扩容后或缩容后的vSPU列表同步到其他业务处理节点,以便其他业务处理节点可以按照扩容后或缩容后的vSPU列表选择vSPU进行通信。
可选的,每个业务处理节点中的vCTRL可以获取自己业务处理节点中的vSPU的运行状态,当某个业务处理节点中的vSPU的运行状态处于异常状态(例如,出现故障或下线)时,该业务处理节点中的vCTRL可以对vSPU列表进行更新,并向GSC发送更新后的vSPU列表,以便GSC可以根据更新后的vSPU列表来选择目标vSPU,进而实现用户设备与目标vSPU进行通信。
在本申请实施例中,业务处理节点之间不进行通信,业务处理节点处理来自用户设备的服务请求。首先GSC获取每个业务处理节点中的vSPU列表,在接收到用户设备发送的地址请求之后,选择目标vSPU,并将目标vSPU的地址信息返回给用户设备。这样,用户设备根据目标vSPU的地址信息与目标设备直接进行通信,而不受限于GSC和vCTRL的性能,从而可以实现无限扩容,提高整个系统的处理性能。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图7,图7是本申请实施例提供的一种全局服务控制器GSC的结构示意图,该GSC可以包括接收模块701、处理模块702和发送模块703,其中,每个模块的详细描述如下。
接收模块701,用于接收至少一个业务处理节点中的第一业务处理节点中的vCTRL发送的vSPU列表,所述vSPU列表包括所述第一业务处理节点中的vSPU的地址信息;
发送模块703,用于向所述至少一个业务处理节点中第二业务处理节点中的vCTRL发送所述地址信息,所述地址信息用于指示所述第二业务处理节点中的vSPU选择所述第一业务处理节点中的vSPU进行通信。
可选的,处理模块702,用于监控所述每个业务处理节点的运行状态;
发送模块703,还用于当所述第一业务处理节点的所述运行状态为异常状态时,向所述第二业务处理节点中的vCTRL发送通知消息,所述通知消息用于指示所述第二业务处理节点中的vSPU不选择所述第一业务处理节点中的vSPU进行通信。
在另一种实施例中,接收模块701,用于接收至少一个业务处理节点中每个业务处理节点中的vCTRL发送的vSPU列表,所述vSPU列表包括所述每个业务处理节点中的vSPU的第一地址信息;处理模块702,用于从所述至少一个业务处理节点中的vSPU中选取目标vSPU;
发送模块703,用于向用户设备发送所述目标vSPU的所述第一地址信息,所述第一地址信息用于指示所述用户设备与所述目标vSPU进行通信。
可选的,处理模块702,还用于监控所述至少一个业务处理节点的运行状态;删除所述至少一个业务处理节点中所述运行状态为异常状态的业务处理节点中的vSPU列表,并从所述至少一个业务处理节点中的其他业务处理节点中的vSPU中选取所述目标vSPU。
可选的,接收模块701,还用于接收所述至少一个业务处理节点中每个业务处理节点中的vCTRL发送的所述每个业务处理节点中的每个vSPU的负载;处理模块702,还用于根据所述至少一个业务处理节点中每个vSPU的负载,从所述至少一个业务处理节点中的vSPU中选取所述目标vSPU。
可选的,处理模块702,还用于从所述至少一个业务处理节点中的vSPU中,选取所述负载最小的vSPU作为所述目标vSPU。
可选的,处理模块702,还用于获取所述用户设备所在的区域位置以及运营商信息中的至少一种;根据所述区域位置以及所述运营商信息中的至少一种,从所述至少一个业务处理节点中选取目标业务处理节点,所述目标业务处理节点为与所述用户设备属于同一运营商的业务处理节点、或到所述用户设备的服务质量最优的业务处理节点;
发送模块703,还用于向所述用户设备发送所述目标业务处理节点中的vCTRL的第二地址信息,所述第二地址信息用于指示所述用户设备向所述目标业务处理节点中的vCTRL请求vSPU进行通信。
需要说明的是,每个模块的实现还可以对应参照图5或图6所示的方法实施例的相应描述,执行上述实施例中GSC所执行的方法和功能。
请参见图8,图8是本申请实施例提供的一种节点控制器vCTRL的结构示意图,该vCTRL可以包括获取模块801、处理模块802、发送模块803和接收模块804,其中,每个模块的详细描述如下。
获取模块801,用于获取所述第一业务处理节点中的vSPU列表;
发送模块803,用于向GSC发送所述vSPU列表,所述vSPU列表包括所述第一业务处理节点中的vSPU的地址信息,所述地址信息用于所述GSC指示第二业务处理节点中的vSPU选择所述第一业务处理节点中的vSPU进行通信。
可选的,获取模块801,还用于获取所述第一业务处理节点中的vSPU的负载;
处理模块802,用于当所述第一业务处理节点中的vSPU的所述负载超过第一预设阈 值时,增加所述第一业务处理节点中的vSPU的数量。
可选的,获取模块801,还用于获取所述第一业务处理节点中的vSPU的负载;
处理模块802,用于当所述第一业务处理节点中的vSPU的所述负载低于第二预设阈值时,减少所述第一业务处理节点中的vSPU的数量。
可选的,获取模块801,还用于获取所述第一业务处理节点中的vSPU的运行状态;处理模块802,还用于当所述第一业务处理节点中的vSPU的所述运行状态处于异常状态时,对所述vSPU列表进行更新。
在另一种实施例中,获取模块801,用于获取业务处理节点中的vSPU的vSPU列表;发送模块803,用于向GSC发送所述vSPU列表,所述vSPU列表包括所述业务处理节点中的vSPU的第一地址信息,所述第一地址信息用于所述GSC指示用户设备选择所述业务处理节点中的vSPU进行通信。
可选的,获取模块801,还用于获取所述业务处理节点中的vSPU的负载;
处理模块802,用于当所述业务处理节点中的vSPU的所述负载超过第一预设阈值时,增加所述业务处理节点中的vSPU的数量。
可选的,获取模块801,还用于获取所述业务处理节点中的vSPU的负载;
处理模块802,用于当所述业务处理节点中的vSPU的所述负载低于第二预设阈值时,减少所述业务处理节点中的vSPU的数量。
可选的,获取模块801,还用于获取所述业务处理节点中的vSPU的运行状态;
处理模块802,还用于当所述业务处理节点中的vSPU的所述运行状态处于异常状态时,对所述vSPU列表进行更新。
可选的,接收模块804,用于接收所述用户设备发送的服务请求,所述服务请求由所述用设备接收到所述GSC发送的所述业务处理节点中的vCTRL的第二地址信息后发送,所述业务处理节点与所述用户设备属于同一运营商,或到所述用户设备的服务质量最优;
发送模块803,还用于向所述用户设备发送所述业务处理节点中的所述vSPU列表、或负载最小的vSPU的地址信息。
需要说明的是,每个模块的实现还可以对应参照图5或图6所示的方法实施例的相应描述,执行上述实施例中vCTRL所执行的方法和功能。
请继续参考图9,图9是本申请实施例提出的另一种全局服务控制器GSC的结构示意图。如图所示,该GSC可以包括:至少一个处理器901,至少一个通信接口902,至少一个存储器903和至少一个通信总线904。
其中,处理器901可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信总线904可以是外设部件互连标准PCI总线或扩展工业标准结构EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通 信总线904用于实现这些组件之间的连接通信。其中,本申请实施例中设备的通信接口902用于与其他节点设备进行信令或数据的通信。存储器903可以包括易失性存储器,例如非挥发性动态随机存取内存(nonvolatile random access memory,NVRAM)、相变化随机存取内存(phase change RAM,PRAM)、磁阻式随机存取内存(magetoresistive RAM,MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)、半导体器件,例如固态硬盘(solid state disk,SSD)等。存储器903可选的还可以是至少一个位于远离前述处理器901的存储装置。存储器903中存储一组程序代码,且处理器901执行存储器903中上述GSC所执行的程序。
通过通信接口902接收至少一个业务处理节点中的第一业务处理节点中的vCTRL发送的vSPU列表,所述vSPU列表包括所述第一业务处理节点中的vSPU的地址信息;
通过通信接口902向所述至少一个业务处理节点中第二业务处理节点中的vCTRL发送所述地址信息,所述地址信息用于指示所述第二业务处理节点中的vSPU选择所述第一业务处理节点中的vSPU进行通信。
可选的,处理器901还用于执行如下操作:
监控所述每个业务处理节点的运行状态;
当所述第一业务处理节点的所述运行状态为异常状态时,通过通信接口902向所述第二业务处理节点中的vCTRL发送通知消息,所述通知消息用于指示所述第二业务处理节点中的vSPU不选择所述第一业务处理节点中的vSPU进行通信。
可选的,处理器901还用于执行如下操作:
通过通信接口902接收至少一个业务处理节点中每个业务处理节点中的vCTRL发送的vSPU列表,所述vSPU列表包括所述每个业务处理节点中的vSPU的第一地址信息;
从所述至少一个业务处理节点中的vSPU中选取目标vSPU;
通过通信接口902向用户设备发送所述目标vSPU的所述第一地址信息,所述第一地址信息用于指示所述用户设备与所述目标vSPU进行通信。
可选的,处理器901还用于执行如下操作:
监控所述至少一个业务处理节点的运行状态;删除所述至少一个业务处理节点中所述运行状态为异常状态的业务处理节点中的vSPU列表,并从所述至少一个业务处理节点中的其他业务处理节点中的vSPU中选取所述目标vSPU。
可选的,处理器901还用于执行如下操作:
通过通信接口902接收所述至少一个业务处理节点中每个业务处理节点中的vCTRL发送的所述每个业务处理节点中的每个vSPU的负载;根据所述至少一个业务处理节点中每个vSPU的负载,从所述至少一个业务处理节点中的vSPU中选取所述目标vSPU。
可选的,处理器901还用于执行如下操作:
从所述至少一个业务处理节点中的vSPU中,选取所述负载最小的vSPU作为所述目标vSPU。
可选的,处理器901还用于执行如下操作:
获取所述用户设备所在的区域位置以及运营商信息中的至少一种;根据所述区域位置以及所述运营商信息中的至少一种,从所述至少一个业务处理节点中选取目标业务处理节点,所述目标业务处理节点为与所述用户设备属于同一运营商的业务处理节点、或到所述用户设备的服务质量最优的业务处理节点;
通过通信接口902向所述用户设备发送所述目标业务处理节点中的vCTRL的第二地址信息,所述第二地址信息用于指示所述用户设备向所述目标业务处理节点中的vCTRL请求vSPU进行通信。
进一步的,处理器还可以与存储器和通信接口相配合,执行上述申请实施例中上述GSC的操作。
请继续参考图10,图10是本申请实施例提出的另一种节点控制器vCTRL的结构示意图。如图所示,该节vCTRL可以包括:至少一个处理器1001,至少一个通信接口1002,至少一个存储器1003和至少一个通信总线1004。
其中,处理器1001可以是前文提及的各种类型的处理器。通信总线1004可以是外设部件互连标准PCI总线或扩展工业标准结构EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线1004用于实现这些组件之间的连接通信。其中,本申请实施例中设备的通信接口1002用于与其他节点设备进行信令或数据的通信。存储器1003可以是前文提及的各种类型的存储器。存储器1003可选的还可以是至少一个位于远离前述处理器1001的存储装置。存储器1003中存储一组程序代码,且处理器1001执行存储器1003中上述分布式单元所执行的程序。
获取所述第一业务处理节点中的vSPU列表;
通过通信接口1002向GSC发送所述vSPU列表,所述vSPU列表包括所述第一业务处理节点中的vSPU的地址信息,所述地址信息用于所述GSC指示第二业务处理节点中的vSPU选择所述第一业务处理节点中的vSPU进行通信。
可选的,处理器1001还用于执行如下操作:
获取所述第一业务处理节点中的vSPU的负载;
当所述第一业务处理节点中的vSPU的所述负载超过第一预设阈值时,增加所述第一业务处理节点中的vSPU的数量。
可选的,处理器1001还用于执行如下操作:
获取所述第一业务处理节点中的vSPU的负载;
当所述第一业务处理节点中的vSPU的所述负载低于第二预设阈值时,减少所述第一业务处理节点中的vSPU的数量。
可选的,处理器1001还用于执行如下操作:
获取所述第一业务处理节点中的vSPU的运行状态;
当所述第一业务处理节点中的vSPU的所述运行状态处于异常状态时,对所述vSPU列表进行更新。
可选的,处理器1001还用于执行如下操作:
获取业务处理节点中的vSPU的vSPU列表;
通过通信接口1002向GSC发送所述vSPU列表,所述vSPU列表包括所述业务处理节点中的vSPU的第一地址信息,所述第一地址信息用于所述GSC指示用户设备选择所述业务处理节点中的vSPU进行通信。
可选的,处理器1001还用于执行如下操作:
获取所述业务处理节点中的vSPU的负载;
当所述业务处理节点中的vSPU的所述负载超过第一预设阈值时,增加所述业务处理节点中的vSPU的数量。
可选的,处理器1001还用于执行如下操作:
获取所述业务处理节点中的vSPU的负载;
当所述业务处理节点中的vSPU的所述负载低于第二预设阈值时,减少所述业务处理节点中的vSPU的数量。
可选的,处理器1001还用于执行如下操作:
获取所述业务处理节点中的vSPU的运行状态;
当所述业务处理节点中的vSPU的所述运行状态处于异常状态时,对所述vSPU列表进行更新。
可选的,处理器1001还用于执行如下操作:
通过通信接口1002接收所述用户设备发送的服务请求,所述服务请求由所述用设备接收到所述GSC发送的所述业务处理节点中的vCTRL的第二地址信息后发送,所述业务处理节点与所述用户设备属于同一运营商,或到所述用户设备的服务质量最优;
通过通信接口1002向所述用户设备发送所述业务处理节点中的所述vSPU列表、或负载最小的vSPU的地址信息。
进一步的,处理器还可以与存储器和通信接口相配合,执行上述申请实施例中上述vCTRL的操作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

  1. 一种通信方法,其特征在于,所述方法应用于公有云系统,所述系统包括全局服务控制器GSC以及第一业务处理节点,所述第一业务处理节点包括第一节点控制器vCTRL以及多个第一虚拟业务处理单元vSPU,所述二业务处理节点包括第二vCTRL以及第二vSPU,其中:
    所述GSC接收第一vCTRL发送的第一vSPU列表,其中,所述第一vSPU列表包括所述多个第一vSPU的地址信息;
    向第二vCTRL发送所述多个vSPU的地址信息,其中,所述多个vSPU的地址信息用于供所述第二vSPU从多个vSPU的地址信息中选择第一目标vSPU的地址信息,并根据所述第一目标vSPU的地址信息与所述第一目标vSPU进行通信。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    从多个vSPU的地址信息中选择第二目标vSPU的地址信息;
    向终端设备发送所述第二目标vSPU的地址信息,其中,所述第二目标vSPU的地址信息用于指示所述终端设备与所述第二目标vSPU进行通信。
  3. 如权利要求2所述的方法,其特征在于,所述从多个vSPU的地址信息中选择第二目标vSPU的地址信息,包括:
    获取所述多个vSPU中的每个vSPU的负载信息;
    根据所述多个vSPU中的每个vSPU的负载信息,从多个vSPU的地址信息中选择第二目标vSPU的地址信息。
  4. 如权利要求2或3所述的方法,其特征在于,所述方法还包括:
    获取选择信息,其中,所述选择信息包括所述终端设备所在的区域位置以及运营商信息中的一种或者多种;
    根据所述选择信息选择第一业务处理节点作为目标业务处理节点,其中,所述第一业务处理节点为与所述终端设备属于同一运营商的业务处理节点,或者,所述第一业务节点为能够为所述终端设备的提供最优服务质量的业务处理节点;
    向所述终端设备发送所述第一vCTRL的地址信息,以指示所述终端设备向所述第一vCTRL请求所述第一目标vSPU进行通信。
  5. 如权利要求1至4任一权利要求所述的方法,其特征在于,所述方法还包括:
    监控所述第一业务处理节点的运行状态;
    在所述第一业务处理节点的运行状态为异常的情况下,删除所述第一vSPU列表。
  6. 如权利要求5所述的方法,其特征在于,所述方法还包括:
    在所述第一业务处理节点的运行状态为异常的情况下,向所述第二vCTRL发送第一通知消息,其中,所述第一通知消息用于指示所述第二vSPU停止选择所述第一业务处理节点中的vSPU进行通信。
  7. 一种通信方法,其特征在于,所述方法包括:所述方法应用于公有云系统,所述系统包括全局服务控制器GSC以及第一业务处理节点,所述第一业务处理节点包括第一节点控制器vCTRL以及多个第一虚拟业务处理单元vSPU,所述二业务处理节点包括第二 vCTRL以及第二vSPU,其中:
    第一vCTRL获取第一vSPU列表,其中,所述第一vSPU列表包括所述多个第一vSPU的地址信息;
    向GSC发送所述第一vSPU列表,其中,所述第一vSPU列表用于供所述GSC指示第二vSPU从多个vSPU的地址信息中选择第一目标vSPU的地址信息,并根据所述第一目标vSPU的地址信息与所述第一目标vSPU进行通信。
  8. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    获取所述多个第一vSPU的总负载;
    在所述多个第一vSPU的总负载超过第一预设阈值的情况下,增加所述第一业务处理节点中的第一vSPU的数量;
    在所述多个第一vSPU的总负载低于第二预设阈值的情况下,减少所述第一业务处理节点中的第一vSPU的数量。
  9. 如权利要求7或8所述的方法,其特征在于,所述方法还包括:
    获取所述多个第一vSPU的的运行状态;
    在所述多个第一vSPU中的任意第一vSPU的运行状态处于异常状态时,所述第一vCTRL对所述第一vSPU列表进行更新。
  10. 如权利要求7-9任一项所述的方法,其特征在于,所述方法还包括:
    接收终端设备发送的服务请求,其中,所述第一业务处理节点与所述用户设备属于同一运营商,或者,所述第一业务处理节点能够为所述终端设备提供最优的服务质量;
    向所述终端设备发送第二目标vSPU的地址信息,其中,所述第二目标vSPU属于所述多个第一vSPU。
  11. 一种全局服务控制器,其特征在于,公有云系统包括全局服务控制器GSC以及第一业务处理节点,所述第一业务处理节点包括第一节点控制器vCTRL以及多个第一虚拟业务处理单元vSPU,所述二业务处理节点包括第二vCTRL以及第二vSPU,其中:所述全局服务控制器包括:接收模块以及发送模块,
    所述接收模块用于接收第一vCTRL发送的第一vSPU列表,其中,所述第一vSPU列表包括所述多个第一vSPU的地址信息;
    所述发送模块用于向第二vCTRL发送所述多个vSPU的地址信息,其中,所述多个vSPU的地址信息用于供所述第二vSPU从多个vSPU的地址信息中选择第一目标vSPU的地址信息,并根据所述第一目标vSPU的地址信息与所述第一目标vSPU进行通信。
  12. 如权利要求11所述的控制器,其特征在于,所述全局服务控制器还包括处理模块,
    所述处理模块用于从多个vSPU的地址信息中选择第二目标vSPU的地址信息;
    所述发送模块用于向终端设备发送所述第二目标vSPU的地址信息,其中,所述第二目标vSPU的地址信息用于指示所述终端设备与所述第二目标vSPU进行通信。
  13. 如权利要求12所述的控制器,其特征在于,
    所述处理模块用于获取所述多个vSPU中的每个vSPU的负载信息;
    所述处理模块用于根据所述多个vSPU中的每个vSPU的负载信息,从多个vSPU的地 址信息中选择第二目标vSPU的地址信息。
  14. 如权利要求12或13所述的控制器,其特征在于,
    所述处理模块用于获取选择信息,其中,所述选择信息包括所述终端设备所在的区域位置以及运营商信息中的一种或者多种;
    所述处理模块用于根据所述选择信息选择第一业务处理节点作为目标业务处理节点,其中,所述第一业务处理节点为与所述终端设备属于同一运营商的业务处理节点,或者,所述第一业务节点为能够为所述终端设备的提供最优服务质量的业务处理节点;
    所述发送模块用于向所述终端设备发送所述第一vCTRL的地址信息,以指示所述终端设备向所述第一vCTRL请求所述第一目标vSPU进行通信。
  15. 一种业务处理节点,其特征在于,公有云系统包括全局服务控制器GSC以及第一业务处理节点,所述第一业务处理节点包括第一节点控制器vCTRL以及多个第一虚拟业务处理单元vSPU,所述二业务处理节点包括第二vCTRL以及第二vSPU,其中:所述第一业务处理节点包括:处理模块以及发送模块,
    所述处理模块用于获取第一vSPU列表,其中,所述第一vSPU列表包括所述多个第一vSPU的地址信息;
    所述发送模块用于向GSC发送所述第一vSPU列表,其中,所述第一vSPU列表用于供所述GSC指示第二vSPU从多个vSPU的地址信息中选择第一目标vSPU的地址信息,并根据所述第一目标vSPU的地址信息与所述第一目标vSPU进行通信。
  16. 如权利要求15所述的节点,其特征在于,
    所述处理模块用于获取所述多个第一vSPU的总负载;
    所述处理模块用于在所述多个第一vSPU的总负载超过第一预设阈值的情况下,增加所述第一业务处理节点中的第一vSPU的数量;
    所述处理模块用于在所述多个第一vSPU的总负载低于第二预设阈值的情况下,减少所述第一业务处理节点中的第一vSPU的数量。
  17. 如权利要求15-16所述的节点,其特征在于,所述第一业务处理节点还包括:接收模块,
    所述接收模块用于接收终端设备发送的服务请求,其中,所述第一业务处理节点与所述用户设备属于同一运营商,或者,所述第一业务处理节点能够为所述终端设备提供最优的服务质量;
    所述发送模块用于向所述终端设备发送第二目标vSPU的地址信息,其中,所述第二目标vSPU属于所述多个第一vSPU。
  18. 一种全局服务控制器GSC,其特征在于,包括:存储器、通信总线以及处理器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,用于执行权利要求1-6任一项所述的方法。
  19. 一种节点控制器vCTRL,其特征在于,包括:存储器、通信总线以及处理器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,用于执行权利要求7-10任一项所述的方法。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-10任一项所述的方法。
PCT/CN2019/103490 2018-09-26 2019-08-30 一种通信方法及相关设备 WO2020063251A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19865131.7A EP3843342A4 (en) 2018-09-26 2019-08-30 COMMUNICATION PROCESS, AND ASSOCIATED DEVICE
US17/212,398 US20210211381A1 (en) 2018-09-26 2021-03-25 Communication method and related device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811121019.6 2018-09-26
CN201811121019.6A CN110958182B (zh) 2018-09-26 2018-09-26 一种通信方法及相关设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/212,398 Continuation US20210211381A1 (en) 2018-09-26 2021-03-25 Communication method and related device

Publications (1)

Publication Number Publication Date
WO2020063251A1 true WO2020063251A1 (zh) 2020-04-02

Family

ID=69952770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/103490 WO2020063251A1 (zh) 2018-09-26 2019-08-30 一种通信方法及相关设备

Country Status (4)

Country Link
US (1) US20210211381A1 (zh)
EP (1) EP3843342A4 (zh)
CN (1) CN110958182B (zh)
WO (1) WO2020063251A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390328A (en) * 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
CN102131239A (zh) * 2010-10-27 2011-07-20 华为技术有限公司 业务处理单元和方法以及业务控制网关和负载均衡方法
CN103257683A (zh) * 2013-05-07 2013-08-21 华为技术有限公司 一种云计算业务伸缩的方法和装置
CN104184813A (zh) * 2014-08-20 2014-12-03 杭州华为数字技术有限公司 虚拟机的负载均衡方法和相关设备及集群系统
US20170161113A1 (en) * 2015-12-02 2017-06-08 At&T Mobility Ii Llc Sorting apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
US8433749B2 (en) * 2009-04-15 2013-04-30 Accenture Global Services Limited Method and system for client-side scaling of web server farm architectures in a cloud data center
US20150263900A1 (en) * 2014-03-11 2015-09-17 Schlumberger Technology Corporation High performance distributed computing environment particularly suited for reservoir modeling and simulation
RU2656815C1 (ru) * 2014-06-28 2018-06-06 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство балансировки сетевых ресурсов
US9462427B2 (en) * 2015-01-14 2016-10-04 Kodiak Networks, Inc. System and method for elastic scaling using a container-based platform
US20170142234A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Scalable addressing mechanism for virtual machines
US20170163761A1 (en) * 2015-12-07 2017-06-08 Le Holdings (Beijing) Co., Ltd. Method, device and system for obtaining live video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390328A (en) * 1992-03-30 1995-02-14 International Business Machines Corporation Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage
CN102131239A (zh) * 2010-10-27 2011-07-20 华为技术有限公司 业务处理单元和方法以及业务控制网关和负载均衡方法
CN103257683A (zh) * 2013-05-07 2013-08-21 华为技术有限公司 一种云计算业务伸缩的方法和装置
CN104184813A (zh) * 2014-08-20 2014-12-03 杭州华为数字技术有限公司 虚拟机的负载均衡方法和相关设备及集群系统
US20170161113A1 (en) * 2015-12-02 2017-06-08 At&T Mobility Ii Llc Sorting apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3843342A4

Also Published As

Publication number Publication date
EP3843342A4 (en) 2021-10-13
CN110958182B (zh) 2023-04-28
CN110958182A (zh) 2020-04-03
EP3843342A1 (en) 2021-06-30
US20210211381A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
WO2020253266A1 (zh) 一种提供边缘服务的方法、装置和设备
US10171567B2 (en) Load balancing computer device, system, and method
US11075948B2 (en) Method and system for virtual machine aware policy management
US8825867B2 (en) Two level packet distribution with stateless first level packet distribution to a group of servers and stateful second level packet distribution to a server within the group
CN111615066B (zh) 一种基于广播的分布式微服务注册及调用方法
US11570239B2 (en) Distributed resilient load-balancing for multipath transport protocols
WO2018090386A1 (zh) 一种nf组件异常的处理方法、设备及系统
US9621412B2 (en) Method for guaranteeing service continuity in a telecommunication network and system thereof
US10182033B1 (en) Integration of service scaling and service discovery systems
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
WO2020057445A1 (zh) 一种通信系统、方法及装置
JP2013090072A (ja) サービス提供システム
US11917001B2 (en) Efficient virtual IP address management for service clusters
US9760370B2 (en) Load balancing using predictable state partitioning
US10135916B1 (en) Integration of service scaling and external health checking systems
WO2023207189A1 (zh) 负载均衡方法及系统、计算机存储介质、电子设备
US10951732B2 (en) Service processing method and device
WO2020063251A1 (zh) 一种通信方法及相关设备
US11153195B1 (en) Packet processing service configuration change propagation management
US20200341968A1 (en) Differential Update of Local Cache from Central Database
US9019964B2 (en) Methods and systems for routing application traffic
CN115412530B (zh) 一种多集群场景下服务的域名解析方法及系统
US11474827B1 (en) Reboot migration between bare-metal servers
WO2021179556A1 (zh) 一种存储系统和请求处理方法以及交换机
JP5872669B2 (ja) サーバ装置群およびネットワークシステム

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: 19865131

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019865131

Country of ref document: EP

Effective date: 20210324