Scheduling platform parallel running method, device and computer equipment

By monitoring the execution status of the scheduling platform job and executing the job after the preconditions are met, the security issues in the scheduling platform version migration process are solved, the parallel operation of the target scheduling platform and the original scheduling platform is realized, and the system security and stability are improved.

CN119514983BActive Publication Date: 2025-10-10BEIJING PACTERA JINXIN TECH LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411612675.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-10-10
Estimated Expiration
2044-11-12

AI Technical Summary

Technical Problem

During the scheduling platform version migration process, directly using real business data to test the new version may lead to security incidents and reduce the security of the new version scheduling platform and the enterprise business system it manages.

Method used

The execution status of the job in the original scheduling platform is determined through the listening program of the migrated system. The target job is executed only after the prerequisites of the target job are met, and the identification data is stored in the intermediate state database for recognition by the original scheduling platform, thereby realizing the parallel operation of the target scheduling platform and the original scheduling platform.

Benefits of technology

It reduces the security risks caused by executing operations directly on the target scheduling platform, reduces the probability of failure of the enterprise business system, and improves the security of the scheduling platform and the managed enterprise business system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119514983B_ABST
    Figure CN119514983B_ABST
Patent Text Reader

Abstract

The application relates to a scheduling platform parallel operation method and device and computer equipment, and relates to the technical field of computers. The method comprises the following steps: determining the execution state of a job in an original scheduling platform through a listener program of a migrated system; if the execution state meets the precondition corresponding to a target job contained in the migrated system, executing the target job; and in the case that the target job is executed, storing the identification data of the target job into an intermediate state database, so that the original scheduling platform executes the downstream job corresponding to the identification data after recognizing the identification data. The method can improve the security of the scheduling platform and the enterprise business system managed by the scheduling platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, apparatus, computer equipment, storage medium, and computer program product for parallel operation of a scheduling platform. Background Art

[0002] A scheduling platform is a management platform for centralized job scheduling solutions. Through control nodes, it centrally manages cross-platform and cross-application production control and scheduling. It helps enterprises consolidate, standardize, and automate batch job scheduling, improving the efficiency of various business services.

[0003] When developing a new version of the scheduling platform, we test it with real business data to ensure a complete migration from the old version. Directly testing the new version with real business data can easily lead to security incidents, compromising the security of the new version and the enterprise business systems it manages. Summary of the Invention

[0004] Based on this, it is necessary to provide a scheduling platform parallel operation method, device, computer equipment, computer-readable storage medium and computer program product that can improve the security of the scheduling platform to address the above technical problems.

[0005] In a first aspect, the present application provides a method for parallel operation of a scheduling platform. The method comprises:

[0006] Determine the execution status of jobs in the original scheduling platform through the monitoring program of the migrated system;

[0007] If the execution status satisfies the precondition corresponding to the target job included in the migrated system, executing the target job;

[0008] When the target job is completed, the identification data of the target job is stored in the intermediate state database, so that the original scheduling platform can recognize the identification data and execute the downstream job corresponding to the identification data.

[0009] In one embodiment, determining the execution status of the job in the original scheduling platform through the monitoring program of the migrated system includes:

[0010] Through the monitoring program, the execution status of the predecessor job that has a dependency relationship with the target job in the original scheduling platform is determined.

[0011] In one embodiment, determining the execution status of a predecessor job that has a dependency relationship with the target job in the original scheduling platform by using a monitoring program includes:

[0012] Determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the platform database of the original scheduling platform through a monitoring program; or

[0013] The monitoring program is used to obtain the execution status of each job in the platform database of the original scheduling platform, determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the target scheduling platform.

[0014] In one embodiment, if the execution status satisfies a precondition corresponding to a target job included in the migrated system, executing the target job includes:

[0015] Determine whether the execution status corresponding to the preceding job is completed;

[0016] If it is determined that the execution status corresponding to the predecessor job is not completed, repeating the step of determining whether the execution status corresponding to the predecessor job is completed after a first preset time period, until it is determined that the execution status is completed;

[0017] If it is determined that the execution status corresponding to the preceding job is completed, it is determined that the execution status meets the preceding conditions corresponding to the target job included in the migrated system, and the target job is executed.

[0018] In one embodiment, the target job includes a first type of job, a second type of job, and a third type of job; a dependency relationship exists between the first type of job, the second type of job, and the third type of job; and executing the target job includes:

[0019] Based on the dependency relationships among the first-type job, the second-type job, and the third-type job in the target job, executing the target job in the order of the dependency relationships until the third-type job corresponding to the target job is completed;

[0020] Among them, the first type of job has a dependency relationship with the predecessor job in the original scheduling platform; the third type of job has a dependency relationship with the downstream job in the original scheduling platform; the second type of job has a dependency relationship with the first type of job and the third type of job respectively.

[0021] In one embodiment, storing the identification data of the target job in an intermediate state database so that the original scheduling platform recognizes the identification data and executes the downstream job corresponding to the identification data includes:

[0022] When the target job is completed, the identification data of each target job is stored in an intermediate state database, so that the judgment job of the downstream system corresponding to the migrated system in the original scheduling platform reads the identification data of the intermediate state database; the judgment job is a predecessor job of the job to be executed in the downstream system;

[0023] If the identification data in the intermediate state database includes the identification data required for the judgment job, the to-be-executed job that has a dependency relationship with the judgment job is executed through the original scheduling platform.

[0024] In one embodiment, after executing the target job of the migrated system, the method further includes:

[0025] The business data generated during the execution of the target job is determined and stored in a file storage database, so that the original scheduling platform can read the file storage database.

