Distributed Job Service Scheduling Method, Distributed Server and Business Terminal

Through the distributed job service scheduling method, the job scheduling framework and business system are decoupled, and the message pipeline is used to realize the componentization of business functions and pipeline scheduling, which solves the job execution problems in traditional projects, provides flexible business requirements configuration and high availability, and supports business rules changes and architecture upgrades.

CN112799813BActive Publication Date: 2025-07-04INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110117209.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-28
Publication Date
2025-07-04
Estimated Expiration
2041-01-28

AI Technical Summary

Technical Problem

In traditional projects, the job scheduling framework is highly coupled with the business system, and data synchronization is difficult to collect data synchronously, data consistency is difficult to ensure, developers cannot modify and monitor jobs online, business functions are lacking modular, and business rules changes and architecture upgrades are inflexible.

Method used

Through the distributed job service scheduling method, the tasks and dependencies of each business terminal are obtained, arranged to the message pipeline, componentization of business functions and pipeline scheduling, decoupling of the job scheduling framework and business system, and provide flexible business demand configuration and high-availability design.

Benefits of technology

Reduce the coupling of data synchronization acquisition between systems, ensure data consistency, support the scalability of business rule changes and architecture upgrades, and take effect online without modifying the business party application, realizing flexible modification and monitoring of job scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112799813B_ABST
    Figure CN112799813B_ABST
Patent Text Reader

Abstract

The distributed job service scheduling method, distributed server and service terminal provided by the present invention can be used in the field of big data technology. First, obtain the service scheduling information of each service terminal, and then arrange the service scheduling information into a message pipeline; finally, perform service scheduling on each service terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes business functions with tasks as the carrier components, and completes the dependency relationship in the form of a pipeline, solving the problem of job execution with front-back dependency relationships in traditional projects. It reduces the coupling of data synchronization collection and function integration and disassembly between systems, and ensures data consistency. It provides scalability for changes in business rules and upgrades of business architectures in business systems. For the modification and addition of job scheduling, there is no need to modify the business-side application and redeploy it, and it can take effect online. For the extension and change of business rules on the business side, only the pipeline needs to be modified, and there is no need to redeploy the business-side application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of distributed processing, and particularly to a distributed job service scheduling method, a distributed server, and a service terminal. Background Art

[0002] In traditional projects, the job scheduling framework is often coupled with the business system and packaged and deployed together. Data synchronization and collection between systems require developers to coordinate business interfaces. Any changes to interface addresses and protocols are time-consuming and laborious, and data consistency cannot be guaranteed. Business functions are not modularized, and dependencies between businesses are highly coupled. Developers and operators do not have an intuitive perception of the jobs in the system background, and cannot modify, pause, or start job scheduling online. They also cannot have an overall grasp of the execution status of background batch tasks. There is no effective control method for risky background batch tasks. Summary of the Invention

[0003] Aiming at the problems in the prior art, the purpose of the present invention is to provide a system for distributed job scheduling and monitoring on an open platform to solve the above problems. The present invention aims to decouple the job scheduling framework and the business system and provide job scheduling services in a service-oriented manner. Through a configuration-based method, flexible business requirements can be realized, such as online modification and start / stop of job tasks, modification and extension of business functions. Through high-availability design, the continuous availability of job scheduling services is ensured, enabling the access end to conveniently schedule and run jobs and obtain real-time operation results, logs, and analysis reports.

[0004] The core concept of the present invention is to provide a distributed job service scheduling method, a distributed server, and a service terminal. First, obtain the business service scheduling information of each service terminal, where the business scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks; then arrange the business scheduling information into a message pipeline; finally, perform service scheduling on each service terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes business functions with tasks as carriers and completes the dependency relationships in a pipeline manner, solving the problem of job execution with front-back dependency relationships in traditional projects. It reduces the coupling of data synchronization and collection and function integration and disassembly between systems and ensures data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. Modifications and additions to job scheduling can take effect online without modifying the business-side application and redeploying. Extensions and changes to the business rules of the business side only require modifying the pipeline without redeploying the business-side application.

