Request sending method and apparatus, electronic device, and storage medium

By obtaining the retry time difference and retry conditions, the data processing flow is optimized, which solves the problem of state data occupying third-party interface resources during database processing, and achieves efficient data processing and resource utilization.

CN116405533BActive Publication Date: 2026-05-12BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
Filing Date
2023-04-12
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

In internet platforms, when there is a large amount of data in the database that is in the "processing" state, the query rate resources of third-party interfaces are continuously occupied, resulting in low data processing efficiency and serious resource waste.

Method used

By obtaining the retry time difference and retry conditions of the data that has received business execution failure information sent by the third-party interface, a remote procedure call request is sent to the third-party interface if the retry conditions are met. The data status is updated in both relational and non-relational database management systems, and non-retryable error codes are filtered to optimize the data processing flow.

Benefits of technology

It reduces resource waste during data processing, improves data processing efficiency, achieves a smooth request flow and low-traffic waveform, and enhances the accuracy and efficiency of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116405533B_ABST
    Figure CN116405533B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of Internet, and particularly relates to a request sending method and device, electronic equipment and storage medium. The request sending method comprises the following steps: obtaining a retry time difference corresponding to first data, wherein the first data is data that has received service execution failure information sent by a third-party interface; obtaining a retry condition corresponding to the first data; and sending a first remote procedure call request for the first data to the third-party interface in the case that the retry time difference meets the retry condition. The present disclosure can reduce resource waste and improve data processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of Internet technology, and in particular to a request sending method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the development of science and technology, the internet has become an indispensable part of people's daily lives. Data requests are a very common function on internet platforms. Queries per second (QPS) is used to measure the performance of a Domain Name System (DNS) server. When a database contains a large amount of data in a processing state, this large amount of data continuously consumes the third-party's QPS resources, preventing the third-party interface from processing new traffic data, resulting in low data processing efficiency and significant resource waste. Summary of the Invention

[0003] This disclosure provides a request sending method, apparatus, electronic device, and storage medium to at least solve the problems of low data processing efficiency and serious resource waste in related technologies. The technical solution of this disclosure is as follows:

[0004] According to a first aspect of the present disclosure, a request sending method is provided, comprising:

[0005] Obtain the retryable time difference corresponding to the first data, wherein the first data is the data that has received the business execution failure information sent by the third-party interface;

[0006] Obtain the retry conditions corresponding to the first data;

[0007] If the retry time difference satisfies the retry condition, a first remote procedure call request for the first data is sent to the third-party interface.

[0008] Optionally, the method further includes:

[0009] Obtain the second remote procedure call request for the second data;

[0010] If it is determined that the second remote procedure call request is the first request, the processing status data corresponding to the second data is inserted into the relational database management system, and the second remote procedure call request is sent to the third-party interface.

[0011] Optionally, after inserting the processing status data corresponding to the second data into the relational database management system and sending the second remote procedure call request to the third-party interface, the method further includes:

[0012] Receive the business execution information fed back by the third-party interface in response to the second remote procedure call request;

[0013] Based on the business execution information, the processing status data corresponding to the second data is updated.

[0014] Optionally, updating the processing status data corresponding to the second data based on the business execution information includes:

[0015] If the business execution information is business execution success information, then the processing status data corresponding to the second data is updated to processing success status data;

[0016] In response to the business execution information being business execution failure information, the error code corresponding to the second data in the business execution failure information is obtained, and the error code is stored in the processing status data;

[0017] Update the retryable time difference corresponding to the second data, and store the retryable time difference, the business characteristics and labels corresponding to the second data in the non-relational database management system.

[0018] Optionally, the method further includes:

[0019] Based on the error code, at least one existing data in the non-relational database management system is filtered, and the existing data corresponding to the target error code in the at least one existing data is filtered to obtain the target existing data set in the non-relational database management system, wherein the target error code is a non-retry error code;

[0020] The first data is determined from the target stock data set.

[0021] Optionally, obtaining the retry conditions corresponding to the first data includes:

[0022] Obtain the set of retryable time differences corresponding to at least one existing data record in a non-relational database management system;

[0023] Randomly select any retryable time difference from the set of retryable time differences, and use the retryable time difference as the time difference threshold corresponding to the first data.

[0024] Optionally, the method further includes:

[0025] Obtain the error code corresponding to any existing data in the non-relational database management system;

[0026] Based on the error code corresponding to any of the existing data, determine the retry time difference for any of the existing data.

