RTT measurement method and device, chip and storage medium

By calculating dual-channel RTT in WiFi system, the problem of uneven resource allocation in multi-channel transmission is solved, and QoS guarantee for delay-sensitive services is achieved.

CN120475427APending Publication Date: 2025-08-12HONOR DEVICE CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411261999.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-10
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

Existing WiFi systems are difficult to meet the QoS needs of different types of services in multi-channel transmission, especially in the coexistence scenarios of screen projection and file transmission. File transmission services may occupy too much system time, resulting in increased delay in screen projection services, and even queue cache overflow and interference timeout.

Method used

By receiving acknowledge messages on both channels, the round trip time (RTT) of each channel is calculated to save resource overhead and optimize dual-channel transmission scheduling.

Benefits of technology

It effectively reduces resource overhead, improves the efficiency of system resources utilization, and ensures the QoS requirements for delay-sensitive services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120475427A_ABST
    Figure CN120475427A_ABST
Patent Text Reader

Abstract

The invention discloses an RTT measurement method and device, a chip and a storage medium. The method comprises the following steps: respectively sending a first group of data and a second group of data in a data packet to second equipment through a first channel and a second channel at a first moment; receiving an acknowledgement message from the second device through the first channel at a second moment, the acknowledgement message indicating that the data packet is correctly received and carrying a first time difference between completion of receiving of the first group of data by the second device and completion of receiving of the second group of data by the second device; obtaining round-trip time of the first channel about the first group of data based on the first moment and the second moment; the round-trip time of the second channel with respect to the second group of data is obtained based on the round-trip time of the first channel and the first time difference. According to the method provided by the invention, through the acknowledgement message received on one channel, the RTT of each of the two channels about the data transmitted on the channel can be obtained, the resource overhead can be saved, and a reference can be provided for resource scheduling and optimization of dual-channel transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a round-trip time (RTT) measurement method, device, chip, and storage medium. Background Art

[0002] Current Wi-Fi systems use 2.4GHz or 5GHz as transmission frequencies. Due to the diverse needs of different services, transmitting data solely on a single channel is insufficient to guarantee the QoS requirements of application-layer services. For example, in scenarios where screen projection and file transfer services coexist, multiple low-priority file transfer services can still excessively occupy system transmission time, as the file transfer service always has data waiting to be sent before the transfer is complete. This can result in insufficient data throughput for the screen projection service, leading to significant latency and even queue buffer overflows. Furthermore, screen projection services can also time out due to interference.

[0003] In order to fully utilize the available frequency bands for efficient transmission, it is crucial to use the 2.4 GHz and / or 5 GHz frequency bands for multi-channel transmission. Dual-channel RTT information is an important basis for dual-channel transmission scheduling. Summary of the Invention

[0004] An embodiment of the present application provides an RTT measurement method, device, chip, and storage medium. Based on the method described in the present application, the RTT of the two channels regarding the data transmitted thereon can be obtained by using a confirmation message received on one of the two channels, which is beneficial for saving resource overhead.

[0005] In the first aspect, the present application provides an RTT measurement method, which includes: at a first moment, sending a first set of data in a data packet to a second device through a first channel, and sending a second set of data in the data packet to the second device through a second channel; at a second moment, receiving a confirmation message from the second device through the first channel, the confirmation message indicating that the data packet is correctly received, and the confirmation message carries a first time difference, the first time difference is the time difference between a fourth moment and a third moment, the third moment is the moment when the second device completes receiving the second set of data through the second channel, the fourth moment is the moment when the second device completes receiving the first set of data through the first channel, and the fourth moment is no earlier than the third moment; based on the first moment and the second moment, obtaining the round-trip time of the first channel for the first set of data; based on the round-trip time of the first channel and the first time difference, obtaining the round-trip time of the second channel for the second set of data.

[0006] Based on the method described in the first aspect, by utilizing the confirmation message received on one of the two channels, the RTT of the two channels regarding the data transmitted thereon can be obtained, which is conducive to saving resource overhead and can provide a reference for resource scheduling and optimization of dual-channel transmission.

[0007] In one possible implementation, the round trip time of the first channel for the first set of data satisfies the following formula: RTT1=t end -t begin , where RTT1 is the round trip time of the first channel for the first set of data, t begin is the first moment, t end For the second moment.

[0008] In one possible implementation, the round-trip time of the second channel for the second set of data satisfies the following formula: RTT2=RTT1-Δt, where RTT2 is the round-trip time of the second channel for the second set of data, RTT1 is the round-trip time of the first channel for the first set of data, and Δt is the first time difference.

[0009] In a possible implementation manner, data of the data packet transmitted through the first channel is at least partially different from data of the data packet transmitted through the second channel.

[0010] In a second aspect, the present application provides an RTT measurement method, the method comprising: at a first moment, sending a first group of data in the Nth data packet among N data packets to a second device through a first channel, and sending a second group of data in the Nth data packet among N data packets to the second device through a second channel; at a second moment, receiving a confirmation message from the second device through the first channel, the confirmation message indicating that the N data packets are correctly received and carrying the moment when the second device completes the reception of the first group of data and the second group of data in the N data packets through the first channel and the second channel respectively, and the moment when the second device completes the reception of the second group of data in the Nth data packet among N data packets through the second channel is no later than the moment when the second device completes the reception of the first group of data in the Nth data packet among N data packets through the first channel; based on the first moment, the second moment and the confirmation message, obtaining the average round-trip time of the first channel for the first group of data in the N data packets; based on the first moment, the second moment and the confirmation message, obtaining the average round-trip time of the second channel for the second group of data in the N data packets.

[0011] Based on the method described in the second aspect, while obtaining the RTT of each of the two channels regarding the data transmitted thereon, the resource overhead of the confirmation message can be significantly reduced, saving system resources.

[0012] In one possible implementation, based on the first moment, the second moment and the confirmation message, the average round-trip time of the first channel for the first group of data in N data packets is obtained, including: based on the first moment and the second moment, obtaining the round-trip time of the first channel for the first group of data in the Nth data packet in the N data packets; based on the round-trip time of the first channel for the Nth data packet in the N data packets and the moment when the second device carried by the confirmation message completes the reception of the first group of data in the N data packets through the first channel, obtaining the round-trip time of the first channel for the first group of data in the 1st to N-1th data packets in the N data packets; based on the round-trip time of the first channel for the first group of data in the 1st to Nth data packets in the N data packets, obtaining the average round-trip time of the first channel for the first group of data in the N data packets.

[0013] In one possible implementation, the round-trip time of the first channel with respect to the first group of data in the 1st to N-1th data packets among N data packets satisfies the following formula: RTT1(i-1)=RTT1(i)+ΔT-(t1(i)-t1(i-1)), wherein i=2, 3,…, N, RTT1(i) is the round-trip time of the first channel with respect to the first group of data in the i-th data packet among N data packets, ΔT is the sending interval between two adjacent data packets among the N data packets, and t1(i) is the moment when the second device completes receiving the first group of data of the i-th data packet through the first channel.

[0014] In one possible implementation, based on the first moment, the second moment and the confirmation message, the average round-trip time of the second channel for the second data in N data packets is obtained, including: based on the round-trip time of the first channel for the first to Nth data packets in the N data packets and the moment when the second device carried in the confirmation message completes the reception of the first group of data and the second group of data in the 1st to Nth data packets in the N data packets through the first channel and the second channel respectively, obtaining the round-trip time of the second channel for the second group of data in the 1st to Nth data packets in the N data packets; based on the round-trip time of the second channel for the second group of data in the 1st to Nth data packets in the N data packets, obtaining the average round-trip time of the second channel for the second group of data in the N data packets.

[0015] In one possible implementation, the round-trip time of the second channel with respect to the second group of data in the 1st to Nth data packets among N data packets satisfies the following formula: RTT2(j) = RTT1(j) - (t1(j) - t2(j)), where j = 1, 2, ..., N, RTT1(j) is the round-trip time of the first channel with respect to the first group of data in the jth data packet among N data packets, RTT2(j) is the round-trip time of the second channel with respect to the second group of data in the jth data packet among N data packets, t1(j) is the moment when the second device completes receiving the first group of data of the jth data packet through the first channel, and t2(j) is the moment when the second device completes receiving the second group of data of the jth data packet through the second channel.

[0016] In a possible implementation, data of each of the N data packets transmitted through the first channel is at least partially different from data of each of the N data packets transmitted through the second channel.

[0017] In a third aspect, the present application provides a communication device, which includes a processor. When the processor calls a computer program in a memory, the method described in the first aspect or the second aspect is executed.

[0018] In a fourth aspect, the present application provides a communication device, which includes a processor and a memory, the memory being used to store computer-executable instructions; the processor being used to execute the computer-executable instructions stored in the memory so that the communication device performs the method described in the first aspect or the second aspect.

[0019] In a fifth aspect, the present application provides a communication device, which includes a processor, a memory and a transceiver, wherein the transceiver is used to receive or send signals; the memory is used to store a computer program; and the processor is used to call the computer program from the memory to execute the method described in the first aspect or the second aspect.

[0020] In a sixth aspect, the present application provides a communication device comprising a processor and an interface circuit, wherein the interface circuit is configured to receive computer-executable instructions and transmit the instructions to the processor; the processor executes the computer-executable instructions to execute the method described in the first aspect or the second aspect.

[0021] In a seventh aspect, the present application provides a computer-readable storage medium for storing computer-executable instructions. When the computer-executable instructions are executed, the method described in the first aspect or the second aspect is executed.

[0022] In an eighth aspect, the present application provides a communication device, which includes a function or unit for executing the method described in any one of the first aspect or the second aspect.

[0023] In a ninth aspect, the present application provides a computer program product comprising a computer program, which, when executed, performs the method described in the first aspect or the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 This is a schematic diagram of the architecture of a communication system provided by an embodiment of the present application;

[0025] Figure 2 This is a schematic diagram of service interaction of a communication system provided by an embodiment of the present application;

[0026] Figure 3 This is a schematic diagram of a centralized QOS optimization solution provided by an embodiment of the present application;

[0027] Figure 4 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;

[0028] Figure 5 This is a hardware and software architecture of an electronic device provided in an embodiment of the present application;

[0029] Figure 6A This is a schematic diagram of a dual-channel non-redundant data transmission provided by an embodiment of the present application;

[0030] Figure 6B is a schematic diagram of dual-channel redundant data transmission provided by an embodiment of the present application;

[0031] Figure 7 This is a flow chart of a dual-channel RTT measurement method based on dense feedback provided in an embodiment of the present application;

[0032] Figure 8 This is a schematic diagram of a dual-channel RTT measurement based on dense feedback provided in an embodiment of the present application;

[0033] Figure 9 1 is a flow chart of a dual-channel RTT measurement method based on sparse feedback provided in an embodiment of the present application;

[0034] Figure 10 This is a schematic diagram of a dual-channel RTT measurement based on sparse feedback provided in an embodiment of the present application;

[0035] Figure 11 This is a flow chart of a communication processing method provided in an embodiment of the present application;

[0036] Figure 12 This is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0037] Figure 13This is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0038] Figure 14 This is a schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0039] The terms "first" and "second" and the like in the specification, claims, and drawings of this application are used to distinguish between different objects, not to describe a particular order. Furthermore, the terms "including" and "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements, but may optionally include steps or elements not listed, or may optionally include other steps or elements inherent to the process, method, product, or apparatus.

[0040] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0041] In this application, "at least one (item)" refers to one or more, "more than one" refers to two or more, "at least two (items)" refers to two or three and more than three, and "and / or" is used to describe the corresponding relationship of associated objects, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0042] The terms "including" and "having" and any variations thereof mentioned in the following description of the embodiments of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes other steps or units that are not listed, or optionally includes other steps or units that are inherent to these processes, methods, products or devices. It should be noted that in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any method or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other methods or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way. In order to better understand the embodiments of the present application, the system architecture involved in the embodiments of the present application is first introduced below:

