Self-adaptive task scheduling method and device, equipment, storage medium and program product

Through the adaptive task scheduling method, the task execution order is adjusted according to the task information and evaluation indicators in the cloud server, which solves the problem of task scheduling imbalance and congestion in the cloud server, and improves the rationality of task sorting and resource utilization efficiency.

CN119299452AActive Publication Date: 2025-01-10INNER MONGOLIA MOBILE +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411358543.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2025-01-10
Estimated Expiration
2044-09-27

AI Technical Summary

Technical Problem

Existing task scheduling methods are prone to scheduling imbalances and task congestion in cloud servers, especially in scenarios where multiple task types and multiple access requirements are required.

Method used

By obtaining the task information on the user's side in the cloud server, the importance of the task is determined based on pre-constructed evaluation indicators (such as cost indicators, historical average latency, network bandwidth occupancy), and adjust the task according to the execution progress information during the task execution process. Execution order, adopt adaptive scheduling method to optimize task sorting.

Benefits of technology

It realizes adaptive scheduling of tasks, improves the rationality of task sorting, avoids congestion in cloud servers, and improves resource utilization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299452A_ABST
    Figure CN119299452A_ABST
Patent Text Reader

Abstract

The invention discloses a self-adaptive task scheduling method and device, equipment, a storage medium and a program product. The method comprises the steps of obtaining task information corresponding to a task of a user side in a cloud server; then, according to the task information and a pre-constructed evaluation index, the importance degree of the task is determined, and the corresponding task is executed according to the importance degree of the task; then, in the task execution process, according to the execution progress information of the tasks and the task information, the execution sequence of the corresponding tasks is adjusted in a self-adaptive mode, and uncompleted tasks in the tasks are executed according to the adjusted execution sequence; according to the method, adaptive scheduling of the tasks can be realized, the reasonability of task sorting is improved, and task congestion in the cloud server is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cloud computing technology, and in particular to an adaptive task scheduling method, device, equipment, storage medium and program product. Background Art

[0002] Cloud computing is a distributed computing technology that automatically splits huge computing programs into countless smaller subprograms through the network, and then sends the results back to the user after searching, computing and analyzing by a large system composed of multiple servers. In the cloud computing model, information technology resources such as software, hardware, and platforms are provided to users in the form of services. In order to ensure the rational use of cloud computing resources, it is particularly important to schedule tasks in the cloud server.

[0003] At present, the existing task scheduling methods only consider the server side or the user side, and perform task sorting and scheduling based on task priority or task volume. With the increase in the number of cloud servers, the task processing process on the server side is prone to scheduling imbalance using the existing task scheduling methods, especially in scenarios with multiple task types and multiple access requirements, which easily causes task congestion in the cloud server. Summary of the invention

[0004] In view of the problems existing in the prior art, the embodiments of the present invention provide an adaptive task scheduling method, apparatus, device, storage medium and program product, which can realize adaptive scheduling of tasks and avoid task congestion in a cloud server.

[0005] In a first aspect, an embodiment of the present invention provides an adaptive task scheduling method, comprising:

[0006] Obtain task information corresponding to the task on the user side in the cloud server;

[0007] Determine the importance of the task according to the task information and pre-constructed evaluation indicators, and perform the corresponding task according to the importance of the task;

[0008] During the task execution process, the execution order of the corresponding tasks is adjusted according to the execution progress information of the tasks and the task information, and the unfinished tasks in the tasks are executed according to the adjusted execution order.

[0009] As an improvement of the above solution, the evaluation indicators include a cost indicator for the cloud server to execute the task, a historical average delay indicator for the task, and a network bandwidth occupancy indicator.

[0010] As an improvement of the above solution, the method further includes the following evaluation index construction process:

[0011] Upon receiving the task execution entrustment request sent by the user side, constructing a cost indicator of the corresponding task according to the execution cost of the task on the cloud server and the resource cache cost;

[0012] Constructing the task historical average delay index according to the total number of tasks historically executed by the cloud server and the job running time of each historical task;

[0013] The network bandwidth occupancy rate indicator is constructed according to first information related to the number of times the resource file is accessed and second information related to the local cache execution of the resource file.

[0014] As an improvement of the above solution, determining the importance of the task according to the task information and the pre-constructed evaluation index includes:

[0015] Calculating, according to the task information, a first cost when the user side entrusts the cloud server to perform the corresponding task;

[0016] According to the execution cost, the network bandwidth occupancy rate index, the task historical average delay index and the first overhead in the cost indicators corresponding to each of the tasks, the importance of the corresponding tasks is evaluated to determine the importance of each of the tasks.

[0017] As an improvement of the above solution, adjusting the execution order of corresponding tasks according to the execution progress information of the tasks and the task information includes:

[0018] Calculating, according to the task information, a first cost when the user side entrusts the cloud server to perform the corresponding task;

[0019] Traversing the tasks of the user side in the cloud server, and determining the information sharing amount of the corresponding tasks;

[0020] Calculating a redundancy strategy evaluation matrix of the corresponding task according to the information sharing amount and the first overhead of the corresponding task, and judging whether the corresponding task needs to perform adaptive adjustment of the execution order according to the redundancy strategy evaluation matrix;