[0027] or

[0028] The retry time difference for any existing data is determined based on the preset retry time difference corresponding to any existing data, the number of retries for any existing data, and the retry probability corresponding to the number of retries.

[0029] According to a second aspect of the present disclosure, a request sending apparatus is provided, comprising:

[0030] The time difference acquisition unit is configured to acquire the retryable time difference corresponding to the first data, wherein the first data is the data that has received the business execution failure information sent by the third-party interface;

[0031] The condition acquisition unit is configured to acquire the retry condition corresponding to the first data;

[0032] The request sending unit is configured to send a first remote procedure call request for the first data to the third-party interface if the retry time difference satisfies the retry condition.

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

[0034] processor;

[0035] Memory used to store the processor's executable instructions;

[0036] The processor is configured to execute the instructions to implement the request sending method described in any one of the preceding aspects.

[0037] According to a fourth aspect of this application, a storage medium is provided that, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform the request sending method described in any of the preceding aspects.

[0038] According to a fifth aspect of this application, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method described in any one of the preceding aspects.

[0039] The technical solutions provided by the embodiments of this disclosure have at least the following beneficial effects:

[0040] In some or related embodiments, by obtaining the retryable time difference corresponding to the first data, where the first data is data for which business execution failure information has been received from a third-party interface; obtaining the retry conditions corresponding to the first data; and if the retryable time difference meets the retry conditions, sending a first remote procedure call request for the first data to the third-party interface. Therefore, when the first data has failed to execute, it can be determined whether to send a remote procedure call request to the third-party interface based on the retryable time difference. This reduces the situation where the third-party interface is continuously occupied when the first data is in a processing state, weakens the peak of the request sent to the third-party interface into a smooth and low-traffic waveform, reduces resource waste, improves data processing efficiency, and thus advances the request process.

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

[0042] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0043] Figure 1 This is a background flowchart illustrating a request sending method according to an exemplary embodiment;

[0044] Figure 2 This is a flowchart illustrating a request sending method according to an exemplary embodiment;

[0045] Figure 3 This is a flowchart illustrating a request sending method according to an exemplary embodiment;

[0046] Figure 4 This is an interactive flowchart illustrating a request sending process according to an exemplary embodiment;

[0047] Figure 5 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment;

[0048] Figure 6 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment;

[0049] Figure 7 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment;

[0050] Figure 8 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment;

[0051] Figure 9This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment;

[0052] Figure 10 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Detailed Implementation

[0053] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0054] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0055] Figure 1 This is a background flowchart illustrating a request sending method according to an exemplary embodiment, such as... Figure 1 As shown, when the scheduled task performs polling, it can scan the database for data in the "processing" state and send batch requests to third-party interfaces. If it receives a response from the third-party interface for these batch requests, and the response is a business success message, the processing status of the data corresponding to that success message in the database can be updated to "success". If the response is not a business success message, the data corresponding to that message needs to wait for the next retry. Therefore, when a large amount of data will not reach its final state, it continuously occupies the third-party interface's Queries Per Second (QPS) resources, preventing the third-party interface from processing new traffic data and causing process anomalies.

[0056] Figure 2 This is a flowchart illustrating a request sending method according to an exemplary embodiment, such as... Figure 2 As shown, this request sending method can be used in data processing scenarios, and includes the following steps:

[0057] In step S11, the retryable time difference corresponding to the first data is obtained;

[0058] According to some embodiments, the first data is data that has received business execution failure information sent by a third-party interface. The "first" in the first data is only used to distinguish it from the other data and does not specifically refer to any fixed data. For example, when the specific data content corresponding to the first data changes, the first data can also change accordingly. The first data may be data that has already been processed by the third-party interface but where the business execution failed, requiring further processing by the third-party interface.

[0059] In simple terms, an interface (hardware interface) refers to the communication rules between different functional layers of the same computer. An interface is a reference type that defines a protocol. A third-party interface is the entity that connects the requesting end and the data source. This third-party interface does not specifically refer to a single, fixed interface. For example, when the data type of the first piece of data changes, the third-party interface may also change accordingly.

[0060] According to some embodiments, the retryable time difference refers to the time difference between retrying the first data. This retryable time difference can be, for example, the difference between the time when the remote procedure call request for the first data was last sent to the third-party interface and the current time. Alternatively, it can be the difference between the time when the remote procedure call request for the first data was last sent to the third-party interface and the time when the remote procedure call request is sent again. This retryable time difference is not specifically a fixed time difference. For example, when the current data changes, the retryable time difference can also change accordingly. For example, when the current time or the time when the remote procedure call request for the data was sent to the third-party interface changes, the retryable time difference can also change accordingly.

