Dependent object scheduling method, device, computer system and storage medium

By providing a dependent object scheduling method in the workflow job scheduling system, the problem that the existing technology is difficult to deal with complex business scenarios is solved, and effective scheduling and satisfaction of dependence on diversity tasks is achieved.

CN113821314BActive Publication Date: 2025-04-15BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110207665.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-24
Publication Date
2025-04-15
Estimated Expiration
2041-02-24

AI Technical Summary

Technical Problem

Existing workflow job scheduling systems are difficult to meet complex business scenarios and cannot effectively handle diverse tasks relying on external conditions, such as relying on data in mysql or the return of interfaces.

Method used

Provide a dependent object scheduling method. By obtaining the task instance to be run and its planned run time, it finds the relevant information of the dependent object corresponding to the task instance, including the period length, the time of occurrence and the period range, and schedules the dependent object based on this information.

Benefits of technology

It realizes that it can effectively find and schedule dependencies in complex business scenarios, meet the dependency conditions of task instances, and improves the flexibility and adaptability of the workflow job scheduling system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113821314B_ABST
    Figure CN113821314B_ABST
Patent Text Reader

Abstract

The present disclosure provides a method for scheduling dependent objects, including: obtaining a task instance to be executed and the planned running time of the task instance, searching for relevant information of a dependent object corresponding to the task instance, and scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object. The present disclosure provides a device for scheduling dependent objects, a computer system, and a storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and more specifically, to a method, device, computer system and storage medium for scheduling dependent objects. Background Art

[0002] In the workflow job scheduling system, the core focus is to call up tasks for execution in the correct order under the correct conditions according to the defined cycle, where the correct conditions refer to the necessary external conditions for calling up tasks, such as the completion of upstream tasks or the readiness of upstream data, etc. Since tasks depend on various external conditions, such as some data in MySQL, some return from an interface, or other stored data, the existing technical solutions cannot meet these complex business scenarios. Summary of the invention

[0003] In view of this, the present disclosure provides a method, device, computer system and storage medium for scheduling dependent objects.

[0004] One aspect of the present disclosure provides a dependent object scheduling method, including:

[0005] Obtaining a task instance to be executed and a planned execution time of the task instance;

[0006] Find relevant information of the dependent object corresponding to the task instance;

[0007] At least one dependent object corresponding to the task instance is scheduled according to the planned running time of the task instance and the relevant information of the dependent object.

[0008] According to an embodiment of the present disclosure, searching for relevant information of a dependent object corresponding to the task instance includes:

[0009] Find the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on.

[0010] According to an embodiment of the present disclosure, scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object includes:

[0011] Calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle of the dependent object, the time dpIniTime of the dependent object being generated, and the cycle range dpRange on which the dependent object depends;

[0012] In the specified search range, search for records that satisfy both the specified dependent object and the generated time dpTime;

[0013] If the record is found, the relevant information of the record is used as the dependent object of the task instance for scheduling.

[0014] According to an embodiment of the present disclosure, searching for relevant information of a dependent object corresponding to the task instance further includes:

[0015] Find the parameters of a dependent object, including the type and format.

[0016] According to an embodiment of the present disclosure, scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object includes:

[0017] Calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle of the dependent object, the time dpIniTime of the dependent object being generated, and the cycle range dpRange on which the dependent object depends;

[0018] Constructing a model of the dependent object according to the time dpTime at which the dependent object is generated, and the type and format of the dependent object;

[0019] Finding records that satisfy the model of the dependent object;

[0020] The recorded related information is used as a dependent object of the task instance for scheduling.

[0021] According to an embodiment of the present disclosure, the period range dpRange includes n periods, and the time dpTime generated by the dependent object in the nth period in the period range dpRange is n =dpInitTime+dpCycle*(dpRange n +(scheduleTime-dpInitTime) / dpCycle).

[0022] Another aspect of the present disclosure provides a dependent object scheduling device, comprising:

[0023] An acquisition module, used to acquire a task instance to be executed and a planned execution time of the task instance;

