Data transmission method and related device
By analyzing the transmission quality parameters between the data receiver and the storage party in the CDN and selecting the optimal storage party for data transmission, the problem of low data transmission quality in the CDN is solved, and more efficient data transmission and better user experience is achieved.
Patent Information
- Application Number
- CN202410022918.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-05
- Publication Date
- 2025-07-08
AI Technical Summary
In the prior art, the data transmission test of the content distribution network (CDN) only considers the network environment of the server, and does not pay enough attention to the actual data transmission situation of the data recipient, resulting in a low data transmission quality.
By analyzing the data transmission quality parameters between the data receiver and multiple data storage parties, the optimal data storage party is determined, and the data is transmitted through the storage direction of the data receiver to ensure the best data transmission effect.
It improves the quality and success rate of data transmission, provides a better data transmission experience, reduces data transmission abnormalities, and improves the overall data transmission experience of the data receiver.
Smart Images

Figure CN120281777A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data transmission, and in particular to a data transmission method and related devices. Background Art
[0002] Content Delivery Network (CDN) is a computer network system interconnected through the Internet. CDN includes multiple widely distributed servers for storing data. When the data recipient needs to obtain data from the server, CDN can use the server closest to each data recipient to transmit the data to each data recipient faster and more reliably.
[0003] In related technologies, in order to provide faster and more stable data transmission, data transmission tests are performed on each server in the CDN to detect the comprehensive data transmission quality of each server when transmitting data to each data recipient. Therefore, when the data recipient initiates a data acquisition request, the server with the best comprehensive data transmission quality can be selected to transmit data with the data recipient.
[0004] However, the server data transmission test in the CDN in the related technology only considers the network environment of the CDN itself, and does not pay attention to the actual data transmission situation of the data receiver. It is easy to use the server used for data transmission with the data receiver to fail to provide the data receiver with the best data transmission experience, resulting in low data transmission quality. Summary of the invention
[0005] In order to solve the above technical problems, the present application provides a data transmission method. When a data recipient has a data transmission demand, it will analyze the optimal data storage party with the highest data transmission quality between the data recipient and the data recipient, and transmit the required data to the data recipient through the optimal data storage direction to ensure that the data recipient obtains the best data transmission effect.
[0006] The embodiments of the present application disclose the following technical solutions:
[0007] In a first aspect, an embodiment of the present application discloses a data transmission method, the method comprising:
[0008] Determine data transmission parameters corresponding to a plurality of data storage parties respectively, the data transmission parameters being used to identify data transmission quality between a target data receiver and the corresponding data storage party, any data storage party among the plurality of data storage parties being used to store the target data;
[0009] Determine, according to the data transmission parameters respectively corresponding to the multiple data storage parties, an optimal data storage party with the best data transmission quality among the multiple data storage parties;
[0010] Transmit the target data to the target data recipient through the optimal data storage direction.
[0011] In a second aspect, an embodiment of the present application discloses a data transmission device, which includes a first determination unit, a second determination unit, and a first transmission unit:
[0012] The first determination unit is configured to determine data transmission parameters corresponding to multiple data storage parties, where the data transmission parameters are used to identify the data transmission quality between the target data recipient and the corresponding data storage party, and any data storage party among the multiple data storage parties is used to store the target data;
[0013] The second determination unit is configured to determine an optimal data storage party with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties;
[0014] The first transmission unit is configured to transmit the target data to the target data recipient through the optimal data storage direction.
[0015] In a possible implementation, the target data transmission parameter is used to identify the data transmission quality between the target data recipient and the target data storage party in a first time period, where the first time period is a time period corresponding to a first duration with the target moment as the end point, the first duration is less than a first duration threshold, the target moment is the moment when the target data transmission parameter is determined, the target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the target data storage party is any one of the multiple data storage parties.
[0016] In a possible implementation, the device further includes a third determination unit:
[0017] The third determination unit is configured to re-determine the data transmission parameter corresponding to the target data storage party based on the determined duration corresponding to the target data transmission parameter reaching a second duration threshold, where the determined duration is the duration elapsed since the moment when the target data transmission parameter is determined.
[0018] In a possible implementation, the data transmission parameter is positively correlated with the identified data transmission quality, and the second determination unit is specifically configured to:
[0019] Determine the data storage party with the largest data transmission parameter corresponding to among the multiple data storage parties as the optimal data storage party;
[0020] The device further includes an adjustment unit:
[0021] The adjustment unit is configured to adjust the target data transmission parameter according to the determined duration corresponding to the target data transmission parameter, so that the target data transmission parameter is inversely correlated with the determined duration. The determined duration is the duration elapsed since the moment when the target data transmission parameter is determined, and the target data transmission parameter is any one of the data transmission parameters corresponding to the multiple data storage parties.
[0022] In a possible implementation manner, the first determination unit is specifically configured to:
[0023] Based on the fact that the target data recipient is not in a data transmission state, transmit test data from the target data storage party to the target data recipient, where the target data storage party is any one of the multiple data storage parties;
[0024] Determine the data transmission parameter corresponding to the target data storage party according to the data transmission quality when transmitting the test data between the target data storage party and the target data recipient.
[0025] In a possible implementation manner, the target data transmission parameter is used to identify the data transmission quality between the target data recipient and the target data storage party through the first transmission medium. The target data storage party is any one of the multiple data storage parties, the target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the first transmission medium is the transmission medium used for data transmission between the target data recipient and the target data storage party;
[0026] The first transmission unit is specifically configured to:
[0027] Use the transmission medium for data transmission between the optimal data recipient and the target data storage party to transmit the target data from the optimal data storage party to the target data recipient;
[0028] The apparatus further includes a fourth determination unit:
[0029] The fourth determination unit is configured to re-determine the target data transmission parameter based on the fact that the transmission medium for data transmission between the target data recipient and the target data storage party is changed from the first transmission medium to the second transmission medium. The re-determined target data transmission parameter is used to identify the data transmission quality between the target data recipient and the target data storage party through the second transmission medium.
[0030] In a possible implementation manner, the second determination unit is specifically configured to:
[0031] Based on the data transmission request for the target data initiated by the target data recipient, determine the optimal data storage party with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively.
[0032] In a possible implementation manner, the second determination unit is specifically configured to:
[0033] Based on the data transmission request for the target data initiated by the target data recipient, determine the target data identifier corresponding to the target data;
[0034] Based on the mapping relationship between the data identifier and the data storage party identifier, determine the multiple data storage party identifiers corresponding to the target data identifier, where the multiple data storage party identifiers are used to identify the multiple data storage parties;
[0035] According to the data transmission parameters corresponding to the multiple data storage parties respectively, determine the optimal data storage party with the best data transmission quality from the multiple data storage parties.
[0036] In a possible implementation manner, the first determination unit is specifically configured to:
[0037] Obtain the sub-transmission parameters corresponding to the target data storage party in multiple data transmission parameter dimensions. The target sub-transmission parameter is used to identify the data transmission quality between the target data storage party and the target data recipient under the target data transmission parameter dimension. The target sub-transmission parameter is the sub-transmission parameter corresponding to the target data storage party in the target data transmission parameter dimension, and the target data storage party is any one of the multiple data storage parties;
[0038] According to the sub-transmission parameters corresponding to the target data storage party in multiple data transmission parameter dimensions, determine the data transmission parameters corresponding to the target data storage party.
[0039] In a possible implementation manner, the apparatus further includes a second transmission unit:
[0040] The second transmission unit is configured to, based on an exception occurring in the data transmission between the optimal data storage party and the target data recipient, re-transmit the target data to the target data recipient through the sub-optimal data storage party among the multiple data storage parties. The sub-optimal data storage party is determined according to the data transmission parameters corresponding to the multiple data storage parties respectively, and is the data storage party with the best data transmission quality among the multiple data storage parties except the optimal data storage party.
[0041] In a possible implementation manner, the second determination unit is specifically configured to:
[0042] Determine multiple to-be-determined data storage parties with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively. The multiple to-be-determined data storage parties are sorted in descending order of data transmission quality, and the optimal data storage party is the data storage party ranked first among the multiple to-be-determined data storage parties;
[0043] The second transmission unit is specifically configured to:
[0044] Re-transmit the target data to the target data recipient through the second-ranked to-be-determined data recipient among the multiple to-be-determined data storage parties.
[0045] In a possible implementation manner, the multiple data storage parties are multiple servers in a content delivery network for storing the target data, the optimal data storage party is the target server among the multiple servers, and the apparatus further includes a fifth determination unit and a sixth determination unit:
[0046] The fifth determination unit is configured to determine the domain name information, server address information, and server data storage address corresponding to the target server. The domain name information is used to identify the target network domain where the target server is located, the server address information is used to identify the target server in the target network domain, and the server data storage address is used to identify the storage location of the target data in the target server;
[0047] The sixth determination unit is configured to determine the data storage address corresponding to the target server according to the domain name information, the server address information, and the server data storage address. The data storage address is used to obtain the target data from the target server;
[0048] The first transmission unit is specifically configured to:
[0049] Based on the data storage address, transmit the target data to the target data recipient through the target server.
[0050] In a third aspect, an embodiment of the present application discloses a computer device, which includes a processor and a memory:
[0051] The memory is used to store a computer program and transmit the computer program to the processor;
[0052] The processor is used to execute the data transmission method according to any item in the first aspect according to the instructions in the computer program;
[0053] Fourthly, an embodiment of the present application discloses a computer-readable storage medium for storing a computer program for executing the data transmission method according to any one of the first aspect.
[0054] Fifthly, an embodiment of the present application discloses a computer program product including a computer program, which, when running on a computer device, causes the computer device to execute the data transmission method according to any one of the first aspect.
[0055] As can be seen from the above technical solutions, the present application performs a transmission quality assessment for a data receiver that can generate an actual data transmission requirement, and allocates a data storage party with the optimal data transmission quality between the data storage party and the data receiver to perform data transmission for the data receiver. First, the data transmission parameters corresponding to multiple data storage parties can be determined. The data transmission parameters are used to identify the data transmission quality between the target data receiver and the corresponding data storage party. All the multiple data storage parties are data storage parties for storing target data. Thus, when the target data receiver has a need to receive the target data, based on these data transmission parameters, the optimal data storage party with the optimal data transmission quality between the target data receiver and the multiple data storage parties can be determined from the multiple data storage parties, and the target data is transmitted to the target data receiver through the optimal data storage party, so as to ensure that the target data receiver can receive the target data with the best data transmission quality. It can be seen that the present application analyzes the data transmission quality of the data transmission between the data storage party and the target data receiver from the perspective of the target data receiver, obtains the data transmission parameters corresponding to each data storage party, and thus when selecting a data storage party to perform data transmission with the target data receiver based on the data transmission parameters, it can ensure the data transmission quality of the target data receiver to the greatest extent, and effectively avoid the situation that although a certain data storage party has relatively high-quality data transmission quality for multiple data receivers, the data transmission based on this data storage party cannot bring the best data transmission quality to the target data receiver. The present application improves the pertinence to each data receiver in the data transmission quality analysis, can adopt different data storage party priorities for different data receivers to determine the actual data storage party for transmission, thus ensuring the data transmission quality of each data receiver and improving the data transmission speed and success rate. Description of the Drawings
[0056] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0057] Figure 1 A schematic diagram of a data transmission method in an actual application scenario provided by an embodiment of the present application;
[0058] Figure 2 A flowchart of a data transmission method provided by an embodiment of the present application;
[0059] Figure 3 A flowchart of a data transmission method in an actual application scenario provided by an embodiment of the present application;
[0060] Figure 4 A schematic diagram of a data transmission method in an actual application scenario provided by an embodiment of the present application;
[0061] Figure 5 A schematic diagram of a data transmission method in an actual application scenario provided by an embodiment of the present application;
[0062] Figure 6 A structural block diagram of a data transmission device provided by an embodiment of the present application;
[0063] Figure 7 A structural diagram of a terminal provided by an embodiment of the present application;
[0064] Figure 8 A structural diagram of a server provided by an embodiment of the present application. Detailed implementation manners
[0065] The embodiments of the present application will be described below with reference to the accompanying drawings.
[0066] In order to ensure the quality of data transmission, when transmitting data, a data storage party that can perform data transmission with a relatively high data transmission quality with the data receiving party is usually selected to transmit the required data to the data receiving party.
[0067] In the related art, for each data storage party, the data transmission quality when the data storage party transmits data to multiple data receiving parties is analyzed to obtain the comprehensive data transmission quality score of the data storage party. If a data receiving party has a data acquisition requirement, based on the above analysis results, the data storage party with the highest comprehensive data transmission quality score is selected for data transmission.
[0068] However, although the data transmission methods in the related art can reduce the probability of data transmission anomalies to a certain extent, it is difficult to ensure that the data storage party for data transmission can bring the optimal data transmission quality to the data receiving party. Therefore, there is still a relatively high probability of data transmission anomalies, resulting in a poor data receiving effect for the data receiving party, such as low data transmission quality and high data transmission failure rate. Generally, data transmission anomalies mean that data transmission needs to be re-performed, which is likely to bring a poor data transmission experience to the data receiving party. For example, abnormal video data transmission will cause video playback to freeze, etc.
[0069] To solve the above technical problems, the present application provides a data transmission method that can, from the perspective of the target data receiving party, determine the data transmission parameters corresponding to multiple data storage parties. The data transmission parameters are used to identify the data transmission quality between the corresponding data storage party and the target data receiving party. Thus, when the target data receiving party has a data transmission requirement, the optimal data storage party with the best data transmission quality between it and the target data receiving party can be determined from multiple data storage parties according to the data transmission parameters, and the required data can be transmitted to the target data receiving party through the optimal data storage party, thereby ensuring the data transmission quality of the target data receiving party to the greatest extent and effectively improving the data transmission effect of the target data receiving party.
[0070] It can be understood that this method can be applied to a computer device, which is a computer device capable of managing data transmission methods, such as a terminal device or a server. This method can be independently executed by a terminal device or a server, or can be applied to a network scenario where a terminal device and a server communicate and executed in cooperation by the terminal device and the server. Among them, the terminal device can be a mobile phone, a tablet computer, a laptop computer, a desktop computer, a smart TV, a vehicle-mounted terminal, etc. The terminal device can also include various virtual reality devices, such as augmented reality (AR) devices, such as AR glasses, AR screens, etc., and can also include virtual reality (VR) devices, such as head-mounted VR glasses, etc. The server can be understood as an application server or a web server. In actual deployment, the server can be an independent server, a cluster server, or a cloud server, etc.
[0071] To facilitate the understanding of the technical solution provided by the present application, next, a practical application scenario will be combined to introduce the data transmission method provided by the present application.
[0072] See Figure 1 , Figure 1Schematic diagram of a data transmission method provided by an embodiment of the present application. In this actual application scenario, the computer device is a server 101 for managing data transmission, and the server 101 can be used to manage Figure 1 the data transmission of the receiving device in it. The receiving device can be a terminal device, such as a mobile phone, etc. The data recipient is the receiving device, and the data storage parties are N servers from server 1 to server N, and the target data is stored in all N servers.
[0073] In Figure 1 , the data transmission process targeted by the data transmission method is the process of transmitting data to the receiving device. First, the server 101 can determine the data transmission parameters corresponding to the N servers respectively, where each data transmission parameter is used to characterize the data transmission quality between the corresponding server and the receiving device. For example, the data transmission parameter 1 corresponding to server 1 is used to identify the data transmission quality between server 1 and the receiving device.
[0074] If the receiving device initiates a data transmission request for the target data, it means that the receiving device has a need to obtain the target data at this time. Therefore, the server 101 can determine the optimal server among the N servers according to the N data transmission parameters. The optimal server is the server with the best data transmission quality between it and the receiving device. The server 101 can send relevant instructions to make the optimal server transmit the target data to the receiving device, so as to ensure that the receiving device obtains the best data transmission service and can improve the success rate and efficiency of the receiving device receiving the target data.
[0075] It can be seen that since the present application analyzes the server for data transmission with the receiving device based on the actual data transmission quality between each server and the receiving device, rather than only based on the comprehensive data transmission quality corresponding to each server itself, although the optimal server for data transmission with the receiving device may not be the server with the strongest comprehensive data transmission ability, it is the server that can provide the best data transmission service for the receiving device. Therefore, the data transmission experience of the receiving device itself is improved to the greatest extent. In summary, through the data transmission method of the present application, different transmission ability analyses can be performed on the server for different receiving devices, and the best data transmission experience can be provided for each receiving device.
[0076] Next, the data transmission method provided by the present application will be introduced in conjunction with the accompanying drawings.
[0077] See Figure 2 , Figure 2The flowchart of a data transmission method provided by an embodiment of this application. In this embodiment, the computer device can be any computer device with data transmission management capabilities. The method includes:
[0078] S201: Determine the data transmission parameters corresponding to multiple data storage parties respectively.
[0079] In the embodiment of this application, the shown data transmission method is targeted at a target data recipient, which can be any data recipient, such as a mobile phone or a computer of a certain user. In order to enable the target data recipient to obtain the best data transmission experience when receiving the target data, the computer device will analyze the data transmission parameters corresponding to multiple data storage parties for this target data recipient. Among them, the target data can be any data, such as video data, text data, image data, etc. The data transmission parameter is used to identify the data transmission quality between the target data recipient and the corresponding data storage party. Any data storage party among the multiple data storage parties is used to store the target data.
[0080] The data transmission quality in this application can be the data transmission quality analyzed by combining one or more indicators of data transmission. For example, it can include data transmission speed indicators, data transmission success rate indicators, etc.
[0081] The data storage party in this application is the data storage party relative to the target data recipient, that is, the data storage party can be any data storage party that is used to store the target data and has the ability to transmit the target data to the target data recipient. The data storage parties corresponding to different data recipients can be different.
[0082] Since this application determines the data transmission parameters corresponding to each data storage party for the target data recipient, the data transmission parameter can relatively truly represent the real data transmission quality when each data storage party conducts data transmission with the target data recipient. This is the basis for this application to provide a high-quality data transmission experience for each data recipient.
[0083] S202: According to the data transmission parameters corresponding to multiple data storage parties respectively, determine the optimal data storage party with the best data transmission quality among the multiple data storage parties.
[0084] When the target data recipient has the need to receive the target data, the computer device can determine the data transmission quality corresponding to each of the multiple data storage parties at this time according to the data transmission parameters corresponding to the multiple data storage parties respectively, so as to determine the optimal data storage party with the best data transmission quality with the target data recipient.
[0085] It can be understood that when determining the optimal data storage method, the parameter values of the data transmission parameters corresponding to each data storage party for reference may be the same as the parameter values of the data transmission parameters determined in step S201, or may be parameter values that vary based on the change in the data transmission quality of the data storage party. There will be a detailed introduction below and it is not limited here.
[0086] S203: Transmit the target data from the optimal data storage party to the target data recipient.
[0087] Since there is optimal data transmission quality between the optimal data storage party and the target data recipient, therefore, the target data can be transmitted from the optimal data storage party to the target data recipient with optimal data transmission quality. Among them, based on different computer devices, the manner of executing this step S203 can also be different. For example, when the computer device is a computer device on the side of the target data recipient, the computer device can send the data storage address corresponding to the target data in the optimal data storage party to the target data recipient, so that the target data recipient can initiate data transmission with the optimal data storage party through this data storage address, thereby enabling the transmission of the target data from the optimal data storage party to the target data recipient; when the computer device is a computer device on the side of the data storage party, it can directly instruct the optimal data storage party to transmit the target data to the target data recipient, thereby realizing the transmission of the target data from the optimal data storage party to the target data recipient.
[0088] From the above technical solutions, it can be seen that this application will conduct a transmission quality assessment for data recipients that can generate actual data transmission requirements, and allocate a data storage party with the optimal data transmission quality between the data storage party and the data recipient for data transmission. For example, this application analyzes the data transmission quality of the data transmission between the data storage party and the target data recipient from the perspective of the target data recipient, obtains the data transmission parameters corresponding to each data storage party, so that when selecting a data storage party to transmit data with the target data recipient based on the data transmission parameters, it can maximize the data transmission quality of the target data recipient, effectively avoiding the situation where although a certain data storage party has relatively good data transmission quality for multiple data recipients, the data transmission based on this data storage party cannot bring the best data transmission quality to the target data recipient. This application improves the pertinence to each data recipient in data transmission quality analysis, can adopt different data storage party priorities for different data recipients to determine the actual data storage party for transmission, thereby ensuring the data transmission quality of each data recipient and improving the data transmission speed and success rate.
[0089] It can be understood that the data transmission environment where the data receiver and the data storage party are located usually does not remain unchanged forever, and various fluctuations may occur. For example, the network environment where they are located may fluctuate, etc. This may cause changes in the data transmission quality between the data receiver and the data storage party. Based on this, in a possible implementation manner, the computer device can analyze the data transmission quality between the target data receiver and the data storage party in the near future to determine the corresponding data transmission parameters, so as to improve the timeliness of the data transmission parameters.
[0090] For example, the target data transmission parameter can be used to identify the data transmission quality between the target data receiver and the target data storage party in the first time period. The first time period is a time period with the target moment as the end point and corresponding to the first duration. The first duration is less than the first duration threshold, and the first duration threshold is used to measure a relatively short duration and can be set based on actual needs. The target moment is the moment when the target data transmission parameter is determined. That is, the target data transmission parameter is determined based on the data transmission quality between the target data receiver and the target data storage party in the recent time period. Therefore, the identified data transmission quality is relatively close to the current data transmission quality between the target data receiver and the target data storage party. Thus, when determining the optimal data storage party, the current corresponding data transmission quality of the target data storage party can be analyzed more accurately based on the target data transmission parameter, further ensuring that the determined optimal data storage party can have the optimal data transmission quality with the target data receiver. The target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the target data storage party can be any one of multiple data storage parties.
[0091] Similarly, because the data transmission parameter with stronger timeliness identifies the data transmission quality more accurately, generally speaking, the earlier the data transmission parameter is determined, the lower its identification effect on the current data transmission quality. Because the earlier the data transmission parameter is determined, it means that the time interval between the determination moment of the data transmission parameter and the current moment is longer, and the possibility of changes in the data transmission quality between the target data receiver and the data storage party during this interval is greater. Therefore, the credibility of the data transmission parameter is lower.
[0092] Based on this, in a possible implementation, in order to maintain the accuracy of the data transmission parameters corresponding to the data storage party for the data transmission quality identifier, the computer device can continuously update the data transmission parameters corresponding to each data storage party to ensure the timeliness of the data transmission parameters. The computer device can preset a second duration threshold, which is used to measure whether the data transmission parameters have strong timeliness. The computer device can determine the determined duration corresponding to the target data transmission parameters and judge the determined duration against the second duration threshold. The determined duration is the duration elapsed since the moment when the target data transmission parameters were determined.
[0093] If the determined duration corresponding to the target data transmission parameters reaches the second duration threshold, it indicates that the determined duration of the target data transmission parameters is relatively long at this time and the timeliness is poor. There is a high probability that the data transmission quality between the target data storage party and the target data receiving party has changed. At this time, the computer device can re-determine the data transmission parameters corresponding to the target data storage party to update the data transmission parameters of the target data storage party. Since the data transmission parameters are determined based on the data transmission quality in the recent period, the re-determined data transmission parameters can have strong timeliness, thereby ensuring that the recorded data transmission parameters can accurately identify the data transmission quality.
[0094] As mentioned above, in this application, when it is necessary to transmit target data, the optimal data storage party is determined based on the data transmission parameters corresponding to each data storage party respectively, and the credibility of the data transmission parameters will continuously decrease as the determined duration increases. Based on this, in a possible implementation, in order to further improve the accuracy of determining the optimal data storage party, the computer device can continuously adjust the data transmission parameters based on the determined duration corresponding to the data transmission parameters, so that when the credibility of the data transmission parameters decreases, the identified data transmission quality can also decrease accordingly, thereby reducing the influence of the data transmission parameters with low credibility on the determination of the optimal data storage party, and further improving the accuracy.
[0095] In this implementation, the data transmission parameters are positively correlated with the identified data transmission quality, that is, the larger the data transmission parameters, the higher the identified data transmission quality. When executing step S202, the computer device can execute step S2021 (not shown in the figure), and step S2021 is a possible implementation of step S202, including:
[0096] S2021: Determine the data storage party with the largest data transmission parameters among the multiple data storage parties as the optimal data storage party.
[0097] The optimal data transmission quality is identified by the maximum data transmission parameter. Therefore, the data storage party corresponding to the largest data transmission parameter is the optimal data storage party.
[0098] The computer device can adjust the target data transmission parameter according to the determined duration corresponding to the target data transmission parameter, so that the target data transmission parameter is inversely correlated with the determined duration. The determined duration is the duration elapsed since the moment when the target data transmission parameter is determined, and the target data transmission parameter is any one of the data transmission parameters corresponding to multiple data storage parties. Thus, in this way, the target data transmission parameter can be continuously reduced as the determined duration increases. That is, when the timeliness of the target data transmission parameter becomes poor and the accuracy of the data transmission quality indicated decreases, the computer device can directly reduce the data transmission quality indicated by the target data transmission parameter. Therefore, when determining the optimal data storage party, since the target data transmission parameter is small, the probability that the target data storage party is determined as the optimal data storage party decreases. Thus, the probability that the data storage party with a relatively low data transmission quality credibility is determined as the optimal data storage party can be reduced. In other words, the credibility of the optimal data storage party can be improved, further ensuring the data transmission experience of the target data receiving party.
[0099] It can be understood that the data transmission quality is usually determined through actual data transmissions. For example, the data transmission quality can be determined by the relevant parameters generated during the data transmission process. Thus, it can be seen that the analysis of the data transmission quality may require occupying the data transmission resources of the target data receiving party. For example, it may consume the data transmission bandwidth of the target data receiving party, etc.
[0100] Based on this, in a possible implementation manner, in order to provide a better data transmission experience for the target data receiving party, the computer device can analyze the data transmission quality of the target data receiving party when the target data receiving party has no data transmission requirements, so as to reduce the interference to the data transmission of the target data receiving party.
[0101] When performing step S201, the computer device can execute steps S2011 - S2012 (not shown in the figure). Steps S2011 - S2012 are a possible implementation manner of step S201, including:
[0102] S2011: Based on the fact that the target data receiving party is not in a data transmission state, transmit test data from the target data storage party to the target data receiving party.
[0103] Among them, the data transmission state is used to represent that the target data recipient is in the process of data transmission. If it is not in the data transmission state, it means that the target data recipient does not need to perform data transmission at this time. Therefore, the data transmission resources corresponding to the target data recipient are in an idle state. Therefore, at this time, by using the data transmission resources corresponding to the target data recipient and transmitting test data from the target data storage party to the target data recipient, the interference to the data transmission of the target data recipient can be reduced. The test data is data used to test the data transmission quality and can be any data with test capabilities. The target data storage party is any one of multiple data storage parties.
[0104] S2012: Determine the data transmission parameters corresponding to the target data storage party according to the data transmission quality when transmitting test data between the target data storage party and the target data recipient.
[0105] Through the data transmission quality when transmitting test data between the target data storage party and the target data recipient, the computer device can obtain the data transmission quality of data transmission between the target data storage party and the target data recipient, and thus can determine the data transmission parameters corresponding to the target data storage party based on this. For example, when transmitting test data, the computer device can collect relevant parameters generated during the transmission process. These parameters can be used to represent the data transmission quality, such as data transmission speed parameters, data transmission stability parameters, etc. Based on these parameters, the data transmission parameters corresponding to the target data storage party can be determined.
[0106] Under normal circumstances, data transmission between a data storage party and a data recipient is carried out through a transmission medium. The data medium can include various types, such as wireless media such as networks and Bluetooth, or wired media such as data lines. It can be understood that the data transmission quality corresponding to different transmission media may be different. For example, when the network environment of the network where the data recipient is located changes or a different network is changed, the data transmission speed and transmission stability may both change.
[0107] Based on this, in a possible implementation, in order to further improve the accuracy of the data transmission quality identified by the data transmission parameters, the computer device may update the data transmission parameters based on the change of the transmission medium corresponding to the target data recipient. In this implementation, the target data transmission parameters are used to identify the data transmission quality between the target data recipient and the target data storage party through the first transmission medium, the target data storage party is any one of multiple data storage parties, the target data transmission parameters are the data transmission parameters corresponding to the target data storage party, and the first transmission medium is the transmission medium used for data transmission between the target data recipient and the target data storage party. That is, when determining the target data transmission parameters, they are determined based on the data transmission quality when the target data storage party and the target data recipient perform data transmission using the first transmission medium. Therefore, if when the target data recipient has a transmission requirement for the target data, the target data recipient and the target data storage party still use the first transmission medium for data transmission, then the target data transmission parameters can more accurately identify the data transmission quality corresponding to the current target data storage party.
[0108] Correspondingly, if when the target data recipient has a transmission requirement for the target data, the transmission medium between the target data recipient and the target data storage party changes, then the target data transmission parameters may not be able to accurately identify the data transmission quality corresponding to the current target data storage party. Based on this, the computer device may update the target data transmission parameters in a timely manner when the transmission medium changes.
[0109] When performing step S203, the computer device may execute step S2031 (not shown in the figure), and step S2031 is a possible implementation of step S203, including:
[0110] S2031: Use the transmission medium for data transmission between the optimal data recipient and the target data storage party to transmit the target data from the optimal data storage party to the target data recipient.
[0111] During the actual data transmission of the target data, the optimal data storage party will perform data transmission through the transmission medium between it and the target data recipient at this time. Therefore, when determining the data transmission parameters corresponding to the optimal data storage party, if the transmission medium between the optimal data storage party and the target data recipient is different from the transmission medium during actual transmission, it will result in inaccurate data transmission quality identified by the data transmission parameters.
[0112] To avoid the above problems, based on the change of the transmission medium for data transmission between the target data recipient and the target data storage party from the first transmission medium to the second transmission medium, the computer device can re-determine the target data transmission parameters, where the re-determined target data transmission parameters are used to identify the data transmission quality between the target data recipient and the target data storage party through the second transmission medium. Thus, when the data transmission medium between the data storage party and the target data recipient changes, the computer device can timely determine new data transmission parameters to identify the data transmission quality under the new transmission medium, thereby ensuring a high accuracy of the optimal data storage party determined based on the data transmission parameters.
[0113] For example, the computer device can collect in real time relevant information used to characterize the network environment where the target data recipient is located, such as real-time carrier, region, network status classification, etc. Based on this information, it can determine whether the network environment where the target data recipient is located has changed. If it is determined based on this information that the network environment has changed, it means that the transmission medium for data transmission between the target data recipient and the data storage party has changed at this time, and the computer device can re-determine the data transmission parameters corresponding to each data storage party.
[0114] From the above technical solutions, it can be seen that in order to ensure the accuracy of the data transmission parameters, this application will timely update the data transmission parameters when various events that may affect the data transmission quality occur. Therefore, the data transmission parameters have strong timeliness. Based on this, in a possible implementation manner, in order to maximize the improvement effect of the timeliness of the data transmission parameters on the data transmission quality, the computer device can analyze the optimal data storage party in real time based on the data transmission parameters when there is a data transmission requirement.
[0115] When executing step S202, the computer device can execute step S2022 (not shown in the figure). Step S2022 is a possible implementation manner of step S202 and includes:
[0116] S2022: Based on the data transmission request for the target data initiated by the target data recipient, determine the optimal data storage party with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties.
[0117] In this implementation, if the target data recipient has a data transmission requirement for the target data, a data transmission request for the target data will be initiated. At this time, the computer device can determine that the target data recipient has a data transmission requirement for the target data, and thus can analyze multiple data transmission parameters to determine the optimal data storage party. After the determination, it can be directly used to transmit the target data to the target data recipient. The advantage of this timing for determining the optimal data storage party is that the analysis of the optimal data storage party can be performed when a data transmission requirement occurs, so that the data transmission parameters can accurately represent the data transmission quality between the data storage party and the target data recipient when the data storage party is determined as the optimal data storage party for data transmission, thereby ensuring the accuracy of the determined optimal data storage party.
[0118] It can be understood that in a data transmission scenario, there are usually various data that can be transmitted, and the data stored by different data storage parties may be different. Specifically, in one possible implementation, the computer device can establish a mapping relationship between the data and the data storage party to quickly establish a data transmission channel.
[0119] When executing step S2022, the computer device can execute steps S20221 - S20223 (not shown in the figure). Steps S20221 - S20223 are a possible implementation of step S2022 and include:
[0120] S20221: Based on the data transmission request for the target data initiated by the target data recipient, determine the target data identifier corresponding to the target data.
[0121] In this actual application scenario, each data has a corresponding data identifier, and the corresponding data can be identified through the data identifier. The target data identifier is used to identify the target data. The types of data identifiers can include multiple types. For example, the data identifier can directly be the data itself, or it can be a simple identifier used to identify the data, etc. There is no limitation here.
[0122] S20222: Based on the mapping relationship between the data identifier and the data storage party identifier, determine multiple data storage party identifiers corresponding to the target data identifier.
[0123] Among them, the mapping relationship between the data identifier and the data storage party identifier is established according to the data storage situation of the data storage party. The data identifier has a mapping relationship only with the data storage party identifier of the data storage party storing the corresponding data. The data storage party identifier corresponds one-to-one with the data storage party and is used to identify the corresponding data storage party. For example, when the data storage party is a server, the data storage party identifier can be an (Internet Protocol, IP) address, etc. Since the target data is stored in the above-mentioned multiple data storage parties, the multiple data storage party identifiers determined through the mapping relationship between the data identifier and the data storage party identifier can be used to identify the above-mentioned multiple data storage parties.
[0124] S20223: Determine the optimal data storage party with the best data transmission quality from multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively.
[0125] In this way, the computer device can quickly determine the data storage party capable of transmitting the target data, thereby realizing the rapid analysis of the optimal data storage party and improving the efficiency and accuracy of data transmission.
[0126] Next, the specific determination method of the data transmission parameters will be introduced in detail.
[0127] It can be understood that the data transmission quality can be characterized by multiple dimensions, such as data transmission speed, data transmission stability, etc. Based on this, in a possible implementation manner, in order to be able to analyze the data transmission quality more accurately, the computer device can combine the parameters of multiple dimensions to determine the data transmission parameters.
[0128] When executing step S201, the computer device can execute steps S2013 - S2014 (not shown in the figure). Steps S2013 - S2014 are a possible implementation manner of step S201 and include:
[0129] S2013: Obtain the sub - transmission parameters corresponding to the target data storage party in multiple data transmission parameter dimensions respectively.
[0130] Among them, the sub - transmission parameters under multiple data transmission parameter dimensions can all be used to characterize the data transmission quality, and the ways in which the sub - transmission parameters under different data transmission parameter dimensions characterize the data transmission quality are different. For example, when the data storage party is a server used to store data in the CDN, the data transmission parameter dimensions can include the following multiple dimensions:
[0131] Domain Name System (DNS) information: The process from when the data recipient initiates a data transfer request to when the DNS domain name server returns DNS information can reflect the quality of the current region, network, carrier, and DNS domain name server.
[0132] Connection latency: The latency from when the data recipient connects to the CDN server, which can reflect the quality of the current region, network, carrier, and CDN server.
[0133] First packet reception latency: The latency from when the CDN server returns the first data packet to the data recipient, which can reflect the quality of the current network and CDN server.
[0134] Data download speed: The amount of data returned from the CDN server to the data recipient within each time stamp, which can reflect the quality of the current network and CDN server.
[0135] Data reception success & failure: Whether the CDN server returns complete data to the data recipient, which can reflect the quality of the current network and CDN server.
[0136] Packet latency & packet loss rate: The latency and packet loss information of the data returned from the CDN server, which can reflect the quality of the current network and CDN server.
[0137] IPv6 / IPv4 information: The IP protocol stack supported by the current network.
[0138] Number of next failures: The number of times the data transfer request fails, which can reflect the quality of the current network and CDN server.
[0139] The target sub - transfer parameter is used to identify the data transfer quality between the target data storage party and the target data recipient in the dimension of the target data transfer parameter. Among them, the target sub - transfer parameter is the sub - transfer parameter corresponding to the target data storage party in the dimension of the target data transfer parameter, and the target data storage party is any one of multiple data storage parties.
[0140] S2014: Determine the data transfer parameter corresponding to the target data storage party according to the sub - transfer parameters corresponding to the target data storage party in multiple data transfer parameter dimensions.
[0141] The computer device can comprehensively consider the data transfer quality characterized by the sub - transfer parameters in multiple data transfer parameter dimensions to determine the data transfer parameter finally used to identify the data transfer quality between the target data storage party and the target data recipient, thereby further improving the accuracy of data transfer parameter analysis.
[0142] It can be understood that, due to the possible interference of various factors during the data transmission process, even for relatively high data transmission quality, data transmission failures may still occur. Based on this, in a possible implementation, in order to further ensure that the target data recipient can successfully receive the target data, the computer device can provide the target data recipient with multiple data storage parties for the target data recipient to perform data transmission.
[0143] In this implementation, the computer device can analyze in real time whether there are any abnormalities in the data transmission between the optimal data storage party and the target data storage party. An abnormality refers to a situation that causes the target data to not be transmitted to the target data recipient with high quality, such as transmission interruption, reduced transmission speed, etc. Based on the abnormality in the data transmission between the optimal data storage party and the target data recipient, it indicates that at this time, the optimal data storage party can no longer provide high-quality data transmission services to the target data recipient. Therefore, the computer device can instead re-transmit the target data to the target data recipient through the sub-optimal data storage party among the multiple data storage parties. The sub-optimal data storage party is determined according to the data transmission parameters corresponding to the multiple data storage parties, and it is the data storage party with the best data transmission quality among the multiple data storage parties except the optimal data storage party. Therefore, the sub-optimal data storage party can also provide relatively good data transmission services. Usually, the transmission quality of transmitting the target data is higher than the data transmission quality corresponding to the optimal data storage party after the abnormality occurs. Thus, when a data transmission abnormality occurs, the computer device can ensure the data transmission quality to the target data recipient by promptly switching the data storage party used for transmission, further improving the data transmission stability and success rate.
[0144] Specifically, in a possible implementation, when performing step S202, the computer device can execute step S2023 (not shown in the figure). Step S2023 is a possible implementation of step S202 and includes:
[0145] S2023: Determine multiple candidate data storage parties with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties.
[0146] Among them, the multiple candidate data storage parties are sorted in descending order of data transmission quality, and the optimal data storage party is the first data storage party among the multiple candidate data storage parties. That is, when analyzing the data transmission parameters, while analyzing the optimal data storage party, the computer device will also analyze multiple candidate data storage parties with relatively good data transmission quality and sort the multiple candidate data storage parties based on the data transmission quality indicated by the data transmission parameters.
[0147] When re - transmitting target data to a target data recipient through a sub - optimal data storage party among multiple data storage parties, the computer device can directly re - transmit the target data to the target data recipient through the second - ranked pending data recipient among multiple pending data recipients, and this pending data recipient is the above - mentioned sub - optimal data storage party. Thus, when data transmission needs to be performed through the sub - optimal data storage party, the computer device does not need to temporarily analyze data transmission parameters to determine the sub - optimal data storage party, but can directly complete the switch of the data storage party without waiting for the analysis of the sub - optimal data storage party, thereby reducing the time required for the switch of the data storage party and further improving the stability and transmission efficiency during the data transmission process.
[0148] It can be understood that this application can be applied to various data transmission scenarios, such as various network transmission scenarios, Bluetooth transmission scenarios, or various wired transmission scenarios. Next, a specific content delivery network application scenario will be used to introduce the data transmission process.
[0149] In a possible implementation, the multiple data storage parties are multiple servers in a content delivery network for storing target data, and the optimal data storage party is the target server among the multiple servers.
[0150] In a content delivery network, in order to obtain target data from the target server, the target data recipient needs to have a data storage address, which is used to indicate to the target data recipient how to obtain the target data from the target server, that is, on the one hand, it needs to inform the target data recipient how to find the target server, and on the other hand, it needs to inform the storage location of the target data in the target server.
[0151] Specifically, the computer device can determine the domain name information, server address information, and server data storage address corresponding to the target server. Among them, the domain name information is used to identify the target network domain where the target server is located. Different servers may be in different network domains, and there may be multiple servers in the same network domain. If you want to perform data transmission with a server in the target network domain, you need to know the domain name information corresponding to this target network domain. The server address information is used to identify the target server in the target network domain, and the server data storage address is used to identify the storage location of the target data in the target server.
[0152] Thus, based on the domain name information, server address information, and server data storage address, the computer device can determine the data storage address corresponding to the target server. Through the domain name information part in the data storage address, the target data recipient can find the target network domain where the target server is located. Through the server address information part, the target data recipient can find the target server in the target network domain. Through the server storage address part, the target data recipient can find the target data in the target server. Thus, this data storage address is used to obtain the target data from the target server.
[0153] When performing step S203, the computer device can execute step S2032 (not shown in the figure). Step S2032 is a possible implementation of step S203 and includes:
[0154] S2032: Based on the data storage address, transmit the target data to the target data recipient through the target server.
[0155] Since this data storage address enables the target data recipient to obtain the target data from the target server, data transmission to the target data recipient through the target server can be achieved.
[0156] To facilitate understanding of the technical solution provided in this application, next, a data transmission method provided in this application will be introduced in combination with an actual application scenario.
[0157] See Figure 3 , Figure 3 is a flowchart of a data transmission method in an actual application scenario provided by an embodiment of this application. In this actual application scenario, the data can be video data, the data recipient is a terminal device on the user side, the data storage party is a server in a content delivery network, and the computer device can include a device for controlling data transmission on the terminal device side, hereinafter referred to as the control device. The control device can be an independent device, such as another terminal device or server independent of the terminal device, or can be a device integrated with the terminal device. For example, it can be a component in the terminal device, etc., which is not limited here. The data transmission method includes two stages: a data transmission parameter analysis stage and a data transmission stage. The data transmission analysis stage is used to analyze and manage the data transmission parameters corresponding to each server, and the data transmission stage is used to perform data transmission based on the analyzed data transmission parameters. The method includes:
[0158] S301: Obtain multi-dimensional sub-transmission parameters corresponding to multiple servers in the previous target time period
[0159] First, the control device can obtain multi-dimensional sub-transmission parameters corresponding to multiple servers in the recent period. The sub-transmission parameters are generated through data transmission between the server and the terminal device. Among them, the multi-dimensional sub-transmission parameters can be as exemplified in the above content.
[0160] S302: Determine the data transmission parameters corresponding to each of the multiple servers
[0161] As Figure 4 shown, the control device can first perform linear normalization on the multi-dimensional sub-transmission parameters respectively, unify the sub-transmission parameters of each dimension into a parameter interval, so as to be able to refer to the data transmission quality characterized by the sub-transmission parameters of each dimension with the same intensity. The normalized sub-transmission parameters are the data transmission quality scores corresponding to each dimension of the server. Inputting the normalized sub-transmission parameters corresponding to each server in multiple dimensions into the accumulation filter can obtain the data transmission parameters corresponding to each server. The accumulation filter is used to accumulate and combine multiple parameters to obtain a parameter output, and relatively abnormal parameters will be filtered out, such as parameters with too large or too small data, etc., to ensure the accuracy of the parameters. Usually, the shorter the connection time and the first packet reception time, the higher the data reception success rate, the shorter the packet loss and delay, and the higher the data transmission quality indicated by the data transmission parameters corresponding to the server with IPv6 weight priority.
[0162] S303: Store the data transmission parameters and adjust the stored data transmission parameter values according to the determined duration.
[0163] The control device can bind the determined data transmission parameters to the server, report them to the background regularly, and adjust the data transmission parameter values in real time according to the determined duration of the data transmission parameters. In this actual application scenario, the data transmission quality indicated by the data transmission parameters is positively correlated with the data transmission parameters. Therefore, when the determined duration of the data transmission parameters increases, the control device will reduce the parameter value of the data transmission parameters to reflect the decrease in the reliability of the data transmission quality indicated by the data transmission parameters.
[0164] S304: Trigger the re-determination of the data transmission parameters according to the determined duration.
[0165] If the determined duration of the data transmission parameters reaches the preset duration threshold, that is, when the data expires, it means that the reliability of the data transmission quality indicated by the data transmission parameters at this time is too low, and the control device can re-determine the data transmission quality corresponding to the server.
[0166] In addition, when the network environment between the terminal device and the server changes, the determined data transmission parameters cannot accurately identify the current data transmission quality either. The control device can also trigger the re-determination of the data transmission parameters (i.e., data cleaning). Among them, the above sub-transmission parameters can be obtained through idle data transmission quality testing, that is, when the terminal device is not performing data transmission, test data is transmitted to the terminal device by each server to obtain the sub-transmission parameters.
[0167] S305: Obtain a video playback request for a target video initiated by the terminal device.
[0168] Steps S305 - S309 are data transmission methods when the terminal device actually has a data transmission requirement. Taking the target video as an example, when the terminal device has a requirement to obtain the target video, it can initiate a video playback request for the target video.
[0169] S306: Determine multiple data storage addresses corresponding to the target video.
[0170] As Figure 5 shown, the control device can determine the data storage address set corresponding to the target video according to the video identifier corresponding to the target video. The data storage address set includes the data storage addresses corresponding to multiple servers storing the target video respectively. In a content delivery network, the data storage address can be a Uniform Resource Locator (URL for short), and the URL is the standard address of a resource on the Internet.
[0171] S307: Sort the multiple data storage addresses according to the data transmission parameters respectively corresponding to the multiple data storage addresses.
[0172] Among them, the sorting can be determined in advance, or can be determined in real time based on the data transmission parameters respectively corresponding to the current servers when a data transmission requirement occurs.
[0173] S308: Transmit video data to the terminal device according to the optimal data storage address among the multiple data storage addresses.
[0174] The control device can first send the optimal data storage address to the terminal device. The optimal data storage address is the data storage address corresponding to the server with the optimal data transmission quality. That is, usually, the terminal device can obtain the target video from the optimal server with the optimal data transmission quality through the optimal data storage address. For example, in Figure 5 , the data storage address 1 is the optimal data storage address. The control device defaults to sending the optimal data storage address to the terminal device for data transmission. The data storage address 2 is the sub-optimal data storage address, and so on.
[0175] S309: Determine whether to use other data storage addresses for data transmission based on the data transmission situation.
[0176] If the data transmission through data storage address 1 is abnormal, the control device will initiate a new target video transmission from the server to the terminal device through data storage address 2. If data storage address 2 is also abnormal, retry will be performed using data storage address 3.
[0177] During the data transmission process, the control device can collect the generated sub - transmission parameters and update the corresponding data transmission parameters of the server, improving the accuracy of the recorded data transmission parameters.
[0178] It can be seen from the above actual application process that this application has significant improvements in the following aspects:
[0179] (1) Analyze the data transmission quality based on the terminal device as a benchmark, so that the optimal server analyzed can truly provide the optimal data transmission quality for the terminal device.
[0180] (2) Multiple ways to ensure the accuracy of data transmission parameter analysis, which can accurately and reasonably analyze the data transmission quality of each server when there is a data transmission requirement.
[0181] (3) Ensure the success rate and stability of terminal device data transmission based on multiple data storage addresses.
[0182] (4) The data transmission method of this application has strong versatility, with few restrictions on the data receiver, data storage party, and transmission medium, and is applicable to various data transmission scenarios.
[0183] Based on the data transmission method provided in the above - mentioned embodiments, this application also provides a corresponding data transmission device. Refer to Figure 6 , Figure 6 which is a structural block diagram of a data transmission device 600 provided in an embodiment of this application. The data transmission device 600 includes a first determination unit 601, a second determination unit 602, and a first transmission unit 603:
[0184] The first determination unit 601 is configured to determine the data transmission parameters corresponding to multiple data storage parties. The data transmission parameters are used to identify the data transmission quality between the target data receiver and the corresponding data storage party, and any data storage party among the multiple data storage parties is used to store the target data;
[0185] The second determination unit 602 is configured to determine the optimal data storage party with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties;
[0186] The first transmission unit 603 is configured to transmit the target data to the target data recipient through the optimal data storage direction.
[0187] In a possible implementation, the target data transmission parameter is used to identify the data transmission quality between the target data recipient and the target data storage party during a first time period. The first time period is a time period with the target moment as the end point and corresponding to a first duration, where the first duration is less than a first duration threshold. The target moment is the moment when the target data transmission parameter is determined. The target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the target data storage party is any one of the multiple data storage parties.
[0188] In a possible implementation, the apparatus further includes a third determination unit:
[0189] The third determination unit is configured to re-determine the data transmission parameter corresponding to the target data storage party based on the determined duration corresponding to the target data transmission parameter reaching a second duration threshold. The determined duration is the duration elapsed since the moment when the target data transmission parameter was determined.
[0190] In a possible implementation, the data transmission parameter is positively correlated with the identified data transmission quality. The second determination unit 602 is specifically configured to:
[0191] Determine the data storage party with the largest data transmission parameter among the multiple data storage parties as the optimal data storage party;
[0192] The apparatus further includes an adjustment unit:
[0193] The adjustment unit is configured to adjust the target data transmission parameter according to the determined duration corresponding to the target data transmission parameter, so that the target data transmission parameter is inversely correlated with the determined duration. The determined duration is the duration elapsed since the moment when the target data transmission parameter was determined, and the target data transmission parameter is any one of the data transmission parameters corresponding to the multiple data storage parties respectively.
[0194] In a possible implementation, the first determination unit 601 is specifically configured to:
[0195] Based on the fact that the target data recipient is not in a data transmission state, transmit test data to the target data recipient through the target data storage party, where the target data storage party is any one of the multiple data storage parties;
[0196] Determine the data transmission parameters corresponding to the target data storage party according to the data transmission quality when transmitting the test data between the target data storage party and the target data receiving party.
[0197] In a possible implementation, the target data transmission parameter is used to identify the data transmission quality between the target data receiving party and the target data storage party through the first transmission medium. The target data storage party is any one of the multiple data storage parties, the target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the first transmission medium is the transmission medium used for data transmission between the target data receiving party and the target data storage party;
[0198] The first transmission unit 603 is specifically configured to:
[0199] Use the transmission medium for data transmission between the optimal data receiving party and the target data storage party to transmit the target data from the optimal data storage party to the target data receiving party;
[0200] The apparatus further includes a fourth determination unit:
[0201] The fourth determination unit is configured to re-determine the target data transmission parameter based on the transmission medium for data transmission between the target data receiving party and the target data storage party being changed from the first transmission medium to the second transmission medium. The re-determined target data transmission parameter is used to identify the data transmission quality between the target data receiving party and the target data storage party through the second transmission medium.
[0202] In a possible implementation, the second determination unit 602 is specifically configured to:
[0203] Based on the data transmission request for the target data initiated by the target data receiving party, determine the optimal data storage party with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively.
[0204] In a possible implementation, the second determination unit 602 is specifically configured to:
[0205] Based on the data transmission request for the target data initiated by the target data receiving party, determine the target data identifier corresponding to the target data;
[0206] Based on the mapping relationship between the data identifier and the data storage party identifier, determine the multiple data storage party identifiers corresponding to the target data identifier. The multiple data storage party identifiers are used to identify the multiple data storage parties;
[0207] Determine the optimal data storage party with the best data transmission quality from the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively.
[0208] In a possible implementation manner, the first determination unit 601 is specifically configured to:
[0209] Obtain the sub-transmission parameters corresponding to the target data storage party in multiple data transmission parameter dimensions. The target sub-transmission parameter is used to identify the data transmission quality between the target data storage party and the target data receiving party under the target data transmission parameter dimension. The target sub-transmission parameter is the sub-transmission parameter corresponding to the target data storage party in the target data transmission parameter dimension, and the target data storage party is any one of the multiple data storage parties;
[0210] Determine the data transmission parameters corresponding to the target data storage party according to the sub-transmission parameters corresponding to the target data storage party in multiple data transmission parameter dimensions.
[0211] In a possible implementation manner, the apparatus further includes a second transmission unit:
[0212] The second transmission unit is configured to, based on an exception occurring in the data transmission between the optimal data storage party and the target data receiving party, re-transmit the target data to the target data receiving party through the sub-optimal data storage party among the multiple data storage parties. The sub-optimal data storage party is determined according to the data transmission parameters corresponding to the multiple data storage parties respectively, and is the data storage party with the best data transmission quality among the multiple data storage parties except the optimal data storage party.
[0213] In a possible implementation manner, the second determination unit 602 is specifically configured to:
[0214] Determine multiple pending data storage parties with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively. The multiple pending data storage parties are sorted in descending order of data transmission quality, and the optimal data storage party is the first data storage party sorted among the multiple pending data storage parties;
[0215] The second transmission unit is specifically configured to:
[0216] Re-transmit the target data to the target data receiving party through the second pending data receiving party sorted among the multiple pending data storage parties.
[0217] In a possible implementation, the multiple data storage parties are multiple servers in a content delivery network for storing the target data, the optimal data storage party is a target server among the multiple servers, and the apparatus further includes a fifth determination unit and a sixth determination unit:
[0218] The fifth determination unit is configured to determine domain name information, server address information, and server data storage address corresponding to the target server, where the domain name information is used to identify a target network domain where the target server is located, the server address information is used to identify the target server in the target network domain, and the server data storage address is used to identify a storage location of the target data in the target server;
[0219] The sixth determination unit is configured to determine a data storage address corresponding to the target server according to the domain name information, the server address information, and the server data storage address, where the data storage address is used to obtain the target data from the target server;
[0220] The first transmission unit 603 is specifically configured to:
[0221] Based on the data storage address, transmit the target data to the target data recipient through the target server.
[0222] An embodiment of this application further provides a computer device. Please refer to Figure 7 as shown. This computer device may be a terminal device. Taking the terminal device as a mobile phone as an example:
[0223] Figure 7 Shown is a block diagram of a part of the structure of a mobile phone related to the terminal device provided in an embodiment of this application. Refer to Figure 7 , the mobile phone includes: a radio frequency (RF) circuit 710, a memory 720, an input unit 730, a display unit 740, a sensor 750, an audio circuit 760, a wireless fidelity (WiFi) module 770, a processor 780, and a power supply 790, etc. Those skilled in the art can understand that Figure 7 the structure of the mobile phone shown in does not constitute a limitation on the mobile phone, and it may include more or fewer components than shown in the figure, or combine some components, or have different component arrangements.
[0224] Next, the components of the mobile phone will be specifically introduced in combination with Figure 7 :
[0225] The RF circuit 710 can be used for receiving and transmitting information or signals during calls. Specifically, after receiving the downlink information from the base station, it is sent to the processor 780 for processing. Additionally, the uplink data designed is sent to the base station. Generally, the RF circuit 710 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 710 can also communicate with the network and other devices through wireless communication. The above wireless communication can use any communication standard or protocol, including but not limited to the Global System of Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.
[0226] The memory 720 can be used to store software programs and modules. The processor 780 executes various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 720. The memory 720 mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, phone book, etc.). In addition, the memory 720 can include a high-speed random access memory and can also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices.
[0227] The input unit 730 can be used to receive input numerical or character information and generate key signal inputs related to the user settings and function controls of the mobile phone. Specifically, the input unit 730 can include a touch panel 731 and other input devices 732. The touch panel 731, also known as a touch screen, can collect touch operations of the user on or near it (such as operations of the user using any suitable object or accessory such as a finger or a stylus on or near the touch panel 731), and drive corresponding connection devices according to a preset program. Optionally, the touch panel 731 can include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the touch position of the user, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it to the processor 780, and can receive and execute the commands sent by the processor 780. In addition, various types such as resistive, capacitive, infrared, and surface acoustic wave can be used to implement the touch panel 731. In addition to the touch panel 731, the input unit 730 can also include other input devices 732. Specifically, the other input devices 732 can include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, etc.
[0228] The display unit 740 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 740 can include a display panel 741. Optionally, the display panel 741 can be configured in forms such as a liquid crystal display (LCD for short) and an organic light-emitting diode (OLED for short). Further, the touch panel 731 can cover the display panel 741. When the touch panel 731 detects a touch operation on or near it, it transmits it to the processor 780 to determine the type of touch event. Subsequently, the processor 780 provides corresponding visual output on the display panel 741 according to the type of touch event. Although in Figure 7 it, the touch panel 731 and the display panel 741 are implemented as two independent components to realize the input and input functions of the mobile phone, in some embodiments, the touch panel 731 and the display panel 741 can be integrated to realize the input and output functions of the mobile phone.
[0229] The mobile phone may further include at least one sensor 750, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. Among them, the ambient light sensor can adjust the brightness of the display panel 741 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 741 and / or the backlight when the mobile phone is moved to the ear. As a kind of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes), and can detect the magnitude and direction of gravity when stationary, and can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors that the mobile phone can also be configured with, they will not be elaborated here.
[0230] The audio circuit 760, the speaker 761, and the microphone 762 can provide an audio interface between the user and the mobile phone. The audio circuit 760 can transmit the electrical signal converted from the received audio data to the speaker 761, and the speaker 761 converts it into a sound signal for output; on the other hand, the microphone 762 converts the collected sound signal into an electrical signal, which is received by the audio circuit 760 and then converted into audio data. After the audio data is output to the processor 780 for processing, it is sent through the RF circuit 710 to, for example, another mobile phone, or the audio data is output to the memory 720 for further processing.
[0231] WiFi belongs to short - range wireless transmission technology. The mobile phone can help users send and receive emails, browse the web, and access streaming media through the WiFi module 770, which provides users with wireless broadband Internet access. Although Figure 7 the WiFi module 770 is shown, it can be understood that it does not belong to the essential composition of the mobile phone and can be omitted entirely within the scope of not changing the essence of the invention according to needs.
[0232] The processor 780 is the control center of the mobile phone. It connects various parts of the entire mobile phone using various interfaces and lines. By running or executing the software programs and / or modules stored in the memory 720, and by calling the data stored in the memory 720, it executes various functions of the mobile phone and processes data, thereby performing an overall detection of the mobile phone. Optionally, the processor 780 may include one or more processing units; preferably, the processor 780 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, and application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above - mentioned modem processor may not be integrated into the processor 780 either.
[0233] The mobile phone further includes a power supply 790 (such as a battery) for powering each component. Preferably, the power supply can be logically connected to the processor 780 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system.
[0234] Although not shown, the mobile phone may further include a camera, a Bluetooth module, etc., which will not be elaborated here.
[0235] In this embodiment, the processor 780 included in the terminal device further has the following functions:
[0236] Determine the data transmission parameters corresponding to multiple data storage parties respectively, where the data transmission parameters are used to identify the data transmission quality between the target data recipient and the corresponding data storage party, and any data storage party among the multiple data storage parties is used to store the target data;
[0237] Determine the optimal data storage party with the best data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively;
[0238] Transmit the target data to the target data recipient through the optimal data storage party.
[0239] The embodiment of the present application also provides a server. Please refer to Figure 8 as shown in Figure 8 is a structural diagram of the server 800 provided by the embodiment of the present application. The server 800 may vary greatly due to configuration or performance differences, and may include one or more central processing units (Central Processing Units, abbreviated as CPU) 822 (for example, one or more processors) and a memory 832, and one or more storage media 830 for storing application programs 842 or data 844 (for example, one or more mass storage devices). Among them, the memory 832 and the storage media 830 can be transient storage or persistent storage. The program stored in the storage media 830 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Further, the central processor 822 may be configured to communicate with the storage media 830 and execute a series of instruction operations in the storage media 830 on the server 800.
[0240] The server 800 may further include one or more power supplies 826, one or more wired or wireless network interfaces 850, one or more input / output interfaces 858, and / or one or more operating systems 841, such as Windows Server TM , Mac OS X TM , Unix TM, Linux TM , FreeBSD TM and so on.
[0241] In the above embodiments, the steps executed by the server can be based on Figure 8 the server structure shown.
[0242] The embodiments of the present application also provide a computer-readable storage medium for storing a computer program, and the computer program is used to execute any one of the data transmission methods described in the foregoing various embodiments.
[0243] The embodiments of the present application also provide a computer program product including a computer program. When it runs on a computer device, it causes the computer device to execute the data transmission method described in any one of the above embodiments.
[0244] It can be understood that in the specific implementation manner of the present application, data related to user information (such as transmission parameters) and the like are involved. When the above embodiments of the present application are applied to specific products or technologies, user permission or consent needs to be obtained, and the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions.
[0245] Those of ordinary skill in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above method embodiments; and the foregoing storage medium can be at least one of the following media: read-only memory (abbreviation: ROM), RAM, magnetic disk, or optical disc, etc., which can store program codes.
[0246] It should be noted that the various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, refer to the partial description of the method embodiments. The device and system embodiments described above are only illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement without creative efforts.
[0247] As described above, it is only a specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed in the present application should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A data transmission method, characterized in that, The method includes: Determining data transmission parameters corresponding to multiple data storage parties respectively, where the data transmission parameters are used to identify the data transmission quality between the target data recipient and the corresponding data storage party, and any data storage party among the multiple data storage parties is used to store target data; Determining an optimal data storage party with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters corresponding to the multiple data storage parties respectively; Transmitting the target data from the optimal data storage party to the target data recipient.
2. The method according to claim 1, wherein The target data transmission parameter is used to identify the data transmission quality between the target data recipient and the target data storage party in a first time period. The first time period is a time period corresponding to a first duration with the target moment as the end point, and the first duration is less than a first duration threshold. The target moment is the moment when the target data transmission parameter is determined. The target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the target data storage party is any one of the multiple data storage parties.
3. The method according to claim 2, wherein The method further includes: Based on the determined duration corresponding to the target data transmission parameter reaching a second duration threshold, re-determining the data transmission parameter corresponding to the target data storage party. The determined duration is the duration elapsed since the moment when the target data transmission parameter was determined.
4. The method according to claim 1, wherein The data transmission parameter is positively correlated with the identified data transmission quality. Determining the optimal data storage party with the optimal data transmission quality among the multiple data storage parties includes: Determining the data storage party with the largest corresponding data transmission parameter among the multiple data storage parties as the optimal data storage party; The method further includes: Adjusting the target data transmission parameter according to the determined duration corresponding to the target data transmission parameter, so that the target data transmission parameter is inversely correlated with the determined duration. The determined duration is the duration elapsed since the moment when the target data transmission parameter was determined, and the target data transmission parameter is any one of the data transmission parameters corresponding to the multiple data storage parties.
5. The method according to claim 1, wherein Determining the data transmission parameters corresponding to multiple data storage parties respectively includes: Based on the fact that the target data recipient is not in a data transmission state, transmitting test data from the target data storage party to the target data recipient. The target data storage party is any one of the multiple data storage parties; Determining the data transmission parameter corresponding to the target data storage party according to the data transmission quality when transmitting the test data between the target data storage party and the target data recipient.
6. The method according to claim 1, characterized in that, The target data transmission parameter is used to identify the data transmission quality between the target data recipient and the target data storage party through a first transmission medium. The target data storage party is any one of the multiple data storage parties, the target data transmission parameter is the data transmission parameter corresponding to the target data storage party, and the first transmission medium is the transmission medium used for data transmission between the target data recipient and the target data storage party. Transmitting the target data to the target data recipient through the optimal data storage direction includes: Using a transmission medium for data transmission between the optimal data recipient and the target data storage party, transmitting the target data to the target data recipient through the optimal data storage direction; The method further includes: Based on the transmission medium for data transmission between the target data recipient and the target data storage party being changed from the first transmission medium to the second transmission medium, re-determining the target data transmission parameters, and the re-determined target data transmission parameters are used to identify the data transmission quality between the target data recipient and the target data storage party through the second transmission medium.
7. The method according to claim 1, wherein Determining the optimal data storage party with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters respectively corresponding to the multiple data storage parties includes: Based on the data transmission request for the target data initiated by the target data recipient, determining the optimal data storage party with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters respectively corresponding to the multiple data storage parties.
8. The method according to claim 7, wherein The determining, based on the data transmission request for the target data initiated by the target data recipient, of the optimal data storage party with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters respectively corresponding to the multiple data storage parties includes: Based on the data transmission request for the target data initiated by the target data recipient, determining the target data identifier corresponding to the target data; Based on the mapping relationship between the data identifier and the data storage party identifier, determining the multiple data storage party identifiers corresponding to the target data identifier, and the multiple data storage party identifiers are used to identify the multiple data storage parties; According to the data transmission parameters respectively corresponding to the multiple data storage parties, determining the optimal data storage party with the optimal data transmission quality from the multiple data storage parties.
9. The method according to claim 1, wherein Determining the data transmission parameters respectively corresponding to the multiple data storage parties includes: Obtaining the sub-transmission parameters respectively corresponding to the target data storage party in multiple data transmission parameter dimensions, where the target sub-transmission parameter is used to identify the data transmission quality between the target data storage party and the target data recipient under the target data transmission parameter dimension, the target sub-transmission parameter is the sub-transmission parameter corresponding to the target data storage party in the target data transmission parameter dimension, and the target data storage party is any one of the multiple data storage parties; According to the sub-transmission parameters respectively corresponding to the target data storage party in multiple data transmission parameter dimensions, determining the data transmission parameters corresponding to the target data storage party.
10. The method according to claim 1, characterized in that, The method further includes: Based on the abnormality in the data transmission between the optimal data storage party and the target data receiving party, the target data is re-transmitted to the target data receiving party through the sub-optimal data storage party among the multiple data storage parties. The sub-optimal data storage party is determined according to the data transmission parameters respectively corresponding to the multiple data storage parties, and is the data storage party with the optimal data transmission quality among the multiple data storage parties except the optimal data storage party.
11. The method according to claim 10, wherein Determining the optimal data storage party with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters respectively corresponding to the multiple data storage parties includes: According to the data transmission parameters respectively corresponding to the multiple data storage parties, determining multiple candidate data storage parties with the optimal data transmission quality among the multiple data storage parties. The multiple candidate data storage parties are sorted in descending order of data transmission quality, and the optimal data storage party is the data storage party ranked first among the multiple candidate data storage parties; Re-transmitting the target data to the target data receiving party through the sub-optimal data storage party among the multiple data storage parties includes: Re-transmitting the target data to the target data receiving party through the candidate data receiving party ranked second among the multiple candidate data storage parties.
12. The method according to claim 1, characterized in that, The multiple data storage parties are multiple servers in a content delivery network for storing the target data, and the optimal data storage party is the target server among the multiple servers. The method further includes: Determining the domain name information, server address information, and server data storage address corresponding to the target server. The domain name information is used to identify the target domain where the target server is located, the server address information is used to identify the target server in the target domain, and the server data storage address is used to identify the storage location of the target data in the target server; According to the domain name information, the server address information, and the server data storage address, determining the data storage address corresponding to the target server, and the data storage address is used to obtain the target data from the target server; Transmitting the target data to the target data receiving party through the optimal data storage party includes: Based on the data storage address, transmitting the target data to the target data receiving party through the target server.
13. A data transmission device, characterized in that, The device includes a first determination unit, a second determination unit, and a first transmission unit: The first determination unit is configured to determine the data transmission parameters respectively corresponding to the multiple data storage parties. The data transmission parameters are used to identify the data transmission quality between the target data receiving party and the corresponding data storage party, and any data storage party among the multiple data storage parties is used to store the target data; The second determination unit is configured to determine the optimal data storage party with the optimal data transmission quality among the multiple data storage parties according to the data transmission parameters respectively corresponding to the multiple data storage parties; The first transmission unit is configured to transmit the target data to the target data receiving party through the optimal data storage party.
14. A computer device, characterized in that, The computer device includes a processor and a memory: The memory is used to store a computer program and transmit the computer program to the processor; The processor is used to execute the data transmission method according to any one of claims 1-12 based on the instructions in the computer program.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program, and the computer program is used to execute the data transmission method according to any one of claims 1-12.
16. A computer program product including a computer program, when it runs on a computer device, causes the computer device to execute the data transmission method according to any one of claims 1-12.