Data processing method and apparatus

By determining the target attribution type of the device identifier and dynamically adjusting the interface weight based on the success rate of the SMS sending interface, the problem of uneven SMS sending success rate was solved, and the SMS sending success rate was improved.

CN120881522BActive Publication Date: 2026-01-27ALIBABA HEALTH TECH (CHINA) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202511374015.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-25
Publication Date
2026-01-27
Estimated Expiration
2045-09-25

AI Technical Summary

Technical Problem

In existing technologies, due to the significant differences in SMS delivery success rates between different SMS providers and different operators, the fixed-ratio allocation of SMS traffic results in an overall SMS delivery success rate that does not reach a high level.

Method used

By receiving SMS sending requests, the target attribution type of the device identifier is determined, and the interface weights are dynamically adjusted based on the sending success rates of multiple SMS sending interfaces, thereby selecting the target sending interface to send the SMS.

Benefits of technology

It significantly improved the SMS sending success rate by dynamically adjusting the interface weight of the SMS sending interface, thereby increasing the overall SMS sending success rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120881522B_ABST
    Figure CN120881522B_ABST
Patent Text Reader

Abstract

The embodiment of the present specification provides a data processing method and device, the data processing method comprises: receiving a short message sending request, determining the device identifier carried in the short message sending request; determining the target home type corresponding to the device identifier from the target cache, and determining the interface weight of each short message sending interface according to the sending success rate of the short message of the target home type of the plurality of short message sending interfaces; determining the target sending interface from the plurality of short message sending interfaces according to the interface weight of each short message sending interface, and sending the short message content in the short message sending request to the target device corresponding to the device identifier through the target sending interface; by determining the sending success rate of each short message sending interface for the short message of the target home type, the interface weight of each short message sending interface is dynamically allocated, so that the short message content in the short message sending request is sent through the target sending interface selected by the interface weight, which can greatly improve the short message sending success rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to a data processing method. One or more embodiments of this specification also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product. Background Technology

[0002] Merchants typically partner with multiple SMS providers, using their provided SMS channels to send messages to users of different mobile operators. Currently, due to varying degrees of control over SMS content among operators, the success rates of sending messages to users of the same operator differ significantly between providers. For example, when sending an SMS to users of operator A, provider A's success rate might be 20%, while provider B's success rate could reach 90%.

[0003] However, in existing scheduling strategies, SMS traffic is typically allocated among different providers in a fixed proportion. For example, when there are two providers, regardless of their actual SMS delivery performance for a particular operator's users, the traffic is often split equally, with each provider undertaking 50% of the delivery task. This fixed traffic allocation method results in an overall SMS delivery success rate that is not high. Summary of the Invention

[0004] In view of the above, embodiments of this specification provide a data processing method. One or more embodiments of this specification also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product, to address the technical deficiencies existing in the prior art.

[0005] According to a first aspect of the embodiments of this specification, a data processing method is provided, comprising:

[0006] Receive an SMS sending request and determine the device identifier carried in the SMS sending request;

[0007] The target affiliation type corresponding to the device identifier is determined from the target cache, and the interface weight of each SMS sending interface is determined based on the SMS sending success rate of multiple SMS sending interfaces for the target affiliation type.

[0008] Based on the interface weights of each SMS sending interface, a target sending interface is determined from the plurality of SMS sending interfaces, and the SMS content in the SMS sending request is sent to the target device corresponding to the device identifier through the target sending interface.

[0009] According to a second aspect of the embodiments of this specification, a data processing apparatus is provided, comprising:

[0010] The identifier determination module is configured to receive an SMS sending request and determine the device identifier carried in the SMS sending request.

[0011] The weight determination module is configured to determine the target affiliation type corresponding to the device identifier from the target cache, and determine the interface weight of each SMS sending interface based on the SMS sending success rate of multiple SMS sending interfaces for the target affiliation type.

[0012] The SMS sending module is configured to determine a target sending interface from the plurality of SMS sending interfaces according to the interface weight of each SMS sending interface, and send the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface.

[0013] According to a third aspect of the embodiments of this specification, a computing device is provided, comprising:

[0014] Memory and processor;

[0015] The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions, which, when executed by the processor, implement the steps of the above-described data processing method.

[0016] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores a computer program / instructions that, when executed by a processor, implement the steps of the data processing method described above.

[0017] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described data processing method.

[0018] The data processing method provided in one embodiment of this specification, upon receiving an SMS sending request, determines the device identifier corresponding to the SMS sending request, accurately obtains the target attribution type corresponding to the device identifier from the target cache using the device identifier, and determines the interface weight corresponding to each SMS sending interface. The interface weight corresponding to each SMS sending interface is determined based on the success rate of sending SMS messages of the target attribution type by multiple SMS sending interfaces. Therefore, by determining the target sending interface from multiple SMS sending interfaces using the interface weight corresponding to each SMS sending interface, and sending the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface, the SMS sending success rate can be greatly improved. That is, by determining the success rate of sending SMS messages of the target attribution type by each SMS sending interface, the interface weight of each SMS sending interface is dynamically allocated, thereby significantly improving the SMS sending success rate. Attached Figure Description