[0005] To solve the above technical problems, the present invention provides the following technical solutions:

[0006] An embodiment of the present invention provides a distributed job service scheduling method, which is executed by a distributed server and includes:

[0007] Obtain the business service scheduling information of each business terminal, where the business scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks;

[0008] Arrange the business scheduling information into a message pipeline;

[0009] Perform service scheduling for each business terminal according to the message pipeline.

[0010] In a preferred embodiment, it further includes:

[0011] Establish the message pipeline.

[0012] In a preferred embodiment, the performing service scheduling for each business terminal according to the message pipeline includes:

[0013] Schedule the corresponding services in the system one by one according to the sorting of the tasks in the message pipeline;

[0014] Obtain the task execution status information of each business terminal;

[0015] If the task corresponding to the currently scheduled service is completed, clear the corresponding business scheduling information in the message pipeline.

[0016] The present invention further provides a distributed job service scheduling method, which is executed by a business terminal and includes:

[0017] Send business service scheduling information to a distributed server together with other business terminals, so that the distributed server arranges the business scheduling information into a message pipeline and performs service scheduling for each business terminal according to the message pipeline, where the business scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks.

[0018] The present invention further provides a distributed server, including:

[0019] An acquisition module, which acquires the business service scheduling information of each business terminal, where the business scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks;

[0020] An arrangement module, which arranges the business scheduling information into a message pipeline;

[0021] A service scheduling module, which performs service scheduling for each business terminal according to the message pipeline.

[0022] In a preferred embodiment, it further includes:

[0023] A building module builds the message pipeline.

[0024] In a preferred embodiment, the service scheduling module includes:

[0025] A service scheduling unit schedules the corresponding services in the system one by one according to the sorting of each task in the message pipeline;

[0026] A task execution status information acquisition unit acquires the task execution status information of each service terminal;

[0027] A cleaning unit, if the task corresponding to the currently scheduled service is completed, cleans the corresponding service scheduling information in the message pipeline.

[0028] The present invention further provides a service terminal, which is specifically used for:

[0029] Sending service scheduling information to a distributed server together with other service terminals, so that the distributed server arranges the service scheduling information into a message pipeline and performs service scheduling on each service terminal according to the message pipeline, where the service scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks.

[0030] The present invention further provides an electronic device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the distributed job service scheduling method as described above is implemented.

[0031] The present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the distributed job service scheduling method as described above is implemented.

[0032] As can be seen from the above technical solutions, the distributed job service scheduling method, distributed server, and service terminal provided by the present invention first acquire the service scheduling information of each service terminal, where the service scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks; then arrange the service scheduling information into a message pipeline; and finally perform service scheduling on each service terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes the service functions with tasks as the carriers and completes the dependency relationships in a pipeline manner, solving the problem of job execution with front-back dependency relationships in traditional projects. It reduces the coupling of data synchronization collection and function integration and disassembly between systems and ensures data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified without redeploying the business-side application. Brief Description of the Drawings

[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0034] Figure 1 It is the implementation architecture diagram of the present invention.

[0035] Figure 2 It is the high-availability design diagram of the job service of the present invention.

[0036] Figure 3 It is the job scheduling operation diagram of the present invention.

[0037] Figure 4 It is the process of the distributed job service scheduling method of the present invention.

[0038] Figure 5 It is the structural schematic diagram of the electronic device in the embodiment of the present invention. Detailed Description of the Embodiments

[0039] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts fall within the scope of protection of the present invention.

[0040] In the prior art, in traditional projects, the job scheduling framework is often coupled with the business system and packaged, released and deployed together. The data synchronization and collection between systems require developers to coordinate business interfaces. Any changes involving interface addresses and protocols are time-consuming and laborious, and data consistency cannot be guaranteed. The business functions are not modularized, and the dependencies between businesses are highly coupled. Developers and operators do not have an intuitive perception of the jobs in the system background, and cannot modify, pause and start job scheduling online, nor can they have an overall control over the execution status of background batch tasks. There is no effective control means for risky background batch tasks.

