Message pushing method and device, equipment and storage medium

By constructing a directed acyclic graph node to design the message push process, the message push is decoupled from the business system, which solves the problem of frequent updates of message push logic affecting the performance of the business system and improves the stability and performance of the business system.

CN120639840APending Publication Date: 2025-09-12SHENZHEN XINGNUO ZHIXING TECHNOLOGY R&D CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510585873.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-07
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

In the existing technology, the message push logic is coupled with the business system, resulting in frequent updates of the business system and affecting performance.

Method used

By constructing directed acyclic graph nodes and designing the message push process, we can achieve decoupling of message push from the business system. By using custom functions, conditional judgment nodes, and data acquisition nodes, we can flexibly design the push process and avoid frequent updates.

Benefits of technology

It improves the flexibility and scalability of message push, reduces the frequent online operation of business systems, and improves the stability and performance of business systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120639840A_ABST
    Figure CN120639840A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a message pushing method and device, equipment and a storage medium, and relates to the technical field of computers. The method comprises the following steps: in response to a dragging operation on at least one displayed directed acyclic graph node, determining a message pushing process corresponding to at least one message pushing service; after a triggering operation on the message pushing event is detected, determining a target pushing service corresponding to the triggered message pushing event; and sending a message to a message receiver corresponding to the trigger operation according to a message push process corresponding to the target push service. According to the method, decoupling between message pushing and the service system can be achieved, the stability of the service system is improved, message pushing is more flexible and diversified, and expansibility is higher.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a message push method, apparatus, device, and storage medium. Background Art

[0002] Push messaging is a technology that sends messages, notifications, or other relevant content to target users via the Internet. It is an important channel for communication between enterprises and users.

[0003] Generally, during the business development process of an enterprise, the message push logic can be coupled with the corresponding business functions, so that during the business execution process, the message push logic can be triggered to realize message push.

[0004] This implementation method directly couples the message push logic with the business system, resulting in the need to synchronously update the business system when the message push logic is updated, causing the business system to be frequently online, thereby affecting the performance of the business system. Summary of the Invention

[0005] The embodiments of the present application provide a message push method, apparatus, device, and storage medium, which can achieve decoupling between message push and business systems, not only improving the stability of the business system, but also making message push more flexible, diverse, and scalable.

[0006] In a first aspect, an embodiment of the present application provides a message push method, comprising:

[0007] In response to a drag operation on at least one displayed directed acyclic graph node, determining a message push process corresponding to at least one message push service;

[0008] After detecting a triggering operation on a message push event, determining a target push service corresponding to the triggered message push event;

[0009] According to the message push process corresponding to the target push service, a message is sent to the message recipient corresponding to the triggering operation.

[0010] Optionally, the directed acyclic graph node is a conditional judgment node or a data acquisition node; in response to a drag operation on at least one displayed directed acyclic graph node, determining a message push process corresponding to at least one message push service, including:

[0011] In response to a dragging operation on the displayed condition judgment node and / or the data acquisition node, at least one push process node is obtained;

[0012] In response to the connection operation on the at least one push process node, a message push process corresponding to each of the message push services is determined.

[0013] Optionally, the message push process includes the condition judgment node and the data acquisition node; sending a message to a message recipient corresponding to the triggering operation according to the message push process corresponding to the target push service includes:

[0014] When the condition judgment node determines that the trigger operation meets the message sending requirement, the data acquisition node acquires the to-be-sent data that matches the trigger operation;

[0015] Send the data to be sent to the message recipient corresponding to the triggering operation.

[0016] Optionally, the method further includes:

[0017] When the data acquisition frequency corresponding to the data acquisition node is determined and meets the preset frequency requirement, the data to be sent that matches the trigger operation is acquired according to the data acquisition node.

[0018] Optionally, the message sending requirement includes a sending frequency requirement in at least one dimension; and determining, according to the condition judgment node, that the trigger operation meets the message sending requirement includes:

[0019] If it is determined according to the condition judgment node that the trigger operation meets the sending frequency requirement under each dimension, then it is determined that the trigger operation meets the message sending requirement.

[0020] Optionally, detecting a triggering operation for a message push event includes:

[0021] Upon monitoring that a data change occurs in the first event data and determining that the first event data meets the requirements of the message push event, determining that a triggering operation for the message push event is detected; or

