Message push management method, device, medium and equipment
By deploying the nodes of the message reaching tasks in the flink distributed big data computing engine, the problems of database performance bottlenecks and insufficient scalability in the existing technology are solved, and efficient, accurate and scalable message push management is achieved.
Patent Information
- Application Number
- CN202211294585.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-21
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2042-10-21
AI Technical Summary
When the existing technology pushes messages in the big data marketing system, the database has obvious performance bottlenecks under high concurrency. The deployment of flink and databases on different nodes leads to the problem of wooden barrel shortcoming, and the database storage upper limit and scalability are insufficient, so it is unable to effectively support large-scale message push and multi-dimensional reach restrictions.
The nodes that store message reach tasks are deployed in the flink distributed big data computing engine to reduce dependence on the database, and use distributed storage to store message reach tasks. The data structure is unified through the protobuf serialization protocol, supporting horizontal scaling.
It improves the timeliness of message reach judgment, enhances the performance, accuracy and scalability of the system, supports large-scale message push and multi-dimensional reach restrictions, and does not require additional development volume to expand new dimensions.
Smart Images

Figure CN115589432B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of electronic communication technology, in particular to the field of data update technology, and more particularly to a message push management method, device, medium and equipment. Background Art
[0002] In the field of big data marketing systems, a set of rules are typically used to select a certain number of people, and then messages are sent to this group. These methods can include SMS, pop-up ads, WeChat, push notifications, or webhooks. However, as a big data marketing system, the number of users reached can reach tens of millions or even hundreds of millions at a time. Therefore, accurately and quickly sending large amounts of messages is a key technical skill in push systems.
[0003] Among them, the push system has an important link, which is the reach limit. For example, within 10 days, no more than N messages can be pushed to a user. Too many messages may cause harassment to the user. There are multiple dimensions of restrictions for a single user, such as the reach channel type level (SMS, push, WeChat, etc.), the reach channel level (Jinguang push, Chuanglan push, etc.), the reach channel account level (such as an Jiguang push account), the marketing canvas push strategy level, etc. The dimensions of restrictions will increase. At the same time, there are also combined type restrictions, such as the reach limit of multiple reach channels combined, or the reach limit of multiple trigger channel account levels combined.
[0004] Therefore, the performance, accuracy, and scalability of reach constraints are very important for a reach system.
[0005] Existing technologies typically store message delivery tasks in a database, and the computing layer uses the Flink distributed big data computing engine. Each time a message is sent to a single user, the database retrieves data within a fixed time range for the message delivery task, and then the Flink computing layer makes a judgment. This solution has the following problems:
[0006] 1. Databases such as MySQL and Oracle have significant performance bottlenecks in supporting high concurrency and cannot support high concurrency when performing aggregate calculations.
[0007] 2. Flink is a big data computing engine deployed on a different node from the database. Every time a limit is reached, a MySQL call is made, which clearly presents a bottleneck.
[0008] 3. Databases generally have a storage limit. However, in big data scenarios, it is necessary to record message reach tasks for each user in different dimensions. However, databases generally lack distributed scalability, resulting in significant storage and performance bottlenecks.
[0009] 4. The number of dimensions with access restrictions will gradually increase. Existing technologies require additional development for the newly added dimensions, resulting in scalability issues. Summary of the Invention
[0010] The embodiments of the present application provide a message push management method, apparatus, medium, and device. By utilizing the message push management method provided by the embodiments of the present application, by deploying the node storing the message reach task in the Flink distributed big data computing engine, there is no need to perform a MySQL call operation from the database every time the reach limit is judged, which affects the timeliness of the message reach judgment.
[0011] On the one hand, an embodiment of the present application provides a message push management method for the Flink distributed big data computing engine, including:
[0012] Obtaining a batch of messages to be sent, analyzing and judging the batch of messages to be sent, and obtaining an analysis and judgment result;
[0013] Determining the sending authority of the batch of messages to be sent according to the analysis and judgment results;
[0014] Determine target messages to be sent that have sending permissions, and generate message reaching tasks for each target message to be sent based on attribute information contained in the target message to be sent;
[0015] The message reaching tasks of each target to be sent are stored in the distributed storage of the Flink distributed big data computing engine;
[0016] According to the description of the message reaching task, the flink distributed big data computing engine is guided to push the target to-be-sent message in the distributed storage to the corresponding client.
[0017] In the message push management method described in the embodiment of the present application, the attribute information includes the reach channel type level, reach channel level, trigger channel account level, and push strategy level.
[0018] In the message push management method described in the embodiment of the present application, generating a message reaching task for each target message to be sent based on the attribute information contained in the target message to be sent includes:
[0019] The reaching channel type, reaching channel level, triggering channel account level, and push strategy corresponding to each restriction dimension of the reaching channel type level, reaching channel level, triggering channel account level, and push strategy level;
[0020] Generate message delivery tasks corresponding to the messages to be sent to each target, including the delivery channel type, delivery channel, triggering channel account, and push strategy.
[0021] In the message push management method described in the embodiment of the present application, after pushing the target message to be sent to the corresponding push address according to the determined message sending method, the method further includes:
[0022] Obtain the message sending status and perform corresponding operations according to the message sending status;
[0023] If the message sending status is successfully sent, a sending success event is generated;
[0024] If the message sending status is sending failure, a sending failure event is generated, and the message delivery task corresponding to the sending failure is deleted from the distributed storage.
[0025] In the message push management method described in the embodiment of the present application, the method further includes:
[0026] The message reaching task is stored in external HDFS distributed storage.
[0027] In the message push management method described in the embodiment of the present application, storing the message reaching tasks of each target message to be sent to the distributed storage of the flink distributed big data computing engine includes:
[0028] The message-reaching tasks are serialized using the forward-compatible serialization protocol of protobuf to unify the data structure of the message-reaching tasks;
[0029] The serialized message reaching task is stored in the distributed storage.
[0030] Accordingly, another embodiment of the present application further provides a message push management system for the Flink distributed big data computing engine, the message push management system comprising:
[0031] Obtaining a batch of messages to be sent, analyzing and judging the batch of messages to be sent, and obtaining an analysis and judgment result;
[0032] Determining the sending authority of the batch of messages to be sent according to the analysis and judgment results;
[0033] Determine target messages to be sent that have sending permissions, and generate message reaching tasks for each target message to be sent based on attribute information contained in the target message to be sent;
[0034] The message reaching tasks of each target to be sent are stored in the distributed storage of the Flink distributed big data computing engine;
[0035] According to the description of the message reaching task, the flink distributed big data computing engine is guided to push the target to-be-sent message in the distributed storage to the corresponding client.
[0036] Correspondingly, another aspect of the embodiment of the present application further provides a storage medium, which stores a plurality of instructions, and the instructions are suitable for loading by a processor to execute the message push management method as described above.
[0037] Correspondingly, on the other hand, an embodiment of the present application further provides a terminal device, including a processor and a memory, wherein the memory stores multiple instructions, and the processor loads the instructions to execute the message push management method as described above.
[0038] The embodiment of the present application provides a message push management method, device, medium and equipment, which is used for the flink distributed big data computing engine, including: obtaining a batch of messages to be sent, analyzing and judging the batch of messages to be sent, and obtaining an analysis and judgment result; determining the sending authority of the batch of messages to be sent based on the analysis and judgment result; determining the target messages to be sent with sending authority, and generating a message reaching task for each target message to be sent based on the attribute information contained in the target message to be sent; storing the message reaching task for each target message to be sent in the distributed storage of the flink distributed big data computing engine; and guiding the flink distributed big data computing engine to push the target message to be sent in the distributed storage to the corresponding client based on the description content of the message reaching task. By utilizing the message push management method provided by the embodiment of the present application, by deploying the node storing the message reaching task in the flink distributed big data computing engine, there is no need to perform a mysql call operation from the database every time the reaching limit is judged, which affects the timeliness of the message reaching judgment. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] To more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present application. Those skilled in the art can also derive other drawings based on these drawings without inventive effort.
[0040] Figure 1 A flowchart of the message push management method provided in an embodiment of the present application.
[0041] Figure 2 A schematic diagram of the structure of the message push management system provided in an embodiment of the present application.
[0042] Figure 3Another structural diagram of the message push management system provided in an embodiment of the present application.
[0043] Figure 4 A schematic diagram of the structure of the terminal device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0044] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the embodiments described are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present application.
[0045] It should be noted that the following is a brief introduction to the background of this plan:
[0046] This solution primarily addresses the technical issue of the Flink distributed big data computing engine and database being deployed on different nodes. This results in each message reach limit determination requiring a MySQL call from the database, impacting the timeliness of message reach determination. Understandably, in big data marketing systems, a set of rules are typically used to select a certain number of people, and then reach this group through messages. Examples include SMS, pop-up ads, WeChat, push notifications, or webhooks. However, in a big data marketing system, the number of users reached can reach tens or even hundreds of millions at a time. Therefore, accurately and quickly delivering large amounts of messages is a critical technical requirement for push systems.
[0047] Among them, the push system has an important link, which is the reach limit. For example, within 10 days, no more than N messages can be pushed to a user. Too many messages may cause harassment to the user. There are multiple dimensions of restrictions for a single user, such as the reach channel type level (SMS, push, WeChat, etc.), the reach channel level (Jinguang push, Chuanglan push, etc.), the reach channel account level (such as an Jiguang push account), the marketing canvas push strategy level, etc. The dimensions of restrictions will increase. At the same time, there are also combined type restrictions, such as the reach limit of multiple reach channels combined, or the reach limit of multiple trigger channel account levels combined.
[0048] Therefore, the performance, accuracy, and scalability of reach constraints are very important for a reach system.
[0049] Existing technologies typically store message delivery tasks in a database, and the computing layer uses the Flink distributed big data computing engine. Each time a message is sent to a single user, the database retrieves data within a fixed time range for the message delivery task, and then the Flink computing layer makes a judgment. This solution has the following problems:
[0050] 1. Databases such as MySQL and Oracle have significant performance bottlenecks in supporting high concurrency and cannot support high concurrency when performing aggregate calculations.
[0051] 2. Flink is a big data computing engine deployed on a different node from the database. Every time a limit is reached, a MySQL call is made, which clearly presents a bottleneck.
[0052] 3. Databases generally have a storage limit. However, in big data scenarios, it is necessary to record message reach tasks for each user in different dimensions. However, databases generally lack distributed scalability, resulting in significant storage and performance bottlenecks.
[0053] 4. The number of dimensions with access restrictions will gradually increase. Existing technologies require additional development for the newly added dimensions, resulting in scalability issues.
[0054] To solve the above technical problems, the present invention provides a message push management method. By using the message push management method provided by the present invention, the nodes storing message reach tasks are deployed in the Flink distributed big data computing engine, eliminating the need to perform a MySQL call operation from the database every time a reach limit is determined, which would affect the timeliness of message reach determination.
[0055] It's important to note that the Flink distributed big data computing engine is a distributed processing engine for both real-time streaming and batch data. Real-time streaming computing refers to processing data streams and is a form of real-time computing. Batch computing involves collecting and storing data in a database and then processing it in batches.
[0056] See also Figure 1 , Figure 1A flow chart of a message push management method provided in an embodiment of the present application. The message push management method is applied to a terminal device. Optionally, the terminal device is a terminal or a server. Optionally, the server is an independent physical server, or a server cluster or distributed system composed 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, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Optionally, the terminal is a smart phone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, smart voice interaction device, smart home appliance and car terminal, etc., but is not limited to this.
[0057] In one embodiment, the method is used in the Flink distributed big data computing engine and may include the following steps:
[0058] Step 101: Obtain a batch of messages to be sent, analyze and judge the batch of messages to be sent, and obtain an analysis and judgment result.
[0059] Among them, when the terminal device running the message push management method provided by this solution obtains a batch of messages to be sent from the cloud in a scheduled or real-time manner, since different types of messages to be sent are pre-configured with their sending methods, for example, no more than N messages are pushed to a user within a specified time, too many may cause harassment to the user. At the same time, there are multiple restriction dimensions for a single user, such as the reach channel type level (SMS, push, WeChat, etc.), reach channel level (Aurora push, Chuanglan push, etc.), reach channel account level (such as an Aurora push account), a marketing canvas push strategy level, etc. Therefore, in order to accurately push the messages to be sent to the corresponding users in a predetermined manner, it is first necessary to analyze and judge the batch of messages to be sent, and perform corresponding operations based on the analysis and judgment results.
[0060] Step 102: Determine the sending authority of the batch of messages to be sent based on the analysis and judgment result.
[0061] Among them, if the analysis and judgment result is that the message to be sent can only be sent once a day, and the message has been sent to the same user on the same day, it is determined that the message does not have the sending permission and should be ignored to avoid harassing the user.
[0062] Step 103: determine the target messages to be sent that have the sending permission, and generate a message reaching task for each target message to be sent according to the attribute information contained in the target messages to be sent.
[0063] Among them, the attribute information includes the reach channel type level, reach channel level, trigger channel account level, and push strategy level.
[0064] In this embodiment, according to the reaching channel type, reaching channel level, triggering channel account level, and push strategy level corresponding to each restriction dimension, a message reaching task is generated corresponding to each target message to be sent, and includes the reaching channel type, reaching channel, triggering channel account, and push strategy.
[0065] In real time, a message delivery task is "delivery channel type: SMS; delivery channel: Aurora push; triggering channel account: 11111111111000; push strategy: push once every 1 hour every day".
[0066] Step 104: Store the message arrival tasks of the messages to be sent to each target in the distributed storage of the Flink distributed big data computing engine.
[0067] In this embodiment, the message reaching tasks of the messages to be sent to each target are stored in the distributed storage of the Flink distributed big data computing engine. The original database storage is removed, and the distributed storage in the same cluster as the Flink distributed big data computing engine is used to save the message reaching tasks. Part of the calculation is moved to the computing layer to improve the judgment speed.
[0068] In some embodiments, the protobuf serialization protocol can be used in a forward-compatible manner to serialize the message reach tasks, unify the data structure of the message reach tasks, and store the serialized message reach tasks in distributed storage. When there are new reach dimensions, fields can be added in a compatible manner without affecting previous statistics and judgments, and basically no code adjustments are required, with strong scalability. When storing each user's message reach task, it is stored in sequential increments, so that when traversing, it is sufficient to accumulate from back to front. Part of the calculation is completed by the flink distributed big data computing engine, improving the overall computing performance.
[0069] It should be noted that the distributed storage used has horizontal expansion capabilities and is not limited by memory, CPU, etc. The storage capacity can be expanded infinitely by adding disks or increasing the number of machines.
[0070] In some embodiments, the message reaching task can also be stored in an external HDFS distributed storage. By persisting the data in the external HDFS distributed storage, it is ensured that the data will not be lost.
[0071] Step 105: According to the description of the message reaching task, instruct the flink distributed big data computing engine to push the target to-be-sent message in the distributed storage to the corresponding client.
[0072] The description guides the Flink distributed big data computing engine to push the target pending messages from distributed storage to the corresponding client. By deploying the nodes storing the message reach task within the Flink distributed big data computing engine, it eliminates the need to call MySQL from the database every time a limit is reached, which would affect the timeliness of message reach determination.
[0073] In some embodiments, the message sending status can also be obtained and corresponding operations can be performed according to the message sending status; if the message sending status is successful, a sending success event is generated; if the message sending status is failed, a sending failure event is generated, and the message delivery task corresponding to the sending failure is deleted from the distributed storage.
[0074] All of the above optional technical solutions can be combined in any way to form optional embodiments of the present application, and will not be described in detail here.
[0075] During specific implementation, the present application is not limited by the execution order of the various steps described. If no conflict occurs, some steps can be performed in other orders or simultaneously.
[0076] As can be seen from the above, the message push management method provided by the embodiment of the present application obtains a batch of messages to be sent, analyzes and judges the batch of messages to be sent, and obtains an analysis and judgment result; determines the sending authority of the batch of messages to be sent based on the analysis and judgment result; determines the target messages to be sent with sending authority, and generates a message reaching task for each target message to be sent based on the attribute information contained in the target message to be sent; stores the message reaching task for each target message to be sent in the distributed storage of the flink distributed big data computing engine; and guides the flink distributed big data computing engine to push the target message to be sent in the distributed storage to the corresponding client based on the description content of the message reaching task. By utilizing the message push management method provided by the embodiment of the present application, by deploying the node storing the message reaching task in the flink distributed big data computing engine, there is no need to perform a mysql call operation from the database every time the reaching limit is judged, which affects the timeliness of the message reaching judgment.
[0077] An embodiment of the present application also provides a message push management system, which can be integrated into a terminal device.
[0078] See also Figure 2 , Figure 2 Schematic diagram of the structure of the message push management system provided in an embodiment of the present application. The message push management system 30 may include:
[0079] An acquisition module 31 is used to acquire a batch of messages to be sent, analyze and judge the batch of messages to be sent, and obtain an analysis and judgment result;
[0080] A determination module 32, configured to determine the sending authority of the batch of messages to be sent based on the analysis and judgment result;
[0081] A generating module 33 is configured to determine target to-be-sent messages with sending permission, and generate a message reaching task for each target to-be-sent message according to attribute information contained in the target to-be-sent message;
[0082] The storage module 34 is used to store the message reaching tasks of each target message to be sent to the distributed storage of the Flink distributed big data computing engine;
[0083] The push module 35 is used to guide the flink distributed big data computing engine to push the target to-be-sent message in the distributed storage to the corresponding client according to the description content of the message reaching task.
[0084] In some embodiments, the attribute information includes the reach channel type level, reach channel level, trigger channel account level, and push strategy level.
[0085] In some embodiments, the generation module 33 is used to generate a message reaching task corresponding to each target message to be sent, and including the reaching channel type, reaching channel, triggering channel account and push strategy according to the reaching channel type level, reaching channel level, triggering channel account level and push strategy level corresponding to each restriction dimension.
[0086] In some embodiments, the system also includes an execution module for obtaining the message sending status and performing corresponding operations according to the message sending status; if the message sending status is successful, a successful sending event is generated; if the message sending status is failed sending, a failed sending event is generated, and the message reaching task corresponding to the failed sending is deleted from the distributed storage.
[0087] In some embodiments, the system further includes an external storage module for storing the message reaching task in an external HDFS distributed storage.
[0088] In some embodiments, the storage module 34 is used to serialize the message reaching task in a forward-compatible manner using the protobuf serialization protocol to unify the data structure of the message reaching task; and store the serialized message reaching task in the distributed storage.
[0089] During specific implementation, the above modules can be implemented as independent entities, or can be arbitrarily combined to be implemented as the same entity or several entities.
[0090] From the above, it can be seen that the message push management system 30 provided by the embodiment of the present application, wherein the acquisition module 31 is used to obtain batches of messages to be sent, analyze and judge the batches of messages to be sent, and obtain analysis and judgment results; the determination module 32 is used to determine the sending authority of the batches of messages to be sent based on the analysis and judgment results; the generation module 33 is used to determine the target messages to be sent with sending authority, and generate message reaching tasks for each target message to be sent based on the attribute information contained in the target message to be sent; the storage module 34 is used to store the message reaching tasks for each target message to be sent to the distributed storage of the flink distributed big data computing engine; the push module 35 is used to guide the flink distributed big data computing engine to push the target messages to be sent in the distributed storage to the corresponding client based on the description content of the message reaching task.
[0091] See also Figure 3 , Figure 3 This is another structural diagram of the message push management system provided in an embodiment of the present application. The message push management system 30 includes a memory 120, one or more processors 180, and one or more applications, wherein the one or more applications are stored in the memory 120 and configured to be executed by the processor 180; the processor 180 may include an acquisition module 31, a determination module 32, a generation module 33, a storage module 34, and a push module 35. For example, the structure and connection relationship of the above components can be as follows:
[0092] The memory 120 can be used to store applications and data. The applications stored in the memory 120 include executable code. The applications can be composed of various functional modules. The processor 180 executes various functional applications and data processing by running the applications stored in the memory 120. In addition, the memory 120 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 120 may also include a memory controller to provide the processor 180 with access to the memory 120.
[0093] Processor 180 is the control center of the device, connecting all components of the terminal using various interfaces and circuits. It executes or runs applications stored in memory 120 and accesses data stored in memory 120 to perform various device functions and process data, thereby providing overall monitoring of the device. Optionally, processor 180 may include one or more processing cores; preferably, processor 180 may integrate an application processor and a modem processor, with the application processor primarily processing the operating system, user interface, and application programs.
[0094] Specifically, in this embodiment, the processor 180 loads the executable code corresponding to one or more application processes into the memory 120 according to the following instructions, and the processor 180 runs the application stored in the memory 120 to implement various functions:
[0095] An acquisition instruction is used to acquire a batch of messages to be sent, analyze and judge the batch of messages to be sent, and obtain an analysis and judgment result;
[0096] A determination instruction, used to determine the sending authority of the batch of messages to be sent according to the analysis and judgment result;
[0097] Generate instructions for determining target messages to be sent that have sending permissions, and generate message reaching tasks for each target message to be sent based on attribute information contained in the target message to be sent;
[0098] Storage instructions, used to store the message arrival tasks of each target message to be sent to the distributed storage of the Flink distributed big data computing engine;
[0099] The push instruction is used to instruct the Flink distributed big data computing engine to push the target to-be-sent message in the distributed storage to the corresponding client according to the description content of the message-reaching task.
[0100] In some embodiments, the attribute information includes the reach channel type level, reach channel level, trigger channel account level, and push strategy level.
[0101] In some embodiments, the generation instruction is used to generate a message reaching task corresponding to each target message to be sent, and including the reaching channel type, reaching channel, triggering channel account and push strategy according to the reaching channel type level, reaching channel level, triggering channel account level and push strategy level corresponding to each restriction dimension.
[0102] In some embodiments, the program also includes execution instructions for obtaining the message sending status and performing corresponding operations based on the message sending status; if the message sending status is successful, a successful sending event is generated; if the message sending status is failed sending, a failed sending event is generated, and the message reaching task corresponding to the failed sending is deleted from the distributed storage.
[0103] In some embodiments, the program further includes external storage instructions for storing the message reaching task in an external HDFS distributed storage.
[0104] In some embodiments, the storage instruction is used to serialize the message reaching task in a forward-compatible manner using the protobuf serialization protocol to unify the data structure of the message reaching task; and store the serialized message reaching task in the distributed storage.
[0105] The present application also provides a terminal device, which may be a server, a smart phone, a computer, a tablet computer, or the like.
[0106] See also Figure 4 , Figure 4 The terminal device 1200 is a schematic diagram of a terminal device provided in an embodiment of the present application, which can be used to implement the message push management method provided in the above embodiment. The terminal device 1200 can be a smart phone or a tablet computer.
[0107] like Figure 4 As shown, the terminal device 1200 may include an RF (Radio Frequency) circuit 110, a memory 120 including one or more (only one is shown in the figure) computer-readable storage media, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160, a transmission module 170, a processor 180 including one or more (only one is shown in the figure) processing cores, and a power supply 190. Those skilled in the art will understand that Figure 4 The structure of the terminal device 1200 shown in the figure does not constitute a limitation on the terminal device 1200, and the terminal device 1200 may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0108] RF circuit 110 is used to receive and transmit electromagnetic waves, converting them into electrical signals, thereby enabling communication with a communications network or other devices. RF circuit 110 may include various existing circuit components for performing these functions, such as an antenna, a radio frequency transceiver, a digital signal processor, an encryption / decryption chip, a subscriber identity module (SIM) card, and memory. RF circuit 110 can communicate with various networks, such as the Internet, an intranet, or a wireless network, or with other devices via a wireless network.
[0109] The memory 120 can be used to store software programs and modules, such as the program instructions / modules corresponding to the message push management method in the above-mentioned embodiment. The processor 180 executes various functional applications and data processing by running the software programs and modules stored in the memory 120. It can automatically select a vibration reminder mode to update data based on the current scene of the terminal device. This can not only ensure that scenes such as meetings are not disturbed, but also ensure that users can be aware of incoming calls, thereby improving the intelligence of the terminal device. The memory 120 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 120 may further include a memory remotely located relative to the processor 180, and these remote memories can be connected to the terminal device 1200 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0110] The input unit 130 can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical, or trackball signal input related to user settings and function control. Specifically, the input unit 130 may include a touch-sensitive surface 131 and other input devices 132. The touch-sensitive surface 131, also known as a touch display or touchpad, can collect user touch operations on or near it (for example, operations performed by a user using a finger, stylus, or any other suitable object or accessory on or near the touch-sensitive surface 131) and drive corresponding connected devices according to a pre-set program. Optionally, the touch-sensitive surface 131 may include a touch detection device and a touch controller. The touch detection device detects the user's touch position and detects signals generated by the touch operation, transmitting the signals to the touch controller. The touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and then sends it to the processor 180. It can also receive and execute commands from the processor 180. In addition, the touch-sensitive surface 131 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch-sensitive surface 131, the input unit 130 can also include other input devices 132. Specifically, the other input devices 132 can include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, a joystick, and the like.
[0111] The display unit 140 can be used to display information input by the user or information provided to the user and various graphical user interfaces of the terminal device 1200. These graphical user interfaces can be composed of graphics, text, icons, videos and any combination thereof. The display unit 140 may include a display panel 141. Optionally, the display panel 141 may be configured in the form of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc. Further, the touch-sensitive surface 131 may cover the display panel 141. When the touch-sensitive surface 131 detects a touch operation on or near it, it is transmitted to the processor 180 to determine the type of touch event. The processor 180 then provides corresponding visual output on the display panel 141 according to the type of touch event. Although in Figure 4 In the embodiment, the touch-sensitive surface 131 and the display panel 141 are implemented as two independent components to implement input and output functions. However, in some embodiments, the touch-sensitive surface 131 and the display panel 141 can be integrated to implement input and output functions.
[0112] The terminal device 1200 may also include at least one sensor 150, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 141 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 141 and / or the backlight when the terminal device 1200 is moved to the ear. As a type of motion sensor, the gravity acceleration sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that can be configured in the terminal device 1200, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described here.
[0113] The audio circuit 160, speaker 161, and microphone 162 provide an audio interface between the user and the terminal device 1200. The audio circuit 160 can convert received audio data into electrical signals and transmit them to the speaker 161, which then converts them into sound signals for output. Meanwhile, the microphone 162 converts collected sound signals into electrical signals, which are then received by the audio circuit 160 and converted into audio data. The audio data is then processed by the processor 180 and transmitted via the RF circuit 110 to, for example, another terminal. Alternatively, the audio data can be output to the memory 120 for further processing. The audio circuit 160 may also include an earphone jack to allow communication between an external headset and the terminal device 1200.
[0114] The terminal device 1200 can help users send and receive emails, browse web pages and access streaming media through the transmission module 170 (such as a Wi-Fi module), which provides users with wireless broadband Internet access. Figure 4 The transmission module 170 is shown, but it is understandable that it is not an essential component of the terminal device 1200 and can be omitted as needed without changing the essence of the invention.
[0115] Processor 180 is the control center of terminal device 1200. It connects all components of the phone using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 120 and accessing data stored in memory 120, it executes various functions of terminal device 1200 and processes data, thereby providing overall monitoring of the phone. Optionally, processor 180 may include one or more processing cores. In some embodiments, processor 180 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 180.
[0116] The terminal device 1200 also includes a power supply 190 for supplying power to various components. In some embodiments, the power supply can be logically connected to the processor 180 via a power management system, thereby enabling the power management system to manage discharge and power consumption. The power supply 190 can also include any components such as one or more DC or AC power supplies, a recharging system, a power failure detection circuit, a power converter or inverter, and a power status indicator.
[0117] Although not shown, the terminal device 1200 may further include a camera (such as a front camera, a rear camera), a Bluetooth module, etc., which will not be described in detail here. Specifically, in this embodiment, the display unit 140 of the terminal device 1200 is a touch screen display, and the terminal device 1200 also includes a memory 120 and one or more programs, wherein one or more programs are stored in the memory 120 and are configured to be executed by one or more processors 180. The one or more programs include instructions for performing the following operations:
[0118] An acquisition instruction is used to acquire a batch of messages to be sent, analyze and judge the batch of messages to be sent, and obtain an analysis and judgment result;
[0119] A determination instruction, used to determine the sending authority of the batch of messages to be sent according to the analysis and judgment result;
[0120] Generate instructions for determining target messages to be sent that have sending permissions, and generate message reaching tasks for each target message to be sent based on attribute information contained in the target message to be sent;
[0121] Storage instructions, used to store the message arrival tasks of each target message to be sent to the distributed storage of the Flink distributed big data computing engine;
[0122] The push instruction is used to instruct the Flink distributed big data computing engine to push the target to-be-sent message in the distributed storage to the corresponding client according to the description content of the message-reaching task.
[0123] In some embodiments, the attribute information includes the reach channel type level, reach channel level, trigger channel account level, and push strategy level.
[0124] In some embodiments, the generation instruction is used to generate a message reaching task corresponding to each target message to be sent, and including the reaching channel type, reaching channel, triggering channel account and push strategy according to the reaching channel type level, reaching channel level, triggering channel account level and push strategy level corresponding to each restriction dimension.
[0125] In some embodiments, the program also includes execution instructions for obtaining the message sending status and performing corresponding operations based on the message sending status; if the message sending status is successful, a successful sending event is generated; if the message sending status is failed sending, a failed sending event is generated, and the message reaching task corresponding to the failed sending is deleted from the distributed storage.
[0126] In some embodiments, the program further includes external storage instructions for storing the message reaching task in an external HDFS distributed storage.
[0127] In some embodiments, the storage instruction is used to serialize the message reaching task in a forward-compatible manner using the protobuf serialization protocol to unify the data structure of the message reaching task; and store the serialized message reaching task in the distributed storage.
[0128] The present application also provides a terminal device, which may be a smartphone, computer, or other device.
[0129] As can be seen from the above, the embodiment of the present application provides a terminal device 1200, and the terminal device 1200 performs the following steps:
[0130] Obtaining a batch of messages to be sent, analyzing and judging the batch of messages to be sent, and obtaining an analysis and judgment result;
[0131] Determining the sending authority of the batch of messages to be sent according to the analysis and judgment results;
[0132] Determine target messages to be sent that have sending permissions, and generate message reaching tasks for each target message to be sent based on attribute information contained in the target message to be sent;
[0133] The message reaching tasks of each target to be sent are stored in the distributed storage of the Flink distributed big data computing engine;
[0134] According to the description of the message reaching task, the flink distributed big data computing engine is guided to push the target to-be-sent message in the distributed storage to the corresponding client.
[0135] An embodiment of the present application further provides a storage medium, wherein a computer program is stored in the storage medium. When the computer program is run on a computer, the computer executes the message push management method described in any one of the above embodiments.
[0136] It should be noted that, for the message push management method described in this application, ordinary testers in this field can understand that all or part of the process of implementing the message push management method described in the embodiment of this application can be completed by controlling the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, such as a memory of a terminal device, and executed by at least one processor in the terminal device. During the execution process, it may include the process of the embodiment of the message push management method. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), etc.
[0137] For the message push management system of the embodiment of the present application, its various functional modules can be integrated into a processing chip, or each module can exist physically separately, or two or more modules can be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium, such as a read-only memory, a disk or an optical disk.
[0138] The above is a detailed introduction to the message push management method, device, medium and equipment provided in the embodiments of the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. At the same time, for those skilled in the art, based on the ideas of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present application.
Claims
1. A message push management method for the flink distributed big data computing engine, characterized in that: include: Obtaining a batch of messages to be sent, analyzing and judging the batch of messages to be sent, and obtaining an analysis and judgment result; Determining the sending authority of the batch of messages to be sent according to the analysis and judgment result; Determine the target message to be sent with sending permission, and the corresponding reaching channel type, reaching channel, triggering channel account and push strategy according to the reaching channel type level, reaching channel level, triggering channel account level and push strategy level. Generate message delivery tasks corresponding to the messages to be sent to each target, including the delivery channel type, delivery channel, trigger channel account and push strategy; The message reaching tasks of the messages to be sent to each target are stored in the distributed storage of the flink distributed big data computing engine; According to the description of the message reaching task, the flink distributed big data computing engine is guided to push the target to-be-sent message in the distributed storage to the corresponding client.
2. The message push management method according to claim 1, characterized in that: The method further comprises: Obtain message sending status, and perform corresponding operations according to the message sending status; If the message sending status is successfully sent, a sending success event is generated; If the message sending status is sending failure, a sending failure event is generated, and the message reaching task corresponding to the sending failure is deleted from the distributed storage.
3. The message push management method according to claim 1, characterized in that: The method further comprises: The message reaching task is stored in external HDFS distributed storage.
4. The message push management method according to claim 1, characterized in that: The storing of the message reaching tasks of the messages to be sent to each target in the distributed storage of the flink distributed big data computing engine includes: The message reaching task is serialized and processed in a forward-compatible manner using the protobuf serialization protocol, so that the data structure of the message reaching task is unified; The serialized message reaching tasks are stored in the distributed storage.
5. A message push management system for the flink distributed big data computing engine, characterized in that: The message push management system includes: An acquisition module is used to acquire a batch of messages to be sent, analyze and judge the batch of messages to be sent, and obtain an analysis and judgment result; A determination module, used to determine the sending authority of the batch of messages to be sent according to the analysis and judgment result; A generation module is used to determine the target messages to be sent with sending permission, and generate message reaching tasks corresponding to each target message to be sent and including the reaching channel type, reaching channel level, triggering channel account level and push strategy according to the reaching channel type, reaching channel level, triggering channel account level and push strategy level corresponding to each restriction dimension; A storage module, used to store the message reaching tasks of each target message to be sent to the distributed storage of the flink distributed big data computing engine; The push module is used to guide the flink distributed big data computing engine to push the target to-be-sent message in the distributed storage to the corresponding client according to the description content of the message reaching task.
6. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the message push management method according to any one of claims 1 to 4.
7. A terminal device, characterized in that: It comprises a processor and a memory, wherein the memory stores a plurality of instructions, and the processor loads the instructions to execute the message push management method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Message push method and device
CN107872528A
Notification message pushing method and device, storage medium and electronic device
CN109862073A