Resource allocation method and device, equipment and medium

By performing bilateral adaptation of resources and applications in a cloud computing environment, and using the evaluation scores in the candidate resource evaluation table and candidate application evaluation table, the problems of inaccurate resource allocation and low resource utilization in the existing technology are solved, and more efficient resource allocation and better service quality are achieved.

CN119668850APending Publication Date: 2025-03-21INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411728886.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

The existing cloud computing resource allocation methods have shortcomings in improving the accuracy of resource allocation, especially in large-scale cloud cluster environments, where resource utilization is not high, network latency and storage latency are high, and it is difficult to consider the fairness of resource providers and application users.

Method used

By responding to the resource allocation request of the pending application, the evaluation table is obtained from the candidate resource evaluation table of the candidate application and the candidate application evaluation table of the candidate resource field, the evaluation score is determined based on the preset evaluation indicators, bilateral adaptation of resources and applications, the target resource application combination is determined, and the candidate resource field is allocated as the target resource field.

Benefits of technology

Bilateral adaptation is achieved, the accuracy of determining the target resource domain is improved, thereby improving the accuracy of resource allocation and optimizing resource utilization and service quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119668850A_ABST
    Figure CN119668850A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a resource allocation method and device, equipment and a medium, and relates to the technical field of cloud computing. The method comprises the following steps: in response to a resource allocation request of a to-be-processed application, obtaining a target resource evaluation table of the to-be-processed application and candidate application evaluation tables corresponding to candidate resource domains; matching the to-be-processed applications with the candidate resource domains to obtain candidate resource application combinations; determining a resource evaluation score of the candidate resource domain according to the target resource evaluation table, and determining an application evaluation score of the to-be-processed application according to a candidate application evaluation table of the candidate resource domain in the candidate resource application combination; and according to the resource evaluation score and the application evaluation score corresponding to each candidate resource application combination, determining a target resource application combination from the candidate resource application combinations, and taking a candidate resource domain in the target resource application combination as a target resource domain, so that the target resource domain allocates resources to the to-be-processed application. And the accuracy of resource allocation is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of cloud computing technology, and in particular to a resource allocation method, device, equipment and medium. Background Art

[0002] With the advancement of information technology and the continuous development of digital industries, the amount of data and services that the Internet needs to carry and process is also growing exponentially. Cloud computing integrates various resources such as computing, storage, and bandwidth through the network to form a huge resource pool (data center). Through virtualization technology, resources are abstracted into services and provided to application users. Application users can dynamically run various applications according to their needs.

[0003] Resource allocation in the context of cloud computing is the process of allocating resources to the required cloud applications. Cloud computing resource allocation is to configure resources based on the underlying physical machine resources according to different granularities. Therefore, how to improve the accuracy of resource allocation is crucial. Summary of the invention

[0004] The present invention provides a resource allocation method, device, equipment and medium to improve the accuracy of resource allocation.

[0005] According to one aspect of the present invention, there is provided a resource allocation method, comprising:

[0006] In response to a resource allocation request of the application to be processed, obtaining a target resource evaluation table of the application to be processed and a candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application; wherein the candidate resource evaluation table is determined according to a preset resource evaluation indicator; and the candidate application evaluation table is determined according to a preset application evaluation indicator;

[0007] Matching the to-be-processed applications with the candidate resource domains respectively to obtain a candidate resource application combination;

[0008] Determine, according to the target resource evaluation table of the to-be-processed application in the candidate resource application combination, a resource evaluation score of the to-be-processed application for the candidate resource domain in the candidate resource application combination, and, according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination, determine an application evaluation score of the candidate resource domain for the to-be-processed application in the candidate resource application combination;

[0009] According to the resource evaluation scores and application evaluation scores corresponding to each of the candidate resource application combinations, a target resource application combination is determined from the candidate resource application combinations, and the candidate resource domain in the target resource application combination is used as the target resource domain so that the target resource domain allocates resources to the application to be processed.

[0010] According to another aspect of the present invention, there is provided a resource allocation device, comprising:

[0011] An evaluation table acquisition module is used to respond to the resource allocation request of the application to be processed, and obtain the target resource evaluation table of the application to be processed and the candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application; wherein the candidate resource evaluation table is determined according to the preset resource evaluation index; the candidate application evaluation table is determined according to the preset application evaluation index;

[0012] A combination determination module, used to match the to-be-processed applications with the candidate resource domains respectively to obtain a candidate resource application combination;

[0013] a combination score determination module, configured to determine the resource evaluation score of the to-be-processed application for the candidate resource domain in the candidate resource application combination according to the target resource evaluation table of the to-be-processed application in the candidate resource application combination, and to determine the application evaluation score of the candidate resource domain for the to-be-processed application in the candidate resource application combination according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination;

[0014] A resource allocation module is used to determine a target resource application combination from the candidate resource application combinations according to the resource evaluation scores and application evaluation scores corresponding to each of the candidate resource application combinations, and to use the candidate resource domain in the target resource application combination as the target resource domain so that the target resource domain allocates resources to the application to be processed.

[0015] According to another aspect of the present invention, there is provided an electronic device, comprising:

[0016] one or more processors;

[0017] A memory for storing one or more programs;

[0018] When one or more programs are executed by one or more processors, the one or more processors can execute any one of the resource allocation methods provided by the embodiments of the present invention.

[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement any resource allocation method provided by an embodiment of the present invention when executed.

[0020] An embodiment of the present invention provides a resource allocation scheme, which obtains a target resource evaluation table of the application to be processed and a candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application in response to a resource allocation request of the application to be processed; wherein the candidate resource evaluation table is determined according to a preset resource evaluation indicator; the candidate application evaluation table is determined according to a preset application evaluation indicator; the application to be processed is matched with the candidate resource domains respectively to obtain a candidate resource application combination; according to the target resource evaluation table of the application to be processed in the candidate resource application combination, the resource evaluation score of the application to be processed for the candidate resource domain in the candidate resource application combination is determined, and according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination, the application evaluation score of the candidate resource domain for the application to be processed in the candidate resource application combination is determined; according to the resource evaluation score and application evaluation score corresponding to each candidate resource application combination, a target resource application combination is determined from the candidate resource application combination, and the candidate resource domain in the target resource application combination is used as the target resource domain, so that the target resource domain allocates resources to the application to be processed. The above scheme determines the resource evaluation score and application evaluation score corresponding to each candidate resource application combination according to the candidate application evaluation table and the target resource evaluation table, and determines the target resource domain according to the resource evaluation score and the application evaluation score, thereby achieving bilateral adaptation and improving the accuracy of the determined target resource domain, thereby improving the accuracy of resource allocation.

[0021] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0023] Figure 1 is a flow chart of a resource allocation method provided in Embodiment 1 of the present invention;

