Service decision processing method, device and equipment based on decision engine

By generating concurrent decision groups and performing path prediction and pruning, and optimizing decision paths, the decision-making paths are solved, and the problem of resource overhead and time consumption of decision-making engines in complex business scenarios is achieved, and efficient decision-making processing is achieved.

CN120471146APending Publication Date: 2025-08-12XIAMEN YOUWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510425265.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-07
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

When existing decision engines deal with complex business scenarios, it is difficult for them to quickly output decision results, resulting in increased resource overhead and time consumption.

Method used

By generating a concurrent decision group, it contains multiple concurrently executed processing node sequences, performing path prediction and path pruning, only the necessary processing node sequences are loaded, and combining concurrent loading and lazy loading techniques to optimize the decision path.

Benefits of technology

It greatly improves the efficiency of business decision processing, reduces resource overhead, and improves the timeliness of decision processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120471146A_ABST
    Figure CN120471146A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of decision engines, and provides a service decision processing method, device and equipment based on a decision engine, and the method comprises the steps: generating a concurrent decision group in advance according to the decision engine; the concurrent decision group comprises a plurality of concurrently executed processing node sequences, and the plurality of concurrently executed processing node sequences comprise a basic processing node sequence; receiving a service decision request; performing path prediction on the service decision request to obtain a prediction result; performing path pruning on the basic processing node sequence according to the prediction result to obtain an inevitable processing node sequence corresponding to the service decision request; through the embodiment of the invention, the service decision processing efficiency can be improved, and the resource overhead of service decision processing is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the technical field of decision engines, and in particular to a business decision processing method, device, and equipment based on a decision engine. Background Art

[0002] The decision engine is the brain of business systems like risk control systems, responsible for orchestrating and calculating risk control strategies. It places strict demands on decision-making time and accuracy. Typically, decision engines utilize workflows to manage process flows, passing through various processing nodes. For complex business scenarios, dynamically planning the decision flow path to rapidly output decision results is crucial. Summary of the Invention

[0003] The purpose of the embodiments of this specification is to provide a business decision processing method, device and equipment based on a decision engine to improve the efficiency of business decision processing based on the decision engine and reduce the resource overhead of business decision processing based on the decision engine.

[0004] To achieve the above objectives, on the one hand, embodiments of this specification provide a business decision processing method based on a decision engine, including:

[0005] Pre-generating a concurrent decision group according to a decision engine; the concurrent decision group includes a plurality of concurrently executed processing node sequences, the plurality of concurrently executed processing node sequences including a basic processing node sequence;

[0006] Receive business decision requests;

[0007] Performing path prediction on the business decision request to obtain a prediction result;

[0008] Perform path pruning on the basic processing node sequence according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request;

[0009] Concurrently loading each processing node in the necessary processing node sequence to process the business decision request.

[0010] In the business decision processing method based on the decision engine of the embodiment of this specification, the multiple concurrently executed processing node sequences include one or more additional processing node sequences; after concurrently loading the processing nodes in the required processing node sequences, the method further includes:

[0011] The additional processing node sequence is concurrently lazily loaded to process the decision request additional to the business decision request.

[0012] In the business decision processing method based on the decision engine of the embodiment of this specification, the pre-generating of the concurrent decision group according to the decision engine includes:

[0013] Build a directed acyclic graph of the decision engine;

[0014] Traversing the directed acyclic graph in a breadth-first search manner to obtain a full node array of the decision engine;

[0015] Sequentially analyze whether the input parameters of each node in the full node array depend on the output parameters of the corresponding upstream node;

[0016] If the input parameters of a node depend on the output parameters of its upstream node, the node is merged to the end of the node group where its upstream node is located;

[0017] If the input parameters of a node do not depend on the output parameters of its upstream node, a new node group is added and the node is placed at the head of the new node group.

[0018] In the decision engine-based service decision processing method of the embodiment of this specification, performing path prediction on the service decision request includes:

[0019] Identifying all diversion nodes in the basic processing node sequence and extracting diversion conditions of the diversion nodes;