[0021] When the execution order of the corresponding tasks needs to be adaptively adjusted, the execution order of the corresponding tasks is adjusted according to the redundancy strategy evaluation matrix and execution progress information of the corresponding tasks.

[0022] As an improvement of the above solution, the first overhead when the user side entrusts the cloud server to perform the corresponding task is calculated according to the task information, including:

[0023] Calculate the communication delay of the corresponding task according to the task size in the task information corresponding to the task, the transmission rate of the user side access network, and the round-trip delay between the user side and the cloud server;

[0024] Calculate the computation delay of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel of the exclusive cloud server from the user side, the standard computing capacity of the cloud server, the task size and the number of valid tasks in the task information corresponding to the task;

[0025] Calculate the payment information of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel of the exclusive cloud server from the user side, the task size and the number of valid tasks in the task information corresponding to the task, the preset discount coefficient, and the preset standard charge under the unit computing amount;

[0026] The first overhead is calculated according to the communication delay, the calculation delay and the payment information of each of the tasks.

[0027] As an improvement of the above solution, the redundancy strategy evaluation matrix of the corresponding task is calculated according to the information sharing amount and the first overhead of the corresponding task, including:

[0028] Reducing and standardizing the information sharing amount according to the first overhead to obtain a second overhead of the corresponding task;

[0029] The tasks having the same content or the same form are used to construct a task set, and according to the number of the task sets, the number of tasks in the task set, and the second overhead, the redundancy degree of each of the tasks is calculated;

[0030] A redundancy strategy evaluation matrix of a corresponding task is calculated according to the redundancy degree and the second overhead.

[0031] As an improvement of the above solution, the execution order of the corresponding tasks is adjusted according to the redundancy strategy evaluation matrix and execution progress information of the corresponding tasks, including:

[0032] Determine, according to the execution progress information, the influencing factors when the cloud server executes the corresponding task; wherein the influencing factors include: task type importance, task magnitude, remaining execution time, and completion progress;

[0033] Calculate the priority of the corresponding task according to the influencing factors;

[0034] Determining the priority of the corresponding task according to the priority and the redundancy strategy evaluation matrix;

[0035] According to the priorities of the corresponding tasks, the execution order of the corresponding tasks in the cloud service is adjusted.

[0036] In a second aspect, an embodiment of the present invention provides an adaptive task scheduling device, comprising:

[0037] The task information acquisition module is used to obtain the task information corresponding to the task on the user side in the cloud server;

[0038] A task execution module, used to determine the importance of the task according to the task information and pre-built evaluation indicators, and execute the corresponding task according to the importance of the task;

[0039] The execution sequence adjustment module is used to adjust the execution sequence of the corresponding tasks according to the execution progress information of the tasks and the task information during the task execution process, and execute the unfinished tasks in the tasks according to the adjusted execution sequence.

[0040] In a third aspect, an embodiment of the present invention provides an adaptive task scheduling device, comprising: a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the adaptive task scheduling method as described in any one of the first aspects is implemented.

[0041] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein when the computer program is running, the device where the computer-readable storage medium is located is controlled to execute the adaptive task scheduling method as described in any one of the first aspects.

[0042] In a fifth aspect, an embodiment of the present invention provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the adaptive task scheduling method as described in any one of the first aspects.

[0043] Compared with the prior art, an adaptive task scheduling method, apparatus, device, storage medium and program product according to an embodiment of the present invention, a cloud server obtains task information corresponding to a task on the user side in the cloud server; then determines the importance of the task according to the task information and pre-constructed evaluation indicators, and executes the corresponding task according to the importance of the task; thereafter, during the task execution process, the execution order of the corresponding tasks is adaptively adjusted according to the execution progress information of the task and the task information, and the unfinished tasks in the task are executed according to the adjusted execution order; the embodiment of the present invention can realize adaptive scheduling of tasks, improve the rationality of task sorting, and avoid task congestion in the cloud server. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solution of the present invention, the drawings used in the implementation mode will be briefly introduced below. Obviously, the drawings described below are only some implementation modes of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0045] Figure 1 is a flow chart of an adaptive task scheduling method provided by an embodiment of the present invention;

[0046] Figure 2 is another flow chart of an adaptive task scheduling method provided by an embodiment of the present invention;

[0047] Figure 3 is an evaluation flow chart of adaptive adjustment provided by an embodiment of the present invention;

[0048] Figure 4 is a structural block diagram of an adaptive task scheduling device provided by an embodiment of the present invention;

[0049] Figure 5 It is a structural block diagram of an adaptive task scheduling device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0050] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0051] It is understood that the various numbers involved in the embodiments of the present invention are only for the convenience of description and are not intended to limit the scope of the present application. The size of the sequence number of each process does not mean the order of execution, and the execution order of each process should be determined by its function and internal logic.

[0052] In embodiments of the present invention, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. The terms "include", "comprises", or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article, or device. In the absence of further restrictions, the elements defined by the statement "includes..." do not exclude the presence of other identical elements in the process, method, article, or device including the elements. The term "plurality or several" refers to two or more.

[0053] See also Figure 1 , Figure 1 1 is a flow chart of an adaptive task scheduling method provided by an embodiment of the present invention. The adaptive task scheduling method specifically includes:

[0054] S11: Obtaining task information corresponding to the task on the user side in the cloud server;

