WO2024109056A1 - 流量调度方法、装置、设备集群及计算机可读存储介质 - Google Patents
流量调度方法、装置、设备集群及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2024109056A1 WO2024109056A1 PCT/CN2023/104095 CN2023104095W WO2024109056A1 WO 2024109056 A1 WO2024109056 A1 WO 2024109056A1 CN 2023104095 W CN2023104095 W CN 2023104095W WO 2024109056 A1 WO2024109056 A1 WO 2024109056A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- computing
- traffic
- node
- scheduling
- block
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Definitions
- the present application relates to the field of communication technology, and in particular to a traffic scheduling method, apparatus, device cluster, and computer-readable storage medium.
- a computing node is a platform for processing business data.
- Computing nodes can provide computing resources such as bandwidth, central processing unit (CPU) and memory to support various types of services.
- computing nodes are, for example, edge nodes close to business data sources, and the services supported by computing nodes are, for example, traffic services and computing services.
- traffic services are services that use the computing resources of computing nodes to process traffic scheduled to the computing nodes.
- Computing services are services that use the computing resources of computing nodes to run scheduled computing units such as containers and virtual machines. Before computing nodes process traffic services and computing services, they also need to schedule traffic or computing services to the computing nodes.
- the present application provides a traffic scheduling method, apparatus, device cluster and computer-readable storage medium to schedule traffic to computing nodes.
- the technical solution is as follows:
- a traffic scheduling method is provided, which is executed by a scheduling device providing cloud services, and the method includes: the scheduling device obtains the traffic to be scheduled, and divides the traffic into multiple traffic blocks; then, the scheduling device determines the computing requirements of each traffic block; and then, according to the computing requirements of each traffic block, schedules each traffic block to a target node corresponding to each traffic block, wherein the computing resources of the target node can be used to process the business of the traffic block corresponding to the target node, and the computing resources of the target node can also be used to process other businesses besides the traffic block, and the other businesses are also scheduled to the target node by the scheduling device.
- the scheduling device has general scheduling capabilities. Since the scheduling device can schedule both traffic and other services, the same scheduling device allocates the computing resources of the target node to traffic services and other services, which improves the rationality of computing resource allocation, avoids the waste and overload of computing resources of computing nodes, and improves the resource utilization of computing resources.
- obtaining the traffic to be scheduled includes: the scheduling device obtains the resource usage of each computing node among multiple computing nodes; when the resource usage of any computing node among the multiple computing nodes indicates that any computing node is abnormal, the traffic carried by any computing node is used as the traffic to be scheduled, and any computing node and the target node are different computing nodes.
- the traffic carried by any computing node with an abnormality is scheduled to other computing nodes, so as to realize traffic sharing of any computing node and release the computing resources occupied by the traffic on any computing node, so as to avoid damage to the business carried by any computing node due to overload of computing resources.
- the method for determining that any computing node is abnormal is not limited, and the flexibility is high.
- dividing the traffic into a plurality of traffic blocks includes: determining a reference number according to a resolution protocol corresponding to the traffic; and dividing the traffic in the same area into a reference number of traffic blocks. Determining the reference number according to the resolution protocol makes the traffic division process more accurate.
- determining the computing requirements of each of the plurality of traffic blocks includes: obtaining the node area requirements and computing resource requirements of each traffic block, and using the node area requirements and computing resource requirements as the computing requirements.
- the determined computing requirements not only limit the computing resources required by the traffic block, but also limit the area of the node to which the traffic block needs to be dispatched, and the obtained computing requirements have high accuracy.
- the node area requirements of each traffic block are obtained, including: constructing a regional label corresponding to each traffic block, wherein the regional label corresponding to the traffic block is used to indicate the area where the computing node corresponding to the traffic block is located; using the affinity relationship between each traffic block and the regional label corresponding to each traffic block as the node area requirement of each traffic block, and the affinity relationship is used to determine the area to which the traffic block needs to be scheduled.
- the node area requirements of the traffic block can be described by the regional label and the affinity relationship.
- the node area requirements are simple, and the operation of selecting the target node based on the simple node area requirements is simple and more convenient.
- the region tag includes at least one of a region tag and an operator tag.
- the present application does not limit the type and quantity of the region tag, and the region tag has high universality.
- the computing resource requirement includes at least one of bandwidth requirement, memory requirement and data processing unit requirement.
- the memory processing unit is, for example, a CPU.
- the computing resource requirement may include multiple data, which is highly flexible.
- each traffic block is scheduled to the target node corresponding to each traffic block according to the computing requirements of each traffic block, including: for any traffic block, according to the computing requirements of any traffic block, the schedulable computing nodes are screened to obtain the screened computing nodes, the resource usage of the screened computing nodes meets the computing resource requirements of any traffic block, and the area information of the screened computing nodes meets the node area requirements of any traffic block; a computing node is selected from the screened computing nodes as the target node corresponding to any traffic block; and any traffic block is scheduled to the target node corresponding to any traffic block.
- the target node selected from the screened computing nodes can meet the computing resource requirements and node area requirements of any traffic block, ensuring that after any traffic block is scheduled to the target node, the business of the any traffic block can be smoothly processed at the target node.
- the other services include at least one of a computing service and a storage service.
- the other services scheduled by the scheduling device are not limited, and have high versatility and a wide range of applications.
- the target node is an edge node.
- the target node for processing traffic services is an edge node close to the service data source, which shortens the distance between the target node and the service data source, shortens the transmission distance between the traffic on the service data source and the target node, reduces the transmission time of the traffic, and effectively improves the response speed and connection speed of the target node to the traffic.
- a traffic scheduling device which is applied to a scheduling device for providing cloud services, and the device includes: a division module, used to obtain the traffic to be scheduled and divide the traffic into multiple traffic blocks; a determination module, used to determine the computing requirements of each traffic block in the multiple traffic blocks; a scheduling module, used to schedule each traffic block to a target node corresponding to each traffic block according to the computing requirements of each traffic block, the computing resources of the target node are used to process the business of the traffic block corresponding to the target node, and the computing resources of the target node are also used to process other businesses scheduled by the scheduling device except the traffic block.
- a partitioning module is used to obtain resource usage of each computing node among multiple computing nodes; based on the resource usage of any computing node among the multiple computing nodes, an indication that any computing node has an abnormality, the traffic carried by any computing node is used as the traffic to be scheduled, and any computing node and the target node are different computing nodes.
- the determination module is also used to determine that an abnormality has occurred in any computing node based on at least one of the resource usage indication traffic size of any computing node exceeding a first threshold of any computing node, or the usage rate of a data processing unit of any computing node exceeding a second threshold of any computing node.
- the division module is used to determine a reference number according to a resolution protocol corresponding to the traffic; and divide the traffic in the same area into a reference number of traffic blocks.
- a determination module is used to obtain the node area requirements and computing resource requirements of each traffic block, and use the node area requirements and computing resource requirements as computing requirements.
- a determination module is used to construct a regional label corresponding to each traffic block, and the regional label corresponding to the traffic block is used to indicate the area where the computing node corresponding to the traffic block is located; the affinity relationship between each traffic block and the regional label corresponding to each traffic block is used as the node area requirement of each traffic block, and the affinity relationship is used to determine the area to which the traffic block needs to be scheduled.
- the area tag includes at least one of a region tag and an operator tag.
- the computing resource requirement includes at least one of a bandwidth requirement, a memory requirement, and a data processing unit requirement.
- the computing requirements of each traffic block include node area requirements and computing resource requirements.
- the scheduling module is used to screen the schedulable computing nodes for any traffic block according to the computing requirements of any traffic block to obtain the screened computing nodes, the resource usage of the screened computing nodes meets the computing resource requirements of any traffic block, and the area information of the screened computing nodes meets the node area requirements of any traffic block; select a computing node from the screened computing nodes as the target node corresponding to any traffic block; and schedule any traffic block to the target node corresponding to any traffic block.
- the other services include at least one of a computing service and a storage service.
- the target node is an edge node.
- a computing device cluster which includes at least one computing device, each computing device including a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes any one of the traffic scheduling methods of the first aspect above.
- a computer-readable storage medium comprising computer program instructions.
- the computing device cluster executes any one of the traffic scheduling methods of the first aspect.
- a computer program comprising instructions is provided.
- the computing device cluster executes any one of the traffic scheduling methods of the first aspect.
- a communication device comprising: a transceiver, a memory, and a processor.
- the transceiver, the memory, and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals, and when the processor executes the instructions stored in the memory, the processor executes the method in the first aspect or any possible implementation of the first aspect.
- processors there are one or more processors and one or more memories.
- the memory may be integrated with the processor, or the memory may be provided separately from the processor.
- the memory can be a non-transitory memory, such as a read-only memory (ROM), which can be integrated with the processor on the same chip or can be set on different chips.
- ROM read-only memory
- a chip comprising a processor for calling and executing instructions stored in a memory from the memory, so that a communication device equipped with the chip executes the methods in the above aspects.
- another chip comprising: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory.
- the processor is used to execute the methods in the above aspects.
- FIG1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
- FIG2 is a flow chart of a traffic scheduling method provided in an embodiment of the present application.
- FIG3 is a flow chart of another traffic scheduling method provided in an embodiment of the present application.
- FIG4 is a schematic diagram of the structure of a flow scheduling device provided in an embodiment of the present application.
- FIG5 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application.
- FIG. 6 is a connection diagram of a computing device provided in an embodiment of the present application.
- a computing node is a platform that uses computing resources such as bandwidth, CPU, and memory to process business data.
- computing resources such as bandwidth, CPU, and memory
- computing nodes are, for example, Internet data center (IDC) nodes in content delivery networks (CDN).
- IDC Internet data center
- CDN content delivery networks
- a computing node can not only provide the computing resources required for the business of processing traffic to realize the carrying of traffic business, but also provide the computing resources required for processing computing business. It can be seen that the computing resources of the same computing node need to be allocated to different businesses. In the scenario of multiple businesses, there may be conflicts and competition for computing resources, which may lead to the impairment of the online business quality of the computing node.
- the embodiment of the present application provides a traffic scheduling method for reasonably scheduling traffic to computing nodes to realize the reasonable allocation of computing resources of computing nodes.
- Figure 1 shows a schematic diagram of the implementation environment of the traffic scheduling method provided in the embodiment of the present application.
- the implementation environment is a computing device cluster 10, and the computing device cluster 10 includes at least one scheduling device for providing cloud services.
- the scheduling devices can be communicated and connected via a wired or wireless network.
- the traffic scheduling method can be independently executed by a scheduling device, or it can be interactively executed by multiple scheduling devices included in the computing device cluster 10.
- the embodiment of the present application does not limit the number of scheduling devices included in the computing device cluster 10.
- Figure 1 only takes two scheduling devices as an example for illustration.
- the computing device cluster 10 in Figure 1 can schedule traffic blocks to the target nodes corresponding to the traffic blocks, and can also schedule other services to the target nodes corresponding to other services. That is, the computing device cluster 10 performs a fusion scheduling of scheduling traffic services and other services.
- the scheduling device included in the computing device cluster 10 may be a server, such as a central server, an edge server, or a local server in a local data center.
- the server may be a physical server or a cloud server that provides cloud computing services.
- the scheduling device included in the computing device cluster 10 may also be a terminal device such as a desktop, a laptop, or a smart phone involved in the cloud service.
- An embodiment of the present application provides a traffic scheduling method, which can be applied to the implementation environment shown in FIG. 1 above.
- the method can be executed by a scheduling device included in the computing device cluster 10.
- the flowchart of the method is shown in FIG. 2, including S201-S203.
- the scheduling device obtains the traffic to be scheduled and divides the traffic into multiple traffic blocks.
- the traffic to be scheduled is generated according to the access request, and the traffic to be scheduled needs to be processed by the computing node. For example, a user from a certain area requests to access website A, and the scheduling device receives the traffic according to the user's access request.
- the scheduling device can receive the traffic generated according to the user access request and use the traffic generated according to the user access request as the traffic to be scheduled, or use the traffic allocated to other computing nodes as the traffic to be scheduled.
- the scheduling device obtains the resource usage of each computing node among the multiple computing nodes; based on the resource usage of any computing node among the multiple computing nodes indicating that any computing node is abnormal, the traffic carried by any computing node is used as the traffic to be scheduled, and any computing node and the target node are different computing nodes.
- the resource usage is used to describe the usage of computing resources on the computing node.
- the scheduling device can determine whether the computing node is abnormal. Based on the computing resources provided by a computing node, including bandwidth, memory, and data processing units, the scheduling device can also determine whether the computing node is abnormal according to the resource usage in the following two ways, including but not limited to.
- Determination method 1 based on the resource usage indication flow size of any computing node exceeding a first threshold of any computing node, it is determined that any computing node is abnormal.
- a communication connection is established between any computing node and a scheduling device, and the scheduling device can receive the size of the traffic carried by any computing node sent by any computing node based on the communication connection.
- the scheduling device counts the size of the traffic carried by any computing node, compares the size of the traffic with the first threshold of any computing node, and determines whether the traffic carried by any computing node exceeds the load capacity based on the comparison result. When the traffic size is greater than the first threshold, that is, when the traffic carried by any computing node exceeds the load capacity, it is determined that any computing node is abnormal.
- the first threshold is a numerical value of any size set based on experience, and the unit of the first threshold is consistent with the unit of traffic.
- the scheduling device will also refer to the maximum value of the traffic that can flow through the computing node when setting the first threshold, for example, taking the maximum traffic value as the first threshold to ensure full utilization of the computing resources of the computing node.
- the calculation result of multiplying the maximum traffic value by 90% is used as the first threshold, and the traffic is scheduled to other computing nodes when the traffic does not reach the carrying limit of the computing node. To ensure that the computing node can work normally during the scheduling device scheduling traffic, thereby avoiding damage to the traffic business of the computing node.
- the first thresholds corresponding to different computing nodes may be the same or different. The difference may be partial or completely different.
- Determination method two based on the resource usage of any computing node indicating that the usage rate of the data processing unit exceeds the second threshold of any computing unit, it is determined that any computing node is abnormal.
- the data processing unit can be a CPU, or it can be other units that support data processing and program running.
- the second threshold is also a numerical value of any size set based on experience. For example, the second threshold is set to 80% or 90%.
- the second thresholds corresponding to different computing nodes can be the same or different, and the embodiments of the present application do not limit this.
- the scheduling device receives the utilization rate of the data processing unit uploaded by any computing node, thereby obtaining the resource usage of any computing node, and compares the utilization rate of the data processing unit with the second threshold, thereby determining whether any computing node is abnormal.
- the scheduling device can use any of the above methods to determine whether any computing node is abnormal.
- the scheduling device can also use a combination of the above two methods to determine whether any computing node is abnormal. Methods are used to judge abnormalities. That is to say, for a computing node that provides multiple computing resources, each computing resource will have a corresponding threshold.
- the scheduling device compares the usage of each computing resource included in the resource usage with the size of the corresponding threshold of each computing resource to determine whether any computing node has an abnormality.
- the scheduling device includes a business perception module, which is used to perform the above-mentioned operation of obtaining resource usage and determining whether any computing node has an abnormality based on the resource usage.
- the scheduling device can also judge abnormal situations by counting the remaining amount of computing resources. For example, the remaining rate of the data processing unit is counted, and based on the remaining rate being less than or equal to the reference threshold set based on experience, it is determined that any computing node has an abnormality.
- the computing resources used to determine whether an abnormality has occurred may also be other computing resources including bandwidth in addition to the data processing unit and traffic shown in the above embodiments. Then, determining that any computing node has an abnormality may also be that the bandwidth usage rate of any computing node exceeds a third threshold set based on experience.
- any computing node is determined to be abnormal based on resource usage, it means that the business carried by any computing node exceeds the load capacity. Therefore, the scheduling device needs to promptly schedule the traffic carried by any computing node with an abnormality to other nodes to achieve the distribution of traffic services and the release of computing resources, thereby avoiding damage to the business carried by any computing node due to the workload of the computing node and ensuring that any computing node provides high-quality services.
- any computing node will carry multiple services, for example, the computing resources of any computing node will be used to support the operation of the computing units involved in the computing business in addition to supporting the traffic parsing involved in the traffic business.
- the scheduling device when releasing the computing resources of any computing node, the scheduling device will still choose to schedule the traffic carried by any computing node to other computing nodes. The reason is that the demand for computing resources of the computing business is fixed relative to the demand for computing services of the traffic business.
- the computing unit of the computing business as a container when allocating containers to each computing node, the occupation of computing resources by the container has been determined and is limited and controllable. For example, it is clearly known that a container needs to occupy 10 CPUs.
- the demand for computing resources of the traffic business will change over time. For example, during the evening peak from 20:00 to 22:00, the number of people watching videos and browsing websites will increase, and the resulting traffic will also increase.
- the traffic that a single computing node needs to carry will increase, resulting in a load on computing resources. Based on the fact that traffic is the main cause of abnormal computing nodes, adjusting the traffic carried on computing nodes can effectively solve the load of computing resources.
- the scheduling device After detecting an abnormality in any computing node, the scheduling device will extract the traffic carried by any computing node as the traffic to be scheduled. After that, the traffic to be scheduled will be standardized so that the processed traffic belongs to the same standardized business object as the computing unit, and then the same scheduling device can be used to complete traffic scheduling and scheduling of other businesses including computing business.
- standardized business objects refer to business objects that can be described using a unified description unit.
- the standardized traffic can use a unified description unit to describe the computing requirements
- the standardized computing unit can use a unified description unit to describe the computing capacity of the computing unit.
- the scheduling device determines the reference number according to the resolution protocol corresponding to the traffic; the traffic in the same area is divided into a reference number of traffic blocks.
- the scheduling device schedules the traffic to the computing node based on the resolution protocol.
- the scheduling device determines the internet protocol (IP) address corresponding to the access request based on the access request carried in the traffic, and combines various factors such as the resource usage of each computing node to determine the computing node to which the traffic needs to be scheduled.
- IP internet protocol
- the above-mentioned resolution protocol for resolving traffic is also the resolution protocol corresponding to the traffic to be scheduled.
- the resolution protocol is, for example, the domain name system (DNS) protocol, or other protocols.
- DNS domain name system
- each DNS packet can include at most N IP addresses, where N is a positive integer.
- the reference number is determined according to the resolution protocol, that is, the N corresponding to the resolution protocol is determined as the reference number. Since N reflects the maximum number of traffic blocks that the traffic can be divided into, N is used as a reference number, and the scheduling device divides the traffic to be scheduled into a reference number of traffic blocks, thereby achieving the finest granularity of the traffic to be scheduled, and effectively controlling the size of the traffic block to improve the scheduling efficiency of the subsequent scheduling of the traffic block.
- the division process can be an equal division. For example, the traffic size in the same area is 200 gigabytes (G), and N is 10, then the size of the 10 traffic blocks obtained is 20G.
- the divided traffic belongs to the same region, and the domain name requested by the traffic is also the same.
- the region to which the traffic belongs is determined by the region in which the user requests access.
- the region can be determined based on at least one of a province and an operator. For example, if a user from a certain region uses a certain operator to request access, the region of the traffic generated by the request for access is a certain region + a certain operator.
- Regions can be divided according to provinces. For example, Hebei belongs to one region and Anhui belongs to another region. Then Hebei + operator A belongs to one region and Anhui + operator A belongs to another region. Regions can also be divided and determined according to cities, regions and other geographical units. For example, Chaoyang District belongs to one region and Haidian District belongs to another region. Then Chaoyang District + operator A belongs to one region and Haidian District + operator A belongs to another region. Of course, regions can refer to domestic regions or foreign regions. The division of foreign regions is similar to that of domestic regions. It should also be noted that the above-mentioned determination of regions by region and operator is intended to illustrate the concept of regions, rather than to limit the division of regions. There are other ways to divide the regions where traffic is located.
- the reference time is the time set according to experience. For example, if the reference time is 5 minutes, it should be understood that the present application uses the reference time for description, which is intended to illustrate that the size of a single traffic block is stable in a short period of time, rather than to limit the stabilization time of a single traffic block. In some cases, the stabilization time of a single traffic block can be longer or shorter.
- the computing resources required by the computing node to process the traffic block are also stable.
- the resulting traffic blocks can be analogized to computing units such as pods and virtual machines (VMs).
- the scheduling of traffic blocks can be classified into the same category as computing service scheduling in terms of scenarios. This application can use the same scheduling device to perform scheduling of traffic blocks and scheduling of other services such as computing services.
- the scheduling device determines the computing requirements of each traffic block in a plurality of traffic blocks.
- the process by which the scheduling device determines the computing requirements of a traffic block includes but is not limited to: obtaining the node area requirements and computing resource requirements of each traffic block, and using the node area requirements and computing resource requirements as computing requirements.
- each traffic block will have a node area requirement for the computing node.
- the process by which the scheduling device determines the node area requirement includes but is not limited to: constructing an area label corresponding to each traffic block, the area label corresponding to the traffic block is used to indicate the area where the computing node corresponding to the traffic block is located; using the affinity relationship between each traffic block and the area label corresponding to each traffic block as the node area requirement of each traffic block, and the affinity relationship is used to determine the area to which the traffic block needs to be scheduled.
- the scheduling device constructs a regional label corresponding to the traffic block based on at least one of the network link restrictions or the traffic transmission restrictions.
- the regional label also includes at least one of the regional label and the operator label.
- traffic block A the constructed regional label is: regional label: Beijing; operator label: operator A.
- the regional label can also include a node name.
- the regional label constructed by traffic block A also includes: node name: computing node A.
- the regional label constructed by the scheduling device for the traffic block may be used to indicate the area to which the traffic block needs to be scheduled, or it may be used to indicate the area to which the traffic block cannot be scheduled.
- affinity indicates that the traffic block expects to be scheduled to the area indicated by this regional label.
- the service will have the requirement of provincial coverage, that is, the traffic in the province must be scheduled to the nodes in the province, and cannot be covered across operators.
- affinity relationship between the traffic block and the regional label is anti-affinity, it indicates that the traffic block does not expect to be scheduled to the area indicated by the regional label.
- the node name included in the node area requirement may also refer to the computing node to which the traffic block expects to be scheduled, that is, the affinity relationship between the node name and the traffic block may be affinity in addition to the anti-affinity in the above example.
- the scheduling device In addition to considering the restrictions of the traffic block on the area when scheduling the traffic block to the computing node, it is also necessary to consider the computing resources required to process the traffic block. Therefore, the scheduling device also needs to count the computing resource requirements of the traffic block. Corresponding to the computing resources including at least one of bandwidth, data processing unit and memory, the computing resource requirements include at least one of bandwidth requirements, memory requirements and data processing unit requirements. Still taking the traffic block as traffic block A and the data processing unit as CPU as an example, the computing resource requirements of traffic block A are: Bandwidth: 10G; CPU: 1 core. The scheduling device thus obtains the computing requirements including computing resource requirements and node area requirements.
- the scheduling device can use a unified description unit to describe the computing requirements of different traffic blocks, thereby achieving standardized processing of traffic blocks.
- the description unit of the traffic block is, for example, the region label, operator label, bandwidth, CPU, and traffic block size mentioned above.
- the scheduling device schedules each traffic block to the target node corresponding to each traffic block according to the computing requirements of each traffic block.
- the computing resources of the node are used to process the services of the traffic block corresponding to the target node.
- the computing resources of the target node are also used to process other services except the traffic block scheduled by the scheduling device.
- the resource usage of each computing node counted by the scheduling device will also be used to determine whether the computing node can handle the business of the traffic block. And when determining the target node corresponding to the traffic block, the scheduling device will not only obtain the regional information of each computing node based on the resource usage of each computing node, that is, the region where the computing node is located and which operator it belongs to, and then determine the target node based on the regional information of each computing node.
- the scheduling device filters the schedulable computing nodes according to the computing requirements of any traffic block to obtain the filtered computing nodes, the resource usage of the filtered computing nodes meets the computing resource requirements of any traffic block, and the area information of the filtered computing nodes meets the node area requirements of any traffic block; selects a computing node from the filtered computing nodes as the target node corresponding to any traffic block; and schedules any traffic block to the target node corresponding to any traffic block.
- the schedulable computing node refers to the computing node that can process business normally, and the computing resources on the schedulable computing node are running normally. For example, if the CPU on computing node B is running abnormally, computing node B is not a schedulable computing node.
- the scheduling device compares the node area requirements of any traffic block with the regional information of any computing node.
- the area where any computing node is located belongs to the area expected to be scheduled in the node area requirements
- the operator to which any computing node belongs belongs to the operator expected to be scheduled in the node area requirements
- the scheduling device will further compare whether any computing node is a computing node that is not expected to be scheduled based on the comparison of the area and operator of any computing node and the traffic block, and when any computing node is not a computing node that is not expected to be scheduled, it is determined that the regional information of any computing node meets the node area requirements of any traffic block.
- the scheduling device also standardizes the computing nodes.
- the regional label corresponding to the computing node it is clear that the computing node is located in at least one of the regions or operators to which it belongs.
- the regional label corresponding to the computing node is used as the regional information to describe the region to which the computing node belongs using a unified description unit.
- the comparison of the above node regional requirements and regional information can be achieved by matching the regional label corresponding to the traffic block with the regional label corresponding to the computing node.
- the scheduling device will also determine the remaining amount of computing resources of the computing node based on the resource usage, that is, the number of computing resources that the computing node can provide. Since the computing resource requirements of any traffic block indicate the number of computing resources required by any traffic block. By comparing the computing resource requirements of any traffic block with the resource usage of any computing node, when the number of computing resources that the computing node can provide indicated in the resource usage is not less than the number of required computing resources indicated in the computing resource requirements of any traffic block, it is determined that the resource usage of any computing node meets the computing resource requirements of any traffic block.
- Computing nodes are screened through the two dimensions of computing resources and regional information to ensure that the screened computing nodes meet the computing requirements of any traffic block. Afterwards, the scheduling device will select a computing node from the screened computing nodes as the target node corresponding to any traffic block. In the case where the number of screened computing nodes is one, the scheduling device directly uses the screened computing node as the target node corresponding to any traffic block. In the case where the number of screened computing nodes is multiple, the scheduling device can randomly select a computing node as the target node corresponding to any traffic block, or it can determine the computing node with the least computing resource usage as the target node corresponding to any traffic block based on the resource usage of each computing node. Of course, the scheduling device can also select the target node based on other principles, which is not limited in the embodiments of the present application.
- any traffic block can be scheduled to the target node corresponding to any traffic block.
- the process of the scheduling device scheduling any traffic block to the corresponding target node includes: determining the scheduling policy of the traffic block according to the target node corresponding to the traffic block; the scheduling device sends the scheduling policy of the traffic block to the downstream device, and the downstream device is used to implement the scheduling of the traffic block according to the scheduling policy.
- the scheduling policy of the traffic block is used to describe what the target node to which the traffic block will be scheduled is.
- the scheduling policy of traffic block A is to schedule traffic block A to computing node C.
- the downstream device is, for example, a DNS.
- dispatching traffic to the target node means that when the user subsequently requests access, he can directly request access to the target node, and the traffic generated by the access request is directly sent to the target node without being sent to the dispatching device.
- the dispatching policy sent by the dispatching device to the DNS will be translated into the form of: domain name + region + operator, and the dispatching policy will also request resolution to the IP address of the target node.
- the traffic dispatching process is that the DNS is responsible for resolving the dispatching policy, and resolving the access requests from users from different regions and different operators to the target node specified by the dispatching policy.
- the user can subsequently process the access request through the target node.
- the target node receives the access request of the user, and then uses the CPU to process the access request, and returns relevant data according to the user's access request.
- the target node parses the access request, and determines based on the analysis that the website requested by the user is website A. Since the website interface of website A is cached in the target node, the target node can directly return the website interface of website A to the user, thereby enabling the user to access website A.
- the relevant data returned to the user in addition to the website interface exemplified above, can also be picture data, music data or video data requested by the user.
- the above is an example of a business in which the target node calls computing resources to process traffic.
- the computing resources of the target node can be used to process the above-mentioned traffic block business, as well as other businesses other than traffic blocks.
- other businesses include at least one of computing business and storage business.
- other services processed by the target node are also scheduled to the target node by the scheduling device. That is, the scheduling device will also receive other services, determine the target nodes corresponding to the other services according to the scheduling requirements of the other services, and schedule the other services to the target nodes corresponding to the other services.
- the other services to be scheduled will be sent to the scheduling device through the request device of other services.
- the other services submitted by the request device to the scheduling device are the information of the computing units to be scheduled.
- the scheduling request for other services is based on service triggering. For example, a new computing service needs to be enabled, and the computing service requires 10 containers, each of which requires a 2-core CPU and 500 megabytes of memory.
- the request device submits the information of the computing units to be scheduled to the scheduling device, and the scheduling device receives the computing services to be scheduled.
- the request device will also send the information of the computing units to be configured to the scheduling device, and the scheduling device receives the computing services to be scheduled.
- other services sent by the requesting device to the scheduling device are also standardized, that is, the computing power of the computing service or the storage capacity of the storage service is described by a unified description unit.
- the computing unit of the computing service as an example, the standardized processing of the computing service is explained. Since the computing power of computing units of different models is different, some computing units may have strong computing power and some computing units may have weak computing power, so it is necessary to use a unified description unit to describe the computing unit. In addition, there may be differences in the computing power of computing units of the same model, and these differences may be caused by different usage times.
- the CPU of the computing unit will be worn out due to years of use, so the computing power that can be carried by new and old computing units of the same model is different. Based on this situation, it is also necessary to use description units to describe the different computing powers of computing units to achieve standardized processing of computing units.
- the scheduling device can determine the target nodes corresponding to other services according to the demand for computing resources of other services after receiving the other services to be scheduled, and then generate a scheduling strategy for indicating the target nodes corresponding to other services.
- the process of determining the target nodes corresponding to other services is similar to the process of determining the target nodes corresponding to the traffic blocks shown in the above embodiment. Please refer to the relevant description and will not be repeated here.
- the scheduling device sends the scheduling strategy of other services to the edge cloud platform and starts the deployment process of other services to complete the scheduling of other services to the target nodes corresponding to other services.
- the embodiments of the present application do not limit the deployment method of other services.
- the computing unit in the computing service can use an open source container orchestration engine (kubernetes, K8s) to achieve automatic deployment.
- multi-service scheduling by a scheduling system can greatly improve the reuse rate of computing resources between different services, and can also handle the burst of a single service in a timely manner, avoiding conflicts of computing resources between multiple services, and improving the service quality carried by the computing node.
- the traffic scheduling method of the present application can allow computing nodes to carry more services under the same computing resources, effectively reducing the cost of computing nodes carrying services.
- FIG3 is a flow chart of a traffic scheduling method provided by an embodiment of the present application, taking the scheduling device including a service perception module, a standardization module and a core scheduler as an example, illustrating the interaction process between a computing node, a scheduling device and a requesting device.
- the requesting device is used to process scheduling requests of other services, such as computing services.
- the computing node reports resource usage to the business perception module.
- a communication connection may be established between the computing node and the scheduling device via a wired or wireless network, and each computing node sends resource usage information to a service perception module included in the scheduling device based on the communication connection.
- the business perception module triggers a scheduling event according to resource usage.
- the scheduling device repeats the operation of S301, and performs abnormality detection on each computing node by receiving the resource usage reported by the computing node.
- the business perception module triggers a scheduling event. Triggering a scheduling event refers to starting to schedule the traffic carried on any computing node.
- the process of triggering a scheduling event based on resource usage is similar to the process of obtaining the traffic to be scheduled based on resource usage shown in the embodiment S201 shown in Figure 2 above, and the relevant description may be referred to, which will not be repeated here.
- the service perception module sends the traffic to be scheduled to the standardization module.
- the service perception module determines the traffic carried by any computing node detected to be abnormal in S302 as the traffic to be scheduled, extracts the traffic carried by any computing node, and sends it to the standardization module.
- the standardization module standardizes the traffic to be scheduled.
- Standardization of the traffic to be scheduled includes, but is not limited to, dividing the traffic into traffic blocks of stable size within a reference time, and determining the computing requirements of the traffic blocks.
- the process of standardizing the traffic to be scheduled by the standardization module is similar to the process of dividing the traffic to be scheduled and determining the computing requirements of the traffic blocks shown in the embodiment S201-S202 shown in Figure 2 above, and the relevant description may be referred to, which will not be repeated here.
- the traffic service is converted into a universal business model that can be recognized by K8s of the cloud native platform, and then the traffic and other services can be scheduled through the same scheduling device.
- the standardization module submits the standardized traffic block to the core scheduler, and the requesting device submits other services to the core scheduler.
- the standardized traffic block refers to the traffic to be scheduled after the standardized processing in S304, that is, the traffic block for which the computing demand is determined. Since the scheduling device can not only perform traffic scheduling, but also realize the scheduling of other services such as computing units. Therefore, the core scheduler will also receive other services to be scheduled sent by the requesting device to schedule other services to the computing node.
- the process of the requesting device submitting other services to the core scheduler is similar to the process of the requesting device submitting other services to the scheduling device in the embodiment S203 shown in Figure 2 above. Please refer to the relevant description and will not be repeated here.
- the core scheduler schedules the logic execution.
- the scheduling logic execution of the core scheduler includes the core scheduler scheduling standardized traffic blocks and scheduling other services.
- the process of the core scheduler scheduling standardized traffic blocks is similar to the process of the scheduling device scheduling traffic blocks in S203 shown in Figure 2 above, including determining the target node corresponding to the traffic block, and scheduling the traffic block to the corresponding target node.
- the process of the core scheduler scheduling other services is similar to the process of the scheduling device scheduling other services in S203 shown in Figure 2 above, including determining the target node corresponding to other services and scheduling other services to the corresponding target node. Please refer to the relevant description and will not repeat it here.
- the core scheduler feeds back the scheduling strategy to the computing node and the requesting device respectively.
- the scheduling strategy refers to the target node corresponding to the traffic block determined by the core scheduler or the target node corresponding to other services determined.
- the process of the core scheduler feeding back the scheduling strategy to the computing node is similar to the process of scheduling the traffic to the target node in the embodiment S203 shown in FIG. 2 above, and the relevant description may be referred to, which will not be repeated here.
- FIG. 4 is a structural schematic diagram of a traffic scheduling device provided by an embodiment of the present application. Based on the following multiple modules shown in Figure 4, the traffic scheduling device shown in Figure 4 can perform all or part of the operations shown in Figure 2 above. It should be understood that the device may include more additional modules than the modules shown or omit some of the modules shown therein, and the embodiment of the present application does not limit this. As shown in Figure 4, the device is applied to a scheduling device for providing cloud services, and the device includes:
- a division module 401 is used to obtain the traffic to be scheduled and divide the traffic into multiple traffic blocks;
- a determination module 402 configured to determine a computational requirement of each of a plurality of flow blocks
- the scheduling module 403 is used to schedule each traffic block to the target node corresponding to each traffic block according to the computing requirements of each traffic block.
- the computing resources of the target node are used to process the business of the traffic block corresponding to the target node.
- the computing resources of the target node are also used to process other businesses scheduled by the scheduling device except the traffic block.
- the partitioning module 401 is used to obtain resource usage of each computing node among the multiple computing nodes; Based on the resource usage of any computing node among the multiple computing nodes, indicating that any computing node is abnormal, the traffic carried by any computing node is used as the traffic to be scheduled, and any computing node and the target node are different computing nodes.
- the determination module 402 is also used to determine that an abnormality has occurred in any computing node based on at least one of the resource usage indications of any computing node, indicating that the traffic size exceeds a first threshold of any computing node, or the usage rate of a data processing unit of any computing node exceeds a second threshold of any computing node.
- the division module 401 is used to determine a reference number according to a resolution protocol corresponding to the traffic; and divide the traffic in the same area into a reference number of traffic blocks.
- the determination module 402 is used to obtain the node area requirements and computing resource requirements of each traffic block, and use the node area requirements and computing resource requirements as computing requirements.
- a determination module 402 is used to construct an area label corresponding to each traffic block, and the area label corresponding to the traffic block is used to indicate the area where the computing node corresponding to the traffic block is located; the affinity relationship between each traffic block and the area label corresponding to each traffic block is used as the node area requirement of each traffic block, and the affinity relationship is used to determine the area to which the traffic block needs to be scheduled.
- the regional tag includes at least one of a region tag and an operator tag.
- the computing resource requirement includes at least one of a bandwidth requirement, a memory requirement, and a data processing unit requirement.
- the computing requirements of each traffic block include node area requirements and computing resource requirements.
- the scheduling module 403 is used to screen the schedulable computing nodes for any traffic block according to the computing requirements of any traffic block to obtain the screened computing nodes, the resource usage of the screened computing nodes meets the computing resource requirements of any traffic block, and the area information of the screened computing nodes meets the node area requirements of any traffic block; select a computing node from the screened computing nodes as the target node corresponding to any traffic block; and schedule any traffic block to the target node corresponding to any traffic block.
- the other services include at least one of a computing service and a storage service.
- the target node is an edge node.
- the above device divides the traffic into multiple traffic blocks, and then determines the computing requirements of each traffic block, so that traffic scheduling and scheduling of other services can be completed by using one scheduling device, and the scheduling device has a general scheduling capability. Since the scheduling device can schedule both traffic and other services, the same scheduling device allocates the computing resources of the target node to traffic services and other services, which improves the rationality of the allocation of computing resources, avoids the waste and overload of computing resources of computing nodes, and improves the resource utilization of computing resources.
- the division module 401, the determination module 402 and the scheduling module 403 can all be implemented by software, or can be implemented by hardware. Exemplarily, the following takes the division module 401 as an example to introduce the implementation of the division module 401. Similarly, the implementation of the determination module 402 and the scheduling module 403 can refer to the implementation of the division module 401.
- the partition module 401 may include code running on a computing instance.
- the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more.
- the partition module 401 may include code running on multiple hosts/virtual machines/containers. It should be noted that the multiple hosts/virtual machines/containers used to run the code may be distributed in the same region (region) or in different regions.
- the multiple hosts/virtual machines/containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with close geographical locations. Among them, usually a region may include multiple AZs.
- VPC virtual private cloud
- multiple hosts/virtual machines/containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs.
- VPC virtual private cloud
- a VPC is set up in a region.
- a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
- the partition module 401 may include at least one computing device, such as a server, etc.
- the partition module 401 may also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
- ASIC application-specific integrated circuit
- PLD programmable logic device
- the PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
- CPLD complex programmable logical device
- FPGA field-programmable gate array
- GAL generic array logic
- the multiple computing devices included in the partition module 401 can be distributed in the same region or in different regions.
- the multiple computing devices included in the partition module 401 can be distributed in the same AZ or in different AZs.
- the multiple computing devices included in the partition module 401 can be distributed in the same VPC or in multiple VPCs. Any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
- the division module 401 can be used to execute any step in the traffic scheduling method
- the determination module 402 can be used to execute any step in the traffic scheduling method
- the scheduling module 403 can be used to execute any step in the traffic scheduling method.
- the steps that the division module 401, the determination module 402, and the scheduling module 403 are responsible for implementing can be specified as needed.
- the division module 401, the determination module 402, and the scheduling module 403 respectively implement different steps in the traffic scheduling method to realize all the functions of the traffic scheduling device.
- the present application also provides a computing device 500, which is optionally a scheduling device provided in an embodiment of the present application.
- the computing device 500 includes: a bus 502, a processor 504, a memory 506, and a communication interface 508.
- the processor 504, the memory 506, and the communication interface 508 communicate with each other via the bus 502.
- the computing device 500 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 500.
- the bus 502 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
- the bus may be divided into an address bus, a data bus, a control bus, etc.
- FIG. 5 is represented by only one line, but does not mean that there is only one bus or one type of bus.
- the bus 502 may include a path for transmitting information between various components of the computing device 500 (e.g., the memory 506, the processor 504, and the communication interface 508).
- Processor 504 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
- CPU central processing unit
- GPU graphics processing unit
- MP microprocessor
- DSP digital signal processor
- the memory 506 may include a volatile memory (volatile memory), such as a random access memory (RAM).
- volatile memory volatile memory
- RAM random access memory
- the processor 504 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
- ROM read-only memory
- HDD hard disk drive
- SSD solid state drive
- the memory 506 stores executable program codes, and the processor 504 executes the executable program codes to respectively implement the functions of the acquisition module, the determination module, and the grouping module, thereby implementing the traffic scheduling method. That is, the memory 506 stores instructions for executing the traffic scheduling method.
- the communication interface 508 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 500 and other devices or a communication network.
- a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 500 and other devices or a communication network.
- the embodiment of the present application also provides a computing device cluster.
- the computing device cluster includes at least one computing device.
- the computing device can be a server, such as a central server, an edge server, or a local server in a local data center.
- the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
- the structure of at least one computing device included in the computing device cluster may refer to the computing device 500 shown in Fig. 5.
- the memory 506 in one or more computing devices 500 in the computing device cluster may store the same instructions for executing the traffic scheduling method.
- the memory 506 of one or more computing devices 500 in the computing device cluster may also store some instructions for executing the traffic scheduling method.
- the combination of one or more computing devices 500 may jointly execute the instructions for executing the traffic scheduling method.
- the memory 506 in different computing devices 500 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the traffic scheduling device. That is, the instructions stored in the memory 506 in different computing devices 500 can implement the functions of one or more modules among the division module, the determination module and the scheduling module.
- one or more computing devices in a computing device cluster may be connected via a network.
- the network may be a wide area network or a local area network, etc.
- FIG. 6 shows a possible implementation.
- two computing devices 600A and 600B are connected via a network.
- the network is connected via a communication interface in each computing device.
- computing devices 600A and 600B include a bus 602, a processor 604, a memory 606, and a communication interface 608.
- Instructions for executing the functions of a partitioning module are stored in the memory 606 in the computing device 600A.
- instructions for executing the functions of a determination module and a scheduling module are stored in the memory 606 in the computing device 600B.
- connection method between the computing device clusters shown in Figure 6 can be considered to be that the traffic scheduling method provided in this application needs to schedule the traffic blocks obtained by dividing the traffic to the target nodes corresponding to the traffic blocks, so it is considered to hand over the functions implemented by the determination module and the scheduling module to the computing device 600B for execution.
- the functions of the computing device 600A shown in FIG6 may also be performed by multiple computing devices 600.
- the computing device 600B The functions may also be performed by multiple computing devices 600 .
- the embodiment of the present application also provides a communication device, which includes: a transceiver, a memory, and a processor.
- the transceiver, the memory, and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals, and when the processor executes the instructions stored in the memory, the processor executes the traffic scheduling method.
- the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- the general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the advanced RISC machines (ARM) architecture.
- the memory may include a read-only memory and a random access memory, and provide instructions and data to the processor.
- the memory may also include a non-volatile random access memory.
- the memory may also store information about the device type.
- the memory may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory.
- the nonvolatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
- the volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available.
- SRAM static RAM
- DRAM dynamic random access memory
- SDRAM synchronous DRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM synchronous link DRAM
- DR RAM direct rambus RAM
- the present application embodiment also provides a computer program (product) containing instructions.
- the computer program (product) may be a software or program product containing instructions that can be run on a computing device or stored in any available medium.
- the computer program (product) executes the traffic scheduling method provided in the present application embodiment.
- the embodiment of the present application also provides a computer-readable storage medium.
- the computer-readable storage medium can be any available medium that can be stored by the computing device or a data storage device such as a data center containing one or more available media.
- the available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk).
- the computer-readable storage medium includes instructions that instruct the computing device to execute the traffic scheduling method.
- An embodiment of the present application also provides a chip, including a processor, for calling and executing instructions stored in the memory from the memory, so that a communication device equipped with the chip executes the traffic scheduling method provided in the embodiment of the present application.
- An embodiment of the present application also provides another chip, including: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory.
- the processor is used to execute the traffic scheduling method provided in the embodiment of the present application.
- the computer program product includes one or more computer instructions.
- the computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
- the computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
- the computer instructions can be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center.
- the computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integration.
- the available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk Solid State Disk), etc.
- a magnetic medium e.g., a floppy disk, a hard disk, a tape
- an optical medium e.g., a DVD
- a semiconductor medium e.g., a solid-state hard disk Solid State Disk
- the computer program code for realizing the method for the embodiment of the present application can be written in one or more programming languages. These computer program codes can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable rule-finding device, so that the program code, when executed by a computer or other programmable rule-finding device, causes the function/operation specified in the flow chart and/or block diagram to be implemented.
- the program code can be executed completely on a computer, partially on a computer, as an independent software package, partially on a computer and partially on a remote computer or completely on a remote computer or server.
- computer program codes or related data may be carried by any appropriate carrier to enable a device, apparatus or processor to perform the various processes and operations described above.
- carriers include signals, computer readable media, etc.
- signals may include electrical, optical, radio, acoustic or other forms of propagation signals, such as carrier waves, infrared signals, etc.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or modules, or it can be an electrical, mechanical or other form of connection.
- modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
- each functional module in each embodiment of the present application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
- the above integrated modules can be implemented in the form of hardware or software functional modules.
- first, second, etc. are used to distinguish between identical or similar items with substantially the same effects and functions. It should be understood that there is no logical or temporal dependency between “first”, “second”, and “nth”, nor is the quantity and execution order limited. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of various examples, a first link may be referred to as a second link, and similarly, a second link may be referred to as a first link.
- the size of the serial number of each process does not mean the order of execution.
- the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
- determining B based on A does not mean determining B only based on A.
- B can also be determined based on A and/or other information.
- references to “one embodiment”, “an embodiment”, or “a possible implementation” throughout the specification mean that a particular feature, structure, or characteristic related to the embodiment or implementation is included in at least one embodiment of the present application.
- the appearance of "in one embodiment” or “in an embodiment” or “a possible implementation” does not necessarily refer to the same embodiment.
- these specific features, structures or characteristics can be combined in any suitable manner in one or more embodiments.
- the information including but not limited to user device information, user personal information, etc.
- data including but not limited to data used for analysis, stored data, displayed data, etc.
- signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the traffic to be scheduled involved in this application is obtained with full authorization.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (24)
- 一种流量调度方法,其特征在于,所述方法由提供云服务的调度设备执行,所述方法包括:所述调度设备获取待调度的流量,将所述流量划分成多个流量块;所述调度设备确定所述多个流量块中的各个流量块的计算需求;所述调度设备根据所述各个流量块的计算需求,将所述各个流量块调度到所述各个流量块对应的目标节点,所述目标节点的计算资源用于处理所述目标节点对应的流量块的业务,所述目标节点的计算资源还用于处理由所述调度设备调度的除所述流量块之外的其他业务。
- 根据权利要求1所述的方法,其特征在于,所述获取待调度的流量,包括:获取多个计算节点中的各个计算节点的资源使用情况;基于所述多个计算节点中存在任一计算节点的资源使用情况指示所述任一计算节点出现异常,将所述任一计算节点承载的流量作为所述待调度的流量,所述任一计算节点与所述目标节点为不同的计算节点。
- 根据权利要求2所述的方法,其特征在于,所述基于所述多个计算节点中存在任一计算节点的资源使用情况指示所述任一计算节点出现异常,将所述任一计算节点承载的流量作为所述待调度的流量之前,还包括:基于所述任一计算节点的资源使用情况指示流量大小超过所述任一计算节点的第一阈值,或所述任一计算节点的数据处理单元的使用率超过所述任一计算节点的第二阈值中的至少一种,确定所述任一计算节点出现异常。
- 根据权利要求1-3任一所述的方法,其特征在于,所述将所述流量划分成多个流量块,包括:根据所述流量对应的解析协议确定参考数量;将位于同一区域内的流量划分为参考数量个流量块。
- 根据权利要求1-4任一所述的方法,其特征在于,所述确定所述多个流量块中的各个流量块的计算需求,包括:获取所述各个流量块的节点区域要求与计算资源需求,将所述节点区域要求与所述计算资源需求作为所述计算需求。
- 根据权利要求5所述的方法,其特征在于,所述获取所述各个流量块的节点区域要求,包括:构建所述各个流量块对应的区域标签,所述流量块对应的区域标签用于指示所述流量块对应的计算节点位于的区域;将所述各个流量块与所述各个流量块对应的区域标签之间的亲和关系作为所述各个流量块的节点区域要求,所述亲和关系用于确定所述流量块需要调度到的区域。
- 根据权利要求6所述的方法,其特征在于,所述区域标签包括地区标签和运营商标签中的至少一种。
- 根据权利要求5-7任一所述的方法,其特征在于,所述计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。
- 根据权利要求1-8任一所述的方法,其特征在于,所述各个流量块的计算需求包括节点区域要求和计算资源需求,所述根据所述各个流量块的计算需求,将所述各个流量块调度到所述各个流量块对应的目标节点,包括:对于任一流量块,根据所述任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,所述筛选后的计算节点的资源使用情况满足所述任一流量块的计算资源需求,且所述筛选后的计算节点的 区域信息满足所述任一流量块的节点区域要求;从所述筛选后的计算节点中选择计算节点作为所述任一流量块对应的目标节点;将所述任一流量块调度到所述任一流量块对应的目标节点。
- 根据权利要求1-9任一所述的方法,其特征在于,所述其他业务包括计算业务和存储业务中的至少一种。
- 根据权利要求1-10任一所述的方法,其特征在于,所述目标节点属于边缘节点。
- 一种流量调度装置,其特征在于,所述装置应用于提供云服务的调度设备,所述装置包括:划分模块,用于获取待调度的流量,将所述流量划分成多个流量块;确定模块,用于确定所述多个流量块中的各个流量块的计算需求;调度模块,用于根据所述各个流量块的计算需求,将所述各个流量块调度到所述各个流量块对应的目标节点,所述目标节点的计算资源用于处理所述目标节点对应的流量块的业务,所述目标节点的计算资源还用于处理由所述调度设备调度的除所述流量块之外的其他业务。
- 根据权利要求12所述的装置,其特征在于,所述划分模块,用于获取多个计算节点中的各个计算节点的资源使用情况;基于所述多个计算节点中存在任一计算节点的资源使用情况指示所述任一计算节点出现异常,将所述任一计算节点承载的流量作为所述待调度的流量,所述任一计算节点与所述目标节点为不同的计算节点。
- 根据权利要求13所述的装置,其特征在于,所述确定模块,还用于基于所述任一计算节点的资源使用情况指示流量大小超过所述任一计算节点的第一阈值,或所述任一计算节点的数据处理单元的使用率超过所述任一计算节点的第二阈值中的至少一种,确定所述任一计算节点出现异常。
- 根据权利要求12-14任一所述的装置,其特征在于,所述划分模块,用于根据所述流量对应的解析协议确定参考数量;将位于同一区域内的流量划分为参考数量个流量块。
- 根据权利要求12-15任一所述的装置,其特征在于,所述确定模块,用于获取所述各个流量块的节点区域要求与计算资源需求,将所述节点区域要求与所述计算资源需求作为所述计算需求。
- 根据权利要求16所述的装置,其特征在于,所述确定模块,用于构建所述各个流量块对应的区域标签,所述流量块对应的区域标签用于指示所述流量块对应的计算节点位于的区域;将所述各个流量块与所述各个流量块对应的区域标签之间的亲和关系作为所述各个流量块的节点区域要求,所述亲和关系用于确定所述流量块需要调度到的区域。
- 根据权利要求17所述的装置,其特征在于,所述区域标签包括地区标签和运营商标签中的至少一种。
- 根据权利要求16-18任一所述的装置,其特征在于,所述计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。
- 根据权利要求12-19任一所述的装置,其特征在于,所述各个流量块的计算需求包括节点区域要求和计算资源需求,所述调度模块,用于对于任一流量块,根据所述任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,所述筛选后的计算节点的资源使用情况满足所述任一流量块的计算资源需求,且所述筛选后的计算节点的区域信息满足所述任一流量块的节点区域要求;从所述筛选后的计算节点中选择计算节点作为所述任一流量块对应的目标节点;将所述任一流量块调度到所述任一流量块对应的目标节点。
- 根据权利要求12-20任一所述的装置,其特征在于,所述其他业务包括计算业务和存储业务中的至少一种。
- 根据权利要求12-21任一所述的装置,其特征在于,所述目标节点属于边缘节点。
- 一种计算设备集群,其特征在于,所述计算设备集群包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1-11中任一所述的流量调度方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行权利要求1-11中任一所述的流量调度方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23893156.2A EP4614934A4 (en) | 2022-11-21 | 2023-06-29 | TRAFFIC PLANNING METHOD AND APPARATUS, DEVICE CLUSTER AND COMPUTER-READABLE STORAGE MECHANISM |
| US19/213,214 US20250286827A1 (en) | 2022-11-21 | 2025-05-20 | Traffic Scheduling Method and Apparatus, Device Cluster, and Computer-Readable Storage Medium |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211473367.6 | 2022-11-21 | ||
| CN202211473367 | 2022-11-21 | ||
| CN202310065248.5 | 2023-01-17 | ||
| CN202310065248.5A CN118101567A (zh) | 2022-11-21 | 2023-01-17 | 流量调度方法、装置、设备集群及计算机可读存储介质 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/213,214 Continuation US20250286827A1 (en) | 2022-11-21 | 2025-05-20 | Traffic Scheduling Method and Apparatus, Device Cluster, and Computer-Readable Storage Medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024109056A1 true WO2024109056A1 (zh) | 2024-05-30 |
Family
ID=91146785
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/104095 Ceased WO2024109056A1 (zh) | 2022-11-21 | 2023-06-29 | 流量调度方法、装置、设备集群及计算机可读存储介质 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250286827A1 (zh) |
| EP (1) | EP4614934A4 (zh) |
| CN (1) | CN118101567A (zh) |
| WO (1) | WO2024109056A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118860296B (zh) * | 2024-09-26 | 2025-01-17 | 深圳星云智联科技有限公司 | 流表项存储系统、设备以及集群 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110072437A1 (en) * | 2009-09-23 | 2011-03-24 | International Business Machines Corporation | Computer job scheduler with efficient node selection |
| CN107872402A (zh) * | 2017-11-15 | 2018-04-03 | 北京奇艺世纪科技有限公司 | 全局流量调度的方法、装置及电子设备 |
| CN111432247A (zh) * | 2020-03-19 | 2020-07-17 | 平安科技(深圳)有限公司 | 流量调度方法、装置、服务器及存储介质 |
| CN114710563A (zh) * | 2020-12-17 | 2022-07-05 | 华为技术有限公司 | 一种集群节能方法及装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115967712B (zh) * | 2021-05-12 | 2026-01-09 | 华为云计算技术有限公司 | 一种云平台的云服务部署方法及其相关设备 |
-
2023
- 2023-01-17 CN CN202310065248.5A patent/CN118101567A/zh active Pending
- 2023-06-29 EP EP23893156.2A patent/EP4614934A4/en active Pending
- 2023-06-29 WO PCT/CN2023/104095 patent/WO2024109056A1/zh not_active Ceased
-
2025
- 2025-05-20 US US19/213,214 patent/US20250286827A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110072437A1 (en) * | 2009-09-23 | 2011-03-24 | International Business Machines Corporation | Computer job scheduler with efficient node selection |
| CN107872402A (zh) * | 2017-11-15 | 2018-04-03 | 北京奇艺世纪科技有限公司 | 全局流量调度的方法、装置及电子设备 |
| CN111432247A (zh) * | 2020-03-19 | 2020-07-17 | 平安科技(深圳)有限公司 | 流量调度方法、装置、服务器及存储介质 |
| CN114710563A (zh) * | 2020-12-17 | 2022-07-05 | 华为技术有限公司 | 一种集群节能方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4614934A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4614934A1 (en) | 2025-09-10 |
| EP4614934A4 (en) | 2026-02-18 |
| CN118101567A (zh) | 2024-05-28 |
| US20250286827A1 (en) | 2025-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110896355B (zh) | 一种网络切片的选择方法及装置 | |
| US10848366B2 (en) | Network function management method, management unit, and system | |
| CN111163018B (zh) | 网络设备及其降低传输时延的方法 | |
| US11824787B2 (en) | Method and apparatus for node speed limiting, electronic device and storage medium | |
| WO2019128535A1 (zh) | 消息管理方法、设备及存储介质 | |
| CN117290083A (zh) | 资源调整方法、装置、计算设备集群及可读存储介质 | |
| CN107819797B (zh) | 访问请求处理方法和装置 | |
| CN111290696A (zh) | 一种应用程序组件的流控方法及装置 | |
| CN111538572B (zh) | 任务处理方法、装置、调度服务器及介质 | |
| WO2022193890A1 (zh) | 一种资源调度方法和装置 | |
| CN112714164A (zh) | 一种物联网系统及其任务调度方法 | |
| CN112583615A (zh) | Vnf实例化方法、nfvo、vim、vnfm及系统 | |
| CN111371578A (zh) | 部署虚拟化网络功能的方法和装置 | |
| WO2023103419A1 (zh) | 基于消息队列的5g消息批量发送方法、装置及电子设备 | |
| WO2022100365A1 (zh) | 人工智能应用任务的管理方法、系统、设备及存储介质 | |
| US20250286827A1 (en) | Traffic Scheduling Method and Apparatus, Device Cluster, and Computer-Readable Storage Medium | |
| CN115471170A (zh) | 基于多通道的数据处理方法、装置、设备及存储介质 | |
| CN113342551B (zh) | 消息订阅机制跨区服务消息推送方法 | |
| CN114079909B (zh) | 一种网络切片信息处理方法、装置及网络设备 | |
| CN116319810A (zh) | 分布式系统的流量控制方法、装置、设备、介质及产品 | |
| CN113055199A (zh) | 网关访问方法、装置及网关设备 | |
| CN115002046A (zh) | 报文处理方法、numa节点、电子设备及存储介质 | |
| CN116074784A (zh) | 车载数据传输方法、装置和存储介质 | |
| CN118316898A (zh) | 消息传输方法、装置 | |
| CN108632070B (zh) | 虚拟网络设备的配置方法及服务器 |
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: 23893156 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023893156 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2023893156 Country of ref document: EP Effective date: 20250606 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023893156 Country of ref document: EP |