Data management and control method and apparatus, and device, storage medium and computer program product

By monitoring the status information of wireless interface sub-devices across layers, global congestion control and timeout retransmission optimization are implemented, solving the congestion and redundant retransmission problems of wireless interface sub-devices in low-speed networks, and improving communication performance and data transmission efficiency.

WO2026113255A1PCT designated stage Publication Date: 2026-06-04HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-04-30
Publication Date
2026-06-04

Smart Images

  • Figure CN2025092620_04062026_PF_FP_ABST
    Figure CN2025092620_04062026_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of communication. Disclosed are a data management and control method and apparatus, and a device, a storage medium and a computer program product. A terminal device comprises a wireless interface sub-device, and the terminal device is used for communicating with other devices by means of the wireless interface sub-device. The method comprises: acquiring state information of a wireless interface sub-device, wherein the state information indicates the congestion status of the wireless interface sub-device; and on the basis of the state information, determining a congestion control policy for communicating with other devices by means of the wireless interface sub-device. Compared with related technologies in which data management and control is performed only at a connection level (i.e., a non-device level), the present application performs global management and control on all communications by means of a wireless interface sub-device on the basis of the congestion status at a wireless interface sub-device level, thereby improving overall data management and control performance, effectively relieving the congestion of the wireless interface sub-device, and reducing packet loss and redundant retransmissions.
Need to check novelty before this filing date? Find Prior Art

Description

Data management methods, devices, equipment, storage media, and computer program products

[0001] This application claims priority to Chinese Patent Application No. 202411759097.4, filed on November 29, 2024, entitled “Data Management Method, Apparatus, Device, Storage Medium and Computer Program Product”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a data management method, apparatus, device, storage medium, and computer program product. Background Technology

[0003] With the development of the times, internet applications have emerged, covering an increasing number of scenarios. Most scenarios are concentrated in terrestrial networks with relatively well-developed congestion control and other basic measures. Terrestrial networks have lower latency, higher uplink bandwidth, and are relatively stable; most current terrestrial networks are high-speed. However, a small number of scenarios are concentrated in non-terrestrial networks, such as satellite networks and base station networks at relatively high altitudes. Non-terrestrial networks have higher latency, lower uplink bandwidth, and greater network fluctuations; these networks are typically low-speed. Currently, data management strategies for low-speed networks are not yet fully developed.

[0004] The Transmission Control Protocol (TCP) provides reliable data transmission services through mechanisms such as data sending and receiving acknowledgments, congestion control, packet loss detection, and timeout retransmission. Traditional TCP manages data connection-orientedly. Traffic from each connection at the application layer at the source is managed by the transport layer and then enters a buffer queue at the data link layer. Traffic in the buffer queue is pushed down to the physical layer's wireless communication devices, such as modems and Wi-Fi chips, according to a first-in, first-out (FIFO) strategy. These devices then transmit the traffic to the destination via the air interface. However, the number of connections established at the application layer is not controlled by the transport layer. Too many connections can cause traffic to accumulate at the air interface, leading to congestion and even packet loss. This is especially true in low-speed networks where the air interface has a lower transmission rate and relatively less available bandwidth; excessive connections can exacerbate this traffic congestion. Summary of the Invention

[0005] This application provides a data management method, apparatus, device, storage medium, and computer program product, which can alleviate congestion in wireless communication sub-devices, reduce packet loss and redundant retransmissions, and improve overall communication performance. The technical solution is as follows:

[0006] Firstly, a data management and control method is provided, wherein a terminal device includes a wireless interface sub-device, the terminal device is used to communicate with other devices through the wireless interface sub-device, and the method is applied to the terminal device, the method comprising:

[0007] Obtain the status information of the wireless interface sub-device, which indicates the congestion status of the wireless interface sub-device; based on the status information, determine the congestion control strategy for communicating with other devices through the wireless interface sub-device.

[0008] Compared to related technologies that only perform non-device-level (i.e. connection-level) data management for connections, this application performs global management of all communications through the wireless interface sub-device based on the congestion situation at the wireless interface sub-device level. This improves the overall performance of data management, effectively alleviates congestion of the wireless interface sub-device, and reduces packet loss and redundant retransmissions.

[0009] Specifically, when the aforementioned status information indicates that the wireless interface sub-device is in a congested state, the congestion control strategy includes: not sending data to the wireless interface sub-device, or reducing the rate at which data is sent to the wireless interface sub-device. That is, when the wireless interface sub-device is congested, the sending of data to the wireless interface sub-device is temporarily suspended, or the rate at which data is sent to the wireless interface sub-device is reduced, thereby alleviating the congestion of the wireless interface sub-device.

[0010] When the aforementioned status information indicates that the wireless interface sub-device is in a non-congested state, the aforementioned congestion control strategy includes: maintaining the rate at which data is transmitted to the wireless interface sub-device unchanged, or increasing the rate at which data is transmitted to the wireless interface sub-device.

[0011] The status information includes the backlog of data in the wireless interface sub-device; and / or, the status information includes status indication information, which indicates whether the wireless interface sub-device is in a congested or non-congested state.

[0012] In one possible implementation, the wireless interface sub-device is in a congested state when the backlog of data exceeds a first threshold; and in a non-congested state when the backlog of data does not exceed a second threshold, wherein the second threshold does not exceed the first threshold.

[0013] In some implementations, the wireless interface sub-device is used to communicate with other devices via satellite networks, and the first threshold and the second threshold are equal. That is, considering the characteristics of satellite networks, such as long transmission distances, small data volumes, and low speeds, having the first and second thresholds equal is sufficient to meet the congestion control requirements.

[0014] In one possible implementation, the first threshold is an integer multiple of the maximum message length that other devices can process, such as twice.

[0015] In other implementations, the wireless interface sub-device is used to communicate with other devices via cellular networks, and the first threshold is greater than the second threshold. That is, considering the characteristics of cellular networks, such as short transmission distance, large network data volume, and high network speed, the first threshold is set to be greater than the second threshold to meet the requirements of congestion control.

[0016] In one possible implementation, the first threshold is P1% of the maximum buffer space of the wireless interface sub-device, and the second threshold is P2% of the maximum buffer space of the wireless interface sub-device. Both P1 and P2 are greater than 0 and less than 100, with P1 being greater than P2. For example, P1 and P2 are 80 and 20, respectively.

[0017] In some implementations, the wireless interface sub-device is used to communicate with other devices via a WiFi network. The first and second thresholds can be flexibly set according to actual needs; they can be set to the same value or different values.

[0018] In one possible implementation, the terminal device communicates with other devices through a protocol stack. The congestion control strategy is determined by the transport layer in the protocol stack, and the status information is reported from the physical layer to the transport layer. That is, this scheme can achieve global congestion control through cross-layer monitoring; specifically, the transport layer monitors the congestion status of the physical layer across layers and performs global congestion control accordingly.

[0019] In addition to congestion control based on the status information of wireless interface sub-devices, this application can also perform packet loss detection and retransmission processing based on the transmission status of data packets. This will be described in detail below.

[0020] The method further includes: determining the link round-trip time based on the round-trip time of multiple first data packets, wherein the multiple first data packets are data packets sent from the wireless interface sub-device to other devices, and the round-trip time of each first data packet refers to the duration between a first time and a second time, wherein the first time is the time when the first data packet is sent from the wireless interface sub-device, and the second time is the time when the reception acknowledgment message about the first data packet is received from other devices; and determining a timeout retransmission strategy for the second data packet based on the link round-trip time, wherein the second data packet is a data packet sent from the wireless interface sub-device to other devices after the multiple first data packets.