[0020] Acquire user data corresponding to the diversion condition and corresponding to the user corresponding to the service decision request;

[0021] The user data is matched with the diversion condition, and a target branch of the service decision request at the diversion node is determined according to the matching result.

[0022] In the business decision processing method based on the decision engine according to the embodiment of this specification, the path pruning of the basic processing node sequence according to the prediction result includes:

[0023] Pruning all branches of each of the diversion nodes except the target branch.

[0024] In the business decision processing method based on the decision engine in the embodiment of this specification, the path pruning of the basic processing node sequence according to the prediction result further includes:

[0025] When a special diversion node exists in the basic processing node sequence, all branches of the special diversion node are retained; the special diversion node is a diversion node whose diversion condition is irrelevant to user data.

[0026] In the business decision processing method based on the decision engine in the embodiment of this specification, the diversion node includes part or all of the list node, the policy node and the payment node;

[0027] The list node is a node that performs access control based on a blacklist, whitelist or greylist;

[0028] The policy node is a node that performs access control based on business data;

[0029] The payment node is a node that performs access control based on user payment data.

[0030] On the other hand, the embodiments of this specification further provide a business decision processing device based on a decision engine, including:

[0031] A generating module, configured to generate a concurrent decision group in advance according to a decision engine; the concurrent decision group includes a plurality of concurrently executed processing node sequences, wherein the plurality of concurrently executed processing node sequences include a basic processing node sequence;

[0032] A receiving module, used for receiving a business decision request;

[0033] A prediction module, configured to perform path prediction on the business decision request and obtain a prediction result;

[0034] A pruning module, configured to perform path pruning on the basic processing node sequence according to the prediction result, to obtain a necessary processing node sequence corresponding to the business decision request;

[0035] The loading module is used to concurrently load each node in the necessary processing node sequence to process the business decision request.

[0036] On the other hand, an embodiment of this specification further provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the computer program executes instructions of the above method when executed by the processor.

[0037] On the other hand, an embodiment of this specification further provides a computer storage medium having a computer program stored thereon, wherein the computer program executes the instructions of the above method when executed by a processor of a computer device.

[0038] On the other hand, an embodiment of this specification further provides a computer program product, which includes a computer program. When the computer program is executed by a processor of a computer device, the computer program executes the instructions of the above method.

[0039] It can be seen from the technical solutions provided by the above embodiments of this specification that the embodiments of this specification can generate a concurrent decision group in advance according to the decision engine, and the concurrent decision group contains multiple concurrently executed processing node sequences (including basic processing node sequences). When a decision request is received, the decision request is predicted, and the basic processing node sequence is pruned according to the prediction result to obtain the necessary processing node sequence corresponding to the business decision request. In this way, the loading and starting range of the decision engine is greatly reduced through two-level node simplification, thereby greatly improving

[0040] The processing efficiency of business decision processing is improved, and the resource overhead of business decision processing is reduced, that is, the timeliness of business decision processing is improved under the premise of reducing the resource overhead of business decision processing; on this basis, the processing efficiency of business decision processing is further improved by concurrently loading each processing node in the necessary processing node sequence (rather than loading all the processing nodes of the decision engine at the same time). BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the following briefly introduces the drawings required for the embodiments or the description of the prior art. Obviously, the drawings described below are only some of the embodiments described in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without inventive work. In the drawings:

[0042] Figure 1 A schematic diagram of an application environment for business decision processing based on a decision engine in some embodiments of this specification is shown;

[0043] Figure 2 A flowchart of a business decision processing method based on a decision engine in some embodiments of this specification is shown;

[0044] Figure 3 Shown Figure 2 In the method shown, a flowchart of a concurrent decision group is generated in advance based on a decision engine;

[0045] Figure 4 Shown Figure 2 A flowchart of the method for predicting the path of a business decision request;

[0046] Figure 5 A schematic diagram showing the workflow of a decision engine in an exemplary embodiment of this specification;

