Message pushing method and device based on touch strategy
By introducing a message push method based on reach strategy into the push platform, the problem of insufficient flexibility in message push channel management and control is solved, and flexible control of push functions and demand satisfaction in complex business scenarios are achieved.
Patent Information
- Application Number
- CN202411172124.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2024-12-10
AI Technical Summary
In the prior art, the management and control of message push channels lack flexibility, and the best push channel cannot be effectively selected for the task to be pushed, resulting in poor flexibility in push functions and unable to meet the needs of complex business scenarios.
By introducing a message push method based on the reach strategy in the push platform, obtain the push configuration parameters of the task to be pushed, combine business type information and preset strategies, evaluate the push indicator values of each message push channel, and dynamically adjust the target push channel to Achieve flexible control of push functions.
It realizes accurate evaluation and reasonable allocation of message push channels, improves the flexibility and efficiency of push functions, and meets the push task needs in complex business scenarios.
Smart Images

Figure CN119109977A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of Internet technology, in particular to the field of message push technology, and in particular to a message push method, device, equipment and medium based on a reach strategy. Background Art
[0002] With the rapid development of Internet software, people's daily life has been greatly facilitated. For example, recruitment software, food delivery software, shopping software, taxi-hailing software and other functional software basically have the need to send notification messages to users. In order to allow users to view notification messages, in addition to the functional software itself, other channels can also be selected to push messages, such as SMS, email, public accounts and other push channels. Moreover, for the same push channel, different channel technology suppliers can provide different message push channels for use, so the selectable message push channels are gradually diversified.
[0003] In the related technology, the same business system is usually connected to the same push channel, and all tasks to be pushed issued by the business system are processed by the same push channel. Therefore, the various push channels cannot be centrally connected, and there is decentralized management between the various push channels. It is impossible to flexibly select push channels and message push channels for tasks to be pushed. There is a lack of flexible control and management methods for various push channels, resulting in poor flexibility of the push function. Summary of the invention
[0004] In view of this, the embodiments of the present application provide a message push method, device, equipment, medium and product based on the reach strategy, which can integrate various message push channels, reasonably allocate message push channels for tasks to be pushed, realize flexible control of the push function, and meet the push task requirements in complex business scenarios.
[0005] In the first aspect, an embodiment of the present application provides a message push method based on a reach strategy, which is applied to a push platform, where the push platform is used to connect to various message push channels, and the message push channels are used to indicate push channels and channel technology suppliers. The method includes: when receiving each task to be pushed, obtaining push configuration parameters configured for each task to be pushed, wherein the push configuration parameters include a reach strategy selected for the task to be pushed, and the reach strategy includes any one of an optimal reach rate strategy, an optimal push cost strategy, and an optimal push speed strategy; for each task to be pushed, obtaining push evaluation information associated with the reach strategy in the push configuration parameters, and determining each push index value of the task to be pushed under each message push channel based on the push evaluation information, wherein the push index value is any one of a reach rate, a push cost, and a push delay; obtaining a preset push condition associated with the reach strategy in the push configuration parameters, and using a message push channel whose push index value meets the preset push condition as a target push channel; and using the target push channel to push at least one message indicated by the task to be pushed.
[0006] In some possible implementations of the first aspect, push evaluation information associated with the reach strategy in the push configuration parameters is obtained, including: obtaining business type information associated with the task to be pushed, wherein the business type information is used to indicate the push business scenario of the task to be pushed; based on the business type information, obtaining push evaluation information associated with the reach strategy in the push configuration parameters under the push business scenario.
[0007] In some implementable methods of the first aspect, the reach strategy is the optimal reach rate strategy, the push index value is the reach rate in the push business scenario, and the push index values of the tasks to be pushed in each message push channel are determined based on the push evaluation information, including: using the business type information as the query field, querying the message arrival volume and message sending volume of each message push channel in the push business scenario, and obtaining push evaluation information; determining the reach rate of each message push channel in the push business scenario based on the message arrival volume and message sending volume of each message push channel in the push business scenario.
[0008] In some implementable methods of the first aspect, the reach strategy is a push cost-optimal strategy, the push index value is the push cost in a push business scenario, and the push index values of the tasks to be pushed in each message push channel are determined based on the push evaluation information, including: using the business type information as a query field, querying the quotation table of each message push channel in the push business scenario, and obtaining push evaluation information, wherein the quotation table contains quotations corresponding to different message push volume intervals; based on the quotation table and the message push volume indicated by the tasks to be pushed, determining the push cost of each message push channel for processing the tasks to be pushed in the push business scenario.
[0009] In some possible implementations of the first aspect, the push configuration parameters also include push support parameters, which are used to indicate the push channels and / or channel technology providers supported by the task to be pushed, and based on the business type information, obtain push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario, including: combining the business type information and the push support parameters as a query field, querying all message push channels supported by the task to be pushed, and the push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario; wherein, the target push channel is a message push channel whose push index value meets the preset push conditions and is supported by the task to be pushed.
[0010] In some implementable methods of the first aspect, the reach strategy is a speed priority strategy, and push evaluation information associated with the reach strategy in the push configuration parameters is obtained, and each push indicator value of the task to be pushed under each message push channel is determined based on the push evaluation information, including: obtaining the message accumulation number and message push speed of the messages to be pushed in each message push channel from Redis to obtain push evaluation information, wherein the message accumulation number in the message push channel is queried based on a preset period; based on the message accumulation number and message push speed of the messages to be pushed in each message push channel, the push delay of each message push channel in the current period is determined; wherein, the target push channel corresponding to the task to be pushed is dynamically adjusted based on the push delay of each message push channel that changes in different periods.
[0011] In some implementable methods of the first aspect, the push configuration parameters also include channel priority, each message push channel includes multiple message queue partitions associated with the channel priority, different push resource indicators are allocated to different message queue partitions, and the push resource indicators are thread resources or single-time message consumption quotas. The target push channel is used to push at least one message indicated by the task to be pushed, including: when the channel priority is obtained by parsing the push configuration parameters, the task to be pushed is allocated to the message queue partition associated with the channel priority in the target push channel; based on the thread resources or single-time message consumption quota corresponding to the message queue partition, at least one message in the message queue partition is pushed, wherein the message push speed is positively correlated with the push resource indicator value.
[0012] In some implementable methods of the first aspect, the push resource indicator is a single consumption message amount quota, and based on the message push speed corresponding to the message queue partition, at least one message in the message queue partition is pushed, including: when the first message queue partition of the target push channel is empty, determining the message queue partition other than the first message queue partition in the target push channel as the second message queue partition; allocating the single consumption message amount quota of the first message queue to multiple second message queue partitions according to the proportion of channel priorities associated with the multiple second message queue partitions; and pushing at least one message based on the single consumption message amount quota corresponding to the reallocated second message queue partition.
[0013] In some implementation methods of the first aspect, at least one message indicated by the task to be pushed is pushed using a target push channel, including: when the number of target push channels is greater than 1, at least one message is distributed to each target push channel for pushing according to the ratio of the push index value of each target push channel.
[0014] In the second aspect, an embodiment of the present application provides a message push device based on a reach strategy, the device comprising: an acquisition module, for acquiring push configuration parameters configured for each task to be pushed when each task to be pushed is received, wherein the push configuration parameters include the reach strategy selected for the task to be pushed, and the reach strategy includes any one of the optimal reach rate strategy, the optimal push cost strategy, and the optimal push speed strategy; a determination module, for acquiring push evaluation information associated with the reach strategy in the push configuration parameters for each task to be pushed, and determining each push index value of the task to be pushed under each message push channel based on the push evaluation information, wherein the push index value is any one of the reach rate, the push cost, and the push delay; a channel allocation module, for acquiring preset push conditions associated with the reach strategy in the push configuration parameters, and using the message push channel whose push index value meets the preset push conditions as the target push channel; a message push module, for using the target push channel to push at least one message indicated by the task to be pushed.
[0015] In some possible implementations of the second aspect, the acquisition module includes: an acquisition sub-unit, used to obtain business type information associated with the task to be pushed, wherein the business type information is used to indicate the push business scenario of the task to be pushed; an acquisition sub-unit, also used to obtain push evaluation information associated with the reach strategy in the push configuration parameters under the push business scenario based on the business type information.
[0016] In some implementable methods of the second aspect, the reach strategy is the optimal reach rate strategy, the push index value is the reach rate in the push business scenario, and the determination module is specifically used to: use the business type information as the query field, query the message arrival volume and message sending volume of each message push channel in the push business scenario, and obtain push evaluation information; based on the message arrival volume and message sending volume of each message push channel in the push business scenario, determine the reach rate of each message push channel in the push business scenario.
[0017] In some implementable methods of the second aspect, the reach strategy is a push cost-optimal strategy, the push index value is the push cost in a push business scenario, and the determination module is specifically used to: use the business type information as the query field, query the quotation table of each message push channel in the push business scenario, and obtain push evaluation information, wherein the quotation table contains quotations corresponding to different message push volume intervals; based on the quotation table and the message push volume indicated by the task to be pushed, determine the push cost of each message push channel for processing the task to be pushed in the push business scenario.
[0018] In some possible implementation methods of the second aspect, the push configuration parameters also include push support parameters, which are used to indicate the push channels and / or channel technology suppliers supported by the task to be pushed, and the acquisition sub-unit is specifically used to: combine the business type information and the push support parameters as a query field, query all message push channels supported by the task to be pushed, and the push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario; wherein, the target push channel is a message push channel whose push index value meets the preset push conditions and is supported by the task to be pushed.
[0019] In some implementable methods of the second aspect, the reach strategy is a speed priority strategy, and the determination module is specifically used to: obtain the number of message accumulations and message push speeds of messages to be pushed in each message push channel from Redis, and obtain push evaluation information, wherein the number of message accumulations in the message push channel is queried based on a preset period; based on the number of message accumulations and message push speeds of messages to be pushed in each message push channel, determine the push delay of each message push channel in the current period; wherein, the target push channel corresponding to the task to be pushed is dynamically adjusted based on the push delays of each message push channel that change in different periods.
[0020] In some possible implementations of the second aspect, the push configuration parameters also include channel priority, each message push channel includes multiple message queue partitions associated with the channel priority, and different push resource indicators are allocated to different message queue partitions. The push resource indicators are thread resources or single-time consumption message quotas. The message push module includes: a queue allocation unit, which is used to allocate the task to be pushed to the message queue partition associated with the channel priority in the target push channel when the channel priority is obtained by parsing the push configuration parameters; a message push unit, which is used to push at least one message in the message queue partition based on the thread resources or single-time consumption message quota corresponding to the message queue partition, wherein the message push speed is positively correlated with the push resource indicator value.
[0021] In some implementable methods of the second aspect, the push resource indicator is a single consumption message amount quota, and the message push unit is specifically used to: when the first message queue partition of the target push channel is empty, determine the message queue partition other than the first message queue partition in the target push channel as the second message queue partition; allocate the single consumption message amount quota of the first message queue to multiple second message queue partitions according to the proportion of channel priorities associated with the multiple second message queue partitions; and push at least one message based on the single consumption message amount quota corresponding to the reallocated second message queue partition.
[0022] In some implementations of the second aspect, the message push module is specifically used to: when the number of target push channels is greater than 1, distribute at least one message to each target push channel for pushing according to the ratio of the push index value of each target push channel.
[0023] In a third aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the steps of the message push method based on the reach strategy of the first aspect are implemented.
[0024] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the steps of the message push method based on the reach strategy in the first aspect are implemented.
[0025] In a fifth aspect, an embodiment of the present application provides a computer program product, which is stored in a non-volatile storage medium. When the computer program product is executed by a processor, it implements the steps of the message push method based on the reach strategy in the first aspect.
[0026] In a sixth aspect, an embodiment of the present application provides a chip, which includes a processor and a communication interface, wherein the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the steps of the message push method based on the reach strategy in the first aspect.
[0027] The present application provides a message push method, device, equipment, medium and product based on the reach strategy. The message push channel is used to indicate the push channel and the channel technology supplier. The push platform can centrally and uniformly connect to the various message push channels provided by different channel technology suppliers. Based on this, when each task to be pushed is received, the reach strategy corresponding to each task to be pushed can be obtained by parsing the push configuration parameters configured by the business personnel for each task to be pushed, and then the push evaluation information associated with the reach strategy is obtained, and the push index values of the tasks to be pushed under each message push channel are determined based on the push evaluation information. In this way, the business personnel only need to specify the specific reach strategy, and the push platform can determine the push index values of each message push channel based on the evaluation dimension of the reach strategy, and then filter out the message push channels whose push index values meet the preset push conditions from the centrally managed message push channels as the target push channels. Compared with the push scheme that directly specifies the message push channel for the task to be pushed, through the accurate and effective evaluation of each message push channel, the message push channel can be reasonably allocated to the task to be pushed, and the flexible control of the push function can be achieved to meet the push task requirements in complex business scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order to more clearly illustrate the technical solution of the embodiments of the present application, the following briefly introduces the drawings in the embodiments of the present application.
[0029] Figure 1 It is a flowchart of a message push method based on a reach strategy provided in an embodiment of the present application;
[0030] Figure 2 It is a flowchart of a message push method based on a reach strategy provided by another embodiment of the present application;
[0031] Figure 3 It is a flowchart of a message push method based on a reach strategy provided in yet another embodiment of the present application;
[0032] Figure 4 It is a flowchart of a message push method based on a reach strategy provided in yet another embodiment of the present application;
[0033] Figure 5 It is a flowchart of a message push method based on a reach strategy provided in yet another embodiment of the present application;
[0034] Figure 6It is a structural diagram of a message push device based on a reach strategy provided in an embodiment of the present application;
[0035] Figure 7 It is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0036] The principles and spirit of the present application will be described below with reference to several exemplary embodiments. It should be understood that the purpose of providing these embodiments is to make the principles and spirit of the present application clearer and more thorough, so that those skilled in the art can better understand and implement the principles and spirit of the present application. The exemplary embodiments provided herein are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments herein, all other embodiments obtained by ordinary technicians of the art without creative work are within the scope of protection of this application.
[0037] In this document, terms such as first, second, third, etc. are only used to distinguish one entity (or operation) from another entity (or operation), but not to require or imply any order or relationship between these entities (or operations).
[0038] The following, in conjunction with the accompanying drawings, describes in detail the message push method based on the reach strategy provided by the embodiment of the present application through specific embodiments and their application scenarios.
[0039] Figure 1 It is a flow chart of a message push method based on a reach strategy provided in one embodiment of the present application. The executor of the message push method based on a reach strategy may be a push platform, which may be connected to various business systems, and which is used to receive tasks to be pushed issued by various business systems.
[0040] Exemplarily, in an online recruitment scenario, each business system may include the B-end and C-end corresponding to the online recruitment platform. The B-end may include the online talent recruitment system, online application recruitment system, training system, etc. used by recruiting users, and the C-end may include the job search system for fresh graduates, online application job search system, job recommendation system, etc. used by job seekers.
[0041] The following takes the execution subject of the message push method based on the reach strategy as the push platform as an example to illustrate the message push method based on the reach strategy of the present application. It should be noted that the above execution subject and application scenario do not constitute a limitation on the present application.
[0042] like Figure 1 As shown, the message push method based on the reach strategy provided in the embodiment of the present application may include steps 110 to 140.
[0043] Step 110, when each task to be pushed is received, the push configuration parameters configured for each task to be pushed are obtained;
[0044] Step 120: for each task to be pushed, obtain push evaluation information associated with the reach strategy in the push configuration parameters, and determine each push indicator value of the task to be pushed under each message push channel based on the push evaluation information;
[0045] Step 130, obtaining a preset push condition associated with the reach strategy in the push configuration parameters, and taking the message push channel whose push index value meets the preset push condition as the target push channel;
[0046] Step 140: Push at least one message indicated by the task to be pushed using the target push channel.
[0047] The message push method based on the reach strategy provided in the embodiment of the present application, the message push channel is used to indicate the push channel and the channel technology supplier, and the push platform can centrally and uniformly connect the various message push channels provided by different channel technology suppliers. Based on this, when receiving each task to be pushed, by parsing the push configuration parameters configured by the business personnel for each task to be pushed, the reach strategy corresponding to each task to be pushed can be obtained, and then the push evaluation information associated with the reach strategy is obtained, and the push index values of the tasks to be pushed under each message push channel are determined based on the push evaluation information. In this way, the business personnel only need to specify the specific reach strategy, and the push platform can determine the push index values of each message push channel based on the dimension where the reach strategy is located, and then filter out the message push channels whose push index values meet the preset push conditions from the centrally managed message push channels as the target push channels. Compared with the push scheme that directly specifies the message push channel for the task to be pushed, through the accurate and effective evaluation of each message push channel, the message push channel can be reasonably allocated for the task to be pushed, and the flexible control of the push function can be achieved to meet the push task requirements in complex business scenarios.
[0048] The specific implementation of the above steps will be described in detail below in conjunction with specific embodiments.
[0049] In step 110 , when each task to be pushed is received, a push configuration parameter configured for each task to be pushed is obtained.
[0050] In step 110, each task to be pushed is issued by each business system connected to the push platform, and the push platform can uniformly access each task to be pushed based on the message queue. In addition, the push platform can directly connect to each message push channel, and there is no need for the business system to connect to the message push channel. Each message push channel is provided by different channel technology suppliers and uses different topics so that different channels do not affect each other. The push channels can be SMS, official account, email, app push, app chat push (system messages, tips, etc. push methods, this application does not make specific restrictions on this.
[0051] The message push channel is used to indicate the push channel and the channel technology supplier. That is, the push channel + channel technology supplier can uniquely identify a message push channel. For example, SMS + supplier 1 is the SMS push channel provided by supplier 1. Each push channel can be provided by at least one channel technology supplier.
[0052] Each push task is used to indicate the push of at least one message. The present application does not make any specific limitation on the number of messages that the push task indicates to be pushed. If the task to be pushed is the main task, the number of messages indicated to be pushed is relatively large. If the task to be pushed is a subtask split from the main task, the number of messages indicated to be pushed is relatively small.
[0053] The push configuration parameters include the reach strategy selected for the task to be pushed, which includes any one of the optimal reach rate strategy, optimal push cost strategy, and optimal push speed strategy. The push configuration parameters can be manually configured by business personnel in the front-end interface. Business personnel can flexibly select the corresponding reach strategy for each task to be pushed based on the actual business needs.
[0054] Involving step 120, for each task to be pushed, the push evaluation information associated with the reach strategy in the push configuration parameters is obtained, and based on the push evaluation information, each push indicator value of the task to be pushed under each message push channel is determined.
[0055] In step 120, the push index value can be any one of the reach rate, push cost, and push delay. Different reach strategies have different associated push evaluation information responses, and different reach strategies can represent different evaluation dimensions. Therefore, by specifying the reach strategy, the push evaluation information of each message push channel under the corresponding evaluation dimension can be obtained, and based on the push evaluation information of each message push evaluation channel, the push index values of each message push channel under the same evaluation dimension can be determined, so as to realize channel evaluation screening under the same evaluation dimension.
[0056] Exemplarily, if the reach strategy is the optimal reach rate strategy, the reach rates of various message push channels can be calculated under the reach rate evaluation dimension, and the message push channel with the highest reach rate can be selected as the final target push channel.
[0057] In some embodiments of the present application, in order to improve the push effect of the push service, Figure 2 is a flow chart of a message push method based on a reach strategy provided by another embodiment of the present application. In the above step 120, the push evaluation information associated with the reach strategy in the push configuration parameters is obtained, which may specifically include Figure 2 Steps 210 and 220 are shown.
[0058] Step 210, obtaining the business type information associated with the task to be pushed, wherein the business type information is used to indicate the push business scenario of the task to be pushed;
[0059] Step 220, based on the business type information, obtain push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario.
[0060] Specifically, the business type information is the identification information of the push business scenario. The business type information can be carried in the task information of the task to be pushed. The business type information can be manually configured by personnel, or automatically matched by the system after the personnel configure the detailed information of the task to be pushed. The business type information can be a business type code (bizType). Each push business scenario pre-registers a business type code. The push platform can obtain the business type code of the task to be pushed by parsing the task information of the task to be pushed. Based on this, when obtaining the push evaluation information associated with the reach strategy, the business type code can be used as a query field to query the push evaluation information of each message push channel under the specified push business scenario.
[0061] For example, push business scenario 1 may be "when a recruiting user has not read a resume submission message for a long time, a reminder message is pushed", push business scenario 2 may be "when a job seeker has not read a job invitation message for a long time, a reminder message is pushed", push business scenario 3 may be "actively push a resume message for a recruiting user", and push business scenario 4 may be "actively push a job message for a job seeker". Among them, push business scenarios 1 and 3 may be the B-end used by recruiting users, and push business scenarios 2 and 4 may be the C-end used by job seekers.
[0062] In the embodiments of the present application, the same business system or different business systems have different push business scenarios. The present application can use business type information to distinguish different push business scenarios. Based on this, when the push platform obtains the task to be pushed issued by the business system, it can synchronously obtain the push business scenario to which the task to be pushed belongs, and based on the business type information, obtain the push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario, so as to realize the evaluation in combination with the push business scenario and select the target push channel that meets the reach conditions in the push business scenario. In this way, the target push channel is obtained by combining the push business scenario and the reach strategy screening, taking into account the reach effect of each message push channel in the same push business scenario, making the evaluation process more reasonable, and the push index value obtained is more accurate, so that the target push channel with better push effect in the specified push business scenario can be screened out, thereby improving the push effect of the push service.
[0063] In some embodiments of the present application, in order to improve the business stability of the push service, the reach strategy is the optimal reach rate strategy, and the push index value is the reach rate in the push service scenario. The above step 220 determines each push index value of the task to be pushed under each message push channel based on the push evaluation information, and may specifically include the following steps:
[0064] Use the business type information as the query field to query the message arrival volume and message sending volume of each message push channel in the push business scenario to obtain push evaluation information;
[0065] Based on the message arrival volume and message sending volume of each message push channel in the push business scenario, determine the reach rate of each message push channel in the push business scenario.
[0066] Specifically, for each message push channel, the message sending volume is the number of messages of historical tasks to be pushed with the same business type information pushed through the message push channel. Successful calling of the channel technology provider interface indicates that the message push is successful. After the push platform pushes the message, if the push message arrives successfully, it will receive the target receipt information, indicating that the message has been successfully reached. The target receipt information is the receipt information with the field value of the isSuccess field being 1. Therefore, the message arrival volume is the number of target receipt information received after the messages of historical tasks to be pushed with the same business type information are pushed through the message push channel.
[0067] For example, if the business type code of the current business to be pushed is X1, the push business scenario represented by it is "pushing a reminder message when the recruitment user has not read the resume submission message for a long time". Taking the message push channel channel 1 as an example, channel 1 is SMS + supplier 1. The number of messages to be pushed with the business type code X1 pushed through channel 1 before the current time is 1000, among which the number of messages that received the target receipt information is 800, and the reach rate of channel 1 in this push business scenario is 0.8.
[0068] In other embodiments of the present application, the reach rate of each message push channel in each push business scenario can be stored in redis and updated regularly, and the push platform can directly obtain it from redis. In an embodiment of the present application, the business type information is used as a query condition, and the reach status of each message push channel in the same push business scenario can be queried. By conducting a comprehensive comparative evaluation of the reach status of each message push channel in the same push business scenario, the message push channel with a higher reach rate can be screened out. In this way, a message push channel with a higher reach rate can be used as the final target push channel for message push, thereby improving the message reach rate of the task to be pushed, and thus improving the business stability of the push service.
[0069] As a specific example, Table (1) shows the field information contained in the receipt information, where the field value of the isSuccess field is 1, indicating that the message has been successfully delivered, and 0, indicating that the message has failed to be delivered.
[0070]
[0071]
[0072] In some embodiments of the present application, the push platform will first use a message push channel with a high reach rate to push messages. If the target receipt information is not received within the configured time range, the push platform will issue a secondary push plan. If the target receipt information is received, this single task will be marked as completed.
[0073] In some embodiments of the present application, in order to effectively control the push cost of the push service, the reach strategy is the push cost optimal strategy, and the push index value is the push cost in the push service scenario. The above step 220 determines each push index value of the task to be pushed under each message push channel based on the push evaluation information, and may specifically include the following steps:
[0074] Use the business type information as the query field to query the quotation table of each message push channel in the push business scenario to obtain the push evaluation information;
[0075] Based on the quotation table and the message push volume indicated by the tasks to be pushed, the push cost of each message push channel for processing the tasks to be pushed in the push business scenario is determined.
[0076] Specifically, the quotation table is associated with the business type information and the message push channel. Different push business scenarios correspond to different quotation tables, and different message push channels correspond to different quotation tables. For example, each business type information is associated with a scenario quotation table, and the scenario quotation table contains quotation tables for each message push channel. Each quotation table contains quotations corresponding to different message push volume intervals. The quotations corresponding to different message push volume intervals are different. The larger the message push volume corresponding to the message push volume interval, the lower the quotation.
[0077] Referring to the above example, if the business type code of the current business to be pushed is X1, the push business scenario it represents is "pushing a reminder message when the recruitment user has not read the resume submission message for a long time". Taking the message push channel channel 1 as an example, channel 1 is SMS + supplier 1, obtain the scenario quotation table associated with X1, and query the quotation table of channel 1 from it. If the number of messages to be pushed for the current task to be pushed is 800, then directly query (500,1000] The corresponding quotation is 0.02, and the push cost is calculated to be 800*0.02=16.
[0078] In an example, biztype, mpChannel (channel identifier), and techSupplier (channel technology supplier identifier) may be combined as query fields to query a quotation table for each message push channel in a push business scenario.
[0079] In the embodiment of the present application, if the cost-optimal strategy is selected, the push platform will simulate and calculate the push cost of each message push channel based on the message push volume of the task to be pushed and the quotation table in the push business scenario where the task to be pushed is located, and then give priority to the low-cost method of push. Compared with the solution in the prior art where the channel cost management is too rough and the reach cost is difficult to accurately calculate, the present application can flexibly and accurately estimate the push cost of each message push channel under the same push business scenario, judge whether the push exceeds the budget from different dimensions (such as the push business dimension, the push technology supplier dimension or the superposition dimension), effectively control the push cost of the push business, meet the actual needs of the enterprise, and have high practical value.
[0080] In some embodiments of the present application, in order to improve business stability while ensuring push business flexibility, the push configuration parameters may further include push support parameters, which are used to indicate push channels and / or channel technology providers supported by the task to be pushed. The above step 220 obtains push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario based on the business type information, which may specifically include:
[0081] The business type information and push support parameters are combined as query fields to query all message push channels supported by the task to be pushed, and the push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario.
[0082] Specifically, the target push channel is a message push channel whose push indicator value meets the preset push condition and is supported by the task to be pushed.
[0083] The push support parameters may include a push channel identifier mpChannel and / or a channel technology supplier identifier techSupplier, and the message push channels associated with the push support parameters are the message push channels supported by the task to be pushed. When the push support parameters only include push channels, all message push channels under the push channel are the message push channels supported by the task to be pushed; when the push support parameters only include channel technology suppliers, all message push channels of the channel technology supplier are the message push channels supported by the task to be pushed; when the push support parameters include push channels and channel technology suppliers, the message push channels associated with both the push channels and the channel technology suppliers are the message push channels supported by the task to be pushed.
[0084] In an embodiment of the present application, push support parameters can be configured synchronously by business personnel when configuring the reach strategy, that is, business personnel can flexibly specify the push channels or channel technology suppliers for the tasks to be pushed. For example, the same batch of tasks to be pushed may specify different push channels. For special tasks to be pushed, you can also directly specify the push channel + channel technology supplier, which is equivalent to directly specifying the message push channel. In this way, the push platform integrates message push channels and provides a variety of flexible control functions to ensure that each task to be pushed can be matched to an appropriate message push channel for push, thereby improving the stability of the push service and meeting the actual needs of the enterprise.
[0085] In some embodiments of the present application, in order to improve the push efficiency of the push service, the reach strategy is a speed priority strategy. Figure 3 is a flowchart of a message push method based on a reach strategy provided by another embodiment of the present application. The above step 120 may specifically include Figure 3 Steps 310 and 320 are shown.
[0086] Step 310, obtaining the message accumulation quantity and message push speed of each message push channel from Redis to obtain push evaluation information;
[0087] Step 320: Determine the push delay of each message push channel in the current cycle based on the accumulated number of messages to be pushed in each message push channel and the message push speed.
[0088] Among them, the number of accumulated messages in the message push channel is queried based on the preset period; the push delay of each message push channel will change with the period, so the target push channel corresponding to the task to be pushed can be dynamically adjusted based on the push delay of each message push channel in different periods. If the push platform does not receive the target receipt information within the configured time range, it can switch the message push channel to continue processing the task to be pushed.
[0089] For example, the task to be pushed is sent to Kafka, and the Java code can periodically obtain the number of message accumulations in Kafka and cache them in Redis for query by the push platform. If one hour is a cycle, the push platform will query the number of message accumulations of each message push channel every hour.
[0090] In an embodiment of the present application, in order to improve the push efficiency of the push service, the business personnel can specify the reach strategy as a speed priority strategy. Based on this, the present application can obtain the number of accumulated messages and the message push speed of messages to be pushed in each message push channel in real time, and accurately evaluate the push delay of each message push channel in the current cycle, and give priority to selecting unobstructed message push channels as the target push channels for tasks to be pushed, thereby improving the push efficiency of tasks to be pushed. In addition, the push platform can dynamically adjust the target push channels corresponding to the tasks to be pushed based on the push delays of each message push channel that change in different cycles, thereby ensuring the push efficiency of the tasks to be pushed.
[0091] Involving step 130, obtaining the preset push conditions associated with the reach strategy in the push configuration parameters, and taking the message push channel whose push indicator value meets the preset push conditions as the target push channel.
[0092] In step 130, different reach strategies are associated with different preset push conditions. For the reach rate priority strategy, the associated preset push condition may be that the reach rate satisfies the first preset condition; for the push cost priority strategy, the associated preset push condition may be that the push cost satisfies the second preset condition; for the push speed priority strategy, the associated preset push condition may be that the push speed satisfies the third preset condition.
[0093] Among them, the first preset condition may include at least one of the following: the highest reach rate, the top N reach rate ranking (arranged from high to low), and the reach rate is greater than the preset reach rate threshold; the second preset condition may include at least one of the following: the lowest push cost, the top N push cost ranking (arranged from low to high), and the push cost is less than the preset cost threshold; the third preset condition may include at least one of the following: the lowest push delay, the top N push delay ranking (arranged from low to high), and the push delay is less than the preset delay threshold. N is a positive integer, and the preset reach rate threshold, the preset cost threshold, the preset delay threshold, and the value of N can all be set according to specific needs, and this application does not make specific restrictions on this.
[0094] Involving step 140, at least one message indicated by the task to be pushed is pushed using the target push channel.
[0095] In step 410, the task to be pushed is sent to the target push channel, so that the target push channel pushes at least one message indicated by the task to be pushed based on the task information of the task to be pushed.
[0096] As a specific example, table (2) may be field information included in the task information:
[0097] Table (2)
[0098]
[0099]
[0100] In some embodiments, simple configuration fields in the task information can be implemented through template parameters, such as push method, channel technology supplier, frequency control, etc., and the embedded rule engine is used to support complex script configuration.
[0101] In some embodiments of the present application, in order to ensure the push efficiency of push services with high urgency and improve the stability of push services, the push configuration parameters may also include channel priorities. Each message push channel includes multiple message queue partitions associated with channel priorities. Different push resource indicators are allocated to different message queue partitions. The push resource indicators may be thread resources or a single consumption message quota. Figure 4 is a flowchart of a message push method based on a reach strategy provided by another embodiment of the present application. The above step 140 may specifically include Figure 4 Steps 410 and 420 are shown.
[0102] Step 410, when the channel priority is obtained by parsing the push configuration parameters, the task to be pushed is allocated to the message queue partition associated with the channel priority in the target push channel;
[0103] Step 420: Push at least one message in the message queue partition based on the thread resources corresponding to the message queue partition or the single consumption message quota.
[0104] Among them, thread resources are applicable to scenarios where multiple consumer threads push messages, and refer to the number of consumer threads allocated to the message queue partition; single consumption message quota is applicable to scenarios where a single consumer thread pushes messages, and refers to the number of messages allocated to the message queue partition when the consumer thread pulls messages for push at a time. The message push speed is positively correlated with the push resource indicator value. The more thread resources the message queue partition corresponds to or the higher the single consumption message quota, the faster the push platform pushes messages in the message queue partition; the message push speed is positively correlated with the channel priority. The higher the channel priority, the faster the message push speed.
[0105] Exemplarily, different message queue partitions of Kafka are used in the same message push channel to achieve channel priority. For example, four partitions are first created in Kafka, and the partition numbers are A, B, C, and D. Then the consumer distribution threads are based on the pre-configured priority ratio. For example, the priority of the four partitions is configured as 4:3:2:1. Taking the push resource indicator as the single consumption message quota as an example, the consumer thread will pull 400 messages from partition A, 300 messages from partition B, 200 messages from partition C, and 100 messages from partition D, and put these 1,000 messages into the push task queue. After all consumption is completed, 1,000 messages will be pulled again in proportion. In this way, high channel priority can achieve faster consumption speed (i.e., message push speed).
[0106] In the embodiment of the present application, since there are priorities in the tasks to be pushed, based on this, the present application can set the channel priority field in the push configuration parameters of the tasks to be pushed. After the target push channel is subsequently assigned to the tasks to be pushed, the tasks to be pushed can be sent to the message queue partition that matches the channel priority. In this way, it is possible to push messages to different message queue partitions at different push speeds in the same message channel, thereby ensuring the push efficiency of push services with high urgency and improving the stability of push services.
[0107] In some embodiments of the present application, in order to improve the availability of thread resources, the push resource indicator is a single consumption message amount quota, and the above step 420 pushes at least one message in the message queue partition based on the message push speed corresponding to the message queue partition, which may specifically include the following steps:
[0108] When the first message queue partition of the target push channel is empty, determining the message queue partition other than the first message queue partition in the target push channel as the second message queue partition;
[0109] Allocate the single consumption message amount quota of the first message queue to the multiple second message queue partitions according to the ratio of the channel priorities associated with the multiple second message queue partitions;
[0110] At least one message is pushed based on the single consumption message amount quota corresponding to the reallocated second message queue partition.
[0111] Specifically, the first message queue partition is a message queue partition that is not assigned to a task to be pushed. The higher the channel priority associated with the plurality of second message queue partitions, the more single consumption message quotas of the first message queues that are assigned.
[0112] Referring to the above example, if the push platform does not send tasks to be pushed to partition D, the consumer thread cannot pull any messages from partition D. Therefore, the push platform will allocate the single consumption message quota of 100 messages to partitions A, B, and C in a ratio of 4:3:2. In this way, if the remaining number of messages in a partition is not enough to pull, the task queue will be less than one thousand and will be consumed faster.
[0113] In the embodiment of the present application, since each message queue partition is allocated a corresponding single consumption message quota, if there is a message queue partition that is not allocated any task to be pushed, it will cause a waste of thread resources when pushing messages later. Based on this, the present application can allocate the single consumption message quota of the idle message queue partition to the remaining message queue partitions, so that the remaining message queue partitions can use more single consumption message quotas to push messages, improve the push speed of messages in the remaining message queue partitions, avoid the waste of idle consumption message quotas, and improve the availability of thread resources.
[0114] In some embodiments of the present application, the above step 140 uses the target push channel to push at least one message indicated by the task to be pushed, which may specifically include:
[0115] When the number of target push channels is greater than 1, at least one message is distributed to each target push channel for push according to the ratio of the push index value of each target push channel.
[0116] Specifically, under the optimal strategy of reach rate and the optimal strategy of push speed, the number of message allocations is positively correlated with the push index value; under the optimal strategy of push cost, the number of message allocations is negatively correlated with the push index value, and the lower the push cost, the higher the number of message allocations.
[0117] In the embodiment of the present application, when the push platform allocates target push channels for tasks to be pushed, it can allocate multiple target push channels for tasks to be pushed without limiting the number of allocated channels, and further improve the message push efficiency of tasks to be pushed. In this scenario, at least one message can be allocated to each target push channel for push according to the ratio of the push index value of each target push channel, so that target push channels with better reach effects are allocated with more message push numbers, so as to achieve a reasonable allocation of the number of message pushes and improve the message push effect of the push service.
[0118] In other embodiments, the push platform may evenly distribute all messages of the tasks to be pushed to each target push channel for pushing.
[0119] As a specific example, Figure 5 FIG. 1 is a flow chart of a message push method based on a reach strategy provided in another embodiment of the present application. Figure 5 As shown in the figure, the push platform can receive notification requests issued by various business systems, which are used to indicate the tasks to be pushed. The push platform is connected with the access module, task management module, rule engine module, execution module, system configuration module and MySQL database. The push platform connects the notification requests issued by various business systems to the message queue through the access module. The personnel configure the task information of the tasks to be pushed through the task management module, which specifically includes task details, task interception, black and white interception and manual retry; the system configuration module provides function switches and rule scripts when configuring the tasks to be pushed; the push platform implements the functions of obtaining configuration, message parsing, rule parsing and generating tasks through the rule engine module; obtaining configuration means obtaining the push configuration parameters of the tasks to be pushed, and the generated tasks to be pushed will be stored in the task table of the MySQL database, and the indicator table is used to store the push evaluation information associated with the reach strategy in the push configuration parameters. The task table and indicator table can be used as offline data to make relevant business reports; the policy center of the execution module can execute the reach strategy according to the configuration parameters of the tasks to be pushed, and route to the underlying channel through the channel routing function, and also provides abnormal testing and execution log functions.
[0120] In some embodiments of the present application, push data (sending data, arrival data, click data) is sent to a kafka message queue and synchronized to a data warehouse for making relevant reports and statistical data.
[0121] In some embodiments of the present application, the above step 140 may specifically include: pushing messages according to the message push order of the redis ordered set.
[0122] In an optional implementation of the above embodiment, each message indicated by the push task corresponds to a recipient identifier. When the first message in at least one message is pushed, the recipient identifier of the first message is used as the retrieval field to obtain the number of requests for the same recipient identifier in the time window before the current timestamp; when the number of requests is not greater than the preset request threshold, the recipient identifier of the first message is used as the key and the current timestamp is used as the value, a new piece of data is added to the redis ordered set, and the data is used as the message push sorting information of the first message; when the number of requests is greater than the preset request threshold, the first message is cleaned up and returned.
[0123] In another optional implementation of the above embodiment, each message indicated by the push task corresponds to a recipient identifier and a business type code. When the first message in at least one message is pushed, the recipient identifier and the business type code of the first message are combined to obtain the user scenario identifier, and the user scenario identifier is used as the retrieval field to obtain the number of requests for the same user scenario identifier in the time window before the current timestamp; when the number of requests is not greater than the preset request threshold, the user scenario identifier of the first message is used as the key and the current timestamp is used as the value, a new piece of data is added to the redis ordered set, and the data is used as the message push sorting information of the first message; when the number of requests is greater than the preset request threshold, the first message is cleaned up and returned.
[0124] In the embodiment of the present application, redis ordered sets are used for storage, and frequency control is implemented through a sliding window algorithm to ensure that the same user will not be pushed multiple times within a period of time. In addition, the frequency of messages can be controlled from different business scenario dimensions through business type coding to ensure that the same user will not receive push messages under the same business scenario multiple times within a period of time, thereby ensuring the message push effect in the business scenario dimension.
[0125] Corresponding to the method embodiment of the present application, the present application also provides a message push device based on a reach strategy.
[0126] Figure 6 Schematic diagram of a message push device based on a reach strategy provided by an embodiment of the present application. Figure 6 As shown, the message push device 600 based on the reach strategy may include: an acquisition module 610, a determination module 620, a channel allocation module 630, and a message push module 640.
[0127] Among them, the acquisition module 610 is used to obtain the push configuration parameters configured for each task to be pushed when each task to be pushed is received, wherein the push configuration parameters include the reach strategy selected for the task to be pushed, and the reach strategy includes any one of the optimal reach rate strategy, the optimal push cost strategy, and the optimal push speed strategy; the determination module 620 is used to obtain the push evaluation information associated with the reach strategy in the push configuration parameters for each task to be pushed, and determine the push indicator values of the task to be pushed under each message push channel based on the push evaluation information, wherein the push indicator value is any one of the reach rate, push cost, and push delay; the channel allocation module 630 is used to obtain the preset push conditions associated with the reach strategy in the push configuration parameters, and use the message push channel whose push indicator value meets the preset push conditions as the target push channel; the message push module 640 is used to use the target push channel to push at least one message indicated by the task to be pushed.
[0128] The message push device based on the reach strategy provided by the embodiment of the present application, the message push channel is used to indicate the push channel and the channel technology supplier, and the push platform can centrally and uniformly connect the various message push channels provided by different channel technology suppliers. Based on this, when receiving each task to be pushed, by parsing the push configuration parameters configured by the business personnel for each task to be pushed, the reach strategy corresponding to each task to be pushed can be obtained, and then the push evaluation information associated with the reach strategy is obtained, and the push index values of the tasks to be pushed under each message push channel are determined based on the push evaluation information. In this way, the business personnel only need to specify the specific reach strategy, and the push platform can determine the push index values of each message push channel based on the evaluation dimension of the reach strategy, and then filter out the message push channels whose push index values meet the preset push conditions from the centrally managed message push channels as the target push channels. Compared with the push scheme that directly specifies the message push channel for the task to be pushed, through the accurate and effective evaluation of each message push channel, the message push channel can be reasonably allocated for the task to be pushed, and the flexible control of the push function can be realized to meet the push task requirements in complex business scenarios.
[0129] In some embodiments of the present application, the acquisition module 610 includes: an acquisition sub-unit, used to obtain business type information associated with the task to be pushed, wherein the business type information is used to indicate the push business scenario of the task to be pushed; an acquisition sub-unit, further used to obtain push evaluation information associated with the reach strategy in the push configuration parameters under the push business scenario based on the business type information.
[0130] In some embodiments of the present application, the reach strategy is the optimal reach rate strategy, the push index value is the reach rate in the push business scenario, and the determination module 620 is specifically used to: use the business type information as the query field, query the message arrival volume and message sending volume of each message push channel in the push business scenario, and obtain push evaluation information; based on the message arrival volume and message sending volume of each message push channel in the push business scenario, determine the reach rate of each message push channel in the push business scenario.
[0131] In some embodiments of the present application, the reach strategy is a push cost-optimal strategy, and the push index value is the push cost in a push business scenario. The determination module 620 is specifically used to: use the business type information as a query field, query the quotation table of each message push channel in the push business scenario, and obtain push evaluation information, wherein the quotation table contains quotations corresponding to different message push volume intervals; based on the quotation table and the message push volume indicated by the task to be pushed, determine the push cost of each message push channel for processing the task to be pushed in the push business scenario.
[0132] In some embodiments of the present application, the push configuration parameters also include push support parameters, which are used to indicate the push channels and / or channel technology providers supported by the task to be pushed. The acquisition subunit is specifically used to: combine the business type information and the push support parameters as a query field, query all message push channels supported by the task to be pushed, and the push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario; wherein, the target push channel is a message push channel whose push index value meets the preset push conditions and is supported by the task to be pushed.
[0133] In some embodiments of the present application, the reach strategy is a speed priority strategy, and the determination module 620 is specifically used to: obtain the message accumulation number and message push speed of messages to be pushed in each message push channel from Redis, and obtain push evaluation information, wherein the message accumulation number in the message push channel is queried based on a preset period; based on the message accumulation number and message push speed of messages to be pushed in each message push channel, determine the push delay of each message push channel in the current period; wherein, the target push channel corresponding to the task to be pushed is dynamically adjusted based on the push delay of each message push channel that changes in different periods.
[0134] In some embodiments of the present application, the push configuration parameters also include channel priority, each message push channel includes multiple message queue partitions associated with the channel priority, and different push resource indicators are allocated to different message queue partitions. The push resource indicators are thread resources or single consumption message amount quotas. The message push module 640 includes: a queue allocation unit, which is used to allocate the task to be pushed to the message queue partition associated with the channel priority in the target push channel when the channel priority is obtained by parsing the push configuration parameters; a message push unit, which is used to push at least one message in the message queue partition based on the thread resources or single consumption message amount quota corresponding to the message queue partition, wherein the message push speed is positively correlated with the push resource indicator.
[0135] In some embodiments of the present application, the push resource indicator is a single consumption message amount quota, and the message push unit is specifically used to: when the first message queue partition of the target push channel is empty, determine the message queue partition other than the first message queue partition in the target push channel as the second message queue partition; allocate the single consumption message amount quota of the first message queue to multiple second message queue partitions according to the proportion of channel priorities associated with the multiple second message queue partitions; and push at least one message based on the single consumption message amount quota corresponding to the reallocated second message queue partition.
[0136] In some embodiments of the present application, the message push module 640 is specifically used to: when the number of target push channels is greater than 1, distribute at least one message to each target push channel for pushing according to the ratio of the push index value of each target push channel.
[0137] The message push device based on the reach strategy provided in the embodiment of the present application can achieve Figure 1-5 The various processes implemented by the service platform in the method embodiment can achieve the same technical effect. To avoid repetition, they will not be described here.
[0138] Figure 7 It is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application.
[0139] like Figure 7 As shown, the electronic device 700 includes a memory 701 , a processor 702 , and a computer program stored in the memory 701 and executable on the processor 702 .
[0140] In an example, the processor 702 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or may be configured to implement one or more integrated circuits of the embodiments of the present application.
[0141] The memory 701 may include a read-only memory (ROM), a random access memory (RAM), a disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Therefore, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer executable instructions, and when the software is executed (e.g., by one or more processors), it can be operated to perform the operations described with reference to the card opening method in the embodiment according to the first aspect of the present application.
[0142] The processor 702 runs a computer program corresponding to the executable program code by reading the executable program code stored in the memory 701, so as to implement the card activation method in the embodiment of the first aspect.
[0143] In some examples, the electronic device 700 may further include a communication interface 703 and a bus 710. Figure 7 As shown, the memory 701, the processor 702, and the communication interface 703 are connected via a bus 710 and communicate with each other.
[0144] The communication interface 703 is mainly used to realize the communication between the modules, devices, units and / or equipment in the embodiment of the present application. The communication interface 703 can also be used to access input devices and / or output devices.
[0145] The bus 710 includes hardware, software, or both, coupling the components of the electronic device 700 to each other. By way of example and not limitation, the bus 710 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a Memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-E) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or other suitable buses or a combination of two or more of these. Where appropriate, the bus 710 may include one or more buses. Although embodiments of the present application describe and illustrate a particular bus, the present application contemplates any suitable bus or interconnect.
[0146] The electronic device provided in the embodiment of the present application can realize Figure 1-5 The various processes implemented by the electronic device in the method embodiment can achieve the same technical effect, and to avoid repetition, they will not be described here.
[0147] In combination with the message push method based on the reach strategy in the above embodiment, the embodiment of the present application can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by the processor, the steps of any one of the message push methods based on the reach strategy in the above embodiment are implemented.
[0148] In combination with the message push method based on the reach strategy in the above embodiment, the embodiment of the present application can provide a computer program product for implementation. The (computer) program product is stored in a non-volatile storage medium, and when the program product is executed by at least one processor, it implements the steps of any one of the message push methods based on the reach strategy in the above embodiment.
[0149] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface and the processor are coupled, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned message push method embodiment based on the reach strategy, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
[0150] It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0151] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0152] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), appropriate firmware, plug-in, function card, etc. When implemented in software, the elements of the present application are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0153] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps, that is, the steps can be performed in the order mentioned in the embodiment, or in a different order from the embodiment, or several steps can be performed simultaneously.
[0154] Aspects of the present disclosure are described above with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It can also be understood that each box in the block diagram and / or flowchart and the combination of boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.
[0155] The above is only a specific implementation of the present application. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the protection scope of the present application is not limited to this. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the protection scope of this application.
Claims
1. A message push method based on a reach strategy, characterized in that: Applied to a push platform, the push platform is used to connect to various message push channels, the message push channels are used to indicate push channels and channel technology suppliers, the method includes: When each task to be pushed is received, the push configuration parameters configured for each task to be pushed are obtained, wherein the push configuration parameters include a reach strategy selected for the task to be pushed, and the reach strategy includes any one of a reach rate optimal strategy, a push cost optimal strategy, and a push speed optimal strategy; For each task to be pushed, obtain push evaluation information associated with the reach strategy in the push configuration parameters, and determine each push index value of the task to be pushed under each message push channel based on the push evaluation information, wherein the push index value is any one of the reach rate, push cost, and push delay; Acquire the preset push condition associated with the reach strategy in the push configuration parameter, and use the message push channel whose push index value meets the preset push condition as the target push channel; At least one message indicated by the task to be pushed is pushed using the target push channel.
2. The method according to claim 1, characterized in that The acquiring of push evaluation information associated with the reach strategy in the push configuration parameters includes: Acquire the business type information associated with the task to be pushed, wherein the business type information is used to indicate the push business scenario of the task to be pushed; Based on the business type information, push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario is obtained.
3. The method according to claim 2, characterized in that The reach strategy is a reach rate optimal strategy, the push index value is a reach rate in the push business scenario, and the push index values of the task to be pushed in each message push channel are determined based on the push evaluation information, including: Using the service type information as a query field, querying the message arrival volume and message sending volume of each message push channel in the push service scenario, and obtaining the push evaluation information; Based on the message arrival volume and message sending volume of each message push channel in the push business scenario, the reach rate of each message push channel in the push business scenario is determined.
4. The method according to claim 2, characterized in that: The reach strategy is a push cost optimization strategy, the push index value is a push cost in the push business scenario, and the push index values of the task to be pushed in each message push channel are determined based on the push evaluation information, including: Using the service type information as a query field, querying a quotation table of each message push channel in the push service scenario to obtain the push evaluation information, wherein the quotation table includes quotations corresponding to different message push volume intervals; Based on the quotation table and the message push amount indicated by the task to be pushed, a push cost for each message push channel to process the task to be pushed in the push business scenario is determined.
5. The method according to claim 2, characterized in that: The push configuration parameters further include a push support parameter, and the push support parameter is used to indicate the push channels and / or channel technology providers supported by the task to be pushed. The acquiring, based on the business type information, push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario includes: The business type information and the push support parameters are combined as a query field to query all message push channels supported by the task to be pushed, and the push evaluation information associated with the reach strategy in the push configuration parameters in the push business scenario; The target push channel is a message push channel whose push index value satisfies the preset push condition and is supported by the task to be pushed.
6. The method according to claim 1, characterized in that The reaching strategy is a speed priority strategy, and the acquiring of push evaluation information associated with the reaching strategy in the push configuration parameters, and determining each push index value of the task to be pushed under each message push channel based on the push evaluation information, includes: Obtaining the message accumulation number and message push speed of the messages to be pushed in each message push channel from Redis to obtain the push evaluation information, wherein the message accumulation number in the message push channel is queried regularly based on a preset period; Determine the push delay of each message push channel in the current cycle based on the accumulated number of messages to be pushed in each message push channel and the message push speed; The target push channel corresponding to the task to be pushed is dynamically adjusted based on the push delays of each message push channel that change in different periods.
7. The method according to claim 1, characterized in that The push configuration parameters further include a channel priority, each message push channel includes a plurality of message queue partitions associated with the channel priority, different push resource indicators are allocated to different message queue partitions, and the push resource indicators are thread resources or a single consumption message amount quota. The use of the target push channel to push at least one message indicated by the task to be pushed includes: In case the channel priority is obtained by parsing the push configuration parameter, the task to be pushed is allocated to the message queue partition associated with the channel priority in the target push channel; Based on the thread resources corresponding to the message queue partition or the single consumption message quota, at least one message in the message queue partition is pushed, wherein the message push speed is positively correlated with the push resource indicator value.
8. The method according to claim 7, characterized in that The push resource indicator is a single consumption message amount quota, and the at least one message in the message queue partition is pushed based on the message push speed corresponding to the message queue partition, including: In a case where the first message queue partition of the target push channel is empty, determining the message queue partition other than the first message queue partition in the target push channel as the second message queue partition; Allocate the single consumption message amount quota of the first message queue to the multiple second message queue partitions according to the ratio of the channel priorities associated with the multiple second message queue partitions; Based on the reallocated single consumption message amount quota corresponding to the second message queue partition, the at least one message is pushed.
9. The method according to claim 1, characterized in that: The using the target push channel to push at least one message indicated by the task to be pushed includes: When the number of the target push channels is greater than 1, the at least one message is distributed to each target push channel for pushing according to the ratio of the push index value of each target push channel.
10. A message push device based on a reach strategy, characterized in that: Applied to a push platform, the push platform is used to connect to various message push channels, the message push channels are used to indicate push channels and channel technology providers, the device includes: An acquisition module, configured to acquire, upon receiving each task to be pushed, push configuration parameters configured for each task to be pushed, wherein the push configuration parameters include a reach strategy selected for the task to be pushed, and the reach strategy includes any one of a reach rate optimal strategy, a push cost optimal strategy, and a push speed optimal strategy; A determination module, configured to obtain, for each task to be pushed, push evaluation information associated with the reach strategy in the push configuration parameters, and determine, based on the push evaluation information, each push index value of the task to be pushed under each message push channel, wherein the push index value is any one of the reach rate, the push cost, and the push delay; A channel allocation module, used to obtain a preset push condition associated with the reach strategy in the push configuration parameters, and use the message push channel whose push index value meets the preset push condition as the target push channel; The message pushing module is used to push at least one message indicated by the task to be pushed using the target pushing channel.
Citation Information
Patent Citations
Push channel selection, message pushing method, device and equipment, readable medium
CN107395697A
Distributed high-concurrent message queue pushing system
CN108874562A
Message pushing method, device and system
CN110324386A
Message pushing method and device, equipment and storage medium
CN110417920A
Message pushing method and device, server and computer scale storage medium
CN114301977A