[0021] In other words, the link round-trip time in this application does not include the time the data packet waits at the wireless interface sub-device, thus avoiding mistransmission (i.e. redundant retransmission) caused by the data packet waiting at the wireless interface sub-device.

[0022] In one possible implementation, the timeout retransmission strategy includes a timeout retransmission time; determining the timeout retransmission strategy for the second data packet based on the link round-trip time includes: after sending the second data packet to other devices through the wireless interface sub-device, determining the timeout retransmission time of the second data packet based on the time when the second data packet was sent from the wireless interface sub-device and the link round-trip time.

[0023] In one possible implementation, the terminal device communicates with other devices through a protocol stack. The aforementioned timeout retransmission strategy is determined by the transport layer in the protocol stack. The first time is determined when the physical layer in the protocol stack reports the transmission status of the first data packet to the transport layer, indicating that the first data packet has been sent. That is, the transport layer can monitor the actual transmission time of the data packet (i.e., the time it was sent from the wireless interface sub-device) across layers, thereby reducing redundant retransmissions.

[0024] In one possible implementation, the congestion control strategy described above includes a congestion control strategy for each connection established between the wireless interface sub-device and other devices. That is, the congestion control strategy can still be connection-oriented, but when performing congestion control for each connection, the congestion situation of the wireless interface sub-device needs to be considered, rather than considering only the congestion situation of data packets at the transport layer under each connection as in the prior art.

[0025] Secondly, a data management and control device is provided, which has the function of implementing the data management and control method described in the first aspect. The data management and control device includes one or more modules, which are used to implement the data management and control method provided in the first aspect.

[0026] Thirdly, a terminal device is provided, comprising a processor and a memory, the memory storing a program for executing the data management method provided in the first aspect, and storing data involved in implementing the data management method provided in the first aspect. The processor is configured to execute the program stored in the memory.

[0027] In one possible implementation, the terminal device may further include a communication bus for establishing a connection between the processor and the memory.

[0028] Fourthly, a computer-readable storage medium is provided, wherein instructions are stored therein, which, when executed on a computer, cause the computer to perform the data management method described in the first aspect.

[0029] Fifthly, a computer program product containing instructions is provided, which, when run on a computer, causes the computer to execute the data management method described in the first aspect.

[0030] The technical effects achieved by the second, third, fourth, and fifth aspects mentioned above are similar to those achieved by the corresponding technical means in the first aspect, and will not be repeated here. Attached Figure Description

[0031] Figure 1 is a schematic diagram of an application scenario involving a data management method provided in an embodiment of this application;

[0032] Figure 2 is a hardware and software architecture diagram of a data management method provided in an embodiment of this application;

[0033] Figure 3 is a flowchart of a data management method provided in an embodiment of this application;

[0034] Figure 4 is a flowchart of a congestion control method provided in an embodiment of this application;

[0035] Figure 5 is a flowchart of a timeout retransmission method provided in an embodiment of this application;

[0036] Figure 6 is a schematic diagram of a data management device provided in an embodiment of this application;

[0037] Figure 7 is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation

[0038] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0039] To facilitate understanding, some terms involved in the embodiments of this application will be explained first.

[0040] Network loss: Network loss, including transmission loss and medium loss, can lead to packet loss, transmission delay fluctuations, and other phenomena.

[0041] Gateway: An internetwork connector that acts as a bridge between devices and routers.

[0042] Congestion control: A computer network technology used to effectively control data flow and transmission rate in a network in order to avoid or mitigate the impact of network congestion on performance.

[0043] Timeout retransmission: A crucial mechanism in the Transmission Control Protocol (TCP) for ensuring data reliability. The principle is to start a timer after sending a data packet. If no acknowledgment message (such as an acknowledgment character (ACK) message) is received within a certain time, the data packet is retransmitted until it is successfully sent.

[0044] Air interface: Describes the communication interface between wireless communication devices. In the embodiments of this application, the terminal device includes one or more wireless interface sub-devices (also called wireless interface devices), such as WiFi chips, modems, etc. A wireless interface sub-device is a type of wireless communication device, and each wireless interface sub-device communicates with other devices through the air interface. Different application layer connections within the terminal device can communicate with other devices through different wireless interface sub-devices. One wireless interface sub-device can transmit data packets under multiple connections. In the embodiments of this application, since the wireless interface sub-devices communicate through the air interface, the corresponding descriptions of the air interface below can be understood as descriptions of the wireless interface sub-devices. For example, data backlog at the air interface can be understood as data backlog at the wireless interface sub-device; the time when data is sent from the air interface can be understood as the time when data is sent from the wireless interface sub-device; pushing data down to the air interface can be understood as sending data down to the wireless interface sub-device, and so on, which will not be listed here.

[0045] Transport layer: A layer in the computer network architecture, primarily responsible for end-to-end data transmission and data control.

[0046] Data Link Layer: Computer networks are layered, and the main function is to transmit data from the network in the source machine to the network layer of the target machine.

[0047] Round-trip time smooth (RTTS): A weighted average of round-trip time (RTT) used to smooth out short-term RTT fluctuations and obtain a more stable estimate.

[0048] RTT deviation value (RTTD): The difference between RTT and the mean, which estimates the volatility of RTT.

[0049] The following section introduces the background knowledge involved in the embodiments of this application.

