Resource scheduling method and apparatus

By acquiring resource consumption profiles and multi-dimensional detection subtasks, edge cloud resource allocation is optimized, solving the processing instability issues caused by the scarcity and heterogeneity of edge cloud resources, and achieving efficient and stable service request processing.

CN115695438BActive Publication Date: 2025-12-16ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211166966.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-23
Publication Date
2025-12-16
Estimated Expiration
2042-09-23

AI Technical Summary

Technical Problem

Due to their heterogeneity and resource scarcity, edge clouds struggle to process service-related requests stably and efficiently, a problem that existing technologies cannot effectively solve.

Method used

By obtaining a resource consumption profile of the target service, identifying the target edge nodes, creating associated resource detection tasks, executing multi-dimensional detection subtasks, adjusting request allocation parameters to meet service requirements, and optimizing resource allocation.

Benefits of technology

It improves resource utilization and processing stability in edge cloud scenarios, and reduces resource usage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115695438B_ABST
    Figure CN115695438B_ABST
Patent Text Reader

Abstract

Embodiments of the present specification provide a resource scheduling method and device, wherein the resource scheduling method comprises: obtaining a resource consumption profile of a target service, and determining a target edge node based on the resource consumption profile; creating a resource detection task associated with the target edge node according to a preset request allocation parameter, wherein the resource detection task contains detection subtasks of the target service in at least two resource consumption dimensions; executing the detection subtasks in at least two resource consumption dimensions, and adjusting the request allocation parameter to a target request allocation parameter according to the execution result; and allocating a service request of the target service to the target edge node in a case where the target edge node meets a resource requirement condition of the target service according to the target request allocation parameter.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present specification relate to the technical field of Internet, and particularly relate to a resource scheduling method and device. BACKGROUND

[0002] With the development of edge computing, the service type carried by the edge scenario is changing from the traffic type CDN (Content Delivery Network) to the composite type such as traffic plus computing, for example, programmable acceleration and cloud gaming at the edge node, to provide more convenient services for users. As a core and edge computing capability based on cloud computing technology, edge cloud is a cloud computing platform built on edge infrastructure, forming a comprehensive elastic cloud platform of computing, network, storage, security and other capabilities at the edge location, and forming a "cloud-edge collaboration" technical architecture with the center cloud. By placing network forwarding, storage, computing, intelligent data analysis and other work at the edge for processing, the response time delay is reduced, the cloud pressure is reduced, the bandwidth cost is reduced, and cloud services such as global scheduling and computing power distribution can be provided. In the prior art, under the premise of rapid increase of resource usage of various services, edge cloud has become an important means, although it can solve the problems of delay and bandwidth, but because of the edge characteristics of edge cloud, its heterogeneity and resource scarcity are obvious, and it is difficult to stably and efficiently process service-related requests, so an effective solution is needed to solve the above problems. SUMMARY

[0003] Therefore, the embodiments of the present specification provide a resource scheduling method. One or more embodiments of the present specification also relate to a resource scheduling device, a computing device, a computer-readable storage medium, and a computer program to solve the technical defects in the prior art.

[0004] According to a first aspect of the embodiments of the present specification, a resource scheduling method is provided, comprising:

[0005] obtaining a resource consumption profile of a target service, and determining a target edge node based on the resource consumption profile;

[0006] creating a resource detection task associated with the target edge node according to a preset request allocation parameter, wherein the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions;

[0007] executing the detection subtasks of the at least two resource consumption dimensions, and adjusting the request allocation parameter to a target request allocation parameter according to the execution result;

[0008] allocate a service request of the target service to the target edge node according to the target request allocation parameter.

[0009] According to a second aspect of the embodiments of the present specification, a resource scheduling apparatus is provided, comprising:

[0010] a obtaining module configured to obtain a resource consumption profile of a target service, and determine a target edge node based on the resource consumption profile;

[0011] a creating module configured to create a resource detection task associated with the target edge node according to a preset request allocation parameter, wherein the resource detection task comprises detection subtasks of the target service in at least two resource consumption dimensions;

[0012] an executing module configured to execute the detection subtasks in the at least two resource consumption dimensions, and adjust the request allocation parameter to a target request allocation parameter according to an execution result;

[0013] an allocating module configured to allocate a service request of the target service to the target edge node according to the target request allocation parameter.

[0014] According to a third aspect of the embodiments of the present specification, a computing device is provided, comprising:

[0015] a memory and a processor;

[0016] the memory is configured to store computer executable instructions, and the processor is configured to execute the computer executable instructions to implement the steps of the above-mentioned resource scheduling method.

[0017] According to a fourth aspect of the embodiments of the present specification, a computer readable storage medium is provided, which stores computer executable instructions, and the instructions are executed by a processor to implement the steps of the above-mentioned resource scheduling method.

[0018] According to a fifth aspect of the embodiments of the present specification, a computer program is provided, wherein when the computer program is executed in a computer, the computer is caused to execute the steps of the above-mentioned resource scheduling method.

[0019] The resource scheduling method provided by the specification can support service running in an edge cloud scenario, efficiently and stably process service-related requests, can determine a target edge node in the edge cloud based on a resource consumption profile of a target service after obtaining the resource consumption profile, and then create a resource detection task associated with the target edge node according to a preset request allocation parameter, and the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions, so that the processing capacity of the target edge node in each resource consumption dimension can be determined through the resource detection task, so that the target service-related requests can be processed within the upper limit of the resource consumption of the target edge node. In order to ensure stable and efficient processing, the detection subtasks of the at least two resource consumption dimensions can be executed in sequence, so as to adjust the request allocation parameter to a target request allocation parameter associated with the processing capacity of the target edge node according to the execution result, and finally in the case where the target edge node meets the resource requirement condition of the target service according to the target request allocation parameter, the service request corresponding to the target request allocation parameter can be allocated to the target edge node and processed. In the edge cloud scenario, the selection of the target edge node can be combined with the resource consumption profile of the service, so that the resource consumption preference of the service is more clear, so that the edge node with sufficient resources can be selected. Then, the request allocation parameter is adjusted through multi-dimensional coordinated decision, the available resources of the target edge node are used to the maximum extent to process the service-related requests, so as to improve the resource utilization rate and reduce the resource use cost. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 is a schematic diagram of a resource scheduling method provided by an embodiment of the specification;

[0021] Figure 2 is a flowchart of a resource scheduling method provided by an embodiment of the specification;

[0022] Figure 3 is a process flowchart of a resource scheduling method provided by an embodiment of the specification;

[0023] Figure 4 is a structural schematic diagram of a resource scheduling device provided by an embodiment of the specification;

[0024] Figure 5 is a structural block diagram of a computing device provided by an embodiment of the specification. DETAILED DESCRIPTION

[0025] In the following description, many specific details are set forth in order to provide a thorough understanding of the specification. However, the specification can be practiced in many different ways beyond the specific embodiments described herein, and it is understood that one of ordinary skill in the art can make and use the specification without departing from the scope of the specification.

[0026] The terminology used in this description of one or more embodiments is for the purpose of describing particular embodiments only and is not intended to be limiting of one or more embodiments of the description. As used in this description of one or more embodiments and the appended claims, the singular forms "a," "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0027] It will be understood that, although the terms first, second, etc. can be used herein to describe various information, these terms are not intended to denote a temporal sequence, but are used only to distinguish one piece of information from another. For example, without departing from the scope of one or more embodiments of the description, first can be termed second; likewise, second can be termed first. Depending on the context, the word "if' as used herein can be interpreted to mean "when" or "in response to determining" or "in response to a determination."

[0028] First, the noun terms related to one or more embodiments of the description are explained.

[0029] Edge computing: refers to an open platform that integrates network, computing, storage and application core capabilities, and provides the nearest end service on the side close to the object or data source. It deploys software and hardware resources away from large data centers of users, places computing resources close to users or devices, thereby reducing delay and bandwidth consumption, and providing real-time processing close to data sources.

[0030] In the present description, a resource scheduling method is provided, and the present description also relates to a resource scheduling device, a computing device, a computer readable storage medium and a computer program, which are described in detail one by one in the following embodiments.

[0031] Edge cloud computing refers to the core and edge computing capabilities based on cloud computing technology, a cloud computing platform built on edge infrastructure, forming a comprehensive and flexible cloud platform of computing, network, storage, security and other capabilities at the edge location, and forming a "cloud-edge collaboration" technical architecture with the center cloud. By placing network forwarding, storage, computing, intelligent data analysis, etc. at the edge for processing, the response time is reduced, the cloud pressure is reduced, the bandwidth cost is reduced, and cloud services such as full-network scheduling and computing power distribution can be provided. With the development of Internet technology, audio and video, VR / AR / MR, cloud gaming, etc. are developing at a high speed, and the demand for edge cloud is becoming more and more intense in order to reduce bandwidth, latency, cost, etc. However, due to the edge characteristics of edge cloud, the heterogeneity and relative scarcity of resources are determined, and the bandwidth, CPU, memory, disk, etc. are smaller than the center cloud, and the resources that the edge cloud node can provide are more important. How to efficiently and stably use resources to provide services for users has become a problem to be solved.