[0022] After receiving the second event data, it is determined that a triggering operation on the message push event is detected.

[0023] Optionally, the method further includes:

[0024] After monitoring the data change of the first event data, the timeliness verification is performed on the first event data, and if the verification passes, it is determined whether the first event data meets the message push event requirements.

[0025] In a second aspect, an embodiment of the present application provides a message push device, comprising:

[0026] a determining unit, configured to determine, in response to a drag operation on at least one displayed directed acyclic graph node, a message push process corresponding to at least one message push service;

[0027] A detection unit, configured to, after detecting a triggering operation on a message push event, determine a target push service corresponding to the triggered message push event;

[0028] The push unit is used to send a message to the message recipient corresponding to the triggering operation according to the message push process corresponding to the target push service.

[0029] Optionally, the directed acyclic graph node is a conditional judgment node or a data acquisition node; in this case, the determination unit is configured to:

[0030] In response to a dragging operation on the displayed condition judgment node and / or the data acquisition node, at least one push process node is obtained;

[0031] In response to the connection operation on the at least one push process node, a message push process corresponding to each of the message push services is determined.

[0032] Optionally, the message push process includes the condition judgment node and the data acquisition node; in this case, the push unit is used to:

[0033] When the condition judgment node determines that the trigger operation meets the message sending requirement, the data acquisition node acquires the to-be-sent data that matches the trigger operation;

[0034] Send the data to be sent to the message recipient corresponding to the triggering operation.

[0035] Optionally, the push unit is also used to:

[0036] When the data acquisition frequency corresponding to the data acquisition node is determined and meets the preset frequency requirement, the data to be sent that matches the trigger operation is acquired according to the data acquisition node.

[0037] Optionally, the message sending requirement includes a sending frequency requirement in at least one dimension; in this case, the push unit is configured to:

[0038] If it is determined according to the condition judgment node that the trigger operation meets the sending frequency requirement under each dimension, then it is determined that the trigger operation meets the message sending requirement.

[0039] Optional, detection unit for:

[0040] Upon monitoring that a data change occurs in the first event data and determining that the first event data meets the requirements of the message push event, determining that a triggering operation for the message push event is detected; or

[0041] After receiving the second event data, it is determined that a triggering operation on the message push event is detected.

[0042] Optionally, the device is also used to:

[0043] After monitoring the data change of the first event data, the timeliness verification is performed on the first event data, and if the verification passes, it is determined whether the first event data meets the message push event requirements.

[0044] In a third aspect, an embodiment of the present application provides a computer device, including: a memory, a processor;

[0045] The memory stores computer-executable instructions;

[0046] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.

[0047] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementation methods of the first aspect.

[0048] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.

[0049] The message push method, apparatus, device and storage medium provided in the embodiments of the present application can determine the message push process corresponding to at least one message push service in response to a drag operation on at least one displayed directed acyclic graph node, thereby realizing the decoupling between the message push service and the business system, making the processing of the message push service more flexible and more extensible, avoiding the problem of frequent online business systems caused by frequent updates of the message push service, making the business system more stable, and thus improving the performance of the business system. At this time, after detecting the triggering operation of the message push event, the target push service corresponding to the triggered message push event can be determined, and then, according to the message push process corresponding to the target push service, a message is sent to the message recipient corresponding to the triggering operation. This implementation method does not require the business system to perceive the message push event, thereby realizing further decoupling of the business system and the message push service, thereby further ensuring the stability of the business system and improving the performance of the business system. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0051] Figure 1 A schematic diagram of a process for message push in a related technology provided in an embodiment of the present application;

[0052] Figure 2 A flowchart of a message push method provided in an embodiment of the present application;

[0053] Figure 3 A schematic diagram of a scenario for determining a message push process provided in an embodiment of the present application;

[0054] Figure 4 A flowchart of another message push method provided in an embodiment of the present application;

[0055] Figure 5 A schematic diagram of a process for detecting a triggering operation for a message push event provided in an embodiment of the present application;

[0056] Figure 6 A schematic diagram of the architecture of a message push system corresponding to a message push method provided in an embodiment of the present application;

[0057] Figure 7 A schematic diagram of the structure of a message push device provided in an embodiment of the present application;

[0058] Figure 8 A schematic diagram of the structure of a computer device provided in an embodiment of the present application.

[0059] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION

[0060] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.