[0026] In one embodiment, the method further comprises:

[0027] Determining the operating state of the target scheduling platform based on the business data in the file storage database and the intermediate state database;

[0028] If the operating status satisfies a preset migration condition within a second preset time period, a system to be migrated in the original scheduling platform is determined, and the system to be migrated is migrated to the target scheduling platform to obtain a migrated system.

[0029] In a second aspect, the present application also provides a scheduling platform parallel operation device. The device includes:

[0030] A status determination module is used to determine the execution status of jobs in the original scheduling platform through the monitoring program of the migrated system;

[0031] a job execution module, configured to execute the target job if the execution status satisfies a precondition corresponding to the target job included in the migrated system;

[0032] The identification storage module is used to store the identification data of the target job in the intermediate state database when the target job is completed, so that the original scheduling platform can execute the downstream job corresponding to the identification data after recognizing the identification data.

[0033] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the following steps are implemented:

[0034] Determine the execution status of jobs in the original scheduling platform through the monitoring program of the migrated system;

[0035] If the execution status satisfies the precondition corresponding to the target job included in the migrated system, executing the target job;

[0036] When the target job is completed, the identification data of the target job is stored in the intermediate state database, so that the original scheduling platform can recognize the identification data and execute the downstream job corresponding to the identification data.

[0037] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the following steps:

[0038] Determine the execution status of jobs in the original scheduling platform through the monitoring program of the migrated system;

[0039] If the execution status satisfies the precondition corresponding to the target job included in the migrated system, executing the target job;

[0040] When the target job is completed, the identification data of the target job is stored in the intermediate state database, so that the original scheduling platform can recognize the identification data and execute the downstream job corresponding to the identification data.

[0041] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the following steps:

[0042] Determine the execution status of jobs in the original scheduling platform through the monitoring program of the migrated system;

[0043] If the execution status satisfies the precondition corresponding to the target job included in the migrated system, executing the target job;

[0044] When the target job is completed, the identification data of the target job is stored in the intermediate state database, so that the original scheduling platform can recognize the identification data and execute the downstream job corresponding to the identification data.

[0045] The above-mentioned scheduling platform parallel operation method, apparatus, computer device, storage medium, and computer program product determine the execution status of each job in the original scheduling platform through the monitoring program of the migrated system in the target scheduling platform. If the execution status meets the preconditions corresponding to the target job contained in the migrated system, the target job is executed through the target scheduling platform. When the target job is executed, the identification data of the target job is stored in the intermediate state database. After identifying the identification data, the original scheduling platform continues to execute the downstream job corresponding to the identification data. Because the migrated system is the system migrated from the original scheduling platform to the target scheduling platform, and the target job in the migrated system has a dependency relationship with the job in the original scheduling platform, for example, the preconditions of the target job and the identification data of the target job both have a dependency relationship with the job in the original scheduling platform. Therefore, the server can execute jobs that were originally executed only on the original scheduling platform in parallel through both the target scheduling platform and the original scheduling platform, reducing the security risks caused by directly executing jobs through the target scheduling platform and the probability of causing failures in the enterprise business system due to the execution of jobs by the target scheduling platform, thereby improving the security of the scheduling platform and the enterprise business system managed by the scheduling platform. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following briefly introduces the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0047] Figure 1 This is an application environment diagram of a method for scheduling platform parallel operation in one embodiment;

[0048] Figure 2 1. A schematic flow chart of a method for scheduling platform parallel operation in one embodiment;

[0049] Figure 3 Schematic diagram of the process of the original scheduling platform in one embodiment;

[0050] Figure 4 A schematic diagram of a process for scheduling platforms to run in parallel in another embodiment;

[0051] Figure 5 A schematic diagram of a flow chart of an original scheduling platform in another embodiment;

[0052] Figure 6 A schematic diagram of a flow chart of a scheduling platform running in parallel in yet another embodiment;

[0053] Figure 7A structural block diagram of a scheduling platform parallel operation device in one embodiment;

[0054] Figure 8 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0055] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0056] The scheduling platform parallel operation method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the target scheduling platform 104 or the original scheduling platform 106 through the network. The data storage system can store the data of the jobs processed in the target scheduling platform 104 and the original scheduling platform 106. The data storage system can be integrated on the server corresponding to the target scheduling platform 104, the server corresponding to the original scheduling platform 106, and the server can also be placed on the cloud or other network servers. The terminal can initiate a scheduling task to the target scheduling platform 104 or the original scheduling platform 106. After the target scheduling platform 104 and / or the original scheduling platform 106 accept the scheduling task, they determine the jobs of each system and the configuration data corresponding to each job based on the systems covered by the scheduling task. Based on this, the target scheduling platform 104 and the original scheduling platform 106 can execute the jobs required to be executed by the scheduling task in parallel according to the dependency relationship of the jobs. Part of the jobs corresponding to the scheduling task need to be executed through the target scheduling platform 104, and another part of the jobs corresponding to the scheduling task need to be executed through the original scheduling platform 106.

[0057] Specifically, the target scheduling platform 104 can use a monitoring program to determine the execution status of each job in the original scheduling platform 106 and whether the execution status meets the preconditions of the target job included in the migrated system in the target scheduling platform 104. If the preconditions are met, the target scheduling platform 104 can be controlled to execute the target job. After the target job is executed, the identification data of the target job can be stored in the intermediate state database. The original scheduling platform 106 can execute the downstream job corresponding to the target job based on the identification data, thereby allowing the two scheduling platforms to run dependent jobs in parallel.

