A business rule engine construction method and system based on multiple scripting languages
Through the business rules engine construction method based on multi-script language, the problems of inefficient processing efficiency and difficulty in risk management in the financial industry are solved, and the rapid design and verification of business rules are achieved, and team collaboration efficiency and market response speed are improved.
Patent Information
- Application Number
- CN202411816669.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-11
- Publication Date
- 2025-04-04
AI Technical Summary
The business rules of the financial industry are complex and traditional methods are difficult to quickly adjust and verify, resulting in low business processing efficiency and difficulty in risk management. Existing rule engine systems have problems with performance bottlenecks, complex syntax and debugging difficulties.
Using a business rule engine construction method based on a multi-script language allows business personnel to design complex business rules through Excel or system interface, while technicians can choose suitable script language processing rules. This method includes steps such as business rule construction, real-time online verification, timed task management and multi-script language compilation.
It improves team collaboration efficiency, reduces development and communication barriers, ensures close connection between business needs and technology, supports financial institutions to design and launch financial products and services quickly, and reduces technical risks.
Smart Images

Figure CN119762223A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of business rule processing, and in particular to a method and system for constructing a business rule engine based on multiple scripting languages. Background Art
[0002] The complexity and variability of the financial industry's operations is one of the primary challenges currently facing financial institutions. In order to meet this challenge, financial institutions need to continuously optimize business processes and introduce advanced technologies, such as artificial intelligence, big data analysis, and blockchain technology, to improve business processing efficiency and risk management capabilities. At the same time, how to ensure the continuity and reliability of the transaction system is a key factor in maintaining the stability of financial institutions' operations and customer trust.
[0003] Financial business rules are complex. The traditional approach is to abstract and model the rules first, using database tables as persistence. This method of rule abstraction is difficult and takes a long time to model. Usually, a small change in a business rule involves modifying the database table, modifying the program, and then going through multiple tests before being shut down and released online. This takes a long time and carries great risks, which has a great impact on the business of financial institutions.
[0004] Now more and more application systems are beginning to use rule engines, such as Drools, as business management rule engines, which improves business flexibility and scalability. However, these rule engine systems have some common shortcomings:
[0005] The syntax and concepts of rules are relatively complex, with a high learning curve and high difficulty. It is difficult for business personnel to master them, and they often need to be completed by professional technicians.
[0006] When processing large amounts of data and complex rules, performance bottlenecks may occur, especially for online real-time trading systems, where performance is a big challenge;
[0007] A rule is a piece of script code. The execution process (decision-making process) of the rule is not as intuitive as traditional coding, and debugging and error troubleshooting are relatively difficult. Summary of the invention
[0008] In view of the above problems, an object of the present invention is to provide a method for building a business rule engine based on multiple scripting languages, which can help business personnel design complex business rules through Excel or system interface without understanding technical details. At the same time, technical personnel can arbitrarily choose a scripting language to process business rules without understanding the business. The method separates the concerns of business personnel and technical personnel, which not only improves the collaboration efficiency between teams, but also reduces development and communication barriers, ensuring that business needs and technical implementations can be more closely connected and more efficiently divided and collaborated.
[0009] The second object of the present invention is to provide a business rule engine construction system based on multiple scripting languages.
[0010] The first technical solution adopted by the present invention is: a method for constructing a business rule engine based on multiple scripting languages, comprising the following steps:
[0011] S100: Set multiple business rules;
[0012] S200: import the business rules, perform real-time online verification on the business rules one by one, and determine whether each business rule is valid. If any business rule is valid, save the business rule to the rule database and execute step S300; if any business rule is invalid, prompt an error;
[0013] S300: Determine whether any business rule in the rule database needs to take effect immediately. If it does, execute step S400; if it does not, add it to the scheduled task table, call the business rule from the scheduled task table at a specified time, and execute step S400;
[0014] S400: supporting multiple scripting languages based on AbstractDecisionContext or ExpressionCompiler, and selecting any scripting language from the multiple scripting languages to compile the business rule, so as to load the business rule.
[0015] Preferably, setting a plurality of business rules in step S100 includes constructing a rule table or a rule network;
[0016] The rule table is a table that designs business rules based on rows and columns;
[0017] The rule network is a directed acyclic graph-based business rule design.
[0018] Preferably, the row of the rule table includes a rule code, an organization code, a rule type code, a rule priority, a rule expression 1, a rule expression 2, a rule expression 3 and a decision result;
[0019] The columns of the rule table include rule code, organization code, rule type code, rule priority, rule expression 1, rule expression 2, rule expression 3 and specific values of the decision result.
[0020] Preferably, the step S200 includes:
[0021] By simulating the input decision factors, any business rule is tested online in real time to see if it meets the design expectations. If it does, the business rule is judged to meet the design requirements; if it does not, the business rule is judged to not meet the design requirements.
[0022] Preferably, the step S200 includes:
[0023] Specific values are set for the relevant rule factors in the business rules, and then the execution is simulated. After the execution, the execution path from the root node to the leaf node is displayed on the interface. The business personnel check whether the matched leaf nodes meet the design expectations based on the input rule factors. If they meet the design expectations, the business rules are judged to meet the design requirements; if they do not meet the design expectations, the business rules are judged to not meet the design requirements.
[0024] Preferably, the step S300 includes:
[0025] If a business rule in the rule database is triggered by a transaction, the business rule takes effect immediately;
[0026] If any business rule corresponds to a pending transaction processing task, it does not need to take effect immediately, and the business rule is added to the scheduled task table; the scheduled task table records the pending transaction processing tasks, and the scheduler periodically checks all the pending transaction processing tasks in the scheduled task table. If a pending transaction processing task has reached the execution time, the business rule is called for processing.
[0027] Preferably, the multiple scripting languages in step 400 include one or more of the following languages: SpEL, Python, JavaScript, Aviator, QLExpress, Groovy, MVEL and JEXL.
[0028] Preferably, the program JythonDecisionContext implements the AbstractDecisionContext interface to support Python scripts;
[0029] Or through the program JythonExpressionCompiler that implements the ExpressionCompiler interface to support Python scripts.
[0030] Preferably, the Aviator script is supported by a program AviatorDecisionContext that implements the AbstractDecisionContext interface;
[0031] Or through the program AviatorExpressionCompiler that implements the ExpressionCompiler interface to support Aviator scripts.
[0032] The second technical solution adopted by the present invention is: a business rule engine construction system based on multiple scripting languages, including a business rule construction module, a business rule verification module, a judgment module and a business rule compilation module;
[0033] The business rule building module is used to set multiple business rules;
[0034] The business rule verification module is used to import the business rules, perform real-time online verification on the business rules one by one, and determine whether each business rule is valid. If any business rule is valid, the business rule is saved in the rule database and the judgment module is called; if any business rule is invalid, an error is prompted;
[0035] The judgment module is used to judge whether any business rule in the rule database needs to take effect immediately. If it needs to take effect immediately, the business rule compilation module is called; if it does not need to take effect immediately, it is added to the scheduled task table, and the business rule is called from the scheduled task table at a specified time point, and the business rule compilation module is called;
[0036] The business rule compilation module is used to support multiple scripting languages based on AbstractDecisionContext or ExpressionCompiler, and select any scripting language from the multiple scripting languages to compile the business rule to implement loading of the business rule.
[0037] Beneficial effects of the above technical solution:
[0038] (1) The present invention provides a technical framework for coping with complex business scenarios in the financial industry and ensuring the continuity and reliability of financial transactions, namely, a lightweight, simple and efficient expression engine framework that supports multiple scripting languages. It helps business personnel design complex business rules through Excel or system interfaces without having to understand technical details. At the same time, technical personnel can arbitrarily choose a scripting language to process business rules without understanding the business. This capability separates the concerns of business personnel and technical personnel, which not only improves the collaboration efficiency between teams, but also reduces development and communication barriers, ensuring that business needs and technical implementations can be more closely connected and more efficiently divided and collaborated.
[0039] (2) In the face of the complex and ever-changing business conditions in the financial industry, and the requirement for financial services to remain continuous, reliable and uninterrupted, the method for building a business rule engine based on a multi-scripting language disclosed in the present invention can help financial institutions efficiently design business rules, quickly launch financial products and services, and improve the market competitiveness of financial institutions; this method is mainly used in scenarios in the financial industry where business rules are complex and ever-changing, such as risk management, pricing models, algorithmic trading, collection strategies, investment portfolios, and customer service.
[0040] (3) The present invention aims to solve some major problems existing in current rule engines. Business rules can be written by business personnel without code (NO CODE), that is, no technical background is required, and the design of business rules can be completed independently; the designed business rules can take effect online immediately or at a scheduled time.
[0041] (4) In the application system, business personnel can simulate the execution process of decision factors and visualize the display rules online, which can greatly reduce the adverse impact on the business caused by incorrect rule configuration.
[0042] (5) Technicians can choose a scripting language they are familiar with to compile business rules written by business personnel; the present invention has built-in support for current mainstream scripting languages, including SpEL (Spring Expression Language), Python, JavaScript, Aviator, QLExpress, Groovy, MVEL, JEXL and other scripting languages as expression scripts; technically speaking, the present invention can support any scripting language, and for scripting languages that are not currently supported, it is only necessary to simply implement two interfaces. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A flowchart of a method for building a business rule engine based on multiple scripting languages provided by an embodiment of the present invention;
[0044] Figure 2 A schematic diagram of a rule network provided for one embodiment of the present invention;
[0045] Figure 3 A schematic diagram of a rule tree provided for an embodiment of the present invention;
[0046] Figure 4 A schematic diagram of rule simulation verification provided by an embodiment of the present invention;
[0047] Figure 5 A schematic diagram of the structure of a business rule engine construction system based on multiple scripting languages provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0048] The following detailed description of the embodiments of the present invention is further described in detail in conjunction with the accompanying drawings and examples. The detailed description of the following embodiments and the accompanying drawings are used to exemplarily illustrate the principles of the present invention, but cannot be used to limit the scope of the present invention, that is, the present invention is not limited to the preferred embodiments described, and the scope of the present invention is defined by the claims.
[0049] In the description of the present invention, it should be noted that, unless otherwise specified, “plurality” means two or more than two; the terms “first”, “second”, etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance; for ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.
[0050] Embodiment 1
[0051] like Figure 1 As shown, an embodiment of the present invention provides a method for constructing a business rule engine based on multiple scripting languages, comprising the following steps:
[0052] S100: Set multiple business rules;
[0053] Setting multiple business rules includes building a decision table or decision network (decision DAG); a decision table is to design business rules based on a table of rows and columns; a decision network is to design business rules based on a directed acyclic graph (DAG), and its simplified form of a decision network is a tree-structured rule tree.
[0054] The rule table can be designed and imported through Excel. The rule table is to design business rules in the form of rows and columns. The rows of the rule table include, but are not limited to, rule code, organization code, rule type code, rule priority, rule expression 1 (factor 1, operator, condition, description), rule expression 2 (factor 2, operator, condition, description), rule expression 3 (factor 3, operator, condition, description), and decision result (result 1-transaction code, result 2-fee code, result 3-rate);
[0055] The columns of the rule table are, for example, specific values of the rule code (e.g., VA0001, VA0002, MC1001, MC1002, CU1007, CU1008, CU1003, US1009, ..., DT2401), specific values of the institution code (e.g., TANSUN), specific values of the rule type code (e.g., POST, RETAIL, INSTLM), specific values of the rule priority (e.g., 1, 2, 3, ..., 17), specific values of rule expression 1 [specific value of factor 1 (e.g., CRD_ORG_CHNL_CD), specific value of the operator (e.g., ==), specific value of the condition (e.g., 05), specific description], specific values of rule expression 2 [specific value of factor 2 (e.g., ATH_MSG_TP_CD), specific value of the operator (e.g., IN), specific value of the condition (e.g., 1100, 1120), specific description], specific values of rule expression 3 [specific value of factor 3 (e.g., PCS_CD), specific value of the operator (e.g., ==, IN), specific value of the condition (e.g., 00, 02, 94 17,18,19 01,1146), specific description], specific value of the decision result [result 1 - specific value of the transaction code (e.g. TC0001, TC0002, TC1001, TC1002, ..., TC2401), result 2 - specific value of the fee code (e.g. FEE001, FEE002, FEE003), result 3 - specific value of the rate (e.g. 1%, 2%)].
[0056] The rule table can also be entered through the web page, which includes, for example, the decision-making project name, organization (rules, values), overlimit fee events (rules, values), penalty events (rules, values), account templates (rules, values), currencies (rules, values), number of overdue periods (rules, values), results (result 1-charging items, result 2-rates), etc.
[0057] The rule table of the present invention supports an unlimited number of decision factors, supports an unlimited number of decision results for one rule (one row of the rule table), and the rule table can customize global variables and intermediate temporary variables, and can set the decision order according to the priority of the rule (row); at the same time, the rule table supports ending the decision after one rule (one row) that meets the conditions, and can also decide all rules (rows) that meet the conditions. For rules that do not meet the conditions, a fallback process can be set to give a default decision result, or an error process can be reported; the rule table is very suitable for design through Excel tables, is very friendly to business personnel, and can be easily mastered without understanding technical details.
[0058] like Figure 2 As shown in the figure, the rule net is to design business rules based on the form of directed acyclic graph (DAG); its simplified form of the rule net is as follows Figure 3The tree-structured rule tree shown in the figure; both the tree-based rule expression and the DAG-based rule expression are designed by dragging and connecting lines on the visual interface. The tree can only have an up-down structure, and the DAG can have a mesh structure, but cannot form a ring (i.e., a directed acyclic graph);
[0059] The rule network supports an unlimited number of decision factors, and nodes with the same decision conditions on different paths can be reused; the rule network can customize global variables and intermediate temporary variables, and can set the decision order according to the priority of the node; and the rule network supports deciding on a rule that meets the conditions (finding a path from the root to the leaves) and then ending, or it can decide on all rules (paths) that meet the conditions; for rules that do not meet the conditions, you can set a fallback processing to give a default decision result, or you can set an error processing.
[0060] Decision DAG is not suitable for design using Excel, but is more suitable for online design through a visual interface. It is also very friendly to business personnel and can be easily mastered without understanding technical details.
[0061] S200: import the business rules, perform real-time online verification on the business rules one by one, and determine whether each business rule is valid. If any business rule is valid, save the business rule to the rule database and execute step S300; if any business rule is invalid, prompt an error;
[0062] The imported business rules are verified in real time online, that is, the business rules are simulated and verified. Before the designed business rules take effect, the simulated input rule factors can be used to test whether the business rules meet the design expectations online in real time. If they meet the design expectations, the business rules are judged to meet the design requirements; if they do not meet the design expectations, the business rules are judged to not meet the design requirements, which greatly reduces the verification consequences caused by rule errors.
[0063] All business rules are in Figure 4 The online real-time test interface shown is used to perform online real-time testing to check whether the designed business rules meet expectations. A business rule has many rule factors. During testing, specific values can be set for each relevant rule factor in the business rule (the value of the factor can also be randomly generated), and then the simulation execution is performed. After the execution is completed, an execution path from the root node to the leaf node will be displayed on the interface (it may also match multiple paths from the root node to different leaf nodes). Then, the business personnel can check whether the matched leaf node meets the design expectations based on the input rule factors. If it meets the design expectations, the business rule is judged to meet the design requirements; if it does not meet the design expectations, the business rule is judged to not meet the design requirements.
[0064] S300: Determine whether any business rule in the rule database needs to take effect immediately. If it does, execute step S400; if it does not, add it to the scheduled task table, call the business rule from the scheduled task table at a specified time point, and execute step S400;
[0065] Business rules in the rule database can take effect immediately or be set to take effect at a certain time. If a business rule in the rule database is triggered by a transaction, the business rule needs to take effect immediately. The business rule will take effect after it is compiled and loaded.
[0066] If any business rule corresponds to a pending transaction processing task, it does not need to take effect immediately, and the business rule is added to the scheduled task table; the scheduled task table records the pending transaction processing tasks (i.e., things waiting to be processed), and the scheduler periodically checks (for example, every one minute) all the pending transaction processing tasks in the scheduled task table. If a pending transaction processing task has reached the execution time, the business rule is called for processing.
[0067] S400: supporting multiple scripting languages based on AbstractDecisionContext or ExpressionCompiler, and selecting any scripting language from the multiple scripting languages to compile the business rule, so as to load the business rule.
[0068] The application system itself is developed in Java. The present invention embeds the scripting language into the application system through the AbstractDecisionContext interface or the ExpressionCompiler interface for execution. The application system has built-in scripting languages such as SpEL (Spring Expression Language), Python, JavaScript, Aviator, QLExpress, Groovy, MVEL, and JEXL. The business rules designed by business personnel can be compiled, verified, and compiled by technicians according to their preferences.
[0069] If you need to support a new scripting language, you only need to implement the two interfaces of AbstractDecisionContext and ExpressionCompiler; that is, by implementing the two interfaces of AbstractDecisionContext and ExpressionCompiler, you can get new script support; technically speaking, to support any script, you need to implement these two interfaces.
[0070] For example, the JythonDecisionContext program that implements the AbstractDecisionContext interface can be used to support Python scripts. This can be achieved through the following code:
[0071] public final class JythonDecisionContext extendsAbstractDecisionContext{
[0072]
[0073] The JythonExpressionCompiler program that implements the ExpressionCompiler interface supports Python scripts. This can be achieved through the following code:
[0074]
[0075] For example, by implementing the AbstractDecisionContext interface, the AviatorDecisionContext program can support Aviator scripts, which can be implemented through the following code:
[0076]
[0077] The present invention supports Aviator scripts by implementing the program AviatorExpressionCompiler of the ExpressionCompiler interface, which can be specifically implemented by the following code:
[0078]
[0079] When a business rule is triggered to be used when processing a specific transaction, the application system needs to load the business rule. The process of loading the business rule is as follows:
[0080] 1) Query all data related to the business rule from the rule database;
[0081] 2) Rebuild the business rules (rule table / rule network) in the application system;
[0082] 3) All rule expressions in the business rules are compiled into Java bytecode in real time;
[0083] 4) Load the Java bytecode into the Java virtual machine (JVM). At this point, the business rule is a program code that can be directly executed.
[0084] In the system architecture of financial institutions, an expression engine framework that can support multiple scripting languages simultaneously can bring significant advantages, especially in terms of improving flexibility, accelerating product and business innovation, reducing technical risks and improving market response speed. The business needs of the financial industry often change, especially in a rapidly changing market environment. Financial institutions need to continuously launch new financial products and services. An expression engine that supports multiple scripting languages enables financial institutions to choose the most suitable scripting language for development and adjustment according to different business needs and technical environments.
[0085] Multi-script support enables more efficient collaboration between business personnel and technical personnel. Business personnel can quickly design new business rules and work with technical teams to implement these rules through different scripting languages, saving development and adjustment time. This flexibility enables financial institutions to respond quickly to market changes, launch new financial products and services in a timely manner, and seize market opportunities.
[0086] Embodiment 2
[0087] like Figure 5 As shown, an embodiment of the present invention provides a business rule engine construction system based on multiple scripting languages, including a business rule construction module, a business rule verification module, a judgment module and a business rule compilation module;
[0088] The business rule building module is used to design business rules;
[0089] The business rule verification module is used to import the business rules, perform real-time online verification on the business rules one by one, and determine whether each business rule is valid. If any business rule is valid, the business rule is saved in the rule database and the judgment module is called; if any business rule is invalid, an error is prompted;
[0090] The judgment module is used to judge whether any business rule in the rule database needs to take effect immediately. If it needs to take effect immediately, the business rule compilation module is called; if it does not need to take effect immediately, it is added to the scheduled task table, and the business rule is called from the scheduled task table at a specified time point, and the business rule compilation module is called;
[0091] The business rule compilation module is used to support multiple scripting languages based on AbstractDecisionContext or ExpressionCompiler, and select any scripting language from the multiple scripting languages to compile the business rule to implement loading of the business rule.
[0092] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of the present invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.
[0093] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0094] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0095] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0096] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.
[0097] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A method for constructing a business rule engine based on multiple scripting languages, characterized in that: The following steps are involved: S100: Set multiple business rules; S200: import the business rules, perform real-time online verification on the business rules one by one, and determine whether each business rule is valid. If any business rule is valid, save the business rule to the rule database and execute step S300; if any business rule is invalid, prompt an error; S300: Determine whether any business rule in the rule database needs to take effect immediately. If it does, execute step S400; if it does not, add it to the scheduled task table, call the business rule from the scheduled task table at a specified time, and execute step S400; S400: supporting multiple scripting languages based on AbstractDecisionContext or ExpressionCompiler, and selecting any scripting language from the multiple scripting languages to compile the business rule, so as to load the business rule.
2. The method for constructing a business rule engine according to claim 1, characterized in that: The step S100 of setting a plurality of business rules includes constructing a rule table or a rule network; The rule table is a table that designs business rules based on rows and columns; The rule network is a directed acyclic graph-based business rule design.
3. The method for constructing a business rule engine according to claim 2, characterized in that: The row of the rule table includes rule code, organization code, rule type code, rule priority, rule expression 1, rule expression 2, rule expression 3 and decision result; The columns of the rule table include rule code, organization code, rule type code, rule priority, rule expression 1, rule expression 2, rule expression 3 and specific values of the decision result.
4. The method for constructing a business rule engine according to claim 1, characterized in that: The step S200 includes: By simulating the input decision factors, any business rule is tested online in real time to see if it meets the design expectations. If it does, the business rule is judged to meet the design requirements; if it does not, the business rule is judged to not meet the design requirements.
5. The method for constructing a business rule engine according to claim 4, characterized in that: The step S200 includes: Specific values are set for the relevant rule factors in the business rules, and then the execution is simulated. After the execution, the execution path from the root node to the leaf node is displayed on the interface, and based on the input rule factors, it is checked whether the matched leaf nodes meet the design expectations. If they meet the design expectations, the business rules are judged to meet the design requirements; if they do not meet the design expectations, the business rules are judged to not meet the design requirements.
6. The method for constructing a business rule engine according to claim 1, characterized in that: The step S300 includes: If a business rule in the rule database is triggered by a transaction, the business rule takes effect immediately; If any business rule corresponds to a pending transaction processing task, it does not need to take effect immediately, and the business rule is added to the scheduled task table; the scheduled task table records the pending transaction processing tasks, and the scheduler periodically checks all the pending transaction processing tasks in the scheduled task table. If a pending transaction processing task has reached the execution time, the business rule is called for processing.
7. The method for constructing a business rule engine according to claim 1, characterized in that: The multiple scripting languages in step 400 include one or more of the following languages: SpEL, Python, JavaScript, Aviator, QLExpress, Groovy, MVEL, and JEXL.
8. The method for constructing a business rule engine according to claim 7, characterized in that: Support for Python scripts through JythonDecisionContext, a program that implements the AbstractDecisionContext interface; Or through the program JythonExpressionCompiler that implements the ExpressionCompiler interface to support Python scripts.
9. The method for constructing a business rule engine according to claim 7, characterized in that: Support Aviator scripts by implementing the AbstractDecisionContext interface, AviatorDecisionContext; Or through the program AviatorExpressionCompiler that implements the ExpressionCompiler interface to support Aviator scripts.
10. A business rule engine construction system based on multiple scripting languages, characterized in that: It includes business rule building module, business rule verification module, judgment module and business rule compilation module; The business rule building module is used to set multiple business rules; The business rule verification module is used to import the business rules, perform real-time online verification on the business rules one by one, and determine whether each business rule is valid. If any business rule is valid, the business rule is saved in the rule database and the judgment module is called; if any business rule is invalid, an error is prompted; The judgment module is used to judge whether any business rule in the rule database needs to take effect immediately. If it needs to take effect immediately, the business rule compilation module is called; if it does not need to take effect immediately, it is added to the scheduled task table, and the business rule is called from the scheduled task table at a specified time point, and the business rule compilation module is called; The business rule compilation module is used to support multiple scripting languages based on AbstractDecisionContext or ExpressionCompiler, and select any scripting language from the multiple scripting languages to compile the business rule to implement loading of the business rule.