[0061] The term "and / or" herein simply describes an association relationship, indicating that three relationships can exist. For example, A and / or B can represent the existence of A alone, the simultaneous existence of A and B, and the existence of B alone. In addition, the term "at least one" herein refers to any combination of at least two of any one or more of a plurality of items. For example, "at least one of A, B, and C" can represent any one or more elements selected from the set consisting of A, B, and C.

[0062] First, let’s explain the terms involved in this application:

[0063] DAG, or directed acyclic graph, is a directed graph in which each node can be reached from any other node via directed edges, but cannot return to the starting node via directed edges, or form a loop. A DAG has no cyclic dependencies, allowing topological sorting to determine the execution order of nodes.

[0064] Topological sorting: is an algorithm for sorting a directed acyclic graph. It can find a linear ordering of nodes so that for any directed edge (A, B), node A appears before node B in the ordering.

[0065] Custom functions: Dynamically loadable atomic operation units that support multiple implementation methods such as database queries, HTTP calls, and script execution, and parameter configuration through a visual interface.

[0066] Hot switch coordinator: A distributed component implemented based on the Zookeeper protocol, responsible for monitoring the survival status of the master node and making failover decisions, ensuring that the backup node switch can be completed within 300ms after the master node fails.

[0067] Breakpoint resume: This refers to a technical feature in which the system records a snapshot of the task status during execution. When an instance fails and restarts, processing can be continued from the last successful execution point.

[0068] Time-sensitive message elimination: A technical mechanism for determining timeliness expiration based on the difference between the timestamp feature carried by the message and the current system time.

[0069] Push notifications, also known as push notifications, are a technology that sends notifications to user devices over the network. This can be achieved through various methods, such as application push, web page push, and system-level push. System-level push can include SMS and email.

[0070] App Push: This refers to application push technology used to send notification messages to applications and, in turn, to their users. It is implemented through push services provided by the device's operating system or application.

[0071] In related technologies, when performing message push, the message push logic is mainly coupled with the corresponding business function, so that the message push logic can be triggered during the business execution process to realize message push.

[0072] See also Figure 1 , Figure 1 A schematic diagram of a process for message push in a related technology provided in an embodiment of the present application is shown as follows: Figure 1 As shown, in the related art, when pushing messages, the message push logic is triggered by the business system, and the messages to be pushed are stored in multiple queues indicating different priorities through distribution routing (for example, Figure 1 As shown in the figure, queue 1 and queue 2 are used to push messages stored in different queues, and App Push is implemented through the push service to push messages to the message recipient.

[0073] This implementation method directly couples the message push logic with the business system, resulting in the need to synchronously update the business system when the message push logic is updated, causing the business system to be frequently online, thereby affecting the performance of the business system.

[0074] The message push method provided in this application can design directed acyclic graph nodes based on the message push service (i.e., message push logic) and combine them with custom functions. This allows for the construction of a message push process based on the directed acyclic graph nodes. This allows for message push to be implemented based on the constructed message push process, decoupling the message push service from the business system. This makes the message push service more flexible and scalable, avoids the frequent rollout of the business system caused by frequent updates to the message push service, and makes the business system more stable, thereby improving the performance of the business system.

[0075] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0076] Figure 2 A flow chart of a message push method provided in an embodiment of the present application is shown as follows: Figure 2 As shown, the method includes:

[0077] S201 : In response to a drag operation on at least one displayed directed acyclic graph node, determine a message push process corresponding to at least one message push service.

[0078] Before pushing a message according to the message push method provided in the embodiment of the present application, you can first determine the relevant directed acyclic graph nodes based on the message push business requirements and combine them with custom functions, and save them in the directed acyclic graph node library.

[0079] Afterwards, a user interface (UI) can be displayed, in which a directed acyclic graph (DAG) node library is loaded and multiple DAG nodes (i.e., DAG nodes) are displayed. At this point, a drag operation can be performed on at least one of the displayed DAG nodes in the node operation area of ​​the UI. In response to the drag operation, the message push process corresponding to the message push service is determined.

[0080] For example, see Figure 3 , Figure 3 A schematic diagram of a scenario for determining a message push process provided in an embodiment of the present application is shown as follows: Figure 3 As shown, multiple directed acyclic graph nodes can be displayed in the UI interface, for example, the start node, the end node, node 1, node 2, node 3, ..., node n, etc. At this time, you can perform a drag operation on at least one node in the directed acyclic graph node library, so as to generate a corresponding message push process in the node operation area, such as Figure 3 As shown, the message push process can be executed in sequence: start, node 1, node 3, node 2, and end.

