A short message traffic control method, a short message sending method and related devices

By acquiring historical data from the SMS dispatch system and generating a sending plan based on predicted new traffic, and combining this with model predictive control, the control problem of the SMS dispatch system during peak SMS traffic was solved, achieving stable SMS sending and cost reduction.

CN116668970BActive Publication Date: 2025-12-30ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310635573.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-31
Publication Date
2025-12-30
Estimated Expiration
2043-05-31

AI Technical Summary

Technical Problem

When SMS traffic peaks, the SMS dispatch system is unable to effectively control SMS traffic, causing some SMS messages to be sent through high-priced SMS service providers, thus increasing dispatch costs.

Method used

By acquiring historical SMS data and predicted new SMS traffic from the SMS scheduling system, an SMS sending plan is generated. The SMS scheduling system is controlled to send SMS messages at a stable volume without exceeding the maximum sending delay, and model predictive control is used for iterative correction.

Benefits of technology

It enables relatively stable SMS sending without exceeding the maximum SMS sending delay, thereby reducing the scheduling cost of the SMS scheduling system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116668970B_ABST
    Figure CN116668970B_ABST
Patent Text Reader

Abstract

The embodiments of the present specification provide a short message traffic control method, a short message sending method and related devices, wherein the short message traffic control method can synthesize the system state in the current time window based on the data prediction value (i.e., the predicted new short message traffic) and the historical short message data, and realize accurate control of the short message scheduling system through a rolling iteration mechanism in a continuous correction manner, thereby achieving the purpose of helping the short message scheduling system to send short messages in a relatively stable short message traffic without exceeding the maximum sending time delay of the short message, thereby reducing the scheduling cost of the short message scheduling system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments described in this specification relate to the field of computer application technology, specifically to SMS traffic control technology within the field of computer application technology, and more specifically, to an SMS traffic control method, an SMS sending method, and related apparatus. Background Technology

[0002] Short Message Service (SMS), also known as SMS, is one of the main means of information communication today. An SMS scheduler is responsible for dispatching a large number of SMS messages to various SMS service providers for delivery.

[0003] Controlling SMS traffic can help SMS dispatching systems send SMS messages with a relatively stable flow rate while not exceeding the maximum SMS sending delay, thereby reducing the scheduling costs for SMS traffic. Therefore, it is necessary to provide a method for controlling SMS traffic. Summary of the Invention

[0004] This specification provides a method for controlling SMS traffic, a method for sending SMS messages, and related devices through various embodiments, in order to help the SMS scheduling system send SMS messages with a relatively stable SMS traffic while not exceeding the maximum SMS sending delay.

[0005] Firstly, one embodiment of this specification provides a method for controlling SMS traffic, used to control an SMS dispatch system to send SMS messages, the method comprising:

[0006] Obtain historical SMS data from the SMS dispatch system; the historical SMS data is used to characterize at least one of SMS sending, SMS receiving, and SMS backlog within a historical preset time window of the SMS dispatch system.

[0007] Based on the total number of SMS messages to be sent in the current time window, the SMS dispatch system generates an SMS sending plan for the current time window; the SMS sending plan includes the planned SMS sending traffic within multiple unit time periods of the current time window; the total number of SMS messages to be sent in the SMS dispatch system is determined based on the historical SMS data and the predicted new SMS traffic; the predicted new SMS traffic is determined based on the historical SMS data, and the time window is not greater than the maximum SMS sending delay;

[0008] Based on the SMS sending plan, determine the actual SMS traffic sent within the current unit of time.

[0009] The SMS scheduling system is controlled to send SMS messages based on the actual SMS traffic.

[0010] Secondly, one embodiment of this specification provides a method for sending text messages, including:

[0011] In response to a text message sending instruction carrying a text message to be sent, the text message to be sent is regarded as a text message to be sent in the current time window of the text message scheduling system;

[0012] The SMS traffic control method described above controls the SMS scheduling system to send the SMS to be sent.

[0013] Thirdly, one embodiment of this specification provides a device for controlling SMS traffic, used to control an SMS dispatch system to send SMS messages, wherein the method for controlling SMS traffic includes:

[0014] The data acquisition module is used to acquire historical SMS data of the SMS dispatch system; the historical SMS data is used to characterize at least one of SMS sending, SMS receiving, and SMS backlog within a historical preset time window of the SMS dispatch system.

[0015] The plan generation module is used to generate an SMS sending plan for the current time window based on the total number of SMS messages to be sent in the current time window of the SMS scheduling system. The SMS sending plan includes the planned SMS sending traffic within multiple unit time periods of the current time window. The total number of SMS messages to be sent in the SMS scheduling system is determined based on the historical SMS data and the predicted new SMS traffic. The predicted new SMS traffic is determined based on the historical SMS data, and the time window is not greater than the maximum SMS sending delay.

[0016] The actual traffic module is used to determine the actual SMS traffic sent per unit time according to the SMS sending plan;

[0017] The SMS sending module is used to control the SMS scheduling system to send SMS messages based on the actual SMS sending traffic.

[0018] Fourthly, one embodiment of this specification provides a computing device, including: a processor and a memory;

[0019] The memory is connected to the processor and is used to store computer programs;

[0020] The processor is used to implement the SMS traffic control method or SMS sending method described above by running a computer program stored in the memory.