[0024] Figure 2 is a flow chart of a resource allocation method provided by Embodiment 2 of the present invention;

[0025] Figure 3 is a structural diagram of a resource allocation device provided by Embodiment 4 of the present invention;

[0026] Figure 4It is a structural diagram of an electronic device for implementing a resource allocation method provided in Embodiment 5 of the present invention. DETAILED DESCRIPTION

[0027] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

[0028] In the prior art, in the process of resource allocation, the user's demand is not only for the amount of resources, but also for the type of resources, latency, etc. The existing research method introduces economic theory into cloud computing resource allocation, and the problem of large-scale scheduling of application resources is abstracted as a sequential cooperative game, and a communication and storage-aware multi-objective algorithm is proposed to optimize execution time and economic cost. The classic auction model has also been applied to cloud resource allocation. The problem encountered in the auction mechanism is mainly trust, that is, users need to submit real resource requirements. After receiving different resource requirements, the auctioneer is set to collect resource information, and the participating users are given the required resources through the pricing algorithm.

[0029] There are still some shortcomings in the existing research. When the scale of cloud clusters becomes larger, fixed hardware resources are given to fixed computing frameworks, and each cluster is isolated and does not interfere with each other, resulting in low resource utilization. When network delays and high storage latency occur in resource allocation, the allocation algorithm needs to ensure the user's service quality. At the same time, the satisfaction of resource providers (i.e., candidate resource domains) and the fairness between resource providers and application users must also be considered.

[0030] Embodiment 1

[0031] Figure 1 It is a flowchart of a resource allocation method provided in Example 1 of the present invention. This embodiment is applicable to the situation of cross-domain allocation of resources. The method can be executed by a resource allocation device, which can be implemented in software and / or hardware and can be configured in an electronic device that carries the resource allocation function.

[0032] See also Figure 1 The resource allocation method shown is applied to a resource platform and includes:

[0033] S110 . In response to a resource allocation request of the application to be processed, obtain a target resource evaluation table of the application to be processed and a candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application.

[0034] The pending application refers to an application that needs resource allocation, and the resource allocation request refers to an instruction for resource allocation.

[0035] Among them, candidate applications refer to applications under the control of the resource platform. The candidate resource evaluation table can be understood as a scoring list obtained by each candidate application scoring the candidate resource domains controlled by the resource platform. Exemplarily, the candidate resource evaluation table includes candidate resource domains and corresponding resource evaluation scores. The target resource evaluation table refers to the candidate resource evaluation table corresponding to the application to be processed. One candidate application corresponds to one candidate resource evaluation table. For example, the candidate resource evaluation table of candidate application A records the scores of candidate application A for each candidate resource domain.

[0036] Among them, the candidate resource domain refers to the resource provision domain under the control of the resource platform. The candidate application evaluation table can be understood as a scoring list obtained by each candidate resource domain scoring the candidate applications controlled by the resource platform. Exemplarily, the candidate application evaluation table includes candidate applications and corresponding application evaluation scores. For example, the candidate application evaluation table of candidate resource domain x records the scores of candidate resource domain x for each candidate application.

[0037] Exemplarily, the candidate resource evaluation table is determined according to preset resource evaluation indicators; the candidate application evaluation table is determined according to preset application evaluation indicators. The resource evaluation indicators can be understood as the dimensions from which the candidate application scores the candidate resource domain, that is, the dimensions from which the candidate application scores the candidate resource domain. The application evaluation indicators can be understood as the dimensions from which the candidate resource domain scores the candidate application, that is, the dimensions from which the candidate resource domain scores the candidate application.

[0038] The objects involved in the resource allocation process in the embodiment of the present invention include: applications (i.e., candidate applications), resource platforms, and resource provider domains (i.e., candidate resource domains). The relationship between the three can be described as follows: applications are users who use resources and clearly define their own resource requirements; resource platforms collect and display the status of each resource provider domain, calculate and generate possible resource combinations for applications, and calculate the satisfaction of both applications and resource provider domains; resource provider domains are responsible for publishing resources. The resource allocation scenario can be converted into a matching model. The resource provider domain packages its own basic resources, including CPU (Central Processing Unit) and memory, storage, and network, in the form of virtual machines or physical machines and displays them to the master control platform. Applications submit tasks to the resource platform based on their own needs, and the resource platform comprehensively considers the satisfaction of both parties, derives a set, and finally obtains the allocation result.

[0039] S120: Match the applications to be processed with the candidate resource domains respectively to obtain a candidate resource application combination.

[0040] The candidate resource application combination refers to a combination of an application to be processed and any candidate resource domain.

[0041] In an optional embodiment, the method further includes: updating a current matching number after the application to be processed completes a match with any candidate resource domain; and determining a matching status of the application to be processed according to the current matching number and a preset matching number threshold.

[0042] The current number of matches refers to the number of times the application to be processed is matched with the candidate resource domain at the current moment, that is, the current number of matches can represent the number of candidate resource domains that match the application to be processed. The embodiment of the present invention does not impose any limitation on the value of the preset number of matches threshold, which can be set by technicians based on experience or needs, or determined repeatedly through a large number of experiments.

[0043] The matching situation may represent the progress of matching between the application to be processed and the candidate resource domain. Exemplarily, the matching situation may include continuing matching and terminating matching.

[0044] Exemplarily, the matching status of the application to be processed is determined based on the current number of matches and the preset number of matches threshold, including: if the current number of matches reaches the preset number of matches threshold, the matching status of the application to be processed is determined to be terminated matching; if the current number of matches does not reach the preset number of matches threshold, the matching status of the application to be processed is determined to be continued matching.

[0045] It can be understood that by determining the matching status of the application to be processed according to the current matching status and the preset matching number threshold, unlimited matching between the application to be processed and the candidate resource domain is avoided, thereby reducing resource waste.

[0046] Exemplarily, the order in which the application to be processed is matched with the candidate resource domains can be determined based on the resource evaluation score of each candidate resource domain in the target resource evaluation table of the application to be processed. For example, the application to be processed is matched with each candidate resource domain in descending order of resource evaluation scores to obtain a candidate resource application combination.

[0047] S130. Determine the resource evaluation score of the application to be processed for the candidate resource domain in the candidate resource application combination according to the target resource evaluation table of the application to be processed in the candidate resource application combination, and determine the application evaluation score of the candidate resource domain for the application to be processed in the candidate resource application combination according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination.

[0048] The resource evaluation score can be understood as the evaluation result of the candidate application on the adaptation between the candidate resource domain and the candidate application. The application evaluation score can be understood as the evaluation result of the candidate resource domain on the adaptation between the candidate application and the candidate resource domain.