[0081] Optionally, an edit button can be displayed in the UI interface, and through the edit button, the message push process determined by the node operation area can be saved, undo, zoomed in, etc. At the same time, the custom function corresponding to the node can be viewed through the view code button, so that the node can be flexibly modified and updated. It should be noted here that this application does not limit the edit button displayed in the UI interface, and it is based on meeting actual needs.

[0082] In an example, according to the above processing procedure, one or more message push processes may be determined. In this case, the number of message push processes corresponds to the number of message push services.

[0083] In one example, when there are multiple message push services, in order to achieve clearer management of the message push process, at least one process management dimension can be pre-set, and multiple message push processes / message push services can be managed based on at least one process management dimension.

[0084] For example, multiple message push processes (including directed acyclic graph nodes and message push process instances) can be categorized and managed based on the message recipient's lifecycle and / or business category. In this case, the message push process can be managed based on the lifecycle of a single message recipient or a single business category. Alternatively, the message recipient's lifecycle and business category can be set as a multi-level management dimension with a nested relationship. In this case, not only can diversified management of multiple message push processes be achieved, but message push processes under different business categories or with different lifecycles can also be isolated from each other, preventing them from interfering with each other.

[0085] In a possible implementation, after determining the message push processes corresponding to the message push services, the message push instances corresponding to the respective message push processes may be deployed in a distributed architecture, thereby ensuring high efficiency and effectiveness of the execution of the message push services.

[0086] In specific implementations, each in-memory message push instance in the distributed architecture uses the Zookeeper protocol to distinguish between master and slave nodes. At this point, only one message push instance on a node in the distributed architecture can obtain lock data and, therefore, obtain execution rights to execute the message push process. In the event of a master node failure, a hot swap coordinator can reselect the master node and, using the breakpoint-resume method, resume the message push process from the failed node.

[0087] In one example, a corresponding thread pool may be allocated to each message process instance, so that multiple subordinate nodes included in a directed acyclic graph node in the message push process can be executed in parallel according to multiple threads in the thread pool, thereby improving execution efficiency.

[0088] The message push process can be used to execute the corresponding message push service to send the message to the message recipient. For details, please refer to the process described below.

[0089] S202: After detecting a triggering operation for a message push event, determining a target push service corresponding to the triggered message push event.

[0090] In an example, a message push event may be: a class reminder event, a course reservation event, a course purchase event, a course recommendation event, an account binding event, a continuous reservation event, etc. The specific content of the message push event is not limited here, and is based on meeting actual needs.

[0091] In one example, message push events may be divided into multiple event types, and each event type may include multiple message push events. In this case, different event types may include the same message push event or different message push events.

[0092] In one example, event types can include single push events, real-time push events, scheduled push events, and complex events. Complex events can be used to handle message push events that are triggered multiple times, thereby avoiding errors. For example, if two course reservation events are detected within 5 minutes, a complex event can be used to detect these two events within 5 minutes to avoid errors.

[0093] In one example, the same message push event included in different event types can correspond to different triggering operations. In this case, different triggering operations can correspond to different message content. For example, for a course recommendation event under a single push event, after detecting that a user has browsed a course, a course recommendation message corresponding to the browsed course can be sent to the message recipient based on the triggered course recommendation event. For an account binding event under a real-time push event, after detecting that a user has purchased a course, a course recommendation message related to the purchased course can be sent to the message recipient based on the triggered course recommendation event.

[0094] S203: Send a message to the message recipient corresponding to the triggering operation according to the message push process corresponding to the target push service.

[0095] The message push method provided in the embodiment of the present application can determine the message push process corresponding to at least one message push service in response to the drag operation of at least one displayed directed acyclic graph node, thereby realizing the decoupling between the message push service and the business system, making the processing of the message push service more flexible and more extensible, avoiding the problem of frequent online business systems caused by frequent updates of the message push service, making the business system more stable, and thus improving the performance of the business system. At this time, after detecting the triggering operation of the message push event, the target push service corresponding to the triggered message push event can be determined, and then, according to the message push process corresponding to the target push service, a message is sent to the message recipient corresponding to the triggering operation. This implementation method does not require the business system to perceive the message push event, and realizes further decoupling of the business system and the message push service, thereby further ensuring the stability of the business system and improving the performance of the business system.

