Server scheduling method and device, equipment and storage medium
By using a pre-defined task failure prediction method to classify reliable and unreliable servers, and performing task migration matching and benefit calculation, the problem of unreasonable resource allocation in existing technologies is solved, achieving more efficient resource utilization and cost optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PING AN TECH (SHENZHEN) CO LTD
- Filing Date
- 2020-11-11
- Publication Date
- 2026-05-08
AI Technical Summary
Existing computing resource allocation methods fail to comprehensively consider resource reliability and cost factors, resulting in wasted computing resources and poor matching.
By using a pre-defined task failure prediction method, servers are divided into reliable and unreliable servers. Task migration matching is performed, the allocation benefit of each server group is calculated, and the server or server group with the highest allocation benefit is selected to execute the cloud computing task.
It improved the matching degree between cloud computing tasks and servers, optimized resource utilization, and reduced operating costs.
Smart Images

Figure CN112333279B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to cloud technology, and more particularly to a server allocation method, apparatus, device, and storage medium. Background Technology
[0002] The core of cloud computing is to virtualize the computing resources of one or more data centers and then provide users with services in the form of rented computing resources. The function of a cloud computing resource management system is to receive resource requests from cloud computing users and encapsulate specific resources into services to provide to the resource requesters.
[0003] Existing technologies select appropriate computing resources from the perspectives of computing power, reliability, and cost. However, regardless of the perspective used, resource selection only considers one or more factors, without comprehensively considering all aspects. Existing technologies simply select resources randomly from the physical resources available to meet the task's computing power requirements, neglecting resource reliability and cost. Furthermore, they fail to utilize resources with sufficient but unreliable computing power, leading to resource waste. Selecting the best computing power resource for each task also results in wasted computing resources, ignoring the operational costs of cloud service providers. In short, the matching degree between existing computing resource allocation and computing tasks is insufficient. Summary of the Invention
[0004] The main objective of this invention is to solve the technical problem that the matching degree between existing computing resources and computing tasks is not high enough.
[0005] The first aspect of this invention provides a server allocation method, comprising:
[0006] Obtain the cloud computing task and its corresponding deadline, and determine multiple servers to process the cloud computing task;
[0007] Based on the task deadline, a pre-set task failure prediction method is used to divide the multiple servers into reliable servers and unreliable servers.
[0008] The unreliable servers and reliable servers are matched sequentially to perform task migration, resulting in multiple server groups that can be used to complete the cloud computing task, wherein each server group contains one unreliable server and one reliable server.
[0009] Calculate the first allocation benefit for each of the server groups, and calculate the second allocation benefit for each of the reliable servers;
[0010] Based on the first allocation benefit and the second allocation benefit, select a reliable server or server group with the highest allocation benefit to execute the cloud computing task.
[0011] Optionally, in a first implementation of the first aspect of the present invention, the step of dividing the plurality of servers into reliable servers and unreliable servers according to the task deadline using a pre-set task failure prediction method includes:
[0012] The pre-set task failure prediction method is used to predict the completion time of the multiple servers in processing the cloud computing task.
[0013] Determine in turn whether each completion time is before the task deadline;
[0014] If so, the corresponding server is classified as a reliable server; otherwise, the corresponding server is classified as an unreliable server.
[0015] Optionally, in a second implementation of the first aspect of the present invention, the step of using the preset task failure prediction method to predict the completion time of the plurality of servers processing the cloud computing task includes:
[0016] Determine the load of the cloud computing task and the computing power of each server;
[0017] Based on the load and computing power, the pre-set task failure prediction method is used to predict the completion time of the multiple servers in processing the cloud computing task.
[0018] Optionally, in a third implementation of the first aspect of the present invention, the step of sequentially performing task migration matching between the unreliable servers and the reliable servers to obtain multiple server groups that can be used to complete the cloud computing task includes:
[0019] Select one unreliable server and one reliable server in turn, and determine the computing power of each.
[0020] Based on the computing power of both servers and the load, calculate the migration time point for the cloud computing task to migrate from the unreliable server to the reliable server.
[0021] Determine whether the migration time node is before the preset time node;
[0022] If so, the corresponding unreliable servers and reliable servers are paired to obtain multiple corresponding server groups.
[0023] Optionally, in a fourth implementation of the first aspect of the present invention, calculating the first allocation benefit for each of the server groups includes:
[0024] Determine the first cost factor for unreliable servers and the second cost factor for reliable servers in each of the server groups;
[0025] Based on the first cost factor and the computing power of the unreliable server, calculate the first initial allocation benefit for each server group before the migration time node.
[0026] Based on the second cost factor and the computing power of the reliable server, calculate the second initial allocation benefit for each server group after the migration time node;
[0027] Based on the first initial allocation benefit and the second initial allocation benefit, the first allocation benefit of each server group is determined.
[0028] Optionally, in a fifth implementation of the first aspect of the present invention, the calculation of the second allocation benefit for each of the reliable servers includes:
[0029] Based on the completion time of each of the reliable servers, the reliability factor of each of the reliable servers is calculated respectively;
[0030] Based on the reliability factor, the second cost factor, and the computing power of the reliable server, the second allocation benefit of each reliable server is calculated.
[0031] A second aspect of the present invention provides a server dispatching apparatus, comprising:
[0032] The acquisition module is used to acquire cloud computing tasks and their corresponding deadlines, and to determine multiple servers for processing the cloud computing tasks.
[0033] The partitioning module is used to partition the multiple servers into reliable servers and unreliable servers based on the task deadline and using a preset task failure prediction method.
[0034] The matching module is used to sequentially perform task migration matching between each unreliable server and each reliable server to obtain multiple server groups that can be used to complete the cloud computing task, wherein the server group includes one unreliable server and one reliable server.
[0035] The calculation module is used to calculate the first allocation benefit of each of the server groups and the second allocation benefit of each of the reliable servers.
[0036] The allocation module is used to select a reliable server or server group with the highest allocation benefit to execute the cloud computing task based on the first allocation benefit and the second allocation benefit.
[0037] Optionally, in a first implementation of the second aspect of the present invention, the partitioning module includes:
[0038] The prediction unit is used to predict the completion time of the multiple servers in processing the cloud computing task by using the preset task failure prediction method.
[0039] The discrimination unit is used to sequentially determine whether each completion time is before the task deadline;
[0040] The partitioning unit is used to partition the corresponding server as a reliable server if the completion time is before the task deadline, and otherwise partition the corresponding server as an unreliable server.
[0041] Optionally, in a second implementation of the second aspect of the present invention, the prediction unit includes:
[0042] A subunit is defined to determine the load of the cloud computing task and the computing power of each server.
[0043] The prediction subunit is used to predict the completion time of the multiple servers in processing the cloud computing task based on the load and the computing power, using the preset task failure prediction method.
[0044] Optionally, in a third implementation of the second aspect of the present invention, the matching module includes:
[0045] The selection unit is used to sequentially select an unreliable server and a reliable server, and determine the computing power of each respectively;
[0046] The first computing unit is used to calculate the migration time point for the cloud computing task to migrate from the unreliable server to the reliable server based on the computing capabilities of the two and the load.
[0047] The discrimination unit is used to determine whether the migration time node is before the preset time node;
[0048] The matching unit is used to pair the corresponding unreliable servers and reliable servers to obtain multiple corresponding server groups if the migration time node is before the preset time node.
[0049] Optionally, in a fourth implementation of the second aspect of the present invention, the computing module includes a second computing unit, the second computing unit being used for:
[0050] Determine the first cost factor for unreliable servers and the second cost factor for reliable servers in each of the server groups;
[0051] Based on the first cost factor and the computing power of the unreliable server, calculate the first initial allocation benefit for each server group before the migration time node.
[0052] Based on the second cost factor and the computing power of the reliable server, calculate the second initial allocation benefit for each server group after the migration time node;
[0053] Based on the first initial allocation benefit and the second initial allocation benefit, the first allocation benefit of each server group is determined.
[0054] Optionally, in a fifth implementation of the second aspect of the present invention, the calculation module further includes a third calculation unit, the third calculation unit being used for:
[0055] Based on the completion time of each of the reliable servers, the reliability factor of each of the reliable servers is calculated respectively;
[0056] Based on the reliability factor, the second cost factor, and the computing power of the reliable server, the second allocation benefit of each reliable server is calculated.
[0057] A third aspect of the present invention provides a server dispatching device, comprising: a memory and at least one processor, wherein the memory stores instructions; the at least one processor invokes the instructions in the memory to cause the server dispatching device to perform the server dispatching method described above.
[0058] A fourth aspect of the present invention provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the server dispatching method described above.
[0059] In the technical solution provided by this invention, based on the task deadline of the cloud computing task, a pre-set task failure prediction method is used to divide multiple servers used to process the cloud computing task into reliable servers and unreliable servers. Then, for unreliable servers, corresponding reliable servers can be matched to form server groups, so that unreliable servers can still be utilized. Next, the allocation benefits of reliable servers and server groups are calculated separately, and the server or server group with the highest allocation benefit is selected to execute the cloud computing task. All currently available servers, whether reliable or unreliable, are utilized, and only the server or server combination with the highest allocation benefit is selected to execute the cloud computing task. This can more comprehensively consider the various influencing factors of cloud computing tasks on server selection and improve the matching degree between cloud computing tasks and corresponding processing servers. Attached Figure Description
[0060] Figure 1This is a schematic diagram of one embodiment of the server allocation method in this invention;
[0061] Figure 2 This is a schematic diagram of another embodiment of the server allocation method in this invention;
[0062] Figure 3 This is a schematic diagram of one embodiment of the server allocation device in this invention;
[0063] Figure 4 This is a schematic diagram of another embodiment of the server allocation device in this invention;
[0064] Figure 5 This is a schematic diagram of one embodiment of the server allocation device in this invention. Detailed Implementation
[0065] This invention provides a server allocation method, apparatus, device, and storage medium. Based on the deadline of a cloud computing task, this invention employs a pre-defined task failure prediction method to divide multiple servers into reliable and unreliable servers. It then sequentially selects one unreliable server and one reliable server for task migration matching, resulting in multiple server groups that can be used to complete the cloud computing task. A first allocation benefit is calculated for each server group, and a second allocation benefit is calculated for each reliable server. Based on the first and second allocation benefits, the reliable server or server group with the highest allocation benefit is selected to execute the cloud computing task. This invention more comprehensively considers various influencing factors of cloud computing tasks on server selection, improving the matching degree between cloud computing tasks and corresponding processing servers.
[0066] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” or “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0067] For ease of understanding, the specific process of the embodiments of the present invention is described below. Please refer to [link / reference]. Figure 1 The first embodiment of the server allocation method in this invention includes:
[0068] 101. Obtain the cloud computing task and its corresponding deadline, and determine multiple servers to process the cloud computing task;
[0069] It is understood that the executing entity of this invention can be a server dispatching device, a terminal, or a server; no specific limitation is made here. This embodiment of the invention uses a server as the executing entity for illustration. It should be emphasized that, to further ensure the privacy and security of the aforementioned cloud computing tasks, these tasks can also be stored in a blockchain node.
[0070] In this embodiment, when a user request for cloud computing is received, a request can be divided into multiple tasks for parallel processing. Each task is a cloud computing task, and each cloud computing task can use the method of this invention to allocate the most suitable server to perform computation. Each server serves as a physical node in a cloud computing cluster (such as IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service), etc.) and stores different types of cloud computing resources for executing cloud computing tasks. The task deadline, i.e., the completion period of the cloud computing task, is manually set according to the business development process. The deadlines for multiple cloud computing tasks derived from the same user request are the same.
[0071] 102. Based on the task deadline, a pre-set task failure prediction method is used to divide the multiple servers into reliable servers and unreliable servers;
[0072] In this embodiment, the pre-defined task failure prediction method is used to predict whether each server will fail during the execution of the cloud computing task, i.e., whether the computing resources within the server become unavailable due to hardware or software defects, design errors, environmental instability, or operational mistakes. This can be achieved by pre-setting conditions, such as if the server's estimated completion time for processing the cloud computing task is before the task deadline; if the server completes the task before the deadline, it is classified as a reliable server; otherwise, it is classified as an unreliable server. The pre-defined task failure prediction method can be configured using techniques such as fuzzy neural network models, hidden Markov models combined with cloud theory, and association rule mining.
[0073] Specifically, the steps for partitioning each server using a pre-defined task failure prediction model are as follows:
[0074] (1) Using the pre-set task failure prediction method, the completion time of the multiple servers in processing the cloud computing task is predicted respectively;
[0075] (2) Determine in turn whether each completion time is before the task deadline;
[0076] (3) If yes, the corresponding server is classified as a reliable server; otherwise, the corresponding server is classified as an unreliable server.
[0077] In this embodiment, for example, association rule mining technology is used to construct a pre-defined task failure prediction method. This method targets the correlations exhibited by failures across different servers, and based on historical failure data, utilizes probability-sharing risk to model the correlations of failures. This method employs a parallelizable association rule mining approach to extract frequent terms from the data to describe the correlations of system failures. A reliable server is defined as one that is predicted to complete the cloud computing task before the deadline, while an unreliable server, due to hardware or software defects, design flaws, environmental instability, or operational errors, cannot complete the task before the deadline.
[0078] The process of predicting the completion time of the cloud computing task processed by multiple servers may include the following steps:
[0079] (1) Determine the load of the cloud computing task and the computing power of each server;
[0080] (2) Based on the load and the computing power, the preset task failure prediction method is used to predict the completion time of the multiple servers in processing the cloud computing task.
[0081] In this embodiment, the calculation formula for the completion time of each server in processing cloud computing tasks is as follows: C(t1)*(t0-t1)=w(t1), where C(t1) is the computing power of the server at the current time t1, t0 is the task deadline, and C(t1) is the load at the current time t1.
[0082] 103. Perform task migration matching on each unreliable server and each reliable server in sequence to obtain multiple server groups that can be used to complete the cloud computing task, wherein each server group includes one unreliable server and one reliable server.
[0083] In this embodiment, an unreliable server is selected sequentially, and then a corresponding reliable server is matched for it. Servers that cannot be matched with a reliable server are removed. This process continues until all unreliable servers are matched with reliable servers, completing the task migration matching. Task migration matching refers to the process of matching unreliable servers with reliable servers to complete cloud computing tasks by migrating them from unreliable servers to reliable servers. Unreliable servers cannot normally complete cloud computing tasks independently; by matching them with reliable servers to form a server group, unreliable servers can be utilized for cloud computing tasks.
[0084] Specifically, the task migration matching process for a server group may include the following steps:
[0085] (1) Select an unreliable server and a reliable server in turn, and determine the computing power of each server respectively;
[0086] (2) Based on the computing power of the two and the load, calculate the migration time point for the cloud computing task to migrate from the unreliable server to the reliable server;
[0087] (3) Determine whether the migration time node is before the preset time node;
[0088] (4) If so, pair the corresponding unreliable server and reliable server to obtain multiple corresponding server groups.
[0089] In this embodiment,
[0090] 104. Calculate the first allocation benefit for each of the server groups and the second allocation benefit for each of the reliable servers.
[0091] In this embodiment, the first allocation benefit considers the cost, computing power, and reliability of reliable servers in the server group, as well as the cost and computing power of unreliable servers, and calculates the utilization benefits of the servers in various aspects. The first allocation benefit quantifies the degree of matching between the server group's handling of cloud computing tasks and these three influencing factors; the specific calculation method is as follows:
[0092] (1) Unreliable server allocation benefit: crp1=λ+(1-λ)×c(t1)×p(t0);
[0093] (2) Benefits of reliable server allocation:
[0094] (3) First allocation benefit: rb1 = (crp1 + crp2);
[0095] The second allocation benefit takes into account the cost, computing power, and reliability of reliable servers, and is also used to quantify the efficiency of a single server in handling cloud computing; the specific calculation method is as follows:
[0096]
[0097] (2)rb2=1 / (crp3);
[0098] Where c(t0) is the computing power of the unreliable server at time t0, c(t1) and c(t2) are the computing power of the reliable server at times t1 and t2, respectively, p(t0) and p(t1) are the prices per unit of computing power of the unreliable server at times t0 and t1, w(t0) is the load at time t0, w(t1) is the load at time t1, and λ, σ, α, β, Υ, and δ are adjustment factors.
[0099] 105. Based on the first allocation benefit and the second allocation benefit, select a reliable server or server group with the highest allocation benefit to execute the cloud computing task.
[0100] In this embodiment, both server groups and individual reliable servers are considered as candidates for executing cloud computing tasks. Among the first allocation benefit and the second allocation benefit, the server group or individual reliable server with the maximum allocation benefit is the most suitable choice for cloud computing tasks after considering server cost, reliability, and computing power.
[0101] In this embodiment of the invention, based on the deadline of the cloud computing task, a pre-set task failure prediction method is used to divide the multiple servers used to process the cloud computing task into reliable servers and unreliable servers. Then, for unreliable servers, corresponding reliable servers can be matched to form server groups, so that unreliable servers can still be utilized. Next, the allocation benefits of reliable servers and server groups are calculated separately, and the server or server group with the highest allocation benefit is selected to execute the cloud computing task. All currently available servers, whether reliable or unreliable, are utilized, and only the server or server combination with the highest allocation benefit is selected to execute the cloud computing task. This approach can more comprehensively consider the various influencing factors of cloud computing tasks on server selection and improve the matching degree between cloud computing tasks and corresponding processing servers.
[0102] Please see Figure 2 The second embodiment of the server allocation method in this invention includes:
[0103] 201. Obtain the cloud computing task and its corresponding deadline, and determine multiple servers to process the cloud computing task;
[0104] 202. Based on the task deadline, a pre-set task failure prediction method is used to divide the multiple servers into reliable servers and unreliable servers;
[0105] 203. Perform task migration matching on each unreliable server and each reliable server in sequence to obtain multiple server groups that can be used to complete the cloud computing task, wherein each server group includes one unreliable server and one reliable server.
[0106] 204. Determine the first cost factor for unreliable servers and the second cost factor for reliable servers in each of the aforementioned server groups;
[0107] In this embodiment, for unreliable servers, although the computing resources within the server may be unavailable due to hardware or software defects, design errors, unstable environment, or operational mistakes, as mentioned above, their computing power and cost advantages may still exist. For example, the computing power may only be problematic at a certain stage, while the computing power is still very high in the early stages of computing. If it is not utilized, on the one hand, resources will be wasted, and on the other hand, other reliable servers will bear more computing pressure, which may ultimately prevent the cloud computing task from being completed smoothly.
[0108] Therefore, unreliable and reliable servers are combined here to execute cloud computing tasks. To select the most cost-effective server or server group for the cloud computing task, the first cost factor of the unreliable server and the second cost factor of the reliable server are obtained from the database. The pricing of the cost factors varies depending on the calculation stage. Here, the estimated first cost factor refers to the computing cost of the unreliable server from the start time of cloud computing to the migration time point, and the estimated second cost factor refers to the computing cost of the reliable server from the migration time point to the task completion time.
[0109] 205. Based on the first cost factor and the computing power of the unreliable server, calculate the first initial allocation benefit for each of the server groups before the migration time node;
[0110] 206. Based on the second cost factor and the computing power of the reliable server, calculate the second initial allocation benefit for each server group after the migration time node;
[0111] In this embodiment, unreliable servers are excluded from the evaluation scope of cloud computing tasks due to their low reliability performance. Therefore, their reliability is not considered. The corresponding first initial allocation benefit is calculated based on two factors: cost and computing power, to evaluate the first initial allocation benefit of unreliable servers when performing cloud computing tasks in the early stage (before the migration time node), and to measure the advantages and disadvantages of unreliable servers in terms of cost and computing power. The second initial allocation benefit is calculated based on the cost and computing power of reliable servers, to evaluate the second initial allocation benefit of reliable servers when performing cloud computing tasks in the later stage (after the migration time node), and to measure the cost-effectiveness of reliable servers in terms of cost and computing power.
[0112] 207. Based on the first initial allocation benefit and the second initial allocation benefit, determine the first allocation benefit for each of the server groups;
[0113] In this embodiment, the first initial allocation benefit and the second initial allocation benefit quantify the cost-effectiveness of unreliable servers performing cloud computing tasks before the migration time node and the cost-effectiveness of reliable servers performing cloud computing tasks after the migration time node, respectively. The sum of the two can be used to obtain the overall cost-effectiveness of the server group performing cloud computing tasks, that is, the first allocation benefit.
[0114] 208. Calculate the reliability factor of each reliable server based on the completion time of each reliable server;
[0115] 209. Based on the reliability factor, the second cost factor, and the computing power of the reliable server, calculate the second allocation benefit for each of the reliable servers;
[0116] In this embodiment, the reliability of different reliable servers is different. Here, the reliability factor of each reliable server can be calculated based on the completion time of the cloud computing task predicted by the task failure prediction method. The reliability factor is used to describe the reliability of the reliable server.
[0117] Then, the cost-effectiveness of performing cloud computing tasks for a single reliability factor is quantified through the second allocation benefit, which is linked to three factors: cost, computing power, and reliability of the cloud computing task, and calculated using the formula mentioned above.
[0118] 210. Based on the first allocation benefit and the second allocation benefit, select a reliable server or server group with the highest allocation benefit to execute the cloud computing task.
[0119] In this embodiment of the invention, a first allocation benefit for each server group to execute cloud computing tasks is calculated by using the first cost factor of unreliable servers, the second cost factor of reliable servers, and computing power in each server group. A second allocation benefit for each reliable server is calculated by using the reliability factor, the second cost factor, and computing power of each reliable server. At the same time, the reliability, cost, computing power, and other factors of all servers are taken into account to allocate the most suitable server or server group to process the cloud computing tasks.
[0120] The server allocation method in the embodiments of the present invention has been described above. The server allocation device in the embodiments of the present invention is described below. Please refer to [link / reference]. Figure 3 One embodiment of the server allocation device in this invention includes:
[0121] The acquisition module 301 is used to acquire the cloud computing task and the corresponding task deadline, and to determine multiple servers for processing the cloud computing task.
[0122] The partitioning module 302 is used to partition the multiple servers into reliable servers and unreliable servers according to the task deadline and a preset task failure prediction method.
[0123] The matching module 303 is used to sequentially perform task migration matching between each unreliable server and each reliable server to obtain multiple server groups that can be used to complete the cloud computing task, wherein the server group includes one unreliable server and one reliable server.
[0124] The calculation module 304 is used to calculate the first allocation benefit of each of the server groups and the second allocation benefit of each of the reliable servers respectively.
[0125] The allocation module 305 is used to select a reliable server or server group with the highest allocation benefit to execute the cloud computing task based on the first allocation benefit and the second allocation benefit.
[0126] In this embodiment of the invention, based on the deadline of the cloud computing task, a pre-set task failure prediction method is used to divide the multiple servers used to process the cloud computing task into reliable servers and unreliable servers. Then, for unreliable servers, corresponding reliable servers can be matched to form server groups, so that unreliable servers can still be utilized. Next, the allocation benefits of reliable servers and server groups are calculated separately, and the server or server group with the highest allocation benefit is selected to execute the cloud computing task. All currently available servers, whether reliable or unreliable, are utilized, and only the server or server combination with the highest allocation benefit is selected to execute the cloud computing task. This approach can more comprehensively consider the various influencing factors of cloud computing tasks on server selection and improve the matching degree between cloud computing tasks and corresponding processing servers.
[0127] Please see Figure 4 Another embodiment of the server allocation device in this invention includes:
[0128] The acquisition module 301 is used to acquire the cloud computing task and the corresponding task deadline, and to determine multiple servers for processing the cloud computing task.
[0129] The partitioning module 302 is used to partition the multiple servers into reliable servers and unreliable servers according to the task deadline and a preset task failure prediction method.
[0130] The matching module 303 is used to sequentially perform task migration matching between each unreliable server and each reliable server to obtain multiple server groups that can be used to complete the cloud computing task, wherein the server group includes one unreliable server and one reliable server.
[0131] The calculation module 304 is used to calculate the first allocation benefit of each of the server groups and the second allocation benefit of each of the reliable servers respectively.
[0132] The allocation module 305 is used to select a reliable server or server group with the highest allocation benefit to execute the cloud computing task based on the first allocation benefit and the second allocation benefit.
[0133] Specifically, the partitioning module 302 includes:
[0134] The prediction unit 3021 is used to predict the completion time of the multiple servers in processing the cloud computing task by using the preset task failure prediction method.
[0135] The discrimination unit 3022 is used to sequentially determine whether each completion time is before the task deadline;
[0136] The partitioning unit 3023 is used to partition the corresponding server as a reliable server if the completion time is before the task deadline, and otherwise partition the corresponding server as an unreliable server.
[0137] Specifically, the prediction unit 3021 includes:
[0138] The determination subunit 30211 is used to determine the load of the cloud computing task and the computing power of each server;
[0139] The prediction subunit 30212 is used to predict the completion time of the multiple servers in processing the cloud computing task based on the load and the computing power, using the preset task failure prediction method.
[0140] Specifically, the matching module 303 includes:
[0141] Selection unit 3031 is used to sequentially select an unreliable server and a reliable server, and determine the computing power of each respectively;
[0142] The first computing unit 3032 is used to calculate the migration time point for the cloud computing task to migrate from the unreliable server to the reliable server based on the computing capabilities of the two and the load.
[0143] The discrimination unit 3033 is used to determine whether the migration time node is before the preset time node;
[0144] The matching unit 3034 is used to pair the corresponding unreliable server and reliable server to obtain multiple corresponding server groups if the migration time node is before the preset time node.
[0145] Specifically, the calculation module 304 includes a second calculation unit 3041, which is used for:
[0146] Determine the first cost factor for unreliable servers and the second cost factor for reliable servers in each of the server groups;
[0147] Based on the first cost factor and the computing power of the unreliable server, calculate the first initial allocation benefit for each server group before the migration time node.
[0148] Based on the second cost factor and the computing power of the reliable server, calculate the second initial allocation benefit for each server group after the migration time node;
[0149] Based on the first initial allocation benefit and the second initial allocation benefit, the first allocation benefit of each server group is determined.
[0150] Specifically, the calculation module 304 further includes a third calculation unit 3042, which is used for:
[0151] Based on the completion time of each of the reliable servers, the reliability factor of each of the reliable servers is calculated respectively;
[0152] Based on the reliability factor, the second cost factor, and the computing power of the reliable server, the second allocation benefit of each reliable server is calculated.
[0153] This invention not only introduces a pre-set task failure prediction method, dividing multiple servers used to process the cloud computing task into reliable and unreliable servers, and matching unreliable servers with corresponding reliable servers to form server groups, allowing unreliable servers to still be utilized; then, by quantifying the matching degree between servers and cloud computing tasks through allocation benefits, all currently available servers are utilized, and more suitable servers or server combinations can be allocated to execute the cloud computing task, which can more comprehensively consider the various influencing factors of cloud computing tasks on server selection and improve the matching degree between cloud computing tasks and corresponding processing servers; it also introduces the allocation of the first allocation benefit of each server group for executing cloud computing tasks, and the second allocation benefit of each reliable server, while taking into account factors such as the reliability, cost, and computing power of all servers, to allocate the most suitable server or server group to process the cloud computing task.
[0154] above Figure 3 and Figure 4 The server allocation device in this embodiment of the invention will be described in detail from the perspective of modular functional entities. The server allocation equipment in this embodiment of the invention will be described in detail from the perspective of hardware processing.
[0155] Figure 5 This is a schematic diagram of a server provisioning device 500 provided in an embodiment of the present invention. The server provisioning device 500 can vary significantly due to different configurations or performance characteristics. It may include one or more central processing units (CPUs) 510 (e.g., one or more processors) and a memory 520, and one or more storage media 530 (e.g., one or more mass storage devices) for storing application programs 533 or data 532. The memory 520 and storage media 530 can be temporary or persistent storage. The program stored in the storage media 530 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the server provisioning device 500. Furthermore, the processor 510 may be configured to communicate with the storage media 530 and execute the series of instruction operations in the storage media 530 on the server provisioning device 500.
[0156] Server provisioning equipment 500 may also include one or more power supplies 540, one or more wired or wireless network interfaces 550, one or more input / output interfaces 560, and / or one or more operating systems 531, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc. Those skilled in the art will understand that... Figure 5 The server provisioning equipment structure shown does not constitute a limitation on the server provisioning equipment, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0157] The present invention also provides a server dispatching device, which includes a memory and a processor. The memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor performs the steps of the server dispatching method in the above embodiments.
[0158] The present invention also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium, wherein the computer-readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the steps of the server dispatching method.
[0159] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0160] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0161] The blockchain referred to in this invention is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information (anti-counterfeiting) and generate the next block. A blockchain can include an underlying blockchain platform, a platform product service layer, and an application service layer.
[0162] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A server allocation method, characterized in that, The server allocation method includes: Obtain the cloud computing task and its corresponding deadline, and determine multiple servers to process the cloud computing task; Based on the task deadline, a pre-set task failure prediction method is used to divide the multiple servers into reliable servers and unreliable servers. Task migration matching is performed sequentially between each unreliable server and each reliable server to obtain multiple server groups that can be used to complete the cloud computing task, wherein each server group contains one unreliable server and one reliable server. Calculate the first allocation benefit for each of the server groups, and calculate the second allocation benefit for each of the reliable servers; Based on the first allocation benefit and the second allocation benefit, select a reliable server or server group with the highest allocation benefit to execute the cloud computing task.
2. The server allocation method according to claim 1, characterized in that, The step of classifying the multiple servers into reliable servers and unreliable servers based on the task deadline using a pre-defined task failure prediction method includes: The pre-set task failure prediction method is used to predict the completion time of the multiple servers in processing the cloud computing task. Determine in turn whether each completion time is before the task deadline; If so, the corresponding server is classified as a reliable server; otherwise, the corresponding server is classified as an unreliable server.
3. The server allocation method according to claim 2, characterized in that, The step of using the pre-set task failure prediction method to predict the completion time of the multiple servers in processing the cloud computing task includes: Determine the load of the cloud computing task and the computing power of each server; Based on the load and computing power, the pre-set task failure prediction method is used to predict the completion time of the multiple servers in processing the cloud computing task.
4. The server allocation method according to claim 3, characterized in that, The step of sequentially performing task migration matching between the unreliable servers and the reliable servers to obtain multiple server groups that can be used to complete the cloud computing task includes: Select one unreliable server and one reliable server in turn, and determine the computing power of each. Based on the computing power of both servers and the load, calculate the migration time point for the cloud computing task to migrate from the unreliable server to the reliable server. Determine whether the migration time node is before the preset time node; If so, the corresponding unreliable servers and reliable servers are paired to obtain multiple corresponding server groups.
5. The server allocation method according to claim 4, characterized in that, The calculation of the first allocation benefit for each of the server groups includes: Determine the first cost factor for unreliable servers and the second cost factor for reliable servers in each of the server groups; Based on the first cost factor and the computing power of the unreliable server, calculate the first initial allocation benefit for each server group before the migration time node. Based on the second cost factor and the computing power of the reliable server, calculate the second initial allocation benefit for each server group after the migration time node; Based on the first initial allocation benefit and the second initial allocation benefit, the first allocation benefit of each server group is determined.
6. The server allocation method according to claim 5, characterized in that, The calculation of the second allocation benefit for each of the reliable servers includes: Based on the completion time of each of the reliable servers, the reliability factor of each of the reliable servers is calculated respectively; Based on the reliability factor, the second cost factor, and the computing power of the reliable server, the second allocation benefit of each reliable server is calculated.
7. A server allocation device, characterized in that, The server allocation device includes: The acquisition module is used to acquire cloud computing tasks and their corresponding deadlines, and to determine multiple servers for processing the cloud computing tasks. The partitioning module is used to partition the multiple servers into reliable servers and unreliable servers based on the task deadline and using a preset task failure prediction method. The matching module is used to perform task migration matching between each unreliable server and each reliable server in sequence to obtain multiple server groups that can be used to complete the cloud computing task, wherein the server group includes one unreliable server and one reliable server. The calculation module is used to calculate the first allocation benefit of each of the server groups and the second allocation benefit of each of the reliable servers. The allocation module is used to select a reliable server or server group with the highest allocation benefit to execute the cloud computing task based on the first allocation benefit and the second allocation benefit.
8. The server allocation device according to claim 7, characterized in that, The partitioning module includes: The prediction unit is used to predict the completion time of the multiple servers in processing the cloud computing task by using the preset task failure prediction method. The discrimination unit is used to sequentially determine whether each completion time is before the task deadline; The partitioning unit is used to partition the corresponding server as a reliable server if the completion time is before the task deadline, and otherwise partition the corresponding server as an unreliable server.
9. A server allocation device, characterized in that, The server dispatching device includes: a memory and at least one processor, wherein the memory stores instructions; The at least one processor invokes the instructions in the memory to cause the server dispatching device to perform the server dispatching method as described in any one of claims 1-6.
10. A computer-readable storage medium storing a computer program thereon, characterized in that, When the computer program is executed by the processor, it implements the server dispatching method as described in any one of claims 1-6.
Citation Information
Patent Citations
Cloud computing infrastructure system based on unbelievable server nodes
CN201532634U
Constraint-conscious optimal scheduling for cloud infrastructures
US20110173038A1