[0019] Figure 1 This is a schematic diagram illustrating a data processing method provided in one embodiment of this specification.

[0020] Figure 2 This is a flowchart illustrating a data processing method provided in one embodiment of this specification;

[0021] Figure 3 This is a flowchart illustrating the processing procedure of a data processing method provided in one embodiment of this specification.

[0022] Figure 4 This is a schematic diagram of the structure of a data processing apparatus provided in one embodiment of this specification;

[0023] Figure 5 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation

[0024] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.

[0025] 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 be limiting of the one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and 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 in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.

[0026] It should be understood that although the terms first, second, 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 may also be referred to as second without departing from the scope of one or more embodiments of this specification, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."

[0027] Furthermore, 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, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties. Moreover, 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 entry points are provided for users to choose to authorize or refuse.

[0028] First, the terms and concepts used in one or more embodiments of this specification will be explained.

[0029] SMS operators: SMS platforms provided by SMS operators can be used to send and receive SMS messages, including various types of SMS messages such as verification codes, notifications, and marketing messages.

[0030] SMS providers: Companies or organizations that provide SMS services, offering services such as sending, receiving, and managing SMS messages to businesses and individuals through cooperation with SMS operators.

[0031] SMS fatigue cache: This is used to store whether the current contact number can continue to send SMS messages. SMS fatigue refers to the frequency control mechanism for sending messages to users through SMS channels. It is mainly used to avoid excessively disturbing users and reduce the risk of user dissatisfaction or complaints.

[0032] This specification provides a data processing method, and also relates to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product, which will be described in detail in the following embodiments.

[0033] See Figure 1 , Figure 1 A schematic diagram of a data processing method according to an embodiment of this specification is shown.

[0034] Specifically, the data processing method is applied to a data processing system, which includes an end-side device 102 and a server 104. The end-side device 102 is used to send an SMS sending request to the server 104. The SMS sending request carries a device identifier and SMS content, indicating that the SMS content is sent to the target device corresponding to the device identifier.

[0035] In server 104, the device identifier carried in the SMS sending request is determined; the target affiliation type corresponding to the device identifier is determined from the target cache, and the interface weight of each SMS sending interface is determined based on the success rate of sending SMS messages for the target affiliation type of multiple SMS sending interfaces; based on the interface weight of each SMS sending interface, the target sending interface is determined from the multiple SMS sending interfaces, and the SMS content in the SMS sending request is sent to the target device corresponding to the device identifier through the target sending interface; server 104 returns the response result corresponding to the SMS sending request to the end device 102.

[0036] The edge device 102 may include a browser, an app (application), or a web application such as an H5 (Hypertext Markup Language 5) application, a lightweight application (also known as a mini-program), or a cloud application. The edge device can be developed based on a software development kit (SDK) provided by the server, such as a real-time communication (RTC) SDK. The edge device can be deployed in an electronic device and depends on the device's operation or certain apps within the device to run. The electronic device may have a display screen and support information browsing, such as a personal mobile terminal like a mobile phone, tablet, or personal computer. Various other types of applications can also be configured in the electronic device, such as human-computer interaction applications, model training applications, SMS sending applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, and social media platform software.

[0037] Server 104 can be understood as a server providing various services, including physical servers and cloud servers. Examples include servers providing communication services to multiple clients, servers supporting backend training of models used on clients, and servers processing data sent by clients. It's important to note that Server 104 can be implemented as a distributed server cluster composed of multiple servers, or as a single server. Server 104 can also be a server in a distributed system, or a server integrated with blockchain. Server 104 can also be a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.

[0038] It is worth noting that the data processing method provided in the embodiments of this specification can be executed by the server 104. In other embodiments of this specification, the end device 102 can also execute the data processing method provided in the embodiments of this specification. In other embodiments, the data processing method provided in the embodiments of this specification can also be jointly executed by the end device 102 and the server 104.

[0039] See Figure 2 , Figure 2 A flowchart of a data processing method provided in one embodiment of this specification is shown, which specifically includes the following steps.

[0040] Step 202: Receive SMS sending request and determine the device identifier carried in the SMS sending request.

[0041] The device identifier can be understood as a communication number, which is used for subsequent querying of the cache or calling the interface to obtain its corresponding target affiliation type.

[0042] Specifically, upon receiving an SMS sending request, the communication number (i.e., device identifier) ​​contained in the SMS sending request is extracted, and then the target's belonging type is obtained by querying the target cache.

[0043] Step 204: Determine the target affiliation type corresponding to the device identifier from the target cache, and determine the interface weight of each SMS sending interface based on the SMS sending success rate of multiple SMS sending interfaces for the target affiliation type.

