A data processing method, apparatus, medium, and program product

CN122756751APending Publication Date: 2026-09-15SHANGHAI BILIBILI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610709828.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-21
Publication Date
2026-09-15

Smart Images

  • Figure CN122756751A_ABST
    Figure CN122756751A_ABST
Patent Text Reader

Abstract

This application provides a data processing method, apparatus, electronic device, computer-readable medium, and computer program product. The method includes: acquiring strategy configuration information corresponding to a business decision request, the strategy configuration information including process configuration description information describing the type, attributes, and connection relationships of each node in the decision process orchestration; constructing a directed acyclic graph (DAG) by parsing the process configuration description information, where each node of the DAG is assigned decision process semantics; based on the DAG, executing the corresponding operations of each node according to the control logic corresponding to the decision process semantics of each node, starting from the starting node; and performing settlement processing on the operation results to obtain a decision result, the settlement processing including a first-level settlement and a second-level settlement, where the first-level settlement is performed within a node, and the second-level settlement is performed on the output results of each node according to node relationships. This application, by acquiring strategy configuration information used to define the decision process structure, node relationships, and execution rules under a specific business scenario, and parsing its process configuration description information to construct a DAG with decision process-specific semantics, realizes the visual definition and flexible assembly of complex multi-stage decision processes, reducing the threshold for strategy configuration and improving configuration efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, electronic device, computer-readable medium, and computer program product. Background Technology

[0002] In business scenarios such as risk assessment and business control on internet platforms, strategy systems are the core component for achieving automated decision-making. Based on existing technologies, strategy system implementation typically includes: 1) Flat strategy configuration based on a single rule engine. This approach configures business rules in a rule set at the same level, and outputs the decision result after matching rules one by one or in parallel through the rule engine. This approach has a clear structure and is widely used in scenarios with a small number of rules and relatively simple logical relationships; 2) Business process management based on a process engine. Traditional process engines focus on the flow control of business processes, such as approval workflows or work order workflows, with their core being the state transitions and task assignments between participants. These engines can achieve multi-step, multi-branch process orchestration and are suitable for business scenarios requiring cross-role or cross-system collaborative processing.

[0003] As internet platform business scenarios become increasingly complex, single decisions often involve comprehensive judgments across multiple stages and conditions. The demand for reusable and unified management of strategy capabilities across different business lines is also gradually increasing. Against this backdrop, how to integrate rule matching and process orchestration capabilities within a single framework, and support flexible and diverse execution modes and strategy version management, has become a direction worthy of further exploration. Summary of the Invention

[0004] This application provides a data processing method, apparatus, electronic device, computer-readable medium, and computer program product in several aspects.

[0005] One aspect of this application provides a data processing method, wherein the method includes:

[0006] Obtain the strategy configuration information corresponding to the business decision request. The strategy configuration information includes process configuration description information that describes the type, attributes and connection relationships of each node in the decision process orchestration.

[0007] By parsing the process configuration description information, a directed acyclic graph is constructed, and each node of the directed acyclic graph is assigned decision process semantics.

[0008] Based on the directed acyclic graph, starting from the starting node, the corresponding operations of each node are executed according to the control logic corresponding to the decision flow semantics of each node;

[0009] The calculation results are processed to obtain the decision result. The processing includes a first-level settlement and a second-level settlement. The first-level settlement is performed within the node, and the second-level settlement is performed on the output results of each node according to the node relationship.

[0010] In one aspect, this application provides a data processing apparatus, wherein the apparatus comprises:

[0011] The configuration information acquisition module is used to acquire the strategy configuration information corresponding to the business decision request. The strategy configuration information includes process configuration description information that describes the type, attributes and connection relationships of each node in the decision process orchestration.

[0012] The graph construction module is used to construct a directed acyclic graph by parsing the process configuration description information, and each node of the directed acyclic graph is assigned decision process semantics.

[0013] The node execution module is used to execute the corresponding operations of each node according to the control logic corresponding to the decision flow semantics of each node, starting from the starting node, based on the directed acyclic graph.

[0014] The settlement processing module is used to process the calculation results to obtain the decision result. The settlement processing includes a first-level settlement and a second-level settlement. The first-level settlement is the settlement performed within the node, and the second-level settlement is the settlement performed on the output results of each node according to the node relationship.

[0015] In another aspect of this application, an electronic device is provided, the electronic device comprising:

[0016] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods of the embodiments of this application.

[0017] In another aspect, this application provides a computer-readable storage medium having stored thereon computer program instructions that can be executed by a processor to implement the methods of the embodiments of this application.

[0018] Another aspect of this application provides a computer program product, including a computer program that, when executed by a processor, implements the methods of embodiments of this application.

[0019] The solution provided in this application obtains strategy configuration information for defining the decision-making process structure, node relationships, and execution rules under specific business scenarios, and parses its process configuration description information to construct a directed acyclic graph with decision-making process-specific semantics. This enables the visual definition and flexible assembly of complex multi-stage decision-making processes, improving decision-making efficiency. By executing the corresponding operations of each node according to control semantics based on the directed acyclic graph starting from the starting node, the integration of rule matching capability and process control capability is achieved, avoiding the high complexity brought about by introducing an independent process control mechanism and improving the adaptability to diverse business scenarios. By performing settlement processing on the calculation results, including first-level settlement within the node and second-level settlement executed according to node relationships, a hierarchical decision settlement mechanism is realized, improving the certainty and predictability of the final decision result in complex decision-making scenarios. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:

[0022] Figure 1 A flowchart illustrating a data processing method according to an embodiment of this application is shown.

[0023] Figure 2 A flowchart illustrating an exemplary decision-making process arrangement of node elements and a process DSL according to an embodiment of this application is shown.

[0024] Figure 3 A schematic diagram of the architecture of an exemplary system for decision process orchestration according to an embodiment of this application is shown;

[0025] Figure 4 This paper shows a schematic diagram of the structure of a data processing apparatus provided in an embodiment of the present application;

[0026] Figure 5 A schematic diagram of the structure of a device suitable for implementing the scheme in the embodiments of this application is shown.