[0032] Referring to Figure 1 The resource scheduling method provided by the present specification is applied to a center scheduling system. In order to support service running in an edge cloud scenario and efficiently and stably process service-related requests, after obtaining the resource consumption profile of the target service, the target edge node can be determined in the edge node group based on the resource consumption profile. Then, a resource detection task associated with the target edge node is created according to the preset request allocation parameter, and the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions. The processing capacity of the target edge node in each resource consumption dimension can be determined through the resource detection task, so that the target service-related requests can be processed within the upper limit of the resource consumption of the target edge node. In order to ensure stable and efficient processing, the detection subtasks of at least two resource consumption dimensions can be executed in sequence, so that the request allocation parameter is adjusted to the target request allocation parameter associated with the processing capacity of the target edge node according to the execution result, and the request allocation ratio allocated to each target edge node is adjusted. Finally, if the target edge node meets the resource demand condition of the target service according to the target request allocation parameter, the service request corresponding to the target request allocation parameter can be allocated to the target edge node and processed. In the edge cloud scenario, the selection of the target edge node can be combined with the resource consumption profile of the service, so that the resource consumption preference of the service is more clear, and the edge node with sufficient resources can be selected. Then, the request allocation parameter is adjusted through multi-dimensional coordination decision, the available resources of the target edge node are used to the maximum extent to process the service-related requests, so as to improve the resource utilization rate and reduce the resource use cost.

[0033] Figure 2 A flowchart of a resource scheduling method according to one embodiment of the present specification is shown, which specifically includes the following steps.

[0034] In step S202, a resource consumption profile of the target service is obtained, and a target edge node is determined based on the resource consumption profile.

[0035] The resource scheduling method provided in this embodiment is applied to a central scheduling system, that is, the central scheduling system is responsible for scheduling requests related to resource processing services of edge cloud nodes in an edge cloud scenario. It should be noted that the central scheduling system is responsible for managing all edge cloud nodes involved in the edge cloud scenario, so as to improve the resource utilization and balance of the edge cloud nodes.

[0036] Specifically, the target service specifically refers to a service that needs to use resources provided by an edge cloud node for data transmission or processing, including but not limited to audio and video services, cloud game services, virtual reality services, etc., for providing audio and video services, cloud game services, or virtual reality services, etc. for users participating in the target service using edge cloud nodes. Correspondingly, the resource consumption profile specifically refers to a profile that quantitatively describes the consumption of the target service in at least two resource consumption dimensions, for representing the consumption proportion of the target service in each resource consumption dimension; wherein the resource consumption dimension includes but is not limited to CPU dimension, memory dimension, IO interface dimension, storage dimension, or bandwidth dimension, etc. Correspondingly, the target edge node specifically refers to at least one edge cloud node selected from the edge cloud node group managed by the central scheduling system, for processing service requests related to the target service, to provide related services for users belonging to the service request.

[0037] Therefore, in order to improve the resource utilization of edge cloud nodes in the edge cloud scenario, and efficiently and stably run the target service, the resource consumption profile describing the resource consumption of the target service can be obtained first. Through the resource consumption profile, the proportion of the target service in each resource consumption dimension can be determined, for determining the information of each dimension resource required by the target service, to realize the determination of the resource consumption preference of the target service according to the information. At this time, in order to support the running of the target service, the edge cloud node group managed by the central scheduling system can be selected, and the node with sufficient resource consumption preference dimension resource can be selected as the target edge node, to facilitate the subsequent processing of the service request related to the target service, and to provide services for the user submitting the request.

[0038] Further, considering that the resource consumption profile is the basis for selecting the target edge node, and its description accuracy determines the accuracy of the determination of the target edge node, in order to ensure that the selection of the target edge node is more accurate, the resource usage of all network edge nodes can be combined to cluster the resource consumption of various services, so as to draw a profile with higher accuracy. In this embodiment, the specific implementation manner is as shown in steps S2022 to S2026.

[0039] In step S2022, node resource consumption information corresponding to each edge node in the edge node group is determined.

[0040] Specifically, the edge node group specifically refers to a collection of edge cloud nodes managed by the central scheduling system; correspondingly, the node resource consumption information specifically refers to a description of resource consumption information corresponding to at least two resource consumption dimensions of a service request when the edge node processes the service request; for example, edge node A processes 10 service requests, and each service request involves 5 resource consumption dimensions, then the node resource consumption information of edge node A is the description information corresponding to the resource consumption of 10 service requests in 5 resource consumption dimensions respectively. That is, the node resource consumption information records the resource consumption information of all service requests processed by the edge node in each resource consumption dimension.

[0041] Based on this, since each service request corresponding to a service is processed by the edge node, the service request processed by the edge node may come from different services, and the service request domain name of the same service is the same, so as to accurately determine the resource consumption information of the service in each resource consumption dimension, and accurately draw the resource consumption portrait corresponding to the service; the node resource consumption information of each edge node can be determined first, so as to facilitate subsequent clustering of the resource consumption information associated with the service request of the same service, so as to count the resource consumption information of the service in each resource consumption dimension and draw the resource consumption portrait.

[0042] It should be noted that the edge nodes in the edge node group cannot distinguish the service type to which the service request belongs when processing the service request, so as to support the central scheduling system to draw the resource consumption portrait corresponding to each service, the resource consumption information of each service request can be composed of domain name, resource consumption dimension and resource consumption information when establishing the node resource consumption information, and the resource consumption information of all service requests is the node resource consumption information of the current edge node. For example, the domain name of service request 1 is IP1, the resource consumption dimension is CPU, and the resource consumption information is 10 cores, then the resource consumption information corresponding to the service request is {IP1_CPU_10}, and correspondingly, the node resource consumption information corresponding to the edge node is composed of the resource consumption information corresponding to each service request, so as to facilitate subsequent clustering, and the resource consumption information of the service in each dimension can be determined according to the domain name and the resource consumption dimension, so as to draw a resource consumption portrait with higher accuracy.

[0043] When determining the node consumption information, considering that the number of service requests processed by each edge node is large, if the total service requests are counted, although a certain accuracy can be achieved, the processing amount is large and the calculation resources consumed are too much, so as to save resources and meet the accuracy, the resource consumption information in a preset time zone can be selected to determine the node resource consumption information, and in this embodiment, the specific implementation manner is as follows:

[0044] obtain service requests processed by each edge node in the group of edge nodes; determine request resource consumption information of the service requests processed by each edge node within a preset time interval; and generate node resource consumption information corresponding to each edge node according to the request resource consumption information.

[0045] Specifically, the service request specifically refers to a service request submitted by a user when participating in a target service. Different services correspond to different service requests. The service request includes but is not limited to an audio / video browsing request, an audio / video downloading request, a cloud game data transmission request, a virtual reality data downloading request, and the like. Correspondingly, the preset time interval specifically refers to a time interval for which the resource consumption information of the request is counted. The time interval corresponds to a time start node and a time end node, which can be set according to actual service requirements. The present embodiment does not make any limitation here. Correspondingly, the request resource consumption information specifically refers to the resource consumption information corresponding to the service request processed by the edge node within the preset time interval.

[0046] Based on this, in order to ensure the drawing accuracy of the resource consumption portrait on the premise of saving computing resources, the service requests processed by each edge node in the group of edge nodes can be obtained first, and then the resources consumed by the service requests within the preset time interval are counted, and the request resource consumption information is determined according to the counting result. Thereafter, the node resource consumption information of each edge node within the preset time interval can be generated according to the request resource consumption information, to facilitate subsequent use.

[0047] It should be noted that when determining the request resource consumption information of the service request within the preset time interval, the information of the service request of the same domain name using the resource corresponding to each resource consumption dimension within the preset time interval is actually counted. By adding the resource consumption information corresponding to the resource consumption dimension within the preset time interval of the same service request, the request resource consumption information of the service request within the preset time interval can be determined, to facilitate subsequent clustering use, for determining the resource consumption information of the service in each dimension.

[0048] The above content is described by taking the determination process of the node resource consumption information of an edge cloud node as an example. First, n service requests processed by an edge cloud node 1 are obtained. Then, m service requests located in the T1-T2 interval are selected from the n service requests. Then, the resource consumption information of each service request is determined as m1={IP1_CPU_10}, m2={IP2_IO_5}, m3={IP3_MB_10}…m={IP1_IO_5}. Then, the resource consumption information of the same resource consumption dimension of the same domain name within the preset time interval is integrated.