[0055] S12: determining the importance of the task according to the task information and the pre-constructed evaluation index, and executing the corresponding task according to the importance of the task;

[0056] S13: During the task execution process, the execution order of the corresponding tasks is adjusted according to the execution progress information of the tasks and the task information, and the unfinished tasks in the tasks are executed according to the adjusted execution order.

[0057] It should be noted that the adaptive task scheduling method described in the embodiment of the present invention is implemented by the cloud server. When the user entrusts the cloud server to execute a task, the evaluation index of the corresponding task will be constructed, and then the task information corresponding to the corresponding task will be pulled from the user side, wherein the task information includes but is not limited to the task size, the number of valid tasks, the task type and the importance of the task type, the task magnitude, etc. Then, the task sorting of all the tasks of the user side in the cloud service before execution is performed in combination with the evaluation index and task information of the corresponding task, and the cloud server executes the tasks of the user side in the cloud service according to the current task sorting; subsequently, in the task execution process, the execution order is adaptively adjusted based on the execution progress information and task information of the tasks of the user side in the cloud service, and the unfinished tasks of the user side in the cloud service are executed according to the adjusted execution order, such as the remaining unfinished tasks and the tasks that have not started to be executed. Through the above task scheduling process, the adaptive scheduling of tasks can be realized, the rationality of task sorting can be improved, and task congestion in the cloud server can be avoided.

[0058] The evaluation indicators include a cost indicator for the cloud server to execute the task, a historical average delay indicator for the task, and a network bandwidth occupancy rate indicator.

[0059] Furthermore, the evaluation index is constructed in the following manner:

[0060] When receiving the task execution entrustment request sent by the user side, a cost indicator of the corresponding task is constructed according to the execution cost of the task on the cloud server and the resource cache cost.

[0061] For example, when the cloud server receives a task execution entrustment request sent by the user side, that is, when the user side entrusts the cloud server to execute a task, it will calculate the server-side overhead. The server-side overhead consists of two parts: the execution fee of the task on the cloud server and the resource cache fee. The specific calculation formula is as follows:

[0062]

[0063] Among them, C Jobi (Also described as C Job ) represents the execution cost of the task on node i in the cloud server, q represents the number of nodes that can be rented in the server; C Fj represents the resource caching fee of the computing resource Fj rented by the task on the cloud server, q represents the number of computing resources that can be rented on node i, and j represents the sequence number of the computing resource.

[0064] Assuming that the user rents the computing resources on node i of the cloud server to perform the task, the execution cost of the task on the cloud server (which can also be described as the execution cost of the task on node i of the cloud server) is C job The calculation formula is as follows:

[0065]

[0066] Among them, G i represents the hourly cost of renting computing resources on node i to execute tasks, T excute represents the task calculation time, G flow represents the fee charged for each 1GB of traffic on the collaborative network, W rfk Indicates the size of the computing resource rfk that needs to be obtained from other nodes, and k represents the sequence number of the computing resource.

[0067] The resource caching cost of the task on the cloud server (which can also be described as the resource caching cost of the computing resources rented by the task on node i on the cloud server) C Fj The calculation formula is as follows:

[0068] C Fj =Si ×W Fj ×storageTime Fj (3);

[0069] Among them, S i represents the hourly cost of storing 1GB of data on the leased node i, storageTime Fj represents the storage time occupied by computing resource Fj, W Fj Indicates the computing power resource size of the computing power resource Fj.

[0070] The task historical average delay index is constructed according to the total number of tasks historically executed by the cloud server and the job running time of each historical task.

[0071] Example, task historical average delay indicator The calculation formula is as follows:

[0072]

[0073] Where N represents the total number of tasks executed by the cloud server in history, that is, the total number of tasks before receiving the user-side entrustment to the cloud server to execute the task, T n is the job running time of the nth task, the specific job running time T n It consists of three parts: task queuing time, resource preparation time required to execute the task, and task calculation time. The specific calculation formula is as follows:

[0074] T n =T queue +T access +T excute (5);

[0075] Among them, T queue Indicates the task queue time. T x represents the job running time of the xth task before the nth task; T access Indicates the resource preparation time required to perform the task, fileSize(Fj) indicates the file size of computing resource Fj, BW NV(t) represents the network bandwidth between nodes at time t; T excute Indicates the task calculation time, Worker Nodev represents the computing power of node i, and fileSize(n) represents the file size of the nth task.

[0076] The network bandwidth occupancy rate indicator is constructed according to first information related to the number of times the resource file is accessed and second information related to the local cache execution of the resource file.

[0077] For example, the network bandwidth occupancy index R ENU The calculation formula is as follows:

[0078]

[0079] Among them, N remoteaccesses Indicates the number of times resource files have been accessed from non-local nodes (i.e. nodes not under the cloud server), N filecaches Indicates the number of previous task executions in local cache, N localaccesses Indicates the number of times the resource cache has been accessed from the local node (i.e. the node under the cloud server).

[0080] It should be understood that for a given network topology, the network bandwidth occupancy index R ENU The smaller it is, the higher the local cache hit rate of the cloud server is and the less network bandwidth is occupied.

[0081] Specifically, determining the importance of the task according to the task information and the pre-constructed evaluation index includes:

[0082] Calculating, according to the task information, a first cost when the user side entrusts the cloud server to perform the corresponding task;

[0083] According to the execution cost, the network bandwidth occupancy rate index, the task historical average delay index and the first overhead in the cost indicators corresponding to each of the tasks, the importance of the corresponding tasks is evaluated to determine the importance of each of the tasks.

[0084] In an optional embodiment, the calculating, according to the task information, a first overhead when the user side entrusts the cloud server to perform the corresponding task includes:

[0085] Calculate the communication delay of the corresponding task according to the task size in the task information corresponding to the task, the transmission rate of the user side access network, and the round-trip delay between the user side and the cloud server;

[0086] Calculate the computation delay of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel of the exclusive cloud server from the user side, the standard computing capacity of the cloud server, the task size and the number of valid tasks in the task information corresponding to the task;

[0087] Calculate the payment information of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel of the exclusive cloud server from the user side, the task size and the number of valid tasks in the task information corresponding to the task, the preset discount coefficient, and the preset standard charge under the unit computing amount;

[0088] The first overhead is calculated according to the communication delay, the calculation delay and the payment information of each of the tasks.

[0089] In the embodiment of the present invention, after the cloud server pulls the task information corresponding to the task entrusted by the user side, it evaluates the importance of the task of the user side in the cloud service in combination with the evaluation index related to the task sorting. The specific evaluation process is as follows:

[0090] First, based on the task information corresponding to the task delegated by the user side, the first cost KPL when the user side delegates the cloud server to perform the corresponding task is calculated, and the calculation formula is as follows:

[0091]

[0092] C nm =c f (1-β(u m (β)-1))Z n y n (10);

[0093] in, Indicates communication delay; Z n represents the original task size of the task when the user side u provides the task. Since the size of the task itself will change after the task is compressed and encrypted, the embodiment of the present invention uses the original task size to calculate the first overhead; y u represents the number of valid tasks among the tasks provided by the user side; Ru,c represents the transmission rate of the network accessed by the user side u; Represents the round-trip delay between the user side u and the cloud server (i.e., the round-trip delay between the user side u sending a task to the cloud server and the cloud server feeding back the received information to the user side u).

[0094] represents the computation delay; f m represents the standard computing capacity of the cloud server (i.e., the standard computing capacity of the cloud server when executing the task entrusted by the user); β represents the preset discount coefficient, which is proportional to the user level; u m It represents the transmission rate from user side u to fog node m under the discount coefficient β when user side u exclusively occupies the sub-communication channel m of the cloud server. It should be understood that fog node refers to a node not under the cloud server, that is, a non-local node.

[0095] C um Indicates payment information; c f It is a constant that represents the cloud server provider's standard charge per unit of computing power (which can also be described as a uniform quote).

[0096] Based on the evaluation index calculated above and the first cost when the user entrusts the cloud server to perform the corresponding task, the importance of the corresponding task is estimated to determine the importance of the corresponding task J imp , the specific calculation formula is as follows:

[0097]

[0098] Among them, α, δ, θ, σ represent preset weight parameters, and α+δ+θ+σ=1.

[0099] The cloud service determines the importance of each task on the user side in the cloud server based on the above process. imp Then, according to the importance of each task imp The tasks are sorted from large to small, and the user's tasks in the cloud server are executed based on the current task sorting.

[0100] Further, adjusting the execution order of corresponding tasks according to the execution progress information of the tasks and the task information includes:

[0101] Calculating, according to the task information, a first cost when the user side entrusts the cloud server to perform the corresponding task;

[0102] It should be noted that the calculation principle of the first cost here can be found in the above description and will not be repeated here.

[0103] Traversing the tasks of the user side in the cloud server, and determining the information sharing amount of the corresponding tasks;

[0104] Calculating a redundancy strategy evaluation matrix of the corresponding task according to the information sharing amount and the first overhead of the corresponding task, and judging whether the corresponding task needs to perform adaptive adjustment of the execution order according to the redundancy strategy evaluation matrix;

[0105] When the execution order of the corresponding tasks needs to be adaptively adjusted, the execution order of the corresponding tasks is adjusted according to the redundancy strategy evaluation matrix and execution progress information of the corresponding tasks.

[0106] In an optional embodiment, the step of calculating the redundancy strategy evaluation matrix of the corresponding task according to the information sharing amount and the first overhead of the corresponding task includes:

[0107] Reducing and standardizing the information sharing amount according to the first overhead to obtain a second overhead of the corresponding task;

[0108] The tasks having the same content or the same form are used to construct a task set, and according to the number of the task sets, the number of tasks in the task set, and the second overhead, the redundancy degree of each of the tasks is calculated;

[0109] A redundancy strategy evaluation matrix of a corresponding task is calculated according to the redundancy degree and the second overhead.

[0110] Specifically, adjusting the execution order of the corresponding tasks according to the redundancy strategy evaluation matrix and the execution progress information of the corresponding tasks includes:

[0111] Determine, according to the execution progress information, the influencing factors when the cloud server executes the corresponding task; wherein the influencing factors include: task type importance, task magnitude, remaining execution time, and completion progress;

[0112] Calculate the priority of the corresponding task according to the influencing factors;

[0113] Determining the priority of the corresponding task according to the priority and the redundancy strategy evaluation matrix;