[0047] Figure 6 Shown Figure 5 A schematic diagram of the basic processing node sequence in the workflow of the decision engine shown;

[0048] Figure 7 Shows the Figure 6 Schematic diagram of the necessary processing node sequence obtained after path pruning of the basic processing node sequence shown;

[0049] Figure 8 A flowchart showing a business decision processing method based on a decision engine in other embodiments of this specification is shown;

[0050] Figure 9 A structural block diagram of a business decision processing device based on a decision engine in some embodiments of this specification is shown;

[0051] Figure 10 It shows a structural block diagram of a computer device in some embodiments of this specification.

[0052] [Description of Reference Numerals]

[0053] 10. Client;

[0054] 20. Server;

[0055] 91. Generate module;

[0056] 92. Receiving module;

[0057] 93. Prediction module;

[0058] 94. Pruning module;

[0059] 95. Loading module;

[0060] 1002. Computer equipment;

[0061] 1004, processor;

[0062] 1006. Memory;

[0063] 1008, driving mechanism;

[0064] 1010, input / output interface;

[0065] 1012. Input device;

[0066] 1014. Output device;

[0067] 1016. Presentation equipment;

[0068] 1018. Graphical user interface;

[0069] 1020, network interface;

[0070] 1022, communication link;

[0071] 1024. Communication bus. DETAILED DESCRIPTION

[0072] To help those skilled in the art better understand the technical solutions in this specification, the following will provide a clear and complete description of the technical solutions in the embodiments of this specification, in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. All other embodiments derived by those skilled in the art based on the embodiments in this specification without creative effort shall fall within the scope of protection of this specification.

[0073] It should be noted that in the embodiments of this specification, the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user and fully authorized by all parties, that is, the acquisition, transmission, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.

[0074] Figure 1 A schematic diagram of the application environment for business decision processing based on the decision engine in some embodiments of this specification is shown in the figure; the application environment includes a client 10 and a server 20. The server 20 can generate a concurrent decision group in advance based on the decision engine; the concurrent decision group contains multiple concurrently executed processing node sequences, and the multiple concurrently executed processing node sequences include a basic processing node sequence; when a business decision request initiated by the client 10 is received, the business decision request performs path prediction to obtain a prediction result; the basic processing node sequence is pruned according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request; and each processing node in the necessary processing node sequence is loaded concurrently to process the business decision request. The embodiments of this specification can improve the efficiency of business decision processing and reduce the resource overhead of business decision processing.

[0075] In some embodiments of this specification, the client 10 may be a self-service terminal device, a mobile terminal (i.e., a smartphone), a display, a desktop computer, a tablet computer, a laptop computer, a digital assistant, or a smart wearable device. Among these, smart wearable devices may include smart bracelets, smart watches, smart glasses, or smart helmets. Of course, the client 10 is not limited to the aforementioned electronic devices with a certain physical form; it may also be software running on the aforementioned electronic devices.

[0076] In some embodiments of the present specification, the server 20 may be an electronic device with computing and network interaction functions; or it may be software running in the electronic device and providing business logic for data processing and network interaction.

[0077] In addition, it should be noted that Figure 1 What is shown is only an application environment provided by this specification. In actual application, there may be multiple clients 10 and multiple servers 20, and this specification does not impose any restrictions.

[0078] The embodiment of this specification provides a business decision processing method based on a decision engine, which can be applied to the above-mentioned service side, referring to Figure 2 As shown, in some embodiments of this specification, a business decision processing method based on a decision engine may include the following steps:

[0079] Step 201: Generate a concurrent decision group in advance according to a decision engine; the concurrent decision group includes a plurality of concurrently executed processing node sequences, and the plurality of concurrently executed processing node sequences include a basic processing node sequence.

[0080] Step 202: Receive a business decision request.

[0081] Step 203: perform path prediction on the business decision request to obtain a prediction result.

[0082] Step 204: prune the basic processing node sequence according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request.

[0083] Step 205: Concurrently load each processing node in the necessary processing node sequence to process the business decision request.