[0096] Figure 4 A flow chart of another message push method provided in an embodiment of the present application is shown as follows: Figure 4 As shown, this embodiment Figure 2 Based on the embodiment, the message push method is described in detail. Specifically, Figure 1 The directed acyclic graph nodes mentioned in the embodiment may be conditional judgment nodes or data acquisition nodes. Based on this, the method includes:

[0097] S401: In response to a drag operation on a displayed condition judgment node and / or a data acquisition node, at least one push process node is obtained.

[0098] In one example, the conditional judgment node is used to determine the message sending requirements. For example, the message sending requirements determined by the conditional judgment node may be: whether it does not include sensitive words, whether it is within a controllable frequency, whether it is the common language of the message recipient, whether the sending frequency requirements are met, etc.

[0099] In one example, the data acquisition node is used to acquire data related to message push. For example, the data acquisition node can be used to acquire the address identifier of the user / message recipient, the message content corresponding to the message to be sent, etc.

[0100] In one example, while obtaining the message content, the user screen corresponding to the message recipient can also be obtained, so as to adjust the message content to better match the style of the message recipient, thereby improving the user experience.

[0101] In one possible implementation, when the displayed conditional judgment node and / or the data acquisition node do not meet the message push business requirements, a new directed acyclic graph node that meets the message push business requirements can be created by triggering the displayed new directed acyclic graph node, thereby helping to establish a more accurate and complete message push process.

[0102] S402: In response to a connection operation on at least one push process node, determine a message push process corresponding to each message push service.

[0103] In one example, after connecting each push process node, a message push process is obtained, and then the execution order of each push process node included in the message push process can be determined according to the topological sorting, thereby completing the execution of the message push process.

[0104] This implementation allows for flexible design of message processing flows through conditional judgment nodes and / or data acquisition nodes to meet message push requirements in a variety of scenarios. Furthermore, the conditional judgment node can be used to determine whether a triggered message push event meets the message push conditions, and the data acquisition node can be used to retrieve the message content that matches the triggering operation, thereby ensuring the accuracy and rationality of the data push process and improving the accuracy of message push.

[0105] S403: After detecting the triggering operation of the message push event, determine the target push service corresponding to the triggered message push event.

[0106] In one example, this step can refer to the content described in S202 above, and will not be described in detail here.

[0107] In one example, when the message push process corresponding to the target push service includes a condition judgment node and a data acquisition node, then, according to the message push process corresponding to the target push service, a message is sent to the message recipient corresponding to the trigger operation. For details, please refer to the contents described in S404 to S405 below.

[0108] S404: When the condition judgment node determines that the trigger operation meets the message sending requirement, the data to be sent that matches the trigger operation is obtained through the data acquisition node.

[0109] In one example, in addition to the requirements that the message push logic needs to meet, the message sending requirements can also be used for exception handling. For example, the message sending requirements can also include the sending frequency requirements in at least one dimension. At this time, the maximum number of repeated message pushes in a certain dimension within a period of time can be controlled based on the sending frequency requirements in at least one dimension, thereby avoiding the problem of repeatedly sending the same message to the same message recipient, thereby affecting the user experience.

[0110] At this time, the implementation method corresponding to determining that the trigger operation meets the message sending requirements according to the condition judgment node can be: determining that the trigger operation meets the sending frequency requirements under each dimension according to the condition judgment node, then determining that the trigger operation meets the message sending requirements.

[0111] In one example, the at least one dimension can be understood as at least one pre-set time dimension. For example, the at least one dimension can include at least one of the following: a daily dimension, a weekly dimension, a monthly dimension, a quarterly dimension, an annual dimension, etc. In this case, assuming that the at least one dimension includes a daily dimension and a monthly dimension, the sending frequency requirement for each dimension can be: a maximum of 3 times a day, a maximum of 20 times a month, etc.

[0112] Optionally, after the condition judgment node determines that the trigger operation meets the message sending requirements, before the data acquisition node obtains the data to be sent that matches the trigger operation, it is possible to first determine whether the data acquisition frequency corresponding to the data acquisition node meets the preset frequency requirements, and when it is determined that the data acquisition frequency corresponding to the data acquisition node meets the preset frequency requirements, the data to be sent that matches the trigger operation is obtained according to the data acquisition node.

