Message scheduling method, communication platform, electronic device and storage medium

By setting a cost selection range based on the minimum cost of the remaining channels and the number of sending attempts after SMS sending failures, and gradually increasing the target channel for cost selection, combined with a quality prediction model to optimize channel selection, the problem of insufficient resource utilization after SMS sending failures is solved, and the message sending success rate and resource utilization efficiency are improved.

CN116684377BActive Publication Date: 2026-06-09ALIBABA (CHINA) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ALIBABA (CHINA) CO LTD
Filing Date
2023-05-30
Publication Date
2026-06-09

Smart Images

  • Figure CN116684377B_ABST
    Figure CN116684377B_ABST
Patent Text Reader

Abstract

The one or more embodiments of the specification provide a message scheduling method, a communication platform, an electronic device and a computer readable storage medium. The method comprises: for a message with sending failure, determining remaining channels other than a sending failure channel; determining a cost selection interval according to a cost corresponding to a lowest cost channel in the remaining channels and a sending number of the message, the size of the cost selection interval being in a positive correlation with the sending number; determining a target channel from the remaining channels according to the cost selection interval; and resending the message by using the target channel. The balance between cost and quality is achieved in a cost progressive manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of data scheduling technology, and in particular to a message scheduling method, a communication platform, an electronic device, and a computer-readable storage medium. Background Technology

[0002] Currently, SMS is a common means of information delivery, used to push various messages to users, such as verification codes and marketing information. In one scenario, a communication platform can receive SMS messages sent by service providers, while behind the platform are multiple channels provided by different telecommunications operators to ensure resource availability. The communication platform can then send SMS messages to the receiving end through these channels. Summary of the Invention

[0003] In view of the above, one or more embodiments of this specification provide a message scheduling method, a communication platform, an electronic device, and a computer-readable storage medium.

[0004] To achieve the above objectives, one or more embodiments of this specification provide the following technical solutions:

[0005] According to a first aspect of one or more embodiments of this specification, a message scheduling method is proposed, comprising:

[0006] For messages that fail to be sent, identify the remaining channels other than the failed channel;

[0007] The cost selection range is determined based on the cost of the lowest cost channel among the remaining channels and the number of times the message is sent, and the size of the cost selection range is positively correlated with the number of times the message is sent.

[0008] The target channel is determined from the remaining channels according to the cost selection range;

[0009] The message is resent using the target channel.

[0010] In one implementation, determining the cost selection range based on the cost of the lowest-cost channel among the remaining channels and the number of times the message is sent includes:

[0011] The lower limit of the cost selection range is determined based on the cost corresponding to the lowest cost channel among the remaining channels; and the upper limit of the cost selection range is determined based on the cost corresponding to the lowest cost channel among the remaining channels and the number of times the message is sent, wherein the upper limit of the cost selection range is positively correlated with the number of times the message is sent.

[0012] One implementation also includes:

[0013] For the first message sent, select the target channel with the lowest cost from all channels, and use the target channel to send the message.

[0014] In one implementation, determining the target channel from the remaining channels according to the cost selection range includes:

[0015] From the remaining channels, determine the candidate channels that satisfy the cost selection range;

[0016] A pre-trained quality prediction model is used to predict the success rate of the message being sent to each candidate channel, in order to determine the target channel with the highest success rate.

[0017] In one implementation, predicting the success rate of the message being sent to each candidate channel using a pre-trained quality prediction model includes:

[0018] The message features of the message and the channel features of any candidate channel are input into the quality prediction model. The quality prediction model then performs prediction processing on the message features of the message and the channel features of the candidate channel to obtain the success rate of the message being sent to the candidate channel.

[0019] The quality prediction model is obtained through supervised training using training samples. The training samples include input features and sample labels. The input features include message features of historical messages and channel features of the channel used to send the historical messages. The sample labels include the sending results of the historical messages.

[0020] In one implementation, different channels can carry different message types;

[0021] The quality prediction model includes at least a first quality prediction model and a second quality prediction model; the accuracy of the first quality prediction model is higher than that of the second quality prediction model, and the first quality prediction model can predict fewer types of messages than the second quality prediction model.