[0049] Exemplarily, for any candidate resource application combination, the candidate resource application combination includes an application to be processed and a candidate resource domain A, based on the target resource evaluation table of the application to be processed in the candidate resource application combination, the resource evaluation score corresponding to the candidate resource domain A is determined; according to the candidate application evaluation table of the candidate resource domain A, the application evaluation score of the application to be processed is determined.

[0050] S140. Determine a target resource application combination from the candidate resource application combinations according to the resource evaluation scores and application evaluation scores corresponding to each candidate resource application combination, and use the candidate resource domain in the target resource application combination as the target resource domain, so that the target resource domain allocates resources to the application to be processed.

[0051] The target resource application combination refers to a candidate resource application combination including a target resource domain. The target resource domain refers to a candidate resource domain that can provide resources for the application to be processed.

[0052] Exemplarily, a target resource application combination is determined from the candidate resource application combinations based on the resource evaluation scores and application evaluation scores corresponding to each candidate resource application combination, including: determining the target resource application combination from the candidate resource application combinations based on preset resource score weights, preset application score weights, and the resource evaluation scores and application evaluation scores corresponding to each candidate resource application combination.

[0053] Exemplarily, a target resource application combination is determined from the candidate resource application combinations based on a preset resource score weight, a preset application score weight, and the resource evaluation scores and application evaluation scores corresponding to each candidate resource application combination, including: for any candidate resource application combination, taking a weighted sum of the resource evaluation score and the application evaluation score of the candidate resource application combination based on the preset application score weight and the preset resource score weight to obtain the candidate resource application score of the candidate resource application combination; and determining the target resource application combination from each candidate resource application combination based on the candidate resource application scores of each candidate resource application combination.

[0054] Among them, the preset resource score weight can be used to quantify the importance of the resource evaluation score in the candidate resource application score. The preset application score weight can be used to quantify the importance of the application evaluation score in the candidate resource application score. The embodiment of the present invention does not impose any restrictions on the size of the preset resource score weight and the preset application score weight. It can be set by a technician based on experience, or repeatedly determined through a large number of experiments, and it only needs to ensure that the sum of the preset resource score weight and the preset application score weight is 1.

[0055] Specifically, the candidate resource application combination corresponding to the largest candidate resource application score is used as the target resource application combination. The candidate resource application score can be used to quantify the adaptation between two parties in the candidate resource application combination.

[0056] Specifically, the target resource domain may allocate corresponding resources to the application to be processed according to the resource demand in the resource allocation request. The resource demand refers to the amount of resources that the application to be processed requires the target resource domain to provide.

[0057] In the embodiment of the present invention, the target resource application combination can be added to the resource allocation combination list, wherein the resource allocation combination list can be used to record the to-be-processed applications and target resource domains in the target resource application combination, that is, the resource allocation combination list records the successfully matched candidate applications and candidate resource domains.

[0058] In an optional embodiment, after the application to be processed completes a match with any candidate resource domain, the method also includes: hashing the matched candidate resource domain in the target resource evaluation table of the application to be processed, and updating the target resource evaluation table; hashing the application to be processed in the candidate application evaluation table of the candidate resource domain that has completed the match, and updating the candidate application evaluation table.

[0059] In the embodiment of the present invention, the nodes that have been adapted (i.e., the pending applications and target resource domains in the target resource application combination) are hash-marked. During the adaptation process, if the resource provider domain selects an application, the node is hash-marked, and the counter value is set, which is incremented by 1. The hash-marking operation is repeated for each selection until the counter value (i.e., the current number of matches) reaches the set maximum limit (i.e., the preset number of matches threshold), and the hash-marked nodes are no longer sorted, and their respective sorting lists (i.e., the target application evaluation table and the candidate resource evaluation table) are updated, and the adaptation of the unmarked nodes continues.

[0060] It is understandable that the purpose of hash tagging is to mark the resource provision domains and applications that have completed adaptation to avoid repeated scheduling, which would cause erroneous data to enter the resource allocation combination list, increase the time complexity of the algorithm, and thus affect the efficiency of the algorithm.

[0061] An embodiment of the present invention provides a resource allocation scheme, which obtains a target resource evaluation table of the application to be processed and a candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application in response to a resource allocation request of the application to be processed; wherein the candidate resource evaluation table is determined according to a preset resource evaluation indicator; the candidate application evaluation table is determined according to a preset application evaluation indicator; the application to be processed is matched with the candidate resource domains respectively to obtain a candidate resource application combination; according to the target resource evaluation table of the application to be processed in the candidate resource application combination, the resource evaluation score of the application to be processed for the candidate resource domain in the candidate resource application combination is determined, and according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination, the application evaluation score of the candidate resource domain for the application to be processed in the candidate resource application combination is determined; according to the resource evaluation score and application evaluation score corresponding to each candidate resource application combination, a target resource application combination is determined from the candidate resource application combination, and the candidate resource domain in the target resource application combination is used as the target resource domain, so that the target resource domain allocates resources to the application to be processed. The above scheme determines the resource evaluation score and application evaluation score corresponding to each candidate resource application combination according to the candidate application evaluation table and the target resource evaluation table, and determines the target resource domain according to the resource evaluation score and the application evaluation score, thereby achieving bilateral adaptation and improving the accuracy of the determined target resource domain, thereby improving the accuracy of resource allocation.

[0062] On the basis of the above technical solution, in an embodiment of the present invention, when the current number of matches reaches a preset matching number threshold, the matching between the application to be processed and the candidate resource domain is stopped; or, if the candidate resource domain A has the maximum resource evaluation score in the target resource evaluation table, and the application to be processed has the maximum application evaluation score in the candidate application evaluation table of candidate resource domain A, the matching between the application to be processed and the candidate resource domain is stopped, and candidate resource domain A is determined to be the target resource domain.

[0063] The technical solution of the embodiment of the present invention may be applied in a scenario where a candidate application requests a candidate resource domain for cross-domain resource allocation, or where a candidate resource domain proactively allocates resources to a candidate application across domains.

[0064] Embodiment 2

[0065] Figure 2It is a flow chart of a resource allocation method provided in the second embodiment of the present invention. Based on the above embodiments, this embodiment further adds the operation of "according to the preset resource evaluation indicators, respectively obtain the corresponding resource domain association data from each candidate resource domain, and respectively obtain the resource domain delay data of each candidate resource domain from the candidate application; wherein the resource evaluation indicators include the reputation dimension, resource dimension, reliability dimension and security dimension; respectively determine the resource evaluation score of the corresponding candidate resource domain according to the resource domain association data and resource domain delay data corresponding to each candidate resource domain, and sort the candidate resource domains according to the resource evaluation score to obtain the resource sorting result; generate a candidate resource evaluation table including the resource sorting result and the corresponding resource evaluation score" to improve the determination mechanism of the candidate resource evaluation table. It should be noted that for the part not described in detail in the embodiment of the present invention, please refer to the description of other embodiments.