[0021] Fifthly, one embodiment of this specification provides a storage medium storing a computer program, which, when executed by a processor, implements the SMS traffic control method or SMS sending method described above.

[0022] Sixthly, one embodiment of this specification provides a computer program product or computer program, the computer program product or computer program including computer instructions stored in a computer-readable storage medium; the processor of the computer device reads the computer instructions from the computer-readable storage medium, and when the processor executes the computer instructions, it implements the steps of the above-described SMS traffic control method or SMS sending method.

[0023] This specification provides several embodiments that offer a method for controlling SMS traffic, an SMS sending method, and related apparatus. The method uses the total number of SMS messages to be sent in the current time window, determined by historical SMS data and predicted new SMS traffic, as the system state of the SMS scheduling system. Based on this system state, it generates an SMS sending plan for the current time window, allowing the total number of SMS messages to be sent to be sent over multiple time units within the current time window, thus smoothing out peak SMS traffic. Since the current time window is no greater than the maximum SMS sending delay, the SMS sending plan ensures that SMS messages are sent within the maximum sending delay. Then, based on the SMS sending plan, the actual SMS traffic sent within the current time unit is determined. Finally, the SMS scheduling system is controlled to send SMS messages based on the actual SMS traffic sent. In summary, the method for controlling SMS traffic synthesizes a system state within the current time window based on predicted data (i.e., the predicted new SMS traffic) and historical SMS data, and controls the SMS scheduling system based on this system state. This helps the SMS scheduling system send SMS messages with a relatively stable traffic flow while not exceeding the maximum SMS sending delay, thereby reducing the scheduling cost of the SMS scheduling system. Attached Figure Description

[0024] Figure 1 A schematic diagram illustrating an application scenario of a method for controlling SMS traffic as one embodiment of this specification;

[0025] Figure 2 A schematic diagram illustrating an application scenario of another SMS traffic control method provided as one embodiment of this specification;

[0026] Figure 3 A flowchart illustrating a method for controlling SMS traffic as one embodiment of this specification;

[0027] Figure 4A flowchart illustrating one embodiment of the SMS sending method provided in this specification;

[0028] Figure 5 A schematic diagram of a text message traffic control device provided for one embodiment of this specification;

[0029] Figure 6 This is a schematic diagram of the structure of a computing device provided for one embodiment of this specification. Detailed Implementation

[0030] Unless otherwise defined, the technical or scientific terms used in the embodiments of this specification shall have the ordinary meaning understood by one of ordinary skill in the art to which this specification pertains. The terms "first," "second," and similar terms used in the embodiments of this specification do not indicate any order, quantity, or importance, but are merely used to avoid confusion of constituent elements.

[0031] Unless the context otherwise requires, throughout this specification, "a plurality of" means "at least two," and "including" is interpreted as open-ended or encompassing, that is, "including, but not limited to." In the description of this specification, terms such as "one embodiment," "some embodiments," "exemplary embodiment," "example," "specific example," or "some examples" are intended to indicate that a particular feature, structure, material, or characteristic associated with that embodiment or example is included in at least one embodiment or example of this specification. The illustrative representations of the above terms do not necessarily refer to the same embodiment or example.

[0032] The technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0033] Overview

[0034] SMS is widely used in various production and daily life scenarios, serving as a crucial communication option for users. For example, when registering for and using certain computer applications, the application service provider may need to send an SMS message containing a verification code to the user for registration and / or login. The application service provider can rely on cloud communication service providers to fulfill this verification code sending requirement. To provide SMS services, the cloud communication service provider needs to purchase SMS services from various providers, such as telecommunications operators. The cloud communication service provider can purchase SMS services from multiple providers, establish communication connections with them, and deploy an SMS scheduling system to distribute the required SMS traffic among these providers, thus meeting SMS delivery needs while reducing scheduling costs. In other words, the SMS scheduling system can distribute the SMS messages the cloud communication service provider needs to send among different SMS service providers. For example, suppose a cloud communication service provider purchases SMS services from three SMS service providers: A, B, and C. According to the purchase order between the cloud communication service provider and the SMS service providers, there is a limit to the amount of SMS traffic that can be sent between the cloud communication service provider and SMS service providers A, B, and C. This means the SMS dispatch system has a limit to the amount of traffic it can allocate to a particular SMS service provider per unit of time. When the SMS traffic allocated to a particular SMS service provider reaches its limit, the excess SMS messages need to be allocated to other SMS service providers. Generally, the cost of sending a single SMS message through SMS service providers A, B, and C may differ. For example, the cost of sending a single SMS message through SMS service providers A, B, and C might be 0.1 yuan, 0.08 yuan, and 0.12 yuan per message, respectively. Therefore, allocating most or all of the SMS traffic to SMS service provider B is the lowest-cost allocation method.

[0035] However, due to the unpredictable nature and uncertain peak values ​​of SMS traffic, and the lack of standard mechanisms (such as physical and chemical properties) in SMS traffic scheduling scenarios, the high randomness and complexity of SMS traffic measurement make it impossible to use traditional control models for SMS traffic control in SMS scheduling systems. This inevitably leads to situations where some SMS messages are sent through high-priced SMS service providers (such as SMS service providers A or C described above) when SMS traffic peaks arrive, resulting in increased scheduling costs for the SMS scheduling system.