[0027] The same or similar reference numerals in the accompanying drawings represent the same or similar parts. Detailed Implementation

[0028] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0029] In a typical configuration of this application, the terminal and the service network devices each include one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0030] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0031] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer program instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only optical disc (CD-ROM), digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0032] Figure 1 A schematic flowchart of a data processing method provided in an embodiment of this application is shown. The method includes at least steps S101, S102, S103, and S104.

[0033] In practical scenarios, the execution entity of this method can be a network device or an application running on a network device. The network device includes, but is not limited to, network hosts, single network servers, sets of multiple network servers, or cloud computing-based computer collections. Here, the cloud consists of a large number of hosts or network servers based on cloud computing, where cloud computing is a type of distributed computing, a virtual computer composed of a loosely coupled set of computers.

[0034] In practical scenarios, the execution entity of this method can be a system used for decision process orchestration. Decision process orchestration is a strategy organization method that assembles and connects multiple rule decision sets according to a directed acyclic graph structure through a visual process definition, used to realize multi-step, multi-condition decision processes in complex business scenarios. A rule decision set is a basic unit encapsulated from multiple rules and decisions, supporting various execution modes such as strictest and sequential, and is the smallest orchestratable node in decision process orchestration. A strategy set is the top-level container for strategy orchestration, organized from multiple rule decision set nodes through a directed acyclic graph structure, defining a complete decision process. A strategy set includes a start node, an end node, and several rule decision set nodes and conditional branch nodes. It should be noted that all data acquisition involved in this application was conducted in a private enterprise network environment, without involving any personal privacy information or sensitive user data, and the image acquisition process has been anonymized.

[0035] Reference Figure 1 In step S101, the strategy configuration information corresponding to the business decision request is obtained.

[0036] The business decision request is used to request a strategy determination for a specific business scenario. It includes at least a scenario identifier and business request data. The scenario identifier indicates the business scenario to be processed and locates the corresponding strategy configuration. The business request data includes the data content to be processed, user attributes, etc. The business decision request in this embodiment is not limited to a specific business scenario; it is applicable to any scenario requiring multi-step conditional judgment and output of decision results. For example, in a financial risk assessment scenario, the business decision request may involve transaction risk determination, orchestrating identity verification, transaction feature analysis, risk level assessment, and handling decisions into a multi-stage process; in a community governance scenario, it may involve user behavior determination, orchestrating behavior identification, severity assessment, and handling decisions in a chain; in a recommendation strategy scenario, it may involve content recommendation priority determination, orchestrating operational top-ranking rule matching, algorithm recommendation, and user profile branch paths in a chain.

[0037] The strategy configuration information includes process configuration description information that describes the type, attributes, and connection relationships of each node in the strategy orchestration. Optionally, the strategy configuration information includes a process-specific description language (DSL), which uses JSON format to describe the type, attributes, and connection relationships of each node element in the decision-making process. This DSL is used to define the complete decision path from the start node to the end node and serves as the underlying data representation for visualizing the process definition.

[0038] Optionally, in addition to process configuration description information, the strategy configuration information may also include decision process description information, strategy set version number, or the association configuration between nodes and rule decision sets, etc.

[0039] According to one embodiment, in step S101, in response to receiving a business decision request, the system queries whether the decision process orchestration function has been enabled for the corresponding scenario based on the scenario identifier. If the decision process orchestration function is not enabled for the scenario, the business decision request is routed to the existing rule engine execution logic to ensure compatibility processing of existing services; if the decision process orchestration function is enabled for the scenario, the system enters the decision process orchestration execution process to obtain the policy configuration information of the currently deployed version.

[0040] In step S102, a directed acyclic graph is constructed by parsing the process configuration description information, and each node of the directed acyclic graph is assigned decision process semantics.

[0041] The decision process semantics refers to the node business meaning centered on strategy decision-making, which is used to indicate the specific computing capabilities of each node in performing rule matching, decision settlement or process control, so that the decision process semantics of this application embodiment are different from the general task flow semantics.

[0042] In this DAG, each node corresponds to a different type of computation node in the process definition, such as rule decision set nodes, condition branch nodes, parallel control nodes, and start and end nodes. Rule decision set nodes correspond to specific rule decision sets, condition branch nodes correspond to branch judgment conditions, and parallel control nodes correspond to concurrent execution control. Edges in the DAG represent execution dependencies between nodes and are used to define the decision process path from the start node to the end node.

[0043] According to one embodiment, the node includes a rule decision set node, a conditional branch node, and a parallel control node.

[0044] The rule decision set node (ACTIVITY) is bound to the rule decision set and is used to perform batch rule matching and perform intra-node settlement according to the configured running mode, and output the decision results after rule matching and mode settlement.

[0045] The conditional branch node includes a condition judgment node (IF node), a multi-branch node (SWITCH node), and a CONDITION node. The IF node supports determining the branch path based on factor values ​​or rule matching results, thus enabling the integration of process control and the rule engine. The SWITCH node supports multi-branch selection based on multiple factors. The priority condition node (CONDITION node) supports evaluating rules in priority order and configuring default branch paths.

[0046] The parallel control node includes a parallel trigger node (WHEN node) and a summary node (SUMMARY node), which are used to explicitly specify the scope of concurrent execution. The parallel node triggers the concurrent execution of downstream branches, and the summary node waits for all actually executed concurrent branches to complete before continuing the subsequent process.

[0047] In this system, intermediate computation results are passed between nodes through a decision context, and a two-tier settlement mechanism is used to achieve node collaboration in multi-stage decision-making scenarios, where settlement is based on operating mode within nodes and on priority or coverage relationships between nodes. The decision context refers to the contextual data structure used to pass intermediate computation results and status information between nodes during strategy orchestration and execution.

[0048] The execution order of nodes is determined by executing successor nodes sequentially along the edges starting from the starting node. Execution is serial by default, and downstream branches are only triggered for concurrent execution when a parallel gateway is encountered. Paths not selected by the conditional branch and their downstream nodes will be skipped.

[0049] For example, Figure 2 This illustration shows the node elements and process DSL of an exemplary decision-making process arrangement in an embodiment of this application. It includes the name, type, definition, and corresponding legend of each node element.

