Logical stream processing method, apparatus, and computing device cluster

By performing anomaly analysis and debugging on the logic flow before release, conflicts and loop execution issues in the business logic flow were resolved, improving the accuracy and execution efficiency of the logic flow and reducing the impact of anomalies.

CN122309558APending Publication Date: 2026-06-30HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2024-12-30
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

During the digital transformation of enterprises, there are multiple conflicts and loop execution problems in the control of business logic flow, which lead to logical errors and performance waste.

Method used

Before releasing the logic flow, anomalies are detected through overall logic flow analysis, conflicts between logic flows are analyzed by utilizing the dependencies between data models, and debugging and merging/splitting are performed before release to optimize the execution order and collection strategy to improve accuracy.

Benefits of technology

It improves the accuracy of logical flow, reduces the probability of abnormal releases, optimizes execution efficiency, and reduces the impact on user business in abnormal situations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122309558A_ABST
    Figure CN122309558A_ABST
Patent Text Reader

Abstract

This invention provides a logic flow processing method, apparatus, and computing device cluster. The method is applied to a management platform for managing infrastructure, which stores multiple data models of users. The method includes: acquiring a first logic flow model, including a first logic flow, input by the user. The first logic flow includes a first processing step, which processes a first field of the first data model among the multiple data models to obtain a first processing result; acquiring a second logic flow model, including a second logic flow, input by the user. The second logic flow includes a second processing step, which processes a second field of the second data model among the multiple data models to obtain a second processing result; and detecting whether the second logic flow has an anomaly based on the first and second logic flow models, and if not, publishing the second logic flow. This improves the accuracy of logic flow anomaly analysis by analyzing the anomalies of the logic flow to be published using existing logic flow analysis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of information technology (IT), and more particularly to a logic stream processing method, apparatus, and computing device cluster. Background Technology

[0002] Enterprises face diverse and rapidly changing business needs during their digital transformation. When using business logic flow models to drive the fulfillment of these needs, various problems arise in the control of business logic flows: such as conflicts between multiple configured business logic flows, chain-like loop triggering, and self-loop triggering, which cause business logic flows to be executed repeatedly, leading to both business logic errors and wasted performance.

[0003] Therefore, it is urgent to solve the problem of improving the accuracy of logic flow. Summary of the Invention

[0004] This invention provides a logic flow processing method, apparatus, and computing device cluster. Before publishing a logic flow, the method analyzes the anomalies of the existing logic flow to achieve overall logic anomaly analysis, thereby improving the accuracy of logic flow anomaly analysis.

[0005] In a first aspect, embodiments of the present invention provide a logical flow processing method. The method is applied to a management platform, which manages infrastructure. The infrastructure stores multiple data models of a user, each of which includes multiple fields. The method includes:

[0006] First, a first logical flow model based on user input is obtained. This first logical flow model includes a first logical flow and a first processing step. The first processing step is used to process a first field of the first data model to obtain a first processing result. The first data model belongs to multiple data models. Next, a second logical flow model based on user input is obtained. This second logical flow model includes a second logical flow and a second processing step. The second processing step is used to process a second field of the second data model to obtain a second processing result. The second data model belongs to multiple data models. Then, logical flow anomaly analysis is performed from a global perspective. Based on the first and second logical flow models, anomalies are detected in the second logical flow. Subsequently, if no anomalies are found in the second logical flow, it is published.

[0007] In this solution, before the logic flow is deployed and executed, multiple logic flow models are used to analyze the overall logic anomalies of the new logic flow, thereby improving the accuracy of the logic flow.

[0008] In one possible implementation, the first logic flow model also includes a first triggering event, which is used to trigger the first logic flow to perform the first processing.

[0009] In one possible implementation, the first logical flow includes a third processing, the processing objects of which are the first field and the third field of the third data model. The third processing is used to obtain the third processing result based on the first field and the third field, wherein the third data model belongs to multiple data models.

[0010] In one possible implementation, the first logic flow is also used to output the first processing result to the fourth data model, which belongs to multiple data models, wherein the first processing result is associated with the fourth field of the fourth data model.

[0011] In one possible implementation, based on the first logic flow model and the second logic flow model, the detection of whether there are anomalies in the first logic flow and the second logic flow includes:

[0012] Obtain data model dependencies, whereby data model dependencies indicate the dependencies between data models related to the first and second logical flows; determine logical flow dependencies based on data model dependencies, whereby logical flow dependencies indicate the dependencies between the first and second logical flows; and determine whether there are any anomalies in the second logical flow based on logical flow dependencies.

[0013] In this solution, the dependencies between data models can be analyzed to identify the dependencies between logical flows. Based on these dependencies, logical conflicts can be analyzed, thereby enabling anomaly analysis of the logical flows.

[0014] In one possible implementation, before publishing the second logical flow, the method further includes: obtaining test data for the second logical flow; and debugging the second logical flow based on the test data and the first logical flow to obtain the debugging results.

[0015] In this solution, the logic flow can be debugged before it is published, thereby reducing the probability of anomalies in the published logic flow.

[0016] In one possible implementation, before publishing the second logical stream, the method further includes merging and / or splitting the first logical stream and / or the second logical stream.

[0017] In this solution, multiple logical flows can be merged and / or split before being published, thereby optimizing the published logical flows and improving their execution efficiency.

[0018] In one possible implementation, after publishing the second logical stream, the method further includes:

[0019] Obtain user business data; based on the business data, run the first and second logical flows to obtain the results.

[0020] In one optional example of this implementation, before running the first and second logical flows, the method further includes: obtaining a logical flow orchestration scheme, which describes the execution order of the first and second logical flows;

[0021] Running the first and second logical flows includes: running the first and second logical flows based on business data and logical flow orchestration schemes.

[0022] In this solution, the execution efficiency of the logic flow is improved by rationally arranging the execution order of the logic flow.

[0023] In one example of this example, before running the first and second logic streams and obtaining the results, the process also includes: acquiring a user input collection strategy, which indicates the scheme for acquiring the first and second logic streams;

[0024] Run the first logic stream and the second logic stream to obtain the running results, including: running the first logic stream, the second logic stream, and the acquisition strategy to obtain the running results.

[0025] In this solution, by designing a suitable data acquisition strategy, we can acquire more comprehensive data generated during the execution of the logic flow, which facilitates subsequent analysis of logic flow anomalies.

[0026] In one optional example of this implementation, the method further includes: obtaining an exception logic flow based on the execution result; acquiring a control policy input by the user, the control policy being used to indicate the processing scheme for the exception logic flow; and executing the control policy on the exception logic flow.

[0027] In this solution, appropriate control strategies are designed to handle exceptions in the event of abnormal logical flow, thereby reducing the impact on user services.

[0028] In one example of this example, a control policy is implemented for the exception logic flow, including:

[0029] When the number of logical flows executed sequentially starting from the abnormal logical flow reaches a preset threshold, the execution of the abnormal logical flow is stopped; and / or, when the execution time of the abnormal logical flow reaches a preset time, the execution of the abnormal logical flow is stopped.

[0030] Secondly, embodiments of the present invention provide a logic stream processing apparatus, which includes several modules. Each module is used to execute various steps in the logic stream processing method provided in the first aspect of the present invention. The division of modules is not limited here. For the specific functions performed by each module of this logic stream processing apparatus and the beneficial effects achieved, please refer to the functions of each step in the logic stream processing method provided in the first aspect of the present invention; further details will not be repeated here.

[0031] For example, a logic stream processing device is used in a management platform to manage infrastructure. The infrastructure stores multiple data models for a user, each of which includes multiple fields, including:

[0032] The first acquisition module is used to acquire the first logical flow model input by the user. The first logical flow model includes a first logical flow, and the first logical flow includes a first processing. The first processing is used to process the first field of the first data model to obtain a first processing result. The first data model belongs to multiple data models.

[0033] The first acquisition module is used to acquire the second logical flow model input by the user. The second logical flow model includes a second logical flow, and the second logical flow includes a second processing. The second processing is used to obtain a second processing result based on the second field of the second data model. The second data model belongs to multiple data models.

[0034] The anomaly analysis module is used to detect whether there are anomalies in the second logic flow based on the first logic flow model and the second logic flow model;

[0035] The publish module is used to publish the second logical flow if there is no exception in the second logical flow.

[0036] In one possible implementation, the first logic flow model also includes a first triggering event, which is used to trigger the first logic flow to perform the first processing.

[0037] In one possible implementation, the first logical flow includes a third processing, the processing objects of which are the first field and the third field of the third data model. The third processing is used to obtain the third processing result based on the first field and the third field, wherein the third data model belongs to multiple data models.

[0038] In one possible implementation, the first logic flow is also used to output the first processing result to the fourth data model, which belongs to multiple data models, wherein the first processing result is associated with the fourth field of the fourth data model.

[0039] In one possible implementation, an anomaly analysis module is used to obtain data model dependencies, wherein the data model dependencies are used to indicate the dependencies between data models related to the first logical flow and the second logical flow; based on the data model dependencies, determine logical flow dependencies, wherein the logical flow dependencies are used to indicate the dependencies between the first logical flow and the second logical flow; and based on the logical flow dependencies, determine whether there is an anomaly in the second logical flow.

[0040] In one possible implementation, the device further includes:

[0041] The debugging module is used to acquire test data of the second logic flow; based on the test data and the first logic flow, the second logic flow is debugged to obtain the debugging results.

[0042] In one possible implementation, the device further includes:

[0043] The execution module is used to acquire user business data; based on the business data, it executes the first and second logical flows to obtain the execution results.

[0044] In one optional example of this implementation, a running module is used to obtain a logic flow orchestration scheme, which describes the execution order of the first and second logic flows; based on the business data and the logic flow orchestration scheme, the first and second logic flows are run.

[0045] In one example of this example, the module is run to obtain the user input acquisition strategy, which indicates the scheme for acquiring the first logic stream and the second logic stream; the first logic stream and the second logic stream and the acquisition strategy are run to obtain the running result.

[0046] In one optional example of this implementation, the running module is used to obtain the exception logic flow based on the running results; obtain the control policy input by the user, which is used to indicate the processing plan for the exception logic flow; and execute the control policy on the exception logic flow.

[0047] In one example of this example, the running module is used to stop executing the abnormal logic flow when the number of logic flows executed sequentially from the abnormal logic flow as the starting point reaches a preset threshold; and / or, to stop executing the abnormal logic flow when the execution time of the abnormal logic flow reaches a preset duration.

