A message pushing method and a server

CN117097693BActive Publication Date: 2026-09-22FUZHOU CHANGXIN INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211695149.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2026-09-22
Estimated Expiration
2042-12-28

AI Technical Summary

Technical Problem

[0003]对于在消息产生时即时推送的推送方案而言,消息推送分散,且可能由于推送时间原因,用户不便查看,被用户忽略或清理,点击率低,难以达到较好的提醒或推送效果,且容易给用户造成不良的体验

Benefits of technology

[0015]本发明的有益效果在于:本发明的一种消息推送方法与服务端,根据用户时间偏好、消息的重要性、时效性以及服务器的负载,自动化进行消息推送时间的动态调整,在提高用户关注度的同时,也更好避免集中推送所产生的弊端,具有更好的推送效果。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117097693B_ABST
    Figure CN117097693B_ABST
Patent Text Reader

Abstract

The application discloses a message pushing method and a server, wherein user time preference data is acquired according to user behavior information; for each generated to-be-pushed message, a time-sensitive index and an importance index associated with the message property of the to-be-pushed message are acquired according to the message property and pre-configured comparison information; a load index of the server is acquired according to a server load condition; a pushing time of the to-be-pushed message is calculated according to the time preference data, the time-sensitive index and the importance index, and message pushing is performed according to the pushing time; and dynamic adjustment of the message pushing time is automatically performed according to user time preference, message importance, time sensitivity and server load, so that the user attention is improved, the disadvantages caused by concentrated pushing are avoided, and better pushing effect is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of message push technology, and in particular to a message push method and server. Background Technology

[0002] Currently, mobile phone message push notifications are generally sent instantly when a message is generated or in time-segmented manner.

[0003] For push notification solutions that push messages instantly when they are generated, the messages are scattered, and due to the time of push, users may not be able to view them, and they may be ignored or cleared by users, resulting in low click-through rates, making it difficult to achieve a good reminder or push effect, and easily causing a bad user experience.

[0004] However, for solutions that push messages in a concentrated manner at critical times, it is easy to cause excessive server load, which may lead to delays or loss of critical information.

[0005] In summary, current message push methods are insufficient to achieve satisfactory push results. Summary of the Invention

[0006] The technical problem to be solved by this invention is to provide a message push method and server that can achieve better push results.

[0007] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:

[0008] A message push method includes the following steps:

[0009] S1. Obtain user time preference data based on user behavior information;

[0010] S2. For each generated message to be pushed, based on the message nature of the message to be pushed and the pre-configured comparison information, obtain the timeliness index and importance index associated with the message nature;

[0011] S3. Obtain the server load index based on the server load status;

[0012] S4. Calculate the push time of the message to be pushed based on the time preference data, the timeliness index, and the importance index, and push the message according to the push time.

[0013] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is as follows:

[0014] A message push server includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the aforementioned message push method.

[0015] The beneficial effects of the present invention are as follows: The message push method and server of the present invention can automatically and dynamically adjust the message push time according to the user's time preference, the importance and timeliness of the message and the server load. While increasing user attention, it can also better avoid the drawbacks of centralized push and has a better push effect. Attached Figure Description

[0016] Figure 1 This is a flowchart of a message push method according to an embodiment of the present invention;

[0017] Figure 2 This is a structural diagram of a message push server according to an embodiment of the present invention;

[0018] Figure 3 This is a flowchart illustrating the process of acquiring user preference time data in a message push method according to an embodiment of the present invention.

[0019] Figure 4 This is a flowchart illustrating a message push method according to an embodiment of the present invention;

[0020] Label Explanation:

[0021] 1. A message push server; 2. A processor; 3. A memory. Detailed Implementation

[0022] To explain in detail the technical content, objectives, and effects of the present invention, the following description is provided in conjunction with the embodiments and accompanying drawings.

[0023] Please refer to Figure 1 A message push method, comprising the following steps:

[0024] S1. Obtain user time preference data based on user behavior information;

[0025] S2. For each generated message to be pushed, based on the message nature of the message to be pushed and the pre-configured comparison information, obtain the timeliness index and importance index associated with the message nature;

[0026] S3. Obtain the server load index based on the server load status;

[0027] S4. Calculate the push time of the message to be pushed based on the time preference data, the timeliness index, and the importance index, and push the message according to the push time.

[0028] As can be seen from the above description, the beneficial effects of the present invention are as follows: The message push method and server of the present invention automatically and dynamically adjust the message push time according to the user's time preference, the importance and timeliness of the message and the server load. While increasing user attention, it also better avoids the drawbacks of centralized push and has a better push effect.