[0050] According to one embodiment, the process of constructing a DAG includes steps S1021 to S1025.

[0051] In step S1021, a set of node elements and a set of connecting edges are extracted from the process configuration description information; wherein, the node elements are various types of node objects defined in the process configuration description information, used to represent different computational stages in the decision-making process, and the connecting edges are edge elements used to define the directed connection relationship between nodes, including the starting node identifier and the target node identifier.

[0052] In step S1022, for each node element in the node element set, a corresponding node object is created according to its node type. The node types include start node, end node, rule decision set node, conditional branch node, parallel control node, and summary node.

[0053] In step S1023, for each node object, the corresponding decision process semantics are assigned to the node object according to its node type.

[0054] Specifically, for each rule decision set node, its associated rule decision set identifier and operating mode configuration are read, and decision process semantics for rule matching and intra-node settlement are assigned to it. By assigning decision process semantics, the rule decision set node can perform batch rule matching and intra-node settlement according to the configured operating mode, and output the decision results after rule matching and mode settlement.

[0055] For conditional branch nodes, their bound evaluation conditions and branch path configurations are read, and decision-making process semantics for path selection and pruning are assigned to them. By assigning decision-making process semantics, conditional branch nodes can evaluate conditional expressions to determine subsequent branch paths, and unselected branches and all their downstream nodes are directly marked as skipped. The conditional branch nodes can support two methods to determine branch paths: judging by factor values ​​or judging by rule matching results.

[0056] For parallel control nodes, assign them decision-making process semantics for triggering concurrent execution. By assigning decision-making process semantics, the parallel control node can simultaneously launch all downstream branches for concurrent execution.

[0057] For the aggregation node, assign it the semantics of a decision-making process that waits for synchronization. By assigning this semantics, the aggregation node will wait for all concurrent branches that are actually executed to complete before continuing to execute subsequent processes.

[0058] In step S1024, for each connection edge in the set of connection edges, a directed connection relationship is established between nodes based on its starting node identifier and target node identifier. Optionally, when a connection edge starts at a conditional branch node, its condition attributes are read. The condition attributes include evaluation conditions judged by factor values ​​or by rule matching results, which are used to determine the subsequent execution path of the conditional branch node.

[0059] In step S1025, a directed acyclic graph (DAG) is obtained based on the created node objects and directed connections. Specifically, the created node objects and directed connections are assembled to form a complete DAG. This DAG contains only one start node with an in-degree of zero and one end node with an out-degree of zero, and there are no cycles.

[0060] Continue to refer to Figure 1 To explain, in step S103, based on the directed acyclic graph, starting from the starting node, the corresponding operations of each node are executed according to the control logic corresponding to the decision flow semantics of each node.

[0061] According to one embodiment, the node includes a rule decision set node, a conditional branch node, a parallel triggering node, and a summary node. Step S103 of this embodiment includes:

[0062] Execute the successor nodes sequentially along the edges starting from the start node. By default, the execution is performed in a serial manner.

[0063] When execution reaches the rule decision set node, batch rule matching is performed. When execution reaches the conditional branch node, the conditional expression is evaluated to determine the subsequent branch path. When execution reaches the parallel trigger node, each downstream branch is started to concurrently execute the calculations of the nodes on that branch, with each branch running independently. When execution reaches the summary node, the calculations of the subsequent nodes are executed only after all the concurrently executed branches have completed their execution. The conditional branch node supports determining the branch path based on factor values ​​or rule matching results, executing only branches that meet the conditions; unselected branches and all their downstream nodes are marked as skipped.

[0064] Optionally, when execution reaches the rule decision set node, batch rule matching and factor calculation are performed according to a preset factor calculation mode, which includes a top-down mode and a bottom-up mode. In the top-down mode, for the current rule to be determined, the values ​​of the factors it depends on are recursively calculated when the condition judgment of the rule is indeed necessary; in the bottom-up mode, the values ​​of all basic factors are pre-calculated in batches, and then the rule judgment result is derived layer by layer upwards.

[0065] Specifically, in the top-down approach, for the current rule to be decided, the factors on which the conditional expression of the rule depends are analyzed, and the values ​​of these factors are recursively calculated as needed. The calculation of a factor is triggered only when the rule's decision process actually requires its value, thus avoiding unnecessary external calls, such as calls to external services. This approach, which only triggers the calculation of a factor when the rule's conditional judgment actually requires its value, is suitable for scenarios where factors heavily rely on external services and can effectively prevent read amplification issues affecting downstream services.

[0066] In the bottom-up approach, the values ​​of all basic factors are pre-calculated in batches, and then the judgment results of the rules are derived layer by layer upwards. This approach reduces the number of calculation levels and calls by batch parallelizing factor calculations, making it suitable for scenarios where factors are mainly calculated locally and external calls are few, thus significantly improving execution efficiency.

[0067] According to another embodiment, this application sets factor calculation modes according to business domains. Each business domain corresponds to a different business line or business segment, and supports overriding the default value at the specific scenario level. For example, the risk assessment business domain uses a bottom-up mode by default, and the content recognition business domain uses a top-down mode by default. If a specific scenario requires a different calculation mode, it can be set separately in the scenario configuration. Operations personnel can complete the mode adjustment through the backend configuration page without modifying the code or restarting the service.

[0068] According to another embodiment, after the conditional branch node determines the branch path, all nodes under the unselected branch are directly marked as skipped and no longer executed. For example, when the conditional branch node determines after evaluation that only the left branch will be executed and the right branch will be skipped, the summary node can continue the subsequent process only after the left branch is completed, without waiting for the pruned right branch. This embodiment achieves path pruning by directly marking the unselected branch and all its downstream nodes as skipped after the conditional branch node completes path evaluation. This prevents pruned nodes from being executed and from triggering rule matching requests, thereby saving unnecessary computing resources and external call overhead.

[0069] According to another embodiment, within the concurrency range controlled by the parallel node and the aggregation node, if a branch is marked as skipped by the upstream condition node, the aggregation node only waits for the actually running branch to complete, without waiting for the skipped branch. By waiting only for the actually running concurrent branch to complete at the aggregation node, branches that have been pruned by the upstream condition node are no longer included in the waiting range, dynamic optimization of concurrent waiting is achieved, improving concurrent execution efficiency.