[0043] The method provided in the embodiments of the present application can be applied to scenarios that are sensitive to or have high requirements for latency, such as scenarios where multiple devices are connected via wireless fidelity (WiFi). In this scenario, multiple devices include file transfer services such as file sharing, as well as call sharing, notification sharing, keyboard and mouse sharing, PC collaboration, PAD collaboration, screen projection, large-screen collaboration, screen mirroring / extension, video on demand / live broadcast, etc., which are sensitive to or have high requirements for latency.

[0044] See also Figure 1 , Figure 1 This is a schematic diagram of the architecture of a communication system provided by an embodiment of the present application. Figure 1 As shown, the communication system may include multiple QOS systems, each of which may include one or more electronic devices. Figure 1 The system includes a first QOS system and a second QOS system. The first QOS system includes a first mobile phone, a second mobile phone, and a laptop. The second QOS system includes a third mobile phone, a fourth mobile phone, a large-screen device, and a laptop. Different QOS systems can include the same electronic device, that is, an electronic device can belong to multiple different QOS systems at the same time. For example, a laptop belongs to both the first QOS system and the second QOS system.

[0045] Electronic devices within the same QoS system can establish at least one link. A link is a data transmission channel from one device to another, used to transmit service data. Links within the same QoS system can operate on the same channel or frequency band, or on different channels or frequency bands.

[0046] Among them, the frequency band refers to 2.4GHz, 5GHz or other suitable frequency bands. A frequency band may include one or more channels. For example, the available channels of an indoor access point (AP) in the 5GHz frequency band can be divided into 13 channels, namely 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, and 165. The channel of this application may be any channel provided by the above-mentioned 2.4GHz or 5.0GHz or other suitable frequency bands, or may refer to the entire frequency band of the above-mentioned 2.4GHz or 5.0GHz or other suitable frequency bands, and this application does not limit this.

[0047] See also Figure 2 , Figure 2 This is a schematic diagram of a service interaction of a communication system provided by an embodiment of the present application. Figure 2 As shown, the communication system is described by taking a QOS system as an example.

[0048] For example, the communication system may include a QOS system composed of multiple electronic devices, which can communicate with each other through short-range communication and establish at least one link. These links can operate in the same frequency band or the same channel, or in different frequency bands or different channels. Figure 2 As shown, the multiple electronic devices may include terminals such as mobile phones ( 211 , 212 , 213 and 214 ), a notebook 215 and a large-screen device 216 .

[0049] Taking the example of a first device sending business data (such as screen projection business data) to a second device, the first device can also be called the sending end of the business, and the second device can also be called the receiving end of the business.

[0050] In one implementation, the sending end and the receiving end of the service are both two devices in the QOS system.

[0051] In another implementation, the sending end of the service is a device in the above-mentioned QOS system, and the receiving end of the service can be another device in the above-mentioned QOS system or a router in the communication system.

[0052] Services are carried on links. Links may include switching nodes, such as link 241 between mobile phone 211 and mobile phone 212, which may include a switching node, such as a router. Links may also not include switching nodes, such as in Wi-Fi direct connections, such as link 242 between mobile phone 213 and laptop 215, link 244 between mobile phone 214 and large-screen device 216, and link 243 between mobile phone 213 and large-screen device 216.

[0053] Services running in the application layer can be divided into three types: real-time services, delay-sensitive services, and file transfer services. The following briefly introduces these three types of services:

[0054] (1) Real-time services: Data to be transmitted is generated at a fixed period. For example, screen projection services typically generate a video frame every 16 milliseconds. To ensure real-time service transmission, this service typically requires a small average transmission delay.

[0055] (2) Delay-sensitive services: This type of service randomly generates data to be transmitted and has requirements for the average transmission delay of the data.

[0056] (3) File transfer service: When the service is initiated, the content and amount of data to be transferred can be clearly specified, and requirements can also be placed on the data transfer completion time (i.e., the average transmission rate).

[0057] It can be understood that the application layer can identify the service type of each service based on the characteristics of each service mentioned above.

[0058] Among them, real-time services may include screen projection services, delay-sensitive services may include voice call services, video call services, video on demand services, etc., and file transfer services may include video file transfer services, text file transfer services, image file transfer services, web page transfer services, etc.

[0059] In some embodiments, the service may be divided into two types, such as file transfer service and non-file transfer service, wherein the non-file transfer service includes real-time service and delay-sensitive service.

[0060] For example, Figure 2 In the example, mobile phone 211 and mobile phone 212 are having a voice call, and link 241 carries voice call service V1 sent from mobile phone 211 to mobile phone 212. Link 241 also carries voice call service V2 sent from mobile phone 212 to mobile phone 211. Mobile phone 213 sends a video file to laptop 215 and an image to large-screen device 216. Link 242 carries file transfer service D1 sent from mobile phone 213 to laptop 215, and link 243 carries file transfer service D2 sent from mobile phone 213 to large-screen device 216. Mobile phone 214 projects its screen onto large-screen device 216, and link 244 carries screen projection service P1.

[0061] The above examples illustrate the services carried by each link. It should be understood that one link can carry one or more services.

[0062] The following embodiments of the present application are described using WiFi communication as an example of short-range communication. It should be understood that in other embodiments, the short-range communication method may also be Bluetooth, near field communication (NFC), etc. The short-range communication method may also include multiple methods. For example, the link 241, link 242, and link 243 may be established via WiFi and may operate at 2.4 GHz, 5 GHz, or any suitable frequency band, and the link 244 and link 245 may be established via Bluetooth and may operate at 2.4 GHz, 5 GHz, or any suitable frequency band.

[0063] It should be understood that the above Figure 2 The devices, services, links, etc. are only exemplary. In other embodiments, the QOS system may include more or fewer electronic devices, the types of electronic devices may be replaced with other devices, and the services between electronic devices may be other services.

[0064] The electronic device may be a smart terminal device, which may be of various types, and the embodiments of the present application do not limit the specific types thereof. For example, it may be a mobile phone, and may also include a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, a smart screen, a wearable device, an augmented reality (AR) device, a virtual reality (VR) device, an artificial intelligence (AI) device, a car computer, a smart headset, a game console, and may also be an Internet of Things (IOT) device or a smart home device such as a smart TV, etc. Without being limited thereto, it may also include a laptop computer with a touch-sensitive surface or touch panel, a desktop computer with a touch-sensitive surface or touch panel, and other non-portable terminal devices, etc.

[0065] Multiple electronic devices working in the same frequency band or the same channel share bandwidth. The bandwidth resources of the same channel are limited, and the link bandwidth between multiple electronic devices working in the same channel needs to be reasonably allocated. In one implementation, an electronic device can perceive its own business and allocate bandwidth based on its own business, but cannot perceive the business of other devices. It may happen that the electronic device allocates a large amount of bandwidth for its own business. This results in insufficient business bandwidth for other devices and the inability to complete business transmission. For example, combined with the above Figure 2, mobile phone 213 only has two file transfer services, mobile phone 214 may have a screen projection service, and mobile phones 211 and 212 have voice call services. However, mobile phone 213 only allocates bandwidth based on its own business. Mobile phone 213 will increase the bandwidth of the file transfer service. Therefore, the optimization strategy of mobile phone 213 to increase the bandwidth of the file transfer service will inevitably lead to insufficient bandwidth for the screen projection service of mobile phone 214 and the voice call services of mobile phones 211 and 212, resulting in freezes and increased delays in the screen projection service and voice call service. It can be seen that this bandwidth allocation method will result in unreasonable bandwidth allocation and cannot guarantee the bandwidth of high-priority services of other devices in the QOS system.

[0066] Therefore, in order to ensure the service quality of services in the QOS system, this application provides a QOS optimization method to collect link information of links in the QOS system and business information of services, so as to reasonably allocate bandwidth in combination with the link information of all links in the QOS system and business information of services.

[0067] This application takes into account that the real-time requirements of file transfer services are not high, and non-file transfer services (i.e., real-time services or delay-sensitive services) are sensitive to delay. Therefore, when there are non-file transfer services such as real-time services or delay-sensitive services, the bandwidth requirements of real-time services or delay-sensitive services are given priority to ensure the QOS of non-file transfer services.

[0068] This application provides two types of QOS optimization solutions for multiple devices, distributed and centralized, which are explained below.

[0069] First, the distributed multi-device QOS optimization solution provided in the embodiment of the present application is described.

[0070] In one implementation, each device acting as a transmitter in a QoS system collects its own device link information and device service information and sends it to other devices. The device service information of a device includes service information for services with the device as the transmitter, and the device link information of a device includes link information for links carrying services with the device as the transmitter. Alternatively, each device in the QoS system collects its own device link information and device service information and sends them to other devices. When a device has no services, the information it sends is empty. Thus, devices in the QoS system can collect link information for all links in the QoS system and service information for services carried by each link, and based on this information, allocate bandwidth for the services they want to transmit. Specifically, a device in the QoS system can calculate a speed limit for its own file transfer service based on the received service information and link information, and then transmit the files to be transmitted by the file transfer service at a bandwidth value not greater than the speed limit, thereby limiting the transmission rate of the file transfer service. The above method optimizes the QoS of multiple devices in collaboration and limits the bandwidth of the file transfer service in the QoS system, thereby ensuring the bandwidth of latency-sensitive services in the QoS system.

[0071] It should be understood that in the distributed QOS optimization method, the first electronic device can be any one of the QOS system's senders of a file transfer service, and the second electronic device can be any one of the QOS system's senders of a non-file transfer service other than the first electronic device. The first service data can be the service data of the service with the first electronic device as the sender, the first service being a file transfer service among the services with the first electronic device as the sender, and the first link being the link that carries the file transfer service. The second service data can be the service data of the service with the second electronic device as the sender, the second service being a non-file transfer service among the services with the second electronic device as the sender, and the second link being the link that carries the non-file transfer service.

[0072] Not limited to the above-mentioned first service, second service and other services, first link and second link and other links, the first electronic device can also obtain service information of more services and link information of more links, and calculate the speed limit value based on the service information of more services and link information of more links.

[0073] The link information includes the link ID, maximum effective rate, and ID of the channel on which the link operates, and the service information includes the service ID, required bandwidth, service type, etc. The service information of the file transfer service may not include the required bandwidth.

[0074] The link identifier is used to distinguish links in the QoS system. It can be represented by the identifiers of the two devices that created the link. When a switching node (such as a router) exists in the link, the link identifier can also include the identifier of the switching node. Optionally, the device's own device link information can also include the number of links created with the device that operate on the same channel or frequency band, so that the device receiving the device link information can determine whether the required link information has been collected.

[0075] The maximum effective rate of a link reflects the maximum transmission rate that the link can achieve. It can be determined based on the link's modulation and coding scheme (MCS) rate. The MCS rate, also known as the negotiated rate, can be the MCS rate of the link or the MCS rate multiplied by a coefficient greater than 0 and less than 1, such as 0.7 or 0.8.

[0076] It should be understood that when the link includes a switching node (such as a router), if the link is a transmission channel from a first device to a second device through a router, then the maximum effective rate of the link is the minimum of the MCS rate between the first device and the router and the MCS rate between the router and the second device, or the minimum value multiplied by a coefficient, which is greater than 0 and less than 1, such as 0.5, 0.25, etc.

[0077] Service identifiers are used to distinguish services within the QoS system. These identifiers can be represented by both the link identifier carrying the service and the service identifier within that link. The service identifier within the link is used to distinguish services within the same link. A device's service information can also include the number of services, allowing the device receiving the service information to determine whether all required service information has been collected.

[0078] Optionally, when the device sends the device link information and the device service information, the service information of a service and the link information of the link carrying the service are usually sent together to indicate the link carrying the service.