[0048] Thirdly, embodiments of the present invention provide a logic stream processing apparatus, comprising: at least one memory for storing a program; and at least one processor for executing the program stored in the memory, wherein when the program stored in the memory is executed, the processor is configured to execute the method provided in the first aspect.

[0049] Fourthly, embodiments of the present invention provide a logic stream processing apparatus that executes computer program instructions to perform the method provided in the first aspect. Exemplarily, the apparatus may be a chip or a processor.

[0050] In one example, the device may include a processor that can be coupled to memory, read instructions from the memory, and execute the methods provided in the first aspect according to those instructions. The memory may be integrated into the chip or processor, or it may be independent of the chip or processor.

[0051] Fifthly, embodiments of the present invention provide a computing device cluster, the computing device cluster including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, such that the computing device cluster performs the method provided in the first aspect.

[0052] In a sixth aspect, embodiments of the present invention provide a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect.

[0053] In a seventh aspect, embodiments of the present invention provide a computer program product containing instructions that, when executed on a computer, cause the computer to perform the method provided in the first aspect. Attached Figure Description

[0054] Figure 1a This is a system architecture diagram of a low-code development system provided in an embodiment of the present invention;

[0055] Figure 1b yes Figure 1a A schematic diagram of the deployment scenario of the central management platform 120;

[0056] Figure 2 This is a flowchart illustrating a logic flow processing method provided in an embodiment of the present invention;

[0057] Figure 3a This is a schematic diagram of the logic flow model provided in an embodiment of the present invention;

[0058] Figure 3b yes Figure 3a A schematic diagram of the logic flow model;

[0059] Figure 4 This is a schematic diagram of the logic flow provided in an embodiment of the present invention;

[0060] Figure 5a This is a schematic diagram of the logical flow content provided in an embodiment of the present invention;

[0061] Figure 5b This is a schematic diagram of the output strategy for the processing results provided in the embodiments of the present invention;

[0062] Figure 5c This is a schematic diagram of a processing method provided in an embodiment of the present invention;

[0063] Figure 5d This is a schematic diagram of another processing method provided by an embodiment of the present invention;

[0064] Figure 5e This is a schematic diagram of another processing method provided in an embodiment of the present invention;

[0065] Figure 6a This is a schematic diagram of the logical flow configuration process provided in an embodiment of the present invention;

[0066] Figure 6b yes Figure 6a A schematic diagram of a real-world scenario following the provided logical flow configuration process;

[0067] Figure 7a This is a schematic diagram of a logic flow anomaly analysis process provided in an embodiment of the present invention;

[0068] Figure 7b yes Figure 7a A schematic diagram illustrating one implementation method for determining logical flow dependencies;

[0069] Figure 7c This is a schematic diagram of a logic flow self-loop provided in an embodiment of the present invention;

[0070] Figure 7d This is a schematic diagram of a logical flow chain loop provided in an embodiment of the present invention;

[0071] Figure 7e This is a schematic diagram of another logic flow anomaly analysis process provided in an embodiment of the present invention;

[0072] Figure 8a This is a schematic diagram of logic flow debugging provided in an embodiment of the present invention;

[0073] Figure 8b This is a flowchart illustrating another logic flow processing method provided in an embodiment of the present invention;

[0074] Figure 9 This is a flowchart illustrating another logic flow processing method provided in an embodiment of the present invention;

[0075] Figure 10a This is a schematic diagram of logical flow merging provided in an embodiment of the present invention;

[0076] Figure 10b This is a schematic diagram of logical flow merging provided in an embodiment of the present invention. Figure 2 ;

[0077] Figure 10c This is a schematic diagram of logical flow merging provided in an embodiment of the present invention;

[0078] Figure 10d This is a schematic diagram of logical flow merging provided in an embodiment of the present invention. Figure 4 ;

[0079] Figure 11a This is a schematic diagram of logic flow splitting provided in an embodiment of the present invention;

[0080] Figure 11b This is a schematic diagram of logic flow decomposition provided in an embodiment of the present invention. Figure 2 ;

[0081] Figure 12a This is a schematic diagram of a logic flow configuration function provided in an embodiment of the present invention;

[0082] Figure 12b This is a schematic diagram of another logical flow configuration function provided in an embodiment of the present invention;

[0083] Figure 13 This is a schematic diagram of the internal structure of the management platform 120 provided in an embodiment of the present invention;

[0084] Figure 14 yes Figure 13 A schematic diagram of the logical flow processing scenario provided on the basis;

[0085] Figure 15 This is a schematic diagram of the structure of the logic stream processing device provided in an embodiment of the present invention;

[0086] Figure 16 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present invention;

[0087] Figure 17 This is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present invention;

[0088] Figure 18 This is a schematic diagram illustrating the connection of computing devices in a computing device cluster via a network, as provided in an embodiment of the present invention. Detailed Implementation

[0089] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings.

[0090] In the description of the embodiments of the present invention, the words "exemplary," "for example," or "for instance" are used to indicate that they are examples, illustrations, or descriptions. Any embodiment or design that is described as "exemplary," "for example," or "for instance" in the embodiments of the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of the words "exemplary," "for example," or "for instance" is intended to present the relevant concepts in a specific manner.

[0091] In the description of the embodiments of this invention, the term "and / or" is merely a description of the association relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, B existing alone, and A and B existing simultaneously. Furthermore, unless otherwise stated, the term "multiple" means two or more. For example, multiple systems refer to two or more systems, and multiple terminals refer to two or more terminals.

[0092] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and their variations all mean "including but not limited to," unless otherwise specifically emphasized.

[0093] The following explanations cover some of the terms used in this embodiment. It should be noted that these explanations are for the convenience of those skilled in the art and are not intended to limit the scope of protection claimed by this invention.

[0094] The Internet of Things (IoT): Originating in the media field, it represents the third revolution in the information technology industry. The IoT refers to connecting any object to a network through information sensing devices and according to agreed-upon protocols. These objects exchange and communicate information through information transmission media to achieve functions such as intelligent identification, positioning, tracking, and monitoring.

[0095] A low-code platform is a software development tool or platform designed to help developers create applications with minimal coding effort and complexity. Low-code development platforms lower the technical barrier to application development by providing graphical interfaces, visual programming tools, and pre-built components. Using low-code platforms, developers can build applications by dragging and dropping components, configuring properties and logic, without writing large amounts of manual code. These platforms typically offer rich libraries of pre-built components, including user interface elements, database connections, business logic, and integration services, enabling developers to quickly assemble and customize various parts of an application.

[0096] Canvas: In low-code development platforms, the canvas refers to a workspace that provides a visual development environment for building and designing the application's user interface, logic flow, and interactive experience. The canvas is typically presented as a graphical interface and provides a set of tools, components, and controls to help developers quickly create and customize logical flows. On the canvas, developers can drag and drop, connect, resize, and configure elements to create logical flows.

[0097] Field: The basic unit for storing data, used to represent a characteristic of the data.

[0098] A data model is a data model of the business objects involved in business functions. It serves as the data foundation for developing any type of business function. In this embodiment of the invention, the data model may include multiple data fields. In practical applications, a low-code development interface can provide a data model configurator, enabling business personnel to define data models independently and achieve truly business-driven digital application development.

[0099] Triggers: In low-code development platforms, triggers are conditions or event sources used to initiate an operation or event in an application. They can be user actions, system events, timers, or trigger nodes from external systems, used to trigger corresponding actions or logic within the application. Triggers can be associated with different parts of the application, such as form submissions, button clicks, data updates, and scheduled tasks. When the trigger's conditions are met, the low-code platform will trigger a predefined operation or event. Trigger settings and configurations are typically done through a visual interface or configuration tools provided by the low-code platform. Developers can define trigger conditions, associate them with operations to be performed, set trigger priorities and processing methods, etc. Through triggers, low-code platforms can achieve application automation, interactivity, and event-driven functionality.

[0100] Triggered events: refer to the process of automatically executing certain actions under specific conditions, which can be achieved through triggers; specific conditions can be data creation, data modification, user operation, or reaching a set time.

[0101] Logic flow model: It is a simplified representation of logic flow and is usually used to help people better understand and analyze complex logic flow.

[0102] Action: In low-code development platforms, an action refers to a specific operation or logic executed after a trigger is triggered. It is typically an application programming interface (API) that performs a specific operation or function. When a trigger meets its defined conditions, the corresponding action will be executed. Actions can be data manipulations, calls to external services, sending notifications, executing business logic, etc. They are used to respond to triggers and perform a series of tasks or operations within the application.

[0103] Logic Flow: A mechanism for logical interaction between data models, involving at least triggers and actions, to process data within the model. Logic Flow allows developers to build applications more efficiently and flexibly, meeting diverse user needs.

[0104] Debugging refers to the process of running the logical flow during software development by setting breakpoints and stepping through the code to find and resolve errors or problems in the program.

[0105] Release: This refers to the process of pushing the logic flow to users, including making the logic flow public so that it can provide services to users. For example, deploying the developed logic flow to the production environment so that it provides the data processing process to the outside world, or displaying the logic flow to users.

[0106] Logical flow execution refers to the use of a series of triggers, actions, and other elements defined by the logical flow to connect the data model and achieve data logic interaction within the data model.

[0107] A directed graph is a graph consisting of a set of nodes (or vertices) and directed edges connecting these nodes. Each edge has a direction, usually indicating a direction from one node to another. This directionality makes directed graphs very suitable for representing ordered relationships.

[0108] Control Strategy: A strategy used to control and optimize the scheduling of logical flow execution, such as limiting the recursive call level of logical flow, execution time strategy, re-execution, repeated execution through interface calls, and providing manual intervention (providing links) to flexibly control the execution of the entire process.

[0109] Optimization strategy: refers to improving multiple logic flows through a series of means and methods to achieve better results. In this embodiment of the invention, the optimization strategy mainly includes merging and / or splitting logic flows.

[0110] Logical stream merging: refers to the operation of merging multiple logical streams into a single data stream.

[0111] Logical flow splitting: refers to the operation of splitting a logical flow into multiple independent data flows.

[0112] Self-loop: refers to a logical flow in which a certain operation or state is repeatedly executed when a specific condition is met, forming a closed loop.

[0113] Chained loop: refers to a loop in which the execution of the next logical flow is triggered when a specific condition is met, and the loop repeats to form a closed loop.

[0114] Logical flow exception: This refers to a logical flow containing a self-loop or chained loop, causing the logical flow to be unable to stop execution.