[0066] See also Figure 2 The resource allocation method shown comprises:

[0067] S210 . According to a preset resource evaluation index, corresponding resource domain association data is obtained from each candidate resource domain, and resource domain delay data of each candidate resource domain is obtained from the candidate application.

[0068] Exemplarily, the resource evaluation index includes reputation dimension, resource dimension, reliability dimension and security dimension. Among them, the reputation dimension is the resource domain reputation dimension, which refers to the reputation dimension of the candidate resource domain in the application to be processed. The resource dimension refers to the resource usage dimension in the candidate resource domain. The reliability dimension refers to the reliability dimension of the candidate resource domain. The security dimension refers to the security dimension of the candidate resource domain.

[0069] The resource domain associated data refers to the relevant data obtained from the candidate resource domain based on the resource evaluation index. The resource domain delay data refers to the delay time data of the candidate resource domain in the application to be processed.

[0070] S220 , determining the resource evaluation scores of the corresponding candidate resource domains according to the resource domain association data and the resource domain delay data corresponding to each candidate resource domain, and sorting the candidate resource domains according to the resource evaluation scores to obtain a resource sorting result.

[0071] The resource ranking result refers to the result obtained by sorting the candidate resource domains from large to small according to the resource evaluation scores.

[0072] In an optional embodiment, if the resource domain association data includes resource domain matching data, resource usage data and resource domain security value, the resource evaluation score of the corresponding candidate resource domain is determined according to the resource domain association data and resource domain delay data corresponding to each candidate resource domain, including: for any candidate resource domain, determining the reputation value of the candidate resource domain according to the resource domain matching data of the candidate resource domain; determining the resource idle rate of the candidate resource domain according to the resource usage data of the candidate resource domain; determining the resource domain delay value of the candidate resource domain according to the resource domain delay data; determining the resource evaluation score of the candidate resource domain according to the reputation value, resource idle rate, resource domain delay value and resource domain security value of the candidate resource domain.

[0073] The resource matching data refers to the matching related data between the candidate resource domain and the candidate application. Exemplarily, the resource matching data includes the number of successful matching of the candidate resource domain and the total number of matching of the candidate resource domain and the candidate application. Exemplarily, based on the reputation dimension, the resource matching data of the candidate resource domain is obtained from the candidate resource domain.

[0074] The reputation value of the candidate resource domain can be used to quantify the reputation of the candidate resource domain in the candidate application party. Exemplarily, the reputation value of the candidate resource domain can be determined by the following formula:

[0075]

[0076] Among them, X t Indicates the reputation value of the candidate resource domain; X complete Indicates the number of times the candidate resource domain is successfully matched; X total Indicates the total number of matches between candidate resource domains and candidate applications.

[0077] The resource usage data refers to the data of resource usage in the candidate resource domain. Exemplarily, the resource usage data may include the current resource usage of the candidate resource domain and the total resource amount of the candidate resource domain. The current resource usage refers to the used amount of resources in the candidate resource domain, that is, how much resources in the candidate resource domain are used, which is the current resource usage. The total resource amount refers to the total amount of resources in the candidate resource domain. Exemplarily, based on the resource dimension, the resource usage data of the candidate resource domain is obtained from the candidate resource domain.

[0078] The resource idle rate refers to the proportion of unallocated resources in the candidate resource domain. Exemplarily, the resource idle rate can be determined by the following formula:

[0079]

[0080] Among them, X r Indicates resource idle rate; X currentIndicates the current resource usage; X t0 Indicates the total amount of resources.

[0081] The resource domain security value can be used to quantify the security of the candidate resource domain. Exemplarily, the resource security value can be pre-set, with a value between [0, 1], and the value is proportional to the security level. The larger the value, the better the security performance of the service of the candidate resource domain. Exemplarily, the resource domain security value can be obtained from the candidate resource domain based on the security dimension.

[0082] Among them, the resource domain delay data refers to the resource delay data of the candidate resource domain in the candidate application. Exemplarily, the resource domain delay data may include the reference delay time data of the candidate application to the candidate resource domain, and the actual delay time data of the candidate resource domain when allocating resources to the candidate application. The reference delay time data refers to the delay time requirement data of the candidate application when the candidate resource domain allocates resources to the candidate application. Exemplarily, the reference delay time data may be a preset maximum delay time threshold. The embodiment of the present invention does not impose any limitation on the size of the maximum delay time threshold, which can be set by the technician according to experience or needs, or repeatedly determined through a large number of experiments. The actual delay time data refers to the actual delay time data of the candidate resource domain when allocating resources to the candidate application.

[0083] Among them, the resource domain delay value can be used to quantify the delay degree of the candidate resource domain in allocating resources to the candidate application. Exemplarily, due to the existence of network delay, the resource domain delay value is introduced, and the reliability of the candidate resource domain corresponding to the reliability dimension can be characterized by the resource domain delay value. Exemplarily, the resource domain delay value can be determined by the following data:

[0084] X re =1-max(0,min(logZ time (X time ),1));

[0085] Among them, X re Indicates the resource domain delay value; Z time Indicates the actual delay time data; X time Indicates reference delay time data.

[0086] Exemplarily, the resource evaluation score may be determined by the following formula:

[0087] X qos =X t ×X r ×X re ×X s ;

[0088] Among them, X qos Indicates the resource evaluation score; Xs Indicates the resource domain security value.

[0089] It can be understood that by determining the resource evaluation score of the candidate resource domain based on the reputation value, resource idle rate, resource domain delay value and resource domain security value of the candidate resource domain, it is possible to determine the resource evaluation score from multiple dimensions, thereby improving the reliability and accuracy of the determined resource evaluation score.

[0090] In the embodiment of the present invention, a resource domain evaluation model can be introduced to evaluate each candidate resource domain to obtain a resource evaluation score. The resource domain evaluation model can be used to evaluate the candidate resource domain to obtain a resource evaluation score. The embodiment of the present invention does not impose any restrictions on the network structure of the resource domain evaluation model, which can be set by technicians based on experience.

[0091] Exemplarily, the resource domain association data and the resource domain delay data are input into a trained resource domain evaluation model, and the resource evaluation score of each candidate resource domain is output. Specifically, the resource domain evaluation model outputs the resource evaluation score based on the above-mentioned method for determining the resource evaluation score.