[0036] To help SMS dispatching systems send SMS messages with a relatively stable flow rate while not exceeding the maximum SMS sending delay, thereby reducing the scheduling cost of SMS traffic, the inventors discovered that the total number of SMS messages to be sent within the current time window, determined by historical SMS data and predicted new SMS traffic, can be used as the system state of the SMS dispatching system. Based on this system state, an SMS sending plan is generated for the current time window, allowing the total number of SMS messages to be sent to be sent over multiple time units within the current time window, achieving peak SMS traffic smoothing. Since the current time window is no greater than the maximum SMS sending delay, the SMS sending plan ensures that SMS messages are sent within the maximum delay. Then, based on the SMS sending plan, the actual SMS traffic per unit time is determined. Finally, the SMS dispatching system is controlled to send SMS messages based on the actual SMS traffic, achieving the purpose of iteratively correcting the planned SMS traffic within the current time window. In summary, the SMS traffic control method can synthesize the system state within the current time window based on data prediction values ​​(i.e., the predicted new SMS traffic) and historical SMS data, and control the SMS scheduling system according to the system state. This achieves the goal of helping the SMS scheduling system send SMS messages with a relatively stable SMS traffic while not exceeding the maximum SMS sending delay, thereby reducing the scheduling cost of the SMS scheduling system.

[0037] Based on the above concept, this specification provides a method for controlling SMS traffic. The method for controlling SMS traffic provided in this specification will be described exemplarily below with reference to the accompanying drawings.

[0038] Scenario Example

