CN116366586A - Message pushing method, electronic device, storage medium and computer program product - Google Patents

Message pushing method, electronic device, storage medium and computer program product Download PDF

Info

Publication number
CN116366586A
CN116366586A CN202310323536.6A CN202310323536A CN116366586A CN 116366586 A CN116366586 A CN 116366586A CN 202310323536 A CN202310323536 A CN 202310323536A CN 116366586 A CN116366586 A CN 116366586A
Authority
CN
China
Prior art keywords
message
pushing
push
user
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310323536.6A
Other languages
Chinese (zh)
Inventor
彭建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seashell Housing Beijing Technology Co Ltd
Original Assignee
Seashell Housing Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seashell Housing Beijing Technology Co Ltd filed Critical Seashell Housing Beijing Technology Co Ltd
Priority to CN202310323536.6A priority Critical patent/CN116366586A/en
Publication of CN116366586A publication Critical patent/CN116366586A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The present disclosure provides a method for pushing a message, including: acquiring the message value of each message by using a message value calculation formula according to the total number of the user terminals corresponding to each message and the user weight of each user terminal; determining a push cost for each message based on the historical push data, wherein the push cost comprises push time consumed by pushing the message; and determining a target push sequence for each message within the range of the push total resource by utilizing a dynamic programming algorithm in combination with the message value of each message and the push cost thereof, wherein the target push sequence represents a message sequence with the maximum sum of the message values of a plurality of messages pushed within the range of the push total resource. The present disclosure also provides an electronic device, a storage medium, and a computer program product.

Description