[0022] The step of using a pre-trained quality prediction model to predict the success rate of the message being sent to each candidate channel includes:

[0023] Determine whether the message type of the failed message is a message type that the first quality prediction model can predict;

[0024] If so, use the first quality prediction model to predict the success rate of the message being sent to each candidate channel;

[0025] Otherwise, the success rate of the message being sent to each candidate channel is predicted using the second quality prediction model.

[0026] In one implementation, the first quality prediction model is obtained through supervised training using a first training sample; the first training sample includes input features and sample labels, the input features include first message features of historical messages belonging to the popular message type and first channel features of the channel used to send the historical message, and the sample labels include the sending results of the historical message;

[0027] The second quality prediction model is obtained through supervised training using the second training samples; the second training samples include input features and sample labels, the input features include second message features of historical messages belonging to any message type and second channel features of the channel used to send the historical message, and the sample labels include the sending results of the historical messages;

[0028] Wherein, the feature dimension of the first message feature is greater than the feature dimension of the second message feature; and / or, the feature dimension of the first channel feature is greater than the feature dimension of the second channel feature.

[0029] In one implementation, the popular message type is determined in the following way:

[0030] Based on the message type of the sent historical messages, count the number of historical messages corresponding to each message type;

[0031] All message types are sorted in descending order of the number of historical messages, and at least one message type at the top of the list is identified as a popular message type; alternatively, message types with a number of historical messages greater than a preset threshold are identified as popular message types.

[0032] In one implementation, the message includes real-time messages and non-real-time messages;

[0033] Among them, real-time messages are resent fewer times than non-real-time messages; and / or,

[0034] When the number of sending failures is the same, the upper limit of the cost selection range for real-time messages is higher than that for non-real-time messages.

[0035] According to a second aspect of one or more embodiments of this specification, a communication platform is provided, the communication platform being configured to communicate with an upstream server and receive messages sent by the upstream server; and the communication platform being further configured to send messages to a downstream client through a determined target channel;

[0036] The communication platform includes a message scheduling device, which is used to execute the message scheduling method described in any one of the first aspects.

[0037] According to a third aspect of the present disclosure, an electronic device is provided, comprising:

[0038] processor;

[0039] Memory used to store processor-executable instructions;

[0040] Wherein, when the processor executes the executable instructions, it is used to implement the method described in the first aspect.

[0041] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps of any of the methods described above.

[0042] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:

[0043] In this embodiment, for a message that fails to be sent, after determining the remaining channels besides the failed one, a cost selection range is determined based on the cost of the lowest-cost channel among the remaining channels and the number of times the message was sent. The size of the cost selection range is positively correlated with the number of times the message was sent. Then, a target channel is determined from the remaining channels according to the cost selection range; the message is resent using the target channel. This achieves a balance between cost and quality through a gradual cost approach, increasing the cost gradually during multiple retries of a message to increase the success rate of sending the message.

[0044] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0045] Figure 1 This is a structural diagram of a communication system provided in an exemplary embodiment.

[0046] Figure 2 This is a flowchart of a message scheduling method provided in an exemplary embodiment.

[0047] Figure 3 This is a structural diagram of a communication platform provided in an exemplary embodiment.

[0048] Figure 4 This is a schematic diagram of the structure of a device provided in an exemplary embodiment. Detailed Implementation

[0049] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.

[0050] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.

[0051] Currently, SMS is a common means of information delivery, used to push various messages to users, such as verification codes and marketing information. In one scenario, a communication platform can receive SMS messages sent by service providers. Behind the communication platform, multiple channels provided by different telecommunications operators offer resource guarantees. The communication platform can then send SMS messages to the recipient through these channels. Generally speaking, higher-quality channels are more expensive. Therefore, to maximize overall service quality, it's necessary to choose the highest-quality channel possible, which inevitably leads to a significant increase in costs.

[0052] To address the problems in related technologies, this specification provides a message scheduling method. For messages that fail to be sent, after identifying the remaining channels (excluding those that failed), a cost selection interval is determined based on the lowest-cost channel among the remaining channels and the number of times the message has been sent. The size of the cost selection interval is positively correlated with the number of times the message has been sent. Then, a target channel is determined from the remaining channels according to the cost selection interval; the message is then resent using the target channel. This embodiment achieves a balance between cost and quality through a gradual cost approach. During multiple retries of a message, the cost is gradually increased to increase the success rate of message transmission.