[0070] Continue to refer to Figure 1 To explain, in step S104, the calculation results are processed to obtain the decision result.

[0071] The settlement process includes a first-level settlement and a second-level settlement. The first-level settlement is performed within a node, and the second-level settlement is performed on the output results of each node according to the node relationship.

[0072] According to one embodiment, the first-level settlement is performed within the rule decision set node. The process of the first-level settlement includes: after the batch rule matching is completed, internal settlement is performed according to the running mode configured for the node to obtain the decision result of the node and write the decision result into the decision context.

[0073] The operating modes include the strictest mode, the sequential mode, the voting mode, and the weighted mode.

[0074] In the strictest mode, all rules in the rule decision set are matched in parallel, the decision results of all matched rules are collected, and they are sorted according to the preset priority of decision severity. The decision result with the highest priority is used as the output of the rule decision set. This mode is suitable for scenarios that require ensuring that no risk is missed.

[0075] In sequential mode, each rule is matched sequentially according to its priority configuration in the decision set. When a rule is matched and a termination flag is set, matching of subsequent rules immediately stops, and the decision result of that rule is used as the output. If a rule is matched but no termination flag is set, the decision is recorded, and matching of subsequent rules continues. If all rules are matched, the decision result of the last matched rule is used as the output. This mode is suitable for scenarios where rules have priority relationships and need to be judged step by step in a specific order.

[0076] In voting mode, all rules are matched in parallel, the hit count of each decision is counted, and the decision with the most votes is taken as the output. If there is a tie, the decision with the highest priority is taken as the output. This mode is suitable for scenarios where multiple models judge the same content separately and it is necessary to combine the majority opinion to reduce the impact of misjudgment by a single model.

[0077] In weighted mode, all rules are matched in parallel. Each matching rule is assigned a preset weight score, which is then accumulated to obtain a total score. The decision result is determined based on the interval in which the total score falls. This mode is suitable for scenarios involving multi-factor comprehensive evaluation. Each operating mode is implemented through a unified settlement interface. Adding a new operating mode only requires implementing this interface, without modifying the scheduling framework.

[0078] According to one embodiment, the second-level settlement process includes: for sibling nodes at the same execution level that have no dependencies on each other, the decision result with the highest priority among all node decisions is taken as the settlement result for that execution level. Specifically, the decision results of each node are settled in the strictest manner according to their decision priorities, and the decision result with the highest priority is taken.

[0079] For parent and child nodes with upstream and downstream dependencies, the decision result of the child node (i.e., the node to be executed later) overrides the decision result of the parent node (i.e., the node to be executed earlier). That is, the decision result of the node to be executed later is taken as the final decision result of the branch path, so that the node to be executed later makes the final decision based on the result of the node to be executed earlier.

[0080] Optionally, each node writes key-value pairs to the decision context during execution to transmit intermediate decision results. If multiple nodes write different values ​​to the same key, a last-write-wins mechanism is used, where the value written by the later-executed node overwrites the value written by the earlier-executed node according to the execution order. For example, in a risk assessment process, the preceding rule decision set node writes the initial risk assessment result to the decision context. Subsequent comprehensive decision nodes read this result, perform a comprehensive judgment, and write the updated risk level back to the same key. The last-write-wins mechanism ensures that the decision context always reflects the judgment conclusion of the latest-executed node. As another example, in a parallel execution scenario, multiple sibling nodes write their respective processing statuses to the decision context. When subsequent aggregation nodes or downstream nodes read this information, the decision context has already completed conflict resolution according to the execution order, ensuring the deterministic nature of the context information obtained by downstream nodes. This approach avoids data conflicts between nodes caused by sequential execution or concurrent writes, ensuring the consistency and predictability of the decision context within the same decision request.

[0081] According to one embodiment, for each business decision request, the decision process of the request is recorded, including the input and output of each node, rule hit status, decision settlement process and other information. The records are stored according to the unique identifier of the request for subsequent data analysis and strategy effect observation, and the decision results are finally returned to the business party.

[0082] According to one embodiment, the method further includes step S105.

[0083] In step S105, when the strategy configuration information is modified, a new version is automatically created and a snapshot of the complete process configuration description information is saved to ensure that historical versions are traceable. The strategy set version supports multi-state flow management, and its lifecycle is managed according to the state sequence of initialization, idle run, gray-scale, online, and disabled. Among them, the initialization state indicates that the strategy set version has just been created and has not yet been put into use; the idle run state indicates that the version participates in decision calculation but does not affect actual business processing, and is used to verify the correctness of the strategy logic; the gray-scale state indicates that the version is effective on a portion of traffic according to the configured gray-scale ratio, and is used to evaluate the strategy effect and risk; the online state indicates that the version is effective on all traffic and serves as the official running version in the corresponding scenario; the disabled state indicates that the version is deactivated and no longer participates in any decision calculation.

[0084] According to one embodiment, only one running version of the policy configuration information in an online state is allowed in the same scenario. An additional version in an idle or canary release state can also exist for verifying and canary deployment of new policies. Version consistency is guaranteed at the request level; that is, the same decision request uses the same version of the policy configuration throughout the entire execution process, avoiding inconsistent decision results caused by using different versions of rules before and after the same request due to hot policy updates.

[0085] According to one embodiment, the method further includes step S106.

[0086] In step S106, spatial isolation management is implemented for policy resources. Through a namespace-level isolation mechanism, policy resources such as rules, rule decision sets, and factors are divided into different spaces, ensuring that each space has an independent set of resources. Resources within a space are only visible and operable within that space by default, thus avoiding the risk of accidental modification and diffusion of resources across different business lines. Optionally, embodiments of this application support a shared resource mechanism, allowing public factors and user-defined functions to be referenced by multiple spaces, enabling cross-business reuse of policy capabilities across different business lines.