[0084] In an embodiment of the present specification, a concurrent decision group can be generated in advance according to the decision engine, and the concurrent decision group contains multiple concurrently executed processing node sequences (including basic processing node sequences). When a decision request is received, a path prediction is performed on the decision request, and the path pruning of the basic processing node sequence is performed according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request. In this way, the loading and starting range of the decision engine is greatly reduced through two-level node streamlining, thereby greatly improving the processing efficiency of the business decision processing and reducing the resource overhead of the business decision processing, that is, the timeliness of the business decision processing is improved while reducing the resource overhead of the business decision processing; on this basis, the processing efficiency of the business decision processing is further improved by concurrently loading each processing node in the necessary processing node sequence (rather than loading all the processing nodes of the decision engine at the same time).

[0085] In the embodiments of this specification, the decision engine is an automated decision-making system that processes data in real time or in batches through preset rules (such as business rules, logical rules, etc.) to replace traditional manual decision-making, and can be applied to any suitable automated decision-making scenario. For example, in some embodiments of this specification, the decision engine can be a decision engine in the field of financial risk control (such as anti-fraud review, credit review, and credit review). In other embodiments of this specification, the decision engine can also be a decision engine in the fields of fault diagnosis, content recommendation, intelligent manufacturing, medical diagnosis, etc.

[0086] refer to Figure 3 As shown, in some embodiments of this specification, generating a concurrent decision group in advance according to a decision engine may include the following steps:

[0087] Step 301: Construct a directed acyclic graph of the decision engine.

[0088] In some embodiments of this specification, a directed acyclic graph can be constructed based on the processing logic of the decision engine, and the directed acyclic graph represents the complete processing logic of the decision engine in the form of a graph structure. For example, in an exemplary embodiment of this specification, based on a decision engine, the following can be generated: Figure 5 The directed acyclic graph shown.

[0089] Step 302: traverse the directed acyclic graph in a breadth-first search manner to obtain a full node array of the decision engine.

[0090] By traversing the directed acyclic graph using a breadth-first search (BFS), not only can all nodes of the decision engine be obtained, but also all nodes sorted in order (i.e., an array of all nodes of the decision engine) can be obtained. A node is a processing node of the decision engine, and each node is equivalent to a subtask or work item in the decision engine, which can implement a specific decision or review function.

[0091] For example, Figure 5 Taking the directed acyclic graph shown in the figure as an example, by traversing the directed acyclic graph using breadth-first search, we can obtain the full node array shown below:

[0092] BFS: A, B, S1, C, E, S2, D, F

[0093] Step 303: Analyze in order whether the input parameters of each node in the full node array depend on the output parameters of the corresponding upstream node. If the input parameters of a node depend on the output parameters of its upstream node, execute step 304; otherwise, execute step 305.

[0094] Input parameters refer to the parameters that need to be passed in when calling a node's function or method, that is, the node's input; they refer to the return value of the node's function or method, that is, the node's output. The upstream node refers to the node that precedes the current node.

[0095] Step 304: Merge the node to the end of the node group where its upstream node is located.

[0096] In some embodiments of the present specification, a node group is an ordered combination, such as a node array or a node linked list.

[0097] For example, Figure 5 Taking the directed acyclic graph shown as an example, if the current node is node B, and the input parameters of node B need to depend on the output parameters of its upstream node (node A), then node B can be merged to the end of the node group {A} where its upstream node (node A) is located, thereby obtaining a new node group {A, B}.

[0098] Step 305: If the input parameter of a node does not depend on the output parameter of its upstream node, a new node group is added and the node is placed at the head of the new node group.

[0099] For example, Figure 5 Taking the directed acyclic graph shown as an example, if the current node is node F, and the input parameters of node F do not need to depend on the output parameters of its upstream node (node S2), a new node group is added and the node is placed at the head of the new node group, that is, a new node group {B} is added on the basis of node group {A}.