[0114] According to the priorities of the corresponding tasks, the execution order of the corresponding tasks in the cloud service is adjusted.

[0115] In an embodiment of the present invention, during the task execution process, the cloud server evaluates whether it is necessary to adaptively adjust the execution order of the task based on the task execution progress information, such as the completion progress of the task and the remaining execution time of the task, and the first overhead KPL when the user side entrusts the cloud server to execute the task. If not, the current task order is maintained to continue to execute the task; if necessary, the corresponding tasks are adaptively sorted based on the task strategy evaluation matrix and the remaining execution time and completion progress of the tasks in the cloud server to obtain the final execution order P; the cloud server executes the remaining unfinished and unexecuted tasks on the user side in the cloud server according to the adaptively adjusted execution order P of the tasks, such as Figure 2 shown.

[0116] like Figure 3 As shown, during the task execution process, the specific process of evaluating whether the execution order of the tasks needs to be adaptively adjusted is as follows:

[0117] First, traverse the information sharing amount of the task currently corresponding to the user side in the cloud server. The specific calculation formula is as follows:

[0118] I(X,Y)=H(X)+H(Y)-H(XY) (12);

[0119] Among them, X and Y represent two different tasks executed on the same cloud server, H represents the information entropy in the task, and I represents the amount of information sharing between tasks X and Y. The larger the value of I, the stronger the correlation between tasks X and Y.

[0120] The information sharing amount I(X, Y) is reduced based on the first cost KPL of the current task (such as X or Y), and is normalized to obtain the second cost S(X, Y) of the corresponding task. The specific calculation formula is as follows:

[0121]

[0122] Among them, S(X, Y) represents the second overhead obtained by standardizing the information sharing amount of two tasks X and Y after reduction. The embodiment of the present invention uses the first overhead KPL of the task to reduce the difficulty of the task, and can reuse the processing power of tasks with the same content or the same form to reduce resource overhead. When there are tasks with the same content or the same form that can share computing power, the overhead based on processing the same task is reduced on the basis of the original overhead to reduce the cost on the user side.

[0123] The redundancy of the calculation task is calculated by the following formula:

[0124]

[0125] Where J represents a task set consisting of tasks with the same content or form, X represents the current task, Y represents another task with the same content or form as task X, then J(X,Y) represents a task set consisting of task X and task Y, and |J| identifies the actual number of tasks in the task set.

[0126] The redundancy of tasks is related to the relevance of tasks. If the second overhead of executing the corresponding task is low, it will not have a significant impact on the redundancy of the task. If the second overhead of executing the corresponding task is large, it will further increase the redundancy of the task.

[0127] According to the redundancy of the task and the second cost S(X, Y) of the task, evaluate whether the task needs to be adaptively adjusted in execution order;

[0128] It should be understood that the redundancy of tasks refers to the dependencies and interrelationships between the various tasks executed in the cloud server and the repetitive or redundant workload between tasks. When adaptively adjusting the execution order of tasks, if there is a high degree of redundancy in the tasks in the cloud server, that is, there is a large amount of repetitive work or unclear dependencies between multiple tasks, then when executing tasks, the cloud server needs to adjust the execution order to ensure that tasks with strong correlations can be executed in a centralized manner, thereby reducing the execution overhead of the tasks. Specifically, the redundancy strategy evaluation matrix Φ(τ) of the task can be calculated based on the redundancy R(J) of the task and the second overhead S(X, Y). The specific calculation formula is as follows:

[0129]

[0130] Among them, e represents the coefficient corresponding to the label of different task types τ in the cloud server, W represents the task feature weight, and R′(J) represents the result after the normalization processing of the task redundancy degree R(J).

[0131] When the value of the redundancy degree policy evaluation matrix Φ(τ) of the task is less than the threshold H corresponding to the user level of the set multiple on the user side in the cloud server, for example, when Φ(τ) < gH, re - sort the execution priorities of the tasks to be executed by the user side in the cloud server.

[0132] Considering that the user level usually corresponds to the user's permissions, the lower the user level, the smaller the permissions the corresponding user has in the cloud server; the higher the user level, the greater the permissions the corresponding user has in the cloud server, and the cloud server will give priority to responding to the needs of this user. Based on this, when it is determined that the execution order of the tasks needs to be adaptively adjusted, further based on the policy evaluation matrix Φ(τ) of the tasks, the remaining execution time and completion progress of the tasks in the cloud server, perform adaptive sorting on the corresponding tasks to obtain the final execution order P. The specific process is as follows:

[0133] First, calculate the priority degree P1 of the task. The specific calculation formula is as follows:

[0134]

[0135] Among them, V represents the number of influencing factors to be considered when the cloud server executes the tasks entrusted by the user side. In the invention embodiment, mainly consider four influencing factors: task type importance, task magnitude, remaining execution time, and completion progress. Therefore, V = 4. Ev represents the v - th influencing factor to be considered when adaptively adjusting the task order; wv represents the weight of the influencing factor v, that is, the importance degree, which can be custom - set according to needs and is not specifically limited in the embodiment of the present invention.