[0053] For some exemplary application scenarios, please refer to Figure 1The communication system shown includes an upstream server 10, a communication platform 20, and a downstream client 30. The communication platform 20 is used to communicate with the upstream server 10 and receive messages sent by the upstream server 10. The communication platform 20 is also used to send messages to the downstream client 30 through a channel provided by a communication operator. The communication platform 20 can schedule messages received from the upstream server 10 based on the message scheduling method provided in the embodiments of this specification, determine the target channel for sending messages, and then send the messages to the downstream client 30 through the determined target channel.

[0054] The communication platform can be deployed on one server, multiple servers, or in the cloud; this embodiment does not impose any restrictions on this.

[0055] In some embodiments, please refer to Figure 2 , Figure 2 This is a flowchart illustrating a message scheduling method provided in an embodiment of this specification. The method is illustrated by its application to a communication platform. The method includes:

[0056] In S101, for messages that fail to be sent, the remaining channels other than the failed channel are determined.

[0057] In S102, a cost selection interval is determined based on the cost of the lowest cost channel among the remaining channels and the number of times the message is sent. The size of the cost selection interval is positively correlated with the number of times the message is sent.

[0058] In S103, a target channel is determined from the remaining channels according to the cost selection range.

[0059] In S104, the message is retransmitted using the target channel.

[0060] In this embodiment, a balance between cost and quality is achieved through a gradual approach. During multiple retries of a message, the success rate of sending the message is increased by gradually increasing the cost.

[0061] In some embodiments, for the first message sent, the communication platform can select the target channel with the lowest cost from all channels and use the target channel to send the message. This embodiment allows even low-quality but low-cost channel resources to be fully utilized, and in the event of subsequent transmission failures, by gradually increasing the cost to expand the range of available channels, the success rate of message transmission can be maximized while ensuring cost control.

[0062] Considering that different communication operators provide different channels with capacity limits, and that different channels can carry different message types. For example, channel A supports sending 300 messages simultaneously, while channel B supports sending 100 messages simultaneously. Regarding message types, from a product perspective, message types include, but are not limited to, three product types: verification codes, notifications, and marketing messages; from a business perspective, message types include, but are not limited to, various business types such as financial messages, game information, educational messages, and shopping messages. Message types can be categorized from different dimensions according to actual circumstances; this embodiment does not impose any restrictions on this.

[0063] For the first message transmission, in addition to cost, the channel capacity and the types of messages it can carry must also be considered. Therefore, for the first message transmission, a target channel can be selected from all channels that can carry the message type, whose current message transmission capacity does not exceed the capacity limit, and has the lowest cost, and the target channel can be used to send the message.

[0064] In some embodiments, when a message fails to be sent through a channel provided by a telecommunications operator, the message is sent back to the communication platform, which then reschedules other suitable resources for transmission. For failed messages, the communication platform identifies remaining channels excluding the failed channels, channels unable to handle the message type, and channels whose current message transmission capacity exceeds their limit. The communication platform then determines a cost selection range based on the cost of the lowest-cost channel among the remaining channels and the number of times the message has been sent. The size of the cost selection range is positively correlated with the number of transmissions.

[0065] In one possible implementation, the communication platform can determine the lower limit of the cost selection range based on the cost corresponding to the lowest-cost channel among the remaining channels; and determine the upper limit of the cost selection range based on the cost corresponding to the lowest-cost channel among the remaining channels and the number of message transmissions, wherein the upper limit of the cost selection range is positively correlated with the number of transmissions. This embodiment determines the cost selection range in the above manner, ensuring that the increase in cost is within an expected range, and maximizing the message transmission success rate while maintaining limited cost fluctuations.