[0058] Terminal 102 may include, but is not limited to, various computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices may include smart speakers, smart TVs, smart air conditioners, and smart car devices. Portable wearable devices may include smart watches, smart bracelets, and head-mounted devices. Head-mounted devices may include virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, and the like. The scheduling platform server may be implemented as a standalone server or a server cluster consisting of multiple servers.

[0059] In an exemplary embodiment, Figure 2 As shown, a scheduling platform parallel operation method is provided, which is applied to Figure 1 The target scheduling platform 104 in FIG. 1 is used as an example to illustrate the process, which includes the following steps S202 to S206.

[0060] Step S202: Determine the execution status of the job in the original scheduling platform through the monitoring program of the migrated system.

[0061] The monitoring program is used to monitor whether each job in the original scheduling platform is executed. The migrated system is the system that has been migrated from the original scheduling platform to the target scheduling platform. Before the migration, the migrated system executed the jobs contained in the original scheduling platform. After the migration, the migrated system has the jobs contained in the target scheduling platform executed. The monitoring program can be set in an additional module of the target scheduling platform. The monitoring program does not need to be a program of the target scheduling platform. That is, the monitoring program can be an independent program serving the target scheduling platform.

[0062] Specifically, the original scheduling platform can execute jobs contained in each system in the original scheduling platform according to pre-configured execution logic and execution conditions. During the execution of each job, the execution status of the completed job can be generated and stored in the platform database. The target scheduling platform can obtain the execution status in the platform database through a built-in monitoring program, thereby monitoring the jobs of the original scheduling platform.

[0063] Step S204: If the execution status satisfies the precondition corresponding to the target job included in the migrated system, the target job is executed.

[0064] The prerequisite is that the job that needs to be completed before the target job is executed has been completed.

[0065] Specifically, the target scheduling platform retrieves the preconditions corresponding to the target job in the migrated system from the target job's attributes. Based on the execution status of each job in the original scheduling platform, the target scheduling platform determines whether each job in the original scheduling platform meets the preconditions corresponding to the target job. If the execution status is determined not to meet the preconditions corresponding to the target job, the target scheduling platform does not take any action. If the execution status is determined to meet the preconditions corresponding to the target job, the target scheduling platform immediately executes the target job.

[0066] Step S206 , when the target job is completed, the identification data of the target job is stored in the intermediate state database, so that the original scheduling platform can recognize the identification data and execute the downstream job corresponding to the identification data.

[0067] The target job's completion can be determined by the target scheduling platform receiving a target job completion message from the migrated system. If the target scheduling platform receives this message, the target job has completed execution. If the target scheduling platform does not receive this message, it indicates that the target job has not yet executed, is currently executing, or has experienced an execution error. Identification data is used to determine whether the target job has completed execution. The intermediate state database is a shared database that is readable and writable by both the target scheduling platform and the original scheduling platform.

[0068] Specifically, the target scheduling platform can determine whether the target job has been completed through the execution message returned by the migrated system. If the returned execution completion message is an execution completion message, the target job is determined to have been completed. The target scheduling platform can parse the identification data in the execution completion message and store the identification data in the intermediate state database, allowing the original scheduling platform to determine whether the target job has been completed through the intermediate state database. The original scheduling platform can monitor the identification data stored in the intermediate state database in real time. If it determines that a certain identification data in the intermediate state database is a prerequisite for a downstream job, it can execute the downstream job through the original scheduling platform, thereby ensuring that the downstream jobs of the target job can be executed quickly.

[0069] In the above-mentioned scheduling platform parallel operation method, the execution status of each job in the original scheduling platform is determined through the monitoring program of the migrated system in the target scheduling platform. If the execution status meets the preconditions corresponding to the target job contained in the migrated system, the target job is executed through the target scheduling platform. When the target job is executed, the identification data of the target job is stored in the intermediate state database. After identifying the identification data, the original scheduling platform continues to execute the downstream job corresponding to the identification data. Since the migrated system is the system migrated from the original scheduling platform to the target scheduling platform, and the target job in the migrated system has a dependency relationship with the job in the original scheduling platform, for example, the preconditions of the target job and the identification data of the target job are both dependent on the job in the original scheduling platform. Therefore, the server can execute jobs that were originally executed only on the original scheduling platform in parallel through both the target scheduling platform and the original scheduling platform, reducing the security risks caused by directly executing jobs through the target scheduling platform and the probability of causing failures in the enterprise business system due to the execution of jobs on the target scheduling platform, thereby improving the security of the scheduling platform and the enterprise business system managed by the scheduling platform.

[0070] In an exemplary embodiment, the specific implementation process of the step of "determining the execution status of the job in the original scheduling platform through the monitoring program of the migrated system" includes:

[0071] Through the monitoring program, the execution status of the predecessor job that has a dependency relationship with the target job in the original scheduling platform is determined.

[0072] Specifically, the target scheduling platform can start a listening program, which determines the original scheduling platform associated with the target scheduling platform. The listening program can obtain the execution status of each job stored in the original scheduling platform and determine the execution status of the predecessor jobs that have a dependency relationship with the target job. In one example, the listening program can determine the predecessor jobs that have a dependency relationship with the target job and obtain the execution status corresponding to the predecessor jobs in the original scheduling platform.

[0073] In this embodiment, by determining the execution status of the predecessor job that has a dependency relationship with the target job, the execution status of the predecessor job of the target job in the migrated system can be obtained without affecting the operation of the original scheduling platform, thereby improving the accuracy and security of the obtained execution status.

[0074] In an exemplary embodiment, the specific implementation process of the step of "determining, through a monitoring program, the execution status of a predecessor job that has a dependency relationship with the target job in the original scheduling platform" includes:

[0075] Determine the predecessor jobs that have a dependency relationship with the target job, and query the execution status of the predecessor jobs in the platform database of the original scheduling platform through the listening program; or, obtain the execution status of each job in the platform database of the original scheduling platform through the listening program, and determine the predecessor jobs that have a dependency relationship with the target job, and query the execution status of the predecessor jobs in the target scheduling platform.

[0076] Specifically, the target scheduling platform can first determine the target job from among the jobs in the migrated system based on the prerequisites of each job in the migrated system, and obtain the predecessor jobs that have a dependency relationship with the target job. The prerequisite can be whether at least one job in the migrated system has completed execution, or whether at least one job in the original scheduling platform has completed execution, or whether at least one job in the migrated system and at least one job in the original scheduling platform have both completed execution. The target scheduling platform can monitor the predecessor job as a monitoring target and, through a monitoring program, monitor the execution status of the predecessor job in the platform database of the original scheduling platform.

[0077] In one example, the target scheduling platform may include multiple listeners, each corresponding to a migrated system. The listener can retrieve the predecessor job corresponding to the target job of the corresponding migrated system. Based on the predecessor job, the listener can query the platform database of the original scheduling platform to obtain the execution status of the predecessor job. In this case, each listener is responsible for monitoring the execution status of the predecessor job corresponding to a migrated system.

[0078] Alternatively, the target scheduling platform may first obtain the execution status of all jobs in the platform database of the original scheduling platform through a listening program. For different migrated systems, the target scheduling platform may determine the execution status corresponding to the target job in each execution status based on the target job in each migrated system. In one example, the target scheduling platform may include a listening program, which may simultaneously listen to the predecessor jobs corresponding to the target jobs of multiple migrated systems, that is, listen to all jobs in the original scheduling platform. At this time, for each migrated system, the target scheduling platform may separately determine the target job of each migrated system, as well as the predecessor job corresponding to the target job. The target scheduling platform uses the predecessor job as a screening condition and retrieves the execution status corresponding to the predecessor job in the listening program. At this time, the listening program is responsible for listening to all jobs of the entire original scheduling platform, and the target scheduling platform may determine the execution status of the predecessor job corresponding to each migrated system based on the listening program.

[0079] In this embodiment, the execution status of the predecessor job is obtained through the listening programs of different software architectures, which can flexibly obtain the execution status of the predecessor job according to the actual situation of the migrated system in the target scheduling platform, thereby improving the efficiency of determining the execution status.

[0080] In an exemplary embodiment, the specific implementation process of the step of "if the execution status satisfies the precondition corresponding to the target job included in the migrated system, then executing the target job" includes:

[0081] Determine whether the execution status corresponding to the predecessor job is completed; if it is determined that the execution status corresponding to the predecessor job is not completed, repeat the step of determining whether the execution status corresponding to the predecessor job is completed after a first preset time period until the execution status is determined to be completed.

[0082] If it is determined that the execution status corresponding to the predecessor job is completed, it is determined that the execution status meets the prerequisite corresponding to the target job included in the migrated system, and the target job is executed.

[0083] Specifically, the target scheduling platform can read the value of the execution status corresponding to the predecessor job. If the value of the execution status is a first preset character, it can be determined that the predecessor job is completed. If the value of the execution status is a second preset character, it can be determined that the predecessor job is not completed. Not completed can mean that the predecessor job has not been executed, that the predecessor job has failed to execute, or that the predecessor job is being executed. Therefore, when the target scheduling platform determines that the value of the execution status of the predecessor job is the second preset character, it can wait for the first preset time period and then determine again whether the current execution status value is the first preset character. If it is not the first preset character, the above steps of determining whether the execution status corresponding to the predecessor job is completed are repeated until the current execution status value is the first preset character.

[0084] If the current execution status value is the first preset character, the target job corresponding to the predecessor job is executed by the target scheduling platform. At this point, the prerequisites for the target job have been met, and the target scheduling platform can execute the target job, replacing the original scheduling platform's execution of the target job, thereby testing the execution of the migrated system on the target scheduling platform.

[0085] In this embodiment, the execution status value of the predecessor job is used to determine whether the predecessor job has been completed, and when the predecessor job has been completed, the target job corresponding to the predecessor job in the target scheduling platform is executed, thereby completing the parallel operation between the target scheduling platform and the original scheduling platform, reducing the probability of accidents occurring in the target scheduling platform, and reducing the losses caused by accidents.

[0086] In an example embodiment, the step of "executing the target job" includes:

[0087] Based on the dependency relationship among the first type job, the second type job and the third type job in the target job, the target job is executed in a dependency order of the dependency relationship until the third type job corresponding to the target job is completed.

[0088] The target job includes the first type job, the second type job and the third type job, and there is a dependency relationship among the first type job, the second type job and the third type job. The first type job has a dependency relationship with a preceding job in the original scheduling platform, and the third type job has a dependency relationship with a downstream job in the original scheduling platform. The second type job has a dependency relationship with the first type job and the third type job respectively.

[0089] Specifically, the target job can include the first type job, the second type job and the third type job. The target scheduling platform can execute the first type job in the target job first, and judge the prerequisites of the second type job and the third type job during the execution of the first type job. After the execution of the first type job is completed, it can be determined that the prerequisites of the second type job are satisfied, and the target scheduling platform can continue to execute the second type job in the target job. After the execution of the second type job is completed, it can be determined that the prerequisites of the third type job are satisfied, and the target scheduling platform can continue to execute the third type job in the target job. In addition, the second type job can be a plurality of jobs with an execution order.