[0079] For example, in the above Figure 2In the QOS system shown, the mobile phone 211 sends the device link information of the mobile phone 211 (including the identifier of the link 241, the maximum effective rate, the identifier of the working channel) and the device service information (the identifier of the voice call service V1, the requested bandwidth and the service type) to other devices in the QOS system; the mobile phone 212 sends the device link information of the mobile phone 212 (including the identifier of the link 241, the maximum effective rate, the identifier of the working channel) and the device service information (the identifier of the voice call service V2, the requested bandwidth and the service type) to other devices in the QOS system; the mobile phone 213 sends the device link information of the mobile phone 212 (including the identifier of the link 241, the maximum effective rate, the identifier of the working channel) and the device service information (the identifier of the voice call service V2, the requested bandwidth and the service type) to other devices in the QOS system. The device link information of the mobile phone 213 (including the identifier of the link 242, the maximum effective rate, the identifier of the channel on which it works, and the identifier of the link 243, the maximum effective rate, the identifier of the channel on which it works) and the device service information (the identifiers and service types of the file transfer services D1 and D2, and the identifier, requested bandwidth and service type of the screen projection service P3) are sent to other devices in the QOS system; the mobile phone 214 sends the device link information of the mobile phone 214 (including the identifier of the link 245, the maximum effective rate, the identifier of the channel on which it works) and the device service information (the identifier, requested bandwidth and service type of the screen projection service P1) to other devices in the QOS system. The notebook 215 sends the device link information of the notebook 215 (including the identifier of the link 242, the maximum effective rate, the identifier of the channel on which it works, and the identifier of the link 245, the maximum effective rate, the identifier of the channel on which it works) and the device service information (the identifier, requested bandwidth and service type of the screen projection service P2) to other devices in the QOS system. Since the large-screen device 216 does not contain any services that need to be sent, it does not need to send its own device link information and device service information. Alternatively, although the large-screen device 216 does not include any services that need to be sent, the large-screen device 216 may also send device link information and device service information. In this case, the device link information and device service information may be empty. Each device in the QOS system can collect link information of all links in the QOS system and service information of all services, and thus can calculate the speed limit value of its respective file transfer service. In some embodiments, a device that only includes a file transfer service, such as the mobile phone 213, needs to calculate the speed limit value of its file transfer service, while other devices that do not include a file transfer service do not need to calculate the speed limit value of the file transfer service.

[0080] It can be seen that although mobile phone 213 has two file transfer services, when performing QOS optimization, mobile phone 213 will limit the speed of these two file transfer services to prioritize the bandwidth requirements of screen projection services P1, P2 and voice call services V1, V2 because it is aware of the bandwidth requirements of non-file transfer services with high real-time requirements in the QOS system, namely, screen projection services P1, P2 and voice call services V1, V2.

[0081] Among them, the method for devices in the QOS system to determine the speed limit value of the file transfer service can be: each device or the device containing the file transfer service can calculate the total time proportion of the non-file transfer service based on the requested bandwidth of the received non-file transfer service and the highest effective rate of the link carrying the non-file transfer service, and then determine the maximum total time proportion of the file transfer service, and then determine the speed limit value of each file transfer service based on the maximum total time proportion of the file transfer service. Each device can send the file transfer service with a bandwidth value not greater than the speed limit value to limit the speed of its own file transfer service, so as to utilize the bandwidth of the file transfer service to meet the requested bandwidth of delay-sensitive services (real-time services or delay-sensitive services) and improve the QOS of delay-sensitive services.

[0082] Moreover, the above method can be dynamically adjusted based on changes in the link information or service information of the QOS system, so as to adjust the speed limit value of the file transfer service in real time while giving priority to the QOS of services that are sensitive to delay, so as to make full use of communication resources and improve the QOS of the file transfer service.

[0083] The following describes a centralized multi-device QOS optimization solution provided in an embodiment of the present application.

[0084] A device in the QOS system acts as a central control device. This central control device possesses certain computing capabilities and is capable of signaling interaction with other WiFi devices. This central control device collects not only its own device service and device link information, but also that of other devices. Based on this information, it calculates the speed limit for each file transfer service in the system and sends each speed limit to the sender of the file transfer service. This allows the device to send the file transfer service at a bandwidth no greater than the speed limit, thereby limiting the speed of the corresponding file transfer service. This method optimizes QOS based on the service information of multiple devices and limits the bandwidth of file transfer services on multiple devices, thereby ensuring QOS for latency-sensitive services in the QOS system.

[0085] The method by which the central control device determines the speed limit value of the file transfer service is the same as the method by which the device determines the speed limit value of the file transfer service in the above-mentioned distributed QOS optimization solution.

[0086] See also Figure 3 , Figure 3 This is a schematic diagram of a centralized QOS optimization solution provided by the embodiment of this application. Figure 2 Combined with the system scenario shown Figure 3 The centralized QOS optimization solution provided in this application is schematically illustrated.

[0087] With the above Figure 2Taking the QOS system shown in the figure as an example, the exemplary central control device can be a notebook 215. In the QOS system, each device or device that needs to send a service sends its own device link information and device service information to the notebook 215, that is, the mobile phone 211 sends its own device link information (including the identifier of the link 241, the highest effective rate and the identifier of the working channel) and device service information (the identifier of the voice call service V1, the requested bandwidth and service type) to the notebook 215; the mobile phone 212 sends its own device link information (including the identifier of the link 241, the highest effective rate and the identifier of the working channel) and device service information (the identifier of the voice call service V1, the requested bandwidth and service type) to the notebook 215. The mobile phone 213 sends its own device link information (including the identification, maximum effective rate and identification of the channel on which the link 242 works, as well as the identification, maximum effective rate and identification of the channel on which the link 243 works) and device service information (identification and service type of file transfer services D1 and D2, identification, required bandwidth and service type of screen projection service P3) to the notebook 215; the mobile phone 214 sends its own device link information (including the identification, maximum effective rate and identification of the channel on which the link 245 works) and device service information (identification, required bandwidth and service type of screen projection service P1) to the notebook 215. The notebook 215 obtains its own device link information (including the identification, maximum effective rate and identification of the channel on which the link 242 works, as well as the identification, maximum effective rate and identification of the channel on which the link 245 works) and device service information (identification, required bandwidth and service type of screen projection service P2). Since the large-screen device 216 does not contain any services that need to be sent, there is no need to send its device link information and device service information to the notebook 215. Alternatively, although the large-screen device 216 does not contain any services that need to be sent, the large-screen device 216 can also send device link information and device service information. In this case, the device link information and device service information can be empty. Furthermore, the notebook 215 can collect the link information of each link and the service information of each service in the QOS system, and based on this, it can calculate the speed limit value of each file transfer service, that is, the speed limit value of file transfer services D1 and D2. The speed limit values of file transfer services D1 and D2 are then sent to the device corresponding to the file transfer service (that is, the sending end of the file transfer service), that is, the mobile phone 213. Then, the mobile phone 213 sends the service data of file transfer service D1 at a bandwidth value not greater than the speed limit value of file transfer service D1, and sends the service data of file transfer service D2 at a bandwidth value not greater than the speed limit value of file transfer service D2, thereby limiting the speed of file transfer services D1 and D2. In this embodiment, the transmission of device link information and device service information can be reduced and both can be sent to the central control device for calculation. Each device does not need to calculate, which not only reduces communication overhead but also improves QOS optimization efficiency.

[0088] In some embodiments, each device in the QoS system can detect events to trigger the aforementioned QoS optimization schemes. Devices can detect events such as service creation, closure, lag, changes in requested bandwidth, and changes in link transmission rate or maximum effective rate. Detecting these events can trigger the collection of device service information, device link information, and other information from each device in the QoS system, so that the aforementioned distributed or centralized QoS optimization methods can be executed based on this collected information.

[0089] It should be understood that the notebook 215 may also include file transfer services and / or non-file transfer services that need to be sent, and in this case the notebook 215 will also collect its own device service information and device link information. Figure 2 The scenario shown is used as an example. It should be understood that the QOS system may include more than the above Figure 2 The systems shown may include more or fewer devices, services, and links.

[0090] In one application scenario, mobile phone 213 is the first electronic device, mobile phone 214 is the second electronic device, and large-screen device 216 is the third electronic device. At this time, link 243 is the first link, link 244 is the second link, file transfer service D2 is the first service, and screen projection service P1 is the second service.

[0091] In another application scenario, mobile phone 213 is the first electronic device, mobile phone 214 is the second electronic device, notebook 215 is the third electronic device, and large-screen device 216 is the fourth electronic device. At this time, link 242 is the first link, link 244 is the second link, file transfer service D1 is the first service, and screen projection service P1 is the second service.

[0092] In another application scenario, the mobile phone 213 is the first electronic device, the notebook 215 is the second electronic device, and the large-screen device 216 is the third electronic device. At this time, the link 242 is the first link, the link 245 is the second link, the file transfer service D1 is the first service, and the screen projection service P2 is the second service.

[0093] In another application scenario, mobile phone 213 is the first electronic device, mobile phone 214 is the second electronic device, and large-screen device 216 is the third electronic device. At this time, link 242 is the first link, link 243 is the second link, file transfer service D1 is the first service, and screen projection service P3 is the second service.

[0094] It should be noted that the distributed or centralized QoS optimization method provided in the embodiments of the present application is for optimizing the services involved in a QoS system. The channels corresponding to the links carrying these services may be the same channel or belong to the same frequency band, or may be different channels or belong to different frequency bands. This application does not limit this. However, services belonging to other QoS systems can participate in the optimization of other QoS systems.

[0095] See also Figure 4 , Figure 4 This is a hardware structure diagram of an electronic device provided in an embodiment of the present application. Figure 4 As shown, the electronic device 400 may be Figure 1 、 Figure 2 or Figure 3 The mobile phone, notebook, large-screen device, central control device, etc. in the method may also be the first device, second device, etc. in the method embodiments below, used to execute the methods executed by each device in the following method embodiments.

[0096] Electronic device 400 may include processor 401, memory 402, wireless communication module 403, mobile communication module 404, antenna 403A, antenna 404A, etc. Among them, wireless communication module 403 may include WLAN communication module, Bluetooth communication module, etc. The above multiple components can transmit data via a bus.

[0097] The processor 401 may include one or more processing units. For example, the processor 401 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.

[0098] The memory 402 may be used to store computer executable program codes, which may include instructions. The processor 401 executes the instructions stored in the memory 402 to execute various functional applications and data processing of the electronic device 400, such as executing various methods provided in the embodiments of the present application.

[0099] The wireless communication function of the electronic device 400 can be implemented through the antenna 403A, the antenna 404A, the mobile communication module 404, the wireless communication module 403, the modem processor and the baseband processor.

[0100] Antenna 403A and antenna 404A can be used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 400 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 403A can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0101] The mobile communication module 404 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 400. The mobile communication module 404 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 404 can receive electromagnetic waves through the antenna 404A, and perform processing such as filtering and amplifying the received electromagnetic waves, and then transmit them to the modem processor for demodulation. The mobile communication module 404 can also amplify the signal modulated by the modem processor, and the amplified signal is converted into electromagnetic waves and radiated out through the antenna 404A. In some embodiments, at least some of the functional modules of the mobile communication module 404 can be set in the processor 401. In some embodiments, at least some of the functional modules of the mobile communication module 404 can be set in the same device as at least some of the modules of the processor 401.

[0102] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium- or high-frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 401 and be provided in the same device as the mobile communication module 404 or other functional modules.

[0103] The wireless communication module 403 can provide wireless communication solutions including wireless local area networks (WLAN), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., applied to the electronic device 400. The wireless communication module 403 can be one or more devices integrating at least one communication processing module. The wireless communication module 403 receives electromagnetic waves via the antenna 403A, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 401. The wireless communication module 403 can also receive the signal to be transmitted from the processor 401, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 403A.

