Method and system for increasing transmission speed of USB (Universal Serial Bus) equipment based on Linux system
By dynamically optimizing the packet size of USB devices in Linux systems, the transmission speed problem caused by inadequate data size in batch data transmission of USB devices is solved, and more efficient data transmission is achieved, especially in high-load scenarios, significantly shortening the transmission time and ensuring system stability.
Patent Information
- Application Number
- CN202510085158.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-20
- Publication Date
- 2025-04-29
AI Technical Summary
In the prior art, USB devices are affected by the packet size in batch data transmission due to inadequate data size, and the fixed packet size cannot adapt to changes in the transmission environment in real time. The adjustment strategy based on experience value cannot fully consider multidimensional factors, resulting in low transmission efficiency.
Provide a method and system for improving the transmission speed of USB devices based on Linux system. The current transmission rate and the amount of data to be transmitted are obtained through the initial module, the module dynamically optimizes the data packet size, adapts to the module for transmission testing and adjustment, and the transmission module uses the actual data packet size for data transmission.
By dynamically adjusting the packet size, we minimize handshake and protocol overhead, and improve the overall efficiency of USB devices in batch data transmission, especially in high load and large data transmission scenarios, and ensure that the packet size is within the device support range, improving system stability.
Smart Images

Figure CN119906682A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of network communication, and in particular to a method and system for improving the transmission speed of a USB device based on a Linux system. Background Art
[0002] With the widespread application of Universal Serial Bus (USB) devices, their performance in data transmission speed and efficiency has attracted more and more attention, especially in scenarios where frequent and large-volume data transmission is required.
[0003] In the related art, there is often a problem that the USB device batch transmission speed is affected due to the incompatibility of the data packet size. Therefore, how to reasonably adjust the data packet size to increase the USB device batch transmission speed has become a problem that needs to be solved. Summary of the invention
[0004] In view of this, the present disclosure provides a method and system for improving the transmission speed of USB devices based on a Linux system to solve the problem of how to reasonably adjust the data packet size to improve the speed of USB device batch transmission.
[0005] On one hand, the present disclosure provides a method for improving the transmission speed of a USB device based on a Linux system, which is applied to a USB transmission system. The USB transmission system includes: an initial module, an adjustment module, an adaptation module and a transmission module. The method includes: an initial module, which obtains a current transmission rate and a data volume to be transmitted of a USB device that has data interaction with the Linux system; an adjustment module, which determines an initial data packet size of the USB device based on the current transmission rate and the data volume to be transmitted, dynamically optimizes the initial data packet size, and determines a target data packet size; an adaptation module, which performs a transmission test on the target data packet size, determines an adjusted actual data packet size based on a result of the transmission test, and configures a USB controller in the Linux system to adapt the USB controller to the actual data packet size; and a transmission module, which uses the actual data packet size for data transmission.
[0006] On the other hand, the present disclosure further provides a USB transmission system, which includes an initial module, an adjustment module, an adaptation module and a transmission module, wherein: the initial module is used to obtain the current transmission rate and the amount of data to be transmitted of the USB device that has data interaction with the Linux system; the adjustment module is used to determine the initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, dynamically optimize the initial data packet size, and determine the target data packet size; the adaptation module is used to perform a transmission test on the target data packet size, determine the adjusted actual data packet size based on the result of the transmission test, configure the USB controller in the Linux system, and make the USB controller adapt to the actual data packet size; the transmission module is used to use the actual data packet size for data transmission.
[0007] On the other hand, the present disclosure further provides a computer-readable storage medium, on which computer instructions are stored, and the computer instructions are used to enable a computer to implement the above-mentioned method for improving the transmission speed of a USB device based on a Linux system.
[0008] On the other hand, the present disclosure further provides a computer program product, including computer instructions, which are used to enable a computer to execute the above-mentioned method for improving the transmission speed of a USB device based on a Linux system.
[0009] Through the above-mentioned embodiment of the present disclosure, the method and system for improving the transmission speed of USB devices based on the Linux system can dynamically adjust the size of the data packet to adapt to different transmission rates and data volumes, thereby minimizing the handshake and protocol overhead and improving the overall efficiency of USB devices in bulk data transmission. In particular, in high-load and large-data volume transmission scenarios, the transmission time can be significantly shortened.
[0010] In addition, in the process of adjusting the data packet size, by combining the specification information and standard documents of the USB device, the data packet size is ensured to be within the device support range, avoiding transmission failure or system abnormality caused by out-of-range configuration. At the same time, the USB controller of the Linux system is adapted so that it can stably handle the adjusted data packet size, thereby improving the stability of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0012] Figure 1aAn exemplary schematic diagram showing the architecture of a USB transmission system applied to a method for improving USB device transmission speed based on a Linux system according to an embodiment of the present disclosure;
[0013] Figure 1b It is a flowchart of a method for improving the transmission speed of a USB device based on a Linux system provided by an embodiment of the present disclosure;
[0014] Figure 2 An exemplary schematic diagram showing the architecture of another USB transmission system applied to a method for improving the transmission speed of a USB device based on a Linux system according to an embodiment of the present disclosure;
[0015] Figure 3 is a structural schematic diagram of another USB transmission system provided by an embodiment of the present disclosure;
[0016] Figure 4 It is a structural diagram of another USB transmission system provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0017] As the demand for data transmission continues to increase, USB, as a widely used high-speed transmission interface, plays an important role in consumer electronics, industrial control, and big data processing. Especially in Linux systems, USB devices are important peripheral interaction tools, and their data transmission performance directly affects the overall efficiency of the system. However, due to the complexity of the USB transmission protocol and the diversity of different transmission environments, optimizing USB bulk transmission efficiency has always been a research focus and difficulty in the field of technology.
[0018] Currently, in the related technologies, USB bulk transfer optimization methods usually adopt a fixed data packet size or an adjustment strategy based on experience values. Such methods often have the following problems:
[0019] 1. The fixed data packet size cannot adapt to changes in the transmission environment in real time, resulting in poor dynamic adaptation capabilities;
[0020] 2. The adjustment strategy based on experience cannot fully consider multi-dimensional factors such as transmission rate, data volume and device specifications, which may lead to low efficiency of batch transmission;
[0021] 3. Unoptimized packet transmission may lead to frequent interruptions and handshake operations, increase system resource overhead, affect the operation of other tasks, and further affect transmission efficiency.
[0022] To solve the above problems, various embodiments of the present invention provide a method for improving the transmission speed of a USB device based on a Linux system, which is applied to a USB transmission system. The USB transmission system includes: an initial module, an adjustment module, an adaptation module and a transmission module. The method includes: an initial module, which obtains the current transmission rate and the amount of data to be transmitted of a USB device that has data interaction with the Linux system; an adjustment module, which determines the initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, dynamically optimizes the initial data packet size, and determines the target data packet size; an adaptation module, which performs a transmission test on the target data packet size, determines the adjusted actual data packet size based on the result of the transmission test, and configures a USB controller in the Linux system to make the USB controller adapt to the actual data packet size; and a transmission module, which uses the actual data packet size for data transmission.
[0023] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0024] Please refer to Figure 1a , Figure 1a An exemplary schematic diagram of the architecture of a USB transmission system used in a method for improving the transmission speed of a USB device based on a Linux system according to an embodiment of the present disclosure is shown. Figure 1a As shown, the USB transmission system may include: an initial module, an adjustment module, an adaptation module and a transmission module.
[0025] like Figure 1a As shown, the USB transmission system may be an overall architecture for efficient data interaction between a USB device and a host, wherein the host may refer to a computer running a Linux system.
[0026] Specifically, the initial module in the USB transmission system can be used to initialize the USB transmission system and obtain the basic parameters and dynamic information required for transmission; the adjustment module can be used to calculate and optimize the initial data packet size to determine the target data packet size; the adaptation module can be used to test and optimize the target data packet size and adjust the system configuration to adapt to the actual transmission requirements of the USB device; the transmission module can be the execution module of the USB transmission system, which is used to use the optimized data packet size for data transmission.
[0027] In a possible implementation, the USB device can be pre-set according to the actual application scenario or the experience of those skilled in the art, and can be a device in the existing technology or future technology, which is not limited in the present disclosure. For example, it can be a USB 3.0 mobile hard disk.
[0028] Further references Figure 1b , Figure 1b This is a flow chart of a method for improving the transmission speed of a USB device based on a Linux system provided by an embodiment of the present disclosure, which is applied to the above Figure 1a The USB transmission system shown in the figure, the process of the method may include the following steps:
[0029] Step S101, an initial module, obtains the current transmission rate and the amount of data to be transmitted of a USB device that has data interaction with the Linux system.
[0030] In this embodiment, the initial module uses the Application Programming Interface (API) or system call provided by the Linux system kernel to obtain the current transmission rate and the amount of data to be transmitted.
[0031] Specifically, the initial module uses the API or system call provided by the Linux system kernel to obtain the attribute information provided by the USB device to the Linux system when registering, and parses the attribute information to determine the current transmission rate R and the amount of data to be transmitted D; wherein the amount of data to be transmitted D may refer to the total amount of data transmitted this time.
[0032] Step S102: the adjustment module determines the initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, dynamically optimizes the initial data packet size, and determines the target data packet size.
[0033] In this embodiment, the initial data packet size may refer to the size of the default transmission data packet allocated to the USB device at the beginning of data transmission; the target data packet size may be the final data packet size after dynamic optimization, which can be used to characterize the optimal data packet size corresponding to maximizing transmission efficiency.
[0034] In a possible implementation, the adjustment module determines an initial data packet size I of the USB device based on a current transmission rate R and an amount of data to be transmitted D;
[0035] The adjustment module dynamically optimizes the initial data packet size I, and may include: an adjustment module that obtains real-time data and transmission status of the USB device, evaluates the transmission performance of the USB device, and calculates the data packet size that needs to be adjusted based on the evaluation result to determine the target data packet size S.
[0036] Specifically, if the transmission rate is high and the data volume is large, a larger data packet can effectively reduce the number of data packets, thereby reducing the transmission overhead. Conversely, if the transmission rate is low or the data volume is small, a smaller data packet can reduce the possibility of data loss and retransmission. Therefore, the adjustment module can dynamically calculate the optimal data packet size as the target data packet size S by adopting a preset algorithm model, thereby maximizing the transmission efficiency.
[0037] Step S103, the adaptation module performs a transmission test on the target data packet size, determines the adjusted actual data packet size based on the result of the transmission test, and configures the USB controller in the Linux system to adapt the USB controller to the actual data packet size.
[0038] In this embodiment, the USB controller may be a bridge between the Linux system and the USB device hardware, and is responsible for managing the data transmission of the USB device.
[0039] In one possible implementation, after determining the actual data packet size P, the adaptation module calls the udev or sysfs interface to issue instructions to the USB controller to update corresponding configuration parameters so that the actual data packet size P can be supported by the USB device and work normally.
[0040] As an example, the configuration parameters may include but are not limited to: maxpacket, intritrentval.
[0041] Step S104: the transmission module uses the actual data packet size for data transmission.
[0042] In this embodiment, after the USB controller completes configuration, the transmission module uses the actual data packet size P to perform data transmission.
[0043] In a possible implementation, the method may further include:
[0044] The transmission module performs preprocessing operations on the data stream to be transmitted to ensure the integrity and consistency of the data; a monitoring tool is used to provide real-time feedback on the data transmission status so that the strategy can be adjusted in a timely manner.
[0045] The preprocessing operation may include but is not limited to: block processing and buffer processing.
[0046] Furthermore, the ultimate goal of the transmission module in performing data transmission may be to shorten the time required for the entire transmission process as much as possible while maintaining transmission reliability, so as to improve user experience.
[0047] In the above-mentioned embodiment of the present disclosure, the USB device transmission speed improvement method and system based on the Linux system are disclosed, by dynamically adjusting the data packet size to adapt to different transmission rates and data volumes, the handshake and protocol overhead are minimized, and the overall efficiency of the USB device in bulk data transmission is improved. In particular, in high-load and large data volume transmission scenarios, the transmission time can be significantly shortened. In the process of adjusting the data packet size, by combining the specification information and standard documents of the USB device, the data packet size is ensured to be within the supported range of the device, avoiding transmission failures or system abnormalities caused by out-of-range configuration. At the same time, the USB controller of the Linux system is adapted so that it can stably process the adjusted data packet size, thereby improving the stability of the system.
[0048] In a possible implementation of the above step S102, the adjustment module determines the initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, including:
[0049] The initialization module obtains the preset adjustment coefficient, the maximum range value of the data packet and the minimum range value of the data packet from the USB device;
[0050] An adjustment module, which calculates the initial data packet size using a first algorithm based on a preset adjustment coefficient, a current transmission rate, and an amount of data to be transmitted;
[0051] The adjustment module verifies whether the initial data packet size is within the supported range of the USB device; if the initial data packet size is smaller than the minimum data packet range value, the minimum data packet range value is used as the new initial data packet size; if the initial data packet size is larger than the maximum data packet range value, the maximum data packet range value is used as the new initial data packet size.
[0052] In this embodiment, when the initial module determines that the USB device is correctly connected and in an available state, the preset adjustment coefficient, the maximum range value of the data packet and the minimum range value of the data packet of the USB device are obtained through the API interface.
[0053] The preset adjustment coefficient can be represented by c, and the value range of c can be between 0.1 and 1, which is used to adjust the size of the data packet; the maximum range value and the minimum range value of the data packet can be represented by S max With S min Indicates that the maximum range of the data packet is S max It can refer to the maximum allowable size of a single data packet during data transmission, the minimum range value of the data packet S min It can refer to the minimum allowed size of a single data packet during data transmission.
[0054] Here, the maximum range value and the minimum range value of the data packet can play a key role in adjusting the size of the data packet, which can ensure that data transmission can effectively utilize bandwidth and avoid transmission errors or delays caused by overly large data packets.
[0055] In a possible implementation, the adjustment module calculates the initial data packet size using a first algorithm based on a preset adjustment coefficient, a current transmission rate, and an amount of data to be transmitted, which may include:
[0056] The adjustment module calculates the initial data packet size I by using a first algorithm when determining that the current transmission rate R is less than or equal to a preset low-speed transmission threshold z.
[0057] Specifically, the first algorithm can be shown as formula (1):
[0058]
[0059] Wherein, c is the preset adjustment coefficient, R is the current transmission rate, D is the amount of data to be transmitted, and I is the initial data packet size.
[0060] Furthermore, the preset low-speed transmission threshold z can be used to determine whether the USB device is in a low-speed transmission state. When R≤k, it can be considered that the transmission state of the USB device at this time is not ideal and the initial data packet size needs to be adjusted.
[0061] As an example, if R = 100 Mbps, D = 1 MB, k = 50 Mbps, c = 0.5, formula (1) is used to calculate I = 0.5*sqrt(100*10^6*1*10^6)≈70.71 KB, which is rounded to 70 KB as the initial data packet size I. This setting can effectively improve the transmission efficiency while maintaining the stability and reliability of the transmission.
[0062] In a possible implementation, the adjustment module verifies whether the initial data packet size is within the supported range of the USB device, which may include:
[0063] The adjustment module updates the initial data packet size I using formula (2) based on the maximum range value and the minimum range value of the data packet.
[0064] Specifically, formula (2) is as follows:
[0065]
[0066] Here, when the initial data packet size I is less than the minimum data packet range value S min When the minimum range value of the data packet is S min Assign a value to the initial data packet size I; when the initial data packet size I is greater than the maximum range value S of the data packetmax When the maximum range of the data packet is S max Assign a value to the initial packet size I.
[0067] As an example, assume that the initial packet size I is 50 bytes and the device's S min is 64 bytes, S max is 512 bytes, since I is smaller than S min , so the data packet size will be adjusted to 64 bytes to ensure that the device can receive and process the data normally.
[0068] In the above-mentioned embodiment of the present disclosure, the method and system for improving the transmission speed of USB devices based on the Linux system can adaptively adjust the initial data packet size through the first algorithm to adapt the system to the current transmission environment. An efficient data packet size can maximize the use of available bandwidth and reduce transmission time and delay. After the upper and lower limits of the data packet size are constrained, the system can automatically adjust to the range closest to the ideal value, and can automatically adapt the optimal data packet transmission strategy according to the performance characteristics of different devices, thereby improving the compatibility of different devices. The appropriate data packet size reduces the probability of idle time and repeated transmission, thereby improving the overall transmission rate.
[0069] In a possible implementation of the above embodiment, the initial data packet size is dynamically optimized to determine the target data packet size, which is implemented based on the following steps:
[0070] The initial module obtains the preset transmission ratio coefficient and the preset transmission rate threshold from the USB device;
[0071] The adjustment module compares the current transmission rate of the USB device with a preset transmission rate threshold, and when the current transmission rate is greater than the preset transmission rate threshold, determines the target data packet size based on a preset transmission ratio coefficient, the current transmission rate and the amount of data to be transmitted;
[0072] The adjustment module verifies whether the target data packet size is within the supported range of the USB device; if the target data packet size is smaller than the minimum data packet range value, the minimum data packet range value is used as the new target data packet size; if the target data packet size is larger than the maximum data packet range value, the maximum data packet range value is used as the new target data packet size.
[0073] In this embodiment, the preset transmission rate threshold m can be determined based on experience or previous experiments; m can be expressed as a critical value for distinguishing "high transmission rate" from "low transmission rate". When R>m, it can indicate that the current transmission rate is high, and the system tends to use larger data packets to improve transmission efficiency; when R≤m, it can indicate that the current transmission rate is low, and the system may adopt other strategies (such as reducing the size of the data packet) to reduce the risk of congestion or improve reliability.
[0074] Here, the value of m can be adjusted dynamically to adapt to different network or USB device performances.
[0075] For example, network monitoring tools are used to collect variables such as noise, bandwidth, and latency in the network in real time, and the influencing factors of the current network environment are analyzed based on the variables. In a high-speed LAN, a higher m value can be set; in a slow link, a lower m value can be set.
[0076] Furthermore, the preset transmission ratio coefficient n can represent an adjustment coefficient. By adjusting n, the calculation result of the data packet size can be avoided to be too extreme; the value range of n can be [1, 2] to balance the transmission efficiency and reliability. Among them, when n = 1, the system runs at the theoretical minimum data packet size, emphasizing reliability, which is suitable for application scenarios that are sensitive to packet loss or transmission failure; when n>1, the data packet size is enlarged to improve the transmission efficiency, which is suitable for high bandwidth and low packet loss rate environments.
[0077] In a possible implementation, the adjustment module compares the current transmission rate of the USB device with a preset transmission rate threshold, and when the current transmission rate is greater than the preset transmission rate threshold, determines the target data packet size based on a preset transmission ratio coefficient, the current transmission rate, and the amount of data to be transmitted, which may include:
[0078] The adjustment module, when R>m, uses the third formula to calculate the target data packet size S.
[0079] Here, the third formula is as shown in the following formula (3):
[0080]
[0081] Among them, the target data packet size S can be dynamically adjusted according to the current transmission rate R to adapt to different network conditions; it can also be optimized according to m and n according to actual needs to adapt to different scenario requirements.
[0082] As an example, in a scenario, if the current transmission rate R of the USB3.0 device is detected to be 100MB / s, the preset transmission rate threshold m is 50MB / s, D is 5GB, and the preset transmission ratio coefficient n is 1.2, then according to the above formula (3), the target data packet size S is calculated to be approximately 60K (61.44K accurate value). This value not only meets the requirements of high-speed transmission, but also can better adapt to changes in network conditions. In this way, dynamic adjustments can be made under different conditions to achieve the best transmission effect.
[0083] Further, the adjustment module verifies whether the target data packet size is within the supported range of the USB device, which may include:
[0084] The adjustment module updates the target data packet size S using formula (4) based on the maximum data packet range value and the minimum data packet range value.
[0085] Specifically, formula (4) is as follows:
[0086]
[0087] Here, when the target packet size S is less than the minimum packet range value S min When the minimum range value of the data packet is S min Assign a value to the target data packet size S; when the target data packet size S is greater than the maximum range value S of the data packet max When the maximum range of the data packet is S max Assign a value to the target packet size S.
[0088] In the above-mentioned embodiment of the present disclosure, the method and system for improving the transmission speed of a USB device based on a Linux system can dynamically calculate a larger data packet size under high transmission rate conditions by comparing the current transmission rate R with the preset transmission rate threshold m, thereby reducing the frequency of data packet splitting and improving transmission efficiency. After calculating the target data packet size, by verifying whether it falls within the support range of the USB device, this constraint mechanism ensures the stability and feasibility of the transmission.
[0089] In a possible implementation of the above step S103, the adaptation module performs a transmission test on the target data packet size, and determines the adjusted actual data packet size based on the result of the transmission test, which is implemented based on the following steps:
[0090] The initialization module obtains an error adjustment parameter from the USB device, where the error adjustment parameter includes at least one of the following: an adjustment step, an upper limit of an allowable error rate, and a preset time threshold;
[0091] The adaptation module performs at least one transmission simulation test for the target data packet size, and records the required transmission time and transmission error rate of each transmission simulation test;
[0092] The adaptation module dynamically adjusts the target data packet size based on the required transmission time and the transmission error rate, and determines the adjusted actual data packet size.
[0093] In this embodiment, the adjustment step d may refer to an increment or decrement value used to gradually adjust the size of the data packet during the dynamic optimization process; the unit of the adjustment step d may be the same as the unit of the data packet size, i.e., bytes (B). As an example, the value range of the adjustment step d may be between 100B and 1024B, so as to quickly find a suitable data packet size.
[0094] The upper limit of the allowable error rate e may refer to an acceptable deviation ratio between the target transmission performance and the actual performance. Here, if the transmission error rate is less than or equal to the upper limit of the allowable error rate e, it is considered that the current data packet size is acceptable and no adjustment is required. On the contrary, if the transmission error rate exceeds the upper limit of the allowable error rate e, further processing is required.
[0095] As an example, the upper limit e of the allowable error rate can be specifically set according to the reliability and stability requirements of the system. For example, the upper limit e of the allowable error rate can be selected between 0.1% and 1%.
[0096] The preset time threshold p may refer to the maximum time allowed for the adjustment process to continue, for example, p may be 1 second.
[0097] In a possible implementation, the adaptation module performs at least one transmission simulation test for the target data packet size and records the required transmission time and transmission error rate of each transmission simulation test, which may include:
[0098] The adaptation module uses a test tool or a test function to record the corresponding timestamps before and after the data packets of each transmission simulation test are sent, and calculate the required transmission time T each time;
[0099] The adaptation module detects errors in the transmission process of each transmission simulation test and calculates the transmission error rate;
[0100] The adaptation module repeats the test according to the set number of simulations and records the transmission time and error rate of each test in a list.
[0101] Furthermore, the adaptation module dynamically adjusts the target data packet size based on the required transmission time T and the transmission error rate E, and determines the adjusted actual data packet size P.
[0102] The transmission error rate E may be a calculated transmission error rate, which may range from 0% to 100%, but in most practical application scenarios, it usually does not exceed 5%.
[0103] In the above-mentioned embodiment of the present disclosure, the USB device transmission speed improvement method and system based on the Linux system can more accurately match the current transmission status of the device with the actual needs by recording the transmission time and the transmission error rate and dynamically adjusting the target data packet size, thereby achieving accurate optimization of data transmission. By adjusting the target data packet size, the balance point between transmission efficiency and reliability is found, and the data transmission rate is improved while ensuring a low error rate. Combined with the preset time threshold, the situation where the transmission time is too long is adjusted in time to ensure the efficiency of the overall transmission process.
[0104] In a possible implementation of the above step S103, the adaptation module dynamically adjusts the target data packet size based on the required transmission time and the transmission error rate to determine the adjusted actual data packet size, including:
[0105] The adaptation module adjusts the parameters based on the preset time to increase the actual data packet size when it is determined that the required transmission time is greater than the preset time threshold; and maintains the actual data packet size when it is determined that the required transmission time is less than or equal to the preset time threshold; the actual data packet size is used to characterize the target data packet size after dynamic adjustment;
[0106] The adaptation module reduces the actual data packet size based on the adjustment step size when it is determined that the transmission error rate is greater than the upper limit of the allowable error rate; and maintains the actual data packet size when it is determined that the transmission error rate is less than or equal to the upper limit of the allowable error rate;
[0107] The adaptation module verifies whether the actual data packet size is within the supported range of the USB device; if the actual data packet size is greater than the maximum data packet range value, the maximum data packet range value is used as the new actual data packet size.
[0108] In this embodiment, when the adaptation module determines that the required transmission time T is greater than the preset time threshold p, the adaptation module uses formula (5) to increase the actual data packet size P.
[0109] Here, formula (5) is as follows:
[0110] P=P·q (5)
[0111] Here, q may be a preset time adjustment parameter greater than 1, for example, q may be 1.5.
[0112] When the transmission time T is less than the preset time threshold p, it can be shown that the current actual data packet size P has been relatively optimized. The formula (5) can be further used to increase the actual data packet size P in order to attempt to further improve the transmission efficiency. By gradually approaching the optimal data packet size, the best transmission scheme can ultimately be found.
[0113] As an example, assume that p is 1 second, q is 1.5, and when using a 2MB data packet currently, the measured transmission time T is 0.8 seconds, satisfying the condition T < p. Then the data packet size can be adjusted to 3MB for continued testing.
[0114] In a possible implementation, for the adaptation module, when it is determined that the transmission error rate is greater than the upper limit of the allowable error rate, based on the adjustment step size, reducing the actual data packet size may include:
[0115] For the adaptation module, when it is determined that the transmission error rate E is greater than the upper limit of the allowable error rate e, the formula (6) is used to reduce the actual data packet size P.
[0116] Here, the formula (6) is as follows:
[0117] P = P - d (6)
[0118] Where d represents the adjustment step size; when the transmission error rate exceeds the allowable range, the error rate is reduced by gradually decreasing the actual data packet size P until the transmission error rate drops within the allowable range.
[0119] As an example, assume that the initial data packet size P = 4096 bytes and the allowable maximum transmission error rate e = 0.5%. During the actual transmission process, the calculated transmission error rate E = 1.2%. Since E > e, the data packet size needs to be reduced. First, the data packet size is adjusted to P - d, where the adjustment step size d = 512 bytes. The new adjusted data packet size is 4096 - 512 = 3584 bytes. Next, the new transmission error rate is calculated again. Assume the new transmission error rate E = 0.7%. Since it is still greater than the allowable maximum transmission error rate of 0.5%, the data packet size is continuously adjusted and reduced by 512 bytes again. At this time, the data packet size is 3584 - 512 = 3072 bytes. The new transmission error rate is calculated again. Assume the new transmission error rate E = 0.4%. At this time, E < e, meeting the requirements, and the data packet size is set to 3072 bytes without further adjustment.
[0120] In a possible implementation, when the formula (5) is first used to dynamically adjust the target data packet size, the formula (5) is: P = S·q; similarly, when the formula (6) is first used to dynamically adjust the target data packet size, the formula (6) is: P = S - d.
[0121] In the above-mentioned embodiment of the present disclosure, the USB device transmission speed improvement method and system based on the Linux system, when the required transmission time exceeds the preset time threshold, the actual data packet size is dynamically increased to reduce the packet header overhead during transmission, thereby improving the overall transmission efficiency; if the transmission time is already within a reasonable range, there is no need to adjust the data packet size to avoid unnecessary complexity and waste of resources; thereby improving the transmission efficiency and reducing the frequent interaction overhead caused by too small data packets. When the transmission error rate exceeds the upper limit of the allowable error rate, the error probability of a single packet is reduced by reducing the data packet size; if the error rate is within a reasonable range, the current data packet size is maintained to ensure a balance between reliability and efficiency; the success rate of transmission is improved to avoid transmission failures or frequent retransmissions caused by a single packet being too large.
[0122] In a possible implementation of the above embodiment, the USB transmission system further includes: a verification module, and the method further includes:
[0123] The initial module obtains the data packet size information from the USB device, and the data packet size information includes the maximum range value and the minimum range value of the data packet;
[0124] The verification module parses the data packet size information. If the rationality factor in the parsed result is less than a preset rationality threshold, it is determined that the data packet size information is abnormal, and the maximum range value and the minimum range value of the data packet are reset to the default range value;
[0125] The verification module determines the difference between the maximum range value of the data packet and the minimum range value of the data packet. When the difference is greater than the preset standard deviation value, the data packet size information is marked as abnormal and the data packet size information is corrected.
[0126] Please refer to Figure 2 , Figure 2 FIG. 1 is an exemplary schematic diagram showing the architecture of another USB transmission system used in a method for improving the transmission speed of a USB device based on a Linux system according to an embodiment of the present disclosure. Figure 2 As shown, the USB transmission system may further include: a verification module.
[0127] Among them, the verification module can be used to ensure the validity and rationality of the data packet size information in the USB transmission system.
[0128] In this embodiment, the initial module obtains data packet size information from the USB device, and the data packet size information includes a maximum range value and a minimum range value of the data packet, including:
[0129] The initial module determines the USB device's S based on the standard documents provided by the USB device manufacturer. max With S min .
[0130] Specifically, during the process of extracting S from the standard document max and S min , the initial module can calculate a rationality factor F to ensure the reliability of the data packet size information. Among them, the process of calculating the rationality factor F can be to obtain a score based on the comparison between the standard document and other verified USB device documents, and the value range of F can be from 0 to 100.
[0131] Furthermore, when the rationality factor F is less than the preset rationality threshold g, the verification module will set S max and S min back to the default values. For example, they can be reset to 128 bytes and 1024 bytes respectively.
[0132] Here, when F < g, it indicates that the parsed result is not accurate enough. The verification module adopts a conservative strategy and uses the verified default values to ensure the efficient and stable operation of the USB device. Such a design can effectively prevent data transmission failures caused by parsing errors or inaccurate documents.
[0133] In a possible implementation, the verification module determines the difference between the maximum range value and the minimum range value of the data packet. When the difference is greater than the preset standard difference, the data packet size information is marked as abnormal, and the correction of the data packet size information can include:
[0134] The verification module determines the difference ΔS between S max and S min . When ΔS > ΔSstd, the data packet size information is marked as abnormal, and the data packet size information is re-parsed. Among them, ΔSstd represents the preset standard difference.
[0135] As an example, ΔS can represent the actual gap between the sizes of two data packets. ΔSstd can be a standard difference obtained based on the statistics of a large amount of actual data, usually set within a certain fixed range, such as 1024 bytes.
[0136] As an example, assume that S max is 4096 bytes and S min is 1024 bytes. Then ΔS = 3072 bytes, and ΔSstd is set to 2048 bytes. Therefore, it is necessary to further check whether ΔS is greater than ΔSstd. Since ΔS (3072 bytes) is greater than ΔSstd (2048 bytes), the verification module will trigger the re-parsing mechanism to re-evaluate and calculate the data packet size to ensure that the final result is accurate. For example, during the re-parsing process, new data packet samples may be read from the USB device again, and the maximum and minimum values are recalculated until ΔS <= ΔSstd.
[0137] In the method and system for improving the transmission speed of a USB device based on a Linux system of the above embodiment of the present disclosure, by verifying the data packet size information, it is ensured that the data packet size information obtained from the USB device is accurate and reasonable, so as to improve the reliability of data transmission. Through a reasonable verification and correction mechanism, it is ensured that the data packet size operates within a valid range, thereby improving the efficiency of data transmission.
[0138] In a possible implementation of the above embodiment, correcting the data packet size information includes:
[0139] A verification module determines the absolute value of the difference between the maximum range value of the data packet and the minimum range value of the data packet, and when the absolute value of the difference is greater than a preset reasonable difference range threshold and the preset reasonable difference range threshold is greater than a preset correction threshold, the difference is corrected to a preset standard deviation value;
[0140] The verification module re-verifies whether there is any anomaly between the maximum range value and the minimum range value of the data packet.
[0141] In this embodiment, the verification module corrects ΔS to ΔSstd when |ΔS|>m and m>k.
[0142] The preset reasonable difference range threshold m may be set according to specific conditions in actual applications. For example, in a USB bulk transfer scenario, m may be set to ±2 MB / s according to device performance and network environment.
[0143] The preset correction threshold k can prevent unnecessary corrections to small errors and avoid excessive intervention leading to system instability.
[0144] In the above-mentioned embodiment of the present disclosure, the method and system for improving the transmission speed of a USB device based on a Linux system can detect abnormal data packet range information by comparing the difference between the maximum range value and the minimum range value with the preset reasonable difference range threshold, and ensure the rationality of the data packet range information. The correction mechanism ensures that even if there is a problem with the original parameters, the system can still be adjusted within the controlled range, avoiding fluctuations or anomalies during the transmission process, and improving the stability of the system.
[0145] In one embodiment, a USB transmission system 300 is provided, and the USB transmission system 300 corresponds to the method for improving the transmission speed of a USB device based on a Linux system in the above embodiment. Figure 3 As shown, the USB transmission system 300 includes an initial module 301, an adjustment module 302, an adaptation module 303 and a transmission module 304, wherein each functional module is described in detail as follows:
[0146] Initial module 301, used to obtain the current transmission rate and amount of data to be transmitted of the USB device that has data interaction with the Linux system;
[0147] An adjustment module 302 is used to determine an initial data packet size of the USB device based on a current transmission rate and an amount of data to be transmitted, dynamically optimize the initial data packet size, and determine a target data packet size;
[0148] The adaptation module 303 is used to perform a transmission test on the target data packet size, determine the adjusted actual data packet size based on the result of the transmission test, and configure the USB controller in the Linux system to adapt the USB controller to the actual data packet size;
[0149] The transmission module 304 is used for data transmission using the actual data packet size.
[0150] In one embodiment, the initial module 301 is used to obtain a preset adjustment coefficient, a maximum range value of a data packet, and a minimum range value of a data packet from a USB device;
[0151] An adjustment module 302, configured to calculate an initial data packet size using a first algorithm based on a preset adjustment coefficient, a current transmission rate, and an amount of data to be transmitted;
[0152] The adjustment module 302 is used to verify whether the initial data packet size is within the supported range of the USB device; if the initial data packet size is smaller than the minimum data packet range value, the minimum data packet range value is used as the new initial data packet size; if the initial data packet size is larger than the maximum data packet range value, the maximum data packet range value is used as the new initial data packet size.
[0153] In one embodiment, the initial module 301 is used to obtain a preset transmission ratio coefficient and a preset transmission rate threshold from a USB device;
[0154] The adjustment module 302 is used to compare the current transmission rate of the USB device with a preset transmission rate threshold, and when the current transmission rate is greater than the preset transmission rate threshold, determine the target data packet size based on a preset transmission ratio coefficient, the current transmission rate and the amount of data to be transmitted;
[0155] The adjustment module 302 is used to verify whether the target data packet size is within the supported range of the USB device; if the target data packet size is smaller than the minimum data packet range value, the minimum data packet range value is used as the new target data packet size; if the target data packet size is larger than the maximum data packet range value, the maximum data packet range value is used as the new target data packet size.
[0156] In one embodiment, the initial module 301 is used to obtain an error adjustment parameter from the USB device, where the error adjustment parameter includes at least one of the following: an adjustment step size, an upper limit of an allowable error rate, and a preset time threshold;
[0157] The adaptation module 303 is used to perform at least one transmission simulation test for the target data packet size, and record the required transmission time and transmission error rate of each transmission simulation test;
[0158] The adaptation module 303 is used to dynamically adjust the target data packet size based on the required transmission time and the transmission error rate, and determine the adjusted actual data packet size.
[0159] In one embodiment, the adaptation module 303 is used to adjust the parameters based on the preset time to increase the actual data packet size when it is determined that the required transmission time is greater than the preset time threshold; when it is determined that the required transmission time is less than or equal to the preset time threshold, maintain the actual data packet size; the actual data packet size is used to represent the target data packet size after dynamic adjustment;
[0160] Adaptation module 303, configured to reduce the actual data packet size based on the adjustment step size when it is determined that the transmission error rate is greater than the upper limit of the allowable error rate; and maintain the actual data packet size when it is determined that the transmission error rate is less than or equal to the upper limit of the allowable error rate;
[0161] The adaptation module 303 is used to verify whether the actual data packet size is within the supported range of the USB device; if the actual data packet size is greater than the maximum data packet range value, the maximum data packet range value is used as the new actual data packet size.
[0162] In one embodiment, the USB transmission system 300 further includes: a verification module 305, wherein:
[0163] The initial module 301 is used to obtain data packet size information from the USB device, where the data packet size information includes a maximum range value and a minimum range value of the data packet;
[0164] Verification module 305, used to parse the data packet size information, if the rationality factor in the parsed result is less than a preset rationality threshold, it is determined that the data packet size information is abnormal, and the maximum range value and the minimum range value of the data packet are reset to default range values;
[0165] The verification module 305 is used to determine the difference between the maximum range value of the data packet and the minimum range value of the data packet. When the difference is greater than a preset standard deviation, the data packet size information is marked as abnormal and the data packet size information is corrected.
[0166] In one embodiment, the verification module 305 is used to determine the absolute value of the difference between the maximum range value of the data packet and the minimum range value of the data packet, and when the absolute value of the difference is greater than a preset reasonable difference range threshold and the preset reasonable difference range threshold is greater than a preset correction threshold, the difference is corrected to a preset standard deviation value;
[0167] The verification module 305 is used to re-verify whether there is any abnormality between the maximum range value and the minimum range value of the data packet.
[0168] It should be noted that: when the USB transmission system provided in the above embodiment implements the corresponding method for improving the transmission speed of USB devices based on the Linux system, only the division of the above program modules is used as an example. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the above system can be divided into different program modules to complete all or part of the above-described processing. In addition, the system provided in the above embodiment and the corresponding Figure 1b The embodiments of the method shown belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.
[0169] The present disclosure also provides a computer device having the above Figure 3 The USB transmission system shown.
[0170] See also Figure 4 , Figure 4 is a structural diagram of another USB transmission system provided by an embodiment of the present disclosure, such as Figure 4 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 4 A processor 10 is taken as an example.
[0171] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0172] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0173] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0174] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0175] The computer device also includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means. Figure 4 The example of connecting through bus is taken in the following.
[0176] The input device 30 can receive input digital or character information, and generate key signal input related to the user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0177] The computer device also includes a communication interface, which is used for the computer device to communicate with other devices or a communication network.
[0178] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0179] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0180] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A method for improving the transmission speed of USB devices based on Linux system, characterized in that: Applied to a USB transmission system, the USB transmission system includes: an initial module, an adjustment module, an adaptation module and a transmission module, and the method includes: The initial module obtains the current transfer rate and amount of data to be transferred of the USB device that has data interaction with the Linux system; An adjustment module, which determines an initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, dynamically optimizes the initial data packet size, and determines a target data packet size; an adaptation module, performing a transmission test on the target data packet size, determining an adjusted actual data packet size based on a result of the transmission test, and configuring a USB controller in the Linux system to adapt the USB controller to the actual data packet size; The transmission module uses the actual data packet size to perform data transmission.
2. The method according to claim 1, characterized in that The adjustment module determines the initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, including: The initialization module obtains the preset adjustment coefficient, the maximum range value of the data packet and the minimum range value of the data packet from the USB device; An adjustment module, which calculates the initial data packet size using a first algorithm based on the preset adjustment coefficient, the current transmission rate and the amount of data to be transmitted; The adjustment module verifies whether the initial data packet size is within the supported range of the USB device; if the initial data packet size is smaller than the minimum data packet range value, the minimum data packet range value is used as the new initial data packet size; if the initial data packet size is larger than the maximum data packet range value, the maximum data packet range value is used as the new initial data packet size.
3. The method according to claim 2, characterized in that The initial data packet size is dynamically optimized to determine the target data packet size, which is achieved based on the following steps: The initial module obtains the preset transmission ratio coefficient and the preset transmission rate threshold from the USB device; an adjustment module, comparing the current transmission rate of the USB device with the preset transmission rate threshold, and determining a target data packet size based on the preset transmission ratio coefficient, the current transmission rate and the amount of data to be transmitted when the current transmission rate is greater than the preset transmission rate threshold; The adjustment module verifies whether the target data packet size is within the supported range of the USB device; if the target data packet size is smaller than the minimum data packet range value, the minimum data packet range value is used as the new target data packet size; if the target data packet size is larger than the maximum data packet range value, the maximum data packet range value is used as the new target data packet size.
4. The method according to claim 3, characterized in that The adaptation module performs a transmission test on the target data packet size and determines the adjusted actual data packet size based on the result of the transmission test, which is implemented based on the following steps: The initial module obtains an error adjustment parameter from the USB device, wherein the error adjustment parameter includes at least one of the following: an adjustment step size, an upper limit of an allowable error rate, and a preset time threshold; The adaptation module performs at least one transmission simulation test for the target data packet size, and records the required transmission time and transmission error rate of each transmission simulation test; The adaptation module dynamically adjusts the target data packet size based on the required transmission time and the transmission error rate, and determines the adjusted actual data packet size.
5. The method according to claim 4, characterized in that The adaptation module dynamically adjusts the target data packet size based on the required transmission time and the transmission error rate to determine the adjusted actual data packet size, including: an adaptation module, when it is determined that the required transmission time is greater than a preset time threshold, adjusting the parameters based on the preset time to increase the actual data packet size; when it is determined that the required transmission time is less than or equal to the preset time threshold, maintaining the actual data packet size; the actual data packet size is used to represent the target data packet size after dynamic adjustment; The adaptation module, when determining that the transmission error rate is greater than the upper limit of the allowable error rate, reduces the actual data packet size based on the adjustment step size; when determining that the transmission error rate is less than or equal to the upper limit of the allowable error rate, maintains the actual data packet size; The adaptation module verifies whether the actual data packet size is within the supported range of the USB device; if the actual data packet size is greater than the maximum data packet range value, the maximum data packet range value is used as the new actual data packet size.
6. The method according to any one of claims 1 to 5, characterized in that The USB transmission system further includes: a verification module, and the method further includes: The initial module obtains data packet size information from the USB device, wherein the data packet size information includes a maximum range value and a minimum range value of the data packet; A verification module, which parses the data packet size information, and if a rationality factor in the parsed result is less than a preset rationality threshold, determines that the data packet size information is abnormal, and resets the maximum range value and the minimum range value of the data packet to default range values; The verification module determines the difference between the maximum range value of the data packet and the minimum range value of the data packet, and when the difference is greater than a preset standard deviation, marks the data packet size information as abnormal and corrects the data packet size information.
7. The method according to any one of claims 6, characterized in that The step of modifying the data packet size information includes: A verification module determines the absolute value of the difference between the maximum range value of the data packet and the minimum range value of the data packet, and when the absolute value of the difference is greater than a preset reasonable difference range threshold and the preset reasonable difference range threshold is greater than a preset correction threshold, the difference is corrected to a preset standard deviation value; The verification module re-verifies whether there is any anomaly between the maximum range value and the minimum range value of the data packet.
8. A USB transmission system, characterized in that: The USB transmission system includes an initial module, an adjustment module, an adaptation module and a transmission module, wherein: The initial module is used to obtain the current transfer rate and amount of data to be transferred of the USB device that has data interaction with the Linux system; An adjustment module, configured to determine an initial data packet size of the USB device based on the current transmission rate and the amount of data to be transmitted, dynamically optimize the initial data packet size, and determine a target data packet size; an adaptation module, configured to perform a transmission test on the target data packet size, determine an adjusted actual data packet size based on a result of the transmission test, and configure a USB controller in the Linux system so that the USB controller adapts to the actual data packet size; A transmission module is used to perform data transmission using the actual data packet size.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method for improving the transmission speed of a USB device based on a Linux system according to any one of claims 1 to 7.
10. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to enable a computer to execute the method for improving the transmission speed of a USB device based on a Linux system according to any one of claims 1 to 7.