Message pushing method, electronic device, storage medium and computer program product
Technical Field
The present disclosure relates to the field of internet, and in particular, to a message pushing method, an electronic device, a storage medium, and a computer program product.
Background
Message pushing is a process in which a manager Master extracts a message to be pushed from a database and pushes the message to a plurality of client-side works. Fig. 1 is a schematic diagram of a message pushing system architecture in the related art, referring to fig. 1, where the message pushing system is generally composed of a Master and a plurality of works, and the Master obtains a message to be pushed from a database (i.e. step (1)); then, putting the message to be pushed into a message queue to be pushed (i.e. step (2)); furthermore, a plurality of works acquire the message from the message queue in parallel to finish the pushing process (i.e. step (3)); and finally, each Worker updates the message state according to the message pushing result and stores the message state in a database (namely, step (4)). The message pushing result is mainly used for determining the success rate of message pushing, and the success rate of message pushing is used for measuring the advantages and disadvantages of a message pushing system. The success rate of message pushing is the ratio of the number of messages successfully pushed to the total number of pushed messages. In order to improve the success rate of message pushing, the Master usually adds a pushing policy (i.e. step (5)), adds the message with failed sending and the message to be pushed into the message queue to be pushed, and pushes the message to the Worker again, thereby improving the success rate of message pushing.
Although the push strategy in the related art can improve the success rate of message push to a certain extent, the success rate of message push can only evaluate the situation that the system completes the task in the final state, and the factors such as the importance degree and the push cost of each message are ignored. Then, the resources consumed by pushing different messages are different from the experience brought to the user, if the messages are pushed indiscriminately, the situation that the message with smaller influence on the user is pushed by consuming larger resource cost can occur, so that the system resources are wasted, and the user experience can not be effectively improved.
Disclosure of Invention
The disclosure provides a message pushing method, electronic equipment, storage medium and computer program product.
According to one aspect of the present disclosure, there is provided a pushing method of such a message, which may include: obtaining the message value of each message by using a message value calculation formula according to the total number of the user terminals corresponding to each message and the user weight of each user terminal; determining a push cost for each of the messages based on historical push data, wherein the push cost comprises push time consumption generated by pushing the messages; and determining a target push sequence for each message within the range of a push total resource by utilizing a dynamic programming algorithm in combination with the message value of each message and the push cost thereof, wherein the target push sequence represents a message sequence with the maximum sum of the message values of a plurality of messages pushed within the range of the push total resource.
In some embodiments, the message value calculation formula is:
Figure BDA0004155960550000021
wherein,,
Figure BDA0004155960550000022
message value representing the i-th message, +.>
Figure BDA0004155960550000023
Representing the total number of clients corresponding to the ith message, w j The user weight of the jth user terminal is represented, i represents the sequence number of the message, j represents the sequence number of the user terminal, and the value of j is +.>
Figure BDA0004155960550000024
In some embodiments, before the obtaining the message value of each message according to the total number of the clients corresponding to each message and the user weight of each client by using a message value calculation formula, the method includes: responding to the information that the historical push data has push failure to the user side, and determining the total number of subscription information of each user side and the total number of failure information that the push failure to the user side; substituting the total number of subscription messages and the total number of failure messages into a user weight formula, and calculating the user weight of each user end by the user weight formula, wherein the user weight is used for representing the requirement degree of the user end on each message.
In some embodiments, the user weight formula is:
Figure BDA0004155960550000025
wherein T is L Representing the total number of failure messages, T S Representing the total number of subscription messages.
In some embodiments, before the obtaining the message value of each message according to the total number of the clients corresponding to each message and the user weight of each client by using a message value calculation formula, the method includes: determining the total number of subscription messages of each user side in response to the fact that the message of the push failure to the user side does not exist in the historical push data; and taking the reciprocal of the total number of the subscription messages of the user side as the user weight of the user side, wherein the user weight is used for representing the requirement degree of the user side on each message.
In some embodiments, the determining a push cost for each of the messages based on historical push data includes: extracting a plurality of pushing duration of each message from the historical pushing data; and extracting the push duration with the largest value from the push durations as the push cost of the message.
In some embodiments, after determining a target push sequence for each of the messages within the range of the push total resource using a dynamic programming algorithm, comprising: and the control message pushing system sequentially pushes each message to each user side according to the target pushing sequence, wherein the target pushing sequence comprises data to be pushed and/or messages which are failed to be pushed to the user side.
According to another aspect of the present disclosure, there is provided an electronic device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor executing the program to implement a method for pushing a message according to any of the above embodiments.
According to a further aspect of the present disclosure there is provided a readable storage medium storing a computer program adapted to be loaded by a processor for performing the method of pushing a message according to any of the embodiments described above.
According to a further aspect of the present disclosure there is provided a computer program product comprising a computer program/instruction which, when executed by a processor, implements a method of pushing a message according to any of the embodiments described above.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the disclosure and together with the description serve to explain the principles of the disclosure.
Fig. 1 is a schematic diagram of a message pushing system architecture in the related art.
Fig. 2 is a flowchart of a method for pushing a message according to an exemplary embodiment of the present disclosure.
Fig. 3 is a diagram of a method of pushing a message according to an exemplary embodiment of the present disclosure. And
Fig. 4 is a block diagram of a pushing device of a message according to an exemplary embodiment of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the drawings and the embodiments. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant content and not limiting of the present disclosure. It should be further noted that, for convenience of description, only a portion relevant to the present disclosure is shown in the drawings.
In addition, embodiments of the present disclosure and features of the embodiments may be combined with each other without conflict. The technical aspects of the present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Unless otherwise indicated, the exemplary implementations/embodiments shown are to be understood as providing exemplary features of various details of some ways in which the technical concepts of the present disclosure may be practiced. Thus, unless otherwise indicated, features of the various implementations/embodiments may be additionally combined, separated, interchanged, and/or rearranged without departing from the technical concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, when the terms "comprises" and/or "comprising," and variations thereof, are used in the present specification, the presence of stated features, integers, steps, operations, elements, components, and/or groups thereof is described, but the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof is not precluded. It is also noted that, as used herein, the terms "substantially," "about," and other similar terms are used as approximation terms and not as degree terms, and as such, are used to explain the inherent deviations of measured, calculated, and/or provided values that would be recognized by one of ordinary skill in the art.
FIG. 2 is a flow chart of a method of pushing messages according to an exemplary embodiment of the present disclosure; fig. 3 is a diagram of a method of pushing a message according to an exemplary embodiment of the present disclosure. The message pushing method S100 will be explained below with reference to fig. 2 and 3.
Step S102, according to the total number of the user terminals corresponding to each message and the user weight of each user terminal, the message value of each message is obtained by using a message value calculation formula.
The message refers to data containing target content which is pushed to a user side workbench by an administrator Master, and the same message can be pushed to a plurality of user sides according to a subscription instruction of the user side; of course, the same ue may subscribe to multiple messages according to its own needs. Based on the foregoing, the total number of clients refers to the number of clients subscribing to each message.
The user side is a receiver of the message and is used for receiving the message placed in the message queue by the administrator. The user side subscribes the message to be read in the message queue according to the own requirement, but is limited by the pushing performance of the message pushing system, and the situation that the message subscribed by the user side fails to be pushed exists, so that the user side cannot read part of the message in time.
The user weight is used for representing the requirement degree of a certain user side on a single message, namely the influence degree of the single message on the certain user side. The user weight is proportional to the degree of demand for a single message by the user side. For example, if a certain user terminal subscribes to ten messages, the pushing of a single message fails, the influence on the user terminal is relatively small, and the user weight of the user terminal is small; otherwise, if a certain user terminal subscribes to 2 messages, the pushing of a single message fails, the influence on the user terminal is relatively large, and the user weight of the user terminal is large.
The message value calculation formula calculates the message value of the message according to the total number of the user terminals subscribed to the message and the user weights of the user terminals subscribed to the message. The value model of the message utilizes a message value calculation formula to determine the value of the message of each message, the message value is used for representing the degree of user experience enhanced by message pushing, and the message value is in direct proportion to the total demand degree of all user ends subscribing to the message. Each message may calculate its message value by a message value calculation formula.
The message value calculation formula is:
Figure BDA0004155960550000051
wherein,,
Figure BDA0004155960550000052
message value representing the i-th message, +.>
Figure BDA0004155960550000053
Representing the total number of clients corresponding to the ith message, w j The user weight of the jth user terminal is represented, i represents the sequence number of the message, j represents the sequence number of the user terminal, and the value of j is +.>
Figure BDA0004155960550000054
Step S104, based on the historical push data, the push cost of each message is determined.
The history pushing data records the time consumption of each message pushing in the history pushing process, and the maximum time consumption of pushing a certain message is extracted from the history pushing data as the pushing cost of pushing the message. The cost model of the message determines the push cost of each message in the historical push data, and because the push time of pushing each message is different, in order to push the message in the range of the push total resource (namely the limited push time) to the maximum value of the message, the push cost of each message needs to be acquired.
Step S106, combining the message value of each message and the pushing cost thereof, and determining a target pushing sequence for each message within the range of pushing total resources by using a dynamic programming algorithm.
The dynamic programming algorithm is to arrange and combine the message values and the pushing cost of various messages, select the messages with optimal values and combine the messages to determine a target pushing sequence. The target pushing sequence is in the range of pushing total resources, so that the sum value of message values of a plurality of pushed messages can be maximized, and the experience of a user side can be improved to the greatest extent. The total pushing resource is the time length that the message pushing system provides to the administrator for executing the message pushing, beyond which the message pushing system is used for executing other works and no longer serves the message pushing.
In some embodiments, before step S102, the following steps may be included: responding to the information that the historical push data has the push failure to the user side, and determining the total number of subscription information of each user side and the total number of failure information that the push failure to the user side; substituting the total number of subscription messages and the total number of failure messages into a user weight formula, and calculating the user weight of each user terminal by the user weight formula.
The historical push data also stores the push state of pushing each message to the user terminal, and whether a message which fails to push a certain user terminal exists in the historical message pushing process can be determined through the historical push data. Messages that fail to push mainly refer to messages that have been subscribed to by the client, but have not been successfully pushed to the client due to limitations of the message pushing system. If the history data contains the message which is failed to be pushed to a certain user terminal, determining the total number of failed messages which are failed to be pushed to the user terminal. The total number of subscribed messages refers to the number of messages subscribed to by each user in the message queue.
The user weight formula is a formula for calculating the user weight of each user terminal according to the total number of subscription messages and the total number of failure messages of the user terminal, and the user weight is used for representing the requirement degree of the user terminal on each message. Each user terminal has different user weights according to the number of different subscription messages and the number of message pushing failures; that is, the message demand of each user end is different. The demand degree of each user side on the messages can be individually determined by utilizing the user weight formula, and further, the message value of each message is determined to be padded, so that the message with the highest message value can be preferentially pushed to the user side with strong demand in the message pushing process, and the resource consumption and the user side experience reduction caused by indiscriminate message pushing are avoided.
More specifically, the user weight formula may be:
Figure BDA0004155960550000071
wherein T is L Representing the total number of failure messages, T S Representing the total number of subscription messages.
In some embodiments, before step S102, the following steps may be further included: determining the total number of subscription messages of each user side in response to the fact that no message which fails to push to the user side exists in the historical push data; and taking the reciprocal of the total number of subscription messages of the user side as the user weight of the user side.
And determining whether a message which fails to be pushed to a certain user side exists in the historical message pushing process according to the historical pushing data. If no message with failed pushing exists, the fact that the messages subscribed by the user side are pushed successfully is proved, and then the quantity of the messages subscribed by the user side is taken as an influence parameter for determining the user weight of the messages.
At this time, the user weight formula may be:
Figure BDA0004155960550000072
in some embodiments, the performing step of step S104 includes: extracting a plurality of pushing duration of each message from the historical pushing data; and extracting the push duration with the largest value from the plurality of push durations as the push cost of the message.
In some embodiments, after step S106, further comprising: and the control message pushing system sequentially pushes each message to each user terminal according to a target pushing sequence, wherein the target pushing sequence comprises data to be pushed and/or messages which are failed to be pushed to the user terminal.
In order to improve the push success rate of the message push system, the message which fails to be pushed to the user side can be returned to the message queue in a retransmission mode so as to be subscribed and read by the user side. However, in order to ensure that the value of the pushed message is maximized and the experience of the user terminal is maximized, the retransmitted messages and the messages to be pushed are fused together, and after the message value is determined through the steps, the user weight and the total pushing resources are comprehensively considered, so that the messages can be sequentially written into the message queue through the indication of the target pushing sequence.
The determination of the message value calculation formula is explained in detail below by way of example.
TABLE 1
Figure BDA0004155960550000073
Figure BDA0004155960550000081
Table 1 is a push association two-dimensional table of a user side and a message in a subscription scenario. As shown in Table 1, which laterally represents message dimension data, including a first message R 1 Second message R 2 Third message R 3 Fourth message R 4 Fifth message R 5 Sixth message R 6 And a seventh message R 7 The method comprises the steps of carrying out a first treatment on the surface of the Longitudinal representationUser side dimension data including a first user side U 1 Second user terminal U 2 Third user terminal U 3 Fourth user terminal U 4 Fifth user terminal U 5 Sixth user terminal U 6 And a seventh user terminal U 7 The method comprises the steps of carrying out a first treatment on the surface of the The symbol "v" is a label for a subscriber subscription message. Obviously, there is a third user terminal U 3 And a fifth user terminal U 5 The two user terminals subscribe to the first message R 1 The method comprises the steps of carrying out a first treatment on the surface of the With a fourth user terminal U 4 Fifth user terminal U 5 And a sixth user terminal U 6 The three user terminals subscribe to the second message R 2 The method comprises the steps of carrying out a first treatment on the surface of the With a first user end U 1 Second user terminal U 2 Third user terminal U 3 And a fourth user terminal U 4 Subscribe to third message R 3 The method comprises the steps of carrying out a first treatment on the surface of the With a second user end U 2 Third user terminal U 3 Fourth user terminal U 4 And a fifth user terminal U 5 Subscribed to fourth message R 4 The method comprises the steps of carrying out a first treatment on the surface of the With a first user end U 1 And a second user terminal U 2 Subscribe to fifth message R 5 The method comprises the steps of carrying out a first treatment on the surface of the With a second user end U 2 And a third user terminal U 3 Subscribed to a sixth message R 6 The method comprises the steps of carrying out a first treatment on the surface of the With a seventh user terminal U 7 Subscribing to a seventh message R 7
If only the total number of clients affected by the message is taken as the message value of the message, the corresponding message values of the first message to the seventh message are respectively: 2. 3, 4, 2, 1; obviously, determining the message value in this way, it is impossible to determine the value ordering between messages having the same total number of affected clients, e.g. the first message R 1 Fifth message R 5 And a sixth message R 6 The message values of (2) are all 2; for example, a third message R 3 And a fourth message R 4 The message value of (2) is 4.
Obviously, the foregoing approach cannot produce a value differentiation for messages that have the same total number of affected clients. With a first message R 1 Fifth message R 5 And a sixth message R 6 For example, due to the firstMessage R 1 Is the third user terminal U 3 And a fifth user terminal U 5 Uniquely subscribed messages, if the first message R is not pushed 1 The impact on both clients is 100%. Subscribing to the fifth message R 5 Is the first user terminal U 1 Also subscribed to a third message R 3 Thus, the fifth message R is not pushed 5 When the first user terminal U is 1 The effect of (2) is 50%; likewise, the fifth message R is subscribed to 5 Is a second user terminal U 2 Also subscribed to a third message R 3 Fourth message R 4 And a sixth message R 6 Thus, the fifth message R is not pushed 5 When the user terminal is connected to the second user terminal U 2 The effect of (2) was 25%. Subscribing to the sixth message R 6 Is a second user terminal U 2 Also subscribed to a third message R 3 Fourth message R 4 And a fifth message R 5 Thus, the fifth message R is not pushed 5 When the user terminal is connected to the second user terminal U 2 The effect of (2) is 25%; likewise, the sixth message R is subscribed to 6 Third user terminal U of (2) 3 And also subscribes to a first user terminal U 1 Third user terminal U 3 And a fourth user terminal U 4 Thus, the sixth message R is not pushed 6 For the third user terminal U 3 The effect of (2) was 25%. Can see the first message R 1 The impact on subscribed clients is greater than for other messages, and thus the message value is greater. In summary, when considering the message value of the message, the user weight characterizing the user needs is required to be used as one of the measurement criteria of the message value.
On the basis of taking the total number of the user terminals as the message value, the user weight is increased.
I.e.
Figure BDA0004155960550000091
The user weights are respectively processed according to whether the push failure message exists or not, and the user weights are determined firstly according to the situation that the push failure message does not exist
Figure BDA0004155960550000092
With the first message R in Table 1 1 In the case of an example of this,
Figure BDA0004155960550000093
Figure BDA0004155960550000094
in this way, for the second message R 2 Third message R 3 Fourth message R 4 Fifth message R 5 Sixth message R 6 And a seventh message R 7 Respectively calculating to obtain a second message R 2 Third message R 3 Fourth message R 4 Fifth message R 5 Sixth message R 6 And a seventh message R 7 The message values of (a) are respectively: 5.00, 5.33, 4.67, 1.50, 1.00. At this time, the message value of the messages having the same total number of clients is discriminated. The message values of the seven messages are arranged in reverse order, and a value sequence can be obtained: r is R 3 、R 2 、R 4 、R 5 、R 1 、R 6 、R 7 . By R 2 And R is 4 To verify the results of the value sequence, it is evident that R 2 Has a value greater than R 4 Is reasonable, so push R 2 Time-dependent fourth user terminal U 4 Fifth user terminal U 5 Sixth user terminal U 6 The experience of the system is increased by 33%, 33% and 100%, and the total experience is 166%; while pushing R 4 When it is affected, the second user terminal U 2 Third user terminal U 3 Fourth user terminal U 4 And a fifth user terminal U 5 The experience of (a) is increased by 25%, 33% and 33%, respectively, and the total experience is 116%. Visible push R 2 Push R 4 The overall experience of the user side can be further improved. Based on the foregoing, the message value with increased user weight is more valuable than a message value that considers only the total number of clientsPracticality and reliability.
Further, considering the limitation of the message pushing system, there may be a case of message pushing failure, so the total number of failed messages corresponding to each user side should be considered when determining the user weight.
Taking into account the user weights after the total number of failed messages
Figure BDA0004155960550000101
Then the message value
Figure BDA0004155960550000102
If the total number of failure messages sent to a user side is 0, the user weight of the user side is +.>
Figure BDA0004155960550000103
If the total number of failure messages sent to a user side is 0, the user weight of the user side is +.>
Figure BDA0004155960550000104
Therefore, the larger the total number of the failure messages sent to the user terminal is, the larger the user weight of the user terminal is, and meanwhile, the message value corresponding to the user terminal is increased.
Also taking Table 1 as an example, if the push first message R is obtained from historical push data 1 Second message R 2 Third message R 3 Fourth message R 4 Fifth message R 5 Sixth message R 6 And a seventh message R 7 The push time consumption of (a) is respectively as follows: 3min (min), 2min, 4min, 5min, 2min, 3min, 1min, and assuming that there is no message with push failure, when the push total resource is 10 min, combining the message value of each message, and determining that the target push sequence is R through a dynamic programming algorithm 2 、R 3 、R 5 、R 7
According to the message pushing method, the message self value, the user weight, the time consumption of pushing each message by history and the total pushing resources of the system are comprehensively considered, a high experience pushing sequence is provided for the user side in a limited resource range, and the balance of the user side experience and the cost is ensured.
Fig. 4 is a block diagram of a pushing device of a message according to an exemplary embodiment of the present disclosure. As shown in fig. 4, the present disclosure provides a message pushing device 1000, which may include: the message value calculation module 1002 is configured to obtain, according to the total number of clients corresponding to each message and the user weight of each client, the message value of each message by using a message value calculation formula; a push cost determining module 1004, configured to determine a push cost of each message based on the historical push data, where the push cost includes a push time consumed by pushing the message; and a target push sequence determining module 1006, configured to determine a target push sequence for each message within a range of a push total resource by using a dynamic programming algorithm in combination with a message value and a push cost of each message, where the target push sequence characterizes a message sequence with a maximum sum of message values of a plurality of messages pushed within the range of the push total resource.
The modules of the message pushing device 1000 are configured to implement the steps of the message pushing method, and the principles and implementation steps may refer to the foregoing, which is not repeated herein.
The apparatus 1000 may include corresponding modules that perform the steps of the flowcharts discussed above. Thus, each step or several steps in the flowcharts described above may be performed by respective modules, and the apparatus may include one or more of these modules. A module may be one or more hardware modules specifically configured to perform the respective steps, or be implemented by a processor configured to perform the respective steps, or be stored within a computer-readable medium for implementation by a processor, or be implemented by some combination.
The hardware architecture may be implemented using a bus architecture. The bus architecture may include any number of interconnecting buses and bridges depending on the specific application of the hardware and the overall design constraints. Bus 1100 connects together various circuits including one or more processors 1200, memory 1300, and/or hardware modules. Bus 1100 may also connect various other circuits 1400, such as peripherals, voltage regulators, power management circuits, external antennas, and the like.
Bus 1100 may be an industry standard architecture (ISA, industry Standard Architecture) bus, a peripheral component interconnect (PCI, peripheral Component) bus, or an extended industry standard architecture (EISA, extended Industry Standard Component) bus, among others. The buses may be divided into address buses, data buses, control buses, etc. For ease of illustration, only one connection line is shown in the figure, but not only one bus or one type of bus.
The message pushing device comprehensively considers the value of the message, the user weight, the time consumption of pushing each message by history and the total pushing resources of the system, provides a pushing sequence with high experience for the user terminal in a limited resource range, and ensures the balance of the experience and the cost of the user terminal.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and further implementations are included within the scope of the preferred embodiment of the present disclosure in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present disclosure. The processor performs the various methods and processes described above. For example, method embodiments in the present disclosure may be implemented as a software program tangibly embodied on a machine-readable medium, such as a memory. In some embodiments, part or all of the software program may be loaded and/or installed via memory and/or a communication interface. One or more of the steps of the methods described above may be performed when a software program is loaded into memory and executed by a processor. Alternatively, in other embodiments, the processor may be configured to perform one of the methods described above in any other suitable manner (e.g., by means of firmware).
Logic and/or steps represented in the flowcharts or otherwise described herein may be embodied in any readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
For the purposes of this description, a "readable storage medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber 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, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner if necessary, and then stored in a memory.
It should be understood that portions of the present disclosure may be implemented in hardware, software, or a combination thereof. In the above-described embodiments, the various steps or methods may 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, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or part of the steps implementing the method of the above embodiment may be implemented by a program to instruct related hardware, and the program may be stored in a readable storage medium, where the program when executed includes one or a combination of the steps of the method embodiment.
Furthermore, each functional unit in each embodiment of the present disclosure may be integrated into one processing module, or each unit may exist alone physically, or two or more units may be integrated into one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product. The storage medium may be a read-only memory, a magnetic disk or optical disk, etc.
It will be appreciated by those skilled in the art that the above-described embodiments are merely for clarity of illustration of the disclosure, and are not intended to limit the scope of the disclosure. Other variations or modifications will be apparent to persons skilled in the art from the foregoing disclosure, and such variations or modifications are intended to be within the scope of the present disclosure.

