Push information determination method and device, computer equipment and storage medium
By monitoring the sub-rule database and automatically obtaining relevant information about the target object identifier, the problem of low efficiency in adjusting traditional business rules is solved. This enables efficient push information determination to quickly respond to business needs, improving system resource utilization and decision-making accuracy.
Patent Information
- Application Number
- CN202511792808.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-01
- Publication Date
- 2026-02-10
AI Technical Summary
In traditional technologies, adjusting business rules requires multiple steps, including code modification, testing, and deployment. This process is cumbersome and cannot quickly respond to changing business needs, resulting in low efficiency in determining the effectiveness of push notifications.
A method for determining push information is provided. By responding to the input operation of adding new rule description information, the method acquires and listens to the sub-rule database, automatically obtains relevant information of the target object identifier from other databases, and quickly determines the target push information based on the added and target sub-information. The method adopts an event-driven and incremental processing mode to avoid the delay caused by traditional batch processing.
It shortened the time for generating and deploying new rules, improved the efficiency of push information determination, ensured rapid response to business needs, and improved system resource utilization and decision accuracy and reliability through the reuse of sub-rule databases and master-slave task collaboration.
Smart Images

Figure CN121509499A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, computer device, storage medium, and computer program product for determining push information. Background Technology
[0002] With the development of computer technology, technologies have emerged that can process and analyze massive amounts of business data in real time. These technologies aim to perform calculations on continuously generated data streams, make decisions based on business rules, and thus provide instant response capabilities for business scenarios such as real-time marketing, risk control, and personalized recommendations.
[0003] In traditional technologies, adjusting business rules requires multiple steps, including code modification, testing, and deployment. This process is cumbersome, has a long adjustment cycle, and cannot quickly respond to changing business needs, resulting in low efficiency in determining the push notification information. Summary of the Invention
[0004] Therefore, it is necessary to provide a method, apparatus, computer device, computer-readable storage medium, and computer program product that can improve the efficiency of push information determination in order to address the above-mentioned technical problems.
[0005] Firstly, this application provides a method for determining push notification information, including:
[0006] In response to the input operation of adding rule description information, obtain the added rule description information;
[0007] Based on the description information of the newly added rule, determine the newly added rule corresponding to the description information, the multiple mapping sub-rules of the newly added rule, and the data table and sub-rule database corresponding to each mapping sub-rule;
[0008] Monitor the sub-rule database;
[0009] When new sub-information is detected in the target database, the target sub-information corresponding to the target object identifier in the new sub-information is retrieved from the other sub-rule databases excluding the target database; the target database can be any sub-rule database; the new sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule.
[0010] Based on the newly added sub-information and target sub-information, the target object identifier is determined, and the target push information is pushed to the target corresponding to the newly added rule.
[0011] In one embodiment, determining the sub-rule database corresponding to the mapping sub-rule includes:
[0012] If there is a candidate subrule that is the same as the mapping subrule among the candidate subrules corresponding to the candidate rule, the subrule database corresponding to the candidate subrule that is the same as the mapping subrule is determined as the subrule database corresponding to the mapping subrule.
[0013] In one embodiment, based on the newly added sub-information and the target sub-information, the target object identifier is determined to push target information corresponding to the newly added rule, including:
[0014] The newly added sub-information and the target sub-information are concatenated to obtain the concatenated information;
[0015] Compare the spliced information with the newly added rules;
[0016] If the spliced information meets the new rules, the push information corresponding to the new rules will be identified as the target object for the target push information corresponding to the new rules.
[0017] In one embodiment, if at least one candidate rule exists, after detecting the addition of new sub-information in the target database, the method further includes:
[0018] Retrieve the candidate sub-rules corresponding to the candidate rules;
[0019] Candidate rules that correspond to candidate sub-rules that are identical to the target sub-rule are identified as matching rules;
[0020] For each matching rule, retrieve the matching sub-information corresponding to the target object identifier from the sub-rule database corresponding to the remaining candidate sub-rules excluding the target sub-rule;
[0021] Based on the newly added sub-information and matching sub-information, the target object identifier is determined to match the push information corresponding to the matching rule.
[0022] In one embodiment, the method for determining push information further includes:
[0023] In response to the update operation of the sub-rules to be updated for the newly added rule, the updated new rule is obtained; the mapping sub-rules corresponding to the updated new rule include the updated sub-rules, and the data table corresponding to the updated sub-rules is the data table corresponding to the sub-rules to be updated;
[0024] Start the main task and the slave task; the main task is used to perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the sub-rule to be updated, and obtain the first incremental sub-information of the sub-rule to be updated. The first incremental sub-information is used to determine the first object identifier in the first incremental sub-information for the target push information of the new rule; the slave task is used to perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the updated sub-rule, and obtain the second incremental sub-information of the updated sub-rule.
[0025] In one embodiment, the method for determining push information further includes:
[0026] Obtain the first position of the last data stream in the first data stream set of the main task statistical analysis, and the second position of the last data stream in the second data stream set of the task statistical analysis; the data streams in the first data stream set and the second data streams in the second data stream set are generated based on the data table corresponding to the sub-rule to be updated;
[0027] If the second position equals the first position, close the task.
[0028] The main task performs statistical analysis on the data table corresponding to the update sub-rule based on the update sub-rule to obtain the second incremental sub-information of the update sub-rule.
[0029] Save the second incremental sub-information to the sub-rule database corresponding to the sub-rule to be updated.
[0030] Secondly, this application also provides a push information determining device, comprising:
[0031] The response module is used to respond to the input operation of adding rule description information and obtain the new rule description information;
[0032] The determination module is used to determine the new rule corresponding to the new rule description information, the multiple mapping sub-rules of the new rule, and the data table and sub-rule database corresponding to each mapping sub-rule based on the new rule description information.
[0033] The listening module is used to listen to the sub-rule database;
[0034] The acquisition module is used to retrieve the target sub-information corresponding to the target object identifier from the other sub-rule databases excluding the target database when the newly added sub-information is detected in the target database; the target database can be any sub-rule database; the newly added sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule.
[0035] The push module is used to determine the target object identifier based on the newly added sub-information and target sub-information, and push information to the target corresponding to the newly added rule.
[0036] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of any of the methods described in the first aspect.
[0037] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in any one of the first aspects.
[0038] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in any of the first aspects.
[0039] The aforementioned method, apparatus, computer equipment, storage medium, and computer program product for determining push information, in response to an input operation of adding rule description information, acquires the added rule description information; based on the added rule description information, determines the new rule corresponding to the added rule description information, multiple mapping sub-rules of the new rule, and the data table and sub-rule database corresponding to each mapping sub-rule; monitors the sub-rule database; if new sub-information is detected stored in the target database, retrieves the target sub-information corresponding to the target object identifier from the remaining sub-rule databases excluding the target database; the target database is any sub-rule database; the new sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule; based on the new sub-information and the target sub-information, the target push information corresponding to the new rule is determined for the target object identifier. By responding to a simple input operation by operations personnel, the added rule description information can be transformed into an executable new rule, shortening the time for generating and deploying new rules, thereby improving the efficiency of new rule deployment and thus improving the efficiency of determining push information based on new rules. During the new rule execution phase, by monitoring each sub-rule database, when the addition of sub-information to any mapping sub-rule causes a change in the data in the corresponding sub-rule database, the system automatically and accurately retrieves relevant information (i.e., target sub-information) of the same target object identifier from the remaining sub-rule databases. Based on the added sub-information and target sub-information, the system quickly determines the target object identifier and pushes information to the target corresponding to the new rule. This event-driven, incremental processing mode avoids the delays caused by traditional batch processing and further improves the efficiency of determining push information. Attached Figure Description
[0040] Figure 1 This is an application environment diagram of the push information determination method in one embodiment;
[0041] Figure 2 This is a flowchart illustrating a method for determining push information in one embodiment;
[0042] Figure 3 This is a flowchart illustrating the steps for determining the matching push information in one embodiment;
[0043] Figure 4 This is a schematic diagram of the merging process of the primary task and the secondary task in one embodiment;
[0044] Figure 5 This is a timing diagram of a Fink CDC multistream processing job in one embodiment;
[0045] Figure 6 This is a schematic diagram of the framework of a push information determination system in one embodiment;
[0046] Figure 7 This is a structural block diagram of a push information determining device in one embodiment;
[0047] Figure 8 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0048] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0049] The push information determination method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated on server 104 or placed on a cloud or other network server. Both the terminal and server can be used independently to execute the push information determination method provided in this embodiment. The terminal and server can also work together to execute the push information determination method provided in this embodiment. For example, in response to an input operation of new rule description information, terminal 102 obtains the new rule description information; based on the new rule description information, it determines the new rule corresponding to the new rule description information, multiple mapping sub-rules of the new rule, and the data table and sub-rule database corresponding to each mapping sub-rule; it monitors the sub-rule database; if new sub-information is detected in the target database, it obtains the target sub-information corresponding to the target object identifier from the remaining sub-rule databases excluding the target database; the target database is any sub-rule database; the new sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule; based on the new sub-information and the target sub-information, it determines the target push information corresponding to the new rule for the target object identifier. The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, and smart in-vehicle systems. Portable wearable devices can include smartwatches, smart bracelets, and head-mounted devices. The server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.
[0050] In one embodiment, such as Figure 2As shown, a method for determining push information is provided. This embodiment uses the application of this method to a computer device as an example for illustration, including steps 202 to 210.
[0051] Step 202: In response to the input operation of adding rule description information, obtain the added rule description information.
[0052] The newly added rule description information refers to the business rule logic described in natural language and entered through the interface. This information can be entered by operations personnel through the interface, for example, "If a user cancels an order twice within one day and is a high-value customer, then push a retention offer." The input operation refers to the final confirmation action performed after the newly added rule description information is completed on the interface, such as clicking the "Save" or "Submit" control.
[0053] For example, an operator enters new rule description information on the interface and clicks controls such as "Save" or "Submit". The computer device responds to the input operation of the new rule description information and obtains the new rule description information.
[0054] Step 204: Based on the newly added rule description information, determine the newly added rule corresponding to the newly added rule description information, the multiple mapping sub-rules of the newly added rule, and the data table and sub-rule database corresponding to each mapping sub-rule.
[0055] In this context, a newly added rule refers to an internally formatted rule object obtained by parsing and transforming the description information of the new rule. This object can be understood and executed by a rule engine (such as Drools Rule Engine). The rule engine can access various data sources through developed UDFs (User-Defined Functions), such as QueryH2Function (for querying embedded H2), QueryRedisFunction (for querying Redis), QueryMySQLFunction (for querying MySQL), and QueryStateFunction (for querying Flink State).
[0056] Mapping sub-rules are indivisible atomic conditional components that constitute a new rule. Each mapping sub-rule corresponds to an independent business judgment condition; for example, if an order is canceled more than twice within one day, the user value level is high. Data tables refer to the original data sources upon which mapping sub-rules rely for calculation, i.e., specific data tables in the business database, such as order tables and user profile tables. The sub-rule database is a dedicated storage area used to store and manage the calculation results of its corresponding mapping sub-rules. It is a logical concept, and its physical implementation can be Redis (Remote Dictionary Server, Redis in-memory database), H2 (H2 Database, H2 embedded database), Flink State (a state storage mechanism managed by the Apache Flink runtime and bound to specific operator tasks), etc.
[0057] For example, the computer device determines the new rule corresponding to the new rule description information, multiple mapping sub-rules of the new rule, and the data table and sub-rule database corresponding to each mapping sub-rule based on the new rule description information.
[0058] In one embodiment, the computer device uses an SQL (Structured Query Language) parser to convert the description information of the new rule into an Abstract Syntax Tree (AST); and uses a rule template engine to generate new rules based on the AST.
[0059] In one embodiment, the new rule lifecycle management process includes:
[0060] (1) Rule definition and analysis
[0061] Responding to the input operations of the operators on the interface, obtain the description information of the newly added rule;
[0062] Based on the newly added rule description information, it is converted into an abstract syntax tree by the SQL parser. This process includes using a semantic analyzer to verify the legality of the rule logic and using an optimizer to generate the optimal execution plan.
[0063] (2) Rule generation and deployment
[0064] New rules (i.e., Drools rule language files) are generated based on the abstract syntax tree using the rule template engine.
[0065] The MD5 (Message-Digest Algorithm 5) value of the newly added rule is calculated for verification and version control, and the newly added rule is stored in the version repository and marked with a unique version number;
[0066] By monitoring configuration table changes in MySQL (MySQL relational database management system) through Flink (Apache Flink, Flink distributed stream processing framework), once the configuration information of a new rule is detected, it is immediately broadcast to all Flink TaskManagers through Broadcast State. This process enables hot updating of new rules, and the rules can take effect in the entire cluster without restarting the stream processing tasks.
[0067] (3) Runtime execution mechanism
[0068] The rule stream representing new rules is combined with the feature data stream representing real-time business in KeyedProcessFunction (the most core and flexible data processing function in Flink);
[0069] In KeyedProcessFunction, for each user's (target object identifier) behavior event, the corresponding target sub-information is queried from each sub-rule database;
[0070] All target sub-information is concatenated with the newly added sub-information to form complete factual data, which is then injected into the rule session created by the Drools session pool.
[0071] The Drools engine performs matching calculations for newly added rules. When the conditions of all mapping sub-rules are met, the Drools engine orchestrates and outputs the strategy results.
[0072] Based on the newly added sub-information and target sub-information, the policy result output by Drools is determined as the target object identifier to push information to the target corresponding to the newly added rule, and the push action is executed.
[0073] Collect feedback data on the results for subsequent rule optimization.
[0074] Step 206: Monitor the sub-rule database.
[0075] Listening refers to monitoring data changes in the sub-rule database. This can be achieved by monitoring the Binlog (Binary Log, the binary log of a MySQL database) change events generated by the sub-rule database. The Binlog change events can be CDC streams (change data capture streams) obtained based on Flink's dual-stream CDC (Change Data Capture) processing method.
[0076] For example, a computer device monitors a sub-rule database by means of change events generated by the sub-rule database.
[0077] Step 208: When the newly added sub-information is detected in the target database, retrieve the target sub-information corresponding to the target object identifier from the other sub-rule databases excluding the target database; the target database can be any sub-rule database; the newly added sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule.
[0078] The target database refers to the sub-rule database where data addition events have occurred. Added sub-information refers to information obtained and stored in the target database based on real-time statistical or query calculations performed on the corresponding data tables according to the target sub-rules. The target object identifier is the identifier representing the target object, which can be a user. Target sub-information refers to information associated with the target object identifier obtained from other sub-rule databases besides the target database.
[0079] For example, when a computer device detects a change event generated by a sub-rule database, it identifies the sub-rule database that generated the change event as the target database, retrieves newly added sub-information from the target database, the newly added sub-information including a target object identifier, and retrieves target sub-information corresponding to the target object identifier from the other sub-rule databases excluding the target database. The newly added sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule.
[0080] Step 210: Based on the newly added sub-information and target sub-information, determine the target object identifier and push information to the target corresponding to the newly added rule.
[0081] Among them, target push information refers to push information pushed to the target object identifier and corresponding to the newly added rule. It can be understood as push information pushed to the target object identifier based on the newly added rule.
[0082] For example, the computer device determines the splicing information based on the newly added sub-information and the target sub-information, and determines the target object identifier based on the splicing information and the newly added rule to push information to the target corresponding to the newly added rule.
[0083] In one embodiment, after determining the target object identifier for the target push information corresponding to the newly added rule, the method further includes: sending the target push information to the target object identifier.
[0084] In one embodiment, the above-described method for determining push information can also be used for risk identification. Specifically, after executing steps 202 to 208, based on the newly added sub-information and the target sub-information, the risk identification result corresponding to the newly added rule for the target object identifier is determined. The risk identification result can include risk event type and risk level assessment, etc.
[0085] The aforementioned method for determining push notifications can transform new rule descriptions into executable new rules through simple input from operations personnel, shortening the time for generating and deploying new rules, thereby improving the efficiency of new rule deployment and, consequently, the efficiency of determining push notifications based on new rules. During the new rule execution phase, by monitoring each sub-rule database, if the addition of sub-information to any mapped sub-rule causes a change in the corresponding sub-rule database, the system automatically and accurately retrieves relevant information (i.e., target sub-information) for the same target object identifier from the remaining sub-rule databases. Based on the added sub-information and target sub-information, the system quickly determines the target object identifier and the target push notification corresponding to the new rule. This event-driven, incremental processing mode avoids the delays caused by traditional batch processing, further improving the efficiency of push notification determination.
[0086] In one embodiment, determining the sub-rule database corresponding to the mapping sub-rule includes:
[0087] If there is a candidate subrule that is the same as the mapping subrule among the candidate subrules corresponding to the candidate rule, the subrule database corresponding to the candidate subrule that is the same as the mapping subrule is determined as the subrule database corresponding to the mapping subrule.
[0088] Candidate rules refer to existing business rules other than newly added rules. Candidate sub-rules refer to the atomic conditional components that constitute a candidate rule. They can be understood as having the same essence as mapping sub-rules, but specifically referring to components that belong to the candidate rule.
[0089] For example, if there is a candidate subrule that is the same as the mapping subrule among the candidate subrules corresponding to the candidate rule, the computer device will determine the subrule database corresponding to the candidate subrule that is the same as the mapping subrule as the subrule database corresponding to the mapping subrule.
[0090] In one embodiment, if there is no candidate subrule identical to the mapping subrule among the candidate subrules corresponding to the candidate rule, the computer device establishes a new subrule database for the mapping subrule, and determines it as the subrule database corresponding to the mapping subrule.
[0091] In this embodiment, when determining the sub-rule database corresponding to the mapping sub-rule, a new sub-rule database is not always created. Instead, a matching search is first performed in the existing sub-rule database. When a candidate sub-rule with identical logic is found, the sub-rule database corresponding to that candidate sub-rule is determined as the sub-rule database corresponding to the mapping sub-rule. This achieves the reuse of the sub-rule database and avoids repeatedly constructing data flow calculation tasks, allocating storage space, and performing redundant calculations for sub-rules with identical logic, thereby greatly saving the system's storage and computing resources. Moreover, the reuse of the sub-rule database ensures that the judgment criteria and data sources of the same sub-rule in different business rules are completely consistent, eliminating decision contradictions caused by data asynchrony or differences in calculation methods, thereby improving the accuracy and reliability of push information determination.
[0092] In one embodiment, based on the newly added sub-information and the target sub-information, the target object identifier is determined to push target information corresponding to the newly added rule, including:
[0093] The newly added sub-information and target sub-information are concatenated to obtain concatenated information; the concatenated information is compared with the newly added rule; if the concatenated information satisfies the newly added rule, the push information corresponding to the newly added rule is identified as the target object identifier for the target push information corresponding to the newly added rule.
[0094] The concatenated information refers to a complete and structured data set formed by integrating new sub-information and target sub-information related to the same target object identifier from different sub-rule databases. This set contains all the factual data required to perform matching for the new rule. Comparison refers to injecting the concatenated information as factual data into the working memory of the rule engine (such as Drools), where the rule engine performs pattern matching and condition judgment based on the logic defined in the new rule. The push information corresponding to the new rule refers to the specific actions or content that are pre-configured when defining the new rule and need to be executed when the rule conditions are met.
[0095] For example, the computer device concatenates the new sub-information and the target sub-information to obtain concatenated information, and then sends the concatenated information to the rule engine. The rule engine executes the new rule and determines whether the concatenated information meets the conditions of all the mapping sub-rules corresponding to the new rule. When the rule engine determines that the concatenated information meets the conditions of all the mapping sub-rules corresponding to the new rule, the computer device identifies the push information corresponding to the new rule as the target object identifier for the target push information corresponding to the new rule.
[0096] In this embodiment, an efficient decision-making mechanism is achieved by concatenating the scattered new sub-information and target sub-information into a complete concatenated information and performing a one-time, centralized matching comparison with the new rules. This method avoids the system overhead and processing latency caused by performing multiple, scattered comparisons of each sub-information with its corresponding mapping sub-rules, greatly shortening the rule matching time and thus improving the efficiency of determining the target push information. Simultaneously, centralized comparison ensures that all conditions are judged based on the same complete and consistent data snapshot, avoiding data inconsistency issues that may arise from step-by-step queries, thereby improving the accuracy of the final decision.
[0097] In one embodiment, such as Figure 3 As shown, if at least one candidate rule exists, after detecting the addition of new sub-information in the target database, the following steps are also included:
[0098] Step 302: Obtain the candidate sub-rules corresponding to the candidate rules.
[0099] Among them, candidate subrules refer to the atomic conditional components contained in candidate rules.
[0100] For example, the computer device retrieves all currently enabled or active candidate rules from the rule meta database and parses out the candidate sub-rules corresponding to each candidate rule.
[0101] Step 304: The candidate rules corresponding to the candidate sub-rules that are the same as the target sub-rule are determined as matching rules.
[0102] Among them, the matching rule refers to the candidate rule that contains the same candidate sub-rule as the target sub-rule. For example, if the target sub-rule is "the number of times a user cancels an order in a day is greater than 2", then the candidate rule that contains the candidate sub-rule "the number of times a user cancels an order in a day is greater than 2" will be the matching rule.
[0103] For example, the computer device determines the candidate rule corresponding to the candidate sub-rule that is the same as the target sub-rule as the matching rule.
[0104] Step 306: For the matching rule, retrieve the matching sub-information corresponding to the target object identifier from the sub-rule database corresponding to the other candidate sub-rules excluding the target sub-rule.
[0105] Among them, the matching sub-information refers to the sub-information corresponding to the target object identifier obtained from the sub-rule database corresponding to the other candidate sub-rules excluding the target sub-rule in the matching rule.
[0106] For example, for a matching rule, the computer device retrieves the matching sub-information corresponding to the target object identifier from the sub-rule database corresponding to the remaining candidate sub-rules of the matching rule excluding the target sub-rule.
[0107] Step 308: Based on the newly added sub-information and matching sub-information, determine the target object identifier and the matching push information corresponding to the matching rule.
[0108] Among them, matching push information refers to push information that meets the matching rules and corresponds to the target object identifier.
[0109] For example, the computer device concatenates the newly added sub-information with the matching sub-information to obtain matching information, injects the matching information into the rule engine, the rule engine executes the matching rule, and determines whether the concatenated information meets the conditions of all matching sub-rules corresponding to the matching rule. When the rule engine determines that the concatenated information meets the conditions of all matching sub-rules corresponding to the matching rule, the computer device identifies the push information corresponding to the matching rule as the target object identifier for the target push information corresponding to the matching rule.
[0110] In this embodiment, by proactively determining the matching rules associated with the target sub-rule in a single data change event (i.e., when new sub-information is stored in the target database), the need to set up a listener independently for each candidate rule is avoided, reducing system resource overhead and thus improving system resource utilization. Furthermore, when the same sub-rule is shared by multiple matching rules, the update of its sub-information can drive all matching rules at once, determining the target object identifier for the push information corresponding to each matching rule, ensuring the comprehensiveness and timeliness of the push information determination.
[0111] In one embodiment, the method for determining push information further includes:
[0112] In response to the update operation of the sub-rule to be updated for the newly added rule, the updated new rule is obtained; the mapping sub-rule corresponding to the updated new rule includes the updated sub-rule, and the data table corresponding to the updated sub-rule is the data table corresponding to the sub-rule to be updated; a main task and a slave task are started; the main task is used to perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the sub-rule to be updated, to obtain the first incremental sub-information of the sub-rule to be updated, and the first incremental sub-information is used to determine the first object identifier in the first incremental sub-information for the target push information of the new rule; the slave task is used to perform statistical analysis on the data table corresponding to the updated sub-rule to be updated based on the updated sub-rule, to obtain the second incremental sub-information of the updated sub-rule.
[0113] In this context, "sub-rule to be updated" refers to the atomic conditional component modified in the newly added rule. "Update operation" refers to the operation that modifies the logic or parameters of the sub-rule to be updated. "Updated new rule" refers to the rule obtained by updating the sub-rule to be updated in the new rule to the updated sub-rule. "Updated sub-rule" refers to the new atomic conditional component that replaces the sub-rule to be updated. "Main task" refers to the resident task that consumes incremental streams and processes real-time data streams based on the sub-rule to be updated. "Slave task" refers to the temporary task that consumes the full stream and processes historical data streams based on the updated sub-rule; it can be understood as a task temporarily started by the slave task for backtracking compensation. "First incremental sub-information" refers to the result calculated by the main task based on the sub-rule to be updated. "First object identifier" refers to the object identifier in the first incremental sub-information. "Second incremental sub-information" refers to the result calculated by the slave task based on the updated sub-rule.
[0114] For example, an operator modifies a sub-rule to be updated in a new rule into an updated sub-rule. The computer device responds to the update operation for the sub-rule to be updated in the new rule, obtains the updated new rule, and then starts a main task and a slave task. The main task performs statistical analysis on the data table corresponding to the sub-rule to be updated based on the sub-rule to be updated, and obtains the first incremental sub-information of the sub-rule to be updated. The first incremental sub-information is used to determine the first object identifier in the first incremental sub-information for the target push information of the new rule. The slave task performs statistical analysis on the data table corresponding to the updated sub-rule based on the updated sub-rule, and obtains the second incremental sub-information of the updated sub-rule.
[0115] In one embodiment, deep integration of Flink state is the cornerstone for enabling seamless switching and execution of new rules. Keyed State stores user-level state data, such as session information and cumulative metrics; OperatorState stores operator-level state, such as window aggregation results; and Broadcast State stores global state such as rule configurations.
[0116] In this embodiment, by starting a main task and a slave task when a new rule is updated, the main task processes real-time incremental data based on the sub-rules to be updated, ensuring the continuity and high availability of online services. At the same time, the slave task backtracks historical data in parallel based on the updated sub-rules, realizing state compensation calculation. This avoids the business interruption and high resource overhead caused by having to stop services and perform a full recalculation due to rule changes. Thus, while ensuring business continuity, the system's resource utilization efficiency is significantly improved. That is, through the dual-stream mechanism of the main task and slave task working together, the seamless update of business rules and smooth state backtracking are achieved.
[0117] In one embodiment, the method for determining push information further includes:
[0118] Obtain the first position of the last data stream in the first data stream set of the main task statistical analysis, and the second position of the last data stream in the second data stream set of the slave task statistical analysis; the data streams in the first data stream set and the second data streams in the second data stream set are generated based on the data table corresponding to the sub-rule to be updated; if the second position is equal to the first position, close the slave task; perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the update sub-rule by the main task to obtain the second incremental sub-information of the update sub-rule; save the second incremental sub-information to the sub-rule database corresponding to the sub-rule to be updated.
[0119] The first data stream set refers to the sequence of processed data generated by the real-time change data streams from the data tables corresponding to the sub-rules to be updated, consumed and processed by the main task. The last data stream refers to the unique position identifier (including filename and offset) in the source database transaction log (such as Binlog) corresponding to the most recently processed data record in either the first or second data stream set. The second data stream set refers to the sequence of processed data generated by the historical change data streams from the data tables corresponding to the sub-rules to be updated, consumed and processed by the task. The first position refers to the position identifier of the last data stream in the first data stream set, representing the current progress of the main task in processing real-time data. The second position refers to the position identifier of the last data stream in the second data stream set, representing the current progress of tracing back historical data from the task.
[0120] For example, the computer device obtains the first position of the last data stream in the first data stream set of the main task statistical analysis and the second position of the last data stream in the second data stream set of the slave task statistical analysis based on a preset time interval. When the second position is equal to the first position, the slave task is closed, and the main task performs statistical analysis on the data table corresponding to the update sub-rule based on the update sub-rule to obtain the second incremental sub-information of the update sub-rule. The second incremental sub-information is then saved to the sub-rule database corresponding to the update sub-rule.
[0121] In one embodiment, the working mechanism of the master task and slave task is as follows:
[0122] (1) Main task initialization and rule registration
[0123] The computer device starts the main task and connects the main task to the Flink cluster.
[0124] The main task registers the source table (i.e., the data table corresponding to the sub-rule to be updated) information with the state manager, and the state manager grants the main task permissions.
[0125] The main task begins consuming the CDC stream (i.e., incremental stream) generated by the source table, and performs real-time statistical analysis on the incremental stream based on the sub-rules to be updated, to obtain the first incremental sub-information.
[0126] (2) Rule update triggers full backtracking
[0127] In response to an update operation for a sub-rule to be updated in relation to a newly added rule, the computer device triggers a full backtracking process by modifying the broadcast status configuration table and determines the historical position to be backtracked.
[0128] (3) Task initiation and dual-stream parallel processing
[0129] The computer device starts from the task.
[0130] The task sends a reuse request to the state manager, obtains the address information of the main task, and establishes a connection.
[0131] The task, based on the update sub-rule, consumes the CDC stream (i.e., the full stream) from the same source table starting from the specified historical position, forming the second incremental sub-information.
[0132] (4) Merging of main and secondary tasks
[0133] A diagram illustrating the merging process of the primary and secondary tasks is shown below. Figure 4 As shown, it includes:
[0134] The computer device merges the incremental stream (i.e., the first set of data streams) processed by the main task with the full stream (i.e., the second set of data streams) processed by the secondary task.
[0135] Continuously monitor the first position (i.e., the current position of the incremental stream processed by the main task) and the second position (i.e., the current position of the full stream processed by the secondary task).
[0136] When the second position approaches the first position, the consumption rate of the incremental stream is dynamically controlled through the broadcast status.
[0137] When the second position equals the first position, the computer device closes the slave task and switches the processing logic of the main task from being based on the sub-rule to be updated to being based on the updated sub-rule.
[0138] The main task continues to perform statistical analysis on the real-time data stream based on the update sub-rule, obtains new second incremental sub-information, and saves it to the sub-rule database corresponding to the update sub-rule.
[0139] In one embodiment, the timing diagram of the Fink CDC multi-stream processing job is as follows: Figure 5 As shown, it includes:
[0140] The computer device responds to the update operation of the sub-rules to be updated for the newly added rule, obtains the updated new rule, and then starts the main task and the slave task.
[0141] The main task is to perform statistical analysis on the data table corresponding to the sub-rule to be updated, based on the sub-rule to be updated, to obtain the first incremental sub-information of the sub-rule to be updated.
[0142] The task performs statistical analysis on the data table corresponding to the update sub-rule based on the update sub-rule, and obtains the second incremental sub-information of the update sub-rule.
[0143] In the case of real-time topics, the data bus (such as Kafka (Apache Kafka, Kafka Distributed Message Streaming Platform) sends the incremental stream processed by the main task to the stream processing layer; in the case of backtracking topics, it sends the incremental stream processed by the main task and the full stream processed by the secondary task to the stream processing layer.
[0144] The stream processing layer integrates incremental and full streams into a unified logical data stream through stream merging; defines full and incremental streams as queryable dynamic tables through dynamic table registration, providing a unified data abstraction for subsequent processing; manages the shared state of full and incremental streams; broadcasts the current position (i.e., the first position) of the incremental stream being processed by the main task; performs adaptive rate limiting control on the speed at which the incremental stream is processed by the main task; and requests the dynamic feature engine to concatenate sub-information.
[0145] During the backtracking process, the dynamic feature engine obtains the corresponding target sub-information, concatenates the first incremental sub-information and the target sub-information to obtain concatenated information; after the backtracking is completed, the dynamic feature engine obtains the corresponding target sub-information, concatenates the second incremental sub-information and the target sub-information to obtain concatenated information; based on the concatenated information, the target push information is determined and sent to the downstream system (the downstream system refers to the specific business system).
[0146] In this embodiment, by monitoring and comparing the first position and the second position, the slave task is shut down when the second position is equal to the first position. That is, when the progress of the slave task backtracking compensation is consistent with the progress of the main task's real-time processing, the shutdown of the slave task and the dynamic switching of the main task's processing logic are immediately triggered, ensuring a smooth transition between the old and new rule versions and the business continuity of real-time data processing.
[0147] In one exemplary embodiment, a schematic diagram of the push information determination system is shown below. Figure 6 As shown, it includes a data source layer, a stream processing layer, a computation layer, a decision layer, and an output layer.
[0148] The data source layer is the foundation of the push information determination system. It is responsible for collecting raw data in real time from diverse data sources, including the core business MySQL CDC (MySQL Change Data Capture), user behavior tracking logs, and API gateway data reflecting real-time interface requests. This data is uniformly sent to the data bus (Kafka) to provide continuous and reliable data input for the upper stream processing layer.
[0149] The stream processing layer is the central hub for data flow and coordination in the system. Its core is the Flink CDC Job (Flink Change Data Capture Job), which, as a resident stream processing job, directly consumes change events from the data bus and is responsible for real-time data access and initial transformation. The stream multiplexing controller dynamically manages the dual-stream processing lifecycle of the master and slave tasks, realizing the merging of incremental and full streams and adaptive rate limiting. At the same time, this layer leverages Flink's powerful state storage to persist key contexts such as user sessions and rule configurations, providing a solid guarantee for seamless hot updates of rules and accurate state backtracking.
[0150] The computation layer is the execution site of core business logic. The feature enrichment pipeline, by calling various UDFs, concatenates the data obtained from the stream processing layer with the tags from the user profiling service to form complete concatenated information. Subsequently, the rule engine cluster performs parallel matching calculations of new rules and matching rules based on this information. At the same time, the model service injects intelligent decision-making capabilities into the push information determination system. It performs complex semantic analysis by running machine learning models (e.g., models used to predict the probability of user churn) or calling large language models (such as GPT-4 (Generative Pre-trained Transformer 4)), providing the rule engine with deeper insights and predictive features, jointly completing the comprehensive transformation from raw data to advanced decision-making basis.
[0151] The decision-making layer focuses on strategy management and optimization. Through the strategy management module, it manages the entire lifecycle of new rules, from parsing and generation to hot updates. Based on feedback data from effect analysis, it drives the GPT-4 optimizer to automatically tune and make suggestions on rule logic, thereby achieving continuous iteration and improvement of strategy effectiveness.
[0152] The output layer is responsible for applying the decision results to actual business operations. It matches the results according to the rules, delivers the target information to users accurately through real-time push, protects business security through risk control, or provides operations personnel with intuitive effect monitoring and data analysis capabilities through the Business Intelligence (BI) visualization interface, thus forming a business closed loop.
[0153] Based on the aforementioned push notification determination system, a push notification determination method is proposed, including:
[0154] Operators enter the description information of the new rule on the interface and click the "Save" or "Submit" controls. The computer device responds to the input operation of the new rule description information and obtains the new rule description information.
[0155] The SQL parser converts the description information of the new rule into an abstract syntax tree. The rule template engine then generates the new rule based on the abstract syntax tree, and determines the multiple mapping sub-rules of the new rule, as well as the data table and sub-rule database corresponding to each mapping sub-rule.
[0156] Computer devices monitor the sub-rule database by detecting change events generated by the sub-rule database.
[0157] When a computer device detects a change event in a sub-rule database, it identifies the sub-rule database that generated the change event as the target database. It retrieves newly added sub-information from the target database, which includes a target object identifier. Then, it retrieves the target sub-information corresponding to the target object identifier from the remaining sub-rule databases (excluding the target database). The newly added and target sub-information are concatenated to obtain concatenated information, which is then passed to the rule engine. The rule engine executes the new rule and determines whether the concatenated information satisfies the conditions of all mapping sub-rules corresponding to the new rule. If the rule engine determines that the concatenated information satisfies the conditions of all mapping sub-rules corresponding to the new rule, the computer device sends the push information corresponding to the new rule, identifying the target object identifier, to the target push information corresponding to the new rule.
[0158] When at least one candidate rule exists, the computer device retrieves all currently enabled or active candidate rules from the rule metadata database and parses out the candidate sub-rules corresponding to each candidate rule. Candidate rules corresponding to candidate sub-rules that are identical to the target sub-rule are identified as matching rules. For each matching rule, the computer device retrieves the matching sub-information corresponding to the target object identifier from the sub-rule database corresponding to the remaining candidate sub-rules (excluding the target sub-rule). The newly added sub-information is concatenated with the matching sub-information to obtain matching information. This matching information is then injected into the rule engine. The rule engine executes the matching rule and determines whether the concatenated information satisfies the conditions of all matching sub-rules corresponding to the matching rule. When the rule engine determines that the concatenated information satisfies the conditions of all matching sub-rules corresponding to the matching rule, the computer device identifies the push information corresponding to the matching rule as the target push information for the target object identifier corresponding to the matching rule.
[0159] The operations personnel modify the sub-rules to be updated in the new rules into updated sub-rules. The computer device responds to the update operation for the sub-rules to be updated in the new rules, obtains the updated new rules, and then starts the main task and the slave task. The main task performs statistical analysis on the data table corresponding to the sub-rules to be updated based on the sub-rules to be updated, and obtains the first incremental sub-information of the sub-rules to be updated. The first incremental sub-information is used to determine the first object identifier in the first incremental sub-information for the target push information of the new rules. The slave task performs statistical analysis on the data table corresponding to the updated sub-rules based on the updated sub-rules to be updated, and obtains the second incremental sub-information of the updated sub-rules.
[0160] Based on a preset time interval, the first position of the last data stream in the first data stream set of the main task statistical analysis and the second position of the last data stream in the second data stream set of the slave task statistical analysis are obtained. If the second position is equal to the first position, the slave task is closed. The main task performs statistical analysis on the data table corresponding to the update sub-rule based on the update sub-rule to obtain the second incremental sub-information of the update sub-rule. The second incremental sub-information is saved to the sub-rule database corresponding to the update sub-rule.
[0161] The aforementioned method for determining push notifications can transform new rule descriptions into executable new rules through simple input from operations personnel, shortening the time for generating and deploying new rules, thereby improving the efficiency of new rule deployment and, consequently, the efficiency of determining push notifications based on new rules. During the new rule execution phase, by monitoring each sub-rule database, if the addition of sub-information to any mapped sub-rule causes a change in the corresponding sub-rule database, the system automatically and accurately retrieves relevant information (i.e., target sub-information) for the same target object identifier from the remaining sub-rule databases. Based on the added sub-information and target sub-information, the system quickly determines the target object identifier and the target push notification corresponding to the new rule. This event-driven, incremental processing mode avoids the delays caused by traditional batch processing, further improving the efficiency of push notification determination.
[0162] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0163] Based on the same inventive concept, this application also provides a push information determining device for implementing the push information determining method described above. The solution provided by this device is similar to the implementation described in the above method; therefore, the specific limitations in one or more push information determining device embodiments provided below can be found in the limitations of the push information determining method described above, and will not be repeated here.
[0164] In one embodiment, such as Figure 7 As shown, a push information determination device is provided, including: a response module 702, a determination module 704, a listening module 706, an acquisition module 708, and a push module 710, wherein:
[0165] Response module 702 is used to respond to the input operation of adding new rule description information and obtain the new rule description information;
[0166] The determination module 704 is used to determine, based on the newly added rule description information, the newly added rule corresponding to the newly added rule description information, the multiple mapping sub-rules of the newly added rule, and the data table and sub-rule database corresponding to each mapping sub-rule;
[0167] Listening module 706 is used to listen to the sub-rule database;
[0168] The acquisition module 708 is used to acquire the target sub-information corresponding to the target object identifier in the newly added sub-information from the other sub-rule databases excluding the target database when the newly added sub-information is detected in the target database; the target database can be any sub-rule database; the newly added sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule.
[0169] The push module 710 is used to determine the target object identifier based on the newly added sub-information and target sub-information, and push information to the target corresponding to the newly added rule.
[0170] In one embodiment, the determining module 704 is further configured to: if there is a candidate subrule that is the same as the mapping subrule among the candidate subrules corresponding to the candidate rule, determine the subrule database corresponding to the candidate subrule that is the same as the mapping subrule as the subrule database corresponding to the mapping subrule.
[0171] In one embodiment, the push module 710 is further configured to: concatenate the newly added sub-information and the target sub-information to obtain concatenated information; compare the concatenated information with the newly added rule; and, if the concatenated information satisfies the newly added rule, determine the push information corresponding to the newly added rule as the target object identifier for the target push information corresponding to the newly added rule.
[0172] In one embodiment, when at least one candidate rule exists, the push module 710 is further configured to: obtain candidate sub-rules corresponding to the candidate rule; determine the candidate rule corresponding to the candidate sub-rule that is the same as the target sub-rule as the matching rule; for the matching rule, obtain the matching sub-information corresponding to the target object identifier from the sub-rule database corresponding to the remaining candidate sub-rules excluding the target sub-rule; and determine the matching push information corresponding to the matching rule for the target object identifier based on the newly added sub-information and the matching sub-information.
[0173] In one embodiment, the response module 702 is further configured to: respond to an update operation on a sub-rule to be updated for a newly added rule, obtain the updated newly added rule; the mapping sub-rule corresponding to the updated newly added rule includes the updated sub-rule, and the data table corresponding to the updated sub-rule is the data table corresponding to the sub-rule to be updated; start a main task and a slave task; the main task is configured to perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the sub-rule to be updated, obtain the first incremental sub-information of the sub-rule to be updated, the first incremental sub-information being used to determine the first object identifier in the first incremental sub-information as the target push information for the newly added rule; the slave task is configured to perform statistical analysis on the data table corresponding to the updated sub-rule to be updated based on the updated sub-rule, obtain the second incremental sub-information of the updated sub-rule.
[0174] In one embodiment, the response module 702 is further configured to: obtain the first position of the last data stream in the first data stream set of the main task statistical analysis, and the second position of the last data stream in the second data stream set of the slave task statistical analysis; the data streams in the first data stream set and the second data streams in the second data stream set are generated based on the data table corresponding to the sub-rule to be updated; if the second position is equal to the first position, close the slave task; perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the update sub-rule by the main task to obtain the second incremental sub-information of the update sub-rule; and save the second incremental sub-information to the sub-rule database corresponding to the sub-rule to be updated.
[0175] The modules in the aforementioned push information determination device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0176] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 8As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When executed by the processor, the computer program implements a push notification determination method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0177] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0178] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0179] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0180] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0181] It should be noted that 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, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0182] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0183] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0184] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining push information, characterized in that, The method includes: In response to the input operation of adding rule description information, obtain the added rule description information; Based on the newly added rule description information, the newly added rule corresponding to the newly added rule description information, multiple mapping sub-rules of the newly added rule, and the data table and sub-rule database corresponding to each mapping sub-rule are determined; Monitor the sub-rule database; Upon detecting the addition of new sub-information to the target database, the target sub-information corresponding to the target object identifier in the new sub-information is retrieved from the other sub-rule databases excluding the target database; the target database can be any sub-rule database; the new sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule. Based on the newly added sub-information and the target sub-information, the target object identifier is determined to push target information corresponding to the newly added rule.
2. The method according to claim 1, characterized in that, Determine the sub-rule database corresponding to the mapping sub-rule, including: If there is a candidate subrule that is the same as the mapping subrule among the candidate subrules corresponding to the candidate rule, the subrule database corresponding to the candidate subrule that is the same as the mapping subrule is determined as the subrule database corresponding to the mapping subrule.
3. The method according to claim 1, characterized in that, The step of determining the target object identifier for the target push information corresponding to the newly added rule based on the newly added sub-information and the target sub-information includes: The newly added sub-information and the target sub-information are concatenated to obtain concatenated information; Compare the splicing information with the newly added rule; If the spliced information satisfies the newly added rule, the push information corresponding to the newly added rule is determined as the target push information for the target object identifier corresponding to the newly added rule.
4. The method according to claim 1, characterized in that, If at least one candidate rule exists, after detecting the addition of new sub-information in the target database, the following steps are also included: Obtain the candidate sub-rules corresponding to the candidate rules; Candidate rules that correspond to candidate sub-rules that are identical to the target sub-rule are identified as matching rules; For the matching rule, obtain the matching sub-information corresponding to the target object identifier from the sub-rule database corresponding to the other candidate sub-rules excluding the target sub-rule; Based on the newly added sub-information and the matching sub-information, the matching push information corresponding to the matching rule for the target object identifier is determined.
5. The method according to claim 1, characterized in that, The method further includes: In response to the update operation of the sub-rule to be updated for the newly added rule, the updated newly added rule is obtained; the mapping sub-rule corresponding to the updated newly added rule includes the update sub-rule, and the data table corresponding to the update sub-rule is the data table corresponding to the sub-rule to be updated; The main task and the slave task are started; the main task is used to perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the sub-rule to be updated, to obtain the first incremental sub-information of the sub-rule to be updated, and the first incremental sub-information is used to determine the target push information of the new rule by the first object identifier in the first incremental sub-information; the slave task is used to perform statistical analysis on the data table corresponding to the sub-rule to be updated based on the updated sub-rule, to obtain the second incremental sub-information of the updated sub-rule.
6. The method according to claim 5, characterized in that, The method further includes: Obtain the first position of the last data stream in the first data stream set of the main task statistical analysis, and the second position of the last data stream in the second data stream set of the sub-task statistical analysis; the data streams in the first data stream set and the second data streams in the second data stream set are generated based on the data table corresponding to the sub-rule to be updated; If the second position is equal to the first position, close the task. The main task performs statistical analysis on the data table corresponding to the sub-rule to be updated based on the update sub-rule to obtain the second incremental sub-information of the update sub-rule. The second incremental sub-information is saved to the sub-rule database corresponding to the sub-rule to be updated.
7. A push information determination device, characterized in that, The device includes: The response module is used to respond to the input operation of adding new rule description information and obtain the new rule description information; The determination module is used to determine, based on the newly added rule description information, the newly added rule corresponding to the newly added rule description information, multiple mapping sub-rules of the newly added rule, and the data table and sub-rule database corresponding to each mapping sub-rule; The monitoring module is used to monitor the sub-rule database; The acquisition module is used to, upon detecting the addition of new sub-information in the target database, acquire the target sub-information corresponding to the target object identifier from the other sub-rule databases excluding the target database; the target database can be any sub-rule database; the new sub-information is determined based on the target sub-rule corresponding to the target database and the data table corresponding to the target sub-rule; The push module is used to determine the target object identifier for the target push information corresponding to the new rule based on the newly added sub-information and the target sub-information.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.