[0087] According to the method of this application embodiment, by obtaining strategy configuration information for defining the decision-making process structure, node relationships, and execution rules under a specific business scenario, and parsing its process configuration description information to construct a directed acyclic graph with decision-making process-specific semantics, the method realizes the visual definition and flexible assembly of complex multi-stage decision-making processes, thereby improving decision-making efficiency. By executing the corresponding operations of each node according to control semantics based on the directed acyclic graph starting from the starting node, the method realizes the integration of rule matching capability and process control capability, avoiding the high complexity brought about by introducing an independent process control mechanism, and improving the adaptability to diverse business scenarios. By performing settlement processing on the calculation results, including first-level settlement within the node and second-level settlement executed according to node relationships, a hierarchical decision settlement mechanism is realized, which improves the certainty and predictability of the final decision result in complex decision-making scenarios.

[0088] The method of this application embodiment will be described below with reference to an example.

[0089] Figure 3 This illustration shows an exemplary system architecture diagram for decision-making process orchestration according to an embodiment of this application. This example illustrates how the system performs a comprehensive risk assessment of resources such as video scripts by constructing a multi-stage decision-making process in a content risk assessment scenario.

[0090] Before describing specific examples, let's first explain the core concepts involved. Concepts such as decision process orchestration, rule decision sets, and strategy sets have already been described earlier and will not be repeated here.

[0091] This example involves core data entities including a strategy set (STRATEGY_SET), version history (VERSION_HISTORY), process nodes (FLOW_NODE), process edges (FLOW_EDGE), rule decision sets (RULE_GROUP), and rules (RULE). The strategy set, as the top-level entity, is associated with specific business scenarios and spaces, recording the current online version number and status. The version history records the version information of each strategy set, saving a complete snapshot of the process configuration description information to support version backtracking and comparison. Process nodes represent various nodes in the decision-making process, including start nodes, end nodes, rule decision set nodes, and conditional branch nodes, where each rule decision set node is associated with a rule group. Process edges define the connection relationships between nodes, and conditional branch edges can be configured with conditional expressions. The rule decision set, as the encapsulation unit of rules, is configured with the running mode and decision configuration. Rules, as specific business rules, include conditional expressions, decision results, priority, weight, and termination identifiers.

[0092] Reference Figure 3 This example decision-making system adopts a layered architecture, including a business layer, access layer, gateway layer, decision layer, computing layer, data layer, and storage layer. The business layer, geared towards specific business scenarios, provides multiple business decision entry points, including content recognition, risk control, and governance, and is responsible for initiating decision requests to the decision-making system and receiving the returned decision results. The access layer provides multiple system access methods, including server-side SDKs and client-side SDKs, and supports synchronous and asynchronous calls, enabling flexible integration between upper-layer business systems and the decision-making system. The gateway layer is responsible for request traffic control and multi-cluster routing, managing traffic and distributing decision requests entering the system across clusters, ensuring the stability and availability of the system under high-concurrency scenarios.

[0093] The decision layer is responsible for responding to received decision requests, parsing the process configuration description information in the strategy configuration information, scheduling the execution of each node according to the directed acyclic graph structure, collecting the decision results of each node and performing final settlement; if decision process orchestration is not enabled, the decision layer will route the request to the original rule engine execution logic to ensure compatibility with existing businesses.

[0094] The computation layer is responsible for rule matching and factor calculation. It provides a batch rule matching interface to the decision layer, receives a list of rule identifiers, session context and calculation mode parameters, performs rule condition matching and returns the hit result. This layer supports both top-down and bottom-up factor calculation modes to adapt to business scenarios with different external dependency characteristics.

[0095] The data layer is responsible for acquiring external data and calculating cumulative factors. It connects to third-party data sources through user-defined functions and supports fine-grained timeout control and degradation value settings. The storage layer provides persistent data storage capabilities, including storage components such as MySQL, Redis, and CK, for storing strategy configurations, decision logs, and intermediate computation data.

[0096] Figure 3 The system also includes a configuration management backend, a monitoring and alarm module, and a decision center module. The configuration management backend is used for visual editing and version management of policy configurations. The monitoring and alarm module is used for real-time monitoring of indicators such as failure rate, hit rate, and circuit breaker status. The decision center module is used for subsequent processing and verification of decision results, including decision processing and decision verification. Decision processing is responsible for executing corresponding business actions or control measures based on the final decision results, while decision verification is used to verify and confirm the decision process and results, ensuring the accuracy and consistency of the decisions. The data dependency module provides the basic data support required for decision computation. For video content recognition scenarios, this data may include account attributes, video content, sensitive word databases, IP addresses, and other data resources. A unified data service interface provides external data query and retrieval capabilities to the data layer and computation layer, supporting the data requirements in rule matching and factor calculation processes.

[0097] Taking video submissions into the content risk assessment process as an example, Figure 3The system described requires a comprehensive assessment across multiple dimensions to determine whether a resource should proceed directly to manual review or be released immediately. In this process, the content risk assessment rule judgment node is configured in the strictest mode, matching assessment rules such as user level below a threshold and insufficient account registration time in parallel, and selecting the decision with the strongest penalty. The community rule judgment node is configured in sequential mode, matching rules for releasing high-quality creators and reviewing user violation records in order of priority, determining exemption conditions according to priority. The automatic assessment rule judgment node is configured in the strictest mode, calling multiple assessment models in parallel to determine content, and outputting the strictest conclusion. The comprehensive decision node is configured in sequential mode, determining the final penalty based on the results of the aforementioned nodes and factors such as content type and publication time. Specifically, in response to the system receiving a risk assessment request for a video submission, the risk assessment rule judgment, community rule judgment, and automatic assessment rule judgment nodes are triggered in parallel. Each node calls the computation layer to perform batch rule matching and completes intra-node settlement according to its configured operating mode, writing the decision result into the decision context. After all three nodes have completed execution, the comprehensive decision node starts, reading the previous results from the decision context and combining them with the configuration to make a comprehensive decision. Next, the conditional branch node determines whether the release conditions are met based on the comprehensive decision output, and then proceeds to either direct release processing or manual review processing. The system finally outputs the decision result and fully records the decision process, node inputs and outputs, and rule hit status of this request for subsequent data analysis and strategy effect observation.