[0050] Currently, internet applications cover an increasingly diverse range of scenarios. Most of these scenarios are concentrated in terrestrial networks with relatively complete infrastructure, characterized by low latency (e.g., around 20 milliseconds (ms), high uplink bandwidth (e.g., around 100 megabits per second (Mbps)) and network stability (minimal fluctuations and no network loss). However, there are also a small number of scenarios where the distance between user equipment (UE) and its serving node is significant. For example, one or more gateways, base stations, or UEs may be located at high altitudes relative to each other, such as in non-terrestrial networks (NTN) or high-altitude platform stations (HAPS) systems. In these scenarios, the main problems are high latency (e.g., over 100ms), low uplink bandwidth, significant network fluctuations, and packet loss.

[0051] Satellite networks, as a typical non-terrestrial network, possess immense value and have become a new hot spot in terminal device marketing. According to relevant reports, over 80% of the world's land area and 95% of its ocean area lack communication network coverage. Satellite internet is an ideal solution for achieving global mobile network coverage, reducing the construction costs of terrestrial base stations in sparsely populated and remote areas.

[0052] Specifically, satellite networks have the following characteristics: (1) Due to the limited number of communication satellites, the communication capacity is small and the bandwidth is extremely low. The typical uplink / downlink rate of a satellite network is only 2kbps to 4kbps; (2) The satellite is far from the ground, the transmission distance is long, and the delay is large. The typical satellite link delay is more than 500ms; (3) The satellite is far from the ground, the received signal is weak, the link is unstable, and it is easy to lose packets.

[0053] TCP is an end-to-end transmission control protocol that provides reliable byte stream services to the application layer at the source end through mechanisms such as data transmission, reception acknowledgment, congestion control, packet loss detection, timeout retransmission, and flow control. It also uses reception acknowledgment and timeout retransmission mechanisms to ensure reliable data transmission. Traditional TCP is connection-oriented; each connection's congestion control, reception acknowledgment, and timeout retransmission mechanisms are independent and do not interfere with each other. After the service data for each connection is managed by the transport layer, a buffer queue is created at the data link layer. This buffer is then pushed down to the physical layer's wireless interface sub-device according to a first-in, first-out (FIFO) strategy. The wireless interface sub-device then transmits the data to the other end (i.e., the destination) via the air interface.

[0054] Traditional TCP separates data management at the transport layer from the processing logic at the air interface layer (included in the physical layer), resulting in independent operations and visible problems. First, while TCP is connection-oriented, the number of connections established by a terminal is uncontrollable. Excessive connections leading to data over-transmission can cause data packets to accumulate at the air interface, easily causing congestion and packet loss. Second, in ultra-low-speed scenarios, there is a significant time difference between when a data packet leaves the transport layer and when it leaves the air interface. This can lead to large errors in retransmission strategies based on transport layer information, causing untimely or redundant retransmissions. For example, assessing the link round-trip latency based on the time the transport layer sends data packets, and then determining the data retransmission time, means that the time the data packet waits at the air interface is included in the link round-trip latency. During this waiting period, the data packet may be mistakenly considered not to have been successfully received by the destination, leading to retransmission and further exacerbating air interface congestion.

[0055] In other words, related technologies manage data transmission based on connections, controlling data transmission through congestion windows assessed for each connection. However, the air interface buffer state (i.e., the buffer state of the wireless interface sub-devices) is invisible to the transport layer. In low-bandwidth scenarios such as satellite, congestion information obtained based on feedback suffers from slow feedback and poor accuracy, easily leading to over- or under-transmission of data, resulting in slow service data transmission. Furthermore, the timeout retransmission mechanism in related technologies is executed from the transport layer perspective. However, in satellite networks or harsh terrestrial network environments, due to the low link bandwidth, the amount of data that can be transmitted is limited, causing a large number of application data packets to accumulate at the air interface and fail to be sent to the network in a timely manner. However, the time that data packets accumulate at the air interface is included in the link RTT. The size of the data packet itself varies greatly from the actual time that the data packet accumulates at the air interface, resulting in a large difference in the final assessed link RTT, which in turn leads to an inaccurate assessment of the final retransmission timeout (RTO). If the RTO assessment is too high, it will cause data packet retransmission to be delayed, affecting the transmission latency of service data. If the RTO assessment is too low, it will lead to redundant data retransmission. The redundant retransmission data packets will compete for link bandwidth and affect the transmission latency of business data.

[0056] In summary, given the diversity of terminal applications and scenarios, a new method for cross-layer monitoring of the protocol stack is needed. This method requires strict control over the amount of backlogged data over the air interface, optimization of air interface channel resource utilization, and identification of the time and event of data packet exiting the air interface for efficient and accurate retransmission. Based on this, embodiments of this application provide a data management method that can effectively alleviate the above problems.

[0057] The application scenarios involved in the embodiments of this application will be introduced next.

[0058] Figure 1 is a schematic diagram of an application scenario involving a data management method provided in an embodiment of this application. Referring to Figure 1, the application scenario includes a source end, an access device, a server end, and a destination end. The source end and the access device can communicate via wired or wireless communication, the access device and the server end can also communicate via wired or wireless communication, and the destination end and the server end can also communicate via wired or wireless communication. The source end is used to communicate with the destination end through the access device and the server end.

[0059] In this embodiment, the source end is a terminal device used to manage data packets sent to the destination end according to the data management method provided in this embodiment. The source end can be a mobile phone, laptop, desktop computer, tablet computer, or other device. The source end can have various applications (APPs) installed on it, and can be a client device. This embodiment does not limit the type of source end.

[0060] In this embodiment, the source end is used to communicate with the destination end via an air interface. For example, the source end includes one or more wireless interface sub-devices, which are used to communicate with the destination end via an air interface. As shown in Figure 1, the architecture of the source end includes an upper-layer application, a TCP / IP communication protocol stack, and a wireless transmission module. The upper-layer application includes an app that is either built into or installed on the source end, used to send communication data to the TCP / IP communication protocol stack. The TCP / IP communication protocol stack is used to manage the transmission of communication data according to the method provided in this embodiment and push it down to the wireless transmission module, for example, by sending data packets to the wireless transmission module. The wireless transmission module is responsible for the transmission control of data in wireless communication, used to convert communication data into wireless signals and transmit them to the access device via an air interface. The wireless transmission module is some or all of the modules in the wireless interface sub-device; for example, the wireless transmission module can be a module in a modem or WiFi chip, etc. This embodiment does not limit the physical form of the wireless transmission module. In this embodiment of the application, the wireless transmission module can report the status information of the wireless interface sub-device (which can be simply referred to as air interface status information) to the TCP / IP communication protocol stack to assist the TCP / IP communication protocol stack in data management.

[0061] Access devices can be routers, wireless base stations, satellites, etc., and this application embodiment does not limit the type of access device. The server can be a server or a cloud platform. It should be understood that some application scenarios may not include a server. The destination can also be a terminal device, a server, or a cloud platform, etc., and this application embodiment does not limit the type of destination.

[0062] The aforementioned TCP / IP communication protocol stack includes, for example, the protocols related to the transport layer, network layer, and data link layer in the TCP / IP four-layer network model, and the wireless transmission module corresponds to the physical layer in this four-layer network model. Next, the hardware and software architecture of the data management method provided in this application embodiment will be described with reference to Figure 2.

[0063] Figure 2 is a hardware and software architecture diagram of a data management method provided in an embodiment of this application. Referring to Figure 2, the hardware and software system architecture includes a user layer and a kernel layer. The user layer, or application layer, includes various applications such as communication apps and video apps. The kernel layer includes a transport layer, a network layer, a data link layer, and a physical layer. The application layer is used to establish connections and send and receive data based on the interface provided by the transport layer. The transport layer receives data pushed down (i.e., sent) by the application layer and manages data transmission through the congestion control algorithm module of the transport layer. The data transmission module encapsulates, encrypts, and pushes down the data to be sent. The queuing discipline (QDISC, also known as a buffer queue) of the data link layer is responsible for receiving data pushed down from each connection and then pushing it down to the air interface (i.e., sending it to the wireless interface sub-device). The air interface processing module of the physical layer sends data based on the current bandwidth resources.

[0064] In this embodiment, the data link layer further includes an air interface awareness processing module. Based on this module, at least two new processing flows are added compared to related technologies. The first new processing flow is a reporting flow of the status information (which can be simply referred to as air interface status information) of the wireless interface sub-device. Specifically, the physical layer's air interface processing module reports the status information of the wireless interface sub-device to the data link layer's air interface awareness processing module. The air interface awareness processing module then transmits this status information to the transport layer's congestion control algorithm module. Therefore, compared to related technologies, the congestion control algorithm module in this embodiment can determine a congestion control strategy based on the status information of the wireless interface sub-device. The second new flow is a reporting flow of the data packet transmission status. Specifically, the physical layer's air interface processing module reports the transmission status of the data packet to the data link layer's air interface awareness processing module. The air interface awareness processing module then transmits this transmission status to the transport layer's packet loss detection and retransmission module. Therefore, compared to related technologies, the packet loss detection and retransmission module in this embodiment can determine a timeout retransmission strategy based on the time the data packet is sent from the air interface (i.e., the time it is sent from the wireless interface sub-device).

[0065] For each connection, the transport layer includes a data transmission module, a congestion control algorithm module, and a packet loss detection and retransmission module. As shown in Figure 2, taking two connections as an example, connection 1 corresponds to data transmission module 1, congestion control algorithm module 1, and packet loss detection and retransmission module 1, while connection 2 corresponds to data transmission module 2, congestion control algorithm module 2, and packet loss detection and retransmission module 2. That is, the transport layer can still manage data transmission across connections; however, in managing each connection, it combines the status information of the wireless interface sub-devices reported by the physical layer with the data packet transmission status to perform congestion control, packet loss detection, and retransmission processing.

[0066] The software and hardware architecture and application scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of software and hardware architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0067] The data management method provided in the embodiments of this application will be described in detail below.