[0104] In some embodiments, the antenna 404A of the electronic device 400 is coupled to the mobile communication module 404, and the antenna 403A of the electronic device 400 is coupled to the wireless communication module 403, so that the electronic device 400 can communicate with the network and other devices through wireless communication technology.

[0105] It should be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 400. In other embodiments of the present application, the electronic device 400 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0106] In the embodiment of the present application, the wireless communication module 403 can be used for WiFi connection between electronic devices, and transmission of data such as data or instructions.

[0107] The operations performed by the various components in the electronic device 400 may be specifically referred to the relevant description of the above method embodiment, which will not be elaborated here.

[0108] See also Figure 5 , Figure 5 This is a hardware and software architecture of an electronic device provided in an embodiment of the present application.

[0109] like Figure 5As shown, the software and hardware architecture of the electronic device may include a hardware layer, and the hardware layer may include a WiFi module, a Bluetooth module, etc. for communication. Above the hardware layer, the software architecture of the electronic device may adopt a layered architecture, which divides the system into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the system is divided into five layers, from top to bottom, namely, the application layer, the application framework layer (framework), the system library and the Android runtime (android runtime), the hardware abstraction layer (HAL), and the driver layer. Among them: the application framework layer, the system library and the Android runtime, the hardware abstraction layer, not shown in Figure 5 Shown in.

[0110] The application layer (application) can include a series of applications. For example, the application package can include WLAN applications, Bluetooth applications, application connection, call sharing, notification sharing, keyboard and mouse sharing, file sharing, screen projection, video and gallery applications, as well as other applications not shown, such as music, camera, browser, WeChat, etc. TM ,Tik Tok TM and other applications.

[0111] Among them, the WLAN application is mainly used to realize the opening, connection and setting of WLAN, etc., and the Bluetooth application is used to realize the opening, connection and setting of Bluetooth, etc. The application continuation application is used to realize the content and usage status of the application between this electronic device and nearby devices. The call sharing application is used to realize that nearby devices answer and continue calls from this electronic device. For example, the smart screen can answer calls from this electronic device, and tablets and computers also support making calls. Notification sharing is used to realize that nearby devices receive notifications from this electronic device and support processing on these devices. Keyboard and mouse sharing is used to share input devices with this electronic device and nearby computers, or the mouse, keyboard and touchpad of the computer or tablet are shared with this electronic device. It can also realize cross-device file transfer and cross-device window display and use. The file sharing application is used to realize wireless sharing of files with other electronic devices in the same network, and realize extremely fast sharing or printing of files. The screen projection application is used to realize the linking of this electronic device with a large-screen device to realize the display of videos and other content displayed on this electronic device through the large-screen device, or to realize the linking of this electronic device with a small-screen device to realize the display of videos and other content displayed on the small-screen device through the large screen of this electronic device. Here, "large screen" and "small screen" refer to the relative sizes of the display screens of electronic devices.

[0112] The application layer also includes a video transmission service interface, a message transmission service interface, an audio transmission service interface, a file transfer service interface, a keyboard and mouse transmission service interface, and a file stream transmission service interface, as well as the services corresponding to these interfaces, including video transmission service, message transmission service, audio transmission service, file transfer service, keyboard and mouse transmission service, and file stream transmission service. Among them, the video transmission service, message transmission service, audio transmission service, file transfer service, keyboard and mouse transmission service, and file stream transmission service are used to implement video transmission, message transmission, audio transmission, file transfer, keyboard and mouse transmission, and file stream transmission, respectively. The upper-layer application realizes the transmission of business data of the business it creates by calling these interfaces. For example, after creating the screen projection service, the upper-layer application "screen projection" calls the video transmission service interface, and the video transmission service responds to the call to realize the transmission of business data of the screen projection service.

[0113] The application layer may also include a QoS control engine, which may be an application invisible to the user and may include some or all of the following functional modules: bandwidth management system, information update system, QoS scheduling system, QoS bandwidth allocation system, sending system, and QoS monitoring system.

[0114] When creating a service, an application sends a connection request or service creation request to the bandwidth management system, along with the requested bandwidth for the service.

[0115] The bandwidth management system is used to calculate the remaining bandwidth after receiving the bandwidth request from the upper-layer application and determine whether the remaining bandwidth can meet the needs of the service to be established. The bandwidth management system is also used to establish links.

[0116] The information update system is used to collect its own service and link information, and receive service and link information from other devices in the QoS system. Upon receiving notifications or instructions from other devices to reschedule QoS, or upon identifying updates, additions, or reductions in service or link information in the QoS system, it sends a scheduling request to the QoS scheduling system to trigger QoS rescheduling. Service information includes service bandwidth requirements, and link information includes the maximum effective link rate.

[0117] The QOS scheduling system is used to respond to scheduling requests, determine whether the current QOS system includes file transfer services or whether the electronic device itself includes file transfer services. When the file transfer service is included, the speed limit value of the file transfer service is recalculated, and the requested bandwidth of its own non-file transfer service and the speed limit value of the file transfer service are sent to the QOS bandwidth allocation system.

[0118] The QOS bandwidth allocation system is used to allocate bandwidth to non-file transfer services based on the bandwidth requested by the non-file transfer services received, and to allocate bandwidth to non-file transfer services based on the speed limit value of the file transfer services, and to send the allocated bandwidth to each service to the sending system.

[0119] The sending system is used to send the service data of the service in the respective allocated bandwidth.

[0120] The QOS monitoring system is used to monitor changes in the service information of the service and the link information of the link, so as to trigger the information update system to update the service information and link information of the QOS system when changes occur.

[0121] In some embodiments, the information update system is further configured to implement measurement of the highest effective rate of a link in the QOS system.

[0122] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The framework layer includes some predefined functions. For example, it may include an activity manager, a window manager, a view system, a resource manager, a notification manager, an audio service, a camera service, etc., which are not limited in this embodiment of the application.

[0123] The system library can include multiple functional modules, such as surface manager, media libraries, OpenGL ES, SGL, etc.

[0124] The Hardware Abstraction Layer (HAL) is an interface layer between the operating system kernel and the hardware circuitry. Its purpose is to abstract the hardware. It hides the details of the platform-specific hardware interfaces and provides the operating system with a virtual hardware platform, making it hardware-independent and portable across multiple platforms. From the perspective of software and hardware testing, both hardware and software testing can be performed independently within the HAL, enabling parallel testing of both software and hardware.

[0125] The driver layer includes drivers for various hardware. The driver layer can include Bluetooth drivers, Wi-Fi drivers, etc. Among them, the Bluetooth driver is used to drive the Bluetooth module. The Wi-Fi driver is used to drive the Wi-Fi module.

[0126] In order to fully utilize available frequency band resources for efficient transmission and meet the low latency requirements of real-time services, it is crucial to use the 2.4 GHz and / or 5 GHz frequency bands for multi-channel transmission.

[0127] Take the dual-channel transmission of real-time services as an example. To achieve dual-channel transmission of real-time services, the application layer data packets can be first split and decomposed. Each application layer data packet can be split into multiple UDP packets based on its data size. Each UDP packet includes a transmission sequence flag (i.e., 1, 2, ..., M) and the partial data split from the application layer data packet. The number of UDP packets can be obtained as follows:

[0128]

[0129] Wherein, M is the number of UDP packets obtained by splitting each application layer data packet, P1 is the data size of the payload part of the UDP packet, P2 is the size of the transmission sequence flag, and P is the size of the application layer data packet.

[0130] See also Figure 6A , Figure 6A This is a schematic diagram of a dual-channel non-redundant data transmission provided by an embodiment of the present application. Figure 6A As shown in the figure, when dual channels transmit data packets without redundancy, channel 1 can transmit UDP packets numbered from 1 to N1 in sequence, while channel 2 can transmit UDP packets numbered from M to N1+1 in reverse order. The receiving device can set up a buffer to splice the UDP packets from the two channels in the order of numbering to eliminate the disorder.

[0131] See also Figure 6B , Figure 6B Schematic diagram of dual-channel redundant data transmission provided by an embodiment of the present application. Figure 6B As shown in the figure, when dual channels redundantly transmit data packets, channel 1 can transmit UDP packets numbered from 1 to N2 in sequence, while channel 2 can transmit UDP packets numbered from M to N1+1 in reverse order, where N1+1 ≤ N2. In other words, both channel 1 and channel 2 will transmit UDP packets numbered from N1+1 to N2. The receiving device can also set up a buffer to splice UDP packets from the two channels in order of numbering to eliminate out-of-order transmission and discard redundant UDP packets to ensure complete data packet reception.

[0132] In both dual-channel non-redundant data transmission and dual-channel redundant data transmission, if there is no packet loss, feedback may be performed every several application layer data packets, for example, an acknowledgement message (ACK) may be fed back every 200 ms.

[0133] If the numbers of the received UDP packets are not continuous, or the receiver cannot receive all numbered data packets within the specified time, it can be determined that packet loss has occurred.

[0134] Specifically, when the UDP packet numbers on a channel are discontinuous, that is, when the UDP packet numbers on channel 1 do not arrive in the order of +1 or the UDP packet numbers on channel 2 do not arrive in the order of -1, the skipped UDP packets can be determined to be lost. Alternatively, when several UDP packets of an application layer data packet have not arrived completely, but the UDP packet of the next application layer data packet has been received, packet loss can also be determined. The aforementioned missing UDP packets can be determined to be lost.

[0135] Accordingly, the receiving end can perform the following related feedback process: whenever the receiving end finds that the numbers of the received UDP packets are discontinuous, a new countdown will be added (type 1). If the receiving end receives the lost data packet when the countdown reaches zero, the countdown (type 1) will be canceled. If the receiving end does not receive the lost data packet when the countdown reaches zero, the sending end is required to resend the UDP packet with the corresponding number and reset the countdown (type 1). If necessary, the sending end can retransmit the UDP packet with the same number on two channels; or, whenever a new UDP packet arrives, a countdown will be reset (type 2). If the next UDP packet is received before the countdown reaches zero, the countdown will be reset. If no new UDP packet that should have arrived arrives when the countdown reaches zero, the unreached UDP packet will be fed back to the sending end and the countdown will be reset.

[0136] Real-time services require low latency, so latency is a key metric for their quality of service (QoS). Since the latency from sender to receiver is difficult to measure directly, data transmission latency can generally be measured by measuring RTT.

[0137] See also Figure 7 , Figure 7 This is a flowchart of a dual-channel RTT measurement method based on dense feedback provided in an embodiment of the present application. Figure 7 The execution subject of the method shown may be the electronic device described above, or the subject may be a chip in the electronic device, which is not limited in the embodiments of the present application. Figure 7 The method is described by taking an electronic device as an example of an execution subject.

[0138] In the dual-channel RTT measurement with dense feedback, each application layer packet has a corresponding ACK data packet to calculate the dual-channel RTT.

[0139] S701. At a first moment, send a first set of data in a data packet to a second device via a first channel, and send a second set of data in a data packet to the second device via a second channel.

[0140] The first electronic device may send a first set of data in a data packet to the second electronic device through a first channel at a first moment, and send a second set of data in the data packet to the second electronic device through a second channel.

[0141] In some embodiments, data of the data packets transmitted via the first channel are at least partially different from data of the data packets transmitted via the second channel.

[0142] For example, Figure 6A In the dual-channel non-redundant data transmission mode shown, channel 1 can transmit the first set of data of the data packet (i.e., the first set of UDP packets), and channel 2 can transmit the second set of data of the data packet (i.e., the second set of UDP packets). The first set of data and the second set of data can be completely different.