[0049] At this time, the number of same type service requests is determined as s, and the request resource consumption information of each type of service processing request is s1={IP1_CPU_x1}, s1={IP1_IO_x2}, s1={IP1_MB_x3}, s4={IP1_BW_x4}…sn={IPn_BW_x4}. Then, the s same type service requests are integrated, and the resource consumption information of each type of service processing request in the edge cloud node in the T1-T2 interval is obtained, that is, the node resource consumption information of the edge cloud node in the T1-T2 interval, to facilitate the subsequent drawing of the resource consumption portrait of the service.

[0050] In summary, by statistically composing the request resource consumption information in the preset time interval into the node resource consumption information, the amount of statistical information can be effectively reduced, thereby improving the determination speed of the node resource consumption information, so as to realize the drawing of the resource consumption portrait of the service corresponding to the resource consumption in a short time with less computing resources, thereby supporting the use in the actual application stage.

[0051] In step S2024, the node resource consumption information is clustered, and the resource consumption information corresponding to the initial service in at least two resource consumption dimensions is determined according to the clustering result.

[0052] In step S2026, according to the resource consumption information corresponding to the initial service in at least two resource consumption dimensions, the resource consumption portrait corresponding to the initial service is constructed.

[0053] Specifically, after determining the node resource consumption information corresponding to each edge node, the node resource consumption information can be clustered to realize the clustering of the resource consumption information of the service requests belonging to the same service in each resource consumption dimension, thereby obtaining the resource consumption information of the service in each resource consumption dimension, and constructing the resource consumption portrait containing the information of each resource consumption dimension. The initial service includes but is not limited to audio and video service, cloud game service, virtual reality service, etc., and the target service belongs to one of the initial services.

[0054] Based on this, when the node resource consumption information is clustered, it is considered that the node resource consumption information records the resource consumption information corresponding to the service request processed by the node in each resource consumption dimension, and the number of edge nodes managed by the center scheduling system is large. Therefore, the clustering method can be used to cluster the node resource consumption information of the whole network, thereby obtaining the resource consumption information of the service in each resource consumption dimension. Then, by statistically processing the resource consumption information of the initial service in each resource consumption dimension, the resource consumption portrait corresponding to the initial service can be obtained.

[0055] It should be noted that after the resource consumption information of the initial service in each resource consumption dimension is determined, considering that the statistical standards of each resource consumption dimension are different, such as the CPU dimension statistics the number of consumed cores, the memory dimension statistics the consumed memory space, the bandwidth dimension statistics the bandwidth, etc., in order to be able to clearly determine the proportion of the initial service in each resource consumption dimension through the resource consumption portrait, the proportion can be converted based on the statistical resource consumption information, which is used to reflect the proportion of the initial service in each resource consumption dimension, so as to draw a resource consumption portrait that can accurately reflect the resource consumption information.

[0056] In the above example, after obtaining the resource consumption information of each edge cloud node in the T1-T2 interval for each type of service processing request, the resource consumption information of all edge cloud nodes can be clustered, and according to the clustering result, the resource consumption information of the initial service 1 in the CPU dimension is Z11, the resource consumption information in the IO interface dimension is Z12, the resource consumption information in the memory dimension is Z13, and the resource consumption information in the bandwidth dimension is Z14. The resource consumption information of the initial service 2 in the CPU dimension is Z21, the resource consumption information in the IO interface dimension is Z22, the resource consumption information in the memory dimension is Z23, and the resource consumption information in the bandwidth dimension is Z24…The resource consumption information of the initial service N in the CPU dimension is ZN1, the resource consumption information in the IO interface dimension is ZN2, the resource consumption information in the memory dimension is ZN3, and the resource consumption information in the bandwidth dimension is ZN4. Then, combined with the resource consumption information of each initial service in the four resource consumption dimensions, the resource consumption portrait of each initial service is drawn, which facilitates the application stage, and the resource consumption preference of the service can be directly determined based on the resource consumption portrait, so as to select the edge cloud node that meets the resource scheduling requirement to process the related request.

[0057] In summary, by combining the resource consumption information of the service in each resource consumption dimension, the associated resource consumption portrait is drawn, which can reflect the resource consumption preference of the service in multiple dimensions on the portrait, so as to facilitate the determination of the resource consumption preference of the target service according to the portrait in the application stage, so as to accurately select the target edge node to process the related request.

[0058] After the resource consumption portrait of the initial service is constructed, in order to select a suitable edge cloud node for the target service, the resource consumption portrait of the target service can be determined from the pre-drawn resource consumption portrait, and the target edge node can be determined based on this. In order to determine the accuracy of the target edge node and meet the resource usage requirements of the target service, the specific resource consumption dimension can be achieved, and in this embodiment, the specific implementation manner is as follows:

[0059] According to the resource consumption profile, service resource consumption information corresponding to each resource consumption dimension of the target service is determined; the at least two resource consumption dimensions are sorted according to the service resource consumption information, and a target resource consumption dimension is determined according to a sorting result; and based on the target resource consumption dimension, a set number of edge nodes in the edge node group are selected as the target edge nodes.

[0060] Specifically, the service resource consumption information specifically refers to resource consumption information corresponding to each resource consumption dimension of the target service, which can be represented by a proportion in the resource consumption dimension. Correspondingly, the target resource consumption dimension specifically refers to a dimension corresponding to a resource consumption preference of the target service.

[0061] Based on this, after determining the resource consumption profile of the target service, the service resource consumption information corresponding to each resource consumption dimension of the target service can be determined according to the resource consumption profile, so that the preference degree of the target service for each resource consumption dimension can be determined. Then, the resource consumption dimensions are sorted in descending order according to the resource consumption information, so that the resource consumption dimension with the highest resource consumption is selected as the target resource consumption dimension according to the sorting result, so as to determine the resource consumption dimension with the highest resource consumption required by the target service, and then a set number of edge nodes associated with the target resource consumption dimension are selected from the edge node group as the target edge nodes. The set number can be set according to actual needs, such as 1, 2 or 3, etc. The present embodiment does not make any limitation here.

[0062] Taking the target service as a video service as an example, after determining the resource consumption profile of the video service, the resource consumption dimensions of the video service can be sorted as bandwidth > CPU > memory > IO according to the resource consumption profile. Then, the bandwidth dimension is selected as the target resource consumption dimension associated with the video service. Thereafter, when processing a request related to the video service, an edge cloud node with fast bandwidth transmission and low price can be preferentially selected as the target edge cloud node corresponding to the video service, so as to facilitate subsequent processing of service requests related to the video service through the target edge cloud node. According to the selection result, it is determined that edge cloud nodes A and B meet the condition, and then edge cloud nodes A and B are selected as the target edge cloud nodes.

[0063] In summary, the resource consumption preference of the target service is determined by sorting the resource consumption dimensions, so that the most used resource required by the target service can be determined. Based on this, the target edge nodes are selected, so that the selected target edge nodes are all edge nodes with sufficient resources or the highest available resource amount at the current moment, thereby effectively improving the processing speed and stability of the target service related requests.

[0064] Step S204, creating a resource detection task associated with the target edge node according to the preset request allocation parameter, wherein the resource detection task comprises detection sub-tasks of at least two resource consumption dimensions of the target service.

[0065] Specifically, after determining the target edge node associated with the target service, it is considered that when the service request related to the target service is processed, in addition to the resources consumed by the resource consumption dimension to which the resource consumption preference belongs, a small amount of resources of other resource consumption dimensions will also be used. For example, for a video service, the most consumed resource is bandwidth, and then a small amount of CPU resources and memory resources are needed. On this basis, if only the resource consumption dimension with the highest resource preference is considered, it may lead to the problem that the resources of other dimensions are not enough. Therefore, in order to process the service request of the target service in a more optimal way, after determining the target edge node, a resource detection task associated with the target edge node can be created according to the preset request allocation parameter, so as to determine whether the target edge node can support the processing of the target service related request on the basis of the current preset request allocation parameter by executing the detection task, so as to ensure the stability of service processing.

[0066] Among them, the preset request allocation parameter specifically refers to the ratio of the number of service requests allocated to each target edge node. According to this ratio, the service requests related to the target service at a certain moment can be allocated to different target edge nodes, improving the concurrency of service request processing, and improving the processing efficiency and resource utilization. Correspondingly, the resource detection task specifically refers to the total of the tasks for detecting the resources that can be used in each resource consumption dimension of the target edge node, which is used to detect whether the available resources held by the target edge node meet the resources required by the service request allocated to the target edge node according to the request allocation parameter. Correspondingly, the detection sub-task specifically refers to the sub-task for detecting the available resources of each resource consumption dimension, which is used to detect whether the available resources held by the target edge node in each resource consumption dimension meet the resources required by the service request allocated to the target edge node according to the request allocation parameter in each resource consumption dimension.

[0067] Further, when creating the resource detection task, it is considered that the resource detection task of the target edge node is related to the number of target edge nodes, so the request allocation parameter and the number of service requests can be combined for calculation. In this embodiment, the specific implementation is as follows:

[0068] determining a preset request allocation parameter and a service request quantity corresponding to the target service; calculating request processing information of the target edge node according to the request allocation parameter and the service request quantity; determining resource requirement information of the target service in at least two resource consumption dimensions according to the request processing information; creating a detection subtask of each resource consumption dimension based on the resource requirement information of the target service in at least two resource consumption dimensions, and composing a resource detection task of the target edge node.

[0069] Specifically, the service request quantity specifically refers to the total of all service requests related to the target service at the current moment; correspondingly, the request processing information specifically refers to the description information of the service request quantity allocated to the target edge node; correspondingly, the resource requirement information specifically refers to the resource information required in each resource consumption dimension according to the request processing information.

[0070] Based on this, when creating the resource detection task containing the detection subtask of each resource consumption dimension, the request allocation parameter corresponding to the target edge node quantity can be determined first, the proportion of the target edge node can be determined according to the request allocation parameter, so that the request processing information of the target edge node, i.e. the service request quantity that can be processed by the target edge node, can be calculated combined with the service request quantity; then according to the request processing information, the resource information required by the service request of this quantity in each resource consumption dimension, i.e. the resource requirement information of each resource consumption dimension, can be determined, and by determining the resource requirement information of the service request of this quantity, the detection subtask of each resource consumption dimension can be created, and the resource detection task can be composed combined with the detection subtask of each resource consumption dimension, for detecting whether the resource held by the target edge node in each resource consumption dimension meets the resource corresponding to the resource requirement information, so that the request allocation parameter can be dynamically adjusted to ensure that the service request of the target service can be quickly and stably processed.

[0071] With the above example, after determining the edge cloud nodes A and B, considering that the edge cloud nodes A and B hold similar resources, it can be determined that the edge cloud nodes A and B are respectively allocated service requests of the video service according to a 1:1 ratio. Further, it is determined that the number of service requests of the video service at the current time is M, and according to the 1:1 ratio, it is calculated that the edge cloud nodes A and B need to process M / 2 service requests respectively, and the bandwidth required by the M service requests is D, the CPU core number is F, the memory space is G, and the IO interface number is H. At this time, combined with the allocation ratio and resource requirement information, it is calculated that the M / 2 service requests of the video service require bandwidth D / 2, CPU core number F / 2, memory space G / 2, and IO interface number H / 2. Further, resource detection tasks can be created for the edge cloud nodes A and B respectively, for detecting whether the available bandwidth of the target edge cloud node A or B in the bandwidth dimension is greater than D / 2, whether the available CPU core number in the CPU dimension is greater than F / 2, whether the available memory space size in the memory dimension is greater than G / 2, and whether the available interface number in the IO interface dimension is greater than H / 2.

[0072] In summary, by creating detection sub-tasks for each resource consumption dimension, multi-dimensional available resource detection on the target edge node can be realized, so as to reasonably infer the number of service requests that should be allocated to the target edge node, so as to efficiently and stably process service requests under high concurrency.

[0073] Step S206, executing detection sub-tasks of at least two resource consumption dimensions, and adjusting the request allocation parameter to a target request allocation parameter according to the execution result.

[0074] Specifically, after creating the detection sub-tasks of each resource consumption dimension, further, since the detection sub-tasks are created in combination with the request allocation parameter, the number of service requests allocated to the target edge node under this parameter may exceed the available resources in a certain resource consumption dimension, and the target edge node cannot smoothly execute the service requests of the target service, therefore, after executing each resource consumption dimension detection sub-task, the execution result of the detection sub-task can be determined, that is, whether the available resources of each resource consumption dimension meet the resource required by the service request, and the request allocation parameter is adjusted based on this to obtain the target request allocation parameter. The target request allocation parameter specifically refers to the adjusted ratio of the number of requests allocated to the target edge node, and the target edge node can smoothly process the service request under this ratio.

[0075] Based on this, by executing each resource consumption dimension detection subtask, it can be determined whether the available resources of each resource consumption dimension meet the required resources of the service request. If they all meet, the request allocation parameter can be used as the target edge node, or the number of requests allocated to the target edge node can be increased until the last adjusted request allocation parameter is used as the target request allocation parameter when the processing upper limit of the adjacent target edge node is reached. If not, the request allocation parameter is adjusted, i.e. the number of requests allocated to the target edge node is reduced until the last adjusted request allocation parameter is used as the target request allocation parameter when the target edge node can meet the requirements in each dimension.

[0076] In practical applications, the adjustment granularity of the request allocation parameter can be set according to actual needs, which is not limited in this embodiment.

[0077] Further, the specific implementation of the detection subtask for adjusting the request allocation parameter is as follows:

[0078] In the resource detection task, the ith detection subtask of the ith resource consumption dimension is selected; wherein i starts from 1 and i is a positive integer; by executing the ith detection subtask, it is determined whether the remaining resource amount of the target edge node in the ith resource consumption dimension meets the required resource amount of the target service in the ith resource consumption dimension; if it meets, i is incremented by 1, and the step of selecting the ith detection subtask of the ith resource consumption dimension in the resource detection task is executed; if it does not meet, the request allocation parameter is adjusted, the detection subtasks of each resource consumption dimension are updated according to the adjusted request allocation parameter, the target resource detection task is generated according to the update result and is used as the resource detection task, and the step of selecting the ith detection subtask of the ith resource consumption dimension in the resource detection task is executed; until the resource detection task does not contain unexecuted detection subtasks, the adjusted request allocation parameter is used as the target request allocation parameter.

[0079] Specifically, the remaining resource amount specifically refers to the available resource amount of the target edge node in the ith resource consumption dimension; correspondingly, the required resource amount specifically refers to the resource amount required by the target service in the ith resource consumption dimension. Correspondingly, the adjusted request allocation parameter used as the target request allocation parameter specifically refers to the last adjusted request allocation parameter.

[0080] Based on this, when detecting whether the target edge node can process the number of service requests corresponding to the request allocation parameter, the i-th detection subtask of the i-th resource consumption dimension can be selected in the resource detection task first, and then by executing the i-th detection subtask, it is determined whether the remaining resource amount of the target edge node in the i-th resource consumption dimension meets the required resource amount of the target service in the i-th resource consumption dimension. If it meets, it means that the target edge node can process the number of service requests corresponding to the request allocation parameter in the i-th resource consumption dimension, and then i is incremented by 1, and the step of selecting the i-th detection subtask of the i-th resource consumption dimension in the resource detection task is executed again.

[0081] If it does not meet, it means that the target edge node cannot process the number of service requests corresponding to the request allocation parameter in the i-th resource consumption dimension, so the required resource amount of the i-th resource consumption dimension needs to be reduced by reducing the number of service requests. At this time, the request allocation parameter can be adjusted, and after the adjustment is completed, the detection subtasks of each resource consumption dimension are updated, that is, the required resource amount corresponding to each detection subtask is recalculated. At this time, the updated detection subtasks form a target resource detection task, which is used as a resource detection task to execute the step of selecting the i-th detection subtask of the i-th resource consumption dimension in the resource detection task again. The judgment and adjustment are performed in this way. Until after a certain adjustment, the execution results of all detection subtasks of the resource consumption dimension meet, and the resource detection task does not contain unexecuted detection subtasks, the request allocation parameter of the last adjustment can be used as the target request allocation parameter for subsequent service request allocation and processing operations.

[0082] In the above example, after the resource detection task is created for edge cloud nodes A and B according to a 1:1 ratio, for edge cloud node A, a bandwidth detection subtask of the bandwidth dimension can be selected in the resource detection task. By executing the bandwidth detection subtask, it is determined whether the available bandwidth amount of edge cloud node A in the bandwidth dimension is greater than the required bandwidth amount D / 2 of the video service in the bandwidth dimension. According to the comparison result, it is determined that the available bandwidth amount is greater than the required bandwidth amount D / 2. Then, a CPU detection subtask of the CPU dimension is selected from the resource detection task. By executing the CPU detection subtask, it is determined whether the available CPU core number of edge cloud node A in the CPU dimension is greater than the required CPU core number F / 2 of the video service in the CPU dimension. According to the comparison result, it is determined that the available CPU core number is less than the required CPU core number F / 2. At this time, it means that the number of service requests allocated to the edge cloud node is too large, and the request allocation ratio can be adjusted. The adjusted ratio is 2:3. Then, according to the adjusted ratio, it is determined that the required bandwidth amount of the number of service requests allocated to edge cloud node A is 2D / 5, the required CPU core number is 2F / 5, the required memory space is 2G / 5, and the required IO interface number is 2H / 5.