Claims (10)

1. A method for pushing a message, comprising:
obtaining the message value of each message by using a message value calculation formula according to the total number of the user terminals corresponding to each message and the user weight of each user terminal;
determining a push cost for each of the messages based on historical push data, wherein the push cost comprises push time consumption generated by pushing the messages; and
and determining a target push sequence for each message in the range of a push total resource by utilizing a dynamic programming algorithm in combination with the message value of each message and the push cost thereof, wherein the target push sequence represents a message sequence with the maximum sum of the message values of a plurality of messages pushed in the range of the push total resource.
2. The method for pushing a message according to claim 1, wherein the message value calculation formula is:
Figure FDA0004155960540000011
wherein,,
Figure FDA0004155960540000012
message value representing the i-th message, +.>
Figure FDA0004155960540000013
Representing the total number of clients corresponding to the ith message, w j The user weight of the jth user terminal is represented, i represents the sequence number of the message, j represents the sequence number of the user terminal, and the value of j is +.>
Figure FDA0004155960540000014
3. The method for pushing messages according to claim 1 or 2, wherein before the message value of each message is obtained by using a message value calculation formula according to the total number of clients corresponding to each message and the user weight of each client, the method comprises:
responding to the information that the historical push data has push failure to the user side, and determining the total number of subscription information of each user side and the total number of failure information that the push failure to the user side; and
substituting the total number of subscription messages and the total number of failure messages into a user weight formula, and calculating the user weight of each user side by the user weight formula, wherein the user weight is used for representing the requirement degree of each user side for each message.
4. A method of pushing a message according to claim 3, wherein the user weight formula is:
Figure FDA0004155960540000021
wherein T is L Representing the total number of failure messages, T S Representing the total number of subscription messages.
5. The method for pushing messages according to claim 1 or 2, wherein before the message value of each message is obtained by using a message value calculation formula according to the total number of clients corresponding to each message and the user weight of each client, the method comprises:
determining the total number of subscription messages of each user side in response to the fact that the message of the push failure to the user side does not exist in the historical push data; and
and taking the reciprocal of the total number of the subscription messages of the user side as the user weight of the user side, wherein the user weight is used for representing the requirement degree of the user side on each message.
6. The method for pushing messages according to claim 1, wherein said determining a pushing cost of each of said messages based on historical pushing data comprises:
extracting a plurality of pushing duration of each message from the historical pushing data; and
and extracting the push duration with the largest value from the push durations as the push cost of the message.
7. The method for pushing messages according to claim 1, wherein after determining a target pushing sequence for each of said messages within a range of pushing total resources using a dynamic programming algorithm, comprising:
and the control message pushing system sequentially pushes each message to each user side according to the target pushing sequence, wherein the target pushing sequence comprises data to be pushed and/or messages which are failed to be pushed to the user side.
8. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, when executing the program, to implement the method of pushing a message as claimed in any one of claims 1 to 7.
9. A readable storage medium, characterized in that it stores a computer program adapted to be loaded by a processor for performing the pushing method of a message according to any of claims 1 to 7.
10. A computer program product comprising computer program/instructions which, when executed by a processor, implement the method of pushing a message according to any of claims 1 to 7.
CN202310323536.6A 2023-03-29 2023-03-29 Message pushing method, electronic device, storage medium and computer program product Pending CN116366586A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310323536.6A CN116366586A (en) 2023-03-29 2023-03-29 Message pushing method, electronic device, storage medium and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310323536.6A CN116366586A (en) 2023-03-29 2023-03-29 Message pushing method, electronic device, storage medium and computer program product