[0098] Figure 4 A schematic diagram of a data processing apparatus provided in an embodiment of this application is shown. The apparatus includes: a configuration information acquisition module 101, a graph construction module 102, a node execution module 103, and a settlement processing module 104.

[0099] The configuration information acquisition module 101 acquires the policy configuration information corresponding to the business decision request. The policy configuration information includes process configuration description information that describes the type, attributes, and connection relationships of each node in the policy orchestration.

[0100] The business decision request, the strategy configuration information, and the process configuration description information have been described above and will not be repeated here.

[0101] According to one embodiment, in response to receiving a business decision request, the configuration information acquisition module 101 queries whether the decision process orchestration function has been enabled for the corresponding scenario based on the scenario identifier therein. If the decision process orchestration function is not enabled for the scenario, the business decision request is routed to the existing rule engine execution logic to ensure compatibility processing of existing businesses; if the decision process orchestration function is enabled for the scenario, the decision process orchestration execution process is entered to obtain the policy configuration information of the currently deployed version.

[0102] The graph construction module 102 constructs a directed acyclic graph (DAG) by parsing the process configuration description information, and each node of the DAG is assigned decision process semantics.

[0103] According to one embodiment, the node includes a rule decision set node, a conditional branch node, and a parallel control node.

[0104] The semantics of the decision process, the nodes and edges of the DAG, as well as the rule decision set nodes, conditional branch nodes, and parallel control nodes have been described in the previous text and will not be repeated here.

[0105] According to one embodiment, the process of constructing a DAG includes: extracting a set of node elements and a set of connecting edges from the process configuration description information; creating a corresponding node object for each node element in the set of node elements according to its node type; assigning a corresponding decision process semantic to each node object according to its node type; establishing a directed connection relationship between nodes for each connecting edge in the set of connecting edges according to its starting node identifier and target node identifier; and obtaining the corresponding directed acyclic graph based on the created node objects and directed connection relationships.

[0106] Based on the directed acyclic graph, the node execution module 103 executes the corresponding operations of each node according to the control logic corresponding to the decision flow semantics of each node, starting from the starting node.

[0107] According to one embodiment, the node includes a rule decision set node, a conditional branch node, a parallel triggering node, and a summary node. Step S103 of this embodiment includes:

[0108] Based on the directed acyclic graph, successor nodes are executed sequentially along the edges starting from the start node, with a default serial execution method. When execution reaches the rule decision set node, batch rule matching is performed. When execution reaches the conditional branch node, the conditional expression is evaluated to determine the subsequent branch path. When execution reaches the parallel trigger node, each downstream branch is started to concurrently execute the calculations of the nodes on that branch, with each branch running independently. When execution reaches the summary node, the calculations of the successor nodes are executed only after all the concurrently executed branches have completed their execution. The conditional branch node supports determining the branch path based on factor values ​​or rule matching results, executing only branches that meet the conditions; unselected branches and all their downstream nodes are marked as skipped.

[0109] Optionally, when execution reaches the rule decision set node, batch rule matching and factor calculation are performed according to a preset factor calculation mode, which includes a top-down mode and a bottom-up mode. In the top-down mode, for the current rule to be determined, the values ​​of the factors it depends on are recursively calculated when the condition judgment of the rule is indeed necessary; in the bottom-up mode, the values ​​of all basic factors are pre-calculated in batches, and then the rule judgment result is derived layer by layer upwards.

[0110] Specifically, in the top-down approach, for the current rule to be decided, the factors on which the conditional expression of the rule depends are analyzed, and the values ​​of these factors are recursively calculated as needed. The calculation of a factor is triggered only when the rule's decision process actually requires its value, thus avoiding unnecessary external calls, such as calls to external services. This approach, which only triggers the calculation of a factor when the rule's conditional judgment actually requires its value, is suitable for scenarios where factors heavily rely on external services and can effectively prevent read amplification issues affecting downstream services.

[0111] In the bottom-up approach, the values ​​of all basic factors are pre-calculated in batches, and then the judgment results of the rules are derived layer by layer upwards. This approach reduces the number of calculation levels and calls by batch parallelizing factor calculations, making it suitable for scenarios where factors are mainly calculated locally and external calls are few, thus significantly improving execution efficiency.

[0112] According to another embodiment, this application sets factor calculation modes according to business domains. Each business domain corresponds to a different business line or business segment, and supports overriding the default value at the specific scenario level. For example, the risk assessment business domain uses a bottom-up mode by default, and the content recognition business domain uses a top-down mode by default. If a specific scenario requires a different calculation mode, it can be set separately in the scenario configuration. Operations personnel can complete the mode adjustment through the backend configuration page without modifying the code or restarting the service.

[0113] According to another embodiment, after the conditional branch node determines the branch path, all nodes under the unselected branch are directly marked as skipped and no longer executed. For example, when the conditional branch node determines after evaluation that only the left branch will be executed and the right branch will be skipped, the summary node can continue the subsequent process only after the left branch is completed, without waiting for the pruned right branch. This embodiment achieves path pruning by directly marking the unselected branch and all its downstream nodes as skipped after the conditional branch node completes path evaluation. This prevents pruned nodes from being executed and from triggering rule matching requests, thereby saving unnecessary computing resources and external call overhead.

[0114] According to another embodiment, within the concurrency range controlled by the parallel node and the aggregation node, if a branch is marked as skipped by the upstream condition node, the aggregation node only waits for the actually running branch to complete, without waiting for the skipped branch. By waiting only for the actually running concurrent branch to complete at the aggregation node, branches that have been pruned by the upstream condition node are no longer included in the waiting range, dynamic optimization of concurrent waiting is achieved, improving concurrent execution efficiency.

[0115] Continue to refer to Figure 4 As explained, the settlement processing module 104 performs settlement processing on the calculation results to obtain the decision result.

[0116] The settlement process includes a first-level settlement and a second-level settlement. The first-level settlement is performed within a node, and the second-level settlement is performed on the output results of each node according to the node relationship.

[0117] According to one embodiment, the first-level settlement is performed within the rule decision set node. The process of the first-level settlement includes: after the batch rule matching is completed, internal settlement is performed according to the running mode configured for the node to obtain the decision result of the node and write the decision result into the decision context.