[0115] First, the low-code development system to which the method provided in the embodiments of the present invention may be applied will be described. Figure 1 is a schematic diagram of the architecture of a low-code development system provided in an embodiment of the present invention. As shown in Figure 1, the system includes a terminal 110 and a management platform 120. The terminal 110 and the management platform 120 are connected via a network. The network can be a wired network or a wireless network. For example, the wired network can be a cable network, an optical fiber network, a digital data network (DDN), etc., and the wireless network can be a telecommunications network, an internal network, the Internet, a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), a metropolitan area network (MAN), a public service telephone network (PSTN), a Bluetooth network, a ZigBee network, a Global System for Mobile Communications (GSM), a CDMA (Code Division Multiple Access) network, a CPRS (General Packet Radio Service) network, etc., or any combination thereof. Understandably, a network can use any known network communication protocol to enable communication between different client layers and gateways. These network communication protocols can be various wired or wireless communication protocols, such as Ethernet, Universal Serial Bus (USB), FireWire, Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), New Radio (NR), Bluetooth, Wireless Fidelity (Wi-Fi), and other communication protocols or any combination thereof.

[0116] The terminal 110 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices. Exemplary embodiments of the terminal 110 involved in this solution include, but are not limited to, electronic devices running iOS, Android, Windows, Harmony OS, or other operating systems. This embodiment of the invention does not specifically limit the type of terminal 110.

[0117] The management platform 120 can be implemented using a standalone server or a cluster of multiple servers. In some possible implementations, the server involved in this solution can be used to provide cloud services; it can be a server capable of establishing communication connections with other devices and providing computing and / or storage functions for those devices, or a super terminal. The server involved in this solution can be a hardware server or embedded in a virtualization environment; for example, the server involved in this solution can be a virtual machine running on a hardware server that includes one or more other virtual machines.

[0118] The management platform 120 manages the infrastructure 130, which consists of multiple servers and can provide resources. These resources can be a service, an application, or a physical / virtual device that can be allocated to tenants. In IoT scenarios, the management platform 120 manages the data generated by IoT; in cloud scenarios, the management platform 120 can act as a cloud management platform, managing the data center, which provides the infrastructure 130. Optionally, the management platform 120 can be deployed independently on servers or virtual machines in the data center, or distributed across multiple servers or virtual machines in the data center. It can also be partially deployed independently or distributedly on devices in an edge environment (also called edge devices), while another part can be deployed independently or distributedly in the data center. The edge environment is an environment geographically close to the user's terminal computing device, and includes edge devices such as edge servers and edge stations with computing capabilities.

[0119] In this embodiment, the management platform 120 can be used as a low-code platform. The terminal 110 can access the management platform 120 through the network and store N (positive integers greater than or equal to 2) data models of the user on the infrastructure 130. Each of the N data models includes multiple fields. Subsequently, logical flow development can be carried out based on the N data models.

[0120] The data model is used to model the business objects involved in business functions, serving as the data foundation for developing any type of business function. Optionally, the data model can be information such as work orders, products, or materials; it can also be an Application Programming Interface (API) or a plugin. A data model can include multiple data fields. In practical applications, low-code development interfaces can provide a data model configurator, enabling business personnel to define data models independently, achieving truly business-driven digital application development.

[0121] Next, in conjunction with the low-code development system provided above, a logic flow processing method provided by an embodiment of the present invention will be described in detail.

[0122] Figure 2 This is a flowchart illustrating the logic flow processing method provided in this embodiment of the invention. This embodiment can be applied to electronic devices, specifically servers or general computers.

[0123] like Figure 2 As shown, the logic flow processing method provided in this embodiment of the invention includes at least the following steps:

[0124] Step 201: The management platform 120 obtains M first logical flow models input by the user. Each first logical flow model includes a first logical flow, and each first logical flow includes a first processing step. The first processing step is used to process the first field of the first data model to obtain a first processing result. The first data model belongs to N data models.

[0125] In this embodiment, the user can access the management platform 120 through terminal 110 and input M (positive integers greater than or equal to 1) first logic flow models. Each first logic flow model is similar, and the following describes a single first logic flow model. It should be noted that the first logic flow model can be a logic flow instance in the logic flow configuration interface provided by the low-code platform, and the logic flow instance is also the example configured through the logic flow configuration interface.

[0126] The first logic flow model includes a first triggering event and a first logic flow. The first triggering event is used to indicate the first input of the first logic flow. The first input may include the first field in the first data model, as well as user operations, timing information, etc. The specific design can be combined with the actual situation.

[0127] Optionally, the first triggering event is determined by a first triggering event model, such as... Figure 3a As shown, the first triggering event model is used to create a first logical flow under the first data model, and to create a first triggering event in the first logical flow.

[0128] The first triggering event may include, but is not limited to, data changes (creation / modification), user actions, and scheduled events. Optionally, the first triggering event may be any of the following:

[0129] a. Data Creation: When a data instance of the selected triggering object is created, the execution of the first logical flow is automatically triggered; where the triggering object can be a data model (for ease of description and distinction, it can be called the first data model); correspondingly, the input of the first logical flow is the triggering object.

[0130] b. Data Change: When certain field values ​​set in the data instance of the selected trigger object change, the execution of the first logic flow is automatically triggered; where the trigger object can be the first data model; correspondingly, the input of the first logic flow is the trigger object.

[0131] c. User Operation: When a user is on the front-end interface, the operation is executed for the triggering object: a defined "user operation" button, which automatically triggers the execution of the first logic flow; correspondingly, the input of the first logic flow is the user operation, which includes the first data model.

[0132] d. Scheduled Triggering: For the first data model, triggering is based on a scheduled plan strategy. This requires setting the task execution cycle (hourly / daily / weekly / monthly / yearly), plan validity period (start date / end date), etc., and automatically triggering the first logical flow periodically according to the plan strategy. The "scheduled triggering" first logical flow supports configuring "filter rules" to filter the range of data instances triggering the data model based on certain conditions. Correspondingly, the input to the first logical flow is the timing information for the first data model.

[0133] It is worth noting that during the execution of the first logical flow, the data instance information of the data model selected by the first triggering event is automatically placed in the input information context of the first logical flow, which can be used by subsequent "rules" or "actions" nodes in the first logical flow.

[0134] Optionally, the management platform 120 determines a first data model (which can be any of N data models), creates a first logical flow under the first data model, and then configures triggers in the first logical flow to obtain trigger events. The trigger configuration can include configuring the trigger type, trigger object, and trigger name. The trigger type can be data creation, data modification, user operation, or timed trigger. The trigger object can include the first data model, timers under the first data model, and user operations under the first data model. In an optional example, such as... Figure 3b As shown, the developer displays the trigger interface through terminal 110. The trigger interface is used to determine the data model to which the data belongs. Under the data model, a first logical flow is created, and a first trigger event is created in the first logical flow.

[0135] For example, the first triggering event model may include the following configuration items:

[0136]

[0137] In this embodiment of the invention, each first logic flow model includes one first logic flow, which is used to indicate the processing to be executed after the first triggering event is triggered. M first logic flow models include M logic flows. It is worth noting that several first logic flow models can be created under each data model, thereby creating several first logic flows.

[0138] In some optional scenarios, assume a data model including the following business objects: production order, work order, material requirement order, and finished goods receipt. The production order has a sub-model: product; the product has sub-models: bill of materials and inventory in / out records; and the material requirement order has a sub-model: material requirement details. If the following four tasks need to be implemented:

[0139] Work order generation: When creating a production order, the production order is automatically broken down into work orders based on the process routes under the process routes, according to the process route information of the production order.

[0140] Production Material Requirements Generation: The "Generate Material Requirements" function is provided on the production order. Based on the product and planned output information of the production order, the material requirements are automatically generated according to the bill of materials data in the product's manufacturing BOM (Bill of Material).

[0141] Production order closure: Provide the "Close Production Order" option on the production order. When the user performs the operation, they need to fill in the "Reason for Closure". The status of the production order and its subordinate work order sheets will be updated to "Closed".

[0142] Completed Goods Inbound Updates Product and Warehouse Inventory: After the user submits and confirms the "Completed Goods Inbound Order", the system automatically writes back and updates the "Inventory Quantity" of the product master data and the "Inventory Quantity" of the product in the corresponding warehouse based on the "Product", "Warehouse" and "Quantity" on the Completed Goods Inbound Order.

[0143] Correspondingly, such as Figure 4 As shown, the user can input the following four first logic flows:

[0144] First logical flow 1: Create production orders and generate process task sheets.

[0145] Under the "Data Model" of the "Production Order" model, click the "Create New Process" button to add a new first logical flow "Generate Work Process Task Sheet"; after adding it, click the "Configure" operation to open the first logical flow orchestrator and configure the execution logic of the first logical flow.

[0146] First logical flow 2: Process production orders and generate material requirement sheets.

[0147] When a user clicks the "Generate Material Requirements" button on a production order, the system automatically expands the bill of materials (BOM) data based on the product field information and planned output of the production order, multiplies the base quantity of the expanded BOM by the planned output of the production order to obtain the required material quantity, and then creates the corresponding material requirement document (MRP) and detailed material requirements data. The MRP number generated in the first logical flow needs to be backfilled into the production order.

[0148] First logic flow 3: Close production orders and automatically close process task sheets.

[0149] For production orders in any of the following states: "Not Started," "In Progress," or "Completed," a "Close Order" button should be provided. When a user clicks the "Close Order" button, they need to fill in a "Reason for Closing." Then, the system verifies whether the production order's status meets the criteria. If the criteria are not met, the user is prompted with the reason. If the criteria are met, the production order's status is updated to "Closed," and the user-filled "Reason for Closing" field is updated in the production order's "Reason for Closing" field. After closing a production order, all related "Process Task Sheets" should also be closed simultaneously, i.e., the status of the Process Task Sheets should be updated to "Closed."

[0150] First logical flow 4: Confirm the completed goods receipt order and automatically update product and warehouse inventory.

[0151] The "Completed Goods Receipt" provides a "Confirm Completion" button. When the user clicks the "Confirm Completion" button, the system needs to verify whether the status of the "Completed Goods Receipt" meets the conditions. If the conditions are not met, the user will be prompted. If the conditions are met, the system will update the "Inventory Quantity" of the corresponding product master data and the inventory quantity of the corresponding product under the corresponding warehouse based on the "Product," "Warehouse," and "Quantity Receipt" information in the "Completed Goods Receipt." Finally, the status of the "Completed Goods Receipt" will be updated to "Completed."