[0024] A search module, used to search for relevant information of a dependent object corresponding to the task instance;

[0025] The scheduling module is used to schedule at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object.

[0026] According to an embodiment of the present disclosure, the search module is specifically used to search for the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on.

[0027] According to an embodiment of the present disclosure, the scheduling module includes:

[0028] A first calculation submodule is used to calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange on which the dependent object depends;

[0029] A first search submodule is used to search for records that satisfy both the specified dependent object and the generated time dpTime within a specified search range;

[0030] The first scheduling submodule is used for scheduling the related information of the record as the dependent object of the task instance if the record is found.

[0031] According to an embodiment of the present disclosure, the search module is also used to search for parameters of the dependent object, and the parameters include type and format.

[0032] According to an embodiment of the present disclosure, the scheduling module includes:

[0033] The second calculation submodule is used to calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange on which the dependent object depends;

[0034] A construction submodule, used to construct a model of the dependent object according to the time dpTime at which the dependent object is generated, and the type and format of the dependent object;

[0035] A second search submodule, used to search for records that satisfy the model of the dependent object;

[0036] The second scheduling submodule is used to schedule the recorded related information as a dependent object of the task instance.

[0037] According to an embodiment of the present disclosure, the period range dpRange includes n periods, and the time dpTime generated by the dependent object in the nth period in the period range dpRange is n =dpInitTime+dpCycle*(dpRange n +(scheduleTime-dpInitTime) / dpCycle).

[0038] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the above method when executed.

[0039] Another aspect of the present disclosure provides a computer system, comprising:

[0040] one or more processors;

[0041] a memory for storing one or more programs,

[0042] When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described above.

[0043] According to an embodiment of the present disclosure, a task instance to be executed and the planned running time of the task instance are obtained, relevant information of a dependent object corresponding to the task instance is found, and at least one dependent object corresponding to the task instance is scheduled according to the planned running time of the task instance and the relevant information of the dependent object. A general dependent object scheduling method is provided, which can find dependent objects in various scenarios according to the planned running time of the task instance and the relevant information of the dependent object. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0045] Figure 1 The application scenario of the embodiment of the present disclosure is schematically shown;

[0046] Figure 2 A flowchart of a method for scheduling dependent objects according to an embodiment of the present disclosure is schematically shown;

[0047] Figure 3 A flowchart of a method for scheduling dependent objects according to an embodiment of the present disclosure is schematically shown;

[0048] Figure 4 A flowchart of a method for scheduling dependent objects according to an embodiment of the present disclosure is schematically shown;

[0049] Figure 5 A block diagram schematically shows a dependent object scheduling device according to an embodiment of the present disclosure; and

[0050] Figure 6 The block diagram of a computer system according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0051] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0052] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0053] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.

[0054] In the case of using expressions such as "at least one of A, B, and C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.). In the case of using expressions such as "at least one of A, B, or C, etc.", it should generally be interpreted in accordance with the meaning of the expression generally understood by those skilled in the art (for example, "a system having at least one of A, B, or C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.). Those skilled in the art should also understand that any transitional conjunctions and / or phrases that substantially indicate two or more optional items, whether in the specification, claims, or drawings, should be understood to give the possibility of including one of these items, either of these items, or both of these items. For example, the phrase "A or B" should be understood to include the possibilities of "A" or "B" or "A and B."

[0055] An embodiment of the present disclosure provides a method for scheduling dependent objects, including: obtaining a task instance to be run and the planned running time of the task instance, searching for relevant information of a dependent object corresponding to the task instance, scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object, and executing the task instance based on the at least one dependent object.

[0056] Figure 1 The application scenario 100 to which the dependent object scheduling method and apparatus according to an embodiment of the present disclosure can be applied is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.

[0057] like Figure 1 As shown, the application scenario 100 according to this embodiment may include a storage device 110 , a storage device 120 , a storage device 130 , and a server 140 .