[0041] To solve the above problems, the core concept of the present invention is to provide a distributed job service scheduling method, a distributed server, and a service terminal. First, obtain the service scheduling information of each service terminal, where the service scheduling information includes the tasks corresponding to each service terminal and the dependencies between the tasks; then arrange the service scheduling information into a message pipeline; finally, perform service scheduling on each service terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes business functions with tasks as carriers and completes dependencies in a pipeline manner, solving the problem of job execution with sequential dependencies in traditional projects. It reduces the coupling of data synchronization collection and function integration and disassembly between systems, ensuring data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. For modifications and additions to job scheduling, there is no need to modify the business-side application and redeploy it, and it can take effect online. For extensions and changes to the business rules of the business side, only the pipeline needs to be modified, without redeploying the business-side application.

[0042] As can be seen from the above, the present invention aims to decouple the job scheduling framework and the business system and provide a job scheduling service in a service-oriented manner. Through a configuration-based approach, flexible business requirements can be achieved, such as online modification and start / stop of job tasks, modification and extension of business functions. Through high-availability design, the continuous availability of the job scheduling service is ensured, enabling the access side to conveniently schedule and run jobs and obtain real-time operation results, logs, and analysis reports.

[0043] The above concept of the present invention will be described in detail below with reference to the accompanying drawings.

[0044] In one or more embodiments of the present invention, a distributed job service scheduling system includes service terminals and a distributed server.

[0045] The distributed server is a distributed device, specifically including multiple distributed servers, which store an application program. When the application program is specifically executed, it first obtains the service scheduling information of each service terminal, where the service scheduling information includes the tasks corresponding to each service terminal and the dependencies between the tasks; then arranges the service scheduling information into a message pipeline; finally, performs service scheduling on each service terminal according to the message pipeline.

[0046] It can be understood that the present invention is applicable to the field of big data technology. Of course, the present invention is not limited thereto.

[0047] The service terminals may include smart phones, tablet electronic devices, network set-top boxes, portable computers, desktop computers, personal digital assistants (PDAs), vehicle-mounted devices, smart wearable devices, etc.

[0048] Among them, in an actual application scenario where the smart wearable device is provided, a part of the distributed job service scheduling method of the aforementioned distributed job service scheduling system can be executed on the distributed server as described above, or all operations can be completed on the service terminal. Specifically, it can be selected according to the processing capacity of the service terminal and the limitations of the user usage scenario, etc. This application does not make any limitations in this regard. If all operations are completed on the service terminal, the service terminal may further include a processor for performing specific processing of the distributed job service scheduling.

[0049] The above-mentioned service terminal may have a communication module (i.e., communication unit), which can communicate with a remote server to achieve data transmission with the server. For example, the communication unit can send service scheduling information for the service to the server. The communication unit can also receive the service scheduling information returned by the server. The server may include a server on the task scheduling center side, and in other implementation scenarios, it may also include a server on the intermediate platform, such as a server on a third-party server platform with a communication link to the task scheduling center server. The server may include a single computer device, or a server cluster composed of multiple servers, or a server structure of a distributed device.

[0050] Any suitable network protocol can be used for communication between the above-mentioned server and the service terminal, including network protocols that have not been developed as of the filing date of this application. The network protocol may, for example, include TCP / IP protocol, UDP / IP protocol, HTTP protocol, HTTPS protocol, etc. Of course, the network protocol may also include, for example, the RPC protocol (Remote Procedure Call Protocol) and REST protocol (Representational State Transfer) used on top of the above-mentioned protocols.

[0051] In a specific embodiment of the present invention, for the distributed job service scheduling method provided by the present invention, the distributed server specifically executes the following steps, as Figure 4 shown:

[0052] S100: Obtain the service scheduling information of each service terminal.

[0053] Specifically, the service scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks.

[0054] S200: Arrange the service scheduling information into a message pipeline;

[0055] S300: Perform service scheduling for each service terminal according to the message pipeline.