[0118] The operating modes include the strictest mode, the sequential mode, the voting mode, and the weighted mode, which have been described above and will not be repeated here.

[0119] According to one embodiment, the second-level settlement process includes: for sibling nodes at the same execution level that have no dependencies on each other, the decision result with the highest priority among all node decisions is taken as the settlement result for that execution level. Specifically, the decision results of each node are settled in the strictest manner according to their decision priorities, and the decision result with the highest priority is taken.

[0120] For parent and child nodes with upstream and downstream dependencies, the decision result of the child node (i.e., the node to be executed later) overrides the decision result of the parent node (i.e., the node to be executed earlier). That is, the decision result of the node to be executed later is taken as the final decision result of the branch path, so that the node to be executed later makes the final decision based on the result of the node to be executed earlier.

[0121] Optionally, each node writes key-value pairs to the decision context during execution to transmit intermediate decision results. If multiple nodes write different values ​​to the same key, a last-write-wins mechanism is used, where the value written by the later-executed node overwrites the value written by the earlier-executed node according to the execution order. For example, in a risk assessment process, the preceding rule decision set node writes the initial risk assessment result to the decision context. Subsequent comprehensive decision nodes read this result, perform a comprehensive judgment, and write the updated risk level back to the same key. The last-write-wins mechanism ensures that the decision context always reflects the judgment conclusion of the latest-executed node. As another example, in a parallel execution scenario, multiple sibling nodes write their respective processing statuses to the decision context. When subsequent aggregation nodes or downstream nodes read this information, the decision context has already completed conflict resolution according to the execution order, ensuring the deterministic nature of the context information obtained by downstream nodes. This approach avoids data conflicts between nodes caused by sequential execution or concurrent writes, ensuring the consistency and predictability of the decision context within the same decision request.

[0122] According to one embodiment, for each business decision request, the device records the decision process of the request, including the input and output of each node, rule hit status, decision settlement process and other information, and stores it according to the unique identifier of the request for subsequent data analysis and strategy effect observation, and finally returns the decision result to the business party.

[0123] According to one embodiment, the device further includes a configuration information update module.

[0124] When the strategy configuration information is modified, the configuration information update module automatically creates a new version and saves a snapshot of the complete process configuration description information to ensure that historical versions are traceable. The strategy set version supports multi-state flow management, and its lifecycle is managed according to the state sequence of initialization, idle run, gray-scale, online, and disabled. Among them, the initialization state indicates that the strategy set version has just been created and has not yet been put into use; the idle run state indicates that the version participates in decision calculation but does not affect actual business processing, and is used to verify the correctness of the strategy logic; the gray-scale state indicates that the version is effective on a portion of traffic according to the configured gray-scale ratio, and is used to evaluate the strategy effect and risk; the online state indicates that the version is effective on all traffic and serves as the official running version for the corresponding scenario; the disabled state indicates that the version is deactivated and no longer participates in any decision calculation.

[0125] According to one embodiment, only one running version of the policy configuration information in an online state is allowed in the same scenario. An additional version in an idle or canary release state can also exist for verifying and canary deployment of new policies. Version consistency is guaranteed at the request level; that is, the same decision request uses the same version of the policy configuration throughout the entire execution process, avoiding inconsistent decision results caused by using different versions of rules before and after the same request due to hot policy updates.

[0126] According to one embodiment, the device further includes a resource management module.

[0127] The resource management module implements spatial isolation management for policy resources. Through a namespace-level isolation mechanism, policy resources such as rules, rule decision sets, and factors are divided into different spaces, ensuring that each space has an independent set of resources. Resources within a space are only visible and operable within that space by default, thus avoiding the risk of accidental modification and diffusion of resources across different business lines. Optionally, embodiments of this application support a shared resource mechanism, allowing public factors and user-defined functions to be referenced by multiple spaces, enabling cross-business reuse of policy capabilities across different business lines.

[0128] The apparatus according to the embodiments of this application acquires strategy configuration information for defining the decision-making process structure, node relationships, and execution rules under a specific business scenario, and parses its process configuration description information to construct a directed acyclic graph with decision-making process-specific semantics. This enables the visual definition and flexible assembly of complex multi-stage decision-making processes, improving decision-making efficiency. By executing the corresponding operations of each node according to control semantics based on the directed acyclic graph starting from the starting node, the apparatus integrates rule matching capabilities and process control capabilities, avoiding the high complexity brought about by introducing an independent process control mechanism and improving adaptability to diverse business scenarios. By performing settlement processing on the calculation results, including first-level settlement within nodes and second-level settlement executed according to node relationships, a hierarchical decision settlement mechanism is realized, improving the certainty and predictability of the final decision result in complex decision-making scenarios.

[0129] Based on the same inventive concept, this application also provides an electronic device. The method corresponding to the electronic device can be the data processing method in the foregoing embodiments, and its problem-solving principle is similar to that method. The electronic device provided in this application includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the methods and / or technical solutions of the foregoing embodiments of this application.

[0130] The electronic device may be a user device, or a device formed by integrating user devices and network devices through a network, or it may be an application running on the aforementioned devices. The user device includes, but is not limited to, various terminal devices such as computers, mobile phones, tablets, smartwatches, and wristbands. The network device includes, but is not limited to, network hosts, single network servers, multiple network server sets, or cloud computing-based computer sets. Here, the cloud consists of a large number of hosts or network servers based on cloud computing. Cloud computing is a type of distributed computing, consisting of a virtual computer composed of a loosely coupled set of computers.

[0131] Figure 5 The diagram illustrates the structure of an apparatus suitable for implementing the methods and / or technical solutions in the embodiments of this application. The apparatus 1200 includes a Central Processing Unit (CPU) 1201, which can perform various appropriate actions and processes based on a program stored in a Read Only Memory (ROM) 1202 or a program loaded from a storage portion 1208 into a Random Access Memory (RAM) 1203. The RAM 1203 also stores various programs and data required for system operation. The CPU 1201, ROM 1202, and RAM 1203 are interconnected via a bus 1204. An Input / Output (I / O) interface 1205 is also connected to the bus 1204.