[0044] Among them, the target cache can be understood as a cache that stores the corresponding ownership type of the device identifier; the ownership type can be understood as the type of operator to which the device identifier belongs, such as China Mobile, China Unicom, etc.; the SMS sending interface can be understood as the sending service interface provided by the SMS provider; the sending success rate can be understood as the proportion of SMS messages that are successfully sent when the SMS sending interface sends SMS messages to the target device corresponding to the device identifier; and the interface weight can be understood as the proportional weight used to allocate sending traffic based on the sending success rate.

[0045] Specifically, based on the communication number (i.e. device identifier) ​​in the SMS sending request, the corresponding target operator (i.e. target type) is queried from the target cache. By querying the SMS sending success rate of each SMS provider's corresponding SMS sending interface for the target operator, a weight value (i.e. interface weight) is assigned to each SMS provider's SMS sending interface.

[0046] It should be noted that when assigning weights to SMS sending interfaces of different providers based on the success rate, the weights can be allocated proportionally according to the success rate. This weight will determine the distribution ratio of subsequent sending traffic among different SMS providers. For example, if SMS sending interfaces A and B have success rates of 80% and 30% respectively for SMS messages targeting type 1, then the interface weight for SMS sending interface A can be 75%, and the interface weight for SMS sending interface B can be 25%.

[0047] For example, if the target affiliation of the communication number "123456789" is determined to be affiliation type a, and it is found that SMS provider A has a 95% success rate in sending SMS messages to affiliation type a, while provider B has a 70% success rate, then SMS provider A will be assigned a higher weight (e.g., 70%) and SMS provider B will be assigned a lower weight (e.g., 30%). That is, when sending SMS messages to users of affiliation type a in the future, 70% of the traffic will be sent through SMS provider A's SMS sending interface first, thereby significantly improving the overall SMS sending success rate.

[0048] In one or more embodiments of this specification, when determining the target attribution type corresponding to the device identifier from the target cache, if the cache is not found, the attribution information determination interface is called to obtain the target attribution type corresponding to the device identifier and update the target cache. Specific implementation methods are as follows:

[0049] Determining the target affiliation type corresponding to the device identifier from the target cache includes:

[0050] The device identifier is searched in the target cache. If a match is found, the target affiliation type is obtained from the attribute information corresponding to the device identifier.

[0051] If no match is found, the attribution information determination interface is called to obtain the target attribution type corresponding to the device identifier, and the device identifier and the target attribution type are stored in the target cache to obtain the target attribution type corresponding to the device identifier from the target cache.

[0052] The attribute information corresponding to the device identifier includes, but is not limited to, the target affiliation type corresponding to the device identifier and fatigue level; the affiliation information determination interface can be understood as an API (Application Programming Interface) used to query the affiliation type corresponding to the device identifier.

[0053] Specifically, the device identifier is used as the key to query the target cache. If the device identifier exists in the target cache (hit), the target attribution type is directly read from the attribute information corresponding to the device identifier. If the device identifier does not exist in the target cache (miss), the attribution information determination interface (such as the carrier interface) is called to obtain the target attribution type corresponding to the device identifier. Then, the device identifier and its corresponding target attribution type are written into the target cache together, so that the target attribution type corresponding to the device identifier can be directly obtained from the target cache later. Furthermore, the target sending interface is dynamically selected based on the target attribution type to send the SMS, which can improve the SMS sending success rate.

[0054] In practical applications, when a text message sending request carrying the communication number "123456789" is received, the target cache is queried using this communication number as the key. If the communication number already exists in the target cache, the corresponding target operator (i.e., target affiliation type) is determined from the attribute information associated with the communication number. If the communication number does not exist in the target cache, the operator interface queries to obtain the operator information corresponding to the communication number, thereby determining the target operator to which the communication number belongs. The communication number and the target operator are then stored in the target cache so that subsequent requests for the communication number can directly hit the cache, reducing network calls.

[0055] The data processing method provided in the embodiments of this specification greatly reduces the number of calls to the interface and the majority of network requests through the cache hit strategy, thereby improving the efficiency of data processing. In other words, it can quickly determine the target affiliation type corresponding to the device identifier through the target cache, thereby improving the efficiency of SMS sending.

[0056] In one or more embodiments of this specification, the sending results of SMS messages for each category via each SMS sending interface within a preset time period are collected and recorded, thereby calculating the sending success rate of SMS messages for each category via each SMS sending interface. This allows for determining the sending success rate of SMS messages for the target category via each SMS sending interface, given that the device identifier corresponds to the target category. Specific implementation methods are described below:

[0057] Before determining the interface weight of each SMS sending interface based on the success rate of sending SMS messages for the target affiliation type using multiple SMS sending interfaces, the process also includes:

[0058] Determine the sending results of each SMS sending interface for each type of SMS within a preset time period, and determine the sending success rate of each SMS sending interface for each type of SMS based on the sending results.

[0059] The success rate of sending SMS messages for the target category is determined from the success rates of sending SMS messages for each category via each SMS sending interface.

[0060] The preset time period can be understood as a pre-set statistical time period, such as one hour or 30 minutes; the sending result can be understood as the result of whether the SMS sending request was successfully sent or failed.

[0061] Specifically, within a preset time period (e.g., 30 minutes), the sending results corresponding to each SMS sending request are continuously collected and recorded. Specifically, the SMS sending interface, target category, and sending result corresponding to each SMS sending request are recorded. Based on the recorded data, the sending success rate of each SMS sending interface for each category of SMS is calculated.

[0062] In practical applications, the sending results of each SMS sending interface for each category can be statistically analyzed at fixed intervals within the previous preset time period. For example, every 10 minutes, the sending results of each SMS sending interface for each category in the last 30 minutes can be determined. For instance, if SMS provider A sends 100 SMS messages to users of category a in the last 30 minutes, and 95 of them are successfully sent, then the SMS sending success rate of SMS provider A for category a is determined to be 95%.

[0063] When the target home type of the device identifier in an SMS sending request is home type a, the sending success rate of each SMS provider for SMS for home type a is determined. That is, when it is necessary to dynamically allocate traffic for a certain target home type, the sending success rate of all SMS providers for that target home type is extracted from the pre-calculated sending success rate as the basis for subsequent weight calculation.

[0064] The data processing method provided in the embodiments of this specification provides a reliable data foundation for subsequent weighted dynamic traffic allocation by periodically and automatically statistically updating the SMS delivery success rate of each SMS provider on different SMS operators. This enables more SMS traffic to be directed to SMS providers with higher delivery success rates on specific SMS operators, thereby significantly improving the overall SMS delivery success rate.

[0065] In one or more embodiments of this specification, the target cache also includes a fatigue level corresponding to the device identifier. Only when this fatigue level is not met by a preset control condition is the interface weight of each SMS sending interface determined, and the SMS message is sent using the target sending interface. Specific implementation methods are described below:

[0066] Based on the success rate of sending SMS messages for the given category across multiple SMS sending interfaces, determine the interface weight of each SMS sending interface, including:

[0067] The fatigue level corresponding to the device identifier is determined from the target cache. If the fatigue level does not reach the preset control condition, the interface weight of each SMS sending interface is determined based on the sending success rate of SMS messages of the target type for multiple SMS sending interfaces.

[0068] The target cache can be understood as a unified cache that integrates the fatigue level and attribution type corresponding to the device identifier; the fatigue level can be understood as a metric set for the device identifier to control the sending frequency, representing the frequency of sending SMS messages to the target device corresponding to the device identifier; the preset control condition can be understood as a control threshold set for the fatigue level. When the fatigue level reaches or exceeds the control threshold, a sending restriction or suspension process can be triggered, such as reducing or suspending the sending of SMS messages to the device identifier; for example, the preset control condition is to send a maximum of 10 SMS messages to the device identifier within the cache expiration time. If it is determined that 10 SMS messages have been sent to the device identifier based on the fatigue level corresponding to the device identifier, it is determined that the fatigue level has reached the preset control condition.

[0069] Specifically, before calculating interface weights based on the sending success rate for dynamic traffic allocation, the fatigue level corresponding to the device identifier is queried from the target cache to determine whether the fatigue level has reached the preset control condition. If the fatigue level has not reached the preset control condition (i.e., it is in a normal sending state), the interface weight of each SMS sending interface is calculated based on the sending success rate of multiple SMS sending interfaces for SMS of the target type. If the fatigue level has reached the preset control condition, taking triggering the pause of SMS sending process as an example, since the SMS content in the SMS sending request will not be sent, the step of calculating the interface weight of each SMS sending interface can be saved to reduce resource waste.

[0070] The data processing method provided in the embodiments of this specification controls SMS sending based on the fatigue level corresponding to the device identifier, which enhances the fine-grained management of SMS sending frequency, helps to prevent excessive disturbance to users, and further optimizes the overall service quality and user experience.

[0071] In one or more embodiments of this specification, the target cache contains the target affiliation type and fatigue level corresponding to the device identifier. When the target cache does not match the device identifier, the fatigue level and target affiliation type corresponding to the target device are updated and stored in the target cache as attribute information of the target device. Specific implementation methods are described below:

[0072] Determining the fatigue level corresponding to the device identifier from the target cache includes:

[0073] The device identifier is searched in the target cache. If a match is found, the fatigue level is obtained from the attribute information corresponding to the device identifier.

[0074] If a match is not found, the fatigue level of the device identifier is determined as an initial value. The device identifier and the initial value are stored in the target cache, and the cache expiration time corresponding to the device identifier is set to determine the fatigue level corresponding to the device identifier from the target cache.