[0068] Figure 3 is a flowchart of a data management method provided in an embodiment of this application. This method is applied to a terminal device, which includes a wireless interface sub-device. The number of wireless interface sub-devices can be one or more. The wireless interface sub-devices are used to communicate with other devices via an air interface. The terminal device is the source end, and the other devices are the destination ends. The source end and destination end can be the source end and destination end described in Figure 1, and the hardware and software architecture of the source end can be as shown in Figure 2. Taking one of the wireless interface sub-devices as an example, please refer to Figure 3. The method includes the following steps.

[0069] Step 301: Obtain the status information of the wireless interface sub-device, which indicates the congestion status of the wireless interface sub-device.

[0070] In this embodiment, the status information of the wireless interface sub-device can be determined based on the backlog of data in the wireless interface sub-device. For example, the status information of the wireless interface sub-device includes the backlog of data in the wireless interface sub-device. The wireless interface sub-device has a certain buffer space, called the maximum buffer space, and the backlog of data can be the amount of data buffered within this maximum buffer space, i.e., the amount of data to be transmitted by the wireless interface sub-device. Based on this, the status information of the wireless interface sub-device can also be determined based on the maximum buffer space and the backlog of data. For example, the status information of the wireless interface sub-device includes the proportion of the backlog of data to the maximum buffer space. Alternatively, the status information of the wireless interface sub-device may include status indication information, which is determined based on the backlog of data in the wireless interface sub-device. The status indication information indicates whether the wireless interface sub-device is in a congested or non-congested state. Of course, in some embodiments, the status information of the wireless interface sub-device may include one or more of the following: the backlog of data in the wireless interface sub-device, the proportion of the backlog of data to the maximum buffer space, and status indication information.

[0071] Taking the status information of the wireless interface sub-device, including the amount of backlogged data, as an example, if the amount of backlogged data exceeds a first threshold, it indicates that the wireless interface sub-device is in a congested state; if the amount of backlogged data does not exceed a second threshold, it indicates that the wireless interface sub-device is in a non-congested state. The second threshold does not exceed the first threshold.

[0072] In some embodiments, the first threshold and the second threshold are equal. For example, the first threshold and the second threshold can be 80% or 85% of the maximum cache space or other proportions. It should be understood that the first threshold and the second threshold are equal, and only one threshold needs to be set in the implementation. Of course, two equal thresholds can also be set, and this application embodiment does not limit this.

[0073] In one possible implementation, the first threshold is an integer multiple of the maximum segment size (MSS) that other devices (i.e., the destination) can process. This maximum segment size can be obtained during the connection establishment process between the terminal device and other devices, such as through a three-way handshake, or at other times; this embodiment of the application does not limit this.

[0074] Taking a wireless interface sub-device used to communicate with other devices via a satellite network as an example, the first threshold and the second threshold are equal. The first and second thresholds can be integer multiples of the maximum message length that other devices can process; for example, the first and second thresholds could be 2*MSS or 3*MSS, etc. This application embodiment does not limit this. That is, considering the characteristics of satellite networks such as long transmission distances, small data volumes, and low network speeds, having the first and second thresholds equal is sufficient to meet the congestion control requirements. Of course, for satellite networks, the first threshold can also be set to be greater than the second threshold.

[0075] In other embodiments, the first threshold is greater than the second threshold. The first threshold is P1% of the maximum buffer space of the wireless interface sub-device, and the second threshold is P2% of the maximum buffer space of the wireless interface sub-device. Both P1 and P2 are greater than 0 and less than 100, with P1 being greater than P2. For example, the first threshold may be 70% or 80% of the maximum buffer space, and the second threshold may be 20% or 10% of the maximum buffer space. The embodiments of this application do not limit the specific values ​​of the first and second thresholds.

[0076] Taking a wireless interface sub-device used to communicate with other devices via a cellular network as an example, the first threshold is greater than the second threshold. That is, considering the characteristics of cellular networks, such as shorter transmission distances, larger data volumes, and higher network speeds, the first threshold is set higher than the second threshold to meet congestion control requirements. Of course, for cellular networks, the first and second thresholds can also be set equal.

[0077] In some embodiments, the wireless interface sub-device can also communicate with other devices using a WiFi network. In this case, the first threshold and the second threshold can be the same or different, and the first threshold and the second threshold can be flexibly set according to actual needs.

[0078] Taking the status information of the wireless interface sub-device, including the proportion of backlogged data to the maximum cache space, as an example, if this proportion exceeds the first proportion, it indicates that the wireless interface sub-device is in a congested state; if this proportion does not exceed the second proportion, it indicates that the wireless interface sub-device is in a non-congested state. The first proportion must not exceed the second proportion.

[0079] In some embodiments, the first ratio and the second ratio are equal; for example, the first ratio and the second ratio can be 80% or 85% or other values. In other embodiments, the first ratio is greater than the second ratio; for example, the first ratio is 70% or 85%, and the second ratio is 20% or 10%. The embodiments of this application do not limit the specific values ​​of the first ratio and the second ratio.

[0080] Taking the status information of the wireless interface sub-device, including status indication information, as an example, when the backlog of data exceeds a first threshold, the status indication information indicates that the wireless interface sub-device is in a congested state; when the backlog of data does not exceed a second threshold, the status indication information indicates that the wireless interface sub-device is in a non-congested state. The first and second thresholds here can be equal to or different from those mentioned above; this application does not limit this.

[0081] In some embodiments, the status indication information can be a first value (or a first flag) or a second value (or a second flag). The first value indicates that the wireless interface sub-device is in a congested state, and the second value indicates that the wireless interface sub-device is in a non-congested state. The first value and the second value can be 1 and 0, or 0 and 1, or other values, which are not limited in this embodiment.

[0082] In this embodiment, the terminal device communicates with other devices through a protocol stack. The status information of the wireless interface sub-device can be determined by the physical layer in the protocol stack and reported to the transport layer. As an example, the air interface processing module of the physical layer shown in Figure 2 transmits the information to the air interface awareness processing module of the data link layer, and the air interface awareness processing module then forwards it to the congestion control algorithm module of the transport layer. The protocol stack here can be a TCP / IP communication protocol stack, a user datagram protocol (UDP) stack, or other communication protocol stacks; this embodiment does not limit the specific protocol stack used.

[0083] In one possible implementation, the transport layer periodically acquires the status information of the wireless interface sub-device. For example, the physical layer periodically reports the status information of the wireless interface sub-device. The embodiments of this application do not limit the reporting period of the status information.

[0084] In another possible implementation, when a change in the state information of the wireless interface sub-device is detected, the physical layer reports the state information of the wireless interface sub-device to the transport layer. Specifically, the state information of the wireless interface sub-device changes if it changes from a first value to a second value, or vice versa. Alternatively, the state information of the wireless interface sub-device changes if the amount of backlogged data included in its state information changes from a first amount to a second amount, and the difference between the two amounts exceeds a first change threshold (e.g., 5% of the maximum buffer space or another value). Or, the state information of the wireless interface sub-device changes if the proportion included in its state information changes from a first value to a second value, and the difference between the two values ​​exceeds a second change threshold (e.g., 3% or 5% or another value).

[0085] In another possible implementation, the physical layer periodically reports the status information of the radio interface sub-devices, and the transport layer, upon receiving an acknowledgment message for any data packet, queries the status information of the radio interface sub-devices to determine whether the radio interface sub-devices are still in a congested state. That is, the transport layer can also proactively query the status information of the radio interface sub-devices.

[0086] In some embodiments, the status information of the wireless interface sub-device may include other information in addition to the information described above.