[0152] In this embodiment, the first logic flow is used to perform several processes on the input to obtain the processing result of each process; wherein, the input includes fields of the first data model (for ease of description and distinction, it can be referred to as the first field), and the first field is at least some of the fields in the first data model, such as all the fields. For example, such as Figure 5aAs shown, the first logic flow includes input, process 1, process 2, ... Optionally, the first triggering event can be used as the input of the first logic flow. Subsequently, when the first triggering event occurs, the input of the first logic flow indicated by the first triggering event is used as the input of process 1, and process 1, process 2, ... are executed.

[0153] The configuration scenarios for the first logical flow are explained below.

[0154] In some possible implementations, terminal 110 accesses a low-code development platform on computing device cluster 120 and displays the low-code development interface of the platform. For example, the low-code development interface is sent to terminal 110 after terminal 110 requests login to the platform and the platform authenticates the user. Terminal 110 then displays the low-code development interface on its screen, allowing developers to operate it. Next, developers input operation commands for the low-code development interface to terminal 110 via mouse, keyboard, touchscreen, or voice, to perform first logic flow development based on the low-code development interface. For example, developers can operate the low-code development interface through terminal 110, such as... Figure 3b As shown, view the data model, click on the data model to enter the data model management, click on the first logic flow model to add the first logic flow, enter the trigger configuration interface, after configuration, obtain the trigger event, enter the logic flow creation interface, create process 1 in the canvas, then configure the order of processes, and create process 2.

[0155] like Figure 5a As shown, for each process, each process includes a processing input configuration, a processing logic configuration, and a processing output configuration. The processing input configuration is used to configure the processing object, thereby obtaining the processing object; the processing logic configuration is used to configure the processing logic of the processing object, and the first logic flow is used to process the processing object according to the processing logic to obtain the processing result; the processing output configuration is used to configure the processing result output strategy, which describes the output scheme of the processing result, such as caching, as a message, or as a field associated with the data model, and the first logic flow is used to output the processing result according to the processing result output strategy.

[0156] Optionally, such as Figure 5a As shown, the input processing configuration may include any one or more of the following:

[0157] The inputs to the first logical flow include, for example, the first field in the first data model, fields from other data models (which can be referred to as the third data model for ease of description and distinction), the processing result of the previous process, and parameters of user operations. Optionally, the second data model can be a sub-model (e.g., "Inventory In / Out Records") or a parent model of the first data model "Product," or it can be a data model associated with the first data model. For example, assuming the first data model is "Production Orders," the first data model is associated with the "Material Requirements Order" model.

[0158] Optionally, the output processing configuration may include output types, which may include data creation, data update, pipeline caching, and message notification.

[0159] When the output type is "Create Data" or "Update Data", the processing result output strategy is to create or update data. The first logical stream is used to create or update data based on the input of the first logical stream and / or other processed data in the pipeline buffer.

[0160] When the output type is pipe buffer (used to temporarily cache processing results), the output strategy for processing results is to cache the processing results. The first logical stream is used to temporarily cache the processing result data as input for subsequent processing in the first logical stream.

[0161] When the output type is message notification, the processing result output strategy is to treat the processing result as a message. The first logical flow is used to treat the processing result as a system message, email, or SMS. For example, the processing result is notified to the user via email or SMS.

[0162] Optionally, the output configuration may also include an output mapping, which indicates that the processing result, as a field value, needs to be associated with a field (or fourth field) of a data model (for ease of description and distinction). The fourth data model can be either the first or third data model. Correspondingly, the first logical flow is used to output the processing result to the fourth data model. It should be noted that at least some of the processing results in the first logical flow (which can be called second processing for ease of description and distinction) are associated with the fourth field of the fourth data model as field values. Different second processing results can be associated with the same or different fourth data models. Correspondingly, the first logical flow is used to output the processing result of the second processing to the fourth data model. In one example, such as... Figure 5b As shown, the first logical flow includes processing 2, and the processing result 2 of processing 2 is associated with the fourth field of the fourth data model as a field value.

[0163] Optionally, the processing logic configuration can be configured to include rule filtering or actions.

[0164] When the processing logic is rule filtering, the processing logic configuration can be implemented through rule filters. Rule filters are used to model and configure business rules, supporting complex nested rule conditions. They can perform real-time dynamic calculations and judgments to drive compliant execution of business flows. For example, rule filters support combining complex rule conditions by adding multiple "condition groups." Each condition group can be set to "satisfy all conditions" or "satisfy any condition." Under a condition group, specific conditions are added: selecting "condition fields," selecting condition operators, and selecting or entering condition values. Furthermore, the processing object is the output of the previous processing step, which is the content filtered by the rule filter.

[0165] When the processing logic is an action, the action can be any one or more of the following: data association, data splitting, data calculation, data aggregation, etc.

[0166] Data association can be used to associate fields of data model A with fields of data model B, thereby obtaining fields of data model B. For example, by using the product field of a production order, the corresponding product data field can be obtained.

[0167] Data splitting can be achieved by splitting data from data model A according to its sub-models, thereby obtaining data from the sub-models of data model A, or by splitting data from data model B associated with data model A, thereby obtaining data from data model B. For example, the former can be splitting data from the sub-model "process procedure" of the process route model to obtain "process procedure" data, while the latter can be splitting data from the production order model according to the associated material requirement order to obtain material requirement order data.

[0168] Among them, data calculation can be used to fill in the required fields by calculating other fields. In other words, the required fields need to be calculated by calculating other fields. These other fields can come from one data model or multiple data models. For example, when generating material requirements details for a production order, the planned product output of the order needs to be multiplied by the basic data of the order's product BOM to calculate the material requirements quantity.

[0169] Data aggregation can be used to calculate a summary value for a required field based on data requirements. In other words, it can be used to summarize multiple values ​​of a field. For example, in bill of materials data, the required quantity of materials can be calculated by summarizing the same materials.

[0170] Optionally, in one example, the processing logic configuration can be implemented using an action configurator, which can provide four types of data transformation operator nodes:

[0171] Related nodes: Used to implement data association, and to retrieve data fields of other business objects that are related to the input data or the output data of the previous data transformation node;

[0172] Split Node: Used to split data and obtain sub-model data from the input data or the output data of the previous data transformation node;

[0173] Computation nodes: These are used to perform data calculations, processing numerical field values ​​in the input data or the output data of the previous data transformation node using arithmetic operations or referencing standard functions for data processing.

[0174] Aggregation nodes: Used to aggregate data, summarizing and statistically analyzing input data or the output data of the previous data transformation node according to certain dimension fields.

[0175] Optionally, the following can be configured for associated nodes or split nodes:

[0176] Source Model: Select the required data model from the processing object or the output of the previous processing as the input source data for the associated transformation node;

[0177] Target Model: You can select a data model that is related to the "source model". When the first logic flow runs, the selected target related model will be automatically obtained according to the input "source model". For example, if the source model is "generate order", the "target model" is "material requirement order" which is related to "production order".

[0178] Target Fields: Configure the specific range of data fields to be returned in the "target model" output. For example, select the range of fields to be returned from the "Material Requirements Sheet" data.

[0179] In practical applications, four types of data transformation operator nodes can be flexibly combined and arranged according to actual business needs to process the input of the first logic stream.

[0180] Optionally, for calculation nodes, calculation fields such as "material requirement quantity" can be configured, and calculation formulas such as the "planned output" field of "production order" and the "quantity" field of "BOM bill of materials" can be used as calculation parameters. Then, arithmetic operators such as the multiplication sign "*" can be entered in the middle.

[0181] Optionally, for aggregation nodes, aggregation fields and clustering types, such as the four arithmetic operators (addition, subtraction, multiplication, and division), can be configured, and the aggregation calculation formula, such as the "Material Requirement Quantity" field, can be used as calculation parameters.

[0182] Optionally, in one example, the processes may include an acquisition process for retrieving a third field from the third data model; in one example, such as Figure 5c As shown, the first logical flow includes process 1 (which can be called the first process). The processing object of process 1 can be the first field of the first data model. Process 1 is used to obtain the third field of the third data model.

[0183] In one optional example, the several processes may include computational processing. Optionally, the processing object of the computational processing may be a first field in the first data model and / or a third field in the third data model. The computational processing is used to perform field operations. In one optional example, the field operation may be field aggregation (i.e., the aforementioned data aggregation) or field combination calculation (i.e., the aforementioned data calculation). Field aggregation is used to sum multiple field values ​​of a field, and field combination calculation is used to perform arithmetic operations (such as addition, subtraction, multiplication, and division) between multiple fields to obtain other fields. Correspondingly, the processing result of the computational processing may be the calculation result, such as the field value after field aggregation, or the field value of other fields obtained after field combination calculation. It should be noted that the several processes indicated by the first logical flow are an arrangement of processing 1 and computational processing.

[0184] In one example, such as Figure 5d As shown, the first logical flow includes processing 2 (which can be called the first processing). The processing object of processing 2 can be the first field of the first data model. Processing 2 is used to aggregate the field values ​​of the first field to obtain the aggregated field. Correspondingly, the processing result 2 of processing 2 can be the aggregated field.

[0185] In one example, such as Figure 5e As shown, the first logical flow includes processing 2 (which can be called the third processing). The processing object of processing 2 can be the first field of the first data model and the third field of the third data model. Processing 2 is used to perform operations on the first field and the third field to obtain the calculated field (the field other than the first field and the third field). Correspondingly, the processing result 2 of processing 2 can be the calculated field.

[0186] In some possible scenarios, such as Figure 6a As shown, the logical flow model may include a data model, triggers, rule filters, action configurators, and action addition. For example, configuring the first logical flow model and the processing flow can be as follows: Figure 6bAs shown, the user selects the first data model, creates the first logical flow under the selected first data model, then configures the trigger, then configures the rule filter (dashed lines represent optional), adds an action, configures the output type and output mapping. When adding an action, you can only configure the fourth data model in the output mapping. Next, configure the action configurator. After the action configurator is configured, the processing result can be obtained. Subsequently, continue to configure the output mapping, and associate the processing result as a field value with the fourth field of the fourth data model.

[0187] For the first logical flow 1: creating a production order and generating a work order sheet, the development process of the first logical flow is as follows:

[0188] (1) Create the first logical flow under “Production Order”.

[0189] (2) Trigger configuration: If the user needs to generate a process task sheet after creating a "Production Order", then select "Data Creation" for "Trigger Type", select "Production Order" for the trigger object, and fill in a trigger name with business meaning, "Production Order Creation".