[0075] The cache expiration time is used to control the storage time of the device identifier in the target cache. When the device identifier reaches the cache expiration time, the device identifier and the attribute information corresponding to the device identifier are deleted from the target cache.

[0076] The initial value can be understood as the starting value (e.g., 0 or 1) assigned to the fatigue level of the device identifier when the device identifier is not stored in the target cache; the cache expiration time can be understood as the lifespan set for the data entry (including the device identifier and its corresponding attribute information) corresponding to the device identifier in the target cache. For example, a cache expiration time of 30 days is used to control the storage time of data in the target cache.

[0077] Similar to querying the target attribution type corresponding to the device identifier in the above embodiments, the target cache is queried using the device identifier as the key. If the device identifier exists in the target cache (hit), the fatigue level is read from the attribute information corresponding to the device identifier. If the device identifier does not exist in the target cache (miss), the fatigue level corresponding to the device identifier is determined to be a preset initial value (e.g., 0). The device identifier and the corresponding fatigue level (at this time, the fatigue level is the initial value) are stored together in the target cache. In fact, the device identifier, fatigue level, and target attribution type obtained in the above embodiments are merged and stored as a data entry in the target cache, and a uniform cache expiration time (e.g., 30 days) is set for this data entry. The set cache expiration time ensures that the data in the target cache is not stored indefinitely, but is automatically deleted after expiration, thereby realizing the periodic reset and update of fatigue level and target attribution type.

[0078] Continuing with the previous example, upon receiving a request to send an SMS to the communication number "123456789", the target cache is queried using this communication number as the key. If the cache is hit and the fatigue level corresponding to the communication number is displayed as 15, this fatigue level is subsequently used to compare with preset control conditions. If the cache is not hit, the fatigue level of the communication number is determined to be an initial value of 0. Then, the communication number, fatigue level 0, and target affiliation type are merged and written into the target cache, and the cache expiration time is set to 30 days. The data entry corresponding to this communication number will automatically expire after 30 days, and its fatigue level will be reset. If the target affiliation type of this communication number is also updated, the fatigue level and target affiliation type will be automatically updated.

[0079] It should be noted that since the fatigue cache is usually called once in SMS sending scenarios, the target attribution type corresponding to the device identifier is merged and stored to form the target cache based on the fatigue cache. In fact, in order to achieve dynamic traffic allocation, it is necessary to identify the target attribution type corresponding to the device identifier. If the attribution information determination interface is used to query for the device identifier in each SMS sending request, the system pressure will be too high. Therefore, based on the low update frequency of the target attribution type of the device identifier, the number of calls to the attribution information determination interface is reduced by caching the target attribution type corresponding to the device identifier, thereby reducing network calls by 80% and improving the system throughput.

[0080] However, separate fatigue caches and home caches (used to store device identifiers and their corresponding target home types) increase network throughput. For high-concurrency SMS sending, this will increase sending time and slow down system throughput. Therefore, by placing the target home type corresponding to the device identifier in the fatigue cache, one cache call can be reduced.

[0081] When a database entry shares the same cache expiration time, the system can automatically reset and update the corresponding ownership type of the device identifier based on fatigue level, reducing additional development workload. This avoids maintaining two separate sets of cache writing, expiration, and update logic, greatly simplifying system complexity and reducing development and maintenance costs.

[0082] The data processing method provided in this specification reduces the number of cache calls and improves data processing efficiency by merging the fatigue level corresponding to the storage device identifier and the target affiliation type in the target cache. Furthermore, by setting a cache expiration time, not only is the fatigue level updated regularly, but the target affiliation type corresponding to the device identifier is also updated, simplifying the complexity of data maintenance and significantly reducing additional development work.

[0083] Step 206: Based on the interface weight of each SMS sending interface, determine the target sending interface from the plurality of SMS sending interfaces, and send the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface.

[0084] Here, the interface weight represents the priority of the SMS sending interface for sending SMS messages. The higher the interface weight, the better the quality of the SMS sending interface for the current target type of SMS messages. The SMS sending interface will be selected first to send SMS messages of the target type of SMS messages. The target sending interface can be understood as the SMS sending interface that is finally selected based on the interface weight and used to process this SMS sending request. The SMS content can be understood as the specific SMS text to be sent. The target device can be understood as the user receiving device corresponding to the device identifier.

[0085] Specifically, after calculating the interface weight of each SMS sending interface for the target type, a target sending interface is determined from multiple SMS sending interfaces based on the interface weight using a weight allocation algorithm (such as weighted random selection or an algorithm that prioritizes higher weights). The SMS content in the SMS sending request is then sent to the target device corresponding to the device identifier through the selected target sending interface.

[0086] By dynamically selecting the target sending interface based on interface weight, SMS traffic can be intelligently directed to the SMS sending interface with a higher success rate for the current target type. This effectively avoids batch sending failures caused by a single SMS sending interface failure or a high interception rate for SMS of a certain type, thereby significantly improving the overall SMS sending success rate.