[0061] According to some embodiments, the electronic device can obtain the retryable time difference corresponding to the first data.

[0062] In step S12, the retry conditions corresponding to the first data are obtained;

[0063] According to some embodiments, a retry condition refers to a condition used to determine whether to send a first remote procedure call request for first data to a third-party interface. For example, different data may correspond to different retry conditions. This retry condition is not specifically a fixed condition. For example, when the method for obtaining the retry condition changes, the retry condition may also change accordingly. For example, when the specific content of the retry condition changes, the retry condition may also change accordingly.

[0064] In some embodiments, the electronic device can obtain the retry condition corresponding to the first data. The execution order of steps S11 and S12 is not limited. For example, step S11 can be executed first, followed by step S12, or step S12 can be executed first, followed by step S11, or steps S11 and S12 can be executed simultaneously.

[0065] In step S13, if the retry time difference meets the retry conditions, a first remote procedure call request for the first data is sent to the third-party interface.

[0066] According to some embodiments, a Remote Procedure Call (RPC) request is used to request a third-party interface to process current data. This RPC request is not specific to a particular fixed request. For example, the RPC request may change accordingly if the current data included in it changes. Similarly, the RPC request may change accordingly if the request time included in it changes.

[0067] It is easy to understand that the first remote procedure call request refers to a request initiated for the first data. The "first" in the first remote procedure call request is only used to distinguish it from other requests and does not specifically refer to a particular fixed request. For example, when the time point corresponding to the first remote procedure call request changes, the first remote procedure call request can also change accordingly. For example, when the first data changes, the first remote procedure call request can also change accordingly.

[0068] According to some embodiments, when the electronic device obtains the retryable time difference corresponding to the first data and the retry condition corresponding to the first data, the electronic device can detect whether the retryable time difference meets the retry condition. When the electronic device determines that the retryable time difference meets the retry condition, the electronic device can send a first remote procedure call request for the first data to a third-party interface.

[0069] In some or related embodiments, by obtaining the retryable time difference corresponding to the first data, where the first data is data for which business execution failure information has been received from a third-party interface; obtaining the retry conditions corresponding to the first data; and if the retryable time difference meets the retry conditions, sending a first remote procedure call request for the first data to the third-party interface. Therefore, when the first data has failed to execute, it can be determined whether to send a remote procedure call request to the third-party interface based on the retryable time difference. This reduces the situation where the third-party interface is continuously occupied when the first data is in a processing state, weakens the peak of the request sent to the third-party interface into a smooth and low-traffic waveform, reduces resource waste, improves data processing efficiency, and thus advances the request process.

[0070] Figure 3 This is a flowchart illustrating a request sending method according to an exemplary embodiment, such as... Figure 3 As shown, this request sending method can be used in data processing scenarios, and includes the following steps:

[0071] In step S21, a second remote procedure call request for the second data is obtained;

[0072] According to some embodiments, the second data refers to data for which no business execution information has been received from a third-party interface. This business execution information includes, but is not limited to, information indicating successful or unsuccessful processing. The second data does not specifically refer to any fixed data. For example, when the specific data included in the second data changes, the second data may also change accordingly.

[0073] It is easy to understand that the second remote procedure call request is used to request a third-party interface to process the second data. This second remote procedure call request does not specifically refer to a single, fixed request. For example, when the second data included in the second remote procedure call request changes, the second remote procedure call request may also change accordingly. For example, when the request time included in the second remote procedure call request changes, the second remote procedure call request may also change accordingly.

[0074] According to some embodiments, an electronic device can obtain a second remote procedure call request for second data.

[0075] In step S22, if it is determined that the second remote procedure call request is the first request, the processing status data corresponding to the second data is inserted into the relational database management system, and the second remote procedure call request is sent to the third-party interface.

[0076] According to some embodiments, the initial request refers to the first time data is sent to a third party for processing the data included in the initial request. This initial request does not specifically refer to a single, fixed request. For example, when the second data changes, the second remote procedure call request may also change accordingly, and the initial request may also change accordingly. For example, when the time point at which the second remote procedure call request is acquired changes, the second remote procedure call request may also change accordingly, and the initial request may also change accordingly.