[0136] Among them, E1 represents the task type importance initially given to the task; specifically, different parameters can be set to correspond to different task importance degrees, which are not specifically limited in the embodiment of the present invention. For example, when E1 = 1, it means that this task is the least important task for the user side, and when E1 = 10, it means that this task is the most important task for the user side. In some embodiments, the initial value of the task type importance initially given to the task can be set to 5, and can be adjusted later according to the importance degree of the task.

[0137] E2 represents the task magnitude; usually the workload of each task in a task flow is different, and the time taken to execute the task is also different. Generally, tasks that take less time are given a higher priority. In some embodiments, the priority of the task can be calculated based on the historical data in the cloud server; for example, in the database, based on several random tasks of the same user, the 10 most recent tasks are found according to the order of the task end time; for these 10 tasks, the time taken for each task is calculated based on the difference between the task start time and the task end time, and the average time taken for these 10 tasks, t, is calculated. It should be noted that the task start time refers to the time when the cloud service starts to execute the task, not the reception time, so that the time spent waiting for the task can be excluded.

[0138] Specifically, the relationship between the average time t and the task magnitude E2 is:

[0139]

[0140] Among them, K2 represents the first growth coefficient of task time consumption, which is a system constant and its default value is 10; k′ represents the minimum effective value of task time consumption (k′ is taken if it is less than k′), which is a system constant and its default value is 10min. By setting the minimum effective value k′ of time, it can avoid that the task sorting is unbalanced due to the fact that individual to-do tasks consume too little time.

[0141] E3 represents the remaining execution time of the task: quantify the waiting time into a calculable value. The specific calculation formula is:

[0142]

[0143] Among them, K3 represents the second growth coefficient of task time consumption, which is a system constant and has a default value of 1; m is the maximum effective value of time (k″ is taken when it is greater than k″), which is a system constant and has a default value of 10 days, indicating that it can only affect the sorting of to-do tasks within a certain time range to avoid imbalance in the sorting of tasks due to long waiting time for individual to-do tasks.

[0144] E4 represents the completion progress of the task, and the specific calculation formula is:

[0145]

[0146] Among them, K4 represents the task completion degree, and K4 is equal to the current progress divided by the total progress.

[0147] Substituting the values ​​of the four influencing factors obtained from the above calculation into formula (16), the priority level P1 of the task can be obtained, and the order of priority level P1 can be sent to the database of the corresponding resource system.

[0148] Finally, the final priority P of the task is calculated by combining the redundancy strategy evaluation matrix Φ(τ) and the priority P1 of the task, and the tasks are sorted based on the priority P.

[0149]

[0150] in, Represents a confidence interval. Considering that the confidence function can calculate a confidence value according to different parameters and conditions, which is used to evaluate and compare the priorities of different projects, the embodiment of the present invention introduces the confidence function into the priority evaluation, and uses the confidence function to make task sorting decisions, which can improve the rationality of task priority sorting.

[0151] Compared with the prior art, the beneficial effects of the embodiments of the present invention are:

[0152] By constructing evaluation indicators related to task sorting and combining them with task information pulled from the user side, all tasks on the user side in the cloud service are sorted before execution and the tasks on the user side in the cloud service are executed according to the current task sorting; subsequently, in the task execution process, the execution order is adaptively adjusted based on the execution progress information and task information of the tasks on the user side in the cloud service, and the remaining unfinished tasks and unstarted tasks on the user side in the cloud service are executed according to the adjusted execution order, thereby realizing adaptive scheduling of tasks and avoiding task congestion caused by the prior art that only considers task sorting on the server side or the user side.

[0153] The embodiment of the present invention comprehensively considers the importance, overhead, redundancy and other contents of the tasks from the user side and the server side to perform adaptive adjustment of task sorting, which can improve the rationality of task sorting and avoid task congestion in the cloud server.

[0154] See also Figure 4 , Figure 4 The present invention provides a structural block diagram of an adaptive task scheduling device, wherein the adaptive task scheduling device comprises:

[0155] The task information acquisition module 11 is used to obtain the task information corresponding to the task of the user side in the cloud server;

[0156] The task execution module 12 is used to determine the importance of the task according to the task information and the pre-constructed evaluation index, and execute the corresponding task according to the importance of the task;

[0157] The execution sequence adjustment module 13 is used to adjust the execution sequence of the corresponding tasks according to the execution progress information of the tasks and the task information during the task execution process, and execute the unfinished tasks in the tasks according to the adjusted execution sequence.

[0158] In an optional embodiment, the evaluation index includes a cost index of the cloud server executing the task, a historical average delay index of the task, and a network bandwidth occupancy index.

[0159] In an optional embodiment, the device further includes:

[0160] A cost index building module, used for building a cost index of the corresponding task according to the execution cost of the task on the cloud server and the resource cache cost when receiving the task execution entrustment request sent by the user side;

[0161] A task history average delay index construction module is used to construct the task history average delay index according to the total number of tasks historically executed by the cloud server and the job running time of each historical task;

[0162] The network bandwidth occupancy rate indicator construction module is used to construct the network bandwidth occupancy rate indicator according to the first information related to the number of times the resource file is accessed and the second information related to the local cache execution of the resource file.

[0163] In an optional embodiment, the task execution module 12 includes:

[0164] A first cost calculation unit, configured to calculate, according to the task information, a first cost when the user side entrusts the cloud server to perform a corresponding task;