[0113] In one example, a corresponding preset frequency requirement can be set for each data acquisition node. Different data acquisition nodes can have the same preset frequency requirement, or different preset frequency requirements can be set for different data acquisition nodes. The preset frequency requirement corresponding to each data acquisition node is not limited, and is based on ensuring the security of the data acquisition location corresponding to the data acquisition node.

[0114] At this time, the security of the downstream system can be protected by setting a preset frequency requirement for the data acquisition node, avoiding the problem of the downstream data storage system crashing due to frequent access.

[0115] S405: Send the data to be sent to the message recipient corresponding to the triggering operation.

[0116] In the above implementation, common exception handling and underlying logic can be covered through conditional judgment nodes and data acquisition nodes, thereby providing a more complete defense measure, reducing the occurrence of abnormal situations, and thus helping to improve the stability of the message push method and enhance the performance of the message push method.

[0117] In one possible implementation, after sending the data / message to a message recipient, feedback from the recipient regarding the data / message can be received, such as clickthrough data, exposure data, etc., thereby forming a closed data loop. At this point, statistics can be compiled on the message push data, message trigger data, message exposure data, and message click data, and corresponding message push reports can be generated for review.

[0118] For further information, see Figure 5 , Figure 5 A flowchart of a triggering operation for detecting a message push event provided in an embodiment of the present application is shown as follows: Figure 5 As shown, this embodiment Figure 2 and Figure 4 Based on the embodiment, the process of detecting the triggering operation of the message push event is described in detail, specifically including the steps described in S501 or S502:

[0119] S501: When a data change of first event data is monitored and it is determined that the first event data meets the requirements of a message push event, determine that a triggering operation for a message push event is detected.

[0120] In one example, the first event data may be streaming data. In this case, CDC (Change Data Capture) can be used to monitor changes in the business system and identify the monitored streaming data with data changes as the first event data. Subsequently, it can be determined whether the first event data meets the requirements for a message push event.

[0121] In one embodiment, a corresponding expression can be set by a rule engine, thereby determining whether the first event data meets the message push event requirements based on the expression. There is no limitation on setting the corresponding expression by the rule engine, and the actual needs are met.

[0122] In another embodiment, whether the first event data meets the message push event requirements can be determined based on a field identifier stored corresponding to the first event data. For example, if the field identifier corresponding to the first event data is a "message push" identifier (or a "send" identifier, etc.), it can be determined that the first event data meets the message push event requirements.

[0123] In a possible implementation, after monitoring the data change of the first event data, the timeliness verification is performed on the first event data, and after the verification passes, it is determined whether the first event data meets the message push event requirements.

[0124] In one example, the timeliness of the first event data can be verified by using a timeliness message elimination mechanism. In this case, the timestamp feature carried by the first event data can be compared with the current time of the system to determine whether the first event data passes the verification.

[0125] In one example, if the first event data fails verification, the message push can be abandoned, thereby avoiding the problem of sending expired messages to the message recipient when streaming data accumulates and messages cannot be sent in time, thereby affecting the user experience.

[0126] S502: After receiving the second event data, determine whether a triggering operation for a message push event is detected.

[0127] In one example, the second event data may indicate timed data. In this case, the second event data may be received by querying a database at a scheduled time, or may be received based on an uploaded file. The source of the received second event data is not limited and is determined based on actual needs.

[0128] This implementation method can realize batch calling of the message push process by periodically receiving the second event data, which not only broadens the application scenarios of the message push method, but also avoids the blocking problem of message push during message peak periods, further improving the performance of the message push method.

[0129] See also Figure 6 , Figure 6 A schematic diagram of the architecture of a message push system corresponding to a message push method provided in an embodiment of the present application is shown as follows: Figure 6 As shown, the message push system mainly includes three parts: data source module, message push processing module, and message gateway module.

[0130] Among them, the data source module is used to monitor the data changes of the first event data, and when it is determined that the first event data meets the message push requirements, it determines that a triggering operation for the message push event is detected, and sends the triggered message push event to the message push processing module.

[0131] The data source module is further configured to receive the second data, and after receiving the second event data, determine that a triggering operation on a message push event is detected, and send the triggered message push event to the message push processing module.