[0083] Further, update each resource consumption dimension detection subtask based on the re-determined resource requirement information, and then execute each detection subtask, the execution process of which is similar to the above description, and this embodiment will not be described in detail. After the execution of the detection subtask, if it is determined that the remaining resource quantity of each detection subtask corresponding to the detection subtask is greater than the required resource quantity, it is determined that the current proportional allocation service request can be completed by the edge cloud nodes A and B, and therefore 2:3 can be used as the target request allocation ratio for subsequent service request allocation processing.

[0084] It should be noted that when reducing the number of service requests of the edge cloud node A, the number of service requests of the edge cloud node B will increase, and the resource corresponding to the increased number of service requests may exceed the available resource of the edge cloud node B. Therefore, in order to realize the adjustment of the request allocation ratio and to meet the demand resource of the available resource of the edge cloud nodes A and B as much as possible, the adjustment ratio granularity can be reduced, that is, the granularity of the number of service requests can be set to be small, so as to meet the use demand as much as possible by reducing the adjustment granularity. The adjustment granularity can be set according to the actual demand.

[0085] In summary, by sequentially executing each detection subtask, resource scheduling and allocation in multiple resource consumption dimensions involved in the target edge node are realized, so that the request allocation parameter can be dynamically adjusted to process as many service requests as possible under the premise of meeting the available resource quantity, thereby effectively improving the resource utilization rate.

[0086] Further, considering the case that the remaining resource quantity of the i-th resource consumption dimension does not meet the demand resource quantity, if the adjustment of the request allocation parameter reduces the number of service requests of one of the target edge nodes and increases the number of other target edge nodes, it may lead to the adjusted request allocation parameter still not meeting the condition. Therefore, in order to avoid affecting the processing efficiency of the service request, the edge node can be reselected, and in this embodiment, the specific implementation manner is as follows:

[0087] According to the demand resource quantity, an associated edge node is selected from the edge node group as a target edge node; the preset request allocation parameter is adjusted according to the associated node resource information of the associated edge node; a resource detection task associated with the target edge node is created based on the adjusted request allocation parameter, and the step of selecting an i-th detection subtask of an i-th resource consumption dimension in the resource detection task is executed; and until the resource detection task does not contain an unexecuted detection subtask, the adjusted request allocation parameter is used as the target request allocation parameter.

[0088] Specifically, the associated edge node specifically refers to an edge cloud node in the edge node group that meets the demand resource amount in each resource consumption dimension. Based on this, in the case that the remaining resource amount in a certain resource consumption dimension does not meet the demand resource amount, it indicates that the available resources of the target edge node are insufficient. In order to not affect the processing efficiency of the service request, a new associated edge node can also be selected in the edge node group according to the demand resource amount, and used as the target edge node.

[0089] Since the target edge node is changed, the request allocation parameters need to be re-adjusted. In order to adjust accurately, the original request allocation parameters can be adjusted according to the associated node resource information of the associated edge node, and the resource detection task of the target edge node is re-created based on the adjusted request allocation parameters. Then the step of selecting the i-th detection subtask of the i-th resource consumption dimension in the resource detection task is executed; until the resource detection task does not contain an unexecuted detection subtask, the last adjusted request allocation parameter can be used as the target request allocation parameter.

[0090] According to the comparison result, it is determined that the number of available CPU cores is less than the demand CPU core number F / 2. According to the demand bandwidth D / 2, the demand CPU core number F / 2, the demand memory space G / 2 and the demand IO interface amount H / 2, a new edge cloud node C is selected in the edge cloud node group to replace the edge cloud node A, and the resource information of the edge cloud node C in each resource consumption dimension is adjusted by 1:1. The adjusted ratio is 3:2.

[0091] Thereafter, the resource detection tasks of edge cloud nodes C and B are created according to the ratio of 3:2, and the detection subtasks in the resource detection tasks are executed in turn. It is determined that the remaining resource amount under the current ratio is greater than the demand resource amount, and it is determined that the current ratio allocation service request can be completed by the edge cloud nodes C and B. Therefore, 3:2 can be used as the target request allocation ratio for subsequent service request allocation processing.

[0092] In practical applications, the request allocation parameters are adjusted based on the comparison result of the remaining resource amount and the demand resource amount, or the target edge node is replaced and then the request allocation parameters are adjusted. Either of them can be selected according to actual needs, which is not limited in this embodiment.

[0093] In summary, by replacing the target edge node, the target request allocation parameters of the matching target edge node are determined, the nodes with sufficient resources can be selected to process the service request related to the target service, thereby improving the request processing efficiency and stability, and the resource utilization rate of the target edge node can be improved.

[0094] In addition, in order to reduce the number of adjustments, the cosine similarity can be calculated when the request allocation parameter is adjusted. In the embodiment, the specific implementation is as follows:

[0095] According to the execution result, the use resource information corresponding to the resource detection task and the available resource information corresponding to the target edge node are determined, the cosine similarity between the use resource information and the available resource information is calculated, and the request allocation parameter is adjusted based on the cosine similarity to obtain the target request allocation parameter.

[0096] Specifically, the use resource information specifically refers to the resource use information of the target service in each resource consumption dimension, and the available resource information specifically refers to the available resource information of the target edge node in each resource consumption dimension. The cosine similarity specifically refers to the similarity between the two, so as to analyze the difference between the two, so that the parameter adjustment can be directly and accurately performed according to the difference.

[0097] Based on this, in order to reduce the number of adjustments, the use resource information corresponding to the resource detection task and the available resource information corresponding to the target edge node are determined according to the execution result. Then, the cosine similarity between the use resource information and the available resource information is calculated. The request allocation parameter is adjusted according to the cosine similarity, so as to obtain the target request allocation parameter. The cosine similarity is used for multi-dimensional one-time planning, and the target request allocation parameter meeting the demand can be obtained without multiple attempts.

[0098] In step S208, if the target edge node meets the resource demand condition of the target service according to the target request allocation parameter, the service request of the target service is allocated to the target edge node.

[0099] Specifically, after the target request allocation parameter is determined, whether the target edge node meets the resource demand condition of the target service can be detected according to the target request allocation parameter. If yes, it indicates that the current request allocation parameter meets the processing capacity of each target edge node, and therefore the service request corresponding to the target request allocation parameter can be allocated to the target edge node for processing, so as to provide services to the user to which the request belongs. If not, it indicates that the current request allocation parameter cannot guarantee that the available resource of the target edge node is greater than the demand resource, and therefore other edge nodes can be selected for processing in the future, or the edge node with the largest available resource can be selected for processing. The actual demand can be selected, and the embodiment does not make any limitation here.

[0100] Further, in order to ensure the accuracy of the allocation, the request allocation quantity can be calculated when the service request is allocated to the target edge node and processed. In the embodiment, the specific implementation is as follows:

[0101] determining at least one service request associated with the target service; calculating a request allocation quantity associated with the target edge node according to the at least one service request and the target request allocation parameter; and allocating, to the target edge node, service requests of the target service corresponding to the request allocation quantity within a target time interval.

[0102] Specifically, the at least one service request specifically refers to all service requests associated with the target service at the current time, and correspondingly, the request allocation quantity specifically refers to the total number of service requests allocated to the target edge node. Based on this, first, at least one service request associated with the target service is determined; second, a request allocation quantity associated with the target edge node is calculated according to the at least one service request and the target request allocation parameter; and finally, service requests of the target service corresponding to the request allocation quantity within a target time interval are allocated to the target edge node for processing.

[0103] Following the above example, when it is determined to allocate service requests of the video service to edge cloud nodes A and B in a ratio of 2:3, service requests can be allocated to edge cloud nodes A and B in a ratio of 2:3 in the next set time interval, so that edge cloud nodes A and B can provide transmission or download of video streams to users who make the requests.

[0104] In addition, it is considered that no matter how the edge cloud node is replaced, it may not be able to meet the required resources, that is, if it is determined that the target edge node does not meet the resource requirement condition of the target service according to the target request allocation parameter obtained after adjustment, other edge nodes that meet the condition can be selected according to the target request allocation parameter for processing the corresponding service requests according to the target request allocation parameter. In addition, a loss minimum condition can also be set for maintaining that the service requests can be processed on the basis of the resource loss minimum condition when the request allocation parameter cannot be adjusted to meet the condition that the remaining resource amount is greater than the required resource amount. In this embodiment, the specific implementation manner is as follows:

[0105] In a case where it is determined that the target edge node does not meet the resource requirement condition of the target service according to the target request allocation parameter, a candidate edge node associated with the target edge node is determined in the edge node group; the candidate edge node is taken as the target edge node, and the step of creating a resource detection task associated with the target edge node according to the preset request allocation parameter is executed; and the candidate edge node meets a resource loss minimum condition associated with the target service.

[0106] Specifically, the candidate edge node specifically refers to an edge cloud node that meets the resource loss minimum condition, wherein the resource loss minimum condition specifically refers to a condition of selecting an edge cloud node with the smallest difference between the remaining resource amount and the required resource amount when the remaining resource amount is less than the required resource amount.