[0066] In one example, assuming the cost of the lowest-cost channel among the remaining channels is X, and the number of transmissions is 1, then the determined cost selection interval is [X, X*(100+A)%]. If the transmission fails, and the number of transmissions is 2, then the determined cost selection interval is [X, X*(100+A+B)%]. And so on. When preparing to send the message for the (N+2)th time, the number of transmissions is N+1, and the determined cost selection interval is [X, X*(100+A+NB)%], where N is an integer greater than 1, 0 < A < 100, 0 < B < 100, for example, A is 20 and B is 5.

[0067] In another example, suppose the cost of the lowest-cost channel among the remaining channels is X, and the number of transmissions is 1. Then the determined cost selection interval is [X, X*(100+C)%]. If the transmission fails, and the number of transmissions is 2, then the determined cost selection interval is [X, X*(100+2C)%]. And so on. When preparing to transmit the message for the (N+1)th time, the number of transmissions is N, and the determined cost selection interval is [X, X*(100+NC)%], where N is an integer greater than 1, and 0 < C < 100.

[0068] After determining the cost selection range, the communication platform can select a target channel from the remaining channels according to the cost selection range and resend the message using the target channel.

[0069] In one possible implementation, the communication platform can determine candidate channels that meet the cost selection range from the remaining channels, and then randomly select one of the candidate channels as the target channel to resend the message using the target channel.

[0070] In another possible implementation, considering that higher cost generally equates to higher communication quality, the communication platform can determine candidate channels from the remaining channels that satisfy the cost selection range, and then select the channel with the highest cost among the candidate channels as the target channel to resend the message.

[0071] In another possible implementation, the communication platform can determine candidate channels from the remaining channels that meet the cost selection range, use a pre-trained quality prediction model to predict the success rate of sending the message to each candidate channel, determine the target channel with the highest success rate, and resend the message using the target channel. This embodiment combines cost asymptotic and quality prediction methods. During multiple retries of the same message, the weight of cost in the scheduling process is gradually reduced, while the weight of quality in the scheduling process is gradually increased. This allows low-quality but low-cost channels to be fully utilized, further increasing the utilization rate of low-cost channels and ensuring that quality (i.e., message sending success rate) is maximized while maintaining limited cost fluctuations.

[0072] For example, the quality prediction model is obtained through supervised training using training samples; the training samples include input features and sample labels, the input features include message features of historical messages and channel features of the channel used to send the historical messages, and the sample labels include the sending results of the historical messages.

[0073] The message features include, but are not limited to, message type (such as product type, business type, etc. mentioned above), message content, message source, message sending time, and / or message triggering method. Considering that messages sent to different users generally have the same format—for example, verification code messages are usually "Verification code: XXXXXX, please do not disclose"—and the specific verification code content "XXXXXX" has little impact on quality prediction, to avoid leaking user privacy, a message content template can be used instead of the specific message content for model training.

[0074] Channel characteristics include, but are not limited to, the channel's capacity limit, the types of messages the channel can carry, cost, and quality (i.e., the success rate of sending messages through the channel).

[0075] Supervised learning is a machine learning task that infers functions from labeled training datasets. It uses samples with known characteristics as training sets to build a mathematical model (such as a discriminant model in pattern recognition, a weight model in artificial neural networks, etc.), and then uses the established model to predict unknown samples.

[0076] The training process of the quality prediction model is illustrated here: The following process is executed iteratively for several training samples until a loop termination condition is met: The current quality prediction model is used to obtain the predicted success rate of each historical message sent to a given channel in the training samples. If the loop termination condition is not met, the model parameters of the current quality prediction model are adjusted based on the predicted success rate of each historical message sent to a given channel and the actual sending results, to obtain an adjusted current quality prediction model. This adjusted current quality prediction model serves as the current quality prediction model for the next iteration. It is understood that the loop termination condition includes, but is not limited to, reaching a preset number of iterations, or the difference between the predicted success rate of each historical message sent to a given channel and the actual sending results being less than a preset difference, but is not limited to these conditions.

[0077] For example, during training, the electronic device can calculate a loss function based on the predicted success rate and actual transmission results of each historical message sent to the channel, and then adjust the model parameters of the quality prediction model in reverse based on the calculated loss value. The loss function includes, but is not limited to, the mean squared error loss function, the cross-entropy loss function, or the mean absolute error loss function, etc., and this embodiment does not impose any limitations on it.