[0132] The message push processing module is used to determine the target push service corresponding to the triggered message push event, and send the message to the message gateway according to the message push process corresponding to the target push service, thereby sending the message to the message recipient corresponding to the triggering operation.

[0133] Among them, the message push event can be Figure 6 Any of the single push event, real-time push event, scheduled push event, complex event, etc.

[0134] At this time, the message push processing module can support: user groups, DAG arrangement, custom functions, real-time user portraits, log aggregation, content management and other functions, so that the message push processing module can push messages according to any of the above-mentioned method embodiments, which will not be described in detail here. Among them, the user group is used to indicate the stored user-related data, that is, the corresponding message recipient; the DAG arrangement is used to indicate the message push process based on the above-mentioned UI section; the custom function is used to determine the directed acyclic graph node; the real-time user portrait is associated with the conditional judgment node to determine whether the user meets the message push requirements; the log aggregation can receive feedback data from the message recipient, thereby forming a data closed loop; content management is used to determine the message content.

[0135] Optionally, the message push processing module can support not only the functions listed above but also reporting functions to compile and display closed-loop data. Furthermore, it can also support simulated push functions to test the message push system. The functions supported by the message push processing module are not limited here and should be determined based on actual needs.

[0136] The message gateway module is used to send messages to the corresponding message receiver. Figure 6 As shown, the message receiving party may receive messages in a manner including but not limited to: SMS, email, official account, application, etc.

[0137] See also Figure 7 , Figure 7 A schematic diagram of a message push device provided in an embodiment of the present application is shown in FIG. Figure 7 As shown, the message push device 70 provided in this embodiment includes:

[0138] The determining unit 701 is configured to determine a message push process corresponding to at least one message push service in response to a drag operation on at least one displayed directed acyclic graph node.

[0139] The detection unit 702 is configured to, after detecting a triggering operation on a message push event, determine a target push service corresponding to the triggered message push event.

[0140] The push unit 703 is configured to send a message to a message recipient corresponding to the triggering operation according to a message push process corresponding to the target push service.

[0141] Optionally, the directed acyclic graph node is a conditional judgment node or a data acquisition node; in this case, the determination unit 701 is used to:

[0142] In response to a drag operation on a displayed condition judgment node and / or a data acquisition node, at least one push process node is obtained;

[0143] In response to a connection operation on at least one push process node, a message push process corresponding to each message push service is determined.

[0144] Optionally, the message push process includes a condition judgment node and a data acquisition node; in this case, the push unit 703 is used to:

[0145] When the condition judgment node determines that the trigger operation meets the message sending requirements, the data to be sent that matches the trigger operation is obtained through the data acquisition node;

[0146] Send the data to be sent to the message recipient corresponding to the trigger operation.

[0147] Optionally, the pushing unit 703 is further configured to:

[0148] When the data acquisition frequency corresponding to the data acquisition node is determined and meets the preset frequency requirement, the data to be sent that matches the trigger operation is acquired according to the data acquisition node.

[0149] Optionally, the message sending requirement includes a sending frequency requirement in at least one dimension; in this case, the push unit 703 is configured to:

[0150] It is determined according to the condition judgment node that the trigger operation meets the sending frequency requirement under each dimension, and then it is determined that the trigger operation meets the message sending requirement.

[0151] Optionally, the detection unit 702 is configured to:

[0152] Upon monitoring that a data change occurs in the first event data and determining that the first event data meets the requirements of the message push event, determining that a triggering operation for the message push event is detected; or

[0153] After receiving the second event data, it is determined that a triggering operation for a message push event is detected.

[0154] Optionally, the device is also used to:

[0155] After monitoring the data change of the first event data, the timeliness verification is performed on the first event data, and if the verification passes, it is determined whether the first event data meets the message push event requirements.

[0156] The message push device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effects are similar, and are not described in detail in this embodiment.

[0157] Figure 8 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present application. Figure 8 As shown, the computer device 80 provided in this embodiment includes: at least one processor 801 and a memory 802. Optionally, the computer device 80 also includes a communication component 803. The processor 801, the memory 802 and the communication component 803 are connected via a bus 804.

[0158] During the specific implementation process, at least one processor 801 executes the computer-executable instructions stored in the memory 802, so that the at least one processor 801 performs the above method.

[0159] The specific implementation process of the processor 801 can be found in the above method embodiment. Its implementation principle and technical effects are similar and will not be repeated here in this embodiment.