[0087] As an example, as shown in Figure 2, for each connection, the transport layer has a corresponding data transmission module, a congestion control algorithm module, and a packet loss detection and retransmission module. In this embodiment, the congestion control algorithm module can request the status information of the wireless interface sub-device from the physical layer for the corresponding connection, such as sending Request 1 to the physical layer. Request 1 can carry the identifier of the connection. In response to Request 1, the wireless interface sub-device reports its own status information to the transport layer. In addition to the information described above, the status information can also include the identifier of the connection carried by Request 1. After receiving the status information, the transport layer can send the status information to the congestion control algorithm module corresponding to the connection based on the identifier of the connection included in the status information.

[0088] As another example, after the transport layer sends a data packet to the wireless interface sub-device, it triggers the wireless interface sub-device to report its own status information. The wireless interface sub-device can identify the connection to which the data packet belongs based on the packet, and then include the connection identifier or the data packet identifier in its status information to report this status information to the corresponding connection in the transport layer.

[0089] In addition, in some embodiments, the status information of the wireless interface sub-device may also include the acquisition time or sampling time of the status information. In other embodiments, when the terminal device includes multiple wireless interface sub-devices, the status information of the wireless interface sub-devices may also include the identifier of the wireless interface sub-device.

[0090] Step 302: Based on the status information of the wireless interface sub-device, determine the congestion control strategy for communicating with other devices through the wireless interface sub-device.

[0091] In this embodiment, when the status information indicates that the wireless interface sub-device is in a congested state, the congestion control strategy includes: not sending data to the wireless interface sub-device, or reducing the rate at which data is sent to the wireless interface sub-device. That is, when the wireless interface sub-device is congested, the sending of data to the wireless interface sub-device is temporarily suspended, or the rate at which data is sent to the wireless interface sub-device is reduced. When the status information indicates that the wireless interface sub-device is in a non-congested state, the congestion control strategy includes: maintaining the rate at which data is sent to the wireless interface sub-device unchanged, or increasing the rate at which data is sent to the wireless interface sub-device.

[0092] As an example, when a wireless interface sub-device communicates with other devices using a satellite network, if the status information indicates that the wireless interface sub-device is in a congested state, the congestion control strategy described above includes not sending data to the wireless interface sub-device to alleviate congestion under the low-speed satellite network. If the status information indicates that the wireless interface sub-device is in a non-congested state, the congestion control strategy described above includes maintaining a constant rate at which data is sent to the wireless interface sub-device. Of course, for satellite networks, the congestion control strategy described above may also include reducing or increasing the rate at which data is sent to the wireless interface sub-device.

[0093] When a wireless interface sub-device communicates with other devices using a cellular network, if the status information indicates that the wireless interface sub-device is in a congested state, the aforementioned congestion control strategy includes reducing the rate at which data is transmitted to the wireless interface sub-device. This alleviates congestion on the wireless interface sub-device while ensuring that data is still being processed in the high-speed cellular network, thus minimizing the impact on services. If the status information indicates that the wireless interface sub-device is in a non-congested state, the aforementioned congestion control strategy includes increasing the rate at which data is transmitted to the wireless interface sub-device. Of course, for a cellular network, the aforementioned congestion control strategy may also include not transmitting data to the wireless interface sub-device or maintaining a constant rate at which data is transmitted to the wireless interface sub-device.

[0094] In one possible implementation, the congestion control strategy further includes adjusting the size of the congestion window. For example, if the status information indicates that the radio interface sub-device is in a congested state, the congestion control strategy further includes increasing the size of the congestion window; if the status information indicates that the radio interface sub-device is in a non-congested state, the congestion control strategy further includes decreasing the size of the congestion window.

[0095] In this embodiment of the application, the terminal device communicates with other devices based on the protocol stack, and the congestion control strategy in step 302 can be determined by the transport layer in the protocol stack.

[0096] In some embodiments, the congestion control strategy in step 302 includes a congestion control strategy for each of one or more connections established between the wireless interface sub-device and other devices. For example, if the terminal device communicates with other devices based on a protocol stack, the congestion control strategy in step 302 includes a congestion control strategy from the transport layer for each connection established between the terminal device and other devices through the wireless interface sub-device. That is, the transport layer can still perform data transmission management at the connection level, but the congestion situation of the wireless interface sub-device is taken into account when performing management, thereby enabling data transmission management at the wireless interface sub-device level.

[0097] As an example, taking Figure 2 as an example, a user sends an emoji to friend A using a communication app on their terminal device. This process establishes connection 1. Then, a user sends a short message to friend B using a video app. This process establishes connection 2. According to the data management method provided in this application embodiment, the terminal device performs data management on connection 1 and connection 2 respectively. During the data management process for each connection, the status information of the wireless interface sub-device is referenced. After extensive experimental statistics on the transmission time of short messages (i.e., the time from transmission at the transport layer to receiving the ACK), it was found that compared with related technologies, the transmission time of short messages on connection 2 in this application embodiment is reduced by at least 50.7%, meaning that this solution can significantly reduce the transmission time of short messages.

[0098] As mentioned above, the status information of the wireless interface sub-device is reported periodically and / or when it changes. That is, the status information of the wireless interface sub-device is constantly updated according to the actual situation. Therefore, step 302 will also be executed continuously based on the latest status information of the wireless interface sub-device. In other words, the congestion control strategy is also constantly updated.

[0099] As an example, when the acquired status information changes from indicating a congested state to indicating a non-congested state, the congestion control strategy can also change from not sending data to the radio interface sub-device to sending data to the radio interface sub-device, or from decreasing the rate of sending data to the radio interface sub-device to increasing the rate of sending data to the radio interface sub-device. Thus, embodiments of this application can adjust the congestion control strategy for each connection based on the latest status information of the radio interface sub-device.

[0100] Figure 4 is a flowchart of a congestion control method provided in an embodiment of this application. An exemplary embodiment of this application will be described with reference to Figure 4. After the application layer of the terminal device establishes a connection with other devices, the congestion control algorithm module in the transport layer can use 2*MISS as the congestion control threshold (if the first threshold and the second threshold are equal, the first threshold and the second threshold are the congestion control thresholds). The data link layer obtains the status information (including the backlog of data) of the wireless interface sub-device from the wireless interface sub-device and transparently transmits this status information to the corresponding connection in the transport layer. If the backlog of data is greater than the congestion control threshold, it indicates that the wireless interface sub-device is in a congested state, and the transport layer temporarily does not send data packets under this connection to the wireless interface sub-device. If the backlog of data is not greater than the congestion control threshold, it indicates that the wireless interface sub-device is in a non-congested state, and the transport layer directly sends data packets under this connection to the wireless interface sub-device. After receiving the data packets under this connection, the wireless interface sub-device can update its reported status information and simultaneously send the data packets from the air interface.

[0101] As can be seen from the above, in addition to congestion control based on the status information of the wireless interface sub-device, the embodiments of this application can also perform packet loss detection and retransmission processing based on the transmission status of data packets. This will be described in detail below.

[0102] In this embodiment, the terminal device can also determine the link round-trip time based on the round-trip times of multiple first data packets. These multiple first data packets are data packets sent by the terminal device to other devices through a wireless interface sub-device. The round-trip time of each first data packet refers to the duration between a first time and a second time. The first time is the time when the first data packet is sent from the wireless interface sub-device, and the second time is the time when the terminal device receives a reception acknowledgment message regarding the first data packet from another device. Based on this link round-trip time, the terminal device determines a timeout retransmission strategy for the second data packet, which is a data packet sent to other devices through the wireless interface sub-device after the aforementioned multiple first data packets. That is, the link round-trip time in this embodiment does not include the time the data packet waits at the wireless interface sub-device, thus avoiding mistransmissions caused by the data packet waiting at the wireless interface sub-device.

