Self-scheduling method and device based on scheduling platform, storage medium and processor

By loading scheduling strategy parameters within the batch job process, a self-scheduling process is achieved, which solves the problem of insufficient flexibility of the existing scheduling platform under the requirements of high frequency and short interval execution, and realizes fine control over scheduling frequency, execution duration and silent window.

CN121807487APending Publication Date: 2026-04-07CHINA CONSTRUCTION BANK +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-24
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing job scheduling platforms lack the ability to dynamically adjust when faced with high-frequency and short-interval execution demands, making it difficult to adapt to real-time changes in system load and queue length, resulting in insufficient flexibility in scheduling strategies.

Method used

A self-scheduling method is provided, which loads scheduling policy parameters into the batch job process to realize the autonomous scheduling process, including scheduling times, duration, quiet period and process merging policy, iteratively judges scheduling conditions and autonomously terminates the process.

Benefits of technology

It enables fine and flexible control over scheduling frequency, execution duration, and silent window, improving adaptability to personalized scheduling needs and making up for the shortcomings of traditional scheduling platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121807487A_ABST
    Figure CN121807487A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a self-scheduling method and device based on a scheduling platform, a processor and a storage medium. The method comprises the steps of obtaining a scheduling instruction of a scheduling platform; according to the scheduling strategy parameter, a corresponding scheduling strategy is determined, and the scheduling strategy comprises one or more of a scheduling frequency strategy, a scheduling duration strategy, a scheduling silent period setting strategy and a process merging scheduling strategy; and based on the scheduling strategy, controlling the to-be-scheduled batch jobs to execute a self-scheduling process, wherein the self-scheduling process is executed in the process of the batch job, scheduling condition judgment and task execution are iteratively carried out, and the self-scheduling process is terminated until the scheduling condition is not met. According to the self-scheduling method provided by the invention, the defect that a traditional scheduling platform is insufficient in flexibility when dealing with personalized scheduling requirements is overcome.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of job scheduling technology, specifically to a self-scheduling method, device, storage medium, and processor based on a scheduling platform. Background Technology

[0002] In the information systems of banks and other institutions, there are a large number of batch processing programs that need to run in the background, usually called batch jobs. The execution methods for batch jobs vary.

[0003] Currently, the industry typically uses various job scheduling platforms to manage the execution of these batch jobs. Common scheduling tools include the operating system's built-in crontab, the Windows Task Scheduler, and some centralized scheduling management systems (such as "Luban"). These platforms provide basic support for job management, enabling conventional scheduling modes such as scheduled execution based on preset times, sequential execution based on dependencies, and cyclical execution according to fixed periods.

[0004] However, when business scenarios place higher demands on job scheduling, such as requiring extremely high scheduling frequency or extremely short execution intervals, these conventional scheduling platforms reveal their limitations. Their scheduling strategies are typically configured statically before job startup, lacking the ability to dynamically adjust them during runtime. This static scheduling mechanism is ill-suited to the flexible scheduling needs that require real-time adjustments to execution strategies based on runtime conditions (such as system load and queue length). Summary of the Invention

[0005] The purpose of this application is to provide a self-scheduling method, apparatus, storage medium, and processor based on a scheduling platform, to solve the technical problems existing in the background art described above.

[0006] To achieve the above objectives, a first aspect of this application provides a self-scheduling method based on a scheduling platform, comprising: obtaining a scheduling instruction from the scheduling platform, the scheduling instruction including an identifier of a batch of jobs to be scheduled and scheduling strategy parameters; determining a corresponding scheduling strategy based on the scheduling strategy parameters, wherein the scheduling strategy includes one or more of the following: a scheduling count strategy, a scheduling duration strategy, a scheduling quiet period setting strategy, and a process merging scheduling strategy; and controlling the batch of jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy; wherein the self-scheduling process is executed within the process of the batch of jobs, and iteratively performs scheduling condition judgment and task execution until the scheduling conditions are not met, at which point the self-scheduling process terminates.