[0077] It's easy to understand that relational database management systems (MySQL) store data in different tables, rather than putting all the data in one large repository, which increases speed and flexibility. The Structured Query Language (SQL) used by MySQL is the most commonly used standardized language for accessing databases.

[0078] Optionally, the processing status data is used to indicate that the second data has not reached the final state, meaning that the second data is still being processed. The final state indicates a state where no further processing of the current data is required. This final state does not specifically refer to a fixed state; it may include, for example, a determined success state or a determined complete failure state. The processing status data may include, but is not limited to, data awaiting retry, and data for which no successful processing information has been received from a third-party interface after the second remote procedure call request has been sent.

[0079] It is easy to understand that, if the electronic device determines that the second remote procedure call request is the first request, it can insert the processing status data corresponding to the second data into the relational database management system and send the second remote procedure call request to the third-party interface.

[0080] In step S23, business execution information is received from the third-party interface in response to the second remote procedure call request;

[0081] According to some embodiments, the service execution information in this disclosure is used to indicate the service execution result returned by a third-party interface to an electronic device in response to second data. This service execution information does not specifically refer to any fixed information. For example, when the processing result of the second data changes, the service execution information may also change accordingly. Similarly, when the second data changes, the service execution information may also change accordingly.

[0082] According to some embodiments, after an electronic device sends an initial remote procedure call request to a third-party interface, the electronic device can receive business execution information fed back by the third-party interface in response to the remote procedure call request.

[0083] In step S24, the processing status data corresponding to the second data is updated according to the business execution information.

[0084] According to some embodiments, when receiving business execution information from a third-party interface in response to a remote procedure call request, the electronic device can update the processing status record corresponding to the second data based on the business execution information, and update the processing status record to the status record corresponding to the business execution information.

[0085] According to some embodiments, when an electronic device updates the processing status record corresponding to the second data based on the service execution information, it can update the processing status data corresponding to the second data to processing success status data in response to the service execution information being service execution success information.

[0086] It's easy to understand that when a third-party interface returns a successful business execution message, the status of the MySQL data can be updated from "processing" to "processed successfully," meaning the second data can be updated from "processing" to "processed successfully."

[0087] In some embodiments, when updating the processing status record corresponding to the second data based on business execution information, according to some implementations, when the electronic device updates the processing status data corresponding to the second data based on the business execution information, it can, in response to the business execution information being business execution success information, update the processing status data corresponding to the second data to processing success status data; in response to the business execution information being business execution failure information, obtain the error code corresponding to the second data from the business execution failure information and store the error code in the processing status data; update the retry time difference corresponding to the second data, and store the retry time difference, the business characteristics corresponding to the second data, and the label in the non-relational database management system. Therefore, the accuracy of data status determination can be improved, data in different states can be classified and processed, and data processing efficiency can be improved.

[0088] In simple terms, a NoSQL database management system refers to an open-source, high-performance key-value database developed in C. Electronic devices can receive business execution information from third-party interfaces in response to remote procedure call requests. When an electronic device determines that the business execution information indicates a failure, it can retrieve the error code returned by the third-party interface. This error code can be, for example, a set of numbers (or a combination of letters and numbers), which is associated with the error message and can be used to identify specific problems in the current data execution.

[0089] Optionally, if the third-party interface returns a business execution failure message, the electronic device can save the error code returned by the third-party interface in the MySQL data, calculate the next retry time difference (retryTimeDifferent), and use the business characteristics and label corresponding to the current data as the key information, and save retryTimeDifferent as the key in Redis.

[0090] According to some embodiments, the method further includes:

[0091] Based on the error code, at least one existing data in the non-relational database management system is filtered, and the existing data corresponding to the target error code is filtered from the at least one existing data to obtain the target existing data set in the non-relational database management system. The target error code is a non-retryable error code. Determining the first data in the target existing data set can improve the accuracy of the first data determination and improve the accuracy of data processing.

[0092] For example, when an electronic device filters at least one piece of existing data in a non-relational database management system based on error codes, it can filter out existing data corresponding to error codes that are not retryable, thus obtaining the target set of existing data in the non-relational database management system. The target set of existing data is a collection comprised of at least one retryable piece of existing data.

[0093] Among them, the existing data of non-retryable error codes can also be processed using the processing method corresponding to the error codes, so that the processing status of the existing data can be changed from the processing state to the final state.

[0094] In one embodiment of this disclosure, the description of steps 21-24 can be found in the above-described embodiments, and this disclosure does not limit the scope of the embodiments. The optional examples in this disclosure can be arbitrarily combined, and without contradiction, this disclosure can be combined with steps from other embodiments and optional examples from other embodiments.