[0103] As an example, the terminal device can determine the link round-trip time as the average of the round-trip times of the multiple first data packets. Alternatively, the link round-trip time can be calculated in other ways besides calculating the average, and this application embodiment does not limit this method.

[0104] In this process, the terminal device communicates with other devices through the protocol stack. The timeout retransmission strategy is determined by the transport layer in the protocol stack. The time when the first data packet is sent from the wireless interface sub-device is determined when the physical layer in the protocol stack reports the sending status of the first data packet to the transport layer. This sending status indicates that the first data packet has been sent.

[0105] As an example, after the wireless interface sub-device transmits the first data packet, the physical layer reports the transmission status of the first data packet and the current system time to the data link layer, which then forwards it to the transport layer. Alternatively, after the wireless interface sub-device transmits the first data packet, the physical layer sends the transmission status of the first data packet to the data link layer. Upon receiving the transmission status of the first data packet, the data link layer obtains the current system time and reports the transmission status of the first data packet and the current system time to the transport layer.

[0106] In some embodiments, the timeout retransmission strategy includes a timeout retransmission time. Determining the timeout retransmission strategy for the second data packet based on the link round-trip time includes: after sending the second data packet to other devices via the wireless interface sub-device, determining the timeout retransmission time for the second data packet based on the time it was sent from the wireless interface sub-device and the link round-trip time.

[0107] As an example, let when and RTT be the time when the second data packet is sent from the wireless interface sub-device, respectively. Then, when = curTime, where curTime represents the current system time, i.e., the time when the second data packet is sent from the wireless interface sub-device. Therefore, the timeout retransmission time of the second data packet = when + α * RTT. Here, α represents the system tolerance coefficient, and α is not less than 1. The embodiments of this application do not limit the value of α.

[0108] Taking α=1.25 as an example, 1.25 means that the system allows receiving the acknowledgment message about the second data packet returned by the destination within 1.25 RTTs without retransmission. Here, α is set to be greater than 1, rather than 1, which means that the system can tolerate a time longer than one RTT before determining whether to retransmit.

[0109] After determining the timeout retransmission time for the second data packet, the terminal device starts a timeout retransmission timer based on this timeout retransmission timer. If the terminal device receives a reception acknowledgment message for the second data packet before the timeout retransmission timer expires, the second data packet is not retransmitted. If the terminal device still has not received a reception acknowledgment message for the second data packet after the timeout retransmission timer expires, the second data packet is retransmitted, for example, by resending the second data packet to the wireless interface sub-device.

[0110] In other embodiments, the timeout retransmission strategy includes a timeout retransmission duration. Determining the timeout retransmission strategy for the second data packet based on the link round-trip time includes: determining the timeout retransmission duration for the second data packet based on the link round-trip time.

[0111] As an example, if the link round-trip time is denoted as RTT, then the timeout retransmission duration of the second data packet = α * RTT. Here, α can be the same as or different from the α mentioned above; this embodiment does not limit this.

[0112] After determining the timeout retransmission duration for the second data packet, the terminal device starts a timeout retransmission timer based on this duration. If the terminal device receives a reception acknowledgment message for the second data packet before the total start time of the timeout retransmission timer exceeds the timeout retransmission duration, the second data packet will not be retransmitted. If the terminal device still has not received a reception acknowledgment message for the second data packet after the total start time of the timeout retransmission timer exceeds the timeout retransmission duration, the second data packet will be retransmitted, for example, by resending the second data packet to the wireless interface sub-device.

[0113] Taking the example of a user sending a short message to friend B via a video app on a terminal device, according to the data management method provided in this application embodiment, the terminal device will perform packet loss detection and retransmission processing on the short message based on the link round-trip time in this application embodiment. Extensive experimental statistics show that, in the event of packet loss during short message transmission, this application embodiment reduces the short message transmission time by at least 53.7% compared to related technologies; that is, this solution can significantly reduce the short message transmission time.

[0114] Figure 5 is a flowchart of a timeout retransmission method provided in an embodiment of this application. An exemplary embodiment of this application will be described with reference to Figure 5. A data packet under a certain connection is sent from a wireless interface sub-device. The physical layer notifies the data link layer of the current data packet transmission status. The data link layer transparently transmits the data packet transmission status and the current system time to the corresponding connection in the transport layer. The transport layer updates the data packet transmission time based on the received system time and calculates the actual link round-trip time accordingly. Based on the link round-trip time, it determines the timeout retransmission time for the data packet and starts a timeout timer according to the timeout retransmission time.

[0115] In one possible implementation, the above scheme can be achieved by registering a callback function with the wireless interface sub-device. For example, the wireless interface sub-device registers a callback function provided by the air interface awareness processing module. Each time a data packet accumulates, the wireless interface sub-device transmits its current status information to the air interface awareness processing module via this callback function. The air interface awareness processing module then transmits this information to the congestion control algorithm module under the connection to which the data packet belongs. The congestion control algorithm module adjusts the congestion window based on the current status information of the wireless interface sub-device and controls the rate at which data is transmitted to the wireless interface sub-device. Each time the wireless interface sub-device sends a data packet, it transmits the current data packet's transmission status to the air interface awareness processing module via this callback function. The air interface awareness processing module sends the current data packet's transmission status and the current system time to the congestion control algorithm module under the connection to which the data packet belongs. When the transmission status of the data packet indicates that the data packet has been sent, the congestion control algorithm module determines the timeout retransmission time for the data packet based on the current system time and link round-trip delay, and then performs timeout retransmission control on the data packet.

[0116] The above embodiments are described using a wireless interface sub-device in a terminal device as an example. When the terminal device includes multiple wireless interface sub-devices, data management can be performed on each wireless interface sub-device in accordance with the above method, which will not be repeated here.

[0117] In summary, in this embodiment, the terminal device can manage and control data communication with other devices based on the congestion status of the wireless interface sub-device. Compared with related technologies that only perform non-device-level (i.e. connection-level) data management for connections, this embodiment performs global management and control of all communications through the wireless interface sub-device based on the congestion status of the wireless interface sub-device, which improves the overall performance of data management and can effectively alleviate congestion of the wireless interface sub-device and reduce packet loss and redundant retransmissions.

[0118] Figure 6 is a schematic diagram of a data management device provided in an embodiment of this application. The data management device 600 can be implemented as part or all of a terminal device by software, hardware, or a combination of both. This terminal device can be the terminal device shown in Figure 7 below. In this embodiment, the terminal device includes a wireless interface sub-device, which is used to communicate with other devices through the wireless interface sub-device. The data management device 600 is included within this terminal device. Referring to Figure 6, the data management device 600 includes: an acquisition module 601 and a first determination module 602.

[0119] The acquisition module 601 is used to acquire the status information of the wireless interface sub-device, which indicates the congestion status of the wireless interface sub-device.

[0120] The first determining module 602 is used to determine a congestion control strategy for communicating with other devices through the wireless interface sub-device based on the status information.

[0121] In one possible implementation, when the status information indicates that the wireless interface sub-device is in a congested state, the congestion control strategy includes: not sending data to the wireless interface sub-device, or reducing the rate at which data is sent to the wireless interface sub-device.

[0122] In one possible implementation, when the status information indicates that the wireless interface sub-device is in a non-congested state, the congestion control strategy includes: maintaining the rate at which data is transmitted to the wireless interface sub-device unchanged, or increasing the rate at which data is transmitted to the wireless interface sub-device.

[0123] In one possible implementation, the status information includes the amount of backlogged data from the wireless interface sub-device; and / or,

[0124] This status information includes status indication information, which indicates whether the wireless interface sub-device is in a congested or non-congested state.