[0087] In one or more embodiments of this specification, upon each completion of an SMS sending request and the sending of the SMS content to the target device, a response result corresponding to the SMS sending request is obtained. This response result can provide data support for the subsequent calculation of the sending success rate. Specific implementation methods are described below:

[0088] After sending the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface, the method further includes:

[0089] Obtain and store the sending results of the SMS messages sent by the target sending interface for the target's affiliation type.

[0090] The sending result can be understood as the feedback returned by the target sending interface regarding whether the SMS sending request was successful. This sending result will be stored in association with the target sending interface and the target's type for subsequent sending success rate statistics.

[0091] Specifically, after sending the SMS content through the target sending interface, the system receives the response result returned by the target sending interface (i.e., the sending result, which can be successful delivery, failure, or interception by the operator, etc.), associates the response result with the target sending interface and target type involved in this SMS sending request, and stores it as a sending log.

[0092] For example, when sending an SMS message to a device identifier of target affiliation type a through target sending interface A, and receiving a successful sending response, a sending log is recorded as "Target sending interface A - Target affiliation type a - Successful sending". The sending results corresponding to each SMS sending request are recorded, and the sending success rate of each SMS sending interface for each affiliation type is subsequently calculated based on these records.

[0093] The data processing method provided in the embodiments of this specification tracks and collects data on the sending results corresponding to SMS sending requests, thereby obtaining real and real-time feedback. Based on the recorded sending results, the sending success rate of each SMS sending interface for each type of SMS can be reliably calculated, thereby ensuring the accuracy of dynamic weight calculation and traffic allocation decisions, forming a closed-loop feedback of "SMS sending, monitoring sending results, calculating sending success rate, and optimizing SMS sending interface selection", thereby continuously improving the overall SMS delivery rate.

[0094] The data processing method provided in the embodiments of this specification automatically monitors the sending success rate of SMS messages of each type through each SMS sending interface, determines the interface weight corresponding to each SMS sending interface based on the sending success rate, and dynamically allocates the SMS traffic ratio of each SMS sending interface. This can significantly improve the SMS sending success rate and reduce the problem of a certain SMS sending interface blocking SMS messages of a certain type.

[0095] See Figure 3 , Figure 3 A flowchart illustrating the processing procedure of a data processing method provided in one embodiment of this specification is shown.

[0096] Specifically, in SMS sending scenarios, businesses or merchants can send SMS messages to users of different SMS operators through different SMS providers, for example... Figure 3SMS providers A and B can both send SMS messages to users 1, 2, 3...n corresponding to SMS operators a, b, and c. However, since different SMS operators have different success rates for sending SMS messages to different users, to improve the success rate, it is necessary to identify which operator a communication number belongs to, and then use an SMS operator with a higher success rate for that operator to send SMS messages to that number. However, due to number portability, the previous method of distinguishing communication numbers by number segment is no longer accurate, and querying the operator for each communication number would put too much pressure on the system. Therefore, assuming that the provider type of a communication number changes infrequently, the operator type of the communication number can be stored in an attribution cache. This reduces calls to the database and operator interfaces, improves system throughput, and ensures that the attribution cache can be automatically updated with the operator type at regular intervals.

[0097] Based on the above characteristics, the operator information of the communication number is merged and stored in the fatigue cache to form the target cache. Thus, on the basis of the fatigue cache that would have been called once, the communication number's operator information is merged and stored, thereby reducing one cache call from two cache calls (one fatigue cache call and one operator cache call) to one cache call (one target cache call) without calling the operator cache separately.

[0098] Specifically, the system receives a text message sending request from the client (i.e., the end device in the above embodiment), which carries a communication number (i.e., the device identifier in the above embodiment) and the text message content.

[0099] The SMS sending system first queries the target cache. If a match is found, it directly obtains the carrier type corresponding to the communication number (i.e., the carrier to which the communication number belongs). If no match is found, it calls the carrier interface to obtain the carrier type corresponding to the communication number and stores it in the target cache. The obtained communication number fatigue level (at this time, the fatigue level is the initial value) is also merged and written into the target cache. The system then sets the cache expiration time for the data entry corresponding to the communication number (including the communication number, fatigue level, and the carrier to which it belongs).

[0100] In practice, after each SMS sending request is sent through an SMS provider, the SMS provider identifier, carrier type, and sending result (success / failure) are recorded. Every fixed time interval (e.g., 10 minutes), the sending success rate of each SMS provider for each carrier type within a preset time period (e.g., the most recent 30 minutes) is calculated. Based on the latest calculated sending success rate, the weight of each SMS provider (i.e., the interface weight in the above embodiment) is calculated. When an SMS sending request is received, the target SMS provider is called to send the SMS content in the SMS sending request according to the carrier type of the communication number in the SMS sending request and the weight of each SMS provider.