[0095] In some or related embodiments, by obtaining a second remote procedure call request for the second data, if it is determined that the second remote procedure call request is the first request, processing status data corresponding to the second data can be inserted into the relational database management system. The second remote procedure call request can then be sent to a third-party interface, and business execution information can be received from the third-party interface in response to the second remote procedure call request. Based on this business execution information, the processing status data corresponding to the second data can be updated. Therefore, by updating the processing status record corresponding to the second data based on the business execution information fed back by the third-party interface when the second remote procedure call request is the first request, the accuracy of data status determination can be improved, data in different states can be classified and processed, and data processing efficiency can be improved.

[0096] Figure 4 This is a flowchart illustrating a request sending method according to an exemplary embodiment, such as... Figure 4 As shown, this request sending method can be used in data processing scenarios, and includes the following steps:

[0097] In step S31, the retryable time difference corresponding to the first data is obtained;

[0098] The first data is the data that has received business execution failure information sent by the third-party interface.

[0099] The specific process is as described above and will not be repeated here.

[0100] In step S32, obtain the set of retryable time differences corresponding to at least one existing data in the non-relational database management system;

[0101] According to some embodiments, existing data refers to data for which a third-party interface has provided feedback on business execution information, and where such business execution information indicates a business execution failure. This existing data does not specifically refer to any particular fixed data. For example, a relational database management system may store at least one piece of existing data.

[0102] It is easy to understand that a set of retryable time differences refers to a collection of at least one retryable time difference. For example, one piece of existing data can correspond to one retryable time difference. The set of retryable time differences does not refer to a specific fixed set. For example, when the number of retryable time differences included in the set changes, the set of retryable time differences can also change accordingly. Similarly, when the specific retryable time differences within the set change, the set of retryable time differences can also change accordingly.

[0103] The retryable time difference refers to the time difference between retrying any data. This retryable time difference could be, for example, the difference between the time when a remote procedure call request for that data was last sent to the third-party interface and the current time. Alternatively, it could be the difference between the time when a remote procedure call request for that data was last sent to the third-party interface and the time when the request is sent again. This retryable time difference is not specifically a fixed time difference. For example, it can change when any data changes. Similarly, it can change when the current time or the time when a remote procedure call request for that data was sent to the third-party interface changes.

[0104] According to some embodiments, an electronic device can acquire a set of retryable time differences corresponding to at least one existing data record in a non-relational database management system.

[0105] In step S33, any retryable time difference is randomly selected from the set of retryable time differences, and any retryable time difference is used as the time difference threshold corresponding to the first data.

[0106] The time difference threshold refers to the threshold used to determine whether to send a request to the third-party interface for a retryable remote procedure call based on the retryable time difference. This time difference threshold is not specifically a fixed threshold. For example, if the method for determining the time difference threshold changes, the time difference threshold may also change accordingly.

[0107] According to some embodiments, an electronic device can acquire a set of retryable time differences corresponding to at least one existing data record in a non-relational database management system. Any retryable time difference is randomly selected from the set of retryable time differences, and this retryable time difference is used as the time difference threshold corresponding to the first data record.

[0108] According to some embodiments, at least one set of existing data may be, for example, existing data A, existing data S, existing data D, existing data F, existing data G, existing data H, existing data J, and existing data K. When the electronic device acquires a time difference threshold corresponding to the first data D, any retryable time difference acquired by the electronic device may be, for example, the retryable time difference of existing data G. That is, the electronic device may use the retryable time difference of existing data G as the time difference threshold corresponding to existing data D.

[0109] Optionally, when the retry time difference of the D stock data is greater than the retry time difference of the G stock data, the electronic device may send a remote procedure call retry request for the G stock data to a third-party interface.

[0110] According to some embodiments, the method further includes:

[0111] Retrieve the error code corresponding to any existing data in a non-relational database management system;

[0112] Based on the error code corresponding to any existing data, determine the retry time difference for any existing data.

[0113] or

[0114] The retry time difference for any existing data is determined based on the preset retry time difference corresponding to any existing data, the number of retries for any existing data, and the retry probability corresponding to the number of retries.