[0056] As can be seen from the above technical solutions, for the distributed job service scheduling method provided by the present invention, first, the service scheduling information of each business terminal is obtained, and the service scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks; then, the service scheduling information is arranged into a message pipeline; finally, service scheduling is performed on each business terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes business functions with tasks as the carrier components, and completes the dependency relationships in the form of a pipeline, solving the problem of job execution with front-back dependency relationships in traditional projects. It reduces the coupling of data synchronization collection and functional integration and disassembly between systems, and ensures data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified, without redeploying the business-side application.

[0057] In some embodiments, it further includes:

[0058] Establish the message pipeline.

[0059] In some embodiments, the performing service scheduling on each business terminal according to the message pipeline includes:

[0060] Sequentially scheduling the corresponding services in the system according to the sorting of the tasks in the message pipeline;

[0061] Obtain the task execution status information of each business terminal;

[0062] If the task corresponding to the currently scheduled service is completed, clear the corresponding service scheduling information in the message pipeline.

[0063] The present invention also provides a distributed job service scheduling method, which is executed by a business terminal and includes:

[0064] Sending service scheduling information to a distributed server jointly with other business terminals, so that the distributed server arranges the service scheduling information into a message pipeline and performs service scheduling on each business terminal according to the message pipeline, where the service scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks.

[0065] As can be seen from the above technical solutions, the distributed job service scheduling method provided by the present invention first obtains the service scheduling information of each business terminal, where the business scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks; then arranges the business scheduling information into a message pipeline; and finally performs service scheduling on each business terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes business functions with tasks as the carrier components and completes the dependency relationships in a pipeline manner, solving the problem of job execution with front-back dependency relationships in traditional projects. It reduces the coupling of data synchronization collection and function integration and disassembly between systems and ensures data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified without redeploying the business-side application.

[0066] The following gives a specific example. For example, Figures 1 to 3 as shown, this service system is divided into the following modules:

[0067] ① S100 Message Notification Module, which provides functions such as message notification, load balancing, and routing forwarding for the service system.

[0068] ② S101 Front-End Interface Module, which displays the health monitoring information, job execution information, and visual job configuration, task orchestration rule interface, and pipeline configuration interface of the service system.

[0069] ③ S102 Job Service Module, which stores business configuration information, generates and manages task orchestration rules, and monitors the smooth progress of the task pipeline through the configuration information of the front-end business side.

[0070] ④ S103 Task Pipeline Module, through the message-driven mode, each business access party listens to the corresponding events, actively obtains messages, and publishes its own messages to ensure the orderly execution of business functions. It realizes the integration of cross-system business functions and the decoupling of data synchronization and collection between systems.

[0071] ⑤ S104 Transaction Consistency Control Module, which controls the data consistency of each business system access party and realizes the guarantee of cross-system data consistency.

[0072] ⑥ S105 Monitoring Module, which monitors and collects the execution information of jobs and the health information of the system for display by the front-end module.

[0073] 1. First, the business access party configures the relevant information of the access party application and the configuration information of the scheduled job through the S101 front-end interface, and draws the coordination and dependency relationship of multitasks between jobs in the form of a flowchart. According to the configuration information, the scheduling rule automatically generates a flowchart. At the same time, the flowchart can be modified or drawn to generate the configuration information and scheduling rules, and the configuration information is fed back to the job module for persistence. The addition, deletion, and modification of service scheduling can be adjusted through the page visualization method. The job service module can re-plan the scheduling rule when it reads the modification of the configuration information to achieve the effect of real-time online effectiveness. Abandon the traditional project in which the scheduling information is packaged and deployed together with the application in the form of a configuration file, and any adjustment of the scheduling information requires redeployment of the application.

[0074] 2. The job service center, as the core module of the scheduling system, manages and executes scheduling jobs and provides the following functions:

[0075] (1) Job service module function: manages the configuration information, scheduling rules of the access party, generates a message control series, and generates and monitors the task pipeline. Through the xml data format, configure and manage the front-back dependency relationship and execution conditions of each task on the task pipeline and persist them, control and monitor the task execution process. One job service manages and monitors one task pipeline.