[0058] The storage device 110 may store task instances to be run, and / or the planned running time of the task instances, and / or the relevant information of the dependent objects corresponding to the task instances. The storage device 110 may be a storage device cluster, and the relevant information of the task instances to be run, the planned running time of the task instances, and the dependent objects corresponding to the task instances may be stored in one storage device in the storage device cluster, or any two or more may be stored in the same storage device in the storage device cluster, and the present disclosure does not limit this. The storage devices 120 and 130 may store dependent objects.

[0059] The server 140 is used to process the task instances to be executed. The server 140 can obtain information such as the task instances to be executed, the scheduled execution time of the task instances, and the related information of the dependent objects corresponding to the task instances from the storage device 110, so as to obtain the time when the dependent objects are generated, thereby obtaining the dependent objects from the storage devices 120 and 130. It is understandable that the server 140 can also be a server cluster.

[0060] The storage device 110 and the server 140 are connected via a network, and the network may include various connection types, such as wired and / or wireless communication links, etc.

[0061] It should be noted that the dependent object scheduling method provided in the embodiment of the present disclosure can generally be executed by the server 140. Accordingly, the dependent object scheduling device provided in the embodiment of the present disclosure can generally be set in the server 140. The dependent object scheduling method provided in the embodiment of the present disclosure can also be executed by a server or a server cluster that is different from the server 140 and can communicate with the storage devices 110, 120, 130 and / or the server 140. Accordingly, the dependent object scheduling device provided in the embodiment of the present disclosure can also be set in a server or a server cluster that is different from the server 140 and can communicate with the storage devices 110, 120, 130 and / or the server 140.

[0062] It should be understood that Figure 1 The number of storage devices and servers in the embodiment is only for illustration. Any number of storage devices and servers may be provided according to implementation requirements.

[0063] Figure 2 The flowchart of the dependent object scheduling method according to the embodiment of the present disclosure is schematically shown.

[0064] like Figure 2 As shown, the method includes operations S201 to S203.

[0065] In operation S201, a task instance to be executed and a planned execution time of the task instance are obtained.

[0066] In operation S202, relevant information of a dependent object corresponding to the task instance is searched.

[0067] In operation S203, at least one dependent object corresponding to the task instance is scheduled according to the planned running time of the task instance and the relevant information of the dependent object.

[0068] In the present disclosure, the information related to the dependent object may include the type and format of the dependent object, the cycle length dpCycle of the dependent object, the time dpIniTime when the dependent object is generated, the cycle range dpRange that the dependent object depends on, and the like.

[0069] In the present disclosure, a task generates a task instance every time it reaches an execution cycle according to a pre-set running rule. Each task instance corresponds to a planned running time. After the task instance is generated, the dependent object corresponding to the task instance is searched. If the object is found, it proves that the dependency is met, and the task instance is calculated based on the scheduling dependency object.

[0070] According to the embodiment of the present disclosure, dependent objects in any scenario can be found based on the planned running time of the task instance and the relevant information of the dependent objects.

[0071] In one of the embodiments of the present disclosure, operation S202 includes: finding the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on.

[0072] The cycle length dpCycle generated by the dependent object includes two parameters: cycle and cycle step cycleStep, where cycle can be years, months, weeks, days, hours, minutes, seconds, etc., and cycle step cycleStep can be 0.5, 1, 2, 3, etc. The present disclosure does not impose any restrictions on this. In an example, for example: cycle: days, cycle step cycleStep: 2, cycle length dpCycle is 2 days, indicating that the cycle length generated by the dependent object is 2 days.

[0073] The time when the dependent object is generated dpIniTime indicates the specific time when the dependent object is generated, such as: 2020-10-018:00:00, 2020-10-01 10:00:00, and so on.

[0074] The period range dpRange that the dependent object depends on can be represented in any form such as numerical values ​​or letters. In one example, for example, represented by numerical values, 0 represents the current period, a negative integer represents N periods forward based on the scheduled running time (scheduleTime) of the task instance, a positive integer represents N periods backward based on the scheduled running time (scheduleTime) of the task instance, [-1, 1], and numerical values ​​represent, for example, [-1, 1]. In another example, for example, represented by letters, L represents the current period, K represents 1 period forward based on the scheduled running time (scheduleTime) of the task instance, J represents 2 periods forward based on the scheduled running time (scheduleTime) of the task instance, M represents 1 period backward based on the scheduled running time (scheduleTime) of the task instance, N represents 2 periods backward based on the scheduled running time (scheduleTime) of the task instance, and so on, and letters represent, for example, [L, N]. The present disclosure does not limit this.

