Task allocation method and device, computer equipment, storage medium and product

Through the multi-cloud management platform, user task information is analyzed and cloud resource information is obtained, target cloud service resources are determined and tasks are allocated, which solves the problem of unreasonable resource allocation of multi-cloud management platform and improves resource utilization and load balancing.

CN119806799APending Publication Date: 2025-04-11CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411717466.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The resource allocation and scheduling of the multi-cloud management platform is unreasonable, resulting in idle resources or unbalanced loads, which in turn leads to unnecessary energy and time consumption.

Method used

Receive cloud service requests from user terminals through the multi-cloud management platform, analyze task information, obtain resource information from multiple cloud resource providers, determine target cloud service resources based on task characteristics and resource information, and allocate tasks to the corresponding cloud resource providers.

Benefits of technology

It realizes determining the most matching resources among the cloud service resources provided by different cloud resource groups, thereby optimizing resource allocation, improving resource utilization and load balancing, and ensuring efficient and reliable task execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806799A_ABST
    Figure CN119806799A_ABST
Patent Text Reader

Abstract

The invention relates to a task allocation method and device, computer equipment, a storage medium and a product, and relates to the technical field of cloud. The method comprises the following steps: receiving a cloud service request sent by a user terminal, wherein the cloud service request comprises task information of a user task; analyzing the task information of the user task to obtain task features of the user task; obtaining resource information of each cloud service resource in the at least two cloud resource providers; determining a target cloud service resource of the user task based on the task feature of the user task and the resource information of each cloud service resource; and allocating the user task to a target cloud resource providing end corresponding to the target cloud service resource. Through the method, the cloud service resource which is most matched with the user task can be determined in the cloud service resources belonging to different cloud resource providing ends, so that the resource allocation is optimized, the resource utilization rate and the load balance among the multi-source cloud service resources are improved, and meanwhile, the efficiency and the reliability of task execution are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of cloud technology, and in particular to a task allocation method, device, equipment, storage medium and product. Background Art

[0002] With the development of cloud computing technology, cloud service providers have begun to provide public cloud service businesses, making computing and storage resources available to users, and designing multi-cloud management platforms to solve the data privacy and data unification issues that exist in public cloud services.

[0003] However, since the resources of the multi-cloud management platform are scattered across various cloud resource providers, it is easy to cause unreasonable resource allocation and scheduling, resulting in some resources being idle or load imbalance. Unreasonable resource allocation and scheduling can easily lead to unnecessary energy consumption and time consumption. Therefore, how to achieve rational use of resources has become an urgent problem to be solved. Summary of the invention

[0004] An embodiment of the present application provides a task allocation method, which can determine the cloud service resource that best matches the user task among the cloud service resources belonging to different cloud resource providers, thereby optimizing resource allocation, improving resource utilization and load balancing between multi-source cloud service resources, and ensuring the efficiency and reliability of task execution. The technical solution is as follows.

[0005] In one aspect, a task allocation method is provided, the method being performed by a multi-cloud management platform, the multi-cloud management platform being used to manage cloud service resources in at least two cloud resource providers; the method comprising: Receiving a cloud service request sent by a user terminal, wherein the cloud service request includes task information of a user task; Parsing the task information of the user task to obtain the task characteristics of the user task; Obtaining resource information of each cloud service resource in the at least two cloud resource providers; Determine a target cloud service resource for the user task based on the task characteristics of the user task and the resource information of each cloud service resource; The user task is assigned to a target cloud resource provider corresponding to the target cloud service resource.

[0006] On the other hand, a task allocation device is provided, which is applied in a multi-cloud management platform, and the multi-cloud management platform is used to manage cloud service resources in at least two cloud resource providers; the device includes: A request receiving module, used to receive a cloud service request sent by a user terminal, wherein the cloud service request includes task information of a user task; A parsing module, used to parse the task information of the user task to obtain the task features of the user task; An information acquisition module, used to acquire resource information of each cloud service resource in the at least two cloud resource providers; A resource determination module, configured to determine a target cloud service resource for the user task based on the task characteristics of the user task and resource information of each cloud service resource; The task allocation module is used to allocate the user task to the target cloud resource provider corresponding to the target cloud service resource.

[0007] In one possible implementation, the resource determination module is used to input the input set into the resource allocation model to obtain the target cloud service resources determined by the resource allocation model; the input set includes the task characteristics of the user task and the resource information of each cloud service resource; the resource allocation model is trained based on the sample input set and the cloud service resource labels.

[0008] In a possible implementation, the resource determination module includes: A preprocessing submodule, used for preprocessing the input set based on a target preprocessing rule to obtain a preprocessing result of the input set; The resource determination submodule is used to input the input set and the preprocessing result of the input set into the resource allocation model to obtain the target cloud service resources output by the resource allocation model.

[0009] In one possible implementation, the resource information of the cloud service resources includes capacity information and workload information; the capacity information is the sum of the storage capacity of a given class in the cloud service resources; and the workload information is the load information allocated to the corresponding data center by the cloud service resources.

[0010] In a possible implementation manner, the device further includes: A utilization calculation module, configured to calculate the working resource utilization of the cloud service resource based on the workload information of the cloud service resource and the total load information of the cloud service resource; A difference calculation module, used to calculate the resource utilization difference between the working resource utilization of the cloud service resource and the resource utilization threshold; The rule determination module is used to determine the target preprocessing rule based on the numerical comparison relationship between the resource utilization difference and the difference threshold.

[0011] In a possible implementation, the rule determination module is used to: In a case where the resource utilization difference is greater than the difference threshold, determining the target preprocessing rule to be the first preprocessing rule; In a case where the resource utilization difference is less than or equal to the difference threshold, determining that the target preprocessing rule is a second preprocessing rule; The first preprocessing rule and the second preprocessing rule have different preprocessing parameters corresponding to them.

