WO2024109056A1 - 流量调度方法、装置、设备集群及计算机可读存储介质 - Google Patents

流量调度方法、装置、设备集群及计算机可读存储介质 Download PDF

Info

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
Application number
PCT/CN2023/104095
Other languages
English (en)
French (fr)
Inventor
任海
张�杰
郑奇峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to EP23893156.2A priority Critical patent/EP4614934A4/en
Publication of WO2024109056A1 publication Critical patent/WO2024109056A1/zh
Priority to US19/213,214 priority patent/US20250286827A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server 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

流量调度方法、装置、设备集群及计算机可读存储介质
本申请要求于2022年11月21日提交的申请号为202211473367.6、发明名称为“边缘云资源融合调度方法、装置、设备及可读存储介质”的中国专利申请的优先权,本申请要求于2023年01月17日提交的申请号为202310065248.5、发明名称为“流量调度方法、装置、设备集群及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及流量调度方法、装置、设备集群及计算机可读存储介质。
背景技术
计算节点是一种进行业务数据处理的平台。计算节点可以提供带宽、中央处理器(central processing unit,CPU)和内存等计算资源来支持多种类型的业务。其中,计算节点例如是靠近业务数据源的边缘节点,计算节点支持的业务例如是流量业务和计算业务等。其中,流量业务是利用计算节点的计算资源处理调度到该计算节点的流量的业务。计算业务是利用计算节点的计算资源运行调度的容器和虚拟机等计算单元的业务。而在计算节点处理流量业务和计算业务之前,还需要调度流量或计算业务到计算节点上。
发明内容
本申请提供了一种流量调度方法、装置、设备集群及计算机可读存储介质,以将流量调度到计算节点上,技术方案如下:
第一方面,提供了一种流量调度方法,该方法由提供云服务的调度设备执行,该方法包括:调度设备获取待调度的流量,并将流量划分成多个流量块;之后,调度设备确定各个流量块的计算需求;再根据各个流量块的计算需求,将各个流量块调度到各个流量块对应的目标节点,其中,目标节点的计算资源可以用于处理目标节点对应的流量块的业务,目标节点的计算资源还可以用于处理除流量块之外的其他业务,其他业务也是由调度设备调度到目标节点上。
将流量划分成多个流量块,再确定各个流量块的计算需求,从而可以利用一个调度设备完成流量调度和其他业务的调度,调度设备具有通用调度能力。由于调度设备既可以调度流量,又可以调度其他业务,由同一个调度设备分配目标节点的计算资源给流量业务和其他业务,提高了计算资源的分配合理性,避免了计算节点的计算资源的浪费和超负荷使用,提升计算资源的资源利用率。
在一种可能的实现方式中,获取待调度的流量,包括:调度设备获取多个计算节点中的各个计算节点的资源使用情况;当多个计算节点中存在任一计算节点的资源使用情况指示任一计算节点出现异常时,将任一计算节点承载的流量作为待调度的流量,任一计算节点与目标节点为不同的计算节点。将出现异常的任一计算节点上承载的流量调度到其他计算节点上,实现任一计算节点的流量分担,并释放了该任一计算节点上被流量占用的计算资源,避免因为计算资源超负荷导致任一计算节点承载的业务受损。
在一种可能的实现方式中,基于多个计算节点中存在任一计算节点的资源使用情况指示任一计算节点出现异常,将任一计算节点承载的流量作为待调度的流量之前,还包括:基于任一计算节点的资源使用情况指示流量大小超过任一计算节点的第一阈值,或任一计算节点的数据处理单元的使用率超过任一计算节点的第二阈值中的至少一种,确定任一计算节点出现异常。不限定确定任一计算节点出现异常的确定方式,灵活度高。
在一种可能的实现方式中,将流量划分成多个流量块,包括:根据流量对应的解析协议确定参考数量;将位于同一区域内的流量划分成参考数量个流量块。根据解析协议确定参考数量,使得流量的划分过程更精准。
在一种可能的实现方式中,确定多个流量块中的各个流量块的计算需求,包括:获取各个流量块的节点区域要求与计算资源需求,将节点区域要求与计算资源需求作为计算需求。确定的计算需求不光限定了流量块所需要的计算资源,还限定了流量块需要调度到的节点的区域,得到的计算需求精确度高。
在一种可能的实现方式中,获取各个流量块的节点区域要求,包括:构建各个流量块对应的区域标签,其中,流量块对应的区域标签用于指示流量块对应的计算节点位于的区域;将各个流量块与各个流量块对应的区域标签之间的亲和关系作为各个流量块的节点区域要求,亲和关系用于确定流量块需要调度到的区域。通过区域标签和亲和关系即可描述流量块的节点区域要求,节点区域要求简单,基于简单的节点区域要求选择目标节点时的操作简单,更便捷。
在一种可能的实现方式中,区域标签包括地区标签和运营商标签中的至少一种。本申请不限定区域标签的类型和数量,通用度高。
在一种可能的实现方式中,计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。其中,内存处理单元例如是CPU。计算资源需求中可以包括多种数据,灵活度高。
在一种可能的实现方式中,当各个流量块的计算需求包括节点区域要求和计算资源需求时,根据各个流量块的计算需求,将各个流量块调度到各个流量块对应的目标节点,包括:对于任一流量块,根据任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,筛选后的计算节点的资源使用情况满足任一流量块的计算资源需求,且筛选后的计算节点的区域信息满足任一流量块的节点区域要求;从筛选后的计算节点中选择计算节点作为任一流量块对应的目标节点;将任一流量块调度到任一流量块对应的目标节点。从筛选后的计算节点中选择的目标节点可以满足任一流量块的计算资源需求和节点区域要求,保证了任一流量块调度到目标节点后,该任一流量块的业务可以在目标节点顺利处理。
在一种可能的实现方式中,其他业务包括计算业务和存储业务中的至少一种。不限定调度设备调度的其他业务,通用度高,适用范围广。
在一种可能的实现方式中,目标节点属于边缘节点。用于处理流量业务的目标节点为靠近业务数据源的边缘节点,拉近了目标节点和业务数据源的距离,缩短了业务数据源上的流量到目标节点之间的传输距离,降低了流量的传输时间,有效提高目标节点对流量的响应速度和连接速度。
第二方面,提供了一种流量调度装置,该装置应用于提供云服务的调度设备,装置包括:划分模块,用于获取待调度的流量,将流量划分成多个流量块;确定模块,用于确定多个流量块中的各个流量块的计算需求;调度模块,用于根据各个流量块的计算需求,将各个流量块调度到各个流量块对应的目标节点,目标节点的计算资源用于处理目标节点对应的流量块的业务,目标节点的计算资源还用于处理由调度设备调度的除流量块之外的其他业务。
在一种可能的实现方式中,划分模块,用于获取多个计算节点中的各个计算节点的资源使用情况;基于多个计算节点中存在任一计算节点的资源使用情况指示任一计算节点出现异常,将任一计算节点承载的流量作为待调度的流量,任一计算节点与目标节点为不同的计算节点。
在一种可能的实现方式中,确定模块,还用于基于任一计算节点的资源使用情况指示流量大小超过任一计算节点的第一阈值,或任一计算节点的数据处理单元的使用率超过任一计算节点的第二阈值中的至少一种,确定任一计算节点出现异常。
在一种可能的实现方式中,划分模块,用于根据流量对应的解析协议确定参考数量;将位于同一区域内的流量划分为参考数量个流量块。
在一种可能的实现方式中,确定模块,用于获取各个流量块的节点区域要求与计算资源需求,将节点区域要求与计算资源需求作为计算需求。
在一种可能的实现方式中,确定模块,用于构建各个流量块对应的区域标签,流量块对应的区域标签用于指示流量块对应的计算节点位于的区域;将各个流量块与各个流量块对应的区域标签之间的亲和关系作为各个流量块的节点区域要求,亲和关系用于确定流量块需要调度到的区域。
在一种可能的实现方式中,区域标签包括地区标签和运营商标签中的至少一种。
在一种可能的实现方式中,计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。
在一种可能的实现方式中,各个流量块的计算需求包括节点区域要求和计算资源需求,调度模块,用于对于任一流量块,根据任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,筛选后的计算节点的资源使用情况满足任一流量块的计算资源需求,且筛选后的计算节点的区域信息满足任一流量块的节点区域要求;从筛选后的计算节点中选择计算节点作为任一流量块对应的目标节点;将任一流量块调度到任一流量块对应的目标节点。
在一种可能的实现方式中,其他业务包括计算业务和存储业务中的至少一种。
在一种可能的实现方式中,目标节点属于边缘节点。
第三方面,提供了一种计算设备集群,该计算设备集群包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行上述第一方面中任一种的流量调度方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行上述第一方面中任一种的流量调度方法。
第五方面,提供了一种包含指令的计算机程序(产品),当该指令被计算设备集群运行时,使得计算设备集群执行上述第一方面任一种的流量调度方法。
第六方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
第七方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有该芯片的通信设备执行上述各方面中的方法。
第八方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述各方面中的方法。
应当理解的是,本申请的第二方面至第八方面的技术方案及对应的可能的实现方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实现方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种实施环境的示意图;
图2为本申请实施例提供的一种流量调度方法的流程图;
图3为本申请实施例提供的另一种流量调度方法的流程图;
图4为本申请实施例提供的一种流量调度装置的结构示意图;
图5为本申请实施例提供的一种计算设备的结构示意图;
图6为本申请实施例提供的一种计算设备的连接示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
计算节点是一种利用带宽、CPU和内存等计算资源来进行业务数据处理的平台。随着通信技术的发展,提供云服务的计算节点的构建也日趋成熟,越来越多的业务基于计算节点实现服务,计算节点上承载的业务也开始向多元化演进。其中,计算节点例如是内容分发网络(content delivery network,CDN)中存在的互联网数据中心(internet data center,IDC)节点。当计算节点配置在靠近业务数据源时,该计算节点也可以被称为边缘节点。
在一种可能的情况下,一个计算节点不光可以提供处理流量的业务所需要的计算资源,以实现流量业务的承载,还可以提供处理计算业务所需要的计算资源。由此可知,同一个计算节点的计算资源需要被分配给不同业务,在多元业务的场景下,可能存在计算资源冲突和争抢,进而导致该计算节点的线上业务质量受损。本申请实施例提供了一种流量调度方法,用于将流量合理调度到计算节点上,以实现计算节点的计算资源的合理分配。
请参考图1,其示出了本申请实施例提供的流量调度方法的实施环境示意图。该实施环境为计算设备集群10,计算设备集群10包括至少一台用于提供云服务的调度设备,调度设备之间可通过有线或无线网络的方式进行通信连接。可选地,流量调度方法可以由一台调度设备独立执行,也可由计算设备集群10中包括的多台调度设备交互执行,本申请实施例不限定计算设备集群10包括的调度设备的数量,图1中仅以两台调度设备为例进行举例说明。此外,图1中的计算设备集群10除了可以用于执行本申请实施例提供的流量调度方法,将流量块调度到流量块对应的目标节点上,还可以将其他业务调度到其他业务对应的目标节点上。也即计算设备集群10执行的是一种调度流量业务和其他业务的融合调度。
示例性地,计算设备集群10包括的调度设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。服务器可以是物理服务器,还可以是提供云计算服务的云服务器。在一些实施例中,计算设备集群10包括的调度设备也可以是云服务中涉及到的台式机、笔记本电脑或者智能手机等终端设备。
本申请实施例提供一种流量调度方法,该流量调度方法可应用于上述图1所示的实施环境,该方法可由计算设备集群10中包括的调度设备执行,该方法的流程图如图2所示,包括S201-S203。
S201,调度设备获取待调度的流量,将流量划分成多个流量块。
示例性地,待调度的流量根据访问请求产生,且待调度的流量需要借助计算节点进行处理。例如,来自某个区域的用户请求访问网站A,调度设备根据用户的访问请求接收到流量。
上述为对待调度的流量的一个举例说明,调度设备可以接收根据用户访问请求产生的流量,将根据用户访问请求产生的流量作为待调度的流量,也可以将被分配到其他计算节点的流量作为待调度的流量。可选地,调度设备获取多个计算节点中的各个计算节点的资源使用情况;基于多个计算节点中存在任一计算节点的资源使用情况指示任一计算节点出现异常,将任一计算节点承载的流量作为待调度的流量,任一计算节点与目标节点为不同的计算节点。
其中,资源使用情况用于说明该计算节点上的计算资源的使用量,通过计算资源的使用量,调度设备可以确定该计算节点是否出现异常。基于一个计算节点提供的计算资源包括带宽、内存和数据处理单元等多种,调度设备也可以通过包括但不限于如下两种方式根据资源使用情况确定计算节点是否异常。
确定方式一、基于任一计算节点的资源使用情况指示流量大小超过任一计算节点的第一阈值,确定任一计算节点出现异常。
由于单个计算节点的带宽有限,而带宽又决定了该计算节点可以流通的流量最大值。因此,一个计算节点能承载的流量也是有限的,需要对计算节点承载的流量进行控制。可选地,任一计算节点与调度设备之间建立通信连接,调度设备可基于通信连接接收由任一计算节点发送的任一计算节点上承载的流量大小。调度设备统计任一计算节点承载的流量大小,将流量大小与任一计算节点的第一阈值进行比较,并根据比较结果确定该任一计算节点上承载的流量是否超过负荷能力。在流量大小大于第一阈值,也即任一计算节点承载的流量超过负荷能力时,确定该任一计算节点出现异常。
其中,第一阈值为基于经验设置的任意大小的数值,第一阈值的单位与流量的单位保持一致。在一种可能的情况下,调度设备在设置第一阈值时还会参考该计算节点可以流通的流量最大值,例如将流量最大值作为第一阈值,以保证计算节点的计算资源的充分利用。或者,将流量最大值乘以90%的计算结果作为第一阈值,在流量未达到计算节点的承载上限时就将流量调度到其他计算节点上。以保证调度设备在调度流量期间,该计算节点可以正常工作,从而避免该计算节点的流量业务受损。此外,不同的计算节点对应的第一阈值可以相同,也可以不同。不同可以是部分不同,或者是完全不同。
确定方式二、基于任一计算节点的资源使用情况指示数据处理单元的使用率超过任一计算单元的第二阈值,确定任一计算节点出现异常。
其中,数据处理单元可以是CPU,还可以是其他支持数据处理和程序运行的单元。与第一阈值类似,第二阈值也为基于经验设置的任意大小的数值。例如,设置第二阈值为80%或者90%。同样地,不同的计算节点对应的第二阈值可以相同,也可以不同,本申请实施例对此不进行限定。调度设备接收任一计算节点上传的数据处理单元的使用率,由此获得任一计算节点的资源使用情况,并将数据处理单元的使用率与第二阈值进行大小比较,进而确定任一计算节点是否出现异常。
调度设备可以选择上述任一种方法确定任一计算节点是否出现异常,调度设备还可以选择结合上述两 种方法进行异常的判断。也就是说,对于一个计算节点提供多种计算资源的情况,每一种计算资源都会存在对应的阈值。调度设备比较资源使用情况包括的各个计算资源的使用量与各个计算资源对应阈值的大小,确定任一计算节点是否出现异常。可选地,调度设备包括业务感知模块,用于执行上述获取资源使用情况,根据资源使用情况确定任一计算节点是否出现异常的操作。
除了上述举例的根据计算资源的使用量进行异常情况的判断,调度设备还可以统计计算资源的剩余量进行异常情况的判断。例如,统计数据处理单元的剩余率,基于剩余率小于或等于根据经验设置的参考阈值,确定任一计算节点出现异常。并且,用于确定是否出现异常的计算资源除了上述实施例示出的数据处理单元和流量,还可以是包括带宽在内的其他计算资源。则确定任一计算节点出现异常也可以是任一计算节点的带宽使用率超过基于经验设置的第三阈值。
可以理解,根据资源使用情况确定任一计算节点出现异常,是指该任一计算节点承载的业务超过负荷能力。因此,调度设备需要将出现异常的任一计算节点承载的流量及时调度到其他节点上,实现流量业务的分摊,计算资源的释放,进而避免由于计算节点的工作负荷导致该任一计算节点的承载的业务受损,保证任一计算节点提供高质量业务。
此外,虽然任一计算节点上会承载多种业务,例如任一计算节点的计算资源除了用于支持流量业务中涉及的流量解析,还会用于支持计算业务涉及到的计算单元的运行。但调度设备在释放该任一计算节点的计算资源时,还是会选择调度任一计算节点承载的流量到其他计算节点上。其原因是由于计算业务对计算资源的需求相对流量业务对计算业务的需求是固定的。以计算业务的计算单元为容器为例,在给每个计算节点分配容器时,容器对计算资源的占用已经确定,属于有限可控的,比如明确知道一个容器需要占用10个CPU。而流量业务对计算资源的需求会随着时间存在变化。例如,在20:00-22:00晚高峰,观看视频和浏览网站的人数会增多,由此产生的流量也会增多,单个计算节点需要承载的流量增多,从而造成计算资源的负荷。基于流量为导致计算节点出现异常的主要原因,调整计算节点上承载的流量可以有效解决计算资源的负荷。
基于上述原理,调度设备会在检测出任一计算节点出现异常后,将任一计算节点承载的流量提取出来,作为待调度的流量。之后开始对待调度的流量进行标准化处理,使得处理后的流量属于和计算单元一样的标准化业务对象,进而可以利用同一个调度设备完成流量调度和包括计算业务在内的其他业务的调度。其中,标准化业务对象是指可以采用统一的描述单位对该业务对象进行描述。例如标准化后的流量可以采用统一描述单位描述计算需求,标准化后的计算单元可以采用统一描述单位描述该计算单元的计算能力。
以上为调度设备需要对流量进行标准化处理的原因,接下来开始介绍调度设备对流量进行标准化处理的过程。示例性地,调度设备根据流量对应的解析协议确定参考数量;将位于同一区域内的流量划分为参考数量个流量块。在一种可能的实现方式中,调度设备调度流量到计算节点是基于解析协议进行。调度设备根据该流量中携带的访问请求,利用解析协议确定访问请求对应的网际互联协议(internet protocol,IP)地址,联合各个计算节点的资源使用情况等多种因素确定流量需要调度到的计算节点。而上述用于解析流量的解析协议也就是该待调度的流量对应的解析协议,解析协议例如是域名系统(domain name system,DNS)协议,也可以是其他协议。
在利用解析协议确定访问情况对应的IP地址时,由于运营商本地(Local)DNS的限制,每个DNS包内最多可以包括N个IP地址,N为正整数。此种情况下,根据解析协议确定参考数量,也就是将解析协议对应的N确定为参考数量。由于N反应了最多可以将流量划分成多少个流量块,将N作为参考数量,调度设备再将待调度的流量划分为参考数量个流量块,实现待调度的流量的最细粒度的划分,有效控制了流量块的大小,以提高后续调度流量块的调度效率。示例性地,划分过程可以是均分,例如,同一区域内的流量大小为200吉字节(gigabyte,G),N为10,那么得到的10个流量块的大小均为20G。
在一种可能的情况下,被划分的流量属于同一区域,且该流量请求访问的域名也相同。流量属于的区域根据用户在请求访问时的区域决定。区域可以是根据省份和运营商中的至少一种确定,例如来自某地区的用户采用某运营商进行请求访问,则请求访问产生的流量位于的区域为某地区+某运营商。
地区可以根据省份划分,例如河北属于一个地区,安徽属于另一个地区,则河北+运营商A属于一个区域,安徽+运营商A属于另一个区域。地区也可以是根据城市、地区等地域划分单位和确定。例如,朝阳区属于一个地区,海淀区属于另一个地区,则朝阳区+运营商A属于一个区域,海淀区+运营商A属于另一个区域。当然,区域可以指国内的区域,也可以指国外的区域,国外区域的划分与国内区域的划分类 似,可参考相关描述,暂不再赘述。还需要注意的是,上述通过地区和运营商确定区域旨在举例说明区域的概念,而非用于限定区域的划分方式,流量位于的区域还可以有其他更多的划分方式。
由于流量本身具备粘滞性,也即某个区域中请求访问某个域名的流量不会在短时间内大量突增。而切分流量时的参考数量也是恒定的,所以可以认为在参考时间内划分某个区域中请求某个域名的流量得到的流量块的大小是不变的,或者说流量块的大小变化幅度不会超过基于经验设置的误差阈值。其中,参考时间为根据经验设置的时间,如参考时间为5分钟,应理解,本申请采用参考时间进行描述,旨在说明单个流量块在短时间内大小是稳定的,而非用于限定单个流量块的稳定时间,在一些情况下,单个流量块的稳定时间可以为更长或更短的时间。
由于流量块的大小在参考时间内稳定,计算节点处理该流量块所需要的计算资源也是稳定的。也就是说,将流量切分为块后,得到的流量块可以类比为网荚(pod),虚拟机(virtual machine,VM)等计算单元。对流量块的调度,在场景上就可以和计算业务调度等归为一类,本申请可以采用同一个调度设备执行流量块的调度和计算业务等其他业务的调度。
S202,调度设备确定多个流量块中的各个流量块的计算需求。
调度设备确定流量块的计算需求的过程包括但不限于:获取各个流量块的节点区域要求与计算资源需求,将节点区域要求与计算资源需求作为计算需求。在一种可能的实现方式中,基于网络链路限制或者流量传输限制,各个流量块会对计算节点存在一个节点区域要求。而调度设备确定节点区域要求的过程包括但不限于:构建各个流量块对应的区域标签,流量块对应的区域标签用于指示流量块对应的计算节点位于的区域;将各个流量块与各个流量块对应的区域标签之间的亲和关系作为各个流量块的节点区域要求,亲和关系用于确定流量块需要调度到的区域。
在一种可能的实现方式中,调度设备根据网络链路限制或流量传输限制中的至少一种,构建流量块对应的区域标签。针对区域是根据地区和运营商中的至少一种确定的情况,区域标签也包括地区标签和运营商标签中的至少一种。以流量块A为例,构建的区域标签为:地区标签:北京;运营商标签:运营商A。当然,区域标签还可以包括节点名,例如,除了上述两个举例,流量块A构建的区域标签还包括:节点名:计算节点A。
调度设备为流量块构建的区域标签,可能是用于指示流量块需要调度到的区域,也可以是用于指示流量块不能调度到的区域。也就是说,流量块和区域标签之间是具有一种亲和关系。当流量块与该区域标签之间的亲和关系为亲和性时,则指示该流量块期望调度到此种区域标签指示的区域。继续以上述流量块A对应的区域标签为例,在流量调度过程中,业务都会有本省覆盖的要求,即本省的流量要调度到本省的节点上去,且不能跨运营商覆盖。这种本省覆盖的调度要求可以通过亲和性表述,得到的表达结果为,亲和性:地区标签==北京;亲和性:运营商标签==运营商A。
而当流量块与该区域标签之间的亲和关系为反亲和性时,则指示该流量块不期望调度到该区域标签指示的区域。仍以上述流量块A对应的区域标签为例,计算节点A为原本承载流量块A的计算节点,由于调度设备是需要将流量块A调度到除计算节点A之外的目标节点,因此,流量块A不期望调度到计算节点A。此种调度需求通过亲和性表述为:反亲和性:节点名!=计算节点A。当然,节点区域要求中包括的节点名,还可以是指流量块期望调度到的计算节点,也即节点名和流量块之间的亲和关系除了上述举例的反亲和性,也可以为亲和性。
之后,调度设备可以将上述通过亲和关系表述的结果作为流量块的节点区域要求。也即,调度设备获取的流量块A的节点区域要求为:亲和性:地区标签==北京;亲和性:运营商标签==运营商A;反亲和性:节点名!=计算节点A。
由于调度流量块到计算节点除了需要考虑该流量块对区域的限制,还需要考虑处理该流量块所需要的计算资源。因此,调度设备还需要统计该流量块的计算资源需求。与计算资源包括带宽、数据处理单元和内存中的至少一种相对应,计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。仍以流量块为流量块A,数据处理单元为CPU为例,流量块A的计算资源需求为:带宽:10G;CPU:1核。调度设备由此得到包括计算资源需求和节点区域要求的计算需求。
通过上述操作,调度设备可以采用统一的描述单位去描述不同的流量块的计算需求,实现了流量块的标准化处理。流量块的描述单位例如是上述举例的地区标签、运营商标签、带宽、CPU和流量块大小等。
S203,调度设备根据各个流量块的计算需求,将各个流量块调度到各个流量块对应的目标节点,目标 节点的计算资源用于处理目标节点对应的流量块的业务,目标节点的计算资源还用于处理由调度设备调度的除流量块之外的其他业务。
在一种可能的情况下,调度设备统计的各个计算节点的资源使用情况,还会用于判断该计算节点是否可以处理流量块的业务。并且调度设备在确定流量块对应的目标节点时,除了根据各个计算节点的资源使用情况,还会获取各个计算节点的区域信息,也即该计算节点位于哪个地区,属于哪个运营商,再根据各个计算节点的区域信息进行目标节点的确定。
由于根据计算节点的区域信息和资源使用情况,调度不同的流量块到对应的目标节点的过程类似,接下来暂以调度任一流量块到任一流量块对应的目标节点为例进行举例说明,关于其他流量块的调度过程,可参考相关描述,此处不再赘述。
示例性地,调度设备根据任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,筛选后的计算节点的资源使用情况满足任一流量块的计算资源需求,且筛选后的计算节点的区域信息满足任一流量块的节点区域要求;从筛选后的计算节点中选择计算节点作为任一流量块对应的目标节点;将任一流量块调度到任一流量块对应的目标节点。
其中,可调度的计算节点是指可以正常进行业务处理的计算节点,可调度的计算节点上的计算资源运行正常。例如,计算节点B上的CPU运行异常,则计算节点B就不属于可调度的计算节点。
调度设备比较任一流量块的节点区域要求和任一计算节点的区域信息,当该任一计算节点位于的地区属于节点区域要求中期望调度到的地区,且任一计算节点属于的运营商,属于节点区域要求中期望调度到的运营商,确定任一计算节点的区域信息满足任一流量块的节点区域要求。当然,如果该流量块的节点区域要求中还明确该流量块不期望调度到的计算节点,调度设备还会在比较任一计算节点和流量块的地区和运营商的基础上,进一步比较任一计算节点是否是不期望调度到的计算节点,并在该任一计算节点不是不期望调度到的计算节点时,确定任一计算节点的区域信息满足任一流量块的节点区域要求。
在一种可能的实现方式中,调度设备也会对计算节点进行标准化处理。通过构建计算节点对应的区域标签,明确该计算节点位于的地区或属于的运营商中的至少一种。将计算节点对应的区域标签作为区域信息,实现采用统一描述单位对计算节点所属区域进行描述。此种情况下,上述节点区域要求和区域信息的比较可以通过匹配流量块对应的区域标签和计算节点对应的区域标签实现。
此外,调度设备还会根据资源使用情况确定计算节点的计算资源剩余量,也即该计算节点能提供的计算资源的数量。由于任一流量块的计算资源需求指示了任一流量块需要的计算资源的数量。通过比较任一流量块的计算资源需求和任一计算节点的资源使用情况,当资源使用情况中指示的该计算节点能提供的计算资源的数量,不小于任一流量块的计算资源需求中指示的所需要的计算资源的数量,则确定任一计算节点的资源使用情况满足任一流量块的计算资源需求。
通过计算资源和区域信息这两个维度进行计算节点的筛选,保证筛选后的计算节点符合任一流量块的计算需求。之后,调度设备会从筛选后的计算节点中选择计算节点作为任一流量块对应的目标节点。针对筛选后的计算节点的数量为一个的情况,调度设备直接将筛选后的计算节点作为该任一流量块对应的目标节点。针对筛选后的计算节点的数量为多个的情况,调度设备可以随机选择一个计算节点作为任一流量块对应的目标节点,也可以根据各个计算节点的资源使用情况,将计算资源使用最少的计算节点确定为任一流量块对应的目标节点。当然,调度设备还可以基于其他原则进行目标节点的选择,本申请实施例不进行限定。
无论调度设备基于何种方式确定任一流量块对应的目标节点,均可以将任一流量块调度到任一流量块对应的目标节点。可选地,调度设备将任一流量块调度到对应的目标节点的过程包括:根据流量块对应的目标节点确定该流量块的调度策略;调度设备向下游设备发送流量块的调度策略,下游设备用于根据调度策略实现流量块的调度。其中,流量块的调度策略用于描述该流量块会被调度到的目标节点是什么。例如流量块A的调度策略为流量块A调度到计算节点C。下游设备例如是DNS。
此外,将流量调度到目标节点是指用户后续请求访问时,可以直接向目标节点请求访问,根据访问请求产生的流量直接发往目标节点,而不用再发往调度设备。并且,在将用户的访问请求作为流量的情况下,调度设备下发到DNS的调度策略会被转义为:域名+区域+运营商的形式,且该调度策略还会请求解析到目标节点的IP地址。此种情况下,流量调度过程为DNS负责解析调度策略,将来自不同区域不同运营商的用户的访问请求解析到调度策略指定的目标节点上。
基于此,用户后续可以通过目标节点进行访问请求的处理。目标节点接收该用户的访问请求,再利用CPU进行访问请求的处理,根据用户的访问请求返回相关数据。例如,目标节点解析访问请求,基于解析确定用户请求的网站为网站A。由于目标节点中缓存了网站A的网站界面,目标节点可以直接将网站A的网站界面返回给用户,用户由此实现对网站A的访问。其中,返回给用户的相关数据除了上述举例的网站界面,还可以是用户请求的图片数据、音乐数据或者视频数据等。上述为目标节点调用计算资源处理流量的业务的举例,基于一个计算节点可以支持多种业务,目标节点的计算资源除了用于处理上述流量块的业务,还可以处理除流量块之外的其他业务。可选地,其他业务包括计算业务和存储业务中的至少一种。
示例性地,目标节点处理的其他业务也是由调度设备调度到目标节点上。也就是说,调度设备还会接收其他业务,根据其他业务的调度需求确定其他业务对应的目标节点,将其他业务调度到其他业务对应的目标节点上。
在其他业务存在调度需求的情况下,会通过其他业务的请求设备向调度设备发送待调度的其他业务。以待调度的其他业务为计算业务为例,则请求设备向调度设备提交的其他业务就是待调度的计算单元的信息。在一种可能的实现方式中,其他业务的调度请求是基于业务触发。例如,需要启用新的计算业务,该计算业务需要10个容器,每个容器需要2核CPU,500兆的内存。请求设备将上述待调度的计算单元的信息提交给调度设备,调度设备由此接收到待调度的计算业务。或者,基于计算节点上的计算单元的数量不满足计算需求,还需要在计算节点上配置新的计算单元,每个计算单元需要占用200兆的内存,请求设备也会向调度设备发送需要配置的计算单元的信息,调度设备由此接收到待调度的计算业务。
在一种可能的实现方式中,请求设备发送给调度设备的其他业务也是经过标准化处理的,也即用统一的描述单位描述了计算业务的计算能力或存储业务的存储能力。以计算业务的计算单元为例,对标准化处理计算业务进行解释说明。由于不同型号的计算单元的计算能力存在区别,可能有的计算单元的计算能力强,有的计算单元的计算能力弱,所以需要采用统一的描述单位去描述计算单元。此外,对于同样型号的计算单元的计算能力也可能存在区别,这些区别可能是使用时长不同导致。例如,计算单元的CPU在使用过程中,会因为年限产生损耗,所以同一型号的新旧计算单元,能承载的计算能力不同。基于此种情况,也需要利用描述单位,描述计算单元的不同计算能力,实现对计算单元进行标准化处理。
无论调度设备接收到的其他业务为何种情况,调度设备均可在接收到待调度的其他业务后,根据其他业务对计算资源的需求,确定其他业务对应的目标节点,进而生成用于指示其他业务对应的目标节点的调度策略。其中,确定其他业务对应的目标节点的过程与上述实施例示出的确定流量块对应的目标节点的过程类似,可参考相关描述,此处不再赘述。之后,调度设备将其他业务的调度策略下发至边缘云平台,启动其他业务的部署流程,以完成将其他业务调度至其他业务对应的目标节点。本申请实施例不限定其他业务的部署方式,例如,计算业务中的计算单元可以采用一个开源的容器编排引擎(kubernetes,K8s)实现自动化部署。
综上所述,本申请实施例提供的流量调度方法,将流量划分成在参考时间内大小稳定的流量块,实现通过一个调度设备完成流量调度和其他业务的调度,调度设备具有通用调度能力。由于调度设备既可以调度流量,又可以调度其他业务,由同一个调度设备分配目标节点的计算资源给流量业务和其他业务,调度设备可全面掌握各类业务使用计算资源的情况,提高了计算资源的分配合理性,避免了计算节点的计算资源的浪费和超负荷使用,提升计算资源的资源利用率,降低了资源成本。
并且,由一个调度系统进行多业务调度,可极大的提升不同业务之间的计算资源复用率,也能及时的处理单个业务的突发,避免多业务之间的计算资源的冲突,提升了计算节点承载的业务质量。本申请的流量调度方法可以让计算节点在同样的计算资源下承载更多的业务,有效降低计算节点承载业务的成本。
图3为本申请实施例提供的一种流量调度方法的流程图,以调度设备包括业务感知模块、标准化模块和核心调度器为例,示出了计算节点、调度设备和请求设备之间的交互过程。其中,请求设备用于处理其他业务的调度请求,其他业务例如是计算业务。
S301,计算节点向业务感知模块上报资源使用情况。
可选地,计算节点和调度设备之间可通过有线或无线网络的方式建立通信连接,各个计算节点基于通信连接向调度设备包括的业务感知模块发送资源使用情况。
S302,业务感知模块根据资源使用情况触发调度事件。
在资源使用情况指示不存在计算节点出现异常的情况下,调度设备重复S301的操作,通过接收计算节点上报的资源使用情况,进行各个计算节点的异常检测。示例性地,在资源使用情况指示任一计算节点出现异常的情况下,业务感知模块由此触发调度事件。触发调度事件是指开始调度任一计算节点上承载的流量。在一种可能的实现方式中,根据资源使用情况触发调度事件的过程与上述图2所示的实施例S201中示出的根据资源使用情况获取待调度的流量的过程类似,可参考相关描述,此处不再赘述。
S303,在调度事件触发后,业务感知模块向标准化模块发送待调度的流量。
示例性地,业务感知模块将在S302中检测出的出现异常的任一计算节点上承载的流量确定为待调度的流量,并将该任一计算节点上承载的流量提取出来,向标准化模块发送。
S304,标准化模块标准化待调度的流量。
对待调度的流量的标准化处理包括但不限于将流量切分成参考时间内大小稳定的流量块,以及确定流量块的计算需求。在一种可能的情况下,标准化模块标准化待调度的流量的过程与上述图2所示的实施例S201-S202中示出的切分待调度的流量和确定流量块的计算需求的过程类似,可参考相关描述,此处不再赘述。通过对流量进行标准化处理,使得流量业务转换为云原生平台的K8s可识别的通用业务模型,进而可以通过同一个调度设备调度流量和其他业务。
S305,标准化模块向核心调度器提交标准化流量块,请求设备向核心调度器提交其他业务。
示例性地,标准化流量块是指S304中进行标准化处理后的待调度的流量,也就是确定了计算需求的流量块。由于调度设备不光可以进行流量调度,还可以实现计算单元等其他业务的调度。因此,核心调度器还会接收请求设备发送的待调度的其他业务,以将其他业务调度到计算节点上。关于请求设备向核心调度器提交其他业务的过程与上述图2所示的实施例S203中请求设备向调度设备提交其他业务的过程类似,可参考相关描述,此处不再赘述。
S306,核心调度器调度逻辑执行。
示例性地,核心调度器调度逻辑执行包括核心调度器调度标准化流量块和调度其他业务。可选地,核心调度器调度标准化流量块的过程与上述图2所示的S203中调度设备调度流量块的过程类似,包括确定流量块对应的目标节点,和调度流量块到对应的目标节点。核心调度器调度其他业务的过程与上述图2所示的S203中调度设备调度其他业务的过程类似,包括确定其他业务对应的目标节点和调度其他业务到对应的目标节点的过程,均可参考相关描述,此处不再赘述。
此外,针对核心调度器需要确定流量块对应的目标节点和其他业务对应的目标节点的情况,核心调度器可以选择同步执行目标节点的确定,也可以选择异步执行。异步执行的过程可以是先完成流量块对应的目标节点的确定,再进行其他业务对应的目标节点的确定。异步执行的过程还可以是先完成其他业务对应的目标节点的确定,再进行流量块对应的目标节点的确定,或者是穿插执行流量块对应的目标节点的确定和其他业务对应的目标节点的确定。
S307,核心调度器分别向计算节点和请求设备反馈调度策略。
示例性地,调度策略是指核心调度器确定的流量块对应的目标节点或者确定的其他业务对应的目标节点。核心调度器向计算节点反馈调度策略的过程与上述图2所示的实施例S203中将流量调度到目标节点的过程类似,可参考相关描述,此处不再赘述。
以上介绍了本申请实施例的流量调度方法,与上述方法对应,本申请实施例还提供了流量调度装置。图4是本申请实施例提供的一种流量调度装置的结构示意图。基于图4所示的如下多个模块,该图4所示的流量调度装置能够执行上述图2所示的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图4所示,该装置应用于提供云服务的调度设备,装置包括:
划分模块401,用于获取待调度的流量,将流量划分成多个流量块;
确定模块402,用于确定多个流量块中的各个流量块的计算需求;
调度模块403,用于根据各个流量块的计算需求,将各个流量块调度到各个流量块对应的目标节点,目标节点的计算资源用于处理目标节点对应的流量块的业务,目标节点的计算资源还用于处理由调度设备调度的除流量块之外的其他业务。
在一种可能的实现方式中,划分模块401,用于获取多个计算节点中的各个计算节点的资源使用情况; 基于多个计算节点中存在任一计算节点的资源使用情况指示任一计算节点出现异常,将任一计算节点承载的流量作为待调度的流量,任一计算节点与目标节点为不同的计算节点。
在一种可能的实现方式中,确定模块402,还用于基于任一计算节点的资源使用情况指示流量大小超过任一计算节点的第一阈值,或任一计算节点的数据处理单元的使用率超过任一计算节点的第二阈值中的至少一种,确定任一计算节点出现异常。
在一种可能的实现方式中,划分模块401,用于根据流量对应的解析协议确定参考数量;将位于同一区域内的流量划分为参考数量个流量块。
在一种可能的实现方式中,确定模块402,用于获取各个流量块的节点区域要求与计算资源需求,将节点区域要求与计算资源需求作为计算需求。
在一种可能的实现方式中,确定模块402,用于构建各个流量块对应的区域标签,流量块对应的区域标签用于指示流量块对应的计算节点位于的区域;将各个流量块与各个流量块对应的区域标签之间的亲和关系作为各个流量块的节点区域要求,亲和关系用于确定流量块需要调度到的区域。
在一种可能的实现方式中,区域标签包括地区标签和运营商标签中的至少一种。
在一种可能的实现方式中,计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。
在一种可能的实现方式中,各个流量块的计算需求包括节点区域要求和计算资源需求,调度模块403,用于对于任一流量块,根据任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,筛选后的计算节点的资源使用情况满足任一流量块的计算资源需求,且筛选后的计算节点的区域信息满足任一流量块的节点区域要求;从筛选后的计算节点中选择计算节点作为任一流量块对应的目标节点;将任一流量块调度到任一流量块对应的目标节点。
在一种可能的实现方式中,其他业务包括计算业务和存储业务中的至少一种。
在一种可能的实现方式中,目标节点属于边缘节点。
上述装置将流量划分成多个流量块,再确定各个流量块的计算需求,从而可以利用一个调度设备完成流量调度和其他业务的调度,调度设备具有通用调度能力。由于调度设备既可以调度流量,又可以调度其他业务,由同一个调度设备分配目标节点的计算资源给流量业务和其他业务,提高了计算资源的分配合理性,避免了计算节点的计算资源的浪费和超负荷使用,提升计算资源的资源利用率。
其中,划分模块401、确定模块402和调度模块403均可以通过软件实现,或者可以通过硬件实现。示例性地,接下来以划分模块401为例,介绍划分模块401的实现方式。类似的,确定模块402和调度模块403的实现方式可以参考划分模块401的实现方式。
模块作为软件功能单元的一种举例,划分模块401可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,划分模块401可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,划分模块401可以包括至少一个计算设备,如服务器等。或者,划分模块401也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
划分模块401包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。划分模块401包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,划分模块401包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,多个计算设备可以是 服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,划分模块401可以用于执行流量调度方法中的任意步骤,确定模块402可以用于执行流量调度方法中的任意步骤,调度模块403可以用于执行流量调度方法中的任意步骤,划分模块401、确定模块402、以及调度模块403负责实现的步骤可根据需要指定,通过划分模块401、确定模块402、以及调度模块403分别实现流量调度方法中不同的步骤来实现流量调度装置的全部功能。
本申请还提供一种计算设备500,可选地,该计算设备500为本申请实施例提供的调度设备。如图5所示,计算设备500包括:总线502、处理器504、存储器506和通信接口508。处理器504、存储器506和通信接口508之间通过总线502通信。计算设备500可以是服务器或终端设备。应理解,本申请不限定计算设备500中的处理器、存储器的个数。
总线502可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线502可包括在计算设备500各个部件(例如,存储器506、处理器504、通信接口508)之间传送信息的通路。
处理器504可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器506可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器504还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。
存储器506中存储有可执行的程序代码,处理器504执行该可执行的程序代码以分别实现前述获取模块、确定模块和分组模块的功能,从而实现流量调度方法。也即,存储器506上存有用于执行流量调度方法的指令。
通信接口508使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备500与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
可选地,计算设备集群包括的至少一个计算设备的结构可参见图5示出的计算设备500。计算设备集群中的一个或多个计算设备500中的存储器506中可以存有相同的用于执行流量调度方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备500的存储器506中也可以分别存有用于执行流量调度方法的部分指令。换言之,一个或多个计算设备500的组合可以共同执行用于执行流量调度方法的指令。
需要说明的是,计算设备集群中的不同的计算设备500中的存储器506可以存储不同的指令,分别用于执行流量调度装置的部分功能。也即,不同的计算设备500中的存储器506存储的指令可以实现划分模块、确定模块和调度模块中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,网络可以是广域网或局域网等等。图6示出了一种可能的实现方式。如图6所示,两个计算设备600A和600B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与网络进行连接。在这一类可能的实现方式中,计算设备600A和600B包括总线602、处理器604、存储器606和通信接口608。计算设备600A中的存储器606中存有执行划分模块的功能的指令。同时,计算设备600B中的存储器606中存有执行确定模块和调度模块的功能的指令。
图6所示的计算设备集群之间的连接方式可以是考虑到本申请提供的流量调度方法需要将划分流量得到的流量块调度到流量块对应的目标节点上,因此考虑将确定模块和调度模块实现的功能交由计算设备600B执行。
应理解,图6中示出的计算设备600A的功能也可以由多个计算设备600完成。同样,计算设备600B 的功能也可以由多个计算设备600完成。
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行流量调度方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本申请实施例还提供了一种包含指令的计算机程序(产品)。计算机程序(产品)可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当计算机程序(产品)在至少一个计算设备上运行时,使得至少一个计算设备执行本申请实施例提供的流量调度方法。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,指令指示计算设备执行流量调度方法。
本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的流量调度方法。
本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行本申请实施例提供的流量调度方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请所示的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk)等。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的规则查找装置的处理器,使得程序代码在被计算机或其他可编程的规则查找装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一链路可以被称为第二链路,并且类似地,第二链路可以被称为第一链路。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处 出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的待调度的流量等都是在充分授权的情况下获取的。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的保护范围。