[0190] (3) Create Action: After creating a "Production Order", the user needs to create process task sheet data. Then, select "Create Data" for "Output Type", select "Process Task Sheet" for the fourth data model in the output mapping, and finally fill in an action name with business meaning, "Create Process Task".

[0191] (4) Configure the processing logic of the action configurator: association, splitting, calculation and / or aggregation.

[0192] (5) Configure output mapping: After arranging the "processing logic" of "Create process task" through the "Action Configurator", the processing results of the processing logic are mapped to the fields of the fourth data model "process task sheet" as needed.

[0193] Step 202: The management platform 120 obtains the second logical flow model input by the user. The second logical flow model includes a second logical flow, which includes a second processing. The second processing is used to process the second field of the second data model to obtain the second processing result. The second data model belongs to multiple data models.

[0194] In this embodiment, the second logic flow model includes a second triggering event and a second logic flow, and the second logic flow is used to trigger the second logic flow to execute the second processing.

[0195] Optionally, the second triggering event is determined by a second triggering event model.

[0196] Optionally, the second logical flow includes a fourth process, the processing objects of the fourth process are the second field and the fifth field of the fifth data model, the fourth process is used to obtain the fourth processing result based on the second field and the fifth field, wherein the fourth data model belongs to N data models.

[0197] Optionally, the second logic flow is also used to output the second processing result to the sixth data model, which belongs to N data models. The second processing result is associated with the sixth field in the sixth data model. For example, the second processing result is associated with the sixth field in the sixth data model as a field value.

[0198] For detailed information, please refer to the description of the first logical flow model, which will not be repeated here. The difference lies in the naming. For example, replace the first with the second, the third process with the fourth process, the third data model with the fifth data model, and the fourth with the sixth.

[0199] In some possible scenarios, users can configure a single first logical flow model through the management platform 120. When configuring the second logical flow model later, the system will check whether the first logical flow in the first logical flow model and the second logical flow in the second logical flow model are abnormal. This process is repeated to obtain more logical flows.

[0200] In some possible scenarios, users can configure multiple, for example, M, first logic flow models through the management platform 120. After configuring a certain number of first logic flow models, when configuring second logic flow models, the system checks for anomalies in the first logic flows of the M first logic flow models and the second logic flows of the second logic flow models. This process is repeated to obtain more logic flows. Here, by comprehensively analyzing the anomalies of a single second logic flow input after processing all the existing M first logic flow models, it is possible to more accurately analyze whether there are conflicts between the second logic flow and the existing M first logic flows, thus improving the accuracy of logic flow anomaly analysis.

[0201] In some optional cases, the second logical flow model can be any one of the M first logical flow models. Users can configure multiple, for example, M, first logical flow models through the management platform 120. Then, any one of the M first logical flow models will be checked, and in this case, any one of the M first logical flow models can be used as the second logical flow model. Here, by comprehensively analyzing the anomalies of a single second logical flow through all the logical flows in the M first logical flow models, it is possible to more accurately analyze whether the second logical flow is abnormal, thus improving the accuracy of logical flow anomaly analysis.

[0202] Step 203: The management platform 120 detects whether there are any anomalies in the second logical flow based on M first logical flow models and second logical flow models.

[0203] In this embodiment, the management platform 120 needs to integrate the first logic flow model and the second logic flow model to determine whether there is an anomaly in the second logic flow, thereby performing logic flow analysis from a global perspective and improving the accuracy of logic flow analysis.

[0204] In some optional implementations of this embodiment, such as Figure 7a As shown, the management platform 120 determines data model dependencies based on M first logical flow models and second logical flow models. These data model dependencies describe the dependencies between data models related to the M first and second logical flows. For example, if field A of data model A is used as the value of field B of data model B, then field B of data model B is considered to depend on field A of data model A. Similarly, if the operation between field A of data model A and field B of data model B yields other fields, and these other fields are used as the value of field C of data model C, then field C of data model C is considered to depend on field A of data model A and field B of data model B.

[0205] After obtaining the data model dependencies, the management platform 120 then determines the logical flow dependencies based on the data model dependencies, the second data model input to the second logical flow, and the output strategy of the processing results of the second logical flow. The logical flow dependencies describe the dependencies between the M first logical flows and the second logical flow. Specifically, the output strategy of the processing results of the second logical flow describes the output scheme for each processing result in the second logical flow, such as caching, as a message, or associated with a data model (e.g., the sixth data model mentioned above); or, the output strategy of the processing results of the second logical flow describes whether the processing results in the second logical flow need to be associated with all data models (e.g., the sixth data model mentioned above). It should be noted that here, each of the M first and second logical flows needs to be analyzed; optionally, such as... Figure 7bAs shown, for the second logical flow, the management platform 120, based on data model dependencies, determines the data model (which can be called the dependent data model for ease of description and distinction) that the second data model input to the second logical flow depends on. Then, based on the output strategy of the second logical flow's processing results (e.g., the data model the processing result needs to be associated with), it determines each first logical flow that can be output to the dependent data model (which can be called the target first logical flow for ease of description). Subsequently, it determines that the second logical flow i depends on each target first logical flow. It should be noted that the second logical flow can depend on the first logical flow. The above method is merely an example of determining logical flow dependencies and does not constitute a specific limitation. In other possible implementations, for the second logical flow, based on the output strategy of the second logical flow's processing results, each target first logical flow of the second data model input to the second logical flow can be determined, and subsequently, it determines that the second logical flow depends on each target first logical flow.

[0206] Subsequently, based on the logical flow dependencies, it can be determined whether there are any anomalies between the second logical flows. Optionally, based on the logical flow dependencies, a directed graph can be constructed, where each node in the directed graph represents a logical flow, and the directed edges between nodes represent dependencies. It can then be determined whether there is a loop corresponding to the second logical flow in the directed graph. For example, does the second logical flow trigger a chained loop in the first logical flow, or is the second logical flow self-looping? If a loop corresponding to the second logical flow exists, it indicates that there is an anomaly in the second logical flow. The anomaly can include self-looping or chained looping. For example, such as... Figure 7c As shown, the output of logic flow 1 in the self-loop triggers logic flow 1 again; as Figure 7d As shown, the chained loop is such that the output of logic flow 1 triggers logic flow 2, the output of logic flow 2 triggers logic flow 3, and so on, until logic flow N (a positive integer greater than or equal to 2) is triggered. The output of logic flow N triggers logic flow 1, thus forming a chained loop.

[0207] In some optional implementations of this embodiment, such as Figure 7e As shown, the management platform 120 can obtain M first and second logical flow models to get the data model of each logical flow input and the processing result output strategy. The processing result output strategy is used to describe the output scheme of each processing result in the logical flow, such as caching, as a message, or associated data model; or, the processing result output strategy is used to describe all data models that the processing result in the logical flow needs to be associated with. Subsequently, based on the data model of each logical flow input and the processing result output strategy, it is determined whether the second logical flow is abnormal. Optionally, based on the logical flow dependencies, a directed graph can be constructed to determine whether there is a loop corresponding to the second logical flow in the directed graph. If it exists, it indicates that the second logical flow is abnormal.

[0208] Optionally, the management platform 120 can obtain the first data model of the input of the M first logical flows and the second data model of the input of the second logical flows based on the M first trigger events and the M second trigger events of the M first logical flows; and obtain the output strategy of the processing results of the M first logical flows and the second logical flows respectively; and determine the logical flow dependency relationship based on the input and processing result output strategies of the M first logical flows and the second logical flows. It should be noted that each of the M first logical flows and the second logical flows needs to be analyzed here; optionally, for the second logical flow, if the sixth data model to which the processing result of the second logical flow needs to be output is the second data model input to the second logical flow, then it is said that the second logical flow depends on the second logical flow; if the processing result of the target first logical flow needs to be output to the second data model input to the second logical flow, then it is said that the second logical flow depends on the target first logical flow; subsequently, based on the logical flow dependency relationship, it is determined whether there is an anomaly in the second logical flow. For example, if the sixth data model to which the processing result of the second logic flow needs to be output is the second data model to which the second logic flow is input, then the second logic flow is a logic flow that may have a self-loop. Optionally, if the second data model to which the second logic flow is input is the fourth data model to which the processing result of other first logic flows is output, and there is a chain triggering relationship between the second logic flow and other first logic flows, then the second logic flow is a logic flow that may have a chain loop.

[0209] The above implementation is merely an example and does not constitute a specific limitation. More implementations can be designed according to the actual situation.

[0210] Step 203: If the second logical flow does not have any abnormalities, the management platform 120 publishes the second logical flow.

[0211] In this embodiment of the invention, publishing the second logical flow can be understood as deploying the second logical flow, or displaying the second logical flow to the user.

[0212] In some possible scenarios, users can configure a single first logical flow model through the management platform 120. When configuring the second logical flow model later, it will check whether the first logical flow in the first logical flow model and the second logical flow in the second logical flow model conflict. If there is no conflict, the second logical flow will be published. This process will be repeated to publish multiple logical flows.

[0213] In some possible scenarios, users can configure multiple, for example, M, first logical flow models through the management platform 120. After configuring a certain number of first logical flow models, when configuring the second logical flow model, it will check whether the first logical flow in the M first logical flow models and the second logical flow in the second logical flow models are abnormal. If there is no conflict, the second logical flow and the M first logical flow models will be published.

[0214] In some alternative scenarios, the second logical flow model can be any of the M first logical flow models. Users can configure multiple, for example, M first logical flow models through the management platform 120. Then, each of the M first logical flow models will be checked. If no anomalies are found in any of the M first logical flow models, then each of the M first logical flow models will be published.

[0215] In this solution, before publishing the logic flow, the logic flow is preprocessed, and the abnormal situations of the logic flow are analyzed by analyzing the existing logic flow to achieve overall logic abnormality analysis, thereby improving the accuracy of logic flow abnormality analysis.

[0216] In other embodiments, such as Figure 8a As shown, the second logical flow needs to be debugged before it can be published. After successful debugging, the second logical flow can be published.

[0217] Figure 8b A flowchart illustrating another logic flow processing method provided by an embodiment of the present invention is shown.

[0218] like Figure 8b As shown, in Figure 2 Based on steps 201 to 203 shown, this embodiment of the invention further includes at least the following steps:

[0219] Step 801: The management platform 120 obtains the test data of the second logical flow.

[0220] In one optional implementation of this embodiment, the test data may be logic flow-related data pre-stored by the user.

[0221] In one optional implementation of this embodiment, the management platform 120 can perform data simulation to obtain test data based on the first and second logic flows in the M logic flow models.