[0101] The data processing method provided in the embodiments of this specification merges the communication number attribution cache with the fatigue level cache, achieving a cache hit rate of up to 95%. It can obtain more accurate communication number attribution through the target cache, reduce the number of operator interface calls, and automatically update the cache content according to the cache expiration time corresponding to the fatigue level. When dynamically allocating SMS traffic according to weights, it can significantly improve the SMS delivery success rate by automatically monitoring the SMS delivery success rate of each SMS provider to each SMS operator and dynamically adjusting the SMS traffic ratio.

[0102] Corresponding to the above method embodiments, this specification also provides data processing apparatus embodiments. Figure 4 A schematic diagram of the structure of a data processing apparatus according to one embodiment of this specification is shown. Figure 4 As shown, the device includes:

[0103] The identifier determination module 402 is configured to receive an SMS sending request and determine the device identifier carried in the SMS sending request.

[0104] The weight determination module 404 is configured to determine the target affiliation type corresponding to the device identifier from the target cache, and determine the interface weight of each SMS sending interface based on the SMS sending success rate of multiple SMS sending interfaces for the target affiliation type.

[0105] The SMS sending module 406 is configured to determine a target sending interface from the plurality of SMS sending interfaces according to the interface weight of each SMS sending interface, and send the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface.

[0106] Optionally, the weight determination module 404 is further configured as follows:

[0107] The device identifier is searched in the target cache. If a match is found, the target affiliation type is obtained from the attribute information corresponding to the device identifier.

[0108] If no match is found, the attribution information determination interface is called to obtain the target attribution type corresponding to the device identifier, and the device identifier and the target attribution type are stored in the target cache to obtain the target attribution type corresponding to the device identifier from the target cache.

[0109] Optionally, the weight determination module 404 is further configured as follows:

[0110] The fatigue level corresponding to the device identifier is determined from the target cache. If the fatigue level does not reach the preset control condition, the interface weight of each SMS sending interface is determined based on the sending success rate of SMS messages of the target type for multiple SMS sending interfaces.

[0111] Optionally, the weight determination module 404 is further configured as follows:

[0112] The device identifier is searched in the target cache. If a match is found, the fatigue level is obtained from the attribute information corresponding to the device identifier.

[0113] If a match is not found, the fatigue level of the device identifier is determined as an initial value. The device identifier and the initial value are stored in the target cache, and the cache expiration time corresponding to the device identifier is set to determine the fatigue level corresponding to the device identifier from the target cache.

[0114] The cache expiration time is used to control the storage time of the device identifier in the target cache. When the device identifier reaches the cache expiration time, the device identifier and the attribute information corresponding to the device identifier are deleted from the target cache.

[0115] The device further includes:

[0116] The statistics module is configured to determine the sending results of each SMS sending interface for each category within a preset time period, and based on the sending results, determine the sending success rate of each SMS sending interface for each category; and from the sending success rates of each SMS sending interface for each category, determine the sending success rate of each SMS sending interface for the target category.

[0117] The device further includes:

[0118] The result determination module is configured to obtain and store the sending results of the target sending interface for the target affiliation type of the SMS message.

[0119] The data processing apparatus provided in this embodiment, upon receiving an SMS sending request, determines the device identifier corresponding to the SMS sending request, accurately obtains the target type corresponding to the device identifier from the target cache using the device identifier, and determines the interface weight corresponding to each SMS sending interface. The interface weight corresponding to each SMS sending interface is determined based on the success rate of sending SMS messages of the target type to multiple SMS sending interfaces. Therefore, by determining the target sending interface from multiple SMS sending interfaces using the interface weight corresponding to each SMS sending interface, and sending the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface, the SMS sending success rate can be greatly improved. That is, by determining the success rate of sending SMS messages of the target type to each SMS sending interface, the interface weight of each SMS sending interface is dynamically allocated, thereby significantly improving the SMS sending success rate.

[0120] The above is an illustrative scheme of a data processing apparatus according to this embodiment. It should be noted that the technical solution of this data processing apparatus and the technical solution of the data processing method described above belong to the same concept. For details not described in detail in the technical solution of the data processing apparatus, please refer to the description of the technical solution of the data processing method described above.

[0121] Figure 5 A structural block diagram of a computing device 500 according to one embodiment of this specification is shown. The components of the computing device 500 include, but are not limited to, a memory 510 and a processor 520. The processor 520 is connected to the memory 510 via a bus 530, and a database 550 is used to store data.