[0029] Further, step S1 includes the following steps:

[0030] S11. Initialize the user time preference coefficient f, the decay coefficient m, and the click-reported activity value t;

[0031] S12. Initialize the time preference array U n The initial value of each element in the array is f;

[0032] S13. Monitor user behavior. When a user enters the app from a push notification, adjust the time preference array, making the element U in the time preference array corresponding to the current time... x The increment t corresponds to the element U of the previous and next time steps. X±1 Self-increase of 0.5t;

[0033] S14. At 0:00 each day, based on the final time preference array U of the previous day... n Calculate the user time preference data U used for message push on that day. m :

[0034] U m ={U c};

[0035] U c =f+(U' c -f)*m;

[0036] Among them, U c U' represents the user preference coefficient for the c-th time period of the day. c This represents the user preference coefficient at time c in the final time preference array of the previous day.

[0037] As described above, by monitoring user behavior from push notifications to the app, we can better determine which times of the day users pay more attention to notifications, ensuring that the subsequently determined message push times receive more user attention.

[0038] Further, step S3 specifically includes:

[0039] Based on the number of pending push messages enqueued by all users at time m, num, and the preset metric value nl, calculate the server load index d at time m. m :

[0040] d m =num / nl.

[0041] As described above, the server load at any given moment is determined based on the queued messages to be pushed, thereby avoiding a large number of messages being pushed in one period of time.

[0042] Furthermore, the measured value nl is adjusted monthly:

[0043] Each month, a preset ratio of the highest load value of the previous month is taken as the metering value nl for the current month through a scheduled task.

[0044] As described above, the measurement value is determined based on the highest load value of the previous month, and then the server load index is determined, so that the determination of the server load index can be more flexibly adapted to the server load status.

[0045] Furthermore, the preset ratio is 1 / 2.

[0046] As can be seen from the above description, the preset ratio is 1 / 2 as a specific embodiment of the present invention.

[0047] Further, step S4 specifically includes:

[0048] Obtain the initial push time ti of the message to be pushed, based on the time preference data U. m The timeliness index a and the importance index b are used to calculate the push coefficient array Z = {Z x}:

[0049]

[0050] Where x represents the message push delay duration, x∈[0,lm], and lm represents the preset maximum push delay;

[0051] Take the largest element Z in the push coefficient array Z. x.max The message to be pushed is added to the push queue at time ti+x after the corresponding message delay duration x.

[0052] As described above, based on the initial push time of the message, and taking into account factors such as time preference data, timeliness index, and importance index, the push coefficient for delayed push is calculated. This determines whether to delay the push and the duration of the delay, thereby determining the optimal push time.

[0053] Furthermore, the maximum push delay lm is set to 6.

[0054] As described above, the maximum push delay of lm is set to 6 as an embodiment of the present invention to limit the delay of message push, avoid pushes with excessively long delays, which could lead to message failure, and also further avoid concentrated message push times.

[0055] Furthermore, the step S4 of adding the message to be pushed to the push queue at ti+x specifically involves:

[0056] Determine Z x.max If the value exceeds a preset discard threshold, the message to be pushed is added to the push queue at time ti+x and pushed; otherwise, the message to be pushed is discarded.

[0057] As described above, for a given message, if the largest element in the push coefficient array is less than the preset discard threshold, it is considered that under the server load conditions during the current push time and delay time, the positive effects brought about by the message's medium importance and invalidity are relatively weak compared to the server load it brings.

[0058] Furthermore, the timeliness index a∈[0,1], the importance index b∈[0,3], the maximum push delay lm is 6, and the discard threshold is 0.7.

[0059] As can be seen from the above description, the values ​​mentioned above are a specific embodiment of the present invention.

[0060] Please refer to Figure 2 A message push server includes a processor, a memory, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps in the above-mentioned message push method.

[0061] The present invention provides a message push method and server, which are applicable to the optimization of message push time.

[0062] Please refer to Figure 1 , Figure 3 and Figure 4 Embodiment 1 of the present invention is as follows:

[0063] A message push method includes the following steps:

[0064] S1. Obtain user time preference data based on user behavior information;

[0065] Step S1 includes the following steps:

[0066] S11. Initialize the user time preference coefficient f, the decay coefficient m, and the click-reported activity value t;

[0067] S12. Initialize the time preference array U n The initial value of each element in the array is f;

[0068] S13. Monitor user behavior. When a user enters the app from a push notification, adjust the time preference array, making the element U in the time preference array corresponding to the current time... x The increment t corresponds to the element U of the previous and next time steps. X±1 Self-increase of 0.5t;

[0069] S14. At 0:00 each day, based on the final time preference array U of the previous day... n Calculate the user time preference data U used for message push on that day. m :

[0070] U m ={U c};

[0071] U c =f+(U' c -f)*m;

[0072] Among them, U c U' represents the user preference coefficient for the c-th time period of the day. c This represents the user preference coefficient at time c in the final time preference array of the previous day.

[0073] In this embodiment, statistics are performed using 1 hour as the time unit, i.e., U c Let c represent the user preference coefficient at time c of a day, then c∈[0,23].

[0074] The statistical analysis of user time preference data requires initialization of the following values: f = 0.1, decay coefficient m = 0.9, and activity value t = 0.2. These values ​​are manually set and can be adjusted according to actual needs. For example, if statistics are collected in 10-minute increments, then U... c This represents the user preference coefficient during the c-th 10-minute period of the day.

[0075] In this embodiment, it can be referred to Figure 3 The cold start initialization time preference array is initialized with an initial value of f. If a user enters the app via push notification at time x, then the value of U in the array is adjusted. x And U X±1 :

[0076] Ux = Ux + t;

[0077] U X±1 =0.5t+U X±1 .

[0078] At 00:00 each day, the time preference array calculated from the previous day is corrected:

[0079] U m ={U c}, c∈[0, 23];

[0080] U c =f+(U' c -f)*m;

[0081] U c The maximum value is 1, which yields the time preference data used for calculations on that day.

[0082] In practice, a preset push time array can be used to send pushes to users at random times in order to correct / statistically analyze users' time preferences.

[0083] S2. For each generated message to be pushed, based on the message nature of the message to be pushed and the pre-configured comparison information, obtain the timeliness index and importance index associated with the message nature;

[0084] In this embodiment, the timeliness index 'a' and importance index 'b' of the message to be pushed are obtained based on the message's nature. The message nature and its corresponding message and importance indices are defined manually, so that the corresponding timeliness and importance indices can be obtained when the message is generated.

[0085] The nature of a message is determined by its content, such as book updates, marketing messages, daily activity messages, or major updates. For example, a major message has a timeliness index of 1 and an importance index of 1, while a marketing message has a timeliness index of 0.8 and an importance index of 0.9. This is defined by the operations team when setting the message template type.

[0086] S3. Obtain the server load index based on the server load status;

[0087] Step S3 specifically involves:

[0088] Based on the number of pending push messages enqueued by all users at time m, num, and the preset metric value nl, calculate the server load index d at time m. m :

[0089] d m =num / nl.

[0090] The measured value nl is adjusted monthly:

[0091] Each month, a preset ratio of the highest load value of the previous month is taken as the metering value nl for the current month through a scheduled task.

[0092] In this embodiment, the preset ratio is 1 / 2.

[0093] In this embodiment, the server load index d m d: The number of messages queued for all users on the current push server at time m. When m is 0-23, d m =Number of messages / 10000. In this embodiment, the preset value is 10000, which can be manually adjusted according to business development. It is updated monthly by a scheduled task and adjusted based on the highest load value of the previous month. In this embodiment, half of the preset value of 10000 is used; in other equivalent embodiments, the ratio can be adjusted as needed.

[0094] S4. Calculate the push time of the message to be pushed based on the time preference data, the timeliness index, and the importance index, and push the message according to the push time.

[0095] For reference Figure 4 Step S4 specifically includes:

[0096] Obtain the initial push time ti of the message to be pushed, based on the time preference data U. m The timeliness index a and the importance index b are used to calculate the push coefficient array Z = {Z x}:

[0097]

[0098] Where x represents the message push delay duration, x∈[0,lm], and lm represents the preset maximum push delay;

[0099] Take the largest element Z in the push coefficient array Z. x.max The message to be pushed is added to the push queue at time ti+x after the corresponding message delay duration x.

[0100] The step S4, which involves adding the message to be pushed to the push queue at ti+x, specifically involves:

[0101] Determine Z x.max If the value exceeds a preset discard threshold, the message to be pushed is added to the push queue at time ti+x and pushed; otherwise, the message to be pushed is discarded.

[0102] In this embodiment, the initial push time ti: for instant push messages, the current server time; for scheduled push messages, the push time set by the user in the background. The message push time is determined according to the above method.

[0103] Assume the user preference array is U x =0.15, 0.8, 0.3, 0.6, 0.5, 0.9...;

[0104] Assuming server load index d m =0.5, 0.2, 0.1, 0, 0.2, 0.6...;

[0105] Assume that push message 1 is generated when user 0 is active. It is an instant push with a timeliness index of 0.5 and an importance index of 1. Push message 2 is also an instant push with a timeliness index of 0 and an importance index of 0.1.

[0106] Then Z0 = 0.15 + (3 * 0.5 + 2 * 1) / (0 + 3) - 0.5 = 0.82;

[0107] Z1=0.8+(3*0.5+2*1) / (1+3)-0.2=1.48;

[0108] And so on, Z2 = 0.9, Z3 = 1.18, Z4 = 0.8, Z5 = 0.73.

[0109] Then Z x.max =Z1, therefore the push time of push message 1 is delayed until time period 1.

[0110] Similarly, the calculation is performed on push message 2. In this embodiment, the Z-axis of push message 2 is... x.max The value is 0.65, which is less than the discard threshold of 0.7, so the message is discarded.

[0111] In this embodiment, the discard threshold is set to 0.7, but it can be adjusted as needed in other equivalent embodiments.

[0112] Please refer to Figure 2 Embodiment two of the present invention is as follows:

[0113] A message push server 1 includes a processor 2, a memory 3, and a computer program stored in the memory 3 and executable on the processor 2. When the processor 2 executes the computer program, it implements the steps of the message push method in Embodiment 1 above.

[0114] In summary, the message push method and server provided by this invention automatically and dynamically adjust the message push time based on user time preferences, message importance, timeliness, and server load. This not only increases user attention but also better avoids the drawbacks of concentrated pushes, resulting in a better push effect.

[0115] The above description is merely an embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent modifications made based on the content of the present invention specification and drawings, or direct or indirect applications in related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A message push method, characterized in that, Including the following steps: S1. Obtain user time preference data based on user behavior information; Step S1 includes the following steps: S11. Initialize the user time preference coefficient f, the decay coefficient m, and the click-reported activity value t; S12. Initialize the time preference array U n The initial value of each element in the array is f; S13. Monitor user behavior. When a user enters the app from a push notification, adjust the time preference array, making the element U in the time preference array corresponding to the current time... x The increment t corresponds to the element U of the previous and next time steps. X±1 Self-increase of 0.5t; S14. At 0:00 each day, based on the final time preference array U of the previous day... n Calculate the user time preference data U used for message push on that day. m : IN m ={U c }; U c =f+(U' c -f) m; Among them, U c U' represents the user preference coefficient for the c-th time period of the day. c Uc represents the user preference coefficient at time c in the final time preference array of the previous day, with a maximum value of 1. S2. For each generated message to be pushed, based on the message nature of the message to be pushed and the pre-configured comparison information, obtain the timeliness index and importance index associated with the message nature; S3. Obtain the server load index based on the server load status; S4. Calculate the push time of the message to be pushed based on the time preference data, the timeliness index, the importance index, and the server load index, and push the message according to the push time.

2. The message push method according to claim 1, characterized in that, Step S3 specifically involves: Based on the number of pending push messages enqueued by all users at time m, num, and the preset metric value nl, calculate the server load index d at time m. m : d m =num / nl。 3. The message push method according to claim 2, characterized in that, The measured value nl is adjusted monthly: Each month, a preset ratio of the highest load value of the previous month is taken as the metering value nl for the current month through a scheduled task.

4. The message push method according to claim 3, characterized in that, The preset ratio is 1 / 2.

5. A message push method according to claim 1, characterized in that, Step S4 specifically involves: Obtain the initial push time ti of the message to be pushed, based on the time preference data U. m The timeliness index a and the importance index b are used to calculate the push coefficient array Z={Z x }: Where x represents the message push delay duration, x∈[0,lm], and lm represents the preset maximum push delay. The server load index at ti+x; Take the largest element Z in the push coefficient array Z. x.max The message to be pushed is added to the push queue at time ti+x after the corresponding message delay duration x.

6. A message push method according to claim 5, characterized in that, The maximum push delay of 1m is set to 6.

7. A message push method according to claim 5, characterized in that, The step S4, which involves adding the message to be pushed to the push queue at ti+x, specifically involves: Determine Z x.max If the value exceeds a preset discard threshold, the message to be pushed is added to the push queue at time ti+x and pushed; otherwise, the message to be pushed is discarded.

8. A message push method according to claim 7, characterized in that, The timeliness index a∈[0,1], the importance index b∈[0,3], the maximum push delay lm is 6, and the discard threshold is 0.

7.

9. A message push server, comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of any one of the message push methods described in claims 1-8.

Citation Information

Patent Citations

  • Method and device for pushing information

    CN104537000A

  • Information push processing method and device, computer equipment and storage medium

    CN107733967A