[0143] For example, Figure 6B In the dual-channel redundant data transmission mode shown, channel 1 can transmit the first set of data of the data packet (i.e., the first set of UDP packets), and channel 2 can transmit the second set of data of the data packet (i.e., the second set of UDP packets), and the first set of data and the second set of data can be partially the same.

[0144] The first set of data and the second set of data together may include all the data of the data packet. Figure 6A and Figure 6B In the embodiment, the first group of UDP packets and the second group of UDP packets together may include all UDP packets of the data packet.

[0145] The first electronic device may be referred to as a transmitter, or a transmitter device.

[0146] The second electronic device may be referred to as a receiving end, or a receiving end device.

[0147] Combine Figure 8 , Figure 8 This is a schematic diagram of a dual-channel RTT measurement based on dense feedback provided by an embodiment of the present application. The first electronic device can start sending the first set of data and the second set of data of the data packet to the second electronic device through the first channel and the second channel respectively at the first moment. The first electronic device can record the first moment as t begin .

[0148] S702: At a second moment, a confirmation message is received from the second device through the first channel, where the confirmation message indicates that the data packet is correctly received and carries the first time difference.

[0149] Among them, the first time difference is the time difference between the fourth moment and the third moment, the third moment is the moment when the second device completes the reception of the second set of data through the second channel, and the fourth moment is the moment when the second device completes the reception of the first set of data through the first channel. The fourth moment is not earlier than the third moment.

[0150] Combine Figure 8 After the first electronic device sends the data packet, assuming that the second channel completes the transmission at a third moment, the second electronic device can record the third moment t2. When the first channel completes the transmission at a fourth moment no earlier than the third moment, the second electronic device can record the fourth moment t1.

[0151] At this time, the second electronic device has received all the data of the data packet (i.e., all UDP packets). Since the first channel completes data transmission later than the second channel, the second electronic device can feedback an ACK message to the first device through the first channel that completes data transmission later, indicating that the data packet has been correctly received, and the ACK message carries the time difference between the fourth moment and the third moment. The time difference between the fourth moment and the third moment can be simply referred to as the first time difference, and the first time difference can be recorded as Δt=t1-t2.

[0152] Subsequently, the first electronic device can receive the ACK message fed back by the second electronic device through the first channel at the second time, confirm that the data packet is correctly received by the second electronic device, and obtain the information of the first time difference. The first electronic device can record the second time as t end .

[0153] S703 : Based on the first time and the second time, obtain a round trip time of the first channel for the first set of data.

[0154] The first electronic device may obtain the RTT of the first group of data regarding the transmitted data packet on the first channel based on the first time and the second time.

[0155] In some embodiments, the round trip time of the first channel with respect to the first set of data satisfies the following formula:

[0156] RTT1=t end -t begin ,

[0157] RTT1 is the round trip time of the first channel for the first set of data, t begin is the first moment, t end For the second moment.

[0158] S704: Obtain a round-trip time of the second channel for the second set of data based on the round-trip time of the first channel and the first time difference.

[0159] The first electronic device may obtain the RTT of the second group of data regarding the transmitted data packet on the second channel based on the first time and the second time.

[0160] In some embodiments, the round trip time of the second channel with respect to the second set of data satisfies the following formula:

[0161] RTT2=RTT1-Δt,

[0162] RTT2 is the round trip time of the second channel for the second set of data, RTT1 is the round trip time of the first channel for the first set of data, and Δt is the first time difference, that is, the time difference between the fourth moment and the third moment.

[0163] Based on the above steps, the RTT of the two channels can be measured during the dual-channel transmission process.

[0164] For example, in an example involving two devices, one of the devices projects the screen to the other device, that is, the transmitter sends a screen projection service data packet to the receiver. The frame rate of the screen projection is 60fps, and the size of each video frame is assumed to be 1Mb, that is, the size of each data packet is 1Mb. The screen projection is performed in a dual-channel transmission mode, where the negotiated rate of channel a is 50Mbps and the negotiated rate of channel b is 100Mbps. For ease of calculation, the amount of data transmitted by the two channels in this example is the same, that is, both are 1Mb / 2=500Kb, and interference is not considered. The dual-channel RTT measurement process using dense feedback is as follows:

[0165] 1) The sender sends the data packet through channel a and channel b, and the sending time (i.e. the first moment) is t begin =0.

[0166] 2) The time it takes for channel a to complete transmission is t a =500kb / 500Mbps+1ms=11ms, that is, the fourth moment is 11ms; the time for channel b to complete transmission is t b =500Kb / 100Mbps+1ms=6ms, that is, the third moment is 6ms; 1ms is the propagation delay. The receiving end records the two moments and adds the first time difference (that is, the time difference between the fourth moment and the third moment) t a -t b =5ms The ACK message is fed back to the sender, and the time it takes for the sender to receive the ACK message is t end =12.1ms, that is, the second moment is 12.1ms, of which 0.1ms is the transmission delay caused by the packet size of the ACK message.

[0167] 3) The sender calculates the RTT of channel a from this a =t end -t begin =12.1ms, RTT of channel b b =RTT a -(t a-t b )=7.1ms.

[0168] It can be seen that based on the RTT measurement method of the present application, a confirmation message of the correct transmission of a data packet is received on one of the two channels, and the confirmation message carries the time difference between the two channels in completing the data transmission. The RTT of each of the two channels regarding the data transmitted thereon can be obtained, which is conducive to saving resource overhead and can provide a reference for resource scheduling and optimization of dual-channel transmission.

[0169] See also Figure 9 , Figure 9 This is a flow chart of a dual-channel RTT measurement method based on sparse feedback provided in an embodiment of the present application. Figure 9 The execution subject of the method shown may be the electronic device described above, or the subject may be a chip in the electronic device, which is not limited in the embodiments of the present application. Figure 9 The method is described by taking an electronic device as an example of an execution subject.

[0170] In the sparse feedback dual-channel RTT measurement, after receiving a total of N data packets, the receiver will feedback ACKs indicating that N application layer packets have been correctly received at once, and use recursion to obtain the dual-channel RTT of each of the N data packets.

[0171] S901. At a first moment, send a first group of data in an Nth data packet among N data packets to a second device through a first channel, and send a second group of data in an Nth data packet among N data packets to the second device through a second channel.

[0172] The first electronic device may send data packets to the second electronic device through the first channel and the second channel. After receiving N data packets, the second electronic device may feed back ACK messages for the N data packets at one time, where N may be a preset value.

[0173] For each data packet, the first electronic device transmits a first set of data of the data packet through a first channel and transmits a second set of data of the data packet through a second channel.

[0174] During the transmission of N data packets, the sending interval between every two data packets is constant at ΔT, and the proportions of the first group of data and the second group of data in all the data in the data packet remain unchanged.

[0175] In some embodiments, data of the data packets transmitted via the first channel are at least partially different from data of the data packets transmitted via the second channel.

[0176] For example, Figure 6AIn the dual-channel non-redundant data transmission mode shown, channel 1 can transmit the first set of data of the data packet (i.e., the first set of UDP packets), and channel 2 can transmit the second set of data of the data packet (i.e., the second set of UDP packets). The first set of data and the second set of data can be completely different.

[0177] For example, Figure 6B In the dual-channel redundant data transmission mode shown, channel 1 can transmit the first set of data of the data packet (i.e., the first set of UDP packets), and channel 2 can transmit the second set of data of the data packet (i.e., the second set of UDP packets), and the first set of data and the second set of data can be partially the same.

[0178] The first set of data and the second set of data of each data packet together may include all the data of the data packet. Figure 6A and Figure 6B In the embodiment, the first group of UDP packets and the second group of UDP packets together may include all UDP packets of the data packet.

[0179] The first electronic device may be referred to as a transmitter, or a transmitter device.

[0180] The second electronic device may be referred to as a receiving end, or a receiving end device.

[0181] During the transmission of N data packets, the first electronic device may start sending the first set of data in the Nth data packet of the N data packets to the second electronic device via the first channel at the first moment, and send the second set of data in the Nth data packet of the N data packets to the second device via the second channel. Similarly, the first electronic device may record the first moment as t begin .

[0182] S902. At a second moment, a confirmation message is received from the second device through the first channel. The confirmation message indicates that the N data packets are correctly received and carries the moment when the second device completes the reception of the first group of data and the second group of data in the N data packets through the first channel and the second channel respectively.

[0183] The moment when the second device completes receiving the second set of data in the Nth data packet among N data packets through the second channel is no later than the moment when the second device completes receiving the first set of data in the Nth data packet among N data packets through the first channel.

[0184] After the first electronic device sends data of the Nth data packet among N data packets, assuming that the second channel completes data transmission no later than the first channel and all N data packets are received correctly, the second electronic device can return an ACK message regarding the correct reception of the N data packets through the first channel.

[0185] Furthermore, the ACK information may also carry information about the times at which the second electronic device receives the first and second data sets of the N data packets, respectively, via the first and second channels. For example, with respect to the nth data packet, the time at which the second electronic device completes reception of the first data set of the nth data packet via the first channel may be recorded as t1(n), and the time at which the second electronic device completes reception of the second data set of the nth data packet via the second channel may be recorded as t2(n), where n = 1, 2, ..., N.

[0186] Subsequently, the first electronic device may receive an ACK message from the second electronic device through the first channel at the second moment, thereby determining that the N data packets have been correctly received by the second electronic device, and knowing the moment when the second electronic device completes receiving the first set of data and the second set of data for each of the N data packets, and may record the first moment as t end .

[0187] S903 : Based on the first time, the second time, and the confirmation message, obtain an average round-trip time of the first group of data in the N data packets on the first channel.

[0188] The first electronic device can obtain the average RTT of the first channel for the first group of data in N data packets based on the above first moment, second moment and the moment when the second electronic device completes receiving the first group of data for each of the N data packets carried in the ACK message.

[0189] In some embodiments, this step may include: obtaining the round-trip time of the first channel for the first group of data in the Nth data packet among N data packets based on the first moment and the second moment; obtaining the round-trip time of the first channel for the first group of data in the 1st to N-1th data packets among N data packets based on the round-trip time of the first channel for the Nth data packet among N data packets and the moment when the second device carried by the confirmation message completes the reception of the first group of data in the N data packets through the first channel; obtaining the average round-trip time of the first channel for the first group of data in the N data packets based on the round-trip time of the first channel for the first group of data in the 1st to Nth data packets among N data packets.

[0190] Specifically, the first electronic device may firstly begin , the second moment t end , get the RTT of the first channel for the first group of data in the Nth data packet among N data packets, that is, RTT1(N)=t end -t begin .

[0191] Then, the first electronic device can obtain the round-trip time of the first channel for the first group of data in the 1st to N-1th data packets based on the RTT of the first channel for the Nth data packet in the N data packets (i.e., RTT1(N)) and the moment when the second device carrying the ACK message completes the reception of the first group of data in the N data packets through the first channel.

[0192] In some embodiments, combined Figure 10 , the recursive relationship can be used to obtain the RTT of the first channel for the first group of data in the 1st to N-1th data packets among the N data packets. Figure 10 Schematic diagram of dual-channel RTT measurement based on sparse feedback provided by an embodiment of the present application. Figure 10 As shown, these RTTs can satisfy the following formula:

[0193] RTT1(i-1)=RTT1(i)+ΔT-(t1(i)-t1(i-1)),

[0194] Wherein, i = 2, 3, …, N, RTT1(i) is the round-trip time of the first channel for the first set of data in the i-th data packet among N data packets, ΔT is the sending interval between two adjacent data packets among the N data packets, and t1(i) is the moment when the second device completes receiving the first set of data of the i-th data packet through the first channel.

[0195] In the above manner, the RTT (i.e., RTT1(1),…,RTT1(N)) of the first channel regarding the first group of data in each of the N data packets (i.e., the 1st to Nth data packets) can be obtained, thereby, the first electronic device can obtain the average RTT of the first channel regarding the first group of data in the N data packets.

