Scheduling platform parallel operation method and device and computer equipment
By using the listening program and intermediate state database during the migration of the scheduling platform, the security accident problem that may be caused by direct use of real business data testing is solved, and the effect of improving the security of the scheduling platform and enterprise business system is achieved.
Patent Information
- Application Number
- CN202411612675.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-11-12
AI Technical Summary
When migrating the old version of the scheduling platform to the new version, directly using real business data for testing may lead to security accidents, reducing the security of the new version of the scheduling platform and enterprise business systems.
Through the migrated system's listening program, determine the execution status of the job in the original scheduling platform, and execute the target job when the preconditions of the target job are met. After the target job is executed, its identification data is stored in the intermediate state database, so that the original scheduling platform can identify and execute downstream jobs.
This method reduces the security risk of directly executing jobs through the new version of the scheduling platform, reduces the probability of failure of the enterprise business system, and thus improves the security of the scheduling platform and the enterprise business system.
Smart Images

Figure CN119514983A_ABST
Abstract
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] The scheduling platform is a management platform for centralized job scheduling management solutions. The scheduling platform can centrally manage cross-platform and cross-application production control and production scheduling through control nodes. The scheduling platform can help enterprises integrate, standardize and automate batch job scheduling management, and improve the efficiency of various types of business services of enterprises.
[0003] When developing a new version of the scheduling platform, in order to completely migrate the old version of the scheduling platform to the new version, the new version of the scheduling platform will be tested with real business data during the development of the new version of the scheduling platform. If real business data is directly put into the new version of the scheduling platform for testing, security incidents are likely to occur, reducing the security of the new version of the scheduling platform and the enterprise business system managed by the new version of the scheduling platform. 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 in response to 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 executed, 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 then 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 the predecessor job that has a dependency relationship with the target job in the original scheduling platform through the monitoring program includes:
[0012] 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 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, and to determine the predecessor job that has a dependency relationship with the target job, and to query the execution status of the predecessor job in the target scheduling platform.
[0014] In one embodiment, if the execution state satisfies the precondition corresponding to the 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 preceding job is not completed, then the step of determining whether the execution status corresponding to the preceding job is completed is repeated 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 pre-job is completed, it is determined that the execution status satisfies the pre-condition 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; there is a dependency relationship 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 relationship among the first type of job, the second type of job, and the third type of job in the target job, executing the target job in the dependency order of the dependency relationship until the third type of 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 the 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 executed, 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 pre-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 running state meets the preset migration condition within the second preset time period, the 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 after migration.
[0029] In a second aspect, the present application also provides a scheduling platform parallel operation device. The device comprises:
[0030] A status determination module is used to determine the execution status of the job 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 the 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 executed, 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 executed, 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 then execute the downstream job corresponding to the identification data.
[0037] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, 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 executed, 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 then execute the downstream job corresponding to the identification data.
[0041] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[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 executed, 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 then execute the downstream job corresponding to the identification data.
[0045] The above-mentioned scheduling platform parallel operation method, device, computer equipment, storage medium and computer program product determine the execution status of each job in the original scheduling platform through the listening program of the migrated system in the target scheduling platform. If the execution status meets the precondition 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 the original scheduling platform recognizes the identification data, it continues to execute the downstream job corresponding to the identification data. Since the migrated system is a 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 precondition of the target job and the identification data of the target job are dependent on the job in the original scheduling platform. Therefore, the server can execute the job that was originally executed only on the original scheduling platform in parallel through the target scheduling platform and the original scheduling platform at the same time, reducing the security risk caused by directly executing the job through the target scheduling platform, and reducing the probability of failure of the enterprise business system caused by the execution of the job 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 the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. 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 creative work.
[0047] FIG1 is an application environment diagram of a scheduling platform parallel operation method in one embodiment;
[0048] FIG2 is a schematic diagram of a flow chart of a method for parallel operation of a scheduling platform in one embodiment;
[0049] FIG3 is a schematic diagram of a flow chart of an original scheduling platform in one embodiment;
[0050] FIG4 is a schematic diagram of a process flow of scheduling platforms running in parallel in another embodiment;
[0051] FIG5 is a schematic diagram of a flow chart of an original scheduling platform in another embodiment;
[0052] FIG6 is a schematic diagram of a process flow of scheduling platforms running in parallel in yet another embodiment;
[0053] FIG7 is a structural block diagram of a scheduling platform parallel operation device in one embodiment;
[0054] FIG. 8 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0055] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0056] The scheduling platform parallel operation method provided in the embodiment of the present application can be applied in the application environment as shown in Figure 1. 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 operations 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, the operation of each system and the configuration data corresponding to each operation are determined according to the system covered by the scheduling task. Based on this, the target scheduling platform 104 and the original scheduling platform 106 can execute the operations required to be executed by the scheduling task in parallel according to the dependency relationship of the operation. Some operations corresponding to the scheduling task need to be executed through the target scheduling platform 104, and another part of the operations corresponding to the scheduling task need to be executed through the original scheduling platform 106.
[0057] Specifically, the target scheduling platform 104 can determine the execution status of each job in the original scheduling platform 106 through the monitoring program, and determine 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, and the original scheduling platform 106 can execute the downstream job corresponding to the target job according to the identification data, so that the two scheduling platforms can run the jobs with dependencies in parallel.
[0058] Among them, the terminal 102 can be, but is not limited to, various computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The server of the scheduling platform can be implemented with an independent server or a server cluster consisting of multiple servers.
[0059] In an exemplary embodiment, as shown in FIG2 , a method for parallel operation of scheduling platforms is provided, which is described by taking the method applied to the target scheduling platform 104 in FIG1 as an example, and includes the following steps S202 to S206 . Among them:
[0060] Step S202: determining 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 a system migrated from the original scheduling platform to the target scheduling platform. The migrated system executes the jobs contained in the original scheduling platform before migration, and the migrated system executes the jobs contained in the target scheduling platform after migration. The monitoring program can be set in an additional module of the target scheduling platform, and the monitoring program may not belong to the 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 the jobs contained in each system in the original scheduling platform according to the pre-configured execution logic and execution conditions. In the process of executing 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 the built-in monitoring program, so as to monitor 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 obtains the preconditions corresponding to the target job contained in the migrated system from the properties of the target job. The target scheduling platform determines whether each job in the original scheduling platform meets the preconditions corresponding to the target job based on the execution status of each job in the original scheduling platform. If it is determined that the execution status does not meet the preconditions corresponding to the target job, the target scheduling platform does not perform any processing. If it is determined that the execution status meets the preconditions corresponding to the target job, the target scheduling platform immediately executes the target job.
[0066] Step S206, when the target job is executed, the identification data of the target job is stored in the intermediate state database, so that after the original scheduling platform recognizes the identification data, it executes the downstream job corresponding to the identification data.
[0067] The basis for judging whether the target job has been executed can be that the target scheduling platform receives the execution completion message of the target job returned by the migrated system. If the target scheduling platform receives the execution completion message, it means that the target job has been executed. If the target scheduling platform does not receive the execution completion message, it means that the target job has not been executed, the target job is being executed, or the target job has an execution error. The identification data is used to determine whether the target job has been executed. The intermediate state database is a shared database that can be read and written by the target scheduling platform and the original scheduling platform.
[0068] Specifically, the target scheduling platform can determine whether the target job has been executed 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 be executed. The target scheduling platform can parse the identification data in the execution completion message and store the identification data in the intermediate state database, so that the original scheduling platform can determine whether the target job has been executed 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 is determined that a certain identification data in the intermediate state database is a prerequisite for the downstream job, the downstream job can be executed through the original scheduling platform, thereby ensuring that the downstream job 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 listening 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 the original scheduling platform recognizes the identification data, it continues to execute the downstream job corresponding to the identification data. Since the migrated system is a 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 dependent on the job in the original scheduling platform. Therefore, the server can execute the job that was originally executed only on the original scheduling platform in parallel through the target scheduling platform and the original scheduling platform at the same time, reducing the security risks caused by directly executing the job through the target scheduling platform, and reducing the probability of failure of the enterprise business system caused by the execution of the job by 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, and the listening program 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 job that has a dependency relationship with the target job. In one example, the listening program can determine the predecessor job that has a dependency relationship with the target job, and obtain the execution status corresponding to the predecessor job 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 the execution status of the predecessor job that has a dependency relationship with the target job in the original scheduling platform through the monitoring program" includes:
[0075] 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 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.
[0076] Specifically, the target scheduling platform can first determine the target job among the jobs in the migrated system according to the preconditions of each job in the migrated system, and obtain the preconditions that have a dependency relationship with the target job. The precondition can be whether at least one job in the migrated system has been executed, or whether at least one job in the original scheduling platform has been executed, or at least one job in the migrated system and at least one job in the original scheduling platform have been executed. The target scheduling platform can take the precondition as a monitoring object, and monitor the execution status of the precondition in the platform database of the original scheduling platform through a monitoring program.
[0077] In one example, the target scheduling platform may include multiple listening programs, each listening program corresponding to a migrated system. The listening program may obtain the predecessor job corresponding to the target job of the corresponding migrated system, and the listening program may query the execution status corresponding to the predecessor job from the platform database of the original scheduling platform according to the predecessor job. At this time, each listening program 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 according to the target job in each migrated system. In one example, the target scheduling platform may include a listening program, and the listening program 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 jobs corresponding to each migrated system according to the listening program.
[0079] In this embodiment, the execution status of the predecessor job is obtained through the listening programs of different software architectures, and the execution status of the predecessor job can be flexibly obtained 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 satisfies the predecessor condition 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 the first preset character, it can be determined that the predecessor job is completed. If the value of the execution status is the second preset character, it can be determined that the predecessor job is not completed. Not completed can indicate 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 determine again whether the current execution status value is the first preset character. If it is not the first preset character, repeat the above steps of determining whether the execution status corresponding to the predecessor job is completed until the current execution status value is the first preset character.
[0084] When the value of the current execution state is the first preset character, the target job corresponding to the pre-job is executed by the target scheduling platform. At this time, the pre-conditions of the target job have been met, and the target scheduling platform can execute the target job to replace the original scheduling platform to execute 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 if 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 exemplary embodiment, the specific implementation process of the step “executing the target job” includes:
[0087] Based on the dependency relationship among the first type of job, the second type of job and the third type of job in the target job, the target job is executed in the dependency order of the dependency relationship until the third type of job corresponding to the target job is completed.
[0088] Among them, the target jobs include first-type jobs, second-type jobs and third-type jobs; there are dependencies between the first-type jobs, second-type jobs and third-type jobs. The first-type jobs have dependencies with the predecessor jobs in the original scheduling platform; the third-type jobs have dependencies with the downstream jobs in the original scheduling platform; the second-type jobs have dependencies with the first-type jobs and the third-type jobs respectively.
[0089] Specifically, the target job may include a first type of job, a second type of job, and a third type of job. The target scheduling platform may first execute the first type of job in the target job, and in the process of executing the first type of job, judge the preconditions corresponding to the second type of job and the third type of job. After the first type of job is executed, it can be determined that the preconditions of the second type of job have been met, and the target scheduling platform can continue to execute the second type of job in the target job. After the second type of job is executed, it can be determined that the preconditions of the third type of job have been met, and the target scheduling platform can continue to execute the third type of job in the target job. In addition, the second type of job can be multiple jobs that have a sequential execution order.
[0090] Optionally, the target job may include a first type of job and a third type of job. The target job may include only a first type of job, in which case the first type of job may also have a dependency relationship with a downstream job in the original scheduling platform.
[0091] In this embodiment, by executing multiple types of jobs included in the target job, multiple jobs in the migrated system can be completed, ensuring that the migrated system executes jobs under the operation of the target scheduling platform, and can further run independently in the target scheduling platform, thereby testing the stability and integrity of the target scheduling platform, reducing the probability of accidents on the target scheduling platform, and reducing the losses caused by accidents.
[0092] In an exemplary embodiment, the specific implementation process of the step of "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" includes:
[0093] When the target job is executed, 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 relationship with 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 to execute. 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, the 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 in 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 judgment operation of the downstream system in the original scheduling platform is used to determine whether the operation in the target scheduling platform has been completed, so that the original scheduling platform executes the downstream operation corresponding to the judgment operation when the judgment operation meets the preconditions. It is ensured that after the operation of the target scheduling platform is completed, the downstream operation of the original scheduling platform can be driven to execute, thereby improving the compatibility and stability of the target scheduling platform and the original scheduling platform.
[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, in the process of executing the target job, 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 the business data in the file storage database. The file storage database can be accessed by the target scheduling platform and the original scheduling platform. The original scheduling platform can read the business data in the file storage database, and determine whether the business data in the file storage database is abnormal based on the historical business data corresponding to the original scheduling platform, thereby determining whether there are security risks in the target scheduling platform.
[0100] In one example, during the execution of the target job, business data can be generated based on the target job by the business system, and the business data can be stored in the 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 target job required by the business system to the business system, and the target scheduling platform does not directly participate in the generation process 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, so as to timely judge whether there are safety hazards in the target scheduling platform and improve 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 there are security risks in the target scheduling platform, thereby improving the security of the target scheduling platform during the parallel execution process.
[0102] In an exemplary embodiment, the method also 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] Among them, 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 operation quality indicators of the target scheduling platform for the target job during this operation. The operation quality indicators can include the job execution rate, job feedback rate and job accuracy rate of each target job. Among them, the job execution rate is the ratio of the target job actually executed in the target job to the target job that should be executed. The job execution rate is proportional to the operation quality of the target scheduling platform. The job feedback rate is the probability that the target job successfully serves as a prerequisite for the downstream job and enables the downstream job to execute the job based on the identification data of the target job. The job feedback rate is proportional to the operation quality of the target scheduling platform. The job accuracy rate is used to indicate whether the target job is correctly executed under the corresponding business system and the probability of generating correct business data. The job accuracy rate is proportional to the operation quality of the target scheduling platform.
[0105] The target scheduling platform can determine the corresponding operating state of the target scheduling platform according to the operating quality index. If the various index values of the operating quality index meet the preset migration conditions 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 system in the original scheduling platform. The server can determine the system to be migrated, obtain the system to be migrated through the target scheduling platform, and merge the system to be migrated with the migrated system to obtain the merged migrated system. At this time, the system to be migrated in the original scheduling platform is removed.
[0106] Optionally, the target scheduling platform may configure the preconditions and pre-services of each service in the system to be migrated, and configure a listening program corresponding to the system to be migrated.
[0107] In this embodiment, whether the target scheduling platform meets the preset migration conditions is determined by the operating status of the target scheduling platform at the second preset time, and if the preset migration conditions are met, the system to be migrated in the original scheduling platform is migrated to the target scheduling platform, thereby expanding the number of running businesses required by the target scheduling platform while ensuring security.
[0108] The specific execution process of the above-mentioned scheduling platform parallel operation method is described in detail below in combination with multiple specific embodiments.
[0109] In an illustrative embodiment, as shown in FIG3 , the original scheduling platform may be a control-M platform. The jobs in system A, system B, and system C are all managed in the control-M platform. At this point, the jobs in system C can be migrated so that the jobs in system C are managed in the new scheduling platform (target scheduling platform), while the jobs in system A and system B are still managed in the control-M platform. As can be seen from FIG3 , both system A and system B have dependencies on the jobs in system C. At this point, the jobs in system C are downstream, with dependent jobs above and no dependent jobs below. In the control-M platform, data is generated after the execution of related jobs in system A and system B is completed, and the execution of the jobs in system C depends on the data generated after the execution of related jobs in the previous system A and system B is completed;
[0110] As shown in Figure 4, after migrating system C to the target scheduling platform, the control-M platform can store the job status of the jobs executed in systems A and B in the platform database. The listening program in the target scheduling platform listens to the execution status of the relevant jobs in the control-M platform database according to the dependency relationship between the relevant jobs in systems A and B and the jobs in system C in the control-M platform, as well as the configuration information of the jobs in system C. If the listening program determines that the preconditions of a job in system C are met, it will execute the corresponding job in the scheduling platform. If not, it will continue to listen.
[0111] In one example, the control-M platform can store the job status of the jobs in system A and system B that have a dependency relationship with the jobs in system C in the platform database. In the target scheduling platform, the execution status of the predecessor jobs in system C that have a dependency relationship with each task in the control-M platform database can be monitored through a monitoring program. The target scheduling platform judges the monitored execution status. If the execution status corresponding to the job in system C is not completed, the job continues to wait. If the execution status corresponding to the job in system C is completed, the job starts to execute. For example, if the execution status of the predecessor job corresponding to job C-job03 is not completed, the target scheduling platform does not execute C-job03. If the execution status of the predecessor job corresponding to job C-job05 is completed, the target scheduling platform executes C-job05.
[0112] There may be dependencies between jobs in system C. When some jobs are completed, other jobs with dependencies in system C can also start to execute. For example, when job C-job03 is completed, job C-job04 can be executed.
[0113] In an illustrative embodiment, as shown in FIG5 , the original scheduling platform may be a control-M platform. The jobs in both system C and system D are managed in the control-M platform. At this point, the jobs in system D are dependent on the jobs in system C, and the jobs in system D can only be executed after the predecessor jobs of system C are completed. Due to the migration of system C, the jobs in system C are managed on the new scheduling platform (target scheduling platform), while the jobs in system D are still managed in the control-M platform. As can be seen from FIG5 , there is a dependency between the jobs in system C and the jobs in system D. At this point, the jobs in system C are upstream, and the generated data will be used by the jobs in system D.
[0114] As shown in Figure 6, after system C is migrated to the target scheduling platform, identification data will be inserted into the intermediate state database after the execution of the relevant jobs in system C is completed. In system D in the control-M platform, for jobs that originally depend on system C, a new job can be added to system D to check whether the predecessor jobs that depend on the jobs in system C have been executed. The execution condition of the newly added job is to determine whether the identification data in the intermediate state database has been stored in place. The newly added job is configured as a job that is executed multiple times, and can check in real time whether the identification data in the intermediate state database has been stored in place. As shown in Figure 6, the configuration information of the original job D-job03 needs to be adjusted, and the prerequisite of the job is modified to the newly added job.
[0115] For example, C-job04 is the predecessor of D-job03 in system D. After adding the configuration, C-job04 is now the predecessor of D-job03. It determines whether the identification data of C-job04 is in the intermediate state database through D-job03. If it exists, it is determined that D-job03 is successfully executed. At this time, the predecessor of D-job03 is completed and D-job03 is started.
[0116] In the embodiments of the present application, it can help enterprises using the control-M scheduling platform to provide a parallel scheduling solution for tasks on the target scheduling platform and the control-M platform when replacing the job scheduling platform, so as to solve the problems faced by the enterprise, such as difficulty in dividing the migration cycle, inconsistent project job migration cycles, and difficulty in classifying migration jobs, and ensure that the enterprise's jobs on the control-M scheduling platform are gradually, phased, and smoothly migrated to the target job scheduling platform.
[0117] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages 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 to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0118] Based on the same inventive concept, the embodiment of the present application also provides a scheduling platform parallel operation device for implementing the above-mentioned scheduling platform parallel operation method. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above-mentioned method, so the specific limitations in the one or more scheduling platform parallel operation device embodiments provided below can refer to the above-mentioned limitations on the scheduling platform parallel operation method, and will not be repeated here.
[0119] In an exemplary embodiment, as shown in FIG. 7 , a scheduling platform parallel operation device 700 is provided, comprising: a state determination module 701, a job execution module 702 and an identification storage module 703, wherein:
[0120] The status determination module 701 is used to determine the execution status of the job in the original scheduling platform through the monitoring program of the migrated system;
[0121] The job execution module 702 is used to execute the target job if the execution status satisfies the precondition corresponding to the target job included in the migrated system;
[0122] The identification storage module 703 is used to store the identification data of the target job in the intermediate state database when the target job is executed, so that the original scheduling platform can recognize the identification data and execute the downstream job corresponding to the identification data.
[0123] Furthermore, the state determination module 701 is specifically used to determine the execution state of the predecessor job that has a dependency relationship with the target job in the original scheduling platform through a monitoring program.
[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] Further, 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 it is determined that the execution status is completed; if it is determined that the execution status corresponding to the predecessor job is completed, then determine that the execution status satisfies the prerequisite corresponding to the target job included in the migrated system, and execute the target job.
[0126] Furthermore, the target job includes a first type of job, a second type of job and a third type of job; there is a dependency relationship between the first type of job, the second type of job and the third type of job. The job execution module 702 is also specifically used to: based on the dependency relationship between the first type of job, the second type of job and the third type of job in the target job, execute the target job in the dependency order of the dependency relationship until the third type of job corresponding to the target job is completed; wherein the first type of job has a dependency relationship with the preceding 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.
[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 executed, 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 status 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 above-mentioned scheduling platform parallel operation device can be implemented in whole or in part by software, hardware and their combination. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0131] In an exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be shown in FIG8. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the 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 the 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 the 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 the structure shown in FIG. 8 is merely a block diagram of a partial 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 arrangement of components.
[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 satisfies 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 after the original scheduling platform recognizes the identification data, it 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, and when the computer program is executed by a 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 satisfies 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 after the original scheduling platform recognizes the identification data, it executes the downstream job corresponding to the identification data.
[0135] In one embodiment, a computer program product is provided, including a computer program, which implements the following steps when executed by a processor: 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 prerequisite corresponding to a target job included 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 after the original scheduling platform recognizes the identification data, it executes a downstream job corresponding to the identification data.
[0136] In one embodiment, a computer program product is provided, including a computer program, which implements the following steps when executed by a processor: 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 prerequisite corresponding to a target job included 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 after the original scheduling platform recognizes the identification data, it 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 can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and 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 embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium 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), magnetoresistive 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. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0139] The technical features of the above embodiments may 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 only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for parallel operation of a scheduling platform, characterized in that: Applied to a target scheduling platform, the method comprises: Determine the execution status of jobs in the original scheduling platform through the monitoring program of the migrated system; If the execution status satisfies the precondition corresponding to the target job included in the migrated system, executing the target job; When the target job is executed, 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 then execute the downstream job corresponding to the identification data.
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 in the original scheduling platform that has a dependency relationship with the target job, including: 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 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, and to determine the predecessor job that has a dependency relationship with the target job, and to query the execution status of the predecessor job in the target scheduling platform.
4. The method according to claim 2, characterized in that: If the execution state satisfies the precondition corresponding to the target job included in the migrated system, executing the target job includes: Determine whether the execution status corresponding to the preceding job is completed; If it is determined that the execution status corresponding to the preceding job is not completed, then the step of determining whether the execution status corresponding to the preceding job is completed is repeated after a first preset time period, until it is determined that the execution status is completed; If it is determined that the execution status corresponding to the pre-job is completed, it is determined that the execution status satisfies the pre-condition corresponding to the target job included in the migrated system, and the target job is executed.
5. The method according to claim 4, characterized in that The target job includes a first type of job, a second type of job and a third type of job; 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 relationship among the first type of job, the second type of job, and the third type of job in the target job, executing the target job in the dependency order of the dependency relationship until the third type of 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.
6. The method according to claim 1, characterized in that The storing of 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 includes: When the target job is executed, 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 pre-job of the job to be executed in the downstream system; 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.
7. The method according to claim 1, characterized in that 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.
8. The method according to claim 7, 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 running state meets the preset migration condition within the second preset time period, the 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 after migration.
9. A scheduling platform parallel operation device, characterized in that: The device comprises: A status determination module is used to determine the execution status of the job in the original scheduling platform through the monitoring program of the migrated system; A job execution module, configured to execute the target job if the execution status satisfies the precondition corresponding to the target job included in the migrated system; 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 executed, so that the original scheduling platform can execute the downstream job corresponding to the identification data after recognizing the identification data.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Task scheduling method, intelligent terminal and storage medium
CN112507171A
Cross-platform job operation method and device
CN114942768A
Cross-scheduling platform dependency implementation method and apparatus, device, and storage medium
WO2019223182A1