[0076] (2) Task pipeline module function: coordinates the execution of each task through the message notification mechanism (asynchronous) to complete the pipeline function, as Figure 3 shown. A task is the carrier for the functional componentization of the business access party in this service system. It can be understood that a task is a business functional component, which is the smallest granularity unit. It contains all the configuration information of the business function in the system, such as: the data structure, format, and type of the input and output parameters, the time and method of scheduled scheduling, etc. A task flow line is an orderly combination of multiple system business functions working together. Tasks are assembled and disassembled in a pipeline manner through componentization to reduce the coupling of each business party due to the dependencies of business functions and adapt to the expansion and changes of business rules. In the traditional project, each business party couples with third-party applications through interface calls. Any modification of the interface requires synchronous shutdown and deployment. As Figure 3 shown, if a certain function x of business party X needs the cooperation of functions of other business parties to complete, it can be achieved by scheduling jobs to combine the functions of business parties A, B, and C without separate development, thus achieving function expansion. If one day the business rule of function x changes and function b is no longer needed, and a new function d needs to be added, then function b can be removed and function d can be added through the page pipeline configuration. The expansion and modification of function x can be achieved through the re-effective pipeline, and applications X, A, B, and C do not need to be shut down for deployment. Only the configuration of application D needs to be added. This improves the flexibility and scalability of the business system.

[0077] (3) The transaction control module, relying on the monitoring information of the job service module, controls and manages the entire life cycle of the pipeline transaction. The transaction submission is divided into two-phase submission. The steps are as follows:

[0078] Obtain the global transaction lock of the scheduled job;

[0079] The current business party submits its local transaction according to its own execution situation and records the rollback log;

[0080] Obtain the execution result of the overall task of the pipeline. If successful, notify each business party of the pipeline to clean up the rollback log by itself; if failed, notify each business party of the pipeline to perform compensation operations through the rollback log to complete data rollback. In this way, the final result consistency of the data of each task on the pipeline is achieved;

[0081] Complete the transaction and release the global lock.

[0082] (4) Each business access party communicates with the job service module through the message notification module. The communication form adopts the RESTful interface style, and the data exchange format is JSON, as Figure 1 shown.

[0083] 3. The monitoring module generates reports for the real-time collection of the health information and job execution information of the system, and feeds back the information to the front-end module to form a visual interface for users to view and analyze. The behavior of the monitoring module does not depend on the interaction process between the business party and the service party and runs separately as a background process.

[0084] 4. In the architecture design of the service center, the load balancing module, the job service module, and the log monitoring module are jointly registered in the registration center to achieve service discovery and governance. The high availability of the service is achieved through the non-perception of the application server. In terms of data storage, the high availability of the data service is achieved through the form of two primary hot spares, one primary and three secondaries, and read-write separation.

[0085] It can be seen that the present invention overcomes the inflexibility of traditional project job configuration and the non-monitorability of the process. It can quickly respond to changes in business requirements and visually monitor the job situation. Its advantages are as follows:

[0086] 1. For the modification and addition of job scheduling, there is no need to modify the business party application and redeploy it, and it can take effect online.

[0087] 2. For the extension and change of the business rules of the business party, only the pipeline needs to be modified, and there is no need to redeploy the business party application.

[0088] 3. Componentize business functions with tasks as carriers, complete dependency relationships in a pipeline manner, and solve the problem of job execution with sequential dependencies in traditional projects. Reduce the coupling of data synchronization collection and functional integration and disassembly between systems, and ensure data consistency. Provide scalability for changes in business rules and upgrades of business architectures in business systems.

[0089] 4. Decouple the business side and the service side so that the business side can focus more on the implementation of business functions.

[0090] 5. Execution monitoring reports and metric graphs of jobs help the business side to more comprehensively understand the execution status of scheduled jobs and promote the optimization of business functions.

[0091] The present invention further provides a distributed server, including:

[0092] An acquisition module, which acquires business service scheduling information of each business terminal, and the business scheduling information includes tasks corresponding to each business terminal and the dependency relationships between the tasks;

[0093] An orchestration module, which orchestrates the business scheduling information into a message pipeline;

[0094] A service scheduling module, which performs service scheduling for each business terminal according to the message pipeline.

[0095] In a preferred embodiment, it further includes:

[0096] A establishment module, which establishes the message pipeline.

[0097] In a preferred embodiment, the service scheduling module includes:

[0098] A service scheduling unit, which sequentially schedules the corresponding services in the system according to the sorting of each task in the message pipeline;

[0099] A task execution status information acquisition unit, which acquires the task execution status information of each business terminal;

[0100] A cleaning unit, which, if the task corresponding to the currently scheduled service is completed, cleans the corresponding business scheduling information in the message pipeline.

[0101] The present invention further provides a business terminal, specifically for:

[0102] Sending business service scheduling information to the distributed server together with other business terminals, so that the distributed server orchestrates the business scheduling information into a message pipeline and performs service scheduling for each business terminal according to the message pipeline, where the business scheduling information includes tasks corresponding to each business terminal and the dependency relationships between the tasks.

[0103] The distributed server and service terminal provided by the present invention first obtain the service scheduling information of each service terminal, where the service scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks; then arrange the service scheduling information into a message pipeline; and finally perform service scheduling on each service terminal according to the message pipeline. It can be seen that through the setting of the message pipeline, the present invention componentizes business functions with tasks as carriers, and completes the dependency relationships in a pipeline manner, solving the problem of job execution with front-back dependency relationships in traditional projects. It reduces the coupling of data synchronization acquisition and function integration and disassembly between systems, and ensures data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified without redeploying the business-side application.

[0104] At the hardware level, the present invention provides an embodiment of an electronic device for implementing all or part of the content in the distributed job service scheduling method. The electronic device specifically includes the following:

[0105] A processor, a memory, a communication interface, and a bus; wherein, the processor, the memory, and the communication interface complete communication with each other through the bus; the communication interface is used to implement information transmission between related devices such as a distributed server, a device, a distributed message middleware device, various databases, and user terminals. The electronic device can be a desktop computer, a tablet computer, a mobile terminal, etc., and this embodiment is not limited thereto. In this embodiment, the electronic device can refer to the embodiment of the distributed job service scheduling method in the embodiment, and its content is incorporated herein, and the repeated parts will not be described again.

[0106] Figure 5 It is a schematic block diagram of the system composition of the electronic device 9600 according to an embodiment of the present invention. As Figure 5 shown, the electronic device 9600 may include a central processing unit 9100 and a memory 9140; the memory 9140 is coupled to the central processing unit 9100. It should be noted that this Figure 5 is exemplary; other types of structures can also be used to supplement or replace this structure to implement telecommunication functions or other functions.

[0107] In one embodiment, the distributed job service scheduling function can be integrated into the central processing unit 9100. For example, the central processing unit 9100 can be configured to perform the following controls:

[0108] S101: Obtain the service scheduling information of each service terminal.

[0109] Specifically, the service scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks.

[0110] S102: Arrange the service scheduling information into a message pipeline;

[0111] S103: Perform service scheduling for each service terminal according to the message pipeline.

[0112] As can be seen from the above description, the electronic device provided by the embodiment of the present invention first obtains the service scheduling information of each service terminal, where the service scheduling information includes the tasks corresponding to each service terminal and the dependency relationships between the tasks; then arranges the service scheduling information into a message pipeline; and finally performs service scheduling for each service terminal according to the message pipeline. It can be seen that the present invention uses the setting of the message pipeline to componentize service functions with tasks as carriers and complete the dependency relationships in the form of a pipeline, solving the problem of job execution with front-to-back dependency relationships in traditional projects. It reduces the coupling of data synchronization collection and function integration and disassembly between systems, ensuring data consistency. It provides scalability for changes in business rules and upgrades of the business architecture of the business system. For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified without redeploying the business-side application.