[0039] refer to Figure 1 and, Figure 1 and Figure 2 This demonstrates a feasible application scenario for the SMS traffic control method. Figure 1 In the application scenario shown, the SMS dispatch server 10 can have a built-in SMS dispatch system. Based on the SMS traffic control method, the system can dispatch SMS traffic to SMS service providers. The SMS dispatch server 10 can purchase services from multiple SMS service providers (e.g., Figure 1 The SMS service providers A, B, and C shown in the diagram can be used by an SMS dispatch system to route SMS traffic to these service providers, which will then deliver the SMS messages to the users.

[0040] exist Figure 1In this scenario, user A wants to send a pre-edited text message to user B. User A can send the message to SMS dispatch server 10. SMS dispatch server 10 can then control its built-in SMS dispatch system according to SMS traffic control methods, thereby managing SMS traffic. For example, in... Figure 1 In this process, the SMS dispatch system will dispatch the SMS message that user A wants to send to SMS service provider B, and SMS service provider B will then send the SMS message to user B.

[0041] exist Figure 2 In this scenario, user A wants to log in / register to an application running on application server 20. They send an SMS request (e.g., a verification code request) to application server 20. Application server 20 responds to the request, sending the generated SMS content to SMS dispatch server 10. SMS dispatch server 10 controls the SMS dispatch system according to SMS traffic control methods, enabling the scheduling of SMS traffic among SMS service providers A, B, and C. Figure 2 In the process, the SMS dispatch system dispatches the SMS content sent by the application server 20 to the SMS service provider C, so that the SMS service provider C sends the SMS to user A, and user A can perform login / registration operations according to the SMS content.

[0042] exist Figure 1 and Figure 2 In the application scenario shown, the SMS dispatch server 10 and application server 20 can be electronic devices with certain computing capabilities. They can have network communication modules, processors, and memory, etc. Of course, the server can also refer to software running on the electronic device. The server can also be a distributed server, a system with multiple processors, memory, network communication modules, etc., operating collaboratively. Alternatively, the server can be a server cluster formed by several servers. Or, with the development of science and technology, the server can also be a new technical means capable of realizing the corresponding functions of the embodiments described in the specification. For example, it can be a new form of "server" based on quantum computing.

[0043] Example method

[0044] One embodiment of this specification provides a method for controlling SMS traffic, such as... Figure 3 As shown, a method for controlling SMS dispatching system to send SMS messages is used. The SMS dispatching system is used to dispatch SMS messages to SMS service providers. The method for controlling SMS traffic includes:

[0045] S301: Obtain historical SMS data from the SMS dispatch system.

[0046] Historical SMS data can represent at least one of the following situations in the SMS dispatching system over a historical period (e.g., a historical preset time window, the size of which can be determined according to actual conditions; in some embodiments, the size of the time window can be 1 minute, 2 minutes, 5 minutes, etc.): SMS sending, receiving, and backlog. For example, historical SMS data can include at least one of the SMS sending volume, SMS receiving volume, and SMS backlog (or pending SMS volume) of the SMS dispatching system in the previous 5 minutes; historical SMS data can also include at least one of the SMS sending volume, SMS receiving volume, and SMS backlog of the SMS dispatching system in each unit of time in the previous 2 minutes, where the unit of time can be 1 minute or 30 seconds, and this specification does not limit this. SMS sending volume can represent the SMS sending situation of the SMS dispatching system. For example, if the SMS dispatching system completes the dispatching of 500,000 SMS messages within a certain unit of time (similarly, the size of this unit of time can be determined according to actual conditions; usually, the size of the unit of time is smaller than the size of the time window, and a time window can include multiple unit of time), then the SMS sending volume can be 500,000 messages. SMS reception volume characterizes the SMS reception status of the SMS dispatch system. For example, if the SMS dispatch system receives 100,000 new SMS messages that need to be dispatched within a certain unit of time, then the SMS reception volume can be 100,000. SMS backlog volume characterizes the SMS backlog status of the SMS dispatch system. For example, if, within a certain unit of time, after excluding the SMS messages sent, the SMS dispatch system still has 200,000 SMS messages waiting to be sent, then the SMS backlog volume is 200,000. In some implementations, the historical preset time window can be the previous time window adjacent to the current time window. In some implementations, considering the actual situation of the SMS dispatch system (e.g., the historical SMS data update rate of the SMS dispatch system), the historical preset time window can also be a historical time window that is separated from the current time window by one or more time windows.

[0047] In some implementations, besides using SMS sending volume, SMS receiving volume, and SMS backlog to represent the SMS sending, receiving, and backlog status of the SMS scheduling system, the SMS sending and receiving status can also be represented by sent SMS traffic and newly added SMS traffic. Sent SMS traffic and newly added SMS traffic can be measured in QPS (Queries Per Second). For example, if the SMS scheduling system sends 100 SMS messages per second, the sent SMS traffic can be represented as 100 QPS; if the SMS scheduling system receives 50 SMS messages per second waiting to be sent, the newly added SMS traffic can be represented as 50 QPS.

[0048] S302: Based on the total number of SMS messages to be sent in the current time window, the SMS dispatch system generates an SMS sending plan for the current time window; the SMS sending plan includes the planned SMS sending traffic within multiple unit time periods of the current time window; the total number of SMS messages to be sent in the SMS dispatch system is determined based on the historical SMS data and the predicted new SMS traffic; the predicted new SMS traffic is determined based on the historical SMS data, and the time window is not greater than the maximum SMS sending delay.

[0049] As mentioned earlier, the size of the time window can be determined based on the actual situation. The current time window can refer to the time window starting from the current moment. The predicted new SMS traffic can be obtained from the historical SMS data representing the SMS reception situation within the historical preset time window of the SMS scheduling system. For example, assuming the historical preset time window is the previous time window adjacent to the current time window, and a time window includes five units of time, then the historical SMS data includes the SMS reception traffic data of the SMS scheduling system within the previous time window: (INqps1, INqps2, INqps3, INqps4, INqps5), where INqps1 can represent the SMS traffic received by the SMS scheduling system (which can be called new SMS traffic) in the i-th (i = 1, 2, 3, 4, 5) unit of time within the historical preset time window. Based on this data, the new SMS traffic of the SMS scheduling system within the current time window can be predicted.

[0050] The total number of SMS messages to be sent in the SMS dispatch system refers to the total number of SMS messages that the SMS dispatch system needs to send within the current time window. Based on the predicted new SMS traffic and the historical SMS data, the total number of SMS messages to be sent, representing the system state of the SMS dispatch system, can be determined. For example, the number of SMS messages to be sent within the current time window can be predicted using historical SMS data, and combined with the predicted new SMS traffic, the total number of SMS messages to be sent by the SMS dispatch system can be obtained.

[0051] To ensure that the maximum sending delay of each SMS message does not exceed the maximum sending delay, the current time window can be set to be no greater than the maximum sending delay of the SMS message. Simultaneously, to avoid increased scheduling costs due to SMS peaks at a particular moment or time period, the goal can be to achieve zero SMS backlog in the SMS scheduling system within the current time window, with the total number of SMS messages to be sent defined as the total number of SMS messages to be sent within the current time window. This allows for the formulation of planned SMS sending volumes over multiple time units within the current time window. In some implementations, generating the SMS sending plan for the current time window based on the total number of SMS messages to be sent by the SMS scheduling system within the current time window includes:

[0052] With the goal of sending all the SMS messages to be sent in the SMS scheduling system within the current time window, an SMS sending plan is generated for the current time window.

[0053] In this way, the SMS sending plan can ensure that the total number of SMS messages to be sent can be completed within the current time window, and that each SMS message can be sent within the maximum sending delay.

[0054] For example, suppose the maximum SMS sending delay is 5 minutes (meaning the SMS needs to be sent within a maximum of 5 minutes), each time window is 5 minutes, each unit of time is 1 minute, and the total number of SMS messages to be sent is 6000. In this case, the SMS sending plan could be to send 1200 SMS messages per minute within the next 5 minutes, with a planned SMS sending traffic of 1200 / 60 = 20 QPS per minute. This theoretically ensures that the total number of SMS messages to be sent can be completed within the current time window, and the sending delay of each SMS message does not exceed the maximum sending delay.

[0055] S303: Based on the SMS sending plan, determine the actual SMS traffic sent per unit time.

[0056] S304: Control the SMS scheduling system to send SMS messages based on the actual SMS sending traffic.

[0057] Because the SMS dispatching system needs to consider not only sending SMS messages according to the SMS sending plan but also other influencing factors when performing actual SMS dispatching, in step S303, the actual SMS sending traffic when the SMS dispatching system is actually controlled within the current unit time can be determined according to the SMS sending plan. Then, in step S304, the SMS dispatching system is controlled to send SMS messages based on the actual SMS sending traffic. For example, assuming the planned SMS sending traffic within the current unit time is 20 QPS, but due to various factors, the actual SMS sending traffic determined in step S303 is 18 QPS, then in step S304, the SMS dispatching system is controlled to send SMS messages at 18 QPS.

[0058] In summary, the SMS traffic control method can synthesize the system state within the current time window based on data prediction values ​​(i.e., the predicted new SMS traffic) and historical SMS data, and achieve precise control of the SMS scheduling system through continuous correction via a rolling iteration mechanism. This helps the SMS scheduling system send SMS messages with a relatively stable traffic flow without exceeding the maximum SMS sending delay, thereby reducing the scheduling cost of the SMS scheduling system.

[0059] In some implementations, the actual SMS traffic sent in the current unit of time may differ from the planned SMS traffic. In this case, the historical SMS data in the next unit of time will change. To continuously iterate and correct the SMS sending plan, in one implementation of this specification, step S304 further includes:

[0060] Return to the steps for obtaining historical SMS data from the SMS dispatch system.

[0061] In this embodiment, by repeatedly executing steps S301 to S304 on the SMS sending plan by retrieving historical SMS data from the SMS scheduling system, the planned SMS sending volume within the current time window is iteratively corrected. Through continuous correction via a rolling iteration mechanism, precise control of the SMS scheduling system is achieved, ultimately ensuring that the total number of SMS messages to be sent is completed within the current time window.

[0062] In some implementations, a step is provided to determine the acquisition of predicted new SMS traffic. Specifically, the historical SMS data includes new SMS traffic of the SMS scheduling system within multiple historical preset time periods.

[0063] The steps for obtaining the predicted new SMS traffic include:

[0064] The new SMS traffic of the SMS scheduling system within multiple historical preset time periods in the historical SMS data is used as a prediction sequence.

[0065] The predicted sequence is input into a pre-set time series model to obtain the predicted new SMS traffic.

[0066] The new SMS traffic of the SMS dispatch system can represent the SMS reception status within the historical preset time window of the SMS dispatch system.

[0067] Time series models are statistical models used to predict future trends. They are primarily used to analyze time-series data, i.e., data arranged in chronological order. Although SMS traffic has uncertain peak values, leading to significant deviations between short-term time-series predictions and actual values, this solution does not require precise time-point SMS traffic values. As long as the growth trend of new SMS traffic can be predicted, the SMS sending plan can be iteratively revised, thereby helping the SMS scheduling system to send SMS messages with a relatively stable traffic volume while not exceeding the maximum SMS sending delay. Predicting new SMS traffic based on time series models has the advantages of strong robustness and ease of implementation.

[0068] As mentioned above, multiple historical preset time units can be multiple time units within a historical preset time window. When the historical preset time window is the previous time window adjacent to the current time window, the multiple historical preset time units can be multiple time units within the previous time window adjacent to the current time window.

[0069] In one implementation, the historical SMS data also includes the number of SMS messages to be sent and the amount of SMS messages sent by the SMS scheduling system within multiple historical preset time units.

[0070] The method for obtaining the total number of SMS messages to be sent in the SMS scheduling system includes:

[0071] Based on the predicted new SMS traffic, the amount of SMS messages to be sent and the amount of SMS messages already sent by the SMS scheduling system within multiple historical preset time periods, the status data of the SMS scheduling system within multiple time periods is synthesized; the status data is used to characterize the rate of change of the amount of SMS messages to be sent by the SMS scheduling system within the time period.

[0072] The system change rate is obtained by weighted summing of the status data of the SMS scheduling system in multiple time units. The system change rate is used to characterize the change rate of the number of SMS messages to be sent in the current time window.

[0073] The total number of SMS messages to be sent in the SMS scheduling system is obtained based on the system change rate and the number of SMS messages to be sent in the previous historical preset unit time period in the historical SMS data.

[0074] Because this scheme adopts a rolling optimization strategy, the SMS sending plan is re-formulated every unit of time. Therefore, the SMS sending plan in a single iteration process (i.e., steps S301 to S303) can be regarded as a constant plan. The goal of the SMS scheduling system is to ensure that the historical backlog (i.e., the number of SMS messages to be sent) of the system is zero under the condition of maximum SMS sending delay. However, the actual traffic in the SMS scheduling system is not stable and is obviously a nonlinear system. It can be simplified into a linear system through linearization operations. The state data is synthesized based on the predicted new SMS traffic, the number of SMS messages to be sent in the SMS scheduling system within multiple historical preset unit time periods, and the measured traffic of sent SMS messages.

[0075] After obtaining the status data, the system change rate is obtained by weighted summing of the status data of the SMS scheduling system over multiple time units. Finally, the total number of SMS messages to be sent in the SMS scheduling system can be obtained by combining the number of SMS messages to be sent in the previous historical preset time unit (i.e., the backlog of SMS messages in the SMS scheduling system up to the current moment).

[0076] In this embodiment, the total number of SMS messages to be sent is easily obtained by linearizing the SMS traffic in the SMS scheduling system.

[0077] In one implementation, step S303 may include:

[0078] Based on the SMS sending plan, the actual SMS sending volume per unit time is determined using model predictive control.

[0079] Model Predictive Control (MPC) is a special type of control where the current control action is obtained at each sampling instant by solving a finite-time open-loop optimization control problem. The current state of the process serves as the initial state of the optimization control problem, and the resulting optimal control sequence only implements the first control action.

[0080] The actual SMS traffic per unit time is determined by model predictive control, which is used to control the SMS scheduling system. This method has the advantages of good control performance (reducing control error, increasing system efficiency, etc.).

[0081] In one implementation, determining the actual SMS traffic per unit time using model predictive control based on the SMS sending plan includes:

[0082] Using the planned SMS volume to be sent within the current unit time period as the target, a system state equation is established using a first control matrix, a second control matrix, the amount of SMS messages to be sent in the previous historical preset unit time period from the historical SMS data, and the actual SMS volume sent within the current unit time period. The first control matrix is ​​used to characterize the influence of the amount of SMS messages to be sent in the previous historical preset unit time period from the historical SMS data on the SMS scheduling system; the second control matrix is ​​used to characterize the influence of the actual SMS volume sent within the current unit time period on the SMS scheduling system.

[0083] Solve the system state equation to obtain the actual SMS traffic sent per unit time.

[0084] When determining the actual SMS sending volume per unit time using model predictive control, a linearized SMS scheduling system can be represented by the state equation CP = Ax + Bu, where A and B are the first and second control matrices, respectively; CP represents the planned SMS sending volume per unit time; x represents the number of SMS messages to be sent in the previous historical preset unit time from the historical SMS data; and u represents the actual SMS sending volume per unit time. Flexible control of u at the solution can be achieved by adjusting A and B.

[0085] In one embodiment of this specification, the SMS dispatch system includes multiple SMS channels, which are used to connect the SMS dispatch system with an SMS service provider. Each SMS channel corresponds to an SMS sending unit price and a maximum SMS volume. Assuming there is an SMS service provider A, and SMS channel a connects SMS service provider A and the SMS dispatch system, then the SMS sending unit price and maximum SMS volume corresponding to SMS channel a are the price and maximum SMS volume agreed upon in the SMS service purchase order between the SMS dispatch system and SMS service provider A for sending one SMS message.

[0086] Step S304 includes:

[0087] S3041: Among multiple first SMS channels, the first SMS channel with the lowest SMS sending unit price is selected as the target SMS channel; the first SMS channel is the SMS channel whose current SMS traffic is less than the corresponding maximum SMS traffic.

[0088] S3042: Send the actual SMS traffic through the target SMS channel.

[0089] The current SMS traffic of the first SMS channel can refer to the current SMS traffic load of the first SMS channel. For example, if the first SMS channel is sending SMS messages at 10 QPS, then the current SMS traffic of the first SMS channel is 10 QPS. In step S3041, the maximum SMS traffic corresponding to the SMS channel refers to the maximum SMS traffic that the SMS channel can handle. For example, assuming that the maximum SMS traffic that a certain SMS channel can handle is 20 QPS, then the maximum SMS traffic corresponding to that SMS channel is 20 QPS.

[0090] In this embodiment, firstly, step S3041 selects the first SMS channel with the lowest SMS sending unit price from multiple SMS channels whose current SMS traffic does not exceed the corresponding maximum SMS traffic as the target SMS channel. Then, step S3042 sends the actual SMS traffic through the target SMS channel, which can reduce the scheduling cost of SMS traffic.

[0091] In some implementations, when the actual SMS traffic exceeds the SMS traffic capacity of the target SMS channel, the process can return to step S3041, redetermine the target SMS channel, and send the remaining actual SMS traffic through the redetermined target SMS channel. This ensures that all actual SMS traffic can be sent while keeping the sending cost low.

[0092] Accordingly, the embodiments of this specification also provide a method for sending text messages, such as... Figure 4 As shown, it includes:

[0093] S401: In response to a text message sending instruction carrying a text message to be sent, the text message to be sent is used as a text message to be sent in the current time window of the text message scheduling system.

[0094] S402: The SMS traffic control method described in any of the above embodiments controls the SMS scheduling system to send the SMS to be sent.

[0095] The SMS messages to be sent can be considered as new SMS traffic in the current time window of the SMS scheduling system, and can be scheduled and sent according to the SMS traffic control method described in any of the above embodiments. For specific limitations and beneficial effects of the SMS traffic control method, please refer to the relevant descriptions above, which will not be repeated here.

[0096] Example device

[0097] Based on the same concept, this specification also provides a device for controlling SMS traffic, such as... Figure 5 As shown, the method for controlling SMS traffic in a scheduling system includes:

[0098] Data acquisition module 501 is used to acquire historical SMS data of the SMS dispatch system; the historical SMS data is used to characterize at least one of SMS sending, SMS receiving, and SMS backlog within a historical preset time window of the SMS dispatch system;

[0099] The plan generation module 502 is used to generate an SMS sending plan for the current time window based on the total number of SMS messages to be sent in the current time window of the SMS scheduling system. The SMS sending plan includes the planned SMS sending traffic within multiple unit time periods of the current time window. The total number of SMS messages to be sent in the SMS scheduling system is determined based on the historical SMS data and the predicted new SMS traffic. The predicted new SMS traffic is determined based on the historical SMS data. The time window is not greater than the maximum SMS sending delay.

[0100] The actual traffic module 503 is used to determine the actual SMS traffic sent per unit time according to the SMS sending plan;

[0101] The SMS sending module 504 is used to control the SMS scheduling system to send SMS messages based on the actual SMS sending traffic.

[0102] The SMS traffic control device provided in this embodiment belongs to the same application concept as the SMS traffic control method provided in the above embodiments of this specification. It can execute the SMS traffic control method provided in any of the above embodiments of this specification and has the corresponding functional modules and beneficial effects for executing the SMS traffic control method. Technical details not described in detail in this embodiment can be found in the specific processing content of the SMS traffic control method provided in the above embodiments of this specification, and will not be repeated here.

[0103] Example computing devices, storage media, and software

[0104] Another embodiment of this specification also proposes a computing device, see [link to documentation]. Figure 6 As shown, an exemplary embodiment of this specification also provides a computing device, including: a memory and a processor, the memory storing a computer program, the processor executing the computer program to perform steps in the SMS traffic control method or SMS sending method according to various embodiments of this specification described above.

[0105] The internal structure of the computing device can be as follows: Figure 6 As shown, the computing device includes a processor, memory, network interface, and input device connected via a system bus. The processor provides computing and control capabilities. The memory of the central control device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface of the computing device is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it follows the steps of the SMS traffic control method or SMS sending method according to the various embodiments of this specification described above.

[0106] The processor may include the main processor, as well as baseband chips, modems, etc.

[0107] The memory stores a computer program that executes the technical solution of this invention, and may also store an operating system and other key programs. Specifically, the computer program may include program code, which includes computer operation instructions. More specifically, the memory may include read-only memory (ROM), other types of static storage devices capable of storing static information and instructions, random access memory (RAM), other types of dynamic storage devices capable of storing information and instructions, disk storage, flash memory, etc.

[0108] The processor can be a general-purpose processor, such as a general-purpose processor (CPU), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present invention. It can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0109] Input devices may include devices that receive data and information input by the user, such as keyboards, mice, cameras, scanners, light pens, voice input devices, touch screens, pedometers, or gravity sensors.