[0196] Based on different optimization methods and design requirements, the average RTT of the first channel can be the arithmetic average of RTT1(1),…,RTT1(N), or a weighted average, or an average value in any appropriate manner, which is not limited in this application.

[0197] S904 : Based on the first time, the second time, and the confirmation message, obtain an average round trip time of the second group of data in the N data packets on the second channel.

[0198] While the first electronic device obtains the average RTT of the first channel for the first group of data in N data packets, the first electronic device can also obtain the average RTT of the second channel for the second group of data in N data packets based on the first time, the second time and the confirmation message.

[0199] In some embodiments, this step may include: based on the round-trip time of the first channel for the 1st to Nth data packets in the N data packets and the moment when the second device carried in the confirmation message completes the reception of the first group of data and the second group of data in the 1st to Nth data packets in the N data packets through the first channel and the second channel respectively, obtaining the round-trip time of the second channel for the second group of data in the 1st to Nth data packets in the N data packets; based on the round-trip time of the second channel for the second group of data in the 1st to Nth data packets in the N data packets, obtaining the average round-trip time of the second channel for the second group of data in the N data packets.

[0200] Specifically, since the RTT (i.e., RTT1(1),…,RTT1(N)) of the first channel for the first set of data in each of the N data packets (i.e., the 1st to Nth data packets) can be obtained, and the ACK message carries the time when the second device completes the reception of the first set of data and the second set of data in the 1st to Nth data packets of the N data packets through the first channel and the second channel respectively, for any one of the 1st to Nth data packets, it is possible to obtain the RTT of the first channel based on the similar information about the first set of data and the second set of data. Figure 7 The described method obtains the RTT of the second channel with respect to the second group of data in any one of the 1st to Nth data packets.

[0201] In some embodiments, the RTT of the second channel with respect to the second group of data in the 1st to Nth packets of the N packets satisfies the following formula:

[0202] RTT2(j)=RTT1(j)-(t1(j)-t2(j)),

[0203] Wherein, j=1,2,…,N, RTT1(j) is the round-trip time of the first channel for the first set of data in the j-th data packet among N data packets, RTT2(j) is the round-trip time of the second channel for the second set of data in the j-th data packet among N data packets, t1(j) is the moment when the second device completes receiving the first set of data of the j-th data packet through the first channel, and t2(j) is the moment when the second device completes receiving the second set of data of the j-th data packet through the second channel.

[0204] In the above manner, the RTT (i.e., RTT2(1),…,RTT2(N)) of the second channel regarding the second set of data in each of the N data packets (i.e., the 1st to Nth data packets) can be obtained, thereby, the first electronic device can obtain the average RTT of the second channel regarding the second set of data in the N data packets.

[0205] Based on different optimization methods and design requirements, the average RTT of the second channel can be the arithmetic average of RTT2(1),…,RTT2(N), or a weighted average, or an average value in any suitable manner, which is not limited in this application.

[0206] Based on the above steps, the average RTT of the two channels can be measured during the dual-channel transmission process.

[0207] For example, also in an example involving two devices, one of the devices projects the screen to the other device, that is, the transmitter sends a screen projection service data packet to the receiver. The frame rate of the screen projection is 60fps, so ΔT = 1 / 60s = 16ms. The size of each video frame is assumed to be 1Mb, that is, the size of each data packet is 1Mb. The screen projection is performed in a dual-channel transmission mode, where the negotiated rate of channel a is 50Mbps, and group a of the data packet is transmitted. The negotiated rate of channel b is 100Mbps, and group b of the data packet is transmitted. Group a and group b together can include all the data of the data packet. For ease of calculation, in this example, the amount of data transmitted by the two channels is the same, that is, the amount of data in group a and group b is the same, which can be 1Mb / 2 = 500Kb. At this time, there may be some interference in the scene. The dual-channel RTT measurement process using sparse feedback is as follows:

[0208] For example, in this example, N=3, that is, the receiving end returns an ACK message after receiving every three data packets. At the same time, interference exists, resulting in a certain degree of randomness in the RTT.

[0209] 1) Let the sending time start from 0. The sender sends three packets of data, each of which is a group of data, to the receiver via channel a at a time interval ΔT. It also sends three packets of data, each of which is b group of data, to the receiver via channel b at a time interval ΔT. When sending the third packet, record the first time t begin =32ms.

[0210] 2) After receiving the three data packets, the receiver sends an ACK message to the sender through channel a. The ACK indicates that the three data packets are received correctly and contains the reception time (t a (1) = 11.6ms, t a (2) = 27.4ms, t a (3) = 43.2ms, t b (1) = 6.6ms, t b (2) = 22.5ms, t b (3) = 38.7ms), the sender receives the ACK message through channel a at the second time, and records the second time tend =44.3ms.

[0211] 3) Calculate the RTT of channel a for group a of data in the 3rd, 2nd, and 1st packets respectively. The calculations are as follows:

[0212] RTT a (3) = t end -t begin =44.3-32=12.3ms,

[0213] RTT a (2) = RTT a (3)+ΔT-(t a (3)-t a (2))=12.3+16-(43.2-27.4)=12.5ms,

[0214] RTT a (1) = RTT a (2)+ΔT-(t a (2)-t a (1))=12.5+16-(27.4-11.6)=12.7ms.

[0215] 4) Calculate the RTT of channel b for group b of data in the 3rd, 2nd, and 1st packets respectively. The calculation is as follows:

[0216] RTT b (3) = RTT a (3)-(t a (3)-t b (3))=12.3-(43.2-38.7)=7.8ms,

[0217] RTT b (2) = RTT a (2)-(t a (2)-t b (1))=12.5-(27.4-22.5)=7.6ms,

[0218] RTT b (1) = RTT a (1)-(t a (1)-t b (1))=12.7-(11.3-6.6)=8ms.

[0219] 5) Calculate the average RTT of channel a for group a of N packets, and the average RTT of channel b for group b of N packets. Group Data The average RTT is calculated as follows:

[0220]

[0221] It can be seen that based on the RTT measurement method of the present application, a confirmation message of the correct transmission of a data packet is received on one of the two channels, and the confirmation message carries the time difference between the two channels in completing the data transmission, so that the RTT of each of the two channels regarding the data transmitted thereon can be obtained. In addition, the dual-channel RTT measurement method based on sparse feedback does not need to feedback ACK for each data packet, but instead performs RTT measurement on a larger time scale and feeds back ACK to the sender at one time, which significantly reduces the overhead of ACK feedback, is conducive to saving resource overhead, and can provide a reference for resource scheduling and optimization of dual-channel transmission.

[0222] Furthermore, according to Figure 7 and Figure 9 It is easy to find from the specific example described in the RTT measurement method that in the dual-channel data transmission method, if the data volume distribution of the data in the data packet on the two channels is not appropriate, the transmission delay of the two channels may differ greatly.

[0223] For example, about Figure 7 In the specific example described in the RTT measurement method, the difference between the delays of the two channels (using RRT to reflect the delay) is 12.1-7.1=5ms; Figure 9 In the specific example described in the RTT measurement method, the difference between the average delays of the two channels (the average delay is reflected by the average RRT) is 12.5-7.8=4.7ms.

[0224] In a dual-channel transmission scenario, the greater the difference in latency between the two channels, the more imbalanced the data volume transmitted on the two channels is relative to their respective transmission capacities. Ideally, the latency of the two channels should be as close as possible. This facilitates the receiver to quickly assemble and process data from both channels, reducing data latency and improving transmission efficiency. This also helps reduce energy consumption at the transmitter and / or receiver during data transmission on the channel with the larger latency, thereby improving energy efficiency.

[0225] See also Figure 11 , Figure 11 It is a flowchart of a communication processing method provided in an embodiment of the present application. Figure 11 The execution subject of the method shown may be the electronic device described above, or the subject may be a chip in the electronic device, which is not limited in the embodiments of the present application. Figure 11 The following description is made by taking an electronic device as the execution subject of the method as an example.

[0226] S1101. Send a first group of data in a data packet to a second device through a first channel, and send a second group of data in the data packet to the second device through a second channel.

[0227] The first electronic device may send a first set of data in a data packet to the second electronic device through a first channel, and may send a second set of data in the data packet to the second electronic device through a second channel.

[0228] In some embodiments, data of the data packets transmitted via the first channel are at least partially different from data of the data packets transmitted via the second channel.

[0229] For example, Figure 6A In the dual-channel non-redundant data transmission mode shown, channel 1 can transmit the first set of data of the data packet (i.e., the first set of UDP packets), and channel 2 can transmit the second set of data of the data packet (i.e., the second set of UDP packets). The first set of data and the second set of data can be completely different.

[0230] For example, Figure 6B In the dual-channel redundant data transmission mode shown, channel 1 can transmit the first set of data of the data packet (i.e., the first set of UDP packets), and channel 2 can transmit the second set of data of the data packet (i.e., the second set of UDP packets), and the first set of data and the second set of data can be partially the same.

[0231] The first set of data and the second set of data together may include all the data of the data packet. Figure 6A and Figure 6B In the embodiment, the first group of UDP packets and the second group of UDP packets together may include all UDP packets of the data packet.

[0232] The first electronic device may be referred to as a transmitter, or a transmitter device.

[0233] The second electronic device may be referred to as a receiving end, or a receiving end device.

[0234] S1102. Based on data transmission conditions on the first channel and data transmission conditions on the second channel, adjust the proportion of data in the data packet transmitted on the first channel, and / or adjust the proportion of data in the data packet transmitted on the second channel.

[0235] In this application, the data ratio refers to the ratio of the data volume to the total data volume of the data packet, which can be denoted as p. When a data packet is divided into multiple UDP packets for transmission, the ratio of data transmitted on the first channel is the ratio of the UDP packets transmitted on the first channel to the total UDP packets divided into the data packet.

[0236] In some embodiments, the first electronic device can simultaneously adjust the proportion of data in the data packet transmitted on the first channel and the proportion of data in the data packet transmitted on the second channel based on the data transmission conditions on the first channel and the data transmission conditions on the second channel.

[0237] For example, Figure 6A In the dual-channel non-redundant data transmission mode shown, when the ratio of data in the data packets transmitted on either channel 1 or channel 2 is adjusted, the ratio of data in the data packets transmitted on the other channel will inevitably be adjusted at the same time, and the increase or decrease (or decrease or increase) of the ratio of data in the data packets transmitted on channel 1 and channel 2 respectively are the same.

[0238] For example, Figure 6B In the dual-channel redundant data transmission mode shown, when adjusting the ratio of data in the data packets transmitted on either channel 1 or channel 2, the ratio of data in the data packets transmitted on the other channel can also be adjusted simultaneously, and the increase or decrease (or decrease or increase) values of the ratio of data in the data packets transmitted on each of channel 1 and channel 2 can be different.

[0239] In some embodiments, the first electronic device may adjust only the proportion of data in the data packet transmitted on the first channel, or only adjust the proportion of data in the data packet transmitted on the second channel based on the data transmission situation on the first channel and the data transmission situation on the second channel.

[0240] For example, Figure 6B In the dual-channel redundant data transmission mode shown, according to the data transmission conditions on channels 1 and 2, only the proportion of data in the data packets transmitted on channel 1 can be adjusted, or only the proportion of data in the data packets transmitted on channel 2 can be adjusted.

[0241] In some embodiments, the increased and / or decreased proportional amount of data is associated with the UDP packets of the data packet partition.

[0242] In some embodiments, this step may include: reducing the proportion of data in the data packet transmitted on the first channel, and / or increasing the proportion of data in the data packet transmitted on the second channel when the round-trip time corresponding to the first set of data on the first channel is greater than the round-trip time corresponding to the second set of data on the second channel.