[0007] In this embodiment of the application, the step of controlling the batch job to be scheduled corresponding to the identifier to execute the self-scheduling process based on the scheduling strategy includes: reading the upper limit of the scheduling count and the number of times the batch job to be scheduled has been scheduled in the scheduling strategy parameters; determining whether the number of times the scheduling count has exceeded the upper limit of the scheduling count; if it has not exceeded, executing the data processing task of the batch job; updating the number of times the scheduling count has been completed after execution; and determining the upper limit again; if it has exceeded, voluntarily terminating the current scheduling process.

[0008] In this embodiment of the application, the step of controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy includes: reading the upper limit of the scheduling duration and the already scheduled duration of the batch jobs to be scheduled in the scheduling strategy parameters; determining whether the already scheduled duration exceeds the upper limit of the scheduling duration; if it does not exceed the upper limit, executing the data processing task of the batch jobs; after execution, adding the duration of this scheduling to the already scheduled duration, and performing the upper limit determination again; if it exceeds the upper limit, autonomously terminating the current scheduling process.

[0009] In this embodiment of the application, the step of controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy includes: reading the upper limit of the number of scheduling attempts or the upper limit of the scheduling duration, the definition of the quiet period time period, and the number of times or the duration of the batch jobs to be scheduled in the scheduling strategy parameters; determining whether the upper limit of the number of scheduling attempts or the upper limit of the scheduling duration has been exceeded based on the number of times or the duration of the scheduling; if not exceeded, and the current system time determines that it is not within the quiet period time period, then the data processing task of the batch jobs is executed; after the execution is completed, the number of times or the duration of the scheduling is updated accordingly, and the upper limit is determined again.

[0010] In this embodiment, controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduled process based on the scheduling strategy includes: reading the scheduling count limit or scheduling duration limit, the quiet period time definition, the scheduled count or scheduling duration of the batch jobs to be scheduled, and the job chain list from the scheduling strategy parameters; determining whether the scheduling count limit or scheduling duration limit is exceeded based on the scheduled count or scheduling duration; if not exceeded, and the current system time indicates that it is not within the quiet period time, then each batch job in the job chain list is executed sequentially, and the scheduling duration or scheduling count after each batch job is completed is added to the scheduled count or scheduling duration, until all jobs in the job chain list are completed, and then the limit is determined again.

[0011] In this embodiment of the application, if it is in a silent period, the remaining time from the current system time to the end of the silent period is calculated, and the system enters a sleep waiting state. After waiting for the remaining time, the upper limit judgment is performed again.

[0012] A second aspect of this application provides a self-scheduling device based on a scheduling platform, comprising: a scheduling management unit for issuing scheduling instructions, the scheduling instructions including identifiers of batch jobs to be scheduled and scheduling strategy parameters; a scheduling strategy determination unit for determining a corresponding scheduling strategy based on the scheduling strategy parameters, wherein the scheduling strategy includes a scheduling frequency strategy, a scheduling duration strategy, a scheduling quiet period setting strategy, and a process merging scheduling strategy; and a control unit for controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy; wherein the self-scheduling process is executed within the process of the batch jobs, and iteratively performs scheduling condition judgment and task execution until the scheduling conditions are not met, at which point the self-scheduling process terminates.

[0013] A third aspect of this application provides a processor configured to execute the self-scheduling method based on a scheduling platform described above.

[0014] A fourth aspect of this application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the aforementioned self-scheduling method based on a scheduling platform.

[0015] The fifth aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the self-scheduling method based on a scheduling platform as described in any one of the claims.

[0016] Through the above technical solution, this invention provides a cyclic scheduling mechanism for batch jobs to self-schedule. Specifically, when a batch job is triggered by an instruction from the scheduling platform, its process loads and parses the scheduling policy parameters, and then starts a cyclic control process within its own process. This process, based on the determined scheduling policy (such as the number of times, duration, quiet period, or process merging), autonomously judges the scheduling conditions in each iteration. If the conditions are met, the corresponding task logic is executed, and the internal state is updated; this loop continues until a preset scheduling termination condition is triggered, and the job process terminates automatically.

[0017] Therefore, this method partially transfers the scheduling decision-making logic from the central scheduling platform to the batch jobs. Its advantage lies in enabling individual jobs, once triggered by the platform, to autonomously complete multiple rounds of execution and state management according to preset strategies. This allows for more refined and flexible control over scheduling frequency, execution duration, silent windows, and job sequences, overcoming the shortcomings of traditional scheduling platforms in terms of flexibility when dealing with personalized scheduling needs.

