Message push method, electronic device, storage medium and computer program product
By calculating the message value and push cost, and using dynamic programming algorithms to determine the target push sequence, the problem of increasing the success rate of message push in the existing technology ignores the importance and cost of messages, and realizes efficient and economical message push and maximizes user experience.
Patent Information
- Application Number
- CN202310323536.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-29
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2043-03-29
AI Technical Summary
When improving the success rate of message push, the prior art ignores the importance and push cost of each message, resulting in waste of resources and poor user experience.
By calculating the message value and push cost of each message, a dynamic programming algorithm is used to determine the target push sequence within the total push resource range to maximize the sum of the message value.
It realizes message push that maximizes user experience under limited resources, balances costs and experience, and avoids waste of resources.
Smart Images

Figure CN116366586B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of the Internet, and in particular to a message pushing method, electronic device, storage medium and computer program product. Background Art
[0002] Message push is the process in which the administrator Master extracts the messages to be pushed from the database and pushes them to multiple client Workers. Figure 1 This is a schematic diagram of the message push system architecture in the related technology, refer to Figure 1 In the related art, the message push system is usually composed of a Master and multiple Workers. The Master obtains the message to be pushed from the database (i.e., step ①); then, the message to be pushed is placed in the message queue to be pushed (i.e., step ②); then, multiple Workers obtain messages from the message queue in parallel to complete the push process (i.e., step ③); finally, each Worker updates the message status according to the result of the message push and stores it in the database (i.e., step ④). The result of the message push is mainly used to determine the success rate of the message push, and the success rate of the message push is used to measure the quality of the message push system. Among them, the success rate of the message push is the ratio of the number of successfully pushed messages to the total number of pushed messages. In order to improve the success rate of the message push, the Master usually adds a push strategy (i.e., step ⑤), adds the failed messages and the messages to be pushed to the message queue to be pushed, and re-pushes them to the Worker to improve the success rate of the message push.
[0003] Although the push strategy in the related technology can improve the success rate of message push to a certain extent, the success rate of message push can only evaluate the completion of the task by the system in the final state, while ignoring the importance of each message and the push cost. Therefore, the resources consumed by pushing different messages and the experience brought to users are different. If messages are pushed indiscriminately, it will consume a large amount of resources to push messages with little impact on users, which will waste system resources and fail to effectively improve user experience. Summary of the invention
[0004] The present disclosure provides a message pushing method, an electronic device, a storage medium and a computer program product.
[0005] According to one aspect of the present disclosure, a message push method is provided, which may include: obtaining the message value of each message by using a message value calculation formula according to the total number of user terminals corresponding to each message and the user weight of each user terminal; determining the push cost of each message based on historical push data, wherein the push cost includes the push time consumed by pushing the message; and determining a target push sequence for each message within the scope of total push resources by using a dynamic programming algorithm in combination with the message value of each message and its push cost, wherein the target push sequence represents a message sequence having the largest sum of the message values of multiple messages pushed within the scope of the total push resources.
[0006] In some implementations, the message value calculation formula is:
[0007]
[0008] in, Indicates the message value of the i-th message, represents the total number of clients corresponding to the i-th message, w j represents the user weight of the jth user terminal, i represents the sequence number of the message, j represents the sequence number of the user terminal, and the value of j is
[0009] In some embodiments, before obtaining the message value of each message using a message value calculation formula based on the total number of user terminals corresponding to each message and the user weight of each user terminal, the method includes: in response to the presence of messages in the historical push data that failed to be pushed to the user terminal, determining the total number of subscription messages for each user terminal and the total number of failed messages that failed to be pushed to the user terminal; and substituting the total number of subscription messages and the total number of failed messages into a user weight formula, and calculating the user weight of each user terminal by the user weight formula, wherein the user weight is used to characterize the degree of demand for each message by the user terminal.
[0010] In some implementations, the user weight formula is:
[0011] Among them, T L Indicates the total number of failed messages, T S Indicates the total number of subscription messages.
[0012] In some embodiments, before obtaining the message value of each message using a message value calculation formula based on the total number of user terminals corresponding to each message and the user weight of each user terminal, it includes: in response to the absence of messages that failed to be pushed to the user terminal in the historical push data, determining the total number of subscribed messages for each user terminal; and taking the inverse of the total number of subscribed messages of the user terminal as the user weight of the user terminal, wherein the user weight is used to characterize the degree of demand of the user terminal for each message.
[0013] In some embodiments, determining the push cost of each of the messages based on the historical push data includes: extracting multiple push durations for each of the messages from the historical push data; and extracting the push duration with the largest value from the multiple push durations as the push cost of the message.
[0014] In some embodiments, after determining the target push sequence for each of the messages within the scope of the total push resources using a dynamic programming algorithm, it includes: controlling the message push system to push each of the messages to each of the user terminals in sequence according to the target push sequence, wherein the target push sequence includes data to be pushed and / or messages that failed to be pushed to the user terminals.
[0015] According to another aspect of the present disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the message push method as described in any of the above embodiments is implemented.
[0016] According to another aspect of the present disclosure, a readable storage medium is provided, wherein the readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the message pushing method as described in any of the above embodiments.
[0017] According to another aspect of the present disclosure, a computer program product is provided, including a computer program / instruction, wherein when the computer program / instruction is executed by a processor, the message pushing method described in any of the above embodiments is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings illustrate exemplary embodiments of the present disclosure and together with the description serve to explain the principles of the present disclosure. These drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification.
[0019] Figure 1 This is a schematic diagram of the message push system architecture in the related technology.
[0020] Figure 2The present invention is a flowchart of a message pushing method according to an exemplary embodiment of the present disclosure.
[0021] Figure 3 This is a diagram of a message push method architecture according to an exemplary embodiment of the present disclosure.
[0022] Figure 4 The present invention is a block diagram of a message push device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0023] The present disclosure is further described in detail below in conjunction with the accompanying drawings and implementations. It is understood that the specific implementations described herein are only used to explain the relevant content, rather than to limit the present disclosure. It should also be noted that, for ease of description, only the parts related to the present disclosure are shown in the accompanying drawings.
[0024] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in the present disclosure can be combined with each other. The technical solution of the present disclosure will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0025] Unless otherwise specified, the exemplary embodiments / embodiments shown will be understood as providing exemplary features of various details of some ways in which the technical concept of the present disclosure can be implemented in practice. Therefore, unless otherwise specified, the features of the various embodiments / embodiments can be combined, separated, interchanged and / or rearranged without departing from the technical concept of the present disclosure.
[0026] The terms used herein are for the purpose of describing specific embodiments, rather than being restrictive. As used herein, unless the context clearly indicates otherwise, the singular forms "one (kind, person)" and "said (the)" are also intended to include plural forms. In addition, when the terms "comprise" and / or "include" and their variations are used in this specification, it is explained that there are stated features, integral bodies, steps, operations, parts, assemblies and / or their groups, but it is not excluded that there are or add one or more other features, integral bodies, steps, operations, parts, assemblies and / or their groups. It should also be noted that, as used herein, the terms "substantially", "approximately" and other similar terms are used as approximate terms and not as degree terms, so that they are used to explain the inherent deviations of the measured values, calculated values and / or the values provided that will be recognized by those of ordinary skill in the art.
[0027] Figure 2 A flow chart of a method for pushing a message according to an exemplary embodiment of the present disclosure; Figure 3 This is a diagram of a message push method architecture of an exemplary embodiment of the present disclosure. Figure 2 and Figure 3 The message pushing method S100 is described.
[0028] Step S102, according to the total number of user terminals corresponding to each message and the user weight of each user terminal, the message value of each message is obtained using a message value calculation formula.
[0029] Message refers to the data containing the target content pushed by the administrator Master to the client Worker. The same message can be pushed to multiple clients according to the client's subscription instructions; of course, the same client can also subscribe to multiple messages according to its own needs. Based on the above, the total number of clients refers to the number of clients that subscribe to each message.
[0030] The client is the recipient of the message and is used to receive the message placed in the message queue by the administrator. The client will subscribe to the messages it wants to read in the message queue according to its own needs, but due to the push performance of the message push system, there may be a situation where the push of the message subscribed by the client fails, resulting in the client being unable to read some messages in time.
[0031] User weight is used to characterize the degree of demand for a single message by a certain user, that is, the degree of influence of a single message on a certain user. User weight is proportional to the degree of demand for a single message by the user. For example, if a certain user subscribes to ten messages, then the failure of a single message push will have a relatively small impact on the user, and the user weight of the user is relatively small; conversely, if a certain user subscribes to two messages, then the failure of a single message push will have a relatively large impact on the user, and the user weight of the user is relatively large.
[0032] The message value calculation formula is a formula for calculating the message value of a message based on the total number of users who subscribe to a message and the user weights of each user who subscribes to the message. The message value model uses the message value calculation formula to determine the message value of each message. The message value is used to characterize the degree of user experience improved by message push. The message value is proportional to the total demand of all users who subscribe to the message. The message value of each message can be calculated using the message value calculation formula.
[0033] The formula for calculating message value is:
[0034]
[0035] in, Indicates the message value of the i-th message, represents the total number of clients corresponding to the i-th message, w j represents the user weight of the jth user terminal, i represents the sequence number of the message, j represents the sequence number of the user terminal, and the value of j is
[0036] Step S104: Determine the push cost of each message based on the historical push data.
[0037] The historical push data records the push time of each message in the historical push process. The maximum push time of a message extracted from the historical push data is used as the push cost of the message. The message cost model determines the push cost of each message in the historical push data. Since the push time of each message is different, in order to maximize the value of the message within the scope of the total push resources (i.e., the limited push time), it is necessary to obtain the push cost of each message.
[0038] Step S106 , combining the message value of each message and its push cost, and using a dynamic programming algorithm to determine a target push sequence for each message within the scope of the total push resources.
[0039] The dynamic programming algorithm arranges and combines the message value and push cost of various messages, selects the messages with the best value and combines them to determine the target push sequence. The target push sequence can maximize the sum of the message values of multiple messages pushed within the scope of the total push resources, thereby maximizing the user experience. The total push resources are the time provided by the message push system to the administrator for executing message push. If this time is exceeded, the message push system is used to perform other tasks and no longer provides services for message push.
[0040] In some embodiments, before step S102, the following steps may be included: in response to the presence of messages that fail to be pushed to the user terminal in the historical push data, determining the total number of subscription messages for each user terminal and the total number of failed messages that fail to be pushed to the user terminal; and substituting the total number of subscription messages and the total number of failed messages into the user weight formula, and calculating the user weight of each user terminal by the user weight formula.
[0041] The historical push data also stores the push status of each message pushed to the user end. The historical push data can be used to determine whether there are messages that failed to be pushed to a certain user end during the historical message push process. Failed push messages mainly refer to messages that have been subscribed by the user end, but have not been successfully pushed to the user end due to the limitations of the message push system. If there are messages that failed to be pushed to a certain user end in the historical data, the total number of failed messages that failed to be pushed to the user end is determined. The total number of subscribed messages refers to the number of messages subscribed by each user end in the message queue.
[0042] The user weight formula is a formula for calculating the user weight of each user terminal based on the total number of subscribed messages and the total number of failed messages of each user terminal. The user weight is used to characterize the degree of demand for each message by the user terminal. Each user terminal has different user weights according to the number of its different subscribed messages and the number of failed message pushes; that is, each user terminal has a different degree of demand for messages. The user weight formula can be used to determine the degree of demand for messages by each user terminal in a personalized manner, and then pave the way for determining the message value of each message, so that in the process of message push, messages with the highest value can be pushed to users with strong demand first, avoiding resource consumption and degradation of user experience caused by indiscriminate message push.
[0043] More specifically, the user weight formula can be:
[0044] Among them, T L Indicates the total number of failed messages, T S Indicates the total number of subscription messages.
[0045] In some implementations, before step S102, the following steps may also be included: in response to the absence of failed messages pushed to the user terminal in the historical push data, determining the total number of subscription messages for each user terminal; and using the inverse of the total number of subscription messages of the user terminal as the user weight of the user terminal.
[0046] The historical push data is used to determine whether there are any messages that have failed to be pushed to a certain user in the historical message push process. If there are no messages that have failed to be pushed, it proves that all the messages subscribed by the user have been successfully pushed, and the number of messages subscribed by the user can be used as the influencing parameter for determining its user weight.
[0047] At this time, the user weight formula can be:
[0048] In some implementations, the execution steps of step S104 include: extracting multiple push durations of each message from the historical push data; and extracting the push duration with the largest value from the multiple push durations as the push cost of the message.
[0049] In some implementations, after step S106, the method further includes: controlling the message push system to push each message to each user terminal in sequence according to a target push sequence, wherein the target push sequence includes data to be pushed and / or messages that fail to be pushed to the user terminal.
[0050] In order to improve the push success rate of the message push system, messages that fail to be pushed to the user end can be returned to the message queue by resending so that they can be subscribed and read by the user end. However, in order to maximize the value of the push messages and maximize the user end experience, these resent messages are merged with the messages to be pushed. After determining their message value through the above steps, the user weight and total push resources are comprehensively considered, and they can be written into the message queue in sequence through the indication of the target push sequence.
[0051] The following example explains in detail the process of determining the message value calculation formula.
[0052] Table 1
[0053]
[0054]
[0055] Table 1 is a two-dimensional table of push association between user terminals and messages in a subscription scenario. As shown in Table 1, the horizontal direction represents message dimension data, including the first message R1, the second message R2, the third message R3, the fourth message R4, the fifth message R5, the sixth message R6 and the seventh message R7; the vertical direction represents user terminal dimension data, including the first user terminal U1, the second user terminal U2, the third user terminal U3, the fourth user terminal U4, the fifth user terminal U5, the sixth user terminal U6 and the seventh user terminal U7; the symbol "√" is the mark of the user terminal subscription message. Obviously, two users, namely the third user terminal U3 and the fifth user terminal U5, have subscribed to the first message R1; three users, namely the fourth user terminal U4, the fifth user terminal U5 and the sixth user terminal U6, have subscribed to the second message R2; the first user terminal U1, the second user terminal U2, the third user terminal U3 and the fourth user terminal U4 have subscribed to the third message R3; the second user terminal U2, the third user terminal U3, the fourth user terminal U4 and the fifth user terminal U5 have subscribed to the fourth message R4; the first user terminal U1 and the second user terminal U2 have subscribed to the fifth message R5; the second user terminal U2 and the third user terminal U3 have subscribed to the sixth message R6; and the seventh user terminal U7 has subscribed to the seventh message R7.
[0056] If the total number of users affected by the message is used as the message value, then the corresponding message values of the first message to the seventh message are 2, 3, 4, 4, 2, 2, 1 respectively. Obviously, by determining the message value in this way, it is impossible to determine the value ranking between messages with the same total number of affected users. For example, the message values of the first message R1, the fifth message R5 and the sixth message R6 are all 2; for another example, the message values of the third message R3 and the fourth message R4 are both 4.
[0057] Obviously, the above method cannot produce value differentiation for messages with the same total number of affected users. Take the first message R1, the fifth message R5 and the sixth message R6 as examples. Since the first message R1 is the only message subscribed by the third user U3 and the fifth user U5, if the first message R1 is not pushed, the impact on these two users is 100%. The first user U1 that subscribes to the fifth message R5 also subscribes to the third message R3. Therefore, when the fifth message R5 is not pushed, the impact on the first user U1 is 50%; similarly, the second user U2 that subscribes to the fifth message R5 also subscribes to the third message R3, the fourth message R4 and the sixth message R6. Therefore, when the fifth message R5 is not pushed, the impact on the second user U2 is 25%. The second user U2 that subscribes to the sixth message R6 also subscribes to the third message R3, the fourth message R4 and the fifth message R5. Therefore, when the fifth message R5 is not pushed, the impact on the second user U2 is 25%; similarly, the third user U3 that subscribes to the sixth message R6 also subscribes to the first user U1, the third user U3 and the fourth user U4. Therefore, the impact on the third user U3 when the sixth message R6 is not pushed is 25%. It can be seen that the first message R1 has a greater impact on the subscribed user than other messages, so its message value is greater. In summary, when considering the message value of a message, the user weight that represents the needs of the user needs needs to be used as one of the measurement criteria for the message value.
[0058] Based on the aforementioned use of the total number of users as the message value, user weight is added.
[0059] Right now
[0060] Among them, the user weight is processed separately according to whether there is a message that fails to be pushed. First, the user weight is determined for the case where there is no message that fails to be pushed.
[0061] Take the first message R1 in Table 1 as an example, Using this method, the second message R2, the third message R3, the fourth message R4, the fifth message R5, the sixth message R6 and the seventh message R7 are calculated respectively, and the message values of the second message R2, the third message R3, the fourth message R4, the fifth message R5, the sixth message R6 and the seventh message R7 are obtained as follows: 5.00, 5.33, 4.67, 1.50, 1.00, 1.00. At this time, the message values of messages with the same total number of user terminals are distinguished. The message values of the above seven messages are arranged in reverse order to obtain the value sequence: R3, R2, R4, R5, R1, R6, R7. Taking R2 and R4 as examples to verify the results of the value sequence, it is obvious that the value of R2 is greater than that of R4, which is reasonable. Therefore, when pushing R2, the experience of the fourth user terminal U4, the fifth user terminal U5, and the sixth user terminal U6 affected by it increases by 33%, 33%, and 100%, respectively, and the total experience is 166%; and when pushing R4, the experience of the second user terminal U2, the third user terminal U3, the fourth user terminal U4, and the fifth user terminal U5 affected by it increases by 25%, 25%, 33%, and 33%, respectively, and the total experience is 116%. It can be seen that pushing R2 can increase the overall experience of the user terminal more than pushing R4. Based on the above, the message value with increased user weight is more practical and credible than the message value that only considers the total number of user terminals.
[0062] Furthermore, considering the limitations of the message push system, there may be situations where message push fails. Therefore, the total number of failed messages corresponding to each user terminal should be considered when determining the user weight.
[0063] User weight after taking into account the total number of failed messages
[0064] So, the message value If the total number of failed messages sent to a certain client is 0, then the user weight of the client If the total number of failed messages sent to a certain client is 0, then the user weight of the client Therefore, the greater the total number of failed messages sent to a user terminal, the greater the user weight of the user terminal, and at the same time, the message value corresponding to the user terminal increases accordingly.
[0065] Taking Table 1 as an example, if the push time of the first message R1, the second message R2, the third message R3, the fourth message R4, the fifth message R5, the sixth message R6 and the seventh message R7 obtained from the historical push data are 3 minutes, 2 minutes, 4 minutes, 5 minutes, 2 minutes, 3 minutes and 1 minute respectively, and assuming that there is no failed push message, then when the total push resource is 10 minutes, combined with the message value of each message, the target push sequence can be determined as R2, R3, R5 and R7 through the dynamic programming algorithm.
[0066] The message push method provided by the present invention comprehensively considers the value of the message itself, user weight, historical push time of each message and the total push resources of the system, provides a push sequence with high experience for the user side within a limited resource range, and ensures a balance between user experience and cost.
[0067] Figure 4 FIG. 1 is a block diagram of a message push device according to an exemplary embodiment of the present disclosure. Figure 4 As shown, the present disclosure provides a message push device 1000, which may include: a message value calculation module 1002, which is used to obtain the message value of each message by using a message value calculation formula according to the total number of user terminals corresponding to each message and the user weight of each user terminal; a push cost determination module 1004, which is used to determine the push cost of each message based on historical push data, wherein the push cost includes the push time generated by pushing the message; and a target push sequence determination module 1006, which is used to combine the message value of each message and its push cost, and determine the target push sequence for each message within the scope of the total push resources by using a dynamic programming algorithm, wherein the target push sequence represents a message sequence with the largest sum of the message values of multiple messages pushed within the scope of the total push resources.
[0068] The various modules of the message pushing device 1000 are configured to implement the various steps of the message pushing method, and the principles and implementation steps can be referred to above and will not be repeated here.
[0069] The device 1000 may include corresponding modules for executing each or several steps in the above flowchart. Therefore, each step or several steps in the above flowchart may be executed by the corresponding module, and the device may include one or more modules in these modules. The module may be one or more hardware modules specially configured to execute the corresponding steps, or implemented by a processor configured to execute the corresponding steps, or stored in a computer-readable medium for implementation by a processor, or implemented by some combination.
[0070] The hardware structure can be implemented using a bus architecture. The bus architecture can include any number of interconnecting buses and bridges, depending on the specific application and overall design constraints of the hardware. The bus 1100 connects various circuits including one or more processors 1200, memory 1300, and / or hardware modules together. The bus 1100 can also connect various other circuits 1400 such as peripherals, voltage regulators, power management circuits, external antennas, etc.
[0071] The bus 1100 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Component (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the figure only uses one connecting line, but does not mean that there is only one bus or one type of bus.
[0072] The message push device provided by the present invention comprehensively considers the message's own value, user weight, historical push time of each message and the system's total push resources, and provides the user with a high-experience push sequence within a limited resource range, thereby ensuring a balance between user experience and cost.
[0073] Any process or method description in the flowchart or otherwise described herein can be understood as a module, fragment or portion of a code representing one or more executable instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present disclosure includes other implementations, in which the functions may not be performed in the order shown or discussed, including performing the functions in a substantially simultaneous manner or in a reverse order according to the functions involved, which should be understood by a person skilled in the art of the present disclosure. The processor performs the various methods and processes described above. For example, the method implementation in the present disclosure can be implemented as a software program, which is tangibly contained in a machine-readable medium, such as a memory. In some embodiments, part or all of the software program can be loaded and / or installed via a memory and / or a communication interface. When the software program is loaded into the memory and executed by the processor, one or more steps in the method described above can be performed. Alternatively, in other embodiments, the processor can be configured to perform one of the above methods in any other appropriate manner (e.g., by means of firmware).
[0074] The logic and / or steps represented in the flowchart or otherwise described herein may be embodied in any readable storage medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other system that can fetch instructions from and execute instructions on an instruction execution system, apparatus, or device), or in combination with such instruction execution systems, apparatuses, or devices.
[0075] For the purposes of this specification, a "readable storage medium" may be any device that can contain, store, communicate, propagate or transmit a program for use with or in conjunction with an instruction execution system, device or apparatus. More specific examples of readable storage media (a non-exhaustive list) include the following: an electrical connection with one or more wirings (electronic device), a portable computer disk case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and editable read-only memory (EPROM or flash memory), a fiber optic device, and a portable read-only memory (CDROM). In addition, the readable storage medium may even be paper or other suitable medium on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, deciphering or, if necessary, processing in another suitable manner, and then stored in a memory.
[0076] It should be understood that the various parts of the present disclosure can be implemented in hardware, software, or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented in software stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0077] A person skilled in the art may understand that all or part of the steps of implementing the above-mentioned implementation method may be completed by instructing related hardware through a program, and the program may be stored in a readable storage medium, which, when executed, includes one or a combination of the steps of the implementation method.
[0078] In addition, each functional unit in each embodiment of the present disclosure may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a readable storage medium. The storage medium may be a read-only memory, a disk or an optical disk, etc.
[0079] Those skilled in the art should understand that the above embodiments are only for the purpose of clearly illustrating the present disclosure, and are not intended to limit the scope of the present disclosure. For those skilled in the art, other changes or modifications may be made based on the above disclosure, and these changes or modifications are still within the scope of the present disclosure.
Claims
1. A message push method, characterized in that: include: According to the total number of user terminals corresponding to each of the messages and the user weight of each user terminal, the message value of each of the messages is obtained using a message value calculation formula; Determine the push cost of each message based on the historical push data, wherein the push cost includes the push time consumed by pushing the message; as well as In combination with the message value of each message and the push cost thereof, a target push sequence for each message is determined within the scope of the total push resource, i.e., the limited push time, using a dynamic programming algorithm, wherein the target push sequence represents a message sequence having the maximum sum of the message values of the plurality of messages pushed within the scope of the total push resource; The message value calculation formula is: in, Indicates the message value of the i-th message, represents the total number of clients corresponding to the i-th message, w j represents the user weight of the jth user terminal, i represents the sequence number of the message, j represents the sequence number of the user terminal, and the value of j is 2. The message push method according to claim 1, characterized in that: Before obtaining the message value of each message by using a message value calculation formula according to the total number of user terminals corresponding to each message and the user weight of each user terminal, the method includes: In response to the presence of messages in the historical push data that failed to be pushed to the user terminal, determining the total number of subscription messages of each of the user terminals and the total number of failed messages that failed to be pushed to the user terminal; and Substitute the total number of subscription messages and the total number of failed messages into a user weight formula, and use the user weight formula to calculate the user weight of each of the user terminals, wherein the user weight is used to characterize the degree of demand of the user terminal for each of the messages.
3. The message push method according to claim 2, characterized in that: The user weight formula is: Among them, T L Indicates the total number of failed messages, T S Indicates the total number of subscription messages.
4. The message push method according to claim 1, characterized in that: Before obtaining the message value of each message by using a message value calculation formula according to the total number of user terminals corresponding to each message and the user weight of each user terminal, the method includes: In response to the absence of messages in the historical push data that failed to be pushed to the user terminals, determining the total number of subscription messages for each of the user terminals; and The reciprocal of the total number of the subscribed messages of the user terminal is used as the user weight of the user terminal, wherein the user weight is used to represent the degree of demand of the user terminal for each of the messages.
5. The message push method according to claim 1, characterized in that: The determining the push cost of each message based on the historical push data includes: Extracting multiple push durations of each of the messages from the historical push data; and A push duration with the largest value is extracted from the multiple push durations as the push cost of the message.
6. The message push method according to claim 1, characterized in that: After determining the target push sequence for each of the messages within the scope of the total push resources by using a dynamic programming algorithm, the method includes: The message push system is controlled to push each of the messages to each of the user terminals in sequence according to the target push sequence, wherein the target push sequence includes data to be pushed and / or messages that fail to be pushed to the user terminals.
7. An electronic device, characterized in that: The invention comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for pushing a message according to any one of claims 1 to 6 is implemented.
8. A readable storage medium, characterized in that: The readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the message pushing method according to any one of claims 1 to 6.
9. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the message pushing method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Push message sorting method and device
CN105630840A
Content pushing method and device
CN107277115A