[0110] Output devices may include devices that allow information to be output to the user, such as displays, printers, speakers, etc.

[0111] The communication interface may include any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.

[0112] The processor executes the computer program stored in the memory and calls other devices, which can be used to implement any of the steps of the SMS traffic control method or SMS sending method provided in the above embodiments of this application.

[0113] The computing device may also include a display component and a voice component. The display component may be a liquid crystal display screen or an e-ink display screen. The input device of the computing device may be a touch layer covering the display component, or a button, trackball or touchpad set on the casing of the computing device, or an external keyboard, touchpad or mouse, etc.

[0114] Those skilled in the art will understand that Figure 6 The structures shown are merely block diagrams of some structures related to the solutions in this specification and do not constitute a limitation on the computing devices on which the solutions in this specification are applied. Specific computing devices may include more or fewer components than those shown in the figures, or combine certain components, or have different component arrangements.

[0115] In addition to the methods and devices described above, the SMS traffic control method or SMS sending method provided in the embodiments of this specification can also be a computer program product, which includes a computer program that, when run by a processor, causes the processor to perform the steps in the SMS traffic control method or SMS sending method according to the various embodiments of this specification described in the "Exemplary Methods" section above.

[0116] The computer program product described herein can be written in any combination of one or more programming languages ​​to perform the operations of the embodiments described herein. These programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0117] Furthermore, embodiments of this specification also provide a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor of the steps in the SMS traffic control method or SMS sending method according to various embodiments of this specification as described in the "Example Methods" section above.