[0100] So, through Figure 3 The method shown can efficiently generate a concurrent decision group corresponding to the decision engine. Among them, the concurrent decision group can include multiple processing node sequences that can be executed concurrently, and multiple concurrently executed processing node sequences can include a basic processing node sequence and at least one additional processing node sequence. Among them, the basic processing node sequence can be understood as the main process or basic process of the decision engine, that is, the process that the decision engine executes frequently or habitually. The additional processing node sequence can be understood as the branch process or additional process of the decision engine, that is, the process that the decision engine executes selectively or occasionally. The basic processing node sequence can be executed concurrently with the additional processing node sequence, and different additional processing node sequences can also be executed concurrently.

[0101] For example, Figure 5 Take the directed acyclic graph shown as an example, through Figure 3 The approach shown can generate the following concurrent decision groups:

[0102] Concurrent decision group 1: A, B, S1, C, E, S2, D

[0103] Concurrent decision group 2: F

[0104] Among them, concurrent decision group 1 is the basic processing node sequence (its corresponding process can be as follows Figure 6 As shown), concurrent decision group 2 is an additional processing node sequence.

[0105] refer to Figure 4 As shown, in some embodiments of this specification, performing path prediction on a service decision request may include the following steps:

[0106] Step 401: Identify all diversion nodes in the basic processing node sequence and extract diversion conditions of the diversion nodes.

[0107] A diversion node refers to a node that transfers the process flow to one of its multiple branches (branches) according to preset diversion conditions (the decision data flow will only select one branch to continue execution), that is, the function of the diversion node is exclusion. In some embodiments of the present specification, the diversion node can be, for example, one or more of a list node, a policy node, and a payment node. Among them, the list node is a node that performs access control based on a blacklist, a whitelist, or a graylist. A decision request that hits the blacklist is directly rejected; a decision request that hits the whitelist is directly passed; and a decision request that hits the graylist is subject to further processing by the next node. A policy node is a node that performs access control based on business data, such as a node that performs conditional judgment logic based on user age, behavior evaluation index value, etc. in the following text; a payment node is a node that performs access control based on user payment data, that is, if the user has paid the full amount, the user is allowed to access resources or the corresponding paid service is provided to the user.

[0108] In some embodiments of the present specification, whether a node is a diversion node can be determined by determining whether there is conditional judgment logic and whether there are multiple output branches; if a node has conditional judgment logic and multiple output branches, it can be confirmed that the node is a diversion node; otherwise, it can be confirmed that the node is not a diversion node.

[0109] In other embodiments of the present specification, each node in the decision engine may be classified and identified in advance; thus, by querying the classification identifier from the attribute information of the node, it is possible to identify whether the node is a diversion node.

[0110] For example, Figure 6 As an example, the basic processing node sequence shown in Figure 6 The dotted line in the middle indicates that the path is blocked or disconnected), and nodes S1 and S2 can be identified as diversion nodes. Since the branch from node S2 to node F has been confirmed when generating the basic processing node sequence, only node S1 needs to be processed, that is, the diversion condition of diversion node S1 is extracted.

[0111] A branch condition refers to the conditional judgment logic within a branch node. For example, a branch condition might be: determine if the user's age falls between 18 and 60; if so, execute the first branch; otherwise, execute the second branch. For example, another branch condition might be: determine if the user has accumulated five defaults; if so, execute the first branch; otherwise, execute the second branch.

[0112] Step 402: Obtain user data corresponding to the diversion condition and of the user corresponding to the service decision request.

[0113] For example, Figure 6 Taking the basic processing node sequence shown as an example, if the diversion condition of the diversion node S1 is: determine whether the user's age falls within the age range of 18-60 years old, if it falls within the age range of 18-60 years old, execute node C, otherwise execute node E; then the age data of the user corresponding to the business decision request can be obtained.

[0114] Step 403: Match the user data with the diversion condition, and determine the target branch of the service decision request at the diversion node according to the matching result.