[0165] The importance determination unit is used to evaluate the importance of the corresponding tasks according to the execution cost, the network bandwidth occupancy rate indicator, the task historical average delay indicator and the first overhead in the cost indicators corresponding to each task, and determine the importance of each task.

[0166] In an optional embodiment, the execution order adjustment module 13 includes:

[0167] An information sharing amount determining unit, configured to traverse the tasks of the user side in the cloud server and determine the information sharing amount of the corresponding tasks;

[0168] a judgment unit, configured to calculate a redundancy strategy evaluation matrix of the corresponding task according to the information sharing amount of the corresponding task and the first overhead when the user side entrusts the cloud server to perform the corresponding task, and to judge whether the corresponding task needs to perform adaptive adjustment of the execution order according to the redundancy strategy evaluation matrix;

[0169] The task adjustment unit is used to adjust the execution order of the corresponding tasks according to the redundancy strategy evaluation matrix and execution progress information of the corresponding tasks when the execution order of the corresponding tasks needs to be adaptively adjusted.

[0170] In an optional embodiment, the first overhead calculation unit includes:

[0171] A communication delay calculation subunit, configured to calculate the communication delay of the corresponding task according to the task size in the task information corresponding to the task, the transmission rate of the user side access network, and the round-trip delay between the user side and the cloud server;

[0172] A calculation delay calculation subunit is used to calculate the calculation delay of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel from the user side to the exclusive cloud server, the standard computing capacity of the cloud server, the task size and the number of valid tasks in the task information corresponding to the task;

[0173] A payment information calculation subunit, used to calculate the payment information of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel from the user side to the exclusive cloud server, the task size and the number of valid tasks in the task information corresponding to the task, the preset discount coefficient, and the preset standard charge under the unit computing amount;

[0174] The first cost calculation subunit is used to calculate the first cost according to the communication delay, the calculation delay and the payment information of each task.

[0175] In an optional embodiment, the judging unit includes:

[0176] A second cost calculation subunit is used to reduce and standardize the information sharing amount according to the first cost to obtain a second cost of the corresponding task;

[0177] a redundancy degree calculation subunit, configured to construct a task set from the tasks having the same content or the same form, and calculate the redundancy degree of each of the tasks according to the number of the task sets, the number of tasks in the task sets, and the second overhead;

[0178] The redundancy strategy evaluation matrix calculation subunit is used to calculate the redundancy strategy evaluation matrix of the corresponding task according to the redundancy degree and the second overhead.

[0179] In an optional embodiment, the task adjustment unit includes:

[0180] An influencing factor determination subunit, used to determine the influencing factors when the cloud server executes the corresponding task according to the execution progress information; wherein the influencing factors include: task type importance, task magnitude, remaining execution time, and completion progress;

[0181] A priority calculation subunit, used to calculate the priority of the corresponding task according to the influencing factors;

[0182] A priority determination subunit, used to determine the priority of the corresponding task according to the priority level and the redundancy strategy evaluation matrix;

[0183] The execution order adjustment subunit is used to adjust the execution order of the corresponding tasks in the cloud service according to the priorities of the corresponding tasks.

[0184] It should be noted that the working process of each module in the adaptive task scheduling device described in the embodiment of the present invention can refer to the working process of the adaptive task scheduling method described in the above embodiment, and the technical effect achieved is the same as the adaptive task scheduling method described in the above embodiment, which will not be repeated here.

[0185] See also Figure 5 , Figure 5 : is a structural block diagram of an adaptive task scheduling device provided by an embodiment of the present invention. The adaptive task scheduling device includes a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, the steps in the above-mentioned adaptive task scheduling method embodiments are implemented, such as steps S11 to S13.

[0186] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to implement the present invention. The one or more modules / units may be a series of computer program instruction segments capable of implementing specific functions, which are used to describe the execution process of the computer program in the adaptive task scheduling device.

[0187] The adaptive task scheduling device may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will appreciate that the schematic diagram is merely an example of an adaptive task scheduling device and does not constitute a limitation on the adaptive task scheduling device. The adaptive task scheduling device may include more or fewer components than shown in the diagram, or may combine certain components, or different components. For example, the adaptive task scheduling device may also include input and output devices, network access devices, buses, etc.

[0188] The processor 21 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor 21 is the control center of the adaptive task scheduling device, and uses various interfaces and lines to connect various parts of the entire adaptive task scheduling device.

[0189] The memory 22 can be used to store the computer program and / or module. The processor 21 realizes various functions of the adaptive task scheduling device by running or executing the computer program and / or module stored in the memory 22 and calling the data stored in the memory 22. The memory 22 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.); the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.). In addition, the memory 22 can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0190] Wherein, if the module / unit integrated in the adaptive task scheduling device is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor 21. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium, etc.

[0191] It should be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art may understand and implement it without paying any creative effort.

[0192] The above is a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, many improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. An adaptive task scheduling method, characterized in that: include: Obtain task information corresponding to the task on the user side in the cloud server; Determine the importance of the task according to the task information and pre-constructed evaluation indicators, and perform the corresponding task according to the importance of the task; During the task execution process, the execution order of the corresponding tasks is adjusted according to the execution progress information of the tasks and the task information, and the unfinished tasks in the tasks are executed according to the adjusted execution order.