[0090] Optionally, the target job can include the first type job and the third type job. The target job can only include the first type job, and the first type job can also have a dependency relationship with a downstream job in the original scheduling platform.

[0091] In this embodiment, by executing the jobs of various types included in the target job, the plurality of jobs in the migrated system can be completed, ensuring that the migrated system executes the jobs under the target scheduling platform, and can further independently run in the target scheduling platform, so as to test the stability and integrity of the target scheduling platform, reduce the probability of accidents of the target scheduling platform, and reduce the loss caused by the accidents.

[0092] In an example embodiment, the step of "storing the identification data of the target job to the intermediate state database, so that the original scheduling platform executes the downstream job corresponding to the identification data after identifying the identification data" includes:

[0093] When the target job is completed, the identification data of each target job is stored in the intermediate state database, so that the judgment job of the downstream system corresponding to the migrated system in the original scheduling platform can read the identification data of the intermediate state database; if the identification data in the intermediate state database contains the identification data required for the judgment job, the pending job that has a dependency on the judgment job is executed through the original scheduling platform.

[0094] Among them, the downstream system is the downstream system corresponding to the migrated system. The downstream system needs to wait for the target job of the migrated system to be completed before the downstream job in the downstream system can start executing. The judgment job is a predecessor job of the job to be executed in the downstream system. Since the migrated system in the original scheduling platform has been migrated to the target scheduling platform, the dependency relationship originally used to determine the downstream system of the migrated system in the original scheduling platform needs to be reconfigured. At this time, a corresponding predecessor job can be created in the downstream job of the downstream system in the original scheduling platform. The original scheduling platform can determine whether the target scheduling platform has completed the execution of the predecessor job of the downstream job by executing the predecessor job in real time.

[0095] Specifically, after executing each target job, the target scheduling platform stores the identification data of the target job in the intermediate state database in real time. Multiple judgment jobs in the downstream system of the original scheduling platform will query the intermediate state database in real time for the identification data required for the judgment job. If the judgment job queries the required identification data, it can be determined that the downstream job corresponding to the judgment job in the downstream system has met the preconditions, and the original scheduling platform can execute the downstream job. If the judgment job cannot query the required identification data, it can be determined that the downstream job corresponding to the judgment job in the downstream system has not met the preconditions, and the judgment job continues to be repeatedly executed until the identification data required for the judgment job is queried.

[0096] In this embodiment, the downstream system's judgment job in the original scheduling platform determines whether the job on the target scheduling platform has completed execution. This allows the original scheduling platform to execute the downstream job corresponding to the judgment job if the preconditions for the judgment job are met. This ensures that the completion of the target scheduling platform's job can drive the execution of downstream jobs on the original scheduling platform, improving the compatibility and stability of the target and original scheduling platforms.

[0097] In an exemplary embodiment, after the step of “executing the target job of the migrated system”, the method further includes:

[0098] The business data generated during the execution of the target job is determined and stored in the file storage database so that the original scheduling platform can read the file storage database.

[0099] Specifically, when executing target jobs, the original scheduling platform can mobilize the business system corresponding to the migrated system for each target job, generate business data corresponding to the target job, and store this business data in a file storage database. The file storage database can be accessed by both the target scheduling platform and the original scheduling platform. The original scheduling platform can read the business data in the file storage database and, based on the original scheduling platform's corresponding historical business data, determine whether the business data in the file storage database is abnormal, thereby determining whether there are any security risks on the target scheduling platform.

[0100] In one example, during the execution of a target job, a business system can generate business data based on the target job, and the business data can be stored in a database corresponding to the business system. The business system and the target scheduling platform are independent of each other. The target scheduling platform only sends the business system the target job it needs to execute, and the target scheduling platform does not directly participate in the generation of business data. Based on this, the file storage database is a backup database corresponding to the business data generated by the business system. The business data in the file storage database can be used to determine whether the target job of the target scheduling platform is executed correctly, thereby promptly determining whether the target scheduling platform has security risks and improving the stability and security of the target scheduling platform.

[0101] In this embodiment, by storing the business data generated during the execution of the target job in the file storage database, it is possible to determine whether the target scheduling platform has security risks, thereby improving the security of the target scheduling platform during parallel execution.

[0102] In an exemplary embodiment, the method further includes: determining the operating status of the target scheduling platform based on the business data in the file storage database and the intermediate state database; if the operating status meets the preset migration conditions within a second preset time period, determining the system to be migrated in the original scheduling platform, and migrating the system to be migrated to the target scheduling platform to obtain the migrated system after migration.

[0103] The running status of the target scheduling platform is used to indicate whether the execution of each target job in the target scheduling platform meets the requirements of the original scheduling platform.

[0104] Specifically, the target scheduling platform can analyze the business data in the file storage database and the identification data in the intermediate state database through the quality management program to obtain the running quality indicators of the target scheduling platform for the target jobs in the current running process. The running quality indicators can include job execution rate, job feedback rate, and job accuracy rate of the target jobs, etc. The job execution rate is the ratio of the target jobs actually executed to the target jobs that should be executed. The job execution rate is directly proportional to the running quality of the target scheduling platform. The job feedback rate is the probability that the target job successfully serves as a precondition for the downstream job and enables the downstream job to execute the job according to the identification data of the target job. The job feedback rate is directly proportional to the running quality of the target scheduling platform. The job accuracy rate is used to represent the probability that the target job is correctly executed and generates correct business data under the corresponding business system. The job accuracy rate is directly proportional to the running quality of the target scheduling platform.

[0105] The target scheduling platform can determine the running state of the target scheduling platform according to the running quality indicators. If the values of the indicators of the running quality indicators all meet the preset migration condition within the second preset time period, it can be determined that the quality of the target scheduling platform meets the requirements. The server can further migrate the systems in the original scheduling platform. The server can determine the to-be-migrated systems, acquire the to-be-migrated systems through the target scheduling platform, and merge the to-be-migrated systems with the migrated systems to obtain the merged migrated systems. At this time, the to-be-migrated systems in the original scheduling platform are removed.

[0106] Optionally, the target scheduling platform can configure the preconditions and the precondition businesses of the businesses in the to-be-migrated systems and configure the corresponding monitoring programs of the to-be-migrated systems.

[0107] In this embodiment, whether the target scheduling platform meets the preset migration condition is determined through the running state of the target scheduling platform in the second preset time, and the to-be-migrated systems in the original scheduling platform are migrated to the target scheduling platform in the case where the preset migration condition is met, thereby expanding the number of businesses required to be run by the target scheduling platform on the basis of ensuring safety.

[0108] The specific execution process of the above scheduling platform parallel running method is described in detail below in combination with a plurality of specific embodiments.

[0109] In an illustrative embodiment, as shown in Figure 3 The original scheduling platform can be a control-M platform. The jobs in the system A, the system B, and the system C are all managed in the control-M platform. At this time, the jobs in the system C can be migrated so that the jobs in the system C are managed in a new scheduling platform (target scheduling platform), while the jobs in the system A and the system B are still managed in the control-M platform. Figure 3 It can be known that the system A and the system B both have a dependency relationship with the job in the system C. At this time, the job in the system C is in the downstream, and there is a dependent job above and no dependent job below. The control-M platform can store the job state of the job in the system A and the system B which is executed after the execution in the platform database. The listener in the target scheduling platform can listen to the execution state of the related job in the control-M platform database according to the dependency relationship between the related job in the system A and the system B and the job in the system C and the configuration information of the job in the system C. If the listener in the listener judges that the precondition of the job in the system C is met, the corresponding job in the scheduling platform is executed, and if the precondition is not met, the listener continues to listen.

[0110] As shown in Figure 4 After the system C is migrated to the target scheduling platform, the control-M platform can store the job state of the job in the system A and the system B which is executed after the execution in the platform database. The listener in the target scheduling platform can listen to the execution state of the related job in the control-M platform database according to the dependency relationship between the related job in the system A and the system B and the job in the system C and the configuration information of the job in the system C. If the listener in the listener judges that the precondition of the job in the system C is met, the corresponding job in the scheduling platform is executed, and if the precondition is not met, the listener continues to listen.

[0111] In one example, the control-M platform can store the job state of the job in the system A and the system B which has a dependency relationship with the job in the system C in the platform database. In the target scheduling platform, the execution state of the pre-job in the system C which has a dependency relationship with each task in the control-M platform database can be listened to by the listener. The target scheduling platform judges the listened execution state, if the execution state corresponding to the job in the system C is not executed, the job continues to wait. If the execution state corresponding to the job in the system C is executed, the job starts to execute. For example, the execution state of the pre-job corresponding to C-job03 is not executed, and the target scheduling platform does not execute C-job03. The execution state of the pre-job corresponding to C-job05 is executed, and the target scheduling platform executes C-job05.

[0112] There can be a dependency relationship between the jobs in the system C, and when some of the jobs are executed, the other jobs in the system C which have a dependency relationship can also start to execute. For example, when the C-job03 job is executed, the C-job04 job can be executed.

[0113] In one illustrative embodiment, as Figure 5As shown, the original scheduling platform can be a control-M platform. The jobs in system C and system D are both managed in the control-M platform. At this time, the jobs in system D have a dependency relationship with the jobs in system C, and the jobs in system D can be executed only after the pre-job of system C is executed. Since system C is migrated, the jobs in system C are managed in the new scheduling platform (target scheduling platform), while the jobs in system D are still managed in the control-M platform. Therefore, Figure 5 It can be known that the jobs in system C and the jobs in system D have a dependency relationship. At this time, the jobs in system C are upstream, and the generated data will be used by the jobs in system D.

[0114] As shown, Figure 6 After system C is migrated to the target scheduling platform, the relevant jobs in system C are executed, and then the identification data is inserted into the intermediate state database. In the control-M platform, for the jobs in system D that originally depend on the jobs in system C, a new job can be added in system D to check whether the pre-job of the job in system C is executed. The execution condition of the new job is to determine whether the identification data in the intermediate state database is stored in place. The new job is configured as a job that is executed multiple times, which can check whether the identification data in the intermediate state database is stored in place in real time. As shown, Figure 6 The configuration information of the original job D-job03 needs to be adjusted, and the pre-condition of the job is modified to the newly added job.

[0115] For example, C-job04 is the pre-job of D-job03 in system D. After the configuration of the added job is adjusted, C-job04 is the pre-job of D-job03, and the identification data of C-job04 in the intermediate state database is determined through D-job03 to determine whether D-job03 is executed successfully. At this time, the pre-job of D-job03 is executed, and D-job03 is executed.

[0116] In the embodiments of the present application, the enterprise using the control-M scheduling platform can provide a parallel scheduling scheme for the target scheduling platform and the control-M platform when the job scheduling platform is replaced, solve the problems that the enterprise will face the migration period division difficulty, the project job migration period inconsistency, the migration job classification difficulty, and the like, and ensure that the jobs of the enterprise on the control-M scheduling platform are gradually, in stages, and smoothly migrated to the target job scheduling platform.