[0075] Figure 3 The flowchart of the dependent object scheduling method according to the embodiment of the present disclosure is schematically shown.

[0076] like Figure 3 As shown, the method includes operations S301 to S303.

[0077] In operation S301, the time dpTime of dependent object generation in each cycle in the cycle range dpRange is calculated according to the planned running time of the task instance, the cycle length dpCycle of the dependent object generation, the time dpIniTime of the dependent object generation and the cycle range dpRange of the dependent object.

[0078] In operation S302, within a specified search range, a record that satisfies both the specified dependent object and the generated time dpTime is searched.

[0079] In operation S303, if the record is found, the relevant information of the record is used as a dependent object of the task instance for scheduling.

[0080] In the present disclosure, the specified search scope can be any database, storage device, etc. set by the user or the system, such as a Redis database. The specified dependent object can also be a dependent object set by the system, such as nsl / data / dp. If the specified dependent object is found within the search scope and the recording time of the specified dependent object is consistent with dpTime, it proves that the dependency relationship of the task instance is satisfied.

[0081] In one embodiment of the present disclosure, the period range dpRange on which the dependent object depends includes n periods, and the time dpTime at which the dependent object is generated in the nth period in the period range dpRange is n =dpInitTime+dpCycle*(dpRange n +(scheduleTime-dpInitTime) / dpCycle).

[0082] In an example, the period range dpRange is [-1, 1], and the period range dpRange is expanded to correspond to three periods, namely {-1, 0, 1}. The time dpTime generated by the dependent object in the -1th period is calculated according to the above equation. -1 = 2020-10-19 10:00:00, the time when the dependent object is generated in the 0th cycle dpTime0 = 2020-10-20 10:00:00, the time when the dependent object is generated in the 1st cycle dpTime1 = 2020-10-21 10:00:00. Among them, dpTime -1 The specific calculation process is:

[0083] dpTime-1=2020-10-01 10:00:00+1Day*(-1+(2020-10-20 12:30:00-2020-10-01 10:00:00) / 1Day)

[0084] =2020-10-01 10:00:00+1Day*(-1+19)

[0085] =2020-10-01 10:00:00+18Day

[0086] =2020-10-19 10:00:00

[0087] According to an embodiment of the present disclosure, based on the planned running time of the task instance, the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange on which the dependent object depends, the time dpTime when the dependent object is generated in each cycle in the cycle range dpRange is calculated, and the obtained time of the dependent object exists in multiple cycles, that is, the dependent object can be scheduled across cycles.

[0088] Figure 4 The flowchart of the dependent object scheduling method according to the embodiment of the present disclosure is schematically shown.

[0089] like Figure 4 As shown, the method includes operations S401 to S404.

[0090] In operation S401, the time dpTime of dependent object generation in each cycle in the cycle range dpRange is calculated according to the planned running time of the task instance, the cycle length dpCycle of the dependent object generation, the time dpIniTime of the dependent object generation and the cycle range dpRange of the dependent object.

[0091] In operation S402, a model of the dependent object is constructed according to the time dpTime at which the dependent object is generated, and the type and format of the dependent object.

[0092] In operation S403, a record satisfying the model of the dependent object is searched.

[0093] In operation S404, the recorded related information is scheduled as a dependent object of the task instance.

[0094] In one of the embodiments of the present disclosure, operation S202 further includes: searching for parameters of the dependent object, the parameters including type and format.

[0095] The parameters of the dependent object include type and format. The time-related part of the format needs to use time placeholders. For example: type: hdfs, format: hdfs: / / ns1 / data / dp / ${YEAR} / ${MONTH} / ${DAY} / ${HOUR}-${MINUTE}.

[0096] In one example, an external dependency based on a MySQL database is found. The model of the dependency object is mysql: / / host:port / db / table / column=20200101. When a record with a field equal to a certain time exists in a table in the MySQL database, the dependency is satisfied. For example, in table1 of testDb, when data_time=20201020 exists, the dependency is satisfied, that is, a record that satisfies the model of the dependency object is found.

[0097] It is understandable that the model of the dependent object may also include other data. For the model of the dependent object mysql: / / host:port / db / table / column=20200101, it may also include an execution environment. The execution environment is generally an execution environment required for executing data checks, such as database connection information, hdfs namenode information, etc. For example:

[0098]

[0099]

[0100] According to the embodiment of the present disclosure, a model of dependent objects is constructed, which includes the time when the dependent objects are generated, the type and format of the dependent objects. When the dependency needs to be extended, the format and type of the dependent objects can be changed.

[0101] Figure 5 A block diagram of a dependent object scheduling device according to an embodiment of the present disclosure is schematically shown.

[0102] like Figure 5 As shown, the dependent object scheduling device 500 includes an acquisition module 510 , a search module 520 , and a scheduling module 530 .

[0103] An acquisition module 510 is used to acquire a task instance to be executed and a planned execution time of the task instance;

[0104] A search module 520 is used to search for relevant information of a dependent object corresponding to a task instance;

[0105] The scheduling module 530 is used to schedule at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object.

[0106] In one embodiment of the present disclosure, the search module 520 is specifically used to search for the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on.

[0107] In one embodiment of the present disclosure, the scheduling module 530 includes:

[0108] The first calculation submodule is used to calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on;

[0109] The first search submodule is used to search for records that satisfy both the specified dependent object and the generated time dpTime within a specified search range;

[0110] The first scheduling submodule is used to schedule the relevant information of the record as a dependent object of the task instance if the record is found.

[0111] In one embodiment of the present disclosure, the search module 520 is further used to search for parameters of the dependent object, where the parameters include type and format.

[0112] In one embodiment of the present disclosure, the scheduling module 530 includes:

[0113] The second calculation submodule is used to calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on;

[0114] A construction submodule is used to construct a model of a dependent object according to the time dpTime at which the dependent object is generated, as well as the type and format of the dependent object;

[0115] The second search submodule is used to search for records that satisfy the model of the dependent object;

[0116] The second scheduling submodule is used to schedule the recorded related information as a dependent object of the task instance.

[0117] In one embodiment of the present disclosure, the period range dpRange includes n periods, and the time dpTime at which the dependent object is generated in the nth period in the period range dpRange is n =dpInitTime+dpCycle*(dpRange n +(scheduleTime-dpInitTime) / dpCycle).

[0118] According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits, or at least part of the functions of any one of them can be implemented in one module. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be split into multiple modules for implementation. According to the embodiments of the present invention, any one or more of the modules, submodules, units, and subunits can be at least partially implemented as hardware circuits, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), systems on chips, systems on substrates, systems on packages, application specific integrated circuits (ASICs), or can be implemented by hardware or firmware in any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, according to the embodiments of the present invention, one or more of the modules, submodules, units, and subunits can be at least partially implemented as computer program modules, and when the computer program modules are run, the corresponding functions can be performed.

[0119] For example, any multiple of the acquisition module 510, the search module 520, and the scheduling module 530 can be combined in one module / unit / sub-unit for implementation, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the acquisition module 510, the search module 520, and the scheduling module 530 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware or in a suitable combination of any of them. Alternatively, at least one of the acquisition module 510, the search module 520, and the scheduling module 530 may be at least partially implemented as a computer program module, and when the computer program module is executed, the corresponding function may be executed.

[0120] It should be noted that the dependent object scheduling device part in the embodiment of the present disclosure corresponds to the dependent object scheduling method part in the embodiment of the present disclosure. The description of the dependent object scheduling device part specifically refers to the dependent object scheduling method part, which will not be repeated here.