[0107] Based on this, in the case that the adjusted request allocation parameter still does not meet the resource requirement condition of the target service, it is indicated that there is no edge cloud node that meets the condition that the remaining resource amount is greater than the resource amount in each dimension at present, and then an edge cloud node that meets the condition of minimum resource loss can be selected from the edge node group as a candidate edge cloud node. The candidate edge node is then taken as a target edge cloud node, and the step of creating a resource detection task is executed. It should be noted that when the task is executed thereafter, the comparison result of the candidate edge node can be executed at will, but the execution result can be ignored to ensure that other target edge nodes meet the condition for subsequent processing of the service request.

[0108] For example, the service request needs to use 30 CPU cores, edge cloud node A has 10 unused CPU cores, edge cloud node B has 20 unused CPU cores, and there is no edge cloud node with more than 30 unused CPU cores. At this time, edge cloud node B can be selected as a candidate edge cloud node to ensure that the service request is processed under the condition of minimum loss to ensure that the service request can be processed as soon as possible.

[0109] In summary, by maintaining the operation of the target service based on the condition of minimum resource loss, the resource scheduling logic can be more comprehensive to ensure that the service request of the target service can be processed efficiently and stably.

[0110] In addition, considering that the calculated target request allocation parameter is a predicted parameter, it may not match the actual parameter, so after the request is actually processed, a pressure operation can be performed. In the present embodiment, the specific implementation manner is as follows:

[0111] According to the processing result of the service request, resource usage information of the target edge node in at least two resource consumption dimensions in the current resource scheduling period is determined; the request allocation parameter is adjusted to an intermediate request allocation parameter according to the resource usage information, and the intermediate request allocation parameter is taken as a preset request allocation parameter in the next resource scheduling period.

[0112] Specifically, the resource usage information specifically refers to the resource usage information of the target edge node in each resource consumption dimension in the current resource scheduling period, which is used to reflect the actual resource usage of the target service. Correspondingly, the intermediate request allocation parameter specifically refers to the request allocation ratio calculated according to the actual resource usage information.

[0113] Based on this, after the target edge node completes processing of the service request corresponding to the target request allocation parameter, the resource usage information of the target edge node in at least two resource consumption dimensions in the current resource scheduling period can be determined according to the processing result, that is, the actual resource consumption of the target service. Then, the request allocation parameter can be adjusted to an intermediate request allocation parameter according to the resource usage information, and the intermediate request allocation parameter is used as the preset request allocation parameter in the next resource scheduling period to implement the capacity reduction operation.

[0114] That is, after the resource scheduling takes effect, there may be cases that do not meet expectations. For such cases, each resource consumption dimension needs to be monitored and statistically fed back to the central scheduling system. For example, if the memory is too high, the total amount of memory can be reduced when making decisions, that is, the capacity reduction operation is performed to reduce the consumption of memory, so as to meet the actual use demand while improving the resource utilization rate.

[0115] The resource scheduling method provided in the specification can support service running in an edge cloud scenario, efficiently and stably process service-related requests. After obtaining the resource consumption portrait of the target service, the target edge node can be determined in the edge cloud based on the resource consumption portrait. Then, a resource detection task associated with the target edge node is created according to the preset request allocation parameter, and the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions. The processing capacity of the target edge node in each resource consumption dimension can be determined through the resource detection task, so that the target service-related requests can be processed within the upper limit of the resource consumption of the target edge node. To ensure stable and efficient processing, the detection subtasks of at least two resource consumption dimensions can be executed in sequence to adjust the request allocation parameter to the target request allocation parameter associated with the processing capacity of the target edge node. Finally, if the target edge node meets the resource demand conditions of the target service according to the target request allocation parameter, the target edge node can be allocated a service request corresponding to the target request allocation parameter and processed. In the edge cloud scenario, the target edge node can be selected in combination with the resource consumption portrait of the service, so that the resource consumption preference of the service is more clear, and the edge node with sufficient resources can be selected. Then, the request allocation parameter is adjusted through multi-dimensional coordinated decision-making to maximize the use of available resources of the target edge node to process service-related requests, so as to improve the resource utilization rate and reduce the resource usage cost.

[0116] The following describes the resource scheduling method provided in the specification in conjunction with the accompanying Figure 3 The resource scheduling method provided in the specification is taken as an example in the application of the audio service processing scenario. Wherein, Figure 3 A processing process flowchart of a resource scheduling method provided in an embodiment of the specification is shown, which specifically includes the following steps.

[0117] Step S302, determine the node resource consumption information corresponding to each edge node in the edge node group.

[0118] Specifically, the service requests processed by each edge node in the edge node group are obtained; the request resource consumption information of the service requests processed by each edge node in a preset time interval is determined; and the node resource consumption information corresponding to each edge node is generated according to the request resource consumption information.

[0119] Step S304, clustering the node resource consumption information, and determining the resource consumption information corresponding to the initial service in at least two resource consumption dimensions according to the clustering result.

[0120] Step S306, constructing the resource consumption portrait corresponding to the initial service according to the resource consumption information corresponding to the initial service in at least two resource consumption dimensions.

[0121] Step S308, determining a target service in the initial service, and obtaining the resource consumption portrait of the target service.

[0122] Step S310, determining the service resource consumption information corresponding to the target service in at least two resource consumption dimensions respectively according to the resource consumption portrait.

[0123] Step S312, sorting at least two resource consumption dimensions according to the service resource consumption information, and determining the target resource consumption dimension according to the sorting result.

[0124] Step S314, selecting a set number of edge nodes in the edge node group as target edge nodes based on the target resource consumption dimension.

[0125] Step S316, determining a preset request allocation parameter and a service request quantity corresponding to the target service.

[0126] Step S318, calculating the request processing information of the target edge nodes according to the request allocation parameter and the service request quantity.

[0127] Step S320, determining the resource requirement information of the target service in at least two resource consumption dimensions according to the request processing information.

[0128] Step S322, creating a detection subtask for each resource consumption dimension based on the resource requirement information of the target service in at least two resource consumption dimensions, and composing a resource detection task of the target edge nodes.

[0129] Step S324, sequentially executing the detection subtasks of at least two resource consumption dimensions, and adjusting the request allocation parameter to a target request allocation parameter according to the execution result.

[0130] Specifically, an ith detection subtask of an ith resource consumption dimension is selected in the resource detection task; by executing the ith detection subtask, it is determined whether the remaining resource amount of the target edge node in the ith resource consumption dimension meets the required resource amount of the target service in the ith resource consumption dimension; if yes, i is increased by 1, and the step of selecting the ith detection subtask of the ith resource consumption dimension in the resource detection task is executed; if no, the request allocation parameter is adjusted, the detection subtasks of each resource consumption dimension are updated according to the adjusted request allocation parameter, the target resource detection task is generated according to the updated result and is taken as the resource detection task, and the step of selecting the ith detection subtask of the ith resource consumption dimension in the resource detection task is executed; until the resource detection task does not contain an unexecuted detection subtask, the adjusted request allocation parameter is taken as the target request allocation parameter.

[0131] In step S326, the target edge node is allocated the service request corresponding to the target request allocation parameter and processing is performed.

[0132] Specifically, at least one service request associated with the target service is determined; the request allocation quantity associated with the target edge node is calculated according to the at least one service request and the target request allocation parameter; and the service request corresponding to the request allocation quantity of the target service in the target time interval is allocated to the target edge node for processing.

[0133] In step S328, the resource usage information of the target edge node in at least two resource consumption dimensions in the current resource scheduling period is determined according to the processing result of the service request.

[0134] In step S330, the request allocation parameter is adjusted to an intermediate request allocation parameter according to the resource usage information, and the intermediate request allocation parameter is taken as the preset request allocation parameter in the next resource scheduling period.

[0135] In summary, in order to support service running in the edge cloud scenario and efficiently and stably process service-related requests, after obtaining the resource consumption profile of a target service, a target edge node can be determined in the edge cloud based on the resource consumption profile, and then a resource detection task associated with the target edge node is created according to a preset request allocation parameter, and the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions, so that the processing capacity of the target edge node in each resource consumption dimension can be determined through the resource detection task, and target service-related requests can be processed within the upper limit of the resource consumption of the target edge node. In order to ensure stable and efficient processing, the detection subtasks of the at least two resource consumption dimensions can be executed in sequence, so that the request allocation parameter is adjusted to a target request allocation parameter associated with the processing capacity of the target edge node according to the execution result, and finally, in the case where the target edge node meets the resource requirement condition of the target service according to the target request allocation parameter, the target edge node can be allocated a service request corresponding to the target request allocation parameter and processed. In the edge cloud scenario, the selection of the target edge node can be combined with the resource consumption profile of the service, so that the resource consumption preference of the service is more clear, and a resource-sufficient edge node can be selected. Then, the request allocation parameter is adjusted through multi-dimensional coordinated decision-making, the available resources of the target edge node are used to the maximum extent to process service-related requests, so that the resource utilization rate is improved, and the resource use cost is reduced.