[0115] For example, Figure 6 Taking the basic processing node sequence shown as an example, if the diversion condition of the diversion node S1 is: determine whether the user's age falls within the age range of 18-60 years old; if it falls within the age range of 18-60 years old, execute node C, otherwise execute node E; it can be determined whether the user's age is within the age range of 18-60 years old; if the user is 65 years old, which is not within the age range of 18-60 years old, therefore, node E can be determined as the target branch of the diversion node S1.

[0116] pass Figure 4 The path prediction method shown can predict in advance the node path that the business decision request will pass through, thereby providing a reliable reference for the subsequent dynamic pruning of the basic processing node sequence.

[0117] In some embodiments of this specification, there may be diversion nodes whose diversion conditions are unrelated to user data, that is, it is difficult to obtain user data corresponding to the diversion conditions. This type of diversion node is referred to as a special diversion node in this specification. For example, if the diversion condition is to determine whether the user's behavior evaluation index value exceeds a threshold, and the behavior evaluation index value does not exist in the user's stock data, the behavior evaluation index value needs to be obtained after the predecessor node of the diversion node is executed. In view of this, when a special diversion node exists in the basic processing node sequence, all branches of the special diversion node can be identified as target branches to avoid the subsequent processing of the decision request being affected by subsequent pruning errors.

[0118] In some embodiments of the present specification, path pruning of the basic processing node sequence based on the prediction result may include pruning all branches of each diversion node except the target branch. In this way, redundant nodes (i.e., nodes that are not required) can be eliminated through path prediction and dynamic pruning, thereby obtaining a sequence of required processing nodes corresponding to the business decision request. Subsequently, only the individual processing nodes in the required processing node sequence can be loaded concurrently to process the business decision request, without having to load all nodes of the decision engine at once. This reduces the resource overhead of loading the decision engine, improves the loading efficiency of the decision engine, and ultimately helps to improve the efficiency of business decision processing.

[0119] For example, Figure 6 As an example, the basic processing node sequence shown in Figure 4 After the path prediction shown in FIG. 1 confirms that node E is the target node, the branch from node S1 to node C can be cut off, thereby obtaining the following Figure 7 The sequence of nodes that must be processed ( Figure 7 The dotted line in the middle indicates that the path is blocked or disconnected), that is, the sequence of nodes that must be processed is: {A, B, S1, E, S2, D}.

[0120] In other embodiments of the present specification, performing path pruning on the basic processing node sequence according to the prediction result may further include: when a special branch node exists in the basic processing node sequence, retaining all branches of the special branch node.

[0121] refer to Figure 8 As shown, in some other embodiments of this specification, a business decision processing method based on a decision engine may include the following steps:

[0122] Step 801: Generate a concurrent decision group in advance according to a decision engine; the concurrent decision group includes a plurality of concurrently executed processing node sequences, and the plurality of concurrently executed processing node sequences include a basic processing node sequence.

[0123] Step 802: Receive a business decision request.

[0124] Step 803: Perform path prediction on the business decision request to obtain a prediction result.

[0125] Step 804: prune the basic processing node sequence according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request.

[0126] Step 805: Concurrently load each processing node in the necessary processing node sequence to process the business decision request.

[0127] Step 806: Concurrently lazily load the additional processing node sequence to process the decision request additional to the business decision request.

[0128] By lazy loading (also known as delayed loading or on-demand loading) additional processing node sequences, the processing pressure caused by loading the additional processing node sequences when loading the basic processing node sequences of the decision engine can be effectively avoided, thereby effectively reducing the loading time and improving the user experience; and by concurrently lazy loading the additional processing node sequences, the processing efficiency of the decision requests additional to the business decision requests can be accelerated.

[0129] It should be noted that in other embodiments of the present specification, in a scenario where a decision engine can implement decision processing for multiple business types, concurrent decision groups corresponding to each business type can be generated based on the decision engine. Among them, the concurrent decision group corresponding to each business type can also include multiple processing node sequences that can be executed concurrently, and its multiple concurrently executed processing node sequences can include a basic processing node sequence and at least one additional processing node sequence. For example, the business types include three business types: X, Y, and Z. A concurrent decision group a can be generated for business type X, a concurrent decision group a can be generated for business type Y, and a concurrent decision group c can be generated for business type Z. Then, when a business decision request is subsequently received, the corresponding concurrent decision group is first found according to the business type corresponding to the business decision request, and then based on the basic processing node sequence in the corresponding concurrent decision group, the business decision request is subjected to subsequent processing such as path prediction and path pruning. In this way, the scope of application of the business decision processing method based on the decision engine in the embodiments of the present specification can be improved.

[0130] Although the process flows described above include multiple operations occurring in a particular order, it should be understood that these processes may include more or fewer operations, which may be performed sequentially or in parallel (eg, using parallel processors or a multi-threaded environment).

[0131] Corresponding to the above-mentioned business decision processing method based on the decision engine, the embodiment of this specification also provides a business decision processing device based on the decision engine, which can be configured on the above-mentioned server, with reference to Figure 9 As shown, in some embodiments of this specification, a business decision processing device based on a decision engine may include:

[0132] A generating module 91 is configured to generate a concurrent decision group in advance according to a decision engine; the concurrent decision group includes a plurality of concurrently executed processing node sequences, and the plurality of concurrently executed processing node sequences include a basic processing node sequence;

[0133] Receiving module 92, used to receive a business decision request;

[0134] Prediction module 93, configured to perform path prediction on the service decision request and obtain a prediction result;

[0135] A pruning module 94 is configured to perform path pruning on the basic processing node sequence according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request;

[0136] The loading module 95 is used to concurrently load each node in the necessary processing node sequence to process the business decision request.

[0137] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0138] The embodiment of this specification also provides a computer device. Figure 10 As shown, in some embodiments of this specification, the computer device 1002 may include one or more processors 1004, such as one or more central processing units (CPUs) or graphics processing units (GPUs), each of which may implement one or more hardware threads. The computer device 1002 may also include any memory 1006 for storing any type of information such as code, settings, data, etc. In a specific embodiment, the computer program on the memory 1006 and executable on the processor 1004, when executed by the processor 1004, may execute instructions of the business decision processing method based on the decision engine described in any of the above embodiments. For example, without limitation, the memory 1006 may include any one or more combinations of the following: any type of RAM, any type of ROM, a flash memory device, a hard disk, an optical disk, etc. More generally, any memory may use any technology to store information. Furthermore, any memory may provide volatile or non-volatile retention of information. Furthermore, any memory may represent a fixed or removable component of the computer device 1002. In one embodiment, when the processor 1004 executes the associated instructions stored in any memory or combination of memories, the computer device 1002 can perform any operation of the associated instructions. The computer device 1002 also includes one or more drive mechanisms 1008 for interacting with any memory, such as a hard disk drive mechanism, an optical disk drive mechanism, etc.

[0139] The computer device 1002 may also include an input / output interface 1010 (I / O) for receiving various inputs (via input devices 1012) and for providing various outputs (via output devices 1014). A specific output mechanism may include a presentation device 1016 and an associated graphical user interface 1018 (GUI). In other embodiments, the input / output interface 1010 (I / O), input devices 1012, and output devices 1014 may not be included, and the computer device 1002 may simply be a computer device in a network. The computer device 1002 may also include one or more network interfaces 1020 for exchanging data with other devices via one or more communication links 1022. One or more communication buses 1024 couple the components described above together.

[0140] The communication link 1022 can be implemented in any manner, for example, via a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 1022 can include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc., governed by any protocol or combination of protocols.

[0141] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), computer-readable storage media, and computer program products of some embodiments of the present specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processor to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processor generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0142] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processor to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, the instruction device being implemented in the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0143] These computer program instructions can also be loaded onto a computer or other programmable data processor so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0144] In a typical configuration, a computer device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0145] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0146] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be computer-readable 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 technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computer device. As defined in this specification, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0147] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, the embodiments of this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0148] Embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. Embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processors connected via a communications network. In distributed computing environments, program modules may be located in local and remote computer storage media, including storage devices.