[0122] The computing device 500 also includes an access device 540, which enables the computing device 500 to communicate via one or more networks 560. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or combinations of communication networks such as the Internet. The access device 540 may include one or more of any type of wired or wireless network interface (e.g., a network interface card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Wi-MAX (Worldwide Interoperability for Microwave Access) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, or a Near Field Communication (NFC) interface.

[0123] In one embodiment of this specification, the above-described components of the computing device 500 and Figure 5 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 5 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.

[0124] The computing device 500 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 500 can also be a mobile or stationary server.

[0125] The processor 520 is used to execute the following computer program / instructions, which, when executed by the processor, implement the steps of the above-described data processing method.

[0126] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the computing device embodiments are basically similar to the data processing method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the data processing method embodiments.

[0127] An embodiment of this specification also provides a computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the above-described data processing method.

[0128] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the computer-readable storage medium embodiments are basically similar to the data processing method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the data processing method embodiments.

[0129] An embodiment of this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described data processing method.

[0130] The above is an illustrative scheme of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the data processing method described above belong to the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the data processing method described above.

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

[0132] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added or removed according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0133] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.

[0134] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0135] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

1. A data processing method, comprising: Receive an SMS sending request and determine the device identifier carried in the SMS sending request; The target affiliation type and fatigue level corresponding to the device identifier are determined from the target cache. If the fatigue level does not reach the preset control condition, the interface weight of each SMS sending interface is determined based on the success rate of sending SMS messages for the target affiliation type by multiple SMS sending interfaces. Here, the SMS sending interface is the sending service interface provided by the SMS provider, and each SMS sending interface is the SMS sending interface corresponding to each SMS provider. The fatigue level represents the frequency of sending SMS messages to the target device corresponding to the device identifier, and the affiliation type is the operator type to which the device identifier belongs. The target affiliation type and fatigue level corresponding to the device identifier are stored in the target cache in a combined manner, so that the acquisition of the target affiliation type and the fatigue level can be achieved through a single target cache call. Based on the interface weights of each SMS sending interface, a target sending interface is determined from the plurality of SMS sending interfaces, and the SMS content in the SMS sending request is sent to the target device corresponding to the device identifier through the target sending interface.

2. The method as described in claim 1, wherein determining the target affiliation type corresponding to the device identifier from the target cache includes: The device identifier is searched in the target cache. If a match is found, the target affiliation type is obtained from the attribute information corresponding to the device identifier. If no match is found, the attribution information determination interface is called to obtain the target attribution type corresponding to the device identifier, and the device identifier and the target attribution type are stored in the target cache to obtain the target attribution type corresponding to the device identifier from the target cache.

3. The method as described in claim 1, wherein determining the fatigue level corresponding to the device identifier from the target cache includes: The device identifier is searched in the target cache. If a match is found, the fatigue level is obtained from the attribute information corresponding to the device identifier. If a match is not found, the fatigue level of the device identifier is determined as an initial value. The device identifier and the initial value are stored in the target cache, and the cache expiration time corresponding to the device identifier is set to determine the fatigue level corresponding to the device identifier from the target cache. in, The cache expiration time is used to control the storage time of the device identifier in the target cache. When the device identifier reaches the cache expiration time, the device identifier and the attribute information corresponding to the device identifier are deleted from the target cache.

4. The method as described in any one of claims 1-3, before determining the interface weight of each SMS sending interface based on the success rate of sending SMS messages for the target affiliation type using multiple SMS sending interfaces, further comprising: Determine the sending results of each SMS sending interface for each type of SMS within a preset time period, and determine the sending success rate of each SMS sending interface for each type of SMS based on the sending results. The success rate of sending SMS messages for the target category is determined from the success rates of sending SMS messages for each category via each SMS sending interface.

5. The method according to any one of claims 1-3, after sending the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface, further comprising: Obtain and store the sending results of the SMS messages sent by the target sending interface for the target's affiliation type.

6. A data processing apparatus, comprising: The identifier determination module is configured to receive an SMS sending request and determine the device identifier carried in the SMS sending request. The weight determination module is configured to determine the target affiliation type and fatigue level corresponding to the device identifier from the target cache. If the fatigue level does not reach a preset control condition, the module determines the interface weight of each SMS sending interface based on the success rate of sending SMS messages for the target affiliation type. Here, the SMS sending interface is the sending service interface provided by the SMS provider, and each SMS sending interface is the SMS sending interface corresponding to each SMS provider. The fatigue level represents the frequency of sending SMS messages to the target device corresponding to the device identifier, and the affiliation type is the operator type to which the device identifier belongs. The module merges and stores the target affiliation type and fatigue level corresponding to the device identifier in the target cache, so that the query for the target affiliation type and the fatigue level is merged into a single target cache access. The SMS sending module is configured to determine a target sending interface from the plurality of SMS sending interfaces according to the interface weight of each SMS sending interface, and send the SMS content in the SMS sending request to the target device corresponding to the device identifier through the target sending interface.

7. A computing device, comprising: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions, which, when executed by the processor, implement the steps of the data processing method according to any one of claims 1 to 5.

8. A computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the data processing method according to any one of claims 1 to 5.

9. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of the data processing method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Method and device for automatically switching short message routing

    CN116367102A