[0136] Corresponding to the method embodiments described above, the present specification also provides resource scheduling device embodiments, Figure 4 A structural schematic diagram of a resource scheduling device provided by one embodiment of the present specification is shown. As shown in the figure, Figure 4 The device includes:

[0137] The acquisition module 402 is configured to obtain a resource consumption profile of a target service, and determine a target edge node based on the resource consumption profile;

[0138] The creation module 404 is configured to create a resource detection task associated with the target edge node according to a preset request allocation parameter, wherein the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions;

[0139] The execution module 406 is configured to execute the detection subtasks of the at least two resource consumption dimensions, and adjust the request allocation parameter to a target request allocation parameter according to the execution result;

[0140] The allocation module 408 is configured to allocate a service request of the target service to the target edge node in the case where the target edge node meets the resource requirement condition of the target service according to the target request allocation parameter.

[0141] In an optional embodiment, the resource scheduling apparatus further comprises:

[0142] a determination information module configured to determine node resource consumption information corresponding to each edge node in the edge node group, cluster the node resource consumption information, determine resource consumption information corresponding to the initial service in at least two resource consumption dimensions according to a clustering result, and construct a resource consumption portrait corresponding to the initial service according to the resource consumption information corresponding to the initial service in at least two resource consumption dimensions.

[0143] In an optional embodiment, the determination information module is further configured to:

[0144] obtain service requests processed by each edge node in the edge node group, determine request resource consumption information of the service requests processed by each edge node in a preset time interval, and generate node resource consumption information corresponding to each edge node according to the request resource consumption information.

[0145] In an optional embodiment, the obtaining module 402 is further configured to:

[0146] determine service resource consumption information corresponding to the target service in at least two resource consumption dimensions respectively according to the resource consumption portrait, sort the at least two resource consumption dimensions according to the service resource consumption information, determine a target resource consumption dimension according to a sorting result, and select a set number of edge nodes in the edge node group as the target edge nodes based on the target resource consumption dimension.

[0147] In an optional embodiment, the creating module 404 is further configured to:

[0148] determine a preset request allocation parameter and a service request quantity corresponding to the target service, calculate request processing information of the target edge nodes according to the request allocation parameter and the service request quantity, determine resource requirement information of the target service in at least two resource consumption dimensions according to the request processing information, create a detection subtask for each resource consumption dimension based on the resource requirement information of the target service in at least two resource consumption dimensions, and compose a resource detection task of the target edge nodes.

[0149] In an optional embodiment, the executing module 406 is further configured to:

[0150] selecting an i-th detection subtask of an i-th resource consumption dimension in the resource detection task; judging whether the remaining resource amount of the target edge node in the i-th resource consumption dimension meets the demand resource amount of the target service in the i-th resource consumption dimension by executing the i-th detection subtask; if yes, i is increased by 1, and the step of selecting an i-th detection subtask of an i-th resource consumption dimension in the resource detection task is executed; if no, the request allocation parameter is adjusted, the detection subtasks of each resource consumption dimension are updated according to the adjusted request allocation parameter, the target resource detection task is generated according to the updating result and is taken as the resource detection task, and the step of selecting an i-th detection subtask of an i-th resource consumption dimension in the resource detection task is executed; until the resource detection task does not contain an unexecuted detection subtask, the adjusted request allocation parameter is taken as the target request allocation parameter.

[0151] In an optional embodiment, in the case that the remaining resource amount does not meet the demand resource amount, the resource scheduling apparatus further comprises:

[0152] The selecting node module is configured to select an associated edge node in the edge node group as a target edge node according to the demand resource amount, adjust a preset request allocation parameter according to the associated node resource information of the associated edge node, create a resource detection task associated with the target edge node based on the adjusted request allocation parameter, and execute the step of selecting an i-th detection subtask of an i-th resource consumption dimension in the resource detection task; until the resource detection task does not contain an unexecuted detection subtask, the adjusted request allocation parameter is taken as the target request allocation parameter.

[0153] In an optional embodiment, the resource scheduling apparatus further comprises:

[0154] The replacing node module is configured to determine a candidate edge node associated with the target edge node in the edge node group according to the condition that the target edge node does not meet the resource demand condition of the target service according to the target request allocation parameter, take the candidate edge node as a target edge node, and execute the step of creating a resource detection task associated with the target edge node according to a preset request allocation parameter; wherein the candidate edge node meets the minimum resource loss condition associated with the target service.

[0155] In an optional embodiment, the allocation module 408 is further configured to:

[0156] determining at least one service request associated with the target service; calculating a request allocation number associated with the target edge node according to the at least one service request and the target request allocation parameter; and allocating service requests corresponding to the request allocation number to the target edge node within a target time interval.

[0157] In an optional embodiment, the resource scheduling apparatus further comprises:

[0158] The adjustment parameter module is configured to determine resource usage information of the target edge node in at least two resource consumption dimensions in a current resource scheduling period according to a processing result of a service request; adjust the request allocation parameter to an intermediate request allocation parameter according to the resource usage information; and use the intermediate request allocation parameter as a preset request allocation parameter in a next resource scheduling period.

[0159] In an optional embodiment, the execution module 406 is further configured to:

[0160] determine usage resource information corresponding to the resource detection task and available resource information corresponding to the target edge node according to an execution result; calculate a cosine similarity between the usage resource information and the available resource information; and adjust the request allocation parameter based on the cosine similarity to obtain the target request allocation parameter.

[0161] The resource scheduling apparatus provided by the specification can support service running in an edge cloud scenario, efficiently and stably process service-related requests, can determine a target edge node in the edge cloud based on a resource consumption profile of a target service after obtaining the resource consumption profile of the target service, and then create a resource detection task associated with the target edge node according to a preset request allocation parameter, and the resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions, so that the processing capacity of the target edge node in each resource consumption dimension can be determined through the resource detection task, and the target service-related requests can be processed within the upper limit of the resource consumption of the target edge node. To ensure stable and efficient processing, the detection subtasks of the at least two resource consumption dimensions can be executed in sequence, and the request allocation parameter can be adjusted to a target request allocation parameter associated with the processing capacity of the target edge node according to the execution result, and finally, if it is determined that the target edge node meets the resource requirement condition of the target service according to the target request allocation parameter, the target edge node can be allocated a service request corresponding to the target request allocation parameter and processed. In the edge cloud scenario, the selection of the target edge node can be combined with the resource consumption profile of the service, so that the resource consumption preference of the service is more explicit, and a resource-sufficient edge node can be selected. Then, the request allocation parameter is adjusted through multi-dimensional coordinated decision-making, the available resources of the target edge node are used to the maximum extent to process the service-related requests, so that the resource utilization rate is improved, and the resource use cost is reduced.

[0162] The above is a schematic scheme of the resource scheduling apparatus of the embodiment. It should be noted that the technical scheme of the resource scheduling apparatus belongs to the same concept as the technical scheme of the resource scheduling method described above, and the details of the technical scheme of the resource scheduling apparatus that are not described in detail can be referred to the description of the technical scheme of the resource scheduling method.

[0163] Figure 5 A structural block diagram of a computing device 500 according to an embodiment of the specification is shown. The components of the computing device 500 include but are not limited to a memory 510 and a processor 520. The processor 520 is connected to the memory 510 through a bus 530, and a database 550 is used to save data.

[0164] The computing device 500 also includes an access device 540 that enables the computing device 500 to communicate via one or more networks 560. Examples of such networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or combinations of such networks, such as the Internet. The access device 540 can include one or more of any type of network interface (for example, a network interface card (NIC)), such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a global microwave interconnection access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and so on.

[0165] In one embodiment of the present specification, the above-mentioned components of the computing device 500 and other components not shown in the above-mentioned resource scheduling method can be connected to each other, for example, through a bus. It should be understood that Figure 5 In one embodiment of the present specification, the above-mentioned components of the computing device 500 and other components not shown in the above-mentioned resource scheduling method can be connected to each other, for example, through a bus. It should be understood that Figure 5 The computing device structure diagram shown is only for the purpose of example, and is not a limitation on the scope of the present specification. Other components can be added or replaced as needed by those skilled in the art.

[0166] The computing device 500 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (for example, a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, and so on), a mobile phone (for example, a smartphone), a wearable computing device (for example, a smart watch, smart glasses, and so on), or other types of mobile devices, or a stationary computing device such as a desktop computer or a PC. The computing device 500 can also be a mobile or stationary server.

[0167] The processor 520 is configured to execute computer-executable instructions, which, when executed by the processor, implement the steps of the above-mentioned resource scheduling method.