[0018] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description

[0019] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings: Figure 1 The illustration shows a schematic diagram of the application environment of the self-scheduling method based on a scheduling platform according to an embodiment of this application; Figure 2 The schematic diagram illustrates a flowchart of a self-scheduling method based on a scheduling platform according to an embodiment of this application; Figure 3 The schematic diagram illustrates a flowchart of a scheduling frequency strategy according to an embodiment of this application; Figure 4 The schematic diagram illustrates a flowchart of a scheduling duration strategy according to an embodiment of this application; Figure 5 The schematic diagram illustrates a flowchart of a scheduling quiet period setting strategy according to an embodiment of this application; Figure 6 This illustration schematically shows a flowchart of a process merging and scheduling strategy according to an embodiment of this application; Figure 7 This schematic diagram illustrates a structural block diagram of a self-scheduling device based on a scheduling platform according to an embodiment of this application; Figure 8 The diagram illustrates the internal structure of a computer device according to an embodiment of this application. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0021] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.

[0022] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0023] The acquisition, transmission, storage, use, and processing of data in this application comply with relevant national laws and regulations. Furthermore, it should be noted that existing industry solutions such as software, components, and models may be mentioned in the embodiments of this application. These should be considered exemplary, intended only to illustrate the feasibility of implementing the technical solution of this application, and do not imply that the applicant has already used or necessarily used such solutions.

[0024] The self-scheduling method based on a scheduling platform provided in this application can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices, and server 104 can be a standalone server or a server cluster consisting of multiple servers.

[0025] Figure 2 The illustration shows a flowchart of a self-scheduling method based on a scheduling platform according to an embodiment of this application. For example... Figure 2 As shown, in one embodiment of this application, based on the problems encountered during the implementation of existing requirements, and combined with the characteristics and current status of existing implementation processes, a self-scheduling method based on a scheduling platform is provided. This embodiment mainly applies this method to the above-mentioned... Figure 1 Taking terminal 110 (or server 120) as an example, steps 202-206 are included.

[0026] Step S202: Obtain the scheduling instruction from the scheduling platform, wherein the scheduling instruction includes the identifier of the batch of jobs to be scheduled and the scheduling strategy parameters; Step S204: Determine the corresponding scheduling strategy according to the scheduling strategy parameters, wherein the scheduling strategy includes one or more of the following: scheduling count strategy, scheduling duration strategy, scheduling quiet period setting strategy, and process merging scheduling strategy. Step S206: Based on the scheduling strategy, control the batch jobs to be scheduled corresponding to the identifier to execute the self-scheduling process.

[0027] The self-scheduling process is executed within the process of the batch job, and iteratively judges the scheduling conditions and executes the task until the scheduling conditions are not met, at which point the self-scheduling process terminates.

[0028] Figure 2 This is a flowchart illustrating a self-scheduling method based on a scheduling platform in one embodiment. It should be understood that, although... Figure 2 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 2 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0029] Specifically, step 202 is the starting point of the self-scheduling method. When the central scheduling platform (such as crontab or an enterprise-level scheduling system) is met according to its preset, basic triggering conditions (e.g., a fixed, long-term scheduled task), it will send a scheduling instruction to the target execution node.

[0030] In this embodiment, the scheduling instruction includes at least an identifier for the batch jobs to be scheduled and scheduling policy parameters. This identifier uniquely identifies the batch job program to be executed, such as the path to an executable file, the name of a script, or a unique job ID registered in the scheduling platform. The system locates and loads the corresponding job execution module based on this identifier.

[0031] Scheduling policy parameters define the specific scheduling policy that the internal self-scheduling process should follow after the current job is initiated. These parameters can be passed to batch jobs as command-line arguments, environment variables, or configuration items obtained in real time from a specified configuration center. The scheduling policy parameters specifically specify the type of scheduling policy to be used and its threshold.

[0032] In step S204, after the job process is initiated, the scheduled party first parses and receives these parameters. By parsing the scheduling policy parameters, it can be determined which scheduling policy(s) need to be loaded in the subsequent self-scheduling loop, as well as the specific scheduling conditions (such as the maximum number of times, the maximum duration, etc.) in these scheduling policies.