[0012] In a possible implementation, the multi-cloud management platform manages public keys corresponding to respective cloud resource providers; the device further includes: A public key acquisition module, used to acquire the public key of the target cloud resource provider after assigning the user task to the target cloud service resource corresponding to the target cloud resource provider; the public key is calculated based on the encryption function constructed based on the first encryption parameter and the second encryption parameter corresponding to the target cloud resource provider; The public key sending module is used to send the public key of the target cloud service resource to the user terminal, so that the user terminal can access the target cloud service resource after passing the identity authentication of the target cloud resource provider based on the public key.

[0013] In a possible implementation, the first encryption parameter is calculated based on the first auxiliary parameter, the second auxiliary parameter and the control parameter of the cloud resource provider; the second encryption parameter is a random parameter with the same length as the first encryption parameter.

[0014] In a possible implementation, the task information includes at least one of the following: task identification, task arrival time, and task resource requirements; the task characteristics include at least one of the following: task cost, processing task size, task efficiency, and task weight.

[0015] In a possible implementation, the parsing module is used to: Determining a task cost of the user task based on a task requirement data rate and a task requirement holding time indicated by the task resource requirement; Determine the processing task size of the user task based on the total task size of the user task received by the multi-cloud management platform and the task selection error probability; the task selection error probability is the error probability of the multi-cloud management platform when selecting a user task whose task size is lower than a task size threshold; Determining a task efficiency of the user task based on the duration of the cloud service resource indicated by the task resource requirement and the delay time of the cloud service resource; A task weight of the user task is determined based on the task cost and the task efficiency.

[0016] On the other hand, a computer device is provided, the computer device comprising a processor and a memory, the memory storing at least one computer program, the at least one computer program being loaded and executed by the processor to implement the above-mentioned task allocation method.

[0017] On the other hand, a computer-readable storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, and the computer program is loaded and executed by a processor to implement the above-mentioned task allocation method.

[0018] On the other hand, a computer program product is provided, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions, which, when executed by a computer, cause the computer to execute to implement the task allocation method provided in the various optional implementations described above.

[0019] The technical solution provided by this application may have the following beneficial effects: The task allocation method provided in the embodiment of the present application is that the multi-cloud management platform parses the task information of the user task carried in the cloud service request sent by the user terminal to obtain the task environment of the user task, combines the resource information of each cloud service resource in at least two cloud resource providers, determines the target cloud service resource of the user task, and then allocates the user task to the target cloud resource provider corresponding to the target cloud service resource for processing; through the above method, the multi-cloud management platform can determine the cloud service resource that best matches the user task among the cloud service resources belonging to different cloud resource providers, thereby optimizing resource allocation, improving resource utilization, and ensuring the efficiency and reliability of task execution.

[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0022] Figure 1 A flowchart of a task allocation method provided in an embodiment of the present application is shown; Figure 2 A flowchart of another task allocation method provided by an embodiment of the present application is shown; Figure 3 A schematic diagram of a resource allocation model provided by an exemplary embodiment of the present application is shown; Figure 4 An interactive schematic diagram of a task allocation method provided by an exemplary embodiment of the present application is shown; Figure 5 A block diagram of a task allocation device provided by an exemplary embodiment of the present application is shown; Figure 6 A structural block diagram of a computer device shown in an exemplary embodiment of the present application is shown; Figure 7 A structural block diagram of a computer device shown in an exemplary embodiment of the present application is shown. DETAILED DESCRIPTION

[0023] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0024] The embodiment of the present application provides a task allocation method, which can improve the rationality of the multi-cloud management platform's use of cloud service resources in multiple cloud resource providers. Figure 1 A flowchart of a task allocation method provided in an embodiment of the present application is shown. The method can be executed by a multi-cloud management platform, which is used to manage cloud service resources in at least two cloud resource providers, such as Figure 1 As shown, the task allocation method may include the following steps: Step 110: receiving a cloud service request sent by a user terminal, wherein the cloud service request includes task information of the user task.

[0025] In the scenario of cloud resource services, users need to submit cloud service requests through user terminals in order to obtain cloud service resources from cloud resource providers through the multi-cloud management platform. The cloud service request may include task information of the user task, which can be used to indicate the cloud resources required to process the user task and the time limit for the required cloud resources. The multi-cloud management platform is responsible for allocating and maintaining requests based on cloud service requests to meet user needs.

[0026] In an embodiment of the present application, the cloud service request is used to instruct the multi-cloud management platform to allocate cloud service resources required for user tasks, and the user tasks are user tasks sent by user terminals to be allocated and processed cloud service resources. The multi-cloud management platform can establish a management relationship with multiple cloud resource providers, and the multi-cloud management platform can centrally manage the cloud service resources of multiple cloud resource providers, wherein the cloud service resources may include but are not limited to virtual machines, containers, storage resources, databases and other resources; through the multi-cloud management platform, unified management and monitoring of cloud service resources scattered in different cloud resource providers can be achieved without the need to manage each cloud resource provider separately. A cloud resource provider refers to a cloud platform that provides cloud services. A cloud resource provider can provide cloud infrastructure and cloud services, including but not limited to computing resources, storage resources, and network resources; the cloud resource provider enables users to obtain and use various cloud resources on demand through its cloud platform and services.

[0027] Step 120: parse the task information of the user task to obtain the task features of the user task.

[0028] Among them, the task characteristics of user tasks are the key attributes obtained after abstracting task information or performing further information extraction, which are used to describe the basic characteristics and requirements of user tasks.

[0029] Step 130: Obtain resource information of each cloud service resource in at least two cloud resource providers.

[0030] In the embodiment of the present application, each cloud resource provider can provide multiple cloud service resources. Schematically, it is assumed that the multi-cloud management platform manages X cloud resource providers, which are respectively denoted as ,in, Indicates the Xth cloud resource provider; each cloud resource provider corresponds to N cloud service resources. Taking cloud service resources as virtual machines and container resources as an example, a cloud resource provider can include Y virtual machines and R container resources , where Y+R=N, X, N, Y, and R are all positive integers; it should be noted that the types and quantities of cloud service resources under the cloud resource provider are only illustrative and this application imposes restrictions on this.