[0118] 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.

[0119] It is understood that the specific examples in this document are only intended to help those skilled in the art better understand the implementation methods of this specification, and are not intended to limit the scope of this specification.

[0120] It is understood that in the various embodiments described in this specification, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments described in this specification.

[0121] It is understood that the various implementation methods described in this specification can be implemented individually or in combination, and the implementation methods in this specification are not limited in this respect.

[0122] Unless otherwise stated, all technical and scientific terms used in the embodiments of this specification have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of this specification. The term "and / or" as used in this specification includes any and all combinations of one or more of the associated listed items. The singular forms "a," "the," and "the" as used in the embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.

[0123] It is understood that the processor in the embodiments of this specification can be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method embodiments can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this specification. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this specification can be directly implemented by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.

[0124] It is understood that the memory in the embodiments of this specification may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM). It should be noted that the memory in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0125] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this specification.

[0126] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the aforementioned method implementations, and will not be repeated here.

[0127] In the several embodiments provided in this specification, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0128] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0129] In addition, the functional units in the various embodiments of this specification can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0130] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of this specification, in essence, or the parts that contribute to the prior art, or parts of the technical solutions, can be embodied in the form of software products. These computer software products are stored in a storage medium and include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this specification. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0131] The above description is merely a specific embodiment of this specification, but the scope of protection of this specification is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this specification should be included within the scope of protection of this specification. Therefore, the scope of protection of this specification should be determined by the scope of the claims.