Claims (24)

  1. 一种流量调度方法,其特征在于,所述方法由提供云服务的调度设备执行,所述方法包括:
    所述调度设备获取待调度的流量,将所述流量划分成多个流量块;
    所述调度设备确定所述多个流量块中的各个流量块的计算需求;
    所述调度设备根据所述各个流量块的计算需求,将所述各个流量块调度到所述各个流量块对应的目标节点,所述目标节点的计算资源用于处理所述目标节点对应的流量块的业务,所述目标节点的计算资源还用于处理由所述调度设备调度的除所述流量块之外的其他业务。
  2. 根据权利要求1所述的方法,其特征在于,所述获取待调度的流量,包括:
    获取多个计算节点中的各个计算节点的资源使用情况;
    基于所述多个计算节点中存在任一计算节点的资源使用情况指示所述任一计算节点出现异常,将所述任一计算节点承载的流量作为所述待调度的流量,所述任一计算节点与所述目标节点为不同的计算节点。
  3. 根据权利要求2所述的方法,其特征在于,所述基于所述多个计算节点中存在任一计算节点的资源使用情况指示所述任一计算节点出现异常,将所述任一计算节点承载的流量作为所述待调度的流量之前,还包括:
    基于所述任一计算节点的资源使用情况指示流量大小超过所述任一计算节点的第一阈值,或所述任一计算节点的数据处理单元的使用率超过所述任一计算节点的第二阈值中的至少一种,确定所述任一计算节点出现异常。
  4. 根据权利要求1-3任一所述的方法,其特征在于,所述将所述流量划分成多个流量块,包括:
    根据所述流量对应的解析协议确定参考数量;
    将位于同一区域内的流量划分为参考数量个流量块。
  5. 根据权利要求1-4任一所述的方法,其特征在于,所述确定所述多个流量块中的各个流量块的计算需求,包括:
    获取所述各个流量块的节点区域要求与计算资源需求,将所述节点区域要求与所述计算资源需求作为所述计算需求。
  6. 根据权利要求5所述的方法,其特征在于,所述获取所述各个流量块的节点区域要求,包括:
    构建所述各个流量块对应的区域标签,所述流量块对应的区域标签用于指示所述流量块对应的计算节点位于的区域;
    将所述各个流量块与所述各个流量块对应的区域标签之间的亲和关系作为所述各个流量块的节点区域要求,所述亲和关系用于确定所述流量块需要调度到的区域。
  7. 根据权利要求6所述的方法,其特征在于,所述区域标签包括地区标签和运营商标签中的至少一种。
  8. 根据权利要求5-7任一所述的方法,其特征在于,所述计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。
  9. 根据权利要求1-8任一所述的方法,其特征在于,所述各个流量块的计算需求包括节点区域要求和计算资源需求,所述根据所述各个流量块的计算需求,将所述各个流量块调度到所述各个流量块对应的目标节点,包括:
    对于任一流量块,根据所述任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,所述筛选后的计算节点的资源使用情况满足所述任一流量块的计算资源需求,且所述筛选后的计算节点的 区域信息满足所述任一流量块的节点区域要求;
    从所述筛选后的计算节点中选择计算节点作为所述任一流量块对应的目标节点;
    将所述任一流量块调度到所述任一流量块对应的目标节点。
  10. 根据权利要求1-9任一所述的方法,其特征在于,所述其他业务包括计算业务和存储业务中的至少一种。
  11. 根据权利要求1-10任一所述的方法,其特征在于,所述目标节点属于边缘节点。
  12. 一种流量调度装置,其特征在于,所述装置应用于提供云服务的调度设备,所述装置包括:
    划分模块,用于获取待调度的流量,将所述流量划分成多个流量块;
    确定模块,用于确定所述多个流量块中的各个流量块的计算需求;
    调度模块,用于根据所述各个流量块的计算需求,将所述各个流量块调度到所述各个流量块对应的目标节点,所述目标节点的计算资源用于处理所述目标节点对应的流量块的业务,所述目标节点的计算资源还用于处理由所述调度设备调度的除所述流量块之外的其他业务。
  13. 根据权利要求12所述的装置,其特征在于,所述划分模块,用于获取多个计算节点中的各个计算节点的资源使用情况;基于所述多个计算节点中存在任一计算节点的资源使用情况指示所述任一计算节点出现异常,将所述任一计算节点承载的流量作为所述待调度的流量,所述任一计算节点与所述目标节点为不同的计算节点。
  14. 根据权利要求13所述的装置,其特征在于,所述确定模块,还用于基于所述任一计算节点的资源使用情况指示流量大小超过所述任一计算节点的第一阈值,或所述任一计算节点的数据处理单元的使用率超过所述任一计算节点的第二阈值中的至少一种,确定所述任一计算节点出现异常。
  15. 根据权利要求12-14任一所述的装置,其特征在于,所述划分模块,用于根据所述流量对应的解析协议确定参考数量;将位于同一区域内的流量划分为参考数量个流量块。
  16. 根据权利要求12-15任一所述的装置,其特征在于,所述确定模块,用于获取所述各个流量块的节点区域要求与计算资源需求,将所述节点区域要求与所述计算资源需求作为所述计算需求。
  17. 根据权利要求16所述的装置,其特征在于,所述确定模块,用于构建所述各个流量块对应的区域标签,所述流量块对应的区域标签用于指示所述流量块对应的计算节点位于的区域;将所述各个流量块与所述各个流量块对应的区域标签之间的亲和关系作为所述各个流量块的节点区域要求,所述亲和关系用于确定所述流量块需要调度到的区域。
  18. 根据权利要求17所述的装置,其特征在于,所述区域标签包括地区标签和运营商标签中的至少一种。
  19. 根据权利要求16-18任一所述的装置,其特征在于,所述计算资源需求包括带宽需求、内存需求和数据处理单元需求中的至少一种。
  20. 根据权利要求12-19任一所述的装置,其特征在于,所述各个流量块的计算需求包括节点区域要求和计算资源需求,所述调度模块,用于对于任一流量块,根据所述任一流量块的计算需求筛选可调度的计算节点,得到筛选后的计算节点,所述筛选后的计算节点的资源使用情况满足所述任一流量块的计算资源需求,且所述筛选后的计算节点的区域信息满足所述任一流量块的节点区域要求;从所述筛选后的计算节点中选择计算节点作为所述任一流量块对应的目标节点;将所述任一流量块调度到所述任一流量块对应的目标节点。
  21. 根据权利要求12-20任一所述的装置,其特征在于,所述其他业务包括计算业务和存储业务中的至少一种。
  22. 根据权利要求12-21任一所述的装置,其特征在于,所述目标节点属于边缘节点。
  23. 一种计算设备集群,其特征在于,所述计算设备集群包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1-11中任一所述的流量调度方法。
  24. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行权利要求1-11中任一所述的流量调度方法。
PCT/CN2023/104095 2022-11-21 2023-06-29 流量调度方法、装置、设备集群及计算机可读存储介质 Ceased WO2024109056A1 (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118860296B (zh) * 2024-09-26 2025-01-17 深圳星云智联科技有限公司 流表项存储系统、设备以及集群

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115967712B (zh) * 2021-05-12 2026-01-09 华为云计算技术有限公司 一种云平台的云服务部署方法及其相关设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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