[0222] Step 802: Based on the test data and the first logic flow, the management platform 120 debugs the second logic flow and obtains the debugging results.

[0223] In one optional implementation of this embodiment, the management platform 120 will perform step-by-step execution and inspection of the second logic flow based on test data to identify and resolve problems that occur during the execution of the logic flow, and obtain debugging results. The debugging results are used to indicate whether the second logic flow can be executed normally. If the debugging results indicate that the second logic flow can be executed normally, the second logic flow can then be published.

[0224] In some optional scenarios, the management platform 120 can provide users with debugging capabilities for the logic flow. This debugging function allows users to step through the second logic flow in the logic flow executor, view and modify parameters, thereby ensuring the logic flow runs as expected. If the debugging result indicates successful debugging, the second logic flow is published. For example, the successfully debugged second logic flow can be displayed on the low-code development interface, and users can click the publish button to publish the second logic flow.

[0225] In an optional implementation of this embodiment, the management platform 120 will perform step-by-step execution and inspection of the second logic flow based on the test data and each first logic flow, thereby debugging the second logic flow in conjunction with each existing first logic flow and reducing the conflict between the second logic flow and the existing first logic flow.

[0226] In this solution, the accuracy of the logic flow is improved by debugging the logic flow.

[0227] In some other embodiments, Figure 9 A flowchart illustrating another logic flow processing method provided by an embodiment of the present invention is shown.

[0228] like Figure 9 As shown, in Figure 2 Based on steps 201 to 203 shown, this embodiment of the invention further includes at least the following steps:

[0229] Step 901: The management platform 120 obtains the user's business data.

[0230] In this embodiment of the invention, the user's business data is data generated by the user's actual business, such as real data from the data model, user operations, etc.

[0231] Step 902: Based on business data, management platform 120 runs M first logical flows and second logical flows to obtain the running results.

[0232] In an optional implementation of this embodiment, running M first logical flows and second logical flows may include: determining a logical flow orchestration scheme for the M first logical flows and second logical flows; subsequently, running the first logical flows and second logical flows based on business data and the logical flow orchestration scheme. It should be noted that the management platform 120 running the first logical flow may include: determining the input data of the first logical flow when a first triggering event of the first logical flow is determined, using the input data of the first logical flow as the input of the first logical flow, and running each process in the first logical flow; wherein, the management platform 120 may determine the occurrence of the first triggering event and determine the first data of the first logical flow based on business data, or by running other logical flows such as the result of the second logical flow, such as outputting the processing result to the data model. The management platform 120's operation of the second logical flow may include: determining the input data of the second logical flow when a second triggering event occurs, using the input data of the second logical flow as the input of the second logical flow, and running each process in the second logical flow; wherein, the management platform 120 may determine the occurrence of the second triggering event and determine the input data of the second logical flow based on business data, or by running other logical flows such as the result of the first logical flow, such as outputting the processing result to the data model.

[0233] Optionally, the management platform 120 may determine the logical flow orchestration scheme of the M first logical flows and the second logical flows by: the management platform 120 may schedule and orchestrate the M first logical flows and the second logical flows based on the priority between them; for example, assuming that the smoke alarm triggers N logical flows: logical flow A, logical flow B, and logical flow C, logical flow A is used for automatic water spraying, logical flow B is used for alarming and notifying security personnel, and logical flow C is used for alarming and notifying management personnel, and assuming that the priority of logical flow A, logical flow B, and logical flow C is logical flow A, logical flow B, and logical flow C, then the logical flow orchestration scheme is logical flow A → logical flow B → logical flow C.

[0234] Optionally, the management platform 120, based on business data and a logic flow orchestration scheme, can run M first and second logic flows. This can include: the management platform 120 includes a logic flow executor, which can execute the M first and second logic flows based on business data and the logic flow orchestration scheme to obtain the execution results. For example, the execution results are used to record the execution information for each logic flow instance (a logic flow instance is generated each time the logic flow is driven). The execution information includes the logic flow input, such as fields of the data model; the processing result of each of the several processes; the fields of the data model to which the processing result is output; the logic flow instance before the logic flow runs; and the logic flow instance after the logic flow runs.

[0235] In one optional implementation of this embodiment, running M first logical flows and second logical flows may include the management platform 120 merging and / or splitting the M first logical flows and second logical flows to obtain multiple target logical flows; then, determining a logical flow orchestration scheme for the multiple target logical flows; subsequently, based on business data and the logical flow orchestration scheme, running the multiple target logical flows. Details of running each target logical flow are described in the description of running the first or second logical flows, and will not be repeated here. It should be noted that, in some optional cases, the M first logical flows and second logical flows may be merged and / or split before publishing the second logical flow to obtain multiple target logical flows; then, with user permission, the multiple target logical flows can be directly published, and subsequently, the multiple target logical flows can be directly run without further merging and / or splitting.

[0236] The merging clause applies when the output of process a in logic flow A is used as the output of process b in logic flow B. This involves merging process a in logic flow A and process b in logic flow B. Logic flow A can be any first or second logic flow, and logic flow B can be any first or second logic flow other than logic flow A.

[0237] For example, such as Figure 10a As shown, logic flow A includes 3 processes, denoted as NA1, NA2, and NA3. The input of NA1 is a, and the output is b; the input of NA2 is b, and the output is c; the input of NA3 is c, and the output is d. Logic flow B includes 3 processes, denoted as NB1, NB2, and NB3. The input of NB1 is d, and the output is e; the input of NA2 is e, and the output is f; the input of NA3 is f, and the output is g. Considering that the output of NA3 is the output of NB1, logic flow A and logic flow B are merged to obtain logic flow AB: NA1→NA2→NA3→NB1→NB2→NB3.

[0238] like Figure 10b As shown, logic flow A includes 3 processes, denoted as NA1, NA2, and NA3. The input of NA1 is a, and the output is b; the input of NA2 is b, and the output is c; the input of NA3 is c, and the output is d. Logic flow B includes 3 processes, denoted as NB1, NB2, and NB3. The input of NB1 is c, and the output is e; the input of NA2 is e, and the output is f; the input of NA3 is f, and the output is g. Considering that the output of NA2 is the output of NB1, logic flow A and logic flow B are merged to obtain logic flow AB: NA1→NA2→NA3, NA2→NB1→NB2→NB3.

[0239] like Figure 10cAs shown, logic flow A includes 3 processes, denoted as NA1, NA2, and NA3. The input of NA1 is a, and the output is b; the input of NA2 is b, and the output is c; the input of NA3 is c, and the output is d. Logic flow B includes 3 processes, denoted as NB1, NB2, and NB3. The input of NB1 is c, and the output is d; the input of NA2 is d, and the output is e; the input of NA3 is e, and the output is f. NA3 is the same as NB1. By merging logic flow A and logic flow B, we obtain logic flow AB: NA1→NA2→NA3→NB2→NB3.

[0240] like Figure 10d As shown, logic flow A includes 3 processes, denoted as NA1, NA2, and NA3. The input of NA1 is a, and the output is b; the input of NA2 is b, and the output is c; the input of NA3 is c, and the output is d. Logic flow B includes 3 processes, denoted as NB1, NB2, and NB3. The input of NB1 is b, and the output is c; the input of NA2 is c, and the output is e; the input of NA3 is e, and the output is f. NA2 is the same as NB1. Merging logic flow A and logic flow B yields logic flow AB: NA1→NA2→NA3, NA2→NB2→NB3.

[0241] In some possible cases, processes a1, a2, and a3 are split for use in logical flow A. The result of process a1 includes field 1 and field 2. Field 1 serves as the input of process a2 and field 2 serves as the input of process a3. Process a1 is split into process a11 (the result of which is field 1) and process a12 (the result of which is field 2). Process a11 is associated with process a2, and process a12 is associated with process a3.

[0242] like Figure 11a As shown, logic flow A includes 5 processes, denoted as N1, N2, N3, N4, and N5. The input of N1 is a, and the output is b; the input of N2 is b, and the output is c (including c1 and c2); the input of N3 is c1, and the output is d1; the input of N4 is c2, and the output is d2; and the input of N5 is d2, and the output is e. N3 is the process of process c1, and N4 and N5 are the processes of process c2. Therefore, N can be split into N21 and N22. The input of N21 is b, and the output is c1. N21 is connected to N3, resulting in logic flow A1: N1→N21→N3. The input of N22 is b, and the output is c2. N22 is connected to N4, and N4 is connected to N5, resulting in logic flow A2: N1→N22→N4→N5.

[0243] In some possible cases, the logic flow A is split into processes a1, a2, and a3, with the result of process a1 serving as the input to process a2 and process a3, thus splitting the logic flow A into processes a2 and a3 in parallel.

[0244] like Figure 11b As shown, logic flow A includes 5 processes, denoted as N1, N2, N3, N4, and N5. The input of N1 is a and the output is b; the input of N2 is b and the output is c; the input of N3 is c and the output is d1; the input of N4 is c and the output is d2; and the input of N5 is d2 and the output is e. N3 is the process that performs the first type of processing on c, and N4 and N5 are the processes that perform the second type of processing on c. Therefore, logic flow A can be split into logic flow A1: N1→N2→N3 and logic flow A2: N1→N2→N4→N5.

[0245] The embodiments of the present invention are not intended to limit the order of merging and splitting. The management platform 120 may merge first and then split, or it may split first and then merge.

[0246] In some optional scenarios, such as Figure 12a and Figure 12b As shown, the management platform 120 can provide users with configuration functions for logical flows. These functions allow users to configure optimization strategies and / or acquisition strategies for the logical flows. Notably, users can uniformly configure acquisition strategies for all logical flows. The optimization strategies and / or acquisition strategies can be provided by the management platform 120 or input by the user.

[0247] The optimization strategy may include splitting and / or merging. Optionally, the management platform 120 runs the optimization strategy to optimize the M first logical flows and second logical flows to obtain multiple target logical flows.

[0248] The acquisition strategy describes the scheme for acquiring M first and second logic flows. The acquisition strategy defines acquisition parameters, such as the input of the logic flow (e.g., the data of the triggering object), the processing result of each of the several processes, the fields of the data model to which the processing result is output, the logic flow instance before the logic flow runs, and the logic flow instance after the logic flow runs.

[0249] Step 903: Based on the running results, the management platform 120 obtains the exception logic flow.

[0250] An abnormal logic flow can be understood as a logic flow that is triggered in a loop. It can be the first logic flow or the second logic flow. For example, the output of logic flow 1 triggers logic flow 2, the output of logic flow 2 triggers logic flow 3, and so on until logic flow N (a positive integer greater than or equal to 2) is triggered. The output of logic flow N triggers logic flow A. Then the abnormal logic flow is logic flow A.