[0117] It should be understood that although each step in the flowchart involved in each embodiment as described above is shown in sequence according to the arrow, these steps are not necessarily executed in the order indicated by the arrow. Unless explicitly stated herein, there is no strict order limitation for the execution of these steps, and these steps can be executed in other orders. Moreover, at least some of the steps in the flowchart involved in each embodiment as described above can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be alternately or alternately executed with at least part of other steps or stages.

[0118] Based on the same inventive concept, the embodiments of the present application also provide a scheduling platform parallel running device for implementing the above-mentioned scheduling platform parallel running method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more scheduling platform parallel running device embodiments provided below can refer to the limitations of the scheduling platform parallel running method described above, which will not be repeated here.

[0119] In one exemplary embodiment, as shown in Figure 7 A scheduling platform parallel running device 700 is provided, comprising: a state determination module 701, a job execution module 702, and an identification storage module 703, wherein:

[0120] The state determination module 701 is configured to determine the execution state of the job in the original scheduling platform through the listener of the migrated system.

[0121] The job execution module 702 is configured to execute the target job if the execution state satisfies the precondition corresponding to the target job contained in the migrated system.

[0122] The identification storage module 703 is configured to store the identification data of the target job to the intermediate state database in the case where the target job is executed, so that the original scheduling platform executes the downstream job corresponding to the identification data after recognizing the identification data.

[0123] Further, the state determination module 701 is specifically configured to determine the execution state of the precondition job having a dependency relationship with the target job in the original scheduling platform through the listener.

[0124] Furthermore, the status determination module 701 is specifically used to: determine the predecessor job that has a dependency relationship with the target job, and query the execution status corresponding to the predecessor job in the platform database of the original scheduling platform through a listening program; or, obtain the execution status of each job in the platform database of the original scheduling platform through a listening program, and determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the target scheduling platform.

[0125] Furthermore, the job execution module 702 is specifically used to: determine whether the execution status corresponding to the predecessor job is completed; if it is determined that the execution status corresponding to the predecessor job is not completed, then repeat the step of determining whether the execution status corresponding to the predecessor job is completed after a first preset time period until the execution status is determined to be completed; if it is determined that the execution status corresponding to the predecessor job is completed, then determine whether the execution status meets the prerequisite conditions corresponding to the target job included in the migrated system, and execute the target job.

[0126] Furthermore, the target job includes a first type job, a second type job, and a third type job; and there is a dependency relationship between the first type job, the second type job, and the third type job. The job execution module 702 is further specifically configured to: based on the dependency relationship between the first type job, the second type job, and the third type job in the target job, execute the target job in the order of the dependency relationship until the third type job corresponding to the target job is completed; wherein the first type job has a dependency relationship with a predecessor job in the original scheduling platform; the third type job has a dependency relationship with a downstream job in the original scheduling platform; and the second type job has a dependency relationship with each of the first type job and the third type job.

[0127] Furthermore, the identification storage module 703 is specifically used to: store the identification data of each target job in the intermediate state database when the target job is completed, so that the judgment job of the downstream system corresponding to the migrated system in the original scheduling platform can read the identification data of the intermediate state database; the judgment job is a predecessor job of the job to be executed in the downstream system; if the identification data in the intermediate state database contains the identification data required for the judgment job, the job to be executed that has a dependency relationship with the judgment job is executed through the original scheduling platform.

[0128] Furthermore, the device also includes a file storage module, which is specifically used to: determine the business data generated during the execution of the target job and store it in a file storage database, so that the original scheduling platform can read the file storage database.

[0129] Furthermore, the device also includes a system migration module, which is specifically used to: determine the operating status of the target scheduling platform based on the business data in the file storage database and the intermediate state database; if the operating status meets the preset migration conditions within a second preset time period, determine the system to be migrated in the original scheduling platform, and migrate the system to be migrated to the target scheduling platform to obtain the migrated system after migration.

[0130] Each module in the aforementioned parallel operation device of the scheduling platform may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of a processor in a computer device in the form of hardware, or may be stored in a memory in the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.

[0131] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 8 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store identification data, business data, etc. of the target scheduling platform and the original scheduling platform completing the job. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for parallel operation of a scheduling platform is implemented.

[0132] Those skilled in the art will understand that Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0133] In an exemplary embodiment, a computer device is also provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the following steps are implemented: determining the execution status of the job in the original scheduling platform through the listening program of the migrated system; if the execution status meets the prerequisite corresponding to the target job contained in the migrated system, executing the target job; when the target job is executed, storing the identification data of the target job in the intermediate state database, so that the original scheduling platform recognizes the identification data and executes the downstream job corresponding to the identification data.

[0134] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: determining the execution status of a job in an original scheduling platform through a listening program of a migrated system; executing the target job if the execution status satisfies the prerequisite corresponding to a target job contained in the migrated system; and storing identification data of the target job in an intermediate state database when the target job is executed, so that the original scheduling platform recognizes the identification data and executes the downstream job corresponding to the identification data.

[0135] In one embodiment, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the following steps: determining the execution status of a job in an original scheduling platform through a listening program of a migrated system; executing the target job if the execution status satisfies a precondition corresponding to a target job contained in the migrated system; and storing identification data of the target job in an intermediate state database when the target job is executed, so that the original scheduling platform recognizes the identification data and executes a downstream job corresponding to the identification data.

[0136] In one embodiment, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the following steps: determining the execution status of a job in an original scheduling platform through a listening program of a migrated system; executing the target job if the execution status satisfies a precondition corresponding to a target job contained in the migrated system; and storing identification data of the target job in an intermediate state database when the target job is executed, so that the original scheduling platform recognizes the identification data and executes a downstream job corresponding to the identification data.

