Multi-path transmission scheduling method, system, device, equipment, medium and product
By acquiring and modifying the network state parameters and transmission performance indicators of substreams, and selecting substreams for data transmission according to the target arrival time, the problem of low transmission efficiency of MPTCP in dynamic network environments is solved, achieving more efficient network resource utilization and stability.
Patent Information
- Application Number
- CN202511210946.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-05-09
- Filing Date
- 2025-08-27
- Publication Date
- 2025-11-04
AI Technical Summary
The existing Multipath Transmission Control Protocol (MPTCP) is not adaptable enough in heterogeneous and dynamic network environments, resulting in low transmission efficiency and insufficient utilization of network resources.
By acquiring network status parameters and transmission performance indicators of sub-streams corresponding to multiple paths, the expected arrival time is calculated and corrected. Sub-streams are selected for data transmission in ascending order of the corrected target arrival time, and the network status parameters and transmission performance indicators are periodically updated to adjust the transmission priority of sub-streams.
It improves data transmission efficiency, maximizes the use of network resources, enhances adaptability and stability in dynamic network environments, reduces out-of-order packet phenomena, and improves system reliability and bandwidth utilization.
Smart Images

Figure CN120896893A_ABST
Abstract
Description
[0001] The present application claims priority to the Chinese patent application No. 202510593949.5, filed on May 9, 2025, and entitled "Multi-path transmission scheduling method, system, device, equipment, medium and product", the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to the technical field of data transmission, in particular to a multi-path transmission scheduling method, system, device, equipment, medium and product. BACKGROUND
[0003] In the field of computer network communication, especially with the rapid development of mobile Internet and Internet of Things technology, the efficiency and reliability of data transmission have become key technical challenges. Multi-path Transmission Control Protocol (MPTCP, MultiPath TCP) as an emerging data transmission technology, it allows a single application layer connection to transmit data through multiple network paths to improve bandwidth utilization and connection reliability.
[0004] However, the existing MPTCP data scheduling algorithm has insufficient adaptability in heterogeneous and dynamic network environments, and the scheduling accuracy of different path corresponding subflows is low, which cannot fully utilize the multi-path bandwidth resources, resulting in limited transmission efficiency and performance. SUMMARY
[0005] One of the purposes of the present application is to provide a multi-path transmission scheduling method, system, device, equipment, medium and product to solve the problems of low transmission efficiency and insufficient network resource utilization in the multi-path transmission process.
[0006] In order to achieve the above purpose, the technical solution adopted by the present application is as follows:
[0007] A multi-path transmission scheduling method, the method comprising:
[0008] Obtaining network state parameters and transmission performance indicators of a plurality of path corresponding subflows;
[0009] Calculating the expected arrival time of the subflow according to the network state parameters;
[0010] According to the transmission performance indicators, the expected arrival time is corrected to obtain the corrected target arrival time;
[0011] Selecting subflows for data transmission in the order of the target arrival time from small to large.
[0012] Further, selecting subflows for data transmission in the order of the target arrival time from small to large, comprising:
[0013] acquiring data to be transmitted;
[0014] arranging the plurality of sub-flows in ascending order of target arrival time length, and selecting the sub-flows in turn according to the congestion degree of the sub-flows to transmit the data to be transmitted.
[0015] Further, the selecting the sub-flows in turn according to the congestion degree of the sub-flows to transmit the data to be transmitted comprises:
[0016] determining whether the congestion window of the current sub-flow is full, if not, selecting the current sub-flow to transmit, and if yes, selecting the next sub-flow of the current sub-flow to transmit.
[0017] Further, the arranging the plurality of sub-flows in ascending order of target arrival time length comprises:
[0018] For the target arrival time length of the N sub-flows, the sub-flow with the smallest target arrival time length is recorded as a target sub-flow.
[0019] From the N sub-flows, M sub-flows are selected, which have a difference in target arrival time length with the target sub-flow less than or equal to a delay difference threshold.
[0020] The target sub-flow and the M sub-flows are arranged in ascending order of target arrival time length.
[0021] Wherein, N and M are positive integers, and N>M.
[0022] Further, the data transmission process further comprises:
[0023] periodically updating the network state parameters and the transmission performance indicators, and re-determining the target arrival time length of the sub-flows according to the updated network state parameters and transmission performance indicators.
[0024] Adjusting the transmission priority of the sub-flows based on the re-determined target arrival time length.
[0025] Further, the method further comprises:
[0026] Adjusting the update frequency of the transmission performance indicators in real time according to the change rate of the transmission performance indicators.
[0027] Further, the transmission performance indicators comprise packet loss rate and / or signal strength, and the correcting the expected arrival time length according to the transmission performance indicators comprises:
[0028] If the packet loss rate is greater than or equal to a preset first threshold, multiplying the expected arrival time length by a weight coefficient greater than 1.
[0029] and / or,
[0030] If the signal strength is less than or equal to a preset second threshold, a weight coefficient greater than 1 is used to multiply the expected arrival duration.
[0031] A multipath transmission scheduling system, comprising: a sender device and a receiver device, a plurality of sub-flows are established between the sender device and the receiver device based on a multipath transmission protocol, and the sender device schedules sub-flows based on the method of any one of the above.
[0032] Further, the multipath transmission scheduling system comprises a network interface management module, a multipath transmission protocol stack module, a scheduling module and a monitoring module.
[0033] The network interface management module is configured to monitor the state of the network interface of the sender device, and to adjust the priority of the network interface according to the state of the network interface.
[0034] The multipath transmission protocol stack module is configured to manage the creation, maintenance and termination of a plurality of sub-flows, each sub-flow corresponding to an independent network path.
[0035] The scheduling module is configured to allocate data traffic to be sent to sub-flows according to the state of the network interface.
[0036] The monitoring module is configured to periodically obtain network state parameters and transmission performance indicators of sub-flows and send them to the scheduling module.
[0037] A multipath transmission scheduling device, comprising:
[0038] An acquisition module configured to acquire network state parameters and transmission performance indicators of sub-flows corresponding to a plurality of paths;
[0039] A calculation module configured to calculate the expected arrival duration of sub-flows according to the network state parameters;
[0040] A correction module configured to correct the expected arrival duration according to the transmission performance indicators to obtain a corrected target arrival duration;
[0041] A transmission module configured to select sub-flows for data transmission in ascending order of the target arrival duration.
[0042] An electronic device, comprising: a processor, and a memory connected to the processor in communication;
[0043] The memory stores computer execution instructions.
[0044] The processor executes the computer execution instructions stored in the memory to implement the multipath transmission scheduling method of any one of the above.
[0045] A computer readable storage medium, comprising: computer execution instructions stored in the computer readable storage medium, the computer execution instructions being executed by a processor to implement the multi-path transmission scheduling method according to any one of the preceding embodiments.
[0046] A computer program product, comprising a computer program, the computer program being executed by a processor to implement the multi-path transmission scheduling method according to any one of the preceding embodiments.
[0047] The present application has the following beneficial effects: by obtaining network state parameters of sub-flows corresponding to different paths and performance indicators related to network transmission of the sub-flows, the expected arrival duration of a data packet on a sub-flow can be accurately calculated according to the network state parameters, and the expected arrival duration can be corrected using the performance indicators, so that the corrected duration takes into account the influence factors related to network transmission, and then a sub-flow with a shorter duration is selected from the sub-flows for data transmission, so that the sub-flows can be more accurately scheduled based on the transmission duration while considering the influence of the network environment on the transmission performance, network resources are maximized, and transmission efficiency is improved. BRIEF DESCRIPTION OF DRAWINGS
[0048] Figure 1 An application scenario diagram of a multi-path transmission scheduling method provided for an exemplary embodiment of the present application is shown in the following figure:
[0049] Figure 2 A flowchart of a multi-path transmission scheduling method provided for an exemplary embodiment of the present application is shown in the following figure:
[0050] Figure 3 A data interaction diagram of a multi-path transmission scheduling system provided for an exemplary embodiment of the present application is shown in the following figure:
[0051] Figure 4 A data interaction diagram of a network interface management module provided for an exemplary embodiment of the present application is shown in the following figure:
[0052] Figure 5 A working flowchart of a scheduling module provided for an exemplary embodiment of the present application is shown in the following figure:
[0053] Figure 6 A structural diagram of a multi-path transmission scheduling device provided for an exemplary embodiment of the present application is shown in the following figure:
[0054] Figure 7 A structural diagram of an electronic device provided for an exemplary embodiment of the present application is shown in the following figure.
[0055] The above figures have shown the explicit embodiments of the present application, and more detailed descriptions will be given in the following. These figures and textual descriptions are not intended to limit the scope of the concept of the present application by any means, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. Detailed Implementation
[0056] The embodiments of the present invention will be described below with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be understood that the preferred embodiments are only for illustrating the present invention and not for limiting the scope of protection of the present invention.
[0057] It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. Therefore, the drawings only show the components related to the present invention and are not drawn according to the actual number, shape and size of the components in the actual implementation. In the actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0058] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the invention as detailed in the appended claims.
[0059] The terms "comprising," "including," or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, product, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, product, or apparatus. Without further limitation, the presence of other identical or equivalent elements in the process, method, product, or apparatus that includes said elements is not excluded. For example, the use of terms such as "first," "second," etc., is to denote names and does not indicate any particular order.
[0060] Multipath Transmission Control Protocol (MPTCP) is an extension of the traditional single-path TCP protocol, designed to improve data transmission throughput, reliability, and network resource utilization by simultaneously utilizing the parallel transmission capabilities of multiple network interfaces (such as Wi-Fi and cellular networks). MPTCP achieves concurrent data transmission across multiple paths by establishing multiple subflows and ensures end-to-end reliability.
[0061] Currently, the MPTCP algorithm mainly relies on calculating RTT (Round-Trip Time) when selecting a path, however, the network environment is complex and changeable, this way is difficult to adapt to the complex and diverse dynamic network environment, cannot realize the accurate scheduling of multi-path transmission, the utilization rate of network resources is insufficient, and the transmission efficiency is low.
[0062] Based on this, a technical concept is proposed, real-time acquisition of network state parameters of different path corresponding sub-flow and performance indicators related to sub-flow network transmission, accurate calculation of expected arrival time of data packet on sub-flow according to network state parameters, and the performance indicators can also be used to correct the expected arrival time, so that the corrected time length fully considers the influence factors related to network transmission, and then the sub-flow with shorter time length is selected for data transmission, which can more accurately schedule multiple sub-flows based on transmission time length considering network environment, maximize the utilization of network resources, and improve the transmission efficiency.
[0063] Figure 1 An application scenario diagram is provided for the exemplary embodiments of the present application. Figure 1 In the application scenario, the sender and the receiver can be a single device (such as a terminal) or a combination of multiple devices (such as a server cluster). Figure 1 As shown in the figure, the data distribution sub-module of the sender device can fragment the application layer data, and the sub-flow management sub-module can schedule multiple sub-flows for the transmission of the fragmented data, and finally the fragmented data is transmitted to the receiving end device for assembly, so that the receiving end obtains related data.
[0064] The multi-path transmission scheduling method of the embodiment of the present application can be used as an execution subject by the sender in the multi-path transmission scenario.
[0065] The above-mentioned application scenarios are only examples, and the skilled in the art can expand the application according to specific requirements and scenarios, and the embodiments of the present application do not make specific limitations. The following describes the multi-path transmission scheduling method according to the exemplary embodiments of the present application in combination with the application scenario shown in Figure 1 . Figures 2 to 6
[0066] Figure 2 A flowchart of a multi-path transmission scheduling method is provided for the exemplary embodiments of the present application. As shown in Figure 2 , the method can include:
[0067] Step S201, acquiring network state parameters and transmission performance indicators of multiple path corresponding sub-flows.
[0068] The sub-flow can refer to an independent TCP (Transmission Control Protocol) connection for transmitting data through different network paths (such as Wi-Fi, a cellular network, Ethernet, etc.).
[0069] The network state parameters can include RTT, BW (Bandwidth), CWND (Congestion Window), MSS (Maximum Segment Size), and U (Unacknowledged Data), etc.
[0070] The transmission performance indicators can include performance indicators related to network transmission of the sub-flow, such as a packet loss rate and a signal strength, etc. The packet loss rate (PLR) can be a ratio of the number of lost data packets to the total number of transmitted data packets, reflecting the reliability of the link. The signal strength (RSSI) can be an indicator for measuring the received wireless signal power, reflecting the signal quality of the link.
[0071] In the embodiments of the present application, the network state parameters of the sub-flow can be obtained by active probing, passive monitoring, or a combination of the two.
[0072] By way of example, the active probing method can include that the sender device sends a probe packet in a fixed period or a dynamic period, and statistics the reply success rate and the round-trip time to calculate the PLR and the RTT. At the same time, the RSSI value of the current wireless channel can be obtained by calling the operating system interface. The sending of the probe packet can be based on the ICMP, UDP or HTTP protocol. The ICMP (Internet Control Message Protocol) is a network layer protocol, which is used to send error reports and network diagnostic messages (such as Ping). The UDP (User Datagram Protocol) is a connectionless protocol at the transport layer, which provides best-effort datagram transmission without acknowledgement and retransmission mechanism. The HTTP (Hypertext Transfer Protocol) is an application layer protocol, which provides distributed and collaborative transmission of World Wide Web data.
[0073] By way of example, the passive monitoring method can include that based on the network statistical information provided by the operating system or the protocol stack layer, the retransmission number, the total amount of transmitted data, the CWND and the U of each sub-flow are obtained to calculate the passive PLR and monitor the link utilization. The RSSI can also be reported on a wireless driver layer in a timed or event-triggered manner by calling a function.
[0074] Step S202, calculating the expected arrival time length of the sub-flow according to the network state parameter.
[0075] Wherein, the expected arrival time length (EAT, Expected Arrival Time) can represent the time required for predicting the data packet from the sending end to the receiving end through a certain sub-flow.
[0076] In the embodiment of the application, the expected arrival time length can be calculated by comprehensively considering factors such as queuing delay, transmission time length and propagation delay.
[0077] Exemplarily, the calculation formula of the expected arrival time length can be represented as: EAT=T Q +T T +T P . Wherein, T Q , T T and T P represent queuing delay, transmission time length and propagation delay respectively.
[0078] Step S203, correcting the expected arrival time length according to the transmission performance index to obtain the corrected target arrival time length.
[0079] In the embodiment of the application, by introducing the correction mechanism based on the transmission performance index, the dynamic network scene can be adapted, and the target arrival time length more accurately reflecting the transmission performance of the sub-flow can be obtained. Specifically, the correction function based on the transmission performance index can be set, when the transmission performance index of the sub-flow is poor, the value of EAT is dynamically improved to reduce the scheduling priority, so that the corrected EAT' (target arrival time length) can more reflect the transmission state of the sub-flow, avoiding sending a large amount of data to the unstable link, which is beneficial to the scheduling of the sub-flow.
[0080] Taking the transmission performance index as the packet loss rate for example, the formula for correcting the expected arrival time length based on the packet loss rate can be represented as: EAT' = F loss (EAT)= F loss (T Q +T T +T P ). Wherein, F loss (·) can represent the packet loss rate correction function.
[0081] Taking the transmission performance index as the signal strength for example, the formula for correcting the expected arrival time length based on the signal strength can be represented as: EAT' = F sig (EAT)= F sig (T Q +T T +T P ). F sig (·) can represent the signal strength correction function.
[0082] Step S204, selecting sub-streams for data transmission in the order of target arrival time length from small to large.
[0083] In the embodiments of the present application, one or more sub-streams with the shortest target arrival time length can be selected for data transmission according to the amount of data to be transmitted by the application layer or other data transmission requirements. For example, three different sub-streams are selected for data transmission according to the transmission requirements, and then three sub-streams with the shortest target arrival time length can be selected for data transmission.
[0084] After the expected arrival time length is corrected according to the transmission performance index, the sub-stream with the shortest target arrival time length after correction can be selected for data transmission. If the sub-stream with the shortest target arrival time length cannot transmit data, for example, the sub-stream cannot support data transmission due to path failure, network interruption or protocol stack limitation, then the second shortest sub-stream can be selected for data transmission in the order from small to large, and if the second shortest sub-stream is unavailable, the third shortest sub-stream can be selected, and so on.
[0085] In the above embodiments, by obtaining network state parameters of sub-streams corresponding to different paths and performance indexes related to network transmission of sub-streams, the expected arrival time length of data packets on the sub-streams can be accurately calculated according to the network state parameters, and the performance indexes can be used to correct the expected arrival time length, so that the sub-streams with shorter time length are selected for data transmission after the corrected time length fully considers the influencing factors related to network transmission. The sub-streams can be more accurately scheduled based on the transmission time length considering the influence of network environment on transmission performance, network resources can be maximized, and transmission efficiency can be improved.
[0086] In one embodiment, the sub-streams are selected for data transmission in the order of target arrival time length from small to large, including:
[0087] obtaining data to be transmitted; arranging a plurality of sub-streams in the order of target arrival time length from small to large, and selecting sub-streams for data transmission according to the congestion degree of the sub-streams.
[0088] Specifically, it can be determined whether the congestion window of the current sub-stream is full, if not, the current sub-stream is selected for transmission, and if so, the next sub-stream of the current sub-stream is selected for transmission.
[0089] The congestion window is a TCP congestion control state variable that can limit the amount of unacknowledged data.
[0090] In some possible implementations, arranging a plurality of sub-streams in the order of target arrival time length from small to large can include:
[0091] The target sub-flow with the minimum target arrival time length is recorded as a target sub-flow, and M sub-flows with a difference value of the target arrival time length less than or equal to a delay difference threshold are selected from the N sub-flows.
[0092] Wherein, N and M are positive integers, and N>M.
[0093] In the embodiment of the application, the delay difference threshold can be defined in advance, and the range of the candidate sub-flow is controlled by the threshold, so that the sub-flow with a large difference in transmission speed from the fastest sub-flow is avoided to be used for data transmission.
[0094] Specifically, for the N sub-flows currently available between the sender and the receiver, the sub-flow with the shortest time length can be determined according to the target arrival time length of each sub-flow, and recorded as a target sub-flow or the fastest sub-flow, and the difference value of the target arrival time length of the other sub-flows from the target sub-flow is calculated one by one. The sub-flow with a difference value greater than the threshold does not participate in the arrangement and will not be selected for data transmission. The target sub-flow and the M sub-flows with a difference value less than the threshold can be arranged in order from small to large according to the time length, so as to be selected for data transmission.
[0095] For example, the sender currently has four sub-flows available, which are s1, s2, s3 and s4, and the target arrival time lengths of the four sub-flows are 80ms, 90ms, 93ms and 115ms, respectively, and the shortest time length is 80ms; if the delay difference threshold is 15ms, then s2 and s3 both satisfy the difference value of the target arrival time length from s1 being less than 15ms, and the difference value of the target arrival time length of s4 from 80ms is greater than 15ms, so s4 is removed, and only s1, s2 and s3 are arranged in order from small to large according to the target arrival time length.
[0096] In the above embodiment, the sub-flow with a large delay is screened and corrected by setting the delay difference threshold, and the candidate sub-flow that meets the condition is screened out. The sub-flow with a large difference in transmission speed from the fastest sub-flow will not participate in the subsequent sub-flow selection process, so that the sub-flow that can be used for data transmission maintains a small difference in transmission speed. In this way, when the same batch of data is transmitted through multiple sub-flows, the time of the data packets on different sub-flows arriving at the receiver will not differ too much, which can reduce the possibility of data packet disorder at the receiver and optimize the efficiency of data recombination at the receiver, thereby further improving the orderliness and reliability of transmission.
[0097] In one embodiment, the transmission performance index includes a packet loss rate and / or a signal strength, and the expected arrival time length is corrected according to the transmission performance index, including:
[0098] If the packet loss rate is greater than or equal to a preset first threshold, a weight coefficient greater than 1 is used to multiply the expected arrival time length; and / or, if the signal strength is less than or equal to a preset second threshold, a weight coefficient greater than 1 is used to multiply the expected arrival time length.
[0099] Specifically, if the packet loss rate of a certain sub-flow exceeds a set threshold or the signal strength is lower than a preset lower limit, the sub-flow can be punished and weighted after EAT calculation, so as to reduce the possibility and priority of the sub-flow for data transmission, thereby avoiding sending a large amount of data to an unstable link.
[0100] Exemplarily, a correction function F loss (·) and F sig (·) can be defined, and EAT' can be calculated by the following formula:
[0101] EAT' = EAT x F loss (PLR); or, EAT' = EAT x F sig (RSSI); or, EAT' = EAT x F loss (PLR) x F sig (RSSI).
[0102] When the PLR is high or the RSSI is low, F loss (PLR) and F sig (RSSI) are greater than 1, the value of EAT' (target arrival time) is increased, so as to reduce the priority of the sub-flow and reduce the scheduling of the sub-flow.
[0103] For example, the original EAT value (expected arrival time) of a certain sub-flow is 80 ms, the packet loss rate is 5% (i.e. PLR = 0.05), when the vehicle enters the mountain area from the city, the signal strength is -85 dBm, and the system calculates the corrected time length as 86.7 ms, so that the corrected time length of the sub-flow is greater than that of other sub-flows, thereby avoiding transmitting data through the sub-flow.
[0104] In real scenarios, the network environments of both data transmission parties can be quite different, for example, the signal strengths of the sending party and the receiving party are different, which can affect the data transmission performance of the sub-flow. For the heterogeneous network environments of both data transmission parties, more factors need to be considered to accurately schedule the sub-flow for efficient data transmission.
[0105] In the above embodiment, by using the transmission performance index to correct the expected arrival time length of the sub-flow, the link priority can be dynamically adjusted when the packet loss rate increases or the signal strength decreases, thereby avoiding the drag of high packet loss rate and weak signal link on the overall performance, maintaining high adaptability and stability in dynamic environment such as increasing packet loss rate or decreasing signal strength, and improving the adaptability and stability of the sender in dynamic network conditions, and reducing the delay accumulation caused by the performance difference of the sub-flow.
[0106] In one embodiment, after selecting the sub-flow, the data transmission process of the sub-flow further includes:
[0107] Periodically update the network state parameters and the transmission performance index, and re-determine the target arrival time length of the sub-flow based on the updated network state parameters and transmission performance index; adjust the transmission priority of the sub-flow based on the re-determined target arrival time length.
[0108] In the embodiment of the application, the network state parameters and the transmission performance index can be periodically updated at a preset frequency, and the target arrival time length of the sub-flow is re-determined based on the updated data. For the sub-flow that is still transmitting data, if after re-determining the target arrival time length, the sub-flow is no longer the sub-flow with the shortest target arrival time length, the data that has not been transmitted can be transmitted through other sub-flows.
[0109] For example, in the current period, it is determined according to the network state parameters and the transmission performance index that the target arrival time length of the sub-flow s1 is less than that of the sub-flow s2, and the sub-flow s1 is used to transmit 3 data packets; if after the sub-flow s1 transmits 1 data packet, the time comes to the next period, the network state parameters and the transmission performance index are updated to new values, and the target arrival time of the sub-flow is re-determined, and after re-determination, the target arrival time length of the sub-flow s1 is greater than that of the sub-flow s2, then the remaining 2 data packets that have not been transmitted can be transmitted through the sub-flow s2.
[0110] In some possible implementations, the method further includes: adjusting the update frequency of the transmission performance index in real time according to the change rate of the transmission performance index.
[0111] In actual application scenarios, the transmission performance index of the sub-flow can fluctuate with the change of the surrounding environment. For example, the sender device can move with the user, and when entering a tunnel or a mountainous area, the packet loss rate and the signal strength and other indicators will fluctuate, in which case the frequency of obtaining these indicators can be increased to capture rapidly changing indicator values; when entering a signal stable area, the packet loss rate and the signal strength and other indicators will also tend to be stable, in which case the frequency of obtaining these indicators can be reduced to reduce the occupation of resources.
[0112] In some possible implementations, the network interfaces of the sender device can be uniformly managed, including network state monitoring, link management, and priority allocation, etc.
[0113] Exemplarily, the multi-path transmission scheduling method of the embodiment of the application further comprises:
[0114] Step one: initialization of network interface management. Detect all network interfaces of the sender device, including 4G, 5G, Wi-Fi, etc.
[0115] Step two: network interface state monitoring. Real-time monitoring of the state and performance indicators of each network interface, such as bandwidth, delay, packet loss rate, and signal strength.
[0116] Step three: link management and priority allocation. Register and manage the detected network interfaces, and dynamically allocate priorities according to the performance indicators.
[0117] Step four: automatic switching and fault handling. When a link fails or its performance decreases, automatically switch to other available links to ensure the continuity and stability of network connection.
[0118] Step five: MPTCP protocol stack enabling. Enable the MPTCP protocol stack on the vehicle-mounted system and the server, and create and manage multiple sub-flows.
[0119] Step six: calculation of expected arrival time (EAT). Based on the current network state parameters, calculate the expected arrival time of each sub-flow, which is composed of queuing delay, transmission time, and propagation delay. Optionally, the expected arrival time is corrected according to indicators such as packet loss rate and signal strength.
[0120] Step seven: selection of optimal sub-flow. Select the sub-flow with the shortest time (expected arrival time or target arrival time) for data transmission. If a delay difference threshold is set, the candidate sub-flows that meet the conditions can be filtered out, and the sub-flow with the shortest time is selected from the candidate sub-flows for data transmission, and the network state parameters of the sub-flow are updated in real time to keep the scheduling logic synchronized with the network changes.
[0121] Step eight: periodic parameter update. Periodically update the network state parameters and transmission performance indicators of all sub-flows, and recalculate the target arrival time of each sub-flow to adaptively update the transmission priority of the sub-flow, ensuring that the scheduling decision is always based on the latest network state.
[0122] In the above embodiments, by periodically updating the network state parameters and the transmission performance indicators and re-determining the target arrival time length, the priority of the sub-flow transmission data can be dynamically adjusted, the data packets can be more efficiently scheduled, the transmission real-time performance can be optimized, the data packets can be transmitted through the sub-flow transmission with more abundant real-time bandwidth and higher efficiency, the bandwidth utilization rate can be effectively improved, and the data transmission efficiency and stability can be significantly improved.
[0123] To further embody the beneficial effects of the multi-path transmission scheduling method in the embodiments of the present application compared with other multi-path transmission methods, three algorithms of MinRTT, ActiveRTT and RR are selected as comparative examples, and the real indicators of the multi-path transmission scheduling method in the embodiments of the present application (hereinafter referred to as EATSA) and the comparative example algorithms are tested in an experimental network environment.
[0124] Among them, EATSA (Expected Arrival Time-based Scheduling Algorithm, based on expected arrival time scheduling algorithm) is a multi-path transmission scheduling algorithm provided in the embodiments of the present application.
[0125] MinRTT (Minimum-RTT Scheduler, Minimum Round Trip Time Scheduler) is a scheduling algorithm that always selects the sub-flow with the minimum current RTT for data transmission. The MinRTT algorithm selects the path according to the minimum round trip time (RTT). Each time data is transmitted, it assigns the data packet to the sub-flow with the minimum current RTT (provided that the congestion window of the sub-flow is not full). This algorithm aims to transmit data using the path with the lowest delay, in order to shorten the transmission delay and reduce the out-of-order.
[0126] ActiveRTT (Active-RTT Scheduler, Active RTT Scheduler) is a scheduling strategy that selects sub-flows based on the latest RTT measurement results. The Active RTT algorithm is an improvement of MinRTT, and the core idea is to actively refresh the delay estimate to better utilize sub-optimal paths. It is also based on RTT minimum priority, but overcomes the problem that MinRTT may ignore sub-optimal links by actively detecting and updating the RTT of slower sub-flows. In addition, Active RTT attempts to estimate the one-way delay rather than simply assuming half of the RTT, so as to more accurately determine the data arrival time.
[0127] RR (Round Robin, Round Robin scheduling) refers to the fixed order cycle selection of available sub-flow for sending, balanced allocation of traffic algorithm. Round Robin (Round Robin) algorithm does not consider network delay or bandwidth difference, but evenly round the data packets to each available sub-flow. Specifically, it cycles through the sub-flow list in order, each time selecting the next sub-flow to send a data packet. If a sub-flow is temporarily unavailable (congestion window full or sub-flow disconnected), skip it and continue to poll the next one. The algorithm pursues the fairness of path usage.
[0128] The configuration of the experimental equipment is shown in Table 1 below.
[0129]
[0130] Table 1
[0131] The experimental network environment configuration is shown in Table 2 below.
[0132]
[0133] Table 2
[0134] Among them, the experiment is completed in the Linux environment supporting MPTCP, using the traffic control tool TC to simulate the asymmetric network condition. The scene is set to the bandwidth asymmetric condition similar to the real network environment. The file transfer size is uniform 50MB, and each algorithm is tested in the same environment.
[0135] The test results of environment one are shown in Table 3 below.
[0136]
[0137] Table 3
[0138] The test results of environment two are shown in Table 4 below.
[0139]
[0140] Table 4
[0141] The test results of environment three are shown in Table 5 below.
[0142]
[0143] Table 5
[0144] The test results of environment four are shown in Table 6 below.
[0145]
[0146] Table 6
[0147] Compared with the above experimental test results, the multi-path transmission scheduling method (EATSA) of the present application exhibits the following multiple technical advantages as a whole: first, it can significantly improve the data transmission efficiency; second, it can effectively improve the bandwidth utilization rate; third, it can improve the system reliability by reducing the data packet disorder phenomenon; fourth, it can reduce the transmission delay to enhance the real-time performance; and fifth, it can maintain high adaptability and stability in dynamic environments with high packet loss rate or weak signal strength, specifically:
[0148] 1) Significantly improve data transmission efficiency. Experimental results show that EATSA performs higher transmission rate in various network environments. For example, in dynamic experimental scenarios, the average transmission rate of the present application is 1275.40 kb / s, which is 9.47% higher than the traditional MinRTT algorithm and 7.04% higher than the ActiveRTT algorithm. This result proves that the EATSA algorithm can effectively utilize multi-path resources, optimize transmission path selection, and fully utilize bandwidth aggregation capabilities.
[0149] 2) Improve bandwidth utilization. Experimental data shows that the bandwidth utilization rate of EATSA in all experimental scenarios is maintained at more than 88%, with a maximum of 91.90%, which is better than traditional algorithms (such as MinRTT's 84.78% and RR's 57.01%). This result shows that the present application can fully integrate the resources of multiple links, reduce bandwidth waste, and significantly improve the overall efficiency of multi-path transmission.
[0150] 3) Reduce data packet disorder and improve reliability. The EATSA algorithm reduces the frequency of data packet disorder by introducing a delay difference threshold Δ and an EAT correction mechanism, optimizing the efficiency of data reorganization at the receiving end, and further improving the reliability of the system.
[0151] 4) Reduce transmission delay and enhance real-time performance. In all test scenarios, the average transmission time of the EATSA algorithm shows excellent theoretical performance. Based on the designed dynamic scheduling mechanism, the present application can quickly respond to network state changes in dynamic environments. Compared with existing algorithms (such as ActiveRTT and MinRTT), theoretical analysis shows that the present application can more efficiently schedule data packets through dynamic priority adjustment and delay difference control mechanisms, thereby optimizing transmission real-time performance and reducing delay accumulation caused by performance differences between subflows.
[0152] In addition, the correction mechanism of the present application can dynamically adjust the link priority when the packet loss rate increases or the signal strength decreases, thereby avoiding the drag of high packet loss rate and weak signal link on overall performance.
[0153] The above effect data is measured by an experiment in a static network environment. The static network environment simulates an ideal scenario of different bandwidth allocation (1 Mbps to 5 Mbps), fixed delay (10 ms) and no packet loss.
[0154] The embodiment of the present application also provides a multi-path transmission scheduling system, comprising a sender device and a receiver device, and a plurality of sub-flows are established between the sender device and the receiver device based on a multi-path transmission protocol. When data transmission is performed between the sender device and the receiver device, the sender device can schedule the sub-flows based on the method in any of the above embodiments.
[0155] In one embodiment, the multi-path transmission scheduling system comprises a network interface management module, a multi-path transmission protocol stack module, a scheduling module and a monitoring module.
[0156] The network interface management module is configured to monitor the state of the network interface of the sender device and adjust the priority of the network interface according to the state of the network interface. The multi-path transmission protocol stack module is configured to manage the creation, maintenance and termination of the plurality of sub-flows, and each sub-flow corresponds to an independent network path. The scheduling module is configured to distribute the data traffic to be sent to the sub-flows according to the state of the network interface. The monitoring module is configured to periodically acquire the network state parameters and transmission performance indicators of the sub-flows and send them to the scheduling module.
[0157] Figure 3 A data interaction schematic diagram of a multi-path transmission scheduling system is provided for the exemplary embodiment of the present application. As shown in the figure, Figure 3 The network interface management module can monitor the network state information of the network interface, the network interface can include different interfaces such as 4G, 5G and Wi-Fi, and the interface related information is sent to the multi-path transmission protocol stack module. The multi-path transmission protocol stack module can create and manage the sub-flows based on the information, synchronize the sub-flow information to the scheduling module, and select the sub-flow for data sending according to the scheduling instruction of the scheduling module. The scheduling module can acquire the real-time network parameters (including network state parameters and transmission performance indicators, etc.) of each sub-flow from the monitoring module, determine the sub-flow for sending data and synchronize it to the multi-path transmission protocol stack module in the form of data scheduling instruction. The monitoring module can periodically collect the real-time network parameters of the sub-flow, or collect the real-time network parameters of the sub-flow according to the parameter request of the scheduling module, or receive the performance information fed back by the network interface management module. Figure 3 The external network interface in the figure can refer to the network interface of the receiver device.
[0158] The network interface management module can include an interface detection and state monitoring submodule, a link management submodule, an interface priority management submodule, and an interface switching and fault handling submodule. The interface detection and state monitoring submodule is responsible for real-time detection of the state and performance indicators of all available network interfaces, such as bandwidth, delay, packet loss rate, and signal strength. The link management submodule is responsible for managing the registration, state maintenance, and priority allocation of links to ensure that all links can participate in real-time bandwidth aggregation. The interface priority management submodule dynamically adjusts the priority of each network interface based on real-time performance indicators of the links to ensure that the system can prioritize the best-performing link for data transmission in different situations. The interface switching and fault handling submodule is responsible for automatically switching to other available links when a link fails or its performance decreases, ensuring the continuity and stability of network connections.
[0159] The multi-path transmission protocol stack module, as the core of the entire architecture, can aggregate links from multiple network interfaces into a virtual high-bandwidth link to achieve multi-path data transmission. This module is characterized by its ability to improve bandwidth utilization and fault tolerance, providing high-bandwidth, low-latency data transmission services to upper-layer applications. Its positioning is as the data transmission core of the system, requiring the lower layer to provide multiple available network paths and network interface state information as a foundation. The multi-path transmission protocol stack module is composed of a sub-flow management submodule and a data distribution submodule. The sub-flow management submodule is responsible for managing and coordinating the creation, maintenance, and termination of multiple sub-flows, each corresponding to an independent network path. The data distribution submodule is responsible for fragmenting data from the application layer and transmitting it through different sub-flows, and finally reassembling it at the receiving end. This process is transparent to the application layer, ensuring that application programs can benefit from multi-path transmission without modification.
[0160] The scheduling module can intelligently allocate data traffic to each link based on real-time network status, ensuring maximum bandwidth utilization and improving communication quality. This module is characterized by its ability to dynamically select the most suitable data transmission path based on the target arrival time of each sub-flow, providing optimized data transmission strategies for upper-layer tasks. Its positioning is as the intelligent decision center of the system, requiring the lower layer to provide real-time network parameters and sub-flow state information as a foundation. The scheduling module is composed of an EAT calculation submodule and a data scheduling submodule. The EAT calculation submodule is responsible for calculating the expected arrival time and target arrival time of each sub-flow. The data scheduling submodule selects the sub-flow with the shortest time to transmit data and, if necessary, introduces a delay difference threshold to control the range of candidate sub-flows, reducing the possibility of data packet reordering.
[0161] The monitoring module can be used to monitor the key network parameters of all links in real time, including bandwidth, delay, packet loss rate, etc., and provide real-time feedback to the scheduling module for optimization decision. The feature of this module is that it can continuously and accurately monitor the performance of all network links, providing accurate real-time data support for the upper scheduling module. Its positioning is as the data monitoring and feedback center of the system, which needs the lower layer to provide real-time state information of network interface and link as the basis. The monitoring module is composed of parameter collection submodule and data analysis submodule. The parameter collection submodule is responsible for real-time collection of network interface traffic and bandwidth utilization, and measures the delay and packet loss rate through self-defined network test tools (such as ICMP Ping or HTTP request). The data analysis submodule is responsible for statistical analysis of the collected network parameter data for optimization in future scheduling decisions.
[0162] In some possible implementations, the workflow of the scheduling module can include:
[0163] 1) Initialization setting, including setting delay difference threshold (if needed), and initializing network state parameters for each subflow, such as round-trip time (RTT), bandwidth (BW), congestion window (CWND), maximum packet size (MSS) and unacknowledged data volume (U).
[0164] 2) Traverse all available subflows through the main scheduling function, and select the best subflow for each data packet for transmission; the function calculates the queuing delay, transmission time and propagation delay by obtaining the real-time parameters of each subflow, and then obtains the expected arrival time and target arrival time, and determines the subflow with the shortest time.
[0165] 3) If the delay difference threshold is set, the delay difference screening step will be performed to screen out candidate subflows that meet the conditions, and the subflow with the shortest time will be selected from them for data transmission to reduce the possibility of data packet reordering.
[0166] 4) Update network parameters. Update the network parameters of all subflows periodically through the function to ensure that the scheduling decisions of the algorithm are based on the latest network status.
[0167] 5) Main program loop. In the main program Main, the relevant functions run continuously, periodically update the network parameters and send data. This loop can ensure that the system can dynamically adapt to changes in network status and optimize data transmission paths in real time.
[0168] In some possible implementations, the performance of the system scheduling transmission can also be evaluated periodically, including throughput, delay and data packet reordering, and optimized according to the evaluation results to further improve data transmission efficiency and communication quality.
[0169] Through the above-mentioned manner, the scheduling module can intelligently select the optimal transmission path, optimize the delay and throughput of data transmission, and reduce the possibility of packet disorder, thereby improving the performance of MPTCP in a heterogeneous and dynamic network environment. The design of the module enables it to adapt to changing network conditions and provide a flexible and efficient solution for data transmission.
[0170] To further embody the applicable scenarios of the multi-path transmission scheduling system provided by the embodiments of the present application, a specific example is described below. In this example, the multi-path transmission scheduling system includes a sender device and a receiver device, the sender device includes device A (a car owner's mobile phone) and device B (a car machine), and the receiver device can be a cloud server or other device. The multi-path transmission scheduling system can further include a network interface management module, a multi-path transmission protocol stack module, a scheduling module, and a monitoring module.
[0171] The network interface management module can be used to access and manage all available network interfaces of the car owner's mobile phone and the car machine, such as 4G, 5G, Wi-Fi, etc. The feature of this module is that it can dynamically monitor the state and performance of each link and provide real-time network state information for the upper-layer data transmission task. Its positioning is to serve as a bridge for the system to connect with external networks, and it needs the basic network interface support and state feedback function provided by the lower layer as a foundation.
[0172] As shown in Figure 3 The implementation of the network interface management module involves real-time monitoring and management of all network interfaces of device A (the car owner's mobile phone) and device B (the car machine), especially in the scenario of high-speed vehicle movement. This module can dynamically adjust the priority of each link by combining the prediction of vehicle movement trajectory and real-time feedback of network state. For example, when the vehicle enters the highway from the city, the network interface management module will quickly switch to a network interface with low packet loss and high reliability (such as 4G / 5G) according to the changes in real-time signal strength (RSSI) and packet loss rate (PLR). At the same time, when the vehicle enters the mountain area, the system will preferentially use the Wi-Fi with the strongest signal or the backup link to ensure the continuity and stability of communication.
[0173] Figure 4 A data interaction diagram of a network interface management module provided for an exemplary embodiment of the present application is shown in Figure 4As shown, the module detects the status of the network interface through the interface detection and status monitoring submodule, periodically sends probe packets to detect the status of the network interface, including bandwidth, delay, packet loss rate and signal strength and other performance indicators. For example, when device A connects to the Internet through its 4G interface, the module will monitor the stability and speed of the connection. Once a new device or link state change is found, the system will update the link management database to ensure the accuracy of all link information. The link management submodule is responsible for maintaining the registration information and status of each link, while the interface priority management submodule dynamically adjusts the interface priority based on real-time performance data to ensure that the system can prioritize the best-performing link for data transmission in different situations. For example, if device B's Wi-Fi connection has lower latency than device A's 5G connection, the system will prefer to transmit data through the Wi-Fi link. When the main link fails, the interface switching and fault handling submodule will automatically switch to the backup link and reinitialize data transmission to ensure uninterrupted communication.
[0174] The multi-path transmission protocol stack module, as the core of the entire architecture, is responsible for aggregating the links from multiple network interfaces of device A and device B into a virtual high-bandwidth link, enabling multi-path transmission of data. The sub-flow management submodule monitors the status of each sub-flow, including connection quality, data transmission rate and error rate, and creates new sub-flows when new network interfaces are available, as can be seen from the architecture diagram Figure 3 . The data distribution submodule divides data packets into smaller fragments and distributes them to different sub-flows according to the instructions of the EATSA module, and reassembles these fragments at the receiving end to recover the original data packets. For example, if device A receives a large file through its 5G interface, the multi-path transmission protocol stack module will divide the file and may send data fragments through device A's 5G interface and device B's Wi-Fi interface simultaneously to optimize transmission efficiency.
[0175] The scheduling module intelligently allocates data traffic to each link based on real-time network status, ensuring maximum bandwidth utilization and improving communication quality. The EAT calculation submodule is responsible for calculating the expected arrival time of each sub-flow, which consists of queuing delay, transmission time and propagation delay. In addition, to adapt to dynamic network scenarios, the EAT calculation submodule also introduces a correction mechanism for packet loss rate (PLR) and signal strength (RSSI), which can obtain the target arrival time of the sub-flow through correction.
[0176] The data scheduling submodule selects the substream with the minimum duration according to the EAT value for data transmission, and introduces a delay difference threshold when necessary to control the range of candidate substreams and reduce the possibility of data packet reordering. In the high-speed mobile scenario, when the vehicle passes through the edge area of the network base station coverage, the signal strength and packet loss rate will change rapidly. The system monitors the performance status of each substream in real time by increasing the detection frequency of network parameters, and dynamically updates the duration calculation result to ensure the selection of the optimal link. For example, when the target arrival time of the main link exceeds the threshold due to the increase of PLR, the scheduling module can complete the substream switching within hundreds of milliseconds to ensure the continuity and orderliness of data transmission and reduce the possibility of data packet reordering. For example, if it is calculated that the expected arrival time of sending data through the 4G interface of device A is shorter than that through the Wi-Fi interface of device B, the scheduling module will preferentially select the 4G interface of device A. The flow of the scheduling algorithm relied on by the scheduling module can be seen from Figure 5 , wherein the bubbles represent example values.
[0177] The monitoring module can monitor the key network parameters of all links in real time, including bandwidth, delay, packet loss rate and signal strength, etc., and provide real-time feedback to the scheduling module for optimization decision. Especially in the high-speed mobile scenario of the vehicle, the monitoring module can dynamically adjust the detection frequency, for example: when the system detects that the vehicle enters a tunnel or mountain area, the detection frequency is increased to several times per second to capture the rapid changes of RSSI and PLR; when the vehicle enters a signal stable area, the detection frequency will be reduced to reduce the occupation of resources.
[0178] In addition, the monitoring module can also combine the vehicle's moving trajectory prediction to evaluate the possible network condition changes in advance and provide early warning information for the scheduling module to optimize the scheduling decision.
[0179] The parameter collection submodule uses custom scripts and system calls to collect network parameters, while the data analysis submodule uses statistical methods to identify the trend and abnormality of network performance, and these analysis results are used to optimize the scheduling decision of EATSA. For example, if a high packet loss rate is detected on the 5G interface of device A, the data analysis submodule will analyze this trend and may suggest the scheduling module to temporarily avoid using this link.
[0180] The process of the multi-path transmission method using the embodiments of the application will be further described below in combination with the above system and examples, which can include:
[0181] Step S101: Initialize network interface management.
[0182] Substep S1011: Start the network interface management module, detect all network interfaces of the vehicle owner's mobile phone and the vehicle machine, including 4G, 5G, Wi-Fi, etc.
[0183] Sub-step S1012: Through the interface detection and state monitoring submodule, periodically send probe data packets to detect the state of the network interface, including bandwidth, delay, packet loss rate and signal strength and other performance indicators.
[0184] Sub-step S1013: Once new devices or link state changes are found, the system will update the link management database to ensure the accuracy of all link information.
[0185] Step S102: Network interface state monitoring.
[0186] Sub-step S1021: Continuously monitor the status and performance indicators of each network interface to ensure that the system can respond to real-time changes in network conditions.
[0187] Step S103: Link management and priority allocation.
[0188] Sub-step S1031: Register and manage the detected network interfaces, maintaining registration information and status for each link.
[0189] Sub-step S1032: Dynamically allocate priorities based on performance indicators to ensure that the system can prioritize the best-performing link for data transmission in different situations.
[0190] Step S104: Automatic switching and fault handling.
[0191] Sub-step S1041: Monitor the performance of the primary link and trigger the switching mechanism immediately upon detecting a fault or performance degradation.
[0192] Sub-step S1042: Automatically switch to the backup link and reinitialize data transmission to ensure uninterrupted communication.
[0193] Step S105: MPTCP protocol stack enablement.
[0194] Sub-step S1051: Enable the MPTCP protocol stack on the vehicle-mounted system and server, creating and managing multiple subflows.
[0195] Step S106: Data distribution and reassembly. It is important to note that the data distribution and reassembly in this step aims to pre-label the data to be sent with an available subflow, completing the initialization process of the algorithm regarding data corresponding to subflows, and does not indicate the selection of subflows to send data to the receiver through this step.
[0196] Sub-step S1061: Split the data packets into smaller fragments.
[0197] Sub-step S1062: Assign data fragments to different subflows according to the instructions of the scheduling module.
[0198] Sub-step S1063: Reassemble the fragments at the receiving end to recover the original data packet, ensuring data integrity and order.
[0199] Step S107: Schedule algorithm initialization.
[0200] Sub-step S1071: Set the base parameters of the scheduling algorithm, including the delay difference threshold (if needed).
[0201] Sub-step S1072: Initialize the network state parameters of each subflow, such as RTT, BW, CWND, MSS, and U, where U represents the amount of unacknowledged data.
[0202] Step S108: Calculate the Expected Arrival Time (EAT).
[0203] Sub-step S1081: Calculate the ratio of the amount of unacknowledged data on the subflow to the size of the congestion window to determine the queuing delay.
[0204] Sub-step S1082: Calculate the transmission time based on the data packet size and the available bandwidth of the subflow.
[0205] Sub-step S1083: Use half of the Round Trip Time (RTT) as an approximation of the propagation delay.
[0206] Sub-step S1084: Modify the EAT based on the packet loss rate (PLR) and signal strength (RSSI).
[0207] Step S109: Select the optimal subflow.
[0208] Sub-step S1091: Select the subflow with the smallest EAT value for data transmission.
[0209] Sub-step S1092: If a delay difference threshold Δ is set, filter out candidate subflows that meet the conditions and select the subflow with the smallest EAT from among them.
[0210] Step S110: Data transmission and parameter update.
[0211] Sub-step S1101: Assign the data packet to the selected subflow for transmission.
[0212] Sub-step S1102: Update the network state parameters of the subflow in real time to keep the scheduling logic synchronized with network changes.
[0213] Step S111: Real-time network parameter monitoring.
[0214] Sub-step S1111: Use custom scripts and system calls to collect network parameters.
[0215] Sub-step S1112: Continuously monitor network parameters to provide real-time data support for the scheduling module.
[0216] Step S112: Data analysis and feedback.
[0217] Sub-step S1121: Use statistical methods to identify trends and anomalies in network performance.
[0218] Sub-step S1122: Feedback the analysis results to the scheduling module for optimization decision-making.
[0219] Step S113: Periodic network parameter update.
[0220] Sub-step S1131: Periodically update the network parameters of all sub-streams through the Update_Network_Parameters function, ensuring that the scheduling decisions of the scheduling algorithm are always based on the latest network status.
[0221] Step S114: Main program loop.
[0222] Sub-step S1141: In the main program Main, the scheduling algorithm runs continuously, periodically updates network parameters and sends data.
[0223] Sub-step S1142: This loop ensures that the scheduling algorithm can dynamically adapt to changes in network status and optimize data transmission paths in real time.
[0224] Step S115: Performance evaluation and adjustment.
[0225] Sub-step S1151: Periodically evaluate the performance of the system scheduling scheme, including throughput, delay and packet reordering.
[0226] Sub-step S1152: Adjust the parameters of the scheduling algorithm according to the evaluation results to further improve data transmission efficiency and communication quality.
[0227] Through the above steps, the intelligent bandwidth compensation scheme can achieve efficient data transmission in a multi-path transmission scenario, optimize the use of network resources, and improve the stability and reliability of vehicle-mounted network communication while ensuring data transmission quality.
[0228] Figure 6 A structure diagram of a multi-path transmission scheduling device provided for an exemplary embodiment of the present application. As shown in the figure, the multi-path transmission scheduling device 600 can include: Figure 6
[0229] The acquisition module 601 is configured to acquire network status parameters and transmission performance indicators of a plurality of path corresponding sub-streams.
[0230] The computing module 602 is configured to calculate an expected arrival duration of the sub-flow according to the network state parameter.
[0231] The correcting module 603 is configured to correct the expected arrival duration according to the transmission performance index to obtain a corrected target arrival duration.
[0232] The transmission module 604 is configured to select the sub-flow for data transmission in the order of the target arrival duration from small to large.
[0233] In an embodiment, the transmission module 604 is further configured to: acquire data to be transmitted; arrange the plurality of sub-flows in the order of the target arrival duration from small to large, and select the sub-flow for transmitting the data to be transmitted according to the congestion degree of the sub-flow.
[0234] In an embodiment, the transmission module 604 is further configured to: determine whether the congestion window of the current sub-flow is full, if not, select the current sub-flow for transmission, and if yes, select the next sub-flow of the current sub-flow for transmission.
[0235] In an embodiment, the transmission module 604 is further configured to: for the target arrival durations of the N sub-flows, record the sub-flow with the smallest target arrival duration as a target sub-flow; select M sub-flows from the N sub-flows, which have a difference in target arrival duration with the target sub-flow less than or equal to a delay difference threshold; arrange the target sub-flow and the M sub-flows in the order of the target arrival duration from small to large; wherein N and M are positive integers, and N>M.
[0236] In an embodiment, the transmission module 604 is further configured to: periodically update the network state parameter and the transmission performance index, and re-determine the target arrival duration of the sub-flow according to the updated network state parameter and transmission performance index; and adjust the transmission priority of the sub-flow based on the re-determined target arrival duration.
[0237] In an embodiment, the transmission module 604 is further configured to: adjust the update frequency of the transmission performance index in real time according to the change rate of the transmission performance index.
[0238] In an embodiment, the correcting module 603 is further configured to: if the packet loss rate is greater than or equal to a preset first threshold, multiply the expected arrival duration by a weight coefficient greater than 1; and / or, if the signal strength is less than or equal to a preset second threshold, multiply the expected arrival duration by a weight coefficient greater than 1.
[0239] The multi-path transmission scheduling device provided in the embodiment is configured to execute the technical solutions in any of the method embodiments, and has similar implementation principles and technical effects, which will not be described herein.
[0240] It should be understood that the above-mentioned device embodiments are only illustrative, and the device of the present application can also be implemented in other manners. For example, the division of units / modules in the above-mentioned embodiments is only a logical function division, and actual implementation can have another division manner. For example, a plurality of units / modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed.
[0241] In addition, each functional unit / module in each embodiment of the present application can be integrated into one unit / module, or each unit / module can exist physically, or two or more units / modules can be integrated together. The integrated unit / module can be realized in the form of hardware or in the form of a software program module.
[0242] Figure 7 A structural schematic diagram of an electronic device is provided for an exemplary embodiment of the present application. As shown in the figure, the electronic device 70 includes: Figure 7
[0243] a processor 71, a memory 72, and a communication interface 73;
[0244] The memory 72 is configured to store executable instructions of the processor 71. The executable instructions can be computer executable instructions.
[0245] The processor 71 is configured to execute the technical solutions in any of the preceding method embodiments by executing the executable instructions.
[0246] Optionally, the memory 72 can be independent or integrated with the processor 71.
[0247] Optionally, when the memory 72 is independent of the processor 71, the electronic device 70 can further include:
[0248] a bus 74, the memory 72 and the communication interface 73 are connected with the processor 71 through the bus 74 and complete communication with each other, and the communication interface 73 is configured to communicate with other devices.
[0249] Optionally, the communication interface 73 can be realized by a transceiver. The communication interface is configured to realize communication between the database access device and other devices (for example, a client, a read-write library and a read-only library). The memory can include a random access memory (RAM) and can also include a non-volatile memory, for example, at least one disk memory.
[0250] The bus 74 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one line is shown in the figure, but it does not mean that there is only one bus or only one type of bus.
[0251] The processor described above can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.
[0252] The electronic device is used to execute the technical solutions in any of the preceding method embodiments, and has similar implementation principles and technical effects, which will not be described here.
[0253] The embodiment of the application further provides a readable storage medium, which can be a computer readable storage medium, and a computer program is stored on the readable storage medium, and the computer program is executed by a processor to implement the technical solutions provided by any of the preceding method embodiments.
[0254] The embodiment of the application further provides a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the technical solutions provided by any of the preceding method embodiments.
[0255] Those skilled in the art can understand that all or part of the steps of the above-mentioned method embodiments can be completed by program instruction related hardware. The foregoing program can be stored in a computer readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the foregoing storage medium includes ROM, RAM, magnetic disk or optical disk and various storage media that can store program codes.
[0256] In the above embodiments, the description of each embodiment has its own focus, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments. Each technical feature of the above-mentioned embodiments can be combined arbitrarily, and in order to make the description concise, all possible combinations of the technical features in the above-mentioned embodiments are not described, however, as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.
[0257] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.
[0258] The above examples are merely illustrative of the preferred embodiments of the present application, and do not limit the scope of the present application. Any equivalent variations or modifications of the present application are possible in light of the above teachings, and these variations and modifications fall within the scope of the present application.
Claims
1. A multipath transmission scheduling method, characterized in that, include: Obtain network status parameters and transmission performance metrics for sub-streams corresponding to multiple paths; The expected arrival time of the sub-stream is calculated based on the network state parameters; The expected arrival time is corrected based on the transmission performance indicators to obtain the corrected target arrival time. Substreams are selected for data transmission in ascending order of target arrival time.
2. The multipath transmission scheduling method according to claim 1, characterized in that, The step of selecting sub-streams for data transmission in ascending order of target arrival time includes: Get the data to be transmitted; Multiple sub-streams are arranged in ascending order of target arrival time, and the data to be transmitted is selected sequentially according to the congestion level of the sub-streams.
3. The multipath transmission scheduling method according to claim 2, characterized in that, The step of sequentially selecting sub-streams to transmit the data to be transmitted based on their congestion levels includes: Determine if the congestion window of the current sub-stream is full. If it is not full, select the current sub-stream for transmission. If it is full, select the next sub-stream of the current sub-stream for transmission.
4. The multipath transmission scheduling method according to claim 2, characterized in that, The arrangement of multiple sub-streams according to the target arrival time in ascending order includes: Given the target arrival times of N sub-streams, the sub-stream with the shortest target arrival time is designated as the target sub-stream. Select M sub-streams from the N sub-streams whose difference from the target arrival time of the target sub-stream is less than or equal to the delay difference threshold; Arrange the target sub-stream and M sub-streams in ascending order of target arrival time; Where N and M are positive integers, and N > M.
5. The multipath transmission scheduling method according to any one of claims 1 to 4, characterized in that, The data transmission process also includes: The network status parameters and transmission performance indicators are periodically updated, and the target arrival time of the sub-stream is re-determined based on the updated network status parameters and transmission performance indicators. The transmission priority of substreams is adjusted based on the redefined arrival time of the target.
6. The multipath transmission scheduling method according to claim 5, characterized in that, Also includes: The update frequency of the transmission performance index is adjusted in real time based on the rate of change of the transmission performance index.
7. The multipath transmission scheduling method according to any one of claims 1 to 4, characterized in that, The transmission performance metrics include packet loss rate and / or signal strength, and the step of correcting the expected arrival time based on the transmission performance metrics includes: If the packet loss rate is greater than or equal to a preset first threshold, the expected arrival time is multiplied by a weighting coefficient greater than 1. And / or, If the signal strength is less than or equal to a preset second threshold, the expected arrival time is multiplied by a weighting coefficient greater than 1.
8. A multi-path transmission scheduling system, characterized in that, include: A sending device and a receiving device, wherein the sending device and the receiving device establish multiple sub-streams based on a multipath transport protocol, and the sending device schedules the sub-streams based on the method described in any one of claims 1 to 7.
9. The multipath transmission scheduling system according to claim 8, characterized in that, The multipath transmission scheduling system includes a network interface management module, a multipath transmission protocol stack module, a scheduling module, and a monitoring module. The network interface management module is used to monitor the status of the network interface of the sending device, and also to adjust the priority of the network interface according to the status of the network interface; The multipath transport protocol stack module is used to manage the creation, maintenance and termination of multiple sub-streams, with each sub-stream corresponding to an independent network path; The scheduling module is used to allocate the data traffic to be sent to sub-streams according to the status of the network interface; The monitoring module is used to periodically acquire network status parameters and transmission performance indicators of the sub-stream and send them to the scheduling module.
10. A multi-path transmission scheduling device, characterized in that, include: The acquisition module is used to acquire network status parameters and transmission performance indicators of sub-streams corresponding to multiple paths; The calculation module is used to calculate the expected arrival time of the sub-stream based on the network state parameters; The correction module is used to correct the expected arrival time according to the transmission performance index to obtain the corrected target arrival time. The transmission module is used to select sub-streams for data transmission in ascending order of the arrival time of the target.
11. An electronic device, characterized in that, include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 7.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 7.
13. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 7.