[0031] The resource information of the cloud service resources may be parameters used to describe the performance indicators of the cloud service resources. Based on the resource information of the cloud service resources, the current performance of the cloud service resources may be evaluated, such as resource occupancy, data processing efficiency, etc.

[0032] Step 140 : determining the target cloud service resource of the user task based on the task characteristics of the user task and the resource information of each cloud service resource.

[0033] The target cloud service resource may refer to the cloud service resource that is most suitable for processing the user task after comprehensive evaluation based on the task characteristics and resource information of each cloud service resource. The target cloud service resource may be the result determined after comprehensive evaluation based on the performance, response time, cost and other dimensions of the cloud service resource.

[0034] Step 150: assign the user task to the target cloud resource provider corresponding to the target cloud service resource.

[0035] In one possible implementation, the multi-cloud management platform sends resource indication information to the target cloud resource provider while assigning the user task to the target cloud resource provider. The resource indication information is used to instruct the target cloud resource provider to assign the user task to the target cloud service resource so that the target cloud resource provider can execute the cloud service resource through the target cloud service resource.

[0036] To summarize, in the task allocation method provided in the embodiment of the present application, the multi-cloud management platform parses the task information of the user task carried in the cloud service request sent by the user terminal to obtain the task environment of the user task, combines the resource information of each cloud service resource in at least two cloud resource providers, determines the target cloud service resource of the user task, and then allocates the user task to the target cloud service resource corresponding to the target cloud service resource for processing; through the above method, the multi-cloud management platform can determine the cloud service resource that best matches the user task among the cloud service resources belonging to different cloud resource providers, thereby optimizing resource allocation, improving resource utilization, and ensuring the efficiency and reliability of task execution.

[0037] In the embodiment of the present application, the cloud management platform can determine the target cloud service resources of the user task through the resource allocation model. Figure 2 A flowchart of another task allocation method provided in an embodiment of the present application is shown. The method can be executed by a multi-cloud management platform, which is used to manage cloud service resources in at least two cloud resource providers, such as Figure 2 As shown, the task allocation method may include the following steps: Step 210: receiving a cloud service request sent by a user terminal, wherein the cloud service request includes task information of the user task.

[0038] The task information includes at least one of the following: task identification, task arrival time, and task resource requirements; wherein the task identification is a unique mark or number that identifies the user task, which is used to distinguish different tasks, and each user task has a unique number in the entire system; the task arrival time refers to the time when the task arrives at the system, and in the embodiment of the present application, it refers to the time when the user task arrives at the multi-cloud management platform, that is, the time when the user task is first received by the multi-cloud management platform; the task resource requirements refer to the requirements for computing, storage, network and other resources required to execute the user task. For example, the task resource requirements may include the number of CPU cores, memory size, storage space, network bandwidth, etc.; in the embodiment of the present application, the task resource requirements may further include the task requirement rate, task requirement retention time, cloud The duration of service resources, the delay time of cloud service requests, etc.; among them, the task demand rate refers to the processing rate of cloud service resources required by user tasks per unit time; the task demand retention time refers to the length of time required for user tasks from submission to the multi-cloud management platform to completion or cancellation of the task, which reflects the duration of user tasks throughout the entire life cycle; the duration of cloud service resources refers to the length of time required for user tasks from the time cloud service resources are allocated to user tasks and remain active, which reflects the estimated occupied time of cloud service resources during task execution; the delay time of cloud service requests refers to the estimated time difference from the time when user tasks are submitted to the multi-cloud management platform to the time when they are allocated to cloud service resources, which reflects the estimated speed at which the multi-cloud management platform responds to cloud service requests.

[0039] Step 220: parse the task information of the user task to obtain the task features of the user task.

[0040] After receiving a cloud service request, the multi-cloud management platform can extract the task information in the cloud service request, including the task identifier, task arrival time, and task resource requirements, etc., and further parse the task information to obtain the task characteristics of the user task.

[0041] In one possible implementation, the task features include at least one of the following: task cost, task size, task efficiency, and task weight; wherein task cost refers to the total amount of resources required to execute the user task; task size refers to the estimated actual size of the user task executed in the multi-cloud management platform; task efficiency refers to the execution efficiency of the user task on the cloud service resources; task weight refers to a comprehensive score given to the user task after comprehensively considering the task cost and task efficiency. It should be noted that, based on different actual needs, more or fewer task features can be set to determine cloud service resources, and this application does not limit the number and type of task features.

[0042] The process of parsing task information to obtain task features can be implemented as follows: Based on the task requirement data rate and the task requirement holding time indicated by the task resource requirement, the task cost of the user task is determined; optionally, the task cost may be the product of the task requirement data rate and the task requirement holding time, and the calculation formula of the task cost may be expressed as:

[0043] in, Represents the task required data rate of the user task; Indicates the duration of task requirements for user tasks; Represents the task cost of the user's task.

[0044] Based on the total task size of the user tasks received by the multi-cloud management platform and the task selection error probability, the processing task size of the user task is determined; the task selection error probability is the error probability of the multi-cloud management platform when selecting a user task whose task size is lower than the task size threshold.

[0045] Optionally, the formula for calculating the processing task size of a user task can be expressed as:

[0046] in, Indicates the total task size of user tasks received by the multi-cloud management platform; represents the task error probability when selecting a smaller user task (i.e., a user task whose task size is lower than the task size threshold) among many user tasks, i.e., the task selection error probability; Indicates the processing task size of the user task.

[0047] Based on the duration of the cloud service resources indicated by the task resource demand and the delay time of the cloud service request, the task efficiency of the user task is determined; optionally, the task efficiency is the ratio of the duration of the cloud service resources to the delay time of the cloud service request, and the calculation formula of the task efficiency can be expressed as:

[0048] in, Represents the task efficiency of the user's task; represents the duration of the cloud service resources indicated by the task resource demand; Indicates the latency of cloud service requests.

[0049] The task weight of the user task is determined based on the task cost and the task efficiency; optionally, since the task cost and the task efficiency belong to different data dimensions, it is necessary to normalize the task cost and the task efficiency respectively, and then determine the task weight of the user task based on their respective normalized results, wherein, after the task cost and the task efficiency are normalized respectively, they can be normalized based on their respective corresponding normalized standard values, and the normalized standard value can be a custom setting based on the demand, or can also be a basic reference value obtained based on historical data statistics; schematically, the task weight can be the result of weighting the sum of the normalized task cost and the normalized task efficiency by a preset weight coefficient, and the calculation formula of the task weight can be expressed as:

[0050] in, Indicates the task weight of the user's task; The normalized value representing the task efficiency of the user task; Represents the normalized value of the task cost of the user's task. Indicates the preset weight coefficient.

[0051] The information of the user task such as the task cost, task size, task speed, task weight, etc. obtained through the above calculations are all used to determine the cloud service resources used to execute the user task.

[0052] Step 230: Obtain resource information of each cloud service resource in at least two cloud resource providers.

[0053] In a possible implementation, the resource information of the cloud service resource includes capacity information and workload information, wherein the capacity information and workload information of the cloud service resource can be obtained from the attribute information of the cloud service resource.

[0054] Schematically, taking a cloud service resource as a virtual machine as an example, the attribute information of each virtual machine can be expressed as follows:

[0055] in, Indicates the Yth virtual machine running in the Xth cloud resource provider; Indicates the ID of the virtual machine; Indicates the computing speed of the virtual machine; Indicates the primary storage capacity of the virtual machine; Indicates the secondary storage capacity of the virtual machine; Indicates the bandwidth of the virtual machine.

[0056] The capacity information may be the sum of various storage capacities in the cloud service resources. For example, the capacity information of the virtual machine may be the sum of the primary storage capacity, the auxiliary storage capacity and other storage capacities of the virtual machine.

[0057] The workload information may be load information of a data center to which the cloud service resource is allocated.

[0058] The load of cloud service resources can be determined based on the workload information of cloud service resources. This process can be implemented as follows: The working resource utilization rate of the cloud service resource is calculated based on the workload information of the cloud service resource and the total load information of the cloud service resource; The load condition of the cloud load resource is determined based on a resource utilization difference between a working resource utilization of the cloud service resource and a resource utilization threshold.

[0059] In one possible implementation, when the working resource utilization of a cloud service resource is less than a resource utilization threshold, the cloud service resource is determined to be underloaded; when the working resource utilization of a cloud service resource is greater than the working resource utilization, the cloud service resource is determined to be overloaded; wherein the resource utilization threshold may be set based on actual demand, and illustratively, the resource utilization threshold may be 0.5 or any other optional value, and this application does not impose any restrictions on this.

[0060] Step 240, input the input set into the resource allocation model to obtain the target cloud service resources determined by the resource allocation model; the input set includes the task characteristics of the user task and the resource information of each cloud service resource; the resource allocation model is trained based on the sample input set and the cloud service resource labels.

[0061] In one possible implementation, the multi-cloud management platform can input the input set into the resource allocation model to obtain the target cloud service resources determined by the resource allocation model. Correspondingly, when training the resource allocation model, the sample input set is input into the resource allocation model, and the model parameters are updated based on the difference between the predicted cloud service resources input by the resource allocation model and the cloud service resource labels.

[0062] In another possible implementation, when determining the target cloud service resources based on the input set and the resource allocation model, the multi-cloud management platform may first preprocess the input set based on the target preprocessing rules to obtain the preprocessing result of the input set; input the input set and the preprocessing result of the input set into the resource allocation model to obtain the target cloud service resources output by the resource allocation model; correspondingly, when training the resource allocation model, the preprocessing results of a sample input set and a sample input set are input into the resource allocation model, and the model parameters are updated based on the difference between the predicted cloud service resources input by the resource allocation model and the cloud service resource labels.

[0063] In an embodiment of the present application, the resource allocation model may include a fuzzy layer, a product layer, a normalization layer, a defuzzification layer and an output layer; the input set is input by the fuzzy layer, and the preprocessing result of the input set is input by the defuzzification layer. That is to say, after the input set is input into the resource allocation model, after being processed by the fuzzy layer, the product layer and the normalization layer, the output result of the normalization layer and the preprocessing result of the input set are input into the defuzzification layer for processing, and the output result of the fuzzy layer is input into the output layer to obtain the target cloud service resources output by the output layer. Figure 3 A schematic diagram of a resource allocation model provided by an exemplary embodiment of the present application is shown. Figure 3 As shown, the resource allocation model includes a fuzzy layer 310 , a product layer 320 , a normalization layer 330 , a defuzzification layer 340 and an output layer 350 .

[0064] The fuzzy layer 310 is used to convert the input set received by the resource allocation model into a label language with levels, for example, converting the task cost into a lower cost or a higher cost based on the task cost threshold, converting the task size into a smaller task or a larger task based on the task size threshold, etc.; schematically, the output after processing by each node in the fuzzy layer 310 can be expressed as:

[0065] in, Represents the output of the first layer of the resource allocation model, that is, the output of the fuzzy layer; Represents the input set, including the task cost, task size, task speed, task weight of the user task, and the capacity information and workload information of the cloud service resources. Represents the preset Gaussian membership function, and its expression is:

[0066] Each node in the product layer 320 is a fixed node, which is used to multiply the information output by the fuzzy layer 310. The output of each node is expressed as:

[0067] in, It represents the output of the second layer of the resource allocation model, that is, the output of the product layer; The output of each node representing the product layer represents the probability distribution of the rule.

[0068] The output of each node in the normalization layer 330 indicates the normalized position of the probability distribution at the product layer, and the output of each node is expressed as:

[0069] in, represents the output of the third layer of the resource allocation model, that is, the output of the normalization layer; Represents the normalized entropy value of the above probability distribution.

[0070] The input of the deblurring layer 340 includes the output of the normalization layer and the preprocessing result of the input set, so as to enhance the feature information based on the preprocessing result of the input set; the output of each node of the deblurring layer is expressed as:

[0071] in, Represents the output of the fourth layer of the resource allocation model, namely the output of the defuzzification layer. Represents the preprocessing result of the input set. Represents the normalized entropy value of the above probability distribution.

[0072] The output layer 350 includes a node for predicting the synthesis of the outputs of the nodes from the defuzzification layer to generate the overall output of the prediction resource allocation model, that is, the predicted target cloud service resources, and its output is expressed as:

[0073] in, The output of the fifth layer of the resource allocation model, that is, the output of the output layer, is the most ideal target cloud service resource corresponding to the user task, such as the identifier of the virtual machine used to process the user task.

[0074] In a possible implementation, a target preprocessing rule for preprocessing the input set may be determined by the multi-cloud management platform based on workload information of cloud service resources. The process of determining the target preprocessing rule may be implemented as follows: The working resource utilization rate of the cloud service resource is calculated based on the workload information of the cloud service resource and the total load information of the cloud service resource; Calculate the resource utilization difference between the working resource utilization of the cloud service resources and the resource utilization threshold; Based on the numerical comparison relationship between the resource utilization difference and the difference threshold, a target preprocessing rule is determined.

[0075] Among them, the resource utilization difference = resource utilization threshold - working resource utilization; the resource utilization threshold and the difference threshold can be set based on actual needs, and this application does not limit this; the multi-cloud management platform can be set with a correspondence between the numerical comparison relationship between the resource utilization difference and the difference threshold and the preprocessing rules, so as to determine the preprocessing rules based on the numerical comparison relationship.

[0076] Different numerical comparison relationships between different resource utilization differences and difference thresholds correspond to different preprocessing rules, so that the input set is adaptively processed by the corresponding preprocessing rules. In a possible implementation, when the resource utilization difference is greater than the difference threshold, the target preprocessing rule is determined to be the first preprocessing rule; When the resource utilization difference is less than or equal to the difference threshold, determining the target preprocessing rule to be the second preprocessing rule; The preprocessing parameters corresponding to the first preprocessing rule and the second preprocessing rule are different.

[0077] If the resource utilization difference is greater than the difference threshold, it means that the workload information of the cloud service resource is much less than the resource utilization threshold. In this case, the target preprocessing rule is the first preprocessing rule, which can be expressed as:

[0078] in, represents a preprocessing result after the input set of the resource allocation model is processed by the first preprocessing rule; and It represents the input set of the resource allocation model, namely, the task cost, task size, task speed, task weight of the user task, and the capacity information and workload information of the cloud service resources. , and Indicates the preprocessing parameter set corresponding to the first preprocessing rule.

[0079] If the resource utilization difference is less than the difference threshold, it means that the difference between the workload information of the cloud service resource and the resource utilization threshold is small. In this case, the target processing rule is the second preprocessing rule, which can be expressed as:

[0080] in, represents a preprocessing result after the input set of the resource allocation model is processed by the second preprocessing rule; , and Indicates the preprocessing parameter set corresponding to the second preprocessing rule.

[0081] Step 250: assign the user task to the target cloud resource provider corresponding to the target cloud service resource.

[0082] After determining the target cloud service resource corresponding to the user task, the multi-cloud management platform can determine the target cloud resource provider to which it belongs based on the target cloud service resource. By assigning the user task to the target cloud resource provider, the target cloud resource provider can call the target cloud service resource to execute the user task.

[0083] Since the cloud service resources under each cloud resource provider are important information storage locations, in order to ensure the security of access to cloud service resources, in an embodiment of the present application, each cloud resource provider can pre-calculate and generate its own key pair, and send the public key in the key pair to the multi-cloud management platform so that the multi-cloud management platform can store the public key in association with the corresponding cloud resource service end, and store the private key locally to authenticate the user accessing the cloud resource service. Accordingly, the multi-cloud management platform can pre-receive and store the public keys sent by each cloud resource provider, that is, the multi-cloud management platform manages the public keys corresponding to each cloud resource provider. After assigning the user task to the target cloud resource provider corresponding to the target cloud service resource, the method also includes: Obtaining a public key of a target cloud resource provider; the public key is calculated based on an encryption function constructed based on a first encryption parameter and a second encryption parameter corresponding to the target cloud resource provider; The public key of the target cloud service resource is sent to the user terminal, so that the user terminal can access the target cloud service resource after passing the identity authentication of the target cloud resource provider based on the public key.

[0084] That is to say, after the multi-cloud management platform assigns the user task to the target cloud resource provider, it can feed back the response information containing the assignment information of the target task and the public key of the target cloud resource provider to the user terminal; the user terminal can send an access request to the target cloud resource provider based on the public key, and the target cloud resource provider verifies and matches the public key carried in the access request based on the locally stored private key. If the verification and match are successful, it is determined that the user terminal has passed the identity authentication and the user terminal is authorized to access the cloud service resources corresponding to the user terminal under the target cloud resource provider; if the verification and match fail, it is determined that the user terminal has not passed the identity authentication and the access request of the user terminal is rejected.

[0085] Among them, when generating a key pair, the cloud resource provider can construct an encryption function based on the first encryption parameter and the second encryption parameter, and generate the public key and private key in the key pair based on the constructed encryption function; the first encryption parameter is calculated based on the first auxiliary parameter, the second auxiliary parameter and the control parameter of the cloud resource provider; the second encryption parameter is a random parameter with the same length as the first encryption parameter.

[0086] Schematically, the calculation formula of the first encryption parameter v can be expressed as:

[0087] Wherein, v represents the first encryption parameter of the cloud resource provider. A represents the control parameter of the encryption parameter v; A represents the first auxiliary parameter of the encryption parameter; B represents the second auxiliary parameter of the encryption parameter; its range is as follows:

[0088]

[0089] in, Indicates the upper limit range of the first auxiliary parameter; Indicates the upper limit range of the second auxiliary parameter.

[0090] When calculating the first encryption parameter, the cloud resource provider may randomly select a value within a corresponding value range to calculate the corresponding first encryption parameter.

[0091] In order to increase the difficulty of cracking the key and improve security, a second encryption parameter is introduced when constructing the encryption function. The second encryption parameter can be a random number u with the same length as the first encryption parameter.

[0092] Optionally, the encryption function may be an Euler function, which is used to calculate the public key and the private key in the key pair; schematically, the Euler function constructed based on the first encryption function and the second encryption parameter may be expressed as:

[0093] The formula for calculating the public key g based on the encryption function can be expressed as:

[0094]

[0095] The formula for calculating the private key h based on the encryption function and the public key can be expressed as:

[0096] To summarize, in the task allocation method provided in the embodiment of the present application, the multi-cloud management platform parses the task information of the user task carried in the cloud service request sent by the user terminal to obtain the task environment of the user task, combines the resource information of each cloud service resource in at least two cloud resource providers, determines the target cloud service resource of the user task, and then allocates the user task to the target cloud service resource corresponding to the target cloud service resource for processing; through the above method, the multi-cloud management platform can determine the cloud service resource that best matches the user task among the cloud service resources belonging to different cloud resource providers, thereby optimizing resource allocation, improving resource utilization and load balancing between multi-source cloud service resources, and ensuring the efficiency and reliability of task execution.

[0097] Figure 4 An interactive schematic diagram of a task allocation method provided by an exemplary embodiment of the present application is shown, and the method can be executed by a user terminal, a multi-cloud management platform, and a target cloud resource provider; Figure 4 As shown, the task allocation method may include: S401, the user terminal sends a cloud service request to the multi-cloud management platform; correspondingly, the multi-cloud management platform receives the cloud service request.

[0098] S402, the multi-cloud management platform extracts task information of the user task from the cloud service request.

[0099] S403, the multi-cloud management platform parses the task information of the user task to obtain the task characteristics of the user task.

[0100] S404, the multi-cloud management platform obtains resource information of each cloud service resource in at least two cloud resource providers.

[0101] S405, the multi-cloud management platform determines the target cloud service resources for the user task based on the input set through the resource allocation model, where the input set includes the task characteristics of the user task and the resource information of each cloud service resource.

[0102] S406, the multi-cloud management platform assigns the user task to the target cloud resource provider corresponding to the target cloud service resource, and correspondingly, the target cloud resource provider receives the user task.

[0103] S407, the target cloud resource provider calls the target cloud service resource to execute the user task.

[0104] S408, the multi-cloud management platform sends the public key of the target cloud resource provider to the user terminal, and correspondingly, the user terminal receives the public key of the target cloud resource provider.

[0105] S409, the user terminal sends an access request to the target cloud resource provider based on the public key of the target cloud resource provider; correspondingly, the target cloud resource provider receives the access request.

[0106] S410, the target cloud resource provider verifies the legitimacy of the access request based on the locally stored private key and obtains a verification result.

[0107] S411, when the verification result indicates that the user terminal is legitimate, the target cloud resource provider authorizes the user terminal to access its corresponding cloud service resources.

[0108] For more information about the above steps, please refer to Figure 1 or Figure 3 The relevant contents of the illustrated embodiment will not be repeated here.

[0109] To summarize, in the task allocation method provided in the embodiment of the present application, the multi-cloud management platform parses the task information of the user task carried in the cloud service request sent by the user terminal to obtain the task environment of the user task, combines the resource information of each cloud service resource in at least two cloud resource providers, determines the target cloud service resource of the user task, and then allocates the user task to the target cloud service resource corresponding to the target cloud service resource for processing; through the above method, the multi-cloud management platform can determine the cloud service resource that best matches the user task among the cloud service resources belonging to different cloud resource providers, thereby optimizing resource allocation, improving resource utilization and load balancing between multi-source cloud service resources, and ensuring the efficiency and reliability of task execution.

[0110] Figure 5 A block diagram of a task allocation device provided by an exemplary embodiment of the present application is shown. The device can be applied in a multi-cloud management platform to perform the following steps: Figure 1 , Figure 2 or Figure 4 In all or part of the steps of the illustrated embodiment, the multi-cloud management platform is used to manage cloud service resources in at least two cloud resource providers; the device includes: The request receiving module 510 is used to receive a cloud service request sent by a user terminal, wherein the cloud service request includes task information of a user task; The parsing module 520 is used to parse the task information of the user task to obtain the task features of the user task; The information acquisition module 530 is used to acquire resource information of each cloud service resource in the at least two cloud resource providers; A resource determination module 540, configured to determine a target cloud service resource for the user task based on the task characteristics of the user task and resource information of each cloud service resource; The task allocation module 550 is used to allocate the user task to the target cloud resource provider corresponding to the target cloud service resource.

[0111] In one possible implementation, the resource determination module 540 is used to input the input set into the resource allocation model to obtain the target cloud service resources determined by the resource allocation model; the input set includes the task characteristics of the user task and the resource information of each cloud service resource; the resource allocation model is trained based on the sample input set and the cloud service resource labels.

[0112] In a possible implementation, the resource determination module 540 includes: A preprocessing submodule, used for preprocessing the input set based on a target preprocessing rule to obtain a preprocessing result of the input set; The resource determination submodule is used to input the input set and the preprocessing result of the input set into the resource allocation model to obtain the target cloud service resources output by the resource allocation model.

[0113] In one possible implementation, the resource information of the cloud service resources includes capacity information and workload information; the capacity information is the sum of the storage capacity of a given class in the cloud service resources; and the workload information is the load information allocated to the corresponding data center by the cloud service resources.