[0137] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0138] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), programmable logic devices (PLDs), data processing logic devices based on quantum computing, and the like.

[0139] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0140] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A method for parallel operation of a scheduling platform, characterized in that: Applied to a target scheduling platform, the method includes: Determining the execution status of jobs in the original scheduling platform through a monitoring program of a migrated system; the migrated system is a system that has been migrated from the original scheduling platform to the target scheduling platform, wherein the migrated system executed the jobs contained therein in the original scheduling platform before migration and the migrated system has the jobs contained therein executed by the target scheduling platform after migration; the monitoring program is an independent program that serves the target scheduling platform; If the execution status satisfies the precondition corresponding to the target job included in the migrated system, then executing the target job; including: determining whether the execution status corresponding to the predecessor job that has a dependency relationship with the target job is execution completed; if it is determined that the execution status corresponding to the predecessor job is not execution completed, repeating the step of determining whether the execution status corresponding to the predecessor job is execution completed after a first preset time period until it is determined that the execution status is execution completed; if it is determined that the execution status corresponding to the predecessor job is execution completed, determining that the execution status satisfies the precondition corresponding to the target job included in the migrated system, and executing the target job; When the target job is completed, the identification data of each target job is stored in the intermediate state database, so that the judgment job of the downstream system corresponding to the migrated system in the original scheduling platform reads the identification data of the intermediate state database; the judgment job is a predecessor job of the job to be executed in the downstream system; if the identification data in the intermediate state database contains the identification data required by the judgment job, the job to be executed that has a dependency on the judgment job is executed through the original scheduling platform.

2. The method according to claim 1, characterized in that Determining the execution status of the job in the original scheduling platform through the monitoring program of the migrated system includes: Through the monitoring program, the execution status of the predecessor job that has a dependency relationship with the target job in the original scheduling platform is determined.

3. The method according to claim 2, characterized in that The monitoring program is used to determine the execution status of the predecessor job that has a dependency relationship with the target job in the original scheduling platform, including: Determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the platform database of the original scheduling platform through a monitoring program; or The monitoring program is used to obtain the execution status of each job in the platform database of the original scheduling platform, determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the target scheduling platform.

4. The method according to claim 2, characterized in that The target jobs include a first type of job, a second type of job, and a third type of job; and there is a dependency relationship between the first type of job, the second type of job, and the third type of job; The executing the target job includes: Based on the dependency relationships among the first-type job, the second-type job, and the third-type job in the target job, executing the target job in the order of the dependency relationships until the third-type job corresponding to the target job is completed; Among them, the first type of job has a dependency relationship with the predecessor job in the original scheduling platform; the third type of job has a dependency relationship with the downstream job in the original scheduling platform; the second type of job has a dependency relationship with the first type of job and the third type of job respectively.

5. The method according to claim 1, wherein After executing the target job of the migrated system, the method further includes: The business data generated during the execution of the target job is determined and stored in a file storage database, so that the original scheduling platform can read the file storage database.

6. The method according to claim 5, characterized in that The method further comprises: Determining the operating state of the target scheduling platform based on the business data in the file storage database and the intermediate state database; If the operating status satisfies a preset migration condition within a second preset time period, a system to be migrated in the original scheduling platform is determined, and the system to be migrated is migrated to the target scheduling platform to obtain a migrated system.

7. A parallel operation device for a scheduling platform, characterized in that: The device comprises: a state determination module, configured to determine the execution state of a job in the original scheduling platform through a monitoring program of a migrated system; the migrated system is a system that has been migrated from the original scheduling platform to the target scheduling platform, wherein the migrated system executed the jobs contained therein in the original scheduling platform before migration and the migrated system executes the jobs contained therein on the target scheduling platform after migration; the monitoring program is an independent program that serves the target scheduling platform; A job execution module, configured to execute the target job if the execution status satisfies a precondition corresponding to the target job included in the migrated system; comprising: determining whether the execution status corresponding to a predecessor job having a dependency relationship with the target job is execution completed; if it is determined that the execution status corresponding to the predecessor job is not execution completed, repeating the step of determining whether the execution status corresponding to the predecessor job is execution completed after a first preset time period until it is determined that the execution status is execution completed; if it is determined that the execution status corresponding to the predecessor job is execution completed, determining that the execution status satisfies the precondition corresponding to the target job included in the migrated system, and executing the target job; An identification storage module is used to store the identification data of the target job in an intermediate state database when the target job is completed, so that the original scheduling platform can execute the downstream job corresponding to the identification data after recognizing the identification data, and store the identification data of each target job in the intermediate state database, so that the judgment job of the downstream system corresponding to the migrated system in the original scheduling platform can read the identification data of the intermediate state database; the judgment job is a predecessor job of the job to be executed in the downstream system; if the identification data in the intermediate state database contains the identification data required for the judgment job, the job to be executed that has a dependency relationship with the judgment job is executed through the original scheduling platform.

8. The device according to claim 7, characterized in that The state determination module is also used to Through the monitoring program, the execution status of the predecessor job that has a dependency relationship with the target job in the original scheduling platform is determined.

9. The device according to claim 8, characterized in that The state determination module is also used to Determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the platform database of the original scheduling platform through the monitoring program; or, The monitoring program is used to obtain the execution status of each job in the platform database of the original scheduling platform, determine the predecessor job that has a dependency relationship with the target job, and query the execution status of the predecessor job in the target scheduling platform.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Task scheduling method, intelligent terminal and storage medium

    CN112507171A

  • Cross-platform job operation method and device

    CN114942768A