[0160] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASICs), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the present invention may be directly executed by a hardware processor or by a combination of hardware and software modules within the processor.

[0161] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage.

[0162] A bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be categorized as address buses, data buses, and control buses. For ease of illustration, the buses in the drawings of this application are not limited to just one bus or just one type of bus.

[0163] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.

[0164] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.

[0165] The readable storage medium may be implemented by any type of volatile or non-volatile memory device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0166] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be an integral part of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.

[0167] The division of units is merely a logical functional division; actual implementations may employ alternative divisions, such as combining or integrating multiple units or components into another system, or omitting or disabling certain features. Furthermore, any direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units, either through an interface, electrical, mechanical, or other means.

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

[0169] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0170] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the various embodiments of the method of the present invention. The aforementioned storage medium includes various media that can store program code, such as USB flash drives, mobile hard drives, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks.

[0171] Those skilled in the art will appreciate that all or part of the steps in the above-described method embodiments can be implemented using hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0172] Finally, it should be noted that those skilled in the art will readily identify other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art not disclosed herein. The present invention is not limited to the precise structure described above and illustrated in the accompanying drawings, and various modifications and variations may be made without departing from the scope thereof. The scope of the present invention is limited solely by the appended claims.

Claims

1. A message push method, characterized in that: include: In response to a drag operation on at least one displayed directed acyclic graph node, determining a message push process corresponding to at least one message push service; After detecting a triggering operation on a message push event, determining a target push service corresponding to the triggered message push event; According to the message push process corresponding to the target push service, a message is sent to the message recipient corresponding to the triggering operation.

2. The method according to claim 1, characterized in that The directed acyclic graph node is a condition judgment node or a data acquisition node; In response to a drag operation on at least one displayed directed acyclic graph node, determining a message push process corresponding to at least one message push service, including: In response to a dragging operation on the displayed condition judgment node and / or the data acquisition node, at least one push process node is obtained; In response to the connection operation on the at least one push process node, a message push process corresponding to each of the message push services is determined.

3. The method according to claim 2, characterized in that The message push process includes the condition judgment node and the data acquisition node; Sending a message to a message recipient corresponding to the triggering operation according to a message push process corresponding to the target push service includes: When the condition judgment node determines that the trigger operation meets the message sending requirement, the data acquisition node acquires the to-be-sent data that matches the trigger operation; Send the data to be sent to the message recipient corresponding to the triggering operation.

4. The method according to claim 3, characterized in that The method further comprises: When the data acquisition frequency corresponding to the data acquisition node is determined and meets the preset frequency requirement, the data to be sent that matches the trigger operation is acquired according to the data acquisition node.

5. The method according to claim 3, characterized in that The message sending requirement includes a sending frequency requirement in at least one dimension; Determining, according to the condition judgment node, that the trigger operation meets the message sending requirement includes: If it is determined according to the condition judgment node that the trigger operation meets the sending frequency requirement under each dimension, then it is determined that the trigger operation meets the message sending requirement.

6. The method according to any one of claims 1 to 5, characterized in that Detects triggering actions for message push events, including: Upon monitoring that a data change occurs in the first event data and determining that the first event data meets the requirements of the message push event, determining that a triggering operation for the message push event is detected; or After receiving the second event data, it is determined that a triggering operation on the message push event is detected.

7. The method according to claim 6, characterized in that The method further comprises: After monitoring the data change of the first event data, the timeliness verification is performed on the first event data, and if the verification passes, it is determined whether the first event data meets the message push event requirements.

8. A message push device, characterized in that: include: a determining unit, configured to determine, in response to a drag operation on at least one displayed directed acyclic graph node, a message push process corresponding to at least one message push service; A detection unit, configured to, after detecting a triggering operation on a message push event, determine a target push service corresponding to the triggered message push event; The push unit is used to send a message to the message recipient corresponding to the triggering operation according to the message push process corresponding to the target push service.

9. A computer device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 7 when executed by a processor.

Citation Information

Patent Citations

  • Event-driven multi-process coprocessing system

    CN108563425A

  • Message pushing method and device, computer equipment and storage medium

    CN111614548A

  • Task scheduling method and device, server and storage medium

    CN112214289A

  • Business process processing method and device, computer equipment, storage medium and program product

    CN118691064A

  • Event-based electronic communications management

    US20190199674A1