[0092] S230: Generate a candidate resource evaluation table including resource ranking results and corresponding resource evaluation scores.

[0093] Specifically, a candidate resource evaluation table of candidate applications including resource ranking results and corresponding resource evaluation scores is generated.

[0094] Exemplarily, taking candidate application A as an example, according to preset resource evaluation indicators, corresponding resource domain association data are obtained from each candidate resource domain, and resource domain delay data of each candidate resource domain is obtained from candidate application A; according to the resource domain association data and resource domain delay data corresponding to each candidate resource domain, the resource evaluation score of each candidate resource domain evaluated by candidate application A is determined, and according to the resource evaluation score, the candidate resource domains are sorted to obtain the resource sorting result; and a candidate resource evaluation table of candidate application A including the resource sorting result and the corresponding resource evaluation score is generated.

[0095] S240 . In response to the resource allocation request of the application to be processed, obtain the target resource evaluation table of the application to be processed and the candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application.

[0096] Among them, the candidate resource evaluation table is determined according to the preset resource evaluation indicators; the candidate application evaluation table is determined according to the preset application evaluation indicators.

[0097] S250: Match the applications to be processed with the candidate resource domains respectively to obtain a candidate resource application combination.

[0098] S260. Determine the resource evaluation score of the application to be processed for the candidate resource domain in the candidate resource application combination according to the target resource evaluation table of the application to be processed in the candidate resource application combination, and determine the application evaluation score of the candidate resource domain for the application to be processed in the candidate resource application combination according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination.

[0099] S270. Determine a target resource application combination from the candidate resource application combinations according to the resource evaluation scores and application evaluation scores corresponding to each candidate resource application combination, and use the candidate resource domain in the target resource application combination as the target resource domain so that the target resource domain allocates resources to the application to be processed.

[0100] The embodiment of the present invention provides a resource allocation scheme, by adding preset resource evaluation indicators, respectively obtaining corresponding resource domain association data from each candidate resource domain, and respectively obtaining resource domain delay data of each candidate resource domain from the candidate application; wherein the resource evaluation indicators include reputation dimension, resource dimension, reliability dimension and security dimension; respectively determining the resource evaluation score of the corresponding candidate resource domain according to the resource domain association data and resource domain delay data corresponding to each candidate resource domain, and sorting the candidate resource domains according to the resource evaluation score to obtain the resource sorting result; generating a candidate resource evaluation table operation including the resource sorting result and the corresponding resource evaluation score, and improving the determination mechanism of the candidate resource evaluation table. The above scheme, by introducing the reputation dimension, resource dimension, reliability dimension and security dimension, enables the candidate application to evaluate the candidate resource domain from multiple dimensions, improves the accuracy of the determined resource evaluation score, and thus improves the accuracy of the resource sorting result.

[0101] In an optional embodiment, the candidate application evaluation table is determined based on the following method: according to preset application evaluation indicators, corresponding application-related data are obtained from each candidate application; according to the application-related data of each candidate application, the application evaluation score of the corresponding candidate application is determined, and according to the application evaluation score, the candidate applications are sorted to obtain the application sorting result; and a candidate application evaluation table including the application sorting result and the corresponding application evaluation score is generated.

[0102] Among them, the application evaluation indicators include importance dimension, application usage dimension and application reputation dimension. The importance dimension refers to the importance dimension of the candidate application. The application usage dimension refers to the usage dimension of the resources in the candidate resource domain in the candidate application. The application reputation dimension refers to the reputation dimension of the candidate application in the candidate resource domain.

[0103] The application-related data refers to the relevant data obtained from the candidate applications based on the application evaluation index. The application ranking result refers to the result obtained by ranking the candidate applications from large to small according to the application evaluation scores.

[0104] Exemplarily, taking candidate resource domain x as an example, according to preset application evaluation indicators, corresponding application-related data are obtained from each candidate application; according to the application-related data of each candidate application, the application evaluation score of each candidate application evaluated by candidate resource domain x is determined, and according to the application evaluation score, the candidate applications are sorted to obtain the application sorting result; and a candidate application evaluation table of candidate resource domain x including the application sorting result and the corresponding application evaluation score is generated.

[0105] It can be understood that by sorting the candidate applications according to the application evaluation scores, the accuracy of the application sorting result is improved.

[0106] In an optional embodiment, the application-related data includes application importance, in-application resource usage data, and application reputation value, and the application evaluation score of the corresponding candidate application is determined based on the application-related data of each candidate application, including: for any candidate application, determining the resource utilization rate of the candidate application based on the in-application resource usage data of the candidate application; determining the application evaluation score of the candidate application based on the resource utilization rate, application importance, and application reputation value of the candidate application.

[0107] The application importance can be used to quantify the importance of the candidate application. For example, the application importance can be preset by the technician. The candidate application may be a core business, so it needs to be better protected. The candidate application is divided into 5 levels with a value interval of [1,5]. The higher the level, the higher the application importance.

[0108] The application reputation value may be used to quantify the reputation of the candidate application in the candidate resource domain. Exemplarily, the application reputation value may be preset by a technician.

[0109] Among them, the in-application resource usage data refers to the usage data of the resources in the candidate resource domain in the candidate application. Exemplarily, the in-application resource usage data may include the actual usage of the resources in the candidate resource domain in the candidate application, and the resource application amount applied by the candidate application to the candidate resource domain. The actual usage refers to the actual amount of resources used by the resources in the candidate resource domain in the candidate application, that is, how much resources in the candidate resource domain are actually used in the candidate application, which is the resource usage. The resource application amount refers to the amount of resources applied by the candidate application to the candidate resource domain, that is, how much resources the candidate application has applied to the candidate resource domain, which is the resource application amount.

[0110] The resource utilization rate can be used to quantify the resource utilization degree of the resources in the candidate resource domain in the candidate application. If an application applies for resources but the actual utilization is low, the resources will be idle and affect the overall resource utilization rate, so the resource utilization rate is introduced.

[0111] Exemplarily, the resource usage rate may be determined by the following formula:

[0112]

[0113] Among them, Z r Indicates resource utilization rate; Z real Indicates the actual usage; Z total Indicates the resource application amount.

[0114] For example, the application evaluation score may be determined by the following formula:

[0115] Z app =Z c ×Z r ×Z t ;

[0116] Among them, Z app Indicates the application evaluation score; Z c Indicates the importance of application; Z t Indicates the reputation value of the application.

[0117] It can be understood that by determining the application evaluation score of the candidate application based on resource usage, application importance and application reputation, the application evaluation score is determined from multiple dimensions, thereby improving the reliability and accuracy of the determined application evaluation score.