[0114] In a possible implementation manner, the device further includes: A utilization calculation module, configured to calculate the working resource utilization of the cloud service resource based on the workload information of the cloud service resource and the total load information of the cloud service resource; A difference calculation module, used to calculate the resource utilization difference between the working resource utilization of the cloud service resource and the resource utilization threshold; The rule determination module is used to determine the target preprocessing rule based on the numerical comparison relationship between the resource utilization difference and the difference threshold.

[0115] In a possible implementation, the rule determination module is used to: In a case where the resource utilization difference is greater than the difference threshold, determining the target preprocessing rule to be the first preprocessing rule; In a case where the resource utilization difference is less than or equal to the difference threshold, determining that the target preprocessing rule is a second preprocessing rule; The first preprocessing rule and the second preprocessing rule have different preprocessing parameters corresponding to them.

[0116] In a possible implementation, the multi-cloud management platform manages public keys corresponding to respective cloud resource providers; the device further includes: A public key acquisition module, used to acquire the public key of the target cloud resource provider after assigning the user task to the target cloud service resource corresponding to the target cloud resource provider; the public key is calculated based on the encryption function constructed based on the first encryption parameter and the second encryption parameter corresponding to the target cloud resource provider; The public key sending module is used to send the public key of the target cloud service resource to the user terminal, so that the user terminal can access the target cloud service resource after passing the identity authentication of the target cloud resource provider based on the public key.

[0117] In a possible implementation, the first encryption parameter is calculated based on the first auxiliary parameter, the second auxiliary parameter and the control parameter of the cloud resource provider; the second encryption parameter is a random parameter with the same length as the first encryption parameter.

[0118] In a possible implementation, the task information includes at least one of the following: task identification, task arrival time, and task resource requirements; the task characteristics include at least one of the following: task cost, processing task size, task efficiency, and task weight.

[0119] In a possible implementation, the parsing module 520 is used to: Determining a task cost of the user task based on a task requirement data rate and a task requirement holding time indicated by the task resource requirement; Determine the processing task size of the user task based on the total task size of the user task received by the multi-cloud management platform and the task selection error probability; the task selection error probability is the error probability of the multi-cloud management platform when selecting a user task whose task size is lower than a task size threshold; Determining a task efficiency of the user task based on the duration of the cloud service resource indicated by the task resource requirement and the delay time of the cloud service resource; A task weight of the user task is determined based on the task cost and the task efficiency.

[0120] To summarize, in the task allocation device provided in the embodiment of the present application, the multi-cloud management platform obtains the task information of the user task by parsing the task information of the user task carried in the cloud service request sent by the user terminal, and determines the target cloud service resource of the user task by combining the resource information of each cloud service resource in at least two cloud resource providers, and then allocates the user task to the target cloud service resource corresponding to the target cloud service resource for processing; through the above-mentioned device, the multi-cloud management platform can determine the cloud service resource that best matches the user task among the cloud service resources belonging to different cloud resource providers, thereby optimizing resource allocation, improving resource utilization, and ensuring the efficiency and reliability of task execution.

[0121] Figure 6 The structural block diagram of a computer device 600 shown in an exemplary embodiment of the present application is shown. The computer device can be implemented as a multi-cloud management platform and a cloud resource provider in the above-mentioned solution of the present application. The computer device 600 includes a central processing unit (CPU) 601, a system memory 604 including a random access memory (RAM) 602 and a read-only memory (ROM) 603, and a system bus 605 connecting the system memory 604 and the central processing unit 601. The computer device 600 also includes a large-capacity storage device 606 for storing an operating system 609, an application program 610, and other program modules 611.

[0122] Without loss of generality, the computer-readable medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer storage media include RAM, ROM, Erasable Programmable Read Only Memory (EPROM), Electronically-Erasable Programmable Read-Only Memory (EEPROM) flash memory or other solid-state storage technology, CD-ROM, Digital Versatile Disc (DVD) or other optical storage, tape cassettes, tapes, disk storage or other magnetic storage devices. Of course, those skilled in the art will know that the computer storage medium is not limited to the above. The above-mentioned system memory 604 and mass storage device 606 can be collectively referred to as memory.

[0123] According to various embodiments of the present disclosure, the computer device 600 can also be connected to a remote computer on the network through a network such as the Internet. That is, the computer device 600 can be connected to the network 608 through the network interface unit 607 connected to the system bus 605, or the network interface unit 607 can be used to connect to other types of networks or remote computer systems (not shown).

[0124] The memory also includes at least one instruction, at least one program, code set or instruction set, and the at least one instruction, at least one program, code set or instruction set is stored in the memory. The central processing unit 601 implements all or part of the steps in the task allocation method shown in the above-mentioned embodiments by executing the at least one instruction, at least one program, code set or instruction set.

[0125] Figure 7 The following is a block diagram of a computer device 700 according to an exemplary embodiment of the present application. The computer device 700 may be implemented as the above-mentioned user terminal, such as a smart phone, a tablet computer, a notebook computer, a desktop computer, etc. The computer device 700 may also be referred to as a user device, a portable terminal, a laptop terminal, a desktop terminal, or other names.

[0126] Typically, the computer device 700 includes a processor 701 and a memory 702 .

[0127] In some embodiments, the computer device 700 may further optionally include: a peripheral device interface 703 and at least one peripheral device. The processor 701, the memory 702 and the peripheral device interface 703 may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface 703 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 704, a display screen 705, a camera assembly 706, an audio circuit 707 and a power supply 708.

[0128] In some embodiments, the computer device 700 further includes one or more sensors 709 , including but not limited to: an acceleration sensor 710 , a gyroscope sensor 711 , a pressure sensor 712 , an optical sensor 713 , and a proximity sensor 714 .