[0132] The following components are connected to I / O interface 1205: an input section 1206 including a keyboard, mouse, touchscreen, microphone, infrared sensor, etc.; an output section 1207 including a cathode ray tube (CRT), liquid crystal display (LCD), LED display, OLED display, etc., and speakers, etc.; a storage section 1208 including one or more computer-readable media such as hard disk, optical disk, magnetic disk, semiconductor memory, etc.; and a communication section 1209 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1209 performs communication processing via a network such as the Internet.

[0133] In particular, the methods and / or embodiments in this application can be implemented as computer software programs. For example, the embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowchart. When the computer program is executed by the central processing unit (CPU) 1201, it performs the functions defined in the methods of this application.

[0134] Another embodiment of this application provides a computer-readable storage medium having computer program instructions stored thereon, which can be executed by a processor to implement the methods and / or technical solutions of any one or more embodiments of this application described above.

[0135] Specifically, this embodiment may employ any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0136] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.

[0137] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.

[0138] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0139] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0140] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0141] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or page components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units through some interfaces, and may be electrical, mechanical, or other forms.

[0142] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0143] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.

[0144] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0145] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

[0146] Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices described in an apparatus may also be implemented by a single unit or device through software or hardware. Terms such as "first," "second," etc., are used to indicate names and do not indicate any specific order.

Claims

1. A data processing method, wherein, The method includes: Obtain the strategy configuration information corresponding to the business decision request. The strategy configuration information includes process configuration description information that describes the type, attributes and connection relationships of each node in the decision process orchestration. By parsing the process configuration description information, a directed acyclic graph is constructed, and each node of the directed acyclic graph is assigned decision process semantics. Based on the directed acyclic graph, starting from the starting node, the corresponding operations of each node are executed according to the control logic corresponding to the decision flow semantics of each node; The calculation results are processed to obtain the decision result. The processing includes a first-level settlement and a second-level settlement. The first-level settlement is performed within the node, and the second-level settlement is performed on the output results of each node according to the node relationship.

2. The method according to claim 1, wherein, The process of constructing a directed acyclic graph includes: Extract the set of node elements and the set of connecting edges from the process configuration description information; For each node element in the node element set, create a corresponding node object based on its node type; For each node object, assign the corresponding decision process semantics according to its node type; For each connection edge in the set of connection edges, a directed connection relationship between the nodes is established based on its starting node identifier and target node identifier; Based on the created node objects and directed connections, the corresponding directed acyclic graph is obtained.

3. The method according to claim 2, wherein, The process of assigning decision flow semantics to each node object according to its node type includes: For rule decision set nodes, read their associated rule decision set identifier and running mode configuration, and assign them decision process semantics for rule matching and intra-node settlement; for condition branch nodes, read their bound evaluation conditions and branch path configuration, and assign them decision process semantics for path selection and pruning; for parallel control nodes, assign them decision process semantics for triggering concurrent execution; for aggregation nodes, assign them decision process semantics for waiting for synchronization.

4. The method according to claim 1, wherein, The nodes include rule decision set nodes, conditional branch nodes, parallel nodes, and summary nodes. The execution of operations corresponding to each node based on the directed acyclic graph, starting from the starting node and following the control logic corresponding to the decision flow semantics of each node, includes: Starting from the starting node, perform the operations on the successor nodes sequentially along the edges; When execution reaches the rule decision set node, batch rule matching is performed; when execution reaches the condition branch node, the condition expression is evaluated to determine the subsequent branch path; when execution reaches the parallel node, the operations of the nodes on each downstream branch are started concurrently, and each branch runs independently; when execution reaches the summary node, the operations of the subsequent nodes are executed only after all the concurrent branches that have actually been executed have completed.

5. The method according to claim 4, wherein, When execution reaches the rule decision set node, the batch rule matching includes: When execution reaches the rule decision set node, batch rule matching and factor calculation are performed according to the preset factor calculation mode. The factor calculation mode includes a top-down mode and a bottom-up mode. In the top-down mode, for the current rule to be determined, the value of the dependent factor is recursively calculated when the condition judgment of the rule is indeed required. In the bottom-up mode, the values ​​of all basic factors are pre-calculated in batches, and then the rule judgment result is derived layer by layer upwards.

6. The method according to claim 1, wherein, The first-level settlement is executed within the rule decision set node, and the process of the first-level settlement includes: Once the batch rule matching is complete, internal settlement is performed according to the operating mode configured for that node to obtain the decision result of that node and write the decision result into the decision context. The operating modes include the strictest mode, sequential mode, voting mode and weighted mode.

7. The method according to claim 1, wherein, The second-level settlement process includes: For sibling nodes at the same execution level that have no dependency on each other, the decision result with the highest priority among all nodes is used as the settlement result for that execution level; for parent and child nodes that have upstream and downstream dependency, the decision result of the child node overrides the decision result of the parent node.

8. The method according to claim 1, wherein, The method further includes: Each node writes key-value pairs of data to the decision context during execution; If multiple nodes write different values ​​to the same key, the last-write-first-pick mechanism is used, and the value written by the later-executed node overwrites the value of the same key written by the earlier-executed node according to the execution order of the nodes.

9. A data processing apparatus, wherein, The device includes: The configuration information acquisition module is used to acquire the strategy configuration information corresponding to the business decision request. The strategy configuration information includes process configuration description information that describes the type, attributes and connection relationships of each node in the decision process orchestration. The graph construction module is used to construct a directed acyclic graph by parsing the process configuration description information, and each node of the directed acyclic graph is assigned decision process semantics. The node execution module is used to execute the corresponding operations of each node according to the control logic corresponding to the decision flow semantics of each node, starting from the starting node, based on the directed acyclic graph. The settlement processing module is used to process the calculation results to obtain the decision result. The settlement processing includes a first-level settlement and a second-level settlement. The first-level settlement is the settlement performed within the node, and the second-level settlement is the settlement performed on the output results of each node according to the node relationship.

10. An electronic device, the electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 8.

11. A computer-readable medium having stored thereon computer program instructions that can be executed by a processor to implement the method as described in any one of claims 1 to 8.

12. A computer program product comprising a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8.