[0118] In the embodiment of the present invention, an application evaluation model can be introduced to evaluate each candidate application to obtain an application evaluation score. The application evaluation model can be used to evaluate the candidate application to obtain an application evaluation score. The embodiment of the present invention does not impose any restrictions on the network structure of the application evaluation model, which can be set by technicians based on experience.

[0119] Exemplarily, the application-related data is input into a trained application evaluation model, and the application evaluation score of each candidate application is output. Specifically, the application evaluation model outputs the application evaluation score based on the above-mentioned method for determining the application evaluation score.

[0120] Embodiment 3

[0121] The embodiment of the present invention provides an optional example based on the above embodiment. For parts not described in detail in the embodiment of the present invention, please refer to the description of other embodiments.

[0122] With the development and expansion of cloud computing, the use scenarios of cloud computing have gradually shifted from the relatively centralized use of a single cloud environment to a distributed multi-cloud collaborative scenario mode. In the context of multi-domain work in this cloud system, firstly, since each resource provider domain may adopt different virtualization technologies and resource management strategies, the multi-domain environment is heterogeneous, and cross-domain scheduling and effective utilization of heterogeneous resources is a difficulty; secondly, since the resource calling methods of each resource provider domain are also different, such as different API (Application Programming Interface) scheduling methods and different usage rules, resource discovery of multi-domain systems is also one of the key points; at the same time, network latency, connection mode, and quality assurance between domains also affect service quality and user experience; in addition, since the actual use and resource occupancy of resources in each domain are different in the actual work of the multi-domain system, it is necessary to reasonably allocate resources so that the multi-domain system can maximize resource utilization. Therefore, how to efficiently and collaboratively utilize the resources of each domain, give full play to the performance of the multi-domain system, reduce system overhead, and improve the overall cost has become the main key point in designing cross-domain resource allocation algorithms.

[0123] The embodiment of the present invention provides a cloud computing resource allocation method based on an improved Gale-Shapley (deferred-acceptance algorithm) algorithm, which takes into account the resource provision platform and application user satisfaction. In a short period of time, there may be a large number of cross-domain task requests arriving at the master control terminal, so the cross-domain resource allocation strategy also needs to comprehensively negotiate the allocation order between each request domain, and the problem changes from "one to many" to "many to many".

[0124] In an embodiment of the present invention, for the selection of candidate resource domains by candidate applications, the quality of service QoS (i.e., resource evaluation score) of the candidate resource domains is calculated and sorted to form an application preference list (i.e., candidate resource evaluation table); for the selection of candidate applications by candidate resource domains, a preference list of applications (i.e., candidate application evaluation table) is formed by the priority (application importance), resource usage (i.e., resource utilization rate) and application reputation value of the candidate applications. The two sets of preference lists construct a resource service allocation model. In view of the mutual adaptation problem of multiple candidate resource domains and multiple candidate applications, the improved Gale-Shapley algorithm is used for bilateral matching considering the preference degree of both parties. If the two cannot form a stable adaptation relationship, the overall utilization rate of the cloud service resources will be lost. Therefore, ensuring the stable adaptation of the two is an inevitable requirement for ensuring the stability of the resource platform.

[0125] For example, according to the selection criteria and adaptation rules of candidate resource domains and candidate applications, a stable adaptation solution that satisfies both parties is generated. Assume that there are j candidate resource domains, represented by set X; there are i applications, represented by set Z. According to the selection criteria, the attributes that both parties are concerned about are selected, and each X is defined by a corresponding tuple. j Exists in the application collection, specifically X j =(X t ,X r ,X re ,X s ), where X t Represented as the reputation value of the candidate resource domain, X r Indicates the resource idle rate, X re Indicates the resource domain delay value, X s Indicates the resource domain security value. Each Z i The attributes present in Z are represented by tuples as follows: i =(Z c , Z r , Z t ), where Z c Indicates the importance of the application, Z r Indicates resource utilization, Z t Represents the application reputation value. Since both the candidate resource domain and the candidate application have their own selection restrictions, for each candidate application, there is a candidate resource domain that can be selected, and the reputation value, resource situation (i.e., resource idle rate), reliability (i.e., resource domain delay value) and security (i.e., resource domain security value) of the candidate resource domain all meet the requirements, and vice versa.

[0126] For example, in the process of bilateral adaptation, the candidate resource domain mainly considers the importance of the candidate application, the required amount of resources and the reputation value when selecting the candidate application; and the candidate application has more stringent requirements on the candidate resource domain, and it is necessary to comprehensively calculate the service quality Qos of the candidate resource domain, sort it, and establish a preference list.

[0127] In an embodiment of the present invention, before the resource provision domain is adapted to the candidate application, an improved delayed acceptance algorithm, i.e., the GS algorithm, can be used to perform a hash mark check on each node in the target resource evaluation table and the candidate application evaluation table. Only nodes that are not hash marked can proceed to the next round of adaptation, and the hash value attributes of the nodes after the adaptation is completed are encrypted.

[0128] In the embodiment of the present invention, the GS algorithm is improved in two aspects: 1. Controlling the contact scope of the group, each application and resource provider domain can only contact a limited scope; 2. Through the hash tag method, the adaptation is completed and no longer enters the next round of adaptation. Specifically, the contact scope of the group is controlled: each individual is given a communication ability. Taking the application as an example, the greater the communication ability value, the more resource provider domains can be contacted.

[0129] Exemplarily, an embodiment of the present invention provides a specific resource allocation method, including: calculating the acceptable list of each candidate resource domain for candidate applications to form a preference list of the candidate resource domain (i.e., a candidate application evaluation table); calculating the QoS value of the candidate resource domain, and arranging the acceptable list of each candidate application for the candidate resource domain in descending order according to the size of the QoS to form a preference list of applications (i.e., a candidate resource evaluation table); in response to a resource allocation request of an application to be processed, starting the first adaptation, i.e., generating a candidate resource application combination, and updating the current matching number r=1; if the candidate resource domain does not receive any resource allocation request from the application to be processed, then the unadapted state is maintained; if the candidate resource domain receives resource allocation requests from multiple applications to be processed, the candidate resource domain The selected resource domain will complete the adaptation by selecting the pending application that ranks high in its preference list; the pairing result is calculated, and the candidate resource application score of each candidate resource application combination is determined according to the resource evaluation score and application evaluation score corresponding to each candidate resource application combination; the candidate resource application combination corresponding to the largest candidate resource application score is selected to obtain the target resource application combination; the candidate resource domains and pending applications in the target resource application combination are hash-marked, and a counter is set; when the value of the counter (i.e., the current number of matches) is less than the set maximum value (i.e., the preset number of matches threshold), there are still unadapted nodes in X and Z, and the candidate application evaluation table and the target resource evaluation table are updated respectively; the adaptation is continuously looped until both parties no longer update the list; and the pairing result is output.