[0115] It is easy to understand that the retry time difference for any existing data in a NoSQL database management system can be determined based on the error code corresponding to that data. Different error codes correspond to different retry time differences. For example, different error codes can correspond to different fixed retry time differences. For instance, an electronic device can obtain the error code corresponding to any existing data and, based on that error code, determine the retry time difference for that data. Different error codes are configured with different time difference coefficients to achieve hashing of data with different error codes.

[0116] According to some embodiments, at least one type of existing data may be, for example, existing data A, existing data S, existing data D, existing data F, existing data G, existing data H, existing data J, and existing data K. When the electronic device acquires the retry time difference corresponding to the current existing data D, the electronic device can acquire the error code corresponding to existing data D. Based on the error code corresponding to existing data D, the electronic device can determine the retry time difference of existing data D.

[0117] According to some embodiments, when determining the retryable time difference of any existing data, the electronic device may determine the retryable time difference based on the retryable time difference corresponding to the existing data, the number of retries for any existing data, and the retry probability corresponding to the number of retries. In this case, the electronic device can obtain the random time by calculating the retryable time difference of each data, and since the more retries there are, the greater the probability that the next retry time will be longer, thereby realizing the hashing of the retry time of the existing data.

[0118] For example, electronic devices can determine the retry time difference corresponding to any existing data using a formula:

[0119] The retry time difference for any existing data = the preset retry time difference for any existing data + the number of retries for any existing data * the retry probability corresponding to the number of retries.

[0120] The preset retry time difference corresponding to any existing data can be determined by the electronic device based on the error code corresponding to any existing data.

[0121] For example, at least one set of existing data can be data A, data S, data D, data F, data G, data H, data J, and data K. When the electronic device acquires the retryable time difference corresponding to the current data D, it can acquire the error code corresponding to D. Based on the error code, the electronic device can determine the preset retryable time difference. The electronic device can acquire the number of retries and the retry probability corresponding to D. Based on the preset retryable time difference, the number of retries, and the retry probability, the retryable time difference corresponding to D can be determined.

[0122] In step S34, if the retry time difference is greater than the time difference threshold, a first remote procedure call request for the first data is sent to the third-party interface.

[0123] According to some embodiments, when an electronic device obtains a retryable time difference and a time difference threshold, it can compare the magnitudes of the retryable time difference and the time difference threshold. If the retryable time difference is greater than the time difference threshold, the electronic device can send a remote procedure call request for the first data to a third-party interface.

[0124] According to some embodiments, at least one set of existing data may be, for example, existing data A, existing data S, existing data D, existing data F, existing data G, existing data H, existing data J, and existing data K. When the electronic device acquires a time difference threshold corresponding to the first data D, any retryable time difference acquired by the electronic device may be, for example, the retryable time difference of existing data G. That is, the electronic device may use the retryable time difference of existing data G as the time difference threshold corresponding to existing data D. When the retryable time difference of existing data D is greater than the retryable time difference of existing data G, the electronic device may send a remote procedure call retry request for existing data G to a third-party interface.

[0125] In one embodiment of this disclosure, the description of steps 31-34 can be found in the above-described embodiments, and this disclosure does not limit the scope of the embodiments. The optional examples in this disclosure can be arbitrarily combined, and without contradiction, this disclosure can be combined with steps from other embodiments and optional examples from other embodiments.

[0126] In some or related embodiments, by obtaining the retryable time difference corresponding to the first data, a set of retryable time differences corresponding to at least one piece of existing data in the non-relational database management system can be obtained. Any retryable time difference can be randomly selected from this set and used as a time difference threshold corresponding to the first data. If the retryable time difference is greater than the threshold, a first remote procedure call request for the first data is sent to the third-party interface. Therefore, by comparing the time difference threshold and the retryable time difference before sending the remote procedure call request for the first data to the third-party interface, the situation where the third-party interface cannot process the first request when the existing data is in a processing state can be reduced, thus reducing resource waste, improving data processing efficiency, and thereby advancing the request process.

[0127] Figure 5 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment. (Refer to...) Figure 5 The device 500 includes a type acquisition unit 501, a condition acquisition unit 502, and a request sending unit 503.

[0128] The time difference acquisition unit 501 is configured to acquire the retryable time difference corresponding to the first data, wherein the first data is the data that has received the business execution failure information sent by the third-party interface;

[0129] Condition acquisition unit 502 is configured to acquire retry conditions corresponding to the first data;

[0130] The request sending unit 503 is configured to send a first remote procedure call request for the first data to the third-party interface if the retry time difference satisfies the retry condition.

[0131] According to some embodiments, Figure 6 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment. (Refer to...) Figure 6 The device 500 further includes a request acquisition unit 504, wherein:

[0132] The request retrieval unit 504 is configured to execute a second remote procedure call request to retrieve second data.

[0133] The request sending unit 503 is configured to, upon determining that the second remote procedure call request is the first request, insert processing status data corresponding to the second data into the relational database management system and send the second remote procedure call request to the third-party interface.

[0134] According to some embodiments, Figure 7 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment. (Refer to...) Figure 7 The device 500 also includes a status update unit 505, configured to perform processing status data corresponding to the second data in the relational database management system, and to send a second remote procedure call request to a third-party interface after:

[0135] Receive business execution information from third-party interfaces in response to the second remote procedure call request;

[0136] Based on the business execution information, update the processing status data corresponding to the second data.

[0137] According to some embodiments, Figure 8 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment. (Refer to...) Figure 8 The status update unit 505 includes a data update subunit 515, an error code storage subunit 525, and a data storage subunit 535. The status update unit 505 is configured to update the processing status data corresponding to the second data based on business execution information.

[0138] The data update subunit 515 is configured to update the processing status data corresponding to the second data to the processing success status data in response to the business execution information.

[0139] Error code storage subunit 525 is configured to, in response to a business execution failure message, retrieve the error code corresponding to the second data from the business execution failure message and store the error code in the processing status data;

[0140] The data storage subunit 535 is configured to perform the update of the retryable time difference corresponding to the second data, and store the retryable time difference, the business characteristics and label corresponding to the second data in the non-relational database management system.

[0141] According to some embodiments, the state update unit 505 further includes a data determination subunit 545, configured to perform:

[0142] Based on the error code, at least one existing data in the non-relational database management system is filtered, and the existing data corresponding to the target error code in the at least one existing data is filtered to obtain the target existing data set in the non-relational database management system, wherein the target error code is a non-retry error code;

[0143] Identify the first data in the target existing data set.

[0144] According to some embodiments, when the condition acquisition unit 502 is configured to acquire the retry condition corresponding to the first data, it is specifically configured to execute:

[0145] Obtain the set of retryable time differences corresponding to at least one existing data record in a non-relational database management system;

[0146] Randomly select any retryable time difference from the set of retryable time differences, and use any retryable time difference as the time difference threshold corresponding to the first data.

[0147] According to some embodiments, Figure 9 This is a block diagram illustrating a request sending apparatus according to an exemplary embodiment. (Refer to...) Figure 9 The condition acquisition unit 502 includes an error code acquisition subunit 512 and a time difference acquisition subunit 522, wherein,

[0148] Error code retrieval subunit 512 is configured to retrieve the error code corresponding to any existing data in a non-relational database management system.

[0149] The time difference acquisition subunit 522 is configured to determine the retryable time difference of any existing data based on the error code corresponding to any existing data.

[0150] or

[0151] The time difference acquisition subunit 522 is configured to determine the retryable time difference of any existing data based on the preset retryable time difference corresponding to any existing data, the number of retries for any existing data, and the retry probability corresponding to the number of retries.

[0152] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0153] In summary, the apparatus provided in this embodiment of the present disclosure includes a time difference acquisition unit configured to acquire a retryable time difference corresponding to first data, wherein the first data is data for which service execution failure information has been received from a third-party interface; a condition acquisition unit configured to acquire retry conditions corresponding to the first data; and a request sending unit configured to send a first remote procedure call request for the first data to the third-party interface when the retryable time difference meets the retry conditions. Therefore, even if the first data has failed to execute, the retryable time difference can be used to determine whether to send a remote procedure call request to the third-party interface. This reduces the likelihood of the third-party interface being continuously occupied while the first data is in a processing state, weakens the peak of requests sent to the third-party interface into a smooth and low-traffic waveform, reduces resource waste, improves data processing efficiency, and ultimately advances the request process.

[0154] Figure 10A schematic block diagram of an example electronic device 1000 that can be used to implement embodiments of the present disclosure is shown. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0155] like Figure 10 As shown, the electronic device 1000 includes a computing unit 1001, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1002 or a computer program loaded from a storage unit 1008 into a random access memory (RAM) 1003. The RAM 1003 may also store various programs and data required for the operation of the electronic device 1000. The computing unit 1001, ROM 1002, and RAM 1003 are interconnected via a bus 1004. An input / output (I / O) interface 1005 is also connected to the bus 1004.