2. The adaptive task scheduling method according to claim 1, characterized in that: The evaluation indicators include a cost indicator for the cloud server to execute the task, a task historical average delay indicator, and a network bandwidth occupancy rate indicator.

3. The adaptive task scheduling method according to claim 2, characterized in that: The method also includes the following evaluation index construction process: Upon receiving the task execution entrustment request sent by the user side, constructing a cost indicator of the corresponding task according to the execution cost of the task on the cloud server and the resource cache cost; Constructing the task historical average delay index according to the total number of tasks historically executed by the cloud server and the job running time of each historical task; The network bandwidth occupancy rate indicator is constructed according to first information related to the number of times the resource file is accessed and second information related to the local cache execution of the resource file.

4. The adaptive task scheduling method according to claim 2, characterized in that: Determining the importance of the task according to the task information and pre-constructed evaluation indicators includes: Calculating, according to the task information, a first cost when the user side entrusts the cloud server to perform the corresponding task; According to the execution cost, the network bandwidth occupancy rate index, the task historical average delay index and the first overhead in the cost indicators corresponding to each of the tasks, the importance of the corresponding tasks is evaluated to determine the importance of each of the tasks.

5. The adaptive task scheduling method according to claim 1, characterized in that: The step of adjusting the execution order of the corresponding tasks according to the execution progress information of the tasks and the task information includes: Calculating, according to the task information, a first cost when the user side entrusts the cloud server to perform the corresponding task; Traversing the tasks of the user side in the cloud server, and determining the information sharing amount of the corresponding tasks; Calculating a redundancy strategy evaluation matrix of the corresponding task according to the information sharing amount and the first overhead of the corresponding task, and judging whether the corresponding task needs to perform adaptive adjustment of the execution order according to the redundancy strategy evaluation matrix; When the execution order of the corresponding tasks needs to be adaptively adjusted, the execution order of the corresponding tasks is adjusted according to the redundancy strategy evaluation matrix and execution progress information of the corresponding tasks.

6. The adaptive task scheduling method according to claim 4 or 5, characterized in that: The calculating, according to the task information, a first overhead when the user side entrusts the cloud server to perform the corresponding task includes: Calculate the communication delay of the corresponding task according to the task size in the task information corresponding to the task, the transmission rate of the user side access network, and the round-trip delay between the user side and the cloud server; Calculate the computation delay of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel of the exclusive cloud server from the user side, the standard computing capacity of the cloud server, the task size and the number of valid tasks in the task information corresponding to the task; Calculate the payment information of the corresponding task according to the transmission rate of the fog node corresponding to the sub-communication channel of the exclusive cloud server from the user side, the task size and the number of valid tasks in the task information corresponding to the task, the preset discount coefficient, and the preset standard charge under the unit computing amount; The first overhead is calculated according to the communication delay, the calculation delay and the payment information of each of the tasks.

7. The adaptive task scheduling method according to claim 5, characterized in that: The step of calculating the redundancy strategy evaluation matrix of the corresponding task according to the information sharing amount and the first overhead of the corresponding task includes: Reducing and standardizing the information sharing amount according to the first overhead to obtain a second overhead of the corresponding task; The tasks having the same content or the same form are used to construct a task set, and according to the number of the task sets, the number of tasks in the task set, and the second overhead, the redundancy degree of each of the tasks is calculated; A redundancy strategy evaluation matrix of a corresponding task is calculated according to the redundancy degree and the second overhead.

8. The adaptive task scheduling method according to claim 5, characterized in that: The step of adjusting the execution order of the corresponding tasks according to the redundancy strategy evaluation matrix and the execution progress information of the corresponding tasks includes: Determine, according to the execution progress information, the influencing factors when the cloud server executes the corresponding task; wherein the influencing factors include: task type importance, task magnitude, remaining execution time, and completion progress; Calculate the priority of the corresponding task according to the influencing factors; Determining the priority of the corresponding task according to the priority and the redundancy strategy evaluation matrix; According to the priorities of the corresponding tasks, the execution order of the corresponding tasks in the cloud service is adjusted.

9. An adaptive task scheduling device, characterized in that: include: The task information acquisition module is used to obtain the task information corresponding to the task on the user side in the cloud server; A task execution module, used to determine the importance of the task according to the task information and pre-built evaluation indicators, and execute the corresponding task according to the importance of the task; The execution sequence adjustment module is used to adjust the execution sequence of the corresponding tasks according to the execution progress information of the tasks and the task information during the task execution process, and execute the unfinished tasks in the tasks according to the adjusted execution sequence.

10. An adaptive task scheduling device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor implements the adaptive task scheduling method according to any one of claims 1 to 8 when executing the computer program.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein when the computer program is executed, the device where the computer-readable storage medium is located is controlled to execute the adaptive task scheduling method according to any one of claims 1 to 8.

12. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the adaptive task scheduling method described in any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Grid task dispatching method based on time and expense restriction

    CN101068157A

  • Task scheduling method, satellite navigation method, task scheduling system and storage medium

    CN116932165A

  • Task scheduling method and device, electronic equipment, storage medium and program product

    CN117234693A

  • Task scheduling method and system

    CN117667332A

  • Task scheduling method and device, equipment and medium

    CN117687761A