Information push method, related equipment, storage medium and computer product
By converting the push logic into a post-order expression and replacing it with object parameters, and using computer equipment to perform logical operations, the problem of low efficiency of information push methods in the existing technology is solved, and accurate information push that quickly responds to product needs is achieved.
Patent Information
- Application Number
- CN202210919199.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-29
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2042-07-29
AI Technical Summary
The information push method in the existing technology requires frequent development of code to match the changes in business rules, resulting in a long product demand access cycle and low efficiency, and an inability to quickly respond to product needs and accurately push information.
By converting the target push logic into a post-order expression and replacing parameter attributes with object parameters, a personalized push expression is generated. Computer equipment is used to perform logical operations to determine whether to push information to the target object, avoiding frequent code development and testing.
It enables rapid response to product needs, improves the efficiency and accuracy of information push, and reduces the complexity of development and launch processes.
Smart Images

Figure CN117519771B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to information push methods, related equipment, storage media, and computer products. Background Art
[0002] Software or applications will push different information to different objects. In general, various logical judgments are made based on business rules that match the product requirements of the information to determine whether a certain information needs to be pushed to a certain object. Logical judgments are usually implemented by developing code that matches the business rules. Therefore, whenever the requirements change (that is, the business rules change), developers need to develop corresponding code. Since code development, testing, and online release all take a certain amount of time, the cycle for integrating new product requirements is long and inefficient, and it also makes it impossible to quickly respond to product requirements and push accurate information. Therefore, how to quickly respond to product requirements and push accurate information is a problem that needs to be solved urgently. Summary of the Invention
[0003] The embodiments of the present application provide an information push method, related equipment, and storage medium, which can reduce the load on the server.
[0004] On the one hand, an embodiment of the present application provides an information push method, including:
[0005] Determining a target push logic in at least one push logic of the target information, the target push logic including a target logic operator, a target condition parameter, and a parameter attribute of the target condition parameter;
[0006] Performing post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic, wherein the order of arrangement of target logical operators, target condition parameters, and parameter attributes in the post-order expression is different from the order of arrangement of target logical operators, target condition parameters, and parameter attributes in the target push logic;
[0007] Obtaining object parameters of the target object to be pushed of the target information, wherein parameter attributes of the object parameters match parameter attributes of the target condition parameters;
[0008] Replacing the parameter attributes in the post-order expression with the object parameters to obtain a push expression for the target object to be pushed, wherein the push expression includes the target logical operator, the target condition parameter, and the object parameter, and the arrangement position of the object parameter in the push expression is the same as the arrangement position of the parameter attributes in the post-order expression;
[0009] Performing logical operations on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed, wherein the push result of any object is used to indicate whether to push the target information to the corresponding object;
[0010] When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the target information is sent to the target object to be pushed.
[0011] In one aspect, an embodiment of the present application provides an information push device, wherein the information processing device includes a determination unit, an acquisition unit, and a processing unit, wherein:
[0012] The determining unit is configured to determine a target push logic in at least one push logic of the target information, the target push logic including a target operator, a target condition parameter, and a parameter attribute of the target condition parameter;
[0013] The processing unit is configured to perform post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic, wherein the order of arrangement of the target operator, target condition parameter, and parameter attribute in the post-order expression is different from the order of arrangement of the target operator, target condition parameter, and parameter attribute in the target push logic;
[0014] The acquiring unit is configured to acquire object parameters of a target object to be pushed of the target information, wherein parameter attributes of the object parameters match parameter attributes of the target condition parameters;
[0015] The processing unit is further configured to replace the parameter attributes in the post-order expression with the object parameters to obtain a push expression for the target object to be pushed, the push expression including the target operator, the target condition parameter, and the object parameter, wherein an arrangement position of the object parameter in the push expression is the same as an arrangement position of the parameter attributes in the post-order expression;
[0016] The processing unit is further configured to perform a logical operation on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed, wherein the push result of any object is used to indicate whether to push the target information to the corresponding object;
[0017] The processing unit is further configured to push the target information to the target object to be pushed when the push result of the target object to be pushed indicates that the target information should be pushed to the target object to be pushed.
[0018] In one aspect, an embodiment of the present application provides an electronic device, the electronic device including an input interface and an output interface, and further including:
[0019] a processor adapted to implement one or more instructions; and
[0020] A computer storage medium storing one or more instructions, wherein the one or more instructions are suitable for being loaded by the processor and executing the above-mentioned information pushing method.
[0021] On the one hand, an embodiment of the present application provides a computer storage medium, in which computer program instructions are stored. When the computer program instructions are executed by a processor, they are used to execute the above-mentioned information push method.
[0022] On the one hand, an embodiment of the present application provides a computer program product or a computer program, wherein the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium; a processor of an electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions. When the computer instructions are executed by the processor, they are used to execute the above-mentioned information push method.
[0023] In the embodiment of the present application, by converting the target push logic into a post-order expression, the push expression obtained after the object parameters of the target object to be pushed are subsequently substituted into the post-order expression can be more consistent with the operation logic of the computer device, making it easy to implement the push expression by the computer device to quickly perform logical operations to obtain the push result of the target object to be pushed. In addition, after obtaining the target push logic, the embodiment of the present application does not need to use code to perform various logical judgments on the target object to be pushed to determine the push result; instead, the push logic is first converted into a post-order expression of the push logic that is easy to read by the computer device by performing post-order conversion processing on the push logic of the target information, and then the parameter attributes in the post-order expression are replaced with the object parameters of the target object to be pushed to generate a personalized push expression for the target object to be pushed, so as to achieve the result obtained by performing logical operations on the push expression of the target object to be pushed, and then determine whether the target information needs to be sent to the target object to be pushed. It can be seen that this solution can avoid the need to develop code that matches the push logic that represents the corresponding demand, as well as a series of complex and time-consuming processes such as testing and launching the code every time the demand changes, which is conducive to quickly responding to product needs and accurately pushing information. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0025] Figure 1 This is a structural diagram of an information push system provided by an embodiment of the present application;
[0026] Figure 2 This is a flow chart of an information push method provided in an embodiment of the present application;
[0027] Figure 3 This is a schematic diagram of a configuration push logic provided by an embodiment of the present application;
[0028] Figure 4a This is a schematic diagram of a logic operation process provided by an embodiment of the present application;
[0029] Figure 4b This is a flow chart of another logical operation process provided by an embodiment of the present application;
[0030] Figure 5 This is a flow chart of another information push method provided in an embodiment of the present application;
[0031] Figure 6 This is a schematic diagram of setting a whitelist provided in an embodiment of the present application;
[0032] Figure 7 This is a schematic diagram of a logic verification interface provided by an embodiment of the present application;
[0033] Figure 8 This is a schematic diagram of a logic analysis process provided by an embodiment of the present application;
[0034] Figure 9 This is a structural diagram of an information push device provided in an embodiment of the present application;
[0035] Figure 10 This is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0036] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0037] Information push is the most common operational method, and personalized push refers to sending tailored information to different audiences. Before a message is pushed to an audience, various logical judgments are made based on product requirements to determine whether the message is suitable for that audience. Only by pushing information to the right audience can it drive them to use the product.
[0038] Based on this, an embodiment of the present application provides an information push solution, which, during the information push process, first performs post-order conversion processing on the push logic of the target information to obtain a post-order expression of the push logic, wherein the push logic includes a target operator, a target condition parameter, and a parameter attribute of the target condition parameter. Afterwards, a push expression for a specific object to be pushed is generated by replacing the parameter attributes in the post-order expression with the object parameters of a certain object to be pushed. Then, a logical operation is performed on the push expression of the object to be pushed to obtain a push result of the object to be pushed, wherein the push result of the object to be pushed is used to indicate whether the target information needs to be pushed to the object to be pushed, so that finally, whether the target information needs to be pushed to the object to be pushed can be determined by the push result of the object to be pushed.
[0039] It is not difficult to see that after obtaining the push logic that represents the product demand for target information, this solution does not need to use code to perform various logical judgments on a certain object to be pushed to determine whether the object to be pushed needs to send the target information to the object to be pushed; instead, it first converts the push logic of the target information into a post-order expression of the push logic that is easy for the computer device to read by performing post-order conversion processing, and then generates a personalized push expression for the object to be pushed by replacing the parameter attributes in the post-order expression with the object parameters of a certain object to be pushed, so as to achieve the result obtained by performing logical operation processing on the push expression of the object to be pushed, and then determine whether the target information needs to be sent to the object to be pushed. It can be seen that this solution can avoid the need to develop code that matches the push logic that represents the corresponding demand every time the demand changes, as well as a series of complex and time-consuming processes such as testing and launching the code, which is conducive to quickly responding to product needs and accurately pushing information.
[0040] Among them, the post-order expression refers to an expression in which the first digit is a number and some digits are before some operators. For example, the post-order expression of the arithmetic expression "1+(2*3)-2 / 3" is "123*+23 / -". The post-order conversion processing refers to converting the order of the target logical operators, target condition parameters, and parameter attributes of the target condition parameters in the push logic into an order that conforms to the post-order expression. Therefore, the arrangement order of the target operators, target condition parameters and parameter attributes in the post-order expression is different from the arrangement order of the target operators, target condition parameters and parameter attributes in the push logic. At the same time, since the push logic of the target information is usually an ordinary arithmetic expression (that is, an expression in which the operator is between two numbers), the post-order conversion processing usually refers to converting the arithmetic expression into a post-order expression.
[0041] Specifically, the conversion rules for converting an arithmetic expression into a post-order expression are as follows: 1) establish a symbol stack; 2) traverse all operands in the arithmetic expression, where any operand refers to a number, text or symbol in the arithmetic expression. If the currently traversed operand is a number or text, the currently traversed symbol is directly output; if the currently traversed operand is a leading bracket "(", the leading bracket "(" is directly written to the symbol stack; if the currently traversed operand is a trailing bracket ")", the elements in the symbol stack are popped and output one by one until the symbol stack outputs the leading bracket "(", where the leading bracket "(" is only popped and not output to form a post-order expression; if the currently traversed operand is a logical operator and there is a leading bracket "(" in the symbol stack or there is no operator with a higher priority than the currently traversed operand in the symbol stack, the currently traversed operand is written to the symbol stack; if the currently traversed operand is a logical operator, but the last symbol in the symbol stack is an operator with a higher priority than the currently traversed operand, the last symbol in the symbol stack is output until the last symbol in the symbol stack is a leading bracket "(" or there is no operator with a higher priority than the currently traversed operand in the symbol stack, then the currently traversed operand is written to the symbol stack.
[0042] In addition, the target operator or operator refers to a symbol used to characterize the operation logic. Specifically, the target operator or operator can be an arithmetic operator such as "+" and "-", or a logical operator such as "&&" and "||", or an operator such as a relational operator and an assignment operator, which is not limited here. The target condition parameter and the parameter attribute are one-to-one corresponding. A target condition parameter has its corresponding parameter attribute, and the parameter attribute is used to indicate the parameter meaning of the target condition parameter. Specifically, the relationship between the target condition parameter and the parameter attribute can be constructed through the target operator, thereby forming a push logic that can express product requirements. For example, the product requirement of information A is to push information A to objects whose total remaining fee in the bank card is greater than 3000, then the target condition parameter in the push logic is 3000, and the parameter attribute of the target condition parameter is "total fee", and the operator between the target condition parameter 3000 and the parameter attribute "total fee" is ">".
[0043] Based on the above information push method, the embodiment of the present application provides an information push system, which can be found in Figure 1 , Figure 1 The information push system shown may include multiple terminal devices 101 and multiple servers 102, wherein a communication connection is established between any terminal device and any server. The terminal device 101 may include any one or more of a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart car-mounted device, and a smart wearable device. A variety of applications (APPs) can be run in the terminal device 101, such as a multimedia playback client, a social client, a browser client, an information stream client, an education client, and the like. The server 102 may be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The terminal device 101 and the server 102 may be directly or indirectly connected in communication via wired or wireless communication, and this application does not limit this.
[0044] In one embodiment, the above information push method can be performed by Figure 1The server 102 in the information push system shown executes, and the specific execution process is: the server 102 first performs post-order conversion processing on the push logic of the target information to obtain the post-order expression of the push logic, wherein the push logic includes a target operator, a target condition parameter, and a parameter attribute of the target condition parameter. Afterwards, the server 102 generates a push expression for a specific object to be pushed by replacing the parameter attributes in the post-order expression with the object parameters of a certain object to be pushed. Then, the server 102 performs a logical operation on the push expression of the object to be pushed to obtain the push result of the object to be pushed, wherein the push result of the object to be pushed is used to indicate whether the target information needs to be sent to the object to be pushed. Finally, the server 102 can determine whether the target information needs to be pushed to the object to be pushed based on the push result of the object to be pushed.
[0045] Optionally, the above information push method can also be performed by Figure 1 The terminal device 101 in the information push system shown is executed. The specific execution process thereof can refer to the specific execution process of the above-mentioned server 102 when pushing information, which will not be repeated here.
[0046] In another embodiment, the above information push method can be run in an information push system, which can include a terminal device and a server. Specifically, the information push method can be implemented by Figure 1 The information push system shown is jointly implemented by the terminal device 101 and the server 102. The specific execution process is as follows: the server 102 first performs post-order conversion processing on the push logic of the target information to obtain the post-order expression of the push logic, wherein the push logic includes a target operator, a target condition parameter, and the parameter attributes of the target condition parameter. Afterwards, the server 102 sends the post-order expression of the push logic to the terminal device 101. When the terminal device 101 receives the target information, it replaces the parameter attributes in the post-order expression with the object parameters of the object currently logged into the terminal device 101, and generates a push expression for the object currently logged into the terminal device 101. Then, the terminal device 101 performs logical operations on the push expression to obtain the push result. When the push result is used to indicate that the target information needs to be pushed to the object to be pushed, the terminal device 101 can push the target information to the object currently logged in to the terminal device 101 by displaying the target information, etc.; when the push result is used to indicate that the target information does not need to be pushed to the object to be pushed, the terminal device 101 can delete the cached target information to achieve not pushing the target information to the object currently logged in to the terminal device 101.
[0047] Based on the above information push solution and information push system, the embodiment of the present application provides an information push method. Figure 2, which is a flow chart of an information push method provided in an embodiment of the present application. Figure 2 The information push method shown can be executed by a server or a terminal device, wherein a first client having a command line interface runs on the server or the terminal device. Figure 2 The information push method shown may include steps S201-S206:
[0048] S201: Determine a target push logic in at least one push logic of target information.
[0049] In the embodiments of the present application, the target information refers to the information to be pushed to different objects. The target information can be manually set or automatically generated by the system based on product requirements, which is not limited here. For example, if the product requirements indicate that a message reminding the borrower to repay the loan needs to be pushed, the content of the target information can be "Repayment reminder: You have a repayment of 300 yuan this month. Please pay it off before May 5, 2021."
[0050] In an embodiment of the present application, there may be one or more push logics for the target information, and each time, one push logic needs to be determined from at least one push logic as the target push logic, and then the target push logic can be processed accordingly to determine whether a certain object satisfies the target push logic. If the target information has only one push logic, then the push logic is also the target push logic. At this time, a certain object only needs to satisfy the push logic to determine that the target information is pushed to the object; if the target information has multiple push logics, then each push logic in the multiple push logics needs to be used as a target push logic. An object needs to satisfy all the push logics of the target information before it can be determined that the target information is pushed to the object. It should be noted that the push logic of the target information can be set manually or automatically generated by the system according to product requirements, which is not limited here.
[0051] Optionally, the generation method of any push logic in at least one push logic of the target information can be manually set, and the specific process includes: displaying the push logic configuration interface of the target information, the push logic configuration interface including parameter attribute configuration options, condition parameter configuration options, and operator configuration options; determining the target operator in response to an edit operation on the operator configuration option; determining the target condition parameter in response to an edit operation on the condition parameter configuration option; determining the parameter attributes of each target condition parameter in response to an edit operation on the parameter attribute configuration option; generating the push logic based on the target operator, target condition parameter, and the parameter attributes of each target condition parameter. Specifically, the editing operation includes editing-related operations such as selection, input, and deletion, which are not limited here. Optionally, the parameter attribute configuration option can include multiple parameter attributes, the condition parameter configuration option can include multiple condition parameters, and the operator configuration option can include multiple operators. The target operator, target condition parameter, and the parameter attributes of each target condition parameter can all be manually set through editing.
[0052] Optionally, the administrator can pre-configure the target information to be pushed to the object, and then set the specific push logic for the target information. Optionally, since the push logic of some information may be different at different times, the push logic of the target information can also be configured to specify the effective period of the push logic. For example, see the attached Figure 3 , showing a schematic diagram for configuring push logic. The push logic configuration interface 301 includes a target template module, a business logic module, and a logic validation module. The business logic module includes one or more parameter attribute configuration options, one or more conditional parameter configuration options, and one or more operator configuration options. In the target template module, the administrator can first determine the target information to be pushed by selecting a message template name, message template ID, activity template name, and activity template ID. Then, the administrator configures the corresponding parameter attributes in the multiple parameter attribute configuration options in the business logic module. As shown in push logic configuration interface 301, the administrator clicks drop-down component 307 in parameter attribute configuration option 303, causing multiple parameter attributes in parameter attribute configuration option 303 to be displayed in push logic configuration interface 301. The administrator then selects the target parameter attribute "Bank Type" from the multiple parameter attributes. Similarly, the administrator selects the target parameter attribute "Total Amount" in parameter attribute configuration option 304, the target parameter attribute "Outstanding Bill Amount" in parameter attribute configuration option 305, and the target parameter attribute "Total Bill Amount" in parameter attribute configuration option 306.
[0053] After selecting the parameter attributes, as shown in push logic configuration interface 302, the administrator can enter the target condition parameter "100" in condition parameter configuration option 308 corresponding to the target parameter attribute "Total Amount". Similarly, the administrator can enter the target condition parameters in the condition parameter configuration options corresponding to parameter attribute configuration options 305 and 306, respectively. The administrator can also configure the target condition parameter "3015" for the target parameter attribute "Bank Type" by clicking the drop-down component 310 in condition parameter configuration option 309. Then, as shown in push logic configuration interface 302, the administrator can configure the target operator ">" for the target parameter attribute "Total Amount" by clicking the drop-down component in operator configuration option 311. Similarly, the administrator can configure the target operators for other target parameter attributes by clicking the drop-down components in the operator configuration options corresponding to the corresponding target parameter attributes. Finally, the administrator configures operator configuration option 312 as the logical operator "and" and operator configuration option 313 as the logical operator "or" to concatenate the previously configured target condition parameters, target parameter attributes, and target operators, resulting in the push logic: "Bank Type" is 3015, and "Total Amount" is greater than "100", and "Outstanding Bill Amount" is greater than "100" or "Total Bill Amount" is greater than "500". Alternatively, since "Bank Type" is 3015, that is, "Bank Type" is equal to 3015, the logical operator corresponding to "and" is "&&", and the logical operator corresponding to "or" is "||", thus obtaining the final push logic "{Bank Type} ==
[3015] && ({Outstanding Bill Amount} >
[100] || {Total Bill Amount} >
[500] ) && {Total Amount} >
[100] ".
[0054] After completing the configuration of the push logic, the administrator can also configure the push logic to be valid from 2021-8-01 to 2021-12-01. Optionally, the business logic module also includes a "Add Logic" button, a configuration option add button "+", and a configuration option add button "-". The administrator can add new push logic by clicking the "Add Logic" button. Optionally, the administrator can also add or delete parameter attribute configuration options, conditional parameter configuration options, and operator configuration options in the push logic by clicking the configuration option add button "+" or the configuration option add button "-".
[0055] Optionally, in the parameter attribute configuration options, condition parameter configuration options, and operator configuration options included in the push logic configuration interface, in addition to displaying the Chinese names of the parameter attributes, condition parameters, or operators via a drop-down menu, the English names of the parameter attributes, condition parameters, or operators can also be displayed simultaneously. For example, when displaying the parameter attribute "Bank Type," the English name of "Bank Type" will also be displayed, "Bank_type." It should be noted that using a drop-down menu can avoid input errors. Therefore, the parameter attribute configuration options, condition parameter configuration options, and operator configuration options can all be selected through a drop-down menu to obtain the target parameter attributes, target condition parameters, and target operators.
[0056] S202 , performing post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic.
[0057] In an embodiment of the present application, the order of the target operators, target condition parameters, and parameter attributes in the post-order expression is different from the order of the target operators, target condition parameters, and parameter attributes in the target push logic. Specifically, the order of the target operators, target condition parameters, and parameter attributes in the post-order expression can facilitate the computer to read the target operators, target condition parameters, or parameter attributes in the corresponding order without considering the priority marked by brackets, etc., and can facilitate the subsequent direct logical operation processing of the push expression to obtain the push result.
[0058] Furthermore, since the conversion rules for converting arithmetic expressions to post-order expressions are mentioned above, the specific method for performing post-order conversion processing on the target push logic to obtain the post-order expression of the target push logic can be: converting the target push logic into a post-order expression according to the conversion rules. In a specific implementation, the post-order expression of the target push logic is represented by the target operator, target condition parameters, and parameter attributes in their corresponding order, which can also be called a list of post-order expressions (i.e., postfix_list).
[0059] For example, you can Figure 3The push logic set in is used as the target push logic, then the target push logic can be "{bank type}==
[3015] &&({outstanding amount of bill}>
[100] ||{total amount of bill}>
[500] )&&{total amount}>
[100] ". After determining the target push logic, you can first build a symbol stack, and then traverse the operation factors in the target push logic, where any operation factor refers to the parameter attribute, conditional parameter or operator in the arithmetic expression. Therefore, you can first traverse "bank type". Since "bank type" is a text, you can directly output "bank type" to the post-order expression of the target push logic; then traverse the operator "==". Since there is no operator in the symbol stack, that is, there is no operator with a higher operation priority than "==", "==" is written into the symbol stack.
[0060] Then, when traversing to "3015", "3015" is directly output to the post-order expression of the target push logic; when traversing to "&&", since the operation priority of "==" is higher than that of "&&", "==" is first output to the post-order expression of the target push logic, and then "&&" is written into the symbol stack; when traversing to the leading bracket "(", the leading bracket "(" is directly written into the symbol stack; when traversing to "the amount of the bill not paid", the "the amount of the bill not paid" is output to the post-order expression of the target push logic; when traversing to ">", since the leading bracket "(" was written into the symbol stack last time, ">" is directly written into the symbol stack; when traversing to "100", it is directly output to the post-order expression; when traversing to "||" , since the operation priority of the symbol stack ">" is higher than that of "||", it is necessary to output ">" to the post-order expression and then write "||" into the symbol stack; when traversing to "total amount of the bill", it is directly output to the post-order expression; when traversing to ">", since there is no symbol with a higher operation priority than ">" in the symbol stack, ">" is directly written into the symbol stack; when traversing to "500", it is directly output to the post-order expression; when traversing to the back bracket ")", all operators after the front bracket "(" are output to the post-order expression. At this time, the symbol stack includes "&&", and the post-order expression is: "Bank type" 3015 == "outstanding amount of bill" 100> "total amount of bill" 500>||.
[0061] When traversing to "&&", because the operation priority of "&&" in the symbol stack is the same as the operation priority of the currently traversed "&&", the "&&" in the symbol stack is output to the post-order expression, and then the traversed "&&" is written to the symbol stack. When traversing to "total amount", it is directly output to the post-order expression. When traversing to ">", because there is no symbol with a higher operation priority than ">" in the symbol stack, ">" is directly written to the symbol stack. When traversing to "100", it is directly output to the post-order expression. At this point, all the operation factors in the target push logic have been traversed, and the symbols in the symbol stack are output to the post-order expression in the order they were written, from back to front. The final post-order expression is: "Bank type" 3015 == "outstanding bill amount" 100 > "total bill amount" 500 > || && "total amount" "100" > &&.
[0062] S203: Obtain object parameters of the target object to be pushed of the target information.
[0063] In the embodiment of the present application, the parameter attributes of the object parameter match the parameter attributes of the target condition parameter. The matching of the parameter attributes of the object parameter and the parameter attributes of the target condition parameter means that the parameter attributes of the object parameter and the parameter attributes of the target condition parameter are the same or similar.
[0064] Generally speaking, each object to be pushed corresponds to relevant information used to describe the object to be pushed. For example, each object to be pushed corresponds to an information list, which includes multiple object parameters and parameter attributes of each object parameter. For example, if the target condition parameter is "100", the parameter attribute of the target condition parameter is "unpaid bill amount"; and the information list of the target object to be pushed includes: object parameter 500, the parameter attribute of object parameter 500 "unpaid bill amount", object parameter 1000, and the parameter attribute of object parameter 1000 "total bill amount". Then, the object parameter corresponding to the same parameter attribute as "unpaid bill amount" can be found from the information list of the target object to be pushed, that is, object parameter 500 in the information list of the target object to be pushed.
[0065] S204: Replace the parameter attributes in the post-order expression with the object parameters to obtain the push expression of the target object to be pushed.
[0066] In an embodiment of the present application, the specific method of replacing the parameter attributes in the post-order expression with the object parameters to obtain the push expression of the target object to be pushed can be: deleting the parameter attributes in the post-order expression and adding the object parameters in the position of the original parameter attributes in the post-order expression. For example, the post-order expression is set to: "Bank Type" 3015 ==. The object parameter of the target object to be pushed is 3014, then the "Bank Type" in the post-order expression can be replaced with 3014, and finally the push expression of the target object to be pushed is obtained: 3014 3015 ==.
[0067] S205 , performing logical operation processing on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed.
[0068] In an embodiment of the present application, any target parameter, target operator or target condition parameter in the push expression of the target object to be pushed can be used as a factor to be operated. Then, the specific method of performing logical operation processing on the push expression of the target object to be pushed to obtain the push result of the target object to be pushed can be: 1) traversing each factor to be operated in the push expression of the target object to be pushed according to the arrangement order of multiple factors to be operated in the push expression of the target object to be pushed; 2) if the currently traversed factor to be operated is a target parameter or a target condition parameter, writing the currently traversed factor to be operated into an operation factor queue; 3) if the currently traversed factor to be operated is a target operator, reading the two most recently written factors to be operated from the operation factor queue, performing logical operation processing on the two read factors to be operated based on the target operator, obtaining a logical operation result, and writing the logical operation result as a factor to be operated into the operation factor queue; 4) after traversing the factors to be operated in the push expression of the target object to be pushed, obtaining the push result of the target object to be pushed based on the factors to be operated in the operation factor queue and the number of factors to be operated contained in the operation factor queue.
[0069] Specifically, the reading of the two most recently written factors to be operated from the operation factor queue is to take out the two most recently written factors to be operated from the operation factor queue. At the same time, since the two factors to be operated have been taken out from the operation factor queue, the operation factor queue no longer has the two factors to be operated. It should be noted that the logical operation result can be a number or symbol obtained by the logical operation, wherein the symbol obtained by the logical operation can be used to indicate whether the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator. Specifically, the logical operation result can be True, False, 0, 1, or A, B, etc., which are characters or numbers used to indicate whether the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, such as the logical operation result True is used to indicate that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, and the logical operation result False is used to indicate that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator; it can also be a number calculated when the target operator is an operator such as "+", such as the logical operation result of 2+3 is 5.
[0070] In addition, the specific method of performing logical operations on the two read factors to be operated based on the target operator to obtain the logical operation result can be: using the factor to be operated that was written most recently in the operation factor queue as the right value located to the right of the target operator, and using the factor to be operated that was written before the most recent time in the operation factor queue as the left value located to the left of the operator; finally, performing logical operations on the right value and the left value through the target operator to obtain the logical operation result.
[0071] For example, the currently traversed factor is the target operator "<" and the factor queue is "1 2 3." Since the factors in the factor queue are arranged in the order they were written, the most recently written factor is 3, meaning the right-hand side of this logical operation is 3. The previous written factor is 2, meaning the left-hand side of this logical operation is 2. Based on the target operator "<," we can obtain the arithmetic expression 2>3. Since 2 is actually less than 3, the final logical operation result is False.
[0072] Optionally, the specific process of obtaining the push result of the target object to be pushed based on the factors to be calculated in the operation factor queue and the number of factors to be calculated contained in the operation factor queue can be: when the number of factors to be calculated contained in the operation factor queue is one, and the factor to be calculated in the operation factor queue is a first preset factor, a push result is generated to indicate that the target information is pushed to the target object to be pushed; when the number of factors to be calculated contained in the operation factor queue is multiple, or the factor to be calculated in the operation factor queue is not the first preset factor, a push result is generated to indicate that the target information is not pushed to the target object to be pushed.
[0073] Specifically, the first preset factor refers to a logical operation result indicating that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator. In addition, in addition to the first preset factor, there is a second preset factor, wherein the second preset factor refers to a logical operation result indicating that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator.
[0074] Exemplarily, when True is set to indicate that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, and False is used to indicate that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator, the first preset factor is True and the second preset factor is False; when 1 is set to indicate that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, and 0 is used to indicate that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator, the first preset factor is 1 and the second preset factor is 0; when A is set to indicate that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, and B is used to indicate that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator, the first preset factor is A and the second preset factor is B.
[0075] Optionally, the target push logic may include at least one push sub-logic, wherein the specific method of dividing the push sub-logic in the target push logic may be: if there is no preset operator in the target push logic, then determining that the target push logic includes a push sub-logic, wherein the push sub-logic matches the target push logic; if there is at least one preset operator in the target push logic, then determining the position of each preset operator in the target push logic, and based on the position of each preset operator in the target push logic, dividing the factors to be operated in the target push logic to obtain multiple push sub-logics. Specifically, the push sub-logic matches the target push logic means that when the target push logic includes a push sub-logic, the target push logic is also the push sub-logic.
[0076] In addition, since a post-order expression can be obtained by performing post-order conversion processing on the target push logic, and the push expression of the target object to be pushed is obtained by replacing the target condition parameter in the post-order expression with the object parameter of the target object to be pushed, it can be determined that the push expression of the target object to be pushed is also composed of at least one push sub-logic, wherein each push sub-logic in the push expression of the target object to be pushed matches each push sub-logic in the target push logic, and any push sub-logic in the push expression of the target object to be pushed includes at least one target condition parameter, at least one target parameter and at least one target operator.
[0077] It should be noted that the matching of the push sub-logics in the push expression of the target object to be pushed with the push sub-logics in the target push logic means that: the arrangement order of the push sub-logics in the push expression of the target object to be pushed is the same as the arrangement order of the push sub-logics in the target push logic; and the parameter attributes of the object parameters, target condition parameters, and target operators included in the push sub-logics in the push expression of the target object to be pushed are the same as the parameter attributes of the target condition parameters, target condition parameters, and target operators included in the corresponding push sub-logics in the target push logic. Among them, the preset operator is usually assigned to the push sub-logic after the preset operator in the two push sub-logics divided by the preset operator. For example, the target push logic is "{bank type}==
[3015] &&({outstanding bill amount}>
[100] ||{total bill amount}>
[500] )&&{total amount}>
[100] "; after dividing the target push logic by "&&", it can be determined that the target push logic includes three push sub-logics, namely "{bank type}==
[3015] ", "&&({outstanding bill amount}>
[100] ||{total bill amount}>
[500] )", and "&&{total amount}>
[100] ". At the same time, since the bank type of the target object to be pushed is 3015, the outstanding amount of the bill is 500, the total amount of the bill is 1000, and the total amount is 200, it can be determined that the push expression of the target object to be pushed is "3015 3015==500 100>1000 500>||&&200 100>&&", and the push expression of the target object to be pushed also includes three push sub-logics, namely "3015 3015==", "500 100>1000 500>||&&", and "200 100>&&".
[0078] Then, the specific method of performing logical operation processing on the push expression of the target object to be pushed to obtain the push result of the target object to be pushed may also be:
[0079] 1) Traverse each push sub-logic in the push expression of the target object to be pushed according to the arrangement order of at least one push sub-logic in the push expression of the target object to be pushed. When traversing any push sub-logic, traverse each to-be-operated factor in the push sub-logic according to the arrangement order of each to-be-operated factor in the push sub-logic.
[0080] 2) If the currently traversed factor to be calculated is a target parameter or a target condition parameter, the currently traversed factor to be calculated is written into the calculation factor queue.
[0081] 3) If the currently traversed factor to be operated is the target operator, the two most recently written factors to be operated are read from the operation factor queue, and logical operations are performed on the two read factors to be operated based on the target operator to obtain the logical operation result.
[0082] When the result of the logical operation is the same as the second preset factor, the trigger execution writes the result of the logical operation as the factor to be operated into the operation factor queue; when the result of the logical operation is different from the second preset factor, and there is no untraversed factor to be operated in the currently traversed push sub-logic or the untraversed factor to be operated in the currently traversed push sub-logic is a preset operator, a push result is generated to indicate that the target information is not pushed to the target object to be pushed. Among them, the preset operator refers to an operator used to indicate the logical relationship of "one false and all false". Among them, "one false and all false" means that once there is a result of the operation of part of the logic indicating that the corresponding logical relationship is not satisfied, it can be determined that the entire logic does not satisfy the logical relationship. Specifically, the preset operator can be the logical operator "&&". Optionally, after generating the push result for indicating that the target information is not pushed to the target object to be pushed, the traversal of each push sub-logic in the push expression of the target object to be pushed can be directly ended, and the generated push result can be used as the push result of the target object to be pushed.
[0083] 4) After traversing the factors to be calculated in the push expression of the target object to be pushed, the push result of the target object to be pushed is obtained based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue.
[0084] For specific implementation, please refer to the attached Figure 4a, showing a process diagram of a logical operation processing. Among them, the preset operator is set to "&&", and True is set to indicate that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, and False is set to indicate that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator; in addition, the push expression M of the target object to be pushed is: "3015 3015==500 100>1000 500>||&&200 100>&&". Then, it can be determined whether there are factors to be operated in the push expression M. If there are factors to be operated in the push expression M, then the push sub-logics in the push expression of the target object to be pushed are traversed according to the arrangement order of at least one push sub-logic in the push expression of the target object to be pushed. At this time, it can be determined that the factor to be operated currently traversed is 3015 in the push expression M. Since 3015 is an object parameter (i.e., a parameter), 3015 can be directly written into the operation factor queue. Next, the second digit 3015 in the pushed expression M is traversed and written to the factor queue in the same way. The "==" in the pushed expression M is traversed. Since "==" is the target operator, the last two digits in the factor queue, 3015 and 3015, are read. At this point, the equality of 3015 and 3015 can be checked. Since 3015 and 3015 are equal, True is obtained. Since the logical operation result is not False, True is written to the factor queue as the factor to be operated.
[0085] When traversing 500 in the push expression M, 500 is written into the operation factor queue; when traversing 100 in the push expression M, 100 is written into the operation factor queue; when traversing the ">" in the push expression M, 100 in the operation factor queue is obtained as the right value and 500 as the left value, and then "500>100" is judged. Since 500 is greater than 100, True can be obtained, and True is written into the operation factor queue as the factor to be operated.
[0086] Continue to traverse the remaining factors to be operated in the push expression M. When traversing 1000 in the push expression M, write 1000 into the operation factor queue; when traversing 500 in the push expression M, write 500 into the operation factor queue; when traversing the ">" in the push expression M, get 500 in the operation factor queue as the right value and 1000 as the left value, and then judge "1000>500". Since 1000 is greater than 500, True can be obtained, and True is written into the operation factor queue as the factor to be operated. At this time, the operation factor queue is "True TrueTrue".
[0087] Continue to traverse the remaining factors to be operated in the push expression M. When traversing the "||" in the push expression M, obtain the last factor to be operated "True" in the operation factor queue as the right value, and the second to last factor to be operated "True" in the operation factor queue as the left value. Since as long as one of the OR operations is True, the final logical operation result is True, so the logical operation result of "True||True" is True, and then the obtained True is written as the factor to be operated into the operation factor queue. At this time, the operation factor queue is "TrueTrue".
[0088] Continue to traverse the remaining factors to be operated in the push expression M. When traversing the "&&" in the push expression M, obtain the last factor to be operated "True" in the factor queue as the right value, and the second to last factor to be operated "True" in the factor queue as the left value. Since the logical operation result of "True&&True" is True, the obtained True is then written as the factor to be operated into the factor queue. At this time, the factor queue is "True".
[0089] Continue to traverse the remaining factors to be operated in the push expression M. When traversing 200 in the push expression M, write 200 into the operation factor queue; when traversing 100 in the push expression M, write 100 into the operation factor queue; when traversing the ">" in the push expression M, get 100 in the operation factor queue as the right value and 200 as the left value, and then judge "200>100". Since 200 is greater than 100, True can be obtained, and True is written into the operation factor queue as the factor to be operated.
[0090] Continuing to traverse the remaining factors to be operated on in the push expression M, when traversing the "&&" in the push expression M, the last factor to be operated on in the factor queue, "True", is obtained as the right value, and the second-to-last factor to be operated on in the factor queue, "True", is obtained as the left value. Since the logical operation result of "True&&True" is True, the obtained True is then written as the factor to be operated on in the factor queue. At this time, the factor queue is "True". Finally, since there is only one True in the factor queue, the push result "match" is finally output, indicating that the target information is pushed to the target object to be pushed.
[0091] For example, the push expression N of the target object to be pushed is set to: "50 100>1000 500>||20 100>&&3015 3015==&&". When traversing 50 in the push expression N, 50 is written into the operation factor queue; when traversing 100 in the push expression N, 100 is written into the operation factor queue; when traversing the ">" in the push expression N, 100 in the operation factor queue is obtained as the right value and 50 as the left value, thereby obtaining False. Since the push sub-logic "50 100>1000 500>||" where the ">" is located still has remaining factors to be operated, False is written into the operation factor queue as the factor to be operated. When traversing 1000 in the push expression N, 100 is written into the operation factor queue; when traversing 500 in the push expression N, 500 is written into the operation factor queue; when traversing ">" in the push expression N, 500 in the operation factor queue is obtained as the right value and 1000 as the left value, thereby obtaining True, and True is written into the operation factor queue as the to-be-operated factor.
[0092] Continue to traverse the remaining factors to be operated in the push expression N. When traversing the "||" in the push expression N, get the last factor to be operated "True" in the operation factor queue as the right value, and the second to last factor to be operated "False" in the operation factor queue as the left value. Since the logical operation result of "False||True" is True, then write the obtained True as the factor to be operated into the operation factor queue.
[0093] Continue to traverse the remaining factors to be operated in the push expression N. When traversing 20 in the push expression N, write 20 into the operation factor queue; when traversing 100 in the push expression N, write 100 into the operation factor queue; when traversing the ">" in the push expression N, get 100 in the operation factor queue as the right value and 20 as the left value. Since 20 is not greater than 100, False can be obtained. Since the untraversed factor to be operated in the push sub-logic "20 100>&&" where the ">" is located is the preset operator "&&", the push result of "unmatched" can be directly output to indicate that the target information is not pushed to the target object to be pushed.
[0094] For example, see the attached Figure 4b, shows another process diagram of logical operation processing. Among them, the preset operator is set to "&&", and True is set to indicate that the logical relationship between the right value and the left value satisfies the logical relationship indicated by the target operator, and False is used to indicate that the logical relationship between the right value and the left value does not satisfy the logical relationship indicated by the target operator. At the same time, since the process of logical operation processing is also a process of judging whether the target object to be pushed matches the target push logic of the target information, as shown in step S401, the first step of the process of logical operation processing is to start logical matching, which indicates that the logical operation processing is started. In addition, the stack push in step S403 is equivalent to Figure 4a The process of writing the parameters or logical operation results into the operation factor queue, that is, the stack is the operation factor queue; step S405 reads the last two digits of the stack as the left value and the right value respectively, which is equivalent to Figure 4a The last two digits in the read operation factor queue in step S404 are referred to as the object parameter or target condition parameter in the push expression.
[0095] After starting the logic matching, as shown in step S402, it will be determined whether there are untraversed factors to be operated in the push expression of the target object to be pushed B (that is, whether the push expression is empty). If the push expression is empty, it will be directly determined whether there is one and only one True in the stack. If there is one and only one True in the stack, it means that the logic matches, and it is determined that the target information can be pushed to the target object to be pushed B; if the push expression is not empty, it is necessary to execute step S404 to determine whether the currently traversed factor to be operated is an operand. If the factor to be operated in the currently traversed push expression is an operand, , then directly execute step S403 to push the operand into the stack; if the factor to be operated in the currently traversed push expression is not an operand, since the push expression mainly includes operands and operators, when the factor to be operated in the currently traversed push expression is not an operand, it means that the factor to be operated in the currently traversed push expression is an operator, then the corresponding operation must be performed subsequently. Therefore, after the factor to be operated in the currently traversed push expression is not an operand, step S405 will be executed to read the last two digits of the stack as the left value and the right value respectively, so as to facilitate the subsequent operation through the operator indicated by the factor to be operated in the currently traversed push expression.
[0096] After reading the last two digits of the stack as the left value and the right value respectively, since the operators in the push expression mainly include logical operators such as "&&", "||", and four arithmetic operators such as "+", "-", as shown in step S406, it can be determined whether the currently traversed factor to be operated is a logical operator. If the currently traversed factor to be operated is not a logical operator, it means that the currently traversed factor to be operated is an arithmetic operator, so step S407 is executed to perform four arithmetic operations on the read left value and right value to obtain the four arithmetic operation results, and after obtaining the four arithmetic operation results, the four arithmetic operation results are pushed onto the stack. If the currently traversed factor to be operated is a logical operator, a logical operation is performed on the read left value and right value to obtain a logical judgment result. It should be noted that the logical judgment result and the four arithmetic operation result can be collectively referred to as the above-mentioned logical operation result.
[0097] After obtaining the logical judgment result, step S409 and step S410 can be further executed. When the logical judgment result is True, the logical judgment result True is directly pushed onto the stack. When the logical judgment result is False, step S411 needs to be executed to determine whether there are any untraversed factors to be calculated other than the preset operator in the currently traversed push sub-logic. If so, the logical judgment result False is pushed onto the stack. If not, it means that the logic does not match, then the logical matching process can be ended, and there is no need to traverse the untraversed factors to be calculated in the push expression.
[0098] S206: When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
[0099] In an embodiment of the present application, the specific method of pushing the target information to the target object to be pushed may be: sending the target information to the terminal device used by the target object to be pushed, and causing the terminal device to output the target information. Among them, the way in which the terminal device outputs the target information may include displaying the target information on the display screen of the terminal device, playing the target information by voice, etc., which is not limited here. Optionally, the specific method of pushing the target information to the target object to be pushed may also be: sending an email including the target information to the mailbox of the target object to be pushed. Optionally, if the target information is information to be returned in a certain application, then the target information can be displayed when the target object to be pushed opens the application. Optionally, the target information can also be pushed to the target object to be pushed in other ways, which are not limited here.
[0100] In the embodiment of the present application, by converting the target push logic into a post-order expression, the push expression obtained after the object parameters of the target object to be pushed are subsequently substituted into the post-order expression can be more consistent with the operation logic of the computer device, making it easy to implement the push expression by the computer device to quickly perform logical operations to obtain the push result of the target object to be pushed. In addition, after obtaining the target push logic, the embodiment of the present application does not need to use code to perform various logical judgments on the target object to be pushed to determine the push result; instead, the push logic is first converted into a post-order expression of the push logic that is easy to read by the computer device by performing post-order conversion processing on the push logic of the target information, and then the parameter attributes in the post-order expression are replaced with the object parameters of the target object to be pushed to generate a personalized push expression for the target object to be pushed, so as to achieve the result obtained by performing logical operations on the push expression of the target object to be pushed, and then determine whether the target information needs to be sent to the target object to be pushed. It can be seen that this solution can avoid the need to develop code that matches the push logic that represents the corresponding demand, as well as a series of complex and time-consuming processes such as testing and launching the code every time the demand changes, which is conducive to quickly responding to product needs and accurately pushing information.
[0101] Based on the above information push solution and information push system, the embodiment of the present application provides another information push method. Figure 5 , which is a flow chart of another information push method provided in an embodiment of the present application. Figure 5 The information push method shown can be Figure 1 The server execution shown. Figure 5 The information push method shown may include the following steps:
[0102] S501: traverse at least one push logic according to the priority of each push logic in the at least one push logic, and use the currently traversed push logic as the target push logic.
[0103] In an embodiment of the present application, the traversal of at least one push logic according to the priority of each push logic in at least one push logic and taking the currently traversed push logic as the target push logic refers to: traversing at least one push logic according to the priority of each push logic from high to low, and taking the currently traversed push logic as the target push logic, then performing post-order conversion processing on the target push logic (i.e., the currently traversed push logic) to obtain the post-order expression of the target push logic, obtaining the object parameters of the target object to be pushed of the target information, replacing the parameter attributes in the post-order expression with the object parameters, obtaining the push expression of the target object to be pushed, performing logical operation processing on the push expression of the target object to be pushed, and obtaining the push result of the target object to be pushed (i.e., the push result of the target object to be pushed corresponding to the currently traversed push logic). In other words, each push logic in the at least one push logic will be used as the target push logic, and the push result of its corresponding target object to be pushed will be obtained.
[0104] Optionally, the priorities of the push logics may be determined according to the order in which they are set up. For example, if push logic A is set up first, then push logic A may be assigned the highest priority, and if push logic B is set up immediately after push logic A, then push logic B may be assigned a medium priority.
[0105] Optionally, the priority of each push logic can also be set manually, and the specific method includes: displaying a priority configuration interface, the push logic configuration interface includes at least one push logic, and priority configuration options corresponding to each push logic; then, in response to the editing operation of the priority configuration option corresponding to any push logic, determining the priority of any push logic.
[0106] S502: Perform post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic.
[0107] In the embodiment of the present application, before performing post-conversion processing on the target push logic, some logic pre-processing may be performed on the target push logic. The logic pre-processing process may include:
[0108] 1) When the parameter attribute of the target condition parameter in the target push logic is different from each of the multiple preset parameter attributes, a target preset parameter attribute whose similarity with the parameter attribute of the target condition parameter is greater than a preset similarity threshold is obtained from the multiple preset parameter attributes, wherein any preset parameter attribute refers to the parameter attribute of any object parameter of any object to be pushed of the target information.
[0109] Specifically, since the multiple parameter attributes of the object to be pushed, and the object parameters corresponding to each parameter attribute, are determined based on the actual situation of the object to be pushed, it is possible that none of the multiple parameter attributes of the object to be pushed are identical to the parameter attributes of the target condition parameter. Consequently, it is possible that none of the multiple object parameters of the object to be pushed can perform logical operations with the target condition parameter. Furthermore, the preset similarity threshold can be manually set or system-set, and is not limited here. The preset similarity threshold can be a specific numerical value, such as 0.9, 0.85, or a percentage, such as 70%, 55%, and is not limited here. Furthermore, the specific method for obtaining a target preset parameter attribute from the multiple preset parameter attributes whose similarity to the parameter attribute is greater than the preset similarity threshold can be: comparing the similarity between each character in any preset parameter attribute and the parameter attribute of the target condition parameter, thereby obtaining the similarity between any preset parameter attribute and the parameter attribute of the target condition parameter. Optionally, the specific method of obtaining a target preset parameter attribute having a similarity with a parameter attribute greater than a preset similarity threshold from a plurality of preset parameter attributes may also be: extracting a first semantic meaning of any preset parameter attribute and a second semantic meaning of the parameter attribute of the target conditional parameter, and then obtaining the similarity between any preset parameter attribute and the parameter attribute of the target conditional parameter by comparing the semantic similarity between the first semantic meaning and the second semantic meaning. Since the method of comparing the similarity between two texts is a technical means commonly used by those skilled in the art, it will not be described in detail here.
[0110] For example, the preset similarity can be set to 55%, and the target push logic can be set to: "The day before the repayment date == 2021-10-09", the target condition parameter in the target push logic is "2021-10-09", and the parameter attribute of the target condition parameter is "the day before the repayment date", and the information of object A to be pushed includes: object parameter "1000", the parameter attribute of object parameter "1000" is "total bill amount", object parameter "2021-10-10", the parameter attribute of object parameter "2021-10-20" is "repayment date", so it can be determined that the preset parameter attributes include "total bill amount" and "repayment date". Since there is no parameter attribute in the preset parameter attributes that is exactly the same as the parameter attribute of the target condition parameter, by comparing the individual characters in any preset parameter attribute and the parameter attribute of the target condition parameter, the similarity between the preset parameter attribute "total bill amount" and the parameter attribute of the target condition parameter is obtained as 0%, the similarity between the preset parameter attribute "total bill amount" and "the day before repayment date" is 0%, and the similarity between the preset parameter attribute "repayment date" and "the day before repayment date" is 65%. Since 65% is greater than 55%, it can be determined that the target preset parameter attribute is "repayment date".
[0111] 2) The target condition parameters in the target push logic and the parameter attributes of the target condition parameters are updated to obtain an updated target push logic, wherein the updated target push logic includes a target operator, an updated target condition parameter, and a target preset parameter attribute, and the parameter attributes of the updated target condition parameter are the same as the target preset parameter attributes.
[0112] Referring to the above example, since the target push logic is: "The day before repayment date == 2021-10-09", and since the target preset parameter attribute is "repayment date", the target condition parameters in the target push logic and the parameter attributes of the target condition parameters are updated, that is, the "day before repayment date" in the target push logic is replaced with "repayment date", and the "2021-10-09" in the target push logic is updated to "2021-10-10", so that the updated target push logic can be obtained as: "repayment date == 2021-10-10".
[0113] After the target push logic is updated to obtain the updated target push logic, the post-order conversion processing of the target push logic to obtain the post-order expression of the target push logic is equivalent to: post-order traversal processing of the updated target push logic to obtain the post-order expression of the target push logic.
[0114] Optionally, the logic preprocessing process may also include: determining whether the characters included in the target push logic contain spaces, ".", or other illegal characters that are not operators; and determining whether the character length of the target push logic exceeds a preset length. The preset length may be manually set or system-set, and is not limited here. For example, the preset length may be 100 characters or 30 characters. Optionally, the logic preprocessing process may also include: converting preset logical operators into equivalent comparison operators. The preset logical operators include one or more of ANGEIN, BELONGSTO, and NOTBELONGSTO. For example, {a}ANGEIN[1,5] can be converted to {a}>=1&&{a}<=5; {a}BELONGSTO[1,5] can be converted to {a}==1||{a}==5; and {a}NOTBELONGSTO[1,5] can be converted to {a}!=1||{a}!=5.
[0115] S503: Obtain object parameters of the target object to be pushed of the target information.
[0116] In an embodiment of the present application, the target information has multiple objects to be pushed, and a method for determining the target object to be pushed from the multiple objects to be pushed can be: obtaining a push whitelist of the target information, the push whitelist including at least one object to be pushed; traversing each object to be pushed in the push whitelist, and using the currently traversed object to be pushed as the target object to be pushed. The push whitelist refers to a list of objects to which the target information is allowed to be pushed, and the push whitelist can be set manually or by the system, which is not limited here.
[0117] Optionally, the specific method for obtaining the push whitelist of target information may include: displaying an object configuration interface for the target information, the object configuration interface including object query condition configuration options; obtaining the object query conditions for the target information in response to an edit operation on the object query condition configuration options; determining objects that meet the object query conditions; and using the determined objects as objects to be pushed to generate the push whitelist. Optionally, the object query condition configuration options may include object query parameter configuration options and object query attribute configuration options. Optionally, the aforementioned logic configuration interface may also include an object configuration interface.
[0118] For example, see the attached Figure 6 , showing a schematic diagram of setting a whitelist. In addition to the target template module, the business logic module and the logic validity module, the logic configuration interface 601 also includes an object configuration module (i.e., the object configuration interface). Among them, the object configuration module includes a "full" option and a "whitelist" option. The "full" option means that all the objects using the application to which the target information belongs are the objects to be pushed of the target information. The "whitelist" option means that only the objects in the whitelist are the objects to be pushed of the target information. In response to the editing operation on the object query attribute configuration option 602, the object query attribute "bank name" is obtained; in response to the editing operation on the object query parameter configuration option 603, the object query parameter "CC bank" is obtained; in response to the editing operation on the object query attribute configuration option 604, the object query attribute "business type" is obtained; in response to the editing operation on the object query parameter configuration option 605, the object query parameter "credit card loan" is obtained. Finally, based on the object query attribute "Bank Name" and its corresponding object query parameter "CC Bank," and the object query attribute "Business Type" and its corresponding object query parameter "Credit Card Loan," the object query condition is: the bank name of the bank card is CC Bank, and the business type is Credit Card Loan. Finally, objects that meet this object query condition are identified as objects to be pushed, generating a whitelist.
[0119] Optionally, before obtaining the object parameters of the target object to be pushed of the target information, the post-order expression of the target push logic can also be tested in advance to verify whether the push result obtained by performing a logical operation on the push expression obtained by the post-order expression of the target push logic is correct, so as to ensure that the push results of the objects to be pushed obtained subsequently are accurate. Specifically, before obtaining the object parameters of the target object to be pushed of the target information, it is also possible to: obtain the test parameters of the test object, and the test push result of the test object, wherein the parameter attributes of the test parameters match the parameter attributes of the target condition parameters; replace the parameter attributes in the post-order expression with the test parameters to obtain the push expression of the test object; perform a logical operation on the push expression of the test object to obtain the push result of the test object; when the push result of the test object is the same as the test push result, trigger the execution of steps S503 to S504.
[0120] It should be noted that matching the parameter attributes of the test parameters with the parameter attributes of the target condition parameters means that the parameter attributes of the test parameters are identical or similar to the parameter attributes of the target condition parameters. The specific implementation process of replacing the parameter attributes in the post-order expression with the test parameters to obtain the push expression of the test object, and performing logical operations on the push expression of the test object to obtain the push result of the test object can be referred to the specific implementation process of replacing the parameter attributes in the post-order expression with the object parameters to obtain the push expression of the target object to be pushed, and performing logical operations on the push expression of the target object to be pushed to obtain the push result of the target object to be pushed, which will not be repeated here.
[0121] For example, see the attached Figure 7, showing a schematic diagram of a logic verification interface. In logic verification interface 701, the administrator selects the activity template ID "0012" and the activity template title "Credit Card Bill Notification" to find the target information corresponding to this template ID and title. The target information is titled "Repayment Reminder," and the specific content of the target information is shown in information box 702 in logic verification interface 701. Finally, the administrator sets Xiaohong as the test subject for the target information "Repayment Reminder." Setting Xiaohong as the test subject ensures that "Repayment Reminder" can be pushed to Xiaohong. In other words, the test push result for Xiaohong is that the target information "Repayment Reminder" is pushed to Xiaohong. After the administrator sets the test subject and clicks the Confirm button, if Xiaohong receives the target information, it indicates that Xiaohong's push result indicates that the target information is pushed to Xiaohong. In other words, Xiaohong's push result is the same as her test push result, confirming that the information push is accurate. After confirming that the push of the target information is accurate, each object to be pushed is formally processed to determine whether the target information needs to be pushed to the corresponding object to be pushed. S504: Replace the parameter attributes in the post-order expression with the object parameters to obtain the push expression of the target object to be pushed.
[0122] In an embodiment of the present application, the specific steps of updating the target condition parameters in the target push logic and the parameter attributes of the target condition parameters mentioned in step S502 to obtain the updated target push logic can also be performed after executing step S504.
[0123] For example, see the attached Figure 8 , showing a schematic diagram of the process of logic parsing. Wherein logic parsing refers to the process before the push expression of the target object to be pushed is logically matched. As shown in steps S801 to S802, after starting the logic parsing, it is necessary to determine whether the characters in the target push logic meet the preset character conditions, wherein the preset character conditions include the determination in the logic preprocessing mentioned in step S502 whether the characters included in the target push logic contain spaces, illegal characters such as "." that do not belong to operators, and whether the character length of the target push logic is greater than the preset length. When the characters in the target push logic do not meet the preset character conditions, it means that the format of the target push logic does not meet the requirements. At this time, step S803 cannot be continued, but a logic error prompt message can be output to prompt the management personnel to modify the target push logic.
[0124] When the characters in the target push logic meet the preset character conditions, step S803 can be executed to determine whether the target push logic includes a preset logical operator. If the target push logic includes a preset logical operator, step S804 needs to be executed to convert the preset logical operator in the target push logic into an equivalent comparison operator, and then step S805 is executed to perform post-order conversion processing on the target push logic to obtain a post-order expression. The preset logical operator refers to the preset logical operators ANGEIN, BELONGSTO, NOTBELONGSTO, etc. mentioned in step S502. The conversion of the preset logical operator into an equivalent comparison operator can also be referred to the specific conversion process in step S502, which will not be repeated here.
[0125] If the target push logic does not include a preset logical operator, step S805 can be directly executed to perform post-order conversion processing on the target push logic to obtain a post-order expression. After obtaining the post-order expression, as shown in step S806, it is necessary to pass parameters to the post-order expression to obtain a push expression. The process of passing parameters to the post-order expression to obtain the push expression, that is, replacing the parameter attributes in the post-order expression with the object parameters of the target object to be pushed to obtain the push expression of the target object to be pushed, is not detailed here.
[0126] Since there may be multiple parameter attributes of the target object to be pushed that do not have parameter attributes that are exactly the same as the parameter attributes of the target condition parameters, then the push expression obtained by passing parameters in step S806 may have some parameter attributes that have not been replaced. Therefore, it is necessary to execute step S807 to determine whether the push expression includes special parameter attributes. If included, the special parameter attributes in the push expression are replaced with corresponding object parameters, wherein the special parameter attributes refer to the parameter attributes that have not been replaced in step S806. The specific process of replacing the special parameter attributes in the push expression with the corresponding object parameters can be to obtain parameter attributes from the multiple parameter attributes of the target object to be pushed, whose similarity with the special parameter attributes is greater than a preset similarity threshold, and then replace the special parameter attributes in the push expression with the object parameters corresponding to the obtained parameter attributes, so as to obtain the push expression that is finally logically matched. After obtaining the push expression, steps S809 to S810 can be executed to obtain the matching result through logical matching. The specific process of obtaining the matching result through logical matching can be found in the attached. Figure 4b The specific process of the logical matching shown is not described here.
[0127] S505 , performing logical operation processing on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed.
[0128] The specific implementation of step S505 can refer to the specific implementation of step S305, which will not be repeated here.
[0129] S506 : When the push results of the target objects to be pushed corresponding to the push logics all indicate that the target information is to be pushed to the target objects to be pushed, the target information is pushed to the target objects to be pushed.
[0130] In an embodiment of the present application, when the push results of the target object to be pushed corresponding to each push logic all indicate that the target information is pushed to the target object to be pushed, the target information is sent to the target object to be pushed. That is, only when the push results of the target object to be pushed corresponding to all push logics of the target information all indicate that the target information is pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
[0131] In addition, when the push result for the target object to be pushed corresponding to any push logic indicates that the target information is not to be pushed to the target object to be pushed, it can be determined that the target information is not to be pushed to the target object to be pushed. Optionally, since step S501 mentions that at least one push logic can be traversed according to the priority of each push logic in the at least one push logic, if the push result for the target object to be pushed corresponding to the currently traversed push logic indicates that the target information is not to be pushed to the target object to be pushed, it can be determined that the target information is not to be pushed to the target object to be pushed, and at this time, traversing the remaining push logics in the at least one push logic can be stopped.
[0132] In the embodiment of the present application, by converting the target push logic into a post-order expression, the push expression obtained after the object parameters of the target object to be pushed are subsequently substituted into the post-order expression can be more consistent with the operation logic of the computer device, making it easy to implement the push expression by the computer device to quickly perform logical operations to obtain the push result of the target object to be pushed. In addition, after obtaining the target push logic, the embodiment of the present application does not need to use code to perform various logical judgments on the target object to be pushed to determine the push result; instead, the push logic is first converted into a post-order expression of the push logic that is easy to read by the computer device by performing post-order conversion processing on the push logic of the target information, and then the parameter attributes in the post-order expression are replaced with the object parameters of the target object to be pushed to generate a personalized push expression for the target object to be pushed, so as to achieve the result obtained by performing logical operations on the push expression of the target object to be pushed, and then determine whether the target information needs to be sent to the target object to be pushed. It can be seen that this solution can avoid the need to develop code that matches the push logic that represents the corresponding demand, as well as a series of complex and time-consuming processes such as testing and launching the code every time the demand changes, which is conducive to quickly responding to product needs and accurately pushing information. In addition, before officially pushing the target information to the object to be pushed, the embodiment of the present application will verify whether the push result of the test object obtained by performing logical operation processing on the push expression of the test object through the test object and the test push result of the test object. Only when the test push result of the test object is the same as the push result of the test object, will it be formally determined whether the target information needs to be pushed to the object to be pushed by generating a push expression for the object to be pushed to obtain the push result of the object to be pushed, which is conducive to improving the accuracy of pushing the target information.
[0133] Based on the relevant description of the above information push method, the present application also discloses an information push device. The information push device can be a computer program (including program code) running in the above-mentioned computer device. The information push device can execute the following steps: Figure 2 and Figure 5 For the information push method shown, please refer to Figure 9 The information pushing device may at least include: a determining unit 901, a processing unit 902 and an acquiring unit 903.
[0134] The determining unit 901 is configured to determine a target push logic in at least one push logic of the target information, wherein the target push logic includes a target operator, a target condition parameter, and a parameter attribute of the target condition parameter;
[0135] The processing unit 902 is configured to perform post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic, wherein the order of the target operator, target condition parameter, and parameter attribute in the post-order expression is different from the order of the target operator, target condition parameter, and parameter attribute in the target push logic;
[0136] The acquiring unit 903 is configured to acquire object parameters of the target object to be pushed of the target information, wherein parameter attributes of the object parameters match parameter attributes of the target condition parameters;
[0137] The processing unit 902 is further configured to replace the parameter attributes in the post-order expression with the object parameters to obtain a push expression for the target object to be pushed, wherein the push expression includes the target operator, the target condition parameter, and the object parameter, and the arrangement position of the object parameter in the push expression is the same as the arrangement position of the parameter attributes in the post-order expression;
[0138] The processing unit 902 is further configured to perform a logical operation on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed. The push result of any object is used to indicate whether to push the target information to the corresponding object.
[0139] The processing unit 902 is further configured to push the target information to the target object when the push result of the target object indicates that the target information should be pushed to the target object.
[0140] In one embodiment, any target parameter, target operator or target condition parameter in the push expression of the target object to be pushed is used as a factor to be operated;
[0141] When the processing unit 902 performs a logical operation on the push expression of the target object to be pushed and obtains the push result of the target object to be pushed, it can be specifically configured to execute:
[0142] Traversing each to-be-operated factor in the push expression of the target object to be pushed according to the arrangement order of multiple to-be-operated factors in the push expression of the target object to be pushed;
[0143] If the currently traversed factor to be calculated is an object parameter or a target condition parameter, the currently traversed factor to be calculated is written into the calculation factor queue;
[0144] If the currently traversed factor to be operated is the target operator, the two most recently written factors to be operated are read from the operation factor queue, a logical operation is performed on the two read factors to be operated based on the target operator to obtain a logical operation result, and the logical operation result is written into the operation factor queue as the factor to be operated;
[0145] After traversing the factors to be calculated in the push expression of the target object to be pushed, the push result of the target object to be pushed is obtained based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue.
[0146] In another embodiment, when the processing unit 902 obtains the push result of the target object to be pushed based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue, it can be specifically configured to execute:
[0147] When the number of factors to be calculated included in the operation factor queue is one, and the factor to be calculated in the operation factor queue is a first preset factor, generating a push result for instructing to push the target information to the target object to be pushed;
[0148] When the operation factor queue contains a plurality of factors to be operated, or the factor to be operated in the operation factor queue is not the first preset factor, a push result is generated for indicating that the target information is not pushed to the target object to be pushed.
[0149] In another embodiment, the target push logic includes at least one push sub-logic, the push expression of the target object to be pushed is composed of the at least one push sub-logic, each push sub-logic in the push expression of the target object to be pushed matches each push sub-logic in the target push logic, and any push sub-logic in the push expression of the target object to be pushed includes at least one target condition parameter, at least one target parameter, and at least one target operator;
[0150] When the processing unit 902 traverses the factors to be calculated in the push expression of the target object to be pushed according to the arrangement order of the multiple factors to be calculated in the push expression of the target object to be pushed, it can be specifically configured to perform:
[0151] Traversing each push sub-logic in the push expression of the target object to be pushed according to the arrangement order of at least one push sub-logic in the push expression of the target object to be pushed;
[0152] The processing unit 902 may further be configured to execute:
[0153] When the logic operation result is different from the second preset factor, triggering the step of writing the logic operation result as the to-be-operated factor into the operation factor queue;
[0154] When the logical operation result is the same as the second preset factor, and there is no untraversed factor to be operated in the currently traversed push sub-logic or the untraversed factor to be operated in the currently traversed push sub-logic is a preset operator, a push result is generated to indicate that the target information is not pushed to the target object to be pushed.
[0155] In yet another embodiment, the processing unit 902 may be further configured to execute:
[0156] If the preset operator does not exist in the target push logic, determining that the target push logic includes a push sub-logic, and the push sub-logic matches the target push logic;
[0157] If there is at least one preset operator in the target push logic, the position of each preset operator in the target push logic is determined, and based on the position of each preset operator in the target push logic, the factors to be operated in the target push logic are divided to obtain multiple push sub-logics.
[0158] In yet another embodiment, the processing unit 902 may be further configured to execute:
[0159] Acquire test parameters of a test object and a test push result of the test object, wherein parameter attributes of the test parameters match parameter attributes of the target condition parameters;
[0160] Replacing the parameter attributes in the post-order expression with the test parameters to obtain the push expression of the test object;
[0161] Performing logical operations on the push expression of the test object to obtain the push result of the test object;
[0162] When the push result of the test object is the same as the test push result, the object parameters of the target object to be pushed for obtaining the target information are triggered to execute, the parameter attributes in the post-order expression are replaced with the object parameters, and the push expression of the target object to be pushed is obtained. The push expression of the target object to be pushed is logically operated to obtain the push result of the target object to be pushed. When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
[0163] In yet another embodiment, the processing unit 902 may further be configured to execute:
[0164] Displaying a push logic configuration interface for the target information, the push logic configuration interface including parameter attribute configuration options, condition parameter configuration options, and operator configuration options;
[0165] In response to an edit operation on the operator configuration option, determining the target operator;
[0166] In response to an editing operation on the condition parameter configuration option, determining the target condition parameter;
[0167] In response to an edit operation on the parameter attribute configuration option, determining parameter attributes of each target condition parameter;
[0168] A push logic is generated based on the target operator, the target condition parameters, and parameter attributes of each target condition parameter.
[0169] In another embodiment, the obtaining unit 903 may be further configured to execute:
[0170] Obtaining a push whitelist of the target information, wherein the push whitelist includes at least one object to be pushed;
[0171] Each object to be pushed in the push whitelist is traversed, and the object to be pushed currently traversed is used as the target object to be pushed.
[0172] In another embodiment, when acquiring the push whitelist of the target information, the acquiring unit 903 may be configured to execute:
[0173] Displaying an object configuration interface of the target information, wherein the object configuration interface includes object query condition configuration options;
[0174] In response to an edit operation on the object query condition configuration option, obtaining the object query condition of the target information;
[0175] Determining objects that meet the object query condition;
[0176] The determined objects are used as the objects to be pushed to generate the push whitelist.
[0177] In yet another embodiment, when the determining unit 901 determines the target push logic in at least one push logic of the target information, it may be specifically configured to execute:
[0178] Traversing the at least one push logic according to the priority of each push logic in the at least one push logic, and taking the currently traversed push logic as the target push logic;
[0179] When there is a push result of the target object to be pushed corresponding to any push logic indicating that the target information is not to be pushed to the target object to be pushed, determining not to push the target information to the target object to be pushed;
[0180] When the push results of the target object to be pushed corresponding to each push logic all indicate that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
[0181] In yet another embodiment, the processing unit 902 may further be configured to execute:
[0182] When the parameter attribute of the target condition parameter in the target push logic is different from each of the multiple preset parameter attributes, obtaining a target preset parameter attribute from the multiple preset parameter attributes, the target preset parameter attribute having a similarity with the parameter attribute greater than a preset similarity threshold, wherein any preset parameter attribute refers to a parameter attribute of any object parameter of any object to be pushed of the target information;
[0183] updating the target condition parameter in the target push logic and the parameter attributes of the target condition parameter to obtain an updated target push logic, wherein the updated target push logic includes the target operator, the updated target condition parameter, and the target preset parameter attributes, wherein the parameter attributes of the updated target condition parameter are the same as the target preset parameter attributes;
[0184] When the processing unit 902 performs post-order conversion processing on the target push logic to obtain the post-order expression of the target push logic, it is specifically configured to execute:
[0185] Perform post-order traversal processing on the updated target push logic to obtain a post-order expression of the target push logic.
[0186] According to one embodiment of the present application, Figure 2 and Figure 5 The steps involved in the method shown can be performed by Figure 9 The information push device shown in FIG. 1 is executed by each unit. For example, Figure 2 Step S201 shown can be performed by Figure 9 The information push device shown in FIG. 1 is executed by the determining unit 901; Step S202 and Step S204 to Step S205 can be performed by Figure 9 The processing unit 902 in the information push device shown in FIG. 1 is executed; step S203 can be performed by Figure 9 The information push device shown in FIG. 9 is used to obtain the information. Figure 5 Step S501 shown can be performed by Figure 9The information push device shown in FIG. 1 is executed by the determining unit 901; Step S402 and Steps S504 to S506 can be performed by Figure 9 The processing unit 902 in the information push device shown in FIG. 5 is executed; step S503 can be performed by Figure 9 The information push device shown is executed by the acquisition unit 903.
[0187] According to another embodiment of the present application, Figure 9 The various units in the information push device shown are divided based on logical functions. The above-mentioned various units can be individually or all merged into one or several other units to constitute, or one (some) of the units can be further divided into multiple functionally smaller units to constitute, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. In other embodiments of the present application, the above-mentioned information push device can also include other units. In actual applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of multiple units.
[0188] According to another embodiment of the present application, a computer program that can execute the following operations can be executed on a general-purpose computing device such as a computer device including a central processing unit (CPU), a random access memory (RAM), a read-only memory (ROM), and other processing elements and storage elements. Figure 2 or Figure 5 A computer program (including program code) for each step of the method shown is used to construct Figure 9 The information push device shown in the figure is used to implement the information push method of the embodiment of the present application. The computer program can be recorded on a computer storage medium, for example, and loaded into the above-mentioned computer device through the computer storage medium and run therein.
[0189] In the embodiment of the present application, by converting the target push logic into a post-order expression, the push expression obtained after the object parameters of the target object to be pushed are subsequently substituted into the post-order expression can be more consistent with the operation logic of the computer device, making it easy to implement the push expression by the computer device to quickly perform logical operations to obtain the push result of the target object to be pushed. In addition, after obtaining the target push logic, the embodiment of the present application does not need to use code to perform various logical judgments on the target object to be pushed to determine the push result; instead, the push logic is first converted into a post-order expression of the push logic that is easy to read by the computer device by performing post-order conversion processing on the push logic of the target information, and then the parameter attributes in the post-order expression are replaced with the object parameters of the target object to be pushed to generate a personalized push expression for the target object to be pushed, so as to achieve the result obtained by performing logical operations on the push expression of the target object to be pushed, and then determine whether the target information needs to be sent to the target object to be pushed. It can be seen that this solution can avoid the need to develop code that matches the push logic that represents the corresponding demand, as well as a series of complex and time-consuming processes such as testing and launching the code every time the demand changes, which is conducive to quickly responding to product needs and accurately pushing information.
[0190] Based on the above method embodiment and device embodiment, the present application also provides an electronic device. Figure 10 , is a structural diagram of an electronic device provided in an embodiment of the present application. Figure 10 The electronic device shown may include at least a processor 1001, an input interface 1002, an output interface 1003, and a computer storage medium 1004. The processor 1001, the input interface 1002, the output interface 1003, and the computer storage medium 1004 may be connected via a bus or other means.
[0191] Computer storage medium 1004 can be stored in the memory of the electronic device. Computer storage medium 1004 is used to store computer programs, which include program instructions. Processor 1001 is used to execute the program instructions stored in computer storage medium 1004. Processor 1001 (or CPU (Central Processing Unit)) is the computing core and control core of the electronic device. It is suitable for implementing one or more instructions, and is specifically suitable for loading and executing one or more instructions to implement the above-mentioned information push method process or corresponding functions.
[0192] The embodiment of the present application also provides a computer storage medium (Memory), which is a memory device in an electronic device for storing programs and data. It is understandable that the computer storage medium here can include both the built-in storage medium in the terminal and, of course, the extended storage medium supported by the terminal. The computer storage medium provides a storage space that stores the operating system of the terminal. In addition, one or more instructions suitable for being loaded and executed by the processor 1001 are also stored in the storage space. These instructions can be one or more computer programs (including program codes). It should be noted that the computer storage medium here can be a high-speed random access memory (RAM) memory, or a non-volatile memory (non-volatile memory), such as at least one disk storage; optionally, it can also be at least one computer storage medium located away from the aforementioned processor.
[0193] In one embodiment, the processor 1001 may load and execute one or more instructions stored in a computer storage medium to implement the above-mentioned Figure 2 and Figure 6 In the corresponding steps of the method in the embodiment of the information push method, in a specific implementation, one or more instructions in the computer storage medium are loaded by the processor 1001 and the following steps are executed:
[0194] The processor 1001 determines a target push logic in at least one push logic of the target information, where the target push logic includes a target operator, a target condition parameter, and a parameter attribute of the target condition parameter;
[0195] The processor 1001 performs post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic, wherein the order of the target operator, target condition parameter, and parameter attribute in the post-order expression is different from the order of the target operator, target condition parameter, and parameter attribute in the target push logic;
[0196] The processor 1001 obtains an object parameter of a target object to be pushed of the target information, wherein a parameter attribute of the object parameter matches a parameter attribute of the target condition parameter;
[0197] The processor 1001 replaces the parameter attributes in the post-order expression with the object parameters to obtain a push expression for the target object to be pushed, where the push expression includes the target operator, the target condition parameter, and the object parameter, and the arrangement position of the object parameter in the push expression is the same as the arrangement position of the parameter attributes in the post-order expression;
[0198] The processor 1001 performs a logical operation on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed, wherein the push result of any object is used to indicate whether to push the target information to the corresponding object;
[0199] When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the processor 1001 pushes the target information to the target object to be pushed.
[0200] In one embodiment, any target parameter, target operator or target condition parameter in the push expression of the target object to be pushed is used as a factor to be operated;
[0201] When the processor 1001 performs a logical operation on the push expression of the target object to be pushed to obtain the push result of the target object to be pushed, it can also be used to execute:
[0202] Traversing each to-be-operated factor in the push expression of the target object to be pushed according to the arrangement order of multiple to-be-operated factors in the push expression of the target object to be pushed;
[0203] If the currently traversed factor to be calculated is an object parameter or a target condition parameter, the currently traversed factor to be calculated is written into the calculation factor queue;
[0204] If the currently traversed factor to be operated is the target operator, the two most recently written factors to be operated are read from the operation factor queue, a logical operation is performed on the two read factors to be operated based on the target operator to obtain a logical operation result, and the logical operation result is written into the operation factor queue as the factor to be operated;
[0205] After traversing the factors to be calculated in the push expression of the target object to be pushed, the push result of the target object to be pushed is obtained based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue.
[0206] In one embodiment, when the processor 1001 obtains the push result of the target object to be pushed based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue, it can be further configured to execute:
[0207] When the number of factors to be calculated included in the operation factor queue is one, and the factor to be calculated in the operation factor queue is a first preset factor, generating a push result for instructing to push the target information to the target object to be pushed;
[0208] When the operation factor queue contains a plurality of factors to be operated, or the factor to be operated in the operation factor queue is not the first preset factor, a push result is generated for indicating that the target information is not pushed to the target object to be pushed.
[0209] In one embodiment, the target push logic includes at least one push sub-logic, the push expression of the target object to be pushed is composed of at least one push sub-logic, each push sub-logic in the push expression of the target object to be pushed matches each push sub-logic in the target push logic, and any push sub-logic in the push expression of the target object to be pushed includes at least one target condition parameter, at least one target parameter, and at least one target operator;
[0210] When the processor 1001 traverses the factors to be calculated in the push expression of the target object to be pushed according to the arrangement order of the multiple factors to be calculated in the push expression of the target object to be pushed, it can be specifically configured to execute:
[0211] Traversing each push sub-logic in the push expression of the target object to be pushed according to the arrangement order of at least one push sub-logic in the push expression of the target object to be pushed;
[0212] The method further comprises:
[0213] When the logic operation result is different from the second preset factor, triggering the step of writing the logic operation result as the to-be-operated factor into the operation factor queue;
[0214] When the logical operation result is the same as the second preset factor, and there is no untraversed factor to be operated in the currently traversed push sub-logic or the untraversed factor to be operated in the currently traversed push sub-logic is a preset operator, a push result is generated to indicate that the target information is not pushed to the target object to be pushed.
[0215] In one embodiment, the processor 1001 may further be configured to execute:
[0216] If the preset operator does not exist in the target push logic, determining that the target push logic includes a push sub-logic, and the push sub-logic matches the target push logic;
[0217] If there is at least one preset operator in the target push logic, the position of each preset operator in the target push logic is determined, and based on the position of each preset operator in the target push logic, the factors to be operated in the target push logic are divided to obtain multiple push sub-logics.
[0218] In one embodiment, the processor 1001 may be further configured to execute:
[0219] Acquire test parameters of a test object and a test push result of the test object, wherein parameter attributes of the test parameters match parameter attributes of the target condition parameters;
[0220] Replacing the parameter attributes in the post-order expression with the test parameters to obtain the push expression of the test object;
[0221] Performing logical operations on the push expression of the test object to obtain the push result of the test object;
[0222] When the push result of the test object is the same as the test push result, the object parameters of the target object to be pushed for obtaining the target information are triggered to execute, the parameter attributes in the post-order expression are replaced with the object parameters, and the push expression of the target object to be pushed is obtained. The push expression of the target object to be pushed is logically operated to obtain the push result of the target object to be pushed. When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
[0223] In one embodiment, when generating any of the at least one push logic for the target information, the processor 1001 may further be configured to execute:
[0224] Displaying a push logic configuration interface for the target information, the push logic configuration interface including parameter attribute configuration options, condition parameter configuration options, and operator configuration options;
[0225] In response to an edit operation on the operator configuration option, determining the target operator;
[0226] In response to an editing operation on the condition parameter configuration option, determining the target condition parameter;
[0227] In response to an edit operation on the parameter attribute configuration option, determining parameter attributes of each target condition parameter;
[0228] A push logic is generated based on the target operator, the target condition parameters, and parameter attributes of each target condition parameter.
[0229] In one embodiment, the processor 1001 may further be configured to execute:
[0230] Obtaining a push whitelist of the target information, wherein the push whitelist includes at least one object to be pushed;
[0231] Each object to be pushed in the push whitelist is traversed, and the object to be pushed currently traversed is used as the target object to be pushed.
[0232] In one embodiment, when the processor 1001 obtains the push whitelist of the target information, it can be specifically configured to execute:
[0233] Displaying an object configuration interface of the target information, wherein the object configuration interface includes object query condition configuration options;
[0234] In response to an edit operation on the object query condition configuration option, obtaining the object query condition of the target information;
[0235] Determining objects that meet the object query condition;
[0236] The determined objects are used as the objects to be pushed to generate the push whitelist.
[0237] In one embodiment, when the processor 1001 determines the target push logic in at least one push logic of the target information, it can be specifically configured to execute:
[0238] Traversing the at least one push logic according to the priority of each push logic in the at least one push logic, and taking the currently traversed push logic as the target push logic;
[0239] When there is a push result of the target object to be pushed corresponding to any push logic indicating that the target information is not to be pushed to the target object to be pushed, determining not to push the target information to the target object to be pushed;
[0240] When the push results of the target object to be pushed corresponding to each push logic all indicate that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
[0241] In one embodiment, the processor 1001 may be further configured to execute:
[0242] When the parameter attribute of the target condition parameter in the target push logic is different from each of the multiple preset parameter attributes, obtaining a target preset parameter attribute from the multiple preset parameter attributes, the target preset parameter attribute having a similarity with the parameter attribute greater than a preset similarity threshold, wherein any preset parameter attribute refers to a parameter attribute of any object parameter of any object to be pushed of the target information;
[0243] updating the target condition parameter in the target push logic and the parameter attributes of the target condition parameter to obtain an updated target push logic, wherein the updated target push logic includes the target operator, the updated target condition parameter, and the target preset parameter attributes, wherein the parameter attributes of the updated target condition parameter are the same as the target preset parameter attributes;
[0244] The performing post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic includes:
[0245] Perform post-order traversal processing on the updated target push logic to obtain a post-order expression of the target push logic.
[0246] In the embodiment of the present application, by converting the target push logic into a post-order expression, the push expression obtained after the object parameters of the target object to be pushed are subsequently substituted into the post-order expression can be more consistent with the operation logic of the computer device, making it easy to implement the push expression by the computer device to quickly perform logical operations to obtain the push result of the target object to be pushed. In addition, after obtaining the target push logic, the embodiment of the present application does not need to use code to perform various logical judgments on the target object to be pushed to determine the push result; instead, the push logic is first converted into a post-order expression of the push logic that is easy to read by the computer device by performing post-order conversion processing on the push logic of the target information, and then the parameter attributes in the post-order expression are replaced with the object parameters of the target object to be pushed to generate a personalized push expression for the target object to be pushed, so as to achieve the result obtained by performing logical operations on the push expression of the target object to be pushed, and then determine whether the target information needs to be sent to the target object to be pushed. It can be seen that this solution can avoid the need to develop code that matches the push logic that represents the corresponding demand, as well as a series of complex and time-consuming processes such as testing and launching the code every time the demand changes, which is conducive to quickly responding to product needs and accurately pushing information.
[0247] The embodiment of the present application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device performs the above-mentioned Figure 2 and Figure 5The computer-readable storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0248] The information push method in the embodiment of the present invention is mainly illustrated by taking the financial field as an example. The information push method in the embodiment of the present invention can also be applied to other scenarios, which are not limited here.
[0249] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. An information push method, characterized in that: include: Determining a target push logic in at least one push logic of the target information, the target push logic including a target operator, a target condition parameter, and a parameter attribute of the target condition parameter; Performing post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic, wherein the order of arrangement of the target operator, target condition parameter, and parameter attribute in the post-order expression is different from the order of arrangement of the target operator, target condition parameter, and parameter attribute in the target push logic; Obtaining object parameters of the target object to be pushed of the target information, wherein parameter attributes of the object parameters match parameter attributes of the target condition parameters; Replacing the parameter attributes in the post-order expression with the object parameters to obtain a push expression for the target object to be pushed, wherein the push expression includes the target operator, the target condition parameter, and the object parameter, and the arrangement position of the object parameter in the push expression is the same as the arrangement position of the parameter attributes in the post-order expression; Performing logical operation processing on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed, wherein the push result of the target object to be pushed is used to indicate whether to push the target information to the target object to be pushed; When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
2. The method according to claim 1, characterized in that Any target parameter, target operator or target condition parameter in the push expression of the target object to be pushed is taken as a factor to be operated; The performing logical operation on the push expression of the target object to be pushed to obtain the push result of the target object to be pushed includes: Traversing each to-be-operated factor in the push expression of the target object to be pushed according to the arrangement order of multiple to-be-operated factors in the push expression of the target object to be pushed; If the currently traversed factor to be calculated is an object parameter or a target condition parameter, the currently traversed factor to be calculated is written into the calculation factor queue; If the currently traversed factor to be operated is the target operator, the two most recently written factors to be operated are read from the operation factor queue, a logical operation is performed on the two read factors to be operated based on the target operator to obtain a logical operation result, and the logical operation result is written into the operation factor queue as the factor to be operated; After traversing the factors to be calculated in the push expression of the target object to be pushed, the push result of the target object to be pushed is obtained based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue.
3. The method according to claim 2, characterized in that The obtaining the push result of the target object to be pushed based on the factors to be calculated in the calculation factor queue and the number of factors to be calculated in the calculation factor queue includes: When the number of factors to be calculated included in the operation factor queue is one, and the factor to be calculated in the operation factor queue is a first preset factor, generating a push result for instructing to push the target information to the target object to be pushed; When the operation factor queue contains a plurality of factors to be operated, or the factor to be operated in the operation factor queue is not the first preset factor, a push result is generated for indicating that the target information is not pushed to the target object to be pushed.
4. The method according to claim 2, characterized in that The target push logic includes at least one push sub-logic, the push expression of the target object to be pushed is composed of at least one push sub-logic, each push sub-logic in the push expression of the target object to be pushed matches each push sub-logic in the target push logic, and any push sub-logic in the push expression of the target object to be pushed includes at least one target condition parameter, at least one target parameter, and at least one target operator; The step of traversing the various factors to be calculated in the push expression of the target object to be pushed according to the arrangement order of the multiple factors to be calculated in the push expression of the target object to be pushed includes: Traversing each push sub-logic in the push expression of the target object to be pushed according to the arrangement order of at least one push sub-logic in the push expression of the target object to be pushed; The method further comprises: When the logic operation result is different from the second preset factor, triggering the step of writing the logic operation result as the to-be-operated factor into the operation factor queue; When the logical operation result is the same as the second preset factor, and there is no untraversed factor to be operated in the currently traversed push sub-logic or the untraversed factor to be operated in the currently traversed push sub-logic is a preset operator, a push result is generated to indicate that the target information is not pushed to the target object to be pushed.
5. The method according to claim 4, characterized in that The method further comprises: If the preset operator does not exist in the target push logic, determining that the target push logic includes a push sub-logic, and the push sub-logic matches the target push logic; If there is at least one preset operator in the target push logic, the position of each preset operator in the target push logic is determined, and based on the position of each preset operator in the target push logic, the factors to be operated in the target push logic are divided to obtain multiple push sub-logics.
6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Acquire test parameters of a test object and a test push result of the test object, wherein parameter attributes of the test parameters match parameter attributes of the target condition parameters; Replacing the parameter attributes in the post-order expression with the test parameters to obtain the push expression of the test object; Performing logical operations on the push expression of the test object to obtain the push result of the test object; When the push result of the test object is the same as the test push result, the object parameters of the target object to be pushed for obtaining the target information are triggered to execute, the parameter attributes in the post-order expression are replaced with the object parameters, and the push expression of the target object to be pushed is obtained. The push expression of the target object to be pushed is logically operated to obtain the push result of the target object to be pushed. When the push result of the target object to be pushed indicates that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
7. The method according to any one of claims 1 to 5, characterized in that The generation method of any push logic in the at least one push logic of the target information includes: Displaying a push logic configuration interface for the target information, the push logic configuration interface including parameter attribute configuration options, condition parameter configuration options, and operator configuration options; In response to an edit operation on the operator configuration option, determining the target operator; In response to an editing operation on the condition parameter configuration option, determining the target condition parameter; In response to an edit operation on the parameter attribute configuration option, determining parameter attributes of each target condition parameter; A push logic is generated based on the target operator, the target condition parameters, and parameter attributes of each target condition parameter.
8. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Obtaining a push whitelist of the target information, wherein the push whitelist includes at least one object to be pushed; Each object to be pushed in the push whitelist is traversed, and the object to be pushed currently traversed is used as the target object to be pushed.
9. The method according to claim 8, characterized in that The step of obtaining a push whitelist of the target information includes: Displaying an object configuration interface of the target information, wherein the object configuration interface includes object query condition configuration options; In response to an edit operation on the object query condition configuration option, obtaining the object query condition of the target information; Determining objects that meet the object query condition; The determined objects are used as the objects to be pushed to generate the push whitelist.
10. The method according to any one of claims 1 to 5, characterized in that The determining of the target push logic in at least one push logic of the target information includes: Traversing the at least one push logic according to the priority of each push logic in the at least one push logic, and taking the currently traversed push logic as the target push logic; When there is a push result of the target object to be pushed corresponding to any push logic indicating that the target information is not to be pushed to the target object to be pushed, determining not to push the target information to the target object to be pushed; When the push results of the target object to be pushed corresponding to each push logic all indicate that the target information is to be pushed to the target object to be pushed, the target information is pushed to the target object to be pushed.
11. The method according to any one of claims 1 to 5, characterized in that The method further comprises: When the parameter attribute of the target condition parameter in the target push logic is different from each of the multiple preset parameter attributes, obtaining a target preset parameter attribute from the multiple preset parameter attributes, the target preset parameter attribute having a similarity with the parameter attribute greater than a preset similarity threshold, wherein any preset parameter attribute refers to a parameter attribute of any object parameter of any object to be pushed of the target information; updating the target condition parameter in the target push logic and the parameter attributes of the target condition parameter to obtain an updated target push logic, wherein the updated target push logic includes the target operator, the updated target condition parameter, and the target preset parameter attributes, wherein the parameter attributes of the updated target condition parameter are the same as the target preset parameter attributes; The performing post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic includes: Perform post-order traversal processing on the updated target push logic to obtain a post-order expression of the target push logic.
12. An information push device, characterized in that: The information push device includes a determination unit, an acquisition unit, and a processing unit, wherein: The determining unit is configured to determine a target push logic in at least one push logic of the target information, the target push logic including a target operator, a target condition parameter, and a parameter attribute of the target condition parameter; The processing unit is configured to perform post-order conversion processing on the target push logic to obtain a post-order expression of the target push logic, wherein the order of arrangement of the target operator, target condition parameter, and parameter attribute in the post-order expression is different from the order of arrangement of the target operator, target condition parameter, and parameter attribute in the target push logic; The acquiring unit is configured to acquire object parameters of a target object to be pushed of the target information, wherein parameter attributes of the object parameters match parameter attributes of the target condition parameters; The processing unit is further configured to replace the parameter attributes in the post-order expression with the object parameters to obtain a push expression for the target object to be pushed, the push expression including the target operator, the target condition parameter, and the object parameter, wherein an arrangement position of the object parameter in the push expression is the same as an arrangement position of the parameter attributes in the post-order expression; The processing unit is further configured to perform a logical operation on the push expression of the target object to be pushed to obtain a push result of the target object to be pushed, wherein the push result of the target object to be pushed is used to indicate whether to push the target information to the target object to be pushed; The processing unit is further configured to push the target information to the target object to be pushed when the push result of the target object to be pushed indicates that the target information should be pushed to the target object to be pushed.
13. A computer device, characterized in that: include: a processor adapted to execute one or more computer programs; A computer storage medium storing one or more computer programs, wherein the one or more computer programs are suitable for being loaded by the processor and executing the information push method according to any one of claims 1 to 11.
14. A computer storage medium, characterized in that The computer storage medium stores one or more computer programs, and the one or more computer programs are suitable for being loaded by a processor and executing the information push method according to any one of claims 1 to 11.
15. A computer program product, characterized in that The computer program product comprises a computer program, and the computer program is suitable for being loaded by a processor and executing the information pushing method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Method, system and equipment for pushing logic flow table to client, and storage medium
CN113836183A
Information processing method and device, equipment, storage medium and computer program product
CN114003216A