[0125] In one possible implementation, the wireless interface sub-device is in a congested state when the backlog of data exceeds a first threshold.

[0126] If the backlog of data does not exceed the second threshold, the wireless interface sub-device is in a non-congested state, and the second threshold does not exceed the first threshold.

[0127] In one possible implementation, the wireless interface sub-device is used to communicate with other devices via a satellite network, and the first threshold is equal to the second threshold.

[0128] In one possible implementation, the first threshold is an integer multiple of the maximum message length that the other devices mentioned above can process.

[0129] In one possible implementation, the wireless interface sub-device is used to communicate with other devices via a cellular network, where a first threshold is greater than a second threshold.

[0130] In one possible implementation, the first threshold is P1% times the maximum buffer space of the wireless interface sub-device, and the second threshold is P2% times the maximum buffer space of the wireless interface sub-device, where both P1 and P2 are greater than 0 and less than 100, and P1 is greater than P2.

[0131] In one possible implementation, the wireless interface sub-device is used to communicate with other devices using a WiFi network.

[0132] In one possible implementation, the terminal device communicates with other devices through a protocol stack. The congestion control strategy is determined by the transport layer in the protocol stack, and the status information is reported from the physical layer in the protocol stack to the transport layer.

[0133] In one possible implementation, the data control device 600 further includes:

[0134] The second determining module is used to determine the link round-trip delay based on the round-trip delay of multiple first data packets. The multiple first data packets are data packets sent from the wireless interface sub-device to other devices. The round-trip delay of each first data packet refers to the duration between a first time and a second time. The first time is the time when the first data packet is sent from the wireless interface sub-device, and the second time is the time when the receiving confirmation message about the first data packet is returned by other devices.

[0135] The third determining module is used to determine the timeout retransmission strategy for the second data packet based on the round-trip time of the link. The second data packet is a data packet sent to other devices through the wireless interface sub-device after the plurality of first data packets.

[0136] In one possible implementation, the timeout retransmission strategy includes the timeout retransmission time; the third determining module includes:

[0137] The determination submodule is used to determine the timeout retransmission time of the second data packet based on the time when the second data packet was sent from the wireless interface sub-device and the link round-trip delay after the second data packet is sent to other devices through the wireless interface sub-device.

[0138] In one possible implementation, the terminal device communicates with other devices through a protocol stack. The aforementioned timeout retransmission strategy is determined by the transport layer in the protocol stack. The aforementioned first time is determined when the physical layer in the protocol stack reports the sending status of the first data packet to the transport layer, and the sending status indicates that the first data packet has been sent.

[0139] In one possible implementation, the congestion control strategy described above includes a congestion control strategy for each connection established between the wireless interface sub-device and other devices.

[0140] In this embodiment, the terminal device can manage and control data communication with other devices based on the congestion status of the wireless interface sub-device. Compared with the related technologies that only perform non-device-level (i.e. connection-level) data management for connections, this embodiment performs global management and control of all communications through the wireless interface sub-device based on the congestion status of the wireless interface sub-device, which improves the overall performance of data management and can effectively alleviate the congestion of the wireless interface sub-device and reduce packet loss and redundant retransmission.

[0141] It should be noted that the data management device provided in the above embodiments is only illustrated by the division of the above functional modules when performing data management. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the data management device and the data management method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0142] This application also provides a terminal device, which includes a memory and a processor. The memory is used to store computer programs, and the processor is used to execute the computer programs in the memory to implement the data management method provided in this application.

[0143] The terminal device can be a portable device such as a mobile phone, personal computer, laptop, tablet computer, smartwatch, or smart bracelet, or a non-portable device such as a camera, or a communication device such as an access terminal. The embodiments of this application do not limit the type and structure of the terminal device.

[0144] Figure 7 is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. In this embodiment, the terminal device is the terminal device in the above method embodiment. The terminal device includes one or more processors 701, a communication bus 702, a memory 703, and one or more communication interfaces 704.

[0145] The processor 701 is a general-purpose central processing unit (CPU), a natural network processor (NP), a microprocessor, or one or more integrated circuits for implementing the solutions of this application, such as an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. In some embodiments, the PLD is a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0146] The communication bus 702 is used to transmit information between the aforementioned components. In some embodiments, the communication bus 702 is divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used to represent it in Figure 7, but this does not mean that there is only one bus or one type of bus.

[0147] The memory 703 may be a read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), optical disc (including compact disc read-only memory (CD-ROM), compressed optical disc, laser disc, digital versatile optical disc, Blu-ray disc, etc.), magnetic disk storage medium, or other magnetic storage device, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory 703 exists independently and is connected to the processor 701 via a communication bus 702, or the memory 703 is integrated with the processor 701.

[0148] Communication interface 704 uses any transceiver-like device for communicating with other devices or communication networks. Communication interface 704 includes a wired communication interface and / or a wireless communication interface. The wired communication interface may be, for example, an Ethernet interface. The Ethernet interface can be an optical interface, an electrical interface, or a combination thereof. The wireless communication interface may be a wireless local area network (WLAN) interface, a cellular network communication interface, or a combination thereof.

[0149] In some embodiments, the terminal device includes multiple processors, such as processor 701 and processor 705 as shown in FIG7. Each of these processors is a single-core processor or a multi-core processor. Here, a processor refers to one or more devices, circuits, and / or processing cores used for processing data (such as computer program instructions).

[0150] In a specific implementation, as one embodiment, the terminal device further includes an output device 706 and an input device 707. The output device 706 communicates with the processor 701 and can display information in various ways. For example, the output device 706 can be a liquid crystal display (LCD), a light-emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 707 communicates with the processor 701 and can receive user input in various ways. For example, the input device 707 can be a mouse, keyboard, touchscreen device, or sensing device.

[0151] In some embodiments, memory 703 is used to store program code 710 for executing the scheme of this application, and processor 701 is capable of executing the program code 710 stored in memory 703. The program code includes one or more software modules, and the terminal device can implement the method shown in the embodiments of Figures 3 to 5 above through processor 701 and program code 710 in memory 703.

[0152] The types and structures of terminal devices described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of device hardware and software architecture, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0153] This application also provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the steps of the data management method shown in the above-described method embodiments.

[0154] This application also provides a computer program product containing instructions that, when run on a computer, causes the computer to perform the steps of the data management method shown in the above-described method embodiments.

[0155] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as 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 described in the embodiments of this 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. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital versatile disc (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiments of this application can be a non-volatile storage medium; in other words, it can be a non-transient storage medium.

[0156] It should be understood that "at least one" as mentioned herein refers to one or more, and "multiple" refers to two or more. In the description of the embodiments of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. In addition, in order to clearly describe the technical solutions of the embodiments of this application, the terms "first," "second," etc., are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first," "second," etc., do not limit the quantity or execution order, and the terms "first," "second," etc., are not necessarily different.

[0157] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in the embodiments of this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0158] The above descriptions are embodiments provided in this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A data management and control method, characterized in that, The terminal device includes a wireless interface sub-device, the terminal device being used to communicate with other devices through the wireless interface sub-device, and the method being applied to the terminal device, the method comprising: Obtain the status information of the wireless interface sub-device, wherein the status information indicates the congestion status of the wireless interface sub-device; Based on the status information, a congestion control strategy is determined for communication between the wireless interface sub-device and other devices.

2. The method as described in claim 1, characterized in that, When the status information indicates that the wireless interface sub-device is in a congested state, the congestion control strategy includes: not sending data to the wireless interface sub-device, or reducing the rate at which data is sent to the wireless interface sub-device.

