METHOD AND DEVICE FOR DATA TASK SCHEDULING, STORAGE MEDIUM, AND SCHEDULING TOOL
20220229692 · 2022-07-21
Inventors
Cpc classification
G06F9/5038
PHYSICS
G06F9/485
PHYSICS
International classification
Abstract
A method and device for data task scheduling, a storage medium, and a scheduling tool are involved. The method includes: acquiring a data task to be executed at present which is configured with a task relationship; in response to that the data task to be executed at present satisfies a preset condition, ranking, according to the task relationship, the data task to be executed at present to create a data task queue; acquiring a load situation of a plurality of node servers, to determine a target node server; and sending, based on the data task queue, the data task to be executed at present to the target node server for processing.
Claims
1. A method for data task scheduling, comprising: acquiring a data task to be executed at present which is configured with a task relationship; in response to that the data task to be executed at present satisfies a preset condition, ranking, according to the task relationship, the data task to be executed at present to create a data task queue; acquiring a load situation of a plurality of node servers, to determine a target node server; and sending, based on the data task queue, the data task to be executed at present to the target node server for processing.
2. The method for data task scheduling of claim 1, further comprising: before acquiring the data task to be executed at present, acquiring data tasks; configuring forward dependency for each of the data tasks; configuring a priority for each of the data tasks, the priority representing an execution sequence of the data task; and configuring an execution cycle for each of the data tasks.
3. The method for data task scheduling of claim 2, wherein that the data task to be executed at present satisfies the preset condition comprises that: a forward data task that the data task to be executed at present depends on has been completed and a condition of an execution cycle of the data task to be executed at present is satisfied.
4. The method for data task scheduling of claim 2, wherein ranking, according to the task relationship, the data task to be executed at present to create the data task queue comprises: classifying each data task to be executed at present according to a respective priority; and ranking the data task to be executed at present according to forward dependency of the data task to be executed at present corresponding to each priority, to create the data task queue.
5. The method for data task scheduling of claim 1, wherein acquiring the load situation of the plurality of node servers to determine the target node server comprises: for each of the plurality of node servers, acquiring a respective data value of an index; and obtaining a score of each node server according to the respective data value of the index, to determine the target node server.
6. The method for data task scheduling of claim 5, further comprising: determining a node server having a score lower than a set threshold as the target node server.
7. The method for data task scheduling of claim 6, further comprising: in response to that there are a plurality of node servers each having a score lower than the set threshold, determining a node server with a lowest score as the target node server.
8. The method for data task scheduling of claim 5, wherein the index comprises at least one of: a central processing unit (CPU) utilization rate, a memory utilization rate, an input/output (IO) utilization rate, or a concurrency.
9. The method for data task scheduling of claim 5, wherein the score is equal to
10. The method for data task scheduling of claim 1, wherein sending, based on the data task queue, the data task to be executed at present to the target node server for processing comprises: directly sending, based on the data task queue, the data task to be executed at present to the target node server for processing; or performing database cleaning on the data task to be executed at present to obtain a format required by the target node server, and sending the data task of the format to the target node server for processing.
11. The method for data task scheduling of claim 1, further comprising: outputting alarm information in response to that the data task to be executed at present does not satisfy the preset condition.
12. The method for data task scheduling of claim 1, further comprising: maintaining the plurality of node servers, wherein maintaining the plurality of node servers comprises at least one of: adding, deleting, or modifying a node server; or determining whether one of the plurality of node servers is exceptional, and outputting alarm information in response to that the node server is exceptional.
13. A scheduling tool, comprising a memory and a processor, wherein the memory stores a computer program capable of running in the processor, and the processor is configured to execute the computer program to implement following: acquiring a data task to be executed at present which is configured with a task relationship; in response to that the data task to be executed at present satisfies a preset condition, ranking, according to the task relationship, the data task to be executed at present to create a data task queue; acquiring a load situation of a plurality of node servers, to determine a target node server; and sending, based on the data task queue, the data task to be executed at present to the target node server for processing.
14. The scheduling tool of claim 13, before acquiring the data task to be executed at present, the processor is further configured to execute the computer program to implement following: acquiring data tasks; configuring forward dependency for each of the data tasks; configuring a priority for each of the data tasks, the priority representing an execution sequence of the data task; and configuring an execution cycle for each of the data tasks.
15. The scheduling tool of claim 13, wherein in acquiring the load situation of the plurality of node servers to determine the target node server, the processor is configured to execute the computer program to implement following: for each of the plurality of node servers, acquiring a respective data value of an index; and obtaining a score of each node server according to the respective data value of the index, to determine the target node server.
16. The scheduling tool of claim 15, wherein the processor is further configured to execute the computer program to implement following: determining a node server having a score lower than a set threshold as the target node server.
17. The scheduling tool of claim 17, wherein the processor is further configured to execute the computer program to implement following: in response to that there are a plurality of node servers each having a score lower than the set threshold, determining a node server with a lowest score as the target node server.
18. The scheduling tool of claim 13, wherein in sending, based on the data task queue, the data task to be executed at present to the target node server for processing, the processor is configured to execute the computer program to implement following: directly sending, based on the data task queue, the data task to be executed at present to the target node server for processing; or performing database cleaning on the data task to be executed at present to obtain a format required by the target node server, and sending the data task of the format to the target node server for processing.
19. The scheduling tool of claim 13, wherein the processor is further configured to execute the computer program to implement: maintaining the plurality of node servers, wherein in maintaining the plurality of node servers, the processor is configured to execute the computer program to implement at least one of: adding, deleting, or modifying a node server; or determining whether one of the plurality of node servers is exceptional, and outputting alarm information in response to that the node server is exceptional.
20. A non-transitory computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements following: acquiring a data task to be executed at present which is configured with a task relationship; in response to that the data task to be executed at present satisfies a preset condition, ranking, according to the task relationship, the data task to be executed at present to create a data task queue; acquiring a load situation of a plurality of node servers, to determine a target node server; and sending, based on the data task queue, the data task to be executed at present to the target node server for processing.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In order to describe the technical solutions in the embodiments of the disclosure or in the related art more clearly, the drawings needing to be used in descriptions about the embodiments or the related art will be simply introduced below. It is apparent that the drawings described below are only some embodiments of the disclosure. Other drawings may further be obtained by those of ordinary skill in the art according to these drawings without creative work.
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
DESCRIPTIONS ABOUT THE REFERENCE SIGNS
[0016] 10: device for data task scheduling; 11: task relationship management module; 12: task scheduling module; 13: cluster management module; 111: task relationship configuration unit; 112: task execution unit; 113: monitoring and early warning unit; 1131: real-time monitoring unit; 1132: early warning management unit; 121: task receiving unit; 122: data queue management unit; 123: message collection unit; 124: load condition calculation unit; 125: data distribution management unit; and 131: cluster management unit.
DETAILED DESCRIPTION
[0017] For easily understanding the disclosure, description will be made more comprehensively below with reference to the related drawings. The drawings illustrate preferred embodiments of the disclosure. However, the disclosure may be implemented in various forms and is not limited to the embodiments described herein. Instead, these embodiments are provided to make the contents disclosed in the disclosure understood more thoroughly and comprehensively.
[0018] It is necessary to provide a method and device for data task scheduling, a storage medium, and a scheduling tool, to solve the problems in the conventional art that it is difficult to figure out a relationship between tasks and tasks in a complex relationship cannot be distributed and executed well.
[0019] In the method and device for data task scheduling, the storage medium and the scheduling tool, each data task is configured with a corresponding task relationship. That is to say, there is also a corresponding task relationship for the data task to be executed at present. The data task to be executed at present is ranked according to the task relationship to create the data task queue, in response to that the data task to be executed at present satisfies the preset condition, so that relationships between data tasks to be executed at present can be figured out automatically even if complex. The execution efficiency of the data tasks is improved effectively, data quality problems caused by manual intervention are solved, and the integrity of data is ensured. Moreover, the target node server is determined according to the load situation of each node server, and the data task to be executed at present is sent to the target node server for processing based on the data task queue. The case that some node servers are affected in terms of processing speed and even cannot perform processing due to excessive load and resources are wasted due to relatively low load of some node servers may be avoided. The load of all node servers is relatively balanced, and data tasks in complex relationships may also be distributed and executed well. According to the method and device for data task scheduling, the storage medium and the scheduling tool, a scheduling tool may bear more scheduled tasks, shorten the task execution time and achieve a scaling-out capability.
[0020] As illustrated
[0021] In S12, a data task to be executed at present which is configured with a task relationship is acquired.
[0022] Specifically, the method for data task scheduling may be applied to ETL task distribution management, task processing of business reports, processing of machine table production data, or other scenes. The data task may be a task in these application scenes. Each data task may be correspondingly configured with a task relationship such as forward dependency, a priority, and an execution cycle in advance. An operator may start data task scheduling through input device such as a keyboard, a mouse, a touch screen, and a button, this data task being a data task to be executed at present, thereby acquiring the data task to be executed at present among data tasks. Alternatively, scheduling of the data task to be executed at present may be triggered automatically at a preset time, and scheduling of corresponding data tasks may be triggered at different moments, thereby acquiring the data task to be executed at present among the data tasks. The data task to be executed at present may be a single data task or a combination of multiple data tasks. There is also a corresponding task relationship for the data task to be executed at present.
[0023] In S13, whether the data task to be executed at present satisfies a preset condition is determined.
[0024] Specifically, the preset condition may be set according to the task relationship corresponding to the data task to be executed at present. Whether the data task to be executed at present satisfies the preset condition is determined. If YES, S14 is executed. If NOT, whether the data task to be executed at present satisfies the preset condition may be continued to be determined, and S14 is executed when the preset condition is satisfied. Alternatively, a next data task to be executed may be taken as a data task to be executed at present, and whether the next data task to be executed satisfies a corresponding preset condition is determined. If the next data task to be executed satisfies the corresponding preset condition, S14 is executed. Namely next task scheduling that has not been executed is cyclically determined.
[0025] In S14, the data task to be executed at present is ranked according to the task relationship to create a data task queue.
[0026] Specifically, when the data task to be executed at present is a single data task, the data task queue includes only one data task. When the data task to be executed at present is a combination of multiple data tasks, the multiple data tasks to be executed at present may be ranked using a data task queue management algorithm according to a task relationship between the data tasks, thereby obtaining the data task queue.
[0027] In S15, a load situation of multiple node servers is acquired to determine a target node server.
[0028] Specifically, an operating system monitor (OSWatch) may be configured for each node server. The OSWatch may be configured to monitor a central processing unit (CPU), memory, input/output (I/O), process, etc., of the corresponding node server. The load situation of each node server may further be acquired from the corresponding OSWatch, so as to determine the target node server. For example, the node server with lower load is determined as the target node server.
[0029] In S16, based on the data task queue, the data task to be executed at present is sent to the target node server for processing.
[0030] Specifically, a node server with excessive load may be distributed with no data task, and data tasks may be distributed to a node server with a relatively low load, i.e., the target node server, thereby avoiding the situation that some node servers are affected in terms of processing speed and even cannot perform processing due to excessive load and resources are wasted due to relatively low load of some node server. The data task to be executed at present is sent to the target node server based on the data task queue, so that the target node server may sequentially process each data task in the queue according to a sequence in the data task queue, and the task relationship corresponding to the data task to be executed at present is satisfied.
[0031] In the method for data task scheduling, each data task is configured with a corresponding task relationship. That is to say, there is also a corresponding task relationship for the data task to be executed at present. The data task to be executed at present is ranked according to the task relationship to create the data task queue, in response to that the data task to be executed at present satisfies the preset condition, so that relationships between data tasks to be executed at present can be figured out automatically even if complex. The execution efficiency of the data tasks is improved effectively, data quality problems caused by manual intervention are solved, and the integrity of data is ensured. Moreover, the target node server is determined according to the load situation of each node server, and the data task to be executed at present is sent to the target node server for processing based on the data task queue. The case that some node servers are affected in terms of processing speed and even cannot perform processing due to excessive load and resources are wasted due to relatively low load of some node servers may be avoided. The load of all node servers is relatively balanced, and data tasks in complex relationships may also be distributed and executed well. According to the method for data task scheduling, a scheduling tool may bear more scheduled tasks, shorten the task execution time and achieve a scaling-out capability.
[0032] In an embodiment, as illustrated in
[0033] In S111, data tasks are acquired.
[0034] Specifically, the operator may input data tasks through input devices such as a keyboard, a mouse, a touch screen, and a button according to an application scene of the method for data task scheduling, thereby acquiring the data tasks. Alternatively, historical data tasks may be acquired according to the application scene of the method for data task scheduling, to serve as the data tasks. After the data tasks are acquired, task relationships of the acquired data tasks may be configured according to task relationships between the historical data tasks, or the task relationships between the acquired data tasks may be configured according to a preset rule. Configuration of the task relationship between the data tasks is not limited to these manners, and the relationship between the data tasks may be configured in any manner well known to those skilled in the art. Configuration of the task relationship between the data tasks may include configuration of forward dependency, a priority, and an execution cycle of a data task in S112 to S114. Of course, in another embodiment, another task relationship may also be configured as required by the application scene.
[0035] In S112, forward dependency is configured for each of the data task.
[0036] Specifically, the forward dependency of a data task refers to that the data task may be executed only if a certain data task is completed. For example,
[0037] In S113, a priority is configured for each of the data tasks.
[0038] Specifically, the execution priority of a data task may be configured according to the importance of the data task. A more important data task may have a higher priority. Still referring to
[0039] In S114, an execution cycle is configured for each of the data tasks.
[0040] Specifically, the execution cycle of the data task may be set according to a feature of a service requirement. The execution cycle of the data task may be configured as a minute, an hour, a day, a week, a month, a year, or the like. When the data task to be executed at present includes multiple data tasks, the execution cycle of each data task may be configured to be the same. For example, referring to
[0041] It is to be noted that the forward dependency, priority, and execution cycle shown in
[0042] In an embodiment, that the data task to be executed at present satisfies the preset condition includes that a forward data task that the data task to be executed at present depends on has been completed and a condition of an execution cycle of the data task to be executed at present is satisfied.
[0043] As shown in
[0044] In the embodiment, after scheduling of the data task is started, whether the forward data task that the data task to be executed at present depends on has been completed and whether the condition of the execution cycle of the data task to be executed at present is satisfied is determined when the data task to be executed at present is received. S14 is executed if the forward data task that the data task to be executed at present depends on has been completed and the condition of the execution cycle of the data task to be executed at present is satisfied. S14 is not executed if the forward data task that the data task to be executed at present depends on is not completed or the data task to be executed at present does not satisfy the condition of the execution cycle of the data task to be executed at present.
[0045] In an embodiment, the method for data task scheduling further includes the following operation that alarm information is output in response to that the data task to be executed at present does not satisfy the preset condition.
[0046] Exemplarily, reference may be made to
[0047] Specifically, the alarm information may be output by sending an email, a short message or the like. In another embodiment, the alarm information may also be output in form of lamp flickering, voice, etc. In the embodiment, the output alarm information may represent that scheduling of the data task is exceptional.
[0048] In an embodiment, as shown in
[0049] In S141, each data task to be executed at present is classified according to a respective priority.
[0050] Specifically, still referring to
[0051] In S142, the data task to be executed at present is ranked according to forward dependency of the data task to be executed at present corresponding to each priority, to create the data task queue.
[0052] Specifically, still taking
[0053] In an embodiment, as shown in
[0054] In S151, for each of the multiple node servers, a respective data value of an index is acquired.
[0055] Optionally, the index of the node server may include at least one of: a central processing unit (CPU) utilization rate, a memory utilization rate, an input/output (I/O) utilization rate, or a concurrency. The index of the node server may specifically be any one or combination of the CPU utilization rate, the memory utilization rate, the I/O utilization rate, and the concurrency.
[0056] Specifically, the acquired data value of the index of each node server is a present practical data value of the index of the node server. Referring to Table 1, if the index of the node server includes, for example, the CPU utilization rate, the memory utilization rate, the I/O utilization rate, and the concurrency, the acquired data value of the index of a certain node server includes the CPU utilization rate 60%, the memory utilization rate 45%, the I/O utilization rate 70%, and the concurrency 5.
TABLE-US-00001 TABLE 1 Collected Initial Based data value Calculation Index value score Weight (example) formula Score CPU 100% 10 0.3 60% (Data 1.8 utilization value/initial rate value)*based score*weight Memory 100% 10 0.2 45% (Data 0.9 utilization value/initial rate value)*based score*weight I/O 100% 10 0.3 70% (Data 2.1 utilization value/initial rate value)*based score*weight Concurrency 20 10 0.2 5 (Data 0.5 value/initial value)*based score*weight Total score 5.3
[0057] In S152, a score of each node server is obtained according to the respective data value of the index.
[0058] Specifically, the score of each node server may be calculated according to a cluster load algorithm.
[0059] Optionally, the score of the node server is equal to
[0060] Herein, i is a positive integer, n is a number of indexes, Pi is a data value of an i.sup.th index, Yi is an initial value of the i.sup.th index, Q is a based score, and Mi is a weight of the i.sup.th index.
[0061] Still referring to Table 1, a score of the CPU utilization rate is equal to (acquired present practical data value of the CPU utilization rate/initial value of the CPU utilization rate)*based score*weight of the CPU utilization rate, and the data is substituted into the formula to obtain (60%/100%)*10*0.3=1.8 as the score of the CPU utilization rate. A score of the memory utilization rate is equal to (acquired present practical data value of the memory utilization rate/initial value of the memory utilization rate)*based score*weight of the memory utilization rate, and the data is substituted into the formula to obtain (45%/100%)*10*0.2=0.9 as the score of the memory utilization rate. A score of the I/O utilization rate is equal to (acquired present practical data value of the I/O utilization rate/initial value of the I/O utilization rate)*based score*weight of the I/O utilization rate, and the data is substituted into the formula to obtain (70%/100%)*10*0.3=2.1 as the score of the I/O utilization rate. A score of the concurrency is equal to (acquired present practical data value of the concurrency/initial value of the concurrency)*based score*weight of the concurrency, and the data is substituted into the formula to obtain (5/20)*10*0.2=0.5 as the score of the concurrency. The score of the node server is a sum of the score of the CPU utilization rate, the score of the memory utilization rate, the score of the I/O utilization rate, and the score of the concurrency, and the data is substituted into the formula to obtain 1.8+0.9+2.1+0.5=5.3 as the score of the node server.
[0062] In an embodiment, a node server having a score lower than a set threshold is determined as the target node server.
[0063] Specifically, in S16, based on the data task queue, the data task to be executed at present is sent to the node server with a score lower than the set threshold, for processing. For example, still referring to Table 1, the based score of the node server is 10. The set threshold may be configured to 8. When the score of the node server is more than or equal to 8, it indicates that the node server is loaded heavily and is unsuitable to be distributed with any data task. When the score of the node server is lower than 8, it indicates that the node server is not so heavily loaded, and the data task to be executed at present is distributed to the node server for processing, based on the data task queue.
[0064] Optionally, in response to that there are multiple node servers each having a score lower than the set threshold, a node server with a lowest score is determined as the target node server.
[0065] In an embodiment, as shown in
[0066] In S161, the data task to be executed at present is directly sent to the target node server for processing based on the data task queue; or database cleaning is performed on the data task to be executed at present to obtain a format required by the target node server, the data task of the format is sent to the target node server for processing.
[0067] Specifically, it may be set according to the service requirement that the data task to be executed at present is directly sent to the target node server according to the data task queue. Referring to
[0068] In an embodiment, as shown in
[0069] In S181, a node server is added, deleted, or modified.
[0070] Specifically, multiple node server components may be configured as a cluster for intelligent data scheduling management, and node servers may be added, deleted, or modified in a cluster management module. Alternatively, the cluster management module may monitor whether the present state of the node server is normal, busy, or exceptional and check the load situation of the node server such as the CPU utilization rate, the memory utilization rate, the I/O utilization rate, a network.
[0071] In S182, whether one of the multiple node servers is exceptional is determined.
[0072] Specifically, whether the node server is in normal network connection, whether the CPU utilization rate, the memory utilization rate, and the I/O utilization rate are too high, etc., may be determined. S183 is executed if it is determined that the node server is exceptional.
[0073] In S183, alarm information is output.
[0074] Specifically, the alarm information indicating that the node server is exceptional may be output in form of a short message, an email, etc. In another embodiment, the alarm information indicating that the node server is exceptional may also be output in form of light, voice, etc. An exceptional node server may not be determined as the target node server in S16, namely the data task queue may not be sent to the exceptional node server for processing. Therefore, the situation that the data task cannot be executed is avoided.
[0075] According to the method for data task scheduling, whether the data task to be executed at present satisfies the preset condition may be recognized automatically according to the configured task relationship, and the load situation of each node server is analyzed for scheduling in cluster management, thereby providing efficient data distribution and execution functions and improving the scheduling speed and the load capacity of each node server. Therefore, increasing service requirements are met, the problem of poor scheduling capability is solved, and intelligent data scheduling management reaches the enterprise-level requirement.
[0076] It is to be understood that, although actions in the flowcharts of
[0077] In an embodiment, as illustrated in
[0078] The task relationship management module 11 is configured to: acquire a data task to be executed at present which is configured with a task relationship, and determine whether the data task to be executed at present satisfies a preset condition.
[0079] The task scheduling module 12 is configured to: in response to that the data task to be executed at present satisfies the preset condition, receive the data task to be executed at present, rank the data task to be executed at present according to the task relationship to create a data task queue, acquire a load situation of a plurality of node servers to determine a target node server, and send, based on the data task queue, the data task to be executed at present to the target node server for processing.
[0080] In the device 10 for data task scheduling, each data task is configured with a corresponding task relationship. That is to say, there is also a corresponding task relationship for the data task to be executed at present. The data task to be executed at present is ranked according to the task relationship to create the data task queue, in response to that the data task to be executed at present satisfies the preset condition, so that relationships between data tasks to be executed at present can be figured out automatically even if complex. The execution efficiency of the data tasks is improved effectively, data quality problems caused by manual intervention are solved, and the integrity of data is ensured. Moreover, the target node server is determined according to the load situation of each node server, and the data task to be executed at present is sent to the target node server for processing based on the data task queue. The case that some node servers are affected in terms of processing speed and even cannot perform processing due to excessive load and resources are wasted due to relatively low load of some node servers may be avoided. The load of all node servers is relatively balanced, and data tasks in complex relationships may also be distributed and executed well. According to the device 10 for data task scheduling, a scheduling tool may bear more scheduled tasks, shorten the task execution time and achieve a scaling-out capability.
[0081] In an embodiment, as illustrated in
[0082] In an embodiment, referring to
[0083] Optionally, that the data task to be executed at present satisfies the preset condition includes that a forward data task that the data task to be executed at present depends on has been completed and a condition of an execution cycle of the data task to be executed at present is satisfied.
[0084] In an embodiment, referring to
[0085] The task receiving unit 121 is configured to receive the scheduling task sent by the task relationship management module 11, namely configured to receive the data task to be executed at present sent by the task relationship management module 11.
[0086] The data queue management unit 122 is configured to classify each data task to be executed at present according to a respective priority and rank the data task to be executed at present according to forward dependency of the data task to be executed at present corresponding to each priority class, to create the data task queue.
[0087] The message collection unit 123 is configured to acquire a respective data value of an index for each of the multiple node servers.
[0088] The load situation calculation unit 124 is configured to obtain a score of each node server according to the respective data value of the index, to determine the target node server.
[0089] The data distribution management unit 125 is configured to send, based on the data queue, the data task to be executed at present to the target node server for processing.
[0090] In an embodiment, a node server having a score lower than a set threshold is determined as the target node server.
[0091] In an embodiment, in response to that there are multiple node servers each having a score lower than the set threshold, a node server with a lowest score is determined as the target node server.
[0092] In an embodiment, the index includes at least one of: a CPU utilization rate, a memory utilization rate, an I/O utilization rate, or a concurrency.
[0093] In an embodiment, the score is equal to
[0094] Herein, i is a positive integer, n is the number of indexes, Pi is a data value of an i.sup.th index, Yi is an initial value of the i.sup.th index, Q is a based score, and Mi is a weight of the i.sup.th index.
[0095] In an embodiment, the data distribution management unit 125 may directly send, based on the data task queue, the data task to be executed at present to the target node server for processing; or perform database cleaning on the data task to be executed at present to obtain a format required by the target node server, and send the data task of the format to the target node server for processing.
[0096] Particular limitation of the device 10 for data task scheduling may refer to the above limitations of the method for data task scheduling, and will not be elaborated here. The modules in the device 10 for data task scheduling may completely or partially be implemented by software, hardware, and a combination thereof. Each module may be embedded in a hardware form into a processor in computer device or may be independent therefrom, or may be stored in a software form in a memory in the computer device, for the processor to call to execute the operations corresponding to each module.
[0097] There is provided in an embodiment a scheduling tool including a memory and a processor. A computer program is stored in the memory. The processor executes the computer program to implement the actions in each method embodiment above.
[0098] There is provided in an embodiment a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the actions in each method embodiment above.
[0099] It can be understood by those of ordinary skill in the art that all or part of the flows in the method of the abovementioned embodiments may be completed by instructing related hardware through a computer program which may be stored in a non-volatile computer-readable storage medium. When the computer program is executed, the flows of each method embodiment may be included. Any memory, storage, database, or other medium used by reference in each embodiment provided in the disclosure may include at least one of a non-volatile or volatile memory. The non-volatile memory may include a Read-Only Memory (ROM), a magnetic tape, a floppy disk, a flash memory, an optical memory, or the like. The volatile memory may include a Random Access Memory (RAM) or an external high-speed buffer memory. As explanation rather than restriction, the RAM may be in various forms, such as a Static RAM (SRAM) or a Dynamic RAM (DRAM).
[0100] Technical features of the abovementioned embodiments may be combined freely. For conciseness of description, not all possible combinations of technical features in the abovementioned embodiments are described. However, any combination of these technical features shall fall within the scope of the specification without conflict.
[0101] The abovementioned embodiments only express some implementations of the disclosure and are specifically described in detail, but shall not be understood as limitation to the patent scope of the disclosure. It is to be pointed out that those of ordinary skill in the art may further make transformations and improvements without departing from the concept of the disclosure and all these fall within the scope of protection of the application. Therefore, the scope of patent protection o should be salient object to the appended claims.