[0129] Those skilled in the art will understand that Figure 7 The structure shown in the figure does not constitute a limitation on the computer device 700, and the computer device 700 may include more or less components than shown in the figure, or combine some components, or adopt a different arrangement of components.

[0130] In an exemplary embodiment, a computer-readable storage medium is also provided, in which at least one computer program is stored, and the computer program is loaded and executed by a processor to implement all or part of the steps in the above-mentioned task allocation method. For example, the computer-readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a compact disc (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.

[0131] In an exemplary embodiment, a computer program product is also provided, the computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer, the computer is executed to implement the above Figure 1 , Figure 2 or Figure 3 All or part of the steps of the task allocation method shown in the embodiment.

[0132] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the claims.

[0133] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A task allocation method, characterized in that: The method is performed by a multi-cloud management platform, and the multi-cloud management platform is used to manage cloud service resources in at least two cloud resource providers; the method includes: Receiving a cloud service request sent by a user terminal, wherein the cloud service request includes task information of a user task; Parsing the task information of the user task to obtain the task characteristics of the user task; Obtaining resource information of each cloud service resource in the at least two cloud resource providers; Determine a target cloud service resource for the user task based on the task characteristics of the user task and the resource information of each cloud service resource; The user task is assigned to a target cloud resource provider corresponding to the target cloud service resource.

2. The method according to claim 1, characterized in that The determining the target cloud service resource of the user task based on the task feature of the user task and the resource information of each cloud service resource includes: The input set is input into the resource allocation model to obtain the target cloud service resources determined by the resource allocation model; the input set includes the task characteristics of the user task and the resource information of each cloud service resource; the resource allocation model is trained based on the sample input set and the cloud service resource labels.

3. The method according to claim 2, characterized in that The inputting the input set into the resource allocation model to obtain the target cloud service resource determined by the resource allocation model includes: Preprocessing the input set based on the target preprocessing rule to obtain a preprocessing result of the input set; The input set and the preprocessing result of the input set are input into a resource allocation model to obtain the target cloud service resource output by the resource allocation model.

4. The method according to claim 3, characterized in that The resource information of the cloud service resources includes capacity information and workload information; the capacity information is the sum of the storage capacity of a given class in the cloud service resources; the workload information is the load information allocated to the corresponding data center by the cloud service resources.

5. The method according to claim 4, characterized in that The method further comprises: Calculate the working resource utilization rate of the cloud service resource based on the workload information of the cloud service resource and the total load information of the cloud service resource; Calculating a resource utilization difference between a working resource utilization of the cloud service resource and a resource utilization threshold; Based on the numerical comparison relationship between the resource utilization difference and the difference threshold, a target preprocessing rule is determined.

6. The method according to claim 5, characterized in that The determining of the target preprocessing rule based on the numerical comparison relationship between the resource utilization difference and the difference threshold comprises: In a case where the resource utilization difference is greater than the difference threshold, determining the target preprocessing rule to be the first preprocessing rule; In a case where the resource utilization difference is less than or equal to the difference threshold, determining that the target preprocessing rule is a second preprocessing rule; The preprocessing parameters corresponding to the first preprocessing rule and the second preprocessing rule are different.

7. The method according to claim 1, characterized in that The multi-cloud management platform manages the public keys corresponding to the respective cloud resource providers; after allocating the user task to the target cloud resource provider corresponding to the target cloud service resource, the method further includes: Obtaining a public key of the target cloud resource provider; the public key is calculated based on an encryption function constructed based on a first encryption parameter and a second encryption parameter corresponding to the target cloud resource provider; The public key of the target cloud service resource is sent to the user terminal, so that the user terminal can access the target cloud service resource after passing the identity authentication of the target cloud resource provider based on the public key.

8. The method according to claim 7, characterized in that The first encryption parameter is calculated based on the first auxiliary parameter, the second auxiliary parameter and the control parameter of the cloud resource provider; the second encryption parameter is a random parameter with the same length as the first encryption parameter.

9. The method according to claim 1, characterized in that: The task information includes at least one of the following: task identification, task arrival time and task resource requirements; the task characteristics include at least one of the following: task cost, processing task size, task efficiency and task weight.

10. The method according to claim 9, characterized in that The step of parsing the task information of the user task based on the cloud service request to obtain the task features of the user task includes: Determining a task cost of the user task based on a task requirement data rate and a task requirement holding time indicated by the task resource requirement; Determine the processing task size of the user task based on the total task size of the user task received by the multi-cloud management platform and the task selection error probability; the task selection error probability is the error probability of the multi-cloud management platform when selecting a user task whose task size is lower than a task size threshold; Determining a task efficiency of the user task based on the duration of the cloud service resource indicated by the task resource requirement and the delay time of the cloud service resource; A task weight of the user task is determined based on the task cost and the task efficiency.

11. A task allocation device, characterized in that: The device is applied in a multi-cloud management platform, and the multi-cloud management platform is used to manage cloud service resources in at least two cloud resource providers; the device includes: A request receiving module, used to receive a cloud service request sent by a user terminal, wherein the cloud service request includes task information of a user task; A parsing module, used to parse the task information of the user task to obtain the task features of the user task; An information acquisition module, used to acquire resource information of each cloud service resource in the at least two cloud resource providers; A resource determination module, configured to determine a target cloud service resource for the user task based on the task characteristics of the user task and resource information of each cloud service resource; The task allocation module is used to allocate the user task to the target cloud resource provider corresponding to the target cloud service resource.

12. A computer device, characterized in that: The computer device includes a processor and a memory, wherein the memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the task allocation method according to any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that: At least one computer program is stored in the computer-readable storage medium, and the computer program is loaded and executed by the processor to implement the task allocation method according to any one of claims 1 to 10.

14. A computer program product, characterized in that The computer program product comprises a computer program stored on a non-transitory computer-readable storage medium, wherein the computer program comprises program instructions, and when the program instructions are executed by a computer device, the computer device is caused to execute to implement the task allocation method as claimed in any one of claims 1 to 10.