[0078] In the practical application of the quality prediction model, after identifying at least one candidate channel that meets the cost selection range, the communication platform can input the message characteristics of the failed message and the channel characteristics of any candidate channel into the quality prediction model. The quality prediction model then performs prediction processing on the message characteristics of the message and the channel characteristics of the candidate channel to obtain the success rate of the message being sent to the candidate channel.

[0079] In some embodiments, considering that model accuracy and model running efficiency are negatively correlated to some extent—that is, the higher the model accuracy, the larger the amount of data to be processed, and the lower the model running efficiency—if all message types are modeled with high accuracy, the communication platform's resources may be insufficient to support the model's operation when there are many message types, resulting in low running efficiency. Therefore, to achieve a balance between model accuracy, model running efficiency, and the resources required for model operation, at least two quality prediction models with different accuracies and different coverage of message types can be trained according to the actual situation. For example, the quality prediction models may include at least a first quality prediction model and a second quality prediction model, where the first quality prediction model has higher accuracy than the second quality prediction model, and the first quality prediction model can predict fewer message types than the second quality prediction model. Thus, different models can be selected for success rate prediction in practical applications.

[0080] For example, considering that there are usually popular message types and unpopular message types among message types, and the message volume of popular message types is usually larger, it places higher demands on the accuracy of prediction results.

[0081] The communication platform can determine popular message types in the following ways. In one possible implementation, the platform can count the number of historical messages corresponding to each message type based on the message type of the sent historical messages; then sort all message types in descending order of the number of historical messages, and determine at least one message type that ranks highly as a popular message type. For example, the top three or the top n (n is a positive integer) message types can be determined as popular message types. In another possible implementation, the platform can count the number of historical messages corresponding to each message type based on the message type of the sent historical messages; then determine message types with a number of historical messages greater than a preset threshold as popular message types.

[0082] The first quality prediction model can be obtained by supervised training using the first training samples; the first training samples include input features and sample labels, the input features include the first message features of historical messages belonging to the popular message type and the first channel features of the channel used to send the historical message, and the sample labels include the sending results of the historical message.

[0083] For example, in order to ensure that success rate prediction can be performed for all message types, the second quality prediction model can be obtained by supervised training using the second training samples; the second training samples include input features and sample labels, the input features include second message features of historical messages belonging to any message type and second channel features of the channel used to send the historical message, and the sample labels include the sending results of the historical messages.

[0084] In terms of training data selection, the first message feature has more feature dimensions than the second message feature; and / or, the first channel feature has more feature dimensions than the second channel feature; thus, the accuracy of the first quality prediction model is higher than that of the second quality prediction model. For example, the first message feature may include message type (e.g., product type, business type, etc.), message content, message source, message sending time, and message triggering method; the second message feature may include message type (e.g., product type, business type, etc.) and message source.

[0085] Furthermore, to avoid the high-precision model consuming excessive runtime resources during long-term operation, the first quality prediction model is trained using only relevant data from historical messages belonging to popular message types, while the second quality prediction model is trained using relevant data from historical messages of all message types. This results in the first quality prediction model being able to predict fewer message types than the second quality prediction model.

[0086] In the practical application of the quality prediction model, after identifying at least one candidate channel that meets the cost selection range, the communication platform determines whether the message type of the failed message is a message type that the first quality prediction model can predict; if so, the first quality prediction model is used to predict the success rate of the message being sent to each candidate channel; otherwise, the second quality prediction model is used to predict the success rate of the message being sent to each candidate channel.

[0087] Of course, this embodiment does not impose any limitation on the number of quality prediction models. For example, a first quality prediction model, a second quality prediction model, and a third quality prediction model can be trained according to actual conditions. The accuracy of the first quality prediction model is higher than that of the second quality prediction model, and the accuracy of the second quality prediction model is higher than that of the third quality prediction model. Furthermore, the first quality prediction model can predict fewer message types than the second quality prediction model, and the second quality prediction model can predict fewer message types than the third quality prediction model. The step of using the pre-trained quality prediction model to predict the success rate of the message sent to each candidate channel includes: determining whether the message type of the failed message is a message type that the first quality prediction model can predict; if so, using the first quality prediction model to predict the success rate of the message sent to each candidate channel; if not, determining whether the message type of the failed message is a message type that the second quality prediction model can predict; if so, using the second quality prediction model to predict the success rate of the message sent to each candidate channel; otherwise, using the third quality prediction model to predict the success rate of the message sent to each candidate channel.