[0243] The first electronic device may be based on Figure 7 or Figure 9The described RTT measurement method, or any other suitable method, obtains the RTT (or average RTT) corresponding to the first set of data on the first channel and the RTT (or average RTT) corresponding to the second set of data on the second channel. By comparing the RTT (or average RTT) corresponding to the first set of data on the first channel with the RTT (or average RTT) corresponding to the second set of data on the second channel, if the RTT (or average RTT) is larger, it indicates that the amount of data transmitted on the corresponding channel is overloaded relative to the data transmission capacity of the channel. In this case, the proportion of the data transmitted on the channel with the larger RTT (or average RTT) in the total data of the data packet can be reduced; if the RTT (or average RTT) is smaller, it indicates that the amount of data transmitted on the corresponding channel is underloaded relative to the data transmission capacity of the channel. In this case, the proportion of the data transmitted on the channel with the smaller RTT (or average RTT) in the total data of the data packet can be increased.

[0244] In some embodiments, when the absolute value of the difference between the RTT (or average RTT) corresponding to the first set of data on the first channel and the RTT (or average RTT) corresponding to the second set of data on the second channel is less than a preset threshold, the data ratio may no longer be adjusted, that is, it can be considered that the dual-channel data transmission has entered a stable state (or can be called a load balancing state).

[0245] For example, in an example involving two devices, one device is projecting its screen to the other. This involves the transmitter sending projection service data packets to the receiver, with each video frame being 1Mb in size, meaning each data packet is 1Mb in size. This projection is performed using dual-channel transmission, where channel a negotiates a rate of 50Mbps and transmits group a of the data packet. Channel b negotiates a rate of 100Mbps and transmits group b of the data packet. Groups a and b together can include all the data in the data packet.

[0246] Initially, the ratio of group a data transmitted on channel a is the same as the ratio of group b data transmitted on channel b. Let the ratio of group a data transmitted on channel a be p. a , the proportion of group b data transmitted on channel b is p b , then we can have p a =p b =0.5. That is, the data volume of group a and group b is the same, which can be 1Mb / 2=500Kb. The threshold of the difference in RTT can be set to 1ms.

[0247] After three RTT measurements, it was found that the RTTs of channel a were 12.5ms, 12.4ms, and 12.9ms, and the RTTs of channel b were 7.2ms, 7.5ms, and 7.5ms.

[0248] It can be found that the difference between the average RTT of channel a and the average RTT of channel b is 5.2ms, which is greater than the threshold of 1ms. Therefore, the proportion of group a data transmitted on channel a can be reduced. a To 0.35, the proportion p of group b data transmitted on channel b can be increased b To 0.65.

[0249] After three more RTT measurements, it was found that the RTTs of channel a were 7.9ms, 8.6ms, and 8.1ms, and the RTTs of channel b were 8.8ms, 9ms, and 8.9ms.

[0250] After adjusting the ratio of group a data to group b data transmitted on channels a and b, the difference between the average RTT of channel a and the average RTT of channel b is 0.7ms, which is less than the threshold of 1ms. There is no need to adjust p a and p b , dual-channel data transmission enters a stable state.

[0251] In some embodiments, the method further includes: receiving first indication information, the first indication information including the proportion of data in the data packet that has been transmitted on the first channel when the data packet is completely received; and determining, based on the proportion of data in the data packet that has been transmitted on the first channel, the frequency with which the first channel completes the transmission of the data packet in priority over the second channel. At this time, based on the data transmission conditions on the first channel and the data transmission conditions on the second channel, adjusting the data transmission ratio on the first channel includes: increasing the proportion of data in the data packet transmitted on the first channel based on the frequency with which the first channel completes the transmission of the data packet in priority over the second channel being greater than a first threshold; or decreasing the proportion of data in the data packet transmitted on the first channel based on the frequency with which the first channel completes the transmission of the data packet in priority over the second channel being less than a second threshold.

[0252] For the dual-channel redundant data transmission mode, there may be a situation where the first set of data on the first channel and / or the second set of data on the second channel have not been completely transmitted, but the second electronic device has already received the complete data of the data packet, that is, when the data packet has been completely received by the second electronic device, the first set of data on the first channel and / or the second set of data on the second channel have not been completely transmitted.

[0253] At this time, the second electronic device can record the proportion of data that has been transmitted through the first channel when all data of the data packet is received, that is, the proportion of data received by the second electronic device through the first channel; and the proportion of data that has been transmitted through the second channel, that is, the proportion of data received by the second electronic device through the second channel.

[0254] The second electronic device may indicate the recorded ratio of data transmitted through the first channel to the first electronic device through the first indication information.

[0255] Optionally, the first indication information may be independent indication information.

[0256] Optionally, the first indication information may be co-carried by an ACK message indicating that the data packet is correctly received.

[0257] Alternatively, the first indication information may be received and acquired by the first electronic device in any suitable form.

[0258] The first electronic device can determine, based on the first indication information, the proportion of data in the data packet that has been transmitted by the first channel when the data packet is completely received; and can determine, based on the proportion of data in the data packet that has been transmitted by the first channel, the frequency with which the first channel completes the transmission of the data packet in priority over the second channel.

[0259] For example, the proportion of the first group of data transmitted by the first electronic device on the first channel is p1. After N transmissions, the first electronic device can determine, based on the received first indication information, that when the data packet transmitted the tth time (t=1, 2, ..., N) is completely received, the proportion of data that has been transmitted on the first channel is p'. t,1 , the first electronic device can count the frequency at which the first channel completes the transmission of the data packet in priority compared to the second channel, and the frequency satisfies the formula:

[0260]

[0261] Wherein, P1 is the frequency at which the first channel completes the transmission of data packets in priority compared to the second channel. I(E) is 1 when event E occurs, and 0 otherwise.

[0262] Set the first threshold P high and the second threshold P low , P high >P low , and the minimum transmission change ratio Δp.

[0263] If P1>P high , that is, the frequency at which the first channel completes the transmission of data packets in priority to the second channel is greater than the first threshold, indicating that the transmission capacity of the first channel is sufficient to transmit more data. Therefore, the proportion of data in the data packets transmitted on the first channel can be increased according to the minimum transmission change ratio Δp.

[0264] If P1 <P low, that is, the frequency at which the first channel completes the transmission of data packets in priority to the second channel is less than the second threshold, indicating that the first channel transmits too much data relative to the transmission capacity of the first channel. Therefore, the proportion of data in the data packets transmitted on the first channel can be reduced according to the minimum transmission change ratio Δp.

[0265] In some embodiments, Δp may be the ratio of one UDP packet in a data packet.

[0266] In some embodiments, the first electronic device may update the ratio of the first set of data transmitted on the first channel to satisfy the following formula:

[0267]

[0268] It can be found that when P low ≤P1≤P high When the first electronic device does not update the ratio of the first group of data transmitted on the first channel.

[0269] Furthermore, in some embodiments, the first indication information also includes the proportion of data in the data packet that has been transmitted by the second channel when the data packet is completely received. The method also includes: determining the frequency at which the second channel completes the transmission of data of the data packet in priority over the first channel based on the proportion of data in the data packet that has been transmitted by the second channel; adjusting the data transmission proportion on the second channel based on the data transmission situation on the first channel and the data transmission situation on the second channel, and also includes: increasing the proportion of data in the data packet transmitted on the second channel based on the frequency at which the second channel completes the transmission of data of the data packet in priority over the first channel being greater than a first threshold; or reducing the proportion of data in the data packet transmitted on the second channel based on the frequency at which the second channel completes the transmission of data of the data packet in priority over the first channel being less than a second threshold.

[0270] The second electronic device may further indicate the recorded proportion of data transmitted through the second channel to the first electronic device through the first indication information.

[0271] The first electronic device can also determine, based on the first indication information, the proportion of data in the data packet that has been transmitted by the second channel when the data packet is completely received; and can determine, based on the proportion of data in the data packet that has been transmitted by the second channel, the frequency with which the second channel completes the transmission of the data packet in priority over the first channel.

[0272] For example, the ratio of the first electronic device transmitting the second set of data on the second channel is p2. Similar to the above description, the first electronic device can count the frequency P2 of the second channel completing the transmission of the data packet in priority compared with the first channel.

[0273] If P2>P high , that is, the frequency at which the second channel completes the transmission of data packets in priority to the first channel is greater than the first threshold, indicating that the transmission capacity of the second channel is sufficient to transmit more data. Therefore, the proportion of data in the data packets transmitted on the second channel can be increased according to the minimum transmission change ratio Δp.

[0274] If P2 <P low , that is, the frequency with which the second channel completes the transmission of data packets in priority to the first channel is less than the second threshold, indicating that the second channel transmits too much data relative to the transmission capacity of the second channel. Therefore, the proportion of data in the data packets transmitted on the second channel can be reduced according to the minimum transmission change ratio Δp.

[0275] In some embodiments, the first electronic device may update the ratio of the second set of data transmitted on the second channel to satisfy the following formula:

[0276]

[0277] It can be found that when P low ≤P2≤P high When the first electronic device does not update the ratio of the second group of data transmitted on the second channel.

[0278] Optionally, in some embodiments, after obtaining the frequency P1 at which the first channel completes the transmission of data packets in priority over the second channel, the first electronic device can directly obtain the frequency P2 at which the second channel completes the transmission of data packets in priority over the first channel through 1-P1. The subsequent method in which the first electronic device updates the proportion of the second set of data transmitted on the second channel is the same as above and will not be repeated here.

[0279] For example, in an example involving two devices, one device projects its screen to the other device, that is, the sender sends a projection service data packet to the receiver. Assume that the initial transmission data ratios on the dual channels (channel a and channel b) are p and b, respectively. a =0.7, p b =0.5, in addition Δp = 0.05, P low =0.3, P high =0.7.

[0280] After counting the channel transmission ratios in multiple transmission completion events, we can calculate P a =0.75, P b =0.25, then we can a 、p b To update:

[0281]

[0282] After the update, continue to count the channel transmission ratio in multiple transmission completion events to obtain P a =0.65, P b =0.35, both greater than P low Less than P high , the ratio update ends and the dual-channel redundant data transmission enters a stable state.

[0283] In some embodiments, the method further includes: receiving second indication information, the second indication information indicating a first time at which the second device completes receiving the first set of data in the data packet via the first channel and a second time at which the second device completes receiving the second set of data in the data packet via the second channel. At this time, adjusting the data transmission ratio on the first channel and / or the data transmission ratio on the second channel based on the data transmission conditions on the first channel and the data transmission conditions on the second channel includes: if the first time is greater than the second time, reducing the ratio of data in the data packet transmitted on the first channel and / or increasing the ratio of data in the data packet transmitted on the second channel.

[0284] The second electronic device can record the first time when the reception of the first set of data is completed through the first channel, that is, the time when the first channel completes the transmission of the first set of data, and the second time when the reception of the second set of data is completed through the second channel, that is, the time when the second channel completes the transmission of the second set of data, and indicate the recorded first time and second time to the first electronic device through the second indication information.

[0285] Optionally, the second indication information may be independent indication information.

[0286] Optionally, the second indication information may be carried in conjunction with an ACK message indicating that the data packet is correctly received.

[0287] Alternatively, the second indication information may be received and acquired by the first electronic device in any suitable form.

[0288] The first electronic device can reduce the proportion of the corresponding data transmitted on the first channel to the total data of the data packet based on the first time when the first channel completes the transmission of the first group of data and the second time when the second channel completes the transmission of the second group of data. By comparing the first time with the second time, if the first time is larger, it indicates that the amount of data transmitted on the first channel is more loaded than the data transmission capacity of the first channel. And / or, increase the proportion of the corresponding data transmitted on the second channel to the total data of the data packet.

[0289] In some embodiments, when the absolute value of the difference between the first time and the second time is less than a preset threshold, the data ratio may no longer be adjusted, that is, it can be considered that the dual-channel data transmission enters a stable state (or can be called a load balancing state).