[0130] It should be noted that the information collected in the embodiments of the present invention is information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of relevant data comply with the relevant laws, regulations and standards of relevant countries and regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse; if the user chooses to refuse, the expert decision-making process will be entered.

[0131] Embodiment 4

[0132] Figure 3This is a schematic diagram of the structure of a resource allocation device provided in Embodiment 4 of the present invention. This embodiment is applicable to the case of cross-domain resource allocation, and the method can be executed by a resource allocation device, which can be implemented in software and / or hardware and can be configured in an electronic device that carries the resource allocation function.

[0133] like Figure 3 As shown, the device includes: an evaluation table acquisition module 310, a combination determination module 320, a combination score determination module 330 and a resource allocation module 340. Among them,

[0134] The evaluation table acquisition module 310 is used to obtain the target resource evaluation table of the application to be processed and the candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application in response to the resource allocation request of the application to be processed; wherein the candidate resource evaluation table is determined according to the preset resource evaluation index; the candidate application evaluation table is determined according to the preset application evaluation index;

[0135] A combination determination module 320 is used to match the to-be-processed applications with the candidate resource domains respectively to obtain a candidate resource application combination;

[0136] A combination score determination module 330 is used to determine the resource evaluation score of the to-be-processed application for the candidate resource domain in the candidate resource application combination according to the target resource evaluation table of the to-be-processed application in the candidate resource application combination, and to determine the application evaluation score of the candidate resource domain for the to-be-processed application in the candidate resource application combination according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination;

[0137] The resource allocation module 340 is used to determine the target resource application combination from the candidate resource application combinations according to the resource evaluation scores and application evaluation scores corresponding to each of the candidate resource application combinations, and use the candidate resource domain in the target resource application combination as the target resource domain so that the target resource domain allocates resources to the application to be processed.

[0138] An embodiment of the present invention provides a resource allocation scheme, which obtains a target resource evaluation table of the application to be processed and a candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application in response to a resource allocation request of the application to be processed; wherein the candidate resource evaluation table is determined according to a preset resource evaluation indicator; the candidate application evaluation table is determined according to a preset application evaluation indicator; the application to be processed is matched with the candidate resource domains respectively to obtain a candidate resource application combination; according to the target resource evaluation table of the application to be processed in the candidate resource application combination, the resource evaluation score of the application to be processed for the candidate resource domain in the candidate resource application combination is determined, and according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination, the application evaluation score of the candidate resource domain for the application to be processed in the candidate resource application combination is determined; according to the resource evaluation score and application evaluation score corresponding to each candidate resource application combination, a target resource application combination is determined from the candidate resource application combination, and the candidate resource domain in the target resource application combination is used as the target resource domain, so that the target resource domain allocates resources to the application to be processed. The above scheme determines the resource evaluation score and application evaluation score corresponding to each candidate resource application combination according to the candidate application evaluation table and the target resource evaluation table, and determines the target resource domain according to the resource evaluation score and the application evaluation score, thereby achieving bilateral adaptation and improving the accuracy of the determined target resource domain, thereby improving the accuracy of resource allocation.

[0139] Optionally, the candidate resource evaluation table is determined based on the following means:

[0140] A resource evaluation data determination module, used to obtain corresponding resource domain association data from each of the candidate resource domains according to preset resource evaluation indicators, and obtain resource domain delay data of each of the candidate resource domains from the candidate applications; wherein the resource evaluation indicators include reputation dimension, resource dimension, reliability dimension and security dimension;

[0141] A resource ranking result determination module, used to determine the resource evaluation scores of the corresponding candidate resource domains according to the resource domain association data and the resource domain delay data corresponding to each candidate resource domain, and to sort the candidate resource domains according to the resource evaluation scores to obtain a resource ranking result;

[0142] The resource evaluation table generating module is used to generate a candidate resource evaluation table including the resource ranking results and corresponding resource evaluation scores.

[0143] Optionally, if the resource domain association data includes resource domain matching data, resource usage data and resource domain security value, the resource ranking result determination module includes:

[0144] A resource reputation value determination unit, configured to determine, for any candidate resource domain, a reputation value of the candidate resource domain according to the resource domain matching data of the candidate resource domain;

[0145] A resource idle rate determining unit, configured to determine a resource idle rate of the candidate resource domain according to resource usage data of the candidate resource domain;

[0146] A delay value determining unit, configured to determine a resource domain delay value of the candidate resource domain according to the resource domain delay data;

[0147] The resource evaluation score determination unit is used to determine the resource evaluation score of the candidate resource domain according to the reputation value of the candidate resource domain, the resource idle rate, the resource domain delay value and the resource domain security value.

[0148] Optionally, the candidate application evaluation table is determined based on the following means:

[0149] An application-related attribute determination module is used to obtain corresponding application-related data from each candidate application according to preset application evaluation indicators;

[0150] An application ranking result determination module, used to determine the application evaluation score of the corresponding candidate application according to the application association data of each candidate application, and to rank the candidate applications according to the application evaluation score to obtain an application ranking result;

[0151] The application evaluation table generating module is used to generate a candidate application evaluation table including the application ranking results and corresponding application evaluation scores.

[0152] Optionally, the application-related data includes application importance, in-application resource usage data, and application reputation value, and the application ranking result determination module includes:

[0153] A resource usage rate determination unit, configured to determine, for any candidate application, a resource usage rate of the candidate application according to the in-application resource usage data of the candidate application;

[0154] The application evaluation score determination unit is used to determine the application evaluation score of the candidate application according to the resource usage rate of the candidate application, the application importance and the application reputation value.

[0155] Optionally, the device further comprises:

[0156] A current matching times updating module, used for updating the current matching times after the application to be processed completes a match with any candidate resource domain;

[0157] The matching situation determination module is used to determine the matching situation of the application to be processed according to the current matching number and a preset matching number threshold.

[0158] Optionally, after the application to be processed is matched with any candidate resource domain once, the device further includes:

[0159] An application evaluation table updating module, used for hash-marking the matched candidate resource domains in the target resource evaluation table of the application to be processed, and updating the target resource evaluation table;

[0160] The resource evaluation table updating module is used to hash the pending applications in the candidate application evaluation table of the candidate resource domain that has completed matching, and update the candidate application evaluation table.

[0161] The resource allocation device provided in the embodiment of the present invention can execute the resource allocation method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing each resource allocation method.

[0162] In the technical solution of the present invention, the collection, storage, use, processing, transmission, provision and disclosure of the candidate resource evaluation table, candidate application evaluation table, resource evaluation indicators and application evaluation indicators involved all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0163] Embodiment 5