Claims

1. A method for controlling short message traffic, characterized by, The application relates to a control method for controlling a short message scheduling system to send short messages, and the control method comprises the following steps: acquiring historical short message data of the short message scheduling system; the historical short message data is used to represent at least one of the following: short message sending, short message receiving and short message backlog in a historical preset time window of the short message scheduling system; generating a short message sending plan in a current time window according to a total amount of short messages to be sent by the short message scheduling system in the current time window; the short message sending plan comprises planned sending short message flows in multiple unit times of the current time window; the total amount of short messages to be sent by the short message scheduling system is determined according to the historical short message data and a predicted new short message flow; the predicted new short message flow is determined according to the historical short message data; and the time window is not greater than the maximum sending time delay of short messages; using a first control matrix, a second control matrix, the amount of short messages to be sent in a last historical preset unit time in the historical short message data and the actual sending short message flow in the current unit time to establish a system state equation with the planned sending short message flow in the current unit time in the short message sending plan as a target; the first control matrix is used to represent the influence degree of the amount of short messages to be sent in the last historical preset unit time in the historical short message data on the short message scheduling system; and the second control matrix is used to represent the influence degree of the actual sending short message flow in the current unit time on the short message scheduling system; solving the system state equation to obtain the actual sending short message flow in the current unit time; controlling the short message scheduling system to send short messages according to the actual sending short message flow.