[0251] Optionally, in scenarios employing optimization and acquisition strategies, such as... Figure 12aAs shown, the management platform 120 runs an optimization strategy to optimize M first logic flows and second logic flows to obtain multiple target logic flows; then, it runs the M first logic flows, second logic flows, and acquisition strategy to obtain the running results.

[0252] Optionally, in scenarios employing a data collection strategy, such as Figure 12b As shown, the management platform 120 runs M first and second logical flows and acquisition strategies to obtain the running results.

[0253] Step 904: The management platform 120 obtains the control policy input by the user. The control policy is used to indicate the handling scheme of the abnormal logic flow.

[0254] The control strategy can be provided by the management platform 120 or input by the user. In some optional implementations of this embodiment, such as... Figure 12a and Figure 12b The management platform 120 can provide configuration functions, allowing users to uniformly configure control strategies for N logical flows.

[0255] Among them, such as Figure 12a and Figure 12b As shown, control strategies can include the following two types:

[0256] 1) Execution stops when the number of logical flows executed sequentially starting from the abnormal logical flow reaches a preset threshold. For example, the preset threshold is 10. Assume that logical flow A is an abnormal logical flow. Logical flow A calls logical flow B, logical flow B calls logical flow A, logical flow A calls logical flow B, ... After logical flow A calls 10 logical flows, execution of logical flow A stops.

[0257] 2) When the execution time of the abnormal logic flow reaches the preset time, the execution stops; assuming the preset time is 1 minute, assuming logic flow A is an abnormal logic flow, logic flow A calls logic flow B, logic flow B calls logic flow A, and after 1 minute of execution, the execution of logic flow A stops.

[0258] Step 905: The management platform 120 executes control strategies on the abnormal logic flow.

[0259] In some optional implementations of this embodiment, such as Figure 12a and Figure 12b As shown, the management platform 120 stops executing the abnormal logic flow when the number of logic flows executed sequentially from the abnormal logic flow reaches a preset threshold; and / or, stops executing the abnormal logic flow when the execution time of the abnormal logic flow reaches a preset time.

[0260] It should be noted that steps 903 to 905 above are optional steps.

[0261] In this solution, appropriate control strategies are designed to handle exceptions in the event of abnormal logical flow, thereby reducing the impact on user services.

[0262] Based on the logic flow processing method provided above, the specific application of the logic flow processing method will be explained. Figure 13 This is a flowchart illustrating a specific application of a logic flow processing method provided for the implementation of this invention. For example... Figure 13 As shown, the specific content includes:

[0263] The management platform 120 may include a data model configurator, a logic model orchestrator, a preprocessing mechanism, and a logic flow executor.

[0264] The data model configurator is used to configure the data model. For example, the data model configurator provides a field component library, which includes multiple fields. Users can configure multiple fields through the field component library to obtain the data model.

[0265] The logic model orchestrator includes trigger event templates, rule filters, and action configurators; the trigger event templates are used to configure trigger events (see details). Figure 3a and Figure 3b (See related descriptions); rule filters are used to configure filtering rules; action configurators are used to configure actions (see details). Figures 5a to 5e (Related description).

[0266] The preprocessing mechanism can be used for merging and splitting logic flows, as well as for logic impact detection. For details on merging logic flows, please refer to [link to relevant documentation]. Figures 10a to 10d For related descriptions and detailed information on the decomposition of logic flows, please refer to [link / reference]. Figure 11a and Figure 11b For related descriptions and detailed information on logical conflict detection, please refer to the above section on step 202 and... Figures 7a to 7d The description will not be repeated here. It should be noted that merging and splitting logical flows are optional, not mandatory.

[0267] The logic flow executor includes a debugging space and an execution space. The debugging space provides instance data for debugging the logic flow, while the execution space contains data used in actual business operations for actually executing the logic flow.

[0268] exist Figure 13 Based on this, embodiments of the present invention provide a logic stream processing scenario, such as... Figure 14 As shown, the specific content includes:

[0269] Users configure the data model through the data model configurator.

[0270] Users select the model to which they belong through the logic model orchestrator, create a new logic flow, configure triggers, and then add actions or configure rule filters. If actions need to be added, the output type and output mapping must be configured, followed by configuring the action configurator. This process continues, selecting and configuring actions or rule filters, looping continuously to obtain the logic flow. For example, see [link to example]. Figure 6a and Figure 6b .

[0271] After configuring multiple logical flows through the logical model orchestrator, the preprocessing mechanism merges and / or splits the multiple logical flows to obtain multiple logical flows.

[0272] Then, the preprocessing mechanism determines the input data model (such as the first data model mentioned above) and the output strategy of the processing result for each logical flow in the multiple logical flows, and performs logical conflict verification based on the input data model and the output strategy of the processing result for each logical flow.

[0273] After logical conflict verification passes, the logic flow executor debugs multiple logic flows through the call space. Once debugging is successful (i.e., multiple logic flows are error-free), multiple logic flows are published. The logic flow executor then executes these multiple logic flows through the execution space. Subsequently, when the logic flows are running business data, the collection strategy collects the execution status of the logic flows and obtains the execution results. Based on the execution results, the control strategy determines whether there are any abnormal logic flows. If so, abnormal logic flows are handled as follows: execution of the abnormal logic flow is stopped when the number of logic flows executed sequentially from which it originates reaches a preset threshold; and / or, execution of the abnormal logic flow is stopped when its execution duration reaches a preset duration.

[0274] In some potential scenarios, the management platform 120 needs to address various factory business requirements. It can support the MES (Manufacturing Execution System) to improve the automation and intelligence of the production process, optimize resource allocation, and ensure the smooth execution of production plans. For example, the logical flow is used to complete the production order processing flow, which includes a series of processes such as order receipt, verification, breakdown, and scheduling. The logical flow is as follows:

[0275] Order Receiving: Upon receiving order information, the logical flow is automatically triggered.

[0276] Order verification: The order information is passed to the verification module to check the validity of the order, such as product model, quantity, delivery date, etc.

[0277] Order breakdown: After verification, the order is broken down into specific production tasks and assigned to the corresponding production line or work center.

[0278] Production scheduling: Based on production capacity and resource availability, the logical flow automatically or manually adjusts the sequence and timing of production tasks to ensure the smooth execution of the production plan.

[0279] When executing the logical flow, once a customer places a production order, the MES system needs to process this order, including a series of processes such as order receipt, verification, breakdown, and scheduling. These processes can be automated through logical flow modeling.

[0280] Order Receiving: After the MES system receives the order information, it automatically triggers the start of the logical flow.

[0281] Order verification: The logic flow passes the order information to the verification module to check the validity of the order, such as product model, quantity, delivery date, etc.

[0282] Order decomposition: After verification, the logic flow decomposes the order into specific production tasks and assigns them to the corresponding production line or work center.

[0283] Production scheduling: Based on production capacity and resource availability, the logical flow automatically or manually adjusts the sequence and timing of production tasks to ensure the smooth execution of the production plan.

[0284] It should be noted that the first, second, third, fourth, fifth, and sixth names in the embodiments of the present invention are merely a naming method used for ease of description and distinction, and do not have any actual meaning in themselves; other naming methods may also be used in some other possible scenarios.

[0285] The present invention also provides a logic stream processing apparatus, which is applied to a management platform for managing infrastructure. The infrastructure stores multiple data models of a user, and each data model includes multiple fields, such as... Figure 15 As shown, it includes:

[0286] The first acquisition module is used to acquire the first logical flow model input by the user. The first logical flow model includes a first logical flow, and the first logical flow includes a first processing. The first processing is used to process the first field of the first data model to obtain a first processing result. The first data model belongs to multiple data models.

[0287] The second acquisition module is used to acquire the second logical flow model input by the user. The second logical flow model includes a second logical flow, and the second logical flow includes a second processing. The second processing is used to process the second field of the second data model to obtain the second processing result. The second data model belongs to multiple data models.

[0288] The anomaly analysis module is used to detect whether there are anomalies in the logical flows corresponding to multiple logical flow models.

[0289] The publishing module is used to publish a second logical flow if there are no anomalies in the logical flows corresponding to multiple logical flow models.

[0290] The acquisition module, the second acquisition module, the anomaly analysis module, and the publishing module can all be implemented in software or hardware. For example, the implementation of the acquisition module will be described below. Similarly, the implementation of the second acquisition module, the anomaly analysis module, and the publishing module can refer to the implementation of the acquisition module.

[0291] As an example of a software functional unit, a module can include code running on a computing instance. A computing instance can include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned computing instance can be one or more. For example, a module can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code can be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region can include multiple AZs.

[0292] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0293] As an example of a hardware functional unit, an acquisition module may include at least one computing device, such as a server. Alternatively, an acquisition module may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0294] The acquisition module includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the acquisition module can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the acquisition module can be distributed within the same Virtual Private Cloud (VPC) or multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0295] It should be noted that, in other embodiments, the acquisition module can be used to execute any step in the logical flow processing method, such as Figure 2 , Figure 8b , Figure 9 In any step of the method shown, the second acquisition module can be used to execute any step of the logical flow processing method, such as... Figure 2 , Figure 8b , Figure 9 The exception analysis module can be used to execute any step in the logical flow processing method, such as... Figure 2 , Figure 8b , Figure 9 The publishing module can be used to execute any step in the logical flow processing method, such as... Figure 2 , Figure 8b , Figure 9 In the method shown, the steps implemented by the acquisition module, the second acquisition module, the exception analysis module, and the release module can be specified as needed. The acquisition module, the second acquisition module, the exception analysis module, and the release module respectively implement different steps in the logic flow processing method to realize all the functions of the logic flow processing device.

[0296] The present invention also provides a computing device 1600. For example... Figure 16 As shown, the computing device 1600 includes a bus 1602, a processor 1604, a memory 1606, and a communication interface 1608. The processor 1604, the memory 1606, and the communication interface 1608 communicate with each other via the bus 1602. The computing device 1600 can be a server or a terminal device. It should be understood that the present invention does not limit the number of processors and memories in the computing device 1600.

[0297] The 1602 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 16 The bus 1602 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 1602 may include a path for transmitting information between various components of the computing device 1600 (e.g., memory 1606, processor 1604, communication interface 1608).

[0298] Processor 1604 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0299] The memory 1606 may include volatile memory, such as random access memory (RAM). The processor 1604 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0300] The memory 1606 stores executable program code, which the processor 1604 executes to implement the functions of the aforementioned acquisition module, second acquisition module, exception analysis module, and release module, thereby realizing the logic flow processing method. That is, the memory 1606 stores instructions for executing the logic flow processing method, such as... Figure 2 , Figure 8b , Figure 9 The instructions for the method shown.

[0301] The communication interface 1608 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 1600 and other devices or communication networks.

[0302] This invention also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0303] like Figure 17 As shown, the computing device cluster includes at least one computing device 1600. The memory 1606 of one or more computing devices 1600 in the computing device cluster may store the same instructions for executing logical flow processing methods, such as... Figure 2 , Figure 8b , Figure 9 The instructions for the method shown.

[0304] In some possible implementations, the memory 1606 of one or more computing devices 1600 in the computing device cluster may also store partial instructions for executing logical flow processing methods, such as... Figure 2 , Figure 8b , Figure 9 The instructions of the method shown are partial instructions. In other words, a combination of one or more computing devices 1600 can jointly execute instructions for performing logical flow processing methods, such as... Figure 2 , Figure 8b , Figure 9 The instructions for the method shown.

[0305] It should be noted that the memory 1606 in different computing devices 1600 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the logic stream processing device. That is, the instructions stored in the memory 1606 of different computing devices 1600 can implement the functions of one or more modules among the acquisition module, the second acquisition module, the exception analysis module, and the release module.

[0306] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 18 One possible implementation is shown. For example... Figure 18As shown, the two computing devices 1600A and 1600B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 1606 in computing device 1600A stores instructions for executing the functions of the acquisition module. Simultaneously, the memory 1606 in computing device 1600B stores instructions for executing the functions of the second acquisition module, the exception analysis module, and the release module.

[0307] Figure 18 The connection method between the computing device clusters shown can be based on the fact that the logic flow processing method provided by the present invention needs to acquire a large amount of logic flow data, and then perform statistical preprocessing on the large amount of logic flow data. Therefore, it is considered that the functions implemented by the second acquisition module, the anomaly analysis module and the release module are handed over to the computing device 1600B for execution.

[0308] It should be understood that Figure 18 The functions of computing device 1600A shown can also be performed by multiple computing devices 1600. Similarly, the functions of computing device 1600B can also be performed by multiple computing devices 1600.

[0309] This invention also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product runs on at least one computing device, it causes the at least one computing device to perform a logical flow processing method, such as... Figure 2 , Figure 8b , Figure 9 The method shown.

[0310] This invention also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a logical flow processing method, such as... Figure 2 , Figure 8b , Figure 9 The method shown.

[0311] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.

[0312] The basic principles of the present invention have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in the present invention are merely examples and not limitations, and should not be considered as essential features of the various embodiments of the present disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of the present disclosure to the necessity of employing the specific details described above.

[0313] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.

[0314] It should also be noted that in the apparatus, devices, and methods of this disclosure, the components or steps can be disassembled and / or recombined. These disassemblies and / or recombinations should be considered as equivalent solutions to this disclosure.

[0315] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.

[0316] It is understood that the various numerical designations used in the embodiments of the present invention are merely for descriptive convenience and are not intended to limit the scope of the embodiments of the present invention.

Claims

1. A logic flow processing method, characterized in that, The method is applied to a management platform for managing infrastructure, which stores multiple data models of users. Each of the multiple data models includes multiple fields. The method includes: Obtain the first logical flow model of the user input, the first logical flow model includes a first logical flow, the first logical flow includes a first processing, the first processing is used to process a first field of the first data model to obtain a first processing result, wherein the first data model belongs to the plurality of data models; A second logical flow model is obtained from the user input. The second logical flow model includes a second logical flow, which includes a second processing. The second processing is used to obtain a second processing result based on a second field of the second data model. The second data model belongs to the plurality of data models. Based on the first logic flow model and the second logic flow model, detect whether there is an anomaly in the second logic flow; If there is no anomaly in the second logical flow, publish the second logical flow.

2. The method according to claim 1, characterized in that, The first logical flow model further includes a first triggering event, which is used to trigger the first logical flow to execute the first processing.

3. The method according to claim 1 or 2, characterized in that, The first logical flow includes a third process, the processing object of the third process is the first field and the third field of the third data model, the third process is used to obtain a third processing result based on the first field and the third field, wherein the third data model belongs to the plurality of data models.

4. The method according to claims 1 to 3, characterized in that, The first logic flow is also used to output the first processing result to the fourth data model, the fourth data model belonging to the plurality of data models, wherein the first processing result is associated with the fourth field of the fourth data model.

5. The method according to any one of claims 1 to 4, characterized in that, The step of detecting whether there are anomalies in the first logical flow and the second logical flow based on the first logical flow model and the second logical flow model includes: Obtain data model dependencies, wherein the data model dependencies are used to indicate the dependencies between the data models related to the first logical flow and the second logical flow; Based on the data model dependencies, logical flow dependencies are determined, wherein the logical flow dependencies are used to indicate the dependencies between the first logical flow and the second logical flow; Based on the logical flow dependency relationship, determine whether there is an anomaly in the second logical flow.

6. The method according to any one of claims 1 to 5, characterized in that, Before publishing the second logical stream, the method further includes: Obtain the test data for the second logical flow; Based on the test data, the second logic flow is debugged to obtain the debugging results.

7. The method according to any one of claims 1 to 6, characterized in that, After publishing the second logical stream, the method further includes: Obtain the user's business data; Based on the business data, the first logical flow and the second logical flow are run to obtain the running results.

8. The method according to claim 7, characterized in that, Before running the logical flows corresponding to the multiple logical flow models, the process also includes: Obtain a logic flow orchestration scheme, which is used to describe the execution order of the first logic flow and the second logic flow; The logic flow corresponding to the multiple logic flow models includes: Based on the business data and the logical flow orchestration scheme, the first logical flow and the second logical flow are run.

9. The method according to any one of claims 7 or 8, characterized in that, Before running the first logic stream and the second logic stream to obtain the running result, the process also includes: The user input collection strategy is obtained, and the collection strategy is used to indicate the scheme for collecting the first logic stream and the second logic stream; The process of running the first logic stream and the second logic stream to obtain the running results includes: Run the first logic flow, the second logic flow, and the acquisition strategy to obtain the running results.

10. The method according to any one of claims 7 to 9, characterized in that, The method further includes: Based on the execution results, the exception logic flow is obtained; The control strategy input by the user is obtained, and the control strategy is used to indicate the processing scheme of the abnormal logic flow; The control strategy is executed on the abnormal logic flow.

11. The method according to claim 10, characterized in that, The execution of the control strategy on the abnormal logic flow includes: When the number of logic flows executed sequentially from the abnormal logic flow reaches a preset threshold, the execution of the abnormal logic flow is stopped; and / or, When the execution time of the abnormal logic flow reaches a preset time, the execution of the abnormal logic flow is stopped.

12. A logic stream processing apparatus, characterized in that, The device is applied to a management platform, which manages infrastructure. The infrastructure stores multiple data models of users, each of which includes multiple fields. The device includes: The first acquisition module is used to acquire the first logical flow model input by the user. The first logical flow model includes a first logical flow, and the first logical flow includes a first processing. The first processing is used to obtain a first processing result based on a first field of the first data model. The first data model belongs to the plurality of data models. The first acquisition module is used to acquire the second logical flow model input by the user. The second logical flow model includes a second logical flow, and the second logical flow includes a second processing. The second processing is used to obtain a second processing result based on a second field of the second data model. The second data model belongs to the plurality of data models. The anomaly analysis module is used to detect whether there is an anomaly in the second logical flow based on the first logical flow model and the second logical flow model; The publishing module is used to publish the second logical flow if there is no exception in the second logical flow.

13. The apparatus according to claim 12, characterized in that, The first logical flow model further includes a first triggering event, which is used to trigger the first logical flow to execute the first processing.

14. The apparatus according to claim 12 or 13, characterized in that, The first logical flow includes a third process, the processing object of the third process is the first field and the third field of the third data model, the third process is used to obtain a third processing result based on the first field and the third field, wherein the third data model belongs to the plurality of data models.

15. The apparatus according to any one of claims 12 to 14, characterized in that, The first logic flow is also used to output the first processing result to the fourth data model, the fourth data model belonging to the plurality of data models, wherein the first processing result is associated with the fourth field of the fourth data model.

16. The apparatus according to any one of claims 12 to 15, characterized in that, The anomaly analysis module is used to obtain data model dependencies, wherein the data model dependencies are used to indicate the dependencies between the data models related to the first logical flow and the second logical flow; based on the data model dependencies, determine logical flow dependencies, wherein the logical flow dependencies are used to indicate the dependencies between the first logical flow and the second logical flow; and based on the logical flow dependencies, determine whether there is an anomaly in the second logical flow.

17. The apparatus according to claims 12 to 16, characterized in that, The device further includes: The debugging module is used to acquire test data of the second logic flow; based on the test data, the second logic flow is debugged to obtain debugging results.

18. The apparatus according to any one of claims 12 to 17, characterized in that, The device further includes: The execution module is used to acquire the user's business data; based on the business data, it executes the first logic flow and the second logic flow to obtain the execution result.

19. The apparatus according to claim 18, characterized in that, The execution module is used to obtain a logical flow orchestration scheme, which describes the execution order of the first logical flow and the second logical flow; and to run the first logical flow and the second logical flow based on the business data and the logical flow orchestration scheme.

20. The apparatus according to claim 18 or 19, characterized in that, The running module is used to obtain the collection strategy input by the user, the collection strategy being used to indicate the scheme for collecting the first logic stream and the second logic stream; and to run the first logic stream, the second logic stream, and the collection strategy to obtain the running result.

21. The apparatus according to any one of claims 18 to 20, characterized in that, The running module is used to obtain an abnormal logic flow based on the running results; and to obtain the control policy input by the user, wherein the control policy is used to indicate the processing scheme of the abnormal logic flow. The control strategy is executed on the abnormal logic flow.

22. The apparatus according to claim 21, characterized in that, The running module is configured to stop executing the abnormal logic flow when the number of logic flows executed sequentially from the abnormal logic flow reaches a preset threshold; and / or, stop executing the abnormal logic flow when the execution time of the abnormal logic flow reaches a preset duration.

23. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 11.

24. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1 to 11.

25. A computer-readable storage medium, characterized in that, Includes computer program instructions, which, when executed by a cluster of computing devices, perform the method as described in any one of claims 1 to 11.