[0033] The scheduling strategy includes one or more of the following: scheduling frequency strategy, scheduling duration strategy, scheduling quiet period setting strategy, and process merging scheduling strategy. Based on the determined scheduling strategy, the batch jobs to be scheduled corresponding to the control identifier execute a self-scheduling process. The specific process of each scheduling strategy is explained below with reference to the accompanying diagram.

[0034] Figure 3 A schematic diagram illustrating the scheduling frequency strategy according to an embodiment of this application is shown. Figure 3 As shown, when the scheduling strategy is a scheduling count strategy, autonomous cyclic scheduling control is achieved in the following way: First, load the scheduling policy, read the preset maximum number of scheduling attempts in the scheduling policy parameters, and initialize or read the current number of scheduled batch jobs from persistent storage.

[0035] Next, the loop judgment process is entered: the current number of scheduled tasks is compared with the upper limit of the number of scheduled tasks. If the upper limit is not exceeded, the data processing task of the batch job is called and executed. After the task is completed, the number of current scheduled tasks is incremented by 1, and the upper limit judgment operation is performed again to form a closed loop control.

[0036] This loop continues until it detects that the current number of scheduled tasks has exceeded the scheduling limit. At this point, the current scheduling process terminates autonomously, completing a full self-scheduling cycle based on the number of executions strategy. This strategy achieves precise control over the number of executions of batch jobs by allowing jobs to autonomously manage their execution counts and determine the upper limit, avoiding the cumbersome process of traditional scheduling platforms that require multiple triggers to achieve cyclical execution.

[0037] Figure 4 A schematic diagram illustrating a scheduling duration strategy according to an embodiment of this application is provided. Figure 4 As shown, when the scheduling policy is a scheduling duration policy, precise control over the scheduling duration is achieved through the following methods: First, the preset scheduling duration limit is read from the scheduling policy parameters, and the current system time is recorded as the scheduling start time during the initialization phase.

[0038] Subsequently, a duration monitoring loop is entered: the cumulative scheduled duration since the start time is calculated, and it is determined whether it exceeds the scheduling duration limit. If it does not exceed the limit, the data processing tasks of the batch job are executed; after the tasks are completed, the cumulative scheduled duration is recalculated, and the limit is checked again, forming a time-based closed-loop control.

[0039] This iterative process continues until the cumulative scheduled time is detected to exceed the time limit, at which point the scheduling process terminates autonomously.

[0040] This strategy enables batch jobs to autonomously monitor their cumulative execution time and terminate automatically when the preset time limit is reached, thereby ensuring that the job completes its operation within the specified time range and improving the flexibility of control over execution time.

[0041] Figure 5 The illustration shows a flowchart of a scheduling quiet period setting strategy according to an embodiment of this application. Figure 5 As shown, when the scheduling policy sets a scheduling quiet period, job scheduling is controlled in the following ways: First, the quiet period time definition is read from the scheduling policy parameters, and the upper limit of scheduling attempts or the upper limit of scheduling duration is obtained as the scheduling termination condition.

[0042] Within the established loop judgment framework, before each data processing task is executed, a judgment step is added to determine whether the current system time is within a quiet period: if the number of times or duration limit is not exceeded and the current time is not within the quiet period, the data processing task of the batch job is executed normally, and the corresponding status parameters are updated after execution; if the current time is detected to be within the quiet period, the task execution process is paused.

[0043] This strategy introduces a silent period judgment mechanism, enabling batch jobs to intelligently avoid preset prohibited execution periods, thus enhancing adaptability to the system operating environment while maintaining autonomous scheduling.

[0044] Figure 6 A schematic diagram illustrating a process merging and scheduling strategy according to an embodiment of this application is shown. Figure 6 As shown, when the scheduling policy is a process merging scheduling policy, job scheduling is controlled in the following ways: First, read the scheduling limit or scheduling duration limit, quiet period time definition, the number of times or scheduling duration of the batch jobs to be scheduled, and the job chain list from the scheduling policy parameters. This job chain list defines the multiple batch jobs that need to be called in order of execution. Within the established loop judgment framework, when it is detected that the scheduling count or scheduling duration limit has not been exceeded and the period is not in a quiet period, each batch job in the job chain list is executed in sequence. That is, after the current batch job is completed, the next batch job is executed in sequence.