3. The method as described in claim 1 or 2, characterized in that, When the status information indicates that the wireless interface sub-device is in a non-congested state, the congestion control strategy includes: maintaining the rate at which data is sent to the wireless interface sub-device unchanged, or increasing the rate at which data is sent to the wireless interface sub-device.

4. The method according to any one of claims 1-3, characterized in that, The status information includes the amount of backlogged data of the wireless interface sub-device; and / or, The status information includes status indication information, which indicates whether the wireless interface sub-device is in a congested or non-congested state.

5. The method as described in claim 4, characterized in that, If the backlog of data exceeds a first threshold, the wireless interface sub-device is in a congested state. If the backlog of data does not exceed the second threshold, the wireless interface sub-device is in a non-congested state, where the second threshold does not exceed the first threshold.

6. The method as described in claim 5, characterized in that, The wireless interface sub-device is used to communicate with the other devices via a satellite network, and the first threshold is equal to the second threshold.

7. The method as described in claim 6, characterized in that, The first threshold is an integer multiple of the maximum message length that the other devices can process.

8. The method as described in claim 5, characterized in that, The wireless interface sub-device is used to communicate with the other devices via a cellular network, and the first threshold is greater than the second threshold.

9. The method as described in claim 8, characterized in that, The first threshold is P1% of the maximum cache space of the wireless interface sub-device, and the second threshold is P2% of the maximum cache space of the wireless interface sub-device. Both P1 and P2 are greater than 0 and less than 100, and P1 is greater than P2.

10. The method according to any one of claims 1-5, characterized in that, The wireless interface sub-device is used to communicate with the other devices using a WiFi network.

11. The method according to any one of claims 1-10, characterized in that, The terminal device communicates with the other devices through a protocol stack. The congestion control strategy is determined by the transport layer in the protocol stack, and the status information is reported from the physical layer in the protocol stack to the transport layer.

12. The method according to any one of claims 1-11, characterized in that, The method further includes: The link round-trip time is determined based on the round-trip time of multiple first data packets, wherein the multiple first data packets are data packets sent from the wireless interface sub-device to the other device, and the round-trip time of each first data packet refers to the duration between a first time and a second time, wherein the first time is the time when the first data packet is sent from the wireless interface sub-device, and the second time is the time when the other device returns a reception confirmation message regarding the first data packet; Based on the link round-trip time, a timeout retransmission strategy for the second data packet is determined. The second data packet is a data packet sent to the other devices through the wireless interface sub-device after the plurality of first data packets.

13. The method as described in claim 12, characterized in that, The timeout retransmission strategy includes the timeout retransmission timing; The method for determining the timeout retransmission strategy for the second data packet based on the link round-trip time includes: After sending the second data packet to the other device through the wireless interface sub-device, the timeout retransmission time of the second data packet is determined based on the time when the second data packet was sent from the wireless interface sub-device and the link round-trip time.

14. The method as described in claim 12 or 13, characterized in that, The terminal device communicates with the other devices through a protocol stack. The timeout retransmission strategy is determined by the transport layer in the protocol stack. The first time is determined when the physical layer in the protocol stack reports the sending status of the first data packet to the transport layer. The sending status indicates that the first data packet has been sent.

15. The method according to any one of claims 1-14, characterized in that, The congestion control strategy includes the congestion control strategy for each connection established between the wireless interface sub-device and the other devices.

16. A data control device, characterized in that, The terminal device includes a wireless interface sub-device, which is used to communicate with other devices through the wireless interface sub-device. The apparatus is included in the terminal device and includes: The acquisition module is used to acquire the status information of the wireless interface sub-device, wherein the status information indicates the congestion status of the wireless interface sub-device. The first determining module is used to determine, based on the status information, a congestion control strategy for communicating with other devices through the wireless interface sub-device.

17. The apparatus as claimed in claim 16, characterized in that, When the status information indicates that the wireless interface sub-device is in a congested state, the congestion control strategy includes: not sending data to the wireless interface sub-device, or reducing the rate at which data is sent to the wireless interface sub-device.

18. The apparatus as claimed in claim 16 or 17, characterized in that, When the status information indicates that the wireless interface sub-device is in a non-congested state, the congestion control strategy includes: maintaining the rate at which data is sent to the wireless interface sub-device unchanged, or increasing the rate at which data is sent to the wireless interface sub-device.

19. The apparatus according to any one of claims 16-18, characterized in that, The status information includes the amount of backlogged data of the wireless interface sub-device; and / or, The status information includes status indication information, which indicates whether the wireless interface sub-device is in a congested or non-congested state.

20. The apparatus as claimed in claim 19, characterized in that, If the backlog of data exceeds a first threshold, the wireless interface sub-device is in a congested state. If the backlog of data does not exceed the second threshold, the wireless interface sub-device is in a non-congested state, where the second threshold does not exceed the first threshold.

21. The apparatus as claimed in claim 20, characterized in that, The wireless interface sub-device is used to communicate with the other devices via a satellite network, and the first threshold is equal to the second threshold.

22. The apparatus as claimed in claim 21, characterized in that, The first threshold is an integer multiple of the maximum message length that the other devices can process.

23. The apparatus as claimed in claim 20, characterized in that, The wireless interface sub-device is used to communicate with the other devices via a cellular network, and the first threshold is greater than the second threshold.

24. The apparatus as claimed in claim 23, characterized in that, The first threshold is P1% of the maximum cache space of the wireless interface sub-device, and the second threshold is P2% of the maximum cache space of the wireless interface sub-device. Both P1 and P2 are greater than 0 and less than 100, and P1 is greater than P2.

25. The apparatus according to any one of claims 16-24, characterized in that, The wireless interface sub-device is used to communicate with the other devices using a WiFi network.

26. The apparatus according to any one of claims 16-25, characterized in that, The terminal device communicates with the other devices through a protocol stack. The congestion control strategy is determined by the transport layer in the protocol stack, and the status information is reported from the physical layer in the protocol stack to the transport layer.

27. The apparatus according to any one of claims 16-26, characterized in that, The device further includes: The second determining module is used to determine the link round-trip delay based on the round-trip delay of multiple first data packets. The multiple first data packets are data packets sent from the wireless interface sub-device to the other device. The round-trip delay of each first data packet refers to the duration between a first time and a second time. The first time is the time when the first data packet is sent from the wireless interface sub-device, and the second time is the time when the other device returns a reception confirmation message about the first data packet. The third determining module is used to determine the timeout retransmission strategy for the second data packet based on the link round-trip time delay. The second data packet is a data packet sent to the other devices through the wireless interface sub-device after the plurality of first data packets.

28. The apparatus as claimed in claim 27, characterized in that, The timeout retransmission strategy includes the timeout retransmission timing; The third determining module includes: The determination submodule is used to determine the timeout retransmission time of the second data packet based on the time when the second data packet was sent from the wireless interface subdevice and the link round-trip delay after the second data packet is sent to the other device through the wireless interface subdevice.

29. The apparatus as claimed in claim 27 or 28, characterized in that, The terminal device communicates with the other devices through a protocol stack. The timeout retransmission strategy is determined by the transport layer in the protocol stack. The first time is determined when the physical layer in the protocol stack reports the sending status of the first data packet to the transport layer. The sending status indicates that the first data packet has been sent.

30. The apparatus according to any one of claims 16-29, characterized in that, The congestion control strategy includes the congestion control strategy for each connection established between the wireless interface sub-device and the other devices.

31. A terminal device, characterized in that, The terminal device includes a processor and a memory; The memory is used to store computer programs; The processor is configured to execute the computer program to implement the method according to any one of claims 1-15.

32. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1-15.

33. A computer program product, characterized in that, The computer program product stores computer instructions, which, when executed by a processor, implement the method described in any one of claims 1-15.