[0164] Figure 4 It is a structural diagram of an electronic device for implementing a resource allocation method provided by Embodiment 5 of the present invention. Electronic device 410 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0165] like Figure 4As shown, the electronic device 410 includes at least one processor 411, and a memory connected to the at least one processor 411 in communication, such as a read-only memory (ROM) 412, a random access memory (RAM) 413, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 411 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 412 or the computer program loaded from the storage unit 418 to the random access memory (RAM) 413. In the RAM 413, various programs and data required for the operation of the electronic device 410 can also be stored. The processor 411, the ROM 412, and the RAM 413 are connected to each other via a bus 414. An input / output (I / O) interface 415 is also connected to the bus 414.

[0166] Multiple components in the electronic device 410 are connected to the I / O interface 415, including: an input unit 416, such as a keyboard, a mouse, etc.; an output unit 417, such as various types of displays, speakers, etc.; a storage unit 418, such as a disk, an optical disk, etc.; and a communication unit 419, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 419 allows the electronic device 410 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0167] The processor 411 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 411 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 411 performs the various methods and processes described above, such as a resource allocation method.

[0168] In some embodiments, the resource allocation method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 418. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 410 via the ROM 412 and / or the communication unit 419. When the computer program is loaded into the RAM 413 and executed by the processor 411, one or more steps of the resource allocation method described above may be performed. Alternatively, in other embodiments, the processor 411 may be configured to perform the resource allocation method in any other appropriate manner (e.g., by means of firmware).

[0169] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0170] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0171] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0172] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0173] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0174] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0175] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0176] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A resource allocation method, characterized in that: include: In response to a resource allocation request of the application to be processed, obtaining a target resource evaluation table of the application to be processed and a candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application; wherein the candidate resource evaluation table is determined according to a preset resource evaluation indicator; and the candidate application evaluation table is determined according to a preset application evaluation indicator; Matching the to-be-processed applications with the candidate resource domains respectively to obtain a candidate resource application combination; Determine, according to the target resource evaluation table of the to-be-processed application in the candidate resource application combination, a resource evaluation score of the to-be-processed application for the candidate resource domain in the candidate resource application combination, and, according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination, determine an application evaluation score of the candidate resource domain for the to-be-processed application in the candidate resource application combination; According to the resource evaluation scores and application evaluation scores corresponding to each of the candidate resource application combinations, a target resource application combination is determined from the candidate resource application combinations, and the candidate resource domain in the target resource application combination is used as the target resource domain so that the target resource domain allocates resources to the application to be processed.

2. The method according to claim 1, characterized in that: The candidate resource evaluation table is determined based on the following method: According to the preset resource evaluation indicators, the corresponding resource domain association data is obtained from each of the candidate resource domains, and the resource domain delay data of each of the candidate resource domains is obtained from the candidate applications; wherein the resource evaluation indicators include a reputation dimension, a resource dimension, a reliability dimension, and a security dimension; Determine the resource evaluation score of the corresponding candidate resource domain according to the resource domain association data and the resource domain delay data corresponding to each candidate resource domain, and sort the candidate resource domains according to the resource evaluation scores to obtain a resource sorting result; A candidate resource evaluation table including the resource ranking results and corresponding resource evaluation scores is generated.

3. The method according to claim 2, characterized in that If the resource domain association data includes resource domain matching data, resource usage data and resource domain security value, then determining the resource evaluation score of the corresponding candidate resource domain according to the resource domain association data and the resource domain delay data corresponding to each candidate resource domain respectively includes: For any candidate resource domain, determining the reputation value of the candidate resource domain according to the resource domain matching data of the candidate resource domain; Determining a resource idle rate of the candidate resource domain according to the resource usage data of the candidate resource domain; Determining a resource domain delay value of the candidate resource domain according to the resource domain delay data; The resource evaluation score of the candidate resource domain is determined according to the reputation value of the candidate resource domain, the resource idle rate, the resource domain delay value and the resource domain security value.

4. The method according to claim 1, characterized in that The candidate application evaluation table is determined based on the following method: According to the preset application evaluation indicators, corresponding application-related data is obtained from each candidate application; Determining application evaluation scores of corresponding candidate applications according to the application association data of each candidate application, and sorting the candidate applications according to the application evaluation scores to obtain application sorting results; A candidate application evaluation table including the application ranking results and corresponding application evaluation scores is generated.

5. The method according to claim 4, characterized in that The application-related data includes application importance, in-application resource usage data, and application reputation value. Then, determining the application evaluation score of the corresponding candidate application according to the application-related data of each candidate application includes: For any candidate application, determine the resource usage rate of the candidate application according to the in-application resource usage data of the candidate application; An application evaluation score of the candidate application is determined according to the resource usage rate of the candidate application, the application importance and the application reputation value.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: After the application to be processed completes a match with any candidate resource domain, updating the current number of matches; The matching status of the application to be processed is determined according to the current matching number and a preset matching number threshold.

7. The method according to claim 6, characterized in that After the application to be processed is matched with any candidate resource domain once, the method further includes: Hash-marking the matched candidate resource domains in the target resource evaluation table of the application to be processed, and updating the target resource evaluation table; Hash marking is performed on the to-be-processed applications in the candidate application evaluation table of the candidate resource domain that has completed matching, and the candidate application evaluation table is updated.

8. A resource allocation device, characterized in that: include: An evaluation table acquisition module is used to respond to the resource allocation request of the application to be processed, and obtain the target resource evaluation table of the application to be processed and the candidate application evaluation table corresponding to each candidate resource domain from the candidate resource evaluation table of each candidate application; wherein the candidate resource evaluation table is determined according to the preset resource evaluation index; the candidate application evaluation table is determined according to the preset application evaluation index; A combination determination module, used to match the to-be-processed applications with the candidate resource domains respectively to obtain a candidate resource application combination; a combination score determination module, configured to determine the resource evaluation score of the to-be-processed application for the candidate resource domain in the candidate resource application combination according to the target resource evaluation table of the to-be-processed application in the candidate resource application combination, and to determine the application evaluation score of the candidate resource domain for the to-be-processed application in the candidate resource application combination according to the candidate application evaluation table of the candidate resource domain in the candidate resource application combination; A resource allocation module is used to determine a target resource application combination from the candidate resource application combinations according to the resource evaluation scores and application evaluation scores corresponding to each of the candidate resource application combinations, and to use the candidate resource domain in the target resource application combination as the target resource domain so that the target resource domain allocates resources to the application to be processed.

9. An electronic device, characterized in that: include: one or more processors; A memory for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement a resource allocation method as described in any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, a resource allocation method as described in any one of claims 1 to 7 is implemented.