[0168] The above is a schematic scheme of a computing device according to an embodiment of the present specification. It should be noted that the technical scheme of the computing device belongs to the same concept as the technical scheme of the above-mentioned resource scheduling method, and the details of the technical scheme of the computing device that are not described in detail can be referred to the description of the technical scheme of the above-mentioned resource scheduling method.

[0169] An embodiment of the present specification also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the steps of the above-mentioned resource scheduling method.

[0170] The above is a schematic solution of the computer readable storage medium of the embodiment. It should be noted that the technical solution of the storage medium and the technical solution of the resource scheduling method described above belong to the same concept, and the details of the technical solution of the storage medium which are not described in detail can be referred to the description of the technical solution of the resource scheduling method.

[0171] An embodiment of the present specification further provides a computer program, wherein when the computer program is executed in the computer, the computer is enabled to perform the steps of the resource scheduling method.

[0172] The above is a schematic solution of the computer program of the embodiment. It should be noted that the technical solution of the computer program and the technical solution of the resource scheduling method described above belong to the same concept, and the details of the technical solution of the computer program which are not described in detail can be referred to the description of the technical solution of the resource scheduling method.

[0173] The above describes specific embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order than the order in which they are recited and still achieve desirable results. In addition, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.

[0174] The computer instructions include computer program code, which can be in the form of source code, object code, executable code, or some intermediate form. The computer readable medium can include any entity or apparatus capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the contents included in the computer readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer readable medium does not include electrical carrier signals and telecommunication signals.

[0175] It should be noted that, for the aforementioned method embodiments, the sequences of the described actions are not necessarily required to implement the present application, and certain actions can be performed in other sequences, or even at the same time, in accordance with the present application. Furthermore, certain actions can not be required to implement the present application. Additionally, the described embodiments are not necessarily the only possible implementation of the present application.

[0176] In the above embodiments, the description of each embodiment focuses on different aspects, and the parts not described in detail in a certain embodiment can be referred to the relevant description of other embodiments.

[0177] The preferred embodiments of the present application disclosed above are only used to clarify the present application. The alternative embodiments do not describe all the details and limit the present application to the specific embodiments described. Obviously, according to the content of the embodiments of the present application, many modifications and changes can be made. The embodiments are selected and described in detail in order to better explain the principles and practical applications of the embodiments of the present application, so that those skilled in the art can well understand and use the present application. The present application is limited by the claims and their full scope and equivalents.

Claims

1. A resource scheduling method, comprising: Obtain a resource consumption profile of the target service and determine the target edge node based on the resource consumption profile, wherein the resource consumption profile refers to a profile that quantitatively describes the consumption of the target service in at least two resource consumption dimensions after execution; A resource detection task associated with the target edge node is created according to preset request allocation parameters. The resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions, including CPU dimension, memory dimension, IO interface dimension, storage dimension and bandwidth dimension. Execute at least two resource consumption dimension detection subtasks, and adjust the request allocation parameters to the target request allocation parameters based on the execution results; If the target edge node meets the resource requirements of the target service based on the target request allocation parameters, the service request of the target service is allocated to the target edge node.

2. The method according to claim 1, before the step of obtaining the resource consumption profile of the target service is executed, further comprising: Determine the node resource consumption information for each edge node in the edge node group; Cluster the node resource consumption information, and determine the resource consumption information of the initial service in at least two resource consumption dimensions based on the clustering results; Based on the resource consumption information corresponding to the initial service in at least two resource consumption dimensions, construct a resource consumption profile for the initial service.

3. The method according to claim 2, determining the node resource consumption information corresponding to each edge node in the edge node group, including: Obtain the service requests processed by each edge node in the edge node group; Determine the resource consumption information of the service requests processed by each edge node within a preset time interval; Based on the requested resource consumption information, generate node resource consumption information for each edge node.

4. The method according to claim 1, wherein determining the target edge node based on the resource consumption profile includes: Based on the resource consumption profile, determine the service resource consumption information corresponding to the target service in at least two resource consumption dimensions; The at least two resource consumption dimensions are sorted according to the service resource consumption information, and the target resource consumption dimension is determined based on the sorting result. Based on the target resource consumption dimension, a set number of edge nodes are selected from the edge node group as the target edge nodes.

5. The method according to claim 1, comprising creating a resource detection task associated with the target edge node according to preset request allocation parameters, including: Determine the preset request allocation parameters and the number of service requests corresponding to the target service; The request processing information of the target edge node is calculated based on the request allocation parameters and the number of service requests. Based on the request processing information, determine the resource requirements of the target service in at least two resource consumption dimensions; Based on the resource requirement information of the target service in at least two resource consumption dimensions, a detection subtask for each resource consumption dimension is created, and they form the resource detection task of the target edge node.

6. The method according to claim 1, comprising executing at least two resource consumption dimension detection subtasks, and adjusting the request allocation parameters to target request allocation parameters based on the execution results, including: In the resource detection task, select the i-th detection subtask of the i-th resource consumption dimension, where i starts from 1 and is a positive integer; By executing the i-th detection subtask, it is determined whether the remaining resources of the target edge node in the i-th resource consumption dimension meet the resource requirements of the target service in the i-th resource consumption dimension. If satisfied, i is incremented by 1, and the step of selecting the i-th detection subtask of the i-th resource consumption dimension in the resource detection task is executed; If not satisfied, adjust the request allocation parameters, update the detection subtasks for each resource consumption dimension according to the adjusted request allocation parameters, generate the target resource detection task according to the update result and use it as the resource detection task, and execute the step of selecting the i-th detection subtask for the i-th resource consumption dimension in the resource detection task. Until the resource detection task does not contain any unexecuted detection subtasks, the adjusted request allocation parameters will be used as the target request allocation parameters.

7. The method according to claim 6, wherein if the remaining resource quantity does not meet the required resource quantity, the method further comprises: Based on the required resource quantity, select the associated edge node from the edge node group as the target edge node; The preset request allocation parameters are adjusted based on the associated node resource information of the associated edge nodes; Based on the adjusted request allocation parameters, a resource detection task associated with the target edge node is created, and the step of selecting the i-th detection subtask of the i-th resource consumption dimension in the resource detection task is executed. Until the resource detection task does not contain any unexecuted detection subtasks, the adjusted request allocation parameters will be used as the target request allocation parameters.

8. The method according to claim 1, further comprising: If, based on the target request allocation parameters, it is determined that the target edge node does not meet the resource requirements of the target service, a candidate edge node associated with the target edge node is identified in the edge node group. The candidate edge node is used as the target edge node, and the steps of creating a resource detection task associated with the target edge node according to the preset request allocation parameters are executed. The candidate edge nodes satisfy the condition of minimizing resource loss associated with the target service.

9. The method according to claim 1, wherein the service request for the target service is allocated to the target edge node, comprising: Identify at least one service request associated with the target service; Calculate the number of request allocations associated with the target edge node based on the at least one service request and the target request allocation parameters; The number of service requests corresponding to the requested allocation within the target time interval are allocated to the target edge node.

10. The method according to claim 1, after the step of allocating the service request to the target edge node for the target service is executed, further comprising: Based on the processing result of the service request, determine the resource usage information of the target edge node in at least two resource consumption dimensions during the current resource scheduling cycle; The request allocation parameters are adjusted to intermediate request allocation parameters based on the resource usage information, and the intermediate request allocation parameters are used as preset request allocation parameters in the next resource scheduling cycle.

11. The method according to claim 1, wherein adjusting the request allocation parameters to target request allocation parameters based on the execution result includes: Based on the execution results, determine the resource usage information corresponding to the resource detection task, and the available resource information corresponding to the target edge node; Calculate the cosine similarity between the resource usage information and the available resource information; The request allocation parameters are adjusted based on the cosine similarity to obtain the target request allocation parameters.

12. A resource scheduling device, comprising: The acquisition module is configured to acquire the resource consumption profile of the target service and determine the target edge node based on the resource consumption profile, wherein the resource consumption profile refers to a profile that quantitatively describes the consumption of the target service in at least two resource consumption dimensions after execution. The creation module is configured to create a resource detection task associated with the target edge node according to preset request allocation parameters. The resource detection task includes detection subtasks of the target service in at least two resource consumption dimensions, including CPU dimension, memory dimension, IO interface dimension, storage dimension and bandwidth dimension. The execution module is configured to execute detection subtasks for at least two resource consumption dimensions, and adjust the request allocation parameters to the target request allocation parameters based on the execution results. The allocation module is configured to allocate the service request of the target service to the target edge node when the target edge node meets the resource requirements of the target service based on the target request allocation parameters.

13. A computing device, comprising: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, which, when executed by the processor, implement the steps of the method according to any one of claims 1 to 11.

14. A computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Network system, service providing and resource scheduling method, equipment and storage medium

    CN111800283A

  • Service request distribution method, system and equipment and storage medium

    CN114760361A