[0156] Multiple components in electronic device 1000 are connected to I / O interface 1005, including: input unit 1006, such as keyboard, mouse, etc.; output unit 1007, such as various types of displays, speakers, etc.; storage unit 1008, such as disk, optical disk, etc.; and communication unit 1009, such as network card, modem, wireless transceiver, etc. Communication unit 1009 allows electronic device 1000 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0157] The computing unit 1001 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1001 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1001 performs the various methods and processes described above, such as the request sending method. For example, in some embodiments, the request sending method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1008. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 1000 via ROM 1002 and / or communication unit 1009. When the computer program is loaded into RAM 1003 and executed by the computing unit 1001, one or more steps of the request sending method described above may be performed. Alternatively, in other embodiments, the computing unit 1001 may be configured to perform the request sending method by any other suitable means (e.g., by means of firmware).

[0158] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0159] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0160] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0161] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0162] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0163] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service ecosystem, addressing the shortcomings of traditional physical hosts and VPS (Virtual Private Server, or simply "VPS") services, such as high management difficulty and weak business scalability. Servers can also be servers for distributed systems or servers incorporating blockchain technology.

[0164] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0165] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A request sending method, characterized in that, include: Obtain the retry time difference corresponding to the first data, wherein the first data is the data for which business execution failure information has been received from a third-party interface, and the retry time difference = the preset retry time difference corresponding to the first data + the number of retries for the first data. The retry probability corresponding to the number of retries; Obtain the retry conditions corresponding to the first data; If the retry time difference satisfies the retry condition, a first remote procedure call request for the first data is sent to the third-party interface. The method further includes: Obtain the second remote procedure call request for the second data; If it is determined that the second remote procedure call request is the first request, insert the processing status data corresponding to the second data into the relational database management system, and send the second remote procedure call request to the third-party interface; Receive the business execution information fed back by the third-party interface in response to the second remote procedure call request; Based on the business execution information, the processing status data corresponding to the second data is updated, including: If the business execution information is business execution success information, then the processing status data corresponding to the second data is updated to processing success status data; In response to the business execution information being business execution failure information, the error code corresponding to the second data in the business execution failure information is obtained, and the error code is stored in the processing status data. The error code is a set of numbers, and the error code is associated with the error message to identify specific problems in data execution. Update the retryable time difference corresponding to the second data, and use the business characteristics and labels corresponding to the second data as key information. Store the retryable time difference as the key value in a non-relational database management system, wherein the non-relational database is a key-value database. If the error code of the second data is a non-retryable error code, the processing method corresponding to the error code shall be adopted to change the processing status of the second data from the processing state to the final state. The final state is used to indicate the state that no data processing is required.

2. The method according to claim 1, characterized in that, The method further includes: Based on the error code, at least one existing data in the non-relational database management system is filtered, and the existing data corresponding to the target error code in the at least one existing data is filtered to obtain the target existing data set in the non-relational database management system, wherein the target error code is a non-retry error code; The first data is determined from the target stock data set.

3. The method according to claim 1, characterized in that, The step of obtaining the retry conditions corresponding to the first data includes: Obtain the set of retryable time differences corresponding to at least one existing data record in a non-relational database management system; Randomly select any retryable time difference from the set of retryable time differences, and use the retryable time difference as the time difference threshold corresponding to the first data.

4. The method according to claim 1, characterized in that, The method further includes: Obtain the error code corresponding to any existing data in the non-relational database management system; Based on the error code corresponding to any existing data, determine the retry time difference of any existing data, wherein different error codes correspond to different retry time differences, and different error codes are configured with different time difference coefficients to realize the hashing of data with different error codes; or, Based on the preset retry time difference corresponding to any existing data, the number of retries for any existing data, and the retry probability corresponding to the number of retries, the retry time difference for any existing data is determined. The more retries there are, the greater the probability that the next retry time will be longer, thus realizing the hashing of the retry time of the existing data.

5. A request sending device, characterized in that, The apparatus implements the method as described in claim 1, the apparatus comprising: The time difference acquisition unit is configured to acquire the retryable time difference corresponding to the first data, wherein the first data is the data that has received the business execution failure information sent by the third-party interface; The condition acquisition unit is configured to acquire the retry condition corresponding to the first data; The request sending unit is configured to send a first remote procedure call request for the first data to the third-party interface if the retry time difference satisfies the retry condition.

6. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the request sending method as described in any one of claims 1 to 4.

7. A storage medium, wherein when instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the request sending method as described in any one of claims 1 to 4.