Method, apparatus, device, and storage medium for data transmission
By strategically selecting and converging data transfer requests to the fastest edge nodes, the method addresses data transmission issues in client-data center communication, improving speed, reducing latency, and enhancing user experience while maintaining security and cost-effectiveness.
Patent Information
- Application Number
- CN202210336737.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2042-03-31
AI Technical Summary
In Internet Data Center (IDC), there are often problems such as slow data transmission speed, request timeout and transmission failure during the data transmission between the client and the data center.
By sending data upload or download requests to multiple candidate edge nodes, the speed of these nodes converges to the fastest target edge node for data transmission, and the edge nodes are used to transfer and encrypt data.
It improves data transmission speed, reduces network transmission latency and bandwidth costs, and improves user experience and product yield.
Smart Images

Figure CN114584557B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technologies, and in particular, to cloud storage, cloud computing, network communication and other technical fields. Background Art
[0002] An IDC (Internet Data Center) is a platform with complete facilities (including high-speed Internet access bandwidth, high-performance local area network, secure and reliable computer room environment, etc.), professional management, and a complete application service platform. Based on this platform, IDC service providers provide Internet basic platform services and various value-added services for clients. However, when a client transfers data to an IDC through a network, problems such as slow data transfer speed, data transfer request timeout, and data transfer failure may sometimes occur. Summary of the Invention
[0003] The present disclosure provides a method, apparatus, device, and storage medium for data transfer.
[0004] According to one aspect of the present disclosure, a method for data transfer is provided, including:
[0005] Sending data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the target data received to the data center;
[0006] Converging to send data upload requests to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that the at least one target edge node uploads another part of the target data received to the data center.
[0007] According to another aspect of the present disclosure, a method for data transfer is provided, including:
[0008] Sending data download requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes download a part of the target data from the data center;
[0009] Converging to send data download requests to at least one target edge node among the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, so that the at least one target edge node downloads another part of the target data from the data center.
[0010] According to another aspect of the present disclosure, a data transfer apparatus is provided, including:
[0011] A first sending module, configured to send data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the target data received to the data center;
[0012] A second sending module, configured to converge to send a data upload request to at least one target edge node among a plurality of candidate edge nodes according to the upload speeds of the plurality of candidate edge nodes, so that at least one target edge node uploads another part of the target data received to the data center.
[0013] According to another aspect of the present disclosure, there is provided a data transmission device, including:
[0014] A first sending module, configured to respectively send data download requests to a plurality of candidate edge nodes, so that the plurality of candidate edge nodes download a part of the target data from the data center;
[0015] A second sending module, configured to converge to send a data download request to at least one target edge node among a plurality of candidate edge nodes according to the download speeds of the plurality of candidate edge nodes, so that at least one target edge node downloads another part of the target data from the data center.
[0016] According to another aspect of the present disclosure, there is provided an electronic device, including:
[0017] At least one processor; and
[0018] A memory communicatively connected to the at least one processor; wherein,
[0019] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the method in any embodiment of the present disclosure.
[0020] According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the method in any embodiment of the present disclosure.
[0021] According to another aspect of the present disclosure, there is provided a computer program product, including a computer program, and the computer program realizes the method in any embodiment of the present disclosure when executed by a processor.
[0022] According to the solution of the present disclosure, the data transmission speed can be improved, the network transmission delay can be reduced, the cost can be reduced, and the revenue can be increased.
[0023] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them:
[0025] Figure 1 Schematic diagram of a data transmission method according to an embodiment of the present disclosure;
[0026] Figure 2 Schematic diagram of an application scenario of a data transmission method according to an embodiment of the present disclosure;
[0027] Figure 3 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0028] Figure 4 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0029] Figure 5 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0030] Figure 6 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0031] Figure 7 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0032] Figure 8 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0033] Figure 9 Schematic diagram of an application scenario of a data transmission method according to another embodiment of the present disclosure;
[0034] Figure 10 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0035] Figure 11 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0036] Figure 12 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0037] Figure 13 Schematic diagram of a data transmission method according to another embodiment of the present disclosure;
[0038] Figure 14 Schematic diagram of a data transmission device according to an embodiment of the present disclosure;
[0039] Figure 15 Schematic diagram of a data transmission device according to another embodiment of the present disclosure;
[0040] Figure 16 Block diagram of an electronic device for implementing the data transmission method according to an embodiment of the present disclosure. Detailed Implementation Manner
[0041] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, descriptions of well-known functions and structures are omitted in the following description for clarity and conciseness.
[0042] An embodiment of the present disclosure provides a data transmission method, which can be applied to a client, such as Figure 1 As shown, it is a flowchart of the data transmission method of this embodiment. The method may include the following steps:
[0043] Step S101: The client sends data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the target data received to the data center.
[0044] Step S102: The client converges to send a data upload request to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that at least one target edge node uploads another part of the target data received to the data center.
[0045] It should be noted that the client can be understood as the terminal used by the user. For example, devices such as computers, mobile phones, servers, smart home appliances, and smart watches. The client can also be understood as an app (Application) installed on the terminal used by the user. The embodiments of the present disclosure do not make specific limitations in this regard.
[0046] The candidate edge node can be understood as an edge node selected according to a preset rule for the client to access when transmitting data to the data center. The number of candidate edge nodes can be selected and adjusted as needed. The candidate edge node can refer to a network device on the network edge side close to the user. For example, it can be a computer, a server, the cloud, and other devices with data processing capabilities. The candidate edge node can be an edge network machine provided by a third-party manufacturer in the edge network, which is inexpensive and closer to the user. These edge network machines generally have a public IP (Internet Protocol) and good network quality. For example, a POP point (Point-of-Presence). The candidate edge node can also be a node on the user side in the CDN (Content Delivery Network).
[0047] The data center can be understood as an Internet data center, a database, a server, etc., which are not specifically defined here, as long as it can meet the data transmission requirements for the client to upload and download data.
[0048] The target data can be understood as the data that the client wants to upload to the data center.
[0049] Before the client sends data upload requests to multiple candidate edge nodes respectively, after the client sends data upload requests to multiple candidate edge nodes respectively, or at the same time when the client sends data upload requests to multiple candidate edge nodes respectively, the client will distribute a part of the target data to multiple candidate edge nodes respectively. For example, the target data includes data A, data B, data C, data D, and data E, and the multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. Then the client sends data A to the first edge node, sends data B to the second edge node, and sends data C to the third edge node, so that the first edge node, the second edge node, and the third edge node upload data A, data B, and data C to the data center respectively. Among them, data A, data B, and data C can be three independent data, or three sliced data of a complete data.
[0050] The target edge node can be understood as one or more candidate edge nodes with the fastest data upload speed.
[0051] Converging to sending a data upload request to at least one target edge node among multiple candidate edge nodes can be understood as directly converging from the client sending data upload requests to multiple candidate edge nodes respectively to sending a data upload request to one target edge node.
[0052] Converging to sending a data upload request to at least one target edge node among multiple candidate edge nodes can also be understood as gradually converging from the client sending data upload requests to multiple candidate edge nodes respectively to sending a data upload request to one target edge node.
[0053] In the solution of the embodiments of the present disclosure, according to the method of detecting the upload speed by using multiple candidate edge nodes to upload part of the target data in the early stage, one or more target edge nodes with the fastest data upload speed among the multiple candidate nodes can be quickly found. Thus, the remaining target data can be uploaded by using the target edge nodes, significantly improving the data transmission speed and maximizing the uplink bandwidth of the client. Moreover, the method of the client using edge nodes (candidate edge nodes and target edge nodes) to upload data to the data center can minimize problems such as network transmission delay, slow data upload speed, and request timeout caused by the possible long physical distance between the client and the data center. In addition, using edge nodes can effectively improve the throughput of the client's uploaded data, enhancing the user experience and user stickiness. Further, when the edge nodes (candidate edge nodes and target edge nodes) adopt edge node machines provided by third-party manufacturers, the bandwidth cost can also be reduced and the product yield can be increased.
[0054] In one example, the data transmission method provided by the embodiments of the present disclosure can be applied to any scenario where a user needs to upload data. For example, scenarios where a user needs to send a large amount of data required for business to a server, or scenarios where a user needs to store data in a network disk.
[0055] In one example, the data transmission method provided by the embodiments of the present disclosure can be applied to the scenario framework as Figure 2 shown. In Figure 2 , 10 represents the client, 20 represents the edge network, 21 represents the candidate edge node, and 30 represents the Internet data center. Region A and Region B represent two regions physically located at different positions. For example, Region A is Beijing and Region B is Shanghai. The client 10 in Region A can use the data transmission method provided by the embodiments of the present disclosure to upload data to the Internet data center 30 through the candidate edge node 21 in the edge network 20 of Region A. Similarly, the client 10 in Region B can use the data transmission method provided by the embodiments of the present disclosure to upload data to the Internet data center 30 through the candidate edge node 21 in the edge network 20 of Region B.
[0056] In one implementation manner, as Figure 3 shown, which is the flowchart of the data transmission method of this embodiment, the embodiments of the present disclosure provide a data transmission method, including the above steps S101 and S102. Among them, step S102: According to the upload speeds of multiple candidate edge nodes, converge to send a data upload request to at least one target edge node among the multiple candidate edge nodes, so that at least one target edge node uploads the received other part of the target data to the data center, and can further include:
[0057] Step S301: The client filters out candidate edge nodes that meet the threshold upload speed requirement from multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, and determines them as target edge nodes.
[0058] Step S302: The client converges the data upload request to send to the target edge node, so that the target edge node uploads the received other part of the target data to the data center.
[0059] It should be noted that the threshold upload speed can be set and adjusted as needed. Specifically, the threshold upload speed can be set and adjusted according to information such as the region where the client is located and the corresponding supplier of the client.
[0060] Meeting the threshold upload speed requirement can be understood as the upload speed of the candidate edge node being not less than the threshold upload speed.
[0061] The solution of the embodiment of the present disclosure uses the threshold upload speed as a screening indicator, and can quickly determine the edge node required for subsequent target data upload from multiple candidate edge nodes, which can effectively improve the speed at which the client uploads all the target data to the data center.
[0062] In one implementation, as Figure 4 shown, it is a flowchart of the data transmission method of this embodiment. The embodiment of the present disclosure provides a data transmission method, including the above-mentioned Step S101 and Step S102. Among them, Step S102: According to the upload speeds of multiple candidate edge nodes, converge to send a data upload request to at least one target edge node among the multiple candidate edge nodes, so that at least one target edge node uploads the received other part of the target data to the data center, and can further include:
[0063] Step S401: The client filters out candidate edge nodes with a preset ranking from multiple candidate edge nodes according to the ranking of the upload speeds of the multiple candidate edge nodes, and determines them as target edge nodes.
[0064] Step S402: The client converges the data upload request to send to the target edge node, so that the target edge node uploads the received other part of the target data to the data center.
[0065] It should be noted that filtering out candidate edge nodes with a preset ranking can be understood as filtering out the top N candidate edge nodes with the fastest upload speeds, where N≥1. The specific number of filtered candidates can be selected and adjusted as needed.
[0066] The solution of the embodiment of the present disclosure uses the sorting of the upload speed as a screening index, and can quickly determine the edge node required for subsequent target data upload from multiple candidate edge nodes, which can effectively improve the speed of the client to upload all target data to the data center.
[0067] In one implementation, the embodiment of the present disclosure provides a data transmission method, including the above steps S101, S301, and S302. Among them, step S302: Converge the data upload request to send to the target edge node, so that the target edge node uploads the received other part of the target data to the data center, which may further include:
[0068] When the target edge node is determined to be one, the client converges the data upload request to send to only one target edge node, so that the target edge node uploads the received other part of the target data to the data center.
[0069] When the target edge node is determined to be one, converging the data upload request to send to only one target edge node can be understood as: for example, the target data includes data A, data B, data C, data D, and data E, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client first sends data A to the first edge node, sends data B to the second edge node, and sends data C to the third edge node. Then, according to the upload speeds of the first edge node, the second edge node, and the third edge node to upload data to the data center respectively, it is determined that only the second edge node can be used as the target edge node. Then, directly converge to send the data upload request to only the second edge node, that is, send the remaining data (data D and data E) in the target data to the second edge node, and upload data D and data E to the data center through the second edge node.
[0070] The solution of the embodiment of the present disclosure uploads the remaining target data through the determined target edge node with the fastest upload speed, which can significantly improve the data transmission speed and maximize the uplink bandwidth of the client.
[0071] In another implementation, the embodiment of the present disclosure provides a data transmission method, including the above steps S101, S301, and S302. Among them, step S302: Converge the data upload request to send to the target edge node, so that the target edge node uploads the received other part of the target data to the data center, which may further include:
[0072] When multiple target edge nodes are determined, the client converges the data upload request to send it to multiple target edge nodes, so that the multiple target edge nodes upload the received first target data to the data center.
[0073] The client gradually converges the data upload request to send it only to the target edge node with the fastest upload speed according to the upload speeds of multiple target edge nodes, so that the target edge node with the fastest upload speed uploads the remaining target data received to the data center.
[0074] It should be noted that both the first target data and the remaining target data can be understood as another part of the target data, that is, the data that the client needs to upload to the data center.
[0075] The client gradually converges the data upload request to send it only to the target edge node with the fastest upload speed according to the upload speeds of multiple target edge nodes, which can be understood as: for example, the target data includes data A, data B, data C, data D, data E, data F, data G, data H, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client first sends data A to the first edge node, sends data B to the second edge node, and sends data C to the third edge node. Then, according to the upload speeds of the first edge node, the second edge node, and the third edge node for uploading data to the data center, it is determined that the first edge node and the third edge node are target edge nodes, converges to send the data upload request only to the first edge node and the third edge node, and sends data D to the first edge node and data E to the third edge node. Then, further according to the upload speeds of the first edge node and the third edge node for uploading data to the data center again, it is determined that the first edge node is the target edge node with the fastest upload speed, and converges to send the data upload request only to the first edge node, that is, sends the remaining data (data F, data G, data H) in the target data to the first edge node, and uploads data F, data G, and data H to the data center through the first edge node.
[0076] The solution of the embodiments of the present disclosure can achieve the rapid upload of a large amount of target data by gradually converging the target edge nodes required to upload the target data, and avoid the influence of the uplink bandwidth limit caused by relying only on the target edge node with the fastest upload speed to upload all the unuploaded target data, significantly improving the data transmission speed and maximizing the uplink bandwidth of the client.
[0077] In one implementation, an implementation of the present disclosure provides a data transmission method, including the above steps S101, S401, and S402. Among them, step S402: Converge the data upload request to send to the target edge node, so that the target edge node uploads the received other part of the target data to the data center, and can further include:
[0078] When the target edge node is determined to be one, converge the data upload request to send to only one target edge node, so that the target edge node uploads the received other part of the target data to the data center.
[0079] When the target edge node is determined to be one, converging the data upload request to send to only one target edge node can be understood as follows: For example, the target data includes data A, data B, data C, data D, and data E, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client first sends data A to the first edge node, sends data B to the second edge node, and sends data C to the third edge node. Then, according to the upload speeds of the first edge node, the second edge node, and the third edge node for uploading data to the data center respectively, it is determined that only the second edge node can be used as the target edge node. Then, directly converge to send the data upload request to only the second edge node, that is, send the remaining data (data D and data E) in the target data to the second edge node, and upload data D and data E to the data center through the second edge node.
[0080] The solution of the embodiment of the present disclosure uploads the remaining target data through the determined target edge node with the fastest upload speed, which can significantly improve the data transmission speed and maximize the uplink bandwidth of the client.
[0081] In another implementation, an implementation of the present disclosure provides a data transmission method, including the above steps S101, S401, and S402. Among them, step S402: Converge the data upload request to send to the target edge node, so that the target edge node uploads the received other part of the target data to the data center, and can further include:
[0082] When the target edge node is determined to be multiple, converge the data upload request to send to multiple target edge nodes, so that the multiple target edge nodes upload the received first target data to the data center.
[0083] According to the upload speeds of the multiple target edge nodes, gradually converge the data upload request to send to only the target edge node with the fastest upload speed, so that the target edge node with the fastest upload speed uploads the received remaining target data to the data center.
[0084] It should be noted that both the first target data and the remaining target data can be understood as another part of the target data, that is, the data that the client needs to upload to the data center.
[0085] The client gradually converges the data upload request to only send it to the target edge node with the fastest upload speed according to the upload speeds of multiple target edge nodes. It can be understood that, for example, the target data includes data A, data B, data C, data D, data E, data F, data G, and data H, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client first sends data A to the first edge node, sends data B to the second edge node, and sends data C to the third edge node. Then, according to the upload speeds of the first edge node, the second edge node, and the third edge node for uploading data to the data center, it is determined that the first edge node and the third edge node are target edge nodes, and the data upload request is converged to only send it to the first edge node and the third edge node. Then, data D is sent to the first edge node, and data E is sent to the third edge node. Then, further according to the upload speeds of the first edge node and the third edge node for uploading data to the data center again, the first edge node is determined as the target edge node with the fastest upload speed, and the data upload request is converged to only send it to the first edge node, that is, the remaining data (data F, data G, data H) in the target data are all sent to the first edge node, and the data F, data G, and data H are uploaded to the data center through the first edge node.
[0086] The solution of the embodiment of the present disclosure can achieve the rapid upload of a large amount of target data by gradually converging the target edge nodes required to upload the target data, and avoid the influence of the uplink bandwidth limit suffered by relying only on the target edge node with the fastest upload speed to upload all the unuploaded target data, significantly improving the data transmission speed and maximizing the uplink bandwidth of the client.
[0087] In one implementation, as Figure 5 shown, it is a flowchart of the data transmission method of this embodiment. The embodiment of the present disclosure provides a data transmission method, including the above steps S101 and S102, and may further include:
[0088] Step S501: The client encrypts the target data to be uploaded according to the key and encryption algorithm fed back by the data center in response to the data transmission request.
[0089] The data transmission request is a request sent by the client to the data center before the client uploads data through the candidate edge nodes.
[0090] The format of the key (eg, dynamic key) and the specific encryption algorithm can be selected and adjusted as needed and are not specifically limited here, as long as the client can encrypt the target data using the key and encryption algorithm fed back by the data center.
[0091] The solution of the embodiment of the present disclosure uses the encryption algorithm and key fed back by the data center to encrypt the target data, which can ensure the security of the target data that the client needs to upload, prevent others from using the candidate edge nodes to access or steal the target data, and prevent the target data from being leaked.
[0092] In one example, after receiving the uploaded target data, the data center needs to decrypt the target data according to the key and encryption algorithm, and perform subsequent data processing based on the decrypted data. Data processing can be understood as operations such as data analysis, calculation or storage.
[0093] In one embodiment, Figure 6 As shown, it is a flow chart of the data transmission method of this embodiment. The embodiment of the present disclosure provides a data transmission method, including the above-mentioned step S101 and step S102, and may also include:
[0094] Step S601: The client determines a plurality of candidate edge nodes selected by the edge network according to preset network information.
[0095] It should be noted that the preset network information may include the network operator information of the client, the region information of the client, etc.
[0096] The edge network selects multiple candidate edge nodes based on the preset network information, which can be understood as follows: for example, the edge network selects edge nodes of the same network operator as candidate edge nodes based on the network operator information of the client. For another example, the edge network selects edge nodes located in the same region as candidate edge nodes based on the regional information of the client. For another example, the edge network selects edge nodes of the same network operator and located in the same region as candidate edge nodes based on the network operator information and regional information of the client.
[0097] The solution of the embodiment of the present disclosure can adapt to the candidate edge nodes that better meet the client's requirements for uploading data through preset network information screening, thereby maximizing the speed at which the client uses multiple candidate edge nodes to upload target data.
[0098] In one example, an embodiment of the present disclosure provides a method for data transmission, comprising the following steps:
[0099] The client sends a data transmission request to the data center;
[0100] The data center feeds back a secret key and an encryption algorithm to the client according to the data transmission request;
[0101] The client encrypts the target data to be uploaded according to the secret key and the encryption algorithm;
[0102] The edge network determines the network information of the client according to the preset network information, and filters out multiple candidate edge nodes of the client based on the network information of the client;
[0103] The client sends data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the received target data to the data center;
[0104] The client converges to send data upload requests to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that at least one target edge node uploads the other part of the received target data to the data center.
[0105] In one example, as Figure 7 shown, an embodiment of the present disclosure provides a data transmission method, including the following steps:
[0106] On the premise of having little impact on costs, in order to improve the user upload experience as much as possible, we use POP points to transit and speed up user uploads. At the same time, since the POP point machines are from third-party manufacturers, in order to prevent user data leakage, it is necessary to encrypt the data for transmission. The main steps are as follows:
[0107] (1) The client requests the server (i.e., the data center) through HTTPS (HyperText Transfer Protocol over Secure Socket Layer, Hypertext Transfer Security Protocol) to obtain the upload encryption key and the encryption algorithm. The encryption key changes dynamically, and the file corresponds to the key one by one.
[0108] (2) The client requests the Ingress Point of Presence Manager (POP Manager), which returns a certain number of POP nodes with better quality (i.e., candidate edge nodes) according to the network operator, region and other information of the client. Among them, the Ingress Point of Presence Manager can be understood as the edge network implemented above.
[0109] (3) The client encrypts the local data according to the encryption key, transmits the data to the POP node through an HTTP request, and at the same time records the average upload speed of different POP points, and gradually converges the upload request to the POP node with the best network quality (i.e., the target edge node) to maximize the uplink bandwidth on the user side.
[0110] (4) The server deploys multiple network upload entrances. The POP point periodically requests the scheduling server to obtain the data upload address and saves it. After receiving the client's upload request each time, it transfers the data to the corresponding server entrance.
[0111] (5) After receiving the encrypted data, the server decrypts the data according to the encryption key of the corresponding file and transmits the plaintext data to the data center of the server through the internal network optical fiber of the server.
[0112] Embodiments of the present disclosure provide a data transmission method, as Figure 8 shown, which is a flowchart of the data transmission method of this embodiment. The method may include the following steps:
[0113] Step S801: The client sends data download requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes download a part of the target data from the data center.
[0114] Step S802: The client converges to send a data download request to at least one target edge node among the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, so that the at least one target edge node downloads another part of the target data from the data center.
[0115] It should be noted that the client can be understood as the terminal used by the user. For example, devices such as a computer, a mobile phone, a server, a smart home appliance, and a smart watch. The client can also be understood as an app (Application) installed on the terminal used by the user. Embodiments of the present disclosure do not make specific limitations on this.
[0116] The candidate edge node can be understood as an edge node screened according to a preset rule for the client to access when transmitting data with the data center. The number of candidate edge nodes can be selected and adjusted as needed. The candidate edge node can refer to a network device on the network edge side close to the user. For example, it can be a computer, a server, the cloud, and other devices with data processing capabilities. The candidate edge node can be an edge network machine provided by a third-party manufacturer in the edge network, which is inexpensive and closer to the user. These edge network machines generally have a public IP (Internet Protocol) and good network quality. For example, a POP point (Point-of-Presence). The candidate edge node can also be a node on the user side in the CDN (Content Delivery Network).
[0117] The data center can be understood as an Internet data center, a database, a server, etc., which is not specifically limited here, as long as it can meet the data transmission requirements for the client to upload and download data.
[0118] The target data can be understood as the data that the client wants to download to the data center.
[0119] The client sends data download requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes download a part of the target data from the data center. It can be understood that, for example, the target data includes data A, data B, data C, data D, and data E, and the multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. Then the client downloads data A through the first edge node, downloads data B through the second edge node, and downloads data C through the third edge node, so that the first edge node, the second edge node, and the third edge node send data A, data B, and data C to the client respectively.
[0120] The target edge node can be understood as one or more candidate edge nodes with the fastest data download speed.
[0121] Converging to sending a data download request to at least one target edge node among the multiple candidate edge nodes can be understood as directly converging from the client sending data download requests to multiple candidate edge nodes to sending a data download request to one target edge node.
[0122] Converging to sending a data download request to at least one target edge node among the multiple candidate edge nodes can also be understood as gradually converging from the client sending data download requests to multiple candidate edge nodes to sending a data download request to one target edge node.
[0123] The solution of the embodiments of the present disclosure can quickly find one or more target edge nodes with the fastest data download speed among multiple candidate nodes according to the method of detecting the download speed by using multiple candidate edge nodes to download part of the target data in the early stage, so that the remaining target data can be downloaded by using the target edge nodes, significantly improving the data transmission speed. Moreover, the way that the client uses edge nodes (candidate edge nodes and target edge nodes) to download data from the data center can minimize the problems of network transmission delay, slow data download speed, and request timeout caused by the possible long physical distance between the client and the data center. In addition, using edge nodes can effectively improve the throughput of the client to upload data, enhancing the user experience and user stickiness. Further, when the edge nodes (candidate edge nodes and target edge nodes) adopt edge node machines provided by third-party manufacturers, the bandwidth cost can also be reduced and the product yield can be improved.
[0124] In one example, the data transmission method provided by the embodiments of the present disclosure can be applied to any scenario where a user needs to upload data. For example, a scenario where a user needs to obtain a large amount of data required for business from a server, or a scenario where a user needs to download stored data from a network disk.
[0125] In one example, the data transmission method provided by the embodiments of the present disclosure can be applied to a scenario framework as Figure 9 shown. In Figure 9 , 10 represents a client, 20 represents an edge network, 21 represents a candidate edge node, and 30 represents an Internet data center. Region A and Region B represent two regions physically located in different locations. For example, Region A is Beijing and Region B is Shanghai. The client 10 in Region A can use the data transmission method provided by the embodiments of the present disclosure to download data from the Internet data center 30 through the candidate edge node 21 in the edge network 20 of Region A. Similarly, the client 10 in Region B can use the data transmission method provided by the embodiments of the present disclosure to download data from the Internet data center 30 through the candidate edge node 21 in the edge network 20 of Region B.
[0126] In one embodiment, as Figure 10 shown, which is a flowchart of the data transmission method of this embodiment, the embodiments of the present disclosure provide a data transmission method, including the above steps S801 and step S802. Among them, step S802: According to the download speeds of multiple candidate edge nodes, converge to send a data download request to at least one target edge node among the multiple candidate edge nodes, so that at least one target edge node downloads another part of the target data from the data center, and can further include:
[0127] Step S1001: The client filters out candidate edge nodes that meet the threshold download speed requirement from the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, and determines them as target edge nodes.
[0128] Step S1002: The client converges the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center.
[0129] It should be noted that the threshold download speed can be set and adjusted as needed. Specifically, the threshold download speed can be set and adjusted according to information such as the region where the client is located and the supplier corresponding to the client.
[0130] Meeting the threshold download speed requirement can be understood as the download speed of the candidate edge node being not less than the threshold download speed.
[0131] The solution of the embodiment of the present disclosure uses the threshold download speed as a screening criterion, and can quickly determine the edge nodes required for subsequent target data download from multiple candidate edge nodes, which can effectively improve the speed at which the client downloads target data from the data center.
[0132] In one implementation, as Figure 11 shown, it is a flowchart of the data transmission method of this embodiment. The embodiment of the present disclosure provides a data transmission method, including the above-mentioned step S801 and step S802. Among them, step S802: According to the download speeds of multiple candidate edge nodes, converge to send a data download request to at least one target edge node among the multiple candidate edge nodes, so that at least one target edge node downloads another part of the target data from the data center, and it may further include:
[0133] Step S1101: The client screens out candidate edge nodes with a preset ranking from multiple candidate edge nodes according to the ranking of the download speeds of the multiple candidate edge nodes, and determines them as target edge nodes.
[0134] Step S1102: The client converges the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center.
[0135] It should be noted that screening out candidate edge nodes with a preset ranking can be understood as screening out the top N candidate edge nodes with the fastest download speeds, where N≥1. The specific screening quantity can be selected and adjusted as needed.
[0136] The solution of the embodiment of the present disclosure uses the ranking of the download speeds as a screening criterion, and can quickly determine the edge nodes required for subsequent target data download from multiple candidate edge nodes, which can effectively improve the speed at which the client downloads target data from the data center.
[0137] In one implementation, the embodiment of the present disclosure provides a data transmission method, including the above-mentioned step S801, step S1001 and step S1002. Among them, step S1002: Converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center, and it may further include:
[0138] When the target edge node is determined to be one, the client converges the data download request to send only to one target edge node, so that the target edge node downloads another part of the target data from the data center.
[0139] When the target edge node is determined to be one, the client converges the data download request to send it only to one target edge node. It can be understood that, for example, the target data includes data A, data B, data C, data D, and data E, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client uses the first edge node to download data A from the data center, uses the second edge node to download data B from the data center, uses the third edge node to download data C from the data center, and then determines from the download speeds of the first edge node, the second edge node, and the third edge node that only the second edge node can be used as the target edge node. Then, it directly converges to send the data download request only to the second edge node, that is, downloads the remaining data (data D and data E) in the target data from the data center through the second edge node.
[0140] The solution of the embodiment of the present disclosure downloads the remaining target data through the determined target edge node with the fastest download speed, which can significantly improve the data transmission speed.
[0141] In another implementation manner, the embodiment of the present disclosure provides a data transmission method, including the above steps S801, S1001, and S1002. Among them, step S1002: Converge the data download request to send it to the target edge node, so that the target edge node downloads another part of the target data from the data center, which may further include:
[0142] When the target edge node is determined to be multiple, the client converges the data download request to send it to multiple target edge nodes, so that the multiple target edge nodes download the first target data from the data center.
[0143] The client gradually converges the data download request to send it only to the target edge node with the fastest download speed according to the download speeds of the multiple target edge nodes, so that the target edge node with the fastest download speed downloads the remaining target data from the data center.
[0144] It should be noted that both the first target data and the remaining target data can be understood as another part of the target data, that is, the data that the client needs to download from the data center.
[0145] The client gradually converges the data download requests to only send them to the target edge node with the fastest download speed according to the download speeds of multiple target edge nodes. It can be understood that, for example, the target data includes data A, data B, data C, data D, data E, data F, data G, and data H, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client uses the first edge node to download data A from the data center, uses the second edge node to download data B from the data center, uses the third edge node to download data C from the data center, and then determines the first edge node and the third edge node as target edge nodes according to the download speeds of the first edge node, the second edge node, and the third edge node, converges to only send data download requests to the first edge node and the third edge node, and uses the first edge node to download data D from the data center and uses the third edge node to download data E from the data center. Then, further according to the download speeds of the first edge node and the third edge node when downloading data from the data center again, it determines that the first edge node is the target edge node with the fastest download speed, and converges to only send data download requests to the first edge node, that is, uses the first edge node to download the remaining data (data F, data G, data H) in the target data from the data center.
[0146] The solution of the embodiment of the present disclosure can achieve the rapid download of a large amount of target data by gradually converging the target edge nodes required to download the target data, and avoids the influence of bandwidth limitations caused by relying only on the target edge node with the fastest download speed to download all the undownloaded target data, significantly improving the data transmission speed.
[0147] In one implementation manner, the embodiment of the present disclosure provides a data transmission method, including the above steps S801, S1101, and S1102, where step S1102: converging the data download request to send it to the target edge node, so that the target edge node downloads another part of the target data from the data center, may further include:
[0148] When the target edge node is determined to be one, converging the data download request to only send it to one target edge node, so that the target edge node downloads another part of the target data from the data center.
[0149] When the target edge node is determined to be one, the data download request is converged to be sent only to one target edge node. It can be understood that, for example, the target data includes data A, data B, data C, data D, and data E, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client uses the first edge node to download data A from the data center, uses the second edge node to download data B from the data center, uses the third edge node to download data C from the data center, and then determines that only the second edge node can be used as the target edge node according to the download speeds of the first edge node, the second edge node, and the third edge node. Then, it directly converges to send the data download request only to the second edge node, that is, the remaining data (data D and data E) in the target data are both downloaded from the data center through the second edge node.
[0150] The solution of the embodiment of the present disclosure downloads the remaining target data through the determined target edge node with the fastest download speed, which can significantly improve the data transmission speed.
[0151] In another implementation manner, the embodiment of the present disclosure provides a data transmission method, including the above steps S801, S1101, and S1102, where step S1102: Converge the data download request to be sent to the target edge node, so that the target edge node downloads another part of the target data from the data center, and may further include:
[0152] When the target edge nodes are determined to be multiple, converge the data download request to be sent to multiple target edge nodes, so that the multiple target edge nodes download the first target data from the data center.
[0153] According to the download speeds of the multiple target edge nodes, gradually converge the data download request to be sent only to the target edge node with the fastest download speed, so that the target edge node with the fastest download speed downloads the remaining target data from the data center.
[0154] It should be noted that both the first target data and the remaining target data can be understood as another part of the target data, that is, the data that the client needs to download from the data center.
[0155] The client gradually converges the data download request to only send it to the target edge node with the fastest download speed according to the download speeds of multiple target edge nodes. It can be understood that, for example, the target data includes Data A, Data B, Data C, Data D, Data E, Data F, Data G, and Data H, and multiple candidate edge nodes include the first edge node, the second edge node, and the third edge node. The client uses the first edge node to download Data A from the data center, uses the second edge node to download Data B from the data center, uses the third edge node to download Data C from the data center, and then determines the first edge node and the third edge node as target edge nodes according to the download speeds of the first edge node, the second edge node, and the third edge node, converges to only send the data download request to the first edge node and the third edge node, and uses the first edge node to download Data D from the data center and uses the third edge node to download Data E from the data center. Then, further according to the download speeds of the first edge node and the third edge node when downloading data from the data center again, determines the first edge node as the target edge node with the fastest download speed, and converges to only send the data download request to the first edge node, that is, uses the first edge node to download the remaining data (Data F, Data G, Data H) in the target data from the data center.
[0156] The solution of the embodiment of the present disclosure can achieve the fast download of large-scale target data by gradually converging the target edge nodes required to download the target data, and avoids the influence of bandwidth limitation caused by relying only on the target edge node with the fastest download speed to download all the undownloaded target data, significantly improving the data transmission speed.
[0157] In one implementation, as Figure 12 shown, it is a flowchart of the data transmission method of this embodiment. The embodiment of the present disclosure provides a data transmission method, including the above steps S801 and S802, and may further include:
[0158] Step S1201: The client sends a data transmission request to the data center so that the data center encrypts the target data to be downloaded through a key and an encryption algorithm.
[0159] The format of the key (for example, a dynamic key), the specific encryption algorithm can be selected and adjusted as needed, and no specific limitation is made here. As long as it can enable the data center to encrypt the target data using the key and the encryption algorithm.
[0160] The solution of the embodiment of the present disclosure can ensure the security of the target data that the client needs to download by encrypting the target data through the encryption algorithm and the key, avoid others accessing or stealing the target data using the candidate edge nodes, and prevent the target data from being leaked.
[0161] In one example, after receiving the downloaded target data, the client needs to decrypt the target data according to the secret key and the encryption algorithm.
[0162] In one implementation, as Figure 13 shown, it is a flowchart of the data transmission method of this embodiment. The implementation of the present disclosure provides a data transmission method, including the above steps S801 and S802, and may further include:
[0163] Step S1301: The client determines multiple candidate edge nodes screened by the edge network according to the preset network information.
[0164] It should be noted that the preset network information may include the network operator information of the client, the geographical information of the client, etc.
[0165] The edge network screens out multiple candidate edge nodes according to the preset network information, which can be understood as: for example, the edge network screens out the edge nodes of the same network operator as candidate edge nodes according to the network operator information of the client. Another example is that the edge network screens out the edge nodes located in the same region as candidate edge nodes according to the geographical information of the client. Another example is that the edge network screens out the edge nodes of the same network operator and located in the same region as candidate edge nodes according to the network operator information and geographical information of the client.
[0166] The solution of the embodiment of the present disclosure can be adapted to candidate edge nodes that more meet the client's data download requirements through screening by preset network information, so as to improve the speed of the client using multiple candidate edge nodes to download target data as much as possible.
[0167] The implementation of the present disclosure provides a data transmission device, as Figure 14 shown, it is a structural block diagram of the data transmission device of this embodiment. The device may include:
[0168] The first sending module 1401 is used to send data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the received target data to the data center.
[0169] The second sending module 1402 is used to converge to send data upload requests to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that at least one target edge node uploads another part of the received target data to the data center.
[0170] In one implementation, the second sending module 1402 includes:
[0171] The first determination sub-module is configured to screen out candidate edge nodes that meet the threshold upload speed requirement from multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, and determine them as target edge nodes.
[0172] The first sending sub-module is configured to converge the data upload request to send to the target edge node, so that the target edge node uploads another part of the target data received to the data center.
[0173] In one implementation, the second sending module 1402 includes:
[0174] The second determination sub-module is configured to screen out candidate edge nodes with a preset ranking from multiple candidate edge nodes according to the ranking of the upload speeds of the multiple candidate edge nodes, and determine them as target edge nodes.
[0175] The second sending sub-module is configured to converge the data upload request to send to the target edge node, so that the target edge node uploads another part of the target data received to the data center.
[0176] In one implementation, wherein, the first sending sub-module and / or the second sending sub-module are further configured to, when the target edge node is determined to be one, converge the data upload request to send to only one target edge node, so that the target edge node uploads another part of the target data received to the data center.
[0177] In one implementation, wherein, the first sending sub-module and / or the second sending sub-module are further configured to, when the target edge node is determined to be multiple, converge the data upload request to send to multiple target edge nodes, so that the multiple target edge nodes upload the first target data received to the data center. And, according to the upload speeds of the multiple target edge nodes, gradually converge the data upload request to send to only the target edge node with the fastest upload speed, so that the target edge node with the fastest upload speed uploads the remaining target data received to the data center.
[0178] In one implementation, the data transmission device further includes:
[0179] The encryption module is configured to encrypt the target data to be uploaded according to the key and encryption algorithm fed back by the data center in response to the data transmission request.
[0180] In one implementation, the data transmission device further includes:
[0181] The determination module is configured to determine multiple candidate edge nodes screened out by the edge network according to preset network information.
[0182] Embodiments of the present disclosure provide a data transmission device, such as Figure 15As shown, it is a structural block diagram of the data transmission device in this embodiment. The device may include:
[0183] A first sending module 1501, configured to send data download requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes download a part of the target data from the data center.
[0184] A second sending module 1502, configured to converge to send data download requests to at least one target edge node among the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, so that the at least one target edge node downloads another part of the target data from the data center.
[0185] In one implementation, the second sending module 1502 includes:
[0186] A first determination sub-module, configured to screen out candidate edge nodes that meet the threshold download speed requirement from the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, and determine them as target edge nodes.
[0187] A first sending sub-module, configured to converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center.
[0188] In one implementation, the second sending module 1502 includes:
[0189] A second determination sub-module, configured to screen out candidate edge nodes with a preset ranking from the multiple candidate edge nodes according to the ranking of the download speeds of the multiple candidate edge nodes, and determine them as target edge nodes.
[0190] A second sending sub-module, configured to converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center.
[0191] In one implementation, the first sending sub-module and / or the second sending sub-module are further configured to, when the target edge node is determined to be one, converge the data download request to send to only one target edge node, so that the target edge node downloads another part of the target data from the data center.
[0192] In one implementation, the first sending sub-module and / or the second sending sub-module are further configured to, when the target edge nodes are determined to be multiple, converge the data download request to send to the multiple target edge nodes, so that the multiple target edge nodes download the first target data from the data center. And, according to the download speeds of the multiple target edge nodes, gradually converge the data download request to send to only the target edge node with the fastest download speed, so that the target edge node with the fastest download speed downloads the remaining target data from the data center.
[0193] In one embodiment, the data transmission device further includes:
[0194] An encryption module, configured to send a data transmission request to a data center, so that the data center encrypts the target data to be downloaded through a key and an encryption algorithm.
[0195] In one embodiment, the data transmission device further includes:
[0196] A determination module, configured to determine a plurality of candidate edge nodes screened by an edge network according to preset network information.
[0197] In the technical solution of the present disclosure, the acquisition, storage, and application of user personal information involved all comply with the provisions of relevant laws and regulations and do not violate public order and good customs.
[0198] According to an embodiment of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium, and a computer program product.
[0199] Figure 16 FIG. shows a schematic block diagram of an exemplary electronic device 1600 that can be used to implement the embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processor, a cellular phone, a smart phone, a wearable device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely exemplary and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0200] As Figure 16 shown, the device 1600 includes a computing unit 1601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1602 or a computer program loaded from a storage unit 1608 into a random access memory (RAM) 1603. In the RAM 1603, various programs and data required for the operation of the device 1600 can also be stored. The computing unit 1601, the ROM 1602, and the RAM 1603 are connected to each other through a bus 1604. An input / output (I / O) interface 1605 is also connected to the bus 1604.
[0201] Multiple components in device 1600 are connected to I / O interface 1605, including: input unit 1606, such as a keyboard, mouse, etc.; output unit 1607, such as various types of displays, speakers, etc.; storage unit 1608, such as a disk, optical disc, etc.; and communication unit 1609, such as a network card, modem, wireless communication transceiver, etc. Communication unit 1609 allows device 1600 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0202] Computing unit 1601 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of computing unit 1601 include but are not limited to a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Computing unit 1601 executes the various methods and processes described above, such as the method of data transmission. For example, in some embodiments, the method of data transmission can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as storage unit 1608. In some embodiments, part or all of the computer program can be loaded and / or installed onto device 1600 via ROM 1602 and / or communication unit 1609. When the computer program is loaded into RAM 1603 and executed by computing unit 1601, one or more steps of the method of data transmission described above can be executed. Alternatively, in other embodiments, computing unit 1601 can be configured to execute the method of data transmission in any other suitable manner (e.g., by means of firmware).
[0203] The various embodiments of the systems and techniques described above in this article can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special or general-purpose programmable processor, and can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.
[0204] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data transmission devices, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program codes can be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0205] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0206] In order to provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) through which the user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0207] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected to each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.
[0208] A computer system can include a client and a server. The client and the server are generally far from each other and typically interact through a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, or a server of a distributed system, or a server incorporating blockchain.
[0209] It should be understood that various forms of the processes shown above can be used, steps can be reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this is not limited herein.
[0210] The above specific embodiments do not constitute a limitation on the protection scope of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the protection scope of this disclosure.
Claims
1. A method for data transmission, comprising: Sending data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the target data received to a data center; wherein, the multiple candidate nodes receive the part of the target data before the client sends data upload requests to the multiple candidate edge nodes respectively, after the client sends data upload requests to the multiple candidate edge nodes respectively, or at the same time when the client sends data upload requests to the multiple candidate edge nodes respectively; Converging to send a data upload request to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that the at least one target edge node uploads another part of the target data received to the data center.
2. The method according to claim 1, wherein, The converging to send a data upload request to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that the at least one target edge node uploads another part of the target data received to the data center, includes: Filtering out candidate edge nodes that meet the threshold upload speed requirement from the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, and determining them as target edge nodes; Converging the data upload request to be sent to the target edge node, so that the target edge node uploads another part of the target data received to the data center; Or, Filtering out candidate edge nodes with a preset ranking from the multiple candidate edge nodes according to the ranking of the upload speeds of the multiple candidate edge nodes, and determining them as target edge nodes; Converging the data upload request to be sent to the target edge node, so that the target edge node uploads another part of the target data received to the data center.
3. The method according to claim 2, wherein The converging the data upload request to be sent to the target edge node, so that the target edge node uploads another part of the target data received to the data center, includes: When the target edge node is determined to be one, converging the data upload request to be sent only to one target edge node, so that the target edge node uploads another part of the target data received to the data center.
4. The method according to claim 2, wherein The converging the data upload request to be sent to the target edge node, so that the target edge node uploads another part of the target data received to the data center, includes: When the target edge node is determined to be multiple, converging the data upload request to be sent to multiple target edge nodes, so that the multiple target edge nodes upload the first target data received to the data center; According to the upload speeds of the multiple target edge nodes, gradually converging the data upload request to be sent only to the target edge node with the fastest upload speed, so that the target edge node with the fastest upload speed uploads the remaining target data received to the data center.
5. The method according to any one of claims 1 to 4, further comprising: Encrypt the target data to be uploaded according to the key and encryption algorithm feedback by the data center in response to the data transmission request; and / or Determine the multiple candidate edge nodes screened by the edge network according to the preset network information.
6. A data transmission method, comprising: Send data download requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes download a part of the target data from the data center; According to the download speeds of the multiple candidate edge nodes, converge to send a data download request to at least one target edge node among the multiple candidate edge nodes, so that the at least one target edge node downloads another part of the target data from the data center.
7. The method according to claim 6, wherein, The step of according to the download speeds of the multiple candidate edge nodes, converging to send a data download request to at least one target edge node among the multiple candidate edge nodes, so that the at least one target edge node downloads another part of the target data from the data center, includes: According to the download speeds of the multiple candidate edge nodes, screen out candidate edge nodes that meet the threshold download speed requirement from the multiple candidate edge nodes, and determine them as target edge nodes; Converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center; or According to the ranking of the download speeds of the multiple candidate edge nodes, screen out candidate edge nodes with a preset ranking from the multiple candidate edge nodes, and determine them as target edge nodes; Converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center.
8. The method according to claim 7, wherein The step of converging the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center, includes: When the number of the target edge nodes is determined to be one, converge the data download request to send only to one target edge node, so that the target edge node downloads another part of the target data from the data center.
9. The method according to claim 7, wherein, The step of converging the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center, includes: When the number of the target edge nodes is determined to be multiple, converge the data download request to send to multiple target edge nodes, so that the multiple target edge nodes download the first target data from the data center; According to the download speeds of the multiple target edge nodes, gradually converge the data download request to send only to the target edge node with the fastest download speed, so that the target edge node with the fastest download speed downloads the remaining target data from the data center.
10. The method according to any one of claims 7 to 9, further comprising: Send a data transmission request to the data center, so that the data center encrypts the target data to be downloaded by using a key and an encryption algorithm; and / or Determine the multiple candidate edge nodes screened by the edge network according to the preset network information.
11. A data transmission device, comprising: A first sending module, configured to send data upload requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes upload a part of the target data received to a data center; wherein, the multiple candidate nodes receive the part of the target data before the client sends data upload requests to the multiple candidate edge nodes respectively, after the client sends data upload requests to the multiple candidate edge nodes respectively, or at the same time when the client sends data upload requests to the multiple candidate edge nodes respectively; A second sending module, configured to converge to send data upload requests to at least one target edge node among the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, so that the at least one target edge node uploads another part of the target data received to the data center.
12. The device according to claim 11, wherein, The second sending module includes: A first determining sub-module, configured to screen out candidate edge nodes that meet the threshold upload speed requirement from the multiple candidate edge nodes according to the upload speeds of the multiple candidate edge nodes, and determine them as target edge nodes; A first sending sub-module, configured to converge the data upload request to send to the target edge node, so that the target edge node uploads another part of the target data received to the data center; Or, The second sending module includes: A second determining sub-module, configured to screen out candidate edge nodes with a preset ranking from the multiple candidate edge nodes according to the ranking of the upload speeds of the multiple candidate edge nodes, and determine them as target edge nodes; A second sending sub-module, configured to converge the data upload request to send to the target edge node, so that the target edge node uploads another part of the target data received to the data center.
13. The apparatus according to claim 12, wherein, The first sending sub-module and / or the second sending sub-module are further configured to, when the number of the target edge nodes is determined to be one, converge the data upload request to send only to one of the target edge nodes, so that the target edge node uploads another part of the target data received to the data center.
14. The apparatus according to claim 12, wherein, The first sending sub-module and / or the second sending sub-module are further configured to, when the number of the target edge nodes is determined to be multiple, converge the data upload request to send to multiple target edge nodes, so that the multiple target edge nodes upload the first target data received to the data center; and, according to the upload speeds of the multiple target edge nodes, gradually converge the data upload request to send only to the target edge node with the fastest upload speed, so that the target edge node with the fastest upload speed uploads the remaining target data received to the data center.
15. The device according to any one of claims 11 to 14, further comprising: An encryption module, configured to encrypt the target data to be uploaded according to the key and encryption algorithm fed back by the data center in response to the data transmission request; And / or, A determination module, configured to determine the multiple candidate edge nodes screened out by the edge network according to preset network information.
16. A data transmission device, comprising: A first sending module, configured to send data download requests to multiple candidate edge nodes respectively, so that the multiple candidate edge nodes download a part of the target data from the data center; A second sending module, configured to converge to send data download requests to at least one target edge node among the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, so that the at least one target edge node downloads another part of the target data from the data center.
17. The device according to claim 16, wherein, The second sending module includes: A first determination sub-module, configured to screen out candidate edge nodes that meet the threshold download speed requirement from the multiple candidate edge nodes according to the download speeds of the multiple candidate edge nodes, and determine them as target edge nodes; A first sending sub-module, configured to converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center; Or, the second sending module includes: A second determination sub-module, configured to screen out candidate edge nodes with a preset ranking from the multiple candidate edge nodes according to the ranking of the download speeds of the multiple candidate edge nodes, and determine them as target edge nodes; A second sending sub-module, configured to converge the data download request to send to the target edge node, so that the target edge node downloads another part of the target data from the data center.
18. The apparatus according to claim 17, wherein, The first sending sub-module and / or the second sending sub-module are further configured to, when the number of the target edge nodes is determined to be one, converge the data download request to send only to one of the target edge nodes, so that the target edge node downloads another part of the target data from the data center.
19. The device according to claim 17, wherein, The first sending sub-module and / or the second sending sub-module are further configured to, when the number of the target edge nodes is determined to be multiple, converge the data download request to send to multiple target edge nodes, so that the multiple target edge nodes download the first target data from the data center; and, according to the download speeds of the multiple target edge nodes, gradually converge the data download request to send only to the target edge node with the fastest download speed, so that the target edge node with the fastest download speed downloads the remaining target data from the data center.
20. The apparatus according to any one of claims 16 to 19, further comprising: An encryption module, configured to send a data transmission request to the data center, so that the data center encrypts the target data to be downloaded through a key and an encryption algorithm; and / or, A determination module, configured to determine the multiple candidate edge nodes screened out by the edge network according to preset network information.
21. An electronic device, comprising: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor, so that the at least one processor can execute the method according to any one of claims 1 to 10.
22. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 10.
23. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Method and device for uploading file by using relay nodes
CN112437106A