[0045] During this process, after each batch of jobs is completed, the scheduling duration or number of scheduling attempts is incremented. After all batch jobs in the job chain list are completed, the accumulated scheduling duration or number of scheduling attempts is updated to the corresponding status parameters, and then the next round of upper limit judgment is performed.

[0046] It should be noted that when the scheduling time or number of times exceeds the upper limit, the scheduling time or number of times will be incremented by 1 and then the scheduling will be terminated.

[0047] In this embodiment, if the system is within a quiet period, the remaining time from the current system time to the end of the quiet period is calculated, and the system enters a sleep waiting state. After waiting for the remaining time, the upper limit judgment is performed again. This sleep waiting mechanism avoids frequent conditional judgments during the quiet period, helping to reduce the ineffective consumption of system resources.

[0048] In one embodiment, such as Figure 7 As shown, a self-scheduling device based on a scheduling platform is provided, including a scheduling management unit, a scheduling strategy determination unit, and a control unit, wherein: The scheduling management unit 402 is used to issue scheduling instructions, which include the identifier of the batch of jobs to be scheduled and scheduling strategy parameters; The scheduling strategy determination unit 404 is used to determine a corresponding scheduling strategy based on the scheduling strategy parameters, wherein the scheduling strategy includes a scheduling count strategy, a scheduling duration strategy, a scheduling quiet period setting strategy, and a process merging scheduling strategy; and The control unit 406 is used to control the batch jobs to be scheduled corresponding to the identifier to perform a self-scheduling process based on the scheduling strategy. The self-scheduling process is executed within the process of the batch job, and iteratively performs scheduling condition judgment and task execution until the scheduling conditions are not met, at which point the self-scheduling process terminates.

[0049] The self-scheduling device based on the scheduling platform includes a processor and a memory. The aforementioned scheduling management unit, scheduling strategy determination unit, and control unit are all stored as program units in the memory, and the processor executes the aforementioned program modules stored in the memory to implement the corresponding functions.

[0050] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and by adjusting kernel parameters, a self-scheduling method based on the scheduling platform can be implemented.

[0051] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0052] This application provides a storage medium on which a program is stored. When the program is executed by a processor, it implements the above-described self-scheduling method based on a scheduling platform.

[0053] This application provides a processor for running a program, wherein the program executes the self-scheduling method based on the scheduling platform described above.

[0054] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 8 As shown in the figure, the computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05, and a memory (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A06. The network interface A02 is used for communication with external terminals via a network connection. When the computer program is executed by the processor A01, it implements a self-scheduling method based on a scheduling platform. The display screen A04 can be a liquid crystal display (LCD) or an e-ink display. The input device A05 can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0055] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0056] In one embodiment, the self-scheduling device based on a scheduling platform provided in this application can be implemented as a computer program, which can be implemented in the form of, for example... Figure 8 It runs on the computer device shown. The computer device's memory can store the various program modules that make up this self-scheduling device based on the scheduling platform, for example, Figure 8 The diagram shows a scheduling management unit, a scheduling strategy determination unit, and a control unit. The computer program, comprised of these program modules, causes the processor to execute the steps of the self-scheduling method based on the scheduling platform described in the various embodiments of this application.

[0057] Figure 8 The computer equipment shown can be used as follows Figure 7 The scheduling management unit in the self-scheduling device based on the scheduling platform shown executes step 202. The computer device can execute step 204 through the scheduling strategy determination unit. The computer device can execute step 206 through the control unit.

[0058] This application provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs the following steps: (Independent claim) This application also provides a computer program product, which, when executed on a data processing device, is suitable for performing a self-scheduling method based on a scheduling platform. Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0059] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0060] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0061] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0062] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0063] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0064] Computer-readable media include both permanent and non-permanent, removable and non-removable media, which can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0065] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0066] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A self-scheduling method based on a scheduling platform, characterized in that, The self-scheduling method includes: Obtain scheduling instructions from the scheduling platform, the scheduling instructions including the identifiers of the batch jobs to be scheduled and scheduling strategy parameters; Based on the scheduling policy parameters, a corresponding scheduling policy is determined, wherein the scheduling policy includes one or more of the following: scheduling count policy, scheduling duration policy, scheduling quiet period setting policy, and process merging scheduling policy; and Based on the scheduling strategy, control the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process; The self-scheduling process is executed within the process of the batch job, and iteratively performs scheduling condition judgment and task execution until the scheduling conditions are not met, at which point the self-scheduling process terminates.

