Data transmission method and device, medium and product

By dynamically adjusting the amount and strategy of fragmented data on the server side, the problems of low uplink data transmission efficiency and poor reliability are solved, and efficient and reliable data transmission is achieved when network conditions change.

CN121619620APending Publication Date: 2026-03-06CHINA MOBILE INTERNET CO LTD +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511632991.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-10
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Existing technologies suffer from low uplink data transmission efficiency and poor reliability, especially when network conditions change, making it difficult to effectively utilize network resources and ensure data transmission integrity.

Method used

The server receives data transmission requests from the client, determines the updated fragmented data volume based on the current network performance parameters, and determines the data fragmentation strategy based on the target total data volume and the updated fragmented data volume. The fragment size is dynamically adjusted to adapt to changes in network conditions, thereby improving transmission efficiency and reliability.

Benefits of technology

When network conditions change, the amount and strategy of fragmented data are dynamically adjusted, which improves network resource utilization and enhances the reliability and efficiency of data fragmentation transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121619620A_ABST
    Figure CN121619620A_ABST
Patent Text Reader

Abstract

The present disclosure relates to the technical field of computers, and particularly provides a data transmission method, device, medium and product, the method comprising: receiving a data transmission request sent by a user side, the data transmission request comprising a target data total amount of to-be-transmitted data; if the total amount of the target data or the total amount of the current transmission data is greater than the current maximum network transmission capacity, determining an updated fragmentation data volume based on the current network performance parameter value; determining a data fragmentation strategy of the to-be-transmitted data based on the total amount of the target data and the updated fragmentation data amount; the data fragmentation strategy is sent to the user side, and the user side is used for conducting fragmentation transmission on the data to be transmitted based on the data fragmentation strategy. According to the invention, the transmission efficiency and reliability of uplink data can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a data transmission method, apparatus, medium and product. Background Technology

[0002] As user terminals become increasingly feature-rich, users can perform various upstream services through them. For example, users can upload local videos, audio, or images to the cloud for storage, or they can publish audio, video, or text content on the platform.

[0003] In related technologies, during uplink data transmission, the data to be transmitted can usually be fragmented and then transmitted one fragment at a time to complete the data transmission.

[0004] However, the uplink data transmission schemes provided in related technologies usually suffer from low transmission efficiency and poor data transmission reliability. Summary of the Invention

[0005] This disclosure is made in view of the above-mentioned problems. This disclosure provides a data transmission method, apparatus, medium, and product that can improve the transmission efficiency and reliability of uplink data.

[0006] According to a first aspect of this disclosure, a data transmission method is provided, the method being applied to a server, comprising: Receive a data transmission request sent by a user terminal, wherein the data transmission request contains the target total amount of data to be transmitted; If the target total data volume or the current total data volume being transmitted is greater than the current maximum network transmission capacity, then the updated fragment data volume is determined based on the current network performance parameter values. Based on the target total data volume and the updated fragmented data volume, determine the data fragmentation strategy for the data to be transmitted; The data fragmentation strategy is sent to the user terminal, wherein the user terminal is used to fragment the data to be transmitted based on the data fragmentation strategy.

[0007] According to a second aspect of this disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the method described above.

[0008] According to a third aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method described above.

[0009] According to a fourth aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the method described above.

[0010] The data transmission method, device, medium, and product provided in this disclosure can, upon receiving a data transmission request from a user terminal, determine an updated fragmented data volume based on current network performance parameters if the sum of the target total data volume to be transmitted and the currently transmitted data volume is greater than the current maximum network transmission capacity. Furthermore, based on the target total data volume to be transmitted and the updated fragmented data volume, a data fragmentation strategy for the user terminal during uplink transmission is determined. This allows the user terminal to perform uplink transmission of the data to be transmitted according to the data fragmentation strategy. This allows for the re-determination of fragmented data volume during fragmented transmission by the user terminal, even in cases of network degradation, based on network conditions and the target data volume to be transmitted. This not only improves network resource utilization but also enhances the reliability and efficiency of fragmented data transmission.

[0011] It should be understood that both the foregoing general description and the following detailed description are exemplary and intended to provide further illustration of the claimed technology. Attached Figure Description

[0012] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of the embodiments thereof in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the embodiments of this disclosure to explain the disclosure and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.

[0013] Figure 1 This is a schematic diagram illustrating an implementation scenario of a data transmission scheme according to an embodiment of this disclosure.

[0014] Figure 2 This is a flowchart of a data transmission method according to an embodiment of the present disclosure.

[0015] Figure 3 This is a flowchart illustrating an embodiment of the present disclosure for determining the updated fragment data volume.

[0016] Figure 4 This is a schematic diagram of a partially fragmented data queue according to an embodiment of this disclosure.

[0017] Figure 5 This is a schematic diagram of another partially fragmented data queue according to an embodiment of this disclosure.

[0018] Figure 6 This is a block diagram of a data transmission apparatus according to an embodiment of the present disclosure.

[0019] Figure 7 This is a schematic diagram illustrating a computer program product according to an embodiment of the present disclosure.

[0020] Figure 8 This is a hardware block diagram illustrating an electronic device according to an embodiment of the present disclosure. Detailed Implementation

[0021] To make the objectives, technical solutions, and advantages of this disclosure more apparent, exemplary embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this disclosure, and not all embodiments of this disclosure. It should be understood that this disclosure is not limited to the exemplary embodiments described herein.

[0022] In related technologies, during uplink data transmission, the data to be transmitted is typically fragmented, and each fragment is transmitted sequentially to complete the data transmission. This can be achieved by pre-setting a fixed fragment size for data fragmentation and transmission; or by pre-setting multiple fragment sizes, and during data transmission, smaller fragments are used first. If a predetermined number of fragments are successfully transmitted consecutively, larger fragments are used for data transmission; similarly, if a predetermined number of fragments fail to be transmitted consecutively, smaller fragments are used for data transmission.

[0023] However, when transmitting data using fixed fragment sizes, even with excellent network performance, network resources cannot be fully utilized, resulting in low transmission efficiency and wasted network resources. Alternatively, when transmitting data using fragments of various sizes, although fragment size switching is possible, the lag in fragment size switching can easily lead to higher packet loss rates and affect the reliability of data transmission when network conditions are poor.

[0024] To address the aforementioned problems, embodiments of this disclosure provide a data transmission scheme, such as... Figure 1 As shown, Figure 1 A schematic diagram illustrating an implementation scenario of a data transmission scheme provided by an exemplary embodiment of this disclosure is shown. For example... Figure 1 As shown, the implementation scenario 100 includes a server 101 and a user terminal 102. The server 101 is the electronic device of the service provider in the uplink business scenario, such as a server or service node device. The user terminal 102 is the terminal device used by the user in the uplink business scenario. The terminal device can be a computer, laptop, tablet, mobile phone or wearable device, etc.

[0025] A communication link can be established between the server 101 and the user terminal 102 to implement the data transmission scheme provided in this embodiment.

[0026] Figure 2 A flowchart illustrating an exemplary embodiment of the present disclosure is shown. This method can be applied to a server, such as... Figure 2 As shown, the method in this embodiment of the disclosure may include: Step S201: Receive a data transmission request sent by the user terminal; The data transmission request includes the target total amount of data to be transmitted; Step S202: If the target total data volume or the current total data volume being transmitted is greater than the current maximum network transmission capacity, then the updated fragment data volume is determined based on the current network performance parameter value. Step S203: Based on the target total data volume and the updated fragmented data volume, determine the data fragmentation strategy for the data to be transmitted; Step S204: Send the data sharding strategy to the user terminal; The user terminal is used to fragment and transmit the data to be transmitted based on the data fragmentation strategy.

[0027] In summary, the data transmission method provided in this disclosure can, upon receiving a data transmission request from a user terminal, determine the updated fragmented data volume based on the current network performance parameters if the sum of the target total data volume to be transmitted and the currently transmitted data volume is greater than the current maximum network transmission capacity. Furthermore, based on the target total data volume to be transmitted and the updated fragmented data volume, a data fragmentation strategy for the user terminal during the uplink transmission process is determined. This allows the user terminal to perform uplink transmission of the data to be transmitted according to the data fragmentation strategy. This method can re-determine the fragmented data volume during the fragmented transmission process at the user terminal in the event of network degradation, based on network conditions and the target data volume to be transmitted. This not only improves the utilization rate of network resources but also enhances the reliability and efficiency of data fragmented transmission.

[0028] The following are Figure 2 The specific implementation methods of each step in the illustrated embodiment are described in detail below: In step S201, the server receives a data transmission request sent by the user.

[0029] In this embodiment of the disclosure, the data transmission request includes the target total amount of data to be transmitted; the data to be transmitted is different types of business data such as files, audio or video that the user terminal is about to transmit. Specifically, it can be determined based on the current business scenario of the user terminal, and this embodiment of the disclosure does not limit it in this regard.

[0030] It is understood that, in this embodiment of the disclosure, when a user needs to upload certain business data, they can send a data transmission request to the server through the business data upload operation on the user's end.

[0031] In one optional implementation, the process of the server receiving a data transmission request sent by the user includes: in response to detecting a data transmission request sent by the user, acquiring the data transmission request, parsing the data transmission request, and obtaining the target total amount of data to be transmitted.

[0032] In step S202, if the target total data volume or the current total data volume being transmitted is greater than the current maximum network transmission capacity, then the updated fragment data volume is determined based on the current network performance parameter value.

[0033] In this embodiment of the disclosure, the uplink data received by the server is fragmented data after being fragmented, and the current total amount of data being transmitted is the total amount of multiple data fragments being transmitted by other user terminals received by the server.

[0034] It should be noted that the current maximum network transmission capacity represents the limit of the amount of data that the server can currently transmit. The current maximum network transmission capacity is the product of the network transmission capacity and the transmission tolerance. The network transmission capacity is determined during the last update of the fragment data volume by the server. The transmission tolerance can be determined based on actual needs. This embodiment of the disclosure does not limit this. For example, the transmission tolerance is 600. The fragment data volume is the size of each fragment of data transmitted by the user.

[0035] In one alternative implementation, such as Figure 3 As shown, the process by which the server determines the updated fragment data volume based on the current network performance parameter values ​​includes: Step S301: The server obtains target network performance parameter values ​​for multiple historical unit durations, and determines the transmission delay jitter within each historical unit duration based on the reception time of multiple historical data packets within each historical unit duration, thereby obtaining a set of historical network performance parameter values.

[0036] In this embodiment, the server can periodically calculate the target network performance parameter value. The duration of each calculation period is a unit duration. The calculation period for the target network performance parameter value can be determined based on actual needs, and this embodiment does not limit this. For example, the server can calculate the target network performance parameter value every 5 minutes or 10 minutes. In the case of calculating the target network performance parameter value every 5 minutes, the unit duration is 5 minutes. The target network performance parameter includes at least one of packet transmission integrity and network latency, as well as network transmission capacity. Transmission latency jitter is used to characterize the instability of data transmission latency in the network.

[0037] It should be noted that, in this embodiment of the disclosure, the target network performance parameter values ​​for multiple historical units of time are the target network performance parameter values ​​for multiple historical units of time closest to the current time. The number of multiple historical units of time can be determined based on actual needs, and this embodiment of the disclosure does not limit this. For example, the number of multiple historical units of time can be 3 or 5.

[0038] In one optional implementation, the process by which the server determines the transmission delay jitter within a historical unit of time based on the reception times of multiple historical data packets within each historical unit of time includes: for each historical unit of time, based on the reception time of each historical data packet and the reception times of the two consecutive historical data packets preceding each historical data packet, determining the data packet transmission delay jitter associated with each historical data packet, wherein the data packet transmission delay jitter is the difference between the reception times of each historical data packet and the two consecutive historical data packets preceding each historical data packet; then, based on the data packet transmission delay jitter associated with each historical data packet and the average data packet transmission delay jitter of the multiple historical data packets, determining the transmission delay jitter within the historical unit of time. On the one hand, by characterizing the data packet transmission delay jitter of each historical data packet, and the difference in the reception time difference between two adjacent historical data packets in the two consecutive historical data packets preceding each historical data packet, the network transmission delay jitter can be more accurately depicted. On the other hand, by combining the data packet transmission delay jitter of each historical data packet in multiple historical data packets, and the average data packet transmission delay jitter of multiple data packets, the transmission delay jitter within each historical unit of time can be predicted more accurately, so as to improve the accuracy of the determined updated fragmented data volume.

[0039] It should be noted that multiple historical data packets refer to multiple data packets received before the current moment. The number of multiple historical data packets can be determined based on actual needs, and this disclosure does not limit this; for example, the number of multiple historical data packets can be 50 or 100.

[0040] Among them, the data packet transmission delay jitter associated with the i-th historical data packet for: ;(Formula 1) In Formula 1, Let i be the time when the i-th historical data packet was received. Let i be the time of receiving the (i-1)th historical data packet. This represents the reception time of the (i-2)th historical data packet.

[0041] Average packet transmission delay jitter of multiple historical data packets for: = ;(Formula 2) In Formula 2, N is the total number of data packets in the multiple historical data packets.

[0042] The server determines the transmission delay jitter within a historical unit of time based on a preset formula, the data packet transmission delay jitter associated with each historical data packet, and the average data packet transmission delay jitter of the multiple historical data packets. The preset formula is as follows: ;(Formula 3) In formula 3, This is for transmission delay jitter.

[0043] In one optional implementation, to further improve the efficiency of determining the transmission delay jitter within a historical unit of time, the process by which the server determines the transmission delay jitter within a historical unit of time based on the reception times of multiple historical data packets within each historical unit of time includes: for each historical unit of time, obtaining the reception times of three consecutive historical data packets within the historical unit of time, and determining the data packet transmission delay jitter of the target historical data packet among the three historical data packets, thereby obtaining the transmission delay jitter within the historical unit of time, wherein the target historical data packet is the historical data packet with the latest reception time among the three historical data packets.

[0044] It is understood that, in the embodiments of this disclosure, the process of determining the data packet transmission delay jitter of the target historical data packet can be implemented based on the above formula 1, and the embodiments of this disclosure will not elaborate on this.

[0045] Step S302: The server inputs the historical network performance parameter value set into the network performance prediction model to obtain the network performance parameter prediction value set for the next unit of time.

[0046] In this embodiment of the disclosure, the network performance prediction model is a pre-trained time series model. Specifically, it can be determined based on actual needs. In this embodiment of the disclosure, for example, the network performance prediction model can be a Long Short-Term Memory (LSTM) model, a Moving Average (MA) model, or an Autoregressive Moving Average (ARMA) model.

[0047] In one optional implementation, the target network performance parameters include the packet transmission integrity, the network latency, and the network transmission capacity. The process by which the server inputs the historical network performance parameter value set into the network performance prediction model to obtain the network performance parameter prediction value set for the next unit of time includes: inputting multiple historical unit-time values ​​of packet transmission integrity, multiple historical unit-time values ​​of network latency, multiple historical unit-time values ​​of network transmission capacity, and multiple historical unit-time values ​​of transmission latency jitter into the network performance prediction model to obtain the predicted values ​​of packet transmission integrity, network latency, network transmission capacity, and transmission latency jitter for the next unit of time; and then combining the predicted values ​​of packet transmission integrity, network latency, network transmission capacity, and transmission latency jitter for the next unit of time to form the network performance parameter prediction value set for the next unit of time.

[0048] For example, when the network performance prediction model can be an LSTM model, the process by which the server inputs the historical network performance parameter value set into the network performance prediction model to obtain the network performance parameter prediction value set for the next unit of time can be as follows: , , , ;(Formula 4) In Formula 4, B represents the network transmission capacity over multiple historical time units, P represents the data packet transmission integrity over multiple historical time units, L represents the network latency over multiple historical time units, and J represents the transmission delay jitter over multiple historical time units. This is the predicted network transmission capacity for the next unit of time. This is the predicted value for packet transmission integrity for the next unit of time. This is the predicted network latency for the next unit of time. This is the predicted transmission delay jitter value for the next unit of time.

[0049] Step S303: The server determines the updated fragment data volume based on the network performance parameter prediction set and the fragment data volume evaluation model.

[0050] In this embodiment, the process of determining the fragmented data volume by the server can be implemented based on a fragmented data volume evaluation model. This model is constructed based on the type of target network performance parameters, and specifically, it can be determined based on actual needs; this embodiment does not limit this. The network performance parameters for the next unit of time can be predicted using the current network performance parameters and the network performance prediction model, thereby determining the updated fragmented data volume. This achieves the goal of determining the updated fragmented data volume based on the estimated network conditions of the large model, improving the matching degree between the determined updated fragmented data volume and the network conditions, thus enhancing the uplink transmission reliability of the data to be transmitted.

[0051] In one optional implementation, the target network performance parameters include packet transmission integrity, network latency, and network transmission capacity. The process by which the server determines the updated fragmented data volume based on the predicted set of network performance parameters and the fragmented data volume evaluation model includes: inputting the predicted values ​​of packet transmission integrity, network latency, network transmission capacity, and transmission latency jitter into the fragmented data volume evaluation model to obtain the updated fragmented data volume. The fragmented data volume can be determined by comprehensively considering four parameters: packet transmission integrity, network latency, network transmission capacity, and transmission latency jitter, thereby improving the matching degree between the determined fragmented data volume and the actual situation of the current network.

[0052] Wherein, given that the target network performance parameters include the packet transmission integrity, the network latency, and the network transmission capacity, the fragmented data volume evaluation model is as follows: S=max( , ); In the fragmented data volume evaluation model, S represents the fragmented data volume. To minimize the amount of data in a single partition, To maximize the size of the data in a shard, This is the network latency threshold. The threshold for data packet transmission integrity. For transmission delay jitter threshold, The network transmission capacity thresholds are defined as follows: minimum fragment data size, maximum fragment data size, network latency threshold, data packet transmission integrity threshold, transmission latency jitter threshold, and network transmission capacity threshold. These thresholds can all be determined based on actual needs, and this disclosure does not limit them.

[0053] Understandably, if the target network performance parameters do not include packet transmission integrity or network latency, the fragmented data volume evaluation model does not include parameters related to packet transmission integrity or network latency.

[0054] In one optional implementation, if the updated fragment data size is greater than the fragment data size threshold, then the minimum fragment data size is determined as the updated fragment data size. Alternatively, if the updated fragment data size exceeds the fragment data size threshold, the minimum fragment data size can be determined as the data size of each fragment during data transmission from the user to the server, to prevent excessively large fragments from affecting data transmission reliability.

[0055] The threshold for the amount of data to be fragmented can be determined based on actual needs, and this disclosure does not limit it.

[0056] In step S203, the server determines the data fragmentation strategy for the data to be transmitted based on the target total data volume and the updated fragmented data volume.

[0057] In this embodiment of the disclosure, the data sharding strategy includes the number of shards and the amount of data in each shard.

[0058] In one optional implementation, the process by which the server determines the data fragmentation strategy for the data to be transmitted based on the target total data volume and the updated fragmented data volume may include: determining the number of first fragments based on the current maximum network transmission capacity and the fragmented data volume before the update; then, determining the difference between the target total data volume and the total fragmented data volume of the first fragment to obtain the total unfragmented data volume; further, determining the number of second fragments based on the total unfragmented data volume and the updated fragmented data volume; finally, determining the number of first fragments, the fragmented data volume of each first fragment, the number of second fragments, and the fragmented data volume of each second fragment as the data fragmentation strategy for the data to be transmitted; wherein the fragmented data volume of each first fragment is the fragmented data volume before the update, the total fragmented data volume of multiple first fragments is less than or equal to the current maximum network transmission capacity, and the fragmented data volume of each second fragment is less than or equal to the updated fragmented data volume.

[0059] It is understood that, in this embodiment of the disclosure, the total amount of fragmented data in the first fragment and the second fragment is equal to the total amount of target data.

[0060] In step S204, the server sends the data fragmentation strategy to the user terminal.

[0061] In one optional implementation, the server may send the data fragmentation strategy to the user terminal so that the user terminal can use the data fragmentation strategy to fragment and transmit the data to be transmitted.

[0062] It should be noted that when the server updates the amount of fragmented data, it indicates that the current network performance has changed. Therefore, the server can also adaptively update the number of retransmissions and the retransmission interval of data packets to improve the success rate of data packet transmission when network conditions change.

[0063] In one optional implementation, the server inputs the predicted values ​​of packet transmission integrity, network latency, and transmission latency jitter into the retransmission count evaluation model to obtain the updated retransmission count. The updated retransmission count, which better reflects the current network conditions, can be determined based on the predicted values ​​of packet transmission integrity, network latency, and transmission latency jitter from the network performance parameters, thereby improving the uplink transmission reliability of data packets. The retransmission count evaluation model is as follows: R= ;(Formula 5) In Formula 5, R represents the number of retransmissions. The maximum number of retransmissions. The parameters controlling the width of the Gaussian function are: and The specific requirements can be determined based on actual needs, and this disclosure does not limit the scope of the embodiments.

[0064] In one optional implementation, the server inputs the predicted values ​​of packet transmission integrity, network latency, and transmission delay jitter into the retransmission interval evaluation model to obtain an updated retransmission interval. Based on these network performance parameters, an updated retransmission interval that better reflects the current network conditions can be determined, thereby improving the reliability of uplink packet transmission.

[0065] The retransmission interval evaluation model is as follows: T= ( ) ( ); (Formula 6) In Formula 6, T represents the retransmission interval. For the smallest retransmission compartment, The maximum retransmission interval, and The specific requirements can be determined based on actual needs, and this disclosure does not limit the scope of the embodiments.

[0066] It is understood that, in this embodiment of the disclosure, if both the target total data volume and the current total data volume are less than or equal to the current maximum network transmission capacity, the server determines the data fragmentation strategy of the data to be transmitted based on the target total data volume and the updated fragmented data volume.

[0067] In one optional implementation, the server can determine the number of third fragments based on the target total data volume and the fragment data volume before the update; then, the number of third fragments and the fragment data volume of each third fragment are determined as the data fragmentation strategy for the data to be transmitted; wherein, the fragment data volume of each third fragment is less than or equal to the fragment data volume before the update, and the total fragment data volume of multiple third fragments is equal to the target total data volume.

[0068] For example, suppose that during the last update of the shard data volume, the server obtained the packet transmission integrity, network latency, network transmission capacity, and transmission latency jitter within three historical units of time for three historical units of time, as shown in Table 1. Here, the timestamp is the end time of each historical unit of time, and the unit of time is 10 minutes.

[0069] Table 1

[0070] Then, by inputting the historical network performance parameter value set from Table 1 into the network performance prediction model, the predicted network performance parameter value set for the next unit of time is obtained as follows: , , , = 120, 0.8, 65, 8; Furthermore, if the minimum fragment size is 5MB, the maximum fragment size is 5GB, the network latency threshold is 100, the packet transmission integrity threshold is 2, the transmission delay jitter threshold is 30, and the network transmission capacity threshold is 120, then the fragment size determined based on the predicted set of network performance parameters is: S = max(5MB, 5GB) )=942M Assuming a transmission tolerance of 600, in 120Mb The current maximum network transmission capacity is 120Mb. 600 / 8=9000M.

[0071] During data uplink transmission, if the target data volume of the data to be transmitted in the data transmission request sent by the user terminal is 5GB, and since 5GB is 5120MB, and assuming that the current total data volume transmitted by the server is also less than 9000MB, the data fragmentation strategy determined by the server for the data to be transmitted is: five 942MB third fragments and one 410MB third fragment. The server sends the data fragmentation strategy to the user terminal, and after receiving the data to be transmitted sent by the user terminal according to the data fragmentation strategy, it can pass the 5GB of data to be transmitted into the transmission fragment sub-queue of the fragmented data queue to perform the fragmented transmission operation. Figure 4 As shown, Figure 4 A schematic diagram of a partially fragmented data queue is shown, in which green represents the completed fragmented sub-queue, blue represents the transmitted fragmented sub-queue, and white represents the fragmented queue to be transmitted. The transmitted fragmented sub-queue contains 5 942M fragments and 1 410M fragment.

[0072] Next, if the user sends another data transmission request with a target data volume of 10GB, and since 10GB is 10240MB, the target data volume reaches 9000MB. Therefore, the server needs to determine the updated fragment data volume based on the current network performance parameter values. The server's predicted set of network performance parameter values ​​for the next unit of time is as follows: , , , = 130, 1, 100, 20; Furthermore, the server-side determined updated shard data volume as follows: S = max(5MB, 5GB) =768M; The server determines the data fragmentation strategy for the data to be transmitted as follows: nine 942MB first fragments, three 768MB second fragments, and one 226MB second fragment. The server sends the data fragmentation strategy to the user terminal. After receiving the data to be transmitted from the user terminal according to the data fragmentation strategy, the server can transfer 10GB of data to be transmitted into the transmission fragment sub-queue of the fragmented data queue to perform fragmented transmission operations. Figure 5 As shown, Figure 5 A schematic diagram of another partially fragmented data queue is shown, in which green represents a completed 5GB fragment subqueue, and blue represents a transmission fragment subqueue containing nine 942M first fragments, three 768M second fragments, and one 226M second fragment.

[0073] Optionally, after updating the fragmented data volume, the server can adjust the retransmission count and retransmission interval based on Formulas 5 and 6 above.

[0074] An exemplary embodiment of this disclosure provides a data transmission apparatus, which may be a chip of a server on the server side. Figure 6 A schematic block diagram of the functional modules of a data transmission apparatus according to an exemplary embodiment of the present disclosure is shown. Figure 6 As shown, the data transmission device 600 includes: The receiving module 601 is configured to receive a data transmission request sent by a user terminal, wherein the data transmission request includes the target total amount of data to be transmitted; The update module 602 is configured to determine the updated fragment data volume based on the current network performance parameter value if the target total data volume or the current total data volume being transmitted is greater than the current maximum network transmission capacity. The first determining module 603 is configured to determine the data fragmentation strategy of the data to be transmitted based on the total target data volume and the updated fragmented data volume. The sending module 604 is configured to send the data fragmentation strategy to the user terminal, wherein the user terminal is used to fragment the data to be transmitted based on the data fragmentation strategy.

[0075] Optionally, the update module 602 is configured as follows: Obtain target network performance parameter values ​​for multiple historical unit durations, and determine the transmission delay jitter within each historical unit duration based on the reception time of multiple historical data packets within each historical unit duration, thereby obtaining a set of historical network performance parameter values. The target network performance parameters include at least one of data packet transmission integrity and network delay, as well as network transmission capacity. The historical network performance parameter value set is input into the network performance prediction model to obtain the network performance parameter prediction value set for the next unit of time. Based on the predicted set of network performance parameters and the fragmented data volume evaluation model, the updated fragmented data volume is determined.

[0076] Optionally, the update module 602 is configured as follows: For each historical unit duration, based on the reception time of each historical data packet and the reception times of the two consecutive historical data packets preceding each historical data packet, the data packet transmission delay jitter associated with each historical data packet is determined, wherein the data packet transmission delay jitter is the difference between the reception times of each historical data packet and the two consecutive historical data packets preceding each historical data packet. Based on the packet transmission delay jitter associated with each historical packet and the average packet transmission delay jitter of the plurality of historical packets, the transmission delay jitter within a historical unit of time is determined.

[0077] Optionally, the target network performance parameters include the packet transmission integrity, the network latency, and the network transmission capacity. The update module 602 is configured as follows: The predicted values ​​of packet transmission integrity, network latency, network transmission capacity, and transmission latency jitter are input into the fragmented data volume evaluation model to obtain the updated fragmented data volume.

[0078] Optionally, the update module 602 is further configured to: The predicted values ​​for packet transmission integrity, network latency, and transmission latency jitter are input into the retransmission count evaluation model to obtain the updated retransmission count.

[0079] Optionally, the update module 602 is further configured to: The predicted values ​​of packet transmission integrity, network delay, and transmission delay jitter are input into the retransmission interval evaluation model to obtain the updated retransmission interval.

[0080] Optionally, the device further includes a second determining module 605, configured to: If the updated fragment data size is greater than the fragment data size threshold, then the minimum fragment data size is determined as the updated fragment data size.

[0081] Exemplary embodiments of this disclosure also provide an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to cause the electronic device to perform a method according to an embodiment of this disclosure.

[0082] Exemplary embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by a computer's processor, is used to cause the computer to perform a method according to embodiments of this disclosure.

[0083] like Figure 7 As shown, an exemplary embodiment of this disclosure also provides a computer program product 700, including a computer program 701, wherein the computer program, when executed by a computer's processor, is used to cause the computer to perform a method according to an embodiment of this disclosure.

[0084] refer to Figure 8 The present invention describes a structural block diagram of an electronic device 800 that can serve as a server or user terminal of this disclosure, which is an example of a hardware device that can be applied to various aspects of this disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the disclosure described and / or claimed herein.

[0085] like Figure 8 As shown, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. The RAM 803 may also store various programs and data required for the operation of the electronic device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0086] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, output unit 807, storage unit 808, and communication unit 809. Input unit 806 can be any type of device capable of inputting information to electronic device 800. Input unit 806 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device. Output unit 807 can be any type of device capable of presenting information and may include, but is not limited to, a display, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 808 may include, but is not limited to, disks and optical discs. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth™ devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0087] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above. For example, in some embodiments, the methods of the exemplary embodiments of this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 800 via ROM 802 and / or communication unit 809. In some embodiments, the computing unit 801 can be configured to perform the methods of the exemplary embodiments of this disclosure by any other suitable means (e.g., by means of firmware).

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

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

[0090] As used in this disclosure, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.

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

[0092] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0093] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this disclosure are performed entirely or partially. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a terminal, a user equipment, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another. For example, the computer program or instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc (DVD); or it can be a semiconductor medium, such as a solid-state drive (SSD).

[0094] Although this disclosure has been described in conjunction with specific features and embodiments, it will be apparent that various modifications and combinations can be made therein without departing from the spirit and scope of this disclosure. Accordingly, this specification and drawings are merely exemplary illustrations of the disclosure as defined by the appended claims and are to be considered as covering any and all modifications, variations, combinations, or equivalents within the scope of this disclosure. It is obvious that those skilled in the art can make various alterations and modifications to this disclosure without departing from its spirit and scope. Thus, this disclosure is also intended to include any such modifications and modifications that fall within the scope of the claims of this disclosure and their equivalents.

Claims

1. A data transmission method, characterized by, The method is applied to a server and comprises the following steps of: receiving a data transmission request sent by a user terminal, wherein the data transmission request contains a target data total amount of to-be-transmitted data; if the target data total amount or a current transmission data total amount is greater than a current maximum network transmission capacity, determining an updated data sharding amount based on a current network performance parameter value; determining a data sharding strategy of the to-be-transmitted data based on the target data total amount and the updated data sharding amount; sending the data sharding strategy to the user terminal, wherein the user terminal is configured to perform sharding transmission on the to-be-transmitted data based on the data sharding strategy.

2. The data transmission method of claim 1, wherein, The method further comprises the following steps of: obtaining a plurality of historical unit time target network performance parameter values, and determining a transmission delay jitter in each historical unit time based on the reception time of a plurality of historical data packets in each historical unit time, to obtain a historical network performance parameter value set, wherein the target network performance parameter comprises at least one of a data packet transmission integrity and a network delay, and a network transmission capacity; inputting the historical network performance parameter value set into a network performance prediction model to obtain a network performance parameter prediction value set of a next unit time; determining the updated data sharding amount based on the network performance parameter prediction value set and a data sharding amount evaluation model.

3. The data transmission method of claim 2, wherein, The method further comprises the following steps of: for each historical unit time, determining a data packet transmission delay jitter associated with each historical data packet based on the reception time of each historical data packet and the reception time of two continuous historical data packets before the each historical data packet, wherein the data packet transmission delay jitter is a difference between the reception time of the each historical data packet and the reception time of two adjacent historical data packets in the two continuous historical data packets before the each historical data packet; determining the transmission delay jitter in the historical unit time based on the data packet transmission delay jitter associated with each historical data packet and a data packet transmission delay jitter average of the plurality of historical data packets.

4. The data transmission method of claim 2, wherein, The target network performance parameter comprises the data packet transmission integrity, the network delay, and the network transmission capacity. The method further comprises the following steps of: inputting the data packet transmission integrity prediction value, the network delay prediction value, the network transmission capacity prediction value, and the transmission delay jitter prediction value into the data sharding amount evaluation model to obtain the updated data sharding amount.

5. The data transmission method of claim 4, wherein, The method further comprises the following steps of: inputting the data packet transmission integrity prediction value, the network delay prediction value, and the transmission delay jitter prediction value into a retransmission frequency evaluation model to obtain an updated retransmission frequency.

6. The data transmission method of claim 4, wherein, The method further comprises the following steps of: inputting the data packet transmission integrity prediction value, the network delay prediction value, and the transmission delay jitter prediction value into a retransmission interval evaluation model to obtain an updated retransmission interval.

7. The data transmission method of claim 1, wherein, Before determining the data sharding strategy of the data to be transmitted based on the target data total amount and the updated sharding data amount, the method further comprises: If the updated sharding data amount is greater than a sharding data amount threshold, determining the minimum sharding data amount as the updated sharding data amount.

8. An electronic device comprising a memory, a processor, and a computer program stored on the memory, wherein the computer program, when executed by the processor, is arranged to perform the method of any one of claims 1 to 7. The processor executes the computer program to implement the method of any one of claims 1 to 7.

9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the method of any one of claims 1 to 7.

10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the method of any one of claims 1 to 7. The computer program is executed by the processor to implement the method of any one of claims 1 to 7.