[0088] In some embodiments, failed messages can be retried indefinitely until they are successfully sent. Alternatively, considering the limited operating resources of the communication platform, the number of retries for failed messages can be preset according to actual conditions. If a message is not successfully sent after the retries have been reached, it will not be resent.

[0089] For example, messages include real-time messages and non-real-time messages; real-time messages include verification code messages and notification messages, while non-real-time messages include marketing messages. Real-time messages have high real-time requirements, and resending them after the time limit is exceeded is generally not very meaningful. Non-real-time messages, on the other hand, do not have time requirements, and can be retried multiple times if they fail to send. Therefore, the number of resends for real-time messages can be set less, while the number of resends for non-real-time messages can be set more. For example, the number of resends for real-time messages can be set less than the number of resends for non-real-time messages.

[0090] On the other hand, in order to ensure that real-time messages can be sent successfully within the specified time, a higher-cost channel can be selected. That is, when the number of sending failures is the same, the upper limit of the cost selection range for real-time messages is higher than the upper limit of the cost selection range for non-real-time messages, so as to improve the success rate of real-time message sending by increasing costs.

[0091] The various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features. However, due to space limitations, they are not described one by one. Therefore, the arbitrary combination of various technical features in the above embodiments is also within the scope of this specification.

[0092] In some embodiments, please refer to Figure 1 as well as Figure 3 This specification also provides a communication platform 20, which is used to communicate with an upstream server 10 and receive messages sent by the upstream server 10; and the communication platform 20 is also used to send messages to a downstream client 30 through a determined target channel.

[0093] The communication platform 20 includes a message scheduling device 21, which is used to execute the message scheduling method described above.

[0094] For example, the message scheduling device includes:

[0095] The remaining channel determination module is used to determine the remaining channels other than the failed channel for a message that failed to be sent.

[0096] The cost determination module is used to determine a cost selection range based on the cost of the lowest cost channel among the remaining channels and the number of times the message is sent, wherein the size of the cost selection range is positively correlated with the number of times the message is sent.

[0097] The target channel determination module is used to determine the target channel from the remaining channels according to the cost selection range.

[0098] The message retry module is used to resend the message using the target channel.

[0099] In some embodiments, Figure 4 This is a schematic structural diagram of a device provided in an exemplary embodiment. Please refer to... Figure 4At the hardware level, the device includes a processor 402, an internal bus 404, a network interface 406, memory 408, and non-volatile memory 410, and may also include other hardware required for business operations. One or more embodiments of this specification can be implemented in software, such as the processor 402 reading the corresponding computer program from the non-volatile memory 410 into memory 408 and then running it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0100] For example, message scheduling devices can be applied to, for example, Figure 4 The device shown is used to implement the technical solution described in this specification.

[0101] The message scheduling device may include:

[0102] The remaining channel determination module is used to determine the remaining channels other than the failed channel for a message that failed to be sent.

[0103] The cost determination module is used to determine a cost selection range based on the cost of the lowest cost channel among the remaining channels and the number of times the message is sent, wherein the size of the cost selection range is positively correlated with the number of times the message is sent.

[0104] The target channel determination module is used to determine the target channel from the remaining channels according to the cost selection range.

[0105] The message retry module is used to resend the message using the target channel.

[0106] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0107] In some embodiments, this specification also provides an electronic device, including: a processor; and a memory for storing processor-executable instructions; wherein the processor implements the method described in any one of the above embodiments by executing the executable instructions.

[0108] For example, the electronic device integrates a computer program product, and when the electronic device executes the computer program product, it implements the message scheduling method provided in the embodiments of this specification.

[0109] In some embodiments, this specification also provides a computer-readable storage medium having computer instructions stored thereon that, when executed by a processor, implement the steps of the method as described in any of the preceding embodiments.