[0113] In another embodiment, the distributed job service scheduling device can be separately configured from the central processing unit 9100. For example, the distributed job service scheduling can be configured as a chip connected to the central processing unit 9100 to implement the distributed job service scheduling function through the control of the central processing unit.

[0114] As Figure 5 shown, the electronic device 9600 may further include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It should be noted that the electronic device 9600 does not necessarily have to include Figure 5 all the components shown; in addition, the electronic device 9600 may further include Figure 5 components not shown in

[0115] As Figure 5 shown, the central processing unit 9100 is sometimes also referred to as a controller or an operation control unit, and may include a microprocessor or other processor devices and / or logic devices. The central processing unit 9100 receives inputs and controls the operations of the various components of the electronic device 9600.

[0116] Among them, the memory 9140 can be, for example, one or more of a buffer, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory, or other suitable devices. It can store the above information related to failures, and can also store programs for executing relevant information. And the central processing unit 9100 can execute the program stored in the memory 9140 to achieve information storage or processing, etc.

[0117] The input unit 9120 provides input to the central processing unit 9100. The input unit 9120 is, for example, a key or a touch input device. The power supply 9170 is used to supply power to the electronic device 9600. The display 9160 is used to display display objects such as images and texts. The display can be, for example, an LCD display, but is not limited thereto.

[0118] The memory 9140 can be a solid-state memory. For example, it can be a read-only memory (ROM), a random access memory (RAM), a SIM card, etc. It can also be a memory that stores information even when powered off, can be selectively erased, and has more data. An example of this memory is sometimes called an EPROM, etc. The memory 9140 can also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes called a buffer). The memory 9140 can include an application / function storage unit 9142, which is used to store application programs and function programs or the processes for operating the electronic device 9600 through the central processing unit 9100.

[0119] The memory 9140 can also include a distributed job service scheduling unit 9143, which is used to store data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 9144 of the memory 9140 can include various drivers for the communication function of the electronic device and / or for executing other functions of the electronic device (such as a messaging application, an address book application, etc.).

[0120] The communication module 9110 is a transmitter / receiver 9110 that transmits and receives signals via the antenna 9111. The communication module (transmitter / receiver) 9110 is coupled to the central processing unit 9100 to provide input signals and receive output signals, which can be the same as in the case of a conventional mobile communication terminal.

[0121] Based on different communication technologies, in the same electronic device, multiple communication modules 9110 can be provided, such as a cellular network module, a Bluetooth module, and / or a wireless local area network module, etc. The communication module (transmitter / receiver) 9110 is also coupled to a speaker 9131 and a microphone 9132 via an audio processor 9130 to provide an audio output via the speaker 9131 and receive an audio input from the microphone 9132, so as to implement normal telecommunication functions. The audio processor 9130 may include any suitable buffers, decoders, amplifiers, etc. In addition, the audio processor 9130 is also coupled to a central processor 9100, so that recording can be performed on the local machine through the microphone 9132, and the sound stored on the local machine can be played through the speaker 9131.

[0122] An embodiment of the present invention also provides a computer-readable storage medium capable of implementing all steps in the distributed job service scheduling method where the execution subject in the above embodiment can be a distributed server. A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, all steps of the distributed job service scheduling method where the execution subject in the above embodiment is a distributed server or a service terminal are implemented.

[0123] As can be seen from the above description, for the computer-readable storage medium provided by the embodiment of the present invention, the present invention determines whether the current SDK version is the latest version through the SDK version number. When the SDK is updated, only an incremental upgrade package is required, and then in combination with the way of being loaded by a class loader, and further based on bytecode modification to implement version hot update. It can be achieved that through hot upgrading of the SDK, the various obstacles to promoting the cooperation of service terminals to upgrade the SDK can be alleviated to a great extent. It can be achieved that in the case of the application being unaware, the version can be quickly iterated through hot update, solving the pain point of difficult SDK upgrade.

[0124] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a device, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0125] The present invention is described with reference to the flowcharts and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing device produce a means for implementing the functions specified in the Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.

[0126] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction means that implements the functions specified in the Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.

[0127] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in the Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.

[0128] Specific embodiments are used in the present invention to elaborate on the principles and implementation manners of the present invention. The description of the above embodiments is only for helping to understand the method and its core idea of the present invention; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation to the present invention.

Claims

1. A distributed job service scheduling method, characterized in that, The method is executed by a distributed server and includes: Obtaining the service scheduling information of each business terminal, where the business scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks; A task is the carrier for functional componentization of the business access party. A task is a business functional component, which is the smallest granularity unit and contains all the configuration information of the business function, including the data structure, format, and type of the input and output parameters, as well as the time and method of scheduled scheduling; Orchestrating the business scheduling information into a message pipeline; For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified without redeploying the business-side application; The message pipeline is an ordered combination jointly completed by multiple business functions; Tasks are assembled and disassembled in a pipeline manner through componentization to reduce the coupling of each business party due to business function dependencies and adapt to the extension and change of business rules; Performing service scheduling for each business terminal according to the message pipeline; The performing service scheduling for each business terminal according to the message pipeline includes: Sequentially scheduling the corresponding services in the system according to the sorting of the tasks in the message pipeline; Obtaining the task execution status information of each business terminal; If the task corresponding to the currently scheduled service is completed, clearing the corresponding business scheduling information in the message pipeline, specifically including: Obtaining the global transaction lock of the scheduling job; The current business party submits its local transaction according to its own execution status and records the rollback log; Obtaining the execution result of the overall tasks of the pipeline; If successful, notify each business party of the pipeline to clear the rollback log by itself; If failed, notify each business party of the pipeline to perform compensation operations through the rollback log to complete data rollback; In this way, the final result consistency of the data of each task on the pipeline is achieved; Completing the transaction and releasing the global lock.

2. The distributed job service scheduling method according to claim 1, wherein It further includes: Establishing the message pipeline.

3. A distributed server, characterized in that, Including: An acquisition module that acquires the service scheduling information of each business terminal, where the business scheduling information includes the tasks corresponding to each business terminal and the dependency relationships between the tasks; A task is the carrier for functional componentization of the business access party. A task is a business functional component, which is the smallest granularity unit and contains all the configuration information of the business function, including the data structure, format, and type of the input and output parameters, as well as the time and method of scheduled scheduling; An orchestration module that orchestrates the business scheduling information into a message pipeline; For the modification and addition of job scheduling, it can take effect online without modifying the business-side application and redeploying. For the extension and change of the business rules of the business side, only the pipeline needs to be modified without redeploying the business-side application; The message pipeline is an ordered combination jointly completed by multiple business functions; Tasks are assembled and disassembled in a pipeline manner through componentization to reduce the coupling of each business party due to business function dependencies and adapt to the extension and change of business rules; A service scheduling module that performs service scheduling for each business terminal according to the message pipeline; The service scheduling module includes: A service scheduling unit that schedules the corresponding services in the system one by one according to the sorting of each task in the message pipeline; A task execution status information acquisition unit that acquires the task execution status information of each service terminal; A cleaning unit that, if the task corresponding to the currently scheduled service is completed, cleans the corresponding service scheduling information in the message pipeline, specifically including: Obtaining the global transaction lock of the scheduling job; The current business party submits its local transaction according to its own execution status and records the rollback log; Obtaining the execution result of the overall task of the pipeline; if successful, notifying each business party in the pipeline to clean the rollback log by itself; if failed, notifying each business party in the pipeline to perform compensation operations by itself through the rollback log to complete data rollback; in this way, the final result consistency of the data of each task on the pipeline is achieved; Completing the transaction and releasing the global lock.

4. The distributed server according to claim 3, wherein It further includes: A building module that builds the message pipeline.

5. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the distributed job service scheduling method described in claim 1 or 2.

6. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the distributed job service scheduling method described in claim 1 or 2.

Citation Information

Patent Citations

  • Distributed job scheduling method and device

    CN111736969A