2. The self-scheduling method according to claim 1, characterized in that, The step of controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy includes: Read the upper limit of the number of scheduling attempts and the number of times the batch of jobs to be scheduled has been scheduled from the scheduling policy parameters; Determine whether the number of times the scheduling has been completed exceeds the upper limit of the number of scheduling times. If it has not exceeded the limit, execute the data processing task of the batch job. After the execution is completed, update the number of times the scheduling has been completed and check the upper limit again. If the limit is exceeded, the current scheduling process will be terminated automatically.

3. The self-scheduling method according to claim 1, characterized in that, The step of controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy includes: Read the upper limit of scheduling duration and the scheduled duration of the batch jobs to be scheduled from the scheduling policy parameters; Determine whether the scheduled duration exceeds the upper limit of the scheduled duration. If it does not exceed the upper limit, execute the data processing task of the batch job. After the execution is completed, add the duration of this scheduling to the scheduled duration and check the upper limit again. If the limit is exceeded, the current scheduling process will be terminated automatically.

4. The self-scheduling method according to claim 1, characterized in that, The step of controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy includes: Read the scheduling strategy parameters, including the upper limit of the number of scheduling attempts or the upper limit of the scheduling duration, the definition of the quiet period, and the number of times or the duration of the scheduled batch of jobs to be scheduled. Based on the number of times or the duration of scheduling already completed, it is determined whether the upper limit for the number of scheduling attempts or the upper limit for the scheduling duration has been exceeded. If the time limit is not exceeded, and the current system time indicates that the system is not in a quiet period, then the data processing task of the batch job is executed. After the execution is completed, the number of scheduled tasks or the duration of scheduled tasks are updated accordingly, and the upper limit is checked again.

5. The self-scheduling method according to claim 1, characterized in that, The step of controlling the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy includes: Read the scheduling strategy parameters, including the upper limit of the number of scheduling attempts or the upper limit of the scheduling duration, the definition of the quiet period, the number of times or the duration of the scheduled batch of jobs to be scheduled, and the job chain list. Based on the number of times or the duration of scheduling already completed, it is determined whether the upper limit for the number of scheduling attempts or the upper limit for the scheduling duration has been exceeded. If the time limit has not been exceeded, and the current system time indicates that the system is not within a quiet period, then each batch of jobs in the job chain list will be executed sequentially. The scheduling duration or number of times each batch of jobs is completed is added to the number of times or the duration of the scheduled jobs until all jobs in the job chain list have been completed, at which point the upper limit is checked again.

6. The method according to claim 4 or 5, characterized in that, If the system is in a quiet period, the remaining time from the current system time to the end of the quiet period is calculated, and the system enters a sleep waiting state. After waiting for the remaining time, the upper limit is checked again.

7. A self-scheduling device based on a scheduling platform, characterized in that, The self-scheduling device includes: The scheduling management unit is used to issue scheduling instructions, which include the identifiers of the batch jobs to be scheduled and scheduling strategy parameters. A scheduling strategy determination unit is configured to determine a corresponding scheduling strategy based on the scheduling strategy parameters, wherein the scheduling strategy includes a scheduling count strategy, a scheduling duration strategy, a scheduling quiet period setting strategy, and a process merging scheduling strategy; and The control unit is used to control the batch jobs to be scheduled corresponding to the identifier to execute a self-scheduling process based on the scheduling strategy. The self-scheduling process is executed within the process of the batch job, and iteratively performs scheduling condition judgment and task execution until the scheduling conditions are not met, at which point the self-scheduling process terminates.

8. A processor, characterized in that, It is configured to perform the self-scheduling method based on a scheduling platform as described in any one of claims 1 to 6.

9. A machine-readable storage medium storing instructions thereon, characterized in that, When executed by the processor, the instruction causes the processor to be configured to perform the self-scheduling method based on the scheduling platform according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the self-scheduling method based on the scheduling platform according to any one of claims 1 to 6.