2. The method of claim 1, wherein, After the step of controlling the short message scheduling system to send short messages according to the actual sending short message flow, the method further comprises the step of returning to the step of acquiring the historical short message data of the short message scheduling system.

3. The method of claim 1, wherein, The historical short message data comprises new short message flows of the short message scheduling system in multiple historical preset unit times; The step of acquiring the predicted new short message flow comprises the following steps: taking the new short message flows of the short message scheduling system in the multiple historical preset unit times in the historical short message data as a prediction sequence; inputting the prediction sequence into a pre-set time sequence model to obtain the predicted new short message flow.

4. The method of claim 3, wherein, The historical short message data further comprises the amount of short messages to be sent and the sent short message flow of the short message scheduling system in multiple historical preset unit times; The method for acquiring the total amount of short messages to be sent by the short message scheduling system comprises the following steps: synthesizing state data of the short message scheduling system in multiple unit times according to the predicted new short message flow, the amount of short messages to be sent and the sent short message flow of the short message scheduling system in the multiple historical preset unit times; the state data is used to represent the change rate of the amount of short messages to be sent of the short message scheduling system in the unit time; performing weighted summation on the state data of the short message scheduling system in the multiple unit times to obtain a system change rate, which is used to represent the change rate of the amount of short messages to be sent of the short message scheduling system in the current time window. The total number of SMS messages to be sent in the SMS scheduling system is obtained based on the system change rate and the number of SMS messages to be sent in the previous historical preset unit time period in the historical SMS data.

5. The method according to any one of claims 1 to 4, characterized in that, The SMS dispatch system includes multiple SMS channels; each SMS channel corresponds to an SMS sending unit price and a maximum SMS volume. The step of controlling the SMS scheduling system to send SMS messages based on the actual SMS sending traffic includes: Among multiple first SMS channels, the first SMS channel with the lowest SMS sending unit price is selected as the target SMS channel; the first SMS channel is the SMS channel whose current SMS traffic is less than the corresponding maximum SMS traffic. The actual SMS traffic is sent through the target SMS channel.

6. The method according to any one of claims 1 to 4, characterized in that, The step of generating the SMS sending plan for the current time window based on the total number of SMS messages to be sent in the current time window by the SMS scheduling system includes: With the goal of sending all the SMS messages to be sent in the SMS scheduling system within the current time window, an SMS sending plan is generated for the current time window.

7. A method of sending a short message, characterized by include: In response to a text message sending instruction carrying a text message to be sent, the text message to be sent is regarded as a text message to be sent in the current time window of the text message scheduling system; The method for controlling SMS traffic according to any one of claims 1 to 6 controls the SMS scheduling system to send the SMS to be sent.

8. A short message traffic control apparatus characterized by comprising: The method for controlling SMS traffic in a scheduling system includes: The data acquisition module is used to acquire historical SMS data of the SMS dispatch system; the historical SMS data is used to characterize at least one of SMS sending, SMS receiving, and SMS backlog within a historical preset time window of the SMS dispatch system. The plan generation module is used to generate an SMS sending plan for the current time window based on the total number of SMS messages to be sent in the current time window of the SMS scheduling system. The SMS sending plan includes the planned SMS sending traffic within multiple unit time periods of the current time window. The total number of SMS messages to be sent in the SMS scheduling system is determined based on the historical SMS data and the predicted new SMS traffic. The predicted new SMS traffic is determined based on the historical SMS data, and the time window is not greater than the maximum SMS sending delay. The actual traffic module is used to establish a system state equation using the planned SMS traffic within the current unit time as the target, and employing a first control matrix, a second control matrix, the amount of SMS messages to be sent in the previous historical preset unit time from the historical SMS data, and the actual SMS traffic within the current unit time. The first control matrix characterizes the impact of the amount of SMS messages to be sent in the previous historical preset unit time from the historical SMS data on the SMS scheduling system; the second control matrix characterizes the impact of the actual SMS traffic within the current unit time on the SMS scheduling system; and the system state equation is solved to obtain the actual SMS traffic within the current unit time. The SMS sending module is used to control the SMS scheduling system to send SMS messages based on the actual SMS sending traffic.

9. A computing device, comprising: include: A processor and a memory; The memory is connected with the processor, and the memory is configured to store a computer program; The processor is configured to realize the short message traffic control method according to any one of claims 1-6 or the short message sending method according to claim 7 by running the computer program stored in the memory.

10. A computer-readable storage medium, characterized in that, The computer program is stored on the computer readable storage medium, and the computer program is run by the processor to realize the short message traffic control method according to any one of claims 1-6 or the short message sending method according to claim 7.

Citation Information

Patent Citations

  • Short message distribution method and device, equipment and medium

    CN110582064A

  • Message channel configuration method and system

    CN115633317A