[0290] It can be seen that based on the communication processing method of the present application, data can be coordinated and allocated between dual-channel data transmission, which is beneficial for the receiving end to assemble and process the data on the two channels as early as possible, reduce data waiting time, improve transmission efficiency, and help reduce the energy consumption of the sending end and / or the receiving end during data transmission on a channel with a larger waiting delay, thereby improving energy efficiency.

[0291] Figure 12 It is a structural diagram of a communication device according to an embodiment of the present application. Figure 12 The communication device 1200 shown may be the electronic device as described above, or may be a device in an electronic device, or may be a device that can be used in conjunction with an electronic device.

[0292] Figure 12 The communication device 1200 shown may include a communication unit 1201 and a processing unit 1202. Specifically, the processing unit 1202 is configured to process data, which may be data received by the communication unit 1201. The processed data may also be sent by the communication unit 1201.

[0293] Specifically, the processing unit 1202 is used to execute the function of processing data of the electronic device in the above method embodiment. For other possible implementations of the communication device, please refer to the above Figure 7 、 Figure 9 、 Figure 11 The relevant descriptions of the functions of the terminal device or network device in the corresponding method embodiments are not repeated here.

[0294] Figure 13 1 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application. Communication device 1300 can be the electronic device in the above method embodiment, or can be a chip, chip system, or processor that supports the electronic device to implement the above method. This communication device can be used to implement the method described in the above method embodiment. For details, please refer to the description of the above method embodiment.

[0295] Communication device 1300 may include one or more processors 1301. Processor 1301 may be a general-purpose processor or a dedicated processor. For example, it may be a baseband processor or a central processing unit. The baseband processor may be used to process communication protocols and communication data, while the central processing unit may be used to control the communication device, execute software programs, and process software program data.

[0296] Optionally, the communication device 1300 may include one or more memories 1302, on which instructions 1304 may be stored. The instructions may be executed on the processor 1301, causing the communication device 1300 to perform the method described in the above method embodiment. Optionally, the memory 1302 may also store data. The processor 1301 and the memory 1302 may be provided separately or integrated together.

[0297] Optionally, the communication device 1300 may further include a transceiver 1305 and an antenna 1306. The transceiver 1305 may be referred to as a transceiver unit, a transceiver, or a transceiver circuit, etc., and is used to implement transceiver functions. The transceiver 1305 may include a receiver and a transmitter. The receiver may be referred to as a receiver or a receiving circuit, etc., and is used to implement a receiving function; the transmitter may be referred to as a transmitter or a transmitting circuit, etc., and is used to implement a transmitting function. Figure 12 The processing unit 1202 shown may be a processor 1301 . The communication unit 1201 may be a transceiver 1305 .

[0298] In another possible design, processor 1301 may include a transceiver for implementing receiving and transmitting functions. For example, the transceiver may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing the receiving and transmitting functions may be separate or integrated. The transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or the transceiver circuit, interface, or interface circuit may be used for transmitting or delivering signals.

[0299] In another possible design, processor 1301 may optionally store instructions 1303. Instructions 1303, when executed on processor 1301, may cause communication device 1300 to perform the method described in the above method embodiment. Instructions 1303 may be fixed in processor 1301. In this case, processor 1301 may be implemented by hardware.

[0300] The communication device described in the above embodiments may be a terminal device or a network device, but the scope of the communication device described in the embodiments of the present application is not limited thereto, and the structure of the communication device may not be limited thereto. Figure 13 The communication device may be an independent device or may be part of a larger device. For example, the communication device may be:

[0301] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;

[0302] (2) A set of one or more ICs, optionally including a storage component for storing data and instructions;

[0303] (3) ASIC, such as modem (MSM);

[0304] (4) Modules that can be embedded in other devices;

[0305] (5) Receivers, terminals, smart terminals, cellular phones, wireless devices, handheld devices, mobile units, vehicle-mounted devices, network devices, cloud devices, artificial intelligence devices, etc.;

[0306] (6)Others, etc.

[0307] For the case where the communication device may be a chip or a chip system, see Figure 14 Schematic diagram of the chip structure shown. Figure 14 The chip 1400 shown includes a processor 1401 and an interface 1402. Optionally, it may also include a memory 1403. The number of processors 1401 may be one or more, and the number of interfaces 1402 may be multiple.

[0308] For the case where the chip is used to implement a terminal device or a network device in the embodiments of the present application:

[0309] Interface 1402, used to receive or output signals;

[0310] Processor 1401 is used to execute data processing operations of a terminal device or a network device.

[0311] It is understandable that some optional features in the embodiments of the present application may, in certain scenarios, be implemented independently without relying on other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features in certain scenarios as needed. Accordingly, the communication device provided in the embodiments of the present application may also implement these features or functions accordingly, which will not be described in detail here.

[0312] It should be understood that the processor in the embodiment of the present application can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method embodiment can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component.

[0313] It is understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0314] The present application also provides a computer-readable medium, in which a computer program or instruction is stored. When the computer program or instruction is executed by a communication device, the functions of any of the above method embodiments are implemented.

[0315] The present application also provides a computer program product including instructions, which enables a computer to implement the functions of any of the above method embodiments when the computer reads and executes the computer program product.

[0316] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein. Available media may be magnetic media (eg, floppy disks, hard disks, tapes), optical media (eg, high-density digital video discs (DVDs)), or semiconductor media (eg, solid state disks (SSDs)).

[0317] It should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain operations can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.

[0318] The descriptions of the various embodiments provided in this application can refer to each other. The descriptions of each embodiment have their own focus. For parts not described in detail in a particular embodiment, please refer to the relevant descriptions of other embodiments. For the convenience and brevity of description, for example, the functions and operations performed by the various devices and equipment provided in the embodiments of this application can refer to the relevant descriptions of the method embodiments of this application. The various method embodiments and the various device embodiments can also refer to, be combined with, or quote each other.

[0319] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A round trip time (RTT) measurement method, characterized in that: Applied to a first device, the method includes: At a first moment, sending a first set of data in a data packet to a second device via a first channel, and sending a second set of data in the data packet to the second device via a second channel; At a second moment, a confirmation message is received from the second device through the first channel, the confirmation message indicating that the data packet is correctly received, the confirmation message carrying a first time difference, the first time difference being the time difference between a fourth moment and a third moment, the third moment being the moment when the second device completes receiving the second set of data through the second channel, the fourth moment being the moment when the second device completes receiving the first set of data through the first channel, and the fourth moment being no earlier than the third moment; Obtaining a round-trip time of the first channel with respect to the first set of data based on the first time and the second time; The round-trip time of the second channel with respect to the second set of data is obtained based on the round-trip time of the first channel and the first time difference.

2. The method according to claim 1, characterized in that The round-trip time of the first channel with respect to the first set of data satisfies the following formula: RTT1=t end -t begin , RTT1 is the round trip time of the first channel for the first set of data, t begin is the first moment, t end This is the second moment.

3. The method according to claim 2, characterized in that The round trip time of the second channel with respect to the second set of data satisfies the following formula: RTT2=RTT1-Δt, RTT2 is the round-trip time of the second channel for the second set of data, RTT1 is the round-trip time of the first channel for the first set of data, and Δt is the first time difference.

4. The method according to any one of claims 1 to 3, characterized in that The data of the data packet transmitted through the first channel is at least partially different from the data of the data packet transmitted through the second channel.

5. A round trip time (RTT) measurement method, characterized in that: The method comprises: At a first moment, sending a first group of data in an Nth data packet among N data packets to a second device through a first channel, and sending a second group of data in the Nth data packet among the N data packets to the second device through a second channel; At a second moment, a confirmation message is received from the second device through the first channel, the confirmation message indicating that the N data packets are correctly received and carrying the time points at which the second device completes receiving the first group of data and the second group of data in the N data packets through the first channel and the second channel, respectively, and the time point at which the second device completes receiving the second group of data in the Nth data packet among the N data packets through the second channel is no later than the time point at which the second device completes receiving the first group of data in the Nth data packet among the N data packets through the first channel; Obtaining, based on the first time, the second time, and the confirmation message, an average round-trip time of the first group of data in the N data packets on the first channel; An average round trip time of the second channel with respect to the second group of data in the N data packets is obtained based on the first time, the second time and the confirmation message.

6. The method according to claim 5, characterized in that The obtaining, based on the first time, the second time, and the confirmation message, an average round-trip time of the first group of data in the N data packets on the first channel includes: Based on the first time and the second time, obtaining a round-trip time of the first channel with respect to a first group of data in the Nth data packet among the N data packets; Obtaining, based on the round-trip time of the first channel for the Nth data packet among the N data packets and the time when the second device completes receiving the first group of data among the N data packets through the first channel, as carried in the confirmation message, the round-trip time of the first channel for the first group of data among the 1st to N-1th data packets among the N data packets; Based on the round trip time of the first channel with respect to the first group of data in the 1st to Nth data packets among the N data packets, an average round trip time of the first channel with respect to the first group of data in the N data packets is obtained.

7. The method according to claim 6, characterized in that The round trip time of the first channel for the first group of data in the 1st to N-1th data packets among the N data packets satisfies the following formula: RTT1(i-1)=RTT1(i)+ΔT-(t1(i)-t1(i-1)), Wherein, i=2,3,…,N, RTT1(i) is the round-trip time of the first channel for the first group of data in the i-th data packet among the N data packets, ΔT is the sending interval between two adjacent data packets among the N data packets, and t1(i) is the moment when the second device completes receiving the first group of data of the i-th data packet through the first channel.

8. The method according to claim 6, characterized in that The obtaining, based on the first time, the second time, and the confirmation message, an average round-trip time of the second data in the N data packets on the second channel includes: Obtaining, based on the round-trip time of the first to Nth data packets in the N data packets on the first channel and the time when the second device completes receiving the first group of data and the second group of data in the first to Nth data packets in the N data packets through the first channel and the second channel, respectively, as carried in the confirmation message, the round-trip time of the second channel for the second group of data in the first to Nth data packets; Based on the round trip time of the second channel with respect to the second group of data in the 1st to Nth data packets among the N data packets, an average round trip time of the second channel with respect to the second group of data in the N data packets is obtained.

9. The method according to claim 8, characterized in that The round trip time of the second channel for the second group of data in the first to Nth data packets among the N data packets satisfies the following formula: RTT2(j)=RTT1(j)-(t1(j)-t2(j)), Wherein, j=1, 2,…, N, RTT1(j) is the round-trip time of the first channel with respect to the first set of data in the j-th data packet among the N data packets, RTT2(j) is the round-trip time of the second channel with respect to the second set of data in the j-th data packet among the N data packets, t1(j) is the moment when the second device completes receiving the first set of data of the j-th data packet through the first channel, and t2(j) is the moment when the second device completes receiving the second set of data of the j-th data packet through the second channel.

10. The method according to any one of claims 5 to 9, characterized in that Data of each of the N data packets transmitted through the first channel is at least partially different from data of each of the N data packets transmitted through the second channel.

11. An electronic device comprising one or more memories and one or more processors, characterized in that: The memory is used to store a computer program; the processor is used to call the computer program, so that the electronic device executes the method according to any one of claims 1 to 4, or the method according to any one of claims 5 to 9.

12. A chip system, applied to electronic equipment, characterized in that: The chip system includes at least one processor and an interface, wherein the interface is used to receive instructions and transmit them to the at least one processor; the at least one processor executes the instructions so that the electronic device executes the method as described in any one of claims 1 to 4, or the method as described in any one of claims 5 to 9.

13. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instruction is executed by a processor, the method according to any one of claims 1 to 4 or the method according to any one of claims 5 to 9 is implemented.

14. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the method according to any one of claims 1 to 4 or the method according to any one of claims 5 to 9 is implemented.