[0121] Figure 6A block diagram of a computer system suitable for implementing the method described above according to an embodiment of the present disclosure is schematically shown. Figure 6 The computer system shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0122] like Figure 6 As shown, the computer system 600 according to the embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 602 or the program loaded from the storage part 608 to the random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (such as a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (for example, an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include an onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiment of the present disclosure.

[0123] In RAM 603, various programs and data required for the operation of system 600 are stored. Processor 601, ROM 602 and RAM 603 are connected to each other through bus 604. Processor 601 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 602 and / or RAM 603. It should be noted that the program can also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in one or more memories.

[0124] According to an embodiment of the present disclosure, the system 600 may further include an input / output (I / O) interface 605, which is also connected to the bus 604. The system 600 may further include one or more of the following components connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0125] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.

[0126] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0127] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus, or device.

[0128] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 602 and / or the RAM 603 described above and / or one or more memories other than the ROM 602 and the RAM 603 .

[0129] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0130] It will be appreciated by those skilled in the art that the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations and / or combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments and / or claims of the present disclosure may be combined and / or combined in a variety of ways without departing from the spirit and teachings of the present disclosure. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0131] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the attached claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A dependent object scheduling method, comprising: Obtain a task instance to be executed and a scheduled execution time of the task instance; Find relevant information of the dependent object corresponding to the task instance; Scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object; The searching for the relevant information of the dependent object corresponding to the task instance includes: Find the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on; Wherein, scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object comprises: Calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle of the dependent object, the time dpIniTime of the dependent object being generated, and the cycle range dpRange on which the dependent object depends; In the specified search range, search for records that satisfy both the specified dependent object and the generated time dpTime; If the record is found, the relevant information of the record is used as a dependent object of the task instance for scheduling; The period range dpRange includes n periods, and the time dpTime of the dependent object generated in the nth period in the period range dpRange is n =dpInitTime+dpCycle*(dpRange n +(scheduleTime–dpInitTime) / dpCycle), dpRange n It indicates the nth cycle in the cycle range dpRange, and scheduleTime indicates the scheduled running time.

2. The method according to claim 1, wherein: The step of searching for relevant information of the dependent object corresponding to the task instance also includes: Find the parameters of a dependent object, including the type and format.

3. The method according to claim 2, wherein: Scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object further comprises: Construct a model of the dependent object according to the time dpTime at which the dependent object is generated, and the type and format of the dependent object; Finding records that satisfy the model of the dependent object; The recorded related information is used as a dependent object of the task instance for scheduling.

4. A dependent object scheduling device, comprising: An acquisition module, used to acquire a task instance to be executed and a planned execution time of the task instance; A search module, used to search for relevant information of a dependent object corresponding to the task instance; A scheduling module, configured to schedule at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object; The search module is specifically used to search for the cycle length dpCycle generated by the dependent object, the time dpIniTime when the dependent object is generated, and the cycle range dpRange that the dependent object depends on; Wherein, scheduling at least one dependent object corresponding to the task instance according to the planned running time of the task instance and the relevant information of the dependent object comprises: Calculate the time dpTime of the dependent object generated in each cycle in the cycle range dpRange according to the planned running time of the task instance, the cycle length dpCycle of the dependent object, the time dpIniTime of the dependent object being generated, and the cycle range dpRange on which the dependent object depends; In the specified search range, search for records that satisfy both the specified dependent object and the generated time dpTime; If the record is found, the relevant information of the record is used as a dependent object of the task instance for scheduling; The period range dpRange includes n periods, and the time dpTime of the dependent object generated in the nth period in the period range dpRange is n =dpInitTime+dpCycle*(dpRange n +(scheduleTime–dpInitTime) / dpCycle), dpRange n It indicates the nth cycle in the cycle range dpRange, and scheduleTime indicates the scheduled running time.

5. A computer system comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 3.

6. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • ETL task schedule method, apparatus, computer device, and storage medium

    CN109034668A

  • Third-party dependency library isolation method and device, electronic equipment and storage medium

    CN111475148A