[0149] It should also be understood that in the embodiments of this specification, the term "and / or" is merely a description of the association relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0150] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the description of the method embodiments.

[0151] In the description of this specification, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the embodiments of this specification. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.

[0152] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principles of the present application should be included within the scope of the claims of the present application.

Claims

1. A business decision processing method based on a decision engine, characterized in that: include: Generate concurrent decision groups in advance based on the decision engine; The concurrent decision group includes a plurality of concurrently executed processing node sequences, wherein the plurality of concurrently executed processing node sequences include a basic processing node sequence; Receive business decision requests; Performing path prediction on the business decision request to obtain a prediction result; Perform path pruning on the basic processing node sequence according to the prediction result to obtain a necessary processing node sequence corresponding to the business decision request; Concurrently loading each processing node in the necessary processing node sequence to process the business decision request.

2. The business decision processing method based on the decision engine according to claim 1, characterized in that: The plurality of concurrently executing processing node sequences include one or more additional processing node sequences; After concurrently loading the processing nodes in the necessary processing node sequence, the method further includes: The additional processing node sequence is concurrently lazily loaded to process the decision request additional to the business decision request.

3. The business decision processing method based on the decision engine according to claim 1, characterized in that: The step of generating a concurrent decision group in advance according to a decision engine includes: Build a directed acyclic graph of the decision engine; Traversing the directed acyclic graph in a breadth-first search manner to obtain a full node array of the decision engine; Sequentially analyze whether the input parameters of each node in the full node array depend on the output parameters of the corresponding upstream node; If the input parameters of a node depend on the output parameters of its upstream node, the node is merged to the end of the node group where its upstream node is located; If the input parameters of a node do not depend on the output parameters of its upstream node, a new node group is added and the node is placed at the head of the new node group.

4. The business decision processing method based on the decision engine according to claim 1, characterized in that: The performing path prediction on the service decision request includes: Identifying all diversion nodes in the basic processing node sequence and extracting diversion conditions of the diversion nodes; Acquire user data corresponding to the diversion condition and corresponding to the user corresponding to the service decision request; The user data is matched with the diversion condition, and a target branch of the service decision request at the diversion node is determined according to the matching result.

5. The business decision processing method based on the decision engine according to claim 4, characterized in that: The performing path pruning on the basic processing node sequence according to the prediction result includes: Pruning all branches of each of the diversion nodes except the target branch.

6. The business decision processing method based on the decision engine according to claim 4, characterized in that: The performing path pruning on the basic processing node sequence according to the prediction result further includes: When a special diversion node exists in the basic processing node sequence, all branches of the special diversion node are retained; the special diversion node is a diversion node whose diversion condition is irrelevant to user data.

7. The business decision processing method based on the decision engine according to claim 4, characterized in that: The diversion nodes include part or all of the list nodes, policy nodes and payment nodes; The list node is a node that performs access control based on a blacklist, whitelist or greylist; The policy node is a node that performs access control based on business data; The payment node is a node that performs access control based on user payment data.

8. A business decision processing device based on a decision engine, characterized in that: include: A generation module, used to generate concurrent decision groups in advance based on the decision engine; The concurrent decision group includes a plurality of concurrently executed processing node sequences, wherein the plurality of concurrently executed processing node sequences include a basic processing node sequence; A receiving module, used for receiving a business decision request; A prediction module, configured to perform path prediction on the business decision request and obtain a prediction result; A pruning module, configured to perform path pruning on the basic processing node sequence according to the prediction result, to obtain a necessary processing node sequence corresponding to the business decision request; The loading module is used to concurrently load each node in the necessary processing node sequence to process the business decision request.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory, characterized in that: When the computer program is executed by the processor, the computer program executes the instructions of the method according to any one of claims 1 to 7.

10. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor of a computer device, the computer program executes the instructions of the method according to any one of claims 1 to 7.

11. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor of a computer device, the computer program executes instructions of the method according to any one of claims 1 to 7.