[0110] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0111] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0112] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0113] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0114] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0115] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0116] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0117] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this specification. The singular forms “a,” “described,” and “the” used in one or more embodiments of this specification and in the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0118] It should be understood that although the terms first, second, third, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of one or more embodiments of this specification, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "in response to a determination," or "when," or "in the event of a determination."

[0119] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit the scope of one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the protection scope of one or more embodiments of this specification.

Claims

1. A message scheduling method, characterized in that, include: For messages that fail to be sent, identify the remaining channels other than the failed channel; The cost selection range is determined based on the cost corresponding to the lowest cost channel among the remaining channels and the number of times the message is sent. The lower limit of the cost selection range is determined based on the cost corresponding to the lowest cost channel among the remaining channels, and the upper limit of the cost selection range is determined based on the cost corresponding to the lowest cost channel among the remaining channels and the number of times the message is sent. The upper limit of the cost selection range is positively correlated with the number of times the message is sent. From the remaining channels, determine the candidate channels that satisfy the cost selection range; The message features of the message and the channel features of any candidate channel are input into a pre-trained quality prediction model. The quality prediction model performs prediction processing on the message features of the message and the channel features of the candidate channel to obtain the success rate of the message being sent to the candidate channel, thereby determining the target channel with the highest success rate. The quality prediction model is obtained through supervised training using training samples. The message is resent using the target channel.

2. The method according to claim 1, characterized in that, Also includes: For the first message sent, select the target channel with the lowest cost from all channels, and use the target channel to send the message.

3. The method according to claim 1, characterized in that, The training samples include input features and sample labels. The input features include message features of historical messages and channel features of the channel used to send the historical messages. The sample labels include the sending results of the historical messages.

4. The method according to claim 1, characterized in that, Different channels can carry different types of messages; The quality prediction model includes at least a first quality prediction model and a second quality prediction model; the accuracy of the first quality prediction model is higher than that of the second quality prediction model, and the first quality prediction model can predict fewer types of messages than the second quality prediction model. The step of using a pre-trained quality prediction model to predict the success rate of the message being sent to each candidate channel includes: Determine whether the message type of the failed message is a message type that the first quality prediction model can predict; If so, use the first quality prediction model to predict the success rate of the message being sent to each candidate channel; Otherwise, the success rate of the message being sent to each candidate channel is predicted using the second quality prediction model.

5. The method according to claim 4, characterized in that, The first quality prediction model is obtained by supervised training using the first training samples; the first training samples include input features and sample labels, the input features include the first message features of historical messages belonging to the popular message type and the first channel features of the channel used to send the historical message, and the sample labels include the sending results of the historical message; The second quality prediction model is obtained through supervised training using the second training samples; the second training samples include input features and sample labels, the input features include second message features of historical messages belonging to any message type and second channel features of the channel used to send the historical message, and the sample labels include the sending results of the historical messages; Wherein, the feature dimension of the first message feature is greater than the feature dimension of the second message feature; and / or, the feature dimension of the first channel feature is greater than the feature dimension of the second channel feature.

6. The method according to claim 5, characterized in that, The types of popular messages are determined in the following ways: Based on the message type of the sent historical messages, count the number of historical messages corresponding to each message type; All message types are sorted in descending order of the number of historical messages, and at least one message type at the top of the list is identified as a popular message type; alternatively, message types with a number of historical messages greater than a preset threshold are identified as popular message types.

7. The method according to any one of claims 1 to 6, characterized in that, The messages include real-time messages and non-real-time messages; Among them, real-time messages are resent fewer times than non-real-time messages; and / or, When the number of sending failures is the same, the upper limit of the cost selection range for real-time messages is higher than that for non-real-time messages.

8. A communication platform, characterized in that, The communication platform is used to communicate with the upstream server and receive messages sent by the upstream server; and The communication platform is also used to send messages to downstream clients through a defined target channel; The communication platform includes a message scheduling device, which is used to execute the message scheduling method according to any one of claims 1 to 7.

9. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor implements the method as described in any one of claims 1 to 7 by executing the executable instructions.

10. A computer-readable storage medium storing computer instructions thereon, characterized in that, When executed by the processor, this instruction implements the steps of the method as described in any one of claims 1 to 7.