Service arranging and scheduling method based on event driving
Through the event-driven business orchestration scheduling method, a unified business orchestration framework and an event-driven business process engine are built, which solves the retryable, orchestration and robustness problems caused by the complexity of business processes in the existing technology, and realizes efficient and easy to monitor and maintain business processes.
Patent Information
- Application Number
- CN202510092512.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-05-16
AI Technical Summary
When handling complex business interaction processes, it is difficult to achieve retry, orchestration and robustness of the business, resulting in difficulty in monitoring and maintenance.
Adopt an event-driven business orchestration scheduling method to build a unified business orchestration framework, use an event-driven business process engine, introduce a unified retry mechanism, and establish a monitoring platform and business orchestration scheduling algorithm.
It realizes efficient and easy monitoring and maintenance of business processes, improves business robustness and reliability, and simplifies retryable and orchestable processing logic.
Smart Images

Figure CN120013163A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a service orchestration and scheduling method, in particular to an event-driven service orchestration and scheduling method, and belongs to the technical field of service orchestration and scheduling. Background Art
[0002] Business Process Orchestration and Scheduling (BPO&S) refers to the orderly organization and optimization of an enterprise's business processes, scheduling and coordinating various tasks in the process in an automated and intelligent manner to improve business efficiency, reduce costs, and enhance service quality. Business process orchestration and scheduling usually includes process design, process automation, task scheduling, resource management, performance monitoring and optimization, etc.
[0003] At present, with the continuous growth of business needs of enterprises, business interaction processes are becoming more and more complex, and higher requirements are placed on the retryability, choreography and robustness of business when processing business calls. In the current business, the retryability and choreography are very complicated, and there are many implementation methods, which is not conducive to monitoring and maintenance. There is no unified processing and monitoring method, which reduces the robustness of the business. Therefore, a business choreography scheduling method based on event-driven is proposed. Summary of the invention
[0004] In view of this, the present invention provides a service orchestration and scheduling method based on event-driven to solve or alleviate the technical problems existing in the prior art, and at least provide a beneficial choice.
[0005] The technical solution of the embodiment of the present invention is implemented as follows: a service scheduling method based on event-driven includes the following steps:
[0006] Build a unified business orchestration framework, use a unified process definition language to describe business processes, and define process metadata standards;
[0007] Adding a general process engine with a plug-in mechanism to the business orchestration framework;
[0008] Build a real-time event processing architecture with events as the core and add an event-driven business process engine;
[0009] Building a monitoring platform based on the real-time event processing architecture to monitor event flows and event processing in real time and to visualize them;
[0010] Introduce a unified retry mechanism, define retry strategies and retry management;
[0011] Add business orchestration and scheduling algorithms, and establish algorithm optimization models;
[0012] Standardize API interfaces and encapsulate retryable and programmable processing logic into services;
[0013] Establish a feedback mechanism to collect feedback from users and business teams, and regularly analyze process execution data;
[0014] The real-time event processing architecture is integrated and deployed in the business orchestration framework using the plug-in mechanism, and the business orchestration framework is integrated and deployed in the business system so that the business can be orchestrated and scheduled in an event-driven manner.
[0015] Further preferably, the process definition language is BPMN2.0, UML2.0 or DMN1.1;
[0016] The process metadata standard includes process ID, name, version, input and output.
[0017] Further preferably, the general process engine supports parsing, execution and monitoring of process definitions, and supports a plug-in mechanism for extending the functionality of the process engine.
[0018] Further preferably, the real-time event processing architecture event priority principle, event modeling and standardization, event stream processing and responsive programming model;
[0019] The event priority principle is to ensure that the triggering, execution and state change of all business processes are based on the occurrence of events, and to ensure that the start of business processes is directly triggered by external events rather than through polling or scheduled tasks;
[0020] The event modeling and standardization is to define a clear model for each business event and adopt a unified event format and naming convention to ensure the clarity and consistency of the event;
[0021] Wherein, the model includes event type, attributes and data structure;
[0022] The event stream processing is to use stream processing technology to process real-time event streams and reduce latency;
[0023] The stream processing technology is Apache Storm, Spark Streaming or Apache Apex;
[0024] The responsive programming model uses the responsive programming model to build an event-driven API and adopts an asynchronous non-blocking processing method to increase the throughput and scalability of the real-time event processing architecture.
[0025] Further preferably, the business process engine supports dynamic process orchestration and event status management;
[0026] Among them, dynamic process orchestration uses dynamic routing to allow the process to dynamically select the next processing step based on the event content and support conditional branches based on event data in the process definition;
[0027] Event state management supports state storage and state transition;
[0028] Among them, state storage maintains state information for each event and process instance, and supports state persistence and recovery;
[0029] State transition is the change of process instance state triggered by the occurrence of events.
[0030] Further preferably, the monitoring platform includes a visual monitoring window, log aggregation, instance tracking and abnormal alarm;
[0031] Among them, the visual monitoring window is used to display the operating status and key indicators of all business processes;
[0032] Log aggregation is the centralized collection of logs from all process engines;
[0033] Instance tracking provides tracking functions for each process instance and supports viewing the instance's execution path, state changes, and time-consuming information;
[0034] The abnormal alarm is to establish an alarm mechanism for the monitoring platform, and send abnormal information notification in time when problems occur in process execution.
[0035] Further preferably, the definition of the retry strategy includes configuration of the retry strategy and retry triggering;
[0036] Among them, the configuration of the retry strategy includes the number of retries, interval time and backoff strategy;
[0037] Retry triggering is when an activity fails during process execution, a retry is automatically triggered according to the strategy;
[0038] The retry management includes retry record and retry status management;
[0039] Among them, the retry record records the detailed information of each retry;
[0040] Retry status management is to manage the retry status to prevent infinite retries;
[0041] The detailed information includes the retry reason, time, and retry result.
[0042] Further preferably, the business orchestration scheduling algorithm dynamically adjusts the scheduling of process instances according to load and business priority, and performs load balancing in the case of multi-instance deployment;
[0043] The algorithm optimization model is a machine learning algorithm that predicts process execution time and potential risk points to optimize scheduling strategies, and combines business rules to make process decisions and scheduling.
[0044] Further preferably, the standardization is to define a unified API interface specification to facilitate data integration between different business systems.
[0045] Further preferably, the feedback mechanism includes user feedback, data analysis and CI / CD;
[0046] Among them, user feedback is used to collect feedback from users and business teams and optimize process design;
[0047] Data analytics is used to regularly analyze process execution data to identify bottlenecks and areas for improvement;
[0048] CI / CD uses continuous integration and continuous deployment processes to quickly iterate and update business processes.
[0049] Since the embodiment of the present invention adopts the above technical solution, it has the following advantages: the present invention establishes a unified, efficient, easy-to-monitor and maintain business orchestration framework to drive the business orchestration scheduling process through events, and provides endpoint retry and business flow monitoring capabilities, thereby simplifying the difficulty of implementing monitorable and retryable services and increasing the robustness of the services.
[0050] The above summary is for illustrative purposes only and is not limiting in any way. In addition to the illustrative aspects, embodiments and features described above, further aspects, embodiments and features of the present invention will be readily apparent by reference to the accompanying drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be 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.
[0052] Figure 1 It is a process step diagram of the present invention. DETAILED DESCRIPTION
[0053] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will appreciate, the described embodiments may be modified in various ways without departing from the spirit or scope of the present invention. Therefore, the drawings and descriptions are considered to be exemplary and non-restrictive in nature.
[0054] It should be noted that the terms "first", "second", "symmetrical", "array", etc. are only used to distinguish between description and position description purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the definition of "first", "symmetrical", etc. can explicitly or implicitly include one or more of these features; similarly, when the number of certain features is not limited in the form of words such as "two" or "three", it should be noted that this feature also explicitly or implicitly includes one or more feature quantities.
[0055] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0056] Embodiment 1
[0057] like Figure 1 The embodiment of the present invention provides a method for scheduling and arranging services based on event-driven operation, comprising the following steps:
[0058] S1. Build a unified business orchestration framework, use a unified process definition language to describe business processes, and define process metadata standards;
[0059] The process definition language is BPMN2.0;
[0060] Process metadata standards include process ID, name, version, inputs, and outputs;
[0061] BPMN 2.0 (Business Process Model and Notation 2.0) is a graphical standard language for describing business processes. It was developed by the business process management (BPM) community to provide a unified method and format for business process modeling to facilitate cross-organizational and cross-industry communication and collaboration. BPMN 2.0 is an upgraded version of BPMN 1.2, introducing new elements and icons to enhance the expressiveness and readability of process models:
[0062] BPMN 2.0 uses a graphical approach to represent business processes, including various process elements such as tasks, gateways, events, etc.
[0063] BPMN 2.0 provides a rich set of elements and icons that can be used to express various activities, decisions, events, tasks, etc. in a process;
[0064] BPMN 2.0 allows you to define the start, end, and intermediate activities of a process, including sequential flow, parallel flow, and conditional flow.
[0065] BPMN 2.0 supports embedding business rules into process models so that these rules can be automatically executed when the process is executed;
[0066] BPMN 2.0 provides optimization for process performance, such as support for parallel flows and branch flows, which can improve the execution efficiency of the process;
[0067] BPMN 2.0 supports combining process documentation with process models, making process descriptions more complete and easier to understand;
[0068] BPMN 2.0's graphical representation and XML definition make it cross-platform and support a variety of modeling tools and execution engines;
[0069] BPMN 2.0 is widely used in enterprises for business process analysis and design, as well as configuration of process execution engines. BPMN 2.0 can express business processes more clearly, improve process visualization, and thus promote process optimization and automation.
[0070] S2. Add a general process engine with a plug-in mechanism to the business orchestration framework;
[0071] The general process engine supports the parsing, execution and monitoring of process definitions, and supports a plug-in mechanism to extend the functionality of the process engine;
[0072] The plug-in mechanism is used to integrate and deploy the real-time event processing architecture and business orchestration framework.
[0073] S3, build a real-time event processing architecture with events as the core, and add an event-driven business process engine;
[0074] Real-time event processing architecture event priority principle, event modeling and standardization, event stream processing and responsive programming model;
[0075] The event-first principle ensures that the triggering, execution, and state changes of all business processes are based on the occurrence of events, and that the start of business processes is directly triggered by external events rather than through polling or scheduled tasks.
[0076] By utilizing the event-first principle, the system can handle business processes more flexibly, efficiently and stably, thereby improving overall business efficiency and user experience.
[0077] Event modeling and standardization is to define a clear model for each business event and adopt a unified event format and naming convention to ensure the clarity and consistency of the event;
[0078] Among them, the model includes event types, attributes and data structures;
[0079] By adopting a unified event format and naming convention to define a clear model for each business event, a more efficient, flexible and easy-to-maintain business environment can be established, the complexity of the integration and expansion process can be reduced, and the overall business performance can be improved.
[0080] Event stream processing is the use of stream processing technology to process real-time event streams and reduce latency;
[0081] Among them, the stream processing technology is Apache Storm;
[0082] Apache Storm is an open source distributed real-time big data processing system that can be used to process large amounts of real-time data streams. Storm's advantages lie in its scalability, fault tolerance, and ease of use, making it a powerful tool for processing real-time event streams:
[0083] Storm can process event streams in real time, allowing the system to respond immediately when events occur;
[0084] Storm can be scaled horizontally to process more data by adding worker nodes;
[0085] Storm provides a concise Java API and Clojure DSL, making it easy for developers to get started;
[0086] Storm provides detailed monitoring and logging functions, making it easier for users to understand system status and debug problems;
[0087] Storm provides a variety of components, including streaming computing, batch computing, and querying, to meet different needs.
[0088] Storm is event-driven and can process various types of events, including sensor data, website clicks, log files, etc.
[0089] Apache Storm is suitable for application scenarios that require real-time processing of large amounts of data streams, such as real-time monitoring, real-time recommendation, real-time analysis, etc. With Storm, organizations can build flexible, scalable, and reliable real-time data processing systems.
[0090] The responsive programming model uses the responsive programming model to build event-driven APIs and adopts asynchronous non-blocking processing methods to increase the throughput and scalability of the real-time event processing architecture.
[0091] The business process engine supports dynamic process orchestration and event status management;
[0092] Among them, dynamic process orchestration uses dynamic routing to allow the process to dynamically select the next processing step based on the event content and support conditional branches based on event data in the process definition;
[0093] By utilizing dynamic process orchestration, it provides a kind of flexibility to dynamically adjust the execution path of the process according to the actual events and data, thereby improving the adaptability and responsiveness of the process.
[0094] Event state management supports state storage and state transition;
[0095] Among them, state storage maintains state information for each event and process instance, and supports state persistence and recovery;
[0096] By utilizing state storage, a process instance can maintain its state when it encounters a system failure or takes a long time to process, and restore to its previous state when the failure is recovered or the process continues to execute.
[0097] State transition is triggered by the occurrence of events, which changes the state of the process instance;
[0098] State transitions are used to ensure that process instances can correctly transfer from one state to another based on events and business logic to achieve the expected business process.
[0099] S4. Build a monitoring platform based on the real-time event processing architecture to monitor event flows and event processing in real time and display them visually;
[0100] The monitoring platform includes a visual monitoring window, log aggregation, instance tracking, and abnormal alarms;
[0101] Among them, the visual monitoring window is used to display the operating status and key indicators of all business processes;
[0102] By displaying the operating status and key indicators of the business process, operators can clearly view the current status and history of the process, improve transparency and achieve data visualization.
[0103] Log aggregation is the centralized collection of logs from all process engines;
[0104] By centrally collecting logs from all process engines, we can use the log information to perform data analysis and identify bottlenecks and improvement points.
[0105] Instance tracking provides tracking functions for each process instance and supports viewing the instance's execution path, state changes, and time-consuming information;
[0106] By utilizing instance tracking, process execution can be better monitored in the future, so as to discover and solve problems in a timely manner and improve the efficiency and quality of process execution.
[0107] Abnormal alarm is to establish an alarm mechanism for the monitoring platform, and send abnormal information notification in time when there is a problem in the process execution;
[0108] By utilizing the alarm mechanism, we can effectively manage the risks in process execution, improve the stability and reliability of the system, and thus ensure business continuity and efficiency.
[0109] S5. Introduce a unified retry mechanism and define retry strategies and retry management;
[0110] Defining a retry strategy includes configuring the retry strategy and retry triggering;
[0111] Among them, the configuration of the retry strategy includes the number of retries, interval time and backoff strategy;
[0112] By setting the number of retries, interval time and backoff strategy, the robustness and reliability of the business can be effectively improved. The set number of retries can be used to prevent the business process from being in the retry state for a long time, causing system load. The interval time can be used to control a reasonable retry interval to avoid system overload caused by a large number of retry requests suddenly flooding into the system. The backoff strategy can gradually increase the retry interval to reduce continuous failures caused by retries, thereby avoiding a chain reaction of system performance. The service quality can also be ensured by giving up retries.
[0113] Retry triggering is when an activity fails during process execution, a retry is automatically triggered according to the strategy;
[0114] By automatically triggering retries, the number of times users need to manually retry is reduced, improving the user experience.
[0115] Retry management includes retry record and retry status management;
[0116] Among them, the retry record records the detailed information of each retry;
[0117] Retry status management is to manage the retry status to prevent infinite retries;
[0118] Detailed information includes retry reason, time, and retry result;
[0119] By recording the retry reason, time, and retry result, the retry strategy can be optimized based on the recorded data.
[0120] S6. Add a service scheduling algorithm and establish an algorithm optimization model;
[0121] The business orchestration scheduling algorithm dynamically adjusts the scheduling of process instances based on load and business priority, and performs load balancing in the case of multi-instance deployment;
[0122] The service orchestration and scheduling algorithm adopts a dynamic weight algorithm or a prediction algorithm;
[0123] The dynamic weight algorithm dynamically adjusts the weight according to the load and performance of the instance;
[0124] Prediction algorithms use historical data and machine learning algorithms to predict future load conditions and adjust scheduling accordingly;
[0125] By dynamically adjusting the scheduling of process instances based on load and business priority, and performing load balancing in the case of multi-instance deployment, the stability and efficiency of the system are ensured.
[0126] The algorithm optimization model is a machine learning algorithm that predicts process execution time and potential risk points to optimize scheduling strategies and combines business rules to make process decisions and schedule;
[0127] By utilizing the algorithm optimization model to extract features that affect process execution time from historical data, and identifying abnormal behaviors in process execution based on time features, potential risk points can be determined. Then, the model can be used to dynamically adjust the scheduling order and resource allocation of process instances based on the predicted execution time and identified risk points, thereby improving the scheduling efficiency and risk management level of business processes and thus improving overall business performance.
[0128] S7. Standardize the API interface and encapsulate the retryable and programmable processing logic into services;
[0129] Standardization is to define unified API interface specifications to facilitate data integration between different business systems;
[0130] By standardizing API interfaces and unifying API interface specifications, we can ensure seamless data integration and interoperability between different systems and services.
[0131] By encapsulating retryable and programmable processing logic into services, data can be exposed to upper-level applications using API interfaces.
[0132] S8. Establish a feedback mechanism to collect feedback from users and business teams, and regularly analyze process execution data;
[0133] Feedback mechanisms include user feedback, data analysis, and CI / CD;
[0134] Among them, user feedback is used to collect feedback from users and business teams and optimize process design;
[0135] Data analytics is used to regularly analyze process execution data to identify bottlenecks and areas for improvement;
[0136] CI / CD uses continuous integration and continuous deployment processes to quickly iterate and update business processes;
[0137] Collect operational opinions from users and business teams through user feedback so as to optimize process design based on the opinions;
[0138] By regularly analyzing process execution data, we can help enterprises identify current technical bottlenecks and find improvement points, thus providing direction for subsequent optimization and upgrading.
[0139] CI / CD is a software development practice that combines the processes of continuous integration (CI) and continuous deployment (CD). It aims to speed up software iteration, improve software quality and development efficiency through automated testing and deployment.
[0140] S9. Use the plug-in mechanism to integrate and deploy the real-time event processing architecture into the business orchestration framework, and integrate and deploy the business orchestration framework into the business system, so as to orchestrate and schedule the business in an event-driven manner;
[0141] After the deployment of the business orchestration framework is completed, business access is carried out through the business system, and business time is divided; then the business process is arranged according to the divided business, and the number of retries and alarm information are set; after the setting is completed, when the user completes the operation event in the business system, the operation event is captured through the real-time event processing architecture, and the event is placed in the message queue, and then the business process engine triggers the corresponding business orchestration scheduling process according to the event. At the same time, the operating status and key indicators of the business process are displayed through the monitoring platform, so that the process and events can be dynamically edited and retried according to the status information, thereby simplifying the difficulty of implementing monitorable and retryable businesses and improving the robustness of the business.
[0142] Embodiment 2
[0143] The embodiment of the present invention also provides a service scheduling method based on event-driven, comprising the following steps:
[0144] S1. Build a unified business orchestration framework, use a unified process definition language to describe business processes, and define process metadata standards;
[0145] The process definition language is UML2.0;
[0146] Process metadata standards include process ID, name, version, inputs, and outputs;
[0147] UML 2.0 (Unified Modeling Language 2.0) is an upgraded version of UML 1.x. It is a graphical language used in software engineering to visualize, construct, document and communicate software systems. UML 2.0 is maintained by OMG (Object Management Group). It is a de facto industrial standard and is widely used in all stages of software development and system design. The main goal of UML 2.0 is to provide a common modeling language to support various activities in the software development process, including requirements analysis, design, implementation, testing and maintenance. Through UML 2.0, development teams can communicate and collaborate better to improve the quality and efficiency of software development.
[0148] S2. Add a general process engine with a plug-in mechanism to the business orchestration framework;
[0149] The general process engine supports the parsing, execution and monitoring of process definitions, and supports a plug-in mechanism to extend the functionality of the process engine.
[0150] S3, build a real-time event processing architecture with events as the core, and add an event-driven business process engine;
[0151] Real-time event processing architecture event priority principle, event modeling and standardization, event stream processing and responsive programming model;
[0152] Among them, the event priority principle is to ensure that the triggering, execution and state changes of all business processes are based on the occurrence of events, and to ensure that the start of business processes is directly triggered by external events rather than through polling or scheduled tasks.
[0153] Event modeling and standardization is to define a clear model for each business event and adopt a unified event format and naming convention to ensure the clarity and consistency of the event;
[0154] Among them, the model includes event type, attributes and data structure.
[0155] Event stream processing is the use of stream processing technology to process real-time event streams and reduce latency;
[0156] Among them, the stream processing technology is Apache Apex;
[0157] Apache Apex is a streaming data processing platform that provides a programming model for building complex streaming applications. Apex is designed to support high-throughput, low-latency data processing while maintaining system scalability and fault tolerance. Apache Apex is suitable for application scenarios that require real-time processing of large amounts of data streams, such as real-time monitoring, real-time recommendations, and real-time analysis. With Apex, organizations can build flexible, scalable, and reliable real-time data processing systems.
[0158] The responsive programming model uses the responsive programming model to build event-driven APIs and adopts asynchronous non-blocking processing methods to increase the throughput and scalability of the real-time event processing architecture.
[0159] The business process engine supports dynamic process orchestration and event status management;
[0160] Among them, dynamic process orchestration utilizes dynamic routing, allowing the process to dynamically select the next processing step based on the event content, and supports conditional branches based on event data in the process definition.
[0161] Event state management supports state storage and state transition;
[0162] Among them, state storage maintains state information for each event and process instance, and supports state persistence and recovery.
[0163] State transition is the change of process instance state triggered by the occurrence of events.
[0164] S4. Build a monitoring platform based on the real-time event processing architecture to monitor event flows and event processing in real time and display them visually;
[0165] The monitoring platform includes a visual monitoring window, log aggregation, instance tracking, and abnormal alarms;
[0166] Among them, the visual monitoring window is used to display the operating status and key indicators of all business processes.
[0167] Log aggregation is the centralized collection of logs from all process engines.
[0168] Instance tracking provides tracking functions for each process instance and supports viewing the instance's execution path, state changes, and time-consuming information.
[0169] Abnormal alarm is to establish an alarm mechanism for the monitoring platform, and send abnormal information notification in time when problems occur in process execution.
[0170] S5. Introduce a unified retry mechanism and define retry strategies and retry management;
[0171] Defining a retry strategy includes configuring the retry strategy and retry triggering;
[0172] The configuration of the retry strategy includes the number of retries, interval time, and backoff strategy.
[0173] Retry triggering is when an activity fails during process execution and a retry is automatically triggered according to the strategy.
[0174] Retry management includes retry record and retry status management;
[0175] Among them, the retry record records the detailed information of each retry;
[0176] Retry status management is to manage the retry status to prevent infinite retries;
[0177] The detailed information includes the retry reason, time, and retry result.
[0178] S6. Add a service scheduling algorithm and establish an algorithm optimization model;
[0179] The business orchestration scheduling algorithm dynamically adjusts the scheduling of process instances based on load and business priority, and performs load balancing in the case of multi-instance deployment;
[0180] The service orchestration and scheduling algorithm adopts a dynamic weight algorithm or a prediction algorithm;
[0181] The dynamic weight algorithm dynamically adjusts the weight according to the load and performance of the instance;
[0182] Predictive algorithms use historical data and machine learning algorithms to predict future load conditions and adjust scheduling accordingly.
[0183] S7. Standardize the API interface and encapsulate the retryable and programmable processing logic into services;
[0184] Standardization is to define unified API interface specifications to facilitate data integration between different business systems.
[0185] S8. Establish a feedback mechanism to collect feedback from users and business teams, and regularly analyze process execution data;
[0186] Feedback mechanisms include user feedback, data analysis, and CI / CD;
[0187] Among them, user feedback is used to collect feedback from users and business teams and optimize process design;
[0188] Data analytics is used to regularly analyze process execution data to identify bottlenecks and areas for improvement;
[0189] CI / CD uses continuous integration and continuous deployment processes to quickly iterate and update business processes;
[0190] Collect operational opinions from users and business teams through user feedback so as to optimize process design based on the opinions;
[0191] By regularly analyzing process execution data, we can help enterprises identify current technical bottlenecks and find areas for improvement, thus providing direction for subsequent optimization and upgrades.
[0192] S9. Use the plug-in mechanism to integrate and deploy the real-time event processing architecture into the business orchestration framework, and integrate and deploy the business orchestration framework into the business system, so as to orchestrate and schedule the business in an event-driven manner.
[0193] Embodiment 3
[0194] The embodiment of the present invention also provides a service scheduling method based on event-driven, comprising the following steps:
[0195] S1. Build a unified business orchestration framework, use a unified process definition language to describe business processes, and define process metadata standards;
[0196] The process definition language is DMN1.1;
[0197] Process metadata standards include process ID, name, version, inputs, and outputs;
[0198] UML 2.0 (Unified Modeling Language 2.0) is an upgraded version of UML 1.x. It is a graphical language used in software engineering to visualize, construct, document and communicate software systems. UML 2.0 is maintained by OMG (Object Management Group). It is a de facto industrial standard and is widely used in all stages of software development and system design. The main goal of UML 2.0 is to provide a common modeling language to support various activities in the software development process, including requirements analysis, design, implementation, testing and maintenance. Through UML 2.0, development teams can communicate and collaborate better to improve the quality and efficiency of software development.
[0199] S2. Add a general process engine with a plug-in mechanism to the business orchestration framework;
[0200] The general process engine supports the parsing, execution and monitoring of process definitions, and supports a plug-in mechanism to extend the functionality of the process engine.
[0201] S3, build a real-time event processing architecture with events as the core, and add an event-driven business process engine;
[0202] Real-time event processing architecture event priority principle, event modeling and standardization, event stream processing and responsive programming model;
[0203] The event-first principle ensures that the triggering, execution, and state changes of all business processes are based on the occurrence of events, and that the start of business processes is directly triggered by external events rather than through polling or scheduled tasks.
[0204] Event modeling and standardization is to define a clear model for each business event and adopt a unified event format and naming convention to ensure the clarity and consistency of the event;
[0205] Among them, the model includes event types, attributes and data structures;
[0206] Event stream processing is the use of stream processing technology to process real-time event streams and reduce latency;
[0207] Among them, the stream processing technology is Spark Streaming;
[0208] Apache Spark Streaming is an extension of Apache Spark that allows users to process real-time data streams in a highly scalable and fault-tolerant manner. Spark Streaming integrates stream processing into Spark's core API, allowing users to easily use Spark's rich ecosystem and data processing capabilities to process real-time data; Spark Streaming is suitable for application scenarios that require real-time processing of large amounts of data streams, such as real-time monitoring, real-time recommendations, and real-time analysis. With Spark Streaming, organizations can build flexible, scalable, and reliable real-time data processing systems.
[0209] The responsive programming model uses the responsive programming model to build event-driven APIs and adopts asynchronous non-blocking processing methods to increase the throughput and scalability of the real-time event processing architecture.
[0210] The business process engine supports dynamic process orchestration and event status management;
[0211] Among them, dynamic process orchestration uses dynamic routing to allow the process to dynamically select the next processing step based on the event content and support conditional branches based on event data in the process definition;
[0212] Event state management supports state storage and state transition;
[0213] Among them, state storage maintains state information for each event and process instance, and supports state persistence and recovery;
[0214] State transition is the change of process instance state triggered by the occurrence of events.
[0215] S4. Build a monitoring platform based on the real-time event processing architecture to monitor event flows and event processing in real time and display them visually;
[0216] The monitoring platform includes a visual monitoring window, log aggregation, instance tracking, and abnormal alarms;
[0217] Log aggregation is the centralized collection of logs from all process engines;
[0218] Instance tracking provides tracking functions for each process instance and supports viewing the instance's execution path, state changes, and time-consuming information;
[0219] Abnormal alarm is to establish an alarm mechanism for the monitoring platform, and send abnormal information notification in time when problems occur in process execution.
[0220] S5. Introduce a unified retry mechanism and define retry strategies and retry management;
[0221] Defining a retry strategy includes configuring the retry strategy and retry triggering;
[0222] The configuration of the retry strategy includes the number of retries, interval time, and backoff strategy.
[0223] Retry triggering is when an activity fails during process execution, a retry is automatically triggered according to the strategy;
[0224] Retry management includes retry record and retry status management;
[0225] Among them, the retry record records the detailed information of each retry;
[0226] Retry status management is to manage the retry status to prevent infinite retries;
[0227] The detailed information includes the retry reason, time, and retry result.
[0228] S6. Add a service scheduling algorithm and establish an algorithm optimization model;
[0229] The business orchestration scheduling algorithm dynamically adjusts the scheduling of process instances based on load and business priority, and performs load balancing in the case of multi-instance deployment;
[0230] The service orchestration and scheduling algorithm adopts a dynamic weight algorithm or a prediction algorithm;
[0231] The dynamic weight algorithm dynamically adjusts the weight according to the load and performance of the instance;
[0232] Prediction algorithms use historical data and machine learning algorithms to predict future load conditions and adjust scheduling accordingly;
[0233] The algorithm optimization model is a machine learning algorithm that predicts process execution time and potential risk points to optimize scheduling strategies, and combines business rules to make process decisions and scheduling.
[0234] S7. Standardize the API interface and encapsulate the retryable and programmable processing logic into services;
[0235] Standardization is to define unified API interface specifications to facilitate data integration between different business systems.
[0236] S8. Establish a feedback mechanism to collect feedback from users and business teams, and regularly analyze process execution data;
[0237] Feedback mechanisms include user feedback, data analysis, and CI / CD;
[0238] Among them, user feedback is used to collect feedback from users and business teams and optimize process design;
[0239] Data analytics is used to regularly analyze process execution data to identify bottlenecks and areas for improvement;
[0240] CI / CD uses continuous integration and continuous deployment processes to quickly iterate and update business processes.
[0241] S9. Use the plug-in mechanism to integrate and deploy the real-time event processing architecture into the business orchestration framework, and integrate and deploy the business orchestration framework into the business system, so as to orchestrate and schedule the business in an event-driven manner.
[0242] The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of various changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A service scheduling method based on event-driven, characterized in that: The following steps are involved: Build a unified business orchestration framework, use a unified process definition language to describe business processes, and define process metadata standards; Adding a general process engine with a plug-in mechanism to the business orchestration framework; Build a real-time event processing architecture with events as the core and add an event-driven business process engine; Building a monitoring platform based on the real-time event processing architecture to monitor event flows and event processing in real time and to visualize them; Introduce a unified retry mechanism, define retry strategies and retry management; Add business orchestration and scheduling algorithms, and establish algorithm optimization models; Standardize API interfaces and encapsulate retryable and programmable processing logic into services; Establish a feedback mechanism to collect feedback from users and business teams, and regularly analyze process execution data; The real-time event processing architecture is integrated and deployed in the business orchestration framework using the plug-in mechanism, and the business orchestration framework is integrated and deployed in the business system, so that the business can be orchestrated and scheduled in an event-driven manner.
2. The event-driven service scheduling method according to claim 1, characterized in that: The process definition language is BPMN2.0, UML2.0 or DMN1.1; The process metadata standard includes process ID, name, version, input and output.
3. The event-driven service scheduling method according to claim 2, characterized in that: The general process engine supports parsing, execution and monitoring of process definitions, and supports a plug-in mechanism for extending the functionality of the process engine.
4. The event-driven service scheduling method according to claim 1, characterized in that: The real-time event processing architecture event priority principle, event modeling and standardization, event stream processing and responsive programming model; The event priority principle is to ensure that the triggering, execution and state change of all business processes are based on the occurrence of events, and to ensure that the start of business processes is directly triggered by external events rather than through polling or scheduled tasks; The event modeling and standardization is to define a clear model for each business event and adopt a unified event format and naming convention to ensure the clarity and consistency of the event; Wherein, the model includes event type, attributes and data structure; The event stream processing is to use stream processing technology to process real-time event streams and reduce latency; The stream processing technology is Apache Storm, Spark Streaming or Apache Apex; The responsive programming model uses the responsive programming model to build an event-driven API and adopts an asynchronous non-blocking processing method to increase the throughput and scalability of the real-time event processing architecture.
5. The event-driven service scheduling method according to claim 4 is characterized in that: The business process engine supports dynamic process orchestration and event status management; Among them, dynamic process orchestration uses dynamic routing to allow the process to dynamically select the next processing step based on the event content and support conditional branches based on event data in the process definition; Event state management supports state storage and state transition; Among them, state storage maintains state information for each event and process instance, and supports state persistence and recovery; State transition is the change of process instance state triggered by the occurrence of events.
6. The event-driven service scheduling method according to claim 5, characterized in that: The monitoring platform includes a visual monitoring window, log aggregation, instance tracking, and abnormal alarms; Among them, the visual monitoring window is used to display the operating status and key indicators of all business processes; Log aggregation is the centralized collection of logs from all process engines; Instance tracking provides tracking functions for each process instance and supports viewing the instance's execution path, state changes, and time-consuming information; The abnormal alarm is to establish an alarm mechanism for the monitoring platform, and send abnormal information notification in time when problems occur in process execution.
7. The event-driven service scheduling method according to claim 1, characterized in that: Defining the retry strategy includes configuring the retry strategy and retry triggering; Among them, the configuration of the retry strategy includes the number of retries, interval time and backoff strategy; Retry triggering is when an activity fails during process execution, a retry is automatically triggered according to the strategy; The retry management includes retry record and retry status management; Among them, the retry record records the detailed information of each retry; Retry status management is to manage the retry status to prevent infinite retries; The detailed information includes the retry reason, time, and retry result.
8. The event-driven service scheduling method according to claim 1, characterized in that: The business orchestration scheduling algorithm dynamically adjusts the scheduling of process instances according to load and business priority, and performs load balancing in the case of multi-instance deployment; The algorithm optimization model is a machine learning algorithm that predicts process execution time and potential risk points to optimize scheduling strategies, and combines business rules to make process decisions and scheduling.
9. The event-driven service scheduling method according to claim 1, characterized in that: The standardization is to define a unified API interface specification to facilitate data integration between different business systems.
10. The event-driven service scheduling method according to claim 1, characterized in that: The feedback mechanism includes user feedback, data analysis and CI / CD; Among them, user feedback is used to collect feedback from users and business teams and optimize process design; Data analytics is used to regularly analyze process execution data to identify bottlenecks and areas for improvement; CI / CD uses continuous integration and continuous deployment processes to quickly iterate and update business processes.
Citation Information
Cited By
Large-scale satellite data processing and dynamic scheduling method and device
CN120387654A
API arrangement method and system
CN120705206A
Dynamic self-verification method based on business flow-test flow homologous heterogeneous execution
CN121434101A
Service rule design method and system supporting double modes of visualization and DSL (Digital Subscriber Line)
CN121478260A
Automatic arrangement system based on event driving and context management and implementation method
CN121745640A