Publications (1)

Publication Number Publication Date
CN116366586A true CN116366586A (en) 2023-06-30

Family

ID=86914543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310323536.6A Pending CN116366586A (en) 2023-03-29 2023-03-29 Message pushing method, electronic device, storage medium and computer program product

Country Status (1)

Country Link
CN (1) CN116366586A (en)

Similar Documents

Publication Publication Date Title
CN100462977C (en) Capture server, distribution server, method and system for generating webpage capture
US7904544B2 (en) Method and apparatus for estimating demand, and computer product
US20050033809A1 (en) Communications system providing server load balancing based upon weighted health metrics and related methods
US20110153828A1 (en) Load balancing apparatus and method for regulating load using the same
CN110932908B (en) Method, device and system for selecting network slice access
CN112866190A (en) Data interaction method, storage medium, electronic device and vehicle
CN113743951A (en) Intelligent contract transaction processing method and device for block chain
CN108363655B (en) User behavior characteristic analysis method and device
CN112163734B (en) Cloud platform-based setting computing resource dynamic scheduling method and device
CN116366586A (en) Message pushing method, electronic device, storage medium and computer program product
CN111258729B (en) Redis-based task allocation method and device, computer equipment and storage medium
CN110351330B (en) Data uploading method and device, computer equipment and storage medium
CN108200185A (en) A kind of method and device for realizing load balancing
CN111737000A (en) Method for realizing load balance
CN109815067B (en) Pressure testing method, pressure testing device, computer equipment and computer readable storage medium
CN107704201B (en) Data storage processing method and device
CN110069340B (en) Thread number evaluation method and device
CN108900865A (en) Server, the dispatching method of transcoding task and execution method
CN115221041A (en) Multi-device testing method and device, electronic device and storage medium
CN112019630B (en) Load balancing method and device
CN110677496B (en) Middleware service scheduling method and device and readable storage medium
CN116932290B (en) Data processing system for obtaining target model
CN108959662B (en) Content updating method and device
CN109598975A (en) Virtual parking area management method, server and computer readable storage medium
CN113132133B (en) Method, device, computing equipment and storage medium for distributing user configuration data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination