A dynamic file transmission optimization method and transmission system

By dynamically adjusted the size of the sub -file transmission in the file, based on real -time network performance indicators and the status of receiving the resource status, the transmission efficiency and reliability problems under the influence of network fluctuations in traditional technologies have been solved, and more efficient and reliable file transmission is achieved.

CN119155294BActive Publication Date: 2025-01-28BEIJING SHUTENG SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411630998.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-15
Publication Date
2025-01-28
Estimated Expiration
2044-11-15

AI Technical Summary

Technical Problem

When traditional file transfer technology faces network fluctuations, it is difficult to effectively adjust the size of sub-files, resulting in reduced transmission efficiency and frequent packet loss.

Method used

Establish a TCP connection with the same receiving end with multiple sending end to obtain the network performance indicators before and transmitted before each sub -file transmission, calculate the network impact factor and bandwidth competitive factors, and dynamically adjust the sub -file size of the sub -file transmitted next time Essence

Benefits of technology

It improves the efficiency and reliability of file transmission, reduces the risk of delay and packet loss, and effectively uses network bandwidth and receiving end resources to avoid waste of resources and network congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155294B_ABST
    Figure CN119155294B_ABST
Patent Text Reader

Abstract

The present application relates to the field of digital information transmission technology, and specifically to a dynamic file transmission optimization method and transmission system, the method comprising: when multiple sending ends establish TCP connections with the same receiving end at the same time, obtaining the network performance indicators of the sending end before the sub-file transmission and the network performance indicators of the receiving end after the transmission; analyzing all network performance indicators of the sending end before each sub-file transmission to obtain the network impact factor and determine the size of the sub-file transmitted by the sending end for the first time; analyzing the packet loss rate, bandwidth and buffer capacity of the receiving end after each sub-file transmission of the sending end to obtain the bandwidth competition factor and feedback adjustment factor; dynamically adjusting the size of the sub-file to be transmitted next time; the sending end transmits all adjusted sub-files until receiving a confirmation message and disconnecting the TCP connection. The present application aims to adjust the size of the transmitted sub-file according to the network performance of the sending end and the receiving end to optimize the transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of digital information transmission, and in particular to a dynamic file transmission optimization method and transmission system. Background Art

[0002] File transfer enables data to flow seamlessly between different devices and users, supporting information sharing, remote collaboration and data backup. It ensures data security, facilitates content distribution and system migration in daily work, and is also a key link in the automation and integration process of modern information systems. In order to cope with the increasing transmission needs, advanced technologies must be used to improve transmission efficiency and ensure that data can be transmitted quickly, safely and reliably in complex network environments.

[0003] In order to cope with the impact of network fluctuations on large file transmission, file slicing technology was introduced, which is to split large files into multiple sub-files. This method improves the stability and flexibility of transmission. However, traditional technology usually only adjusts the size of sub-files based on the network performance of the sender. When the network conditions on the sender are good, the slicing may be too large, and if the network capacity of the receiving end is insufficient, packet loss may occur, resulting in the need to retransmit the file, reducing the efficiency of file transmission. Summary of the invention

[0004] In view of the above, it is necessary to provide a dynamic file transmission optimization method and transmission system to solve the above problems.

[0005] A first aspect of the present application provides a dynamic file transmission optimization method, the method comprising:

[0006] Multiple sending ends simultaneously establish TCP connections with the same receiving end, and obtain a first network performance indicator of each sending end before each sub-file transmission, and a second network performance indicator of the receiving end after each sub-file transmission; wherein the second network performance indicator at least includes bandwidth, packet loss rate and buffer capacity;

[0007] According to all network performance indicators before each sub-file transmission of each sending end, the network impact factor before each sub-file transmission of each sending end is obtained; according to the packet loss rate and bandwidth of the receiving end after each sub-file transmission of each sending end, the bandwidth competition factor after each sub-file transmission of each sending end is obtained;

[0008] According to the buffer capacity of the receiving end after each sub-file transmission of each sending end and the bandwidth competition factor, combined with the network impact factor, the sub-file size of each sending end for the next transmission is dynamically adjusted and transmitted until a confirmation message is received and the TCP connection is disconnected.

[0009] Among them, the first network performance indicators include: bandwidth, delay, jitter and packet loss rate.

[0010] The network impact factor of each sending end before each sub-file transmission is obtained, specifically:

[0011] Obtain the negative mapping values ​​after merging the delay, jitter, and packet loss rate of each sending end before each sub-file transmission in turn, merge the bandwidth of each sending end before each sub-file transmission and the negative mapping value, and obtain the network impact factor of each sending end before each sub-file transmission.

[0012] The bandwidth contention factor obtained after each sub-file transmission of each sending end is specifically:

[0013] The ratio of the packet loss rate of the receiving end after each sub-file transmission of each sending end to the packet loss rate of the receiving end after the same transmission of all sending ends is calculated; the ratio is combined with the bandwidth of the receiving end after the same transmission to obtain the bandwidth competition factor of each sending end after each sub-file transmission.

[0014] The specific process of dynamically adjusting the size of the sub-files to be transmitted next time by each sending end is as follows:

[0015] Obtaining a feedback adjustment factor of the receiving end after each sub-file transmission of each sending end according to the buffer capacity of the receiving end after each sub-file transmission of each sending end and the bandwidth competition factor;

[0016] Determine the size of the sub-file transmitted for the first time by each sending end based on the network impact factor before the first sub-file transmission of each sending end;

[0017] According to the size of the sub-file transmitted by each sending end for the nth time, combined with the bandwidth impact factor after transmission and the feedback adjustment factor, the size of the sub-file transmitted by each sending end for the n+1th time is obtained:

[0018] ;in, , is the size of the sub-file transmitted by the i-th sender for the nth and n+1th times, is the network impact factor of the i-th sender before the n-th sub-file transmission, is the feedback adjustment factor of the receiver after receiving the nth sub-file from the ith sender. Indicates a preset cutoff value greater than zero.

[0019] The feedback adjustment factor of the receiving end after each sub-file transmission of each sending end is obtained, specifically:

[0020] The feedback adjustment factor of the receiving end after the jth sub-file transmission of the i-th sender is recorded as , its formula form is: ; Among them, norm[] represents the normalization function; exp() represents the exponential function with the natural constant e as the base, represents the available buffer capacity of the receiving end after the jth sub-file transmission of the i-th sender, represents the delay-bandwidth product of the receiving end after the jth sub-file transmission of the i-th sender, It represents the bandwidth contention factor after the jth sub-file transmission of the i-th sender.

[0021] The formula for determining the size of the subfile transmitted by each sending end for the first time is: the size of the subfile transmitted by the i-th sending end for the first time is recorded as , its formula form is: ;in, Indicates the preset sub-file size. represents the network impact factor before the first sub-file transmission of the i-th sender, A preset value greater than zero.

[0022] The dynamically adjusting the size of the sub-file to be transmitted next time also includes:

[0023] When the size of the transmitted sub-file is greater than a first preset value, the size of the transmitted sub-file is set to the first preset value; when the size of the transmitted sub-file is less than a second preset value, the size of the transmitted sub-file is set to the second preset value; otherwise, the size of the transmitted sub-file remains unchanged; wherein the first preset value is greater than the second preset value.

[0024] The process of receiving the confirmation message includes:

[0025] After all sub-files of each sending end are sent, the receiving end uses a checksum algorithm to reassemble all sub-files transmitted by each sending end into the original file and verifies the data integrity, and then sends a confirmation message to the corresponding sending end.

[0026] In a second aspect, an embodiment of the present application further provides a dynamic file transfer system, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor implements the steps of any one of the above methods when executing the computer program.

[0027] In the above scheme, it is considered that multiple senders establish TCP connections with the same receiver at the same time, obtain the network performance indicators of the sender before each sub-file transmission, provide a data analysis basis for the network performance of the sender each time the file is transmitted, obtain the network performance indicators of the receiver after each sub-file transmission, and prepare data for the subsequent sender to dynamically adjust the size of the sub-file to be transmitted; according to all network performance indicators of each sender before each sub-file transmission, the network impact factor of each sender before each sub-file transmission is obtained, which has the beneficial effect that the file is sliced ​​in a way that adapts to the network capacity of the sender, thereby improving the sub-file transmission efficiency and reducing the risk of delay and packet loss; according to the packet loss rate and bandwidth of the receiver after each sub-file transmission of each sender , the bandwidth competition factor of each sending end after each sub-file transmission is obtained, and its beneficial effect is to adjust the transmission strategy of each sending end according to the bandwidth competition factor, so as to effectively utilize bandwidth resources and reduce network congestion; further combined with the buffer capacity of the receiving end after each sub-file transmission of each sending end, the size of the sub-file transmitted by each sending end next time is dynamically adjusted, which is helpful to adjust the transmission strategy according to the feedback of the receiving end in the future, so that data transmission is more stable, fluctuations and delays are reduced, and network bandwidth and receiving end resources are effectively utilized to avoid resource waste and network congestion; and it helps file transmission to be more adapted to the current network performance and receiving capacity of the receiving end, reduces packet loss during file transmission, and makes file transmission more reliable and efficient. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 A flowchart of a method for optimizing dynamic file transfer provided by an embodiment of the present application;

[0029] Figure 2 A flowchart for dynamically adjusting the size of sub-files to be transmitted next by each sending end is provided as an embodiment of the present application. DETAILED DESCRIPTION

[0030] In the description of the embodiments of the present application, words such as "exemplary", "or", "for example" and the like are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary", "or", "for example" and the like is intended to present related concepts in a concrete manner.

[0031] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art in the present application. The terms used in the specification of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application.

[0032] It should also be noted that the terms "first" and "second" in this application and the accompanying drawings are used to distinguish similar objects, rather than to describe a specific order or sequence. The method disclosed in the embodiments of the present application or the method shown in the flow chart includes one or more steps for implementing the method. Without departing from the scope of protection of the present application, the execution order of multiple steps can be interchanged with each other, and some steps can also be deleted.

[0033] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs.

[0034] The following is a detailed description of a dynamic file transfer optimization method and a specific solution of a transfer system provided by the present application in conjunction with the accompanying drawings.

[0035] See also Figure 1 , which shows a flowchart of a method for optimizing dynamic file transmission provided by an embodiment of the present application, the method comprising the following steps:

[0036] The first step: multiple senders simultaneously establish TCP connections with the same receiving end, obtain the first network performance indicator of each sender before each sub-file transmission, and the second network performance indicator of the receiving end after each sub-file transmission; wherein the second network performance indicator includes at least bandwidth, packet loss rate and buffer capacity.

[0037] This application considers the process of multiple senders transmitting files to a receiving end at the same time. When the sender transmits a large file to the receiving end, it first needs to establish a Transmission Control Protocol (TCP) connection. The sender uses a network performance test tool to measure bandwidth, delay, jitter, and packet loss rate, so as to understand the network conditions before file transmission, reasonably split the large file, obtain a sub-file, and then calculate the checksum of the sub-file, and finally transmit the sub-file to the receiving end; after receiving a sub-file, the receiving end uses the network performance test tool to measure the bandwidth, packet loss rate, delay-bandwidth product, and buffer capacity of the receiving end after the sub-file transmission.

[0038] It should be noted that establishing a TCP connection is a well-known technology, and the specific process will not be repeated; the various network performance indicators obtained are processed using the min-max normalization method to avoid the impact of the dimension; the implementer may choose other methods to eliminate the dimension, and this application does not limit this. It should be noted that the various network performance indicators mentioned later are all normalized data.

[0039] The second step: based on all network performance indicators before each sub-file transmission of each sending end, obtain the network impact factor before each sub-file transmission of each sending end; based on the packet loss rate and bandwidth of the receiving end after each sub-file transmission of each sending end, obtain the bandwidth competition factor after each sub-file transmission of each sending end.

[0040] The purpose of this application is to enable the receiver to provide feedback to the sender after receiving the sub-file, and the sender adjusts the size of the next sub-file based on the feedback to adapt to the complex network environment, thereby achieving more efficient and reliable file transmission and reducing the packet loss rate.

[0041] Complex network conditions have a significant impact on file transfer. Bandwidth determines file transfer efficiency. The higher the bandwidth, the larger the amount of files transferred per unit time. Latency determines the time delay from the sender to the receiver. The higher the latency, the longer the file transfer time. Packet loss can cause file transfer failures and require retransmission, which increases the overall transfer time. Jitter refers to the degree of latency fluctuation. High jitter can cause the order in which files arrive at the receiver to be disrupted. Therefore, the size of the file slice can be dynamically determined based on the changes in these network performance indicators.

[0042] The size of the sub-file slices has a significant impact on the transmission process. Larger slices can improve transmission efficiency and effectively reduce the management and protocol overhead of each slice, which helps to use bandwidth more efficiently, thereby increasing the overall transmission rate. However, larger slices are prone to packet loss and longer retransmission time when network conditions are poor. Although smaller slices have lower processing and transmission overhead for each slice, they will result in more slices in total, thereby increasing the total management and control overhead and possibly reducing overall transmission efficiency. Therefore, in a network environment with high bandwidth, low latency, and low packet loss rate, larger slices can be used to improve transmission efficiency; in an unstable network environment, smaller slices can be used to reduce retransmissions and improve transmission reliability.

[0043] Based on this, firstly, according to all network performance indicators before each sub-file transmission of each sender, the network impact factor before each sub-file transmission of the sender is obtained, reflecting the potential impact of the current network conditions on the sub-file transmission:

[0044] Obtain the negative mapping values ​​after merging the delay, jitter, and packet loss rate of each sending end before each sub-file transmission in turn, merge the bandwidth of each sending end before each sub-file transmission and the negative mapping value, and obtain the network impact factor of each sending end before each sub-file transmission.

[0045] In this embodiment, the network impact factor before the jth sub-file transmission of the i-th sending end is recorded as , its formula form is: ,in, represents the bandwidth of the i-th sender before the j-th sub-file transmission; represents the delay before the jth sub-file transmission at the i-th sender; represents the jitter before the jth sub-file transmission of the i-th sender; represents the packet loss rate before the jth sub-file transmission of the ith sender; norm[] represents the normalization function, specifically the sigmoid function, which can be adjusted by the implementer and is not limited in this application.

[0046] It should be understood that the network impact factor considers the impact of network performance on the transmission of sub-files of different sizes from the perspective of the sender. The larger the bandwidth, the smaller the delay, jitter and packet loss rate, and the larger the network impact factor, the better the network performance, which can support larger sub-file transmissions and reduce the management overhead of the entire file transmission process.

[0047] Furthermore, after establishing a TCP connection, the receiving end successfully receives the sub-file and temporarily stores it in a buffer. After receiving all the sub-files transmitted by the sending end, it reassembles them into the original file. Each time the receiving end successfully receives a sub-file, it needs to provide feedback to the sending end to help the sending end adjust the size of the next sub-file to be transmitted.

[0048] Since the receiving end can receive sub-files transmitted by multiple senders at the same time, and the bandwidth of the receiving end is limited, when there are multiple TCP connections at the receiving end, there will be competition between the senders. The receiving end needs to allocate bandwidth according to the transmission efficiency of each sender to achieve more reasonable file transmission.

[0049] Due to network fluctuations, there may be packet loss during the transmission of sub-files from the sender to the receiver. The packet loss rate is the most important network performance indicator. The higher the packet loss rate of the sender, the greater the network fluctuation. At this time, the receiver should reduce the bandwidth occupied by the sender and give priority to the sender with good network performance for sub-file transmission.

[0050] Based on this, according to the packet loss rate and bandwidth of the receiving end after each sub-file transmission of each sending end, the bandwidth competition factor after each sub-file transmission of each sending end is obtained:

[0051] The ratio of the packet loss rate of the receiving end after each sub-file transmission of each sending end to the packet loss rate of the receiving end after the same transmission of all sending ends is calculated; the ratio is combined with the bandwidth of the receiving end after the same transmission to obtain the bandwidth competition factor of each sending end after each sub-file transmission.

[0052] In this embodiment, the bandwidth contention factor after the jth sub-file transmission of the i-th sender is recorded as , its formula form is: , where norm[] represents the normalization function, represents the packet loss rate after the jth sub-file transmission of the i-th sender, represents the bandwidth after the jth sub-file is received by the receiving end, N represents the number of sending ends, represents the packet loss rate after the jth sub-file transmission at the ath sender, Indicates that the preset parameter factor is greater than zero, and the value is 1.

[0053] It should be understood that the bandwidth contention factor considers the network performance of each sender connected to it from the perspective of the receiver. The higher the packet loss rate of the sender, which means that there is a certain degree of congestion or transmission problem in the network, the smaller the corresponding bandwidth contention factor.

[0054] The third step: according to the buffer capacity of the receiving end after each sub-file transmission of each sending end and the bandwidth competition factor, combined with the network impact factor, the sub-file size of each sending end for the next transmission is dynamically adjusted and transmitted until a confirmation message is received and the TCP connection is disconnected.

[0055] After the receiving end successfully receives a sub-file transmitted by the sending end, it needs to temporarily store the sub-file in the buffer. The buffer can balance the transmission rate of the sending end and the processing capacity of the receiving end. When the processing speed of the receiving end cannot keep up with the transmission speed of the sending end, the buffer can temporarily store the influx of data to avoid data loss due to untimely processing. It can also smooth the impact of network fluctuations when the network condition is unstable and maintain the continuity and stability of transmission.

[0056] When the receiving end receives multiple sub-files transmitted by the sending end, the buffer utilization must be considered. When the receiving end's buffer is insufficient, if the sending end continues to transmit larger sub-files, the receiving end may not be able to process the data in these sub-files in time, resulting in data loss. At this time, even if the sending end has good network performance, it is necessary to reduce the size of the sub-files to avoid file transfer failure.

[0057] Based on this, according to the buffer capacity of the receiving end after each sub-file transmission of each sending end and the bandwidth contention factor, the feedback adjustment factor of the receiving end after each sub-file transmission of each sending end is obtained. This feedback mechanism can help the sending end adjust the size of the next sub-file according to the real-time status of the receiving end, thereby optimizing transmission efficiency and avoiding network congestion.

[0058] In this embodiment, the feedback adjustment factor of the receiving end after the jth sub-file transmission of the i-th sending end is recorded as , its formula form is: ; Wherein, norm[] represents a normalization function, and this embodiment adopts a sigmoid function; exp() represents an exponential function with the natural constant e as the base, represents the available buffer capacity of the receiving end after the jth sub-file transmission of the i-th sender, represents the delay-bandwidth product of the receiving end after the jth sub-file transmission of the i-th sender, It represents the bandwidth contention factor after the jth sub-file transmission of the i-th sender.

[0059] It should be understood that the larger the buffer of the receiving end, the larger the amount of data that can be processed, which allows the receiving end to receive higher data traffic. When the buffer of the receiving end is large enough, the data packet loss caused by buffer overflow can be reduced. The sending end will adjust the data transmission rate and window size according to the feedback from the receiving end to optimize the data transmission efficiency. Similarly, the larger the bandwidth contention factor after the sending sub-file is transmitted, it indicates that the network conditions of the sending end are good, and it can try to send a larger sub-file in the next transmission to improve the throughput.

[0060] The delay-bandwidth product of the receiving end indicates the ability of the receiving end link to accommodate data. The larger its value, the larger the amount of data transmitted per unit time. If the delay-bandwidth product is greater than the buffer capacity of the receiving end, it means that the receiving end has insufficient receiving capacity. The larger the difference, the smaller the feedback adjustment factor, and the smaller the sub-file to be transmitted next time. Otherwise, the receiving end may have a buffer overflow, resulting in data packet loss. On the contrary, if the delay-bandwidth product is less than the buffer capacity of the receiving end, it means that the file receiver can receive larger file fragments. The larger the difference, the larger the feedback adjustment factor, and the larger the sub-file to be transmitted next time. Otherwise, the bandwidth potential of the link cannot be fully utilized, which may lead to low transmission efficiency.

[0061] First, it is necessary to determine the size of the sub-file to be sent for the first time, and adjust the size of the sub-file to be transmitted for the next time according to the data fed back by the receiving end. Based on the network impact factor before the first sub-file transmission of each sending end, the size of the sub-file to be transmitted for the first time by each sending end is determined:

[0062] In this embodiment, the size of the sub-file when the i-th sender transmits for the first time is recorded as , its formula form is: ;in, Indicates the preset sub-file size, the value is 10MB. represents the network impact factor before the first sub-file transmission of the i-th sender, Indicates that a preset value greater than zero is set, and the value is 2. It should be noted that the size of the preset sub-file and the set value can be set by the implementer according to the actual situation.

[0063] After the sending end successfully transmits the first sub-file, the size of the sub-file to be transmitted next time is dynamically adjusted according to the network impact factor and the feedback adjustment factor. The adjustment method is: ;in, , is the size of the sub-file transmitted by the i-th sender for the nth and n+1th times, is the network impact factor of the i-th sender before the n-th sub-file transmission, is the feedback adjustment factor of the receiver after receiving the nth sub-file from the ith sender. It indicates a preset dividing value greater than zero, which is artificially set to 0.5. The implementer can determine it based on the actual situation.

[0064] It should be noted that in order to ensure the reliability of sub-file transmission, when the adjusted sub-file size is greater than the first preset value, the adjusted sub-file size is set to the first preset value; when the adjusted sub-file size is less than the second preset value, the adjusted sub-file size is set to the second preset value; otherwise, the adjusted sub-file size remains unchanged; the first preset value is greater than the second preset value; the first preset value is 20MB, and the second preset value is 1MB; implementers can make adjustments according to actual conditions.

[0065] Among them, the flowchart of dynamically adjusting the size of the sub-files to be transmitted next time by each sending end is as follows: Figure 2 shown.

[0066] It should be understood that since the network performance of the sender and the receiving capacity of the receiver may not necessarily match, for example, the network performance of the file sender is good and can support larger sub-files, while the receiving end is under heavy load and has low receiving capacity, a sub-file that is too large is prone to packet loss. Therefore, the network impact factor before each sub-file transmission and the feedback adjustment factor after the transmission of each sender are used as the basis for adjusting the size of the next sub-file; the larger the network impact factor and the feedback adjustment factor, the larger the size of the next sub-file.

[0067] After all sub-files from each sender are sent, the receiver uses a checksum algorithm to reassemble all sub-files transmitted by each sender into the original file and verify the data integrity, then sends a confirmation message to the sender. After the file transmission of each sender is completed, the TCP connection between it and the receiver is disconnected.

[0068] The verification code algorithm used in this embodiment is the MD5 algorithm; implementers may select other verification code algorithms according to actual conditions.

[0069] Based on the same inventive concept as the above method, an embodiment of the present application also provides a dynamic file transfer system, including a memory, a processor, and a computer program stored in the memory and running on the processor, and when the processor executes the computer program, the steps of any one of the above-mentioned dynamic file transfer optimization methods are implemented.

[0070] In summary, the embodiment of the present application considers that multiple senders establish TCP connections with the same receiving end at the same time, obtains the network performance indicators of the sender before each sub-file transmission, provides a data analysis basis for the network performance of the sender each time the file is transmitted, obtains the network performance indicators of the receiving end after each sub-file transmission, and prepares data for the subsequent sender to dynamically adjust the size of the sub-file to be transmitted; based on all network performance indicators of each sender before each sub-file transmission, the network impact factor of each sender before each sub-file transmission is obtained, which has the beneficial effect that the file is sliced ​​in a manner that adapts to the network capability of the sender, thereby improving the sub-file transmission efficiency and reducing the risk of delay and packet loss; based on the packet loss rate of the receiving end after each sub-file transmission of each sender, the network impact factor of each sender before each sub-file transmission is obtained. and bandwidth, and obtain the bandwidth competition factor of each sending end after each sub-file transmission. The beneficial effect is that the transmission strategy of each sending end is adjusted according to the bandwidth competition factor, so as to effectively utilize bandwidth resources and reduce network congestion; further combined with the buffer capacity of the receiving end after each sub-file transmission of each sending end, the size of the sub-file transmitted by each sending end next time is dynamically adjusted, which is helpful to adjust the transmission strategy according to the feedback of the receiving end in the future, so that data transmission is more stable, fluctuations and delays are reduced, and network bandwidth and receiving end resources are effectively utilized to avoid resource waste and network congestion; and it helps file transmission to be more adapted to the current network performance and receiving capacity of the receiving end, reduces packet loss during file transmission, and makes file transmission more reliable and efficient.

[0071] The flowchart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to the embodiment of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two continuous boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. In the description corresponding to the flowchart and the block diagram in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in a different order from the order disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two continuous operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or may be implemented by a combination of dedicated hardware and computer instructions.

[0072] For those skilled in the art, it is obvious that the present application is not limited to the details of the above exemplary embodiments, and the present application can be implemented in other specific forms without departing from the basic features of the present application. Therefore, no matter from which point of view, the above embodiments of the present application should be regarded as exemplary and non-restrictive; the technical solutions recorded in the above embodiments are modified, or some of the technical features are replaced by equivalents, which does not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A dynamic file transfer optimization method, characterized in that: The method comprises the following steps: Multiple sending ends simultaneously establish TCP connections with the same receiving end, and obtain a first network performance indicator of each sending end before each sub-file transmission, and a second network performance indicator of the receiving end after each sub-file transmission; wherein the second network performance indicator at least includes bandwidth, packet loss rate and buffer capacity; According to all network performance indicators before each sub-file transmission of each sending end, the network impact factor before each sub-file transmission of each sending end is obtained; according to the packet loss rate and bandwidth of the receiving end after each sub-file transmission of each sending end, the bandwidth competition factor after each sub-file transmission of each sending end is obtained; According to the buffer capacity of the receiving end after each sub-file transmission of each sending end and the bandwidth competition factor, combined with the network impact factor, the size of the sub-file to be transmitted next time by each sending end is dynamically adjusted and transmitted until a confirmation message is received and the TCP connection is disconnected; The specific process of dynamically adjusting the size of the sub-files to be transmitted next time by each sending end is as follows: Obtaining a feedback adjustment factor of the receiving end after each sub-file transmission of each sending end according to the buffer capacity of the receiving end after each sub-file transmission of each sending end and the bandwidth competition factor; Determine the size of the sub-file transmitted for the first time by each sending end based on the network impact factor before the first sub-file transmission of each sending end; According to the size of the sub-file transmitted by each sending end for the nth time, combined with the network impact factor after transmission and the feedback adjustment factor, the size of the sub-file transmitted by each sending end for the n+1th time is obtained: ;in, , is the size of the sub-file transmitted by the i-th sender for the nth and n+1th times, is the network impact factor of the i-th sender before the n-th sub-file transmission, is the feedback adjustment factor of the receiver after receiving the nth sub-file from the ith sender. Indicates a preset cutoff value greater than zero.

2. A dynamic file transfer optimization method as claimed in claim 1, characterized in that: The first network performance indicators include: bandwidth, delay, jitter and packet loss rate.

3. A dynamic file transfer optimization method as claimed in claim 2, characterized in that: The network impact factor of each sending end before each sub-file transmission is obtained as follows: Obtain the negative mapping values ​​after merging the delay, jitter, and packet loss rate of each sending end before each sub-file transmission in turn, merge the bandwidth of each sending end before each sub-file transmission and the negative mapping value, and obtain the network impact factor of each sending end before each sub-file transmission.

4. A dynamic file transfer optimization method as claimed in claim 1, characterized in that: The bandwidth contention factor obtained after each sub-file transmission of each sending end is specifically: The ratio of the packet loss rate of the receiving end after each sub-file transmission of each sending end to the packet loss rate of the receiving end after the same transmission of all sending ends is calculated; the ratio is combined with the bandwidth of the receiving end after the same transmission to obtain the bandwidth competition factor of each sending end after each sub-file transmission.

5. A dynamic file transfer optimization method as claimed in claim 1, characterized in that: The feedback adjustment factor of the receiving end after each sub-file transmission of each sending end is obtained as follows: the feedback adjustment factor of the receiving end after the j-th sub-file transmission of the i-th sending end is recorded as , its formula form is: ; Among them, norm[] represents the normalization function; exp() represents the exponential function with the natural constant e as the base, represents the available buffer capacity of the receiving end after the jth sub-file transmission of the i-th sender, represents the delay-bandwidth product of the receiving end after the jth sub-file transmission of the i-th sender, It represents the bandwidth contention factor after the jth sub-file transmission of the i-th sender.

6. A dynamic file transfer optimization method as claimed in claim 1, characterized in that: The formula for determining the size of the subfile transmitted by each sender for the first time is: The size of the subfile when the i-th sender transmits for the first time is recorded as , its formula form is: ;in, Indicates the preset sub-file size. represents the network impact factor before the first sub-file transmission of the i-th sender, A preset value greater than zero.

7. A dynamic file transfer optimization method as claimed in claim 1, characterized in that: Dynamically adjust the size of the sub-file for the next transfer, including: When the size of the transmitted sub-file is greater than a first preset value, the size of the transmitted sub-file is set to the first preset value; when the size of the transmitted sub-file is less than a second preset value, the size of the transmitted sub-file is set to the second preset value; otherwise, the size of the transmitted sub-file remains unchanged; wherein the first preset value is greater than the second preset value.

8. A dynamic file transfer optimization method as claimed in claim 1, characterized in that: The process of receiving the confirmation message includes: After all sub-files of each sending end are sent, the receiving end uses a checksum algorithm to reassemble all sub-files transmitted by each sending end into the original file and verifies the data integrity, and then sends a confirmation message to the corresponding sending end.

9. A dynamic file transfer system, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • File transmission method and system, computer readable storage medium and equipment

    CN112532536A

  • BBRv2 congestion control algorithm under deep buffer

    CN114915600A